From 003f87b4d7cf352f661726678fe5a64ec78ab6a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E5=85=89=E6=98=A5?= Date: Mon, 22 May 2023 16:09:39 +0800 Subject: [PATCH] - update vendor --- go.mod | 15 +- go.sum | 38 +- .../bytedance/sonic/INTRODUCTION.md | 48 - vendor/github.com/bytedance/sonic/README.md | 23 +- .../bytedance/sonic/bench-large.png | Bin 87463 -> 0 bytes .../bytedance/sonic/bench-small.png | Bin 87635 -> 0 bytes .../sonic/decoder/assembler_amd64_go116.go | 56 +- .../sonic/decoder/assembler_amd64_go117.go | 62 +- .../bytedance/sonic/decoder/compiler.go | 12 +- .../bytedance/sonic/decoder/pools.go | 2 +- .../sonic/internal/native/avx/native_amd64.s | 7665 ++++++++-------- .../internal/native/avx/native_subr_amd64.go | 46 +- .../sonic/internal/native/avx2/native_amd64.s | 2331 +++-- .../internal/native/avx2/native_subr_amd64.go | 48 +- .../sonic/internal/native/sse/native_amd64.s | 7702 +++++++++-------- .../internal/native/sse/native_subr_amd64.go | 48 +- .../bytedance/sonic/introduction-1.png | Bin 57447 -> 0 bytes .../bytedance/sonic/introduction-2.png | Bin 68075 -> 0 bytes .../bytedance/sonic/other-langs.png | Bin 96490 -> 0 bytes .../gabriel-vasile/mimetype/.gitattributes | 1 + .../mimetype/CODE_OF_CONDUCT.md | 76 + .../gabriel-vasile/mimetype/CONTRIBUTING.md | 12 + .../gabriel-vasile/mimetype/LICENSE | 21 + .../gabriel-vasile/mimetype/README.md | 108 + .../mimetype/internal/charset/charset.go | 309 + .../mimetype/internal/json/json.go | 544 ++ .../mimetype/internal/magic/archive.go | 124 + .../mimetype/internal/magic/audio.go | 76 + .../mimetype/internal/magic/binary.go | 196 + .../mimetype/internal/magic/database.go | 13 + .../mimetype/internal/magic/document.go | 62 + .../mimetype/internal/magic/font.go | 39 + .../mimetype/internal/magic/ftyp.go | 88 + .../mimetype/internal/magic/geo.go | 55 + .../mimetype/internal/magic/image.go | 110 + .../mimetype/internal/magic/magic.go | 239 + .../mimetype/internal/magic/ms_office.go | 225 + .../mimetype/internal/magic/ogg.go | 42 + .../mimetype/internal/magic/text.go | 375 + .../mimetype/internal/magic/text_csv.go | 51 + .../mimetype/internal/magic/video.go | 85 + .../mimetype/internal/magic/zip.go | 92 + .../gabriel-vasile/mimetype/mime.go | 186 + .../gabriel-vasile/mimetype/mimetype.gif | Bin 0 -> 1343793 bytes .../gabriel-vasile/mimetype/mimetype.go | 123 + .../mimetype/supported_mimes.md | 178 + .../gabriel-vasile/mimetype/tree.go | 260 + .../go-playground/validator/v10/.gitignore | 1 + .../go-playground/validator/v10/README.md | 3 +- .../go-playground/validator/v10/baked_in.go | 63 + .../validator/v10/country_codes.go | 2 +- .../go-playground/validator/v10/doc.go | 25 +- .../validator/v10/translations/en/en.go | 5 + .../validator/v10/translations/zh/zh.go | 5 + vendor/github.com/yusufpapurcu/wmi/README.md | 7 - .../yusufpapurcu/wmi/swbemservices.go | 1 + vendor/github.com/yusufpapurcu/wmi/wmi.go | 13 +- vendor/gorm.io/driver/mysql/migrator.go | 105 +- vendor/gorm.io/driver/postgres/.gitignore | 1 + .../driver/postgres/error_translator.go | 24 + vendor/gorm.io/driver/postgres/migrator.go | 240 +- vendor/gorm.io/driver/postgres/postgres.go | 16 +- vendor/modules.txt | 22 +- 63 files changed, 13699 insertions(+), 8620 deletions(-) delete mode 100644 vendor/github.com/bytedance/sonic/INTRODUCTION.md delete mode 100644 vendor/github.com/bytedance/sonic/bench-large.png delete mode 100644 vendor/github.com/bytedance/sonic/bench-small.png delete mode 100644 vendor/github.com/bytedance/sonic/introduction-1.png delete mode 100644 vendor/github.com/bytedance/sonic/introduction-2.png delete mode 100644 vendor/github.com/bytedance/sonic/other-langs.png create mode 100644 vendor/github.com/gabriel-vasile/mimetype/.gitattributes create mode 100644 vendor/github.com/gabriel-vasile/mimetype/CODE_OF_CONDUCT.md create mode 100644 vendor/github.com/gabriel-vasile/mimetype/CONTRIBUTING.md create mode 100644 vendor/github.com/gabriel-vasile/mimetype/LICENSE create mode 100644 vendor/github.com/gabriel-vasile/mimetype/README.md create mode 100644 vendor/github.com/gabriel-vasile/mimetype/internal/charset/charset.go create mode 100644 vendor/github.com/gabriel-vasile/mimetype/internal/json/json.go create mode 100644 vendor/github.com/gabriel-vasile/mimetype/internal/magic/archive.go create mode 100644 vendor/github.com/gabriel-vasile/mimetype/internal/magic/audio.go create mode 100644 vendor/github.com/gabriel-vasile/mimetype/internal/magic/binary.go create mode 100644 vendor/github.com/gabriel-vasile/mimetype/internal/magic/database.go create mode 100644 vendor/github.com/gabriel-vasile/mimetype/internal/magic/document.go create mode 100644 vendor/github.com/gabriel-vasile/mimetype/internal/magic/font.go create mode 100644 vendor/github.com/gabriel-vasile/mimetype/internal/magic/ftyp.go create mode 100644 vendor/github.com/gabriel-vasile/mimetype/internal/magic/geo.go create mode 100644 vendor/github.com/gabriel-vasile/mimetype/internal/magic/image.go create mode 100644 vendor/github.com/gabriel-vasile/mimetype/internal/magic/magic.go create mode 100644 vendor/github.com/gabriel-vasile/mimetype/internal/magic/ms_office.go create mode 100644 vendor/github.com/gabriel-vasile/mimetype/internal/magic/ogg.go create mode 100644 vendor/github.com/gabriel-vasile/mimetype/internal/magic/text.go create mode 100644 vendor/github.com/gabriel-vasile/mimetype/internal/magic/text_csv.go create mode 100644 vendor/github.com/gabriel-vasile/mimetype/internal/magic/video.go create mode 100644 vendor/github.com/gabriel-vasile/mimetype/internal/magic/zip.go create mode 100644 vendor/github.com/gabriel-vasile/mimetype/mime.go create mode 100644 vendor/github.com/gabriel-vasile/mimetype/mimetype.gif create mode 100644 vendor/github.com/gabriel-vasile/mimetype/mimetype.go create mode 100644 vendor/github.com/gabriel-vasile/mimetype/supported_mimes.md create mode 100644 vendor/github.com/gabriel-vasile/mimetype/tree.go create mode 100644 vendor/gorm.io/driver/postgres/.gitignore diff --git a/go.mod b/go.mod index ba5b2da4..921f4d62 100644 --- a/go.mod +++ b/go.mod @@ -8,11 +8,11 @@ require ( github.com/allegro/bigcache/v3 v3.1.0 github.com/baidubce/bce-sdk-go v0.9.150 github.com/basgys/goxml2json v1.1.0 - github.com/bytedance/sonic v1.8.8 + github.com/bytedance/sonic v1.8.9 github.com/gin-gonic/gin v1.9.0 github.com/go-playground/locales v0.14.1 github.com/go-playground/universal-translator v0.18.1 - github.com/go-playground/validator/v10 v10.13.0 + github.com/go-playground/validator/v10 v10.14.0 github.com/go-sql-driver/mysql v1.7.1 github.com/goccy/go-json v0.10.2 github.com/gogf/gf/v2 v2.4.1 @@ -32,12 +32,12 @@ require ( go.mongodb.org/mongo-driver v1.11.6 go.uber.org/zap v1.24.0 golang.org/x/crypto v0.9.0 - golang.org/x/exp v0.0.0-20230515195305-f3d0a9c9a5cc + golang.org/x/exp v0.0.0-20230519143937-03e91628a987 golang.org/x/text v0.9.0 gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df gorm.io/datatypes v1.2.0 - gorm.io/driver/mysql v1.5.0 - gorm.io/driver/postgres v1.5.0 + gorm.io/driver/mysql v1.5.1 + gorm.io/driver/postgres v1.5.2 gorm.io/gen v0.3.22 gorm.io/gorm v1.25.1 xorm.io/builder v0.3.12 @@ -53,6 +53,7 @@ require ( github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect github.com/fatih/color v1.15.0 // indirect github.com/fsnotify/fsnotify v1.6.0 // indirect + github.com/gabriel-vasile/mimetype v1.4.2 // indirect github.com/gin-contrib/sse v0.1.0 // indirect github.com/go-logr/logr v1.2.4 // indirect github.com/go-logr/stdr v1.2.2 // indirect @@ -68,7 +69,7 @@ require ( github.com/klauspost/cpuid/v2 v2.2.4 // indirect github.com/leodido/go-urn v1.2.4 // indirect github.com/mattn/go-colorable v0.1.13 // indirect - github.com/mattn/go-isatty v0.0.18 // indirect + github.com/mattn/go-isatty v0.0.19 // indirect github.com/mattn/go-sqlite3 v2.0.3+incompatible // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect @@ -91,7 +92,7 @@ require ( github.com/xdg-go/scram v1.1.2 // indirect github.com/xdg-go/stringprep v1.0.4 // indirect github.com/youmark/pkcs8 v0.0.0-20201027041543-1326539a0a0a // indirect - github.com/yusufpapurcu/wmi v1.2.2 // indirect + github.com/yusufpapurcu/wmi v1.2.3 // indirect go.opentelemetry.io/otel v1.15.1 // indirect go.opentelemetry.io/otel/sdk v1.15.1 // indirect go.opentelemetry.io/otel/trace v1.15.1 // indirect diff --git a/go.sum b/go.sum index d9517663..bc6ad697 100644 --- a/go.sum +++ b/go.sum @@ -46,8 +46,8 @@ github.com/bitly/go-simplejson v0.5.0/go.mod h1:cXHtHw4XUPsvGaxgjIAn8PhEWG9NfngE github.com/bsm/ginkgo/v2 v2.7.0 h1:ItPMPH90RbmZJt5GtkcNvIRuGEdwlBItdNVoyzaNQao= github.com/bsm/gomega v1.26.0 h1:LhQm+AFcgV2M0WyKroMASzAzCAJVpAxQXv4SaI9a69Y= github.com/bytedance/sonic v1.5.0/go.mod h1:ED5hyg4y6t3/9Ku1R6dU/4KyJ48DZ4jPhfY1O2AihPM= -github.com/bytedance/sonic v1.8.8 h1:Kj4AYbZSeENfyXicsYppYKO0K2YWab+i2UTSY7Ukz9Q= -github.com/bytedance/sonic v1.8.8/go.mod h1:i736AoUSYt75HyZLoJW9ERYxcy6eaN6h4BZXU064P/U= +github.com/bytedance/sonic v1.8.9 h1:mXB6OoHaI9OrWugkvNxWiuHTy5RCrVfxg2Nn40sf0oc= +github.com/bytedance/sonic v1.8.9/go.mod h1:i736AoUSYt75HyZLoJW9ERYxcy6eaN6h4BZXU064P/U= github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ= github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= @@ -101,6 +101,8 @@ github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMo github.com/fsnotify/fsnotify v1.5.4/go.mod h1:OVB6XrOHzAwXMpEM7uPOzcehqUV2UqJxmVXmkdnm1bU= github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= +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/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= 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= @@ -131,8 +133,8 @@ github.com/go-playground/universal-translator v0.18.0/go.mod h1:UvRDBj+xPUEGrFYl github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY= github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY= github.com/go-playground/validator/v10 v10.8.0/go.mod h1:9JhgTzTaE31GZDpH/HSvHiRJrJ3iKAgqqH0Bl/Ocjdk= -github.com/go-playground/validator/v10 v10.13.0 h1:cFRQdfaSMCOSfGCCLB20MHvuoHb/s5G8L5pu2ppK5AQ= -github.com/go-playground/validator/v10 v10.13.0/go.mod h1:dwu7+CG8/CtBiJFZDz4e+5Upb6OLw04gtBYw0mcG/z4= +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-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= github.com/go-sql-driver/mysql v1.7.0/go.mod h1:OXbVy3sEdcQ2Doequ6Z5BW6fXNQTmx+9S1MCJN5yJMI= @@ -266,7 +268,6 @@ github.com/jackc/pgx/v4 v4.6.1-0.20200510190926-94ba730bb1e9/go.mod h1:t3/cdRQl6 github.com/jackc/pgx/v4 v4.6.1-0.20200606145419-4e5062306904/go.mod h1:ZDaNWkt9sW1JMiNn0kdYBaLelIhw7Pg4qd+Vk6tw7Hg= github.com/jackc/pgx/v4 v4.11.0/go.mod h1:i62xJgdrtVDsnL3U8ekyrQXEwGNTRoG7/8r+CIdYfcc= github.com/jackc/pgx/v4 v4.12.0/go.mod h1:fE547h6VulLPA3kySjfnSG/e2D861g/50JlVUa/ub60= -github.com/jackc/pgx/v5 v5.3.0/go.mod h1:t3JDKnCBlYIc0ewLF0Q7B8MXmoIaBOZj/ic7iHozM/8= github.com/jackc/pgx/v5 v5.3.1 h1:Fcr8QJ1ZeLi5zsPZqQeUZhNhxfkkKBOgJuYkJHoBOtU= github.com/jackc/pgx/v5 v5.3.1/go.mod h1:t3JDKnCBlYIc0ewLF0Q7B8MXmoIaBOZj/ic7iHozM/8= github.com/jackc/puddle v0.0.0-20190413234325-e4ced69a3a2b/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= @@ -274,7 +275,6 @@ github.com/jackc/puddle v0.0.0-20190608224051-11cab39313c9/go.mod h1:m4B5Dj62Y0f github.com/jackc/puddle v1.1.0/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= github.com/jackc/puddle v1.1.1/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= github.com/jackc/puddle v1.1.3/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= -github.com/jackc/puddle/v2 v2.2.0/go.mod h1:vriiEXHvEE654aYKXXjOvZM39qJ0q+azkZFrfEOc3H4= github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E= github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc= github.com/jinzhu/now v1.1.4/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= @@ -342,8 +342,8 @@ github.com/mattn/go-isatty v0.0.9/go.mod h1:YNRxwqDuOph6SZLI9vUUz6OYw3QyUt7WiY2y github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= -github.com/mattn/go-isatty v0.0.18 h1:DOKFKCQ7FNG2L1rbrmstDN4QVRdS89Nkh85u68Uwp98= -github.com/mattn/go-isatty v0.0.18/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= +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-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.9 h1:Lm995f3rfxdpd6TSmuVCHVb/QhupuXlYr8sCI/QdE+0= github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= @@ -550,8 +550,8 @@ github.com/youmark/pkcs8 v0.0.0-20201027041543-1326539a0a0a/go.mod h1:ul22v+Nro/ github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.4.0/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= -github.com/yusufpapurcu/wmi v1.2.2 h1:KBNDSne4vP5mbSWnJbO+51IMOXJB67QiYCSBrubbPRg= -github.com/yusufpapurcu/wmi v1.2.2/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= +github.com/yusufpapurcu/wmi v1.2.3 h1:E1ctvB7uKFMOJw3fdOW32DwGE9I7t++CRUEMKvFoFiw= +github.com/yusufpapurcu/wmi v1.2.3/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= github.com/zenazn/goji v0.9.0/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q= github.com/ziutek/mymysql v1.5.4/go.mod h1:LMSpPZ6DbqWFxNCHW77HeMg9I646SAhApZ/wKdgO/C0= go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= @@ -611,12 +611,11 @@ golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5y golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw= -golang.org/x/crypto v0.6.0/go.mod h1:OFC/31mSvZgRz0V1QTNCzfAI1aIRzbiufJtkMIlEp58= golang.org/x/crypto v0.9.0 h1:LF6fAI+IutBocDJ2OT0Q1g8plpYljMZ4+lty+dsqw3g= golang.org/x/crypto v0.9.0/go.mod h1:yrmDGqONDYtNj3tH8X9dzUun2m2lzPa9ngI6/RUPGR0= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20230515195305-f3d0a9c9a5cc h1:mCRnTeVUjcrhlRmO0VK8a6k6Rrf6TF9htwo2pJVSjIU= -golang.org/x/exp v0.0.0-20230515195305-f3d0a9c9a5cc/go.mod h1:V1LtkGg67GoY2N1AnLN78QLrzxkLyJw7RJb1gzOOz9w= +golang.org/x/exp v0.0.0-20230519143937-03e91628a987 h1:3xJIFvzUFbu4ls0BTBYcgbCGhA63eAOEMxIHugyXJqA= +golang.org/x/exp v0.0.0-20230519143937-03e91628a987/go.mod h1:V1LtkGg67GoY2N1AnLN78QLrzxkLyJw7RJb1gzOOz9w= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= @@ -651,7 +650,6 @@ golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qx golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= -golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.10.0 h1:X2//UzNDwYmtCLn7To6G58Wr6f5ahEAQgKNzv9Y951M= golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -665,7 +663,6 @@ golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.2.0 h1:PUR+T4wwASmuSTYdKjYHI5TD22Wy5ogLU5qZCOLxBrI= golang.org/x/sync v0.2.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -709,7 +706,6 @@ golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.2.0/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.8.0 h1:EBmGv8NaZBZTWvrbjNoL6HVt+IVy3QDQpJs7VRIw3tU= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -717,7 +713,6 @@ golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXR golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.8.0 h1:n5xxQn2i3PC0yLAbjTpNT85q/Kgzcr2gIoX9OrJUols= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= @@ -728,7 +723,6 @@ golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.3.8-0.20211105212822-18b340fc7af2/go.mod h1:EFNZuWvGYxIRUEX+K8UmCFwYmZjqcrnq15ZuVldZkZ0= golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.9.0 h1:2sjJmO8cDvYveuX97RDLsxlyUxLl+GHoLxBiRdHllBE= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -816,10 +810,10 @@ gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gorm.io/datatypes v1.2.0 h1:5YT+eokWdIxhJgWHdrb2zYUimyk0+TaFth+7a0ybzco= gorm.io/datatypes v1.2.0/go.mod h1:o1dh0ZvjIjhH/bngTpypG6lVRJ5chTBxE09FH/71k04= gorm.io/driver/mysql v1.4.3/go.mod h1:sSIebwZAVPiT+27jK9HIwvsqOGKx3YMPmrA3mBJR10c= -gorm.io/driver/mysql v1.5.0 h1:6hSAT5QcyIaty0jfnff0z0CLDjyRgZ8mlMHLqSt7uXM= -gorm.io/driver/mysql v1.5.0/go.mod h1:FFla/fJuCvyTi7rJQd27qlNX2v3L6deTR1GgTjSOLPo= -gorm.io/driver/postgres v1.5.0 h1:u2FXTy14l45qc3UeCJ7QaAXZmZfDDv0YrthvmRq1l0U= -gorm.io/driver/postgres v1.5.0/go.mod h1:FUZXzO+5Uqg5zzwzv4KK49R8lvGIyscBOqYrtI1Ce9A= +gorm.io/driver/mysql v1.5.1 h1:WUEH5VF9obL/lTtzjmML/5e6VfFR/788coz2uaVCAZw= +gorm.io/driver/mysql v1.5.1/go.mod h1:Jo3Xu7mMhCyj8dlrb3WoCaRd1FhsVh+yMXb1jUInf5o= +gorm.io/driver/postgres v1.5.2 h1:ytTDxxEv+MplXOfFe3Lzm7SjG09fcdb3Z/c056DTBx0= +gorm.io/driver/postgres v1.5.2/go.mod h1:fmpX0m2I1PKuR7mKZiEluwrP3hbs+ps7JIGMUBpCgl8= gorm.io/driver/sqlite v1.5.0 h1:zKYbzRCpBrT1bNijRnxLDJWPjVfImGEn0lSnUY5gZ+c= gorm.io/driver/sqlite v1.5.0/go.mod h1:kDMDfntV9u/vuMmz8APHtHF0b4nyBB7sfCieC6G8k8I= gorm.io/driver/sqlserver v1.4.1 h1:t4r4r6Jam5E6ejqP7N82qAJIJAht27EGT41HyPfXRw0= diff --git a/vendor/github.com/bytedance/sonic/INTRODUCTION.md b/vendor/github.com/bytedance/sonic/INTRODUCTION.md deleted file mode 100644 index 6b42118a..00000000 --- a/vendor/github.com/bytedance/sonic/INTRODUCTION.md +++ /dev/null @@ -1,48 +0,0 @@ -# Introduction to Sonic -## Background -According to the overall profiling of production services in Bytedance, we found that the overhead of JSON serialization and deserialization is unexpectedly high: the total is near to 10% CPU, and the extreme one accounts for more than 40% CPU. Therefore, **the performance of JSON lib is a key issue for the promotion of machine utilization**. - -## Research -We conducted a series of surveys and benchmarks on open-sourced JSON libraries for Golang, but the result is disappointing: **no silver bullet**. First of all, no one can perform at least the top three across various business scenarios. Even the most widely used [json-iterator](https://github.com/json-iterator/go) will severely degrade in generic (no-schema) or big-volume JSON serialization and deserialization. Secondly, compared with other JSON libraries writing in other languages, their speed is generally much slower. For example, [Simdjson-go](https://github.com/minio/simdjson-go) has a 50% reduction in decoding performance compared to [simdjson](https://github.com/simdjson/simdjson). What's more, we barely found JSON libraries which provide API to modify the underlying values. - -Therefore, we decided to **develop a brand-new JSON library with high performance as well as wide applicability**. - -## Thinking -Before starting our design, we need to figure out some questions: - -### Why is Json-iterator faster than Standard Library? -First of all, the **schema-based processing mechanism** used by the standard library is commendable, in which the parser can obtain meta information in advance when scanning, thereby shortening the time of branch selection. However, its original implementation did not make good use of this mechanism, instead, **it spent a lot of time reflecting to obtain meta info of schema**. Meanwhile, The approach of json-iterator is: Interprete structure as field-by-field encoding and decoding functions, and then assembled and cached them, minimizing the performance loss cost by reflection. But does it work once and for all? No. In practical tests, we found that **the deeper and larger the input JSON got, the smaller the gap between json-iterator and other libraries gradually became** - eventually event got surpassed: -![Scalability](introduction-1.png) - -The reason is that **this implementation transforms into a large number of interface encapsulations and function calls**, followed by function-call losses: -1. **Calling interface involves dynamic addressing of itab** -2. **Assembly functions cannot be inlined**, while Golang's function-call performance is poor (no parameter-passing-by-register) - -#### Is there a way to avoid the function-call overhead of dynamic assembly? -The first thing we thought about was code generation like [easyjson](https://github.com/mailru/easyjson). But it comes with **schema dependency and convenience losses**. To achieve a real drop-in replacement of the standard library, we turned to another technology - **[JIT](https://en.wikipedia.org/wiki/Jit) (just-in-time compiling)**. Because the compiled codec function is an integrated function, which can greatly reduce function calls while ensuring flexibility. - -### Why is Simdjson-go not fast enough? -[SIMD](https://en.wikipedia.org/wiki/SIMD) (Single-Instruction-Multi-Data) is a special set of CPU instructions for the parallel processing of vectorized data. At present, it is supported by most CPUs and widely used in image processing and big data computing. Undoubtedly, SIMD is useful in JSON processing (itoa, char-search, and so on are all suitable scenarios). We can see that simdjson-go is very competitive in large JSON scenarios (>100KB). However, for some extremely small or irregular character strings, **the extra load operation required by SIMD will lead to performance degradation**. Therefore, we need to dedicate ourselves to branch predicting and decide which scenarios should use SIMD and which should not (for example, the string length is less than 16 bytes). - -The second problem comes from the Go compiler itself. In order to ensure the compilation speed, **Golang does very little optimization work during the compilation phase** and cannot directly use compiler backends such as [LLVM](https://en.wikipedia.org/wiki/LLVM) (Low-Level Virtual Machine) for optimization. - -So, **can some crucial calculation functions be written in another language with higher execution efficiency**? -C/Clang is an ideal compilation tool (internal integration LLVM). But the key is how to embed the optimized assembly into Golang. - -### How to use Gjson well? -We also found that [gjson](https://github.com/tidwall/gjson) has a huge advantage in single-key lookup scenarios. This is because its lookup is implemented by a **lazy-load mechanism**, which subtlely skips passing-by values and effectively reduces a lot of unnecessary parsing. Practical application has proved that making good use of this feature in product can indeed bring benefits. But when it comes to multi-key lookup, Gjson does worse event than std, which is a side effect of its skipping mechanism - **searching for the same path leads to repeated parsing** (skip is also a lightweight parsing). Therefore, the accurate adaptation of practical scenarios is the key. - -## Design -Based on the above questions, our design is easy to implement: - -1. Aiming at the function-call overhead cost by the codec dynamic-assembly, **`JIT` tech is used to assemble opcodes (asm) corresponding to the schema at runtime**, which is finally cached into the off-heap memory in the form of Golang functions. -2. For practical scenarios where big data and small data coexist, we **use pre-conditional judgment** (string size, floating precision, etc.) **to combine `SIMD` with scalar instructions** to achieve the best adaptation. -3. As for insufficiency in compiling optimization of go language, we decided to **use `C/Clang` to write and compile core computational functions**, and **developed a set of [asm2asm](https://github.com/chenzhuoyu/asm2asm) tools to translate the fully optimized x86 assembly into plan9** and finally load it into Golang runtime. -4. Giving the big speed gap between parsing and skipping, the **`lazy-load` mechanism** is certainly used in our AST parser, but in **a more adaptive and efficient way to reduce the overhead of multiple-key queries**. -![design](introduction-2.png) - -In detail, we conducted some further optimization: -1. Since the native-asm functions cannot be inlined in Golang, we found that its cost even exceeded the improvement brought by the optimization of the C compiler. So we reimplemented a set of lightweight function-calls in JIT: - - `Global-function-table + static offset` for calling instruction - - **Pass parameters using registers** -2. `Sync.Map` was used to cache the codecs at first, but for our **quasi-static** (read far more than write), **fewer elements** (usually no more than a few dozen) scenarios, its performance is not optimal, so we reimplement a high-performance and concurrent-safe cache with `open-addressing-hash + RCU` tech. \ No newline at end of file diff --git a/vendor/github.com/bytedance/sonic/README.md b/vendor/github.com/bytedance/sonic/README.md index 9cc42c46..dd404342 100644 --- a/vendor/github.com/bytedance/sonic/README.md +++ b/vendor/github.com/bytedance/sonic/README.md @@ -76,14 +76,14 @@ BenchmarkSetOne_Parallel_Sjson-16 18194 ns/op 715.7 BenchmarkSetOne_Parallel_Jsoniter-16 33560 ns/op 388.05 MB/s 45892 B/op 964 allocs/op ``` - [Small](https://github.com/bytedance/sonic/blob/main/testdata/small.go) (400B, 11 keys, 3 layers) -![small benchmarks](bench-small.png) +![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](bench-large.png) +![large benchmarks](./docs/imgs/bench-large.png) See [bench.sh](https://github.com/bytedance/sonic/blob/main/bench.sh) for benchmark codes. ## How it works -See [INTRODUCTION.md](INTRODUCTION.md). +See [INTRODUCTION.md](./docs/INTRODUCTION.md). ## Usage @@ -104,28 +104,29 @@ err := sonic.Unmarshal(output, &data) 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 -import "github.com/bytedance/sonic/encoder" - var o1 = map[string]interface{}{ "a": "b", } var o2 = 1 var w = bytes.NewBuffer(nil) -var enc = encoder.NewStreamEncoder(w) +var enc = sonic.ConfigDefault.NewEncoder(w) enc.Encode(o1) enc.Encode(o2) -println(w.String()) // "{"a":"b"}\n1" +fmt.Println(w.String()) +// Output: +// {"a":"b"} +// 1 ``` - decoder ```go -import "github.com/bytedance/sonic/decoder" - var o = map[string]interface{}{} var r = strings.NewReader(`{"a":"b"}{"1":"2"}`) -var dec = decoder.NewStreamDecoder(r) +var dec = sonic.ConfigDefault.NewDecoder(r) dec.Decode(&o) dec.Decode(&o) -fmt.Printf("%+v", o) // map[1:2 a:b] +fmt.Printf("%+v", o) +// Output: +// map[1:2 a:b] ``` ### Use Number/Use Int64 diff --git a/vendor/github.com/bytedance/sonic/bench-large.png b/vendor/github.com/bytedance/sonic/bench-large.png deleted file mode 100644 index 8a8785ec9adce4954f5d507c5e7032ea676907d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 87463 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

vC;enj&_?Y$AW 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 Giz#Dn{ZL8R^MWW)f)^>9oQz_3H*>-EN-ht*h(P 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%0DtNmsYoJ2}R=PsDSm@K!y}7eB<4Yj@ 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 O9csH&)3zKq{eJ)fqfb@< diff --git a/vendor/github.com/bytedance/sonic/decoder/assembler_amd64_go116.go b/vendor/github.com/bytedance/sonic/decoder/assembler_amd64_go116.go index a839b162..86d5a3d3 100644 --- a/vendor/github.com/bytedance/sonic/decoder/assembler_amd64_go116.go +++ b/vendor/github.com/bytedance/sonic/decoder/assembler_amd64_go116.go @@ -319,6 +319,7 @@ var _OpFuncTab = [256]func(*_Assembler, *_Instr) { _OP_dismatch_err : (*_Assembler)._asm_OP_dismatch_err, _OP_go_skip : (*_Assembler)._asm_OP_go_skip, _OP_add : (*_Assembler)._asm_OP_add, + _OP_check_empty : (*_Assembler)._asm_OP_check_empty, } func (self *_Assembler) instr(v *_Instr) { @@ -458,6 +459,7 @@ var ( var ( _V_stackOverflow = jit.Imm(int64(uintptr(unsafe.Pointer(&stackOverflow)))) _I_json_UnsupportedValueError = jit.Itab(_T_error, reflect.TypeOf(new(json.UnsupportedValueError))) + _I_json_MismatchTypeError = jit.Itab(_T_error, reflect.TypeOf(new(MismatchTypeError))) ) func (self *_Assembler) type_error() { @@ -472,6 +474,10 @@ func (self *_Assembler) type_error() { func (self *_Assembler) mismatch_error() { self.Link(_LB_mismatch_error) // _type_error: + self.Emit("MOVQ", _VAR_et, _ET) // MOVQ _VAR_et, _ET + self.Emit("MOVQ", _VAR_ic, _EP) // MOVQ _VAR_ic, _EP + self.Emit("CMPQ", _ET, _I_json_MismatchTypeError) // CMPQ _ET, _I_json_MismatchType + self.Sjmp("JE" , _LB_error) // JE _LB_error self.Emit("MOVQ", _ARG_sp, _AX) self.Emit("MOVQ", _AX, jit.Ptr(_SP, 0)) // MOVQ AX, (SP) self.Emit("MOVQ", _ARG_sl, _CX) @@ -1128,9 +1134,15 @@ func (self *_Assembler) decode_dynamic(vt obj.Addr, vp obj.Addr) { self.call_go(_F_decodeTypedPointer) // CALL_GO decodeTypedPointer self.Emit("MOVQ" , jit.Ptr(_SP, 64), _ET) // MOVQ 64(SP), ET self.Emit("MOVQ" , jit.Ptr(_SP, 72), _EP) // MOVQ 72(SP), EP - self.Emit("TESTQ", _ET, _ET) // TESTQ ET, ET - self.Sjmp("JNZ" , _LB_error) // JNZ _error self.Emit("MOVQ" , jit.Ptr(_SP, 56), _IC) // MOVQ 56(SP), IC + self.Emit("TESTQ", _ET, _ET) // TESTQ ET, ET + self.Sjmp("JE", "_decode_dynamic_end_{n}") // JE, _decode_dynamic_end_{n} + self.Emit("CMPQ", _ET, _I_json_MismatchTypeError) + self.Sjmp("JNE" , _LB_error) // JNE LB_error + self.Emit("MOVQ", _EP, _VAR_ic) // MOVQ EP, VAR_ic + self.Emit("MOVQ", _ET, _VAR_et) // MOVQ ET, VAR_et + self.Link("_decode_dynamic_end_{n}") + } /** OpCode Assembler Functions **/ @@ -1161,6 +1173,8 @@ var ( var ( _F_FieldMap_GetCaseInsensitive obj.Addr + _Empty_Slice = make([]byte, 0) + _Zero_Base = int64(uintptr(((*rt.GoSlice)(unsafe.Pointer(&_Empty_Slice))).Ptr)) ) const ( @@ -1631,6 +1645,22 @@ func (self *_Assembler) _asm_OP_slice_init(p *_Instr) { self.Emit("MOVQ" , _AX, jit.Ptr(_VP, 8)) // MOVQ AX, 8(VP) } +func (self *_Assembler) _asm_OP_check_empty(p *_Instr) { + rbracket := p.vb() + if rbracket == ']' { + self.check_eof(1) + self.Emit("LEAQ", jit.Ptr(_IC, 1), _AX) // LEAQ 1(IC), AX + 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.Emit("MOVQ", jit.Imm(_Zero_Base), jit.Ptr(_VP, 0)) // MOVQ $zerobase, (VP) + self.Xjmp("JMP" , p.vi()) // JMP {p.vi()} + self.Link("_not_empty_array_{n}") + } else { + panic("only implement check empty array here!") + } +} + func (self *_Assembler) _asm_OP_slice_append(p *_Instr) { self.Emit("MOVQ" , jit.Ptr(_VP, 8), _AX) // MOVQ 8(VP), AX self.Emit("CMPQ" , _AX, jit.Ptr(_VP, 16)) // CMPQ AX, 16(VP) @@ -1650,12 +1680,34 @@ func (self *_Assembler) _asm_OP_slice_append(p *_Instr) { self.WriteRecNotAX(8, _DI, jit.Ptr(_VP, 0), true, true)// MOVQ DI, (VP) self.Emit("MOVQ" , _AX, jit.Ptr(_VP, 8)) // MOVQ AX, 8(VP) self.Emit("MOVQ" , _SI, jit.Ptr(_VP, 16)) // MOVQ SI, 16(VP) + + // because growslice not zero memory {oldcap, newlen} when append et not has ptrdata. + // but we should zero it, avoid decode it as random values. + if rt.UnpackType(p.vt()).PtrData == 0 { + self.Emit("SUBQ" , _AX, _SI) // MOVQ AX, SI + + self.Emit("ADDQ" , jit.Imm(1), jit.Ptr(_VP, 8)) // ADDQ $1, 8(VP) + self.Emit("MOVQ" , _DI, _VP) // MOVQ DI, VP + self.Emit("MOVQ" , jit.Imm(int64(p.vlen())), _CX) // MOVQ ${p.vlen()}, CX + self.From("MULQ" , _CX) // MULQ CX + self.Emit("ADDQ" , _AX, _VP) // ADDQ AX, VP + + self.Emit("MOVQ" , _SI, _AX) // MOVQ SI, AX + self.From("MULQ" , _CX) // MULQ CX + self.Emit("MOVQ" , _AX, jit.Ptr(_SP, 8)) // MOVQ AX, 8(SP) + + self.Emit("MOVQ" , _VP, jit.Ptr(_SP, 0)) // MOVQ VP, (SP) + self.mem_clear_fn(true) // CALL_GO memclr{Has,NoHeap} + self.Sjmp("JMP", "_append_slice_end_{n}") // JMP _append_slice_end_{n} + } + self.Link("_index_{n}") // _index_{n}: self.Emit("ADDQ" , jit.Imm(1), jit.Ptr(_VP, 8)) // ADDQ $1, 8(VP) self.Emit("MOVQ" , jit.Ptr(_VP, 0), _VP) // MOVQ (VP), VP self.Emit("MOVQ" , jit.Imm(int64(p.vlen())), _CX) // MOVQ ${p.vlen()}, CX self.From("MULQ" , _CX) // MULQ CX self.Emit("ADDQ" , _AX, _VP) // ADDQ AX, VP + self.Link("_append_slice_end_{n}") } func (self *_Assembler) _asm_OP_object_skip(_ *_Instr) { diff --git a/vendor/github.com/bytedance/sonic/decoder/assembler_amd64_go117.go b/vendor/github.com/bytedance/sonic/decoder/assembler_amd64_go117.go index 5e852e53..e25d6efc 100644 --- a/vendor/github.com/bytedance/sonic/decoder/assembler_amd64_go117.go +++ b/vendor/github.com/bytedance/sonic/decoder/assembler_amd64_go117.go @@ -315,6 +315,7 @@ var _OpFuncTab = [256]func(*_Assembler, *_Instr) { _OP_dismatch_err : (*_Assembler)._asm_OP_dismatch_err, _OP_go_skip : (*_Assembler)._asm_OP_go_skip, _OP_add : (*_Assembler)._asm_OP_add, + _OP_check_empty : (*_Assembler)._asm_OP_check_empty, _OP_debug : (*_Assembler)._asm_OP_debug, } @@ -348,8 +349,8 @@ func (self *_Assembler) epilogue() { self.Emit("MOVQ", _EP, _CX) // MOVQ BX, CX self.Emit("MOVQ", _ET, _BX) // MOVQ AX, BX self.Emit("MOVQ", _IC, _AX) // MOVQ IC, AX - self.Emit("MOVQ", jit.Imm(0), _ARG_sp) // MOVQ $0, sv.p<>+48(FP) - self.Emit("MOVQ", jit.Imm(0), _ARG_vp) // MOVQ $0, sv.p<>+48(FP) + self.Emit("MOVQ", jit.Imm(0), _ARG_sp) // MOVQ $0, sv.p<>+48(FP) + self.Emit("MOVQ", jit.Imm(0), _ARG_vp) // MOVQ $0, sv.p<>+48(FP) self.Emit("MOVQ", jit.Imm(0), _ARG_sv_p) // MOVQ $0, sv.p<>+48(FP) self.Emit("MOVQ", jit.Imm(0), _ARG_vk) // MOVQ $0, vk<>+64(FP) self.Emit("MOVQ", jit.Ptr(_SP, _FP_offs), _BP) // MOVQ _FP_offs(SP), BP @@ -480,6 +481,7 @@ var ( var ( _V_stackOverflow = jit.Imm(int64(uintptr(unsafe.Pointer(&stackOverflow)))) _I_json_UnsupportedValueError = jit.Itab(_T_error, reflect.TypeOf(new(json.UnsupportedValueError))) + _I_json_MismatchTypeError = jit.Itab(_T_error, reflect.TypeOf(new(MismatchTypeError))) ) func (self *_Assembler) type_error() { @@ -489,7 +491,11 @@ func (self *_Assembler) type_error() { } func (self *_Assembler) mismatch_error() { - self.Link(_LB_mismatch_error) // _type_error: + self.Link(_LB_mismatch_error) // _type_error: + self.Emit("MOVQ", _VAR_et, _ET) // MOVQ _VAR_et, _ET + self.Emit("MOVQ", _VAR_ic, _EP) // MOVQ _VAR_ic, _EP + self.Emit("CMPQ", _ET, _I_json_MismatchTypeError) // CMPQ _ET, _I_json_MismatchType + self.Sjmp("JE" , _LB_error) // JE _LB_error self.Emit("MOVQ", _ARG_sp, _AX) self.Emit("MOVQ", _ARG_sl, _BX) self.Emit("MOVQ", _VAR_ic, _CX) @@ -1119,7 +1125,7 @@ func (self *_Assembler) decode_dynamic(vt obj.Addr, vp obj.Addr) { self.Emit("MOVQ", _ARG_sp, _AX) // MOVQ sp, AX self.Emit("MOVQ", _ARG_sl, _BX) // MOVQ sp, BX self.Emit("MOVQ" , _IC, _CX) // MOVQ IC, CX - self.Emit("MOVQ" , _ST, _R8) // MOVQ ST, R8 + self.Emit("MOVQ" , _ST, _R8) // MOVQ ST, R8 self.Emit("MOVQ" , _ARG_fv, _R9) // MOVQ fv, R9 self.save(_REG_rt...) self.Emit("MOVQ", _F_decodeTypedPointer, _IL) // MOVQ ${fn}, R11 @@ -1129,7 +1135,12 @@ func (self *_Assembler) decode_dynamic(vt obj.Addr, vp obj.Addr) { self.Emit("MOVQ" , _BX, _ET) // MOVQ BX, ET self.Emit("MOVQ" , _CX, _EP) // MOVQ CX, EP self.Emit("TESTQ", _ET, _ET) // TESTQ ET, ET - self.Sjmp("JNZ" , _LB_error) // JNZ _error + self.Sjmp("JE", "_decode_dynamic_end_{n}") // JE, _decode_dynamic_end_{n} + self.Emit("CMPQ", _ET, _I_json_MismatchTypeError) + self.Sjmp("JNE" , _LB_error) // JNE LB_error + self.Emit("MOVQ", _EP, _VAR_ic) // MOVQ EP, VAR_ic + self.Emit("MOVQ", _ET, _VAR_et) // MOVQ ET, VAR_et + self.Link("_decode_dynamic_end_{n}") } /** OpCode Assembler Functions **/ @@ -1155,6 +1166,8 @@ var ( var ( _F_FieldMap_GetCaseInsensitive obj.Addr + _Empty_Slice = make([]byte, 0) + _Zero_Base = int64(uintptr(((*rt.GoSlice)(unsafe.Pointer(&_Empty_Slice))).Ptr)) ) const ( @@ -1622,6 +1635,22 @@ func (self *_Assembler) _asm_OP_slice_init(p *_Instr) { self.Link("_done_{n}") // _done_{n} } +func (self *_Assembler) _asm_OP_check_empty(p *_Instr) { + rbracket := p.vb() + if rbracket == ']' { + self.check_eof(1) + self.Emit("LEAQ", jit.Ptr(_IC, 1), _AX) // LEAQ 1(IC), AX + 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.Emit("MOVQ", jit.Imm(_Zero_Base), jit.Ptr(_VP, 0)) // MOVQ $zerobase, (VP) + self.Xjmp("JMP" , p.vi()) // JMP {p.vi()} + self.Link("_not_empty_array_{n}") + } else { + panic("only implement check empty array here!") + } +} + func (self *_Assembler) _asm_OP_slice_append(p *_Instr) { self.Emit("MOVQ" , jit.Ptr(_VP, 8), _AX) // MOVQ 8(VP), AX self.Emit("CMPQ" , _AX, jit.Ptr(_VP, 16)) // CMPQ AX, 16(VP) @@ -1636,6 +1665,28 @@ func (self *_Assembler) _asm_OP_slice_append(p *_Instr) { self.WritePtrAX(8, jit.Ptr(_VP, 0), false) // MOVQ AX, (VP) self.Emit("MOVQ" , _BX, jit.Ptr(_VP, 8)) // MOVQ BX, 8(VP) self.Emit("MOVQ" , _CX, jit.Ptr(_VP, 16)) // MOVQ CX, 16(VP) + + // because growslice not zero memory {oldcap, newlen} when append et not has ptrdata. + // but we should zero it, avoid decode it as random values. + if rt.UnpackType(p.vt()).PtrData == 0 { + self.Emit("MOVQ" , _CX, _DI) // MOVQ CX, DI + self.Emit("SUBQ" , _BX, _DI) // MOVQ BX, DI + + self.Emit("ADDQ" , jit.Imm(1), jit.Ptr(_VP, 8)) // ADDQ $1, 8(VP) + self.Emit("MOVQ" , _AX, _VP) // MOVQ AX, VP + self.Emit("MOVQ" , jit.Imm(int64(p.vlen())), _CX) // MOVQ ${p.vlen()}, CX + self.Emit("MOVQ" , _BX, _AX) // MOVQ BX, AX + self.From("MULQ" , _CX) // MULQ CX + self.Emit("ADDQ" , _AX, _VP) // ADDQ AX, VP + + self.Emit("MOVQ" , _DI, _AX) // MOVQ SI, AX + self.From("MULQ" , _CX) // MULQ BX + self.Emit("MOVQ" , _AX, _BX) // ADDQ AX, BX + self.Emit("MOVQ" , _VP, _AX) // MOVQ VP, AX + self.mem_clear_fn(true) // CALL_GO memclr{Has,NoHeap} + self.Sjmp("JMP", "_append_slice_end_{n}") + } + self.Emit("MOVQ" , _BX, _AX) // MOVQ BX, AX self.Link("_index_{n}") // _index_{n}: self.Emit("ADDQ" , jit.Imm(1), jit.Ptr(_VP, 8)) // ADDQ $1, 8(VP) @@ -1643,6 +1694,7 @@ func (self *_Assembler) _asm_OP_slice_append(p *_Instr) { self.Emit("MOVQ" , jit.Imm(int64(p.vlen())), _CX) // MOVQ ${p.vlen()}, CX self.From("MULQ" , _CX) // MULQ CX self.Emit("ADDQ" , _AX, _VP) // ADDQ AX, VP + self.Link("_append_slice_end_{n}") } func (self *_Assembler) _asm_OP_object_skip(_ *_Instr) { diff --git a/vendor/github.com/bytedance/sonic/decoder/compiler.go b/vendor/github.com/bytedance/sonic/decoder/compiler.go index b6164338..8f3905fc 100644 --- a/vendor/github.com/bytedance/sonic/decoder/compiler.go +++ b/vendor/github.com/bytedance/sonic/decoder/compiler.go @@ -98,6 +98,7 @@ const ( _OP_dismatch_err _OP_go_skip _OP_add + _OP_check_empty _OP_debug ) @@ -174,6 +175,9 @@ var _OpNames = [256]string { _OP_check_char_0 : "check_char_0", _OP_dismatch_err : "dismatch_err", _OP_add : "add", + _OP_go_skip : "go_skip", + _OP_check_empty : "check_empty", + _OP_debug : "debug", } func (self _Op) String() string { @@ -806,11 +810,11 @@ func (self *_Compiler) compileSliceList(p *_Program, sp int, vt reflect.Type) { } func (self *_Compiler) compileSliceBody(p *_Program, sp int, et reflect.Type) { - p.rtt(_OP_slice_init, et) - p.add(_OP_save) p.add(_OP_lspace) j := p.pc() - p.chr(_OP_check_char, ']') + p.chr(_OP_check_empty, ']') + p.rtt(_OP_slice_init, et) + p.add(_OP_save) p.rtt(_OP_slice_append, et) self.compileOne(p, sp + 1, et) p.add(_OP_load) @@ -823,9 +827,9 @@ func (self *_Compiler) compileSliceBody(p *_Program, sp int, et reflect.Type) { self.compileOne(p, sp + 1, et) p.add(_OP_load) p.int(_OP_goto, k0) - p.pin(j) p.pin(k1) p.add(_OP_drop) + p.pin(j) } func (self *_Compiler) compileString(p *_Program, vt reflect.Type) { diff --git a/vendor/github.com/bytedance/sonic/decoder/pools.go b/vendor/github.com/bytedance/sonic/decoder/pools.go index ab1e5f23..06adc7fa 100644 --- a/vendor/github.com/bytedance/sonic/decoder/pools.go +++ b/vendor/github.com/bytedance/sonic/decoder/pools.go @@ -26,7 +26,7 @@ import ( ) const ( - _MinSlice = 16 + _MinSlice = 2 _MaxStack = 4096 // 4k slots _MaxStackBytes = _MaxStack * _PtrBytes _MaxDigitNums = 800 // used in atof fallback algorithm 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 index 0fd04a02..86eb3657 100644 --- a/vendor/github.com/bytedance/sonic/internal/native/avx/native_amd64.s +++ b/vendor/github.com/bytedance/sonic/internal/native/avx/native_amd64.s @@ -10,124 +10,47 @@ TEXT ·__native_entry__(SB), NOSPLIT, $0 LONG $0xf9058d48; WORD $0xffff; BYTE $0xff // leaq $-7(%rip), %rax LONG $0x24448948; BYTE $0x08 // movq %rax, $8(%rsp) BYTE $0xc3 // retq - WORD $0x0000; BYTE $0x00 // .p2align 4, 0x00 - -LCPI0_0: - QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' ' - -LCPI0_1: - QUAD $0x0909090909090909; QUAD $0x0909090909090909 // .space 16, '\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t' - -LCPI0_2: - QUAD $0x0a0a0a0a0a0a0a0a; QUAD $0x0a0a0a0a0a0a0a0a // .space 16, '\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n' - -LCPI0_3: - QUAD $0x0d0d0d0d0d0d0d0d; QUAD $0x0d0d0d0d0d0d0d0d // .space 16, '\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r' + WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - // .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 $0x005d840f; WORD $0x0000 // je LBB0_7, $93(%rip) - WORD $0xc189 // movl %eax, %ecx - WORD $0xe183; BYTE $0x0f // andl $15, %ecx - WORD $0x8548; BYTE $0xc9 // testq %rcx, %rcx - LONG $0x004f840f; WORD $0x0000 // je LBB0_7, $79(%rip) - LONG $0xff4e8d4c // leaq $-1(%rsi), %r9 - WORD $0xd231 // xorl %edx, %edx - QUAD $0x000100002600b849; WORD $0x0000 // movabsq $4294977024, %r8 - BYTE $0x90 // .p2align 4, 0x90 + 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 $0x100cbe0f // movsbl (%rax,%rdx), %ecx - WORD $0xf983; BYTE $0x20 // cmpl $32, %ecx - LONG $0x00fb870f; WORD $0x0000 // ja LBB0_5, $251(%rip) - LONG $0xc8a30f49 // btq %rcx, %r8 - LONG $0x00f1830f; WORD $0x0000 // jae LBB0_5, $241(%rip) - LONG $0x01528d4c // leaq $1(%rdx), %r10 - WORD $0x3949; BYTE $0xd1 // cmpq %rdx, %r9 - LONG $0x0014840f; WORD $0x0000 // je LBB0_6, $20(%rip) - LONG $0x104c8d48; BYTE $0x01 // leaq $1(%rax,%rdx), %rcx - WORD $0xe183; BYTE $0x0f // andl $15, %ecx - WORD $0x894c; BYTE $0xd2 // movq %r10, %rdx - WORD $0x8548; BYTE $0xc9 // testq %rcx, %rcx - LONG $0xffc8850f; WORD $0xffff // jne LBB0_3, $-56(%rip) - -LBB0_6: - WORD $0x014c; BYTE $0xd0 // addq %r10, %rax - WORD $0x294c; BYTE $0xd6 // subq %r10, %rsi - -LBB0_7: - LONG $0x10fe8348 // cmpq $16, %rsi - LONG $0x0068820f; WORD $0x0000 // jb LBB0_14, $104(%rip) - QUAD $0xffffff40056ff9c5 // vmovdqa $-192(%rip), %xmm0 /* LCPI0_0(%rip) */ - QUAD $0xffffff480d6ff9c5 // vmovdqa $-184(%rip), %xmm1 /* LCPI0_1(%rip) */ - QUAD $0xffffff50156ff9c5 // vmovdqa $-176(%rip), %xmm2 /* LCPI0_2(%rip) */ - QUAD $0xffffff581d6ff9c5 // vmovdqa $-168(%rip), %xmm3 /* LCPI0_3(%rip) */ - QUAD $0x9090909090909090 // .p2align 4, 0x90 - -LBB0_9: - LONG $0x206ff9c5 // vmovdqa (%rax), %xmm4 - LONG $0xe874d9c5 // vpcmpeqb %xmm0, %xmm4, %xmm5 - LONG $0xf174d9c5 // vpcmpeqb %xmm1, %xmm4, %xmm6 - LONG $0xeeebd1c5 // vpor %xmm6, %xmm5, %xmm5 - LONG $0xf274d9c5 // vpcmpeqb %xmm2, %xmm4, %xmm6 - LONG $0xe374d9c5 // vpcmpeqb %xmm3, %xmm4, %xmm4 - LONG $0xe6ebd9c5 // vpor %xmm6, %xmm4, %xmm4 - LONG $0xe5ebd9c5 // vpor %xmm5, %xmm4, %xmm4 - LONG $0xccd7f9c5 // vpmovmskb %xmm4, %ecx - LONG $0xfff98366 // cmpw $-1, %cx - LONG $0x005a850f; WORD $0x0000 // jne LBB0_10, $90(%rip) - LONG $0x10c08348 // addq $16, %rax - LONG $0xf0c68348 // addq $-16, %rsi - LONG $0x0ffe8348 // cmpq $15, %rsi - LONG $0xffc0870f; WORD $0xffff // ja LBB0_9, $-64(%rip) - -LBB0_14: - WORD $0x8548; BYTE $0xf6 // testq %rsi, %rsi - LONG $0x0052840f; WORD $0x0000 // je LBB0_21, $82(%rip) - LONG $0x30048d4c // leaq (%rax,%rsi), %r8 - WORD $0xff48; BYTE $0xc0 // incq %rax - QUAD $0x000100002600ba48; WORD $0x0000 // movabsq $4294977024, %rdx - -LBB0_16: LONG $0xff48be0f // movsbl $-1(%rax), %ecx WORD $0xf983; BYTE $0x20 // cmpl $32, %ecx - LONG $0x0039870f; WORD $0x0000 // ja LBB0_18, $57(%rip) - LONG $0xcaa30f48 // btq %rcx, %rdx - LONG $0x002f830f; WORD $0x0000 // jae LBB0_18, $47(%rip) - WORD $0xff48; BYTE $0xce // decq %rsi + 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 $0x8548; BYTE $0xf6 // testq %rsi, %rsi - LONG $0xffda850f; WORD $0xffff // jne LBB0_16, $-38(%rip) + 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 - LONG $0x000013e9; BYTE $0x00 // jmp LBB0_21, $19(%rip) + BYTE $0x5d // popq %rbp + BYTE $0xc3 // retq -LBB0_10: - WORD $0xb70f; BYTE $0xc9 // movzwl %cx, %ecx - WORD $0x2948; BYTE $0xf8 // subq %rdi, %rax - WORD $0xd1f7 // notl %ecx - WORD $0xbc0f; BYTE $0xc9 // bsfl %ecx, %ecx - WORD $0x0148; BYTE $0xc8 // addq %rcx, %rax +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 $0x0148; BYTE $0xd0 // addq %rdx, %rax - -LBB0_21: - WORD $0x2948; BYTE $0xf8 // subq %rdi, %rax - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB0_18: - WORD $0xf748; BYTE $0xd7 // notq %rdi - WORD $0x0148; BYTE $0xf8 // addq %rdi, %rax - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - QUAD $0x0000000000000000 // .p2align 5, 0x00 + 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' @@ -196,7 +119,7 @@ LBB1_6: LONG $0x000124b8; BYTE $0x00 // movl $292, %eax WORD $0x2944; BYTE $0xc8 // subl %r9d, %eax LONG $0x04e0c148 // shlq $4, %rax - LONG $0x9a158d48; WORD $0x00b0; BYTE $0x00 // leaq $45210(%rip), %rdx /* _pow10_ceil_sig.g(%rip) */ + 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 @@ -378,7 +301,7 @@ LBB1_51: LONG $0x009d820f; WORD $0x0000 // jb LBB1_64, $157(%rip) LONG $0x01678d4d // leaq $1(%r15), %r12 WORD $0x894c; BYTE $0xe6 // movq %r12, %rsi - LONG $0x00782fe8; BYTE $0x00 // callq _format_significand, $30767(%rip) + LONG $0x0082cfe8; BYTE $0x00 // callq _format_significand, $33487(%rip) WORD $0x8948; BYTE $0xc3 // movq %rax, %rbx QUAD $0x9090909090909090; LONG $0x90909090 // .p2align 4, 0x90 @@ -413,7 +336,7 @@ LBB1_60: WORD $0x0c8d; BYTE $0x12 // leal (%rdx,%rdx), %ecx WORD $0x0c8d; BYTE $0x89 // leal (%rcx,%rcx,4), %ecx WORD $0xc829 // subl %ecx, %eax - LONG $0x740d8d48; WORD $0x00ac; BYTE $0x00 // leaq $44148(%rip), %rcx /* _Digits(%rip) */ + 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 @@ -495,7 +418,7 @@ LBB1_61: WORD $0xf883; BYTE $0x0a // cmpl $10, %eax LONG $0x00878c0f; WORD $0x0000 // jl LBB1_63, $135(%rip) WORD $0xc089 // movl %eax, %eax - LONG $0x2a0d8d48; WORD $0x00ab; BYTE $0x00 // leaq $43818(%rip), %rcx /* _Digits(%rip) */ + 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 @@ -689,7 +612,7 @@ LBB1_77: LBB1_78: WORD $0x894c; BYTE $0xfe // movq %r15, %rsi WORD $0xf8c5; BYTE $0x77 // vzeroupper - LONG $0x007326e8; BYTE $0x00 // callq _format_significand, $29478(%rip) + LONG $0x007dc6e8; BYTE $0x00 // callq _format_significand, $32198(%rip) LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 LBB1_79: @@ -916,7 +839,7 @@ LBB2_2: WORD $0xcf6b; BYTE $0x64 // imull $100, %edi, %ecx WORD $0xc829 // subl %ecx, %eax LONG $0xd8b70f44 // movzwl %ax, %r11d - LONG $0xd00d8d48; WORD $0x00a4; BYTE $0x00 // leaq $42192(%rip), %rcx /* _Digits(%rip) */ + 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 @@ -932,7 +855,7 @@ LBB2_2: LBB2_5: LONG $0x1759b941; WORD $0xd1b7 // movl $3518437209, %r9d - LONG $0x89158d4c; WORD $0x00a4; BYTE $0x00 // leaq $42121(%rip), %r10 /* _Digits(%rip) */ + LONG $0x29158d4c; WORD $0x00af; BYTE $0x00 // leaq $44841(%rip), %r10 /* _Digits(%rip) */ QUAD $0x9090909090909090; BYTE $0x90 // .p2align 4, 0x90 LBB2_6: @@ -964,7 +887,7 @@ LBB2_7: WORD $0xc86b; BYTE $0x64 // imull $100, %eax, %ecx WORD $0xca29 // subl %ecx, %edx WORD $0xb70f; BYTE $0xca // movzwl %dx, %ecx - LONG $0x11158d48; WORD $0x00a4; BYTE $0x00 // leaq $42001(%rip), %rdx /* _Digits(%rip) */ + 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 @@ -974,7 +897,7 @@ LBB2_9: WORD $0xfa83; BYTE $0x0a // cmpl $10, %edx LONG $0x0018820f; WORD $0x0000 // jb LBB2_11, $24(%rip) WORD $0xd089 // movl %edx, %eax - LONG $0xf00d8d48; WORD $0x00a3; BYTE $0x00 // leaq $41968(%rip), %rcx /* _Digits(%rip) */ + 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 @@ -1050,7 +973,7 @@ _u64toa: WORD $0x0148; BYTE $0xc0 // addq %rax, %rax LONG $0x03e8fe81; WORD $0x0000 // cmpl $1000, %esi LONG $0x0016820f; WORD $0x0000 // jb LBB4_3, $22(%rip) - LONG $0x1c0d8d48; WORD $0x00a3; BYTE $0x00 // leaq $41756(%rip), %rcx /* _Digits(%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 @@ -1064,14 +987,14 @@ LBB4_3: LBB4_4: WORD $0xb70f; BYTE $0xd2 // movzwl %dx, %edx LONG $0x01ca8348 // orq $1, %rdx - LONG $0xf4358d48; WORD $0x00a2; BYTE $0x00 // leaq $41716(%rip), %rsi /* _Digits(%rip) */ + 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 $0xe3158d48; WORD $0x00a2; BYTE $0x00 // leaq $41699(%rip), %rdx /* _Digits(%rip) */ + 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 @@ -1080,7 +1003,7 @@ LBB4_6: LBB4_7: WORD $0xb70f; BYTE $0xc0 // movzwl %ax, %eax LONG $0x01c88348 // orq $1, %rax - LONG $0xcb158d48; WORD $0x00a2; BYTE $0x00 // leaq $41675(%rip), %rdx /* _Digits(%rip) */ + 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 @@ -1127,7 +1050,7 @@ LBB4_8: WORD $0x014d; BYTE $0xdb // addq %r11, %r11 LONG $0x9680fe81; WORD $0x0098 // cmpl $10000000, %esi LONG $0x0017820f; WORD $0x0000 // jb LBB4_11, $23(%rip) - LONG $0x29058d48; WORD $0x00a2; BYTE $0x00 // leaq $41513(%rip), %rax /* _Digits(%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 @@ -1141,14 +1064,14 @@ LBB4_11: LBB4_12: WORD $0x8944; BYTE $0xd0 // movl %r10d, %eax LONG $0x01c88348 // orq $1, %rax - LONG $0xfd358d48; WORD $0x00a1; BYTE $0x00 // leaq $41469(%rip), %rsi /* _Digits(%rip) */ + 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 $0xec058d48; WORD $0x00a1; BYTE $0x00 // leaq $41452(%rip), %rax /* _Digits(%rip) */ + 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 @@ -1157,7 +1080,7 @@ LBB4_14: LBB4_15: LONG $0xc1b70f41 // movzwl %r9w, %eax LONG $0x01c88348 // orq $1, %rax - LONG $0xd2358d48; WORD $0x00a1; BYTE $0x00 // leaq $41426(%rip), %rsi /* _Digits(%rip) */ + 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) @@ -1239,7 +1162,7 @@ LBB4_16: LONG $0x000010b9; BYTE $0x00 // movl $16, %ecx WORD $0xc129 // subl %eax, %ecx LONG $0x04e0c148 // shlq $4, %rax - LONG $0xd8158d48; WORD $0x00c7; BYTE $0x00 // leaq $51160(%rip), %rdx /* _VecShiftShuffles(%rip) */ + 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 @@ -1265,7 +1188,7 @@ LBB4_20: WORD $0xfa83; BYTE $0x63 // cmpl $99, %edx LONG $0x001f870f; WORD $0x0000 // ja LBB4_22, $31(%rip) WORD $0xd089 // movl %edx, %eax - LONG $0x1b0d8d48; WORD $0x00a0; BYTE $0x00 // leaq $40987(%rip), %rcx /* _Digits(%rip) */ + 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) @@ -1290,7 +1213,7 @@ LBB4_22: WORD $0xc96b; BYTE $0x64 // imull $100, %ecx, %ecx WORD $0xc829 // subl %ecx, %eax WORD $0xb70f; BYTE $0xc0 // movzwl %ax, %eax - LONG $0xc60d8d48; WORD $0x009f; BYTE $0x00 // leaq $40902(%rip), %rcx /* _Digits(%rip) */ + 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) @@ -1302,7 +1225,7 @@ LBB4_24: WORD $0xc86b; BYTE $0x64 // imull $100, %eax, %ecx WORD $0xca29 // subl %ecx, %edx WORD $0xb70f; BYTE $0xc0 // movzwl %ax, %eax - LONG $0xa0058d4c; WORD $0x009f; BYTE $0x00 // leaq $40864(%rip), %r8 /* _Digits(%rip) */ + 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) @@ -1392,8 +1315,8 @@ _quote: WORD $0x8948; BYTE $0xf0 // movq %rsi, %rax WORD $0x8b4c; BYTE $0x31 // movq (%rcx), %r14 LONG $0x01c0f641 // testb $1, %r8b - LONG $0x2b0d8d48; WORD $0x00c6; BYTE $0x00 // leaq $50731(%rip), %rcx /* __SingleQuoteTab(%rip) */ - LONG $0x24058d4c; WORD $0x00d6; BYTE $0x00 // leaq $54820(%rip), %r8 /* __DoubleQuoteTab(%rip) */ + 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 @@ -1494,7 +1417,7 @@ LBB5_15: LONG $0x34b60f41; BYTE $0x24 // movzbl (%r12), %esi WORD $0x8948; BYTE $0xf2 // movq %rsi, %rdx LONG $0x04e2c148 // shlq $4, %rdx - LONG $0x8d1d8d48; WORD $0x00c4; BYTE $0x00 // leaq $50317(%rip), %rbx /* __SingleQuoteTab(%rip) */ + 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 @@ -1711,7 +1634,7 @@ LBB5_74: LONG $0x00024de9; BYTE $0x00 // jmp LBB5_76, $589(%rip) LBB5_51: - LONG $0xd60d8d4c; WORD $0x00e1; BYTE $0x00 // leaq $57814(%rip), %r9 /* __EscTab(%rip) */ + 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) */ @@ -1935,7 +1858,7 @@ _unquote: LONG $0xb845894c // movq %r8, $-72(%rbp) WORD $0x8945; BYTE $0xc2 // movl %r8d, %r10d LONG $0x01e28341 // andl $1, %r10d - LONG $0x1a058d4c; WORD $0x00e0; BYTE $0x00 // leaq $57370(%rip), %r8 /* __UnquoteTab(%rip) */ + 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 @@ -2625,7 +2548,7 @@ _html_escape: 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 $0xba1d8d4c; WORD $0x00d7; BYTE $0x00 // leaq $55226(%rip), %r11 /* __HtmlQuoteTab(%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 @@ -3009,7 +2932,7 @@ LBB8_5: WORD $0xd348; BYTE $0xe7 // shlq %cl, %rdi WORD $0xc389 // movl %eax, %ebx LONG $0x04e3c148 // shlq $4, %rbx - LONG $0x51358d4c; WORD $0x005d; BYTE $0x00 // leaq $23889(%rip), %r14 /* _POW10_M128_TAB(%rip) */ + 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 @@ -3136,7 +3059,7 @@ LBB9_5: LONG $0xd05d8948 // movq %rbx, $-48(%rbp) LONG $0x005a8e0f; WORD $0x0000 // jle LBB9_12, $90(%rip) WORD $0x3145; BYTE $0xe4 // xorl %r12d, %r12d - LONG $0x38358d4c; WORD $0x0087; BYTE $0x00 // leaq $34616(%rip), %r14 /* _POW_TAB(%rip) */ + 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 @@ -3149,7 +3072,7 @@ LBB9_10: LBB9_11: WORD $0x894c; BYTE $0xff // movq %r15, %rdi WORD $0xde89 // movl %ebx, %esi - LONG $0x005655e8; BYTE $0x00 // callq _right_shift, $22101(%rip) + LONG $0x0060f5e8; BYTE $0x00 // callq _right_shift, $24821(%rip) LBB9_7: WORD $0x0141; BYTE $0xdc // addl %ebx, %r12d @@ -3166,7 +3089,7 @@ LBB9_8: LONG $0xffffd3e9; BYTE $0xff // jmp LBB9_7, $-45(%rip) LBB9_12: - LONG $0xe1358d4c; WORD $0x0086; BYTE $0x00 // leaq $34529(%rip), %r14 /* _POW_TAB(%rip) */ + LONG $0x81358d4c; WORD $0x0091; BYTE $0x00 // leaq $37249(%rip), %r14 /* _POW_TAB(%rip) */ LONG $0x00002de9; BYTE $0x00 // jmp LBB9_14, $45(%rip) LBB9_18: @@ -3178,7 +3101,7 @@ LBB9_18: LBB9_20: WORD $0x894c; BYTE $0xff // movq %r15, %rdi WORD $0xde89 // movl %ebx, %esi - LONG $0x005406e8; BYTE $0x00 // callq _left_shift, $21510(%rip) + LONG $0x005ea6e8; BYTE $0x00 // callq _left_shift, $24230(%rip) LONG $0x14478b41 // movl $20(%r15), %eax LBB9_13: @@ -3221,7 +3144,7 @@ LBB9_21: LBB9_25: WORD $0x894c; BYTE $0xff // movq %r15, %rdi LONG $0x00003cbe; BYTE $0x00 // movl $60, %esi - LONG $0x005563e8; BYTE $0x00 // callq _right_shift, $21859(%rip) + 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) @@ -3247,7 +3170,7 @@ LBB9_31: WORD $0xf741; BYTE $0xdc // negl %r12d WORD $0x894c; BYTE $0xff // movq %r15, %rdi WORD $0x8944; BYTE $0xe6 // movl %r12d, %esi - LONG $0x005510e8; BYTE $0x00 // callq _right_shift, $21776(%rip) + LONG $0x005fb0e8; BYTE $0x00 // callq _right_shift, $24496(%rip) LONG $0xfc02be41; WORD $0xffff // movl $-1022, %r14d LBB9_32: @@ -3255,7 +3178,7 @@ LBB9_32: LONG $0x000d840f; WORD $0x0000 // je LBB9_34, $13(%rip) WORD $0x894c; BYTE $0xff // movq %r15, %rdi LONG $0x000035be; BYTE $0x00 // movl $53, %esi - LONG $0x005302e8; BYTE $0x00 // callq _left_shift, $21250(%rip) + LONG $0x005da2e8; BYTE $0x00 // callq _left_shift, $23970(%rip) LBB9_34: LONG $0x14478b41 // movl $20(%r15), %eax @@ -3593,722 +3516,606 @@ LBB10_39: 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 $0x0005fee8; BYTE $0x00 // callq _advance_ns, $1534(%rip) - WORD $0xbe0f; BYTE $0xc0 // movsbl %al, %eax + 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 $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 + 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_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) +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 - LONG $0xc8558b48 // movq $-56(%rbp), %rdx - LONG $0x000e47e8; BYTE $0x00 // callq _vnumber, $3655(%rip) + WORD $0x894c; BYTE $0xf2 // movq %r14, %rdx + LONG $0x000b6ce8; BYTE $0x00 // callq _vnumber, $2924(%rip) LONG $0xd05d8b48 // movq $-48(%rbp), %rbx - LONG $0x000355e9; BYTE $0x00 // jmp LBB11_58, $853(%rip) + 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_4: +LBB11_35: + LONG $0xc875894c // movq %r14, $-56(%rbp) + LONG $0x1d748d4d; BYTE $0x00 // leaq (%r13,%rbx), %r14 WORD $0xc031 // xorl %eax, %eax - LONG $0x2f3c8043; BYTE $0x2d // cmpb $45, (%r15,%r13) - LONG $0x2f248d4f // leaq (%r15,%r13), %r12 + WORD $0xf980; BYTE $0x2d // cmpb $45, %cl 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 $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 $0x030c830f; WORD $0x0000 // jae LBB11_55, $780(%rip) + LONG $0x02e5830f; WORD $0x0000 // jae LBB11_87, $741(%rip) -LBB11_7: - WORD $0x894c; BYTE $0xe7 // movq %r12, %rdi - WORD $0x8948; BYTE $0xde // movq %rbx, %rsi - LONG $0x002092e8; BYTE $0x00 // callq _do_skip_number, $8338(%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 $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 $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 $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) + LONG $0x18588948 // movq %rbx, $24(%rax) + WORD $0x894c; BYTE $0xf3 // movq %r14, %rbx + LONG $0xffff7de9; BYTE $0xff // jmp LBB11_34, $-131(%rip) -LBB11_11: +LBB11_41: 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) + LONG $0xffff71e9; BYTE $0xff // jmp LBB11_34, $-143(%rip) -LBB11_12: +LBB11_42: 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 $0x00082de8; BYTE $0x00 // callq _advance_string, $2093(%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 $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 - LONG $0x00026de9; BYTE $0x00 // jmp LBB11_58, $621(%rip) + 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_14: - WORD $0x8545; BYTE $0xe4 // testl %r12d, %r12d +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 $0x0000e8e9; BYTE $0x00 // jmp LBB11_28, $232(%rip) + LONG $0x0000f8e9; BYTE $0x00 // jmp LBB11_60, $248(%rip) -LBB11_15: - WORD $0x8545; BYTE $0xe4 // testl %r12d, %r12d +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 $0x0000d4e9; BYTE $0x00 // jmp LBB11_28, $212(%rip) + LONG $0x0000e4e9; BYTE $0x00 // jmp LBB11_60, $228(%rip) -LBB11_16: +LBB11_46: LONG $0x0506c749; WORD $0x0000; BYTE $0x00 // movq $5, (%r14) - LONG $0xd05d8b48 // movq $-48(%rbp), %rbx - LONG $0x000235e9; BYTE $0x00 // jmp LBB11_58, $565(%rip) + LONG $0xfffee8e9; BYTE $0xff // jmp LBB11_33, $-280(%rip) -LBB11_17: - WORD $0x8545; BYTE $0xe4 // testl %r12d, %r12d +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 $0x0000b0e9; BYTE $0x00 // jmp LBB11_28, $176(%rip) + LONG $0x0000c4e9; BYTE $0x00 // jmp LBB11_60, $196(%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) +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 $0x8948; BYTE $0xcb // movq %rcx, %rbx - WORD $0x8949; BYTE $0x06 // movq %rax, (%r14) - LONG $0x0001e8e9; BYTE $0x00 // jmp LBB11_58, $488(%rip) + WORD $0x8949; BYTE $0xdf // movq %rbx, %r15 + LONG $0x0001aae9; BYTE $0x00 // jmp LBB11_84, $426(%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) +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 - LONG $0x000165e9; BYTE $0x00 // jmp LBB11_50, $357(%rip) + WORD $0x8949; BYTE $0xdf // movq %rbx, %r15 + LONG $0x000177e9; BYTE $0x00 // jmp LBB11_84, $375(%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_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_22: - LONG $0xd05d8948 // movq %rbx, $-48(%rbp) +LBB11_57: + LONG $0xd07d894c // movq %r15, $-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) + LONG $0x000134e9; BYTE $0x00 // jmp LBB11_84, $308(%rip) -LBB11_26: +LBB11_58: LONG $0x0606c749; WORD $0x0000; BYTE $0x00 // movq $6, (%r14) - LONG $0xd05d8b48 // movq $-48(%rbp), %rbx - LONG $0x000180e9; BYTE $0x00 // jmp LBB11_58, $384(%rip) + LONG $0xfffe1fe9; BYTE $0xff // jmp LBB11_33, $-481(%rip) -LBB11_27: - WORD $0x8545; BYTE $0xe4 // testl %r12d, %r12d +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_28: +LBB11_60: 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 $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 $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 + 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 $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 + 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 $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 $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) - 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) + WORD $0x894c; BYTE $0xfb // movq %r15, %rbx + LONG $0xfffcefe9; BYTE $0xff // jmp LBB11_34, $-785(%rip) -LBB11_48: - WORD $0xff48; BYTE $0xc1 // incq %rcx - -LBB11_49: - LONG $0xd04d8948 // movq %rcx, $-48(%rbp) +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_50: - WORD $0x8948; BYTE $0xcb // movq %rcx, %rbx +LBB11_86: + WORD $0xf748; BYTE $0xd0 // notq %rax + WORD $0x0149; BYTE $0xc6 // addq %rax, %r14 -LBB11_51: - WORD $0x8949; BYTE $0x06 // movq %rax, (%r14) - LONG $0x000044e9; BYTE $0x00 // jmp LBB11_58, $68(%rip) +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_45: - LONG $0x02c18348 // addq $2, %rcx +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 -LBB11_46: - WORD $0x8948; BYTE $0xcb // movq %rcx, %rbx +_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) -LBB11_47: - LONG $0xd05d8948 // movq %rbx, $-48(%rbp) - WORD $0x8949; BYTE $0x06 // movq %rax, (%r14) - LONG $0x000031e9; BYTE $0x00 // jmp LBB11_58, $49(%rip) +LBB12_1: + LONG $0x084f8b49 // movq $8(%r15), %rcx + WORD $0x8948; BYTE $0x0b // movq %rcx, (%rbx) -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) +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 -LBB11_54: - WORD $0xf748; BYTE $0xd0 // notq %rax - WORD $0x0149; BYTE $0xc4 // addq %rax, %r12 +LCPI13_0: + QUAD $0x2222222222222222; QUAD $0x2222222222222222 // .space 16, '""""""""""""""""' -LBB11_55: - WORD $0x294d; BYTE $0xfc // subq %r15, %r12 - LONG $0xd065894c // movq %r12, $-48(%rbp) - LONG $0xfec5c749; WORD $0xffff; BYTE $0xff // movq $-2, %r13 +LCPI13_1: + QUAD $0x5c5c5c5c5c5c5c5c; QUAD $0x5c5c5c5c5c5c5c5c // .space 16, '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -LBB11_56: - WORD $0x894c; BYTE $0xe3 // movq %r12, %rbx +LCPI13_2: + QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' ' -LBB11_57: - LONG $0xc8458b48 // movq $-56(%rbp), %rax - WORD $0x894c; BYTE $0x28 // movq %r13, (%rax) + // .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) -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 4, 0x00 - -LCPI12_0: - QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' ' - -LCPI12_1: - QUAD $0x0909090909090909; QUAD $0x0909090909090909 // .space 16, '\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t' - -LCPI12_2: - QUAD $0x0a0a0a0a0a0a0a0a; QUAD $0x0a0a0a0a0a0a0a0a // .space 16, '\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n' - -LCPI12_3: - QUAD $0x0d0d0d0d0d0d0d0d; QUAD $0x0d0d0d0d0d0d0d0d // .space 16, '\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r' - - // .p2align 4, 0x90 -_advance_ns: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - BYTE $0x53 // pushq %rbx - 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 $0x00021ae9; BYTE $0x00 // jmp LBB12_5, $538(%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 $0x01eb870f; WORD $0x0000 // ja LBB12_5, $491(%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 $0x01bc870f; WORD $0x0000 // ja LBB12_5, $444(%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 $0x018d870f; WORD $0x0000 // ja LBB12_5, $397(%rip) - -LBB12_18: - LONG $0x04488d4d // leaq $4(%r8), %r9 - WORD $0x3949; BYTE $0xf1 // cmpq %rsi, %r9 - LONG $0x0145830f; WORD $0x0000 // jae LBB12_19, $325(%rip) - LONG $0x0f148d4e // leaq (%rdi,%r9), %r10 - WORD $0x8948; BYTE $0xf3 // movq %rsi, %rbx - WORD $0x294c; BYTE $0xcb // subq %r9, %rbx - LONG $0x0075840f; WORD $0x0000 // je LBB12_27, $117(%rip) - WORD $0x8944; BYTE $0xd0 // movl %r10d, %eax - WORD $0xe083; BYTE $0x0f // andl $15, %eax - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x0066840f; WORD $0x0000 // je LBB12_27, $102(%rip) - LONG $0x07148d4e // leaq (%rdi,%r8), %r10 - WORD $0x8948; BYTE $0xf3 // movq %rsi, %rbx - WORD $0x294c; BYTE $0xc3 // subq %r8, %rbx - LONG $0xfb438d4c // leaq $-5(%rbx), %r8 - WORD $0xc031 // xorl %eax, %eax - QUAD $0x000100002600b949; WORD $0x0000 // movabsq $4294977024, %r9 - LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 - -LBB12_23: - LONG $0x4cbe0f41; WORD $0x0402 // movsbl $4(%r10,%rax), %ecx - WORD $0xf983; BYTE $0x20 // cmpl $32, %ecx - LONG $0x011b870f; WORD $0x0000 // ja LBB12_25, $283(%rip) - LONG $0xc9a30f49 // btq %rcx, %r9 - LONG $0x0111830f; WORD $0x0000 // jae LBB12_25, $273(%rip) - LONG $0x01588d4c // leaq $1(%rax), %r11 - WORD $0x3949; BYTE $0xc0 // cmpq %rax, %r8 - LONG $0x0014840f; WORD $0x0000 // je LBB12_26, $20(%rip) - LONG $0x024c8d49; BYTE $0x05 // leaq $5(%r10,%rax), %rcx - WORD $0xe183; BYTE $0x0f // andl $15, %ecx - WORD $0x894c; BYTE $0xd8 // movq %r11, %rax - WORD $0x8548; BYTE $0xc9 // testq %rcx, %rcx - LONG $0xffc6850f; WORD $0xffff // jne LBB12_23, $-58(%rip) - -LBB12_26: - LONG $0x13548d4f; BYTE $0x04 // leaq $4(%r11,%r10), %r10 - WORD $0x294c; BYTE $0xdb // subq %r11, %rbx - LONG $0xfcc38348 // addq $-4, %rbx - -LBB12_27: - LONG $0x10fb8348 // cmpq $16, %rbx - LONG $0x0061820f; WORD $0x0000 // jb LBB12_34, $97(%rip) - QUAD $0xfffffe58056ff9c5 // vmovdqa $-424(%rip), %xmm0 /* LCPI12_0(%rip) */ - QUAD $0xfffffe600d6ff9c5 // vmovdqa $-416(%rip), %xmm1 /* LCPI12_1(%rip) */ - QUAD $0xfffffe68156ff9c5 // vmovdqa $-408(%rip), %xmm2 /* LCPI12_2(%rip) */ - QUAD $0xfffffe701d6ff9c5 // vmovdqa $-400(%rip), %xmm3 /* LCPI12_3(%rip) */ - - // .p2align 4, 0x90 -LBB12_29: - LONG $0x6f79c1c4; BYTE $0x22 // vmovdqa (%r10), %xmm4 - LONG $0xe874d9c5 // vpcmpeqb %xmm0, %xmm4, %xmm5 - LONG $0xf174d9c5 // vpcmpeqb %xmm1, %xmm4, %xmm6 - LONG $0xeeebd1c5 // vpor %xmm6, %xmm5, %xmm5 - LONG $0xf274d9c5 // vpcmpeqb %xmm2, %xmm4, %xmm6 - LONG $0xe374d9c5 // vpcmpeqb %xmm3, %xmm4, %xmm4 - LONG $0xe6ebd9c5 // vpor %xmm6, %xmm4, %xmm4 - LONG $0xe5ebd9c5 // vpor %xmm5, %xmm4, %xmm4 - LONG $0xc4d7f9c5 // vpmovmskb %xmm4, %eax - LONG $0xfff88366 // cmpw $-1, %ax - LONG $0x006f850f; WORD $0x0000 // jne LBB12_30, $111(%rip) - LONG $0x10c28349 // addq $16, %r10 - LONG $0xf0c38348 // addq $-16, %rbx - LONG $0x0ffb8348 // cmpq $15, %rbx - LONG $0xffbf870f; WORD $0xffff // ja LBB12_29, $-65(%rip) - -LBB12_34: - WORD $0x8548; BYTE $0xdb // testq %rbx, %rbx - LONG $0x003b840f; WORD $0x0000 // je LBB12_41, $59(%rip) - LONG $0x1a048d4d // leaq (%r10,%rbx), %r8 - WORD $0xff49; BYTE $0xc2 // incq %r10 - QUAD $0x000100002600b949; WORD $0x0000 // movabsq $4294977024, %r9 - -LBB12_36: - LONG $0x42be0f41; BYTE $0xff // movsbl $-1(%r10), %eax - WORD $0xf883; BYTE $0x20 // cmpl $32, %eax - LONG $0x0079870f; WORD $0x0000 // ja LBB12_38, $121(%rip) - LONG $0xc1a30f49 // btq %rax, %r9 - LONG $0x006f830f; WORD $0x0000 // jae LBB12_38, $111(%rip) - WORD $0xff48; BYTE $0xcb // decq %rbx - WORD $0xff49; BYTE $0xc2 // incq %r10 - WORD $0x8548; BYTE $0xdb // testq %rbx, %rbx - LONG $0xffd9850f; WORD $0xffff // jne LBB12_36, $-39(%rip) - WORD $0x894d; BYTE $0xc2 // movq %r8, %r10 - -LBB12_41: - WORD $0x2949; BYTE $0xfa // subq %rdi, %r10 - WORD $0x3949; BYTE $0xf2 // cmpq %rsi, %r10 - LONG $0x0040820f; WORD $0x0000 // jb LBB12_5, $64(%rip) - LONG $0x00005ee9; BYTE $0x00 // jmp LBB12_43, $94(%rip) - -LBB12_19: - WORD $0x894c; BYTE $0x0a // movq %r9, (%rdx) - LONG $0x000056e9; BYTE $0x00 // jmp LBB12_43, $86(%rip) - -LBB12_30: - WORD $0xb70f; BYTE $0xc0 // movzwl %ax, %eax - WORD $0x2949; BYTE $0xfa // subq %rdi, %r10 - WORD $0xd0f7 // notl %eax - WORD $0xbc0f; BYTE $0xc0 // bsfl %eax, %eax - WORD $0x0149; BYTE $0xc2 // addq %rax, %r10 - WORD $0x3949; BYTE $0xf2 // cmpq %rsi, %r10 - LONG $0x001c820f; WORD $0x0000 // jb LBB12_5, $28(%rip) - LONG $0x00003ae9; BYTE $0x00 // jmp LBB12_43, $58(%rip) - -LBB12_25: - WORD $0x0149; BYTE $0xc2 // addq %rax, %r10 - WORD $0x8948; BYTE $0xf8 // movq %rdi, %rax - WORD $0xf748; BYTE $0xd0 // notq %rax - LONG $0x10548d4e; BYTE $0x05 // leaq $5(%rax,%r10), %r10 - WORD $0x3949; BYTE $0xf2 // cmpq %rsi, %r10 - LONG $0x0023830f; WORD $0x0000 // jae LBB12_43, $35(%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 $0x5b // popq %rbx - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB12_38: - 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 $0xffdd820f; WORD $0xffff // jb LBB12_5, $-35(%rip) - -LBB12_43: - WORD $0xc031 // xorl %eax, %eax - WORD $0xbe0f; BYTE $0xc0 // movsbl %al, %eax - BYTE $0x5b // popq %rbx - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - LONG $0x90909090 // .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 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 4, 0x00 - -LCPI14_0: - QUAD $0x2222222222222222; QUAD $0x2222222222222222 // .space 16, '""""""""""""""""' - -LCPI14_1: - QUAD $0x5c5c5c5c5c5c5c5c; QUAD $0x5c5c5c5c5c5c5c5c // .space 16, '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' - -LCPI14_2: - 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 $0x004932e9; BYTE $0x00 // jmp _advance_string_default, $18738(%rip) - -LBB14_2: +LBB13_2: BYTE $0x55 // pushq %rbp WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp WORD $0x5741 // pushq %r15 @@ -4319,23 +4126,23 @@ LBB14_2: LONG $0x20ec8348 // subq $32, %rsp LONG $0x085f8b48 // movq $8(%rdi), %rbx WORD $0x2948; BYTE $0xf3 // subq %rsi, %rbx - LONG $0x04d4840f; WORD $0x0000 // je LBB14_21, $1236(%rip) + 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 LBB14_22, $586(%rip) + 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 /* LCPI14_0(%rip) */ - QUAD $0xffffff7a0d6ff9c5 // vmovdqa $-134(%rip), %xmm1 /* LCPI14_1(%rip) */ - QUAD $0xffffff82156ff9c5 // vmovdqa $-126(%rip), %xmm2 /* LCPI14_2(%rip) */ + 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 -LBB14_5: +LBB13_5: LONG $0xb85d8948 // movq %rbx, $-72(%rbp) LONG $0x266ffac5 // vmovdqu (%rsi), %xmm4 LONG $0x6e6ffac5; BYTE $0x10 // vmovdqu $16(%rsi), %xmm5 @@ -4390,27 +4197,27 @@ LBB14_5: 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 LBB14_10, $60(%rip) + LONG $0x003c850f; WORD $0x0000 // jne LBB13_10, $60(%rip) WORD $0x854d; BYTE $0xff // testq %r15, %r15 - LONG $0x0057850f; WORD $0x0000 // jne LBB14_12, $87(%rip) + 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 LBB14_13, $157(%rip) + LONG $0x009d850f; WORD $0x0000 // jne LBB13_13, $157(%rip) -LBB14_8: +LBB13_8: WORD $0x8548; BYTE $0xdb // testq %rbx, %rbx - LONG $0x00f2850f; WORD $0x0000 // jne LBB14_19, $242(%rip) + 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 LBB14_5, $-272(%rip) - LONG $0x00010be9; BYTE $0x00 // jmp LBB14_23, $267(%rip) + LONG $0xfef0870f; WORD $0xffff // ja LBB13_5, $-272(%rip) + LONG $0x00010be9; BYTE $0x00 // jmp LBB13_23, $267(%rip) -LBB14_10: +LBB13_10: LONG $0xd07d8348; BYTE $0xff // cmpq $-1, $-48(%rbp) - LONG $0x0019850f; WORD $0x0000 // jne LBB14_12, $25(%rip) + 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 @@ -4419,7 +4226,7 @@ LBB14_10: LONG $0xd0558948 // movq %rdx, $-48(%rbp) WORD $0x8948; BYTE $0x10 // movq %rdx, (%rax) -LBB14_12: +LBB13_12: WORD $0x894c; BYTE $0xf8 // movq %r15, %rax WORD $0xf748; BYTE $0xd0 // notq %rax WORD $0x2148; BYTE $0xc8 // andq %rcx, %rax @@ -4441,22 +4248,22 @@ LBB14_12: 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 LBB14_8, $-157(%rip) + LONG $0xff63840f; WORD $0xffff // je LBB13_8, $-157(%rip) -LBB14_13: +LBB13_13: LONG $0xc5bc0f49 // bsfq %r13, %rax WORD $0x8548; BYTE $0xdb // testq %rbx, %rbx - LONG $0x0029840f; WORD $0x0000 // je LBB14_17, $41(%rip) + 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 LBB14_18, $42(%rip) + LONG $0x002a820f; WORD $0x0000 // jb LBB13_18, $42(%rip) -LBB14_15: +LBB13_15: LONG $0x06448d48; BYTE $0x01 // leaq $1(%rsi,%rax), %rax -LBB14_16: +LBB13_16: LONG $0x20c48348 // addq $32, %rsp BYTE $0x5b // popq %rbx WORD $0x5c41 // popq %r12 @@ -4466,50 +4273,50 @@ LBB14_16: BYTE $0x5d // popq %rbp BYTE $0xc3 // retq -LBB14_17: +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 LBB14_15, $-42(%rip) + LONG $0xffd6830f; WORD $0xffff // jae LBB13_15, $-42(%rip) -LBB14_18: +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 LBB14_16, $-55(%rip) + LONG $0xffffc9e9; BYTE $0xff // jmp LBB13_16, $-55(%rip) -LBB14_19: +LBB13_19: LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax LONG $0xd07d8348; BYTE $0xff // cmpq $-1, $-48(%rbp) - LONG $0xffb7850f; WORD $0xffff // jne LBB14_16, $-73(%rip) + 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 LBB14_16, $-96(%rip) + LONG $0xffffa0e9; BYTE $0xff // jmp LBB13_16, $-96(%rip) -LBB14_22: +LBB13_22: QUAD $0xffffffffd045c748 // movq $-1, $-48(%rbp) WORD $0x3145; BYTE $0xff // xorl %r15d, %r15d -LBB14_23: +LBB13_23: LONG $0x20fb8348 // cmpq $32, %rbx - LONG $0x00e1820f; WORD $0x0000 // jb LBB14_36, $225(%rip) + 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 /* LCPI14_0(%rip) */ + 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 /* LCPI14_1(%rip) */ + 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 /* LCPI14_2(%rip) */ + 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 @@ -4524,93 +4331,93 @@ LBB14_23: LONG $0x10e0c148 // shlq $16, %rax LONG $0x10e7c148 // shlq $16, %rdi WORD $0x0949; BYTE $0xc2 // orq %rax, %r10 - LONG $0x0111850f; WORD $0x0000 // jne LBB14_48, $273(%rip) + LONG $0x0111850f; WORD $0x0000 // jne LBB13_48, $273(%rip) WORD $0x854d; BYTE $0xff // testq %r15, %r15 - LONG $0x012c850f; WORD $0x0000 // jne LBB14_50, $300(%rip) + LONG $0x012c850f; WORD $0x0000 // jne LBB13_50, $300(%rip) WORD $0x3145; BYTE $0xff // xorl %r15d, %r15d -LBB14_27: +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 LBB14_29, $4(%rip) + LONG $0x0004840f; WORD $0x0000 // je LBB13_29, $4(%rip) LONG $0xd3bc0f49 // bsfq %r11, %rdx -LBB14_29: +LBB13_29: WORD $0x8548; BYTE $0xff // testq %rdi, %rdi - LONG $0x0004840f; WORD $0x0000 // je LBB14_31, $4(%rip) + LONG $0x0004840f; WORD $0x0000 // je LBB13_31, $4(%rip) LONG $0xc7bc0f48 // bsfq %rdi, %rax -LBB14_31: +LBB13_31: WORD $0x854d; BYTE $0xdb // testq %r11, %r11 - LONG $0x0017840f; WORD $0x0000 // je LBB14_34, $23(%rip) + 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 LBB14_51, $292(%rip) + LONG $0x0124820f; WORD $0x0000 // jb LBB13_51, $292(%rip) LONG $0x16448d48; BYTE $0x01 // leaq $1(%rsi,%rdx), %rax - LONG $0xfffebbe9; BYTE $0xff // jmp LBB14_16, $-325(%rip) + LONG $0xfffebbe9; BYTE $0xff // jmp LBB13_16, $-325(%rip) -LBB14_34: +LBB13_34: WORD $0x8548; BYTE $0xff // testq %rdi, %rdi - LONG $0x0127850f; WORD $0x0000 // jne LBB14_52, $295(%rip) + LONG $0x0127850f; WORD $0x0000 // jne LBB13_52, $295(%rip) LONG $0x20c68348 // addq $32, %rsi LONG $0xe0c38348 // addq $-32, %rbx -LBB14_36: +LBB13_36: WORD $0x854d; BYTE $0xff // testq %r15, %r15 - LONG $0x0122850f; WORD $0x0000 // jne LBB14_53, $290(%rip) + 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 LBB14_16, $-367(%rip) + LONG $0xfe91840f; WORD $0xffff // je LBB13_16, $-367(%rip) -LBB14_38: +LBB13_38: LONG $0xc87d8b48 // movq $-56(%rbp), %rdi -LBB14_39: +LBB13_39: WORD $0xb60f; BYTE $0x0e // movzbl (%rsi), %ecx WORD $0xf980; BYTE $0x22 // cmpb $34, %cl - LONG $0x0075840f; WORD $0x0000 // je LBB14_47, $117(%rip) + LONG $0x0075840f; WORD $0x0000 // je LBB13_47, $117(%rip) WORD $0xf980; BYTE $0x5c // cmpb $92, %cl - LONG $0x0026840f; WORD $0x0000 // je LBB14_43, $38(%rip) + LONG $0x0026840f; WORD $0x0000 // je LBB13_43, $38(%rip) WORD $0xf980; BYTE $0x1f // cmpb $31, %cl - LONG $0x0146860f; WORD $0x0000 // jbe LBB14_57, $326(%rip) + 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 LBB14_39, $-54(%rip) - LONG $0xfffe52e9; BYTE $0xff // jmp LBB14_16, $-430(%rip) + LONG $0xffca850f; WORD $0xffff // jne LBB13_39, $-54(%rip) + LONG $0xfffe52e9; BYTE $0xff // jmp LBB13_16, $-430(%rip) -LBB14_43: +LBB13_43: LONG $0x01fb8348 // cmpq $1, %rbx - LONG $0xfe48840f; WORD $0xffff // je LBB14_16, $-440(%rip) + 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 LBB14_46, $14(%rip) + 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) -LBB14_46: +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 LBB14_39, $-124(%rip) - LONG $0xfffe0ce9; BYTE $0xff // jmp LBB14_16, $-500(%rip) + LONG $0xff84850f; WORD $0xffff // jne LBB13_39, $-124(%rip) + LONG $0xfffe0ce9; BYTE $0xff // jmp LBB13_16, $-500(%rip) -LBB14_47: +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 LBB14_16, $-515(%rip) + LONG $0xfffdfde9; BYTE $0xff // jmp LBB13_16, $-515(%rip) -LBB14_48: +LBB13_48: LONG $0xd07d8348; BYTE $0xff // cmpq $-1, $-48(%rbp) - LONG $0x0019850f; WORD $0x0000 // jne LBB14_50, $25(%rip) + 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 @@ -4619,7 +4426,7 @@ LBB14_48: LONG $0xd0558948 // movq %rdx, $-48(%rbp) WORD $0x8948; BYTE $0x10 // movq %rdx, (%rax) -LBB14_50: +LBB13_50: WORD $0x8944; BYTE $0xf8 // movl %r15d, %eax WORD $0xd0f7 // notl %eax WORD $0x2144; BYTE $0xd0 // andl %r10d, %eax @@ -4636,26 +4443,26 @@ LBB14_50: WORD $0x2144; BYTE $0xca // andl %r9d, %edx WORD $0xd2f7 // notl %edx WORD $0x2141; BYTE $0xd3 // andl %edx, %r11d - LONG $0xfffe9fe9; BYTE $0xff // jmp LBB14_27, $-353(%rip) + LONG $0xfffe9fe9; BYTE $0xff // jmp LBB13_27, $-353(%rip) -LBB14_51: +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 LBB14_16, $-629(%rip) + LONG $0xfffd8be9; BYTE $0xff // jmp LBB13_16, $-629(%rip) -LBB14_52: +LBB13_52: LONG $0xc0752b48 // subq $-64(%rbp), %rsi WORD $0x0148; BYTE $0xc6 // addq %rax, %rsi - LONG $0x00005ae9; BYTE $0x00 // jmp LBB14_58, $90(%rip) + LONG $0x00005ae9; BYTE $0x00 // jmp LBB13_58, $90(%rip) -LBB14_53: +LBB13_53: WORD $0x8548; BYTE $0xdb // testq %rbx, %rbx - LONG $0x0041840f; WORD $0x0000 // je LBB14_21, $65(%rip) + 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 LBB14_56, $21(%rip) + 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 @@ -4663,44 +4470,44 @@ LBB14_53: LONG $0xd04d8948 // movq %rcx, $-48(%rbp) WORD $0x8948; BYTE $0x08 // movq %rcx, (%rax) -LBB14_56: +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 LBB14_38, $-343(%rip) - LONG $0xfffd35e9; BYTE $0xff // jmp LBB14_16, $-715(%rip) + LONG $0xfea9850f; WORD $0xffff // jne LBB13_38, $-343(%rip) + LONG $0xfffd35e9; BYTE $0xff // jmp LBB13_16, $-715(%rip) -LBB14_21: +LBB13_21: LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - LONG $0xfffd29e9; BYTE $0xff // jmp LBB14_16, $-727(%rip) + LONG $0xfffd29e9; BYTE $0xff // jmp LBB13_16, $-727(%rip) -LBB14_57: +LBB13_57: LONG $0xc0752b48 // subq $-64(%rbp), %rsi -LBB14_58: +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 LBB14_16, $-750(%rip) + LONG $0xfffd12e9; BYTE $0xff // jmp LBB13_16, $-750(%rip) QUAD $0x0000000000000000; LONG $0x00000000; BYTE $0x00 // .p2align 4, 0x00 -LCPI15_0: +LCPI14_0: LONG $0x43300000 // .long 1127219200 LONG $0x45300000 // .long 1160773632 LONG $0x00000000 // .long 0 LONG $0x00000000 // .long 0 -LCPI15_1: +LCPI14_1: QUAD $0x4330000000000000 // .quad 0x4330000000000000 QUAD $0x4530000000000000 // .quad 0x4530000000000000 // .p2align 3, 0x00 -LCPI15_2: +LCPI14_2: QUAD $0x430c6bf526340000 // .quad 0x430c6bf526340000 -LCPI15_3: +LCPI14_3: QUAD $0xc30c6bf526340000 // .quad 0xc30c6bf526340000 // .p2align 4, 0x90 @@ -4726,32 +4533,32 @@ _vnumber: 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 $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 LBB15_4, $22(%rip) + 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 LBB15_6, $37(%rip) + LONG $0x0025830f; WORD $0x0000 // jae LBB14_6, $37(%rip) LONG $0x073c8a41 // movb (%r15,%rax), %dil LONG $0xffffba41; WORD $0xffff // movl $-1, %r10d -LBB15_4: +LBB14_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) + 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 LBB15_8, $10(%rip) + LONG $0x00000ae9; BYTE $0x00 // jmp LBB14_8, $10(%rip) -LBB15_6: +LBB14_6: WORD $0x894c; BYTE $0x2e // movq %r13, (%rsi) -LBB15_7: +LBB14_7: LONG $0xff06c749; WORD $0xffff; BYTE $0xff // movq $-1, (%r14) -LBB15_8: +LBB14_8: LONG $0x38c48348 // addq $56, %rsp BYTE $0x5b // popq %rbx WORD $0x5c41 // popq %r12 @@ -4761,29 +4568,29 @@ LBB15_8: BYTE $0x5d // popq %rbp BYTE $0xc3 // retq -LBB15_9: +LBB14_9: LONG $0x30ff8040 // cmpb $48, %dil - LONG $0x0035850f; WORD $0x0000 // jne LBB15_13, $53(%rip) + 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 LBB15_22, $191(%rip) + 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 LBB15_22, $175(%rip) + 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 LBB15_22, $151(%rip) + LONG $0x0097830f; WORD $0x0000 // jae LBB14_22, $151(%rip) -LBB15_13: +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 LBB15_21, $117(%rip) + LONG $0x0075830f; WORD $0x0000 // jae LBB14_21, $117(%rip) WORD $0xf980; BYTE $0x09 // cmpb $9, %cl - LONG $0x0081870f; WORD $0x0000 // ja LBB15_23, $129(%rip) + 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 @@ -4791,209 +4598,209 @@ LBB15_13: WORD $0x3145; BYTE $0xe4 // xorl %r12d, %r12d LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 -LBB15_16: +LBB14_16: LONG $0x12fa8341 // cmpl $18, %r10d - LONG $0x00268f0f; WORD $0x0000 // jg LBB15_18, $38(%rip) + 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 LBB15_19, $17(%rip) + LONG $0x000011e9; BYTE $0x00 // jmp LBB14_19, $17(%rip) QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 -LBB15_18: +LBB14_18: WORD $0xc1ff // incl %ecx -LBB15_19: +LBB14_19: WORD $0x3949; BYTE $0xc1 // cmpq %rax, %r9 - LONG $0x0079840f; WORD $0x0000 // je LBB15_28, $121(%rip) + 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 LBB15_16, $-80(%rip) - LONG $0x00001de9; BYTE $0x00 // jmp LBB15_24, $29(%rip) + LONG $0xffb0820f; WORD $0xffff // jb LBB14_16, $-80(%rip) + LONG $0x00001de9; BYTE $0x00 // jmp LBB14_24, $29(%rip) -LBB15_21: +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 LBB15_29, $85(%rip) + LONG $0x000055e9; BYTE $0x00 // jmp LBB14_29, $85(%rip) -LBB15_22: +LBB14_22: WORD $0x894c; BYTE $0x0e // movq %r9, (%rsi) - LONG $0xffff13e9; BYTE $0xff // jmp LBB15_8, $-237(%rip) + LONG $0xffff13e9; BYTE $0xff // jmp LBB14_8, $-237(%rip) -LBB15_23: +LBB14_23: WORD $0x3145; BYTE $0xe4 // xorl %r12d, %r12d WORD $0x3145; BYTE $0xd2 // xorl %r10d, %r10d WORD $0xc931 // xorl %ecx, %ecx -LBB15_24: +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 LBB15_30, $59(%rip) + 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 LBB15_68, $616(%rip) + 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 LBB15_91, $1025(%rip) + LONG $0x0401830f; WORD $0x0000 // jae LBB14_91, $1025(%rip) WORD $0x3145; BYTE $0xc0 // xorl %r8d, %r8d - LONG $0x000010e9; BYTE $0x00 // jmp LBB15_30, $16(%rip) + LONG $0x000010e9; BYTE $0x00 // jmp LBB14_30, $16(%rip) -LBB15_28: +LBB14_28: WORD $0x894c; BYTE $0xe8 // movq %r13, %rax -LBB15_29: +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 -LBB15_30: +LBB14_30: WORD $0xc985 // testl %ecx, %ecx - LONG $0x0056850f; WORD $0x0000 // jne LBB15_39, $86(%rip) + LONG $0x0056850f; WORD $0x0000 // jne LBB14_39, $86(%rip) WORD $0x854d; BYTE $0xe4 // testq %r12, %r12 - LONG $0x004d850f; WORD $0x0000 // jne LBB15_39, $77(%rip) + LONG $0x004d850f; WORD $0x0000 // jne LBB14_39, $77(%rip) WORD $0x394c; BYTE $0xe8 // cmpq %r13, %rax - LONG $0x003c830f; WORD $0x0000 // jae LBB15_37, $60(%rip) + 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 -LBB15_34: +LBB14_34: LONG $0x073c8041; BYTE $0x30 // cmpb $48, (%r15,%rax) - LONG $0x0024850f; WORD $0x0000 // jne LBB15_38, $36(%rip) + 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 LBB15_34, $-25(%rip) + 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 LBB15_58, $290(%rip) - LONG $0x000152e9; BYTE $0x00 // jmp LBB15_62, $338(%rip) + LONG $0x0122850f; WORD $0x0000 // jne LBB14_58, $290(%rip) + LONG $0x000152e9; BYTE $0x00 // jmp LBB14_62, $338(%rip) -LBB15_37: +LBB14_37: WORD $0xc931 // xorl %ecx, %ecx WORD $0x3145; BYTE $0xd2 // xorl %r10d, %r10d -LBB15_38: +LBB14_38: WORD $0x3145; BYTE $0xe4 // xorl %r12d, %r12d -LBB15_39: +LBB14_39: WORD $0x394c; BYTE $0xe8 // cmpq %r13, %rax - LONG $0x0051830f; WORD $0x0000 // jae LBB15_45, $81(%rip) + LONG $0x0051830f; WORD $0x0000 // jae LBB14_45, $81(%rip) LONG $0x12fa8341 // cmpl $18, %r10d - LONG $0x00478f0f; WORD $0x0000 // jg LBB15_45, $71(%rip) + LONG $0x00478f0f; WORD $0x0000 // jg LBB14_45, $71(%rip) LONG $0xffd0b941; WORD $0xffff // movl $4294967248, %r9d LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 -LBB15_42: +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 LBB15_45, $42(%rip) + 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 LBB15_45, $17(%rip) + 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 LBB15_42, $-60(%rip) + LONG $0xffc48c0f; WORD $0xffff // jl LBB14_42, $-60(%rip) -LBB15_45: +LBB14_45: WORD $0x394c; BYTE $0xe8 // cmpq %r13, %rax - LONG $0x00a4830f; WORD $0x0000 // jae LBB15_57, $164(%rip) + 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 LBB15_51, $48(%rip) + LONG $0x0030870f; WORD $0x0000 // ja LBB14_51, $48(%rip) LONG $0xff7d8d49 // leaq $-1(%r13), %rdi LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 -LBB15_48: +LBB14_48: WORD $0x3948; BYTE $0xc7 // cmpq %rax, %rdi - LONG $0x0167840f; WORD $0x0000 // je LBB15_69, $359(%rip) + 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 LBB15_48, $-30(%rip) + LONG $0xffe2860f; WORD $0xffff // jbe LBB14_48, $-30(%rip) LONG $0x01c445c7; WORD $0x0000; BYTE $0x00 // movl $1, $-60(%rbp) -LBB15_51: +LBB14_51: LONG $0x20ce8040 // orb $32, %sil LONG $0x65fe8040 // cmpb $101, %sil - LONG $0x0056850f; WORD $0x0000 // jne LBB15_57, $86(%rip) + 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 LBB15_68, $285(%rip) + 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 LBB15_55, $16(%rip) + 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 LBB15_89, $664(%rip) + LONG $0x0298850f; WORD $0x0000 // jne LBB14_89, $664(%rip) -LBB15_55: +LBB14_55: LONG $0x02c08348 // addq $2, %rax WORD $0x394c; BYTE $0xe8 // cmpq %r13, %rax - LONG $0x00f2830f; WORD $0x0000 // jae LBB15_68, $242(%rip) + 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 LBB15_90, $631(%rip) + LONG $0x000277e9; BYTE $0x00 // jmp LBB14_90, $631(%rip) -LBB15_57: +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 LBB15_62, $53(%rip) + LONG $0x0035840f; WORD $0x0000 // je LBB14_62, $53(%rip) -LBB15_58: +LBB14_58: WORD $0xf685 // testl %esi, %esi - LONG $0x0026850f; WORD $0x0000 // jne LBB15_61, $38(%rip) + 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 LBB15_72, $242(%rip) + 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 LBB15_72, $227(%rip) + LONG $0x00e3840f; WORD $0x0000 // je LBB14_72, $227(%rip) -LBB15_61: +LBB14_61: LONG $0x0806c749; WORD $0x0000; BYTE $0x00 // movq $8, (%r14) -LBB15_62: +LBB14_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) */ + 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 LBB15_77, $287(%rip) + 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 @@ -5001,48 +4808,48 @@ LBB15_62: 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) + LONG $0x019f840f; WORD $0x0000 // je LBB14_85, $415(%rip) WORD $0xf685 // testl %esi, %esi - LONG $0x0197840f; WORD $0x0000 // je LBB15_85, $407(%rip) + 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 LBB15_70, $74(%rip) + LONG $0x004a870f; WORD $0x0000 // ja LBB14_70, $74(%rip) WORD $0xfe83; BYTE $0x17 // cmpl $23, %esi - LONG $0x00a48c0f; WORD $0x0000 // jl LBB15_73, $164(%rip) + LONG $0x00a48c0f; WORD $0x0000 // jl LBB14_73, $164(%rip) WORD $0x468d; BYTE $0xea // leal $-22(%rsi), %eax - LONG $0xa00d8d48; WORD $0x00e1; BYTE $0x00 // leaq $57760(%rip), %rcx /* _P10_TAB(%rip) */ + 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 LBB15_74, $136(%rip) + LONG $0x000088e9; BYTE $0x00 // jmp LBB14_74, $136(%rip) -LBB15_68: +LBB14_68: LONG $0xd0458b48 // movq $-48(%rbp), %rax WORD $0x894c; BYTE $0x28 // movq %r13, (%rax) - LONG $0xfffc66e9; BYTE $0xff // jmp LBB15_7, $-922(%rip) + LONG $0xfffc66e9; BYTE $0xff // jmp LBB14_7, $-922(%rip) -LBB15_69: +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 LBB15_58, $-235(%rip) - LONG $0xffff45e9; BYTE $0xff // jmp LBB15_62, $-187(%rip) + LONG $0xff15850f; WORD $0xffff // jne LBB14_58, $-235(%rip) + LONG $0xffff45e9; BYTE $0xff // jmp LBB14_62, $-187(%rip) -LBB15_70: +LBB14_70: WORD $0xfe83; BYTE $0xea // cmpl $-22, %esi - LONG $0x0094820f; WORD $0x0000 // jb LBB15_77, $148(%rip) + LONG $0x0094820f; WORD $0x0000 // jb LBB14_77, $148(%rip) WORD $0xdef7 // negl %esi - LONG $0x57058d48; WORD $0x00e1; BYTE $0x00 // leaq $57687(%rip), %rax /* _P10_TAB(%rip) */ + 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 LBB15_81, $222(%rip) + LONG $0x0000dee9; BYTE $0x00 // jmp LBB14_81, $222(%rip) -LBB15_72: +LBB14_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) */ + 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 @@ -5052,54 +4859,54 @@ LBB15_72: 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) + LONG $0xfffbf3e9; BYTE $0xff // jmp LBB14_8, $-1037(%rip) -LBB15_73: +LBB14_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) */ +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 LBB15_77, $24(%rip) + LONG $0x0018870f; WORD $0x0000 // ja LBB14_77, $24(%rip) WORD $0xc089 // movl %eax, %eax - LONG $0xdb0d8d48; WORD $0x00e0; BYTE $0x00 // leaq $57563(%rip), %rcx /* _P10_TAB(%rip) */ + 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 LBB15_81, $98(%rip) + LONG $0x000062e9; BYTE $0x00 // jmp LBB14_81, $98(%rip) -LBB15_77: +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 $0xffe493e8; BYTE $0xff // callq _atof_eisel_lemire64, $-7021(%rip) + LONG $0xffe613e8; BYTE $0xff // callq _atof_eisel_lemire64, $-6637(%rip) WORD $0xc084 // testb %al, %al - LONG $0x004b840f; WORD $0x0000 // je LBB15_83, $75(%rip) + 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 LBB15_84, $108(%rip) + 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 $0xffe46ce8; BYTE $0xff // callq _atof_eisel_lemire64, $-7060(%rip) + LONG $0xffe5ece8; BYTE $0xff // callq _atof_eisel_lemire64, $-6676(%rip) WORD $0xc084 // testb %al, %al - LONG $0x0024840f; WORD $0x0000 // je LBB15_83, $36(%rip) + 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 LBB15_83, $16(%rip) - LONG $0x000a8a0f; WORD $0x0000 // jp LBB15_83, $10(%rip) + LONG $0x0010850f; WORD $0x0000 // jne LBB14_83, $16(%rip) + LONG $0x000a8a0f; WORD $0x0000 // jp LBB14_83, $10(%rip) -LBB15_81: +LBB14_81: LONG $0x7ef9e1c4; BYTE $0xc0 // vmovq %xmm0, %rax - LONG $0x000033e9; BYTE $0x00 // jmp LBB15_85, $51(%rip) + LONG $0x000033e9; BYTE $0x00 // jmp LBB14_85, $51(%rip) -LBB15_83: +LBB14_83: LONG $0xd05d8b48 // movq $-48(%rbp), %rbx WORD $0x8b48; BYTE $0x03 // movq (%rbx), %rax WORD $0x0149; BYTE $0xc7 // addq %rax, %r15 @@ -5108,54 +4915,54 @@ LBB15_83: WORD $0x894c; BYTE $0xff // movq %r15, %rdi LONG $0xa0558b48 // movq $-96(%rbp), %rdx LONG $0xa84d8b48 // movq $-88(%rbp), %rcx - LONG $0xffe970e8; BYTE $0xff // callq _atof_native, $-5776(%rip) + 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 LBB15_86, $8(%rip) + LONG $0x000008e9; BYTE $0x00 // jmp LBB14_86, $8(%rip) -LBB15_84: +LBB14_84: LONG $0xc8458b48 // movq $-56(%rbp), %rax -LBB15_85: +LBB14_85: LONG $0xd05d8b48 // movq $-48(%rbp), %rbx -LBB15_86: +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 LBB15_88, $7(%rip) + LONG $0x0007850f; WORD $0x0000 // jne LBB14_88, $7(%rip) LONG $0xf806c749; WORD $0xffff; BYTE $0xff // movq $-8, (%r14) -LBB15_88: +LBB14_88: LONG $0x08468949 // movq %rax, $8(%r14) WORD $0x894c; BYTE $0x2b // movq %r13, (%rbx) - LONG $0xfffae0e9; BYTE $0xff // jmp LBB15_8, $-1312(%rip) + LONG $0xfffae0e9; BYTE $0xff // jmp LBB14_8, $-1312(%rip) -LBB15_89: +LBB14_89: WORD $0x8948; BYTE $0xf8 // movq %rdi, %rax -LBB15_90: +LBB14_90: WORD $0x7e8d; BYTE $0xd0 // leal $-48(%rsi), %edi LONG $0x09ff8040 // cmpb $9, %dil - LONG $0x0013860f; WORD $0x0000 // jbe LBB15_92, $19(%rip) + LONG $0x0013860f; WORD $0x0000 // jbe LBB14_92, $19(%rip) -LBB15_91: +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 LBB15_8, $-1347(%rip) + LONG $0xfffabde9; BYTE $0xff // jmp LBB14_8, $-1347(%rip) -LBB15_92: +LBB14_92: WORD $0x394c; BYTE $0xe8 // cmpq %r13, %rax - LONG $0x0049830f; WORD $0x0000 // jae LBB15_98, $73(%rip) + LONG $0x0049830f; WORD $0x0000 // jae LBB14_98, $73(%rip) LONG $0x09ff8040 // cmpb $9, %dil - LONG $0x003f870f; WORD $0x0000 // ja LBB15_98, $63(%rip) + LONG $0x003f870f; WORD $0x0000 // ja LBB14_98, $63(%rip) LONG $0xff4d8d4d // leaq $-1(%r13), %r9 WORD $0xff31 // xorl %edi, %edi -LBB15_95: +LBB14_95: WORD $0xfa89 // movl %edi, %edx LONG $0x2710ff81; WORD $0x0000 // cmpl $10000, %edi WORD $0x3c8d; BYTE $0x92 // leal (%rdx,%rdx,4), %edi @@ -5163,27 +4970,27 @@ LBB15_95: 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 $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 LBB15_95, $-52(%rip) - LONG $0x00000ae9; BYTE $0x00 // jmp LBB15_100, $10(%rip) + LONG $0xffcc820f; WORD $0xffff // jb LBB14_95, $-52(%rip) + LONG $0x00000ae9; BYTE $0x00 // jmp LBB14_100, $10(%rip) -LBB15_98: +LBB14_98: WORD $0xff31 // xorl %edi, %edi - LONG $0x000003e9; BYTE $0x00 // jmp LBB15_100, $3(%rip) + LONG $0x000003e9; BYTE $0x00 // jmp LBB14_100, $3(%rip) -LBB15_99: +LBB14_99: WORD $0x894c; BYTE $0xe8 // movq %r13, %rax -LBB15_100: +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 LBB15_62, $-705(%rip) + LONG $0xfffd3fe9; BYTE $0xff // jmp LBB14_62, $-705(%rip) WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 _vsigned: @@ -5199,72 +5006,72 @@ _vsigned: 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 $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 LBB16_5, $23(%rip) + 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 LBB16_1, $37(%rip) + LONG $0x0025830f; WORD $0x0000 // jae LBB15_1, $37(%rip) LONG $0x010c8a41 // movb (%r9,%rax), %cl LONG $0xffc0c749; WORD $0xffff; BYTE $0xff // movq $-1, %r8 -LBB16_5: +LBB15_5: WORD $0x798d; BYTE $0xd0 // leal $-48(%rcx), %edi LONG $0x0aff8040 // cmpb $10, %dil - LONG $0x001a820f; WORD $0x0000 // jb LBB16_7, $26(%rip) + 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 -LBB16_1: +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 -LBB16_7: +LBB15_7: WORD $0xf980; BYTE $0x30 // cmpb $48, %cl - LONG $0x0035850f; WORD $0x0000 // jne LBB16_12, $53(%rip) + 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 LBB16_11, $129(%rip) + 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 LBB16_11, $113(%rip) + 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 LBB16_11, $89(%rip) + LONG $0x0059830f; WORD $0x0000 // jae LBB15_11, $89(%rip) -LBB16_12: +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 -LBB16_13: +LBB15_13: WORD $0x3949; BYTE $0xc2 // cmpq %rax, %r10 - LONG $0x007f840f; WORD $0x0000 // je LBB16_23, $127(%rip) + 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 LBB16_18, $51(%rip) + LONG $0x0033870f; WORD $0x0000 // ja LBB15_18, $51(%rip) LONG $0x0ac96b48 // imulq $10, %rcx, %rcx - LONG $0x0013800f; WORD $0x0000 // jo LBB16_17, $19(%rip) + 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 LBB16_13, $-55(%rip) + LONG $0xffc9810f; WORD $0xffff // jno LBB15_13, $-55(%rip) -LBB16_17: +LBB15_17: WORD $0xff48; BYTE $0xc8 // decq %rax WORD $0x8948; BYTE $0x06 // movq %rax, (%rsi) LONG $0xfb02c748; WORD $0xffff; BYTE $0xff // movq $-5, (%rdx) @@ -5272,34 +5079,34 @@ LBB16_17: BYTE $0x5d // popq %rbp BYTE $0xc3 // retq -LBB16_11: +LBB15_11: WORD $0x8948; BYTE $0x3e // movq %rdi, (%rsi) BYTE $0x5b // popq %rbx BYTE $0x5d // popq %rbp BYTE $0xc3 // retq -LBB16_18: +LBB15_18: WORD $0x394c; BYTE $0xd8 // cmpq %r11, %rax - LONG $0x002f830f; WORD $0x0000 // jae LBB16_22, $47(%rip) + 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 LBB16_25, $20(%rip) + LONG $0x0014840f; WORD $0x0000 // je LBB15_25, $20(%rip) LONG $0x45ff8040 // cmpb $69, %dil - LONG $0x000a840f; WORD $0x0000 // je LBB16_25, $10(%rip) + LONG $0x000a840f; WORD $0x0000 // je LBB15_25, $10(%rip) LONG $0x65ff8040 // cmpb $101, %dil - LONG $0x000d850f; WORD $0x0000 // jne LBB16_22, $13(%rip) + LONG $0x000d850f; WORD $0x0000 // jne LBB15_22, $13(%rip) -LBB16_25: +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 -LBB16_22: +LBB15_22: WORD $0x8949; BYTE $0xc2 // movq %rax, %r10 -LBB16_23: +LBB15_23: WORD $0x894c; BYTE $0x16 // movq %r10, (%rsi) LONG $0x104a8948 // movq %rcx, $16(%rdx) BYTE $0x5b // popq %rbx @@ -5321,61 +5128,61 @@ _vunsigned: 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 $0x0019830f; WORD $0x0000 // jae LBB16_1, $25(%rip) LONG $0x09048a41 // movb (%r9,%rcx), %al WORD $0x2d3c // cmpb $45, %al - LONG $0x001a850f; WORD $0x0000 // jne LBB17_4, $26(%rip) + LONG $0x001a850f; WORD $0x0000 // jne LBB16_4, $26(%rip) -LBB17_3: +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 -LBB17_1: +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 -LBB17_4: +LBB16_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) + 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 -LBB17_6: +LBB16_6: WORD $0x303c // cmpb $48, %al - LONG $0x0026850f; WORD $0x0000 // jne LBB17_7, $38(%rip) + 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 LBB17_16, $182(%rip) + 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 LBB17_16, $159(%rip) + LONG $0x009f830f; WORD $0x0000 // jae LBB16_16, $159(%rip) -LBB17_7: +LBB16_7: WORD $0xc031 // xorl %eax, %eax LONG $0x000aba41; WORD $0x0000 // movl $10, %r10d QUAD $0x9090909090909090; BYTE $0x90 // .p2align 4, 0x90 -LBB17_8: +LBB16_8: WORD $0x3949; BYTE $0xcb // cmpq %rcx, %r11 - LONG $0x007b840f; WORD $0x0000 // je LBB17_22, $123(%rip) + 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 LBB17_17, $63(%rip) + LONG $0x003f870f; WORD $0x0000 // ja LBB16_17, $63(%rip) WORD $0xf749; BYTE $0xe2 // mulq %r10 - LONG $0x0026800f; WORD $0x0000 // jo LBB17_13, $38(%rip) + 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 @@ -5384,11 +5191,11 @@ LBB17_8: 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) + LONG $0x0009850f; WORD $0x0000 // jne LBB16_13, $9(%rip) WORD $0x8548; BYTE $0xd2 // testq %rdx, %rdx - LONG $0xffb7890f; WORD $0xffff // jns LBB17_8, $-73(%rip) + LONG $0xffb7890f; WORD $0xffff // jns LBB16_8, $-73(%rip) -LBB17_13: +LBB16_13: WORD $0xff48; BYTE $0xc9 // decq %rcx WORD $0x8948; BYTE $0x0e // movq %rcx, (%rsi) LONG $0xfb00c749; WORD $0xffff; BYTE $0xff // movq $-5, (%r8) @@ -5396,28 +5203,28 @@ LBB17_13: BYTE $0x5d // popq %rbp BYTE $0xc3 // retq -LBB17_17: +LBB16_17: WORD $0x394c; BYTE $0xd9 // cmpq %r11, %rcx - LONG $0x001f830f; WORD $0x0000 // jae LBB17_21, $31(%rip) + 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 LBB17_3, $-225(%rip) + LONG $0xff1f840f; WORD $0xffff // je LBB16_3, $-225(%rip) WORD $0xfa80; BYTE $0x45 // cmpb $69, %dl - LONG $0xff16840f; WORD $0xffff // je LBB17_3, $-234(%rip) + LONG $0xff16840f; WORD $0xffff // je LBB16_3, $-234(%rip) WORD $0xfa80; BYTE $0x65 // cmpb $101, %dl - LONG $0xff0d840f; WORD $0xffff // je LBB17_3, $-243(%rip) + LONG $0xff0d840f; WORD $0xffff // je LBB16_3, $-243(%rip) -LBB17_21: +LBB16_21: WORD $0x8949; BYTE $0xcb // movq %rcx, %r11 -LBB17_22: +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 -LBB17_16: +LBB16_16: WORD $0xff48; BYTE $0xc1 // incq %rcx WORD $0x8948; BYTE $0x0e // movq %rcx, (%rsi) BYTE $0x5b // popq %rbx @@ -5425,7 +5232,7 @@ LBB17_16: BYTE $0xc3 // retq QUAD $0x0000000000000000; BYTE $0x00 // .p2align 4, 0x00 -LCPI18_0: +LCPI17_0: QUAD $0x0000000000000001 // .quad 1 QUAD $0x0000000000000005 // .quad 5 @@ -5436,7 +5243,7 @@ _skip_array: 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) */ + 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 @@ -5454,565 +5261,657 @@ _fsm_exec: LONG $0x28ec8348 // subq $40, %rsp LONG $0xb84d8948 // movq %rcx, $-72(%rbp) LONG $0x003f8348 // cmpq $0, (%rdi) - LONG $0x0423840f; WORD $0x0000 // je LBB19_2, $1059(%rip) + LONG $0x0591840f; WORD $0x0000 // je LBB18_76, $1425(%rip) WORD $0x8949; BYTE $0xd0 // movq %rdx, %r8 - WORD $0x8949; BYTE $0xfd // movq %rdi, %r13 - LONG $0xc8758948 // movq %rsi, $-56(%rbp) + WORD $0x8949; BYTE $0xfc // movq %rdi, %r12 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) + 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) -LBB19_3: - LONG $0x03488d48 // leaq $3(%rax), %rcx - WORD $0x8949; BYTE $0x08 // movq %rcx, (%r8) - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x043f8e0f; WORD $0x0000 // jle LBB19_60, $1087(%rip) - WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 +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 -LBB19_38: - LONG $0x00558b49 // movq (%r13), %rdx - WORD $0x894d; BYTE $0xe6 // movq %r12, %r14 - WORD $0x8548; BYTE $0xd2 // testq %rdx, %rdx - LONG $0x0447840f; WORD $0x0000 // je LBB19_63, $1095(%rip) +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 -LBB19_4: - LONG $0xc85d8b48 // movq $-56(%rbp), %rbx - WORD $0x8b48; BYTE $0x3b // movq (%rbx), %rdi - LONG $0x08738b48 // movq $8(%rbx), %rsi - WORD $0x894d; BYTE $0xc7 // movq %r8, %r15 - WORD $0x894c; BYTE $0xc2 // movq %r8, %rdx - LONG $0xffedaae8; BYTE $0xff // callq _advance_ns, $-4694(%rip) - WORD $0xc084 // testb %al, %al - LONG $0x03c4840f; WORD $0x0000 // je LBB19_2, $964(%rip) - LONG $0x004d8b49 // movq (%r13), %rcx - LONG $0xcd7c8b41; BYTE $0x00 // movl (%r13,%rcx,8), %edi - LONG $0xfffc8349 // cmpq $-1, %r12 - WORD $0x894d; BYTE $0xf8 // movq %r15, %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: - LONG $0xc8be0f44 // movsbl %al, %r9d - LONG $0xff518d48 // leaq $-1(%rcx), %rdx - WORD $0xcfff // decl %edi - WORD $0xff83; BYTE $0x05 // cmpl $5, %edi - LONG $0x0039870f; WORD $0x0000 // ja LBB19_12, $57(%rip) - LONG $0x04358d48; WORD $0x0005; BYTE $0x00 // leaq $1284(%rip), %rsi /* LJTI19_0(%rip) */ - LONG $0xbe3c6348 // movslq (%rsi,%rdi,4), %rdi - WORD $0x0148; BYTE $0xf7 // addq %rsi, %rdi - JMP DI - -LBB19_9: - LONG $0x2cf98341 // cmpl $44, %r9d - LONG $0x018a840f; WORD $0x0000 // je LBB19_30, $394(%rip) - LONG $0x5df98341 // cmpl $93, %r9d - LONG $0x03cf850f; WORD $0x0000 // jne LBB19_62, $975(%rip) - LONG $0x00558949 // movq %rdx, (%r13) - WORD $0x894d; BYTE $0xe6 // movq %r12, %r14 - WORD $0x8548; BYTE $0xd2 // testq %rdx, %rdx - LONG $0xff7f850f; WORD $0xffff // jne LBB19_4, $-129(%rip) - LONG $0x0003c1e9; BYTE $0x00 // jmp LBB19_63, $961(%rip) +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 -LBB19_12: - LONG $0x00558949 // movq %rdx, (%r13) - LONG $0x7bf98341 // cmpl $123, %r9d - LONG $0x00ef860f; WORD $0x0000 // jbe LBB19_28, $239(%rip) - LONG $0x0003a7e9; BYTE $0x00 // jmp LBB19_62, $935(%rip) - -LBB19_13: - LONG $0x2cf98341 // cmpl $44, %r9d - LONG $0x0171840f; WORD $0x0000 // je LBB19_32, $369(%rip) - LONG $0x7df98341 // cmpl $125, %r9d - LONG $0x0393850f; WORD $0x0000 // jne LBB19_62, $915(%rip) - LONG $0x00558949 // movq %rdx, (%r13) - WORD $0x894d; BYTE $0xe6 // movq %r12, %r14 - WORD $0x8548; BYTE $0xd2 // testq %rdx, %rdx - LONG $0xff43850f; WORD $0xffff // jne LBB19_4, $-189(%rip) - LONG $0x000385e9; BYTE $0x00 // jmp LBB19_63, $901(%rip) - -LBB19_16: - WORD $0x223c // cmpb $34, %al - LONG $0x0376850f; WORD $0x0000 // jne LBB19_62, $886(%rip) - QUAD $0x00000400cd44c749; BYTE $0x00 // movq $4, (%r13,%rcx,8) - QUAD $0xffffffffd045c748 // movq $-1, $-48(%rbp) - WORD $0x8b4d; BYTE $0x38 // movq (%r8), %r15 - WORD $0x8948; BYTE $0xdf // movq %rbx, %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 $0xffeffce8; BYTE $0xff // callq _advance_string, $-4100(%rip) - WORD $0x8949; BYTE $0xc6 // movq %rax, %r14 - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x02fa880f; WORD $0x0000 // js LBB19_54, $762(%rip) - WORD $0x894c; BYTE $0x33 // movq %r14, (%rbx) - WORD $0x854d; BYTE $0xff // testq %r15, %r15 - WORD $0x8949; BYTE $0xd8 // movq %rbx, %r8 - LONG $0xfee18f0f; WORD $0xffff // jg LBB19_38, $-287(%rip) - LONG $0x0002fee9; BYTE $0x00 // jmp LBB19_55, $766(%rip) +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 -LBB19_20: - WORD $0x3a3c // cmpb $58, %al - LONG $0x0324850f; WORD $0x0000 // jne LBB19_62, $804(%rip) - QUAD $0x00000000cd44c749; BYTE $0x00 // movq $0, (%r13,%rcx,8) - LONG $0xfffec6e9; BYTE $0xff // jmp LBB19_38, $-314(%rip) +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 -LBB19_22: - WORD $0x5d3c // cmpb $93, %al - LONG $0x003e850f; WORD $0x0000 // jne LBB19_27, $62(%rip) - LONG $0x00558949 // movq %rdx, (%r13) - WORD $0x894d; BYTE $0xe6 // movq %r12, %r14 - WORD $0x8548; BYTE $0xd2 // testq %rdx, %rdx - LONG $0xfebe850f; WORD $0xffff // jne LBB19_4, $-322(%rip) - LONG $0x000300e9; BYTE $0x00 // jmp LBB19_63, $768(%rip) - -LBB19_24: - LONG $0x22f98341 // cmpl $34, %r9d - LONG $0x00e6840f; WORD $0x0000 // je LBB19_34, $230(%rip) - LONG $0x7df98341 // cmpl $125, %r9d - LONG $0x02e5850f; WORD $0x0000 // jne LBB19_62, $741(%rip) - LONG $0x00558949 // movq %rdx, (%r13) - WORD $0x894d; BYTE $0xe6 // movq %r12, %r14 - WORD $0x8548; BYTE $0xd2 // testq %rdx, %rdx - LONG $0xfe95850f; WORD $0xffff // jne LBB19_4, $-363(%rip) - LONG $0x0002d7e9; BYTE $0x00 // jmp LBB19_63, $727(%rip) +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 -LBB19_27: - QUAD $0x00000100cd44c749; BYTE $0x00 // movq $1, (%r13,%rcx,8) - LONG $0x7bf98341 // cmpl $123, %r9d - LONG $0x02bd870f; WORD $0x0000 // ja LBB19_62, $701(%rip) +LBB18_26: + WORD $0x0148; BYTE $0xfb // addq %rdi, %rbx -LBB19_28: - WORD $0x8944; BYTE $0xc8 // movl %r9d, %eax - LONG $0xe30d8d48; WORD $0x0003; BYTE $0x00 // leaq $995(%rip), %rcx /* LJTI19_1(%rip) */ +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 - LONG $0xffc6c749; WORD $0xffff; BYTE $0xff // movq $-1, %r14 JMP AX -LBB19_29: +LBB18_52: WORD $0x8b49; BYTE $0x18 // movq (%r8), %rbx - LONG $0xff738d4c // leaq $-1(%rbx), %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 $0x000726e8; BYTE $0x00 // callq _do_skip_number, $1830(%rip) - WORD $0x894d; BYTE $0xf8 // movq %r15, %r8 + 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 $0xf0480f4c // cmovsq %rax, %r14 + LONG $0xf8480f4c // cmovsq %rax, %r15 WORD $0x0148; BYTE $0xda // addq %rbx, %rdx - WORD $0x8949; BYTE $0x17 // movq %rdx, (%r15) - WORD $0x854d; BYTE $0xf6 // testq %r14, %r14 - LONG $0xfe04890f; WORD $0xffff // jns LBB19_38, $-508(%rip) - LONG $0x000256e9; BYTE $0x00 // jmp LBB19_63, $598(%rip) + 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) -LBB19_30: - LONG $0xfff98148; WORD $0x000f; BYTE $0x00 // cmpq $4095, %rcx - LONG $0x01f08f0f; WORD $0x0000 // jg LBB19_56, $496(%rip) - LONG $0x01418d48 // leaq $1(%rcx), %rax - LONG $0x00458949 // movq %rax, (%r13) - QUAD $0x00000008cd44c749; BYTE $0x00 // movq $0, $8(%r13,%rcx,8) - LONG $0xfffddce9; BYTE $0xff // jmp LBB19_38, $-548(%rip) - -LBB19_32: - LONG $0xfff98148; WORD $0x000f; BYTE $0x00 // cmpq $4095, %rcx - LONG $0x01cd8f0f; WORD $0x0000 // jg LBB19_56, $461(%rip) - LONG $0x01418d48 // leaq $1(%rcx), %rax - LONG $0x00458949 // movq %rax, (%r13) - QUAD $0x00000308cd44c749; BYTE $0x00 // movq $3, $8(%r13,%rcx,8) - LONG $0xfffdb9e9; BYTE $0xff // jmp LBB19_38, $-583(%rip) - -LBB19_34: - QUAD $0x00000200cd44c749; BYTE $0x00 // movq $2, (%r13,%rcx,8) - QUAD $0xffffffffd045c748 // movq $-1, $-48(%rbp) - WORD $0x8b4d; BYTE $0x38 // movq (%r8), %r15 - WORD $0x8948; BYTE $0xdf // movq %rbx, %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 $0xffee8fe8; BYTE $0xff // callq _advance_string, $-4465(%rip) - WORD $0x8949; BYTE $0xc6 // movq %rax, %r14 - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x018d880f; WORD $0x0000 // js LBB19_54, $397(%rip) - WORD $0x894c; BYTE $0x33 // movq %r14, (%rbx) - WORD $0x854d; BYTE $0xff // testq %r15, %r15 - LONG $0x01998e0f; WORD $0x0000 // jle LBB19_55, $409(%rip) - LONG $0x00458b49 // movq (%r13), %rax - LONG $0x0fff3d48; WORD $0x0000 // cmpq $4095, %rax - LONG $0x01658f0f; WORD $0x0000 // jg LBB19_56, $357(%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 $0xfffd4ee9; BYTE $0xff // jmp LBB19_38, $-690(%rip) - -LBB19_39: - QUAD $0xffffffffd045c748 // movq $-1, $-48(%rbp) - WORD $0x8b4d; BYTE $0x38 // movq (%r8), %r15 - LONG $0xc87d8b48 // movq $-56(%rbp), %rdi - LONG $0xfffe2be9; BYTE $0xff // jmp LBB19_18, $-469(%rip) - -LBB19_40: - 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 $0x00060ee8; BYTE $0x00 // callq _do_skip_number, $1550(%rip) - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x015c880f; WORD $0x0000 // js LBB19_61, $348(%rip) - WORD $0x014c; BYTE $0xf0 // addq %r14, %rax - WORD $0x8948; BYTE $0x03 // movq %rax, (%rbx) - WORD $0x854d; BYTE $0xf6 // testq %r14, %r14 - WORD $0x8949; BYTE $0xd8 // movq %rbx, %r8 - LONG $0xfd038f0f; WORD $0xffff // jg LBB19_38, $-765(%rip) - LONG $0x00020ce9; BYTE $0x00 // jmp LBB19_75, $524(%rip) - -LBB19_42: - LONG $0x00458b49 // movq (%r13), %rax - LONG $0x0fff3d48; WORD $0x0000 // cmpq $4095, %rax - LONG $0x00ec8f0f; WORD $0x0000 // jg LBB19_56, $236(%rip) - LONG $0x01488d48 // leaq $1(%rax), %rcx - LONG $0x004d8949 // movq %rcx, (%r13) - QUAD $0x00000508c544c749; BYTE $0x00 // movq $5, $8(%r13,%rax,8) - LONG $0xfffcd8e9; BYTE $0xff // jmp LBB19_38, $-808(%rip) - -LBB19_44: +LBB18_66: WORD $0x8b49; BYTE $0x00 // movq (%r8), %rax - LONG $0xc04d8b48 // movq $-64(%rbp), %rcx + 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 $0x00ee870f; WORD $0x0000 // ja LBB19_59, $238(%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 $0x01c1850f; WORD $0x0000 // jne LBB19_76, $449(%rip) + 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 $0xfc9b8f0f; WORD $0xffff // jg LBB19_38, $-869(%rip) - LONG $0x0000d2e9; BYTE $0x00 // jmp LBB19_60, $210(%rip) + LONG $0xfb328f0f; WORD $0xffff // jg LBB18_61, $-1230(%rip) + LONG $0x0000cde9; BYTE $0x00 // jmp LBB18_83, $205(%rip) -LBB19_47: +LBB18_69: WORD $0x8b49; BYTE $0x00 // movq (%r8), %rax - LONG $0xc04d8b48 // movq $-64(%rbp), %rcx + 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 $0x00ac870f; WORD $0x0000 // ja LBB19_59, $172(%rip) - LONG $0xc84d8b48 // movq $-56(%rbp), %rcx - WORD $0x8b48; BYTE $0x09 // movq (%rcx), %rcx - QUAD $0x6c6c756eff017c81 // cmpl $1819047278, $-1(%rcx,%rax) - LONG $0xfc57840f; WORD $0xffff // je LBB19_3, $-937(%rip) - LONG $0x0000cee9; BYTE $0x00 // jmp LBB19_66, $206(%rip) + 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) -LBB19_49: +LBB18_71: WORD $0x8b49; BYTE $0x00 // movq (%r8), %rax - LONG $0xc04d8b48 // movq $-64(%rbp), %rcx + 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 $0x007b870f; WORD $0x0000 // ja LBB19_59, $123(%rip) - LONG $0xc84d8b48 // movq $-56(%rbp), %rcx - WORD $0x8b48; BYTE $0x09 // movq (%rcx), %rcx - QUAD $0x65757274ff017c81 // cmpl $1702195828, $-1(%rcx,%rax) - LONG $0xfc26840f; WORD $0xffff // je LBB19_3, $-986(%rip) - LONG $0x0000ece9; BYTE $0x00 // jmp LBB19_70, $236(%rip) + 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) -LBB19_51: - LONG $0x00458b49 // movq (%r13), %rax +LBB18_73: + LONG $0x24048b49 // movq (%r12), %rax LONG $0x0fff3d48; WORD $0x0000 // cmpq $4095, %rax - LONG $0x00228f0f; WORD $0x0000 // jg LBB19_56, $34(%rip) + LONG $0x00328f0f; WORD $0x0000 // jg LBB18_80, $50(%rip) LONG $0x01488d48 // leaq $1(%rax), %rcx - LONG $0x004d8949 // movq %rcx, (%r13) - QUAD $0x00000608c544c749; BYTE $0x00 // movq $6, $8(%r13,%rax,8) - LONG $0xfffc0ee9; BYTE $0xff // jmp LBB19_38, $-1010(%rip) + LONG $0x240c8949 // movq %rcx, (%r12) + QUAD $0x00000608c444c749; BYTE $0x00 // movq $6, $8(%r12,%rax,8) + LONG $0xfffab3e9; BYTE $0xff // jmp LBB18_61, $-1357(%rip) -LBB19_2: - LONG $0xffc6c749; WORD $0xffff; BYTE $0xff // movq $-1, %r14 - LONG $0x000059e9; BYTE $0x00 // jmp LBB19_63, $89(%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 -LBB19_56: - LONG $0xf9c6c749; WORD $0xffff; BYTE $0xff // movq $-7, %r14 - LONG $0x00004de9; BYTE $0x00 // jmp LBB19_63, $77(%rip) +LBB18_80: + LONG $0xf9c7c749; WORD $0xffff; BYTE $0xff // movq $-7, %r15 + LONG $0xffffe2e9; BYTE $0xff // jmp LBB18_77, $-30(%rip) -LBB19_54: - LONG $0xfffe8349 // cmpq $-1, %r14 - LONG $0xd0458d48 // leaq $-48(%rbp), %rax - LONG $0x45440f48; BYTE $0xc0 // cmoveq $-64(%rbp), %rax +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 $0x000035e9; BYTE $0x00 // jmp LBB19_63, $53(%rip) + LONG $0xffffcae9; BYTE $0xff // jmp LBB18_77, $-54(%rip) -LBB19_55: - WORD $0xff49; BYTE $0xcf // decq %r15 - WORD $0x894d; BYTE $0xfe // movq %r15, %r14 - LONG $0x00002ae9; BYTE $0x00 // jmp LBB19_63, $42(%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) -LBB19_59: - WORD $0x8949; BYTE $0x08 // movq %rcx, (%r8) - LONG $0xffc6c749; WORD $0xffff; BYTE $0xff // movq $-1, %r14 - LONG $0x00001be9; BYTE $0x00 // jmp LBB19_63, $27(%rip) +LBB18_88: + WORD $0x8949; BYTE $0x08 // movq %rcx, (%r8) + LONG $0xffffb7e9; BYTE $0xff // jmp LBB18_77, $-73(%rip) -LBB19_60: +LBB18_83: WORD $0xff48; BYTE $0xc8 // decq %rax - WORD $0x8949; BYTE $0xc6 // movq %rax, %r14 - LONG $0x000010e9; BYTE $0x00 // jmp LBB19_63, $16(%rip) + WORD $0x8949; BYTE $0xc7 // movq %rax, %r15 + LONG $0xfffface9; BYTE $0xff // jmp LBB18_77, $-84(%rip) -LBB19_61: +LBB18_84: WORD $0xf748; BYTE $0xd0 // notq %rax - WORD $0x0149; BYTE $0xc6 // addq %rax, %r14 - WORD $0x894c; BYTE $0x33 // movq %r14, (%rbx) + WORD $0x0149; BYTE $0xc7 // addq %rax, %r15 + WORD $0x894c; BYTE $0x3b // movq %r15, (%rbx) -LBB19_62: - LONG $0xfec6c749; WORD $0xffff; BYTE $0xff // movq $-2, %r14 +LBB18_85: + LONG $0xfec7c749; WORD $0xffff; BYTE $0xff // movq $-2, %r15 + LONG $0xffff97e9; BYTE $0xff // jmp LBB18_77, $-105(%rip) -LBB19_63: - 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 +LBB18_91: + WORD $0xff49; BYTE $0xcf // decq %r15 + LONG $0xffff8fe9; BYTE $0xff // jmp LBB18_77, $-113(%rip) -LBB19_66: - 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 $0xffd5850f; WORD $0xffff // jne LBB19_63, $-43(%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 $0x75013c80 // cmpb $117, (%rcx,%rax) - LONG $0xffc8850f; WORD $0xffff // jne LBB19_63, $-56(%rip) - LONG $0x01508d48 // leaq $1(%rax), %rdx - WORD $0x8949; BYTE $0x10 // movq %rdx, (%r8) - LONG $0x01017c80; BYTE $0x6c // cmpb $108, $1(%rcx,%rax) - LONG $0xffb6850f; WORD $0xffff // jne LBB19_63, $-74(%rip) - LONG $0x02508d48 // leaq $2(%rax), %rdx - WORD $0x8949; BYTE $0x10 // movq %rdx, (%r8) - LONG $0x02017c80; BYTE $0x6c // cmpb $108, $2(%rcx,%rax) - LONG $0xffa4850f; WORD $0xffff // jne LBB19_63, $-92(%rip) - LONG $0x00004ae9; BYTE $0x00 // jmp LBB19_74, $74(%rip) - -LBB19_70: - 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 $0xff86850f; WORD $0xffff // jne LBB19_63, $-122(%rip) + 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 $0x72013c80 // cmpb $114, (%rcx,%rax) - LONG $0xff79850f; WORD $0xffff // jne LBB19_63, $-135(%rip) - LONG $0x01508d48 // leaq $1(%rax), %rdx - WORD $0x8949; BYTE $0x10 // movq %rdx, (%r8) - LONG $0x01017c80; BYTE $0x75 // cmpb $117, $1(%rcx,%rax) - LONG $0xff67850f; WORD $0xffff // jne LBB19_63, $-153(%rip) - LONG $0x02508d48 // leaq $2(%rax), %rdx - WORD $0x8949; BYTE $0x10 // movq %rdx, (%r8) - LONG $0x02017c80; BYTE $0x65 // cmpb $101, $2(%rcx,%rax) - LONG $0xff55850f; WORD $0xffff // jne LBB19_63, $-171(%rip) - -LBB19_74: + 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 $0xffff49e9; BYTE $0xff // jmp LBB19_63, $-183(%rip) - -LBB19_75: - WORD $0xff49; BYTE $0xce // decq %r14 - LONG $0xffff41e9; BYTE $0xff // jmp LBB19_63, $-191(%rip) - -LBB19_76: - LONG $0xfec6c749; WORD $0xffff; BYTE $0xff // movq $-2, %r14 - WORD $0xfa80; BYTE $0x61 // cmpb $97, %dl - LONG $0xff31850f; WORD $0xffff // jne LBB19_63, $-207(%rip) - LONG $0x01508d48 // leaq $1(%rax), %rdx - WORD $0x8949; BYTE $0x10 // movq %rdx, (%r8) - LONG $0x01017c80; BYTE $0x6c // cmpb $108, $1(%rcx,%rax) - LONG $0xff1f850f; WORD $0xffff // jne LBB19_63, $-225(%rip) - LONG $0x02508d48 // leaq $2(%rax), %rdx - WORD $0x8949; BYTE $0x10 // movq %rdx, (%r8) - LONG $0x02017c80; BYTE $0x73 // cmpb $115, $2(%rcx,%rax) - LONG $0xff0d850f; WORD $0xffff // jne LBB19_63, $-243(%rip) - LONG $0x03508d48 // leaq $3(%rax), %rdx - WORD $0x8949; BYTE $0x10 // movq %rdx, (%r8) - LONG $0x03017c80; BYTE $0x65 // cmpb $101, $3(%rcx,%rax) - LONG $0xfefb850f; WORD $0xffff // jne LBB19_63, $-261(%rip) - LONG $0x04c08348 // addq $4, %rax - WORD $0x8949; BYTE $0x00 // movq %rax, (%r8) - LONG $0xfffeefe9; BYTE $0xff // jmp LBB19_63, $-273(%rip) - - // .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 $0xfffffb05 // .long L19_0_set_9 - LONG $0xfffffb41 // .long L19_0_set_13 - LONG $0xfffffb6a // .long L19_0_set_16 - LONG $0xfffffbbc // .long L19_0_set_20 - LONG $0xfffffbd2 // .long L19_0_set_22 - LONG $0xfffffbef // .long L19_0_set_24 - - // .set L19_1_set_63, LBB19_63-LJTI19_1 - // .set L19_1_set_62, LBB19_62-LJTI19_1 - // .set L19_1_set_39, LBB19_39-LJTI19_1 - // .set L19_1_set_40, LBB19_40-LJTI19_1 - // .set L19_1_set_29, LBB19_29-LJTI19_1 - // .set L19_1_set_42, LBB19_42-LJTI19_1 - // .set L19_1_set_44, LBB19_44-LJTI19_1 - // .set L19_1_set_47, LBB19_47-LJTI19_1 - // .set L19_1_set_49, LBB19_49-LJTI19_1 - // .set L19_1_set_51, LBB19_51-LJTI19_1 -LJTI19_1: - LONG $0xfffffed7 // .long L19_1_set_63 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffd32 // .long L19_1_set_39 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffd46 // .long L19_1_set_40 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffc2d // .long L19_1_set_29 - LONG $0xfffffc2d // .long L19_1_set_29 - LONG $0xfffffc2d // .long L19_1_set_29 - LONG $0xfffffc2d // .long L19_1_set_29 - LONG $0xfffffc2d // .long L19_1_set_29 - LONG $0xfffffc2d // .long L19_1_set_29 - LONG $0xfffffc2d // .long L19_1_set_29 - LONG $0xfffffc2d // .long L19_1_set_29 - LONG $0xfffffc2d // .long L19_1_set_29 - LONG $0xfffffc2d // .long L19_1_set_29 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffd82 // .long L19_1_set_42 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffda8 // .long L19_1_set_44 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffdea // .long L19_1_set_47 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffe1b // .long L19_1_set_49 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffe4c // .long L19_1_set_51 + 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 - // .p2align 4, 0x00 -LCPI20_0: +LCPI19_0: QUAD $0x0000000000000001 // .quad 1 QUAD $0x0000000000000006 // .quad 6 @@ -6023,11 +5922,11 @@ _skip_object: 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) */ + 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 $0xfff80ee9; BYTE $0xff // jmp _fsm_exec, $-2034(%rip) + LONG $0xfff69ee9; BYTE $0xff // jmp _fsm_exec, $-2402(%rip) QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 _skip_string: @@ -6046,21 +5945,21 @@ _skip_string: LONG $0xd8658d4c // leaq $-40(%rbp), %r12 WORD $0x8948; BYTE $0xde // movq %rbx, %rsi WORD $0x894c; BYTE $0xe2 // movq %r12, %rdx - LONG $0xffe91ee8; BYTE $0xff // callq _advance_string, $-5858(%rip) + LONG $0xffe7aee8; BYTE $0xff // callq _advance_string, $-6226(%rip) WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x000e880f; WORD $0x0000 // js LBB21_1, $14(%rip) + 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 LBB21_3, $16(%rip) + LONG $0x000010e9; BYTE $0x00 // jmp LBB20_3, $16(%rip) -LBB21_1: +LBB20_1: LONG $0x08c78349 // addq $8, %r15 LONG $0xfff88348 // cmpq $-1, %rax LONG $0xe7440f4d // cmoveq %r15, %r12 LONG $0x240c8b49 // movq (%r12), %rcx -LBB21_3: +LBB20_3: WORD $0x8949; BYTE $0x0e // movq %rcx, (%r14) LONG $0x10c48348 // addq $16, %rsp BYTE $0x5b // popq %rbx @@ -6085,19 +5984,19 @@ _skip_negative: 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 LBB22_1, $14(%rip) + 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 LBB22_3, $16(%rip) + LONG $0x000010e9; BYTE $0x00 // jmp LBB21_3, $16(%rip) -LBB22_1: +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 -LBB22_3: +LBB21_3: WORD $0x8948; BYTE $0xd8 // movq %rbx, %rax BYTE $0x5b // popq %rbx WORD $0x5e41 // popq %r14 @@ -6105,25 +6004,25 @@ LBB22_3: BYTE $0xc3 // retq QUAD $0x0000000000000000; LONG $0x00000000; WORD $0x0000; BYTE $0x00 // .p2align 4, 0x00 -LCPI23_0: +LCPI22_0: QUAD $0x2f2f2f2f2f2f2f2f; QUAD $0x2f2f2f2f2f2f2f2f // .space 16, '////////////////' -LCPI23_1: +LCPI22_1: QUAD $0x3a3a3a3a3a3a3a3a; QUAD $0x3a3a3a3a3a3a3a3a // .space 16, '::::::::::::::::' -LCPI23_2: +LCPI22_2: QUAD $0x2b2b2b2b2b2b2b2b; QUAD $0x2b2b2b2b2b2b2b2b // .space 16, '++++++++++++++++' -LCPI23_3: +LCPI22_3: QUAD $0x2d2d2d2d2d2d2d2d; QUAD $0x2d2d2d2d2d2d2d2d // .space 16, '----------------' -LCPI23_4: +LCPI22_4: QUAD $0xdfdfdfdfdfdfdfdf; QUAD $0xdfdfdfdfdfdfdfdf // .space 16, '\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf' -LCPI23_5: +LCPI22_5: QUAD $0x2e2e2e2e2e2e2e2e; QUAD $0x2e2e2e2e2e2e2e2e // .space 16, '................' -LCPI23_6: +LCPI22_6: QUAD $0x4545454545454545; QUAD $0x4545454545454545 // .space 16, 'EEEEEEEEEEEEEEEE' // .p2align 4, 0x90 @@ -6134,39 +6033,39 @@ _do_skip_number: WORD $0x5641 // pushq %r14 BYTE $0x53 // pushq %rbx WORD $0x8548; BYTE $0xf6 // testq %rsi, %rsi - LONG $0x0248840f; WORD $0x0000 // je LBB23_34, $584(%rip) + LONG $0x0248840f; WORD $0x0000 // je LBB22_34, $584(%rip) WORD $0x3f80; BYTE $0x30 // cmpb $48, (%rdi) - LONG $0x0033850f; WORD $0x0000 // jne LBB23_5, $51(%rip) + 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 LBB23_52, $769(%rip) + 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 LBB23_52, $756(%rip) + 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 LBB23_52, $733(%rip) + LONG $0x02dd830f; WORD $0x0000 // jae LBB22_52, $733(%rip) -LBB23_5: +LBB22_5: LONG $0x10fe8348 // cmpq $16, %rsi - LONG $0x02fd820f; WORD $0x0000 // jb LBB23_57, $765(%rip) + LONG $0x02fd820f; WORD $0x0000 // jb LBB22_57, $765(%rip) LONG $0xffc1c749; WORD $0xffff; BYTE $0xff // movq $-1, %r9 - QUAD $0xffffff29056f79c5 // vmovdqa $-215(%rip), %xmm8 /* LCPI23_0(%rip) */ - QUAD $0xffffff310d6f79c5 // vmovdqa $-207(%rip), %xmm9 /* LCPI23_1(%rip) */ - QUAD $0xffffff39156f79c5 // vmovdqa $-199(%rip), %xmm10 /* LCPI23_2(%rip) */ - QUAD $0xffffff411d6f79c5 // vmovdqa $-191(%rip), %xmm11 /* LCPI23_3(%rip) */ - QUAD $0xffffff49256ff9c5 // vmovdqa $-183(%rip), %xmm4 /* LCPI23_4(%rip) */ - QUAD $0xffffff512d6ff9c5 // vmovdqa $-175(%rip), %xmm5 /* LCPI23_5(%rip) */ - QUAD $0xffffff59356ff9c5 // vmovdqa $-167(%rip), %xmm6 /* LCPI23_6(%rip) */ + 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 -LBB23_7: +LBB22_7: LONG $0x6f7ac1c4; BYTE $0x3a // vmovdqu (%r10), %xmm7 LONG $0x6441c1c4; BYTE $0xc0 // vpcmpgtb %xmm8, %xmm7, %xmm0 LONG $0xcf64b1c5 // vpcmpgtb %xmm7, %xmm9, %xmm1 @@ -6187,7 +6086,7 @@ LBB23_7: 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_9, $20(%rip) + 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 @@ -6196,270 +6095,270 @@ LBB23_7: WORD $0x2144; BYTE $0xf3 // andl %r14d, %ebx WORD $0x8941; BYTE $0xde // movl %ebx, %r14d -LBB23_9: +LBB22_9: WORD $0x5a8d; BYTE $0xff // leal $-1(%rdx), %ebx WORD $0xd321 // andl %edx, %ebx - LONG $0x01fa850f; WORD $0x0000 // jne LBB23_50, $506(%rip) + 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 LBB23_50, $493(%rip) + 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 LBB23_50, $480(%rip) + LONG $0x01e0850f; WORD $0x0000 // jne LBB22_50, $480(%rip) WORD $0xd285 // testl %edx, %edx - LONG $0x0019840f; WORD $0x0000 // je LBB23_15, $25(%rip) + 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 LBB23_51, $459(%rip) + LONG $0x01cb850f; WORD $0x0000 // jne LBB22_51, $459(%rip) WORD $0x8949; BYTE $0xd0 // movq %rdx, %r8 -LBB23_15: +LBB22_15: WORD $0x8545; BYTE $0xff // testl %r15d, %r15d - LONG $0x001a840f; WORD $0x0000 // je LBB23_18, $26(%rip) + 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 LBB23_51, $424(%rip) + LONG $0x01a8850f; WORD $0x0000 // jne LBB22_51, $424(%rip) WORD $0x8948; BYTE $0xd0 // movq %rdx, %rax -LBB23_18: +LBB22_18: WORD $0x8545; BYTE $0xf6 // testl %r14d, %r14d - LONG $0x001a840f; WORD $0x0000 // je LBB23_21, $26(%rip) + 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 LBB23_51, $389(%rip) + LONG $0x0185850f; WORD $0x0000 // jne LBB22_51, $389(%rip) WORD $0x8949; BYTE $0xd1 // movq %rdx, %r9 -LBB23_21: +LBB22_21: WORD $0xf983; BYTE $0x10 // cmpl $16, %ecx - LONG $0x00b7850f; WORD $0x0000 // jne LBB23_35, $183(%rip) + 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 LBB23_7, $-273(%rip) + LONG $0xfeef870f; WORD $0xffff // ja LBB22_7, $-273(%rip) WORD $0x8548; BYTE $0xf6 // testq %rsi, %rsi - LONG $0x009f840f; WORD $0x0000 // je LBB23_36, $159(%rip) + LONG $0x009f840f; WORD $0x0000 // je LBB22_36, $159(%rip) -LBB23_24: +LBB22_24: LONG $0x321c8d4d // leaq (%r10,%rsi), %r11 - LONG $0x9f1d8d48; WORD $0x0001; BYTE $0x00 // leaq $415(%rip), %rbx /* LJTI23_0(%rip) */ - LONG $0x000012e9; BYTE $0x00 // jmp LBB23_26, $18(%rip) + 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 -LBB23_25: +LBB22_25: WORD $0x8949; BYTE $0xca // movq %rcx, %r10 WORD $0xff48; BYTE $0xce // decq %rsi - LONG $0x0149840f; WORD $0x0000 // je LBB23_54, $329(%rip) + LONG $0x0149840f; WORD $0x0000 // je LBB22_54, $329(%rip) -LBB23_26: +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 LBB23_36, $109(%rip) + 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 -LBB23_28: +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 LBB23_58, $308(%rip) + 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 LBB23_25, $-68(%rip) + LONG $0xffffbce9; BYTE $0xff // jmp LBB22_25, $-68(%rip) -LBB23_30: +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 LBB23_58, $281(%rip) + 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 LBB23_25, $-95(%rip) + LONG $0xffffa1e9; BYTE $0xff // jmp LBB22_25, $-95(%rip) -LBB23_32: +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 LBB23_58, $254(%rip) + 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 LBB23_25, $-122(%rip) + LONG $0xffff86e9; BYTE $0xff // jmp LBB22_25, $-122(%rip) -LBB23_34: +LBB22_34: LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - LONG $0x0000c8e9; BYTE $0x00 // jmp LBB23_53, $200(%rip) + LONG $0x0000c8e9; BYTE $0x00 // jmp LBB22_53, $200(%rip) -LBB23_35: +LBB22_35: WORD $0x0149; BYTE $0xca // addq %rcx, %r10 -LBB23_36: +LBB22_36: LONG $0xffc2c748; WORD $0xffff; BYTE $0xff // movq $-1, %rdx WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x00b2840f; WORD $0x0000 // je LBB23_52, $178(%rip) + LONG $0x00b2840f; WORD $0x0000 // je LBB22_52, $178(%rip) -LBB23_37: +LBB22_37: WORD $0x854d; BYTE $0xc9 // testq %r9, %r9 - LONG $0x00a9840f; WORD $0x0000 // je LBB23_52, $169(%rip) + LONG $0x00a9840f; WORD $0x0000 // je LBB22_52, $169(%rip) WORD $0x854d; BYTE $0xc0 // testq %r8, %r8 - LONG $0x00a0840f; WORD $0x0000 // je LBB23_52, $160(%rip) + 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 LBB23_45, $54(%rip) + LONG $0x0036840f; WORD $0x0000 // je LBB22_45, $54(%rip) WORD $0x3949; BYTE $0xc8 // cmpq %rcx, %r8 - LONG $0x002d840f; WORD $0x0000 // je LBB23_45, $45(%rip) + LONG $0x002d840f; WORD $0x0000 // je LBB22_45, $45(%rip) WORD $0x3949; BYTE $0xc9 // cmpq %rcx, %r9 - LONG $0x0024840f; WORD $0x0000 // je LBB23_45, $36(%rip) + LONG $0x0024840f; WORD $0x0000 // je LBB22_45, $36(%rip) WORD $0x854d; BYTE $0xc9 // testq %r9, %r9 - LONG $0x00298e0f; WORD $0x0000 // jle LBB23_46, $41(%rip) + 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 LBB23_46, $28(%rip) + 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 LBB23_53, $93(%rip) + LONG $0x00005de9; BYTE $0x00 // jmp LBB22_53, $93(%rip) -LBB23_45: +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 LBB23_53, $79(%rip) + LONG $0x00004fe9; BYTE $0x00 // jmp LBB22_53, $79(%rip) -LBB23_46: +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 LBB23_49, $23(%rip) + LONG $0x00178c0f; WORD $0x0000 // jl LBB22_49, $23(%rip) WORD $0x8548; BYTE $0xc9 // testq %rcx, %rcx - LONG $0x000e880f; WORD $0x0000 // js LBB23_49, $14(%rip) + 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 LBB23_53, $41(%rip) + LONG $0x000029e9; BYTE $0x00 // jmp LBB22_53, $41(%rip) -LBB23_49: +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 LBB23_53, $15(%rip) + LONG $0x00000fe9; BYTE $0x00 // jmp LBB22_53, $15(%rip) -LBB23_50: +LBB22_50: WORD $0x2949; BYTE $0xfa // subq %rdi, %r10 WORD $0xbc0f; BYTE $0xd3 // bsfl %ebx, %edx WORD $0x014c; BYTE $0xd2 // addq %r10, %rdx -LBB23_51: +LBB22_51: WORD $0xf748; BYTE $0xd2 // notq %rdx -LBB23_52: +LBB22_52: WORD $0x8948; BYTE $0xd0 // movq %rdx, %rax -LBB23_53: +LBB22_53: BYTE $0x5b // popq %rbx WORD $0x5e41 // popq %r14 WORD $0x5f41 // popq %r15 BYTE $0x5d // popq %rbp BYTE $0xc3 // retq -LBB23_54: +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 LBB23_37, $-207(%rip) - LONG $0xffffdee9; BYTE $0xff // jmp LBB23_52, $-34(%rip) + LONG $0xff31850f; WORD $0xffff // jne LBB22_37, $-207(%rip) + LONG $0xffffdee9; BYTE $0xff // jmp LBB22_52, $-34(%rip) -LBB23_58: +LBB22_58: WORD $0xf748; BYTE $0xda // negq %rdx - LONG $0xffffd6e9; BYTE $0xff // jmp LBB23_52, $-42(%rip) + LONG $0xffffd6e9; BYTE $0xff // jmp LBB22_52, $-42(%rip) -LBB23_57: +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 LBB23_24, $-424(%rip) + LONG $0xfffe58e9; BYTE $0xff // jmp LBB22_24, $-424(%rip) WORD $0x9090 // .p2align 2, 0x90 - // .set L23_0_set_28, LBB23_28-LJTI23_0 - // .set L23_0_set_36, LBB23_36-LJTI23_0 - // .set L23_0_set_32, LBB23_32-LJTI23_0 - // .set L23_0_set_25, LBB23_25-LJTI23_0 - // .set L23_0_set_30, LBB23_30-LJTI23_0 -LJTI23_0: - LONG $0xfffffe95 // .long L23_0_set_28 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffe95 // .long L23_0_set_28 - LONG $0xfffffecb // .long L23_0_set_32 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffe6c // .long L23_0_set_25 - LONG $0xfffffe6c // .long L23_0_set_25 - LONG $0xfffffe6c // .long L23_0_set_25 - LONG $0xfffffe6c // .long L23_0_set_25 - LONG $0xfffffe6c // .long L23_0_set_25 - LONG $0xfffffe6c // .long L23_0_set_25 - LONG $0xfffffe6c // .long L23_0_set_25 - LONG $0xfffffe6c // .long L23_0_set_25 - LONG $0xfffffe6c // .long L23_0_set_25 - LONG $0xfffffe6c // .long L23_0_set_25 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffeb0 // .long L23_0_set_30 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffeb0 // .long L23_0_set_30 + // .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: @@ -6513,22 +6412,22 @@ _skip_number: 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) + LONG $0x003b840f; WORD $0x0000 // je LBB24_6, $59(%rip) WORD $0x3949; BYTE $0xf7 // cmpq %rsi, %r15 - LONG $0x000c830f; WORD $0x0000 // jae LBB25_3, $12(%rip) + 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 LBB25_8, $56(%rip) + LONG $0x0038870f; WORD $0x0000 // ja LBB24_8, $56(%rip) -LBB25_3: +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 LBB25_7, $33(%rip) + LONG $0x0021880f; WORD $0x0000 // js LBB24_7, $33(%rip) WORD $0x0148; BYTE $0xc3 // addq %rax, %rbx -LBB25_5: +LBB24_5: WORD $0x294c; BYTE $0xe3 // subq %r12, %rbx WORD $0x8949; BYTE $0x1e // movq %rbx, (%r14) WORD $0x894c; BYTE $0xf8 // movq %r15, %rax @@ -6539,20 +6438,20 @@ LBB25_5: BYTE $0x5d // popq %rbp BYTE $0xc3 // retq -LBB25_6: +LBB24_6: LONG $0xffc7c749; WORD $0xffff; BYTE $0xff // movq $-1, %r15 - LONG $0xffffe2e9; BYTE $0xff // jmp LBB25_5, $-30(%rip) + LONG $0xffffe2e9; BYTE $0xff // jmp LBB24_5, $-30(%rip) -LBB25_7: +LBB24_7: WORD $0xf748; BYTE $0xd0 // notq %rax WORD $0x0148; BYTE $0xc3 // addq %rax, %rbx -LBB25_8: +LBB24_8: LONG $0xfec7c749; WORD $0xffff; BYTE $0xff // movq $-2, %r15 - LONG $0xffffd0e9; BYTE $0xff // jmp LBB25_5, $-48(%rip) + LONG $0xffffd0e9; BYTE $0xff // jmp LBB24_5, $-48(%rip) LONG $0x00000000; BYTE $0x00 // .p2align 4, 0x00 -LCPI26_0: +LCPI25_0: LONG $0x00000001 // .long 1 LONG $0x00000000 // .long 0 LONG $0x00000000 // .long 0 @@ -6565,14 +6464,14 @@ _skip_one: 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) */ + 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 $0xfff13ee9; BYTE $0xff // jmp _fsm_exec, $-3778(%rip) + LONG $0xffefcee9; BYTE $0xff // jmp _fsm_exec, $-4146(%rip) QUAD $0x0000000000000000; LONG $0x00000000; WORD $0x0000 // .p2align 4, 0x00 -LCPI27_0: +LCPI26_0: LONG $0x00000001 // .long 1 LONG $0x00000000 // .long 0 LONG $0x00000000 // .long 0 @@ -6585,36 +6484,36 @@ _validate_one: 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) */ + 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 $0xfff0f9e9; BYTE $0xff // jmp _fsm_exec, $-3847(%rip) + LONG $0xffef89e9; BYTE $0xff // jmp _fsm_exec, $-4215(%rip) QUAD $0x0000000000000000; BYTE $0x00 // .p2align 4, 0x00 -LCPI28_0: +LCPI27_0: QUAD $0x2c2c2c2c2c2c2c2c; QUAD $0x2c2c2c2c2c2c2c2c // .space 16, ',,,,,,,,,,,,,,,,' -LCPI28_1: +LCPI27_1: QUAD $0xdfdfdfdfdfdfdfdf; QUAD $0xdfdfdfdfdfdfdfdf // .space 16, '\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf' -LCPI28_2: +LCPI27_2: QUAD $0x5d5d5d5d5d5d5d5d; QUAD $0x5d5d5d5d5d5d5d5d // .space 16, ']]]]]]]]]]]]]]]]' -LCPI28_3: +LCPI27_3: QUAD $0x2222222222222222; QUAD $0x2222222222222222 // .space 16, '""""""""""""""""' -LCPI28_4: +LCPI27_4: QUAD $0x5c5c5c5c5c5c5c5c; QUAD $0x5c5c5c5c5c5c5c5c // .space 16, '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -LCPI28_5: +LCPI27_5: QUAD $0x7b7b7b7b7b7b7b7b; QUAD $0x7b7b7b7b7b7b7b7b // .space 16, '{{{{{{{{{{{{{{{{' -LCPI28_6: +LCPI27_6: QUAD $0x7d7d7d7d7d7d7d7d; QUAD $0x7d7d7d7d7d7d7d7d // .space 16, '}}}}}}}}}}}}}}}}' -LCPI28_7: +LCPI27_7: QUAD $0x5b5b5b5b5b5b5b5b; QUAD $0x5b5b5b5b5b5b5b5b // .space 16, '[[[[[[[[[[[[[[[[' // .p2align 4, 0x90 @@ -6628,83 +6527,181 @@ _skip_one_fast: 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 $0xffde63e8; BYTE $0xff // callq _advance_ns, $-8605(%rip) - WORD $0x8b49; BYTE $0x16 // movq (%r14), %rdx - LONG $0xff6a8d4c // leaq $-1(%rdx), %r13 - WORD $0xbe0f; BYTE $0xc8 // movsbl %al, %ecx + 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 $0x00fd870f; WORD $0x0000 // ja LBB28_18, $253(%rip) + LONG $0x00f9870f; WORD $0x0000 // ja LBB27_46, $249(%rip) LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - LONG $0x92358d48; WORD $0x0009; BYTE $0x00 // leaq $2450(%rip), %rsi /* LJTI28_0(%rip) */ - LONG $0x8e0c6348 // movslq (%rsi,%rcx,4), %rcx - WORD $0x0148; BYTE $0xf1 // addq %rsi, %rcx + 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 -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 $0x10f98348 // cmpq $16, %rcx - LONG $0x0055820f; WORD $0x0000 // jb LBB28_6, $85(%rip) - QUAD $0xffffff0a056ff9c5 // vmovdqa $-246(%rip), %xmm0 /* LCPI28_0(%rip) */ - QUAD $0xffffff120d6ff9c5 // vmovdqa $-238(%rip), %xmm1 /* LCPI28_1(%rip) */ - QUAD $0xffffff1a156ff9c5 // vmovdqa $-230(%rip), %xmm2 /* LCPI28_2(%rip) */ - QUAD $0x9090909090909090; WORD $0x9090 // .p2align 4, 0x90 +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 -LBB28_4: - LONG $0x1a6ffac5 // vmovdqu (%rdx), %xmm3 +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 $0xf3d7f9c5 // vpmovmskb %xmm3, %esi - WORD $0x8566; BYTE $0xf6 // testw %si, %si - LONG $0x0054850f; WORD $0x0000 // jne LBB28_13, $84(%rip) - LONG $0x10c28348 // addq $16, %rdx - LONG $0xf0c18348 // addq $-16, %rcx - LONG $0x0ff98348 // cmpq $15, %rcx - LONG $0xffcd870f; WORD $0xffff // ja LBB28_4, $-51(%rip) + 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) -LBB28_6: - WORD $0x8548; BYTE $0xc9 // testq %rcx, %rcx - LONG $0x0869840f; WORD $0x0000 // je LBB28_80, $2153(%rip) - LONG $0x0a348d48 // leaq (%rdx,%rcx), %rsi +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 - // .p2align 4, 0x90 -LBB28_8: - WORD $0xb60f; BYTE $0x1a // movzbl (%rdx), %ebx - WORD $0xfb80; BYTE $0x2c // cmpb $44, %bl - LONG $0x0859840f; WORD $0x0000 // je LBB28_80, $2137(%rip) - WORD $0xfb80; BYTE $0x7d // cmpb $125, %bl - LONG $0x0850840f; WORD $0x0000 // je LBB28_80, $2128(%rip) - WORD $0xfb80; BYTE $0x5d // cmpb $93, %bl - LONG $0x0847840f; WORD $0x0000 // je LBB28_80, $2119(%rip) - WORD $0xff48; BYTE $0xc2 // incq %rdx - WORD $0xff48; BYTE $0xc9 // decq %rcx - LONG $0xffd6850f; WORD $0xffff // jne LBB28_8, $-42(%rip) - WORD $0x8948; BYTE $0xf2 // movq %rsi, %rdx - WORD $0x2948; BYTE $0xc2 // subq %rax, %rdx - LONG $0x00000de9; BYTE $0x00 // jmp LBB28_14, $13(%rip) +LBB27_40: + WORD $0x294c; BYTE $0xf3 // subq %r14, %rbx + LONG $0x00000de9; BYTE $0x00 // jmp LBB27_42, $13(%rip) -LBB28_13: - WORD $0xb70f; BYTE $0xce // movzwl %si, %ecx - LONG $0xc9bc0f48 // bsfq %rcx, %rcx - WORD $0x2948; BYTE $0xc2 // subq %rax, %rdx - WORD $0x0148; BYTE $0xca // addq %rcx, %rdx +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 -LBB28_14: - WORD $0x8949; BYTE $0x16 // movq %rdx, (%r14) +LBB27_42: + WORD $0x8948; BYTE $0x1e // movq %rbx, (%rsi) -LBB28_15: - WORD $0x894c; BYTE $0xe8 // movq %r13, %rax +LBB27_43: + WORD $0x894c; BYTE $0xd8 // movq %r11, %rax -LBB28_16: +LBB27_44: LONG $0xd8658d48 // leaq $-40(%rbp), %rsp BYTE $0x5b // popq %rbx WORD $0x5c41 // popq %r12 @@ -6715,781 +6712,797 @@ LBB28_16: WORD $0xf8c5; BYTE $0x77 // vzeroupper BYTE $0xc3 // retq -LBB28_17: - LONG $0x03c28348 // addq $3, %rdx - LONG $0x08573b49 // cmpq $8(%r15), %rdx - LONG $0xffda860f; WORD $0xffff // jbe LBB28_14, $-38(%rip) - LONG $0xffffdbe9; BYTE $0xff // jmp LBB28_16, $-37(%rip) +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) -LBB28_18: - WORD $0x894d; BYTE $0x2e // movq %r13, (%r14) +LBB27_46: + WORD $0x894c; BYTE $0x1e // movq %r11, (%rsi) LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax - LONG $0xffffcce9; BYTE $0xff // jmp LBB28_16, $-52(%rip) + LONG $0xffffcce9; BYTE $0xff // jmp LBB27_44, $-52(%rip) -LBB28_19: - WORD $0x8b4d; BYTE $0x07 // movq (%r15), %r8 - LONG $0x084f8b4d // movq $8(%r15), %r9 - LONG $0x101c8d4d // leaq (%r8,%rdx), %r11 - WORD $0x2949; BYTE $0xd1 // subq %rdx, %r9 - LONG $0x20f98349 // cmpq $32, %r9 - LONG $0x07e88c0f; WORD $0x0000 // jl LBB28_27, $2024(%rip) - LONG $0x0020bc41; WORD $0x0000 // movl $32, %r12d - LONG $0xffffba41; WORD $0xffff // movl $4294967295, %r10d - WORD $0xd231 // xorl %edx, %edx - QUAD $0xfffffe36056ff9c5 // vmovdqa $-458(%rip), %xmm0 /* LCPI28_3(%rip) */ - QUAD $0xfffffe3e0d6ff9c5 // vmovdqa $-450(%rip), %xmm1 /* LCPI28_4(%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 - LONG $0x000028e9; BYTE $0x00 // jmp LBB28_21, $40(%rip) - LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 + 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 -LBB28_23: - WORD $0x3145; BYTE $0xff // xorl %r15d, %r15d - WORD $0xf685 // testl %esi, %esi - LONG $0x009d850f; WORD $0x0000 // jne LBB28_78, $157(%rip) +LBB27_51: + WORD $0x3145; BYTE $0xe4 // xorl %r12d, %r12d + WORD $0xc985 // testl %ecx, %ecx + LONG $0x009e850f; WORD $0x0000 // jne LBB27_109, $158(%rip) -LBB28_24: - LONG $0x20c28348 // addq $32, %rdx - LONG $0x214c8d4b; BYTE $0xe0 // leaq $-32(%r9,%r12), %rcx - LONG $0xe0c48349 // addq $-32, %r12 +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 $0x078b8e0f; WORD $0x0000 // jle LBB28_25, $1931(%rip) + LONG $0x07dc8e0f; WORD $0x0000 // jle LBB27_53, $2012(%rip) -LBB28_21: - LONG $0x6f7ac1c4; WORD $0x1314 // vmovdqu (%r11,%rdx), %xmm2 - LONG $0x6f7ac1c4; WORD $0x135c; BYTE $0x10 // vmovdqu $16(%r11,%rdx), %xmm3 +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 $0xccd7f9c5 // vpmovmskb %xmm4, %ecx + LONG $0xfcd7f9c5 // vpmovmskb %xmm4, %edi LONG $0xe074e1c5 // vpcmpeqb %xmm0, %xmm3, %xmm4 - LONG $0xf4d7f9c5 // vpmovmskb %xmm4, %esi - LONG $0x10e6c148 // shlq $16, %rsi - WORD $0x0948; BYTE $0xce // orq %rcx, %rsi - LONG $0xd174e9c5 // vpcmpeqb %xmm1, %xmm2, %xmm2 - LONG $0xfad7f9c5 // vpmovmskb %xmm2, %edi - LONG $0xd174e1c5 // vpcmpeqb %xmm1, %xmm3, %xmm2 - LONG $0xcad7f9c5 // vpmovmskb %xmm2, %ecx + LONG $0xccd7f9c5 // vpmovmskb %xmm4, %ecx LONG $0x10e1c148 // shlq $16, %rcx WORD $0x0948; BYTE $0xf9 // orq %rdi, %rcx - WORD $0x8948; BYTE $0xcf // movq %rcx, %rdi - WORD $0x094c; BYTE $0xff // orq %r15, %rdi - LONG $0xff97840f; WORD $0xffff // je LBB28_23, $-105(%rip) - WORD $0x8944; BYTE $0xff // movl %r15d, %edi - WORD $0x3144; BYTE $0xd7 // xorl %r10d, %edi - WORD $0xf921 // andl %edi, %ecx - WORD $0x3c8d; BYTE $0x09 // leal (%rcx,%rcx), %edi - WORD $0x0944; BYTE $0xff // orl %r15d, %edi - LONG $0xab9a8d41; WORD $0xaaaa; BYTE $0xaa // leal $-1431655765(%r10), %ebx - WORD $0xfb31 // xorl %edi, %ebx - WORD $0xcb21 // andl %ecx, %ebx - LONG $0xaaaae381; WORD $0xaaaa // andl $-1431655766, %ebx - WORD $0x3145; BYTE $0xff // xorl %r15d, %r15d - WORD $0xcb01 // addl %ecx, %ebx - LONG $0xc7920f41 // setb %r15b - WORD $0xdb01 // addl %ebx, %ebx - LONG $0x5555f381; WORD $0x5555 // xorl $1431655765, %ebx - WORD $0xfb21 // andl %edi, %ebx - WORD $0x3144; BYTE $0xd3 // xorl %r10d, %ebx - WORD $0xde21 // andl %ebx, %esi - WORD $0xf685 // testl %esi, %esi - LONG $0xff63840f; WORD $0xffff // je LBB28_24, $-157(%rip) + 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) -LBB28_78: - LONG $0xc6bc0f48 // bsfq %rsi, %rax - WORD $0x0149; BYTE $0xc3 // addq %rax, %r11 - WORD $0x0149; BYTE $0xd3 // addq %rdx, %r11 +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) -LBB28_79: - WORD $0x294d; BYTE $0xc3 // subq %r8, %r11 - WORD $0xff49; BYTE $0xc3 // incq %r11 - WORD $0x894d; BYTE $0x1e // movq %r11, (%r14) - LONG $0xfffec5e9; BYTE $0xff // jmp LBB28_15, $-315(%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) -LBB28_28: - 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 $0xfffffd5b156f79c5 // vmovdqa $-677(%rip), %xmm10 /* LCPI28_4(%rip) */ - QUAD $0xfffffd430d6ff9c5 // vmovdqa $-701(%rip), %xmm1 /* LCPI28_3(%rip) */ - LONG $0x763141c4; BYTE $0xc9 // vpcmpeqd %xmm9, %xmm9, %xmm9 - QUAD $0xfffffd761d6ff9c5 // vmovdqa $-650(%rip), %xmm3 /* LCPI28_7(%rip) */ - QUAD $0xfffffd1e256ff9c5 // vmovdqa $-738(%rip), %xmm4 /* LCPI28_2(%rip) */ - LONG $0x573841c4; BYTE $0xc0 // vxorps %xmm8, %xmm8, %xmm8 - WORD $0x3145; BYTE $0xd2 // xorl %r10d, %r10d - WORD $0x3145; BYTE $0xc0 // xorl %r8d, %r8d - WORD $0xf631 // xorl %esi, %esi - LONG $0x246c894c; BYTE $0x18 // movq %r13, $24(%rsp) - LONG $0x000021e9; BYTE $0x00 // jmp LBB28_30, $33(%rip) +LBB27_72: + LONG $0x08fa8348 // cmpq $8, %rdx + LONG $0xffba820f; WORD $0xffff // jb LBB27_73, $-70(%rip) -LBB28_29: - LONG $0x3ffdc149 // sarq $63, %r13 - LONG $0xb80f49f3; BYTE $0xca // popcntq %r10, %rcx - WORD $0x0149; BYTE $0xc8 // addq %rcx, %r8 - LONG $0x40c28348 // addq $64, %rdx - LONG $0x244c8b48; BYTE $0x08 // movq $8(%rsp), %rcx - LONG $0xc0c18348 // addq $-64, %rcx - WORD $0x894d; BYTE $0xe9 // movq %r13, %r9 - LONG $0x24548b4c; BYTE $0x10 // movq $16(%rsp), %r10 +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) -LBB28_30: - LONG $0x40f98348 // cmpq $64, %rcx - LONG $0x244c8948; BYTE $0x08 // movq %rcx, $8(%rsp) - LONG $0x01a38c0f; WORD $0x0000 // jl LBB28_37, $419(%rip) +LBB27_74: + LONG $0x02fa8348 // cmpq $2, %rdx + LONG $0xffba820f; WORD $0xffff // jb LBB27_75, $-70(%rip) -LBB28_31: - LONG $0x126ffac5 // vmovdqu (%rdx), %xmm2 - LONG $0x6a6ffac5; BYTE $0x10 // vmovdqu $16(%rdx), %xmm5 - LONG $0x7a6ffac5; BYTE $0x20 // vmovdqu $32(%rdx), %xmm7 - LONG $0x726ffac5; BYTE $0x30 // vmovdqu $48(%rdx), %xmm6 +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 $0xc8d7f9c5 // vpmovmskb %xmm0, %ecx + LONG $0xd0d7f9c5 // vpmovmskb %xmm0, %edx LONG $0xc574a9c5 // vpcmpeqb %xmm5, %xmm10, %xmm0 - LONG $0xf8d7f9c5 // vpmovmskb %xmm0, %edi + LONG $0xc8d7f9c5 // vpmovmskb %xmm0, %ecx LONG $0xc774a9c5 // vpcmpeqb %xmm7, %xmm10, %xmm0 - LONG $0xd8d7f9c5 // vpmovmskb %xmm0, %ebx - LONG $0xc674a9c5 // vpcmpeqb %xmm6, %xmm10, %xmm0 LONG $0xe8d779c5 // vpmovmskb %xmm0, %r13d - LONG $0x30e5c149 // shlq $48, %r13 - LONG $0x20e3c148 // shlq $32, %rbx - LONG $0x10e7c148 // shlq $16, %rdi - WORD $0x0948; BYTE $0xf9 // orq %rdi, %rcx - WORD $0x0948; BYTE $0xd9 // orq %rbx, %rcx - WORD $0x094c; BYTE $0xe9 // orq %r13, %rcx - WORD $0x8948; BYTE $0xcf // movq %rcx, %rdi - WORD $0x094c; BYTE $0xd7 // orq %r10, %rdi - LONG $0x004e840f; WORD $0x0000 // je LBB28_33, $78(%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 $0xdb31 // xorl %ebx, %ebx - WORD $0x0148; BYTE $0xf9 // addq %rdi, %rcx - WORD $0x920f; BYTE $0xc3 // setb %bl - LONG $0x245c8948; BYTE $0x10 // movq %rbx, $16(%rsp) - 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 $0x00000ee9; BYTE $0x00 // jmp LBB28_34, $14(%rip) - -LBB28_33: - LONG $0xffc1c748; WORD $0xffff; BYTE $0xff // movq $-1, %rcx - WORD $0xff31 // xorl %edi, %edi - LONG $0x247c8948; BYTE $0x10 // movq %rdi, $16(%rsp) + 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) -LBB28_34: +LBB27_60: LONG $0xc174d1c5 // vpcmpeqb %xmm1, %xmm5, %xmm0 - LONG $0xf8d7f9c5 // vpmovmskb %xmm0, %edi - LONG $0x10e7c148 // shlq $16, %rdi + LONG $0xc8d7f9c5 // vpmovmskb %xmm0, %ecx + LONG $0x10e1c148 // shlq $16, %rcx LONG $0xc174e9c5 // vpcmpeqb %xmm1, %xmm2, %xmm0 - LONG $0xd8d7f9c5 // vpmovmskb %xmm0, %ebx - WORD $0x0948; BYTE $0xfb // orq %rdi, %rbx + LONG $0xc8d779c5 // vpmovmskb %xmm0, %r9d + WORD $0x0949; BYTE $0xc9 // orq %rcx, %r9 LONG $0xc174c1c5 // vpcmpeqb %xmm1, %xmm7, %xmm0 - LONG $0xf8d7f9c5 // vpmovmskb %xmm0, %edi - LONG $0x20e7c148 // shlq $32, %rdi - WORD $0x0948; BYTE $0xdf // orq %rbx, %rdi + LONG $0xe8d779c5 // vpmovmskb %xmm0, %r13d + LONG $0x20e5c149 // shlq $32, %r13 + WORD $0x094d; BYTE $0xcd // orq %r9, %r13 LONG $0xc174c9c5 // vpcmpeqb %xmm1, %xmm6, %xmm0 - LONG $0xd8d7f9c5 // vpmovmskb %xmm0, %ebx - LONG $0x30e3c148 // shlq $48, %rbx - WORD $0x0948; BYTE $0xfb // orq %rdi, %rbx - WORD $0x2148; BYTE $0xcb // andq %rcx, %rbx - LONG $0x6ef9e1c4; BYTE $0xc3 // vmovq %rbx, %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 $0xcd // xorq %r9, %r13 + WORD $0x314d; BYTE $0xd5 // xorq %r10, %r13 LONG $0xc374e9c5 // vpcmpeqb %xmm3, %xmm2, %xmm0 - LONG $0xd0d779c5 // vpmovmskb %xmm0, %r10d + LONG $0xf8d779c5 // vpmovmskb %xmm0, %r15d LONG $0xc374d1c5 // vpcmpeqb %xmm3, %xmm5, %xmm0 - LONG $0xf8d7f9c5 // vpmovmskb %xmm0, %edi + LONG $0xc8d7f9c5 // vpmovmskb %xmm0, %ecx LONG $0xc374c1c5 // vpcmpeqb %xmm3, %xmm7, %xmm0 - LONG $0xd8d7f9c5 // vpmovmskb %xmm0, %ebx - LONG $0xc374c9c5 // vpcmpeqb %xmm3, %xmm6, %xmm0 LONG $0xc8d779c5 // vpmovmskb %xmm0, %r9d - LONG $0x30e1c149 // shlq $48, %r9 - LONG $0x20e3c148 // shlq $32, %rbx - LONG $0x10e7c148 // shlq $16, %rdi - WORD $0x0949; BYTE $0xfa // orq %rdi, %r10 - WORD $0x0949; BYTE $0xda // orq %rbx, %r10 - WORD $0x094d; BYTE $0xca // orq %r9, %r10 + 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 $0xca // andq %r9, %r10 + WORD $0x214d; BYTE $0xcf // andq %r9, %r15 LONG $0xc474e9c5 // vpcmpeqb %xmm4, %xmm2, %xmm0 - LONG $0xf8d7f9c5 // vpmovmskb %xmm0, %edi + LONG $0xc8d7f9c5 // vpmovmskb %xmm0, %ecx LONG $0xc474d1c5 // vpcmpeqb %xmm4, %xmm5, %xmm0 - LONG $0xd8d7f9c5 // vpmovmskb %xmm0, %ebx + LONG $0xd0d779c5 // vpmovmskb %xmm0, %r10d LONG $0xc474c1c5 // vpcmpeqb %xmm4, %xmm7, %xmm0 - LONG $0xd8d779c5 // vpmovmskb %xmm0, %r11d + LONG $0xc0d779c5 // vpmovmskb %xmm0, %r8d LONG $0xc474c9c5 // vpcmpeqb %xmm4, %xmm6, %xmm0 LONG $0xe0d779c5 // vpmovmskb %xmm0, %r12d LONG $0x30e4c149 // shlq $48, %r12 - LONG $0x20e3c149 // shlq $32, %r11 - LONG $0x10e3c148 // shlq $16, %rbx - WORD $0x0948; BYTE $0xdf // orq %rbx, %rdi - WORD $0x094c; BYTE $0xdf // orq %r11, %rdi - WORD $0x094c; BYTE $0xe7 // orq %r12, %rdi - WORD $0x214c; BYTE $0xcf // andq %r9, %rdi - LONG $0xfe59840f; WORD $0xffff // je LBB28_29, $-423(%rip) - - // .p2align 4, 0x90 -LBB28_35: - LONG $0xff4f8d48 // leaq $-1(%rdi), %rcx - WORD $0x8948; BYTE $0xcb // movq %rcx, %rbx - WORD $0x214c; BYTE $0xd3 // andq %r10, %rbx - LONG $0xb80f48f3; BYTE $0xdb // popcntq %rbx, %rbx - WORD $0x014c; BYTE $0xc3 // addq %r8, %rbx - WORD $0x3948; BYTE $0xf3 // cmpq %rsi, %rbx - LONG $0x049f860f; WORD $0x0000 // jbe LBB28_77, $1183(%rip) - WORD $0xff48; BYTE $0xc6 // incq %rsi - WORD $0x2148; BYTE $0xcf // andq %rcx, %rdi - LONG $0xffd9850f; WORD $0xffff // jne LBB28_35, $-39(%rip) - LONG $0xfffe2de9; BYTE $0xff // jmp LBB28_29, $-467(%rip) - -LBB28_37: - WORD $0x8548; BYTE $0xc9 // testq %rcx, %rcx - LONG $0x04e58e0f; WORD $0x0000 // jle LBB28_81, $1253(%rip) - LONG $0x44297cc5; WORD $0x4024 // vmovaps %ymm8, $64(%rsp) - LONG $0x44297cc5; WORD $0x2024 // vmovaps %ymm8, $32(%rsp) - WORD $0xd189 // movl %edx, %ecx - LONG $0x0fffe181; WORD $0x0000 // andl $4095, %ecx - LONG $0x0fc1f981; WORD $0x0000 // cmpl $4033, %ecx - LONG $0xfe34820f; WORD $0xffff // jb LBB28_31, $-460(%rip) - LONG $0x247c8348; WORD $0x2008 // cmpq $32, $8(%rsp) - LONG $0x002c820f; WORD $0x0000 // jb LBB28_41, $44(%rip) - LONG $0x0210f8c5 // vmovups (%rdx), %xmm0 - LONG $0x4429f8c5; WORD $0x2024 // vmovaps %xmm0, $32(%rsp) - LONG $0x4210f8c5; BYTE $0x10 // vmovups $16(%rdx), %xmm0 - LONG $0x4429f8c5; WORD $0x3024 // vmovaps %xmm0, $48(%rsp) - LONG $0x20c28348 // addq $32, %rdx - LONG $0x244c8b48; BYTE $0x08 // movq $8(%rsp), %rcx - LONG $0xe0798d48 // leaq $-32(%rcx), %rdi - LONG $0x245c8d48; BYTE $0x40 // leaq $64(%rsp), %rbx - LONG $0x00000ae9; BYTE $0x00 // jmp LBB28_42, $10(%rip) - -LBB28_41: - LONG $0x245c8d48; BYTE $0x20 // leaq $32(%rsp), %rbx - LONG $0x247c8b48; BYTE $0x08 // movq $8(%rsp), %rdi - -LBB28_42: - LONG $0x10ff8348 // cmpq $16, %rdi - LONG $0x0058820f; WORD $0x0000 // jb LBB28_43, $88(%rip) - LONG $0x0210f8c5 // vmovups (%rdx), %xmm0 - LONG $0x0311f8c5 // vmovups %xmm0, (%rbx) - LONG $0x10c28348 // addq $16, %rdx - LONG $0x10c38348 // addq $16, %rbx - LONG $0xf0c78348 // addq $-16, %rdi - LONG $0x08ff8348 // cmpq $8, %rdi - LONG $0x0044830f; WORD $0x0000 // jae LBB28_48, $68(%rip) - -LBB28_44: - LONG $0x04ff8348 // cmpq $4, %rdi - LONG $0x00568c0f; WORD $0x0000 // jl LBB28_45, $86(%rip) - -LBB28_49: - WORD $0x0a8b // movl (%rdx), %ecx - WORD $0x0b89 // movl %ecx, (%rbx) - LONG $0x04c28348 // addq $4, %rdx - LONG $0x04c38348 // addq $4, %rbx - LONG $0xfcc78348 // addq $-4, %rdi - LONG $0x02ff8348 // cmpq $2, %rdi - LONG $0x0046830f; WORD $0x0000 // jae LBB28_50, $70(%rip) - -LBB28_46: - WORD $0x8948; BYTE $0xd1 // movq %rdx, %rcx - LONG $0x24548d48; BYTE $0x20 // leaq $32(%rsp), %rdx - WORD $0x8548; BYTE $0xff // testq %rdi, %rdi - LONG $0x0058850f; WORD $0x0000 // jne LBB28_51, $88(%rip) - LONG $0xfffd90e9; BYTE $0xff // jmp LBB28_31, $-624(%rip) - -LBB28_43: - LONG $0x08ff8348 // cmpq $8, %rdi - LONG $0xffbc820f; WORD $0xffff // jb LBB28_44, $-68(%rip) + 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 -LBB28_48: - WORD $0x8b48; BYTE $0x0a // movq (%rdx), %rcx - WORD $0x8948; BYTE $0x0b // movq %rcx, (%rbx) - LONG $0x08c28348 // addq $8, %rdx - LONG $0x08c38348 // addq $8, %rbx - LONG $0xf8c78348 // addq $-8, %rdi - LONG $0x04ff8348 // cmpq $4, %rdi - LONG $0xffaa8d0f; WORD $0xffff // jge LBB28_49, $-86(%rip) - -LBB28_45: - LONG $0x02ff8348 // cmpq $2, %rdi - LONG $0xffba820f; WORD $0xffff // jb LBB28_46, $-70(%rip) - -LBB28_50: - WORD $0xb70f; BYTE $0x0a // movzwl (%rdx), %ecx - WORD $0x8966; BYTE $0x0b // movw %cx, (%rbx) - LONG $0x02c28348 // addq $2, %rdx - LONG $0x02c38348 // addq $2, %rbx - LONG $0xfec78348 // addq $-2, %rdi - WORD $0x8948; BYTE $0xd1 // movq %rdx, %rcx - LONG $0x24548d48; BYTE $0x20 // leaq $32(%rsp), %rdx - WORD $0x8548; BYTE $0xff // testq %rdi, %rdi - LONG $0xfd3d840f; WORD $0xffff // je LBB28_31, $-707(%rip) +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) -LBB28_51: - WORD $0x098a // movb (%rcx), %cl - WORD $0x0b88 // movb %cl, (%rbx) - LONG $0x24548d48; BYTE $0x20 // leaq $32(%rsp), %rdx - LONG $0xfffd2fe9; BYTE $0xff // jmp LBB28_31, $-721(%rip) - -LBB28_52: - LONG $0x04c28348 // addq $4, %rdx - LONG $0x08573b49 // cmpq $8(%r15), %rdx - LONG $0xfb6a860f; WORD $0xffff // jbe LBB28_14, $-1174(%rip) - LONG $0xfffb6be9; BYTE $0xff // jmp LBB28_16, $-1173(%rip) - -LBB28_53: - 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 $0xfffff9fe156f79c5 // vmovdqa $-1538(%rip), %xmm10 /* LCPI28_4(%rip) */ - QUAD $0xfffff9e60d6ff9c5 // vmovdqa $-1562(%rip), %xmm1 /* LCPI28_3(%rip) */ - LONG $0x763141c4; BYTE $0xc9 // vpcmpeqd %xmm9, %xmm9, %xmm9 - QUAD $0xfffff9f91d6ff9c5 // vmovdqa $-1543(%rip), %xmm3 /* LCPI28_5(%rip) */ - QUAD $0xfffffa01256ff9c5 // vmovdqa $-1535(%rip), %xmm4 /* LCPI28_6(%rip) */ - LONG $0x573841c4; BYTE $0xc0 // vxorps %xmm8, %xmm8, %xmm8 - WORD $0x3145; BYTE $0xd2 // xorl %r10d, %r10d - WORD $0x3145; BYTE $0xc0 // xorl %r8d, %r8d - WORD $0xf631 // xorl %esi, %esi - LONG $0x246c894c; BYTE $0x18 // movq %r13, $24(%rsp) - LONG $0x000021e9; BYTE $0x00 // jmp LBB28_55, $33(%rip) +LBB27_64: + LONG $0x24448b4c; BYTE $0x18 // movq $24(%rsp), %r8 -LBB28_54: - LONG $0x3ffdc149 // sarq $63, %r13 - LONG $0xb80f49f3; BYTE $0xca // popcntq %r10, %rcx - WORD $0x0149; BYTE $0xc8 // addq %rcx, %r8 - LONG $0x40c28348 // addq $64, %rdx - LONG $0x244c8b48; BYTE $0x08 // movq $8(%rsp), %rcx - LONG $0xc0c18348 // addq $-64, %rcx - WORD $0x894d; BYTE $0xe9 // movq %r13, %r9 - LONG $0x24548b4c; BYTE $0x10 // movq $16(%rsp), %r10 - -LBB28_55: +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 $0x01a68c0f; WORD $0x0000 // jl LBB28_62, $422(%rip) + 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) -LBB28_56: - LONG $0x126ffac5 // vmovdqu (%rdx), %xmm2 - LONG $0x6a6ffac5; BYTE $0x10 // vmovdqu $16(%rdx), %xmm5 - LONG $0x7a6ffac5; BYTE $0x20 // vmovdqu $32(%rdx), %xmm7 - LONG $0x726ffac5; BYTE $0x30 // vmovdqu $48(%rdx), %xmm6 - LONG $0xc274a9c5 // vpcmpeqb %xmm2, %xmm10, %xmm0 - LONG $0xc8d7f9c5 // vpmovmskb %xmm0, %ecx - LONG $0xc574a9c5 // vpcmpeqb %xmm5, %xmm10, %xmm0 - LONG $0xf8d7f9c5 // vpmovmskb %xmm0, %edi - LONG $0xc774a9c5 // vpcmpeqb %xmm7, %xmm10, %xmm0 - LONG $0xd8d7f9c5 // vpmovmskb %xmm0, %ebx - LONG $0xc674a9c5 // vpcmpeqb %xmm6, %xmm10, %xmm0 - LONG $0xe0d779c5 // vpmovmskb %xmm0, %r12d - LONG $0x30e4c149 // shlq $48, %r12 - LONG $0x20e3c148 // shlq $32, %rbx - LONG $0x10e7c148 // shlq $16, %rdi - WORD $0x0948; BYTE $0xf9 // orq %rdi, %rcx - WORD $0x0948; BYTE $0xd9 // orq %rbx, %rcx - WORD $0x094c; BYTE $0xe1 // orq %r12, %rcx - WORD $0x8948; BYTE $0xcf // movq %rcx, %rdi - WORD $0x094c; BYTE $0xd7 // orq %r10, %rdi - LONG $0x004e840f; WORD $0x0000 // je LBB28_58, $78(%rip) - WORD $0x894c; BYTE $0xd7 // movq %r10, %rdi - WORD $0xf748; BYTE $0xd7 // notq %rdi - WORD $0x2148; BYTE $0xcf // andq %rcx, %rdi - LONG $0x3f248d4c // leaq (%rdi,%rdi), %r12 - WORD $0x094d; BYTE $0xd4 // orq %r10, %r12 - WORD $0x894d; BYTE $0xe2 // movq %r12, %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 $0xdb31 // xorl %ebx, %ebx - WORD $0x0148; BYTE $0xf9 // addq %rdi, %rcx - WORD $0x920f; BYTE $0xc3 // setb %bl - LONG $0x245c8948; BYTE $0x10 // movq %rbx, $16(%rsp) - WORD $0x0148; BYTE $0xc9 // addq %rcx, %rcx - QUAD $0x555555555555bf48; WORD $0x5555 // movabsq $6148914691236517205, %rdi - WORD $0x3148; BYTE $0xf9 // xorq %rdi, %rcx - WORD $0x214c; BYTE $0xe1 // andq %r12, %rcx - WORD $0xf748; BYTE $0xd1 // notq %rcx - LONG $0x00000ee9; BYTE $0x00 // jmp LBB28_59, $14(%rip) +LBB27_81: + LONG $0x054b8d49 // leaq $5(%r11), %rcx + LONG $0x084f3b48 // cmpq $8(%rdi), %rcx + LONG $0xfb3f870f; WORD $0xffff // ja LBB27_44, $-1217(%rip) -LBB28_58: - LONG $0xffc1c748; WORD $0xffff; BYTE $0xff // movq $-1, %rcx - WORD $0xff31 // xorl %edi, %edi - LONG $0x247c8948; BYTE $0x10 // movq %rdi, $16(%rsp) +LBB27_82: + WORD $0x8948; BYTE $0x0e // movq %rcx, (%rsi) + LONG $0xfffb34e9; BYTE $0xff // jmp LBB27_43, $-1228(%rip) -LBB28_59: - LONG $0xc174d1c5 // vpcmpeqb %xmm1, %xmm5, %xmm0 - LONG $0xf8d7f9c5 // vpmovmskb %xmm0, %edi - LONG $0x10e7c148 // shlq $16, %rdi - LONG $0xc174e9c5 // vpcmpeqb %xmm1, %xmm2, %xmm0 - LONG $0xd8d7f9c5 // vpmovmskb %xmm0, %ebx - WORD $0x0948; BYTE $0xfb // orq %rdi, %rbx - LONG $0xc174c1c5 // vpcmpeqb %xmm1, %xmm7, %xmm0 - LONG $0xf8d7f9c5 // vpmovmskb %xmm0, %edi - LONG $0x20e7c148 // shlq $32, %rdi - WORD $0x0948; BYTE $0xdf // orq %rbx, %rdi - LONG $0xc174c9c5 // vpcmpeqb %xmm1, %xmm6, %xmm0 - LONG $0xd8d7f9c5 // vpmovmskb %xmm0, %ebx - LONG $0x30e3c148 // shlq $48, %rbx - WORD $0x0948; BYTE $0xfb // orq %rdi, %rbx - WORD $0x2148; BYTE $0xcb // andq %rcx, %rbx - LONG $0x6ef9e1c4; BYTE $0xc3 // vmovq %rbx, %xmm0 - LONG $0x4479c3c4; WORD $0x00c1 // vpclmulqdq $0, %xmm9, %xmm0, %xmm0 - LONG $0x7ef9c1c4; BYTE $0xc5 // vmovq %xmm0, %r13 - WORD $0x314d; BYTE $0xcd // xorq %r9, %r13 - LONG $0xc374e9c5 // vpcmpeqb %xmm3, %xmm2, %xmm0 - LONG $0xd0d779c5 // vpmovmskb %xmm0, %r10d - LONG $0xc374d1c5 // vpcmpeqb %xmm3, %xmm5, %xmm0 - LONG $0xf8d7f9c5 // vpmovmskb %xmm0, %edi - LONG $0xc374c1c5 // vpcmpeqb %xmm3, %xmm7, %xmm0 - LONG $0xd8d7f9c5 // vpmovmskb %xmm0, %ebx - LONG $0xc374c9c5 // vpcmpeqb %xmm3, %xmm6, %xmm0 - LONG $0xc8d779c5 // vpmovmskb %xmm0, %r9d - LONG $0x30e1c149 // shlq $48, %r9 - LONG $0x20e3c148 // shlq $32, %rbx - LONG $0x10e7c148 // shlq $16, %rdi - WORD $0x0949; BYTE $0xfa // orq %rdi, %r10 - WORD $0x0949; BYTE $0xda // orq %rbx, %r10 - WORD $0x094d; BYTE $0xca // orq %r9, %r10 - WORD $0x894d; BYTE $0xe9 // movq %r13, %r9 - WORD $0xf749; BYTE $0xd1 // notq %r9 - WORD $0x214d; BYTE $0xca // andq %r9, %r10 - LONG $0xc474e9c5 // vpcmpeqb %xmm4, %xmm2, %xmm0 - LONG $0xf8d7f9c5 // vpmovmskb %xmm0, %edi - LONG $0xc474d1c5 // vpcmpeqb %xmm4, %xmm5, %xmm0 - LONG $0xd8d7f9c5 // vpmovmskb %xmm0, %ebx - LONG $0xc474c1c5 // vpcmpeqb %xmm4, %xmm7, %xmm0 - LONG $0xe0d779c5 // vpmovmskb %xmm0, %r12d - LONG $0xc474c9c5 // vpcmpeqb %xmm4, %xmm6, %xmm0 - LONG $0xd8d779c5 // vpmovmskb %xmm0, %r11d - LONG $0x30e3c149 // shlq $48, %r11 - LONG $0x20e4c149 // shlq $32, %r12 - LONG $0x10e3c148 // shlq $16, %rbx - WORD $0x0948; BYTE $0xdf // orq %rbx, %rdi - WORD $0x094c; BYTE $0xe7 // orq %r12, %rdi - WORD $0x094c; BYTE $0xdf // orq %r11, %rdi - WORD $0x214c; BYTE $0xcf // andq %r9, %rdi - LONG $0xfe59840f; WORD $0xffff // je LBB28_54, $-423(%rip) - WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - -LBB28_60: - LONG $0xff4f8d48 // leaq $-1(%rdi), %rcx - WORD $0x8948; BYTE $0xcb // movq %rcx, %rbx - WORD $0x214c; BYTE $0xd3 // andq %r10, %rbx - LONG $0xb80f48f3; BYTE $0xdb // popcntq %rbx, %rbx - WORD $0x014c; BYTE $0xc3 // addq %r8, %rbx - WORD $0x3948; BYTE $0xf3 // cmpq %rsi, %rbx - LONG $0x013f860f; WORD $0x0000 // jbe LBB28_77, $319(%rip) - WORD $0xff48; BYTE $0xc6 // incq %rsi - WORD $0x2148; BYTE $0xcf // andq %rcx, %rdi - LONG $0xffd9850f; WORD $0xffff // jne LBB28_60, $-39(%rip) - LONG $0xfffe2ae9; BYTE $0xff // jmp LBB28_54, $-470(%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) -LBB28_62: +LBB27_93: WORD $0x8548; BYTE $0xc9 // testq %rcx, %rcx - LONG $0x01858e0f; WORD $0x0000 // jle LBB28_81, $389(%rip) + 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 $0xd189 // movl %edx, %ecx + WORD $0x8944; BYTE $0xf1 // movl %r14d, %ecx LONG $0x0fffe181; WORD $0x0000 // andl $4095, %ecx LONG $0x0fc1f981; WORD $0x0000 // cmpl $4033, %ecx - LONG $0xfe31820f; WORD $0xffff // jb LBB28_56, $-463(%rip) + LONG $0x0109820f; WORD $0x0000 // jb LBB27_84, $265(%rip) LONG $0x247c8348; WORD $0x2008 // cmpq $32, $8(%rsp) - LONG $0x002c820f; WORD $0x0000 // jb LBB28_66, $44(%rip) - LONG $0x0210f8c5 // vmovups (%rdx), %xmm0 + 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 $0x4210f8c5; BYTE $0x10 // vmovups $16(%rdx), %xmm0 - LONG $0x4429f8c5; WORD $0x3024 // vmovaps %xmm0, $48(%rsp) - LONG $0x20c28348 // addq $32, %rdx + 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 $0xe0798d48 // leaq $-32(%rcx), %rdi - LONG $0x245c8d48; BYTE $0x40 // leaq $64(%rsp), %rbx - LONG $0x00000ae9; BYTE $0x00 // jmp LBB28_67, $10(%rip) - -LBB28_66: - LONG $0x245c8d48; BYTE $0x20 // leaq $32(%rsp), %rbx - LONG $0x247c8b48; BYTE $0x08 // movq $8(%rsp), %rdi + 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) -LBB28_67: - LONG $0x10ff8348 // cmpq $16, %rdi - LONG $0x0058820f; WORD $0x0000 // jb LBB28_68, $88(%rip) - LONG $0x0210f8c5 // vmovups (%rdx), %xmm0 - LONG $0x0311f8c5 // vmovups %xmm0, (%rbx) - LONG $0x10c28348 // addq $16, %rdx - LONG $0x10c38348 // addq $16, %rbx - LONG $0xf0c78348 // addq $-16, %rdi - LONG $0x08ff8348 // cmpq $8, %rdi - LONG $0x0044830f; WORD $0x0000 // jae LBB28_73, $68(%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) -LBB28_69: - LONG $0x04ff8348 // cmpq $4, %rdi - LONG $0x00568c0f; WORD $0x0000 // jl LBB28_70, $86(%rip) +LBB27_99: + LONG $0x08fa8348 // cmpq $8, %rdx + LONG $0xffba820f; WORD $0xffff // jb LBB27_100, $-70(%rip) -LBB28_74: - WORD $0x0a8b // movl (%rdx), %ecx - WORD $0x0b89 // movl %ecx, (%rbx) - LONG $0x04c28348 // addq $4, %rdx - LONG $0x04c38348 // addq $4, %rbx - LONG $0xfcc78348 // addq $-4, %rdi - LONG $0x02ff8348 // cmpq $2, %rdi - LONG $0x0046830f; WORD $0x0000 // jae LBB28_75, $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) -LBB28_71: - WORD $0x8948; BYTE $0xd1 // movq %rdx, %rcx - LONG $0x24548d48; BYTE $0x20 // leaq $32(%rsp), %rdx - WORD $0x8548; BYTE $0xff // testq %rdi, %rdi - LONG $0x0058850f; WORD $0x0000 // jne LBB28_76, $88(%rip) - LONG $0xfffd8de9; BYTE $0xff // jmp LBB28_56, $-627(%rip) +LBB27_101: + LONG $0x02fa8348 // cmpq $2, %rdx + LONG $0xffba820f; WORD $0xffff // jb LBB27_102, $-70(%rip) -LBB28_68: - LONG $0x08ff8348 // cmpq $8, %rdi - LONG $0xffbc820f; WORD $0xffff // jb LBB28_69, $-68(%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) -LBB28_73: - WORD $0x8b48; BYTE $0x0a // movq (%rdx), %rcx - WORD $0x8948; BYTE $0x0b // movq %rcx, (%rbx) - LONG $0x08c28348 // addq $8, %rdx - LONG $0x08c38348 // addq $8, %rbx - LONG $0xf8c78348 // addq $-8, %rdi - LONG $0x04ff8348 // cmpq $4, %rdi - LONG $0xffaa8d0f; WORD $0xffff // jge LBB28_74, $-86(%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 -LBB28_70: - LONG $0x02ff8348 // cmpq $2, %rdi - LONG $0xffba820f; WORD $0xffff // jb LBB28_71, $-70(%rip) +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) -LBB28_75: - WORD $0xb70f; BYTE $0x0a // movzwl (%rdx), %ecx - WORD $0x8966; BYTE $0x0b // movw %cx, (%rbx) - LONG $0x02c28348 // addq $2, %rdx - LONG $0x02c38348 // addq $2, %rbx - LONG $0xfec78348 // addq $-2, %rdi - WORD $0x8948; BYTE $0xd1 // movq %rdx, %rcx - LONG $0x24548d48; BYTE $0x20 // leaq $32(%rsp), %rdx - WORD $0x8548; BYTE $0xff // testq %rdi, %rdi - LONG $0xfd3a840f; WORD $0xffff // je LBB28_56, $-710(%rip) +LBB27_91: + LONG $0x24448b4c; BYTE $0x18 // movq $24(%rsp), %r8 -LBB28_76: - WORD $0x098a // movb (%rcx), %cl - WORD $0x0b88 // movb %cl, (%rbx) - LONG $0x24548d48; BYTE $0x20 // leaq $32(%rsp), %rdx - LONG $0xfffd2ce9; BYTE $0xff // jmp LBB28_56, $-724(%rip) +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) -LBB28_77: - LONG $0x08478b49 // movq $8(%r15), %rax - LONG $0xcfbc0f48 // bsfq %rdi, %rcx +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 $0x8949; BYTE $0x06 // movq %rax, (%r14) - LONG $0x084f8b49 // movq $8(%r15), %rcx + 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 $0x8949; BYTE $0x06 // movq %rax, (%r14) + WORD $0x8948; BYTE $0x06 // movq %rax, (%rsi) LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - LONG $0x244c8b48; BYTE $0x18 // movq $24(%rsp), %rcx - LONG $0xc8470f48 // cmovaq %rax, %rcx - WORD $0x8948; BYTE $0xc8 // movq %rcx, %rax - LONG $0xfff7e3e9; BYTE $0xff // jmp LBB28_16, $-2077(%rip) + LONG $0xd8470f4c // cmovaq %rax, %r11 + LONG $0xfff787e9; BYTE $0xff // jmp LBB27_43, $-2169(%rip) -LBB28_80: - WORD $0x2948; BYTE $0xc2 // subq %rax, %rdx - LONG $0xfff7d5e9; BYTE $0xff // jmp LBB28_14, $-2091(%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 -LBB28_25: +LBB27_55: WORD $0x854d; BYTE $0xff // testq %r15, %r15 - LONG $0x0020850f; WORD $0x0000 // jne LBB28_82, $32(%rip) - WORD $0x0149; BYTE $0xd3 // addq %rdx, %r11 - WORD $0x2949; BYTE $0xd1 // subq %rdx, %r9 + LONG $0x00248f0f; WORD $0x0000 // jg LBB27_112, $36(%rip) + LONG $0xfff768e9; BYTE $0xff // jmp LBB27_44, $-2200(%rip) -LBB28_27: - WORD $0x854d; BYTE $0xc9 // testq %r9, %r9 - LONG $0x00528f0f; WORD $0x0000 // jg LBB28_86, $82(%rip) - LONG $0xfff7bee9; BYTE $0xff // jmp LBB28_16, $-2114(%rip) - -LBB28_81: - LONG $0x084f8b49 // movq $8(%r15), %rcx - WORD $0x8949; BYTE $0x0e // movq %rcx, (%r14) - LONG $0xfff7b2e9; BYTE $0xff // jmp LBB28_16, $-2126(%rip) - -LBB28_82: - WORD $0x3949; BYTE $0xd1 // cmpq %rdx, %r9 - LONG $0xf7a9840f; WORD $0xffff // je LBB28_16, $-2135(%rip) - LONG $0x135c8d4d; BYTE $0x01 // leaq $1(%r11,%rdx), %r11 - WORD $0xf748; BYTE $0xd2 // notq %rdx - WORD $0x0149; BYTE $0xd1 // addq %rdx, %r9 - WORD $0x854d; BYTE $0xc9 // testq %r9, %r9 - LONG $0x00248f0f; WORD $0x0000 // jg LBB28_86, $36(%rip) - LONG $0xfff790e9; BYTE $0xff // jmp LBB28_16, $-2160(%rip) - -LBB28_84: +LBB27_110: LONG $0xfec1c748; WORD $0xffff; BYTE $0xff // movq $-2, %rcx LONG $0x000002b8; BYTE $0x00 // movl $2, %eax - WORD $0x0149; BYTE $0xc3 // addq %rax, %r11 + WORD $0x0148; BYTE $0xc3 // addq %rax, %rbx LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - WORD $0x0149; BYTE $0xc9 // addq %rcx, %r9 - LONG $0xf7718e0f; WORD $0xffff // jle LBB28_16, $-2191(%rip) + WORD $0x0149; BYTE $0xcf // addq %rcx, %r15 + LONG $0xf7498e0f; WORD $0xffff // jle LBB27_44, $-2231(%rip) -LBB28_86: - LONG $0x03b60f41 // movzbl (%r11), %eax +LBB27_112: + WORD $0xb60f; BYTE $0x03 // movzbl (%rbx), %eax WORD $0x5c3c // cmpb $92, %al - LONG $0xffd5840f; WORD $0xffff // je LBB28_84, $-43(%rip) + LONG $0xffd6840f; WORD $0xffff // je LBB27_110, $-42(%rip) WORD $0x223c // cmpb $34, %al - LONG $0xf887840f; WORD $0xffff // je LBB28_79, $-1913(%rip) + 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 $0x0149; BYTE $0xc3 // addq %rax, %r11 + WORD $0x0148; BYTE $0xc3 // addq %rax, %rbx LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - WORD $0x0149; BYTE $0xc9 // addq %rcx, %r9 - LONG $0xffcd8f0f; WORD $0xffff // jg LBB28_86, $-51(%rip) - LONG $0xfff739e9; BYTE $0xff // jmp LBB28_16, $-2247(%rip) - BYTE $0x90 // .p2align 2, 0x90 - - // .set L28_0_set_16, LBB28_16-LJTI28_0 - // .set L28_0_set_18, LBB28_18-LJTI28_0 - // .set L28_0_set_19, LBB28_19-LJTI28_0 - // .set L28_0_set_2, LBB28_2-LJTI28_0 - // .set L28_0_set_28, LBB28_28-LJTI28_0 - // .set L28_0_set_52, LBB28_52-LJTI28_0 - // .set L28_0_set_17, LBB28_17-LJTI28_0 - // .set L28_0_set_53, LBB28_53-LJTI28_0 -LJTI28_0: - LONG $0xfffff738 // .long L28_0_set_16 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff76c // .long L28_0_set_19 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff677 // .long L28_0_set_2 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff677 // .long L28_0_set_2 - LONG $0xfffff677 // .long L28_0_set_2 - LONG $0xfffff677 // .long L28_0_set_2 - LONG $0xfffff677 // .long L28_0_set_2 - LONG $0xfffff677 // .long L28_0_set_2 - LONG $0xfffff677 // .long L28_0_set_2 - LONG $0xfffff677 // .long L28_0_set_2 - LONG $0xfffff677 // .long L28_0_set_2 - LONG $0xfffff677 // .long L28_0_set_2 - LONG $0xfffff677 // .long L28_0_set_2 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff870 // .long L28_0_set_28 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffffbba // .long L28_0_set_52 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff74a // .long L28_0_set_17 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff74a // .long L28_0_set_17 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffff75d // .long L28_0_set_18 - LONG $0xfffffbcd // .long L28_0_set_53 + 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 - // .p2align 4, 0x00 -LCPI29_0: +LCPI28_0: LONG $0x00000001 // .long 1 LONG $0x00000000 // .long 0 LONG $0x00000000 // .long 0 @@ -7497,556 +7510,1206 @@ LCPI29_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 $0xf6 // movq %rsi, %r14 - WORD $0x8949; BYTE $0xfd // movq %rdi, %r13 - LONG $0x08428b48 // movq $8(%rdx), %rax - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x0671840f; WORD $0x0000 // je LBB29_83, $1649(%rip) - WORD $0x8b4c; BYTE $0x3a // movq (%rdx), %r15 - LONG $0x04e0c148 // shlq $4, %rax - WORD $0x014c; BYTE $0xf8 // addq %r15, %rax - LONG $0xb04d8948 // movq %rcx, $-80(%rbp) - LONG $0xb8458948 // movq %rax, $-72(%rbp) + 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) -LBB29_2: - LONG $0x007d8b49 // movq (%r13), %rdi - LONG $0x08758b49 // movq $8(%r13), %rsi - WORD $0x894c; BYTE $0xf2 // movq %r14, %rdx - LONG $0xffd26ae8; BYTE $0xff // callq _advance_ns, $-11670(%rip) - WORD $0x8b49; BYTE $0x0f // movq (%r15), %rcx - WORD $0x8548; BYTE $0xc9 // testq %rcx, %rcx - LONG $0x069c840f; WORD $0x0000 // je LBB29_89, $1692(%rip) - WORD $0x498a; BYTE $0x17 // movb $23(%rcx), %cl - WORD $0xe180; BYTE $0x1f // andb $31, %cl - WORD $0xf980; BYTE $0x02 // cmpb $2, %cl - LONG $0x059f840f; WORD $0x0000 // je LBB29_76, $1439(%rip) - WORD $0xf980; BYTE $0x18 // cmpb $24, %cl - LONG $0x0684850f; WORD $0x0000 // jne LBB29_89, $1668(%rip) - WORD $0x7b3c // cmpb $123, %al - LONG $0xc87d894c // movq %r15, $-56(%rbp) - LONG $0x065f850f; WORD $0x0000 // jne LBB29_87, $1631(%rip) - QUAD $0x9090909090909090; WORD $0x9090 // .p2align 4, 0x90 +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 -LBB29_6: - LONG $0x007d8b49 // movq (%r13), %rdi - LONG $0x08758b49 // movq $8(%r13), %rsi - WORD $0x894c; BYTE $0xf2 // movq %r14, %rdx - LONG $0xffd220e8; BYTE $0xff // callq _advance_ns, $-11744(%rip) - WORD $0x223c // cmpb $34, %al - LONG $0x061e850f; WORD $0x0000 // jne LBB29_84, $1566(%rip) - LONG $0x08478b49 // movq $8(%r15), %rax - WORD $0x894c; BYTE $0xf3 // movq %r14, %rbx +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 $0x08788b4c // movq $8(%rax), %r15 - QUAD $0xffffffffc045c748 // movq $-1, $-64(%rbp) - WORD $0x8b4c; BYTE $0x23 // movq (%rbx), %r12 - WORD $0x894c; BYTE $0xef // movq %r13, %rdi - WORD $0x894c; BYTE $0xe6 // movq %r12, %rsi - LONG $0xc0558d48 // leaq $-64(%rbp), %rdx - LONG $0x001e60e8; BYTE $0x00 // callq _advance_string_default, $7776(%rip) + 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 $0x0634880f; WORD $0x0000 // js LBB29_90, $1588(%rip) - WORD $0x8949; BYTE $0xd8 // movq %rbx, %r8 - WORD $0x8948; BYTE $0x03 // movq %rax, (%rbx) - LONG $0xc04d8b48 // movq $-64(%rbp), %rcx + 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 LBB29_10, $9(%rip) + LONG $0x0009840f; WORD $0x0000 // je LBB28_64, $9(%rip) WORD $0x3948; BYTE $0xc1 // cmpq %rax, %rcx - LONG $0x013c8e0f; WORD $0x0000 // jle LBB29_29, $316(%rip) + LONG $0x01308e0f; WORD $0x0000 // jle LBB28_84, $304(%rip) -LBB29_10: - WORD $0x894c; BYTE $0xe1 // movq %r12, %rcx - WORD $0xf748; BYTE $0xd1 // notq %rcx - WORD $0x0148; BYTE $0xc8 // addq %rcx, %rax - LONG $0x000001bb; BYTE $0x00 // movl $1, %ebx - WORD $0x8948; BYTE $0xc1 // movq %rax, %rcx - WORD $0x094c; BYTE $0xf9 // orq %r15, %rcx - LONG $0x00d2840f; WORD $0x0000 // je LBB29_25, $210(%rip) - WORD $0x394c; BYTE $0xf8 // cmpq %r15, %rax - LONG $0x00c7850f; WORD $0x0000 // jne LBB29_24, $199(%rip) - LONG $0x0065034d // addq (%r13), %r12 - LONG $0x10ff8349 // cmpq $16, %r15 - LONG $0x0038820f; WORD $0x0000 // jb LBB29_15, $56(%rip) - QUAD $0x9090909090909090; BYTE $0x90 // .p2align 4, 0x90 +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 -LBB29_13: - LONG $0x6f7ac1c4; WORD $0x2404 // vmovdqu (%r12), %xmm0 +LBB28_67: + LONG $0x036ffac5 // vmovdqu (%rbx), %xmm0 LONG $0x7479c1c4; BYTE $0x06 // vpcmpeqb (%r14), %xmm0, %xmm0 - LONG $0xc0d7f9c5 // vpmovmskb %xmm0, %eax - LONG $0xfff88366 // cmpw $-1, %ax - LONG $0x0097850f; WORD $0x0000 // jne LBB29_24, $151(%rip) - LONG $0x10c48349 // addq $16, %r12 + 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 $0xf0c78349 // addq $-16, %r15 - LONG $0x0fff8349 // cmpq $15, %r15 - LONG $0xffd1870f; WORD $0xffff // ja LBB29_13, $-47(%rip) + 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) -LBB29_15: - WORD $0x8944; BYTE $0xf0 // movl %r14d, %eax - LONG $0x000fff25; BYTE $0x00 // andl $4095, %eax - LONG $0x000ff03d; BYTE $0x00 // cmpl $4080, %eax - LONG $0x0042870f; WORD $0x0000 // ja LBB29_19, $66(%rip) - WORD $0x8944; BYTE $0xe0 // movl %r12d, %eax - LONG $0x000fff25; BYTE $0x00 // andl $4095, %eax - LONG $0x000ff13d; BYTE $0x00 // cmpl $4081, %eax - LONG $0x002f830f; WORD $0x0000 // jae LBB29_19, $47(%rip) - LONG $0x6f7ac1c4; WORD $0x2404 // vmovdqu (%r12), %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 - LONG $0xc0bc0f48 // bsfq %rax, %rax - WORD $0x394c; BYTE $0xf8 // cmpq %r15, %rax - WORD $0x930f; BYTE $0xc0 // setae %al - WORD $0xc808 // orb %cl, %al - WORD $0xb60f; BYTE $0xd8 // movzbl %al, %ebx - LONG $0x00002ee9; BYTE $0x00 // jmp LBB29_25, $46(%rip) +LBB28_209: + WORD $0x014c; BYTE $0xca // addq %r9, %rdx -LBB29_19: - WORD $0x854d; BYTE $0xff // testq %r15, %r15 - LONG $0x0025840f; WORD $0x0000 // je LBB29_25, $37(%rip) - WORD $0xc031 // xorl %eax, %eax - BYTE $0x90 // .p2align 4, 0x90 +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) -LBB29_21: - LONG $0x0cb60f41; BYTE $0x04 // movzbl (%r12,%rax), %ecx - LONG $0x060c3a41 // cmpb (%r14,%rax), %cl - LONG $0x0011850f; WORD $0x0000 // jne LBB29_24, $17(%rip) - WORD $0xff48; BYTE $0xc0 // incq %rax - WORD $0x3949; BYTE $0xc7 // cmpq %rax, %r15 - LONG $0xffe5850f; WORD $0xffff // jne LBB29_21, $-27(%rip) - LONG $0x000002e9; BYTE $0x00 // jmp LBB29_25, $2(%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) - // .p2align 4, 0x90 -LBB29_24: - WORD $0xdb31 // xorl %ebx, %ebx +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) -LBB29_25: - LONG $0x007d8b49 // movq (%r13), %rdi +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 -LBB29_26: - WORD $0x894d; BYTE $0xc6 // movq %r8, %r14 - LONG $0xc87d8b4c // movq $-56(%rbp), %r15 - LONG $0x08758b49 // movq $8(%r13), %rsi - WORD $0x894c; BYTE $0xc2 // movq %r8, %rdx - LONG $0xffd0c7e8; BYTE $0xff // callq _advance_ns, $-12089(%rip) - WORD $0x3a3c // cmpb $58, %al - LONG $0x04e4850f; WORD $0x0000 // jne LBB29_87, $1252(%rip) - WORD $0x8548; BYTE $0xdb // testq %rbx, %rbx - LONG $0x0486850f; WORD $0x0000 // jne LBB29_82, $1158(%rip) - WORD $0x894c; BYTE $0xef // movq %r13, %rdi - WORD $0x894c; BYTE $0xf6 // movq %r14, %rsi - LONG $0xfff21be8; BYTE $0xff // callq _skip_one_fast, $-3557(%rip) - LONG $0x007d8b49 // movq (%r13), %rdi - LONG $0x08758b49 // movq $8(%r13), %rsi - WORD $0x894c; BYTE $0xf2 // movq %r14, %rdx - LONG $0xffd09be8; BYTE $0xff // callq _advance_ns, $-12133(%rip) - WORD $0x2c3c // cmpb $44, %al - LONG $0xfe63840f; WORD $0xffff // je LBB29_6, $-413(%rip) - LONG $0x000494e9; BYTE $0x00 // jmp LBB29_84, $1172(%rip) +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) -LBB29_29: - QUAD $0x00000000d045c748 // movq $0, $-48(%rbp) - LONG $0x007d8b49 // movq (%r13), %rdi - WORD $0x0149; BYTE $0xfc // addq %rdi, %r12 - LONG $0x07748d48; BYTE $0xff // leaq $-1(%rdi,%rax), %rsi - LONG $0x3e148d4f // leaq (%r14,%r15), %r10 - WORD $0x854d; BYTE $0xff // testq %r15, %r15 - LONG $0x039a8e0f; WORD $0x0000 // jle LBB29_74, $922(%rip) - WORD $0x394c; BYTE $0xe6 // cmpq %r12, %rsi - LONG $0x0391860f; WORD $0x0000 // jbe LBB29_74, $913(%rip) - LONG $0xcd3d8d4c; WORD $0x0094; BYTE $0x00 // leaq $38093(%rip), %r15 /* __UnquoteTab(%rip) */ - LONG $0xd05d8d48 // leaq $-48(%rbp), %rbx + // .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 -LBB29_32: - LONG $0x24048a41 // movb (%r12), %al - WORD $0x5c3c // cmpb $92, %al - LONG $0x0053850f; WORD $0x0000 // jne LBB29_37, $83(%rip) - WORD $0x8948; BYTE $0xf1 // movq %rsi, %rcx - WORD $0x294c; BYTE $0xe1 // subq %r12, %rcx - LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - WORD $0x8548; BYTE $0xc9 // testq %rcx, %rcx - LONG $0x04b98e0f; WORD $0x0000 // jle LBB29_94, $1209(%rip) - LONG $0x54b60f41; WORD $0x0124 // movzbl $1(%r12), %edx - LONG $0x3a1c8a46 // movb (%rdx,%r15), %r11b - LONG $0xfffb8041 // cmpb $-1, %r11b - LONG $0x003d840f; WORD $0x0000 // je LBB29_39, $61(%rip) - WORD $0x8445; BYTE $0xdb // testb %r11b, %r11b - LONG $0x048a840f; WORD $0x0000 // je LBB29_92, $1162(%rip) - LONG $0xd05d8844 // movb %r11b, $-48(%rbp) - LONG $0x02c48349 // addq $2, %r12 - LONG $0x000001b9; BYTE $0x00 // movl $1, %ecx - LONG $0x0d4c8d4c; BYTE $0xd0 // leaq $-48(%rbp,%rcx), %r9 - WORD $0x394d; BYTE $0xd6 // cmpq %r10, %r14 - LONG $0x013f820f; WORD $0x0000 // jb LBB29_49, $319(%rip) - LONG $0x000309e9; BYTE $0x00 // jmp LBB29_70, $777(%rip) +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 -LBB29_37: - WORD $0x3a41; BYTE $0x06 // cmpb (%r14), %al - LONG $0x0331850f; WORD $0x0000 // jne LBB29_75, $817(%rip) - WORD $0xff49; BYTE $0xc4 // incq %r12 - WORD $0xff49; BYTE $0xc6 // incq %r14 - LONG $0x000301e9; BYTE $0x00 // jmp LBB29_72, $769(%rip) +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 -LBB29_39: - LONG $0x03f98348 // cmpq $3, %rcx - LONG $0x045b8e0f; WORD $0x0000 // jle LBB29_93, $1115(%rip) - WORD $0x894c; BYTE $0xfb // movq %r15, %rbx - WORD $0x8949; BYTE $0xf7 // movq %rsi, %r15 - LONG $0x24448b41; BYTE $0x02 // movl $2(%r12), %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 $0x0419850f; WORD $0x0000 // jne LBB29_91, $1049(%rip) - LONG $0x1919b08d; WORD $0x1919 // leal $421075225(%rax), %esi - WORD $0xc609 // orl %eax, %esi - LONG $0x8080c6f7; WORD $0x8080 // testl $-2139062144, %esi - LONG $0x0405850f; WORD $0x0000 // jne LBB29_91, $1029(%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 $0x03e1850f; WORD $0x0000 // jne LBB29_91, $993(%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 $0x03c7850f; WORD $0x0000 // jne LBB29_91, $967(%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 $0x244c8d4d; BYTE $0x06 // leaq $6(%r12), %r9 - WORD $0xf883; BYTE $0x7f // cmpl $127, %eax - LONG $0x00bd860f; WORD $0x0000 // jbe LBB29_58, $189(%rip) - LONG $0x0007ff3d; BYTE $0x00 // cmpl $2047, %eax - LONG $0x00c0860f; WORD $0x0000 // jbe LBB29_59, $192(%rip) - WORD $0x8944; BYTE $0xda // movl %r11d, %edx - LONG $0x0000e281; WORD $0x00f8 // andl $16252928, %edx - LONG $0x0000fa81; WORD $0x00d8 // cmpl $14155776, %edx - LONG $0x00cc840f; WORD $0x0000 // je LBB29_60, $204(%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 +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 -LBB29_48: - WORD $0x894d; BYTE $0xcc // movq %r9, %r12 - WORD $0x894c; BYTE $0xfe // movq %r15, %rsi - WORD $0x8949; BYTE $0xdf // movq %rbx, %r15 - LONG $0xd05d8d48 // leaq $-48(%rbp), %rbx - LONG $0x0d4c8d4c; BYTE $0xd0 // leaq $-48(%rbp,%rcx), %r9 - WORD $0x394d; BYTE $0xd6 // cmpq %r10, %r14 - LONG $0x01cf830f; WORD $0x0000 // jae LBB29_70, $463(%rip) - -LBB29_49: - WORD $0x3949; BYTE $0xd9 // cmpq %rbx, %r9 - LONG $0x01c6860f; WORD $0x0000 // jbe LBB29_70, $454(%rip) - WORD $0x3845; BYTE $0x1e // cmpb %r11b, (%r14) - LONG $0x01bd850f; WORD $0x0000 // jne LBB29_70, $445(%rip) - WORD $0x8949; BYTE $0xdb // movq %rbx, %r11 - WORD $0x8948; BYTE $0xf3 // movq %rsi, %rbx - WORD $0xff49; BYTE $0xc6 // incq %r14 - LONG $0xd1558d48 // leaq $-47(%rbp), %rdx - WORD $0x894c; BYTE $0xf6 // movq %r14, %rsi +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 -LBB29_52: - WORD $0x8949; BYTE $0xf6 // movq %rsi, %r14 - WORD $0x8948; BYTE $0xd1 // movq %rdx, %rcx - WORD $0x394c; BYTE $0xca // cmpq %r9, %rdx - LONG $0x001d830f; WORD $0x0000 // jae LBB29_55, $29(%rip) - WORD $0x394d; BYTE $0xd6 // cmpq %r10, %r14 - LONG $0x0014830f; WORD $0x0000 // jae LBB29_55, $20(%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_52, $-44(%rip) - -LBB29_55: - WORD $0x8948; BYTE $0xde // movq %rbx, %rsi - WORD $0x894c; BYTE $0xdb // movq %r11, %rbx - LONG $0x000179e9; BYTE $0x00 // jmp LBB29_71, $377(%rip) - -LBB29_58: - LONG $0xd05d8844 // movb %r11b, $-48(%rbp) - LONG $0x000001b9; BYTE $0x00 // movl $1, %ecx - LONG $0xffff7ee9; BYTE $0xff // jmp LBB29_48, $-130(%rip) - -LBB29_59: - 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 $0xffff5de9; BYTE $0xff // jmp LBB29_48, $-163(%rip) - -LBB29_60: - LONG $0x06f98348 // cmpq $6, %rcx - LONG $0x02c78c0f; WORD $0x0000 // jl LBB29_96, $711(%rip) - LONG $0x00dbff3d; BYTE $0x00 // cmpl $56319, %eax - LONG $0x02bc870f; WORD $0x0000 // ja LBB29_96, $700(%rip) - LONG $0x5c398041 // cmpb $92, (%r9) - LONG $0x02b2850f; WORD $0x0000 // jne LBB29_96, $690(%rip) - LONG $0x247c8041; WORD $0x7507 // cmpb $117, $7(%r12) - LONG $0x02a6850f; WORD $0x0000 // jne LBB29_96, $678(%rip) - LONG $0x244c8d4d; BYTE $0x08 // leaq $8(%r12), %r9 - LONG $0x244c8b41; BYTE $0x08 // movl $8(%r12), %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 $0x0278850f; WORD $0x0000 // jne LBB29_95, $632(%rip) - LONG $0x1919b18d; WORD $0x1919 // leal $421075225(%rcx), %esi - WORD $0xce09 // orl %ecx, %esi - LONG $0x8080c6f7; WORD $0x8080 // testl $-2139062144, %esi - LONG $0x0264850f; WORD $0x0000 // jne LBB29_95, $612(%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 $0x46469e8d; WORD $0x4646 // leal $1179010630(%rsi), %ebx - WORD $0x2141; BYTE $0xd3 // andl %edx, %r11d - WORD $0x8541; BYTE $0xdb // testl %ebx, %r11d - LONG $0x0241850f; WORD $0x0000 // jne LBB29_95, $577(%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 $0x0227850f; WORD $0x0000 // jne LBB29_95, $551(%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 $0x01fe850f; WORD $0x0000 // jne LBB29_96, $510(%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 $0x0cc48349 // addq $12, %r12 - LONG $0x000004b9; BYTE $0x00 // movl $4, %ecx - LONG $0x79058d48; WORD $0x0091; BYTE $0x00 // leaq $37241(%rip), %rax /* __UnquoteTab(%rip) */ - LONG $0xd05d8d48 // leaq $-48(%rbp), %rbx - WORD $0x894c; BYTE $0xfe // movq %r15, %rsi - WORD $0x8949; BYTE $0xc7 // movq %rax, %r15 - LONG $0x0d4c8d4c; BYTE $0xd0 // leaq $-48(%rbp,%rcx), %r9 - WORD $0x394d; BYTE $0xd6 // cmpq %r10, %r14 - LONG $0xfe31820f; WORD $0xffff // jb LBB29_49, $-463(%rip) - -LBB29_70: - WORD $0x8948; BYTE $0xd9 // movq %rbx, %rcx - -LBB29_71: - WORD $0x394c; BYTE $0xc9 // cmpq %r9, %rcx - LONG $0x0025850f; WORD $0x0000 // jne LBB29_75, $37(%rip) - -LBB29_72: - WORD $0x394c; BYTE $0xe6 // cmpq %r12, %rsi - LONG $0x0009860f; WORD $0x0000 // jbe LBB29_74, $9(%rip) - WORD $0x394d; BYTE $0xd6 // cmpq %r10, %r14 - LONG $0xfc7a820f; WORD $0xffff // jb LBB29_32, $-902(%rip) - -LBB29_74: - WORD $0x314c; BYTE $0xe6 // xorq %r12, %rsi - WORD $0x314d; BYTE $0xd6 // xorq %r10, %r14 - WORD $0xdb31 // xorl %ebx, %ebx - WORD $0x0949; BYTE $0xf6 // orq %rsi, %r14 - WORD $0x940f; BYTE $0xc3 // sete %bl - LONG $0xfffbe6e9; BYTE $0xff // jmp LBB29_26, $-1050(%rip) +LBB28_237: + WORD $0x014c; BYTE $0xca // addq %r9, %rdx -LBB29_75: - WORD $0xdb31 // xorl %ebx, %ebx - LONG $0xfffbdfe9; BYTE $0xff // jmp LBB29_26, $-1057(%rip) +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 -LBB29_76: - WORD $0x5b3c // cmpb $91, %al - LONG $0x00cd850f; WORD $0x0000 // jne LBB29_87, $205(%rip) - LONG $0x08478b49 // movq $8(%r15), %rax - WORD $0x8b48; BYTE $0x18 // movq (%rax), %rbx - WORD $0x8548; BYTE $0xdb // testq %rbx, %rbx - LONG $0x00d6880f; WORD $0x0000 // js LBB29_89, $214(%rip) - LONG $0x007d8b49 // movq (%r13), %rdi - LONG $0x08758b49 // movq $8(%r13), %rsi - WORD $0x894c; BYTE $0xf2 // movq %r14, %rdx - LONG $0xffcc88e8; BYTE $0xff // callq _advance_ns, $-13176(%rip) - WORD $0x5d3c // cmpb $93, %al - LONG $0x008e840f; WORD $0x0000 // je LBB29_85, $142(%rip) - WORD $0xff49; BYTE $0x0e // decq (%r14) - WORD $0xff48; BYTE $0xc3 // incq %rbx - QUAD $0x9090909090909090; WORD $0x9090 // .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) -LBB29_80: - WORD $0xff48; BYTE $0xcb // decq %rbx - WORD $0x8548; BYTE $0xdb // testq %rbx, %rbx - LONG $0x00348e0f; WORD $0x0000 // jle LBB29_82, $52(%rip) - WORD $0x894c; BYTE $0xef // movq %r13, %rdi - WORD $0x894c; BYTE $0xf6 // movq %r14, %rsi - LONG $0xffedc9e8; BYTE $0xff // callq _skip_one_fast, $-4663(%rip) - LONG $0x007d8b49 // movq (%r13), %rdi - LONG $0x08758b49 // movq $8(%r13), %rsi - WORD $0x894c; BYTE $0xf2 // movq %r14, %rdx - LONG $0xffcc49e8; BYTE $0xff // callq _advance_ns, $-13239(%rip) - WORD $0x2c3c // cmpb $44, %al - LONG $0xffd1840f; WORD $0xffff // je LBB29_80, $-47(%rip) - LONG $0x000059e9; BYTE $0x00 // jmp LBB29_86, $89(%rip) - QUAD $0x9090909090909090; LONG $0x90909090 // .p2align 4, 0x90 +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) -LBB29_82: - LONG $0x10c78349 // addq $16, %r15 +LBB28_242: LONG $0xb8458b48 // movq $-72(%rbp), %rax - WORD $0x3949; BYTE $0xc7 // cmpq %rax, %r15 - LONG $0xb04d8b48 // movq $-80(%rbp), %rcx - LONG $0xf9a1850f; WORD $0xffff // jne LBB29_2, $-1631(%rip) + 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) -LBB29_83: - QUAD $0xfffff953056ff9c5 // vmovdqa $-1709(%rip), %xmm0 /* LCPI29_0(%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 $0xee // movq %r13, %rsi - WORD $0x894c; BYTE $0xf2 // movq %r14, %rdx + WORD $0x894c; BYTE $0xde // movq %r11, %rsi + WORD $0x894c; BYTE $0xea // movq %r13, %rdx WORD $0xc931 // xorl %ecx, %ecx - LONG $0xffdddfe8; BYTE $0xff // callq _fsm_exec, $-8737(%rip) - LONG $0x000029e9; BYTE $0x00 // jmp LBB29_88, $41(%rip) + 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 -LBB29_84: - WORD $0x7d3c // cmpb $125, %al - LONG $0x0017850f; WORD $0x0000 // jne LBB29_87, $23(%rip) +LBB28_246: + WORD $0xff48; BYTE $0xc8 // decq %rax + LONG $0x00458949 // movq %rax, (%r13) + LONG $0xfec1c748; WORD $0xffff; BYTE $0xff // movq $-2, %rcx -LBB29_85: - WORD $0xff49; BYTE $0x0e // decq (%r14) - LONG $0xdfc0c748; WORD $0xffff; BYTE $0xff // movq $-33, %rax - LONG $0x000012e9; BYTE $0x00 // jmp LBB29_88, $18(%rip) +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 -LBB29_86: +LBB28_248: WORD $0x5d3c // cmpb $93, %al - LONG $0xffe9840f; WORD $0xffff // je LBB29_85, $-23(%rip) + 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) -LBB29_87: - WORD $0xff49; BYTE $0x0e // decq (%r14) - LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax +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) -LBB29_88: - 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 +LBB28_251: + WORD $0x8948; BYTE $0xd8 // movq %rbx, %rax -LBB29_89: - WORD $0xff49; BYTE $0x0e // decq (%r14) - LONG $0xdec0c748; WORD $0xffff; BYTE $0xff // movq $-34, %rax - LONG $0xffffe2e9; BYTE $0xff // jmp LBB29_88, $-30(%rip) +LBB28_252: + WORD $0xf980; BYTE $0x7d // cmpb $125, %cl + LONG $0xffb1850f; WORD $0xffff // jne LBB28_246, $-79(%rip) -LBB29_90: - LONG $0x08458b49 // movq $8(%r13), %rax - WORD $0x8948; BYTE $0x03 // movq %rax, (%rbx) - LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - LONG $0xffffcfe9; BYTE $0xff // jmp LBB29_88, $-49(%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) -LBB29_91: - LONG $0x02c48349 // addq $2, %r12 - LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax - LONG $0x000012e9; BYTE $0x00 // jmp LBB29_94, $18(%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) -LBB29_92: - WORD $0xff49; BYTE $0xc4 // incq %r12 - LONG $0xfdc0c748; WORD $0xffff; BYTE $0xff // movq $-3, %rax - LONG $0x000003e9; BYTE $0x00 // jmp LBB29_94, $3(%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) -LBB29_93: - WORD $0xff49; BYTE $0xc4 // incq %r12 +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) -LBB29_94: - WORD $0x2949; BYTE $0xfc // subq %rdi, %r12 - WORD $0x894d; BYTE $0x20 // movq %r12, (%r8) - LONG $0xffffa2e9; BYTE $0xff // jmp LBB29_88, $-94(%rip) +LBB28_257: + WORD $0xff48; BYTE $0xc3 // incq %rbx -LBB29_95: - LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax - LONG $0x000007e9; BYTE $0x00 // jmp LBB29_97, $7(%rip) +LBB28_258: + WORD $0x294c; BYTE $0xcb // subq %r9, %rbx + LONG $0x005d8949 // movq %rbx, (%r13) + LONG $0xffff63e9; BYTE $0xff // jmp LBB28_247, $-157(%rip) -LBB29_96: - LONG $0xfcc0c748; WORD $0xffff; BYTE $0xff // movq $-4, %rax +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 -LBB29_97: - WORD $0x894d; BYTE $0xcc // movq %r9, %r12 - LONG $0xffffdae9; BYTE $0xff // jmp LBB29_94, $-38(%rip) - QUAD $0x9090909090909090 // .p2align 4, 0x90 +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 @@ -8061,92 +8724,92 @@ _validate_utf8: 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) + LONG $0x000010e9; BYTE $0x00 // jmp LBB29_1, $16(%rip) QUAD $0x9090909090909090; LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 -LBB30_19: +LBB29_19: WORD $0x0148; BYTE $0xd9 // addq %rbx, %rcx -LBB30_1: +LBB29_1: WORD $0x394c; BYTE $0xc1 // cmpq %r8, %rcx - LONG $0x00e1830f; WORD $0x0000 // jae LBB30_2, $225(%rip) + 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 LBB30_19, $-26(%rip) + 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 LBB30_10, $48(%rip) + 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 LBB30_10, $28(%rip) + 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 LBB30_19, $-81(%rip) + LONG $0xffaf850f; WORD $0xffff // jne LBB29_19, $-81(%rip) QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 -LBB30_10: +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 LBB30_12, $16(%rip) + 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 LBB30_19, $-132(%rip) + LONG $0xff7c850f; WORD $0xffff // jne LBB29_19, $-132(%rip) -LBB30_12: +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 LBB30_16, $38(%rip) + 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 LBB30_16, $24(%rip) + 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 LBB30_19, $-179(%rip) + LONG $0xff4d840f; WORD $0xffff // je LBB29_19, $-179(%rip) LONG $0x00300325; BYTE $0x00 // andl $12291, %eax - LONG $0xff42840f; WORD $0xffff // je LBB30_19, $-190(%rip) + LONG $0xff42840f; WORD $0xffff // je LBB29_19, $-190(%rip) -LBB30_16: +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 LBB30_17, $391(%rip) + 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 LBB30_19, $-237(%rip) + LONG $0xffff13e9; BYTE $0xff // jmp LBB29_19, $-237(%rip) -LBB30_2: +LBB29_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 $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 LBB30_4, $22(%rip) + LONG $0x000016e9; BYTE $0x00 // jmp LBB29_4, $22(%rip) QUAD $0x9090909090909090; WORD $0x9090 // .p2align 4, 0x90 -LBB30_5: +LBB29_5: WORD $0xff48; BYTE $0xc1 // incq %rcx WORD $0x394c; BYTE $0xd9 // cmpq %r11, %rcx - LONG $0x011b830f; WORD $0x0000 // jae LBB30_36, $283(%rip) + LONG $0x011b830f; WORD $0x0000 // jae LBB29_36, $283(%rip) -LBB30_4: +LBB29_4: WORD $0x3980; BYTE $0x00 // cmpb $0, (%rcx) - LONG $0xffeb890f; WORD $0xffff // jns LBB30_5, $-21(%rip) + 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 LBB30_21, $53(%rip) + 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) @@ -8154,27 +8817,27 @@ LBB30_4: 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) + LONG $0x0029840f; WORD $0x0000 // je LBB29_24, $41(%rip) -LBB30_25: +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 LBB30_26, $23(%rip) + LONG $0x000017e9; BYTE $0x00 // jmp LBB29_26, $23(%rip) -LBB30_21: +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 LBB30_25, $-41(%rip) + LONG $0xffd7850f; WORD $0xffff // jne LBB29_25, $-41(%rip) -LBB30_24: +LBB29_24: WORD $0xff31 // xorl %edi, %edi -LBB30_26: +LBB29_26: LONG $0xc7b60f40 // movzbl %dil, %eax WORD $0xe0c1; BYTE $0x10 // shll $16, %eax LONG $0xdeb60f41 // movzbl %r14b, %ebx @@ -8184,36 +8847,36 @@ LBB30_26: 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) + 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 LBB30_29, $15(%rip) + 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 LBB30_34, $35(%rip) + LONG $0x0023850f; WORD $0x0000 // jne LBB29_34, $35(%rip) WORD $0x9090 // .p2align 4, 0x90 -LBB30_29: +LBB29_29: LONG $0x1ec4f641 // testb $30, %r12b - LONG $0x0028840f; WORD $0x0000 // je LBB30_31, $40(%rip) + 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 LBB30_31, $17(%rip) + LONG $0x0011850f; WORD $0x0000 // jne LBB29_31, $17(%rip) -LBB30_34: +LBB29_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) + LONG $0xff1f820f; WORD $0xffff // jb LBB29_4, $-225(%rip) + LONG $0x000035e9; BYTE $0x00 // jmp LBB29_36, $53(%rip) -LBB30_31: +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 LBB30_32, $52(%rip) + 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) @@ -8221,14 +8884,14 @@ LBB30_31: 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) + LONG $0xfee5820f; WORD $0xffff // jb LBB29_4, $-283(%rip) -LBB30_36: +LBB29_36: WORD $0x294c; BYTE $0xd1 // subq %r10, %rcx WORD $0x8948; BYTE $0x0e // movq %rcx, (%rsi) WORD $0xc031 // xorl %eax, %eax -LBB30_37: +LBB29_37: LONG $0x08c48348 // addq $8, %rsp BYTE $0x5b // popq %rbx WORD $0x5c41 // popq %r12 @@ -8237,15 +8900,15 @@ LBB30_37: BYTE $0x5d // popq %rbp BYTE $0xc3 // retq -LBB30_32: +LBB29_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) + LONG $0xffffe4e9; BYTE $0xff // jmp LBB29_37, $-28(%rip) -LBB30_17: +LBB29_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) + LONG $0xffffd5e9; BYTE $0xff // jmp LBB29_37, $-43(%rip) LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 _validate_utf8_fast: @@ -8258,59 +8921,59 @@ _validate_utf8_fast: 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 LBB31_14, $224(%rip) + LONG $0x00e0830f; WORD $0x0000 // jae LBB30_14, $224(%rip) WORD $0x894c; BYTE $0xd0 // movq %r10, %rax - LONG $0x000016e9; BYTE $0x00 // jmp LBB31_3, $22(%rip) + LONG $0x000016e9; BYTE $0x00 // jmp LBB30_3, $22(%rip) QUAD $0x9090909090909090; WORD $0x9090 // .p2align 4, 0x90 -LBB31_2: +LBB30_2: WORD $0x0148; BYTE $0xd0 // addq %rdx, %rax WORD $0x3948; BYTE $0xf0 // cmpq %rsi, %rax - LONG $0x00c2830f; WORD $0x0000 // jae LBB31_14, $194(%rip) + LONG $0x00c2830f; WORD $0x0000 // jae LBB30_14, $194(%rip) -LBB31_3: +LBB30_3: LONG $0x000001ba; BYTE $0x00 // movl $1, %edx WORD $0x3880; BYTE $0x00 // cmpb $0, (%rax) - LONG $0xffe6890f; WORD $0xffff // jns LBB31_2, $-26(%rip) + 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 LBB31_7, $48(%rip) + 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 LBB31_7, $28(%rip) + 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 LBB31_2, $-81(%rip) + LONG $0xffaf850f; WORD $0xffff // jne LBB30_2, $-81(%rip) QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 -LBB31_7: +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 LBB31_9, $16(%rip) + 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 LBB31_2, $-132(%rip) + LONG $0xff7c850f; WORD $0xffff // jne LBB30_2, $-132(%rip) -LBB31_9: +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 LBB31_13, $41(%rip) + 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 LBB31_13, $27(%rip) + 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 LBB31_2, $-181(%rip) + LONG $0xff4b840f; WORD $0xffff // je LBB30_2, $-181(%rip) LONG $0x3003e781; WORD $0x0000 // andl $12291, %edi - LONG $0xff3f840f; WORD $0xffff // je LBB31_2, $-193(%rip) + LONG $0xff3f840f; WORD $0xffff // je LBB30_2, $-193(%rip) -LBB31_13: +LBB30_13: WORD $0xf748; BYTE $0xd0 // notq %rax WORD $0x014c; BYTE $0xd0 // addq %r10, %rax LONG $0x08c48348 // addq $8, %rsp @@ -8318,29 +8981,29 @@ LBB31_13: BYTE $0x5d // popq %rbp BYTE $0xc3 // retq -LBB31_14: +LBB30_14: WORD $0x014d; BYTE $0xd3 // addq %r10, %r11 WORD $0x394c; BYTE $0xd8 // cmpq %r11, %rax - LONG $0x0103830f; WORD $0x0000 // jae LBB31_30, $259(%rip) + 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 LBB31_17, $21(%rip) + LONG $0x000015e9; BYTE $0x00 // jmp LBB30_17, $21(%rip) QUAD $0x9090909090909090; BYTE $0x90 // .p2align 4, 0x90 -LBB31_16: +LBB30_16: WORD $0xff48; BYTE $0xc0 // incq %rax WORD $0x394c; BYTE $0xd8 // cmpq %r11, %rax - LONG $0x00e1830f; WORD $0x0000 // jae LBB31_30, $225(%rip) + LONG $0x00e1830f; WORD $0x0000 // jae LBB30_30, $225(%rip) -LBB31_17: +LBB30_17: WORD $0x3880; BYTE $0x00 // cmpb $0, (%rax) - LONG $0xffeb890f; WORD $0xffff // jns LBB31_16, $-21(%rip) + 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 LBB31_21, $49(%rip) + 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) @@ -8348,27 +9011,27 @@ LBB31_17: LONG $0xfec28348 // addq $-2, %rdx WORD $0x894c; BYTE $0xcb // movq %r9, %rbx WORD $0x8548; BYTE $0xd2 // testq %rdx, %rdx - LONG $0x0025840f; WORD $0x0000 // je LBB31_22, $37(%rip) + LONG $0x0025840f; WORD $0x0000 // je LBB30_22, $37(%rip) -LBB31_20: +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 LBB31_23, $21(%rip) + LONG $0x000015e9; BYTE $0x00 // jmp LBB30_23, $21(%rip) -LBB31_21: +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 LBB31_20, $-37(%rip) + LONG $0xffdb850f; WORD $0xffff // jne LBB30_20, $-37(%rip) -LBB31_22: +LBB30_22: WORD $0xc931 // xorl %ecx, %ecx -LBB31_23: +LBB30_23: WORD $0xb60f; BYTE $0xc9 // movzbl %cl, %ecx WORD $0xe1c1; BYTE $0x10 // shll $16, %ecx LONG $0xffb60f40 // movzbl %dil, %edi @@ -8378,38 +9041,38 @@ LBB31_23: WORD $0xd109 // orl %edx, %ecx LONG $0xc0f0e181; WORD $0x00c0 // andl $12632304, %ecx LONG $0x80e0f981; WORD $0x0080 // cmpl $8421600, %ecx - LONG $0x0026850f; WORD $0x0000 // jne LBB31_26, $38(%rip) + 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 LBB31_26, $18(%rip) + 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 LBB31_28, $38(%rip) + LONG $0x0026850f; WORD $0x0000 // jne LBB30_28, $38(%rip) LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 -LBB31_26: +LBB30_26: LONG $0x1ec6f640 // testb $30, %sil - LONG $0xff07840f; WORD $0xffff // je LBB31_13, $-249(%rip) + 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 LBB31_13, $-272(%rip) + LONG $0xfef0850f; WORD $0xffff // jne LBB30_13, $-272(%rip) -LBB31_28: +LBB30_28: WORD $0x0148; BYTE $0xc8 // addq %rcx, %rax WORD $0x394c; BYTE $0xd8 // cmpq %r11, %rax - LONG $0xff1f820f; WORD $0xffff // jb LBB31_17, $-225(%rip) + LONG $0xff1f820f; WORD $0xffff // jb LBB30_17, $-225(%rip) -LBB31_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 5, 0x00 +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 -LCPI32_0: +LCPI31_0: QUAD $0x3030303030303030; QUAD $0x3030303030303030 // .space 16, '0000000000000000' QUAD $0x3030303030303030; QUAD $0x3030303030303030 // .space 16, '0000000000000000' @@ -8427,30 +9090,30 @@ _f32toa: 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) + 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 LBB32_11, $447(%rip) + 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 LBB32_139, $3283(%rip) + 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 LBB32_5, $25(%rip) + 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 LBB32_32, $1020(%rip) + LONG $0x03fc840f; WORD $0x0000 // je LBB31_32, $1020(%rip) -LBB32_5: +LBB31_5: WORD $0x8941; BYTE $0xf6 // movl %esi, %r14d LONG $0x01e68341 // andl $1, %r14d WORD $0xc085 // testl %eax, %eax @@ -8504,7 +9167,7 @@ LBB32_5: 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) + 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 @@ -8519,9 +9182,9 @@ LBB32_5: 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) + LONG $0x01e9840f; WORD $0x0000 // je LBB31_16, $489(%rip) -LBB32_7: +LBB31_7: WORD $0x894c; BYTE $0xd0 // movq %r10, %rax LONG $0x02e8c148 // shrq $2, %rax WORD $0x8944; BYTE $0xd6 // movl %r10d, %esi @@ -8532,77 +9195,77 @@ LBB32_7: 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) + 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 LBB32_10, $14(%rip) + 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 -LBB32_10: +LBB31_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) + LONG $0x0059820f; WORD $0x0000 // jb LBB31_17, $89(%rip) -LBB32_13: +LBB31_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 $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 LBB32_22, $116(%rip) + 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 LBB32_21, $96(%rip) + LONG $0x000060e9; BYTE $0x00 // jmp LBB31_21, $96(%rip) -LBB32_11: +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 LBB32_137, $2809(%rip) + LONG $0x000af9e9; BYTE $0x00 // jmp LBB31_137, $2809(%rip) -LBB32_12: +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 LBB32_13, $-89(%rip) + LONG $0xffa7830f; WORD $0xffff // jae LBB31_13, $-89(%rip) -LBB32_17: +LBB31_17: LONG $0x000001be; BYTE $0x00 // movl $1, %esi LONG $0x0afd8341 // cmpl $10, %r13d - LONG $0x0030820f; WORD $0x0000 // jb LBB32_22, $48(%rip) + 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 LBB32_22, $33(%rip) + 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 LBB32_22, $15(%rip) + 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 -LBB32_21: +LBB31_21: WORD $0xde83; BYTE $0x00 // sbbl $0, %esi -LBB32_22: +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 LBB32_26, $117(%rip) + 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 LBB32_30, $243(%rip) + 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 LBB32_62, $1163(%rip) + 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 @@ -8616,19 +9279,19 @@ LBB32_22: 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) + LONG $0x00ab830f; WORD $0x0000 // jae LBB31_64, $171(%rip) -LBB32_31: +LBB31_31: WORD $0xda89 // movl %ebx, %edx - LONG $0x0000e8e9; BYTE $0x00 // jmp LBB32_66, $232(%rip) + LONG $0x0000e8e9; BYTE $0x00 // jmp LBB31_66, $232(%rip) -LBB32_26: +LBB31_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 $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 LBB32_43, $653(%rip) + 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 @@ -8647,33 +9310,33 @@ LBB32_26: 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) + LONG $0x0249830f; WORD $0x0000 // jae LBB31_44, $585(%rip) -LBB32_29: +LBB31_29: WORD $0x8944; BYTE $0xe9 // movl %r13d, %ecx - LONG $0x000286e9; BYTE $0x00 // jmp LBB32_46, $646(%rip) + LONG $0x000286e9; BYTE $0x00 // jmp LBB31_46, $646(%rip) -LBB32_16: +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 LBB32_13, $-428(%rip) - LONG $0xfffea8e9; BYTE $0xff // jmp LBB32_17, $-344(%rip) + LONG $0xfe54830f; WORD $0xffff // jae LBB31_13, $-428(%rip) + LONG $0xfffea8e9; BYTE $0xff // jmp LBB31_17, $-344(%rip) -LBB32_30: +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 LBB32_31, $-171(%rip) + LONG $0xff55820f; WORD $0xffff // jb LBB31_31, $-171(%rip) -LBB32_64: +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 -LBB32_65: +LBB31_65: WORD $0xda89 // movl %ebx, %edx LONG $0x1fd26948; WORD $0xeb85; BYTE $0x51 // imulq $1374389535, %rdx, %rdx LONG $0x25eac148 // shrq $37, %rdx @@ -8685,77 +9348,77 @@ LBB32_65: 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) + LONG $0xffd1870f; WORD $0xffff // ja LBB31_65, $-47(%rip) -LBB32_66: +LBB31_66: LONG $0x01708d49 // leaq $1(%r8), %rsi WORD $0xfa83; BYTE $0x0a // cmpl $10, %edx - LONG $0x001d820f; WORD $0x0000 // jb LBB32_68, $29(%rip) + 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 LBB32_69, $5(%rip) + LONG $0x000005e9; BYTE $0x00 // jmp LBB31_69, $5(%rip) -LBB32_68: +LBB31_68: WORD $0xc280; BYTE $0x30 // addb $48, %dl WORD $0x1688 // movb %dl, (%rsi) -LBB32_69: +LBB31_69: WORD $0x294d; BYTE $0xce // subq %r9, %r14 QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 -LBB32_70: +LBB31_70: LONG $0xff7e8041; BYTE $0x30 // cmpb $48, $-1(%r14) LONG $0xff768d4d // leaq $-1(%r14), %r14 - LONG $0xfff1840f; WORD $0xffff // je LBB32_70, $-15(%rip) + 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 LBB32_73, $6(%rip) + LONG $0x00068c0f; WORD $0x0000 // jl LBB31_73, $6(%rip) WORD $0x06c6; BYTE $0x2e // movb $46, (%rsi) WORD $0x8949; BYTE $0xc6 // movq %rax, %r14 -LBB32_73: +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 LBB32_76, $290(%rip) + 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 LBB32_77, $292(%rip) + LONG $0x01248c0f; WORD $0x0000 // jl LBB31_77, $292(%rip) -LBB32_75: +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 LBB32_136, $2185(%rip) + LONG $0x000889e9; BYTE $0x00 // jmp LBB31_136, $2185(%rip) -LBB32_32: +LBB31_32: WORD $0xeed3 // shrl %cl, %esi LONG $0x86a0fe81; WORD $0x0001 // cmpl $100000, %esi - LONG $0x01f1820f; WORD $0x0000 // jb LBB32_52, $497(%rip) + 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 LBB32_36, $32(%rip) + 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 LBB32_36, $15(%rip) + 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 -LBB32_36: +LBB31_36: WORD $0x014c; BYTE $0xc0 // addq %r8, %rax -LBB32_37: +LBB31_37: WORD $0xf189 // movl %esi, %ecx LONG $0xb71759ba; BYTE $0xd1 // movl $3518437209, %edx LONG $0xd1af0f48 // imulq %rcx, %rdx @@ -8775,21 +9438,21 @@ LBB32_37: 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) + LONG $0x01ac830f; WORD $0x0000 // jae LBB31_56, $428(%rip) + LONG $0x0001efe9; BYTE $0x00 // jmp LBB31_58, $495(%rip) -LBB32_38: +LBB31_38: WORD $0x8545; BYTE $0xd2 // testl %r10d, %r10d - LONG $0x04878f0f; WORD $0x0000 // jg LBB32_96, $1159(%rip) + 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 LBB32_96, $1140(%rip) + 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 LBB32_94, $1086(%rip) + 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 @@ -8800,34 +9463,34 @@ LBB32_38: 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) + LONG $0x0321830f; WORD $0x0000 // jae LBB31_88, $801(%rip) WORD $0xdb31 // xorl %ebx, %ebx - LONG $0x0003c4e9; BYTE $0x00 // jmp LBB32_90, $964(%rip) + LONG $0x0003c4e9; BYTE $0x00 // jmp LBB31_90, $964(%rip) -LBB32_76: +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 LBB32_75, $-292(%rip) + LONG $0xfedc8d0f; WORD $0xffff // jge LBB31_75, $-292(%rip) -LBB32_77: +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 LBB32_136, $1905(%rip) + LONG $0x000771e9; BYTE $0x00 // jmp LBB31_136, $1905(%rip) -LBB32_43: +LBB31_43: WORD $0x8948; BYTE $0xf0 // movq %rsi, %rax LONG $0x64fd8341 // cmpl $100, %r13d - LONG $0xfdb7820f; WORD $0xffff // jb LBB32_29, $-585(%rip) + LONG $0xfdb7820f; WORD $0xffff // jb LBB31_29, $-585(%rip) -LBB32_44: +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 -LBB32_45: +LBB31_45: WORD $0x8944; BYTE $0xe9 // movl %r13d, %ecx LONG $0x1fc96948; WORD $0xeb85; BYTE $0x51 // imulq $1374389535, %rcx, %rcx LONG $0x25e9c148 // shrq $37, %rcx @@ -8839,29 +9502,29 @@ LBB32_45: 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) + LONG $0xffcd870f; WORD $0xffff // ja LBB31_45, $-51(%rip) -LBB32_46: +LBB31_46: WORD $0x6349; BYTE $0xc2 // movslq %r10d, %rax WORD $0xf983; BYTE $0x0a // cmpl $10, %ecx - LONG $0x0022820f; WORD $0x0000 // jb LBB32_48, $34(%rip) + 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 LBB32_49, $23(%rip) - LONG $0x0006f1e9; BYTE $0x00 // jmp LBB32_136, $1777(%rip) + LONG $0x00178c0f; WORD $0x0000 // jl LBB31_49, $23(%rip) + LONG $0x0006f1e9; BYTE $0x00 // jmp LBB31_136, $1777(%rip) -LBB32_48: +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 LBB32_136, $1759(%rip) + LONG $0x06df8d0f; WORD $0x0000 // jge LBB31_136, $1759(%rip) -LBB32_49: +LBB31_49: LONG $0x21048d4b // leaq (%r9,%r12), %rax LONG $0x075c8d4c; BYTE $0x01 // leaq $1(%rdi,%rax), %r11 WORD $0x394d; BYTE $0xc3 // cmpq %r8, %r11 @@ -8870,7 +9533,7 @@ LBB32_49: 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) + 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 @@ -8880,33 +9543,33 @@ LBB32_49: 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) + LONG $0x00d7830f; WORD $0x0000 // jae LBB31_78, $215(%rip) WORD $0xc031 // xorl %eax, %eax - LONG $0x000188e9; BYTE $0x00 // jmp LBB32_80, $392(%rip) + LONG $0x000188e9; BYTE $0x00 // jmp LBB31_80, $392(%rip) -LBB32_52: +LBB31_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 $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 LBB32_55, $18(%rip) + 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 LBB32_86, $444(%rip) + LONG $0x01bc830f; WORD $0x0000 // jae LBB31_86, $444(%rip) -LBB32_55: +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 LBB32_58, $72(%rip) + LONG $0x0048820f; WORD $0x0000 // jb LBB31_58, $72(%rip) -LBB32_56: +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 -LBB32_57: +LBB31_57: WORD $0xf389 // movl %esi, %ebx WORD $0xf689 // movl %esi, %esi LONG $0x1ff66948; WORD $0xeb85; BYTE $0x51 // imulq $1374389535, %rsi, %rsi @@ -8918,42 +9581,42 @@ LBB32_57: 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) + LONG $0xffd1870f; WORD $0xffff // ja LBB31_57, $-47(%rip) -LBB32_58: +LBB31_58: WORD $0xfe83; BYTE $0x0a // cmpl $10, %esi - LONG $0x0016820f; WORD $0x0000 // jb LBB32_60, $22(%rip) + 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 LBB32_61, $7(%rip) + LONG $0x000007e9; BYTE $0x00 // jmp LBB31_61, $7(%rip) -LBB32_60: +LBB31_60: LONG $0x30c68040 // addb $48, %sil WORD $0x8841; BYTE $0x30 // movb %sil, (%r8) -LBB32_61: +LBB31_61: WORD $0x2941; BYTE $0xf9 // subl %edi, %r9d WORD $0x8945; BYTE $0xc8 // movl %r9d, %r8d - LONG $0x0005d5e9; BYTE $0x00 // jmp LBB32_137, $1493(%rip) + LONG $0x0005d5e9; BYTE $0x00 // jmp LBB31_137, $1493(%rip) -LBB32_62: +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 LBB32_31, $-1123(%rip) - LONG $0xfffc43e9; BYTE $0xff // jmp LBB32_64, $-957(%rip) + LONG $0xfb9d820f; WORD $0xffff // jb LBB31_31, $-1123(%rip) + LONG $0xfffc43e9; BYTE $0xff // jmp LBB31_64, $-957(%rip) -LBB32_78: +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 /* LCPI32_0(%rip) */ + QUAD $0xfffff87f056ffdc5 // vmovdqa $-1921(%rip), %ymm0 /* LCPI31_0(%rip) */ QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 -LBB32_79: +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) @@ -8972,58 +9635,58 @@ LBB32_79: 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) + LONG $0xff70850f; WORD $0xffff // jne LBB31_79, $-144(%rip) -LBB32_80: +LBB31_80: WORD $0x8548; BYTE $0xd2 // testq %rdx, %rdx - LONG $0x0037840f; WORD $0x0000 // je LBB32_83, $55(%rip) + 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 /* LCPI32_0(%rip) */ + QUAD $0xfffff7c1056ffdc5 // vmovdqa $-2111(%rip), %ymm0 /* LCPI31_0(%rip) */ BYTE $0x90 // .p2align 4, 0x90 -LBB32_82: +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 LBB32_82, $-32(%rip) + LONG $0xffe0850f; WORD $0xffff // jne LBB31_82, $-32(%rip) -LBB32_83: +LBB31_83: WORD $0x394d; BYTE $0xda // cmpq %r11, %r10 - LONG $0x04b9840f; WORD $0x0000 // je LBB32_136, $1209(%rip) + LONG $0x04b9840f; WORD $0x0000 // je LBB31_136, $1209(%rip) WORD $0x014c; BYTE $0xd6 // addq %r10, %rsi LONG $0x90909090 // .p2align 4, 0x90 -LBB32_85: +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 LBB32_85, $-15(%rip) - LONG $0x00049ee9; BYTE $0x00 // jmp LBB32_136, $1182(%rip) + LONG $0xfff1820f; WORD $0xffff // jb LBB31_85, $-15(%rip) + LONG $0x00049ee9; BYTE $0x00 // jmp LBB31_136, $1182(%rip) -LBB32_86: +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 LBB32_37, $-966(%rip) + LONG $0xfc3a830f; WORD $0xffff // jae LBB31_37, $-966(%rip) WORD $0x8949; BYTE $0xc1 // movq %rax, %r9 - LONG $0xfffe2ee9; BYTE $0xff // jmp LBB32_56, $-466(%rip) + LONG $0xfffe2ee9; BYTE $0xff // jmp LBB31_56, $-466(%rip) -LBB32_88: +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 /* LCPI32_0(%rip) */ + QUAD $0xfffff73e056ffdc5 // vmovdqa $-2242(%rip), %ymm0 /* LCPI31_0(%rip) */ -LBB32_89: +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) @@ -9042,52 +9705,52 @@ LBB32_89: 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) + LONG $0xff6f850f; WORD $0xffff // jne LBB31_89, $-145(%rip) -LBB32_90: +LBB31_90: WORD $0x854d; BYTE $0xdb // testq %r11, %r11 - LONG $0x0033840f; WORD $0x0000 // je LBB32_93, $51(%rip) + 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 /* LCPI32_0(%rip) */ + QUAD $0xfffff691056ffdc5 // vmovdqa $-2415(%rip), %ymm0 /* LCPI31_0(%rip) */ -LBB32_92: +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 LBB32_92, $-32(%rip) + LONG $0xffe0850f; WORD $0xffff // jne LBB31_92, $-32(%rip) -LBB32_93: +LBB31_93: WORD $0x014d; BYTE $0xf8 // addq %r15, %r8 WORD $0x394c; BYTE $0xfe // cmpq %r15, %rsi - LONG $0x0025840f; WORD $0x0000 // je LBB32_96, $37(%rip) + LONG $0x0025840f; WORD $0x0000 // je LBB31_96, $37(%rip) -LBB32_94: +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 -LBB32_95: +LBB31_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) + LONG $0xfff0850f; WORD $0xffff // jne LBB31_95, $-16(%rip) -LBB32_96: +LBB31_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) + 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 LBB32_101, $400(%rip) + 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 @@ -9101,24 +9764,24 @@ LBB32_96: 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) + LONG $0x0018830f; WORD $0x0000 // jae LBB31_103, $24(%rip) -LBB32_100: +LBB31_100: WORD $0x8944; BYTE $0xd9 // movl %r11d, %ecx - LONG $0x00004ee9; BYTE $0x00 // jmp LBB32_105, $78(%rip) + LONG $0x00004ee9; BYTE $0x00 // jmp LBB31_105, $78(%rip) -LBB32_99: +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 LBB32_100, $-24(%rip) + LONG $0xffe8820f; WORD $0xffff // jb LBB31_100, $-24(%rip) -LBB32_103: +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 -LBB32_104: +LBB31_104: WORD $0x8944; BYTE $0xd9 // movl %r11d, %ecx LONG $0x1fc96948; WORD $0xeb85; BYTE $0x51 // imulq $1374389535, %rcx, %rcx LONG $0x25e9c148 // shrq $37, %rcx @@ -9130,65 +9793,65 @@ LBB32_104: 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) + LONG $0xffce870f; WORD $0xffff // ja LBB31_104, $-50(%rip) -LBB32_105: +LBB31_105: WORD $0xf983; BYTE $0x0a // cmpl $10, %ecx - LONG $0x0016820f; WORD $0x0000 // jb LBB32_107, $22(%rip) + 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 LBB32_108, $6(%rip) + LONG $0x000006e9; BYTE $0x00 // jmp LBB31_108, $6(%rip) -LBB32_107: +LBB31_107: WORD $0xc180; BYTE $0x30 // addb $48, %cl WORD $0x8841; BYTE $0x08 // movb %cl, (%r8) -LBB32_108: +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 -LBB32_109: +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 LBB32_109, $-26(%rip) + 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 LBB32_115, $147(%rip) + 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 LBB32_116, $39(%rip) + LONG $0x00278e0f; WORD $0x0000 // jle LBB31_116, $39(%rip) WORD $0xdb85 // testl %ebx, %ebx - LONG $0x00fa8e0f; WORD $0x0000 // jle LBB32_127, $250(%rip) + 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 LBB32_121, $131(%rip) + LONG $0x0083830f; WORD $0x0000 // jae LBB31_121, $131(%rip) WORD $0xc931 // xorl %ecx, %ecx - LONG $0x0000ade9; BYTE $0x00 // jmp LBB32_124, $173(%rip) + LONG $0x0000ade9; BYTE $0x00 // jmp LBB31_124, $173(%rip) -LBB32_116: +LBB31_116: WORD $0x8945; BYTE $0xd6 // movl %r10d, %r14d WORD $0x2941; BYTE $0xce // subl %ecx, %r14d - LONG $0x004f8e0f; WORD $0x0000 // jle LBB32_115, $79(%rip) + 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 LBB32_134, $445(%rip) + 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 @@ -9200,66 +9863,66 @@ LBB32_116: 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) + LONG $0x0097830f; WORD $0x0000 // jae LBB31_128, $151(%rip) WORD $0xc931 // xorl %ecx, %ecx - LONG $0x000139e9; BYTE $0x00 // jmp LBB32_130, $313(%rip) + LONG $0x000139e9; BYTE $0x00 // jmp LBB31_130, $313(%rip) -LBB32_115: +LBB31_115: WORD $0x894d; BYTE $0xc8 // movq %r9, %r8 - LONG $0x0001a0e9; BYTE $0x00 // jmp LBB32_136, $416(%rip) + LONG $0x0001a0e9; BYTE $0x00 // jmp LBB31_136, $416(%rip) -LBB32_101: +LBB31_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) + LONG $0xfe96820f; WORD $0xffff // jb LBB31_100, $-362(%rip) + LONG $0xfffea9e9; BYTE $0xff // jmp LBB31_103, $-343(%rip) -LBB32_121: +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 -LBB32_122: +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 LBB32_122, $-25(%rip) + LONG $0xffe7850f; WORD $0xffff // jne LBB31_122, $-25(%rip) WORD $0xf748; BYTE $0xd9 // negq %rcx -LBB32_124: +LBB31_124: WORD $0x854d; BYTE $0xc9 // testq %r9, %r9 - LONG $0x0025840f; WORD $0x0000 // je LBB32_127, $37(%rip) + 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 -LBB32_126: +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 LBB32_126, $-26(%rip) + LONG $0xffe6850f; WORD $0xffff // jne LBB31_126, $-26(%rip) -LBB32_127: +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 LBB32_136, $280(%rip) + LONG $0x000118e9; BYTE $0x00 // jmp LBB31_136, $280(%rip) -LBB32_128: +LBB31_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) */ + QUAD $0xfffff3e5056ffdc5 // vmovdqa $-3099(%rip), %ymm0 /* LCPI31_0(%rip) */ -LBB32_129: +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) @@ -9279,46 +9942,46 @@ LBB32_129: 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) + LONG $0xff68850f; WORD $0xffff // jne LBB31_129, $-152(%rip) -LBB32_130: +LBB31_130: WORD $0x0149; BYTE $0xd1 // addq %rdx, %r9 WORD $0x854d; BYTE $0xd2 // testq %r10, %r10 - LONG $0x0035840f; WORD $0x0000 // je LBB32_133, $53(%rip) + 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 /* LCPI32_0(%rip) */ + QUAD $0xfffff330056ffdc5 // vmovdqa $-3280(%rip), %ymm0 /* LCPI31_0(%rip) */ -LBB32_132: +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 LBB32_132, $-36(%rip) + LONG $0xffdc850f; WORD $0xffff // jne LBB31_132, $-36(%rip) -LBB32_133: +LBB31_133: WORD $0x894d; BYTE $0xc8 // movq %r9, %r8 WORD $0x3949; BYTE $0xc3 // cmpq %rax, %r11 - LONG $0x0022840f; WORD $0x0000 // je LBB32_136, $34(%rip) + LONG $0x0022840f; WORD $0x0000 // je LBB31_136, $34(%rip) -LBB32_134: +LBB31_134: WORD $0x894d; BYTE $0xc8 // movq %r9, %r8 QUAD $0x9090909090909090; LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 -LBB32_135: +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 LBB32_135, $-18(%rip) + LONG $0xffee8c0f; WORD $0xffff // jl LBB31_135, $-18(%rip) -LBB32_136: +LBB31_136: WORD $0x2941; BYTE $0xf8 // subl %edi, %r8d -LBB32_137: +LBB31_137: WORD $0x8944; BYTE $0xc0 // movl %r8d, %eax BYTE $0x5b // popq %rbx WORD $0x5c41 // popq %r12 @@ -9329,14 +9992,14 @@ LBB32_137: WORD $0xf8c5; BYTE $0x77 // vzeroupper BYTE $0xc3 // retq -LBB32_138: +LBB31_138: WORD $0x3145; BYTE $0xc0 // xorl %r8d, %r8d - LONG $0xffffe7e9; BYTE $0xff // jmp LBB32_137, $-25(%rip) + LONG $0xffffe7e9; BYTE $0xff // jmp LBB31_137, $-25(%rip) -LBB32_139: +LBB31_139: LONG $0xff6bbf41; WORD $0xffff // movl $-149, %r15d WORD $0xc689 // movl %eax, %esi - LONG $0xfff352e9; BYTE $0xff // jmp LBB32_5, $-3246(%rip) + LONG $0xfff352e9; BYTE $0xff // jmp LBB31_5, $-3246(%rip) LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 _format_significand: @@ -9348,25 +10011,25 @@ _format_significand: 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) + 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 LBB33_8, $227(%rip) + LONG $0x00e3830f; WORD $0x0000 // jae LBB32_8, $227(%rip) -LBB33_7: +LBB32_7: WORD $0xd789 // movl %edx, %edi - LONG $0x000132e9; BYTE $0x00 // jmp LBB33_10, $306(%rip) + LONG $0x000132e9; BYTE $0x00 // jmp LBB32_10, $306(%rip) -LBB33_2: +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 LBB33_3, $164(%rip) + 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 @@ -9404,21 +10067,21 @@ LBB33_2: 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) + LONG $0xff38820f; WORD $0xffff // jb LBB32_7, $-200(%rip) + LONG $0x000016e9; BYTE $0x00 // jmp LBB32_8, $22(%rip) -LBB33_3: +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 LBB33_7, $-227(%rip) + LONG $0xff1d820f; WORD $0xffff // jb LBB32_7, $-227(%rip) -LBB33_8: +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 -LBB33_9: +LBB32_9: WORD $0xd789 // movl %edx, %edi LONG $0xfaaf0f49 // imulq %r10, %rdi LONG $0x2defc148 // shrq $45, %rdi @@ -9435,22 +10098,22 @@ LBB33_9: 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) + LONG $0xffb8870f; WORD $0xffff // ja LBB32_9, $-72(%rip) -LBB33_10: +LBB32_10: WORD $0xff83; BYTE $0x64 // cmpl $100, %edi - LONG $0x0020830f; WORD $0x0000 // jae LBB33_11, $32(%rip) + LONG $0x0020830f; WORD $0x0000 // jae LBB32_11, $32(%rip) WORD $0xff83; BYTE $0x0a // cmpl $10, %edi - LONG $0x004d820f; WORD $0x0000 // jb LBB33_14, $77(%rip) + LONG $0x004d820f; WORD $0x0000 // jb LBB32_14, $77(%rip) -LBB33_13: +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 LBB33_15, $61(%rip) + LONG $0x00003de9; BYTE $0x00 // jmp LBB32_15, $61(%rip) -LBB33_11: +LBB32_11: WORD $0xb70f; BYTE $0xc7 // movzwl %di, %eax WORD $0xe8c1; BYTE $0x02 // shrl $2, %eax LONG $0x147bc069; WORD $0x0000 // imull $5243, %eax, %eax @@ -9464,13 +10127,13 @@ LBB33_11: 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) + LONG $0xffb3830f; WORD $0xffff // jae LBB32_13, $-77(%rip) -LBB33_14: +LBB32_14: LONG $0x30c78040 // addb $48, %dil WORD $0x8840; BYTE $0x3e // movb %dil, (%rsi) -LBB33_15: +LBB32_15: WORD $0x294d; BYTE $0xc8 // subq %r9, %r8 WORD $0x894c; BYTE $0xc0 // movq %r8, %rax BYTE $0x5b // popq %rbx @@ -9492,31 +10155,31 @@ _left_shift: 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 $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 -LBB34_3: +LBB33_3: WORD $0xc084 // testb %al, %al - LONG $0x0025840f; WORD $0x0000 // je LBB34_8, $37(%rip) + LONG $0x0025840f; WORD $0x0000 // je LBB33_8, $37(%rip) LONG $0x32043841 // cmpb %al, (%r10,%rsi) - LONG $0x0189850f; WORD $0x0000 // jne LBB34_5, $393(%rip) + 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 LBB34_3, $-34(%rip) + LONG $0xffde850f; WORD $0xffff // jne LBB33_3, $-34(%rip) -LBB34_6: +LBB33_6: WORD $0xc084 // testb %al, %al - LONG $0x0003840f; WORD $0x0000 // je LBB34_8, $3(%rip) + LONG $0x0003840f; WORD $0x0000 // je LBB33_8, $3(%rip) -LBB34_7: +LBB33_7: WORD $0xff41; BYTE $0xc8 // decl %r8d -LBB34_8: +LBB33_8: WORD $0x8545; BYTE $0xc9 // testl %r9d, %r9d - LONG $0x008c8e0f; WORD $0x0000 // jle LBB34_23, $140(%rip) + 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 @@ -9524,7 +10187,7 @@ LBB34_8: QUAD $0xcccccccccccdbb49; WORD $0xcccc // movabsq $-3689348814741910323, %r11 LONG $0x90909090 // .p2align 4, 0x90 -LBB34_10: +LBB33_10: LONG $0x74be0f4b; WORD $0xff0a // movsbq $-1(%r10,%r9), %rsi LONG $0xd0c68348 // addq $-48, %rsi WORD $0xd348; BYTE $0xe6 // shlq %cl, %rsi @@ -9537,85 +10200,85 @@ LBB34_10: 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) + 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 LBB34_18, $19(%rip) + LONG $0x000013e9; BYTE $0x00 // jmp LBB33_18, $19(%rip) WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 -LBB34_16: +LBB33_16: WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x0007840f; WORD $0x0000 // je LBB34_18, $7(%rip) + LONG $0x0007840f; WORD $0x0000 // je LBB33_18, $7(%rip) LONG $0x011c47c7; WORD $0x0000; BYTE $0x00 // movl $1, $28(%rdi) -LBB34_18: +LBB33_18: LONG $0x02f98349 // cmpq $2, %r9 - LONG $0x000e8c0f; WORD $0x0000 // jl LBB34_12, $14(%rip) + 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 LBB34_10, $-104(%rip) + LONG $0xffff98e9; BYTE $0xff // jmp LBB33_10, $-104(%rip) -LBB34_12: +LBB33_12: LONG $0x0afe8348 // cmpq $10, %rsi - LONG $0x0067830f; WORD $0x0000 // jae LBB34_13, $103(%rip) + LONG $0x0067830f; WORD $0x0000 // jae LBB33_13, $103(%rip) -LBB34_23: +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 LBB34_25, $5(%rip) + LONG $0x0005870f; WORD $0x0000 // ja LBB33_25, $5(%rip) WORD $0x4f89; BYTE $0x10 // movl %ecx, $16(%rdi) WORD $0xc889 // movl %ecx, %eax -LBB34_25: +LBB33_25: LONG $0x14470144 // addl %r8d, $20(%rdi) WORD $0xc085 // testl %eax, %eax - LONG $0x002f8e0f; WORD $0x0000 // jle LBB34_29, $47(%rip) + 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 -LBB34_27: +LBB33_27: WORD $0xc8ff // decl %eax LONG $0x30013c80 // cmpb $48, (%rcx,%rax) - LONG $0x0018850f; WORD $0x0000 // jne LBB34_31, $24(%rip) + 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 LBB34_27, $-28(%rip) + LONG $0xffe48f0f; WORD $0xffff // jg LBB33_27, $-28(%rip) -LBB34_29: +LBB33_29: WORD $0xc085 // testl %eax, %eax - LONG $0x006b840f; WORD $0x0000 // je LBB34_30, $107(%rip) + LONG $0x006b840f; WORD $0x0000 // je LBB33_30, $107(%rip) -LBB34_31: +LBB33_31: BYTE $0x5b // popq %rbx WORD $0x5e41 // popq %r14 BYTE $0x5d // popq %rbp BYTE $0xc3 // retq -LBB34_13: +LBB33_13: WORD $0x6349; BYTE $0xf6 // movslq %r14d, %rsi WORD $0xff48; BYTE $0xce // decq %rsi - LONG $0x000021e9; BYTE $0x00 // jmp LBB34_14, $33(%rip) + LONG $0x000021e9; BYTE $0x00 // jmp LBB33_14, $33(%rip) QUAD $0x9090909090909090; LONG $0x90909090 // .p2align 4, 0x90 -LBB34_15: +LBB33_15: WORD $0x3004 // addb $48, %al WORD $0x8b48; BYTE $0x1f // movq (%rdi), %rbx WORD $0x0488; BYTE $0x33 // movb %al, (%rbx,%rsi) -LBB34_22: +LBB33_22: WORD $0xff48; BYTE $0xce // decq %rsi LONG $0x09f98348 // cmpq $9, %rcx - LONG $0xff6d860f; WORD $0xffff // jbe LBB34_23, $-147(%rip) + LONG $0xff6d860f; WORD $0xffff // jbe LBB33_23, $-147(%rip) -LBB34_14: +LBB33_14: WORD $0x8948; BYTE $0xd1 // movq %rdx, %rcx WORD $0x8948; BYTE $0xd0 // movq %rdx, %rax WORD $0xf749; BYTE $0xe3 // mulq %r11 @@ -9625,22 +10288,22 @@ LBB34_14: 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) + LONG $0xffc6870f; WORD $0xffff // ja LBB33_15, $-58(%rip) WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0xffc5840f; WORD $0xffff // je LBB34_22, $-59(%rip) + LONG $0xffc5840f; WORD $0xffff // je LBB33_22, $-59(%rip) LONG $0x011c47c7; WORD $0x0000; BYTE $0x00 // movl $1, $28(%rdi) - LONG $0xffffb9e9; BYTE $0xff // jmp LBB34_22, $-71(%rip) + LONG $0xffffb9e9; BYTE $0xff // jmp LBB33_22, $-71(%rip) -LBB34_30: +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 -LBB34_5: - LONG $0xfe898c0f; WORD $0xffff // jl LBB34_7, $-375(%rip) - LONG $0xfffe87e9; BYTE $0xff // jmp LBB34_8, $-377(%rip) +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: @@ -9656,9 +10319,9 @@ _right_shift: WORD $0xc031 // xorl %eax, %eax LONG $0x90909090 // .p2align 4, 0x90 -LBB35_1: +LBB34_1: WORD $0x3949; BYTE $0xd3 // cmpq %rdx, %r11 - LONG $0x0132840f; WORD $0x0000 // je LBB35_2, $306(%rip) + 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 @@ -9667,10 +10330,10 @@ LBB35_1: 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) + LONG $0xffd4840f; WORD $0xffff // je LBB34_1, $-44(%rip) WORD $0x8941; BYTE $0xd3 // movl %edx, %r11d -LBB35_7: +LBB34_7: WORD $0x578b; BYTE $0x14 // movl $20(%rdi), %edx WORD $0x2944; BYTE $0xda // subl %r11d, %edx WORD $0xc2ff // incl %edx @@ -9680,13 +10343,13 @@ LBB35_7: 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) + 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 -LBB35_9: +LBB34_9: WORD $0x8948; BYTE $0xc2 // movq %rax, %rdx WORD $0xd348; BYTE $0xea // shrq %cl, %rdx WORD $0x214c; BYTE $0xc8 // andq %r9, %rax @@ -9701,98 +10364,98 @@ LBB35_9: 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) + LONG $0xffc58c0f; WORD $0xffff // jl LBB34_9, $-59(%rip) + LONG $0x000017e9; BYTE $0x00 // jmp LBB34_10, $23(%rip) // .p2align 4, 0x90 -LBB35_12: +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 -LBB35_15: +LBB34_15: WORD $0x0148; BYTE $0xc0 // addq %rax, %rax LONG $0x80048d48 // leaq (%rax,%rax,4), %rax -LBB35_10: +LBB34_10: WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x002b840f; WORD $0x0000 // je LBB35_16, $43(%rip) + 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 LBB35_12, $-54(%rip) + LONG $0xffca870f; WORD $0xffff // ja LBB34_12, $-54(%rip) WORD $0x8548; BYTE $0xf6 // testq %rsi, %rsi - LONG $0xffd1840f; WORD $0xffff // je LBB35_15, $-47(%rip) + LONG $0xffd1840f; WORD $0xffff // je LBB34_15, $-47(%rip) LONG $0x011c47c7; WORD $0x0000; BYTE $0x00 // movl $1, $28(%rdi) - LONG $0xffffc5e9; BYTE $0xff // jmp LBB35_15, $-59(%rip) + LONG $0xffffc5e9; BYTE $0xff // jmp LBB34_15, $-59(%rip) -LBB35_16: +LBB34_16: LONG $0x10578944 // movl %r10d, $16(%rdi) WORD $0x8545; BYTE $0xd2 // testl %r10d, %r10d - LONG $0x00378e0f; WORD $0x0000 // jle LBB35_20, $55(%rip) + 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 -LBB35_18: +LBB34_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 $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 LBB35_18, $-31(%rip) + LONG $0xffe18f0f; WORD $0xffff // jg LBB34_18, $-31(%rip) -LBB35_20: +LBB34_20: WORD $0x8545; BYTE $0xd2 // testl %r10d, %r10d - LONG $0x0045840f; WORD $0x0000 // je LBB35_21, $69(%rip) + LONG $0x0045840f; WORD $0x0000 // je LBB34_21, $69(%rip) -LBB35_22: +LBB34_22: BYTE $0x5b // popq %rbx BYTE $0x5d // popq %rbp BYTE $0xc3 // retq -LBB35_2: +LBB34_2: WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x0043840f; WORD $0x0000 // je LBB35_23, $67(%rip) + 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 LBB35_7, $-304(%rip) + LONG $0xfed0850f; WORD $0xffff // jne LBB34_7, $-304(%rip) -LBB35_4: +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 LBB35_4, $-25(%rip) - LONG $0xfffeb2e9; BYTE $0xff // jmp LBB35_7, $-334(%rip) + LONG $0xffe7840f; WORD $0xffff // je LBB34_4, $-25(%rip) + LONG $0xfffeb2e9; BYTE $0xff // jmp LBB34_7, $-334(%rip) -LBB35_21: +LBB34_21: LONG $0x001447c7; WORD $0x0000; BYTE $0x00 // movl $0, $20(%rdi) BYTE $0x5b // popq %rbx BYTE $0x5d // popq %rbp BYTE $0xc3 // retq -LBB35_23: +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 -LCPI36_0: +LCPI35_0: QUAD $0x2222222222222222; QUAD $0x2222222222222222 // .space 16, '""""""""""""""""' -LCPI36_1: +LCPI35_1: QUAD $0x5c5c5c5c5c5c5c5c; QUAD $0x5c5c5c5c5c5c5c5c // .space 16, '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' // .p2align 4, 0x90 @@ -9807,20 +10470,20 @@ _advance_string_default: BYTE $0x50 // pushq %rax LONG $0x087f8b4c // movq $8(%rdi), %r15 WORD $0x2949; BYTE $0xf7 // subq %rsi, %r15 - LONG $0x0327840f; WORD $0x0000 // je LBB36_13, $807(%rip) + 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 LBB36_14, $351(%rip) + 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 /* LCPI36_0(%rip) */ - QUAD $0xffffffa30d6ff9c5 // vmovdqa $-93(%rip), %xmm1 /* LCPI36_1(%rip) */ + 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 -LBB36_3: +LBB35_3: LONG $0x166ffac5 // vmovdqu (%rsi), %xmm2 LONG $0x5e6ffac5; BYTE $0x10 // vmovdqu $16(%rsi), %xmm3 LONG $0x666ffac5; BYTE $0x20 // vmovdqu $32(%rsi), %xmm4 @@ -9853,23 +10516,23 @@ LBB36_3: 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 LBB36_7, $44(%rip) + LONG $0x002c850f; WORD $0x0000 // jne LBB35_7, $44(%rip) WORD $0x854d; BYTE $0xf6 // testq %r14, %r14 - LONG $0x0042850f; WORD $0x0000 // jne LBB36_9, $66(%rip) + 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 LBB36_10, $126(%rip) + LONG $0x007e850f; WORD $0x0000 // jne LBB35_10, $126(%rip) -LBB36_6: +LBB35_6: LONG $0x40c68348 // addq $64, %rsi LONG $0xc0c78349 // addq $-64, %r15 LONG $0x3fff8349 // cmpq $63, %r15 - LONG $0xff56870f; WORD $0xffff // ja LBB36_3, $-170(%rip) - LONG $0x00008de9; BYTE $0x00 // jmp LBB36_15, $141(%rip) + LONG $0xff56870f; WORD $0xffff // ja LBB35_3, $-170(%rip) + LONG $0x00008de9; BYTE $0x00 // jmp LBB35_15, $141(%rip) -LBB36_7: +LBB35_7: LONG $0xd07d8348; BYTE $0xff // cmpq $-1, $-48(%rbp) - LONG $0x0014850f; WORD $0x0000 // jne LBB36_9, $20(%rip) + 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 @@ -9877,7 +10540,7 @@ LBB36_7: LONG $0xd04d8948 // movq %rcx, $-48(%rbp) WORD $0x8948; BYTE $0x0a // movq %rcx, (%rdx) -LBB36_9: +LBB35_9: WORD $0x894c; BYTE $0xf0 // movq %r14, %rax WORD $0xf748; BYTE $0xd0 // notq %rax WORD $0x2148; BYTE $0xd8 // andq %rbx, %rax @@ -9897,16 +10560,16 @@ LBB36_9: 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 LBB36_6, $-126(%rip) + LONG $0xff82840f; WORD $0xffff // je LBB35_6, $-126(%rip) -LBB36_10: +LBB35_10: LONG $0xc4bc0f49 // bsfq %r12, %rax -LBB36_11: +LBB35_11: WORD $0x294c; BYTE $0xde // subq %r11, %rsi LONG $0x06448d48; BYTE $0x01 // leaq $1(%rsi,%rax), %rax -LBB36_12: +LBB35_12: LONG $0x08c48348 // addq $8, %rsp BYTE $0x5b // popq %rbx WORD $0x5c41 // popq %r12 @@ -9916,17 +10579,17 @@ LBB36_12: BYTE $0x5d // popq %rbp BYTE $0xc3 // retq -LBB36_14: +LBB35_14: QUAD $0xffffffffd045c748 // movq $-1, $-48(%rbp) WORD $0x3145; BYTE $0xf6 // xorl %r14d, %r14d -LBB36_15: +LBB35_15: LONG $0x20ff8349 // cmpq $32, %r15 - LONG $0x00cb820f; WORD $0x0000 // jb LBB36_24, $203(%rip) + 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 /* LCPI36_0(%rip) */ - QUAD $0xfffffe311d6ff9c5 // vmovdqa $-463(%rip), %xmm3 /* LCPI36_1(%rip) */ + 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 @@ -9939,20 +10602,20 @@ LBB36_15: WORD $0x0948; BYTE $0xc7 // orq %rax, %rdi LONG $0x10e1c148 // shlq $16, %rcx WORD $0x0948; BYTE $0xcb // orq %rcx, %rbx - LONG $0x001e850f; WORD $0x0000 // jne LBB36_20, $30(%rip) + LONG $0x001e850f; WORD $0x0000 // jne LBB35_20, $30(%rip) WORD $0x854d; BYTE $0xf6 // testq %r14, %r14 - LONG $0x0034850f; WORD $0x0000 // jne LBB36_22, $52(%rip) + 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 LBB36_23, $97(%rip) + LONG $0x0061840f; WORD $0x0000 // je LBB35_23, $97(%rip) -LBB36_19: +LBB35_19: LONG $0xc7bc0f48 // bsfq %rdi, %rax - LONG $0xffff69e9; BYTE $0xff // jmp LBB36_11, $-151(%rip) + LONG $0xffff69e9; BYTE $0xff // jmp LBB35_11, $-151(%rip) -LBB36_20: +LBB35_20: LONG $0xd07d8348; BYTE $0xff // cmpq $-1, $-48(%rbp) - LONG $0x0014850f; WORD $0x0000 // jne LBB36_22, $20(%rip) + 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 @@ -9960,7 +10623,7 @@ LBB36_20: LONG $0xd04d8948 // movq %rcx, $-48(%rbp) WORD $0x8948; BYTE $0x0a // movq %rcx, (%rdx) -LBB36_22: +LBB35_22: WORD $0x8944; BYTE $0xf0 // movl %r14d, %eax WORD $0xd0f7 // notl %eax WORD $0xd821 // andl %ebx, %eax @@ -9978,81 +10641,81 @@ LBB36_22: WORD $0xd1f7 // notl %ecx WORD $0xcf21 // andl %ecx, %edi WORD $0x8548; BYTE $0xff // testq %rdi, %rdi - LONG $0xff9f850f; WORD $0xffff // jne LBB36_19, $-97(%rip) + LONG $0xff9f850f; WORD $0xffff // jne LBB35_19, $-97(%rip) -LBB36_23: +LBB35_23: LONG $0x20c68348 // addq $32, %rsi LONG $0xe0c78349 // addq $-32, %r15 -LBB36_24: +LBB35_24: WORD $0x854d; BYTE $0xf6 // testq %r14, %r14 - LONG $0x0089850f; WORD $0x0000 // jne LBB36_35, $137(%rip) + 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 LBB36_12, $-264(%rip) + LONG $0xfef8840f; WORD $0xffff // je LBB35_12, $-264(%rip) -LBB36_26: +LBB35_26: WORD $0x894d; BYTE $0xd9 // movq %r11, %r9 WORD $0xf749; BYTE $0xd1 // notq %r9 -LBB36_27: +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 LBB36_34, $88(%rip) + 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 LBB36_30, $20(%rip) + 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 LBB36_27, $-44(%rip) - LONG $0xfffec1e9; BYTE $0xff // jmp LBB36_12, $-319(%rip) + LONG $0xffd4850f; WORD $0xffff // jne LBB35_27, $-44(%rip) + LONG $0xfffec1e9; BYTE $0xff // jmp LBB35_12, $-319(%rip) -LBB36_30: +LBB35_30: WORD $0x854d; BYTE $0xd2 // testq %r10, %r10 - LONG $0xfeb8840f; WORD $0xffff // je LBB36_12, $-328(%rip) + LONG $0xfeb8840f; WORD $0xffff // je LBB35_12, $-328(%rip) LONG $0xd07d8348; BYTE $0xff // cmpq $-1, $-48(%rbp) - LONG $0x000a850f; WORD $0x0000 // jne LBB36_33, $10(%rip) + 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) -LBB36_33: +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 LBB36_27, $-99(%rip) - LONG $0xfffe8ae9; BYTE $0xff // jmp LBB36_12, $-374(%rip) + LONG $0xff9d850f; WORD $0xffff // jne LBB35_27, $-99(%rip) + LONG $0xfffe8ae9; BYTE $0xff // jmp LBB35_12, $-374(%rip) -LBB36_34: +LBB35_34: WORD $0x294c; BYTE $0xdf // subq %r11, %rdi WORD $0x8948; BYTE $0xf8 // movq %rdi, %rax - LONG $0xfffe7fe9; BYTE $0xff // jmp LBB36_12, $-385(%rip) + LONG $0xfffe7fe9; BYTE $0xff // jmp LBB35_12, $-385(%rip) -LBB36_35: +LBB35_35: WORD $0x854d; BYTE $0xff // testq %r15, %r15 - LONG $0x0036840f; WORD $0x0000 // je LBB36_13, $54(%rip) + LONG $0x0036840f; WORD $0x0000 // je LBB35_13, $54(%rip) LONG $0xd07d8348; BYTE $0xff // cmpq $-1, $-48(%rbp) - LONG $0x0010850f; WORD $0x0000 // jne LBB36_38, $16(%rip) + 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) -LBB36_38: +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 LBB36_26, $-179(%rip) - LONG $0xfffe40e9; BYTE $0xff // jmp LBB36_12, $-448(%rip) + LONG $0xff4d850f; WORD $0xffff // jne LBB35_26, $-179(%rip) + LONG $0xfffe40e9; BYTE $0xff // jmp LBB35_12, $-448(%rip) -LBB36_13: +LBB35_13: LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - LONG $0xfffe34e9; BYTE $0xff // jmp LBB36_12, $-460(%rip) + LONG $0xfffe34e9; BYTE $0xff // jmp LBB35_12, $-460(%rip) WORD $0x0000 // .p2align 4, 0x00 _POW10_M128_TAB: @@ -11482,7 +12145,7 @@ _Digits: QUAD $0x3939383937393639 // .ascii 8, '96979899' QUAD $0x0000000000000000 // .p2align 4, 0x00 -_LB_2d3b06b1: // _pow10_ceil_sig.g +_LB_1ee00aeb: // _pow10_ceil_sig.g QUAD $0xff77b1fcbebcdc4f // .quad -38366372719436721 QUAD $0x25e8e89c13bb0f7b // .quad 2731688931043774331 QUAD $0x9faacf3df73609b1 // .quad -6941508010590729807 @@ -14137,7 +14800,7 @@ _P10_TAB: QUAD $0x4480f0cf064dd592 // .quad 0x4480f0cf064dd592 QUAD $0x0000000000000000 // .p2align 4, 0x00 -_LB_b73bc21e: // _pow10_ceil_sig_f32.g +_LB_5bf8fe43: // _pow10_ceil_sig_f32.g QUAD $0x81ceb32c4b43fcf5 // .quad -9093133594791772939 QUAD $0xa2425ff75e14fc32 // .quad -6754730975062328270 QUAD $0xcad2f7f5359a3b3f // .quad -3831727700400522433 @@ -14228,7 +14891,7 @@ _entry: _f32toa: MOVQ out+0(FP), DI MOVSD val+8(FP), X0 - CALL ·__native_entry__+28800(SB) // _f32toa + CALL ·__native_entry__+31264(SB) // _f32toa MOVQ AX, ret+16(FP) RET @@ -14248,7 +14911,7 @@ _entry: _f64toa: MOVQ out+0(FP), DI MOVSD val+8(FP), X0 - CALL ·__native_entry__+448(SB) // _f64toa + CALL ·__native_entry__+192(SB) // _f64toa MOVQ AX, ret+16(FP) RET @@ -14270,7 +14933,7 @@ _get_by_path: MOVQ p+8(FP), SI MOVQ path+16(FP), DX MOVQ m+24(FP), CX - CALL ·__native_entry__+25664(SB) // _get_by_path + CALL ·__native_entry__+25856(SB) // _get_by_path MOVQ AX, ret+32(FP) RET @@ -14292,7 +14955,7 @@ _html_escape: MOVQ nb+8(FP), SI MOVQ dp+16(FP), DX MOVQ dn+24(FP), CX - CALL ·__native_entry__+9296(SB) // _html_escape + CALL ·__native_entry__+9040(SB) // _html_escape MOVQ AX, ret+32(FP) RET @@ -14312,7 +14975,7 @@ _entry: _i64toa: MOVQ out+0(FP), DI MOVQ val+8(FP), SI - CALL ·__native_entry__+3744(SB) // _i64toa + CALL ·__native_entry__+3488(SB) // _i64toa MOVQ AX, ret+16(FP) RET @@ -14333,7 +14996,7 @@ _lspace: MOVQ sp+0(FP), DI MOVQ nb+8(FP), SI MOVQ off+16(FP), DX - CALL ·__native_entry__+80(SB) // _lspace + CALL ·__native_entry__+16(SB) // _lspace MOVQ AX, ret+24(FP) RET @@ -14356,7 +15019,7 @@ _quote: MOVQ dp+16(FP), DX MOVQ dn+24(FP), CX MOVQ flags+32(FP), R8 - CALL ·__native_entry__+5136(SB) // _quote + CALL ·__native_entry__+4880(SB) // _quote MOVQ AX, ret+40(FP) RET @@ -14378,7 +15041,7 @@ _skip_array: MOVQ p+8(FP), SI MOVQ m+16(FP), DX MOVQ flags+24(FP), CX - CALL ·__native_entry__+18592(SB) // _skip_array + CALL ·__native_entry__+17952(SB) // _skip_array MOVQ AX, ret+32(FP) RET @@ -14398,7 +15061,7 @@ _entry: _skip_number: MOVQ s+0(FP), DI MOVQ p+8(FP), SI - CALL ·__native_entry__+22224(SB) // _skip_number + CALL ·__native_entry__+21952(SB) // _skip_number MOVQ AX, ret+16(FP) RET @@ -14420,7 +15083,7 @@ _skip_object: MOVQ p+8(FP), SI MOVQ m+16(FP), DX MOVQ flags+24(FP), CX - CALL ·__native_entry__+20640(SB) // _skip_object + CALL ·__native_entry__+20368(SB) // _skip_object MOVQ AX, ret+32(FP) RET @@ -14442,7 +15105,7 @@ _skip_one: MOVQ p+8(FP), SI MOVQ m+16(FP), DX MOVQ flags+24(FP), CX - CALL ·__native_entry__+22384(SB) // _skip_one + CALL ·__native_entry__+22112(SB) // _skip_one MOVQ AX, ret+32(FP) RET @@ -14455,14 +15118,14 @@ TEXT ·__skip_one_fast(SB), NOSPLIT | NOFRAME, $0 - 24 _entry: MOVQ (TLS), R14 - LEAQ -216(SP), R12 + 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__+22624(SB) // _skip_one_fast + CALL ·__native_entry__+22352(SB) // _skip_one_fast MOVQ AX, ret+16(FP) RET @@ -14482,7 +15145,7 @@ _entry: _u64toa: MOVQ out+0(FP), DI MOVQ val+8(FP), SI - CALL ·__native_entry__+3856(SB) // _u64toa + CALL ·__native_entry__+3600(SB) // _u64toa MOVQ AX, ret+16(FP) RET @@ -14505,7 +15168,7 @@ _unquote: MOVQ dp+16(FP), DX MOVQ ep+24(FP), CX MOVQ flags+32(FP), R8 - CALL ·__native_entry__+6928(SB) // _unquote + CALL ·__native_entry__+6672(SB) // _unquote MOVQ AX, ret+40(FP) RET @@ -14526,7 +15189,7 @@ _validate_one: MOVQ s+0(FP), DI MOVQ p+8(FP), SI MOVQ m+16(FP), DX - CALL ·__native_entry__+22448(SB) // _validate_one + CALL ·__native_entry__+22176(SB) // _validate_one MOVQ AX, ret+24(FP) RET @@ -14547,7 +15210,7 @@ _validate_utf8: MOVQ s+0(FP), DI MOVQ p+8(FP), SI MOVQ m+16(FP), DX - CALL ·__native_entry__+27552(SB) // _validate_utf8 + CALL ·__native_entry__+30000(SB) // _validate_utf8 MOVQ AX, ret+24(FP) RET @@ -14566,7 +15229,7 @@ _entry: _validate_utf8_fast: MOVQ s+0(FP), DI - CALL ·__native_entry__+28224(SB) // _validate_utf8_fast + CALL ·__native_entry__+30672(SB) // _validate_utf8_fast MOVQ AX, ret+8(FP) RET @@ -14589,7 +15252,7 @@ _value: MOVQ p+16(FP), DX MOVQ v+24(FP), CX MOVQ flags+32(FP), R8 - CALL ·__native_entry__+12480(SB) // _value + CALL ·__native_entry__+12224(SB) // _value MOVQ AX, ret+40(FP) RET @@ -14610,7 +15273,7 @@ _vnumber: MOVQ s+0(FP), DI MOVQ p+8(FP), SI MOVQ v+16(FP), DX - LEAQ ·__native_entry__+16256(SB), AX // _vnumber + LEAQ ·__native_entry__+15616(SB), AX // _vnumber JMP AX _stack_grow: @@ -14630,7 +15293,7 @@ _vsigned: MOVQ s+0(FP), DI MOVQ p+8(FP), SI MOVQ v+16(FP), DX - LEAQ ·__native_entry__+17872(SB), AX // _vsigned + LEAQ ·__native_entry__+17232(SB), AX // _vsigned JMP AX _stack_grow: @@ -14651,7 +15314,7 @@ _vstring: MOVQ p+8(FP), SI MOVQ v+16(FP), DX MOVQ flags+24(FP), CX - LEAQ ·__native_entry__+14704(SB), AX // _vstring + LEAQ ·__native_entry__+14064(SB), AX // _vstring JMP AX _stack_grow: @@ -14671,7 +15334,7 @@ _vunsigned: MOVQ s+0(FP), DI MOVQ p+8(FP), SI MOVQ v+16(FP), DX - LEAQ ·__native_entry__+18240(SB), AX // _vunsigned + LEAQ ·__native_entry__+17600(SB), AX // _vunsigned JMP AX _stack_grow: 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 index ab1259be..f20095d3 100644 --- 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 @@ -9,28 +9,28 @@ package avx func __native_entry__() uintptr var ( - _subr__f32toa = __native_entry__() + 28800 - _subr__f64toa = __native_entry__() + 448 - _subr__get_by_path = __native_entry__() + 25664 - _subr__html_escape = __native_entry__() + 9296 - _subr__i64toa = __native_entry__() + 3744 - _subr__lspace = __native_entry__() + 80 - _subr__quote = __native_entry__() + 5136 - _subr__skip_array = __native_entry__() + 18592 - _subr__skip_number = __native_entry__() + 22224 - _subr__skip_object = __native_entry__() + 20640 - _subr__skip_one = __native_entry__() + 22384 - _subr__skip_one_fast = __native_entry__() + 22624 - _subr__u64toa = __native_entry__() + 3856 - _subr__unquote = __native_entry__() + 6928 - _subr__validate_one = __native_entry__() + 22448 - _subr__validate_utf8 = __native_entry__() + 27552 - _subr__validate_utf8_fast = __native_entry__() + 28224 - _subr__value = __native_entry__() + 12480 - _subr__vnumber = __native_entry__() + 16256 - _subr__vsigned = __native_entry__() + 17872 - _subr__vstring = __native_entry__() + 14704 - _subr__vunsigned = __native_entry__() + 18240 + _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 ( @@ -45,7 +45,7 @@ const ( _stack__skip_number = 72 _stack__skip_object = 128 _stack__skip_one = 128 - _stack__skip_one_fast = 216 + _stack__skip_one_fast = 200 _stack__u64toa = 8 _stack__unquote = 88 _stack__validate_one = 128 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 index e220bfc8..07789ae4 100644 --- a/vendor/github.com/bytedance/sonic/internal/native/avx2/native_amd64.s +++ b/vendor/github.com/bytedance/sonic/internal/native/avx2/native_amd64.s @@ -13,175 +13,104 @@ TEXT ·__native_entry__(SB), NOSPLIT, $0 QUAD $0x0000000000000000; QUAD $0x0000000000000000; WORD $0x0000; BYTE $0x00 // .p2align 5, 0x00 LCPI0_0: - QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' ' - QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' ' - -LCPI0_1: - QUAD $0x0909090909090909; QUAD $0x0909090909090909 // .space 16, '\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t' - QUAD $0x0909090909090909; QUAD $0x0909090909090909 // .space 16, '\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t' - -LCPI0_2: - QUAD $0x0a0a0a0a0a0a0a0a; QUAD $0x0a0a0a0a0a0a0a0a // .space 16, '\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n' - QUAD $0x0a0a0a0a0a0a0a0a; QUAD $0x0a0a0a0a0a0a0a0a // .space 16, '\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n' - -LCPI0_3: - 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' - - // .p2align 4, 0x00 -LCPI0_4: - QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' ' - -LCPI0_5: - QUAD $0x0909090909090909; QUAD $0x0909090909090909 // .space 16, '\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t' - -LCPI0_6: - QUAD $0x0a0a0a0a0a0a0a0a; QUAD $0x0a0a0a0a0a0a0a0a // .space 16, '\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n' - -LCPI0_7: - QUAD $0x0d0d0d0d0d0d0d0d; QUAD $0x0d0d0d0d0d0d0d0d // .space 16, '\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r' + 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 $0x005d840f; WORD $0x0000 // je LBB0_7, $93(%rip) - WORD $0xc189 // movl %eax, %ecx - WORD $0xe183; BYTE $0x1f // andl $31, %ecx - WORD $0x8548; BYTE $0xc9 // testq %rcx, %rcx - LONG $0x004f840f; WORD $0x0000 // je LBB0_7, $79(%rip) - LONG $0xff4e8d4c // leaq $-1(%rsi), %r9 - WORD $0xd231 // xorl %edx, %edx - QUAD $0x000100002600b849; WORD $0x0000 // movabsq $4294977024, %r8 - BYTE $0x90 // .p2align 4, 0x90 - -LBB0_3: - LONG $0x100cbe0f // movsbl (%rax,%rdx), %ecx - WORD $0xf983; BYTE $0x20 // cmpl $32, %ecx - LONG $0x016f870f; WORD $0x0000 // ja LBB0_5, $367(%rip) - LONG $0xc8a30f49 // btq %rcx, %r8 - LONG $0x0165830f; WORD $0x0000 // jae LBB0_5, $357(%rip) - LONG $0x01528d4c // leaq $1(%rdx), %r10 - WORD $0x3949; BYTE $0xd1 // cmpq %rdx, %r9 - LONG $0x0014840f; WORD $0x0000 // je LBB0_6, $20(%rip) - LONG $0x104c8d48; BYTE $0x01 // leaq $1(%rax,%rdx), %rcx - WORD $0xe183; BYTE $0x1f // andl $31, %ecx - WORD $0x894c; BYTE $0xd2 // movq %r10, %rdx - WORD $0x8548; BYTE $0xc9 // testq %rcx, %rcx - LONG $0xffc8850f; WORD $0xffff // jne LBB0_3, $-56(%rip) - -LBB0_6: - WORD $0x014c; BYTE $0xd0 // addq %r10, %rax - WORD $0x294c; BYTE $0xd6 // subq %r10, %rsi - -LBB0_7: + 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 $0x0067820f; WORD $0x0000 // jb LBB0_14, $103(%rip) - QUAD $0xfffffec0056ffdc5 // vmovdqa $-320(%rip), %ymm0 /* LCPI0_0(%rip) */ - QUAD $0xfffffed80d6ffdc5 // vmovdqa $-296(%rip), %ymm1 /* LCPI0_1(%rip) */ - QUAD $0xfffffef0156ffdc5 // vmovdqa $-272(%rip), %ymm2 /* LCPI0_2(%rip) */ - QUAD $0xffffff081d6ffdc5 // vmovdqa $-248(%rip), %ymm3 /* LCPI0_3(%rip) */ - QUAD $0x9090909090909090 // .p2align 4, 0x90 + 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_9: - LONG $0x206ffdc5 // vmovdqa (%rax), %ymm4 - LONG $0xe874ddc5 // vpcmpeqb %ymm0, %ymm4, %ymm5 - LONG $0xf174ddc5 // vpcmpeqb %ymm1, %ymm4, %ymm6 - LONG $0xeeebd5c5 // vpor %ymm6, %ymm5, %ymm5 - LONG $0xf274ddc5 // vpcmpeqb %ymm2, %ymm4, %ymm6 - LONG $0xe374ddc5 // vpcmpeqb %ymm3, %ymm4, %ymm4 - LONG $0xe6ebddc5 // vpor %ymm6, %ymm4, %ymm4 - LONG $0xe5ebddc5 // vpor %ymm5, %ymm4, %ymm4 - LONG $0xccd7fdc5 // vpmovmskb %ymm4, %ecx +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 $0x00cb850f; WORD $0x0000 // jne LBB0_10, $203(%rip) + 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 $0xffc1870f; WORD $0xffff // ja LBB0_9, $-63(%rip) + LONG $0xffd4870f; WORD $0xffff // ja LBB0_2, $-44(%rip) -LBB0_14: - WORD $0xf8c5; BYTE $0x77 // vzeroupper - LONG $0x10fe8348 // cmpq $16, %rsi - LONG $0x0064820f; WORD $0x0000 // jb LBB0_19, $100(%rip) - QUAD $0xfffffecc056ff9c5 // vmovdqa $-308(%rip), %xmm0 /* LCPI0_4(%rip) */ - QUAD $0xfffffed40d6ff9c5 // vmovdqa $-300(%rip), %xmm1 /* LCPI0_5(%rip) */ - QUAD $0xfffffedc156ff9c5 // vmovdqa $-292(%rip), %xmm2 /* LCPI0_6(%rip) */ - QUAD $0xfffffee41d6ff9c5 // vmovdqa $-284(%rip), %xmm3 /* LCPI0_7(%rip) */ - LONG $0x90909090 // .p2align 4, 0x90 - -LBB0_16: - LONG $0x206ff9c5 // vmovdqa (%rax), %xmm4 - LONG $0xe874d9c5 // vpcmpeqb %xmm0, %xmm4, %xmm5 - LONG $0xf174d9c5 // vpcmpeqb %xmm1, %xmm4, %xmm6 - LONG $0xeeebd1c5 // vpor %xmm6, %xmm5, %xmm5 - LONG $0xf274d9c5 // vpcmpeqb %xmm2, %xmm4, %xmm6 - LONG $0xe374d9c5 // vpcmpeqb %xmm3, %xmm4, %xmm4 - LONG $0xe6ebd9c5 // vpor %xmm6, %xmm4, %xmm4 - LONG $0xe5ebd9c5 // vpor %xmm5, %xmm4, %xmm4 - LONG $0xccd7f9c5 // vpmovmskb %xmm4, %ecx - LONG $0xfff98366 // cmpw $-1, %cx - LONG $0x0076850f; WORD $0x0000 // jne LBB0_17, $118(%rip) - LONG $0x10c08348 // addq $16, %rax - LONG $0xf0c68348 // addq $-16, %rsi - LONG $0x0ffe8348 // cmpq $15, %rsi - LONG $0xffc0870f; WORD $0xffff // ja LBB0_16, $-64(%rip) - -LBB0_19: +LBB0_5: WORD $0x8548; BYTE $0xf6 // testq %rsi, %rsi - LONG $0x0056840f; WORD $0x0000 // je LBB0_26, $86(%rip) + 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_21: +LBB0_7: LONG $0xff48be0f // movsbl $-1(%rax), %ecx WORD $0xf983; BYTE $0x20 // cmpl $32, %ecx - LONG $0x004d870f; WORD $0x0000 // ja LBB0_23, $77(%rip) + LONG $0x0038870f; WORD $0x0000 // ja LBB0_9, $56(%rip) LONG $0xcaa30f48 // btq %rcx, %rdx - LONG $0x0043830f; WORD $0x0000 // jae LBB0_23, $67(%rip) + 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_21, $-38(%rip) + LONG $0xffda850f; WORD $0xffff // jne LBB0_7, $-38(%rip) WORD $0x894c; BYTE $0xc0 // movq %r8, %rax - LONG $0x000017e9; BYTE $0x00 // jmp LBB0_26, $23(%rip) - -LBB0_10: - WORD $0xf8c5; BYTE $0x77 // vzeroupper - 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 - BYTE $0xc3 // retq - -LBB0_5: - WORD $0x0148; BYTE $0xd0 // addq %rdx, %rax -LBB0_26: +LBB0_12: WORD $0x2948; BYTE $0xf8 // subq %rdi, %rax BYTE $0x5d // popq %rbp + WORD $0xf8c5; BYTE $0x77 // vzeroupper BYTE $0xc3 // retq -LBB0_17: - WORD $0xb70f; BYTE $0xc9 // movzwl %cx, %ecx +LBB0_3: WORD $0x2948; BYTE $0xf8 // subq %rdi, %rax WORD $0xd1f7 // notl %ecx - WORD $0xbc0f; BYTE $0xc9 // bsfl %ecx, %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_23: - WORD $0xf748; BYTE $0xd7 // notq %rdi - WORD $0x0148; BYTE $0xf8 // addq %rdi, %rax - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - QUAD $0x0000000000000000; QUAD $0x0000000000000000; LONG $0x00000000 // .p2align 5, 0x00 +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' @@ -250,7 +179,7 @@ LBB1_6: LONG $0x000124b8; BYTE $0x00 // movl $292, %eax WORD $0x2944; BYTE $0xc8 // subl %r9d, %eax LONG $0x04e0c148 // shlq $4, %rax - LONG $0x2a158d48; WORD $0x00c6; BYTE $0x00 // leaq $50730(%rip), %rdx /* _pow10_ceil_sig.g(%rip) */ + 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 @@ -432,7 +361,7 @@ LBB1_51: LONG $0x009d820f; WORD $0x0000 // jb LBB1_64, $157(%rip) LONG $0x01678d4d // leaq $1(%r15), %r12 WORD $0x894c; BYTE $0xe6 // movq %r12, %rsi - LONG $0x008e2fe8; BYTE $0x00 // callq _format_significand, $36399(%rip) + LONG $0x008cafe8; BYTE $0x00 // callq _format_significand, $36015(%rip) WORD $0x8948; BYTE $0xc3 // movq %rax, %rbx QUAD $0x9090909090909090; LONG $0x90909090 // .p2align 4, 0x90 @@ -467,7 +396,7 @@ LBB1_60: WORD $0x0c8d; BYTE $0x12 // leal (%rdx,%rdx), %ecx WORD $0x0c8d; BYTE $0x89 // leal (%rcx,%rcx,4), %ecx WORD $0xc829 // subl %ecx, %eax - LONG $0x040d8d48; WORD $0x00c2; BYTE $0x00 // leaq $49668(%rip), %rcx /* _Digits(%rip) */ + 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 @@ -549,7 +478,7 @@ LBB1_61: WORD $0xf883; BYTE $0x0a // cmpl $10, %eax LONG $0x00878c0f; WORD $0x0000 // jl LBB1_63, $135(%rip) WORD $0xc089 // movl %eax, %eax - LONG $0xba0d8d48; WORD $0x00c0; BYTE $0x00 // leaq $49338(%rip), %rcx /* _Digits(%rip) */ + 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 @@ -743,7 +672,7 @@ LBB1_77: LBB1_78: WORD $0x894c; BYTE $0xfe // movq %r15, %rsi WORD $0xf8c5; BYTE $0x77 // vzeroupper - LONG $0x008926e8; BYTE $0x00 // callq _format_significand, $35110(%rip) + LONG $0x0087a6e8; BYTE $0x00 // callq _format_significand, $34726(%rip) LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 LBB1_79: @@ -970,7 +899,7 @@ LBB2_2: WORD $0xcf6b; BYTE $0x64 // imull $100, %edi, %ecx WORD $0xc829 // subl %ecx, %eax LONG $0xd8b70f44 // movzwl %ax, %r11d - LONG $0x600d8d48; WORD $0x00ba; BYTE $0x00 // leaq $47712(%rip), %rcx /* _Digits(%rip) */ + 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 @@ -986,7 +915,7 @@ LBB2_2: LBB2_5: LONG $0x1759b941; WORD $0xd1b7 // movl $3518437209, %r9d - LONG $0x19158d4c; WORD $0x00ba; BYTE $0x00 // leaq $47641(%rip), %r10 /* _Digits(%rip) */ + LONG $0x99158d4c; WORD $0x00b8; BYTE $0x00 // leaq $47257(%rip), %r10 /* _Digits(%rip) */ QUAD $0x9090909090909090; BYTE $0x90 // .p2align 4, 0x90 LBB2_6: @@ -1018,7 +947,7 @@ LBB2_7: WORD $0xc86b; BYTE $0x64 // imull $100, %eax, %ecx WORD $0xca29 // subl %ecx, %edx WORD $0xb70f; BYTE $0xca // movzwl %dx, %ecx - LONG $0xa1158d48; WORD $0x00b9; BYTE $0x00 // leaq $47521(%rip), %rdx /* _Digits(%rip) */ + 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 @@ -1028,7 +957,7 @@ LBB2_9: WORD $0xfa83; BYTE $0x0a // cmpl $10, %edx LONG $0x0018820f; WORD $0x0000 // jb LBB2_11, $24(%rip) WORD $0xd089 // movl %edx, %eax - LONG $0x800d8d48; WORD $0x00b9; BYTE $0x00 // leaq $47488(%rip), %rcx /* _Digits(%rip) */ + 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 @@ -1104,7 +1033,7 @@ _u64toa: 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 $0x00b8; BYTE $0x00 // leaq $47276(%rip), %rcx /* _Digits(%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 @@ -1118,14 +1047,14 @@ LBB4_3: LBB4_4: WORD $0xb70f; BYTE $0xd2 // movzwl %dx, %edx LONG $0x01ca8348 // orq $1, %rdx - LONG $0x84358d48; WORD $0x00b8; BYTE $0x00 // leaq $47236(%rip), %rsi /* _Digits(%rip) */ + 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 $0x73158d48; WORD $0x00b8; BYTE $0x00 // leaq $47219(%rip), %rdx /* _Digits(%rip) */ + 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 @@ -1134,7 +1063,7 @@ LBB4_6: LBB4_7: WORD $0xb70f; BYTE $0xc0 // movzwl %ax, %eax LONG $0x01c88348 // orq $1, %rax - LONG $0x5b158d48; WORD $0x00b8; BYTE $0x00 // leaq $47195(%rip), %rdx /* _Digits(%rip) */ + 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 @@ -1181,7 +1110,7 @@ LBB4_8: 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 $0x00b7; BYTE $0x00 // leaq $47033(%rip), %rax /* _Digits(%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 @@ -1195,14 +1124,14 @@ LBB4_11: LBB4_12: WORD $0x8944; BYTE $0xd0 // movl %r10d, %eax LONG $0x01c88348 // orq $1, %rax - LONG $0x8d358d48; WORD $0x00b7; BYTE $0x00 // leaq $46989(%rip), %rsi /* _Digits(%rip) */ + 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 $0x7c058d48; WORD $0x00b7; BYTE $0x00 // leaq $46972(%rip), %rax /* _Digits(%rip) */ + 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 @@ -1211,7 +1140,7 @@ LBB4_14: LBB4_15: LONG $0xc1b70f41 // movzwl %r9w, %eax LONG $0x01c88348 // orq $1, %rax - LONG $0x62358d48; WORD $0x00b7; BYTE $0x00 // leaq $46946(%rip), %rsi /* _Digits(%rip) */ + 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) @@ -1293,7 +1222,7 @@ LBB4_16: LONG $0x000010b9; BYTE $0x00 // movl $16, %ecx WORD $0xc129 // subl %eax, %ecx LONG $0x04e0c148 // shlq $4, %rax - LONG $0x66158d48; WORD $0x00dd; BYTE $0x00 // leaq $56678(%rip), %rdx /* _VecShiftShuffles(%rip) */ + 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 @@ -1319,7 +1248,7 @@ LBB4_20: WORD $0xfa83; BYTE $0x63 // cmpl $99, %edx LONG $0x001f870f; WORD $0x0000 // ja LBB4_22, $31(%rip) WORD $0xd089 // movl %edx, %eax - LONG $0xa90d8d48; WORD $0x00b5; BYTE $0x00 // leaq $46505(%rip), %rcx /* _Digits(%rip) */ + 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) @@ -1344,7 +1273,7 @@ LBB4_22: WORD $0xc96b; BYTE $0x64 // imull $100, %ecx, %ecx WORD $0xc829 // subl %ecx, %eax WORD $0xb70f; BYTE $0xc0 // movzwl %ax, %eax - LONG $0x540d8d48; WORD $0x00b5; BYTE $0x00 // leaq $46420(%rip), %rcx /* _Digits(%rip) */ + 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) @@ -1356,7 +1285,7 @@ LBB4_24: WORD $0xc86b; BYTE $0x64 // imull $100, %eax, %ecx WORD $0xca29 // subl %ecx, %edx WORD $0xb70f; BYTE $0xc0 // movzwl %ax, %eax - LONG $0x2e058d4c; WORD $0x00b5; BYTE $0x00 // leaq $46382(%rip), %r8 /* _Digits(%rip) */ + 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) @@ -1458,8 +1387,8 @@ _quote: WORD $0x8949; BYTE $0xf2 // movq %rsi, %r10 WORD $0x8b4c; BYTE $0x09 // movq (%rcx), %r9 LONG $0x01c0f641 // testb $1, %r8b - LONG $0x5e058d48; WORD $0x00db; BYTE $0x00 // leaq $56158(%rip), %rax /* __SingleQuoteTab(%rip) */ - LONG $0x57058d4c; WORD $0x00eb; BYTE $0x00 // leaq $60247(%rip), %r8 /* __DoubleQuoteTab(%rip) */ + 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 @@ -1733,7 +1662,7 @@ LBB5_36: LBB5_37: WORD $0x8548; BYTE $0xdb // testq %rbx, %rbx WORD $0x8949; BYTE $0xd7 // movq %rdx, %r15 - LONG $0x46358d4c; WORD $0x00d7; BYTE $0x00 // leaq $55110(%rip), %r14 /* __SingleQuoteTab(%rip) */ + 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 @@ -1992,7 +1921,7 @@ LBB5_87: LONG $0xfffedbe9; BYTE $0xff // jmp LBB5_69, $-293(%rip) LBB5_88: - LONG $0x540d8d4c; WORD $0x00f4; BYTE $0x00 // leaq $62548(%rip), %r9 /* __EscTab(%rip) */ + 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) */ @@ -2447,7 +2376,7 @@ LBB6_24: LBB6_26: WORD $0x0148; BYTE $0xda // addq %rbx, %rdx LONG $0x41b60f41; BYTE $0xff // movzbl $-1(%r9), %eax - LONG $0x660d8d48; WORD $0x00ef; BYTE $0x00 // leaq $61286(%rip), %rcx /* __UnquoteTab(%rip) */ + 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) @@ -3043,7 +2972,7 @@ _html_escape: 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 $0xf33d8d4c; WORD $0x00e7; BYTE $0x00 // leaq $59379(%rip), %r15 /* __HtmlQuoteTab(%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 @@ -3648,7 +3577,7 @@ LBB8_5: WORD $0xd348; BYTE $0xe7 // shlq %cl, %rdi WORD $0xc389 // movl %eax, %ebx LONG $0x04e3c148 // shlq $4, %rbx - LONG $0x81358d4c; WORD $0x006a; BYTE $0x00 // leaq $27265(%rip), %r14 /* _POW10_M128_TAB(%rip) */ + 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 @@ -3792,7 +3721,7 @@ LBB9_5: LONG $0xd05d8948 // movq %rbx, $-48(%rbp) LONG $0x005a8e0f; WORD $0x0000 // jle LBB9_12, $90(%rip) WORD $0x3145; BYTE $0xe4 // xorl %r12d, %r12d - LONG $0x18358d4c; WORD $0x0094; BYTE $0x00 // leaq $37912(%rip), %r14 /* _POW_TAB(%rip) */ + 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 @@ -3805,7 +3734,7 @@ LBB9_10: LBB9_11: WORD $0x894c; BYTE $0xff // movq %r15, %rdi WORD $0xde89 // movl %ebx, %esi - LONG $0x0063a5e8; BYTE $0x00 // callq _right_shift, $25509(%rip) + LONG $0x006225e8; BYTE $0x00 // callq _right_shift, $25125(%rip) LBB9_7: WORD $0x0141; BYTE $0xdc // addl %ebx, %r12d @@ -3822,7 +3751,7 @@ LBB9_8: LONG $0xffffd3e9; BYTE $0xff // jmp LBB9_7, $-45(%rip) LBB9_12: - LONG $0xc1358d4c; WORD $0x0093; BYTE $0x00 // leaq $37825(%rip), %r14 /* _POW_TAB(%rip) */ + LONG $0x41358d4c; WORD $0x0092; BYTE $0x00 // leaq $37441(%rip), %r14 /* _POW_TAB(%rip) */ LONG $0x00002de9; BYTE $0x00 // jmp LBB9_14, $45(%rip) LBB9_18: @@ -3834,7 +3763,7 @@ LBB9_18: LBB9_20: WORD $0x894c; BYTE $0xff // movq %r15, %rdi WORD $0xde89 // movl %ebx, %esi - LONG $0x006156e8; BYTE $0x00 // callq _left_shift, $24918(%rip) + LONG $0x005fd6e8; BYTE $0x00 // callq _left_shift, $24534(%rip) LONG $0x14478b41 // movl $20(%r15), %eax LBB9_13: @@ -3877,7 +3806,7 @@ LBB9_21: LBB9_25: WORD $0x894c; BYTE $0xff // movq %r15, %rdi LONG $0x00003cbe; BYTE $0x00 // movl $60, %esi - LONG $0x0062b3e8; BYTE $0x00 // callq _right_shift, $25267(%rip) + 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) @@ -3903,7 +3832,7 @@ LBB9_31: WORD $0xf741; BYTE $0xdc // negl %r12d WORD $0x894c; BYTE $0xff // movq %r15, %rdi WORD $0x8944; BYTE $0xe6 // movl %r12d, %esi - LONG $0x006260e8; BYTE $0x00 // callq _right_shift, $25184(%rip) + LONG $0x0060e0e8; BYTE $0x00 // callq _right_shift, $24800(%rip) LONG $0xfc02be41; WORD $0xffff // movl $-1022, %r14d LBB9_32: @@ -3911,7 +3840,7 @@ LBB9_32: LONG $0x000d840f; WORD $0x0000 // je LBB9_34, $13(%rip) WORD $0x894c; BYTE $0xff // movq %r15, %rdi LONG $0x000035be; BYTE $0x00 // movl $53, %esi - LONG $0x006052e8; BYTE $0x00 // callq _left_shift, $24658(%rip) + LONG $0x005ed2e8; BYTE $0x00 // callq _left_shift, $24274(%rip) LBB9_34: LONG $0x14478b41 // movl $20(%r15), %eax @@ -4372,20 +4301,19 @@ _value: WORD $0x5441 // pushq %r12 BYTE $0x53 // pushq %rbx LONG $0x28ec8348 // subq $40, %rsp - WORD $0x894c; BYTE $0xc3 // movq %r8, %rbx + WORD $0x894d; BYTE $0xc4 // movq %r8, %r12 WORD $0x8949; BYTE $0xce // movq %rcx, %r14 - WORD $0x8949; BYTE $0xf4 // movq %rsi, %r12 + 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 $0xb07d8d48 // leaq $-80(%rbp), %rdi - LONG $0xd0758d48 // leaq $-48(%rbp), %rsi - LONG $0x00067ae8; BYTE $0x00 // callq _advance_ns, $1658(%rip) + 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 $0x00c0870f; WORD $0x0000 // ja LBB11_11, $192(%rip) - LONG $0x9f0d8d48; WORD $0x0003; BYTE $0x00 // leaq $927(%rip), %rcx /* LJTI11_0(%rip) */ + 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 @@ -4395,57 +4323,57 @@ LBB11_2: LONG $0xd0758b4c // movq $-48(%rbp), %r14 LONG $0xff6e8d4d // leaq $-1(%r14), %r13 LONG $0xd06d894c // movq %r13, $-48(%rbp) - WORD $0xc3f6; BYTE $0x02 // testb $2, %bl + 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 $0x000e64e8; BYTE $0x00 // callq _vnumber, $3684(%rip) - LONG $0xd0658b4c // movq $-48(%rbp), %r12 - LONG $0x000350e9; BYTE $0x00 // jmp LBB11_58, $848(%rip) + 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 $0x2f1c8d4b // leaq (%r15,%r13), %rbx + LONG $0x2f248d4f // leaq (%r15,%r13), %r12 WORD $0x940f; BYTE $0xc0 // sete %al - WORD $0x0148; BYTE $0xc3 // addq %rax, %rbx - WORD $0x2949; BYTE $0xc4 // subq %rax, %r12 - LONG $0x0305840f; WORD $0x0000 // je LBB11_53, $773(%rip) - WORD $0x394d; BYTE $0xe5 // cmpq %r12, %r13 - LONG $0x000c830f; WORD $0x0000 // jae LBB11_7, $12(%rip) - WORD $0x038a // movb (%rbx), %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 $0x0309830f; WORD $0x0000 // jae LBB11_55, $777(%rip) + LONG $0x030c830f; WORD $0x0000 // jae LBB11_55, $780(%rip) LBB11_7: - WORD $0x8948; BYTE $0xdf // movq %rbx, %rdi - WORD $0x894c; BYTE $0xe6 // movq %r12, %rsi - LONG $0x002181e8; BYTE $0x00 // callq _do_skip_number, $8577(%rip) + 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 $0x02ef880f; WORD $0x0000 // js LBB11_54, $751(%rip) - WORD $0x0148; BYTE $0xc3 // addq %rax, %rbx - WORD $0x8949; BYTE $0xdc // movq %rbx, %r12 - WORD $0x294d; BYTE $0xfc // subq %r15, %r12 - LONG $0xd065894c // movq %r12, $-48(%rbp) + 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 $0x02f08e0f; WORD $0x0000 // jle LBB11_57, $752(%rip) + 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 $0x0002e3e9; BYTE $0x00 // jmp LBB11_58, $739(%rip) + LONG $0x0002e6e9; BYTE $0x00 // jmp LBB11_58, $742(%rip) LBB11_10: LONG $0x0106c749; WORD $0x0000; BYTE $0x00 // movq $1, (%r14) - LONG $0xd0658b4c // movq $-48(%rbp), %r12 - LONG $0x0002d3e9; BYTE $0x00 // jmp LBB11_58, $723(%rip) + 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 $0xd0658b4c // movq $-48(%rbp), %r12 - WORD $0xff49; BYTE $0xcc // decq %r12 - LONG $0x0002c0e9; BYTE $0x00 // jmp LBB11_58, $704(%rip) + 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) @@ -4453,10 +4381,10 @@ LBB11_12: LONG $0xb07d8d48 // leaq $-80(%rbp), %rdi LONG $0xc0558d48 // leaq $-64(%rbp), %rdx WORD $0x894c; BYTE $0xfe // movq %r15, %rsi - WORD $0x8948; BYTE $0xd9 // movq %rbx, %rcx - LONG $0x00095ce8; BYTE $0x00 // callq _advance_string, $2396(%rip) + WORD $0x894c; BYTE $0xe1 // movq %r12, %rcx + LONG $0x00077de8; BYTE $0x00 // callq _advance_string, $1917(%rip) WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x025b880f; WORD $0x0000 // js LBB11_47, $603(%rip) + 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 @@ -4466,89 +4394,89 @@ LBB11_12: LONG $0x18568949 // movq %rdx, $24(%r14) LONG $0x000007b9; BYTE $0x00 // movl $7, %ecx WORD $0x8949; BYTE $0x0e // movq %rcx, (%r14) - WORD $0x8949; BYTE $0xc4 // movq %rax, %r12 - LONG $0x00026ae9; BYTE $0x00 // jmp LBB11_58, $618(%rip) + WORD $0x8948; BYTE $0xc3 // movq %rax, %rbx + LONG $0x00026de9; BYTE $0x00 // jmp LBB11_58, $621(%rip) LBB11_14: - WORD $0xdb85 // testl %ebx, %ebx + 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 $0xdb85 // testl %ebx, %ebx + WORD $0x8545; BYTE $0xe4 // testl %r12d, %r12d LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax LONG $0x00000ab9; BYTE $0x00 // movl $10, %ecx - LONG $0x0000d5e9; BYTE $0x00 // jmp LBB11_28, $213(%rip) + LONG $0x0000d4e9; BYTE $0x00 // jmp LBB11_28, $212(%rip) LBB11_16: LONG $0x0506c749; WORD $0x0000; BYTE $0x00 // movq $5, (%r14) - LONG $0xd0658b4c // movq $-48(%rbp), %r12 - LONG $0x000234e9; BYTE $0x00 // jmp LBB11_58, $564(%rip) + LONG $0xd05d8b48 // movq $-48(%rbp), %rbx + LONG $0x000235e9; BYTE $0x00 // jmp LBB11_58, $565(%rip) LBB11_17: - WORD $0xdb85 // testl %ebx, %ebx + WORD $0x8545; BYTE $0xe4 // testl %r12d, %r12d LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax LONG $0x00000cb9; BYTE $0x00 // movl $12, %ecx - LONG $0x0000b2e9; BYTE $0x00 // jmp LBB11_28, $178(%rip) + LONG $0x0000b0e9; BYTE $0x00 // jmp LBB11_28, $176(%rip) LBB11_18: LONG $0xd04d8b48 // movq $-48(%rbp), %rcx - LONG $0x24448d49; BYTE $0xfc // leaq $-4(%r12), %rax + LONG $0xfc438d48 // leaq $-4(%rbx), %rax WORD $0x3948; BYTE $0xc1 // cmpq %rax, %rcx - LONG $0x006f870f; WORD $0x0000 // ja LBB11_22, $111(%rip) + LONG $0x006d870f; WORD $0x0000 // ja LBB11_22, $109(%rip) LONG $0x0f148b41 // movl (%r15,%rcx), %edx LONG $0x6c61fa81; WORD $0x6573 // cmpl $1702063201, %edx - LONG $0x00cb850f; WORD $0x0000 // jne LBB11_31, $203(%rip) + 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 $0x8949; BYTE $0xcc // movq %rcx, %r12 + WORD $0x8948; BYTE $0xcb // movq %rcx, %rbx WORD $0x8949; BYTE $0x06 // movq %rax, (%r14) - LONG $0x0001e7e9; BYTE $0x00 // jmp LBB11_58, $487(%rip) + LONG $0x0001e8e9; BYTE $0x00 // jmp LBB11_58, $488(%rip) LBB11_21: LONG $0xd04d8b48 // movq $-48(%rbp), %rcx - LONG $0x24448d49; BYTE $0xfd // leaq $-3(%r12), %rax + LONG $0xfd438d48 // leaq $-3(%rbx), %rax WORD $0x3948; BYTE $0xc1 // cmpq %rax, %rcx - LONG $0x0035870f; WORD $0x0000 // ja LBB11_22, $53(%rip) + 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 $0x00cf850f; WORD $0x0000 // jne LBB11_35, $207(%rip) + 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 $0x000163e9; BYTE $0x00 // jmp LBB11_50, $355(%rip) + LONG $0x000165e9; BYTE $0x00 // jmp LBB11_50, $357(%rip) LBB11_23: LONG $0xd04d8b48 // movq $-48(%rbp), %rcx - LONG $0x24448d49; BYTE $0xfd // leaq $-3(%r12), %rax + LONG $0xfd438d48 // leaq $-3(%rbx), %rax WORD $0x3948; BYTE $0xc1 // cmpq %rax, %rcx - LONG $0x0049860f; WORD $0x0000 // jbe LBB11_24, $73(%rip) + LONG $0x004c860f; WORD $0x0000 // jbe LBB11_24, $76(%rip) LBB11_22: - LONG $0xd065894c // movq %r12, $-48(%rbp) + LONG $0xd05d8948 // movq %rbx, $-48(%rbp) LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax WORD $0x8949; BYTE $0x06 // movq %rax, (%r14) - LONG $0x00018de9; BYTE $0x00 // jmp LBB11_58, $397(%rip) + LONG $0x000190e9; BYTE $0x00 // jmp LBB11_58, $400(%rip) LBB11_26: LONG $0x0606c749; WORD $0x0000; BYTE $0x00 // movq $6, (%r14) - LONG $0xd0658b4c // movq $-48(%rbp), %r12 - LONG $0x00017de9; BYTE $0x00 // jmp LBB11_58, $381(%rip) + LONG $0xd05d8b48 // movq $-48(%rbp), %rbx + LONG $0x000180e9; BYTE $0x00 // jmp LBB11_58, $384(%rip) LBB11_27: - WORD $0xdb85 // testl %ebx, %ebx + 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) - WORD $0xfbc1; BYTE $0x1f // sarl $31, %ebx - WORD $0xd3f7 // notl %ebx - WORD $0x634c; BYTE $0xe3 // movslq %ebx, %r12 - LONG $0xd065034c // addq $-48(%rbp), %r12 + 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: @@ -4568,15 +4496,15 @@ LBB11_31: 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 $0x03618d4c // leaq $3(%rcx), %r12 + LONG $0x03598d48 // leaq $3(%rcx), %rbx LONG $0x04518d48 // leaq $4(%rcx), %rdx LONG $0x0f7c8041; WORD $0x6503 // cmpb $101, $3(%r15,%rcx) - LONG $0xe2440f4c // cmoveq %rdx, %r12 + LONG $0xda440f48 // cmoveq %rdx, %rbx LONG $0x0000b8e9; BYTE $0x00 // jmp LBB11_47, $184(%rip) LBB11_35: - LONG $0xff618d4c // leaq $-1(%rcx), %r12 - LONG $0xd065894c // movq %r12, $-48(%rbp) + 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) @@ -4591,8 +4519,8 @@ LBB11_35: LONG $0x00005ce9; BYTE $0x00 // jmp LBB11_49, $92(%rip) LBB11_39: - LONG $0xff618d4c // leaq $-1(%rcx), %r12 - LONG $0xd065894c // movq %r12, $-48(%rbp) + 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) @@ -4607,7 +4535,7 @@ LBB11_39: LONG $0x000016e9; BYTE $0x00 // jmp LBB11_49, $22(%rip) LBB11_43: - WORD $0x8949; BYTE $0xcc // movq %rcx, %r12 + WORD $0x8948; BYTE $0xcb // movq %rcx, %rbx WORD $0x8949; BYTE $0x06 // movq %rax, (%r14) LONG $0x00005ee9; BYTE $0x00 // jmp LBB11_58, $94(%rip) @@ -4622,7 +4550,7 @@ LBB11_49: LONG $0xd04d8948 // movq %rcx, $-48(%rbp) LBB11_50: - WORD $0x8949; BYTE $0xcc // movq %rcx, %r12 + WORD $0x8948; BYTE $0xcb // movq %rcx, %rbx LBB11_51: WORD $0x8949; BYTE $0x06 // movq %rax, (%r14) @@ -4632,37 +4560,37 @@ LBB11_45: LONG $0x02c18348 // addq $2, %rcx LBB11_46: - WORD $0x8949; BYTE $0xcc // movq %rcx, %r12 + WORD $0x8948; BYTE $0xcb // movq %rcx, %rbx LBB11_47: - LONG $0xd065894c // movq %r12, $-48(%rbp) + 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 $0x294c; BYTE $0xfb // subq %r15, %rbx - LONG $0xd05d8948 // movq %rbx, $-48(%rbp) + 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 $0x0148; BYTE $0xc3 // addq %rax, %rbx + WORD $0x0149; BYTE $0xc4 // addq %rax, %r12 LBB11_55: - WORD $0x294c; BYTE $0xfb // subq %r15, %rbx - LONG $0xd05d8948 // movq %rbx, $-48(%rbp) + 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 $0x8949; BYTE $0xdc // movq %rbx, %r12 + 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 $0x894c; BYTE $0xe0 // movq %r12, %rax + WORD $0x8948; BYTE $0xd8 // movq %rbx, %rax LONG $0x28c48348 // addq $40, %rsp BYTE $0x5b // popq %rbx WORD $0x5c41 // popq %r12 @@ -4671,7 +4599,7 @@ LBB11_58: WORD $0x5f41 // popq %r15 BYTE $0x5d // popq %rbp BYTE $0xc3 // retq - BYTE $0x90 // .p2align 2, 0x90 + 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 @@ -4687,396 +4615,311 @@ LBB11_58: // .set L11_0_set_26, LBB11_26-LJTI11_0 // .set L11_0_set_27, LBB11_27-LJTI11_0 LJTI11_0: - LONG $0xfffffd0a // .long L11_0_set_10 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd2d // .long L11_0_set_12 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd83 // .long L11_0_set_14 - LONG $0xfffffc6a // .long L11_0_set_2 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffc6a // .long L11_0_set_2 - LONG $0xfffffc6a // .long L11_0_set_2 - LONG $0xfffffc6a // .long L11_0_set_2 - LONG $0xfffffc6a // .long L11_0_set_2 - LONG $0xfffffc6a // .long L11_0_set_2 - LONG $0xfffffc6a // .long L11_0_set_2 - LONG $0xfffffc6a // .long L11_0_set_2 - LONG $0xfffffc6a // .long L11_0_set_2 - LONG $0xfffffc6a // .long L11_0_set_2 - LONG $0xfffffc6a // .long L11_0_set_2 - LONG $0xfffffd96 // .long L11_0_set_15 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffda9 // .long L11_0_set_16 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffdb9 // .long L11_0_set_17 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffdcc // .long L11_0_set_18 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffe06 // .long L11_0_set_21 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffe3b // .long L11_0_set_23 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffe60 // .long L11_0_set_26 - LONG $0xfffffd1a // .long L11_0_set_11 - LONG $0xfffffe70 // .long L11_0_set_27 - QUAD $0x0000000000000000; QUAD $0x0000000000000000 // .p2align 5, 0x00 + 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: - QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' ' - QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' ' - -LCPI12_1: - QUAD $0x0909090909090909; QUAD $0x0909090909090909 // .space 16, '\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t' - QUAD $0x0909090909090909; QUAD $0x0909090909090909 // .space 16, '\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t' - -LCPI12_2: - QUAD $0x0a0a0a0a0a0a0a0a; QUAD $0x0a0a0a0a0a0a0a0a // .space 16, '\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n' - QUAD $0x0a0a0a0a0a0a0a0a; QUAD $0x0a0a0a0a0a0a0a0a // .space 16, '\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n' - -LCPI12_3: - 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' - - // .p2align 4, 0x00 -LCPI12_4: - QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' ' - -LCPI12_5: - QUAD $0x0909090909090909; QUAD $0x0909090909090909 // .space 16, '\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t' - -LCPI12_6: - QUAD $0x0a0a0a0a0a0a0a0a; QUAD $0x0a0a0a0a0a0a0a0a // .space 16, '\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n' - -LCPI12_7: - QUAD $0x0d0d0d0d0d0d0d0d; QUAD $0x0d0d0d0d0d0d0d0d // .space 16, '\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r' + 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 $0x5641 // pushq %r14 - BYTE $0x53 // pushq %rbx - WORD $0x8b48; BYTE $0x06 // movq (%rsi), %rax - WORD $0x8b4c; BYTE $0x07 // movq (%rdi), %r8 - LONG $0x084f8b4c // movq $8(%rdi), %r9 - WORD $0x394c; BYTE $0xc8 // cmpq %r9, %rax - LONG $0x0022830f; WORD $0x0000 // jae LBB12_4, $34(%rip) - LONG $0x000c8a41 // movb (%r8,%rax), %cl + 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_4, $21(%rip) + LONG $0x0015840f; WORD $0x0000 // je LBB12_10, $21(%rip) WORD $0xf980; BYTE $0x20 // cmpb $32, %cl - LONG $0x000c840f; WORD $0x0000 // je LBB12_4, $12(%rip) + LONG $0x000c840f; WORD $0x0000 // je LBB12_10, $12(%rip) WORD $0xc180; BYTE $0xf7 // addb $-9, %cl WORD $0xf980; BYTE $0x01 // cmpb $1, %cl - LONG $0x0286870f; WORD $0x0000 // ja LBB12_48, $646(%rip) + LONG $0x012c870f; WORD $0x0000 // ja LBB12_5, $300(%rip) -LBB12_4: - LONG $0x01488d48 // leaq $1(%rax), %rcx - WORD $0x394c; BYTE $0xc9 // cmpq %r9, %rcx - LONG $0x0022830f; WORD $0x0000 // jae LBB12_9, $34(%rip) - LONG $0x08148a41 // movb (%r8,%rcx), %dl - WORD $0xfa80; BYTE $0x0d // cmpb $13, %dl - LONG $0x0015840f; WORD $0x0000 // je LBB12_9, $21(%rip) - WORD $0xfa80; BYTE $0x20 // cmpb $32, %dl - LONG $0x000c840f; WORD $0x0000 // je LBB12_9, $12(%rip) - WORD $0xc280; BYTE $0xf7 // addb $-9, %dl - WORD $0xfa80; BYTE $0x01 // cmpb $1, %dl - LONG $0x005e870f; WORD $0x0000 // ja LBB12_8, $94(%rip) - -LBB12_9: - LONG $0x02488d48 // leaq $2(%rax), %rcx - WORD $0x394c; BYTE $0xc9 // cmpq %r9, %rcx +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 $0x08148a41 // movb (%r8,%rcx), %dl - WORD $0xfa80; BYTE $0x0d // cmpb $13, %dl + LONG $0x170c8a42 // movb (%rdi,%r10), %cl + WORD $0xf980; BYTE $0x0d // cmpb $13, %cl LONG $0x0015840f; WORD $0x0000 // je LBB12_14, $21(%rip) - WORD $0xfa80; BYTE $0x20 // cmpb $32, %dl + WORD $0xf980; BYTE $0x20 // cmpb $32, %cl LONG $0x000c840f; WORD $0x0000 // je LBB12_14, $12(%rip) - WORD $0xc280; BYTE $0xf7 // addb $-9, %dl - WORD $0xfa80; BYTE $0x01 // cmpb $1, %dl - LONG $0x002f870f; WORD $0x0000 // ja LBB12_8, $47(%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 $0x03488d48 // leaq $3(%rax), %rcx - WORD $0x394c; BYTE $0xc9 // cmpq %r9, %rcx - LONG $0x002a830f; WORD $0x0000 // jae LBB12_19, $42(%rip) - LONG $0x08148a41 // movb (%r8,%rcx), %dl - WORD $0xfa80; BYTE $0x0d // cmpb $13, %dl - LONG $0x001d840f; WORD $0x0000 // je LBB12_19, $29(%rip) - WORD $0xfa80; BYTE $0x20 // cmpb $32, %dl - LONG $0x0014840f; WORD $0x0000 // je LBB12_19, $20(%rip) - WORD $0xc280; BYTE $0xf7 // addb $-9, %dl - WORD $0xfa80; BYTE $0x01 // cmpb $1, %dl - LONG $0x0008860f; WORD $0x0000 // jbe LBB12_19, $8(%rip) - -LBB12_8: - WORD $0x8948; BYTE $0xc8 // movq %rcx, %rax - LONG $0x0001f1e9; BYTE $0x00 // jmp LBB12_48, $497(%rip) - -LBB12_19: - LONG $0x04488d48 // leaq $4(%rax), %rcx - WORD $0x3949; BYTE $0xc9 // cmpq %rcx, %r9 - LONG $0x01af860f; WORD $0x0000 // jbe LBB12_43, $431(%rip) - LONG $0x081c8d49 // leaq (%r8,%rcx), %rbx - WORD $0x894c; BYTE $0xca // movq %r9, %rdx - WORD $0x2948; BYTE $0xca // subq %rcx, %rdx - LONG $0x0078840f; WORD $0x0000 // je LBB12_28, $120(%rip) - WORD $0xd989 // movl %ebx, %ecx - WORD $0xe183; BYTE $0x1f // andl $31, %ecx - WORD $0x8548; BYTE $0xc9 // testq %rcx, %rcx - LONG $0x006a840f; WORD $0x0000 // je LBB12_28, $106(%rip) - LONG $0x00348d4d // leaq (%r8,%rax), %r14 - WORD $0x894c; BYTE $0xca // movq %r9, %rdx - WORD $0x2948; BYTE $0xc2 // subq %rax, %rdx - LONG $0xfb5a8d4c // leaq $-5(%rdx), %r11 - WORD $0xc031 // xorl %eax, %eax - QUAD $0x000100002600ba49; WORD $0x0000 // movabsq $4294977024, %r10 - QUAD $0x9090909090909090; WORD $0x9090 // .p2align 4, 0x90 - -LBB12_23: - LONG $0x5cbe0f41; WORD $0x0406 // movsbl $4(%r14,%rax), %ebx - WORD $0xfb83; BYTE $0x20 // cmpl $32, %ebx - LONG $0x017c870f; WORD $0x0000 // ja LBB12_45, $380(%rip) - LONG $0xdaa30f49 // btq %rbx, %r10 - LONG $0x0172830f; WORD $0x0000 // jae LBB12_45, $370(%rip) - LONG $0x01488d48 // leaq $1(%rax), %rcx - WORD $0x3949; BYTE $0xc3 // cmpq %rax, %r11 - LONG $0x0014840f; WORD $0x0000 // je LBB12_27, $20(%rip) - LONG $0x065c8d49; BYTE $0x05 // leaq $5(%r14,%rax), %rbx - WORD $0xe383; BYTE $0x1f // andl $31, %ebx - WORD $0x8948; BYTE $0xc8 // movq %rcx, %rax - WORD $0x8548; BYTE $0xdb // testq %rbx, %rbx - LONG $0xffc6850f; WORD $0xffff // jne LBB12_23, $-58(%rip) + 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_27: - LONG $0x315c8d4a; BYTE $0x04 // leaq $4(%rcx,%r14), %rbx - WORD $0x2948; BYTE $0xca // subq %rcx, %rdx - LONG $0xfcc28348 // addq $-4, %rdx - -LBB12_28: - LONG $0x20fa8348 // cmpq $32, %rdx - LONG $0x005f820f; WORD $0x0000 // jb LBB12_32, $95(%rip) - QUAD $0xfffffdc8056ffdc5 // vmovdqa $-568(%rip), %ymm0 /* LCPI12_0(%rip) */ - QUAD $0xfffffde00d6ffdc5 // vmovdqa $-544(%rip), %ymm1 /* LCPI12_1(%rip) */ - QUAD $0xfffffdf8156ffdc5 // vmovdqa $-520(%rip), %ymm2 /* LCPI12_2(%rip) */ - QUAD $0xfffffe101d6ffdc5 // vmovdqa $-496(%rip), %ymm3 /* LCPI12_3(%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 - // .p2align 4, 0x90 -LBB12_30: - LONG $0x236ffdc5 // vmovdqa (%rbx), %ymm4 - LONG $0xe874ddc5 // vpcmpeqb %ymm0, %ymm4, %ymm5 - LONG $0xf174ddc5 // vpcmpeqb %ymm1, %ymm4, %ymm6 - LONG $0xeeebd5c5 // vpor %ymm6, %ymm5, %ymm5 - LONG $0xf274ddc5 // vpcmpeqb %ymm2, %ymm4, %ymm6 - LONG $0xe374ddc5 // vpcmpeqb %ymm3, %ymm4, %ymm4 - LONG $0xe6ebddc5 // vpor %ymm6, %ymm4, %ymm4 - LONG $0xe5ebddc5 // vpor %ymm5, %ymm4, %ymm4 - LONG $0xc4d7fdc5 // vpmovmskb %ymm4, %eax +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 $0x00d8850f; WORD $0x0000 // jne LBB12_44, $216(%rip) - LONG $0x20c38348 // addq $32, %rbx - LONG $0xe0c28348 // addq $-32, %rdx - LONG $0x1ffa8348 // cmpq $31, %rdx - LONG $0xffc1870f; WORD $0xffff // ja LBB12_30, $-63(%rip) - -LBB12_32: - WORD $0xf8c5; BYTE $0x77 // vzeroupper - LONG $0x10fa8348 // cmpq $16, %rdx - LONG $0x0060820f; WORD $0x0000 // jb LBB12_36, $96(%rip) - QUAD $0xfffffddc056ff9c5 // vmovdqa $-548(%rip), %xmm0 /* LCPI12_4(%rip) */ - QUAD $0xfffffde40d6ff9c5 // vmovdqa $-540(%rip), %xmm1 /* LCPI12_5(%rip) */ - QUAD $0xfffffdec156ff9c5 // vmovdqa $-532(%rip), %xmm2 /* LCPI12_6(%rip) */ - QUAD $0xfffffdf41d6ff9c5 // vmovdqa $-524(%rip), %xmm3 /* LCPI12_7(%rip) */ - -LBB12_34: - LONG $0x236ff9c5 // vmovdqa (%rbx), %xmm4 - LONG $0xe874d9c5 // vpcmpeqb %xmm0, %xmm4, %xmm5 - LONG $0xf174d9c5 // vpcmpeqb %xmm1, %xmm4, %xmm6 - LONG $0xeeebd1c5 // vpor %xmm6, %xmm5, %xmm5 - LONG $0xf274d9c5 // vpcmpeqb %xmm2, %xmm4, %xmm6 - LONG $0xe374d9c5 // vpcmpeqb %xmm3, %xmm4, %xmm4 - LONG $0xe6ebd9c5 // vpor %xmm6, %xmm4, %xmm4 - LONG $0xe5ebd9c5 // vpor %xmm5, %xmm4, %xmm4 - LONG $0xc4d7f9c5 // vpmovmskb %xmm4, %eax - LONG $0xfff88366 // cmpw $-1, %ax - LONG $0x00b2850f; WORD $0x0000 // jne LBB12_51, $178(%rip) - LONG $0x10c38348 // addq $16, %rbx - LONG $0xf0c28348 // addq $-16, %rdx - LONG $0x0ffa8348 // cmpq $15, %rdx - LONG $0xffc0870f; WORD $0xffff // ja LBB12_34, $-64(%rip) - -LBB12_36: - WORD $0x8548; BYTE $0xd2 // testq %rdx, %rdx - LONG $0x003d840f; WORD $0x0000 // je LBB12_42, $61(%rip) - LONG $0x13148d4c // leaq (%rbx,%rdx), %r10 - WORD $0xff48; BYTE $0xc3 // incq %rbx - QUAD $0x000100002600bb49; WORD $0x0000 // movabsq $4294977024, %r11 - WORD $0x8948; BYTE $0xd8 // movq %rbx, %rax + 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_38: - LONG $0xff48be0f // movsbl $-1(%rax), %ecx - WORD $0xf983; BYTE $0x20 // cmpl $32, %ecx - LONG $0x0089870f; WORD $0x0000 // ja LBB12_52, $137(%rip) - LONG $0xcba30f49 // btq %rcx, %r11 - LONG $0x007f830f; WORD $0x0000 // jae LBB12_52, $127(%rip) - WORD $0xff48; BYTE $0xca // decq %rdx - WORD $0xff48; BYTE $0xc0 // incq %rax - WORD $0x8548; BYTE $0xd2 // testq %rdx, %rdx - LONG $0xffda850f; WORD $0xffff // jne LBB12_38, $-38(%rip) - WORD $0x894c; BYTE $0xd3 // movq %r10, %rbx +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_42: - WORD $0x294c; BYTE $0xc3 // subq %r8, %rbx - WORD $0x8948; BYTE $0xd8 // movq %rbx, %rax - LONG $0x000029e9; BYTE $0x00 // jmp LBB12_46, $41(%rip) +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_43: - WORD $0x8948; BYTE $0x0e // movq %rcx, (%rsi) - LONG $0x00003de9; BYTE $0x00 // jmp LBB12_49, $61(%rip) +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_44: - WORD $0xf8c5; BYTE $0x77 // vzeroupper - WORD $0x294c; BYTE $0xc3 // subq %r8, %rbx - WORD $0xd0f7 // notl %eax - WORD $0x9848 // cltq - LONG $0xc0bc0f48 // bsfq %rax, %rax - WORD $0x0148; BYTE $0xd8 // addq %rbx, %rax - LONG $0x00000be9; BYTE $0x00 // jmp LBB12_46, $11(%rip) - -LBB12_45: - WORD $0x0149; BYTE $0xc6 // addq %rax, %r14 - WORD $0xf749; BYTE $0xd0 // notq %r8 - LONG $0x30448d4b; BYTE $0x05 // leaq $5(%r8,%r14), %rax - -LBB12_46: - WORD $0x394c; BYTE $0xc8 // cmpq %r9, %rax - LONG $0x0013830f; WORD $0x0000 // jae LBB12_49, $19(%rip) - WORD $0x8b4c; BYTE $0x07 // movq (%rdi), %r8 - -LBB12_48: - LONG $0x01488d48 // leaq $1(%rax), %rcx - WORD $0x8948; BYTE $0x0e // movq %rcx, (%rsi) - LONG $0x00048a41 // movb (%r8,%rax), %al - LONG $0x000002e9; BYTE $0x00 // jmp LBB12_50, $2(%rip) - -LBB12_49: - WORD $0xc031 // xorl %eax, %eax +LBB12_19: + WORD $0x894c; BYTE $0x02 // movq %r8, (%rdx) + LONG $0x00003ce9; BYTE $0x00 // jmp LBB12_34, $60(%rip) -LBB12_50: +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 $0x5b // popq %rbx - WORD $0x5e41 // popq %r14 BYTE $0x5d // popq %rbp + WORD $0xf8c5; BYTE $0x77 // vzeroupper BYTE $0xc3 // retq -LBB12_51: - WORD $0xb70f; BYTE $0xc0 // movzwl %ax, %eax - WORD $0x294c; BYTE $0xc3 // subq %r8, %rbx - WORD $0xd0f7 // notl %eax - WORD $0xbc0f; BYTE $0xc0 // bsfl %eax, %eax - WORD $0x0148; BYTE $0xd8 // addq %rbx, %rax - LONG $0xffffc7e9; BYTE $0xff // jmp LBB12_46, $-57(%rip) +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_52: - WORD $0xf749; BYTE $0xd0 // notq %r8 - WORD $0x014c; BYTE $0xc0 // addq %r8, %rax - LONG $0xffffbce9; BYTE $0xff // jmp LBB12_46, $-68(%rip) - LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 +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 @@ -5136,7 +4979,7 @@ LCPI14_2: _advance_string: WORD $0xc1f6; BYTE $0x20 // testb $32, %cl LONG $0x0005850f; WORD $0x0000 // jne LBB14_2, $5(%rip) - LONG $0x005392e9; BYTE $0x00 // jmp _advance_string_default, $21394(%rip) + LONG $0x0053f2e9; BYTE $0x00 // jmp _advance_string_default, $21490(%rip) LBB14_2: BYTE $0x55 // pushq %rbp @@ -5776,7 +5619,7 @@ LBB15_62: 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 $0x800d8d48; WORD $0x00ec; BYTE $0x00 // leaq $60544(%rip), %rcx /* _P10_TAB(%rip) */ + 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 @@ -5798,7 +5641,7 @@ LBB15_70: WORD $0xfe83; BYTE $0xea // cmpl $-22, %esi LONG $0x0094820f; WORD $0x0000 // jb LBB15_77, $148(%rip) WORD $0xdef7 // negl %esi - LONG $0x37058d48; WORD $0x00ec; BYTE $0x00 // leaq $60471(%rip), %rax /* _P10_TAB(%rip) */ + 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) @@ -5829,7 +5672,7 @@ LBB15_74: LONG $0xc82ef9c5 // vucomisd %xmm0, %xmm1 LONG $0x0018870f; WORD $0x0000 // ja LBB15_77, $24(%rip) WORD $0xc089 // movl %eax, %eax - LONG $0xbb0d8d48; WORD $0x00eb; BYTE $0x00 // leaq $60347(%rip), %rcx /* _P10_TAB(%rip) */ + 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) @@ -5841,7 +5684,7 @@ LBB15_77: WORD $0x5d8b; BYTE $0xc0 // movl $-64(%rbp), %ebx WORD $0xda89 // movl %ebx, %edx LONG $0xb0758948 // movq %rsi, $-80(%rbp) - LONG $0xffe243e8; BYTE $0xff // callq _atof_eisel_lemire64, $-7613(%rip) + 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 @@ -5851,7 +5694,7 @@ LBB15_77: LONG $0xb84d8d48 // leaq $-72(%rbp), %rcx WORD $0x894c; BYTE $0xe7 // movq %r12, %rdi WORD $0xda89 // movl %ebx, %edx - LONG $0xffe21ce8; BYTE $0xff // callq _atof_eisel_lemire64, $-7652(%rip) + 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 @@ -5873,7 +5716,7 @@ LBB15_83: WORD $0x894c; BYTE $0xff // movq %r15, %rdi LONG $0xa0558b48 // movq $-96(%rbp), %rdx LONG $0xa84d8b48 // movq $-88(%rbp), %rcx - LONG $0xffe950e8; BYTE $0xff // callq _atof_native, $-5808(%rip) + 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) @@ -6219,7 +6062,7 @@ _fsm_exec: LONG $0x28ec8348 // subq $40, %rsp LONG $0xb84d8948 // movq %rcx, $-72(%rbp) LONG $0x003f8348 // cmpq $0, (%rdi) - LONG $0x0403840f; WORD $0x0000 // je LBB19_2, $1027(%rip) + 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) @@ -6232,21 +6075,22 @@ LBB19_3: LONG $0x03488d48 // leaq $3(%rax), %rcx WORD $0x8949; BYTE $0x08 // movq %rcx, (%r8) WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x04458e0f; WORD $0x0000 // jle LBB19_62, $1093(%rip) + 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 $0x0411840f; WORD $0x0000 // je LBB19_65, $1041(%rip) + LONG $0x0415840f; WORD $0x0000 // je LBB19_65, $1045(%rip) LBB19_4: LONG $0xc8758b4c // movq $-56(%rbp), %r14 - WORD $0x894c; BYTE $0xf7 // movq %r14, %rdi + WORD $0x8b49; BYTE $0x3e // movq (%r14), %rdi + LONG $0x08768b49 // movq $8(%r14), %rsi WORD $0x894c; BYTE $0xc3 // movq %r8, %rbx - WORD $0x894c; BYTE $0xc6 // movq %r8, %rsi - LONG $0xffee0ee8; BYTE $0xff // callq _advance_ns, $-4594(%rip) + 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 @@ -6276,7 +6120,7 @@ LBB19_9: LONG $0x00558949 // movq %rdx, (%r13) WORD $0x894d; BYTE $0xe6 // movq %r12, %r14 WORD $0x8548; BYTE $0xd2 // testq %rdx, %rdx - LONG $0xff86850f; WORD $0xffff // jne LBB19_4, $-122(%rip) + LONG $0xff82850f; WORD $0xffff // jne LBB19_4, $-126(%rip) LONG $0x000392e9; BYTE $0x00 // jmp LBB19_65, $914(%rip) LBB19_12: @@ -6293,7 +6137,7 @@ LBB19_13: LONG $0x00558949 // movq %rdx, (%r13) WORD $0x894d; BYTE $0xe6 // movq %r12, %r14 WORD $0x8548; BYTE $0xd2 // testq %rdx, %rdx - LONG $0xff4d850f; WORD $0xffff // jne LBB19_4, $-179(%rip) + LONG $0xff49850f; WORD $0xffff // jne LBB19_4, $-183(%rip) LONG $0x000359e9; BYTE $0x00 // jmp LBB19_65, $857(%rip) LBB19_16: @@ -6309,21 +6153,21 @@ LBB19_18: LONG $0xd0558d48 // leaq $-48(%rbp), %rdx LONG $0xb84d8b48 // movq $-72(%rbp), %rcx WORD $0x894c; BYTE $0xc3 // movq %r8, %rbx - LONG $0xfff116e8; BYTE $0xff // callq _advance_string, $-3818(%rip) + 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 $0xfeeb8f0f; WORD $0xffff // jg LBB19_39, $-277(%rip) + 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 $0xfffed0e9; BYTE $0xff // jmp LBB19_39, $-304(%rip) + LONG $0xfffecce9; BYTE $0xff // jmp LBB19_39, $-308(%rip) LBB19_22: WORD $0x5d3c // cmpb $93, %al @@ -6331,7 +6175,7 @@ LBB19_22: LONG $0x00558949 // movq %rdx, (%r13) WORD $0x894d; BYTE $0xe6 // movq %r12, %r14 WORD $0x8548; BYTE $0xd2 // testq %rdx, %rdx - LONG $0xfec8850f; WORD $0xffff // jne LBB19_4, $-312(%rip) + LONG $0xfec4850f; WORD $0xffff // jne LBB19_4, $-316(%rip) LONG $0x0002d4e9; BYTE $0x00 // jmp LBB19_65, $724(%rip) LBB19_24: @@ -6342,7 +6186,7 @@ LBB19_24: LONG $0x00558949 // movq %rdx, (%r13) WORD $0x894d; BYTE $0xe6 // movq %r12, %r14 WORD $0x8548; BYTE $0xd2 // testq %rdx, %rdx - LONG $0xfea1850f; WORD $0xffff // jne LBB19_4, $-351(%rip) + LONG $0xfe9d850f; WORD $0xffff // jne LBB19_4, $-355(%rip) LONG $0x0002ade9; BYTE $0x00 // jmp LBB19_65, $685(%rip) LBB19_27: @@ -6367,7 +6211,7 @@ LBB19_29: WORD $0x014c; BYTE $0xf7 // addq %r14, %rdi LONG $0x08708b48 // movq $8(%rax), %rsi WORD $0x294c; BYTE $0xf6 // subq %r14, %rsi - LONG $0x000801e8; BYTE $0x00 // callq _do_skip_number, $2049(%rip) + 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 @@ -6375,7 +6219,7 @@ LBB19_29: WORD $0x8948; BYTE $0x03 // movq %rax, (%rbx) WORD $0x854d; BYTE $0xff // testq %r15, %r15 WORD $0x8949; BYTE $0xd8 // movq %rbx, %r8 - LONG $0xfe218f0f; WORD $0xffff // jg LBB19_39, $-479(%rip) + LONG $0xfe1d8f0f; WORD $0xffff // jg LBB19_39, $-483(%rip) LONG $0x00023de9; BYTE $0x00 // jmp LBB19_65, $573(%rip) LBB19_31: @@ -6384,7 +6228,7 @@ LBB19_31: LONG $0x01418d48 // leaq $1(%rcx), %rax LONG $0x00458949 // movq %rax, (%r13) QUAD $0x00000008cd44c749; BYTE $0x00 // movq $0, $8(%r13,%rcx,8) - LONG $0xfffdf9e9; BYTE $0xff // jmp LBB19_39, $-519(%rip) + LONG $0xfffdf5e9; BYTE $0xff // jmp LBB19_39, $-523(%rip) LBB19_33: LONG $0xfff98148; WORD $0x000f; BYTE $0x00 // cmpq $4095, %rcx @@ -6392,7 +6236,7 @@ LBB19_33: LONG $0x01418d48 // leaq $1(%rcx), %rax LONG $0x00458949 // movq %rax, (%r13) QUAD $0x00000308cd44c749; BYTE $0x00 // movq $3, $8(%r13,%rcx,8) - LONG $0xfffdd6e9; BYTE $0xff // jmp LBB19_39, $-554(%rip) + LONG $0xfffdd2e9; BYTE $0xff // jmp LBB19_39, $-558(%rip) LBB19_35: QUAD $0x00000200cd44c749; BYTE $0x00 // movq $2, (%r13,%rcx,8) @@ -6403,7 +6247,7 @@ LBB19_35: LONG $0xd0558d48 // leaq $-48(%rbp), %rdx LONG $0xb84d8b48 // movq $-72(%rbp), %rcx WORD $0x894c; BYTE $0xc3 // movq %r8, %rbx - LONG $0xffefbce8; BYTE $0xff // callq _advance_string, $-4164(%rip) + 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) @@ -6417,7 +6261,7 @@ LBB19_35: LONG $0x01488d48 // leaq $1(%rax), %rcx LONG $0x004d8949 // movq %rcx, (%r13) QUAD $0x00000408c544c749; BYTE $0x00 // movq $4, $8(%r13,%rax,8) - LONG $0xfffd6be9; BYTE $0xff // jmp LBB19_39, $-661(%rip) + LONG $0xfffd67e9; BYTE $0xff // jmp LBB19_39, $-665(%rip) LBB19_40: QUAD $0xffffffffd045c748 // movq $-1, $-48(%rbp) @@ -6433,13 +6277,13 @@ LBB19_41: LONG $0x08708b48 // movq $8(%rax), %rsi WORD $0x294c; BYTE $0xf6 // subq %r14, %rsi WORD $0x894c; BYTE $0xc3 // movq %r8, %rbx - LONG $0x0006fbe8; BYTE $0x00 // callq _do_skip_number, $1787(%rip) + 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 $0xfd238f0f; WORD $0xffff // jg LBB19_39, $-733(%rip) + LONG $0xfd1f8f0f; WORD $0xffff // jg LBB19_39, $-737(%rip) LONG $0x000176e9; BYTE $0x00 // jmp LBB19_68, $374(%rip) LBB19_43: @@ -6449,7 +6293,7 @@ LBB19_43: LONG $0x01488d48 // leaq $1(%rax), %rcx LONG $0x004d8949 // movq %rcx, (%r13) QUAD $0x00000508c544c749; BYTE $0x00 // movq $5, $8(%r13,%rax,8) - LONG $0xfffcf8e9; BYTE $0xff // jmp LBB19_39, $-776(%rip) + LONG $0xfffcf4e9; BYTE $0xff // jmp LBB19_39, $-780(%rip) LBB19_45: WORD $0x8b49; BYTE $0x00 // movq (%r8), %rax @@ -6466,7 +6310,7 @@ LBB19_45: LONG $0x04488d48 // leaq $4(%rax), %rcx WORD $0x8949; BYTE $0x08 // movq %rcx, (%r8) WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0xfcbb8f0f; WORD $0xffff // jg LBB19_39, $-837(%rip) + LONG $0xfcb78f0f; WORD $0xffff // jg LBB19_39, $-841(%rip) LONG $0x0000f8e9; BYTE $0x00 // jmp LBB19_62, $248(%rip) LBB19_48: @@ -6479,7 +6323,7 @@ LBB19_48: LONG $0xc84d8b48 // movq $-56(%rbp), %rcx WORD $0x8b48; BYTE $0x09 // movq (%rcx), %rcx QUAD $0x6c6c756eff017c81 // cmpl $1819047278, $-1(%rcx,%rax) - LONG $0xfc77840f; WORD $0xffff // je LBB19_3, $-905(%rip) + LONG $0xfc73840f; WORD $0xffff // je LBB19_3, $-909(%rip) LONG $0x0000e5e9; BYTE $0x00 // jmp LBB19_69, $229(%rip) LBB19_50: @@ -6492,7 +6336,7 @@ LBB19_50: LONG $0xc84d8b48 // movq $-56(%rbp), %rcx WORD $0x8b48; BYTE $0x09 // movq (%rcx), %rcx QUAD $0x65757274ff017c81 // cmpl $1702195828, $-1(%rcx,%rax) - LONG $0xfc46840f; WORD $0xffff // je LBB19_3, $-954(%rip) + LONG $0xfc42840f; WORD $0xffff // je LBB19_3, $-958(%rip) LONG $0x000103e9; BYTE $0x00 // jmp LBB19_73, $259(%rip) LBB19_52: @@ -6502,7 +6346,7 @@ LBB19_52: LONG $0x01488d48 // leaq $1(%rax), %rcx LONG $0x004d8949 // movq %rcx, (%r13) QUAD $0x00000608c544c749; BYTE $0x00 // movq $6, $8(%r13,%rax,8) - LONG $0xfffc2ee9; BYTE $0xff // jmp LBB19_39, $-978(%rip) + LONG $0xfffc2ae9; BYTE $0xff // jmp LBB19_39, $-982(%rip) LBB19_2: LONG $0xffc6c749; WORD $0xffff; BYTE $0xff // movq $-1, %r14 @@ -6652,132 +6496,132 @@ LJTI19_0: // .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 + 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 - // .p2align 4, 0x00 LCPI20_0: QUAD $0x0000000000000001 // .quad 1 QUAD $0x0000000000000006 // .quad 6 @@ -6793,7 +6637,7 @@ _skip_object: LONG $0x0011f8c5 // vmovups %xmm0, (%rax) WORD $0x8948; BYTE $0xc7 // movq %rax, %rdi BYTE $0x5d // popq %rbp - LONG $0xfff81ee9; BYTE $0xff // jmp _fsm_exec, $-2018(%rip) + LONG $0xfff80ee9; BYTE $0xff // jmp _fsm_exec, $-2034(%rip) QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 _skip_string: @@ -6812,7 +6656,7 @@ _skip_string: LONG $0xd8658d4c // leaq $-40(%rbp), %r12 WORD $0x8948; BYTE $0xde // movq %rbx, %rsi WORD $0x894c; BYTE $0xe2 // movq %r12, %rdx - LONG $0xffea3ee8; BYTE $0xff // callq _advance_string, $-5570(%rip) + 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 @@ -6849,7 +6693,7 @@ _skip_negative: LONG $0x08778b48 // movq $8(%rdi), %rsi WORD $0x2948; BYTE $0xde // subq %rbx, %rsi WORD $0x8948; BYTE $0xc7 // movq %rax, %rdi - LONG $0x00018ee8; BYTE $0x00 // callq _do_skip_number, $398(%rip) + 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) @@ -6862,12 +6706,12 @@ LBB22_1: 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 - QUAD $0x0000000000000000; QUAD $0x0000000000000000; LONG $0x00000000; BYTE $0x00 // .p2align 5, 0x00 + 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, '////////////////' @@ -7545,29 +7389,32 @@ _skip_one_fast: LONG $0x80ec8148; WORD $0x0000; BYTE $0x00 // subq $128, %rsp WORD $0x8949; BYTE $0xf6 // movq %rsi, %r14 WORD $0x8949; BYTE $0xff // movq %rdi, %r15 - LONG $0xffdbcde8; BYTE $0xff // callq _advance_ns, $-9267(%rip) + 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 $0x0157870f; WORD $0x0000 // ja LBB28_23, $343(%rip) + LONG $0x015d870f; WORD $0x0000 // ja LBB28_23, $349(%rip) LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - LONG $0xc0358d48; WORD $0x0008; BYTE $0x00 // leaq $2240(%rip), %rsi /* LJTI28_0(%rip) */ + 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 $0x004e820f; WORD $0x0000 // jb LBB28_6, $78(%rip) - QUAD $0xfffffe64056ffdc5 // vmovdqa $-412(%rip), %ymm0 /* LCPI28_0(%rip) */ - QUAD $0xfffffe7c0d6ffdc5 // vmovdqa $-388(%rip), %ymm1 /* LCPI28_1(%rip) */ - QUAD $0xfffffe94156ffdc5 // vmovdqa $-364(%rip), %ymm2 /* LCPI28_2(%rip) */ - LONG $0x90909090 // .p2align 4, 0x90 + 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 @@ -7586,9 +7433,9 @@ LBB28_4: LBB28_6: LONG $0x10f98348 // cmpq $16, %rcx LONG $0x0057820f; WORD $0x0000 // jb LBB28_10, $87(%rip) - QUAD $0xffffff0c056ff9c5 // vmovdqa $-244(%rip), %xmm0 /* LCPI28_3(%rip) */ - QUAD $0xffffff140d6ff9c5 // vmovdqa $-236(%rip), %xmm1 /* LCPI28_4(%rip) */ - QUAD $0xffffff1c156ff9c5 // vmovdqa $-228(%rip), %xmm2 /* LCPI28_5(%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: @@ -7672,8 +7519,8 @@ LBB28_24: LONG $0x000020bb; BYTE $0x00 // movl $32, %ebx LONG $0xffffb941; WORD $0xffff // movl $4294967295, %r9d WORD $0xd231 // xorl %edx, %edx - QUAD $0xfffffd62056ffdc5 // vmovdqa $-670(%rip), %ymm0 /* LCPI28_6(%rip) */ - QUAD $0xfffffd7a0d6ffdc5 // vmovdqa $-646(%rip), %ymm1 /* LCPI28_7(%rip) */ + 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) @@ -7737,21 +7584,21 @@ LBB28_34: WORD $0x2948; BYTE $0xd1 // subq %rdx, %rcx WORD $0x0349; BYTE $0x17 // addq (%r15), %rdx WORD $0x3145; BYTE $0xc9 // xorl %r9d, %r9d - QUAD $0xfffffcaa056ffdc5 // vmovdqa $-854(%rip), %ymm0 /* LCPI28_7(%rip) */ - QUAD $0xfffffc820d6ffdc5 // vmovdqa $-894(%rip), %ymm1 /* LCPI28_6(%rip) */ + 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 $0xfffffcf61d6ffdc5 // vmovdqa $-778(%rip), %ymm3 /* LCPI28_10(%rip) */ - QUAD $0xfffffc4e256ffdc5 // vmovdqa $-946(%rip), %ymm4 /* LCPI28_2(%rip) */ + 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 $0xdb // xorl %r11d, %r11d + 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 $0xc8 // popcntq %r8, %rcx - WORD $0x0149; BYTE $0xcb // addq %rcx, %r11 + 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 @@ -7779,11 +7626,11 @@ LBB28_37: WORD $0x2148; BYTE $0xcf // andq %rcx, %rdi LONG $0x3f2c8d4c // leaq (%rdi,%rdi), %r13 WORD $0x094d; BYTE $0xd5 // orq %r10, %r13 - WORD $0x894d; BYTE $0xe8 // movq %r13, %r8 + WORD $0x894d; BYTE $0xea // movq %r13, %r10 QUAD $0xaaaaaaaaaaaabb48; WORD $0xaaaa // movabsq $-6148914691236517206, %rbx - WORD $0x3149; BYTE $0xd8 // xorq %rbx, %r8 + WORD $0x3149; BYTE $0xda // xorq %rbx, %r10 WORD $0x2148; BYTE $0xd9 // andq %rbx, %rcx - WORD $0x214c; BYTE $0xc1 // andq %r8, %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 @@ -7811,34 +7658,34 @@ LBB28_40: LONG $0x7ef9c1c4; BYTE $0xed // vmovq %xmm5, %r13 WORD $0x314d; BYTE $0xcd // xorq %r9, %r13 LONG $0xeb74c5c5 // vpcmpeqb %ymm3, %ymm7, %ymm5 - LONG $0xc5d77dc5 // vpmovmskb %ymm5, %r8d + LONG $0xddd77dc5 // vpmovmskb %ymm5, %r11d LONG $0xeb74cdc5 // vpcmpeqb %ymm3, %ymm6, %ymm5 LONG $0xfdd7fdc5 // vpmovmskb %ymm5, %edi LONG $0x20e7c148 // shlq $32, %rdi - WORD $0x0949; BYTE $0xf8 // orq %rdi, %r8 + WORD $0x0949; BYTE $0xfb // orq %rdi, %r11 WORD $0x894d; BYTE $0xe9 // movq %r13, %r9 WORD $0xf749; BYTE $0xd1 // notq %r9 - WORD $0x214d; BYTE $0xc8 // andq %r9, %r8 + WORD $0x214d; BYTE $0xcb // andq %r9, %r11 LONG $0xec74c5c5 // vpcmpeqb %ymm4, %ymm7, %ymm5 - LONG $0xddd7fdc5 // vpmovmskb %ymm5, %ebx - LONG $0xec74cdc5 // vpcmpeqb %ymm4, %ymm6, %ymm5 LONG $0xfdd7fdc5 // vpmovmskb %ymm5, %edi - LONG $0x20e7c148 // shlq $32, %rdi - WORD $0x0948; BYTE $0xfb // orq %rdi, %rbx - WORD $0x214c; BYTE $0xcb // andq %r9, %rbx + 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 $0xff4b8d48 // leaq $-1(%rbx), %rcx - WORD $0x8948; BYTE $0xcf // movq %rcx, %rdi - WORD $0x214c; BYTE $0xc7 // andq %r8, %rdi - LONG $0xb80f48f3; BYTE $0xff // popcntq %rdi, %rdi - WORD $0x014c; BYTE $0xdf // addq %r11, %rdi - WORD $0x3948; BYTE $0xf7 // cmpq %rsi, %rdi + 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 $0xcb // andq %rcx, %rbx + 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) @@ -7941,21 +7788,21 @@ LBB28_59: WORD $0x2948; BYTE $0xd1 // subq %rdx, %rcx WORD $0x0349; BYTE $0x17 // addq (%r15), %rdx WORD $0x3145; BYTE $0xc9 // xorl %r9d, %r9d - QUAD $0xfffff9d9056ffdc5 // vmovdqa $-1575(%rip), %ymm0 /* LCPI28_7(%rip) */ - QUAD $0xfffff9b10d6ffdc5 // vmovdqa $-1615(%rip), %ymm1 /* LCPI28_6(%rip) */ + 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 $0xfffff9e51d6ffdc5 // vmovdqa $-1563(%rip), %ymm3 /* LCPI28_8(%rip) */ - QUAD $0xfffff9fd256ffdc5 // vmovdqa $-1539(%rip), %ymm4 /* LCPI28_9(%rip) */ + 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 $0xdb // xorl %r11d, %r11d + 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 $0xc8 // popcntq %r8, %rcx - WORD $0x0149; BYTE $0xcb // addq %rcx, %r11 + 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 @@ -7983,11 +7830,11 @@ LBB28_62: WORD $0x2148; BYTE $0xcf // andq %rcx, %rdi LONG $0x3f2c8d4c // leaq (%rdi,%rdi), %r13 WORD $0x094d; BYTE $0xd5 // orq %r10, %r13 - WORD $0x894d; BYTE $0xe8 // movq %r13, %r8 + WORD $0x894d; BYTE $0xea // movq %r13, %r10 QUAD $0xaaaaaaaaaaaabb48; WORD $0xaaaa // movabsq $-6148914691236517206, %rbx - WORD $0x3149; BYTE $0xd8 // xorq %rbx, %r8 + WORD $0x3149; BYTE $0xda // xorq %rbx, %r10 WORD $0x2148; BYTE $0xd9 // andq %rbx, %rcx - WORD $0x214c; BYTE $0xc1 // andq %r8, %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 @@ -8015,34 +7862,34 @@ LBB28_65: LONG $0x7ef9c1c4; BYTE $0xed // vmovq %xmm5, %r13 WORD $0x314d; BYTE $0xcd // xorq %r9, %r13 LONG $0xeb74c5c5 // vpcmpeqb %ymm3, %ymm7, %ymm5 - LONG $0xc5d77dc5 // vpmovmskb %ymm5, %r8d + LONG $0xddd77dc5 // vpmovmskb %ymm5, %r11d LONG $0xeb74cdc5 // vpcmpeqb %ymm3, %ymm6, %ymm5 LONG $0xfdd7fdc5 // vpmovmskb %ymm5, %edi LONG $0x20e7c148 // shlq $32, %rdi - WORD $0x0949; BYTE $0xf8 // orq %rdi, %r8 + WORD $0x0949; BYTE $0xfb // orq %rdi, %r11 WORD $0x894d; BYTE $0xe9 // movq %r13, %r9 WORD $0xf749; BYTE $0xd1 // notq %r9 - WORD $0x214d; BYTE $0xc8 // andq %r9, %r8 + WORD $0x214d; BYTE $0xcb // andq %r9, %r11 LONG $0xec74c5c5 // vpcmpeqb %ymm4, %ymm7, %ymm5 - LONG $0xddd7fdc5 // vpmovmskb %ymm5, %ebx - LONG $0xec74cdc5 // vpcmpeqb %ymm4, %ymm6, %ymm5 LONG $0xfdd7fdc5 // vpmovmskb %ymm5, %edi - LONG $0x20e7c148 // shlq $32, %rdi - WORD $0x0948; BYTE $0xfb // orq %rdi, %rbx - WORD $0x214c; BYTE $0xcb // andq %r9, %rbx + 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 $0xff4b8d48 // leaq $-1(%rbx), %rcx - WORD $0x8948; BYTE $0xcf // movq %rcx, %rdi - WORD $0x214c; BYTE $0xc7 // andq %r8, %rdi - LONG $0xb80f48f3; BYTE $0xff // popcntq %rdi, %rdi - WORD $0x014c; BYTE $0xdf // addq %r11, %rdi - WORD $0x3948; BYTE $0xf7 // cmpq %rsi, %rdi + 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 $0xcb // andq %rcx, %rbx + 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) @@ -8136,7 +7983,7 @@ LBB28_82: LBB28_83: LONG $0x08478b49 // movq $8(%r15), %rax - LONG $0xcbbc0f48 // bsfq %rbx, %rcx + 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) @@ -8259,19 +8106,19 @@ LJTI28_0: LONG $0xfffff889 // .long L28_0_set_23 LONG $0xfffff889 // .long L28_0_set_23 LONG $0xfffff889 // .long L28_0_set_23 - LONG $0xfffff749 // .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 $0xfffff749 // .long L28_0_set_2 - LONG $0xfffff749 // .long L28_0_set_2 - LONG $0xfffff749 // .long L28_0_set_2 - LONG $0xfffff749 // .long L28_0_set_2 - LONG $0xfffff749 // .long L28_0_set_2 - LONG $0xfffff749 // .long L28_0_set_2 - LONG $0xfffff749 // .long L28_0_set_2 - LONG $0xfffff749 // .long L28_0_set_2 - LONG $0xfffff749 // .long L28_0_set_2 - LONG $0xfffff749 // .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 $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 @@ -8356,11 +8203,11 @@ _get_by_path: WORD $0x5441 // pushq %r12 BYTE $0x53 // pushq %rbx LONG $0x28ec8348 // subq $40, %rsp - WORD $0x8949; BYTE $0xf5 // movq %rsi, %r13 - WORD $0x8949; BYTE $0xff // movq %rdi, %r15 + 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 $0x0681840f; WORD $0x0000 // je LBB29_91, $1665(%rip) + 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 @@ -8368,46 +8215,48 @@ _get_by_path: LONG $0xb8458948 // movq %rax, $-72(%rbp) LBB29_2: - WORD $0x894c; BYTE $0xff // movq %r15, %rdi - WORD $0x894c; BYTE $0xee // movq %r13, %rsi - LONG $0xffd09fe8; BYTE $0xff // callq _advance_ns, $-12129(%rip) - WORD $0x8b49; BYTE $0x0e // movq (%r14), %rcx - WORD $0x8548; BYTE $0xc9 // testq %rcx, %rcx - LONG $0x06b3840f; WORD $0x0000 // je LBB29_97, $1715(%rip) - WORD $0x498a; BYTE $0x17 // movb $23(%rcx), %cl - WORD $0xe180; BYTE $0x1f // andb $31, %cl - WORD $0xf980; BYTE $0x02 // cmpb $2, %cl - LONG $0x05c4840f; WORD $0x0000 // je LBB29_84, $1476(%rip) - WORD $0xf980; BYTE $0x18 // cmpb $24, %cl - LONG $0x069b850f; WORD $0x0000 // jne LBB29_97, $1691(%rip) - WORD $0x7b3c // cmpb $123, %al - LONG $0xc875894c // movq %r14, $-56(%rbp) - LONG $0x0675850f; WORD $0x0000 // jne LBB29_95, $1653(%rip) - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 + 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: - WORD $0x894c; BYTE $0xff // movq %r15, %rdi - WORD $0x894c; BYTE $0xee // movq %r13, %rsi - LONG $0xffd055e8; BYTE $0xff // callq _advance_ns, $-12203(%rip) + 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 $0x0633850f; WORD $0x0000 // jne LBB29_92, $1587(%rip) + 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) - LONG $0x005d8b49 // movq (%r13), %rbx - WORD $0x894c; BYTE $0xff // movq %r15, %rdi + 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 $0x0027a7e8; BYTE $0x00 // callq _advance_string_default, $10151(%rip) + LONG $0x0027f3e8; BYTE $0x00 // callq _advance_string_default, $10227(%rip) WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x064e880f; WORD $0x0000 // js LBB29_98, $1614(%rip) - LONG $0x00458949 // movq %rax, (%r13) + 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 $0x017c8e0f; WORD $0x0000 // jle LBB29_35, $380(%rip) + LONG $0x01d48e0f; WORD $0x0000 // jle LBB29_40, $468(%rip) LBB29_10: WORD $0x8948; BYTE $0xd9 // movq %rbx, %rcx @@ -8415,20 +8264,20 @@ LBB29_10: WORD $0x0148; BYTE $0xc8 // addq %rcx, %rax WORD $0x8948; BYTE $0xc1 // movq %rax, %rcx WORD $0x094c; BYTE $0xe1 // orq %r12, %rcx - LONG $0x008e840f; WORD $0x0000 // je LBB29_18, $142(%rip) + LONG $0x008b840f; WORD $0x0000 // je LBB29_18, $139(%rip) WORD $0x394c; BYTE $0xe0 // cmpq %r12, %rax - LONG $0x04d5850f; WORD $0x0000 // jne LBB29_79, $1237(%rip) - WORD $0x0349; BYTE $0x1f // addq (%r15), %rbx + LONG $0x0092850f; WORD $0x0000 // jne LBB29_19, $146(%rip) + LONG $0x005d0349 // addq (%r13), %rbx LONG $0x20fc8349 // cmpq $32, %r12 - LONG $0x0034820f; WORD $0x0000 // jb LBB29_15, $52(%rip) - QUAD $0x9090909090909090 // .p2align 4, 0x90 + 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 $0x0129850f; WORD $0x0000 // jne LBB29_33, $297(%rip) + LONG $0x0139850f; WORD $0x0000 // jne LBB29_34, $313(%rip) LONG $0x20c38348 // addq $32, %rbx LONG $0x20c68349 // addq $32, %r14 LONG $0xe0c48349 // addq $-32, %r12 @@ -8441,48 +8290,53 @@ LBB29_15: WORD $0x8944; BYTE $0xf1 // movl %r14d, %ecx LONG $0x0fffe181; WORD $0x0000 // andl $4095, %ecx LONG $0xe0f98148; WORD $0x000f; BYTE $0x00 // cmpq $4064, %rcx - LONG $0x0031870f; WORD $0x0000 // ja LBB29_19, $49(%rip) + LONG $0x003e870f; WORD $0x0000 // ja LBB29_20, $62(%rip) LONG $0x000fe13d; BYTE $0x00 // cmpl $4065, %eax - LONG $0x0026830f; WORD $0x0000 // jae LBB29_19, $38(%rip) + 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 $0x00008fe9; BYTE $0x00 // jmp LBB29_26, $143(%rip) + LONG $0x00009fe9; BYTE $0x00 // jmp LBB29_27, $159(%rip) WORD $0x9090 // .p2align 4, 0x90 LBB29_18: - LONG $0x000001bb; BYTE $0x00 // movl $1, %ebx - LONG $0x000448e9; BYTE $0x00 // jmp LBB29_80, $1096(%rip) + 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: - LONG $0x10fc8349 // cmpq $16, %r12 - LONG $0x0049820f; WORD $0x0000 // jb LBB29_23, $73(%rip) - QUAD $0x9090909090909090; LONG $0x90909090 // .p2align 4, 0x90 + 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_33, $152(%rip) + 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_20, $-45(%rip) + 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_23: +LBB29_24: LONG $0x0ff0f981; WORD $0x0000 // cmpl $4080, %ecx - LONG $0x0035870f; WORD $0x0000 // ja LBB29_28, $53(%rip) + LONG $0x0035870f; WORD $0x0000 // ja LBB29_29, $53(%rip) LONG $0x000ff13d; BYTE $0x00 // cmpl $4081, %eax - LONG $0x002a830f; WORD $0x0000 // jae LBB29_28, $42(%rip) + 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 @@ -8491,382 +8345,389 @@ LBB29_23: WORD $0xd0f7 // notl %eax WORD $0xb70f; BYTE $0xc0 // movzwl %ax, %eax -LBB29_26: +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_34, $51(%rip) + LONG $0x000033e9; BYTE $0x00 // jmp LBB29_35, $51(%rip) -LBB29_28: +LBB29_29: WORD $0x01b0 // movb $1, %al WORD $0x854d; BYTE $0xe4 // testq %r12, %r12 - LONG $0x0028840f; WORD $0x0000 // je LBB29_34, $40(%rip) + LONG $0x0028840f; WORD $0x0000 // je LBB29_35, $40(%rip) WORD $0xc931 // xorl %ecx, %ecx LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 -LBB29_30: +LBB29_31: LONG $0x0b14b60f // movzbl (%rbx,%rcx), %edx LONG $0x0e143a41 // cmpb (%r14,%rcx), %dl - LONG $0x0011850f; WORD $0x0000 // jne LBB29_33, $17(%rip) + 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_30, $-26(%rip) - LONG $0x000002e9; BYTE $0x00 // jmp LBB29_34, $2(%rip) - -LBB29_33: - WORD $0xc031 // xorl %eax, %eax + LONG $0xffe6850f; WORD $0xffff // jne LBB29_31, $-26(%rip) + LONG $0x000002e9; BYTE $0x00 // jmp LBB29_35, $2(%rip) LBB29_34: - WORD $0xb60f; BYTE $0xd8 // movzbl %al, %ebx - LONG $0x000379e9; BYTE $0x00 // jmp LBB29_80, $889(%rip) + 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) - WORD $0x8b4d; BYTE $0x07 // movq (%r15), %r8 - WORD $0x014c; BYTE $0xc3 // addq %r8, %rbx - LONG $0x00548d4d; BYTE $0xff // leaq $-1(%r8,%rax), %r10 - LONG $0x261c8d4f // leaq (%r14,%r12), %r11 + 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 $0x03408e0f; WORD $0x0000 // jle LBB29_83, $832(%rip) - WORD $0x3949; BYTE $0xda // cmpq %rbx, %r10 - LONG $0x0337860f; WORD $0x0000 // jbe LBB29_83, $823(%rip) + 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_37: +LBB29_42: WORD $0x038a // movb (%rbx), %al WORD $0x5c3c // cmpb $92, %al - LONG $0x0054850f; WORD $0x0000 // jne LBB29_42, $84(%rip) - WORD $0x894c; BYTE $0xd2 // movq %r10, %rdx - WORD $0x2948; BYTE $0xda // subq %rbx, %rdx + 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 $0xd2 // testq %rdx, %rdx - LONG $0x04a48e0f; WORD $0x0000 // jle LBB29_102, $1188(%rip) - LONG $0x014bb60f // movzbl $1(%rbx), %ecx - LONG $0x23358d48; WORD $0x009d; BYTE $0x00 // leaq $40227(%rip), %rsi /* __UnquoteTab(%rip) */ - WORD $0x0c8a; BYTE $0x31 // movb (%rcx,%rsi), %cl - WORD $0xf980; BYTE $0xff // cmpb $-1, %cl - LONG $0x003b840f; WORD $0x0000 // je LBB29_44, $59(%rip) - WORD $0xc984 // testb %cl, %cl - LONG $0x0473840f; WORD $0x0000 // je LBB29_100, $1139(%rip) - WORD $0x4d88; BYTE $0xd0 // movb %cl, $-48(%rbp) + 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 $0x000001ba; BYTE $0x00 // movl $1, %edx - LONG $0x15748d48; BYTE $0xd0 // leaq $-48(%rbp,%rdx), %rsi - WORD $0x394d; BYTE $0xde // cmpq %r11, %r14 - LONG $0x011c820f; WORD $0x0000 // jb LBB29_55, $284(%rip) - LONG $0x0002bae9; BYTE $0x00 // jmp LBB29_63, $698(%rip) + 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_42: +LBB29_47: WORD $0x3a41; BYTE $0x06 // cmpb (%r14), %al - LONG $0x02e7850f; WORD $0x0000 // jne LBB29_79, $743(%rip) + LONG $0x0306850f; WORD $0x0000 // jne LBB29_85, $774(%rip) WORD $0xff48; BYTE $0xc3 // incq %rbx WORD $0xff49; BYTE $0xc6 // incq %r14 - LONG $0x0002b3e9; BYTE $0x00 // jmp LBB29_65, $691(%rip) + LONG $0x0002d2e9; BYTE $0x00 // jmp LBB29_70, $722(%rip) -LBB29_44: - LONG $0x03fa8348 // cmpq $3, %rdx - LONG $0x04458e0f; WORD $0x0000 // jle LBB29_101, $1093(%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 $0xc189 // movl %eax, %ecx - WORD $0xd1f7 // notl %ecx - LONG $0xcfd0b88d; WORD $0xcfcf // leal $-808464432(%rax), %edi - LONG $0x8080e181; WORD $0x8080 // andl $-2139062144, %ecx - WORD $0xf985 // testl %edi, %ecx - LONG $0x040b850f; WORD $0x0000 // jne LBB29_99, $1035(%rip) - LONG $0x1919b88d; WORD $0x1919 // leal $421075225(%rax), %edi - WORD $0xc709 // orl %eax, %edi - LONG $0x8080c7f7; WORD $0x8080 // testl $-2139062144, %edi - LONG $0x03f7850f; WORD $0x0000 // jne LBB29_99, $1015(%rip) - WORD $0xc789 // movl %eax, %edi - LONG $0x7f7fe781; WORD $0x7f7f // andl $2139062143, %edi - LONG $0xc0c0c0be; BYTE $0xc0 // movl $-1061109568, %esi - WORD $0xfe29 // subl %edi, %esi - LONG $0x468f8d44; WORD $0x4646; BYTE $0x46 // leal $1179010630(%rdi), %r9d - WORD $0xce21 // andl %ecx, %esi - WORD $0x8544; BYTE $0xce // testl %r9d, %esi - LONG $0x03d6850f; WORD $0x0000 // jne LBB29_99, $982(%rip) - LONG $0xe0e0e0be; BYTE $0xe0 // movl $-522133280, %esi - WORD $0xfe29 // subl %edi, %esi - LONG $0x3939c781; WORD $0x3939 // addl $960051513, %edi - WORD $0xf121 // andl %esi, %ecx - WORD $0xf985 // testl %edi, %ecx - LONG $0x03bf850f; WORD $0x0000 // jne LBB29_99, $959(%rip) + 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 $0xc189 // movl %eax, %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 + 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 $0xc801 // addl %ecx, %eax - WORD $0xc189 // movl %eax, %ecx - WORD $0xe9c1; BYTE $0x04 // shrl $4, %ecx - WORD $0xc109 // orl %eax, %ecx - WORD $0xcf89 // movl %ecx, %edi - WORD $0xefc1; BYTE $0x08 // shrl $8, %edi - LONG $0xff00e781; WORD $0x0000 // andl $65280, %edi - WORD $0xb60f; BYTE $0xc1 // movzbl %cl, %eax - WORD $0xf809 // orl %edi, %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 $0x00a6860f; WORD $0x0000 // jbe LBB29_67, $166(%rip) + LONG $0x00ab860f; WORD $0x0000 // jbe LBB29_72, $171(%rip) LONG $0x0007ff3d; BYTE $0x00 // cmpl $2047, %eax - LONG $0x00a8860f; WORD $0x0000 // jbe LBB29_68, $168(%rip) - WORD $0xce89 // movl %ecx, %esi - LONG $0x0000e681; WORD $0x00f8 // andl $16252928, %esi - LONG $0x0000fe81; WORD $0x00d8 // cmpl $14155776, %esi - LONG $0x00b1840f; WORD $0x0000 // je LBB29_69, $177(%rip) - WORD $0xefc1; BYTE $0x0c // shrl $12, %edi - LONG $0xe0cf8040 // orb $-32, %dil - LONG $0xd07d8840 // movb %dil, $-48(%rbp) + 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) - WORD $0xe180; BYTE $0x3f // andb $63, %cl - WORD $0xc980; BYTE $0x80 // orb $-128, %cl - WORD $0x4d88; BYTE $0xd2 // movb %cl, $-46(%rbp) - LONG $0x000003ba; BYTE $0x00 // movl $3, %edx - WORD $0xf989 // movl %edi, %ecx + 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_53: +LBB29_58: WORD $0x894c; BYTE $0xcb // movq %r9, %rbx - LONG $0x15748d48; BYTE $0xd0 // leaq $-48(%rbp,%rdx), %rsi - WORD $0x394d; BYTE $0xde // cmpq %r11, %r14 - LONG $0x01a3830f; WORD $0x0000 // jae LBB29_63, $419(%rip) + 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_55: +LBB29_60: LONG $0xd0458d48 // leaq $-48(%rbp), %rax - WORD $0x3948; BYTE $0xc6 // cmpq %rax, %rsi - LONG $0x0196860f; WORD $0x0000 // jbe LBB29_63, $406(%rip) - WORD $0x3841; BYTE $0x0e // cmpb %cl, (%r14) - LONG $0x018d850f; WORD $0x0000 // jne LBB29_63, $397(%rip) + 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 $0xf7 // movq %r14, %rdi + WORD $0x894c; BYTE $0xf6 // movq %r14, %rsi -LBB29_58: - WORD $0x8949; BYTE $0xfe // movq %rdi, %r14 +LBB29_63: + WORD $0x8949; BYTE $0xf6 // movq %rsi, %r14 WORD $0x8948; BYTE $0xd1 // movq %rdx, %rcx - WORD $0x3948; BYTE $0xf2 // cmpq %rsi, %rdx - LONG $0x0178830f; WORD $0x0000 // jae LBB29_64, $376(%rip) - WORD $0x394d; BYTE $0xde // cmpq %r11, %r14 - LONG $0x016f830f; WORD $0x0000 // jae LBB29_64, $367(%rip) + 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 $0x017e8d49 // leaq $1(%r14), %rdi + LONG $0x01768d49 // leaq $1(%r14), %rsi LONG $0x01518d48 // leaq $1(%rcx), %rdx WORD $0x013a // cmpb (%rcx), %al - LONG $0xffd4840f; WORD $0xffff // je LBB29_58, $-44(%rip) - LONG $0x000156e9; BYTE $0x00 // jmp LBB29_64, $342(%rip) + LONG $0xffd4840f; WORD $0xffff // je LBB29_63, $-44(%rip) + LONG $0x000165e9; BYTE $0x00 // jmp LBB29_69, $357(%rip) -LBB29_67: - WORD $0x4d88; BYTE $0xd0 // movb %cl, $-48(%rbp) - LONG $0x000001ba; BYTE $0x00 // movl $1, %edx - LONG $0xffff91e9; BYTE $0xff // jmp LBB29_53, $-111(%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_68: +LBB29_73: WORD $0xe8c1; BYTE $0x06 // shrl $6, %eax WORD $0xc00c // orb $-64, %al WORD $0x4588; BYTE $0xd0 // movb %al, $-48(%rbp) - WORD $0xe180; BYTE $0x3f // andb $63, %cl - WORD $0xc980; BYTE $0x80 // orb $-128, %cl - WORD $0x4d88; BYTE $0xd1 // movb %cl, $-47(%rbp) - LONG $0x000002ba; BYTE $0x00 // movl $2, %edx - WORD $0xc189 // movl %eax, %ecx - LONG $0xffff74e9; BYTE $0xff // jmp LBB29_53, $-140(%rip) - -LBB29_69: - LONG $0x06fa8348 // cmpq $6, %rdx - LONG $0x02e28c0f; WORD $0x0000 // jl LBB29_104, $738(%rip) + 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 $0x02d7870f; WORD $0x0000 // ja LBB29_104, $727(%rip) + LONG $0x02ad870f; WORD $0x0000 // ja LBB29_106, $685(%rip) LONG $0x5c398041 // cmpb $92, (%r9) - LONG $0x02cd850f; WORD $0x0000 // jne LBB29_104, $717(%rip) + LONG $0x02a3850f; WORD $0x0000 // jne LBB29_106, $675(%rip) LONG $0x75077b80 // cmpb $117, $7(%rbx) - LONG $0x02c3850f; WORD $0x0000 // jne LBB29_104, $707(%rip) + LONG $0x0299850f; WORD $0x0000 // jne LBB29_106, $665(%rip) LONG $0x084b8d4c // leaq $8(%rbx), %r9 - WORD $0x538b; BYTE $0x08 // movl $8(%rbx), %edx - WORD $0xd189 // movl %edx, %ecx - WORD $0xd1f7 // notl %ecx - LONG $0xcfd0b28d; WORD $0xcfcf // leal $-808464432(%rdx), %esi - LONG $0x8080e181; WORD $0x8080 // andl $-2139062144, %ecx - WORD $0xf185 // testl %esi, %ecx - LONG $0x0298850f; WORD $0x0000 // jne LBB29_103, $664(%rip) - LONG $0x1919b28d; WORD $0x1919 // leal $421075225(%rdx), %esi - WORD $0xd609 // orl %edx, %esi + 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 $0x0284850f; WORD $0x0000 // jne LBB29_103, $644(%rip) - WORD $0xd789 // movl %edx, %edi - LONG $0x7f7fe781; WORD $0x7f7f // andl $2139062143, %edi - LONG $0xc0c0c0be; BYTE $0xc0 // movl $-1061109568, %esi - WORD $0xfe29 // subl %edi, %esi - LONG $0x46a78d44; WORD $0x4646; BYTE $0x46 // leal $1179010630(%rdi), %r12d - WORD $0xce21 // andl %ecx, %esi - WORD $0x8544; BYTE $0xe6 // testl %r12d, %esi - LONG $0x0263850f; WORD $0x0000 // jne LBB29_103, $611(%rip) - LONG $0xe0e0e0be; BYTE $0xe0 // movl $-522133280, %esi - WORD $0xfe29 // subl %edi, %esi - LONG $0x3939c781; WORD $0x3939 // addl $960051513, %edi - WORD $0xf121 // andl %esi, %ecx - WORD $0xf985 // testl %edi, %ecx - LONG $0x024c850f; WORD $0x0000 // jne LBB29_103, $588(%rip) - WORD $0xca0f // bswapl %edx - WORD $0xd189 // movl %edx, %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 $0x0f0fe281; WORD $0x0f0f // andl $252645135, %edx - WORD $0xca01 // addl %ecx, %edx - WORD $0xd189 // movl %edx, %ecx - WORD $0xe9c1; BYTE $0x04 // shrl $4, %ecx - WORD $0xd109 // orl %edx, %ecx + 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 - LONG $0x0000e281; WORD $0x00fc // andl $16515072, %edx - LONG $0x0000fa81; WORD $0x00dc // cmpl $14417920, %edx - LONG $0x0223850f; WORD $0x0000 // jne LBB29_104, $547(%rip) + 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 $0x08 // shrl $8, %edx - LONG $0xff00e281; WORD $0x0000 // andl $65280, %edx - WORD $0xb60f; BYTE $0xc9 // movzbl %cl, %ecx - WORD $0xd109 // orl %edx, %ecx + 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 $0x0008848d; WORD $0xa024; BYTE $0xfc // leal $-56613888(%rax,%rcx), %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 $0x12 // shrl $18, %ecx - WORD $0xc980; BYTE $0xf0 // orb $-16, %cl - WORD $0x4d88; BYTE $0xd0 // movb %cl, $-48(%rbp) - WORD $0xc289 // movl %eax, %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 $0xc289 // movl %eax, %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 $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 $0x000004ba; BYTE $0x00 // movl $4, %edx - LONG $0x15748d48; BYTE $0xd0 // leaq $-48(%rbp,%rdx), %rsi - WORD $0x394d; BYTE $0xde // cmpq %r11, %r14 - LONG $0xfe5d820f; WORD $0xffff // jb LBB29_55, $-419(%rip) + 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_63: +LBB29_68: LONG $0xd04d8d48 // leaq $-48(%rbp), %rcx -LBB29_64: - WORD $0x3948; BYTE $0xf1 // cmpq %rsi, %rcx - LONG $0x0029850f; WORD $0x0000 // jne LBB29_79, $41(%rip) +LBB29_69: + WORD $0x394c; BYTE $0xc9 // cmpq %r9, %rcx + LONG $0x0029850f; WORD $0x0000 // jne LBB29_85, $41(%rip) -LBB29_65: - WORD $0x3949; BYTE $0xda // cmpq %rbx, %r10 - LONG $0x0009860f; WORD $0x0000 // jbe LBB29_83, $9(%rip) - WORD $0x394d; BYTE $0xde // cmpq %r11, %r14 - LONG $0xfcc9820f; WORD $0xffff // jb LBB29_37, $-823(%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_83: - WORD $0x3149; BYTE $0xda // xorq %rbx, %r10 - WORD $0x314d; BYTE $0xde // xorq %r11, %r14 +LBB29_84: + WORD $0x3149; BYTE $0xd8 // xorq %rbx, %r8 + WORD $0x314d; BYTE $0xd6 // xorq %r10, %r14 WORD $0xdb31 // xorl %ebx, %ebx - WORD $0x094d; BYTE $0xd6 // orq %r10, %r14 + WORD $0x094d; BYTE $0xc6 // orq %r8, %r14 WORD $0x940f; BYTE $0xc3 // sete %bl - LONG $0x000006e9; BYTE $0x00 // jmp LBB29_80, $6(%rip) - LONG $0x90909090 // .p2align 4, 0x90 - -LBB29_79: - WORD $0xdb31 // xorl %ebx, %ebx + LONG $0xc8758b4c // movq $-56(%rbp), %r14 + LONG $0xfffc1de9; BYTE $0xff // jmp LBB29_37, $-995(%rip) -LBB29_80: +LBB29_85: + WORD $0xdb31 // xorl %ebx, %ebx LONG $0xc8758b4c // movq $-56(%rbp), %r14 - WORD $0x894c; BYTE $0xff // movq %r15, %rdi - WORD $0x894c; BYTE $0xee // movq %r13, %rsi - WORD $0xf8c5; BYTE $0x77 // vzeroupper - LONG $0xffcafce8; BYTE $0xff // callq _advance_ns, $-13572(%rip) - WORD $0x3a3c // cmpb $58, %al - LONG $0x00fa850f; WORD $0x0000 // jne LBB29_95, $250(%rip) - WORD $0x8548; BYTE $0xdb // testq %rbx, %rbx - LONG $0x009b850f; WORD $0x0000 // jne LBB29_90, $155(%rip) - WORD $0x894c; BYTE $0xff // movq %r15, %rdi - WORD $0x894c; BYTE $0xee // movq %r13, %rsi - LONG $0xffeef0e8; BYTE $0xff // callq _skip_one_fast, $-4368(%rip) - WORD $0x894c; BYTE $0xff // movq %r15, %rdi - WORD $0x894c; BYTE $0xee // movq %r13, %rsi - LONG $0xffcad5e8; BYTE $0xff // callq _advance_ns, $-13611(%rip) - WORD $0x2c3c // cmpb $44, %al - LONG $0xfa6d840f; WORD $0xffff // je LBB29_6, $-1427(%rip) - LONG $0x0000aee9; BYTE $0x00 // jmp LBB29_92, $174(%rip) - QUAD $0x9090909090909090 // .p2align 4, 0x90 - -LBB29_84: - WORD $0x5b3c // cmpb $91, %al - LONG $0x00be850f; WORD $0x0000 // jne LBB29_95, $190(%rip) - LONG $0x08468b49 // movq $8(%r14), %rax - WORD $0x8b48; BYTE $0x18 // movq (%rax), %rbx - WORD $0x8548; BYTE $0xdb // testq %rbx, %rbx - LONG $0x00c8880f; WORD $0x0000 // js LBB29_97, $200(%rip) - WORD $0x894c; BYTE $0xff // movq %r15, %rdi - WORD $0x894c; BYTE $0xee // movq %r13, %rsi - LONG $0xffca9de8; BYTE $0xff // callq _advance_ns, $-13667(%rip) - WORD $0x5d3c // cmpb $93, %al - LONG $0x0083840f; WORD $0x0000 // je LBB29_93, $131(%rip) - LONG $0x004dff49 // decq (%r13) - WORD $0xff48; BYTE $0xc3 // incq %rbx - QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 + LONG $0xfffc12e9; BYTE $0xff // jmp LBB29_37, $-1006(%rip) + LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 -LBB29_88: - WORD $0xff48; BYTE $0xcb // decq %rbx - WORD $0x8548; BYTE $0xdb // testq %rbx, %rbx - LONG $0x00248e0f; WORD $0x0000 // jle LBB29_90, $36(%rip) - WORD $0x894c; BYTE $0xff // movq %r15, %rdi - WORD $0x894c; BYTE $0xee // movq %r13, %rsi - LONG $0xffee79e8; BYTE $0xff // callq _skip_one_fast, $-4487(%rip) - WORD $0x894c; BYTE $0xff // movq %r15, %rdi - WORD $0x894c; BYTE $0xee // movq %r13, %rsi - LONG $0xffca5ee8; BYTE $0xff // callq _advance_ns, $-13730(%rip) - WORD $0x2c3c // cmpb $44, %al - LONG $0xffd6840f; WORD $0xffff // je LBB29_88, $-42(%rip) - LONG $0x00004fe9; BYTE $0x00 // jmp LBB29_94, $79(%rip) - BYTE $0x90 // .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 $0xf991850f; WORD $0xffff // jne LBB29_2, $-1647(%rip) + LONG $0xf941850f; WORD $0xffff // jne LBB29_2, $-1727(%rip) -LBB29_91: - QUAD $0xfffff943056ff9c5 // vmovdqa $-1725(%rip), %xmm0 /* LCPI29_0(%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 $0xfe // movq %r15, %rsi - WORD $0x894c; BYTE $0xea // movq %r13, %rdx + WORD $0x894c; BYTE $0xee // movq %r13, %rsi + WORD $0x894c; BYTE $0xfa // movq %r15, %rdx WORD $0xc931 // xorl %ecx, %ecx - LONG $0xffdb9fe8; BYTE $0xff // callq _fsm_exec, $-9313(%rip) - LONG $0x00002be9; BYTE $0x00 // jmp LBB29_96, $43(%rip) + LONG $0xffdb3fe8; BYTE $0xff // callq _fsm_exec, $-9409(%rip) + LONG $0x000029e9; BYTE $0x00 // jmp LBB29_98, $41(%rip) -LBB29_92: +LBB29_94: WORD $0x7d3c // cmpb $125, %al - LONG $0x0018850f; WORD $0x0000 // jne LBB29_95, $24(%rip) + LONG $0x0017850f; WORD $0x0000 // jne LBB29_97, $23(%rip) -LBB29_93: - LONG $0x004dff49 // decq (%r13) +LBB29_95: + WORD $0xff49; BYTE $0x0f // decq (%r15) LONG $0xdfc0c748; WORD $0xffff; BYTE $0xff // movq $-33, %rax - LONG $0x000013e9; BYTE $0x00 // jmp LBB29_96, $19(%rip) + LONG $0x000012e9; BYTE $0x00 // jmp LBB29_98, $18(%rip) -LBB29_94: +LBB29_96: WORD $0x5d3c // cmpb $93, %al - LONG $0xffe8840f; WORD $0xffff // je LBB29_93, $-24(%rip) + LONG $0xffe9840f; WORD $0xffff // je LBB29_95, $-23(%rip) -LBB29_95: - LONG $0x004dff49 // decq (%r13) +LBB29_97: + WORD $0xff49; BYTE $0x0f // decq (%r15) LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax -LBB29_96: +LBB29_98: LONG $0x28c48348 // addq $40, %rsp BYTE $0x5b // popq %rbx WORD $0x5c41 // popq %r12 @@ -8876,46 +8737,46 @@ LBB29_96: BYTE $0x5d // popq %rbp BYTE $0xc3 // retq -LBB29_97: - LONG $0x004dff49 // decq (%r13) +LBB29_99: + WORD $0xff49; BYTE $0x0f // decq (%r15) LONG $0xdec0c748; WORD $0xffff; BYTE $0xff // movq $-34, %rax - LONG $0xffffe1e9; BYTE $0xff // jmp LBB29_96, $-31(%rip) + LONG $0xffffe2e9; BYTE $0xff // jmp LBB29_98, $-30(%rip) -LBB29_98: - LONG $0x08478b49 // movq $8(%r15), %rax - LONG $0x00458949 // movq %rax, (%r13) +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 $0xffffcde9; BYTE $0xff // jmp LBB29_96, $-51(%rip) + LONG $0xffffcfe9; BYTE $0xff // jmp LBB29_98, $-49(%rip) -LBB29_99: +LBB29_101: LONG $0x02c38348 // addq $2, %rbx LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax - LONG $0x000012e9; BYTE $0x00 // jmp LBB29_102, $18(%rip) + LONG $0x000012e9; BYTE $0x00 // jmp LBB29_104, $18(%rip) -LBB29_100: +LBB29_102: WORD $0xff48; BYTE $0xc3 // incq %rbx LONG $0xfdc0c748; WORD $0xffff; BYTE $0xff // movq $-3, %rax - LONG $0x000003e9; BYTE $0x00 // jmp LBB29_102, $3(%rip) + LONG $0x000003e9; BYTE $0x00 // jmp LBB29_104, $3(%rip) -LBB29_101: +LBB29_103: WORD $0xff48; BYTE $0xc3 // incq %rbx -LBB29_102: - WORD $0x294c; BYTE $0xc3 // subq %r8, %rbx - LONG $0x005d8949 // movq %rbx, (%r13) - LONG $0xffff9fe9; BYTE $0xff // jmp LBB29_96, $-97(%rip) +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_103: +LBB29_105: LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax - LONG $0x000007e9; BYTE $0x00 // jmp LBB29_105, $7(%rip) + LONG $0x000007e9; BYTE $0x00 // jmp LBB29_107, $7(%rip) -LBB29_104: +LBB29_106: LONG $0xfcc0c748; WORD $0xffff; BYTE $0xff // movq $-4, %rax -LBB29_105: +LBB29_107: WORD $0x894c; BYTE $0xcb // movq %r9, %rbx - LONG $0xffffd9e9; BYTE $0xff // jmp LBB29_102, $-39(%rip) - WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 + LONG $0xffffdae9; BYTE $0xff // jmp LBB29_104, $-38(%rip) + QUAD $0x9090909090909090 // .p2align 4, 0x90 _validate_utf8: BYTE $0x55 // pushq %rbp @@ -12914,7 +12775,7 @@ _Digits: QUAD $0x3939383937393639 // .ascii 8, '96979899' QUAD $0x0000000000000000 // .p2align 4, 0x00 -_LB_e8f7af64: // _pow10_ceil_sig.g +_LB_35efc682: // _pow10_ceil_sig.g QUAD $0xff77b1fcbebcdc4f // .quad -38366372719436721 QUAD $0x25e8e89c13bb0f7b // .quad 2731688931043774331 QUAD $0x9faacf3df73609b1 // .quad -6941508010590729807 @@ -15569,7 +15430,7 @@ _P10_TAB: QUAD $0x4480f0cf064dd592 // .quad 0x4480f0cf064dd592 QUAD $0x0000000000000000 // .p2align 4, 0x00 -_LB_9f4d8050: // _pow10_ceil_sig_f32.g +_LB_2202da27: // _pow10_ceil_sig_f32.g QUAD $0x81ceb32c4b43fcf5 // .quad -9093133594791772939 QUAD $0xa2425ff75e14fc32 // .quad -6754730975062328270 QUAD $0xcad2f7f5359a3b3f // .quad -3831727700400522433 @@ -15660,7 +15521,7 @@ _entry: _f32toa: MOVQ out+0(FP), DI MOVSD val+8(FP), X0 - CALL ·__native_entry__+34720(SB) // _f32toa + CALL ·__native_entry__+33888(SB) // _f32toa MOVQ AX, ret+16(FP) RET @@ -15680,7 +15541,7 @@ _entry: _f64toa: MOVQ out+0(FP), DI MOVSD val+8(FP), X0 - CALL ·__native_entry__+736(SB) // _f64toa + CALL ·__native_entry__+288(SB) // _f64toa MOVQ AX, ret+16(FP) RET @@ -15693,7 +15554,7 @@ TEXT ·__get_by_path(SB), NOSPLIT | NOFRAME, $0 - 40 _entry: MOVQ (TLS), R14 - LEAQ -312(SP), R12 + LEAQ -296(SP), R12 CMPQ R12, 16(R14) JBE _stack_grow @@ -15702,7 +15563,7 @@ _get_by_path: MOVQ p+8(FP), SI MOVQ path+16(FP), DX MOVQ m+24(FP), CX - CALL ·__native_entry__+29248(SB) // _get_by_path + CALL ·__native_entry__+28336(SB) // _get_by_path MOVQ AX, ret+32(FP) RET @@ -15724,7 +15585,7 @@ _html_escape: MOVQ nb+8(FP), SI MOVQ dp+16(FP), DX MOVQ dn+24(FP), CX - CALL ·__native_entry__+10944(SB) // _html_escape + CALL ·__native_entry__+10496(SB) // _html_escape MOVQ AX, ret+32(FP) RET @@ -15744,7 +15605,7 @@ _entry: _i64toa: MOVQ out+0(FP), DI MOVQ val+8(FP), SI - CALL ·__native_entry__+4032(SB) // _i64toa + CALL ·__native_entry__+3584(SB) // _i64toa MOVQ AX, ret+16(FP) RET @@ -15765,7 +15626,7 @@ _lspace: MOVQ sp+0(FP), DI MOVQ nb+8(FP), SI MOVQ off+16(FP), DX - CALL ·__native_entry__+224(SB) // _lspace + CALL ·__native_entry__+64(SB) // _lspace MOVQ AX, ret+24(FP) RET @@ -15788,7 +15649,7 @@ _quote: MOVQ dp+16(FP), DX MOVQ dn+24(FP), CX MOVQ flags+32(FP), R8 - CALL ·__native_entry__+5520(SB) // _quote + CALL ·__native_entry__+5072(SB) // _quote MOVQ AX, ret+40(FP) RET @@ -15810,7 +15671,7 @@ _skip_array: MOVQ p+8(FP), SI MOVQ m+16(FP), DX MOVQ flags+24(FP), CX - CALL ·__native_entry__+21616(SB) // _skip_array + CALL ·__native_entry__+20688(SB) // _skip_array MOVQ AX, ret+32(FP) RET @@ -15830,7 +15691,7 @@ _entry: _skip_number: MOVQ s+0(FP), DI MOVQ p+8(FP), SI - CALL ·__native_entry__+25840(SB) // _skip_number + CALL ·__native_entry__+24912(SB) // _skip_number MOVQ AX, ret+16(FP) RET @@ -15852,7 +15713,7 @@ _skip_object: MOVQ p+8(FP), SI MOVQ m+16(FP), DX MOVQ flags+24(FP), CX - CALL ·__native_entry__+23648(SB) // _skip_object + CALL ·__native_entry__+22736(SB) // _skip_object MOVQ AX, ret+32(FP) RET @@ -15874,7 +15735,7 @@ _skip_one: MOVQ p+8(FP), SI MOVQ m+16(FP), DX MOVQ flags+24(FP), CX - CALL ·__native_entry__+26000(SB) // _skip_one + CALL ·__native_entry__+25072(SB) // _skip_one MOVQ AX, ret+32(FP) RET @@ -15887,14 +15748,14 @@ TEXT ·__skip_one_fast(SB), NOSPLIT | NOFRAME, $0 - 24 _entry: MOVQ (TLS), R14 - LEAQ -224(SP), R12 + 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__+26416(SB) // _skip_one_fast + CALL ·__native_entry__+25488(SB) // _skip_one_fast MOVQ AX, ret+16(FP) RET @@ -15914,7 +15775,7 @@ _entry: _u64toa: MOVQ out+0(FP), DI MOVQ val+8(FP), SI - CALL ·__native_entry__+4144(SB) // _u64toa + CALL ·__native_entry__+3696(SB) // _u64toa MOVQ AX, ret+16(FP) RET @@ -15937,7 +15798,7 @@ _unquote: MOVQ dp+16(FP), DX MOVQ ep+24(FP), CX MOVQ flags+32(FP), R8 - CALL ·__native_entry__+8336(SB) // _unquote + CALL ·__native_entry__+7888(SB) // _unquote MOVQ AX, ret+40(FP) RET @@ -15958,7 +15819,7 @@ _validate_one: MOVQ s+0(FP), DI MOVQ p+8(FP), SI MOVQ m+16(FP), DX - CALL ·__native_entry__+26064(SB) // _validate_one + CALL ·__native_entry__+25136(SB) // _validate_one MOVQ AX, ret+24(FP) RET @@ -15979,7 +15840,7 @@ _validate_utf8: MOVQ s+0(FP), DI MOVQ p+8(FP), SI MOVQ m+16(FP), DX - CALL ·__native_entry__+31152(SB) // _validate_utf8 + CALL ·__native_entry__+30320(SB) // _validate_utf8 MOVQ AX, ret+24(FP) RET @@ -15998,7 +15859,7 @@ _entry: _validate_utf8_fast: MOVQ s+0(FP), DI - CALL ·__native_entry__+32112(SB) // _validate_utf8_fast + CALL ·__native_entry__+31280(SB) // _validate_utf8_fast MOVQ AX, ret+8(FP) RET @@ -16021,7 +15882,7 @@ _value: MOVQ p+16(FP), DX MOVQ v+24(FP), CX MOVQ flags+32(FP), R8 - CALL ·__native_entry__+15472(SB) // _value + CALL ·__native_entry__+15024(SB) // _value MOVQ AX, ret+40(FP) RET @@ -16042,7 +15903,7 @@ _vnumber: MOVQ s+0(FP), DI MOVQ p+8(FP), SI MOVQ v+16(FP), DX - LEAQ ·__native_entry__+19280(SB), AX // _vnumber + LEAQ ·__native_entry__+18352(SB), AX // _vnumber JMP AX _stack_grow: @@ -16062,7 +15923,7 @@ _vsigned: MOVQ s+0(FP), DI MOVQ p+8(FP), SI MOVQ v+16(FP), DX - LEAQ ·__native_entry__+20896(SB), AX // _vsigned + LEAQ ·__native_entry__+19968(SB), AX // _vsigned JMP AX _stack_grow: @@ -16083,7 +15944,7 @@ _vstring: MOVQ p+8(FP), SI MOVQ v+16(FP), DX MOVQ flags+24(FP), CX - LEAQ ·__native_entry__+17952(SB), AX // _vstring + LEAQ ·__native_entry__+17024(SB), AX // _vstring JMP AX _stack_grow: @@ -16103,7 +15964,7 @@ _vunsigned: MOVQ s+0(FP), DI MOVQ p+8(FP), SI MOVQ v+16(FP), DX - LEAQ ·__native_entry__+21264(SB), AX // _vunsigned + LEAQ ·__native_entry__+20336(SB), AX // _vunsigned JMP AX _stack_grow: 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 index e8d03e78..10b3d60f 100644 --- 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 @@ -9,34 +9,34 @@ package avx2 func __native_entry__() uintptr var ( - _subr__f32toa = __native_entry__() + 34720 - _subr__f64toa = __native_entry__() + 736 - _subr__get_by_path = __native_entry__() + 29248 - _subr__html_escape = __native_entry__() + 10944 - _subr__i64toa = __native_entry__() + 4032 - _subr__lspace = __native_entry__() + 224 - _subr__quote = __native_entry__() + 5520 - _subr__skip_array = __native_entry__() + 21616 - _subr__skip_number = __native_entry__() + 25840 - _subr__skip_object = __native_entry__() + 23648 - _subr__skip_one = __native_entry__() + 26000 - _subr__skip_one_fast = __native_entry__() + 26416 - _subr__u64toa = __native_entry__() + 4144 - _subr__unquote = __native_entry__() + 8336 - _subr__validate_one = __native_entry__() + 26064 - _subr__validate_utf8 = __native_entry__() + 31152 - _subr__validate_utf8_fast = __native_entry__() + 32112 - _subr__value = __native_entry__() + 15472 - _subr__vnumber = __native_entry__() + 19280 - _subr__vsigned = __native_entry__() + 20896 - _subr__vstring = __native_entry__() + 17952 - _subr__vunsigned = __native_entry__() + 21264 + _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 = 312 + _stack__get_by_path = 296 _stack__html_escape = 72 _stack__i64toa = 16 _stack__lspace = 8 @@ -45,7 +45,7 @@ const ( _stack__skip_number = 72 _stack__skip_object = 128 _stack__skip_one = 128 - _stack__skip_one_fast = 224 + _stack__skip_one_fast = 208 _stack__u64toa = 8 _stack__unquote = 72 _stack__validate_one = 128 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 index 33abe838..a2e12326 100644 --- a/vendor/github.com/bytedance/sonic/internal/native/sse/native_amd64.s +++ b/vendor/github.com/bytedance/sonic/internal/native/sse/native_amd64.s @@ -10,127 +10,47 @@ TEXT ·__native_entry__(SB), NOSPLIT, $0 LONG $0xf9058d48; WORD $0xffff; BYTE $0xff // leaq $-7(%rip), %rax LONG $0x24448948; BYTE $0x08 // movq %rax, $8(%rsp) BYTE $0xc3 // retq - WORD $0x0000; BYTE $0x00 // .p2align 4, 0x00 - -LCPI0_0: - QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' ' - -LCPI0_1: - QUAD $0x0909090909090909; QUAD $0x0909090909090909 // .space 16, '\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t' - -LCPI0_2: - QUAD $0x0a0a0a0a0a0a0a0a; QUAD $0x0a0a0a0a0a0a0a0a // .space 16, '\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n' - -LCPI0_3: - QUAD $0x0d0d0d0d0d0d0d0d; QUAD $0x0d0d0d0d0d0d0d0d // .space 16, '\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r' + WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 - // .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 $0x005d840f; WORD $0x0000 // je LBB0_7, $93(%rip) - WORD $0xc189 // movl %eax, %ecx - WORD $0xe183; BYTE $0x0f // andl $15, %ecx - WORD $0x8548; BYTE $0xc9 // testq %rcx, %rcx - LONG $0x004f840f; WORD $0x0000 // je LBB0_7, $79(%rip) - LONG $0xff4e8d4c // leaq $-1(%rsi), %r9 - WORD $0xd231 // xorl %edx, %edx - QUAD $0x000100002600b849; WORD $0x0000 // movabsq $4294977024, %r8 - BYTE $0x90 // .p2align 4, 0x90 + 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 $0x100cbe0f // movsbl (%rax,%rdx), %ecx - WORD $0xf983; BYTE $0x20 // cmpl $32, %ecx - LONG $0x0107870f; WORD $0x0000 // ja LBB0_5, $263(%rip) - LONG $0xc8a30f49 // btq %rcx, %r8 - LONG $0x00fd830f; WORD $0x0000 // jae LBB0_5, $253(%rip) - LONG $0x01528d4c // leaq $1(%rdx), %r10 - WORD $0x3949; BYTE $0xd1 // cmpq %rdx, %r9 - LONG $0x0014840f; WORD $0x0000 // je LBB0_6, $20(%rip) - LONG $0x104c8d48; BYTE $0x01 // leaq $1(%rax,%rdx), %rcx - WORD $0xe183; BYTE $0x0f // andl $15, %ecx - WORD $0x894c; BYTE $0xd2 // movq %r10, %rdx - WORD $0x8548; BYTE $0xc9 // testq %rcx, %rcx - LONG $0xffc8850f; WORD $0xffff // jne LBB0_3, $-56(%rip) - -LBB0_6: - WORD $0x014c; BYTE $0xd0 // addq %r10, %rax - WORD $0x294c; BYTE $0xd6 // subq %r10, %rsi - -LBB0_7: - LONG $0x10fe8348 // cmpq $16, %rsi - LONG $0x0074820f; WORD $0x0000 // jb LBB0_14, $116(%rip) - QUAD $0xffffff40056f0f66 // movdqa $-192(%rip), %xmm0 /* LCPI0_0(%rip) */ - QUAD $0xffffff480d6f0f66 // movdqa $-184(%rip), %xmm1 /* LCPI0_1(%rip) */ - QUAD $0xffffff50156f0f66 // movdqa $-176(%rip), %xmm2 /* LCPI0_2(%rip) */ - QUAD $0xffffff581d6f0f66 // movdqa $-168(%rip), %xmm3 /* LCPI0_3(%rip) */ - QUAD $0x9090909090909090 // .p2align 4, 0x90 - -LBB0_9: - LONG $0x206f0f66 // movdqa (%rax), %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 $0xec6f0f66 // movdqa %xmm4, %xmm5 - LONG $0xea740f66 // pcmpeqb %xmm2, %xmm5 - LONG $0xe3740f66 // pcmpeqb %xmm3, %xmm4 - LONG $0xe5eb0f66 // por %xmm5, %xmm4 - LONG $0xe6eb0f66 // por %xmm6, %xmm4 - LONG $0xccd70f66 // pmovmskb %xmm4, %ecx - LONG $0xfff98366 // cmpw $-1, %cx - LONG $0x005a850f; WORD $0x0000 // jne LBB0_10, $90(%rip) - LONG $0x10c08348 // addq $16, %rax - LONG $0xf0c68348 // addq $-16, %rsi - LONG $0x0ffe8348 // cmpq $15, %rsi - LONG $0xffb4870f; WORD $0xffff // ja LBB0_9, $-76(%rip) - -LBB0_14: - WORD $0x8548; BYTE $0xf6 // testq %rsi, %rsi - LONG $0x0052840f; WORD $0x0000 // je LBB0_21, $82(%rip) - LONG $0x30048d4c // leaq (%rax,%rsi), %r8 - WORD $0xff48; BYTE $0xc0 // incq %rax - QUAD $0x000100002600ba48; WORD $0x0000 // movabsq $4294977024, %rdx - -LBB0_16: LONG $0xff48be0f // movsbl $-1(%rax), %ecx WORD $0xf983; BYTE $0x20 // cmpl $32, %ecx - LONG $0x0039870f; WORD $0x0000 // ja LBB0_18, $57(%rip) - LONG $0xcaa30f48 // btq %rcx, %rdx - LONG $0x002f830f; WORD $0x0000 // jae LBB0_18, $47(%rip) - WORD $0xff48; BYTE $0xce // decq %rsi + 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 $0x8548; BYTE $0xf6 // testq %rsi, %rsi - LONG $0xffda850f; WORD $0xffff // jne LBB0_16, $-38(%rip) + 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 - LONG $0x000013e9; BYTE $0x00 // jmp LBB0_21, $19(%rip) + BYTE $0x5d // popq %rbp + BYTE $0xc3 // retq -LBB0_10: - WORD $0xb70f; BYTE $0xc9 // movzwl %cx, %ecx - WORD $0x2948; BYTE $0xf8 // subq %rdi, %rax - WORD $0xd1f7 // notl %ecx - WORD $0xbc0f; BYTE $0xc9 // bsfl %ecx, %ecx - WORD $0x0148; BYTE $0xc8 // addq %rcx, %rax +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 $0x0148; BYTE $0xd0 // addq %rdx, %rax - -LBB0_21: - WORD $0x2948; BYTE $0xf8 // subq %rdi, %rax - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB0_18: - WORD $0xf748; BYTE $0xd7 // notq %rdi - WORD $0x0148; BYTE $0xf8 // addq %rdi, %rax - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - QUAD $0x0000000000000000; LONG $0x00000000 // .p2align 4, 0x00 + 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' @@ -198,7 +118,7 @@ LBB1_6: LONG $0x000124b8; BYTE $0x00 // movl $292, %eax WORD $0x2944; BYTE $0xc8 // subl %r9d, %eax LONG $0x04e0c148 // shlq $4, %rax - LONG $0xea158d48; WORD $0x00b2; BYTE $0x00 // leaq $45802(%rip), %rdx /* _pow10_ceil_sig.g(%rip) */ + 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 @@ -380,7 +300,7 @@ LBB1_51: LONG $0x009d820f; WORD $0x0000 // jb LBB1_64, $157(%rip) LONG $0x01678d4d // leaq $1(%r15), %r12 WORD $0x894c; BYTE $0xe6 // movq %r12, %rsi - LONG $0x007a5fe8; BYTE $0x00 // callq _format_significand, $31327(%rip) + LONG $0x00848fe8; BYTE $0x00 // callq _format_significand, $33935(%rip) WORD $0x8948; BYTE $0xc3 // movq %rax, %rbx QUAD $0x9090909090909090; LONG $0x90909090 // .p2align 4, 0x90 @@ -415,7 +335,7 @@ LBB1_60: WORD $0x0c8d; BYTE $0x12 // leal (%rdx,%rdx), %ecx WORD $0x0c8d; BYTE $0x89 // leal (%rcx,%rcx,4), %ecx WORD $0xc829 // subl %ecx, %eax - LONG $0xc40d8d48; WORD $0x00ae; BYTE $0x00 // leaq $44740(%rip), %rcx /* _Digits(%rip) */ + 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 @@ -497,7 +417,7 @@ LBB1_61: WORD $0xf883; BYTE $0x0a // cmpl $10, %eax LONG $0x00878c0f; WORD $0x0000 // jl LBB1_63, $135(%rip) WORD $0xc089 // movl %eax, %eax - LONG $0x7d0d8d48; WORD $0x00ad; BYTE $0x00 // leaq $44413(%rip), %rcx /* _Digits(%rip) */ + 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 @@ -686,7 +606,7 @@ LBB1_77: LBB1_78: WORD $0x894c; BYTE $0xfe // movq %r15, %rsi - LONG $0x007569e8; BYTE $0x00 // callq _format_significand, $30057(%rip) + LONG $0x007f99e8; BYTE $0x00 // callq _format_significand, $32665(%rip) QUAD $0x9090909090909090; BYTE $0x90 // .p2align 4, 0x90 LBB1_79: @@ -910,7 +830,7 @@ LBB2_2: WORD $0xcf6b; BYTE $0x64 // imull $100, %edi, %ecx WORD $0xc829 // subl %ecx, %eax LONG $0xd8b70f44 // movzwl %ax, %r11d - LONG $0x400d8d48; WORD $0x00a7; BYTE $0x00 // leaq $42816(%rip), %rcx /* _Digits(%rip) */ + 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 @@ -926,7 +846,7 @@ LBB2_2: LBB2_5: LONG $0x1759b941; WORD $0xd1b7 // movl $3518437209, %r9d - LONG $0xf9158d4c; WORD $0x00a6; BYTE $0x00 // leaq $42745(%rip), %r10 /* _Digits(%rip) */ + LONG $0x29158d4c; WORD $0x00b1; BYTE $0x00 // leaq $45353(%rip), %r10 /* _Digits(%rip) */ QUAD $0x9090909090909090; BYTE $0x90 // .p2align 4, 0x90 LBB2_6: @@ -958,7 +878,7 @@ LBB2_7: WORD $0xc86b; BYTE $0x64 // imull $100, %eax, %ecx WORD $0xca29 // subl %ecx, %edx WORD $0xb70f; BYTE $0xca // movzwl %dx, %ecx - LONG $0x81158d48; WORD $0x00a6; BYTE $0x00 // leaq $42625(%rip), %rdx /* _Digits(%rip) */ + 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 @@ -968,7 +888,7 @@ LBB2_9: WORD $0xfa83; BYTE $0x0a // cmpl $10, %edx LONG $0x0018820f; WORD $0x0000 // jb LBB2_11, $24(%rip) WORD $0xd089 // movl %edx, %eax - LONG $0x600d8d48; WORD $0x00a6; BYTE $0x00 // leaq $42592(%rip), %rcx /* _Digits(%rip) */ + 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 @@ -1057,7 +977,7 @@ _u64toa: WORD $0x0148; BYTE $0xc0 // addq %rax, %rax LONG $0x03e8fe81; WORD $0x0000 // cmpl $1000, %esi LONG $0x0016820f; WORD $0x0000 // jb LBB4_3, $22(%rip) - LONG $0x7c0d8d48; WORD $0x00a5; BYTE $0x00 // leaq $42364(%rip), %rcx /* _Digits(%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 @@ -1071,14 +991,14 @@ LBB4_3: LBB4_4: WORD $0xb70f; BYTE $0xd2 // movzwl %dx, %edx LONG $0x01ca8348 // orq $1, %rdx - LONG $0x54358d48; WORD $0x00a5; BYTE $0x00 // leaq $42324(%rip), %rsi /* _Digits(%rip) */ + 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 $0x43158d48; WORD $0x00a5; BYTE $0x00 // leaq $42307(%rip), %rdx /* _Digits(%rip) */ + 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 @@ -1087,7 +1007,7 @@ LBB4_6: LBB4_7: WORD $0xb70f; BYTE $0xc0 // movzwl %ax, %eax LONG $0x01c88348 // orq $1, %rax - LONG $0x2b158d48; WORD $0x00a5; BYTE $0x00 // leaq $42283(%rip), %rdx /* _Digits(%rip) */ + 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 @@ -1134,7 +1054,7 @@ LBB4_8: WORD $0x014d; BYTE $0xdb // addq %r11, %r11 LONG $0x9680fe81; WORD $0x0098 // cmpl $10000000, %esi LONG $0x0017820f; WORD $0x0000 // jb LBB4_11, $23(%rip) - LONG $0x89058d48; WORD $0x00a4; BYTE $0x00 // leaq $42121(%rip), %rax /* _Digits(%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 @@ -1148,14 +1068,14 @@ LBB4_11: LBB4_12: WORD $0x8944; BYTE $0xd0 // movl %r10d, %eax LONG $0x01c88348 // orq $1, %rax - LONG $0x5d358d48; WORD $0x00a4; BYTE $0x00 // leaq $42077(%rip), %rsi /* _Digits(%rip) */ + 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 $0x4c058d48; WORD $0x00a4; BYTE $0x00 // leaq $42060(%rip), %rax /* _Digits(%rip) */ + 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 @@ -1164,7 +1084,7 @@ LBB4_14: LBB4_15: LONG $0xc1b70f41 // movzwl %r9w, %eax LONG $0x01c88348 // orq $1, %rax - LONG $0x32358d48; WORD $0x00a4; BYTE $0x00 // leaq $42034(%rip), %rsi /* _Digits(%rip) */ + 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) @@ -1250,7 +1170,7 @@ LBB4_16: LONG $0x000010b9; BYTE $0x00 // movl $16, %ecx WORD $0xc129 // subl %eax, %ecx LONG $0x04e0c148 // shlq $4, %rax - LONG $0x28158d48; WORD $0x00ca; BYTE $0x00 // leaq $51752(%rip), %rdx /* _VecShiftShuffles(%rip) */ + 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 @@ -1276,7 +1196,7 @@ LBB4_20: WORD $0xfa83; BYTE $0x63 // cmpl $99, %edx LONG $0x001f870f; WORD $0x0000 // ja LBB4_22, $31(%rip) WORD $0xd089 // movl %edx, %eax - LONG $0x6b0d8d48; WORD $0x00a2; BYTE $0x00 // leaq $41579(%rip), %rcx /* _Digits(%rip) */ + 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) @@ -1301,7 +1221,7 @@ LBB4_22: WORD $0xc96b; BYTE $0x64 // imull $100, %ecx, %ecx WORD $0xc829 // subl %ecx, %eax WORD $0xb70f; BYTE $0xc0 // movzwl %ax, %eax - LONG $0x160d8d48; WORD $0x00a2; BYTE $0x00 // leaq $41494(%rip), %rcx /* _Digits(%rip) */ + 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) @@ -1313,7 +1233,7 @@ LBB4_24: WORD $0xc86b; BYTE $0x64 // imull $100, %eax, %ecx WORD $0xca29 // subl %ecx, %edx WORD $0xb70f; BYTE $0xc0 // movzwl %ax, %eax - LONG $0xf0058d4c; WORD $0x00a1; BYTE $0x00 // leaq $41456(%rip), %r8 /* _Digits(%rip) */ + 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) @@ -1406,8 +1326,8 @@ _quote: WORD $0x8948; BYTE $0xf0 // movq %rsi, %rax WORD $0x8b4c; BYTE $0x19 // movq (%rcx), %r11 LONG $0x01c0f641 // testb $1, %r8b - LONG $0x680d8d48; WORD $0x00c8; BYTE $0x00 // leaq $51304(%rip), %rcx /* __SingleQuoteTab(%rip) */ - LONG $0x61058d4c; WORD $0x00d8; BYTE $0x00 // leaq $55393(%rip), %r8 /* __DoubleQuoteTab(%rip) */ + 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 @@ -1514,7 +1434,7 @@ LBB5_15: LONG $0x34b60f41; BYTE $0x24 // movzbl (%r12), %esi WORD $0x8948; BYTE $0xf2 // movq %rsi, %rdx LONG $0x04e2c148 // shlq $4, %rdx - LONG $0xad1d8d48; WORD $0x00c6; BYTE $0x00 // leaq $50861(%rip), %rbx /* __SingleQuoteTab(%rip) */ + 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 @@ -1731,7 +1651,7 @@ LBB5_74: LONG $0x00025de9; BYTE $0x00 // jmp LBB5_76, $605(%rip) LBB5_51: - LONG $0xf60d8d4c; WORD $0x00e3; BYTE $0x00 // leaq $58358(%rip), %r9 /* __EscTab(%rip) */ + 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) */ @@ -1958,7 +1878,7 @@ _unquote: LONG $0xb845894c // movq %r8, $-72(%rbp) WORD $0x8945; BYTE $0xc2 // movl %r8d, %r10d LONG $0x01e28341 // andl $1, %r10d - LONG $0x2a058d4c; WORD $0x00e2; BYTE $0x00 // leaq $57898(%rip), %r8 /* __UnquoteTab(%rip) */ + 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 @@ -2648,7 +2568,7 @@ _html_escape: 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 $0xca1d8d4c; WORD $0x00d9; BYTE $0x00 // leaq $55754(%rip), %r11 /* __HtmlQuoteTab(%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 @@ -3036,7 +2956,7 @@ LBB8_5: WORD $0xd348; BYTE $0xe7 // shlq %cl, %rdi WORD $0xc389 // movl %eax, %ebx LONG $0x04e3c148 // shlq $4, %rbx - LONG $0x51358d4c; WORD $0x005f; BYTE $0x00 // leaq $24401(%rip), %r14 /* _POW10_M128_TAB(%rip) */ + 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 @@ -3163,7 +3083,7 @@ LBB9_5: LONG $0xd05d8948 // movq %rbx, $-48(%rbp) LONG $0x005a8e0f; WORD $0x0000 // jle LBB9_12, $90(%rip) WORD $0x3145; BYTE $0xe4 // xorl %r12d, %r12d - LONG $0x38358d4c; WORD $0x0089; BYTE $0x00 // leaq $35128(%rip), %r14 /* _POW_TAB(%rip) */ + 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 @@ -3176,7 +3096,7 @@ LBB9_10: LBB9_11: WORD $0x894c; BYTE $0xff // movq %r15, %rdi WORD $0xde89 // movl %ebx, %esi - LONG $0x005835e8; BYTE $0x00 // callq _right_shift, $22581(%rip) + LONG $0x006265e8; BYTE $0x00 // callq _right_shift, $25189(%rip) LBB9_7: WORD $0x0141; BYTE $0xdc // addl %ebx, %r12d @@ -3193,7 +3113,7 @@ LBB9_8: LONG $0xffffd3e9; BYTE $0xff // jmp LBB9_7, $-45(%rip) LBB9_12: - LONG $0xe1358d4c; WORD $0x0088; BYTE $0x00 // leaq $35041(%rip), %r14 /* _POW_TAB(%rip) */ + LONG $0x11358d4c; WORD $0x0093; BYTE $0x00 // leaq $37649(%rip), %r14 /* _POW_TAB(%rip) */ LONG $0x00002de9; BYTE $0x00 // jmp LBB9_14, $45(%rip) LBB9_18: @@ -3205,7 +3125,7 @@ LBB9_18: LBB9_20: WORD $0x894c; BYTE $0xff // movq %r15, %rdi WORD $0xde89 // movl %ebx, %esi - LONG $0x0055e6e8; BYTE $0x00 // callq _left_shift, $21990(%rip) + LONG $0x006016e8; BYTE $0x00 // callq _left_shift, $24598(%rip) LONG $0x14478b41 // movl $20(%r15), %eax LBB9_13: @@ -3248,7 +3168,7 @@ LBB9_21: LBB9_25: WORD $0x894c; BYTE $0xff // movq %r15, %rdi LONG $0x00003cbe; BYTE $0x00 // movl $60, %esi - LONG $0x005743e8; BYTE $0x00 // callq _right_shift, $22339(%rip) + 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) @@ -3274,7 +3194,7 @@ LBB9_31: WORD $0xf741; BYTE $0xdc // negl %r12d WORD $0x894c; BYTE $0xff // movq %r15, %rdi WORD $0x8944; BYTE $0xe6 // movl %r12d, %esi - LONG $0x0056f0e8; BYTE $0x00 // callq _right_shift, $22256(%rip) + LONG $0x006120e8; BYTE $0x00 // callq _right_shift, $24864(%rip) LONG $0xfc02be41; WORD $0xffff // movl $-1022, %r14d LBB9_32: @@ -3282,7 +3202,7 @@ LBB9_32: LONG $0x000d840f; WORD $0x0000 // je LBB9_34, $13(%rip) WORD $0x894c; BYTE $0xff // movq %r15, %rdi LONG $0x000035be; BYTE $0x00 // movl $53, %esi - LONG $0x0054e2e8; BYTE $0x00 // callq _left_shift, $21730(%rip) + LONG $0x005f12e8; BYTE $0x00 // callq _left_shift, $24338(%rip) LBB9_34: LONG $0x14478b41 // movl $20(%r15), %eax @@ -3620,725 +3540,606 @@ LBB10_39: 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 $0x0005fee8; BYTE $0x00 // callq _advance_ns, $1534(%rip) - WORD $0xbe0f; BYTE $0xc0 // movsbl %al, %eax + 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 $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 + 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_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) +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 - LONG $0xc8558b48 // movq $-56(%rbp), %rdx - LONG $0x000e97e8; BYTE $0x00 // callq _vnumber, $3735(%rip) + WORD $0x894c; BYTE $0xf2 // movq %r14, %rdx + LONG $0x000bace8; BYTE $0x00 // callq _vnumber, $2988(%rip) LONG $0xd05d8b48 // movq $-48(%rbp), %rbx - LONG $0x000355e9; BYTE $0x00 // jmp LBB11_58, $853(%rip) + 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_4: +LBB11_35: + LONG $0xc875894c // movq %r14, $-56(%rbp) + LONG $0x1d748d4d; BYTE $0x00 // leaq (%r13,%rbx), %r14 WORD $0xc031 // xorl %eax, %eax - LONG $0x2f3c8043; BYTE $0x2d // cmpb $45, (%r15,%r13) - LONG $0x2f248d4f // leaq (%r15,%r13), %r12 + WORD $0xf980; BYTE $0x2d // cmpb $45, %cl 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 $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 $0x030c830f; WORD $0x0000 // jae LBB11_55, $780(%rip) + LONG $0x02e5830f; WORD $0x0000 // jae LBB11_87, $741(%rip) -LBB11_7: - WORD $0x894c; BYTE $0xe7 // movq %r12, %rdi - WORD $0x8948; BYTE $0xde // movq %rbx, %rsi - LONG $0x0020f2e8; BYTE $0x00 // callq _do_skip_number, $8434(%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 $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 $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 $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) + LONG $0x18588948 // movq %rbx, $24(%rax) + WORD $0x894c; BYTE $0xf3 // movq %r14, %rbx + LONG $0xffff7de9; BYTE $0xff // jmp LBB11_34, $-131(%rip) -LBB11_11: +LBB11_41: 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) + LONG $0xffff71e9; BYTE $0xff // jmp LBB11_34, $-143(%rip) -LBB11_12: +LBB11_42: 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 $0x00083de8; BYTE $0x00 // callq _advance_string, $2109(%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 $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 - LONG $0x00026de9; BYTE $0x00 // jmp LBB11_58, $621(%rip) + 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_14: - WORD $0x8545; BYTE $0xe4 // testl %r12d, %r12d +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 $0x0000e8e9; BYTE $0x00 // jmp LBB11_28, $232(%rip) + LONG $0x0000f8e9; BYTE $0x00 // jmp LBB11_60, $248(%rip) -LBB11_15: - WORD $0x8545; BYTE $0xe4 // testl %r12d, %r12d +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 $0x0000d4e9; BYTE $0x00 // jmp LBB11_28, $212(%rip) + LONG $0x0000e4e9; BYTE $0x00 // jmp LBB11_60, $228(%rip) -LBB11_16: +LBB11_46: LONG $0x0506c749; WORD $0x0000; BYTE $0x00 // movq $5, (%r14) - LONG $0xd05d8b48 // movq $-48(%rbp), %rbx - LONG $0x000235e9; BYTE $0x00 // jmp LBB11_58, $565(%rip) + LONG $0xfffee8e9; BYTE $0xff // jmp LBB11_33, $-280(%rip) -LBB11_17: - WORD $0x8545; BYTE $0xe4 // testl %r12d, %r12d +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 $0x0000b0e9; BYTE $0x00 // jmp LBB11_28, $176(%rip) + LONG $0x0000c4e9; BYTE $0x00 // jmp LBB11_60, $196(%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) +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 $0x8948; BYTE $0xcb // movq %rcx, %rbx - WORD $0x8949; BYTE $0x06 // movq %rax, (%r14) - LONG $0x0001e8e9; BYTE $0x00 // jmp LBB11_58, $488(%rip) + WORD $0x8949; BYTE $0xdf // movq %rbx, %r15 + LONG $0x0001aae9; BYTE $0x00 // jmp LBB11_84, $426(%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) +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 - LONG $0x000165e9; BYTE $0x00 // jmp LBB11_50, $357(%rip) + WORD $0x8949; BYTE $0xdf // movq %rbx, %r15 + LONG $0x000177e9; BYTE $0x00 // jmp LBB11_84, $375(%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_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_22: - LONG $0xd05d8948 // movq %rbx, $-48(%rbp) +LBB11_57: + LONG $0xd07d894c // movq %r15, $-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) + LONG $0x000134e9; BYTE $0x00 // jmp LBB11_84, $308(%rip) -LBB11_26: +LBB11_58: LONG $0x0606c749; WORD $0x0000; BYTE $0x00 // movq $6, (%r14) - LONG $0xd05d8b48 // movq $-48(%rbp), %rbx - LONG $0x000180e9; BYTE $0x00 // jmp LBB11_58, $384(%rip) + LONG $0xfffe1fe9; BYTE $0xff // jmp LBB11_33, $-481(%rip) -LBB11_27: - WORD $0x8545; BYTE $0xe4 // testl %r12d, %r12d +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_28: +LBB11_60: 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 $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 $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 + 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 $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 + 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 $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 $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) - LONG $0x00005ee9; BYTE $0x00 // jmp LBB11_58, $94(%rip) + WORD $0x894c; BYTE $0xfb // movq %r15, %rbx + LONG $0xfffcefe9; BYTE $0xff // jmp LBB11_34, $-785(%rip) -LBB11_44: - WORD $0xff48; BYTE $0xc1 // incq %rcx - LONG $0x000016e9; BYTE $0x00 // jmp LBB11_46, $22(%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_48: - WORD $0xff48; BYTE $0xc1 // incq %rcx +LBB11_86: + WORD $0xf748; BYTE $0xd0 // notq %rax + WORD $0x0149; BYTE $0xc6 // addq %rax, %r14 -LBB11_49: - LONG $0xd04d8948 // movq %rcx, $-48(%rbp) +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_50: - WORD $0x8948; BYTE $0xcb // movq %rcx, %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 -LBB11_51: - WORD $0x8949; BYTE $0x06 // movq %rax, (%r14) - LONG $0x000044e9; BYTE $0x00 // jmp LBB11_58, $68(%rip) +_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) -LBB11_45: - LONG $0x02c18348 // addq $2, %rcx +LBB12_1: + LONG $0x084f8b49 // movq $8(%r15), %rcx + WORD $0x8948; BYTE $0x0b // movq %rcx, (%rbx) -LBB11_46: - WORD $0x8948; BYTE $0xcb // 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 -LBB11_47: - LONG $0xd05d8948 // movq %rbx, $-48(%rbp) - WORD $0x8949; BYTE $0x06 // movq %rax, (%r14) - LONG $0x000031e9; BYTE $0x00 // jmp LBB11_58, $49(%rip) +LCPI13_0: + QUAD $0x2222222222222222; QUAD $0x2222222222222222 // .space 16, '""""""""""""""""' -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) +LCPI13_1: + QUAD $0x5c5c5c5c5c5c5c5c; QUAD $0x5c5c5c5c5c5c5c5c // .space 16, '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -LBB11_54: - WORD $0xf748; BYTE $0xd0 // notq %rax - WORD $0x0149; BYTE $0xc4 // addq %rax, %r12 +LCPI13_2: + QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' ' -LBB11_55: - WORD $0x294d; BYTE $0xfc // subq %r15, %r12 - LONG $0xd065894c // movq %r12, $-48(%rbp) - LONG $0xfec5c749; WORD $0xffff; BYTE $0xff // movq $-2, %r13 + // .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) -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 4, 0x00 - -LCPI12_0: - QUAD $0x2020202020202020; QUAD $0x2020202020202020 // .space 16, ' ' - -LCPI12_1: - QUAD $0x0909090909090909; QUAD $0x0909090909090909 // .space 16, '\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t' - -LCPI12_2: - QUAD $0x0a0a0a0a0a0a0a0a; QUAD $0x0a0a0a0a0a0a0a0a // .space 16, '\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n' - -LCPI12_3: - QUAD $0x0d0d0d0d0d0d0d0d; QUAD $0x0d0d0d0d0d0d0d0d // .space 16, '\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r' - - // .p2align 4, 0x90 -_advance_ns: - BYTE $0x55 // pushq %rbp - WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp - BYTE $0x53 // pushq %rbx - 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 $0x000226e9; BYTE $0x00 // jmp LBB12_5, $550(%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 $0x01f7870f; WORD $0x0000 // ja LBB12_5, $503(%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 $0x01c8870f; WORD $0x0000 // ja LBB12_5, $456(%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 $0x0199870f; WORD $0x0000 // ja LBB12_5, $409(%rip) - -LBB12_18: - LONG $0x04488d4d // leaq $4(%r8), %r9 - WORD $0x3949; BYTE $0xf1 // cmpq %rsi, %r9 - LONG $0x0151830f; WORD $0x0000 // jae LBB12_19, $337(%rip) - LONG $0x0f148d4e // leaq (%rdi,%r9), %r10 - WORD $0x8948; BYTE $0xf3 // movq %rsi, %rbx - WORD $0x294c; BYTE $0xcb // subq %r9, %rbx - LONG $0x0075840f; WORD $0x0000 // je LBB12_27, $117(%rip) - WORD $0x8944; BYTE $0xd0 // movl %r10d, %eax - WORD $0xe083; BYTE $0x0f // andl $15, %eax - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x0066840f; WORD $0x0000 // je LBB12_27, $102(%rip) - LONG $0x07148d4e // leaq (%rdi,%r8), %r10 - WORD $0x8948; BYTE $0xf3 // movq %rsi, %rbx - WORD $0x294c; BYTE $0xc3 // subq %r8, %rbx - LONG $0xfb438d4c // leaq $-5(%rbx), %r8 - WORD $0xc031 // xorl %eax, %eax - QUAD $0x000100002600b949; WORD $0x0000 // movabsq $4294977024, %r9 - LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 - -LBB12_23: - LONG $0x4cbe0f41; WORD $0x0402 // movsbl $4(%r10,%rax), %ecx - WORD $0xf983; BYTE $0x20 // cmpl $32, %ecx - LONG $0x0127870f; WORD $0x0000 // ja LBB12_25, $295(%rip) - LONG $0xc9a30f49 // btq %rcx, %r9 - LONG $0x011d830f; WORD $0x0000 // jae LBB12_25, $285(%rip) - LONG $0x01588d4c // leaq $1(%rax), %r11 - WORD $0x3949; BYTE $0xc0 // cmpq %rax, %r8 - LONG $0x0014840f; WORD $0x0000 // je LBB12_26, $20(%rip) - LONG $0x024c8d49; BYTE $0x05 // leaq $5(%r10,%rax), %rcx - WORD $0xe183; BYTE $0x0f // andl $15, %ecx - WORD $0x894c; BYTE $0xd8 // movq %r11, %rax - WORD $0x8548; BYTE $0xc9 // testq %rcx, %rcx - LONG $0xffc6850f; WORD $0xffff // jne LBB12_23, $-58(%rip) - -LBB12_26: - LONG $0x13548d4f; BYTE $0x04 // leaq $4(%r11,%r10), %r10 - WORD $0x294c; BYTE $0xdb // subq %r11, %rbx - LONG $0xfcc38348 // addq $-4, %rbx - -LBB12_27: - LONG $0x10fb8348 // cmpq $16, %rbx - LONG $0x006d820f; WORD $0x0000 // jb LBB12_34, $109(%rip) - QUAD $0xfffffe58056f0f66 // movdqa $-424(%rip), %xmm0 /* LCPI12_0(%rip) */ - QUAD $0xfffffe600d6f0f66 // movdqa $-416(%rip), %xmm1 /* LCPI12_1(%rip) */ - QUAD $0xfffffe68156f0f66 // movdqa $-408(%rip), %xmm2 /* LCPI12_2(%rip) */ - QUAD $0xfffffe701d6f0f66 // movdqa $-400(%rip), %xmm3 /* LCPI12_3(%rip) */ - - // .p2align 4, 0x90 -LBB12_29: - LONG $0x6f0f4166; BYTE $0x22 // movdqa (%r10), %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 $0xec6f0f66 // movdqa %xmm4, %xmm5 - LONG $0xea740f66 // pcmpeqb %xmm2, %xmm5 - LONG $0xe3740f66 // pcmpeqb %xmm3, %xmm4 - LONG $0xe5eb0f66 // por %xmm5, %xmm4 - LONG $0xe6eb0f66 // por %xmm6, %xmm4 - LONG $0xc4d70f66 // pmovmskb %xmm4, %eax - LONG $0xfff88366 // cmpw $-1, %ax - LONG $0x006f850f; WORD $0x0000 // jne LBB12_30, $111(%rip) - LONG $0x10c28349 // addq $16, %r10 - LONG $0xf0c38348 // addq $-16, %rbx - LONG $0x0ffb8348 // cmpq $15, %rbx - LONG $0xffb3870f; WORD $0xffff // ja LBB12_29, $-77(%rip) - -LBB12_34: - WORD $0x8548; BYTE $0xdb // testq %rbx, %rbx - LONG $0x003b840f; WORD $0x0000 // je LBB12_41, $59(%rip) - LONG $0x1a048d4d // leaq (%r10,%rbx), %r8 - WORD $0xff49; BYTE $0xc2 // incq %r10 - QUAD $0x000100002600b949; WORD $0x0000 // movabsq $4294977024, %r9 - -LBB12_36: - LONG $0x42be0f41; BYTE $0xff // movsbl $-1(%r10), %eax - WORD $0xf883; BYTE $0x20 // cmpl $32, %eax - LONG $0x0079870f; WORD $0x0000 // ja LBB12_38, $121(%rip) - LONG $0xc1a30f49 // btq %rax, %r9 - LONG $0x006f830f; WORD $0x0000 // jae LBB12_38, $111(%rip) - WORD $0xff48; BYTE $0xcb // decq %rbx - WORD $0xff49; BYTE $0xc2 // incq %r10 - WORD $0x8548; BYTE $0xdb // testq %rbx, %rbx - LONG $0xffd9850f; WORD $0xffff // jne LBB12_36, $-39(%rip) - WORD $0x894d; BYTE $0xc2 // movq %r8, %r10 - -LBB12_41: - WORD $0x2949; BYTE $0xfa // subq %rdi, %r10 - WORD $0x3949; BYTE $0xf2 // cmpq %rsi, %r10 - LONG $0x0040820f; WORD $0x0000 // jb LBB12_5, $64(%rip) - LONG $0x00005ee9; BYTE $0x00 // jmp LBB12_43, $94(%rip) - -LBB12_19: - WORD $0x894c; BYTE $0x0a // movq %r9, (%rdx) - LONG $0x000056e9; BYTE $0x00 // jmp LBB12_43, $86(%rip) - -LBB12_30: - WORD $0xb70f; BYTE $0xc0 // movzwl %ax, %eax - WORD $0x2949; BYTE $0xfa // subq %rdi, %r10 - WORD $0xd0f7 // notl %eax - WORD $0xbc0f; BYTE $0xc0 // bsfl %eax, %eax - WORD $0x0149; BYTE $0xc2 // addq %rax, %r10 - WORD $0x3949; BYTE $0xf2 // cmpq %rsi, %r10 - LONG $0x001c820f; WORD $0x0000 // jb LBB12_5, $28(%rip) - LONG $0x00003ae9; BYTE $0x00 // jmp LBB12_43, $58(%rip) - -LBB12_25: - WORD $0x0149; BYTE $0xc2 // addq %rax, %r10 - WORD $0x8948; BYTE $0xf8 // movq %rdi, %rax - WORD $0xf748; BYTE $0xd0 // notq %rax - LONG $0x10548d4e; BYTE $0x05 // leaq $5(%rax,%r10), %r10 - WORD $0x3949; BYTE $0xf2 // cmpq %rsi, %r10 - LONG $0x0023830f; WORD $0x0000 // jae LBB12_43, $35(%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 $0x5b // popq %rbx - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - -LBB12_38: - 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 $0xffdd820f; WORD $0xffff // jb LBB12_5, $-35(%rip) - -LBB12_43: - WORD $0xc031 // xorl %eax, %eax - WORD $0xbe0f; BYTE $0xc0 // movsbl %al, %eax - BYTE $0x5b // popq %rbx - BYTE $0x5d // popq %rbp - BYTE $0xc3 // retq - 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 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 4, 0x00 - -LCPI14_0: - QUAD $0x2222222222222222; QUAD $0x2222222222222222 // .space 16, '""""""""""""""""' - -LCPI14_1: - QUAD $0x5c5c5c5c5c5c5c5c; QUAD $0x5c5c5c5c5c5c5c5c // .space 16, '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' - -LCPI14_2: - 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 $0x004b02e9; BYTE $0x00 // jmp _advance_string_default, $19202(%rip) - -LBB14_2: +LBB13_2: BYTE $0x55 // pushq %rbp WORD $0x8948; BYTE $0xe5 // movq %rsp, %rbp WORD $0x5741 // pushq %r15 @@ -4349,23 +4150,23 @@ LBB14_2: LONG $0x20ec8348 // subq $32, %rsp LONG $0x085f8b48 // movq $8(%rdi), %rbx WORD $0x2948; BYTE $0xf3 // subq %rsi, %rbx - LONG $0x051e840f; WORD $0x0000 // je LBB14_21, $1310(%rip) + 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 LBB14_22, $645(%rip) + 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 /* LCPI14_0(%rip) */ - QUAD $0xffffff790d6f0f66 // movdqa $-135(%rip), %xmm1 /* LCPI14_1(%rip) */ - QUAD $0xffffff81156f0f66 // movdqa $-127(%rip), %xmm2 /* LCPI14_2(%rip) */ + 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 -LBB14_5: +LBB13_5: LONG $0xb85d8948 // movq %rbx, $-72(%rbp) LONG $0x066f0ff3 // movdqu (%rsi), %xmm0 LONG $0x766f0ff3; BYTE $0x10 // movdqu $16(%rsi), %xmm6 @@ -4432,27 +4233,27 @@ LBB14_5: 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 LBB14_10, $60(%rip) + LONG $0x003c850f; WORD $0x0000 // jne LBB13_10, $60(%rip) WORD $0x854d; BYTE $0xff // testq %r15, %r15 - LONG $0x0057850f; WORD $0x0000 // jne LBB14_12, $87(%rip) + 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 LBB14_13, $157(%rip) + LONG $0x009d850f; WORD $0x0000 // jne LBB13_13, $157(%rip) -LBB14_8: +LBB13_8: WORD $0x8548; BYTE $0xdb // testq %rbx, %rbx - LONG $0x00f2850f; WORD $0x0000 // jne LBB14_19, $242(%rip) + 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 LBB14_5, $-331(%rip) - LONG $0x00010be9; BYTE $0x00 // jmp LBB14_23, $267(%rip) + LONG $0xfeb5870f; WORD $0xffff // ja LBB13_5, $-331(%rip) + LONG $0x00010be9; BYTE $0x00 // jmp LBB13_23, $267(%rip) -LBB14_10: +LBB13_10: LONG $0xd07d8348; BYTE $0xff // cmpq $-1, $-48(%rbp) - LONG $0x0019850f; WORD $0x0000 // jne LBB14_12, $25(%rip) + 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 @@ -4461,7 +4262,7 @@ LBB14_10: LONG $0xd0558948 // movq %rdx, $-48(%rbp) WORD $0x8948; BYTE $0x11 // movq %rdx, (%rcx) -LBB14_12: +LBB13_12: WORD $0x894c; BYTE $0xf9 // movq %r15, %rcx WORD $0xf748; BYTE $0xd1 // notq %rcx WORD $0x2148; BYTE $0xc1 // andq %rax, %rcx @@ -4483,22 +4284,22 @@ LBB14_12: 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 LBB14_8, $-157(%rip) + LONG $0xff63840f; WORD $0xffff // je LBB13_8, $-157(%rip) -LBB14_13: +LBB13_13: LONG $0xc7bc0f48 // bsfq %rdi, %rax WORD $0x8548; BYTE $0xdb // testq %rbx, %rbx - LONG $0x0029840f; WORD $0x0000 // je LBB14_17, $41(%rip) + 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 LBB14_18, $42(%rip) + LONG $0x002a820f; WORD $0x0000 // jb LBB13_18, $42(%rip) -LBB14_15: +LBB13_15: LONG $0x06448d48; BYTE $0x01 // leaq $1(%rsi,%rax), %rax -LBB14_16: +LBB13_16: LONG $0x20c48348 // addq $32, %rsp BYTE $0x5b // popq %rbx WORD $0x5c41 // popq %r12 @@ -4508,52 +4309,52 @@ LBB14_16: BYTE $0x5d // popq %rbp BYTE $0xc3 // retq -LBB14_17: +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 LBB14_15, $-42(%rip) + LONG $0xffd6830f; WORD $0xffff // jae LBB13_15, $-42(%rip) -LBB14_18: +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 LBB14_16, $-55(%rip) + LONG $0xffffc9e9; BYTE $0xff // jmp LBB13_16, $-55(%rip) -LBB14_19: +LBB13_19: LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax LONG $0xd07d8348; BYTE $0xff // cmpq $-1, $-48(%rbp) - LONG $0xffb7850f; WORD $0xffff // jne LBB14_16, $-73(%rip) + 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 LBB14_16, $-96(%rip) + LONG $0xffffa0e9; BYTE $0xff // jmp LBB13_16, $-96(%rip) -LBB14_22: +LBB13_22: QUAD $0xffffffffd045c748 // movq $-1, $-48(%rbp) WORD $0x3145; BYTE $0xff // xorl %r15d, %r15d -LBB14_23: +LBB13_23: LONG $0x20fb8348 // cmpq $32, %rbx - LONG $0x00f0820f; WORD $0x0000 // jb LBB14_36, $240(%rip) + 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 /* LCPI14_0(%rip) */ + 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 /* LCPI14_1(%rip) */ + 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 /* LCPI14_2(%rip) */ + QUAD $0xfffffcc0156f0f66 // movdqa $-832(%rip), %xmm2 /* LCPI13_2(%rip) */ LONG $0xda6f0f66 // movdqa %xmm2, %xmm3 LONG $0xd8640f66 // pcmpgtb %xmm0, %xmm3 LONG $0xe4760f66 // pcmpeqd %xmm4, %xmm4 @@ -4569,93 +4370,93 @@ LBB14_23: LONG $0x10e1c148 // shlq $16, %rcx LONG $0x10e7c148 // shlq $16, %rdi WORD $0x0949; BYTE $0xca // orq %rcx, %r10 - LONG $0x0111850f; WORD $0x0000 // jne LBB14_48, $273(%rip) + LONG $0x0111850f; WORD $0x0000 // jne LBB13_48, $273(%rip) WORD $0x854d; BYTE $0xff // testq %r15, %r15 - LONG $0x012c850f; WORD $0x0000 // jne LBB14_50, $300(%rip) + LONG $0x012c850f; WORD $0x0000 // jne LBB13_50, $300(%rip) WORD $0x3145; BYTE $0xff // xorl %r15d, %r15d -LBB14_27: +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 LBB14_29, $4(%rip) + LONG $0x0004840f; WORD $0x0000 // je LBB13_29, $4(%rip) LONG $0xd3bc0f49 // bsfq %r11, %rdx -LBB14_29: +LBB13_29: WORD $0x8548; BYTE $0xff // testq %rdi, %rdi - LONG $0x0004840f; WORD $0x0000 // je LBB14_31, $4(%rip) + LONG $0x0004840f; WORD $0x0000 // je LBB13_31, $4(%rip) LONG $0xcfbc0f48 // bsfq %rdi, %rcx -LBB14_31: +LBB13_31: WORD $0x854d; BYTE $0xdb // testq %r11, %r11 - LONG $0x0017840f; WORD $0x0000 // je LBB14_34, $23(%rip) + 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 LBB14_51, $292(%rip) + LONG $0x0124820f; WORD $0x0000 // jb LBB13_51, $292(%rip) LONG $0x16448d48; BYTE $0x01 // leaq $1(%rsi,%rdx), %rax - LONG $0xfffeace9; BYTE $0xff // jmp LBB14_16, $-340(%rip) + LONG $0xfffeace9; BYTE $0xff // jmp LBB13_16, $-340(%rip) -LBB14_34: +LBB13_34: WORD $0x8548; BYTE $0xff // testq %rdi, %rdi - LONG $0x0127850f; WORD $0x0000 // jne LBB14_52, $295(%rip) + LONG $0x0127850f; WORD $0x0000 // jne LBB13_52, $295(%rip) LONG $0x20c68348 // addq $32, %rsi LONG $0xe0c38348 // addq $-32, %rbx -LBB14_36: +LBB13_36: WORD $0x854d; BYTE $0xff // testq %r15, %r15 - LONG $0x0122850f; WORD $0x0000 // jne LBB14_53, $290(%rip) + 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 LBB14_16, $-382(%rip) + LONG $0xfe82840f; WORD $0xffff // je LBB13_16, $-382(%rip) -LBB14_38: +LBB13_38: LONG $0xc87d8b48 // movq $-56(%rbp), %rdi -LBB14_39: +LBB13_39: WORD $0xb60f; BYTE $0x0e // movzbl (%rsi), %ecx WORD $0xf980; BYTE $0x22 // cmpb $34, %cl - LONG $0x0075840f; WORD $0x0000 // je LBB14_47, $117(%rip) + LONG $0x0075840f; WORD $0x0000 // je LBB13_47, $117(%rip) WORD $0xf980; BYTE $0x5c // cmpb $92, %cl - LONG $0x0026840f; WORD $0x0000 // je LBB14_43, $38(%rip) + LONG $0x0026840f; WORD $0x0000 // je LBB13_43, $38(%rip) WORD $0xf980; BYTE $0x1f // cmpb $31, %cl - LONG $0x0146860f; WORD $0x0000 // jbe LBB14_57, $326(%rip) + 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 LBB14_39, $-54(%rip) - LONG $0xfffe43e9; BYTE $0xff // jmp LBB14_16, $-445(%rip) + LONG $0xffca850f; WORD $0xffff // jne LBB13_39, $-54(%rip) + LONG $0xfffe43e9; BYTE $0xff // jmp LBB13_16, $-445(%rip) -LBB14_43: +LBB13_43: LONG $0x01fb8348 // cmpq $1, %rbx - LONG $0xfe39840f; WORD $0xffff // je LBB14_16, $-455(%rip) + 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 LBB14_46, $14(%rip) + 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) -LBB14_46: +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 LBB14_39, $-124(%rip) - LONG $0xfffdfde9; BYTE $0xff // jmp LBB14_16, $-515(%rip) + LONG $0xff84850f; WORD $0xffff // jne LBB13_39, $-124(%rip) + LONG $0xfffdfde9; BYTE $0xff // jmp LBB13_16, $-515(%rip) -LBB14_47: +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 LBB14_16, $-530(%rip) + LONG $0xfffdeee9; BYTE $0xff // jmp LBB13_16, $-530(%rip) -LBB14_48: +LBB13_48: LONG $0xd07d8348; BYTE $0xff // cmpq $-1, $-48(%rbp) - LONG $0x0019850f; WORD $0x0000 // jne LBB14_50, $25(%rip) + 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 @@ -4664,7 +4465,7 @@ LBB14_48: LONG $0xd0558948 // movq %rdx, $-48(%rbp) WORD $0x8948; BYTE $0x11 // movq %rdx, (%rcx) -LBB14_50: +LBB13_50: WORD $0x8944; BYTE $0xf9 // movl %r15d, %ecx WORD $0xd1f7 // notl %ecx WORD $0x2144; BYTE $0xd1 // andl %r10d, %ecx @@ -4681,26 +4482,26 @@ LBB14_50: WORD $0x2144; BYTE $0xca // andl %r9d, %edx WORD $0xd2f7 // notl %edx WORD $0x2141; BYTE $0xd3 // andl %edx, %r11d - LONG $0xfffe9fe9; BYTE $0xff // jmp LBB14_27, $-353(%rip) + LONG $0xfffe9fe9; BYTE $0xff // jmp LBB13_27, $-353(%rip) -LBB14_51: +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 LBB14_16, $-644(%rip) + LONG $0xfffd7ce9; BYTE $0xff // jmp LBB13_16, $-644(%rip) -LBB14_52: +LBB13_52: LONG $0xc0752b48 // subq $-64(%rbp), %rsi WORD $0x0148; BYTE $0xce // addq %rcx, %rsi - LONG $0x00005ae9; BYTE $0x00 // jmp LBB14_58, $90(%rip) + LONG $0x00005ae9; BYTE $0x00 // jmp LBB13_58, $90(%rip) -LBB14_53: +LBB13_53: WORD $0x8548; BYTE $0xdb // testq %rbx, %rbx - LONG $0x0041840f; WORD $0x0000 // je LBB14_21, $65(%rip) + 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 LBB14_56, $21(%rip) + 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 @@ -4708,44 +4509,44 @@ LBB14_53: LONG $0xd04d8948 // movq %rcx, $-48(%rbp) WORD $0x8948; BYTE $0x08 // movq %rcx, (%rax) -LBB14_56: +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 LBB14_38, $-343(%rip) - LONG $0xfffd26e9; BYTE $0xff // jmp LBB14_16, $-730(%rip) + LONG $0xfea9850f; WORD $0xffff // jne LBB13_38, $-343(%rip) + LONG $0xfffd26e9; BYTE $0xff // jmp LBB13_16, $-730(%rip) -LBB14_21: +LBB13_21: LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - LONG $0xfffd1ae9; BYTE $0xff // jmp LBB14_16, $-742(%rip) + LONG $0xfffd1ae9; BYTE $0xff // jmp LBB13_16, $-742(%rip) -LBB14_57: +LBB13_57: LONG $0xc0752b48 // subq $-64(%rbp), %rsi -LBB14_58: +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 LBB14_16, $-765(%rip) + LONG $0xfffd03e9; BYTE $0xff // jmp LBB13_16, $-765(%rip) WORD $0x0000; BYTE $0x00 // .p2align 4, 0x00 -LCPI15_0: +LCPI14_0: LONG $0x43300000 // .long 1127219200 LONG $0x45300000 // .long 1160773632 LONG $0x00000000 // .long 0 LONG $0x00000000 // .long 0 -LCPI15_1: +LCPI14_1: QUAD $0x4330000000000000 // .quad 0x4330000000000000 QUAD $0x4530000000000000 // .quad 0x4530000000000000 // .p2align 3, 0x00 -LCPI15_2: +LCPI14_2: QUAD $0x430c6bf526340000 // .quad 0x430c6bf526340000 -LCPI15_3: +LCPI14_3: QUAD $0xc30c6bf526340000 // .quad 0xc30c6bf526340000 // .p2align 4, 0x90 @@ -4771,32 +4572,32 @@ _vnumber: 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 $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 LBB15_4, $22(%rip) + 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 LBB15_6, $37(%rip) + LONG $0x0025830f; WORD $0x0000 // jae LBB14_6, $37(%rip) LONG $0x073c8a41 // movb (%r15,%rax), %dil LONG $0xffffba41; WORD $0xffff // movl $-1, %r10d -LBB15_4: +LBB14_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) + 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 LBB15_8, $10(%rip) + LONG $0x00000ae9; BYTE $0x00 // jmp LBB14_8, $10(%rip) -LBB15_6: +LBB14_6: WORD $0x894c; BYTE $0x2e // movq %r13, (%rsi) -LBB15_7: +LBB14_7: LONG $0xff06c749; WORD $0xffff; BYTE $0xff // movq $-1, (%r14) -LBB15_8: +LBB14_8: LONG $0x38c48348 // addq $56, %rsp BYTE $0x5b // popq %rbx WORD $0x5c41 // popq %r12 @@ -4806,29 +4607,29 @@ LBB15_8: BYTE $0x5d // popq %rbp BYTE $0xc3 // retq -LBB15_9: +LBB14_9: LONG $0x30ff8040 // cmpb $48, %dil - LONG $0x0035850f; WORD $0x0000 // jne LBB15_13, $53(%rip) + 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 LBB15_22, $200(%rip) + 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 LBB15_22, $184(%rip) + 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 LBB15_22, $160(%rip) + LONG $0x00a0830f; WORD $0x0000 // jae LBB14_22, $160(%rip) -LBB15_13: +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 LBB15_21, $126(%rip) + LONG $0x007e830f; WORD $0x0000 // jae LBB14_21, $126(%rip) WORD $0xf980; BYTE $0x09 // cmpb $9, %cl - LONG $0x008a870f; WORD $0x0000 // ja LBB15_23, $138(%rip) + 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 @@ -4836,210 +4637,210 @@ LBB15_13: WORD $0x3145; BYTE $0xe4 // xorl %r12d, %r12d QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 -LBB15_16: +LBB14_16: LONG $0x12fa8341 // cmpl $18, %r10d - LONG $0x00268f0f; WORD $0x0000 // jg LBB15_18, $38(%rip) + 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 LBB15_19, $17(%rip) + LONG $0x000011e9; BYTE $0x00 // jmp LBB14_19, $17(%rip) QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 -LBB15_18: +LBB14_18: WORD $0xc1ff // incl %ecx -LBB15_19: +LBB14_19: WORD $0x3949; BYTE $0xc1 // cmpq %rax, %r9 - LONG $0x0079840f; WORD $0x0000 // je LBB15_28, $121(%rip) + 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 LBB15_16, $-80(%rip) - LONG $0x00001de9; BYTE $0x00 // jmp LBB15_24, $29(%rip) + LONG $0xffb0820f; WORD $0xffff // jb LBB14_16, $-80(%rip) + LONG $0x00001de9; BYTE $0x00 // jmp LBB14_24, $29(%rip) -LBB15_21: +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 LBB15_29, $85(%rip) + LONG $0x000055e9; BYTE $0x00 // jmp LBB14_29, $85(%rip) -LBB15_22: +LBB14_22: WORD $0x894c; BYTE $0x0e // movq %r9, (%rsi) - LONG $0xffff0ae9; BYTE $0xff // jmp LBB15_8, $-246(%rip) + LONG $0xffff0ae9; BYTE $0xff // jmp LBB14_8, $-246(%rip) -LBB15_23: +LBB14_23: WORD $0x3145; BYTE $0xe4 // xorl %r12d, %r12d WORD $0x3145; BYTE $0xd2 // xorl %r10d, %r10d WORD $0xc931 // xorl %ecx, %ecx -LBB15_24: +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 LBB15_30, $59(%rip) + 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 LBB15_68, $618(%rip) + 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 LBB15_91, $1029(%rip) + LONG $0x0405830f; WORD $0x0000 // jae LBB14_91, $1029(%rip) WORD $0x3145; BYTE $0xc0 // xorl %r8d, %r8d - LONG $0x000010e9; BYTE $0x00 // jmp LBB15_30, $16(%rip) + LONG $0x000010e9; BYTE $0x00 // jmp LBB14_30, $16(%rip) -LBB15_28: +LBB14_28: WORD $0x894c; BYTE $0xe8 // movq %r13, %rax -LBB15_29: +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 -LBB15_30: +LBB14_30: WORD $0xc985 // testl %ecx, %ecx - LONG $0x0056850f; WORD $0x0000 // jne LBB15_39, $86(%rip) + LONG $0x0056850f; WORD $0x0000 // jne LBB14_39, $86(%rip) WORD $0x854d; BYTE $0xe4 // testq %r12, %r12 - LONG $0x004d850f; WORD $0x0000 // jne LBB15_39, $77(%rip) + LONG $0x004d850f; WORD $0x0000 // jne LBB14_39, $77(%rip) WORD $0x394c; BYTE $0xe8 // cmpq %r13, %rax - LONG $0x003c830f; WORD $0x0000 // jae LBB15_37, $60(%rip) + 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 -LBB15_34: +LBB14_34: LONG $0x073c8041; BYTE $0x30 // cmpb $48, (%r15,%rax) - LONG $0x0024850f; WORD $0x0000 // jne LBB15_38, $36(%rip) + 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 LBB15_34, $-25(%rip) + 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 LBB15_58, $290(%rip) - LONG $0x000152e9; BYTE $0x00 // jmp LBB15_62, $338(%rip) + LONG $0x0122850f; WORD $0x0000 // jne LBB14_58, $290(%rip) + LONG $0x000152e9; BYTE $0x00 // jmp LBB14_62, $338(%rip) -LBB15_37: +LBB14_37: WORD $0xc931 // xorl %ecx, %ecx WORD $0x3145; BYTE $0xd2 // xorl %r10d, %r10d -LBB15_38: +LBB14_38: WORD $0x3145; BYTE $0xe4 // xorl %r12d, %r12d -LBB15_39: +LBB14_39: WORD $0x394c; BYTE $0xe8 // cmpq %r13, %rax - LONG $0x0051830f; WORD $0x0000 // jae LBB15_45, $81(%rip) + LONG $0x0051830f; WORD $0x0000 // jae LBB14_45, $81(%rip) LONG $0x12fa8341 // cmpl $18, %r10d - LONG $0x00478f0f; WORD $0x0000 // jg LBB15_45, $71(%rip) + LONG $0x00478f0f; WORD $0x0000 // jg LBB14_45, $71(%rip) LONG $0xffd0b941; WORD $0xffff // movl $4294967248, %r9d LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 -LBB15_42: +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 LBB15_45, $42(%rip) + 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 LBB15_45, $17(%rip) + 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 LBB15_42, $-60(%rip) + LONG $0xffc48c0f; WORD $0xffff // jl LBB14_42, $-60(%rip) -LBB15_45: +LBB14_45: WORD $0x394c; BYTE $0xe8 // cmpq %r13, %rax - LONG $0x00a4830f; WORD $0x0000 // jae LBB15_57, $164(%rip) + 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 LBB15_51, $48(%rip) + LONG $0x0030870f; WORD $0x0000 // ja LBB14_51, $48(%rip) LONG $0xff7d8d49 // leaq $-1(%r13), %rdi LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 -LBB15_48: +LBB14_48: WORD $0x3948; BYTE $0xc7 // cmpq %rax, %rdi - LONG $0x0169840f; WORD $0x0000 // je LBB15_69, $361(%rip) + 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 LBB15_48, $-30(%rip) + LONG $0xffe2860f; WORD $0xffff // jbe LBB14_48, $-30(%rip) LONG $0x01c445c7; WORD $0x0000; BYTE $0x00 // movl $1, $-60(%rbp) -LBB15_51: +LBB14_51: LONG $0x20ce8040 // orb $32, %sil LONG $0x65fe8040 // cmpb $101, %sil - LONG $0x0056850f; WORD $0x0000 // jne LBB15_57, $86(%rip) + 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 LBB15_68, $287(%rip) + 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 LBB15_55, $16(%rip) + 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 LBB15_89, $668(%rip) + LONG $0x029c850f; WORD $0x0000 // jne LBB14_89, $668(%rip) -LBB15_55: +LBB14_55: LONG $0x02c08348 // addq $2, %rax WORD $0x394c; BYTE $0xe8 // cmpq %r13, %rax - LONG $0x00f4830f; WORD $0x0000 // jae LBB15_68, $244(%rip) + 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 LBB15_90, $635(%rip) + LONG $0x00027be9; BYTE $0x00 // jmp LBB14_90, $635(%rip) -LBB15_57: +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 LBB15_62, $53(%rip) + LONG $0x0035840f; WORD $0x0000 // je LBB14_62, $53(%rip) -LBB15_58: +LBB14_58: WORD $0xf685 // testl %esi, %esi - LONG $0x0026850f; WORD $0x0000 // jne LBB15_61, $38(%rip) + 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 LBB15_72, $244(%rip) + 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 LBB15_72, $229(%rip) + LONG $0x00e5840f; WORD $0x0000 // je LBB14_72, $229(%rip) -LBB15_61: +LBB14_61: LONG $0x0806c749; WORD $0x0000; BYTE $0x00 // movq $8, (%r14) -LBB15_62: +LBB14_62: QUAD $0x00000000b845c748 // movq $0, $-72(%rbp) LONG $0x6e0f4966; BYTE $0xcc // movq %r12, %xmm1 - QUAD $0xfffffc1f0d620f66 // punpckldq $-993(%rip), %xmm1 /* LCPI15_0(%rip) */ - QUAD $0xfffffc270d5c0f66 // subpd $-985(%rip), %xmm1 /* LCPI15_1(%rip) */ + 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 LBB15_77, $289(%rip) + 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 @@ -5047,48 +4848,48 @@ LBB15_62: 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 LBB15_85, $417(%rip) + LONG $0x01a1840f; WORD $0x0000 // je LBB14_85, $417(%rip) WORD $0xf685 // testl %esi, %esi - LONG $0x0199840f; WORD $0x0000 // je LBB15_85, $409(%rip) + 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 LBB15_70, $74(%rip) + LONG $0x004a870f; WORD $0x0000 // ja LBB14_70, $74(%rip) WORD $0xfe83; BYTE $0x17 // cmpl $23, %esi - LONG $0x00a68c0f; WORD $0x0000 // jl LBB15_73, $166(%rip) + LONG $0x00a68c0f; WORD $0x0000 // jl LBB14_73, $166(%rip) WORD $0x468d; BYTE $0xea // leal $-22(%rsi), %eax - LONG $0x3e0d8d48; WORD $0x00e3; BYTE $0x00 // leaq $58174(%rip), %rcx /* _P10_TAB(%rip) */ + 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 LBB15_74, $138(%rip) + LONG $0x00008ae9; BYTE $0x00 // jmp LBB14_74, $138(%rip) -LBB15_68: +LBB14_68: LONG $0xd0458b48 // movq $-48(%rbp), %rax WORD $0x894c; BYTE $0x28 // movq %r13, (%rax) - LONG $0xfffc5be9; BYTE $0xff // jmp LBB15_7, $-933(%rip) + LONG $0xfffc5be9; BYTE $0xff // jmp LBB14_7, $-933(%rip) -LBB15_69: +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 LBB15_58, $-237(%rip) - LONG $0xffff43e9; BYTE $0xff // jmp LBB15_62, $-189(%rip) + LONG $0xff13850f; WORD $0xffff // jne LBB14_58, $-237(%rip) + LONG $0xffff43e9; BYTE $0xff // jmp LBB14_62, $-189(%rip) -LBB15_70: +LBB14_70: WORD $0xfe83; BYTE $0xea // cmpl $-22, %esi - LONG $0x0096820f; WORD $0x0000 // jb LBB15_77, $150(%rip) + LONG $0x0096820f; WORD $0x0000 // jb LBB14_77, $150(%rip) WORD $0xdef7 // negl %esi - LONG $0xf5058d48; WORD $0x00e2; BYTE $0x00 // leaq $58101(%rip), %rax /* _P10_TAB(%rip) */ + 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 LBB15_81, $224(%rip) + LONG $0x0000e0e9; BYTE $0x00 // jmp LBB14_81, $224(%rip) -LBB15_72: +LBB14_72: LONG $0x6e0f4966; BYTE $0xc4 // movq %r12, %xmm0 LONG $0xe1af0f4c // imulq %rcx, %r12 - QUAD $0xfffffb4505620f66 // punpckldq $-1211(%rip), %xmm0 /* LCPI15_0(%rip) */ - QUAD $0xfffffb4d055c0f66 // subpd $-1203(%rip), %xmm0 /* LCPI15_1(%rip) */ + 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 @@ -5099,54 +4900,54 @@ LBB15_72: LONG $0x084e8949 // movq %rcx, $8(%r14) LONG $0xd0458b48 // movq $-48(%rbp), %rax WORD $0x894c; BYTE $0x28 // movq %r13, (%rax) - LONG $0xfffbe6e9; BYTE $0xff // jmp LBB15_8, $-1050(%rip) + LONG $0xfffbe6e9; BYTE $0xff // jmp LBB14_8, $-1050(%rip) -LBB15_73: +LBB14_73: WORD $0xf089 // movl %esi, %eax -LBB15_74: - QUAD $0xfffffb28052e0f66 // ucomisd $-1240(%rip), %xmm0 /* LCPI15_2(%rip) */ - LONG $0x002a870f; WORD $0x0000 // ja LBB15_77, $42(%rip) - QUAD $0xfffffb220d100ff2 // movsd $-1246(%rip), %xmm1 /* LCPI15_3(%rip) */ +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 LBB15_77, $24(%rip) + LONG $0x0018870f; WORD $0x0000 // ja LBB14_77, $24(%rip) WORD $0xc089 // movl %eax, %eax - LONG $0x770d8d48; WORD $0x00e2; BYTE $0x00 // leaq $57975(%rip), %rcx /* _P10_TAB(%rip) */ + 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 LBB15_81, $98(%rip) + LONG $0x000062e9; BYTE $0x00 // jmp LBB14_81, $98(%rip) -LBB15_77: +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 $0xffe42fe8; BYTE $0xff // callq _atof_eisel_lemire64, $-7121(%rip) + LONG $0xffe5bfe8; BYTE $0xff // callq _atof_eisel_lemire64, $-6721(%rip) WORD $0xc084 // testb %al, %al - LONG $0x004b840f; WORD $0x0000 // je LBB15_83, $75(%rip) + 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 LBB15_84, $108(%rip) + 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 $0xffe408e8; BYTE $0xff // callq _atof_eisel_lemire64, $-7160(%rip) + LONG $0xffe598e8; BYTE $0xff // callq _atof_eisel_lemire64, $-6760(%rip) WORD $0xc084 // testb %al, %al - LONG $0x0024840f; WORD $0x0000 // je LBB15_83, $36(%rip) + 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 LBB15_83, $16(%rip) - LONG $0x000a8a0f; WORD $0x0000 // jp LBB15_83, $10(%rip) + LONG $0x0010850f; WORD $0x0000 // jne LBB14_83, $16(%rip) + LONG $0x000a8a0f; WORD $0x0000 // jp LBB14_83, $10(%rip) -LBB15_81: +LBB14_81: LONG $0x7e0f4866; BYTE $0xc0 // movq %xmm0, %rax - LONG $0x000033e9; BYTE $0x00 // jmp LBB15_85, $51(%rip) + LONG $0x000033e9; BYTE $0x00 // jmp LBB14_85, $51(%rip) -LBB15_83: +LBB14_83: LONG $0xd05d8b48 // movq $-48(%rbp), %rbx WORD $0x8b48; BYTE $0x03 // movq (%rbx), %rax WORD $0x0149; BYTE $0xc7 // addq %rax, %r15 @@ -5155,54 +4956,54 @@ LBB15_83: WORD $0x894c; BYTE $0xff // movq %r15, %rdi LONG $0xa0558b48 // movq $-96(%rbp), %rdx LONG $0xa84d8b48 // movq $-88(%rbp), %rcx - LONG $0xffe90ce8; BYTE $0xff // callq _atof_native, $-5876(%rip) + 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 LBB15_86, $8(%rip) + LONG $0x000008e9; BYTE $0x00 // jmp LBB14_86, $8(%rip) -LBB15_84: +LBB14_84: LONG $0xc8458b48 // movq $-56(%rbp), %rax -LBB15_85: +LBB14_85: LONG $0xd05d8b48 // movq $-48(%rbp), %rbx -LBB15_86: +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 LBB15_88, $7(%rip) + LONG $0x0007850f; WORD $0x0000 // jne LBB14_88, $7(%rip) LONG $0xf806c749; WORD $0xffff; BYTE $0xff // movq $-8, (%r14) -LBB15_88: +LBB14_88: LONG $0x08468949 // movq %rax, $8(%r14) WORD $0x894c; BYTE $0x2b // movq %r13, (%rbx) - LONG $0xfffad3e9; BYTE $0xff // jmp LBB15_8, $-1325(%rip) + LONG $0xfffad3e9; BYTE $0xff // jmp LBB14_8, $-1325(%rip) -LBB15_89: +LBB14_89: WORD $0x8948; BYTE $0xf8 // movq %rdi, %rax -LBB15_90: +LBB14_90: WORD $0x7e8d; BYTE $0xd0 // leal $-48(%rsi), %edi LONG $0x09ff8040 // cmpb $9, %dil - LONG $0x0013860f; WORD $0x0000 // jbe LBB15_92, $19(%rip) + LONG $0x0013860f; WORD $0x0000 // jbe LBB14_92, $19(%rip) -LBB15_91: +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 LBB15_8, $-1360(%rip) + LONG $0xfffab0e9; BYTE $0xff // jmp LBB14_8, $-1360(%rip) -LBB15_92: +LBB14_92: WORD $0x394c; BYTE $0xe8 // cmpq %r13, %rax - LONG $0x0049830f; WORD $0x0000 // jae LBB15_98, $73(%rip) + LONG $0x0049830f; WORD $0x0000 // jae LBB14_98, $73(%rip) LONG $0x09ff8040 // cmpb $9, %dil - LONG $0x003f870f; WORD $0x0000 // ja LBB15_98, $63(%rip) + LONG $0x003f870f; WORD $0x0000 // ja LBB14_98, $63(%rip) LONG $0xff4d8d4d // leaq $-1(%r13), %r9 WORD $0xff31 // xorl %edi, %edi -LBB15_95: +LBB14_95: WORD $0xfa89 // movl %edi, %edx LONG $0x2710ff81; WORD $0x0000 // cmpl $10000, %edi WORD $0x3c8d; BYTE $0x92 // leal (%rdx,%rdx,4), %edi @@ -5210,27 +5011,27 @@ LBB15_95: 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 $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 LBB15_95, $-52(%rip) - LONG $0x00000ae9; BYTE $0x00 // jmp LBB15_100, $10(%rip) + LONG $0xffcc820f; WORD $0xffff // jb LBB14_95, $-52(%rip) + LONG $0x00000ae9; BYTE $0x00 // jmp LBB14_100, $10(%rip) -LBB15_98: +LBB14_98: WORD $0xff31 // xorl %edi, %edi - LONG $0x000003e9; BYTE $0x00 // jmp LBB15_100, $3(%rip) + LONG $0x000003e9; BYTE $0x00 // jmp LBB14_100, $3(%rip) -LBB15_99: +LBB14_99: WORD $0x894c; BYTE $0xe8 // movq %r13, %rax -LBB15_100: +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 LBB15_62, $-709(%rip) + LONG $0xfffd3be9; BYTE $0xff // jmp LBB14_62, $-709(%rip) QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 _vsigned: @@ -5246,72 +5047,72 @@ _vsigned: 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 $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 LBB16_5, $23(%rip) + 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 LBB16_1, $37(%rip) + LONG $0x0025830f; WORD $0x0000 // jae LBB15_1, $37(%rip) LONG $0x010c8a41 // movb (%r9,%rax), %cl LONG $0xffc0c749; WORD $0xffff; BYTE $0xff // movq $-1, %r8 -LBB16_5: +LBB15_5: WORD $0x798d; BYTE $0xd0 // leal $-48(%rcx), %edi LONG $0x0aff8040 // cmpb $10, %dil - LONG $0x001a820f; WORD $0x0000 // jb LBB16_7, $26(%rip) + 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 -LBB16_1: +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 -LBB16_7: +LBB15_7: WORD $0xf980; BYTE $0x30 // cmpb $48, %cl - LONG $0x0035850f; WORD $0x0000 // jne LBB16_12, $53(%rip) + 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 LBB16_11, $138(%rip) + 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 LBB16_11, $122(%rip) + 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 LBB16_11, $98(%rip) + LONG $0x0062830f; WORD $0x0000 // jae LBB15_11, $98(%rip) -LBB16_12: +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 -LBB16_13: +LBB15_13: WORD $0x3949; BYTE $0xc2 // cmpq %rax, %r10 - LONG $0x007f840f; WORD $0x0000 // je LBB16_23, $127(%rip) + 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 LBB16_18, $51(%rip) + LONG $0x0033870f; WORD $0x0000 // ja LBB15_18, $51(%rip) LONG $0x0ac96b48 // imulq $10, %rcx, %rcx - LONG $0x0013800f; WORD $0x0000 // jo LBB16_17, $19(%rip) + 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 LBB16_13, $-55(%rip) + LONG $0xffc9810f; WORD $0xffff // jno LBB15_13, $-55(%rip) -LBB16_17: +LBB15_17: WORD $0xff48; BYTE $0xc8 // decq %rax WORD $0x8948; BYTE $0x06 // movq %rax, (%rsi) LONG $0xfb02c748; WORD $0xffff; BYTE $0xff // movq $-5, (%rdx) @@ -5319,34 +5120,34 @@ LBB16_17: BYTE $0x5d // popq %rbp BYTE $0xc3 // retq -LBB16_11: +LBB15_11: WORD $0x8948; BYTE $0x3e // movq %rdi, (%rsi) BYTE $0x5b // popq %rbx BYTE $0x5d // popq %rbp BYTE $0xc3 // retq -LBB16_18: +LBB15_18: WORD $0x394c; BYTE $0xd8 // cmpq %r11, %rax - LONG $0x002f830f; WORD $0x0000 // jae LBB16_22, $47(%rip) + 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 LBB16_25, $20(%rip) + LONG $0x0014840f; WORD $0x0000 // je LBB15_25, $20(%rip) LONG $0x45ff8040 // cmpb $69, %dil - LONG $0x000a840f; WORD $0x0000 // je LBB16_25, $10(%rip) + LONG $0x000a840f; WORD $0x0000 // je LBB15_25, $10(%rip) LONG $0x65ff8040 // cmpb $101, %dil - LONG $0x000d850f; WORD $0x0000 // jne LBB16_22, $13(%rip) + LONG $0x000d850f; WORD $0x0000 // jne LBB15_22, $13(%rip) -LBB16_25: +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 -LBB16_22: +LBB15_22: WORD $0x8949; BYTE $0xc2 // movq %rax, %r10 -LBB16_23: +LBB15_23: WORD $0x894c; BYTE $0x16 // movq %r10, (%rsi) LONG $0x104a8948 // movq %rcx, $16(%rdx) BYTE $0x5b // popq %rbx @@ -5368,61 +5169,61 @@ _vunsigned: 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 $0x0019830f; WORD $0x0000 // jae LBB16_1, $25(%rip) LONG $0x09048a41 // movb (%r9,%rcx), %al WORD $0x2d3c // cmpb $45, %al - LONG $0x001a850f; WORD $0x0000 // jne LBB17_4, $26(%rip) + LONG $0x001a850f; WORD $0x0000 // jne LBB16_4, $26(%rip) -LBB17_3: +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 -LBB17_1: +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 -LBB17_4: +LBB16_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) + 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 -LBB17_6: +LBB16_6: WORD $0x303c // cmpb $48, %al - LONG $0x0026850f; WORD $0x0000 // jne LBB17_7, $38(%rip) + 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 LBB17_16, $175(%rip) + 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 LBB17_16, $152(%rip) + LONG $0x0098830f; WORD $0x0000 // jae LBB16_16, $152(%rip) -LBB17_7: +LBB16_7: WORD $0xc031 // xorl %eax, %eax LONG $0x000aba41; WORD $0x0000 // movl $10, %r10d WORD $0x9090 // .p2align 4, 0x90 -LBB17_8: +LBB16_8: WORD $0x3949; BYTE $0xcb // cmpq %rcx, %r11 - LONG $0x007b840f; WORD $0x0000 // je LBB17_22, $123(%rip) + 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 LBB17_17, $63(%rip) + LONG $0x003f870f; WORD $0x0000 // ja LBB16_17, $63(%rip) WORD $0xf749; BYTE $0xe2 // mulq %r10 - LONG $0x0026800f; WORD $0x0000 // jo LBB17_13, $38(%rip) + 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 @@ -5431,11 +5232,11 @@ LBB17_8: 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) + LONG $0x0009850f; WORD $0x0000 // jne LBB16_13, $9(%rip) WORD $0x8548; BYTE $0xd2 // testq %rdx, %rdx - LONG $0xffb7890f; WORD $0xffff // jns LBB17_8, $-73(%rip) + LONG $0xffb7890f; WORD $0xffff // jns LBB16_8, $-73(%rip) -LBB17_13: +LBB16_13: WORD $0xff48; BYTE $0xc9 // decq %rcx WORD $0x8948; BYTE $0x0e // movq %rcx, (%rsi) LONG $0xfb00c749; WORD $0xffff; BYTE $0xff // movq $-5, (%r8) @@ -5443,28 +5244,28 @@ LBB17_13: BYTE $0x5d // popq %rbp BYTE $0xc3 // retq -LBB17_17: +LBB16_17: WORD $0x394c; BYTE $0xd9 // cmpq %r11, %rcx - LONG $0x001f830f; WORD $0x0000 // jae LBB17_21, $31(%rip) + 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 LBB17_3, $-218(%rip) + LONG $0xff26840f; WORD $0xffff // je LBB16_3, $-218(%rip) WORD $0xfa80; BYTE $0x45 // cmpb $69, %dl - LONG $0xff1d840f; WORD $0xffff // je LBB17_3, $-227(%rip) + LONG $0xff1d840f; WORD $0xffff // je LBB16_3, $-227(%rip) WORD $0xfa80; BYTE $0x65 // cmpb $101, %dl - LONG $0xff14840f; WORD $0xffff // je LBB17_3, $-236(%rip) + LONG $0xff14840f; WORD $0xffff // je LBB16_3, $-236(%rip) -LBB17_21: +LBB16_21: WORD $0x8949; BYTE $0xcb // movq %rcx, %r11 -LBB17_22: +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 -LBB17_16: +LBB16_16: WORD $0xff48; BYTE $0xc1 // incq %rcx WORD $0x8948; BYTE $0x0e // movq %rcx, (%rsi) BYTE $0x5b // popq %rbx @@ -5472,7 +5273,7 @@ LBB17_16: BYTE $0xc3 // retq QUAD $0x0000000000000000; BYTE $0x00 // .p2align 4, 0x00 -LCPI18_0: +LCPI17_0: QUAD $0x0000000000000001 // .quad 1 QUAD $0x0000000000000005 // .quad 5 @@ -5483,7 +5284,7 @@ _skip_array: 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 /* LCPI18_0(%rip) */ + 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 @@ -5501,565 +5302,657 @@ _fsm_exec: LONG $0x28ec8348 // subq $40, %rsp LONG $0xb84d8948 // movq %rcx, $-72(%rbp) LONG $0x003f8348 // cmpq $0, (%rdi) - LONG $0x0423840f; WORD $0x0000 // je LBB19_2, $1059(%rip) + LONG $0x0591840f; WORD $0x0000 // je LBB18_76, $1425(%rip) WORD $0x8949; BYTE $0xd0 // movq %rdx, %r8 - WORD $0x8949; BYTE $0xfd // movq %rdi, %r13 - LONG $0xc8758948 // movq %rsi, $-56(%rbp) + WORD $0x8949; BYTE $0xfc // movq %rdi, %r12 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) + 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) -LBB19_3: - LONG $0x03488d48 // leaq $3(%rax), %rcx - WORD $0x8949; BYTE $0x08 // movq %rcx, (%r8) - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x043f8e0f; WORD $0x0000 // jle LBB19_60, $1087(%rip) - WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 +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 -LBB19_38: - LONG $0x00558b49 // movq (%r13), %rdx - WORD $0x894d; BYTE $0xe6 // movq %r12, %r14 - WORD $0x8548; BYTE $0xd2 // testq %rdx, %rdx - LONG $0x0447840f; WORD $0x0000 // je LBB19_63, $1095(%rip) +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 -LBB19_4: - LONG $0xc85d8b48 // movq $-56(%rbp), %rbx - WORD $0x8b48; BYTE $0x3b // movq (%rbx), %rdi - LONG $0x08738b48 // movq $8(%rbx), %rsi - WORD $0x894d; BYTE $0xc7 // movq %r8, %r15 - WORD $0x894c; BYTE $0xc2 // movq %r8, %rdx - LONG $0xffed3ae8; BYTE $0xff // callq _advance_ns, $-4806(%rip) - WORD $0xc084 // testb %al, %al - LONG $0x03c4840f; WORD $0x0000 // je LBB19_2, $964(%rip) - LONG $0x004d8b49 // movq (%r13), %rcx - LONG $0xcd7c8b41; BYTE $0x00 // movl (%r13,%rcx,8), %edi - LONG $0xfffc8349 // cmpq $-1, %r12 - WORD $0x894d; BYTE $0xf8 // movq %r15, %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: - LONG $0xc8be0f44 // movsbl %al, %r9d - LONG $0xff518d48 // leaq $-1(%rcx), %rdx - WORD $0xcfff // decl %edi - WORD $0xff83; BYTE $0x05 // cmpl $5, %edi - LONG $0x0039870f; WORD $0x0000 // ja LBB19_12, $57(%rip) - LONG $0x04358d48; WORD $0x0005; BYTE $0x00 // leaq $1284(%rip), %rsi /* LJTI19_0(%rip) */ - LONG $0xbe3c6348 // movslq (%rsi,%rdi,4), %rdi - WORD $0x0148; BYTE $0xf7 // addq %rsi, %rdi - JMP DI - -LBB19_9: - LONG $0x2cf98341 // cmpl $44, %r9d - LONG $0x018a840f; WORD $0x0000 // je LBB19_30, $394(%rip) - LONG $0x5df98341 // cmpl $93, %r9d - LONG $0x03cf850f; WORD $0x0000 // jne LBB19_62, $975(%rip) - LONG $0x00558949 // movq %rdx, (%r13) - WORD $0x894d; BYTE $0xe6 // movq %r12, %r14 - WORD $0x8548; BYTE $0xd2 // testq %rdx, %rdx - LONG $0xff7f850f; WORD $0xffff // jne LBB19_4, $-129(%rip) - LONG $0x0003c1e9; BYTE $0x00 // jmp LBB19_63, $961(%rip) - -LBB19_12: - LONG $0x00558949 // movq %rdx, (%r13) - LONG $0x7bf98341 // cmpl $123, %r9d - LONG $0x00ef860f; WORD $0x0000 // jbe LBB19_28, $239(%rip) - LONG $0x0003a7e9; BYTE $0x00 // jmp LBB19_62, $935(%rip) - -LBB19_13: - LONG $0x2cf98341 // cmpl $44, %r9d - LONG $0x0171840f; WORD $0x0000 // je LBB19_32, $369(%rip) - LONG $0x7df98341 // cmpl $125, %r9d - LONG $0x0393850f; WORD $0x0000 // jne LBB19_62, $915(%rip) - LONG $0x00558949 // movq %rdx, (%r13) - WORD $0x894d; BYTE $0xe6 // movq %r12, %r14 - WORD $0x8548; BYTE $0xd2 // testq %rdx, %rdx - LONG $0xff43850f; WORD $0xffff // jne LBB19_4, $-189(%rip) - LONG $0x000385e9; BYTE $0x00 // jmp LBB19_63, $901(%rip) - -LBB19_16: - WORD $0x223c // cmpb $34, %al - LONG $0x0376850f; WORD $0x0000 // jne LBB19_62, $886(%rip) - QUAD $0x00000400cd44c749; BYTE $0x00 // movq $4, (%r13,%rcx,8) - QUAD $0xffffffffd045c748 // movq $-1, $-48(%rbp) - WORD $0x8b4d; BYTE $0x38 // movq (%r8), %r15 - WORD $0x8948; BYTE $0xdf // movq %rbx, %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 $0xffef9ce8; BYTE $0xff // callq _advance_string, $-4196(%rip) - WORD $0x8949; BYTE $0xc6 // movq %rax, %r14 - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x02fa880f; WORD $0x0000 // js LBB19_54, $762(%rip) - WORD $0x894c; BYTE $0x33 // movq %r14, (%rbx) - WORD $0x854d; BYTE $0xff // testq %r15, %r15 - WORD $0x8949; BYTE $0xd8 // movq %rbx, %r8 - LONG $0xfee18f0f; WORD $0xffff // jg LBB19_38, $-287(%rip) - LONG $0x0002fee9; BYTE $0x00 // jmp LBB19_55, $766(%rip) +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 -LBB19_20: - WORD $0x3a3c // cmpb $58, %al - LONG $0x0324850f; WORD $0x0000 // jne LBB19_62, $804(%rip) - QUAD $0x00000000cd44c749; BYTE $0x00 // movq $0, (%r13,%rcx,8) - LONG $0xfffec6e9; BYTE $0xff // jmp LBB19_38, $-314(%rip) +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 -LBB19_22: - WORD $0x5d3c // cmpb $93, %al - LONG $0x003e850f; WORD $0x0000 // jne LBB19_27, $62(%rip) - LONG $0x00558949 // movq %rdx, (%r13) - WORD $0x894d; BYTE $0xe6 // movq %r12, %r14 - WORD $0x8548; BYTE $0xd2 // testq %rdx, %rdx - LONG $0xfebe850f; WORD $0xffff // jne LBB19_4, $-322(%rip) - LONG $0x000300e9; BYTE $0x00 // jmp LBB19_63, $768(%rip) - -LBB19_24: - LONG $0x22f98341 // cmpl $34, %r9d - LONG $0x00e6840f; WORD $0x0000 // je LBB19_34, $230(%rip) - LONG $0x7df98341 // cmpl $125, %r9d - LONG $0x02e5850f; WORD $0x0000 // jne LBB19_62, $741(%rip) - LONG $0x00558949 // movq %rdx, (%r13) - WORD $0x894d; BYTE $0xe6 // movq %r12, %r14 - WORD $0x8548; BYTE $0xd2 // testq %rdx, %rdx - LONG $0xfe95850f; WORD $0xffff // jne LBB19_4, $-363(%rip) - LONG $0x0002d7e9; BYTE $0x00 // jmp LBB19_63, $727(%rip) +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 -LBB19_27: - QUAD $0x00000100cd44c749; BYTE $0x00 // movq $1, (%r13,%rcx,8) - LONG $0x7bf98341 // cmpl $123, %r9d - LONG $0x02bd870f; WORD $0x0000 // ja LBB19_62, $701(%rip) +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) -LBB19_28: - WORD $0x8944; BYTE $0xc8 // movl %r9d, %eax - LONG $0xe30d8d48; WORD $0x0003; BYTE $0x00 // leaq $995(%rip), %rcx /* LJTI19_1(%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 - LONG $0xffc6c749; WORD $0xffff; BYTE $0xff // movq $-1, %r14 JMP AX -LBB19_29: +LBB18_52: WORD $0x8b49; BYTE $0x18 // movq (%r8), %rbx - LONG $0xff738d4c // leaq $-1(%rbx), %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 $0x000716e8; BYTE $0x00 // callq _do_skip_number, $1814(%rip) - WORD $0x894d; BYTE $0xf8 // movq %r15, %r8 + 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 $0xf0480f4c // cmovsq %rax, %r14 + LONG $0xf8480f4c // cmovsq %rax, %r15 WORD $0x0148; BYTE $0xda // addq %rbx, %rdx - WORD $0x8949; BYTE $0x17 // movq %rdx, (%r15) - WORD $0x854d; BYTE $0xf6 // testq %r14, %r14 - LONG $0xfe04890f; WORD $0xffff // jns LBB19_38, $-508(%rip) - LONG $0x000256e9; BYTE $0x00 // jmp LBB19_63, $598(%rip) - -LBB19_30: - LONG $0xfff98148; WORD $0x000f; BYTE $0x00 // cmpq $4095, %rcx - LONG $0x01f08f0f; WORD $0x0000 // jg LBB19_56, $496(%rip) - LONG $0x01418d48 // leaq $1(%rcx), %rax - LONG $0x00458949 // movq %rax, (%r13) - QUAD $0x00000008cd44c749; BYTE $0x00 // movq $0, $8(%r13,%rcx,8) - LONG $0xfffddce9; BYTE $0xff // jmp LBB19_38, $-548(%rip) - -LBB19_32: - LONG $0xfff98148; WORD $0x000f; BYTE $0x00 // cmpq $4095, %rcx - LONG $0x01cd8f0f; WORD $0x0000 // jg LBB19_56, $461(%rip) - LONG $0x01418d48 // leaq $1(%rcx), %rax - LONG $0x00458949 // movq %rax, (%r13) - QUAD $0x00000308cd44c749; BYTE $0x00 // movq $3, $8(%r13,%rcx,8) - LONG $0xfffdb9e9; BYTE $0xff // jmp LBB19_38, $-583(%rip) - -LBB19_34: - QUAD $0x00000200cd44c749; BYTE $0x00 // movq $2, (%r13,%rcx,8) - QUAD $0xffffffffd045c748 // movq $-1, $-48(%rbp) - WORD $0x8b4d; BYTE $0x38 // movq (%r8), %r15 - WORD $0x8948; BYTE $0xdf // movq %rbx, %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 $0xffee2fe8; BYTE $0xff // callq _advance_string, $-4561(%rip) - WORD $0x8949; BYTE $0xc6 // movq %rax, %r14 - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x018d880f; WORD $0x0000 // js LBB19_54, $397(%rip) - WORD $0x894c; BYTE $0x33 // movq %r14, (%rbx) - WORD $0x854d; BYTE $0xff // testq %r15, %r15 - LONG $0x01998e0f; WORD $0x0000 // jle LBB19_55, $409(%rip) - LONG $0x00458b49 // movq (%r13), %rax + 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 $0x01658f0f; WORD $0x0000 // jg LBB19_56, $357(%rip) - WORD $0x8949; BYTE $0xd8 // movq %rbx, %r8 + LONG $0x00e78f0f; WORD $0x0000 // jg LBB18_80, $231(%rip) LONG $0x01488d48 // leaq $1(%rax), %rcx - LONG $0x004d8949 // movq %rcx, (%r13) - QUAD $0x00000408c544c749; BYTE $0x00 // movq $4, $8(%r13,%rax,8) - LONG $0xfffd4ee9; BYTE $0xff // jmp LBB19_38, $-690(%rip) - -LBB19_39: - QUAD $0xffffffffd045c748 // movq $-1, $-48(%rbp) - WORD $0x8b4d; BYTE $0x38 // movq (%r8), %r15 - LONG $0xc87d8b48 // movq $-56(%rbp), %rdi - LONG $0xfffe2be9; BYTE $0xff // jmp LBB19_18, $-469(%rip) - -LBB19_40: - 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 $0x0005fee8; BYTE $0x00 // callq _do_skip_number, $1534(%rip) - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x015c880f; WORD $0x0000 // js LBB19_61, $348(%rip) - WORD $0x014c; BYTE $0xf0 // addq %r14, %rax - WORD $0x8948; BYTE $0x03 // movq %rax, (%rbx) - WORD $0x854d; BYTE $0xf6 // testq %r14, %r14 - WORD $0x8949; BYTE $0xd8 // movq %rbx, %r8 - LONG $0xfd038f0f; WORD $0xffff // jg LBB19_38, $-765(%rip) - LONG $0x00020ce9; BYTE $0x00 // jmp LBB19_75, $524(%rip) - -LBB19_42: - LONG $0x00458b49 // movq (%r13), %rax - LONG $0x0fff3d48; WORD $0x0000 // cmpq $4095, %rax - LONG $0x00ec8f0f; WORD $0x0000 // jg LBB19_56, $236(%rip) - LONG $0x01488d48 // leaq $1(%rax), %rcx - LONG $0x004d8949 // movq %rcx, (%r13) - QUAD $0x00000508c544c749; BYTE $0x00 // movq $5, $8(%r13,%rax,8) - LONG $0xfffcd8e9; BYTE $0xff // jmp LBB19_38, $-808(%rip) + LONG $0x240c8949 // movq %rcx, (%r12) + QUAD $0x00000508c444c749; BYTE $0x00 // movq $5, $8(%r12,%rax,8) + LONG $0xfffb68e9; BYTE $0xff // jmp LBB18_61, $-1176(%rip) -LBB19_44: +LBB18_66: WORD $0x8b49; BYTE $0x00 // movq (%r8), %rax - LONG $0xc04d8b48 // movq $-64(%rbp), %rcx + 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 $0x00ee870f; WORD $0x0000 // ja LBB19_59, $238(%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 $0x01c1850f; WORD $0x0000 // jne LBB19_76, $449(%rip) + 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 $0xfc9b8f0f; WORD $0xffff // jg LBB19_38, $-869(%rip) - LONG $0x0000d2e9; BYTE $0x00 // jmp LBB19_60, $210(%rip) + LONG $0xfb328f0f; WORD $0xffff // jg LBB18_61, $-1230(%rip) + LONG $0x0000cde9; BYTE $0x00 // jmp LBB18_83, $205(%rip) -LBB19_47: +LBB18_69: WORD $0x8b49; BYTE $0x00 // movq (%r8), %rax - LONG $0xc04d8b48 // movq $-64(%rbp), %rcx + 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 $0x00ac870f; WORD $0x0000 // ja LBB19_59, $172(%rip) - LONG $0xc84d8b48 // movq $-56(%rbp), %rcx - WORD $0x8b48; BYTE $0x09 // movq (%rcx), %rcx - QUAD $0x6c6c756eff017c81 // cmpl $1819047278, $-1(%rcx,%rax) - LONG $0xfc57840f; WORD $0xffff // je LBB19_3, $-937(%rip) - LONG $0x0000cee9; BYTE $0x00 // jmp LBB19_66, $206(%rip) + 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) -LBB19_49: +LBB18_71: WORD $0x8b49; BYTE $0x00 // movq (%r8), %rax - LONG $0xc04d8b48 // movq $-64(%rbp), %rcx + 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 $0x007b870f; WORD $0x0000 // ja LBB19_59, $123(%rip) - LONG $0xc84d8b48 // movq $-56(%rbp), %rcx - WORD $0x8b48; BYTE $0x09 // movq (%rcx), %rcx - QUAD $0x65757274ff017c81 // cmpl $1702195828, $-1(%rcx,%rax) - LONG $0xfc26840f; WORD $0xffff // je LBB19_3, $-986(%rip) - LONG $0x0000ece9; BYTE $0x00 // jmp LBB19_70, $236(%rip) + 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) -LBB19_51: - LONG $0x00458b49 // movq (%r13), %rax +LBB18_73: + LONG $0x24048b49 // movq (%r12), %rax LONG $0x0fff3d48; WORD $0x0000 // cmpq $4095, %rax - LONG $0x00228f0f; WORD $0x0000 // jg LBB19_56, $34(%rip) + LONG $0x00328f0f; WORD $0x0000 // jg LBB18_80, $50(%rip) LONG $0x01488d48 // leaq $1(%rax), %rcx - LONG $0x004d8949 // movq %rcx, (%r13) - QUAD $0x00000608c544c749; BYTE $0x00 // movq $6, $8(%r13,%rax,8) - LONG $0xfffc0ee9; BYTE $0xff // jmp LBB19_38, $-1010(%rip) + LONG $0x240c8949 // movq %rcx, (%r12) + QUAD $0x00000608c444c749; BYTE $0x00 // movq $6, $8(%r12,%rax,8) + LONG $0xfffab3e9; BYTE $0xff // jmp LBB18_61, $-1357(%rip) -LBB19_2: - LONG $0xffc6c749; WORD $0xffff; BYTE $0xff // movq $-1, %r14 - LONG $0x000059e9; BYTE $0x00 // jmp LBB19_63, $89(%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 -LBB19_56: - LONG $0xf9c6c749; WORD $0xffff; BYTE $0xff // movq $-7, %r14 - LONG $0x00004de9; BYTE $0x00 // jmp LBB19_63, $77(%rip) +LBB18_80: + LONG $0xf9c7c749; WORD $0xffff; BYTE $0xff // movq $-7, %r15 + LONG $0xffffe2e9; BYTE $0xff // jmp LBB18_77, $-30(%rip) -LBB19_54: - LONG $0xfffe8349 // cmpq $-1, %r14 - LONG $0xd0458d48 // leaq $-48(%rbp), %rax - LONG $0x45440f48; BYTE $0xc0 // cmoveq $-64(%rbp), %rax +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 $0x000035e9; BYTE $0x00 // jmp LBB19_63, $53(%rip) + LONG $0xffffcae9; BYTE $0xff // jmp LBB18_77, $-54(%rip) -LBB19_55: - WORD $0xff49; BYTE $0xcf // decq %r15 - WORD $0x894d; BYTE $0xfe // movq %r15, %r14 - LONG $0x00002ae9; BYTE $0x00 // jmp LBB19_63, $42(%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) -LBB19_59: - WORD $0x8949; BYTE $0x08 // movq %rcx, (%r8) - LONG $0xffc6c749; WORD $0xffff; BYTE $0xff // movq $-1, %r14 - LONG $0x00001be9; BYTE $0x00 // jmp LBB19_63, $27(%rip) +LBB18_88: + WORD $0x8949; BYTE $0x08 // movq %rcx, (%r8) + LONG $0xffffb7e9; BYTE $0xff // jmp LBB18_77, $-73(%rip) -LBB19_60: +LBB18_83: WORD $0xff48; BYTE $0xc8 // decq %rax - WORD $0x8949; BYTE $0xc6 // movq %rax, %r14 - LONG $0x000010e9; BYTE $0x00 // jmp LBB19_63, $16(%rip) + WORD $0x8949; BYTE $0xc7 // movq %rax, %r15 + LONG $0xfffface9; BYTE $0xff // jmp LBB18_77, $-84(%rip) -LBB19_61: +LBB18_84: WORD $0xf748; BYTE $0xd0 // notq %rax - WORD $0x0149; BYTE $0xc6 // addq %rax, %r14 - WORD $0x894c; BYTE $0x33 // movq %r14, (%rbx) + WORD $0x0149; BYTE $0xc7 // addq %rax, %r15 + WORD $0x894c; BYTE $0x3b // movq %r15, (%rbx) -LBB19_62: - LONG $0xfec6c749; WORD $0xffff; BYTE $0xff // movq $-2, %r14 +LBB18_85: + LONG $0xfec7c749; WORD $0xffff; BYTE $0xff // movq $-2, %r15 + LONG $0xffff97e9; BYTE $0xff // jmp LBB18_77, $-105(%rip) -LBB19_63: - 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 +LBB18_91: + WORD $0xff49; BYTE $0xcf // decq %r15 + LONG $0xffff8fe9; BYTE $0xff // jmp LBB18_77, $-113(%rip) -LBB19_66: - 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 $0xffd5850f; WORD $0xffff // jne LBB19_63, $-43(%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 $0x75013c80 // cmpb $117, (%rcx,%rax) - LONG $0xffc8850f; WORD $0xffff // jne LBB19_63, $-56(%rip) - LONG $0x01508d48 // leaq $1(%rax), %rdx - WORD $0x8949; BYTE $0x10 // movq %rdx, (%r8) - LONG $0x01017c80; BYTE $0x6c // cmpb $108, $1(%rcx,%rax) - LONG $0xffb6850f; WORD $0xffff // jne LBB19_63, $-74(%rip) - LONG $0x02508d48 // leaq $2(%rax), %rdx - WORD $0x8949; BYTE $0x10 // movq %rdx, (%r8) - LONG $0x02017c80; BYTE $0x6c // cmpb $108, $2(%rcx,%rax) - LONG $0xffa4850f; WORD $0xffff // jne LBB19_63, $-92(%rip) - LONG $0x00004ae9; BYTE $0x00 // jmp LBB19_74, $74(%rip) - -LBB19_70: - 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 $0xff86850f; WORD $0xffff // jne LBB19_63, $-122(%rip) + 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 $0x72013c80 // cmpb $114, (%rcx,%rax) - LONG $0xff79850f; WORD $0xffff // jne LBB19_63, $-135(%rip) - LONG $0x01508d48 // leaq $1(%rax), %rdx - WORD $0x8949; BYTE $0x10 // movq %rdx, (%r8) - LONG $0x01017c80; BYTE $0x75 // cmpb $117, $1(%rcx,%rax) - LONG $0xff67850f; WORD $0xffff // jne LBB19_63, $-153(%rip) - LONG $0x02508d48 // leaq $2(%rax), %rdx - WORD $0x8949; BYTE $0x10 // movq %rdx, (%r8) - LONG $0x02017c80; BYTE $0x65 // cmpb $101, $2(%rcx,%rax) - LONG $0xff55850f; WORD $0xffff // jne LBB19_63, $-171(%rip) - -LBB19_74: + 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 $0xffff49e9; BYTE $0xff // jmp LBB19_63, $-183(%rip) - -LBB19_75: - WORD $0xff49; BYTE $0xce // decq %r14 - LONG $0xffff41e9; BYTE $0xff // jmp LBB19_63, $-191(%rip) - -LBB19_76: - LONG $0xfec6c749; WORD $0xffff; BYTE $0xff // movq $-2, %r14 - WORD $0xfa80; BYTE $0x61 // cmpb $97, %dl - LONG $0xff31850f; WORD $0xffff // jne LBB19_63, $-207(%rip) - LONG $0x01508d48 // leaq $1(%rax), %rdx - WORD $0x8949; BYTE $0x10 // movq %rdx, (%r8) - LONG $0x01017c80; BYTE $0x6c // cmpb $108, $1(%rcx,%rax) - LONG $0xff1f850f; WORD $0xffff // jne LBB19_63, $-225(%rip) - LONG $0x02508d48 // leaq $2(%rax), %rdx - WORD $0x8949; BYTE $0x10 // movq %rdx, (%r8) - LONG $0x02017c80; BYTE $0x73 // cmpb $115, $2(%rcx,%rax) - LONG $0xff0d850f; WORD $0xffff // jne LBB19_63, $-243(%rip) - LONG $0x03508d48 // leaq $3(%rax), %rdx - WORD $0x8949; BYTE $0x10 // movq %rdx, (%r8) - LONG $0x03017c80; BYTE $0x65 // cmpb $101, $3(%rcx,%rax) - LONG $0xfefb850f; WORD $0xffff // jne LBB19_63, $-261(%rip) - LONG $0x04c08348 // addq $4, %rax - WORD $0x8949; BYTE $0x00 // movq %rax, (%r8) - LONG $0xfffeefe9; BYTE $0xff // jmp LBB19_63, $-273(%rip) - - // .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 $0xfffffb05 // .long L19_0_set_9 - LONG $0xfffffb41 // .long L19_0_set_13 - LONG $0xfffffb6a // .long L19_0_set_16 - LONG $0xfffffbbc // .long L19_0_set_20 - LONG $0xfffffbd2 // .long L19_0_set_22 - LONG $0xfffffbef // .long L19_0_set_24 - - // .set L19_1_set_63, LBB19_63-LJTI19_1 - // .set L19_1_set_62, LBB19_62-LJTI19_1 - // .set L19_1_set_39, LBB19_39-LJTI19_1 - // .set L19_1_set_40, LBB19_40-LJTI19_1 - // .set L19_1_set_29, LBB19_29-LJTI19_1 - // .set L19_1_set_42, LBB19_42-LJTI19_1 - // .set L19_1_set_44, LBB19_44-LJTI19_1 - // .set L19_1_set_47, LBB19_47-LJTI19_1 - // .set L19_1_set_49, LBB19_49-LJTI19_1 - // .set L19_1_set_51, LBB19_51-LJTI19_1 -LJTI19_1: - LONG $0xfffffed7 // .long L19_1_set_63 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffd32 // .long L19_1_set_39 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffd46 // .long L19_1_set_40 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffc2d // .long L19_1_set_29 - LONG $0xfffffc2d // .long L19_1_set_29 - LONG $0xfffffc2d // .long L19_1_set_29 - LONG $0xfffffc2d // .long L19_1_set_29 - LONG $0xfffffc2d // .long L19_1_set_29 - LONG $0xfffffc2d // .long L19_1_set_29 - LONG $0xfffffc2d // .long L19_1_set_29 - LONG $0xfffffc2d // .long L19_1_set_29 - LONG $0xfffffc2d // .long L19_1_set_29 - LONG $0xfffffc2d // .long L19_1_set_29 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffd82 // .long L19_1_set_42 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffda8 // .long L19_1_set_44 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffdea // .long L19_1_set_47 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffe1b // .long L19_1_set_49 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffed0 // .long L19_1_set_62 - LONG $0xfffffe4c // .long L19_1_set_51 + 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 - // .p2align 4, 0x00 -LCPI20_0: +LCPI19_0: QUAD $0x0000000000000001 // .quad 1 QUAD $0x0000000000000006 // .quad 6 @@ -6070,11 +5963,11 @@ _skip_object: 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 /* LCPI20_0(%rip) */ + 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 $0xfff810e9; BYTE $0xff // jmp _fsm_exec, $-2032(%rip) + LONG $0xfff6a0e9; BYTE $0xff // jmp _fsm_exec, $-2400(%rip) // .p2align 4, 0x90 _skip_string: @@ -6093,21 +5986,21 @@ _skip_string: LONG $0xd8658d4c // leaq $-40(%rbp), %r12 WORD $0x8948; BYTE $0xde // movq %rbx, %rsi WORD $0x894c; BYTE $0xe2 // movq %r12, %rdx - LONG $0xffe8cee8; BYTE $0xff // callq _advance_string, $-5938(%rip) + LONG $0xffe75ee8; BYTE $0xff // callq _advance_string, $-6306(%rip) WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x000e880f; WORD $0x0000 // js LBB21_1, $14(%rip) + 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 LBB21_3, $16(%rip) + LONG $0x000010e9; BYTE $0x00 // jmp LBB20_3, $16(%rip) -LBB21_1: +LBB20_1: LONG $0x08c78349 // addq $8, %r15 LONG $0xfff88348 // cmpq $-1, %rax LONG $0xe7440f4d // cmoveq %r15, %r12 LONG $0x240c8b49 // movq (%r12), %rcx -LBB21_3: +LBB20_3: WORD $0x8949; BYTE $0x0e // movq %rcx, (%r14) LONG $0x10c48348 // addq $16, %rsp BYTE $0x5b // popq %rbx @@ -6132,19 +6025,19 @@ _skip_negative: 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 LBB22_1, $14(%rip) + 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 LBB22_3, $16(%rip) + LONG $0x000010e9; BYTE $0x00 // jmp LBB21_3, $16(%rip) -LBB22_1: +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 -LBB22_3: +LBB21_3: WORD $0x8948; BYTE $0xd8 // movq %rbx, %rax BYTE $0x5b // popq %rbx WORD $0x5e41 // popq %r14 @@ -6152,25 +6045,25 @@ LBB22_3: BYTE $0xc3 // retq QUAD $0x0000000000000000; LONG $0x00000000; WORD $0x0000; BYTE $0x00 // .p2align 4, 0x00 -LCPI23_0: +LCPI22_0: QUAD $0x2f2f2f2f2f2f2f2f; QUAD $0x2f2f2f2f2f2f2f2f // .space 16, '////////////////' -LCPI23_1: +LCPI22_1: QUAD $0x3a3a3a3a3a3a3a3a; QUAD $0x3a3a3a3a3a3a3a3a // .space 16, '::::::::::::::::' -LCPI23_2: +LCPI22_2: QUAD $0x2b2b2b2b2b2b2b2b; QUAD $0x2b2b2b2b2b2b2b2b // .space 16, '++++++++++++++++' -LCPI23_3: +LCPI22_3: QUAD $0x2d2d2d2d2d2d2d2d; QUAD $0x2d2d2d2d2d2d2d2d // .space 16, '----------------' -LCPI23_4: +LCPI22_4: QUAD $0xdfdfdfdfdfdfdfdf; QUAD $0xdfdfdfdfdfdfdfdf // .space 16, '\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf' -LCPI23_5: +LCPI22_5: QUAD $0x2e2e2e2e2e2e2e2e; QUAD $0x2e2e2e2e2e2e2e2e // .space 16, '................' -LCPI23_6: +LCPI22_6: QUAD $0x4545454545454545; QUAD $0x4545454545454545 // .space 16, 'EEEEEEEEEEEEEEEE' // .p2align 4, 0x90 @@ -6181,39 +6074,39 @@ _do_skip_number: WORD $0x5641 // pushq %r14 BYTE $0x53 // pushq %rbx WORD $0x8548; BYTE $0xf6 // testq %rsi, %rsi - LONG $0x0278840f; WORD $0x0000 // je LBB23_34, $632(%rip) + LONG $0x0278840f; WORD $0x0000 // je LBB22_34, $632(%rip) WORD $0x3f80; BYTE $0x30 // cmpb $48, (%rdi) - LONG $0x0033850f; WORD $0x0000 // jne LBB23_5, $51(%rip) + 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 LBB23_52, $817(%rip) + 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 LBB23_52, $804(%rip) + 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 LBB23_52, $781(%rip) + LONG $0x030d830f; WORD $0x0000 // jae LBB22_52, $781(%rip) -LBB23_5: +LBB22_5: LONG $0x10fe8348 // cmpq $16, %rsi - LONG $0x032d820f; WORD $0x0000 // jb LBB23_57, $813(%rip) + 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 /* LCPI23_0(%rip) */ - QUAD $0xffff2f156f0f4466; BYTE $0xff // movdqa $-209(%rip), %xmm10 /* LCPI23_1(%rip) */ - QUAD $0xffff360d6f0f4466; BYTE $0xff // movdqa $-202(%rip), %xmm9 /* LCPI23_2(%rip) */ - QUAD $0xffffff3e1d6f0f66 // movdqa $-194(%rip), %xmm3 /* LCPI23_3(%rip) */ - QUAD $0xffffff46256f0f66 // movdqa $-186(%rip), %xmm4 /* LCPI23_4(%rip) */ - QUAD $0xffffff4e2d6f0f66 // movdqa $-178(%rip), %xmm5 /* LCPI23_5(%rip) */ - QUAD $0xffffff56356f0f66 // movdqa $-170(%rip), %xmm6 /* LCPI23_6(%rip) */ + 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 -LBB23_7: +LBB22_7: LONG $0x6f0f41f3; BYTE $0x3a // movdqu (%r10), %xmm7 LONG $0xc76f0f66 // movdqa %xmm7, %xmm0 LONG $0x640f4166; BYTE $0xc0 // pcmpgtb %xmm8, %xmm0 @@ -6239,7 +6132,7 @@ LBB23_7: 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_9, $20(%rip) + 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 @@ -6248,270 +6141,270 @@ LBB23_7: WORD $0x2144; BYTE $0xf3 // andl %r14d, %ebx WORD $0x8941; BYTE $0xde // movl %ebx, %r14d -LBB23_9: +LBB22_9: WORD $0x5a8d; BYTE $0xff // leal $-1(%rdx), %ebx WORD $0xd321 // andl %edx, %ebx - LONG $0x0202850f; WORD $0x0000 // jne LBB23_50, $514(%rip) + 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 LBB23_50, $501(%rip) + 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 LBB23_50, $488(%rip) + LONG $0x01e8850f; WORD $0x0000 // jne LBB22_50, $488(%rip) WORD $0xd285 // testl %edx, %edx - LONG $0x0019840f; WORD $0x0000 // je LBB23_15, $25(%rip) + 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 LBB23_51, $467(%rip) + LONG $0x01d3850f; WORD $0x0000 // jne LBB22_51, $467(%rip) WORD $0x8949; BYTE $0xd0 // movq %rdx, %r8 -LBB23_15: +LBB22_15: WORD $0x8545; BYTE $0xff // testl %r15d, %r15d - LONG $0x001a840f; WORD $0x0000 // je LBB23_18, $26(%rip) + 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 LBB23_51, $432(%rip) + LONG $0x01b0850f; WORD $0x0000 // jne LBB22_51, $432(%rip) WORD $0x8948; BYTE $0xd0 // movq %rdx, %rax -LBB23_18: +LBB22_18: WORD $0x8545; BYTE $0xf6 // testl %r14d, %r14d - LONG $0x001a840f; WORD $0x0000 // je LBB23_21, $26(%rip) + 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 LBB23_51, $397(%rip) + LONG $0x018d850f; WORD $0x0000 // jne LBB22_51, $397(%rip) WORD $0x8949; BYTE $0xd1 // movq %rdx, %r9 -LBB23_21: +LBB22_21: WORD $0xf983; BYTE $0x10 // cmpl $16, %ecx - LONG $0x00bf850f; WORD $0x0000 // jne LBB23_35, $191(%rip) + 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 LBB23_7, $-297(%rip) + LONG $0xfed7870f; WORD $0xffff // ja LBB22_7, $-297(%rip) WORD $0x8548; BYTE $0xf6 // testq %rsi, %rsi - LONG $0x00a7840f; WORD $0x0000 // je LBB23_36, $167(%rip) + LONG $0x00a7840f; WORD $0x0000 // je LBB22_36, $167(%rip) -LBB23_24: +LBB22_24: LONG $0x321c8d4d // leaq (%r10,%rsi), %r11 - LONG $0xa71d8d48; WORD $0x0001; BYTE $0x00 // leaq $423(%rip), %rbx /* LJTI23_0(%rip) */ - LONG $0x00001ae9; BYTE $0x00 // jmp LBB23_26, $26(%rip) + 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 -LBB23_25: +LBB22_25: WORD $0x8949; BYTE $0xca // movq %rcx, %r10 WORD $0xff48; BYTE $0xce // decq %rsi - LONG $0x0149840f; WORD $0x0000 // je LBB23_54, $329(%rip) + LONG $0x0149840f; WORD $0x0000 // je LBB22_54, $329(%rip) -LBB23_26: +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 LBB23_36, $109(%rip) + 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 -LBB23_28: +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 LBB23_58, $308(%rip) + 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 LBB23_25, $-68(%rip) + LONG $0xffffbce9; BYTE $0xff // jmp LBB22_25, $-68(%rip) -LBB23_30: +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 LBB23_58, $281(%rip) + 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 LBB23_25, $-95(%rip) + LONG $0xffffa1e9; BYTE $0xff // jmp LBB22_25, $-95(%rip) -LBB23_32: +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 LBB23_58, $254(%rip) + 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 LBB23_25, $-122(%rip) + LONG $0xffff86e9; BYTE $0xff // jmp LBB22_25, $-122(%rip) -LBB23_34: +LBB22_34: LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - LONG $0x0000c8e9; BYTE $0x00 // jmp LBB23_53, $200(%rip) + LONG $0x0000c8e9; BYTE $0x00 // jmp LBB22_53, $200(%rip) -LBB23_35: +LBB22_35: WORD $0x0149; BYTE $0xca // addq %rcx, %r10 -LBB23_36: +LBB22_36: LONG $0xffc2c748; WORD $0xffff; BYTE $0xff // movq $-1, %rdx WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x00b2840f; WORD $0x0000 // je LBB23_52, $178(%rip) + LONG $0x00b2840f; WORD $0x0000 // je LBB22_52, $178(%rip) -LBB23_37: +LBB22_37: WORD $0x854d; BYTE $0xc9 // testq %r9, %r9 - LONG $0x00a9840f; WORD $0x0000 // je LBB23_52, $169(%rip) + LONG $0x00a9840f; WORD $0x0000 // je LBB22_52, $169(%rip) WORD $0x854d; BYTE $0xc0 // testq %r8, %r8 - LONG $0x00a0840f; WORD $0x0000 // je LBB23_52, $160(%rip) + 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 LBB23_45, $54(%rip) + LONG $0x0036840f; WORD $0x0000 // je LBB22_45, $54(%rip) WORD $0x3949; BYTE $0xc8 // cmpq %rcx, %r8 - LONG $0x002d840f; WORD $0x0000 // je LBB23_45, $45(%rip) + LONG $0x002d840f; WORD $0x0000 // je LBB22_45, $45(%rip) WORD $0x3949; BYTE $0xc9 // cmpq %rcx, %r9 - LONG $0x0024840f; WORD $0x0000 // je LBB23_45, $36(%rip) + LONG $0x0024840f; WORD $0x0000 // je LBB22_45, $36(%rip) WORD $0x854d; BYTE $0xc9 // testq %r9, %r9 - LONG $0x00298e0f; WORD $0x0000 // jle LBB23_46, $41(%rip) + 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 LBB23_46, $28(%rip) + 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 LBB23_53, $93(%rip) + LONG $0x00005de9; BYTE $0x00 // jmp LBB22_53, $93(%rip) -LBB23_45: +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 LBB23_53, $79(%rip) + LONG $0x00004fe9; BYTE $0x00 // jmp LBB22_53, $79(%rip) -LBB23_46: +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 LBB23_49, $23(%rip) + LONG $0x00178c0f; WORD $0x0000 // jl LBB22_49, $23(%rip) WORD $0x8548; BYTE $0xc9 // testq %rcx, %rcx - LONG $0x000e880f; WORD $0x0000 // js LBB23_49, $14(%rip) + 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 LBB23_53, $41(%rip) + LONG $0x000029e9; BYTE $0x00 // jmp LBB22_53, $41(%rip) -LBB23_49: +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 LBB23_53, $15(%rip) + LONG $0x00000fe9; BYTE $0x00 // jmp LBB22_53, $15(%rip) -LBB23_50: +LBB22_50: WORD $0x2949; BYTE $0xfa // subq %rdi, %r10 WORD $0xbc0f; BYTE $0xd3 // bsfl %ebx, %edx WORD $0x014c; BYTE $0xd2 // addq %r10, %rdx -LBB23_51: +LBB22_51: WORD $0xf748; BYTE $0xd2 // notq %rdx -LBB23_52: +LBB22_52: WORD $0x8948; BYTE $0xd0 // movq %rdx, %rax -LBB23_53: +LBB22_53: BYTE $0x5b // popq %rbx WORD $0x5e41 // popq %r14 WORD $0x5f41 // popq %r15 BYTE $0x5d // popq %rbp BYTE $0xc3 // retq -LBB23_54: +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 LBB23_37, $-207(%rip) - LONG $0xffffdee9; BYTE $0xff // jmp LBB23_52, $-34(%rip) + LONG $0xff31850f; WORD $0xffff // jne LBB22_37, $-207(%rip) + LONG $0xffffdee9; BYTE $0xff // jmp LBB22_52, $-34(%rip) -LBB23_58: +LBB22_58: WORD $0xf748; BYTE $0xda // negq %rdx - LONG $0xffffd6e9; BYTE $0xff // jmp LBB23_52, $-42(%rip) + LONG $0xffffd6e9; BYTE $0xff // jmp LBB22_52, $-42(%rip) -LBB23_57: +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 LBB23_24, $-432(%rip) + LONG $0xfffe50e9; BYTE $0xff // jmp LBB22_24, $-432(%rip) WORD $0x9090 // .p2align 2, 0x90 - // .set L23_0_set_28, LBB23_28-LJTI23_0 - // .set L23_0_set_36, LBB23_36-LJTI23_0 - // .set L23_0_set_32, LBB23_32-LJTI23_0 - // .set L23_0_set_25, LBB23_25-LJTI23_0 - // .set L23_0_set_30, LBB23_30-LJTI23_0 -LJTI23_0: - LONG $0xfffffe95 // .long L23_0_set_28 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffe95 // .long L23_0_set_28 - LONG $0xfffffecb // .long L23_0_set_32 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffe6c // .long L23_0_set_25 - LONG $0xfffffe6c // .long L23_0_set_25 - LONG $0xfffffe6c // .long L23_0_set_25 - LONG $0xfffffe6c // .long L23_0_set_25 - LONG $0xfffffe6c // .long L23_0_set_25 - LONG $0xfffffe6c // .long L23_0_set_25 - LONG $0xfffffe6c // .long L23_0_set_25 - LONG $0xfffffe6c // .long L23_0_set_25 - LONG $0xfffffe6c // .long L23_0_set_25 - LONG $0xfffffe6c // .long L23_0_set_25 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffeb0 // .long L23_0_set_30 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffef5 // .long L23_0_set_36 - LONG $0xfffffeb0 // .long L23_0_set_30 + // .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: @@ -6565,22 +6458,22 @@ _skip_number: 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) + LONG $0x003b840f; WORD $0x0000 // je LBB24_6, $59(%rip) WORD $0x3949; BYTE $0xf7 // cmpq %rsi, %r15 - LONG $0x000c830f; WORD $0x0000 // jae LBB25_3, $12(%rip) + 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 LBB25_8, $56(%rip) + LONG $0x0038870f; WORD $0x0000 // ja LBB24_8, $56(%rip) -LBB25_3: +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 LBB25_7, $33(%rip) + LONG $0x0021880f; WORD $0x0000 // js LBB24_7, $33(%rip) WORD $0x0148; BYTE $0xc3 // addq %rax, %rbx -LBB25_5: +LBB24_5: WORD $0x294c; BYTE $0xe3 // subq %r12, %rbx WORD $0x8949; BYTE $0x1e // movq %rbx, (%r14) WORD $0x894c; BYTE $0xf8 // movq %r15, %rax @@ -6591,20 +6484,20 @@ LBB25_5: BYTE $0x5d // popq %rbp BYTE $0xc3 // retq -LBB25_6: +LBB24_6: LONG $0xffc7c749; WORD $0xffff; BYTE $0xff // movq $-1, %r15 - LONG $0xffffe2e9; BYTE $0xff // jmp LBB25_5, $-30(%rip) + LONG $0xffffe2e9; BYTE $0xff // jmp LBB24_5, $-30(%rip) -LBB25_7: +LBB24_7: WORD $0xf748; BYTE $0xd0 // notq %rax WORD $0x0148; BYTE $0xc3 // addq %rax, %rbx -LBB25_8: +LBB24_8: LONG $0xfec7c749; WORD $0xffff; BYTE $0xff // movq $-2, %r15 - LONG $0xffffd0e9; BYTE $0xff // jmp LBB25_5, $-48(%rip) + LONG $0xffffd0e9; BYTE $0xff // jmp LBB24_5, $-48(%rip) LONG $0x00000000; BYTE $0x00 // .p2align 4, 0x00 -LCPI26_0: +LCPI25_0: LONG $0x00000001 // .long 1 LONG $0x00000000 // .long 0 LONG $0x00000000 // .long 0 @@ -6617,14 +6510,14 @@ _skip_one: 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) */ + 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 $0xfff120e9; BYTE $0xff // jmp _fsm_exec, $-3808(%rip) + LONG $0xffefb0e9; BYTE $0xff // jmp _fsm_exec, $-4176(%rip) // .p2align 4, 0x00 -LCPI27_0: +LCPI26_0: LONG $0x00000001 // .long 1 LONG $0x00000000 // .long 0 LONG $0x00000000 // .long 0 @@ -6637,127 +6530,225 @@ _validate_one: 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 /* LCPI27_0(%rip) */ + 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 $0xfff0ebe9; BYTE $0xff // jmp _fsm_exec, $-3861(%rip) + LONG $0xffef7be9; BYTE $0xff // jmp _fsm_exec, $-4229(%rip) QUAD $0x0000000000000000; WORD $0x0000; BYTE $0x00 // .p2align 4, 0x00 -LCPI28_0: +LCPI27_0: QUAD $0x2c2c2c2c2c2c2c2c; QUAD $0x2c2c2c2c2c2c2c2c // .space 16, ',,,,,,,,,,,,,,,,' -LCPI28_1: +LCPI27_1: QUAD $0xdfdfdfdfdfdfdfdf; QUAD $0xdfdfdfdfdfdfdfdf // .space 16, '\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf\xdf' -LCPI28_2: +LCPI27_2: QUAD $0x5d5d5d5d5d5d5d5d; QUAD $0x5d5d5d5d5d5d5d5d // .space 16, ']]]]]]]]]]]]]]]]' -LCPI28_3: +LCPI27_3: QUAD $0x2222222222222222; QUAD $0x2222222222222222 // .space 16, '""""""""""""""""' -LCPI28_4: +LCPI27_4: QUAD $0x5c5c5c5c5c5c5c5c; QUAD $0x5c5c5c5c5c5c5c5c // .space 16, '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -LCPI28_5: +LCPI27_5: QUAD $0x7b7b7b7b7b7b7b7b; QUAD $0x7b7b7b7b7b7b7b7b // .space 16, '{{{{{{{{{{{{{{{{' -LCPI28_6: +LCPI27_6: QUAD $0x7d7d7d7d7d7d7d7d; QUAD $0x7d7d7d7d7d7d7d7d // .space 16, '}}}}}}}}}}}}}}}}' -LCPI28_7: +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 $0x68ec8348 // subq $104, %rsp - WORD $0x8949; BYTE $0xf4 // movq %rsi, %r12 - WORD $0x8949; BYTE $0xfe // movq %rdi, %r14 - WORD $0x8b48; BYTE $0x3f // movq (%rdi), %rdi - LONG $0x08768b49 // movq $8(%r14), %rsi - WORD $0x894c; BYTE $0xe2 // movq %r12, %rdx - LONG $0xffddeae8; BYTE $0xff // callq _advance_ns, $-8726(%rip) - LONG $0x24148b49 // movq (%r12), %rdx - LONG $0xff6a8d4c // leaq $-1(%rdx), %r13 - WORD $0xbe0f; BYTE $0xc8 // movsbl %al, %ecx + 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 $0x0101870f; WORD $0x0000 // ja LBB28_18, $257(%rip) + LONG $0x00fa870f; WORD $0x0000 // ja LBB27_46, $250(%rip) LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - LONG $0x40358d48; WORD $0x000b; BYTE $0x00 // leaq $2880(%rip), %rsi /* LJTI28_0(%rip) */ - LONG $0x8e0c6348 // movslq (%rsi,%rcx,4), %rcx - WORD $0x0148; BYTE $0xf1 // addq %rsi, %rcx + 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 -LBB28_2: - WORD $0x8b49; BYTE $0x06 // movq (%r14), %rax - LONG $0x084e8b49 // movq $8(%r14), %rcx - WORD $0x2948; BYTE $0xd1 // subq %rdx, %rcx - WORD $0x0148; BYTE $0xc2 // addq %rax, %rdx - LONG $0x10f98348 // cmpq $16, %rcx - LONG $0x004f820f; WORD $0x0000 // jb LBB28_6, $79(%rip) - QUAD $0xffffff10056f0f66 // movdqa $-240(%rip), %xmm0 /* LCPI28_0(%rip) */ - QUAD $0xffffff180d6f0f66 // movdqa $-232(%rip), %xmm1 /* LCPI28_1(%rip) */ - QUAD $0xffffff20156f0f66 // movdqa $-224(%rip), %xmm2 /* LCPI28_2(%rip) */ +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 - // .p2align 4, 0x90 -LBB28_4: - LONG $0x1a6f0ff3 // movdqu (%rdx), %xmm3 +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 $0xf3d70f66 // pmovmskb %xmm3, %esi - WORD $0x8566; BYTE $0xf6 // testw %si, %si - LONG $0x0060850f; WORD $0x0000 // jne LBB28_13, $96(%rip) - LONG $0x10c28348 // addq $16, %rdx - LONG $0xf0c18348 // addq $-16, %rcx - LONG $0x0ff98348 // cmpq $15, %rcx - LONG $0xffc9870f; WORD $0xffff // ja LBB28_4, $-55(%rip) + 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) -LBB28_6: - WORD $0x8548; BYTE $0xc9 // testq %rcx, %rcx - LONG $0x0a18840f; WORD $0x0000 // je LBB28_82, $2584(%rip) - LONG $0x0a348d48 // leaq (%rdx,%rcx), %rsi - QUAD $0x9090909090909090; LONG $0x90909090 // .p2align 4, 0x90 +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 -LBB28_8: - WORD $0xb60f; BYTE $0x1a // movzbl (%rdx), %ebx - WORD $0xfb80; BYTE $0x2c // cmpb $44, %bl - LONG $0x09fc840f; WORD $0x0000 // je LBB28_82, $2556(%rip) - WORD $0xfb80; BYTE $0x7d // cmpb $125, %bl - LONG $0x09f3840f; WORD $0x0000 // je LBB28_82, $2547(%rip) - WORD $0xfb80; BYTE $0x5d // cmpb $93, %bl - LONG $0x09ea840f; WORD $0x0000 // je LBB28_82, $2538(%rip) - WORD $0xff48; BYTE $0xc2 // incq %rdx - WORD $0xff48; BYTE $0xc9 // decq %rcx - LONG $0xffd6850f; WORD $0xffff // jne LBB28_8, $-42(%rip) - WORD $0x8948; BYTE $0xf2 // movq %rsi, %rdx - WORD $0x2948; BYTE $0xc2 // subq %rax, %rdx - LONG $0x00000de9; BYTE $0x00 // jmp LBB28_14, $13(%rip) +LBB27_40: + WORD $0x294c; BYTE $0xc3 // subq %r8, %rbx + LONG $0x00000de9; BYTE $0x00 // jmp LBB27_42, $13(%rip) -LBB28_13: - WORD $0xb70f; BYTE $0xce // movzwl %si, %ecx - LONG $0xc9bc0f48 // bsfq %rcx, %rcx - WORD $0x2948; BYTE $0xc2 // subq %rax, %rdx - WORD $0x0148; BYTE $0xca // addq %rcx, %rdx +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 -LBB28_14: - LONG $0x24148949 // movq %rdx, (%r12) +LBB27_42: + WORD $0x8948; BYTE $0x1e // movq %rbx, (%rsi) -LBB28_15: - WORD $0x894c; BYTE $0xe8 // movq %r13, %rax +LBB27_43: + WORD $0x894c; BYTE $0xf0 // movq %r14, %rax -LBB28_16: - LONG $0x68c48348 // addq $104, %rsp +LBB27_44: + LONG $0x58c48348 // addq $88, %rsp BYTE $0x5b // popq %rbx WORD $0x5c41 // popq %r12 WORD $0x5d41 // popq %r13 @@ -6766,877 +6757,889 @@ LBB28_16: BYTE $0x5d // popq %rbp BYTE $0xc3 // retq -LBB28_17: - LONG $0x03c28348 // addq $3, %rdx - LONG $0x08563b49 // cmpq $8(%r14), %rdx - LONG $0xffdc860f; WORD $0xffff // jbe LBB28_14, $-36(%rip) - LONG $0xffffdee9; BYTE $0xff // jmp LBB28_16, $-34(%rip) +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) -LBB28_18: - LONG $0x242c894d // movq %r13, (%r12) +LBB27_46: + WORD $0x894c; BYTE $0x36 // movq %r14, (%rsi) LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax - LONG $0xffffcee9; BYTE $0xff // jmp LBB28_16, $-50(%rip) + LONG $0xffffcfe9; BYTE $0xff // jmp LBB27_44, $-49(%rip) -LBB28_19: - WORD $0x8b4d; BYTE $0x06 // movq (%r14), %r8 - LONG $0x084e8b4d // movq $8(%r14), %r9 - LONG $0x101c8d4d // leaq (%r8,%rdx), %r11 - WORD $0x2949; BYTE $0xd1 // subq %rdx, %r9 - LONG $0x20f98349 // cmpq $32, %r9 - LONG $0x098c8c0f; WORD $0x0000 // jl LBB28_27, $2444(%rip) - LONG $0x0020bf41; WORD $0x0000 // movl $32, %r15d - LONG $0xffffba41; WORD $0xffff // movl $4294967295, %r10d - WORD $0xd231 // xorl %edx, %edx - QUAD $0xfffffe37056f0f66 // movdqa $-457(%rip), %xmm0 /* LCPI28_3(%rip) */ - QUAD $0xfffffe3f0d6f0f66 // movdqa $-449(%rip), %xmm1 /* LCPI28_4(%rip) */ - WORD $0x3145; BYTE $0xf6 // xorl %r14d, %r14d - LONG $0x000029e9; BYTE $0x00 // jmp LBB28_21, $41(%rip) - LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 +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 -LBB28_23: - WORD $0x3145; BYTE $0xf6 // xorl %r14d, %r14d - WORD $0xf685 // testl %esi, %esi - LONG $0x00a5850f; WORD $0x0000 // jne LBB28_80, $165(%rip) +LBB27_51: + WORD $0x3145; BYTE $0xe4 // xorl %r12d, %r12d + WORD $0xc985 // testl %ecx, %ecx + LONG $0x00a6850f; WORD $0x0000 // jne LBB27_109, $166(%rip) -LBB28_24: - LONG $0x20c28348 // addq $32, %rdx - LONG $0x394c8d4b; BYTE $0xe0 // leaq $-32(%r9,%r15), %rcx - LONG $0xe0c78349 // addq $-32, %r15 +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 $0x092e8e0f; WORD $0x0000 // jle LBB28_25, $2350(%rip) + LONG $0x09608e0f; WORD $0x0000 // jle LBB27_53, $2400(%rip) -LBB28_21: - LONG $0x6f0f41f3; WORD $0x1314 // movdqu (%r11,%rdx), %xmm2 - LONG $0x6f0f41f3; WORD $0x135c; BYTE $0x10 // movdqu $16(%r11,%rdx), %xmm3 +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 $0xccd70f66 // pmovmskb %xmm4, %ecx + LONG $0xfcd70f66 // pmovmskb %xmm4, %edi LONG $0xe36f0f66 // movdqa %xmm3, %xmm4 LONG $0xe0740f66 // pcmpeqb %xmm0, %xmm4 - LONG $0xf4d70f66 // pmovmskb %xmm4, %esi - LONG $0x10e6c148 // shlq $16, %rsi - WORD $0x0948; BYTE $0xce // orq %rcx, %rsi - LONG $0xd1740f66 // pcmpeqb %xmm1, %xmm2 - LONG $0xfad70f66 // pmovmskb %xmm2, %edi - LONG $0xd9740f66 // pcmpeqb %xmm1, %xmm3 - LONG $0xcbd70f66 // pmovmskb %xmm3, %ecx + LONG $0xccd70f66 // pmovmskb %xmm4, %ecx LONG $0x10e1c148 // shlq $16, %rcx WORD $0x0948; BYTE $0xf9 // orq %rdi, %rcx - WORD $0x8948; BYTE $0xcf // movq %rcx, %rdi - WORD $0x094c; BYTE $0xf7 // orq %r14, %rdi - LONG $0xff8f840f; WORD $0xffff // je LBB28_23, $-113(%rip) - WORD $0x8944; BYTE $0xf7 // movl %r14d, %edi - WORD $0x3144; BYTE $0xd7 // xorl %r10d, %edi - WORD $0xf921 // andl %edi, %ecx - WORD $0x3c8d; BYTE $0x09 // leal (%rcx,%rcx), %edi - WORD $0x0944; BYTE $0xf7 // orl %r14d, %edi - LONG $0xab9a8d41; WORD $0xaaaa; BYTE $0xaa // leal $-1431655765(%r10), %ebx - WORD $0xfb31 // xorl %edi, %ebx - WORD $0xcb21 // andl %ecx, %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 $0xfb21 // andl %edi, %ebx + 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 $0xde21 // andl %ebx, %esi - WORD $0xf685 // testl %esi, %esi - LONG $0xff5b840f; WORD $0xffff // je LBB28_24, $-165(%rip) - -LBB28_80: - LONG $0xc6bc0f48 // bsfq %rsi, %rax - WORD $0x0149; BYTE $0xc3 // addq %rax, %r11 - WORD $0x0149; BYTE $0xd3 // addq %rdx, %r11 + 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) -LBB28_81: +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 - WORD $0xff49; BYTE $0xc3 // incq %r11 - LONG $0x241c894d // movq %r11, (%r12) - LONG $0xfffebde9; BYTE $0xff // jmp LBB28_15, $-323(%rip) - -LBB28_28: - LONG $0xb86d894c // movq %r13, $-72(%rbp) - LONG $0xc865894c // movq %r12, $-56(%rbp) - LONG $0x084e8b49 // movq $8(%r14), %rcx - WORD $0x2948; BYTE $0xd1 // subq %rdx, %rcx - WORD $0x0349; BYTE $0x16 // addq (%r14), %rdx - QUAD $0x555555555555bb49; WORD $0x5555 // movabsq $6148914691236517205, %r11 - WORD $0x3145; BYTE $0xe4 // xorl %r12d, %r12d - QUAD $0xfffd3f156f0f4466; BYTE $0xff // movdqa $-705(%rip), %xmm10 /* LCPI28_4(%rip) */ - QUAD $0xfffffd270d6f0f66 // movdqa $-729(%rip), %xmm1 /* LCPI28_3(%rip) */ + 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 $0xfffffd5a1d6f0f66 // movdqa $-678(%rip), %xmm3 /* LCPI28_7(%rip) */ - QUAD $0xfffffd02256f0f66 // movdqa $-766(%rip), %xmm4 /* LCPI28_2(%rip) */ - QUAD $0x333333333333bf49; WORD $0x3333 // movabsq $3689348814741910323, %r15 + 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 $0x3145; BYTE $0xed // xorl %r13d, %r13d - WORD $0x3145; BYTE $0xc9 // xorl %r9d, %r9d - LONG $0x40f98348 // cmpq $64, %rcx - LONG $0xd04d8948 // movq %rcx, $-48(%rbp) - LONG $0x026d8c0f; WORD $0x0000 // jl LBB28_37, $621(%rip) + 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) -LBB28_31: - LONG $0x026f0ff3 // movdqu (%rdx), %xmm0 - LONG $0x6a6f0ff3; BYTE $0x10 // movdqu $16(%rdx), %xmm5 - LONG $0x7a6f0ff3; BYTE $0x20 // movdqu $32(%rdx), %xmm7 - LONG $0x726f0ff3; BYTE $0x30 // movdqu $48(%rdx), %xmm6 +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 $0xfad70f66 // pmovmskb %xmm2, %edi + LONG $0xd2d70f66 // pmovmskb %xmm2, %edx LONG $0xd56f0f66 // movdqa %xmm5, %xmm2 LONG $0x740f4166; BYTE $0xd2 // pcmpeqb %xmm10, %xmm2 - LONG $0xf2d70f66 // pmovmskb %xmm2, %esi + LONG $0xd70f4466; BYTE $0xca // pmovmskb %xmm2, %r9d LONG $0xd76f0f66 // movdqa %xmm7, %xmm2 LONG $0x740f4166; BYTE $0xd2 // pcmpeqb %xmm10, %xmm2 - LONG $0xcad70f66 // pmovmskb %xmm2, %ecx + LONG $0xdad70f66 // pmovmskb %xmm2, %ebx LONG $0xd66f0f66 // movdqa %xmm6, %xmm2 LONG $0x740f4166; BYTE $0xd2 // pcmpeqb %xmm10, %xmm2 - LONG $0xdad70f66 // pmovmskb %xmm2, %ebx - LONG $0x30e3c148 // shlq $48, %rbx - LONG $0x20e1c148 // shlq $32, %rcx - LONG $0x10e6c148 // shlq $16, %rsi - WORD $0x0948; BYTE $0xf7 // orq %rsi, %rdi - WORD $0x0948; BYTE $0xcf // orq %rcx, %rdi - WORD $0x0948; BYTE $0xdf // orq %rbx, %rdi - WORD $0x8948; BYTE $0xf9 // movq %rdi, %rcx + 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 $0x0044840f; WORD $0x0000 // je LBB28_33, $68(%rip) + 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 $0xf9 // andq %rdi, %rcx - LONG $0x09048d4c // leaq (%rcx,%rcx), %r8 - WORD $0x094d; BYTE $0xd0 // orq %r10, %r8 - WORD $0x894c; BYTE $0xc6 // movq %r8, %rsi + 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 $0x3148; BYTE $0xde // xorq %rbx, %rsi - WORD $0x2148; BYTE $0xdf // andq %rbx, %rdi - WORD $0x2148; BYTE $0xf7 // andq %rsi, %rdi - WORD $0xf631 // xorl %esi, %esi - WORD $0x0148; BYTE $0xcf // addq %rcx, %rdi - LONG $0xc6920f40 // setb %sil - LONG $0xc0758948 // movq %rsi, $-64(%rbp) - WORD $0x0148; BYTE $0xff // addq %rdi, %rdi - WORD $0x314c; BYTE $0xdf // xorq %r11, %rdi - WORD $0x214c; BYTE $0xc7 // andq %r8, %rdi - WORD $0xf748; BYTE $0xd7 // notq %rdi - LONG $0x00000de9; BYTE $0x00 // jmp LBB28_34, $13(%rip) + 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) -LBB28_33: - LONG $0xffc7c748; WORD $0xffff; BYTE $0xff // movq $-1, %rdi +LBB27_61: + LONG $0xffc2c748; WORD $0xffff; BYTE $0xff // movq $-1, %rdx WORD $0xc931 // xorl %ecx, %ecx - LONG $0xc04d8948 // movq %rcx, $-64(%rbp) + LONG $0xc84d8948 // movq %rcx, $-56(%rbp) -LBB28_34: +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 $0xf2d70f66 // pmovmskb %xmm2, %esi - WORD $0x0948; BYTE $0xce // orq %rcx, %rsi + 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 $0xf1 // orq %rsi, %rcx + WORD $0x0948; BYTE $0xd9 // orq %rbx, %rcx LONG $0xd66f0f66 // movdqa %xmm6, %xmm2 LONG $0xd1740f66 // pcmpeqb %xmm1, %xmm2 - LONG $0xf2d70f66 // pmovmskb %xmm2, %esi - LONG $0x30e6c148 // shlq $48, %rsi - WORD $0x0948; BYTE $0xce // orq %rcx, %rsi - WORD $0x2148; BYTE $0xfe // andq %rdi, %rsi - LONG $0x6e0f4866; BYTE $0xd6 // movq %rsi, %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 $0xd0 // movq %xmm2, %r8 - WORD $0x314d; BYTE $0xe0 // xorq %r12, %r8 + 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 $0xd2 // pmovmskb %xmm2, %r10d + LONG $0xd70f4466; BYTE $0xfa // pmovmskb %xmm2, %r15d LONG $0xd56f0f66 // movdqa %xmm5, %xmm2 LONG $0xd3740f66 // pcmpeqb %xmm3, %xmm2 - LONG $0xcad70f66 // pmovmskb %xmm2, %ecx + LONG $0xd70f4466; BYTE $0xe2 // pmovmskb %xmm2, %r12d LONG $0xd76f0f66 // movdqa %xmm7, %xmm2 LONG $0xd3740f66 // pcmpeqb %xmm3, %xmm2 - LONG $0xf2d70f66 // pmovmskb %xmm2, %esi + LONG $0xdad70f66 // pmovmskb %xmm2, %ebx LONG $0xd66f0f66 // movdqa %xmm6, %xmm2 LONG $0xd3740f66 // pcmpeqb %xmm3, %xmm2 - LONG $0xfad70f66 // pmovmskb %xmm2, %edi - LONG $0x30e7c148 // shlq $48, %rdi - LONG $0x20e6c148 // shlq $32, %rsi - LONG $0x10e1c148 // shlq $16, %rcx - WORD $0x0949; BYTE $0xca // orq %rcx, %r10 - WORD $0x0949; BYTE $0xf2 // orq %rsi, %r10 - WORD $0x0949; BYTE $0xfa // orq %rdi, %r10 - WORD $0x894d; BYTE $0xc4 // movq %r8, %r12 - WORD $0xf749; BYTE $0xd4 // notq %r12 - WORD $0x214d; BYTE $0xe2 // andq %r12, %r10 + 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 $0xf8d70f66 // pmovmskb %xmm0, %edi + LONG $0xd70f4466; BYTE $0xe0 // pmovmskb %xmm0, %r12d LONG $0xec740f66 // pcmpeqb %xmm4, %xmm5 - LONG $0xf5d70f66 // pmovmskb %xmm5, %esi + LONG $0xddd70f66 // pmovmskb %xmm5, %ebx LONG $0xfc740f66 // pcmpeqb %xmm4, %xmm7 - LONG $0xdfd70f66 // pmovmskb %xmm7, %ebx + LONG $0xd70f4466; BYTE $0xd7 // pmovmskb %xmm7, %r10d LONG $0xf4740f66 // pcmpeqb %xmm4, %xmm6 - LONG $0xced70f66 // pmovmskb %xmm6, %ecx - LONG $0x30e1c148 // shlq $48, %rcx - LONG $0x20e3c148 // shlq $32, %rbx - LONG $0x10e6c148 // shlq $16, %rsi - WORD $0x0948; BYTE $0xf7 // orq %rsi, %rdi - WORD $0x0948; BYTE $0xdf // orq %rbx, %rdi - WORD $0x0948; BYTE $0xcf // orq %rcx, %rdi - QUAD $0x0f0f0f0f0f0fbb48; WORD $0x0f0f // movabsq $1085102592571150095, %rbx - WORD $0x214c; BYTE $0xe7 // andq %r12, %rdi - LONG $0x005e840f; WORD $0x0000 // je LBB28_29, $94(%rip) - BYTE $0x90 // .p2align 4, 0x90 - -LBB28_35: - LONG $0xff678d4c // leaq $-1(%rdi), %r12 - WORD $0x894c; BYTE $0xe1 // movq %r12, %rcx - WORD $0x214c; BYTE $0xd1 // andq %r10, %rcx - WORD $0x8948; BYTE $0xce // movq %rcx, %rsi - WORD $0xd148; BYTE $0xee // shrq %rsi - WORD $0x214c; BYTE $0xde // andq %r11, %rsi - WORD $0x2948; BYTE $0xf1 // subq %rsi, %rcx - WORD $0x8948; BYTE $0xce // movq %rcx, %rsi - WORD $0x214c; BYTE $0xfe // andq %r15, %rsi - LONG $0x02e9c148 // shrq $2, %rcx - WORD $0x214c; BYTE $0xf9 // andq %r15, %rcx - WORD $0x0148; BYTE $0xf1 // addq %rsi, %rcx - WORD $0x8948; BYTE $0xce // movq %rcx, %rsi - LONG $0x04eec148 // shrq $4, %rsi - WORD $0x0148; BYTE $0xce // addq %rcx, %rsi - WORD $0x2148; BYTE $0xde // andq %rbx, %rsi - QUAD $0x010101010101b948; WORD $0x0101 // movabsq $72340172838076673, %rcx - LONG $0xf1af0f48 // imulq %rcx, %rsi - LONG $0x38eec148 // shrq $56, %rsi - WORD $0x014c; BYTE $0xee // addq %r13, %rsi - WORD $0x394c; BYTE $0xce // cmpq %r9, %rsi - LONG $0x05da860f; WORD $0x0000 // jbe LBB28_79, $1498(%rip) - WORD $0xff49; BYTE $0xc1 // incq %r9 - WORD $0x214c; BYTE $0xe7 // andq %r12, %rdi - LONG $0xffa3850f; WORD $0xffff // jne LBB28_35, $-93(%rip) + 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 -LBB28_29: - LONG $0x3ff8c149 // sarq $63, %r8 - WORD $0x894c; BYTE $0xd1 // movq %r10, %rcx +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 $0xd9 // andq %r11, %rcx - WORD $0x2949; BYTE $0xca // subq %rcx, %r10 - WORD $0x894c; BYTE $0xd1 // movq %r10, %rcx - WORD $0x214c; BYTE $0xf9 // andq %r15, %rcx - LONG $0x02eac149 // shrq $2, %r10 - WORD $0x214d; BYTE $0xfa // andq %r15, %r10 - WORD $0x0149; BYTE $0xca // addq %rcx, %r10 - WORD $0x894c; BYTE $0xd1 // movq %r10, %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 $0x014c; BYTE $0xd1 // addq %r10, %rcx + WORD $0x0148; BYTE $0xd9 // addq %rbx, %rcx + QUAD $0x0f0f0f0f0f0fbb48; WORD $0x0f0f // movabsq $1085102592571150095, %rbx WORD $0x2148; BYTE $0xd9 // andq %rbx, %rcx - QUAD $0x010101010101be48; WORD $0x0101 // movabsq $72340172838076673, %rsi - LONG $0xceaf0f48 // imulq %rsi, %rcx + QUAD $0x010101010101bb48; WORD $0x0101 // movabsq $72340172838076673, %rbx + LONG $0xcbaf0f48 // imulq %rbx, %rcx LONG $0x38e9c148 // shrq $56, %rcx - WORD $0x0149; BYTE $0xcd // addq %rcx, %r13 - LONG $0x40c28348 // addq $64, %rdx - LONG $0xd04d8b48 // movq $-48(%rbp), %rcx - LONG $0xc0c18348 // addq $-64, %rcx - WORD $0x894d; BYTE $0xc4 // movq %r8, %r12 - LONG $0xc0558b4c // movq $-64(%rbp), %r10 - LONG $0x40f98348 // cmpq $64, %rcx - LONG $0xd04d8948 // movq %rcx, $-48(%rbp) - LONG $0xfd938d0f; WORD $0xffff // jge LBB28_31, $-621(%rip) + 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) -LBB28_37: - WORD $0x8548; BYTE $0xc9 // testq %rcx, %rcx - LONG $0x05c48e0f; WORD $0x0000 // jle LBB28_83, $1476(%rip) - WORD $0x894c; BYTE $0xd6 // movq %r10, %rsi - LONG $0x45110f44; BYTE $0xa0 // movups %xmm8, $-96(%rbp) - LONG $0x45110f44; BYTE $0x90 // movups %xmm8, $-112(%rbp) - LONG $0x45110f44; BYTE $0x80 // movups %xmm8, $-128(%rbp) - QUAD $0xffffff7085110f44 // movups %xmm8, $-144(%rbp) - WORD $0xd189 // movl %edx, %ecx - LONG $0x0fffe181; WORD $0x0000 // andl $4095, %ecx - LONG $0x0fc1f981; WORD $0x0000 // cmpl $4033, %ecx - LONG $0x0034820f; WORD $0x0000 // jb LBB28_41, $52(%rip) - LONG $0xd07d8348; BYTE $0x20 // cmpq $32, $-48(%rbp) - LONG $0x0031820f; WORD $0x0000 // jb LBB28_42, $49(%rip) - WORD $0x100f; BYTE $0x02 // movups (%rdx), %xmm0 - LONG $0x7085110f; WORD $0xffff; BYTE $0xff // movups %xmm0, $-144(%rbp) - LONG $0x426f0ff3; BYTE $0x10 // movdqu $16(%rdx), %xmm0 - LONG $0x457f0ff3; BYTE $0x80 // movdqu %xmm0, $-128(%rbp) - LONG $0x20c28348 // addq $32, %rdx - LONG $0xd04d8b48 // movq $-48(%rbp), %rcx - LONG $0xe0518d4c // leaq $-32(%rcx), %r10 - LONG $0x90458d4c // leaq $-112(%rbp), %r8 - LONG $0x000013e9; BYTE $0x00 // jmp LBB28_43, $19(%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) -LBB28_41: - WORD $0x8949; BYTE $0xf2 // movq %rsi, %r10 - LONG $0xfffd20e9; BYTE $0xff // jmp LBB28_31, $-736(%rip) +LBB27_72: + LONG $0x08fa8348 // cmpq $8, %rdx + LONG $0xffcb820f; WORD $0xffff // jb LBB27_73, $-53(%rip) -LBB28_42: - LONG $0x70858d4c; WORD $0xffff; BYTE $0xff // leaq $-144(%rbp), %r8 - LONG $0xd0558b4c // movq $-48(%rbp), %r10 +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) -LBB28_43: - LONG $0x10fa8349 // cmpq $16, %r10 - LONG $0x0049820f; WORD $0x0000 // jb LBB28_44, $73(%rip) - LONG $0x026f0ff3 // movdqu (%rdx), %xmm0 - LONG $0x7f0f41f3; BYTE $0x00 // movdqu %xmm0, (%r8) - LONG $0x10c28348 // addq $16, %rdx - LONG $0x10c08349 // addq $16, %r8 - LONG $0xf0c28349 // addq $-16, %r10 - LONG $0x08fa8349 // cmpq $8, %r10 - LONG $0x0034830f; WORD $0x0000 // jae LBB28_51, $52(%rip) - -LBB28_45: - LONG $0x04fa8349 // cmpq $4, %r10 - LONG $0x00468c0f; WORD $0x0000 // jl LBB28_46, $70(%rip) - -LBB28_52: - WORD $0x0a8b // movl (%rdx), %ecx - WORD $0x8941; BYTE $0x08 // movl %ecx, (%r8) - LONG $0x04c28348 // addq $4, %rdx - LONG $0x04c08349 // addq $4, %r8 - LONG $0xfcc28349 // addq $-4, %r10 - LONG $0x02fa8349 // cmpq $2, %r10 - LONG $0x0035830f; WORD $0x0000 // jae LBB28_47, $53(%rip) - LONG $0x000043e9; BYTE $0x00 // jmp LBB28_48, $67(%rip) - -LBB28_44: - LONG $0x08fa8349 // cmpq $8, %r10 - LONG $0xffcc820f; WORD $0xffff // jb LBB28_45, $-52(%rip) - -LBB28_51: - WORD $0x8b48; BYTE $0x0a // movq (%rdx), %rcx - WORD $0x8949; BYTE $0x08 // movq %rcx, (%r8) - LONG $0x08c28348 // addq $8, %rdx - LONG $0x08c08349 // addq $8, %r8 - LONG $0xf8c28349 // addq $-8, %r10 - LONG $0x04fa8349 // cmpq $4, %r10 - LONG $0xffba8d0f; WORD $0xffff // jge LBB28_52, $-70(%rip) - -LBB28_46: - LONG $0x02fa8349 // cmpq $2, %r10 - LONG $0x0013820f; WORD $0x0000 // jb LBB28_48, $19(%rip) - -LBB28_47: - WORD $0xb70f; BYTE $0x0a // movzwl (%rdx), %ecx - LONG $0x08894166 // movw %cx, (%r8) - LONG $0x02c28348 // addq $2, %rdx - LONG $0x02c08349 // addq $2, %r8 - LONG $0xfec28349 // addq $-2, %r10 +LBB27_74: + LONG $0x02fa8348 // cmpq $2, %rdx + LONG $0x0014820f; WORD $0x0000 // jb LBB27_76, $20(%rip) -LBB28_48: - WORD $0x8948; BYTE $0xd7 // movq %rdx, %rdi - LONG $0x70958d48; WORD $0xffff; BYTE $0xff // leaq $-144(%rbp), %rdx - WORD $0x854d; BYTE $0xd2 // testq %r10, %r10 - WORD $0x8949; BYTE $0xf2 // movq %rsi, %r10 - LONG $0xfc69840f; WORD $0xffff // je LBB28_31, $-919(%rip) - WORD $0x0f8a // movb (%rdi), %cl - WORD $0x8841; BYTE $0x08 // movb %cl, (%r8) - LONG $0x70958d48; WORD $0xffff; BYTE $0xff // leaq $-144(%rbp), %rdx - LONG $0xfffc58e9; BYTE $0xff // jmp LBB28_31, $-936(%rip) - -LBB28_53: - LONG $0x04c28348 // addq $4, %rdx - LONG $0x08563b49 // cmpq $8(%r14), %rdx - LONG $0xfa99860f; WORD $0xffff // jbe LBB28_14, $-1383(%rip) - LONG $0xfffa9be9; BYTE $0xff // jmp LBB28_16, $-1381(%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 -LBB28_54: - LONG $0xb86d894c // movq %r13, $-72(%rbp) - LONG $0xc865894c // movq %r12, $-56(%rbp) - LONG $0x084e8b49 // movq $8(%r14), %rcx - WORD $0x2948; BYTE $0xd1 // subq %rdx, %rcx - WORD $0x0349; BYTE $0x16 // addq (%r14), %rdx - QUAD $0x555555555555bb49; WORD $0x5555 // movabsq $6148914691236517205, %r11 - WORD $0x3145; BYTE $0xe4 // xorl %r12d, %r12d - QUAD $0xfff91a156f0f4466; BYTE $0xff // movdqa $-1766(%rip), %xmm10 /* LCPI28_4(%rip) */ - QUAD $0xfffff9020d6f0f66 // movdqa $-1790(%rip), %xmm1 /* LCPI28_3(%rip) */ +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 $0xfffff9151d6f0f66 // movdqa $-1771(%rip), %xmm3 /* LCPI28_5(%rip) */ - QUAD $0xfffff91d256f0f66 // movdqa $-1763(%rip), %xmm4 /* LCPI28_6(%rip) */ - QUAD $0x333333333333bf49; WORD $0x3333 // movabsq $3689348814741910323, %r15 + 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 $0x3145; BYTE $0xed // xorl %r13d, %r13d - WORD $0x3145; BYTE $0xc9 // xorl %r9d, %r9d - LONG $0x40f98348 // cmpq $64, %rcx - LONG $0xd04d8948 // movq %rcx, $-48(%rbp) - LONG $0x02788c0f; WORD $0x0000 // jl LBB28_63, $632(%rip) + 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) -LBB28_57: - LONG $0x026f0ff3 // movdqu (%rdx), %xmm0 - LONG $0x6a6f0ff3; BYTE $0x10 // movdqu $16(%rdx), %xmm5 - LONG $0x7a6f0ff3; BYTE $0x20 // movdqu $32(%rdx), %xmm7 - LONG $0x726f0ff3; BYTE $0x30 // movdqu $48(%rdx), %xmm6 +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 $0xfad70f66 // pmovmskb %xmm2, %edi + LONG $0xd2d70f66 // pmovmskb %xmm2, %edx LONG $0xd56f0f66 // movdqa %xmm5, %xmm2 LONG $0x740f4166; BYTE $0xd2 // pcmpeqb %xmm10, %xmm2 - LONG $0xdad70f66 // pmovmskb %xmm2, %ebx + LONG $0xd70f4466; BYTE $0xca // pmovmskb %xmm2, %r9d LONG $0xd76f0f66 // movdqa %xmm7, %xmm2 LONG $0x740f4166; BYTE $0xd2 // pcmpeqb %xmm10, %xmm2 - LONG $0xf2d70f66 // pmovmskb %xmm2, %esi + 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 $0x20e6c148 // shlq $32, %rsi - LONG $0x10e3c148 // shlq $16, %rbx - WORD $0x0948; BYTE $0xdf // orq %rbx, %rdi - WORD $0x0948; BYTE $0xf7 // orq %rsi, %rdi - WORD $0x0948; BYTE $0xcf // orq %rcx, %rdi - WORD $0x8948; BYTE $0xf9 // movq %rdi, %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 $0x0044840f; WORD $0x0000 // je LBB28_59, $68(%rip) + 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 $0xf9 // andq %rdi, %rcx - LONG $0x09048d4c // leaq (%rcx,%rcx), %r8 - WORD $0x094d; BYTE $0xd0 // orq %r10, %r8 - WORD $0x894c; BYTE $0xc6 // movq %r8, %rsi + 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 $0x3148; BYTE $0xde // xorq %rbx, %rsi - WORD $0x2148; BYTE $0xdf // andq %rbx, %rdi - WORD $0x2148; BYTE $0xf7 // andq %rsi, %rdi - WORD $0xf631 // xorl %esi, %esi - WORD $0x0148; BYTE $0xcf // addq %rcx, %rdi - LONG $0xc6920f40 // setb %sil - LONG $0xc0758948 // movq %rsi, $-64(%rbp) - WORD $0x0148; BYTE $0xff // addq %rdi, %rdi - WORD $0x314c; BYTE $0xdf // xorq %r11, %rdi - WORD $0x214c; BYTE $0xc7 // andq %r8, %rdi - WORD $0xf748; BYTE $0xd7 // notq %rdi - LONG $0x00000de9; BYTE $0x00 // jmp LBB28_60, $13(%rip) + 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) -LBB28_59: - LONG $0xffc7c748; WORD $0xffff; BYTE $0xff // movq $-1, %rdi +LBB27_88: + LONG $0xffc2c748; WORD $0xffff; BYTE $0xff // movq $-1, %rdx WORD $0xc931 // xorl %ecx, %ecx - LONG $0xc04d8948 // movq %rcx, $-64(%rbp) + LONG $0xc84d8948 // movq %rcx, $-56(%rbp) -LBB28_60: +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 $0xf2d70f66 // pmovmskb %xmm2, %esi - WORD $0x0948; BYTE $0xce // orq %rcx, %rsi + 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 $0xf1 // orq %rsi, %rcx + WORD $0x0948; BYTE $0xd9 // orq %rbx, %rcx LONG $0xd66f0f66 // movdqa %xmm6, %xmm2 LONG $0xd1740f66 // pcmpeqb %xmm1, %xmm2 - LONG $0xf2d70f66 // pmovmskb %xmm2, %esi - LONG $0x30e6c148 // shlq $48, %rsi - WORD $0x0948; BYTE $0xce // orq %rcx, %rsi - WORD $0x2148; BYTE $0xfe // andq %rdi, %rsi - LONG $0x6e0f4866; BYTE $0xd6 // movq %rsi, %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 $0xd0 // movq %xmm2, %r8 - WORD $0x314d; BYTE $0xe0 // xorq %r12, %r8 + 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 $0xd2 // pmovmskb %xmm2, %r10d + LONG $0xd70f4466; BYTE $0xfa // pmovmskb %xmm2, %r15d LONG $0xd56f0f66 // movdqa %xmm5, %xmm2 LONG $0xd3740f66 // pcmpeqb %xmm3, %xmm2 - LONG $0xcad70f66 // pmovmskb %xmm2, %ecx + LONG $0xd70f4466; BYTE $0xe2 // pmovmskb %xmm2, %r12d LONG $0xd76f0f66 // movdqa %xmm7, %xmm2 LONG $0xd3740f66 // pcmpeqb %xmm3, %xmm2 - LONG $0xf2d70f66 // pmovmskb %xmm2, %esi + LONG $0xdad70f66 // pmovmskb %xmm2, %ebx LONG $0xd66f0f66 // movdqa %xmm6, %xmm2 LONG $0xd3740f66 // pcmpeqb %xmm3, %xmm2 - LONG $0xfad70f66 // pmovmskb %xmm2, %edi - LONG $0x30e7c148 // shlq $48, %rdi - LONG $0x20e6c148 // shlq $32, %rsi - LONG $0x10e1c148 // shlq $16, %rcx - WORD $0x0949; BYTE $0xca // orq %rcx, %r10 - WORD $0x0949; BYTE $0xf2 // orq %rsi, %r10 - WORD $0x0949; BYTE $0xfa // orq %rdi, %r10 - WORD $0x894d; BYTE $0xc4 // movq %r8, %r12 - WORD $0xf749; BYTE $0xd4 // notq %r12 - WORD $0x214d; BYTE $0xe2 // andq %r12, %r10 + 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 $0xf8d70f66 // pmovmskb %xmm0, %edi + LONG $0xd70f4466; BYTE $0xe0 // pmovmskb %xmm0, %r12d LONG $0xec740f66 // pcmpeqb %xmm4, %xmm5 - LONG $0xf5d70f66 // pmovmskb %xmm5, %esi + LONG $0xddd70f66 // pmovmskb %xmm5, %ebx LONG $0xfc740f66 // pcmpeqb %xmm4, %xmm7 - LONG $0xdfd70f66 // pmovmskb %xmm7, %ebx + LONG $0xd70f4466; BYTE $0xd7 // pmovmskb %xmm7, %r10d LONG $0xf4740f66 // pcmpeqb %xmm4, %xmm6 - LONG $0xced70f66 // pmovmskb %xmm6, %ecx - LONG $0x30e1c148 // shlq $48, %rcx - LONG $0x20e3c148 // shlq $32, %rbx - LONG $0x10e6c148 // shlq $16, %rsi - WORD $0x0948; BYTE $0xf7 // orq %rsi, %rdi - WORD $0x0948; BYTE $0xdf // orq %rbx, %rdi - WORD $0x0948; BYTE $0xcf // orq %rcx, %rdi - QUAD $0x0f0f0f0f0f0fbb48; WORD $0x0f0f // movabsq $1085102592571150095, %rbx - WORD $0x214c; BYTE $0xe7 // andq %r12, %rdi - LONG $0x0069840f; WORD $0x0000 // je LBB28_55, $105(%rip) + 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 -LBB28_61: - LONG $0xff678d4c // leaq $-1(%rdi), %r12 - WORD $0x894c; BYTE $0xe1 // movq %r12, %rcx - WORD $0x214c; BYTE $0xd1 // andq %r10, %rcx - WORD $0x8948; BYTE $0xce // movq %rcx, %rsi - WORD $0xd148; BYTE $0xee // shrq %rsi - WORD $0x214c; BYTE $0xde // andq %r11, %rsi - WORD $0x2948; BYTE $0xf1 // subq %rsi, %rcx - WORD $0x8948; BYTE $0xce // movq %rcx, %rsi - WORD $0x214c; BYTE $0xfe // andq %r15, %rsi - LONG $0x02e9c148 // shrq $2, %rcx - WORD $0x214c; BYTE $0xf9 // andq %r15, %rcx - WORD $0x0148; BYTE $0xf1 // addq %rsi, %rcx - WORD $0x8948; BYTE $0xce // movq %rcx, %rsi - LONG $0x04eec148 // shrq $4, %rsi - WORD $0x0148; BYTE $0xce // addq %rcx, %rsi - WORD $0x2148; BYTE $0xde // andq %rbx, %rsi - QUAD $0x010101010101b948; WORD $0x0101 // movabsq $72340172838076673, %rcx - LONG $0xf1af0f48 // imulq %rcx, %rsi - LONG $0x38eec148 // shrq $56, %rsi - WORD $0x014c; BYTE $0xee // addq %r13, %rsi - WORD $0x394c; BYTE $0xce // cmpq %r9, %rsi - LONG $0x01aa860f; WORD $0x0000 // jbe LBB28_79, $426(%rip) - WORD $0xff49; BYTE $0xc1 // incq %r9 - WORD $0x214c; BYTE $0xe7 // andq %r12, %rdi - LONG $0xffa3850f; WORD $0xffff // jne LBB28_61, $-93(%rip) - -LBB28_55: - LONG $0x3ff8c149 // sarq $63, %r8 - WORD $0x894c; BYTE $0xd1 // movq %r10, %rcx +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 $0xd9 // andq %r11, %rcx - WORD $0x2949; BYTE $0xca // subq %rcx, %r10 - WORD $0x894c; BYTE $0xd1 // movq %r10, %rcx - WORD $0x214c; BYTE $0xf9 // andq %r15, %rcx - LONG $0x02eac149 // shrq $2, %r10 - WORD $0x214d; BYTE $0xfa // andq %r15, %r10 - WORD $0x0149; BYTE $0xca // addq %rcx, %r10 - WORD $0x894c; BYTE $0xd1 // movq %r10, %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 $0x014c; BYTE $0xd1 // addq %r10, %rcx + WORD $0x0148; BYTE $0xd9 // addq %rbx, %rcx + QUAD $0x0f0f0f0f0f0fbb48; WORD $0x0f0f // movabsq $1085102592571150095, %rbx WORD $0x2148; BYTE $0xd9 // andq %rbx, %rcx - QUAD $0x010101010101be48; WORD $0x0101 // movabsq $72340172838076673, %rsi - LONG $0xceaf0f48 // imulq %rsi, %rcx + QUAD $0x010101010101bb48; WORD $0x0101 // movabsq $72340172838076673, %rbx + LONG $0xcbaf0f48 // imulq %rbx, %rcx LONG $0x38e9c148 // shrq $56, %rcx - WORD $0x0149; BYTE $0xcd // addq %rcx, %r13 - LONG $0x40c28348 // addq $64, %rdx - LONG $0xd04d8b48 // movq $-48(%rbp), %rcx - LONG $0xc0c18348 // addq $-64, %rcx - WORD $0x894d; BYTE $0xc4 // movq %r8, %r12 - LONG $0xc0558b4c // movq $-64(%rbp), %r10 - LONG $0x40f98348 // cmpq $64, %rcx - LONG $0xd04d8948 // movq %rcx, $-48(%rbp) - LONG $0xfd888d0f; WORD $0xffff // jge LBB28_57, $-632(%rip) - -LBB28_63: - WORD $0x8548; BYTE $0xc9 // testq %rcx, %rcx - LONG $0x01948e0f; WORD $0x0000 // jle LBB28_83, $404(%rip) - WORD $0x894c; BYTE $0xd6 // movq %r10, %rsi - LONG $0x45110f44; BYTE $0xa0 // movups %xmm8, $-96(%rbp) - LONG $0x45110f44; BYTE $0x90 // movups %xmm8, $-112(%rbp) - LONG $0x45110f44; BYTE $0x80 // movups %xmm8, $-128(%rbp) - QUAD $0xffffff7085110f44 // movups %xmm8, $-144(%rbp) - WORD $0xd189 // movl %edx, %ecx - LONG $0x0fffe181; WORD $0x0000 // andl $4095, %ecx - LONG $0x0fc1f981; WORD $0x0000 // cmpl $4033, %ecx - LONG $0x0034820f; WORD $0x0000 // jb LBB28_67, $52(%rip) - LONG $0xd07d8348; BYTE $0x20 // cmpq $32, $-48(%rbp) - LONG $0x0031820f; WORD $0x0000 // jb LBB28_68, $49(%rip) - WORD $0x100f; BYTE $0x02 // movups (%rdx), %xmm0 - LONG $0x7085110f; WORD $0xffff; BYTE $0xff // movups %xmm0, $-144(%rbp) - LONG $0x426f0ff3; BYTE $0x10 // movdqu $16(%rdx), %xmm0 - LONG $0x457f0ff3; BYTE $0x80 // movdqu %xmm0, $-128(%rbp) - LONG $0x20c28348 // addq $32, %rdx - LONG $0xd04d8b48 // movq $-48(%rbp), %rcx - LONG $0xe0518d4c // leaq $-32(%rcx), %r10 - LONG $0x90458d4c // leaq $-112(%rbp), %r8 - LONG $0x000013e9; BYTE $0x00 // jmp LBB28_69, $19(%rip) - -LBB28_67: - WORD $0x8949; BYTE $0xf2 // movq %rsi, %r10 - LONG $0xfffd15e9; BYTE $0xff // jmp LBB28_57, $-747(%rip) - -LBB28_68: - LONG $0x70858d4c; WORD $0xffff; BYTE $0xff // leaq $-144(%rbp), %r8 - LONG $0xd0558b4c // movq $-48(%rbp), %r10 + 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) -LBB28_69: - LONG $0x10fa8349 // cmpq $16, %r10 - LONG $0x0049820f; WORD $0x0000 // jb LBB28_70, $73(%rip) - LONG $0x026f0ff3 // movdqu (%rdx), %xmm0 - LONG $0x7f0f41f3; BYTE $0x00 // movdqu %xmm0, (%r8) - LONG $0x10c28348 // addq $16, %rdx +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 $0xf0c28349 // addq $-16, %r10 - LONG $0x08fa8349 // cmpq $8, %r10 - LONG $0x0034830f; WORD $0x0000 // jae LBB28_77, $52(%rip) - -LBB28_71: - LONG $0x04fa8349 // cmpq $4, %r10 - LONG $0x00468c0f; WORD $0x0000 // jl LBB28_72, $70(%rip) - -LBB28_78: - WORD $0x0a8b // movl (%rdx), %ecx - WORD $0x8941; BYTE $0x08 // movl %ecx, (%r8) - LONG $0x04c28348 // addq $4, %rdx + 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 $0xfcc28349 // addq $-4, %r10 - LONG $0x02fa8349 // cmpq $2, %r10 - LONG $0x0035830f; WORD $0x0000 // jae LBB28_73, $53(%rip) - LONG $0x000043e9; BYTE $0x00 // jmp LBB28_74, $67(%rip) + 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) -LBB28_70: - LONG $0x08fa8349 // cmpq $8, %r10 - LONG $0xffcc820f; WORD $0xffff // jb LBB28_71, $-52(%rip) +LBB27_99: + LONG $0x08fa8348 // cmpq $8, %rdx + LONG $0xffcb820f; WORD $0xffff // jb LBB27_100, $-53(%rip) -LBB28_77: - WORD $0x8b48; BYTE $0x0a // movq (%rdx), %rcx - WORD $0x8949; BYTE $0x08 // movq %rcx, (%r8) - LONG $0x08c28348 // addq $8, %rdx +LBB27_106: + WORD $0x8b49; BYTE $0x08 // movq (%r8), %rcx + WORD $0x8949; BYTE $0x09 // movq %rcx, (%r9) LONG $0x08c08349 // addq $8, %r8 - LONG $0xf8c28349 // addq $-8, %r10 - LONG $0x04fa8349 // cmpq $4, %r10 - LONG $0xffba8d0f; WORD $0xffff // jge LBB28_78, $-70(%rip) - -LBB28_72: - LONG $0x02fa8349 // cmpq $2, %r10 - LONG $0x0013820f; WORD $0x0000 // jb LBB28_74, $19(%rip) + LONG $0x08c18349 // addq $8, %r9 + LONG $0xf8c28348 // addq $-8, %rdx + LONG $0x04fa8348 // cmpq $4, %rdx + LONG $0xffb98d0f; WORD $0xffff // jge LBB27_107, $-71(%rip) -LBB28_73: - WORD $0xb70f; BYTE $0x0a // movzwl (%rdx), %ecx - LONG $0x08894166 // movw %cx, (%r8) - LONG $0x02c28348 // addq $2, %rdx - LONG $0x02c08349 // addq $2, %r8 - LONG $0xfec28349 // addq $-2, %r10 +LBB27_101: + LONG $0x02fa8348 // cmpq $2, %rdx + LONG $0x0014820f; WORD $0x0000 // jb LBB27_103, $20(%rip) -LBB28_74: - WORD $0x8948; BYTE $0xd7 // movq %rdx, %rdi - LONG $0x70958d48; WORD $0xffff; BYTE $0xff // leaq $-144(%rbp), %rdx - WORD $0x854d; BYTE $0xd2 // testq %r10, %r10 - WORD $0x8949; BYTE $0xf2 // movq %rsi, %r10 - LONG $0xfc5e840f; WORD $0xffff // je LBB28_57, $-930(%rip) - WORD $0x0f8a // movb (%rdi), %cl - WORD $0x8841; BYTE $0x08 // movb %cl, (%r8) - LONG $0x70958d48; WORD $0xffff; BYTE $0xff // leaq $-144(%rbp), %rdx - LONG $0xfffc4de9; BYTE $0xff // jmp LBB28_57, $-947(%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 -LBB28_79: - LONG $0x08468b49 // movq $8(%r14), %rax - LONG $0xcfbc0f48 // bsfq %rdi, %rcx +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 - LONG $0xc8558b48 // movq $-56(%rbp), %rdx - WORD $0x8948; BYTE $0x02 // movq %rax, (%rdx) - LONG $0x084e8b49 // movq $8(%r14), %rcx + 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 $0x02 // movq %rax, (%rdx) + WORD $0x8948; BYTE $0x06 // movq %rax, (%rsi) LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - LONG $0xb84d8b48 // movq $-72(%rbp), %rcx - LONG $0xc8470f48 // cmovaq %rax, %rcx - WORD $0x8948; BYTE $0xc8 // movq %rcx, %rax - LONG $0xfff641e9; BYTE $0xff // jmp LBB28_16, $-2495(%rip) + LONG $0xf0470f4c // cmovaq %rax, %r14 + LONG $0xfff607e9; BYTE $0xff // jmp LBB27_43, $-2553(%rip) -LBB28_82: - WORD $0x2948; BYTE $0xc2 // subq %rax, %rdx - LONG $0xfff632e9; BYTE $0xff // jmp LBB28_14, $-2510(%rip) - -LBB28_25: - WORD $0x854d; BYTE $0xf6 // testq %r14, %r14 - LONG $0x0024850f; WORD $0x0000 // jne LBB28_84, $36(%rip) - WORD $0x0149; BYTE $0xd3 // addq %rdx, %r11 - WORD $0x2949; BYTE $0xd1 // subq %rdx, %r9 - -LBB28_27: - WORD $0x854d; BYTE $0xc9 // testq %r9, %r9 - LONG $0x00568f0f; WORD $0x0000 // jg LBB28_88, $86(%rip) - LONG $0xfff61ce9; BYTE $0xff // jmp LBB28_16, $-2532(%rip) - -LBB28_83: - LONG $0x084e8b49 // movq $8(%r14), %rcx - LONG $0xc8558b48 // movq $-56(%rbp), %rdx - WORD $0x8948; BYTE $0x0a // movq %rcx, (%rdx) - LONG $0xfff60ce9; BYTE $0xff // jmp LBB28_16, $-2548(%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 -LBB28_84: - WORD $0x3949; BYTE $0xd1 // cmpq %rdx, %r9 - LONG $0xf603840f; WORD $0xffff // je LBB28_16, $-2557(%rip) - LONG $0x135c8d4d; BYTE $0x01 // leaq $1(%r11,%rdx), %r11 - WORD $0xf748; BYTE $0xd2 // notq %rdx - WORD $0x0149; BYTE $0xd1 // addq %rdx, %r9 - WORD $0x854d; BYTE $0xc9 // testq %r9, %r9 - LONG $0x00248f0f; WORD $0x0000 // jg LBB28_88, $36(%rip) - LONG $0xfff5eae9; BYTE $0xff // jmp LBB28_16, $-2582(%rip) +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) -LBB28_86: +LBB27_110: LONG $0xfec1c748; WORD $0xffff; BYTE $0xff // movq $-2, %rcx LONG $0x000002b8; BYTE $0x00 // movl $2, %eax - WORD $0x0149; BYTE $0xc3 // addq %rax, %r11 + WORD $0x0148; BYTE $0xc3 // addq %rax, %rbx LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - WORD $0x0149; BYTE $0xc9 // addq %rcx, %r9 - LONG $0xf5cb8e0f; WORD $0xffff // jle LBB28_16, $-2613(%rip) + WORD $0x0149; BYTE $0xcf // addq %rcx, %r15 + LONG $0xf5c98e0f; WORD $0xffff // jle LBB27_44, $-2615(%rip) -LBB28_88: - LONG $0x03b60f41 // movzbl (%r11), %eax +LBB27_112: + WORD $0xb60f; BYTE $0x03 // movzbl (%rbx), %eax WORD $0x5c3c // cmpb $92, %al - LONG $0xffd5840f; WORD $0xffff // je LBB28_86, $-43(%rip) + LONG $0xffd6840f; WORD $0xffff // je LBB27_110, $-42(%rip) WORD $0x223c // cmpb $34, %al - LONG $0xf6e8840f; WORD $0xffff // je LBB28_81, $-2328(%rip) + 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 $0x0149; BYTE $0xc3 // addq %rax, %r11 + WORD $0x0148; BYTE $0xc3 // addq %rax, %rbx LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - WORD $0x0149; BYTE $0xc9 // addq %rcx, %r9 - LONG $0xffcd8f0f; WORD $0xffff // jg LBB28_88, $-51(%rip) - LONG $0xfff593e9; BYTE $0xff // jmp LBB28_16, $-2669(%rip) - WORD $0x9090 // .p2align 2, 0x90 + 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) - // .set L28_0_set_16, LBB28_16-LJTI28_0 - // .set L28_0_set_18, LBB28_18-LJTI28_0 - // .set L28_0_set_19, LBB28_19-LJTI28_0 - // .set L28_0_set_2, LBB28_2-LJTI28_0 - // .set L28_0_set_28, LBB28_28-LJTI28_0 - // .set L28_0_set_53, LBB28_53-LJTI28_0 - // .set L28_0_set_17, LBB28_17-LJTI28_0 - // .set L28_0_set_54, LBB28_54-LJTI28_0 -LJTI28_0: - LONG $0xfffff591 // .long L28_0_set_16 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5c3 // .long L28_0_set_19 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff4c9 // .long L28_0_set_2 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff4c9 // .long L28_0_set_2 - LONG $0xfffff4c9 // .long L28_0_set_2 - LONG $0xfffff4c9 // .long L28_0_set_2 - LONG $0xfffff4c9 // .long L28_0_set_2 - LONG $0xfffff4c9 // .long L28_0_set_2 - LONG $0xfffff4c9 // .long L28_0_set_2 - LONG $0xfffff4c9 // .long L28_0_set_2 - LONG $0xfffff4c9 // .long L28_0_set_2 - LONG $0xfffff4c9 // .long L28_0_set_2 - LONG $0xfffff4c9 // .long L28_0_set_2 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff6d1 // .long L28_0_set_28 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffffae3 // .long L28_0_set_53 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5a0 // .long L28_0_set_17 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5a0 // .long L28_0_set_17 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffff5b3 // .long L28_0_set_18 - LONG $0xfffffaf6 // .long L28_0_set_54 - QUAD $0x0000000000000000 // .p2align 4, 0x00 +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) -LCPI29_0: +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 @@ -7644,558 +7647,1209 @@ LCPI29_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 $0xf6 // movq %rsi, %r14 - WORD $0x8949; BYTE $0xfd // movq %rdi, %r13 - LONG $0x08428b48 // movq $8(%rdx), %rax - WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x0681840f; WORD $0x0000 // je LBB29_83, $1665(%rip) - WORD $0x8b4c; BYTE $0x3a // movq (%rdx), %r15 - LONG $0x04e0c148 // shlq $4, %rax - WORD $0x014c; BYTE $0xf8 // addq %r15, %rax - LONG $0xb04d8948 // movq %rcx, $-80(%rbp) - LONG $0xb8458948 // movq %rax, $-72(%rbp) + 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) -LBB29_2: - LONG $0x007d8b49 // movq (%r13), %rdi - LONG $0x08758b49 // movq $8(%r13), %rsi - WORD $0x894c; BYTE $0xf2 // movq %r14, %rdx - LONG $0xffd03ae8; BYTE $0xff // callq _advance_ns, $-12230(%rip) - WORD $0x8b49; BYTE $0x0f // movq (%r15), %rcx - WORD $0x8548; BYTE $0xc9 // testq %rcx, %rcx - LONG $0x06ac840f; WORD $0x0000 // je LBB29_89, $1708(%rip) - WORD $0x498a; BYTE $0x17 // movb $23(%rcx), %cl - WORD $0xe180; BYTE $0x1f // andb $31, %cl - WORD $0xf980; BYTE $0x02 // cmpb $2, %cl - LONG $0x05af840f; WORD $0x0000 // je LBB29_76, $1455(%rip) - WORD $0xf980; BYTE $0x18 // cmpb $24, %cl - LONG $0x0694850f; WORD $0x0000 // jne LBB29_89, $1684(%rip) - WORD $0x7b3c // cmpb $123, %al - LONG $0xc87d894c // movq %r15, $-56(%rbp) - LONG $0x066f850f; WORD $0x0000 // jne LBB29_87, $1647(%rip) - QUAD $0x9090909090909090; WORD $0x9090 // .p2align 4, 0x90 +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 -LBB29_6: - LONG $0x007d8b49 // movq (%r13), %rdi - LONG $0x08758b49 // movq $8(%r13), %rsi - WORD $0x894c; BYTE $0xf2 // movq %r14, %rdx - LONG $0xffcff0e8; BYTE $0xff // callq _advance_ns, $-12304(%rip) - WORD $0x223c // cmpb $34, %al - LONG $0x062e850f; WORD $0x0000 // jne LBB29_84, $1582(%rip) - LONG $0x08478b49 // movq $8(%r15), %rax - WORD $0x894c; BYTE $0xf3 // movq %r14, %rbx +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 $0xffffffffc045c748 // movq $-1, $-64(%rbp) - WORD $0x8b4c; BYTE $0x23 // movq (%rbx), %r12 - WORD $0x894c; BYTE $0xef // movq %r13, %rdi - WORD $0x894c; BYTE $0xe6 // movq %r12, %rsi - LONG $0xc0558d48 // leaq $-64(%rbp), %rdx - LONG $0x001e10e8; BYTE $0x00 // callq _advance_string_default, $7696(%rip) + 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 $0x0644880f; WORD $0x0000 // js LBB29_90, $1604(%rip) - WORD $0x8949; BYTE $0xd8 // movq %rbx, %r8 - WORD $0x8948; BYTE $0x03 // movq %rax, (%rbx) - LONG $0xc04d8b48 // movq $-64(%rbp), %rcx + 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 LBB29_10, $9(%rip) + LONG $0x0009840f; WORD $0x0000 // je LBB28_64, $9(%rip) WORD $0x3948; BYTE $0xc1 // cmpq %rax, %rcx - LONG $0x014c8e0f; WORD $0x0000 // jle LBB29_29, $332(%rip) + LONG $0x01418e0f; WORD $0x0000 // jle LBB28_84, $321(%rip) -LBB29_10: - WORD $0x894c; BYTE $0xe1 // movq %r12, %rcx - WORD $0xf748; BYTE $0xd1 // notq %rcx - WORD $0x0148; BYTE $0xc8 // addq %rcx, %rax - LONG $0x000001bb; BYTE $0x00 // movl $1, %ebx - WORD $0x8948; BYTE $0xc1 // movq %rax, %rcx - WORD $0x094c; BYTE $0xf9 // orq %r15, %rcx - LONG $0x00e2840f; WORD $0x0000 // je LBB29_25, $226(%rip) - WORD $0x394c; BYTE $0xf8 // cmpq %r15, %rax - LONG $0x00d7850f; WORD $0x0000 // jne LBB29_24, $215(%rip) - LONG $0x0065034d // addq (%r13), %r12 - LONG $0x10ff8349 // cmpq $16, %r15 - LONG $0x003c820f; WORD $0x0000 // jb LBB29_15, $60(%rip) - QUAD $0x9090909090909090; BYTE $0x90 // .p2align 4, 0x90 +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 -LBB29_13: - LONG $0x6f0f41f3; WORD $0x2404 // movdqu (%r12), %xmm0 +LBB28_67: + LONG $0x036f0ff3 // movdqu (%rbx), %xmm0 LONG $0x6f0f41f3; BYTE $0x0e // movdqu (%r14), %xmm1 LONG $0xc8740f66 // pcmpeqb %xmm0, %xmm1 - LONG $0xc1d70f66 // pmovmskb %xmm1, %eax - LONG $0xfff88366 // cmpw $-1, %ax - LONG $0x00a3850f; WORD $0x0000 // jne LBB29_24, $163(%rip) - LONG $0x10c48349 // addq $16, %r12 + 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 $0xffcd870f; WORD $0xffff // ja LBB29_13, $-51(%rip) + LONG $0xffcf870f; WORD $0xffff // ja LBB28_67, $-49(%rip) -LBB29_15: - WORD $0x8944; BYTE $0xf0 // movl %r14d, %eax - LONG $0x000fff25; BYTE $0x00 // andl $4095, %eax - LONG $0x000ff03d; BYTE $0x00 // cmpl $4080, %eax - LONG $0x0046870f; WORD $0x0000 // ja LBB29_19, $70(%rip) - WORD $0x8944; BYTE $0xe0 // movl %r12d, %eax - LONG $0x000fff25; BYTE $0x00 // andl $4095, %eax - LONG $0x000ff13d; BYTE $0x00 // cmpl $4081, %eax - LONG $0x0033830f; WORD $0x0000 // jae LBB29_19, $51(%rip) - LONG $0x6f0f41f3; WORD $0x2404 // movdqu (%r12), %xmm0 +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 $0xc1d70f66 // pmovmskb %xmm1, %eax - LONG $0xfff88366 // cmpw $-1, %ax - WORD $0x940f; BYTE $0xc1 // sete %cl - WORD $0xd0f7 // notl %eax - WORD $0xb70f; BYTE $0xc0 // movzwl %ax, %eax - LONG $0xc0bc0f48 // bsfq %rax, %rax - WORD $0x394c; BYTE $0xf8 // cmpq %r15, %rax - WORD $0x930f; BYTE $0xc0 // setae %al - WORD $0xc808 // orb %cl, %al - WORD $0xb60f; BYTE $0xd8 // movzbl %al, %ebx - LONG $0x000036e9; BYTE $0x00 // jmp LBB29_25, $54(%rip) + 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) -LBB29_19: +LBB28_73: WORD $0x854d; BYTE $0xff // testq %r15, %r15 - LONG $0x002d840f; WORD $0x0000 // je LBB29_25, $45(%rip) - WORD $0xc031 // xorl %eax, %eax + LONG $0x002e840f; WORD $0x0000 // je LBB28_79, $46(%rip) + WORD $0xd231 // xorl %edx, %edx QUAD $0x9090909090909090; BYTE $0x90 // .p2align 4, 0x90 -LBB29_21: - LONG $0x0cb60f41; BYTE $0x04 // movzbl (%r12,%rax), %ecx - LONG $0x060c3a41 // cmpb (%r14,%rax), %cl - LONG $0x0011850f; WORD $0x0000 // jne LBB29_24, $17(%rip) - WORD $0xff48; BYTE $0xc0 // incq %rax - WORD $0x3949; BYTE $0xc7 // cmpq %rax, %r15 - LONG $0xffe5850f; WORD $0xffff // jne LBB29_21, $-27(%rip) - LONG $0x000002e9; BYTE $0x00 // jmp LBB29_25, $2(%rip) - - // .p2align 4, 0x90 -LBB29_24: - WORD $0xdb31 // xorl %ebx, %ebx +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 -LBB29_25: - LONG $0x007d8b49 // movq (%r13), %rdi +LBB28_78: + WORD $0x3145; BYTE $0xd2 // xorl %r10d, %r10d -LBB29_26: - WORD $0x894d; BYTE $0xc6 // movq %r8, %r14 - LONG $0xc87d8b4c // movq $-56(%rbp), %r15 - LONG $0x08758b49 // movq $8(%r13), %rsi - WORD $0x894c; BYTE $0xc2 // movq %r8, %rdx - LONG $0xffce87e8; BYTE $0xff // callq _advance_ns, $-12665(%rip) - WORD $0x3a3c // cmpb $58, %al - LONG $0x04e4850f; WORD $0x0000 // jne LBB29_87, $1252(%rip) - WORD $0x8548; BYTE $0xdb // testq %rbx, %rbx - LONG $0x0486850f; WORD $0x0000 // jne LBB29_82, $1158(%rip) - WORD $0x894c; BYTE $0xef // movq %r13, %rdi - WORD $0x894c; BYTE $0xf6 // movq %r14, %rsi - LONG $0xfff05be8; BYTE $0xff // callq _skip_one_fast, $-4005(%rip) - LONG $0x007d8b49 // movq (%r13), %rdi - LONG $0x08758b49 // movq $8(%r13), %rsi - WORD $0x894c; BYTE $0xf2 // movq %r14, %rdx - LONG $0xffce5be8; BYTE $0xff // callq _advance_ns, $-12709(%rip) - WORD $0x2c3c // cmpb $44, %al - LONG $0xfe53840f; WORD $0xffff // je LBB29_6, $-429(%rip) - LONG $0x000494e9; BYTE $0x00 // jmp LBB29_84, $1172(%rip) +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) -LBB29_29: - QUAD $0x00000000d045c748 // movq $0, $-48(%rbp) - LONG $0x007d8b49 // movq (%r13), %rdi - WORD $0x0149; BYTE $0xfc // addq %rdi, %r12 - LONG $0x07748d48; BYTE $0xff // leaq $-1(%rdi,%rax), %rsi - LONG $0x3e148d4f // leaq (%r14,%r15), %r10 - WORD $0x854d; BYTE $0xff // testq %r15, %r15 - LONG $0x039a8e0f; WORD $0x0000 // jle LBB29_74, $922(%rip) - WORD $0x394c; BYTE $0xe6 // cmpq %r12, %rsi - LONG $0x0391860f; WORD $0x0000 // jbe LBB29_74, $913(%rip) - LONG $0x8d3d8d4c; WORD $0x0094; BYTE $0x00 // leaq $38029(%rip), %r15 /* __UnquoteTab(%rip) */ - LONG $0xd05d8d48 // leaq $-48(%rbp), %rbx +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) -LBB29_32: - LONG $0x24048a41 // movb (%r12), %al - WORD $0x5c3c // cmpb $92, %al - LONG $0x0053850f; WORD $0x0000 // jne LBB29_37, $83(%rip) - WORD $0x8948; BYTE $0xf1 // movq %rsi, %rcx - WORD $0x294c; BYTE $0xe1 // subq %r12, %rcx - LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - WORD $0x8548; BYTE $0xc9 // testq %rcx, %rcx - LONG $0x04b98e0f; WORD $0x0000 // jle LBB29_94, $1209(%rip) - LONG $0x54b60f41; WORD $0x0124 // movzbl $1(%r12), %edx - LONG $0x3a1c8a46 // movb (%rdx,%r15), %r11b - LONG $0xfffb8041 // cmpb $-1, %r11b - LONG $0x003d840f; WORD $0x0000 // je LBB29_39, $61(%rip) - WORD $0x8445; BYTE $0xdb // testb %r11b, %r11b - LONG $0x048a840f; WORD $0x0000 // je LBB29_92, $1162(%rip) - LONG $0xd05d8844 // movb %r11b, $-48(%rbp) - LONG $0x02c48349 // addq $2, %r12 - LONG $0x000001b9; BYTE $0x00 // movl $1, %ecx - LONG $0x0d4c8d4c; BYTE $0xd0 // leaq $-48(%rbp,%rcx), %r9 - WORD $0x394d; BYTE $0xd6 // cmpq %r10, %r14 - LONG $0x013f820f; WORD $0x0000 // jb LBB29_49, $319(%rip) - LONG $0x000309e9; BYTE $0x00 // jmp LBB29_70, $777(%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) -LBB29_37: - WORD $0x3a41; BYTE $0x06 // cmpb (%r14), %al - LONG $0x0331850f; WORD $0x0000 // jne LBB29_75, $817(%rip) - WORD $0xff49; BYTE $0xc4 // incq %r12 +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 $0x000301e9; BYTE $0x00 // jmp LBB29_72, $769(%rip) + LONG $0x0002e3e9; BYTE $0x00 // jmp LBB28_112, $739(%rip) -LBB29_39: - LONG $0x03f98348 // cmpq $3, %rcx - LONG $0x045b8e0f; WORD $0x0000 // jle LBB29_93, $1115(%rip) - WORD $0x894c; BYTE $0xfb // movq %r15, %rbx - WORD $0x8949; BYTE $0xf7 // movq %rsi, %r15 - LONG $0x24448b41; BYTE $0x02 // movl $2(%r12), %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 $0x0419850f; WORD $0x0000 // jne LBB29_91, $1049(%rip) - LONG $0x1919b08d; WORD $0x1919 // leal $421075225(%rax), %esi - WORD $0xc609 // orl %eax, %esi - LONG $0x8080c6f7; WORD $0x8080 // testl $-2139062144, %esi - LONG $0x0405850f; WORD $0x0000 // jne LBB29_91, $1029(%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 $0x03e1850f; WORD $0x0000 // jne LBB29_91, $993(%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 $0x03c7850f; WORD $0x0000 // jne LBB29_91, $967(%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 +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 $0xc3b60f41 // movzbl %r11b, %eax - WORD $0xf009 // orl %esi, %eax - LONG $0x244c8d4d; BYTE $0x06 // leaq $6(%r12), %r9 - WORD $0xf883; BYTE $0x7f // cmpl $127, %eax - LONG $0x00bd860f; WORD $0x0000 // jbe LBB29_58, $189(%rip) - LONG $0x0007ff3d; BYTE $0x00 // cmpl $2047, %eax - LONG $0x00c0860f; WORD $0x0000 // jbe LBB29_59, $192(%rip) - WORD $0x8944; BYTE $0xda // movl %r11d, %edx - LONG $0x0000e281; WORD $0x00f8 // andl $16252928, %edx - LONG $0x0000fa81; WORD $0x00d8 // cmpl $14155776, %edx - LONG $0x00cc840f; WORD $0x0000 // je LBB29_60, $204(%rip) + 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 $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 + 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 -LBB29_48: - WORD $0x894d; BYTE $0xcc // movq %r9, %r12 - WORD $0x894c; BYTE $0xfe // movq %r15, %rsi - WORD $0x8949; BYTE $0xdf // movq %rbx, %r15 - LONG $0xd05d8d48 // leaq $-48(%rbp), %rbx - LONG $0x0d4c8d4c; BYTE $0xd0 // leaq $-48(%rbp,%rcx), %r9 - WORD $0x394d; BYTE $0xd6 // cmpq %r10, %r14 - LONG $0x01cf830f; WORD $0x0000 // jae LBB29_70, $463(%rip) - -LBB29_49: - WORD $0x3949; BYTE $0xd9 // cmpq %rbx, %r9 - LONG $0x01c6860f; WORD $0x0000 // jbe LBB29_70, $454(%rip) - WORD $0x3845; BYTE $0x1e // cmpb %r11b, (%r14) - LONG $0x01bd850f; WORD $0x0000 // jne LBB29_70, $445(%rip) - WORD $0x8949; BYTE $0xdb // movq %rbx, %r11 - WORD $0x8948; BYTE $0xf3 // movq %rsi, %rbx +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 $0xd1558d48 // leaq $-47(%rbp), %rdx - WORD $0x894c; BYTE $0xf6 // movq %r14, %rsi + LONG $0xc9758d48 // leaq $-55(%rbp), %rsi + WORD $0x894c; BYTE $0xf7 // movq %r14, %rdi + LONG $0xd07d8b4c // movq $-48(%rbp), %r15 -LBB29_52: - WORD $0x8949; BYTE $0xf6 // movq %rsi, %r14 - WORD $0x8948; BYTE $0xd1 // movq %rdx, %rcx - WORD $0x394c; BYTE $0xca // cmpq %r9, %rdx - LONG $0x001d830f; WORD $0x0000 // jae LBB29_55, $29(%rip) - WORD $0x394d; BYTE $0xd6 // cmpq %r10, %r14 - LONG $0x0014830f; WORD $0x0000 // jae LBB29_55, $20(%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_52, $-44(%rip) - -LBB29_55: - WORD $0x8948; BYTE $0xde // movq %rbx, %rsi - WORD $0x894c; BYTE $0xdb // movq %r11, %rbx - LONG $0x000179e9; BYTE $0x00 // jmp LBB29_71, $377(%rip) - -LBB29_58: - LONG $0xd05d8844 // movb %r11b, $-48(%rbp) - LONG $0x000001b9; BYTE $0x00 // movl $1, %ecx - LONG $0xffff7ee9; BYTE $0xff // jmp LBB29_48, $-130(%rip) - -LBB29_59: - 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 $0xffff5de9; BYTE $0xff // jmp LBB29_48, $-163(%rip) - -LBB29_60: - LONG $0x06f98348 // cmpq $6, %rcx - LONG $0x02c78c0f; WORD $0x0000 // jl LBB29_96, $711(%rip) - LONG $0x00dbff3d; BYTE $0x00 // cmpl $56319, %eax - LONG $0x02bc870f; WORD $0x0000 // ja LBB29_96, $700(%rip) - LONG $0x5c398041 // cmpb $92, (%r9) - LONG $0x02b2850f; WORD $0x0000 // jne LBB29_96, $690(%rip) - LONG $0x247c8041; WORD $0x7507 // cmpb $117, $7(%r12) - LONG $0x02a6850f; WORD $0x0000 // jne LBB29_96, $678(%rip) - LONG $0x244c8d4d; BYTE $0x08 // leaq $8(%r12), %r9 - LONG $0x244c8b41; BYTE $0x08 // movl $8(%r12), %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 $0x0278850f; WORD $0x0000 // jne LBB29_95, $632(%rip) - LONG $0x1919b18d; WORD $0x1919 // leal $421075225(%rcx), %esi - WORD $0xce09 // orl %ecx, %esi +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 $0x0264850f; WORD $0x0000 // jne LBB29_95, $612(%rip) - WORD $0xce89 // movl %ecx, %esi + LONG $0x06c3850f; WORD $0x0000 // jne LBB28_257, $1731(%rip) + WORD $0xd689 // movl %edx, %esi LONG $0x7f7fe681; WORD $0x7f7f // andl $2139062143, %esi - LONG $0xc0c0bb41; WORD $0xc0c0 // movl $-1061109568, %r11d - WORD $0x2941; BYTE $0xf3 // subl %esi, %r11d - LONG $0x46469e8d; WORD $0x4646 // leal $1179010630(%rsi), %ebx - WORD $0x2141; BYTE $0xd3 // andl %edx, %r11d - WORD $0x8541; BYTE $0xdb // testl %ebx, %r11d - LONG $0x0241850f; WORD $0x0000 // jne LBB29_95, $577(%rip) - LONG $0xe0e0bb41; WORD $0xe0e0 // movl $-522133280, %r11d - WORD $0x2941; BYTE $0xf3 // subl %esi, %r11d + 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 $0xda // andl %r11d, %edx - WORD $0xf285 // testl %esi, %edx - LONG $0x0227850f; WORD $0x0000 // jne LBB29_95, $551(%rip) - WORD $0xc90f // bswapl %ecx + 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 $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 $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 $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 $0x01fe850f; WORD $0x0000 // jne LBB29_96, $510(%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 $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 $0xd2 // movb %cl, $-46(%rbp) - WORD $0x3f24 // andb $63, %al - WORD $0x800c // orb $-128, %al - WORD $0x4588; BYTE $0xd3 // movb %al, $-45(%rbp) - LONG $0x0cc48349 // addq $12, %r12 - LONG $0x000004b9; BYTE $0x00 // movl $4, %ecx - LONG $0x39058d48; WORD $0x0091; BYTE $0x00 // leaq $37177(%rip), %rax /* __UnquoteTab(%rip) */ - LONG $0xd05d8d48 // leaq $-48(%rbp), %rbx - WORD $0x894c; BYTE $0xfe // movq %r15, %rsi - WORD $0x8949; BYTE $0xc7 // movq %rax, %r15 - LONG $0x0d4c8d4c; BYTE $0xd0 // leaq $-48(%rbp,%rcx), %r9 - WORD $0x394d; BYTE $0xd6 // cmpq %r10, %r14 - LONG $0xfe31820f; WORD $0xffff // jb LBB29_49, $-463(%rip) - -LBB29_70: - WORD $0x8948; BYTE $0xd9 // movq %rbx, %rcx - -LBB29_71: - WORD $0x394c; BYTE $0xc9 // cmpq %r9, %rcx - LONG $0x0025850f; WORD $0x0000 // jne LBB29_75, $37(%rip) - -LBB29_72: - WORD $0x394c; BYTE $0xe6 // cmpq %r12, %rsi - LONG $0x0009860f; WORD $0x0000 // jbe LBB29_74, $9(%rip) - WORD $0x394d; BYTE $0xd6 // cmpq %r10, %r14 - LONG $0xfc7a820f; WORD $0xffff // jb LBB29_32, $-902(%rip) - -LBB29_74: - WORD $0x314c; BYTE $0xe6 // xorq %r12, %rsi - WORD $0x314d; BYTE $0xd6 // xorq %r10, %r14 - WORD $0xdb31 // xorl %ebx, %ebx - WORD $0x0949; BYTE $0xf6 // orq %rsi, %r14 - WORD $0x940f; BYTE $0xc3 // sete %bl - LONG $0xfffbe6e9; BYTE $0xff // jmp LBB29_26, $-1050(%rip) + 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 -LBB29_75: - WORD $0xdb31 // xorl %ebx, %ebx - LONG $0xfffbdfe9; BYTE $0xff // jmp LBB29_26, $-1057(%rip) +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 -LBB29_76: - WORD $0x5b3c // cmpb $91, %al - LONG $0x00cd850f; WORD $0x0000 // jne LBB29_87, $205(%rip) - LONG $0x08478b49 // movq $8(%r15), %rax - WORD $0x8b48; BYTE $0x18 // movq (%rax), %rbx - WORD $0x8548; BYTE $0xdb // testq %rbx, %rbx - LONG $0x00d6880f; WORD $0x0000 // js LBB29_89, $214(%rip) - LONG $0x007d8b49 // movq (%r13), %rdi - LONG $0x08758b49 // movq $8(%r13), %rsi - WORD $0x894c; BYTE $0xf2 // movq %r14, %rdx - LONG $0xffca48e8; BYTE $0xff // callq _advance_ns, $-13752(%rip) - WORD $0x5d3c // cmpb $93, %al - LONG $0x008e840f; WORD $0x0000 // je LBB29_85, $142(%rip) - WORD $0xff49; BYTE $0x0e // decq (%r14) - WORD $0xff48; BYTE $0xc3 // incq %rbx - QUAD $0x9090909090909090; WORD $0x9090 // .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 -LBB29_80: - WORD $0xff48; BYTE $0xcb // decq %rbx - WORD $0x8548; BYTE $0xdb // testq %rbx, %rbx - LONG $0x00348e0f; WORD $0x0000 // jle LBB29_82, $52(%rip) - WORD $0x894c; BYTE $0xef // movq %r13, %rdi - WORD $0x894c; BYTE $0xf6 // movq %r14, %rsi - LONG $0xffec09e8; BYTE $0xff // callq _skip_one_fast, $-5111(%rip) - LONG $0x007d8b49 // movq (%r13), %rdi - LONG $0x08758b49 // movq $8(%r13), %rsi - WORD $0x894c; BYTE $0xf2 // movq %r14, %rdx - LONG $0xffca09e8; BYTE $0xff // callq _advance_ns, $-13815(%rip) - WORD $0x2c3c // cmpb $44, %al - LONG $0xffd1840f; WORD $0xffff // je LBB29_80, $-47(%rip) - LONG $0x000059e9; BYTE $0x00 // jmp LBB29_86, $89(%rip) - QUAD $0x9090909090909090; 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 -LBB29_82: - LONG $0x10c78349 // addq $16, %r15 +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 - WORD $0x3949; BYTE $0xc7 // cmpq %rax, %r15 - LONG $0xb04d8b48 // movq $-80(%rbp), %rcx - LONG $0xf991850f; WORD $0xffff // jne LBB29_2, $-1647(%rip) + 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) -LBB29_83: - QUAD $0xfffff943056f0f66 // movdqa $-1725(%rip), %xmm0 /* LCPI29_0(%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 $0xee // movq %r13, %rsi - WORD $0x894c; BYTE $0xf2 // movq %r14, %rdx + WORD $0x894c; BYTE $0xde // movq %r11, %rsi + WORD $0x894c; BYTE $0xfa // movq %r15, %rdx WORD $0xc931 // xorl %ecx, %ecx - LONG $0xffdc0fe8; BYTE $0xff // callq _fsm_exec, $-9201(%rip) - LONG $0x000029e9; BYTE $0x00 // jmp LBB29_88, $41(%rip) + 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) -LBB29_84: - WORD $0x7d3c // cmpb $125, %al - LONG $0x0017850f; WORD $0x0000 // jne LBB29_87, $23(%rip) +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 -LBB29_85: - WORD $0xff49; BYTE $0x0e // decq (%r14) - LONG $0xdfc0c748; WORD $0xffff; BYTE $0xff // movq $-33, %rax - LONG $0x000012e9; BYTE $0x00 // jmp LBB29_88, $18(%rip) +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 -LBB29_86: +LBB28_246: WORD $0x5d3c // cmpb $93, %al - LONG $0xffe9840f; WORD $0xffff // je LBB29_85, $-23(%rip) + 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) -LBB29_87: - WORD $0xff49; BYTE $0x0e // decq (%r14) - LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax +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) -LBB29_88: - 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 +LBB28_249: + WORD $0x8948; BYTE $0xd8 // movq %rbx, %rax -LBB29_89: - WORD $0xff49; BYTE $0x0e // decq (%r14) - LONG $0xdec0c748; WORD $0xffff; BYTE $0xff // movq $-34, %rax - LONG $0xffffe2e9; BYTE $0xff // jmp LBB29_88, $-30(%rip) +LBB28_250: + WORD $0xf980; BYTE $0x7d // cmpb $125, %cl + LONG $0xffb3850f; WORD $0xffff // jne LBB28_244, $-77(%rip) -LBB29_90: - LONG $0x08458b49 // movq $8(%r13), %rax - WORD $0x8948; BYTE $0x03 // movq %rax, (%rbx) - LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - LONG $0xffffcfe9; BYTE $0xff // jmp LBB29_88, $-49(%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) -LBB29_91: - LONG $0x02c48349 // addq $2, %r12 - LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax - LONG $0x000012e9; BYTE $0x00 // jmp LBB29_94, $18(%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) -LBB29_92: - WORD $0xff49; BYTE $0xc4 // incq %r12 - LONG $0xfdc0c748; WORD $0xffff; BYTE $0xff // movq $-3, %rax - LONG $0x000003e9; BYTE $0x00 // jmp LBB29_94, $3(%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) -LBB29_93: - WORD $0xff49; BYTE $0xc4 // incq %r12 +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) -LBB29_94: - WORD $0x2949; BYTE $0xfc // subq %rdi, %r12 - WORD $0x894d; BYTE $0x20 // movq %r12, (%r8) - LONG $0xffffa2e9; BYTE $0xff // jmp LBB29_88, $-94(%rip) +LBB28_255: + WORD $0xff48; BYTE $0xc3 // incq %rbx -LBB29_95: - LONG $0xfec0c748; WORD $0xffff; BYTE $0xff // movq $-2, %rax - LONG $0x000007e9; BYTE $0x00 // jmp LBB29_97, $7(%rip) +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) -LBB29_96: - LONG $0xfcc0c748; WORD $0xffff; BYTE $0xff // movq $-4, %rax +LBB28_257: + LONG $0xfec1c748; WORD $0xffff; BYTE $0xff // movq $-2, %rcx + LONG $0x000007e9; BYTE $0x00 // jmp LBB28_259, $7(%rip) -LBB29_97: - WORD $0x894d; BYTE $0xcc // movq %r9, %r12 - LONG $0xffffdae9; BYTE $0xff // jmp LBB29_94, $-38(%rip) - QUAD $0x9090909090909090 // .p2align 4, 0x90 +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 @@ -8210,92 +8864,92 @@ _validate_utf8: 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) + LONG $0x000010e9; BYTE $0x00 // jmp LBB29_1, $16(%rip) QUAD $0x9090909090909090; LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 -LBB30_19: +LBB29_19: WORD $0x0148; BYTE $0xd9 // addq %rbx, %rcx -LBB30_1: +LBB29_1: WORD $0x394c; BYTE $0xc1 // cmpq %r8, %rcx - LONG $0x00e1830f; WORD $0x0000 // jae LBB30_2, $225(%rip) + 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 LBB30_19, $-26(%rip) + 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 LBB30_10, $48(%rip) + 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 LBB30_10, $28(%rip) + 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 LBB30_19, $-81(%rip) + LONG $0xffaf850f; WORD $0xffff // jne LBB29_19, $-81(%rip) QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 -LBB30_10: +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 LBB30_12, $16(%rip) + 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 LBB30_19, $-132(%rip) + LONG $0xff7c850f; WORD $0xffff // jne LBB29_19, $-132(%rip) -LBB30_12: +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 LBB30_16, $38(%rip) + 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 LBB30_16, $24(%rip) + 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 LBB30_19, $-179(%rip) + LONG $0xff4d840f; WORD $0xffff // je LBB29_19, $-179(%rip) LONG $0x00300325; BYTE $0x00 // andl $12291, %eax - LONG $0xff42840f; WORD $0xffff // je LBB30_19, $-190(%rip) + LONG $0xff42840f; WORD $0xffff // je LBB29_19, $-190(%rip) -LBB30_16: +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 LBB30_17, $391(%rip) + 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 LBB30_19, $-237(%rip) + LONG $0xffff13e9; BYTE $0xff // jmp LBB29_19, $-237(%rip) -LBB30_2: +LBB29_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 $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 LBB30_4, $22(%rip) + LONG $0x000016e9; BYTE $0x00 // jmp LBB29_4, $22(%rip) QUAD $0x9090909090909090; WORD $0x9090 // .p2align 4, 0x90 -LBB30_5: +LBB29_5: WORD $0xff48; BYTE $0xc1 // incq %rcx WORD $0x394c; BYTE $0xd9 // cmpq %r11, %rcx - LONG $0x011b830f; WORD $0x0000 // jae LBB30_36, $283(%rip) + LONG $0x011b830f; WORD $0x0000 // jae LBB29_36, $283(%rip) -LBB30_4: +LBB29_4: WORD $0x3980; BYTE $0x00 // cmpb $0, (%rcx) - LONG $0xffeb890f; WORD $0xffff // jns LBB30_5, $-21(%rip) + 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 LBB30_21, $53(%rip) + 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) @@ -8303,27 +8957,27 @@ LBB30_4: 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) + LONG $0x0029840f; WORD $0x0000 // je LBB29_24, $41(%rip) -LBB30_25: +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 LBB30_26, $23(%rip) + LONG $0x000017e9; BYTE $0x00 // jmp LBB29_26, $23(%rip) -LBB30_21: +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 LBB30_25, $-41(%rip) + LONG $0xffd7850f; WORD $0xffff // jne LBB29_25, $-41(%rip) -LBB30_24: +LBB29_24: WORD $0xff31 // xorl %edi, %edi -LBB30_26: +LBB29_26: LONG $0xc7b60f40 // movzbl %dil, %eax WORD $0xe0c1; BYTE $0x10 // shll $16, %eax LONG $0xdeb60f41 // movzbl %r14b, %ebx @@ -8333,36 +8987,36 @@ LBB30_26: 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) + 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 LBB30_29, $15(%rip) + 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 LBB30_34, $35(%rip) + LONG $0x0023850f; WORD $0x0000 // jne LBB29_34, $35(%rip) WORD $0x9090 // .p2align 4, 0x90 -LBB30_29: +LBB29_29: LONG $0x1ec4f641 // testb $30, %r12b - LONG $0x0028840f; WORD $0x0000 // je LBB30_31, $40(%rip) + 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 LBB30_31, $17(%rip) + LONG $0x0011850f; WORD $0x0000 // jne LBB29_31, $17(%rip) -LBB30_34: +LBB29_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) + LONG $0xff1f820f; WORD $0xffff // jb LBB29_4, $-225(%rip) + LONG $0x000035e9; BYTE $0x00 // jmp LBB29_36, $53(%rip) -LBB30_31: +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 LBB30_32, $52(%rip) + 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) @@ -8370,14 +9024,14 @@ LBB30_31: 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) + LONG $0xfee5820f; WORD $0xffff // jb LBB29_4, $-283(%rip) -LBB30_36: +LBB29_36: WORD $0x294c; BYTE $0xd1 // subq %r10, %rcx WORD $0x8948; BYTE $0x0e // movq %rcx, (%rsi) WORD $0xc031 // xorl %eax, %eax -LBB30_37: +LBB29_37: LONG $0x08c48348 // addq $8, %rsp BYTE $0x5b // popq %rbx WORD $0x5c41 // popq %r12 @@ -8386,15 +9040,15 @@ LBB30_37: BYTE $0x5d // popq %rbp BYTE $0xc3 // retq -LBB30_32: +LBB29_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) + LONG $0xffffe4e9; BYTE $0xff // jmp LBB29_37, $-28(%rip) -LBB30_17: +LBB29_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) + LONG $0xffffd5e9; BYTE $0xff // jmp LBB29_37, $-43(%rip) LONG $0x90909090; WORD $0x9090 // .p2align 4, 0x90 _validate_utf8_fast: @@ -8407,59 +9061,59 @@ _validate_utf8_fast: 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 LBB31_14, $224(%rip) + LONG $0x00e0830f; WORD $0x0000 // jae LBB30_14, $224(%rip) WORD $0x894c; BYTE $0xd0 // movq %r10, %rax - LONG $0x000016e9; BYTE $0x00 // jmp LBB31_3, $22(%rip) + LONG $0x000016e9; BYTE $0x00 // jmp LBB30_3, $22(%rip) QUAD $0x9090909090909090; WORD $0x9090 // .p2align 4, 0x90 -LBB31_2: +LBB30_2: WORD $0x0148; BYTE $0xd0 // addq %rdx, %rax WORD $0x3948; BYTE $0xf0 // cmpq %rsi, %rax - LONG $0x00c2830f; WORD $0x0000 // jae LBB31_14, $194(%rip) + LONG $0x00c2830f; WORD $0x0000 // jae LBB30_14, $194(%rip) -LBB31_3: +LBB30_3: LONG $0x000001ba; BYTE $0x00 // movl $1, %edx WORD $0x3880; BYTE $0x00 // cmpb $0, (%rax) - LONG $0xffe6890f; WORD $0xffff // jns LBB31_2, $-26(%rip) + 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 LBB31_7, $48(%rip) + 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 LBB31_7, $28(%rip) + 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 LBB31_2, $-81(%rip) + LONG $0xffaf850f; WORD $0xffff // jne LBB30_2, $-81(%rip) QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 -LBB31_7: +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 LBB31_9, $16(%rip) + 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 LBB31_2, $-132(%rip) + LONG $0xff7c850f; WORD $0xffff // jne LBB30_2, $-132(%rip) -LBB31_9: +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 LBB31_13, $41(%rip) + 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 LBB31_13, $27(%rip) + 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 LBB31_2, $-181(%rip) + LONG $0xff4b840f; WORD $0xffff // je LBB30_2, $-181(%rip) LONG $0x3003e781; WORD $0x0000 // andl $12291, %edi - LONG $0xff3f840f; WORD $0xffff // je LBB31_2, $-193(%rip) + LONG $0xff3f840f; WORD $0xffff // je LBB30_2, $-193(%rip) -LBB31_13: +LBB30_13: WORD $0xf748; BYTE $0xd0 // notq %rax WORD $0x014c; BYTE $0xd0 // addq %r10, %rax LONG $0x08c48348 // addq $8, %rsp @@ -8467,29 +9121,29 @@ LBB31_13: BYTE $0x5d // popq %rbp BYTE $0xc3 // retq -LBB31_14: +LBB30_14: WORD $0x014d; BYTE $0xd3 // addq %r10, %r11 WORD $0x394c; BYTE $0xd8 // cmpq %r11, %rax - LONG $0x0103830f; WORD $0x0000 // jae LBB31_30, $259(%rip) + 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 LBB31_17, $21(%rip) + LONG $0x000015e9; BYTE $0x00 // jmp LBB30_17, $21(%rip) QUAD $0x9090909090909090; BYTE $0x90 // .p2align 4, 0x90 -LBB31_16: +LBB30_16: WORD $0xff48; BYTE $0xc0 // incq %rax WORD $0x394c; BYTE $0xd8 // cmpq %r11, %rax - LONG $0x00e1830f; WORD $0x0000 // jae LBB31_30, $225(%rip) + LONG $0x00e1830f; WORD $0x0000 // jae LBB30_30, $225(%rip) -LBB31_17: +LBB30_17: WORD $0x3880; BYTE $0x00 // cmpb $0, (%rax) - LONG $0xffeb890f; WORD $0xffff // jns LBB31_16, $-21(%rip) + 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 LBB31_21, $49(%rip) + 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) @@ -8497,27 +9151,27 @@ LBB31_17: LONG $0xfec28348 // addq $-2, %rdx WORD $0x894c; BYTE $0xcb // movq %r9, %rbx WORD $0x8548; BYTE $0xd2 // testq %rdx, %rdx - LONG $0x0025840f; WORD $0x0000 // je LBB31_22, $37(%rip) + LONG $0x0025840f; WORD $0x0000 // je LBB30_22, $37(%rip) -LBB31_20: +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 LBB31_23, $21(%rip) + LONG $0x000015e9; BYTE $0x00 // jmp LBB30_23, $21(%rip) -LBB31_21: +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 LBB31_20, $-37(%rip) + LONG $0xffdb850f; WORD $0xffff // jne LBB30_20, $-37(%rip) -LBB31_22: +LBB30_22: WORD $0xc931 // xorl %ecx, %ecx -LBB31_23: +LBB30_23: WORD $0xb60f; BYTE $0xc9 // movzbl %cl, %ecx WORD $0xe1c1; BYTE $0x10 // shll $16, %ecx LONG $0xffb60f40 // movzbl %dil, %edi @@ -8527,30 +9181,30 @@ LBB31_23: WORD $0xd109 // orl %edx, %ecx LONG $0xc0f0e181; WORD $0x00c0 // andl $12632304, %ecx LONG $0x80e0f981; WORD $0x0080 // cmpl $8421600, %ecx - LONG $0x0026850f; WORD $0x0000 // jne LBB31_26, $38(%rip) + 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 LBB31_26, $18(%rip) + 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 LBB31_28, $38(%rip) + LONG $0x0026850f; WORD $0x0000 // jne LBB30_28, $38(%rip) LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 -LBB31_26: +LBB30_26: LONG $0x1ec6f640 // testb $30, %sil - LONG $0xff07840f; WORD $0xffff // je LBB31_13, $-249(%rip) + 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 LBB31_13, $-272(%rip) + LONG $0xfef0850f; WORD $0xffff // jne LBB30_13, $-272(%rip) -LBB31_28: +LBB30_28: WORD $0x0148; BYTE $0xc8 // addq %rcx, %rax WORD $0x394c; BYTE $0xd8 // cmpq %r11, %rax - LONG $0xff1f820f; WORD $0xffff // jb LBB31_17, $-225(%rip) + LONG $0xff1f820f; WORD $0xffff // jb LBB30_17, $-225(%rip) -LBB31_30: +LBB30_30: WORD $0xc031 // xorl %eax, %eax LONG $0x08c48348 // addq $8, %rsp BYTE $0x5b // popq %rbx @@ -8558,7 +9212,7 @@ LBB31_30: BYTE $0xc3 // retq QUAD $0x0000000000000000; WORD $0x0000 // .p2align 4, 0x00 -LCPI32_0: +LCPI31_0: QUAD $0x3030303030303030; QUAD $0x3030303030303030 // .space 16, '0000000000000000' // .p2align 4, 0x90 @@ -8575,30 +9229,30 @@ _f32toa: 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 LBB32_138, $3230(%rip) + 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 LBB32_11, $447(%rip) + 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 LBB32_139, $3200(%rip) + 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 LBB32_5, $25(%rip) + 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 LBB32_32, $1020(%rip) + LONG $0x03fc840f; WORD $0x0000 // je LBB31_32, $1020(%rip) -LBB32_5: +LBB31_5: WORD $0x8941; BYTE $0xf6 // movl %esi, %r14d LONG $0x01e68341 // andl $1, %r14d WORD $0xc085 // testl %eax, %eax @@ -8652,7 +9306,7 @@ LBB32_5: 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) + 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 @@ -8667,9 +9321,9 @@ LBB32_5: 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) + LONG $0x01e9840f; WORD $0x0000 // je LBB31_16, $489(%rip) -LBB32_7: +LBB31_7: WORD $0x894c; BYTE $0xd0 // movq %r10, %rax LONG $0x02e8c148 // shrq $2, %rax WORD $0x8944; BYTE $0xd6 // movl %r10d, %esi @@ -8680,77 +9334,77 @@ LBB32_7: 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) + 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 LBB32_10, $14(%rip) + 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 -LBB32_10: +LBB31_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) + LONG $0x0059820f; WORD $0x0000 // jb LBB31_17, $89(%rip) -LBB32_13: +LBB31_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 $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 LBB32_22, $116(%rip) + 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 LBB32_21, $96(%rip) + LONG $0x000060e9; BYTE $0x00 // jmp LBB31_21, $96(%rip) -LBB32_11: +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 LBB32_137, $2729(%rip) + LONG $0x000aa9e9; BYTE $0x00 // jmp LBB31_137, $2729(%rip) -LBB32_12: +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 LBB32_13, $-89(%rip) + LONG $0xffa7830f; WORD $0xffff // jae LBB31_13, $-89(%rip) -LBB32_17: +LBB31_17: LONG $0x000001be; BYTE $0x00 // movl $1, %esi LONG $0x0afd8341 // cmpl $10, %r13d - LONG $0x0030820f; WORD $0x0000 // jb LBB32_22, $48(%rip) + 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 LBB32_22, $33(%rip) + 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 LBB32_22, $15(%rip) + 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 -LBB32_21: +LBB31_21: WORD $0xde83; BYTE $0x00 // sbbl $0, %esi -LBB32_22: +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 LBB32_26, $117(%rip) + 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 LBB32_30, $243(%rip) + 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 LBB32_62, $1147(%rip) + 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 @@ -8764,19 +9418,19 @@ LBB32_22: 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) + LONG $0x00ab830f; WORD $0x0000 // jae LBB31_64, $171(%rip) -LBB32_31: +LBB31_31: WORD $0xda89 // movl %ebx, %edx - LONG $0x0000e8e9; BYTE $0x00 // jmp LBB32_66, $232(%rip) + LONG $0x0000e8e9; BYTE $0x00 // jmp LBB31_66, $232(%rip) -LBB32_26: +LBB31_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 $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 LBB32_43, $653(%rip) + 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 @@ -8795,33 +9449,33 @@ LBB32_26: 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) + LONG $0x0249830f; WORD $0x0000 // jae LBB31_44, $585(%rip) -LBB32_29: +LBB31_29: WORD $0x8944; BYTE $0xe9 // movl %r13d, %ecx - LONG $0x000286e9; BYTE $0x00 // jmp LBB32_46, $646(%rip) + LONG $0x000286e9; BYTE $0x00 // jmp LBB31_46, $646(%rip) -LBB32_16: +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 LBB32_13, $-428(%rip) - LONG $0xfffea8e9; BYTE $0xff // jmp LBB32_17, $-344(%rip) + LONG $0xfe54830f; WORD $0xffff // jae LBB31_13, $-428(%rip) + LONG $0xfffea8e9; BYTE $0xff // jmp LBB31_17, $-344(%rip) -LBB32_30: +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 LBB32_31, $-171(%rip) + LONG $0xff55820f; WORD $0xffff // jb LBB31_31, $-171(%rip) -LBB32_64: +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 -LBB32_65: +LBB31_65: WORD $0xda89 // movl %ebx, %edx LONG $0x1fd26948; WORD $0xeb85; BYTE $0x51 // imulq $1374389535, %rdx, %rdx LONG $0x25eac148 // shrq $37, %rdx @@ -8833,77 +9487,77 @@ LBB32_65: 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) + LONG $0xffd1870f; WORD $0xffff // ja LBB31_65, $-47(%rip) -LBB32_66: +LBB31_66: LONG $0x01708d49 // leaq $1(%r8), %rsi WORD $0xfa83; BYTE $0x0a // cmpl $10, %edx - LONG $0x001d820f; WORD $0x0000 // jb LBB32_68, $29(%rip) + 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 LBB32_69, $5(%rip) + LONG $0x000005e9; BYTE $0x00 // jmp LBB31_69, $5(%rip) -LBB32_68: +LBB31_68: WORD $0xc280; BYTE $0x30 // addb $48, %dl WORD $0x1688 // movb %dl, (%rsi) -LBB32_69: +LBB31_69: WORD $0x294d; BYTE $0xce // subq %r9, %r14 QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 -LBB32_70: +LBB31_70: LONG $0xff7e8041; BYTE $0x30 // cmpb $48, $-1(%r14) LONG $0xff768d4d // leaq $-1(%r14), %r14 - LONG $0xfff1840f; WORD $0xffff // je LBB32_70, $-15(%rip) + 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 LBB32_73, $6(%rip) + LONG $0x00068c0f; WORD $0x0000 // jl LBB31_73, $6(%rip) WORD $0x06c6; BYTE $0x2e // movb $46, (%rsi) WORD $0x8949; BYTE $0xc6 // movq %rax, %r14 -LBB32_73: +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 LBB32_76, $290(%rip) + 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 LBB32_77, $292(%rip) + LONG $0x01248c0f; WORD $0x0000 // jl LBB31_77, $292(%rip) -LBB32_75: +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 LBB32_136, $2105(%rip) + LONG $0x000839e9; BYTE $0x00 // jmp LBB31_136, $2105(%rip) -LBB32_32: +LBB31_32: WORD $0xeed3 // shrl %cl, %esi LONG $0x86a0fe81; WORD $0x0001 // cmpl $100000, %esi - LONG $0x01ee820f; WORD $0x0000 // jb LBB32_52, $494(%rip) + 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 LBB32_36, $32(%rip) + 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 LBB32_36, $15(%rip) + 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 -LBB32_36: +LBB31_36: WORD $0x014c; BYTE $0xc0 // addq %r8, %rax -LBB32_37: +LBB31_37: WORD $0xf189 // movl %esi, %ecx LONG $0xb71759ba; BYTE $0xd1 // movl $3518437209, %edx LONG $0xd1af0f48 // imulq %rcx, %rdx @@ -8923,21 +9577,21 @@ LBB32_37: LONG $0xfcc08348 // addq $-4, %rax WORD $0xd689 // movl %edx, %esi WORD $0xfe83; BYTE $0x64 // cmpl $100, %esi - LONG $0x01a9830f; WORD $0x0000 // jae LBB32_56, $425(%rip) - LONG $0x0001dfe9; BYTE $0x00 // jmp LBB32_58, $479(%rip) + LONG $0x01a9830f; WORD $0x0000 // jae LBB31_56, $425(%rip) + LONG $0x0001dfe9; BYTE $0x00 // jmp LBB31_58, $479(%rip) -LBB32_38: +LBB31_38: WORD $0x8545; BYTE $0xd2 // testl %r10d, %r10d - LONG $0x04578f0f; WORD $0x0000 // jg LBB32_96, $1111(%rip) + 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 LBB32_96, $1092(%rip) + 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 LBB32_94, $1048(%rip) + 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 @@ -8948,34 +9602,34 @@ LBB32_38: WORD $0x8945; BYTE $0xf3 // movl %r14d, %r11d LONG $0x07e38341 // andl $7, %r11d LONG $0x00e03d48; WORD $0x0000 // cmpq $224, %rax - LONG $0x0311830f; WORD $0x0000 // jae LBB32_88, $785(%rip) + LONG $0x0311830f; WORD $0x0000 // jae LBB31_88, $785(%rip) WORD $0xdb31 // xorl %ebx, %ebx - LONG $0x0003a8e9; BYTE $0x00 // jmp LBB32_90, $936(%rip) + LONG $0x0003a8e9; BYTE $0x00 // jmp LBB31_90, $936(%rip) -LBB32_76: +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 LBB32_75, $-292(%rip) + LONG $0xfedc8d0f; WORD $0xffff // jge LBB31_75, $-292(%rip) -LBB32_77: +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 LBB32_136, $1825(%rip) + LONG $0x000721e9; BYTE $0x00 // jmp LBB31_136, $1825(%rip) -LBB32_43: +LBB31_43: WORD $0x8948; BYTE $0xf0 // movq %rsi, %rax LONG $0x64fd8341 // cmpl $100, %r13d - LONG $0xfdb7820f; WORD $0xffff // jb LBB32_29, $-585(%rip) + LONG $0xfdb7820f; WORD $0xffff // jb LBB31_29, $-585(%rip) -LBB32_44: +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 -LBB32_45: +LBB31_45: WORD $0x8944; BYTE $0xe9 // movl %r13d, %ecx LONG $0x1fc96948; WORD $0xeb85; BYTE $0x51 // imulq $1374389535, %rcx, %rcx LONG $0x25e9c148 // shrq $37, %rcx @@ -8987,29 +9641,29 @@ LBB32_45: 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) + LONG $0xffcd870f; WORD $0xffff // ja LBB31_45, $-51(%rip) -LBB32_46: +LBB31_46: WORD $0x6349; BYTE $0xc2 // movslq %r10d, %rax WORD $0xf983; BYTE $0x0a // cmpl $10, %ecx - LONG $0x0022820f; WORD $0x0000 // jb LBB32_48, $34(%rip) + 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 LBB32_49, $23(%rip) - LONG $0x0006a1e9; BYTE $0x00 // jmp LBB32_136, $1697(%rip) + LONG $0x00178c0f; WORD $0x0000 // jl LBB31_49, $23(%rip) + LONG $0x0006a1e9; BYTE $0x00 // jmp LBB31_136, $1697(%rip) -LBB32_48: +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 LBB32_136, $1679(%rip) + LONG $0x068f8d0f; WORD $0x0000 // jge LBB31_136, $1679(%rip) -LBB32_49: +LBB31_49: LONG $0x21048d4b // leaq (%r9,%r12), %rax LONG $0x075c8d4c; BYTE $0x01 // leaq $1(%rdi,%rax), %r11 WORD $0x394d; BYTE $0xc3 // cmpq %r8, %r11 @@ -9018,7 +9672,7 @@ LBB32_49: WORD $0x014c; BYTE $0xe1 // addq %r12, %rcx WORD $0x2949; BYTE $0xcb // subq %rcx, %r11 LONG $0x20fb8349 // cmpq $32, %r11 - LONG $0x01f9820f; WORD $0x0000 // jb LBB32_85, $505(%rip) + 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 @@ -9028,33 +9682,33 @@ LBB32_49: 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 LBB32_78, $202(%rip) + LONG $0x00ca830f; WORD $0x0000 // jae LBB31_78, $202(%rip) WORD $0xc031 // xorl %eax, %eax - LONG $0x00016fe9; BYTE $0x00 // jmp LBB32_80, $367(%rip) + LONG $0x00016fe9; BYTE $0x00 // jmp LBB31_80, $367(%rip) -LBB32_52: +LBB31_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 $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 LBB32_55, $18(%rip) + 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 LBB32_86, $431(%rip) + LONG $0x01af830f; WORD $0x0000 // jae LBB31_86, $431(%rip) -LBB32_55: +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 LBB32_58, $59(%rip) + LONG $0x003b820f; WORD $0x0000 // jb LBB31_58, $59(%rip) -LBB32_56: +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 -LBB32_57: +LBB31_57: WORD $0xf389 // movl %esi, %ebx WORD $0xf689 // movl %esi, %esi LONG $0x1ff66948; WORD $0xeb85; BYTE $0x51 // imulq $1374389535, %rsi, %rsi @@ -9066,42 +9720,42 @@ LBB32_57: 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) + LONG $0xffd1870f; WORD $0xffff // ja LBB31_57, $-47(%rip) -LBB32_58: +LBB31_58: WORD $0xfe83; BYTE $0x0a // cmpl $10, %esi - LONG $0x0016820f; WORD $0x0000 // jb LBB32_60, $22(%rip) + 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 LBB32_61, $7(%rip) + LONG $0x000007e9; BYTE $0x00 // jmp LBB31_61, $7(%rip) -LBB32_60: +LBB31_60: LONG $0x30c68040 // addb $48, %sil WORD $0x8841; BYTE $0x30 // movb %sil, (%r8) -LBB32_61: +LBB31_61: WORD $0x2941; BYTE $0xf9 // subl %edi, %r9d WORD $0x8945; BYTE $0xc8 // movl %r9d, %r8d - LONG $0x000595e9; BYTE $0x00 // jmp LBB32_137, $1429(%rip) + LONG $0x000595e9; BYTE $0x00 // jmp LBB31_137, $1429(%rip) -LBB32_62: +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 LBB32_31, $-1107(%rip) - LONG $0xfffc53e9; BYTE $0xff // jmp LBB32_64, $-941(%rip) + LONG $0xfbad820f; WORD $0xffff // jb LBB31_31, $-1107(%rip) + LONG $0xfffc53e9; BYTE $0xff // jmp LBB31_64, $-941(%rip) -LBB32_78: +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 /* LCPI32_0(%rip) */ + QUAD $0xfffff89f056f0f66 // movdqa $-1889(%rip), %xmm0 /* LCPI31_0(%rip) */ QUAD $0x9090909090909090; LONG $0x90909090; WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 -LBB32_79: +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) @@ -9120,56 +9774,56 @@ LBB32_79: 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 LBB32_79, $-132(%rip) + LONG $0xff7c850f; WORD $0xffff // jne LBB31_79, $-132(%rip) -LBB32_80: +LBB31_80: WORD $0x8548; BYTE $0xd2 // testq %rdx, %rdx - LONG $0x0039840f; WORD $0x0000 // je LBB32_83, $57(%rip) + 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 /* LCPI32_0(%rip) */ + QUAD $0xfffff7ed056f0f66 // movdqa $-2067(%rip), %xmm0 /* LCPI31_0(%rip) */ QUAD $0x9090909090909090; LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 -LBB32_82: +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 LBB32_82, $-22(%rip) + LONG $0xffea850f; WORD $0xffff // jne LBB31_82, $-22(%rip) -LBB32_83: +LBB31_83: WORD $0x394d; BYTE $0xda // cmpq %r11, %r10 - LONG $0x0483840f; WORD $0x0000 // je LBB32_136, $1155(%rip) + 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 -LBB32_85: +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 LBB32_85, $-15(%rip) - LONG $0x00045ee9; BYTE $0x00 // jmp LBB32_136, $1118(%rip) + LONG $0xfff1820f; WORD $0xffff // jb LBB31_85, $-15(%rip) + LONG $0x00045ee9; BYTE $0x00 // jmp LBB31_136, $1118(%rip) -LBB32_86: +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 LBB32_37, $-950(%rip) + LONG $0xfc4a830f; WORD $0xffff // jae LBB31_37, $-950(%rip) WORD $0x8949; BYTE $0xc1 // movq %rax, %r9 - LONG $0xfffe3be9; BYTE $0xff // jmp LBB32_56, $-453(%rip) + LONG $0xfffe3be9; BYTE $0xff // jmp LBB31_56, $-453(%rip) -LBB32_88: +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 /* LCPI32_0(%rip) */ + QUAD $0xfffff75e056f0f66 // movdqa $-2210(%rip), %xmm0 /* LCPI31_0(%rip) */ -LBB32_89: +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) @@ -9188,50 +9842,50 @@ LBB32_89: 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 LBB32_89, $-133(%rip) + LONG $0xff7b850f; WORD $0xffff // jne LBB31_89, $-133(%rip) -LBB32_90: +LBB31_90: WORD $0x854d; BYTE $0xdb // testq %r11, %r11 - LONG $0x0029840f; WORD $0x0000 // je LBB32_93, $41(%rip) + 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 /* LCPI32_0(%rip) */ + QUAD $0xfffff6bd056f0f66 // movdqa $-2371(%rip), %xmm0 /* LCPI31_0(%rip) */ -LBB32_92: +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 LBB32_92, $-22(%rip) + LONG $0xffea850f; WORD $0xffff // jne LBB31_92, $-22(%rip) -LBB32_93: +LBB31_93: WORD $0x014d; BYTE $0xf8 // addq %r15, %r8 WORD $0x394c; BYTE $0xfe // cmpq %r15, %rsi - LONG $0x001b840f; WORD $0x0000 // je LBB32_96, $27(%rip) + LONG $0x001b840f; WORD $0x0000 // je LBB31_96, $27(%rip) -LBB32_94: +LBB31_94: WORD $0x0145; BYTE $0xd7 // addl %r10d, %r15d WORD $0xf741; BYTE $0xdf // negl %r15d LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 -LBB32_95: +LBB31_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) + LONG $0xfff0850f; WORD $0xffff // jne LBB31_95, $-16(%rip) -LBB32_96: +LBB31_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) + 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 LBB32_101, $400(%rip) + 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 @@ -9245,24 +9899,24 @@ LBB32_96: 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) + LONG $0x0018830f; WORD $0x0000 // jae LBB31_103, $24(%rip) -LBB32_100: +LBB31_100: WORD $0x8944; BYTE $0xd9 // movl %r11d, %ecx - LONG $0x00004ee9; BYTE $0x00 // jmp LBB32_105, $78(%rip) + LONG $0x00004ee9; BYTE $0x00 // jmp LBB31_105, $78(%rip) -LBB32_99: +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 LBB32_100, $-24(%rip) + LONG $0xffe8820f; WORD $0xffff // jb LBB31_100, $-24(%rip) -LBB32_103: +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 -LBB32_104: +LBB31_104: WORD $0x8944; BYTE $0xd9 // movl %r11d, %ecx LONG $0x1fc96948; WORD $0xeb85; BYTE $0x51 // imulq $1374389535, %rcx, %rcx LONG $0x25e9c148 // shrq $37, %rcx @@ -9274,65 +9928,65 @@ LBB32_104: 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) + LONG $0xffce870f; WORD $0xffff // ja LBB31_104, $-50(%rip) -LBB32_105: +LBB31_105: WORD $0xf983; BYTE $0x0a // cmpl $10, %ecx - LONG $0x0016820f; WORD $0x0000 // jb LBB32_107, $22(%rip) + 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 LBB32_108, $6(%rip) + LONG $0x000006e9; BYTE $0x00 // jmp LBB31_108, $6(%rip) -LBB32_107: +LBB31_107: WORD $0xc180; BYTE $0x30 // addb $48, %cl WORD $0x8841; BYTE $0x08 // movb %cl, (%r8) -LBB32_108: +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 -LBB32_109: +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 LBB32_109, $-26(%rip) + 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 LBB32_115, $147(%rip) + 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 LBB32_116, $39(%rip) + LONG $0x00278e0f; WORD $0x0000 // jle LBB31_116, $39(%rip) WORD $0xdb85 // testl %ebx, %ebx - LONG $0x00fa8e0f; WORD $0x0000 // jle LBB32_127, $250(%rip) + 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 LBB32_121, $131(%rip) + LONG $0x0083830f; WORD $0x0000 // jae LBB31_121, $131(%rip) WORD $0xc931 // xorl %ecx, %ecx - LONG $0x0000ade9; BYTE $0x00 // jmp LBB32_124, $173(%rip) + LONG $0x0000ade9; BYTE $0x00 // jmp LBB31_124, $173(%rip) -LBB32_116: +LBB31_116: WORD $0x8945; BYTE $0xd6 // movl %r10d, %r14d WORD $0x2941; BYTE $0xce // subl %ecx, %r14d - LONG $0x004f8e0f; WORD $0x0000 // jle LBB32_115, $79(%rip) + 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 LBB32_134, $421(%rip) + 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 @@ -9344,66 +9998,66 @@ LBB32_116: 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 LBB32_128, $151(%rip) + LONG $0x0097830f; WORD $0x0000 // jae LBB31_128, $151(%rip) WORD $0xc931 // xorl %ecx, %ecx - LONG $0x00012de9; BYTE $0x00 // jmp LBB32_130, $301(%rip) + LONG $0x00012de9; BYTE $0x00 // jmp LBB31_130, $301(%rip) -LBB32_115: +LBB31_115: WORD $0x894d; BYTE $0xc8 // movq %r9, %r8 - LONG $0x000180e9; BYTE $0x00 // jmp LBB32_136, $384(%rip) + LONG $0x000180e9; BYTE $0x00 // jmp LBB31_136, $384(%rip) -LBB32_101: +LBB31_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) + LONG $0xfe96820f; WORD $0xffff // jb LBB31_100, $-362(%rip) + LONG $0xfffea9e9; BYTE $0xff // jmp LBB31_103, $-343(%rip) -LBB32_121: +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 -LBB32_122: +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 LBB32_122, $-25(%rip) + LONG $0xffe7850f; WORD $0xffff // jne LBB31_122, $-25(%rip) WORD $0xf748; BYTE $0xd9 // negq %rcx -LBB32_124: +LBB31_124: WORD $0x854d; BYTE $0xc9 // testq %r9, %r9 - LONG $0x0025840f; WORD $0x0000 // je LBB32_127, $37(%rip) + 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 -LBB32_126: +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 LBB32_126, $-26(%rip) + LONG $0xffe6850f; WORD $0xffff // jne LBB31_126, $-26(%rip) -LBB32_127: +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 LBB32_136, $248(%rip) + LONG $0x0000f8e9; BYTE $0x00 // jmp LBB31_136, $248(%rip) -LBB32_128: +LBB31_128: LONG $0xf8e78349 // andq $-8, %r15 WORD $0xf749; BYTE $0xdf // negq %r15 WORD $0xc931 // xorl %ecx, %ecx - QUAD $0xfffff425056f0f66 // movdqa $-3035(%rip), %xmm0 /* LCPI32_0(%rip) */ + QUAD $0xfffff425056f0f66 // movdqa $-3035(%rip), %xmm0 /* LCPI31_0(%rip) */ -LBB32_129: +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) @@ -9423,44 +10077,44 @@ LBB32_129: 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 LBB32_129, $-140(%rip) + LONG $0xff74850f; WORD $0xffff // jne LBB31_129, $-140(%rip) -LBB32_130: +LBB31_130: WORD $0x0149; BYTE $0xd1 // addq %rdx, %r9 WORD $0x854d; BYTE $0xd2 // testq %r10, %r10 - LONG $0x0029840f; WORD $0x0000 // je LBB32_133, $41(%rip) + 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 /* LCPI32_0(%rip) */ + QUAD $0xfffff37c056f0f66 // movdqa $-3204(%rip), %xmm0 /* LCPI31_0(%rip) */ -LBB32_132: +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 LBB32_132, $-24(%rip) + LONG $0xffe8850f; WORD $0xffff // jne LBB31_132, $-24(%rip) -LBB32_133: +LBB31_133: WORD $0x894d; BYTE $0xc8 // movq %r9, %r8 WORD $0x3949; BYTE $0xc3 // cmpq %rax, %r11 - LONG $0x001a840f; WORD $0x0000 // je LBB32_136, $26(%rip) + LONG $0x001a840f; WORD $0x0000 // je LBB31_136, $26(%rip) -LBB32_134: +LBB31_134: WORD $0x894d; BYTE $0xc8 // movq %r9, %r8 LONG $0x90909090; BYTE $0x90 // .p2align 4, 0x90 -LBB32_135: +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 LBB32_135, $-18(%rip) + LONG $0xffee8c0f; WORD $0xffff // jl LBB31_135, $-18(%rip) -LBB32_136: +LBB31_136: WORD $0x2941; BYTE $0xf8 // subl %edi, %r8d -LBB32_137: +LBB31_137: WORD $0x8944; BYTE $0xc0 // movl %r8d, %eax BYTE $0x5b // popq %rbx WORD $0x5c41 // popq %r12 @@ -9470,14 +10124,14 @@ LBB32_137: BYTE $0x5d // popq %rbp BYTE $0xc3 // retq -LBB32_138: +LBB31_138: WORD $0x3145; BYTE $0xc0 // xorl %r8d, %r8d - LONG $0xffffeae9; BYTE $0xff // jmp LBB32_137, $-22(%rip) + LONG $0xffffeae9; BYTE $0xff // jmp LBB31_137, $-22(%rip) -LBB32_139: +LBB31_139: LONG $0xff6bbf41; WORD $0xffff // movl $-149, %r15d WORD $0xc689 // movl %eax, %esi - LONG $0xfff3a5e9; BYTE $0xff // jmp LBB32_5, $-3163(%rip) + LONG $0xfff3a5e9; BYTE $0xff // jmp LBB31_5, $-3163(%rip) QUAD $0x9090909090909090 // .p2align 4, 0x90 _format_significand: @@ -9489,25 +10143,25 @@ _format_significand: 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) + 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 LBB33_8, $227(%rip) + LONG $0x00e3830f; WORD $0x0000 // jae LBB32_8, $227(%rip) -LBB33_7: +LBB32_7: WORD $0xd789 // movl %edx, %edi - LONG $0x000132e9; BYTE $0x00 // jmp LBB33_10, $306(%rip) + LONG $0x000132e9; BYTE $0x00 // jmp LBB32_10, $306(%rip) -LBB33_2: +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 LBB33_3, $164(%rip) + 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 @@ -9545,21 +10199,21 @@ LBB33_2: 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) + LONG $0xff38820f; WORD $0xffff // jb LBB32_7, $-200(%rip) + LONG $0x000016e9; BYTE $0x00 // jmp LBB32_8, $22(%rip) -LBB33_3: +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 LBB33_7, $-227(%rip) + LONG $0xff1d820f; WORD $0xffff // jb LBB32_7, $-227(%rip) -LBB33_8: +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 -LBB33_9: +LBB32_9: WORD $0xd789 // movl %edx, %edi LONG $0xfaaf0f49 // imulq %r10, %rdi LONG $0x2defc148 // shrq $45, %rdi @@ -9576,22 +10230,22 @@ LBB33_9: 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) + LONG $0xffb8870f; WORD $0xffff // ja LBB32_9, $-72(%rip) -LBB33_10: +LBB32_10: WORD $0xff83; BYTE $0x64 // cmpl $100, %edi - LONG $0x0020830f; WORD $0x0000 // jae LBB33_11, $32(%rip) + LONG $0x0020830f; WORD $0x0000 // jae LBB32_11, $32(%rip) WORD $0xff83; BYTE $0x0a // cmpl $10, %edi - LONG $0x004d820f; WORD $0x0000 // jb LBB33_14, $77(%rip) + LONG $0x004d820f; WORD $0x0000 // jb LBB32_14, $77(%rip) -LBB33_13: +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 LBB33_15, $61(%rip) + LONG $0x00003de9; BYTE $0x00 // jmp LBB32_15, $61(%rip) -LBB33_11: +LBB32_11: WORD $0xb70f; BYTE $0xc7 // movzwl %di, %eax WORD $0xe8c1; BYTE $0x02 // shrl $2, %eax LONG $0x147bc069; WORD $0x0000 // imull $5243, %eax, %eax @@ -9605,13 +10259,13 @@ LBB33_11: 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) + LONG $0xffb3830f; WORD $0xffff // jae LBB32_13, $-77(%rip) -LBB33_14: +LBB32_14: LONG $0x30c78040 // addb $48, %dil WORD $0x8840; BYTE $0x3e // movb %dil, (%rsi) -LBB33_15: +LBB32_15: WORD $0x294d; BYTE $0xc8 // subq %r9, %r8 WORD $0x894c; BYTE $0xc0 // movq %r8, %rax BYTE $0x5b // popq %rbx @@ -9633,31 +10287,31 @@ _left_shift: 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 $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 -LBB34_3: +LBB33_3: WORD $0xc084 // testb %al, %al - LONG $0x0025840f; WORD $0x0000 // je LBB34_8, $37(%rip) + LONG $0x0025840f; WORD $0x0000 // je LBB33_8, $37(%rip) LONG $0x32043841 // cmpb %al, (%r10,%rsi) - LONG $0x0189850f; WORD $0x0000 // jne LBB34_5, $393(%rip) + 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 LBB34_3, $-34(%rip) + LONG $0xffde850f; WORD $0xffff // jne LBB33_3, $-34(%rip) -LBB34_6: +LBB33_6: WORD $0xc084 // testb %al, %al - LONG $0x0003840f; WORD $0x0000 // je LBB34_8, $3(%rip) + LONG $0x0003840f; WORD $0x0000 // je LBB33_8, $3(%rip) -LBB34_7: +LBB33_7: WORD $0xff41; BYTE $0xc8 // decl %r8d -LBB34_8: +LBB33_8: WORD $0x8545; BYTE $0xc9 // testl %r9d, %r9d - LONG $0x008c8e0f; WORD $0x0000 // jle LBB34_23, $140(%rip) + 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 @@ -9665,7 +10319,7 @@ LBB34_8: QUAD $0xcccccccccccdbb49; WORD $0xcccc // movabsq $-3689348814741910323, %r11 LONG $0x90909090 // .p2align 4, 0x90 -LBB34_10: +LBB33_10: LONG $0x74be0f4b; WORD $0xff0a // movsbq $-1(%r10,%r9), %rsi LONG $0xd0c68348 // addq $-48, %rsi WORD $0xd348; BYTE $0xe6 // shlq %cl, %rsi @@ -9678,85 +10332,85 @@ LBB34_10: 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) + 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 LBB34_18, $19(%rip) + LONG $0x000013e9; BYTE $0x00 // jmp LBB33_18, $19(%rip) WORD $0x9090; BYTE $0x90 // .p2align 4, 0x90 -LBB34_16: +LBB33_16: WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x0007840f; WORD $0x0000 // je LBB34_18, $7(%rip) + LONG $0x0007840f; WORD $0x0000 // je LBB33_18, $7(%rip) LONG $0x011c47c7; WORD $0x0000; BYTE $0x00 // movl $1, $28(%rdi) -LBB34_18: +LBB33_18: LONG $0x02f98349 // cmpq $2, %r9 - LONG $0x000e8c0f; WORD $0x0000 // jl LBB34_12, $14(%rip) + 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 LBB34_10, $-104(%rip) + LONG $0xffff98e9; BYTE $0xff // jmp LBB33_10, $-104(%rip) -LBB34_12: +LBB33_12: LONG $0x0afe8348 // cmpq $10, %rsi - LONG $0x0067830f; WORD $0x0000 // jae LBB34_13, $103(%rip) + LONG $0x0067830f; WORD $0x0000 // jae LBB33_13, $103(%rip) -LBB34_23: +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 LBB34_25, $5(%rip) + LONG $0x0005870f; WORD $0x0000 // ja LBB33_25, $5(%rip) WORD $0x4f89; BYTE $0x10 // movl %ecx, $16(%rdi) WORD $0xc889 // movl %ecx, %eax -LBB34_25: +LBB33_25: LONG $0x14470144 // addl %r8d, $20(%rdi) WORD $0xc085 // testl %eax, %eax - LONG $0x002f8e0f; WORD $0x0000 // jle LBB34_29, $47(%rip) + 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 -LBB34_27: +LBB33_27: WORD $0xc8ff // decl %eax LONG $0x30013c80 // cmpb $48, (%rcx,%rax) - LONG $0x0018850f; WORD $0x0000 // jne LBB34_31, $24(%rip) + 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 LBB34_27, $-28(%rip) + LONG $0xffe48f0f; WORD $0xffff // jg LBB33_27, $-28(%rip) -LBB34_29: +LBB33_29: WORD $0xc085 // testl %eax, %eax - LONG $0x006b840f; WORD $0x0000 // je LBB34_30, $107(%rip) + LONG $0x006b840f; WORD $0x0000 // je LBB33_30, $107(%rip) -LBB34_31: +LBB33_31: BYTE $0x5b // popq %rbx WORD $0x5e41 // popq %r14 BYTE $0x5d // popq %rbp BYTE $0xc3 // retq -LBB34_13: +LBB33_13: WORD $0x6349; BYTE $0xf6 // movslq %r14d, %rsi WORD $0xff48; BYTE $0xce // decq %rsi - LONG $0x000021e9; BYTE $0x00 // jmp LBB34_14, $33(%rip) + LONG $0x000021e9; BYTE $0x00 // jmp LBB33_14, $33(%rip) QUAD $0x9090909090909090; LONG $0x90909090 // .p2align 4, 0x90 -LBB34_15: +LBB33_15: WORD $0x3004 // addb $48, %al WORD $0x8b48; BYTE $0x1f // movq (%rdi), %rbx WORD $0x0488; BYTE $0x33 // movb %al, (%rbx,%rsi) -LBB34_22: +LBB33_22: WORD $0xff48; BYTE $0xce // decq %rsi LONG $0x09f98348 // cmpq $9, %rcx - LONG $0xff6d860f; WORD $0xffff // jbe LBB34_23, $-147(%rip) + LONG $0xff6d860f; WORD $0xffff // jbe LBB33_23, $-147(%rip) -LBB34_14: +LBB33_14: WORD $0x8948; BYTE $0xd1 // movq %rdx, %rcx WORD $0x8948; BYTE $0xd0 // movq %rdx, %rax WORD $0xf749; BYTE $0xe3 // mulq %r11 @@ -9766,22 +10420,22 @@ LBB34_14: 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) + LONG $0xffc6870f; WORD $0xffff // ja LBB33_15, $-58(%rip) WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0xffc5840f; WORD $0xffff // je LBB34_22, $-59(%rip) + LONG $0xffc5840f; WORD $0xffff // je LBB33_22, $-59(%rip) LONG $0x011c47c7; WORD $0x0000; BYTE $0x00 // movl $1, $28(%rdi) - LONG $0xffffb9e9; BYTE $0xff // jmp LBB34_22, $-71(%rip) + LONG $0xffffb9e9; BYTE $0xff // jmp LBB33_22, $-71(%rip) -LBB34_30: +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 -LBB34_5: - LONG $0xfe898c0f; WORD $0xffff // jl LBB34_7, $-375(%rip) - LONG $0xfffe87e9; BYTE $0xff // jmp LBB34_8, $-377(%rip) +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: @@ -9797,9 +10451,9 @@ _right_shift: WORD $0xc031 // xorl %eax, %eax LONG $0x90909090 // .p2align 4, 0x90 -LBB35_1: +LBB34_1: WORD $0x3949; BYTE $0xd3 // cmpq %rdx, %r11 - LONG $0x0132840f; WORD $0x0000 // je LBB35_2, $306(%rip) + 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 @@ -9808,10 +10462,10 @@ LBB35_1: 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) + LONG $0xffd4840f; WORD $0xffff // je LBB34_1, $-44(%rip) WORD $0x8941; BYTE $0xd3 // movl %edx, %r11d -LBB35_7: +LBB34_7: WORD $0x578b; BYTE $0x14 // movl $20(%rdi), %edx WORD $0x2944; BYTE $0xda // subl %r11d, %edx WORD $0xc2ff // incl %edx @@ -9821,13 +10475,13 @@ LBB35_7: 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) + 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 -LBB35_9: +LBB34_9: WORD $0x8948; BYTE $0xc2 // movq %rax, %rdx WORD $0xd348; BYTE $0xea // shrq %cl, %rdx WORD $0x214c; BYTE $0xc8 // andq %r9, %rax @@ -9842,98 +10496,98 @@ LBB35_9: 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) + LONG $0xffc58c0f; WORD $0xffff // jl LBB34_9, $-59(%rip) + LONG $0x000017e9; BYTE $0x00 // jmp LBB34_10, $23(%rip) // .p2align 4, 0x90 -LBB35_12: +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 -LBB35_15: +LBB34_15: WORD $0x0148; BYTE $0xc0 // addq %rax, %rax LONG $0x80048d48 // leaq (%rax,%rax,4), %rax -LBB35_10: +LBB34_10: WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x002b840f; WORD $0x0000 // je LBB35_16, $43(%rip) + 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 LBB35_12, $-54(%rip) + LONG $0xffca870f; WORD $0xffff // ja LBB34_12, $-54(%rip) WORD $0x8548; BYTE $0xf6 // testq %rsi, %rsi - LONG $0xffd1840f; WORD $0xffff // je LBB35_15, $-47(%rip) + LONG $0xffd1840f; WORD $0xffff // je LBB34_15, $-47(%rip) LONG $0x011c47c7; WORD $0x0000; BYTE $0x00 // movl $1, $28(%rdi) - LONG $0xffffc5e9; BYTE $0xff // jmp LBB35_15, $-59(%rip) + LONG $0xffffc5e9; BYTE $0xff // jmp LBB34_15, $-59(%rip) -LBB35_16: +LBB34_16: LONG $0x10578944 // movl %r10d, $16(%rdi) WORD $0x8545; BYTE $0xd2 // testl %r10d, %r10d - LONG $0x00378e0f; WORD $0x0000 // jle LBB35_20, $55(%rip) + 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 -LBB35_18: +LBB34_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 $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 LBB35_18, $-31(%rip) + LONG $0xffe18f0f; WORD $0xffff // jg LBB34_18, $-31(%rip) -LBB35_20: +LBB34_20: WORD $0x8545; BYTE $0xd2 // testl %r10d, %r10d - LONG $0x0045840f; WORD $0x0000 // je LBB35_21, $69(%rip) + LONG $0x0045840f; WORD $0x0000 // je LBB34_21, $69(%rip) -LBB35_22: +LBB34_22: BYTE $0x5b // popq %rbx BYTE $0x5d // popq %rbp BYTE $0xc3 // retq -LBB35_2: +LBB34_2: WORD $0x8548; BYTE $0xc0 // testq %rax, %rax - LONG $0x0043840f; WORD $0x0000 // je LBB35_23, $67(%rip) + 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 LBB35_7, $-304(%rip) + LONG $0xfed0850f; WORD $0xffff // jne LBB34_7, $-304(%rip) -LBB35_4: +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 LBB35_4, $-25(%rip) - LONG $0xfffeb2e9; BYTE $0xff // jmp LBB35_7, $-334(%rip) + LONG $0xffe7840f; WORD $0xffff // je LBB34_4, $-25(%rip) + LONG $0xfffeb2e9; BYTE $0xff // jmp LBB34_7, $-334(%rip) -LBB35_21: +LBB34_21: LONG $0x001447c7; WORD $0x0000; BYTE $0x00 // movl $0, $20(%rdi) BYTE $0x5b // popq %rbx BYTE $0x5d // popq %rbp BYTE $0xc3 // retq -LBB35_23: +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 -LCPI36_0: +LCPI35_0: QUAD $0x2222222222222222; QUAD $0x2222222222222222 // .space 16, '""""""""""""""""' -LCPI36_1: +LCPI35_1: QUAD $0x5c5c5c5c5c5c5c5c; QUAD $0x5c5c5c5c5c5c5c5c // .space 16, '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' // .p2align 4, 0x90 @@ -9948,20 +10602,20 @@ _advance_string_default: BYTE $0x50 // pushq %rax LONG $0x087f8b4c // movq $8(%rdi), %r15 WORD $0x2949; BYTE $0xf7 // subq %rsi, %r15 - LONG $0x033f840f; WORD $0x0000 // je LBB36_13, $831(%rip) + 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 LBB36_14, $371(%rip) + 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 /* LCPI36_0(%rip) */ - QUAD $0xffffffa30d6f0f66 // movdqa $-93(%rip), %xmm1 /* LCPI36_1(%rip) */ + 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 -LBB36_3: +LBB35_3: LONG $0x166f0ff3 // movdqu (%rsi), %xmm2 LONG $0x5e6f0ff3; BYTE $0x10 // movdqu $16(%rsi), %xmm3 LONG $0x666f0ff3; BYTE $0x20 // movdqu $32(%rsi), %xmm4 @@ -9998,23 +10652,23 @@ LBB36_3: 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 LBB36_7, $44(%rip) + LONG $0x002c850f; WORD $0x0000 // jne LBB35_7, $44(%rip) WORD $0x854d; BYTE $0xf6 // testq %r14, %r14 - LONG $0x0042850f; WORD $0x0000 // jne LBB36_9, $66(%rip) + 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 LBB36_10, $126(%rip) + LONG $0x007e850f; WORD $0x0000 // jne LBB35_10, $126(%rip) -LBB36_6: +LBB35_6: LONG $0x40c68348 // addq $64, %rsi LONG $0xc0c78349 // addq $-64, %r15 LONG $0x3fff8349 // cmpq $63, %r15 - LONG $0xff42870f; WORD $0xffff // ja LBB36_3, $-190(%rip) - LONG $0x00008de9; BYTE $0x00 // jmp LBB36_15, $141(%rip) + LONG $0xff42870f; WORD $0xffff // ja LBB35_3, $-190(%rip) + LONG $0x00008de9; BYTE $0x00 // jmp LBB35_15, $141(%rip) -LBB36_7: +LBB35_7: LONG $0xd07d8348; BYTE $0xff // cmpq $-1, $-48(%rbp) - LONG $0x0014850f; WORD $0x0000 // jne LBB36_9, $20(%rip) + 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 @@ -10022,7 +10676,7 @@ LBB36_7: LONG $0xd04d8948 // movq %rcx, $-48(%rbp) WORD $0x8948; BYTE $0x0a // movq %rcx, (%rdx) -LBB36_9: +LBB35_9: WORD $0x894c; BYTE $0xf0 // movq %r14, %rax WORD $0xf748; BYTE $0xd0 // notq %rax WORD $0x2148; BYTE $0xd8 // andq %rbx, %rax @@ -10042,16 +10696,16 @@ LBB36_9: 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 LBB36_6, $-126(%rip) + LONG $0xff82840f; WORD $0xffff // je LBB35_6, $-126(%rip) -LBB36_10: +LBB35_10: LONG $0xc4bc0f49 // bsfq %r12, %rax -LBB36_11: +LBB35_11: WORD $0x294c; BYTE $0xde // subq %r11, %rsi LONG $0x06448d48; BYTE $0x01 // leaq $1(%rsi,%rax), %rax -LBB36_12: +LBB35_12: LONG $0x08c48348 // addq $8, %rsp BYTE $0x5b // popq %rbx WORD $0x5c41 // popq %r12 @@ -10061,17 +10715,17 @@ LBB36_12: BYTE $0x5d // popq %rbp BYTE $0xc3 // retq -LBB36_14: +LBB35_14: QUAD $0xffffffffd045c748 // movq $-1, $-48(%rbp) WORD $0x3145; BYTE $0xf6 // xorl %r14d, %r14d -LBB36_15: +LBB35_15: LONG $0x20ff8349 // cmpq $32, %r15 - LONG $0x00cf820f; WORD $0x0000 // jb LBB36_24, $207(%rip) + 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 /* LCPI36_0(%rip) */ - QUAD $0xfffffe1d1d6f0f66 // movdqa $-483(%rip), %xmm3 /* LCPI36_1(%rip) */ + 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 @@ -10085,20 +10739,20 @@ LBB36_15: WORD $0x0948; BYTE $0xc7 // orq %rax, %rdi LONG $0x10e1c148 // shlq $16, %rcx WORD $0x0948; BYTE $0xcb // orq %rcx, %rbx - LONG $0x001e850f; WORD $0x0000 // jne LBB36_20, $30(%rip) + LONG $0x001e850f; WORD $0x0000 // jne LBB35_20, $30(%rip) WORD $0x854d; BYTE $0xf6 // testq %r14, %r14 - LONG $0x0034850f; WORD $0x0000 // jne LBB36_22, $52(%rip) + 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 LBB36_23, $97(%rip) + LONG $0x0061840f; WORD $0x0000 // je LBB35_23, $97(%rip) -LBB36_19: +LBB35_19: LONG $0xc7bc0f48 // bsfq %rdi, %rax - LONG $0xffff65e9; BYTE $0xff // jmp LBB36_11, $-155(%rip) + LONG $0xffff65e9; BYTE $0xff // jmp LBB35_11, $-155(%rip) -LBB36_20: +LBB35_20: LONG $0xd07d8348; BYTE $0xff // cmpq $-1, $-48(%rbp) - LONG $0x0014850f; WORD $0x0000 // jne LBB36_22, $20(%rip) + 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 @@ -10106,7 +10760,7 @@ LBB36_20: LONG $0xd04d8948 // movq %rcx, $-48(%rbp) WORD $0x8948; BYTE $0x0a // movq %rcx, (%rdx) -LBB36_22: +LBB35_22: WORD $0x8944; BYTE $0xf0 // movl %r14d, %eax WORD $0xd0f7 // notl %eax WORD $0xd821 // andl %ebx, %eax @@ -10124,81 +10778,81 @@ LBB36_22: WORD $0xd1f7 // notl %ecx WORD $0xcf21 // andl %ecx, %edi WORD $0x8548; BYTE $0xff // testq %rdi, %rdi - LONG $0xff9f850f; WORD $0xffff // jne LBB36_19, $-97(%rip) + LONG $0xff9f850f; WORD $0xffff // jne LBB35_19, $-97(%rip) -LBB36_23: +LBB35_23: LONG $0x20c68348 // addq $32, %rsi LONG $0xe0c78349 // addq $-32, %r15 -LBB36_24: +LBB35_24: WORD $0x854d; BYTE $0xf6 // testq %r14, %r14 - LONG $0x0089850f; WORD $0x0000 // jne LBB36_35, $137(%rip) + 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 LBB36_12, $-268(%rip) + LONG $0xfef4840f; WORD $0xffff // je LBB35_12, $-268(%rip) -LBB36_26: +LBB35_26: WORD $0x894d; BYTE $0xd9 // movq %r11, %r9 WORD $0xf749; BYTE $0xd1 // notq %r9 -LBB36_27: +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 LBB36_34, $88(%rip) + 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 LBB36_30, $20(%rip) + 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 LBB36_27, $-44(%rip) - LONG $0xfffebde9; BYTE $0xff // jmp LBB36_12, $-323(%rip) + LONG $0xffd4850f; WORD $0xffff // jne LBB35_27, $-44(%rip) + LONG $0xfffebde9; BYTE $0xff // jmp LBB35_12, $-323(%rip) -LBB36_30: +LBB35_30: WORD $0x8548; BYTE $0xff // testq %rdi, %rdi - LONG $0xfeb4840f; WORD $0xffff // je LBB36_12, $-332(%rip) + LONG $0xfeb4840f; WORD $0xffff // je LBB35_12, $-332(%rip) LONG $0xd07d8348; BYTE $0xff // cmpq $-1, $-48(%rbp) - LONG $0x000a850f; WORD $0x0000 // jne LBB36_33, $10(%rip) + 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) -LBB36_33: +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 LBB36_27, $-99(%rip) - LONG $0xfffe86e9; BYTE $0xff // jmp LBB36_12, $-378(%rip) + LONG $0xff9d850f; WORD $0xffff // jne LBB35_27, $-99(%rip) + LONG $0xfffe86e9; BYTE $0xff // jmp LBB35_12, $-378(%rip) -LBB36_34: +LBB35_34: WORD $0x294c; BYTE $0xd9 // subq %r11, %rcx WORD $0x8948; BYTE $0xc8 // movq %rcx, %rax - LONG $0xfffe7be9; BYTE $0xff // jmp LBB36_12, $-389(%rip) + LONG $0xfffe7be9; BYTE $0xff // jmp LBB35_12, $-389(%rip) -LBB36_35: +LBB35_35: WORD $0x854d; BYTE $0xff // testq %r15, %r15 - LONG $0x0036840f; WORD $0x0000 // je LBB36_13, $54(%rip) + LONG $0x0036840f; WORD $0x0000 // je LBB35_13, $54(%rip) LONG $0xd07d8348; BYTE $0xff // cmpq $-1, $-48(%rbp) - LONG $0x0010850f; WORD $0x0000 // jne LBB36_38, $16(%rip) + 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) -LBB36_38: +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 LBB36_26, $-179(%rip) - LONG $0xfffe3ce9; BYTE $0xff // jmp LBB36_12, $-452(%rip) + LONG $0xff4d850f; WORD $0xffff // jne LBB35_26, $-179(%rip) + LONG $0xfffe3ce9; BYTE $0xff // jmp LBB35_12, $-452(%rip) -LBB36_13: +LBB35_13: LONG $0xffc0c748; WORD $0xffff; BYTE $0xff // movq $-1, %rax - LONG $0xfffe30e9; BYTE $0xff // jmp LBB36_12, $-464(%rip) + LONG $0xfffe30e9; BYTE $0xff // jmp LBB35_12, $-464(%rip) QUAD $0x0000000000000000; WORD $0x0000 // .p2align 4, 0x00 _POW10_M128_TAB: @@ -11628,7 +12282,7 @@ _Digits: QUAD $0x3939383937393639 // .ascii 8, '96979899' QUAD $0x0000000000000000 // .p2align 4, 0x00 -_LB_1bc466b0: // _pow10_ceil_sig.g +_LB_9e78d5f3: // _pow10_ceil_sig.g QUAD $0xff77b1fcbebcdc4f // .quad -38366372719436721 QUAD $0x25e8e89c13bb0f7b // .quad 2731688931043774331 QUAD $0x9faacf3df73609b1 // .quad -6941508010590729807 @@ -14283,7 +14937,7 @@ _P10_TAB: QUAD $0x4480f0cf064dd592 // .quad 0x4480f0cf064dd592 QUAD $0x0000000000000000 // .p2align 4, 0x00 -_LB_d54a5c15: // _pow10_ceil_sig_f32.g +_LB_effe8bde: // _pow10_ceil_sig_f32.g QUAD $0x81ceb32c4b43fcf5 // .quad -9093133594791772939 QUAD $0xa2425ff75e14fc32 // .quad -6754730975062328270 QUAD $0xcad2f7f5359a3b3f // .quad -3831727700400522433 @@ -14374,7 +15028,7 @@ _entry: _f32toa: MOVQ out+0(FP), DI MOVSD val+8(FP), X0 - CALL ·__native_entry__+29440(SB) // _f32toa + CALL ·__native_entry__+31760(SB) // _f32toa MOVQ AX, ret+16(FP) RET @@ -14394,7 +15048,7 @@ _entry: _f64toa: MOVQ out+0(FP), DI MOVSD val+8(FP), X0 - CALL ·__native_entry__+448(SB) // _f64toa + CALL ·__native_entry__+160(SB) // _f64toa MOVQ AX, ret+16(FP) RET @@ -14407,7 +15061,7 @@ TEXT ·__get_by_path(SB), NOSPLIT | NOFRAME, $0 - 40 _entry: MOVQ (TLS), R14 - LEAQ -256(SP), R12 + LEAQ -240(SP), R12 CMPQ R12, 16(R14) JBE _stack_grow @@ -14416,7 +15070,7 @@ _get_by_path: MOVQ p+8(FP), SI MOVQ path+16(FP), DX MOVQ m+24(FP), CX - CALL ·__native_entry__+26304(SB) // _get_by_path + CALL ·__native_entry__+26384(SB) // _get_by_path MOVQ AX, ret+32(FP) RET @@ -14438,7 +15092,7 @@ _html_escape: MOVQ nb+8(FP), SI MOVQ dp+16(FP), DX MOVQ dn+24(FP), CX - CALL ·__native_entry__+9360(SB) // _html_escape + CALL ·__native_entry__+9072(SB) // _html_escape MOVQ AX, ret+32(FP) RET @@ -14458,7 +15112,7 @@ _entry: _i64toa: MOVQ out+0(FP), DI MOVQ val+8(FP), SI - CALL ·__native_entry__+3712(SB) // _i64toa + CALL ·__native_entry__+3424(SB) // _i64toa MOVQ AX, ret+16(FP) RET @@ -14479,7 +15133,7 @@ _lspace: MOVQ sp+0(FP), DI MOVQ nb+8(FP), SI MOVQ off+16(FP), DX - CALL ·__native_entry__+80(SB) // _lspace + CALL ·__native_entry__+16(SB) // _lspace MOVQ AX, ret+24(FP) RET @@ -14502,7 +15156,7 @@ _quote: MOVQ dp+16(FP), DX MOVQ dn+24(FP), CX MOVQ flags+32(FP), R8 - CALL ·__native_entry__+5152(SB) // _quote + CALL ·__native_entry__+4864(SB) // _quote MOVQ AX, ret+40(FP) RET @@ -14524,7 +15178,7 @@ _skip_array: MOVQ p+8(FP), SI MOVQ m+16(FP), DX MOVQ flags+24(FP), CX - CALL ·__native_entry__+18800(SB) // _skip_array + CALL ·__native_entry__+18112(SB) // _skip_array MOVQ AX, ret+32(FP) RET @@ -14544,7 +15198,7 @@ _entry: _skip_number: MOVQ s+0(FP), DI MOVQ p+8(FP), SI - CALL ·__native_entry__+22448(SB) // _skip_number + CALL ·__native_entry__+22128(SB) // _skip_number MOVQ AX, ret+16(FP) RET @@ -14566,7 +15220,7 @@ _skip_object: MOVQ p+8(FP), SI MOVQ m+16(FP), DX MOVQ flags+24(FP), CX - CALL ·__native_entry__+20832(SB) // _skip_object + CALL ·__native_entry__+20512(SB) // _skip_object MOVQ AX, ret+32(FP) RET @@ -14588,7 +15242,7 @@ _skip_one: MOVQ p+8(FP), SI MOVQ m+16(FP), DX MOVQ flags+24(FP), CX - CALL ·__native_entry__+22608(SB) // _skip_one + CALL ·__native_entry__+22288(SB) // _skip_one MOVQ AX, ret+32(FP) RET @@ -14601,14 +15255,14 @@ TEXT ·__skip_one_fast(SB), NOSPLIT | NOFRAME, $0 - 24 _entry: MOVQ (TLS), R14 - LEAQ -168(SP), R12 + 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__+22832(SB) // _skip_one_fast + CALL ·__native_entry__+22512(SB) // _skip_one_fast MOVQ AX, ret+16(FP) RET @@ -14628,7 +15282,7 @@ _entry: _u64toa: MOVQ out+0(FP), DI MOVQ val+8(FP), SI - CALL ·__native_entry__+3840(SB) // _u64toa + CALL ·__native_entry__+3552(SB) // _u64toa MOVQ AX, ret+16(FP) RET @@ -14651,7 +15305,7 @@ _unquote: MOVQ dp+16(FP), DX MOVQ ep+24(FP), CX MOVQ flags+32(FP), R8 - CALL ·__native_entry__+6992(SB) // _unquote + CALL ·__native_entry__+6704(SB) // _unquote MOVQ AX, ret+40(FP) RET @@ -14672,7 +15326,7 @@ _validate_one: MOVQ s+0(FP), DI MOVQ p+8(FP), SI MOVQ m+16(FP), DX - CALL ·__native_entry__+22656(SB) // _validate_one + CALL ·__native_entry__+22336(SB) // _validate_one MOVQ AX, ret+24(FP) RET @@ -14693,7 +15347,7 @@ _validate_utf8: MOVQ s+0(FP), DI MOVQ p+8(FP), SI MOVQ m+16(FP), DX - CALL ·__native_entry__+28208(SB) // _validate_utf8 + CALL ·__native_entry__+30528(SB) // _validate_utf8 MOVQ AX, ret+24(FP) RET @@ -14712,7 +15366,7 @@ _entry: _validate_utf8_fast: MOVQ s+0(FP), DI - CALL ·__native_entry__+28880(SB) // _validate_utf8_fast + CALL ·__native_entry__+31200(SB) // _validate_utf8_fast MOVQ AX, ret+8(FP) RET @@ -14735,7 +15389,7 @@ _value: MOVQ p+16(FP), DX MOVQ v+24(FP), CX MOVQ flags+32(FP), R8 - CALL ·__native_entry__+12560(SB) // _value + CALL ·__native_entry__+12272(SB) // _value MOVQ AX, ret+40(FP) RET @@ -14756,7 +15410,7 @@ _vnumber: MOVQ s+0(FP), DI MOVQ p+8(FP), SI MOVQ v+16(FP), DX - LEAQ ·__native_entry__+16416(SB), AX // _vnumber + LEAQ ·__native_entry__+15728(SB), AX // _vnumber JMP AX _stack_grow: @@ -14776,7 +15430,7 @@ _vsigned: MOVQ s+0(FP), DI MOVQ p+8(FP), SI MOVQ v+16(FP), DX - LEAQ ·__native_entry__+18064(SB), AX // _vsigned + LEAQ ·__native_entry__+17376(SB), AX // _vsigned JMP AX _stack_grow: @@ -14797,7 +15451,7 @@ _vstring: MOVQ p+8(FP), SI MOVQ v+16(FP), DX MOVQ flags+24(FP), CX - LEAQ ·__native_entry__+14800(SB), AX // _vstring + LEAQ ·__native_entry__+14112(SB), AX // _vstring JMP AX _stack_grow: @@ -14817,7 +15471,7 @@ _vunsigned: MOVQ s+0(FP), DI MOVQ p+8(FP), SI MOVQ v+16(FP), DX - LEAQ ·__native_entry__+18448(SB), AX // _vunsigned + LEAQ ·__native_entry__+17760(SB), AX // _vunsigned JMP AX _stack_grow: 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 index ed972946..2682825e 100644 --- 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 @@ -9,34 +9,34 @@ package sse func __native_entry__() uintptr var ( - _subr__f32toa = __native_entry__() + 29440 - _subr__f64toa = __native_entry__() + 448 - _subr__get_by_path = __native_entry__() + 26304 - _subr__html_escape = __native_entry__() + 9360 - _subr__i64toa = __native_entry__() + 3712 - _subr__lspace = __native_entry__() + 80 - _subr__quote = __native_entry__() + 5152 - _subr__skip_array = __native_entry__() + 18800 - _subr__skip_number = __native_entry__() + 22448 - _subr__skip_object = __native_entry__() + 20832 - _subr__skip_one = __native_entry__() + 22608 - _subr__skip_one_fast = __native_entry__() + 22832 - _subr__u64toa = __native_entry__() + 3840 - _subr__unquote = __native_entry__() + 6992 - _subr__validate_one = __native_entry__() + 22656 - _subr__validate_utf8 = __native_entry__() + 28208 - _subr__validate_utf8_fast = __native_entry__() + 28880 - _subr__value = __native_entry__() + 12560 - _subr__vnumber = __native_entry__() + 16416 - _subr__vsigned = __native_entry__() + 18064 - _subr__vstring = __native_entry__() + 14800 - _subr__vunsigned = __native_entry__() + 18448 + _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 = 256 + _stack__get_by_path = 240 _stack__html_escape = 64 _stack__i64toa = 16 _stack__lspace = 8 @@ -45,7 +45,7 @@ const ( _stack__skip_number = 72 _stack__skip_object = 128 _stack__skip_one = 128 - _stack__skip_one_fast = 168 + _stack__skip_one_fast = 136 _stack__u64toa = 8 _stack__unquote = 88 _stack__validate_one = 128 diff --git a/vendor/github.com/bytedance/sonic/introduction-1.png b/vendor/github.com/bytedance/sonic/introduction-1.png deleted file mode 100644 index 3a2845ec65a27805946cb1de82087a05c7472a87..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 57447 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 (0`R52n`7l4LUk+VUI3qTd|R0beE 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 diff --git a/vendor/github.com/bytedance/sonic/introduction-2.png b/vendor/github.com/bytedance/sonic/introduction-2.png deleted file mode 100644 index 25b16638ce62ca1795ed672e9866bc5ed8fbf00c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 68075 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%0AX*ie^rZCegE!G{gmOe ztFn??joVgO6}6ieX~{xF3vWGFg_Vj3Kw%wlj5Pv_EW|@RLGJE@zwWkfsst^aKD7!7 zAF7b0?oETVcb#T-hbATsPq;xjXyG==O$@Yyi<_K#tN4Aq7XQB=o8ZiwFfZN4Uda8v zu=B~fHeEvk&|i)FGsL82ejJgevIot4%^ZZztj^kIl?R*3w}v;gUxnrNE$@*uZg4kx zC=HZ-IoT}yA*|9KY3ifDqbEM=V=QGJ^}F{@Tu^OpRIyY^_ggs7lR*YtY-lcb-ZO-; z4-cvR8bKc9%ad#m`rxrXpy|H==vaext1-W5B!UuGr=|=^cMsL(GKbn3eV)y~upcS= zk@(J}z~J#Gg+iCj$vahNIy5yIW4bxdIS<|Fca4y;tAp{~v=E^hY@(~`CYqw}poqUoiL2VFtq z9_RKOF8LAjL7JxfTmDo^cSFmN9ffy3yBtoJTathl=DI0~__>B`5@U|qRw$~zn*PI_ zx_WPw$sw+J=V9V+?zUrN{~u9r;TF~RwGT7H&wBj31CTvQR^nzo+NuEvSWjoCPAW1b`J-^LD8dn#e z7xTVxxHzy{bW@gAsGF?tTlk5>X&ZB(wl!GI-RQaaMo-8VT6CJa2EP1z{`6S%j8psV z3?CrH?0Gl4iRqYtzy=T8I5!zPxzQK6DU%&IN6s-!s7O&v<9av;EFe}bgnK2}W0`*` zs{KiR#42dgAEsvHz{o|9@%PV)yH?bI6IgVg%(1s)u| zKXF;f5zx6^5w&55R=eV1^VH?E9172eCD&`ME{SVO#ZDx~q~YG&4Zv=${?aJ$%#Dud zhd;Z_7WZeBm6fTBMosQ+W-q+SWuIFCG96fggt`MtNCX%zhZ~BvReJq{+`Ib*;I{PR z^Qg9uxN`;w2M>_BnqMh{*Xfv;k_5!N$a0yzujf+A%v#&JvJ1!UJfm z8jURdirqZR=LGDRF)x>ochkmp(lb(1N!AP(bTt-qgts<1)7Jy-QxQBru<>q~pQlGT zrU+6`H-dP0_A$ukk!`)n<}Ns@K2?h_jd=^>q$5V@qee+m5vLfp-;h+VL0HMs9sl6R zuC1Fu4blHEP$j$;4d9@|%C0@y435)Zhgt0%9aR~3ziP2@7W|;*Wu-Aq^AEfD38*qP zR>lvF`j#&hT~deU|>qk$}+I7UnH)40w49tCQC(V zUu1{#>hZfWw*yvS8fIJ%STnlONQZx2C1Q(2(@iW3Xh?c1E^_u>}ob1z@I zyH0XEnA!vf^VUMGU$<%k;XPdn7F}Hpk?U;Q6&V2cNruo@cI`f$KeE?mP+x&TZfDh7 z-<&_^Q;YXch56Y^R=NyFf@N(S;wi*;5fdr<93+IfpBl#9=1JX|`^5*0q1R-;B2ip9 z$uF^I3k#m%Mxt~qpgXG0bq>Agrg$g6FNtT71NDM^c}DqhCt79jsM&-3xkt?C&dvXV zt$j{4EgG!<;*Fcvw7#JL;D{0~byzz%{2CP>Y)@1xPN^R9?d{So#d4W8=RXZlnt5fw z4-A!7dQ7lEB@qx802A4{eo;QY>#`kW%!+Mn{11Nv#A5Xh5gN+u{{b#)Ve=0ebLL=q z90ay(uu?V%&<4BOo(}q-TT`FkL+52g(Ybc)P>YK&kM){z$;92QrXY|bR=v1KBl;bS zwT1Aje;(dg;3EFH?m0b!sdeck3tZEc+cwHv-76|9?UnU?wl}NY8iH{BMgaLBY)LQ0 z{`$WVnFP4z(tdB5IulnpP`EOL@lFN2@Po4>m{H%`gO#2jubwfeJ&>&y&{ZChx%TCt zZA5@_92?@>;K_FOW!Wt8#F$`CDFS5&xr5PL;VN< zblS44W-r@|;tZOcw!oSf=rs6u7rTLYbaFD*szNwOYAkQGwL<|_3DDa6{u5zF>b(%k zgg-p2TOgf?vm$ZEeNBt<%Gh9c^VT_`Js@#~g#^O;uR*Fy3S2JN0Up zG?fY)aJJ^ms@+&$h5oNHOd4wb2dBZNKi4v>#FK>W=jTbILElIG)l~@L#0Y_)g4a1a z+_j7#@+7#g!U68~r+NCbkgC8rDr!y>wV znxMY~T~5AW*mIvHcct%1B8jLdsRiJGG@Ru-G~Dz0uW@#KmmynW({bVi)aZe4=olVU$G$Un2Rd0B^N-l7SCKqW zye0)__^c4MKx_WI1<3ex=Rf?FZkzHunbmao6J+%#;`bx#pk>G+LbweG6ICz-cbz}` z+j9%OU<)_>xeQd`roc2~<9*=a1 zSfzi{2D~PFdJ{pFwf+CGHeoWqi_%QpGZ5VhV*59zHZ4Osn^?v_!%9n8fp89{HxItO zTTVXXhf;H$uKzkXXUN0xqxn3?tt(nlU;p~uY4>SjrP z+6DZ`h)5(hQsc+|#Padv$%*gYeY@^s@<*uIi%s*yeG0!RjFl#Pzu*0M1lJ+{8AWbC z^(mgUcTLwQiN6|(x$x5)$ivi--mjIR8zERLcQ>gOIln8)bO#|J07AJ3mDf)%{SWQF zlw$n=Cfz7Ek6R`wDp>h3qP-r{l+S6TVm&i@@p^KsguEl@BHh#ZP(x4mqRE%Q!E6c1 zTSD*gH1A;NB8#~+*nT^Lu(}Pq-WN06wvFKM=;psUuH%hB+|f}KpzO`X060jBQ0!av zL!EZOI?7ALt~2%Gu9&1uIxHe$Xfz^%Q6ox& z`;vjX?fUFY<(Ts@J4Yb*5wezYauRiMZH}z8a!(tz28MP5q95K;@eY*>id6E@jyURHL!(eGLXnBH&$OTAaV>U?UIaNFVU$vIxfHlua-w>wH6@e z8oc6uv|U}#ZYB1&2!877qe#(aq`IV?g-RQv%wgvuBGaeKS7N4jM5TI35_qtJDxNTpvfFnbm{pXeZLj$7Dum-Br6n_-gE)*bG0Q_U(Kvv5Ak=R#%s(H} zTnbet0!P{B&YB@X`~1UCCkA$xFp7Gvo%r69%0mvAploedyw2CCI=5f0Dc+bpg=1*3 ztcPYaCPTd}`cKNeSV=7^-tZbu(p`B=V^WV~gOY#1RWw6PG z;MzWtJfzXHr2=@uS0dmdjt^f-r&(3c1y?f!&=8lxp%qiTQ9VADg zHpat`aS;8)Hik&7I0{kC^iWlvby(~-`>`O*r(Y0V2)~=fkFEAj%6-=CyrfCycy#4* zTppTa2r-<(RA686E?e~JzAM|xdcX&1q5_gcqy3rkIQsDCrYSR?-SsdSE7w2?E9C6_ z++xbrrM)>{^>uKpCiy6VZ!graz5y;2|!NJtxVlov2Vy}2G6=`6lJ#uQ{{;H59 zag#y=@BTueniz_*AZWoIY zBzur==p+WH!aHFK=-4t!mR#;<%5o4sDSw@pR_g-Hv?d2j@Ndt|>k%1^F;EX@HV%Dj z$E6^?1ZxN}7eM)5U6-oD_m_)zTZ@h}ko>Si%;pYCZ>Lgr&Yr>>?Tq3{D+ZbH-Xub= zlPnbDCHPZSv`a)tgs)k_dCV^n|Mmx}sjJJsiSv;yCdjIarah-CCxh56I3eP@{bxuW?lez@Ic^OvEA zAcB5}QY6krzcvAc{}|<#5nPJ9${tg1`-j%v1KFX88ns3?*| zVQua3XV3G5EN$j|`9M#cD)}B{ppiGi-0q`diWv)-oG|BB?n~YVmGnUQpXu z>L1&zQR4d~dCHeBLu&c-zlff-lgZ(+N#~RxyU#)nI5qmHJSHe%Hpz&J8?{A|FCL@e zR9@F>8p^r4gC{+19-r8^ziADLxI0aA(xaMg&^ns02#FajM`&tZ@z1PEJpU-|#c5%M zvzgzJVW#*fF@96?miF=CvUvN_PNy1g0h_Nmk&ZZPC_U{lER9w#^~Uws@*OYbw2vg8 z7*+y7%V^bCJWw0n-{mvRRc9&Oit%*c-(~E;+m%3Gb*x|oa^}Lr!{_l8ti$|CA?E6c z_2+K4W|Yd*tb~oegt+AU)ij<;Mjb~beKlkei=^1F4{UuRav=WB;98jB`%d z;5J2FS(2B7T*$Ak{#$zV=5;z_q{2>{V|S4OFKmMSnIpXG+(c#*GBTnJ+KTNfw2rWL z--N^MuR(t8#qrKgWh~&pQ3ywBK8qs#_AzApprS`PeUm`Yu4aRw-Mcf2$Y!&webE~W zQxIFJPqF$d>g9Rw%wx2>mu`3l`T2}D4yJlwHq2N-h8Z1)FRy7bV&&?6Ak&RJWBUZi z*GY{>j1}{9rq<@{%tkbO%bS&D$1o&AkM=JPJjn7vChG4nk~C*b3_d2dmfy}?m|;d^ zO3Rrs*Ut*V?8kh4oU0#J?6^bR&c2(k{McTsQ1srZY^ID`e#eWeeY=e_Ym*<^Y%P)& zips3^PucEub+G1}j2^%xb&58SJB!PeK9Wvi8t4HJM8SZ}?!(HDG^us<1RgV~|YG@*qy;Nnkvy^ysigkY8i?R`t|Fe*A<*+oa z;dOTA3zVnp+2J8N%$we-C~_Squ*lopBAYrPh1y<^Fs#MpRl z;7F?Qt%XPmlI!@0JC&WQ2F7#Osbg~dBAA%aY^~njk)RGZVG;^?kJb` zz0VCg4gD(l%}fSb3GuwR(x*f1vTW;6lHNmWo=e zYBWdy&GOF3{I&4E;yAyMH>29BQ?f_Cw*xg*d-?yg0D;YvkGr>f)f~? z)Yf*BnKIO8 zBVY>sz;!gLAZu&n-)jGukoWe$&K9KZ?Z;8x12n;SN5^bb%+J+km5Ubpb==aOY+XxS zTxib2r6&`vO=G)`hfl_joed0eK+PZkY-((2>FFNCf@lFJ70Vkmj}>&(5$k#glQ&V` zb;*@?@pzzEx~f~0)%0_5j#uadAh57H0s-Y0BWf&-1cXW%?>^ewspy3Rcg;*H5^m`7 z*{`u!}kh)eatf8Q%(Wy{pVsV%qO zpknc1bk4Zg>T|y|3Y(JK{gY<^wSDlmPXHk9voQ)m>rkg?dp|<9o7OYiM`&o!d+_Mk zy+x^sGB4_&?8&1U z*w*AMrtwyudAfB0;nO-L{H%pWL@5d6U%yBL$h2&spKU~aGkHkKZ1zt_>zB?t&(db< z3C^~078-?gPQ_`Mo1y0rYa5$tn^}$u=N4*IM1IZ`h;@knA6pLNC`aHq{Gnu;r&k{UU{sq3C8Vv!-t(~R%hLH4(j~A*&=e3H6<0D<~=Tb zv*zzza^=uY1Pd6VN9Gn5L&^(3360N(th??%1SE|n#&?eQ(A$)2ns|AyzALy2jg!Os z`eOr^nVI?TG~g2K<}{9?;pI(m#{-SgRo#6tTE-lUjHGqSfDe$tcvl>~#iHK_`zH|? znpQe^R3Al1p8adNYpaZean_K&&zIwSlXP2%4s8av*wuXMO*TxQY#}-#jz>q_Fa7%~ zL4SGDU3S`Vx^QfNR(E-NC_%5?Imz#Oqin2I-l5@?a3}H|0Upuc*u`L*O`9d-!(0j= z7)YYYV5CVu{$~4^AwNo-ZRwsEml!0ufYHd^jQFMY)PUFQ?LufiL;JBUoA9@)tORn- z`izxQB>eJ=6)=*BM zj532WKf~XFC<*bA@^N8gvmi9a;EbQQxEJKiM5F61x}PQd_Dpg-n*NmT6qc&PQ@7^k`UTv~xTu=IoL)!rcUZah7!*6Y{&ZEebyc{ZI(tTNvxV4h&AH!LH0du6j#a%mlu@ zy>0kVKJ!t}86cbEGE{V*FI=7#%CI0w5=gIndqOaF@hj=#9Pzjw*(xz~hd~`xj-lS) z6IJ>l^j6x-wbi8!p$>}cqQ*}VWW;l57&|@4cN-tyH7{DGc0><^VItX&|5A23?@8jE zJr_S&ykWH)>q)jx$nuH6d)CqPA4(D^2tnSsqIulR)0Wrz;>vhR@scEDwjXo)G(q-v z8w~z)NXPq~9tV-on`!!1Q~s)*WHpMKchepNP2W+&@@^RYb(@NNdSn3ko0Sq(I1N}0 z&$1lli2%jruMN^*Ns3jK52QjLn?Ab69#g-Z6gCzyv}qb|*38Jo$tig6Qb*^Yx-M#e z%iQO!wSfOi)5^yvA_hS+kQjJ_vFOUxrOj#*xKAcpB48iyO<(<1s3vgv_Y!O@YHHs+ zI+mekJg}5F zO`>DtKv>vBZ z;n??t;c*dTQj)R+Z+(HBNg_RYCC&z`f<&Q4|IOb*TyY`AQbt4eWm~L+W+DtmT&N!J z}LJT3W>!8gAE>_!3i> z$MXu798&y*?Ccfbgr}qJcyAvcZreF7tP(mF8NlV9orQj&cThk;dPE2b$cK5Awb8y8 zhj`4Ujo|WM=_}wY^5ts8Tc3ZAKHNfQ=TP?Uf37zP%T4&~B>TpC#PQ>^OcNnK3Ent5 z$lxHF=;!Y|#W*{?c+o3yc56D-7y?|`Q+fm^Wj52LRFC5*@_V#Cj6W++xt23(L_Z05EkX{=Fi(h!d4t#(8BWES^WQaC;hK)%*)|$ zJUik6`#quD92z96$`g1X{0}VL2EqPH2C?6hISdbhA5qqW@wh_LU#gEt7++H{j5qR~ zW(xUDli(L*C*mGiQ#JXRI6hZBRb(Y?(}Cp~PMob6%wPV^4~&z8SQ(B>5wpV0)-4;QH0eBf6nK*u2!Bnf2 zX{0{QQX#OeE!Q73vz6j19Aq7oMo&i|pw=-i5G?x{%=gm0At3hviP9g(IUr z6d5u3vJ_q)kTw!tDOipTkGOse*g69i)#=`{WnI#ObkEZ4GB+R64t;NnF7k*v#0-30 zz7W7aeg8#PI$*7jp(%g2wX))9exf%bPlyQ4_f%O@QW6#xcH&>m45?(QGGRQ~7dME7 zAqYW@dI;f7*&@JNW>z%Kx9<`V5-7*gMXu2Ji~jB|Y=v`Xdv~>JCUY_R ztd&w{rdpUBTZ*L#!%2viMe9AN;468vgor3gu#kv~&t?=OP@@;P_!vQq2zZ0g_pG>? zY74u4&{sUT!S}K5rp))abK(kGMwiH8O7iM+0kXqM)dVj+uFY7o5-B znhs|w0{6Zj`O`uLX3F!6n*S>#r9P2cyYx{bV^7psgDn3Dx)^_RHVB||nN4Mxms#V-vqtNIVPsI$}sg6b9kRV z9TA!Q;myKK#qeMHkl7@ak#_y$b;S!B05K6jh%0-*qLLt&khr*2hz%V@lqHcI$hz)qIJ5JmBF!S(Mde5RnTP9wminEWd^aHjPs0y%PP@h2Vs#=> zo08a5EW_l)!m(dVy;ZeBnSX3!K1B_p6uWl~6BzQ)=6He0%n>E^D(<oe$_WeS`lIIxUHKB)RrT(2Nx`(+Yi^qZxHP0ahFjVYo?;XmU~$c4n5ku(!%H* z%MAa->L=x*7{}dP@dn2B2VWJPM%LyU={rvUggPfbN)m2_B1Rb-*%()sg9YqYUN3Pa zT{^zA@WQIynhZlDU$`jYtKEO8i!^^{Pm0{yAS8G%cWF*NW{p2EHYT}ZUFX}svnpHe z?#TAv(;1Tov43gC2?RUv!bIH=*L;><1$^IuEORbK{}H{y#r#Zg!vNG-6>Vh~uk{6r z6JRD@F~e+VCWVgOB8P;oj^?t|w%rb-Q-6f@#)AFC4o4TxubWIm5QJk9Nr=)oUFNy&B=ZG z6tY?PPX2giZ$qXzMirQOeP8ZK`O3b24PM_U86gwr6k)2`Ry8{MEP@lTX%pb@!0u2V z8S8IF>+m@uHX!Kc_G%usF)w^4WFw6N%;O8y!g(38Av5o+JT9_MX+# zD+)UP@wvZ}RZ)o=rKN6?Sw#h}7=mpdBC2pfJ7_0KQ4JpO(N{Z)mR;Qyedc;?wrz~H zabewPT*MqY8KQS&ZVnTA>kC+G-)@x&Fi%>dL4pV>rxJ)88(wP}o9-!|!7YI;^*gT& zzz^PZZ}PhtS1IQeo_-g;{3h67ecx2AkqHrNrWd?dB;za^=92+hAHQMZ^ihVwf&ywD zp10C_3g~za{_r1|Io1h?h*qe0Lg=tiQc#D{>wG+Lr7dfpdds!74A!8K!fI^m;=$=r zUhbcs2Bx@-CN_=$ocmB52eqOgYI$RT80>Obk3bbD_8rIvz5Xzbtnm8)s68caVb=cB&b9*SMBII9 zTf7B@g*2~Tsk99a@Zvcj!I)f5`3DH;EwLF;7tN48F_heCsnBtY?X0>P{635uC%!n5 z7mr%!5epHD$jx^e0Wt&lh!F+X=>pb+Yy;R7eegS^so-Ym_B++AVwQ9YO(+ZzE} zsO+~6Do>PKI$?U$R!dC)?d*E+rZCH5l@Zr)J!gd6c8QydZz>rLb5Q_4=GZ^}LNAVK9qQF@-1>lp?43@x zx}UjqW3of(EiMIZnMOA-PJ`uE=OaF||A|EMDm`3(1xioaG`E=J5964D0GN|3f*eOk z1J61;(7^lKp`FYVR^m*Rd*fF~fhRkzA_CG$>HSm`4G-o5uhC0>gfSka_L%Rel5NZc zcJUi`~VGk6%|zCf3`(46+z*dG%yD)#45 zqCY5I+fD}P0LXph%!mz$Q)AB0ew~;eRQ0$4vy%7Q_Ysw@NmO#y)+U%o#A)aTAId~e z+rDhcP1V*9&z>eLyL~D!d8d!qzG$Vr;C}|J6`9PHmzCc*Bi1<(oCu+Jfm2c)=*7b@YQ6bqeKiTtfEqb0%)cmFYchK)RF_ z1qH>z~*`Pqm!tQ&>42S$XG9I*)bHovE*l z&Lb~hOifdzdFtuC5SW?iW>pMjXb1Q^1vIR#OEv-MUNza@Xl|0ZrMal3Xm)v3@1_k@ zKSOWt->Aa5N5WT-)B4RV^U1flyg0$>eGz$c2-HF9l7KFq7*k(&7pMXpXg_?&Ze&+F zs9Xk@5@gT8>8<08sozoERg@J}HR{x(dgh{l?XA^rg?X!TMs?jrAiapYZ~Kh*(}OKZ zY5?S=B>0t&l2jSlK|Rqm(jaG)2xC5M<|0uc2bp1M*vd;;~AC+>$U@@g9J5S~Ihx}Jog zu-~R4H~83Y;q&nkU+?ynr+hpg6YxT6>flm>;g!r04T$c+4P&dH`37Flz7Zn2S;q{{ zu$oe}r*j~XOe*axPZq1a0hx0e_NG#NXrDYLf9{6P9f|HOgUoA$zjAB! zX^xMQT`yy#>C=EE4M0Dh^=K?MLr}@-PlyTM{@$xOsnkrbs_s`4D&M={(&ulNX#Wn( z*-Evz$#(dLHGjk+xm}gBC46wn%G}-P*cUNoZT{LKnPVZk!*J9a4n$!koVz?jzrVlK zJC$!AnfD%_gNY3Q1xG7YJS$Z20nZlmX| zr(VL$bx`=Rn=qqZ+bcs#i%3QIZ-%Bn1h!2{6%*L7hldAat+FqO+AoNS!#V>|Y~;yV zXuvVJH=FNs+^gy6tT6F}1VBpO{P!*|1o?(9)%m7(U)R)r!|U_kjdZT*(C$k=H@NtA z!(kSsy0_9H+0|WgU2)z(34d6CX;!kVD-o$x=%E&<{SKbWqV*u$n)KEGTyun{VcaN6 zr)jsieBO56M)Fu~<%gK`eu|v`RGf_kJ6sCpWJ2DsfvGdpC6^KPhhc}Ww}r(HJ_jQo-wQ-!%<&)&d?^SyBeXnUX9-0NHTxe2P5%JOWIw>m%$fCte=W84qXZzo;_#z_B{@gSzov^}Krqr&w2)odBH^ zc#YL=Gx8GHeJFTOx2VXa>AFwgCr|DcHfR8YHBWoE%KsbDqscV8!4yHi6a;=5xuvHV z@4Nbz7Kj2!ODhFw(!)@Nr2O#>nN}ypP4QDSATpOsP*O%HdyJlgGhg#SZe&kGP7ZY~ z5I>!TUdnuv004EhNv7sBC>;o9X zHYcAQZ#Bkl&dNs@Z&wO#I_%+zFB<{UHzN)PHLi-&vwdi8d zHPX?PA)WKG>2>Dkt68KILE_CWt;<6SSLoa8-vTov&pT5Itkapnt!zLy)$0Xng+KNI z#zyY1I^1j{DGyC?P-$VVge+qs{Oha|jz<#WziYD6;+u979gZm5$(kMte57d7T|Z|~ z_rDQt^bP7$*P1sgcmt)FA*z~_mX7Xge0&~%$lc`mr3XBT>as|erFX{zNwG(@3{!~%{?x<{nyxSOs9l+eG^Q|0-XHI5uE20qNZ0hBu>C4RMvAcA7ApPm7gSa^dHK_<1gB1TUt?B zlP>S{tY&nb4G(4V5J>e$r9N9V>3qV^=|x(R?N0FDCe2yuyK>EPM{)5i7$UF_F6VBm z0-nsoP-S^z%oqKv%GhJcmujQ)$3N)!`}Y}6GqG0R`hJhfW~XxwfTw+gFZzkB!KFi% zwXqZKU=M5Xz5v2N75^rB+9#0=163CvaA~c+#x^sS6ewP`A`Zo!FbqhbRYEJai zTdS6a4RRtNs-b*{t@IEj0(C57yf2=bmH0&Kutn?NVdTe8xVlr^HlgN2DzrsoAEh_T zJvOgHJ1a%w90vEp8~2u4?g^h4)^>~Hx`@B20LAe;tU`l=-h{h{QVt$T8D^o`-uJQ) zQF4C>)&1)JdpN<6LRZzmPT-TWNE4Q@z2H}4mcspu?97584qkol)Q0Rel`2f(Tqc#gibM~&P=D?PHPId+Owb4#@(Sf zp|P>CMPh76;Tx$&Ir<4ZBl^SAjW31n5obqB;I>z_{BMm!Wc3x`&+LOE+x;>oiz1 zu8yELSU7n^MzIWy_ZEUZsQW(~9D2NOPNt?+Nkah(MKup4gXr4$2vLpB6+ zKGH9US_!X}wGpVICJXqIBO}yM>=xF~tTHpXD)W%l|2j=4Yi_DiWTN)D>l*V=-~+t5 zAx|I2_V4@4{m|lKW(ql}_;9!scz+qmw|(&3LFGZx=z$L2?B<_sFCo^R(g|O6hRstz zJ7@Ku`!L~+Uj9*$2v1(8P_#D}y4t@NXU4y%E^@6#H6T1u zjI#g00YK&)PYkY|kdAHaLo5|vJOxsen^2eA9a8~cG=+!#%+QZBBl@iaF3Lu3rWgkE zwFF5%S9La1pW&|P$@B+CzjnU2E^1&LlJ8v&^Jm|0}kr%mE>!tS^NIuEfLXun_eW3A`8Ew`8N9gQUc)4S9tqIHwX&9e+M@1 z*O$UpVA>o~*kv}Nq(N?)SA*~oJHqTE+6^*zVF$D>4_)Kz=MeaEst&#Tqd({{__Kmu zuoE(6i@3}UI*isw+pimL@xHl1eE7lD5yRA+c?eIJ_MgwID4*i3|A(Hq)imRtybKVm zKzh9n%j`fLx%Yoc@P{+6juF9Dj-1I@rx{1v2~zIjt&aw)_ffsyG?HZ>&uuiLec?)g zc$3=pc5G*6l@B+7)70rP(9t~`>gp2jZ*OVn0(EeNE_qLf+2QjInNDjOft4T8>9g}% z;;!oIHy*@ld|h~369oD1!wOLz2bc==Au<}9h2vwJ&r3kwVo+!(0V!>cAvoO+pv2vg|T8PF2J&vszJ zI1h<8PKMd4$gZyrbXeNgwW+`0SDpA8-D1eAdyn0sav5O#@J9OJV3C{^X0}>iuK)aK za$v|doaH3g_e_>@Q&1$cap@R#k3F#C+d#1@No8P*&$?>bC}=ipl9iU_jB zKt+Ye(MVtXntz;^6vdjW9(WX~&0EdD0d4T>XqYBr`yy`v8X~w|yrv)aj@yt5X%dJ;p?lo!|=ncay|WY$`D$I6_cJh{$FrG9E}3 zmsuC7HM<;*g#)jXV1(Bk#3Bq`(_4+?^#`&LeQIE_eTWQx4-A3!3BJX6Rjvr?NDp=E z3*r^`L%EYMjCQ17$8MRs;ykBYzLa)H);1R|T+|+e_v*gw$=T-&=R#nwbluZGF+2}% zb+#OUv}K*q1} zpNp!9h;2y%Uw%@9Y;KPK&~0u<{X1v=@}Os|FflF4AN2eoBmFUfvG*%;3jlyOlKbmX z#Oe(HiH=3Kj7E^`z6(KVSLyIUf$NgC%~KUGcnE#*t+-ldh0kM)5uodxsLon*aR&58 z8h;^Mq4h~1nd`uCXXrfz=$@7iY}BZ~A}GIrt(D9Wh8+XC`hlo(ZF9Kmpf+}E2=3k# z@i(JX^0)VT`rb$$d7)+ByM5pJQt=m;^Wc=mxh-X00tRq*5qa(+{)RUmJiZlCzofu3 zYO9KdC@5@PQO~q(CkqvVU9F8s&q#}Z&`;R49u8tfZRZ%^w}y?T=CV6eX4Pzp%_8>m zAC{j&en|tbkNNuD&Kf2uA8Kc3CnY{f@LD3oeK?b7LyYsn&l}Us0ExWZn%{6~tE?4( zjgu4ntKAUaJ)O^@I|xP}4UPW?Y98sW508PavoU|AgMRq7*&si2t&T4F8@`zpKdJ4x zK0|`0h1%y|w`P-v(#{*K1Z68-S-XO|j&g|aH3BYXfc~W8kGK{SB4756&Z{I02E{uO z9-e;(42g7>N~L-iCRg4xci#wSk;uZ^58>Cz2w!^j?LBXWiPuC{^WQa>DmKr%GbkHO z{6@5$nbE(gZ|r*f$~C1BwNzy`ltQ({8S;Wz5vY#d2xlNk--943NgALVWuOMB6JM}B ze;D$hTH4nJOSLseXdOP)><>xg`@7SvZp>;brfR>xLPN0oh$DjocCW6?L(;c^-P#pj znHy=z&6e6?+lJz{&}qK|1>|VMb(xmbfw!j%0Sx1vf%FTG^3 zmKT3wwC>fUA21nGt&m_aStK@E`KD>f0^O$vuc<9pw#mtACn_f9dq)8$RfryR6>Y>1 z$q5sz-mK3Yu3JlPTq+E06ng6smyMaXg+@YsERE*`3E}Uw-=e`F6yrhc$X%M#yW9SGo@yN^nAZxc?e$q z*y=b5(Vyq{ldoZP7@!qvPyjPnQtr)cds;oN9 zjc5HFn?mHp)6-K$67(Do^a;(~dVN7P+@2*yVQ+7@#ZM64;6^q4@Y??`4E_{fv7um1 ztd1O*5A%_Q>b8;cT6XVr=(gNZBzTB}&f5_`=xc@ost%3!$IFX6|G$cQysZ$rlWXFv z5kNiVF+B2Hdi|cuzi54918`uivR}*I3VC!5maziM*VSbC;Hi$!?U(O?aA*dO-c4pb zA4@?WVK5QBLLxG;fq2#MPVX1NPfedwKhl_OZbN|jxrmj+*%5X9ey433Kx-<{$eS<} zXFKEEM{wPLVJs|JBDcE+zi+5Fmi{a*FwJkY|0MUHsCu$A!Uz%Zch~DUO3HxTuernk z5nd42;cE36$Z)2h&@Y=n4y2Lb<$af~`BpP0|F&n=RzR|!xJ8ni8_&^^@%jE#Wd;2NKhg2puy(%qoU35Hk?%)BKu3|&`Z3j+ z3GorDc&}>tbcN+lr6-pN`XMU#+s$vfHAl#k8wIuJ)iFYBi-iu(z$%8=>tk4*Z+dNB zWo-#k3t76x%v40gw$}T)+QI(mtA>XB+%|%TgOiC@T`NR@wgvV2T=u;`l?mbl9@S=S z&nlE235Aw{k67$hJV|4{ERkuISwu#|8xbxEWE(~Tc{W&V)3DlPeApcwzPk3nXd`OM z6XD55BK&UbDXqEzuhEgB>IQE$) zBVHV%aEBmJA$EED;8FYy?a6`OT)Ka51l&-yb#SAT)|&W#9!v?8@N-<{ID%B)HH9ENQ(QR4*lg#0Yz>4@CHo(U zw$W)tylwdB7obtp-yZ;uwDl!mQkycrwIW1itFx{MsO3loB+`&oD^|Ng1QS);eG{me zlJ>NMn_zjzXB+M3*F5QHE`A??lR@t+K50m?rFVM3g8?l0koKe4H>p5m8lgGW-ZL?O zhTt5)7Xs9@lEWyuqY#UM#v4EA-N!6E4B546$g7viZnj!dxZYv{~F4iw0GGw#iTRMrhopH7sVY23c~_taV_P;|Bs`W)GT zlgnfj20Amzba3TK|2aak&_MG`3+6oSrp)?#AYl8@!-OsqiTtlK^Mt;C5im>OE{MTwxN}L2>JNsvizmq6#%PTA)oD?G zaLUyNw-ysh*1K|@iW~8y(q528(lzrxPqIX;BO$bhM@7jfDMiq6|4zw*ER$lt9~z8w zTPRTn6`j1CFssM^ACrgB8$ew!FA`I6jtP*mXM(ct-1z`UBPs^Qc@&%({g{z!M-Kjw z<;I)yH<2bT1!-|L1e`Zi%*1K%I;Wo&Id*RUB@a*ow|91SbjoKu0Ab7D6~m(fsclS{ z;W4sS>t+UD&BX2Eu z06B#?XxSvTVV;f-Jc>{3Ma1>#dyRpm*gs!|mzO9yI(qZY93ARwDov)T6lYbYb^xJK z>YGbIi1$cO1m@He_OaUD(eR>TcOVrfS-U!l5_PeD1TAb?xV9RA`-6iYR0hx!2I;de z>CY+u!8=}kDSGtO{QQJ?cm{Q%Ltb{Z4YJK05ck6D23gh9QYn8C*DLgf;pMM($21Lrd)T+gF%reUFG{%4x+U_H2&0oy=5i6V)I{jJf zKeJ@XMZ7Fb83`P0*|oB=(%UFz+nk&LLu?U$RlE_zyQV?CgLWLQy{2$|v=n)E=JXVD z;*l_T;oo&MnAwN+;Z;&HaNP;R2a`oOCZ;8cHGTFZgEgUW!5zeOzbXsJ|3}qVM@9KQ zZ^N>}63P++(v65nh=kN4-AGF-rL;)rf|SxFU4nohA>FJ+^1#X1VC1lxu#k-7 z&&ld{EMPKi-z;2-FF|28Uy#Ce6vxNc*S8-u+}7_{d zs~iHZvrjL-J6PX6K0d~8Z*PA+c!rEBPeEwgTAgUePo-Y zD;Zu*)$Z9+K=|68-U#34<42qw(J4k*w@wpo;a7bw^@jPuH*incJjAoBau{$@Ybn*d zhqm#zFYKy$%LVctxWVl1+;@SP82_1a|Y^&{3Y%P_BOh-}X z@7Kwb*kw=9`U0x;F|qpzKp7RfEX%44r|h8<#MIOjOhAd^;%wal<%kA$GrL8#g~83v zHzgK$nBrbWMzmmN>c(c@H@965cM{M^byT?7MjM0C%vFYS>-PJ!%_VaW^ll>Pyu)!` z#`p+5XrK{52U4g>$%koCQILkq1V9;w0U&~L%Wz$Z7uyNLC;kU$>Leotb&x=&Z7(f* z;7^SB(t3PmI8~A#kzCN#)+Xx*e@&TB$U~K|6z_zI&yBhx?>;^ZUn!|ZA>W*Zi!%`H zSoGHAJw|HX5~~ttD3J+hx>;(hC`JMO30{7FGEnrRs!dhR0C_}P>`Bd;G_zTaEW65y zKX_=z?RYeF9ePj*bJ`dKLtE~&iviLPyt}A75xPEO!$knN#q_dKXZZKHq3G!7GY;W; zH0yPf$dNnS4i5D*4CZw^?ndpdTch)0I8NI$p^1s)20h2Wz!1Djq5C{IOSI^+Q62!4 zFrZ0_7`ZNV5g7s5jNnZf&Vw92k(EbQgjOs*g7Q9gd2ftZp43eBKyh$!2gcgHN4lJ% zXkp$pFQVjgM*pU8m$_Q)PwyFe{fbjCg;>r)yym4Z9ZawxcE8*aO)sg69f*-mU-rzF z>sG6O81b`%`2>+pu~FR8*x&SPk4$K2(nKk#ynk2y6Up_Cvb98CR7D_9g^hYcA0vGs>p1`Uic~W0j1$ zsPacyUi#=%7oy)II1%)jbcRH-N(6vofjB-Ecr<0i*=%lRrn&YA#sXbu-Hl}nmHHc0 zcYKI=lRFLlRgZDuQ9Auok30REac(%rN5oiC? zI7k05a?$;|vr?+V8uh!49hzGnsaw4MYVf-=L~Ud1C_A`cCTp2!#YVA%0i3Ufknc); z;b%oK$LO1Yeu&Jt(LW&I6$))FdtooI>=3Q^_jQ@t$pbf9l$Pt`B6|TG+oXuJTl416 z(7q8teL79tS1^F0w#X>NGf&;6Y$2amc5jgvaubKyS1KwKS;nA*?;^l(n3l+g^mbMd zVG`~WNk?B=30De^X~qT$UMrckm6iLu`}^WjQUR6IESt@>MKJAM8l!?&xZ+1Ge@Gz; zZkS|`e>S{zDE|pP+MEoGiXs%bk{5$NavUSLJgzA5(TWfz$b0*9xfe{cseY z`u*pX$I7?oiLUX!yCBK9-9jMlIhE?r7(F#Xntlimx_0M982N)5NT5)`QW*FV}E48UZf ze!Cavl{OOk<>r+V5_benVtc%0RyhftG>t$Dg}amy8DWM7(cP0ki9o=lv9Stk-Q)Bp zzO*3~eebV|e(5fp3n064b#eo!g*tFHv|+@{=#yTU50*;PJI5mSeSSy#41Yj)WOIvj z1W!YGttb2{DtHYpZA~;aKaJa9@gVqaP!0?=(u-3DTCH+QXr8B%L6 zuPe^{k+p-#e9&N1LQ2Yw2Jvz1F?M$&hW25ed8^d(ajEp{H>kUf<4)}Ql29JG^tOQ~ zg?1IRusBQgJc|;C*ptE+rP+<3O-*EYIDP;=O(8k4{Wn7NuSBo&&?l0RsP;lplSF0} zef`kEK~>?W0B!*teCez=@VjIbf@9^dRu6I8zq~xZbml};@f77M@Ojy4YaVPOKNg%e@9{vr`$0KnP!(ARAhlPS3cRt={?}ylgL_` zbyU0|tedK9?)WrM%F=S*jsKp4qci>?^wB7@&*#tdV3?INOT&;97=~_`BsZe=rM6j% zxCIx@gXnL$aZ!F#!AvwF^#d9bwBQg}6;70m;%PJCPEky+3kCsoWXSh@AUcE^2_ePL z<4t&rI0{VRjykF zlH(a*vaitaq>QnuMs#Lvvool@=K_~OBZLc7X8UR}solOKzzms@K-yaO0@>yBb~UJ2 zIt~rX=ifiBAAMY4MiX}l0&}`yI5>NAuUUEM?V#v0t=n+jgQ}pij5ul&6GidqZaof^Zv(t^pFL%29G7sN#L&>u(S@$=n^W-Oz{!) z=C|E(T^{G0l;He5Zbzm6`7r?0rm2jw_P9_3{WPs{76yocBr;FP{c3Yd^j_71R$q8D z2s|MdCpuzcK9n5BRz(A^4?2~o+!Q_1ura;Vv_qs((oKH)P6|fSpxqDmO{|dKp+*q_E5G+ugV+>n7 zO!7PBm;)c|qFkRr_`YEhN~i2_*C1glA5a9r6tmdAC`)G7lvVCs_JOG3XIsVv?k3l4T-LNkoh= z8)*g%8g!%yV(T3+aGua?sUzMIfyN9Q)3u~aOG_oTvQcJ<3d}PV{p$*G0GG>yn3b({ zOmg^F`+DjN9BoqwD0vn$HC=jHy7RFYjhZt-p{|%9f%ISfK^H${!f~+$AL2hFna+=Y zVnRQ#0|nhvaN})u{ABK9((mxyjIEObN6>je@TUoP{Z?qaL()y?_4qVy7llILQ7Z(i z%$)3~cCW$bJUxPggRA!o(5`M7h0?+t*Se()4y6FFZY&zHnC@{rKRbIhR{YWp*XMu` z5V%%X1ShSZ61_W>iHlFXVe|h}2@&48ar0H~3&JCtYW{+IA}JG2j14op)d- z*b#!9ra`XjJNFm%0)kpaAs|6*8x-^E;1xu-!b(hDUfy}Zk|#ldWy5gwLzP3yjj3n3 zXMDXil1~~H9WA_jrJ^8#`T}($sp2NX+XYg!z-?ENNOJ7Ds=Ky?l`$W6Q(&LGuBWYd zZOucz?7~jMC>r(yLSQa{Y<5Q_Q`A$xFGNdr5Vf0lR}-c1>I0Gi3MQ4|=Z{PX^K|Mu z@2x)F1(Q}bjQ|?!3E{${5lPmhqCAyN=aNXr^4VGdkk!+gJK<3UMVMa;nmw9|AVcl^ zsyT?F4VuXWW7)R;O0Rw%GNi^3qCdg@=8ko8YWBpOc2C`U?nv++$U5 zjVl|TiorkguxXmUtWok1paA8>fx8{Dva&&8VIp*eRELUVI*3zEtSUQ3Q z#m{`xejwq7G!kd$pPg0EK-oJd?L)GcUVC98z=iBWYbu*Sxmc-m7-a{p&bWEZ$wZrc zj#ltzeq0p0o`|h^^CbDrRkw>ko}lkEu44y&!cM-R<&@p(l#+r9r6N2%g+G4$_?!Qp zF+g^U+Tr+TWaw)^E!)@EI0)3`goK2?0El0)cdz~8eK@HbJTl_gUQ{5hCY>{V{FMD6 z8AB!m=ObRig!`eHr!7=P(t42Vvc`paUG8E#3Pj4)kL$k zFLxN0pg9gvuZc(e-~-V|wTo(EFEhl$^6~6~f)upQ56xDsV^V{w`C+f@$2hG(!1L$80r~L* z!0VGqR1P?$45@^qEg3@SK>O#z^{Gu*O`c)tG)fwuuGn2*XYnqAz38XxA16pRTJkw7 z=LL7AJRQ0ODi-Qi!40v?p@kJy*?Y0~d^vB9`$;SrStK;oSvk46huaz_cx)tYU7wc> zM8H*?Oz2t%+ZcxLrH#~MNd-oE(G7NtfNZtytHA%j`#{Aj)nz3}zGlJ4qvPYEKjbc< z{@vXQ&Yc<6ACOMiJnCqo`WRMeMf#yL=?~3dcD;d!Su5M1Pp=pufduy-K9n#v&b)Ar zVpQZ!P{6If8!2sKb;CaCPXF3n?h6I|?F9AQI2Iw7Z!b}d3Q8ewSL=B05vW9=*;@3@ z!XSUS1i3S2!&F&7N5sfP#WZJTcJ`*ahO<7nh5fLOMq9~0hM3W!Hvc6l1~5n`f#V_p zg^UntiF9*Gb8qi!KhSm_2Op=eP(=tx%MvOV9(ZG%rz`qS9#JbRhWwxsSNoym3s!#y z2D;|m1&p=c(ck!y?=oxj@CE}3wQ4^~1Ge^7WMpI^sn}yebYX(A11iqrG(@JS{=xzA z=Raji3D_a^^6yGyn7kjp|DP5BPGEQU?*z@6x@z~DdSBWDr;#b0Wa;A%+s(J~4WbxV zmDo|6q=bHfQduumT!Kh`M_|$$5&2N(*WUuMcj=q{?~m3V*tDFVJjxJhP>LMBFnUgG z2(`l}ov3xTJ;lFAKnr1^MOBLQHB!yB6txdCMDW~c_q-)T`DKRkcLHn$iMqNx|NhQg zD+RrEj6QR~CGn0)KJ)X@54OD*8bug`)_DVOQE!XTL~kmpWBLo}bpfNW4n0XiTuG@! zju=>&XB|!!#EU#9E`scEIk#)M1Kf40o8ns(W>StmE=0$ zPpx<}Yx6z_$9CARh8TQnX9cMYPqz8n#7N`^Qo7t_|MSJ=4(L<@pI5&0E_d;k88U?C z<>x=w(doQ?RX_{tZ6wcW9<`({I$R$O-`LpD>%zE$hZoa#3X0q5!I-#gi@D=KAII$p zuAoQ4%s1k<9Fg12;j}UmNT8-I2Ibzvzo^&j-euClwp|}n>N7V8>}%@XZWS5a3#FhU z@>!N1Bo$+yWf;V~8HZ$TZS8U1B`K9Ta9ZyibK=%xT>d|?u@OI?!FYm}3m{b`P)d*% zS5y=W+Et^;5mAsVR;wr`USspscOGAu3%?Kb6FnEn<+seyZ~OxTJ*IXXj@eB?9a;h* zV=%SN1n31&^+u(HIx9+wgAt4c{s73fo%T3vU%QX=u=~3j&`g75KjOd8b*bmU z+rq47ErJlYxAY$uD$%mv)pvAstc>Kx8DvE((WmP}{v0Fka$t-EKKO2-l`j}`OA=$; z8EtV3-2-Df1Nny$QbUWXb=aG~%$=#B$)?VSB2 zh?emv@iuIAb#>%*B;%Wm4wJ-)rEXAIbnWaZn+SJzeB64_(99+H8I{djF2WR7f{XNJh|#);BM@0${<3o8!MMfd(I7Fd%&4Sr__nnUzS z>P1(cScAx5#wdwW>*nBm+>vtgZH#EWr!0z6&@jpL(o!{p&2pWBizrrK+KX&5b~%r` z;$N|(L9+a*aY)e_J%D6y-WXhSzre2y%18jdRvaw*XGLX3ccdj|EwHCdze zP?sm>1|z5G!l0$d&n=DLSK}c1|I@9zD?nD;ec4W_wlmI}utK4rYfqUeof*T}e<{{Z zmSoIB-lsXp2R5HL=U2+o@^TKyd{F7-{1>G;c4URaR^m`T(}*i`RKPd@c$cj&gZGM| zMkl7Ioi3l5go==K%OErYeqR)b;|KctX|LIhH-s_=PBJUS2PGE-t+zUN%rK7DPtEi} z50bdU9BZUoLtvN%hfsfzekgnHYa2;xO9~(XA25qWd7nT$@L-3BVh%`ALSKyESACby zhS$-jhll+@L(h&3;IVf>$Z_#=pepQX7@?u$+qEAFAUjACtJlIIEKDUPwkF)@HYY~@ z0VxmLxFQ<6@Em=xgI>*)a@8XWZLfln*^6-QI9#@g6Ts2=h(IaWvh;+>-ISD+4?qkM zNPbrHB5^W%RB|Dy)TqTYVrq(C)*_g%T~0xwRfE#n(`{^8e7xbLpJsMv z_5Gmp7nAIuq>%4_oxd7?MA*}(OG8ZaeVVEf1CVrwFAelTJ!pg3Xc#%@m$7Vo862>z zPq6#SNDv0ip5B?@6@w4Prb&8JJ4T);#W(H|Vd{MqtqWwk0%a%$=w5F4?+<9+qb^Dw zbhG6*o#~jewS)%;H?4xY8r9@?BR^_!bg)#w?a}T08g4lg!G)jYJc=wUvatPm2TPq%BR4b$-2MtK8O!D^LMM%>l zpeh;~{$N184PhF1?Lyk9KRx#T;wf)N9=h_q8@+v%s^GaJW7l)YJ14D$`~~}s zHx_S){S_AjB>WblhM~!Xw%%RwskT?&G}p@_8KiqF->B9E!IF^(z(A1Yk38UbdbgAIs6n8ZQ#AnSO((4F1-?sF%0T!T>dP; z0gfKdtfHqEQd9F(K&o}D2XOIJ;djPb=WbGd-MW#GR;LNF@NABxnIgU`fp|@E9?$3v zxH&K~+jqBGvug^Q&sxEf?@BzuItTSsZTO>CWY><95ph^>46cAg$E?*yl_+@oXXaF_zSRL;vG|gP#Jj zyDXH`#=-A=XkkBR&cv$EBNhm-`*3uyr!lnuGIxB=wRuF) zAJwJyazTSZ_?s*Z`_~@ozVq0jJN7!Q3tx?skHqdwNzWnNu~Ky!sVws}W|+;4gUk;? ze+u7g6JZ#67YxKdc>}L6Mx;i=^qJ?szsHDEdCS%YUwa#K|D!U7OOR!FXs9G8Ejb{= ze8c?T4**v6W-NMnFrQw8bt)}Po%xa$54^SjuBI0zb{yL!F*Ed5dR?`~n@X00i4iBn>2h|!9RBVylDMf5#gY__Q1devTw5cO&U}NdGnbdvU{2`RxEbOFEaj2 zT-=yhDLJ<&^P`s@HwJ80V+3h;&XiKhjmdY*3%%PE&ZG2C-?r7m{ z7EMoYP>|%shPav-fB(dvJFwI=b%jkvP4%JviKENwpN}Xlg%X&0QnI&<^V}1xTIqJK z8h)Pan;A2bTpO?Phu~J0-DQtcy&ANs6n#ZGaWI?HG@Y{ZgsM0u5 z+?){+b?3G*sK57sHFAQ0t)QT-mI-UpujmP#ru-cT=O4T=DYFunzs((mF4K27gLTEpWX-XM6F5JKwY+ zRtsu;I5$Mdx^&!YLeP>@5i-r7qON|xz`BH+=d7nk8GtY9K3Kl>!i0m67X9zXr}u`N zdV8`nU*TS-4|kK7JN28kF_er#ZuxIdeXFy6W)vbAY|4dwu~^6I^46SHlkyvKoDpvQ zJ^gdWbD{?4-?lA4;V~BnT6Bng(=ngV4-=kUA1kcSk!!CLX!~d>!r`kX=d9PX_;vB6 za)_hlL#)$O)buUg?@}!Hl4~h0Z$+Bv5g4Dgo0aPSn&#S&hSW2usHkwxm~dPFYS2nl zi0AgF;XeMv+7^w59RWTFcL-pZ?z64C3MjHJMLX4A{xZt>>OP;8TEB*YsJg_hBP>~4 z+53G$_M1}Zqc_R6w4>VNPlntWfol{m2_Srh6Jt&u)ulVub~QUi)8~_^(JbalsA%1z zSMC}Gx_!O*qzWzR?RJ%|_7S$&9_nsn-cu$a4818Gj7fH@x^Y>a8@jKO*~hT?DZ{K$ z9rzCbv+yB4KHf;W>Ez$ZkU=p()w9iFzgLrPa_}Z?n%9%ro@8Lc8(fvqs(PpfUz!m; zQ)E_Lk<#hbsW2jGt};F}( zeev?;{L-_a>j#aXW`WabL%Y6O#`~W+kU`l&<>cg4oQw9LR&@K`F!IWO zd#{d%fBwkdib;L*!(0A=4T-d3cwJd0v1J(LcEm`v@@rUXk}x*@x5*DrbMnRQ*~%@y z5gI+I)|(($Vp?~4r7sz)+f~4=Fe_*pqiZbCUJ0e1D#qIeF*g#KjT6Im;u7^QG^DFX?=ItN4G?`P)t-5UnL6BFR0LYD<62vQ1rj&Jys{PR@ucsae<_KI|rZX7XSbB(+1D zCCt8$E+N4wk>~ zON_VbRSTFXb3>9k#(MpCo`AQc6m-IKKi)dbO7jLK zsjNGG27ez^HhGYCW$`(EnRu< z;_x3ESt1Q7F{Ra#bJ=yFV>+t_DQ1<-2Me@-d8L26>BgZnFu?QoU0mq{f9?_^)9%yU z)Fc6hZe?8mzXyPKVVYYNY@;ZM?1YG`sWurFHhpC$$8T z$DPYtj1_XfqEepx7*Db?uiq<~eBapJqfnbZS?@j>*;H8x#duZsbN=Kh@>reop(Qa~ zzLWOfO}dak4ZTSD5;L^vRGXnZSW`zybeyQirr5YWhrh??|&wx8^f<94!+d*8N~w1p~Oc zN@cArB~m^WO(B7Qy*VllDx}dyity<%lRx~j?UvZ3(sb;*q2cscVl+=e+OJWdOw@*& zPhFaNAod->{X!9+buF6}!l;*i9LTBe1ZKp+XSh}z{{-$P6Z>_$Kf(rIs>BjWV8>6{ zg{Jqp>D7x&G+n&_@xR+Nrv^DZJOr%@EsK^Ns`W+{l6W_J3@EsB(Z#V1TU=~@tqJ-A zz~OV;9xo%r=gy6XH4d|@|7|=!@Zf^pTR!gBB3HN=>gO>74 zRUV4`uJFZbs&kcXhaay9s~o2|yOp*wN8-E+s_?pwXjTWca@crIgZ+U(BD=3?1J|60t=*RzeuNMjU?SI3-D2{0-J-Ji9+G(%gNlb`QI^B~O zQb%iiOus7+dau7G5OL9^jw>8CC~aO&y3~!28a<+@MZ>=(bgyt=qs>sVV{`v*#07B0EqAD%9J=n5#nl*XsorLu=ugad(w-_q2YvP`Ne7g1ETd?C^6Jt3{iF*=ij% z@pl_qhN6u%UFl;!P$8N0;$pj8_~(L0V_CA%K*=n`kD>UV5kc4y@Ozwa0v*=2Qor(~ zRYh9OW6p?HGSw4<5~~;L3=8sfrga9Si-n-oFfEg8(bhmwDSXWPGxhA{EB!bR9e>;W zG5r!7mI}>Zw9LPMa~wTU>^ZTzQn+wg!raIcaUIze{E21JQ9LvC4nb5^aQt2)boomu z^Wv4GASXNBoeqKw7n}1AH*2}MY^D~5+HaIJ1~DHc+4#yrYhS(g#`}QRMzmZgFqNE? zKr(2G*g!xGXy@$sMKB^V6!1Yc3ust!*z}M`_CMS7LmW&BN0&p(KWoqjBN@CEn1|8| zG}q(w4{rw?-)8j~Y0Bd00`mxm&MdB(4YH6c3iyGjE`P4WOr3f&^R^# z(^E(}L9?4d;-Re*R(VX>-)i2I6m~1EP||W?`OSy7D$Whw8dZw&PEG(M;)US^sy#d3 z54$L+avMW?C~5~~(+v}@d`d`a@xyy?b4*uv^p9>(2h@?}w1HlO`_M`;X4$M)VT+sA zi58s$4zAVO&{8AoP~NAayw$FM)(_a)es{>)Sn1QNsX=wBUKzACCH+*n-B%#(CFr;| zJYAp0YWI*#^CXX{iqm})k2IMELuR-uN)JfD(-=x*@WZBy_Q}NM5jU?2S!77{aLw=6I5I_}XfsQadJj1h(-g@!D zru2*NT862ozB9?+p&}){ZTalsRo&@tEQ?txF8E7kB7=z+AC;H;n!5z$cRLHY@1wgn zI+i(gpQ`A;cOtDilsQcH!k%#FTe9|jffn3`_k#ns0?hYl<_kC&3KL{=w+PvjpFY;G z{@}h)M9S=EU3-?PhVZvZM?19F9jHmt8VSw5B!-SlB}2hOnsI#I?Cl1BQh>2 zV>|k*7mmNjS*2U%LBOdv$Or>i?BoLzXO&E(`z}%9)>6oU*dqI}4ekWIXi?#lh zsFR-oDHDZ-B^l6?8kTQiCbos&ehldzrzQn99|I?IIkeud!;*gEr85=EY^H10^&gGy zcg_O+LI}0+#Qnk{<^MvMekPxzw&a9@>T`Kw&L%DYFlO`u5`S7?7FL`<+yrCDx2)L+wnmo;vlJK_M1chf~L9%Hhwb1nv+#6U_dW zcozP}Z`)V-mql%T9`W;af~8*r4+uUzP#gYjpJK*2_$uHEX+ZlU<-u#|@byyY(M>Jn=!bhEjmQ z(P@PJr&;OJ*^k>l74NAuRmNT=f2;Fnrn5me$>!6PKs)~uq0HCZE?ST%e6C)R;S_!M z?p;q1s&OLc*SY|Q_Y;YZQ8$0b+ASU-DNfXopgYEvzv*vVgm-9fXJe*=xT4u+BDr(S zg$}^TBjmN(P~P_YwR1X(|9(dVq7NHP2?au#D#tmSq#oYS%bLFLBoNoCLd%P>ywRMV z(hx0}&x{DMh5M!_`lzlzLh1ELN}K6WwqgdjS8^9udWZP<_@iE{YR<^<1I0NIolq8v zCUByrd2JDf9`@<%lc}|4Q#35iqV~&u7a8Z6{83OL@$}r>6?fH6t=K1yXQtipT&Y|N zZ2w>$Bi!U4{(rki8ymCt7I;4C2s%5#DI`h5=GUxi+fWVuly_OO3RumIGGEs$B+}kb z8OT`OWhRyjiX934(}&aW$*qLe5`Pki)|dHHl$em_Uo)_=u_t!T<-6+psS}NzY2Ydy zS?a0}#QEroI#NW}6~)^S%NV|>8@4u#a)7(_&66)}VN}7OR~|AbRO}}D1Ro>^w$)fM zy3%q-zN2dAI0#H)IhOhM^u!oE`pRThxBoQP(leaLe+hDUnxshg@(*Ut3-vEK%A$1= zK|>q{NA_R98Q3OyCX`i(OzbgZWMQ%FC{kdKT?kTChB~Q_yxPqRb+i8(*w7vT8~tAO z%^#P-jXz>q7R3eyiD-j3RfEisnydEle>JJoC_e7}v!|ba>v55)$!^o=U`{YIL6}SM?=Rxg+rR=veFIDh9K# z*t)`!ud-bzg8{oWYVUK(RnKSQaBD6GUPcKv!B4~_zFq_`$;j@7{Qy)wd5iIc&vhC1 zvl~OvPwE4#ycI}}_OQ}5Gv<%f$Ql}~O;X?(iWY_coYw|J9U&)8M-c4~M!eTVE(I>4 zsk7hvuEP$RF?{mv!Gw$HXgcb3`T2FO7@yZbezroux}^VrH}<#k2Sep@<50yhyKm%4 z;iE>n8tlW4{u7_}UZo~xj)Xl>=6%471Cr95bRy)@3&xzBQA~+KJqbtuz_}6uzsnBo zu>2D`iHZ>meT0ZG17d#iv4O$5zPh?Y0wF4o@_Qm9Bcp`i)l{XeA+^sD`Qg^R1_p07 zoUpt)A*t7U2~*uK_)dG&a10wW_?ntQu?UeL+&WE3Ii3?eBO}A6wqZ;A$*&k1>8k-b ztD-!|$uJhoJ0J1d%9{DRWj_A=mL*ar{Tn;COzba)>6b!m9_8s9j%3BmR!nZ%!j=1A zDkn!Faii{}BqRofVF--)OlGwYMd~E44^>SOV;;)s8xq0|$1P81m8XX8-P(J%oYSK+ zi|_t)*!YswLpXq2<+cE2SUCFYG}YSZ-xh#8_)RVJaq9hDmD)NtD+_7tgjvQBo01uj;%t5)ZWf`HIZZN37)& zn;NwZ`sI1qW+t(*i14Y9+g~O9xEq%Ue4btV{TQ@DCOiu@`xcq}m@|^7awgRqOFPZNzKR z)>Rz+Cg|i)=HFE+-`T^yXo$}xv67Lk=D7&iQ8SaX1O#AOjcYLseEgpl zpyZ2Zgs~OxWEd)JLU7>uiCbX4);AL1GL*56&`2wl(!)ga^^IchXY)BP)h!gGhyEHK ze(kGOA9G^;#v=b%gATMg64Z9ard1bsFwKKLG$N4jxQv_2%a*vo%MilAf5RyXvVJ*w z<7j2|P%4CM;K!yuU@8BkVt}|Ih@ffpd-%|K>%8tyOxh=0g>A+He<@QL+A0_&za3iO zov)u^I_|S(rJll7FqcOs@H7+`Hx-o|b1a zjEsy-r1kVrIXQ?ve+4?@HcZUufDnjArrjJJ49fXDW=g1iF@BMd=E$K#bMSfR5Zz=^ zIWjFxbkK@-+bUFIXVE4XXtN5jun{1OU+-1Ej+nn>U8Z-uIdZtHD4ySV~l zvPQtGy|#FoF!T)e)_=splkdKm3+-zhLwv+R&Ij-#^S{Kbl_OvS%+2bWE1Cq9L_~|f zQszLuNfGbY=qQ7bkX|V%!OM%Y*axYa-}9liIoaI3URK-*1_@6c*IsOQnVA$&u}SU| zA=?ky&T!|x5IwrEI&3Pdz@@p`Su7J^^>F--CuP?(Z&!zfI3LzAEjAoLt1BxdRxCv0 zADa4k>*P=WRh8F)kwmO?sE3l!dF38(6x@VQlptIBj3+9 zr$SFIf&EK&BCoYhpgggDivXW{4?Ug!u^8=_{DxFl!>4{7C5+2atK06aseuJD58re= zsE0tRsVkJ;p-ZGQ`OMbVlIx$O|N2lLYORF}x!<`J7)4C|k)jpvha^Us`W>tPJUtR< z%--Y>YDBBfm{(5H(2^WutDMyIDUCAdM!jOCt3$}Sin*I>NWFF>*1=@#zF)()@?ErQ9>*VCx(4-E zqc)Y^TkL&9rF(@ws3!%|{O(V}V@6bioNwtBfq1QVE0+BZGddMP)y`s(RE$tQy z$H5QH9ublL1}3iF19=rS(8QaEu9-@;Q_VcBk4tIu>cQ@0N?e}kw=jC={UFXL3)3OU!dNr&Eh!z z4#`xya-(BFxYRWX<`%%_Kw2$~s^|}_`YPfDI{^4m|a>Tzt(HjalitwL-lMg6= zPgqspUAq$TKUO=z?A395NErC@Eh$pE*GxsOS{|06T9h~2`b>!TEsMCSoQ9|twytBE znETg8K0dx}$EPXo=Do>ZXUvC)e4;xF)VoaW*@W3cu03V@I^FRg&L^`(i>{oNhLEk& zFidYF3fs*Ut{d2S5QBU=kn7~G%ZK!X&z9*FT(5qmIucDm^A6kl%Fh72(058yU9YVi zt7z%urZt!cxVMLy(DNrZA|gVD)szwKP*svu@It?y#SeDN4uY`G5iKvmrc>g1@+1Xz z`*uM=e!gJhr|eQyVGqq3W|X~@{$rdb>U-m^@=V3|VPMEt`%$y@#SAYdfmvyr)gb&I z6uyE{K6QYBnQ*Ti74*l|MhVA-5Xh!c3^>M!9{^RbIaSsrMmoQm*E^9tX6N@+7ESf2 zX%X}5=s`ZF^um@SUGRko)W=TI0fjB1_kkP61g04$hkZD9nm5;NN5m(Tg0DiE+dZYn z%zga46tfMFxZ%h5-jFD$hd5F?#q;MlZE2QyfgANRJzKc*?fE~$e%eC3)|Af_E_SVh zZe>Q_+=YIOe+eTtORDc6$O>KkVdu2zi{@>=M?m)%&hGI0gnZNRj(T=6wHWXQ4j6~s zbkB#f|KL89%!ggK;`NuOH|EK#a`Kwoi0Lr5?&ugxh7gm&z%jt->D~HHTmn47~yEp3ftK*A{O-qE$hl-gWBnT5L) zepTxgqJu`@vCY3fQX2$wVHJ=NtZxg^fr8?2V~vA}~xRas644G~l_Wr9#BFMbu8#JpET_u*p84b=|x72DIw1 zY%Qt7`qC^+{Y1`qnm*mhW2Bekzwg+E{g*?qemC{%J6?j2>z>G>zbfk!qNstM_mD= zR`7B8;AiveOvOC%z^fyh`0mFE3$xj>Lsj2%yQDy=%y{Qx_jBkIq*EPB=pEkQtWXWJ z-S2h+AOfgx5}N7n=j35$FUVVu+?c2vIuttaHxE zV;2+B{4ukx99^<6_tiEj9Z$u#c`y^6 z+BA9|B7lJn#Ye}PO@FZ-@~zzXi=EBwMC5Ja6~gt`-J5YnwBf4{{(c3iPe}=POk7+g zW{Pd;cs3R(`n3dzfoQgpW1)~}G=E#8!u5NfE!nd3tH22hoMdjq^Ei2ShypSfXz~E(Ui-uyo)!3wX>!A9K?&5W}(1k-h4ejAvgdW++ARQ7M=s5}^awyhPf!lPsn~k4^}?57AKU zX@9`hCjBMwdr`%V%J-JQ0Hc?3gxqRTW#>QKtRDoIcK(?foB`=kt<{lH#Bp#FU%yuT zZX{rl$ey1xIL6+4|7sCVKp1Q$Azt;FR*`^n{`VJpQgT{7$B1klZI$=^*$=Gp@|r8J zHdAnw8uW^&ds~cqg`wHeTejWbEjo5KEvpdjah2D0jPw&bs^-DdecEXUBYm|IVU%d)eX!BOg3vN&8C z1p*1NMnRJ1JHR0BEjGR{-XtwTAW>6aMDx~)^(N$N2>PI{cI4Oo{hEFY*0DjtgC#Z6rZ5IH9)a$u|L zf`X83j#xm(-Kms-gjU%7kOf)S4r>@}3xmEAe|WO(KNJK~3A8fUAZsXk!}c?4(NbD$ zjnjL*d+n_!>c&amot=7n!*m;z=K;G>`GPB{2RBC{A!_f=&=zgMSi$?q*j8znVsdrd)e-F=NjQt|$E_b@%Vx^0_dh+s z@r^YLVzm2+>>Rx4t{}Af`VHISA&_uXz3hhT@t~X=d95ZZZaX@zwPkCT9!r9Y>#4%w ztK^%rGt%*_|2845Pbu7Pij(}&DUr++8ZA9aU_@;0MSSy6v2cFUZ_?FkU1R^QC79h2 zI@OGRw3LyUoGPNNeGVKtB?1+}x}uG>2zAz#-P~=T$}pM$JC5zEJQK|aUp3_O?VqMB zs;a5sLoXpKXlVXLcSw95MIcb{h^iu{Pcx&t`tC#8uw^PVFG@}iHm{Ub4JcmTOsOH-cJtTEg|tJt-$d4$k3Kt8;d)0 z_l1cj{)I8AtXutSk)1Pj0Cn*2=GA>d#_TE9P8SxMeP8thud77jYZHM$z*h=(*tHMD zWp-5»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 VR><_u9S!^^C#5V|{LIk*{{XqehU0sW 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

pJzx7JB^kH056? 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 F699fL7Fz%S diff --git a/vendor/github.com/gabriel-vasile/mimetype/.gitattributes b/vendor/github.com/gabriel-vasile/mimetype/.gitattributes new file mode 100644 index 00000000..0cc26ec0 --- /dev/null +++ b/vendor/github.com/gabriel-vasile/mimetype/.gitattributes @@ -0,0 +1 @@ +testdata/* linguist-vendored diff --git a/vendor/github.com/gabriel-vasile/mimetype/CODE_OF_CONDUCT.md b/vendor/github.com/gabriel-vasile/mimetype/CODE_OF_CONDUCT.md new file mode 100644 index 00000000..8479cd87 --- /dev/null +++ b/vendor/github.com/gabriel-vasile/mimetype/CODE_OF_CONDUCT.md @@ -0,0 +1,76 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to making participation in our project and +our community a harassment-free experience for everyone, regardless of age, body +size, 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. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment +include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community +* Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery and unwelcome sexual attention or + advances +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic + address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior. + +Project maintainers 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, or to ban temporarily or +permanently any contributor for other behaviors that they deem inappropriate, +threatening, offensive, or harmful. + +## Scope + +This Code of Conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community. Examples of +representing a project or community include using an official project e-mail +address, posting via an official social media account, or acting as an appointed +representative at an online or offline event. Representation of a project may be +further defined and clarified by project maintainers. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by contacting the project team at vasile.gabriel@email.com. All +complaints will be reviewed and investigated and will result in a response that +is deemed necessary and appropriate to the circumstances. The project team is +obligated to maintain confidentiality with regard to the reporter of an incident. +Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good +faith may face temporary or permanent repercussions as determined by other +members of the project's leadership. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, +available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html + +[homepage]: https://www.contributor-covenant.org + +For answers to common questions about this code of conduct, see +https://www.contributor-covenant.org/faq diff --git a/vendor/github.com/gabriel-vasile/mimetype/CONTRIBUTING.md b/vendor/github.com/gabriel-vasile/mimetype/CONTRIBUTING.md new file mode 100644 index 00000000..56ae4e57 --- /dev/null +++ b/vendor/github.com/gabriel-vasile/mimetype/CONTRIBUTING.md @@ -0,0 +1,12 @@ +## Contribute +Contributions to **mimetype** are welcome. If you find an issue and you consider +contributing, you can use the [Github issues tracker](https://github.com/gabriel-vasile/mimetype/issues) +in order to report it, or better yet, open a pull request. + +Code contributions must respect these rules: + - code must be test covered + - code must be formatted using gofmt tool + - exported names must be documented + +**Important**: By submitting a pull request, you agree to allow the project +owner to license your work under the same license as that used by the project. diff --git a/vendor/github.com/gabriel-vasile/mimetype/LICENSE b/vendor/github.com/gabriel-vasile/mimetype/LICENSE new file mode 100644 index 00000000..6aac070c --- /dev/null +++ b/vendor/github.com/gabriel-vasile/mimetype/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2018-2020 Gabriel Vasile + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/vendor/github.com/gabriel-vasile/mimetype/README.md b/vendor/github.com/gabriel-vasile/mimetype/README.md new file mode 100644 index 00000000..d310928d --- /dev/null +++ b/vendor/github.com/gabriel-vasile/mimetype/README.md @@ -0,0 +1,108 @@ +

+ mimetype +

+ +

+ A package for detecting MIME types and extensions based on magic numbers +

+
+ Goroutine safe, extensible, no C bindings +
+ +

+ + Build Status + + + Go Reference + + + Go report card + + + Code coverage + + + License + +

+ +## Features +- fast and precise MIME type and file extension detection +- long list of [supported MIME types](supported_mimes.md) +- possibility to [extend](https://pkg.go.dev/github.com/gabriel-vasile/mimetype#example-package-Extend) with other file formats +- common file formats are prioritized +- [text vs. binary files differentiation](https://pkg.go.dev/github.com/gabriel-vasile/mimetype#example-package-TextVsBinary) +- safe for concurrent usage + +## Install +```bash +go get github.com/gabriel-vasile/mimetype +``` + +## Usage +```go +mtype := mimetype.Detect([]byte) +// OR +mtype, err := mimetype.DetectReader(io.Reader) +// OR +mtype, err := mimetype.DetectFile("/path/to/file") +fmt.Println(mtype.String(), mtype.Extension()) +``` +See the [runnable Go Playground examples](https://pkg.go.dev/github.com/gabriel-vasile/mimetype#pkg-overview). + +## Usage' +Only use libraries like **mimetype** as a last resort. Content type detection +using magic numbers is slow, inaccurate, and non-standard. Most of the times +protocols have methods for specifying such metadata; e.g., `Content-Type` header +in HTTP and SMTP. + +## FAQ +Q: My file is in the list of [supported MIME types](supported_mimes.md) but +it is not correctly detected. What should I do? + +A: Some file formats (often Microsoft Office documents) keep their signatures +towards the end of the file. Try increasing the number of bytes used for detection +with: +```go +mimetype.SetLimit(1024*1024) // Set limit to 1MB. +// or +mimetype.SetLimit(0) // No limit, whole file content used. +mimetype.DetectFile("file.doc") +``` +If increasing the limit does not help, please +[open an issue](https://github.com/gabriel-vasile/mimetype/issues/new?assignees=&labels=&template=mismatched-mime-type-detected.md&title=). + +## Structure +**mimetype** uses a hierarchical structure to keep the MIME type detection logic. +This reduces the number of calls needed for detecting the file type. The reason +behind this choice is that there are file formats used as containers for other +file formats. For example, Microsoft Office files are just zip archives, +containing specific metadata files. Once a file has been identified as a +zip, there is no need to check if it is a text file, but it is worth checking if +it is an Microsoft Office file. + +To prevent loading entire files into memory, when detecting from a +[reader](https://pkg.go.dev/github.com/gabriel-vasile/mimetype#DetectReader) +or from a [file](https://pkg.go.dev/github.com/gabriel-vasile/mimetype#DetectFile) +**mimetype** limits itself to reading only the header of the input. +
+ structure +
+ +## Performance +Thanks to the hierarchical structure, searching for common formats first, +and limiting itself to file headers, **mimetype** matches the performance of +stdlib `http.DetectContentType` while outperforming the alternative package. + +```bash + mimetype http.DetectContentType filetype +BenchmarkMatchTar-24 250 ns/op 400 ns/op 3778 ns/op +BenchmarkMatchZip-24 524 ns/op 351 ns/op 4884 ns/op +BenchmarkMatchJpeg-24 103 ns/op 228 ns/op 839 ns/op +BenchmarkMatchGif-24 139 ns/op 202 ns/op 751 ns/op +BenchmarkMatchPng-24 165 ns/op 221 ns/op 1176 ns/op +``` + +## Contributing +See [CONTRIBUTING.md](CONTRIBUTING.md). diff --git a/vendor/github.com/gabriel-vasile/mimetype/internal/charset/charset.go b/vendor/github.com/gabriel-vasile/mimetype/internal/charset/charset.go new file mode 100644 index 00000000..0647f730 --- /dev/null +++ b/vendor/github.com/gabriel-vasile/mimetype/internal/charset/charset.go @@ -0,0 +1,309 @@ +package charset + +import ( + "bytes" + "encoding/xml" + "strings" + "unicode/utf8" + + "golang.org/x/net/html" +) + +const ( + F = 0 /* character never appears in text */ + T = 1 /* character appears in plain ASCII text */ + I = 2 /* character appears in ISO-8859 text */ + X = 3 /* character appears in non-ISO extended ASCII (Mac, IBM PC) */ +) + +var ( + boms = []struct { + bom []byte + enc string + }{ + {[]byte{0xEF, 0xBB, 0xBF}, "utf-8"}, + {[]byte{0x00, 0x00, 0xFE, 0xFF}, "utf-32be"}, + {[]byte{0xFF, 0xFE, 0x00, 0x00}, "utf-32le"}, + {[]byte{0xFE, 0xFF}, "utf-16be"}, + {[]byte{0xFF, 0xFE}, "utf-16le"}, + } + + // https://github.com/file/file/blob/fa93fb9f7d21935f1c7644c47d2975d31f12b812/src/encoding.c#L241 + textChars = [256]byte{ + /* BEL BS HT LF VT FF CR */ + F, F, F, F, F, F, F, T, T, T, T, T, T, T, F, F, /* 0x0X */ + /* ESC */ + F, F, F, F, F, F, F, F, F, F, F, T, F, F, F, F, /* 0x1X */ + T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, /* 0x2X */ + T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, /* 0x3X */ + T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, /* 0x4X */ + T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, /* 0x5X */ + T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, /* 0x6X */ + T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, F, /* 0x7X */ + /* NEL */ + X, X, X, X, X, T, X, X, X, X, X, X, X, X, X, X, /* 0x8X */ + X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, /* 0x9X */ + I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, /* 0xaX */ + I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, /* 0xbX */ + I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, /* 0xcX */ + I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, /* 0xdX */ + I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, /* 0xeX */ + I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, /* 0xfX */ + } +) + +// FromBOM returns the charset declared in the BOM of content. +func FromBOM(content []byte) string { + for _, b := range boms { + if bytes.HasPrefix(content, b.bom) { + return b.enc + } + } + return "" +} + +// FromPlain returns the charset of a plain text. It relies on BOM presence +// and it falls back on checking each byte in content. +func FromPlain(content []byte) string { + if len(content) == 0 { + return "" + } + if cset := FromBOM(content); cset != "" { + return cset + } + origContent := content + // Try to detect UTF-8. + // First eliminate any partial rune at the end. + for i := len(content) - 1; i >= 0 && i > len(content)-4; i-- { + b := content[i] + if b < 0x80 { + break + } + if utf8.RuneStart(b) { + content = content[:i] + break + } + } + hasHighBit := false + for _, c := range content { + if c >= 0x80 { + hasHighBit = true + break + } + } + if hasHighBit && utf8.Valid(content) { + return "utf-8" + } + + // ASCII is a subset of UTF8. Follow W3C recommendation and replace with UTF8. + if ascii(origContent) { + return "utf-8" + } + + return latin(origContent) +} + +func latin(content []byte) string { + hasControlBytes := false + for _, b := range content { + t := textChars[b] + if t != T && t != I { + return "" + } + if b >= 0x80 && b <= 0x9F { + hasControlBytes = true + } + } + // Code range 0x80 to 0x9F is reserved for control characters in ISO-8859-1 + // (so-called C1 Controls). Windows 1252, however, has printable punctuation + // characters in this range. + if hasControlBytes { + return "windows-1252" + } + return "iso-8859-1" +} + +func ascii(content []byte) bool { + for _, b := range content { + if textChars[b] != T { + return false + } + } + return true +} + +// FromXML returns the charset of an XML document. It relies on the XML +// header and falls back on the plain +// text content. +func FromXML(content []byte) string { + if cset := fromXML(content); cset != "" { + return cset + } + return FromPlain(content) +} +func fromXML(content []byte) string { + content = trimLWS(content) + dec := xml.NewDecoder(bytes.NewReader(content)) + rawT, err := dec.RawToken() + if err != nil { + return "" + } + + t, ok := rawT.(xml.ProcInst) + if !ok { + return "" + } + + return strings.ToLower(xmlEncoding(string(t.Inst))) +} + +// FromHTML returns the charset of an HTML document. It first looks if a BOM is +// present and if so uses it to determine the charset. If no BOM is present, +// it relies on the meta tag and falls back on the +// plain text content. +func FromHTML(content []byte) string { + if cset := FromBOM(content); cset != "" { + return cset + } + if cset := fromHTML(content); cset != "" { + return cset + } + return FromPlain(content) +} + +func fromHTML(content []byte) string { + z := html.NewTokenizer(bytes.NewReader(content)) + for { + switch z.Next() { + case html.ErrorToken: + return "" + + case html.StartTagToken, html.SelfClosingTagToken: + tagName, hasAttr := z.TagName() + if !bytes.Equal(tagName, []byte("meta")) { + continue + } + attrList := make(map[string]bool) + gotPragma := false + + const ( + dontKnow = iota + doNeedPragma + doNotNeedPragma + ) + needPragma := dontKnow + + name := "" + for hasAttr { + var key, val []byte + key, val, hasAttr = z.TagAttr() + ks := string(key) + if attrList[ks] { + continue + } + attrList[ks] = true + for i, c := range val { + if 'A' <= c && c <= 'Z' { + val[i] = c + 0x20 + } + } + + switch ks { + case "http-equiv": + if bytes.Equal(val, []byte("content-type")) { + gotPragma = true + } + + case "content": + name = fromMetaElement(string(val)) + if name != "" { + needPragma = doNeedPragma + } + + case "charset": + name = string(val) + needPragma = doNotNeedPragma + } + } + + if needPragma == dontKnow || needPragma == doNeedPragma && !gotPragma { + continue + } + + if strings.HasPrefix(name, "utf-16") { + name = "utf-8" + } + + return name + } + } +} + +func fromMetaElement(s string) string { + for s != "" { + csLoc := strings.Index(s, "charset") + if csLoc == -1 { + return "" + } + s = s[csLoc+len("charset"):] + s = strings.TrimLeft(s, " \t\n\f\r") + if !strings.HasPrefix(s, "=") { + continue + } + s = s[1:] + s = strings.TrimLeft(s, " \t\n\f\r") + if s == "" { + return "" + } + if q := s[0]; q == '"' || q == '\'' { + s = s[1:] + closeQuote := strings.IndexRune(s, rune(q)) + if closeQuote == -1 { + return "" + } + return s[:closeQuote] + } + + end := strings.IndexAny(s, "; \t\n\f\r") + if end == -1 { + end = len(s) + } + return s[:end] + } + return "" +} + +func xmlEncoding(s string) string { + param := "encoding=" + idx := strings.Index(s, param) + if idx == -1 { + return "" + } + v := s[idx+len(param):] + if v == "" { + return "" + } + if v[0] != '\'' && v[0] != '"' { + return "" + } + idx = strings.IndexRune(v[1:], rune(v[0])) + if idx == -1 { + return "" + } + return v[1 : idx+1] +} + +// trimLWS trims whitespace from beginning of the input. +// TODO: find a way to call trimLWS once per detection instead of once in each +// detector which needs the trimmed input. +func trimLWS(in []byte) []byte { + firstNonWS := 0 + for ; firstNonWS < len(in) && isWS(in[firstNonWS]); firstNonWS++ { + } + + return in[firstNonWS:] +} + +func isWS(b byte) bool { + return b == '\t' || b == '\n' || b == '\x0c' || b == '\r' || b == ' ' +} diff --git a/vendor/github.com/gabriel-vasile/mimetype/internal/json/json.go b/vendor/github.com/gabriel-vasile/mimetype/internal/json/json.go new file mode 100644 index 00000000..ee39349a --- /dev/null +++ b/vendor/github.com/gabriel-vasile/mimetype/internal/json/json.go @@ -0,0 +1,544 @@ +// 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. + +// Package json provides a JSON value parser state machine. +// This package is almost entirely copied from the Go stdlib. +// Changes made to it permit users of the package to tell +// if some slice of bytes is a valid beginning of a json string. +package json + +import ( + "fmt" +) + +type ( + scanStatus int +) + +const ( + parseObjectKey = iota // parsing object key (before colon) + parseObjectValue // parsing object value (after colon) + parseArrayValue // parsing array value + + scanContinue scanStatus = iota // uninteresting byte + scanBeginLiteral // end implied by next result != scanContinue + scanBeginObject // begin object + scanObjectKey // just finished object key (string) + scanObjectValue // just finished non-last object value + scanEndObject // end object (implies scanObjectValue if possible) + scanBeginArray // begin array + scanArrayValue // just finished array value + scanEndArray // end array (implies scanArrayValue if possible) + scanSkipSpace // space byte; can skip; known to be last "continue" result + scanEnd // top-level value ended *before* this byte; known to be first "stop" result + scanError // hit an error, scanner.err. + + // This limits the max nesting depth to prevent stack overflow. + // This is permitted by https://tools.ietf.org/html/rfc7159#section-9 + maxNestingDepth = 10000 +) + +type ( + scanner struct { + step func(*scanner, byte) scanStatus + parseState []int + endTop bool + err error + index int + } +) + +// Scan returns the number of bytes scanned and if there was any error +// in trying to reach the end of data. +func Scan(data []byte) (int, error) { + s := &scanner{} + _ = checkValid(data, s) + return s.index, s.err +} + +// checkValid verifies that data is valid JSON-encoded data. +// scan is passed in for use by checkValid to avoid an allocation. +func checkValid(data []byte, scan *scanner) error { + scan.reset() + for _, c := range data { + scan.index++ + if scan.step(scan, c) == scanError { + return scan.err + } + } + if scan.eof() == scanError { + return scan.err + } + return nil +} + +func isSpace(c byte) bool { + return c == ' ' || c == '\t' || c == '\r' || c == '\n' +} + +func (s *scanner) reset() { + s.step = stateBeginValue + s.parseState = s.parseState[0:0] + s.err = nil +} + +// eof tells the scanner that the end of input has been reached. +// It returns a scan status just as s.step does. +func (s *scanner) eof() scanStatus { + if s.err != nil { + return scanError + } + if s.endTop { + return scanEnd + } + s.step(s, ' ') + if s.endTop { + return scanEnd + } + if s.err == nil { + s.err = fmt.Errorf("unexpected end of JSON input") + } + return scanError +} + +// pushParseState pushes a new parse state p onto the parse stack. +// an error state is returned if maxNestingDepth was exceeded, otherwise successState is returned. +func (s *scanner) pushParseState(c byte, newParseState int, successState scanStatus) scanStatus { + s.parseState = append(s.parseState, newParseState) + if len(s.parseState) <= maxNestingDepth { + return successState + } + return s.error(c, "exceeded max depth") +} + +// popParseState pops a parse state (already obtained) off the stack +// and updates s.step accordingly. +func (s *scanner) popParseState() { + n := len(s.parseState) - 1 + s.parseState = s.parseState[0:n] + if n == 0 { + s.step = stateEndTop + s.endTop = true + } else { + s.step = stateEndValue + } +} + +// stateBeginValueOrEmpty is the state after reading `[`. +func stateBeginValueOrEmpty(s *scanner, c byte) scanStatus { + if c <= ' ' && isSpace(c) { + return scanSkipSpace + } + if c == ']' { + return stateEndValue(s, c) + } + return stateBeginValue(s, c) +} + +// stateBeginValue is the state at the beginning of the input. +func stateBeginValue(s *scanner, c byte) scanStatus { + if c <= ' ' && isSpace(c) { + return scanSkipSpace + } + switch c { + case '{': + s.step = stateBeginStringOrEmpty + return s.pushParseState(c, parseObjectKey, scanBeginObject) + case '[': + s.step = stateBeginValueOrEmpty + return s.pushParseState(c, parseArrayValue, scanBeginArray) + case '"': + s.step = stateInString + return scanBeginLiteral + case '-': + s.step = stateNeg + return scanBeginLiteral + case '0': // beginning of 0.123 + s.step = state0 + return scanBeginLiteral + case 't': // beginning of true + s.step = stateT + return scanBeginLiteral + case 'f': // beginning of false + s.step = stateF + return scanBeginLiteral + case 'n': // beginning of null + s.step = stateN + return scanBeginLiteral + } + if '1' <= c && c <= '9' { // beginning of 1234.5 + s.step = state1 + return scanBeginLiteral + } + return s.error(c, "looking for beginning of value") +} + +// stateBeginStringOrEmpty is the state after reading `{`. +func stateBeginStringOrEmpty(s *scanner, c byte) scanStatus { + if c <= ' ' && isSpace(c) { + return scanSkipSpace + } + if c == '}' { + n := len(s.parseState) + s.parseState[n-1] = parseObjectValue + return stateEndValue(s, c) + } + return stateBeginString(s, c) +} + +// stateBeginString is the state after reading `{"key": value,`. +func stateBeginString(s *scanner, c byte) scanStatus { + if c <= ' ' && isSpace(c) { + return scanSkipSpace + } + if c == '"' { + s.step = stateInString + return scanBeginLiteral + } + return s.error(c, "looking for beginning of object key string") +} + +// stateEndValue is the state after completing a value, +// such as after reading `{}` or `true` or `["x"`. +func stateEndValue(s *scanner, c byte) scanStatus { + n := len(s.parseState) + if n == 0 { + // Completed top-level before the current byte. + s.step = stateEndTop + s.endTop = true + return stateEndTop(s, c) + } + if c <= ' ' && isSpace(c) { + s.step = stateEndValue + return scanSkipSpace + } + ps := s.parseState[n-1] + switch ps { + case parseObjectKey: + if c == ':' { + s.parseState[n-1] = parseObjectValue + s.step = stateBeginValue + return scanObjectKey + } + return s.error(c, "after object key") + case parseObjectValue: + if c == ',' { + s.parseState[n-1] = parseObjectKey + s.step = stateBeginString + return scanObjectValue + } + if c == '}' { + s.popParseState() + return scanEndObject + } + return s.error(c, "after object key:value pair") + case parseArrayValue: + if c == ',' { + s.step = stateBeginValue + return scanArrayValue + } + if c == ']' { + s.popParseState() + return scanEndArray + } + return s.error(c, "after array element") + } + return s.error(c, "") +} + +// stateEndTop is the state after finishing the top-level value, +// such as after reading `{}` or `[1,2,3]`. +// Only space characters should be seen now. +func stateEndTop(s *scanner, c byte) scanStatus { + if c != ' ' && c != '\t' && c != '\r' && c != '\n' { + // Complain about non-space byte on next call. + s.error(c, "after top-level value") + } + return scanEnd +} + +// stateInString is the state after reading `"`. +func stateInString(s *scanner, c byte) scanStatus { + if c == '"' { + s.step = stateEndValue + return scanContinue + } + if c == '\\' { + s.step = stateInStringEsc + return scanContinue + } + if c < 0x20 { + return s.error(c, "in string literal") + } + return scanContinue +} + +// stateInStringEsc is the state after reading `"\` during a quoted string. +func stateInStringEsc(s *scanner, c byte) scanStatus { + switch c { + case 'b', 'f', 'n', 'r', 't', '\\', '/', '"': + s.step = stateInString + return scanContinue + case 'u': + s.step = stateInStringEscU + return scanContinue + } + return s.error(c, "in string escape code") +} + +// stateInStringEscU is the state after reading `"\u` during a quoted string. +func stateInStringEscU(s *scanner, c byte) scanStatus { + if '0' <= c && c <= '9' || 'a' <= c && c <= 'f' || 'A' <= c && c <= 'F' { + s.step = stateInStringEscU1 + return scanContinue + } + // numbers + return s.error(c, "in \\u hexadecimal character escape") +} + +// stateInStringEscU1 is the state after reading `"\u1` during a quoted string. +func stateInStringEscU1(s *scanner, c byte) scanStatus { + if '0' <= c && c <= '9' || 'a' <= c && c <= 'f' || 'A' <= c && c <= 'F' { + s.step = stateInStringEscU12 + return scanContinue + } + // numbers + return s.error(c, "in \\u hexadecimal character escape") +} + +// stateInStringEscU12 is the state after reading `"\u12` during a quoted string. +func stateInStringEscU12(s *scanner, c byte) scanStatus { + if '0' <= c && c <= '9' || 'a' <= c && c <= 'f' || 'A' <= c && c <= 'F' { + s.step = stateInStringEscU123 + return scanContinue + } + // numbers + return s.error(c, "in \\u hexadecimal character escape") +} + +// stateInStringEscU123 is the state after reading `"\u123` during a quoted string. +func stateInStringEscU123(s *scanner, c byte) scanStatus { + if '0' <= c && c <= '9' || 'a' <= c && c <= 'f' || 'A' <= c && c <= 'F' { + s.step = stateInString + return scanContinue + } + // numbers + return s.error(c, "in \\u hexadecimal character escape") +} + +// stateNeg is the state after reading `-` during a number. +func stateNeg(s *scanner, c byte) scanStatus { + if c == '0' { + s.step = state0 + return scanContinue + } + if '1' <= c && c <= '9' { + s.step = state1 + return scanContinue + } + return s.error(c, "in numeric literal") +} + +// state1 is the state after reading a non-zero integer during a number, +// such as after reading `1` or `100` but not `0`. +func state1(s *scanner, c byte) scanStatus { + if '0' <= c && c <= '9' { + s.step = state1 + return scanContinue + } + return state0(s, c) +} + +// state0 is the state after reading `0` during a number. +func state0(s *scanner, c byte) scanStatus { + if c == '.' { + s.step = stateDot + return scanContinue + } + if c == 'e' || c == 'E' { + s.step = stateE + return scanContinue + } + return stateEndValue(s, c) +} + +// stateDot is the state after reading the integer and decimal point in a number, +// such as after reading `1.`. +func stateDot(s *scanner, c byte) scanStatus { + if '0' <= c && c <= '9' { + s.step = stateDot0 + return scanContinue + } + return s.error(c, "after decimal point in numeric literal") +} + +// stateDot0 is the state after reading the integer, decimal point, and subsequent +// digits of a number, such as after reading `3.14`. +func stateDot0(s *scanner, c byte) scanStatus { + if '0' <= c && c <= '9' { + return scanContinue + } + if c == 'e' || c == 'E' { + s.step = stateE + return scanContinue + } + return stateEndValue(s, c) +} + +// stateE is the state after reading the mantissa and e in a number, +// such as after reading `314e` or `0.314e`. +func stateE(s *scanner, c byte) scanStatus { + if c == '+' || c == '-' { + s.step = stateESign + return scanContinue + } + return stateESign(s, c) +} + +// stateESign is the state after reading the mantissa, e, and sign in a number, +// such as after reading `314e-` or `0.314e+`. +func stateESign(s *scanner, c byte) scanStatus { + if '0' <= c && c <= '9' { + s.step = stateE0 + return scanContinue + } + return s.error(c, "in exponent of numeric literal") +} + +// stateE0 is the state after reading the mantissa, e, optional sign, +// and at least one digit of the exponent in a number, +// such as after reading `314e-2` or `0.314e+1` or `3.14e0`. +func stateE0(s *scanner, c byte) scanStatus { + if '0' <= c && c <= '9' { + return scanContinue + } + return stateEndValue(s, c) +} + +// stateT is the state after reading `t`. +func stateT(s *scanner, c byte) scanStatus { + if c == 'r' { + s.step = stateTr + return scanContinue + } + return s.error(c, "in literal true (expecting 'r')") +} + +// stateTr is the state after reading `tr`. +func stateTr(s *scanner, c byte) scanStatus { + if c == 'u' { + s.step = stateTru + return scanContinue + } + return s.error(c, "in literal true (expecting 'u')") +} + +// stateTru is the state after reading `tru`. +func stateTru(s *scanner, c byte) scanStatus { + if c == 'e' { + s.step = stateEndValue + return scanContinue + } + return s.error(c, "in literal true (expecting 'e')") +} + +// stateF is the state after reading `f`. +func stateF(s *scanner, c byte) scanStatus { + if c == 'a' { + s.step = stateFa + return scanContinue + } + return s.error(c, "in literal false (expecting 'a')") +} + +// stateFa is the state after reading `fa`. +func stateFa(s *scanner, c byte) scanStatus { + if c == 'l' { + s.step = stateFal + return scanContinue + } + return s.error(c, "in literal false (expecting 'l')") +} + +// stateFal is the state after reading `fal`. +func stateFal(s *scanner, c byte) scanStatus { + if c == 's' { + s.step = stateFals + return scanContinue + } + return s.error(c, "in literal false (expecting 's')") +} + +// stateFals is the state after reading `fals`. +func stateFals(s *scanner, c byte) scanStatus { + if c == 'e' { + s.step = stateEndValue + return scanContinue + } + return s.error(c, "in literal false (expecting 'e')") +} + +// stateN is the state after reading `n`. +func stateN(s *scanner, c byte) scanStatus { + if c == 'u' { + s.step = stateNu + return scanContinue + } + return s.error(c, "in literal null (expecting 'u')") +} + +// stateNu is the state after reading `nu`. +func stateNu(s *scanner, c byte) scanStatus { + if c == 'l' { + s.step = stateNul + return scanContinue + } + return s.error(c, "in literal null (expecting 'l')") +} + +// stateNul is the state after reading `nul`. +func stateNul(s *scanner, c byte) scanStatus { + if c == 'l' { + s.step = stateEndValue + return scanContinue + } + return s.error(c, "in literal null (expecting 'l')") +} + +// stateError is the state after reaching a syntax error, +// such as after reading `[1}` or `5.1.2`. +func stateError(s *scanner, c byte) scanStatus { + return scanError +} + +// error records an error and switches to the error state. +func (s *scanner) error(c byte, context string) scanStatus { + s.step = stateError + s.err = fmt.Errorf("invalid character <<%c>> %s", c, context) + return scanError +} diff --git a/vendor/github.com/gabriel-vasile/mimetype/internal/magic/archive.go b/vendor/github.com/gabriel-vasile/mimetype/internal/magic/archive.go new file mode 100644 index 00000000..fec11f08 --- /dev/null +++ b/vendor/github.com/gabriel-vasile/mimetype/internal/magic/archive.go @@ -0,0 +1,124 @@ +package magic + +import ( + "bytes" + "encoding/binary" +) + +var ( + // SevenZ matches a 7z archive. + SevenZ = prefix([]byte{0x37, 0x7A, 0xBC, 0xAF, 0x27, 0x1C}) + // Gzip matches gzip files based on http://www.zlib.org/rfc-gzip.html#header-trailer. + Gzip = prefix([]byte{0x1f, 0x8b}) + // Fits matches an Flexible Image Transport System file. + Fits = prefix([]byte{ + 0x53, 0x49, 0x4D, 0x50, 0x4C, 0x45, 0x20, 0x20, 0x3D, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x54, + }) + // Xar matches an eXtensible ARchive format file. + Xar = prefix([]byte{0x78, 0x61, 0x72, 0x21}) + // Bz2 matches a bzip2 file. + Bz2 = prefix([]byte{0x42, 0x5A, 0x68}) + // Ar matches an ar (Unix) archive file. + Ar = prefix([]byte{0x21, 0x3C, 0x61, 0x72, 0x63, 0x68, 0x3E}) + // Deb matches a Debian package file. + Deb = offset([]byte{ + 0x64, 0x65, 0x62, 0x69, 0x61, 0x6E, 0x2D, + 0x62, 0x69, 0x6E, 0x61, 0x72, 0x79, + }, 8) + // Warc matches a Web ARChive file. + Warc = prefix([]byte("WARC/1.0"), []byte("WARC/1.1")) + // Cab matches a Microsoft Cabinet archive file. + Cab = prefix([]byte("MSCF\x00\x00\x00\x00")) + // Xz matches an xz compressed stream based on https://tukaani.org/xz/xz-file-format.txt. + Xz = prefix([]byte{0xFD, 0x37, 0x7A, 0x58, 0x5A, 0x00}) + // Lzip matches an Lzip compressed file. + Lzip = prefix([]byte{0x4c, 0x5a, 0x49, 0x50}) + // RPM matches an RPM or Delta RPM package file. + RPM = prefix([]byte{0xed, 0xab, 0xee, 0xdb}, []byte("drpm")) + // Cpio matches a cpio archive file. + Cpio = prefix([]byte("070707"), []byte("070701"), []byte("070702")) + // RAR matches a RAR archive file. + RAR = prefix([]byte("Rar!\x1A\x07\x00"), []byte("Rar!\x1A\x07\x01\x00")) +) + +// InstallShieldCab matches an InstallShield Cabinet archive file. +func InstallShieldCab(raw []byte, _ uint32) bool { + return len(raw) > 7 && + bytes.Equal(raw[0:4], []byte("ISc(")) && + raw[6] == 0 && + (raw[7] == 1 || raw[7] == 2 || raw[7] == 4) +} + +// Zstd matches a Zstandard archive file. +func Zstd(raw []byte, limit uint32) bool { + return len(raw) >= 4 && + (0x22 <= raw[0] && raw[0] <= 0x28 || raw[0] == 0x1E) && // Different Zstandard versions. + bytes.HasPrefix(raw[1:], []byte{0xB5, 0x2F, 0xFD}) +} + +// CRX matches a Chrome extension file: a zip archive prepended by a package header. +func CRX(raw []byte, limit uint32) bool { + const minHeaderLen = 16 + if len(raw) < minHeaderLen || !bytes.HasPrefix(raw, []byte("Cr24")) { + return false + } + pubkeyLen := binary.LittleEndian.Uint32(raw[8:12]) + sigLen := binary.LittleEndian.Uint32(raw[12:16]) + zipOffset := minHeaderLen + pubkeyLen + sigLen + if uint32(len(raw)) < zipOffset { + return false + } + return Zip(raw[zipOffset:], limit) +} + +// Tar matches a (t)ape (ar)chive file. +func Tar(raw []byte, _ uint32) bool { + // The "magic" header field for files in in UStar (POSIX IEEE P1003.1) archives + // has the prefix "ustar". The values of the remaining bytes in this field vary + // by archiver implementation. + if len(raw) >= 512 && bytes.HasPrefix(raw[257:], []byte{0x75, 0x73, 0x74, 0x61, 0x72}) { + return true + } + + if len(raw) < 256 { + return false + } + + // The older v7 format has no "magic" field, and therefore must be identified + // with heuristics based on legal ranges of values for other header fields: + // https://www.nationalarchives.gov.uk/PRONOM/Format/proFormatSearch.aspx?status=detailReport&id=385&strPageToDisplay=signatures + rules := []struct { + min, max uint8 + i int + }{ + {0x21, 0xEF, 0}, + {0x30, 0x37, 105}, + {0x20, 0x37, 106}, + {0x00, 0x00, 107}, + {0x30, 0x37, 113}, + {0x20, 0x37, 114}, + {0x00, 0x00, 115}, + {0x30, 0x37, 121}, + {0x20, 0x37, 122}, + {0x00, 0x00, 123}, + {0x30, 0x37, 134}, + {0x30, 0x37, 146}, + {0x30, 0x37, 153}, + {0x00, 0x37, 154}, + } + for _, r := range rules { + if raw[r.i] < r.min || raw[r.i] > r.max { + return false + } + } + + for _, i := range []uint8{135, 147, 155} { + if raw[i] != 0x00 && raw[i] != 0x20 { + return false + } + } + + return true +} diff --git a/vendor/github.com/gabriel-vasile/mimetype/internal/magic/audio.go b/vendor/github.com/gabriel-vasile/mimetype/internal/magic/audio.go new file mode 100644 index 00000000..d17e3248 --- /dev/null +++ b/vendor/github.com/gabriel-vasile/mimetype/internal/magic/audio.go @@ -0,0 +1,76 @@ +package magic + +import ( + "bytes" + "encoding/binary" +) + +var ( + // Flac matches a Free Lossless Audio Codec file. + Flac = prefix([]byte("\x66\x4C\x61\x43\x00\x00\x00\x22")) + // Midi matches a Musical Instrument Digital Interface file. + Midi = prefix([]byte("\x4D\x54\x68\x64")) + // Ape matches a Monkey's Audio file. + Ape = prefix([]byte("\x4D\x41\x43\x20\x96\x0F\x00\x00\x34\x00\x00\x00\x18\x00\x00\x00\x90\xE3")) + // MusePack matches a Musepack file. + MusePack = prefix([]byte("MPCK")) + // Au matches a Sun Microsystems au file. + Au = prefix([]byte("\x2E\x73\x6E\x64")) + // Amr matches an Adaptive Multi-Rate file. + Amr = prefix([]byte("\x23\x21\x41\x4D\x52")) + // Voc matches a Creative Voice file. + Voc = prefix([]byte("Creative Voice File")) + // M3u matches a Playlist file. + M3u = prefix([]byte("#EXTM3U")) + // AAC matches an Advanced Audio Coding file. + AAC = prefix([]byte{0xFF, 0xF1}, []byte{0xFF, 0xF9}) +) + +// Mp3 matches an mp3 file. +func Mp3(raw []byte, limit uint32) bool { + if len(raw) < 3 { + return false + } + + if bytes.HasPrefix(raw, []byte("ID3")) { + // MP3s with an ID3v2 tag will start with "ID3" + // ID3v1 tags, however appear at the end of the file. + return true + } + + // Match MP3 files without tags + switch binary.BigEndian.Uint16(raw[:2]) & 0xFFFE { + case 0xFFFA: + // MPEG ADTS, layer III, v1 + return true + case 0xFFF2: + // MPEG ADTS, layer III, v2 + return true + case 0xFFE2: + // MPEG ADTS, layer III, v2.5 + return true + } + + return false +} + +// Wav matches a Waveform Audio File Format file. +func Wav(raw []byte, limit uint32) bool { + return len(raw) > 12 && + bytes.Equal(raw[:4], []byte("RIFF")) && + bytes.Equal(raw[8:12], []byte{0x57, 0x41, 0x56, 0x45}) +} + +// Aiff matches Audio Interchange File Format file. +func Aiff(raw []byte, limit uint32) bool { + return len(raw) > 12 && + bytes.Equal(raw[:4], []byte{0x46, 0x4F, 0x52, 0x4D}) && + bytes.Equal(raw[8:12], []byte{0x41, 0x49, 0x46, 0x46}) +} + +// Qcp matches a Qualcomm Pure Voice file. +func Qcp(raw []byte, limit uint32) bool { + return len(raw) > 12 && + bytes.Equal(raw[:4], []byte("RIFF")) && + bytes.Equal(raw[8:12], []byte("QLCM")) +} diff --git a/vendor/github.com/gabriel-vasile/mimetype/internal/magic/binary.go b/vendor/github.com/gabriel-vasile/mimetype/internal/magic/binary.go new file mode 100644 index 00000000..29bdded3 --- /dev/null +++ b/vendor/github.com/gabriel-vasile/mimetype/internal/magic/binary.go @@ -0,0 +1,196 @@ +package magic + +import ( + "bytes" + "debug/macho" + "encoding/binary" +) + +var ( + // Lnk matches Microsoft lnk binary format. + Lnk = prefix([]byte{0x4C, 0x00, 0x00, 0x00, 0x01, 0x14, 0x02, 0x00}) + // Wasm matches a web assembly File Format file. + Wasm = prefix([]byte{0x00, 0x61, 0x73, 0x6D}) + // Exe matches a Windows/DOS executable file. + Exe = prefix([]byte{0x4D, 0x5A}) + // Elf matches an Executable and Linkable Format file. + Elf = prefix([]byte{0x7F, 0x45, 0x4C, 0x46}) + // Nes matches a Nintendo Entertainment system ROM file. + Nes = prefix([]byte{0x4E, 0x45, 0x53, 0x1A}) + // SWF matches an Adobe Flash swf file. + SWF = prefix([]byte("CWS"), []byte("FWS"), []byte("ZWS")) + // Torrent has bencoded text in the beginning. + Torrent = prefix([]byte("d8:announce")) +) + +// Java bytecode and Mach-O binaries share the same magic number. +// More info here https://github.com/threatstack/libmagic/blob/master/magic/Magdir/cafebabe +func classOrMachOFat(in []byte) bool { + // There should be at least 8 bytes for both of them because the only way to + // quickly distinguish them is by comparing byte at position 7 + if len(in) < 8 { + return false + } + + return bytes.HasPrefix(in, []byte{0xCA, 0xFE, 0xBA, 0xBE}) +} + +// Class matches a java class file. +func Class(raw []byte, limit uint32) bool { + return classOrMachOFat(raw) && raw[7] > 30 +} + +// MachO matches Mach-O binaries format. +func MachO(raw []byte, limit uint32) bool { + if classOrMachOFat(raw) && raw[7] < 20 { + return true + } + + if len(raw) < 4 { + return false + } + + be := binary.BigEndian.Uint32(raw) + le := binary.LittleEndian.Uint32(raw) + + return be == macho.Magic32 || + le == macho.Magic32 || + be == macho.Magic64 || + le == macho.Magic64 +} + +// Dbf matches a dBase file. +// https://www.dbase.com/Knowledgebase/INT/db7_file_fmt.htm +func Dbf(raw []byte, limit uint32) bool { + if len(raw) < 68 { + return false + } + + // 3rd and 4th bytes contain the last update month and day of month. + if !(0 < raw[2] && raw[2] < 13 && 0 < raw[3] && raw[3] < 32) { + return false + } + + // 12, 13, 30, 31 are reserved bytes and always filled with 0x00. + if raw[12] != 0x00 || raw[13] != 0x00 || raw[30] != 0x00 || raw[31] != 0x00 { + return false + } + // Production MDX flag; + // 0x01 if a production .MDX file exists for this table; + // 0x00 if no .MDX file exists. + if raw[28] > 0x01 { + return false + } + + // dbf type is dictated by the first byte. + dbfTypes := []byte{ + 0x02, 0x03, 0x04, 0x05, 0x30, 0x31, 0x32, 0x42, 0x62, 0x7B, 0x82, + 0x83, 0x87, 0x8A, 0x8B, 0x8E, 0xB3, 0xCB, 0xE5, 0xF5, 0xF4, 0xFB, + } + for _, b := range dbfTypes { + if raw[0] == b { + return true + } + } + + return false +} + +// ElfObj matches an object file. +func ElfObj(raw []byte, limit uint32) bool { + return len(raw) > 17 && ((raw[16] == 0x01 && raw[17] == 0x00) || + (raw[16] == 0x00 && raw[17] == 0x01)) +} + +// ElfExe matches an executable file. +func ElfExe(raw []byte, limit uint32) bool { + return len(raw) > 17 && ((raw[16] == 0x02 && raw[17] == 0x00) || + (raw[16] == 0x00 && raw[17] == 0x02)) +} + +// ElfLib matches a shared library file. +func ElfLib(raw []byte, limit uint32) bool { + return len(raw) > 17 && ((raw[16] == 0x03 && raw[17] == 0x00) || + (raw[16] == 0x00 && raw[17] == 0x03)) +} + +// ElfDump matches a core dump file. +func ElfDump(raw []byte, limit uint32) bool { + return len(raw) > 17 && ((raw[16] == 0x04 && raw[17] == 0x00) || + (raw[16] == 0x00 && raw[17] == 0x04)) +} + +// Dcm matches a DICOM medical format file. +func Dcm(raw []byte, limit uint32) bool { + return len(raw) > 131 && + bytes.Equal(raw[128:132], []byte{0x44, 0x49, 0x43, 0x4D}) +} + +// Marc matches a MARC21 (MAchine-Readable Cataloging) file. +func Marc(raw []byte, limit uint32) bool { + // File is at least 24 bytes ("leader" field size). + if len(raw) < 24 { + return false + } + + // Fixed bytes at offset 20. + if !bytes.Equal(raw[20:24], []byte("4500")) { + return false + } + + // First 5 bytes are ASCII digits. + for i := 0; i < 5; i++ { + if raw[i] < '0' || raw[i] > '9' { + return false + } + } + + // Field terminator is present in first 2048 bytes. + return bytes.Contains(raw[:min(2048, len(raw))], []byte{0x1E}) +} + +// Glb matches a glTF model format file. +// GLB is the binary file format representation of 3D models save 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: +// +// <-- 12-byte header --> +// | magic | version | length | +// | (uint32) | (uint32) | (uint32) | +// | \x67\x6C\x54\x46 | \x01\x00\x00\x00 | ... | +// | g l T F | 1 | ... | +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) | +func TzIf(raw []byte, limit uint32) bool { + // File is at least 44 bytes (header size). + if len(raw) < 44 { + return false + } + + if !bytes.HasPrefix(raw, []byte("TZif")) { + return false + } + + // Field "typecnt" MUST not be zero. + if binary.BigEndian.Uint32(raw[36:40]) == 0 { + return false + } + + // Version has to be NUL (0x00), '2' (0x32) or '3' (0x33). + return raw[4] == 0x00 || raw[4] == 0x32 || raw[4] == 0x33 +} diff --git a/vendor/github.com/gabriel-vasile/mimetype/internal/magic/database.go b/vendor/github.com/gabriel-vasile/mimetype/internal/magic/database.go new file mode 100644 index 00000000..cb1fed12 --- /dev/null +++ b/vendor/github.com/gabriel-vasile/mimetype/internal/magic/database.go @@ -0,0 +1,13 @@ +package magic + +var ( + // Sqlite matches an SQLite database file. + Sqlite = prefix([]byte{ + 0x53, 0x51, 0x4c, 0x69, 0x74, 0x65, 0x20, 0x66, + 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x20, 0x33, 0x00, + }) + // MsAccessAce matches Microsoft Access dababase file. + MsAccessAce = offset([]byte("Standard ACE DB"), 4) + // MsAccessMdb matches legacy Microsoft Access database file (JET, 2003 and earlier). + MsAccessMdb = offset([]byte("Standard Jet DB"), 4) +) diff --git a/vendor/github.com/gabriel-vasile/mimetype/internal/magic/document.go b/vendor/github.com/gabriel-vasile/mimetype/internal/magic/document.go new file mode 100644 index 00000000..b3b26d5a --- /dev/null +++ b/vendor/github.com/gabriel-vasile/mimetype/internal/magic/document.go @@ -0,0 +1,62 @@ +package magic + +import "bytes" + +var ( + // Pdf matches a Portable Document Format file. + // https://github.com/file/file/blob/11010cc805546a3e35597e67e1129a481aed40e8/magic/Magdir/pdf + Pdf = prefix( + // usual pdf signature + []byte("%PDF-"), + // new-line prefixed signature + []byte("\012%PDF-"), + // UTF-8 BOM prefixed signature + []byte("\xef\xbb\xbf%PDF-"), + ) + // Fdf matches a Forms Data Format file. + Fdf = prefix([]byte("%FDF")) + // Mobi matches a Mobi file. + Mobi = offset([]byte("BOOKMOBI"), 60) + // Lit matches a Microsoft Lit file. + Lit = prefix([]byte("ITOLITLS")) +) + +// DjVu matches a DjVu file. +func DjVu(raw []byte, limit uint32) bool { + if len(raw) < 12 { + return false + } + if !bytes.HasPrefix(raw, []byte{0x41, 0x54, 0x26, 0x54, 0x46, 0x4F, 0x52, 0x4D}) { + return false + } + return bytes.HasPrefix(raw[12:], []byte("DJVM")) || + bytes.HasPrefix(raw[12:], []byte("DJVU")) || + bytes.HasPrefix(raw[12:], []byte("DJVI")) || + bytes.HasPrefix(raw[12:], []byte("THUM")) +} + +// P7s matches an .p7s signature File (PEM, Base64). +func P7s(raw []byte, limit uint32) bool { + // Check for PEM Encoding. + if bytes.HasPrefix(raw, []byte("-----BEGIN PKCS7")) { + return true + } + // Check if DER Encoding is long enough. + if len(raw) < 20 { + return false + } + // Magic Bytes for the signedData ASN.1 encoding. + startHeader := [][]byte{{0x30, 0x80}, {0x30, 0x81}, {0x30, 0x82}, {0x30, 0x83}, {0x30, 0x84}} + signedDataMatch := []byte{0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x07} + // Check if Header is correct. There are multiple valid headers. + for i, match := range startHeader { + // If first bytes match, then check for ASN.1 Object Type. + if bytes.HasPrefix(raw, match) { + if bytes.HasPrefix(raw[i+2:], signedDataMatch) { + return true + } + } + } + + return false +} diff --git a/vendor/github.com/gabriel-vasile/mimetype/internal/magic/font.go b/vendor/github.com/gabriel-vasile/mimetype/internal/magic/font.go new file mode 100644 index 00000000..43af2821 --- /dev/null +++ b/vendor/github.com/gabriel-vasile/mimetype/internal/magic/font.go @@ -0,0 +1,39 @@ +package magic + +import ( + "bytes" +) + +var ( + // Woff matches a Web Open Font Format file. + Woff = prefix([]byte("wOFF")) + // Woff2 matches a Web Open Font Format version 2 file. + Woff2 = prefix([]byte("wOF2")) + // Otf matches an OpenType font file. + Otf = prefix([]byte{0x4F, 0x54, 0x54, 0x4F, 0x00}) +) + +// Ttf matches a TrueType font file. +func Ttf(raw []byte, limit uint32) bool { + if !bytes.HasPrefix(raw, []byte{0x00, 0x01, 0x00, 0x00}) { + return false + } + return !MsAccessAce(raw, limit) && !MsAccessMdb(raw, limit) +} + +// Eot matches an Embedded OpenType font file. +func Eot(raw []byte, limit uint32) bool { + return len(raw) > 35 && + bytes.Equal(raw[34:36], []byte{0x4C, 0x50}) && + (bytes.Equal(raw[8:11], []byte{0x02, 0x00, 0x01}) || + bytes.Equal(raw[8:11], []byte{0x01, 0x00, 0x00}) || + bytes.Equal(raw[8:11], []byte{0x02, 0x00, 0x02})) +} + +// Ttc matches a TrueType Collection font file. +func Ttc(raw []byte, limit uint32) bool { + return len(raw) > 7 && + bytes.HasPrefix(raw, []byte("ttcf")) && + (bytes.Equal(raw[4:8], []byte{0x00, 0x01, 0x00, 0x00}) || + bytes.Equal(raw[4:8], []byte{0x00, 0x02, 0x00, 0x00})) +} diff --git a/vendor/github.com/gabriel-vasile/mimetype/internal/magic/ftyp.go b/vendor/github.com/gabriel-vasile/mimetype/internal/magic/ftyp.go new file mode 100644 index 00000000..6575b4ae --- /dev/null +++ b/vendor/github.com/gabriel-vasile/mimetype/internal/magic/ftyp.go @@ -0,0 +1,88 @@ +package magic + +import "bytes" + +var ( + // AVIF matches an AV1 Image File Format still or animated. + // Wikipedia page seems outdated listing image/avif-sequence for animations. + // https://github.com/AOMediaCodec/av1-avif/issues/59 + AVIF = ftyp([]byte("avif"), []byte("avis")) + // Mp4 matches an MP4 file. + Mp4 = ftyp( + []byte("avc1"), []byte("dash"), []byte("iso2"), []byte("iso3"), + []byte("iso4"), []byte("iso5"), []byte("iso6"), []byte("isom"), + []byte("mmp4"), []byte("mp41"), []byte("mp42"), []byte("mp4v"), + []byte("mp71"), []byte("MSNV"), []byte("NDAS"), []byte("NDSC"), + []byte("NSDC"), []byte("NSDH"), []byte("NDSM"), []byte("NDSP"), + []byte("NDSS"), []byte("NDXC"), []byte("NDXH"), []byte("NDXM"), + []byte("NDXP"), []byte("NDXS"), []byte("F4V "), []byte("F4P "), + ) + // ThreeGP matches a 3GPP file. + ThreeGP = ftyp( + []byte("3gp1"), []byte("3gp2"), []byte("3gp3"), []byte("3gp4"), + []byte("3gp5"), []byte("3gp6"), []byte("3gp7"), []byte("3gs7"), + []byte("3ge6"), []byte("3ge7"), []byte("3gg6"), + ) + // ThreeG2 matches a 3GPP2 file. + ThreeG2 = ftyp( + []byte("3g24"), []byte("3g25"), []byte("3g26"), []byte("3g2a"), + []byte("3g2b"), []byte("3g2c"), []byte("KDDI"), + ) + // AMp4 matches an audio MP4 file. + AMp4 = ftyp( + // audio for Adobe Flash Player 9+ + []byte("F4A "), []byte("F4B "), + // Apple iTunes AAC-LC (.M4A) Audio + []byte("M4B "), []byte("M4P "), + // MPEG-4 (.MP4) for SonyPSP + []byte("MSNV"), + // Nero Digital AAC Audio + []byte("NDAS"), + ) + // Mqv matches a Sony / Mobile QuickTime file. + Mqv = ftyp([]byte("mqt ")) + // M4a matches an audio M4A file. + M4a = ftyp([]byte("M4A ")) + // M4v matches an Appl4 M4V video file. + M4v = ftyp([]byte("M4V "), []byte("M4VH"), []byte("M4VP")) + // Heic matches a High Efficiency Image Coding (HEIC) file. + Heic = ftyp([]byte("heic"), []byte("heix")) + // HeicSequence matches a High Efficiency Image Coding (HEIC) file sequence. + HeicSequence = ftyp([]byte("hevc"), []byte("hevx")) + // Heif matches a High Efficiency Image File Format (HEIF) file. + Heif = ftyp([]byte("mif1"), []byte("heim"), []byte("heis"), []byte("avic")) + // HeifSequence matches a High Efficiency Image File Format (HEIF) file sequence. + HeifSequence = ftyp([]byte("msf1"), []byte("hevm"), []byte("hevs"), []byte("avcs")) + // TODO: add support for remaining video formats at ftyps.com. +) + +// QuickTime matches a QuickTime File Format file. +// https://www.loc.gov/preservation/digital/formats/fdd/fdd000052.shtml +// https://developer.apple.com/library/archive/documentation/QuickTime/QTFF/QTFFChap1/qtff1.html#//apple_ref/doc/uid/TP40000939-CH203-38190 +// https://github.com/apache/tika/blob/0f5570691133c75ac4472c3340354a6c4080b104/tika-core/src/main/resources/org/apache/tika/mime/tika-mimetypes.xml#L7758-L7777 +func QuickTime(raw []byte, _ uint32) bool { + if len(raw) < 12 { + return false + } + // First 4 bytes represent the size of the atom as unsigned int. + // Next 4 bytes are the type of the atom. + // For `ftyp` atoms check if first byte in size is 0, otherwise, a text file + // which happens to contain 'ftypqt ' at index 4 will trigger a false positive. + if bytes.Equal(raw[4:12], []byte("ftypqt ")) || + bytes.Equal(raw[4:12], []byte("ftypmoov")) { + return raw[0] == 0x00 + } + basicAtomTypes := [][]byte{ + []byte("moov\x00"), + []byte("mdat\x00"), + []byte("free\x00"), + []byte("skip\x00"), + []byte("pnot\x00"), + } + for _, a := range basicAtomTypes { + if bytes.Equal(raw[4:9], a) { + return true + } + } + return bytes.Equal(raw[:8], []byte("\x00\x00\x00\x08wide")) +} diff --git a/vendor/github.com/gabriel-vasile/mimetype/internal/magic/geo.go b/vendor/github.com/gabriel-vasile/mimetype/internal/magic/geo.go new file mode 100644 index 00000000..f077e167 --- /dev/null +++ b/vendor/github.com/gabriel-vasile/mimetype/internal/magic/geo.go @@ -0,0 +1,55 @@ +package magic + +import ( + "bytes" + "encoding/binary" +) + +// Shp matches a shape format file. +// https://www.esri.com/library/whitepapers/pdfs/shapefile.pdf +func Shp(raw []byte, limit uint32) bool { + if len(raw) < 112 { + return false + } + + if !(binary.BigEndian.Uint32(raw[0:4]) == 9994 && + binary.BigEndian.Uint32(raw[4:8]) == 0 && + binary.BigEndian.Uint32(raw[8:12]) == 0 && + binary.BigEndian.Uint32(raw[12:16]) == 0 && + binary.BigEndian.Uint32(raw[16:20]) == 0 && + binary.BigEndian.Uint32(raw[20:24]) == 0 && + binary.LittleEndian.Uint32(raw[28:32]) == 1000) { + return false + } + + shapeTypes := []int{ + 0, // Null shape + 1, // Point + 3, // Polyline + 5, // Polygon + 8, // MultiPoint + 11, // PointZ + 13, // PolylineZ + 15, // PolygonZ + 18, // MultiPointZ + 21, // PointM + 23, // PolylineM + 25, // PolygonM + 28, // MultiPointM + 31, // MultiPatch + } + + for _, st := range shapeTypes { + if st == int(binary.LittleEndian.Uint32(raw[108:112])) { + return true + } + } + + return false +} + +// Shx matches a shape index format file. +// https://www.esri.com/library/whitepapers/pdfs/shapefile.pdf +func Shx(raw []byte, limit uint32) bool { + return bytes.HasPrefix(raw, []byte{0x00, 0x00, 0x27, 0x0A}) +} diff --git a/vendor/github.com/gabriel-vasile/mimetype/internal/magic/image.go b/vendor/github.com/gabriel-vasile/mimetype/internal/magic/image.go new file mode 100644 index 00000000..0eb7e95f --- /dev/null +++ b/vendor/github.com/gabriel-vasile/mimetype/internal/magic/image.go @@ -0,0 +1,110 @@ +package magic + +import "bytes" + +var ( + // Png matches a Portable Network Graphics file. + // https://www.w3.org/TR/PNG/ + Png = prefix([]byte{0x89, 0x50, 0x4E, 0x47, 0x0D, 0x0A, 0x1A, 0x0A}) + // Apng matches an Animated Portable Network Graphics file. + // https://wiki.mozilla.org/APNG_Specification + Apng = offset([]byte("acTL"), 37) + // Jpg matches a Joint Photographic Experts Group file. + Jpg = prefix([]byte{0xFF, 0xD8, 0xFF}) + // Jp2 matches a JPEG 2000 Image file (ISO 15444-1). + Jp2 = jpeg2k([]byte{0x6a, 0x70, 0x32, 0x20}) + // Jpx matches a JPEG 2000 Image file (ISO 15444-2). + Jpx = jpeg2k([]byte{0x6a, 0x70, 0x78, 0x20}) + // Jpm matches a JPEG 2000 Image file (ISO 15444-6). + Jpm = jpeg2k([]byte{0x6a, 0x70, 0x6D, 0x20}) + // Gif matches a Graphics Interchange Format file. + Gif = prefix([]byte("GIF87a"), []byte("GIF89a")) + // Bmp matches a bitmap image file. + Bmp = prefix([]byte{0x42, 0x4D}) + // Ps matches a PostScript file. + Ps = prefix([]byte("%!PS-Adobe-")) + // Psd matches a Photoshop Document file. + Psd = prefix([]byte("8BPS")) + // Ico matches an ICO file. + Ico = prefix([]byte{0x00, 0x00, 0x01, 0x00}, []byte{0x00, 0x00, 0x02, 0x00}) + // Icns matches an ICNS (Apple Icon Image format) file. + Icns = prefix([]byte("icns")) + // Tiff matches a Tagged Image File Format file. + Tiff = prefix([]byte{0x49, 0x49, 0x2A, 0x00}, []byte{0x4D, 0x4D, 0x00, 0x2A}) + // Bpg matches a Better Portable Graphics file. + Bpg = prefix([]byte{0x42, 0x50, 0x47, 0xFB}) + // Xcf matches GIMP image data. + Xcf = prefix([]byte("gimp xcf")) + // Pat matches GIMP pattern data. + Pat = offset([]byte("GPAT"), 20) + // Gbr matches GIMP brush data. + Gbr = offset([]byte("GIMP"), 20) + // Hdr matches Radiance HDR image. + // https://web.archive.org/web/20060913152809/http://local.wasp.uwa.edu.au/~pbourke/dataformats/pic/ + Hdr = prefix([]byte("#?RADIANCE\n")) + // Xpm matches X PixMap image data. + Xpm = prefix([]byte{0x2F, 0x2A, 0x20, 0x58, 0x50, 0x4D, 0x20, 0x2A, 0x2F}) + // Jxs matches a JPEG XS coded image file (ISO/IEC 21122-3). + Jxs = prefix([]byte{0x00, 0x00, 0x00, 0x0C, 0x4A, 0x58, 0x53, 0x20, 0x0D, 0x0A, 0x87, 0x0A}) + // Jxr matches Microsoft HD JXR photo file. + Jxr = prefix([]byte{0x49, 0x49, 0xBC, 0x01}) +) + +func jpeg2k(sig []byte) Detector { + return func(raw []byte, _ uint32) bool { + if len(raw) < 24 { + return false + } + + if !bytes.Equal(raw[4:8], []byte{0x6A, 0x50, 0x20, 0x20}) && + !bytes.Equal(raw[4:8], []byte{0x6A, 0x50, 0x32, 0x20}) { + return false + } + return bytes.Equal(raw[20:24], sig) + } +} + +// Webp matches a WebP file. +func Webp(raw []byte, _ uint32) bool { + return len(raw) > 12 && + bytes.Equal(raw[0:4], []byte("RIFF")) && + bytes.Equal(raw[8:12], []byte{0x57, 0x45, 0x42, 0x50}) +} + +// Dwg matches a CAD drawing file. +func Dwg(raw []byte, _ uint32) bool { + if len(raw) < 6 || raw[0] != 0x41 || raw[1] != 0x43 { + return false + } + dwgVersions := [][]byte{ + {0x31, 0x2E, 0x34, 0x30}, + {0x31, 0x2E, 0x35, 0x30}, + {0x32, 0x2E, 0x31, 0x30}, + {0x31, 0x30, 0x30, 0x32}, + {0x31, 0x30, 0x30, 0x33}, + {0x31, 0x30, 0x30, 0x34}, + {0x31, 0x30, 0x30, 0x36}, + {0x31, 0x30, 0x30, 0x39}, + {0x31, 0x30, 0x31, 0x32}, + {0x31, 0x30, 0x31, 0x34}, + {0x31, 0x30, 0x31, 0x35}, + {0x31, 0x30, 0x31, 0x38}, + {0x31, 0x30, 0x32, 0x31}, + {0x31, 0x30, 0x32, 0x34}, + {0x31, 0x30, 0x33, 0x32}, + } + + for _, d := range dwgVersions { + if bytes.Equal(raw[2:6], d) { + return true + } + } + + return false +} + +// Jxl matches JPEG XL image file. +func Jxl(raw []byte, _ uint32) bool { + return bytes.HasPrefix(raw, []byte{0xFF, 0x0A}) || + bytes.HasPrefix(raw, []byte("\x00\x00\x00\x0cJXL\x20\x0d\x0a\x87\x0a")) +} diff --git a/vendor/github.com/gabriel-vasile/mimetype/internal/magic/magic.go b/vendor/github.com/gabriel-vasile/mimetype/internal/magic/magic.go new file mode 100644 index 00000000..466058fb --- /dev/null +++ b/vendor/github.com/gabriel-vasile/mimetype/internal/magic/magic.go @@ -0,0 +1,239 @@ +// Package magic holds the matching functions used to find MIME types. +package magic + +import ( + "bytes" + "fmt" +) + +type ( + // Detector receiveѕ the raw data of a file and returns whether the data + // meets any conditions. The limit parameter is an upper limit to the number + // of bytes received and is used to tell if the byte slice represents the + // whole file or is just the header of a file: len(raw) < limit or len(raw)>limit. + Detector func(raw []byte, limit uint32) bool + xmlSig struct { + // the local name of the root tag + localName []byte + // the namespace of the XML document + xmlns []byte + } +) + +// prefix creates a Detector which returns true if any of the provided signatures +// is the prefix of the raw input. +func prefix(sigs ...[]byte) Detector { + return func(raw []byte, limit uint32) bool { + for _, s := range sigs { + if bytes.HasPrefix(raw, s) { + return true + } + } + return false + } +} + +// offset creates a Detector which returns true if the provided signature can be +// found at offset in the raw input. +func offset(sig []byte, offset int) Detector { + return func(raw []byte, limit uint32) bool { + return len(raw) > offset && bytes.HasPrefix(raw[offset:], sig) + } +} + +// ciPrefix is like prefix but the check is case insensitive. +func ciPrefix(sigs ...[]byte) Detector { + return func(raw []byte, limit uint32) bool { + for _, s := range sigs { + if ciCheck(s, raw) { + return true + } + } + return false + } +} +func ciCheck(sig, raw []byte) bool { + if len(raw) < len(sig)+1 { + return false + } + // perform case insensitive check + for i, b := range sig { + db := raw[i] + if 'A' <= b && b <= 'Z' { + db &= 0xDF + } + if b != db { + return false + } + } + + return true +} + +// xml creates a Detector which returns true if any of the provided XML signatures +// matches the raw input. +func xml(sigs ...xmlSig) Detector { + return func(raw []byte, limit uint32) bool { + raw = trimLWS(raw) + if len(raw) == 0 { + return false + } + for _, s := range sigs { + if xmlCheck(s, raw) { + return true + } + } + return false + } +} +func xmlCheck(sig xmlSig, raw []byte) bool { + raw = raw[:min(len(raw), 512)] + + if len(sig.localName) == 0 { + return bytes.Index(raw, sig.xmlns) > 0 + } + if len(sig.xmlns) == 0 { + return bytes.Index(raw, sig.localName) > 0 + } + + localNameIndex := bytes.Index(raw, sig.localName) + return localNameIndex != -1 && localNameIndex < bytes.Index(raw, sig.xmlns) +} + +// markup creates a Detector which returns true is any of the HTML signatures +// matches the raw input. +func markup(sigs ...[]byte) Detector { + return func(raw []byte, limit uint32) bool { + if bytes.HasPrefix(raw, []byte{0xEF, 0xBB, 0xBF}) { + // We skip the UTF-8 BOM if present to ensure we correctly + // process any leading whitespace. The presence of the BOM + // is taken into account during charset detection in charset.go. + raw = trimLWS(raw[3:]) + } else { + raw = trimLWS(raw) + } + if len(raw) == 0 { + return false + } + for _, s := range sigs { + if markupCheck(s, raw) { + return true + } + } + return false + } +} +func markupCheck(sig, raw []byte) bool { + if len(raw) < len(sig)+1 { + return false + } + + // perform case insensitive check + for i, b := range sig { + db := raw[i] + if 'A' <= b && b <= 'Z' { + db &= 0xDF + } + if b != db { + return false + } + } + // Next byte must be space or right angle bracket. + if db := raw[len(sig)]; db != ' ' && db != '>' { + return false + } + + return true +} + +// ftyp creates a Detector which returns true if any of the FTYP signatures +// matches the raw input. +func ftyp(sigs ...[]byte) Detector { + return func(raw []byte, limit uint32) bool { + if len(raw) < 12 { + return false + } + for _, s := range sigs { + if bytes.Equal(raw[4:12], append([]byte("ftyp"), s...)) { + return true + } + } + return false + } +} + +func newXMLSig(localName, xmlns string) xmlSig { + ret := xmlSig{xmlns: []byte(xmlns)} + if localName != "" { + ret.localName = []byte(fmt.Sprintf("<%s", localName)) + } + + return ret +} + +// A valid shebang starts with the "#!" characters, +// followed by any number of spaces, +// followed by the path to the interpreter, +// and, optionally, followed by the arguments for the interpreter. +// +// Ex: +// #! /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 { + for _, s := range sigs { + if shebangCheck(s, firstLine(raw)) { + return true + } + } + return false + } +} + +func shebangCheck(sig, raw []byte) bool { + if len(raw) < len(sig)+2 { + return false + } + if raw[0] != '#' || raw[1] != '!' { + return false + } + + return bytes.Equal(trimLWS(trimRWS(raw[2:])), sig) +} + +// trimLWS trims whitespace from beginning of the input. +func trimLWS(in []byte) []byte { + firstNonWS := 0 + for ; firstNonWS < len(in) && isWS(in[firstNonWS]); firstNonWS++ { + } + + return in[firstNonWS:] +} + +// trimRWS trims whitespace from the end of the input. +func trimRWS(in []byte) []byte { + lastNonWS := len(in) - 1 + for ; lastNonWS > 0 && isWS(in[lastNonWS]); lastNonWS-- { + } + + return in[:lastNonWS+1] +} + +func firstLine(in []byte) []byte { + lineEnd := 0 + for ; lineEnd < len(in) && in[lineEnd] != '\n'; lineEnd++ { + } + + return in[:lineEnd] +} + +func isWS(b byte) bool { + return b == '\t' || b == '\n' || b == '\x0c' || b == '\r' || b == ' ' +} + +func min(a, b int) int { + if a < b { + return a + } + return b +} diff --git a/vendor/github.com/gabriel-vasile/mimetype/internal/magic/ms_office.go b/vendor/github.com/gabriel-vasile/mimetype/internal/magic/ms_office.go new file mode 100644 index 00000000..5964ce59 --- /dev/null +++ b/vendor/github.com/gabriel-vasile/mimetype/internal/magic/ms_office.go @@ -0,0 +1,225 @@ +package magic + +import ( + "bytes" + "encoding/binary" +) + +var ( + xlsxSigFiles = []string{ + "xl/worksheets/", + "xl/drawings/", + "xl/theme/", + "xl/_rels/", + "xl/styles.xml", + "xl/workbook.xml", + "xl/sharedStrings.xml", + } + docxSigFiles = []string{ + "word/media/", + "word/_rels/document.xml.rels", + "word/document.xml", + "word/styles.xml", + "word/fontTable.xml", + "word/settings.xml", + "word/numbering.xml", + "word/header", + "word/footer", + } + pptxSigFiles = []string{ + "ppt/slides/", + "ppt/media/", + "ppt/slideLayouts/", + "ppt/theme/", + "ppt/slideMasters/", + "ppt/tags/", + "ppt/notesMasters/", + "ppt/_rels/", + "ppt/handoutMasters/", + "ppt/notesSlides/", + "ppt/presentation.xml", + "ppt/tableStyles.xml", + "ppt/presProps.xml", + "ppt/viewProps.xml", + } +) + +// Xlsx matches a Microsoft Excel 2007 file. +func Xlsx(raw []byte, limit uint32) bool { + return zipContains(raw, xlsxSigFiles...) +} + +// Docx matches a Microsoft Word 2007 file. +func Docx(raw []byte, limit uint32) bool { + return zipContains(raw, docxSigFiles...) +} + +// Pptx matches a Microsoft PowerPoint 2007 file. +func Pptx(raw []byte, limit uint32) bool { + return zipContains(raw, pptxSigFiles...) +} + +// Ole matches an Open Linking and Embedding file. +// +// https://en.wikipedia.org/wiki/Object_Linking_and_Embedding +func Ole(raw []byte, limit uint32) bool { + return bytes.HasPrefix(raw, []byte{0xD0, 0xCF, 0x11, 0xE0, 0xA1, 0xB1, 0x1A, 0xE1}) +} + +// Aaf matches an Advanced Authoring Format file. +// See: https://pyaaf.readthedocs.io/en/latest/about.html +// See: https://en.wikipedia.org/wiki/Advanced_Authoring_Format +func Aaf(raw []byte, limit uint32) bool { + if len(raw) < 31 { + return false + } + return bytes.HasPrefix(raw[8:], []byte{0x41, 0x41, 0x46, 0x42, 0x0D, 0x00, 0x4F, 0x4D}) && + (raw[30] == 0x09 || raw[30] == 0x0C) +} + +// Doc matches a Microsoft Word 97-2003 file. +// See: https://github.com/decalage2/oletools/blob/412ee36ae45e70f42123e835871bac956d958461/oletools/common/clsid.py +func Doc(raw []byte, _ uint32) bool { + clsids := [][]byte{ + // Microsoft Word 97-2003 Document (Word.Document.8) + {0x06, 0x09, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46}, + // Microsoft Word 6.0-7.0 Document (Word.Document.6) + {0x00, 0x09, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46}, + // Microsoft Word Picture (Word.Picture.8) + {0x07, 0x09, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46}, + } + + for _, clsid := range clsids { + if matchOleClsid(raw, clsid) { + return true + } + } + + return false +} + +// Ppt matches a Microsoft PowerPoint 97-2003 file or a PowerPoint 95 presentation. +func Ppt(raw []byte, limit uint32) bool { + // Root CLSID test is the safest way to detect identify OLE, however, the format + // often places the root CLSID at the end of the file. + if matchOleClsid(raw, []byte{ + 0x10, 0x8d, 0x81, 0x64, 0x9b, 0x4f, 0xcf, 0x11, + 0x86, 0xea, 0x00, 0xaa, 0x00, 0xb9, 0x29, 0xe8, + }) || matchOleClsid(raw, []byte{ + 0x70, 0xae, 0x7b, 0xea, 0x3b, 0xfb, 0xcd, 0x11, + 0xa9, 0x03, 0x00, 0xaa, 0x00, 0x51, 0x0e, 0xa3, + }) { + return true + } + + lin := len(raw) + if lin < 520 { + return false + } + pptSubHeaders := [][]byte{ + {0xA0, 0x46, 0x1D, 0xF0}, + {0x00, 0x6E, 0x1E, 0xF0}, + {0x0F, 0x00, 0xE8, 0x03}, + } + for _, h := range pptSubHeaders { + if bytes.HasPrefix(raw[512:], h) { + return true + } + } + + if bytes.HasPrefix(raw[512:], []byte{0xFD, 0xFF, 0xFF, 0xFF}) && + raw[518] == 0x00 && raw[519] == 0x00 { + return true + } + + return lin > 1152 && bytes.Contains(raw[1152:min(4096, lin)], + []byte("P\x00o\x00w\x00e\x00r\x00P\x00o\x00i\x00n\x00t\x00 D\x00o\x00c\x00u\x00m\x00e\x00n\x00t")) +} + +// Xls matches a Microsoft Excel 97-2003 file. +func Xls(raw []byte, limit uint32) bool { + // Root CLSID test is the safest way to detect identify OLE, however, the format + // often places the root CLSID at the end of the file. + if matchOleClsid(raw, []byte{ + 0x10, 0x08, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, + }) || matchOleClsid(raw, []byte{ + 0x20, 0x08, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, + }) { + return true + } + + lin := len(raw) + if lin < 520 { + return false + } + xlsSubHeaders := [][]byte{ + {0x09, 0x08, 0x10, 0x00, 0x00, 0x06, 0x05, 0x00}, + {0xFD, 0xFF, 0xFF, 0xFF, 0x10}, + {0xFD, 0xFF, 0xFF, 0xFF, 0x1F}, + {0xFD, 0xFF, 0xFF, 0xFF, 0x22}, + {0xFD, 0xFF, 0xFF, 0xFF, 0x23}, + {0xFD, 0xFF, 0xFF, 0xFF, 0x28}, + {0xFD, 0xFF, 0xFF, 0xFF, 0x29}, + } + for _, h := range xlsSubHeaders { + if bytes.HasPrefix(raw[512:], h) { + return true + } + } + + return lin > 1152 && bytes.Contains(raw[1152:min(4096, lin)], + []byte("W\x00k\x00s\x00S\x00S\x00W\x00o\x00r\x00k\x00B\x00o\x00o\x00k")) +} + +// Pub matches a Microsoft Publisher file. +func Pub(raw []byte, limit uint32) bool { + return matchOleClsid(raw, []byte{ + 0x01, 0x12, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, + }) +} + +// Msg matches a Microsoft Outlook email file. +func Msg(raw []byte, limit uint32) bool { + return matchOleClsid(raw, []byte{ + 0x0B, 0x0D, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, + }) +} + +// Msi matches a Microsoft Windows Installer file. +// http://fileformats.archiveteam.org/wiki/Microsoft_Compound_File +func Msi(raw []byte, limit uint32) bool { + return matchOleClsid(raw, []byte{ + 0x84, 0x10, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, + }) +} + +// Helper to match by a specific CLSID of a compound file. +// +// http://fileformats.archiveteam.org/wiki/Microsoft_Compound_File +func matchOleClsid(in []byte, clsid []byte) bool { + // Microsoft Compound files v3 have a sector length of 512, while v4 has 4096. + // Change sector offset depending on file version. + // https://www.loc.gov/preservation/digital/formats/fdd/fdd000392.shtml + sectorLength := 512 + if len(in) < sectorLength { + return false + } + if in[26] == 0x04 && in[27] == 0x00 { + sectorLength = 4096 + } + + // SecID of first sector of the directory stream. + firstSecID := int(binary.LittleEndian.Uint32(in[48:52])) + + // Expected offset of CLSID for root storage object. + clsidOffset := sectorLength*(1+firstSecID) + 80 + + if len(in) <= clsidOffset+16 { + return false + } + + return bytes.HasPrefix(in[clsidOffset:], clsid) +} diff --git a/vendor/github.com/gabriel-vasile/mimetype/internal/magic/ogg.go b/vendor/github.com/gabriel-vasile/mimetype/internal/magic/ogg.go new file mode 100644 index 00000000..bb4cd781 --- /dev/null +++ b/vendor/github.com/gabriel-vasile/mimetype/internal/magic/ogg.go @@ -0,0 +1,42 @@ +package magic + +import ( + "bytes" +) + +/* + NOTE: + + In May 2003, two Internet RFCs were published relating to the format. + The Ogg bitstream was defined in RFC 3533 (which is classified as + 'informative') and its Internet content type (application/ogg) in RFC + 3534 (which is, as of 2006, a proposed standard protocol). In + September 2008, RFC 3534 was obsoleted by RFC 5334, which added + content types video/ogg, audio/ogg and filename extensions .ogx, .ogv, + .oga, .spx. + + See: + https://tools.ietf.org/html/rfc3533 + https://developer.mozilla.org/en-US/docs/Web/HTTP/Configuring_servers_for_Ogg_media#Serve_media_with_the_correct_MIME_type + https://github.com/file/file/blob/master/magic/Magdir/vorbis +*/ + +// Ogg matches an Ogg file. +func Ogg(raw []byte, limit uint32) bool { + return bytes.HasPrefix(raw, []byte("\x4F\x67\x67\x53\x00")) +} + +// OggAudio matches an audio ogg file. +func OggAudio(raw []byte, limit uint32) bool { + return len(raw) >= 37 && (bytes.HasPrefix(raw[28:], []byte("\x7fFLAC")) || + bytes.HasPrefix(raw[28:], []byte("\x01vorbis")) || + bytes.HasPrefix(raw[28:], []byte("OpusHead")) || + bytes.HasPrefix(raw[28:], []byte("Speex\x20\x20\x20"))) +} + +// OggVideo matches a video ogg file. +func OggVideo(raw []byte, limit uint32) bool { + return len(raw) >= 37 && (bytes.HasPrefix(raw[28:], []byte("\x80theora")) || + bytes.HasPrefix(raw[28:], []byte("fishead\x00")) || + bytes.HasPrefix(raw[28:], []byte("\x01video\x00\x00\x00"))) // OGM video +} diff --git a/vendor/github.com/gabriel-vasile/mimetype/internal/magic/text.go b/vendor/github.com/gabriel-vasile/mimetype/internal/magic/text.go new file mode 100644 index 00000000..e2a03caf --- /dev/null +++ b/vendor/github.com/gabriel-vasile/mimetype/internal/magic/text.go @@ -0,0 +1,375 @@ +package magic + +import ( + "bufio" + "bytes" + "strings" + "time" + + "github.com/gabriel-vasile/mimetype/internal/charset" + "github.com/gabriel-vasile/mimetype/internal/json" +) + +var ( + // HTML matches a Hypertext Markup Language file. + HTML = markup( + []byte(" 0 +} + +// GeoJSON matches a RFC 7946 GeoJSON file. +// +// GeoJSON detection implies searching for key:value pairs like: `"type": "Feature"` +// in the input. +// BUG(gabriel-vasile): The "type" key should be searched for in the root object. +func GeoJSON(raw []byte, limit uint32) bool { + raw = trimLWS(raw) + if len(raw) == 0 { + return false + } + // GeoJSON is always a JSON object, not a JSON array or any other JSON value. + if raw[0] != '{' { + return false + } + + s := []byte(`"type"`) + si, sl := bytes.Index(raw, s), len(s) + + if si == -1 { + return false + } + + // If the "type" string is the suffix of the input, + // there is no need to search for the value of the key. + if si+sl == len(raw) { + return false + } + // Skip the "type" part. + raw = raw[si+sl:] + // Skip any whitespace before the colon. + raw = trimLWS(raw) + // Check for colon. + if len(raw) == 0 || raw[0] != ':' { + return false + } + // Skip any whitespace after the colon. + raw = trimLWS(raw[1:]) + + geoJSONTypes := [][]byte{ + []byte(`"Feature"`), + []byte(`"FeatureCollection"`), + []byte(`"Point"`), + []byte(`"LineString"`), + []byte(`"Polygon"`), + []byte(`"MultiPoint"`), + []byte(`"MultiLineString"`), + []byte(`"MultiPolygon"`), + []byte(`"GeometryCollection"`), + } + for _, t := range geoJSONTypes { + if bytes.HasPrefix(raw, t) { + return true + } + } + + return false +} + +// NdJSON matches a Newline delimited JSON file. All complete lines from raw +// must be valid JSON documents meaning they contain one of the valid JSON data +// types. +func NdJSON(raw []byte, limit uint32) bool { + lCount, hasObjOrArr := 0, false + sc := bufio.NewScanner(dropLastLine(raw, limit)) + for sc.Scan() { + l := sc.Bytes() + // Empty lines are allowed in NDJSON. + if l = trimRWS(trimLWS(l)); len(l) == 0 { + continue + } + _, err := json.Scan(l) + if err != nil { + return false + } + if l[0] == '[' || l[0] == '{' { + hasObjOrArr = true + } + lCount++ + } + + return lCount > 1 && hasObjOrArr +} + +// HAR matches a HAR Spec file. +// Spec: http://www.softwareishard.com/blog/har-12-spec/ +func HAR(raw []byte, limit uint32) bool { + s := []byte(`"log"`) + si, sl := bytes.Index(raw, s), len(s) + + if si == -1 { + return false + } + + // If the "log" string is the suffix of the input, + // there is no need to search for the value of the key. + if si+sl == len(raw) { + return false + } + // Skip the "log" part. + raw = raw[si+sl:] + // Skip any whitespace before the colon. + raw = trimLWS(raw) + // Check for colon. + if len(raw) == 0 || raw[0] != ':' { + return false + } + // Skip any whitespace after the colon. + raw = trimLWS(raw[1:]) + + harJSONTypes := [][]byte{ + []byte(`"version"`), + []byte(`"creator"`), + []byte(`"entries"`), + } + for _, t := range harJSONTypes { + si := bytes.Index(raw, t) + if si > -1 { + return true + } + } + + return false +} + +// Svg matches a SVG file. +func Svg(raw []byte, limit uint32) bool { + return bytes.Contains(raw, []byte(" 00:02:19,376) limits secondLine + // length to exactly 29 characters. + if len(secondLine) != 29 { + return false + } + // Decimal separator of fractional seconds in the timestamps must be a + // comma, not a period. + if strings.Contains(secondLine, ".") { + return false + } + // For Go <1.17, comma is not recognised as a decimal separator by `time.Parse`. + secondLine = strings.ReplaceAll(secondLine, ",", ".") + // Second line must be a time range. + ts := strings.Split(secondLine, " --> ") + if len(ts) != 2 { + return false + } + const layout = "15:04:05.000" + t0, err := time.Parse(layout, ts[0]) + if err != nil { + return false + } + t1, err := time.Parse(layout, ts[1]) + if err != nil { + return false + } + if t0.After(t1) { + return false + } + + // A third line must exist and not be empty. This is the actual subtitle text. + return s.Scan() && len(s.Bytes()) != 0 +} + +// Vtt matches a Web Video Text Tracks (WebVTT) file. See +// https://www.iana.org/assignments/media-types/text/vtt. +func Vtt(raw []byte, limit uint32) bool { + // Prefix match. + prefixes := [][]byte{ + {0xEF, 0xBB, 0xBF, 0x57, 0x45, 0x42, 0x56, 0x54, 0x54, 0x0A}, // UTF-8 BOM, "WEBVTT" and a line feed + {0xEF, 0xBB, 0xBF, 0x57, 0x45, 0x42, 0x56, 0x54, 0x54, 0x0D}, // UTF-8 BOM, "WEBVTT" and a carriage return + {0xEF, 0xBB, 0xBF, 0x57, 0x45, 0x42, 0x56, 0x54, 0x54, 0x20}, // UTF-8 BOM, "WEBVTT" and a space + {0xEF, 0xBB, 0xBF, 0x57, 0x45, 0x42, 0x56, 0x54, 0x54, 0x09}, // UTF-8 BOM, "WEBVTT" and a horizontal tab + {0x57, 0x45, 0x42, 0x56, 0x54, 0x54, 0x0A}, // "WEBVTT" and a line feed + {0x57, 0x45, 0x42, 0x56, 0x54, 0x54, 0x0D}, // "WEBVTT" and a carriage return + {0x57, 0x45, 0x42, 0x56, 0x54, 0x54, 0x20}, // "WEBVTT" and a space + {0x57, 0x45, 0x42, 0x56, 0x54, 0x54, 0x09}, // "WEBVTT" and a horizontal tab + } + for _, p := range prefixes { + if bytes.HasPrefix(raw, p) { + return true + } + } + + // Exact match. + return bytes.Equal(raw, []byte{0xEF, 0xBB, 0xBF, 0x57, 0x45, 0x42, 0x56, 0x54, 0x54}) || // UTF-8 BOM and "WEBVTT" + bytes.Equal(raw, []byte{0x57, 0x45, 0x42, 0x56, 0x54, 0x54}) // "WEBVTT" +} 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 new file mode 100644 index 00000000..6a156192 --- /dev/null +++ b/vendor/github.com/gabriel-vasile/mimetype/internal/magic/text_csv.go @@ -0,0 +1,51 @@ +package magic + +import ( + "bytes" + "encoding/csv" + "io" +) + +// Csv matches a comma-separated values file. +func Csv(raw []byte, limit uint32) bool { + return sv(raw, ',', limit) +} + +// Tsv matches a tab-separated values file. +func Tsv(raw []byte, limit uint32) bool { + return sv(raw, '\t', limit) +} + +func sv(in []byte, comma rune, limit uint32) bool { + r := csv.NewReader(dropLastLine(in, limit)) + r.Comma = comma + r.TrimLeadingSpace = true + r.LazyQuotes = true + r.Comment = '#' + + lines, err := r.ReadAll() + return err == nil && r.FieldsPerRecord > 1 && len(lines) > 1 +} + +// dropLastLine drops the last incomplete line from b. +// +// mimetype limits itself to ReadLimit bytes when performing a detection. +// This means, for file formats like CSV for NDJSON, the last line of the input +// can be an incomplete line. +func dropLastLine(b []byte, cutAt uint32) io.Reader { + if cutAt == 0 { + return bytes.NewReader(b) + } + if uint32(len(b)) >= cutAt { + for i := cutAt - 1; i > 0; i-- { + if b[i] == '\n' { + return bytes.NewReader(b[:i]) + } + } + + // No newline was found between the 0 index and cutAt. + return bytes.NewReader(b[:cutAt]) + } + + return bytes.NewReader(b) +} diff --git a/vendor/github.com/gabriel-vasile/mimetype/internal/magic/video.go b/vendor/github.com/gabriel-vasile/mimetype/internal/magic/video.go new file mode 100644 index 00000000..9caf5553 --- /dev/null +++ b/vendor/github.com/gabriel-vasile/mimetype/internal/magic/video.go @@ -0,0 +1,85 @@ +package magic + +import ( + "bytes" +) + +var ( + // Flv matches a Flash video file. + Flv = prefix([]byte("\x46\x4C\x56\x01")) + // Asf matches an Advanced Systems Format file. + Asf = prefix([]byte{ + 0x30, 0x26, 0xB2, 0x75, 0x8E, 0x66, 0xCF, 0x11, + 0xA6, 0xD9, 0x00, 0xAA, 0x00, 0x62, 0xCE, 0x6C, + }) + // Rmvb matches a RealMedia Variable Bitrate file. + Rmvb = prefix([]byte{0x2E, 0x52, 0x4D, 0x46}) +) + +// WebM matches a WebM file. +func WebM(raw []byte, limit uint32) bool { + return isMatroskaFileTypeMatched(raw, "webm") +} + +// Mkv matches a mkv file. +func Mkv(raw []byte, limit uint32) bool { + return isMatroskaFileTypeMatched(raw, "matroska") +} + +// isMatroskaFileTypeMatched is used for webm and mkv file matching. +// It checks for .Eߣ sequence. If the sequence is found, +// then it means it is Matroska media container, including WebM. +// Then it verifies which of the file type it is representing by matching the +// file specific string. +func isMatroskaFileTypeMatched(in []byte, flType string) bool { + if bytes.HasPrefix(in, []byte("\x1A\x45\xDF\xA3")) { + return isFileTypeNamePresent(in, flType) + } + return false +} + +// isFileTypeNamePresent accepts the matroska input data stream and searches +// for the given file type in the stream. Return whether a match is found. +// The logic of search is: find first instance of \x42\x82 and then +// search for given string after n bytes of above instance. +func isFileTypeNamePresent(in []byte, flType string) bool { + ind, maxInd, lenIn := 0, 4096, len(in) + if lenIn < maxInd { // restricting length to 4096 + maxInd = lenIn + } + ind = bytes.Index(in[:maxInd], []byte("\x42\x82")) + if ind > 0 && lenIn > ind+2 { + ind += 2 + + // filetype name will be present exactly + // n bytes after the match of the two bytes "\x42\x82" + n := vintWidth(int(in[ind])) + if lenIn > ind+n { + return bytes.HasPrefix(in[ind+n:], []byte(flType)) + } + } + return false +} + +// vintWidth parses the variable-integer width in matroska containers +func vintWidth(v int) int { + mask, max, num := 128, 8, 1 + for num < max && v&mask == 0 { + mask = mask >> 1 + num++ + } + return num +} + +// Mpeg matches a Moving Picture Experts Group file. +func Mpeg(raw []byte, limit uint32) bool { + return len(raw) > 3 && bytes.HasPrefix(raw, []byte{0x00, 0x00, 0x01}) && + raw[3] >= 0xB0 && raw[3] <= 0xBF +} + +// Avi matches an Audio Video Interleaved file. +func Avi(raw []byte, limit uint32) bool { + return len(raw) > 16 && + bytes.Equal(raw[:4], []byte("RIFF")) && + bytes.Equal(raw[8:16], []byte("AVI LIST")) +} diff --git a/vendor/github.com/gabriel-vasile/mimetype/internal/magic/zip.go b/vendor/github.com/gabriel-vasile/mimetype/internal/magic/zip.go new file mode 100644 index 00000000..dabee947 --- /dev/null +++ b/vendor/github.com/gabriel-vasile/mimetype/internal/magic/zip.go @@ -0,0 +1,92 @@ +package magic + +import ( + "bytes" + "encoding/binary" + "strings" +) + +var ( + // Odt matches an OpenDocument Text file. + Odt = offset([]byte("mimetypeapplication/vnd.oasis.opendocument.text"), 30) + // Ott matches an OpenDocument Text Template file. + Ott = offset([]byte("mimetypeapplication/vnd.oasis.opendocument.text-template"), 30) + // Ods matches an OpenDocument Spreadsheet file. + Ods = offset([]byte("mimetypeapplication/vnd.oasis.opendocument.spreadsheet"), 30) + // Ots matches an OpenDocument Spreadsheet Template file. + Ots = offset([]byte("mimetypeapplication/vnd.oasis.opendocument.spreadsheet-template"), 30) + // Odp matches an OpenDocument Presentation file. + Odp = offset([]byte("mimetypeapplication/vnd.oasis.opendocument.presentation"), 30) + // Otp matches an OpenDocument Presentation Template file. + Otp = offset([]byte("mimetypeapplication/vnd.oasis.opendocument.presentation-template"), 30) + // Odg matches an OpenDocument Drawing file. + Odg = offset([]byte("mimetypeapplication/vnd.oasis.opendocument.graphics"), 30) + // Otg matches an OpenDocument Drawing Template file. + Otg = offset([]byte("mimetypeapplication/vnd.oasis.opendocument.graphics-template"), 30) + // Odf matches an OpenDocument Formula file. + Odf = offset([]byte("mimetypeapplication/vnd.oasis.opendocument.formula"), 30) + // Odc matches an OpenDocument Chart file. + Odc = offset([]byte("mimetypeapplication/vnd.oasis.opendocument.chart"), 30) + // Epub matches an EPUB file. + Epub = offset([]byte("mimetypeapplication/epub+zip"), 30) + // Sxc matches an OpenOffice Spreadsheet file. + Sxc = offset([]byte("mimetypeapplication/vnd.sun.xml.calc"), 30) +) + +// Zip matches a zip archive. +func Zip(raw []byte, limit uint32) bool { + return len(raw) > 3 && + raw[0] == 0x50 && raw[1] == 0x4B && + (raw[2] == 0x3 || raw[2] == 0x5 || raw[2] == 0x7) && + (raw[3] == 0x4 || raw[3] == 0x6 || raw[3] == 0x8) +} + +// Jar matches a Java archive file. +func Jar(raw []byte, limit uint32) bool { + return zipContains(raw, "META-INF/MANIFEST.MF") +} + +// zipTokenizer holds the source zip file and scanned index. +type zipTokenizer struct { + in []byte + i int // current index +} + +// next returns the next file name from the zip headers. +// https://web.archive.org/web/20191129114319/https://users.cs.jmu.edu/buchhofp/forensics/formats/pkzip.html +func (t *zipTokenizer) next() (fileName string) { + if t.i > len(t.in) { + return + } + in := t.in[t.i:] + // pkSig is the signature of the zip local file header. + pkSig := []byte("PK\003\004") + pkIndex := bytes.Index(in, pkSig) + // 30 is the offset of the file name in the header. + fNameOffset := pkIndex + 30 + // end if signature not found or file name offset outside of file. + if pkIndex == -1 || fNameOffset > len(in) { + return + } + + fNameLen := int(binary.LittleEndian.Uint16(in[pkIndex+26 : pkIndex+28])) + if fNameLen <= 0 || fNameOffset+fNameLen > len(in) { + return + } + t.i += fNameOffset + fNameLen + return string(in[fNameOffset : fNameOffset+fNameLen]) +} + +// zipContains returns true if the zip file headers from in contain any of the paths. +func zipContains(in []byte, paths ...string) bool { + t := zipTokenizer{in: in} + for i, tok := 0, t.next(); tok != ""; i, tok = i+1, t.next() { + for p := range paths { + if strings.HasPrefix(tok, paths[p]) { + return true + } + } + } + + return false +} diff --git a/vendor/github.com/gabriel-vasile/mimetype/mime.go b/vendor/github.com/gabriel-vasile/mimetype/mime.go new file mode 100644 index 00000000..62cb15f5 --- /dev/null +++ b/vendor/github.com/gabriel-vasile/mimetype/mime.go @@ -0,0 +1,186 @@ +package mimetype + +import ( + "mime" + + "github.com/gabriel-vasile/mimetype/internal/charset" + "github.com/gabriel-vasile/mimetype/internal/magic" +) + +// MIME struct holds information about a file format: the string representation +// of the MIME type, the extension and the parent file format. +type MIME struct { + mime string + aliases []string + extension string + // detector receives the raw input and a limit for the number of bytes it is + // allowed to check. It returns whether the input matches a signature or not. + detector magic.Detector + children []*MIME + parent *MIME +} + +// String returns the string representation of the MIME type, e.g., "application/zip". +func (m *MIME) String() string { + return m.mime +} + +// Extension returns the file extension associated with the MIME type. +// It includes the leading dot, as in ".html". When the file format does not +// have an extension, the empty string is returned. +func (m *MIME) Extension() string { + return m.extension +} + +// Parent returns the parent MIME type from the hierarchy. +// Each MIME type has a non-nil parent, except for the root MIME type. +// +// For example, the application/json and text/html MIME types have text/plain as +// their parent because they are text files who happen to contain JSON or HTML. +// Another example is the ZIP format, which is used as container +// for Microsoft Office files, EPUB files, JAR files, and others. +func (m *MIME) Parent() *MIME { + return m.parent +} + +// Is checks whether this MIME type, or any of its aliases, is equal to the +// expected MIME type. MIME type equality test is done on the "type/subtype" +// section, ignores any optional MIME parameters, ignores any leading and +// trailing whitespace, and is case insensitive. +func (m *MIME) Is(expectedMIME string) bool { + // Parsing is needed because some detected MIME types contain parameters + // that need to be stripped for the comparison. + expectedMIME, _, _ = mime.ParseMediaType(expectedMIME) + found, _, _ := mime.ParseMediaType(m.mime) + + if expectedMIME == found { + return true + } + + for _, alias := range m.aliases { + if alias == expectedMIME { + return true + } + } + + return false +} + +func newMIME( + mime, extension string, + detector magic.Detector, + children ...*MIME) *MIME { + m := &MIME{ + mime: mime, + extension: extension, + detector: detector, + children: children, + } + + for _, c := range children { + c.parent = m + } + + return m +} + +func (m *MIME) alias(aliases ...string) *MIME { + m.aliases = aliases + return m +} + +// match does a depth-first search on the signature tree. It returns the deepest +// successful node for which all the children detection functions fail. +func (m *MIME) match(in []byte, readLimit uint32) *MIME { + for _, c := range m.children { + if c.detector(in, readLimit) { + return c.match(in, readLimit) + } + } + + needsCharset := map[string]func([]byte) string{ + "text/plain": charset.FromPlain, + "text/html": charset.FromHTML, + "text/xml": charset.FromXML, + } + // ps holds optional MIME parameters. + ps := map[string]string{} + if f, ok := needsCharset[m.mime]; ok { + if cset := f(in); cset != "" { + ps["charset"] = cset + } + } + + return m.cloneHierarchy(ps) +} + +// flatten transforms an hierarchy of MIMEs into a slice of MIMEs. +func (m *MIME) flatten() []*MIME { + out := []*MIME{m} + for _, c := range m.children { + out = append(out, c.flatten()...) + } + + return out +} + +// clone creates a new MIME with the provided optional MIME parameters. +func (m *MIME) clone(ps map[string]string) *MIME { + clonedMIME := m.mime + if len(ps) > 0 { + clonedMIME = mime.FormatMediaType(m.mime, ps) + } + + return &MIME{ + mime: clonedMIME, + aliases: m.aliases, + extension: m.extension, + } +} + +// cloneHierarchy creates a clone of m and all its ancestors. The optional MIME +// parameters are set on the last child of the hierarchy. +func (m *MIME) cloneHierarchy(ps map[string]string) *MIME { + ret := m.clone(ps) + lastChild := ret + for p := m.Parent(); p != nil; p = p.Parent() { + pClone := p.clone(nil) + lastChild.parent = pClone + lastChild = pClone + } + + return ret +} + +func (m *MIME) lookup(mime string) *MIME { + for _, n := range append(m.aliases, m.mime) { + if n == mime { + return m + } + } + + for _, c := range m.children { + if m := c.lookup(mime); m != nil { + return m + } + } + return nil +} + +// Extend adds detection for a sub-format. The detector is a function +// returning true when the raw input file satisfies a signature. +// The sub-format will be detected if all the detectors in the parent chain return true. +// The extension should include the leading dot, as in ".html". +func (m *MIME) Extend(detector func(raw []byte, limit uint32) bool, mime, extension string, aliases ...string) { + c := &MIME{ + mime: mime, + extension: extension, + detector: detector, + parent: m, + aliases: aliases, + } + + mu.Lock() + m.children = append([]*MIME{c}, m.children...) + mu.Unlock() +} diff --git a/vendor/github.com/gabriel-vasile/mimetype/mimetype.gif b/vendor/github.com/gabriel-vasile/mimetype/mimetype.gif new file mode 100644 index 0000000000000000000000000000000000000000..c3e80876738f11cdbdb4d4328df05fe72bf48a23 GIT binary patch literal 1343793 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
      &w}F3~$$iOK@;@dqU>B;3Iwi_N6iL91*i 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�s~C-aV|sR>uz6LT&MeA>r?IE<)Kuc-0?`> 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

      *3bCbrv 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

      fbTlxi?709hrCnn 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 +// text/plain -> text/html. +package mimetype + +import ( + "io" + "io/ioutil" + "mime" + "os" + "sync/atomic" +) + +// readLimit is the maximum number of bytes from the input used when detecting. +var readLimit uint32 = 3072 + +// Detect returns the MIME type found from the provided byte slice. +// +// The result is always a valid MIME type, with application/octet-stream +// returned when identification failed. +func Detect(in []byte) *MIME { + // Using atomic because readLimit can be written at the same time in other goroutine. + l := atomic.LoadUint32(&readLimit) + if l > 0 && len(in) > int(l) { + in = in[:l] + } + mu.RLock() + defer mu.RUnlock() + return root.match(in, l) +} + +// DetectReader returns the MIME type of the provided reader. +// +// The result is always a valid MIME type, with application/octet-stream +// returned when identification failed with or without an error. +// Any error returned is related to the reading from the input reader. +// +// 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) +func DetectReader(r io.Reader) (*MIME, error) { + var in []byte + var err error + + // Using atomic because readLimit can be written at the same time in other goroutine. + l := atomic.LoadUint32(&readLimit) + if l == 0 { + in, err = ioutil.ReadAll(r) + if err != nil { + return errMIME, err + } + } else { + var n int + in = make([]byte, l) + // io.UnexpectedEOF means len(r) < len(in). It is not an error in this case, + // it just means the input file is smaller than the allocated bytes slice. + n, err = io.ReadFull(r, in) + if err != nil && err != io.EOF && err != io.ErrUnexpectedEOF { + return errMIME, err + } + in = in[:n] + } + + mu.RLock() + defer mu.RUnlock() + return root.match(in, l), nil +} + +// DetectFile returns the MIME type of the provided file. +// +// The result is always a valid MIME type, with application/octet-stream +// returned when identification failed with or without an error. +// Any error returned is related to the opening and reading from the input file. +func DetectFile(path string) (*MIME, error) { + f, err := os.Open(path) + if err != nil { + return errMIME, err + } + defer f.Close() + + return DetectReader(f) +} + +// EqualsAny reports whether s MIME type is equal to any MIME type in mimes. +// MIME type equality test is done on the "type/subtype" section, ignores +// any optional MIME parameters, ignores any leading and trailing whitespace, +// and is case insensitive. +func EqualsAny(s string, mimes ...string) bool { + s, _, _ = mime.ParseMediaType(s) + for _, m := range mimes { + m, _, _ = mime.ParseMediaType(m) + if s == m { + return true + } + } + + return false +} + +// SetLimit sets the maximum number of bytes read from input when detecting the MIME type. +// Increasing the limit provides better detection for file formats which store +// their magical numbers towards the end of the file: docx, pptx, xlsx, etc. +// A limit of 0 means the whole input file will be used. +func SetLimit(limit uint32) { + // Using atomic because readLimit can be read at the same time in other goroutine. + atomic.StoreUint32(&readLimit, limit) +} + +// Extend adds detection for other file formats. +// It is equivalent to calling Extend() on the root mime type "application/octet-stream". +func Extend(detector func(raw []byte, limit uint32) bool, mime, extension string, aliases ...string) { + root.Extend(detector, mime, extension, aliases...) +} + +// Lookup finds a MIME object by its string representation. +// The representation can be the main mime type, or any of its aliases. +func Lookup(mime string) *MIME { + mu.RLock() + defer mu.RUnlock() + return root.lookup(mime) +} diff --git a/vendor/github.com/gabriel-vasile/mimetype/supported_mimes.md b/vendor/github.com/gabriel-vasile/mimetype/supported_mimes.md new file mode 100644 index 00000000..cdec4e67 --- /dev/null +++ b/vendor/github.com/gabriel-vasile/mimetype/supported_mimes.md @@ -0,0 +1,178 @@ +## 172 Supported MIME types +This file is automatically generated when running tests. Do not edit manually. + +Extension | MIME type | Aliases +--------- | --------- | ------- +**n/a** | application/octet-stream | - +**.xpm** | image/x-xpixmap | - +**.7z** | application/x-7z-compressed | - +**.zip** | application/zip | application/x-zip, application/x-zip-compressed +**.xlsx** | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet | - +**.docx** | application/vnd.openxmlformats-officedocument.wordprocessingml.document | - +**.pptx** | application/vnd.openxmlformats-officedocument.presentationml.presentation | - +**.epub** | application/epub+zip | - +**.jar** | application/jar | - +**.odt** | application/vnd.oasis.opendocument.text | application/x-vnd.oasis.opendocument.text +**.ott** | application/vnd.oasis.opendocument.text-template | application/x-vnd.oasis.opendocument.text-template +**.ods** | application/vnd.oasis.opendocument.spreadsheet | application/x-vnd.oasis.opendocument.spreadsheet +**.ots** | application/vnd.oasis.opendocument.spreadsheet-template | application/x-vnd.oasis.opendocument.spreadsheet-template +**.odp** | application/vnd.oasis.opendocument.presentation | application/x-vnd.oasis.opendocument.presentation +**.otp** | application/vnd.oasis.opendocument.presentation-template | application/x-vnd.oasis.opendocument.presentation-template +**.odg** | application/vnd.oasis.opendocument.graphics | application/x-vnd.oasis.opendocument.graphics +**.otg** | application/vnd.oasis.opendocument.graphics-template | application/x-vnd.oasis.opendocument.graphics-template +**.odf** | application/vnd.oasis.opendocument.formula | application/x-vnd.oasis.opendocument.formula +**.odc** | application/vnd.oasis.opendocument.chart | application/x-vnd.oasis.opendocument.chart +**.sxc** | application/vnd.sun.xml.calc | - +**.pdf** | application/pdf | application/x-pdf +**.fdf** | application/vnd.fdf | - +**n/a** | application/x-ole-storage | - +**.msi** | application/x-ms-installer | application/x-windows-installer, application/x-msi +**.aaf** | application/octet-stream | - +**.msg** | application/vnd.ms-outlook | - +**.xls** | application/vnd.ms-excel | application/msexcel +**.pub** | application/vnd.ms-publisher | - +**.ppt** | application/vnd.ms-powerpoint | application/mspowerpoint +**.doc** | application/msword | application/vnd.ms-word +**.ps** | application/postscript | - +**.psd** | image/vnd.adobe.photoshop | image/x-psd, application/photoshop +**.p7s** | application/pkcs7-signature | - +**.ogg** | application/ogg | application/x-ogg +**.oga** | audio/ogg | - +**.ogv** | video/ogg | - +**.png** | image/png | - +**.png** | image/vnd.mozilla.apng | - +**.jpg** | image/jpeg | - +**.jxl** | image/jxl | - +**.jp2** | image/jp2 | - +**.jpf** | image/jpx | - +**.jpm** | image/jpm | video/jpm +**.jxs** | image/jxs | - +**.gif** | image/gif | - +**.webp** | image/webp | - +**.exe** | application/vnd.microsoft.portable-executable | - +**n/a** | application/x-elf | - +**n/a** | application/x-object | - +**n/a** | application/x-executable | - +**.so** | application/x-sharedlib | - +**n/a** | application/x-coredump | - +**.a** | application/x-archive | application/x-unix-archive +**.deb** | application/vnd.debian.binary-package | - +**.tar** | application/x-tar | - +**.xar** | application/x-xar | - +**.bz2** | application/x-bzip2 | - +**.fits** | application/fits | - +**.tiff** | image/tiff | - +**.bmp** | image/bmp | image/x-bmp, image/x-ms-bmp +**.ico** | image/x-icon | - +**.mp3** | audio/mpeg | audio/x-mpeg, audio/mp3 +**.flac** | audio/flac | - +**.midi** | audio/midi | audio/mid, audio/sp-midi, audio/x-mid, audio/x-midi +**.ape** | audio/ape | - +**.mpc** | audio/musepack | - +**.amr** | audio/amr | audio/amr-nb +**.wav** | audio/wav | audio/x-wav, audio/vnd.wave, audio/wave +**.aiff** | audio/aiff | audio/x-aiff +**.au** | audio/basic | - +**.mpeg** | video/mpeg | - +**.mov** | video/quicktime | - +**.mqv** | video/quicktime | - +**.mp4** | video/mp4 | - +**.webm** | video/webm | audio/webm +**.3gp** | video/3gpp | video/3gp, audio/3gpp +**.3g2** | video/3gpp2 | video/3g2, audio/3gpp2 +**.avi** | video/x-msvideo | video/avi, video/msvideo +**.flv** | video/x-flv | - +**.mkv** | video/x-matroska | - +**.asf** | video/x-ms-asf | video/asf, video/x-ms-wmv +**.aac** | audio/aac | - +**.voc** | audio/x-unknown | - +**.mp4** | audio/mp4 | audio/x-m4a, audio/x-mp4a +**.m4a** | audio/x-m4a | - +**.m3u** | application/vnd.apple.mpegurl | audio/mpegurl +**.m4v** | video/x-m4v | - +**.rmvb** | application/vnd.rn-realmedia-vbr | - +**.gz** | application/gzip | application/x-gzip, application/x-gunzip, application/gzipped, application/gzip-compressed, application/x-gzip-compressed, gzip/document +**.class** | application/x-java-applet | - +**.swf** | application/x-shockwave-flash | - +**.crx** | application/x-chrome-extension | - +**.ttf** | font/ttf | font/sfnt, application/x-font-ttf, application/font-sfnt +**.woff** | font/woff | - +**.woff2** | font/woff2 | - +**.otf** | font/otf | - +**.ttc** | font/collection | - +**.eot** | application/vnd.ms-fontobject | - +**.wasm** | application/wasm | - +**.shx** | application/vnd.shx | - +**.shp** | application/vnd.shp | - +**.dbf** | application/x-dbf | - +**.dcm** | application/dicom | - +**.rar** | application/x-rar-compressed | application/x-rar +**.djvu** | image/vnd.djvu | - +**.mobi** | application/x-mobipocket-ebook | - +**.lit** | application/x-ms-reader | - +**.bpg** | image/bpg | - +**.sqlite** | application/vnd.sqlite3 | application/x-sqlite3 +**.dwg** | image/vnd.dwg | image/x-dwg, application/acad, application/x-acad, application/autocad_dwg, application/dwg, application/x-dwg, application/x-autocad, drawing/dwg +**.nes** | application/vnd.nintendo.snes.rom | - +**.lnk** | application/x-ms-shortcut | - +**.macho** | application/x-mach-binary | - +**.qcp** | audio/qcelp | - +**.icns** | image/x-icns | - +**.heic** | image/heic | - +**.heic** | image/heic-sequence | - +**.heif** | image/heif | - +**.heif** | image/heif-sequence | - +**.hdr** | image/vnd.radiance | - +**.mrc** | application/marc | - +**.mdb** | application/x-msaccess | - +**.accdb** | application/x-msaccess | - +**.zst** | application/zstd | - +**.cab** | application/vnd.ms-cab-compressed | - +**.rpm** | application/x-rpm | - +**.xz** | application/x-xz | - +**.lz** | application/lzip | application/x-lzip +**.torrent** | application/x-bittorrent | - +**.cpio** | application/x-cpio | - +**n/a** | application/tzif | - +**.xcf** | image/x-xcf | - +**.pat** | image/x-gimp-pat | - +**.gbr** | image/x-gimp-gbr | - +**.glb** | model/gltf-binary | - +**.avif** | image/avif | - +**.cab** | application/x-installshield | - +**.jxr** | image/jxr | image/vnd.ms-photo +**.txt** | text/plain | - +**.html** | text/html | - +**.svg** | image/svg+xml | - +**.xml** | text/xml | - +**.rss** | application/rss+xml | text/rss +**.atom** | application/atom+xml | - +**.x3d** | model/x3d+xml | - +**.kml** | application/vnd.google-earth.kml+xml | - +**.xlf** | application/x-xliff+xml | - +**.dae** | model/vnd.collada+xml | - +**.gml** | application/gml+xml | - +**.gpx** | application/gpx+xml | - +**.tcx** | application/vnd.garmin.tcx+xml | - +**.amf** | application/x-amf | - +**.3mf** | application/vnd.ms-package.3dmanufacturing-3dmodel+xml | - +**.xfdf** | application/vnd.adobe.xfdf | - +**.owl** | application/owl+xml | - +**.php** | text/x-php | - +**.js** | application/javascript | application/x-javascript, text/javascript +**.lua** | text/x-lua | - +**.pl** | text/x-perl | - +**.py** | text/x-python | text/x-script.python, application/x-python +**.json** | application/json | - +**.geojson** | application/geo+json | - +**.har** | application/json | - +**.ndjson** | application/x-ndjson | - +**.rtf** | text/rtf | - +**.srt** | application/x-subrip | application/x-srt, text/x-srt +**.tcl** | text/x-tcl | application/x-tcl +**.csv** | text/csv | - +**.tsv** | text/tab-separated-values | - +**.vcf** | text/vcard | - +**.ics** | text/calendar | - +**.warc** | application/warc | - +**.vtt** | text/vtt | - diff --git a/vendor/github.com/gabriel-vasile/mimetype/tree.go b/vendor/github.com/gabriel-vasile/mimetype/tree.go new file mode 100644 index 00000000..253bd006 --- /dev/null +++ b/vendor/github.com/gabriel-vasile/mimetype/tree.go @@ -0,0 +1,260 @@ +package mimetype + +import ( + "sync" + + "github.com/gabriel-vasile/mimetype/internal/magic" +) + +// mimetype stores the list of MIME types in a tree structure with +// "application/octet-stream" at the root of the hierarchy. The hierarchy +// approach minimizes the number of checks that need to be done on the input +// and allows for more precise results once the base type of file has been +// identified. +// +// root is a detector which passes for any slice of bytes. +// When a detector passes the check, the children detectors +// are tried in order to find a more accurate MIME type. +var root = newMIME("application/octet-stream", "", + func([]byte, uint32) bool { return true }, + xpm, sevenZ, zip, pdf, fdf, ole, ps, psd, p7s, ogg, png, jpg, jxl, jp2, jpx, + jpm, jxs, gif, webp, exe, elf, ar, tar, xar, bz2, fits, tiff, bmp, ico, mp3, flac, + midi, ape, musePack, amr, wav, aiff, au, mpeg, quickTime, mqv, mp4, webM, + threeGP, threeG2, avi, flv, mkv, asf, aac, voc, aMp4, m4a, m3u, m4v, rmvb, + gzip, class, swf, crx, ttf, woff, woff2, otf, ttc, eot, wasm, shx, dbf, dcm, rar, + djvu, mobi, lit, bpg, sqlite3, dwg, nes, lnk, macho, qcp, icns, heic, + heicSeq, heif, heifSeq, hdr, mrc, mdb, accdb, zstd, cab, rpm, xz, lzip, + torrent, cpio, tzif, xcf, pat, gbr, glb, avif, cabIS, jxr, + // Keep text last because it is the slowest check + text, +) + +// errMIME is returned from Detect functions when err is not nil. +// Detect could return root for erroneous cases, but it needs to lock mu in order to do so. +// errMIME is same as root but it does not require locking. +var errMIME = newMIME("application/octet-stream", "", func([]byte, uint32) bool { return false }) + +// mu guards access to the root MIME tree. Access to root must be synchronized with this lock. +var mu = &sync.RWMutex{} + +// The list of nodes appended to the root node. +var ( + xz = newMIME("application/x-xz", ".xz", magic.Xz) + gzip = newMIME("application/gzip", ".gz", magic.Gzip).alias( + "application/x-gzip", "application/x-gunzip", "application/gzipped", + "application/gzip-compressed", "application/x-gzip-compressed", + "gzip/document") + sevenZ = newMIME("application/x-7z-compressed", ".7z", magic.SevenZ) + zip = newMIME("application/zip", ".zip", magic.Zip, xlsx, docx, pptx, epub, jar, odt, ods, odp, odg, odf, odc, sxc). + alias("application/x-zip", "application/x-zip-compressed") + tar = newMIME("application/x-tar", ".tar", magic.Tar) + xar = newMIME("application/x-xar", ".xar", magic.Xar) + bz2 = newMIME("application/x-bzip2", ".bz2", magic.Bz2) + pdf = newMIME("application/pdf", ".pdf", magic.Pdf). + alias("application/x-pdf") + fdf = newMIME("application/vnd.fdf", ".fdf", magic.Fdf) + xlsx = newMIME("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", ".xlsx", magic.Xlsx) + docx = newMIME("application/vnd.openxmlformats-officedocument.wordprocessingml.document", ".docx", magic.Docx) + pptx = newMIME("application/vnd.openxmlformats-officedocument.presentationml.presentation", ".pptx", magic.Pptx) + epub = newMIME("application/epub+zip", ".epub", magic.Epub) + jar = newMIME("application/jar", ".jar", magic.Jar) + ole = newMIME("application/x-ole-storage", "", magic.Ole, msi, aaf, msg, xls, pub, ppt, doc) + msi = newMIME("application/x-ms-installer", ".msi", magic.Msi). + alias("application/x-windows-installer", "application/x-msi") + aaf = newMIME("application/octet-stream", ".aaf", magic.Aaf) + doc = newMIME("application/msword", ".doc", magic.Doc). + alias("application/vnd.ms-word") + ppt = newMIME("application/vnd.ms-powerpoint", ".ppt", magic.Ppt). + alias("application/mspowerpoint") + pub = newMIME("application/vnd.ms-publisher", ".pub", magic.Pub) + xls = newMIME("application/vnd.ms-excel", ".xls", magic.Xls). + alias("application/msexcel") + msg = newMIME("application/vnd.ms-outlook", ".msg", magic.Msg) + ps = newMIME("application/postscript", ".ps", magic.Ps) + fits = newMIME("application/fits", ".fits", magic.Fits) + ogg = newMIME("application/ogg", ".ogg", magic.Ogg, oggAudio, oggVideo). + alias("application/x-ogg") + oggAudio = newMIME("audio/ogg", ".oga", magic.OggAudio) + oggVideo = newMIME("video/ogg", ".ogv", magic.OggVideo) + text = newMIME("text/plain", ".txt", magic.Text, html, svg, xml, php, js, lua, perl, python, json, ndJSON, rtf, srt, tcl, csv, tsv, vCard, iCalendar, warc, vtt) + xml = newMIME("text/xml", ".xml", magic.XML, rss, atom, x3d, kml, xliff, collada, gml, gpx, tcx, amf, threemf, xfdf, owl2) + json = newMIME("application/json", ".json", magic.JSON, geoJSON, har) + har = newMIME("application/json", ".har", magic.HAR) + csv = newMIME("text/csv", ".csv", magic.Csv) + tsv = newMIME("text/tab-separated-values", ".tsv", magic.Tsv) + geoJSON = newMIME("application/geo+json", ".geojson", magic.GeoJSON) + ndJSON = newMIME("application/x-ndjson", ".ndjson", magic.NdJSON) + html = newMIME("text/html", ".html", magic.HTML) + php = newMIME("text/x-php", ".php", magic.Php) + rtf = newMIME("text/rtf", ".rtf", magic.Rtf) + js = newMIME("application/javascript", ".js", magic.Js). + alias("application/x-javascript", "text/javascript") + srt = newMIME("application/x-subrip", ".srt", magic.Srt). + alias("application/x-srt", "text/x-srt") + vtt = newMIME("text/vtt", ".vtt", magic.Vtt) + lua = newMIME("text/x-lua", ".lua", magic.Lua) + perl = newMIME("text/x-perl", ".pl", magic.Perl) + python = newMIME("text/x-python", ".py", magic.Python). + alias("text/x-script.python", "application/x-python") + tcl = newMIME("text/x-tcl", ".tcl", magic.Tcl). + alias("application/x-tcl") + vCard = newMIME("text/vcard", ".vcf", magic.VCard) + iCalendar = newMIME("text/calendar", ".ics", magic.ICalendar) + svg = newMIME("image/svg+xml", ".svg", magic.Svg) + rss = newMIME("application/rss+xml", ".rss", magic.Rss). + alias("text/rss") + owl2 = newMIME("application/owl+xml", ".owl", magic.Owl2) + atom = newMIME("application/atom+xml", ".atom", magic.Atom) + x3d = newMIME("model/x3d+xml", ".x3d", magic.X3d) + kml = newMIME("application/vnd.google-earth.kml+xml", ".kml", magic.Kml) + xliff = newMIME("application/x-xliff+xml", ".xlf", magic.Xliff) + collada = newMIME("model/vnd.collada+xml", ".dae", magic.Collada) + gml = newMIME("application/gml+xml", ".gml", magic.Gml) + gpx = newMIME("application/gpx+xml", ".gpx", magic.Gpx) + tcx = newMIME("application/vnd.garmin.tcx+xml", ".tcx", magic.Tcx) + amf = newMIME("application/x-amf", ".amf", magic.Amf) + threemf = newMIME("application/vnd.ms-package.3dmanufacturing-3dmodel+xml", ".3mf", magic.Threemf) + png = newMIME("image/png", ".png", magic.Png, apng) + apng = newMIME("image/vnd.mozilla.apng", ".png", magic.Apng) + jpg = newMIME("image/jpeg", ".jpg", magic.Jpg) + jxl = newMIME("image/jxl", ".jxl", magic.Jxl) + jp2 = newMIME("image/jp2", ".jp2", magic.Jp2) + jpx = newMIME("image/jpx", ".jpf", magic.Jpx) + jpm = newMIME("image/jpm", ".jpm", magic.Jpm). + alias("video/jpm") + jxs = newMIME("image/jxs", ".jxs", magic.Jxs) + xpm = newMIME("image/x-xpixmap", ".xpm", magic.Xpm) + bpg = newMIME("image/bpg", ".bpg", magic.Bpg) + gif = newMIME("image/gif", ".gif", magic.Gif) + webp = newMIME("image/webp", ".webp", magic.Webp) + tiff = newMIME("image/tiff", ".tiff", magic.Tiff) + bmp = newMIME("image/bmp", ".bmp", magic.Bmp). + alias("image/x-bmp", "image/x-ms-bmp") + ico = newMIME("image/x-icon", ".ico", magic.Ico) + icns = newMIME("image/x-icns", ".icns", magic.Icns) + psd = newMIME("image/vnd.adobe.photoshop", ".psd", magic.Psd). + alias("image/x-psd", "application/photoshop") + heic = newMIME("image/heic", ".heic", magic.Heic) + heicSeq = newMIME("image/heic-sequence", ".heic", magic.HeicSequence) + heif = newMIME("image/heif", ".heif", magic.Heif) + heifSeq = newMIME("image/heif-sequence", ".heif", magic.HeifSequence) + hdr = newMIME("image/vnd.radiance", ".hdr", magic.Hdr) + avif = newMIME("image/avif", ".avif", magic.AVIF) + mp3 = newMIME("audio/mpeg", ".mp3", magic.Mp3). + alias("audio/x-mpeg", "audio/mp3") + flac = newMIME("audio/flac", ".flac", magic.Flac) + midi = newMIME("audio/midi", ".midi", magic.Midi). + alias("audio/mid", "audio/sp-midi", "audio/x-mid", "audio/x-midi") + ape = newMIME("audio/ape", ".ape", magic.Ape) + musePack = newMIME("audio/musepack", ".mpc", magic.MusePack) + wav = newMIME("audio/wav", ".wav", magic.Wav). + alias("audio/x-wav", "audio/vnd.wave", "audio/wave") + aiff = newMIME("audio/aiff", ".aiff", magic.Aiff).alias("audio/x-aiff") + au = newMIME("audio/basic", ".au", magic.Au) + amr = newMIME("audio/amr", ".amr", magic.Amr). + alias("audio/amr-nb") + aac = newMIME("audio/aac", ".aac", magic.AAC) + voc = newMIME("audio/x-unknown", ".voc", magic.Voc) + aMp4 = newMIME("audio/mp4", ".mp4", magic.AMp4). + alias("audio/x-m4a", "audio/x-mp4a") + m4a = newMIME("audio/x-m4a", ".m4a", magic.M4a) + m3u = newMIME("application/vnd.apple.mpegurl", ".m3u", magic.M3u). + alias("audio/mpegurl") + m4v = newMIME("video/x-m4v", ".m4v", magic.M4v) + mp4 = newMIME("video/mp4", ".mp4", magic.Mp4) + webM = newMIME("video/webm", ".webm", magic.WebM). + alias("audio/webm") + mpeg = newMIME("video/mpeg", ".mpeg", magic.Mpeg) + quickTime = newMIME("video/quicktime", ".mov", magic.QuickTime) + mqv = newMIME("video/quicktime", ".mqv", magic.Mqv) + threeGP = newMIME("video/3gpp", ".3gp", magic.ThreeGP). + alias("video/3gp", "audio/3gpp") + threeG2 = newMIME("video/3gpp2", ".3g2", magic.ThreeG2). + alias("video/3g2", "audio/3gpp2") + avi = newMIME("video/x-msvideo", ".avi", magic.Avi). + alias("video/avi", "video/msvideo") + flv = newMIME("video/x-flv", ".flv", magic.Flv) + mkv = newMIME("video/x-matroska", ".mkv", magic.Mkv) + asf = newMIME("video/x-ms-asf", ".asf", magic.Asf). + alias("video/asf", "video/x-ms-wmv") + rmvb = newMIME("application/vnd.rn-realmedia-vbr", ".rmvb", magic.Rmvb) + class = newMIME("application/x-java-applet", ".class", magic.Class) + swf = newMIME("application/x-shockwave-flash", ".swf", magic.SWF) + crx = newMIME("application/x-chrome-extension", ".crx", magic.CRX) + ttf = newMIME("font/ttf", ".ttf", magic.Ttf). + alias("font/sfnt", "application/x-font-ttf", "application/font-sfnt") + woff = newMIME("font/woff", ".woff", magic.Woff) + woff2 = newMIME("font/woff2", ".woff2", magic.Woff2) + otf = newMIME("font/otf", ".otf", magic.Otf) + ttc = newMIME("font/collection", ".ttc", magic.Ttc) + eot = newMIME("application/vnd.ms-fontobject", ".eot", magic.Eot) + wasm = newMIME("application/wasm", ".wasm", magic.Wasm) + shp = newMIME("application/vnd.shp", ".shp", magic.Shp) + shx = newMIME("application/vnd.shx", ".shx", magic.Shx, shp) + dbf = newMIME("application/x-dbf", ".dbf", magic.Dbf) + exe = newMIME("application/vnd.microsoft.portable-executable", ".exe", magic.Exe) + elf = newMIME("application/x-elf", "", magic.Elf, elfObj, elfExe, elfLib, elfDump) + elfObj = newMIME("application/x-object", "", magic.ElfObj) + elfExe = newMIME("application/x-executable", "", magic.ElfExe) + elfLib = newMIME("application/x-sharedlib", ".so", magic.ElfLib) + elfDump = newMIME("application/x-coredump", "", magic.ElfDump) + ar = newMIME("application/x-archive", ".a", magic.Ar, deb). + alias("application/x-unix-archive") + deb = newMIME("application/vnd.debian.binary-package", ".deb", magic.Deb) + rpm = newMIME("application/x-rpm", ".rpm", magic.RPM) + dcm = newMIME("application/dicom", ".dcm", magic.Dcm) + odt = newMIME("application/vnd.oasis.opendocument.text", ".odt", magic.Odt, ott). + alias("application/x-vnd.oasis.opendocument.text") + ott = newMIME("application/vnd.oasis.opendocument.text-template", ".ott", magic.Ott). + alias("application/x-vnd.oasis.opendocument.text-template") + ods = newMIME("application/vnd.oasis.opendocument.spreadsheet", ".ods", magic.Ods, ots). + alias("application/x-vnd.oasis.opendocument.spreadsheet") + ots = newMIME("application/vnd.oasis.opendocument.spreadsheet-template", ".ots", magic.Ots). + alias("application/x-vnd.oasis.opendocument.spreadsheet-template") + odp = newMIME("application/vnd.oasis.opendocument.presentation", ".odp", magic.Odp, otp). + alias("application/x-vnd.oasis.opendocument.presentation") + otp = newMIME("application/vnd.oasis.opendocument.presentation-template", ".otp", magic.Otp). + alias("application/x-vnd.oasis.opendocument.presentation-template") + odg = newMIME("application/vnd.oasis.opendocument.graphics", ".odg", magic.Odg, otg). + alias("application/x-vnd.oasis.opendocument.graphics") + otg = newMIME("application/vnd.oasis.opendocument.graphics-template", ".otg", magic.Otg). + alias("application/x-vnd.oasis.opendocument.graphics-template") + odf = newMIME("application/vnd.oasis.opendocument.formula", ".odf", magic.Odf). + alias("application/x-vnd.oasis.opendocument.formula") + odc = newMIME("application/vnd.oasis.opendocument.chart", ".odc", magic.Odc). + alias("application/x-vnd.oasis.opendocument.chart") + sxc = newMIME("application/vnd.sun.xml.calc", ".sxc", magic.Sxc) + rar = newMIME("application/x-rar-compressed", ".rar", magic.RAR). + alias("application/x-rar") + djvu = newMIME("image/vnd.djvu", ".djvu", magic.DjVu) + mobi = newMIME("application/x-mobipocket-ebook", ".mobi", magic.Mobi) + lit = newMIME("application/x-ms-reader", ".lit", magic.Lit) + sqlite3 = newMIME("application/vnd.sqlite3", ".sqlite", magic.Sqlite). + alias("application/x-sqlite3") + dwg = newMIME("image/vnd.dwg", ".dwg", magic.Dwg). + alias("image/x-dwg", "application/acad", "application/x-acad", + "application/autocad_dwg", "application/dwg", "application/x-dwg", + "application/x-autocad", "drawing/dwg") + warc = newMIME("application/warc", ".warc", magic.Warc) + nes = newMIME("application/vnd.nintendo.snes.rom", ".nes", magic.Nes) + lnk = newMIME("application/x-ms-shortcut", ".lnk", magic.Lnk) + macho = newMIME("application/x-mach-binary", ".macho", magic.MachO) + qcp = newMIME("audio/qcelp", ".qcp", magic.Qcp) + mrc = newMIME("application/marc", ".mrc", magic.Marc) + mdb = newMIME("application/x-msaccess", ".mdb", magic.MsAccessMdb) + accdb = newMIME("application/x-msaccess", ".accdb", magic.MsAccessAce) + zstd = newMIME("application/zstd", ".zst", magic.Zstd) + cab = newMIME("application/vnd.ms-cab-compressed", ".cab", magic.Cab) + cabIS = newMIME("application/x-installshield", ".cab", magic.InstallShieldCab) + lzip = newMIME("application/lzip", ".lz", magic.Lzip).alias("application/x-lzip") + torrent = newMIME("application/x-bittorrent", ".torrent", magic.Torrent) + cpio = newMIME("application/x-cpio", ".cpio", magic.Cpio) + tzif = newMIME("application/tzif", "", magic.TzIf) + p7s = newMIME("application/pkcs7-signature", ".p7s", magic.P7s) + xcf = newMIME("image/x-xcf", ".xcf", magic.Xcf) + pat = newMIME("image/x-gimp-pat", ".pat", magic.Pat) + gbr = newMIME("image/x-gimp-gbr", ".gbr", magic.Gbr) + xfdf = newMIME("application/vnd.adobe.xfdf", ".xfdf", magic.Xfdf) + glb = newMIME("model/gltf-binary", ".glb", magic.Glb) + jxr = newMIME("image/jxr", ".jxr", magic.Jxr).alias("image/vnd.ms-photo") +) diff --git a/vendor/github.com/go-playground/validator/v10/.gitignore b/vendor/github.com/go-playground/validator/v10/.gitignore index 2410a91b..6305e529 100644 --- a/vendor/github.com/go-playground/validator/v10/.gitignore +++ b/vendor/github.com/go-playground/validator/v10/.gitignore @@ -26,6 +26,7 @@ _testmain.go *.test *.out *.txt +/**/*.DS_Store cover.html README.html .idea diff --git a/vendor/github.com/go-playground/validator/v10/README.md b/vendor/github.com/go-playground/validator/v10/README.md index f5a9b75b..931b3414 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.13.0-green.svg) +![Project status](https://img.shields.io/badge/version-10.14.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) @@ -228,6 +228,7 @@ Baked-in Validations | dirpath | Directory Path | | file | Existing File | | filepath | File Path | +| image | Image | | isdefault | Is Default | | len | Length | | max | Maximum | 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 d66980b6..8e6b169c 100644 --- a/vendor/github.com/go-playground/validator/v10/baked_in.go +++ b/vendor/github.com/go-playground/validator/v10/baked_in.go @@ -22,6 +22,7 @@ import ( "golang.org/x/crypto/sha3" "golang.org/x/text/language" + "github.com/gabriel-vasile/mimetype" "github.com/leodido/go-urn" ) @@ -144,6 +145,7 @@ var ( "endswith": endsWith, "startsnotwith": startsNotWith, "endsnotwith": endsNotWith, + "image": isImage, "isbn": isISBN, "isbn10": isISBN10, "isbn13": isISBN13, @@ -1488,6 +1490,67 @@ func isFile(fl FieldLevel) bool { panic(fmt.Sprintf("Bad field type %T", field.Interface())) } +// isImage is the validation function for validating if the current field's value contains the path to a valid image file +func isImage(fl FieldLevel) bool { + mimetypes := map[string]bool{ + "image/bmp": true, + "image/cis-cod": true, + "image/gif": true, + "image/ief": true, + "image/jpeg": true, + "image/jp2": true, + "image/jpx": true, + "image/jpm": true, + "image/pipeg": true, + "image/png": true, + "image/svg+xml": true, + "image/tiff": true, + "image/webp": true, + "image/x-cmu-raster": true, + "image/x-cmx": true, + "image/x-icon": true, + "image/x-portable-anymap": true, + "image/x-portable-bitmap": true, + "image/x-portable-graymap": true, + "image/x-portable-pixmap": true, + "image/x-rgb": true, + "image/x-xbitmap": true, + "image/x-xpixmap": true, + "image/x-xwindowdump": true, + } + field := fl.Field() + + switch field.Kind() { + case reflect.String: + filePath := field.String() + fileInfo, err := os.Stat(filePath) + + if err != nil { + return false + } + + if fileInfo.IsDir() { + return false + } + + file, err := os.Open(filePath) + if err != nil { + return false + } + defer file.Close() + + mime, err := mimetype.DetectReader(file) + if err != nil { + return false + } + + if _, ok := mimetypes[mime.String()]; ok { + return true + } + } + return false +} + // isFilePath is the validation function for validating if the current field's value is a valid file path. func isFilePath(fl FieldLevel) bool { 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 91b2e0b9..0119f057 100644 --- a/vendor/github.com/go-playground/validator/v10/country_codes.go +++ b/vendor/github.com/go-playground/validator/v10/country_codes.go @@ -1135,7 +1135,7 @@ var iso3166_2 = map[string]bool{ "VN-69": true, "VN-70": true, "VN-71": true, "VN-72": true, "VN-73": true, "VN-CT": true, "VN-DN": true, "VN-HN": true, "VN-HP": true, "VN-SG": true, "VU-MAP": true, "VU-PAM": true, "VU-SAM": true, "VU-SEE": true, "VU-TAE": true, - "VU-TOB": true, "WF-SG": true,"WF-UV": true, "WS-AA": true, "WS-AL": true, "WS-AT": true, "WS-FA": true, + "VU-TOB": true, "WF-SG": true, "WF-UV": true, "WS-AA": true, "WS-AL": true, "WS-AT": true, "WS-FA": true, "WS-GE": true, "WS-GI": true, "WS-PA": true, "WS-SA": true, "WS-TU": true, "WS-VF": true, "WS-VS": true, "YE-AB": true, "YE-AD": true, "YE-AM": true, "YE-BA": true, "YE-DA": true, "YE-DH": true, "YE-HD": true, "YE-HJ": true, "YE-HU": true, diff --git a/vendor/github.com/go-playground/validator/v10/doc.go b/vendor/github.com/go-playground/validator/v10/doc.go index f31a7d53..f5aa9e52 100644 --- a/vendor/github.com/go-playground/validator/v10/doc.go +++ b/vendor/github.com/go-playground/validator/v10/doc.go @@ -863,7 +863,6 @@ This validates that a string value is a valid JWT Usage: jwt - # File This validates that a string value contains a valid file path and that @@ -872,6 +871,15 @@ This is done using os.Stat, which is a platform independent function. Usage: file +# Image path + +This validates that a string value contains a valid file path and that +the file exists on the machine and is an image. +This is done using os.Stat and github.com/gabriel-vasile/mimetype + + Usage: image + +# URL String # File Path @@ -881,7 +889,6 @@ This is done using os.Stat, which is a platform independent function. Usage: filepath - # URL String This validates that a string value contains a valid url @@ -923,7 +930,6 @@ you can use this with the omitempty tag. Usage: base64url - # Base64RawURL String This validates that a string value contains a valid base64 URL safe value, @@ -934,7 +940,6 @@ you can use this with the omitempty tag. Usage: base64url - # Bitcoin Address This validates that a string value contains a valid bitcoin address. @@ -1267,7 +1272,6 @@ This is done using os.Stat, which is a platform independent function. Usage: dir - # Directory Path This validates that a string value contains a valid directory but does @@ -1278,7 +1282,6 @@ may not exist at the time of validation. Usage: dirpath - # HostPort This validates that a string value contains a valid DNS hostname and port that @@ -1350,7 +1353,6 @@ More information on https://semver.org/ Usage: semver - # CVE Identifier This validates that a string value is a valid cve id, defined in cve mitre. @@ -1358,17 +1360,15 @@ More information on https://cve.mitre.org/ Usage: cve - # Credit Card This validates that a string value contains a valid credit card number using Luhn algorithm. Usage: credit_card - # Luhn Checksum - Usage: luhn_checksum + Usage: luhn_checksum This validates that a string or (u)int value contains a valid checksum using the Luhn algorithm. @@ -1376,8 +1376,7 @@ This validates that a string or (u)int value contains a valid checksum using the This validates that a string is a valid 24 character hexadecimal string. - Usage: mongodb - + Usage: mongodb # Cron @@ -1385,7 +1384,7 @@ This validates that a string value contains a valid cron expression. Usage: cron -Alias Validators and Tags +# Alias Validators and Tags Alias Validators and Tags NOTE: When returning an error, the tag returned in "FieldError" will be diff --git a/vendor/github.com/go-playground/validator/v10/translations/en/en.go b/vendor/github.com/go-playground/validator/v10/translations/en/en.go index 486c95ec..6cb6d7e0 100644 --- a/vendor/github.com/go-playground/validator/v10/translations/en/en.go +++ b/vendor/github.com/go-playground/validator/v10/translations/en/en.go @@ -1366,6 +1366,11 @@ func RegisterDefaultTranslations(v *validator.Validate, trans ut.Translator) (er translation: "{0} must be a valid boolean value", override: false, }, + { + tag: "image", + translation: "{0} must be a valid image", + override: false, + }, { tag: "cve", translation: "{0} must be a valid cve identifier", diff --git a/vendor/github.com/go-playground/validator/v10/translations/zh/zh.go b/vendor/github.com/go-playground/validator/v10/translations/zh/zh.go index 80165d0c..7f45681f 100644 --- a/vendor/github.com/go-playground/validator/v10/translations/zh/zh.go +++ b/vendor/github.com/go-playground/validator/v10/translations/zh/zh.go @@ -1428,6 +1428,11 @@ func RegisterDefaultTranslations(v *validator.Validate, trans ut.Translator) (er return t }, }, + { + tag: "image", + translation: "{0} 必须是有效图像", + override: false, + }, } for _, t := range translations { diff --git a/vendor/github.com/yusufpapurcu/wmi/README.md b/vendor/github.com/yusufpapurcu/wmi/README.md index c4a432d6..426d1a46 100644 --- a/vendor/github.com/yusufpapurcu/wmi/README.md +++ b/vendor/github.com/yusufpapurcu/wmi/README.md @@ -4,10 +4,3 @@ wmi Package wmi provides a WQL interface to Windows WMI. Note: It interfaces with WMI on the local machine, therefore it only runs on Windows. - ---- - -NOTE: This project is no longer being actively maintained. If you would like -to become its new owner, please contact tlimoncelli at stack over flow dot com. - ---- diff --git a/vendor/github.com/yusufpapurcu/wmi/swbemservices.go b/vendor/github.com/yusufpapurcu/wmi/swbemservices.go index 3ff87563..a250c846 100644 --- a/vendor/github.com/yusufpapurcu/wmi/swbemservices.go +++ b/vendor/github.com/yusufpapurcu/wmi/swbemservices.go @@ -1,3 +1,4 @@ +//go:build windows // +build windows package wmi diff --git a/vendor/github.com/yusufpapurcu/wmi/wmi.go b/vendor/github.com/yusufpapurcu/wmi/wmi.go index b4bb4f09..26c3581c 100644 --- a/vendor/github.com/yusufpapurcu/wmi/wmi.go +++ b/vendor/github.com/yusufpapurcu/wmi/wmi.go @@ -1,3 +1,4 @@ +//go:build windows // +build windows /* @@ -20,7 +21,6 @@ Example code to print names of running processes: println(i, v.Name) } } - */ package wmi @@ -338,11 +338,6 @@ func (c *Client) loadEntity(dst interface{}, src *ole.IDispatch) (errFieldMismat f := v.Field(i) of := f isPtr := f.Kind() == reflect.Ptr - if isPtr { - ptr := reflect.New(f.Type().Elem()) - f.Set(ptr) - f = f.Elem() - } n := v.Type().Field(i).Name if n[0] < 'A' || n[0] > 'Z' { continue @@ -367,6 +362,12 @@ func (c *Client) loadEntity(dst interface{}, src *ole.IDispatch) (errFieldMismat } defer prop.Clear() + if isPtr && !(c.PtrNil && prop.VT == 0x1) { + ptr := reflect.New(f.Type().Elem()) + f.Set(ptr) + f = f.Elem() + } + if prop.VT == 0x1 { //VT_NULL continue } diff --git a/vendor/gorm.io/driver/mysql/migrator.go b/vendor/gorm.io/driver/mysql/migrator.go index f9967a42..d35a86e1 100644 --- a/vendor/gorm.io/driver/mysql/migrator.go +++ b/vendor/gorm.io/driver/mysql/migrator.go @@ -49,16 +49,18 @@ func (m Migrator) FullDataTypeOf(field *schema.Field) clause.Expr { func (m Migrator) AlterColumn(value interface{}, field string) error { return m.RunWithValue(value, func(stmt *gorm.Statement) error { - if field := stmt.Schema.LookUpField(field); field != nil { - fullDataType := m.FullDataTypeOf(field) - if m.Dialector.DontSupportRenameColumnUnique { - fullDataType.SQL = strings.Replace(fullDataType.SQL, " UNIQUE ", " ", 1) - } + if stmt.Schema != nil { + if field := stmt.Schema.LookUpField(field); field != nil { + fullDataType := m.FullDataTypeOf(field) + if m.Dialector.DontSupportRenameColumnUnique { + fullDataType.SQL = strings.Replace(fullDataType.SQL, " UNIQUE ", " ", 1) + } - return m.DB.Exec( - "ALTER TABLE ? MODIFY COLUMN ? ?", - clause.Table{Name: stmt.Table}, clause.Column{Name: field.DBName}, fullDataType, - ).Error + return m.DB.Exec( + "ALTER TABLE ? MODIFY COLUMN ? ?", + clause.Table{Name: stmt.Table}, clause.Column{Name: field.DBName}, fullDataType, + ).Error + } } return fmt.Errorf("failed to look up field with name: %s", field) }) @@ -101,14 +103,16 @@ func (m Migrator) RenameColumn(value interface{}, oldName, newName string) error } var field *schema.Field - if f := stmt.Schema.LookUpField(oldName); f != nil { - oldName = f.DBName - field = f - } + if stmt.Schema != nil { + if f := stmt.Schema.LookUpField(oldName); f != nil { + oldName = f.DBName + field = f + } - if f := stmt.Schema.LookUpField(newName); f != nil { - newName = f.DBName - field = f + if f := stmt.Schema.LookUpField(newName); f != nil { + newName = f.DBName + field = f + } } if field != nil { @@ -139,22 +143,24 @@ func (m Migrator) RenameIndex(value interface{}, oldName, newName string) error return err } - if idx := stmt.Schema.LookIndex(newName); idx == nil { - if idx = stmt.Schema.LookIndex(oldName); idx != nil { - opts := m.BuildIndexOptions(idx.Fields, stmt) - values := []interface{}{clause.Column{Name: newName}, clause.Table{Name: stmt.Table}, opts} + if stmt.Schema != nil { + if idx := stmt.Schema.LookIndex(newName); idx == nil { + if idx = stmt.Schema.LookIndex(oldName); idx != nil { + opts := m.BuildIndexOptions(idx.Fields, stmt) + values := []interface{}{clause.Column{Name: newName}, clause.Table{Name: stmt.Table}, opts} - createIndexSQL := "CREATE " - if idx.Class != "" { - createIndexSQL += idx.Class + " " - } - createIndexSQL += "INDEX ? ON ??" + createIndexSQL := "CREATE " + if idx.Class != "" { + createIndexSQL += idx.Class + " " + } + createIndexSQL += "INDEX ? ON ??" - if idx.Type != "" { - createIndexSQL += " USING " + idx.Type - } + if idx.Type != "" { + createIndexSQL += " USING " + idx.Type + } - return m.DB.Exec(createIndexSQL, values...).Error + return m.DB.Exec(createIndexSQL, values...).Error + } } } @@ -315,9 +321,13 @@ func (m Migrator) GetIndexes(value interface{}) ([]gorm.Index, error) { if scanErr != nil { return scanErr } - indexMap := groupByIndexName(result) + indexMap, indexNames := groupByIndexName(result) - for _, idx := range indexMap { + for _, name := range indexNames { + idx := indexMap[name] + if len(idx) == 0 { + continue + } tempIdx := &migrator.Index{ TableName: idx[0].TableName, NameValue: idx[0].IndexName, @@ -348,12 +358,16 @@ type Index struct { NonUnique int32 `gorm:"column:NON_UNIQUE"` } -func groupByIndexName(indexList []*Index) map[string][]*Index { +func groupByIndexName(indexList []*Index) (map[string][]*Index, []string) { columnIndexMap := make(map[string][]*Index, len(indexList)) + indexNames := make([]string, 0, len(indexList)) for _, idx := range indexList { + if _, ok := columnIndexMap[idx.IndexName]; !ok { + indexNames = append(indexNames, idx.IndexName) + } columnIndexMap[idx.IndexName] = append(columnIndexMap[idx.IndexName], idx) } - return columnIndexMap + return columnIndexMap, indexNames } func (m Migrator) CurrentSchema(stmt *gorm.Statement, table string) (string, string) { @@ -367,3 +381,28 @@ func (m Migrator) CurrentSchema(stmt *gorm.Statement, table string) (string, str func (m Migrator) GetTypeAliases(databaseTypeName string) []string { return typeAliasMap[databaseTypeName] } + +// TableType table type return tableType,error +func (m Migrator) TableType(value interface{}) (tableType gorm.TableType, err error) { + var table migrator.TableType + + err = m.RunWithValue(value, func(stmt *gorm.Statement) error { + var ( + values = []interface{}{ + &table.SchemaValue, &table.NameValue, &table.TypeValue, &table.CommentValue, + } + currentDatabase, tableName = m.CurrentSchema(stmt, stmt.Table) + tableTypeSQL = "SELECT table_schema, table_name, table_type, table_comment FROM information_schema.tables WHERE table_schema = ? AND table_name = ?" + ) + + row := m.DB.Table(tableName).Raw(tableTypeSQL, currentDatabase, tableName).Row() + + if scanErr := row.Scan(values...); scanErr != nil { + return scanErr + } + + return nil + }) + + return table, err +} diff --git a/vendor/gorm.io/driver/postgres/.gitignore b/vendor/gorm.io/driver/postgres/.gitignore new file mode 100644 index 00000000..485dee64 --- /dev/null +++ b/vendor/gorm.io/driver/postgres/.gitignore @@ -0,0 +1 @@ +.idea diff --git a/vendor/gorm.io/driver/postgres/error_translator.go b/vendor/gorm.io/driver/postgres/error_translator.go index 6cd0971c..285494c2 100644 --- a/vendor/gorm.io/driver/postgres/error_translator.go +++ b/vendor/gorm.io/driver/postgres/error_translator.go @@ -1,6 +1,7 @@ package postgres import ( + "encoding/json" "github.com/jackc/pgx/v5/pgconn" "gorm.io/gorm" ) @@ -9,12 +10,35 @@ var errCodes = map[string]string{ "uniqueConstraint": "23505", } +type ErrMessage struct { + Code string `json:"Code"` + Severity string `json:"Severity"` + Message string `json:"Message"` +} + +// Translate it will translate the error to native gorm errors. +// Since currently gorm supporting both pgx and pg drivers, only checking for pgx PgError types is not enough for translating errors, so we have additional error json marshal fallback. func (dialector Dialector) Translate(err error) error { if pgErr, ok := err.(*pgconn.PgError); ok { if pgErr.Code == errCodes["uniqueConstraint"] { return gorm.ErrDuplicatedKey } + return err + } + + parsedErr, marshalErr := json.Marshal(err) + if marshalErr != nil { + return err } + var errMsg ErrMessage + unmarshalErr := json.Unmarshal(parsedErr, &errMsg) + if unmarshalErr != nil { + return err + } + + if errMsg.Code == errCodes["uniqueConstraint"] { + return gorm.ErrDuplicatedKey + } return err } diff --git a/vendor/gorm.io/driver/postgres/migrator.go b/vendor/gorm.io/driver/postgres/migrator.go index 35b291b4..e4d8e926 100644 --- a/vendor/gorm.io/driver/postgres/migrator.go +++ b/vendor/gorm.io/driver/postgres/migrator.go @@ -76,8 +76,10 @@ func (m Migrator) BuildIndexOptions(opts []schema.IndexOption, stmt *gorm.Statem func (m Migrator) HasIndex(value interface{}, name string) bool { var count int64 m.RunWithValue(value, func(stmt *gorm.Statement) error { - if idx := stmt.Schema.LookIndex(name); idx != nil { - name = idx.Name + if stmt.Schema != nil { + if idx := stmt.Schema.LookIndex(name); idx != nil { + name = idx.Name + } } currentSchema, curTable := m.CurrentSchema(stmt, stmt.Table) return m.DB.Raw( @@ -90,33 +92,35 @@ func (m Migrator) HasIndex(value interface{}, name string) bool { func (m Migrator) CreateIndex(value interface{}, name string) error { return m.RunWithValue(value, func(stmt *gorm.Statement) error { - if idx := stmt.Schema.LookIndex(name); idx != nil { - opts := m.BuildIndexOptions(idx.Fields, stmt) - values := []interface{}{clause.Column{Name: idx.Name}, m.CurrentTable(stmt), opts} + if stmt.Schema != nil { + if idx := stmt.Schema.LookIndex(name); idx != nil { + opts := m.BuildIndexOptions(idx.Fields, stmt) + values := []interface{}{clause.Column{Name: idx.Name}, m.CurrentTable(stmt), opts} - createIndexSQL := "CREATE " - if idx.Class != "" { - createIndexSQL += idx.Class + " " - } - createIndexSQL += "INDEX " + createIndexSQL := "CREATE " + if idx.Class != "" { + createIndexSQL += idx.Class + " " + } + createIndexSQL += "INDEX " - if strings.TrimSpace(strings.ToUpper(idx.Option)) == "CONCURRENTLY" { - createIndexSQL += "CONCURRENTLY " - } + if strings.TrimSpace(strings.ToUpper(idx.Option)) == "CONCURRENTLY" { + createIndexSQL += "CONCURRENTLY " + } - createIndexSQL += "IF NOT EXISTS ? ON ?" + createIndexSQL += "IF NOT EXISTS ? ON ?" - if idx.Type != "" { - createIndexSQL += " USING " + idx.Type + "(?)" - } else { - createIndexSQL += " ?" - } + if idx.Type != "" { + createIndexSQL += " USING " + idx.Type + "(?)" + } else { + createIndexSQL += " ?" + } - if idx.Where != "" { - createIndexSQL += " WHERE " + idx.Where - } + if idx.Where != "" { + createIndexSQL += " WHERE " + idx.Where + } - return m.DB.Exec(createIndexSQL, values...).Error + return m.DB.Exec(createIndexSQL, values...).Error + } } return fmt.Errorf("failed to create index with name %v", name) @@ -134,8 +138,10 @@ func (m Migrator) RenameIndex(value interface{}, oldName, newName string) error func (m Migrator) DropIndex(value interface{}, name string) error { return m.RunWithValue(value, func(stmt *gorm.Statement) error { - if idx := stmt.Schema.LookIndex(name); idx != nil { - name = idx.Name + if stmt.Schema != nil { + if idx := stmt.Schema.LookIndex(name); idx != nil { + name = idx.Name + } } return m.DB.Exec("DROP INDEX ?", clause.Column{Name: name}).Error @@ -153,13 +159,15 @@ func (m Migrator) CreateTable(values ...interface{}) (err error) { } for _, value := range m.ReorderModels(values, false) { if err = m.RunWithValue(value, func(stmt *gorm.Statement) error { - for _, field := range stmt.Schema.FieldsByDBName { - if field.Comment != "" { - if err := m.DB.Exec( - "COMMENT ON COLUMN ?.? IS ?", - m.CurrentTable(stmt), clause.Column{Name: field.DBName}, gorm.Expr(m.Migrator.Dialector.Explain("$1", field.Comment)), - ).Error; err != nil { - return err + if stmt.Schema != nil { + for _, field := range stmt.Schema.FieldsByDBName { + if field.Comment != "" { + if err := m.DB.Exec( + "COMMENT ON COLUMN ?.? IS ?", + m.CurrentTable(stmt), clause.Column{Name: field.DBName}, gorm.Expr(m.Migrator.Dialector.Explain("$1", field.Comment)), + ).Error; err != nil { + return err + } } } } @@ -200,13 +208,15 @@ func (m Migrator) AddColumn(value interface{}, field string) error { m.resetPreparedStmts() return m.RunWithValue(value, func(stmt *gorm.Statement) error { - if field := stmt.Schema.LookUpField(field); field != nil { - if field.Comment != "" { - if err := m.DB.Exec( - "COMMENT ON COLUMN ?.? IS ?", - m.CurrentTable(stmt), clause.Column{Name: field.DBName}, gorm.Expr(m.Migrator.Dialector.Explain("$1", field.Comment)), - ).Error; err != nil { - return err + if stmt.Schema != nil { + if field := stmt.Schema.LookUpField(field); field != nil { + if field.Comment != "" { + if err := m.DB.Exec( + "COMMENT ON COLUMN ?.? IS ?", + m.CurrentTable(stmt), clause.Column{Name: field.DBName}, gorm.Expr(m.Migrator.Dialector.Explain("$1", field.Comment)), + ).Error; err != nil { + return err + } } } } @@ -269,101 +279,103 @@ func (m Migrator) MigrateColumn(value interface{}, field *schema.Field, columnTy // AlterColumn alter value's `field` column' type based on schema definition func (m Migrator) AlterColumn(value interface{}, field string) error { err := m.RunWithValue(value, func(stmt *gorm.Statement) error { - if field := stmt.Schema.LookUpField(field); field != nil { - var ( - columnTypes, _ = m.DB.Migrator().ColumnTypes(value) - fieldColumnType *migrator.ColumnType - ) - for _, columnType := range columnTypes { - if columnType.Name() == field.DBName { - fieldColumnType, _ = columnType.(*migrator.ColumnType) + if stmt.Schema != nil { + if field := stmt.Schema.LookUpField(field); field != nil { + var ( + columnTypes, _ = m.DB.Migrator().ColumnTypes(value) + fieldColumnType *migrator.ColumnType + ) + for _, columnType := range columnTypes { + if columnType.Name() == field.DBName { + fieldColumnType, _ = columnType.(*migrator.ColumnType) + } } - } - fileType := clause.Expr{SQL: m.DataTypeOf(field)} - // check for typeName and SQL name - isSameType := true - if fieldColumnType.DatabaseTypeName() != fileType.SQL { - isSameType = false - // if different, also check for aliases - aliases := m.GetTypeAliases(fieldColumnType.DatabaseTypeName()) - for _, alias := range aliases { - if strings.HasPrefix(fileType.SQL, alias) { - isSameType = true - break + fileType := clause.Expr{SQL: m.DataTypeOf(field)} + // check for typeName and SQL name + isSameType := true + if fieldColumnType.DatabaseTypeName() != fileType.SQL { + isSameType = false + // if different, also check for aliases + aliases := m.GetTypeAliases(fieldColumnType.DatabaseTypeName()) + for _, alias := range aliases { + if strings.HasPrefix(fileType.SQL, alias) { + isSameType = true + break + } } } - } - // not same, migrate - if !isSameType { - filedColumnAutoIncrement, _ := fieldColumnType.AutoIncrement() - if field.AutoIncrement && filedColumnAutoIncrement { // update - serialDatabaseType, _ := getSerialDatabaseType(fileType.SQL) - if t, _ := fieldColumnType.ColumnType(); t != serialDatabaseType { - if err := m.UpdateSequence(m.DB, stmt, field, serialDatabaseType); err != nil { + // not same, migrate + if !isSameType { + filedColumnAutoIncrement, _ := fieldColumnType.AutoIncrement() + if field.AutoIncrement && filedColumnAutoIncrement { // update + serialDatabaseType, _ := getSerialDatabaseType(fileType.SQL) + if t, _ := fieldColumnType.ColumnType(); t != serialDatabaseType { + if err := m.UpdateSequence(m.DB, stmt, field, serialDatabaseType); err != nil { + return err + } + } + } else if field.AutoIncrement && !filedColumnAutoIncrement { // create + serialDatabaseType, _ := getSerialDatabaseType(fileType.SQL) + if err := m.CreateSequence(m.DB, stmt, field, serialDatabaseType); err != nil { + return err + } + } else if !field.AutoIncrement && filedColumnAutoIncrement { // delete + if err := m.DeleteSequence(m.DB, stmt, field, fileType); err != nil { + return err + } + } else { + if err := m.DB.Exec("ALTER TABLE ? ALTER COLUMN ? TYPE ?"+m.genUsingExpression(fileType.SQL, fieldColumnType.DatabaseTypeName()), + m.CurrentTable(stmt), clause.Column{Name: field.DBName}, fileType, clause.Column{Name: field.DBName}, fileType).Error; err != nil { return err } - } - } else if field.AutoIncrement && !filedColumnAutoIncrement { // create - serialDatabaseType, _ := getSerialDatabaseType(fileType.SQL) - if err := m.CreateSequence(m.DB, stmt, field, serialDatabaseType); err != nil { - return err - } - } else if !field.AutoIncrement && filedColumnAutoIncrement { // delete - if err := m.DeleteSequence(m.DB, stmt, field, fileType); err != nil { - return err - } - } else { - if err := m.DB.Exec("ALTER TABLE ? ALTER COLUMN ? TYPE ?"+m.genUsingExpression(fileType.SQL, fieldColumnType.DatabaseTypeName()), - m.CurrentTable(stmt), clause.Column{Name: field.DBName}, fileType, clause.Column{Name: field.DBName}, fileType).Error; err != nil { - return err } } - } - if null, _ := fieldColumnType.Nullable(); null == field.NotNull { - if field.NotNull { - if err := m.DB.Exec("ALTER TABLE ? ALTER COLUMN ? SET NOT NULL", m.CurrentTable(stmt), clause.Column{Name: field.DBName}).Error; err != nil { - return err - } - } else { - if err := m.DB.Exec("ALTER TABLE ? ALTER COLUMN ? DROP NOT NULL", m.CurrentTable(stmt), clause.Column{Name: field.DBName}).Error; err != nil { - return err + if null, _ := fieldColumnType.Nullable(); null == field.NotNull { + if field.NotNull { + if err := m.DB.Exec("ALTER TABLE ? ALTER COLUMN ? SET NOT NULL", m.CurrentTable(stmt), clause.Column{Name: field.DBName}).Error; err != nil { + return err + } + } else { + if err := m.DB.Exec("ALTER TABLE ? ALTER COLUMN ? DROP NOT NULL", m.CurrentTable(stmt), clause.Column{Name: field.DBName}).Error; err != nil { + return err + } } } - } - if uniq, _ := fieldColumnType.Unique(); !uniq && field.Unique { - idxName := clause.Column{Name: m.DB.Config.NamingStrategy.IndexName(stmt.Table, field.DBName)} - // Not a unique constraint but a unique index - if !m.HasIndex(stmt.Table, idxName.Name) { - if err := m.DB.Exec("ALTER TABLE ? ADD CONSTRAINT ? UNIQUE(?)", m.CurrentTable(stmt), idxName, clause.Column{Name: field.DBName}).Error; err != nil { - return err + if uniq, _ := fieldColumnType.Unique(); !uniq && field.Unique { + idxName := clause.Column{Name: m.DB.Config.NamingStrategy.IndexName(stmt.Table, field.DBName)} + // Not a unique constraint but a unique index + if !m.HasIndex(stmt.Table, idxName.Name) { + if err := m.DB.Exec("ALTER TABLE ? ADD CONSTRAINT ? UNIQUE(?)", m.CurrentTable(stmt), idxName, clause.Column{Name: field.DBName}).Error; err != nil { + return err + } } } - } - if v, ok := fieldColumnType.DefaultValue(); (field.DefaultValueInterface == nil && ok) || v != field.DefaultValue { - if field.HasDefaultValue && (field.DefaultValueInterface != nil || field.DefaultValue != "") { - if field.DefaultValueInterface != nil { - defaultStmt := &gorm.Statement{Vars: []interface{}{field.DefaultValueInterface}} - m.Dialector.BindVarTo(defaultStmt, defaultStmt, field.DefaultValueInterface) - if err := m.DB.Exec("ALTER TABLE ? ALTER COLUMN ? SET DEFAULT ?", m.CurrentTable(stmt), clause.Column{Name: field.DBName}, clause.Expr{SQL: m.Dialector.Explain(defaultStmt.SQL.String(), field.DefaultValueInterface)}).Error; err != nil { - return err - } - } else if field.DefaultValue != "(-)" { - if err := m.DB.Exec("ALTER TABLE ? ALTER COLUMN ? SET DEFAULT ?", m.CurrentTable(stmt), clause.Column{Name: field.DBName}, clause.Expr{SQL: field.DefaultValue}).Error; err != nil { - return err - } - } else { - if err := m.DB.Exec("ALTER TABLE ? ALTER COLUMN ? DROP DEFAULT", m.CurrentTable(stmt), clause.Column{Name: field.DBName}, clause.Expr{SQL: field.DefaultValue}).Error; err != nil { - return err + if v, ok := fieldColumnType.DefaultValue(); (field.DefaultValueInterface == nil && ok) || v != field.DefaultValue { + if field.HasDefaultValue && (field.DefaultValueInterface != nil || field.DefaultValue != "") { + if field.DefaultValueInterface != nil { + defaultStmt := &gorm.Statement{Vars: []interface{}{field.DefaultValueInterface}} + m.Dialector.BindVarTo(defaultStmt, defaultStmt, field.DefaultValueInterface) + if err := m.DB.Exec("ALTER TABLE ? ALTER COLUMN ? SET DEFAULT ?", m.CurrentTable(stmt), clause.Column{Name: field.DBName}, clause.Expr{SQL: m.Dialector.Explain(defaultStmt.SQL.String(), field.DefaultValueInterface)}).Error; err != nil { + return err + } + } else if field.DefaultValue != "(-)" { + if err := m.DB.Exec("ALTER TABLE ? ALTER COLUMN ? SET DEFAULT ?", m.CurrentTable(stmt), clause.Column{Name: field.DBName}, clause.Expr{SQL: field.DefaultValue}).Error; err != nil { + return err + } + } else { + if err := m.DB.Exec("ALTER TABLE ? ALTER COLUMN ? DROP DEFAULT", m.CurrentTable(stmt), clause.Column{Name: field.DBName}, clause.Expr{SQL: field.DefaultValue}).Error; err != nil { + return err + } } } } + return nil } - return nil } return fmt.Errorf("failed to look up field with name: %s", field) }) diff --git a/vendor/gorm.io/driver/postgres/postgres.go b/vendor/gorm.io/driver/postgres/postgres.go index 5d73d278..dbeabf56 100644 --- a/vendor/gorm.io/driver/postgres/postgres.go +++ b/vendor/gorm.io/driver/postgres/postgres.go @@ -3,11 +3,11 @@ package postgres import ( "database/sql" "fmt" + "github.com/jackc/pgx/v5" "regexp" "strconv" "strings" - "github.com/jackc/pgx/v5" "github.com/jackc/pgx/v5/stdlib" "gorm.io/gorm" "gorm.io/gorm/callbacks" @@ -44,14 +44,18 @@ func (dialector Dialector) Name() string { var timeZoneMatcher = regexp.MustCompile("(time_zone|TimeZone)=(.*?)($|&| )") func (dialector Dialector) Initialize(db *gorm.DB) (err error) { + callbackConfig := &callbacks.Config{ + CreateClauses: []string{"INSERT", "VALUES", "ON CONFLICT"}, + UpdateClauses: []string{"UPDATE", "SET", "WHERE"}, + DeleteClauses: []string{"DELETE", "FROM", "WHERE"}, + } // register callbacks if !dialector.WithoutReturning { - callbacks.RegisterDefaultCallbacks(db, &callbacks.Config{ - CreateClauses: []string{"INSERT", "VALUES", "ON CONFLICT", "RETURNING"}, - UpdateClauses: []string{"UPDATE", "SET", "WHERE", "RETURNING"}, - DeleteClauses: []string{"DELETE", "FROM", "WHERE", "RETURNING"}, - }) + callbackConfig.CreateClauses = append(callbackConfig.CreateClauses, "RETURNING") + callbackConfig.UpdateClauses = append(callbackConfig.UpdateClauses, "RETURNING") + callbackConfig.DeleteClauses = append(callbackConfig.DeleteClauses, "RETURNING") } + callbacks.RegisterDefaultCallbacks(db, callbackConfig) if dialector.Conn != nil { db.ConnPool = dialector.Conn diff --git a/vendor/modules.txt b/vendor/modules.txt index 56b010c4..9a68dab8 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -24,7 +24,7 @@ github.com/baidubce/bce-sdk-go/util/log github.com/basgys/goxml2json # github.com/bitly/go-simplejson v0.5.0 ## explicit -# github.com/bytedance/sonic v1.8.8 +# github.com/bytedance/sonic v1.8.9 ## explicit; go 1.15 github.com/bytedance/sonic github.com/bytedance/sonic/ast @@ -65,6 +65,12 @@ github.com/fatih/color # github.com/fsnotify/fsnotify v1.6.0 ## explicit; go 1.16 github.com/fsnotify/fsnotify +# github.com/gabriel-vasile/mimetype v1.4.2 +## explicit; go 1.20 +github.com/gabriel-vasile/mimetype +github.com/gabriel-vasile/mimetype/internal/charset +github.com/gabriel-vasile/mimetype/internal/json +github.com/gabriel-vasile/mimetype/internal/magic # github.com/gin-contrib/sse v0.1.0 ## explicit; go 1.12 github.com/gin-contrib/sse @@ -95,7 +101,7 @@ github.com/go-playground/locales/zh # 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.13.0 +# github.com/go-playground/validator/v10 v10.14.0 ## explicit; go 1.18 github.com/go-playground/validator/v10 github.com/go-playground/validator/v10/translations/en @@ -222,7 +228,7 @@ github.com/lib/pq/scram # github.com/mattn/go-colorable v0.1.13 ## explicit; go 1.15 github.com/mattn/go-colorable -# github.com/mattn/go-isatty v0.0.18 +# github.com/mattn/go-isatty v0.0.19 ## explicit; go 1.15 github.com/mattn/go-isatty # github.com/mattn/go-sqlite3 v2.0.3+incompatible @@ -376,7 +382,7 @@ github.com/xdg-go/stringprep # github.com/youmark/pkcs8 v0.0.0-20201027041543-1326539a0a0a ## explicit; go 1.12 github.com/youmark/pkcs8 -# github.com/yusufpapurcu/wmi v1.2.2 +# github.com/yusufpapurcu/wmi v1.2.3 ## explicit; go 1.16 github.com/yusufpapurcu/wmi # go.mongodb.org/mongo-driver v1.11.6 @@ -474,7 +480,7 @@ golang.org/x/crypto/scrypt golang.org/x/crypto/sha3 golang.org/x/crypto/ssh golang.org/x/crypto/ssh/internal/bcrypt_pbkdf -# golang.org/x/exp v0.0.0-20230515195305-f3d0a9c9a5cc +# golang.org/x/exp v0.0.0-20230519143937-03e91628a987 ## explicit; go 1.20 golang.org/x/exp/constraints golang.org/x/exp/slices @@ -590,11 +596,11 @@ gopkg.in/yaml.v3 # gorm.io/datatypes v1.2.0 ## explicit; go 1.18 gorm.io/datatypes -# gorm.io/driver/mysql v1.5.0 +# gorm.io/driver/mysql v1.5.1 ## explicit; go 1.14 gorm.io/driver/mysql -# gorm.io/driver/postgres v1.5.0 -## explicit; go 1.14 +# gorm.io/driver/postgres v1.5.2 +## explicit; go 1.18 gorm.io/driver/postgres # gorm.io/gen v0.3.22 ## explicit; go 1.18