diff --git a/arrow/array/struct.go b/arrow/array/struct.go index 2adbb87b..af167ac7 100644 --- a/arrow/array/struct.go +++ b/arrow/array/struct.go @@ -43,6 +43,31 @@ func NewStructArray(cols []arrow.Array, names []string) (*Struct, error) { return NewStructArrayWithNulls(cols, names, nil, 0, 0) } +// NewStructArrayWithFields builds a new Struct Array using the passed columns +// and provided fields. As opposed to NewStructArray, this allows you to provide +// the full fields to utilize for the struct column instead of just the names. +func NewStructArrayWithFields(cols []arrow.Array, fields []arrow.Field) (*Struct, error) { + if len(cols) != len(fields) { + return nil, fmt.Errorf("%w: mismatching number of fields and child arrays", arrow.ErrInvalid) + } + if len(cols) == 0 { + return nil, fmt.Errorf("%w: can't infer struct array length with 0 child arrays", arrow.ErrInvalid) + } + + length := cols[0].Len() + children := make([]arrow.ArrayData, len(cols)) + for i, c := range cols { + if length != c.Len() { + return nil, fmt.Errorf("%w: mismatching child array lengths", arrow.ErrInvalid) + } + children[i] = c.Data() + } + + data := NewData(arrow.StructOf(fields...), length, []*memory.Buffer{nil}, children, 0, 0) + defer data.Release() + return NewStructData(data), nil +} + // NewStructArrayWithNulls is like NewStructArray as a convenience function, // but also takes in a null bitmap, the number of nulls, and an optional offset // to use for creating the Struct Array. diff --git a/arrow/compute/exprs/types.go b/arrow/compute/exprs/types.go index 02fc900a..0a42e6cd 100644 --- a/arrow/compute/exprs/types.go +++ b/arrow/compute/exprs/types.go @@ -39,6 +39,7 @@ const ( SubstraitArithmeticFuncsURI = SubstraitDefaultURIPrefix + "functions_arithmetic.yaml" // URI for official Substrait Comparison funcs extensions SubstraitComparisonFuncsURI = SubstraitDefaultURIPrefix + "functions_comparison.yaml" + SubstraitBooleanFuncsURI = SubstraitDefaultURIPrefix + "functions_boolean.yaml" TimestampTzTimezone = "UTC" ) @@ -93,7 +94,7 @@ func init() { } } - for _, fn := range []string{"equal", "not_equal", "lt", "lte", "gt", "gte"} { + for _, fn := range []string{"equal", "not_equal", "lt", "lte", "gt", "gte", "is_null", "is_not_null", "is_nan"} { err := DefaultExtensionIDRegistry.AddSubstraitScalarToArrow( extensions.ID{URI: SubstraitComparisonFuncsURI, Name: fn}, simpleMapSubstraitToArrowFunc) @@ -102,13 +103,30 @@ func init() { } } - for _, fn := range []string{"equal", "not_equal", "less", "less_equal", "greater", "greater_equal"} { + for _, fn := range []string{"equal", "not_equal", "less", "less_equal", "greater", "greater_equal", "is_null", "is_not_null", "is_nan"} { err := DefaultExtensionIDRegistry.AddArrowToSubstrait(fn, simpleMapArrowToSubstraitFunc(SubstraitComparisonFuncsURI)) if err != nil { panic(err) } } + + for _, fn := range []string{"and", "or"} { + err := DefaultExtensionIDRegistry.AddSubstraitScalarToArrow( + extensions.ID{URI: SubstraitBooleanFuncsURI, Name: fn}, + simpleMapSubstraitToArrowFunc) + if err != nil { + panic(err) + } + } + + for _, fn := range []string{"and_kleene", "or_kleene"} { + err := DefaultExtensionIDRegistry.AddArrowToSubstrait(fn, + simpleMapArrowToSubstraitFunc(SubstraitBooleanFuncsURI)) + if err != nil { + panic(err) + } + } } type overflowBehavior string @@ -168,6 +186,8 @@ var substraitToArrowFuncMap = map[string]string{ "gt": "greater", "lte": "less_equal", "gte": "greater_equal", + "or": "or_kleene", + "and": "and_kleene", } var arrowToSubstraitFuncMap = map[string]string{ @@ -175,6 +195,8 @@ var arrowToSubstraitFuncMap = map[string]string{ "greater": "gt", "less_equal": "lte", "greater_equal": "gte", + "and_kleene": "and", + "or_kleene": "or", } func simpleMapSubstraitToArrowFunc(sf *expr.ScalarFunction) (fname string, opts compute.FunctionOptions, err error) { @@ -553,9 +575,9 @@ func ToSubstraitType(dt arrow.DataType, nullable bool, ext ExtensionIDSet) (type return &types.Float32Type{Nullability: nullability}, nil case arrow.FLOAT64: return &types.Float64Type{Nullability: nullability}, nil - case arrow.STRING: + case arrow.STRING, arrow.LARGE_STRING: return &types.StringType{Nullability: nullability}, nil - case arrow.BINARY: + case arrow.BINARY, arrow.LARGE_BINARY: return &types.BinaryType{Nullability: nullability}, nil case arrow.DATE32: return &types.DateType{Nullability: nullability}, nil diff --git a/arrow/compute/internal/kernels/Makefile b/arrow/compute/internal/kernels/Makefile index ac00bd83..4e8ddd85 100644 --- a/arrow/compute/internal/kernels/Makefile +++ b/arrow/compute/internal/kernels/Makefile @@ -21,14 +21,15 @@ C2GOASM=c2goasm CC=clang-11 CXX=clang++-11 C_FLAGS=-target x86_64-unknown-none -masm=intel -mno-red-zone -mstackrealign -mllvm -inline-threshold=5000 \ - -fno-asynchronous-unwind-tables -fno-exceptions -fno-rtti -O3 -fno-builtin -ffast-math -fno-jump-tables -I_lib -I../../../../internal/utils/_lib + -fno-asynchronous-unwind-tables -fno-exceptions -fno-rtti -O3 -fno-builtin -fno-jump-tables \ + -fno-math-errno -funsafe-math-optimizations -fno-rounding-math -fno-trapping-math -I_lib -I../../../../internal/utils/_lib ASM_FLAGS_AVX2=-mavx2 -mfma ASM_FLAGS_SSE4=-msse4 ASM_FLAGS_BMI2=-mbmi2 ASM_FLAGS_POPCNT=-mpopcnt C_FLAGS_NEON=-O3 -fvectorize -mllvm -force-vector-width=16 -fno-asynchronous-unwind-tables -mno-red-zone -mstackrealign -fno-exceptions \ - -fno-rtti -fno-builtin -ffast-math -fno-jump-tables -I_lib -I../../../../internal/utils/_lib + -fno-rtti -fno-builtin -fno-math-errno -funsafe-math-optimizations -fno-rounding-math -fno-trapping-math -fno-jump-tables -I_lib -I../../../../internal/utils/_lib GO_SOURCES := $(shell find . -path ./_lib -prune -o -name '*.go' -not -name '*_test.go') ALL_SOURCES := $(shell find . -path ./_lib -prune -o -name '*.go' -name '*.s' -not -name '*_test.go') diff --git a/arrow/compute/internal/kernels/_lib/scalar_comparison_avx2_amd64.s b/arrow/compute/internal/kernels/_lib/scalar_comparison_avx2_amd64.s index b29d6694..593d4c45 100644 --- a/arrow/compute/internal/kernels/_lib/scalar_comparison_avx2_amd64.s +++ b/arrow/compute/internal/kernels/_lib/scalar_comparison_avx2_amd64.s @@ -15,9 +15,9 @@ comparison_equal_arr_arr_avx2: # @comparison_equal_arr_arr_avx2 push rbx and rsp, -8 sub rsp, 72 - # kill: def $r9d killed $r9d def $r9 - mov r11, r8 - mov r14, rcx + mov eax, r9d + mov r14, r8 + mov r12, rcx cmp edi, 6 jg .LBB0_29 # %bb.1: @@ -33,17 +33,17 @@ comparison_equal_arr_arr_avx2: # @comparison_equal_arr_arr_avx2 cmp edi, 6 jne .LBB0_123 # %bb.18: - lea r15, [r11 + 31] - test r11, r11 - cmovns r15, r11 - lea eax, [r9 + 7] - test r9d, r9d - cmovns eax, r9d - and eax, -8 - sub r9d, eax + lea r15, [r14 + 31] + test r14, r14 + cmovns r15, r14 + lea ecx, [rax + 7] + test eax, eax + cmovns ecx, eax + and ecx, -8 + sub eax, ecx je .LBB0_22 # %bb.19: - movsxd rax, r9d + cdqe .p2align 4, 0x90 .LBB0_20: # =>This Inner Loop Header: Depth=1 mov ecx, dword ptr [rsi] @@ -56,7 +56,7 @@ comparison_equal_arr_arr_avx2: # @comparison_equal_arr_arr_avx2 test rax, rax cmovns rdi, rax sar rdi, 3 - movzx r8d, byte ptr [r14 + rdi] + movzx r8d, byte ptr [r12 + rdi] xor r10b, r8b lea r9d, [8*rdi] mov ecx, eax @@ -66,50 +66,50 @@ comparison_equal_arr_arr_avx2: # @comparison_equal_arr_arr_avx2 shl ebx, cl and bl, r10b xor bl, r8b - mov byte ptr [r14 + rdi], bl + mov byte ptr [r12 + rdi], bl add rax, 1 cmp rax, 8 jne .LBB0_20 # %bb.21: - add r14, 1 + add r12, 1 .LBB0_22: sar r15, 5 - cmp r11, 32 + cmp r14, 32 jl .LBB0_26 # %bb.23: - mov qword ptr [rsp + 24], r11 # 8-byte Spill - mov qword ptr [rsp + 64], r15 # 8-byte Spill + mov qword ptr [rsp + 24], r14 # 8-byte Spill mov qword ptr [rsp + 56], r15 # 8-byte Spill + mov qword ptr [rsp + 32], r15 # 8-byte Spill .p2align 4, 0x90 .LBB0_24: # =>This Inner Loop Header: Depth=1 - mov qword ptr [rsp + 48], r14 # 8-byte Spill + mov qword ptr [rsp + 48], r12 # 8-byte Spill mov eax, dword ptr [rsi] mov ecx, dword ptr [rsi + 4] cmp eax, dword ptr [rdx] - sete byte ptr [rsp + 40] # 1-byte Folded Spill + sete byte ptr [rsp + 4] # 1-byte Folded Spill cmp ecx, dword ptr [rdx + 4] - sete byte ptr [rsp + 32] # 1-byte Folded Spill + sete byte ptr [rsp + 40] # 1-byte Folded Spill mov eax, dword ptr [rsi + 8] cmp eax, dword ptr [rdx + 8] - sete byte ptr [rsp + 20] # 1-byte Folded Spill + sete byte ptr [rsp + 21] # 1-byte Folded Spill mov eax, dword ptr [rsi + 12] cmp eax, dword ptr [rdx + 12] - sete byte ptr [rsp + 21] # 1-byte Folded Spill + sete byte ptr [rsp + 22] # 1-byte Folded Spill mov eax, dword ptr [rsi + 16] cmp eax, dword ptr [rdx + 16] - sete byte ptr [rsp + 22] # 1-byte Folded Spill + sete byte ptr [rsp + 23] # 1-byte Folded Spill mov eax, dword ptr [rsi + 20] cmp eax, dword ptr [rdx + 20] - sete byte ptr [rsp + 23] # 1-byte Folded Spill + sete byte ptr [rsp + 3] # 1-byte Folded Spill mov eax, dword ptr [rsi + 24] cmp eax, dword ptr [rdx + 24] - sete byte ptr [rsp + 4] # 1-byte Folded Spill + sete byte ptr [rsp + 5] # 1-byte Folded Spill mov eax, dword ptr [rsi + 28] cmp eax, dword ptr [rdx + 28] sete r13b mov eax, dword ptr [rsi + 32] cmp eax, dword ptr [rdx + 32] - sete byte ptr [rsp + 9] # 1-byte Folded Spill + sete byte ptr [rsp + 10] # 1-byte Folded Spill mov eax, dword ptr [rsi + 36] cmp eax, dword ptr [rdx + 36] sete r8b @@ -121,166 +121,166 @@ comparison_equal_arr_arr_avx2: # @comparison_equal_arr_arr_avx2 sete r15b mov eax, dword ptr [rsi + 48] cmp eax, dword ptr [rdx + 48] - sete byte ptr [rsp + 5] # 1-byte Folded Spill + sete byte ptr [rsp + 6] # 1-byte Folded Spill mov eax, dword ptr [rsi + 52] cmp eax, dword ptr [rdx + 52] - sete byte ptr [rsp + 6] # 1-byte Folded Spill + sete byte ptr [rsp + 7] # 1-byte Folded Spill mov eax, dword ptr [rsi + 56] cmp eax, dword ptr [rdx + 56] - sete byte ptr [rsp + 7] # 1-byte Folded Spill + sete byte ptr [rsp + 8] # 1-byte Folded Spill mov eax, dword ptr [rsi + 60] cmp eax, dword ptr [rdx + 60] - sete bl + sete dil mov eax, dword ptr [rsi + 64] - mov ecx, dword ptr [rsi + 68] + mov ebx, dword ptr [rsi + 68] cmp eax, dword ptr [rdx + 64] mov eax, dword ptr [rsi + 72] - sete byte ptr [rsp + 10] # 1-byte Folded Spill - cmp ecx, dword ptr [rdx + 68] - mov ecx, dword ptr [rsi + 76] + sete byte ptr [rsp + 11] # 1-byte Folded Spill + cmp ebx, dword ptr [rdx + 68] + mov ebx, dword ptr [rsi + 76] sete r10b cmp eax, dword ptr [rdx + 72] mov eax, dword ptr [rsi + 80] sete r14b - cmp ecx, dword ptr [rdx + 76] - mov ecx, dword ptr [rsi + 84] + cmp ebx, dword ptr [rdx + 76] + mov ebx, dword ptr [rsi + 84] sete r12b cmp eax, dword ptr [rdx + 80] - sete byte ptr [rsp + 8] # 1-byte Folded Spill - cmp ecx, dword ptr [rdx + 84] + sete byte ptr [rsp + 9] # 1-byte Folded Spill + cmp ebx, dword ptr [rdx + 84] mov eax, dword ptr [rsi + 88] - sete byte ptr [rsp + 11] # 1-byte Folded Spill + sete byte ptr [rsp + 12] # 1-byte Folded Spill cmp eax, dword ptr [rdx + 88] mov eax, dword ptr [rsi + 92] - sete byte ptr [rsp + 12] # 1-byte Folded Spill + sete byte ptr [rsp + 13] # 1-byte Folded Spill cmp eax, dword ptr [rdx + 92] mov eax, dword ptr [rsi + 96] sete r9b cmp eax, dword ptr [rdx + 96] mov eax, dword ptr [rsi + 100] - sete byte ptr [rsp + 19] # 1-byte Folded Spill + sete byte ptr [rsp + 20] # 1-byte Folded Spill cmp eax, dword ptr [rdx + 100] mov eax, dword ptr [rsi + 104] - sete byte ptr [rsp + 13] # 1-byte Folded Spill + sete byte ptr [rsp + 14] # 1-byte Folded Spill cmp eax, dword ptr [rdx + 104] mov eax, dword ptr [rsi + 108] - sete byte ptr [rsp + 14] # 1-byte Folded Spill + sete byte ptr [rsp + 15] # 1-byte Folded Spill cmp eax, dword ptr [rdx + 108] mov eax, dword ptr [rsi + 112] - sete byte ptr [rsp + 15] # 1-byte Folded Spill + sete byte ptr [rsp + 16] # 1-byte Folded Spill cmp eax, dword ptr [rdx + 112] mov eax, dword ptr [rsi + 116] - sete byte ptr [rsp + 16] # 1-byte Folded Spill + sete byte ptr [rsp + 17] # 1-byte Folded Spill cmp eax, dword ptr [rdx + 116] mov eax, dword ptr [rsi + 120] - sete byte ptr [rsp + 18] # 1-byte Folded Spill + sete byte ptr [rsp + 19] # 1-byte Folded Spill cmp eax, dword ptr [rdx + 120] mov eax, dword ptr [rsi + 124] - sete byte ptr [rsp + 17] # 1-byte Folded Spill + sete byte ptr [rsp + 18] # 1-byte Folded Spill sub rsi, -128 cmp eax, dword ptr [rdx + 124] - sete dil - movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload + sete cl + movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 40] # 1-byte Folded Reload - mov ecx, eax - movzx eax, byte ptr [rsp + 4] # 1-byte Folded Reload + add al, byte ptr [rsp + 4] # 1-byte Folded Reload + mov ebx, eax + movzx eax, byte ptr [rsp + 5] # 1-byte Folded Reload shl al, 6 shl r13b, 7 or r13b, al - movzx eax, byte ptr [rsp + 20] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 21] # 1-byte Folded Reload shl al, 2 - or al, cl + or al, bl add r8b, r8b - add r8b, byte ptr [rsp + 9] # 1-byte Folded Reload - movzx ecx, byte ptr [rsp + 21] # 1-byte Folded Reload - shl cl, 3 - or cl, al - mov eax, ecx + add r8b, byte ptr [rsp + 10] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 22] # 1-byte Folded Reload + shl bl, 3 + or bl, al + mov eax, ebx shl r11b, 2 or r11b, r8b - movzx ecx, byte ptr [rsp + 22] # 1-byte Folded Reload - shl cl, 4 - or cl, al - mov r8d, ecx + movzx ebx, byte ptr [rsp + 23] # 1-byte Folded Reload + shl bl, 4 + or bl, al + mov r8d, ebx shl r15b, 3 or r15b, r11b - movzx ecx, byte ptr [rsp + 23] # 1-byte Folded Reload - shl cl, 5 - or cl, r8b - movzx eax, byte ptr [rsp + 5] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 3] # 1-byte Folded Reload + shl bl, 5 + or bl, r8b + movzx eax, byte ptr [rsp + 6] # 1-byte Folded Reload shl al, 4 or al, r15b mov r8d, eax - movzx eax, byte ptr [rsp + 6] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 7] # 1-byte Folded Reload shl al, 5 or al, r8b - movzx r8d, byte ptr [rsp + 7] # 1-byte Folded Reload + movzx r8d, byte ptr [rsp + 8] # 1-byte Folded Reload shl r8b, 6 - shl bl, 7 - or bl, r8b - or r13b, cl - or bl, al + shl dil, 7 + or dil, r8b + or r13b, bl + or dil, al add r10b, r10b - add r10b, byte ptr [rsp + 10] # 1-byte Folded Reload + add r10b, byte ptr [rsp + 11] # 1-byte Folded Reload shl r14b, 2 or r14b, r10b shl r12b, 3 or r12b, r14b - movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 9] # 1-byte Folded Reload shl al, 4 or al, r12b - mov ecx, eax - mov r14, qword ptr [rsp + 48] # 8-byte Reload - movzx eax, byte ptr [rsp + 11] # 1-byte Folded Reload + mov ebx, eax + mov r12, qword ptr [rsp + 48] # 8-byte Reload + movzx eax, byte ptr [rsp + 12] # 1-byte Folded Reload shl al, 5 - or al, cl - mov byte ptr [r14], r13b - movzx ecx, byte ptr [rsp + 12] # 1-byte Folded Reload - shl cl, 6 + or al, bl + mov byte ptr [r12], r13b + movzx ebx, byte ptr [rsp + 13] # 1-byte Folded Reload + shl bl, 6 shl r9b, 7 - or r9b, cl - mov byte ptr [r14 + 1], bl + or r9b, bl + mov byte ptr [r12 + 1], dil or r9b, al - movzx eax, byte ptr [rsp + 13] # 1-byte Folded Reload - add al, al - add al, byte ptr [rsp + 19] # 1-byte Folded Reload - mov ecx, eax movzx eax, byte ptr [rsp + 14] # 1-byte Folded Reload - shl al, 2 - or al, cl - mov ecx, eax + add al, al + add al, byte ptr [rsp + 20] # 1-byte Folded Reload + mov ebx, eax movzx eax, byte ptr [rsp + 15] # 1-byte Folded Reload - shl al, 3 - or al, cl - mov ecx, eax + shl al, 2 + or al, bl + mov ebx, eax movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload + shl al, 3 + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 17] # 1-byte Folded Reload shl al, 4 - or al, cl - mov ecx, eax - movzx eax, byte ptr [rsp + 18] # 1-byte Folded Reload + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 19] # 1-byte Folded Reload shl al, 5 - or al, cl - movzx ecx, byte ptr [rsp + 17] # 1-byte Folded Reload - shl cl, 6 - shl dil, 7 - or dil, cl - or dil, al - mov byte ptr [r14 + 2], r9b - mov byte ptr [r14 + 3], dil + or al, bl + movzx ebx, byte ptr [rsp + 18] # 1-byte Folded Reload + shl bl, 6 + shl cl, 7 + or cl, bl + or cl, al + mov byte ptr [r12 + 2], r9b + mov byte ptr [r12 + 3], cl add rdx, 128 - add r14, 4 - add qword ptr [rsp + 56], -1 # 8-byte Folded Spill + add r12, 4 + add qword ptr [rsp + 32], -1 # 8-byte Folded Spill jne .LBB0_24 # %bb.25: - mov r11, qword ptr [rsp + 24] # 8-byte Reload - mov r15, qword ptr [rsp + 64] # 8-byte Reload + mov r14, qword ptr [rsp + 24] # 8-byte Reload + mov r15, qword ptr [rsp + 56] # 8-byte Reload .LBB0_26: shl r15, 5 - cmp r15, r11 + cmp r15, r14 jge .LBB0_123 # %bb.27: - sub r11, r15 + sub r14, r15 xor ecx, ecx .p2align 4, 0x90 .LBB0_28: # =>This Inner Loop Header: Depth=1 @@ -291,7 +291,7 @@ comparison_equal_arr_arr_avx2: # @comparison_equal_arr_arr_avx2 neg bl mov rdi, rcx shr rdi, 3 - movzx r9d, byte ptr [r14 + rdi] + movzx r9d, byte ptr [r12 + rdi] xor bl, r9b and cl, 7 mov al, 1 @@ -299,9 +299,9 @@ comparison_equal_arr_arr_avx2: # @comparison_equal_arr_arr_avx2 shl al, cl and al, bl xor al, r9b - mov byte ptr [r14 + rdi], al + mov byte ptr [r12 + rdi], al mov rcx, r8 - cmp r11, r8 + cmp r14, r8 jne .LBB0_28 jmp .LBB0_123 .LBB0_29: @@ -317,271 +317,366 @@ comparison_equal_arr_arr_avx2: # @comparison_equal_arr_arr_avx2 cmp edi, 12 jne .LBB0_123 # %bb.46: - lea r15, [r11 + 31] - test r11, r11 - cmovns r15, r11 - lea eax, [r9 + 7] - test r9d, r9d - cmovns eax, r9d - and eax, -8 - sub r9d, eax + lea r15, [r14 + 31] + test r14, r14 + cmovns r15, r14 + lea ecx, [rax + 7] + test eax, eax + cmovns ecx, eax + and ecx, -8 + sub eax, ecx je .LBB0_50 # %bb.47: - movsxd rax, r9d + movsxd r10, eax .p2align 4, 0x90 .LBB0_48: # =>This Inner Loop Header: Depth=1 vmovsd xmm0, qword ptr [rsi] # xmm0 = mem[0],zero add rsi, 8 vucomisd xmm0, qword ptr [rdx] lea rdx, [rdx + 8] - sete r10b - neg r10b - lea rdi, [rax + 7] - test rax, rax - cmovns rdi, rax + setnp cl + sete bl + and bl, cl + neg bl + lea rdi, [r10 + 7] + test r10, r10 + cmovns rdi, r10 sar rdi, 3 - movzx r8d, byte ptr [r14 + rdi] - xor r10b, r8b + movzx r8d, byte ptr [r12 + rdi] + xor bl, r8b lea r9d, [8*rdi] - mov ecx, eax + mov ecx, r10d sub ecx, r9d - mov ebx, 1 + mov eax, 1 # kill: def $cl killed $cl killed $ecx - shl ebx, cl - and bl, r10b - xor bl, r8b - mov byte ptr [r14 + rdi], bl - add rax, 1 - cmp rax, 8 + shl eax, cl + and al, bl + xor al, r8b + mov byte ptr [r12 + rdi], al + add r10, 1 + cmp r10, 8 jne .LBB0_48 # %bb.49: - add r14, 1 + add r12, 1 .LBB0_50: sar r15, 5 - cmp r11, 32 + cmp r14, 32 jl .LBB0_54 # %bb.51: - mov qword ptr [rsp + 24], r11 # 8-byte Spill - mov qword ptr [rsp + 32], r15 # 8-byte Spill - mov qword ptr [rsp + 40], r15 # 8-byte Spill + mov qword ptr [rsp + 24], r14 # 8-byte Spill + mov qword ptr [rsp + 64], r15 # 8-byte Spill + mov qword ptr [rsp + 56], r15 # 8-byte Spill .p2align 4, 0x90 .LBB0_52: # =>This Inner Loop Header: Depth=1 - mov qword ptr [rsp + 48], r14 # 8-byte Spill + mov qword ptr [rsp + 48], r12 # 8-byte Spill vmovsd xmm0, qword ptr [rsi] # xmm0 = mem[0],zero - vmovsd xmm1, qword ptr [rsi + 8] # xmm1 = mem[0],zero vucomisd xmm0, qword ptr [rdx] - sete byte ptr [rsp + 4] # 1-byte Folded Spill - vucomisd xmm1, qword ptr [rdx + 8] - sete al + vmovsd xmm0, qword ptr [rsi + 8] # xmm0 = mem[0],zero + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 21], cl # 1-byte Spill + vucomisd xmm0, qword ptr [rdx + 8] + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 13], cl # 1-byte Spill vmovsd xmm0, qword ptr [rsi + 16] # xmm0 = mem[0],zero vucomisd xmm0, qword ptr [rdx + 16] + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 20], cl # 1-byte Spill vmovsd xmm0, qword ptr [rsi + 24] # xmm0 = mem[0],zero - sete byte ptr [rsp + 5] # 1-byte Folded Spill vucomisd xmm0, qword ptr [rdx + 24] - sete byte ptr [rsp + 22] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 23], cl # 1-byte Spill vmovsd xmm0, qword ptr [rsi + 32] # xmm0 = mem[0],zero vucomisd xmm0, qword ptr [rdx + 32] + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 22], cl # 1-byte Spill vmovsd xmm0, qword ptr [rsi + 40] # xmm0 = mem[0],zero - sete byte ptr [rsp + 21] # 1-byte Folded Spill vucomisd xmm0, qword ptr [rdx + 40] - sete byte ptr [rsp + 23] # 1-byte Folded Spill + setnp al + sete dil + and dil, al vmovsd xmm0, qword ptr [rsi + 48] # xmm0 = mem[0],zero vucomisd xmm0, qword ptr [rdx + 48] - vmovsd xmm0, qword ptr [rsi + 56] # xmm0 = mem[0],zero + setnp al sete r13b + and r13b, al + vmovsd xmm0, qword ptr [rsi + 56] # xmm0 = mem[0],zero vucomisd xmm0, qword ptr [rdx + 56] - sete r15b + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 3], cl # 1-byte Spill vmovsd xmm0, qword ptr [rsi + 64] # xmm0 = mem[0],zero vucomisd xmm0, qword ptr [rdx + 64] + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 19], cl # 1-byte Spill vmovsd xmm0, qword ptr [rsi + 72] # xmm0 = mem[0],zero - sete byte ptr [rsp + 8] # 1-byte Folded Spill vucomisd xmm0, qword ptr [rdx + 72] - sete cl + setnp al + sete bl + and bl, al vmovsd xmm0, qword ptr [rsi + 80] # xmm0 = mem[0],zero vucomisd xmm0, qword ptr [rdx + 80] + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 18], cl # 1-byte Spill vmovsd xmm0, qword ptr [rsi + 88] # xmm0 = mem[0],zero - sete r9b vucomisd xmm0, qword ptr [rdx + 88] - sete r11b + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 17], cl # 1-byte Spill vmovsd xmm0, qword ptr [rsi + 96] # xmm0 = mem[0],zero vucomisd xmm0, qword ptr [rdx + 96] + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 16], cl # 1-byte Spill vmovsd xmm0, qword ptr [rsi + 104] # xmm0 = mem[0],zero - sete r10b vucomisd xmm0, qword ptr [rdx + 104] - sete byte ptr [rsp + 7] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 15], cl # 1-byte Spill vmovsd xmm0, qword ptr [rsi + 112] # xmm0 = mem[0],zero vucomisd xmm0, qword ptr [rdx + 112] + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 12], cl # 1-byte Spill vmovsd xmm0, qword ptr [rsi + 120] # xmm0 = mem[0],zero - sete byte ptr [rsp + 6] # 1-byte Folded Spill vucomisd xmm0, qword ptr [rdx + 120] - sete bl + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 11], cl # 1-byte Spill vmovsd xmm0, qword ptr [rsi + 128] # xmm0 = mem[0],zero vucomisd xmm0, qword ptr [rdx + 128] + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 14], cl # 1-byte Spill vmovsd xmm0, qword ptr [rsi + 136] # xmm0 = mem[0],zero - sete byte ptr [rsp + 14] # 1-byte Folded Spill vucomisd xmm0, qword ptr [rdx + 136] + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 10], cl # 1-byte Spill vmovsd xmm0, qword ptr [rsi + 144] # xmm0 = mem[0],zero - sete r14b vucomisd xmm0, qword ptr [rdx + 144] + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 9], cl # 1-byte Spill vmovsd xmm0, qword ptr [rsi + 152] # xmm0 = mem[0],zero - sete r12b vucomisd xmm0, qword ptr [rdx + 152] + setnp al + sete r14b + and r14b, al vmovsd xmm0, qword ptr [rsi + 160] # xmm0 = mem[0],zero - sete byte ptr [rsp + 9] # 1-byte Folded Spill vucomisd xmm0, qword ptr [rdx + 160] + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 8], cl # 1-byte Spill vmovsd xmm0, qword ptr [rsi + 168] # xmm0 = mem[0],zero - sete byte ptr [rsp + 10] # 1-byte Folded Spill vucomisd xmm0, qword ptr [rdx + 168] + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 7], cl # 1-byte Spill vmovsd xmm0, qword ptr [rsi + 176] # xmm0 = mem[0],zero - sete byte ptr [rsp + 11] # 1-byte Folded Spill vucomisd xmm0, qword ptr [rdx + 176] + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 5], cl # 1-byte Spill vmovsd xmm0, qword ptr [rsi + 184] # xmm0 = mem[0],zero - sete byte ptr [rsp + 12] # 1-byte Folded Spill vucomisd xmm0, qword ptr [rdx + 184] + setnp al + sete r15b + and r15b, al vmovsd xmm0, qword ptr [rsi + 192] # xmm0 = mem[0],zero - sete r8b vucomisd xmm0, qword ptr [rdx + 192] + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 6], cl # 1-byte Spill vmovsd xmm0, qword ptr [rsi + 200] # xmm0 = mem[0],zero - sete byte ptr [rsp + 20] # 1-byte Folded Spill vucomisd xmm0, qword ptr [rdx + 200] + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 32], cl # 1-byte Spill vmovsd xmm0, qword ptr [rsi + 208] # xmm0 = mem[0],zero - sete byte ptr [rsp + 13] # 1-byte Folded Spill vucomisd xmm0, qword ptr [rdx + 208] + setnp al + sete r11b + and r11b, al vmovsd xmm0, qword ptr [rsi + 216] # xmm0 = mem[0],zero - sete byte ptr [rsp + 15] # 1-byte Folded Spill vucomisd xmm0, qword ptr [rdx + 216] + setnp al + sete r10b + and r10b, al vmovsd xmm0, qword ptr [rsi + 224] # xmm0 = mem[0],zero - sete byte ptr [rsp + 16] # 1-byte Folded Spill vucomisd xmm0, qword ptr [rdx + 224] + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 4], cl # 1-byte Spill vmovsd xmm0, qword ptr [rsi + 232] # xmm0 = mem[0],zero - sete byte ptr [rsp + 17] # 1-byte Folded Spill vucomisd xmm0, qword ptr [rdx + 232] + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 40], cl # 1-byte Spill vmovsd xmm0, qword ptr [rsi + 240] # xmm0 = mem[0],zero - sete byte ptr [rsp + 19] # 1-byte Folded Spill vucomisd xmm0, qword ptr [rdx + 240] + setnp al + sete r9b + and r9b, al vmovsd xmm0, qword ptr [rsi + 248] # xmm0 = mem[0],zero - sete byte ptr [rsp + 18] # 1-byte Folded Spill add rsi, 256 vucomisd xmm0, qword ptr [rdx + 248] - sete dil + setnp al + sete r8b + and r8b, al + movzx eax, byte ptr [rsp + 13] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 4] # 1-byte Folded Reload + add al, byte ptr [rsp + 21] # 1-byte Folded Reload + shl dil, 5 shl r13b, 6 - shl r15b, 7 - or r15b, r13b - movzx r13d, byte ptr [rsp + 5] # 1-byte Folded Reload - shl r13b, 2 - or r13b, al - mov eax, r13d - add cl, cl - add cl, byte ptr [rsp + 8] # 1-byte Folded Reload + or r13b, dil + mov edi, r13d + movzx ecx, byte ptr [rsp + 20] # 1-byte Folded Reload + shl cl, 2 + or cl, al + mov eax, ebx + add al, bl + add al, byte ptr [rsp + 19] # 1-byte Folded Reload + mov r13d, eax + movzx eax, byte ptr [rsp + 3] # 1-byte Folded Reload + shl al, 7 + or al, dil + mov byte ptr [rsp + 3], al # 1-byte Spill + movzx eax, byte ptr [rsp + 18] # 1-byte Folded Reload + shl al, 2 + or al, r13b + mov edi, eax + movzx eax, byte ptr [rsp + 23] # 1-byte Folded Reload + shl al, 3 + or al, cl + movzx ebx, byte ptr [rsp + 17] # 1-byte Folded Reload + shl bl, 3 + or bl, dil movzx r13d, byte ptr [rsp + 22] # 1-byte Folded Reload - shl r13b, 3 + shl r13b, 4 or r13b, al - shl r9b, 2 - or r9b, cl - movzx ecx, byte ptr [rsp + 21] # 1-byte Folded Reload - shl cl, 4 - or cl, r13b - mov r13d, ecx - shl r11b, 3 - or r11b, r9b - movzx ecx, byte ptr [rsp + 23] # 1-byte Folded Reload - shl cl, 5 - or cl, r13b - shl r10b, 4 - or r10b, r11b - movzx eax, byte ptr [rsp + 7] # 1-byte Folded Reload - shl al, 5 - or al, r10b - movzx r9d, byte ptr [rsp + 6] # 1-byte Folded Reload - shl r9b, 6 - shl bl, 7 - or bl, r9b - or r15b, cl - or bl, al - add r14b, r14b - add r14b, byte ptr [rsp + 14] # 1-byte Folded Reload - shl r12b, 2 - or r12b, r14b - mov r14, qword ptr [rsp + 48] # 8-byte Reload - movzx eax, byte ptr [rsp + 9] # 1-byte Folded Reload - shl al, 3 - or al, r12b - mov ecx, eax - movzx eax, byte ptr [rsp + 10] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload shl al, 4 - or al, cl - mov ecx, eax + or al, bl + mov edi, eax + movzx ebx, byte ptr [rsp + 15] # 1-byte Folded Reload + shl bl, 5 + movzx eax, byte ptr [rsp + 12] # 1-byte Folded Reload + shl al, 6 + or al, bl + mov ebx, eax movzx eax, byte ptr [rsp + 11] # 1-byte Folded Reload - shl al, 5 - or al, cl - mov byte ptr [r14], r15b - movzx ecx, byte ptr [rsp + 12] # 1-byte Folded Reload + shl al, 7 + or al, bl + movzx ebx, byte ptr [rsp + 10] # 1-byte Folded Reload + add bl, bl + add bl, byte ptr [rsp + 14] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 9] # 1-byte Folded Reload + shl cl, 2 + or cl, bl + shl r14b, 3 + or r14b, cl + movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload + shl bl, 4 + or bl, r14b + mov r12, qword ptr [rsp + 48] # 8-byte Reload + movzx r14d, byte ptr [rsp + 3] # 1-byte Folded Reload + or r14b, r13b + movzx r13d, byte ptr [rsp + 7] # 1-byte Folded Reload + shl r13b, 5 + movzx ecx, byte ptr [rsp + 5] # 1-byte Folded Reload shl cl, 6 + or cl, r13b + or al, dil + shl r15b, 7 + or r15b, cl + or r15b, bl + movzx ecx, byte ptr [rsp + 32] # 1-byte Folded Reload + add cl, cl + add cl, byte ptr [rsp + 6] # 1-byte Folded Reload + shl r11b, 2 + or r11b, cl + shl r10b, 3 + or r10b, r11b + movzx ecx, byte ptr [rsp + 4] # 1-byte Folded Reload + shl cl, 4 + or cl, r10b + mov byte ptr [r12], r14b + movzx ebx, byte ptr [rsp + 40] # 1-byte Folded Reload + shl bl, 5 + shl r9b, 6 + or r9b, bl + mov byte ptr [r12 + 1], al shl r8b, 7 + or r8b, r9b or r8b, cl - mov byte ptr [r14 + 1], bl - or r8b, al - movzx eax, byte ptr [rsp + 13] # 1-byte Folded Reload - add al, al - add al, byte ptr [rsp + 20] # 1-byte Folded Reload - mov ecx, eax - movzx eax, byte ptr [rsp + 15] # 1-byte Folded Reload - shl al, 2 - or al, cl - mov ecx, eax - movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload - shl al, 3 - or al, cl - mov ecx, eax - movzx eax, byte ptr [rsp + 17] # 1-byte Folded Reload - shl al, 4 - or al, cl - movzx ecx, byte ptr [rsp + 19] # 1-byte Folded Reload - shl cl, 5 - or cl, al - movzx eax, byte ptr [rsp + 18] # 1-byte Folded Reload - shl al, 6 - shl dil, 7 - or dil, al - or dil, cl - mov byte ptr [r14 + 2], r8b - mov byte ptr [r14 + 3], dil + mov byte ptr [r12 + 2], r15b + mov byte ptr [r12 + 3], r8b add rdx, 256 - add r14, 4 - add qword ptr [rsp + 40], -1 # 8-byte Folded Spill + add r12, 4 + add qword ptr [rsp + 56], -1 # 8-byte Folded Spill jne .LBB0_52 # %bb.53: - mov r11, qword ptr [rsp + 24] # 8-byte Reload - mov r15, qword ptr [rsp + 32] # 8-byte Reload + mov r14, qword ptr [rsp + 24] # 8-byte Reload + mov r15, qword ptr [rsp + 64] # 8-byte Reload .LBB0_54: shl r15, 5 - cmp r15, r11 + cmp r15, r14 jge .LBB0_123 # %bb.55: - sub r11, r15 + sub r14, r15 xor ecx, ecx .p2align 4, 0x90 .LBB0_56: # =>This Inner Loop Header: Depth=1 + lea r9, [rcx + 1] vmovsd xmm0, qword ptr [rsi + 8*rcx] # xmm0 = mem[0],zero vucomisd xmm0, qword ptr [rdx + 8*rcx] - lea r8, [rcx + 1] - sete bl - neg bl + setnp bl + sete al + and al, bl + neg al mov rdi, rcx shr rdi, 3 - movzx r9d, byte ptr [r14 + rdi] - xor bl, r9b + movzx r8d, byte ptr [r12 + rdi] + xor al, r8b and cl, 7 - mov al, 1 + mov bl, 1 # kill: def $cl killed $cl killed $rcx - shl al, cl - and al, bl - xor al, r9b - mov byte ptr [r14 + rdi], al - mov rcx, r8 - cmp r11, r8 + shl bl, cl + and bl, al + xor bl, r8b + mov byte ptr [r12 + rdi], bl + mov rcx, r9 + cmp r14, r9 jne .LBB0_56 jmp .LBB0_123 .LBB0_2: @@ -591,17 +686,17 @@ comparison_equal_arr_arr_avx2: # @comparison_equal_arr_arr_avx2 cmp edi, 3 jne .LBB0_123 # %bb.4: - lea r15, [r11 + 31] - test r11, r11 - cmovns r15, r11 - lea eax, [r9 + 7] - test r9d, r9d - cmovns eax, r9d - and eax, -8 - sub r9d, eax + lea r15, [r14 + 31] + test r14, r14 + cmovns r15, r14 + lea ecx, [rax + 7] + test eax, eax + cmovns ecx, eax + and ecx, -8 + sub eax, ecx je .LBB0_8 # %bb.5: - movsxd rax, r9d + cdqe .p2align 4, 0x90 .LBB0_6: # =>This Inner Loop Header: Depth=1 movzx ecx, byte ptr [rsi] @@ -614,7 +709,7 @@ comparison_equal_arr_arr_avx2: # @comparison_equal_arr_arr_avx2 test rax, rax cmovns rdi, rax sar rdi, 3 - movzx r8d, byte ptr [r14 + rdi] + movzx r8d, byte ptr [r12 + rdi] xor r10b, r8b lea r9d, [8*rdi] mov ecx, eax @@ -624,50 +719,50 @@ comparison_equal_arr_arr_avx2: # @comparison_equal_arr_arr_avx2 shl ebx, cl and bl, r10b xor bl, r8b - mov byte ptr [r14 + rdi], bl + mov byte ptr [r12 + rdi], bl add rax, 1 cmp rax, 8 jne .LBB0_6 # %bb.7: - add r14, 1 + add r12, 1 .LBB0_8: sar r15, 5 - cmp r11, 32 + cmp r14, 32 jl .LBB0_12 # %bb.9: - mov qword ptr [rsp + 24], r11 # 8-byte Spill - mov qword ptr [rsp + 56], r15 # 8-byte Spill + mov qword ptr [rsp + 24], r14 # 8-byte Spill mov qword ptr [rsp + 32], r15 # 8-byte Spill + mov qword ptr [rsp + 40], r15 # 8-byte Spill .p2align 4, 0x90 .LBB0_10: # =>This Inner Loop Header: Depth=1 - mov qword ptr [rsp + 48], r14 # 8-byte Spill + mov qword ptr [rsp + 48], r12 # 8-byte Spill movzx eax, byte ptr [rsi] movzx ecx, byte ptr [rsi + 1] cmp al, byte ptr [rdx] - sete byte ptr [rsp + 40] # 1-byte Folded Spill + sete byte ptr [rsp + 4] # 1-byte Folded Spill cmp cl, byte ptr [rdx + 1] - sete cl + sete bl movzx eax, byte ptr [rsi + 2] cmp al, byte ptr [rdx + 2] - sete byte ptr [rsp + 20] # 1-byte Folded Spill + sete byte ptr [rsp + 21] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 3] cmp al, byte ptr [rdx + 3] - sete byte ptr [rsp + 21] # 1-byte Folded Spill + sete byte ptr [rsp + 22] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 4] cmp al, byte ptr [rdx + 4] - sete byte ptr [rsp + 22] # 1-byte Folded Spill + sete byte ptr [rsp + 23] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 5] cmp al, byte ptr [rdx + 5] - sete byte ptr [rsp + 23] # 1-byte Folded Spill + sete byte ptr [rsp + 3] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 6] cmp al, byte ptr [rdx + 6] - sete byte ptr [rsp + 4] # 1-byte Folded Spill + sete byte ptr [rsp + 5] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 7] cmp al, byte ptr [rdx + 7] sete r15b movzx eax, byte ptr [rsi + 8] cmp al, byte ptr [rdx + 8] - sete byte ptr [rsp + 7] # 1-byte Folded Spill + sete byte ptr [rsp + 8] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 9] cmp al, byte ptr [rdx + 9] sete dil @@ -682,16 +777,16 @@ comparison_equal_arr_arr_avx2: # @comparison_equal_arr_arr_avx2 sete r14b movzx eax, byte ptr [rsi + 13] cmp al, byte ptr [rdx + 13] - sete byte ptr [rsp + 5] # 1-byte Folded Spill + sete byte ptr [rsp + 6] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 14] cmp al, byte ptr [rdx + 14] - sete byte ptr [rsp + 6] # 1-byte Folded Spill + sete byte ptr [rsp + 7] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 15] cmp al, byte ptr [rdx + 15] - sete bl + sete r8b movzx eax, byte ptr [rsi + 16] cmp al, byte ptr [rdx + 16] - sete byte ptr [rsp + 13] # 1-byte Folded Spill + sete byte ptr [rsp + 14] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 17] cmp al, byte ptr [rdx + 17] sete r12b @@ -700,145 +795,145 @@ comparison_equal_arr_arr_avx2: # @comparison_equal_arr_arr_avx2 sete r13b movzx eax, byte ptr [rsi + 19] cmp al, byte ptr [rdx + 19] - sete byte ptr [rsp + 8] # 1-byte Folded Spill + sete byte ptr [rsp + 9] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 20] cmp al, byte ptr [rdx + 20] - sete byte ptr [rsp + 9] # 1-byte Folded Spill + sete byte ptr [rsp + 10] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 21] cmp al, byte ptr [rdx + 21] - sete byte ptr [rsp + 10] # 1-byte Folded Spill + sete byte ptr [rsp + 11] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 22] cmp al, byte ptr [rdx + 22] - sete byte ptr [rsp + 11] # 1-byte Folded Spill + sete byte ptr [rsp + 12] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 23] cmp al, byte ptr [rdx + 23] sete r9b movzx eax, byte ptr [rsi + 24] cmp al, byte ptr [rdx + 24] - sete byte ptr [rsp + 19] # 1-byte Folded Spill + sete byte ptr [rsp + 20] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 25] cmp al, byte ptr [rdx + 25] - sete byte ptr [rsp + 12] # 1-byte Folded Spill + sete byte ptr [rsp + 13] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 26] cmp al, byte ptr [rdx + 26] - sete byte ptr [rsp + 14] # 1-byte Folded Spill + sete byte ptr [rsp + 15] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 27] cmp al, byte ptr [rdx + 27] - sete byte ptr [rsp + 15] # 1-byte Folded Spill + sete byte ptr [rsp + 16] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 28] cmp al, byte ptr [rdx + 28] - sete byte ptr [rsp + 16] # 1-byte Folded Spill + sete byte ptr [rsp + 17] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 29] cmp al, byte ptr [rdx + 29] - sete byte ptr [rsp + 17] # 1-byte Folded Spill + sete byte ptr [rsp + 18] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 30] cmp al, byte ptr [rdx + 30] - sete byte ptr [rsp + 18] # 1-byte Folded Spill + sete byte ptr [rsp + 19] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 31] add rsi, 32 cmp al, byte ptr [rdx + 31] - sete r8b - add cl, cl - add cl, byte ptr [rsp + 40] # 1-byte Folded Reload - mov eax, ecx - movzx ecx, byte ptr [rsp + 4] # 1-byte Folded Reload - shl cl, 6 + sete cl + add bl, bl + add bl, byte ptr [rsp + 4] # 1-byte Folded Reload + mov eax, ebx + movzx ebx, byte ptr [rsp + 5] # 1-byte Folded Reload + shl bl, 6 shl r15b, 7 - or r15b, cl - movzx ecx, byte ptr [rsp + 20] # 1-byte Folded Reload - shl cl, 2 - or cl, al - mov eax, ecx + or r15b, bl + movzx ebx, byte ptr [rsp + 21] # 1-byte Folded Reload + shl bl, 2 + or bl, al + mov eax, ebx add dil, dil - add dil, byte ptr [rsp + 7] # 1-byte Folded Reload - movzx ecx, byte ptr [rsp + 21] # 1-byte Folded Reload - shl cl, 3 - or cl, al - mov eax, ecx + add dil, byte ptr [rsp + 8] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 22] # 1-byte Folded Reload + shl bl, 3 + or bl, al + mov eax, ebx shl r10b, 2 or r10b, dil - movzx ecx, byte ptr [rsp + 22] # 1-byte Folded Reload - shl cl, 4 - or cl, al - mov edi, ecx + movzx ebx, byte ptr [rsp + 23] # 1-byte Folded Reload + shl bl, 4 + or bl, al + mov edi, ebx shl r11b, 3 or r11b, r10b - movzx ecx, byte ptr [rsp + 23] # 1-byte Folded Reload - shl cl, 5 - or cl, dil + movzx ebx, byte ptr [rsp + 3] # 1-byte Folded Reload + shl bl, 5 + or bl, dil shl r14b, 4 or r14b, r11b - movzx eax, byte ptr [rsp + 5] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 6] # 1-byte Folded Reload shl al, 5 or al, r14b - movzx edi, byte ptr [rsp + 6] # 1-byte Folded Reload + movzx edi, byte ptr [rsp + 7] # 1-byte Folded Reload shl dil, 6 - shl bl, 7 - or bl, dil - or r15b, cl - or bl, al + shl r8b, 7 + or r8b, dil + or r15b, bl + or r8b, al add r12b, r12b - add r12b, byte ptr [rsp + 13] # 1-byte Folded Reload + add r12b, byte ptr [rsp + 14] # 1-byte Folded Reload shl r13b, 2 or r13b, r12b - mov r14, qword ptr [rsp + 48] # 8-byte Reload - movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + mov r12, qword ptr [rsp + 48] # 8-byte Reload + movzx eax, byte ptr [rsp + 9] # 1-byte Folded Reload shl al, 3 or al, r13b - mov ecx, eax - movzx eax, byte ptr [rsp + 9] # 1-byte Folded Reload - shl al, 4 - or al, cl - mov ecx, eax + mov ebx, eax movzx eax, byte ptr [rsp + 10] # 1-byte Folded Reload + shl al, 4 + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 11] # 1-byte Folded Reload shl al, 5 - or al, cl - mov byte ptr [r14], r15b - movzx ecx, byte ptr [rsp + 11] # 1-byte Folded Reload - shl cl, 6 + or al, bl + mov byte ptr [r12], r15b + movzx ebx, byte ptr [rsp + 12] # 1-byte Folded Reload + shl bl, 6 shl r9b, 7 - or r9b, cl - mov byte ptr [r14 + 1], bl + or r9b, bl + mov byte ptr [r12 + 1], r8b or r9b, al - movzx eax, byte ptr [rsp + 12] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 13] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 19] # 1-byte Folded Reload - mov ecx, eax - movzx eax, byte ptr [rsp + 14] # 1-byte Folded Reload - shl al, 2 - or al, cl - mov ecx, eax + add al, byte ptr [rsp + 20] # 1-byte Folded Reload + mov ebx, eax movzx eax, byte ptr [rsp + 15] # 1-byte Folded Reload - shl al, 3 - or al, cl - mov ecx, eax + shl al, 2 + or al, bl + mov ebx, eax movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload - shl al, 4 - or al, cl - mov ecx, eax + shl al, 3 + or al, bl + mov ebx, eax movzx eax, byte ptr [rsp + 17] # 1-byte Folded Reload + shl al, 4 + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 18] # 1-byte Folded Reload shl al, 5 - or al, cl - movzx ecx, byte ptr [rsp + 18] # 1-byte Folded Reload - shl cl, 6 - shl r8b, 7 - or r8b, cl - or r8b, al - mov byte ptr [r14 + 2], r9b - mov byte ptr [r14 + 3], r8b + or al, bl + movzx ebx, byte ptr [rsp + 19] # 1-byte Folded Reload + shl bl, 6 + shl cl, 7 + or cl, bl + or cl, al + mov byte ptr [r12 + 2], r9b + mov byte ptr [r12 + 3], cl add rdx, 32 - add r14, 4 - add qword ptr [rsp + 32], -1 # 8-byte Folded Spill + add r12, 4 + add qword ptr [rsp + 40], -1 # 8-byte Folded Spill jne .LBB0_10 # %bb.11: - mov r11, qword ptr [rsp + 24] # 8-byte Reload - mov r15, qword ptr [rsp + 56] # 8-byte Reload + mov r14, qword ptr [rsp + 24] # 8-byte Reload + mov r15, qword ptr [rsp + 32] # 8-byte Reload .LBB0_12: shl r15, 5 - cmp r15, r11 + cmp r15, r14 jge .LBB0_123 # %bb.13: - sub r11, r15 + sub r14, r15 xor ecx, ecx .p2align 4, 0x90 .LBB0_14: # =>This Inner Loop Header: Depth=1 @@ -849,7 +944,7 @@ comparison_equal_arr_arr_avx2: # @comparison_equal_arr_arr_avx2 neg bl mov rdi, rcx shr rdi, 3 - movzx r9d, byte ptr [r14 + rdi] + movzx r9d, byte ptr [r12 + rdi] xor bl, r9b and cl, 7 mov al, 1 @@ -857,9 +952,9 @@ comparison_equal_arr_arr_avx2: # @comparison_equal_arr_arr_avx2 shl al, cl and al, bl xor al, r9b - mov byte ptr [r14 + rdi], al + mov byte ptr [r12 + rdi], al mov rcx, r8 - cmp r11, r8 + cmp r14, r8 jne .LBB0_14 jmp .LBB0_123 .LBB0_30: @@ -869,17 +964,17 @@ comparison_equal_arr_arr_avx2: # @comparison_equal_arr_arr_avx2 cmp edi, 8 jne .LBB0_123 # %bb.32: - lea r15, [r11 + 31] - test r11, r11 - cmovns r15, r11 - lea eax, [r9 + 7] - test r9d, r9d - cmovns eax, r9d - and eax, -8 - sub r9d, eax + lea r15, [r14 + 31] + test r14, r14 + cmovns r15, r14 + lea ecx, [rax + 7] + test eax, eax + cmovns ecx, eax + and ecx, -8 + sub eax, ecx je .LBB0_36 # %bb.33: - movsxd rax, r9d + cdqe .p2align 4, 0x90 .LBB0_34: # =>This Inner Loop Header: Depth=1 mov rcx, qword ptr [rsi] @@ -892,7 +987,7 @@ comparison_equal_arr_arr_avx2: # @comparison_equal_arr_arr_avx2 test rax, rax cmovns rdi, rax sar rdi, 3 - movzx r8d, byte ptr [r14 + rdi] + movzx r8d, byte ptr [r12 + rdi] xor r10b, r8b lea r9d, [8*rdi] mov ecx, eax @@ -902,50 +997,50 @@ comparison_equal_arr_arr_avx2: # @comparison_equal_arr_arr_avx2 shl ebx, cl and bl, r10b xor bl, r8b - mov byte ptr [r14 + rdi], bl + mov byte ptr [r12 + rdi], bl add rax, 1 cmp rax, 8 jne .LBB0_34 # %bb.35: - add r14, 1 + add r12, 1 .LBB0_36: sar r15, 5 - cmp r11, 32 + cmp r14, 32 jl .LBB0_40 # %bb.37: - mov qword ptr [rsp + 24], r11 # 8-byte Spill - mov qword ptr [rsp + 64], r15 # 8-byte Spill + mov qword ptr [rsp + 24], r14 # 8-byte Spill mov qword ptr [rsp + 56], r15 # 8-byte Spill + mov qword ptr [rsp + 32], r15 # 8-byte Spill .p2align 4, 0x90 .LBB0_38: # =>This Inner Loop Header: Depth=1 - mov qword ptr [rsp + 48], r14 # 8-byte Spill + mov qword ptr [rsp + 48], r12 # 8-byte Spill mov rax, qword ptr [rsi] mov rcx, qword ptr [rsi + 8] cmp rax, qword ptr [rdx] - sete byte ptr [rsp + 40] # 1-byte Folded Spill + sete byte ptr [rsp + 4] # 1-byte Folded Spill cmp rcx, qword ptr [rdx + 8] - sete byte ptr [rsp + 32] # 1-byte Folded Spill + sete byte ptr [rsp + 40] # 1-byte Folded Spill mov rax, qword ptr [rsi + 16] cmp rax, qword ptr [rdx + 16] - sete byte ptr [rsp + 20] # 1-byte Folded Spill + sete byte ptr [rsp + 21] # 1-byte Folded Spill mov rax, qword ptr [rsi + 24] cmp rax, qword ptr [rdx + 24] - sete byte ptr [rsp + 21] # 1-byte Folded Spill + sete byte ptr [rsp + 22] # 1-byte Folded Spill mov rax, qword ptr [rsi + 32] cmp rax, qword ptr [rdx + 32] - sete byte ptr [rsp + 22] # 1-byte Folded Spill + sete byte ptr [rsp + 23] # 1-byte Folded Spill mov rax, qword ptr [rsi + 40] cmp rax, qword ptr [rdx + 40] - sete byte ptr [rsp + 23] # 1-byte Folded Spill + sete byte ptr [rsp + 3] # 1-byte Folded Spill mov rax, qword ptr [rsi + 48] cmp rax, qword ptr [rdx + 48] - sete byte ptr [rsp + 4] # 1-byte Folded Spill + sete byte ptr [rsp + 5] # 1-byte Folded Spill mov rax, qword ptr [rsi + 56] cmp rax, qword ptr [rdx + 56] sete r13b mov rax, qword ptr [rsi + 64] cmp rax, qword ptr [rdx + 64] - sete byte ptr [rsp + 9] # 1-byte Folded Spill + sete byte ptr [rsp + 10] # 1-byte Folded Spill mov rax, qword ptr [rsi + 72] cmp rax, qword ptr [rdx + 72] sete r8b @@ -957,166 +1052,166 @@ comparison_equal_arr_arr_avx2: # @comparison_equal_arr_arr_avx2 sete r15b mov rax, qword ptr [rsi + 96] cmp rax, qword ptr [rdx + 96] - sete byte ptr [rsp + 5] # 1-byte Folded Spill + sete byte ptr [rsp + 6] # 1-byte Folded Spill mov rax, qword ptr [rsi + 104] cmp rax, qword ptr [rdx + 104] - sete byte ptr [rsp + 6] # 1-byte Folded Spill + sete byte ptr [rsp + 7] # 1-byte Folded Spill mov rax, qword ptr [rsi + 112] cmp rax, qword ptr [rdx + 112] - sete byte ptr [rsp + 7] # 1-byte Folded Spill + sete byte ptr [rsp + 8] # 1-byte Folded Spill mov rax, qword ptr [rsi + 120] cmp rax, qword ptr [rdx + 120] - sete bl + sete dil mov rax, qword ptr [rsi + 128] - mov rcx, qword ptr [rsi + 136] + mov rbx, qword ptr [rsi + 136] cmp rax, qword ptr [rdx + 128] mov rax, qword ptr [rsi + 144] - sete byte ptr [rsp + 10] # 1-byte Folded Spill - cmp rcx, qword ptr [rdx + 136] - mov rcx, qword ptr [rsi + 152] + sete byte ptr [rsp + 11] # 1-byte Folded Spill + cmp rbx, qword ptr [rdx + 136] + mov rbx, qword ptr [rsi + 152] sete r10b cmp rax, qword ptr [rdx + 144] mov rax, qword ptr [rsi + 160] sete r14b - cmp rcx, qword ptr [rdx + 152] - mov rcx, qword ptr [rsi + 168] + cmp rbx, qword ptr [rdx + 152] + mov rbx, qword ptr [rsi + 168] sete r12b cmp rax, qword ptr [rdx + 160] - sete byte ptr [rsp + 8] # 1-byte Folded Spill - cmp rcx, qword ptr [rdx + 168] + sete byte ptr [rsp + 9] # 1-byte Folded Spill + cmp rbx, qword ptr [rdx + 168] mov rax, qword ptr [rsi + 176] - sete byte ptr [rsp + 11] # 1-byte Folded Spill + sete byte ptr [rsp + 12] # 1-byte Folded Spill cmp rax, qword ptr [rdx + 176] mov rax, qword ptr [rsi + 184] - sete byte ptr [rsp + 12] # 1-byte Folded Spill + sete byte ptr [rsp + 13] # 1-byte Folded Spill cmp rax, qword ptr [rdx + 184] mov rax, qword ptr [rsi + 192] sete r9b cmp rax, qword ptr [rdx + 192] mov rax, qword ptr [rsi + 200] - sete byte ptr [rsp + 19] # 1-byte Folded Spill + sete byte ptr [rsp + 20] # 1-byte Folded Spill cmp rax, qword ptr [rdx + 200] mov rax, qword ptr [rsi + 208] - sete byte ptr [rsp + 13] # 1-byte Folded Spill + sete byte ptr [rsp + 14] # 1-byte Folded Spill cmp rax, qword ptr [rdx + 208] mov rax, qword ptr [rsi + 216] - sete byte ptr [rsp + 14] # 1-byte Folded Spill + sete byte ptr [rsp + 15] # 1-byte Folded Spill cmp rax, qword ptr [rdx + 216] mov rax, qword ptr [rsi + 224] - sete byte ptr [rsp + 15] # 1-byte Folded Spill + sete byte ptr [rsp + 16] # 1-byte Folded Spill cmp rax, qword ptr [rdx + 224] mov rax, qword ptr [rsi + 232] - sete byte ptr [rsp + 16] # 1-byte Folded Spill + sete byte ptr [rsp + 17] # 1-byte Folded Spill cmp rax, qword ptr [rdx + 232] mov rax, qword ptr [rsi + 240] - sete byte ptr [rsp + 18] # 1-byte Folded Spill + sete byte ptr [rsp + 19] # 1-byte Folded Spill cmp rax, qword ptr [rdx + 240] mov rax, qword ptr [rsi + 248] - sete byte ptr [rsp + 17] # 1-byte Folded Spill + sete byte ptr [rsp + 18] # 1-byte Folded Spill add rsi, 256 cmp rax, qword ptr [rdx + 248] - sete dil - movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload + sete cl + movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 40] # 1-byte Folded Reload - mov ecx, eax - movzx eax, byte ptr [rsp + 4] # 1-byte Folded Reload + add al, byte ptr [rsp + 4] # 1-byte Folded Reload + mov ebx, eax + movzx eax, byte ptr [rsp + 5] # 1-byte Folded Reload shl al, 6 shl r13b, 7 or r13b, al - movzx eax, byte ptr [rsp + 20] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 21] # 1-byte Folded Reload shl al, 2 - or al, cl + or al, bl add r8b, r8b - add r8b, byte ptr [rsp + 9] # 1-byte Folded Reload - movzx ecx, byte ptr [rsp + 21] # 1-byte Folded Reload - shl cl, 3 - or cl, al - mov eax, ecx + add r8b, byte ptr [rsp + 10] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 22] # 1-byte Folded Reload + shl bl, 3 + or bl, al + mov eax, ebx shl r11b, 2 or r11b, r8b - movzx ecx, byte ptr [rsp + 22] # 1-byte Folded Reload - shl cl, 4 - or cl, al - mov r8d, ecx + movzx ebx, byte ptr [rsp + 23] # 1-byte Folded Reload + shl bl, 4 + or bl, al + mov r8d, ebx shl r15b, 3 or r15b, r11b - movzx ecx, byte ptr [rsp + 23] # 1-byte Folded Reload - shl cl, 5 - or cl, r8b - movzx eax, byte ptr [rsp + 5] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 3] # 1-byte Folded Reload + shl bl, 5 + or bl, r8b + movzx eax, byte ptr [rsp + 6] # 1-byte Folded Reload shl al, 4 or al, r15b mov r8d, eax - movzx eax, byte ptr [rsp + 6] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 7] # 1-byte Folded Reload shl al, 5 or al, r8b - movzx r8d, byte ptr [rsp + 7] # 1-byte Folded Reload + movzx r8d, byte ptr [rsp + 8] # 1-byte Folded Reload shl r8b, 6 - shl bl, 7 - or bl, r8b - or r13b, cl - or bl, al + shl dil, 7 + or dil, r8b + or r13b, bl + or dil, al add r10b, r10b - add r10b, byte ptr [rsp + 10] # 1-byte Folded Reload + add r10b, byte ptr [rsp + 11] # 1-byte Folded Reload shl r14b, 2 or r14b, r10b shl r12b, 3 or r12b, r14b - movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 9] # 1-byte Folded Reload shl al, 4 or al, r12b - mov ecx, eax - mov r14, qword ptr [rsp + 48] # 8-byte Reload - movzx eax, byte ptr [rsp + 11] # 1-byte Folded Reload + mov ebx, eax + mov r12, qword ptr [rsp + 48] # 8-byte Reload + movzx eax, byte ptr [rsp + 12] # 1-byte Folded Reload shl al, 5 - or al, cl - mov byte ptr [r14], r13b - movzx ecx, byte ptr [rsp + 12] # 1-byte Folded Reload - shl cl, 6 + or al, bl + mov byte ptr [r12], r13b + movzx ebx, byte ptr [rsp + 13] # 1-byte Folded Reload + shl bl, 6 shl r9b, 7 - or r9b, cl - mov byte ptr [r14 + 1], bl + or r9b, bl + mov byte ptr [r12 + 1], dil or r9b, al - movzx eax, byte ptr [rsp + 13] # 1-byte Folded Reload - add al, al - add al, byte ptr [rsp + 19] # 1-byte Folded Reload - mov ecx, eax movzx eax, byte ptr [rsp + 14] # 1-byte Folded Reload - shl al, 2 - or al, cl - mov ecx, eax + add al, al + add al, byte ptr [rsp + 20] # 1-byte Folded Reload + mov ebx, eax movzx eax, byte ptr [rsp + 15] # 1-byte Folded Reload - shl al, 3 - or al, cl - mov ecx, eax + shl al, 2 + or al, bl + mov ebx, eax movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload + shl al, 3 + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 17] # 1-byte Folded Reload shl al, 4 - or al, cl - mov ecx, eax - movzx eax, byte ptr [rsp + 18] # 1-byte Folded Reload + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 19] # 1-byte Folded Reload shl al, 5 - or al, cl - movzx ecx, byte ptr [rsp + 17] # 1-byte Folded Reload - shl cl, 6 - shl dil, 7 - or dil, cl - or dil, al - mov byte ptr [r14 + 2], r9b - mov byte ptr [r14 + 3], dil + or al, bl + movzx ebx, byte ptr [rsp + 18] # 1-byte Folded Reload + shl bl, 6 + shl cl, 7 + or cl, bl + or cl, al + mov byte ptr [r12 + 2], r9b + mov byte ptr [r12 + 3], cl add rdx, 256 - add r14, 4 - add qword ptr [rsp + 56], -1 # 8-byte Folded Spill + add r12, 4 + add qword ptr [rsp + 32], -1 # 8-byte Folded Spill jne .LBB0_38 # %bb.39: - mov r11, qword ptr [rsp + 24] # 8-byte Reload - mov r15, qword ptr [rsp + 64] # 8-byte Reload + mov r14, qword ptr [rsp + 24] # 8-byte Reload + mov r15, qword ptr [rsp + 56] # 8-byte Reload .LBB0_40: shl r15, 5 - cmp r15, r11 + cmp r15, r14 jge .LBB0_123 # %bb.41: - sub r11, r15 + sub r14, r15 xor ecx, ecx .p2align 4, 0x90 .LBB0_42: # =>This Inner Loop Header: Depth=1 @@ -1127,7 +1222,7 @@ comparison_equal_arr_arr_avx2: # @comparison_equal_arr_arr_avx2 neg bl mov rdi, rcx shr rdi, 3 - movzx r9d, byte ptr [r14 + rdi] + movzx r9d, byte ptr [r12 + rdi] xor bl, r9b and cl, 7 mov al, 1 @@ -1135,23 +1230,23 @@ comparison_equal_arr_arr_avx2: # @comparison_equal_arr_arr_avx2 shl al, cl and al, bl xor al, r9b - mov byte ptr [r14 + rdi], al + mov byte ptr [r12 + rdi], al mov rcx, r8 - cmp r11, r8 + cmp r14, r8 jne .LBB0_42 jmp .LBB0_123 .LBB0_68: - lea r15, [r11 + 31] - test r11, r11 - cmovns r15, r11 - lea eax, [r9 + 7] - test r9d, r9d - cmovns eax, r9d - and eax, -8 - sub r9d, eax + lea r15, [r14 + 31] + test r14, r14 + cmovns r15, r14 + lea ecx, [rax + 7] + test eax, eax + cmovns ecx, eax + and ecx, -8 + sub eax, ecx je .LBB0_72 # %bb.69: - movsxd rax, r9d + cdqe .p2align 4, 0x90 .LBB0_70: # =>This Inner Loop Header: Depth=1 movzx ecx, word ptr [rsi] @@ -1164,7 +1259,7 @@ comparison_equal_arr_arr_avx2: # @comparison_equal_arr_arr_avx2 test rax, rax cmovns rdi, rax sar rdi, 3 - movzx r8d, byte ptr [r14 + rdi] + movzx r8d, byte ptr [r12 + rdi] xor r10b, r8b lea r9d, [8*rdi] mov ecx, eax @@ -1174,50 +1269,50 @@ comparison_equal_arr_arr_avx2: # @comparison_equal_arr_arr_avx2 shl ebx, cl and bl, r10b xor bl, r8b - mov byte ptr [r14 + rdi], bl + mov byte ptr [r12 + rdi], bl add rax, 1 cmp rax, 8 jne .LBB0_70 # %bb.71: - add r14, 1 + add r12, 1 .LBB0_72: sar r15, 5 - cmp r11, 32 + cmp r14, 32 jl .LBB0_76 # %bb.73: - mov qword ptr [rsp + 24], r11 # 8-byte Spill - mov qword ptr [rsp + 64], r15 # 8-byte Spill + mov qword ptr [rsp + 24], r14 # 8-byte Spill mov qword ptr [rsp + 56], r15 # 8-byte Spill + mov qword ptr [rsp + 32], r15 # 8-byte Spill .p2align 4, 0x90 .LBB0_74: # =>This Inner Loop Header: Depth=1 - mov qword ptr [rsp + 48], r14 # 8-byte Spill + mov qword ptr [rsp + 48], r12 # 8-byte Spill movzx eax, word ptr [rsi] movzx ecx, word ptr [rsi + 2] cmp ax, word ptr [rdx] - sete byte ptr [rsp + 40] # 1-byte Folded Spill + sete byte ptr [rsp + 4] # 1-byte Folded Spill cmp cx, word ptr [rdx + 2] - sete byte ptr [rsp + 32] # 1-byte Folded Spill + sete byte ptr [rsp + 40] # 1-byte Folded Spill movzx eax, word ptr [rsi + 4] cmp ax, word ptr [rdx + 4] - sete byte ptr [rsp + 20] # 1-byte Folded Spill + sete byte ptr [rsp + 21] # 1-byte Folded Spill movzx eax, word ptr [rsi + 6] cmp ax, word ptr [rdx + 6] - sete byte ptr [rsp + 21] # 1-byte Folded Spill + sete byte ptr [rsp + 22] # 1-byte Folded Spill movzx eax, word ptr [rsi + 8] cmp ax, word ptr [rdx + 8] - sete byte ptr [rsp + 22] # 1-byte Folded Spill + sete byte ptr [rsp + 23] # 1-byte Folded Spill movzx eax, word ptr [rsi + 10] cmp ax, word ptr [rdx + 10] - sete byte ptr [rsp + 23] # 1-byte Folded Spill + sete byte ptr [rsp + 3] # 1-byte Folded Spill movzx eax, word ptr [rsi + 12] cmp ax, word ptr [rdx + 12] - sete byte ptr [rsp + 4] # 1-byte Folded Spill + sete byte ptr [rsp + 5] # 1-byte Folded Spill movzx eax, word ptr [rsi + 14] cmp ax, word ptr [rdx + 14] sete r13b movzx eax, word ptr [rsi + 16] cmp ax, word ptr [rdx + 16] - sete byte ptr [rsp + 9] # 1-byte Folded Spill + sete byte ptr [rsp + 10] # 1-byte Folded Spill movzx eax, word ptr [rsi + 18] cmp ax, word ptr [rdx + 18] sete r8b @@ -1229,166 +1324,166 @@ comparison_equal_arr_arr_avx2: # @comparison_equal_arr_arr_avx2 sete r15b movzx eax, word ptr [rsi + 24] cmp ax, word ptr [rdx + 24] - sete byte ptr [rsp + 5] # 1-byte Folded Spill + sete byte ptr [rsp + 6] # 1-byte Folded Spill movzx eax, word ptr [rsi + 26] cmp ax, word ptr [rdx + 26] - sete byte ptr [rsp + 6] # 1-byte Folded Spill + sete byte ptr [rsp + 7] # 1-byte Folded Spill movzx eax, word ptr [rsi + 28] cmp ax, word ptr [rdx + 28] - sete byte ptr [rsp + 7] # 1-byte Folded Spill + sete byte ptr [rsp + 8] # 1-byte Folded Spill movzx eax, word ptr [rsi + 30] cmp ax, word ptr [rdx + 30] - sete bl + sete dil movzx eax, word ptr [rsi + 32] - movzx ecx, word ptr [rsi + 34] + movzx ebx, word ptr [rsi + 34] cmp ax, word ptr [rdx + 32] movzx eax, word ptr [rsi + 36] - sete byte ptr [rsp + 10] # 1-byte Folded Spill - cmp cx, word ptr [rdx + 34] - movzx ecx, word ptr [rsi + 38] + sete byte ptr [rsp + 11] # 1-byte Folded Spill + cmp bx, word ptr [rdx + 34] + movzx ebx, word ptr [rsi + 38] sete r10b cmp ax, word ptr [rdx + 36] movzx eax, word ptr [rsi + 40] sete r14b - cmp cx, word ptr [rdx + 38] - movzx ecx, word ptr [rsi + 42] + cmp bx, word ptr [rdx + 38] + movzx ebx, word ptr [rsi + 42] sete r12b cmp ax, word ptr [rdx + 40] - sete byte ptr [rsp + 8] # 1-byte Folded Spill - cmp cx, word ptr [rdx + 42] + sete byte ptr [rsp + 9] # 1-byte Folded Spill + cmp bx, word ptr [rdx + 42] movzx eax, word ptr [rsi + 44] - sete byte ptr [rsp + 11] # 1-byte Folded Spill + sete byte ptr [rsp + 12] # 1-byte Folded Spill cmp ax, word ptr [rdx + 44] movzx eax, word ptr [rsi + 46] - sete byte ptr [rsp + 12] # 1-byte Folded Spill + sete byte ptr [rsp + 13] # 1-byte Folded Spill cmp ax, word ptr [rdx + 46] movzx eax, word ptr [rsi + 48] sete r9b cmp ax, word ptr [rdx + 48] movzx eax, word ptr [rsi + 50] - sete byte ptr [rsp + 19] # 1-byte Folded Spill + sete byte ptr [rsp + 20] # 1-byte Folded Spill cmp ax, word ptr [rdx + 50] movzx eax, word ptr [rsi + 52] - sete byte ptr [rsp + 13] # 1-byte Folded Spill + sete byte ptr [rsp + 14] # 1-byte Folded Spill cmp ax, word ptr [rdx + 52] movzx eax, word ptr [rsi + 54] - sete byte ptr [rsp + 14] # 1-byte Folded Spill + sete byte ptr [rsp + 15] # 1-byte Folded Spill cmp ax, word ptr [rdx + 54] movzx eax, word ptr [rsi + 56] - sete byte ptr [rsp + 15] # 1-byte Folded Spill + sete byte ptr [rsp + 16] # 1-byte Folded Spill cmp ax, word ptr [rdx + 56] movzx eax, word ptr [rsi + 58] - sete byte ptr [rsp + 16] # 1-byte Folded Spill + sete byte ptr [rsp + 17] # 1-byte Folded Spill cmp ax, word ptr [rdx + 58] movzx eax, word ptr [rsi + 60] - sete byte ptr [rsp + 18] # 1-byte Folded Spill + sete byte ptr [rsp + 19] # 1-byte Folded Spill cmp ax, word ptr [rdx + 60] movzx eax, word ptr [rsi + 62] - sete byte ptr [rsp + 17] # 1-byte Folded Spill + sete byte ptr [rsp + 18] # 1-byte Folded Spill add rsi, 64 cmp ax, word ptr [rdx + 62] - sete dil - movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload + sete cl + movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 40] # 1-byte Folded Reload - mov ecx, eax - movzx eax, byte ptr [rsp + 4] # 1-byte Folded Reload + add al, byte ptr [rsp + 4] # 1-byte Folded Reload + mov ebx, eax + movzx eax, byte ptr [rsp + 5] # 1-byte Folded Reload shl al, 6 shl r13b, 7 or r13b, al - movzx eax, byte ptr [rsp + 20] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 21] # 1-byte Folded Reload shl al, 2 - or al, cl + or al, bl add r8b, r8b - add r8b, byte ptr [rsp + 9] # 1-byte Folded Reload - movzx ecx, byte ptr [rsp + 21] # 1-byte Folded Reload - shl cl, 3 - or cl, al - mov eax, ecx + add r8b, byte ptr [rsp + 10] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 22] # 1-byte Folded Reload + shl bl, 3 + or bl, al + mov eax, ebx shl r11b, 2 or r11b, r8b - movzx ecx, byte ptr [rsp + 22] # 1-byte Folded Reload - shl cl, 4 - or cl, al - mov r8d, ecx + movzx ebx, byte ptr [rsp + 23] # 1-byte Folded Reload + shl bl, 4 + or bl, al + mov r8d, ebx shl r15b, 3 or r15b, r11b - movzx ecx, byte ptr [rsp + 23] # 1-byte Folded Reload - shl cl, 5 - or cl, r8b - movzx eax, byte ptr [rsp + 5] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 3] # 1-byte Folded Reload + shl bl, 5 + or bl, r8b + movzx eax, byte ptr [rsp + 6] # 1-byte Folded Reload shl al, 4 or al, r15b mov r8d, eax - movzx eax, byte ptr [rsp + 6] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 7] # 1-byte Folded Reload shl al, 5 or al, r8b - movzx r8d, byte ptr [rsp + 7] # 1-byte Folded Reload + movzx r8d, byte ptr [rsp + 8] # 1-byte Folded Reload shl r8b, 6 - shl bl, 7 - or bl, r8b - or r13b, cl - or bl, al + shl dil, 7 + or dil, r8b + or r13b, bl + or dil, al add r10b, r10b - add r10b, byte ptr [rsp + 10] # 1-byte Folded Reload + add r10b, byte ptr [rsp + 11] # 1-byte Folded Reload shl r14b, 2 or r14b, r10b shl r12b, 3 or r12b, r14b - movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 9] # 1-byte Folded Reload shl al, 4 or al, r12b - mov ecx, eax - mov r14, qword ptr [rsp + 48] # 8-byte Reload - movzx eax, byte ptr [rsp + 11] # 1-byte Folded Reload + mov ebx, eax + mov r12, qword ptr [rsp + 48] # 8-byte Reload + movzx eax, byte ptr [rsp + 12] # 1-byte Folded Reload shl al, 5 - or al, cl - mov byte ptr [r14], r13b - movzx ecx, byte ptr [rsp + 12] # 1-byte Folded Reload - shl cl, 6 + or al, bl + mov byte ptr [r12], r13b + movzx ebx, byte ptr [rsp + 13] # 1-byte Folded Reload + shl bl, 6 shl r9b, 7 - or r9b, cl - mov byte ptr [r14 + 1], bl + or r9b, bl + mov byte ptr [r12 + 1], dil or r9b, al - movzx eax, byte ptr [rsp + 13] # 1-byte Folded Reload - add al, al - add al, byte ptr [rsp + 19] # 1-byte Folded Reload - mov ecx, eax movzx eax, byte ptr [rsp + 14] # 1-byte Folded Reload - shl al, 2 - or al, cl - mov ecx, eax + add al, al + add al, byte ptr [rsp + 20] # 1-byte Folded Reload + mov ebx, eax movzx eax, byte ptr [rsp + 15] # 1-byte Folded Reload - shl al, 3 - or al, cl - mov ecx, eax + shl al, 2 + or al, bl + mov ebx, eax movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload + shl al, 3 + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 17] # 1-byte Folded Reload shl al, 4 - or al, cl - mov ecx, eax - movzx eax, byte ptr [rsp + 18] # 1-byte Folded Reload + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 19] # 1-byte Folded Reload shl al, 5 - or al, cl - movzx ecx, byte ptr [rsp + 17] # 1-byte Folded Reload - shl cl, 6 - shl dil, 7 - or dil, cl - or dil, al - mov byte ptr [r14 + 2], r9b - mov byte ptr [r14 + 3], dil + or al, bl + movzx ebx, byte ptr [rsp + 18] # 1-byte Folded Reload + shl bl, 6 + shl cl, 7 + or cl, bl + or cl, al + mov byte ptr [r12 + 2], r9b + mov byte ptr [r12 + 3], cl add rdx, 64 - add r14, 4 - add qword ptr [rsp + 56], -1 # 8-byte Folded Spill + add r12, 4 + add qword ptr [rsp + 32], -1 # 8-byte Folded Spill jne .LBB0_74 # %bb.75: - mov r11, qword ptr [rsp + 24] # 8-byte Reload - mov r15, qword ptr [rsp + 64] # 8-byte Reload + mov r14, qword ptr [rsp + 24] # 8-byte Reload + mov r15, qword ptr [rsp + 56] # 8-byte Reload .LBB0_76: shl r15, 5 - cmp r15, r11 + cmp r15, r14 jge .LBB0_123 # %bb.77: - sub r11, r15 + sub r14, r15 xor ecx, ecx .p2align 4, 0x90 .LBB0_78: # =>This Inner Loop Header: Depth=1 @@ -1399,7 +1494,7 @@ comparison_equal_arr_arr_avx2: # @comparison_equal_arr_arr_avx2 neg bl mov rdi, rcx shr rdi, 3 - movzx r9d, byte ptr [r14 + rdi] + movzx r9d, byte ptr [r12 + rdi] xor bl, r9b and cl, 7 mov al, 1 @@ -1407,23 +1502,23 @@ comparison_equal_arr_arr_avx2: # @comparison_equal_arr_arr_avx2 shl al, cl and al, bl xor al, r9b - mov byte ptr [r14 + rdi], al + mov byte ptr [r12 + rdi], al mov rcx, r8 - cmp r11, r8 + cmp r14, r8 jne .LBB0_78 jmp .LBB0_123 .LBB0_79: - lea r15, [r11 + 31] - test r11, r11 - cmovns r15, r11 - lea eax, [r9 + 7] - test r9d, r9d - cmovns eax, r9d - and eax, -8 - sub r9d, eax + lea r15, [r14 + 31] + test r14, r14 + cmovns r15, r14 + lea ecx, [rax + 7] + test eax, eax + cmovns ecx, eax + and ecx, -8 + sub eax, ecx je .LBB0_83 # %bb.80: - movsxd rax, r9d + cdqe .p2align 4, 0x90 .LBB0_81: # =>This Inner Loop Header: Depth=1 movzx ecx, word ptr [rsi] @@ -1436,7 +1531,7 @@ comparison_equal_arr_arr_avx2: # @comparison_equal_arr_arr_avx2 test rax, rax cmovns rdi, rax sar rdi, 3 - movzx r8d, byte ptr [r14 + rdi] + movzx r8d, byte ptr [r12 + rdi] xor r10b, r8b lea r9d, [8*rdi] mov ecx, eax @@ -1446,50 +1541,50 @@ comparison_equal_arr_arr_avx2: # @comparison_equal_arr_arr_avx2 shl ebx, cl and bl, r10b xor bl, r8b - mov byte ptr [r14 + rdi], bl + mov byte ptr [r12 + rdi], bl add rax, 1 cmp rax, 8 jne .LBB0_81 # %bb.82: - add r14, 1 + add r12, 1 .LBB0_83: sar r15, 5 - cmp r11, 32 + cmp r14, 32 jl .LBB0_87 # %bb.84: - mov qword ptr [rsp + 24], r11 # 8-byte Spill - mov qword ptr [rsp + 64], r15 # 8-byte Spill + mov qword ptr [rsp + 24], r14 # 8-byte Spill mov qword ptr [rsp + 56], r15 # 8-byte Spill + mov qword ptr [rsp + 32], r15 # 8-byte Spill .p2align 4, 0x90 .LBB0_85: # =>This Inner Loop Header: Depth=1 - mov qword ptr [rsp + 48], r14 # 8-byte Spill + mov qword ptr [rsp + 48], r12 # 8-byte Spill movzx eax, word ptr [rsi] movzx ecx, word ptr [rsi + 2] cmp ax, word ptr [rdx] - sete byte ptr [rsp + 40] # 1-byte Folded Spill + sete byte ptr [rsp + 4] # 1-byte Folded Spill cmp cx, word ptr [rdx + 2] - sete byte ptr [rsp + 32] # 1-byte Folded Spill + sete byte ptr [rsp + 40] # 1-byte Folded Spill movzx eax, word ptr [rsi + 4] cmp ax, word ptr [rdx + 4] - sete byte ptr [rsp + 20] # 1-byte Folded Spill + sete byte ptr [rsp + 21] # 1-byte Folded Spill movzx eax, word ptr [rsi + 6] cmp ax, word ptr [rdx + 6] - sete byte ptr [rsp + 21] # 1-byte Folded Spill + sete byte ptr [rsp + 22] # 1-byte Folded Spill movzx eax, word ptr [rsi + 8] cmp ax, word ptr [rdx + 8] - sete byte ptr [rsp + 22] # 1-byte Folded Spill + sete byte ptr [rsp + 23] # 1-byte Folded Spill movzx eax, word ptr [rsi + 10] cmp ax, word ptr [rdx + 10] - sete byte ptr [rsp + 23] # 1-byte Folded Spill + sete byte ptr [rsp + 3] # 1-byte Folded Spill movzx eax, word ptr [rsi + 12] cmp ax, word ptr [rdx + 12] - sete byte ptr [rsp + 4] # 1-byte Folded Spill + sete byte ptr [rsp + 5] # 1-byte Folded Spill movzx eax, word ptr [rsi + 14] cmp ax, word ptr [rdx + 14] sete r13b movzx eax, word ptr [rsi + 16] cmp ax, word ptr [rdx + 16] - sete byte ptr [rsp + 9] # 1-byte Folded Spill + sete byte ptr [rsp + 10] # 1-byte Folded Spill movzx eax, word ptr [rsi + 18] cmp ax, word ptr [rdx + 18] sete r8b @@ -1501,166 +1596,166 @@ comparison_equal_arr_arr_avx2: # @comparison_equal_arr_arr_avx2 sete r15b movzx eax, word ptr [rsi + 24] cmp ax, word ptr [rdx + 24] - sete byte ptr [rsp + 5] # 1-byte Folded Spill + sete byte ptr [rsp + 6] # 1-byte Folded Spill movzx eax, word ptr [rsi + 26] cmp ax, word ptr [rdx + 26] - sete byte ptr [rsp + 6] # 1-byte Folded Spill + sete byte ptr [rsp + 7] # 1-byte Folded Spill movzx eax, word ptr [rsi + 28] cmp ax, word ptr [rdx + 28] - sete byte ptr [rsp + 7] # 1-byte Folded Spill + sete byte ptr [rsp + 8] # 1-byte Folded Spill movzx eax, word ptr [rsi + 30] cmp ax, word ptr [rdx + 30] - sete bl + sete dil movzx eax, word ptr [rsi + 32] - movzx ecx, word ptr [rsi + 34] + movzx ebx, word ptr [rsi + 34] cmp ax, word ptr [rdx + 32] movzx eax, word ptr [rsi + 36] - sete byte ptr [rsp + 10] # 1-byte Folded Spill - cmp cx, word ptr [rdx + 34] - movzx ecx, word ptr [rsi + 38] + sete byte ptr [rsp + 11] # 1-byte Folded Spill + cmp bx, word ptr [rdx + 34] + movzx ebx, word ptr [rsi + 38] sete r10b cmp ax, word ptr [rdx + 36] movzx eax, word ptr [rsi + 40] sete r14b - cmp cx, word ptr [rdx + 38] - movzx ecx, word ptr [rsi + 42] + cmp bx, word ptr [rdx + 38] + movzx ebx, word ptr [rsi + 42] sete r12b cmp ax, word ptr [rdx + 40] - sete byte ptr [rsp + 8] # 1-byte Folded Spill - cmp cx, word ptr [rdx + 42] + sete byte ptr [rsp + 9] # 1-byte Folded Spill + cmp bx, word ptr [rdx + 42] movzx eax, word ptr [rsi + 44] - sete byte ptr [rsp + 11] # 1-byte Folded Spill + sete byte ptr [rsp + 12] # 1-byte Folded Spill cmp ax, word ptr [rdx + 44] movzx eax, word ptr [rsi + 46] - sete byte ptr [rsp + 12] # 1-byte Folded Spill + sete byte ptr [rsp + 13] # 1-byte Folded Spill cmp ax, word ptr [rdx + 46] movzx eax, word ptr [rsi + 48] sete r9b cmp ax, word ptr [rdx + 48] movzx eax, word ptr [rsi + 50] - sete byte ptr [rsp + 19] # 1-byte Folded Spill + sete byte ptr [rsp + 20] # 1-byte Folded Spill cmp ax, word ptr [rdx + 50] movzx eax, word ptr [rsi + 52] - sete byte ptr [rsp + 13] # 1-byte Folded Spill + sete byte ptr [rsp + 14] # 1-byte Folded Spill cmp ax, word ptr [rdx + 52] movzx eax, word ptr [rsi + 54] - sete byte ptr [rsp + 14] # 1-byte Folded Spill + sete byte ptr [rsp + 15] # 1-byte Folded Spill cmp ax, word ptr [rdx + 54] movzx eax, word ptr [rsi + 56] - sete byte ptr [rsp + 15] # 1-byte Folded Spill + sete byte ptr [rsp + 16] # 1-byte Folded Spill cmp ax, word ptr [rdx + 56] movzx eax, word ptr [rsi + 58] - sete byte ptr [rsp + 16] # 1-byte Folded Spill + sete byte ptr [rsp + 17] # 1-byte Folded Spill cmp ax, word ptr [rdx + 58] movzx eax, word ptr [rsi + 60] - sete byte ptr [rsp + 18] # 1-byte Folded Spill + sete byte ptr [rsp + 19] # 1-byte Folded Spill cmp ax, word ptr [rdx + 60] movzx eax, word ptr [rsi + 62] - sete byte ptr [rsp + 17] # 1-byte Folded Spill + sete byte ptr [rsp + 18] # 1-byte Folded Spill add rsi, 64 cmp ax, word ptr [rdx + 62] - sete dil - movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload + sete cl + movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 40] # 1-byte Folded Reload - mov ecx, eax - movzx eax, byte ptr [rsp + 4] # 1-byte Folded Reload + add al, byte ptr [rsp + 4] # 1-byte Folded Reload + mov ebx, eax + movzx eax, byte ptr [rsp + 5] # 1-byte Folded Reload shl al, 6 shl r13b, 7 or r13b, al - movzx eax, byte ptr [rsp + 20] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 21] # 1-byte Folded Reload shl al, 2 - or al, cl + or al, bl add r8b, r8b - add r8b, byte ptr [rsp + 9] # 1-byte Folded Reload - movzx ecx, byte ptr [rsp + 21] # 1-byte Folded Reload - shl cl, 3 - or cl, al - mov eax, ecx + add r8b, byte ptr [rsp + 10] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 22] # 1-byte Folded Reload + shl bl, 3 + or bl, al + mov eax, ebx shl r11b, 2 or r11b, r8b - movzx ecx, byte ptr [rsp + 22] # 1-byte Folded Reload - shl cl, 4 - or cl, al - mov r8d, ecx + movzx ebx, byte ptr [rsp + 23] # 1-byte Folded Reload + shl bl, 4 + or bl, al + mov r8d, ebx shl r15b, 3 or r15b, r11b - movzx ecx, byte ptr [rsp + 23] # 1-byte Folded Reload - shl cl, 5 - or cl, r8b - movzx eax, byte ptr [rsp + 5] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 3] # 1-byte Folded Reload + shl bl, 5 + or bl, r8b + movzx eax, byte ptr [rsp + 6] # 1-byte Folded Reload shl al, 4 or al, r15b mov r8d, eax - movzx eax, byte ptr [rsp + 6] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 7] # 1-byte Folded Reload shl al, 5 or al, r8b - movzx r8d, byte ptr [rsp + 7] # 1-byte Folded Reload + movzx r8d, byte ptr [rsp + 8] # 1-byte Folded Reload shl r8b, 6 - shl bl, 7 - or bl, r8b - or r13b, cl - or bl, al + shl dil, 7 + or dil, r8b + or r13b, bl + or dil, al add r10b, r10b - add r10b, byte ptr [rsp + 10] # 1-byte Folded Reload + add r10b, byte ptr [rsp + 11] # 1-byte Folded Reload shl r14b, 2 or r14b, r10b shl r12b, 3 or r12b, r14b - movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 9] # 1-byte Folded Reload shl al, 4 or al, r12b - mov ecx, eax - mov r14, qword ptr [rsp + 48] # 8-byte Reload - movzx eax, byte ptr [rsp + 11] # 1-byte Folded Reload + mov ebx, eax + mov r12, qword ptr [rsp + 48] # 8-byte Reload + movzx eax, byte ptr [rsp + 12] # 1-byte Folded Reload shl al, 5 - or al, cl - mov byte ptr [r14], r13b - movzx ecx, byte ptr [rsp + 12] # 1-byte Folded Reload - shl cl, 6 + or al, bl + mov byte ptr [r12], r13b + movzx ebx, byte ptr [rsp + 13] # 1-byte Folded Reload + shl bl, 6 shl r9b, 7 - or r9b, cl - mov byte ptr [r14 + 1], bl + or r9b, bl + mov byte ptr [r12 + 1], dil or r9b, al - movzx eax, byte ptr [rsp + 13] # 1-byte Folded Reload - add al, al - add al, byte ptr [rsp + 19] # 1-byte Folded Reload - mov ecx, eax movzx eax, byte ptr [rsp + 14] # 1-byte Folded Reload - shl al, 2 - or al, cl - mov ecx, eax + add al, al + add al, byte ptr [rsp + 20] # 1-byte Folded Reload + mov ebx, eax movzx eax, byte ptr [rsp + 15] # 1-byte Folded Reload - shl al, 3 - or al, cl - mov ecx, eax + shl al, 2 + or al, bl + mov ebx, eax movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload + shl al, 3 + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 17] # 1-byte Folded Reload shl al, 4 - or al, cl - mov ecx, eax - movzx eax, byte ptr [rsp + 18] # 1-byte Folded Reload + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 19] # 1-byte Folded Reload shl al, 5 - or al, cl - movzx ecx, byte ptr [rsp + 17] # 1-byte Folded Reload - shl cl, 6 - shl dil, 7 - or dil, cl - or dil, al - mov byte ptr [r14 + 2], r9b - mov byte ptr [r14 + 3], dil + or al, bl + movzx ebx, byte ptr [rsp + 18] # 1-byte Folded Reload + shl bl, 6 + shl cl, 7 + or cl, bl + or cl, al + mov byte ptr [r12 + 2], r9b + mov byte ptr [r12 + 3], cl add rdx, 64 - add r14, 4 - add qword ptr [rsp + 56], -1 # 8-byte Folded Spill + add r12, 4 + add qword ptr [rsp + 32], -1 # 8-byte Folded Spill jne .LBB0_85 # %bb.86: - mov r11, qword ptr [rsp + 24] # 8-byte Reload - mov r15, qword ptr [rsp + 64] # 8-byte Reload + mov r14, qword ptr [rsp + 24] # 8-byte Reload + mov r15, qword ptr [rsp + 56] # 8-byte Reload .LBB0_87: shl r15, 5 - cmp r15, r11 + cmp r15, r14 jge .LBB0_123 # %bb.88: - sub r11, r15 + sub r14, r15 xor ecx, ecx .p2align 4, 0x90 .LBB0_89: # =>This Inner Loop Header: Depth=1 @@ -1671,7 +1766,7 @@ comparison_equal_arr_arr_avx2: # @comparison_equal_arr_arr_avx2 neg bl mov rdi, rcx shr rdi, 3 - movzx r9d, byte ptr [r14 + rdi] + movzx r9d, byte ptr [r12 + rdi] xor bl, r9b and cl, 7 mov al, 1 @@ -1679,23 +1774,23 @@ comparison_equal_arr_arr_avx2: # @comparison_equal_arr_arr_avx2 shl al, cl and al, bl xor al, r9b - mov byte ptr [r14 + rdi], al + mov byte ptr [r12 + rdi], al mov rcx, r8 - cmp r11, r8 + cmp r14, r8 jne .LBB0_89 jmp .LBB0_123 .LBB0_101: - lea r15, [r11 + 31] - test r11, r11 - cmovns r15, r11 - lea eax, [r9 + 7] - test r9d, r9d - cmovns eax, r9d - and eax, -8 - sub r9d, eax + lea r15, [r14 + 31] + test r14, r14 + cmovns r15, r14 + lea ecx, [rax + 7] + test eax, eax + cmovns ecx, eax + and ecx, -8 + sub eax, ecx je .LBB0_105 # %bb.102: - movsxd rax, r9d + cdqe .p2align 4, 0x90 .LBB0_103: # =>This Inner Loop Header: Depth=1 mov rcx, qword ptr [rsi] @@ -1708,7 +1803,7 @@ comparison_equal_arr_arr_avx2: # @comparison_equal_arr_arr_avx2 test rax, rax cmovns rdi, rax sar rdi, 3 - movzx r8d, byte ptr [r14 + rdi] + movzx r8d, byte ptr [r12 + rdi] xor r10b, r8b lea r9d, [8*rdi] mov ecx, eax @@ -1718,50 +1813,50 @@ comparison_equal_arr_arr_avx2: # @comparison_equal_arr_arr_avx2 shl ebx, cl and bl, r10b xor bl, r8b - mov byte ptr [r14 + rdi], bl + mov byte ptr [r12 + rdi], bl add rax, 1 cmp rax, 8 jne .LBB0_103 # %bb.104: - add r14, 1 + add r12, 1 .LBB0_105: sar r15, 5 - cmp r11, 32 + cmp r14, 32 jl .LBB0_109 # %bb.106: - mov qword ptr [rsp + 24], r11 # 8-byte Spill - mov qword ptr [rsp + 64], r15 # 8-byte Spill + mov qword ptr [rsp + 24], r14 # 8-byte Spill mov qword ptr [rsp + 56], r15 # 8-byte Spill + mov qword ptr [rsp + 32], r15 # 8-byte Spill .p2align 4, 0x90 .LBB0_107: # =>This Inner Loop Header: Depth=1 - mov qword ptr [rsp + 48], r14 # 8-byte Spill + mov qword ptr [rsp + 48], r12 # 8-byte Spill mov rax, qword ptr [rsi] mov rcx, qword ptr [rsi + 8] cmp rax, qword ptr [rdx] - sete byte ptr [rsp + 40] # 1-byte Folded Spill + sete byte ptr [rsp + 4] # 1-byte Folded Spill cmp rcx, qword ptr [rdx + 8] - sete byte ptr [rsp + 32] # 1-byte Folded Spill + sete byte ptr [rsp + 40] # 1-byte Folded Spill mov rax, qword ptr [rsi + 16] cmp rax, qword ptr [rdx + 16] - sete byte ptr [rsp + 20] # 1-byte Folded Spill + sete byte ptr [rsp + 21] # 1-byte Folded Spill mov rax, qword ptr [rsi + 24] cmp rax, qword ptr [rdx + 24] - sete byte ptr [rsp + 21] # 1-byte Folded Spill + sete byte ptr [rsp + 22] # 1-byte Folded Spill mov rax, qword ptr [rsi + 32] cmp rax, qword ptr [rdx + 32] - sete byte ptr [rsp + 22] # 1-byte Folded Spill + sete byte ptr [rsp + 23] # 1-byte Folded Spill mov rax, qword ptr [rsi + 40] cmp rax, qword ptr [rdx + 40] - sete byte ptr [rsp + 23] # 1-byte Folded Spill + sete byte ptr [rsp + 3] # 1-byte Folded Spill mov rax, qword ptr [rsi + 48] cmp rax, qword ptr [rdx + 48] - sete byte ptr [rsp + 4] # 1-byte Folded Spill + sete byte ptr [rsp + 5] # 1-byte Folded Spill mov rax, qword ptr [rsi + 56] cmp rax, qword ptr [rdx + 56] sete r13b mov rax, qword ptr [rsi + 64] cmp rax, qword ptr [rdx + 64] - sete byte ptr [rsp + 9] # 1-byte Folded Spill + sete byte ptr [rsp + 10] # 1-byte Folded Spill mov rax, qword ptr [rsi + 72] cmp rax, qword ptr [rdx + 72] sete r8b @@ -1773,166 +1868,166 @@ comparison_equal_arr_arr_avx2: # @comparison_equal_arr_arr_avx2 sete r15b mov rax, qword ptr [rsi + 96] cmp rax, qword ptr [rdx + 96] - sete byte ptr [rsp + 5] # 1-byte Folded Spill + sete byte ptr [rsp + 6] # 1-byte Folded Spill mov rax, qword ptr [rsi + 104] cmp rax, qword ptr [rdx + 104] - sete byte ptr [rsp + 6] # 1-byte Folded Spill + sete byte ptr [rsp + 7] # 1-byte Folded Spill mov rax, qword ptr [rsi + 112] cmp rax, qword ptr [rdx + 112] - sete byte ptr [rsp + 7] # 1-byte Folded Spill + sete byte ptr [rsp + 8] # 1-byte Folded Spill mov rax, qword ptr [rsi + 120] cmp rax, qword ptr [rdx + 120] - sete bl + sete dil mov rax, qword ptr [rsi + 128] - mov rcx, qword ptr [rsi + 136] + mov rbx, qword ptr [rsi + 136] cmp rax, qword ptr [rdx + 128] mov rax, qword ptr [rsi + 144] - sete byte ptr [rsp + 10] # 1-byte Folded Spill - cmp rcx, qword ptr [rdx + 136] - mov rcx, qword ptr [rsi + 152] + sete byte ptr [rsp + 11] # 1-byte Folded Spill + cmp rbx, qword ptr [rdx + 136] + mov rbx, qword ptr [rsi + 152] sete r10b cmp rax, qword ptr [rdx + 144] mov rax, qword ptr [rsi + 160] sete r14b - cmp rcx, qword ptr [rdx + 152] - mov rcx, qword ptr [rsi + 168] + cmp rbx, qword ptr [rdx + 152] + mov rbx, qword ptr [rsi + 168] sete r12b cmp rax, qword ptr [rdx + 160] - sete byte ptr [rsp + 8] # 1-byte Folded Spill - cmp rcx, qword ptr [rdx + 168] + sete byte ptr [rsp + 9] # 1-byte Folded Spill + cmp rbx, qword ptr [rdx + 168] mov rax, qword ptr [rsi + 176] - sete byte ptr [rsp + 11] # 1-byte Folded Spill + sete byte ptr [rsp + 12] # 1-byte Folded Spill cmp rax, qword ptr [rdx + 176] mov rax, qword ptr [rsi + 184] - sete byte ptr [rsp + 12] # 1-byte Folded Spill + sete byte ptr [rsp + 13] # 1-byte Folded Spill cmp rax, qword ptr [rdx + 184] mov rax, qword ptr [rsi + 192] sete r9b cmp rax, qword ptr [rdx + 192] mov rax, qword ptr [rsi + 200] - sete byte ptr [rsp + 19] # 1-byte Folded Spill + sete byte ptr [rsp + 20] # 1-byte Folded Spill cmp rax, qword ptr [rdx + 200] mov rax, qword ptr [rsi + 208] - sete byte ptr [rsp + 13] # 1-byte Folded Spill + sete byte ptr [rsp + 14] # 1-byte Folded Spill cmp rax, qword ptr [rdx + 208] mov rax, qword ptr [rsi + 216] - sete byte ptr [rsp + 14] # 1-byte Folded Spill + sete byte ptr [rsp + 15] # 1-byte Folded Spill cmp rax, qword ptr [rdx + 216] mov rax, qword ptr [rsi + 224] - sete byte ptr [rsp + 15] # 1-byte Folded Spill + sete byte ptr [rsp + 16] # 1-byte Folded Spill cmp rax, qword ptr [rdx + 224] mov rax, qword ptr [rsi + 232] - sete byte ptr [rsp + 16] # 1-byte Folded Spill + sete byte ptr [rsp + 17] # 1-byte Folded Spill cmp rax, qword ptr [rdx + 232] mov rax, qword ptr [rsi + 240] - sete byte ptr [rsp + 18] # 1-byte Folded Spill + sete byte ptr [rsp + 19] # 1-byte Folded Spill cmp rax, qword ptr [rdx + 240] mov rax, qword ptr [rsi + 248] - sete byte ptr [rsp + 17] # 1-byte Folded Spill + sete byte ptr [rsp + 18] # 1-byte Folded Spill add rsi, 256 cmp rax, qword ptr [rdx + 248] - sete dil - movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload + sete cl + movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 40] # 1-byte Folded Reload - mov ecx, eax - movzx eax, byte ptr [rsp + 4] # 1-byte Folded Reload + add al, byte ptr [rsp + 4] # 1-byte Folded Reload + mov ebx, eax + movzx eax, byte ptr [rsp + 5] # 1-byte Folded Reload shl al, 6 shl r13b, 7 or r13b, al - movzx eax, byte ptr [rsp + 20] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 21] # 1-byte Folded Reload shl al, 2 - or al, cl + or al, bl add r8b, r8b - add r8b, byte ptr [rsp + 9] # 1-byte Folded Reload - movzx ecx, byte ptr [rsp + 21] # 1-byte Folded Reload - shl cl, 3 - or cl, al - mov eax, ecx + add r8b, byte ptr [rsp + 10] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 22] # 1-byte Folded Reload + shl bl, 3 + or bl, al + mov eax, ebx shl r11b, 2 or r11b, r8b - movzx ecx, byte ptr [rsp + 22] # 1-byte Folded Reload - shl cl, 4 - or cl, al - mov r8d, ecx + movzx ebx, byte ptr [rsp + 23] # 1-byte Folded Reload + shl bl, 4 + or bl, al + mov r8d, ebx shl r15b, 3 or r15b, r11b - movzx ecx, byte ptr [rsp + 23] # 1-byte Folded Reload - shl cl, 5 - or cl, r8b - movzx eax, byte ptr [rsp + 5] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 3] # 1-byte Folded Reload + shl bl, 5 + or bl, r8b + movzx eax, byte ptr [rsp + 6] # 1-byte Folded Reload shl al, 4 or al, r15b mov r8d, eax - movzx eax, byte ptr [rsp + 6] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 7] # 1-byte Folded Reload shl al, 5 or al, r8b - movzx r8d, byte ptr [rsp + 7] # 1-byte Folded Reload + movzx r8d, byte ptr [rsp + 8] # 1-byte Folded Reload shl r8b, 6 - shl bl, 7 - or bl, r8b - or r13b, cl - or bl, al + shl dil, 7 + or dil, r8b + or r13b, bl + or dil, al add r10b, r10b - add r10b, byte ptr [rsp + 10] # 1-byte Folded Reload + add r10b, byte ptr [rsp + 11] # 1-byte Folded Reload shl r14b, 2 or r14b, r10b shl r12b, 3 or r12b, r14b - movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 9] # 1-byte Folded Reload shl al, 4 or al, r12b - mov ecx, eax - mov r14, qword ptr [rsp + 48] # 8-byte Reload - movzx eax, byte ptr [rsp + 11] # 1-byte Folded Reload + mov ebx, eax + mov r12, qword ptr [rsp + 48] # 8-byte Reload + movzx eax, byte ptr [rsp + 12] # 1-byte Folded Reload shl al, 5 - or al, cl - mov byte ptr [r14], r13b - movzx ecx, byte ptr [rsp + 12] # 1-byte Folded Reload - shl cl, 6 + or al, bl + mov byte ptr [r12], r13b + movzx ebx, byte ptr [rsp + 13] # 1-byte Folded Reload + shl bl, 6 shl r9b, 7 - or r9b, cl - mov byte ptr [r14 + 1], bl + or r9b, bl + mov byte ptr [r12 + 1], dil or r9b, al - movzx eax, byte ptr [rsp + 13] # 1-byte Folded Reload - add al, al - add al, byte ptr [rsp + 19] # 1-byte Folded Reload - mov ecx, eax movzx eax, byte ptr [rsp + 14] # 1-byte Folded Reload - shl al, 2 - or al, cl - mov ecx, eax + add al, al + add al, byte ptr [rsp + 20] # 1-byte Folded Reload + mov ebx, eax movzx eax, byte ptr [rsp + 15] # 1-byte Folded Reload - shl al, 3 - or al, cl - mov ecx, eax + shl al, 2 + or al, bl + mov ebx, eax movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload + shl al, 3 + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 17] # 1-byte Folded Reload shl al, 4 - or al, cl - mov ecx, eax - movzx eax, byte ptr [rsp + 18] # 1-byte Folded Reload + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 19] # 1-byte Folded Reload shl al, 5 - or al, cl - movzx ecx, byte ptr [rsp + 17] # 1-byte Folded Reload - shl cl, 6 - shl dil, 7 - or dil, cl - or dil, al - mov byte ptr [r14 + 2], r9b - mov byte ptr [r14 + 3], dil + or al, bl + movzx ebx, byte ptr [rsp + 18] # 1-byte Folded Reload + shl bl, 6 + shl cl, 7 + or cl, bl + or cl, al + mov byte ptr [r12 + 2], r9b + mov byte ptr [r12 + 3], cl add rdx, 256 - add r14, 4 - add qword ptr [rsp + 56], -1 # 8-byte Folded Spill + add r12, 4 + add qword ptr [rsp + 32], -1 # 8-byte Folded Spill jne .LBB0_107 # %bb.108: - mov r11, qword ptr [rsp + 24] # 8-byte Reload - mov r15, qword ptr [rsp + 64] # 8-byte Reload + mov r14, qword ptr [rsp + 24] # 8-byte Reload + mov r15, qword ptr [rsp + 56] # 8-byte Reload .LBB0_109: shl r15, 5 - cmp r15, r11 + cmp r15, r14 jge .LBB0_123 # %bb.110: - sub r11, r15 + sub r14, r15 xor ecx, ecx .p2align 4, 0x90 .LBB0_111: # =>This Inner Loop Header: Depth=1 @@ -1943,7 +2038,7 @@ comparison_equal_arr_arr_avx2: # @comparison_equal_arr_arr_avx2 neg bl mov rdi, rcx shr rdi, 3 - movzx r9d, byte ptr [r14 + rdi] + movzx r9d, byte ptr [r12 + rdi] xor bl, r9b and cl, 7 mov al, 1 @@ -1951,291 +2046,386 @@ comparison_equal_arr_arr_avx2: # @comparison_equal_arr_arr_avx2 shl al, cl and al, bl xor al, r9b - mov byte ptr [r14 + rdi], al + mov byte ptr [r12 + rdi], al mov rcx, r8 - cmp r11, r8 + cmp r14, r8 jne .LBB0_111 jmp .LBB0_123 .LBB0_112: - lea r15, [r11 + 31] - test r11, r11 - cmovns r15, r11 - lea eax, [r9 + 7] - test r9d, r9d - cmovns eax, r9d - and eax, -8 - sub r9d, eax + lea r15, [r14 + 31] + test r14, r14 + cmovns r15, r14 + lea ecx, [rax + 7] + test eax, eax + cmovns ecx, eax + and ecx, -8 + sub eax, ecx je .LBB0_116 # %bb.113: - movsxd rax, r9d + movsxd r10, eax .p2align 4, 0x90 .LBB0_114: # =>This Inner Loop Header: Depth=1 vmovss xmm0, dword ptr [rsi] # xmm0 = mem[0],zero,zero,zero add rsi, 4 vucomiss xmm0, dword ptr [rdx] lea rdx, [rdx + 4] - sete r10b - neg r10b - lea rdi, [rax + 7] - test rax, rax - cmovns rdi, rax + setnp cl + sete bl + and bl, cl + neg bl + lea rdi, [r10 + 7] + test r10, r10 + cmovns rdi, r10 sar rdi, 3 - movzx r8d, byte ptr [r14 + rdi] - xor r10b, r8b + movzx r8d, byte ptr [r12 + rdi] + xor bl, r8b lea r9d, [8*rdi] - mov ecx, eax + mov ecx, r10d sub ecx, r9d - mov ebx, 1 + mov eax, 1 # kill: def $cl killed $cl killed $ecx - shl ebx, cl - and bl, r10b - xor bl, r8b - mov byte ptr [r14 + rdi], bl - add rax, 1 - cmp rax, 8 + shl eax, cl + and al, bl + xor al, r8b + mov byte ptr [r12 + rdi], al + add r10, 1 + cmp r10, 8 jne .LBB0_114 # %bb.115: - add r14, 1 + add r12, 1 .LBB0_116: sar r15, 5 - cmp r11, 32 + cmp r14, 32 jl .LBB0_120 # %bb.117: - mov qword ptr [rsp + 24], r11 # 8-byte Spill - mov qword ptr [rsp + 32], r15 # 8-byte Spill - mov qword ptr [rsp + 40], r15 # 8-byte Spill + mov qword ptr [rsp + 24], r14 # 8-byte Spill + mov qword ptr [rsp + 64], r15 # 8-byte Spill + mov qword ptr [rsp + 56], r15 # 8-byte Spill .p2align 4, 0x90 .LBB0_118: # =>This Inner Loop Header: Depth=1 - mov qword ptr [rsp + 48], r14 # 8-byte Spill + mov qword ptr [rsp + 48], r12 # 8-byte Spill vmovss xmm0, dword ptr [rsi] # xmm0 = mem[0],zero,zero,zero - vmovss xmm1, dword ptr [rsi + 4] # xmm1 = mem[0],zero,zero,zero vucomiss xmm0, dword ptr [rdx] - sete byte ptr [rsp + 4] # 1-byte Folded Spill - vucomiss xmm1, dword ptr [rdx + 4] - sete al + vmovss xmm0, dword ptr [rsi + 4] # xmm0 = mem[0],zero,zero,zero + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 21], cl # 1-byte Spill + vucomiss xmm0, dword ptr [rdx + 4] + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 13], cl # 1-byte Spill vmovss xmm0, dword ptr [rsi + 8] # xmm0 = mem[0],zero,zero,zero vucomiss xmm0, dword ptr [rdx + 8] + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 20], cl # 1-byte Spill vmovss xmm0, dword ptr [rsi + 12] # xmm0 = mem[0],zero,zero,zero - sete byte ptr [rsp + 5] # 1-byte Folded Spill vucomiss xmm0, dword ptr [rdx + 12] - sete byte ptr [rsp + 22] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 23], cl # 1-byte Spill vmovss xmm0, dword ptr [rsi + 16] # xmm0 = mem[0],zero,zero,zero vucomiss xmm0, dword ptr [rdx + 16] + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 22], cl # 1-byte Spill vmovss xmm0, dword ptr [rsi + 20] # xmm0 = mem[0],zero,zero,zero - sete byte ptr [rsp + 21] # 1-byte Folded Spill vucomiss xmm0, dword ptr [rdx + 20] - sete byte ptr [rsp + 23] # 1-byte Folded Spill + setnp al + sete dil + and dil, al vmovss xmm0, dword ptr [rsi + 24] # xmm0 = mem[0],zero,zero,zero vucomiss xmm0, dword ptr [rdx + 24] - vmovss xmm0, dword ptr [rsi + 28] # xmm0 = mem[0],zero,zero,zero + setnp al sete r13b + and r13b, al + vmovss xmm0, dword ptr [rsi + 28] # xmm0 = mem[0],zero,zero,zero vucomiss xmm0, dword ptr [rdx + 28] - sete r15b + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 3], cl # 1-byte Spill vmovss xmm0, dword ptr [rsi + 32] # xmm0 = mem[0],zero,zero,zero vucomiss xmm0, dword ptr [rdx + 32] + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 19], cl # 1-byte Spill vmovss xmm0, dword ptr [rsi + 36] # xmm0 = mem[0],zero,zero,zero - sete byte ptr [rsp + 8] # 1-byte Folded Spill vucomiss xmm0, dword ptr [rdx + 36] - sete cl + setnp al + sete bl + and bl, al vmovss xmm0, dword ptr [rsi + 40] # xmm0 = mem[0],zero,zero,zero vucomiss xmm0, dword ptr [rdx + 40] + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 18], cl # 1-byte Spill vmovss xmm0, dword ptr [rsi + 44] # xmm0 = mem[0],zero,zero,zero - sete r9b vucomiss xmm0, dword ptr [rdx + 44] - sete r11b + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 17], cl # 1-byte Spill vmovss xmm0, dword ptr [rsi + 48] # xmm0 = mem[0],zero,zero,zero vucomiss xmm0, dword ptr [rdx + 48] + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 16], cl # 1-byte Spill vmovss xmm0, dword ptr [rsi + 52] # xmm0 = mem[0],zero,zero,zero - sete r10b vucomiss xmm0, dword ptr [rdx + 52] - sete byte ptr [rsp + 7] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 15], cl # 1-byte Spill vmovss xmm0, dword ptr [rsi + 56] # xmm0 = mem[0],zero,zero,zero vucomiss xmm0, dword ptr [rdx + 56] + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 12], cl # 1-byte Spill vmovss xmm0, dword ptr [rsi + 60] # xmm0 = mem[0],zero,zero,zero - sete byte ptr [rsp + 6] # 1-byte Folded Spill vucomiss xmm0, dword ptr [rdx + 60] - sete bl + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 11], cl # 1-byte Spill vmovss xmm0, dword ptr [rsi + 64] # xmm0 = mem[0],zero,zero,zero vucomiss xmm0, dword ptr [rdx + 64] + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 14], cl # 1-byte Spill vmovss xmm0, dword ptr [rsi + 68] # xmm0 = mem[0],zero,zero,zero - sete byte ptr [rsp + 14] # 1-byte Folded Spill vucomiss xmm0, dword ptr [rdx + 68] + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 10], cl # 1-byte Spill vmovss xmm0, dword ptr [rsi + 72] # xmm0 = mem[0],zero,zero,zero - sete r14b vucomiss xmm0, dword ptr [rdx + 72] + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 9], cl # 1-byte Spill vmovss xmm0, dword ptr [rsi + 76] # xmm0 = mem[0],zero,zero,zero - sete r12b vucomiss xmm0, dword ptr [rdx + 76] + setnp al + sete r11b + and r11b, al vmovss xmm0, dword ptr [rsi + 80] # xmm0 = mem[0],zero,zero,zero - sete byte ptr [rsp + 9] # 1-byte Folded Spill vucomiss xmm0, dword ptr [rdx + 80] + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 8], cl # 1-byte Spill vmovss xmm0, dword ptr [rsi + 84] # xmm0 = mem[0],zero,zero,zero - sete byte ptr [rsp + 10] # 1-byte Folded Spill vucomiss xmm0, dword ptr [rdx + 84] + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 7], cl # 1-byte Spill vmovss xmm0, dword ptr [rsi + 88] # xmm0 = mem[0],zero,zero,zero - sete byte ptr [rsp + 11] # 1-byte Folded Spill vucomiss xmm0, dword ptr [rdx + 88] + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 5], cl # 1-byte Spill vmovss xmm0, dword ptr [rsi + 92] # xmm0 = mem[0],zero,zero,zero - sete byte ptr [rsp + 12] # 1-byte Folded Spill vucomiss xmm0, dword ptr [rdx + 92] + setnp al + sete r10b + and r10b, al vmovss xmm0, dword ptr [rsi + 96] # xmm0 = mem[0],zero,zero,zero - sete r8b vucomiss xmm0, dword ptr [rdx + 96] + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 6], cl # 1-byte Spill vmovss xmm0, dword ptr [rsi + 100] # xmm0 = mem[0],zero,zero,zero - sete byte ptr [rsp + 20] # 1-byte Folded Spill vucomiss xmm0, dword ptr [rdx + 100] + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 32], cl # 1-byte Spill vmovss xmm0, dword ptr [rsi + 104] # xmm0 = mem[0],zero,zero,zero - sete byte ptr [rsp + 13] # 1-byte Folded Spill vucomiss xmm0, dword ptr [rdx + 104] + setnp al + sete r15b + and r15b, al vmovss xmm0, dword ptr [rsi + 108] # xmm0 = mem[0],zero,zero,zero - sete byte ptr [rsp + 15] # 1-byte Folded Spill vucomiss xmm0, dword ptr [rdx + 108] + setnp al + sete r14b + and r14b, al vmovss xmm0, dword ptr [rsi + 112] # xmm0 = mem[0],zero,zero,zero - sete byte ptr [rsp + 16] # 1-byte Folded Spill vucomiss xmm0, dword ptr [rdx + 112] + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 4], cl # 1-byte Spill vmovss xmm0, dword ptr [rsi + 116] # xmm0 = mem[0],zero,zero,zero - sete byte ptr [rsp + 17] # 1-byte Folded Spill vucomiss xmm0, dword ptr [rdx + 116] + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 40], cl # 1-byte Spill vmovss xmm0, dword ptr [rsi + 120] # xmm0 = mem[0],zero,zero,zero - sete byte ptr [rsp + 19] # 1-byte Folded Spill vucomiss xmm0, dword ptr [rdx + 120] + setnp al + sete r9b + and r9b, al vmovss xmm0, dword ptr [rsi + 124] # xmm0 = mem[0],zero,zero,zero - sete byte ptr [rsp + 18] # 1-byte Folded Spill sub rsi, -128 vucomiss xmm0, dword ptr [rdx + 124] - sete dil + setnp al + sete r8b + and r8b, al + movzx eax, byte ptr [rsp + 13] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 4] # 1-byte Folded Reload + add al, byte ptr [rsp + 21] # 1-byte Folded Reload + shl dil, 5 shl r13b, 6 - shl r15b, 7 - or r15b, r13b - movzx r13d, byte ptr [rsp + 5] # 1-byte Folded Reload - shl r13b, 2 - or r13b, al - mov eax, r13d - add cl, cl - add cl, byte ptr [rsp + 8] # 1-byte Folded Reload + or r13b, dil + mov edi, r13d + movzx ecx, byte ptr [rsp + 20] # 1-byte Folded Reload + shl cl, 2 + or cl, al + mov eax, ebx + add al, bl + add al, byte ptr [rsp + 19] # 1-byte Folded Reload + mov r13d, eax + movzx eax, byte ptr [rsp + 3] # 1-byte Folded Reload + shl al, 7 + or al, dil + mov byte ptr [rsp + 3], al # 1-byte Spill + movzx eax, byte ptr [rsp + 18] # 1-byte Folded Reload + shl al, 2 + or al, r13b + mov edi, eax + movzx eax, byte ptr [rsp + 23] # 1-byte Folded Reload + shl al, 3 + or al, cl + movzx ebx, byte ptr [rsp + 17] # 1-byte Folded Reload + shl bl, 3 + or bl, dil movzx r13d, byte ptr [rsp + 22] # 1-byte Folded Reload - shl r13b, 3 + shl r13b, 4 or r13b, al - shl r9b, 2 - or r9b, cl - movzx ecx, byte ptr [rsp + 21] # 1-byte Folded Reload - shl cl, 4 - or cl, r13b - mov r13d, ecx + movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload + shl al, 4 + or al, bl + mov edi, eax + movzx ebx, byte ptr [rsp + 15] # 1-byte Folded Reload + shl bl, 5 + movzx eax, byte ptr [rsp + 12] # 1-byte Folded Reload + shl al, 6 + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 11] # 1-byte Folded Reload + shl al, 7 + or al, bl + movzx ebx, byte ptr [rsp + 10] # 1-byte Folded Reload + add bl, bl + add bl, byte ptr [rsp + 14] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 9] # 1-byte Folded Reload + shl cl, 2 + or cl, bl shl r11b, 3 - or r11b, r9b - movzx ecx, byte ptr [rsp + 23] # 1-byte Folded Reload - shl cl, 5 + or r11b, cl + movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload + shl bl, 4 + or bl, r11b + mov r12, qword ptr [rsp + 48] # 8-byte Reload + movzx r11d, byte ptr [rsp + 3] # 1-byte Folded Reload + or r11b, r13b + movzx r13d, byte ptr [rsp + 7] # 1-byte Folded Reload + shl r13b, 5 + movzx ecx, byte ptr [rsp + 5] # 1-byte Folded Reload + shl cl, 6 or cl, r13b - shl r10b, 4 - or r10b, r11b - movzx eax, byte ptr [rsp + 7] # 1-byte Folded Reload - shl al, 5 - or al, r10b - movzx r9d, byte ptr [rsp + 6] # 1-byte Folded Reload - shl r9b, 6 - shl bl, 7 - or bl, r9b - or r15b, cl - or bl, al - add r14b, r14b - add r14b, byte ptr [rsp + 14] # 1-byte Folded Reload - shl r12b, 2 - or r12b, r14b - mov r14, qword ptr [rsp + 48] # 8-byte Reload - movzx eax, byte ptr [rsp + 9] # 1-byte Folded Reload - shl al, 3 - or al, r12b - mov ecx, eax - movzx eax, byte ptr [rsp + 10] # 1-byte Folded Reload - shl al, 4 - or al, cl - mov ecx, eax - movzx eax, byte ptr [rsp + 11] # 1-byte Folded Reload - shl al, 5 - or al, cl - mov byte ptr [r14], r15b - movzx ecx, byte ptr [rsp + 12] # 1-byte Folded Reload - shl cl, 6 + or al, dil + shl r10b, 7 + or r10b, cl + or r10b, bl + movzx ecx, byte ptr [rsp + 32] # 1-byte Folded Reload + add cl, cl + add cl, byte ptr [rsp + 6] # 1-byte Folded Reload + shl r15b, 2 + or r15b, cl + shl r14b, 3 + or r14b, r15b + movzx ecx, byte ptr [rsp + 4] # 1-byte Folded Reload + shl cl, 4 + or cl, r14b + mov byte ptr [r12], r11b + movzx ebx, byte ptr [rsp + 40] # 1-byte Folded Reload + shl bl, 5 + shl r9b, 6 + or r9b, bl + mov byte ptr [r12 + 1], al shl r8b, 7 + or r8b, r9b or r8b, cl - mov byte ptr [r14 + 1], bl - or r8b, al - movzx eax, byte ptr [rsp + 13] # 1-byte Folded Reload - add al, al - add al, byte ptr [rsp + 20] # 1-byte Folded Reload - mov ecx, eax - movzx eax, byte ptr [rsp + 15] # 1-byte Folded Reload - shl al, 2 - or al, cl - mov ecx, eax - movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload - shl al, 3 - or al, cl - mov ecx, eax - movzx eax, byte ptr [rsp + 17] # 1-byte Folded Reload - shl al, 4 - or al, cl - movzx ecx, byte ptr [rsp + 19] # 1-byte Folded Reload - shl cl, 5 - or cl, al - movzx eax, byte ptr [rsp + 18] # 1-byte Folded Reload - shl al, 6 - shl dil, 7 - or dil, al - or dil, cl - mov byte ptr [r14 + 2], r8b - mov byte ptr [r14 + 3], dil + mov byte ptr [r12 + 2], r10b + mov byte ptr [r12 + 3], r8b add rdx, 128 - add r14, 4 - add qword ptr [rsp + 40], -1 # 8-byte Folded Spill + add r12, 4 + add qword ptr [rsp + 56], -1 # 8-byte Folded Spill jne .LBB0_118 # %bb.119: - mov r11, qword ptr [rsp + 24] # 8-byte Reload - mov r15, qword ptr [rsp + 32] # 8-byte Reload + mov r14, qword ptr [rsp + 24] # 8-byte Reload + mov r15, qword ptr [rsp + 64] # 8-byte Reload .LBB0_120: shl r15, 5 - cmp r15, r11 + cmp r15, r14 jge .LBB0_123 # %bb.121: - sub r11, r15 + sub r14, r15 xor ecx, ecx .p2align 4, 0x90 .LBB0_122: # =>This Inner Loop Header: Depth=1 + lea r9, [rcx + 1] vmovss xmm0, dword ptr [rsi + 4*rcx] # xmm0 = mem[0],zero,zero,zero vucomiss xmm0, dword ptr [rdx + 4*rcx] - lea r8, [rcx + 1] - sete bl - neg bl + setnp bl + sete al + and al, bl + neg al mov rdi, rcx shr rdi, 3 - movzx r9d, byte ptr [r14 + rdi] - xor bl, r9b + movzx r8d, byte ptr [r12 + rdi] + xor al, r8b and cl, 7 - mov al, 1 + mov bl, 1 # kill: def $cl killed $cl killed $rcx - shl al, cl - and al, bl - xor al, r9b - mov byte ptr [r14 + rdi], al - mov rcx, r8 - cmp r11, r8 + shl bl, cl + and bl, al + xor bl, r8b + mov byte ptr [r12 + rdi], bl + mov rcx, r9 + cmp r14, r9 jne .LBB0_122 jmp .LBB0_123 .LBB0_57: - lea r15, [r11 + 31] - test r11, r11 - cmovns r15, r11 - lea eax, [r9 + 7] - test r9d, r9d - cmovns eax, r9d - and eax, -8 - sub r9d, eax + lea r15, [r14 + 31] + test r14, r14 + cmovns r15, r14 + lea ecx, [rax + 7] + test eax, eax + cmovns ecx, eax + and ecx, -8 + sub eax, ecx je .LBB0_61 # %bb.58: - movsxd rax, r9d + cdqe .p2align 4, 0x90 .LBB0_59: # =>This Inner Loop Header: Depth=1 movzx ecx, byte ptr [rsi] @@ -2248,7 +2438,7 @@ comparison_equal_arr_arr_avx2: # @comparison_equal_arr_arr_avx2 test rax, rax cmovns rdi, rax sar rdi, 3 - movzx r8d, byte ptr [r14 + rdi] + movzx r8d, byte ptr [r12 + rdi] xor r10b, r8b lea r9d, [8*rdi] mov ecx, eax @@ -2258,50 +2448,50 @@ comparison_equal_arr_arr_avx2: # @comparison_equal_arr_arr_avx2 shl ebx, cl and bl, r10b xor bl, r8b - mov byte ptr [r14 + rdi], bl + mov byte ptr [r12 + rdi], bl add rax, 1 cmp rax, 8 jne .LBB0_59 # %bb.60: - add r14, 1 + add r12, 1 .LBB0_61: sar r15, 5 - cmp r11, 32 + cmp r14, 32 jl .LBB0_65 # %bb.62: - mov qword ptr [rsp + 24], r11 # 8-byte Spill - mov qword ptr [rsp + 56], r15 # 8-byte Spill + mov qword ptr [rsp + 24], r14 # 8-byte Spill mov qword ptr [rsp + 32], r15 # 8-byte Spill + mov qword ptr [rsp + 40], r15 # 8-byte Spill .p2align 4, 0x90 .LBB0_63: # =>This Inner Loop Header: Depth=1 - mov qword ptr [rsp + 48], r14 # 8-byte Spill + mov qword ptr [rsp + 48], r12 # 8-byte Spill movzx eax, byte ptr [rsi] movzx ecx, byte ptr [rsi + 1] cmp al, byte ptr [rdx] - sete byte ptr [rsp + 40] # 1-byte Folded Spill + sete byte ptr [rsp + 4] # 1-byte Folded Spill cmp cl, byte ptr [rdx + 1] - sete cl + sete bl movzx eax, byte ptr [rsi + 2] cmp al, byte ptr [rdx + 2] - sete byte ptr [rsp + 20] # 1-byte Folded Spill + sete byte ptr [rsp + 21] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 3] cmp al, byte ptr [rdx + 3] - sete byte ptr [rsp + 21] # 1-byte Folded Spill + sete byte ptr [rsp + 22] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 4] cmp al, byte ptr [rdx + 4] - sete byte ptr [rsp + 22] # 1-byte Folded Spill + sete byte ptr [rsp + 23] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 5] cmp al, byte ptr [rdx + 5] - sete byte ptr [rsp + 23] # 1-byte Folded Spill + sete byte ptr [rsp + 3] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 6] cmp al, byte ptr [rdx + 6] - sete byte ptr [rsp + 4] # 1-byte Folded Spill + sete byte ptr [rsp + 5] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 7] cmp al, byte ptr [rdx + 7] sete r15b movzx eax, byte ptr [rsi + 8] cmp al, byte ptr [rdx + 8] - sete byte ptr [rsp + 7] # 1-byte Folded Spill + sete byte ptr [rsp + 8] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 9] cmp al, byte ptr [rdx + 9] sete dil @@ -2316,16 +2506,16 @@ comparison_equal_arr_arr_avx2: # @comparison_equal_arr_arr_avx2 sete r14b movzx eax, byte ptr [rsi + 13] cmp al, byte ptr [rdx + 13] - sete byte ptr [rsp + 5] # 1-byte Folded Spill + sete byte ptr [rsp + 6] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 14] cmp al, byte ptr [rdx + 14] - sete byte ptr [rsp + 6] # 1-byte Folded Spill + sete byte ptr [rsp + 7] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 15] cmp al, byte ptr [rdx + 15] - sete bl + sete r8b movzx eax, byte ptr [rsi + 16] cmp al, byte ptr [rdx + 16] - sete byte ptr [rsp + 13] # 1-byte Folded Spill + sete byte ptr [rsp + 14] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 17] cmp al, byte ptr [rdx + 17] sete r12b @@ -2334,145 +2524,145 @@ comparison_equal_arr_arr_avx2: # @comparison_equal_arr_arr_avx2 sete r13b movzx eax, byte ptr [rsi + 19] cmp al, byte ptr [rdx + 19] - sete byte ptr [rsp + 8] # 1-byte Folded Spill + sete byte ptr [rsp + 9] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 20] cmp al, byte ptr [rdx + 20] - sete byte ptr [rsp + 9] # 1-byte Folded Spill + sete byte ptr [rsp + 10] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 21] cmp al, byte ptr [rdx + 21] - sete byte ptr [rsp + 10] # 1-byte Folded Spill + sete byte ptr [rsp + 11] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 22] cmp al, byte ptr [rdx + 22] - sete byte ptr [rsp + 11] # 1-byte Folded Spill + sete byte ptr [rsp + 12] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 23] cmp al, byte ptr [rdx + 23] sete r9b movzx eax, byte ptr [rsi + 24] cmp al, byte ptr [rdx + 24] - sete byte ptr [rsp + 19] # 1-byte Folded Spill + sete byte ptr [rsp + 20] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 25] cmp al, byte ptr [rdx + 25] - sete byte ptr [rsp + 12] # 1-byte Folded Spill + sete byte ptr [rsp + 13] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 26] cmp al, byte ptr [rdx + 26] - sete byte ptr [rsp + 14] # 1-byte Folded Spill + sete byte ptr [rsp + 15] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 27] cmp al, byte ptr [rdx + 27] - sete byte ptr [rsp + 15] # 1-byte Folded Spill + sete byte ptr [rsp + 16] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 28] cmp al, byte ptr [rdx + 28] - sete byte ptr [rsp + 16] # 1-byte Folded Spill + sete byte ptr [rsp + 17] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 29] cmp al, byte ptr [rdx + 29] - sete byte ptr [rsp + 17] # 1-byte Folded Spill + sete byte ptr [rsp + 18] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 30] cmp al, byte ptr [rdx + 30] - sete byte ptr [rsp + 18] # 1-byte Folded Spill + sete byte ptr [rsp + 19] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 31] add rsi, 32 cmp al, byte ptr [rdx + 31] - sete r8b - add cl, cl - add cl, byte ptr [rsp + 40] # 1-byte Folded Reload - mov eax, ecx - movzx ecx, byte ptr [rsp + 4] # 1-byte Folded Reload - shl cl, 6 + sete cl + add bl, bl + add bl, byte ptr [rsp + 4] # 1-byte Folded Reload + mov eax, ebx + movzx ebx, byte ptr [rsp + 5] # 1-byte Folded Reload + shl bl, 6 shl r15b, 7 - or r15b, cl - movzx ecx, byte ptr [rsp + 20] # 1-byte Folded Reload - shl cl, 2 - or cl, al - mov eax, ecx + or r15b, bl + movzx ebx, byte ptr [rsp + 21] # 1-byte Folded Reload + shl bl, 2 + or bl, al + mov eax, ebx add dil, dil - add dil, byte ptr [rsp + 7] # 1-byte Folded Reload - movzx ecx, byte ptr [rsp + 21] # 1-byte Folded Reload - shl cl, 3 - or cl, al - mov eax, ecx + add dil, byte ptr [rsp + 8] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 22] # 1-byte Folded Reload + shl bl, 3 + or bl, al + mov eax, ebx shl r10b, 2 or r10b, dil - movzx ecx, byte ptr [rsp + 22] # 1-byte Folded Reload - shl cl, 4 - or cl, al - mov edi, ecx + movzx ebx, byte ptr [rsp + 23] # 1-byte Folded Reload + shl bl, 4 + or bl, al + mov edi, ebx shl r11b, 3 or r11b, r10b - movzx ecx, byte ptr [rsp + 23] # 1-byte Folded Reload - shl cl, 5 - or cl, dil + movzx ebx, byte ptr [rsp + 3] # 1-byte Folded Reload + shl bl, 5 + or bl, dil shl r14b, 4 or r14b, r11b - movzx eax, byte ptr [rsp + 5] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 6] # 1-byte Folded Reload shl al, 5 or al, r14b - movzx edi, byte ptr [rsp + 6] # 1-byte Folded Reload + movzx edi, byte ptr [rsp + 7] # 1-byte Folded Reload shl dil, 6 - shl bl, 7 - or bl, dil - or r15b, cl - or bl, al + shl r8b, 7 + or r8b, dil + or r15b, bl + or r8b, al add r12b, r12b - add r12b, byte ptr [rsp + 13] # 1-byte Folded Reload + add r12b, byte ptr [rsp + 14] # 1-byte Folded Reload shl r13b, 2 or r13b, r12b - mov r14, qword ptr [rsp + 48] # 8-byte Reload - movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + mov r12, qword ptr [rsp + 48] # 8-byte Reload + movzx eax, byte ptr [rsp + 9] # 1-byte Folded Reload shl al, 3 or al, r13b - mov ecx, eax - movzx eax, byte ptr [rsp + 9] # 1-byte Folded Reload - shl al, 4 - or al, cl - mov ecx, eax + mov ebx, eax movzx eax, byte ptr [rsp + 10] # 1-byte Folded Reload + shl al, 4 + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 11] # 1-byte Folded Reload shl al, 5 - or al, cl - mov byte ptr [r14], r15b - movzx ecx, byte ptr [rsp + 11] # 1-byte Folded Reload - shl cl, 6 + or al, bl + mov byte ptr [r12], r15b + movzx ebx, byte ptr [rsp + 12] # 1-byte Folded Reload + shl bl, 6 shl r9b, 7 - or r9b, cl - mov byte ptr [r14 + 1], bl + or r9b, bl + mov byte ptr [r12 + 1], r8b or r9b, al - movzx eax, byte ptr [rsp + 12] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 13] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 19] # 1-byte Folded Reload - mov ecx, eax - movzx eax, byte ptr [rsp + 14] # 1-byte Folded Reload - shl al, 2 - or al, cl - mov ecx, eax + add al, byte ptr [rsp + 20] # 1-byte Folded Reload + mov ebx, eax movzx eax, byte ptr [rsp + 15] # 1-byte Folded Reload - shl al, 3 - or al, cl - mov ecx, eax + shl al, 2 + or al, bl + mov ebx, eax movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload - shl al, 4 - or al, cl - mov ecx, eax + shl al, 3 + or al, bl + mov ebx, eax movzx eax, byte ptr [rsp + 17] # 1-byte Folded Reload + shl al, 4 + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 18] # 1-byte Folded Reload shl al, 5 - or al, cl - movzx ecx, byte ptr [rsp + 18] # 1-byte Folded Reload - shl cl, 6 - shl r8b, 7 - or r8b, cl - or r8b, al - mov byte ptr [r14 + 2], r9b - mov byte ptr [r14 + 3], r8b + or al, bl + movzx ebx, byte ptr [rsp + 19] # 1-byte Folded Reload + shl bl, 6 + shl cl, 7 + or cl, bl + or cl, al + mov byte ptr [r12 + 2], r9b + mov byte ptr [r12 + 3], cl add rdx, 32 - add r14, 4 - add qword ptr [rsp + 32], -1 # 8-byte Folded Spill + add r12, 4 + add qword ptr [rsp + 40], -1 # 8-byte Folded Spill jne .LBB0_63 # %bb.64: - mov r11, qword ptr [rsp + 24] # 8-byte Reload - mov r15, qword ptr [rsp + 56] # 8-byte Reload + mov r14, qword ptr [rsp + 24] # 8-byte Reload + mov r15, qword ptr [rsp + 32] # 8-byte Reload .LBB0_65: shl r15, 5 - cmp r15, r11 + cmp r15, r14 jge .LBB0_123 # %bb.66: - sub r11, r15 + sub r14, r15 xor ecx, ecx .p2align 4, 0x90 .LBB0_67: # =>This Inner Loop Header: Depth=1 @@ -2483,7 +2673,7 @@ comparison_equal_arr_arr_avx2: # @comparison_equal_arr_arr_avx2 neg bl mov rdi, rcx shr rdi, 3 - movzx r9d, byte ptr [r14 + rdi] + movzx r9d, byte ptr [r12 + rdi] xor bl, r9b and cl, 7 mov al, 1 @@ -2491,23 +2681,23 @@ comparison_equal_arr_arr_avx2: # @comparison_equal_arr_arr_avx2 shl al, cl and al, bl xor al, r9b - mov byte ptr [r14 + rdi], al + mov byte ptr [r12 + rdi], al mov rcx, r8 - cmp r11, r8 + cmp r14, r8 jne .LBB0_67 jmp .LBB0_123 .LBB0_90: - lea r15, [r11 + 31] - test r11, r11 - cmovns r15, r11 - lea eax, [r9 + 7] - test r9d, r9d - cmovns eax, r9d - and eax, -8 - sub r9d, eax + lea r15, [r14 + 31] + test r14, r14 + cmovns r15, r14 + lea ecx, [rax + 7] + test eax, eax + cmovns ecx, eax + and ecx, -8 + sub eax, ecx je .LBB0_94 # %bb.91: - movsxd rax, r9d + cdqe .p2align 4, 0x90 .LBB0_92: # =>This Inner Loop Header: Depth=1 mov ecx, dword ptr [rsi] @@ -2520,7 +2710,7 @@ comparison_equal_arr_arr_avx2: # @comparison_equal_arr_arr_avx2 test rax, rax cmovns rdi, rax sar rdi, 3 - movzx r8d, byte ptr [r14 + rdi] + movzx r8d, byte ptr [r12 + rdi] xor r10b, r8b lea r9d, [8*rdi] mov ecx, eax @@ -2530,50 +2720,50 @@ comparison_equal_arr_arr_avx2: # @comparison_equal_arr_arr_avx2 shl ebx, cl and bl, r10b xor bl, r8b - mov byte ptr [r14 + rdi], bl + mov byte ptr [r12 + rdi], bl add rax, 1 cmp rax, 8 jne .LBB0_92 # %bb.93: - add r14, 1 + add r12, 1 .LBB0_94: sar r15, 5 - cmp r11, 32 + cmp r14, 32 jl .LBB0_98 # %bb.95: - mov qword ptr [rsp + 24], r11 # 8-byte Spill - mov qword ptr [rsp + 64], r15 # 8-byte Spill + mov qword ptr [rsp + 24], r14 # 8-byte Spill mov qword ptr [rsp + 56], r15 # 8-byte Spill + mov qword ptr [rsp + 32], r15 # 8-byte Spill .p2align 4, 0x90 .LBB0_96: # =>This Inner Loop Header: Depth=1 - mov qword ptr [rsp + 48], r14 # 8-byte Spill + mov qword ptr [rsp + 48], r12 # 8-byte Spill mov eax, dword ptr [rsi] mov ecx, dword ptr [rsi + 4] cmp eax, dword ptr [rdx] - sete byte ptr [rsp + 40] # 1-byte Folded Spill + sete byte ptr [rsp + 4] # 1-byte Folded Spill cmp ecx, dword ptr [rdx + 4] - sete byte ptr [rsp + 32] # 1-byte Folded Spill + sete byte ptr [rsp + 40] # 1-byte Folded Spill mov eax, dword ptr [rsi + 8] cmp eax, dword ptr [rdx + 8] - sete byte ptr [rsp + 20] # 1-byte Folded Spill + sete byte ptr [rsp + 21] # 1-byte Folded Spill mov eax, dword ptr [rsi + 12] cmp eax, dword ptr [rdx + 12] - sete byte ptr [rsp + 21] # 1-byte Folded Spill + sete byte ptr [rsp + 22] # 1-byte Folded Spill mov eax, dword ptr [rsi + 16] cmp eax, dword ptr [rdx + 16] - sete byte ptr [rsp + 22] # 1-byte Folded Spill + sete byte ptr [rsp + 23] # 1-byte Folded Spill mov eax, dword ptr [rsi + 20] cmp eax, dword ptr [rdx + 20] - sete byte ptr [rsp + 23] # 1-byte Folded Spill + sete byte ptr [rsp + 3] # 1-byte Folded Spill mov eax, dword ptr [rsi + 24] cmp eax, dword ptr [rdx + 24] - sete byte ptr [rsp + 4] # 1-byte Folded Spill + sete byte ptr [rsp + 5] # 1-byte Folded Spill mov eax, dword ptr [rsi + 28] cmp eax, dword ptr [rdx + 28] sete r13b mov eax, dword ptr [rsi + 32] cmp eax, dword ptr [rdx + 32] - sete byte ptr [rsp + 9] # 1-byte Folded Spill + sete byte ptr [rsp + 10] # 1-byte Folded Spill mov eax, dword ptr [rsi + 36] cmp eax, dword ptr [rdx + 36] sete r8b @@ -2585,166 +2775,166 @@ comparison_equal_arr_arr_avx2: # @comparison_equal_arr_arr_avx2 sete r15b mov eax, dword ptr [rsi + 48] cmp eax, dword ptr [rdx + 48] - sete byte ptr [rsp + 5] # 1-byte Folded Spill + sete byte ptr [rsp + 6] # 1-byte Folded Spill mov eax, dword ptr [rsi + 52] cmp eax, dword ptr [rdx + 52] - sete byte ptr [rsp + 6] # 1-byte Folded Spill + sete byte ptr [rsp + 7] # 1-byte Folded Spill mov eax, dword ptr [rsi + 56] cmp eax, dword ptr [rdx + 56] - sete byte ptr [rsp + 7] # 1-byte Folded Spill + sete byte ptr [rsp + 8] # 1-byte Folded Spill mov eax, dword ptr [rsi + 60] cmp eax, dword ptr [rdx + 60] - sete bl + sete dil mov eax, dword ptr [rsi + 64] - mov ecx, dword ptr [rsi + 68] + mov ebx, dword ptr [rsi + 68] cmp eax, dword ptr [rdx + 64] mov eax, dword ptr [rsi + 72] - sete byte ptr [rsp + 10] # 1-byte Folded Spill - cmp ecx, dword ptr [rdx + 68] - mov ecx, dword ptr [rsi + 76] + sete byte ptr [rsp + 11] # 1-byte Folded Spill + cmp ebx, dword ptr [rdx + 68] + mov ebx, dword ptr [rsi + 76] sete r10b cmp eax, dword ptr [rdx + 72] mov eax, dword ptr [rsi + 80] sete r14b - cmp ecx, dword ptr [rdx + 76] - mov ecx, dword ptr [rsi + 84] + cmp ebx, dword ptr [rdx + 76] + mov ebx, dword ptr [rsi + 84] sete r12b cmp eax, dword ptr [rdx + 80] - sete byte ptr [rsp + 8] # 1-byte Folded Spill - cmp ecx, dword ptr [rdx + 84] + sete byte ptr [rsp + 9] # 1-byte Folded Spill + cmp ebx, dword ptr [rdx + 84] mov eax, dword ptr [rsi + 88] - sete byte ptr [rsp + 11] # 1-byte Folded Spill + sete byte ptr [rsp + 12] # 1-byte Folded Spill cmp eax, dword ptr [rdx + 88] mov eax, dword ptr [rsi + 92] - sete byte ptr [rsp + 12] # 1-byte Folded Spill + sete byte ptr [rsp + 13] # 1-byte Folded Spill cmp eax, dword ptr [rdx + 92] mov eax, dword ptr [rsi + 96] sete r9b cmp eax, dword ptr [rdx + 96] mov eax, dword ptr [rsi + 100] - sete byte ptr [rsp + 19] # 1-byte Folded Spill + sete byte ptr [rsp + 20] # 1-byte Folded Spill cmp eax, dword ptr [rdx + 100] mov eax, dword ptr [rsi + 104] - sete byte ptr [rsp + 13] # 1-byte Folded Spill + sete byte ptr [rsp + 14] # 1-byte Folded Spill cmp eax, dword ptr [rdx + 104] mov eax, dword ptr [rsi + 108] - sete byte ptr [rsp + 14] # 1-byte Folded Spill + sete byte ptr [rsp + 15] # 1-byte Folded Spill cmp eax, dword ptr [rdx + 108] mov eax, dword ptr [rsi + 112] - sete byte ptr [rsp + 15] # 1-byte Folded Spill + sete byte ptr [rsp + 16] # 1-byte Folded Spill cmp eax, dword ptr [rdx + 112] mov eax, dword ptr [rsi + 116] - sete byte ptr [rsp + 16] # 1-byte Folded Spill + sete byte ptr [rsp + 17] # 1-byte Folded Spill cmp eax, dword ptr [rdx + 116] mov eax, dword ptr [rsi + 120] - sete byte ptr [rsp + 18] # 1-byte Folded Spill + sete byte ptr [rsp + 19] # 1-byte Folded Spill cmp eax, dword ptr [rdx + 120] mov eax, dword ptr [rsi + 124] - sete byte ptr [rsp + 17] # 1-byte Folded Spill + sete byte ptr [rsp + 18] # 1-byte Folded Spill sub rsi, -128 cmp eax, dword ptr [rdx + 124] - sete dil - movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload + sete cl + movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 40] # 1-byte Folded Reload - mov ecx, eax - movzx eax, byte ptr [rsp + 4] # 1-byte Folded Reload + add al, byte ptr [rsp + 4] # 1-byte Folded Reload + mov ebx, eax + movzx eax, byte ptr [rsp + 5] # 1-byte Folded Reload shl al, 6 shl r13b, 7 or r13b, al - movzx eax, byte ptr [rsp + 20] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 21] # 1-byte Folded Reload shl al, 2 - or al, cl + or al, bl add r8b, r8b - add r8b, byte ptr [rsp + 9] # 1-byte Folded Reload - movzx ecx, byte ptr [rsp + 21] # 1-byte Folded Reload - shl cl, 3 - or cl, al - mov eax, ecx + add r8b, byte ptr [rsp + 10] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 22] # 1-byte Folded Reload + shl bl, 3 + or bl, al + mov eax, ebx shl r11b, 2 or r11b, r8b - movzx ecx, byte ptr [rsp + 22] # 1-byte Folded Reload - shl cl, 4 - or cl, al - mov r8d, ecx + movzx ebx, byte ptr [rsp + 23] # 1-byte Folded Reload + shl bl, 4 + or bl, al + mov r8d, ebx shl r15b, 3 or r15b, r11b - movzx ecx, byte ptr [rsp + 23] # 1-byte Folded Reload - shl cl, 5 - or cl, r8b - movzx eax, byte ptr [rsp + 5] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 3] # 1-byte Folded Reload + shl bl, 5 + or bl, r8b + movzx eax, byte ptr [rsp + 6] # 1-byte Folded Reload shl al, 4 or al, r15b mov r8d, eax - movzx eax, byte ptr [rsp + 6] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 7] # 1-byte Folded Reload shl al, 5 or al, r8b - movzx r8d, byte ptr [rsp + 7] # 1-byte Folded Reload + movzx r8d, byte ptr [rsp + 8] # 1-byte Folded Reload shl r8b, 6 - shl bl, 7 - or bl, r8b - or r13b, cl - or bl, al + shl dil, 7 + or dil, r8b + or r13b, bl + or dil, al add r10b, r10b - add r10b, byte ptr [rsp + 10] # 1-byte Folded Reload + add r10b, byte ptr [rsp + 11] # 1-byte Folded Reload shl r14b, 2 or r14b, r10b shl r12b, 3 or r12b, r14b - movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 9] # 1-byte Folded Reload shl al, 4 or al, r12b - mov ecx, eax - mov r14, qword ptr [rsp + 48] # 8-byte Reload - movzx eax, byte ptr [rsp + 11] # 1-byte Folded Reload + mov ebx, eax + mov r12, qword ptr [rsp + 48] # 8-byte Reload + movzx eax, byte ptr [rsp + 12] # 1-byte Folded Reload shl al, 5 - or al, cl - mov byte ptr [r14], r13b - movzx ecx, byte ptr [rsp + 12] # 1-byte Folded Reload - shl cl, 6 + or al, bl + mov byte ptr [r12], r13b + movzx ebx, byte ptr [rsp + 13] # 1-byte Folded Reload + shl bl, 6 shl r9b, 7 - or r9b, cl - mov byte ptr [r14 + 1], bl + or r9b, bl + mov byte ptr [r12 + 1], dil or r9b, al - movzx eax, byte ptr [rsp + 13] # 1-byte Folded Reload - add al, al - add al, byte ptr [rsp + 19] # 1-byte Folded Reload - mov ecx, eax movzx eax, byte ptr [rsp + 14] # 1-byte Folded Reload - shl al, 2 - or al, cl - mov ecx, eax + add al, al + add al, byte ptr [rsp + 20] # 1-byte Folded Reload + mov ebx, eax movzx eax, byte ptr [rsp + 15] # 1-byte Folded Reload - shl al, 3 - or al, cl - mov ecx, eax + shl al, 2 + or al, bl + mov ebx, eax movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload + shl al, 3 + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 17] # 1-byte Folded Reload shl al, 4 - or al, cl - mov ecx, eax - movzx eax, byte ptr [rsp + 18] # 1-byte Folded Reload + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 19] # 1-byte Folded Reload shl al, 5 - or al, cl - movzx ecx, byte ptr [rsp + 17] # 1-byte Folded Reload - shl cl, 6 - shl dil, 7 - or dil, cl - or dil, al - mov byte ptr [r14 + 2], r9b - mov byte ptr [r14 + 3], dil + or al, bl + movzx ebx, byte ptr [rsp + 18] # 1-byte Folded Reload + shl bl, 6 + shl cl, 7 + or cl, bl + or cl, al + mov byte ptr [r12 + 2], r9b + mov byte ptr [r12 + 3], cl add rdx, 128 - add r14, 4 - add qword ptr [rsp + 56], -1 # 8-byte Folded Spill + add r12, 4 + add qword ptr [rsp + 32], -1 # 8-byte Folded Spill jne .LBB0_96 # %bb.97: - mov r11, qword ptr [rsp + 24] # 8-byte Reload - mov r15, qword ptr [rsp + 64] # 8-byte Reload + mov r14, qword ptr [rsp + 24] # 8-byte Reload + mov r15, qword ptr [rsp + 56] # 8-byte Reload .LBB0_98: shl r15, 5 - cmp r15, r11 + cmp r15, r14 jge .LBB0_123 # %bb.99: - sub r11, r15 + sub r14, r15 xor ecx, ecx .p2align 4, 0x90 .LBB0_100: # =>This Inner Loop Header: Depth=1 @@ -2755,7 +2945,7 @@ comparison_equal_arr_arr_avx2: # @comparison_equal_arr_arr_avx2 neg bl mov rdi, rcx shr rdi, 3 - movzx r9d, byte ptr [r14 + rdi] + movzx r9d, byte ptr [r12 + rdi] xor bl, r9b and cl, 7 mov al, 1 @@ -2763,9 +2953,9 @@ comparison_equal_arr_arr_avx2: # @comparison_equal_arr_arr_avx2 shl al, cl and al, bl xor al, r9b - mov byte ptr [r14 + rdi], al + mov byte ptr [r12 + rdi], al mov rcx, r8 - cmp r11, r8 + cmp r14, r8 jne .LBB0_100 .LBB0_123: lea rsp, [rbp - 40] @@ -2826,7 +3016,7 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 je .LBB1_57 # %bb.4: cmp edi, 6 - jne .LBB1_164 + jne .LBB1_165 # %bb.5: mov r13d, dword ptr [rdx] lea r15, [r10 + 31] @@ -2872,15 +3062,15 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 jl .LBB1_101 # %bb.10: mov qword ptr [rsp + 280], r10 # 8-byte Spill - mov qword ptr [rsp + 176], r15 # 8-byte Spill mov qword ptr [rsp + 168], r15 # 8-byte Spill + mov qword ptr [rsp + 176], r15 # 8-byte Spill mov qword ptr [rsp + 272], r11 # 8-byte Spill .p2align 4, 0x90 .LBB1_11: # =>This Inner Loop Header: Depth=1 cmp dword ptr [rsi], r13d sete byte ptr [rsp + 152] # 1-byte Folded Spill cmp dword ptr [rsi + 4], r13d - sete dil + sete r10b cmp dword ptr [rsi + 8], r13d sete r14b cmp dword ptr [rsi + 12], r13d @@ -2896,11 +3086,11 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 cmp dword ptr [rsi + 32], r13d sete byte ptr [rsp + 104] # 1-byte Folded Spill cmp dword ptr [rsi + 36], r13d - sete dl + sete dil cmp dword ptr [rsi + 40], r13d - sete r9b + sete r8b cmp dword ptr [rsi + 44], r13d - sete r10b + sete r9b cmp dword ptr [rsi + 48], r13d sete r11b cmp dword ptr [rsi + 52], r13d @@ -2940,67 +3130,68 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 cmp dword ptr [rsi + 120], r13d sete byte ptr [rsp + 28] # 1-byte Folded Spill cmp dword ptr [rsi + 124], r13d - sete r8b - add dil, dil - add dil, byte ptr [rsp + 152] # 1-byte Folded Reload + sete dl + add r10b, r10b + add r10b, byte ptr [rsp + 152] # 1-byte Folded Reload shl al, 6 shl bl, 7 or bl, al shl r14b, 2 - or r14b, dil - add dl, dl - add dl, byte ptr [rsp + 104] # 1-byte Folded Reload + or r14b, r10b + add dil, dil + add dil, byte ptr [rsp + 104] # 1-byte Folded Reload movzx eax, byte ptr [rsp + 160] # 1-byte Folded Reload shl al, 3 or al, r14b - shl r9b, 2 - or r9b, dl - movzx edx, byte ptr [rsp + 136] # 1-byte Folded Reload - shl dl, 4 - or dl, al - mov edi, edx - shl r10b, 3 - or r10b, r9b - movzx edx, byte ptr [rsp + 88] # 1-byte Folded Reload - shl dl, 5 - or dl, dil + mov r10d, eax + shl r8b, 2 + or r8b, dil + movzx eax, byte ptr [rsp + 136] # 1-byte Folded Reload + shl al, 4 + or al, r10b + mov edi, eax + shl r9b, 3 + or r9b, r8b + movzx eax, byte ptr [rsp + 88] # 1-byte Folded Reload + shl al, 5 + or al, dil shl r11b, 4 - or r11b, r10b + or r11b, r9b shl r12b, 5 or r12b, r11b movzx edi, byte ptr [rsp + 112] # 1-byte Folded Reload shl dil, 6 shl cl, 7 or cl, dil - or bl, dl + or bl, al or cl, r12b - movzx edx, byte ptr [rsp + 120] # 1-byte Folded Reload - add dl, dl - add dl, byte ptr [rsp + 72] # 1-byte Folded Reload - mov edi, edx - movzx edx, byte ptr [rsp + 128] # 1-byte Folded Reload - shl dl, 2 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 144] # 1-byte Folded Reload - shl dl, 3 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 80] # 1-byte Folded Reload - shl dl, 4 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 96] # 1-byte Folded Reload - shl dl, 5 - or dl, dil - mov edi, edx - mov rdx, qword ptr [rsp + 272] # 8-byte Reload - mov byte ptr [rdx], bl + movzx eax, byte ptr [rsp + 120] # 1-byte Folded Reload + add al, al + add al, byte ptr [rsp + 72] # 1-byte Folded Reload + mov edi, eax + movzx eax, byte ptr [rsp + 128] # 1-byte Folded Reload + shl al, 2 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 144] # 1-byte Folded Reload + shl al, 3 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 80] # 1-byte Folded Reload + shl al, 4 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 96] # 1-byte Folded Reload + shl al, 5 + or al, dil + mov edi, eax + mov rax, qword ptr [rsp + 272] # 8-byte Reload + mov byte ptr [rax], bl movzx ebx, byte ptr [rsp + 64] # 1-byte Folded Reload shl bl, 6 shl r15b, 7 or r15b, bl - mov byte ptr [rdx + 1], cl + mov byte ptr [rax + 1], cl or r15b, dil movzx ecx, byte ptr [rsp + 48] # 1-byte Folded Reload add cl, cl @@ -3023,24 +3214,24 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 or cl, bl movzx ebx, byte ptr [rsp + 28] # 1-byte Folded Reload shl bl, 6 - shl r8b, 7 - or r8b, bl - or r8b, cl - mov byte ptr [rdx + 2], r15b - mov byte ptr [rdx + 3], r8b + shl dl, 7 + or dl, bl + or dl, cl + mov byte ptr [rax + 2], r15b + mov byte ptr [rax + 3], dl add rsi, 128 - add rdx, 4 - mov qword ptr [rsp + 272], rdx # 8-byte Spill - add qword ptr [rsp + 168], -1 # 8-byte Folded Spill + add rax, 4 + mov qword ptr [rsp + 272], rax # 8-byte Spill + add qword ptr [rsp + 176], -1 # 8-byte Folded Spill jne .LBB1_11 # %bb.12: mov r14, qword ptr [rsp + 272] # 8-byte Reload mov r10, qword ptr [rsp + 280] # 8-byte Reload - mov r15, qword ptr [rsp + 176] # 8-byte Reload + mov r15, qword ptr [rsp + 168] # 8-byte Reload shl r15, 5 cmp r15, r10 jl .LBB1_102 - jmp .LBB1_164 + jmp .LBB1_165 .LBB1_13: cmp edi, 8 jle .LBB1_39 @@ -3052,7 +3243,7 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 je .LBB1_73 # %bb.16: cmp edi, 12 - jne .LBB1_164 + jne .LBB1_165 # %bb.17: lea r15, [r10 + 31] test r10, r10 @@ -3070,7 +3261,9 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 .LBB1_19: # =>This Inner Loop Header: Depth=1 vucomisd xmm0, qword ptr [rsi] lea rsi, [rsi + 8] + setnp cl sete dl + and dl, cl neg dl lea rdi, [rax + 7] test rax, rax @@ -3099,163 +3292,248 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 # %bb.22: mov qword ptr [rsp + 280], r10 # 8-byte Spill mov qword ptr [rsp + 168], r15 # 8-byte Spill - mov qword ptr [rsp + 152], r15 # 8-byte Spill + mov qword ptr [rsp + 176], r15 # 8-byte Spill mov qword ptr [rsp + 272], r11 # 8-byte Spill .p2align 4, 0x90 .LBB1_23: # =>This Inner Loop Header: Depth=1 vucomisd xmm0, qword ptr [rsi] - sete byte ptr [rsp + 160] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 32], cl # 1-byte Spill vucomisd xmm0, qword ptr [rsi + 8] - sete r9b + setnp al + sete bl + and bl, al vucomisd xmm0, qword ptr [rsi + 16] - sete r14b - vucomisd xmm0, qword ptr [rsi + 24] + setnp al sete r13b + and r13b, al + vucomisd xmm0, qword ptr [rsi + 24] + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 320], cl # 1-byte Spill vucomisd xmm0, qword ptr [rsi + 32] - sete byte ptr [rsp + 136] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 288], cl # 1-byte Spill vucomisd xmm0, qword ptr [rsi + 40] - sete byte ptr [rsp + 88] # 1-byte Folded Spill + setnp al + sete dil + and dil, al vucomisd xmm0, qword ptr [rsi + 48] - sete al + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 56], cl # 1-byte Spill vucomisd xmm0, qword ptr [rsi + 56] - sete bl + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 28], cl # 1-byte Spill vucomisd xmm0, qword ptr [rsi + 64] - sete byte ptr [rsp + 112] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 40], cl # 1-byte Spill vucomisd xmm0, qword ptr [rsi + 72] - sete dl + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 48], cl # 1-byte Spill vucomisd xmm0, qword ptr [rsi + 80] - sete dil + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 64], cl # 1-byte Spill vucomisd xmm0, qword ptr [rsi + 88] - sete r10b + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 96], cl # 1-byte Spill vucomisd xmm0, qword ptr [rsi + 96] - sete r11b + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 88], cl # 1-byte Spill vucomisd xmm0, qword ptr [rsi + 104] - sete r12b + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 80], cl # 1-byte Spill vucomisd xmm0, qword ptr [rsi + 112] - sete byte ptr [rsp + 120] # 1-byte Folded Spill + setnp al + sete dl + and dl, al vucomisd xmm0, qword ptr [rsi + 120] + setnp al sete cl + and cl, al + mov byte ptr [rsp + 72], cl # 1-byte Spill vucomisd xmm0, qword ptr [rsi + 128] - sete byte ptr [rsp + 72] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 144], cl # 1-byte Spill vucomisd xmm0, qword ptr [rsi + 136] - sete byte ptr [rsp + 104] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 136], cl # 1-byte Spill vucomisd xmm0, qword ptr [rsi + 144] - sete byte ptr [rsp + 128] # 1-byte Folded Spill + setnp al + sete cl + and cl, al vucomisd xmm0, qword ptr [rsi + 152] - sete byte ptr [rsp + 144] # 1-byte Folded Spill + setnp r8b + sete al + and al, r8b + mov byte ptr [rsp + 128], al # 1-byte Spill vucomisd xmm0, qword ptr [rsi + 160] - sete byte ptr [rsp + 80] # 1-byte Folded Spill + setnp r8b + sete al + and al, r8b + mov byte ptr [rsp + 120], al # 1-byte Spill vucomisd xmm0, qword ptr [rsi + 168] - sete byte ptr [rsp + 96] # 1-byte Folded Spill + setnp r8b + sete al + and al, r8b + mov byte ptr [rsp + 104], al # 1-byte Spill vucomisd xmm0, qword ptr [rsi + 176] - sete byte ptr [rsp + 64] # 1-byte Folded Spill + setnp al + sete r12b + and r12b, al vucomisd xmm0, qword ptr [rsi + 184] - sete r15b + setnp al + sete r10b + and r10b, al vucomisd xmm0, qword ptr [rsi + 192] - sete byte ptr [rsp + 32] # 1-byte Folded Spill + setnp r8b + sete al + and al, r8b + mov byte ptr [rsp + 112], al # 1-byte Spill vucomisd xmm0, qword ptr [rsi + 200] - sete byte ptr [rsp + 48] # 1-byte Folded Spill + setnp al + sete r15b + and r15b, al vucomisd xmm0, qword ptr [rsi + 208] - sete byte ptr [rsp + 56] # 1-byte Folded Spill + setnp al + sete r14b + and r14b, al vucomisd xmm0, qword ptr [rsi + 216] - sete byte ptr [rsp + 40] # 1-byte Folded Spill + setnp al + sete r11b + and r11b, al vucomisd xmm0, qword ptr [rsi + 224] - sete byte ptr [rsp + 320] # 1-byte Folded Spill + setnp r8b + sete al + and al, r8b + mov byte ptr [rsp + 160], al # 1-byte Spill vucomisd xmm0, qword ptr [rsi + 232] - sete byte ptr [rsp + 288] # 1-byte Folded Spill + setnp r8b + sete al + and al, r8b + mov byte ptr [rsp + 152], al # 1-byte Spill vucomisd xmm0, qword ptr [rsi + 240] - sete byte ptr [rsp + 28] # 1-byte Folded Spill + setnp al + sete r9b + and r9b, al vucomisd xmm0, qword ptr [rsi + 248] + setnp al sete r8b - add r9b, r9b - add r9b, byte ptr [rsp + 160] # 1-byte Folded Reload + and r8b, al + add bl, bl + add bl, byte ptr [rsp + 32] # 1-byte Folded Reload + shl dil, 5 + movzx eax, byte ptr [rsp + 56] # 1-byte Folded Reload shl al, 6 - shl bl, 7 - or bl, al - shl r14b, 2 - or r14b, r9b - add dl, dl - add dl, byte ptr [rsp + 112] # 1-byte Folded Reload - shl r13b, 3 - or r13b, r14b - shl dil, 2 - or dil, dl - movzx edx, byte ptr [rsp + 136] # 1-byte Folded Reload - shl dl, 4 - or dl, r13b - mov r9d, edx - shl r10b, 3 - or r10b, dil - movzx edx, byte ptr [rsp + 88] # 1-byte Folded Reload - shl dl, 5 - or dl, r9b - shl r11b, 4 - or r11b, r10b - shl r12b, 5 - or r12b, r11b - movzx edi, byte ptr [rsp + 120] # 1-byte Folded Reload - shl dil, 6 - shl cl, 7 - or cl, dil - or bl, dl - or cl, r12b - movzx eax, byte ptr [rsp + 104] # 1-byte Folded Reload + or al, dil + mov edi, eax + shl r13b, 2 + or r13b, bl + movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 72] # 1-byte Folded Reload + add al, byte ptr [rsp + 40] # 1-byte Folded Reload + mov ebx, eax + movzx eax, byte ptr [rsp + 28] # 1-byte Folded Reload + shl al, 7 + or al, dil + mov byte ptr [rsp + 28], al # 1-byte Spill + movzx eax, byte ptr [rsp + 64] # 1-byte Folded Reload + shl al, 2 + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 320] # 1-byte Folded Reload + shl al, 3 + or al, r13b + mov r13d, eax + movzx eax, byte ptr [rsp + 96] # 1-byte Folded Reload + shl al, 3 + or al, bl + mov edi, eax + movzx eax, byte ptr [rsp + 288] # 1-byte Folded Reload + shl al, 4 + or al, r13b + movzx ebx, byte ptr [rsp + 88] # 1-byte Folded Reload + shl bl, 4 + or bl, dil + movzx edi, byte ptr [rsp + 80] # 1-byte Folded Reload + shl dil, 5 + shl dl, 6 + or dl, dil + movzx r13d, byte ptr [rsp + 72] # 1-byte Folded Reload + shl r13b, 7 + or r13b, dl + movzx edx, byte ptr [rsp + 136] # 1-byte Folded Reload + add dl, dl + add dl, byte ptr [rsp + 144] # 1-byte Folded Reload + shl cl, 2 + or cl, dl movzx edx, byte ptr [rsp + 128] # 1-byte Folded Reload - shl dl, 2 - or dl, al - mov edi, edx - movzx edx, byte ptr [rsp + 144] # 1-byte Folded Reload shl dl, 3 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 80] # 1-byte Folded Reload + or dl, cl + mov ecx, edx + movzx edx, byte ptr [rsp + 120] # 1-byte Folded Reload shl dl, 4 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 96] # 1-byte Folded Reload + or dl, cl + movzx ecx, byte ptr [rsp + 28] # 1-byte Folded Reload + or cl, al + movzx eax, byte ptr [rsp + 104] # 1-byte Folded Reload + shl al, 5 + shl r12b, 6 + or r12b, al + or r13b, bl + shl r10b, 7 + or r10b, r12b + or r10b, dl + add r15b, r15b + add r15b, byte ptr [rsp + 112] # 1-byte Folded Reload + shl r14b, 2 + or r14b, r15b + shl r11b, 3 + or r11b, r14b + movzx eax, byte ptr [rsp + 160] # 1-byte Folded Reload + shl al, 4 + or al, r11b + mov ebx, eax + mov rax, qword ptr [rsp + 272] # 8-byte Reload + mov byte ptr [rax], cl + movzx edx, byte ptr [rsp + 152] # 1-byte Folded Reload shl dl, 5 - or dl, dil - mov edi, edx - mov rdx, qword ptr [rsp + 272] # 8-byte Reload - mov byte ptr [rdx], bl - movzx ebx, byte ptr [rsp + 64] # 1-byte Folded Reload - shl bl, 6 - shl r15b, 7 - or r15b, bl - mov byte ptr [rdx + 1], cl - or r15b, dil - movzx ecx, byte ptr [rsp + 48] # 1-byte Folded Reload - add cl, cl - add cl, byte ptr [rsp + 32] # 1-byte Folded Reload - mov ebx, ecx - movzx ecx, byte ptr [rsp + 56] # 1-byte Folded Reload - shl cl, 2 - or cl, bl - mov ebx, ecx - movzx ecx, byte ptr [rsp + 40] # 1-byte Folded Reload - shl cl, 3 - or cl, bl - mov ebx, ecx - movzx ecx, byte ptr [rsp + 320] # 1-byte Folded Reload - shl cl, 4 - or cl, bl - mov ebx, ecx - movzx ecx, byte ptr [rsp + 288] # 1-byte Folded Reload - shl cl, 5 - or cl, bl - movzx ebx, byte ptr [rsp + 28] # 1-byte Folded Reload - shl bl, 6 + shl r9b, 6 + or r9b, dl + mov byte ptr [rax + 1], r13b shl r8b, 7 + or r8b, r9b or r8b, bl - or r8b, cl - mov byte ptr [rdx + 2], r15b - mov byte ptr [rdx + 3], r8b + mov byte ptr [rax + 2], r10b + mov byte ptr [rax + 3], r8b add rsi, 256 - add rdx, 4 - mov qword ptr [rsp + 272], rdx # 8-byte Spill - add qword ptr [rsp + 152], -1 # 8-byte Folded Spill + add rax, 4 + mov qword ptr [rsp + 272], rax # 8-byte Spill + add qword ptr [rsp + 176], -1 # 8-byte Folded Spill jne .LBB1_23 # %bb.24: mov r14, qword ptr [rsp + 272] # 8-byte Reload @@ -3264,13 +3542,13 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 shl r15, 5 cmp r15, r10 jl .LBB1_106 - jmp .LBB1_164 + jmp .LBB1_165 .LBB1_25: cmp edi, 2 je .LBB1_81 # %bb.26: cmp edi, 3 - jne .LBB1_164 + jne .LBB1_165 # %bb.27: mov r14b, byte ptr [rdx] lea r13, [r10 + 31] @@ -3326,11 +3604,11 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 shl rax, 5 add rax, rsi cmp r11, rax - jae .LBB1_165 + jae .LBB1_166 # %bb.34: lea rax, [r11 + 4*r13] cmp rsi, rax - jae .LBB1_165 + jae .LBB1_166 .LBB1_35: xor eax, eax mov qword ptr [rsp + 384], rax # 8-byte Spill @@ -3513,7 +3791,7 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 je .LBB1_93 # %bb.40: cmp edi, 8 - jne .LBB1_164 + jne .LBB1_165 # %bb.41: mov r13, qword ptr [rdx] lea r15, [r10 + 31] @@ -3559,15 +3837,15 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 jl .LBB1_112 # %bb.46: mov qword ptr [rsp + 280], r10 # 8-byte Spill - mov qword ptr [rsp + 176], r15 # 8-byte Spill mov qword ptr [rsp + 168], r15 # 8-byte Spill + mov qword ptr [rsp + 176], r15 # 8-byte Spill .p2align 4, 0x90 .LBB1_47: # =>This Inner Loop Header: Depth=1 mov qword ptr [rsp + 272], r11 # 8-byte Spill cmp qword ptr [rsi], r13 sete byte ptr [rsp + 152] # 1-byte Folded Spill cmp qword ptr [rsi + 8], r13 - sete dil + sete r10b cmp qword ptr [rsi + 16], r13 sete r14b cmp qword ptr [rsi + 24], r13 @@ -3583,11 +3861,11 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 cmp qword ptr [rsi + 64], r13 sete byte ptr [rsp + 104] # 1-byte Folded Spill cmp qword ptr [rsi + 72], r13 - sete dl + sete dil cmp qword ptr [rsi + 80], r13 - sete r9b + sete r8b cmp qword ptr [rsi + 88], r13 - sete r10b + sete r9b cmp qword ptr [rsi + 96], r13 sete r11b cmp qword ptr [rsi + 104], r13 @@ -3627,32 +3905,33 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 cmp qword ptr [rsi + 240], r13 sete byte ptr [rsp + 28] # 1-byte Folded Spill cmp qword ptr [rsi + 248], r13 - sete r8b - add dil, dil - add dil, byte ptr [rsp + 152] # 1-byte Folded Reload + sete dl + add r10b, r10b + add r10b, byte ptr [rsp + 152] # 1-byte Folded Reload shl al, 6 shl bl, 7 or bl, al shl r14b, 2 - or r14b, dil - add dl, dl - add dl, byte ptr [rsp + 104] # 1-byte Folded Reload + or r14b, r10b + add dil, dil + add dil, byte ptr [rsp + 104] # 1-byte Folded Reload movzx eax, byte ptr [rsp + 160] # 1-byte Folded Reload shl al, 3 or al, r14b - shl r9b, 2 - or r9b, dl - movzx edx, byte ptr [rsp + 136] # 1-byte Folded Reload - shl dl, 4 - or dl, al - mov edi, edx - shl r10b, 3 - or r10b, r9b - movzx edx, byte ptr [rsp + 88] # 1-byte Folded Reload - shl dl, 5 - or dl, dil + mov r10d, eax + shl r8b, 2 + or r8b, dil + movzx eax, byte ptr [rsp + 136] # 1-byte Folded Reload + shl al, 4 + or al, r10b + mov edi, eax + shl r9b, 3 + or r9b, r8b + movzx eax, byte ptr [rsp + 88] # 1-byte Folded Reload + shl al, 5 + or al, dil shl r11b, 4 - or r11b, r10b + or r11b, r9b shl r12b, 5 or r12b, r11b mov r11, qword ptr [rsp + 272] # 8-byte Reload @@ -3660,72 +3939,72 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 shl dil, 6 shl cl, 7 or cl, dil - or bl, dl + or bl, al or cl, r12b - movzx edx, byte ptr [rsp + 120] # 1-byte Folded Reload - add dl, dl - add dl, byte ptr [rsp + 72] # 1-byte Folded Reload - mov edi, edx - movzx edx, byte ptr [rsp + 128] # 1-byte Folded Reload - shl dl, 2 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 144] # 1-byte Folded Reload - shl dl, 3 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 80] # 1-byte Folded Reload - shl dl, 4 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 96] # 1-byte Folded Reload - shl dl, 5 - or dl, dil + movzx eax, byte ptr [rsp + 120] # 1-byte Folded Reload + add al, al + add al, byte ptr [rsp + 72] # 1-byte Folded Reload + mov edi, eax + movzx eax, byte ptr [rsp + 128] # 1-byte Folded Reload + shl al, 2 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 144] # 1-byte Folded Reload + shl al, 3 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 80] # 1-byte Folded Reload + shl al, 4 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 96] # 1-byte Folded Reload + shl al, 5 + or al, dil mov byte ptr [r11], bl movzx ebx, byte ptr [rsp + 64] # 1-byte Folded Reload shl bl, 6 shl r15b, 7 or r15b, bl mov byte ptr [r11 + 1], cl - or r15b, dl - movzx ecx, byte ptr [rsp + 48] # 1-byte Folded Reload - add cl, cl - add cl, byte ptr [rsp + 32] # 1-byte Folded Reload - mov edx, ecx - movzx ecx, byte ptr [rsp + 56] # 1-byte Folded Reload - shl cl, 2 - or cl, dl - mov edx, ecx - movzx ecx, byte ptr [rsp + 40] # 1-byte Folded Reload - shl cl, 3 - or cl, dl - mov edx, ecx - movzx ecx, byte ptr [rsp + 320] # 1-byte Folded Reload - shl cl, 4 - or cl, dl - mov edx, ecx - movzx ecx, byte ptr [rsp + 288] # 1-byte Folded Reload - shl cl, 5 - or cl, dl - movzx edx, byte ptr [rsp + 28] # 1-byte Folded Reload - shl dl, 6 - shl r8b, 7 - or r8b, dl - or r8b, cl + or r15b, al + movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload + add al, al + add al, byte ptr [rsp + 32] # 1-byte Folded Reload + mov ecx, eax + movzx eax, byte ptr [rsp + 56] # 1-byte Folded Reload + shl al, 2 + or al, cl + mov ecx, eax + movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload + shl al, 3 + or al, cl + mov ecx, eax + movzx eax, byte ptr [rsp + 320] # 1-byte Folded Reload + shl al, 4 + or al, cl + mov ecx, eax + movzx eax, byte ptr [rsp + 288] # 1-byte Folded Reload + shl al, 5 + or al, cl + movzx ecx, byte ptr [rsp + 28] # 1-byte Folded Reload + shl cl, 6 + shl dl, 7 + or dl, cl + or dl, al mov byte ptr [r11 + 2], r15b - mov byte ptr [r11 + 3], r8b + mov byte ptr [r11 + 3], dl add rsi, 256 add r11, 4 - add qword ptr [rsp + 168], -1 # 8-byte Folded Spill + add qword ptr [rsp + 176], -1 # 8-byte Folded Spill jne .LBB1_47 # %bb.48: mov r14, r11 mov r10, qword ptr [rsp + 280] # 8-byte Reload - mov r15, qword ptr [rsp + 176] # 8-byte Reload + mov r15, qword ptr [rsp + 168] # 8-byte Reload shl r15, 5 cmp r15, r10 jl .LBB1_113 - jmp .LBB1_164 + jmp .LBB1_165 .LBB1_49: movzx r13d, word ptr [rdx] lea r15, [r10 + 31] @@ -3771,15 +4050,15 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 jl .LBB1_116 # %bb.54: mov qword ptr [rsp + 280], r10 # 8-byte Spill - mov qword ptr [rsp + 176], r15 # 8-byte Spill mov qword ptr [rsp + 168], r15 # 8-byte Spill + mov qword ptr [rsp + 176], r15 # 8-byte Spill mov qword ptr [rsp + 272], r11 # 8-byte Spill .p2align 4, 0x90 .LBB1_55: # =>This Inner Loop Header: Depth=1 cmp word ptr [rsi], r13w sete al cmp word ptr [rsi + 2], r13w - sete dil + sete r10b cmp word ptr [rsi + 4], r13w sete r14b cmp word ptr [rsi + 6], r13w @@ -3795,11 +4074,11 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 cmp word ptr [rsi + 16], r13w sete byte ptr [rsp + 112] # 1-byte Folded Spill cmp word ptr [rsi + 18], r13w - sete dl + sete dil cmp word ptr [rsi + 20], r13w - sete r9b + sete r8b cmp word ptr [rsi + 22], r13w - sete r10b + sete r9b cmp word ptr [rsi + 24], r13w sete r11b cmp word ptr [rsi + 26], r13w @@ -3839,68 +4118,69 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 cmp word ptr [rsi + 60], r13w sete byte ptr [rsp + 28] # 1-byte Folded Spill cmp word ptr [rsi + 62], r13w - sete r8b - add dil, dil - or dil, al + sete dl + add r10b, r10b + or r10b, al movzx eax, byte ptr [rsp + 152] # 1-byte Folded Reload shl al, 6 shl bl, 7 or bl, al shl r14b, 2 - or r14b, dil - add dl, dl - add dl, byte ptr [rsp + 112] # 1-byte Folded Reload + or r14b, r10b + add dil, dil + add dil, byte ptr [rsp + 112] # 1-byte Folded Reload movzx eax, byte ptr [rsp + 160] # 1-byte Folded Reload shl al, 3 or al, r14b - shl r9b, 2 - or r9b, dl - movzx edx, byte ptr [rsp + 136] # 1-byte Folded Reload - shl dl, 4 - or dl, al - mov edi, edx - shl r10b, 3 - or r10b, r9b - movzx edx, byte ptr [rsp + 88] # 1-byte Folded Reload - shl dl, 5 - or dl, dil + mov r10d, eax + shl r8b, 2 + or r8b, dil + movzx eax, byte ptr [rsp + 136] # 1-byte Folded Reload + shl al, 4 + or al, r10b + mov edi, eax + shl r9b, 3 + or r9b, r8b + movzx eax, byte ptr [rsp + 88] # 1-byte Folded Reload + shl al, 5 + or al, dil shl r11b, 4 - or r11b, r10b + or r11b, r9b shl r12b, 5 or r12b, r11b movzx edi, byte ptr [rsp + 104] # 1-byte Folded Reload shl dil, 6 shl cl, 7 or cl, dil - or bl, dl + or bl, al or cl, r12b - movzx edx, byte ptr [rsp + 120] # 1-byte Folded Reload - add dl, dl - add dl, byte ptr [rsp + 72] # 1-byte Folded Reload - mov edi, edx - movzx edx, byte ptr [rsp + 128] # 1-byte Folded Reload - shl dl, 2 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 144] # 1-byte Folded Reload - shl dl, 3 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 80] # 1-byte Folded Reload - shl dl, 4 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 96] # 1-byte Folded Reload - shl dl, 5 - or dl, dil - mov edi, edx - mov rdx, qword ptr [rsp + 272] # 8-byte Reload - mov byte ptr [rdx], bl + movzx eax, byte ptr [rsp + 120] # 1-byte Folded Reload + add al, al + add al, byte ptr [rsp + 72] # 1-byte Folded Reload + mov edi, eax + movzx eax, byte ptr [rsp + 128] # 1-byte Folded Reload + shl al, 2 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 144] # 1-byte Folded Reload + shl al, 3 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 80] # 1-byte Folded Reload + shl al, 4 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 96] # 1-byte Folded Reload + shl al, 5 + or al, dil + mov edi, eax + mov rax, qword ptr [rsp + 272] # 8-byte Reload + mov byte ptr [rax], bl movzx ebx, byte ptr [rsp + 64] # 1-byte Folded Reload shl bl, 6 shl r15b, 7 or r15b, bl - mov byte ptr [rdx + 1], cl + mov byte ptr [rax + 1], cl or r15b, dil movzx ecx, byte ptr [rsp + 48] # 1-byte Folded Reload add cl, cl @@ -3923,24 +4203,24 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 or cl, bl movzx ebx, byte ptr [rsp + 28] # 1-byte Folded Reload shl bl, 6 - shl r8b, 7 - or r8b, bl - or r8b, cl - mov byte ptr [rdx + 2], r15b - mov byte ptr [rdx + 3], r8b + shl dl, 7 + or dl, bl + or dl, cl + mov byte ptr [rax + 2], r15b + mov byte ptr [rax + 3], dl add rsi, 64 - add rdx, 4 - mov qword ptr [rsp + 272], rdx # 8-byte Spill - add qword ptr [rsp + 168], -1 # 8-byte Folded Spill + add rax, 4 + mov qword ptr [rsp + 272], rax # 8-byte Spill + add qword ptr [rsp + 176], -1 # 8-byte Folded Spill jne .LBB1_55 # %bb.56: mov r14, qword ptr [rsp + 272] # 8-byte Reload mov r10, qword ptr [rsp + 280] # 8-byte Reload - mov r15, qword ptr [rsp + 176] # 8-byte Reload + mov r15, qword ptr [rsp + 168] # 8-byte Reload shl r15, 5 cmp r15, r10 jl .LBB1_117 - jmp .LBB1_164 + jmp .LBB1_165 .LBB1_57: movzx r13d, word ptr [rdx] lea r15, [r10 + 31] @@ -3986,15 +4266,15 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 jl .LBB1_120 # %bb.62: mov qword ptr [rsp + 280], r10 # 8-byte Spill - mov qword ptr [rsp + 176], r15 # 8-byte Spill mov qword ptr [rsp + 168], r15 # 8-byte Spill + mov qword ptr [rsp + 176], r15 # 8-byte Spill mov qword ptr [rsp + 272], r11 # 8-byte Spill .p2align 4, 0x90 .LBB1_63: # =>This Inner Loop Header: Depth=1 cmp word ptr [rsi], r13w sete byte ptr [rsp + 152] # 1-byte Folded Spill cmp word ptr [rsi + 2], r13w - sete dil + sete r10b cmp word ptr [rsi + 4], r13w sete r14b cmp word ptr [rsi + 6], r13w @@ -4010,11 +4290,11 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 cmp word ptr [rsi + 16], r13w sete byte ptr [rsp + 104] # 1-byte Folded Spill cmp word ptr [rsi + 18], r13w - sete dl + sete dil cmp word ptr [rsi + 20], r13w - sete r9b + sete r8b cmp word ptr [rsi + 22], r13w - sete r10b + sete r9b cmp word ptr [rsi + 24], r13w sete r11b cmp word ptr [rsi + 26], r13w @@ -4054,67 +4334,68 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 cmp word ptr [rsi + 60], r13w sete byte ptr [rsp + 28] # 1-byte Folded Spill cmp word ptr [rsi + 62], r13w - sete r8b - add dil, dil - add dil, byte ptr [rsp + 152] # 1-byte Folded Reload + sete dl + add r10b, r10b + add r10b, byte ptr [rsp + 152] # 1-byte Folded Reload shl al, 6 shl bl, 7 or bl, al shl r14b, 2 - or r14b, dil - add dl, dl - add dl, byte ptr [rsp + 104] # 1-byte Folded Reload + or r14b, r10b + add dil, dil + add dil, byte ptr [rsp + 104] # 1-byte Folded Reload movzx eax, byte ptr [rsp + 160] # 1-byte Folded Reload shl al, 3 or al, r14b - shl r9b, 2 - or r9b, dl - movzx edx, byte ptr [rsp + 136] # 1-byte Folded Reload - shl dl, 4 - or dl, al - mov edi, edx - shl r10b, 3 - or r10b, r9b - movzx edx, byte ptr [rsp + 88] # 1-byte Folded Reload - shl dl, 5 - or dl, dil + mov r10d, eax + shl r8b, 2 + or r8b, dil + movzx eax, byte ptr [rsp + 136] # 1-byte Folded Reload + shl al, 4 + or al, r10b + mov edi, eax + shl r9b, 3 + or r9b, r8b + movzx eax, byte ptr [rsp + 88] # 1-byte Folded Reload + shl al, 5 + or al, dil shl r11b, 4 - or r11b, r10b + or r11b, r9b shl r12b, 5 or r12b, r11b movzx edi, byte ptr [rsp + 112] # 1-byte Folded Reload shl dil, 6 shl cl, 7 or cl, dil - or bl, dl + or bl, al or cl, r12b - movzx edx, byte ptr [rsp + 120] # 1-byte Folded Reload - add dl, dl - add dl, byte ptr [rsp + 72] # 1-byte Folded Reload - mov edi, edx - movzx edx, byte ptr [rsp + 128] # 1-byte Folded Reload - shl dl, 2 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 144] # 1-byte Folded Reload - shl dl, 3 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 80] # 1-byte Folded Reload - shl dl, 4 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 96] # 1-byte Folded Reload - shl dl, 5 - or dl, dil - mov edi, edx - mov rdx, qword ptr [rsp + 272] # 8-byte Reload - mov byte ptr [rdx], bl + movzx eax, byte ptr [rsp + 120] # 1-byte Folded Reload + add al, al + add al, byte ptr [rsp + 72] # 1-byte Folded Reload + mov edi, eax + movzx eax, byte ptr [rsp + 128] # 1-byte Folded Reload + shl al, 2 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 144] # 1-byte Folded Reload + shl al, 3 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 80] # 1-byte Folded Reload + shl al, 4 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 96] # 1-byte Folded Reload + shl al, 5 + or al, dil + mov edi, eax + mov rax, qword ptr [rsp + 272] # 8-byte Reload + mov byte ptr [rax], bl movzx ebx, byte ptr [rsp + 64] # 1-byte Folded Reload shl bl, 6 shl r15b, 7 or r15b, bl - mov byte ptr [rdx + 1], cl + mov byte ptr [rax + 1], cl or r15b, dil movzx ecx, byte ptr [rsp + 48] # 1-byte Folded Reload add cl, cl @@ -4137,24 +4418,24 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 or cl, bl movzx ebx, byte ptr [rsp + 28] # 1-byte Folded Reload shl bl, 6 - shl r8b, 7 - or r8b, bl - or r8b, cl - mov byte ptr [rdx + 2], r15b - mov byte ptr [rdx + 3], r8b + shl dl, 7 + or dl, bl + or dl, cl + mov byte ptr [rax + 2], r15b + mov byte ptr [rax + 3], dl add rsi, 64 - add rdx, 4 - mov qword ptr [rsp + 272], rdx # 8-byte Spill - add qword ptr [rsp + 168], -1 # 8-byte Folded Spill + add rax, 4 + mov qword ptr [rsp + 272], rax # 8-byte Spill + add qword ptr [rsp + 176], -1 # 8-byte Folded Spill jne .LBB1_63 # %bb.64: mov r14, qword ptr [rsp + 272] # 8-byte Reload mov r10, qword ptr [rsp + 280] # 8-byte Reload - mov r15, qword ptr [rsp + 176] # 8-byte Reload + mov r15, qword ptr [rsp + 168] # 8-byte Reload shl r15, 5 cmp r15, r10 jl .LBB1_121 - jmp .LBB1_164 + jmp .LBB1_165 .LBB1_65: mov r13, qword ptr [rdx] lea r15, [r10 + 31] @@ -4200,15 +4481,15 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 jl .LBB1_123 # %bb.70: mov qword ptr [rsp + 280], r10 # 8-byte Spill - mov qword ptr [rsp + 176], r15 # 8-byte Spill mov qword ptr [rsp + 168], r15 # 8-byte Spill + mov qword ptr [rsp + 176], r15 # 8-byte Spill mov qword ptr [rsp + 272], r11 # 8-byte Spill .p2align 4, 0x90 .LBB1_71: # =>This Inner Loop Header: Depth=1 cmp qword ptr [rsi], r13 sete byte ptr [rsp + 152] # 1-byte Folded Spill cmp qword ptr [rsi + 8], r13 - sete dil + sete r10b cmp qword ptr [rsi + 16], r13 sete r14b cmp qword ptr [rsi + 24], r13 @@ -4224,11 +4505,11 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 cmp qword ptr [rsi + 64], r13 sete byte ptr [rsp + 104] # 1-byte Folded Spill cmp qword ptr [rsi + 72], r13 - sete dl + sete dil cmp qword ptr [rsi + 80], r13 - sete r9b + sete r8b cmp qword ptr [rsi + 88], r13 - sete r10b + sete r9b cmp qword ptr [rsi + 96], r13 sete r11b cmp qword ptr [rsi + 104], r13 @@ -4268,67 +4549,68 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 cmp qword ptr [rsi + 240], r13 sete byte ptr [rsp + 28] # 1-byte Folded Spill cmp qword ptr [rsi + 248], r13 - sete r8b - add dil, dil - add dil, byte ptr [rsp + 152] # 1-byte Folded Reload + sete dl + add r10b, r10b + add r10b, byte ptr [rsp + 152] # 1-byte Folded Reload shl al, 6 shl bl, 7 or bl, al shl r14b, 2 - or r14b, dil - add dl, dl - add dl, byte ptr [rsp + 104] # 1-byte Folded Reload + or r14b, r10b + add dil, dil + add dil, byte ptr [rsp + 104] # 1-byte Folded Reload movzx eax, byte ptr [rsp + 160] # 1-byte Folded Reload shl al, 3 or al, r14b - shl r9b, 2 - or r9b, dl - movzx edx, byte ptr [rsp + 136] # 1-byte Folded Reload - shl dl, 4 - or dl, al - mov edi, edx - shl r10b, 3 - or r10b, r9b - movzx edx, byte ptr [rsp + 88] # 1-byte Folded Reload - shl dl, 5 - or dl, dil + mov r10d, eax + shl r8b, 2 + or r8b, dil + movzx eax, byte ptr [rsp + 136] # 1-byte Folded Reload + shl al, 4 + or al, r10b + mov edi, eax + shl r9b, 3 + or r9b, r8b + movzx eax, byte ptr [rsp + 88] # 1-byte Folded Reload + shl al, 5 + or al, dil shl r11b, 4 - or r11b, r10b + or r11b, r9b shl r12b, 5 or r12b, r11b movzx edi, byte ptr [rsp + 112] # 1-byte Folded Reload shl dil, 6 shl cl, 7 or cl, dil - or bl, dl + or bl, al or cl, r12b - movzx edx, byte ptr [rsp + 120] # 1-byte Folded Reload - add dl, dl - add dl, byte ptr [rsp + 72] # 1-byte Folded Reload - mov edi, edx - movzx edx, byte ptr [rsp + 128] # 1-byte Folded Reload - shl dl, 2 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 144] # 1-byte Folded Reload - shl dl, 3 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 80] # 1-byte Folded Reload - shl dl, 4 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 96] # 1-byte Folded Reload - shl dl, 5 - or dl, dil - mov edi, edx - mov rdx, qword ptr [rsp + 272] # 8-byte Reload - mov byte ptr [rdx], bl + movzx eax, byte ptr [rsp + 120] # 1-byte Folded Reload + add al, al + add al, byte ptr [rsp + 72] # 1-byte Folded Reload + mov edi, eax + movzx eax, byte ptr [rsp + 128] # 1-byte Folded Reload + shl al, 2 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 144] # 1-byte Folded Reload + shl al, 3 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 80] # 1-byte Folded Reload + shl al, 4 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 96] # 1-byte Folded Reload + shl al, 5 + or al, dil + mov edi, eax + mov rax, qword ptr [rsp + 272] # 8-byte Reload + mov byte ptr [rax], bl movzx ebx, byte ptr [rsp + 64] # 1-byte Folded Reload shl bl, 6 shl r15b, 7 or r15b, bl - mov byte ptr [rdx + 1], cl + mov byte ptr [rax + 1], cl or r15b, dil movzx ecx, byte ptr [rsp + 48] # 1-byte Folded Reload add cl, cl @@ -4351,24 +4633,24 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 or cl, bl movzx ebx, byte ptr [rsp + 28] # 1-byte Folded Reload shl bl, 6 - shl r8b, 7 - or r8b, bl - or r8b, cl - mov byte ptr [rdx + 2], r15b - mov byte ptr [rdx + 3], r8b + shl dl, 7 + or dl, bl + or dl, cl + mov byte ptr [rax + 2], r15b + mov byte ptr [rax + 3], dl add rsi, 256 - add rdx, 4 - mov qword ptr [rsp + 272], rdx # 8-byte Spill - add qword ptr [rsp + 168], -1 # 8-byte Folded Spill + add rax, 4 + mov qword ptr [rsp + 272], rax # 8-byte Spill + add qword ptr [rsp + 176], -1 # 8-byte Folded Spill jne .LBB1_71 # %bb.72: mov r14, qword ptr [rsp + 272] # 8-byte Reload mov r10, qword ptr [rsp + 280] # 8-byte Reload - mov r15, qword ptr [rsp + 176] # 8-byte Reload + mov r15, qword ptr [rsp + 168] # 8-byte Reload shl r15, 5 cmp r15, r10 jl .LBB1_124 - jmp .LBB1_164 + jmp .LBB1_165 .LBB1_73: lea r15, [r10 + 31] test r10, r10 @@ -4386,7 +4668,9 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 .LBB1_75: # =>This Inner Loop Header: Depth=1 vucomiss xmm0, dword ptr [rsi] lea rsi, [rsi + 4] + setnp cl sete dl + and dl, cl neg dl lea rdi, [rax + 7] test rax, rax @@ -4415,163 +4699,248 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 # %bb.78: mov qword ptr [rsp + 280], r10 # 8-byte Spill mov qword ptr [rsp + 168], r15 # 8-byte Spill - mov qword ptr [rsp + 152], r15 # 8-byte Spill + mov qword ptr [rsp + 176], r15 # 8-byte Spill mov qword ptr [rsp + 272], r11 # 8-byte Spill .p2align 4, 0x90 .LBB1_79: # =>This Inner Loop Header: Depth=1 vucomiss xmm0, dword ptr [rsi] - sete byte ptr [rsp + 160] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 32], cl # 1-byte Spill vucomiss xmm0, dword ptr [rsi + 4] - sete r9b + setnp al + sete bl + and bl, al vucomiss xmm0, dword ptr [rsi + 8] - sete r14b - vucomiss xmm0, dword ptr [rsi + 12] + setnp al sete r13b + and r13b, al + vucomiss xmm0, dword ptr [rsi + 12] + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 320], cl # 1-byte Spill vucomiss xmm0, dword ptr [rsi + 16] - sete byte ptr [rsp + 136] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 288], cl # 1-byte Spill vucomiss xmm0, dword ptr [rsi + 20] - sete byte ptr [rsp + 88] # 1-byte Folded Spill + setnp al + sete dil + and dil, al vucomiss xmm0, dword ptr [rsi + 24] - sete al + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 56], cl # 1-byte Spill vucomiss xmm0, dword ptr [rsi + 28] - sete bl + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 28], cl # 1-byte Spill vucomiss xmm0, dword ptr [rsi + 32] - sete byte ptr [rsp + 112] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 40], cl # 1-byte Spill vucomiss xmm0, dword ptr [rsi + 36] - sete dl + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 48], cl # 1-byte Spill vucomiss xmm0, dword ptr [rsi + 40] - sete dil + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 64], cl # 1-byte Spill vucomiss xmm0, dword ptr [rsi + 44] - sete r10b + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 96], cl # 1-byte Spill vucomiss xmm0, dword ptr [rsi + 48] - sete r11b + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 88], cl # 1-byte Spill vucomiss xmm0, dword ptr [rsi + 52] - sete r12b + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 80], cl # 1-byte Spill vucomiss xmm0, dword ptr [rsi + 56] - sete byte ptr [rsp + 120] # 1-byte Folded Spill + setnp al + sete dl + and dl, al vucomiss xmm0, dword ptr [rsi + 60] + setnp al sete cl + and cl, al + mov byte ptr [rsp + 72], cl # 1-byte Spill vucomiss xmm0, dword ptr [rsi + 64] - sete byte ptr [rsp + 72] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 144], cl # 1-byte Spill vucomiss xmm0, dword ptr [rsi + 68] - sete byte ptr [rsp + 104] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 136], cl # 1-byte Spill vucomiss xmm0, dword ptr [rsi + 72] - sete byte ptr [rsp + 128] # 1-byte Folded Spill + setnp al + sete cl + and cl, al vucomiss xmm0, dword ptr [rsi + 76] - sete byte ptr [rsp + 144] # 1-byte Folded Spill + setnp r8b + sete al + and al, r8b + mov byte ptr [rsp + 128], al # 1-byte Spill vucomiss xmm0, dword ptr [rsi + 80] - sete byte ptr [rsp + 80] # 1-byte Folded Spill + setnp r8b + sete al + and al, r8b + mov byte ptr [rsp + 120], al # 1-byte Spill vucomiss xmm0, dword ptr [rsi + 84] - sete byte ptr [rsp + 96] # 1-byte Folded Spill + setnp r8b + sete al + and al, r8b + mov byte ptr [rsp + 104], al # 1-byte Spill vucomiss xmm0, dword ptr [rsi + 88] - sete byte ptr [rsp + 64] # 1-byte Folded Spill + setnp al + sete r12b + and r12b, al vucomiss xmm0, dword ptr [rsi + 92] - sete r15b + setnp al + sete r10b + and r10b, al vucomiss xmm0, dword ptr [rsi + 96] - sete byte ptr [rsp + 32] # 1-byte Folded Spill + setnp r8b + sete al + and al, r8b + mov byte ptr [rsp + 112], al # 1-byte Spill vucomiss xmm0, dword ptr [rsi + 100] - sete byte ptr [rsp + 48] # 1-byte Folded Spill + setnp al + sete r15b + and r15b, al vucomiss xmm0, dword ptr [rsi + 104] - sete byte ptr [rsp + 56] # 1-byte Folded Spill + setnp al + sete r14b + and r14b, al vucomiss xmm0, dword ptr [rsi + 108] - sete byte ptr [rsp + 40] # 1-byte Folded Spill + setnp al + sete r11b + and r11b, al vucomiss xmm0, dword ptr [rsi + 112] - sete byte ptr [rsp + 320] # 1-byte Folded Spill + setnp r8b + sete al + and al, r8b + mov byte ptr [rsp + 160], al # 1-byte Spill vucomiss xmm0, dword ptr [rsi + 116] - sete byte ptr [rsp + 288] # 1-byte Folded Spill + setnp r8b + sete al + and al, r8b + mov byte ptr [rsp + 152], al # 1-byte Spill vucomiss xmm0, dword ptr [rsi + 120] - sete byte ptr [rsp + 28] # 1-byte Folded Spill + setnp al + sete r9b + and r9b, al vucomiss xmm0, dword ptr [rsi + 124] + setnp al sete r8b - add r9b, r9b - add r9b, byte ptr [rsp + 160] # 1-byte Folded Reload - shl al, 6 - shl bl, 7 - or bl, al - shl r14b, 2 - or r14b, r9b - add dl, dl - add dl, byte ptr [rsp + 112] # 1-byte Folded Reload - shl r13b, 3 - or r13b, r14b - shl dil, 2 - or dil, dl - movzx edx, byte ptr [rsp + 136] # 1-byte Folded Reload - shl dl, 4 - or dl, r13b - mov r9d, edx - shl r10b, 3 - or r10b, dil - movzx edx, byte ptr [rsp + 88] # 1-byte Folded Reload - shl dl, 5 - or dl, r9b - shl r11b, 4 - or r11b, r10b - shl r12b, 5 - or r12b, r11b - movzx edi, byte ptr [rsp + 120] # 1-byte Folded Reload - shl dil, 6 - shl cl, 7 - or cl, dil - or bl, dl - or cl, r12b - movzx eax, byte ptr [rsp + 104] # 1-byte Folded Reload + and r8b, al + add bl, bl + add bl, byte ptr [rsp + 32] # 1-byte Folded Reload + shl dil, 5 + movzx eax, byte ptr [rsp + 56] # 1-byte Folded Reload + shl al, 6 + or al, dil + mov edi, eax + shl r13b, 2 + or r13b, bl + movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 72] # 1-byte Folded Reload + add al, byte ptr [rsp + 40] # 1-byte Folded Reload + mov ebx, eax + movzx eax, byte ptr [rsp + 28] # 1-byte Folded Reload + shl al, 7 + or al, dil + mov byte ptr [rsp + 28], al # 1-byte Spill + movzx eax, byte ptr [rsp + 64] # 1-byte Folded Reload + shl al, 2 + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 320] # 1-byte Folded Reload + shl al, 3 + or al, r13b + mov r13d, eax + movzx eax, byte ptr [rsp + 96] # 1-byte Folded Reload + shl al, 3 + or al, bl + mov edi, eax + movzx eax, byte ptr [rsp + 288] # 1-byte Folded Reload + shl al, 4 + or al, r13b + movzx ebx, byte ptr [rsp + 88] # 1-byte Folded Reload + shl bl, 4 + or bl, dil + movzx edi, byte ptr [rsp + 80] # 1-byte Folded Reload + shl dil, 5 + shl dl, 6 + or dl, dil + movzx r13d, byte ptr [rsp + 72] # 1-byte Folded Reload + shl r13b, 7 + or r13b, dl + movzx edx, byte ptr [rsp + 136] # 1-byte Folded Reload + add dl, dl + add dl, byte ptr [rsp + 144] # 1-byte Folded Reload + shl cl, 2 + or cl, dl movzx edx, byte ptr [rsp + 128] # 1-byte Folded Reload - shl dl, 2 - or dl, al - mov edi, edx - movzx edx, byte ptr [rsp + 144] # 1-byte Folded Reload shl dl, 3 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 80] # 1-byte Folded Reload + or dl, cl + mov ecx, edx + movzx edx, byte ptr [rsp + 120] # 1-byte Folded Reload shl dl, 4 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 96] # 1-byte Folded Reload + or dl, cl + movzx ecx, byte ptr [rsp + 28] # 1-byte Folded Reload + or cl, al + movzx eax, byte ptr [rsp + 104] # 1-byte Folded Reload + shl al, 5 + shl r12b, 6 + or r12b, al + or r13b, bl + shl r10b, 7 + or r10b, r12b + or r10b, dl + add r15b, r15b + add r15b, byte ptr [rsp + 112] # 1-byte Folded Reload + shl r14b, 2 + or r14b, r15b + shl r11b, 3 + or r11b, r14b + movzx eax, byte ptr [rsp + 160] # 1-byte Folded Reload + shl al, 4 + or al, r11b + mov ebx, eax + mov rax, qword ptr [rsp + 272] # 8-byte Reload + mov byte ptr [rax], cl + movzx edx, byte ptr [rsp + 152] # 1-byte Folded Reload shl dl, 5 - or dl, dil - mov edi, edx - mov rdx, qword ptr [rsp + 272] # 8-byte Reload - mov byte ptr [rdx], bl - movzx ebx, byte ptr [rsp + 64] # 1-byte Folded Reload - shl bl, 6 - shl r15b, 7 - or r15b, bl - mov byte ptr [rdx + 1], cl - or r15b, dil - movzx ecx, byte ptr [rsp + 48] # 1-byte Folded Reload - add cl, cl - add cl, byte ptr [rsp + 32] # 1-byte Folded Reload - mov ebx, ecx - movzx ecx, byte ptr [rsp + 56] # 1-byte Folded Reload - shl cl, 2 - or cl, bl - mov ebx, ecx - movzx ecx, byte ptr [rsp + 40] # 1-byte Folded Reload - shl cl, 3 - or cl, bl - mov ebx, ecx - movzx ecx, byte ptr [rsp + 320] # 1-byte Folded Reload - shl cl, 4 - or cl, bl - mov ebx, ecx - movzx ecx, byte ptr [rsp + 288] # 1-byte Folded Reload - shl cl, 5 - or cl, bl - movzx ebx, byte ptr [rsp + 28] # 1-byte Folded Reload - shl bl, 6 + shl r9b, 6 + or r9b, dl + mov byte ptr [rax + 1], r13b shl r8b, 7 + or r8b, r9b or r8b, bl - or r8b, cl - mov byte ptr [rdx + 2], r15b - mov byte ptr [rdx + 3], r8b + mov byte ptr [rax + 2], r10b + mov byte ptr [rax + 3], r8b add rsi, 128 - add rdx, 4 - mov qword ptr [rsp + 272], rdx # 8-byte Spill - add qword ptr [rsp + 152], -1 # 8-byte Folded Spill + add rax, 4 + mov qword ptr [rsp + 272], rax # 8-byte Spill + add qword ptr [rsp + 176], -1 # 8-byte Folded Spill jne .LBB1_79 # %bb.80: mov r14, qword ptr [rsp + 272] # 8-byte Reload @@ -4580,7 +4949,7 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 shl r15, 5 cmp r15, r10 jl .LBB1_127 - jmp .LBB1_164 + jmp .LBB1_165 .LBB1_81: mov r14b, byte ptr [rdx] lea r15, [r10 + 31] @@ -4635,11 +5004,11 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 shl rax, 5 add rax, rsi cmp r11, rax - jae .LBB1_168 + jae .LBB1_169 # %bb.88: lea rax, [r11 + 4*r15] cmp rsi, rax - jae .LBB1_168 + jae .LBB1_169 .LBB1_89: xor eax, eax mov qword ptr [rsp + 384], rax # 8-byte Spill @@ -4862,15 +5231,15 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 jl .LBB1_133 # %bb.98: mov qword ptr [rsp + 280], r10 # 8-byte Spill - mov qword ptr [rsp + 176], r15 # 8-byte Spill mov qword ptr [rsp + 168], r15 # 8-byte Spill + mov qword ptr [rsp + 176], r15 # 8-byte Spill .p2align 4, 0x90 .LBB1_99: # =>This Inner Loop Header: Depth=1 mov qword ptr [rsp + 272], r11 # 8-byte Spill cmp dword ptr [rsi], r13d sete byte ptr [rsp + 152] # 1-byte Folded Spill cmp dword ptr [rsi + 4], r13d - sete dil + sete r10b cmp dword ptr [rsi + 8], r13d sete r14b cmp dword ptr [rsi + 12], r13d @@ -4886,11 +5255,11 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 cmp dword ptr [rsi + 32], r13d sete byte ptr [rsp + 104] # 1-byte Folded Spill cmp dword ptr [rsi + 36], r13d - sete dl + sete dil cmp dword ptr [rsi + 40], r13d - sete r9b + sete r8b cmp dword ptr [rsi + 44], r13d - sete r10b + sete r9b cmp dword ptr [rsi + 48], r13d sete r11b cmp dword ptr [rsi + 52], r13d @@ -4930,32 +5299,33 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 cmp dword ptr [rsi + 120], r13d sete byte ptr [rsp + 28] # 1-byte Folded Spill cmp dword ptr [rsi + 124], r13d - sete r8b - add dil, dil - add dil, byte ptr [rsp + 152] # 1-byte Folded Reload + sete dl + add r10b, r10b + add r10b, byte ptr [rsp + 152] # 1-byte Folded Reload shl al, 6 shl bl, 7 or bl, al shl r14b, 2 - or r14b, dil - add dl, dl - add dl, byte ptr [rsp + 104] # 1-byte Folded Reload + or r14b, r10b + add dil, dil + add dil, byte ptr [rsp + 104] # 1-byte Folded Reload movzx eax, byte ptr [rsp + 160] # 1-byte Folded Reload shl al, 3 or al, r14b - shl r9b, 2 - or r9b, dl - movzx edx, byte ptr [rsp + 136] # 1-byte Folded Reload - shl dl, 4 - or dl, al - mov edi, edx - shl r10b, 3 - or r10b, r9b - movzx edx, byte ptr [rsp + 88] # 1-byte Folded Reload - shl dl, 5 - or dl, dil + mov r10d, eax + shl r8b, 2 + or r8b, dil + movzx eax, byte ptr [rsp + 136] # 1-byte Folded Reload + shl al, 4 + or al, r10b + mov edi, eax + shl r9b, 3 + or r9b, r8b + movzx eax, byte ptr [rsp + 88] # 1-byte Folded Reload + shl al, 5 + or al, dil shl r11b, 4 - or r11b, r10b + or r11b, r9b shl r12b, 5 or r12b, r11b mov r11, qword ptr [rsp + 272] # 8-byte Reload @@ -4963,77 +5333,77 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 shl dil, 6 shl cl, 7 or cl, dil - or bl, dl + or bl, al or cl, r12b - movzx edx, byte ptr [rsp + 120] # 1-byte Folded Reload - add dl, dl - add dl, byte ptr [rsp + 72] # 1-byte Folded Reload - mov edi, edx - movzx edx, byte ptr [rsp + 128] # 1-byte Folded Reload - shl dl, 2 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 144] # 1-byte Folded Reload - shl dl, 3 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 80] # 1-byte Folded Reload - shl dl, 4 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 96] # 1-byte Folded Reload - shl dl, 5 - or dl, dil + movzx eax, byte ptr [rsp + 120] # 1-byte Folded Reload + add al, al + add al, byte ptr [rsp + 72] # 1-byte Folded Reload + mov edi, eax + movzx eax, byte ptr [rsp + 128] # 1-byte Folded Reload + shl al, 2 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 144] # 1-byte Folded Reload + shl al, 3 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 80] # 1-byte Folded Reload + shl al, 4 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 96] # 1-byte Folded Reload + shl al, 5 + or al, dil mov byte ptr [r11], bl movzx ebx, byte ptr [rsp + 64] # 1-byte Folded Reload shl bl, 6 shl r15b, 7 or r15b, bl mov byte ptr [r11 + 1], cl - or r15b, dl - movzx ecx, byte ptr [rsp + 48] # 1-byte Folded Reload - add cl, cl - add cl, byte ptr [rsp + 32] # 1-byte Folded Reload - mov edx, ecx - movzx ecx, byte ptr [rsp + 56] # 1-byte Folded Reload - shl cl, 2 - or cl, dl - mov edx, ecx - movzx ecx, byte ptr [rsp + 40] # 1-byte Folded Reload - shl cl, 3 - or cl, dl - mov edx, ecx - movzx ecx, byte ptr [rsp + 320] # 1-byte Folded Reload - shl cl, 4 - or cl, dl - mov edx, ecx - movzx ecx, byte ptr [rsp + 288] # 1-byte Folded Reload - shl cl, 5 - or cl, dl - movzx edx, byte ptr [rsp + 28] # 1-byte Folded Reload - shl dl, 6 - shl r8b, 7 - or r8b, dl - or r8b, cl + or r15b, al + movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload + add al, al + add al, byte ptr [rsp + 32] # 1-byte Folded Reload + mov ecx, eax + movzx eax, byte ptr [rsp + 56] # 1-byte Folded Reload + shl al, 2 + or al, cl + mov ecx, eax + movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload + shl al, 3 + or al, cl + mov ecx, eax + movzx eax, byte ptr [rsp + 320] # 1-byte Folded Reload + shl al, 4 + or al, cl + mov ecx, eax + movzx eax, byte ptr [rsp + 288] # 1-byte Folded Reload + shl al, 5 + or al, cl + movzx ecx, byte ptr [rsp + 28] # 1-byte Folded Reload + shl cl, 6 + shl dl, 7 + or dl, cl + or dl, al mov byte ptr [r11 + 2], r15b - mov byte ptr [r11 + 3], r8b + mov byte ptr [r11 + 3], dl add rsi, 128 add r11, 4 - add qword ptr [rsp + 168], -1 # 8-byte Folded Spill + add qword ptr [rsp + 176], -1 # 8-byte Folded Spill jne .LBB1_99 # %bb.100: mov r14, r11 mov r10, qword ptr [rsp + 280] # 8-byte Reload - mov r15, qword ptr [rsp + 176] # 8-byte Reload + mov r15, qword ptr [rsp + 168] # 8-byte Reload shl r15, 5 cmp r15, r10 jl .LBB1_134 - jmp .LBB1_164 + jmp .LBB1_165 .LBB1_101: mov r14, r11 shl r15, 5 cmp r15, r10 - jge .LBB1_164 + jge .LBB1_165 .LBB1_102: mov r8, r10 sub r8, r15 @@ -5075,12 +5445,12 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 mov byte ptr [r15 + rdi], dl cmp r10, r11 jne .LBB1_104 - jmp .LBB1_161 + jmp .LBB1_162 .LBB1_105: mov r14, r11 shl r15, 5 cmp r15, r10 - jge .LBB1_164 + jge .LBB1_165 .LBB1_106: mov r8, r10 sub r8, r15 @@ -5096,7 +5466,7 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 .LBB1_109: shl r13, 5 cmp r13, r15 - jge .LBB1_164 + jge .LBB1_165 # %bb.110: mov r8, r15 sub r8, r13 @@ -5137,12 +5507,12 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 mov byte ptr [r11 + rdi], al cmp r10, rsi jne .LBB1_141 - jmp .LBB1_156 + jmp .LBB1_157 .LBB1_112: mov r14, r11 shl r15, 5 cmp r15, r10 - jge .LBB1_164 + jge .LBB1_165 .LBB1_113: mov r8, r10 sub r8, r15 @@ -5189,7 +5559,7 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 mov r14, r11 shl r15, 5 cmp r15, r10 - jge .LBB1_164 + jge .LBB1_165 .LBB1_117: mov r8, r10 sub r8, r15 @@ -5236,7 +5606,7 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 mov r14, r11 shl r15, 5 cmp r15, r10 - jge .LBB1_164 + jge .LBB1_165 .LBB1_121: mov r8, r10 sub r8, r15 @@ -5250,7 +5620,7 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 mov r14, r11 shl r15, 5 cmp r15, r10 - jge .LBB1_164 + jge .LBB1_165 .LBB1_124: mov r8, r10 sub r8, r15 @@ -5264,7 +5634,7 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 mov r14, r11 shl r15, 5 cmp r15, r10 - jge .LBB1_164 + jge .LBB1_165 .LBB1_127: mov r8, r10 sub r8, r15 @@ -5280,55 +5650,59 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 .LBB1_130: shl r15, 5 cmp r15, r10 - jge .LBB1_164 + jge .LBB1_165 # %bb.131: mov r8, r10 sub r8, r15 not r15 add r15, r10 - jne .LBB1_154 + jne .LBB1_155 .LBB1_132: xor esi, esi - jmp .LBB1_157 + jmp .LBB1_158 .LBB1_133: mov r14, r11 shl r15, 5 cmp r15, r10 - jge .LBB1_164 + jge .LBB1_165 .LBB1_134: mov r8, r10 sub r8, r15 not r15 add r15, r10 - jne .LBB1_159 + jne .LBB1_160 .LBB1_135: xor r11d, r11d - jmp .LBB1_161 + jmp .LBB1_162 .LBB1_136: - mov r10, r8 - and r10, -2 + mov r9, r8 + and r9, -2 xor r11d, r11d mov r15, r14 .p2align 4, 0x90 .LBB1_137: # =>This Inner Loop Header: Depth=1 vucomisd xmm0, qword ptr [rsi] + setnp cl sete al + and al, cl neg al mov rdi, r11 shr rdi, 3 - movzx r9d, byte ptr [r15 + rdi] - xor al, r9b + movzx r10d, byte ptr [r15 + rdi] mov ecx, r11d and cl, 6 mov bl, 1 shl bl, cl + xor al, r10b and bl, al - xor bl, r9b + xor bl, r10b mov byte ptr [r15 + rdi], bl add r11, 2 vucomisd xmm0, qword ptr [rsi + 8] lea rsi, [rsi + 16] + setnp r10b sete al + and al, r10b neg al xor al, bl or cl, 1 @@ -5337,14 +5711,14 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 and dl, al xor dl, bl mov byte ptr [r15 + rdi], dl - cmp r10, r11 + cmp r9, r11 jne .LBB1_137 .LBB1_138: test r8b, 1 - je .LBB1_164 + je .LBB1_165 # %bb.139: vucomisd xmm0, qword ptr [rsi] - jmp .LBB1_163 + jmp .LBB1_154 .LBB1_142: mov r10, r8 and r10, -2 @@ -5382,10 +5756,10 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 jne .LBB1_143 .LBB1_144: test r8b, 1 - je .LBB1_164 + je .LBB1_165 # %bb.145: cmp word ptr [rsi], r13w - jmp .LBB1_163 + jmp .LBB1_164 .LBB1_146: mov r10, r8 and r10, -2 @@ -5423,35 +5797,39 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 jne .LBB1_147 .LBB1_148: test r8b, 1 - je .LBB1_164 + je .LBB1_165 # %bb.149: cmp qword ptr [rsi], r13 - jmp .LBB1_163 + jmp .LBB1_164 .LBB1_150: - mov r10, r8 - and r10, -2 + mov r9, r8 + and r9, -2 xor r11d, r11d mov r15, r14 .p2align 4, 0x90 .LBB1_151: # =>This Inner Loop Header: Depth=1 vucomiss xmm0, dword ptr [rsi] + setnp cl sete al + and al, cl neg al mov rdi, r11 shr rdi, 3 - movzx r9d, byte ptr [r15 + rdi] - xor al, r9b + movzx r10d, byte ptr [r15 + rdi] mov ecx, r11d and cl, 6 mov bl, 1 shl bl, cl + xor al, r10b and bl, al - xor bl, r9b + xor bl, r10b mov byte ptr [r15 + rdi], bl add r11, 2 vucomiss xmm0, dword ptr [rsi + 4] lea rsi, [rsi + 8] + setnp r10b sete al + and al, r10b neg al xor al, bl or cl, 1 @@ -5460,21 +5838,37 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 and dl, al xor dl, bl mov byte ptr [r15 + rdi], dl - cmp r10, r11 + cmp r9, r11 jne .LBB1_151 .LBB1_152: test r8b, 1 - je .LBB1_164 + je .LBB1_165 # %bb.153: vucomiss xmm0, dword ptr [rsi] - jmp .LBB1_163 .LBB1_154: + setnp al + sete dl + and dl, al + neg dl + mov rax, r11 + shr rax, 3 + mov sil, byte ptr [r14 + rax] + and r11b, 7 + mov bl, 1 + mov ecx, r11d + shl bl, cl + xor dl, sil + and bl, dl + xor bl, sil + mov byte ptr [r14 + rax], bl + jmp .LBB1_165 +.LBB1_155: mov r10, r8 and r10, -2 xor esi, esi mov r11, qword ptr [rsp + 376] # 8-byte Reload .p2align 4, 0x90 -.LBB1_155: # =>This Inner Loop Header: Depth=1 +.LBB1_156: # =>This Inner Loop Header: Depth=1 cmp byte ptr [r12 + rsi], r14b sete bl neg bl @@ -5501,13 +5895,13 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 xor al, dl mov byte ptr [r11 + rdi], al cmp r10, rsi - jne .LBB1_155 -.LBB1_156: - add r12, rsi + jne .LBB1_156 .LBB1_157: + add r12, rsi +.LBB1_158: test r8b, 1 - je .LBB1_164 -# %bb.158: + je .LBB1_165 +# %bb.159: cmp byte ptr [r12], r14b sete al neg al @@ -5523,14 +5917,14 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 and bl, al xor bl, dil mov byte ptr [r8 + rdx], bl - jmp .LBB1_164 -.LBB1_159: + jmp .LBB1_165 +.LBB1_160: mov r10, r8 and r10, -2 xor r11d, r11d mov r15, r14 .p2align 4, 0x90 -.LBB1_160: # =>This Inner Loop Header: Depth=1 +.LBB1_161: # =>This Inner Loop Header: Depth=1 cmp dword ptr [rsi], r13d sete al neg al @@ -5558,13 +5952,13 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 xor dl, bl mov byte ptr [r15 + rdi], dl cmp r10, r11 - jne .LBB1_160 -.LBB1_161: + jne .LBB1_161 +.LBB1_162: test r8b, 1 - je .LBB1_164 -# %bb.162: + je .LBB1_165 +# %bb.163: cmp dword ptr [rsi], r13d -.LBB1_163: +.LBB1_164: sete al neg al mov rdx, r11 @@ -5578,7 +5972,7 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 and bl, al xor bl, sil mov byte ptr [r14 + rdx], bl -.LBB1_164: +.LBB1_165: lea rsp, [rbp - 40] pop rbx pop r12 @@ -5588,7 +5982,7 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 pop rbp vzeroupper ret -.LBB1_165: +.LBB1_166: and r13, -32 mov rax, r13 shl rax, 5 @@ -5603,7 +5997,7 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 xor eax, eax mov qword ptr [rsp + 272], r11 # 8-byte Spill .p2align 4, 0x90 -.LBB1_166: # =>This Inner Loop Header: Depth=1 +.LBB1_167: # =>This Inner Loop Header: Depth=1 mov rbx, rax mov qword ptr [rsp + 408], rax # 8-byte Spill shl rbx, 5 @@ -5704,13 +6098,13 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 mov qword ptr [rsp + 104], rax # 8-byte Spill mov r15, rbx or r15, 640 - mov qword ptr [rsp + 176], r15 # 8-byte Spill + mov qword ptr [rsp + 168], r15 # 8-byte Spill mov r11, rbx or r11, 672 mov qword ptr [rsp + 200], r11 # 8-byte Spill mov r8, rbx or r8, 704 - mov qword ptr [rsp + 168], r8 # 8-byte Spill + mov qword ptr [rsp + 176], r8 # 8-byte Spill mov rdx, rbx or rdx, 736 mov qword ptr [rsp + 192], rdx # 8-byte Spill @@ -5793,11 +6187,11 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 vpinsrb xmm4, xmm4, byte ptr [rsi + rdx + 1], 2 mov rdx, qword ptr [rsp + 104] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rsi + rdx + 1], 3 - mov rdx, qword ptr [rsp + 176] # 8-byte Reload + mov rdx, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rsi + rdx + 1], 4 mov rdx, qword ptr [rsp + 200] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rsi + rdx + 1], 5 - mov rdx, qword ptr [rsp + 168] # 8-byte Reload + mov rdx, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rsi + rdx + 1], 6 mov rdx, qword ptr [rsp + 192] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rsi + rdx + 1], 7 @@ -5852,11 +6246,11 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 vpinsrb xmm0, xmm0, byte ptr [rsi + rcx + 2], 2 mov r10, qword ptr [rsp + 104] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rsi + r10 + 2], 3 - mov rax, qword ptr [rsp + 176] # 8-byte Reload + mov rax, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rsi + rax + 2], 4 mov rax, qword ptr [rsp + 200] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rsi + rax + 2], 5 - mov rax, qword ptr [rsp + 168] # 8-byte Reload + mov rax, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rsi + rax + 2], 6 mov rax, qword ptr [rsp + 192] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rsi + rax + 2], 7 @@ -5909,11 +6303,11 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 vpinsrb xmm4, xmm11, byte ptr [rsi + rdx + 3], 1 vpinsrb xmm4, xmm4, byte ptr [rsi + rcx + 3], 2 vpinsrb xmm4, xmm4, byte ptr [rsi + r10 + 3], 3 - mov rcx, qword ptr [rsp + 176] # 8-byte Reload + mov rcx, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rsi + rcx + 3], 4 mov rcx, qword ptr [rsp + 200] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rsi + rcx + 3], 5 - mov rcx, qword ptr [rsp + 168] # 8-byte Reload + mov rcx, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rsi + rcx + 3], 6 mov r8, qword ptr [rsp + 192] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rsi + r8 + 3], 7 @@ -5973,11 +6367,11 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 vpinsrb xmm0, xmm0, byte ptr [rsi + rax + 4], 2 mov rax, qword ptr [rsp + 104] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rsi + rax + 4], 3 - mov r13, qword ptr [rsp + 176] # 8-byte Reload + mov r13, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rsi + r13 + 4], 4 mov rcx, qword ptr [rsp + 200] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rsi + rcx + 4], 5 - mov rax, qword ptr [rsp + 168] # 8-byte Reload + mov rax, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rsi + rax + 4], 6 vpinsrb xmm0, xmm0, byte ptr [rsi + r8 + 4], 7 vpinsrb xmm0, xmm0, byte ptr [rsi + r12 + 4], 8 @@ -6027,7 +6421,7 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 vpinsrb xmm4, xmm4, byte ptr [rsi + r9 + 5], 3 vpinsrb xmm4, xmm4, byte ptr [rsi + r13 + 5], 4 vpinsrb xmm4, xmm4, byte ptr [rsi + rcx + 5], 5 - mov rcx, qword ptr [rsp + 168] # 8-byte Reload + mov rcx, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rsi + rcx + 5], 6 mov rcx, qword ptr [rsp + 192] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rsi + rcx + 5], 7 @@ -6085,11 +6479,11 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 vpinsrb xmm0, xmm0, byte ptr [rsi + r15 + 6], 2 mov r9, qword ptr [rsp + 104] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rsi + r9 + 6], 3 - mov rbx, qword ptr [rsp + 176] # 8-byte Reload + mov rbx, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rsi + rbx + 6], 4 mov rdx, qword ptr [rsp + 200] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rsi + rdx + 6], 5 - mov r11, qword ptr [rsp + 168] # 8-byte Reload + mov r11, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rsi + r11 + 6], 6 vpinsrb xmm0, xmm0, byte ptr [rsi + r13 + 6], 7 mov rcx, qword ptr [rsp + 216] # 8-byte Reload @@ -6204,7 +6598,7 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 vpinsrb xmm0, xmm0, byte ptr [rsi + rbx + 8], 4 mov rbx, r14 vpinsrb xmm0, xmm0, byte ptr [rsi + r14 + 8], 5 - mov rax, qword ptr [rsp + 168] # 8-byte Reload + mov rax, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rsi + rax + 8], 6 mov rdx, qword ptr [rsp + 192] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rsi + rdx + 8], 7 @@ -6253,7 +6647,7 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 vpinsrb xmm6, xmm8, byte ptr [rsi + r13 + 9], 1 vpinsrb xmm6, xmm6, byte ptr [rsi + r12 + 9], 2 vpinsrb xmm6, xmm6, byte ptr [rsi + rcx + 9], 3 - mov rcx, qword ptr [rsp + 176] # 8-byte Reload + mov rcx, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm6, xmm6, byte ptr [rsi + rcx + 9], 4 vpinsrb xmm6, xmm6, byte ptr [rsi + rbx + 9], 5 vpinsrb xmm6, xmm6, byte ptr [rsi + rax + 9], 6 @@ -6314,11 +6708,11 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 vpinsrb xmm3, xmm3, byte ptr [rsi + rbx + 10], 2 mov rax, qword ptr [rsp + 104] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rsi + rax + 10], 3 - mov r9, qword ptr [rsp + 176] # 8-byte Reload + mov r9, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rsi + r9 + 10], 4 mov rax, qword ptr [rsp + 200] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rsi + rax + 10], 5 - mov rax, qword ptr [rsp + 168] # 8-byte Reload + mov rax, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rsi + rax + 10], 6 vpinsrb xmm3, xmm3, byte ptr [rsi + rdx + 10], 7 mov r8, qword ptr [rsp + 216] # 8-byte Reload @@ -6369,7 +6763,7 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 vpinsrb xmm1, xmm1, byte ptr [rsi + r9 + 11], 4 mov rbx, qword ptr [rsp + 200] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rsi + rbx + 11], 5 - mov r13, qword ptr [rsp + 168] # 8-byte Reload + mov r13, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rsi + r13 + 11], 6 vpinsrb xmm1, xmm1, byte ptr [rsi + rdx + 11], 7 mov r9, rdx @@ -6428,7 +6822,7 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 vpinsrb xmm0, xmm0, byte ptr [rsi + rcx + 12], 2 mov rcx, qword ptr [rsp + 104] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rsi + rcx + 12], 3 - mov rdx, qword ptr [rsp + 176] # 8-byte Reload + mov rdx, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rsi + rdx + 12], 4 vpinsrb xmm0, xmm0, byte ptr [rsi + rbx + 12], 5 mov rbx, r13 @@ -6541,11 +6935,11 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 vpinsrb xmm1, xmm1, byte ptr [rsi + rdx + 14], 2 mov rbx, qword ptr [rsp + 104] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rsi + rbx + 14], 3 - mov r8, qword ptr [rsp + 176] # 8-byte Reload + mov r8, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rsi + r8 + 14], 4 mov rax, qword ptr [rsp + 200] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rsi + rax + 14], 5 - mov rcx, qword ptr [rsp + 168] # 8-byte Reload + mov rcx, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rsi + rcx + 14], 6 mov rax, qword ptr [rsp + 192] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rsi + rax + 14], 7 @@ -6660,10 +7054,10 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 vpinsrb xmm0, xmm0, byte ptr [rsi + rax + 16], 2 mov r11, qword ptr [rsp + 104] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rsi + r11 + 16], 3 - mov rax, qword ptr [rsp + 176] # 8-byte Reload + mov rax, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rsi + rax + 16], 4 vpinsrb xmm0, xmm0, byte ptr [rsi + rbx + 16], 5 - mov r9, qword ptr [rsp + 168] # 8-byte Reload + mov r9, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rsi + r9 + 16], 6 vpinsrb xmm0, xmm0, byte ptr [rsi + rdx + 16], 7 mov rdx, qword ptr [rsp + 216] # 8-byte Reload @@ -6716,7 +7110,7 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 mov r8, qword ptr [rsp + 232] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rsi + r8 + 17], 2 vpinsrb xmm2, xmm2, byte ptr [rsi + r11 + 17], 3 - mov r10, qword ptr [rsp + 176] # 8-byte Reload + mov r10, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rsi + r10 + 17], 4 mov rdi, qword ptr [rsp + 200] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rsi + rdi + 17], 5 @@ -6781,7 +7175,7 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 vpinsrb xmm0, xmm0, byte ptr [rsi + r10 + 18], 4 mov rax, qword ptr [rsp + 200] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rsi + rax + 18], 5 - mov r8, qword ptr [rsp + 168] # 8-byte Reload + mov r8, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rsi + r8 + 18], 6 mov rax, qword ptr [rsp + 192] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rsi + rax + 18], 7 @@ -6835,7 +7229,7 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 vpinsrb xmm2, xmm2, byte ptr [rsi + rdi + 19], 2 mov rdi, qword ptr [rsp + 104] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rsi + rdi + 19], 3 - mov rdi, qword ptr [rsp + 176] # 8-byte Reload + mov rdi, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rsi + rdi + 19], 4 mov r13, qword ptr [rsp + 200] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rsi + r13 + 19], 5 @@ -6895,10 +7289,10 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 vpinsrb xmm0, xmm0, byte ptr [rsi + rdx + 20], 2 mov rdi, qword ptr [rsp + 104] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rsi + rdi + 20], 3 - mov rdi, qword ptr [rsp + 176] # 8-byte Reload + mov rdi, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rsi + rdi + 20], 4 vpinsrb xmm0, xmm0, byte ptr [rsi + r13 + 20], 5 - mov rdi, qword ptr [rsp + 168] # 8-byte Reload + mov rdi, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rsi + rdi + 20], 6 mov r13, qword ptr [rsp + 192] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rsi + r13 + 20], 7 @@ -6954,11 +7348,11 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 vpinsrb xmm2, xmm2, byte ptr [rsi + rdx + 21], 2 mov rdx, qword ptr [rsp + 104] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rsi + rdx + 21], 3 - mov rax, qword ptr [rsp + 176] # 8-byte Reload + mov rax, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rsi + rax + 21], 4 mov rax, qword ptr [rsp + 200] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rsi + rax + 21], 5 - mov rax, qword ptr [rsp + 168] # 8-byte Reload + mov rax, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rsi + rax + 21], 6 vpinsrb xmm2, xmm2, byte ptr [rsi + r13 + 21], 7 vpinsrb xmm2, xmm2, byte ptr [rsi + r15 + 21], 8 @@ -7014,11 +7408,11 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 mov rdi, qword ptr [rsp + 232] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rsi + rdi + 22], 2 vpinsrb xmm0, xmm0, byte ptr [rsi + rdx + 22], 3 - mov rdx, qword ptr [rsp + 176] # 8-byte Reload + mov rdx, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rsi + rdx + 22], 4 mov rdx, qword ptr [rsp + 200] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rsi + rdx + 22], 5 - mov rdx, qword ptr [rsp + 168] # 8-byte Reload + mov rdx, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rsi + rdx + 22], 6 mov rdx, qword ptr [rsp + 192] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rsi + rdx + 22], 7 @@ -7071,11 +7465,11 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 vpinsrb xmm2, xmm2, byte ptr [rsi + r8 + 23], 2 mov rdi, qword ptr [rsp + 104] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rsi + rdi + 23], 3 - mov rdi, qword ptr [rsp + 176] # 8-byte Reload + mov rdi, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rsi + rdi + 23], 4 mov rdi, qword ptr [rsp + 200] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rsi + rdi + 23], 5 - mov r13, qword ptr [rsp + 168] # 8-byte Reload + mov r13, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rsi + r13 + 23], 6 mov rdi, qword ptr [rsp + 192] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rsi + rdi + 23], 7 @@ -7130,7 +7524,7 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 vpinsrb xmm0, xmm0, byte ptr [rsi + r8 + 24], 2 mov r10, qword ptr [rsp + 104] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rsi + r10 + 24], 3 - mov rdi, qword ptr [rsp + 176] # 8-byte Reload + mov rdi, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rsi + rdi + 24], 4 mov rdi, qword ptr [rsp + 200] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rsi + rdi + 24], 5 @@ -7185,11 +7579,11 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 mov rbx, qword ptr [rsp + 232] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rsi + rbx + 25], 2 vpinsrb xmm2, xmm2, byte ptr [rsi + r10 + 25], 3 - mov rax, qword ptr [rsp + 176] # 8-byte Reload + mov rax, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rsi + rax + 25], 4 mov r14, qword ptr [rsp + 200] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rsi + r14 + 25], 5 - mov rax, qword ptr [rsp + 168] # 8-byte Reload + mov rax, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rsi + rax + 25], 6 vpinsrb xmm2, xmm2, byte ptr [rsi + r8 + 25], 7 mov rcx, qword ptr [rsp + 216] # 8-byte Reload @@ -7247,10 +7641,10 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 vpinsrb xmm0, xmm0, byte ptr [rsi + rbx + 26], 2 mov rbx, qword ptr [rsp + 104] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rsi + rbx + 26], 3 - mov rdx, qword ptr [rsp + 176] # 8-byte Reload + mov rdx, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rsi + rdx + 26], 4 vpinsrb xmm0, xmm0, byte ptr [rsi + r14 + 26], 5 - mov r9, qword ptr [rsp + 168] # 8-byte Reload + mov r9, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rsi + r9 + 26], 6 mov rdi, qword ptr [rsp + 192] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rsi + rdi + 26], 7 @@ -7364,10 +7758,10 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 vpinsrb xmm0, xmm0, byte ptr [rsi + rcx + 28], 2 mov rdi, qword ptr [rsp + 104] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rsi + rdi + 28], 3 - mov r11, qword ptr [rsp + 176] # 8-byte Reload + mov r11, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rsi + r11 + 28], 4 vpinsrb xmm0, xmm0, byte ptr [rsi + r8 + 28], 5 - mov rdi, qword ptr [rsp + 168] # 8-byte Reload + mov rdi, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rsi + rdi + 28], 6 vpinsrb xmm0, xmm0, byte ptr [rsi + rax + 28], 7 mov rax, qword ptr [rsp + 216] # 8-byte Reload @@ -7424,7 +7818,7 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 vpinsrb xmm2, xmm2, byte ptr [rsi + r11 + 29], 4 mov r11, qword ptr [rsp + 200] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rsi + r11 + 29], 5 - mov rdi, qword ptr [rsp + 168] # 8-byte Reload + mov rdi, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rsi + rdi + 29], 6 mov rdi, qword ptr [rsp + 192] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rsi + rdi + 29], 7 @@ -7485,12 +7879,12 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 vpinsrb xmm1, xmm1, byte ptr [rsi + rax + 31], 2 vpinsrb xmm0, xmm0, byte ptr [rsi + rcx + 30], 3 vpinsrb xmm1, xmm1, byte ptr [rsi + rcx + 31], 3 - mov rax, qword ptr [rsp + 176] # 8-byte Reload + mov rax, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rsi + rax + 30], 4 vpinsrb xmm1, xmm1, byte ptr [rsi + rax + 31], 4 vpinsrb xmm0, xmm0, byte ptr [rsi + r11 + 30], 5 vpinsrb xmm1, xmm1, byte ptr [rsi + r11 + 31], 5 - mov rax, qword ptr [rsp + 168] # 8-byte Reload + mov rax, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rsi + rax + 30], 6 vpinsrb xmm1, xmm1, byte ptr [rsi + rax + 31], 6 mov r11, qword ptr [rsp + 272] # 8-byte Reload @@ -7702,8 +8096,8 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 add rcx, 32 mov rax, rcx cmp rcx, qword ptr [rsp + 384] # 8-byte Folded Reload - jne .LBB1_166 -# %bb.167: + jne .LBB1_167 +# %bb.168: mov r13, qword ptr [rsp + 392] # 8-byte Reload cmp r13, qword ptr [rsp + 384] # 8-byte Folded Reload mov r15, qword ptr [rsp + 280] # 8-byte Reload @@ -7711,7 +8105,7 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 mov r12, qword ptr [rsp + 400] # 8-byte Reload jne .LBB1_36 jmp .LBB1_109 -.LBB1_168: +.LBB1_169: and r15, -32 mov rax, r15 shl rax, 5 @@ -7726,7 +8120,7 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 xor eax, eax mov qword ptr [rsp + 272], r11 # 8-byte Spill .p2align 4, 0x90 -.LBB1_169: # =>This Inner Loop Header: Depth=1 +.LBB1_170: # =>This Inner Loop Header: Depth=1 mov rbx, rax mov qword ptr [rsp + 408], rax # 8-byte Spill shl rbx, 5 @@ -7738,13 +8132,13 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 mov qword ptr [rsp + 152], rax # 8-byte Spill mov rax, rbx or rax, 96 - mov qword ptr [rsp + 176], rax # 8-byte Spill + mov qword ptr [rsp + 168], rax # 8-byte Spill mov rax, rbx or rax, 128 mov qword ptr [rsp + 120], rax # 8-byte Spill mov rax, rbx or rax, 160 - mov qword ptr [rsp + 168], rax # 8-byte Spill + mov qword ptr [rsp + 176], rax # 8-byte Spill mov rax, rbx or rax, 192 mov qword ptr [rsp + 232], rax # 8-byte Spill @@ -7883,11 +8277,11 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 vpinsrb xmm3, xmm3, byte ptr [rsi + r14], 1 mov r10, qword ptr [rsp + 152] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rsi + r10], 2 - mov r12, qword ptr [rsp + 176] # 8-byte Reload + mov r12, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rsi + r12], 3 mov r8, qword ptr [rsp + 120] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rsi + r8], 4 - mov r11, qword ptr [rsp + 168] # 8-byte Reload + mov r11, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rsi + r11], 5 mov r9, qword ptr [rsp + 232] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rsi + r9], 6 @@ -8002,11 +8396,11 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 vpinsrb xmm3, xmm3, byte ptr [rsi + rax + 2], 1 mov rdi, qword ptr [rsp + 152] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rsi + rdi + 2], 2 - mov rdi, qword ptr [rsp + 176] # 8-byte Reload + mov rdi, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rsi + rdi + 2], 3 mov rdi, qword ptr [rsp + 120] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rsi + rdi + 2], 4 - mov rdi, qword ptr [rsp + 168] # 8-byte Reload + mov rdi, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rsi + rdi + 2], 5 mov rdi, qword ptr [rsp + 232] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rsi + rdi + 2], 6 @@ -8051,11 +8445,11 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 vpinsrb xmm5, xmm8, byte ptr [rsi + rax + 3], 1 mov rbx, qword ptr [rsp + 152] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rsi + rbx + 3], 2 - mov rax, qword ptr [rsp + 176] # 8-byte Reload + mov rax, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rsi + rax + 3], 3 mov rax, qword ptr [rsp + 120] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rsi + rax + 3], 4 - mov r10, qword ptr [rsp + 168] # 8-byte Reload + mov r10, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rsi + r10 + 3], 5 mov r14, qword ptr [rsp + 232] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rsi + r14 + 3], 6 @@ -8115,7 +8509,7 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 mov rax, qword ptr [rsp + 104] # 8-byte Reload vpinsrb xmm3, xmm13, byte ptr [rsi + rax + 4], 1 vpinsrb xmm3, xmm3, byte ptr [rsi + rbx + 4], 2 - mov r11, qword ptr [rsp + 176] # 8-byte Reload + mov r11, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rsi + r11 + 4], 3 mov rax, qword ptr [rsp + 120] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rsi + rax + 4], 4 @@ -8170,7 +8564,7 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 vpinsrb xmm5, xmm5, byte ptr [rsi + rdx + 5], 2 vpinsrb xmm5, xmm5, byte ptr [rsi + r11 + 5], 3 vpinsrb xmm5, xmm5, byte ptr [rsi + rax + 5], 4 - mov rax, qword ptr [rsp + 168] # 8-byte Reload + mov rax, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rsi + rax + 5], 5 vpinsrb xmm5, xmm5, byte ptr [rsi + rdi + 5], 6 vpinsrb xmm5, xmm5, byte ptr [rsi + r10 + 5], 7 @@ -8225,11 +8619,11 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 vpinsrb xmm5, xmm7, byte ptr [rsi + r12 + 6], 1 mov rcx, qword ptr [rsp + 152] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rsi + rcx + 6], 2 - mov rcx, qword ptr [rsp + 176] # 8-byte Reload + mov rcx, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rsi + rcx + 6], 3 mov rcx, qword ptr [rsp + 120] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rsi + rcx + 6], 4 - mov rdi, qword ptr [rsp + 168] # 8-byte Reload + mov rdi, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rsi + rdi + 6], 5 mov rbx, qword ptr [rsp + 232] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rsi + rbx + 6], 6 @@ -8278,7 +8672,7 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 vpinsrb xmm1, xmm1, byte ptr [rsi + rcx + 7], 1 mov rcx, qword ptr [rsp + 152] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rsi + rcx + 7], 2 - mov rcx, qword ptr [rsp + 176] # 8-byte Reload + mov rcx, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rsi + rcx + 7], 3 mov rdx, qword ptr [rsp + 120] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rsi + rdx + 7], 4 @@ -8340,11 +8734,11 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 vpinsrb xmm5, xmm10, byte ptr [rsi + rax + 8], 1 mov r9, qword ptr [rsp + 152] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rsi + r9 + 8], 2 - mov rax, qword ptr [rsp + 176] # 8-byte Reload + mov rax, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rsi + rax + 8], 3 mov rdi, qword ptr [rsp + 120] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rsi + rdi + 8], 4 - mov rax, qword ptr [rsp + 168] # 8-byte Reload + mov rax, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rsi + rax + 8], 5 mov r15, qword ptr [rsp + 232] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rsi + r15 + 8], 6 @@ -8391,10 +8785,10 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 mov rcx, qword ptr [rsp + 104] # 8-byte Reload vpinsrb xmm7, xmm11, byte ptr [rsi + rcx + 9], 1 vpinsrb xmm7, xmm7, byte ptr [rsi + r9 + 9], 2 - mov rcx, qword ptr [rsp + 176] # 8-byte Reload + mov rcx, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm7, xmm7, byte ptr [rsi + rcx + 9], 3 vpinsrb xmm7, xmm7, byte ptr [rsi + rdi + 9], 4 - mov r11, qword ptr [rsp + 168] # 8-byte Reload + mov r11, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm7, xmm7, byte ptr [rsi + r11 + 9], 5 vpinsrb xmm7, xmm7, byte ptr [rsi + r15 + 9], 6 mov rbx, qword ptr [rsp + 216] # 8-byte Reload @@ -8454,7 +8848,7 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 vpinsrb xmm4, xmm4, byte ptr [rsi + rax + 10], 1 mov rax, qword ptr [rsp + 152] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rsi + rax + 10], 2 - mov rdi, qword ptr [rsp + 176] # 8-byte Reload + mov rdi, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rsi + rdi + 10], 3 mov rax, qword ptr [rsp + 120] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rsi + rax + 10], 4 @@ -8509,7 +8903,7 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 vpinsrb xmm2, xmm2, byte ptr [rsi + rdi + 11], 3 mov rdi, qword ptr [rsp + 120] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rsi + rdi + 11], 4 - mov rdi, qword ptr [rsp + 168] # 8-byte Reload + mov rdi, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rsi + rdi + 11], 5 vpinsrb xmm2, xmm2, byte ptr [rsi + r11 + 11], 6 mov r9, qword ptr [rsp + 216] # 8-byte Reload @@ -8567,11 +8961,11 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 vpinsrb xmm2, xmm5, byte ptr [rsi + rdx + 12], 1 mov rdi, r14 vpinsrb xmm2, xmm2, byte ptr [rsi + r14 + 12], 2 - mov r11, qword ptr [rsp + 176] # 8-byte Reload + mov r11, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rsi + r11 + 12], 3 mov rdx, qword ptr [rsp + 120] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rsi + rdx + 12], 4 - mov r14, qword ptr [rsp + 168] # 8-byte Reload + mov r14, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rsi + r14 + 12], 5 mov rax, qword ptr [rsp + 232] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rsi + rax + 12], 6 @@ -8681,7 +9075,7 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 vpinsrb xmm0, xmm0, byte ptr [rsi + rdx + 14], 1 mov rdi, qword ptr [rsp + 152] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rsi + rdi + 14], 2 - mov r12, qword ptr [rsp + 176] # 8-byte Reload + mov r12, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rsi + r12 + 14], 3 mov rdi, qword ptr [rsp + 120] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rsi + rdi + 14], 4 @@ -8740,7 +9134,7 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 vpinsrb xmm3, xmm3, byte ptr [rsi + r12 + 15], 3 mov rax, qword ptr [rsp + 120] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rsi + rax + 15], 4 - mov rdx, qword ptr [rsp + 168] # 8-byte Reload + mov rdx, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rsi + rdx + 15], 5 mov rax, qword ptr [rsp + 232] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rsi + rax + 15], 6 @@ -8800,7 +9194,7 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 vpinsrb xmm1, xmm1, byte ptr [rsi + rdi + 16], 1 mov rdi, qword ptr [rsp + 152] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rsi + rdi + 16], 2 - mov rdi, qword ptr [rsp + 176] # 8-byte Reload + mov rdi, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rsi + rdi + 16], 3 mov r13, qword ptr [rsp + 120] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rsi + r13 + 16], 4 @@ -8856,10 +9250,10 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 vpinsrb xmm3, xmm3, byte ptr [rsi + rcx + 17], 1 mov rcx, qword ptr [rsp + 152] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rsi + rcx + 17], 2 - mov r8, qword ptr [rsp + 176] # 8-byte Reload + mov r8, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rsi + r8 + 17], 3 vpinsrb xmm3, xmm3, byte ptr [rsi + r13 + 17], 4 - mov rdi, qword ptr [rsp + 168] # 8-byte Reload + mov rdi, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rsi + rdi + 17], 5 mov rdi, qword ptr [rsp + 232] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rsi + rdi + 17], 6 @@ -8919,7 +9313,7 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 vpinsrb xmm1, xmm1, byte ptr [rsi + r8 + 18], 3 mov r10, qword ptr [rsp + 120] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rsi + r10 + 18], 4 - mov r14, qword ptr [rsp + 168] # 8-byte Reload + mov r14, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rsi + r14 + 18], 5 mov rax, qword ptr [rsp + 232] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rsi + rax + 18], 6 @@ -8976,7 +9370,7 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 vpinsrb xmm3, xmm3, byte ptr [rsi + r13 + 19], 1 mov rdx, qword ptr [rsp + 152] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rsi + rdx + 19], 2 - mov rdx, qword ptr [rsp + 176] # 8-byte Reload + mov rdx, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rsi + rdx + 19], 3 vpinsrb xmm3, xmm3, byte ptr [rsi + r10 + 19], 4 vpinsrb xmm3, xmm3, byte ptr [rsi + r14 + 19], 5 @@ -9041,7 +9435,7 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 vpinsrb xmm1, xmm1, byte ptr [rsi + rdx + 20], 3 mov rax, qword ptr [rsp + 120] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rsi + rax + 20], 4 - mov rdx, qword ptr [rsp + 168] # 8-byte Reload + mov rdx, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rsi + rdx + 20], 5 vpinsrb xmm1, xmm1, byte ptr [rsi + rbx + 20], 6 mov rdx, qword ptr [rsp + 216] # 8-byte Reload @@ -9094,10 +9488,10 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 mov rdi, qword ptr [rsp + 104] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rsi + rdi + 21], 1 vpinsrb xmm3, xmm3, byte ptr [rsi + r8 + 21], 2 - mov rdi, qword ptr [rsp + 176] # 8-byte Reload + mov rdi, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rsi + rdi + 21], 3 vpinsrb xmm3, xmm3, byte ptr [rsi + rax + 21], 4 - mov rax, qword ptr [rsp + 168] # 8-byte Reload + mov rax, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rsi + rax + 21], 5 mov r8, qword ptr [rsp + 232] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rsi + r8 + 21], 6 @@ -9154,11 +9548,11 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 vpinsrb xmm1, xmm1, byte ptr [rsi + r10 + 22], 1 mov rcx, qword ptr [rsp + 152] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rsi + rcx + 22], 2 - mov rdx, qword ptr [rsp + 176] # 8-byte Reload + mov rdx, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rsi + rdx + 22], 3 mov rdx, qword ptr [rsp + 120] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rsi + rdx + 22], 4 - mov rdx, qword ptr [rsp + 168] # 8-byte Reload + mov rdx, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rsi + rdx + 22], 5 vpinsrb xmm1, xmm1, byte ptr [rsi + r8 + 22], 6 vpinsrb xmm1, xmm1, byte ptr [rsi + r15 + 22], 7 @@ -9211,11 +9605,11 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 vmovd xmm3, edi vpinsrb xmm3, xmm3, byte ptr [rsi + r10 + 23], 1 vpinsrb xmm3, xmm3, byte ptr [rsi + rcx + 23], 2 - mov rcx, qword ptr [rsp + 176] # 8-byte Reload + mov rcx, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rsi + rcx + 23], 3 mov rbx, qword ptr [rsp + 120] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rsi + rbx + 23], 4 - mov r10, qword ptr [rsp + 168] # 8-byte Reload + mov r10, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rsi + r10 + 23], 5 vpinsrb xmm3, xmm3, byte ptr [rsi + r8 + 23], 6 mov rdi, qword ptr [rsp + 216] # 8-byte Reload @@ -9329,11 +9723,11 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 vpinsrb xmm3, xmm3, byte ptr [rsi + rdx + 25], 1 mov rdi, qword ptr [rsp + 152] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rsi + rdi + 25], 2 - mov rdi, qword ptr [rsp + 176] # 8-byte Reload + mov rdi, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rsi + rdi + 25], 3 mov rdi, qword ptr [rsp + 120] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rsi + rdi + 25], 4 - mov rdi, qword ptr [rsp + 168] # 8-byte Reload + mov rdi, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rsi + rdi + 25], 5 vpinsrb xmm3, xmm3, byte ptr [rsi + r10 + 25], 6 mov rdi, qword ptr [rsp + 216] # 8-byte Reload @@ -9386,11 +9780,11 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 vpinsrb xmm1, xmm1, byte ptr [rsi + rdx + 26], 1 mov r14, qword ptr [rsp + 152] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rsi + r14 + 26], 2 - mov r15, qword ptr [rsp + 176] # 8-byte Reload + mov r15, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rsi + r15 + 26], 3 mov rax, qword ptr [rsp + 120] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rsi + rax + 26], 4 - mov rax, qword ptr [rsp + 168] # 8-byte Reload + mov rax, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rsi + rax + 26], 5 mov rax, qword ptr [rsp + 232] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rsi + rax + 26], 6 @@ -9448,7 +9842,7 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 vpinsrb xmm3, xmm3, byte ptr [rsi + r15 + 27], 3 mov rdi, qword ptr [rsp + 120] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rsi + rdi + 27], 4 - mov rdi, qword ptr [rsp + 168] # 8-byte Reload + mov rdi, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rsi + rdi + 27], 5 mov r14, qword ptr [rsp + 232] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rsi + r14 + 27], 6 @@ -9506,11 +9900,11 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 vpinsrb xmm1, xmm1, byte ptr [rsi + rax + 28], 1 mov rax, qword ptr [rsp + 152] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rsi + rax + 28], 2 - mov r13, qword ptr [rsp + 176] # 8-byte Reload + mov r13, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rsi + r13 + 28], 3 mov rdi, qword ptr [rsp + 120] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rsi + rdi + 28], 4 - mov r10, qword ptr [rsp + 168] # 8-byte Reload + mov r10, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rsi + r10 + 28], 5 vpinsrb xmm1, xmm1, byte ptr [rsi + r14 + 28], 6 mov r14, r15 @@ -9647,12 +10041,12 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 mov rax, qword ptr [rsp + 152] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rsi + rax + 30], 2 vpinsrb xmm7, xmm7, byte ptr [rsi + rax + 31], 2 - mov rax, qword ptr [rsp + 176] # 8-byte Reload + mov rax, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rsi + rax + 30], 3 vpinsrb xmm7, xmm7, byte ptr [rsi + rax + 31], 3 vpinsrb xmm1, xmm1, byte ptr [rsi + r13 + 30], 4 vpinsrb xmm7, xmm7, byte ptr [rsi + r13 + 31], 4 - mov rax, qword ptr [rsp + 168] # 8-byte Reload + mov rax, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rsi + rax + 30], 5 vpinsrb xmm7, xmm7, byte ptr [rsi + rax + 31], 5 vpinsrb xmm1, xmm1, byte ptr [rsi + r10 + 30], 6 @@ -9817,8 +10211,8 @@ comparison_equal_arr_scalar_avx2: # @comparison_equal_arr_scalar_avx2 add rcx, 32 mov rax, rcx cmp rcx, qword ptr [rsp + 384] # 8-byte Folded Reload - jne .LBB1_169 -# %bb.170: + jne .LBB1_170 +# %bb.171: mov r15, qword ptr [rsp + 392] # 8-byte Reload cmp r15, qword ptr [rsp + 384] # 8-byte Folded Reload mov r10, qword ptr [rsp + 280] # 8-byte Reload @@ -9862,7 +10256,7 @@ comparison_equal_scalar_arr_avx2: # @comparison_equal_scalar_arr_avx2 sub rsp, 1280 # kill: def $r9d killed $r9d def $r9 mov r10, r8 - mov r11, rcx + mov r14, rcx cmp edi, 6 jg .LBB2_17 # %bb.1: @@ -9876,12 +10270,12 @@ comparison_equal_scalar_arr_avx2: # @comparison_equal_scalar_arr_avx2 je .LBB2_72 # %bb.4: cmp edi, 6 - jne .LBB2_157 + jne .LBB2_165 # %bb.5: mov r13d, dword ptr [rsi] - lea r14, [r10 + 31] + lea r11, [r10 + 31] test r10, r10 - cmovns r14, r10 + cmovns r11, r10 lea eax, [r9 + 7] test r9d, r9d cmovns eax, r9d @@ -9900,8 +10294,8 @@ comparison_equal_scalar_arr_avx2: # @comparison_equal_scalar_arr_avx2 test rax, rax cmovns rsi, rax sar rsi, 3 - mov r9, r11 - movzx r8d, byte ptr [r11 + rsi] + mov r9, r14 + movzx r8d, byte ptr [r14 + rsi] xor bl, r8b lea edi, [8*rsi] mov ecx, eax @@ -9911,41 +10305,41 @@ comparison_equal_scalar_arr_avx2: # @comparison_equal_scalar_arr_avx2 shl edi, cl and dil, bl xor dil, r8b - mov byte ptr [r11 + rsi], dil + mov byte ptr [r14 + rsi], dil add rax, 1 cmp rax, 8 jne .LBB2_7 # %bb.8: - add r11, 1 + add r14, 1 .LBB2_9: - sar r14, 5 + sar r11, 5 cmp r10, 32 jl .LBB2_13 # %bb.10: mov qword ptr [rsp + 280], r10 # 8-byte Spill - mov qword ptr [rsp + 176], r14 # 8-byte Spill - mov qword ptr [rsp + 168], r14 # 8-byte Spill + mov qword ptr [rsp + 168], r11 # 8-byte Spill + mov qword ptr [rsp + 176], r11 # 8-byte Spill .p2align 4, 0x90 .LBB2_11: # =>This Inner Loop Header: Depth=1 - mov qword ptr [rsp + 272], r11 # 8-byte Spill + mov qword ptr [rsp + 272], r14 # 8-byte Spill cmp r13d, dword ptr [rdx] - sete byte ptr [rsp + 152] # 1-byte Folded Spill + sete byte ptr [rsp + 160] # 1-byte Folded Spill cmp r13d, dword ptr [rdx + 4] - sete dil + sete r10b cmp r13d, dword ptr [rdx + 8] sete r14b cmp r13d, dword ptr [rdx + 12] - sete byte ptr [rsp + 160] # 1-byte Folded Spill + sete byte ptr [rsp + 136] # 1-byte Folded Spill cmp r13d, dword ptr [rdx + 16] - sete byte ptr [rsp + 112] # 1-byte Folded Spill + sete byte ptr [rsp + 80] # 1-byte Folded Spill cmp r13d, dword ptr [rdx + 20] - sete byte ptr [rsp + 144] # 1-byte Folded Spill + sete byte ptr [rsp + 112] # 1-byte Folded Spill cmp r13d, dword ptr [rdx + 24] - sete al + sete bl cmp r13d, dword ptr [rdx + 28] - sete r11b + sete dil cmp r13d, dword ptr [rdx + 32] - sete byte ptr [rsp + 80] # 1-byte Folded Spill + sete byte ptr [rsp + 144] # 1-byte Folded Spill cmp r13d, dword ptr [rdx + 36] sete sil cmp r13d, dword ptr [rdx + 40] @@ -9953,37 +10347,37 @@ comparison_equal_scalar_arr_avx2: # @comparison_equal_scalar_arr_avx2 cmp r13d, dword ptr [rdx + 44] sete r9b cmp r13d, dword ptr [rdx + 48] - sete r10b + sete r11b cmp r13d, dword ptr [rdx + 52] sete r12b cmp r13d, dword ptr [rdx + 56] - sete byte ptr [rsp + 88] # 1-byte Folded Spill + sete byte ptr [rsp + 152] # 1-byte Folded Spill cmp r13d, dword ptr [rdx + 60] - sete cl + sete al cmp r13d, dword ptr [rdx + 64] - sete byte ptr [rsp + 128] # 1-byte Folded Spill - cmp r13d, dword ptr [rdx + 68] sete byte ptr [rsp + 96] # 1-byte Folded Spill + cmp r13d, dword ptr [rdx + 68] + sete byte ptr [rsp + 64] # 1-byte Folded Spill cmp r13d, dword ptr [rdx + 72] - sete byte ptr [rsp + 104] # 1-byte Folded Spill + sete byte ptr [rsp + 72] # 1-byte Folded Spill cmp r13d, dword ptr [rdx + 76] - sete byte ptr [rsp + 120] # 1-byte Folded Spill + sete byte ptr [rsp + 88] # 1-byte Folded Spill cmp r13d, dword ptr [rdx + 80] - sete byte ptr [rsp + 136] # 1-byte Folded Spill + sete byte ptr [rsp + 104] # 1-byte Folded Spill cmp r13d, dword ptr [rdx + 84] - sete byte ptr [rsp + 48] # 1-byte Folded Spill + sete byte ptr [rsp + 120] # 1-byte Folded Spill cmp r13d, dword ptr [rdx + 88] - sete byte ptr [rsp + 56] # 1-byte Folded Spill + sete byte ptr [rsp + 128] # 1-byte Folded Spill cmp r13d, dword ptr [rdx + 92] sete r15b cmp r13d, dword ptr [rdx + 96] - sete byte ptr [rsp + 32] # 1-byte Folded Spill + sete byte ptr [rsp + 40] # 1-byte Folded Spill cmp r13d, dword ptr [rdx + 100] - sete byte ptr [rsp + 64] # 1-byte Folded Spill + sete byte ptr [rsp + 48] # 1-byte Folded Spill cmp r13d, dword ptr [rdx + 104] - sete byte ptr [rsp + 72] # 1-byte Folded Spill + sete byte ptr [rsp + 56] # 1-byte Folded Spill cmp r13d, dword ptr [rdx + 108] - sete byte ptr [rsp + 40] # 1-byte Folded Spill + sete byte ptr [rsp + 32] # 1-byte Folded Spill cmp r13d, dword ptr [rdx + 112] sete byte ptr [rsp + 320] # 1-byte Folded Spill cmp r13d, dword ptr [rdx + 116] @@ -9991,112 +10385,110 @@ comparison_equal_scalar_arr_avx2: # @comparison_equal_scalar_arr_avx2 cmp r13d, dword ptr [rdx + 120] sete byte ptr [rsp + 28] # 1-byte Folded Spill cmp r13d, dword ptr [rdx + 124] - sete bl - add dil, dil - add dil, byte ptr [rsp + 152] # 1-byte Folded Reload - shl al, 6 - shl r11b, 7 - or r11b, al + sete cl + add r10b, r10b + add r10b, byte ptr [rsp + 160] # 1-byte Folded Reload + shl bl, 6 + shl dil, 7 + or dil, bl shl r14b, 2 - or r14b, dil + or r14b, r10b add sil, sil - add sil, byte ptr [rsp + 80] # 1-byte Folded Reload - movzx eax, byte ptr [rsp + 160] # 1-byte Folded Reload - shl al, 3 - or al, r14b - mov edi, eax + add sil, byte ptr [rsp + 144] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 136] # 1-byte Folded Reload + shl bl, 3 + or bl, r14b + mov r10d, ebx + mov r14, qword ptr [rsp + 272] # 8-byte Reload shl r8b, 2 or r8b, sil - movzx eax, byte ptr [rsp + 112] # 1-byte Folded Reload - shl al, 4 - or al, dil - mov edi, eax + movzx ebx, byte ptr [rsp + 80] # 1-byte Folded Reload + shl bl, 4 + or bl, r10b + mov esi, ebx shl r9b, 3 or r9b, r8b - movzx eax, byte ptr [rsp + 144] # 1-byte Folded Reload - shl al, 5 - or al, dil - shl r10b, 4 - or r10b, r9b + movzx ebx, byte ptr [rsp + 112] # 1-byte Folded Reload + shl bl, 5 + or bl, sil + shl r11b, 4 + or r11b, r9b shl r12b, 5 - or r12b, r10b - movzx esi, byte ptr [rsp + 88] # 1-byte Folded Reload + or r12b, r11b + movzx esi, byte ptr [rsp + 152] # 1-byte Folded Reload shl sil, 6 - shl cl, 7 - or cl, sil - or r11b, al - or cl, r12b - movzx eax, byte ptr [rsp + 96] # 1-byte Folded Reload - add al, al - add al, byte ptr [rsp + 128] # 1-byte Folded Reload - mov esi, eax - movzx eax, byte ptr [rsp + 104] # 1-byte Folded Reload - shl al, 2 - or al, sil - mov esi, eax - movzx eax, byte ptr [rsp + 120] # 1-byte Folded Reload - shl al, 3 - or al, sil - mov esi, eax - movzx eax, byte ptr [rsp + 136] # 1-byte Folded Reload - shl al, 4 - or al, sil - mov esi, eax - movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload - shl al, 5 + shl al, 7 or al, sil - mov esi, eax - mov rax, qword ptr [rsp + 272] # 8-byte Reload - mov byte ptr [rax], r11b - mov r11, qword ptr [rsp + 272] # 8-byte Reload - movzx eax, byte ptr [rsp + 56] # 1-byte Folded Reload - shl al, 6 + or dil, bl + or al, r12b + movzx ebx, byte ptr [rsp + 64] # 1-byte Folded Reload + add bl, bl + add bl, byte ptr [rsp + 96] # 1-byte Folded Reload + mov esi, ebx + movzx ebx, byte ptr [rsp + 72] # 1-byte Folded Reload + shl bl, 2 + or bl, sil + mov esi, ebx + movzx ebx, byte ptr [rsp + 88] # 1-byte Folded Reload + shl bl, 3 + or bl, sil + mov esi, ebx + movzx ebx, byte ptr [rsp + 104] # 1-byte Folded Reload + shl bl, 4 + or bl, sil + mov esi, ebx + movzx ebx, byte ptr [rsp + 120] # 1-byte Folded Reload + shl bl, 5 + or bl, sil + mov byte ptr [r14], dil + movzx esi, byte ptr [rsp + 128] # 1-byte Folded Reload + shl sil, 6 shl r15b, 7 - or r15b, al - mov byte ptr [r11 + 1], cl or r15b, sil - movzx eax, byte ptr [rsp + 64] # 1-byte Folded Reload + mov byte ptr [r14 + 1], al + or r15b, bl + movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 32] # 1-byte Folded Reload - mov ecx, eax - movzx eax, byte ptr [rsp + 72] # 1-byte Folded Reload + add al, byte ptr [rsp + 40] # 1-byte Folded Reload + mov ebx, eax + movzx eax, byte ptr [rsp + 56] # 1-byte Folded Reload shl al, 2 - or al, cl - mov ecx, eax - movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload shl al, 3 - or al, cl - mov ecx, eax + or al, bl + mov ebx, eax movzx eax, byte ptr [rsp + 320] # 1-byte Folded Reload shl al, 4 - or al, cl - mov ecx, eax + or al, bl + mov ebx, eax movzx eax, byte ptr [rsp + 288] # 1-byte Folded Reload shl al, 5 - or al, cl - movzx ecx, byte ptr [rsp + 28] # 1-byte Folded Reload - shl cl, 6 - shl bl, 7 - or bl, cl - or bl, al - mov byte ptr [r11 + 2], r15b - mov byte ptr [r11 + 3], bl + or al, bl + movzx ebx, byte ptr [rsp + 28] # 1-byte Folded Reload + shl bl, 6 + shl cl, 7 + or cl, bl + or cl, al + mov byte ptr [r14 + 2], r15b + mov byte ptr [r14 + 3], cl add rdx, 128 - add r11, 4 - add qword ptr [rsp + 168], -1 # 8-byte Folded Spill + add r14, 4 + add qword ptr [rsp + 176], -1 # 8-byte Folded Spill jne .LBB2_11 # %bb.12: mov r10, qword ptr [rsp + 280] # 8-byte Reload - mov r14, qword ptr [rsp + 176] # 8-byte Reload + mov r11, qword ptr [rsp + 168] # 8-byte Reload .LBB2_13: - shl r14, 5 - cmp r14, r10 - jge .LBB2_157 + shl r11, 5 + cmp r11, r10 + jge .LBB2_165 # %bb.14: mov r8, r10 - sub r8, r14 - not r14 - add r14, r10 + sub r8, r11 + not r11 + add r11, r10 je .LBB2_127 # %bb.15: mov r10, r8 @@ -10109,8 +10501,8 @@ comparison_equal_scalar_arr_avx2: # @comparison_equal_scalar_arr_avx2 neg al mov rsi, rdi shr rsi, 3 - mov r14, r11 - movzx r9d, byte ptr [r11 + rsi] + mov r11, r14 + movzx r9d, byte ptr [r14 + rsi] mov ecx, edi and cl, 6 mov bl, 1 @@ -10118,7 +10510,7 @@ comparison_equal_scalar_arr_avx2: # @comparison_equal_scalar_arr_avx2 xor al, r9b and bl, al xor bl, r9b - mov byte ptr [r11 + rsi], bl + mov byte ptr [r14 + rsi], bl add rdi, 2 cmp r13d, dword ptr [rdx + 4] lea rdx, [rdx + 8] @@ -10130,10 +10522,10 @@ comparison_equal_scalar_arr_avx2: # @comparison_equal_scalar_arr_avx2 shl al, cl and al, r9b xor al, bl - mov byte ptr [r11 + rsi], al + mov byte ptr [r14 + rsi], al cmp r10, rdi jne .LBB2_16 - jmp .LBB2_154 + jmp .LBB2_155 .LBB2_17: cmp edi, 8 jle .LBB2_46 @@ -10145,11 +10537,11 @@ comparison_equal_scalar_arr_avx2: # @comparison_equal_scalar_arr_avx2 je .LBB2_94 # %bb.20: cmp edi, 12 - jne .LBB2_157 + jne .LBB2_165 # %bb.21: - lea r14, [r10 + 31] + lea r11, [r10 + 31] test r10, r10 - cmovns r14, r10 + cmovns r11, r10 lea eax, [r9 + 7] test r9d, r9d cmovns eax, r9d @@ -10163,14 +10555,16 @@ comparison_equal_scalar_arr_avx2: # @comparison_equal_scalar_arr_avx2 .LBB2_23: # =>This Inner Loop Header: Depth=1 vucomisd xmm0, qword ptr [rdx] lea rdx, [rdx + 8] + setnp cl sete bl + and bl, cl neg bl lea rsi, [rax + 7] test rax, rax cmovns rsi, rax sar rsi, 3 - mov r15, r11 - movzx r9d, byte ptr [r11 + rsi] + mov r15, r14 + movzx r9d, byte ptr [r14 + rsi] xor bl, r9b lea r8d, [8*rsi] mov ecx, eax @@ -10180,189 +10574,278 @@ comparison_equal_scalar_arr_avx2: # @comparison_equal_scalar_arr_avx2 shl edi, cl and dil, bl xor dil, r9b - mov byte ptr [r11 + rsi], dil + mov byte ptr [r14 + rsi], dil add rax, 1 cmp rax, 8 jne .LBB2_23 # %bb.24: - add r11, 1 + add r14, 1 .LBB2_25: - sar r14, 5 + sar r11, 5 cmp r10, 32 jl .LBB2_29 # %bb.26: mov qword ptr [rsp + 280], r10 # 8-byte Spill - mov qword ptr [rsp + 168], r14 # 8-byte Spill - mov qword ptr [rsp + 152], r14 # 8-byte Spill + mov qword ptr [rsp + 192], r11 # 8-byte Spill + mov qword ptr [rsp + 184], r11 # 8-byte Spill .p2align 4, 0x90 .LBB2_27: # =>This Inner Loop Header: Depth=1 - mov qword ptr [rsp + 272], r11 # 8-byte Spill + mov qword ptr [rsp + 272], r14 # 8-byte Spill vucomisd xmm0, qword ptr [rdx] - sete byte ptr [rsp + 160] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 56], cl # 1-byte Spill vucomisd xmm0, qword ptr [rdx + 8] - sete r8b + setnp al + sete r13b + and r13b, al vucomisd xmm0, qword ptr [rdx + 16] - sete r14b + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 32], cl # 1-byte Spill vucomisd xmm0, qword ptr [rdx + 24] - sete r13b + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 320], cl # 1-byte Spill vucomisd xmm0, qword ptr [rdx + 32] - sete byte ptr [rsp + 112] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 40], cl # 1-byte Spill vucomisd xmm0, qword ptr [rdx + 40] - sete byte ptr [rsp + 144] # 1-byte Folded Spill + setnp al + sete r12b + and r12b, al vucomisd xmm0, qword ptr [rdx + 48] - sete al + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 128], cl # 1-byte Spill vucomisd xmm0, qword ptr [rdx + 56] - sete r11b + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 28], cl # 1-byte Spill vucomisd xmm0, qword ptr [rdx + 64] - sete byte ptr [rsp + 88] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 48], cl # 1-byte Spill vucomisd xmm0, qword ptr [rdx + 72] - sete sil + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 120], cl # 1-byte Spill vucomisd xmm0, qword ptr [rdx + 80] - sete dil + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 112], cl # 1-byte Spill vucomisd xmm0, qword ptr [rdx + 88] - sete r9b + setnp al + sete bl + and bl, al vucomisd xmm0, qword ptr [rdx + 96] - sete r10b + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 288], cl # 1-byte Spill vucomisd xmm0, qword ptr [rdx + 104] - sete r12b + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 96], cl # 1-byte Spill vucomisd xmm0, qword ptr [rdx + 112] - sete byte ptr [rsp + 96] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 88], cl # 1-byte Spill vucomisd xmm0, qword ptr [rdx + 120] + setnp al sete cl + and cl, al + mov byte ptr [rsp + 80], cl # 1-byte Spill vucomisd xmm0, qword ptr [rdx + 128] - sete byte ptr [rsp + 128] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 104], cl # 1-byte Spill vucomisd xmm0, qword ptr [rdx + 136] - sete byte ptr [rsp + 80] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 72], cl # 1-byte Spill vucomisd xmm0, qword ptr [rdx + 144] - sete byte ptr [rsp + 104] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 64], cl # 1-byte Spill vucomisd xmm0, qword ptr [rdx + 152] - sete byte ptr [rsp + 120] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 152], cl # 1-byte Spill vucomisd xmm0, qword ptr [rdx + 160] - sete byte ptr [rsp + 136] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 144], cl # 1-byte Spill vucomisd xmm0, qword ptr [rdx + 168] - sete byte ptr [rsp + 48] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 136], cl # 1-byte Spill vucomisd xmm0, qword ptr [rdx + 176] - sete byte ptr [rsp + 56] # 1-byte Folded Spill - vucomisd xmm0, qword ptr [rdx + 184] + setnp al sete r15b + and r15b, al + vucomisd xmm0, qword ptr [rdx + 184] + setnp al + sete r8b + and r8b, al vucomisd xmm0, qword ptr [rdx + 192] - sete byte ptr [rsp + 32] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 160], cl # 1-byte Spill vucomisd xmm0, qword ptr [rdx + 200] - sete byte ptr [rsp + 64] # 1-byte Folded Spill + setnp al + sete r11b + and r11b, al vucomisd xmm0, qword ptr [rdx + 208] - sete byte ptr [rsp + 72] # 1-byte Folded Spill + setnp al + sete r10b + and r10b, al vucomisd xmm0, qword ptr [rdx + 216] - sete byte ptr [rsp + 40] # 1-byte Folded Spill + setnp al + sete r9b + and r9b, al vucomisd xmm0, qword ptr [rdx + 224] - sete byte ptr [rsp + 320] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 168], cl # 1-byte Spill vucomisd xmm0, qword ptr [rdx + 232] - sete byte ptr [rsp + 288] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 176], cl # 1-byte Spill vucomisd xmm0, qword ptr [rdx + 240] - sete byte ptr [rsp + 28] # 1-byte Folded Spill + setnp al + sete dil + and dil, al vucomisd xmm0, qword ptr [rdx + 248] - sete bl - add r8b, r8b - add r8b, byte ptr [rsp + 160] # 1-byte Folded Reload - shl al, 6 - shl r11b, 7 - or r11b, al - shl r14b, 2 - or r14b, r8b - add sil, sil - add sil, byte ptr [rsp + 88] # 1-byte Folded Reload - shl r13b, 3 - or r13b, r14b - mov r14, qword ptr [rsp + 272] # 8-byte Reload - shl dil, 2 - or dil, sil - movzx eax, byte ptr [rsp + 112] # 1-byte Folded Reload - shl al, 4 - or al, r13b - mov r8d, eax - shl r9b, 3 - or r9b, dil - movzx eax, byte ptr [rsp + 144] # 1-byte Folded Reload - shl al, 5 - or al, r8b - shl r10b, 4 - or r10b, r9b + setnp al + sete sil + and sil, al + add r13b, r13b + add r13b, byte ptr [rsp + 56] # 1-byte Folded Reload + mov eax, r13d shl r12b, 5 - or r12b, r10b - movzx esi, byte ptr [rsp + 96] # 1-byte Folded Reload - shl sil, 6 - shl cl, 7 - or cl, sil - or r11b, al - or cl, r12b - movzx eax, byte ptr [rsp + 80] # 1-byte Folded Reload - add al, al - add al, byte ptr [rsp + 128] # 1-byte Folded Reload - mov esi, eax - movzx eax, byte ptr [rsp + 104] # 1-byte Folded Reload - shl al, 2 - or al, sil - mov esi, eax - movzx eax, byte ptr [rsp + 120] # 1-byte Folded Reload - shl al, 3 - or al, sil - mov esi, eax - movzx eax, byte ptr [rsp + 136] # 1-byte Folded Reload - shl al, 4 - or al, sil - mov esi, eax - movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload - shl al, 5 - or al, sil - mov byte ptr [r14], r11b - movzx esi, byte ptr [rsp + 56] # 1-byte Folded Reload - shl sil, 6 - shl r15b, 7 - or r15b, sil - mov byte ptr [r14 + 1], cl - or r15b, al - movzx eax, byte ptr [rsp + 64] # 1-byte Folded Reload - add al, al - add al, byte ptr [rsp + 32] # 1-byte Folded Reload - mov ecx, eax - movzx eax, byte ptr [rsp + 72] # 1-byte Folded Reload + movzx r13d, byte ptr [rsp + 128] # 1-byte Folded Reload + shl r13b, 6 + or r13b, r12b + movzx r12d, byte ptr [rsp + 32] # 1-byte Folded Reload + shl r12b, 2 + or r12b, al + movzx ecx, byte ptr [rsp + 120] # 1-byte Folded Reload + add cl, cl + add cl, byte ptr [rsp + 48] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 28] # 1-byte Folded Reload + shl al, 7 + or al, r13b + mov byte ptr [rsp + 28], al # 1-byte Spill + movzx eax, byte ptr [rsp + 112] # 1-byte Folded Reload shl al, 2 or al, cl mov ecx, eax - movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload - shl al, 3 - or al, cl - mov ecx, eax movzx eax, byte ptr [rsp + 320] # 1-byte Folded Reload + shl al, 3 + or al, r12b + shl bl, 3 + or bl, cl + movzx r13d, byte ptr [rsp + 40] # 1-byte Folded Reload + shl r13b, 4 + or r13b, al + movzx eax, byte ptr [rsp + 288] # 1-byte Folded Reload shl al, 4 + or al, bl + mov byte ptr [rsp + 288], al # 1-byte Spill + movzx ecx, byte ptr [rsp + 96] # 1-byte Folded Reload + shl cl, 5 + movzx eax, byte ptr [rsp + 88] # 1-byte Folded Reload + shl al, 6 or al, cl mov ecx, eax - movzx eax, byte ptr [rsp + 288] # 1-byte Folded Reload - shl al, 5 - or al, cl - movzx ecx, byte ptr [rsp + 28] # 1-byte Folded Reload - shl cl, 6 - shl bl, 7 + movzx r14d, byte ptr [rsp + 80] # 1-byte Folded Reload + shl r14b, 7 + or r14b, al + movzx ecx, byte ptr [rsp + 72] # 1-byte Folded Reload + add cl, cl + add cl, byte ptr [rsp + 104] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 64] # 1-byte Folded Reload + shl bl, 2 or bl, cl - or bl, al - mov byte ptr [r14 + 2], r15b - mov byte ptr [r14 + 3], bl + movzx ecx, byte ptr [rsp + 152] # 1-byte Folded Reload + shl cl, 3 + or cl, bl + mov ebx, ecx + movzx ecx, byte ptr [rsp + 144] # 1-byte Folded Reload + shl cl, 4 + or cl, bl + mov r12d, ecx + mov rcx, qword ptr [rsp + 272] # 8-byte Reload + movzx eax, byte ptr [rsp + 28] # 1-byte Folded Reload + or al, r13b + movzx ebx, byte ptr [rsp + 136] # 1-byte Folded Reload + shl bl, 5 + shl r15b, 6 + or r15b, bl + or r14b, byte ptr [rsp + 288] # 1-byte Folded Reload + shl r8b, 7 + or r8b, r15b + or r8b, r12b + add r11b, r11b + add r11b, byte ptr [rsp + 160] # 1-byte Folded Reload + shl r10b, 2 + or r10b, r11b + shl r9b, 3 + or r9b, r10b + movzx ebx, byte ptr [rsp + 168] # 1-byte Folded Reload + shl bl, 4 + or bl, r9b + mov r9d, ebx + mov byte ptr [rcx], al + movzx ebx, byte ptr [rsp + 176] # 1-byte Folded Reload + shl bl, 5 + shl dil, 6 + or dil, bl + mov byte ptr [rcx + 1], r14b + shl sil, 7 + or sil, dil + or sil, r9b + mov byte ptr [rcx + 2], r8b + mov byte ptr [rcx + 3], sil add rdx, 256 - add r14, 4 - mov r11, r14 - add qword ptr [rsp + 152], -1 # 8-byte Folded Spill + add rcx, 4 + mov r14, rcx + add qword ptr [rsp + 184], -1 # 8-byte Folded Spill jne .LBB2_27 # %bb.28: mov r10, qword ptr [rsp + 280] # 8-byte Reload - mov r14, qword ptr [rsp + 168] # 8-byte Reload + mov r11, qword ptr [rsp + 192] # 8-byte Reload .LBB2_29: - shl r14, 5 - cmp r14, r10 - jge .LBB2_157 + shl r11, 5 + cmp r11, r10 + jge .LBB2_165 # %bb.30: mov r8, r10 - sub r8, r14 - not r14 - add r14, r10 + sub r8, r11 + not r11 + add r11, r10 jne .LBB2_136 # %bb.31: xor edi, edi @@ -10372,9 +10855,9 @@ comparison_equal_scalar_arr_avx2: # @comparison_equal_scalar_arr_avx2 je .LBB2_105 # %bb.33: cmp edi, 3 - jne .LBB2_157 + jne .LBB2_165 # %bb.34: - mov r14b, byte ptr [rsi] + mov r11b, byte ptr [rsi] lea r15, [r10 + 31] test r10, r10 cmovns r15, r10 @@ -10388,7 +10871,7 @@ comparison_equal_scalar_arr_avx2: # @comparison_equal_scalar_arr_avx2 movsxd rax, r9d .p2align 4, 0x90 .LBB2_36: # =>This Inner Loop Header: Depth=1 - cmp r14b, byte ptr [rdx] + cmp r11b, byte ptr [rdx] lea rdx, [rdx + 1] sete bl neg bl @@ -10396,8 +10879,8 @@ comparison_equal_scalar_arr_avx2: # @comparison_equal_scalar_arr_avx2 test rax, rax cmovns rsi, rax sar rsi, 3 - mov r12, r11 - movzx r9d, byte ptr [r11 + rsi] + mov r12, r14 + movzx r9d, byte ptr [r14 + rsi] xor bl, r9b lea r8d, [8*rsi] mov ecx, eax @@ -10407,19 +10890,19 @@ comparison_equal_scalar_arr_avx2: # @comparison_equal_scalar_arr_avx2 shl edi, cl and dil, bl xor dil, r9b - mov byte ptr [r11 + rsi], dil + mov byte ptr [r14 + rsi], dil add rax, 1 cmp rax, 8 jne .LBB2_36 # %bb.37: - add r11, 1 + add r14, 1 .LBB2_38: sar r15, 5 cmp r10, 32 jl .LBB2_128 # %bb.39: cmp r15, 32 - mov dword ptr [rsp + 28], r14d # 4-byte Spill + mov dword ptr [rsp + 28], r11d # 4-byte Spill mov qword ptr [rsp + 280], r10 # 8-byte Spill mov qword ptr [rsp + 392], r15 # 8-byte Spill jb .LBB2_42 @@ -10427,170 +10910,193 @@ comparison_equal_scalar_arr_avx2: # @comparison_equal_scalar_arr_avx2 mov rax, r15 shl rax, 5 add rax, rdx - cmp r11, rax - jae .LBB2_165 + cmp r14, rax + jae .LBB2_166 # %bb.41: - lea rax, [r11 + 4*r15] + lea rax, [r14 + 4*r15] cmp rdx, rax - jae .LBB2_165 + jae .LBB2_166 .LBB2_42: xor eax, eax mov qword ptr [rsp + 384], rax # 8-byte Spill mov r12, rdx - mov qword ptr [rsp + 376], r11 # 8-byte Spill + mov qword ptr [rsp + 376], r14 # 8-byte Spill .LBB2_43: sub r15, qword ptr [rsp + 384] # 8-byte Folded Reload - mov qword ptr [rsp + 152], r15 # 8-byte Spill + mov qword ptr [rsp + 160], r15 # 8-byte Spill .p2align 4, 0x90 .LBB2_44: # =>This Inner Loop Header: Depth=1 mov rcx, r12 - cmp r14b, byte ptr [r12] + cmp r11b, byte ptr [r12] sete byte ptr [rsp + 320] # 1-byte Folded Spill - cmp r14b, byte ptr [r12 + 1] - sete r10b - cmp r14b, byte ptr [r12 + 2] - sete bl - cmp r14b, byte ptr [r12 + 3] + cmp r11b, byte ptr [r12 + 1] + sete r9b + cmp r11b, byte ptr [r12 + 2] + sete r11b + mov eax, dword ptr [rsp + 28] # 4-byte Reload + cmp al, byte ptr [r12 + 3] sete r13b - cmp r14b, byte ptr [r12 + 4] - sete byte ptr [rsp + 80] # 1-byte Folded Spill - cmp r14b, byte ptr [r12 + 5] - sete byte ptr [rsp + 96] # 1-byte Folded Spill - cmp r14b, byte ptr [r12 + 6] - sete al - cmp r14b, byte ptr [r12 + 7] + mov eax, dword ptr [rsp + 28] # 4-byte Reload + cmp al, byte ptr [r12 + 4] + sete byte ptr [rsp + 48] # 1-byte Folded Spill + mov eax, dword ptr [rsp + 28] # 4-byte Reload + cmp al, byte ptr [r12 + 5] + sete byte ptr [rsp + 40] # 1-byte Folded Spill + mov eax, dword ptr [rsp + 28] # 4-byte Reload + cmp al, byte ptr [r12 + 6] + sete bl + mov eax, dword ptr [rsp + 28] # 4-byte Reload + cmp al, byte ptr [r12 + 7] sete r12b - cmp r14b, byte ptr [rcx + 8] - sete byte ptr [rsp + 160] # 1-byte Folded Spill - cmp r14b, byte ptr [rcx + 9] + mov eax, dword ptr [rsp + 28] # 4-byte Reload + cmp al, byte ptr [rcx + 8] + sete byte ptr [rsp + 136] # 1-byte Folded Spill + mov eax, dword ptr [rsp + 28] # 4-byte Reload + cmp al, byte ptr [rcx + 9] sete sil - cmp r14b, byte ptr [rcx + 10] + mov eax, dword ptr [rsp + 28] # 4-byte Reload + cmp al, byte ptr [rcx + 10] sete dil - cmp r14b, byte ptr [rcx + 11] - sete r9b - cmp r14b, byte ptr [rcx + 12] - sete r11b - cmp r14b, byte ptr [rcx + 13] - sete r15b - cmp r14b, byte ptr [rcx + 14] - sete byte ptr [rsp + 88] # 1-byte Folded Spill - cmp r14b, byte ptr [rcx + 15] + mov eax, dword ptr [rsp + 28] # 4-byte Reload + cmp al, byte ptr [rcx + 11] sete r8b - cmp r14b, byte ptr [rcx + 16] + mov eax, dword ptr [rsp + 28] # 4-byte Reload + cmp al, byte ptr [rcx + 12] + sete r10b + mov eax, dword ptr [rsp + 28] # 4-byte Reload + cmp al, byte ptr [rcx + 13] + sete r15b + mov eax, dword ptr [rsp + 28] # 4-byte Reload + cmp al, byte ptr [rcx + 14] + sete byte ptr [rsp + 144] # 1-byte Folded Spill + mov eax, dword ptr [rsp + 28] # 4-byte Reload + cmp al, byte ptr [rcx + 15] + sete al + mov edx, dword ptr [rsp + 28] # 4-byte Reload + cmp dl, byte ptr [rcx + 16] sete byte ptr [rsp + 288] # 1-byte Folded Spill - cmp r14b, byte ptr [rcx + 17] + mov edx, dword ptr [rsp + 28] # 4-byte Reload + cmp dl, byte ptr [rcx + 17] + sete byte ptr [rsp + 80] # 1-byte Folded Spill + mov edx, dword ptr [rsp + 28] # 4-byte Reload + cmp dl, byte ptr [rcx + 18] + sete byte ptr [rsp + 152] # 1-byte Folded Spill + mov edx, dword ptr [rsp + 28] # 4-byte Reload + cmp dl, byte ptr [rcx + 19] + sete byte ptr [rsp + 64] # 1-byte Folded Spill + mov edx, dword ptr [rsp + 28] # 4-byte Reload + cmp dl, byte ptr [rcx + 20] + sete byte ptr [rsp + 72] # 1-byte Folded Spill + mov edx, dword ptr [rsp + 28] # 4-byte Reload + cmp dl, byte ptr [rcx + 21] + sete byte ptr [rsp + 88] # 1-byte Folded Spill + mov edx, dword ptr [rsp + 28] # 4-byte Reload + cmp dl, byte ptr [rcx + 22] sete byte ptr [rsp + 120] # 1-byte Folded Spill - cmp r14b, byte ptr [rcx + 18] - sete byte ptr [rsp + 104] # 1-byte Folded Spill - cmp r14b, byte ptr [rcx + 19] - sete byte ptr [rsp + 112] # 1-byte Folded Spill - cmp r14b, byte ptr [rcx + 20] - sete byte ptr [rsp + 128] # 1-byte Folded Spill - cmp r14b, byte ptr [rcx + 21] - sete byte ptr [rsp + 136] # 1-byte Folded Spill - cmp r14b, byte ptr [rcx + 22] - sete byte ptr [rsp + 144] # 1-byte Folded Spill - cmp r14b, byte ptr [rcx + 23] + mov edx, dword ptr [rsp + 28] # 4-byte Reload + cmp dl, byte ptr [rcx + 23] sete r14b mov edx, dword ptr [rsp + 28] # 4-byte Reload cmp dl, byte ptr [rcx + 24] sete byte ptr [rsp + 272] # 1-byte Folded Spill mov edx, dword ptr [rsp + 28] # 4-byte Reload cmp dl, byte ptr [rcx + 25] - sete byte ptr [rsp + 48] # 1-byte Folded Spill + sete byte ptr [rsp + 104] # 1-byte Folded Spill mov edx, dword ptr [rsp + 28] # 4-byte Reload cmp dl, byte ptr [rcx + 26] - sete byte ptr [rsp + 56] # 1-byte Folded Spill + sete byte ptr [rsp + 96] # 1-byte Folded Spill mov edx, dword ptr [rsp + 28] # 4-byte Reload cmp dl, byte ptr [rcx + 27] - sete byte ptr [rsp + 64] # 1-byte Folded Spill + sete byte ptr [rsp + 112] # 1-byte Folded Spill mov edx, dword ptr [rsp + 28] # 4-byte Reload cmp dl, byte ptr [rcx + 28] - sete byte ptr [rsp + 72] # 1-byte Folded Spill + sete byte ptr [rsp + 128] # 1-byte Folded Spill mov edx, dword ptr [rsp + 28] # 4-byte Reload cmp dl, byte ptr [rcx + 29] - sete byte ptr [rsp + 40] # 1-byte Folded Spill + sete byte ptr [rsp + 56] # 1-byte Folded Spill mov edx, dword ptr [rsp + 28] # 4-byte Reload cmp dl, byte ptr [rcx + 30] sete byte ptr [rsp + 32] # 1-byte Folded Spill mov edx, dword ptr [rsp + 28] # 4-byte Reload cmp dl, byte ptr [rcx + 31] sete dl - add r10b, r10b - add r10b, byte ptr [rsp + 320] # 1-byte Folded Reload - shl al, 6 + add r9b, r9b + add r9b, byte ptr [rsp + 320] # 1-byte Folded Reload + shl bl, 6 shl r12b, 7 - or r12b, al - shl bl, 2 - or bl, r10b + or r12b, bl + shl r11b, 2 + or r11b, r9b add sil, sil - add sil, byte ptr [rsp + 160] # 1-byte Folded Reload + add sil, byte ptr [rsp + 136] # 1-byte Folded Reload shl r13b, 3 - or r13b, bl + or r13b, r11b + mov r11d, dword ptr [rsp + 28] # 4-byte Reload shl dil, 2 or dil, sil - movzx ebx, byte ptr [rsp + 80] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 48] # 1-byte Folded Reload shl bl, 4 or bl, r13b mov esi, ebx - shl r9b, 3 - or r9b, dil - movzx ebx, byte ptr [rsp + 96] # 1-byte Folded Reload + shl r8b, 3 + or r8b, dil + movzx ebx, byte ptr [rsp + 40] # 1-byte Folded Reload shl bl, 5 or bl, sil - shl r11b, 4 - or r11b, r9b + shl r10b, 4 + or r10b, r8b shl r15b, 5 - or r15b, r11b - movzx esi, byte ptr [rsp + 88] # 1-byte Folded Reload + or r15b, r10b + movzx esi, byte ptr [rsp + 144] # 1-byte Folded Reload shl sil, 6 - shl r8b, 7 - or r8b, sil + shl al, 7 + or al, sil or r12b, bl - or r8b, r15b - movzx eax, byte ptr [rsp + 120] # 1-byte Folded Reload - add al, al - add al, byte ptr [rsp + 288] # 1-byte Folded Reload - movzx ebx, byte ptr [rsp + 104] # 1-byte Folded Reload + or al, r15b + movzx ebx, byte ptr [rsp + 80] # 1-byte Folded Reload + add bl, bl + add bl, byte ptr [rsp + 288] # 1-byte Folded Reload + mov esi, ebx + movzx ebx, byte ptr [rsp + 152] # 1-byte Folded Reload shl bl, 2 - or bl, al + or bl, sil mov esi, ebx - movzx ebx, byte ptr [rsp + 112] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 64] # 1-byte Folded Reload shl bl, 3 or bl, sil mov esi, ebx - movzx ebx, byte ptr [rsp + 128] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 72] # 1-byte Folded Reload shl bl, 4 or bl, sil mov esi, ebx - movzx ebx, byte ptr [rsp + 136] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 88] # 1-byte Folded Reload shl bl, 5 or bl, sil mov rsi, qword ptr [rsp + 376] # 8-byte Reload mov byte ptr [rsi], r12b - movzx edi, byte ptr [rsp + 144] # 1-byte Folded Reload + movzx edi, byte ptr [rsp + 120] # 1-byte Folded Reload shl dil, 6 shl r14b, 7 or r14b, dil - mov byte ptr [rsi + 1], r8b + mov byte ptr [rsi + 1], al or r14b, bl - movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 104] # 1-byte Folded Reload add al, al add al, byte ptr [rsp + 272] # 1-byte Folded Reload mov ebx, eax - movzx eax, byte ptr [rsp + 56] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 96] # 1-byte Folded Reload shl al, 2 or al, bl mov ebx, eax - movzx eax, byte ptr [rsp + 64] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 112] # 1-byte Folded Reload shl al, 3 or al, bl mov ebx, eax - movzx eax, byte ptr [rsp + 72] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 128] # 1-byte Folded Reload shl al, 4 or al, bl mov ebx, eax - movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 56] # 1-byte Folded Reload shl al, 5 or al, bl movzx ebx, byte ptr [rsp + 32] # 1-byte Folded Reload @@ -10599,12 +11105,11 @@ comparison_equal_scalar_arr_avx2: # @comparison_equal_scalar_arr_avx2 or dl, bl or dl, al mov byte ptr [rsi + 2], r14b - mov r14d, dword ptr [rsp + 28] # 4-byte Reload mov byte ptr [rsi + 3], dl lea r12, [rcx + 32] add rsi, 4 mov qword ptr [rsp + 376], rsi # 8-byte Spill - add qword ptr [rsp + 152], -1 # 8-byte Folded Spill + add qword ptr [rsp + 160], -1 # 8-byte Folded Spill jne .LBB2_44 # %bb.45: mov r10, qword ptr [rsp + 280] # 8-byte Reload @@ -10615,12 +11120,12 @@ comparison_equal_scalar_arr_avx2: # @comparison_equal_scalar_arr_avx2 je .LBB2_117 # %bb.47: cmp edi, 8 - jne .LBB2_157 + jne .LBB2_165 # %bb.48: mov r13, qword ptr [rsi] - lea r14, [r10 + 31] + lea r11, [r10 + 31] test r10, r10 - cmovns r14, r10 + cmovns r11, r10 lea eax, [r9 + 7] test r9d, r9d cmovns eax, r9d @@ -10639,8 +11144,8 @@ comparison_equal_scalar_arr_avx2: # @comparison_equal_scalar_arr_avx2 test rax, rax cmovns rsi, rax sar rsi, 3 - mov r9, r11 - movzx r8d, byte ptr [r11 + rsi] + mov r9, r14 + movzx r8d, byte ptr [r14 + rsi] xor bl, r8b lea edi, [8*rsi] mov ecx, eax @@ -10650,41 +11155,41 @@ comparison_equal_scalar_arr_avx2: # @comparison_equal_scalar_arr_avx2 shl edi, cl and dil, bl xor dil, r8b - mov byte ptr [r11 + rsi], dil + mov byte ptr [r14 + rsi], dil add rax, 1 cmp rax, 8 jne .LBB2_50 # %bb.51: - add r11, 1 + add r14, 1 .LBB2_52: - sar r14, 5 + sar r11, 5 cmp r10, 32 jl .LBB2_56 # %bb.53: mov qword ptr [rsp + 280], r10 # 8-byte Spill - mov qword ptr [rsp + 176], r14 # 8-byte Spill - mov qword ptr [rsp + 168], r14 # 8-byte Spill + mov qword ptr [rsp + 168], r11 # 8-byte Spill + mov qword ptr [rsp + 176], r11 # 8-byte Spill .p2align 4, 0x90 .LBB2_54: # =>This Inner Loop Header: Depth=1 - mov qword ptr [rsp + 272], r11 # 8-byte Spill + mov qword ptr [rsp + 272], r14 # 8-byte Spill cmp r13, qword ptr [rdx] - sete byte ptr [rsp + 152] # 1-byte Folded Spill + sete byte ptr [rsp + 160] # 1-byte Folded Spill cmp r13, qword ptr [rdx + 8] - sete dil + sete r10b cmp r13, qword ptr [rdx + 16] sete r14b cmp r13, qword ptr [rdx + 24] - sete byte ptr [rsp + 160] # 1-byte Folded Spill + sete byte ptr [rsp + 136] # 1-byte Folded Spill cmp r13, qword ptr [rdx + 32] - sete byte ptr [rsp + 112] # 1-byte Folded Spill + sete byte ptr [rsp + 80] # 1-byte Folded Spill cmp r13, qword ptr [rdx + 40] - sete byte ptr [rsp + 144] # 1-byte Folded Spill + sete byte ptr [rsp + 112] # 1-byte Folded Spill cmp r13, qword ptr [rdx + 48] - sete al + sete bl cmp r13, qword ptr [rdx + 56] - sete r11b + sete dil cmp r13, qword ptr [rdx + 64] - sete byte ptr [rsp + 80] # 1-byte Folded Spill + sete byte ptr [rsp + 144] # 1-byte Folded Spill cmp r13, qword ptr [rdx + 72] sete sil cmp r13, qword ptr [rdx + 80] @@ -10692,37 +11197,37 @@ comparison_equal_scalar_arr_avx2: # @comparison_equal_scalar_arr_avx2 cmp r13, qword ptr [rdx + 88] sete r9b cmp r13, qword ptr [rdx + 96] - sete r10b + sete r11b cmp r13, qword ptr [rdx + 104] sete r12b cmp r13, qword ptr [rdx + 112] - sete byte ptr [rsp + 88] # 1-byte Folded Spill + sete byte ptr [rsp + 152] # 1-byte Folded Spill cmp r13, qword ptr [rdx + 120] - sete cl + sete al cmp r13, qword ptr [rdx + 128] - sete byte ptr [rsp + 128] # 1-byte Folded Spill - cmp r13, qword ptr [rdx + 136] sete byte ptr [rsp + 96] # 1-byte Folded Spill + cmp r13, qword ptr [rdx + 136] + sete byte ptr [rsp + 64] # 1-byte Folded Spill cmp r13, qword ptr [rdx + 144] - sete byte ptr [rsp + 104] # 1-byte Folded Spill + sete byte ptr [rsp + 72] # 1-byte Folded Spill cmp r13, qword ptr [rdx + 152] - sete byte ptr [rsp + 120] # 1-byte Folded Spill + sete byte ptr [rsp + 88] # 1-byte Folded Spill cmp r13, qword ptr [rdx + 160] - sete byte ptr [rsp + 136] # 1-byte Folded Spill + sete byte ptr [rsp + 104] # 1-byte Folded Spill cmp r13, qword ptr [rdx + 168] - sete byte ptr [rsp + 48] # 1-byte Folded Spill + sete byte ptr [rsp + 120] # 1-byte Folded Spill cmp r13, qword ptr [rdx + 176] - sete byte ptr [rsp + 56] # 1-byte Folded Spill + sete byte ptr [rsp + 128] # 1-byte Folded Spill cmp r13, qword ptr [rdx + 184] sete r15b cmp r13, qword ptr [rdx + 192] - sete byte ptr [rsp + 32] # 1-byte Folded Spill + sete byte ptr [rsp + 40] # 1-byte Folded Spill cmp r13, qword ptr [rdx + 200] - sete byte ptr [rsp + 64] # 1-byte Folded Spill + sete byte ptr [rsp + 48] # 1-byte Folded Spill cmp r13, qword ptr [rdx + 208] - sete byte ptr [rsp + 72] # 1-byte Folded Spill + sete byte ptr [rsp + 56] # 1-byte Folded Spill cmp r13, qword ptr [rdx + 216] - sete byte ptr [rsp + 40] # 1-byte Folded Spill + sete byte ptr [rsp + 32] # 1-byte Folded Spill cmp r13, qword ptr [rdx + 224] sete byte ptr [rsp + 320] # 1-byte Folded Spill cmp r13, qword ptr [rdx + 232] @@ -10730,112 +11235,110 @@ comparison_equal_scalar_arr_avx2: # @comparison_equal_scalar_arr_avx2 cmp r13, qword ptr [rdx + 240] sete byte ptr [rsp + 28] # 1-byte Folded Spill cmp r13, qword ptr [rdx + 248] - sete bl - add dil, dil - add dil, byte ptr [rsp + 152] # 1-byte Folded Reload - shl al, 6 - shl r11b, 7 - or r11b, al + sete cl + add r10b, r10b + add r10b, byte ptr [rsp + 160] # 1-byte Folded Reload + shl bl, 6 + shl dil, 7 + or dil, bl shl r14b, 2 - or r14b, dil + or r14b, r10b add sil, sil - add sil, byte ptr [rsp + 80] # 1-byte Folded Reload - movzx eax, byte ptr [rsp + 160] # 1-byte Folded Reload - shl al, 3 - or al, r14b - mov edi, eax + add sil, byte ptr [rsp + 144] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 136] # 1-byte Folded Reload + shl bl, 3 + or bl, r14b + mov r10d, ebx + mov r14, qword ptr [rsp + 272] # 8-byte Reload shl r8b, 2 or r8b, sil - movzx eax, byte ptr [rsp + 112] # 1-byte Folded Reload - shl al, 4 - or al, dil - mov edi, eax + movzx ebx, byte ptr [rsp + 80] # 1-byte Folded Reload + shl bl, 4 + or bl, r10b + mov esi, ebx shl r9b, 3 or r9b, r8b - movzx eax, byte ptr [rsp + 144] # 1-byte Folded Reload - shl al, 5 - or al, dil - shl r10b, 4 - or r10b, r9b + movzx ebx, byte ptr [rsp + 112] # 1-byte Folded Reload + shl bl, 5 + or bl, sil + shl r11b, 4 + or r11b, r9b shl r12b, 5 - or r12b, r10b - movzx esi, byte ptr [rsp + 88] # 1-byte Folded Reload + or r12b, r11b + movzx esi, byte ptr [rsp + 152] # 1-byte Folded Reload shl sil, 6 - shl cl, 7 - or cl, sil - or r11b, al - or cl, r12b - movzx eax, byte ptr [rsp + 96] # 1-byte Folded Reload - add al, al - add al, byte ptr [rsp + 128] # 1-byte Folded Reload - mov esi, eax - movzx eax, byte ptr [rsp + 104] # 1-byte Folded Reload - shl al, 2 - or al, sil - mov esi, eax - movzx eax, byte ptr [rsp + 120] # 1-byte Folded Reload - shl al, 3 - or al, sil - mov esi, eax - movzx eax, byte ptr [rsp + 136] # 1-byte Folded Reload - shl al, 4 - or al, sil - mov esi, eax - movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload - shl al, 5 + shl al, 7 or al, sil - mov esi, eax - mov rax, qword ptr [rsp + 272] # 8-byte Reload - mov byte ptr [rax], r11b - mov r11, qword ptr [rsp + 272] # 8-byte Reload - movzx eax, byte ptr [rsp + 56] # 1-byte Folded Reload - shl al, 6 + or dil, bl + or al, r12b + movzx ebx, byte ptr [rsp + 64] # 1-byte Folded Reload + add bl, bl + add bl, byte ptr [rsp + 96] # 1-byte Folded Reload + mov esi, ebx + movzx ebx, byte ptr [rsp + 72] # 1-byte Folded Reload + shl bl, 2 + or bl, sil + mov esi, ebx + movzx ebx, byte ptr [rsp + 88] # 1-byte Folded Reload + shl bl, 3 + or bl, sil + mov esi, ebx + movzx ebx, byte ptr [rsp + 104] # 1-byte Folded Reload + shl bl, 4 + or bl, sil + mov esi, ebx + movzx ebx, byte ptr [rsp + 120] # 1-byte Folded Reload + shl bl, 5 + or bl, sil + mov byte ptr [r14], dil + movzx esi, byte ptr [rsp + 128] # 1-byte Folded Reload + shl sil, 6 shl r15b, 7 - or r15b, al - mov byte ptr [r11 + 1], cl or r15b, sil - movzx eax, byte ptr [rsp + 64] # 1-byte Folded Reload + mov byte ptr [r14 + 1], al + or r15b, bl + movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 32] # 1-byte Folded Reload - mov ecx, eax - movzx eax, byte ptr [rsp + 72] # 1-byte Folded Reload + add al, byte ptr [rsp + 40] # 1-byte Folded Reload + mov ebx, eax + movzx eax, byte ptr [rsp + 56] # 1-byte Folded Reload shl al, 2 - or al, cl - mov ecx, eax - movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload shl al, 3 - or al, cl - mov ecx, eax + or al, bl + mov ebx, eax movzx eax, byte ptr [rsp + 320] # 1-byte Folded Reload shl al, 4 - or al, cl - mov ecx, eax + or al, bl + mov ebx, eax movzx eax, byte ptr [rsp + 288] # 1-byte Folded Reload shl al, 5 - or al, cl - movzx ecx, byte ptr [rsp + 28] # 1-byte Folded Reload - shl cl, 6 - shl bl, 7 - or bl, cl - or bl, al - mov byte ptr [r11 + 2], r15b - mov byte ptr [r11 + 3], bl + or al, bl + movzx ebx, byte ptr [rsp + 28] # 1-byte Folded Reload + shl bl, 6 + shl cl, 7 + or cl, bl + or cl, al + mov byte ptr [r14 + 2], r15b + mov byte ptr [r14 + 3], cl add rdx, 256 - add r11, 4 - add qword ptr [rsp + 168], -1 # 8-byte Folded Spill - jne .LBB2_54 + add r14, 4 + add qword ptr [rsp + 176], -1 # 8-byte Folded Spill + jne .LBB2_54 # %bb.55: mov r10, qword ptr [rsp + 280] # 8-byte Reload - mov r14, qword ptr [rsp + 176] # 8-byte Reload + mov r11, qword ptr [rsp + 168] # 8-byte Reload .LBB2_56: - shl r14, 5 - cmp r14, r10 - jge .LBB2_157 + shl r11, 5 + cmp r11, r10 + jge .LBB2_165 # %bb.57: mov r8, r10 - sub r8, r14 - not r14 - add r14, r10 + sub r8, r11 + not r11 + add r11, r10 je .LBB2_93 # %bb.58: mov r10, r8 @@ -10848,8 +11351,8 @@ comparison_equal_scalar_arr_avx2: # @comparison_equal_scalar_arr_avx2 neg al mov rsi, rdi shr rsi, 3 - mov r14, r11 - movzx r9d, byte ptr [r11 + rsi] + mov r11, r14 + movzx r9d, byte ptr [r14 + rsi] mov ecx, edi and cl, 6 mov bl, 1 @@ -10857,7 +11360,7 @@ comparison_equal_scalar_arr_avx2: # @comparison_equal_scalar_arr_avx2 xor al, r9b and bl, al xor bl, r9b - mov byte ptr [r11 + rsi], bl + mov byte ptr [r14 + rsi], bl add rdi, 2 cmp r13, qword ptr [rdx + 8] lea rdx, [rdx + 16] @@ -10869,15 +11372,15 @@ comparison_equal_scalar_arr_avx2: # @comparison_equal_scalar_arr_avx2 shl al, cl and al, r9b xor al, bl - mov byte ptr [r11 + rsi], al + mov byte ptr [r14 + rsi], al cmp r10, rdi jne .LBB2_59 jmp .LBB2_146 .LBB2_60: movzx r13d, word ptr [rsi] - lea r14, [r10 + 31] + lea r11, [r10 + 31] test r10, r10 - cmovns r14, r10 + cmovns r11, r10 lea eax, [r9 + 7] test r9d, r9d cmovns eax, r9d @@ -10896,8 +11399,8 @@ comparison_equal_scalar_arr_avx2: # @comparison_equal_scalar_arr_avx2 test rax, rax cmovns rsi, rax sar rsi, 3 - mov r9, r11 - movzx r8d, byte ptr [r11 + rsi] + mov r9, r14 + movzx r8d, byte ptr [r14 + rsi] xor bl, r8b lea edi, [8*rsi] mov ecx, eax @@ -10907,41 +11410,41 @@ comparison_equal_scalar_arr_avx2: # @comparison_equal_scalar_arr_avx2 shl edi, cl and dil, bl xor dil, r8b - mov byte ptr [r11 + rsi], dil + mov byte ptr [r14 + rsi], dil add rax, 1 cmp rax, 8 jne .LBB2_62 # %bb.63: - add r11, 1 + add r14, 1 .LBB2_64: - sar r14, 5 + sar r11, 5 cmp r10, 32 jl .LBB2_68 # %bb.65: mov qword ptr [rsp + 280], r10 # 8-byte Spill - mov qword ptr [rsp + 176], r14 # 8-byte Spill - mov qword ptr [rsp + 168], r14 # 8-byte Spill + mov qword ptr [rsp + 168], r11 # 8-byte Spill + mov qword ptr [rsp + 176], r11 # 8-byte Spill .p2align 4, 0x90 .LBB2_66: # =>This Inner Loop Header: Depth=1 - mov qword ptr [rsp + 272], r11 # 8-byte Spill + mov qword ptr [rsp + 272], r14 # 8-byte Spill cmp r13w, word ptr [rdx] - sete al + sete byte ptr [rsp + 144] # 1-byte Folded Spill cmp r13w, word ptr [rdx + 2] - sete dil + sete r10b cmp r13w, word ptr [rdx + 4] sete r14b cmp r13w, word ptr [rdx + 6] - sete byte ptr [rsp + 152] # 1-byte Folded Spill + sete byte ptr [rsp + 160] # 1-byte Folded Spill cmp r13w, word ptr [rdx + 8] - sete byte ptr [rsp + 112] # 1-byte Folded Spill + sete byte ptr [rsp + 72] # 1-byte Folded Spill cmp r13w, word ptr [rdx + 10] - sete byte ptr [rsp + 144] # 1-byte Folded Spill + sete byte ptr [rsp + 112] # 1-byte Folded Spill cmp r13w, word ptr [rdx + 12] - sete byte ptr [rsp + 160] # 1-byte Folded Spill + sete bl cmp r13w, word ptr [rdx + 14] - sete r11b + sete dil cmp r13w, word ptr [rdx + 16] - sete byte ptr [rsp + 88] # 1-byte Folded Spill + sete byte ptr [rsp + 152] # 1-byte Folded Spill cmp r13w, word ptr [rdx + 18] sete sil cmp r13w, word ptr [rdx + 20] @@ -10949,37 +11452,37 @@ comparison_equal_scalar_arr_avx2: # @comparison_equal_scalar_arr_avx2 cmp r13w, word ptr [rdx + 22] sete r9b cmp r13w, word ptr [rdx + 24] - sete r10b + sete r11b cmp r13w, word ptr [rdx + 26] sete r12b cmp r13w, word ptr [rdx + 28] - sete byte ptr [rsp + 80] # 1-byte Folded Spill + sete byte ptr [rsp + 136] # 1-byte Folded Spill cmp r13w, word ptr [rdx + 30] - sete cl + sete al cmp r13w, word ptr [rdx + 32] - sete byte ptr [rsp + 128] # 1-byte Folded Spill - cmp r13w, word ptr [rdx + 34] sete byte ptr [rsp + 96] # 1-byte Folded Spill + cmp r13w, word ptr [rdx + 34] + sete byte ptr [rsp + 64] # 1-byte Folded Spill cmp r13w, word ptr [rdx + 36] - sete byte ptr [rsp + 104] # 1-byte Folded Spill + sete byte ptr [rsp + 80] # 1-byte Folded Spill cmp r13w, word ptr [rdx + 38] - sete byte ptr [rsp + 120] # 1-byte Folded Spill + sete byte ptr [rsp + 88] # 1-byte Folded Spill cmp r13w, word ptr [rdx + 40] - sete byte ptr [rsp + 136] # 1-byte Folded Spill + sete byte ptr [rsp + 104] # 1-byte Folded Spill cmp r13w, word ptr [rdx + 42] - sete byte ptr [rsp + 48] # 1-byte Folded Spill + sete byte ptr [rsp + 120] # 1-byte Folded Spill cmp r13w, word ptr [rdx + 44] - sete byte ptr [rsp + 56] # 1-byte Folded Spill + sete byte ptr [rsp + 128] # 1-byte Folded Spill cmp r13w, word ptr [rdx + 46] sete r15b cmp r13w, word ptr [rdx + 48] - sete byte ptr [rsp + 32] # 1-byte Folded Spill + sete byte ptr [rsp + 40] # 1-byte Folded Spill cmp r13w, word ptr [rdx + 50] - sete byte ptr [rsp + 64] # 1-byte Folded Spill + sete byte ptr [rsp + 48] # 1-byte Folded Spill cmp r13w, word ptr [rdx + 52] - sete byte ptr [rsp + 72] # 1-byte Folded Spill + sete byte ptr [rsp + 56] # 1-byte Folded Spill cmp r13w, word ptr [rdx + 54] - sete byte ptr [rsp + 40] # 1-byte Folded Spill + sete byte ptr [rsp + 32] # 1-byte Folded Spill cmp r13w, word ptr [rdx + 56] sete byte ptr [rsp + 320] # 1-byte Folded Spill cmp r13w, word ptr [rdx + 58] @@ -10987,113 +11490,110 @@ comparison_equal_scalar_arr_avx2: # @comparison_equal_scalar_arr_avx2 cmp r13w, word ptr [rdx + 60] sete byte ptr [rsp + 28] # 1-byte Folded Spill cmp r13w, word ptr [rdx + 62] - sete bl - add dil, dil - or dil, al - movzx eax, byte ptr [rsp + 160] # 1-byte Folded Reload - shl al, 6 - shl r11b, 7 - or r11b, al + sete cl + add r10b, r10b + add r10b, byte ptr [rsp + 144] # 1-byte Folded Reload + shl bl, 6 + shl dil, 7 + or dil, bl shl r14b, 2 - or r14b, dil + or r14b, r10b add sil, sil - add sil, byte ptr [rsp + 88] # 1-byte Folded Reload - movzx eax, byte ptr [rsp + 152] # 1-byte Folded Reload - shl al, 3 - or al, r14b - mov edi, eax + add sil, byte ptr [rsp + 152] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 160] # 1-byte Folded Reload + shl bl, 3 + or bl, r14b + mov r10d, ebx + mov r14, qword ptr [rsp + 272] # 8-byte Reload shl r8b, 2 or r8b, sil - movzx eax, byte ptr [rsp + 112] # 1-byte Folded Reload - shl al, 4 - or al, dil - mov edi, eax + movzx ebx, byte ptr [rsp + 72] # 1-byte Folded Reload + shl bl, 4 + or bl, r10b + mov esi, ebx shl r9b, 3 or r9b, r8b - movzx eax, byte ptr [rsp + 144] # 1-byte Folded Reload - shl al, 5 - or al, dil - shl r10b, 4 - or r10b, r9b + movzx ebx, byte ptr [rsp + 112] # 1-byte Folded Reload + shl bl, 5 + or bl, sil + shl r11b, 4 + or r11b, r9b shl r12b, 5 - or r12b, r10b - movzx esi, byte ptr [rsp + 80] # 1-byte Folded Reload + or r12b, r11b + movzx esi, byte ptr [rsp + 136] # 1-byte Folded Reload shl sil, 6 - shl cl, 7 - or cl, sil - or r11b, al - or cl, r12b - movzx eax, byte ptr [rsp + 96] # 1-byte Folded Reload - add al, al - add al, byte ptr [rsp + 128] # 1-byte Folded Reload - mov esi, eax - movzx eax, byte ptr [rsp + 104] # 1-byte Folded Reload - shl al, 2 - or al, sil - mov esi, eax - movzx eax, byte ptr [rsp + 120] # 1-byte Folded Reload - shl al, 3 - or al, sil - mov esi, eax - movzx eax, byte ptr [rsp + 136] # 1-byte Folded Reload - shl al, 4 - or al, sil - mov esi, eax - movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload - shl al, 5 + shl al, 7 or al, sil - mov esi, eax - mov rax, qword ptr [rsp + 272] # 8-byte Reload - mov byte ptr [rax], r11b - mov r11, qword ptr [rsp + 272] # 8-byte Reload - movzx eax, byte ptr [rsp + 56] # 1-byte Folded Reload - shl al, 6 + or dil, bl + or al, r12b + movzx ebx, byte ptr [rsp + 64] # 1-byte Folded Reload + add bl, bl + add bl, byte ptr [rsp + 96] # 1-byte Folded Reload + mov esi, ebx + movzx ebx, byte ptr [rsp + 80] # 1-byte Folded Reload + shl bl, 2 + or bl, sil + mov esi, ebx + movzx ebx, byte ptr [rsp + 88] # 1-byte Folded Reload + shl bl, 3 + or bl, sil + mov esi, ebx + movzx ebx, byte ptr [rsp + 104] # 1-byte Folded Reload + shl bl, 4 + or bl, sil + mov esi, ebx + movzx ebx, byte ptr [rsp + 120] # 1-byte Folded Reload + shl bl, 5 + or bl, sil + mov byte ptr [r14], dil + movzx esi, byte ptr [rsp + 128] # 1-byte Folded Reload + shl sil, 6 shl r15b, 7 - or r15b, al - mov byte ptr [r11 + 1], cl or r15b, sil - movzx eax, byte ptr [rsp + 64] # 1-byte Folded Reload + mov byte ptr [r14 + 1], al + or r15b, bl + movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 32] # 1-byte Folded Reload - mov ecx, eax - movzx eax, byte ptr [rsp + 72] # 1-byte Folded Reload + add al, byte ptr [rsp + 40] # 1-byte Folded Reload + mov ebx, eax + movzx eax, byte ptr [rsp + 56] # 1-byte Folded Reload shl al, 2 - or al, cl - mov ecx, eax - movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload shl al, 3 - or al, cl - mov ecx, eax + or al, bl + mov ebx, eax movzx eax, byte ptr [rsp + 320] # 1-byte Folded Reload shl al, 4 - or al, cl - mov ecx, eax + or al, bl + mov ebx, eax movzx eax, byte ptr [rsp + 288] # 1-byte Folded Reload shl al, 5 - or al, cl - movzx ecx, byte ptr [rsp + 28] # 1-byte Folded Reload - shl cl, 6 - shl bl, 7 - or bl, cl - or bl, al - mov byte ptr [r11 + 2], r15b - mov byte ptr [r11 + 3], bl + or al, bl + movzx ebx, byte ptr [rsp + 28] # 1-byte Folded Reload + shl bl, 6 + shl cl, 7 + or cl, bl + or cl, al + mov byte ptr [r14 + 2], r15b + mov byte ptr [r14 + 3], cl add rdx, 64 - add r11, 4 - add qword ptr [rsp + 168], -1 # 8-byte Folded Spill + add r14, 4 + add qword ptr [rsp + 176], -1 # 8-byte Folded Spill jne .LBB2_66 # %bb.67: mov r10, qword ptr [rsp + 280] # 8-byte Reload - mov r14, qword ptr [rsp + 176] # 8-byte Reload + mov r11, qword ptr [rsp + 168] # 8-byte Reload .LBB2_68: - shl r14, 5 - cmp r14, r10 - jge .LBB2_157 + shl r11, 5 + cmp r11, r10 + jge .LBB2_165 # %bb.69: mov r8, r10 - sub r8, r14 - not r14 - add r14, r10 + sub r8, r11 + not r11 + add r11, r10 je .LBB2_82 # %bb.70: mov r10, r8 @@ -11106,8 +11606,8 @@ comparison_equal_scalar_arr_avx2: # @comparison_equal_scalar_arr_avx2 neg al mov rsi, rdi shr rsi, 3 - mov r14, r11 - movzx r9d, byte ptr [r11 + rsi] + mov r11, r14 + movzx r9d, byte ptr [r14 + rsi] mov ecx, edi and cl, 6 mov bl, 1 @@ -11115,7 +11615,7 @@ comparison_equal_scalar_arr_avx2: # @comparison_equal_scalar_arr_avx2 xor al, r9b and bl, al xor bl, r9b - mov byte ptr [r11 + rsi], bl + mov byte ptr [r14 + rsi], bl add rdi, 2 cmp r13w, word ptr [rdx + 2] lea rdx, [rdx + 4] @@ -11127,15 +11627,15 @@ comparison_equal_scalar_arr_avx2: # @comparison_equal_scalar_arr_avx2 shl al, cl and al, r9b xor al, bl - mov byte ptr [r11 + rsi], al + mov byte ptr [r14 + rsi], al cmp r10, rdi jne .LBB2_71 jmp .LBB2_142 .LBB2_72: movzx r13d, word ptr [rsi] - lea r14, [r10 + 31] + lea r11, [r10 + 31] test r10, r10 - cmovns r14, r10 + cmovns r11, r10 lea eax, [r9 + 7] test r9d, r9d cmovns eax, r9d @@ -11154,8 +11654,8 @@ comparison_equal_scalar_arr_avx2: # @comparison_equal_scalar_arr_avx2 test rax, rax cmovns rsi, rax sar rsi, 3 - mov r9, r11 - movzx r8d, byte ptr [r11 + rsi] + mov r9, r14 + movzx r8d, byte ptr [r14 + rsi] xor bl, r8b lea edi, [8*rsi] mov ecx, eax @@ -11165,41 +11665,41 @@ comparison_equal_scalar_arr_avx2: # @comparison_equal_scalar_arr_avx2 shl edi, cl and dil, bl xor dil, r8b - mov byte ptr [r11 + rsi], dil + mov byte ptr [r14 + rsi], dil add rax, 1 cmp rax, 8 jne .LBB2_74 # %bb.75: - add r11, 1 + add r14, 1 .LBB2_76: - sar r14, 5 + sar r11, 5 cmp r10, 32 jl .LBB2_80 # %bb.77: mov qword ptr [rsp + 280], r10 # 8-byte Spill - mov qword ptr [rsp + 176], r14 # 8-byte Spill - mov qword ptr [rsp + 168], r14 # 8-byte Spill + mov qword ptr [rsp + 168], r11 # 8-byte Spill + mov qword ptr [rsp + 176], r11 # 8-byte Spill .p2align 4, 0x90 .LBB2_78: # =>This Inner Loop Header: Depth=1 - mov qword ptr [rsp + 272], r11 # 8-byte Spill + mov qword ptr [rsp + 272], r14 # 8-byte Spill cmp r13w, word ptr [rdx] - sete byte ptr [rsp + 152] # 1-byte Folded Spill + sete byte ptr [rsp + 160] # 1-byte Folded Spill cmp r13w, word ptr [rdx + 2] - sete dil + sete r10b cmp r13w, word ptr [rdx + 4] sete r14b cmp r13w, word ptr [rdx + 6] - sete byte ptr [rsp + 160] # 1-byte Folded Spill + sete byte ptr [rsp + 136] # 1-byte Folded Spill cmp r13w, word ptr [rdx + 8] - sete byte ptr [rsp + 112] # 1-byte Folded Spill + sete byte ptr [rsp + 80] # 1-byte Folded Spill cmp r13w, word ptr [rdx + 10] - sete byte ptr [rsp + 144] # 1-byte Folded Spill + sete byte ptr [rsp + 112] # 1-byte Folded Spill cmp r13w, word ptr [rdx + 12] - sete al + sete bl cmp r13w, word ptr [rdx + 14] - sete r11b + sete dil cmp r13w, word ptr [rdx + 16] - sete byte ptr [rsp + 80] # 1-byte Folded Spill + sete byte ptr [rsp + 144] # 1-byte Folded Spill cmp r13w, word ptr [rdx + 18] sete sil cmp r13w, word ptr [rdx + 20] @@ -11207,37 +11707,37 @@ comparison_equal_scalar_arr_avx2: # @comparison_equal_scalar_arr_avx2 cmp r13w, word ptr [rdx + 22] sete r9b cmp r13w, word ptr [rdx + 24] - sete r10b + sete r11b cmp r13w, word ptr [rdx + 26] sete r12b cmp r13w, word ptr [rdx + 28] - sete byte ptr [rsp + 88] # 1-byte Folded Spill + sete byte ptr [rsp + 152] # 1-byte Folded Spill cmp r13w, word ptr [rdx + 30] - sete cl + sete al cmp r13w, word ptr [rdx + 32] - sete byte ptr [rsp + 128] # 1-byte Folded Spill - cmp r13w, word ptr [rdx + 34] sete byte ptr [rsp + 96] # 1-byte Folded Spill + cmp r13w, word ptr [rdx + 34] + sete byte ptr [rsp + 64] # 1-byte Folded Spill cmp r13w, word ptr [rdx + 36] - sete byte ptr [rsp + 104] # 1-byte Folded Spill + sete byte ptr [rsp + 72] # 1-byte Folded Spill cmp r13w, word ptr [rdx + 38] - sete byte ptr [rsp + 120] # 1-byte Folded Spill + sete byte ptr [rsp + 88] # 1-byte Folded Spill cmp r13w, word ptr [rdx + 40] - sete byte ptr [rsp + 136] # 1-byte Folded Spill + sete byte ptr [rsp + 104] # 1-byte Folded Spill cmp r13w, word ptr [rdx + 42] - sete byte ptr [rsp + 48] # 1-byte Folded Spill + sete byte ptr [rsp + 120] # 1-byte Folded Spill cmp r13w, word ptr [rdx + 44] - sete byte ptr [rsp + 56] # 1-byte Folded Spill + sete byte ptr [rsp + 128] # 1-byte Folded Spill cmp r13w, word ptr [rdx + 46] sete r15b cmp r13w, word ptr [rdx + 48] - sete byte ptr [rsp + 32] # 1-byte Folded Spill + sete byte ptr [rsp + 40] # 1-byte Folded Spill cmp r13w, word ptr [rdx + 50] - sete byte ptr [rsp + 64] # 1-byte Folded Spill + sete byte ptr [rsp + 48] # 1-byte Folded Spill cmp r13w, word ptr [rdx + 52] - sete byte ptr [rsp + 72] # 1-byte Folded Spill + sete byte ptr [rsp + 56] # 1-byte Folded Spill cmp r13w, word ptr [rdx + 54] - sete byte ptr [rsp + 40] # 1-byte Folded Spill + sete byte ptr [rsp + 32] # 1-byte Folded Spill cmp r13w, word ptr [rdx + 56] sete byte ptr [rsp + 320] # 1-byte Folded Spill cmp r13w, word ptr [rdx + 58] @@ -11245,121 +11745,119 @@ comparison_equal_scalar_arr_avx2: # @comparison_equal_scalar_arr_avx2 cmp r13w, word ptr [rdx + 60] sete byte ptr [rsp + 28] # 1-byte Folded Spill cmp r13w, word ptr [rdx + 62] - sete bl - add dil, dil - add dil, byte ptr [rsp + 152] # 1-byte Folded Reload - shl al, 6 - shl r11b, 7 - or r11b, al + sete cl + add r10b, r10b + add r10b, byte ptr [rsp + 160] # 1-byte Folded Reload + shl bl, 6 + shl dil, 7 + or dil, bl shl r14b, 2 - or r14b, dil + or r14b, r10b add sil, sil - add sil, byte ptr [rsp + 80] # 1-byte Folded Reload - movzx eax, byte ptr [rsp + 160] # 1-byte Folded Reload - shl al, 3 - or al, r14b - mov edi, eax + add sil, byte ptr [rsp + 144] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 136] # 1-byte Folded Reload + shl bl, 3 + or bl, r14b + mov r10d, ebx + mov r14, qword ptr [rsp + 272] # 8-byte Reload shl r8b, 2 or r8b, sil - movzx eax, byte ptr [rsp + 112] # 1-byte Folded Reload - shl al, 4 - or al, dil - mov edi, eax + movzx ebx, byte ptr [rsp + 80] # 1-byte Folded Reload + shl bl, 4 + or bl, r10b + mov esi, ebx shl r9b, 3 or r9b, r8b - movzx eax, byte ptr [rsp + 144] # 1-byte Folded Reload - shl al, 5 - or al, dil - shl r10b, 4 - or r10b, r9b + movzx ebx, byte ptr [rsp + 112] # 1-byte Folded Reload + shl bl, 5 + or bl, sil + shl r11b, 4 + or r11b, r9b shl r12b, 5 - or r12b, r10b - movzx esi, byte ptr [rsp + 88] # 1-byte Folded Reload + or r12b, r11b + movzx esi, byte ptr [rsp + 152] # 1-byte Folded Reload shl sil, 6 - shl cl, 7 - or cl, sil - or r11b, al - or cl, r12b - movzx eax, byte ptr [rsp + 96] # 1-byte Folded Reload - add al, al - add al, byte ptr [rsp + 128] # 1-byte Folded Reload - mov esi, eax - movzx eax, byte ptr [rsp + 104] # 1-byte Folded Reload - shl al, 2 - or al, sil - mov esi, eax - movzx eax, byte ptr [rsp + 120] # 1-byte Folded Reload - shl al, 3 - or al, sil - mov esi, eax - movzx eax, byte ptr [rsp + 136] # 1-byte Folded Reload - shl al, 4 - or al, sil - mov esi, eax - movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload - shl al, 5 + shl al, 7 or al, sil - mov esi, eax - mov rax, qword ptr [rsp + 272] # 8-byte Reload - mov byte ptr [rax], r11b - mov r11, qword ptr [rsp + 272] # 8-byte Reload - movzx eax, byte ptr [rsp + 56] # 1-byte Folded Reload - shl al, 6 + or dil, bl + or al, r12b + movzx ebx, byte ptr [rsp + 64] # 1-byte Folded Reload + add bl, bl + add bl, byte ptr [rsp + 96] # 1-byte Folded Reload + mov esi, ebx + movzx ebx, byte ptr [rsp + 72] # 1-byte Folded Reload + shl bl, 2 + or bl, sil + mov esi, ebx + movzx ebx, byte ptr [rsp + 88] # 1-byte Folded Reload + shl bl, 3 + or bl, sil + mov esi, ebx + movzx ebx, byte ptr [rsp + 104] # 1-byte Folded Reload + shl bl, 4 + or bl, sil + mov esi, ebx + movzx ebx, byte ptr [rsp + 120] # 1-byte Folded Reload + shl bl, 5 + or bl, sil + mov byte ptr [r14], dil + movzx esi, byte ptr [rsp + 128] # 1-byte Folded Reload + shl sil, 6 shl r15b, 7 - or r15b, al - mov byte ptr [r11 + 1], cl or r15b, sil - movzx eax, byte ptr [rsp + 64] # 1-byte Folded Reload + mov byte ptr [r14 + 1], al + or r15b, bl + movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 32] # 1-byte Folded Reload - mov ecx, eax - movzx eax, byte ptr [rsp + 72] # 1-byte Folded Reload + add al, byte ptr [rsp + 40] # 1-byte Folded Reload + mov ebx, eax + movzx eax, byte ptr [rsp + 56] # 1-byte Folded Reload shl al, 2 - or al, cl - mov ecx, eax - movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload shl al, 3 - or al, cl - mov ecx, eax + or al, bl + mov ebx, eax movzx eax, byte ptr [rsp + 320] # 1-byte Folded Reload shl al, 4 - or al, cl - mov ecx, eax + or al, bl + mov ebx, eax movzx eax, byte ptr [rsp + 288] # 1-byte Folded Reload shl al, 5 - or al, cl - movzx ecx, byte ptr [rsp + 28] # 1-byte Folded Reload - shl cl, 6 - shl bl, 7 - or bl, cl - or bl, al - mov byte ptr [r11 + 2], r15b - mov byte ptr [r11 + 3], bl + or al, bl + movzx ebx, byte ptr [rsp + 28] # 1-byte Folded Reload + shl bl, 6 + shl cl, 7 + or cl, bl + or cl, al + mov byte ptr [r14 + 2], r15b + mov byte ptr [r14 + 3], cl add rdx, 64 - add r11, 4 - add qword ptr [rsp + 168], -1 # 8-byte Folded Spill + add r14, 4 + add qword ptr [rsp + 176], -1 # 8-byte Folded Spill jne .LBB2_78 # %bb.79: mov r10, qword ptr [rsp + 280] # 8-byte Reload - mov r14, qword ptr [rsp + 176] # 8-byte Reload + mov r11, qword ptr [rsp + 168] # 8-byte Reload .LBB2_80: - shl r14, 5 - cmp r14, r10 - jge .LBB2_157 + shl r11, 5 + cmp r11, r10 + jge .LBB2_165 # %bb.81: mov r8, r10 - sub r8, r14 - not r14 - add r14, r10 + sub r8, r11 + not r11 + add r11, r10 jne .LBB2_140 .LBB2_82: xor edi, edi jmp .LBB2_142 .LBB2_83: mov r13, qword ptr [rsi] - lea r14, [r10 + 31] + lea r11, [r10 + 31] test r10, r10 - cmovns r14, r10 + cmovns r11, r10 lea eax, [r9 + 7] test r9d, r9d cmovns eax, r9d @@ -11378,8 +11876,8 @@ comparison_equal_scalar_arr_avx2: # @comparison_equal_scalar_arr_avx2 test rax, rax cmovns rsi, rax sar rsi, 3 - mov r9, r11 - movzx r8d, byte ptr [r11 + rsi] + mov r9, r14 + movzx r8d, byte ptr [r14 + rsi] xor bl, r8b lea edi, [8*rsi] mov ecx, eax @@ -11389,41 +11887,41 @@ comparison_equal_scalar_arr_avx2: # @comparison_equal_scalar_arr_avx2 shl edi, cl and dil, bl xor dil, r8b - mov byte ptr [r11 + rsi], dil + mov byte ptr [r14 + rsi], dil add rax, 1 cmp rax, 8 jne .LBB2_85 # %bb.86: - add r11, 1 + add r14, 1 .LBB2_87: - sar r14, 5 + sar r11, 5 cmp r10, 32 jl .LBB2_91 # %bb.88: mov qword ptr [rsp + 280], r10 # 8-byte Spill - mov qword ptr [rsp + 176], r14 # 8-byte Spill - mov qword ptr [rsp + 168], r14 # 8-byte Spill + mov qword ptr [rsp + 168], r11 # 8-byte Spill + mov qword ptr [rsp + 176], r11 # 8-byte Spill .p2align 4, 0x90 .LBB2_89: # =>This Inner Loop Header: Depth=1 - mov qword ptr [rsp + 272], r11 # 8-byte Spill + mov qword ptr [rsp + 272], r14 # 8-byte Spill cmp r13, qword ptr [rdx] - sete byte ptr [rsp + 152] # 1-byte Folded Spill + sete byte ptr [rsp + 160] # 1-byte Folded Spill cmp r13, qword ptr [rdx + 8] - sete dil + sete r10b cmp r13, qword ptr [rdx + 16] sete r14b cmp r13, qword ptr [rdx + 24] - sete byte ptr [rsp + 160] # 1-byte Folded Spill + sete byte ptr [rsp + 136] # 1-byte Folded Spill cmp r13, qword ptr [rdx + 32] - sete byte ptr [rsp + 112] # 1-byte Folded Spill + sete byte ptr [rsp + 80] # 1-byte Folded Spill cmp r13, qword ptr [rdx + 40] - sete byte ptr [rsp + 144] # 1-byte Folded Spill + sete byte ptr [rsp + 112] # 1-byte Folded Spill cmp r13, qword ptr [rdx + 48] - sete al + sete bl cmp r13, qword ptr [rdx + 56] - sete r11b + sete dil cmp r13, qword ptr [rdx + 64] - sete byte ptr [rsp + 80] # 1-byte Folded Spill + sete byte ptr [rsp + 144] # 1-byte Folded Spill cmp r13, qword ptr [rdx + 72] sete sil cmp r13, qword ptr [rdx + 80] @@ -11431,37 +11929,37 @@ comparison_equal_scalar_arr_avx2: # @comparison_equal_scalar_arr_avx2 cmp r13, qword ptr [rdx + 88] sete r9b cmp r13, qword ptr [rdx + 96] - sete r10b + sete r11b cmp r13, qword ptr [rdx + 104] sete r12b cmp r13, qword ptr [rdx + 112] - sete byte ptr [rsp + 88] # 1-byte Folded Spill + sete byte ptr [rsp + 152] # 1-byte Folded Spill cmp r13, qword ptr [rdx + 120] - sete cl + sete al cmp r13, qword ptr [rdx + 128] - sete byte ptr [rsp + 128] # 1-byte Folded Spill - cmp r13, qword ptr [rdx + 136] sete byte ptr [rsp + 96] # 1-byte Folded Spill + cmp r13, qword ptr [rdx + 136] + sete byte ptr [rsp + 64] # 1-byte Folded Spill cmp r13, qword ptr [rdx + 144] - sete byte ptr [rsp + 104] # 1-byte Folded Spill + sete byte ptr [rsp + 72] # 1-byte Folded Spill cmp r13, qword ptr [rdx + 152] - sete byte ptr [rsp + 120] # 1-byte Folded Spill + sete byte ptr [rsp + 88] # 1-byte Folded Spill cmp r13, qword ptr [rdx + 160] - sete byte ptr [rsp + 136] # 1-byte Folded Spill + sete byte ptr [rsp + 104] # 1-byte Folded Spill cmp r13, qword ptr [rdx + 168] - sete byte ptr [rsp + 48] # 1-byte Folded Spill + sete byte ptr [rsp + 120] # 1-byte Folded Spill cmp r13, qword ptr [rdx + 176] - sete byte ptr [rsp + 56] # 1-byte Folded Spill + sete byte ptr [rsp + 128] # 1-byte Folded Spill cmp r13, qword ptr [rdx + 184] sete r15b cmp r13, qword ptr [rdx + 192] - sete byte ptr [rsp + 32] # 1-byte Folded Spill + sete byte ptr [rsp + 40] # 1-byte Folded Spill cmp r13, qword ptr [rdx + 200] - sete byte ptr [rsp + 64] # 1-byte Folded Spill + sete byte ptr [rsp + 48] # 1-byte Folded Spill cmp r13, qword ptr [rdx + 208] - sete byte ptr [rsp + 72] # 1-byte Folded Spill + sete byte ptr [rsp + 56] # 1-byte Folded Spill cmp r13, qword ptr [rdx + 216] - sete byte ptr [rsp + 40] # 1-byte Folded Spill + sete byte ptr [rsp + 32] # 1-byte Folded Spill cmp r13, qword ptr [rdx + 224] sete byte ptr [rsp + 320] # 1-byte Folded Spill cmp r13, qword ptr [rdx + 232] @@ -11469,120 +11967,118 @@ comparison_equal_scalar_arr_avx2: # @comparison_equal_scalar_arr_avx2 cmp r13, qword ptr [rdx + 240] sete byte ptr [rsp + 28] # 1-byte Folded Spill cmp r13, qword ptr [rdx + 248] - sete bl - add dil, dil - add dil, byte ptr [rsp + 152] # 1-byte Folded Reload - shl al, 6 - shl r11b, 7 - or r11b, al + sete cl + add r10b, r10b + add r10b, byte ptr [rsp + 160] # 1-byte Folded Reload + shl bl, 6 + shl dil, 7 + or dil, bl shl r14b, 2 - or r14b, dil + or r14b, r10b add sil, sil - add sil, byte ptr [rsp + 80] # 1-byte Folded Reload - movzx eax, byte ptr [rsp + 160] # 1-byte Folded Reload - shl al, 3 - or al, r14b - mov edi, eax + add sil, byte ptr [rsp + 144] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 136] # 1-byte Folded Reload + shl bl, 3 + or bl, r14b + mov r10d, ebx + mov r14, qword ptr [rsp + 272] # 8-byte Reload shl r8b, 2 or r8b, sil - movzx eax, byte ptr [rsp + 112] # 1-byte Folded Reload - shl al, 4 - or al, dil - mov edi, eax + movzx ebx, byte ptr [rsp + 80] # 1-byte Folded Reload + shl bl, 4 + or bl, r10b + mov esi, ebx shl r9b, 3 or r9b, r8b - movzx eax, byte ptr [rsp + 144] # 1-byte Folded Reload - shl al, 5 - or al, dil - shl r10b, 4 - or r10b, r9b + movzx ebx, byte ptr [rsp + 112] # 1-byte Folded Reload + shl bl, 5 + or bl, sil + shl r11b, 4 + or r11b, r9b shl r12b, 5 - or r12b, r10b - movzx esi, byte ptr [rsp + 88] # 1-byte Folded Reload + or r12b, r11b + movzx esi, byte ptr [rsp + 152] # 1-byte Folded Reload shl sil, 6 - shl cl, 7 - or cl, sil - or r11b, al - or cl, r12b - movzx eax, byte ptr [rsp + 96] # 1-byte Folded Reload - add al, al - add al, byte ptr [rsp + 128] # 1-byte Folded Reload - mov esi, eax - movzx eax, byte ptr [rsp + 104] # 1-byte Folded Reload - shl al, 2 - or al, sil - mov esi, eax - movzx eax, byte ptr [rsp + 120] # 1-byte Folded Reload - shl al, 3 - or al, sil - mov esi, eax - movzx eax, byte ptr [rsp + 136] # 1-byte Folded Reload - shl al, 4 - or al, sil - mov esi, eax - movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload - shl al, 5 + shl al, 7 or al, sil - mov esi, eax - mov rax, qword ptr [rsp + 272] # 8-byte Reload - mov byte ptr [rax], r11b - mov r11, qword ptr [rsp + 272] # 8-byte Reload - movzx eax, byte ptr [rsp + 56] # 1-byte Folded Reload - shl al, 6 + or dil, bl + or al, r12b + movzx ebx, byte ptr [rsp + 64] # 1-byte Folded Reload + add bl, bl + add bl, byte ptr [rsp + 96] # 1-byte Folded Reload + mov esi, ebx + movzx ebx, byte ptr [rsp + 72] # 1-byte Folded Reload + shl bl, 2 + or bl, sil + mov esi, ebx + movzx ebx, byte ptr [rsp + 88] # 1-byte Folded Reload + shl bl, 3 + or bl, sil + mov esi, ebx + movzx ebx, byte ptr [rsp + 104] # 1-byte Folded Reload + shl bl, 4 + or bl, sil + mov esi, ebx + movzx ebx, byte ptr [rsp + 120] # 1-byte Folded Reload + shl bl, 5 + or bl, sil + mov byte ptr [r14], dil + movzx esi, byte ptr [rsp + 128] # 1-byte Folded Reload + shl sil, 6 shl r15b, 7 - or r15b, al - mov byte ptr [r11 + 1], cl or r15b, sil - movzx eax, byte ptr [rsp + 64] # 1-byte Folded Reload + mov byte ptr [r14 + 1], al + or r15b, bl + movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 32] # 1-byte Folded Reload - mov ecx, eax - movzx eax, byte ptr [rsp + 72] # 1-byte Folded Reload + add al, byte ptr [rsp + 40] # 1-byte Folded Reload + mov ebx, eax + movzx eax, byte ptr [rsp + 56] # 1-byte Folded Reload shl al, 2 - or al, cl - mov ecx, eax - movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload shl al, 3 - or al, cl - mov ecx, eax + or al, bl + mov ebx, eax movzx eax, byte ptr [rsp + 320] # 1-byte Folded Reload shl al, 4 - or al, cl - mov ecx, eax + or al, bl + mov ebx, eax movzx eax, byte ptr [rsp + 288] # 1-byte Folded Reload shl al, 5 - or al, cl - movzx ecx, byte ptr [rsp + 28] # 1-byte Folded Reload - shl cl, 6 - shl bl, 7 - or bl, cl - or bl, al - mov byte ptr [r11 + 2], r15b - mov byte ptr [r11 + 3], bl + or al, bl + movzx ebx, byte ptr [rsp + 28] # 1-byte Folded Reload + shl bl, 6 + shl cl, 7 + or cl, bl + or cl, al + mov byte ptr [r14 + 2], r15b + mov byte ptr [r14 + 3], cl add rdx, 256 - add r11, 4 - add qword ptr [rsp + 168], -1 # 8-byte Folded Spill + add r14, 4 + add qword ptr [rsp + 176], -1 # 8-byte Folded Spill jne .LBB2_89 # %bb.90: mov r10, qword ptr [rsp + 280] # 8-byte Reload - mov r14, qword ptr [rsp + 176] # 8-byte Reload + mov r11, qword ptr [rsp + 168] # 8-byte Reload .LBB2_91: - shl r14, 5 - cmp r14, r10 - jge .LBB2_157 + shl r11, 5 + cmp r11, r10 + jge .LBB2_165 # %bb.92: mov r8, r10 - sub r8, r14 - not r14 - add r14, r10 + sub r8, r11 + not r11 + add r11, r10 jne .LBB2_144 .LBB2_93: xor edi, edi jmp .LBB2_146 .LBB2_94: - lea r14, [r10 + 31] + lea r11, [r10 + 31] test r10, r10 - cmovns r14, r10 + cmovns r11, r10 lea eax, [r9 + 7] test r9d, r9d cmovns eax, r9d @@ -11596,14 +12092,16 @@ comparison_equal_scalar_arr_avx2: # @comparison_equal_scalar_arr_avx2 .LBB2_96: # =>This Inner Loop Header: Depth=1 vucomiss xmm0, dword ptr [rdx] lea rdx, [rdx + 4] + setnp cl sete bl + and bl, cl neg bl lea rsi, [rax + 7] test rax, rax cmovns rsi, rax sar rsi, 3 - mov r15, r11 - movzx r9d, byte ptr [r11 + rsi] + mov r15, r14 + movzx r9d, byte ptr [r14 + rsi] xor bl, r9b lea r8d, [8*rsi] mov ecx, eax @@ -11613,194 +12111,278 @@ comparison_equal_scalar_arr_avx2: # @comparison_equal_scalar_arr_avx2 shl edi, cl and dil, bl xor dil, r9b - mov byte ptr [r11 + rsi], dil + mov byte ptr [r14 + rsi], dil add rax, 1 cmp rax, 8 jne .LBB2_96 # %bb.97: - add r11, 1 + add r14, 1 .LBB2_98: - sar r14, 5 + sar r11, 5 cmp r10, 32 jl .LBB2_102 # %bb.99: mov qword ptr [rsp + 280], r10 # 8-byte Spill - mov qword ptr [rsp + 168], r14 # 8-byte Spill - mov qword ptr [rsp + 152], r14 # 8-byte Spill + mov qword ptr [rsp + 184], r11 # 8-byte Spill + mov qword ptr [rsp + 168], r11 # 8-byte Spill .p2align 4, 0x90 .LBB2_100: # =>This Inner Loop Header: Depth=1 - mov qword ptr [rsp + 272], r11 # 8-byte Spill + mov qword ptr [rsp + 272], r14 # 8-byte Spill vucomiss xmm0, dword ptr [rdx] - sete byte ptr [rsp + 160] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 56], cl # 1-byte Spill vucomiss xmm0, dword ptr [rdx + 4] - sete r8b + setnp al + sete r13b + and r13b, al vucomiss xmm0, dword ptr [rdx + 8] - sete r11b + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 32], cl # 1-byte Spill vucomiss xmm0, dword ptr [rdx + 12] - sete r13b + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 320], cl # 1-byte Spill vucomiss xmm0, dword ptr [rdx + 16] - sete byte ptr [rsp + 112] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 40], cl # 1-byte Spill vucomiss xmm0, dword ptr [rdx + 20] - sete byte ptr [rsp + 144] # 1-byte Folded Spill + setnp al + sete r12b + and r12b, al vucomiss xmm0, dword ptr [rdx + 24] - sete al + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 128], cl # 1-byte Spill vucomiss xmm0, dword ptr [rdx + 28] - sete r14b + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 28], cl # 1-byte Spill vucomiss xmm0, dword ptr [rdx + 32] - sete byte ptr [rsp + 88] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 48], cl # 1-byte Spill vucomiss xmm0, dword ptr [rdx + 36] - sete sil + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 120], cl # 1-byte Spill vucomiss xmm0, dword ptr [rdx + 40] - sete dil + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 112], cl # 1-byte Spill vucomiss xmm0, dword ptr [rdx + 44] - sete r9b + setnp al + sete bl + and bl, al vucomiss xmm0, dword ptr [rdx + 48] - sete r10b + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 288], cl # 1-byte Spill vucomiss xmm0, dword ptr [rdx + 52] - sete r12b + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 96], cl # 1-byte Spill vucomiss xmm0, dword ptr [rdx + 56] - sete byte ptr [rsp + 96] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 88], cl # 1-byte Spill vucomiss xmm0, dword ptr [rdx + 60] + setnp al sete cl + and cl, al + mov byte ptr [rsp + 80], cl # 1-byte Spill vucomiss xmm0, dword ptr [rdx + 64] - sete byte ptr [rsp + 128] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 104], cl # 1-byte Spill vucomiss xmm0, dword ptr [rdx + 68] - sete byte ptr [rsp + 80] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 72], cl # 1-byte Spill vucomiss xmm0, dword ptr [rdx + 72] - sete byte ptr [rsp + 104] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 64], cl # 1-byte Spill vucomiss xmm0, dword ptr [rdx + 76] - sete byte ptr [rsp + 120] # 1-byte Folded Spill + setnp al + sete r14b + and r14b, al vucomiss xmm0, dword ptr [rdx + 80] - sete byte ptr [rsp + 136] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 152], cl # 1-byte Spill vucomiss xmm0, dword ptr [rdx + 84] - sete byte ptr [rsp + 48] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 144], cl # 1-byte Spill vucomiss xmm0, dword ptr [rdx + 88] - sete byte ptr [rsp + 56] # 1-byte Folded Spill - vucomiss xmm0, dword ptr [rdx + 92] + setnp al sete r15b + and r15b, al + vucomiss xmm0, dword ptr [rdx + 92] + setnp al + sete r8b + and r8b, al vucomiss xmm0, dword ptr [rdx + 96] - sete byte ptr [rsp + 32] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 136], cl # 1-byte Spill vucomiss xmm0, dword ptr [rdx + 100] - sete byte ptr [rsp + 64] # 1-byte Folded Spill + setnp al + sete r11b + and r11b, al vucomiss xmm0, dword ptr [rdx + 104] - sete byte ptr [rsp + 72] # 1-byte Folded Spill + setnp al + sete r10b + and r10b, al vucomiss xmm0, dword ptr [rdx + 108] - sete byte ptr [rsp + 40] # 1-byte Folded Spill + setnp al + sete r9b + and r9b, al vucomiss xmm0, dword ptr [rdx + 112] - sete byte ptr [rsp + 320] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 160], cl # 1-byte Spill vucomiss xmm0, dword ptr [rdx + 116] - sete byte ptr [rsp + 288] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 176], cl # 1-byte Spill vucomiss xmm0, dword ptr [rdx + 120] - sete byte ptr [rsp + 28] # 1-byte Folded Spill + setnp al + sete dil + and dil, al vucomiss xmm0, dword ptr [rdx + 124] - sete bl - add r8b, r8b - add r8b, byte ptr [rsp + 160] # 1-byte Folded Reload - shl al, 6 - shl r14b, 7 - or r14b, al - shl r11b, 2 - or r11b, r8b - add sil, sil - add sil, byte ptr [rsp + 88] # 1-byte Folded Reload - shl r13b, 3 - or r13b, r11b - mov r11, qword ptr [rsp + 272] # 8-byte Reload - shl dil, 2 - or dil, sil - movzx eax, byte ptr [rsp + 112] # 1-byte Folded Reload - shl al, 4 - or al, r13b - mov r8d, eax - shl r9b, 3 - or r9b, dil - movzx eax, byte ptr [rsp + 144] # 1-byte Folded Reload - shl al, 5 - or al, r8b - shl r10b, 4 - or r10b, r9b + setnp al + sete sil + and sil, al + add r13b, r13b + add r13b, byte ptr [rsp + 56] # 1-byte Folded Reload + mov eax, r13d shl r12b, 5 - or r12b, r10b - movzx esi, byte ptr [rsp + 96] # 1-byte Folded Reload - shl sil, 6 - shl cl, 7 - or cl, sil - or r14b, al - or cl, r12b - movzx eax, byte ptr [rsp + 80] # 1-byte Folded Reload - add al, al - add al, byte ptr [rsp + 128] # 1-byte Folded Reload - mov esi, eax - movzx eax, byte ptr [rsp + 104] # 1-byte Folded Reload - shl al, 2 - or al, sil - mov esi, eax - movzx eax, byte ptr [rsp + 120] # 1-byte Folded Reload - shl al, 3 - or al, sil - mov esi, eax - movzx eax, byte ptr [rsp + 136] # 1-byte Folded Reload - shl al, 4 - or al, sil - mov esi, eax - movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload - shl al, 5 - or al, sil - mov byte ptr [r11], r14b - movzx esi, byte ptr [rsp + 56] # 1-byte Folded Reload - shl sil, 6 - shl r15b, 7 - or r15b, sil - mov byte ptr [r11 + 1], cl - or r15b, al - movzx eax, byte ptr [rsp + 64] # 1-byte Folded Reload - add al, al - add al, byte ptr [rsp + 32] # 1-byte Folded Reload - mov ecx, eax - movzx eax, byte ptr [rsp + 72] # 1-byte Folded Reload + movzx r13d, byte ptr [rsp + 128] # 1-byte Folded Reload + shl r13b, 6 + or r13b, r12b + movzx r12d, byte ptr [rsp + 32] # 1-byte Folded Reload + shl r12b, 2 + or r12b, al + movzx ecx, byte ptr [rsp + 120] # 1-byte Folded Reload + add cl, cl + add cl, byte ptr [rsp + 48] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 28] # 1-byte Folded Reload + shl al, 7 + or al, r13b + mov byte ptr [rsp + 28], al # 1-byte Spill + movzx eax, byte ptr [rsp + 112] # 1-byte Folded Reload shl al, 2 or al, cl mov ecx, eax - movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload - shl al, 3 - or al, cl - mov ecx, eax movzx eax, byte ptr [rsp + 320] # 1-byte Folded Reload + shl al, 3 + or al, r12b + shl bl, 3 + or bl, cl + movzx r13d, byte ptr [rsp + 40] # 1-byte Folded Reload + shl r13b, 4 + or r13b, al + movzx eax, byte ptr [rsp + 288] # 1-byte Folded Reload shl al, 4 + or al, bl + mov byte ptr [rsp + 288], al # 1-byte Spill + movzx ecx, byte ptr [rsp + 96] # 1-byte Folded Reload + shl cl, 5 + movzx eax, byte ptr [rsp + 88] # 1-byte Folded Reload + shl al, 6 or al, cl mov ecx, eax - movzx eax, byte ptr [rsp + 288] # 1-byte Folded Reload - shl al, 5 + movzx eax, byte ptr [rsp + 80] # 1-byte Folded Reload + shl al, 7 or al, cl - movzx ecx, byte ptr [rsp + 28] # 1-byte Folded Reload - shl cl, 6 - shl bl, 7 + movzx ecx, byte ptr [rsp + 72] # 1-byte Folded Reload + add cl, cl + add cl, byte ptr [rsp + 104] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 64] # 1-byte Folded Reload + shl bl, 2 or bl, cl - or bl, al - mov byte ptr [r11 + 2], r15b - mov byte ptr [r11 + 3], bl + shl r14b, 3 + or r14b, bl + movzx ecx, byte ptr [rsp + 152] # 1-byte Folded Reload + shl cl, 4 + or cl, r14b + mov r14, qword ptr [rsp + 272] # 8-byte Reload + movzx r12d, byte ptr [rsp + 28] # 1-byte Folded Reload + or r12b, r13b + movzx ebx, byte ptr [rsp + 144] # 1-byte Folded Reload + shl bl, 5 + shl r15b, 6 + or r15b, bl + or al, byte ptr [rsp + 288] # 1-byte Folded Reload + shl r8b, 7 + or r8b, r15b + or r8b, cl + add r11b, r11b + add r11b, byte ptr [rsp + 136] # 1-byte Folded Reload + shl r10b, 2 + or r10b, r11b + shl r9b, 3 + or r9b, r10b + movzx ecx, byte ptr [rsp + 160] # 1-byte Folded Reload + shl cl, 4 + or cl, r9b + mov byte ptr [r14], r12b + movzx ebx, byte ptr [rsp + 176] # 1-byte Folded Reload + shl bl, 5 + shl dil, 6 + or dil, bl + mov byte ptr [r14 + 1], al + shl sil, 7 + or sil, dil + or sil, cl + mov byte ptr [r14 + 2], r8b + mov byte ptr [r14 + 3], sil add rdx, 128 - add r11, 4 - add qword ptr [rsp + 152], -1 # 8-byte Folded Spill + add r14, 4 + add qword ptr [rsp + 168], -1 # 8-byte Folded Spill jne .LBB2_100 # %bb.101: mov r10, qword ptr [rsp + 280] # 8-byte Reload - mov r14, qword ptr [rsp + 168] # 8-byte Reload + mov r11, qword ptr [rsp + 184] # 8-byte Reload .LBB2_102: - shl r14, 5 - cmp r14, r10 - jge .LBB2_157 + shl r11, 5 + cmp r11, r10 + jge .LBB2_165 # %bb.103: mov r8, r10 - sub r8, r14 - not r14 - add r14, r10 + sub r8, r11 + not r11 + add r11, r10 jne .LBB2_148 # %bb.104: xor edi, edi jmp .LBB2_150 .LBB2_105: - mov r14b, byte ptr [rsi] + mov r11b, byte ptr [rsi] lea r15, [r10 + 31] test r10, r10 cmovns r15, r10 @@ -11814,7 +12396,7 @@ comparison_equal_scalar_arr_avx2: # @comparison_equal_scalar_arr_avx2 movsxd rax, r9d .p2align 4, 0x90 .LBB2_107: # =>This Inner Loop Header: Depth=1 - cmp r14b, byte ptr [rdx] + cmp r11b, byte ptr [rdx] lea rdx, [rdx + 1] sete bl neg bl @@ -11822,8 +12404,8 @@ comparison_equal_scalar_arr_avx2: # @comparison_equal_scalar_arr_avx2 test rax, rax cmovns rsi, rax sar rsi, 3 - mov r12, r11 - movzx r9d, byte ptr [r11 + rsi] + mov r12, r14 + movzx r9d, byte ptr [r14 + rsi] xor bl, r9b lea r8d, [8*rsi] mov ecx, eax @@ -11833,19 +12415,19 @@ comparison_equal_scalar_arr_avx2: # @comparison_equal_scalar_arr_avx2 shl edi, cl and dil, bl xor dil, r9b - mov byte ptr [r11 + rsi], dil + mov byte ptr [r14 + rsi], dil add rax, 1 cmp rax, 8 jne .LBB2_107 # %bb.108: - add r11, 1 + add r14, 1 .LBB2_109: sar r15, 5 cmp r10, 32 jl .LBB2_132 # %bb.110: cmp r15, 32 - mov dword ptr [rsp + 28], r14d # 4-byte Spill + mov dword ptr [rsp + 28], r11d # 4-byte Spill mov qword ptr [rsp + 280], r10 # 8-byte Spill mov qword ptr [rsp + 392], r15 # 8-byte Spill jb .LBB2_113 @@ -11853,170 +12435,193 @@ comparison_equal_scalar_arr_avx2: # @comparison_equal_scalar_arr_avx2 mov rax, r15 shl rax, 5 add rax, rdx - cmp r11, rax - jae .LBB2_168 + cmp r14, rax + jae .LBB2_169 # %bb.112: - lea rax, [r11 + 4*r15] + lea rax, [r14 + 4*r15] cmp rdx, rax - jae .LBB2_168 + jae .LBB2_169 .LBB2_113: xor eax, eax mov qword ptr [rsp + 384], rax # 8-byte Spill mov r12, rdx - mov qword ptr [rsp + 376], r11 # 8-byte Spill + mov qword ptr [rsp + 376], r14 # 8-byte Spill .LBB2_114: sub r15, qword ptr [rsp + 384] # 8-byte Folded Reload - mov qword ptr [rsp + 152], r15 # 8-byte Spill + mov qword ptr [rsp + 160], r15 # 8-byte Spill .p2align 4, 0x90 .LBB2_115: # =>This Inner Loop Header: Depth=1 mov rcx, r12 - cmp r14b, byte ptr [r12] + cmp r11b, byte ptr [r12] sete byte ptr [rsp + 320] # 1-byte Folded Spill - cmp r14b, byte ptr [r12 + 1] - sete r10b - cmp r14b, byte ptr [r12 + 2] - sete bl - cmp r14b, byte ptr [r12 + 3] + cmp r11b, byte ptr [r12 + 1] + sete r9b + cmp r11b, byte ptr [r12 + 2] + sete r11b + mov eax, dword ptr [rsp + 28] # 4-byte Reload + cmp al, byte ptr [r12 + 3] sete r13b - cmp r14b, byte ptr [r12 + 4] - sete byte ptr [rsp + 80] # 1-byte Folded Spill - cmp r14b, byte ptr [r12 + 5] - sete byte ptr [rsp + 96] # 1-byte Folded Spill - cmp r14b, byte ptr [r12 + 6] - sete al - cmp r14b, byte ptr [r12 + 7] + mov eax, dword ptr [rsp + 28] # 4-byte Reload + cmp al, byte ptr [r12 + 4] + sete byte ptr [rsp + 48] # 1-byte Folded Spill + mov eax, dword ptr [rsp + 28] # 4-byte Reload + cmp al, byte ptr [r12 + 5] + sete byte ptr [rsp + 40] # 1-byte Folded Spill + mov eax, dword ptr [rsp + 28] # 4-byte Reload + cmp al, byte ptr [r12 + 6] + sete bl + mov eax, dword ptr [rsp + 28] # 4-byte Reload + cmp al, byte ptr [r12 + 7] sete r12b - cmp r14b, byte ptr [rcx + 8] - sete byte ptr [rsp + 160] # 1-byte Folded Spill - cmp r14b, byte ptr [rcx + 9] + mov eax, dword ptr [rsp + 28] # 4-byte Reload + cmp al, byte ptr [rcx + 8] + sete byte ptr [rsp + 136] # 1-byte Folded Spill + mov eax, dword ptr [rsp + 28] # 4-byte Reload + cmp al, byte ptr [rcx + 9] sete sil - cmp r14b, byte ptr [rcx + 10] + mov eax, dword ptr [rsp + 28] # 4-byte Reload + cmp al, byte ptr [rcx + 10] sete dil - cmp r14b, byte ptr [rcx + 11] - sete r9b - cmp r14b, byte ptr [rcx + 12] - sete r11b - cmp r14b, byte ptr [rcx + 13] - sete r15b - cmp r14b, byte ptr [rcx + 14] - sete byte ptr [rsp + 88] # 1-byte Folded Spill - cmp r14b, byte ptr [rcx + 15] + mov eax, dword ptr [rsp + 28] # 4-byte Reload + cmp al, byte ptr [rcx + 11] sete r8b - cmp r14b, byte ptr [rcx + 16] + mov eax, dword ptr [rsp + 28] # 4-byte Reload + cmp al, byte ptr [rcx + 12] + sete r10b + mov eax, dword ptr [rsp + 28] # 4-byte Reload + cmp al, byte ptr [rcx + 13] + sete r15b + mov eax, dword ptr [rsp + 28] # 4-byte Reload + cmp al, byte ptr [rcx + 14] + sete byte ptr [rsp + 144] # 1-byte Folded Spill + mov eax, dword ptr [rsp + 28] # 4-byte Reload + cmp al, byte ptr [rcx + 15] + sete al + mov edx, dword ptr [rsp + 28] # 4-byte Reload + cmp dl, byte ptr [rcx + 16] sete byte ptr [rsp + 288] # 1-byte Folded Spill - cmp r14b, byte ptr [rcx + 17] + mov edx, dword ptr [rsp + 28] # 4-byte Reload + cmp dl, byte ptr [rcx + 17] + sete byte ptr [rsp + 80] # 1-byte Folded Spill + mov edx, dword ptr [rsp + 28] # 4-byte Reload + cmp dl, byte ptr [rcx + 18] + sete byte ptr [rsp + 152] # 1-byte Folded Spill + mov edx, dword ptr [rsp + 28] # 4-byte Reload + cmp dl, byte ptr [rcx + 19] + sete byte ptr [rsp + 64] # 1-byte Folded Spill + mov edx, dword ptr [rsp + 28] # 4-byte Reload + cmp dl, byte ptr [rcx + 20] + sete byte ptr [rsp + 72] # 1-byte Folded Spill + mov edx, dword ptr [rsp + 28] # 4-byte Reload + cmp dl, byte ptr [rcx + 21] + sete byte ptr [rsp + 88] # 1-byte Folded Spill + mov edx, dword ptr [rsp + 28] # 4-byte Reload + cmp dl, byte ptr [rcx + 22] sete byte ptr [rsp + 120] # 1-byte Folded Spill - cmp r14b, byte ptr [rcx + 18] - sete byte ptr [rsp + 104] # 1-byte Folded Spill - cmp r14b, byte ptr [rcx + 19] - sete byte ptr [rsp + 112] # 1-byte Folded Spill - cmp r14b, byte ptr [rcx + 20] - sete byte ptr [rsp + 128] # 1-byte Folded Spill - cmp r14b, byte ptr [rcx + 21] - sete byte ptr [rsp + 136] # 1-byte Folded Spill - cmp r14b, byte ptr [rcx + 22] - sete byte ptr [rsp + 144] # 1-byte Folded Spill - cmp r14b, byte ptr [rcx + 23] + mov edx, dword ptr [rsp + 28] # 4-byte Reload + cmp dl, byte ptr [rcx + 23] sete r14b mov edx, dword ptr [rsp + 28] # 4-byte Reload cmp dl, byte ptr [rcx + 24] sete byte ptr [rsp + 272] # 1-byte Folded Spill mov edx, dword ptr [rsp + 28] # 4-byte Reload cmp dl, byte ptr [rcx + 25] - sete byte ptr [rsp + 48] # 1-byte Folded Spill + sete byte ptr [rsp + 104] # 1-byte Folded Spill mov edx, dword ptr [rsp + 28] # 4-byte Reload cmp dl, byte ptr [rcx + 26] - sete byte ptr [rsp + 56] # 1-byte Folded Spill + sete byte ptr [rsp + 96] # 1-byte Folded Spill mov edx, dword ptr [rsp + 28] # 4-byte Reload cmp dl, byte ptr [rcx + 27] - sete byte ptr [rsp + 64] # 1-byte Folded Spill + sete byte ptr [rsp + 112] # 1-byte Folded Spill mov edx, dword ptr [rsp + 28] # 4-byte Reload cmp dl, byte ptr [rcx + 28] - sete byte ptr [rsp + 72] # 1-byte Folded Spill + sete byte ptr [rsp + 128] # 1-byte Folded Spill mov edx, dword ptr [rsp + 28] # 4-byte Reload cmp dl, byte ptr [rcx + 29] - sete byte ptr [rsp + 40] # 1-byte Folded Spill + sete byte ptr [rsp + 56] # 1-byte Folded Spill mov edx, dword ptr [rsp + 28] # 4-byte Reload cmp dl, byte ptr [rcx + 30] sete byte ptr [rsp + 32] # 1-byte Folded Spill mov edx, dword ptr [rsp + 28] # 4-byte Reload cmp dl, byte ptr [rcx + 31] sete dl - add r10b, r10b - add r10b, byte ptr [rsp + 320] # 1-byte Folded Reload - shl al, 6 + add r9b, r9b + add r9b, byte ptr [rsp + 320] # 1-byte Folded Reload + shl bl, 6 shl r12b, 7 - or r12b, al - shl bl, 2 - or bl, r10b + or r12b, bl + shl r11b, 2 + or r11b, r9b add sil, sil - add sil, byte ptr [rsp + 160] # 1-byte Folded Reload + add sil, byte ptr [rsp + 136] # 1-byte Folded Reload shl r13b, 3 - or r13b, bl + or r13b, r11b + mov r11d, dword ptr [rsp + 28] # 4-byte Reload shl dil, 2 or dil, sil - movzx ebx, byte ptr [rsp + 80] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 48] # 1-byte Folded Reload shl bl, 4 or bl, r13b mov esi, ebx - shl r9b, 3 - or r9b, dil - movzx ebx, byte ptr [rsp + 96] # 1-byte Folded Reload + shl r8b, 3 + or r8b, dil + movzx ebx, byte ptr [rsp + 40] # 1-byte Folded Reload shl bl, 5 or bl, sil - shl r11b, 4 - or r11b, r9b + shl r10b, 4 + or r10b, r8b shl r15b, 5 - or r15b, r11b - movzx esi, byte ptr [rsp + 88] # 1-byte Folded Reload + or r15b, r10b + movzx esi, byte ptr [rsp + 144] # 1-byte Folded Reload shl sil, 6 - shl r8b, 7 - or r8b, sil + shl al, 7 + or al, sil or r12b, bl - or r8b, r15b - movzx eax, byte ptr [rsp + 120] # 1-byte Folded Reload - add al, al - add al, byte ptr [rsp + 288] # 1-byte Folded Reload - movzx ebx, byte ptr [rsp + 104] # 1-byte Folded Reload + or al, r15b + movzx ebx, byte ptr [rsp + 80] # 1-byte Folded Reload + add bl, bl + add bl, byte ptr [rsp + 288] # 1-byte Folded Reload + mov esi, ebx + movzx ebx, byte ptr [rsp + 152] # 1-byte Folded Reload shl bl, 2 - or bl, al + or bl, sil mov esi, ebx - movzx ebx, byte ptr [rsp + 112] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 64] # 1-byte Folded Reload shl bl, 3 or bl, sil mov esi, ebx - movzx ebx, byte ptr [rsp + 128] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 72] # 1-byte Folded Reload shl bl, 4 or bl, sil mov esi, ebx - movzx ebx, byte ptr [rsp + 136] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 88] # 1-byte Folded Reload shl bl, 5 or bl, sil mov rsi, qword ptr [rsp + 376] # 8-byte Reload mov byte ptr [rsi], r12b - movzx edi, byte ptr [rsp + 144] # 1-byte Folded Reload + movzx edi, byte ptr [rsp + 120] # 1-byte Folded Reload shl dil, 6 shl r14b, 7 or r14b, dil - mov byte ptr [rsi + 1], r8b + mov byte ptr [rsi + 1], al or r14b, bl - movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 104] # 1-byte Folded Reload add al, al add al, byte ptr [rsp + 272] # 1-byte Folded Reload mov ebx, eax - movzx eax, byte ptr [rsp + 56] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 96] # 1-byte Folded Reload shl al, 2 or al, bl mov ebx, eax - movzx eax, byte ptr [rsp + 64] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 112] # 1-byte Folded Reload shl al, 3 or al, bl mov ebx, eax - movzx eax, byte ptr [rsp + 72] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 128] # 1-byte Folded Reload shl al, 4 or al, bl mov ebx, eax - movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 56] # 1-byte Folded Reload shl al, 5 or al, bl movzx ebx, byte ptr [rsp + 32] # 1-byte Folded Reload @@ -12025,12 +12630,11 @@ comparison_equal_scalar_arr_avx2: # @comparison_equal_scalar_arr_avx2 or dl, bl or dl, al mov byte ptr [rsi + 2], r14b - mov r14d, dword ptr [rsp + 28] # 4-byte Reload mov byte ptr [rsi + 3], dl lea r12, [rcx + 32] add rsi, 4 mov qword ptr [rsp + 376], rsi # 8-byte Spill - add qword ptr [rsp + 152], -1 # 8-byte Folded Spill + add qword ptr [rsp + 160], -1 # 8-byte Folded Spill jne .LBB2_115 # %bb.116: mov r10, qword ptr [rsp + 280] # 8-byte Reload @@ -12038,9 +12642,9 @@ comparison_equal_scalar_arr_avx2: # @comparison_equal_scalar_arr_avx2 jmp .LBB2_133 .LBB2_117: mov r13d, dword ptr [rsi] - lea r14, [r10 + 31] + lea r11, [r10 + 31] test r10, r10 - cmovns r14, r10 + cmovns r11, r10 lea eax, [r9 + 7] test r9d, r9d cmovns eax, r9d @@ -12059,8 +12663,8 @@ comparison_equal_scalar_arr_avx2: # @comparison_equal_scalar_arr_avx2 test rax, rax cmovns rsi, rax sar rsi, 3 - mov r9, r11 - movzx r8d, byte ptr [r11 + rsi] + mov r9, r14 + movzx r8d, byte ptr [r14 + rsi] xor bl, r8b lea edi, [8*rsi] mov ecx, eax @@ -12070,41 +12674,41 @@ comparison_equal_scalar_arr_avx2: # @comparison_equal_scalar_arr_avx2 shl edi, cl and dil, bl xor dil, r8b - mov byte ptr [r11 + rsi], dil + mov byte ptr [r14 + rsi], dil add rax, 1 cmp rax, 8 jne .LBB2_119 # %bb.120: - add r11, 1 + add r14, 1 .LBB2_121: - sar r14, 5 + sar r11, 5 cmp r10, 32 jl .LBB2_125 # %bb.122: mov qword ptr [rsp + 280], r10 # 8-byte Spill - mov qword ptr [rsp + 176], r14 # 8-byte Spill - mov qword ptr [rsp + 168], r14 # 8-byte Spill + mov qword ptr [rsp + 168], r11 # 8-byte Spill + mov qword ptr [rsp + 176], r11 # 8-byte Spill .p2align 4, 0x90 .LBB2_123: # =>This Inner Loop Header: Depth=1 - mov qword ptr [rsp + 272], r11 # 8-byte Spill + mov qword ptr [rsp + 272], r14 # 8-byte Spill cmp r13d, dword ptr [rdx] - sete byte ptr [rsp + 152] # 1-byte Folded Spill + sete byte ptr [rsp + 160] # 1-byte Folded Spill cmp r13d, dword ptr [rdx + 4] - sete dil + sete r10b cmp r13d, dword ptr [rdx + 8] sete r14b cmp r13d, dword ptr [rdx + 12] - sete byte ptr [rsp + 160] # 1-byte Folded Spill + sete byte ptr [rsp + 136] # 1-byte Folded Spill cmp r13d, dword ptr [rdx + 16] - sete byte ptr [rsp + 112] # 1-byte Folded Spill + sete byte ptr [rsp + 80] # 1-byte Folded Spill cmp r13d, dword ptr [rdx + 20] - sete byte ptr [rsp + 144] # 1-byte Folded Spill + sete byte ptr [rsp + 112] # 1-byte Folded Spill cmp r13d, dword ptr [rdx + 24] - sete al + sete bl cmp r13d, dword ptr [rdx + 28] - sete r11b + sete dil cmp r13d, dword ptr [rdx + 32] - sete byte ptr [rsp + 80] # 1-byte Folded Spill + sete byte ptr [rsp + 144] # 1-byte Folded Spill cmp r13d, dword ptr [rdx + 36] sete sil cmp r13d, dword ptr [rdx + 40] @@ -12112,37 +12716,37 @@ comparison_equal_scalar_arr_avx2: # @comparison_equal_scalar_arr_avx2 cmp r13d, dword ptr [rdx + 44] sete r9b cmp r13d, dword ptr [rdx + 48] - sete r10b + sete r11b cmp r13d, dword ptr [rdx + 52] sete r12b cmp r13d, dword ptr [rdx + 56] - sete byte ptr [rsp + 88] # 1-byte Folded Spill + sete byte ptr [rsp + 152] # 1-byte Folded Spill cmp r13d, dword ptr [rdx + 60] - sete cl + sete al cmp r13d, dword ptr [rdx + 64] - sete byte ptr [rsp + 128] # 1-byte Folded Spill - cmp r13d, dword ptr [rdx + 68] sete byte ptr [rsp + 96] # 1-byte Folded Spill + cmp r13d, dword ptr [rdx + 68] + sete byte ptr [rsp + 64] # 1-byte Folded Spill cmp r13d, dword ptr [rdx + 72] - sete byte ptr [rsp + 104] # 1-byte Folded Spill + sete byte ptr [rsp + 72] # 1-byte Folded Spill cmp r13d, dword ptr [rdx + 76] - sete byte ptr [rsp + 120] # 1-byte Folded Spill + sete byte ptr [rsp + 88] # 1-byte Folded Spill cmp r13d, dword ptr [rdx + 80] - sete byte ptr [rsp + 136] # 1-byte Folded Spill + sete byte ptr [rsp + 104] # 1-byte Folded Spill cmp r13d, dword ptr [rdx + 84] - sete byte ptr [rsp + 48] # 1-byte Folded Spill + sete byte ptr [rsp + 120] # 1-byte Folded Spill cmp r13d, dword ptr [rdx + 88] - sete byte ptr [rsp + 56] # 1-byte Folded Spill + sete byte ptr [rsp + 128] # 1-byte Folded Spill cmp r13d, dword ptr [rdx + 92] sete r15b cmp r13d, dword ptr [rdx + 96] - sete byte ptr [rsp + 32] # 1-byte Folded Spill + sete byte ptr [rsp + 40] # 1-byte Folded Spill cmp r13d, dword ptr [rdx + 100] - sete byte ptr [rsp + 64] # 1-byte Folded Spill + sete byte ptr [rsp + 48] # 1-byte Folded Spill cmp r13d, dword ptr [rdx + 104] - sete byte ptr [rsp + 72] # 1-byte Folded Spill + sete byte ptr [rsp + 56] # 1-byte Folded Spill cmp r13d, dword ptr [rdx + 108] - sete byte ptr [rsp + 40] # 1-byte Folded Spill + sete byte ptr [rsp + 32] # 1-byte Folded Spill cmp r13d, dword ptr [rdx + 112] sete byte ptr [rsp + 320] # 1-byte Folded Spill cmp r13d, dword ptr [rdx + 116] @@ -12150,123 +12754,121 @@ comparison_equal_scalar_arr_avx2: # @comparison_equal_scalar_arr_avx2 cmp r13d, dword ptr [rdx + 120] sete byte ptr [rsp + 28] # 1-byte Folded Spill cmp r13d, dword ptr [rdx + 124] - sete bl - add dil, dil - add dil, byte ptr [rsp + 152] # 1-byte Folded Reload - shl al, 6 - shl r11b, 7 - or r11b, al + sete cl + add r10b, r10b + add r10b, byte ptr [rsp + 160] # 1-byte Folded Reload + shl bl, 6 + shl dil, 7 + or dil, bl shl r14b, 2 - or r14b, dil + or r14b, r10b add sil, sil - add sil, byte ptr [rsp + 80] # 1-byte Folded Reload - movzx eax, byte ptr [rsp + 160] # 1-byte Folded Reload - shl al, 3 - or al, r14b - mov edi, eax + add sil, byte ptr [rsp + 144] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 136] # 1-byte Folded Reload + shl bl, 3 + or bl, r14b + mov r10d, ebx + mov r14, qword ptr [rsp + 272] # 8-byte Reload shl r8b, 2 or r8b, sil - movzx eax, byte ptr [rsp + 112] # 1-byte Folded Reload - shl al, 4 - or al, dil - mov edi, eax + movzx ebx, byte ptr [rsp + 80] # 1-byte Folded Reload + shl bl, 4 + or bl, r10b + mov esi, ebx shl r9b, 3 or r9b, r8b - movzx eax, byte ptr [rsp + 144] # 1-byte Folded Reload - shl al, 5 - or al, dil - shl r10b, 4 - or r10b, r9b + movzx ebx, byte ptr [rsp + 112] # 1-byte Folded Reload + shl bl, 5 + or bl, sil + shl r11b, 4 + or r11b, r9b shl r12b, 5 - or r12b, r10b - movzx esi, byte ptr [rsp + 88] # 1-byte Folded Reload + or r12b, r11b + movzx esi, byte ptr [rsp + 152] # 1-byte Folded Reload shl sil, 6 - shl cl, 7 - or cl, sil - or r11b, al - or cl, r12b - movzx eax, byte ptr [rsp + 96] # 1-byte Folded Reload - add al, al - add al, byte ptr [rsp + 128] # 1-byte Folded Reload - mov esi, eax - movzx eax, byte ptr [rsp + 104] # 1-byte Folded Reload - shl al, 2 - or al, sil - mov esi, eax - movzx eax, byte ptr [rsp + 120] # 1-byte Folded Reload - shl al, 3 - or al, sil - mov esi, eax - movzx eax, byte ptr [rsp + 136] # 1-byte Folded Reload - shl al, 4 - or al, sil - mov esi, eax - movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload - shl al, 5 + shl al, 7 or al, sil - mov esi, eax - mov rax, qword ptr [rsp + 272] # 8-byte Reload - mov byte ptr [rax], r11b - mov r11, qword ptr [rsp + 272] # 8-byte Reload - movzx eax, byte ptr [rsp + 56] # 1-byte Folded Reload - shl al, 6 + or dil, bl + or al, r12b + movzx ebx, byte ptr [rsp + 64] # 1-byte Folded Reload + add bl, bl + add bl, byte ptr [rsp + 96] # 1-byte Folded Reload + mov esi, ebx + movzx ebx, byte ptr [rsp + 72] # 1-byte Folded Reload + shl bl, 2 + or bl, sil + mov esi, ebx + movzx ebx, byte ptr [rsp + 88] # 1-byte Folded Reload + shl bl, 3 + or bl, sil + mov esi, ebx + movzx ebx, byte ptr [rsp + 104] # 1-byte Folded Reload + shl bl, 4 + or bl, sil + mov esi, ebx + movzx ebx, byte ptr [rsp + 120] # 1-byte Folded Reload + shl bl, 5 + or bl, sil + mov byte ptr [r14], dil + movzx esi, byte ptr [rsp + 128] # 1-byte Folded Reload + shl sil, 6 shl r15b, 7 - or r15b, al - mov byte ptr [r11 + 1], cl or r15b, sil - movzx eax, byte ptr [rsp + 64] # 1-byte Folded Reload + mov byte ptr [r14 + 1], al + or r15b, bl + movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 32] # 1-byte Folded Reload - mov ecx, eax - movzx eax, byte ptr [rsp + 72] # 1-byte Folded Reload + add al, byte ptr [rsp + 40] # 1-byte Folded Reload + mov ebx, eax + movzx eax, byte ptr [rsp + 56] # 1-byte Folded Reload shl al, 2 - or al, cl - mov ecx, eax - movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload shl al, 3 - or al, cl - mov ecx, eax + or al, bl + mov ebx, eax movzx eax, byte ptr [rsp + 320] # 1-byte Folded Reload shl al, 4 - or al, cl - mov ecx, eax + or al, bl + mov ebx, eax movzx eax, byte ptr [rsp + 288] # 1-byte Folded Reload shl al, 5 - or al, cl - movzx ecx, byte ptr [rsp + 28] # 1-byte Folded Reload - shl cl, 6 - shl bl, 7 - or bl, cl - or bl, al - mov byte ptr [r11 + 2], r15b - mov byte ptr [r11 + 3], bl + or al, bl + movzx ebx, byte ptr [rsp + 28] # 1-byte Folded Reload + shl bl, 6 + shl cl, 7 + or cl, bl + or cl, al + mov byte ptr [r14 + 2], r15b + mov byte ptr [r14 + 3], cl add rdx, 128 - add r11, 4 - add qword ptr [rsp + 168], -1 # 8-byte Folded Spill + add r14, 4 + add qword ptr [rsp + 176], -1 # 8-byte Folded Spill jne .LBB2_123 # %bb.124: mov r10, qword ptr [rsp + 280] # 8-byte Reload - mov r14, qword ptr [rsp + 176] # 8-byte Reload + mov r11, qword ptr [rsp + 168] # 8-byte Reload .LBB2_125: - shl r14, 5 - cmp r14, r10 - jge .LBB2_157 + shl r11, 5 + cmp r11, r10 + jge .LBB2_165 # %bb.126: mov r8, r10 - sub r8, r14 - not r14 - add r14, r10 - jne .LBB2_152 + sub r8, r11 + not r11 + add r11, r10 + jne .LBB2_153 .LBB2_127: xor edi, edi - jmp .LBB2_154 + jmp .LBB2_155 .LBB2_128: - mov qword ptr [rsp + 376], r11 # 8-byte Spill + mov qword ptr [rsp + 376], r14 # 8-byte Spill mov r12, rdx .LBB2_129: shl r15, 5 cmp r15, r10 - jge .LBB2_157 + jge .LBB2_165 # %bb.130: mov r8, r10 sub r8, r15 @@ -12277,10 +12879,10 @@ comparison_equal_scalar_arr_avx2: # @comparison_equal_scalar_arr_avx2 mov r10, r8 and r10, -2 xor esi, esi - mov r11, qword ptr [rsp + 376] # 8-byte Reload + mov r14, qword ptr [rsp + 376] # 8-byte Reload .p2align 4, 0x90 .LBB2_159: # =>This Inner Loop Header: Depth=1 - cmp r14b, byte ptr [r12 + rsi] + cmp r11b, byte ptr [r12 + rsi] sete bl neg bl mov rdi, rsi @@ -12289,12 +12891,12 @@ comparison_equal_scalar_arr_avx2: # @comparison_equal_scalar_arr_avx2 and cl, 6 mov dl, 1 shl dl, cl - movzx r9d, byte ptr [r11 + rdi] + movzx r9d, byte ptr [r14 + rdi] xor bl, r9b and dl, bl xor dl, r9b - mov byte ptr [r11 + rdi], dl - cmp r14b, byte ptr [r12 + rsi + 1] + mov byte ptr [r14 + rdi], dl + cmp r11b, byte ptr [r12 + rsi + 1] lea rsi, [rsi + 2] sete bl neg bl @@ -12304,17 +12906,17 @@ comparison_equal_scalar_arr_avx2: # @comparison_equal_scalar_arr_avx2 shl al, cl and al, bl xor al, dl - mov byte ptr [r11 + rdi], al + mov byte ptr [r14 + rdi], al cmp r10, rsi jne .LBB2_159 jmp .LBB2_162 .LBB2_132: - mov qword ptr [rsp + 376], r11 # 8-byte Spill + mov qword ptr [rsp + 376], r14 # 8-byte Spill mov r12, rdx .LBB2_133: shl r15, 5 cmp r15, r10 - jge .LBB2_157 + jge .LBB2_165 # %bb.134: mov r8, r10 sub r8, r15 @@ -12325,46 +12927,50 @@ comparison_equal_scalar_arr_avx2: # @comparison_equal_scalar_arr_avx2 xor esi, esi jmp .LBB2_163 .LBB2_136: - mov r10, r8 - and r10, -2 + mov r9, r8 + and r9, -2 xor edi, edi .p2align 4, 0x90 .LBB2_137: # =>This Inner Loop Header: Depth=1 vucomisd xmm0, qword ptr [rdx] + setnp cl sete al + and al, cl neg al mov rsi, rdi shr rsi, 3 - mov r14, r11 - movzx r9d, byte ptr [r11 + rsi] - xor al, r9b + mov r15, r14 + movzx r10d, byte ptr [r14 + rsi] mov ecx, edi and cl, 6 - mov bl, 1 - shl bl, cl - and bl, al - xor bl, r9b - mov byte ptr [r11 + rsi], bl + mov r11b, 1 + shl r11b, cl + xor al, r10b + and r11b, al + xor r11b, r10b + mov byte ptr [r14 + rsi], r11b add rdi, 2 vucomisd xmm0, qword ptr [rdx + 8] lea rdx, [rdx + 16] - sete r9b - neg r9b - xor r9b, bl + setnp r10b + sete al + and al, r10b + neg al + xor al, r11b or cl, 1 - mov al, 1 - shl al, cl - and al, r9b - xor al, bl - mov byte ptr [r11 + rsi], al - cmp r10, rdi + mov bl, 1 + shl bl, cl + and bl, al + xor bl, r11b + mov byte ptr [r14 + rsi], bl + cmp r9, rdi jne .LBB2_137 .LBB2_138: test r8b, 1 - je .LBB2_157 + je .LBB2_165 # %bb.139: vucomisd xmm0, qword ptr [rdx] - jmp .LBB2_156 + jmp .LBB2_152 .LBB2_140: mov r10, r8 and r10, -2 @@ -12376,8 +12982,8 @@ comparison_equal_scalar_arr_avx2: # @comparison_equal_scalar_arr_avx2 neg al mov rsi, rdi shr rsi, 3 - mov r14, r11 - movzx r9d, byte ptr [r11 + rsi] + mov r11, r14 + movzx r9d, byte ptr [r14 + rsi] mov ecx, edi and cl, 6 mov bl, 1 @@ -12385,7 +12991,7 @@ comparison_equal_scalar_arr_avx2: # @comparison_equal_scalar_arr_avx2 xor al, r9b and bl, al xor bl, r9b - mov byte ptr [r11 + rsi], bl + mov byte ptr [r14 + rsi], bl add rdi, 2 cmp r13w, word ptr [rdx + 2] lea rdx, [rdx + 4] @@ -12397,15 +13003,15 @@ comparison_equal_scalar_arr_avx2: # @comparison_equal_scalar_arr_avx2 shl al, cl and al, r9b xor al, bl - mov byte ptr [r11 + rsi], al + mov byte ptr [r14 + rsi], al cmp r10, rdi jne .LBB2_141 .LBB2_142: test r8b, 1 - je .LBB2_157 + je .LBB2_165 # %bb.143: cmp r13w, word ptr [rdx] - jmp .LBB2_156 + jmp .LBB2_157 .LBB2_144: mov r10, r8 and r10, -2 @@ -12417,8 +13023,8 @@ comparison_equal_scalar_arr_avx2: # @comparison_equal_scalar_arr_avx2 neg al mov rsi, rdi shr rsi, 3 - mov r14, r11 - movzx r9d, byte ptr [r11 + rsi] + mov r11, r14 + movzx r9d, byte ptr [r14 + rsi] mov ecx, edi and cl, 6 mov bl, 1 @@ -12426,7 +13032,7 @@ comparison_equal_scalar_arr_avx2: # @comparison_equal_scalar_arr_avx2 xor al, r9b and bl, al xor bl, r9b - mov byte ptr [r11 + rsi], bl + mov byte ptr [r14 + rsi], bl add rdi, 2 cmp r13, qword ptr [rdx + 8] lea rdx, [rdx + 16] @@ -12438,69 +13044,89 @@ comparison_equal_scalar_arr_avx2: # @comparison_equal_scalar_arr_avx2 shl al, cl and al, r9b xor al, bl - mov byte ptr [r11 + rsi], al + mov byte ptr [r14 + rsi], al cmp r10, rdi jne .LBB2_145 .LBB2_146: test r8b, 1 - je .LBB2_157 + je .LBB2_165 # %bb.147: cmp r13, qword ptr [rdx] - jmp .LBB2_156 + jmp .LBB2_157 .LBB2_148: - mov r10, r8 - and r10, -2 + mov r9, r8 + and r9, -2 xor edi, edi .p2align 4, 0x90 .LBB2_149: # =>This Inner Loop Header: Depth=1 vucomiss xmm0, dword ptr [rdx] + setnp cl sete al + and al, cl neg al mov rsi, rdi shr rsi, 3 - mov r14, r11 - movzx r9d, byte ptr [r11 + rsi] - xor al, r9b + mov r15, r14 + movzx r10d, byte ptr [r14 + rsi] mov ecx, edi and cl, 6 - mov bl, 1 - shl bl, cl - and bl, al - xor bl, r9b - mov byte ptr [r11 + rsi], bl + mov r11b, 1 + shl r11b, cl + xor al, r10b + and r11b, al + xor r11b, r10b + mov byte ptr [r14 + rsi], r11b add rdi, 2 vucomiss xmm0, dword ptr [rdx + 4] lea rdx, [rdx + 8] - sete r9b - neg r9b - xor r9b, bl + setnp r10b + sete al + and al, r10b + neg al + xor al, r11b or cl, 1 - mov al, 1 - shl al, cl - and al, r9b - xor al, bl - mov byte ptr [r11 + rsi], al - cmp r10, rdi + mov bl, 1 + shl bl, cl + and bl, al + xor bl, r11b + mov byte ptr [r14 + rsi], bl + cmp r9, rdi jne .LBB2_149 .LBB2_150: test r8b, 1 - je .LBB2_157 + je .LBB2_165 # %bb.151: vucomiss xmm0, dword ptr [rdx] - jmp .LBB2_156 .LBB2_152: + setnp al + sete dl + and dl, al + neg dl + mov rax, rdi + shr rax, 3 + mov sil, byte ptr [r14 + rax] + and dil, 7 + mov bl, 1 + mov ecx, edi + shl bl, cl + xor dl, sil + and bl, dl + xor bl, sil + mov byte ptr [r14 + rax], bl + jmp .LBB2_165 +.LBB2_153: mov r10, r8 and r10, -2 xor edi, edi .p2align 4, 0x90 -.LBB2_153: # =>This Inner Loop Header: Depth=1 +.LBB2_154: # =>This Inner Loop Header: Depth=1 cmp r13d, dword ptr [rdx] sete al neg al mov rsi, rdi shr rsi, 3 - mov r14, r11 - movzx r9d, byte ptr [r11 + rsi] + mov r11, r14 + movzx r9d, byte ptr [r14 + rsi] mov ecx, edi and cl, 6 mov bl, 1 @@ -12508,7 +13134,7 @@ comparison_equal_scalar_arr_avx2: # @comparison_equal_scalar_arr_avx2 xor al, r9b and bl, al xor bl, r9b - mov byte ptr [r11 + rsi], bl + mov byte ptr [r14 + rsi], bl add rdi, 2 cmp r13d, dword ptr [rdx + 4] lea rdx, [rdx + 8] @@ -12520,20 +13146,20 @@ comparison_equal_scalar_arr_avx2: # @comparison_equal_scalar_arr_avx2 shl al, cl and al, r9b xor al, bl - mov byte ptr [r11 + rsi], al + mov byte ptr [r14 + rsi], al cmp r10, rdi - jne .LBB2_153 -.LBB2_154: + jne .LBB2_154 +.LBB2_155: test r8b, 1 - je .LBB2_157 -# %bb.155: + je .LBB2_165 +# %bb.156: cmp r13d, dword ptr [rdx] -.LBB2_156: +.LBB2_157: sete al neg al mov rdx, rdi shr rdx, 3 - mov sil, byte ptr [r11 + rdx] + mov sil, byte ptr [r14 + rdx] and dil, 7 mov bl, 1 mov ecx, edi @@ -12541,25 +13167,16 @@ comparison_equal_scalar_arr_avx2: # @comparison_equal_scalar_arr_avx2 xor al, sil and bl, al xor bl, sil - mov byte ptr [r11 + rdx], bl -.LBB2_157: - lea rsp, [rbp - 40] - pop rbx - pop r12 - pop r13 - pop r14 - pop r15 - pop rbp - vzeroupper - ret + mov byte ptr [r14 + rdx], bl + jmp .LBB2_165 .LBB2_160: mov r10, r8 and r10, -2 xor esi, esi - mov r11, qword ptr [rsp + 376] # 8-byte Reload + mov r14, qword ptr [rsp + 376] # 8-byte Reload .p2align 4, 0x90 .LBB2_161: # =>This Inner Loop Header: Depth=1 - cmp r14b, byte ptr [r12 + rsi] + cmp r11b, byte ptr [r12 + rsi] sete bl neg bl mov rdi, rsi @@ -12568,12 +13185,12 @@ comparison_equal_scalar_arr_avx2: # @comparison_equal_scalar_arr_avx2 and cl, 6 mov dl, 1 shl dl, cl - movzx r9d, byte ptr [r11 + rdi] + movzx r9d, byte ptr [r14 + rdi] xor bl, r9b and dl, bl xor dl, r9b - mov byte ptr [r11 + rdi], dl - cmp r14b, byte ptr [r12 + rsi + 1] + mov byte ptr [r14 + rdi], dl + cmp r11b, byte ptr [r12 + rsi + 1] lea rsi, [rsi + 2] sete bl neg bl @@ -12583,16 +13200,16 @@ comparison_equal_scalar_arr_avx2: # @comparison_equal_scalar_arr_avx2 shl al, cl and al, bl xor al, dl - mov byte ptr [r11 + rdi], al + mov byte ptr [r14 + rdi], al cmp r10, rsi jne .LBB2_161 .LBB2_162: add r12, rsi .LBB2_163: test r8b, 1 - je .LBB2_157 + je .LBB2_165 # %bb.164: - cmp r14b, byte ptr [r12] + cmp r11b, byte ptr [r12] sete al neg al mov rdx, rsi @@ -12607,56 +13224,65 @@ comparison_equal_scalar_arr_avx2: # @comparison_equal_scalar_arr_avx2 and bl, al xor bl, dil mov byte ptr [r8 + rdx], bl - jmp .LBB2_157 .LBB2_165: + lea rsp, [rbp - 40] + pop rbx + pop r12 + pop r13 + pop r14 + pop r15 + pop rbp + vzeroupper + ret +.LBB2_166: and r15, -32 mov rax, r15 shl rax, 5 add rax, rdx mov qword ptr [rsp + 400], rax # 8-byte Spill mov qword ptr [rsp + 384], r15 # 8-byte Spill - lea rax, [r11 + 4*r15] + lea rax, [r14 + 4*r15] mov qword ptr [rsp + 376], rax # 8-byte Spill - vmovd xmm0, r14d + vmovd xmm0, r11d vpbroadcastb ymm0, xmm0 vmovdqa ymmword ptr [rsp + 512], ymm0 # 32-byte Spill xor eax, eax - mov qword ptr [rsp + 272], r11 # 8-byte Spill + mov qword ptr [rsp + 272], r14 # 8-byte Spill .p2align 4, 0x90 -.LBB2_166: # =>This Inner Loop Header: Depth=1 +.LBB2_167: # =>This Inner Loop Header: Depth=1 mov rbx, rax mov qword ptr [rsp + 408], rax # 8-byte Spill shl rbx, 5 mov rax, rbx or rax, 32 - mov qword ptr [rsp + 120], rax # 8-byte Spill + mov qword ptr [rsp + 192], rax # 8-byte Spill mov rax, rbx or rax, 64 - mov qword ptr [rsp + 64], rax # 8-byte Spill + mov qword ptr [rsp + 120], rax # 8-byte Spill mov rax, rbx or rax, 96 - mov qword ptr [rsp + 176], rax # 8-byte Spill + mov qword ptr [rsp + 56], rax # 8-byte Spill mov rax, rbx or rax, 128 - mov qword ptr [rsp + 104], rax # 8-byte Spill + mov qword ptr [rsp + 168], rax # 8-byte Spill mov rax, rbx or rax, 160 - mov qword ptr [rsp + 96], rax # 8-byte Spill + mov qword ptr [rsp + 136], rax # 8-byte Spill mov rax, rbx or rax, 192 - mov qword ptr [rsp + 160], rax # 8-byte Spill + mov qword ptr [rsp + 152], rax # 8-byte Spill mov rax, rbx or rax, 224 - mov qword ptr [rsp + 144], rax # 8-byte Spill + mov qword ptr [rsp + 248], rax # 8-byte Spill mov rax, rbx or rax, 256 - mov qword ptr [rsp + 136], rax # 8-byte Spill + mov qword ptr [rsp + 160], rax # 8-byte Spill mov rax, rbx or rax, 288 - mov qword ptr [rsp + 152], rax # 8-byte Spill + mov qword ptr [rsp + 176], rax # 8-byte Spill mov rax, rbx or rax, 320 - mov qword ptr [rsp + 320], rax # 8-byte Spill + mov qword ptr [rsp + 40], rax # 8-byte Spill mov rax, rbx or rax, 512 mov rcx, rax @@ -12665,1918 +13291,1931 @@ comparison_equal_scalar_arr_avx2: # @comparison_equal_scalar_arr_avx2 movzx eax, byte ptr [rdx + rbx] vmovd xmm3, eax movzx eax, byte ptr [rdx + rcx + 1] + mov rsi, rcx vmovd xmm4, eax + mov rcx, rbx movzx eax, byte ptr [rdx + rbx + 1] vmovd xmm10, eax - movzx eax, byte ptr [rdx + rcx + 2] - mov rdi, rcx + movzx eax, byte ptr [rdx + rsi + 2] vmovd xmm1, eax vmovdqa xmmword ptr [rsp + 480], xmm1 # 16-byte Spill - mov rcx, rbx movzx eax, byte ptr [rdx + rbx + 2] vmovd xmm1, eax vmovdqa xmmword ptr [rsp + 448], xmm1 # 16-byte Spill - movzx eax, byte ptr [rdx + rdi + 3] + movzx eax, byte ptr [rdx + rsi + 3] vmovd xmm11, eax movzx eax, byte ptr [rdx + rbx + 3] vmovd xmm8, eax - movzx eax, byte ptr [rdx + rdi + 4] + movzx eax, byte ptr [rdx + rsi + 4] vmovd xmm1, eax vmovdqa xmmword ptr [rsp + 416], xmm1 # 16-byte Spill movzx eax, byte ptr [rdx + rbx + 4] vmovd xmm13, eax - movzx eax, byte ptr [rdx + rdi + 5] + movzx eax, byte ptr [rdx + rsi + 5] vmovd xmm14, eax movzx eax, byte ptr [rdx + rbx + 5] vmovd xmm6, eax - movzx eax, byte ptr [rdx + rdi + 6] - mov qword ptr [rsp + 256], rdi # 8-byte Spill + movzx eax, byte ptr [rdx + rsi + 6] + mov qword ptr [rsp + 240], rsi # 8-byte Spill vmovd xmm12, eax movzx eax, byte ptr [rdx + rbx + 6] vmovd xmm7, eax - movzx eax, byte ptr [rdx + rdi + 7] + movzx eax, byte ptr [rdx + rsi + 7] vmovd xmm2, eax movzx eax, byte ptr [rdx + rbx + 7] vmovd xmm1, eax mov rax, rbx or rax, 352 - mov qword ptr [rsp + 216], rax # 8-byte Spill + mov qword ptr [rsp + 128], rax # 8-byte Spill mov rax, rbx or rax, 384 - mov qword ptr [rsp + 288], rax # 8-byte Spill + mov qword ptr [rsp + 48], rax # 8-byte Spill mov rax, rbx or rax, 416 mov qword ptr [rsp + 32], rax # 8-byte Spill mov rax, rbx or rax, 448 - mov qword ptr [rsp + 72], rax # 8-byte Spill + mov qword ptr [rsp + 288], rax # 8-byte Spill mov rax, rbx or rax, 480 - mov qword ptr [rsp + 56], rax # 8-byte Spill + mov qword ptr [rsp + 320], rax # 8-byte Spill mov rax, rbx or rax, 544 - mov qword ptr [rsp + 232], rax # 8-byte Spill - or rbx, 576 - mov qword ptr [rsp + 168], rbx # 8-byte Spill - mov rax, rcx + mov qword ptr [rsp + 104], rax # 8-byte Spill + mov rax, rbx + or rax, 576 + mov qword ptr [rsp + 264], rax # 8-byte Spill + mov rax, rbx or rax, 608 - mov qword ptr [rsp + 112], rax # 8-byte Spill - mov r12, rcx - or r12, 640 - mov qword ptr [rsp + 240], r12 # 8-byte Spill - mov r14, rcx - or r14, 672 - mov qword ptr [rsp + 248], r14 # 8-byte Spill - mov rax, rcx - or rax, 704 - mov qword ptr [rsp + 40], rax # 8-byte Spill - mov rax, rcx - or rax, 736 - mov rdi, rax - mov r9, rcx - or r9, 768 - mov qword ptr [rsp + 192], r9 # 8-byte Spill - mov r15, rcx - or r15, 800 - mov qword ptr [rsp + 184], r15 # 8-byte Spill - mov r11, rcx - or r11, 832 - mov qword ptr [rsp + 224], r11 # 8-byte Spill - mov r10, rcx - or r10, 864 - mov qword ptr [rsp + 88], r10 # 8-byte Spill - mov r8, rcx - or r8, 896 - mov qword ptr [rsp + 128], r8 # 8-byte Spill - mov rsi, rcx - or rsi, 928 + mov qword ptr [rsp + 200], rax # 8-byte Spill + mov r11, rbx + or r11, 640 + mov qword ptr [rsp + 112], r11 # 8-byte Spill + mov rax, rbx + or rax, 672 + mov qword ptr [rsp + 184], rax # 8-byte Spill + mov r12, rbx + or r12, 704 + mov qword ptr [rsp + 144], r12 # 8-byte Spill + mov rsi, rbx + or rsi, 736 mov qword ptr [rsp + 208], rsi # 8-byte Spill - mov rax, rcx - mov qword ptr [rsp + 264], rcx # 8-byte Spill + mov r15, rbx + or r15, 768 + mov qword ptr [rsp + 224], r15 # 8-byte Spill + mov r9, rbx + or r9, 800 + mov qword ptr [rsp + 232], r9 # 8-byte Spill + mov r8, rbx + or r8, 832 + mov qword ptr [rsp + 88], r8 # 8-byte Spill + mov rdi, rbx + or rdi, 864 + mov qword ptr [rsp + 216], rdi # 8-byte Spill + mov r14, rbx + or r14, 896 + mov qword ptr [rsp + 80], r14 # 8-byte Spill + mov r10, rbx + or r10, 928 + mov qword ptr [rsp + 72], r10 # 8-byte Spill + mov rax, rbx + mov qword ptr [rsp + 256], rbx # 8-byte Spill or rax, 960 - mov qword ptr [rsp + 48], rax # 8-byte Spill + mov qword ptr [rsp + 64], rax # 8-byte Spill or rcx, 992 - mov qword ptr [rsp + 80], rcx # 8-byte Spill - mov r13, qword ptr [rsp + 232] # 8-byte Reload + mov qword ptr [rsp + 96], rcx # 8-byte Spill + mov r13, qword ptr [rsp + 104] # 8-byte Reload vpinsrb xmm9, xmm0, byte ptr [rdx + r13], 1 + mov rbx, qword ptr [rsp + 264] # 8-byte Reload vpinsrb xmm0, xmm9, byte ptr [rdx + rbx], 2 - mov rbx, qword ptr [rsp + 112] # 8-byte Reload + mov rbx, qword ptr [rsp + 200] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rbx], 3 - vpinsrb xmm0, xmm0, byte ptr [rdx + r12], 4 - vpinsrb xmm0, xmm0, byte ptr [rdx + r14], 5 - mov rbx, qword ptr [rsp + 40] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rbx], 6 - vpinsrb xmm0, xmm0, byte ptr [rdx + rdi], 7 - mov r13, rdi - mov qword ptr [rsp + 200], rdi # 8-byte Spill - vpinsrb xmm0, xmm0, byte ptr [rdx + r9], 8 - vpinsrb xmm0, xmm0, byte ptr [rdx + r15], 9 - vpinsrb xmm0, xmm0, byte ptr [rdx + r11], 10 - vpinsrb xmm0, xmm0, byte ptr [rdx + r10], 11 - vpinsrb xmm0, xmm0, byte ptr [rdx + r8], 12 - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi], 13 + vpinsrb xmm0, xmm0, byte ptr [rdx + r11], 4 + mov rbx, qword ptr [rsp + 184] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rbx], 5 + vpinsrb xmm0, xmm0, byte ptr [rdx + r12], 6 + vpinsrb xmm0, xmm0, byte ptr [rdx + rsi], 7 + vpinsrb xmm0, xmm0, byte ptr [rdx + r15], 8 + vpinsrb xmm0, xmm0, byte ptr [rdx + r9], 9 + vpinsrb xmm0, xmm0, byte ptr [rdx + r8], 10 + vpinsrb xmm0, xmm0, byte ptr [rdx + rdi], 11 + vpinsrb xmm0, xmm0, byte ptr [rdx + r14], 12 + vpinsrb xmm0, xmm0, byte ptr [rdx + r10], 13 vpinsrb xmm0, xmm0, byte ptr [rdx + rax], 14 vpinsrb xmm0, xmm0, byte ptr [rdx + rcx], 15 - mov r14, qword ptr [rsp + 120] # 8-byte Reload + mov r14, qword ptr [rsp + 192] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + r14], 1 - mov r10, qword ptr [rsp + 64] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + r10], 2 - mov r12, qword ptr [rsp + 176] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + r12], 3 - mov r8, qword ptr [rsp + 104] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + r8], 4 - mov r11, qword ptr [rsp + 96] # 8-byte Reload + mov r12, qword ptr [rsp + 120] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + r12], 2 + mov r8, qword ptr [rsp + 56] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + r8], 3 + mov r9, qword ptr [rsp + 168] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + r9], 4 + mov r11, qword ptr [rsp + 136] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + r11], 5 - mov r9, qword ptr [rsp + 160] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + r9], 6 - mov r15, qword ptr [rsp + 144] # 8-byte Reload + mov r10, qword ptr [rsp + 152] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + r10], 6 + mov r15, qword ptr [rsp + 248] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + r15], 7 - mov rsi, qword ptr [rsp + 136] # 8-byte Reload + mov rsi, qword ptr [rsp + 160] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rsi], 8 - mov rax, qword ptr [rsp + 152] # 8-byte Reload + mov rax, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rax], 9 - mov rbx, qword ptr [rsp + 320] # 8-byte Reload + mov rbx, qword ptr [rsp + 40] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rbx], 10 - mov rcx, qword ptr [rsp + 216] # 8-byte Reload + mov rcx, qword ptr [rsp + 128] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rcx], 11 - mov rdi, qword ptr [rsp + 288] # 8-byte Reload + mov rdi, qword ptr [rsp + 48] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rdi], 12 mov rdi, qword ptr [rsp + 32] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rdi], 13 - mov rdi, qword ptr [rsp + 72] # 8-byte Reload + mov rdi, qword ptr [rsp + 288] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rdi], 14 - mov rdi, qword ptr [rsp + 56] # 8-byte Reload + mov rdi, qword ptr [rsp + 320] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rdi], 15 - mov rdi, qword ptr [rsp + 232] # 8-byte Reload + mov rdi, qword ptr [rsp + 104] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + rdi + 1], 1 - mov rdi, qword ptr [rsp + 168] # 8-byte Reload - vpinsrb xmm4, xmm4, byte ptr [rdx + rdi + 1], 2 - mov rdi, qword ptr [rsp + 112] # 8-byte Reload + mov r13, qword ptr [rsp + 264] # 8-byte Reload + vpinsrb xmm4, xmm4, byte ptr [rdx + r13 + 1], 2 + mov rdi, qword ptr [rsp + 200] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + rdi + 1], 3 - mov rdi, qword ptr [rsp + 240] # 8-byte Reload - vpinsrb xmm4, xmm4, byte ptr [rdx + rdi + 1], 4 - mov rdi, qword ptr [rsp + 248] # 8-byte Reload + mov r13, qword ptr [rsp + 112] # 8-byte Reload + vpinsrb xmm4, xmm4, byte ptr [rdx + r13 + 1], 4 + mov rdi, qword ptr [rsp + 184] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + rdi + 1], 5 - mov rdi, qword ptr [rsp + 40] # 8-byte Reload - vpinsrb xmm4, xmm4, byte ptr [rdx + rdi + 1], 6 + mov r13, qword ptr [rsp + 144] # 8-byte Reload + vpinsrb xmm4, xmm4, byte ptr [rdx + r13 + 1], 6 + mov r13, qword ptr [rsp + 208] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + r13 + 1], 7 - mov r13, qword ptr [rsp + 192] # 8-byte Reload - vpinsrb xmm4, xmm4, byte ptr [rdx + r13 + 1], 8 - mov r13, qword ptr [rsp + 184] # 8-byte Reload - vpinsrb xmm4, xmm4, byte ptr [rdx + r13 + 1], 9 mov rdi, qword ptr [rsp + 224] # 8-byte Reload - vpinsrb xmm4, xmm4, byte ptr [rdx + rdi + 1], 10 + vpinsrb xmm4, xmm4, byte ptr [rdx + rdi + 1], 8 + mov rdi, qword ptr [rsp + 232] # 8-byte Reload + vpinsrb xmm4, xmm4, byte ptr [rdx + rdi + 1], 9 mov rdi, qword ptr [rsp + 88] # 8-byte Reload + vpinsrb xmm4, xmm4, byte ptr [rdx + rdi + 1], 10 + mov rdi, qword ptr [rsp + 216] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + rdi + 1], 11 - mov rdi, qword ptr [rsp + 128] # 8-byte Reload + mov rdi, qword ptr [rsp + 80] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + rdi + 1], 12 - mov rdi, qword ptr [rsp + 208] # 8-byte Reload + mov rdi, qword ptr [rsp + 72] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + rdi + 1], 13 - mov rdi, qword ptr [rsp + 48] # 8-byte Reload + mov rdi, qword ptr [rsp + 64] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + rdi + 1], 14 - mov rdi, qword ptr [rsp + 80] # 8-byte Reload + mov rdi, qword ptr [rsp + 96] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + rdi + 1], 15 vpinsrb xmm5, xmm10, byte ptr [rdx + r14 + 1], 1 - vpinsrb xmm5, xmm5, byte ptr [rdx + r10 + 1], 2 - vpinsrb xmm5, xmm5, byte ptr [rdx + r12 + 1], 3 - vpinsrb xmm5, xmm5, byte ptr [rdx + r8 + 1], 4 + vpinsrb xmm5, xmm5, byte ptr [rdx + r12 + 1], 2 + mov rdi, r12 + vpinsrb xmm5, xmm5, byte ptr [rdx + r8 + 1], 3 + vpinsrb xmm5, xmm5, byte ptr [rdx + r9 + 1], 4 vpinsrb xmm5, xmm5, byte ptr [rdx + r11 + 1], 5 - vpinsrb xmm5, xmm5, byte ptr [rdx + r9 + 1], 6 + vpinsrb xmm5, xmm5, byte ptr [rdx + r10 + 1], 6 vpinsrb xmm5, xmm5, byte ptr [rdx + r15 + 1], 7 vpinsrb xmm5, xmm5, byte ptr [rdx + rsi + 1], 8 vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 1], 9 vpinsrb xmm5, xmm5, byte ptr [rdx + rbx + 1], 10 vpinsrb xmm5, xmm5, byte ptr [rdx + rcx + 1], 11 - mov rax, qword ptr [rsp + 288] # 8-byte Reload + mov rax, qword ptr [rsp + 48] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 1], 12 mov rax, qword ptr [rsp + 32] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 1], 13 - mov rax, qword ptr [rsp + 72] # 8-byte Reload + mov rax, qword ptr [rsp + 288] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 1], 14 vinserti128 ymm15, ymm3, xmm0, 1 - mov rax, qword ptr [rsp + 56] # 8-byte Reload + mov rax, qword ptr [rsp + 320] # 8-byte Reload vpinsrb xmm0, xmm5, byte ptr [rdx + rax + 1], 15 - mov rax, qword ptr [rsp + 256] # 8-byte Reload + mov rax, qword ptr [rsp + 240] # 8-byte Reload movzx esi, byte ptr [rdx + rax + 8] vmovd xmm9, esi vinserti128 ymm0, ymm0, xmm4, 1 vmovdqa ymmword ptr [rsp + 1216], ymm0 # 32-byte Spill - mov rax, qword ptr [rsp + 264] # 8-byte Reload + mov rax, qword ptr [rsp + 256] # 8-byte Reload movzx esi, byte ptr [rdx + rax + 8] vmovd xmm10, esi - mov r8, qword ptr [rsp + 232] # 8-byte Reload + mov r8, qword ptr [rsp + 104] # 8-byte Reload vmovdqa xmm0, xmmword ptr [rsp + 480] # 16-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + r8 + 2], 1 - mov rcx, qword ptr [rsp + 168] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 2], 2 - mov r10, qword ptr [rsp + 112] # 8-byte Reload + mov r9, qword ptr [rsp + 264] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r9 + 2], 2 + mov r10, qword ptr [rsp + 200] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + r10 + 2], 3 - mov rax, qword ptr [rsp + 240] # 8-byte Reload + mov rax, qword ptr [rsp + 112] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 2], 4 - mov rax, qword ptr [rsp + 248] # 8-byte Reload + mov rax, qword ptr [rsp + 184] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 2], 5 - mov r9, qword ptr [rsp + 40] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + r9 + 2], 6 - mov rdi, qword ptr [rsp + 200] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rdi + 2], 7 - mov rax, qword ptr [rsp + 192] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 2], 8 - mov r12, r13 - vpinsrb xmm0, xmm0, byte ptr [rdx + r13 + 2], 9 - mov r13, qword ptr [rsp + 224] # 8-byte Reload + mov rax, qword ptr [rsp + 144] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 2], 6 + vpinsrb xmm0, xmm0, byte ptr [rdx + r13 + 2], 7 + mov rcx, qword ptr [rsp + 224] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 2], 8 + mov r12, qword ptr [rsp + 232] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r12 + 2], 9 + mov r13, qword ptr [rsp + 88] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + r13 + 2], 10 - mov r11, qword ptr [rsp + 88] # 8-byte Reload + mov r11, qword ptr [rsp + 216] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + r11 + 2], 11 - mov r14, qword ptr [rsp + 128] # 8-byte Reload + mov r14, qword ptr [rsp + 80] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + r14 + 2], 12 - mov r15, qword ptr [rsp + 208] # 8-byte Reload + mov r15, qword ptr [rsp + 72] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + r15 + 2], 13 - mov rax, qword ptr [rsp + 48] # 8-byte Reload + mov rax, qword ptr [rsp + 64] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 2], 14 - mov rax, qword ptr [rsp + 80] # 8-byte Reload + mov rax, qword ptr [rsp + 96] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 2], 15 - mov rax, qword ptr [rsp + 120] # 8-byte Reload + mov rax, qword ptr [rsp + 192] # 8-byte Reload vmovdqa xmm3, xmmword ptr [rsp + 448] # 16-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 2], 1 - mov rsi, qword ptr [rsp + 64] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 2], 2 - mov rsi, qword ptr [rsp + 176] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 2], 2 + mov rsi, qword ptr [rsp + 56] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 2], 3 - mov rsi, qword ptr [rsp + 104] # 8-byte Reload + mov rsi, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 2], 4 - mov rsi, qword ptr [rsp + 96] # 8-byte Reload + mov rsi, qword ptr [rsp + 136] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 2], 5 - mov rsi, qword ptr [rsp + 160] # 8-byte Reload + mov rsi, qword ptr [rsp + 152] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 2], 6 - mov rsi, qword ptr [rsp + 144] # 8-byte Reload + mov rsi, qword ptr [rsp + 248] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 2], 7 - mov rbx, qword ptr [rsp + 136] # 8-byte Reload + mov rbx, qword ptr [rsp + 160] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 2], 8 - mov rbx, qword ptr [rsp + 152] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 2], 9 - mov rbx, qword ptr [rsp + 320] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 2], 10 - mov rbx, qword ptr [rsp + 216] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 2], 11 - mov rbx, qword ptr [rsp + 288] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 2], 12 - mov rbx, qword ptr [rsp + 32] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 2], 13 - mov rbx, qword ptr [rsp + 72] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 2], 14 - mov rbx, qword ptr [rsp + 56] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 2], 15 + mov rdi, qword ptr [rsp + 176] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 2], 9 + mov rdi, qword ptr [rsp + 40] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 2], 10 + mov rdi, qword ptr [rsp + 128] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 2], 11 + mov rdi, qword ptr [rsp + 48] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 2], 12 + mov rdi, qword ptr [rsp + 32] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 2], 13 + mov rdi, qword ptr [rsp + 288] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 2], 14 + mov rdi, qword ptr [rsp + 320] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 2], 15 vpinsrb xmm4, xmm11, byte ptr [rdx + r8 + 3], 1 - vpinsrb xmm4, xmm4, byte ptr [rdx + rcx + 3], 2 + vpinsrb xmm4, xmm4, byte ptr [rdx + r9 + 3], 2 vpinsrb xmm4, xmm4, byte ptr [rdx + r10 + 3], 3 - mov rbx, qword ptr [rsp + 240] # 8-byte Reload - vpinsrb xmm4, xmm4, byte ptr [rdx + rbx + 3], 4 - mov rcx, qword ptr [rsp + 248] # 8-byte Reload - vpinsrb xmm4, xmm4, byte ptr [rdx + rcx + 3], 5 - vpinsrb xmm4, xmm4, byte ptr [rdx + r9 + 3], 6 - vpinsrb xmm4, xmm4, byte ptr [rdx + rdi + 3], 7 - mov rdi, qword ptr [rsp + 192] # 8-byte Reload - vpinsrb xmm4, xmm4, byte ptr [rdx + rdi + 3], 8 + mov rdi, qword ptr [rsp + 112] # 8-byte Reload + vpinsrb xmm4, xmm4, byte ptr [rdx + rdi + 3], 4 + mov r8, qword ptr [rsp + 184] # 8-byte Reload + vpinsrb xmm4, xmm4, byte ptr [rdx + r8 + 3], 5 + mov rdi, qword ptr [rsp + 144] # 8-byte Reload + vpinsrb xmm4, xmm4, byte ptr [rdx + rdi + 3], 6 + mov r9, qword ptr [rsp + 208] # 8-byte Reload + vpinsrb xmm4, xmm4, byte ptr [rdx + r9 + 3], 7 + vpinsrb xmm4, xmm4, byte ptr [rdx + rcx + 3], 8 vpinsrb xmm4, xmm4, byte ptr [rdx + r12 + 3], 9 vpinsrb xmm4, xmm4, byte ptr [rdx + r13 + 3], 10 vpinsrb xmm4, xmm4, byte ptr [rdx + r11 + 3], 11 + mov r12, r11 vpinsrb xmm4, xmm4, byte ptr [rdx + r14 + 3], 12 vpinsrb xmm4, xmm4, byte ptr [rdx + r15 + 3], 13 - mov r9, qword ptr [rsp + 48] # 8-byte Reload - vpinsrb xmm4, xmm4, byte ptr [rdx + r9 + 3], 14 - mov r15, qword ptr [rsp + 80] # 8-byte Reload - vpinsrb xmm4, xmm4, byte ptr [rdx + r15 + 3], 15 - vpinsrb xmm5, xmm8, byte ptr [rdx + rax + 3], 1 mov r11, qword ptr [rsp + 64] # 8-byte Reload - vpinsrb xmm5, xmm5, byte ptr [rdx + r11 + 3], 2 - mov rax, qword ptr [rsp + 176] # 8-byte Reload + vpinsrb xmm4, xmm4, byte ptr [rdx + r11 + 3], 14 + mov rcx, qword ptr [rsp + 96] # 8-byte Reload + vpinsrb xmm4, xmm4, byte ptr [rdx + rcx + 3], 15 + vpinsrb xmm5, xmm8, byte ptr [rdx + rax + 3], 1 + mov r13, rax + mov rax, qword ptr [rsp + 120] # 8-byte Reload + vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 3], 2 + mov rax, qword ptr [rsp + 56] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 3], 3 - mov rax, qword ptr [rsp + 104] # 8-byte Reload + mov rax, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 3], 4 - mov r10, qword ptr [rsp + 96] # 8-byte Reload - vpinsrb xmm5, xmm5, byte ptr [rdx + r10 + 3], 5 - mov r14, qword ptr [rsp + 160] # 8-byte Reload - vpinsrb xmm5, xmm5, byte ptr [rdx + r14 + 3], 6 - vpinsrb xmm5, xmm5, byte ptr [rdx + rsi + 3], 7 mov rax, qword ptr [rsp + 136] # 8-byte Reload - vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 3], 8 - mov rbx, qword ptr [rsp + 152] # 8-byte Reload - vpinsrb xmm5, xmm5, byte ptr [rdx + rbx + 3], 9 - mov rax, qword ptr [rsp + 320] # 8-byte Reload + vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 3], 5 + mov rax, qword ptr [rsp + 152] # 8-byte Reload + vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 3], 6 + vpinsrb xmm5, xmm5, byte ptr [rdx + rsi + 3], 7 + vpinsrb xmm5, xmm5, byte ptr [rdx + rbx + 3], 8 + mov rax, qword ptr [rsp + 176] # 8-byte Reload + vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 3], 9 + mov rax, qword ptr [rsp + 40] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 3], 10 - mov rax, qword ptr [rsp + 216] # 8-byte Reload + mov rax, qword ptr [rsp + 128] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 3], 11 - mov rax, qword ptr [rsp + 288] # 8-byte Reload + mov rax, qword ptr [rsp + 48] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 3], 12 mov rax, qword ptr [rsp + 32] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 3], 13 vinserti128 ymm0, ymm3, xmm0, 1 vmovdqa ymmword ptr [rsp + 480], ymm0 # 32-byte Spill - mov rax, qword ptr [rsp + 72] # 8-byte Reload + mov rax, qword ptr [rsp + 288] # 8-byte Reload vpinsrb xmm0, xmm5, byte ptr [rdx + rax + 3], 14 - mov rax, qword ptr [rsp + 256] # 8-byte Reload - movzx esi, byte ptr [rdx + rax + 9] + mov rcx, qword ptr [rsp + 240] # 8-byte Reload + movzx esi, byte ptr [rdx + rcx + 9] vmovd xmm8, esi - mov r12, qword ptr [rsp + 56] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + r12 + 3], 15 + mov rax, qword ptr [rsp + 320] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 3], 15 vinserti128 ymm0, ymm0, xmm4, 1 vmovdqa ymmword ptr [rsp + 448], ymm0 # 32-byte Spill - mov rax, qword ptr [rsp + 264] # 8-byte Reload - movzx esi, byte ptr [rdx + rax + 9] + mov rcx, qword ptr [rsp + 256] # 8-byte Reload + movzx esi, byte ptr [rdx + rcx + 9] vmovd xmm11, esi + mov r14, qword ptr [rsp + 104] # 8-byte Reload vmovdqa xmm0, xmmword ptr [rsp + 416] # 16-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + r8 + 4], 1 - mov rax, qword ptr [rsp + 168] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 4], 2 - mov rax, qword ptr [rsp + 112] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 4], 3 - mov r13, qword ptr [rsp + 240] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + r13 + 4], 4 - vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 4], 5 - mov rax, qword ptr [rsp + 40] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 4], 6 - mov rax, qword ptr [rsp + 200] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 4], 7 - vpinsrb xmm0, xmm0, byte ptr [rdx + rdi + 4], 8 - mov rax, qword ptr [rsp + 184] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 4], 9 - mov rax, qword ptr [rsp + 224] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 4], 10 + vpinsrb xmm0, xmm0, byte ptr [rdx + r14 + 4], 1 + mov r15, qword ptr [rsp + 264] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r15 + 4], 2 + vpinsrb xmm0, xmm0, byte ptr [rdx + r10 + 4], 3 + mov rdi, qword ptr [rsp + 112] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rdi + 4], 4 + mov rcx, r8 + vpinsrb xmm0, xmm0, byte ptr [rdx + r8 + 4], 5 + mov rbx, qword ptr [rsp + 144] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rbx + 4], 6 + vpinsrb xmm0, xmm0, byte ptr [rdx + r9 + 4], 7 + mov r9, qword ptr [rsp + 224] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r9 + 4], 8 + mov r8, qword ptr [rsp + 232] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r8 + 4], 9 mov rax, qword ptr [rsp + 88] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 4], 11 - mov rax, qword ptr [rsp + 128] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 4], 12 - mov rax, qword ptr [rsp + 208] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 4], 13 - vpinsrb xmm0, xmm0, byte ptr [rdx + r9 + 4], 14 - vpinsrb xmm0, xmm0, byte ptr [rdx + r15 + 4], 15 - mov rax, qword ptr [rsp + 120] # 8-byte Reload - vpinsrb xmm3, xmm13, byte ptr [rdx + rax + 4], 1 - vpinsrb xmm3, xmm3, byte ptr [rdx + r11 + 4], 2 - mov r11, qword ptr [rsp + 176] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + r11 + 4], 3 - mov rax, qword ptr [rsp + 104] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 4], 4 - vpinsrb xmm3, xmm3, byte ptr [rdx + r10 + 4], 5 - mov rsi, r14 - vpinsrb xmm3, xmm3, byte ptr [rdx + r14 + 4], 6 - mov r10, qword ptr [rsp + 144] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + r10 + 4], 7 - mov r9, qword ptr [rsp + 136] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + r9 + 4], 8 - vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 4], 9 - mov rbx, qword ptr [rsp + 320] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 4], 10 - mov r14, qword ptr [rsp + 216] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + r14 + 4], 11 - mov rbx, qword ptr [rsp + 288] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 4], 12 - mov rbx, qword ptr [rsp + 32] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 4], 13 - mov r15, qword ptr [rsp + 72] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + r15 + 4], 14 - vpinsrb xmm3, xmm3, byte ptr [rdx + r12 + 4], 15 - vpinsrb xmm4, xmm14, byte ptr [rdx + r8 + 5], 1 - mov r15, qword ptr [rsp + 168] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 4], 10 + vpinsrb xmm0, xmm0, byte ptr [rdx + r12 + 4], 11 + mov rsi, qword ptr [rsp + 80] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 4], 12 + mov rsi, qword ptr [rsp + 72] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 4], 13 + vpinsrb xmm0, xmm0, byte ptr [rdx + r11 + 4], 14 + mov r12, qword ptr [rsp + 96] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r12 + 4], 15 + vpinsrb xmm3, xmm13, byte ptr [rdx + r13 + 4], 1 + mov rsi, qword ptr [rsp + 120] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 4], 2 + mov rsi, qword ptr [rsp + 56] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 4], 3 + mov rsi, qword ptr [rsp + 168] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 4], 4 + mov rax, qword ptr [rsp + 136] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 4], 5 + mov rsi, qword ptr [rsp + 152] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 4], 6 + mov rax, qword ptr [rsp + 248] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 4], 7 + mov rax, qword ptr [rsp + 160] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 4], 8 + mov rax, qword ptr [rsp + 176] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 4], 9 + mov rax, qword ptr [rsp + 40] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 4], 10 + mov r11, qword ptr [rsp + 128] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + r11 + 4], 11 + mov r11, qword ptr [rsp + 48] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + r11 + 4], 12 + mov rax, qword ptr [rsp + 32] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 4], 13 + mov rax, qword ptr [rsp + 288] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 4], 14 + mov rax, qword ptr [rsp + 320] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 4], 15 + vpinsrb xmm4, xmm14, byte ptr [rdx + r14 + 5], 1 vpinsrb xmm4, xmm4, byte ptr [rdx + r15 + 5], 2 - mov rbx, qword ptr [rsp + 112] # 8-byte Reload - vpinsrb xmm4, xmm4, byte ptr [rdx + rbx + 5], 3 - vpinsrb xmm4, xmm4, byte ptr [rdx + r13 + 5], 4 + mov r14, r15 + vpinsrb xmm4, xmm4, byte ptr [rdx + r10 + 5], 3 + vpinsrb xmm4, xmm4, byte ptr [rdx + rdi + 5], 4 vpinsrb xmm4, xmm4, byte ptr [rdx + rcx + 5], 5 - mov rcx, qword ptr [rsp + 40] # 8-byte Reload - vpinsrb xmm4, xmm4, byte ptr [rdx + rcx + 5], 6 - mov rcx, qword ptr [rsp + 200] # 8-byte Reload - vpinsrb xmm4, xmm4, byte ptr [rdx + rcx + 5], 7 - vpinsrb xmm4, xmm4, byte ptr [rdx + rdi + 5], 8 - mov rcx, qword ptr [rsp + 184] # 8-byte Reload - vpinsrb xmm4, xmm4, byte ptr [rdx + rcx + 5], 9 - mov rcx, qword ptr [rsp + 224] # 8-byte Reload - vpinsrb xmm4, xmm4, byte ptr [rdx + rcx + 5], 10 - mov rdi, qword ptr [rsp + 88] # 8-byte Reload - vpinsrb xmm4, xmm4, byte ptr [rdx + rdi + 5], 11 - mov rdi, qword ptr [rsp + 128] # 8-byte Reload - vpinsrb xmm4, xmm4, byte ptr [rdx + rdi + 5], 12 - mov r13, qword ptr [rsp + 208] # 8-byte Reload - vpinsrb xmm4, xmm4, byte ptr [rdx + r13 + 5], 13 - mov rdi, qword ptr [rsp + 48] # 8-byte Reload - vpinsrb xmm4, xmm4, byte ptr [rdx + rdi + 5], 14 - mov rdi, qword ptr [rsp + 80] # 8-byte Reload - vpinsrb xmm4, xmm4, byte ptr [rdx + rdi + 5], 15 - mov rdi, qword ptr [rsp + 120] # 8-byte Reload - vpinsrb xmm5, xmm6, byte ptr [rdx + rdi + 5], 1 - mov rdi, qword ptr [rsp + 64] # 8-byte Reload - vpinsrb xmm5, xmm5, byte ptr [rdx + rdi + 5], 2 - vpinsrb xmm5, xmm5, byte ptr [rdx + r11 + 5], 3 + mov r10, rcx + vpinsrb xmm4, xmm4, byte ptr [rdx + rbx + 5], 6 + mov r15, qword ptr [rsp + 208] # 8-byte Reload + vpinsrb xmm4, xmm4, byte ptr [rdx + r15 + 5], 7 + vpinsrb xmm4, xmm4, byte ptr [rdx + r9 + 5], 8 + vpinsrb xmm4, xmm4, byte ptr [rdx + r8 + 5], 9 + mov r8, qword ptr [rsp + 88] # 8-byte Reload + vpinsrb xmm4, xmm4, byte ptr [rdx + r8 + 5], 10 + mov rcx, qword ptr [rsp + 216] # 8-byte Reload + vpinsrb xmm4, xmm4, byte ptr [rdx + rcx + 5], 11 + mov rax, qword ptr [rsp + 80] # 8-byte Reload + vpinsrb xmm4, xmm4, byte ptr [rdx + rax + 5], 12 + mov rax, qword ptr [rsp + 72] # 8-byte Reload + vpinsrb xmm4, xmm4, byte ptr [rdx + rax + 5], 13 + mov rax, qword ptr [rsp + 64] # 8-byte Reload + vpinsrb xmm4, xmm4, byte ptr [rdx + rax + 5], 14 + vpinsrb xmm4, xmm4, byte ptr [rdx + r12 + 5], 15 + vpinsrb xmm5, xmm6, byte ptr [rdx + r13 + 5], 1 + mov rax, qword ptr [rsp + 120] # 8-byte Reload + vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 5], 2 + mov rax, qword ptr [rsp + 56] # 8-byte Reload + vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 5], 3 + mov rax, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 5], 4 - mov rax, qword ptr [rsp + 96] # 8-byte Reload + mov rax, qword ptr [rsp + 136] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 5], 5 vpinsrb xmm5, xmm5, byte ptr [rdx + rsi + 5], 6 - vpinsrb xmm5, xmm5, byte ptr [rdx + r10 + 5], 7 - vpinsrb xmm5, xmm5, byte ptr [rdx + r9 + 5], 8 - mov r9, qword ptr [rsp + 152] # 8-byte Reload - vpinsrb xmm5, xmm5, byte ptr [rdx + r9 + 5], 9 - mov rax, qword ptr [rsp + 320] # 8-byte Reload + mov rbx, qword ptr [rsp + 248] # 8-byte Reload + vpinsrb xmm5, xmm5, byte ptr [rdx + rbx + 5], 7 + mov rax, qword ptr [rsp + 160] # 8-byte Reload + vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 5], 8 + mov rax, qword ptr [rsp + 176] # 8-byte Reload + vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 5], 9 + mov rax, qword ptr [rsp + 40] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 5], 10 - vpinsrb xmm5, xmm5, byte ptr [rdx + r14 + 5], 11 - mov rax, qword ptr [rsp + 288] # 8-byte Reload - vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 5], 12 + mov r13, qword ptr [rsp + 128] # 8-byte Reload + vpinsrb xmm5, xmm5, byte ptr [rdx + r13 + 5], 11 + vpinsrb xmm5, xmm5, byte ptr [rdx + r11 + 5], 12 + mov r12, r11 mov rax, qword ptr [rsp + 32] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 5], 13 - mov rax, qword ptr [rsp + 72] # 8-byte Reload + mov rax, qword ptr [rsp + 288] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 5], 14 vinserti128 ymm14, ymm3, xmm0, 1 - vpinsrb xmm0, xmm5, byte ptr [rdx + r12 + 5], 15 - mov rax, qword ptr [rsp + 256] # 8-byte Reload + mov rax, qword ptr [rsp + 320] # 8-byte Reload + vpinsrb xmm0, xmm5, byte ptr [rdx + rax + 5], 15 + mov rax, qword ptr [rsp + 240] # 8-byte Reload movzx esi, byte ptr [rdx + rax + 10] vmovd xmm3, esi vinserti128 ymm0, ymm0, xmm4, 1 vmovdqa ymmword ptr [rsp + 416], ymm0 # 32-byte Spill - mov rax, qword ptr [rsp + 264] # 8-byte Reload - movzx esi, byte ptr [rdx + rax + 10] + mov rsi, qword ptr [rsp + 256] # 8-byte Reload + movzx esi, byte ptr [rdx + rsi + 10] vmovd xmm4, esi - mov r14, r8 - vpinsrb xmm0, xmm12, byte ptr [rdx + r8 + 6], 1 - vpinsrb xmm0, xmm0, byte ptr [rdx + r15 + 6], 2 - vpinsrb xmm0, xmm0, byte ptr [rdx + rbx + 6], 3 - mov r11, qword ptr [rsp + 240] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + r11 + 6], 4 - mov r8, qword ptr [rsp + 248] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + r8 + 6], 5 - mov rax, qword ptr [rsp + 40] # 8-byte Reload + mov rdi, qword ptr [rsp + 104] # 8-byte Reload + vpinsrb xmm0, xmm12, byte ptr [rdx + rdi + 6], 1 + vpinsrb xmm0, xmm0, byte ptr [rdx + r14 + 6], 2 + mov rax, qword ptr [rsp + 200] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 6], 3 + mov r14, qword ptr [rsp + 112] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r14 + 6], 4 + vpinsrb xmm0, xmm0, byte ptr [rdx + r10 + 6], 5 + mov rax, qword ptr [rsp + 144] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 6], 6 - mov rdi, qword ptr [rsp + 200] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rdi + 6], 7 - mov rax, qword ptr [rsp + 192] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 6], 8 - mov rax, qword ptr [rsp + 184] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 6], 9 - vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 6], 10 - mov r10, qword ptr [rsp + 88] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + r10 + 6], 11 - mov rax, qword ptr [rsp + 128] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 6], 12 - vpinsrb xmm0, xmm0, byte ptr [rdx + r13 + 6], 13 - mov rcx, qword ptr [rsp + 48] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 6], 14 - mov rcx, qword ptr [rsp + 80] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 6], 15 - mov rcx, qword ptr [rsp + 120] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r15 + 6], 7 + vpinsrb xmm0, xmm0, byte ptr [rdx + r9 + 6], 8 + mov rsi, qword ptr [rsp + 232] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 6], 9 + vpinsrb xmm0, xmm0, byte ptr [rdx + r8 + 6], 10 + vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 6], 11 + mov r8, qword ptr [rsp + 80] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r8 + 6], 12 + mov r9, qword ptr [rsp + 72] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r9 + 6], 13 + mov rsi, qword ptr [rsp + 64] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 6], 14 + mov r10, qword ptr [rsp + 96] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r10 + 6], 15 + mov rcx, qword ptr [rsp + 192] # 8-byte Reload vpinsrb xmm5, xmm7, byte ptr [rdx + rcx + 6], 1 - mov rcx, qword ptr [rsp + 64] # 8-byte Reload - vpinsrb xmm5, xmm5, byte ptr [rdx + rcx + 6], 2 - mov rcx, qword ptr [rsp + 176] # 8-byte Reload - vpinsrb xmm5, xmm5, byte ptr [rdx + rcx + 6], 3 - mov rcx, qword ptr [rsp + 104] # 8-byte Reload - vpinsrb xmm5, xmm5, byte ptr [rdx + rcx + 6], 4 - mov rsi, qword ptr [rsp + 96] # 8-byte Reload + mov rsi, qword ptr [rsp + 120] # 8-byte Reload + vpinsrb xmm5, xmm5, byte ptr [rdx + rsi + 6], 2 + mov rsi, qword ptr [rsp + 56] # 8-byte Reload + vpinsrb xmm5, xmm5, byte ptr [rdx + rsi + 6], 3 + mov rsi, qword ptr [rsp + 168] # 8-byte Reload + vpinsrb xmm5, xmm5, byte ptr [rdx + rsi + 6], 4 + mov rsi, qword ptr [rsp + 136] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rsi + 6], 5 - mov rbx, qword ptr [rsp + 160] # 8-byte Reload - vpinsrb xmm5, xmm5, byte ptr [rdx + rbx + 6], 6 - mov rcx, qword ptr [rsp + 144] # 8-byte Reload - vpinsrb xmm5, xmm5, byte ptr [rdx + rcx + 6], 7 - mov rcx, qword ptr [rsp + 136] # 8-byte Reload - vpinsrb xmm5, xmm5, byte ptr [rdx + rcx + 6], 8 - vpinsrb xmm5, xmm5, byte ptr [rdx + r9 + 6], 9 - mov rcx, qword ptr [rsp + 320] # 8-byte Reload + mov rcx, qword ptr [rsp + 152] # 8-byte Reload + vpinsrb xmm5, xmm5, byte ptr [rdx + rcx + 6], 6 + vpinsrb xmm5, xmm5, byte ptr [rdx + rbx + 6], 7 + mov r11, qword ptr [rsp + 160] # 8-byte Reload + vpinsrb xmm5, xmm5, byte ptr [rdx + r11 + 6], 8 + mov rbx, qword ptr [rsp + 176] # 8-byte Reload + vpinsrb xmm5, xmm5, byte ptr [rdx + rbx + 6], 9 + mov rcx, qword ptr [rsp + 40] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rcx + 6], 10 - mov r12, qword ptr [rsp + 216] # 8-byte Reload - vpinsrb xmm5, xmm5, byte ptr [rdx + r12 + 6], 11 - mov r9, qword ptr [rsp + 288] # 8-byte Reload - vpinsrb xmm5, xmm5, byte ptr [rdx + r9 + 6], 12 - mov r13, qword ptr [rsp + 32] # 8-byte Reload - vpinsrb xmm5, xmm5, byte ptr [rdx + r13 + 6], 13 - mov rcx, qword ptr [rsp + 72] # 8-byte Reload + mov r15, r13 + vpinsrb xmm5, xmm5, byte ptr [rdx + r13 + 6], 11 + vpinsrb xmm5, xmm5, byte ptr [rdx + r12 + 6], 12 + mov rcx, qword ptr [rsp + 32] # 8-byte Reload + vpinsrb xmm5, xmm5, byte ptr [rdx + rcx + 6], 13 + mov rcx, qword ptr [rsp + 288] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rcx + 6], 14 - mov r13, qword ptr [rsp + 56] # 8-byte Reload + mov r13, qword ptr [rsp + 320] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + r13 + 6], 15 - vpinsrb xmm2, xmm2, byte ptr [rdx + r14 + 7], 1 - vpinsrb xmm2, xmm2, byte ptr [rdx + r15 + 7], 2 - mov r13, qword ptr [rsp + 112] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r13 + 7], 3 - vpinsrb xmm2, xmm2, byte ptr [rdx + r11 + 7], 4 - vpinsrb xmm2, xmm2, byte ptr [rdx + r8 + 7], 5 - mov rcx, qword ptr [rsp + 40] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 7], 6 - vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 7], 7 - mov r14, qword ptr [rsp + 192] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r14 + 7], 8 - mov rcx, qword ptr [rsp + 184] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 7], 9 - mov rcx, qword ptr [rsp + 224] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 7], 10 - vpinsrb xmm2, xmm2, byte ptr [rdx + r10 + 7], 11 - vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 7], 12 + vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 7], 1 + mov r13, qword ptr [rsp + 264] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + r13 + 7], 2 + mov rdi, qword ptr [rsp + 200] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 7], 3 + vpinsrb xmm2, xmm2, byte ptr [rdx + r14 + 7], 4 + mov rdi, qword ptr [rsp + 184] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 7], 5 + vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 7], 6 mov rax, qword ptr [rsp + 208] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 7], 13 - mov r15, qword ptr [rsp + 48] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r15 + 7], 14 - mov rcx, qword ptr [rsp + 80] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 7], 15 + vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 7], 7 + mov rcx, qword ptr [rsp + 224] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 7], 8 + mov rcx, qword ptr [rsp + 232] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 7], 9 + mov rdi, qword ptr [rsp + 88] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 7], 10 + mov rdi, qword ptr [rsp + 216] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 7], 11 + vpinsrb xmm2, xmm2, byte ptr [rdx + r8 + 7], 12 + vpinsrb xmm2, xmm2, byte ptr [rdx + r9 + 7], 13 + mov rcx, qword ptr [rsp + 64] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 7], 14 + vpinsrb xmm2, xmm2, byte ptr [rdx + r10 + 7], 15 + mov r14, qword ptr [rsp + 192] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + r14 + 7], 1 mov rcx, qword ptr [rsp + 120] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 7], 1 - mov rdi, qword ptr [rsp + 64] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 7], 2 - mov rcx, qword ptr [rsp + 176] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 7], 2 + mov rcx, qword ptr [rsp + 56] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 7], 3 - mov rdi, qword ptr [rsp + 104] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 7], 4 + mov rcx, qword ptr [rsp + 168] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 7], 4 vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 7], 5 - vpinsrb xmm1, xmm1, byte ptr [rdx + rbx + 7], 6 - mov rsi, qword ptr [rsp + 144] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 7], 7 - mov rcx, qword ptr [rsp + 136] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 7], 8 - mov rdi, qword ptr [rsp + 152] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 7], 9 - mov rcx, qword ptr [rsp + 320] # 8-byte Reload + mov rcx, qword ptr [rsp + 152] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 7], 6 + mov rcx, qword ptr [rsp + 248] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 7], 7 + vpinsrb xmm1, xmm1, byte ptr [rdx + r11 + 7], 8 + vpinsrb xmm1, xmm1, byte ptr [rdx + rbx + 7], 9 + mov rcx, qword ptr [rsp + 40] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 7], 10 - vpinsrb xmm1, xmm1, byte ptr [rdx + r12 + 7], 11 - vpinsrb xmm1, xmm1, byte ptr [rdx + r9 + 7], 12 + vpinsrb xmm1, xmm1, byte ptr [rdx + r15 + 7], 11 + vpinsrb xmm1, xmm1, byte ptr [rdx + r12 + 7], 12 mov rcx, qword ptr [rsp + 32] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 7], 13 vinserti128 ymm0, ymm5, xmm0, 1 vmovdqa ymmword ptr [rsp + 1184], ymm0 # 32-byte Spill - mov rcx, qword ptr [rsp + 72] # 8-byte Reload + mov rcx, qword ptr [rsp + 288] # 8-byte Reload vpinsrb xmm0, xmm1, byte ptr [rdx + rcx + 7], 14 - mov rcx, qword ptr [rsp + 256] # 8-byte Reload + mov rcx, qword ptr [rsp + 240] # 8-byte Reload movzx esi, byte ptr [rdx + rcx + 11] vmovd xmm1, esi - mov r12, qword ptr [rsp + 56] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + r12 + 7], 15 + mov rcx, qword ptr [rsp + 320] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 7], 15 vinserti128 ymm0, ymm0, xmm2, 1 vmovdqa ymmword ptr [rsp + 1152], ymm0 # 32-byte Spill - mov rcx, qword ptr [rsp + 264] # 8-byte Reload + mov rcx, qword ptr [rsp + 256] # 8-byte Reload movzx esi, byte ptr [rdx + rcx + 11] vmovd xmm2, esi - mov rcx, qword ptr [rsp + 232] # 8-byte Reload + mov rcx, qword ptr [rsp + 104] # 8-byte Reload vpinsrb xmm0, xmm9, byte ptr [rdx + rcx + 8], 1 - mov r8, qword ptr [rsp + 168] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + r8 + 8], 2 - vpinsrb xmm0, xmm0, byte ptr [rdx + r13 + 8], 3 - mov r13, r11 - vpinsrb xmm0, xmm0, byte ptr [rdx + r11 + 8], 4 - mov r11, qword ptr [rsp + 248] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + r11 + 8], 5 - mov rcx, qword ptr [rsp + 40] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 8], 6 - mov rsi, qword ptr [rsp + 200] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 8], 7 - vpinsrb xmm0, xmm0, byte ptr [rdx + r14 + 8], 8 - mov r10, qword ptr [rsp + 184] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + r10 + 8], 9 - mov rbx, qword ptr [rsp + 224] # 8-byte Reload + mov r15, r13 + vpinsrb xmm0, xmm0, byte ptr [rdx + r13 + 8], 2 + mov rcx, qword ptr [rsp + 200] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 8], 3 + mov rsi, qword ptr [rsp + 112] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 8], 4 + mov r13, qword ptr [rsp + 184] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r13 + 8], 5 + mov rsi, qword ptr [rsp + 144] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 8], 6 + mov r8, rax + vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 8], 7 + mov rdi, qword ptr [rsp + 224] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rdi + 8], 8 + mov r12, qword ptr [rsp + 232] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r12 + 8], 9 + mov rbx, qword ptr [rsp + 88] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rbx + 8], 10 - mov rsi, qword ptr [rsp + 88] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 8], 11 - mov rsi, qword ptr [rsp + 128] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 8], 12 + mov r9, qword ptr [rsp + 216] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r9 + 8], 11 + mov r10, qword ptr [rsp + 80] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r10 + 8], 12 + mov rax, qword ptr [rsp + 72] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 8], 13 - vpinsrb xmm0, xmm0, byte ptr [rdx + r15 + 8], 14 - mov rax, qword ptr [rsp + 80] # 8-byte Reload + mov rax, qword ptr [rsp + 64] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 8], 14 + mov rax, qword ptr [rsp + 96] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 8], 15 + vpinsrb xmm5, xmm10, byte ptr [rdx + r14 + 8], 1 mov rax, qword ptr [rsp + 120] # 8-byte Reload - vpinsrb xmm5, xmm10, byte ptr [rdx + rax + 8], 1 - mov r9, qword ptr [rsp + 64] # 8-byte Reload - vpinsrb xmm5, xmm5, byte ptr [rdx + r9 + 8], 2 - mov r15, qword ptr [rsp + 176] # 8-byte Reload - vpinsrb xmm5, xmm5, byte ptr [rdx + r15 + 8], 3 - mov rsi, qword ptr [rsp + 104] # 8-byte Reload + vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 8], 2 + mov rax, qword ptr [rsp + 56] # 8-byte Reload + vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 8], 3 + mov rsi, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rsi + 8], 4 - mov rax, qword ptr [rsp + 96] # 8-byte Reload - vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 8], 5 - mov r14, qword ptr [rsp + 160] # 8-byte Reload - vpinsrb xmm5, xmm5, byte ptr [rdx + r14 + 8], 6 - mov rax, qword ptr [rsp + 144] # 8-byte Reload - vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 8], 7 mov rax, qword ptr [rsp + 136] # 8-byte Reload - vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 8], 8 - vpinsrb xmm5, xmm5, byte ptr [rdx + rdi + 8], 9 - mov rax, qword ptr [rsp + 320] # 8-byte Reload + vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 8], 5 + mov rax, qword ptr [rsp + 152] # 8-byte Reload + vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 8], 6 + mov r14, qword ptr [rsp + 248] # 8-byte Reload + vpinsrb xmm5, xmm5, byte ptr [rdx + r14 + 8], 7 + vpinsrb xmm5, xmm5, byte ptr [rdx + r11 + 8], 8 + mov rax, qword ptr [rsp + 176] # 8-byte Reload + vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 8], 9 + mov rax, qword ptr [rsp + 40] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 8], 10 - mov rax, qword ptr [rsp + 216] # 8-byte Reload + mov rax, qword ptr [rsp + 128] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 8], 11 - mov rdi, qword ptr [rsp + 288] # 8-byte Reload - vpinsrb xmm5, xmm5, byte ptr [rdx + rdi + 8], 12 - mov rdi, qword ptr [rsp + 32] # 8-byte Reload - vpinsrb xmm5, xmm5, byte ptr [rdx + rdi + 8], 13 - mov rdi, qword ptr [rsp + 72] # 8-byte Reload - vpinsrb xmm5, xmm5, byte ptr [rdx + rdi + 8], 14 - vpinsrb xmm5, xmm5, byte ptr [rdx + r12 + 8], 15 - mov r12, qword ptr [rsp + 232] # 8-byte Reload - vpinsrb xmm6, xmm8, byte ptr [rdx + r12 + 9], 1 - vpinsrb xmm6, xmm6, byte ptr [rdx + r8 + 9], 2 - mov rdi, qword ptr [rsp + 112] # 8-byte Reload - vpinsrb xmm6, xmm6, byte ptr [rdx + rdi + 9], 3 - vpinsrb xmm6, xmm6, byte ptr [rdx + r13 + 9], 4 - vpinsrb xmm6, xmm6, byte ptr [rdx + r11 + 9], 5 - vpinsrb xmm6, xmm6, byte ptr [rdx + rcx + 9], 6 - mov rcx, qword ptr [rsp + 200] # 8-byte Reload - vpinsrb xmm6, xmm6, byte ptr [rdx + rcx + 9], 7 - mov rcx, qword ptr [rsp + 192] # 8-byte Reload - vpinsrb xmm6, xmm6, byte ptr [rdx + rcx + 9], 8 - vpinsrb xmm6, xmm6, byte ptr [rdx + r10 + 9], 9 + mov rax, qword ptr [rsp + 48] # 8-byte Reload + vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 8], 12 + mov rax, qword ptr [rsp + 32] # 8-byte Reload + vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 8], 13 + mov rax, qword ptr [rsp + 288] # 8-byte Reload + vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 8], 14 + mov rax, qword ptr [rsp + 320] # 8-byte Reload + vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 8], 15 + mov rax, qword ptr [rsp + 104] # 8-byte Reload + vpinsrb xmm6, xmm8, byte ptr [rdx + rax + 9], 1 + vpinsrb xmm6, xmm6, byte ptr [rdx + r15 + 9], 2 + vpinsrb xmm6, xmm6, byte ptr [rdx + rcx + 9], 3 + mov rax, qword ptr [rsp + 112] # 8-byte Reload + vpinsrb xmm6, xmm6, byte ptr [rdx + rax + 9], 4 + vpinsrb xmm6, xmm6, byte ptr [rdx + r13 + 9], 5 + mov rax, qword ptr [rsp + 144] # 8-byte Reload + vpinsrb xmm6, xmm6, byte ptr [rdx + rax + 9], 6 + vpinsrb xmm6, xmm6, byte ptr [rdx + r8 + 9], 7 + vpinsrb xmm6, xmm6, byte ptr [rdx + rdi + 9], 8 + vpinsrb xmm6, xmm6, byte ptr [rdx + r12 + 9], 9 vpinsrb xmm6, xmm6, byte ptr [rdx + rbx + 9], 10 - mov rcx, qword ptr [rsp + 88] # 8-byte Reload - vpinsrb xmm6, xmm6, byte ptr [rdx + rcx + 9], 11 - mov r11, qword ptr [rsp + 128] # 8-byte Reload - vpinsrb xmm6, xmm6, byte ptr [rdx + r11 + 9], 12 - mov rcx, qword ptr [rsp + 208] # 8-byte Reload - vpinsrb xmm6, xmm6, byte ptr [rdx + rcx + 9], 13 - mov rcx, qword ptr [rsp + 48] # 8-byte Reload - vpinsrb xmm6, xmm6, byte ptr [rdx + rcx + 9], 14 - mov r12, qword ptr [rsp + 80] # 8-byte Reload - vpinsrb xmm6, xmm6, byte ptr [rdx + r12 + 9], 15 - mov rcx, qword ptr [rsp + 120] # 8-byte Reload - vpinsrb xmm7, xmm11, byte ptr [rdx + rcx + 9], 1 - vpinsrb xmm7, xmm7, byte ptr [rdx + r9 + 9], 2 - vpinsrb xmm7, xmm7, byte ptr [rdx + r15 + 9], 3 - vpinsrb xmm7, xmm7, byte ptr [rdx + rsi + 9], 4 - mov r13, qword ptr [rsp + 96] # 8-byte Reload - vpinsrb xmm7, xmm7, byte ptr [rdx + r13 + 9], 5 - vpinsrb xmm7, xmm7, byte ptr [rdx + r14 + 9], 6 - mov rbx, qword ptr [rsp + 144] # 8-byte Reload - vpinsrb xmm7, xmm7, byte ptr [rdx + rbx + 9], 7 - mov r15, qword ptr [rsp + 136] # 8-byte Reload - vpinsrb xmm7, xmm7, byte ptr [rdx + r15 + 9], 8 - mov rcx, qword ptr [rsp + 152] # 8-byte Reload - vpinsrb xmm7, xmm7, byte ptr [rdx + rcx + 9], 9 - mov rcx, qword ptr [rsp + 320] # 8-byte Reload - vpinsrb xmm7, xmm7, byte ptr [rdx + rcx + 9], 10 + vpinsrb xmm6, xmm6, byte ptr [rdx + r9 + 9], 11 + vpinsrb xmm6, xmm6, byte ptr [rdx + r10 + 9], 12 + mov r10, qword ptr [rsp + 72] # 8-byte Reload + vpinsrb xmm6, xmm6, byte ptr [rdx + r10 + 9], 13 + mov rax, qword ptr [rsp + 64] # 8-byte Reload + vpinsrb xmm6, xmm6, byte ptr [rdx + rax + 9], 14 + mov rax, qword ptr [rsp + 96] # 8-byte Reload + vpinsrb xmm6, xmm6, byte ptr [rdx + rax + 9], 15 + mov rax, qword ptr [rsp + 192] # 8-byte Reload + vpinsrb xmm7, xmm11, byte ptr [rdx + rax + 9], 1 + mov r13, qword ptr [rsp + 120] # 8-byte Reload + vpinsrb xmm7, xmm7, byte ptr [rdx + r13 + 9], 2 + mov rax, qword ptr [rsp + 56] # 8-byte Reload + vpinsrb xmm7, xmm7, byte ptr [rdx + rax + 9], 3 + vpinsrb xmm7, xmm7, byte ptr [rdx + rsi + 9], 4 + mov rbx, qword ptr [rsp + 136] # 8-byte Reload + vpinsrb xmm7, xmm7, byte ptr [rdx + rbx + 9], 5 + mov rax, qword ptr [rsp + 152] # 8-byte Reload + vpinsrb xmm7, xmm7, byte ptr [rdx + rax + 9], 6 + vpinsrb xmm7, xmm7, byte ptr [rdx + r14 + 9], 7 + vpinsrb xmm7, xmm7, byte ptr [rdx + r11 + 9], 8 + mov r14, r11 + mov rax, qword ptr [rsp + 176] # 8-byte Reload + vpinsrb xmm7, xmm7, byte ptr [rdx + rax + 9], 9 + mov rax, qword ptr [rsp + 40] # 8-byte Reload + vpinsrb xmm7, xmm7, byte ptr [rdx + rax + 9], 10 + mov rax, qword ptr [rsp + 128] # 8-byte Reload vpinsrb xmm7, xmm7, byte ptr [rdx + rax + 9], 11 - mov rax, qword ptr [rsp + 288] # 8-byte Reload + mov rax, qword ptr [rsp + 48] # 8-byte Reload vpinsrb xmm7, xmm7, byte ptr [rdx + rax + 9], 12 mov rax, qword ptr [rsp + 32] # 8-byte Reload vpinsrb xmm7, xmm7, byte ptr [rdx + rax + 9], 13 - mov rax, qword ptr [rsp + 72] # 8-byte Reload + mov rax, qword ptr [rsp + 288] # 8-byte Reload vpinsrb xmm7, xmm7, byte ptr [rdx + rax + 9], 14 vinserti128 ymm0, ymm5, xmm0, 1 vmovdqa ymmword ptr [rsp + 1120], ymm0 # 32-byte Spill - mov rax, qword ptr [rsp + 56] # 8-byte Reload + mov rax, qword ptr [rsp + 320] # 8-byte Reload vpinsrb xmm5, xmm7, byte ptr [rdx + rax + 9], 15 - mov rax, qword ptr [rsp + 256] # 8-byte Reload + mov rax, qword ptr [rsp + 240] # 8-byte Reload movzx esi, byte ptr [rdx + rax + 12] vmovd xmm0, esi vinserti128 ymm5, ymm5, xmm6, 1 vmovdqa ymmword ptr [rsp + 1088], ymm5 # 32-byte Spill - mov rax, qword ptr [rsp + 264] # 8-byte Reload + mov rax, qword ptr [rsp + 256] # 8-byte Reload movzx esi, byte ptr [rdx + rax + 12] vmovd xmm5, esi - mov rdi, qword ptr [rsp + 232] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 10], 1 - vpinsrb xmm3, xmm3, byte ptr [rdx + r8 + 10], 2 - mov rcx, qword ptr [rsp + 112] # 8-byte Reload + mov rax, qword ptr [rsp + 104] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 10], 1 + vpinsrb xmm3, xmm3, byte ptr [rdx + r15 + 10], 2 vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 10], 3 - mov rax, qword ptr [rsp + 240] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 10], 4 - mov rax, qword ptr [rsp + 248] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 10], 5 - mov rax, qword ptr [rsp + 40] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 10], 6 - mov r9, qword ptr [rsp + 200] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + r9 + 10], 7 - mov r14, qword ptr [rsp + 192] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + r14 + 10], 8 - vpinsrb xmm3, xmm3, byte ptr [rdx + r10 + 10], 9 - mov rax, qword ptr [rsp + 224] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 10], 10 - mov rax, qword ptr [rsp + 88] # 8-byte Reload + mov rdi, qword ptr [rsp + 112] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 10], 4 + mov r8, qword ptr [rsp + 184] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + r8 + 10], 5 + mov rsi, qword ptr [rsp + 144] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 10], 6 + mov rsi, qword ptr [rsp + 208] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 10], 7 + mov r9, qword ptr [rsp + 224] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + r9 + 10], 8 + vpinsrb xmm3, xmm3, byte ptr [rdx + r12 + 10], 9 + mov rsi, qword ptr [rsp + 88] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 10], 10 + mov rax, qword ptr [rsp + 216] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 10], 11 - vpinsrb xmm3, xmm3, byte ptr [rdx + r11 + 10], 12 - mov r10, qword ptr [rsp + 208] # 8-byte Reload + mov rax, qword ptr [rsp + 80] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 10], 12 vpinsrb xmm3, xmm3, byte ptr [rdx + r10 + 10], 13 - mov r11, qword ptr [rsp + 48] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + r11 + 10], 14 - vpinsrb xmm3, xmm3, byte ptr [rdx + r12 + 10], 15 - mov rax, qword ptr [rsp + 120] # 8-byte Reload - vpinsrb xmm4, xmm4, byte ptr [rdx + rax + 10], 1 mov rax, qword ptr [rsp + 64] # 8-byte Reload - vpinsrb xmm4, xmm4, byte ptr [rdx + rax + 10], 2 - mov rsi, qword ptr [rsp + 176] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 10], 14 + mov rsi, qword ptr [rsp + 96] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 10], 15 + mov rax, qword ptr [rsp + 192] # 8-byte Reload + vpinsrb xmm4, xmm4, byte ptr [rdx + rax + 10], 1 + vpinsrb xmm4, xmm4, byte ptr [rdx + r13 + 10], 2 + mov rsi, qword ptr [rsp + 56] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + rsi + 10], 3 - mov r12, qword ptr [rsp + 104] # 8-byte Reload - vpinsrb xmm4, xmm4, byte ptr [rdx + r12 + 10], 4 - vpinsrb xmm4, xmm4, byte ptr [rdx + r13 + 10], 5 - mov rax, qword ptr [rsp + 160] # 8-byte Reload - vpinsrb xmm4, xmm4, byte ptr [rdx + rax + 10], 6 + mov r11, qword ptr [rsp + 168] # 8-byte Reload + vpinsrb xmm4, xmm4, byte ptr [rdx + r11 + 10], 4 + vpinsrb xmm4, xmm4, byte ptr [rdx + rbx + 10], 5 + mov r10, qword ptr [rsp + 152] # 8-byte Reload + vpinsrb xmm4, xmm4, byte ptr [rdx + r10 + 10], 6 + mov rbx, qword ptr [rsp + 248] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + rbx + 10], 7 - vpinsrb xmm4, xmm4, byte ptr [rdx + r15 + 10], 8 - mov rax, qword ptr [rsp + 152] # 8-byte Reload - vpinsrb xmm4, xmm4, byte ptr [rdx + rax + 10], 9 - mov rbx, qword ptr [rsp + 320] # 8-byte Reload - vpinsrb xmm4, xmm4, byte ptr [rdx + rbx + 10], 10 - mov r15, qword ptr [rsp + 216] # 8-byte Reload - vpinsrb xmm4, xmm4, byte ptr [rdx + r15 + 10], 11 + vpinsrb xmm4, xmm4, byte ptr [rdx + r14 + 10], 8 + mov r13, qword ptr [rsp + 176] # 8-byte Reload + vpinsrb xmm4, xmm4, byte ptr [rdx + r13 + 10], 9 + mov r14, qword ptr [rsp + 40] # 8-byte Reload + vpinsrb xmm4, xmm4, byte ptr [rdx + r14 + 10], 10 + mov rbx, qword ptr [rsp + 128] # 8-byte Reload + vpinsrb xmm4, xmm4, byte ptr [rdx + rbx + 10], 11 + mov rax, qword ptr [rsp + 48] # 8-byte Reload + vpinsrb xmm4, xmm4, byte ptr [rdx + rax + 10], 12 + mov r12, qword ptr [rsp + 32] # 8-byte Reload + vpinsrb xmm4, xmm4, byte ptr [rdx + r12 + 10], 13 mov rbx, qword ptr [rsp + 288] # 8-byte Reload - vpinsrb xmm4, xmm4, byte ptr [rdx + rbx + 10], 12 - mov rbx, qword ptr [rsp + 32] # 8-byte Reload - vpinsrb xmm4, xmm4, byte ptr [rdx + rbx + 10], 13 - mov r13, qword ptr [rsp + 72] # 8-byte Reload - vpinsrb xmm4, xmm4, byte ptr [rdx + r13 + 10], 14 - mov rbx, qword ptr [rsp + 56] # 8-byte Reload + vpinsrb xmm4, xmm4, byte ptr [rdx + rbx + 10], 14 + mov rbx, qword ptr [rsp + 320] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + rbx + 10], 15 - vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 11], 1 - vpinsrb xmm1, xmm1, byte ptr [rdx + r8 + 11], 2 + mov rax, qword ptr [rsp + 104] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 11], 1 + vpinsrb xmm1, xmm1, byte ptr [rdx + r15 + 11], 2 vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 11], 3 - mov rcx, qword ptr [rsp + 240] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 11], 4 - mov rdi, qword ptr [rsp + 248] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 11], 5 - mov rdi, qword ptr [rsp + 40] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 11], 6 - vpinsrb xmm1, xmm1, byte ptr [rdx + r9 + 11], 7 - vpinsrb xmm1, xmm1, byte ptr [rdx + r14 + 11], 8 - mov rdi, qword ptr [rsp + 184] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 11], 9 - mov r14, qword ptr [rsp + 224] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + r14 + 11], 10 - mov r9, qword ptr [rsp + 88] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + r9 + 11], 11 - mov rdi, qword ptr [rsp + 128] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 11], 12 - vpinsrb xmm1, xmm1, byte ptr [rdx + r10 + 11], 13 - vpinsrb xmm1, xmm1, byte ptr [rdx + r11 + 11], 14 - mov r11, qword ptr [rsp + 80] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + r11 + 11], 15 + vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 11], 4 + vpinsrb xmm1, xmm1, byte ptr [rdx + r8 + 11], 5 + mov rcx, qword ptr [rsp + 144] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 11], 6 + mov rax, qword ptr [rsp + 208] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 11], 7 + vpinsrb xmm1, xmm1, byte ptr [rdx + r9 + 11], 8 + mov rax, qword ptr [rsp + 232] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 11], 9 + mov rax, qword ptr [rsp + 88] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 11], 10 + mov rax, qword ptr [rsp + 216] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 11], 11 + mov rax, qword ptr [rsp + 80] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 11], 12 + mov rax, qword ptr [rsp + 72] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 11], 13 + mov r8, qword ptr [rsp + 64] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + r8 + 11], 14 + mov rax, qword ptr [rsp + 96] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 11], 15 + mov rax, qword ptr [rsp + 192] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 11], 1 mov rdi, qword ptr [rsp + 120] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 11], 1 - mov rbx, qword ptr [rsp + 64] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rbx + 11], 2 + vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 11], 2 vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 11], 3 - vpinsrb xmm2, xmm2, byte ptr [rdx + r12 + 11], 4 - mov rsi, qword ptr [rsp + 96] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + r11 + 11], 4 + mov rsi, qword ptr [rsp + 136] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 11], 5 - mov rbx, qword ptr [rsp + 160] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rbx + 11], 6 - mov r8, qword ptr [rsp + 144] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r8 + 11], 7 - mov r12, qword ptr [rsp + 136] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r12 + 11], 8 - vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 11], 9 - mov rax, qword ptr [rsp + 320] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 11], 10 - vpinsrb xmm2, xmm2, byte ptr [rdx + r15 + 11], 11 - mov rax, qword ptr [rsp + 288] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 11], 12 - mov rax, qword ptr [rsp + 32] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 11], 13 + vpinsrb xmm2, xmm2, byte ptr [rdx + r10 + 11], 6 + mov r15, qword ptr [rsp + 248] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + r15 + 11], 7 + mov rsi, qword ptr [rsp + 160] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 11], 8 + vpinsrb xmm2, xmm2, byte ptr [rdx + r13 + 11], 9 + vpinsrb xmm2, xmm2, byte ptr [rdx + r14 + 11], 10 + mov rsi, qword ptr [rsp + 128] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 11], 11 + mov rsi, qword ptr [rsp + 48] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 11], 12 + vpinsrb xmm2, xmm2, byte ptr [rdx + r12 + 11], 13 vinserti128 ymm3, ymm4, xmm3, 1 vmovdqa ymmword ptr [rsp + 1056], ymm3 # 32-byte Spill + mov r13, qword ptr [rsp + 288] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + r13 + 11], 14 - mov rax, qword ptr [rsp + 256] # 8-byte Reload - movzx esi, byte ptr [rdx + rax + 13] + mov rsi, qword ptr [rsp + 240] # 8-byte Reload + movzx esi, byte ptr [rdx + rsi + 13] vmovd xmm3, esi - mov rax, qword ptr [rsp + 56] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 11], 15 + vpinsrb xmm2, xmm2, byte ptr [rdx + rbx + 11], 15 vinserti128 ymm1, ymm2, xmm1, 1 vmovdqa ymmword ptr [rsp + 1024], ymm1 # 32-byte Spill - mov rax, qword ptr [rsp + 264] # 8-byte Reload - movzx esi, byte ptr [rdx + rax + 13] + mov rsi, qword ptr [rsp + 256] # 8-byte Reload + movzx esi, byte ptr [rdx + rsi + 13] vmovd xmm1, esi - mov rax, qword ptr [rsp + 232] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 12], 1 - mov rax, qword ptr [rsp + 168] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 12], 2 - mov rax, qword ptr [rsp + 112] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 12], 3 - vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 12], 4 - mov r10, qword ptr [rsp + 248] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + r10 + 12], 5 - mov rax, qword ptr [rsp + 40] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 12], 6 - mov rax, qword ptr [rsp + 200] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 12], 7 - mov rax, qword ptr [rsp + 192] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 12], 8 - mov rax, qword ptr [rsp + 184] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 12], 9 + mov rsi, qword ptr [rsp + 104] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 12], 1 + mov r12, qword ptr [rsp + 264] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r12 + 12], 2 + mov rdi, qword ptr [rsp + 200] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rdi + 12], 3 + mov rsi, qword ptr [rsp + 112] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 12], 4 + mov rsi, qword ptr [rsp + 184] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 12], 5 + vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 12], 6 + mov rcx, qword ptr [rsp + 208] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 12], 7 + mov rsi, qword ptr [rsp + 224] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 12], 8 + mov r9, qword ptr [rsp + 232] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r9 + 12], 9 + mov r14, qword ptr [rsp + 88] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + r14 + 12], 10 - vpinsrb xmm0, xmm0, byte ptr [rdx + r9 + 12], 11 - mov rcx, qword ptr [rsp + 128] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 12], 12 - mov rax, qword ptr [rsp + 208] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 12], 13 - mov r13, qword ptr [rsp + 48] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + r13 + 12], 14 - vpinsrb xmm0, xmm0, byte ptr [rdx + r11 + 12], 15 - vpinsrb xmm2, xmm5, byte ptr [rdx + rdi + 12], 1 - mov rsi, qword ptr [rsp + 64] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 12], 2 - mov r14, qword ptr [rsp + 176] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r14 + 12], 3 - mov rdi, qword ptr [rsp + 104] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 12], 4 - mov r15, qword ptr [rsp + 96] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r15 + 12], 5 - vpinsrb xmm2, xmm2, byte ptr [rdx + rbx + 12], 6 - vpinsrb xmm2, xmm2, byte ptr [rdx + r8 + 12], 7 - mov rax, r12 - vpinsrb xmm2, xmm2, byte ptr [rdx + r12 + 12], 8 - mov r11, qword ptr [rsp + 152] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r11 + 12], 9 - mov rbx, qword ptr [rsp + 320] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rbx + 12], 10 mov rbx, qword ptr [rsp + 216] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rbx + 12], 11 - mov rbx, qword ptr [rsp + 288] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rbx + 12], 12 - mov r9, qword ptr [rsp + 32] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r9 + 12], 13 - mov r8, qword ptr [rsp + 72] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r8 + 12], 14 - mov r12, qword ptr [rsp + 56] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r12 + 12], 15 - mov rbx, qword ptr [rsp + 232] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 13], 1 - mov rbx, qword ptr [rsp + 168] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 13], 2 - mov rbx, qword ptr [rsp + 112] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 13], 3 - mov rbx, qword ptr [rsp + 240] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 13], 4 - vpinsrb xmm3, xmm3, byte ptr [rdx + r10 + 13], 5 - mov rbx, qword ptr [rsp + 40] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 13], 6 - mov rbx, qword ptr [rsp + 200] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 13], 7 - mov rbx, qword ptr [rsp + 192] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 13], 8 - mov r12, qword ptr [rsp + 184] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + r12 + 13], 9 - mov rbx, qword ptr [rsp + 224] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 13], 10 - mov rbx, qword ptr [rsp + 88] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rbx + 12], 11 + mov rsi, qword ptr [rsp + 80] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 12], 12 + mov rsi, qword ptr [rsp + 72] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 12], 13 + vpinsrb xmm0, xmm0, byte ptr [rdx + r8 + 12], 14 + mov rsi, qword ptr [rsp + 96] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 12], 15 + vpinsrb xmm2, xmm5, byte ptr [rdx + rax + 12], 1 + mov rsi, qword ptr [rsp + 120] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 12], 2 + mov rax, qword ptr [rsp + 56] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 12], 3 + mov rax, qword ptr [rsp + 168] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 12], 4 + mov r10, qword ptr [rsp + 136] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + r10 + 12], 5 + mov rax, qword ptr [rsp + 152] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 12], 6 + vpinsrb xmm2, xmm2, byte ptr [rdx + r15 + 12], 7 + mov rax, qword ptr [rsp + 160] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 12], 8 + mov r8, qword ptr [rsp + 176] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + r8 + 12], 9 + mov r11, qword ptr [rsp + 40] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + r11 + 12], 10 + mov rax, qword ptr [rsp + 128] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 12], 11 + mov rax, qword ptr [rsp + 48] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 12], 12 + mov r15, qword ptr [rsp + 32] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + r15 + 12], 13 + vpinsrb xmm2, xmm2, byte ptr [rdx + r13 + 12], 14 + mov rax, qword ptr [rsp + 320] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 12], 15 + mov r13, qword ptr [rsp + 104] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + r13 + 13], 1 + vpinsrb xmm3, xmm3, byte ptr [rdx + r12 + 13], 2 + vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 13], 3 + mov rax, qword ptr [rsp + 112] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 13], 4 + mov rdi, qword ptr [rsp + 184] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 13], 5 + mov r12, qword ptr [rsp + 144] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + r12 + 13], 6 + vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 13], 7 + mov r13, qword ptr [rsp + 224] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + r13 + 13], 8 + vpinsrb xmm3, xmm3, byte ptr [rdx + r9 + 13], 9 + vpinsrb xmm3, xmm3, byte ptr [rdx + r14 + 13], 10 vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 13], 11 + mov rcx, qword ptr [rsp + 80] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 13], 12 - mov r10, qword ptr [rsp + 208] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + r10 + 13], 13 - vpinsrb xmm3, xmm3, byte ptr [rdx + r13 + 13], 14 - mov rbx, qword ptr [rsp + 80] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 13], 15 - mov rcx, qword ptr [rsp + 120] # 8-byte Reload + mov rbx, qword ptr [rsp + 72] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 13], 13 + mov rax, qword ptr [rsp + 64] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 13], 14 + mov rcx, qword ptr [rsp + 96] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 13], 15 + mov rcx, qword ptr [rsp + 192] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 13], 1 vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 13], 2 - vpinsrb xmm1, xmm1, byte ptr [rdx + r14 + 13], 3 - vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 13], 4 - vpinsrb xmm1, xmm1, byte ptr [rdx + r15 + 13], 5 - mov r14, qword ptr [rsp + 160] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + r14 + 13], 6 - mov rcx, qword ptr [rsp + 144] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 13], 7 - vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 13], 8 - vpinsrb xmm1, xmm1, byte ptr [rdx + r11 + 13], 9 - mov rax, qword ptr [rsp + 320] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 13], 10 - mov rax, qword ptr [rsp + 216] # 8-byte Reload + mov rdi, qword ptr [rsp + 56] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 13], 3 + mov rcx, qword ptr [rsp + 168] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 13], 4 + vpinsrb xmm1, xmm1, byte ptr [rdx + r10 + 13], 5 + mov rcx, qword ptr [rsp + 152] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 13], 6 + mov rsi, qword ptr [rsp + 248] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 13], 7 + mov rsi, qword ptr [rsp + 160] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 13], 8 + vpinsrb xmm1, xmm1, byte ptr [rdx + r8 + 13], 9 + vpinsrb xmm1, xmm1, byte ptr [rdx + r11 + 13], 10 + mov rax, qword ptr [rsp + 128] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 13], 11 - mov rax, qword ptr [rsp + 288] # 8-byte Reload + mov rax, qword ptr [rsp + 48] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 13], 12 - vpinsrb xmm1, xmm1, byte ptr [rdx + r9 + 13], 13 - vpinsrb xmm1, xmm1, byte ptr [rdx + r8 + 13], 14 + vpinsrb xmm1, xmm1, byte ptr [rdx + r15 + 13], 13 + mov r14, qword ptr [rsp + 288] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + r14 + 13], 14 vinserti128 ymm0, ymm2, xmm0, 1 vmovdqa ymmword ptr [rsp + 992], ymm0 # 32-byte Spill - mov rax, qword ptr [rsp + 56] # 8-byte Reload + mov rax, qword ptr [rsp + 320] # 8-byte Reload vpinsrb xmm0, xmm1, byte ptr [rdx + rax + 13], 15 - mov r13, qword ptr [rsp + 256] # 8-byte Reload - movzx esi, byte ptr [rdx + r13 + 14] + mov rax, qword ptr [rsp + 240] # 8-byte Reload + movzx esi, byte ptr [rdx + rax + 14] vmovd xmm1, esi vinserti128 ymm0, ymm0, xmm3, 1 vmovdqa ymmword ptr [rsp + 960], ymm0 # 32-byte Spill - mov rax, qword ptr [rsp + 264] # 8-byte Reload + mov rax, qword ptr [rsp + 256] # 8-byte Reload movzx esi, byte ptr [rdx + rax + 14] vmovd xmm0, esi - mov rax, qword ptr [rsp + 232] # 8-byte Reload + mov rax, qword ptr [rsp + 104] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 14], 1 - mov rcx, qword ptr [rsp + 168] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 14], 2 - mov r8, qword ptr [rsp + 112] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + r8 + 14], 3 - mov r9, qword ptr [rsp + 240] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + r9 + 14], 4 - mov rdi, qword ptr [rsp + 248] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 14], 5 - mov r15, qword ptr [rsp + 40] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + r15 + 14], 6 - mov rcx, qword ptr [rsp + 200] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 14], 7 - mov rcx, qword ptr [rsp + 192] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 14], 8 - vpinsrb xmm1, xmm1, byte ptr [rdx + r12 + 14], 9 - mov rcx, qword ptr [rsp + 224] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 14], 10 - mov rcx, qword ptr [rsp + 88] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 14], 11 - mov rsi, qword ptr [rsp + 128] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 14], 12 - vpinsrb xmm1, xmm1, byte ptr [rdx + r10 + 14], 13 + mov r10, qword ptr [rsp + 264] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + r10 + 14], 2 + mov rax, qword ptr [rsp + 200] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 14], 3 + mov rax, qword ptr [rsp + 112] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 14], 4 + mov r15, qword ptr [rsp + 184] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + r15 + 14], 5 + vpinsrb xmm1, xmm1, byte ptr [rdx + r12 + 14], 6 + mov rax, qword ptr [rsp + 208] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 14], 7 + vpinsrb xmm1, xmm1, byte ptr [rdx + r13 + 14], 8 + mov r13, qword ptr [rsp + 232] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + r13 + 14], 9 + mov rax, qword ptr [rsp + 88] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 14], 10 + mov rax, qword ptr [rsp + 216] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 14], 11 + mov rax, qword ptr [rsp + 80] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 14], 12 + vpinsrb xmm1, xmm1, byte ptr [rdx + rbx + 14], 13 + mov rax, qword ptr [rsp + 64] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 14], 14 + mov rax, qword ptr [rsp + 96] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 14], 15 + mov rax, qword ptr [rsp + 192] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 14], 1 + mov r11, qword ptr [rsp + 120] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r11 + 14], 2 + vpinsrb xmm0, xmm0, byte ptr [rdx + rdi + 14], 3 + mov rax, qword ptr [rsp + 168] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 14], 4 + mov r9, qword ptr [rsp + 136] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r9 + 14], 5 + vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 14], 6 + mov rax, qword ptr [rsp + 248] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 14], 7 + mov rbx, qword ptr [rsp + 160] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rbx + 14], 8 + mov rcx, qword ptr [rsp + 176] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 14], 9 + mov rcx, qword ptr [rsp + 40] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 14], 10 + mov rcx, qword ptr [rsp + 128] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 14], 11 mov rsi, qword ptr [rsp + 48] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 14], 14 - vpinsrb xmm1, xmm1, byte ptr [rdx + rbx + 14], 15 - mov rbx, qword ptr [rsp + 120] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rbx + 14], 1 - mov rsi, qword ptr [rsp + 64] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 14], 2 - mov rsi, qword ptr [rsp + 176] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 14], 3 - mov rsi, qword ptr [rsp + 104] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 14], 4 - mov rsi, qword ptr [rsp + 96] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 14], 5 - vpinsrb xmm0, xmm0, byte ptr [rdx + r14 + 14], 6 - mov r10, qword ptr [rsp + 144] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + r10 + 14], 7 - mov rsi, qword ptr [rsp + 136] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 14], 8 - mov r12, qword ptr [rsp + 152] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + r12 + 14], 9 - mov r14, qword ptr [rsp + 320] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + r14 + 14], 10 - mov rsi, qword ptr [rsp + 216] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 14], 11 - mov rsi, qword ptr [rsp + 288] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 14], 12 - mov r11, qword ptr [rsp + 32] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + r11 + 14], 13 - mov rsi, qword ptr [rsp + 72] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 14], 14 - mov rsi, qword ptr [rsp + 56] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 14], 15 - movzx esi, byte ptr [rdx + r13 + 15] + mov r8, qword ptr [rsp + 32] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r8 + 14], 13 + vpinsrb xmm0, xmm0, byte ptr [rdx + r14 + 14], 14 + mov rdi, qword ptr [rsp + 320] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rdi + 14], 15 + mov r14, qword ptr [rsp + 240] # 8-byte Reload + movzx esi, byte ptr [rdx + r14 + 15] vmovd xmm2, esi - vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 15], 1 - mov rax, qword ptr [rsp + 168] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 15], 2 - vpinsrb xmm2, xmm2, byte ptr [rdx + r8 + 15], 3 - vpinsrb xmm2, xmm2, byte ptr [rdx + r9 + 15], 4 - vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 15], 5 - vpinsrb xmm2, xmm2, byte ptr [rdx + r15 + 15], 6 - mov r13, qword ptr [rsp + 200] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r13 + 15], 7 - mov r8, qword ptr [rsp + 192] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r8 + 15], 8 - mov rax, qword ptr [rsp + 184] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 15], 9 - mov rdi, qword ptr [rsp + 224] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 15], 10 - vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 15], 11 - mov rax, qword ptr [rsp + 128] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 15], 12 - mov rax, qword ptr [rsp + 208] # 8-byte Reload + mov rsi, qword ptr [rsp + 104] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 15], 1 + vpinsrb xmm2, xmm2, byte ptr [rdx + r10 + 15], 2 + mov rsi, qword ptr [rsp + 200] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 15], 3 + mov r10, qword ptr [rsp + 112] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + r10 + 15], 4 + vpinsrb xmm2, xmm2, byte ptr [rdx + r15 + 15], 5 + vpinsrb xmm2, xmm2, byte ptr [rdx + r12 + 15], 6 + mov r15, qword ptr [rsp + 208] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + r15 + 15], 7 + mov rsi, qword ptr [rsp + 224] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 15], 8 + vpinsrb xmm2, xmm2, byte ptr [rdx + r13 + 15], 9 + mov r12, qword ptr [rsp + 88] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + r12 + 15], 10 + mov rax, qword ptr [rsp + 216] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 15], 11 + mov rsi, qword ptr [rsp + 80] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 15], 12 + mov rax, qword ptr [rsp + 72] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 15], 13 - mov rcx, qword ptr [rsp + 48] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 15], 14 - mov rax, qword ptr [rsp + 80] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 15], 15 - mov rax, qword ptr [rsp + 264] # 8-byte Reload + mov rsi, qword ptr [rsp + 64] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 15], 14 + mov rsi, qword ptr [rsp + 96] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 15], 15 + mov rax, qword ptr [rsp + 256] # 8-byte Reload movzx esi, byte ptr [rdx + rax + 15] vmovd xmm3, esi - vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 15], 1 - mov rax, qword ptr [rsp + 64] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 15], 2 + mov rsi, qword ptr [rsp + 192] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 15], 1 + vpinsrb xmm3, xmm3, byte ptr [rdx + r11 + 15], 2 + mov rsi, qword ptr [rsp + 56] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 15], 3 + mov rsi, qword ptr [rsp + 168] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 15], 4 + vpinsrb xmm3, xmm3, byte ptr [rdx + r9 + 15], 5 + mov rsi, qword ptr [rsp + 152] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 15], 6 + mov rsi, qword ptr [rsp + 248] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 15], 7 + vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 15], 8 mov rax, qword ptr [rsp + 176] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 15], 3 - mov rax, qword ptr [rsp + 104] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 15], 4 - mov r15, qword ptr [rsp + 96] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + r15 + 15], 5 - mov rax, qword ptr [rsp + 160] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 15], 6 - vpinsrb xmm3, xmm3, byte ptr [rdx + r10 + 15], 7 - mov r10, qword ptr [rsp + 136] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + r10 + 15], 8 - vpinsrb xmm3, xmm3, byte ptr [rdx + r12 + 15], 9 - vpinsrb xmm3, xmm3, byte ptr [rdx + r14 + 15], 10 - mov r14, qword ptr [rsp + 216] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + r14 + 15], 11 - mov rax, qword ptr [rsp + 288] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 15], 9 + mov rax, qword ptr [rsp + 40] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 15], 10 + vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 15], 11 + mov rax, qword ptr [rsp + 48] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 15], 12 - vpinsrb xmm3, xmm3, byte ptr [rdx + r11 + 15], 13 - mov r11, qword ptr [rsp + 72] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + r11 + 15], 14 - mov r12, qword ptr [rsp + 56] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + r12 + 15], 15 + vpinsrb xmm3, xmm3, byte ptr [rdx + r8 + 15], 13 + mov rax, qword ptr [rsp + 288] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 15], 14 + vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 15], 15 vinserti128 ymm0, ymm0, xmm1, 1 vmovdqa ymmword ptr [rsp + 896], ymm0 # 32-byte Spill vinserti128 ymm0, ymm3, xmm2, 1 vmovdqa ymmword ptr [rsp + 928], ymm0 # 32-byte Spill - mov rsi, qword ptr [rsp + 256] # 8-byte Reload - movzx esi, byte ptr [rdx + rsi + 16] + movzx esi, byte ptr [rdx + r14 + 16] vmovd xmm0, esi - mov r9, qword ptr [rsp + 232] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + r9 + 16], 1 - mov rsi, qword ptr [rsp + 168] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 16], 2 - mov rsi, qword ptr [rsp + 112] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 16], 3 - mov rsi, qword ptr [rsp + 240] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 16], 4 - mov rsi, qword ptr [rsp + 248] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 16], 5 - mov rsi, qword ptr [rsp + 40] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 16], 6 - vpinsrb xmm0, xmm0, byte ptr [rdx + r13 + 16], 7 - vpinsrb xmm0, xmm0, byte ptr [rdx + r8 + 16], 8 - mov rsi, qword ptr [rsp + 184] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 16], 9 - vpinsrb xmm0, xmm0, byte ptr [rdx + rdi + 16], 10 - mov rsi, qword ptr [rsp + 88] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 16], 11 - mov rsi, qword ptr [rsp + 128] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 16], 12 - mov rsi, qword ptr [rsp + 208] # 8-byte Reload + mov rcx, qword ptr [rsp + 104] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 16], 1 + mov rax, qword ptr [rsp + 264] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 16], 2 + mov rax, qword ptr [rsp + 200] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 16], 3 + vpinsrb xmm0, xmm0, byte ptr [rdx + r10 + 16], 4 + mov rax, qword ptr [rsp + 184] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 16], 5 + mov rax, qword ptr [rsp + 144] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 16], 6 + vpinsrb xmm0, xmm0, byte ptr [rdx + r15 + 16], 7 + mov r11, qword ptr [rsp + 224] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r11 + 16], 8 + vpinsrb xmm0, xmm0, byte ptr [rdx + r13 + 16], 9 + vpinsrb xmm0, xmm0, byte ptr [rdx + r12 + 16], 10 + mov rax, qword ptr [rsp + 216] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 16], 11 + mov rax, qword ptr [rsp + 80] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 16], 12 + mov rsi, qword ptr [rsp + 72] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 16], 13 - vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 16], 14 - mov rcx, qword ptr [rsp + 80] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 16], 15 - mov rbx, qword ptr [rsp + 264] # 8-byte Reload + mov r14, qword ptr [rsp + 64] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r14 + 16], 14 + mov r8, qword ptr [rsp + 96] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r8 + 16], 15 + mov rbx, qword ptr [rsp + 256] # 8-byte Reload movzx esi, byte ptr [rdx + rbx + 16] vmovd xmm1, esi - mov r8, qword ptr [rsp + 120] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + r8 + 16], 1 - mov rsi, qword ptr [rsp + 64] # 8-byte Reload + mov r10, qword ptr [rsp + 192] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + r10 + 16], 1 + mov rsi, qword ptr [rsp + 120] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 16], 2 - mov rsi, qword ptr [rsp + 176] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 16], 3 - mov rsi, qword ptr [rsp + 104] # 8-byte Reload + mov rdi, qword ptr [rsp + 56] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 16], 3 + mov rsi, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 16], 4 + mov r15, qword ptr [rsp + 136] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + r15 + 16], 5 - mov rsi, qword ptr [rsp + 160] # 8-byte Reload + mov rsi, qword ptr [rsp + 152] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 16], 6 - mov rsi, qword ptr [rsp + 144] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 16], 7 - vpinsrb xmm1, xmm1, byte ptr [rdx + r10 + 16], 8 - mov rdi, qword ptr [rsp + 152] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 16], 9 - mov rsi, qword ptr [rsp + 320] # 8-byte Reload + mov r9, qword ptr [rsp + 248] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + r9 + 16], 7 + mov r13, qword ptr [rsp + 160] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + r13 + 16], 8 + mov rsi, qword ptr [rsp + 176] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 16], 9 + mov rsi, qword ptr [rsp + 40] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 16], 10 - vpinsrb xmm1, xmm1, byte ptr [rdx + r14 + 16], 11 - vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 16], 12 - mov rax, qword ptr [rsp + 32] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 16], 13 - vpinsrb xmm1, xmm1, byte ptr [rdx + r11 + 16], 14 - vpinsrb xmm1, xmm1, byte ptr [rdx + r12 + 16], 15 - mov rax, qword ptr [rsp + 256] # 8-byte Reload - movzx esi, byte ptr [rdx + rax + 17] - vmovd xmm2, esi - vpinsrb xmm2, xmm2, byte ptr [rdx + r9 + 17], 1 - mov r11, qword ptr [rsp + 168] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r11 + 17], 2 - mov r10, qword ptr [rsp + 112] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r10 + 17], 3 - mov rax, qword ptr [rsp + 240] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 17], 4 - mov r13, qword ptr [rsp + 248] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r13 + 17], 5 - mov r9, qword ptr [rsp + 40] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r9 + 17], 6 - mov rax, qword ptr [rsp + 200] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 17], 7 - mov r14, qword ptr [rsp + 192] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r14 + 17], 8 - mov r15, qword ptr [rsp + 184] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r15 + 17], 9 - mov rax, qword ptr [rsp + 224] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 17], 10 - mov rax, qword ptr [rsp + 88] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 17], 11 mov r12, qword ptr [rsp + 128] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r12 + 17], 12 - mov rsi, qword ptr [rsp + 208] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 17], 13 + vpinsrb xmm1, xmm1, byte ptr [rdx + r12 + 16], 11 mov rsi, qword ptr [rsp + 48] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 17], 14 - vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 17], 15 - movzx esi, byte ptr [rdx + rbx + 17] - vmovd xmm3, esi - vpinsrb xmm3, xmm3, byte ptr [rdx + r8 + 17], 1 - mov rcx, qword ptr [rsp + 64] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 17], 2 - mov r8, qword ptr [rsp + 176] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + r8 + 17], 3 - mov rsi, qword ptr [rsp + 104] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 17], 4 - mov rsi, qword ptr [rsp + 96] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 17], 5 - mov rsi, qword ptr [rsp + 160] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 17], 6 - mov rsi, qword ptr [rsp + 144] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 17], 7 - mov rsi, qword ptr [rsp + 136] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 17], 8 - vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 17], 9 - mov rdi, qword ptr [rsp + 320] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 17], 10 - mov rsi, qword ptr [rsp + 216] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 17], 11 - mov rsi, qword ptr [rsp + 288] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 17], 12 + vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 16], 12 mov rsi, qword ptr [rsp + 32] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 17], 13 - mov rsi, qword ptr [rsp + 72] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 17], 14 + vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 16], 13 + mov rsi, qword ptr [rsp + 288] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 16], 14 + mov rsi, qword ptr [rsp + 320] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 16], 15 + mov rsi, qword ptr [rsp + 240] # 8-byte Reload + movzx esi, byte ptr [rdx + rsi + 17] + vmovd xmm2, esi + vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 17], 1 + mov rcx, qword ptr [rsp + 264] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 17], 2 + mov rcx, qword ptr [rsp + 200] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 17], 3 + mov rcx, qword ptr [rsp + 112] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 17], 4 + mov rcx, qword ptr [rsp + 184] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 17], 5 + mov rcx, qword ptr [rsp + 144] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 17], 6 + mov rcx, qword ptr [rsp + 208] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 17], 7 + vpinsrb xmm2, xmm2, byte ptr [rdx + r11 + 17], 8 + mov rcx, qword ptr [rsp + 232] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 17], 9 + mov rcx, qword ptr [rsp + 88] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 17], 10 + mov rcx, qword ptr [rsp + 216] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 17], 11 + vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 17], 12 + mov rax, qword ptr [rsp + 72] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 17], 13 + vpinsrb xmm2, xmm2, byte ptr [rdx + r14 + 17], 14 + vpinsrb xmm2, xmm2, byte ptr [rdx + r8 + 17], 15 + movzx esi, byte ptr [rdx + rbx + 17] + vmovd xmm3, esi + vpinsrb xmm3, xmm3, byte ptr [rdx + r10 + 17], 1 + mov rax, qword ptr [rsp + 120] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 17], 2 + vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 17], 3 + mov rdi, qword ptr [rsp + 168] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 17], 4 + vpinsrb xmm3, xmm3, byte ptr [rdx + r15 + 17], 5 + mov r15, qword ptr [rsp + 152] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + r15 + 17], 6 + vpinsrb xmm3, xmm3, byte ptr [rdx + r9 + 17], 7 + vpinsrb xmm3, xmm3, byte ptr [rdx + r13 + 17], 8 + mov r8, qword ptr [rsp + 176] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + r8 + 17], 9 + mov rcx, qword ptr [rsp + 40] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 17], 10 + vpinsrb xmm3, xmm3, byte ptr [rdx + r12 + 17], 11 + mov r9, qword ptr [rsp + 48] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + r9 + 17], 12 + mov rax, qword ptr [rsp + 32] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 17], 13 + mov rax, qword ptr [rsp + 288] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 17], 14 vinserti128 ymm0, ymm1, xmm0, 1 vmovdqa ymmword ptr [rsp + 864], ymm0 # 32-byte Spill - mov rsi, qword ptr [rsp + 56] # 8-byte Reload - vpinsrb xmm0, xmm3, byte ptr [rdx + rsi + 17], 15 + mov rax, qword ptr [rsp + 320] # 8-byte Reload + vpinsrb xmm0, xmm3, byte ptr [rdx + rax + 17], 15 vinserti128 ymm0, ymm0, xmm2, 1 vmovdqa ymmword ptr [rsp + 832], ymm0 # 32-byte Spill - mov rsi, qword ptr [rsp + 256] # 8-byte Reload - movzx esi, byte ptr [rdx + rsi + 18] + mov rbx, qword ptr [rsp + 240] # 8-byte Reload + movzx esi, byte ptr [rdx + rbx + 18] vmovd xmm0, esi - mov rsi, qword ptr [rsp + 232] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 18], 1 - vpinsrb xmm0, xmm0, byte ptr [rdx + r11 + 18], 2 + mov rax, qword ptr [rsp + 104] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 18], 1 + mov r14, qword ptr [rsp + 264] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r14 + 18], 2 + mov r10, qword ptr [rsp + 200] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + r10 + 18], 3 - mov rsi, qword ptr [rsp + 240] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 18], 4 - vpinsrb xmm0, xmm0, byte ptr [rdx + r13 + 18], 5 - vpinsrb xmm0, xmm0, byte ptr [rdx + r9 + 18], 6 - mov rsi, qword ptr [rsp + 200] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 18], 7 - vpinsrb xmm0, xmm0, byte ptr [rdx + r14 + 18], 8 - vpinsrb xmm0, xmm0, byte ptr [rdx + r15 + 18], 9 - mov r13, qword ptr [rsp + 224] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + r13 + 18], 10 + mov rax, qword ptr [rsp + 112] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 18], 4 + mov r11, qword ptr [rsp + 184] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r11 + 18], 5 + mov rax, qword ptr [rsp + 144] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 18], 6 + mov rax, qword ptr [rsp + 208] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 18], 7 + mov rax, qword ptr [rsp + 224] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 18], 8 + mov rax, qword ptr [rsp + 232] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 18], 9 + mov rax, qword ptr [rsp + 88] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 18], 10 + mov rax, qword ptr [rsp + 216] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 18], 11 - vpinsrb xmm0, xmm0, byte ptr [rdx + r12 + 18], 12 - mov r9, qword ptr [rsp + 208] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + r9 + 18], 13 - mov rax, qword ptr [rsp + 48] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 18], 14 - mov rax, qword ptr [rsp + 80] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 18], 15 - movzx esi, byte ptr [rdx + rbx + 18] - vmovd xmm1, esi - mov r14, qword ptr [rsp + 120] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + r14 + 18], 1 - vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 18], 2 - vpinsrb xmm1, xmm1, byte ptr [rdx + r8 + 18], 3 - mov rax, qword ptr [rsp + 104] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 18], 4 - mov rax, qword ptr [rsp + 96] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 18], 5 - mov rax, qword ptr [rsp + 160] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 18], 6 - mov r11, qword ptr [rsp + 144] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + r11 + 18], 7 - mov rcx, qword ptr [rsp + 136] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 18], 8 - mov rax, qword ptr [rsp + 152] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 18], 9 - vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 18], 10 - mov rsi, qword ptr [rsp + 216] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 18], 11 - mov rsi, qword ptr [rsp + 288] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 18], 12 - mov r12, qword ptr [rsp + 32] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + r12 + 18], 13 + mov rsi, qword ptr [rsp + 80] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 18], 12 mov rsi, qword ptr [rsp + 72] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 18], 14 - mov r10, qword ptr [rsp + 56] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + r10 + 18], 15 - mov r15, qword ptr [rsp + 256] # 8-byte Reload - movzx esi, byte ptr [rdx + r15 + 19] - vmovd xmm2, esi - mov rsi, qword ptr [rsp + 232] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 19], 1 - mov rsi, qword ptr [rsp + 168] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 19], 2 - mov rsi, qword ptr [rsp + 112] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 19], 3 - mov rsi, qword ptr [rsp + 240] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 19], 4 - mov rsi, qword ptr [rsp + 248] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 19], 5 - mov rsi, qword ptr [rsp + 40] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 19], 6 - mov rsi, qword ptr [rsp + 200] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 19], 7 + vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 18], 13 + mov r12, qword ptr [rsp + 64] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r12 + 18], 14 + mov r13, qword ptr [rsp + 96] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r13 + 18], 15 + mov rsi, qword ptr [rsp + 256] # 8-byte Reload + movzx esi, byte ptr [rdx + rsi + 18] + vmovd xmm1, esi mov rsi, qword ptr [rsp + 192] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 19], 8 - mov rsi, qword ptr [rsp + 184] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 19], 9 - vpinsrb xmm2, xmm2, byte ptr [rdx + r13 + 19], 10 - mov rsi, qword ptr [rsp + 88] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 19], 11 - mov rsi, qword ptr [rsp + 128] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 19], 12 - vpinsrb xmm2, xmm2, byte ptr [rdx + r9 + 19], 13 - mov rdi, qword ptr [rsp + 48] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 19], 14 - mov r8, qword ptr [rsp + 80] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r8 + 19], 15 + vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 18], 1 + mov rsi, qword ptr [rsp + 120] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 18], 2 + mov rsi, qword ptr [rsp + 56] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 18], 3 + vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 18], 4 + mov rsi, qword ptr [rsp + 136] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 18], 5 + vpinsrb xmm1, xmm1, byte ptr [rdx + r15 + 18], 6 + mov r15, qword ptr [rsp + 248] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + r15 + 18], 7 + mov rsi, qword ptr [rsp + 160] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 18], 8 + vpinsrb xmm1, xmm1, byte ptr [rdx + r8 + 18], 9 + vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 18], 10 + mov rcx, qword ptr [rsp + 128] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 18], 11 + vpinsrb xmm1, xmm1, byte ptr [rdx + r9 + 18], 12 + mov rcx, qword ptr [rsp + 32] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 18], 13 + mov rcx, qword ptr [rsp + 288] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 18], 14 + mov rcx, qword ptr [rsp + 320] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 18], 15 movzx esi, byte ptr [rdx + rbx + 19] + vmovd xmm2, esi + mov rcx, qword ptr [rsp + 104] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 19], 1 + vpinsrb xmm2, xmm2, byte ptr [rdx + r14 + 19], 2 + vpinsrb xmm2, xmm2, byte ptr [rdx + r10 + 19], 3 + mov r9, qword ptr [rsp + 112] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + r9 + 19], 4 + vpinsrb xmm2, xmm2, byte ptr [rdx + r11 + 19], 5 + mov rcx, qword ptr [rsp + 144] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 19], 6 + mov r8, qword ptr [rsp + 208] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + r8 + 19], 7 + mov r14, qword ptr [rsp + 224] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + r14 + 19], 8 + mov r10, qword ptr [rsp + 232] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + r10 + 19], 9 + mov rsi, qword ptr [rsp + 88] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 19], 10 + vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 19], 11 + mov rax, qword ptr [rsp + 80] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 19], 12 + mov rbx, qword ptr [rsp + 72] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rbx + 19], 13 + vpinsrb xmm2, xmm2, byte ptr [rdx + r12 + 19], 14 + vpinsrb xmm2, xmm2, byte ptr [rdx + r13 + 19], 15 + mov rax, qword ptr [rsp + 256] # 8-byte Reload + movzx esi, byte ptr [rdx + rax + 19] vmovd xmm3, esi - vpinsrb xmm3, xmm3, byte ptr [rdx + r14 + 19], 1 - mov rsi, qword ptr [rsp + 64] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 19], 2 - mov rbx, qword ptr [rsp + 176] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 19], 3 - mov rsi, qword ptr [rsp + 104] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 19], 4 - mov rsi, qword ptr [rsp + 96] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 19], 5 - mov r13, qword ptr [rsp + 160] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + r13 + 19], 6 - vpinsrb xmm3, xmm3, byte ptr [rdx + r11 + 19], 7 - vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 19], 8 + mov r11, qword ptr [rsp + 192] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + r11 + 19], 1 + mov rax, qword ptr [rsp + 120] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 19], 2 + mov rax, qword ptr [rsp + 56] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 19], 3 + vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 19], 4 + mov rax, qword ptr [rsp + 136] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 19], 5 + mov rdi, qword ptr [rsp + 152] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 19], 6 + vpinsrb xmm3, xmm3, byte ptr [rdx + r15 + 19], 7 + mov rax, qword ptr [rsp + 160] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 19], 8 + mov rax, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 19], 9 - mov rax, qword ptr [rsp + 320] # 8-byte Reload + mov rax, qword ptr [rsp + 40] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 19], 10 - mov rax, qword ptr [rsp + 216] # 8-byte Reload + mov rax, qword ptr [rsp + 128] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 19], 11 - mov r9, qword ptr [rsp + 288] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + r9 + 19], 12 - vpinsrb xmm3, xmm3, byte ptr [rdx + r12 + 19], 13 - mov r14, qword ptr [rsp + 72] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + r14 + 19], 14 - vpinsrb xmm3, xmm3, byte ptr [rdx + r10 + 19], 15 + mov rax, qword ptr [rsp + 48] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 19], 12 + mov rax, qword ptr [rsp + 32] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 19], 13 + mov rax, qword ptr [rsp + 288] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 19], 14 + mov rax, qword ptr [rsp + 320] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 19], 15 vinserti128 ymm0, ymm1, xmm0, 1 vmovdqa ymmword ptr [rsp + 768], ymm0 # 32-byte Spill vinserti128 ymm0, ymm3, xmm2, 1 vmovdqa ymmword ptr [rsp + 800], ymm0 # 32-byte Spill - movzx esi, byte ptr [rdx + r15 + 20] + mov rax, qword ptr [rsp + 240] # 8-byte Reload + movzx esi, byte ptr [rdx + rax + 20] vmovd xmm0, esi - mov r11, qword ptr [rsp + 232] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + r11 + 20], 1 - mov r12, qword ptr [rsp + 168] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + r12 + 20], 2 - mov rax, qword ptr [rsp + 112] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 20], 3 - mov rcx, qword ptr [rsp + 240] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 20], 4 - mov r10, qword ptr [rsp + 248] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + r10 + 20], 5 - mov rax, qword ptr [rsp + 40] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 20], 6 + mov r12, qword ptr [rsp + 104] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r12 + 20], 1 + mov rax, qword ptr [rsp + 264] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 20], 2 mov rax, qword ptr [rsp + 200] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 20], 7 - mov rax, qword ptr [rsp + 192] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 20], 8 + vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 20], 3 + vpinsrb xmm0, xmm0, byte ptr [rdx + r9 + 20], 4 mov rax, qword ptr [rsp + 184] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 20], 9 - mov rax, qword ptr [rsp + 224] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 20], 10 + vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 20], 5 + vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 20], 6 + vpinsrb xmm0, xmm0, byte ptr [rdx + r8 + 20], 7 + vpinsrb xmm0, xmm0, byte ptr [rdx + r14 + 20], 8 + vpinsrb xmm0, xmm0, byte ptr [rdx + r10 + 20], 9 mov rax, qword ptr [rsp + 88] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 20], 11 - mov rax, qword ptr [rsp + 128] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 20], 12 - mov rax, qword ptr [rsp + 208] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 20], 13 - vpinsrb xmm0, xmm0, byte ptr [rdx + rdi + 20], 14 - vpinsrb xmm0, xmm0, byte ptr [rdx + r8 + 20], 15 - mov rax, qword ptr [rsp + 264] # 8-byte Reload - movzx esi, byte ptr [rdx + rax + 20] + vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 20], 10 + mov rcx, qword ptr [rsp + 216] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 20], 11 + mov r13, qword ptr [rsp + 80] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r13 + 20], 12 + vpinsrb xmm0, xmm0, byte ptr [rdx + rbx + 20], 13 + mov rbx, qword ptr [rsp + 64] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rbx + 20], 14 + mov rcx, qword ptr [rsp + 96] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 20], 15 + mov r9, qword ptr [rsp + 256] # 8-byte Reload + movzx esi, byte ptr [rdx + r9 + 20] vmovd xmm1, esi - mov rax, qword ptr [rsp + 120] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 20], 1 - mov rax, qword ptr [rsp + 64] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 20], 2 - vpinsrb xmm1, xmm1, byte ptr [rdx + rbx + 20], 3 - mov rax, qword ptr [rsp + 104] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 20], 4 - mov r15, qword ptr [rsp + 96] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + r15 + 20], 5 - vpinsrb xmm1, xmm1, byte ptr [rdx + r13 + 20], 6 - mov rsi, qword ptr [rsp + 144] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + r11 + 20], 1 + mov r8, qword ptr [rsp + 120] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + r8 + 20], 2 + mov r15, qword ptr [rsp + 56] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + r15 + 20], 3 + mov rcx, qword ptr [rsp + 168] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 20], 4 + mov rcx, qword ptr [rsp + 136] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 20], 5 + vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 20], 6 + mov rsi, qword ptr [rsp + 248] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 20], 7 - mov rsi, qword ptr [rsp + 136] # 8-byte Reload + mov rsi, qword ptr [rsp + 160] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 20], 8 - mov rsi, qword ptr [rsp + 152] # 8-byte Reload + mov rsi, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 20], 9 - mov rsi, qword ptr [rsp + 320] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 20], 10 - mov r8, qword ptr [rsp + 216] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + r8 + 20], 11 - vpinsrb xmm1, xmm1, byte ptr [rdx + r9 + 20], 12 - mov r13, qword ptr [rsp + 32] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + r13 + 20], 13 - vpinsrb xmm1, xmm1, byte ptr [rdx + r14 + 20], 14 - mov rsi, qword ptr [rsp + 56] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 20], 15 - mov rsi, qword ptr [rsp + 256] # 8-byte Reload + mov r10, qword ptr [rsp + 40] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + r10 + 20], 10 + mov rsi, qword ptr [rsp + 128] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 20], 11 + mov rsi, qword ptr [rsp + 48] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 20], 12 + mov rdi, qword ptr [rsp + 32] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 20], 13 + mov rsi, qword ptr [rsp + 288] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 20], 14 + mov r14, qword ptr [rsp + 320] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + r14 + 20], 15 + mov rsi, qword ptr [rsp + 240] # 8-byte Reload movzx esi, byte ptr [rdx + rsi + 21] vmovd xmm2, esi - vpinsrb xmm2, xmm2, byte ptr [rdx + r11 + 21], 1 - vpinsrb xmm2, xmm2, byte ptr [rdx + r12 + 21], 2 - mov rsi, qword ptr [rsp + 112] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 21], 3 - vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 21], 4 - vpinsrb xmm2, xmm2, byte ptr [rdx + r10 + 21], 5 - mov rdi, qword ptr [rsp + 40] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 21], 6 + vpinsrb xmm2, xmm2, byte ptr [rdx + r12 + 21], 1 + mov rsi, qword ptr [rsp + 264] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 21], 2 mov r11, qword ptr [rsp + 200] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r11 + 21], 7 - mov r12, qword ptr [rsp + 192] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r12 + 21], 8 - mov r10, qword ptr [rsp + 184] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r10 + 21], 9 - mov rcx, qword ptr [rsp + 224] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 21], 10 - mov r14, qword ptr [rsp + 88] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r14 + 21], 11 - mov rcx, qword ptr [rsp + 128] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 21], 12 - mov rbx, qword ptr [rsp + 208] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rbx + 21], 13 - mov rcx, qword ptr [rsp + 48] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 21], 14 - mov rcx, qword ptr [rsp + 80] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 21], 15 - mov rcx, qword ptr [rsp + 264] # 8-byte Reload - movzx esi, byte ptr [rdx + rcx + 21] + vpinsrb xmm2, xmm2, byte ptr [rdx + r11 + 21], 3 + mov rsi, qword ptr [rsp + 112] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 21], 4 + mov rsi, qword ptr [rsp + 184] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 21], 5 + mov rsi, qword ptr [rsp + 144] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 21], 6 + mov rsi, qword ptr [rsp + 208] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 21], 7 + mov rsi, qword ptr [rsp + 224] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 21], 8 + mov rsi, qword ptr [rsp + 232] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 21], 9 + vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 21], 10 + mov rax, qword ptr [rsp + 216] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 21], 11 + vpinsrb xmm2, xmm2, byte ptr [rdx + r13 + 21], 12 + mov rax, qword ptr [rsp + 72] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 21], 13 + vpinsrb xmm2, xmm2, byte ptr [rdx + rbx + 21], 14 + mov r13, qword ptr [rsp + 96] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + r13 + 21], 15 + movzx esi, byte ptr [rdx + r9 + 21] vmovd xmm3, esi - mov rcx, qword ptr [rsp + 120] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 21], 1 - mov rcx, qword ptr [rsp + 64] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 21], 2 - mov rcx, qword ptr [rsp + 176] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 21], 3 - vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 21], 4 - vpinsrb xmm3, xmm3, byte ptr [rdx + r15 + 21], 5 - mov rax, qword ptr [rsp + 160] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 21], 6 - mov r15, qword ptr [rsp + 144] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + r15 + 21], 7 - mov rcx, qword ptr [rsp + 136] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 21], 8 + mov rax, qword ptr [rsp + 192] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 21], 1 + vpinsrb xmm3, xmm3, byte ptr [rdx + r8 + 21], 2 + vpinsrb xmm3, xmm3, byte ptr [rdx + r15 + 21], 3 + mov r9, qword ptr [rsp + 168] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + r9 + 21], 4 + vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 21], 5 mov rax, qword ptr [rsp + 152] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 21], 9 - mov rax, qword ptr [rsp + 320] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 21], 10 - vpinsrb xmm3, xmm3, byte ptr [rdx + r8 + 21], 11 - vpinsrb xmm3, xmm3, byte ptr [rdx + r9 + 21], 12 - vpinsrb xmm3, xmm3, byte ptr [rdx + r13 + 21], 13 - mov rax, qword ptr [rsp + 72] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 21], 14 + vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 21], 6 + mov rax, qword ptr [rsp + 248] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 21], 7 + mov rax, qword ptr [rsp + 160] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 21], 8 + mov r12, qword ptr [rsp + 176] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + r12 + 21], 9 + vpinsrb xmm3, xmm3, byte ptr [rdx + r10 + 21], 10 + mov rbx, qword ptr [rsp + 128] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 21], 11 + mov rcx, qword ptr [rsp + 48] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 21], 12 + vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 21], 13 + mov rcx, qword ptr [rsp + 288] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 21], 14 vinserti128 ymm0, ymm1, xmm0, 1 vmovdqa ymmword ptr [rsp + 704], ymm0 # 32-byte Spill - mov r8, qword ptr [rsp + 56] # 8-byte Reload - vpinsrb xmm0, xmm3, byte ptr [rdx + r8 + 21], 15 + vpinsrb xmm0, xmm3, byte ptr [rdx + r14 + 21], 15 vinserti128 ymm0, ymm0, xmm2, 1 vmovdqa ymmword ptr [rsp + 736], ymm0 # 32-byte Spill - mov rax, qword ptr [rsp + 256] # 8-byte Reload - movzx esi, byte ptr [rdx + rax + 22] + mov r10, qword ptr [rsp + 240] # 8-byte Reload + movzx esi, byte ptr [rdx + r10 + 22] vmovd xmm0, esi - mov rsi, qword ptr [rsp + 232] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 22], 1 - mov rsi, qword ptr [rsp + 168] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 22], 2 - mov rsi, qword ptr [rsp + 112] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 22], 3 - mov rsi, qword ptr [rsp + 240] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 22], 4 - mov r13, qword ptr [rsp + 248] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + r13 + 22], 5 - vpinsrb xmm0, xmm0, byte ptr [rdx + rdi + 22], 6 + mov r15, qword ptr [rsp + 104] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r15 + 22], 1 + mov r8, qword ptr [rsp + 264] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r8 + 22], 2 + vpinsrb xmm0, xmm0, byte ptr [rdx + r11 + 22], 3 + mov rcx, qword ptr [rsp + 112] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 22], 4 + mov rcx, qword ptr [rsp + 184] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 22], 5 + mov r14, qword ptr [rsp + 144] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r14 + 22], 6 + mov r11, qword ptr [rsp + 208] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + r11 + 22], 7 - vpinsrb xmm0, xmm0, byte ptr [rdx + r12 + 22], 8 - vpinsrb xmm0, xmm0, byte ptr [rdx + r10 + 22], 9 - mov r12, qword ptr [rsp + 224] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + r12 + 22], 10 - vpinsrb xmm0, xmm0, byte ptr [rdx + r14 + 22], 11 - mov r11, qword ptr [rsp + 128] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + r11 + 22], 12 - vpinsrb xmm0, xmm0, byte ptr [rdx + rbx + 22], 13 - mov rsi, qword ptr [rsp + 48] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 22], 14 + mov rdi, qword ptr [rsp + 224] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rdi + 22], 8 + mov rcx, qword ptr [rsp + 232] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 22], 9 + mov rcx, qword ptr [rsp + 88] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 22], 10 + mov rcx, qword ptr [rsp + 216] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 22], 11 mov rsi, qword ptr [rsp + 80] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 22], 15 - mov r10, qword ptr [rsp + 264] # 8-byte Reload - movzx esi, byte ptr [rdx + r10 + 22] + vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 22], 12 + mov rsi, qword ptr [rsp + 72] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 22], 13 + mov rsi, qword ptr [rsp + 64] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 22], 14 + vpinsrb xmm0, xmm0, byte ptr [rdx + r13 + 22], 15 + mov rsi, qword ptr [rsp + 256] # 8-byte Reload + movzx esi, byte ptr [rdx + rsi + 22] vmovd xmm1, esi - mov rsi, qword ptr [rsp + 120] # 8-byte Reload + mov rsi, qword ptr [rsp + 192] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 22], 1 - mov rbx, qword ptr [rsp + 64] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rbx + 22], 2 - mov rsi, qword ptr [rsp + 176] # 8-byte Reload + mov rsi, qword ptr [rsp + 120] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 22], 2 + mov rsi, qword ptr [rsp + 56] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 22], 3 - mov rsi, qword ptr [rsp + 104] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 22], 4 - mov r14, qword ptr [rsp + 96] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + r14 + 22], 5 - mov rsi, qword ptr [rsp + 160] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + r9 + 22], 4 + mov r13, qword ptr [rsp + 136] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + r13 + 22], 5 + mov rsi, qword ptr [rsp + 152] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 22], 6 - vpinsrb xmm1, xmm1, byte ptr [rdx + r15 + 22], 7 - vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 22], 8 - mov rcx, qword ptr [rsp + 152] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 22], 9 - mov rcx, qword ptr [rsp + 320] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 22], 10 - mov r9, qword ptr [rsp + 216] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + r9 + 22], 11 - mov rcx, qword ptr [rsp + 288] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 22], 12 - mov rcx, qword ptr [rsp + 32] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 22], 13 - mov rdi, qword ptr [rsp + 72] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 22], 14 - vpinsrb xmm1, xmm1, byte ptr [rdx + r8 + 22], 15 - movzx esi, byte ptr [rdx + rax + 23] + mov r9, qword ptr [rsp + 248] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + r9 + 22], 7 + vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 22], 8 + vpinsrb xmm1, xmm1, byte ptr [rdx + r12 + 22], 9 + mov rax, qword ptr [rsp + 40] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 22], 10 + vpinsrb xmm1, xmm1, byte ptr [rdx + rbx + 22], 11 + mov r12, qword ptr [rsp + 48] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + r12 + 22], 12 + mov rax, qword ptr [rsp + 32] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 22], 13 + mov rax, qword ptr [rsp + 288] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 22], 14 + mov rax, qword ptr [rsp + 320] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 22], 15 + movzx esi, byte ptr [rdx + r10 + 23] vmovd xmm2, esi - mov rax, qword ptr [rsp + 232] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 23], 1 - mov rax, qword ptr [rsp + 168] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 23], 2 - mov r15, qword ptr [rsp + 112] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r15 + 23], 3 - mov rax, qword ptr [rsp + 240] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + r15 + 23], 1 + vpinsrb xmm2, xmm2, byte ptr [rdx + r8 + 23], 2 + mov r10, qword ptr [rsp + 200] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + r10 + 23], 3 + mov rax, qword ptr [rsp + 112] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 23], 4 - vpinsrb xmm2, xmm2, byte ptr [rdx + r13 + 23], 5 - mov rcx, qword ptr [rsp + 40] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 23], 6 - mov rcx, qword ptr [rsp + 200] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 23], 7 - mov rcx, qword ptr [rsp + 192] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 23], 8 - mov rcx, qword ptr [rsp + 184] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 23], 9 - vpinsrb xmm2, xmm2, byte ptr [rdx + r12 + 23], 10 - mov rcx, qword ptr [rsp + 88] # 8-byte Reload + mov rax, qword ptr [rsp + 184] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 23], 5 + vpinsrb xmm2, xmm2, byte ptr [rdx + r14 + 23], 6 + vpinsrb xmm2, xmm2, byte ptr [rdx + r11 + 23], 7 + vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 23], 8 + mov r14, qword ptr [rsp + 232] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + r14 + 23], 9 + mov rdi, qword ptr [rsp + 88] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 23], 10 vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 23], 11 - vpinsrb xmm2, xmm2, byte ptr [rdx + r11 + 23], 12 - mov rcx, qword ptr [rsp + 208] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 23], 13 - mov rcx, qword ptr [rsp + 48] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 23], 14 - mov r12, qword ptr [rsp + 80] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r12 + 23], 15 - movzx esi, byte ptr [rdx + r10 + 23] + mov rax, qword ptr [rsp + 80] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 23], 12 + mov rbx, qword ptr [rsp + 72] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rbx + 23], 13 + mov r11, qword ptr [rsp + 64] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + r11 + 23], 14 + mov rax, qword ptr [rsp + 96] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 23], 15 + mov r15, qword ptr [rsp + 256] # 8-byte Reload + movzx esi, byte ptr [rdx + r15 + 23] vmovd xmm3, esi - mov r11, qword ptr [rsp + 120] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + r11 + 23], 1 - vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 23], 2 - mov rcx, qword ptr [rsp + 176] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 23], 3 - mov rbx, qword ptr [rsp + 104] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 23], 4 - vpinsrb xmm3, xmm3, byte ptr [rdx + r14 + 23], 5 - mov r13, qword ptr [rsp + 160] # 8-byte Reload + mov rcx, qword ptr [rsp + 192] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 23], 1 + mov rax, qword ptr [rsp + 120] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 23], 2 + mov rsi, qword ptr [rsp + 56] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 23], 3 + mov rsi, qword ptr [rsp + 168] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 23], 4 + vpinsrb xmm3, xmm3, byte ptr [rdx + r13 + 23], 5 + mov r13, qword ptr [rsp + 152] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + r13 + 23], 6 - mov rsi, qword ptr [rsp + 144] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 23], 7 - mov rsi, qword ptr [rsp + 136] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + r9 + 23], 7 + mov rsi, qword ptr [rsp + 160] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 23], 8 - mov r8, qword ptr [rsp + 152] # 8-byte Reload + mov r8, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + r8 + 23], 9 - mov r10, qword ptr [rsp + 320] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + r10 + 23], 10 - vpinsrb xmm3, xmm3, byte ptr [rdx + r9 + 23], 11 + mov rsi, qword ptr [rsp + 40] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 23], 10 + mov rsi, qword ptr [rsp + 128] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 23], 11 + vpinsrb xmm3, xmm3, byte ptr [rdx + r12 + 23], 12 + mov rsi, qword ptr [rsp + 32] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 23], 13 mov rsi, qword ptr [rsp + 288] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 23], 12 - mov r14, qword ptr [rsp + 32] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + r14 + 23], 13 - vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 23], 14 - mov rsi, qword ptr [rsp + 56] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 23], 14 + mov rsi, qword ptr [rsp + 320] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 23], 15 vinserti128 ymm10, ymm1, xmm0, 1 vinserti128 ymm0, ymm3, xmm2, 1 vmovdqa ymmword ptr [rsp + 672], ymm0 # 32-byte Spill - mov r9, qword ptr [rsp + 256] # 8-byte Reload - movzx esi, byte ptr [rdx + r9 + 24] + mov rsi, qword ptr [rsp + 240] # 8-byte Reload + movzx esi, byte ptr [rdx + rsi + 24] vmovd xmm0, esi - mov rsi, qword ptr [rsp + 232] # 8-byte Reload + mov rsi, qword ptr [rsp + 104] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 24], 1 - mov rsi, qword ptr [rsp + 168] # 8-byte Reload + mov rsi, qword ptr [rsp + 264] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 24], 2 - vpinsrb xmm0, xmm0, byte ptr [rdx + r15 + 24], 3 - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 24], 4 - mov rax, qword ptr [rsp + 248] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 24], 5 - mov rax, qword ptr [rsp + 40] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 24], 6 - mov rax, qword ptr [rsp + 200] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 24], 7 - mov rdi, qword ptr [rsp + 192] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rdi + 24], 8 + vpinsrb xmm0, xmm0, byte ptr [rdx + r10 + 24], 3 + mov rsi, qword ptr [rsp + 112] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 24], 4 mov rsi, qword ptr [rsp + 184] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 24], 9 + vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 24], 5 + mov rsi, qword ptr [rsp + 144] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 24], 6 + mov rsi, qword ptr [rsp + 208] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 24], 7 mov rsi, qword ptr [rsp + 224] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 24], 10 - mov rsi, qword ptr [rsp + 88] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 24], 11 - mov rsi, qword ptr [rsp + 128] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 24], 8 + vpinsrb xmm0, xmm0, byte ptr [rdx + r14 + 24], 9 + vpinsrb xmm0, xmm0, byte ptr [rdx + rdi + 24], 10 + mov r14, qword ptr [rsp + 216] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r14 + 24], 11 + mov rsi, qword ptr [rsp + 80] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 24], 12 - mov rsi, qword ptr [rsp + 208] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 24], 13 - mov rsi, qword ptr [rsp + 48] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 24], 14 - vpinsrb xmm0, xmm0, byte ptr [rdx + r12 + 24], 15 - mov rsi, qword ptr [rsp + 264] # 8-byte Reload - movzx esi, byte ptr [rdx + rsi + 24] + vpinsrb xmm0, xmm0, byte ptr [rdx + rbx + 24], 13 + vpinsrb xmm0, xmm0, byte ptr [rdx + r11 + 24], 14 + mov rsi, qword ptr [rsp + 96] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 24], 15 + movzx esi, byte ptr [rdx + r15 + 24] vmovd xmm1, esi - vpinsrb xmm1, xmm1, byte ptr [rdx + r11 + 24], 1 - mov rsi, qword ptr [rsp + 64] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 24], 2 - vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 24], 3 - vpinsrb xmm1, xmm1, byte ptr [rdx + rbx + 24], 4 - mov rcx, qword ptr [rsp + 96] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 24], 5 + vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 24], 1 + vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 24], 2 + mov rax, qword ptr [rsp + 56] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 24], 3 + mov r12, qword ptr [rsp + 168] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + r12 + 24], 4 + mov rax, qword ptr [rsp + 136] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 24], 5 vpinsrb xmm1, xmm1, byte ptr [rdx + r13 + 24], 6 - mov rcx, qword ptr [rsp + 144] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 24], 7 - mov r15, qword ptr [rsp + 136] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + r9 + 24], 7 + mov r15, qword ptr [rsp + 160] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + r15 + 24], 8 vpinsrb xmm1, xmm1, byte ptr [rdx + r8 + 24], 9 - vpinsrb xmm1, xmm1, byte ptr [rdx + r10 + 24], 10 - mov rcx, qword ptr [rsp + 216] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 24], 11 - mov rcx, qword ptr [rsp + 288] # 8-byte Reload + mov rax, qword ptr [rsp + 40] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 24], 10 + mov r8, qword ptr [rsp + 128] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + r8 + 24], 11 + mov rcx, qword ptr [rsp + 48] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 24], 12 - vpinsrb xmm1, xmm1, byte ptr [rdx + r14 + 24], 13 - mov r8, qword ptr [rsp + 72] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + r8 + 24], 14 - mov rcx, qword ptr [rsp + 56] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 24], 15 - movzx esi, byte ptr [rdx + r9 + 25] - vmovd xmm2, esi - mov rcx, qword ptr [rsp + 232] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 25], 1 - mov rcx, qword ptr [rsp + 168] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 25], 2 - mov rcx, qword ptr [rsp + 112] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 25], 3 - mov r11, qword ptr [rsp + 240] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r11 + 25], 4 - mov r9, qword ptr [rsp + 248] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r9 + 25], 5 - mov r12, qword ptr [rsp + 40] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r12 + 25], 6 - vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 25], 7 - vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 25], 8 - mov rax, qword ptr [rsp + 184] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 25], 9 - mov r13, qword ptr [rsp + 224] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r13 + 25], 10 - mov rbx, qword ptr [rsp + 88] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rbx + 25], 11 - mov r14, qword ptr [rsp + 128] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r14 + 25], 12 - mov rcx, qword ptr [rsp + 208] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 25], 13 - mov rax, qword ptr [rsp + 48] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 25], 14 - mov rax, qword ptr [rsp + 80] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 25], 15 - mov rax, qword ptr [rsp + 264] # 8-byte Reload + mov r10, qword ptr [rsp + 32] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + r10 + 24], 13 + mov rdi, qword ptr [rsp + 288] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 24], 14 + mov rbx, qword ptr [rsp + 320] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rbx + 24], 15 + mov rax, qword ptr [rsp + 240] # 8-byte Reload movzx esi, byte ptr [rdx + rax + 25] + vmovd xmm2, esi + mov r13, qword ptr [rsp + 104] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + r13 + 25], 1 + mov rsi, qword ptr [rsp + 264] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 25], 2 + mov rsi, qword ptr [rsp + 200] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 25], 3 + mov rsi, qword ptr [rsp + 112] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 25], 4 + mov r11, qword ptr [rsp + 184] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + r11 + 25], 5 + mov rsi, qword ptr [rsp + 144] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 25], 6 + mov rsi, qword ptr [rsp + 208] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 25], 7 + mov rsi, qword ptr [rsp + 224] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 25], 8 + mov rsi, qword ptr [rsp + 232] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 25], 9 + mov rsi, qword ptr [rsp + 88] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 25], 10 + vpinsrb xmm2, xmm2, byte ptr [rdx + r14 + 25], 11 + mov rsi, qword ptr [rsp + 80] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 25], 12 + mov rsi, qword ptr [rsp + 72] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 25], 13 + mov rsi, qword ptr [rsp + 64] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 25], 14 + mov rsi, qword ptr [rsp + 96] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 25], 15 + mov rsi, qword ptr [rsp + 256] # 8-byte Reload + movzx esi, byte ptr [rdx + rsi + 25] vmovd xmm3, esi - mov rdi, qword ptr [rsp + 120] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 25], 1 - mov rax, qword ptr [rsp + 64] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 25], 2 - mov rax, qword ptr [rsp + 176] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 25], 3 - mov rax, qword ptr [rsp + 104] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 25], 4 - mov rax, qword ptr [rsp + 96] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 25], 5 - mov rax, qword ptr [rsp + 160] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 25], 6 - mov rax, qword ptr [rsp + 144] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 25], 7 + mov rsi, qword ptr [rsp + 192] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 25], 1 + mov rsi, qword ptr [rsp + 120] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 25], 2 + mov rsi, qword ptr [rsp + 56] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 25], 3 + vpinsrb xmm3, xmm3, byte ptr [rdx + r12 + 25], 4 + mov rsi, qword ptr [rsp + 136] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 25], 5 + mov rsi, qword ptr [rsp + 152] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 25], 6 + vpinsrb xmm3, xmm3, byte ptr [rdx + r9 + 25], 7 vpinsrb xmm3, xmm3, byte ptr [rdx + r15 + 25], 8 - mov rax, qword ptr [rsp + 152] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 25], 9 - vpinsrb xmm3, xmm3, byte ptr [rdx + r10 + 25], 10 - mov rax, qword ptr [rsp + 216] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 25], 11 - mov rsi, qword ptr [rsp + 288] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 25], 12 - mov r10, qword ptr [rsp + 32] # 8-byte Reload + mov r15, qword ptr [rsp + 176] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + r15 + 25], 9 + mov r9, qword ptr [rsp + 40] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + r9 + 25], 10 + vpinsrb xmm3, xmm3, byte ptr [rdx + r8 + 25], 11 + vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 25], 12 vpinsrb xmm3, xmm3, byte ptr [rdx + r10 + 25], 13 - vpinsrb xmm3, xmm3, byte ptr [rdx + r8 + 25], 14 + vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 25], 14 vinserti128 ymm9, ymm1, xmm0, 1 - mov r8, qword ptr [rsp + 56] # 8-byte Reload - vpinsrb xmm0, xmm3, byte ptr [rdx + r8 + 25], 15 + vpinsrb xmm0, xmm3, byte ptr [rdx + rbx + 25], 15 vinserti128 ymm8, ymm0, xmm2, 1 - mov rsi, qword ptr [rsp + 256] # 8-byte Reload - movzx esi, byte ptr [rdx + rsi + 26] + movzx esi, byte ptr [rdx + rax + 26] vmovd xmm0, esi - mov rsi, qword ptr [rsp + 232] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 26], 1 - mov rsi, qword ptr [rsp + 168] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 26], 2 - mov r15, qword ptr [rsp + 112] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + r15 + 26], 3 - vpinsrb xmm0, xmm0, byte ptr [rdx + r11 + 26], 4 - vpinsrb xmm0, xmm0, byte ptr [rdx + r9 + 26], 5 - vpinsrb xmm0, xmm0, byte ptr [rdx + r12 + 26], 6 - mov r11, qword ptr [rsp + 200] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + r11 + 26], 7 - mov r9, qword ptr [rsp + 192] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + r9 + 26], 8 - mov rsi, qword ptr [rsp + 184] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 26], 9 - vpinsrb xmm0, xmm0, byte ptr [rdx + r13 + 26], 10 - vpinsrb xmm0, xmm0, byte ptr [rdx + rbx + 26], 11 - vpinsrb xmm0, xmm0, byte ptr [rdx + r14 + 26], 12 - vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 26], 13 - mov rcx, qword ptr [rsp + 48] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 26], 14 - mov rcx, qword ptr [rsp + 80] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 26], 15 - mov rbx, qword ptr [rsp + 264] # 8-byte Reload - movzx esi, byte ptr [rdx + rbx + 26] + vpinsrb xmm0, xmm0, byte ptr [rdx + r13 + 26], 1 + mov r10, qword ptr [rsp + 264] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r10 + 26], 2 + mov rax, qword ptr [rsp + 200] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 26], 3 + mov rax, qword ptr [rsp + 112] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 26], 4 + vpinsrb xmm0, xmm0, byte ptr [rdx + r11 + 26], 5 + mov r11, qword ptr [rsp + 144] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r11 + 26], 6 + mov rcx, qword ptr [rsp + 208] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 26], 7 + mov r14, qword ptr [rsp + 224] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r14 + 26], 8 + mov rcx, qword ptr [rsp + 232] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 26], 9 + mov rsi, qword ptr [rsp + 88] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 26], 10 + mov rsi, qword ptr [rsp + 216] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 26], 11 + mov rsi, qword ptr [rsp + 80] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 26], 12 + mov rsi, qword ptr [rsp + 72] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 26], 13 + mov rsi, qword ptr [rsp + 64] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 26], 14 + mov rsi, qword ptr [rsp + 96] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 26], 15 + mov rdi, qword ptr [rsp + 256] # 8-byte Reload + movzx esi, byte ptr [rdx + rdi + 26] vmovd xmm1, esi - vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 26], 1 - mov rdi, qword ptr [rsp + 64] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 26], 2 - mov r12, qword ptr [rsp + 176] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + r12 + 26], 3 - mov r13, qword ptr [rsp + 104] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + r13 + 26], 4 - mov r14, qword ptr [rsp + 96] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + r14 + 26], 5 - mov rsi, qword ptr [rsp + 160] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 26], 6 - mov rcx, qword ptr [rsp + 144] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 26], 7 - mov rcx, qword ptr [rsp + 136] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 26], 8 + mov rsi, qword ptr [rsp + 192] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 26], 1 + mov r8, qword ptr [rsp + 120] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + r8 + 26], 2 + mov rbx, qword ptr [rsp + 56] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rbx + 26], 3 + vpinsrb xmm1, xmm1, byte ptr [rdx + r12 + 26], 4 + mov rsi, qword ptr [rsp + 136] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 26], 5 mov rsi, qword ptr [rsp + 152] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 26], 9 - mov rcx, qword ptr [rsp + 320] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 26], 10 - vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 26], 11 - mov rax, qword ptr [rsp + 288] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 26], 12 - vpinsrb xmm1, xmm1, byte ptr [rdx + r10 + 26], 13 - mov rcx, qword ptr [rsp + 72] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 26], 14 - vpinsrb xmm1, xmm1, byte ptr [rdx + r8 + 26], 15 - mov rax, qword ptr [rsp + 256] # 8-byte Reload - movzx esi, byte ptr [rdx + rax + 27] + vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 26], 6 + mov r12, qword ptr [rsp + 248] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + r12 + 26], 7 + mov rsi, qword ptr [rsp + 160] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 26], 8 + vpinsrb xmm1, xmm1, byte ptr [rdx + r15 + 26], 9 + vpinsrb xmm1, xmm1, byte ptr [rdx + r9 + 26], 10 + mov rsi, qword ptr [rsp + 128] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 26], 11 + mov rsi, qword ptr [rsp + 48] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 26], 12 + mov rsi, qword ptr [rsp + 32] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 26], 13 + mov r9, qword ptr [rsp + 288] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + r9 + 26], 14 + mov rsi, qword ptr [rsp + 320] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 26], 15 + mov rsi, qword ptr [rsp + 240] # 8-byte Reload + movzx esi, byte ptr [rdx + rsi + 27] vmovd xmm2, esi - mov r8, qword ptr [rsp + 232] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r8 + 27], 1 - mov rax, qword ptr [rsp + 168] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 27], 2 - vpinsrb xmm2, xmm2, byte ptr [rdx + r15 + 27], 3 - mov r10, qword ptr [rsp + 240] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r10 + 27], 4 - mov rax, qword ptr [rsp + 248] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 27], 5 - mov rax, qword ptr [rsp + 40] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 27], 6 - vpinsrb xmm2, xmm2, byte ptr [rdx + r11 + 27], 7 - vpinsrb xmm2, xmm2, byte ptr [rdx + r9 + 27], 8 - mov r15, qword ptr [rsp + 184] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r15 + 27], 9 - mov r9, qword ptr [rsp + 224] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r9 + 27], 10 - mov rax, qword ptr [rsp + 88] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 27], 11 - mov rax, qword ptr [rsp + 128] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 27], 12 + vpinsrb xmm2, xmm2, byte ptr [rdx + r13 + 27], 1 + vpinsrb xmm2, xmm2, byte ptr [rdx + r10 + 27], 2 + mov r13, r10 + mov rsi, qword ptr [rsp + 200] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 27], 3 + vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 27], 4 + mov r10, qword ptr [rsp + 184] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + r10 + 27], 5 + vpinsrb xmm2, xmm2, byte ptr [rdx + r11 + 27], 6 mov rax, qword ptr [rsp + 208] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 27], 7 + vpinsrb xmm2, xmm2, byte ptr [rdx + r14 + 27], 8 + vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 27], 9 + mov rax, qword ptr [rsp + 88] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 27], 10 + mov r14, qword ptr [rsp + 216] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + r14 + 27], 11 + mov rcx, qword ptr [rsp + 80] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 27], 12 + mov rax, qword ptr [rsp + 72] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 27], 13 - mov rax, qword ptr [rsp + 48] # 8-byte Reload + mov rax, qword ptr [rsp + 64] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 27], 14 - mov rax, qword ptr [rsp + 80] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 27], 15 - movzx esi, byte ptr [rdx + rbx + 27] + mov r11, qword ptr [rsp + 96] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + r11 + 27], 15 + movzx esi, byte ptr [rdx + rdi + 27] vmovd xmm3, esi - mov rax, qword ptr [rsp + 120] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 27], 1 - vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 27], 2 - vpinsrb xmm3, xmm3, byte ptr [rdx + r12 + 27], 3 - vpinsrb xmm3, xmm3, byte ptr [rdx + r13 + 27], 4 - vpinsrb xmm3, xmm3, byte ptr [rdx + r14 + 27], 5 - mov r12, qword ptr [rsp + 160] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + r12 + 27], 6 - mov rax, qword ptr [rsp + 144] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 27], 7 - mov rsi, qword ptr [rsp + 136] # 8-byte Reload + mov rsi, qword ptr [rsp + 192] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 27], 1 + vpinsrb xmm3, xmm3, byte ptr [rdx + r8 + 27], 2 + vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 27], 3 + mov rbx, qword ptr [rsp + 168] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 27], 4 + mov rdi, qword ptr [rsp + 136] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 27], 5 + mov r15, qword ptr [rsp + 152] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + r15 + 27], 6 + vpinsrb xmm3, xmm3, byte ptr [rdx + r12 + 27], 7 + mov rsi, qword ptr [rsp + 160] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 27], 8 - mov rsi, qword ptr [rsp + 152] # 8-byte Reload + mov rsi, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 27], 9 - mov rsi, qword ptr [rsp + 320] # 8-byte Reload + mov rsi, qword ptr [rsp + 40] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 27], 10 - mov rsi, qword ptr [rsp + 216] # 8-byte Reload + mov rsi, qword ptr [rsp + 128] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 27], 11 - mov rsi, qword ptr [rsp + 288] # 8-byte Reload + mov rsi, qword ptr [rsp + 48] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 27], 12 mov rsi, qword ptr [rsp + 32] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 27], 13 - vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 27], 14 - mov rcx, qword ptr [rsp + 56] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 27], 15 + vpinsrb xmm3, xmm3, byte ptr [rdx + r9 + 27], 14 + mov rsi, qword ptr [rsp + 320] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 27], 15 vinserti128 ymm0, ymm1, xmm0, 1 vmovdqa ymmword ptr [rsp + 544], ymm0 # 32-byte Spill vinserti128 ymm0, ymm3, xmm2, 1 vmovdqa ymmword ptr [rsp + 576], ymm0 # 32-byte Spill - mov r13, qword ptr [rsp + 256] # 8-byte Reload - movzx esi, byte ptr [rdx + r13 + 28] + mov rsi, qword ptr [rsp + 240] # 8-byte Reload + movzx esi, byte ptr [rdx + rsi + 28] vmovd xmm0, esi - vpinsrb xmm0, xmm0, byte ptr [rdx + r8 + 28], 1 - mov rcx, qword ptr [rsp + 168] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 28], 2 - mov r11, qword ptr [rsp + 112] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + r11 + 28], 3 - vpinsrb xmm0, xmm0, byte ptr [rdx + r10 + 28], 4 - mov r14, qword ptr [rsp + 248] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + r14 + 28], 5 - mov rsi, qword ptr [rsp + 40] # 8-byte Reload + mov rsi, qword ptr [rsp + 104] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 28], 1 + vpinsrb xmm0, xmm0, byte ptr [rdx + r13 + 28], 2 + mov rsi, qword ptr [rsp + 200] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 28], 3 + mov r9, qword ptr [rsp + 112] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r9 + 28], 4 + vpinsrb xmm0, xmm0, byte ptr [rdx + r10 + 28], 5 + mov rsi, qword ptr [rsp + 144] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 28], 6 - mov rbx, qword ptr [rsp + 200] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rbx + 28], 7 - mov rsi, qword ptr [rsp + 192] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 28], 8 - vpinsrb xmm0, xmm0, byte ptr [rdx + r15 + 28], 9 - vpinsrb xmm0, xmm0, byte ptr [rdx + r9 + 28], 10 - mov r10, qword ptr [rsp + 88] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + r10 + 28], 11 - mov r15, qword ptr [rsp + 128] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + r15 + 28], 12 - mov rdi, qword ptr [rsp + 208] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rdi + 28], 13 - mov rsi, qword ptr [rsp + 48] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 28], 14 - mov r8, qword ptr [rsp + 80] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + r8 + 28], 15 - mov rsi, qword ptr [rsp + 264] # 8-byte Reload - movzx esi, byte ptr [rdx + rsi + 28] + mov r13, qword ptr [rsp + 208] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r13 + 28], 7 + mov r12, qword ptr [rsp + 224] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r12 + 28], 8 + mov r8, qword ptr [rsp + 232] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r8 + 28], 9 + mov rsi, qword ptr [rsp + 88] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 28], 10 + vpinsrb xmm0, xmm0, byte ptr [rdx + r14 + 28], 11 + vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 28], 12 + mov r14, qword ptr [rsp + 72] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r14 + 28], 13 + vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 28], 14 + vpinsrb xmm0, xmm0, byte ptr [rdx + r11 + 28], 15 + mov r11, qword ptr [rsp + 256] # 8-byte Reload + movzx esi, byte ptr [rdx + r11 + 28] vmovd xmm1, esi - mov rsi, qword ptr [rsp + 120] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 28], 1 - mov rsi, qword ptr [rsp + 64] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 28], 2 - mov r9, qword ptr [rsp + 176] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + r9 + 28], 3 - mov rsi, qword ptr [rsp + 104] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 28], 4 - mov rsi, qword ptr [rsp + 96] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 28], 5 - vpinsrb xmm1, xmm1, byte ptr [rdx + r12 + 28], 6 - vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 28], 7 - mov rax, qword ptr [rsp + 136] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 28], 8 - mov rax, qword ptr [rsp + 152] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 28], 9 - mov rax, qword ptr [rsp + 320] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 28], 10 - mov rax, qword ptr [rsp + 216] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 28], 11 - mov rsi, qword ptr [rsp + 288] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 28], 12 + mov rax, qword ptr [rsp + 192] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 28], 1 + mov rax, qword ptr [rsp + 120] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 28], 2 + mov rax, qword ptr [rsp + 56] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 28], 3 + vpinsrb xmm1, xmm1, byte ptr [rdx + rbx + 28], 4 + vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 28], 5 + vpinsrb xmm1, xmm1, byte ptr [rdx + r15 + 28], 6 + mov rdi, qword ptr [rsp + 248] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 28], 7 + mov rcx, qword ptr [rsp + 160] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 28], 8 + mov rbx, qword ptr [rsp + 176] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rbx + 28], 9 + mov rcx, qword ptr [rsp + 40] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 28], 10 + mov rcx, qword ptr [rsp + 128] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 28], 11 + mov rcx, qword ptr [rsp + 48] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 28], 12 mov rsi, qword ptr [rsp + 32] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 28], 13 - mov r12, qword ptr [rsp + 72] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + r12 + 28], 14 - mov rsi, qword ptr [rsp + 56] # 8-byte Reload + mov r10, qword ptr [rsp + 288] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + r10 + 28], 14 + mov rsi, qword ptr [rsp + 320] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 28], 15 - movzx esi, byte ptr [rdx + r13 + 29] + mov rsi, qword ptr [rsp + 240] # 8-byte Reload + movzx esi, byte ptr [rdx + rsi + 29] vmovd xmm2, esi - mov r13, qword ptr [rsp + 232] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r13 + 29], 1 - vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 29], 2 - vpinsrb xmm2, xmm2, byte ptr [rdx + r11 + 29], 3 - mov rcx, qword ptr [rsp + 240] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 29], 4 - vpinsrb xmm2, xmm2, byte ptr [rdx + r14 + 29], 5 - mov r11, qword ptr [rsp + 40] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r11 + 29], 6 - vpinsrb xmm2, xmm2, byte ptr [rdx + rbx + 29], 7 - mov rcx, qword ptr [rsp + 192] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 29], 8 - mov rcx, qword ptr [rsp + 184] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 29], 9 - mov r14, qword ptr [rsp + 224] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r14 + 29], 10 - vpinsrb xmm2, xmm2, byte ptr [rdx + r10 + 29], 11 - vpinsrb xmm2, xmm2, byte ptr [rdx + r15 + 29], 12 - vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 29], 13 - mov rbx, qword ptr [rsp + 48] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rbx + 29], 14 - vpinsrb xmm2, xmm2, byte ptr [rdx + r8 + 29], 15 - mov r8, qword ptr [rsp + 264] # 8-byte Reload - movzx esi, byte ptr [rdx + r8 + 29] - vmovd xmm3, esi - mov r15, qword ptr [rsp + 120] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + r15 + 29], 1 - mov r10, qword ptr [rsp + 64] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + r10 + 29], 2 - vpinsrb xmm3, xmm3, byte ptr [rdx + r9 + 29], 3 - mov r9, qword ptr [rsp + 104] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + r9 + 29], 4 - mov rsi, qword ptr [rsp + 96] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 29], 5 - mov rsi, qword ptr [rsp + 160] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 29], 6 + mov rsi, qword ptr [rsp + 104] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 29], 1 + mov rsi, qword ptr [rsp + 264] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 29], 2 + mov rsi, qword ptr [rsp + 200] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 29], 3 + vpinsrb xmm2, xmm2, byte ptr [rdx + r9 + 29], 4 + mov r9, qword ptr [rsp + 184] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + r9 + 29], 5 mov rsi, qword ptr [rsp + 144] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 29], 7 - mov rsi, qword ptr [rsp + 136] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 29], 8 - mov rsi, qword ptr [rsp + 152] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 29], 9 - mov rsi, qword ptr [rsp + 320] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 29], 10 - vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 29], 11 - mov rax, qword ptr [rsp + 288] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 29], 12 - mov rax, qword ptr [rsp + 32] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 29], 13 - vpinsrb xmm4, xmm3, byte ptr [rdx + r12 + 29], 14 + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 29], 6 + vpinsrb xmm2, xmm2, byte ptr [rdx + r13 + 29], 7 + vpinsrb xmm2, xmm2, byte ptr [rdx + r12 + 29], 8 + vpinsrb xmm2, xmm2, byte ptr [rdx + r8 + 29], 9 + mov rsi, qword ptr [rsp + 88] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 29], 10 + mov r8, qword ptr [rsp + 216] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + r8 + 29], 11 + mov r12, qword ptr [rsp + 80] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + r12 + 29], 12 + vpinsrb xmm2, xmm2, byte ptr [rdx + r14 + 29], 13 + mov rsi, qword ptr [rsp + 64] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 29], 14 + mov r14, qword ptr [rsp + 96] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + r14 + 29], 15 + movzx esi, byte ptr [rdx + r11 + 29] + vmovd xmm3, esi + mov r11, qword ptr [rsp + 192] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + r11 + 29], 1 + mov rsi, qword ptr [rsp + 120] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 29], 2 + vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 29], 3 + mov r13, qword ptr [rsp + 168] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + r13 + 29], 4 + mov rax, qword ptr [rsp + 136] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 29], 5 + vpinsrb xmm3, xmm3, byte ptr [rdx + r15 + 29], 6 + vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 29], 7 + mov rax, qword ptr [rsp + 160] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 29], 8 + vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 29], 9 + mov r15, rbx + mov rax, qword ptr [rsp + 40] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 29], 10 + mov rdi, qword ptr [rsp + 128] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 29], 11 + vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 29], 12 + mov rcx, qword ptr [rsp + 32] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 29], 13 + vpinsrb xmm4, xmm3, byte ptr [rdx + r10 + 29], 14 vinserti128 ymm0, ymm1, xmm0, 1 vmovdqa ymmword ptr [rsp + 640], ymm0 # 32-byte Spill - mov r12, qword ptr [rsp + 56] # 8-byte Reload - vpinsrb xmm0, xmm4, byte ptr [rdx + r12 + 29], 15 + mov r10, qword ptr [rsp + 320] # 8-byte Reload + vpinsrb xmm0, xmm4, byte ptr [rdx + r10 + 29], 15 vinserti128 ymm0, ymm0, xmm2, 1 vmovdqa ymmword ptr [rsp + 608], ymm0 # 32-byte Spill - mov rdi, qword ptr [rsp + 256] # 8-byte Reload - movzx esi, byte ptr [rdx + rdi + 30] + mov rax, qword ptr [rsp + 240] # 8-byte Reload + movzx esi, byte ptr [rdx + rax + 30] vmovd xmm0, esi - vpinsrb xmm0, xmm0, byte ptr [rdx + r13 + 30], 1 - movzx esi, byte ptr [rdx + rdi + 31] + mov rbx, qword ptr [rsp + 104] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rbx + 30], 1 + movzx esi, byte ptr [rdx + rax + 31] vmovd xmm1, esi - vpinsrb xmm1, xmm1, byte ptr [rdx + r13 + 31], 1 - mov rax, qword ptr [rsp + 168] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rbx + 31], 1 + mov rax, qword ptr [rsp + 264] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 30], 2 vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 31], 2 - mov rax, qword ptr [rsp + 112] # 8-byte Reload + mov rax, qword ptr [rsp + 200] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 30], 3 vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 31], 3 - mov rax, qword ptr [rsp + 240] # 8-byte Reload + mov rax, qword ptr [rsp + 112] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 30], 4 vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 31], 4 - mov rax, qword ptr [rsp + 248] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 30], 5 - vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 31], 5 - vpinsrb xmm0, xmm0, byte ptr [rdx + r11 + 30], 6 - vpinsrb xmm1, xmm1, byte ptr [rdx + r11 + 31], 6 - mov rdi, qword ptr [rsp + 272] # 8-byte Reload - mov rax, qword ptr [rsp + 200] # 8-byte Reload + mov rax, r9 + vpinsrb xmm0, xmm0, byte ptr [rdx + r9 + 30], 5 + vpinsrb xmm1, xmm1, byte ptr [rdx + r9 + 31], 5 + mov rax, qword ptr [rsp + 144] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 30], 6 + vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 31], 6 + mov rax, qword ptr [rsp + 208] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 30], 7 vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 31], 7 - mov rax, qword ptr [rsp + 192] # 8-byte Reload + mov rbx, qword ptr [rsp + 272] # 8-byte Reload + mov rax, qword ptr [rsp + 224] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 30], 8 vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 31], 8 - vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 30], 9 - vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 31], 9 - vpinsrb xmm0, xmm0, byte ptr [rdx + r14 + 30], 10 - vpinsrb xmm1, xmm1, byte ptr [rdx + r14 + 31], 10 + mov rax, qword ptr [rsp + 232] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 30], 9 + vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 31], 9 mov rax, qword ptr [rsp + 88] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 30], 11 - vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 31], 11 - mov rax, qword ptr [rsp + 128] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 30], 12 - vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 31], 12 - mov rax, qword ptr [rsp + 208] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 30], 10 + vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 31], 10 + mov rax, r8 + vpinsrb xmm0, xmm0, byte ptr [rdx + r8 + 30], 11 + vpinsrb xmm1, xmm1, byte ptr [rdx + r8 + 31], 11 + vpinsrb xmm0, xmm0, byte ptr [rdx + r12 + 30], 12 + vpinsrb xmm1, xmm1, byte ptr [rdx + r12 + 31], 12 + mov rax, qword ptr [rsp + 72] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 30], 13 vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 31], 13 - mov rax, rbx - vpinsrb xmm0, xmm0, byte ptr [rdx + rbx + 30], 14 - vpinsrb xmm1, xmm1, byte ptr [rdx + rbx + 31], 14 - mov rax, qword ptr [rsp + 80] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 30], 15 - vpinsrb xmm2, xmm1, byte ptr [rdx + rax + 31], 15 - mov rsi, r8 - movzx eax, byte ptr [rdx + r8 + 30] + mov rax, qword ptr [rsp + 64] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 30], 14 + vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 31], 14 + vpinsrb xmm0, xmm0, byte ptr [rdx + r14 + 30], 15 + vpinsrb xmm2, xmm1, byte ptr [rdx + r14 + 31], 15 + mov rsi, qword ptr [rsp + 256] # 8-byte Reload + movzx eax, byte ptr [rdx + rsi + 30] vmovd xmm1, eax - vpinsrb xmm1, xmm1, byte ptr [rdx + r15 + 30], 1 - movzx eax, byte ptr [rdx + r8 + 31] + vpinsrb xmm1, xmm1, byte ptr [rdx + r11 + 30], 1 + movzx eax, byte ptr [rdx + rsi + 31] vmovd xmm7, eax - vpinsrb xmm7, xmm7, byte ptr [rdx + r15 + 31], 1 - vpinsrb xmm1, xmm1, byte ptr [rdx + r10 + 30], 2 - vpinsrb xmm7, xmm7, byte ptr [rdx + r10 + 31], 2 - mov rax, qword ptr [rsp + 176] # 8-byte Reload + vpinsrb xmm7, xmm7, byte ptr [rdx + r11 + 31], 1 + mov rax, qword ptr [rsp + 120] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 30], 2 + vpinsrb xmm7, xmm7, byte ptr [rdx + rax + 31], 2 + mov rax, qword ptr [rsp + 56] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 30], 3 vpinsrb xmm7, xmm7, byte ptr [rdx + rax + 31], 3 - vpinsrb xmm1, xmm1, byte ptr [rdx + r9 + 30], 4 - vpinsrb xmm7, xmm7, byte ptr [rdx + r9 + 31], 4 - mov rax, qword ptr [rsp + 96] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + r13 + 30], 4 + vpinsrb xmm7, xmm7, byte ptr [rdx + r13 + 31], 4 + mov rax, qword ptr [rsp + 136] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 30], 5 vpinsrb xmm7, xmm7, byte ptr [rdx + rax + 31], 5 - mov rax, qword ptr [rsp + 160] # 8-byte Reload + mov rax, qword ptr [rsp + 152] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 30], 6 vpinsrb xmm7, xmm7, byte ptr [rdx + rax + 31], 6 - mov rax, qword ptr [rsp + 144] # 8-byte Reload + mov rax, qword ptr [rsp + 248] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 30], 7 vpinsrb xmm7, xmm7, byte ptr [rdx + rax + 31], 7 - mov rax, qword ptr [rsp + 136] # 8-byte Reload + mov rax, qword ptr [rsp + 160] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 30], 8 vpinsrb xmm7, xmm7, byte ptr [rdx + rax + 31], 8 - mov rax, qword ptr [rsp + 152] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 30], 9 - vpinsrb xmm7, xmm7, byte ptr [rdx + rax + 31], 9 - mov rax, qword ptr [rsp + 320] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + r15 + 30], 9 + vpinsrb xmm7, xmm7, byte ptr [rdx + r15 + 31], 9 + mov rax, qword ptr [rsp + 40] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 30], 10 vpinsrb xmm7, xmm7, byte ptr [rdx + rax + 31], 10 - mov rax, qword ptr [rsp + 216] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 30], 11 - vpinsrb xmm7, xmm7, byte ptr [rdx + rax + 31], 11 - mov rax, qword ptr [rsp + 288] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 30], 11 + vpinsrb xmm7, xmm7, byte ptr [rdx + rdi + 31], 11 + mov rax, qword ptr [rsp + 48] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 30], 12 vpinsrb xmm7, xmm7, byte ptr [rdx + rax + 31], 12 - mov rax, qword ptr [rsp + 32] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 30], 13 - vpinsrb xmm7, xmm7, byte ptr [rdx + rax + 31], 13 - mov rax, qword ptr [rsp + 72] # 8-byte Reload + mov rax, rcx + vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 30], 13 + vpinsrb xmm7, xmm7, byte ptr [rdx + rcx + 31], 13 + mov rax, qword ptr [rsp + 288] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 30], 14 vpinsrb xmm7, xmm7, byte ptr [rdx + rax + 31], 14 - mov rax, r12 - vpinsrb xmm1, xmm1, byte ptr [rdx + r12 + 30], 15 - vpinsrb xmm7, xmm7, byte ptr [rdx + r12 + 31], 15 + vpinsrb xmm1, xmm1, byte ptr [rdx + r10 + 30], 15 + vpinsrb xmm7, xmm7, byte ptr [rdx + r10 + 31], 15 vinserti128 ymm0, ymm1, xmm0, 1 vmovdqa ymmword ptr [rsp + 320], ymm0 # 32-byte Spill vinserti128 ymm0, ymm7, xmm2, 1 @@ -14705,71 +15344,71 @@ comparison_equal_scalar_arr_avx2: # @comparison_equal_scalar_arr_avx2 vinserti128 ymm4, ymm3, xmm0, 1 vperm2i128 ymm0, ymm3, ymm0, 49 # ymm0 = ymm3[2,3],ymm0[2,3] mov rcx, qword ptr [rsp + 408] # 8-byte Reload - vmovdqu ymmword ptr [rdi + 4*rcx + 96], ymm0 - vmovdqu ymmword ptr [rdi + 4*rcx + 64], ymm2 - vmovdqu ymmword ptr [rdi + 4*rcx + 32], ymm4 - vmovdqu ymmword ptr [rdi + 4*rcx], ymm1 + vmovdqu ymmword ptr [rbx + 4*rcx + 96], ymm0 + vmovdqu ymmword ptr [rbx + 4*rcx + 64], ymm2 + vmovdqu ymmword ptr [rbx + 4*rcx + 32], ymm4 + vmovdqu ymmword ptr [rbx + 4*rcx], ymm1 add rcx, 32 mov rax, rcx cmp rcx, qword ptr [rsp + 384] # 8-byte Folded Reload - jne .LBB2_166 -# %bb.167: + jne .LBB2_167 +# %bb.168: mov r15, qword ptr [rsp + 392] # 8-byte Reload cmp r15, qword ptr [rsp + 384] # 8-byte Folded Reload mov r10, qword ptr [rsp + 280] # 8-byte Reload - mov r14d, dword ptr [rsp + 28] # 4-byte Reload + mov r11d, dword ptr [rsp + 28] # 4-byte Reload mov r12, qword ptr [rsp + 400] # 8-byte Reload jne .LBB2_43 jmp .LBB2_129 -.LBB2_168: +.LBB2_169: and r15, -32 mov rax, r15 shl rax, 5 add rax, rdx mov qword ptr [rsp + 400], rax # 8-byte Spill mov qword ptr [rsp + 384], r15 # 8-byte Spill - lea rax, [r11 + 4*r15] + lea rax, [r14 + 4*r15] mov qword ptr [rsp + 376], rax # 8-byte Spill - vmovd xmm0, r14d + vmovd xmm0, r11d vpbroadcastb ymm0, xmm0 vmovdqa ymmword ptr [rsp + 512], ymm0 # 32-byte Spill xor eax, eax - mov qword ptr [rsp + 272], r11 # 8-byte Spill + mov qword ptr [rsp + 272], r14 # 8-byte Spill .p2align 4, 0x90 -.LBB2_169: # =>This Inner Loop Header: Depth=1 +.LBB2_170: # =>This Inner Loop Header: Depth=1 mov rbx, rax mov qword ptr [rsp + 408], rax # 8-byte Spill shl rbx, 5 mov rax, rbx or rax, 32 - mov qword ptr [rsp + 120], rax # 8-byte Spill + mov qword ptr [rsp + 192], rax # 8-byte Spill mov rax, rbx or rax, 64 - mov qword ptr [rsp + 64], rax # 8-byte Spill + mov qword ptr [rsp + 120], rax # 8-byte Spill mov rax, rbx or rax, 96 - mov qword ptr [rsp + 176], rax # 8-byte Spill + mov qword ptr [rsp + 56], rax # 8-byte Spill mov rax, rbx or rax, 128 - mov qword ptr [rsp + 104], rax # 8-byte Spill + mov qword ptr [rsp + 168], rax # 8-byte Spill mov rax, rbx or rax, 160 - mov qword ptr [rsp + 96], rax # 8-byte Spill + mov qword ptr [rsp + 136], rax # 8-byte Spill mov rax, rbx or rax, 192 - mov qword ptr [rsp + 160], rax # 8-byte Spill + mov qword ptr [rsp + 152], rax # 8-byte Spill mov rax, rbx or rax, 224 - mov qword ptr [rsp + 144], rax # 8-byte Spill + mov qword ptr [rsp + 248], rax # 8-byte Spill mov rax, rbx or rax, 256 - mov qword ptr [rsp + 136], rax # 8-byte Spill + mov qword ptr [rsp + 160], rax # 8-byte Spill mov rax, rbx or rax, 288 - mov qword ptr [rsp + 152], rax # 8-byte Spill + mov qword ptr [rsp + 176], rax # 8-byte Spill mov rax, rbx or rax, 320 - mov qword ptr [rsp + 320], rax # 8-byte Spill + mov qword ptr [rsp + 40], rax # 8-byte Spill mov rax, rbx or rax, 512 mov rcx, rax @@ -14778,1918 +15417,1929 @@ comparison_equal_scalar_arr_avx2: # @comparison_equal_scalar_arr_avx2 movzx eax, byte ptr [rdx + rbx] vmovd xmm3, eax movzx eax, byte ptr [rdx + rcx + 1] + mov rsi, rcx vmovd xmm4, eax + mov rcx, rbx movzx eax, byte ptr [rdx + rbx + 1] vmovd xmm10, eax - movzx eax, byte ptr [rdx + rcx + 2] - mov rdi, rcx + movzx eax, byte ptr [rdx + rsi + 2] vmovd xmm1, eax vmovdqa xmmword ptr [rsp + 480], xmm1 # 16-byte Spill - mov rcx, rbx movzx eax, byte ptr [rdx + rbx + 2] vmovd xmm1, eax vmovdqa xmmword ptr [rsp + 448], xmm1 # 16-byte Spill - movzx eax, byte ptr [rdx + rdi + 3] + movzx eax, byte ptr [rdx + rsi + 3] vmovd xmm11, eax movzx eax, byte ptr [rdx + rbx + 3] vmovd xmm8, eax - movzx eax, byte ptr [rdx + rdi + 4] + movzx eax, byte ptr [rdx + rsi + 4] vmovd xmm1, eax vmovdqa xmmword ptr [rsp + 416], xmm1 # 16-byte Spill movzx eax, byte ptr [rdx + rbx + 4] vmovd xmm13, eax - movzx eax, byte ptr [rdx + rdi + 5] + movzx eax, byte ptr [rdx + rsi + 5] vmovd xmm14, eax movzx eax, byte ptr [rdx + rbx + 5] vmovd xmm6, eax - movzx eax, byte ptr [rdx + rdi + 6] - mov qword ptr [rsp + 256], rdi # 8-byte Spill + movzx eax, byte ptr [rdx + rsi + 6] + mov qword ptr [rsp + 240], rsi # 8-byte Spill vmovd xmm12, eax movzx eax, byte ptr [rdx + rbx + 6] vmovd xmm7, eax - movzx eax, byte ptr [rdx + rdi + 7] + movzx eax, byte ptr [rdx + rsi + 7] vmovd xmm2, eax movzx eax, byte ptr [rdx + rbx + 7] vmovd xmm1, eax mov rax, rbx or rax, 352 - mov qword ptr [rsp + 216], rax # 8-byte Spill + mov qword ptr [rsp + 128], rax # 8-byte Spill mov rax, rbx or rax, 384 - mov qword ptr [rsp + 288], rax # 8-byte Spill + mov qword ptr [rsp + 48], rax # 8-byte Spill mov rax, rbx or rax, 416 mov qword ptr [rsp + 32], rax # 8-byte Spill mov rax, rbx or rax, 448 - mov qword ptr [rsp + 72], rax # 8-byte Spill + mov qword ptr [rsp + 288], rax # 8-byte Spill mov rax, rbx or rax, 480 - mov qword ptr [rsp + 56], rax # 8-byte Spill + mov qword ptr [rsp + 320], rax # 8-byte Spill mov rax, rbx or rax, 544 - mov qword ptr [rsp + 232], rax # 8-byte Spill + mov qword ptr [rsp + 104], rax # 8-byte Spill or rbx, 576 - mov qword ptr [rsp + 168], rbx # 8-byte Spill + mov qword ptr [rsp + 264], rbx # 8-byte Spill mov rax, rcx or rax, 608 - mov qword ptr [rsp + 112], rax # 8-byte Spill - mov r12, rcx - or r12, 640 - mov qword ptr [rsp + 240], r12 # 8-byte Spill + mov qword ptr [rsp + 200], rax # 8-byte Spill mov r14, rcx - or r14, 672 - mov qword ptr [rsp + 248], r14 # 8-byte Spill - mov rax, rcx - or rax, 704 - mov qword ptr [rsp + 40], rax # 8-byte Spill + or r14, 640 + mov qword ptr [rsp + 112], r14 # 8-byte Spill mov rax, rcx - or rax, 736 - mov rdi, rax - mov r9, rcx - or r9, 768 - mov qword ptr [rsp + 192], r9 # 8-byte Spill + or rax, 672 + mov qword ptr [rsp + 184], rax # 8-byte Spill + mov r12, rcx + or r12, 704 + mov qword ptr [rsp + 144], r12 # 8-byte Spill + mov rdi, rcx + or rdi, 736 + mov qword ptr [rsp + 208], rdi # 8-byte Spill mov r15, rcx - or r15, 800 - mov qword ptr [rsp + 184], r15 # 8-byte Spill + or r15, 768 + mov qword ptr [rsp + 224], r15 # 8-byte Spill mov r11, rcx - or r11, 832 - mov qword ptr [rsp + 224], r11 # 8-byte Spill + or r11, 800 + mov qword ptr [rsp + 232], r11 # 8-byte Spill mov r10, rcx - or r10, 864 + or r10, 832 mov qword ptr [rsp + 88], r10 # 8-byte Spill + mov r9, rcx + or r9, 864 + mov qword ptr [rsp + 216], r9 # 8-byte Spill mov r8, rcx or r8, 896 - mov qword ptr [rsp + 128], r8 # 8-byte Spill + mov qword ptr [rsp + 80], r8 # 8-byte Spill mov rsi, rcx or rsi, 928 - mov qword ptr [rsp + 208], rsi # 8-byte Spill + mov qword ptr [rsp + 72], rsi # 8-byte Spill mov rax, rcx - mov qword ptr [rsp + 264], rcx # 8-byte Spill + mov qword ptr [rsp + 256], rcx # 8-byte Spill or rax, 960 - mov qword ptr [rsp + 48], rax # 8-byte Spill + mov qword ptr [rsp + 64], rax # 8-byte Spill or rcx, 992 - mov qword ptr [rsp + 80], rcx # 8-byte Spill - mov r13, qword ptr [rsp + 232] # 8-byte Reload + mov qword ptr [rsp + 96], rcx # 8-byte Spill + mov r13, qword ptr [rsp + 104] # 8-byte Reload vpinsrb xmm9, xmm0, byte ptr [rdx + r13], 1 vpinsrb xmm0, xmm9, byte ptr [rdx + rbx], 2 - mov rbx, qword ptr [rsp + 112] # 8-byte Reload + mov rbx, qword ptr [rsp + 200] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rbx], 3 - vpinsrb xmm0, xmm0, byte ptr [rdx + r12], 4 - vpinsrb xmm0, xmm0, byte ptr [rdx + r14], 5 - mov rbx, qword ptr [rsp + 40] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rbx], 6 + vpinsrb xmm0, xmm0, byte ptr [rdx + r14], 4 + mov rbx, qword ptr [rsp + 184] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rbx], 5 + vpinsrb xmm0, xmm0, byte ptr [rdx + r12], 6 vpinsrb xmm0, xmm0, byte ptr [rdx + rdi], 7 - mov r13, rdi - mov qword ptr [rsp + 200], rdi # 8-byte Spill - vpinsrb xmm0, xmm0, byte ptr [rdx + r9], 8 - vpinsrb xmm0, xmm0, byte ptr [rdx + r15], 9 - vpinsrb xmm0, xmm0, byte ptr [rdx + r11], 10 - vpinsrb xmm0, xmm0, byte ptr [rdx + r10], 11 + vpinsrb xmm0, xmm0, byte ptr [rdx + r15], 8 + vpinsrb xmm0, xmm0, byte ptr [rdx + r11], 9 + vpinsrb xmm0, xmm0, byte ptr [rdx + r10], 10 + vpinsrb xmm0, xmm0, byte ptr [rdx + r9], 11 vpinsrb xmm0, xmm0, byte ptr [rdx + r8], 12 vpinsrb xmm0, xmm0, byte ptr [rdx + rsi], 13 vpinsrb xmm0, xmm0, byte ptr [rdx + rax], 14 vpinsrb xmm0, xmm0, byte ptr [rdx + rcx], 15 - mov r14, qword ptr [rsp + 120] # 8-byte Reload + mov r14, qword ptr [rsp + 192] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + r14], 1 - mov r10, qword ptr [rsp + 64] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + r10], 2 - mov r12, qword ptr [rsp + 176] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + r12], 3 - mov r8, qword ptr [rsp + 104] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + r8], 4 - mov r11, qword ptr [rsp + 96] # 8-byte Reload + mov r12, qword ptr [rsp + 120] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + r12], 2 + mov r8, qword ptr [rsp + 56] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + r8], 3 + mov r9, qword ptr [rsp + 168] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + r9], 4 + mov r11, qword ptr [rsp + 136] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + r11], 5 - mov r9, qword ptr [rsp + 160] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + r9], 6 - mov r15, qword ptr [rsp + 144] # 8-byte Reload + mov r10, qword ptr [rsp + 152] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + r10], 6 + mov r15, qword ptr [rsp + 248] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + r15], 7 - mov rsi, qword ptr [rsp + 136] # 8-byte Reload + mov rsi, qword ptr [rsp + 160] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rsi], 8 - mov rax, qword ptr [rsp + 152] # 8-byte Reload + mov rax, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rax], 9 - mov rbx, qword ptr [rsp + 320] # 8-byte Reload + mov rbx, qword ptr [rsp + 40] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rbx], 10 - mov rcx, qword ptr [rsp + 216] # 8-byte Reload + mov rcx, qword ptr [rsp + 128] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rcx], 11 - mov rdi, qword ptr [rsp + 288] # 8-byte Reload + mov rdi, qword ptr [rsp + 48] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rdi], 12 mov rdi, qword ptr [rsp + 32] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rdi], 13 - mov rdi, qword ptr [rsp + 72] # 8-byte Reload + mov rdi, qword ptr [rsp + 288] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rdi], 14 - mov rdi, qword ptr [rsp + 56] # 8-byte Reload + mov rdi, qword ptr [rsp + 320] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rdi], 15 - mov rdi, qword ptr [rsp + 232] # 8-byte Reload + mov rdi, qword ptr [rsp + 104] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + rdi + 1], 1 - mov rdi, qword ptr [rsp + 168] # 8-byte Reload - vpinsrb xmm4, xmm4, byte ptr [rdx + rdi + 1], 2 - mov rdi, qword ptr [rsp + 112] # 8-byte Reload + mov r13, qword ptr [rsp + 264] # 8-byte Reload + vpinsrb xmm4, xmm4, byte ptr [rdx + r13 + 1], 2 + mov rdi, qword ptr [rsp + 200] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + rdi + 1], 3 - mov rdi, qword ptr [rsp + 240] # 8-byte Reload - vpinsrb xmm4, xmm4, byte ptr [rdx + rdi + 1], 4 - mov rdi, qword ptr [rsp + 248] # 8-byte Reload + mov r13, qword ptr [rsp + 112] # 8-byte Reload + vpinsrb xmm4, xmm4, byte ptr [rdx + r13 + 1], 4 + mov rdi, qword ptr [rsp + 184] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + rdi + 1], 5 - mov rdi, qword ptr [rsp + 40] # 8-byte Reload - vpinsrb xmm4, xmm4, byte ptr [rdx + rdi + 1], 6 + mov r13, qword ptr [rsp + 144] # 8-byte Reload + vpinsrb xmm4, xmm4, byte ptr [rdx + r13 + 1], 6 + mov r13, qword ptr [rsp + 208] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + r13 + 1], 7 - mov r13, qword ptr [rsp + 192] # 8-byte Reload - vpinsrb xmm4, xmm4, byte ptr [rdx + r13 + 1], 8 - mov r13, qword ptr [rsp + 184] # 8-byte Reload - vpinsrb xmm4, xmm4, byte ptr [rdx + r13 + 1], 9 mov rdi, qword ptr [rsp + 224] # 8-byte Reload - vpinsrb xmm4, xmm4, byte ptr [rdx + rdi + 1], 10 + vpinsrb xmm4, xmm4, byte ptr [rdx + rdi + 1], 8 + mov rdi, qword ptr [rsp + 232] # 8-byte Reload + vpinsrb xmm4, xmm4, byte ptr [rdx + rdi + 1], 9 mov rdi, qword ptr [rsp + 88] # 8-byte Reload + vpinsrb xmm4, xmm4, byte ptr [rdx + rdi + 1], 10 + mov rdi, qword ptr [rsp + 216] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + rdi + 1], 11 - mov rdi, qword ptr [rsp + 128] # 8-byte Reload + mov rdi, qword ptr [rsp + 80] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + rdi + 1], 12 - mov rdi, qword ptr [rsp + 208] # 8-byte Reload + mov rdi, qword ptr [rsp + 72] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + rdi + 1], 13 - mov rdi, qword ptr [rsp + 48] # 8-byte Reload + mov rdi, qword ptr [rsp + 64] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + rdi + 1], 14 - mov rdi, qword ptr [rsp + 80] # 8-byte Reload + mov rdi, qword ptr [rsp + 96] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + rdi + 1], 15 vpinsrb xmm5, xmm10, byte ptr [rdx + r14 + 1], 1 - vpinsrb xmm5, xmm5, byte ptr [rdx + r10 + 1], 2 - vpinsrb xmm5, xmm5, byte ptr [rdx + r12 + 1], 3 - vpinsrb xmm5, xmm5, byte ptr [rdx + r8 + 1], 4 + vpinsrb xmm5, xmm5, byte ptr [rdx + r12 + 1], 2 + mov rdi, r12 + vpinsrb xmm5, xmm5, byte ptr [rdx + r8 + 1], 3 + vpinsrb xmm5, xmm5, byte ptr [rdx + r9 + 1], 4 vpinsrb xmm5, xmm5, byte ptr [rdx + r11 + 1], 5 - vpinsrb xmm5, xmm5, byte ptr [rdx + r9 + 1], 6 + vpinsrb xmm5, xmm5, byte ptr [rdx + r10 + 1], 6 vpinsrb xmm5, xmm5, byte ptr [rdx + r15 + 1], 7 vpinsrb xmm5, xmm5, byte ptr [rdx + rsi + 1], 8 vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 1], 9 vpinsrb xmm5, xmm5, byte ptr [rdx + rbx + 1], 10 vpinsrb xmm5, xmm5, byte ptr [rdx + rcx + 1], 11 - mov rax, qword ptr [rsp + 288] # 8-byte Reload + mov rax, qword ptr [rsp + 48] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 1], 12 mov rax, qword ptr [rsp + 32] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 1], 13 - mov rax, qword ptr [rsp + 72] # 8-byte Reload + mov rax, qword ptr [rsp + 288] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 1], 14 vinserti128 ymm15, ymm3, xmm0, 1 - mov rax, qword ptr [rsp + 56] # 8-byte Reload + mov rax, qword ptr [rsp + 320] # 8-byte Reload vpinsrb xmm0, xmm5, byte ptr [rdx + rax + 1], 15 - mov rax, qword ptr [rsp + 256] # 8-byte Reload + mov rax, qword ptr [rsp + 240] # 8-byte Reload movzx esi, byte ptr [rdx + rax + 8] vmovd xmm9, esi vinserti128 ymm0, ymm0, xmm4, 1 vmovdqa ymmword ptr [rsp + 1216], ymm0 # 32-byte Spill - mov rax, qword ptr [rsp + 264] # 8-byte Reload + mov rax, qword ptr [rsp + 256] # 8-byte Reload movzx esi, byte ptr [rdx + rax + 8] vmovd xmm10, esi - mov r8, qword ptr [rsp + 232] # 8-byte Reload + mov r8, qword ptr [rsp + 104] # 8-byte Reload vmovdqa xmm0, xmmword ptr [rsp + 480] # 16-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + r8 + 2], 1 - mov rcx, qword ptr [rsp + 168] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 2], 2 - mov r10, qword ptr [rsp + 112] # 8-byte Reload + mov r9, qword ptr [rsp + 264] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r9 + 2], 2 + mov r10, qword ptr [rsp + 200] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + r10 + 2], 3 - mov rax, qword ptr [rsp + 240] # 8-byte Reload + mov rax, qword ptr [rsp + 112] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 2], 4 - mov rax, qword ptr [rsp + 248] # 8-byte Reload + mov rax, qword ptr [rsp + 184] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 2], 5 - mov r9, qword ptr [rsp + 40] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + r9 + 2], 6 - mov rdi, qword ptr [rsp + 200] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rdi + 2], 7 - mov rax, qword ptr [rsp + 192] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 2], 8 - mov r12, r13 - vpinsrb xmm0, xmm0, byte ptr [rdx + r13 + 2], 9 - mov r13, qword ptr [rsp + 224] # 8-byte Reload + mov rax, qword ptr [rsp + 144] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 2], 6 + vpinsrb xmm0, xmm0, byte ptr [rdx + r13 + 2], 7 + mov rcx, qword ptr [rsp + 224] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 2], 8 + mov r12, qword ptr [rsp + 232] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r12 + 2], 9 + mov r13, qword ptr [rsp + 88] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + r13 + 2], 10 - mov r11, qword ptr [rsp + 88] # 8-byte Reload + mov r11, qword ptr [rsp + 216] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + r11 + 2], 11 - mov r14, qword ptr [rsp + 128] # 8-byte Reload + mov r14, qword ptr [rsp + 80] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + r14 + 2], 12 - mov r15, qword ptr [rsp + 208] # 8-byte Reload + mov r15, qword ptr [rsp + 72] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + r15 + 2], 13 - mov rax, qword ptr [rsp + 48] # 8-byte Reload + mov rax, qword ptr [rsp + 64] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 2], 14 - mov rax, qword ptr [rsp + 80] # 8-byte Reload + mov rax, qword ptr [rsp + 96] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 2], 15 - mov rax, qword ptr [rsp + 120] # 8-byte Reload + mov rax, qword ptr [rsp + 192] # 8-byte Reload vmovdqa xmm3, xmmword ptr [rsp + 448] # 16-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 2], 1 - mov rsi, qword ptr [rsp + 64] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 2], 2 - mov rsi, qword ptr [rsp + 176] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 2], 2 + mov rsi, qword ptr [rsp + 56] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 2], 3 - mov rsi, qword ptr [rsp + 104] # 8-byte Reload + mov rsi, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 2], 4 - mov rsi, qword ptr [rsp + 96] # 8-byte Reload + mov rsi, qword ptr [rsp + 136] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 2], 5 - mov rsi, qword ptr [rsp + 160] # 8-byte Reload + mov rsi, qword ptr [rsp + 152] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 2], 6 - mov rsi, qword ptr [rsp + 144] # 8-byte Reload + mov rsi, qword ptr [rsp + 248] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 2], 7 - mov rbx, qword ptr [rsp + 136] # 8-byte Reload + mov rbx, qword ptr [rsp + 160] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 2], 8 - mov rbx, qword ptr [rsp + 152] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 2], 9 - mov rbx, qword ptr [rsp + 320] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 2], 10 - mov rbx, qword ptr [rsp + 216] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 2], 11 - mov rbx, qword ptr [rsp + 288] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 2], 12 - mov rbx, qword ptr [rsp + 32] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 2], 13 - mov rbx, qword ptr [rsp + 72] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 2], 14 - mov rbx, qword ptr [rsp + 56] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 2], 15 + mov rdi, qword ptr [rsp + 176] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 2], 9 + mov rdi, qword ptr [rsp + 40] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 2], 10 + mov rdi, qword ptr [rsp + 128] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 2], 11 + mov rdi, qword ptr [rsp + 48] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 2], 12 + mov rdi, qword ptr [rsp + 32] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 2], 13 + mov rdi, qword ptr [rsp + 288] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 2], 14 + mov rdi, qword ptr [rsp + 320] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 2], 15 vpinsrb xmm4, xmm11, byte ptr [rdx + r8 + 3], 1 - vpinsrb xmm4, xmm4, byte ptr [rdx + rcx + 3], 2 + vpinsrb xmm4, xmm4, byte ptr [rdx + r9 + 3], 2 vpinsrb xmm4, xmm4, byte ptr [rdx + r10 + 3], 3 - mov rbx, qword ptr [rsp + 240] # 8-byte Reload - vpinsrb xmm4, xmm4, byte ptr [rdx + rbx + 3], 4 - mov rcx, qword ptr [rsp + 248] # 8-byte Reload - vpinsrb xmm4, xmm4, byte ptr [rdx + rcx + 3], 5 - vpinsrb xmm4, xmm4, byte ptr [rdx + r9 + 3], 6 - vpinsrb xmm4, xmm4, byte ptr [rdx + rdi + 3], 7 - mov rdi, qword ptr [rsp + 192] # 8-byte Reload - vpinsrb xmm4, xmm4, byte ptr [rdx + rdi + 3], 8 + mov rdi, qword ptr [rsp + 112] # 8-byte Reload + vpinsrb xmm4, xmm4, byte ptr [rdx + rdi + 3], 4 + mov r8, qword ptr [rsp + 184] # 8-byte Reload + vpinsrb xmm4, xmm4, byte ptr [rdx + r8 + 3], 5 + mov rdi, qword ptr [rsp + 144] # 8-byte Reload + vpinsrb xmm4, xmm4, byte ptr [rdx + rdi + 3], 6 + mov r9, qword ptr [rsp + 208] # 8-byte Reload + vpinsrb xmm4, xmm4, byte ptr [rdx + r9 + 3], 7 + vpinsrb xmm4, xmm4, byte ptr [rdx + rcx + 3], 8 vpinsrb xmm4, xmm4, byte ptr [rdx + r12 + 3], 9 vpinsrb xmm4, xmm4, byte ptr [rdx + r13 + 3], 10 vpinsrb xmm4, xmm4, byte ptr [rdx + r11 + 3], 11 + mov r12, r11 vpinsrb xmm4, xmm4, byte ptr [rdx + r14 + 3], 12 vpinsrb xmm4, xmm4, byte ptr [rdx + r15 + 3], 13 - mov r9, qword ptr [rsp + 48] # 8-byte Reload - vpinsrb xmm4, xmm4, byte ptr [rdx + r9 + 3], 14 - mov r15, qword ptr [rsp + 80] # 8-byte Reload - vpinsrb xmm4, xmm4, byte ptr [rdx + r15 + 3], 15 - vpinsrb xmm5, xmm8, byte ptr [rdx + rax + 3], 1 mov r11, qword ptr [rsp + 64] # 8-byte Reload - vpinsrb xmm5, xmm5, byte ptr [rdx + r11 + 3], 2 - mov rax, qword ptr [rsp + 176] # 8-byte Reload + vpinsrb xmm4, xmm4, byte ptr [rdx + r11 + 3], 14 + mov rcx, qword ptr [rsp + 96] # 8-byte Reload + vpinsrb xmm4, xmm4, byte ptr [rdx + rcx + 3], 15 + vpinsrb xmm5, xmm8, byte ptr [rdx + rax + 3], 1 + mov r13, rax + mov rax, qword ptr [rsp + 120] # 8-byte Reload + vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 3], 2 + mov rax, qword ptr [rsp + 56] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 3], 3 - mov rax, qword ptr [rsp + 104] # 8-byte Reload + mov rax, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 3], 4 - mov r10, qword ptr [rsp + 96] # 8-byte Reload - vpinsrb xmm5, xmm5, byte ptr [rdx + r10 + 3], 5 - mov r14, qword ptr [rsp + 160] # 8-byte Reload - vpinsrb xmm5, xmm5, byte ptr [rdx + r14 + 3], 6 - vpinsrb xmm5, xmm5, byte ptr [rdx + rsi + 3], 7 mov rax, qword ptr [rsp + 136] # 8-byte Reload - vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 3], 8 - mov rbx, qword ptr [rsp + 152] # 8-byte Reload - vpinsrb xmm5, xmm5, byte ptr [rdx + rbx + 3], 9 - mov rax, qword ptr [rsp + 320] # 8-byte Reload + vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 3], 5 + mov rax, qword ptr [rsp + 152] # 8-byte Reload + vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 3], 6 + vpinsrb xmm5, xmm5, byte ptr [rdx + rsi + 3], 7 + vpinsrb xmm5, xmm5, byte ptr [rdx + rbx + 3], 8 + mov rax, qword ptr [rsp + 176] # 8-byte Reload + vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 3], 9 + mov rax, qword ptr [rsp + 40] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 3], 10 - mov rax, qword ptr [rsp + 216] # 8-byte Reload + mov rax, qword ptr [rsp + 128] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 3], 11 - mov rax, qword ptr [rsp + 288] # 8-byte Reload + mov rax, qword ptr [rsp + 48] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 3], 12 mov rax, qword ptr [rsp + 32] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 3], 13 vinserti128 ymm0, ymm3, xmm0, 1 vmovdqa ymmword ptr [rsp + 480], ymm0 # 32-byte Spill - mov rax, qword ptr [rsp + 72] # 8-byte Reload + mov rax, qword ptr [rsp + 288] # 8-byte Reload vpinsrb xmm0, xmm5, byte ptr [rdx + rax + 3], 14 - mov rax, qword ptr [rsp + 256] # 8-byte Reload - movzx esi, byte ptr [rdx + rax + 9] + mov rcx, qword ptr [rsp + 240] # 8-byte Reload + movzx esi, byte ptr [rdx + rcx + 9] vmovd xmm8, esi - mov r12, qword ptr [rsp + 56] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + r12 + 3], 15 + mov rax, qword ptr [rsp + 320] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 3], 15 vinserti128 ymm0, ymm0, xmm4, 1 vmovdqa ymmword ptr [rsp + 448], ymm0 # 32-byte Spill - mov rax, qword ptr [rsp + 264] # 8-byte Reload - movzx esi, byte ptr [rdx + rax + 9] + mov rcx, qword ptr [rsp + 256] # 8-byte Reload + movzx esi, byte ptr [rdx + rcx + 9] vmovd xmm11, esi + mov r14, qword ptr [rsp + 104] # 8-byte Reload vmovdqa xmm0, xmmword ptr [rsp + 416] # 16-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + r8 + 4], 1 - mov rax, qword ptr [rsp + 168] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 4], 2 - mov rax, qword ptr [rsp + 112] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 4], 3 - mov r13, qword ptr [rsp + 240] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + r13 + 4], 4 - vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 4], 5 - mov rax, qword ptr [rsp + 40] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 4], 6 - mov rax, qword ptr [rsp + 200] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 4], 7 - vpinsrb xmm0, xmm0, byte ptr [rdx + rdi + 4], 8 - mov rax, qword ptr [rsp + 184] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 4], 9 - mov rax, qword ptr [rsp + 224] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 4], 10 + vpinsrb xmm0, xmm0, byte ptr [rdx + r14 + 4], 1 + mov r15, qword ptr [rsp + 264] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r15 + 4], 2 + vpinsrb xmm0, xmm0, byte ptr [rdx + r10 + 4], 3 + mov rdi, qword ptr [rsp + 112] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rdi + 4], 4 + mov rcx, r8 + vpinsrb xmm0, xmm0, byte ptr [rdx + r8 + 4], 5 + mov rbx, qword ptr [rsp + 144] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rbx + 4], 6 + vpinsrb xmm0, xmm0, byte ptr [rdx + r9 + 4], 7 + mov r9, qword ptr [rsp + 224] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r9 + 4], 8 + mov r8, qword ptr [rsp + 232] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r8 + 4], 9 mov rax, qword ptr [rsp + 88] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 4], 11 - mov rax, qword ptr [rsp + 128] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 4], 12 - mov rax, qword ptr [rsp + 208] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 4], 13 - vpinsrb xmm0, xmm0, byte ptr [rdx + r9 + 4], 14 - vpinsrb xmm0, xmm0, byte ptr [rdx + r15 + 4], 15 - mov rax, qword ptr [rsp + 120] # 8-byte Reload - vpinsrb xmm3, xmm13, byte ptr [rdx + rax + 4], 1 - vpinsrb xmm3, xmm3, byte ptr [rdx + r11 + 4], 2 - mov r11, qword ptr [rsp + 176] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + r11 + 4], 3 - mov rax, qword ptr [rsp + 104] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 4], 4 - vpinsrb xmm3, xmm3, byte ptr [rdx + r10 + 4], 5 - mov rsi, r14 - vpinsrb xmm3, xmm3, byte ptr [rdx + r14 + 4], 6 - mov r10, qword ptr [rsp + 144] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + r10 + 4], 7 - mov r9, qword ptr [rsp + 136] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + r9 + 4], 8 - vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 4], 9 - mov rbx, qword ptr [rsp + 320] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 4], 10 - mov r14, qword ptr [rsp + 216] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + r14 + 4], 11 - mov rbx, qword ptr [rsp + 288] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 4], 12 - mov rbx, qword ptr [rsp + 32] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 4], 13 - mov r15, qword ptr [rsp + 72] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + r15 + 4], 14 - vpinsrb xmm3, xmm3, byte ptr [rdx + r12 + 4], 15 - vpinsrb xmm4, xmm14, byte ptr [rdx + r8 + 5], 1 - mov r15, qword ptr [rsp + 168] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 4], 10 + vpinsrb xmm0, xmm0, byte ptr [rdx + r12 + 4], 11 + mov rsi, qword ptr [rsp + 80] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 4], 12 + mov rsi, qword ptr [rsp + 72] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 4], 13 + vpinsrb xmm0, xmm0, byte ptr [rdx + r11 + 4], 14 + mov r12, qword ptr [rsp + 96] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r12 + 4], 15 + vpinsrb xmm3, xmm13, byte ptr [rdx + r13 + 4], 1 + mov rsi, qword ptr [rsp + 120] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 4], 2 + mov rsi, qword ptr [rsp + 56] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 4], 3 + mov rsi, qword ptr [rsp + 168] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 4], 4 + mov rax, qword ptr [rsp + 136] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 4], 5 + mov rsi, qword ptr [rsp + 152] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 4], 6 + mov rax, qword ptr [rsp + 248] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 4], 7 + mov rax, qword ptr [rsp + 160] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 4], 8 + mov rax, qword ptr [rsp + 176] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 4], 9 + mov rax, qword ptr [rsp + 40] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 4], 10 + mov r11, qword ptr [rsp + 128] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + r11 + 4], 11 + mov r11, qword ptr [rsp + 48] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + r11 + 4], 12 + mov rax, qword ptr [rsp + 32] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 4], 13 + mov rax, qword ptr [rsp + 288] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 4], 14 + mov rax, qword ptr [rsp + 320] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 4], 15 + vpinsrb xmm4, xmm14, byte ptr [rdx + r14 + 5], 1 vpinsrb xmm4, xmm4, byte ptr [rdx + r15 + 5], 2 - mov rbx, qword ptr [rsp + 112] # 8-byte Reload - vpinsrb xmm4, xmm4, byte ptr [rdx + rbx + 5], 3 - vpinsrb xmm4, xmm4, byte ptr [rdx + r13 + 5], 4 + mov r14, r15 + vpinsrb xmm4, xmm4, byte ptr [rdx + r10 + 5], 3 + vpinsrb xmm4, xmm4, byte ptr [rdx + rdi + 5], 4 vpinsrb xmm4, xmm4, byte ptr [rdx + rcx + 5], 5 - mov rcx, qword ptr [rsp + 40] # 8-byte Reload - vpinsrb xmm4, xmm4, byte ptr [rdx + rcx + 5], 6 - mov rcx, qword ptr [rsp + 200] # 8-byte Reload - vpinsrb xmm4, xmm4, byte ptr [rdx + rcx + 5], 7 - vpinsrb xmm4, xmm4, byte ptr [rdx + rdi + 5], 8 - mov rcx, qword ptr [rsp + 184] # 8-byte Reload - vpinsrb xmm4, xmm4, byte ptr [rdx + rcx + 5], 9 - mov rcx, qword ptr [rsp + 224] # 8-byte Reload - vpinsrb xmm4, xmm4, byte ptr [rdx + rcx + 5], 10 - mov rdi, qword ptr [rsp + 88] # 8-byte Reload - vpinsrb xmm4, xmm4, byte ptr [rdx + rdi + 5], 11 - mov rdi, qword ptr [rsp + 128] # 8-byte Reload - vpinsrb xmm4, xmm4, byte ptr [rdx + rdi + 5], 12 - mov r13, qword ptr [rsp + 208] # 8-byte Reload - vpinsrb xmm4, xmm4, byte ptr [rdx + r13 + 5], 13 - mov rdi, qword ptr [rsp + 48] # 8-byte Reload - vpinsrb xmm4, xmm4, byte ptr [rdx + rdi + 5], 14 - mov rdi, qword ptr [rsp + 80] # 8-byte Reload - vpinsrb xmm4, xmm4, byte ptr [rdx + rdi + 5], 15 - mov rdi, qword ptr [rsp + 120] # 8-byte Reload - vpinsrb xmm5, xmm6, byte ptr [rdx + rdi + 5], 1 - mov rdi, qword ptr [rsp + 64] # 8-byte Reload - vpinsrb xmm5, xmm5, byte ptr [rdx + rdi + 5], 2 - vpinsrb xmm5, xmm5, byte ptr [rdx + r11 + 5], 3 + mov r10, rcx + vpinsrb xmm4, xmm4, byte ptr [rdx + rbx + 5], 6 + mov r15, qword ptr [rsp + 208] # 8-byte Reload + vpinsrb xmm4, xmm4, byte ptr [rdx + r15 + 5], 7 + vpinsrb xmm4, xmm4, byte ptr [rdx + r9 + 5], 8 + vpinsrb xmm4, xmm4, byte ptr [rdx + r8 + 5], 9 + mov r8, qword ptr [rsp + 88] # 8-byte Reload + vpinsrb xmm4, xmm4, byte ptr [rdx + r8 + 5], 10 + mov rcx, qword ptr [rsp + 216] # 8-byte Reload + vpinsrb xmm4, xmm4, byte ptr [rdx + rcx + 5], 11 + mov rax, qword ptr [rsp + 80] # 8-byte Reload + vpinsrb xmm4, xmm4, byte ptr [rdx + rax + 5], 12 + mov rax, qword ptr [rsp + 72] # 8-byte Reload + vpinsrb xmm4, xmm4, byte ptr [rdx + rax + 5], 13 + mov rax, qword ptr [rsp + 64] # 8-byte Reload + vpinsrb xmm4, xmm4, byte ptr [rdx + rax + 5], 14 + vpinsrb xmm4, xmm4, byte ptr [rdx + r12 + 5], 15 + vpinsrb xmm5, xmm6, byte ptr [rdx + r13 + 5], 1 + mov rax, qword ptr [rsp + 120] # 8-byte Reload + vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 5], 2 + mov rax, qword ptr [rsp + 56] # 8-byte Reload + vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 5], 3 + mov rax, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 5], 4 - mov rax, qword ptr [rsp + 96] # 8-byte Reload + mov rax, qword ptr [rsp + 136] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 5], 5 vpinsrb xmm5, xmm5, byte ptr [rdx + rsi + 5], 6 - vpinsrb xmm5, xmm5, byte ptr [rdx + r10 + 5], 7 - vpinsrb xmm5, xmm5, byte ptr [rdx + r9 + 5], 8 - mov r9, qword ptr [rsp + 152] # 8-byte Reload - vpinsrb xmm5, xmm5, byte ptr [rdx + r9 + 5], 9 - mov rax, qword ptr [rsp + 320] # 8-byte Reload + mov rbx, qword ptr [rsp + 248] # 8-byte Reload + vpinsrb xmm5, xmm5, byte ptr [rdx + rbx + 5], 7 + mov rax, qword ptr [rsp + 160] # 8-byte Reload + vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 5], 8 + mov rax, qword ptr [rsp + 176] # 8-byte Reload + vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 5], 9 + mov rax, qword ptr [rsp + 40] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 5], 10 - vpinsrb xmm5, xmm5, byte ptr [rdx + r14 + 5], 11 - mov rax, qword ptr [rsp + 288] # 8-byte Reload - vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 5], 12 + mov r13, qword ptr [rsp + 128] # 8-byte Reload + vpinsrb xmm5, xmm5, byte ptr [rdx + r13 + 5], 11 + vpinsrb xmm5, xmm5, byte ptr [rdx + r11 + 5], 12 + mov r12, r11 mov rax, qword ptr [rsp + 32] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 5], 13 - mov rax, qword ptr [rsp + 72] # 8-byte Reload + mov rax, qword ptr [rsp + 288] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 5], 14 vinserti128 ymm14, ymm3, xmm0, 1 - vpinsrb xmm0, xmm5, byte ptr [rdx + r12 + 5], 15 - mov rax, qword ptr [rsp + 256] # 8-byte Reload + mov rax, qword ptr [rsp + 320] # 8-byte Reload + vpinsrb xmm0, xmm5, byte ptr [rdx + rax + 5], 15 + mov rax, qword ptr [rsp + 240] # 8-byte Reload movzx esi, byte ptr [rdx + rax + 10] vmovd xmm3, esi vinserti128 ymm0, ymm0, xmm4, 1 vmovdqa ymmword ptr [rsp + 416], ymm0 # 32-byte Spill - mov rax, qword ptr [rsp + 264] # 8-byte Reload - movzx esi, byte ptr [rdx + rax + 10] + mov rsi, qword ptr [rsp + 256] # 8-byte Reload + movzx esi, byte ptr [rdx + rsi + 10] vmovd xmm4, esi - mov r14, r8 - vpinsrb xmm0, xmm12, byte ptr [rdx + r8 + 6], 1 - vpinsrb xmm0, xmm0, byte ptr [rdx + r15 + 6], 2 - vpinsrb xmm0, xmm0, byte ptr [rdx + rbx + 6], 3 - mov r11, qword ptr [rsp + 240] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + r11 + 6], 4 - mov r8, qword ptr [rsp + 248] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + r8 + 6], 5 - mov rax, qword ptr [rsp + 40] # 8-byte Reload + mov rdi, qword ptr [rsp + 104] # 8-byte Reload + vpinsrb xmm0, xmm12, byte ptr [rdx + rdi + 6], 1 + vpinsrb xmm0, xmm0, byte ptr [rdx + r14 + 6], 2 + mov rax, qword ptr [rsp + 200] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 6], 3 + mov r14, qword ptr [rsp + 112] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r14 + 6], 4 + vpinsrb xmm0, xmm0, byte ptr [rdx + r10 + 6], 5 + mov rax, qword ptr [rsp + 144] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 6], 6 - mov rdi, qword ptr [rsp + 200] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rdi + 6], 7 - mov rax, qword ptr [rsp + 192] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 6], 8 - mov rax, qword ptr [rsp + 184] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 6], 9 - vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 6], 10 - mov r10, qword ptr [rsp + 88] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + r10 + 6], 11 - mov rax, qword ptr [rsp + 128] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 6], 12 - vpinsrb xmm0, xmm0, byte ptr [rdx + r13 + 6], 13 - mov rcx, qword ptr [rsp + 48] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 6], 14 - mov rcx, qword ptr [rsp + 80] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 6], 15 - mov rcx, qword ptr [rsp + 120] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r15 + 6], 7 + vpinsrb xmm0, xmm0, byte ptr [rdx + r9 + 6], 8 + mov rsi, qword ptr [rsp + 232] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 6], 9 + vpinsrb xmm0, xmm0, byte ptr [rdx + r8 + 6], 10 + vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 6], 11 + mov r8, qword ptr [rsp + 80] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r8 + 6], 12 + mov r9, qword ptr [rsp + 72] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r9 + 6], 13 + mov rsi, qword ptr [rsp + 64] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 6], 14 + mov r10, qword ptr [rsp + 96] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r10 + 6], 15 + mov rcx, qword ptr [rsp + 192] # 8-byte Reload vpinsrb xmm5, xmm7, byte ptr [rdx + rcx + 6], 1 - mov rcx, qword ptr [rsp + 64] # 8-byte Reload - vpinsrb xmm5, xmm5, byte ptr [rdx + rcx + 6], 2 - mov rcx, qword ptr [rsp + 176] # 8-byte Reload - vpinsrb xmm5, xmm5, byte ptr [rdx + rcx + 6], 3 - mov rcx, qword ptr [rsp + 104] # 8-byte Reload - vpinsrb xmm5, xmm5, byte ptr [rdx + rcx + 6], 4 - mov rsi, qword ptr [rsp + 96] # 8-byte Reload + mov rsi, qword ptr [rsp + 120] # 8-byte Reload + vpinsrb xmm5, xmm5, byte ptr [rdx + rsi + 6], 2 + mov rsi, qword ptr [rsp + 56] # 8-byte Reload + vpinsrb xmm5, xmm5, byte ptr [rdx + rsi + 6], 3 + mov rsi, qword ptr [rsp + 168] # 8-byte Reload + vpinsrb xmm5, xmm5, byte ptr [rdx + rsi + 6], 4 + mov rsi, qword ptr [rsp + 136] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rsi + 6], 5 - mov rbx, qword ptr [rsp + 160] # 8-byte Reload - vpinsrb xmm5, xmm5, byte ptr [rdx + rbx + 6], 6 - mov rcx, qword ptr [rsp + 144] # 8-byte Reload - vpinsrb xmm5, xmm5, byte ptr [rdx + rcx + 6], 7 - mov rcx, qword ptr [rsp + 136] # 8-byte Reload - vpinsrb xmm5, xmm5, byte ptr [rdx + rcx + 6], 8 - vpinsrb xmm5, xmm5, byte ptr [rdx + r9 + 6], 9 - mov rcx, qword ptr [rsp + 320] # 8-byte Reload + mov rcx, qword ptr [rsp + 152] # 8-byte Reload + vpinsrb xmm5, xmm5, byte ptr [rdx + rcx + 6], 6 + vpinsrb xmm5, xmm5, byte ptr [rdx + rbx + 6], 7 + mov r11, qword ptr [rsp + 160] # 8-byte Reload + vpinsrb xmm5, xmm5, byte ptr [rdx + r11 + 6], 8 + mov rbx, qword ptr [rsp + 176] # 8-byte Reload + vpinsrb xmm5, xmm5, byte ptr [rdx + rbx + 6], 9 + mov rcx, qword ptr [rsp + 40] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rcx + 6], 10 - mov r12, qword ptr [rsp + 216] # 8-byte Reload - vpinsrb xmm5, xmm5, byte ptr [rdx + r12 + 6], 11 - mov r9, qword ptr [rsp + 288] # 8-byte Reload - vpinsrb xmm5, xmm5, byte ptr [rdx + r9 + 6], 12 - mov r13, qword ptr [rsp + 32] # 8-byte Reload - vpinsrb xmm5, xmm5, byte ptr [rdx + r13 + 6], 13 - mov rcx, qword ptr [rsp + 72] # 8-byte Reload + mov r15, r13 + vpinsrb xmm5, xmm5, byte ptr [rdx + r13 + 6], 11 + vpinsrb xmm5, xmm5, byte ptr [rdx + r12 + 6], 12 + mov rcx, qword ptr [rsp + 32] # 8-byte Reload + vpinsrb xmm5, xmm5, byte ptr [rdx + rcx + 6], 13 + mov rcx, qword ptr [rsp + 288] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rcx + 6], 14 - mov r13, qword ptr [rsp + 56] # 8-byte Reload + mov r13, qword ptr [rsp + 320] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + r13 + 6], 15 - vpinsrb xmm2, xmm2, byte ptr [rdx + r14 + 7], 1 - vpinsrb xmm2, xmm2, byte ptr [rdx + r15 + 7], 2 - mov r13, qword ptr [rsp + 112] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r13 + 7], 3 - vpinsrb xmm2, xmm2, byte ptr [rdx + r11 + 7], 4 - vpinsrb xmm2, xmm2, byte ptr [rdx + r8 + 7], 5 - mov rcx, qword ptr [rsp + 40] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 7], 6 - vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 7], 7 - mov r14, qword ptr [rsp + 192] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r14 + 7], 8 - mov rcx, qword ptr [rsp + 184] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 7], 9 - mov rcx, qword ptr [rsp + 224] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 7], 10 - vpinsrb xmm2, xmm2, byte ptr [rdx + r10 + 7], 11 - vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 7], 12 + vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 7], 1 + mov r13, qword ptr [rsp + 264] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + r13 + 7], 2 + mov rdi, qword ptr [rsp + 200] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 7], 3 + vpinsrb xmm2, xmm2, byte ptr [rdx + r14 + 7], 4 + mov rdi, qword ptr [rsp + 184] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 7], 5 + vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 7], 6 mov rax, qword ptr [rsp + 208] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 7], 13 - mov r15, qword ptr [rsp + 48] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r15 + 7], 14 - mov rcx, qword ptr [rsp + 80] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 7], 15 + vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 7], 7 + mov rcx, qword ptr [rsp + 224] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 7], 8 + mov rcx, qword ptr [rsp + 232] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 7], 9 + mov rdi, qword ptr [rsp + 88] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 7], 10 + mov rdi, qword ptr [rsp + 216] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 7], 11 + vpinsrb xmm2, xmm2, byte ptr [rdx + r8 + 7], 12 + vpinsrb xmm2, xmm2, byte ptr [rdx + r9 + 7], 13 + mov rcx, qword ptr [rsp + 64] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 7], 14 + vpinsrb xmm2, xmm2, byte ptr [rdx + r10 + 7], 15 + mov r14, qword ptr [rsp + 192] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + r14 + 7], 1 mov rcx, qword ptr [rsp + 120] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 7], 1 - mov rdi, qword ptr [rsp + 64] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 7], 2 - mov rcx, qword ptr [rsp + 176] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 7], 2 + mov rcx, qword ptr [rsp + 56] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 7], 3 - mov rdi, qword ptr [rsp + 104] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 7], 4 + mov rcx, qword ptr [rsp + 168] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 7], 4 vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 7], 5 - vpinsrb xmm1, xmm1, byte ptr [rdx + rbx + 7], 6 - mov rsi, qword ptr [rsp + 144] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 7], 7 - mov rcx, qword ptr [rsp + 136] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 7], 8 - mov rdi, qword ptr [rsp + 152] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 7], 9 - mov rcx, qword ptr [rsp + 320] # 8-byte Reload + mov rcx, qword ptr [rsp + 152] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 7], 6 + mov rcx, qword ptr [rsp + 248] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 7], 7 + vpinsrb xmm1, xmm1, byte ptr [rdx + r11 + 7], 8 + vpinsrb xmm1, xmm1, byte ptr [rdx + rbx + 7], 9 + mov rcx, qword ptr [rsp + 40] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 7], 10 - vpinsrb xmm1, xmm1, byte ptr [rdx + r12 + 7], 11 - vpinsrb xmm1, xmm1, byte ptr [rdx + r9 + 7], 12 + vpinsrb xmm1, xmm1, byte ptr [rdx + r15 + 7], 11 + vpinsrb xmm1, xmm1, byte ptr [rdx + r12 + 7], 12 mov rcx, qword ptr [rsp + 32] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 7], 13 vinserti128 ymm0, ymm5, xmm0, 1 vmovdqa ymmword ptr [rsp + 1184], ymm0 # 32-byte Spill - mov rcx, qword ptr [rsp + 72] # 8-byte Reload + mov rcx, qword ptr [rsp + 288] # 8-byte Reload vpinsrb xmm0, xmm1, byte ptr [rdx + rcx + 7], 14 - mov rcx, qword ptr [rsp + 256] # 8-byte Reload + mov rcx, qword ptr [rsp + 240] # 8-byte Reload movzx esi, byte ptr [rdx + rcx + 11] vmovd xmm1, esi - mov r12, qword ptr [rsp + 56] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + r12 + 7], 15 + mov rcx, qword ptr [rsp + 320] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 7], 15 vinserti128 ymm0, ymm0, xmm2, 1 vmovdqa ymmword ptr [rsp + 1152], ymm0 # 32-byte Spill - mov rcx, qword ptr [rsp + 264] # 8-byte Reload + mov rcx, qword ptr [rsp + 256] # 8-byte Reload movzx esi, byte ptr [rdx + rcx + 11] vmovd xmm2, esi - mov rcx, qword ptr [rsp + 232] # 8-byte Reload + mov rcx, qword ptr [rsp + 104] # 8-byte Reload vpinsrb xmm0, xmm9, byte ptr [rdx + rcx + 8], 1 - mov r8, qword ptr [rsp + 168] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + r8 + 8], 2 - vpinsrb xmm0, xmm0, byte ptr [rdx + r13 + 8], 3 - mov r13, r11 - vpinsrb xmm0, xmm0, byte ptr [rdx + r11 + 8], 4 - mov r11, qword ptr [rsp + 248] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + r11 + 8], 5 - mov rcx, qword ptr [rsp + 40] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 8], 6 - mov rsi, qword ptr [rsp + 200] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 8], 7 - vpinsrb xmm0, xmm0, byte ptr [rdx + r14 + 8], 8 - mov r10, qword ptr [rsp + 184] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + r10 + 8], 9 - mov rbx, qword ptr [rsp + 224] # 8-byte Reload + mov r15, r13 + vpinsrb xmm0, xmm0, byte ptr [rdx + r13 + 8], 2 + mov rcx, qword ptr [rsp + 200] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 8], 3 + mov rsi, qword ptr [rsp + 112] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 8], 4 + mov r13, qword ptr [rsp + 184] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r13 + 8], 5 + mov rsi, qword ptr [rsp + 144] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 8], 6 + mov r8, rax + vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 8], 7 + mov rdi, qword ptr [rsp + 224] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rdi + 8], 8 + mov r12, qword ptr [rsp + 232] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r12 + 8], 9 + mov rbx, qword ptr [rsp + 88] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rbx + 8], 10 - mov rsi, qword ptr [rsp + 88] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 8], 11 - mov rsi, qword ptr [rsp + 128] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 8], 12 + mov r9, qword ptr [rsp + 216] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r9 + 8], 11 + mov r10, qword ptr [rsp + 80] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r10 + 8], 12 + mov rax, qword ptr [rsp + 72] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 8], 13 - vpinsrb xmm0, xmm0, byte ptr [rdx + r15 + 8], 14 - mov rax, qword ptr [rsp + 80] # 8-byte Reload + mov rax, qword ptr [rsp + 64] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 8], 14 + mov rax, qword ptr [rsp + 96] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 8], 15 + vpinsrb xmm5, xmm10, byte ptr [rdx + r14 + 8], 1 mov rax, qword ptr [rsp + 120] # 8-byte Reload - vpinsrb xmm5, xmm10, byte ptr [rdx + rax + 8], 1 - mov r9, qword ptr [rsp + 64] # 8-byte Reload - vpinsrb xmm5, xmm5, byte ptr [rdx + r9 + 8], 2 - mov r15, qword ptr [rsp + 176] # 8-byte Reload - vpinsrb xmm5, xmm5, byte ptr [rdx + r15 + 8], 3 - mov rsi, qword ptr [rsp + 104] # 8-byte Reload + vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 8], 2 + mov rax, qword ptr [rsp + 56] # 8-byte Reload + vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 8], 3 + mov rsi, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rsi + 8], 4 - mov rax, qword ptr [rsp + 96] # 8-byte Reload - vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 8], 5 - mov r14, qword ptr [rsp + 160] # 8-byte Reload - vpinsrb xmm5, xmm5, byte ptr [rdx + r14 + 8], 6 - mov rax, qword ptr [rsp + 144] # 8-byte Reload - vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 8], 7 mov rax, qword ptr [rsp + 136] # 8-byte Reload - vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 8], 8 - vpinsrb xmm5, xmm5, byte ptr [rdx + rdi + 8], 9 - mov rax, qword ptr [rsp + 320] # 8-byte Reload + vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 8], 5 + mov rax, qword ptr [rsp + 152] # 8-byte Reload + vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 8], 6 + mov r14, qword ptr [rsp + 248] # 8-byte Reload + vpinsrb xmm5, xmm5, byte ptr [rdx + r14 + 8], 7 + vpinsrb xmm5, xmm5, byte ptr [rdx + r11 + 8], 8 + mov rax, qword ptr [rsp + 176] # 8-byte Reload + vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 8], 9 + mov rax, qword ptr [rsp + 40] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 8], 10 - mov rax, qword ptr [rsp + 216] # 8-byte Reload + mov rax, qword ptr [rsp + 128] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 8], 11 - mov rdi, qword ptr [rsp + 288] # 8-byte Reload - vpinsrb xmm5, xmm5, byte ptr [rdx + rdi + 8], 12 - mov rdi, qword ptr [rsp + 32] # 8-byte Reload - vpinsrb xmm5, xmm5, byte ptr [rdx + rdi + 8], 13 - mov rdi, qword ptr [rsp + 72] # 8-byte Reload - vpinsrb xmm5, xmm5, byte ptr [rdx + rdi + 8], 14 - vpinsrb xmm5, xmm5, byte ptr [rdx + r12 + 8], 15 - mov r12, qword ptr [rsp + 232] # 8-byte Reload - vpinsrb xmm6, xmm8, byte ptr [rdx + r12 + 9], 1 - vpinsrb xmm6, xmm6, byte ptr [rdx + r8 + 9], 2 - mov rdi, qword ptr [rsp + 112] # 8-byte Reload - vpinsrb xmm6, xmm6, byte ptr [rdx + rdi + 9], 3 - vpinsrb xmm6, xmm6, byte ptr [rdx + r13 + 9], 4 - vpinsrb xmm6, xmm6, byte ptr [rdx + r11 + 9], 5 - vpinsrb xmm6, xmm6, byte ptr [rdx + rcx + 9], 6 - mov rcx, qword ptr [rsp + 200] # 8-byte Reload - vpinsrb xmm6, xmm6, byte ptr [rdx + rcx + 9], 7 - mov rcx, qword ptr [rsp + 192] # 8-byte Reload - vpinsrb xmm6, xmm6, byte ptr [rdx + rcx + 9], 8 - vpinsrb xmm6, xmm6, byte ptr [rdx + r10 + 9], 9 + mov rax, qword ptr [rsp + 48] # 8-byte Reload + vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 8], 12 + mov rax, qword ptr [rsp + 32] # 8-byte Reload + vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 8], 13 + mov rax, qword ptr [rsp + 288] # 8-byte Reload + vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 8], 14 + mov rax, qword ptr [rsp + 320] # 8-byte Reload + vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 8], 15 + mov rax, qword ptr [rsp + 104] # 8-byte Reload + vpinsrb xmm6, xmm8, byte ptr [rdx + rax + 9], 1 + vpinsrb xmm6, xmm6, byte ptr [rdx + r15 + 9], 2 + vpinsrb xmm6, xmm6, byte ptr [rdx + rcx + 9], 3 + mov rax, qword ptr [rsp + 112] # 8-byte Reload + vpinsrb xmm6, xmm6, byte ptr [rdx + rax + 9], 4 + vpinsrb xmm6, xmm6, byte ptr [rdx + r13 + 9], 5 + mov rax, qword ptr [rsp + 144] # 8-byte Reload + vpinsrb xmm6, xmm6, byte ptr [rdx + rax + 9], 6 + vpinsrb xmm6, xmm6, byte ptr [rdx + r8 + 9], 7 + vpinsrb xmm6, xmm6, byte ptr [rdx + rdi + 9], 8 + vpinsrb xmm6, xmm6, byte ptr [rdx + r12 + 9], 9 vpinsrb xmm6, xmm6, byte ptr [rdx + rbx + 9], 10 - mov rcx, qword ptr [rsp + 88] # 8-byte Reload - vpinsrb xmm6, xmm6, byte ptr [rdx + rcx + 9], 11 - mov r11, qword ptr [rsp + 128] # 8-byte Reload - vpinsrb xmm6, xmm6, byte ptr [rdx + r11 + 9], 12 - mov rcx, qword ptr [rsp + 208] # 8-byte Reload - vpinsrb xmm6, xmm6, byte ptr [rdx + rcx + 9], 13 - mov rcx, qword ptr [rsp + 48] # 8-byte Reload - vpinsrb xmm6, xmm6, byte ptr [rdx + rcx + 9], 14 - mov r12, qword ptr [rsp + 80] # 8-byte Reload - vpinsrb xmm6, xmm6, byte ptr [rdx + r12 + 9], 15 - mov rcx, qword ptr [rsp + 120] # 8-byte Reload - vpinsrb xmm7, xmm11, byte ptr [rdx + rcx + 9], 1 - vpinsrb xmm7, xmm7, byte ptr [rdx + r9 + 9], 2 - vpinsrb xmm7, xmm7, byte ptr [rdx + r15 + 9], 3 + vpinsrb xmm6, xmm6, byte ptr [rdx + r9 + 9], 11 + vpinsrb xmm6, xmm6, byte ptr [rdx + r10 + 9], 12 + mov r10, qword ptr [rsp + 72] # 8-byte Reload + vpinsrb xmm6, xmm6, byte ptr [rdx + r10 + 9], 13 + mov rax, qword ptr [rsp + 64] # 8-byte Reload + vpinsrb xmm6, xmm6, byte ptr [rdx + rax + 9], 14 + mov rax, qword ptr [rsp + 96] # 8-byte Reload + vpinsrb xmm6, xmm6, byte ptr [rdx + rax + 9], 15 + mov rax, qword ptr [rsp + 192] # 8-byte Reload + vpinsrb xmm7, xmm11, byte ptr [rdx + rax + 9], 1 + mov r13, qword ptr [rsp + 120] # 8-byte Reload + vpinsrb xmm7, xmm7, byte ptr [rdx + r13 + 9], 2 + mov rax, qword ptr [rsp + 56] # 8-byte Reload + vpinsrb xmm7, xmm7, byte ptr [rdx + rax + 9], 3 vpinsrb xmm7, xmm7, byte ptr [rdx + rsi + 9], 4 - mov r13, qword ptr [rsp + 96] # 8-byte Reload - vpinsrb xmm7, xmm7, byte ptr [rdx + r13 + 9], 5 - vpinsrb xmm7, xmm7, byte ptr [rdx + r14 + 9], 6 - mov rbx, qword ptr [rsp + 144] # 8-byte Reload - vpinsrb xmm7, xmm7, byte ptr [rdx + rbx + 9], 7 - mov r15, qword ptr [rsp + 136] # 8-byte Reload - vpinsrb xmm7, xmm7, byte ptr [rdx + r15 + 9], 8 - mov rcx, qword ptr [rsp + 152] # 8-byte Reload - vpinsrb xmm7, xmm7, byte ptr [rdx + rcx + 9], 9 - mov rcx, qword ptr [rsp + 320] # 8-byte Reload - vpinsrb xmm7, xmm7, byte ptr [rdx + rcx + 9], 10 + mov rbx, qword ptr [rsp + 136] # 8-byte Reload + vpinsrb xmm7, xmm7, byte ptr [rdx + rbx + 9], 5 + mov rax, qword ptr [rsp + 152] # 8-byte Reload + vpinsrb xmm7, xmm7, byte ptr [rdx + rax + 9], 6 + vpinsrb xmm7, xmm7, byte ptr [rdx + r14 + 9], 7 + vpinsrb xmm7, xmm7, byte ptr [rdx + r11 + 9], 8 + mov r14, r11 + mov rax, qword ptr [rsp + 176] # 8-byte Reload + vpinsrb xmm7, xmm7, byte ptr [rdx + rax + 9], 9 + mov rax, qword ptr [rsp + 40] # 8-byte Reload + vpinsrb xmm7, xmm7, byte ptr [rdx + rax + 9], 10 + mov rax, qword ptr [rsp + 128] # 8-byte Reload vpinsrb xmm7, xmm7, byte ptr [rdx + rax + 9], 11 - mov rax, qword ptr [rsp + 288] # 8-byte Reload + mov rax, qword ptr [rsp + 48] # 8-byte Reload vpinsrb xmm7, xmm7, byte ptr [rdx + rax + 9], 12 mov rax, qword ptr [rsp + 32] # 8-byte Reload vpinsrb xmm7, xmm7, byte ptr [rdx + rax + 9], 13 - mov rax, qword ptr [rsp + 72] # 8-byte Reload + mov rax, qword ptr [rsp + 288] # 8-byte Reload vpinsrb xmm7, xmm7, byte ptr [rdx + rax + 9], 14 vinserti128 ymm0, ymm5, xmm0, 1 vmovdqa ymmword ptr [rsp + 1120], ymm0 # 32-byte Spill - mov rax, qword ptr [rsp + 56] # 8-byte Reload + mov rax, qword ptr [rsp + 320] # 8-byte Reload vpinsrb xmm5, xmm7, byte ptr [rdx + rax + 9], 15 - mov rax, qword ptr [rsp + 256] # 8-byte Reload + mov rax, qword ptr [rsp + 240] # 8-byte Reload movzx esi, byte ptr [rdx + rax + 12] vmovd xmm0, esi vinserti128 ymm5, ymm5, xmm6, 1 vmovdqa ymmword ptr [rsp + 1088], ymm5 # 32-byte Spill - mov rax, qword ptr [rsp + 264] # 8-byte Reload + mov rax, qword ptr [rsp + 256] # 8-byte Reload movzx esi, byte ptr [rdx + rax + 12] vmovd xmm5, esi - mov rdi, qword ptr [rsp + 232] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 10], 1 - vpinsrb xmm3, xmm3, byte ptr [rdx + r8 + 10], 2 - mov rcx, qword ptr [rsp + 112] # 8-byte Reload + mov rax, qword ptr [rsp + 104] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 10], 1 + vpinsrb xmm3, xmm3, byte ptr [rdx + r15 + 10], 2 vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 10], 3 - mov rax, qword ptr [rsp + 240] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 10], 4 - mov rax, qword ptr [rsp + 248] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 10], 5 - mov rax, qword ptr [rsp + 40] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 10], 6 - mov r9, qword ptr [rsp + 200] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + r9 + 10], 7 - mov r14, qword ptr [rsp + 192] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + r14 + 10], 8 - vpinsrb xmm3, xmm3, byte ptr [rdx + r10 + 10], 9 - mov rax, qword ptr [rsp + 224] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 10], 10 - mov rax, qword ptr [rsp + 88] # 8-byte Reload + mov rdi, qword ptr [rsp + 112] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 10], 4 + mov r8, qword ptr [rsp + 184] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + r8 + 10], 5 + mov rsi, qword ptr [rsp + 144] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 10], 6 + mov rsi, qword ptr [rsp + 208] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 10], 7 + mov r9, qword ptr [rsp + 224] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + r9 + 10], 8 + vpinsrb xmm3, xmm3, byte ptr [rdx + r12 + 10], 9 + mov rsi, qword ptr [rsp + 88] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 10], 10 + mov rax, qword ptr [rsp + 216] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 10], 11 - vpinsrb xmm3, xmm3, byte ptr [rdx + r11 + 10], 12 - mov r10, qword ptr [rsp + 208] # 8-byte Reload + mov rax, qword ptr [rsp + 80] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 10], 12 vpinsrb xmm3, xmm3, byte ptr [rdx + r10 + 10], 13 - mov r11, qword ptr [rsp + 48] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + r11 + 10], 14 - vpinsrb xmm3, xmm3, byte ptr [rdx + r12 + 10], 15 - mov rax, qword ptr [rsp + 120] # 8-byte Reload - vpinsrb xmm4, xmm4, byte ptr [rdx + rax + 10], 1 mov rax, qword ptr [rsp + 64] # 8-byte Reload - vpinsrb xmm4, xmm4, byte ptr [rdx + rax + 10], 2 - mov rsi, qword ptr [rsp + 176] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 10], 14 + mov rsi, qword ptr [rsp + 96] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 10], 15 + mov rax, qword ptr [rsp + 192] # 8-byte Reload + vpinsrb xmm4, xmm4, byte ptr [rdx + rax + 10], 1 + vpinsrb xmm4, xmm4, byte ptr [rdx + r13 + 10], 2 + mov rsi, qword ptr [rsp + 56] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + rsi + 10], 3 - mov r12, qword ptr [rsp + 104] # 8-byte Reload - vpinsrb xmm4, xmm4, byte ptr [rdx + r12 + 10], 4 - vpinsrb xmm4, xmm4, byte ptr [rdx + r13 + 10], 5 - mov rax, qword ptr [rsp + 160] # 8-byte Reload - vpinsrb xmm4, xmm4, byte ptr [rdx + rax + 10], 6 + mov r11, qword ptr [rsp + 168] # 8-byte Reload + vpinsrb xmm4, xmm4, byte ptr [rdx + r11 + 10], 4 + vpinsrb xmm4, xmm4, byte ptr [rdx + rbx + 10], 5 + mov r10, qword ptr [rsp + 152] # 8-byte Reload + vpinsrb xmm4, xmm4, byte ptr [rdx + r10 + 10], 6 + mov rbx, qword ptr [rsp + 248] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + rbx + 10], 7 - vpinsrb xmm4, xmm4, byte ptr [rdx + r15 + 10], 8 - mov rax, qword ptr [rsp + 152] # 8-byte Reload - vpinsrb xmm4, xmm4, byte ptr [rdx + rax + 10], 9 - mov rbx, qword ptr [rsp + 320] # 8-byte Reload - vpinsrb xmm4, xmm4, byte ptr [rdx + rbx + 10], 10 - mov r15, qword ptr [rsp + 216] # 8-byte Reload - vpinsrb xmm4, xmm4, byte ptr [rdx + r15 + 10], 11 + vpinsrb xmm4, xmm4, byte ptr [rdx + r14 + 10], 8 + mov r13, qword ptr [rsp + 176] # 8-byte Reload + vpinsrb xmm4, xmm4, byte ptr [rdx + r13 + 10], 9 + mov r14, qword ptr [rsp + 40] # 8-byte Reload + vpinsrb xmm4, xmm4, byte ptr [rdx + r14 + 10], 10 + mov rbx, qword ptr [rsp + 128] # 8-byte Reload + vpinsrb xmm4, xmm4, byte ptr [rdx + rbx + 10], 11 + mov rax, qword ptr [rsp + 48] # 8-byte Reload + vpinsrb xmm4, xmm4, byte ptr [rdx + rax + 10], 12 + mov r12, qword ptr [rsp + 32] # 8-byte Reload + vpinsrb xmm4, xmm4, byte ptr [rdx + r12 + 10], 13 mov rbx, qword ptr [rsp + 288] # 8-byte Reload - vpinsrb xmm4, xmm4, byte ptr [rdx + rbx + 10], 12 - mov rbx, qword ptr [rsp + 32] # 8-byte Reload - vpinsrb xmm4, xmm4, byte ptr [rdx + rbx + 10], 13 - mov r13, qword ptr [rsp + 72] # 8-byte Reload - vpinsrb xmm4, xmm4, byte ptr [rdx + r13 + 10], 14 - mov rbx, qword ptr [rsp + 56] # 8-byte Reload + vpinsrb xmm4, xmm4, byte ptr [rdx + rbx + 10], 14 + mov rbx, qword ptr [rsp + 320] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + rbx + 10], 15 - vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 11], 1 - vpinsrb xmm1, xmm1, byte ptr [rdx + r8 + 11], 2 + mov rax, qword ptr [rsp + 104] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 11], 1 + vpinsrb xmm1, xmm1, byte ptr [rdx + r15 + 11], 2 vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 11], 3 - mov rcx, qword ptr [rsp + 240] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 11], 4 - mov rdi, qword ptr [rsp + 248] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 11], 5 - mov rdi, qword ptr [rsp + 40] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 11], 6 - vpinsrb xmm1, xmm1, byte ptr [rdx + r9 + 11], 7 - vpinsrb xmm1, xmm1, byte ptr [rdx + r14 + 11], 8 - mov rdi, qword ptr [rsp + 184] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 11], 9 - mov r14, qword ptr [rsp + 224] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + r14 + 11], 10 - mov r9, qword ptr [rsp + 88] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + r9 + 11], 11 - mov rdi, qword ptr [rsp + 128] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 11], 12 - vpinsrb xmm1, xmm1, byte ptr [rdx + r10 + 11], 13 - vpinsrb xmm1, xmm1, byte ptr [rdx + r11 + 11], 14 - mov r11, qword ptr [rsp + 80] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + r11 + 11], 15 + vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 11], 4 + vpinsrb xmm1, xmm1, byte ptr [rdx + r8 + 11], 5 + mov rcx, qword ptr [rsp + 144] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 11], 6 + mov rax, qword ptr [rsp + 208] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 11], 7 + vpinsrb xmm1, xmm1, byte ptr [rdx + r9 + 11], 8 + mov rax, qword ptr [rsp + 232] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 11], 9 + mov rax, qword ptr [rsp + 88] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 11], 10 + mov rax, qword ptr [rsp + 216] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 11], 11 + mov rax, qword ptr [rsp + 80] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 11], 12 + mov rax, qword ptr [rsp + 72] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 11], 13 + mov r8, qword ptr [rsp + 64] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + r8 + 11], 14 + mov rax, qword ptr [rsp + 96] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 11], 15 + mov rax, qword ptr [rsp + 192] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 11], 1 mov rdi, qword ptr [rsp + 120] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 11], 1 - mov rbx, qword ptr [rsp + 64] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rbx + 11], 2 + vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 11], 2 vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 11], 3 - vpinsrb xmm2, xmm2, byte ptr [rdx + r12 + 11], 4 - mov rsi, qword ptr [rsp + 96] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + r11 + 11], 4 + mov rsi, qword ptr [rsp + 136] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 11], 5 - mov rbx, qword ptr [rsp + 160] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rbx + 11], 6 - mov r8, qword ptr [rsp + 144] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r8 + 11], 7 - mov r12, qword ptr [rsp + 136] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r12 + 11], 8 - vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 11], 9 - mov rax, qword ptr [rsp + 320] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 11], 10 - vpinsrb xmm2, xmm2, byte ptr [rdx + r15 + 11], 11 - mov rax, qword ptr [rsp + 288] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 11], 12 - mov rax, qword ptr [rsp + 32] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 11], 13 + vpinsrb xmm2, xmm2, byte ptr [rdx + r10 + 11], 6 + mov r15, qword ptr [rsp + 248] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + r15 + 11], 7 + mov rsi, qword ptr [rsp + 160] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 11], 8 + vpinsrb xmm2, xmm2, byte ptr [rdx + r13 + 11], 9 + vpinsrb xmm2, xmm2, byte ptr [rdx + r14 + 11], 10 + mov rsi, qword ptr [rsp + 128] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 11], 11 + mov rsi, qword ptr [rsp + 48] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 11], 12 + vpinsrb xmm2, xmm2, byte ptr [rdx + r12 + 11], 13 vinserti128 ymm3, ymm4, xmm3, 1 vmovdqa ymmword ptr [rsp + 1056], ymm3 # 32-byte Spill + mov r13, qword ptr [rsp + 288] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + r13 + 11], 14 - mov rax, qword ptr [rsp + 256] # 8-byte Reload - movzx esi, byte ptr [rdx + rax + 13] + mov rsi, qword ptr [rsp + 240] # 8-byte Reload + movzx esi, byte ptr [rdx + rsi + 13] vmovd xmm3, esi - mov rax, qword ptr [rsp + 56] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 11], 15 + vpinsrb xmm2, xmm2, byte ptr [rdx + rbx + 11], 15 vinserti128 ymm1, ymm2, xmm1, 1 vmovdqa ymmword ptr [rsp + 1024], ymm1 # 32-byte Spill - mov rax, qword ptr [rsp + 264] # 8-byte Reload - movzx esi, byte ptr [rdx + rax + 13] + mov rsi, qword ptr [rsp + 256] # 8-byte Reload + movzx esi, byte ptr [rdx + rsi + 13] vmovd xmm1, esi - mov rax, qword ptr [rsp + 232] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 12], 1 - mov rax, qword ptr [rsp + 168] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 12], 2 - mov rax, qword ptr [rsp + 112] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 12], 3 - vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 12], 4 - mov r10, qword ptr [rsp + 248] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + r10 + 12], 5 - mov rax, qword ptr [rsp + 40] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 12], 6 - mov rax, qword ptr [rsp + 200] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 12], 7 - mov rax, qword ptr [rsp + 192] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 12], 8 - mov rax, qword ptr [rsp + 184] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 12], 9 + mov rsi, qword ptr [rsp + 104] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 12], 1 + mov r12, qword ptr [rsp + 264] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r12 + 12], 2 + mov rdi, qword ptr [rsp + 200] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rdi + 12], 3 + mov rsi, qword ptr [rsp + 112] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 12], 4 + mov rsi, qword ptr [rsp + 184] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 12], 5 + vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 12], 6 + mov rcx, qword ptr [rsp + 208] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 12], 7 + mov rsi, qword ptr [rsp + 224] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 12], 8 + mov r9, qword ptr [rsp + 232] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r9 + 12], 9 + mov r14, qword ptr [rsp + 88] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + r14 + 12], 10 - vpinsrb xmm0, xmm0, byte ptr [rdx + r9 + 12], 11 - mov rcx, qword ptr [rsp + 128] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 12], 12 - mov rax, qword ptr [rsp + 208] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 12], 13 - mov r13, qword ptr [rsp + 48] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + r13 + 12], 14 - vpinsrb xmm0, xmm0, byte ptr [rdx + r11 + 12], 15 - vpinsrb xmm2, xmm5, byte ptr [rdx + rdi + 12], 1 - mov rsi, qword ptr [rsp + 64] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 12], 2 - mov r14, qword ptr [rsp + 176] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r14 + 12], 3 - mov rdi, qword ptr [rsp + 104] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 12], 4 - mov r15, qword ptr [rsp + 96] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r15 + 12], 5 - vpinsrb xmm2, xmm2, byte ptr [rdx + rbx + 12], 6 - vpinsrb xmm2, xmm2, byte ptr [rdx + r8 + 12], 7 - mov rax, r12 - vpinsrb xmm2, xmm2, byte ptr [rdx + r12 + 12], 8 - mov r11, qword ptr [rsp + 152] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r11 + 12], 9 - mov rbx, qword ptr [rsp + 320] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rbx + 12], 10 mov rbx, qword ptr [rsp + 216] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rbx + 12], 11 - mov rbx, qword ptr [rsp + 288] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rbx + 12], 12 - mov r9, qword ptr [rsp + 32] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r9 + 12], 13 - mov r8, qword ptr [rsp + 72] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r8 + 12], 14 - mov r12, qword ptr [rsp + 56] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r12 + 12], 15 - mov rbx, qword ptr [rsp + 232] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 13], 1 - mov rbx, qword ptr [rsp + 168] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 13], 2 - mov rbx, qword ptr [rsp + 112] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 13], 3 - mov rbx, qword ptr [rsp + 240] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 13], 4 - vpinsrb xmm3, xmm3, byte ptr [rdx + r10 + 13], 5 - mov rbx, qword ptr [rsp + 40] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 13], 6 - mov rbx, qword ptr [rsp + 200] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 13], 7 - mov rbx, qword ptr [rsp + 192] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 13], 8 - mov r12, qword ptr [rsp + 184] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + r12 + 13], 9 - mov rbx, qword ptr [rsp + 224] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 13], 10 - mov rbx, qword ptr [rsp + 88] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rbx + 12], 11 + mov rsi, qword ptr [rsp + 80] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 12], 12 + mov rsi, qword ptr [rsp + 72] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 12], 13 + vpinsrb xmm0, xmm0, byte ptr [rdx + r8 + 12], 14 + mov rsi, qword ptr [rsp + 96] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 12], 15 + vpinsrb xmm2, xmm5, byte ptr [rdx + rax + 12], 1 + mov rsi, qword ptr [rsp + 120] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 12], 2 + mov rax, qword ptr [rsp + 56] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 12], 3 + mov rax, qword ptr [rsp + 168] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 12], 4 + mov r10, qword ptr [rsp + 136] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + r10 + 12], 5 + mov rax, qword ptr [rsp + 152] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 12], 6 + vpinsrb xmm2, xmm2, byte ptr [rdx + r15 + 12], 7 + mov rax, qword ptr [rsp + 160] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 12], 8 + mov r8, qword ptr [rsp + 176] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + r8 + 12], 9 + mov r11, qword ptr [rsp + 40] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + r11 + 12], 10 + mov rax, qword ptr [rsp + 128] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 12], 11 + mov rax, qword ptr [rsp + 48] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 12], 12 + mov r15, qword ptr [rsp + 32] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + r15 + 12], 13 + vpinsrb xmm2, xmm2, byte ptr [rdx + r13 + 12], 14 + mov rax, qword ptr [rsp + 320] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 12], 15 + mov r13, qword ptr [rsp + 104] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + r13 + 13], 1 + vpinsrb xmm3, xmm3, byte ptr [rdx + r12 + 13], 2 + vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 13], 3 + mov rax, qword ptr [rsp + 112] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 13], 4 + mov rdi, qword ptr [rsp + 184] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 13], 5 + mov r12, qword ptr [rsp + 144] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + r12 + 13], 6 + vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 13], 7 + mov r13, qword ptr [rsp + 224] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + r13 + 13], 8 + vpinsrb xmm3, xmm3, byte ptr [rdx + r9 + 13], 9 + vpinsrb xmm3, xmm3, byte ptr [rdx + r14 + 13], 10 vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 13], 11 + mov rcx, qword ptr [rsp + 80] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 13], 12 - mov r10, qword ptr [rsp + 208] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + r10 + 13], 13 - vpinsrb xmm3, xmm3, byte ptr [rdx + r13 + 13], 14 - mov rbx, qword ptr [rsp + 80] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 13], 15 - mov rcx, qword ptr [rsp + 120] # 8-byte Reload + mov rbx, qword ptr [rsp + 72] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 13], 13 + mov rax, qword ptr [rsp + 64] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 13], 14 + mov rcx, qword ptr [rsp + 96] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 13], 15 + mov rcx, qword ptr [rsp + 192] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 13], 1 vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 13], 2 - vpinsrb xmm1, xmm1, byte ptr [rdx + r14 + 13], 3 - vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 13], 4 - vpinsrb xmm1, xmm1, byte ptr [rdx + r15 + 13], 5 - mov r14, qword ptr [rsp + 160] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + r14 + 13], 6 - mov rcx, qword ptr [rsp + 144] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 13], 7 - vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 13], 8 - vpinsrb xmm1, xmm1, byte ptr [rdx + r11 + 13], 9 - mov rax, qword ptr [rsp + 320] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 13], 10 - mov rax, qword ptr [rsp + 216] # 8-byte Reload + mov rdi, qword ptr [rsp + 56] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 13], 3 + mov rcx, qword ptr [rsp + 168] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 13], 4 + vpinsrb xmm1, xmm1, byte ptr [rdx + r10 + 13], 5 + mov rcx, qword ptr [rsp + 152] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 13], 6 + mov rsi, qword ptr [rsp + 248] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 13], 7 + mov rsi, qword ptr [rsp + 160] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 13], 8 + vpinsrb xmm1, xmm1, byte ptr [rdx + r8 + 13], 9 + vpinsrb xmm1, xmm1, byte ptr [rdx + r11 + 13], 10 + mov rax, qword ptr [rsp + 128] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 13], 11 - mov rax, qword ptr [rsp + 288] # 8-byte Reload + mov rax, qword ptr [rsp + 48] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 13], 12 - vpinsrb xmm1, xmm1, byte ptr [rdx + r9 + 13], 13 - vpinsrb xmm1, xmm1, byte ptr [rdx + r8 + 13], 14 + vpinsrb xmm1, xmm1, byte ptr [rdx + r15 + 13], 13 + mov r14, qword ptr [rsp + 288] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + r14 + 13], 14 vinserti128 ymm0, ymm2, xmm0, 1 vmovdqa ymmword ptr [rsp + 992], ymm0 # 32-byte Spill - mov rax, qword ptr [rsp + 56] # 8-byte Reload + mov rax, qword ptr [rsp + 320] # 8-byte Reload vpinsrb xmm0, xmm1, byte ptr [rdx + rax + 13], 15 - mov r13, qword ptr [rsp + 256] # 8-byte Reload - movzx esi, byte ptr [rdx + r13 + 14] + mov rax, qword ptr [rsp + 240] # 8-byte Reload + movzx esi, byte ptr [rdx + rax + 14] vmovd xmm1, esi vinserti128 ymm0, ymm0, xmm3, 1 vmovdqa ymmword ptr [rsp + 960], ymm0 # 32-byte Spill - mov rax, qword ptr [rsp + 264] # 8-byte Reload + mov rax, qword ptr [rsp + 256] # 8-byte Reload movzx esi, byte ptr [rdx + rax + 14] vmovd xmm0, esi - mov rax, qword ptr [rsp + 232] # 8-byte Reload + mov rax, qword ptr [rsp + 104] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 14], 1 - mov rcx, qword ptr [rsp + 168] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 14], 2 - mov r8, qword ptr [rsp + 112] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + r8 + 14], 3 - mov r9, qword ptr [rsp + 240] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + r9 + 14], 4 - mov rdi, qword ptr [rsp + 248] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 14], 5 - mov r15, qword ptr [rsp + 40] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + r15 + 14], 6 - mov rcx, qword ptr [rsp + 200] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 14], 7 - mov rcx, qword ptr [rsp + 192] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 14], 8 - vpinsrb xmm1, xmm1, byte ptr [rdx + r12 + 14], 9 - mov rcx, qword ptr [rsp + 224] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 14], 10 - mov rcx, qword ptr [rsp + 88] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 14], 11 - mov rsi, qword ptr [rsp + 128] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 14], 12 - vpinsrb xmm1, xmm1, byte ptr [rdx + r10 + 14], 13 + mov r10, qword ptr [rsp + 264] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + r10 + 14], 2 + mov rax, qword ptr [rsp + 200] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 14], 3 + mov rax, qword ptr [rsp + 112] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 14], 4 + mov r15, qword ptr [rsp + 184] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + r15 + 14], 5 + vpinsrb xmm1, xmm1, byte ptr [rdx + r12 + 14], 6 + mov rax, qword ptr [rsp + 208] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 14], 7 + vpinsrb xmm1, xmm1, byte ptr [rdx + r13 + 14], 8 + mov r13, qword ptr [rsp + 232] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + r13 + 14], 9 + mov rax, qword ptr [rsp + 88] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 14], 10 + mov rax, qword ptr [rsp + 216] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 14], 11 + mov rax, qword ptr [rsp + 80] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 14], 12 + vpinsrb xmm1, xmm1, byte ptr [rdx + rbx + 14], 13 + mov rax, qword ptr [rsp + 64] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 14], 14 + mov rax, qword ptr [rsp + 96] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 14], 15 + mov rax, qword ptr [rsp + 192] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 14], 1 + mov r11, qword ptr [rsp + 120] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r11 + 14], 2 + vpinsrb xmm0, xmm0, byte ptr [rdx + rdi + 14], 3 + mov rax, qword ptr [rsp + 168] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 14], 4 + mov r9, qword ptr [rsp + 136] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r9 + 14], 5 + vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 14], 6 + mov rax, qword ptr [rsp + 248] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 14], 7 + mov rbx, qword ptr [rsp + 160] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rbx + 14], 8 + mov rcx, qword ptr [rsp + 176] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 14], 9 + mov rcx, qword ptr [rsp + 40] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 14], 10 + mov rcx, qword ptr [rsp + 128] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 14], 11 mov rsi, qword ptr [rsp + 48] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 14], 14 - vpinsrb xmm1, xmm1, byte ptr [rdx + rbx + 14], 15 - mov rbx, qword ptr [rsp + 120] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rbx + 14], 1 - mov rsi, qword ptr [rsp + 64] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 14], 2 - mov rsi, qword ptr [rsp + 176] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 14], 3 - mov rsi, qword ptr [rsp + 104] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 14], 4 - mov rsi, qword ptr [rsp + 96] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 14], 5 - vpinsrb xmm0, xmm0, byte ptr [rdx + r14 + 14], 6 - mov r10, qword ptr [rsp + 144] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + r10 + 14], 7 - mov rsi, qword ptr [rsp + 136] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 14], 8 - mov r12, qword ptr [rsp + 152] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + r12 + 14], 9 - mov r14, qword ptr [rsp + 320] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + r14 + 14], 10 - mov rsi, qword ptr [rsp + 216] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 14], 11 - mov rsi, qword ptr [rsp + 288] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 14], 12 - mov r11, qword ptr [rsp + 32] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + r11 + 14], 13 - mov rsi, qword ptr [rsp + 72] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 14], 14 - mov rsi, qword ptr [rsp + 56] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 14], 15 - movzx esi, byte ptr [rdx + r13 + 15] + mov r8, qword ptr [rsp + 32] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r8 + 14], 13 + vpinsrb xmm0, xmm0, byte ptr [rdx + r14 + 14], 14 + mov rdi, qword ptr [rsp + 320] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rdi + 14], 15 + mov r14, qword ptr [rsp + 240] # 8-byte Reload + movzx esi, byte ptr [rdx + r14 + 15] vmovd xmm2, esi - vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 15], 1 - mov rax, qword ptr [rsp + 168] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 15], 2 - vpinsrb xmm2, xmm2, byte ptr [rdx + r8 + 15], 3 - vpinsrb xmm2, xmm2, byte ptr [rdx + r9 + 15], 4 - vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 15], 5 - vpinsrb xmm2, xmm2, byte ptr [rdx + r15 + 15], 6 - mov r13, qword ptr [rsp + 200] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r13 + 15], 7 - mov r8, qword ptr [rsp + 192] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r8 + 15], 8 - mov rax, qword ptr [rsp + 184] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 15], 9 - mov rdi, qword ptr [rsp + 224] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 15], 10 - vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 15], 11 - mov rax, qword ptr [rsp + 128] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 15], 12 - mov rax, qword ptr [rsp + 208] # 8-byte Reload + mov rsi, qword ptr [rsp + 104] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 15], 1 + vpinsrb xmm2, xmm2, byte ptr [rdx + r10 + 15], 2 + mov rsi, qword ptr [rsp + 200] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 15], 3 + mov r10, qword ptr [rsp + 112] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + r10 + 15], 4 + vpinsrb xmm2, xmm2, byte ptr [rdx + r15 + 15], 5 + vpinsrb xmm2, xmm2, byte ptr [rdx + r12 + 15], 6 + mov r15, qword ptr [rsp + 208] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + r15 + 15], 7 + mov rsi, qword ptr [rsp + 224] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 15], 8 + vpinsrb xmm2, xmm2, byte ptr [rdx + r13 + 15], 9 + mov r12, qword ptr [rsp + 88] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + r12 + 15], 10 + mov rax, qword ptr [rsp + 216] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 15], 11 + mov rsi, qword ptr [rsp + 80] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 15], 12 + mov rax, qword ptr [rsp + 72] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 15], 13 - mov rcx, qword ptr [rsp + 48] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 15], 14 - mov rax, qword ptr [rsp + 80] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 15], 15 - mov rax, qword ptr [rsp + 264] # 8-byte Reload + mov rsi, qword ptr [rsp + 64] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 15], 14 + mov rsi, qword ptr [rsp + 96] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 15], 15 + mov rax, qword ptr [rsp + 256] # 8-byte Reload movzx esi, byte ptr [rdx + rax + 15] vmovd xmm3, esi - vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 15], 1 - mov rax, qword ptr [rsp + 64] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 15], 2 + mov rsi, qword ptr [rsp + 192] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 15], 1 + vpinsrb xmm3, xmm3, byte ptr [rdx + r11 + 15], 2 + mov rsi, qword ptr [rsp + 56] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 15], 3 + mov rsi, qword ptr [rsp + 168] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 15], 4 + vpinsrb xmm3, xmm3, byte ptr [rdx + r9 + 15], 5 + mov rsi, qword ptr [rsp + 152] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 15], 6 + mov rsi, qword ptr [rsp + 248] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 15], 7 + vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 15], 8 mov rax, qword ptr [rsp + 176] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 15], 3 - mov rax, qword ptr [rsp + 104] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 15], 4 - mov r15, qword ptr [rsp + 96] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + r15 + 15], 5 - mov rax, qword ptr [rsp + 160] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 15], 6 - vpinsrb xmm3, xmm3, byte ptr [rdx + r10 + 15], 7 - mov r10, qword ptr [rsp + 136] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + r10 + 15], 8 - vpinsrb xmm3, xmm3, byte ptr [rdx + r12 + 15], 9 - vpinsrb xmm3, xmm3, byte ptr [rdx + r14 + 15], 10 - mov r14, qword ptr [rsp + 216] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + r14 + 15], 11 - mov rax, qword ptr [rsp + 288] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 15], 9 + mov rax, qword ptr [rsp + 40] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 15], 10 + vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 15], 11 + mov rax, qword ptr [rsp + 48] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 15], 12 - vpinsrb xmm3, xmm3, byte ptr [rdx + r11 + 15], 13 - mov r11, qword ptr [rsp + 72] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + r11 + 15], 14 - mov r12, qword ptr [rsp + 56] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + r12 + 15], 15 + vpinsrb xmm3, xmm3, byte ptr [rdx + r8 + 15], 13 + mov rax, qword ptr [rsp + 288] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 15], 14 + vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 15], 15 vinserti128 ymm0, ymm0, xmm1, 1 vmovdqa ymmword ptr [rsp + 896], ymm0 # 32-byte Spill vinserti128 ymm0, ymm3, xmm2, 1 vmovdqa ymmword ptr [rsp + 928], ymm0 # 32-byte Spill - mov rsi, qword ptr [rsp + 256] # 8-byte Reload - movzx esi, byte ptr [rdx + rsi + 16] + movzx esi, byte ptr [rdx + r14 + 16] vmovd xmm0, esi - mov r9, qword ptr [rsp + 232] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + r9 + 16], 1 - mov rsi, qword ptr [rsp + 168] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 16], 2 - mov rsi, qword ptr [rsp + 112] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 16], 3 - mov rsi, qword ptr [rsp + 240] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 16], 4 - mov rsi, qword ptr [rsp + 248] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 16], 5 - mov rsi, qword ptr [rsp + 40] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 16], 6 - vpinsrb xmm0, xmm0, byte ptr [rdx + r13 + 16], 7 - vpinsrb xmm0, xmm0, byte ptr [rdx + r8 + 16], 8 - mov rsi, qword ptr [rsp + 184] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 16], 9 - vpinsrb xmm0, xmm0, byte ptr [rdx + rdi + 16], 10 - mov rsi, qword ptr [rsp + 88] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 16], 11 - mov rsi, qword ptr [rsp + 128] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 16], 12 - mov rsi, qword ptr [rsp + 208] # 8-byte Reload + mov rcx, qword ptr [rsp + 104] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 16], 1 + mov rax, qword ptr [rsp + 264] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 16], 2 + mov rax, qword ptr [rsp + 200] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 16], 3 + vpinsrb xmm0, xmm0, byte ptr [rdx + r10 + 16], 4 + mov rax, qword ptr [rsp + 184] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 16], 5 + mov rax, qword ptr [rsp + 144] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 16], 6 + vpinsrb xmm0, xmm0, byte ptr [rdx + r15 + 16], 7 + mov r11, qword ptr [rsp + 224] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r11 + 16], 8 + vpinsrb xmm0, xmm0, byte ptr [rdx + r13 + 16], 9 + vpinsrb xmm0, xmm0, byte ptr [rdx + r12 + 16], 10 + mov rax, qword ptr [rsp + 216] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 16], 11 + mov rax, qword ptr [rsp + 80] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 16], 12 + mov rsi, qword ptr [rsp + 72] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 16], 13 - vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 16], 14 - mov rcx, qword ptr [rsp + 80] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 16], 15 - mov rbx, qword ptr [rsp + 264] # 8-byte Reload + mov r14, qword ptr [rsp + 64] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r14 + 16], 14 + mov r8, qword ptr [rsp + 96] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r8 + 16], 15 + mov rbx, qword ptr [rsp + 256] # 8-byte Reload movzx esi, byte ptr [rdx + rbx + 16] vmovd xmm1, esi - mov r8, qword ptr [rsp + 120] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + r8 + 16], 1 - mov rsi, qword ptr [rsp + 64] # 8-byte Reload + mov r10, qword ptr [rsp + 192] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + r10 + 16], 1 + mov rsi, qword ptr [rsp + 120] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 16], 2 - mov rsi, qword ptr [rsp + 176] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 16], 3 - mov rsi, qword ptr [rsp + 104] # 8-byte Reload + mov rdi, qword ptr [rsp + 56] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 16], 3 + mov rsi, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 16], 4 + mov r15, qword ptr [rsp + 136] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + r15 + 16], 5 - mov rsi, qword ptr [rsp + 160] # 8-byte Reload + mov rsi, qword ptr [rsp + 152] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 16], 6 - mov rsi, qword ptr [rsp + 144] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 16], 7 - vpinsrb xmm1, xmm1, byte ptr [rdx + r10 + 16], 8 - mov rdi, qword ptr [rsp + 152] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 16], 9 - mov rsi, qword ptr [rsp + 320] # 8-byte Reload + mov r9, qword ptr [rsp + 248] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + r9 + 16], 7 + mov r13, qword ptr [rsp + 160] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + r13 + 16], 8 + mov rsi, qword ptr [rsp + 176] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 16], 9 + mov rsi, qword ptr [rsp + 40] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 16], 10 - vpinsrb xmm1, xmm1, byte ptr [rdx + r14 + 16], 11 - vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 16], 12 - mov rax, qword ptr [rsp + 32] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 16], 13 - vpinsrb xmm1, xmm1, byte ptr [rdx + r11 + 16], 14 - vpinsrb xmm1, xmm1, byte ptr [rdx + r12 + 16], 15 - mov rax, qword ptr [rsp + 256] # 8-byte Reload - movzx esi, byte ptr [rdx + rax + 17] - vmovd xmm2, esi - vpinsrb xmm2, xmm2, byte ptr [rdx + r9 + 17], 1 - mov r11, qword ptr [rsp + 168] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r11 + 17], 2 - mov r10, qword ptr [rsp + 112] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r10 + 17], 3 - mov rax, qword ptr [rsp + 240] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 17], 4 - mov r13, qword ptr [rsp + 248] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r13 + 17], 5 - mov r9, qword ptr [rsp + 40] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r9 + 17], 6 - mov rax, qword ptr [rsp + 200] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 17], 7 - mov r14, qword ptr [rsp + 192] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r14 + 17], 8 - mov r15, qword ptr [rsp + 184] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r15 + 17], 9 - mov rax, qword ptr [rsp + 224] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 17], 10 - mov rax, qword ptr [rsp + 88] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 17], 11 mov r12, qword ptr [rsp + 128] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r12 + 17], 12 - mov rsi, qword ptr [rsp + 208] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 17], 13 + vpinsrb xmm1, xmm1, byte ptr [rdx + r12 + 16], 11 mov rsi, qword ptr [rsp + 48] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 17], 14 - vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 17], 15 + vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 16], 12 + mov rsi, qword ptr [rsp + 32] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 16], 13 + mov rsi, qword ptr [rsp + 288] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 16], 14 + mov rsi, qword ptr [rsp + 320] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 16], 15 + mov rsi, qword ptr [rsp + 240] # 8-byte Reload + movzx esi, byte ptr [rdx + rsi + 17] + vmovd xmm2, esi + vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 17], 1 + mov rcx, qword ptr [rsp + 264] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 17], 2 + mov rcx, qword ptr [rsp + 200] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 17], 3 + mov rcx, qword ptr [rsp + 112] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 17], 4 + mov rcx, qword ptr [rsp + 184] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 17], 5 + mov rcx, qword ptr [rsp + 144] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 17], 6 + mov rcx, qword ptr [rsp + 208] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 17], 7 + vpinsrb xmm2, xmm2, byte ptr [rdx + r11 + 17], 8 + mov rcx, qword ptr [rsp + 232] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 17], 9 + mov rcx, qword ptr [rsp + 88] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 17], 10 + mov rcx, qword ptr [rsp + 216] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 17], 11 + vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 17], 12 + mov rax, qword ptr [rsp + 72] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 17], 13 + vpinsrb xmm2, xmm2, byte ptr [rdx + r14 + 17], 14 + vpinsrb xmm2, xmm2, byte ptr [rdx + r8 + 17], 15 movzx esi, byte ptr [rdx + rbx + 17] vmovd xmm3, esi - vpinsrb xmm3, xmm3, byte ptr [rdx + r8 + 17], 1 - mov rcx, qword ptr [rsp + 64] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 17], 2 + vpinsrb xmm3, xmm3, byte ptr [rdx + r10 + 17], 1 + mov rax, qword ptr [rsp + 120] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 17], 2 + vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 17], 3 + mov rdi, qword ptr [rsp + 168] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 17], 4 + vpinsrb xmm3, xmm3, byte ptr [rdx + r15 + 17], 5 + mov r15, qword ptr [rsp + 152] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + r15 + 17], 6 + vpinsrb xmm3, xmm3, byte ptr [rdx + r9 + 17], 7 + vpinsrb xmm3, xmm3, byte ptr [rdx + r13 + 17], 8 mov r8, qword ptr [rsp + 176] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + r8 + 17], 3 - mov rsi, qword ptr [rsp + 104] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 17], 4 - mov rsi, qword ptr [rsp + 96] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 17], 5 - mov rsi, qword ptr [rsp + 160] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 17], 6 - mov rsi, qword ptr [rsp + 144] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 17], 7 - mov rsi, qword ptr [rsp + 136] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 17], 8 - vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 17], 9 - mov rdi, qword ptr [rsp + 320] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 17], 10 - mov rsi, qword ptr [rsp + 216] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 17], 11 - mov rsi, qword ptr [rsp + 288] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 17], 12 - mov rsi, qword ptr [rsp + 32] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 17], 13 - mov rsi, qword ptr [rsp + 72] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 17], 14 + vpinsrb xmm3, xmm3, byte ptr [rdx + r8 + 17], 9 + mov rcx, qword ptr [rsp + 40] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 17], 10 + vpinsrb xmm3, xmm3, byte ptr [rdx + r12 + 17], 11 + mov r9, qword ptr [rsp + 48] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + r9 + 17], 12 + mov rax, qword ptr [rsp + 32] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 17], 13 + mov rax, qword ptr [rsp + 288] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 17], 14 vinserti128 ymm0, ymm1, xmm0, 1 vmovdqa ymmword ptr [rsp + 864], ymm0 # 32-byte Spill - mov rsi, qword ptr [rsp + 56] # 8-byte Reload - vpinsrb xmm0, xmm3, byte ptr [rdx + rsi + 17], 15 + mov rax, qword ptr [rsp + 320] # 8-byte Reload + vpinsrb xmm0, xmm3, byte ptr [rdx + rax + 17], 15 vinserti128 ymm0, ymm0, xmm2, 1 vmovdqa ymmword ptr [rsp + 832], ymm0 # 32-byte Spill - mov rsi, qword ptr [rsp + 256] # 8-byte Reload - movzx esi, byte ptr [rdx + rsi + 18] + mov rbx, qword ptr [rsp + 240] # 8-byte Reload + movzx esi, byte ptr [rdx + rbx + 18] vmovd xmm0, esi - mov rsi, qword ptr [rsp + 232] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 18], 1 - vpinsrb xmm0, xmm0, byte ptr [rdx + r11 + 18], 2 + mov rax, qword ptr [rsp + 104] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 18], 1 + mov r14, qword ptr [rsp + 264] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r14 + 18], 2 + mov r10, qword ptr [rsp + 200] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + r10 + 18], 3 - mov rsi, qword ptr [rsp + 240] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 18], 4 - vpinsrb xmm0, xmm0, byte ptr [rdx + r13 + 18], 5 - vpinsrb xmm0, xmm0, byte ptr [rdx + r9 + 18], 6 - mov rsi, qword ptr [rsp + 200] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 18], 7 - vpinsrb xmm0, xmm0, byte ptr [rdx + r14 + 18], 8 - vpinsrb xmm0, xmm0, byte ptr [rdx + r15 + 18], 9 - mov r13, qword ptr [rsp + 224] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + r13 + 18], 10 + mov rax, qword ptr [rsp + 112] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 18], 4 + mov r11, qword ptr [rsp + 184] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r11 + 18], 5 + mov rax, qword ptr [rsp + 144] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 18], 6 + mov rax, qword ptr [rsp + 208] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 18], 7 + mov rax, qword ptr [rsp + 224] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 18], 8 + mov rax, qword ptr [rsp + 232] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 18], 9 + mov rax, qword ptr [rsp + 88] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 18], 10 + mov rax, qword ptr [rsp + 216] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 18], 11 - vpinsrb xmm0, xmm0, byte ptr [rdx + r12 + 18], 12 - mov r9, qword ptr [rsp + 208] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + r9 + 18], 13 - mov rax, qword ptr [rsp + 48] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 18], 14 - mov rax, qword ptr [rsp + 80] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 18], 15 - movzx esi, byte ptr [rdx + rbx + 18] - vmovd xmm1, esi - mov r14, qword ptr [rsp + 120] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + r14 + 18], 1 - vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 18], 2 - vpinsrb xmm1, xmm1, byte ptr [rdx + r8 + 18], 3 - mov rax, qword ptr [rsp + 104] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 18], 4 - mov rax, qword ptr [rsp + 96] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 18], 5 - mov rax, qword ptr [rsp + 160] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 18], 6 - mov r11, qword ptr [rsp + 144] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + r11 + 18], 7 - mov rcx, qword ptr [rsp + 136] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 18], 8 - mov rax, qword ptr [rsp + 152] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 18], 9 - vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 18], 10 - mov rsi, qword ptr [rsp + 216] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 18], 11 - mov rsi, qword ptr [rsp + 288] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 18], 12 - mov r12, qword ptr [rsp + 32] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + r12 + 18], 13 + mov rsi, qword ptr [rsp + 80] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 18], 12 mov rsi, qword ptr [rsp + 72] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 18], 14 - mov r10, qword ptr [rsp + 56] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + r10 + 18], 15 - mov r15, qword ptr [rsp + 256] # 8-byte Reload - movzx esi, byte ptr [rdx + r15 + 19] - vmovd xmm2, esi - mov rsi, qword ptr [rsp + 232] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 19], 1 - mov rsi, qword ptr [rsp + 168] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 19], 2 - mov rsi, qword ptr [rsp + 112] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 19], 3 - mov rsi, qword ptr [rsp + 240] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 19], 4 - mov rsi, qword ptr [rsp + 248] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 19], 5 - mov rsi, qword ptr [rsp + 40] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 19], 6 - mov rsi, qword ptr [rsp + 200] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 19], 7 + vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 18], 13 + mov r12, qword ptr [rsp + 64] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r12 + 18], 14 + mov r13, qword ptr [rsp + 96] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r13 + 18], 15 + mov rsi, qword ptr [rsp + 256] # 8-byte Reload + movzx esi, byte ptr [rdx + rsi + 18] + vmovd xmm1, esi mov rsi, qword ptr [rsp + 192] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 19], 8 - mov rsi, qword ptr [rsp + 184] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 19], 9 - vpinsrb xmm2, xmm2, byte ptr [rdx + r13 + 19], 10 - mov rsi, qword ptr [rsp + 88] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 19], 11 - mov rsi, qword ptr [rsp + 128] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 19], 12 - vpinsrb xmm2, xmm2, byte ptr [rdx + r9 + 19], 13 - mov rdi, qword ptr [rsp + 48] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 19], 14 - mov r8, qword ptr [rsp + 80] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r8 + 19], 15 + vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 18], 1 + mov rsi, qword ptr [rsp + 120] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 18], 2 + mov rsi, qword ptr [rsp + 56] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 18], 3 + vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 18], 4 + mov rsi, qword ptr [rsp + 136] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 18], 5 + vpinsrb xmm1, xmm1, byte ptr [rdx + r15 + 18], 6 + mov r15, qword ptr [rsp + 248] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + r15 + 18], 7 + mov rsi, qword ptr [rsp + 160] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 18], 8 + vpinsrb xmm1, xmm1, byte ptr [rdx + r8 + 18], 9 + vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 18], 10 + mov rcx, qword ptr [rsp + 128] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 18], 11 + vpinsrb xmm1, xmm1, byte ptr [rdx + r9 + 18], 12 + mov rcx, qword ptr [rsp + 32] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 18], 13 + mov rcx, qword ptr [rsp + 288] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 18], 14 + mov rcx, qword ptr [rsp + 320] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 18], 15 movzx esi, byte ptr [rdx + rbx + 19] + vmovd xmm2, esi + mov rcx, qword ptr [rsp + 104] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 19], 1 + vpinsrb xmm2, xmm2, byte ptr [rdx + r14 + 19], 2 + vpinsrb xmm2, xmm2, byte ptr [rdx + r10 + 19], 3 + mov r9, qword ptr [rsp + 112] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + r9 + 19], 4 + vpinsrb xmm2, xmm2, byte ptr [rdx + r11 + 19], 5 + mov rcx, qword ptr [rsp + 144] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 19], 6 + mov r8, qword ptr [rsp + 208] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + r8 + 19], 7 + mov r14, qword ptr [rsp + 224] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + r14 + 19], 8 + mov r10, qword ptr [rsp + 232] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + r10 + 19], 9 + mov rsi, qword ptr [rsp + 88] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 19], 10 + vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 19], 11 + mov rax, qword ptr [rsp + 80] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 19], 12 + mov rbx, qword ptr [rsp + 72] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rbx + 19], 13 + vpinsrb xmm2, xmm2, byte ptr [rdx + r12 + 19], 14 + vpinsrb xmm2, xmm2, byte ptr [rdx + r13 + 19], 15 + mov rax, qword ptr [rsp + 256] # 8-byte Reload + movzx esi, byte ptr [rdx + rax + 19] vmovd xmm3, esi - vpinsrb xmm3, xmm3, byte ptr [rdx + r14 + 19], 1 - mov rsi, qword ptr [rsp + 64] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 19], 2 - mov rbx, qword ptr [rsp + 176] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 19], 3 - mov rsi, qword ptr [rsp + 104] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 19], 4 - mov rsi, qword ptr [rsp + 96] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 19], 5 - mov r13, qword ptr [rsp + 160] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + r13 + 19], 6 - vpinsrb xmm3, xmm3, byte ptr [rdx + r11 + 19], 7 - vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 19], 8 + mov r11, qword ptr [rsp + 192] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + r11 + 19], 1 + mov rax, qword ptr [rsp + 120] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 19], 2 + mov rax, qword ptr [rsp + 56] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 19], 3 + vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 19], 4 + mov rax, qword ptr [rsp + 136] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 19], 5 + mov rdi, qword ptr [rsp + 152] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 19], 6 + vpinsrb xmm3, xmm3, byte ptr [rdx + r15 + 19], 7 + mov rax, qword ptr [rsp + 160] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 19], 8 + mov rax, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 19], 9 - mov rax, qword ptr [rsp + 320] # 8-byte Reload + mov rax, qword ptr [rsp + 40] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 19], 10 - mov rax, qword ptr [rsp + 216] # 8-byte Reload + mov rax, qword ptr [rsp + 128] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 19], 11 - mov r9, qword ptr [rsp + 288] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + r9 + 19], 12 - vpinsrb xmm3, xmm3, byte ptr [rdx + r12 + 19], 13 - mov r14, qword ptr [rsp + 72] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + r14 + 19], 14 - vpinsrb xmm3, xmm3, byte ptr [rdx + r10 + 19], 15 + mov rax, qword ptr [rsp + 48] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 19], 12 + mov rax, qword ptr [rsp + 32] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 19], 13 + mov rax, qword ptr [rsp + 288] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 19], 14 + mov rax, qword ptr [rsp + 320] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 19], 15 vinserti128 ymm0, ymm1, xmm0, 1 vmovdqa ymmword ptr [rsp + 768], ymm0 # 32-byte Spill vinserti128 ymm0, ymm3, xmm2, 1 vmovdqa ymmword ptr [rsp + 800], ymm0 # 32-byte Spill - movzx esi, byte ptr [rdx + r15 + 20] + mov rax, qword ptr [rsp + 240] # 8-byte Reload + movzx esi, byte ptr [rdx + rax + 20] vmovd xmm0, esi - mov r11, qword ptr [rsp + 232] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + r11 + 20], 1 - mov r12, qword ptr [rsp + 168] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + r12 + 20], 2 - mov rax, qword ptr [rsp + 112] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 20], 3 - mov rcx, qword ptr [rsp + 240] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 20], 4 - mov r10, qword ptr [rsp + 248] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + r10 + 20], 5 - mov rax, qword ptr [rsp + 40] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 20], 6 + mov r12, qword ptr [rsp + 104] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r12 + 20], 1 + mov rax, qword ptr [rsp + 264] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 20], 2 mov rax, qword ptr [rsp + 200] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 20], 7 - mov rax, qword ptr [rsp + 192] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 20], 8 + vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 20], 3 + vpinsrb xmm0, xmm0, byte ptr [rdx + r9 + 20], 4 mov rax, qword ptr [rsp + 184] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 20], 9 - mov rax, qword ptr [rsp + 224] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 20], 10 + vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 20], 5 + vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 20], 6 + vpinsrb xmm0, xmm0, byte ptr [rdx + r8 + 20], 7 + vpinsrb xmm0, xmm0, byte ptr [rdx + r14 + 20], 8 + vpinsrb xmm0, xmm0, byte ptr [rdx + r10 + 20], 9 mov rax, qword ptr [rsp + 88] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 20], 11 - mov rax, qword ptr [rsp + 128] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 20], 12 - mov rax, qword ptr [rsp + 208] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 20], 13 - vpinsrb xmm0, xmm0, byte ptr [rdx + rdi + 20], 14 - vpinsrb xmm0, xmm0, byte ptr [rdx + r8 + 20], 15 - mov rax, qword ptr [rsp + 264] # 8-byte Reload - movzx esi, byte ptr [rdx + rax + 20] + vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 20], 10 + mov rcx, qword ptr [rsp + 216] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 20], 11 + mov r13, qword ptr [rsp + 80] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r13 + 20], 12 + vpinsrb xmm0, xmm0, byte ptr [rdx + rbx + 20], 13 + mov rbx, qword ptr [rsp + 64] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rbx + 20], 14 + mov rcx, qword ptr [rsp + 96] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 20], 15 + mov r9, qword ptr [rsp + 256] # 8-byte Reload + movzx esi, byte ptr [rdx + r9 + 20] vmovd xmm1, esi - mov rax, qword ptr [rsp + 120] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 20], 1 - mov rax, qword ptr [rsp + 64] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 20], 2 - vpinsrb xmm1, xmm1, byte ptr [rdx + rbx + 20], 3 - mov rax, qword ptr [rsp + 104] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 20], 4 - mov r15, qword ptr [rsp + 96] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + r15 + 20], 5 - vpinsrb xmm1, xmm1, byte ptr [rdx + r13 + 20], 6 - mov rsi, qword ptr [rsp + 144] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + r11 + 20], 1 + mov r8, qword ptr [rsp + 120] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + r8 + 20], 2 + mov r15, qword ptr [rsp + 56] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + r15 + 20], 3 + mov rcx, qword ptr [rsp + 168] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 20], 4 + mov rcx, qword ptr [rsp + 136] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 20], 5 + vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 20], 6 + mov rsi, qword ptr [rsp + 248] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 20], 7 - mov rsi, qword ptr [rsp + 136] # 8-byte Reload + mov rsi, qword ptr [rsp + 160] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 20], 8 - mov rsi, qword ptr [rsp + 152] # 8-byte Reload + mov rsi, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 20], 9 - mov rsi, qword ptr [rsp + 320] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 20], 10 - mov r8, qword ptr [rsp + 216] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + r8 + 20], 11 - vpinsrb xmm1, xmm1, byte ptr [rdx + r9 + 20], 12 - mov r13, qword ptr [rsp + 32] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + r13 + 20], 13 - vpinsrb xmm1, xmm1, byte ptr [rdx + r14 + 20], 14 - mov rsi, qword ptr [rsp + 56] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 20], 15 - mov rsi, qword ptr [rsp + 256] # 8-byte Reload + mov r10, qword ptr [rsp + 40] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + r10 + 20], 10 + mov rsi, qword ptr [rsp + 128] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 20], 11 + mov rsi, qword ptr [rsp + 48] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 20], 12 + mov rdi, qword ptr [rsp + 32] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 20], 13 + mov rsi, qword ptr [rsp + 288] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 20], 14 + mov r14, qword ptr [rsp + 320] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + r14 + 20], 15 + mov rsi, qword ptr [rsp + 240] # 8-byte Reload movzx esi, byte ptr [rdx + rsi + 21] vmovd xmm2, esi - vpinsrb xmm2, xmm2, byte ptr [rdx + r11 + 21], 1 - vpinsrb xmm2, xmm2, byte ptr [rdx + r12 + 21], 2 - mov rsi, qword ptr [rsp + 112] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 21], 3 - vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 21], 4 - vpinsrb xmm2, xmm2, byte ptr [rdx + r10 + 21], 5 - mov rdi, qword ptr [rsp + 40] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 21], 6 + vpinsrb xmm2, xmm2, byte ptr [rdx + r12 + 21], 1 + mov rsi, qword ptr [rsp + 264] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 21], 2 mov r11, qword ptr [rsp + 200] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r11 + 21], 7 - mov r12, qword ptr [rsp + 192] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r12 + 21], 8 - mov r10, qword ptr [rsp + 184] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r10 + 21], 9 - mov rcx, qword ptr [rsp + 224] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 21], 10 - mov r14, qword ptr [rsp + 88] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r14 + 21], 11 - mov rcx, qword ptr [rsp + 128] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 21], 12 - mov rbx, qword ptr [rsp + 208] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rbx + 21], 13 - mov rcx, qword ptr [rsp + 48] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 21], 14 - mov rcx, qword ptr [rsp + 80] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 21], 15 - mov rcx, qword ptr [rsp + 264] # 8-byte Reload - movzx esi, byte ptr [rdx + rcx + 21] + vpinsrb xmm2, xmm2, byte ptr [rdx + r11 + 21], 3 + mov rsi, qword ptr [rsp + 112] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 21], 4 + mov rsi, qword ptr [rsp + 184] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 21], 5 + mov rsi, qword ptr [rsp + 144] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 21], 6 + mov rsi, qword ptr [rsp + 208] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 21], 7 + mov rsi, qword ptr [rsp + 224] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 21], 8 + mov rsi, qword ptr [rsp + 232] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 21], 9 + vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 21], 10 + mov rax, qword ptr [rsp + 216] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 21], 11 + vpinsrb xmm2, xmm2, byte ptr [rdx + r13 + 21], 12 + mov rax, qword ptr [rsp + 72] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 21], 13 + vpinsrb xmm2, xmm2, byte ptr [rdx + rbx + 21], 14 + mov r13, qword ptr [rsp + 96] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + r13 + 21], 15 + movzx esi, byte ptr [rdx + r9 + 21] vmovd xmm3, esi - mov rcx, qword ptr [rsp + 120] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 21], 1 - mov rcx, qword ptr [rsp + 64] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 21], 2 - mov rcx, qword ptr [rsp + 176] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 21], 3 - vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 21], 4 - vpinsrb xmm3, xmm3, byte ptr [rdx + r15 + 21], 5 - mov rax, qword ptr [rsp + 160] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 21], 6 - mov r15, qword ptr [rsp + 144] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + r15 + 21], 7 - mov rcx, qword ptr [rsp + 136] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 21], 8 + mov rax, qword ptr [rsp + 192] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 21], 1 + vpinsrb xmm3, xmm3, byte ptr [rdx + r8 + 21], 2 + vpinsrb xmm3, xmm3, byte ptr [rdx + r15 + 21], 3 + mov r9, qword ptr [rsp + 168] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + r9 + 21], 4 + vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 21], 5 mov rax, qword ptr [rsp + 152] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 21], 9 - mov rax, qword ptr [rsp + 320] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 21], 10 - vpinsrb xmm3, xmm3, byte ptr [rdx + r8 + 21], 11 - vpinsrb xmm3, xmm3, byte ptr [rdx + r9 + 21], 12 - vpinsrb xmm3, xmm3, byte ptr [rdx + r13 + 21], 13 - mov rax, qword ptr [rsp + 72] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 21], 14 + vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 21], 6 + mov rax, qword ptr [rsp + 248] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 21], 7 + mov rax, qword ptr [rsp + 160] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 21], 8 + mov r12, qword ptr [rsp + 176] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + r12 + 21], 9 + vpinsrb xmm3, xmm3, byte ptr [rdx + r10 + 21], 10 + mov rbx, qword ptr [rsp + 128] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 21], 11 + mov rcx, qword ptr [rsp + 48] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 21], 12 + vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 21], 13 + mov rcx, qword ptr [rsp + 288] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 21], 14 vinserti128 ymm0, ymm1, xmm0, 1 vmovdqa ymmword ptr [rsp + 704], ymm0 # 32-byte Spill - mov r8, qword ptr [rsp + 56] # 8-byte Reload - vpinsrb xmm0, xmm3, byte ptr [rdx + r8 + 21], 15 + vpinsrb xmm0, xmm3, byte ptr [rdx + r14 + 21], 15 vinserti128 ymm0, ymm0, xmm2, 1 vmovdqa ymmword ptr [rsp + 736], ymm0 # 32-byte Spill - mov rax, qword ptr [rsp + 256] # 8-byte Reload - movzx esi, byte ptr [rdx + rax + 22] + mov r10, qword ptr [rsp + 240] # 8-byte Reload + movzx esi, byte ptr [rdx + r10 + 22] vmovd xmm0, esi - mov rsi, qword ptr [rsp + 232] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 22], 1 - mov rsi, qword ptr [rsp + 168] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 22], 2 - mov rsi, qword ptr [rsp + 112] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 22], 3 - mov rsi, qword ptr [rsp + 240] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 22], 4 - mov r13, qword ptr [rsp + 248] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + r13 + 22], 5 - vpinsrb xmm0, xmm0, byte ptr [rdx + rdi + 22], 6 + mov r15, qword ptr [rsp + 104] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r15 + 22], 1 + mov r8, qword ptr [rsp + 264] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r8 + 22], 2 + vpinsrb xmm0, xmm0, byte ptr [rdx + r11 + 22], 3 + mov rcx, qword ptr [rsp + 112] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 22], 4 + mov rcx, qword ptr [rsp + 184] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 22], 5 + mov r14, qword ptr [rsp + 144] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r14 + 22], 6 + mov r11, qword ptr [rsp + 208] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + r11 + 22], 7 - vpinsrb xmm0, xmm0, byte ptr [rdx + r12 + 22], 8 - vpinsrb xmm0, xmm0, byte ptr [rdx + r10 + 22], 9 - mov r12, qword ptr [rsp + 224] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + r12 + 22], 10 - vpinsrb xmm0, xmm0, byte ptr [rdx + r14 + 22], 11 - mov r11, qword ptr [rsp + 128] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + r11 + 22], 12 - vpinsrb xmm0, xmm0, byte ptr [rdx + rbx + 22], 13 - mov rsi, qword ptr [rsp + 48] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 22], 14 + mov rdi, qword ptr [rsp + 224] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rdi + 22], 8 + mov rcx, qword ptr [rsp + 232] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 22], 9 + mov rcx, qword ptr [rsp + 88] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 22], 10 + mov rcx, qword ptr [rsp + 216] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 22], 11 mov rsi, qword ptr [rsp + 80] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 22], 15 - mov r10, qword ptr [rsp + 264] # 8-byte Reload - movzx esi, byte ptr [rdx + r10 + 22] + vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 22], 12 + mov rsi, qword ptr [rsp + 72] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 22], 13 + mov rsi, qword ptr [rsp + 64] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 22], 14 + vpinsrb xmm0, xmm0, byte ptr [rdx + r13 + 22], 15 + mov rsi, qword ptr [rsp + 256] # 8-byte Reload + movzx esi, byte ptr [rdx + rsi + 22] vmovd xmm1, esi - mov rsi, qword ptr [rsp + 120] # 8-byte Reload + mov rsi, qword ptr [rsp + 192] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 22], 1 - mov rbx, qword ptr [rsp + 64] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rbx + 22], 2 - mov rsi, qword ptr [rsp + 176] # 8-byte Reload + mov rsi, qword ptr [rsp + 120] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 22], 2 + mov rsi, qword ptr [rsp + 56] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 22], 3 - mov rsi, qword ptr [rsp + 104] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 22], 4 - mov r14, qword ptr [rsp + 96] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + r14 + 22], 5 - mov rsi, qword ptr [rsp + 160] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + r9 + 22], 4 + mov r13, qword ptr [rsp + 136] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + r13 + 22], 5 + mov rsi, qword ptr [rsp + 152] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 22], 6 - vpinsrb xmm1, xmm1, byte ptr [rdx + r15 + 22], 7 - vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 22], 8 - mov rcx, qword ptr [rsp + 152] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 22], 9 - mov rcx, qword ptr [rsp + 320] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 22], 10 - mov r9, qword ptr [rsp + 216] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + r9 + 22], 11 - mov rcx, qword ptr [rsp + 288] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 22], 12 - mov rcx, qword ptr [rsp + 32] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 22], 13 - mov rdi, qword ptr [rsp + 72] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 22], 14 - vpinsrb xmm1, xmm1, byte ptr [rdx + r8 + 22], 15 - movzx esi, byte ptr [rdx + rax + 23] + mov r9, qword ptr [rsp + 248] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + r9 + 22], 7 + vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 22], 8 + vpinsrb xmm1, xmm1, byte ptr [rdx + r12 + 22], 9 + mov rax, qword ptr [rsp + 40] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 22], 10 + vpinsrb xmm1, xmm1, byte ptr [rdx + rbx + 22], 11 + mov r12, qword ptr [rsp + 48] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + r12 + 22], 12 + mov rax, qword ptr [rsp + 32] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 22], 13 + mov rax, qword ptr [rsp + 288] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 22], 14 + mov rax, qword ptr [rsp + 320] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 22], 15 + movzx esi, byte ptr [rdx + r10 + 23] vmovd xmm2, esi - mov rax, qword ptr [rsp + 232] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 23], 1 - mov rax, qword ptr [rsp + 168] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 23], 2 - mov r15, qword ptr [rsp + 112] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r15 + 23], 3 - mov rax, qword ptr [rsp + 240] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + r15 + 23], 1 + vpinsrb xmm2, xmm2, byte ptr [rdx + r8 + 23], 2 + mov r10, qword ptr [rsp + 200] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + r10 + 23], 3 + mov rax, qword ptr [rsp + 112] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 23], 4 - vpinsrb xmm2, xmm2, byte ptr [rdx + r13 + 23], 5 - mov rcx, qword ptr [rsp + 40] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 23], 6 - mov rcx, qword ptr [rsp + 200] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 23], 7 - mov rcx, qword ptr [rsp + 192] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 23], 8 - mov rcx, qword ptr [rsp + 184] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 23], 9 - vpinsrb xmm2, xmm2, byte ptr [rdx + r12 + 23], 10 - mov rcx, qword ptr [rsp + 88] # 8-byte Reload + mov rax, qword ptr [rsp + 184] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 23], 5 + vpinsrb xmm2, xmm2, byte ptr [rdx + r14 + 23], 6 + vpinsrb xmm2, xmm2, byte ptr [rdx + r11 + 23], 7 + vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 23], 8 + mov r14, qword ptr [rsp + 232] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + r14 + 23], 9 + mov rdi, qword ptr [rsp + 88] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 23], 10 vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 23], 11 - vpinsrb xmm2, xmm2, byte ptr [rdx + r11 + 23], 12 - mov rcx, qword ptr [rsp + 208] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 23], 13 - mov rcx, qword ptr [rsp + 48] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 23], 14 - mov r12, qword ptr [rsp + 80] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r12 + 23], 15 - movzx esi, byte ptr [rdx + r10 + 23] + mov rax, qword ptr [rsp + 80] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 23], 12 + mov rbx, qword ptr [rsp + 72] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rbx + 23], 13 + mov r11, qword ptr [rsp + 64] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + r11 + 23], 14 + mov rax, qword ptr [rsp + 96] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 23], 15 + mov r15, qword ptr [rsp + 256] # 8-byte Reload + movzx esi, byte ptr [rdx + r15 + 23] vmovd xmm3, esi - mov r11, qword ptr [rsp + 120] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + r11 + 23], 1 - vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 23], 2 - mov rcx, qword ptr [rsp + 176] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 23], 3 - mov rbx, qword ptr [rsp + 104] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 23], 4 - vpinsrb xmm3, xmm3, byte ptr [rdx + r14 + 23], 5 - mov r13, qword ptr [rsp + 160] # 8-byte Reload + mov rcx, qword ptr [rsp + 192] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 23], 1 + mov rax, qword ptr [rsp + 120] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 23], 2 + mov rsi, qword ptr [rsp + 56] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 23], 3 + mov rsi, qword ptr [rsp + 168] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 23], 4 + vpinsrb xmm3, xmm3, byte ptr [rdx + r13 + 23], 5 + mov r13, qword ptr [rsp + 152] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + r13 + 23], 6 - mov rsi, qword ptr [rsp + 144] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 23], 7 - mov rsi, qword ptr [rsp + 136] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + r9 + 23], 7 + mov rsi, qword ptr [rsp + 160] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 23], 8 - mov r8, qword ptr [rsp + 152] # 8-byte Reload + mov r8, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + r8 + 23], 9 - mov r10, qword ptr [rsp + 320] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + r10 + 23], 10 - vpinsrb xmm3, xmm3, byte ptr [rdx + r9 + 23], 11 + mov rsi, qword ptr [rsp + 40] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 23], 10 + mov rsi, qword ptr [rsp + 128] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 23], 11 + vpinsrb xmm3, xmm3, byte ptr [rdx + r12 + 23], 12 + mov rsi, qword ptr [rsp + 32] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 23], 13 mov rsi, qword ptr [rsp + 288] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 23], 12 - mov r14, qword ptr [rsp + 32] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + r14 + 23], 13 - vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 23], 14 - mov rsi, qword ptr [rsp + 56] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 23], 14 + mov rsi, qword ptr [rsp + 320] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 23], 15 vinserti128 ymm10, ymm1, xmm0, 1 vinserti128 ymm0, ymm3, xmm2, 1 vmovdqa ymmword ptr [rsp + 672], ymm0 # 32-byte Spill - mov r9, qword ptr [rsp + 256] # 8-byte Reload - movzx esi, byte ptr [rdx + r9 + 24] + mov rsi, qword ptr [rsp + 240] # 8-byte Reload + movzx esi, byte ptr [rdx + rsi + 24] vmovd xmm0, esi - mov rsi, qword ptr [rsp + 232] # 8-byte Reload + mov rsi, qword ptr [rsp + 104] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 24], 1 - mov rsi, qword ptr [rsp + 168] # 8-byte Reload + mov rsi, qword ptr [rsp + 264] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 24], 2 - vpinsrb xmm0, xmm0, byte ptr [rdx + r15 + 24], 3 - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 24], 4 - mov rax, qword ptr [rsp + 248] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 24], 5 - mov rax, qword ptr [rsp + 40] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 24], 6 - mov rax, qword ptr [rsp + 200] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 24], 7 - mov rdi, qword ptr [rsp + 192] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rdi + 24], 8 + vpinsrb xmm0, xmm0, byte ptr [rdx + r10 + 24], 3 + mov rsi, qword ptr [rsp + 112] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 24], 4 mov rsi, qword ptr [rsp + 184] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 24], 9 - mov rsi, qword ptr [rsp + 224] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 24], 10 - mov rsi, qword ptr [rsp + 88] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 24], 11 - mov rsi, qword ptr [rsp + 128] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 24], 12 + vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 24], 5 + mov rsi, qword ptr [rsp + 144] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 24], 6 mov rsi, qword ptr [rsp + 208] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 24], 13 - mov rsi, qword ptr [rsp + 48] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 24], 14 - vpinsrb xmm0, xmm0, byte ptr [rdx + r12 + 24], 15 - mov rsi, qword ptr [rsp + 264] # 8-byte Reload - movzx esi, byte ptr [rdx + rsi + 24] + vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 24], 7 + mov rsi, qword ptr [rsp + 224] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 24], 8 + vpinsrb xmm0, xmm0, byte ptr [rdx + r14 + 24], 9 + vpinsrb xmm0, xmm0, byte ptr [rdx + rdi + 24], 10 + mov r14, qword ptr [rsp + 216] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r14 + 24], 11 + mov rsi, qword ptr [rsp + 80] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 24], 12 + vpinsrb xmm0, xmm0, byte ptr [rdx + rbx + 24], 13 + vpinsrb xmm0, xmm0, byte ptr [rdx + r11 + 24], 14 + mov rsi, qword ptr [rsp + 96] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 24], 15 + movzx esi, byte ptr [rdx + r15 + 24] vmovd xmm1, esi - vpinsrb xmm1, xmm1, byte ptr [rdx + r11 + 24], 1 - mov rsi, qword ptr [rsp + 64] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 24], 2 - vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 24], 3 - vpinsrb xmm1, xmm1, byte ptr [rdx + rbx + 24], 4 - mov rcx, qword ptr [rsp + 96] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 24], 5 + vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 24], 1 + vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 24], 2 + mov rax, qword ptr [rsp + 56] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 24], 3 + mov r12, qword ptr [rsp + 168] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + r12 + 24], 4 + mov rax, qword ptr [rsp + 136] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 24], 5 vpinsrb xmm1, xmm1, byte ptr [rdx + r13 + 24], 6 - mov rcx, qword ptr [rsp + 144] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 24], 7 - mov r15, qword ptr [rsp + 136] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + r9 + 24], 7 + mov r15, qword ptr [rsp + 160] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + r15 + 24], 8 vpinsrb xmm1, xmm1, byte ptr [rdx + r8 + 24], 9 - vpinsrb xmm1, xmm1, byte ptr [rdx + r10 + 24], 10 - mov rcx, qword ptr [rsp + 216] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 24], 11 - mov rcx, qword ptr [rsp + 288] # 8-byte Reload + mov rax, qword ptr [rsp + 40] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 24], 10 + mov r8, qword ptr [rsp + 128] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + r8 + 24], 11 + mov rcx, qword ptr [rsp + 48] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 24], 12 - vpinsrb xmm1, xmm1, byte ptr [rdx + r14 + 24], 13 - mov r8, qword ptr [rsp + 72] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + r8 + 24], 14 - mov rcx, qword ptr [rsp + 56] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 24], 15 - movzx esi, byte ptr [rdx + r9 + 25] - vmovd xmm2, esi - mov rcx, qword ptr [rsp + 232] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 25], 1 - mov rcx, qword ptr [rsp + 168] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 25], 2 - mov rcx, qword ptr [rsp + 112] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 25], 3 - mov r11, qword ptr [rsp + 240] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r11 + 25], 4 - mov r9, qword ptr [rsp + 248] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r9 + 25], 5 - mov r12, qword ptr [rsp + 40] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r12 + 25], 6 - vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 25], 7 - vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 25], 8 - mov rax, qword ptr [rsp + 184] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 25], 9 - mov r13, qword ptr [rsp + 224] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r13 + 25], 10 - mov rbx, qword ptr [rsp + 88] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rbx + 25], 11 - mov r14, qword ptr [rsp + 128] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r14 + 25], 12 - mov rcx, qword ptr [rsp + 208] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 25], 13 - mov rax, qword ptr [rsp + 48] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 25], 14 - mov rax, qword ptr [rsp + 80] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 25], 15 - mov rax, qword ptr [rsp + 264] # 8-byte Reload + mov r10, qword ptr [rsp + 32] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + r10 + 24], 13 + mov rdi, qword ptr [rsp + 288] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 24], 14 + mov rbx, qword ptr [rsp + 320] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rbx + 24], 15 + mov rax, qword ptr [rsp + 240] # 8-byte Reload movzx esi, byte ptr [rdx + rax + 25] + vmovd xmm2, esi + mov r13, qword ptr [rsp + 104] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + r13 + 25], 1 + mov rsi, qword ptr [rsp + 264] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 25], 2 + mov rsi, qword ptr [rsp + 200] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 25], 3 + mov rsi, qword ptr [rsp + 112] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 25], 4 + mov r11, qword ptr [rsp + 184] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + r11 + 25], 5 + mov rsi, qword ptr [rsp + 144] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 25], 6 + mov rsi, qword ptr [rsp + 208] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 25], 7 + mov rsi, qword ptr [rsp + 224] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 25], 8 + mov rsi, qword ptr [rsp + 232] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 25], 9 + mov rsi, qword ptr [rsp + 88] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 25], 10 + vpinsrb xmm2, xmm2, byte ptr [rdx + r14 + 25], 11 + mov rsi, qword ptr [rsp + 80] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 25], 12 + mov rsi, qword ptr [rsp + 72] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 25], 13 + mov rsi, qword ptr [rsp + 64] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 25], 14 + mov rsi, qword ptr [rsp + 96] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 25], 15 + mov rsi, qword ptr [rsp + 256] # 8-byte Reload + movzx esi, byte ptr [rdx + rsi + 25] vmovd xmm3, esi - mov rdi, qword ptr [rsp + 120] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 25], 1 - mov rax, qword ptr [rsp + 64] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 25], 2 - mov rax, qword ptr [rsp + 176] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 25], 3 - mov rax, qword ptr [rsp + 104] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 25], 4 - mov rax, qword ptr [rsp + 96] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 25], 5 - mov rax, qword ptr [rsp + 160] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 25], 6 - mov rax, qword ptr [rsp + 144] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 25], 7 + mov rsi, qword ptr [rsp + 192] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 25], 1 + mov rsi, qword ptr [rsp + 120] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 25], 2 + mov rsi, qword ptr [rsp + 56] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 25], 3 + vpinsrb xmm3, xmm3, byte ptr [rdx + r12 + 25], 4 + mov rsi, qword ptr [rsp + 136] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 25], 5 + mov rsi, qword ptr [rsp + 152] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 25], 6 + vpinsrb xmm3, xmm3, byte ptr [rdx + r9 + 25], 7 vpinsrb xmm3, xmm3, byte ptr [rdx + r15 + 25], 8 - mov rax, qword ptr [rsp + 152] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 25], 9 - vpinsrb xmm3, xmm3, byte ptr [rdx + r10 + 25], 10 - mov rax, qword ptr [rsp + 216] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 25], 11 - mov rsi, qword ptr [rsp + 288] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 25], 12 - mov r10, qword ptr [rsp + 32] # 8-byte Reload + mov r15, qword ptr [rsp + 176] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + r15 + 25], 9 + mov r9, qword ptr [rsp + 40] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + r9 + 25], 10 + vpinsrb xmm3, xmm3, byte ptr [rdx + r8 + 25], 11 + vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 25], 12 vpinsrb xmm3, xmm3, byte ptr [rdx + r10 + 25], 13 - vpinsrb xmm3, xmm3, byte ptr [rdx + r8 + 25], 14 + vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 25], 14 vinserti128 ymm9, ymm1, xmm0, 1 - mov r8, qword ptr [rsp + 56] # 8-byte Reload - vpinsrb xmm0, xmm3, byte ptr [rdx + r8 + 25], 15 + vpinsrb xmm0, xmm3, byte ptr [rdx + rbx + 25], 15 vinserti128 ymm8, ymm0, xmm2, 1 - mov rsi, qword ptr [rsp + 256] # 8-byte Reload - movzx esi, byte ptr [rdx + rsi + 26] + movzx esi, byte ptr [rdx + rax + 26] vmovd xmm0, esi - mov rsi, qword ptr [rsp + 232] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 26], 1 - mov rsi, qword ptr [rsp + 168] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 26], 2 - mov r15, qword ptr [rsp + 112] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + r15 + 26], 3 - vpinsrb xmm0, xmm0, byte ptr [rdx + r11 + 26], 4 - vpinsrb xmm0, xmm0, byte ptr [rdx + r9 + 26], 5 - vpinsrb xmm0, xmm0, byte ptr [rdx + r12 + 26], 6 - mov r11, qword ptr [rsp + 200] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + r11 + 26], 7 - mov r9, qword ptr [rsp + 192] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + r9 + 26], 8 - mov rsi, qword ptr [rsp + 184] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 26], 9 - vpinsrb xmm0, xmm0, byte ptr [rdx + r13 + 26], 10 - vpinsrb xmm0, xmm0, byte ptr [rdx + rbx + 26], 11 - vpinsrb xmm0, xmm0, byte ptr [rdx + r14 + 26], 12 - vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 26], 13 - mov rcx, qword ptr [rsp + 48] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 26], 14 - mov rcx, qword ptr [rsp + 80] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 26], 15 - mov rbx, qword ptr [rsp + 264] # 8-byte Reload - movzx esi, byte ptr [rdx + rbx + 26] + vpinsrb xmm0, xmm0, byte ptr [rdx + r13 + 26], 1 + mov r10, qword ptr [rsp + 264] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r10 + 26], 2 + mov rax, qword ptr [rsp + 200] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 26], 3 + mov rax, qword ptr [rsp + 112] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 26], 4 + vpinsrb xmm0, xmm0, byte ptr [rdx + r11 + 26], 5 + mov r11, qword ptr [rsp + 144] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r11 + 26], 6 + mov rcx, qword ptr [rsp + 208] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 26], 7 + mov r14, qword ptr [rsp + 224] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r14 + 26], 8 + mov rcx, qword ptr [rsp + 232] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 26], 9 + mov rsi, qword ptr [rsp + 88] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 26], 10 + mov rsi, qword ptr [rsp + 216] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 26], 11 + mov rsi, qword ptr [rsp + 80] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 26], 12 + mov rsi, qword ptr [rsp + 72] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 26], 13 + mov rsi, qword ptr [rsp + 64] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 26], 14 + mov rsi, qword ptr [rsp + 96] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 26], 15 + mov rdi, qword ptr [rsp + 256] # 8-byte Reload + movzx esi, byte ptr [rdx + rdi + 26] vmovd xmm1, esi - vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 26], 1 - mov rdi, qword ptr [rsp + 64] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 26], 2 - mov r12, qword ptr [rsp + 176] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + r12 + 26], 3 - mov r13, qword ptr [rsp + 104] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + r13 + 26], 4 - mov r14, qword ptr [rsp + 96] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + r14 + 26], 5 - mov rsi, qword ptr [rsp + 160] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 26], 6 - mov rcx, qword ptr [rsp + 144] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 26], 7 - mov rcx, qword ptr [rsp + 136] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 26], 8 + mov rsi, qword ptr [rsp + 192] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 26], 1 + mov r8, qword ptr [rsp + 120] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + r8 + 26], 2 + mov rbx, qword ptr [rsp + 56] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rbx + 26], 3 + vpinsrb xmm1, xmm1, byte ptr [rdx + r12 + 26], 4 + mov rsi, qword ptr [rsp + 136] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 26], 5 mov rsi, qword ptr [rsp + 152] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 26], 9 - mov rcx, qword ptr [rsp + 320] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 26], 10 - vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 26], 11 - mov rax, qword ptr [rsp + 288] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 26], 12 - vpinsrb xmm1, xmm1, byte ptr [rdx + r10 + 26], 13 - mov rcx, qword ptr [rsp + 72] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 26], 14 - vpinsrb xmm1, xmm1, byte ptr [rdx + r8 + 26], 15 - mov rax, qword ptr [rsp + 256] # 8-byte Reload - movzx esi, byte ptr [rdx + rax + 27] + vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 26], 6 + mov r12, qword ptr [rsp + 248] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + r12 + 26], 7 + mov rsi, qword ptr [rsp + 160] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 26], 8 + vpinsrb xmm1, xmm1, byte ptr [rdx + r15 + 26], 9 + vpinsrb xmm1, xmm1, byte ptr [rdx + r9 + 26], 10 + mov rsi, qword ptr [rsp + 128] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 26], 11 + mov rsi, qword ptr [rsp + 48] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 26], 12 + mov rsi, qword ptr [rsp + 32] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 26], 13 + mov r9, qword ptr [rsp + 288] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + r9 + 26], 14 + mov rsi, qword ptr [rsp + 320] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 26], 15 + mov rsi, qword ptr [rsp + 240] # 8-byte Reload + movzx esi, byte ptr [rdx + rsi + 27] vmovd xmm2, esi - mov r8, qword ptr [rsp + 232] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r8 + 27], 1 - mov rax, qword ptr [rsp + 168] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 27], 2 - vpinsrb xmm2, xmm2, byte ptr [rdx + r15 + 27], 3 - mov r10, qword ptr [rsp + 240] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r10 + 27], 4 - mov rax, qword ptr [rsp + 248] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 27], 5 - mov rax, qword ptr [rsp + 40] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 27], 6 - vpinsrb xmm2, xmm2, byte ptr [rdx + r11 + 27], 7 - vpinsrb xmm2, xmm2, byte ptr [rdx + r9 + 27], 8 - mov r15, qword ptr [rsp + 184] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r15 + 27], 9 - mov r9, qword ptr [rsp + 224] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r9 + 27], 10 - mov rax, qword ptr [rsp + 88] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 27], 11 - mov rax, qword ptr [rsp + 128] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 27], 12 + vpinsrb xmm2, xmm2, byte ptr [rdx + r13 + 27], 1 + vpinsrb xmm2, xmm2, byte ptr [rdx + r10 + 27], 2 + mov r13, r10 + mov rsi, qword ptr [rsp + 200] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 27], 3 + vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 27], 4 + mov r10, qword ptr [rsp + 184] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + r10 + 27], 5 + vpinsrb xmm2, xmm2, byte ptr [rdx + r11 + 27], 6 mov rax, qword ptr [rsp + 208] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 27], 7 + vpinsrb xmm2, xmm2, byte ptr [rdx + r14 + 27], 8 + vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 27], 9 + mov rax, qword ptr [rsp + 88] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 27], 10 + mov r14, qword ptr [rsp + 216] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + r14 + 27], 11 + mov rcx, qword ptr [rsp + 80] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 27], 12 + mov rax, qword ptr [rsp + 72] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 27], 13 - mov rax, qword ptr [rsp + 48] # 8-byte Reload + mov rax, qword ptr [rsp + 64] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 27], 14 - mov rax, qword ptr [rsp + 80] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 27], 15 - movzx esi, byte ptr [rdx + rbx + 27] + mov r11, qword ptr [rsp + 96] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + r11 + 27], 15 + movzx esi, byte ptr [rdx + rdi + 27] vmovd xmm3, esi - mov rax, qword ptr [rsp + 120] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 27], 1 - vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 27], 2 - vpinsrb xmm3, xmm3, byte ptr [rdx + r12 + 27], 3 - vpinsrb xmm3, xmm3, byte ptr [rdx + r13 + 27], 4 - vpinsrb xmm3, xmm3, byte ptr [rdx + r14 + 27], 5 - mov r12, qword ptr [rsp + 160] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + r12 + 27], 6 - mov rax, qword ptr [rsp + 144] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 27], 7 - mov rsi, qword ptr [rsp + 136] # 8-byte Reload + mov rsi, qword ptr [rsp + 192] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 27], 1 + vpinsrb xmm3, xmm3, byte ptr [rdx + r8 + 27], 2 + vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 27], 3 + mov rbx, qword ptr [rsp + 168] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 27], 4 + mov rdi, qword ptr [rsp + 136] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 27], 5 + mov r15, qword ptr [rsp + 152] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + r15 + 27], 6 + vpinsrb xmm3, xmm3, byte ptr [rdx + r12 + 27], 7 + mov rsi, qword ptr [rsp + 160] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 27], 8 - mov rsi, qword ptr [rsp + 152] # 8-byte Reload + mov rsi, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 27], 9 - mov rsi, qword ptr [rsp + 320] # 8-byte Reload + mov rsi, qword ptr [rsp + 40] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 27], 10 - mov rsi, qword ptr [rsp + 216] # 8-byte Reload + mov rsi, qword ptr [rsp + 128] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 27], 11 - mov rsi, qword ptr [rsp + 288] # 8-byte Reload + mov rsi, qword ptr [rsp + 48] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 27], 12 mov rsi, qword ptr [rsp + 32] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 27], 13 - vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 27], 14 - mov rcx, qword ptr [rsp + 56] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 27], 15 + vpinsrb xmm3, xmm3, byte ptr [rdx + r9 + 27], 14 + mov rsi, qword ptr [rsp + 320] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 27], 15 vinserti128 ymm0, ymm1, xmm0, 1 vmovdqa ymmword ptr [rsp + 544], ymm0 # 32-byte Spill vinserti128 ymm0, ymm3, xmm2, 1 vmovdqa ymmword ptr [rsp + 576], ymm0 # 32-byte Spill - mov r13, qword ptr [rsp + 256] # 8-byte Reload - movzx esi, byte ptr [rdx + r13 + 28] + mov rsi, qword ptr [rsp + 240] # 8-byte Reload + movzx esi, byte ptr [rdx + rsi + 28] vmovd xmm0, esi - vpinsrb xmm0, xmm0, byte ptr [rdx + r8 + 28], 1 - mov rcx, qword ptr [rsp + 168] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 28], 2 - mov r11, qword ptr [rsp + 112] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + r11 + 28], 3 - vpinsrb xmm0, xmm0, byte ptr [rdx + r10 + 28], 4 - mov r14, qword ptr [rsp + 248] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + r14 + 28], 5 - mov rsi, qword ptr [rsp + 40] # 8-byte Reload + mov rsi, qword ptr [rsp + 104] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 28], 1 + vpinsrb xmm0, xmm0, byte ptr [rdx + r13 + 28], 2 + mov rsi, qword ptr [rsp + 200] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 28], 3 + mov r9, qword ptr [rsp + 112] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r9 + 28], 4 + vpinsrb xmm0, xmm0, byte ptr [rdx + r10 + 28], 5 + mov rsi, qword ptr [rsp + 144] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 28], 6 - mov rbx, qword ptr [rsp + 200] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rbx + 28], 7 - mov rsi, qword ptr [rsp + 192] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 28], 8 - vpinsrb xmm0, xmm0, byte ptr [rdx + r15 + 28], 9 - vpinsrb xmm0, xmm0, byte ptr [rdx + r9 + 28], 10 - mov r10, qword ptr [rsp + 88] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + r10 + 28], 11 - mov r15, qword ptr [rsp + 128] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + r15 + 28], 12 - mov rdi, qword ptr [rsp + 208] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rdi + 28], 13 - mov rsi, qword ptr [rsp + 48] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 28], 14 - mov r8, qword ptr [rsp + 80] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + r8 + 28], 15 - mov rsi, qword ptr [rsp + 264] # 8-byte Reload - movzx esi, byte ptr [rdx + rsi + 28] + mov r13, qword ptr [rsp + 208] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r13 + 28], 7 + mov r12, qword ptr [rsp + 224] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r12 + 28], 8 + mov r8, qword ptr [rsp + 232] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r8 + 28], 9 + mov rsi, qword ptr [rsp + 88] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 28], 10 + vpinsrb xmm0, xmm0, byte ptr [rdx + r14 + 28], 11 + vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 28], 12 + mov r14, qword ptr [rsp + 72] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r14 + 28], 13 + vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 28], 14 + vpinsrb xmm0, xmm0, byte ptr [rdx + r11 + 28], 15 + mov r11, qword ptr [rsp + 256] # 8-byte Reload + movzx esi, byte ptr [rdx + r11 + 28] vmovd xmm1, esi - mov rsi, qword ptr [rsp + 120] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 28], 1 - mov rsi, qword ptr [rsp + 64] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 28], 2 - mov r9, qword ptr [rsp + 176] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + r9 + 28], 3 - mov rsi, qword ptr [rsp + 104] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 28], 4 - mov rsi, qword ptr [rsp + 96] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 28], 5 - vpinsrb xmm1, xmm1, byte ptr [rdx + r12 + 28], 6 - vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 28], 7 - mov rax, qword ptr [rsp + 136] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 28], 8 - mov rax, qword ptr [rsp + 152] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 28], 9 - mov rax, qword ptr [rsp + 320] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 28], 10 - mov rax, qword ptr [rsp + 216] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 28], 11 - mov rsi, qword ptr [rsp + 288] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 28], 12 + mov rax, qword ptr [rsp + 192] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 28], 1 + mov rax, qword ptr [rsp + 120] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 28], 2 + mov rax, qword ptr [rsp + 56] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 28], 3 + vpinsrb xmm1, xmm1, byte ptr [rdx + rbx + 28], 4 + vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 28], 5 + vpinsrb xmm1, xmm1, byte ptr [rdx + r15 + 28], 6 + mov rdi, qword ptr [rsp + 248] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 28], 7 + mov rcx, qword ptr [rsp + 160] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 28], 8 + mov rbx, qword ptr [rsp + 176] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rbx + 28], 9 + mov rcx, qword ptr [rsp + 40] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 28], 10 + mov rcx, qword ptr [rsp + 128] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 28], 11 + mov rcx, qword ptr [rsp + 48] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 28], 12 mov rsi, qword ptr [rsp + 32] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 28], 13 - mov r12, qword ptr [rsp + 72] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + r12 + 28], 14 - mov rsi, qword ptr [rsp + 56] # 8-byte Reload + mov r10, qword ptr [rsp + 288] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + r10 + 28], 14 + mov rsi, qword ptr [rsp + 320] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 28], 15 - movzx esi, byte ptr [rdx + r13 + 29] + mov rsi, qword ptr [rsp + 240] # 8-byte Reload + movzx esi, byte ptr [rdx + rsi + 29] vmovd xmm2, esi - mov r13, qword ptr [rsp + 232] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r13 + 29], 1 - vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 29], 2 - vpinsrb xmm2, xmm2, byte ptr [rdx + r11 + 29], 3 - mov rcx, qword ptr [rsp + 240] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 29], 4 - vpinsrb xmm2, xmm2, byte ptr [rdx + r14 + 29], 5 - mov r11, qword ptr [rsp + 40] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r11 + 29], 6 - vpinsrb xmm2, xmm2, byte ptr [rdx + rbx + 29], 7 - mov rcx, qword ptr [rsp + 192] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 29], 8 - mov rcx, qword ptr [rsp + 184] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 29], 9 - mov r14, qword ptr [rsp + 224] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r14 + 29], 10 - vpinsrb xmm2, xmm2, byte ptr [rdx + r10 + 29], 11 - vpinsrb xmm2, xmm2, byte ptr [rdx + r15 + 29], 12 - vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 29], 13 - mov rbx, qword ptr [rsp + 48] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rbx + 29], 14 - vpinsrb xmm2, xmm2, byte ptr [rdx + r8 + 29], 15 - mov r8, qword ptr [rsp + 264] # 8-byte Reload - movzx esi, byte ptr [rdx + r8 + 29] - vmovd xmm3, esi - mov r15, qword ptr [rsp + 120] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + r15 + 29], 1 - mov r10, qword ptr [rsp + 64] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + r10 + 29], 2 - vpinsrb xmm3, xmm3, byte ptr [rdx + r9 + 29], 3 - mov r9, qword ptr [rsp + 104] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + r9 + 29], 4 - mov rsi, qword ptr [rsp + 96] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 29], 5 - mov rsi, qword ptr [rsp + 160] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 29], 6 + mov rsi, qword ptr [rsp + 104] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 29], 1 + mov rsi, qword ptr [rsp + 264] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 29], 2 + mov rsi, qword ptr [rsp + 200] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 29], 3 + vpinsrb xmm2, xmm2, byte ptr [rdx + r9 + 29], 4 + mov r9, qword ptr [rsp + 184] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + r9 + 29], 5 mov rsi, qword ptr [rsp + 144] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 29], 7 - mov rsi, qword ptr [rsp + 136] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 29], 8 - mov rsi, qword ptr [rsp + 152] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 29], 9 - mov rsi, qword ptr [rsp + 320] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 29], 10 - vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 29], 11 - mov rax, qword ptr [rsp + 288] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 29], 12 - mov rax, qword ptr [rsp + 32] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 29], 13 - vpinsrb xmm4, xmm3, byte ptr [rdx + r12 + 29], 14 + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 29], 6 + vpinsrb xmm2, xmm2, byte ptr [rdx + r13 + 29], 7 + vpinsrb xmm2, xmm2, byte ptr [rdx + r12 + 29], 8 + vpinsrb xmm2, xmm2, byte ptr [rdx + r8 + 29], 9 + mov rsi, qword ptr [rsp + 88] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 29], 10 + mov r8, qword ptr [rsp + 216] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + r8 + 29], 11 + mov r12, qword ptr [rsp + 80] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + r12 + 29], 12 + vpinsrb xmm2, xmm2, byte ptr [rdx + r14 + 29], 13 + mov rsi, qword ptr [rsp + 64] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 29], 14 + mov r14, qword ptr [rsp + 96] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + r14 + 29], 15 + movzx esi, byte ptr [rdx + r11 + 29] + vmovd xmm3, esi + mov r11, qword ptr [rsp + 192] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + r11 + 29], 1 + mov rsi, qword ptr [rsp + 120] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 29], 2 + vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 29], 3 + mov r13, qword ptr [rsp + 168] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + r13 + 29], 4 + mov rax, qword ptr [rsp + 136] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 29], 5 + vpinsrb xmm3, xmm3, byte ptr [rdx + r15 + 29], 6 + vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 29], 7 + mov rax, qword ptr [rsp + 160] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 29], 8 + vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 29], 9 + mov r15, rbx + mov rax, qword ptr [rsp + 40] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 29], 10 + mov rdi, qword ptr [rsp + 128] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 29], 11 + vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 29], 12 + mov rcx, qword ptr [rsp + 32] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 29], 13 + vpinsrb xmm4, xmm3, byte ptr [rdx + r10 + 29], 14 vinserti128 ymm0, ymm1, xmm0, 1 vmovdqa ymmword ptr [rsp + 640], ymm0 # 32-byte Spill - mov r12, qword ptr [rsp + 56] # 8-byte Reload - vpinsrb xmm0, xmm4, byte ptr [rdx + r12 + 29], 15 + mov r10, qword ptr [rsp + 320] # 8-byte Reload + vpinsrb xmm0, xmm4, byte ptr [rdx + r10 + 29], 15 vinserti128 ymm0, ymm0, xmm2, 1 vmovdqa ymmword ptr [rsp + 608], ymm0 # 32-byte Spill - mov rdi, qword ptr [rsp + 256] # 8-byte Reload - movzx esi, byte ptr [rdx + rdi + 30] + mov rax, qword ptr [rsp + 240] # 8-byte Reload + movzx esi, byte ptr [rdx + rax + 30] vmovd xmm0, esi - vpinsrb xmm0, xmm0, byte ptr [rdx + r13 + 30], 1 - movzx esi, byte ptr [rdx + rdi + 31] + mov rbx, qword ptr [rsp + 104] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rbx + 30], 1 + movzx esi, byte ptr [rdx + rax + 31] vmovd xmm1, esi - vpinsrb xmm1, xmm1, byte ptr [rdx + r13 + 31], 1 - mov rax, qword ptr [rsp + 168] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rbx + 31], 1 + mov rax, qword ptr [rsp + 264] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 30], 2 vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 31], 2 - mov rax, qword ptr [rsp + 112] # 8-byte Reload + mov rax, qword ptr [rsp + 200] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 30], 3 vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 31], 3 - mov rax, qword ptr [rsp + 240] # 8-byte Reload + mov rax, qword ptr [rsp + 112] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 30], 4 vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 31], 4 - mov rax, qword ptr [rsp + 248] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 30], 5 - vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 31], 5 - vpinsrb xmm0, xmm0, byte ptr [rdx + r11 + 30], 6 - vpinsrb xmm1, xmm1, byte ptr [rdx + r11 + 31], 6 - mov rdi, qword ptr [rsp + 272] # 8-byte Reload - mov rax, qword ptr [rsp + 200] # 8-byte Reload + mov rax, r9 + vpinsrb xmm0, xmm0, byte ptr [rdx + r9 + 30], 5 + vpinsrb xmm1, xmm1, byte ptr [rdx + r9 + 31], 5 + mov rax, qword ptr [rsp + 144] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 30], 6 + vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 31], 6 + mov rax, qword ptr [rsp + 208] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 30], 7 vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 31], 7 - mov rax, qword ptr [rsp + 192] # 8-byte Reload + mov rbx, qword ptr [rsp + 272] # 8-byte Reload + mov rax, qword ptr [rsp + 224] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 30], 8 vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 31], 8 - vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 30], 9 - vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 31], 9 - vpinsrb xmm0, xmm0, byte ptr [rdx + r14 + 30], 10 - vpinsrb xmm1, xmm1, byte ptr [rdx + r14 + 31], 10 + mov rax, qword ptr [rsp + 232] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 30], 9 + vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 31], 9 mov rax, qword ptr [rsp + 88] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 30], 11 - vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 31], 11 - mov rax, qword ptr [rsp + 128] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 30], 12 - vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 31], 12 - mov rax, qword ptr [rsp + 208] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 30], 10 + vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 31], 10 + mov rax, r8 + vpinsrb xmm0, xmm0, byte ptr [rdx + r8 + 30], 11 + vpinsrb xmm1, xmm1, byte ptr [rdx + r8 + 31], 11 + vpinsrb xmm0, xmm0, byte ptr [rdx + r12 + 30], 12 + vpinsrb xmm1, xmm1, byte ptr [rdx + r12 + 31], 12 + mov rax, qword ptr [rsp + 72] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 30], 13 vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 31], 13 - mov rax, rbx - vpinsrb xmm0, xmm0, byte ptr [rdx + rbx + 30], 14 - vpinsrb xmm1, xmm1, byte ptr [rdx + rbx + 31], 14 - mov rax, qword ptr [rsp + 80] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 30], 15 - vpinsrb xmm2, xmm1, byte ptr [rdx + rax + 31], 15 - mov rsi, r8 - movzx eax, byte ptr [rdx + r8 + 30] + mov rax, qword ptr [rsp + 64] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 30], 14 + vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 31], 14 + vpinsrb xmm0, xmm0, byte ptr [rdx + r14 + 30], 15 + vpinsrb xmm2, xmm1, byte ptr [rdx + r14 + 31], 15 + mov rsi, qword ptr [rsp + 256] # 8-byte Reload + movzx eax, byte ptr [rdx + rsi + 30] vmovd xmm1, eax - vpinsrb xmm1, xmm1, byte ptr [rdx + r15 + 30], 1 - movzx eax, byte ptr [rdx + r8 + 31] + vpinsrb xmm1, xmm1, byte ptr [rdx + r11 + 30], 1 + movzx eax, byte ptr [rdx + rsi + 31] vmovd xmm7, eax - vpinsrb xmm7, xmm7, byte ptr [rdx + r15 + 31], 1 - vpinsrb xmm1, xmm1, byte ptr [rdx + r10 + 30], 2 - vpinsrb xmm7, xmm7, byte ptr [rdx + r10 + 31], 2 - mov rax, qword ptr [rsp + 176] # 8-byte Reload + vpinsrb xmm7, xmm7, byte ptr [rdx + r11 + 31], 1 + mov rax, qword ptr [rsp + 120] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 30], 2 + vpinsrb xmm7, xmm7, byte ptr [rdx + rax + 31], 2 + mov rax, qword ptr [rsp + 56] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 30], 3 vpinsrb xmm7, xmm7, byte ptr [rdx + rax + 31], 3 - vpinsrb xmm1, xmm1, byte ptr [rdx + r9 + 30], 4 - vpinsrb xmm7, xmm7, byte ptr [rdx + r9 + 31], 4 - mov rax, qword ptr [rsp + 96] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + r13 + 30], 4 + vpinsrb xmm7, xmm7, byte ptr [rdx + r13 + 31], 4 + mov rax, qword ptr [rsp + 136] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 30], 5 vpinsrb xmm7, xmm7, byte ptr [rdx + rax + 31], 5 - mov rax, qword ptr [rsp + 160] # 8-byte Reload + mov rax, qword ptr [rsp + 152] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 30], 6 vpinsrb xmm7, xmm7, byte ptr [rdx + rax + 31], 6 - mov rax, qword ptr [rsp + 144] # 8-byte Reload + mov rax, qword ptr [rsp + 248] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 30], 7 vpinsrb xmm7, xmm7, byte ptr [rdx + rax + 31], 7 - mov rax, qword ptr [rsp + 136] # 8-byte Reload + mov rax, qword ptr [rsp + 160] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 30], 8 vpinsrb xmm7, xmm7, byte ptr [rdx + rax + 31], 8 - mov rax, qword ptr [rsp + 152] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 30], 9 - vpinsrb xmm7, xmm7, byte ptr [rdx + rax + 31], 9 - mov rax, qword ptr [rsp + 320] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + r15 + 30], 9 + vpinsrb xmm7, xmm7, byte ptr [rdx + r15 + 31], 9 + mov rax, qword ptr [rsp + 40] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 30], 10 vpinsrb xmm7, xmm7, byte ptr [rdx + rax + 31], 10 - mov rax, qword ptr [rsp + 216] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 30], 11 - vpinsrb xmm7, xmm7, byte ptr [rdx + rax + 31], 11 - mov rax, qword ptr [rsp + 288] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 30], 11 + vpinsrb xmm7, xmm7, byte ptr [rdx + rdi + 31], 11 + mov rax, qword ptr [rsp + 48] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 30], 12 vpinsrb xmm7, xmm7, byte ptr [rdx + rax + 31], 12 - mov rax, qword ptr [rsp + 32] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 30], 13 - vpinsrb xmm7, xmm7, byte ptr [rdx + rax + 31], 13 - mov rax, qword ptr [rsp + 72] # 8-byte Reload + mov rax, rcx + vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 30], 13 + vpinsrb xmm7, xmm7, byte ptr [rdx + rcx + 31], 13 + mov rax, qword ptr [rsp + 288] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 30], 14 vpinsrb xmm7, xmm7, byte ptr [rdx + rax + 31], 14 - mov rax, r12 - vpinsrb xmm1, xmm1, byte ptr [rdx + r12 + 30], 15 - vpinsrb xmm7, xmm7, byte ptr [rdx + r12 + 31], 15 + vpinsrb xmm1, xmm1, byte ptr [rdx + r10 + 30], 15 + vpinsrb xmm7, xmm7, byte ptr [rdx + r10 + 31], 15 vinserti128 ymm0, ymm1, xmm0, 1 vmovdqa ymmword ptr [rsp + 320], ymm0 # 32-byte Spill vinserti128 ymm0, ymm7, xmm2, 1 @@ -16818,19 +17468,19 @@ comparison_equal_scalar_arr_avx2: # @comparison_equal_scalar_arr_avx2 vinserti128 ymm4, ymm3, xmm0, 1 vperm2i128 ymm0, ymm3, ymm0, 49 # ymm0 = ymm3[2,3],ymm0[2,3] mov rcx, qword ptr [rsp + 408] # 8-byte Reload - vmovdqu ymmword ptr [rdi + 4*rcx + 96], ymm0 - vmovdqu ymmword ptr [rdi + 4*rcx + 64], ymm2 - vmovdqu ymmword ptr [rdi + 4*rcx + 32], ymm4 - vmovdqu ymmword ptr [rdi + 4*rcx], ymm1 + vmovdqu ymmword ptr [rbx + 4*rcx + 96], ymm0 + vmovdqu ymmword ptr [rbx + 4*rcx + 64], ymm2 + vmovdqu ymmword ptr [rbx + 4*rcx + 32], ymm4 + vmovdqu ymmword ptr [rbx + 4*rcx], ymm1 add rcx, 32 mov rax, rcx cmp rcx, qword ptr [rsp + 384] # 8-byte Folded Reload - jne .LBB2_169 -# %bb.170: + jne .LBB2_170 +# %bb.171: mov r15, qword ptr [rsp + 392] # 8-byte Reload cmp r15, qword ptr [rsp + 384] # 8-byte Folded Reload mov r10, qword ptr [rsp + 280] # 8-byte Reload - mov r14d, dword ptr [rsp + 28] # 4-byte Reload + mov r11d, dword ptr [rsp + 28] # 4-byte Reload mov r12, qword ptr [rsp + 400] # 8-byte Reload jne .LBB2_114 jmp .LBB2_133 @@ -16851,9 +17501,9 @@ comparison_not_equal_arr_arr_avx2: # @comparison_not_equal_arr_arr_avx2 push rbx and rsp, -8 sub rsp, 72 - # kill: def $r9d killed $r9d def $r9 - mov r11, r8 - mov r14, rcx + mov eax, r9d + mov r14, r8 + mov r12, rcx cmp edi, 6 jg .LBB3_29 # %bb.1: @@ -16869,17 +17519,17 @@ comparison_not_equal_arr_arr_avx2: # @comparison_not_equal_arr_arr_avx2 cmp edi, 6 jne .LBB3_123 # %bb.18: - lea r15, [r11 + 31] - test r11, r11 - cmovns r15, r11 - lea eax, [r9 + 7] - test r9d, r9d - cmovns eax, r9d - and eax, -8 - sub r9d, eax + lea r15, [r14 + 31] + test r14, r14 + cmovns r15, r14 + lea ecx, [rax + 7] + test eax, eax + cmovns ecx, eax + and ecx, -8 + sub eax, ecx je .LBB3_22 # %bb.19: - movsxd rax, r9d + cdqe .p2align 4, 0x90 .LBB3_20: # =>This Inner Loop Header: Depth=1 mov ecx, dword ptr [rsi] @@ -16892,7 +17542,7 @@ comparison_not_equal_arr_arr_avx2: # @comparison_not_equal_arr_arr_avx2 test rax, rax cmovns rdi, rax sar rdi, 3 - movzx r8d, byte ptr [r14 + rdi] + movzx r8d, byte ptr [r12 + rdi] xor r10b, r8b lea r9d, [8*rdi] mov ecx, eax @@ -16902,50 +17552,50 @@ comparison_not_equal_arr_arr_avx2: # @comparison_not_equal_arr_arr_avx2 shl ebx, cl and bl, r10b xor bl, r8b - mov byte ptr [r14 + rdi], bl + mov byte ptr [r12 + rdi], bl add rax, 1 cmp rax, 8 jne .LBB3_20 # %bb.21: - add r14, 1 + add r12, 1 .LBB3_22: sar r15, 5 - cmp r11, 32 + cmp r14, 32 jl .LBB3_26 # %bb.23: - mov qword ptr [rsp + 24], r11 # 8-byte Spill - mov qword ptr [rsp + 64], r15 # 8-byte Spill + mov qword ptr [rsp + 24], r14 # 8-byte Spill mov qword ptr [rsp + 56], r15 # 8-byte Spill + mov qword ptr [rsp + 32], r15 # 8-byte Spill .p2align 4, 0x90 .LBB3_24: # =>This Inner Loop Header: Depth=1 - mov qword ptr [rsp + 48], r14 # 8-byte Spill + mov qword ptr [rsp + 48], r12 # 8-byte Spill mov eax, dword ptr [rsi] mov ecx, dword ptr [rsi + 4] cmp eax, dword ptr [rdx] - setne byte ptr [rsp + 40] # 1-byte Folded Spill + setne byte ptr [rsp + 4] # 1-byte Folded Spill cmp ecx, dword ptr [rdx + 4] - setne byte ptr [rsp + 32] # 1-byte Folded Spill + setne byte ptr [rsp + 40] # 1-byte Folded Spill mov eax, dword ptr [rsi + 8] cmp eax, dword ptr [rdx + 8] - setne byte ptr [rsp + 20] # 1-byte Folded Spill + setne byte ptr [rsp + 21] # 1-byte Folded Spill mov eax, dword ptr [rsi + 12] cmp eax, dword ptr [rdx + 12] - setne byte ptr [rsp + 21] # 1-byte Folded Spill + setne byte ptr [rsp + 22] # 1-byte Folded Spill mov eax, dword ptr [rsi + 16] cmp eax, dword ptr [rdx + 16] - setne byte ptr [rsp + 22] # 1-byte Folded Spill + setne byte ptr [rsp + 23] # 1-byte Folded Spill mov eax, dword ptr [rsi + 20] cmp eax, dword ptr [rdx + 20] - setne byte ptr [rsp + 23] # 1-byte Folded Spill + setne byte ptr [rsp + 3] # 1-byte Folded Spill mov eax, dword ptr [rsi + 24] cmp eax, dword ptr [rdx + 24] - setne byte ptr [rsp + 4] # 1-byte Folded Spill + setne byte ptr [rsp + 5] # 1-byte Folded Spill mov eax, dword ptr [rsi + 28] cmp eax, dword ptr [rdx + 28] setne r13b mov eax, dword ptr [rsi + 32] cmp eax, dword ptr [rdx + 32] - setne byte ptr [rsp + 9] # 1-byte Folded Spill + setne byte ptr [rsp + 10] # 1-byte Folded Spill mov eax, dword ptr [rsi + 36] cmp eax, dword ptr [rdx + 36] setne r8b @@ -16957,166 +17607,166 @@ comparison_not_equal_arr_arr_avx2: # @comparison_not_equal_arr_arr_avx2 setne r15b mov eax, dword ptr [rsi + 48] cmp eax, dword ptr [rdx + 48] - setne byte ptr [rsp + 5] # 1-byte Folded Spill + setne byte ptr [rsp + 6] # 1-byte Folded Spill mov eax, dword ptr [rsi + 52] cmp eax, dword ptr [rdx + 52] - setne byte ptr [rsp + 6] # 1-byte Folded Spill + setne byte ptr [rsp + 7] # 1-byte Folded Spill mov eax, dword ptr [rsi + 56] cmp eax, dword ptr [rdx + 56] - setne byte ptr [rsp + 7] # 1-byte Folded Spill + setne byte ptr [rsp + 8] # 1-byte Folded Spill mov eax, dword ptr [rsi + 60] cmp eax, dword ptr [rdx + 60] - setne bl + setne dil mov eax, dword ptr [rsi + 64] - mov ecx, dword ptr [rsi + 68] + mov ebx, dword ptr [rsi + 68] cmp eax, dword ptr [rdx + 64] mov eax, dword ptr [rsi + 72] - setne byte ptr [rsp + 10] # 1-byte Folded Spill - cmp ecx, dword ptr [rdx + 68] - mov ecx, dword ptr [rsi + 76] + setne byte ptr [rsp + 11] # 1-byte Folded Spill + cmp ebx, dword ptr [rdx + 68] + mov ebx, dword ptr [rsi + 76] setne r10b cmp eax, dword ptr [rdx + 72] mov eax, dword ptr [rsi + 80] setne r14b - cmp ecx, dword ptr [rdx + 76] - mov ecx, dword ptr [rsi + 84] + cmp ebx, dword ptr [rdx + 76] + mov ebx, dword ptr [rsi + 84] setne r12b cmp eax, dword ptr [rdx + 80] - setne byte ptr [rsp + 8] # 1-byte Folded Spill - cmp ecx, dword ptr [rdx + 84] + setne byte ptr [rsp + 9] # 1-byte Folded Spill + cmp ebx, dword ptr [rdx + 84] mov eax, dword ptr [rsi + 88] - setne byte ptr [rsp + 11] # 1-byte Folded Spill + setne byte ptr [rsp + 12] # 1-byte Folded Spill cmp eax, dword ptr [rdx + 88] mov eax, dword ptr [rsi + 92] - setne byte ptr [rsp + 12] # 1-byte Folded Spill + setne byte ptr [rsp + 13] # 1-byte Folded Spill cmp eax, dword ptr [rdx + 92] mov eax, dword ptr [rsi + 96] setne r9b cmp eax, dword ptr [rdx + 96] mov eax, dword ptr [rsi + 100] - setne byte ptr [rsp + 19] # 1-byte Folded Spill + setne byte ptr [rsp + 20] # 1-byte Folded Spill cmp eax, dword ptr [rdx + 100] mov eax, dword ptr [rsi + 104] - setne byte ptr [rsp + 13] # 1-byte Folded Spill + setne byte ptr [rsp + 14] # 1-byte Folded Spill cmp eax, dword ptr [rdx + 104] mov eax, dword ptr [rsi + 108] - setne byte ptr [rsp + 14] # 1-byte Folded Spill + setne byte ptr [rsp + 15] # 1-byte Folded Spill cmp eax, dword ptr [rdx + 108] mov eax, dword ptr [rsi + 112] - setne byte ptr [rsp + 15] # 1-byte Folded Spill + setne byte ptr [rsp + 16] # 1-byte Folded Spill cmp eax, dword ptr [rdx + 112] mov eax, dword ptr [rsi + 116] - setne byte ptr [rsp + 16] # 1-byte Folded Spill + setne byte ptr [rsp + 17] # 1-byte Folded Spill cmp eax, dword ptr [rdx + 116] mov eax, dword ptr [rsi + 120] - setne byte ptr [rsp + 18] # 1-byte Folded Spill + setne byte ptr [rsp + 19] # 1-byte Folded Spill cmp eax, dword ptr [rdx + 120] mov eax, dword ptr [rsi + 124] - setne byte ptr [rsp + 17] # 1-byte Folded Spill + setne byte ptr [rsp + 18] # 1-byte Folded Spill sub rsi, -128 cmp eax, dword ptr [rdx + 124] - setne dil - movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload + setne cl + movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 40] # 1-byte Folded Reload - mov ecx, eax - movzx eax, byte ptr [rsp + 4] # 1-byte Folded Reload + add al, byte ptr [rsp + 4] # 1-byte Folded Reload + mov ebx, eax + movzx eax, byte ptr [rsp + 5] # 1-byte Folded Reload shl al, 6 shl r13b, 7 or r13b, al - movzx eax, byte ptr [rsp + 20] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 21] # 1-byte Folded Reload shl al, 2 - or al, cl + or al, bl add r8b, r8b - add r8b, byte ptr [rsp + 9] # 1-byte Folded Reload - movzx ecx, byte ptr [rsp + 21] # 1-byte Folded Reload - shl cl, 3 - or cl, al - mov eax, ecx + add r8b, byte ptr [rsp + 10] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 22] # 1-byte Folded Reload + shl bl, 3 + or bl, al + mov eax, ebx shl r11b, 2 or r11b, r8b - movzx ecx, byte ptr [rsp + 22] # 1-byte Folded Reload - shl cl, 4 - or cl, al - mov r8d, ecx + movzx ebx, byte ptr [rsp + 23] # 1-byte Folded Reload + shl bl, 4 + or bl, al + mov r8d, ebx shl r15b, 3 or r15b, r11b - movzx ecx, byte ptr [rsp + 23] # 1-byte Folded Reload - shl cl, 5 - or cl, r8b - movzx eax, byte ptr [rsp + 5] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 3] # 1-byte Folded Reload + shl bl, 5 + or bl, r8b + movzx eax, byte ptr [rsp + 6] # 1-byte Folded Reload shl al, 4 or al, r15b mov r8d, eax - movzx eax, byte ptr [rsp + 6] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 7] # 1-byte Folded Reload shl al, 5 or al, r8b - movzx r8d, byte ptr [rsp + 7] # 1-byte Folded Reload + movzx r8d, byte ptr [rsp + 8] # 1-byte Folded Reload shl r8b, 6 - shl bl, 7 - or bl, r8b - or r13b, cl - or bl, al + shl dil, 7 + or dil, r8b + or r13b, bl + or dil, al add r10b, r10b - add r10b, byte ptr [rsp + 10] # 1-byte Folded Reload + add r10b, byte ptr [rsp + 11] # 1-byte Folded Reload shl r14b, 2 or r14b, r10b shl r12b, 3 or r12b, r14b - movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 9] # 1-byte Folded Reload shl al, 4 or al, r12b - mov ecx, eax - mov r14, qword ptr [rsp + 48] # 8-byte Reload - movzx eax, byte ptr [rsp + 11] # 1-byte Folded Reload + mov ebx, eax + mov r12, qword ptr [rsp + 48] # 8-byte Reload + movzx eax, byte ptr [rsp + 12] # 1-byte Folded Reload shl al, 5 - or al, cl - mov byte ptr [r14], r13b - movzx ecx, byte ptr [rsp + 12] # 1-byte Folded Reload - shl cl, 6 + or al, bl + mov byte ptr [r12], r13b + movzx ebx, byte ptr [rsp + 13] # 1-byte Folded Reload + shl bl, 6 shl r9b, 7 - or r9b, cl - mov byte ptr [r14 + 1], bl + or r9b, bl + mov byte ptr [r12 + 1], dil or r9b, al - movzx eax, byte ptr [rsp + 13] # 1-byte Folded Reload - add al, al - add al, byte ptr [rsp + 19] # 1-byte Folded Reload - mov ecx, eax movzx eax, byte ptr [rsp + 14] # 1-byte Folded Reload - shl al, 2 - or al, cl - mov ecx, eax + add al, al + add al, byte ptr [rsp + 20] # 1-byte Folded Reload + mov ebx, eax movzx eax, byte ptr [rsp + 15] # 1-byte Folded Reload - shl al, 3 - or al, cl - mov ecx, eax + shl al, 2 + or al, bl + mov ebx, eax movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload + shl al, 3 + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 17] # 1-byte Folded Reload shl al, 4 - or al, cl - mov ecx, eax - movzx eax, byte ptr [rsp + 18] # 1-byte Folded Reload + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 19] # 1-byte Folded Reload shl al, 5 - or al, cl - movzx ecx, byte ptr [rsp + 17] # 1-byte Folded Reload - shl cl, 6 - shl dil, 7 - or dil, cl - or dil, al - mov byte ptr [r14 + 2], r9b - mov byte ptr [r14 + 3], dil + or al, bl + movzx ebx, byte ptr [rsp + 18] # 1-byte Folded Reload + shl bl, 6 + shl cl, 7 + or cl, bl + or cl, al + mov byte ptr [r12 + 2], r9b + mov byte ptr [r12 + 3], cl add rdx, 128 - add r14, 4 - add qword ptr [rsp + 56], -1 # 8-byte Folded Spill + add r12, 4 + add qword ptr [rsp + 32], -1 # 8-byte Folded Spill jne .LBB3_24 # %bb.25: - mov r11, qword ptr [rsp + 24] # 8-byte Reload - mov r15, qword ptr [rsp + 64] # 8-byte Reload + mov r14, qword ptr [rsp + 24] # 8-byte Reload + mov r15, qword ptr [rsp + 56] # 8-byte Reload .LBB3_26: shl r15, 5 - cmp r15, r11 + cmp r15, r14 jge .LBB3_123 # %bb.27: - sub r11, r15 + sub r14, r15 xor ecx, ecx .p2align 4, 0x90 .LBB3_28: # =>This Inner Loop Header: Depth=1 @@ -17127,7 +17777,7 @@ comparison_not_equal_arr_arr_avx2: # @comparison_not_equal_arr_arr_avx2 neg bl mov rdi, rcx shr rdi, 3 - movzx r9d, byte ptr [r14 + rdi] + movzx r9d, byte ptr [r12 + rdi] xor bl, r9b and cl, 7 mov al, 1 @@ -17135,9 +17785,9 @@ comparison_not_equal_arr_arr_avx2: # @comparison_not_equal_arr_arr_avx2 shl al, cl and al, bl xor al, r9b - mov byte ptr [r14 + rdi], al + mov byte ptr [r12 + rdi], al mov rcx, r8 - cmp r11, r8 + cmp r14, r8 jne .LBB3_28 jmp .LBB3_123 .LBB3_29: @@ -17153,271 +17803,366 @@ comparison_not_equal_arr_arr_avx2: # @comparison_not_equal_arr_arr_avx2 cmp edi, 12 jne .LBB3_123 # %bb.46: - lea r15, [r11 + 31] - test r11, r11 - cmovns r15, r11 - lea eax, [r9 + 7] - test r9d, r9d - cmovns eax, r9d - and eax, -8 - sub r9d, eax + lea r15, [r14 + 31] + test r14, r14 + cmovns r15, r14 + lea ecx, [rax + 7] + test eax, eax + cmovns ecx, eax + and ecx, -8 + sub eax, ecx je .LBB3_50 # %bb.47: - movsxd rax, r9d + movsxd r10, eax .p2align 4, 0x90 .LBB3_48: # =>This Inner Loop Header: Depth=1 vmovsd xmm0, qword ptr [rsi] # xmm0 = mem[0],zero add rsi, 8 vucomisd xmm0, qword ptr [rdx] lea rdx, [rdx + 8] - setne r10b - neg r10b - lea rdi, [rax + 7] - test rax, rax - cmovns rdi, rax + setp cl + setne bl + or bl, cl + neg bl + lea rdi, [r10 + 7] + test r10, r10 + cmovns rdi, r10 sar rdi, 3 - movzx r8d, byte ptr [r14 + rdi] - xor r10b, r8b + movzx r8d, byte ptr [r12 + rdi] + xor bl, r8b lea r9d, [8*rdi] - mov ecx, eax + mov ecx, r10d sub ecx, r9d - mov ebx, 1 + mov eax, 1 # kill: def $cl killed $cl killed $ecx - shl ebx, cl - and bl, r10b - xor bl, r8b - mov byte ptr [r14 + rdi], bl - add rax, 1 - cmp rax, 8 + shl eax, cl + and al, bl + xor al, r8b + mov byte ptr [r12 + rdi], al + add r10, 1 + cmp r10, 8 jne .LBB3_48 # %bb.49: - add r14, 1 + add r12, 1 .LBB3_50: sar r15, 5 - cmp r11, 32 + cmp r14, 32 jl .LBB3_54 # %bb.51: - mov qword ptr [rsp + 24], r11 # 8-byte Spill - mov qword ptr [rsp + 32], r15 # 8-byte Spill - mov qword ptr [rsp + 40], r15 # 8-byte Spill + mov qword ptr [rsp + 24], r14 # 8-byte Spill + mov qword ptr [rsp + 64], r15 # 8-byte Spill + mov qword ptr [rsp + 56], r15 # 8-byte Spill .p2align 4, 0x90 .LBB3_52: # =>This Inner Loop Header: Depth=1 - mov qword ptr [rsp + 48], r14 # 8-byte Spill + mov qword ptr [rsp + 48], r12 # 8-byte Spill vmovsd xmm0, qword ptr [rsi] # xmm0 = mem[0],zero - vmovsd xmm1, qword ptr [rsi + 8] # xmm1 = mem[0],zero vucomisd xmm0, qword ptr [rdx] - setne byte ptr [rsp + 4] # 1-byte Folded Spill - vucomisd xmm1, qword ptr [rdx + 8] - setne al + vmovsd xmm0, qword ptr [rsi + 8] # xmm0 = mem[0],zero + setp al + setne cl + or cl, al + mov byte ptr [rsp + 21], cl # 1-byte Spill + vucomisd xmm0, qword ptr [rdx + 8] + setp al + setne cl + or cl, al + mov byte ptr [rsp + 13], cl # 1-byte Spill vmovsd xmm0, qword ptr [rsi + 16] # xmm0 = mem[0],zero vucomisd xmm0, qword ptr [rdx + 16] + setp al + setne cl + or cl, al + mov byte ptr [rsp + 20], cl # 1-byte Spill vmovsd xmm0, qword ptr [rsi + 24] # xmm0 = mem[0],zero - setne byte ptr [rsp + 5] # 1-byte Folded Spill vucomisd xmm0, qword ptr [rdx + 24] - setne byte ptr [rsp + 22] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 23], cl # 1-byte Spill vmovsd xmm0, qword ptr [rsi + 32] # xmm0 = mem[0],zero vucomisd xmm0, qword ptr [rdx + 32] + setp al + setne cl + or cl, al + mov byte ptr [rsp + 22], cl # 1-byte Spill vmovsd xmm0, qword ptr [rsi + 40] # xmm0 = mem[0],zero - setne byte ptr [rsp + 21] # 1-byte Folded Spill vucomisd xmm0, qword ptr [rdx + 40] - setne byte ptr [rsp + 23] # 1-byte Folded Spill + setp al + setne dil + or dil, al vmovsd xmm0, qword ptr [rsi + 48] # xmm0 = mem[0],zero vucomisd xmm0, qword ptr [rdx + 48] - vmovsd xmm0, qword ptr [rsi + 56] # xmm0 = mem[0],zero + setp al setne r13b + or r13b, al + vmovsd xmm0, qword ptr [rsi + 56] # xmm0 = mem[0],zero vucomisd xmm0, qword ptr [rdx + 56] - setne r15b + setp al + setne cl + or cl, al + mov byte ptr [rsp + 3], cl # 1-byte Spill vmovsd xmm0, qword ptr [rsi + 64] # xmm0 = mem[0],zero vucomisd xmm0, qword ptr [rdx + 64] + setp al + setne cl + or cl, al + mov byte ptr [rsp + 19], cl # 1-byte Spill vmovsd xmm0, qword ptr [rsi + 72] # xmm0 = mem[0],zero - setne byte ptr [rsp + 8] # 1-byte Folded Spill vucomisd xmm0, qword ptr [rdx + 72] - setne cl + setp al + setne bl + or bl, al vmovsd xmm0, qword ptr [rsi + 80] # xmm0 = mem[0],zero vucomisd xmm0, qword ptr [rdx + 80] + setp al + setne cl + or cl, al + mov byte ptr [rsp + 18], cl # 1-byte Spill vmovsd xmm0, qword ptr [rsi + 88] # xmm0 = mem[0],zero - setne r9b vucomisd xmm0, qword ptr [rdx + 88] - setne r11b + setp al + setne cl + or cl, al + mov byte ptr [rsp + 17], cl # 1-byte Spill vmovsd xmm0, qword ptr [rsi + 96] # xmm0 = mem[0],zero vucomisd xmm0, qword ptr [rdx + 96] + setp al + setne cl + or cl, al + mov byte ptr [rsp + 16], cl # 1-byte Spill vmovsd xmm0, qword ptr [rsi + 104] # xmm0 = mem[0],zero - setne r10b vucomisd xmm0, qword ptr [rdx + 104] - setne byte ptr [rsp + 7] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 15], cl # 1-byte Spill vmovsd xmm0, qword ptr [rsi + 112] # xmm0 = mem[0],zero vucomisd xmm0, qword ptr [rdx + 112] + setp al + setne cl + or cl, al + mov byte ptr [rsp + 12], cl # 1-byte Spill vmovsd xmm0, qword ptr [rsi + 120] # xmm0 = mem[0],zero - setne byte ptr [rsp + 6] # 1-byte Folded Spill vucomisd xmm0, qword ptr [rdx + 120] - setne bl + setp al + setne cl + or cl, al + mov byte ptr [rsp + 11], cl # 1-byte Spill vmovsd xmm0, qword ptr [rsi + 128] # xmm0 = mem[0],zero vucomisd xmm0, qword ptr [rdx + 128] + setp al + setne cl + or cl, al + mov byte ptr [rsp + 14], cl # 1-byte Spill vmovsd xmm0, qword ptr [rsi + 136] # xmm0 = mem[0],zero - setne byte ptr [rsp + 14] # 1-byte Folded Spill vucomisd xmm0, qword ptr [rdx + 136] + setp al + setne cl + or cl, al + mov byte ptr [rsp + 10], cl # 1-byte Spill vmovsd xmm0, qword ptr [rsi + 144] # xmm0 = mem[0],zero - setne r14b vucomisd xmm0, qword ptr [rdx + 144] + setp al + setne cl + or cl, al + mov byte ptr [rsp + 9], cl # 1-byte Spill vmovsd xmm0, qword ptr [rsi + 152] # xmm0 = mem[0],zero - setne r12b vucomisd xmm0, qword ptr [rdx + 152] + setp al + setne r14b + or r14b, al vmovsd xmm0, qword ptr [rsi + 160] # xmm0 = mem[0],zero - setne byte ptr [rsp + 9] # 1-byte Folded Spill vucomisd xmm0, qword ptr [rdx + 160] + setp al + setne cl + or cl, al + mov byte ptr [rsp + 8], cl # 1-byte Spill vmovsd xmm0, qword ptr [rsi + 168] # xmm0 = mem[0],zero - setne byte ptr [rsp + 10] # 1-byte Folded Spill vucomisd xmm0, qword ptr [rdx + 168] + setp al + setne cl + or cl, al + mov byte ptr [rsp + 7], cl # 1-byte Spill vmovsd xmm0, qword ptr [rsi + 176] # xmm0 = mem[0],zero - setne byte ptr [rsp + 11] # 1-byte Folded Spill vucomisd xmm0, qword ptr [rdx + 176] + setp al + setne cl + or cl, al + mov byte ptr [rsp + 5], cl # 1-byte Spill vmovsd xmm0, qword ptr [rsi + 184] # xmm0 = mem[0],zero - setne byte ptr [rsp + 12] # 1-byte Folded Spill vucomisd xmm0, qword ptr [rdx + 184] + setp al + setne r15b + or r15b, al vmovsd xmm0, qword ptr [rsi + 192] # xmm0 = mem[0],zero - setne r8b vucomisd xmm0, qword ptr [rdx + 192] + setp al + setne cl + or cl, al + mov byte ptr [rsp + 6], cl # 1-byte Spill vmovsd xmm0, qword ptr [rsi + 200] # xmm0 = mem[0],zero - setne byte ptr [rsp + 20] # 1-byte Folded Spill vucomisd xmm0, qword ptr [rdx + 200] + setp al + setne cl + or cl, al + mov byte ptr [rsp + 32], cl # 1-byte Spill vmovsd xmm0, qword ptr [rsi + 208] # xmm0 = mem[0],zero - setne byte ptr [rsp + 13] # 1-byte Folded Spill vucomisd xmm0, qword ptr [rdx + 208] + setp al + setne r11b + or r11b, al vmovsd xmm0, qword ptr [rsi + 216] # xmm0 = mem[0],zero - setne byte ptr [rsp + 15] # 1-byte Folded Spill vucomisd xmm0, qword ptr [rdx + 216] + setp al + setne r10b + or r10b, al vmovsd xmm0, qword ptr [rsi + 224] # xmm0 = mem[0],zero - setne byte ptr [rsp + 16] # 1-byte Folded Spill vucomisd xmm0, qword ptr [rdx + 224] + setp al + setne cl + or cl, al + mov byte ptr [rsp + 4], cl # 1-byte Spill vmovsd xmm0, qword ptr [rsi + 232] # xmm0 = mem[0],zero - setne byte ptr [rsp + 17] # 1-byte Folded Spill vucomisd xmm0, qword ptr [rdx + 232] + setp al + setne cl + or cl, al + mov byte ptr [rsp + 40], cl # 1-byte Spill vmovsd xmm0, qword ptr [rsi + 240] # xmm0 = mem[0],zero - setne byte ptr [rsp + 19] # 1-byte Folded Spill vucomisd xmm0, qword ptr [rdx + 240] + setp al + setne r9b + or r9b, al vmovsd xmm0, qword ptr [rsi + 248] # xmm0 = mem[0],zero - setne byte ptr [rsp + 18] # 1-byte Folded Spill add rsi, 256 vucomisd xmm0, qword ptr [rdx + 248] - setne dil + setp al + setne r8b + or r8b, al + movzx eax, byte ptr [rsp + 13] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 4] # 1-byte Folded Reload + add al, byte ptr [rsp + 21] # 1-byte Folded Reload + shl dil, 5 shl r13b, 6 - shl r15b, 7 - or r15b, r13b - movzx r13d, byte ptr [rsp + 5] # 1-byte Folded Reload - shl r13b, 2 - or r13b, al - mov eax, r13d - add cl, cl - add cl, byte ptr [rsp + 8] # 1-byte Folded Reload + or r13b, dil + mov edi, r13d + movzx ecx, byte ptr [rsp + 20] # 1-byte Folded Reload + shl cl, 2 + or cl, al + mov eax, ebx + add al, bl + add al, byte ptr [rsp + 19] # 1-byte Folded Reload + mov r13d, eax + movzx eax, byte ptr [rsp + 3] # 1-byte Folded Reload + shl al, 7 + or al, dil + mov byte ptr [rsp + 3], al # 1-byte Spill + movzx eax, byte ptr [rsp + 18] # 1-byte Folded Reload + shl al, 2 + or al, r13b + mov edi, eax + movzx eax, byte ptr [rsp + 23] # 1-byte Folded Reload + shl al, 3 + or al, cl + movzx ebx, byte ptr [rsp + 17] # 1-byte Folded Reload + shl bl, 3 + or bl, dil movzx r13d, byte ptr [rsp + 22] # 1-byte Folded Reload - shl r13b, 3 + shl r13b, 4 or r13b, al - shl r9b, 2 - or r9b, cl - movzx ecx, byte ptr [rsp + 21] # 1-byte Folded Reload - shl cl, 4 - or cl, r13b - mov r13d, ecx - shl r11b, 3 - or r11b, r9b - movzx ecx, byte ptr [rsp + 23] # 1-byte Folded Reload - shl cl, 5 - or cl, r13b - shl r10b, 4 - or r10b, r11b - movzx eax, byte ptr [rsp + 7] # 1-byte Folded Reload - shl al, 5 - or al, r10b - movzx r9d, byte ptr [rsp + 6] # 1-byte Folded Reload - shl r9b, 6 - shl bl, 7 - or bl, r9b - or r15b, cl - or bl, al - add r14b, r14b - add r14b, byte ptr [rsp + 14] # 1-byte Folded Reload - shl r12b, 2 - or r12b, r14b - mov r14, qword ptr [rsp + 48] # 8-byte Reload - movzx eax, byte ptr [rsp + 9] # 1-byte Folded Reload - shl al, 3 - or al, r12b - mov ecx, eax - movzx eax, byte ptr [rsp + 10] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload shl al, 4 - or al, cl - mov ecx, eax + or al, bl + mov edi, eax + movzx ebx, byte ptr [rsp + 15] # 1-byte Folded Reload + shl bl, 5 + movzx eax, byte ptr [rsp + 12] # 1-byte Folded Reload + shl al, 6 + or al, bl + mov ebx, eax movzx eax, byte ptr [rsp + 11] # 1-byte Folded Reload - shl al, 5 - or al, cl - mov byte ptr [r14], r15b - movzx ecx, byte ptr [rsp + 12] # 1-byte Folded Reload + shl al, 7 + or al, bl + movzx ebx, byte ptr [rsp + 10] # 1-byte Folded Reload + add bl, bl + add bl, byte ptr [rsp + 14] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 9] # 1-byte Folded Reload + shl cl, 2 + or cl, bl + shl r14b, 3 + or r14b, cl + movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload + shl bl, 4 + or bl, r14b + mov r12, qword ptr [rsp + 48] # 8-byte Reload + movzx r14d, byte ptr [rsp + 3] # 1-byte Folded Reload + or r14b, r13b + movzx r13d, byte ptr [rsp + 7] # 1-byte Folded Reload + shl r13b, 5 + movzx ecx, byte ptr [rsp + 5] # 1-byte Folded Reload shl cl, 6 + or cl, r13b + or al, dil + shl r15b, 7 + or r15b, cl + or r15b, bl + movzx ecx, byte ptr [rsp + 32] # 1-byte Folded Reload + add cl, cl + add cl, byte ptr [rsp + 6] # 1-byte Folded Reload + shl r11b, 2 + or r11b, cl + shl r10b, 3 + or r10b, r11b + movzx ecx, byte ptr [rsp + 4] # 1-byte Folded Reload + shl cl, 4 + or cl, r10b + mov byte ptr [r12], r14b + movzx ebx, byte ptr [rsp + 40] # 1-byte Folded Reload + shl bl, 5 + shl r9b, 6 + or r9b, bl + mov byte ptr [r12 + 1], al shl r8b, 7 + or r8b, r9b or r8b, cl - mov byte ptr [r14 + 1], bl - or r8b, al - movzx eax, byte ptr [rsp + 13] # 1-byte Folded Reload - add al, al - add al, byte ptr [rsp + 20] # 1-byte Folded Reload - mov ecx, eax - movzx eax, byte ptr [rsp + 15] # 1-byte Folded Reload - shl al, 2 - or al, cl - mov ecx, eax - movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload - shl al, 3 - or al, cl - mov ecx, eax - movzx eax, byte ptr [rsp + 17] # 1-byte Folded Reload - shl al, 4 - or al, cl - movzx ecx, byte ptr [rsp + 19] # 1-byte Folded Reload - shl cl, 5 - or cl, al - movzx eax, byte ptr [rsp + 18] # 1-byte Folded Reload - shl al, 6 - shl dil, 7 - or dil, al - or dil, cl - mov byte ptr [r14 + 2], r8b - mov byte ptr [r14 + 3], dil + mov byte ptr [r12 + 2], r15b + mov byte ptr [r12 + 3], r8b add rdx, 256 - add r14, 4 - add qword ptr [rsp + 40], -1 # 8-byte Folded Spill + add r12, 4 + add qword ptr [rsp + 56], -1 # 8-byte Folded Spill jne .LBB3_52 # %bb.53: - mov r11, qword ptr [rsp + 24] # 8-byte Reload - mov r15, qword ptr [rsp + 32] # 8-byte Reload + mov r14, qword ptr [rsp + 24] # 8-byte Reload + mov r15, qword ptr [rsp + 64] # 8-byte Reload .LBB3_54: shl r15, 5 - cmp r15, r11 + cmp r15, r14 jge .LBB3_123 # %bb.55: - sub r11, r15 + sub r14, r15 xor ecx, ecx .p2align 4, 0x90 .LBB3_56: # =>This Inner Loop Header: Depth=1 + lea r9, [rcx + 1] vmovsd xmm0, qword ptr [rsi + 8*rcx] # xmm0 = mem[0],zero vucomisd xmm0, qword ptr [rdx + 8*rcx] - lea r8, [rcx + 1] - setne bl - neg bl + setp bl + setne al + or al, bl + neg al mov rdi, rcx shr rdi, 3 - movzx r9d, byte ptr [r14 + rdi] - xor bl, r9b + movzx r8d, byte ptr [r12 + rdi] + xor al, r8b and cl, 7 - mov al, 1 + mov bl, 1 # kill: def $cl killed $cl killed $rcx - shl al, cl - and al, bl - xor al, r9b - mov byte ptr [r14 + rdi], al - mov rcx, r8 - cmp r11, r8 + shl bl, cl + and bl, al + xor bl, r8b + mov byte ptr [r12 + rdi], bl + mov rcx, r9 + cmp r14, r9 jne .LBB3_56 jmp .LBB3_123 .LBB3_2: @@ -17427,17 +18172,17 @@ comparison_not_equal_arr_arr_avx2: # @comparison_not_equal_arr_arr_avx2 cmp edi, 3 jne .LBB3_123 # %bb.4: - lea r15, [r11 + 31] - test r11, r11 - cmovns r15, r11 - lea eax, [r9 + 7] - test r9d, r9d - cmovns eax, r9d - and eax, -8 - sub r9d, eax + lea r15, [r14 + 31] + test r14, r14 + cmovns r15, r14 + lea ecx, [rax + 7] + test eax, eax + cmovns ecx, eax + and ecx, -8 + sub eax, ecx je .LBB3_8 # %bb.5: - movsxd rax, r9d + cdqe .p2align 4, 0x90 .LBB3_6: # =>This Inner Loop Header: Depth=1 movzx ecx, byte ptr [rsi] @@ -17450,7 +18195,7 @@ comparison_not_equal_arr_arr_avx2: # @comparison_not_equal_arr_arr_avx2 test rax, rax cmovns rdi, rax sar rdi, 3 - movzx r8d, byte ptr [r14 + rdi] + movzx r8d, byte ptr [r12 + rdi] xor r10b, r8b lea r9d, [8*rdi] mov ecx, eax @@ -17460,50 +18205,50 @@ comparison_not_equal_arr_arr_avx2: # @comparison_not_equal_arr_arr_avx2 shl ebx, cl and bl, r10b xor bl, r8b - mov byte ptr [r14 + rdi], bl + mov byte ptr [r12 + rdi], bl add rax, 1 cmp rax, 8 jne .LBB3_6 # %bb.7: - add r14, 1 + add r12, 1 .LBB3_8: sar r15, 5 - cmp r11, 32 + cmp r14, 32 jl .LBB3_12 # %bb.9: - mov qword ptr [rsp + 24], r11 # 8-byte Spill - mov qword ptr [rsp + 56], r15 # 8-byte Spill + mov qword ptr [rsp + 24], r14 # 8-byte Spill mov qword ptr [rsp + 32], r15 # 8-byte Spill + mov qword ptr [rsp + 40], r15 # 8-byte Spill .p2align 4, 0x90 .LBB3_10: # =>This Inner Loop Header: Depth=1 - mov qword ptr [rsp + 48], r14 # 8-byte Spill + mov qword ptr [rsp + 48], r12 # 8-byte Spill movzx eax, byte ptr [rsi] movzx ecx, byte ptr [rsi + 1] cmp al, byte ptr [rdx] - setne byte ptr [rsp + 40] # 1-byte Folded Spill + setne byte ptr [rsp + 4] # 1-byte Folded Spill cmp cl, byte ptr [rdx + 1] - setne cl + setne bl movzx eax, byte ptr [rsi + 2] cmp al, byte ptr [rdx + 2] - setne byte ptr [rsp + 20] # 1-byte Folded Spill + setne byte ptr [rsp + 21] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 3] cmp al, byte ptr [rdx + 3] - setne byte ptr [rsp + 21] # 1-byte Folded Spill + setne byte ptr [rsp + 22] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 4] cmp al, byte ptr [rdx + 4] - setne byte ptr [rsp + 22] # 1-byte Folded Spill + setne byte ptr [rsp + 23] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 5] cmp al, byte ptr [rdx + 5] - setne byte ptr [rsp + 23] # 1-byte Folded Spill + setne byte ptr [rsp + 3] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 6] cmp al, byte ptr [rdx + 6] - setne byte ptr [rsp + 4] # 1-byte Folded Spill + setne byte ptr [rsp + 5] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 7] cmp al, byte ptr [rdx + 7] setne r15b movzx eax, byte ptr [rsi + 8] cmp al, byte ptr [rdx + 8] - setne byte ptr [rsp + 7] # 1-byte Folded Spill + setne byte ptr [rsp + 8] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 9] cmp al, byte ptr [rdx + 9] setne dil @@ -17518,16 +18263,16 @@ comparison_not_equal_arr_arr_avx2: # @comparison_not_equal_arr_arr_avx2 setne r14b movzx eax, byte ptr [rsi + 13] cmp al, byte ptr [rdx + 13] - setne byte ptr [rsp + 5] # 1-byte Folded Spill + setne byte ptr [rsp + 6] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 14] cmp al, byte ptr [rdx + 14] - setne byte ptr [rsp + 6] # 1-byte Folded Spill + setne byte ptr [rsp + 7] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 15] cmp al, byte ptr [rdx + 15] - setne bl + setne r8b movzx eax, byte ptr [rsi + 16] cmp al, byte ptr [rdx + 16] - setne byte ptr [rsp + 13] # 1-byte Folded Spill + setne byte ptr [rsp + 14] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 17] cmp al, byte ptr [rdx + 17] setne r12b @@ -17536,145 +18281,145 @@ comparison_not_equal_arr_arr_avx2: # @comparison_not_equal_arr_arr_avx2 setne r13b movzx eax, byte ptr [rsi + 19] cmp al, byte ptr [rdx + 19] - setne byte ptr [rsp + 8] # 1-byte Folded Spill + setne byte ptr [rsp + 9] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 20] cmp al, byte ptr [rdx + 20] - setne byte ptr [rsp + 9] # 1-byte Folded Spill + setne byte ptr [rsp + 10] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 21] cmp al, byte ptr [rdx + 21] - setne byte ptr [rsp + 10] # 1-byte Folded Spill + setne byte ptr [rsp + 11] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 22] cmp al, byte ptr [rdx + 22] - setne byte ptr [rsp + 11] # 1-byte Folded Spill + setne byte ptr [rsp + 12] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 23] cmp al, byte ptr [rdx + 23] setne r9b movzx eax, byte ptr [rsi + 24] cmp al, byte ptr [rdx + 24] - setne byte ptr [rsp + 19] # 1-byte Folded Spill + setne byte ptr [rsp + 20] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 25] cmp al, byte ptr [rdx + 25] - setne byte ptr [rsp + 12] # 1-byte Folded Spill + setne byte ptr [rsp + 13] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 26] cmp al, byte ptr [rdx + 26] - setne byte ptr [rsp + 14] # 1-byte Folded Spill + setne byte ptr [rsp + 15] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 27] cmp al, byte ptr [rdx + 27] - setne byte ptr [rsp + 15] # 1-byte Folded Spill + setne byte ptr [rsp + 16] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 28] cmp al, byte ptr [rdx + 28] - setne byte ptr [rsp + 16] # 1-byte Folded Spill + setne byte ptr [rsp + 17] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 29] cmp al, byte ptr [rdx + 29] - setne byte ptr [rsp + 17] # 1-byte Folded Spill + setne byte ptr [rsp + 18] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 30] cmp al, byte ptr [rdx + 30] - setne byte ptr [rsp + 18] # 1-byte Folded Spill + setne byte ptr [rsp + 19] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 31] add rsi, 32 cmp al, byte ptr [rdx + 31] - setne r8b - add cl, cl - add cl, byte ptr [rsp + 40] # 1-byte Folded Reload - mov eax, ecx - movzx ecx, byte ptr [rsp + 4] # 1-byte Folded Reload - shl cl, 6 + setne cl + add bl, bl + add bl, byte ptr [rsp + 4] # 1-byte Folded Reload + mov eax, ebx + movzx ebx, byte ptr [rsp + 5] # 1-byte Folded Reload + shl bl, 6 shl r15b, 7 - or r15b, cl - movzx ecx, byte ptr [rsp + 20] # 1-byte Folded Reload - shl cl, 2 - or cl, al - mov eax, ecx + or r15b, bl + movzx ebx, byte ptr [rsp + 21] # 1-byte Folded Reload + shl bl, 2 + or bl, al + mov eax, ebx add dil, dil - add dil, byte ptr [rsp + 7] # 1-byte Folded Reload - movzx ecx, byte ptr [rsp + 21] # 1-byte Folded Reload - shl cl, 3 - or cl, al - mov eax, ecx + add dil, byte ptr [rsp + 8] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 22] # 1-byte Folded Reload + shl bl, 3 + or bl, al + mov eax, ebx shl r10b, 2 - or r10b, dil - movzx ecx, byte ptr [rsp + 22] # 1-byte Folded Reload - shl cl, 4 - or cl, al - mov edi, ecx + or r10b, dil + movzx ebx, byte ptr [rsp + 23] # 1-byte Folded Reload + shl bl, 4 + or bl, al + mov edi, ebx shl r11b, 3 or r11b, r10b - movzx ecx, byte ptr [rsp + 23] # 1-byte Folded Reload - shl cl, 5 - or cl, dil + movzx ebx, byte ptr [rsp + 3] # 1-byte Folded Reload + shl bl, 5 + or bl, dil shl r14b, 4 or r14b, r11b - movzx eax, byte ptr [rsp + 5] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 6] # 1-byte Folded Reload shl al, 5 or al, r14b - movzx edi, byte ptr [rsp + 6] # 1-byte Folded Reload + movzx edi, byte ptr [rsp + 7] # 1-byte Folded Reload shl dil, 6 - shl bl, 7 - or bl, dil - or r15b, cl - or bl, al + shl r8b, 7 + or r8b, dil + or r15b, bl + or r8b, al add r12b, r12b - add r12b, byte ptr [rsp + 13] # 1-byte Folded Reload + add r12b, byte ptr [rsp + 14] # 1-byte Folded Reload shl r13b, 2 or r13b, r12b - mov r14, qword ptr [rsp + 48] # 8-byte Reload - movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + mov r12, qword ptr [rsp + 48] # 8-byte Reload + movzx eax, byte ptr [rsp + 9] # 1-byte Folded Reload shl al, 3 or al, r13b - mov ecx, eax - movzx eax, byte ptr [rsp + 9] # 1-byte Folded Reload - shl al, 4 - or al, cl - mov ecx, eax + mov ebx, eax movzx eax, byte ptr [rsp + 10] # 1-byte Folded Reload + shl al, 4 + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 11] # 1-byte Folded Reload shl al, 5 - or al, cl - mov byte ptr [r14], r15b - movzx ecx, byte ptr [rsp + 11] # 1-byte Folded Reload - shl cl, 6 + or al, bl + mov byte ptr [r12], r15b + movzx ebx, byte ptr [rsp + 12] # 1-byte Folded Reload + shl bl, 6 shl r9b, 7 - or r9b, cl - mov byte ptr [r14 + 1], bl + or r9b, bl + mov byte ptr [r12 + 1], r8b or r9b, al - movzx eax, byte ptr [rsp + 12] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 13] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 19] # 1-byte Folded Reload - mov ecx, eax - movzx eax, byte ptr [rsp + 14] # 1-byte Folded Reload - shl al, 2 - or al, cl - mov ecx, eax + add al, byte ptr [rsp + 20] # 1-byte Folded Reload + mov ebx, eax movzx eax, byte ptr [rsp + 15] # 1-byte Folded Reload - shl al, 3 - or al, cl - mov ecx, eax + shl al, 2 + or al, bl + mov ebx, eax movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload - shl al, 4 - or al, cl - mov ecx, eax + shl al, 3 + or al, bl + mov ebx, eax movzx eax, byte ptr [rsp + 17] # 1-byte Folded Reload + shl al, 4 + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 18] # 1-byte Folded Reload shl al, 5 - or al, cl - movzx ecx, byte ptr [rsp + 18] # 1-byte Folded Reload - shl cl, 6 - shl r8b, 7 - or r8b, cl - or r8b, al - mov byte ptr [r14 + 2], r9b - mov byte ptr [r14 + 3], r8b + or al, bl + movzx ebx, byte ptr [rsp + 19] # 1-byte Folded Reload + shl bl, 6 + shl cl, 7 + or cl, bl + or cl, al + mov byte ptr [r12 + 2], r9b + mov byte ptr [r12 + 3], cl add rdx, 32 - add r14, 4 - add qword ptr [rsp + 32], -1 # 8-byte Folded Spill + add r12, 4 + add qword ptr [rsp + 40], -1 # 8-byte Folded Spill jne .LBB3_10 # %bb.11: - mov r11, qword ptr [rsp + 24] # 8-byte Reload - mov r15, qword ptr [rsp + 56] # 8-byte Reload + mov r14, qword ptr [rsp + 24] # 8-byte Reload + mov r15, qword ptr [rsp + 32] # 8-byte Reload .LBB3_12: shl r15, 5 - cmp r15, r11 + cmp r15, r14 jge .LBB3_123 # %bb.13: - sub r11, r15 + sub r14, r15 xor ecx, ecx .p2align 4, 0x90 .LBB3_14: # =>This Inner Loop Header: Depth=1 @@ -17685,7 +18430,7 @@ comparison_not_equal_arr_arr_avx2: # @comparison_not_equal_arr_arr_avx2 neg bl mov rdi, rcx shr rdi, 3 - movzx r9d, byte ptr [r14 + rdi] + movzx r9d, byte ptr [r12 + rdi] xor bl, r9b and cl, 7 mov al, 1 @@ -17693,9 +18438,9 @@ comparison_not_equal_arr_arr_avx2: # @comparison_not_equal_arr_arr_avx2 shl al, cl and al, bl xor al, r9b - mov byte ptr [r14 + rdi], al + mov byte ptr [r12 + rdi], al mov rcx, r8 - cmp r11, r8 + cmp r14, r8 jne .LBB3_14 jmp .LBB3_123 .LBB3_30: @@ -17705,17 +18450,17 @@ comparison_not_equal_arr_arr_avx2: # @comparison_not_equal_arr_arr_avx2 cmp edi, 8 jne .LBB3_123 # %bb.32: - lea r15, [r11 + 31] - test r11, r11 - cmovns r15, r11 - lea eax, [r9 + 7] - test r9d, r9d - cmovns eax, r9d - and eax, -8 - sub r9d, eax + lea r15, [r14 + 31] + test r14, r14 + cmovns r15, r14 + lea ecx, [rax + 7] + test eax, eax + cmovns ecx, eax + and ecx, -8 + sub eax, ecx je .LBB3_36 # %bb.33: - movsxd rax, r9d + cdqe .p2align 4, 0x90 .LBB3_34: # =>This Inner Loop Header: Depth=1 mov rcx, qword ptr [rsi] @@ -17728,7 +18473,7 @@ comparison_not_equal_arr_arr_avx2: # @comparison_not_equal_arr_arr_avx2 test rax, rax cmovns rdi, rax sar rdi, 3 - movzx r8d, byte ptr [r14 + rdi] + movzx r8d, byte ptr [r12 + rdi] xor r10b, r8b lea r9d, [8*rdi] mov ecx, eax @@ -17738,50 +18483,50 @@ comparison_not_equal_arr_arr_avx2: # @comparison_not_equal_arr_arr_avx2 shl ebx, cl and bl, r10b xor bl, r8b - mov byte ptr [r14 + rdi], bl + mov byte ptr [r12 + rdi], bl add rax, 1 cmp rax, 8 jne .LBB3_34 # %bb.35: - add r14, 1 + add r12, 1 .LBB3_36: sar r15, 5 - cmp r11, 32 + cmp r14, 32 jl .LBB3_40 # %bb.37: - mov qword ptr [rsp + 24], r11 # 8-byte Spill - mov qword ptr [rsp + 64], r15 # 8-byte Spill + mov qword ptr [rsp + 24], r14 # 8-byte Spill mov qword ptr [rsp + 56], r15 # 8-byte Spill + mov qword ptr [rsp + 32], r15 # 8-byte Spill .p2align 4, 0x90 .LBB3_38: # =>This Inner Loop Header: Depth=1 - mov qword ptr [rsp + 48], r14 # 8-byte Spill + mov qword ptr [rsp + 48], r12 # 8-byte Spill mov rax, qword ptr [rsi] mov rcx, qword ptr [rsi + 8] cmp rax, qword ptr [rdx] - setne byte ptr [rsp + 40] # 1-byte Folded Spill + setne byte ptr [rsp + 4] # 1-byte Folded Spill cmp rcx, qword ptr [rdx + 8] - setne byte ptr [rsp + 32] # 1-byte Folded Spill + setne byte ptr [rsp + 40] # 1-byte Folded Spill mov rax, qword ptr [rsi + 16] cmp rax, qword ptr [rdx + 16] - setne byte ptr [rsp + 20] # 1-byte Folded Spill + setne byte ptr [rsp + 21] # 1-byte Folded Spill mov rax, qword ptr [rsi + 24] cmp rax, qword ptr [rdx + 24] - setne byte ptr [rsp + 21] # 1-byte Folded Spill + setne byte ptr [rsp + 22] # 1-byte Folded Spill mov rax, qword ptr [rsi + 32] cmp rax, qword ptr [rdx + 32] - setne byte ptr [rsp + 22] # 1-byte Folded Spill + setne byte ptr [rsp + 23] # 1-byte Folded Spill mov rax, qword ptr [rsi + 40] cmp rax, qword ptr [rdx + 40] - setne byte ptr [rsp + 23] # 1-byte Folded Spill + setne byte ptr [rsp + 3] # 1-byte Folded Spill mov rax, qword ptr [rsi + 48] cmp rax, qword ptr [rdx + 48] - setne byte ptr [rsp + 4] # 1-byte Folded Spill + setne byte ptr [rsp + 5] # 1-byte Folded Spill mov rax, qword ptr [rsi + 56] cmp rax, qword ptr [rdx + 56] setne r13b mov rax, qword ptr [rsi + 64] cmp rax, qword ptr [rdx + 64] - setne byte ptr [rsp + 9] # 1-byte Folded Spill + setne byte ptr [rsp + 10] # 1-byte Folded Spill mov rax, qword ptr [rsi + 72] cmp rax, qword ptr [rdx + 72] setne r8b @@ -17793,166 +18538,166 @@ comparison_not_equal_arr_arr_avx2: # @comparison_not_equal_arr_arr_avx2 setne r15b mov rax, qword ptr [rsi + 96] cmp rax, qword ptr [rdx + 96] - setne byte ptr [rsp + 5] # 1-byte Folded Spill + setne byte ptr [rsp + 6] # 1-byte Folded Spill mov rax, qword ptr [rsi + 104] cmp rax, qword ptr [rdx + 104] - setne byte ptr [rsp + 6] # 1-byte Folded Spill + setne byte ptr [rsp + 7] # 1-byte Folded Spill mov rax, qword ptr [rsi + 112] cmp rax, qword ptr [rdx + 112] - setne byte ptr [rsp + 7] # 1-byte Folded Spill + setne byte ptr [rsp + 8] # 1-byte Folded Spill mov rax, qword ptr [rsi + 120] cmp rax, qword ptr [rdx + 120] - setne bl + setne dil mov rax, qword ptr [rsi + 128] - mov rcx, qword ptr [rsi + 136] + mov rbx, qword ptr [rsi + 136] cmp rax, qword ptr [rdx + 128] mov rax, qword ptr [rsi + 144] - setne byte ptr [rsp + 10] # 1-byte Folded Spill - cmp rcx, qword ptr [rdx + 136] - mov rcx, qword ptr [rsi + 152] + setne byte ptr [rsp + 11] # 1-byte Folded Spill + cmp rbx, qword ptr [rdx + 136] + mov rbx, qword ptr [rsi + 152] setne r10b cmp rax, qword ptr [rdx + 144] mov rax, qword ptr [rsi + 160] setne r14b - cmp rcx, qword ptr [rdx + 152] - mov rcx, qword ptr [rsi + 168] + cmp rbx, qword ptr [rdx + 152] + mov rbx, qword ptr [rsi + 168] setne r12b cmp rax, qword ptr [rdx + 160] - setne byte ptr [rsp + 8] # 1-byte Folded Spill - cmp rcx, qword ptr [rdx + 168] + setne byte ptr [rsp + 9] # 1-byte Folded Spill + cmp rbx, qword ptr [rdx + 168] mov rax, qword ptr [rsi + 176] - setne byte ptr [rsp + 11] # 1-byte Folded Spill + setne byte ptr [rsp + 12] # 1-byte Folded Spill cmp rax, qword ptr [rdx + 176] mov rax, qword ptr [rsi + 184] - setne byte ptr [rsp + 12] # 1-byte Folded Spill + setne byte ptr [rsp + 13] # 1-byte Folded Spill cmp rax, qword ptr [rdx + 184] mov rax, qword ptr [rsi + 192] setne r9b cmp rax, qword ptr [rdx + 192] mov rax, qword ptr [rsi + 200] - setne byte ptr [rsp + 19] # 1-byte Folded Spill + setne byte ptr [rsp + 20] # 1-byte Folded Spill cmp rax, qword ptr [rdx + 200] mov rax, qword ptr [rsi + 208] - setne byte ptr [rsp + 13] # 1-byte Folded Spill + setne byte ptr [rsp + 14] # 1-byte Folded Spill cmp rax, qword ptr [rdx + 208] mov rax, qword ptr [rsi + 216] - setne byte ptr [rsp + 14] # 1-byte Folded Spill + setne byte ptr [rsp + 15] # 1-byte Folded Spill cmp rax, qword ptr [rdx + 216] mov rax, qword ptr [rsi + 224] - setne byte ptr [rsp + 15] # 1-byte Folded Spill + setne byte ptr [rsp + 16] # 1-byte Folded Spill cmp rax, qword ptr [rdx + 224] mov rax, qword ptr [rsi + 232] - setne byte ptr [rsp + 16] # 1-byte Folded Spill + setne byte ptr [rsp + 17] # 1-byte Folded Spill cmp rax, qword ptr [rdx + 232] mov rax, qword ptr [rsi + 240] - setne byte ptr [rsp + 18] # 1-byte Folded Spill + setne byte ptr [rsp + 19] # 1-byte Folded Spill cmp rax, qword ptr [rdx + 240] mov rax, qword ptr [rsi + 248] - setne byte ptr [rsp + 17] # 1-byte Folded Spill + setne byte ptr [rsp + 18] # 1-byte Folded Spill add rsi, 256 cmp rax, qword ptr [rdx + 248] - setne dil - movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload + setne cl + movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 40] # 1-byte Folded Reload - mov ecx, eax - movzx eax, byte ptr [rsp + 4] # 1-byte Folded Reload + add al, byte ptr [rsp + 4] # 1-byte Folded Reload + mov ebx, eax + movzx eax, byte ptr [rsp + 5] # 1-byte Folded Reload shl al, 6 shl r13b, 7 or r13b, al - movzx eax, byte ptr [rsp + 20] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 21] # 1-byte Folded Reload shl al, 2 - or al, cl + or al, bl add r8b, r8b - add r8b, byte ptr [rsp + 9] # 1-byte Folded Reload - movzx ecx, byte ptr [rsp + 21] # 1-byte Folded Reload - shl cl, 3 - or cl, al - mov eax, ecx + add r8b, byte ptr [rsp + 10] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 22] # 1-byte Folded Reload + shl bl, 3 + or bl, al + mov eax, ebx shl r11b, 2 or r11b, r8b - movzx ecx, byte ptr [rsp + 22] # 1-byte Folded Reload - shl cl, 4 - or cl, al - mov r8d, ecx + movzx ebx, byte ptr [rsp + 23] # 1-byte Folded Reload + shl bl, 4 + or bl, al + mov r8d, ebx shl r15b, 3 or r15b, r11b - movzx ecx, byte ptr [rsp + 23] # 1-byte Folded Reload - shl cl, 5 - or cl, r8b - movzx eax, byte ptr [rsp + 5] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 3] # 1-byte Folded Reload + shl bl, 5 + or bl, r8b + movzx eax, byte ptr [rsp + 6] # 1-byte Folded Reload shl al, 4 or al, r15b mov r8d, eax - movzx eax, byte ptr [rsp + 6] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 7] # 1-byte Folded Reload shl al, 5 or al, r8b - movzx r8d, byte ptr [rsp + 7] # 1-byte Folded Reload + movzx r8d, byte ptr [rsp + 8] # 1-byte Folded Reload shl r8b, 6 - shl bl, 7 - or bl, r8b - or r13b, cl - or bl, al + shl dil, 7 + or dil, r8b + or r13b, bl + or dil, al add r10b, r10b - add r10b, byte ptr [rsp + 10] # 1-byte Folded Reload + add r10b, byte ptr [rsp + 11] # 1-byte Folded Reload shl r14b, 2 or r14b, r10b shl r12b, 3 or r12b, r14b - movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 9] # 1-byte Folded Reload shl al, 4 or al, r12b - mov ecx, eax - mov r14, qword ptr [rsp + 48] # 8-byte Reload - movzx eax, byte ptr [rsp + 11] # 1-byte Folded Reload + mov ebx, eax + mov r12, qword ptr [rsp + 48] # 8-byte Reload + movzx eax, byte ptr [rsp + 12] # 1-byte Folded Reload shl al, 5 - or al, cl - mov byte ptr [r14], r13b - movzx ecx, byte ptr [rsp + 12] # 1-byte Folded Reload - shl cl, 6 + or al, bl + mov byte ptr [r12], r13b + movzx ebx, byte ptr [rsp + 13] # 1-byte Folded Reload + shl bl, 6 shl r9b, 7 - or r9b, cl - mov byte ptr [r14 + 1], bl + or r9b, bl + mov byte ptr [r12 + 1], dil or r9b, al - movzx eax, byte ptr [rsp + 13] # 1-byte Folded Reload - add al, al - add al, byte ptr [rsp + 19] # 1-byte Folded Reload - mov ecx, eax movzx eax, byte ptr [rsp + 14] # 1-byte Folded Reload - shl al, 2 - or al, cl - mov ecx, eax + add al, al + add al, byte ptr [rsp + 20] # 1-byte Folded Reload + mov ebx, eax movzx eax, byte ptr [rsp + 15] # 1-byte Folded Reload - shl al, 3 - or al, cl - mov ecx, eax + shl al, 2 + or al, bl + mov ebx, eax movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload + shl al, 3 + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 17] # 1-byte Folded Reload shl al, 4 - or al, cl - mov ecx, eax - movzx eax, byte ptr [rsp + 18] # 1-byte Folded Reload + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 19] # 1-byte Folded Reload shl al, 5 - or al, cl - movzx ecx, byte ptr [rsp + 17] # 1-byte Folded Reload - shl cl, 6 - shl dil, 7 - or dil, cl - or dil, al - mov byte ptr [r14 + 2], r9b - mov byte ptr [r14 + 3], dil + or al, bl + movzx ebx, byte ptr [rsp + 18] # 1-byte Folded Reload + shl bl, 6 + shl cl, 7 + or cl, bl + or cl, al + mov byte ptr [r12 + 2], r9b + mov byte ptr [r12 + 3], cl add rdx, 256 - add r14, 4 - add qword ptr [rsp + 56], -1 # 8-byte Folded Spill + add r12, 4 + add qword ptr [rsp + 32], -1 # 8-byte Folded Spill jne .LBB3_38 # %bb.39: - mov r11, qword ptr [rsp + 24] # 8-byte Reload - mov r15, qword ptr [rsp + 64] # 8-byte Reload + mov r14, qword ptr [rsp + 24] # 8-byte Reload + mov r15, qword ptr [rsp + 56] # 8-byte Reload .LBB3_40: shl r15, 5 - cmp r15, r11 + cmp r15, r14 jge .LBB3_123 # %bb.41: - sub r11, r15 + sub r14, r15 xor ecx, ecx .p2align 4, 0x90 .LBB3_42: # =>This Inner Loop Header: Depth=1 @@ -17963,7 +18708,7 @@ comparison_not_equal_arr_arr_avx2: # @comparison_not_equal_arr_arr_avx2 neg bl mov rdi, rcx shr rdi, 3 - movzx r9d, byte ptr [r14 + rdi] + movzx r9d, byte ptr [r12 + rdi] xor bl, r9b and cl, 7 mov al, 1 @@ -17971,23 +18716,23 @@ comparison_not_equal_arr_arr_avx2: # @comparison_not_equal_arr_arr_avx2 shl al, cl and al, bl xor al, r9b - mov byte ptr [r14 + rdi], al + mov byte ptr [r12 + rdi], al mov rcx, r8 - cmp r11, r8 + cmp r14, r8 jne .LBB3_42 jmp .LBB3_123 .LBB3_68: - lea r15, [r11 + 31] - test r11, r11 - cmovns r15, r11 - lea eax, [r9 + 7] - test r9d, r9d - cmovns eax, r9d - and eax, -8 - sub r9d, eax + lea r15, [r14 + 31] + test r14, r14 + cmovns r15, r14 + lea ecx, [rax + 7] + test eax, eax + cmovns ecx, eax + and ecx, -8 + sub eax, ecx je .LBB3_72 # %bb.69: - movsxd rax, r9d + cdqe .p2align 4, 0x90 .LBB3_70: # =>This Inner Loop Header: Depth=1 movzx ecx, word ptr [rsi] @@ -18000,7 +18745,7 @@ comparison_not_equal_arr_arr_avx2: # @comparison_not_equal_arr_arr_avx2 test rax, rax cmovns rdi, rax sar rdi, 3 - movzx r8d, byte ptr [r14 + rdi] + movzx r8d, byte ptr [r12 + rdi] xor r10b, r8b lea r9d, [8*rdi] mov ecx, eax @@ -18010,50 +18755,50 @@ comparison_not_equal_arr_arr_avx2: # @comparison_not_equal_arr_arr_avx2 shl ebx, cl and bl, r10b xor bl, r8b - mov byte ptr [r14 + rdi], bl + mov byte ptr [r12 + rdi], bl add rax, 1 cmp rax, 8 jne .LBB3_70 # %bb.71: - add r14, 1 + add r12, 1 .LBB3_72: sar r15, 5 - cmp r11, 32 + cmp r14, 32 jl .LBB3_76 # %bb.73: - mov qword ptr [rsp + 24], r11 # 8-byte Spill - mov qword ptr [rsp + 64], r15 # 8-byte Spill + mov qword ptr [rsp + 24], r14 # 8-byte Spill mov qword ptr [rsp + 56], r15 # 8-byte Spill + mov qword ptr [rsp + 32], r15 # 8-byte Spill .p2align 4, 0x90 .LBB3_74: # =>This Inner Loop Header: Depth=1 - mov qword ptr [rsp + 48], r14 # 8-byte Spill + mov qword ptr [rsp + 48], r12 # 8-byte Spill movzx eax, word ptr [rsi] movzx ecx, word ptr [rsi + 2] cmp ax, word ptr [rdx] - setne byte ptr [rsp + 40] # 1-byte Folded Spill + setne byte ptr [rsp + 4] # 1-byte Folded Spill cmp cx, word ptr [rdx + 2] - setne byte ptr [rsp + 32] # 1-byte Folded Spill + setne byte ptr [rsp + 40] # 1-byte Folded Spill movzx eax, word ptr [rsi + 4] cmp ax, word ptr [rdx + 4] - setne byte ptr [rsp + 20] # 1-byte Folded Spill + setne byte ptr [rsp + 21] # 1-byte Folded Spill movzx eax, word ptr [rsi + 6] cmp ax, word ptr [rdx + 6] - setne byte ptr [rsp + 21] # 1-byte Folded Spill + setne byte ptr [rsp + 22] # 1-byte Folded Spill movzx eax, word ptr [rsi + 8] cmp ax, word ptr [rdx + 8] - setne byte ptr [rsp + 22] # 1-byte Folded Spill + setne byte ptr [rsp + 23] # 1-byte Folded Spill movzx eax, word ptr [rsi + 10] cmp ax, word ptr [rdx + 10] - setne byte ptr [rsp + 23] # 1-byte Folded Spill + setne byte ptr [rsp + 3] # 1-byte Folded Spill movzx eax, word ptr [rsi + 12] cmp ax, word ptr [rdx + 12] - setne byte ptr [rsp + 4] # 1-byte Folded Spill + setne byte ptr [rsp + 5] # 1-byte Folded Spill movzx eax, word ptr [rsi + 14] cmp ax, word ptr [rdx + 14] setne r13b movzx eax, word ptr [rsi + 16] cmp ax, word ptr [rdx + 16] - setne byte ptr [rsp + 9] # 1-byte Folded Spill + setne byte ptr [rsp + 10] # 1-byte Folded Spill movzx eax, word ptr [rsi + 18] cmp ax, word ptr [rdx + 18] setne r8b @@ -18065,166 +18810,166 @@ comparison_not_equal_arr_arr_avx2: # @comparison_not_equal_arr_arr_avx2 setne r15b movzx eax, word ptr [rsi + 24] cmp ax, word ptr [rdx + 24] - setne byte ptr [rsp + 5] # 1-byte Folded Spill + setne byte ptr [rsp + 6] # 1-byte Folded Spill movzx eax, word ptr [rsi + 26] cmp ax, word ptr [rdx + 26] - setne byte ptr [rsp + 6] # 1-byte Folded Spill + setne byte ptr [rsp + 7] # 1-byte Folded Spill movzx eax, word ptr [rsi + 28] cmp ax, word ptr [rdx + 28] - setne byte ptr [rsp + 7] # 1-byte Folded Spill + setne byte ptr [rsp + 8] # 1-byte Folded Spill movzx eax, word ptr [rsi + 30] cmp ax, word ptr [rdx + 30] - setne bl + setne dil movzx eax, word ptr [rsi + 32] - movzx ecx, word ptr [rsi + 34] + movzx ebx, word ptr [rsi + 34] cmp ax, word ptr [rdx + 32] movzx eax, word ptr [rsi + 36] - setne byte ptr [rsp + 10] # 1-byte Folded Spill - cmp cx, word ptr [rdx + 34] - movzx ecx, word ptr [rsi + 38] + setne byte ptr [rsp + 11] # 1-byte Folded Spill + cmp bx, word ptr [rdx + 34] + movzx ebx, word ptr [rsi + 38] setne r10b cmp ax, word ptr [rdx + 36] movzx eax, word ptr [rsi + 40] setne r14b - cmp cx, word ptr [rdx + 38] - movzx ecx, word ptr [rsi + 42] + cmp bx, word ptr [rdx + 38] + movzx ebx, word ptr [rsi + 42] setne r12b cmp ax, word ptr [rdx + 40] - setne byte ptr [rsp + 8] # 1-byte Folded Spill - cmp cx, word ptr [rdx + 42] + setne byte ptr [rsp + 9] # 1-byte Folded Spill + cmp bx, word ptr [rdx + 42] movzx eax, word ptr [rsi + 44] - setne byte ptr [rsp + 11] # 1-byte Folded Spill + setne byte ptr [rsp + 12] # 1-byte Folded Spill cmp ax, word ptr [rdx + 44] movzx eax, word ptr [rsi + 46] - setne byte ptr [rsp + 12] # 1-byte Folded Spill + setne byte ptr [rsp + 13] # 1-byte Folded Spill cmp ax, word ptr [rdx + 46] movzx eax, word ptr [rsi + 48] setne r9b cmp ax, word ptr [rdx + 48] movzx eax, word ptr [rsi + 50] - setne byte ptr [rsp + 19] # 1-byte Folded Spill + setne byte ptr [rsp + 20] # 1-byte Folded Spill cmp ax, word ptr [rdx + 50] movzx eax, word ptr [rsi + 52] - setne byte ptr [rsp + 13] # 1-byte Folded Spill + setne byte ptr [rsp + 14] # 1-byte Folded Spill cmp ax, word ptr [rdx + 52] movzx eax, word ptr [rsi + 54] - setne byte ptr [rsp + 14] # 1-byte Folded Spill + setne byte ptr [rsp + 15] # 1-byte Folded Spill cmp ax, word ptr [rdx + 54] movzx eax, word ptr [rsi + 56] - setne byte ptr [rsp + 15] # 1-byte Folded Spill + setne byte ptr [rsp + 16] # 1-byte Folded Spill cmp ax, word ptr [rdx + 56] movzx eax, word ptr [rsi + 58] - setne byte ptr [rsp + 16] # 1-byte Folded Spill + setne byte ptr [rsp + 17] # 1-byte Folded Spill cmp ax, word ptr [rdx + 58] movzx eax, word ptr [rsi + 60] - setne byte ptr [rsp + 18] # 1-byte Folded Spill + setne byte ptr [rsp + 19] # 1-byte Folded Spill cmp ax, word ptr [rdx + 60] movzx eax, word ptr [rsi + 62] - setne byte ptr [rsp + 17] # 1-byte Folded Spill + setne byte ptr [rsp + 18] # 1-byte Folded Spill add rsi, 64 cmp ax, word ptr [rdx + 62] - setne dil - movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload + setne cl + movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 40] # 1-byte Folded Reload - mov ecx, eax - movzx eax, byte ptr [rsp + 4] # 1-byte Folded Reload + add al, byte ptr [rsp + 4] # 1-byte Folded Reload + mov ebx, eax + movzx eax, byte ptr [rsp + 5] # 1-byte Folded Reload shl al, 6 shl r13b, 7 or r13b, al - movzx eax, byte ptr [rsp + 20] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 21] # 1-byte Folded Reload shl al, 2 - or al, cl + or al, bl add r8b, r8b - add r8b, byte ptr [rsp + 9] # 1-byte Folded Reload - movzx ecx, byte ptr [rsp + 21] # 1-byte Folded Reload - shl cl, 3 - or cl, al - mov eax, ecx + add r8b, byte ptr [rsp + 10] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 22] # 1-byte Folded Reload + shl bl, 3 + or bl, al + mov eax, ebx shl r11b, 2 or r11b, r8b - movzx ecx, byte ptr [rsp + 22] # 1-byte Folded Reload - shl cl, 4 - or cl, al - mov r8d, ecx + movzx ebx, byte ptr [rsp + 23] # 1-byte Folded Reload + shl bl, 4 + or bl, al + mov r8d, ebx shl r15b, 3 or r15b, r11b - movzx ecx, byte ptr [rsp + 23] # 1-byte Folded Reload - shl cl, 5 - or cl, r8b - movzx eax, byte ptr [rsp + 5] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 3] # 1-byte Folded Reload + shl bl, 5 + or bl, r8b + movzx eax, byte ptr [rsp + 6] # 1-byte Folded Reload shl al, 4 or al, r15b mov r8d, eax - movzx eax, byte ptr [rsp + 6] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 7] # 1-byte Folded Reload shl al, 5 or al, r8b - movzx r8d, byte ptr [rsp + 7] # 1-byte Folded Reload + movzx r8d, byte ptr [rsp + 8] # 1-byte Folded Reload shl r8b, 6 - shl bl, 7 - or bl, r8b - or r13b, cl - or bl, al + shl dil, 7 + or dil, r8b + or r13b, bl + or dil, al add r10b, r10b - add r10b, byte ptr [rsp + 10] # 1-byte Folded Reload + add r10b, byte ptr [rsp + 11] # 1-byte Folded Reload shl r14b, 2 or r14b, r10b shl r12b, 3 or r12b, r14b - movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 9] # 1-byte Folded Reload shl al, 4 or al, r12b - mov ecx, eax - mov r14, qword ptr [rsp + 48] # 8-byte Reload - movzx eax, byte ptr [rsp + 11] # 1-byte Folded Reload + mov ebx, eax + mov r12, qword ptr [rsp + 48] # 8-byte Reload + movzx eax, byte ptr [rsp + 12] # 1-byte Folded Reload shl al, 5 - or al, cl - mov byte ptr [r14], r13b - movzx ecx, byte ptr [rsp + 12] # 1-byte Folded Reload - shl cl, 6 + or al, bl + mov byte ptr [r12], r13b + movzx ebx, byte ptr [rsp + 13] # 1-byte Folded Reload + shl bl, 6 shl r9b, 7 - or r9b, cl - mov byte ptr [r14 + 1], bl + or r9b, bl + mov byte ptr [r12 + 1], dil or r9b, al - movzx eax, byte ptr [rsp + 13] # 1-byte Folded Reload - add al, al - add al, byte ptr [rsp + 19] # 1-byte Folded Reload - mov ecx, eax movzx eax, byte ptr [rsp + 14] # 1-byte Folded Reload - shl al, 2 - or al, cl - mov ecx, eax + add al, al + add al, byte ptr [rsp + 20] # 1-byte Folded Reload + mov ebx, eax movzx eax, byte ptr [rsp + 15] # 1-byte Folded Reload - shl al, 3 - or al, cl - mov ecx, eax + shl al, 2 + or al, bl + mov ebx, eax movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload + shl al, 3 + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 17] # 1-byte Folded Reload shl al, 4 - or al, cl - mov ecx, eax - movzx eax, byte ptr [rsp + 18] # 1-byte Folded Reload + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 19] # 1-byte Folded Reload shl al, 5 - or al, cl - movzx ecx, byte ptr [rsp + 17] # 1-byte Folded Reload - shl cl, 6 - shl dil, 7 - or dil, cl - or dil, al - mov byte ptr [r14 + 2], r9b - mov byte ptr [r14 + 3], dil + or al, bl + movzx ebx, byte ptr [rsp + 18] # 1-byte Folded Reload + shl bl, 6 + shl cl, 7 + or cl, bl + or cl, al + mov byte ptr [r12 + 2], r9b + mov byte ptr [r12 + 3], cl add rdx, 64 - add r14, 4 - add qword ptr [rsp + 56], -1 # 8-byte Folded Spill + add r12, 4 + add qword ptr [rsp + 32], -1 # 8-byte Folded Spill jne .LBB3_74 # %bb.75: - mov r11, qword ptr [rsp + 24] # 8-byte Reload - mov r15, qword ptr [rsp + 64] # 8-byte Reload + mov r14, qword ptr [rsp + 24] # 8-byte Reload + mov r15, qword ptr [rsp + 56] # 8-byte Reload .LBB3_76: shl r15, 5 - cmp r15, r11 + cmp r15, r14 jge .LBB3_123 # %bb.77: - sub r11, r15 + sub r14, r15 xor ecx, ecx .p2align 4, 0x90 .LBB3_78: # =>This Inner Loop Header: Depth=1 @@ -18235,7 +18980,7 @@ comparison_not_equal_arr_arr_avx2: # @comparison_not_equal_arr_arr_avx2 neg bl mov rdi, rcx shr rdi, 3 - movzx r9d, byte ptr [r14 + rdi] + movzx r9d, byte ptr [r12 + rdi] xor bl, r9b and cl, 7 mov al, 1 @@ -18243,23 +18988,23 @@ comparison_not_equal_arr_arr_avx2: # @comparison_not_equal_arr_arr_avx2 shl al, cl and al, bl xor al, r9b - mov byte ptr [r14 + rdi], al + mov byte ptr [r12 + rdi], al mov rcx, r8 - cmp r11, r8 + cmp r14, r8 jne .LBB3_78 jmp .LBB3_123 .LBB3_79: - lea r15, [r11 + 31] - test r11, r11 - cmovns r15, r11 - lea eax, [r9 + 7] - test r9d, r9d - cmovns eax, r9d - and eax, -8 - sub r9d, eax + lea r15, [r14 + 31] + test r14, r14 + cmovns r15, r14 + lea ecx, [rax + 7] + test eax, eax + cmovns ecx, eax + and ecx, -8 + sub eax, ecx je .LBB3_83 # %bb.80: - movsxd rax, r9d + cdqe .p2align 4, 0x90 .LBB3_81: # =>This Inner Loop Header: Depth=1 movzx ecx, word ptr [rsi] @@ -18272,7 +19017,7 @@ comparison_not_equal_arr_arr_avx2: # @comparison_not_equal_arr_arr_avx2 test rax, rax cmovns rdi, rax sar rdi, 3 - movzx r8d, byte ptr [r14 + rdi] + movzx r8d, byte ptr [r12 + rdi] xor r10b, r8b lea r9d, [8*rdi] mov ecx, eax @@ -18282,50 +19027,50 @@ comparison_not_equal_arr_arr_avx2: # @comparison_not_equal_arr_arr_avx2 shl ebx, cl and bl, r10b xor bl, r8b - mov byte ptr [r14 + rdi], bl + mov byte ptr [r12 + rdi], bl add rax, 1 cmp rax, 8 jne .LBB3_81 # %bb.82: - add r14, 1 + add r12, 1 .LBB3_83: sar r15, 5 - cmp r11, 32 + cmp r14, 32 jl .LBB3_87 # %bb.84: - mov qword ptr [rsp + 24], r11 # 8-byte Spill - mov qword ptr [rsp + 64], r15 # 8-byte Spill + mov qword ptr [rsp + 24], r14 # 8-byte Spill mov qword ptr [rsp + 56], r15 # 8-byte Spill + mov qword ptr [rsp + 32], r15 # 8-byte Spill .p2align 4, 0x90 .LBB3_85: # =>This Inner Loop Header: Depth=1 - mov qword ptr [rsp + 48], r14 # 8-byte Spill + mov qword ptr [rsp + 48], r12 # 8-byte Spill movzx eax, word ptr [rsi] movzx ecx, word ptr [rsi + 2] cmp ax, word ptr [rdx] - setne byte ptr [rsp + 40] # 1-byte Folded Spill + setne byte ptr [rsp + 4] # 1-byte Folded Spill cmp cx, word ptr [rdx + 2] - setne byte ptr [rsp + 32] # 1-byte Folded Spill + setne byte ptr [rsp + 40] # 1-byte Folded Spill movzx eax, word ptr [rsi + 4] cmp ax, word ptr [rdx + 4] - setne byte ptr [rsp + 20] # 1-byte Folded Spill + setne byte ptr [rsp + 21] # 1-byte Folded Spill movzx eax, word ptr [rsi + 6] cmp ax, word ptr [rdx + 6] - setne byte ptr [rsp + 21] # 1-byte Folded Spill + setne byte ptr [rsp + 22] # 1-byte Folded Spill movzx eax, word ptr [rsi + 8] cmp ax, word ptr [rdx + 8] - setne byte ptr [rsp + 22] # 1-byte Folded Spill + setne byte ptr [rsp + 23] # 1-byte Folded Spill movzx eax, word ptr [rsi + 10] cmp ax, word ptr [rdx + 10] - setne byte ptr [rsp + 23] # 1-byte Folded Spill + setne byte ptr [rsp + 3] # 1-byte Folded Spill movzx eax, word ptr [rsi + 12] cmp ax, word ptr [rdx + 12] - setne byte ptr [rsp + 4] # 1-byte Folded Spill + setne byte ptr [rsp + 5] # 1-byte Folded Spill movzx eax, word ptr [rsi + 14] cmp ax, word ptr [rdx + 14] setne r13b movzx eax, word ptr [rsi + 16] cmp ax, word ptr [rdx + 16] - setne byte ptr [rsp + 9] # 1-byte Folded Spill + setne byte ptr [rsp + 10] # 1-byte Folded Spill movzx eax, word ptr [rsi + 18] cmp ax, word ptr [rdx + 18] setne r8b @@ -18337,166 +19082,166 @@ comparison_not_equal_arr_arr_avx2: # @comparison_not_equal_arr_arr_avx2 setne r15b movzx eax, word ptr [rsi + 24] cmp ax, word ptr [rdx + 24] - setne byte ptr [rsp + 5] # 1-byte Folded Spill + setne byte ptr [rsp + 6] # 1-byte Folded Spill movzx eax, word ptr [rsi + 26] cmp ax, word ptr [rdx + 26] - setne byte ptr [rsp + 6] # 1-byte Folded Spill + setne byte ptr [rsp + 7] # 1-byte Folded Spill movzx eax, word ptr [rsi + 28] cmp ax, word ptr [rdx + 28] - setne byte ptr [rsp + 7] # 1-byte Folded Spill + setne byte ptr [rsp + 8] # 1-byte Folded Spill movzx eax, word ptr [rsi + 30] cmp ax, word ptr [rdx + 30] - setne bl + setne dil movzx eax, word ptr [rsi + 32] - movzx ecx, word ptr [rsi + 34] + movzx ebx, word ptr [rsi + 34] cmp ax, word ptr [rdx + 32] movzx eax, word ptr [rsi + 36] - setne byte ptr [rsp + 10] # 1-byte Folded Spill - cmp cx, word ptr [rdx + 34] - movzx ecx, word ptr [rsi + 38] + setne byte ptr [rsp + 11] # 1-byte Folded Spill + cmp bx, word ptr [rdx + 34] + movzx ebx, word ptr [rsi + 38] setne r10b cmp ax, word ptr [rdx + 36] movzx eax, word ptr [rsi + 40] setne r14b - cmp cx, word ptr [rdx + 38] - movzx ecx, word ptr [rsi + 42] + cmp bx, word ptr [rdx + 38] + movzx ebx, word ptr [rsi + 42] setne r12b - cmp ax, word ptr [rdx + 40] - setne byte ptr [rsp + 8] # 1-byte Folded Spill - cmp cx, word ptr [rdx + 42] + cmp ax, word ptr [rdx + 40] + setne byte ptr [rsp + 9] # 1-byte Folded Spill + cmp bx, word ptr [rdx + 42] movzx eax, word ptr [rsi + 44] - setne byte ptr [rsp + 11] # 1-byte Folded Spill + setne byte ptr [rsp + 12] # 1-byte Folded Spill cmp ax, word ptr [rdx + 44] movzx eax, word ptr [rsi + 46] - setne byte ptr [rsp + 12] # 1-byte Folded Spill + setne byte ptr [rsp + 13] # 1-byte Folded Spill cmp ax, word ptr [rdx + 46] movzx eax, word ptr [rsi + 48] setne r9b cmp ax, word ptr [rdx + 48] movzx eax, word ptr [rsi + 50] - setne byte ptr [rsp + 19] # 1-byte Folded Spill + setne byte ptr [rsp + 20] # 1-byte Folded Spill cmp ax, word ptr [rdx + 50] movzx eax, word ptr [rsi + 52] - setne byte ptr [rsp + 13] # 1-byte Folded Spill + setne byte ptr [rsp + 14] # 1-byte Folded Spill cmp ax, word ptr [rdx + 52] movzx eax, word ptr [rsi + 54] - setne byte ptr [rsp + 14] # 1-byte Folded Spill + setne byte ptr [rsp + 15] # 1-byte Folded Spill cmp ax, word ptr [rdx + 54] movzx eax, word ptr [rsi + 56] - setne byte ptr [rsp + 15] # 1-byte Folded Spill + setne byte ptr [rsp + 16] # 1-byte Folded Spill cmp ax, word ptr [rdx + 56] movzx eax, word ptr [rsi + 58] - setne byte ptr [rsp + 16] # 1-byte Folded Spill + setne byte ptr [rsp + 17] # 1-byte Folded Spill cmp ax, word ptr [rdx + 58] movzx eax, word ptr [rsi + 60] - setne byte ptr [rsp + 18] # 1-byte Folded Spill + setne byte ptr [rsp + 19] # 1-byte Folded Spill cmp ax, word ptr [rdx + 60] movzx eax, word ptr [rsi + 62] - setne byte ptr [rsp + 17] # 1-byte Folded Spill + setne byte ptr [rsp + 18] # 1-byte Folded Spill add rsi, 64 cmp ax, word ptr [rdx + 62] - setne dil - movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload + setne cl + movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 40] # 1-byte Folded Reload - mov ecx, eax - movzx eax, byte ptr [rsp + 4] # 1-byte Folded Reload + add al, byte ptr [rsp + 4] # 1-byte Folded Reload + mov ebx, eax + movzx eax, byte ptr [rsp + 5] # 1-byte Folded Reload shl al, 6 shl r13b, 7 or r13b, al - movzx eax, byte ptr [rsp + 20] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 21] # 1-byte Folded Reload shl al, 2 - or al, cl + or al, bl add r8b, r8b - add r8b, byte ptr [rsp + 9] # 1-byte Folded Reload - movzx ecx, byte ptr [rsp + 21] # 1-byte Folded Reload - shl cl, 3 - or cl, al - mov eax, ecx + add r8b, byte ptr [rsp + 10] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 22] # 1-byte Folded Reload + shl bl, 3 + or bl, al + mov eax, ebx shl r11b, 2 or r11b, r8b - movzx ecx, byte ptr [rsp + 22] # 1-byte Folded Reload - shl cl, 4 - or cl, al - mov r8d, ecx + movzx ebx, byte ptr [rsp + 23] # 1-byte Folded Reload + shl bl, 4 + or bl, al + mov r8d, ebx shl r15b, 3 or r15b, r11b - movzx ecx, byte ptr [rsp + 23] # 1-byte Folded Reload - shl cl, 5 - or cl, r8b - movzx eax, byte ptr [rsp + 5] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 3] # 1-byte Folded Reload + shl bl, 5 + or bl, r8b + movzx eax, byte ptr [rsp + 6] # 1-byte Folded Reload shl al, 4 or al, r15b mov r8d, eax - movzx eax, byte ptr [rsp + 6] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 7] # 1-byte Folded Reload shl al, 5 or al, r8b - movzx r8d, byte ptr [rsp + 7] # 1-byte Folded Reload + movzx r8d, byte ptr [rsp + 8] # 1-byte Folded Reload shl r8b, 6 - shl bl, 7 - or bl, r8b - or r13b, cl - or bl, al + shl dil, 7 + or dil, r8b + or r13b, bl + or dil, al add r10b, r10b - add r10b, byte ptr [rsp + 10] # 1-byte Folded Reload + add r10b, byte ptr [rsp + 11] # 1-byte Folded Reload shl r14b, 2 or r14b, r10b shl r12b, 3 or r12b, r14b - movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 9] # 1-byte Folded Reload shl al, 4 or al, r12b - mov ecx, eax - mov r14, qword ptr [rsp + 48] # 8-byte Reload - movzx eax, byte ptr [rsp + 11] # 1-byte Folded Reload + mov ebx, eax + mov r12, qword ptr [rsp + 48] # 8-byte Reload + movzx eax, byte ptr [rsp + 12] # 1-byte Folded Reload shl al, 5 - or al, cl - mov byte ptr [r14], r13b - movzx ecx, byte ptr [rsp + 12] # 1-byte Folded Reload - shl cl, 6 + or al, bl + mov byte ptr [r12], r13b + movzx ebx, byte ptr [rsp + 13] # 1-byte Folded Reload + shl bl, 6 shl r9b, 7 - or r9b, cl - mov byte ptr [r14 + 1], bl + or r9b, bl + mov byte ptr [r12 + 1], dil or r9b, al - movzx eax, byte ptr [rsp + 13] # 1-byte Folded Reload - add al, al - add al, byte ptr [rsp + 19] # 1-byte Folded Reload - mov ecx, eax movzx eax, byte ptr [rsp + 14] # 1-byte Folded Reload - shl al, 2 - or al, cl - mov ecx, eax + add al, al + add al, byte ptr [rsp + 20] # 1-byte Folded Reload + mov ebx, eax movzx eax, byte ptr [rsp + 15] # 1-byte Folded Reload - shl al, 3 - or al, cl - mov ecx, eax + shl al, 2 + or al, bl + mov ebx, eax movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload + shl al, 3 + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 17] # 1-byte Folded Reload shl al, 4 - or al, cl - mov ecx, eax - movzx eax, byte ptr [rsp + 18] # 1-byte Folded Reload + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 19] # 1-byte Folded Reload shl al, 5 - or al, cl - movzx ecx, byte ptr [rsp + 17] # 1-byte Folded Reload - shl cl, 6 - shl dil, 7 - or dil, cl - or dil, al - mov byte ptr [r14 + 2], r9b - mov byte ptr [r14 + 3], dil + or al, bl + movzx ebx, byte ptr [rsp + 18] # 1-byte Folded Reload + shl bl, 6 + shl cl, 7 + or cl, bl + or cl, al + mov byte ptr [r12 + 2], r9b + mov byte ptr [r12 + 3], cl add rdx, 64 - add r14, 4 - add qword ptr [rsp + 56], -1 # 8-byte Folded Spill + add r12, 4 + add qword ptr [rsp + 32], -1 # 8-byte Folded Spill jne .LBB3_85 # %bb.86: - mov r11, qword ptr [rsp + 24] # 8-byte Reload - mov r15, qword ptr [rsp + 64] # 8-byte Reload + mov r14, qword ptr [rsp + 24] # 8-byte Reload + mov r15, qword ptr [rsp + 56] # 8-byte Reload .LBB3_87: shl r15, 5 - cmp r15, r11 + cmp r15, r14 jge .LBB3_123 # %bb.88: - sub r11, r15 + sub r14, r15 xor ecx, ecx .p2align 4, 0x90 .LBB3_89: # =>This Inner Loop Header: Depth=1 @@ -18507,7 +19252,7 @@ comparison_not_equal_arr_arr_avx2: # @comparison_not_equal_arr_arr_avx2 neg bl mov rdi, rcx shr rdi, 3 - movzx r9d, byte ptr [r14 + rdi] + movzx r9d, byte ptr [r12 + rdi] xor bl, r9b and cl, 7 mov al, 1 @@ -18515,23 +19260,23 @@ comparison_not_equal_arr_arr_avx2: # @comparison_not_equal_arr_arr_avx2 shl al, cl and al, bl xor al, r9b - mov byte ptr [r14 + rdi], al + mov byte ptr [r12 + rdi], al mov rcx, r8 - cmp r11, r8 + cmp r14, r8 jne .LBB3_89 jmp .LBB3_123 .LBB3_101: - lea r15, [r11 + 31] - test r11, r11 - cmovns r15, r11 - lea eax, [r9 + 7] - test r9d, r9d - cmovns eax, r9d - and eax, -8 - sub r9d, eax + lea r15, [r14 + 31] + test r14, r14 + cmovns r15, r14 + lea ecx, [rax + 7] + test eax, eax + cmovns ecx, eax + and ecx, -8 + sub eax, ecx je .LBB3_105 # %bb.102: - movsxd rax, r9d + cdqe .p2align 4, 0x90 .LBB3_103: # =>This Inner Loop Header: Depth=1 mov rcx, qword ptr [rsi] @@ -18544,7 +19289,7 @@ comparison_not_equal_arr_arr_avx2: # @comparison_not_equal_arr_arr_avx2 test rax, rax cmovns rdi, rax sar rdi, 3 - movzx r8d, byte ptr [r14 + rdi] + movzx r8d, byte ptr [r12 + rdi] xor r10b, r8b lea r9d, [8*rdi] mov ecx, eax @@ -18554,50 +19299,50 @@ comparison_not_equal_arr_arr_avx2: # @comparison_not_equal_arr_arr_avx2 shl ebx, cl and bl, r10b xor bl, r8b - mov byte ptr [r14 + rdi], bl + mov byte ptr [r12 + rdi], bl add rax, 1 cmp rax, 8 jne .LBB3_103 # %bb.104: - add r14, 1 + add r12, 1 .LBB3_105: sar r15, 5 - cmp r11, 32 + cmp r14, 32 jl .LBB3_109 # %bb.106: - mov qword ptr [rsp + 24], r11 # 8-byte Spill - mov qword ptr [rsp + 64], r15 # 8-byte Spill + mov qword ptr [rsp + 24], r14 # 8-byte Spill mov qword ptr [rsp + 56], r15 # 8-byte Spill + mov qword ptr [rsp + 32], r15 # 8-byte Spill .p2align 4, 0x90 .LBB3_107: # =>This Inner Loop Header: Depth=1 - mov qword ptr [rsp + 48], r14 # 8-byte Spill + mov qword ptr [rsp + 48], r12 # 8-byte Spill mov rax, qword ptr [rsi] mov rcx, qword ptr [rsi + 8] cmp rax, qword ptr [rdx] - setne byte ptr [rsp + 40] # 1-byte Folded Spill + setne byte ptr [rsp + 4] # 1-byte Folded Spill cmp rcx, qword ptr [rdx + 8] - setne byte ptr [rsp + 32] # 1-byte Folded Spill + setne byte ptr [rsp + 40] # 1-byte Folded Spill mov rax, qword ptr [rsi + 16] cmp rax, qword ptr [rdx + 16] - setne byte ptr [rsp + 20] # 1-byte Folded Spill + setne byte ptr [rsp + 21] # 1-byte Folded Spill mov rax, qword ptr [rsi + 24] cmp rax, qword ptr [rdx + 24] - setne byte ptr [rsp + 21] # 1-byte Folded Spill + setne byte ptr [rsp + 22] # 1-byte Folded Spill mov rax, qword ptr [rsi + 32] cmp rax, qword ptr [rdx + 32] - setne byte ptr [rsp + 22] # 1-byte Folded Spill + setne byte ptr [rsp + 23] # 1-byte Folded Spill mov rax, qword ptr [rsi + 40] cmp rax, qword ptr [rdx + 40] - setne byte ptr [rsp + 23] # 1-byte Folded Spill + setne byte ptr [rsp + 3] # 1-byte Folded Spill mov rax, qword ptr [rsi + 48] cmp rax, qword ptr [rdx + 48] - setne byte ptr [rsp + 4] # 1-byte Folded Spill + setne byte ptr [rsp + 5] # 1-byte Folded Spill mov rax, qword ptr [rsi + 56] cmp rax, qword ptr [rdx + 56] setne r13b mov rax, qword ptr [rsi + 64] cmp rax, qword ptr [rdx + 64] - setne byte ptr [rsp + 9] # 1-byte Folded Spill + setne byte ptr [rsp + 10] # 1-byte Folded Spill mov rax, qword ptr [rsi + 72] cmp rax, qword ptr [rdx + 72] setne r8b @@ -18609,166 +19354,166 @@ comparison_not_equal_arr_arr_avx2: # @comparison_not_equal_arr_arr_avx2 setne r15b mov rax, qword ptr [rsi + 96] cmp rax, qword ptr [rdx + 96] - setne byte ptr [rsp + 5] # 1-byte Folded Spill + setne byte ptr [rsp + 6] # 1-byte Folded Spill mov rax, qword ptr [rsi + 104] cmp rax, qword ptr [rdx + 104] - setne byte ptr [rsp + 6] # 1-byte Folded Spill + setne byte ptr [rsp + 7] # 1-byte Folded Spill mov rax, qword ptr [rsi + 112] cmp rax, qword ptr [rdx + 112] - setne byte ptr [rsp + 7] # 1-byte Folded Spill + setne byte ptr [rsp + 8] # 1-byte Folded Spill mov rax, qword ptr [rsi + 120] cmp rax, qword ptr [rdx + 120] - setne bl + setne dil mov rax, qword ptr [rsi + 128] - mov rcx, qword ptr [rsi + 136] + mov rbx, qword ptr [rsi + 136] cmp rax, qword ptr [rdx + 128] mov rax, qword ptr [rsi + 144] - setne byte ptr [rsp + 10] # 1-byte Folded Spill - cmp rcx, qword ptr [rdx + 136] - mov rcx, qword ptr [rsi + 152] + setne byte ptr [rsp + 11] # 1-byte Folded Spill + cmp rbx, qword ptr [rdx + 136] + mov rbx, qword ptr [rsi + 152] setne r10b cmp rax, qword ptr [rdx + 144] mov rax, qword ptr [rsi + 160] setne r14b - cmp rcx, qword ptr [rdx + 152] - mov rcx, qword ptr [rsi + 168] + cmp rbx, qword ptr [rdx + 152] + mov rbx, qword ptr [rsi + 168] setne r12b cmp rax, qword ptr [rdx + 160] - setne byte ptr [rsp + 8] # 1-byte Folded Spill - cmp rcx, qword ptr [rdx + 168] + setne byte ptr [rsp + 9] # 1-byte Folded Spill + cmp rbx, qword ptr [rdx + 168] mov rax, qword ptr [rsi + 176] - setne byte ptr [rsp + 11] # 1-byte Folded Spill + setne byte ptr [rsp + 12] # 1-byte Folded Spill cmp rax, qword ptr [rdx + 176] mov rax, qword ptr [rsi + 184] - setne byte ptr [rsp + 12] # 1-byte Folded Spill + setne byte ptr [rsp + 13] # 1-byte Folded Spill cmp rax, qword ptr [rdx + 184] mov rax, qword ptr [rsi + 192] setne r9b cmp rax, qword ptr [rdx + 192] mov rax, qword ptr [rsi + 200] - setne byte ptr [rsp + 19] # 1-byte Folded Spill + setne byte ptr [rsp + 20] # 1-byte Folded Spill cmp rax, qword ptr [rdx + 200] mov rax, qword ptr [rsi + 208] - setne byte ptr [rsp + 13] # 1-byte Folded Spill + setne byte ptr [rsp + 14] # 1-byte Folded Spill cmp rax, qword ptr [rdx + 208] mov rax, qword ptr [rsi + 216] - setne byte ptr [rsp + 14] # 1-byte Folded Spill + setne byte ptr [rsp + 15] # 1-byte Folded Spill cmp rax, qword ptr [rdx + 216] mov rax, qword ptr [rsi + 224] - setne byte ptr [rsp + 15] # 1-byte Folded Spill + setne byte ptr [rsp + 16] # 1-byte Folded Spill cmp rax, qword ptr [rdx + 224] mov rax, qword ptr [rsi + 232] - setne byte ptr [rsp + 16] # 1-byte Folded Spill + setne byte ptr [rsp + 17] # 1-byte Folded Spill cmp rax, qword ptr [rdx + 232] mov rax, qword ptr [rsi + 240] - setne byte ptr [rsp + 18] # 1-byte Folded Spill + setne byte ptr [rsp + 19] # 1-byte Folded Spill cmp rax, qword ptr [rdx + 240] mov rax, qword ptr [rsi + 248] - setne byte ptr [rsp + 17] # 1-byte Folded Spill + setne byte ptr [rsp + 18] # 1-byte Folded Spill add rsi, 256 cmp rax, qword ptr [rdx + 248] - setne dil - movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload + setne cl + movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 40] # 1-byte Folded Reload - mov ecx, eax - movzx eax, byte ptr [rsp + 4] # 1-byte Folded Reload + add al, byte ptr [rsp + 4] # 1-byte Folded Reload + mov ebx, eax + movzx eax, byte ptr [rsp + 5] # 1-byte Folded Reload shl al, 6 shl r13b, 7 or r13b, al - movzx eax, byte ptr [rsp + 20] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 21] # 1-byte Folded Reload shl al, 2 - or al, cl + or al, bl add r8b, r8b - add r8b, byte ptr [rsp + 9] # 1-byte Folded Reload - movzx ecx, byte ptr [rsp + 21] # 1-byte Folded Reload - shl cl, 3 - or cl, al - mov eax, ecx + add r8b, byte ptr [rsp + 10] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 22] # 1-byte Folded Reload + shl bl, 3 + or bl, al + mov eax, ebx shl r11b, 2 or r11b, r8b - movzx ecx, byte ptr [rsp + 22] # 1-byte Folded Reload - shl cl, 4 - or cl, al - mov r8d, ecx + movzx ebx, byte ptr [rsp + 23] # 1-byte Folded Reload + shl bl, 4 + or bl, al + mov r8d, ebx shl r15b, 3 or r15b, r11b - movzx ecx, byte ptr [rsp + 23] # 1-byte Folded Reload - shl cl, 5 - or cl, r8b - movzx eax, byte ptr [rsp + 5] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 3] # 1-byte Folded Reload + shl bl, 5 + or bl, r8b + movzx eax, byte ptr [rsp + 6] # 1-byte Folded Reload shl al, 4 or al, r15b mov r8d, eax - movzx eax, byte ptr [rsp + 6] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 7] # 1-byte Folded Reload shl al, 5 or al, r8b - movzx r8d, byte ptr [rsp + 7] # 1-byte Folded Reload + movzx r8d, byte ptr [rsp + 8] # 1-byte Folded Reload shl r8b, 6 - shl bl, 7 - or bl, r8b - or r13b, cl - or bl, al + shl dil, 7 + or dil, r8b + or r13b, bl + or dil, al add r10b, r10b - add r10b, byte ptr [rsp + 10] # 1-byte Folded Reload + add r10b, byte ptr [rsp + 11] # 1-byte Folded Reload shl r14b, 2 or r14b, r10b shl r12b, 3 or r12b, r14b - movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 9] # 1-byte Folded Reload shl al, 4 or al, r12b - mov ecx, eax - mov r14, qword ptr [rsp + 48] # 8-byte Reload - movzx eax, byte ptr [rsp + 11] # 1-byte Folded Reload + mov ebx, eax + mov r12, qword ptr [rsp + 48] # 8-byte Reload + movzx eax, byte ptr [rsp + 12] # 1-byte Folded Reload shl al, 5 - or al, cl - mov byte ptr [r14], r13b - movzx ecx, byte ptr [rsp + 12] # 1-byte Folded Reload - shl cl, 6 + or al, bl + mov byte ptr [r12], r13b + movzx ebx, byte ptr [rsp + 13] # 1-byte Folded Reload + shl bl, 6 shl r9b, 7 - or r9b, cl - mov byte ptr [r14 + 1], bl + or r9b, bl + mov byte ptr [r12 + 1], dil or r9b, al - movzx eax, byte ptr [rsp + 13] # 1-byte Folded Reload - add al, al - add al, byte ptr [rsp + 19] # 1-byte Folded Reload - mov ecx, eax movzx eax, byte ptr [rsp + 14] # 1-byte Folded Reload - shl al, 2 - or al, cl - mov ecx, eax + add al, al + add al, byte ptr [rsp + 20] # 1-byte Folded Reload + mov ebx, eax movzx eax, byte ptr [rsp + 15] # 1-byte Folded Reload - shl al, 3 - or al, cl - mov ecx, eax + shl al, 2 + or al, bl + mov ebx, eax movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload + shl al, 3 + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 17] # 1-byte Folded Reload shl al, 4 - or al, cl - mov ecx, eax - movzx eax, byte ptr [rsp + 18] # 1-byte Folded Reload + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 19] # 1-byte Folded Reload shl al, 5 - or al, cl - movzx ecx, byte ptr [rsp + 17] # 1-byte Folded Reload - shl cl, 6 - shl dil, 7 - or dil, cl - or dil, al - mov byte ptr [r14 + 2], r9b - mov byte ptr [r14 + 3], dil + or al, bl + movzx ebx, byte ptr [rsp + 18] # 1-byte Folded Reload + shl bl, 6 + shl cl, 7 + or cl, bl + or cl, al + mov byte ptr [r12 + 2], r9b + mov byte ptr [r12 + 3], cl add rdx, 256 - add r14, 4 - add qword ptr [rsp + 56], -1 # 8-byte Folded Spill + add r12, 4 + add qword ptr [rsp + 32], -1 # 8-byte Folded Spill jne .LBB3_107 # %bb.108: - mov r11, qword ptr [rsp + 24] # 8-byte Reload - mov r15, qword ptr [rsp + 64] # 8-byte Reload + mov r14, qword ptr [rsp + 24] # 8-byte Reload + mov r15, qword ptr [rsp + 56] # 8-byte Reload .LBB3_109: shl r15, 5 - cmp r15, r11 + cmp r15, r14 jge .LBB3_123 # %bb.110: - sub r11, r15 + sub r14, r15 xor ecx, ecx .p2align 4, 0x90 .LBB3_111: # =>This Inner Loop Header: Depth=1 @@ -18779,7 +19524,7 @@ comparison_not_equal_arr_arr_avx2: # @comparison_not_equal_arr_arr_avx2 neg bl mov rdi, rcx shr rdi, 3 - movzx r9d, byte ptr [r14 + rdi] + movzx r9d, byte ptr [r12 + rdi] xor bl, r9b and cl, 7 mov al, 1 @@ -18787,291 +19532,386 @@ comparison_not_equal_arr_arr_avx2: # @comparison_not_equal_arr_arr_avx2 shl al, cl and al, bl xor al, r9b - mov byte ptr [r14 + rdi], al + mov byte ptr [r12 + rdi], al mov rcx, r8 - cmp r11, r8 + cmp r14, r8 jne .LBB3_111 jmp .LBB3_123 .LBB3_112: - lea r15, [r11 + 31] - test r11, r11 - cmovns r15, r11 - lea eax, [r9 + 7] - test r9d, r9d - cmovns eax, r9d - and eax, -8 - sub r9d, eax + lea r15, [r14 + 31] + test r14, r14 + cmovns r15, r14 + lea ecx, [rax + 7] + test eax, eax + cmovns ecx, eax + and ecx, -8 + sub eax, ecx je .LBB3_116 # %bb.113: - movsxd rax, r9d + movsxd r10, eax .p2align 4, 0x90 .LBB3_114: # =>This Inner Loop Header: Depth=1 vmovss xmm0, dword ptr [rsi] # xmm0 = mem[0],zero,zero,zero add rsi, 4 vucomiss xmm0, dword ptr [rdx] lea rdx, [rdx + 4] - setne r10b - neg r10b - lea rdi, [rax + 7] - test rax, rax - cmovns rdi, rax + setp cl + setne bl + or bl, cl + neg bl + lea rdi, [r10 + 7] + test r10, r10 + cmovns rdi, r10 sar rdi, 3 - movzx r8d, byte ptr [r14 + rdi] - xor r10b, r8b + movzx r8d, byte ptr [r12 + rdi] + xor bl, r8b lea r9d, [8*rdi] - mov ecx, eax + mov ecx, r10d sub ecx, r9d - mov ebx, 1 + mov eax, 1 # kill: def $cl killed $cl killed $ecx - shl ebx, cl - and bl, r10b - xor bl, r8b - mov byte ptr [r14 + rdi], bl - add rax, 1 - cmp rax, 8 + shl eax, cl + and al, bl + xor al, r8b + mov byte ptr [r12 + rdi], al + add r10, 1 + cmp r10, 8 jne .LBB3_114 # %bb.115: - add r14, 1 + add r12, 1 .LBB3_116: sar r15, 5 - cmp r11, 32 + cmp r14, 32 jl .LBB3_120 # %bb.117: - mov qword ptr [rsp + 24], r11 # 8-byte Spill - mov qword ptr [rsp + 32], r15 # 8-byte Spill - mov qword ptr [rsp + 40], r15 # 8-byte Spill + mov qword ptr [rsp + 24], r14 # 8-byte Spill + mov qword ptr [rsp + 64], r15 # 8-byte Spill + mov qword ptr [rsp + 56], r15 # 8-byte Spill .p2align 4, 0x90 .LBB3_118: # =>This Inner Loop Header: Depth=1 - mov qword ptr [rsp + 48], r14 # 8-byte Spill + mov qword ptr [rsp + 48], r12 # 8-byte Spill vmovss xmm0, dword ptr [rsi] # xmm0 = mem[0],zero,zero,zero - vmovss xmm1, dword ptr [rsi + 4] # xmm1 = mem[0],zero,zero,zero vucomiss xmm0, dword ptr [rdx] - setne byte ptr [rsp + 4] # 1-byte Folded Spill - vucomiss xmm1, dword ptr [rdx + 4] - setne al + vmovss xmm0, dword ptr [rsi + 4] # xmm0 = mem[0],zero,zero,zero + setp al + setne cl + or cl, al + mov byte ptr [rsp + 21], cl # 1-byte Spill + vucomiss xmm0, dword ptr [rdx + 4] + setp al + setne cl + or cl, al + mov byte ptr [rsp + 13], cl # 1-byte Spill vmovss xmm0, dword ptr [rsi + 8] # xmm0 = mem[0],zero,zero,zero vucomiss xmm0, dword ptr [rdx + 8] + setp al + setne cl + or cl, al + mov byte ptr [rsp + 20], cl # 1-byte Spill vmovss xmm0, dword ptr [rsi + 12] # xmm0 = mem[0],zero,zero,zero - setne byte ptr [rsp + 5] # 1-byte Folded Spill vucomiss xmm0, dword ptr [rdx + 12] - setne byte ptr [rsp + 22] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 23], cl # 1-byte Spill vmovss xmm0, dword ptr [rsi + 16] # xmm0 = mem[0],zero,zero,zero vucomiss xmm0, dword ptr [rdx + 16] + setp al + setne cl + or cl, al + mov byte ptr [rsp + 22], cl # 1-byte Spill vmovss xmm0, dword ptr [rsi + 20] # xmm0 = mem[0],zero,zero,zero - setne byte ptr [rsp + 21] # 1-byte Folded Spill vucomiss xmm0, dword ptr [rdx + 20] - setne byte ptr [rsp + 23] # 1-byte Folded Spill + setp al + setne dil + or dil, al vmovss xmm0, dword ptr [rsi + 24] # xmm0 = mem[0],zero,zero,zero vucomiss xmm0, dword ptr [rdx + 24] - vmovss xmm0, dword ptr [rsi + 28] # xmm0 = mem[0],zero,zero,zero + setp al setne r13b + or r13b, al + vmovss xmm0, dword ptr [rsi + 28] # xmm0 = mem[0],zero,zero,zero vucomiss xmm0, dword ptr [rdx + 28] - setne r15b + setp al + setne cl + or cl, al + mov byte ptr [rsp + 3], cl # 1-byte Spill vmovss xmm0, dword ptr [rsi + 32] # xmm0 = mem[0],zero,zero,zero vucomiss xmm0, dword ptr [rdx + 32] + setp al + setne cl + or cl, al + mov byte ptr [rsp + 19], cl # 1-byte Spill vmovss xmm0, dword ptr [rsi + 36] # xmm0 = mem[0],zero,zero,zero - setne byte ptr [rsp + 8] # 1-byte Folded Spill vucomiss xmm0, dword ptr [rdx + 36] - setne cl + setp al + setne bl + or bl, al vmovss xmm0, dword ptr [rsi + 40] # xmm0 = mem[0],zero,zero,zero vucomiss xmm0, dword ptr [rdx + 40] + setp al + setne cl + or cl, al + mov byte ptr [rsp + 18], cl # 1-byte Spill vmovss xmm0, dword ptr [rsi + 44] # xmm0 = mem[0],zero,zero,zero - setne r9b vucomiss xmm0, dword ptr [rdx + 44] - setne r11b + setp al + setne cl + or cl, al + mov byte ptr [rsp + 17], cl # 1-byte Spill vmovss xmm0, dword ptr [rsi + 48] # xmm0 = mem[0],zero,zero,zero vucomiss xmm0, dword ptr [rdx + 48] + setp al + setne cl + or cl, al + mov byte ptr [rsp + 16], cl # 1-byte Spill vmovss xmm0, dword ptr [rsi + 52] # xmm0 = mem[0],zero,zero,zero - setne r10b vucomiss xmm0, dword ptr [rdx + 52] - setne byte ptr [rsp + 7] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 15], cl # 1-byte Spill vmovss xmm0, dword ptr [rsi + 56] # xmm0 = mem[0],zero,zero,zero vucomiss xmm0, dword ptr [rdx + 56] + setp al + setne cl + or cl, al + mov byte ptr [rsp + 12], cl # 1-byte Spill vmovss xmm0, dword ptr [rsi + 60] # xmm0 = mem[0],zero,zero,zero - setne byte ptr [rsp + 6] # 1-byte Folded Spill vucomiss xmm0, dword ptr [rdx + 60] - setne bl + setp al + setne cl + or cl, al + mov byte ptr [rsp + 11], cl # 1-byte Spill vmovss xmm0, dword ptr [rsi + 64] # xmm0 = mem[0],zero,zero,zero vucomiss xmm0, dword ptr [rdx + 64] + setp al + setne cl + or cl, al + mov byte ptr [rsp + 14], cl # 1-byte Spill vmovss xmm0, dword ptr [rsi + 68] # xmm0 = mem[0],zero,zero,zero - setne byte ptr [rsp + 14] # 1-byte Folded Spill vucomiss xmm0, dword ptr [rdx + 68] + setp al + setne cl + or cl, al + mov byte ptr [rsp + 10], cl # 1-byte Spill vmovss xmm0, dword ptr [rsi + 72] # xmm0 = mem[0],zero,zero,zero - setne r14b vucomiss xmm0, dword ptr [rdx + 72] + setp al + setne cl + or cl, al + mov byte ptr [rsp + 9], cl # 1-byte Spill vmovss xmm0, dword ptr [rsi + 76] # xmm0 = mem[0],zero,zero,zero - setne r12b vucomiss xmm0, dword ptr [rdx + 76] + setp al + setne r11b + or r11b, al vmovss xmm0, dword ptr [rsi + 80] # xmm0 = mem[0],zero,zero,zero - setne byte ptr [rsp + 9] # 1-byte Folded Spill - vucomiss xmm0, dword ptr [rdx + 80] - vmovss xmm0, dword ptr [rsi + 84] # xmm0 = mem[0],zero,zero,zero - setne byte ptr [rsp + 10] # 1-byte Folded Spill - vucomiss xmm0, dword ptr [rdx + 84] - vmovss xmm0, dword ptr [rsi + 88] # xmm0 = mem[0],zero,zero,zero - setne byte ptr [rsp + 11] # 1-byte Folded Spill - vucomiss xmm0, dword ptr [rdx + 88] - vmovss xmm0, dword ptr [rsi + 92] # xmm0 = mem[0],zero,zero,zero - setne byte ptr [rsp + 12] # 1-byte Folded Spill - vucomiss xmm0, dword ptr [rdx + 92] - vmovss xmm0, dword ptr [rsi + 96] # xmm0 = mem[0],zero,zero,zero - setne r8b - vucomiss xmm0, dword ptr [rdx + 96] - vmovss xmm0, dword ptr [rsi + 100] # xmm0 = mem[0],zero,zero,zero - setne byte ptr [rsp + 20] # 1-byte Folded Spill - vucomiss xmm0, dword ptr [rdx + 100] - vmovss xmm0, dword ptr [rsi + 104] # xmm0 = mem[0],zero,zero,zero - setne byte ptr [rsp + 13] # 1-byte Folded Spill - vucomiss xmm0, dword ptr [rdx + 104] - vmovss xmm0, dword ptr [rsi + 108] # xmm0 = mem[0],zero,zero,zero - setne byte ptr [rsp + 15] # 1-byte Folded Spill - vucomiss xmm0, dword ptr [rdx + 108] - vmovss xmm0, dword ptr [rsi + 112] # xmm0 = mem[0],zero,zero,zero - setne byte ptr [rsp + 16] # 1-byte Folded Spill - vucomiss xmm0, dword ptr [rdx + 112] - vmovss xmm0, dword ptr [rsi + 116] # xmm0 = mem[0],zero,zero,zero - setne byte ptr [rsp + 17] # 1-byte Folded Spill - vucomiss xmm0, dword ptr [rdx + 116] - vmovss xmm0, dword ptr [rsi + 120] # xmm0 = mem[0],zero,zero,zero - setne byte ptr [rsp + 19] # 1-byte Folded Spill - vucomiss xmm0, dword ptr [rdx + 120] - vmovss xmm0, dword ptr [rsi + 124] # xmm0 = mem[0],zero,zero,zero - setne byte ptr [rsp + 18] # 1-byte Folded Spill - sub rsi, -128 - vucomiss xmm0, dword ptr [rdx + 124] - setne dil - add al, al - add al, byte ptr [rsp + 4] # 1-byte Folded Reload - shl r13b, 6 - shl r15b, 7 - or r15b, r13b - movzx r13d, byte ptr [rsp + 5] # 1-byte Folded Reload - shl r13b, 2 - or r13b, al - mov eax, r13d - add cl, cl - add cl, byte ptr [rsp + 8] # 1-byte Folded Reload - movzx r13d, byte ptr [rsp + 22] # 1-byte Folded Reload - shl r13b, 3 - or r13b, al - shl r9b, 2 - or r9b, cl - movzx ecx, byte ptr [rsp + 21] # 1-byte Folded Reload - shl cl, 4 - or cl, r13b - mov r13d, ecx - shl r11b, 3 - or r11b, r9b - movzx ecx, byte ptr [rsp + 23] # 1-byte Folded Reload - shl cl, 5 - or cl, r13b - shl r10b, 4 - or r10b, r11b - movzx eax, byte ptr [rsp + 7] # 1-byte Folded Reload - shl al, 5 - or al, r10b - movzx r9d, byte ptr [rsp + 6] # 1-byte Folded Reload - shl r9b, 6 - shl bl, 7 - or bl, r9b - or r15b, cl - or bl, al - add r14b, r14b - add r14b, byte ptr [rsp + 14] # 1-byte Folded Reload - shl r12b, 2 - or r12b, r14b - mov r14, qword ptr [rsp + 48] # 8-byte Reload - movzx eax, byte ptr [rsp + 9] # 1-byte Folded Reload - shl al, 3 - or al, r12b - mov ecx, eax - movzx eax, byte ptr [rsp + 10] # 1-byte Folded Reload - shl al, 4 - or al, cl - mov ecx, eax - movzx eax, byte ptr [rsp + 11] # 1-byte Folded Reload - shl al, 5 - or al, cl - mov byte ptr [r14], r15b - movzx ecx, byte ptr [rsp + 12] # 1-byte Folded Reload - shl cl, 6 - shl r8b, 7 - or r8b, cl - mov byte ptr [r14 + 1], bl + vucomiss xmm0, dword ptr [rdx + 80] + setp al + setne cl + or cl, al + mov byte ptr [rsp + 8], cl # 1-byte Spill + vmovss xmm0, dword ptr [rsi + 84] # xmm0 = mem[0],zero,zero,zero + vucomiss xmm0, dword ptr [rdx + 84] + setp al + setne cl + or cl, al + mov byte ptr [rsp + 7], cl # 1-byte Spill + vmovss xmm0, dword ptr [rsi + 88] # xmm0 = mem[0],zero,zero,zero + vucomiss xmm0, dword ptr [rdx + 88] + setp al + setne cl + or cl, al + mov byte ptr [rsp + 5], cl # 1-byte Spill + vmovss xmm0, dword ptr [rsi + 92] # xmm0 = mem[0],zero,zero,zero + vucomiss xmm0, dword ptr [rdx + 92] + setp al + setne r10b + or r10b, al + vmovss xmm0, dword ptr [rsi + 96] # xmm0 = mem[0],zero,zero,zero + vucomiss xmm0, dword ptr [rdx + 96] + setp al + setne cl + or cl, al + mov byte ptr [rsp + 6], cl # 1-byte Spill + vmovss xmm0, dword ptr [rsi + 100] # xmm0 = mem[0],zero,zero,zero + vucomiss xmm0, dword ptr [rdx + 100] + setp al + setne cl + or cl, al + mov byte ptr [rsp + 32], cl # 1-byte Spill + vmovss xmm0, dword ptr [rsi + 104] # xmm0 = mem[0],zero,zero,zero + vucomiss xmm0, dword ptr [rdx + 104] + setp al + setne r15b + or r15b, al + vmovss xmm0, dword ptr [rsi + 108] # xmm0 = mem[0],zero,zero,zero + vucomiss xmm0, dword ptr [rdx + 108] + setp al + setne r14b + or r14b, al + vmovss xmm0, dword ptr [rsi + 112] # xmm0 = mem[0],zero,zero,zero + vucomiss xmm0, dword ptr [rdx + 112] + setp al + setne cl + or cl, al + mov byte ptr [rsp + 4], cl # 1-byte Spill + vmovss xmm0, dword ptr [rsi + 116] # xmm0 = mem[0],zero,zero,zero + vucomiss xmm0, dword ptr [rdx + 116] + setp al + setne cl + or cl, al + mov byte ptr [rsp + 40], cl # 1-byte Spill + vmovss xmm0, dword ptr [rsi + 120] # xmm0 = mem[0],zero,zero,zero + vucomiss xmm0, dword ptr [rdx + 120] + setp al + setne r9b + or r9b, al + vmovss xmm0, dword ptr [rsi + 124] # xmm0 = mem[0],zero,zero,zero + sub rsi, -128 + vucomiss xmm0, dword ptr [rdx + 124] + setp al + setne r8b or r8b, al movzx eax, byte ptr [rsp + 13] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 20] # 1-byte Folded Reload - mov ecx, eax - movzx eax, byte ptr [rsp + 15] # 1-byte Folded Reload + add al, byte ptr [rsp + 21] # 1-byte Folded Reload + shl dil, 5 + shl r13b, 6 + or r13b, dil + mov edi, r13d + movzx ecx, byte ptr [rsp + 20] # 1-byte Folded Reload + shl cl, 2 + or cl, al + mov eax, ebx + add al, bl + add al, byte ptr [rsp + 19] # 1-byte Folded Reload + mov r13d, eax + movzx eax, byte ptr [rsp + 3] # 1-byte Folded Reload + shl al, 7 + or al, dil + mov byte ptr [rsp + 3], al # 1-byte Spill + movzx eax, byte ptr [rsp + 18] # 1-byte Folded Reload shl al, 2 - or al, cl - mov ecx, eax - movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload + or al, r13b + mov edi, eax + movzx eax, byte ptr [rsp + 23] # 1-byte Folded Reload shl al, 3 or al, cl - mov ecx, eax - movzx eax, byte ptr [rsp + 17] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 17] # 1-byte Folded Reload + shl bl, 3 + or bl, dil + movzx r13d, byte ptr [rsp + 22] # 1-byte Folded Reload + shl r13b, 4 + or r13b, al + movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload shl al, 4 - or al, cl - movzx ecx, byte ptr [rsp + 19] # 1-byte Folded Reload - shl cl, 5 - or cl, al - movzx eax, byte ptr [rsp + 18] # 1-byte Folded Reload + or al, bl + mov edi, eax + movzx ebx, byte ptr [rsp + 15] # 1-byte Folded Reload + shl bl, 5 + movzx eax, byte ptr [rsp + 12] # 1-byte Folded Reload shl al, 6 - shl dil, 7 - or dil, al - or dil, cl - mov byte ptr [r14 + 2], r8b - mov byte ptr [r14 + 3], dil + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 11] # 1-byte Folded Reload + shl al, 7 + or al, bl + movzx ebx, byte ptr [rsp + 10] # 1-byte Folded Reload + add bl, bl + add bl, byte ptr [rsp + 14] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 9] # 1-byte Folded Reload + shl cl, 2 + or cl, bl + shl r11b, 3 + or r11b, cl + movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload + shl bl, 4 + or bl, r11b + mov r12, qword ptr [rsp + 48] # 8-byte Reload + movzx r11d, byte ptr [rsp + 3] # 1-byte Folded Reload + or r11b, r13b + movzx r13d, byte ptr [rsp + 7] # 1-byte Folded Reload + shl r13b, 5 + movzx ecx, byte ptr [rsp + 5] # 1-byte Folded Reload + shl cl, 6 + or cl, r13b + or al, dil + shl r10b, 7 + or r10b, cl + or r10b, bl + movzx ecx, byte ptr [rsp + 32] # 1-byte Folded Reload + add cl, cl + add cl, byte ptr [rsp + 6] # 1-byte Folded Reload + shl r15b, 2 + or r15b, cl + shl r14b, 3 + or r14b, r15b + movzx ecx, byte ptr [rsp + 4] # 1-byte Folded Reload + shl cl, 4 + or cl, r14b + mov byte ptr [r12], r11b + movzx ebx, byte ptr [rsp + 40] # 1-byte Folded Reload + shl bl, 5 + shl r9b, 6 + or r9b, bl + mov byte ptr [r12 + 1], al + shl r8b, 7 + or r8b, r9b + or r8b, cl + mov byte ptr [r12 + 2], r10b + mov byte ptr [r12 + 3], r8b add rdx, 128 - add r14, 4 - add qword ptr [rsp + 40], -1 # 8-byte Folded Spill + add r12, 4 + add qword ptr [rsp + 56], -1 # 8-byte Folded Spill jne .LBB3_118 # %bb.119: - mov r11, qword ptr [rsp + 24] # 8-byte Reload - mov r15, qword ptr [rsp + 32] # 8-byte Reload + mov r14, qword ptr [rsp + 24] # 8-byte Reload + mov r15, qword ptr [rsp + 64] # 8-byte Reload .LBB3_120: shl r15, 5 - cmp r15, r11 + cmp r15, r14 jge .LBB3_123 # %bb.121: - sub r11, r15 + sub r14, r15 xor ecx, ecx .p2align 4, 0x90 .LBB3_122: # =>This Inner Loop Header: Depth=1 + lea r9, [rcx + 1] vmovss xmm0, dword ptr [rsi + 4*rcx] # xmm0 = mem[0],zero,zero,zero vucomiss xmm0, dword ptr [rdx + 4*rcx] - lea r8, [rcx + 1] - setne bl - neg bl + setp bl + setne al + or al, bl + neg al mov rdi, rcx shr rdi, 3 - movzx r9d, byte ptr [r14 + rdi] - xor bl, r9b + movzx r8d, byte ptr [r12 + rdi] + xor al, r8b and cl, 7 - mov al, 1 + mov bl, 1 # kill: def $cl killed $cl killed $rcx - shl al, cl - and al, bl - xor al, r9b - mov byte ptr [r14 + rdi], al - mov rcx, r8 - cmp r11, r8 + shl bl, cl + and bl, al + xor bl, r8b + mov byte ptr [r12 + rdi], bl + mov rcx, r9 + cmp r14, r9 jne .LBB3_122 jmp .LBB3_123 .LBB3_57: - lea r15, [r11 + 31] - test r11, r11 - cmovns r15, r11 - lea eax, [r9 + 7] - test r9d, r9d - cmovns eax, r9d - and eax, -8 - sub r9d, eax + lea r15, [r14 + 31] + test r14, r14 + cmovns r15, r14 + lea ecx, [rax + 7] + test eax, eax + cmovns ecx, eax + and ecx, -8 + sub eax, ecx je .LBB3_61 # %bb.58: - movsxd rax, r9d + cdqe .p2align 4, 0x90 .LBB3_59: # =>This Inner Loop Header: Depth=1 movzx ecx, byte ptr [rsi] @@ -19084,7 +19924,7 @@ comparison_not_equal_arr_arr_avx2: # @comparison_not_equal_arr_arr_avx2 test rax, rax cmovns rdi, rax sar rdi, 3 - movzx r8d, byte ptr [r14 + rdi] + movzx r8d, byte ptr [r12 + rdi] xor r10b, r8b lea r9d, [8*rdi] mov ecx, eax @@ -19094,50 +19934,50 @@ comparison_not_equal_arr_arr_avx2: # @comparison_not_equal_arr_arr_avx2 shl ebx, cl and bl, r10b xor bl, r8b - mov byte ptr [r14 + rdi], bl + mov byte ptr [r12 + rdi], bl add rax, 1 cmp rax, 8 jne .LBB3_59 # %bb.60: - add r14, 1 + add r12, 1 .LBB3_61: sar r15, 5 - cmp r11, 32 + cmp r14, 32 jl .LBB3_65 # %bb.62: - mov qword ptr [rsp + 24], r11 # 8-byte Spill - mov qword ptr [rsp + 56], r15 # 8-byte Spill + mov qword ptr [rsp + 24], r14 # 8-byte Spill mov qword ptr [rsp + 32], r15 # 8-byte Spill + mov qword ptr [rsp + 40], r15 # 8-byte Spill .p2align 4, 0x90 .LBB3_63: # =>This Inner Loop Header: Depth=1 - mov qword ptr [rsp + 48], r14 # 8-byte Spill + mov qword ptr [rsp + 48], r12 # 8-byte Spill movzx eax, byte ptr [rsi] movzx ecx, byte ptr [rsi + 1] cmp al, byte ptr [rdx] - setne byte ptr [rsp + 40] # 1-byte Folded Spill + setne byte ptr [rsp + 4] # 1-byte Folded Spill cmp cl, byte ptr [rdx + 1] - setne cl + setne bl movzx eax, byte ptr [rsi + 2] cmp al, byte ptr [rdx + 2] - setne byte ptr [rsp + 20] # 1-byte Folded Spill + setne byte ptr [rsp + 21] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 3] cmp al, byte ptr [rdx + 3] - setne byte ptr [rsp + 21] # 1-byte Folded Spill + setne byte ptr [rsp + 22] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 4] cmp al, byte ptr [rdx + 4] - setne byte ptr [rsp + 22] # 1-byte Folded Spill + setne byte ptr [rsp + 23] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 5] cmp al, byte ptr [rdx + 5] - setne byte ptr [rsp + 23] # 1-byte Folded Spill + setne byte ptr [rsp + 3] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 6] cmp al, byte ptr [rdx + 6] - setne byte ptr [rsp + 4] # 1-byte Folded Spill + setne byte ptr [rsp + 5] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 7] cmp al, byte ptr [rdx + 7] setne r15b movzx eax, byte ptr [rsi + 8] cmp al, byte ptr [rdx + 8] - setne byte ptr [rsp + 7] # 1-byte Folded Spill + setne byte ptr [rsp + 8] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 9] cmp al, byte ptr [rdx + 9] setne dil @@ -19152,16 +19992,16 @@ comparison_not_equal_arr_arr_avx2: # @comparison_not_equal_arr_arr_avx2 setne r14b movzx eax, byte ptr [rsi + 13] cmp al, byte ptr [rdx + 13] - setne byte ptr [rsp + 5] # 1-byte Folded Spill + setne byte ptr [rsp + 6] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 14] cmp al, byte ptr [rdx + 14] - setne byte ptr [rsp + 6] # 1-byte Folded Spill + setne byte ptr [rsp + 7] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 15] cmp al, byte ptr [rdx + 15] - setne bl + setne r8b movzx eax, byte ptr [rsi + 16] cmp al, byte ptr [rdx + 16] - setne byte ptr [rsp + 13] # 1-byte Folded Spill + setne byte ptr [rsp + 14] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 17] cmp al, byte ptr [rdx + 17] setne r12b @@ -19170,145 +20010,145 @@ comparison_not_equal_arr_arr_avx2: # @comparison_not_equal_arr_arr_avx2 setne r13b movzx eax, byte ptr [rsi + 19] cmp al, byte ptr [rdx + 19] - setne byte ptr [rsp + 8] # 1-byte Folded Spill + setne byte ptr [rsp + 9] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 20] cmp al, byte ptr [rdx + 20] - setne byte ptr [rsp + 9] # 1-byte Folded Spill + setne byte ptr [rsp + 10] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 21] cmp al, byte ptr [rdx + 21] - setne byte ptr [rsp + 10] # 1-byte Folded Spill + setne byte ptr [rsp + 11] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 22] cmp al, byte ptr [rdx + 22] - setne byte ptr [rsp + 11] # 1-byte Folded Spill + setne byte ptr [rsp + 12] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 23] cmp al, byte ptr [rdx + 23] setne r9b movzx eax, byte ptr [rsi + 24] cmp al, byte ptr [rdx + 24] - setne byte ptr [rsp + 19] # 1-byte Folded Spill + setne byte ptr [rsp + 20] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 25] cmp al, byte ptr [rdx + 25] - setne byte ptr [rsp + 12] # 1-byte Folded Spill + setne byte ptr [rsp + 13] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 26] cmp al, byte ptr [rdx + 26] - setne byte ptr [rsp + 14] # 1-byte Folded Spill + setne byte ptr [rsp + 15] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 27] cmp al, byte ptr [rdx + 27] - setne byte ptr [rsp + 15] # 1-byte Folded Spill + setne byte ptr [rsp + 16] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 28] cmp al, byte ptr [rdx + 28] - setne byte ptr [rsp + 16] # 1-byte Folded Spill + setne byte ptr [rsp + 17] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 29] cmp al, byte ptr [rdx + 29] - setne byte ptr [rsp + 17] # 1-byte Folded Spill + setne byte ptr [rsp + 18] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 30] cmp al, byte ptr [rdx + 30] - setne byte ptr [rsp + 18] # 1-byte Folded Spill + setne byte ptr [rsp + 19] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 31] add rsi, 32 cmp al, byte ptr [rdx + 31] - setne r8b - add cl, cl - add cl, byte ptr [rsp + 40] # 1-byte Folded Reload - mov eax, ecx - movzx ecx, byte ptr [rsp + 4] # 1-byte Folded Reload - shl cl, 6 + setne cl + add bl, bl + add bl, byte ptr [rsp + 4] # 1-byte Folded Reload + mov eax, ebx + movzx ebx, byte ptr [rsp + 5] # 1-byte Folded Reload + shl bl, 6 shl r15b, 7 - or r15b, cl - movzx ecx, byte ptr [rsp + 20] # 1-byte Folded Reload - shl cl, 2 - or cl, al - mov eax, ecx + or r15b, bl + movzx ebx, byte ptr [rsp + 21] # 1-byte Folded Reload + shl bl, 2 + or bl, al + mov eax, ebx add dil, dil - add dil, byte ptr [rsp + 7] # 1-byte Folded Reload - movzx ecx, byte ptr [rsp + 21] # 1-byte Folded Reload - shl cl, 3 - or cl, al - mov eax, ecx + add dil, byte ptr [rsp + 8] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 22] # 1-byte Folded Reload + shl bl, 3 + or bl, al + mov eax, ebx shl r10b, 2 or r10b, dil - movzx ecx, byte ptr [rsp + 22] # 1-byte Folded Reload - shl cl, 4 - or cl, al - mov edi, ecx + movzx ebx, byte ptr [rsp + 23] # 1-byte Folded Reload + shl bl, 4 + or bl, al + mov edi, ebx shl r11b, 3 or r11b, r10b - movzx ecx, byte ptr [rsp + 23] # 1-byte Folded Reload - shl cl, 5 - or cl, dil + movzx ebx, byte ptr [rsp + 3] # 1-byte Folded Reload + shl bl, 5 + or bl, dil shl r14b, 4 or r14b, r11b - movzx eax, byte ptr [rsp + 5] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 6] # 1-byte Folded Reload shl al, 5 or al, r14b - movzx edi, byte ptr [rsp + 6] # 1-byte Folded Reload + movzx edi, byte ptr [rsp + 7] # 1-byte Folded Reload shl dil, 6 - shl bl, 7 - or bl, dil - or r15b, cl - or bl, al + shl r8b, 7 + or r8b, dil + or r15b, bl + or r8b, al add r12b, r12b - add r12b, byte ptr [rsp + 13] # 1-byte Folded Reload + add r12b, byte ptr [rsp + 14] # 1-byte Folded Reload shl r13b, 2 or r13b, r12b - mov r14, qword ptr [rsp + 48] # 8-byte Reload - movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + mov r12, qword ptr [rsp + 48] # 8-byte Reload + movzx eax, byte ptr [rsp + 9] # 1-byte Folded Reload shl al, 3 or al, r13b - mov ecx, eax - movzx eax, byte ptr [rsp + 9] # 1-byte Folded Reload - shl al, 4 - or al, cl - mov ecx, eax + mov ebx, eax movzx eax, byte ptr [rsp + 10] # 1-byte Folded Reload + shl al, 4 + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 11] # 1-byte Folded Reload shl al, 5 - or al, cl - mov byte ptr [r14], r15b - movzx ecx, byte ptr [rsp + 11] # 1-byte Folded Reload - shl cl, 6 + or al, bl + mov byte ptr [r12], r15b + movzx ebx, byte ptr [rsp + 12] # 1-byte Folded Reload + shl bl, 6 shl r9b, 7 - or r9b, cl - mov byte ptr [r14 + 1], bl + or r9b, bl + mov byte ptr [r12 + 1], r8b or r9b, al - movzx eax, byte ptr [rsp + 12] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 13] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 19] # 1-byte Folded Reload - mov ecx, eax - movzx eax, byte ptr [rsp + 14] # 1-byte Folded Reload - shl al, 2 - or al, cl - mov ecx, eax + add al, byte ptr [rsp + 20] # 1-byte Folded Reload + mov ebx, eax movzx eax, byte ptr [rsp + 15] # 1-byte Folded Reload - shl al, 3 - or al, cl - mov ecx, eax + shl al, 2 + or al, bl + mov ebx, eax movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload - shl al, 4 - or al, cl - mov ecx, eax + shl al, 3 + or al, bl + mov ebx, eax movzx eax, byte ptr [rsp + 17] # 1-byte Folded Reload + shl al, 4 + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 18] # 1-byte Folded Reload shl al, 5 - or al, cl - movzx ecx, byte ptr [rsp + 18] # 1-byte Folded Reload - shl cl, 6 - shl r8b, 7 - or r8b, cl - or r8b, al - mov byte ptr [r14 + 2], r9b - mov byte ptr [r14 + 3], r8b + or al, bl + movzx ebx, byte ptr [rsp + 19] # 1-byte Folded Reload + shl bl, 6 + shl cl, 7 + or cl, bl + or cl, al + mov byte ptr [r12 + 2], r9b + mov byte ptr [r12 + 3], cl add rdx, 32 - add r14, 4 - add qword ptr [rsp + 32], -1 # 8-byte Folded Spill + add r12, 4 + add qword ptr [rsp + 40], -1 # 8-byte Folded Spill jne .LBB3_63 # %bb.64: - mov r11, qword ptr [rsp + 24] # 8-byte Reload - mov r15, qword ptr [rsp + 56] # 8-byte Reload + mov r14, qword ptr [rsp + 24] # 8-byte Reload + mov r15, qword ptr [rsp + 32] # 8-byte Reload .LBB3_65: shl r15, 5 - cmp r15, r11 + cmp r15, r14 jge .LBB3_123 # %bb.66: - sub r11, r15 + sub r14, r15 xor ecx, ecx .p2align 4, 0x90 .LBB3_67: # =>This Inner Loop Header: Depth=1 @@ -19319,7 +20159,7 @@ comparison_not_equal_arr_arr_avx2: # @comparison_not_equal_arr_arr_avx2 neg bl mov rdi, rcx shr rdi, 3 - movzx r9d, byte ptr [r14 + rdi] + movzx r9d, byte ptr [r12 + rdi] xor bl, r9b and cl, 7 mov al, 1 @@ -19327,23 +20167,23 @@ comparison_not_equal_arr_arr_avx2: # @comparison_not_equal_arr_arr_avx2 shl al, cl and al, bl xor al, r9b - mov byte ptr [r14 + rdi], al + mov byte ptr [r12 + rdi], al mov rcx, r8 - cmp r11, r8 + cmp r14, r8 jne .LBB3_67 jmp .LBB3_123 .LBB3_90: - lea r15, [r11 + 31] - test r11, r11 - cmovns r15, r11 - lea eax, [r9 + 7] - test r9d, r9d - cmovns eax, r9d - and eax, -8 - sub r9d, eax + lea r15, [r14 + 31] + test r14, r14 + cmovns r15, r14 + lea ecx, [rax + 7] + test eax, eax + cmovns ecx, eax + and ecx, -8 + sub eax, ecx je .LBB3_94 # %bb.91: - movsxd rax, r9d + cdqe .p2align 4, 0x90 .LBB3_92: # =>This Inner Loop Header: Depth=1 mov ecx, dword ptr [rsi] @@ -19356,7 +20196,7 @@ comparison_not_equal_arr_arr_avx2: # @comparison_not_equal_arr_arr_avx2 test rax, rax cmovns rdi, rax sar rdi, 3 - movzx r8d, byte ptr [r14 + rdi] + movzx r8d, byte ptr [r12 + rdi] xor r10b, r8b lea r9d, [8*rdi] mov ecx, eax @@ -19366,50 +20206,50 @@ comparison_not_equal_arr_arr_avx2: # @comparison_not_equal_arr_arr_avx2 shl ebx, cl and bl, r10b xor bl, r8b - mov byte ptr [r14 + rdi], bl + mov byte ptr [r12 + rdi], bl add rax, 1 cmp rax, 8 jne .LBB3_92 # %bb.93: - add r14, 1 + add r12, 1 .LBB3_94: sar r15, 5 - cmp r11, 32 + cmp r14, 32 jl .LBB3_98 # %bb.95: - mov qword ptr [rsp + 24], r11 # 8-byte Spill - mov qword ptr [rsp + 64], r15 # 8-byte Spill + mov qword ptr [rsp + 24], r14 # 8-byte Spill mov qword ptr [rsp + 56], r15 # 8-byte Spill + mov qword ptr [rsp + 32], r15 # 8-byte Spill .p2align 4, 0x90 .LBB3_96: # =>This Inner Loop Header: Depth=1 - mov qword ptr [rsp + 48], r14 # 8-byte Spill + mov qword ptr [rsp + 48], r12 # 8-byte Spill mov eax, dword ptr [rsi] mov ecx, dword ptr [rsi + 4] cmp eax, dword ptr [rdx] - setne byte ptr [rsp + 40] # 1-byte Folded Spill + setne byte ptr [rsp + 4] # 1-byte Folded Spill cmp ecx, dword ptr [rdx + 4] - setne byte ptr [rsp + 32] # 1-byte Folded Spill + setne byte ptr [rsp + 40] # 1-byte Folded Spill mov eax, dword ptr [rsi + 8] cmp eax, dword ptr [rdx + 8] - setne byte ptr [rsp + 20] # 1-byte Folded Spill + setne byte ptr [rsp + 21] # 1-byte Folded Spill mov eax, dword ptr [rsi + 12] cmp eax, dword ptr [rdx + 12] - setne byte ptr [rsp + 21] # 1-byte Folded Spill + setne byte ptr [rsp + 22] # 1-byte Folded Spill mov eax, dword ptr [rsi + 16] cmp eax, dword ptr [rdx + 16] - setne byte ptr [rsp + 22] # 1-byte Folded Spill + setne byte ptr [rsp + 23] # 1-byte Folded Spill mov eax, dword ptr [rsi + 20] cmp eax, dword ptr [rdx + 20] - setne byte ptr [rsp + 23] # 1-byte Folded Spill + setne byte ptr [rsp + 3] # 1-byte Folded Spill mov eax, dword ptr [rsi + 24] cmp eax, dword ptr [rdx + 24] - setne byte ptr [rsp + 4] # 1-byte Folded Spill + setne byte ptr [rsp + 5] # 1-byte Folded Spill mov eax, dword ptr [rsi + 28] cmp eax, dword ptr [rdx + 28] setne r13b mov eax, dword ptr [rsi + 32] cmp eax, dword ptr [rdx + 32] - setne byte ptr [rsp + 9] # 1-byte Folded Spill + setne byte ptr [rsp + 10] # 1-byte Folded Spill mov eax, dword ptr [rsi + 36] cmp eax, dword ptr [rdx + 36] setne r8b @@ -19421,166 +20261,166 @@ comparison_not_equal_arr_arr_avx2: # @comparison_not_equal_arr_arr_avx2 setne r15b mov eax, dword ptr [rsi + 48] cmp eax, dword ptr [rdx + 48] - setne byte ptr [rsp + 5] # 1-byte Folded Spill + setne byte ptr [rsp + 6] # 1-byte Folded Spill mov eax, dword ptr [rsi + 52] cmp eax, dword ptr [rdx + 52] - setne byte ptr [rsp + 6] # 1-byte Folded Spill + setne byte ptr [rsp + 7] # 1-byte Folded Spill mov eax, dword ptr [rsi + 56] cmp eax, dword ptr [rdx + 56] - setne byte ptr [rsp + 7] # 1-byte Folded Spill + setne byte ptr [rsp + 8] # 1-byte Folded Spill mov eax, dword ptr [rsi + 60] cmp eax, dword ptr [rdx + 60] - setne bl + setne dil mov eax, dword ptr [rsi + 64] - mov ecx, dword ptr [rsi + 68] + mov ebx, dword ptr [rsi + 68] cmp eax, dword ptr [rdx + 64] mov eax, dword ptr [rsi + 72] - setne byte ptr [rsp + 10] # 1-byte Folded Spill - cmp ecx, dword ptr [rdx + 68] - mov ecx, dword ptr [rsi + 76] + setne byte ptr [rsp + 11] # 1-byte Folded Spill + cmp ebx, dword ptr [rdx + 68] + mov ebx, dword ptr [rsi + 76] setne r10b cmp eax, dword ptr [rdx + 72] mov eax, dword ptr [rsi + 80] setne r14b - cmp ecx, dword ptr [rdx + 76] - mov ecx, dword ptr [rsi + 84] + cmp ebx, dword ptr [rdx + 76] + mov ebx, dword ptr [rsi + 84] setne r12b cmp eax, dword ptr [rdx + 80] - setne byte ptr [rsp + 8] # 1-byte Folded Spill - cmp ecx, dword ptr [rdx + 84] + setne byte ptr [rsp + 9] # 1-byte Folded Spill + cmp ebx, dword ptr [rdx + 84] mov eax, dword ptr [rsi + 88] - setne byte ptr [rsp + 11] # 1-byte Folded Spill + setne byte ptr [rsp + 12] # 1-byte Folded Spill cmp eax, dword ptr [rdx + 88] mov eax, dword ptr [rsi + 92] - setne byte ptr [rsp + 12] # 1-byte Folded Spill + setne byte ptr [rsp + 13] # 1-byte Folded Spill cmp eax, dword ptr [rdx + 92] mov eax, dword ptr [rsi + 96] setne r9b cmp eax, dword ptr [rdx + 96] mov eax, dword ptr [rsi + 100] - setne byte ptr [rsp + 19] # 1-byte Folded Spill + setne byte ptr [rsp + 20] # 1-byte Folded Spill cmp eax, dword ptr [rdx + 100] mov eax, dword ptr [rsi + 104] - setne byte ptr [rsp + 13] # 1-byte Folded Spill + setne byte ptr [rsp + 14] # 1-byte Folded Spill cmp eax, dword ptr [rdx + 104] mov eax, dword ptr [rsi + 108] - setne byte ptr [rsp + 14] # 1-byte Folded Spill + setne byte ptr [rsp + 15] # 1-byte Folded Spill cmp eax, dword ptr [rdx + 108] mov eax, dword ptr [rsi + 112] - setne byte ptr [rsp + 15] # 1-byte Folded Spill + setne byte ptr [rsp + 16] # 1-byte Folded Spill cmp eax, dword ptr [rdx + 112] mov eax, dword ptr [rsi + 116] - setne byte ptr [rsp + 16] # 1-byte Folded Spill + setne byte ptr [rsp + 17] # 1-byte Folded Spill cmp eax, dword ptr [rdx + 116] mov eax, dword ptr [rsi + 120] - setne byte ptr [rsp + 18] # 1-byte Folded Spill + setne byte ptr [rsp + 19] # 1-byte Folded Spill cmp eax, dword ptr [rdx + 120] mov eax, dword ptr [rsi + 124] - setne byte ptr [rsp + 17] # 1-byte Folded Spill + setne byte ptr [rsp + 18] # 1-byte Folded Spill sub rsi, -128 cmp eax, dword ptr [rdx + 124] - setne dil - movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload + setne cl + movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 40] # 1-byte Folded Reload - mov ecx, eax - movzx eax, byte ptr [rsp + 4] # 1-byte Folded Reload + add al, byte ptr [rsp + 4] # 1-byte Folded Reload + mov ebx, eax + movzx eax, byte ptr [rsp + 5] # 1-byte Folded Reload shl al, 6 shl r13b, 7 or r13b, al - movzx eax, byte ptr [rsp + 20] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 21] # 1-byte Folded Reload shl al, 2 - or al, cl + or al, bl add r8b, r8b - add r8b, byte ptr [rsp + 9] # 1-byte Folded Reload - movzx ecx, byte ptr [rsp + 21] # 1-byte Folded Reload - shl cl, 3 - or cl, al - mov eax, ecx + add r8b, byte ptr [rsp + 10] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 22] # 1-byte Folded Reload + shl bl, 3 + or bl, al + mov eax, ebx shl r11b, 2 or r11b, r8b - movzx ecx, byte ptr [rsp + 22] # 1-byte Folded Reload - shl cl, 4 - or cl, al - mov r8d, ecx + movzx ebx, byte ptr [rsp + 23] # 1-byte Folded Reload + shl bl, 4 + or bl, al + mov r8d, ebx shl r15b, 3 or r15b, r11b - movzx ecx, byte ptr [rsp + 23] # 1-byte Folded Reload - shl cl, 5 - or cl, r8b - movzx eax, byte ptr [rsp + 5] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 3] # 1-byte Folded Reload + shl bl, 5 + or bl, r8b + movzx eax, byte ptr [rsp + 6] # 1-byte Folded Reload shl al, 4 or al, r15b mov r8d, eax - movzx eax, byte ptr [rsp + 6] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 7] # 1-byte Folded Reload shl al, 5 or al, r8b - movzx r8d, byte ptr [rsp + 7] # 1-byte Folded Reload + movzx r8d, byte ptr [rsp + 8] # 1-byte Folded Reload shl r8b, 6 - shl bl, 7 - or bl, r8b - or r13b, cl - or bl, al + shl dil, 7 + or dil, r8b + or r13b, bl + or dil, al add r10b, r10b - add r10b, byte ptr [rsp + 10] # 1-byte Folded Reload + add r10b, byte ptr [rsp + 11] # 1-byte Folded Reload shl r14b, 2 or r14b, r10b shl r12b, 3 or r12b, r14b - movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 9] # 1-byte Folded Reload shl al, 4 or al, r12b - mov ecx, eax - mov r14, qword ptr [rsp + 48] # 8-byte Reload - movzx eax, byte ptr [rsp + 11] # 1-byte Folded Reload + mov ebx, eax + mov r12, qword ptr [rsp + 48] # 8-byte Reload + movzx eax, byte ptr [rsp + 12] # 1-byte Folded Reload shl al, 5 - or al, cl - mov byte ptr [r14], r13b - movzx ecx, byte ptr [rsp + 12] # 1-byte Folded Reload - shl cl, 6 + or al, bl + mov byte ptr [r12], r13b + movzx ebx, byte ptr [rsp + 13] # 1-byte Folded Reload + shl bl, 6 shl r9b, 7 - or r9b, cl - mov byte ptr [r14 + 1], bl + or r9b, bl + mov byte ptr [r12 + 1], dil or r9b, al - movzx eax, byte ptr [rsp + 13] # 1-byte Folded Reload - add al, al - add al, byte ptr [rsp + 19] # 1-byte Folded Reload - mov ecx, eax movzx eax, byte ptr [rsp + 14] # 1-byte Folded Reload - shl al, 2 - or al, cl - mov ecx, eax + add al, al + add al, byte ptr [rsp + 20] # 1-byte Folded Reload + mov ebx, eax movzx eax, byte ptr [rsp + 15] # 1-byte Folded Reload - shl al, 3 - or al, cl - mov ecx, eax + shl al, 2 + or al, bl + mov ebx, eax movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload + shl al, 3 + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 17] # 1-byte Folded Reload shl al, 4 - or al, cl - mov ecx, eax - movzx eax, byte ptr [rsp + 18] # 1-byte Folded Reload + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 19] # 1-byte Folded Reload shl al, 5 - or al, cl - movzx ecx, byte ptr [rsp + 17] # 1-byte Folded Reload - shl cl, 6 - shl dil, 7 - or dil, cl - or dil, al - mov byte ptr [r14 + 2], r9b - mov byte ptr [r14 + 3], dil + or al, bl + movzx ebx, byte ptr [rsp + 18] # 1-byte Folded Reload + shl bl, 6 + shl cl, 7 + or cl, bl + or cl, al + mov byte ptr [r12 + 2], r9b + mov byte ptr [r12 + 3], cl add rdx, 128 - add r14, 4 - add qword ptr [rsp + 56], -1 # 8-byte Folded Spill + add r12, 4 + add qword ptr [rsp + 32], -1 # 8-byte Folded Spill jne .LBB3_96 # %bb.97: - mov r11, qword ptr [rsp + 24] # 8-byte Reload - mov r15, qword ptr [rsp + 64] # 8-byte Reload + mov r14, qword ptr [rsp + 24] # 8-byte Reload + mov r15, qword ptr [rsp + 56] # 8-byte Reload .LBB3_98: shl r15, 5 - cmp r15, r11 + cmp r15, r14 jge .LBB3_123 # %bb.99: - sub r11, r15 + sub r14, r15 xor ecx, ecx .p2align 4, 0x90 .LBB3_100: # =>This Inner Loop Header: Depth=1 @@ -19591,7 +20431,7 @@ comparison_not_equal_arr_arr_avx2: # @comparison_not_equal_arr_arr_avx2 neg bl mov rdi, rcx shr rdi, 3 - movzx r9d, byte ptr [r14 + rdi] + movzx r9d, byte ptr [r12 + rdi] xor bl, r9b and cl, 7 mov al, 1 @@ -19599,9 +20439,9 @@ comparison_not_equal_arr_arr_avx2: # @comparison_not_equal_arr_arr_avx2 shl al, cl and al, bl xor al, r9b - mov byte ptr [r14 + rdi], al + mov byte ptr [r12 + rdi], al mov rcx, r8 - cmp r11, r8 + cmp r14, r8 jne .LBB3_100 .LBB3_123: lea rsp, [rbp - 40] @@ -19662,7 +20502,7 @@ comparison_not_equal_arr_scalar_avx2: # @comparison_not_equal_arr_scalar_avx2 je .LBB4_56 # %bb.4: cmp edi, 6 - jne .LBB4_159 + jne .LBB4_165 # %bb.5: mov r13d, dword ptr [rdx] lea r15, [r10 + 31] @@ -19716,7 +20556,7 @@ comparison_not_equal_arr_scalar_avx2: # @comparison_not_equal_arr_scalar_avx2 cmp dword ptr [rsi], r13d setne byte ptr [rsp + 144] # 1-byte Folded Spill cmp dword ptr [rsi + 4], r13d - setne dil + setne r10b cmp dword ptr [rsi + 8], r13d setne r14b cmp dword ptr [rsi + 12], r13d @@ -19732,11 +20572,11 @@ comparison_not_equal_arr_scalar_avx2: # @comparison_not_equal_arr_scalar_avx2 cmp dword ptr [rsi + 32], r13d setne byte ptr [rsp + 160] # 1-byte Folded Spill cmp dword ptr [rsi + 36], r13d - setne dl + setne dil cmp dword ptr [rsi + 40], r13d - setne r9b + setne r8b cmp dword ptr [rsi + 44], r13d - setne r10b + setne r9b cmp dword ptr [rsi + 48], r13d setne r11b cmp dword ptr [rsi + 52], r13d @@ -19776,67 +20616,68 @@ comparison_not_equal_arr_scalar_avx2: # @comparison_not_equal_arr_scalar_avx2 cmp dword ptr [rsi + 120], r13d setne byte ptr [rsp + 28] # 1-byte Folded Spill cmp dword ptr [rsi + 124], r13d - setne r8b - add dil, dil - add dil, byte ptr [rsp + 144] # 1-byte Folded Reload + setne dl + add r10b, r10b + add r10b, byte ptr [rsp + 144] # 1-byte Folded Reload shl al, 6 shl bl, 7 or bl, al shl r14b, 2 - or r14b, dil - add dl, dl - add dl, byte ptr [rsp + 160] # 1-byte Folded Reload + or r14b, r10b + add dil, dil + add dil, byte ptr [rsp + 160] # 1-byte Folded Reload movzx eax, byte ptr [rsp + 152] # 1-byte Folded Reload shl al, 3 or al, r14b - shl r9b, 2 - or r9b, dl - movzx edx, byte ptr [rsp + 136] # 1-byte Folded Reload - shl dl, 4 - or dl, al - mov edi, edx - shl r10b, 3 - or r10b, r9b - movzx edx, byte ptr [rsp + 96] # 1-byte Folded Reload - shl dl, 5 - or dl, dil + mov r10d, eax + shl r8b, 2 + or r8b, dil + movzx eax, byte ptr [rsp + 136] # 1-byte Folded Reload + shl al, 4 + or al, r10b + mov edi, eax + shl r9b, 3 + or r9b, r8b + movzx eax, byte ptr [rsp + 96] # 1-byte Folded Reload + shl al, 5 + or al, dil shl r11b, 4 - or r11b, r10b + or r11b, r9b shl r12b, 5 or r12b, r11b movzx edi, byte ptr [rsp + 112] # 1-byte Folded Reload shl dil, 6 shl cl, 7 or cl, dil - or bl, dl + or bl, al or cl, r12b - movzx edx, byte ptr [rsp + 120] # 1-byte Folded Reload - add dl, dl - add dl, byte ptr [rsp + 80] # 1-byte Folded Reload - mov edi, edx - movzx edx, byte ptr [rsp + 128] # 1-byte Folded Reload - shl dl, 2 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 72] # 1-byte Folded Reload - shl dl, 3 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 88] # 1-byte Folded Reload - shl dl, 4 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 104] # 1-byte Folded Reload - shl dl, 5 - or dl, dil - mov edi, edx - mov rdx, qword ptr [rsp + 272] # 8-byte Reload - mov byte ptr [rdx], bl + movzx eax, byte ptr [rsp + 120] # 1-byte Folded Reload + add al, al + add al, byte ptr [rsp + 80] # 1-byte Folded Reload + mov edi, eax + movzx eax, byte ptr [rsp + 128] # 1-byte Folded Reload + shl al, 2 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 72] # 1-byte Folded Reload + shl al, 3 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 88] # 1-byte Folded Reload + shl al, 4 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 104] # 1-byte Folded Reload + shl al, 5 + or al, dil + mov edi, eax + mov rax, qword ptr [rsp + 272] # 8-byte Reload + mov byte ptr [rax], bl movzx ebx, byte ptr [rsp + 64] # 1-byte Folded Reload shl bl, 6 shl r15b, 7 or r15b, bl - mov byte ptr [rdx + 1], cl + mov byte ptr [rax + 1], cl or r15b, dil movzx ecx, byte ptr [rsp + 40] # 1-byte Folded Reload add cl, cl @@ -19859,14 +20700,14 @@ comparison_not_equal_arr_scalar_avx2: # @comparison_not_equal_arr_scalar_avx2 or cl, bl movzx ebx, byte ptr [rsp + 28] # 1-byte Folded Reload shl bl, 6 - shl r8b, 7 - or r8b, bl - or r8b, cl - mov byte ptr [rdx + 2], r15b - mov byte ptr [rdx + 3], r8b + shl dl, 7 + or dl, bl + or dl, cl + mov byte ptr [rax + 2], r15b + mov byte ptr [rax + 3], dl add rsi, 128 - add rdx, 4 - mov qword ptr [rsp + 272], rdx # 8-byte Spill + add rax, 4 + mov qword ptr [rsp + 272], rax # 8-byte Spill add qword ptr [rsp + 168], -1 # 8-byte Folded Spill jne .LBB4_11 # %bb.12: @@ -19876,7 +20717,7 @@ comparison_not_equal_arr_scalar_avx2: # @comparison_not_equal_arr_scalar_avx2 shl r15, 5 cmp r15, r10 jl .LBB4_101 - jmp .LBB4_159 + jmp .LBB4_165 .LBB4_13: cmp edi, 8 jle .LBB4_38 @@ -19888,7 +20729,7 @@ comparison_not_equal_arr_scalar_avx2: # @comparison_not_equal_arr_scalar_avx2 je .LBB4_72 # %bb.16: cmp edi, 12 - jne .LBB4_159 + jne .LBB4_165 # %bb.17: lea r15, [r10 + 31] test r10, r10 @@ -19906,7 +20747,9 @@ comparison_not_equal_arr_scalar_avx2: # @comparison_not_equal_arr_scalar_avx2 .LBB4_19: # =>This Inner Loop Header: Depth=1 vucomisd xmm0, qword ptr [rsi] lea rsi, [rsi + 8] + setp cl setne dl + or dl, cl neg dl lea rdi, [rax + 7] test rax, rax @@ -19934,179 +20777,264 @@ comparison_not_equal_arr_scalar_avx2: # @comparison_not_equal_arr_scalar_avx2 jl .LBB4_104 # %bb.22: mov qword ptr [rsp + 280], r10 # 8-byte Spill + mov qword ptr [rsp + 176], r15 # 8-byte Spill mov qword ptr [rsp + 168], r15 # 8-byte Spill - mov qword ptr [rsp + 144], r15 # 8-byte Spill mov qword ptr [rsp + 272], r11 # 8-byte Spill .p2align 4, 0x90 .LBB4_23: # =>This Inner Loop Header: Depth=1 vucomisd xmm0, qword ptr [rsi] - setne byte ptr [rsp + 152] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 32], cl # 1-byte Spill vucomisd xmm0, qword ptr [rsi + 8] - setne r9b + setp al + setne bl + or bl, al vucomisd xmm0, qword ptr [rsi + 16] - setne r14b - vucomisd xmm0, qword ptr [rsi + 24] + setp al setne r13b + or r13b, al + vucomisd xmm0, qword ptr [rsi + 24] + setp al + setne cl + or cl, al + mov byte ptr [rsp + 288], cl # 1-byte Spill vucomisd xmm0, qword ptr [rsi + 32] - setne byte ptr [rsp + 136] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 320], cl # 1-byte Spill vucomisd xmm0, qword ptr [rsi + 40] - setne byte ptr [rsp + 96] # 1-byte Folded Spill + setp al + setne dil + or dil, al vucomisd xmm0, qword ptr [rsi + 48] - setne al + setp al + setne cl + or cl, al + mov byte ptr [rsp + 48], cl # 1-byte Spill vucomisd xmm0, qword ptr [rsi + 56] - setne bl + setp al + setne cl + or cl, al + mov byte ptr [rsp + 28], cl # 1-byte Spill vucomisd xmm0, qword ptr [rsi + 64] - setne byte ptr [rsp + 112] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 56], cl # 1-byte Spill vucomisd xmm0, qword ptr [rsi + 72] - setne dl + setp al + setne cl + or cl, al + mov byte ptr [rsp + 40], cl # 1-byte Spill vucomisd xmm0, qword ptr [rsi + 80] - setne dil + setp al + setne cl + or cl, al + mov byte ptr [rsp + 64], cl # 1-byte Spill vucomisd xmm0, qword ptr [rsi + 88] - setne r10b + setp al + setne cl + or cl, al + mov byte ptr [rsp + 104], cl # 1-byte Spill vucomisd xmm0, qword ptr [rsi + 96] - setne r11b + setp al + setne cl + or cl, al + mov byte ptr [rsp + 96], cl # 1-byte Spill vucomisd xmm0, qword ptr [rsi + 104] - setne r12b + setp al + setne cl + or cl, al + mov byte ptr [rsp + 88], cl # 1-byte Spill vucomisd xmm0, qword ptr [rsi + 112] - setne byte ptr [rsp + 120] # 1-byte Folded Spill + setp al + setne dl + or dl, al vucomisd xmm0, qword ptr [rsi + 120] + setp al setne cl + or cl, al + mov byte ptr [rsp + 80], cl # 1-byte Spill vucomisd xmm0, qword ptr [rsi + 128] - setne byte ptr [rsp + 80] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 72], cl # 1-byte Spill vucomisd xmm0, qword ptr [rsi + 136] - setne byte ptr [rsp + 160] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 136], cl # 1-byte Spill vucomisd xmm0, qword ptr [rsi + 144] - setne byte ptr [rsp + 128] # 1-byte Folded Spill + setp al + setne cl + or cl, al vucomisd xmm0, qword ptr [rsi + 152] - setne byte ptr [rsp + 72] # 1-byte Folded Spill + setp r8b + setne al + or al, r8b + mov byte ptr [rsp + 128], al # 1-byte Spill vucomisd xmm0, qword ptr [rsi + 160] - setne byte ptr [rsp + 88] # 1-byte Folded Spill + setp r8b + setne al + or al, r8b + mov byte ptr [rsp + 120], al # 1-byte Spill vucomisd xmm0, qword ptr [rsi + 168] - setne byte ptr [rsp + 104] # 1-byte Folded Spill + setp r8b + setne al + or al, r8b + mov byte ptr [rsp + 160], al # 1-byte Spill vucomisd xmm0, qword ptr [rsi + 176] - setne byte ptr [rsp + 64] # 1-byte Folded Spill + setp al + setne r12b + or r12b, al vucomisd xmm0, qword ptr [rsi + 184] - setne r15b + setp al + setne r10b + or r10b, al vucomisd xmm0, qword ptr [rsi + 192] - setne byte ptr [rsp + 32] # 1-byte Folded Spill + setp r8b + setne al + or al, r8b + mov byte ptr [rsp + 112], al # 1-byte Spill vucomisd xmm0, qword ptr [rsi + 200] - setne byte ptr [rsp + 40] # 1-byte Folded Spill + setp al + setne r15b + or r15b, al vucomisd xmm0, qword ptr [rsi + 208] - setne byte ptr [rsp + 48] # 1-byte Folded Spill + setp al + setne r14b + or r14b, al vucomisd xmm0, qword ptr [rsi + 216] - setne byte ptr [rsp + 56] # 1-byte Folded Spill + setp al + setne r11b + or r11b, al vucomisd xmm0, qword ptr [rsi + 224] - setne byte ptr [rsp + 288] # 1-byte Folded Spill + setp r8b + setne al + or al, r8b + mov byte ptr [rsp + 152], al # 1-byte Spill vucomisd xmm0, qword ptr [rsi + 232] - setne byte ptr [rsp + 320] # 1-byte Folded Spill + setp r8b + setne al + or al, r8b + mov byte ptr [rsp + 144], al # 1-byte Spill vucomisd xmm0, qword ptr [rsi + 240] - setne byte ptr [rsp + 28] # 1-byte Folded Spill + setp al + setne r9b + or r9b, al vucomisd xmm0, qword ptr [rsi + 248] + setp al setne r8b - add r9b, r9b - add r9b, byte ptr [rsp + 152] # 1-byte Folded Reload + or r8b, al + add bl, bl + add bl, byte ptr [rsp + 32] # 1-byte Folded Reload + shl dil, 5 + movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload shl al, 6 - shl bl, 7 - or bl, al - shl r14b, 2 - or r14b, r9b - add dl, dl - add dl, byte ptr [rsp + 112] # 1-byte Folded Reload - shl r13b, 3 - or r13b, r14b - shl dil, 2 - or dil, dl - movzx edx, byte ptr [rsp + 136] # 1-byte Folded Reload - shl dl, 4 - or dl, r13b - mov r9d, edx - shl r10b, 3 - or r10b, dil - movzx edx, byte ptr [rsp + 96] # 1-byte Folded Reload - shl dl, 5 - or dl, r9b - shl r11b, 4 - or r11b, r10b - shl r12b, 5 - or r12b, r11b - movzx edi, byte ptr [rsp + 120] # 1-byte Folded Reload - shl dil, 6 - shl cl, 7 - or cl, dil - or bl, dl - or cl, r12b - movzx eax, byte ptr [rsp + 160] # 1-byte Folded Reload + or al, dil + mov edi, eax + shl r13b, 2 + or r13b, bl + movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 80] # 1-byte Folded Reload + add al, byte ptr [rsp + 56] # 1-byte Folded Reload + mov ebx, eax + movzx eax, byte ptr [rsp + 28] # 1-byte Folded Reload + shl al, 7 + or al, dil + mov byte ptr [rsp + 28], al # 1-byte Spill + movzx eax, byte ptr [rsp + 64] # 1-byte Folded Reload + shl al, 2 + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 288] # 1-byte Folded Reload + shl al, 3 + or al, r13b + mov r13d, eax + movzx eax, byte ptr [rsp + 104] # 1-byte Folded Reload + shl al, 3 + or al, bl + mov edi, eax + movzx eax, byte ptr [rsp + 320] # 1-byte Folded Reload + shl al, 4 + or al, r13b + movzx ebx, byte ptr [rsp + 96] # 1-byte Folded Reload + shl bl, 4 + or bl, dil + movzx edi, byte ptr [rsp + 88] # 1-byte Folded Reload + shl dil, 5 + shl dl, 6 + or dl, dil + movzx r13d, byte ptr [rsp + 80] # 1-byte Folded Reload + shl r13b, 7 + or r13b, dl + movzx edx, byte ptr [rsp + 136] # 1-byte Folded Reload + add dl, dl + add dl, byte ptr [rsp + 72] # 1-byte Folded Reload + shl cl, 2 + or cl, dl movzx edx, byte ptr [rsp + 128] # 1-byte Folded Reload - shl dl, 2 - or dl, al - mov edi, edx - movzx edx, byte ptr [rsp + 72] # 1-byte Folded Reload shl dl, 3 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 88] # 1-byte Folded Reload + or dl, cl + mov ecx, edx + movzx edx, byte ptr [rsp + 120] # 1-byte Folded Reload shl dl, 4 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 104] # 1-byte Folded Reload + or dl, cl + movzx ecx, byte ptr [rsp + 28] # 1-byte Folded Reload + or cl, al + movzx eax, byte ptr [rsp + 160] # 1-byte Folded Reload + shl al, 5 + shl r12b, 6 + or r12b, al + or r13b, bl + shl r10b, 7 + or r10b, r12b + or r10b, dl + add r15b, r15b + add r15b, byte ptr [rsp + 112] # 1-byte Folded Reload + shl r14b, 2 + or r14b, r15b + shl r11b, 3 + or r11b, r14b + movzx eax, byte ptr [rsp + 152] # 1-byte Folded Reload + shl al, 4 + or al, r11b + mov ebx, eax + mov rax, qword ptr [rsp + 272] # 8-byte Reload + mov byte ptr [rax], cl + movzx edx, byte ptr [rsp + 144] # 1-byte Folded Reload shl dl, 5 - or dl, dil - mov edi, edx - mov rdx, qword ptr [rsp + 272] # 8-byte Reload - mov byte ptr [rdx], bl - movzx ebx, byte ptr [rsp + 64] # 1-byte Folded Reload - shl bl, 6 - shl r15b, 7 - or r15b, bl - mov byte ptr [rdx + 1], cl - or r15b, dil - movzx ecx, byte ptr [rsp + 40] # 1-byte Folded Reload - add cl, cl - add cl, byte ptr [rsp + 32] # 1-byte Folded Reload - mov ebx, ecx - movzx ecx, byte ptr [rsp + 48] # 1-byte Folded Reload - shl cl, 2 - or cl, bl - mov ebx, ecx - movzx ecx, byte ptr [rsp + 56] # 1-byte Folded Reload - shl cl, 3 - or cl, bl - mov ebx, ecx - movzx ecx, byte ptr [rsp + 288] # 1-byte Folded Reload - shl cl, 4 - or cl, bl - mov ebx, ecx - movzx ecx, byte ptr [rsp + 320] # 1-byte Folded Reload - shl cl, 5 - or cl, bl - movzx ebx, byte ptr [rsp + 28] # 1-byte Folded Reload - shl bl, 6 + shl r9b, 6 + or r9b, dl + mov byte ptr [rax + 1], r13b shl r8b, 7 + or r8b, r9b or r8b, bl - or r8b, cl - mov byte ptr [rdx + 2], r15b - mov byte ptr [rdx + 3], r8b + mov byte ptr [rax + 2], r10b + mov byte ptr [rax + 3], r8b add rsi, 256 - add rdx, 4 - mov qword ptr [rsp + 272], rdx # 8-byte Spill - add qword ptr [rsp + 144], -1 # 8-byte Folded Spill + add rax, 4 + mov qword ptr [rsp + 272], rax # 8-byte Spill + add qword ptr [rsp + 168], -1 # 8-byte Folded Spill jne .LBB4_23 # %bb.24: mov r14, qword ptr [rsp + 272] # 8-byte Reload mov r10, qword ptr [rsp + 280] # 8-byte Reload - mov r15, qword ptr [rsp + 168] # 8-byte Reload + mov r15, qword ptr [rsp + 176] # 8-byte Reload shl r15, 5 cmp r15, r10 jl .LBB4_105 - jmp .LBB4_159 + jmp .LBB4_165 .LBB4_25: cmp edi, 2 je .LBB4_80 # %bb.26: cmp edi, 3 - jne .LBB4_159 + jne .LBB4_165 # %bb.27: mov r14b, byte ptr [rdx] lea r15, [r10 + 31] @@ -20161,12 +21089,12 @@ comparison_not_equal_arr_scalar_avx2: # @comparison_not_equal_arr_scalar_avx2 shl rax, 5 add rax, rsi cmp r13, rax - jae .LBB4_165 + jae .LBB4_166 # %bb.33: lea rax, [4*r15] add rax, r13 cmp rsi, rax - jae .LBB4_165 + jae .LBB4_166 .LBB4_34: xor eax, eax mov qword ptr [rsp + 384], rax # 8-byte Spill @@ -20350,7 +21278,7 @@ comparison_not_equal_arr_scalar_avx2: # @comparison_not_equal_arr_scalar_avx2 je .LBB4_92 # %bb.39: cmp edi, 8 - jne .LBB4_159 + jne .LBB4_165 # %bb.40: mov r13, qword ptr [rdx] lea r15, [r10 + 31] @@ -20404,7 +21332,7 @@ comparison_not_equal_arr_scalar_avx2: # @comparison_not_equal_arr_scalar_avx2 cmp qword ptr [rsi], r13 setne byte ptr [rsp + 144] # 1-byte Folded Spill cmp qword ptr [rsi + 8], r13 - setne dil + setne r10b cmp qword ptr [rsi + 16], r13 setne r14b cmp qword ptr [rsi + 24], r13 @@ -20420,11 +21348,11 @@ comparison_not_equal_arr_scalar_avx2: # @comparison_not_equal_arr_scalar_avx2 cmp qword ptr [rsi + 64], r13 setne byte ptr [rsp + 160] # 1-byte Folded Spill cmp qword ptr [rsi + 72], r13 - setne dl + setne dil cmp qword ptr [rsi + 80], r13 - setne r9b + setne r8b cmp qword ptr [rsi + 88], r13 - setne r10b + setne r9b cmp qword ptr [rsi + 96], r13 setne r11b cmp qword ptr [rsi + 104], r13 @@ -20464,32 +21392,33 @@ comparison_not_equal_arr_scalar_avx2: # @comparison_not_equal_arr_scalar_avx2 cmp qword ptr [rsi + 240], r13 setne byte ptr [rsp + 28] # 1-byte Folded Spill cmp qword ptr [rsi + 248], r13 - setne r8b - add dil, dil - add dil, byte ptr [rsp + 144] # 1-byte Folded Reload + setne dl + add r10b, r10b + add r10b, byte ptr [rsp + 144] # 1-byte Folded Reload shl al, 6 shl bl, 7 or bl, al shl r14b, 2 - or r14b, dil - add dl, dl - add dl, byte ptr [rsp + 160] # 1-byte Folded Reload + or r14b, r10b + add dil, dil + add dil, byte ptr [rsp + 160] # 1-byte Folded Reload movzx eax, byte ptr [rsp + 152] # 1-byte Folded Reload shl al, 3 or al, r14b - shl r9b, 2 - or r9b, dl - movzx edx, byte ptr [rsp + 136] # 1-byte Folded Reload - shl dl, 4 - or dl, al - mov edi, edx - shl r10b, 3 - or r10b, r9b - movzx edx, byte ptr [rsp + 96] # 1-byte Folded Reload - shl dl, 5 - or dl, dil + mov r10d, eax + shl r8b, 2 + or r8b, dil + movzx eax, byte ptr [rsp + 136] # 1-byte Folded Reload + shl al, 4 + or al, r10b + mov edi, eax + shl r9b, 3 + or r9b, r8b + movzx eax, byte ptr [rsp + 96] # 1-byte Folded Reload + shl al, 5 + or al, dil shl r11b, 4 - or r11b, r10b + or r11b, r9b shl r12b, 5 or r12b, r11b mov r11, qword ptr [rsp + 272] # 8-byte Reload @@ -20497,60 +21426,60 @@ comparison_not_equal_arr_scalar_avx2: # @comparison_not_equal_arr_scalar_avx2 shl dil, 6 shl cl, 7 or cl, dil - or bl, dl + or bl, al or cl, r12b - movzx edx, byte ptr [rsp + 120] # 1-byte Folded Reload - add dl, dl - add dl, byte ptr [rsp + 80] # 1-byte Folded Reload - mov edi, edx - movzx edx, byte ptr [rsp + 128] # 1-byte Folded Reload - shl dl, 2 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 72] # 1-byte Folded Reload - shl dl, 3 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 88] # 1-byte Folded Reload - shl dl, 4 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 104] # 1-byte Folded Reload - shl dl, 5 - or dl, dil + movzx eax, byte ptr [rsp + 120] # 1-byte Folded Reload + add al, al + add al, byte ptr [rsp + 80] # 1-byte Folded Reload + mov edi, eax + movzx eax, byte ptr [rsp + 128] # 1-byte Folded Reload + shl al, 2 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 72] # 1-byte Folded Reload + shl al, 3 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 88] # 1-byte Folded Reload + shl al, 4 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 104] # 1-byte Folded Reload + shl al, 5 + or al, dil mov byte ptr [r11], bl movzx ebx, byte ptr [rsp + 64] # 1-byte Folded Reload shl bl, 6 shl r15b, 7 or r15b, bl mov byte ptr [r11 + 1], cl - or r15b, dl - movzx ecx, byte ptr [rsp + 40] # 1-byte Folded Reload - add cl, cl - add cl, byte ptr [rsp + 32] # 1-byte Folded Reload - mov edx, ecx - movzx ecx, byte ptr [rsp + 48] # 1-byte Folded Reload - shl cl, 2 - or cl, dl - mov edx, ecx - movzx ecx, byte ptr [rsp + 56] # 1-byte Folded Reload - shl cl, 3 - or cl, dl - mov edx, ecx - movzx ecx, byte ptr [rsp + 288] # 1-byte Folded Reload - shl cl, 4 - or cl, dl - mov edx, ecx - movzx ecx, byte ptr [rsp + 320] # 1-byte Folded Reload - shl cl, 5 - or cl, dl - movzx edx, byte ptr [rsp + 28] # 1-byte Folded Reload - shl dl, 6 - shl r8b, 7 - or r8b, dl - or r8b, cl + or r15b, al + movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload + add al, al + add al, byte ptr [rsp + 32] # 1-byte Folded Reload + mov ecx, eax + movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload + shl al, 2 + or al, cl + mov ecx, eax + movzx eax, byte ptr [rsp + 56] # 1-byte Folded Reload + shl al, 3 + or al, cl + mov ecx, eax + movzx eax, byte ptr [rsp + 288] # 1-byte Folded Reload + shl al, 4 + or al, cl + mov ecx, eax + movzx eax, byte ptr [rsp + 320] # 1-byte Folded Reload + shl al, 5 + or al, cl + movzx ecx, byte ptr [rsp + 28] # 1-byte Folded Reload + shl cl, 6 + shl dl, 7 + or dl, cl + or dl, al mov byte ptr [r11 + 2], r15b - mov byte ptr [r11 + 3], r8b + mov byte ptr [r11 + 3], dl add rsi, 256 add r11, 4 add qword ptr [rsp + 168], -1 # 8-byte Folded Spill @@ -20562,7 +21491,7 @@ comparison_not_equal_arr_scalar_avx2: # @comparison_not_equal_arr_scalar_avx2 shl r15, 5 cmp r15, r10 jl .LBB4_108 - jmp .LBB4_159 + jmp .LBB4_165 .LBB4_48: movzx r13d, word ptr [rdx] lea r15, [r10 + 31] @@ -20616,7 +21545,7 @@ comparison_not_equal_arr_scalar_avx2: # @comparison_not_equal_arr_scalar_avx2 cmp word ptr [rsi], r13w setne al cmp word ptr [rsi + 2], r13w - setne dil + setne r10b cmp word ptr [rsi + 4], r13w setne r14b cmp word ptr [rsi + 6], r13w @@ -20632,11 +21561,11 @@ comparison_not_equal_arr_scalar_avx2: # @comparison_not_equal_arr_scalar_avx2 cmp word ptr [rsi + 16], r13w setne byte ptr [rsp + 160] # 1-byte Folded Spill cmp word ptr [rsi + 18], r13w - setne dl + setne dil cmp word ptr [rsi + 20], r13w - setne r9b + setne r8b cmp word ptr [rsi + 22], r13w - setne r10b + setne r9b cmp word ptr [rsi + 24], r13w setne r11b cmp word ptr [rsi + 26], r13w @@ -20676,68 +21605,69 @@ comparison_not_equal_arr_scalar_avx2: # @comparison_not_equal_arr_scalar_avx2 cmp word ptr [rsi + 60], r13w setne byte ptr [rsp + 28] # 1-byte Folded Spill cmp word ptr [rsi + 62], r13w - setne r8b - add dil, dil - or dil, al + setne dl + add r10b, r10b + or r10b, al movzx eax, byte ptr [rsp + 144] # 1-byte Folded Reload shl al, 6 shl bl, 7 or bl, al shl r14b, 2 - or r14b, dil - add dl, dl - add dl, byte ptr [rsp + 160] # 1-byte Folded Reload + or r14b, r10b + add dil, dil + add dil, byte ptr [rsp + 160] # 1-byte Folded Reload movzx eax, byte ptr [rsp + 152] # 1-byte Folded Reload shl al, 3 or al, r14b - shl r9b, 2 - or r9b, dl - movzx edx, byte ptr [rsp + 136] # 1-byte Folded Reload - shl dl, 4 - or dl, al - mov edi, edx - shl r10b, 3 - or r10b, r9b - movzx edx, byte ptr [rsp + 96] # 1-byte Folded Reload - shl dl, 5 - or dl, dil + mov r10d, eax + shl r8b, 2 + or r8b, dil + movzx eax, byte ptr [rsp + 136] # 1-byte Folded Reload + shl al, 4 + or al, r10b + mov edi, eax + shl r9b, 3 + or r9b, r8b + movzx eax, byte ptr [rsp + 96] # 1-byte Folded Reload + shl al, 5 + or al, dil shl r11b, 4 - or r11b, r10b + or r11b, r9b shl r12b, 5 or r12b, r11b movzx edi, byte ptr [rsp + 112] # 1-byte Folded Reload shl dil, 6 shl cl, 7 or cl, dil - or bl, dl + or bl, al or cl, r12b - movzx edx, byte ptr [rsp + 120] # 1-byte Folded Reload - add dl, dl - add dl, byte ptr [rsp + 80] # 1-byte Folded Reload - mov edi, edx - movzx edx, byte ptr [rsp + 128] # 1-byte Folded Reload - shl dl, 2 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 72] # 1-byte Folded Reload - shl dl, 3 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 88] # 1-byte Folded Reload - shl dl, 4 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 104] # 1-byte Folded Reload - shl dl, 5 - or dl, dil - mov edi, edx - mov rdx, qword ptr [rsp + 272] # 8-byte Reload - mov byte ptr [rdx], bl + movzx eax, byte ptr [rsp + 120] # 1-byte Folded Reload + add al, al + add al, byte ptr [rsp + 80] # 1-byte Folded Reload + mov edi, eax + movzx eax, byte ptr [rsp + 128] # 1-byte Folded Reload + shl al, 2 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 72] # 1-byte Folded Reload + shl al, 3 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 88] # 1-byte Folded Reload + shl al, 4 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 104] # 1-byte Folded Reload + shl al, 5 + or al, dil + mov edi, eax + mov rax, qword ptr [rsp + 272] # 8-byte Reload + mov byte ptr [rax], bl movzx ebx, byte ptr [rsp + 64] # 1-byte Folded Reload shl bl, 6 shl r15b, 7 or r15b, bl - mov byte ptr [rdx + 1], cl + mov byte ptr [rax + 1], cl or r15b, dil movzx ecx, byte ptr [rsp + 40] # 1-byte Folded Reload add cl, cl @@ -20760,14 +21690,14 @@ comparison_not_equal_arr_scalar_avx2: # @comparison_not_equal_arr_scalar_avx2 or cl, bl movzx ebx, byte ptr [rsp + 28] # 1-byte Folded Reload shl bl, 6 - shl r8b, 7 - or r8b, bl - or r8b, cl - mov byte ptr [rdx + 2], r15b - mov byte ptr [rdx + 3], r8b + shl dl, 7 + or dl, bl + or dl, cl + mov byte ptr [rax + 2], r15b + mov byte ptr [rax + 3], dl add rsi, 64 - add rdx, 4 - mov qword ptr [rsp + 272], rdx # 8-byte Spill + add rax, 4 + mov qword ptr [rsp + 272], rax # 8-byte Spill add qword ptr [rsp + 168], -1 # 8-byte Folded Spill jne .LBB4_54 # %bb.55: @@ -20777,7 +21707,7 @@ comparison_not_equal_arr_scalar_avx2: # @comparison_not_equal_arr_scalar_avx2 shl r15, 5 cmp r15, r10 jl .LBB4_112 - jmp .LBB4_159 + jmp .LBB4_165 .LBB4_56: movzx r13d, word ptr [rdx] lea r15, [r10 + 31] @@ -20831,7 +21761,7 @@ comparison_not_equal_arr_scalar_avx2: # @comparison_not_equal_arr_scalar_avx2 cmp word ptr [rsi], r13w setne byte ptr [rsp + 144] # 1-byte Folded Spill cmp word ptr [rsi + 2], r13w - setne dil + setne r10b cmp word ptr [rsi + 4], r13w setne r14b cmp word ptr [rsi + 6], r13w @@ -20847,11 +21777,11 @@ comparison_not_equal_arr_scalar_avx2: # @comparison_not_equal_arr_scalar_avx2 cmp word ptr [rsi + 16], r13w setne byte ptr [rsp + 160] # 1-byte Folded Spill cmp word ptr [rsi + 18], r13w - setne dl + setne dil cmp word ptr [rsi + 20], r13w - setne r9b + setne r8b cmp word ptr [rsi + 22], r13w - setne r10b + setne r9b cmp word ptr [rsi + 24], r13w setne r11b cmp word ptr [rsi + 26], r13w @@ -20891,67 +21821,68 @@ comparison_not_equal_arr_scalar_avx2: # @comparison_not_equal_arr_scalar_avx2 cmp word ptr [rsi + 60], r13w setne byte ptr [rsp + 28] # 1-byte Folded Spill cmp word ptr [rsi + 62], r13w - setne r8b - add dil, dil - add dil, byte ptr [rsp + 144] # 1-byte Folded Reload + setne dl + add r10b, r10b + add r10b, byte ptr [rsp + 144] # 1-byte Folded Reload shl al, 6 shl bl, 7 or bl, al shl r14b, 2 - or r14b, dil - add dl, dl - add dl, byte ptr [rsp + 160] # 1-byte Folded Reload + or r14b, r10b + add dil, dil + add dil, byte ptr [rsp + 160] # 1-byte Folded Reload movzx eax, byte ptr [rsp + 152] # 1-byte Folded Reload shl al, 3 or al, r14b - shl r9b, 2 - or r9b, dl - movzx edx, byte ptr [rsp + 136] # 1-byte Folded Reload - shl dl, 4 - or dl, al - mov edi, edx - shl r10b, 3 - or r10b, r9b - movzx edx, byte ptr [rsp + 96] # 1-byte Folded Reload - shl dl, 5 - or dl, dil + mov r10d, eax + shl r8b, 2 + or r8b, dil + movzx eax, byte ptr [rsp + 136] # 1-byte Folded Reload + shl al, 4 + or al, r10b + mov edi, eax + shl r9b, 3 + or r9b, r8b + movzx eax, byte ptr [rsp + 96] # 1-byte Folded Reload + shl al, 5 + or al, dil shl r11b, 4 - or r11b, r10b + or r11b, r9b shl r12b, 5 or r12b, r11b movzx edi, byte ptr [rsp + 112] # 1-byte Folded Reload shl dil, 6 shl cl, 7 or cl, dil - or bl, dl + or bl, al or cl, r12b - movzx edx, byte ptr [rsp + 120] # 1-byte Folded Reload - add dl, dl - add dl, byte ptr [rsp + 80] # 1-byte Folded Reload - mov edi, edx - movzx edx, byte ptr [rsp + 128] # 1-byte Folded Reload - shl dl, 2 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 72] # 1-byte Folded Reload - shl dl, 3 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 88] # 1-byte Folded Reload - shl dl, 4 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 104] # 1-byte Folded Reload - shl dl, 5 - or dl, dil - mov edi, edx - mov rdx, qword ptr [rsp + 272] # 8-byte Reload - mov byte ptr [rdx], bl + movzx eax, byte ptr [rsp + 120] # 1-byte Folded Reload + add al, al + add al, byte ptr [rsp + 80] # 1-byte Folded Reload + mov edi, eax + movzx eax, byte ptr [rsp + 128] # 1-byte Folded Reload + shl al, 2 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 72] # 1-byte Folded Reload + shl al, 3 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 88] # 1-byte Folded Reload + shl al, 4 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 104] # 1-byte Folded Reload + shl al, 5 + or al, dil + mov edi, eax + mov rax, qword ptr [rsp + 272] # 8-byte Reload + mov byte ptr [rax], bl movzx ebx, byte ptr [rsp + 64] # 1-byte Folded Reload shl bl, 6 shl r15b, 7 or r15b, bl - mov byte ptr [rdx + 1], cl + mov byte ptr [rax + 1], cl or r15b, dil movzx ecx, byte ptr [rsp + 40] # 1-byte Folded Reload add cl, cl @@ -20974,14 +21905,14 @@ comparison_not_equal_arr_scalar_avx2: # @comparison_not_equal_arr_scalar_avx2 or cl, bl movzx ebx, byte ptr [rsp + 28] # 1-byte Folded Reload shl bl, 6 - shl r8b, 7 - or r8b, bl - or r8b, cl - mov byte ptr [rdx + 2], r15b - mov byte ptr [rdx + 3], r8b + shl dl, 7 + or dl, bl + or dl, cl + mov byte ptr [rax + 2], r15b + mov byte ptr [rax + 3], dl add rsi, 64 - add rdx, 4 - mov qword ptr [rsp + 272], rdx # 8-byte Spill + add rax, 4 + mov qword ptr [rsp + 272], rax # 8-byte Spill add qword ptr [rsp + 168], -1 # 8-byte Folded Spill jne .LBB4_62 # %bb.63: @@ -20991,7 +21922,7 @@ comparison_not_equal_arr_scalar_avx2: # @comparison_not_equal_arr_scalar_avx2 shl r15, 5 cmp r15, r10 jl .LBB4_116 - jmp .LBB4_159 + jmp .LBB4_165 .LBB4_64: mov r13, qword ptr [rdx] lea r15, [r10 + 31] @@ -21045,7 +21976,7 @@ comparison_not_equal_arr_scalar_avx2: # @comparison_not_equal_arr_scalar_avx2 cmp qword ptr [rsi], r13 setne byte ptr [rsp + 144] # 1-byte Folded Spill cmp qword ptr [rsi + 8], r13 - setne dil + setne r10b cmp qword ptr [rsi + 16], r13 setne r14b cmp qword ptr [rsi + 24], r13 @@ -21061,11 +21992,11 @@ comparison_not_equal_arr_scalar_avx2: # @comparison_not_equal_arr_scalar_avx2 cmp qword ptr [rsi + 64], r13 setne byte ptr [rsp + 160] # 1-byte Folded Spill cmp qword ptr [rsi + 72], r13 - setne dl + setne dil cmp qword ptr [rsi + 80], r13 - setne r9b + setne r8b cmp qword ptr [rsi + 88], r13 - setne r10b + setne r9b cmp qword ptr [rsi + 96], r13 setne r11b cmp qword ptr [rsi + 104], r13 @@ -21105,67 +22036,68 @@ comparison_not_equal_arr_scalar_avx2: # @comparison_not_equal_arr_scalar_avx2 cmp qword ptr [rsi + 240], r13 setne byte ptr [rsp + 28] # 1-byte Folded Spill cmp qword ptr [rsi + 248], r13 - setne r8b - add dil, dil - add dil, byte ptr [rsp + 144] # 1-byte Folded Reload + setne dl + add r10b, r10b + add r10b, byte ptr [rsp + 144] # 1-byte Folded Reload shl al, 6 shl bl, 7 or bl, al shl r14b, 2 - or r14b, dil - add dl, dl - add dl, byte ptr [rsp + 160] # 1-byte Folded Reload + or r14b, r10b + add dil, dil + add dil, byte ptr [rsp + 160] # 1-byte Folded Reload movzx eax, byte ptr [rsp + 152] # 1-byte Folded Reload shl al, 3 or al, r14b - shl r9b, 2 - or r9b, dl - movzx edx, byte ptr [rsp + 136] # 1-byte Folded Reload - shl dl, 4 - or dl, al - mov edi, edx - shl r10b, 3 - or r10b, r9b - movzx edx, byte ptr [rsp + 96] # 1-byte Folded Reload - shl dl, 5 - or dl, dil + mov r10d, eax + shl r8b, 2 + or r8b, dil + movzx eax, byte ptr [rsp + 136] # 1-byte Folded Reload + shl al, 4 + or al, r10b + mov edi, eax + shl r9b, 3 + or r9b, r8b + movzx eax, byte ptr [rsp + 96] # 1-byte Folded Reload + shl al, 5 + or al, dil shl r11b, 4 - or r11b, r10b + or r11b, r9b shl r12b, 5 or r12b, r11b movzx edi, byte ptr [rsp + 112] # 1-byte Folded Reload shl dil, 6 shl cl, 7 or cl, dil - or bl, dl + or bl, al or cl, r12b - movzx edx, byte ptr [rsp + 120] # 1-byte Folded Reload - add dl, dl - add dl, byte ptr [rsp + 80] # 1-byte Folded Reload - mov edi, edx - movzx edx, byte ptr [rsp + 128] # 1-byte Folded Reload - shl dl, 2 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 72] # 1-byte Folded Reload - shl dl, 3 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 88] # 1-byte Folded Reload - shl dl, 4 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 104] # 1-byte Folded Reload - shl dl, 5 - or dl, dil - mov edi, edx - mov rdx, qword ptr [rsp + 272] # 8-byte Reload - mov byte ptr [rdx], bl + movzx eax, byte ptr [rsp + 120] # 1-byte Folded Reload + add al, al + add al, byte ptr [rsp + 80] # 1-byte Folded Reload + mov edi, eax + movzx eax, byte ptr [rsp + 128] # 1-byte Folded Reload + shl al, 2 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 72] # 1-byte Folded Reload + shl al, 3 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 88] # 1-byte Folded Reload + shl al, 4 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 104] # 1-byte Folded Reload + shl al, 5 + or al, dil + mov edi, eax + mov rax, qword ptr [rsp + 272] # 8-byte Reload + mov byte ptr [rax], bl movzx ebx, byte ptr [rsp + 64] # 1-byte Folded Reload shl bl, 6 shl r15b, 7 or r15b, bl - mov byte ptr [rdx + 1], cl + mov byte ptr [rax + 1], cl or r15b, dil movzx ecx, byte ptr [rsp + 40] # 1-byte Folded Reload add cl, cl @@ -21188,14 +22120,14 @@ comparison_not_equal_arr_scalar_avx2: # @comparison_not_equal_arr_scalar_avx2 or cl, bl movzx ebx, byte ptr [rsp + 28] # 1-byte Folded Reload shl bl, 6 - shl r8b, 7 - or r8b, bl - or r8b, cl - mov byte ptr [rdx + 2], r15b - mov byte ptr [rdx + 3], r8b + shl dl, 7 + or dl, bl + or dl, cl + mov byte ptr [rax + 2], r15b + mov byte ptr [rax + 3], dl add rsi, 256 - add rdx, 4 - mov qword ptr [rsp + 272], rdx # 8-byte Spill + add rax, 4 + mov qword ptr [rsp + 272], rax # 8-byte Spill add qword ptr [rsp + 168], -1 # 8-byte Folded Spill jne .LBB4_70 # %bb.71: @@ -21205,7 +22137,7 @@ comparison_not_equal_arr_scalar_avx2: # @comparison_not_equal_arr_scalar_avx2 shl r15, 5 cmp r15, r10 jl .LBB4_119 - jmp .LBB4_159 + jmp .LBB4_165 .LBB4_72: lea r15, [r10 + 31] test r10, r10 @@ -21223,7 +22155,9 @@ comparison_not_equal_arr_scalar_avx2: # @comparison_not_equal_arr_scalar_avx2 .LBB4_74: # =>This Inner Loop Header: Depth=1 vucomiss xmm0, dword ptr [rsi] lea rsi, [rsi + 4] + setp cl setne dl + or dl, cl neg dl lea rdi, [rax + 7] test rax, rax @@ -21251,173 +22185,258 @@ comparison_not_equal_arr_scalar_avx2: # @comparison_not_equal_arr_scalar_avx2 jl .LBB4_121 # %bb.77: mov qword ptr [rsp + 280], r10 # 8-byte Spill + mov qword ptr [rsp + 176], r15 # 8-byte Spill mov qword ptr [rsp + 168], r15 # 8-byte Spill - mov qword ptr [rsp + 144], r15 # 8-byte Spill mov qword ptr [rsp + 272], r11 # 8-byte Spill .p2align 4, 0x90 .LBB4_78: # =>This Inner Loop Header: Depth=1 vucomiss xmm0, dword ptr [rsi] - setne byte ptr [rsp + 152] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 32], cl # 1-byte Spill vucomiss xmm0, dword ptr [rsi + 4] - setne r9b + setp al + setne bl + or bl, al vucomiss xmm0, dword ptr [rsi + 8] - setne r14b - vucomiss xmm0, dword ptr [rsi + 12] + setp al setne r13b + or r13b, al + vucomiss xmm0, dword ptr [rsi + 12] + setp al + setne cl + or cl, al + mov byte ptr [rsp + 288], cl # 1-byte Spill vucomiss xmm0, dword ptr [rsi + 16] - setne byte ptr [rsp + 136] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 320], cl # 1-byte Spill vucomiss xmm0, dword ptr [rsi + 20] - setne byte ptr [rsp + 96] # 1-byte Folded Spill + setp al + setne dil + or dil, al vucomiss xmm0, dword ptr [rsi + 24] - setne al + setp al + setne cl + or cl, al + mov byte ptr [rsp + 48], cl # 1-byte Spill vucomiss xmm0, dword ptr [rsi + 28] - setne bl + setp al + setne cl + or cl, al + mov byte ptr [rsp + 28], cl # 1-byte Spill vucomiss xmm0, dword ptr [rsi + 32] - setne byte ptr [rsp + 112] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 56], cl # 1-byte Spill vucomiss xmm0, dword ptr [rsi + 36] - setne dl + setp al + setne cl + or cl, al + mov byte ptr [rsp + 40], cl # 1-byte Spill vucomiss xmm0, dword ptr [rsi + 40] - setne dil + setp al + setne cl + or cl, al + mov byte ptr [rsp + 64], cl # 1-byte Spill vucomiss xmm0, dword ptr [rsi + 44] - setne r10b + setp al + setne cl + or cl, al + mov byte ptr [rsp + 104], cl # 1-byte Spill vucomiss xmm0, dword ptr [rsi + 48] - setne r11b + setp al + setne cl + or cl, al + mov byte ptr [rsp + 96], cl # 1-byte Spill vucomiss xmm0, dword ptr [rsi + 52] - setne r12b + setp al + setne cl + or cl, al + mov byte ptr [rsp + 88], cl # 1-byte Spill vucomiss xmm0, dword ptr [rsi + 56] - setne byte ptr [rsp + 120] # 1-byte Folded Spill + setp al + setne dl + or dl, al vucomiss xmm0, dword ptr [rsi + 60] + setp al setne cl + or cl, al + mov byte ptr [rsp + 80], cl # 1-byte Spill vucomiss xmm0, dword ptr [rsi + 64] - setne byte ptr [rsp + 80] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 72], cl # 1-byte Spill vucomiss xmm0, dword ptr [rsi + 68] - setne byte ptr [rsp + 160] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 136], cl # 1-byte Spill vucomiss xmm0, dword ptr [rsi + 72] - setne byte ptr [rsp + 128] # 1-byte Folded Spill + setp al + setne cl + or cl, al vucomiss xmm0, dword ptr [rsi + 76] - setne byte ptr [rsp + 72] # 1-byte Folded Spill + setp r8b + setne al + or al, r8b + mov byte ptr [rsp + 128], al # 1-byte Spill vucomiss xmm0, dword ptr [rsi + 80] - setne byte ptr [rsp + 88] # 1-byte Folded Spill + setp r8b + setne al + or al, r8b + mov byte ptr [rsp + 120], al # 1-byte Spill vucomiss xmm0, dword ptr [rsi + 84] - setne byte ptr [rsp + 104] # 1-byte Folded Spill + setp r8b + setne al + or al, r8b + mov byte ptr [rsp + 160], al # 1-byte Spill vucomiss xmm0, dword ptr [rsi + 88] - setne byte ptr [rsp + 64] # 1-byte Folded Spill + setp al + setne r12b + or r12b, al vucomiss xmm0, dword ptr [rsi + 92] - setne r15b + setp al + setne r10b + or r10b, al vucomiss xmm0, dword ptr [rsi + 96] - setne byte ptr [rsp + 32] # 1-byte Folded Spill + setp r8b + setne al + or al, r8b + mov byte ptr [rsp + 112], al # 1-byte Spill vucomiss xmm0, dword ptr [rsi + 100] - setne byte ptr [rsp + 40] # 1-byte Folded Spill + setp al + setne r15b + or r15b, al vucomiss xmm0, dword ptr [rsi + 104] - setne byte ptr [rsp + 48] # 1-byte Folded Spill + setp al + setne r14b + or r14b, al vucomiss xmm0, dword ptr [rsi + 108] - setne byte ptr [rsp + 56] # 1-byte Folded Spill + setp al + setne r11b + or r11b, al vucomiss xmm0, dword ptr [rsi + 112] - setne byte ptr [rsp + 288] # 1-byte Folded Spill + setp r8b + setne al + or al, r8b + mov byte ptr [rsp + 152], al # 1-byte Spill vucomiss xmm0, dword ptr [rsi + 116] - setne byte ptr [rsp + 320] # 1-byte Folded Spill + setp r8b + setne al + or al, r8b + mov byte ptr [rsp + 144], al # 1-byte Spill vucomiss xmm0, dword ptr [rsi + 120] - setne byte ptr [rsp + 28] # 1-byte Folded Spill + setp al + setne r9b + or r9b, al vucomiss xmm0, dword ptr [rsi + 124] + setp al setne r8b - add r9b, r9b - add r9b, byte ptr [rsp + 152] # 1-byte Folded Reload + or r8b, al + add bl, bl + add bl, byte ptr [rsp + 32] # 1-byte Folded Reload + shl dil, 5 + movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload shl al, 6 - shl bl, 7 - or bl, al - shl r14b, 2 - or r14b, r9b - add dl, dl - add dl, byte ptr [rsp + 112] # 1-byte Folded Reload - shl r13b, 3 - or r13b, r14b - shl dil, 2 - or dil, dl - movzx edx, byte ptr [rsp + 136] # 1-byte Folded Reload - shl dl, 4 - or dl, r13b - mov r9d, edx - shl r10b, 3 - or r10b, dil - movzx edx, byte ptr [rsp + 96] # 1-byte Folded Reload - shl dl, 5 - or dl, r9b - shl r11b, 4 - or r11b, r10b - shl r12b, 5 - or r12b, r11b - movzx edi, byte ptr [rsp + 120] # 1-byte Folded Reload - shl dil, 6 - shl cl, 7 - or cl, dil - or bl, dl - or cl, r12b - movzx eax, byte ptr [rsp + 160] # 1-byte Folded Reload + or al, dil + mov edi, eax + shl r13b, 2 + or r13b, bl + movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 80] # 1-byte Folded Reload + add al, byte ptr [rsp + 56] # 1-byte Folded Reload + mov ebx, eax + movzx eax, byte ptr [rsp + 28] # 1-byte Folded Reload + shl al, 7 + or al, dil + mov byte ptr [rsp + 28], al # 1-byte Spill + movzx eax, byte ptr [rsp + 64] # 1-byte Folded Reload + shl al, 2 + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 288] # 1-byte Folded Reload + shl al, 3 + or al, r13b + mov r13d, eax + movzx eax, byte ptr [rsp + 104] # 1-byte Folded Reload + shl al, 3 + or al, bl + mov edi, eax + movzx eax, byte ptr [rsp + 320] # 1-byte Folded Reload + shl al, 4 + or al, r13b + movzx ebx, byte ptr [rsp + 96] # 1-byte Folded Reload + shl bl, 4 + or bl, dil + movzx edi, byte ptr [rsp + 88] # 1-byte Folded Reload + shl dil, 5 + shl dl, 6 + or dl, dil + movzx r13d, byte ptr [rsp + 80] # 1-byte Folded Reload + shl r13b, 7 + or r13b, dl + movzx edx, byte ptr [rsp + 136] # 1-byte Folded Reload + add dl, dl + add dl, byte ptr [rsp + 72] # 1-byte Folded Reload + shl cl, 2 + or cl, dl movzx edx, byte ptr [rsp + 128] # 1-byte Folded Reload - shl dl, 2 - or dl, al - mov edi, edx - movzx edx, byte ptr [rsp + 72] # 1-byte Folded Reload shl dl, 3 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 88] # 1-byte Folded Reload + or dl, cl + mov ecx, edx + movzx edx, byte ptr [rsp + 120] # 1-byte Folded Reload shl dl, 4 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 104] # 1-byte Folded Reload + or dl, cl + movzx ecx, byte ptr [rsp + 28] # 1-byte Folded Reload + or cl, al + movzx eax, byte ptr [rsp + 160] # 1-byte Folded Reload + shl al, 5 + shl r12b, 6 + or r12b, al + or r13b, bl + shl r10b, 7 + or r10b, r12b + or r10b, dl + add r15b, r15b + add r15b, byte ptr [rsp + 112] # 1-byte Folded Reload + shl r14b, 2 + or r14b, r15b + shl r11b, 3 + or r11b, r14b + movzx eax, byte ptr [rsp + 152] # 1-byte Folded Reload + shl al, 4 + or al, r11b + mov ebx, eax + mov rax, qword ptr [rsp + 272] # 8-byte Reload + mov byte ptr [rax], cl + movzx edx, byte ptr [rsp + 144] # 1-byte Folded Reload shl dl, 5 - or dl, dil - mov edi, edx - mov rdx, qword ptr [rsp + 272] # 8-byte Reload - mov byte ptr [rdx], bl - movzx ebx, byte ptr [rsp + 64] # 1-byte Folded Reload - shl bl, 6 - shl r15b, 7 - or r15b, bl - mov byte ptr [rdx + 1], cl - or r15b, dil - movzx ecx, byte ptr [rsp + 40] # 1-byte Folded Reload - add cl, cl - add cl, byte ptr [rsp + 32] # 1-byte Folded Reload - mov ebx, ecx - movzx ecx, byte ptr [rsp + 48] # 1-byte Folded Reload - shl cl, 2 - or cl, bl - mov ebx, ecx - movzx ecx, byte ptr [rsp + 56] # 1-byte Folded Reload - shl cl, 3 - or cl, bl - mov ebx, ecx - movzx ecx, byte ptr [rsp + 288] # 1-byte Folded Reload - shl cl, 4 - or cl, bl - mov ebx, ecx - movzx ecx, byte ptr [rsp + 320] # 1-byte Folded Reload - shl cl, 5 - or cl, bl - movzx ebx, byte ptr [rsp + 28] # 1-byte Folded Reload - shl bl, 6 + shl r9b, 6 + or r9b, dl + mov byte ptr [rax + 1], r13b shl r8b, 7 + or r8b, r9b or r8b, bl - or r8b, cl - mov byte ptr [rdx + 2], r15b - mov byte ptr [rdx + 3], r8b + mov byte ptr [rax + 2], r10b + mov byte ptr [rax + 3], r8b add rsi, 128 - add rdx, 4 - mov qword ptr [rsp + 272], rdx # 8-byte Spill - add qword ptr [rsp + 144], -1 # 8-byte Folded Spill + add rax, 4 + mov qword ptr [rsp + 272], rax # 8-byte Spill + add qword ptr [rsp + 168], -1 # 8-byte Folded Spill jne .LBB4_78 # %bb.79: mov r14, qword ptr [rsp + 272] # 8-byte Reload mov r10, qword ptr [rsp + 280] # 8-byte Reload - mov r15, qword ptr [rsp + 168] # 8-byte Reload + mov r15, qword ptr [rsp + 176] # 8-byte Reload shl r15, 5 cmp r15, r10 jl .LBB4_122 - jmp .LBB4_159 + jmp .LBB4_165 .LBB4_80: mov r14b, byte ptr [rdx] lea r15, [r10 + 31] @@ -21472,11 +22491,11 @@ comparison_not_equal_arr_scalar_avx2: # @comparison_not_equal_arr_scalar_avx2 shl rax, 5 add rax, rsi cmp r11, rax - jae .LBB4_168 + jae .LBB4_169 # %bb.87: lea rax, [r11 + 4*r15] cmp rsi, rax - jae .LBB4_168 + jae .LBB4_169 .LBB4_88: xor eax, eax mov qword ptr [rsp + 384], rax # 8-byte Spill @@ -21707,7 +22726,7 @@ comparison_not_equal_arr_scalar_avx2: # @comparison_not_equal_arr_scalar_avx2 cmp dword ptr [rsi], r13d setne byte ptr [rsp + 144] # 1-byte Folded Spill cmp dword ptr [rsi + 4], r13d - setne dil + setne r10b cmp dword ptr [rsi + 8], r13d setne r14b cmp dword ptr [rsi + 12], r13d @@ -21723,11 +22742,11 @@ comparison_not_equal_arr_scalar_avx2: # @comparison_not_equal_arr_scalar_avx2 cmp dword ptr [rsi + 32], r13d setne byte ptr [rsp + 160] # 1-byte Folded Spill cmp dword ptr [rsi + 36], r13d - setne dl + setne dil cmp dword ptr [rsi + 40], r13d - setne r9b + setne r8b cmp dword ptr [rsi + 44], r13d - setne r10b + setne r9b cmp dword ptr [rsi + 48], r13d setne r11b cmp dword ptr [rsi + 52], r13d @@ -21767,32 +22786,33 @@ comparison_not_equal_arr_scalar_avx2: # @comparison_not_equal_arr_scalar_avx2 cmp dword ptr [rsi + 120], r13d setne byte ptr [rsp + 28] # 1-byte Folded Spill cmp dword ptr [rsi + 124], r13d - setne r8b - add dil, dil - add dil, byte ptr [rsp + 144] # 1-byte Folded Reload + setne dl + add r10b, r10b + add r10b, byte ptr [rsp + 144] # 1-byte Folded Reload shl al, 6 shl bl, 7 or bl, al shl r14b, 2 - or r14b, dil - add dl, dl - add dl, byte ptr [rsp + 160] # 1-byte Folded Reload + or r14b, r10b + add dil, dil + add dil, byte ptr [rsp + 160] # 1-byte Folded Reload movzx eax, byte ptr [rsp + 152] # 1-byte Folded Reload shl al, 3 or al, r14b - shl r9b, 2 - or r9b, dl - movzx edx, byte ptr [rsp + 136] # 1-byte Folded Reload - shl dl, 4 - or dl, al - mov edi, edx - shl r10b, 3 - or r10b, r9b - movzx edx, byte ptr [rsp + 96] # 1-byte Folded Reload - shl dl, 5 - or dl, dil + mov r10d, eax + shl r8b, 2 + or r8b, dil + movzx eax, byte ptr [rsp + 136] # 1-byte Folded Reload + shl al, 4 + or al, r10b + mov edi, eax + shl r9b, 3 + or r9b, r8b + movzx eax, byte ptr [rsp + 96] # 1-byte Folded Reload + shl al, 5 + or al, dil shl r11b, 4 - or r11b, r10b + or r11b, r9b shl r12b, 5 or r12b, r11b mov r11, qword ptr [rsp + 272] # 8-byte Reload @@ -21800,60 +22820,60 @@ comparison_not_equal_arr_scalar_avx2: # @comparison_not_equal_arr_scalar_avx2 shl dil, 6 shl cl, 7 or cl, dil - or bl, dl + or bl, al or cl, r12b - movzx edx, byte ptr [rsp + 120] # 1-byte Folded Reload - add dl, dl - add dl, byte ptr [rsp + 80] # 1-byte Folded Reload - mov edi, edx - movzx edx, byte ptr [rsp + 128] # 1-byte Folded Reload - shl dl, 2 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 72] # 1-byte Folded Reload - shl dl, 3 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 88] # 1-byte Folded Reload - shl dl, 4 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 104] # 1-byte Folded Reload - shl dl, 5 - or dl, dil + movzx eax, byte ptr [rsp + 120] # 1-byte Folded Reload + add al, al + add al, byte ptr [rsp + 80] # 1-byte Folded Reload + mov edi, eax + movzx eax, byte ptr [rsp + 128] # 1-byte Folded Reload + shl al, 2 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 72] # 1-byte Folded Reload + shl al, 3 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 88] # 1-byte Folded Reload + shl al, 4 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 104] # 1-byte Folded Reload + shl al, 5 + or al, dil mov byte ptr [r11], bl movzx ebx, byte ptr [rsp + 64] # 1-byte Folded Reload shl bl, 6 shl r15b, 7 or r15b, bl mov byte ptr [r11 + 1], cl - or r15b, dl - movzx ecx, byte ptr [rsp + 40] # 1-byte Folded Reload - add cl, cl - add cl, byte ptr [rsp + 32] # 1-byte Folded Reload - mov edx, ecx - movzx ecx, byte ptr [rsp + 48] # 1-byte Folded Reload - shl cl, 2 - or cl, dl - mov edx, ecx - movzx ecx, byte ptr [rsp + 56] # 1-byte Folded Reload - shl cl, 3 - or cl, dl - mov edx, ecx - movzx ecx, byte ptr [rsp + 288] # 1-byte Folded Reload - shl cl, 4 - or cl, dl - mov edx, ecx - movzx ecx, byte ptr [rsp + 320] # 1-byte Folded Reload - shl cl, 5 - or cl, dl - movzx edx, byte ptr [rsp + 28] # 1-byte Folded Reload - shl dl, 6 - shl r8b, 7 - or r8b, dl - or r8b, cl + or r15b, al + movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload + add al, al + add al, byte ptr [rsp + 32] # 1-byte Folded Reload + mov ecx, eax + movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload + shl al, 2 + or al, cl + mov ecx, eax + movzx eax, byte ptr [rsp + 56] # 1-byte Folded Reload + shl al, 3 + or al, cl + mov ecx, eax + movzx eax, byte ptr [rsp + 288] # 1-byte Folded Reload + shl al, 4 + or al, cl + mov ecx, eax + movzx eax, byte ptr [rsp + 320] # 1-byte Folded Reload + shl al, 5 + or al, cl + movzx ecx, byte ptr [rsp + 28] # 1-byte Folded Reload + shl cl, 6 + shl dl, 7 + or dl, cl + or dl, al mov byte ptr [r11 + 2], r15b - mov byte ptr [r11 + 3], r8b + mov byte ptr [r11 + 3], dl add rsi, 128 add r11, 4 add qword ptr [rsp + 168], -1 # 8-byte Folded Spill @@ -21865,12 +22885,12 @@ comparison_not_equal_arr_scalar_avx2: # @comparison_not_equal_arr_scalar_avx2 shl r15, 5 cmp r15, r10 jl .LBB4_129 - jmp .LBB4_159 + jmp .LBB4_165 .LBB4_100: mov r14, r11 shl r15, 5 cmp r15, r10 - jge .LBB4_159 + jge .LBB4_165 .LBB4_101: mov r8, r10 sub r8, r15 @@ -21912,12 +22932,12 @@ comparison_not_equal_arr_scalar_avx2: # @comparison_not_equal_arr_scalar_avx2 mov byte ptr [r15 + rdi], dl cmp r10, r11 jne .LBB4_103 - jmp .LBB4_156 + jmp .LBB4_157 .LBB4_104: mov r14, r11 shl r15, 5 cmp r15, r10 - jge .LBB4_159 + jge .LBB4_165 .LBB4_105: mov r8, r10 sub r8, r15 @@ -21931,7 +22951,7 @@ comparison_not_equal_arr_scalar_avx2: # @comparison_not_equal_arr_scalar_avx2 mov r14, r11 shl r15, 5 cmp r15, r10 - jge .LBB4_159 + jge .LBB4_165 .LBB4_108: mov r8, r10 sub r8, r15 @@ -21978,7 +22998,7 @@ comparison_not_equal_arr_scalar_avx2: # @comparison_not_equal_arr_scalar_avx2 mov r14, r11 shl r15, 5 cmp r15, r10 - jge .LBB4_159 + jge .LBB4_165 .LBB4_112: mov r8, r10 sub r8, r15 @@ -22025,7 +23045,7 @@ comparison_not_equal_arr_scalar_avx2: # @comparison_not_equal_arr_scalar_avx2 mov r14, r11 shl r15, 5 cmp r15, r10 - jge .LBB4_159 + jge .LBB4_165 .LBB4_116: mov r8, r10 sub r8, r15 @@ -22039,7 +23059,7 @@ comparison_not_equal_arr_scalar_avx2: # @comparison_not_equal_arr_scalar_avx2 mov r14, r11 shl r15, 5 cmp r15, r10 - jge .LBB4_159 + jge .LBB4_165 .LBB4_119: mov r8, r10 sub r8, r15 @@ -22053,7 +23073,7 @@ comparison_not_equal_arr_scalar_avx2: # @comparison_not_equal_arr_scalar_avx2 mov r14, r11 shl r15, 5 cmp r15, r10 - jge .LBB4_159 + jge .LBB4_165 .LBB4_122: mov r8, r10 sub r8, r15 @@ -22069,20 +23089,20 @@ comparison_not_equal_arr_scalar_avx2: # @comparison_not_equal_arr_scalar_avx2 .LBB4_125: shl r15, 5 cmp r15, r10 - jge .LBB4_159 + jge .LBB4_165 # %bb.126: mov r8, r10 sub r8, r15 not r15 add r15, r10 je .LBB4_127 -# %bb.152: +# %bb.153: mov r10, r8 and r10, -2 xor esi, esi mov r11, qword ptr [rsp + 376] # 8-byte Reload .p2align 4, 0x90 -.LBB4_153: # =>This Inner Loop Header: Depth=1 +.LBB4_154: # =>This Inner Loop Header: Depth=1 cmp byte ptr [r12 + rsi], r14b setne bl neg bl @@ -22109,22 +23129,22 @@ comparison_not_equal_arr_scalar_avx2: # @comparison_not_equal_arr_scalar_avx2 xor al, dl mov byte ptr [r11 + rdi], al cmp r10, rsi - jne .LBB4_153 + jne .LBB4_154 jmp .LBB4_162 .LBB4_128: mov r14, r11 shl r15, 5 cmp r15, r10 - jge .LBB4_159 + jge .LBB4_165 .LBB4_129: mov r8, r10 sub r8, r15 not r15 add r15, r10 - jne .LBB4_154 + jne .LBB4_155 .LBB4_130: xor r11d, r11d - jmp .LBB4_156 + jmp .LBB4_157 .LBB4_131: mov r13, r11 sar r15, 5 @@ -22136,7 +23156,7 @@ comparison_not_equal_arr_scalar_avx2: # @comparison_not_equal_arr_scalar_avx2 .LBB4_133: shl r15, 5 cmp r15, r10 - jge .LBB4_159 + jge .LBB4_165 # %bb.134: mov r8, r10 sub r8, r15 @@ -22147,30 +23167,34 @@ comparison_not_equal_arr_scalar_avx2: # @comparison_not_equal_arr_scalar_avx2 xor esi, esi jmp .LBB4_163 .LBB4_136: - mov r10, r8 - and r10, -2 + mov r9, r8 + and r9, -2 xor r11d, r11d mov r15, r14 .p2align 4, 0x90 .LBB4_137: # =>This Inner Loop Header: Depth=1 vucomisd xmm0, qword ptr [rsi] + setp cl setne al + or al, cl neg al mov rdi, r11 shr rdi, 3 - movzx r9d, byte ptr [r15 + rdi] - xor al, r9b + movzx r10d, byte ptr [r15 + rdi] mov ecx, r11d and cl, 6 mov bl, 1 shl bl, cl + xor al, r10b and bl, al - xor bl, r9b + xor bl, r10b mov byte ptr [r15 + rdi], bl add r11, 2 vucomisd xmm0, qword ptr [rsi + 8] lea rsi, [rsi + 16] + setp r10b setne al + or al, r10b neg al xor al, bl or cl, 1 @@ -22179,14 +23203,14 @@ comparison_not_equal_arr_scalar_avx2: # @comparison_not_equal_arr_scalar_avx2 and dl, al xor dl, bl mov byte ptr [r15 + rdi], dl - cmp r10, r11 + cmp r9, r11 jne .LBB4_137 .LBB4_138: test r8b, 1 - je .LBB4_159 + je .LBB4_165 # %bb.139: vucomisd xmm0, qword ptr [rsi] - jmp .LBB4_158 + jmp .LBB4_152 .LBB4_140: mov r10, r8 and r10, -2 @@ -22224,10 +23248,10 @@ comparison_not_equal_arr_scalar_avx2: # @comparison_not_equal_arr_scalar_avx2 jne .LBB4_141 .LBB4_142: test r8b, 1 - je .LBB4_159 + je .LBB4_165 # %bb.143: cmp word ptr [rsi], r13w - jmp .LBB4_158 + jmp .LBB4_159 .LBB4_144: mov r10, r8 and r10, -2 @@ -22265,35 +23289,39 @@ comparison_not_equal_arr_scalar_avx2: # @comparison_not_equal_arr_scalar_avx2 jne .LBB4_145 .LBB4_146: test r8b, 1 - je .LBB4_159 + je .LBB4_165 # %bb.147: cmp qword ptr [rsi], r13 - jmp .LBB4_158 + jmp .LBB4_159 .LBB4_148: - mov r10, r8 - and r10, -2 + mov r9, r8 + and r9, -2 xor r11d, r11d mov r15, r14 .p2align 4, 0x90 .LBB4_149: # =>This Inner Loop Header: Depth=1 vucomiss xmm0, dword ptr [rsi] + setp cl setne al + or al, cl neg al mov rdi, r11 shr rdi, 3 - movzx r9d, byte ptr [r15 + rdi] - xor al, r9b + movzx r10d, byte ptr [r15 + rdi] mov ecx, r11d and cl, 6 mov bl, 1 shl bl, cl + xor al, r10b and bl, al - xor bl, r9b + xor bl, r10b mov byte ptr [r15 + rdi], bl add r11, 2 vucomiss xmm0, dword ptr [rsi + 4] lea rsi, [rsi + 8] + setp r10b setne al + or al, r10b neg al xor al, bl or cl, 1 @@ -22302,21 +23330,37 @@ comparison_not_equal_arr_scalar_avx2: # @comparison_not_equal_arr_scalar_avx2 and dl, al xor dl, bl mov byte ptr [r15 + rdi], dl - cmp r10, r11 + cmp r9, r11 jne .LBB4_149 .LBB4_150: test r8b, 1 - je .LBB4_159 + je .LBB4_165 # %bb.151: vucomiss xmm0, dword ptr [rsi] - jmp .LBB4_158 -.LBB4_154: +.LBB4_152: + setp al + setne dl + or dl, al + neg dl + mov rax, r11 + shr rax, 3 + mov sil, byte ptr [r14 + rax] + and r11b, 7 + mov bl, 1 + mov ecx, r11d + shl bl, cl + xor dl, sil + and bl, dl + xor bl, sil + mov byte ptr [r14 + rax], bl + jmp .LBB4_165 +.LBB4_155: mov r10, r8 and r10, -2 xor r11d, r11d mov r15, r14 .p2align 4, 0x90 -.LBB4_155: # =>This Inner Loop Header: Depth=1 +.LBB4_156: # =>This Inner Loop Header: Depth=1 cmp dword ptr [rsi], r13d setne al neg al @@ -22344,13 +23388,13 @@ comparison_not_equal_arr_scalar_avx2: # @comparison_not_equal_arr_scalar_avx2 xor dl, bl mov byte ptr [r15 + rdi], dl cmp r10, r11 - jne .LBB4_155 -.LBB4_156: + jne .LBB4_156 +.LBB4_157: test r8b, 1 - je .LBB4_159 -# %bb.157: + je .LBB4_165 +# %bb.158: cmp dword ptr [rsi], r13d -.LBB4_158: +.LBB4_159: setne al neg al mov rdx, r11 @@ -22364,16 +23408,7 @@ comparison_not_equal_arr_scalar_avx2: # @comparison_not_equal_arr_scalar_avx2 and bl, al xor bl, sil mov byte ptr [r14 + rdx], bl -.LBB4_159: - lea rsp, [rbp - 40] - pop rbx - pop r12 - pop r13 - pop r14 - pop r15 - pop rbp - vzeroupper - ret + jmp .LBB4_165 .LBB4_160: mov r10, r8 and r10, -2 @@ -22412,7 +23447,7 @@ comparison_not_equal_arr_scalar_avx2: # @comparison_not_equal_arr_scalar_avx2 add r12, rsi .LBB4_163: test r8b, 1 - je .LBB4_159 + je .LBB4_165 # %bb.164: cmp byte ptr [r12], r14b setne al @@ -22429,8 +23464,17 @@ comparison_not_equal_arr_scalar_avx2: # @comparison_not_equal_arr_scalar_avx2 and bl, al xor bl, dil mov byte ptr [r8 + rdx], bl - jmp .LBB4_159 .LBB4_165: + lea rsp, [rbp - 40] + pop rbx + pop r12 + pop r13 + pop r14 + pop r15 + pop rbp + vzeroupper + ret +.LBB4_166: and r15, -32 mov rax, r15 shl rax, 5 @@ -22446,7 +23490,7 @@ comparison_not_equal_arr_scalar_avx2: # @comparison_not_equal_arr_scalar_avx2 xor eax, eax mov qword ptr [rsp + 272], r13 # 8-byte Spill .p2align 4, 0x90 -.LBB4_166: # =>This Inner Loop Header: Depth=1 +.LBB4_167: # =>This Inner Loop Header: Depth=1 mov rbx, rax mov qword ptr [rsp + 408], rax # 8-byte Spill shl rbx, 5 @@ -24538,8 +25582,8 @@ comparison_not_equal_arr_scalar_avx2: # @comparison_not_equal_arr_scalar_avx2 add rcx, 32 mov rax, rcx cmp rcx, qword ptr [rsp + 384] # 8-byte Folded Reload - jne .LBB4_166 -# %bb.167: + jne .LBB4_167 +# %bb.168: mov r15, qword ptr [rsp + 392] # 8-byte Reload cmp r15, qword ptr [rsp + 384] # 8-byte Folded Reload mov r10, qword ptr [rsp + 280] # 8-byte Reload @@ -24547,7 +25591,7 @@ comparison_not_equal_arr_scalar_avx2: # @comparison_not_equal_arr_scalar_avx2 mov r12, qword ptr [rsp + 400] # 8-byte Reload jne .LBB4_35 jmp .LBB4_133 -.LBB4_168: +.LBB4_169: and r15, -32 mov rax, r15 shl rax, 5 @@ -24562,7 +25606,7 @@ comparison_not_equal_arr_scalar_avx2: # @comparison_not_equal_arr_scalar_avx2 xor eax, eax mov qword ptr [rsp + 272], r11 # 8-byte Spill .p2align 4, 0x90 -.LBB4_169: # =>This Inner Loop Header: Depth=1 +.LBB4_170: # =>This Inner Loop Header: Depth=1 mov rbx, rax mov qword ptr [rsp + 408], rax # 8-byte Spill shl rbx, 5 @@ -26659,8 +27703,8 @@ comparison_not_equal_arr_scalar_avx2: # @comparison_not_equal_arr_scalar_avx2 add rcx, 32 mov rax, rcx cmp rcx, qword ptr [rsp + 384] # 8-byte Folded Reload - jne .LBB4_169 -# %bb.170: + jne .LBB4_170 +# %bb.171: mov r15, qword ptr [rsp + 392] # 8-byte Reload cmp r15, qword ptr [rsp + 384] # 8-byte Folded Reload mov r10, qword ptr [rsp + 280] # 8-byte Reload @@ -26704,7 +27748,7 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 sub rsp, 1280 # kill: def $r9d killed $r9d def $r9 mov r10, r8 - mov r15, rcx + mov r13, rcx cmp edi, 6 jg .LBB5_17 # %bb.1: @@ -26712,13 +27756,13 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 jle .LBB5_32 # %bb.2: cmp edi, 4 - je .LBB5_60 + je .LBB5_63 # %bb.3: cmp edi, 5 - je .LBB5_72 + je .LBB5_75 # %bb.4: cmp edi, 6 - jne .LBB5_157 + jne .LBB5_164 # %bb.5: mov r14d, dword ptr [rsi] lea r11, [r10 + 31] @@ -26742,7 +27786,8 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 test rax, rax cmovns rsi, rax sar rsi, 3 - movzx r8d, byte ptr [r15 + rsi] + mov r9, r13 + movzx r8d, byte ptr [r13 + rsi] xor bl, r8b lea edi, [8*rsi] mov ecx, eax @@ -26752,23 +27797,23 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 shl edi, cl and dil, bl xor dil, r8b - mov byte ptr [r15 + rsi], dil + mov byte ptr [r13 + rsi], dil add rax, 1 cmp rax, 8 jne .LBB5_7 # %bb.8: - add r15, 1 + add r13, 1 .LBB5_9: sar r11, 5 cmp r10, 32 jl .LBB5_13 # %bb.10: mov qword ptr [rsp + 280], r10 # 8-byte Spill - mov qword ptr [rsp + 176], r11 # 8-byte Spill mov qword ptr [rsp + 160], r11 # 8-byte Spill + mov qword ptr [rsp + 168], r11 # 8-byte Spill .p2align 4, 0x90 .LBB5_11: # =>This Inner Loop Header: Depth=1 - mov qword ptr [rsp + 272], r15 # 8-byte Spill + mov qword ptr [rsp + 272], r13 # 8-byte Spill cmp r14d, dword ptr [rdx + 124] setne byte ptr [rsp + 28] # 1-byte Folded Spill cmp r14d, dword ptr [rdx + 120] @@ -26778,31 +27823,31 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 cmp r14d, dword ptr [rdx + 112] setne byte ptr [rsp + 32] # 1-byte Folded Spill cmp r14d, dword ptr [rdx + 108] - setne byte ptr [rsp + 40] # 1-byte Folded Spill - cmp r14d, dword ptr [rdx + 104] setne byte ptr [rsp + 56] # 1-byte Folded Spill - cmp r14d, dword ptr [rdx + 100] + cmp r14d, dword ptr [rdx + 104] setne byte ptr [rsp + 48] # 1-byte Folded Spill + cmp r14d, dword ptr [rdx + 100] + setne byte ptr [rsp + 40] # 1-byte Folded Spill cmp r14d, dword ptr [rdx + 92] setne byte ptr [rsp + 72] # 1-byte Folded Spill cmp r14d, dword ptr [rdx + 88] setne byte ptr [rsp + 64] # 1-byte Folded Spill cmp r14d, dword ptr [rdx + 84] - setne byte ptr [rsp + 104] # 1-byte Folded Spill - cmp r14d, dword ptr [rdx + 80] setne byte ptr [rsp + 96] # 1-byte Folded Spill - cmp r14d, dword ptr [rdx + 76] + cmp r14d, dword ptr [rdx + 80] setne byte ptr [rsp + 88] # 1-byte Folded Spill - cmp r14d, dword ptr [rdx + 72] + cmp r14d, dword ptr [rdx + 76] setne byte ptr [rsp + 80] # 1-byte Folded Spill - cmp r14d, dword ptr [rdx + 68] + cmp r14d, dword ptr [rdx + 72] setne byte ptr [rsp + 144] # 1-byte Folded Spill + cmp r14d, dword ptr [rdx + 68] + setne byte ptr [rsp + 136] # 1-byte Folded Spill cmp r14d, dword ptr [rdx + 60] setne r8b cmp r14d, dword ptr [rdx + 56] - setne byte ptr [rsp + 128] # 1-byte Folded Spill - cmp r14d, dword ptr [rdx + 52] setne byte ptr [rsp + 120] # 1-byte Folded Spill + cmp r14d, dword ptr [rdx + 52] + setne byte ptr [rsp + 112] # 1-byte Folded Spill cmp r14d, dword ptr [rdx + 48] setne r11b cmp r14d, dword ptr [rdx + 44] @@ -26820,28 +27865,28 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 cmp r14d, dword ptr [rdx + 16] setne cl cmp r14d, dword ptr [rdx + 12] - setne r13b - cmp r14d, dword ptr [rdx + 8] setne r12b + cmp r14d, dword ptr [rdx + 8] + setne r13b cmp r14d, dword ptr [rdx] - setne byte ptr [rsp + 168] # 1-byte Folded Spill + setne byte ptr [rsp + 176] # 1-byte Folded Spill cmp r14d, dword ptr [rdx + 4] setne r15b cmp r14d, dword ptr [rdx + 32] setne byte ptr [rsp + 152] # 1-byte Folded Spill cmp r14d, dword ptr [rdx + 64] - setne byte ptr [rsp + 112] # 1-byte Folded Spill + setne byte ptr [rsp + 104] # 1-byte Folded Spill cmp r14d, dword ptr [rdx + 96] - setne byte ptr [rsp + 136] # 1-byte Folded Spill + setne byte ptr [rsp + 128] # 1-byte Folded Spill add r15b, r15b - add r15b, byte ptr [rsp + 168] # 1-byte Folded Reload - shl r12b, 2 - or r12b, r15b + add r15b, byte ptr [rsp + 176] # 1-byte Folded Reload + shl r13b, 2 + or r13b, r15b mov r15, qword ptr [rsp + 272] # 8-byte Reload - shl r13b, 3 - or r13b, r12b + shl r12b, 3 + or r12b, r13b shl cl, 4 - or cl, r13b + or cl, r12b shl sil, 5 or sil, cl shl bl, 6 @@ -26857,32 +27902,32 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 or r10b, r9b shl r11b, 4 or r11b, r10b - movzx eax, byte ptr [rsp + 120] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 112] # 1-byte Folded Reload shl al, 5 or al, r11b - movzx ecx, byte ptr [rsp + 128] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 120] # 1-byte Folded Reload shl cl, 6 shl r8b, 7 or r8b, cl or r8b, al mov byte ptr [r15 + 1], r8b - movzx eax, byte ptr [rsp + 144] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 136] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 112] # 1-byte Folded Reload + add al, byte ptr [rsp + 104] # 1-byte Folded Reload mov ecx, eax - movzx eax, byte ptr [rsp + 80] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 144] # 1-byte Folded Reload shl al, 2 or al, cl mov ecx, eax - movzx eax, byte ptr [rsp + 88] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 80] # 1-byte Folded Reload shl al, 3 or al, cl mov ecx, eax - movzx eax, byte ptr [rsp + 96] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 88] # 1-byte Folded Reload shl al, 4 or al, cl mov ecx, eax - movzx eax, byte ptr [rsp + 104] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 96] # 1-byte Folded Reload shl al, 5 or al, cl mov ecx, eax @@ -26893,15 +27938,15 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 or al, bl or al, cl mov byte ptr [r15 + 2], al - movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 136] # 1-byte Folded Reload + add al, byte ptr [rsp + 128] # 1-byte Folded Reload mov ecx, eax - movzx eax, byte ptr [rsp + 56] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload shl al, 2 or al, cl mov ecx, eax - movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 56] # 1-byte Folded Reload shl al, 3 or al, cl mov ecx, eax @@ -26922,21 +27967,22 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 mov byte ptr [r15 + 3], al sub rdx, -128 add r15, 4 - add qword ptr [rsp + 160], -1 # 8-byte Folded Spill + mov r13, r15 + add qword ptr [rsp + 168], -1 # 8-byte Folded Spill jne .LBB5_11 # %bb.12: mov r10, qword ptr [rsp + 280] # 8-byte Reload - mov r11, qword ptr [rsp + 176] # 8-byte Reload + mov r11, qword ptr [rsp + 160] # 8-byte Reload .LBB5_13: shl r11, 5 cmp r11, r10 - jge .LBB5_157 + jge .LBB5_164 # %bb.14: mov r8, r10 sub r8, r11 not r11 add r11, r10 - je .LBB5_127 + je .LBB5_133 # %bb.15: mov r10, r8 and r10, -2 @@ -26948,7 +27994,8 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 neg al mov rsi, rdi shr rsi, 3 - movzx r9d, byte ptr [r15 + rsi] + mov r11, r13 + movzx r9d, byte ptr [r13 + rsi] mov ecx, edi and cl, 6 mov bl, 1 @@ -26956,7 +28003,7 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 xor al, r9b and bl, al xor bl, r9b - mov byte ptr [r15 + rsi], bl + mov byte ptr [r13 + rsi], bl add rdi, 2 cmp r14d, dword ptr [rdx + 4] lea rdx, [rdx + 8] @@ -26968,22 +28015,22 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 shl al, cl and al, r9b xor al, bl - mov byte ptr [r15 + rsi], al + mov byte ptr [r13 + rsi], al cmp r10, rdi jne .LBB5_16 - jmp .LBB5_154 + jmp .LBB5_160 .LBB5_17: cmp edi, 8 - jle .LBB5_46 + jle .LBB5_49 # %bb.18: cmp edi, 9 - je .LBB5_83 + je .LBB5_86 # %bb.19: cmp edi, 11 - je .LBB5_94 + je .LBB5_97 # %bb.20: cmp edi, 12 - jne .LBB5_157 + jne .LBB5_164 # %bb.21: lea r11, [r10 + 31] test r10, r10 @@ -27001,13 +28048,16 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 .LBB5_23: # =>This Inner Loop Header: Depth=1 vucomisd xmm0, qword ptr [rdx] lea rdx, [rdx + 8] + setp cl setne bl + or bl, cl neg bl lea rsi, [rax + 7] test rax, rax cmovns rsi, rax sar rsi, 3 - movzx r9d, byte ptr [r15 + rsi] + mov r14, r13 + movzx r9d, byte ptr [r13 + rsi] xor bl, r9b lea r8d, [8*rsi] mov ecx, eax @@ -27017,198 +28067,287 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 shl edi, cl and dil, bl xor dil, r9b - mov byte ptr [r15 + rsi], dil + mov byte ptr [r13 + rsi], dil add rax, 1 cmp rax, 8 jne .LBB5_23 # %bb.24: - add r15, 1 + add r13, 1 .LBB5_25: sar r11, 5 cmp r10, 32 jl .LBB5_29 # %bb.26: mov qword ptr [rsp + 280], r10 # 8-byte Spill - mov qword ptr [rsp + 160], r11 # 8-byte Spill - mov qword ptr [rsp + 168], r11 # 8-byte Spill + mov qword ptr [rsp + 192], r11 # 8-byte Spill + mov qword ptr [rsp + 184], r11 # 8-byte Spill .p2align 4, 0x90 .LBB5_27: # =>This Inner Loop Header: Depth=1 - mov qword ptr [rsp + 272], r15 # 8-byte Spill + mov qword ptr [rsp + 272], r13 # 8-byte Spill vucomisd xmm0, qword ptr [rdx] - setne byte ptr [rsp + 152] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 48], cl # 1-byte Spill vucomisd xmm0, qword ptr [rdx + 8] - setne r9b + setp al + setne r13b + or r13b, al vucomisd xmm0, qword ptr [rdx + 16] - setne r11b + setp al + setne cl + or cl, al + mov byte ptr [rsp + 56], cl # 1-byte Spill vucomisd xmm0, qword ptr [rdx + 24] - setne r13b + setp al + setne cl + or cl, al + mov byte ptr [rsp + 320], cl # 1-byte Spill vucomisd xmm0, qword ptr [rdx + 32] - setne byte ptr [rsp + 112] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 32], cl # 1-byte Spill vucomisd xmm0, qword ptr [rdx + 40] - setne byte ptr [rsp + 104] # 1-byte Folded Spill + setp al + setne r12b + or r12b, al vucomisd xmm0, qword ptr [rdx + 48] - setne bl + setp al + setne cl + or cl, al + mov byte ptr [rsp + 72], cl # 1-byte Spill vucomisd xmm0, qword ptr [rdx + 56] - setne r12b + setp al + setne cl + or cl, al + mov byte ptr [rsp + 28], cl # 1-byte Spill vucomisd xmm0, qword ptr [rdx + 64] - setne byte ptr [rsp + 120] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 40], cl # 1-byte Spill vucomisd xmm0, qword ptr [rdx + 72] - setne sil + setp al + setne cl + or cl, al + mov byte ptr [rsp + 64], cl # 1-byte Spill vucomisd xmm0, qword ptr [rdx + 80] - setne dil + setp al + setne cl + or cl, al + mov byte ptr [rsp + 96], cl # 1-byte Spill vucomisd xmm0, qword ptr [rdx + 88] - setne r8b + setp al + setne bl + or bl, al vucomisd xmm0, qword ptr [rdx + 96] - setne r10b + setp al + setne cl + or cl, al + mov byte ptr [rsp + 288], cl # 1-byte Spill vucomisd xmm0, qword ptr [rdx + 104] - setne r15b + setp al + setne cl + or cl, al + mov byte ptr [rsp + 80], cl # 1-byte Spill vucomisd xmm0, qword ptr [rdx + 112] - setne byte ptr [rsp + 128] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 144], cl # 1-byte Spill vucomisd xmm0, qword ptr [rdx + 120] + setp al setne cl + or cl, al + mov byte ptr [rsp + 136], cl # 1-byte Spill vucomisd xmm0, qword ptr [rdx + 128] - setne byte ptr [rsp + 88] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 88], cl # 1-byte Spill vucomisd xmm0, qword ptr [rdx + 136] - setne byte ptr [rsp + 136] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 128], cl # 1-byte Spill vucomisd xmm0, qword ptr [rdx + 144] - setne byte ptr [rsp + 144] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 120], cl # 1-byte Spill vucomisd xmm0, qword ptr [rdx + 152] - setne byte ptr [rsp + 80] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 112], cl # 1-byte Spill vucomisd xmm0, qword ptr [rdx + 160] - setne byte ptr [rsp + 96] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 104], cl # 1-byte Spill vucomisd xmm0, qword ptr [rdx + 168] - setne byte ptr [rsp + 64] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 176], cl # 1-byte Spill vucomisd xmm0, qword ptr [rdx + 176] - setne byte ptr [rsp + 72] # 1-byte Folded Spill + setp al + setne r15b + or r15b, al vucomisd xmm0, qword ptr [rdx + 184] - setne r14b + setp al + setne r8b + or r8b, al vucomisd xmm0, qword ptr [rdx + 192] - setne byte ptr [rsp + 32] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 152], cl # 1-byte Spill vucomisd xmm0, qword ptr [rdx + 200] - setne byte ptr [rsp + 48] # 1-byte Folded Spill + setp al + setne r11b + or r11b, al vucomisd xmm0, qword ptr [rdx + 208] - setne byte ptr [rsp + 56] # 1-byte Folded Spill + setp al + setne r10b + or r10b, al vucomisd xmm0, qword ptr [rdx + 216] - setne byte ptr [rsp + 40] # 1-byte Folded Spill + setp al + setne r9b + or r9b, al vucomisd xmm0, qword ptr [rdx + 224] - setne byte ptr [rsp + 320] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 160], cl # 1-byte Spill vucomisd xmm0, qword ptr [rdx + 232] - setne byte ptr [rsp + 288] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 168], cl # 1-byte Spill vucomisd xmm0, qword ptr [rdx + 240] - setne byte ptr [rsp + 28] # 1-byte Folded Spill + setp al + setne dil + or dil, al vucomisd xmm0, qword ptr [rdx + 248] - setne al - add r9b, r9b - add r9b, byte ptr [rsp + 152] # 1-byte Folded Reload - shl bl, 6 - shl r12b, 7 - or r12b, bl - shl r11b, 2 - or r11b, r9b - add sil, sil - add sil, byte ptr [rsp + 120] # 1-byte Folded Reload - shl r13b, 3 - or r13b, r11b - shl dil, 2 - or dil, sil - movzx ebx, byte ptr [rsp + 112] # 1-byte Folded Reload - shl bl, 4 - or bl, r13b - mov esi, ebx - shl r8b, 3 - or r8b, dil - movzx ebx, byte ptr [rsp + 104] # 1-byte Folded Reload - shl bl, 5 - or bl, sil - shl r10b, 4 - or r10b, r8b - shl r15b, 5 - or r15b, r10b - movzx esi, byte ptr [rsp + 128] # 1-byte Folded Reload - shl sil, 6 - shl cl, 7 - or cl, sil - or r12b, bl - or cl, r15b - mov r15, qword ptr [rsp + 272] # 8-byte Reload - movzx ebx, byte ptr [rsp + 136] # 1-byte Folded Reload - add bl, bl - add bl, byte ptr [rsp + 88] # 1-byte Folded Reload - mov esi, ebx - movzx ebx, byte ptr [rsp + 144] # 1-byte Folded Reload - shl bl, 2 - or bl, sil - mov esi, ebx - movzx ebx, byte ptr [rsp + 80] # 1-byte Folded Reload + setp al + setne sil + or sil, al + add r13b, r13b + add r13b, byte ptr [rsp + 48] # 1-byte Folded Reload + mov eax, r13d + shl r12b, 5 + movzx r13d, byte ptr [rsp + 72] # 1-byte Folded Reload + shl r13b, 6 + or r13b, r12b + movzx r12d, byte ptr [rsp + 56] # 1-byte Folded Reload + shl r12b, 2 + or r12b, al + movzx ecx, byte ptr [rsp + 64] # 1-byte Folded Reload + add cl, cl + add cl, byte ptr [rsp + 40] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 28] # 1-byte Folded Reload + shl al, 7 + or al, r13b + mov byte ptr [rsp + 28], al # 1-byte Spill + movzx eax, byte ptr [rsp + 96] # 1-byte Folded Reload + shl al, 2 + or al, cl + mov ecx, eax + movzx eax, byte ptr [rsp + 320] # 1-byte Folded Reload + shl al, 3 + or al, r12b shl bl, 3 - or bl, sil - mov esi, ebx - movzx ebx, byte ptr [rsp + 96] # 1-byte Folded Reload - shl bl, 4 - or bl, sil - mov esi, ebx - movzx ebx, byte ptr [rsp + 64] # 1-byte Folded Reload - shl bl, 5 - or bl, sil - mov byte ptr [r15], r12b - movzx esi, byte ptr [rsp + 72] # 1-byte Folded Reload - shl sil, 6 + or bl, cl + movzx r13d, byte ptr [rsp + 32] # 1-byte Folded Reload + shl r13b, 4 + or r13b, al + movzx eax, byte ptr [rsp + 288] # 1-byte Folded Reload + shl al, 4 + or al, bl + mov byte ptr [rsp + 288], al # 1-byte Spill + movzx ecx, byte ptr [rsp + 80] # 1-byte Folded Reload + shl cl, 5 + movzx eax, byte ptr [rsp + 144] # 1-byte Folded Reload + shl al, 6 + or al, cl + mov ecx, eax + movzx r14d, byte ptr [rsp + 136] # 1-byte Folded Reload shl r14b, 7 - or r14b, sil - mov byte ptr [r15 + 1], cl - or r14b, bl - movzx ecx, byte ptr [rsp + 48] # 1-byte Folded Reload + or r14b, al + movzx ecx, byte ptr [rsp + 128] # 1-byte Folded Reload add cl, cl - add cl, byte ptr [rsp + 32] # 1-byte Folded Reload - mov ebx, ecx - movzx ecx, byte ptr [rsp + 56] # 1-byte Folded Reload - shl cl, 2 - or cl, bl - mov ebx, ecx - movzx ecx, byte ptr [rsp + 40] # 1-byte Folded Reload + add cl, byte ptr [rsp + 88] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 120] # 1-byte Folded Reload + shl bl, 2 + or bl, cl + movzx ecx, byte ptr [rsp + 112] # 1-byte Folded Reload shl cl, 3 or cl, bl - mov ebx, ecx - movzx ecx, byte ptr [rsp + 320] # 1-byte Folded Reload - shl cl, 4 - or cl, bl - mov ebx, ecx - movzx ecx, byte ptr [rsp + 288] # 1-byte Folded Reload - shl cl, 5 - or cl, bl - movzx ebx, byte ptr [rsp + 28] # 1-byte Folded Reload - shl bl, 6 - shl al, 7 - or al, bl - or al, cl - mov byte ptr [r15 + 2], r14b - mov byte ptr [r15 + 3], al + mov r12d, ecx + mov rcx, qword ptr [rsp + 272] # 8-byte Reload + movzx ebx, byte ptr [rsp + 104] # 1-byte Folded Reload + shl bl, 4 + or bl, r12b + movzx eax, byte ptr [rsp + 28] # 1-byte Folded Reload + or al, r13b + movzx r12d, byte ptr [rsp + 176] # 1-byte Folded Reload + shl r12b, 5 + shl r15b, 6 + or r15b, r12b + or r14b, byte ptr [rsp + 288] # 1-byte Folded Reload + shl r8b, 7 + or r8b, r15b + or r8b, bl + add r11b, r11b + add r11b, byte ptr [rsp + 152] # 1-byte Folded Reload + shl r10b, 2 + or r10b, r11b + shl r9b, 3 + or r9b, r10b + movzx ebx, byte ptr [rsp + 160] # 1-byte Folded Reload + shl bl, 4 + or bl, r9b + mov r9d, ebx + mov byte ptr [rcx], al + movzx ebx, byte ptr [rsp + 168] # 1-byte Folded Reload + shl bl, 5 + shl dil, 6 + or dil, bl + mov byte ptr [rcx + 1], r14b + shl sil, 7 + or sil, dil + or sil, r9b + mov byte ptr [rcx + 2], r8b + mov byte ptr [rcx + 3], sil add rdx, 256 - add r15, 4 - add qword ptr [rsp + 168], -1 # 8-byte Folded Spill + add rcx, 4 + mov r13, rcx + add qword ptr [rsp + 184], -1 # 8-byte Folded Spill jne .LBB5_27 # %bb.28: mov r10, qword ptr [rsp + 280] # 8-byte Reload - mov r11, qword ptr [rsp + 160] # 8-byte Reload + mov r11, qword ptr [rsp + 192] # 8-byte Reload .LBB5_29: shl r11, 5 cmp r11, r10 - jge .LBB5_157 + jge .LBB5_164 # %bb.30: mov r8, r10 sub r8, r11 not r11 add r11, r10 - jne .LBB5_136 + jne .LBB5_134 # %bb.31: xor edi, edi - jmp .LBB5_138 + jmp .LBB5_136 .LBB5_32: cmp edi, 2 - je .LBB5_105 + je .LBB5_108 # %bb.33: cmp edi, 3 - jne .LBB5_157 + jne .LBB5_164 # %bb.34: mov r11b, byte ptr [rsi] lea r14, [r10 + 31] @@ -27232,7 +28371,8 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 test rax, rax cmovns rsi, rax sar rsi, 3 - movzx r9d, byte ptr [r15 + rsi] + mov r15, r13 + movzx r9d, byte ptr [r13 + rsi] xor bl, r9b lea r8d, [8*rsi] mov ecx, eax @@ -27242,16 +28382,16 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 shl edi, cl and dil, bl xor dil, r9b - mov byte ptr [r15 + rsi], dil + mov byte ptr [r13 + rsi], dil add rax, 1 cmp rax, 8 jne .LBB5_36 # %bb.37: - add r15, 1 + add r13, 1 .LBB5_38: sar r14, 5 cmp r10, 32 - jl .LBB5_128 + jl .LBB5_46 # %bb.39: cmp r14, 32 mov dword ptr [rsp + 28], r11d # 4-byte Spill @@ -27262,19 +28402,19 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 mov rax, r14 shl rax, 5 add rax, rdx - cmp r15, rax + cmp r13, rax jae .LBB5_165 # %bb.41: - lea rax, [r15 + 4*r14] + lea rax, [4*r14] + add rax, r13 cmp rdx, rax jae .LBB5_165 .LBB5_42: xor eax, eax mov qword ptr [rsp + 376], rax # 8-byte Spill - mov r13, r15 .LBB5_43: sub r14, qword ptr [rsp + 376] # 8-byte Folded Reload - mov qword ptr [rsp + 176], r14 # 8-byte Spill + mov qword ptr [rsp + 160], r14 # 8-byte Spill .p2align 4, 0x90 .LBB5_44: # =>This Inner Loop Header: Depth=1 cmp r11b, byte ptr [rdx + 31] @@ -27286,31 +28426,31 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 cmp r11b, byte ptr [rdx + 28] setne byte ptr [rsp + 32] # 1-byte Folded Spill cmp r11b, byte ptr [rdx + 27] - setne byte ptr [rsp + 40] # 1-byte Folded Spill - cmp r11b, byte ptr [rdx + 26] setne byte ptr [rsp + 56] # 1-byte Folded Spill - cmp r11b, byte ptr [rdx + 25] + cmp r11b, byte ptr [rdx + 26] setne byte ptr [rsp + 48] # 1-byte Folded Spill + cmp r11b, byte ptr [rdx + 25] + setne byte ptr [rsp + 40] # 1-byte Folded Spill cmp r11b, byte ptr [rdx + 23] setne byte ptr [rsp + 72] # 1-byte Folded Spill cmp r11b, byte ptr [rdx + 22] - setne byte ptr [rsp + 104] # 1-byte Folded Spill - cmp r11b, byte ptr [rdx + 21] setne byte ptr [rsp + 96] # 1-byte Folded Spill - cmp r11b, byte ptr [rdx + 20] + cmp r11b, byte ptr [rdx + 21] setne byte ptr [rsp + 88] # 1-byte Folded Spill + cmp r11b, byte ptr [rdx + 20] + setne byte ptr [rsp + 80] # 1-byte Folded Spill cmp r11b, byte ptr [rdx + 19] - setne byte ptr [rsp + 144] # 1-byte Folded Spill - cmp r11b, byte ptr [rdx + 18] setne byte ptr [rsp + 136] # 1-byte Folded Spill - cmp r11b, byte ptr [rdx + 17] + cmp r11b, byte ptr [rdx + 18] setne byte ptr [rsp + 128] # 1-byte Folded Spill + cmp r11b, byte ptr [rdx + 17] + setne byte ptr [rsp + 120] # 1-byte Folded Spill cmp r11b, byte ptr [rdx + 15] setne r14b cmp r11b, byte ptr [rdx + 14] - setne byte ptr [rsp + 120] # 1-byte Folded Spill - cmp r11b, byte ptr [rdx + 13] setne byte ptr [rsp + 112] # 1-byte Folded Spill + cmp r11b, byte ptr [rdx + 13] + setne byte ptr [rsp + 104] # 1-byte Folded Spill cmp r11b, byte ptr [rdx + 12] setne r12b cmp r11b, byte ptr [rdx + 11] @@ -27325,7 +28465,7 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 setne dil mov eax, dword ptr [rsp + 28] # 4-byte Reload cmp al, byte ptr [rdx + 6] - setne byte ptr [rsp + 168] # 1-byte Folded Spill + setne byte ptr [rsp + 176] # 1-byte Folded Spill mov eax, dword ptr [rsp + 28] # 4-byte Reload cmp al, byte ptr [rdx + 5] setne r9b @@ -27340,7 +28480,7 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 setne cl mov eax, dword ptr [rsp + 28] # 4-byte Reload cmp al, byte ptr [rdx] - setne byte ptr [rsp + 160] # 1-byte Folded Spill + setne byte ptr [rsp + 168] # 1-byte Folded Spill mov eax, dword ptr [rsp + 28] # 4-byte Reload cmp al, byte ptr [rdx + 1] setne al @@ -27351,12 +28491,12 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 setne byte ptr [rsp + 152] # 1-byte Folded Spill mov ebx, dword ptr [rsp + 28] # 4-byte Reload cmp bl, byte ptr [rdx + 16] - setne byte ptr [rsp + 80] # 1-byte Folded Spill + setne byte ptr [rsp + 144] # 1-byte Folded Spill mov ebx, dword ptr [rsp + 28] # 4-byte Reload cmp bl, byte ptr [rdx + 24] setne byte ptr [rsp + 64] # 1-byte Folded Spill add al, al - add al, byte ptr [rsp + 160] # 1-byte Folded Reload + add al, byte ptr [rsp + 168] # 1-byte Folded Reload shl cl, 2 or cl, al shl sil, 3 @@ -27365,7 +28505,7 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 or r8b, sil shl r9b, 5 or r9b, r8b - movzx eax, byte ptr [rsp + 168] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 176] # 1-byte Folded Reload shl al, 6 shl dil, 7 or dil, al @@ -27380,51 +28520,51 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 mov r11d, dword ptr [rsp + 28] # 4-byte Reload shl r12b, 4 or r12b, r15b - movzx eax, byte ptr [rsp + 112] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 104] # 1-byte Folded Reload shl al, 5 or al, r12b - movzx ecx, byte ptr [rsp + 120] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 112] # 1-byte Folded Reload shl cl, 6 shl r14b, 7 or r14b, cl or r14b, al mov byte ptr [r13 + 1], r14b - movzx eax, byte ptr [rsp + 128] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 120] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 80] # 1-byte Folded Reload + add al, byte ptr [rsp + 144] # 1-byte Folded Reload mov ecx, eax - movzx eax, byte ptr [rsp + 136] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 128] # 1-byte Folded Reload shl al, 2 or al, cl mov ecx, eax - movzx eax, byte ptr [rsp + 144] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 136] # 1-byte Folded Reload shl al, 3 or al, cl mov ecx, eax - movzx eax, byte ptr [rsp + 88] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 80] # 1-byte Folded Reload shl al, 4 or al, cl mov ecx, eax - movzx eax, byte ptr [rsp + 96] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 88] # 1-byte Folded Reload shl al, 5 or al, cl mov ecx, eax - movzx ebx, byte ptr [rsp + 104] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 96] # 1-byte Folded Reload shl bl, 6 movzx eax, byte ptr [rsp + 72] # 1-byte Folded Reload shl al, 7 or al, bl or al, cl mov byte ptr [r13 + 2], al - movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload add al, al add al, byte ptr [rsp + 64] # 1-byte Folded Reload mov ecx, eax - movzx eax, byte ptr [rsp + 56] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload shl al, 2 or al, cl mov ecx, eax - movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 56] # 1-byte Folded Reload shl al, 3 or al, cl mov ecx, eax @@ -27445,19 +28585,62 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 mov byte ptr [r13 + 3], al add rdx, 32 add r13, 4 - add qword ptr [rsp + 176], -1 # 8-byte Folded Spill + add qword ptr [rsp + 160], -1 # 8-byte Folded Spill jne .LBB5_44 # %bb.45: mov r10, qword ptr [rsp + 280] # 8-byte Reload mov r14, qword ptr [rsp + 384] # 8-byte Reload - jmp .LBB5_129 .LBB5_46: - cmp edi, 7 - je .LBB5_117 + shl r14, 5 + cmp r14, r10 + jge .LBB5_164 # %bb.47: + mov r8, r10 + sub r8, r14 + not r14 + add r14, r10 + je .LBB5_122 +# %bb.138: + mov r10, r8 + and r10, -2 + xor esi, esi + .p2align 4, 0x90 +.LBB5_139: # =>This Inner Loop Header: Depth=1 + cmp r11b, byte ptr [rdx + rsi] + setne al + neg al + mov rdi, rsi + shr rdi, 3 + mov ecx, esi + and cl, 6 + mov bl, 1 + shl bl, cl + movzx r9d, byte ptr [r13 + rdi] + xor al, r9b + and bl, al + xor bl, r9b + mov byte ptr [r13 + rdi], bl + cmp r11b, byte ptr [rdx + rsi + 1] + lea rsi, [rsi + 2] + setne r9b + neg r9b + xor r9b, bl + or cl, 1 + mov al, 1 + shl al, cl + and al, r9b + xor al, bl + mov byte ptr [r13 + rdi], al + cmp r10, rsi + jne .LBB5_139 + jmp .LBB5_155 +.LBB5_49: + cmp edi, 7 + je .LBB5_123 +# %bb.50: cmp edi, 8 - jne .LBB5_157 -# %bb.48: + jne .LBB5_164 +# %bb.51: mov r14, qword ptr [rsi] lea r11, [r10 + 31] test r10, r10 @@ -27467,11 +28650,11 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 cmovns eax, r9d and eax, -8 sub r9d, eax - je .LBB5_52 -# %bb.49: + je .LBB5_55 +# %bb.52: movsxd rax, r9d .p2align 4, 0x90 -.LBB5_50: # =>This Inner Loop Header: Depth=1 +.LBB5_53: # =>This Inner Loop Header: Depth=1 cmp r14, qword ptr [rdx] lea rdx, [rdx + 8] setne bl @@ -27480,7 +28663,8 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 test rax, rax cmovns rsi, rax sar rsi, 3 - movzx r8d, byte ptr [r15 + rsi] + mov r9, r13 + movzx r8d, byte ptr [r13 + rsi] xor bl, r8b lea edi, [8*rsi] mov ecx, eax @@ -27490,23 +28674,23 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 shl edi, cl and dil, bl xor dil, r8b - mov byte ptr [r15 + rsi], dil + mov byte ptr [r13 + rsi], dil add rax, 1 cmp rax, 8 - jne .LBB5_50 -# %bb.51: - add r15, 1 -.LBB5_52: + jne .LBB5_53 +# %bb.54: + add r13, 1 +.LBB5_55: sar r11, 5 cmp r10, 32 - jl .LBB5_56 -# %bb.53: + jl .LBB5_59 +# %bb.56: mov qword ptr [rsp + 280], r10 # 8-byte Spill - mov qword ptr [rsp + 176], r11 # 8-byte Spill mov qword ptr [rsp + 160], r11 # 8-byte Spill + mov qword ptr [rsp + 168], r11 # 8-byte Spill .p2align 4, 0x90 -.LBB5_54: # =>This Inner Loop Header: Depth=1 - mov qword ptr [rsp + 272], r15 # 8-byte Spill +.LBB5_57: # =>This Inner Loop Header: Depth=1 + mov qword ptr [rsp + 272], r13 # 8-byte Spill cmp r14, qword ptr [rdx + 248] setne byte ptr [rsp + 28] # 1-byte Folded Spill cmp r14, qword ptr [rdx + 240] @@ -27516,31 +28700,31 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 cmp r14, qword ptr [rdx + 224] setne byte ptr [rsp + 32] # 1-byte Folded Spill cmp r14, qword ptr [rdx + 216] - setne byte ptr [rsp + 40] # 1-byte Folded Spill - cmp r14, qword ptr [rdx + 208] setne byte ptr [rsp + 56] # 1-byte Folded Spill - cmp r14, qword ptr [rdx + 200] + cmp r14, qword ptr [rdx + 208] setne byte ptr [rsp + 48] # 1-byte Folded Spill + cmp r14, qword ptr [rdx + 200] + setne byte ptr [rsp + 40] # 1-byte Folded Spill cmp r14, qword ptr [rdx + 184] setne byte ptr [rsp + 72] # 1-byte Folded Spill cmp r14, qword ptr [rdx + 176] setne byte ptr [rsp + 64] # 1-byte Folded Spill cmp r14, qword ptr [rdx + 168] - setne byte ptr [rsp + 104] # 1-byte Folded Spill - cmp r14, qword ptr [rdx + 160] setne byte ptr [rsp + 96] # 1-byte Folded Spill - cmp r14, qword ptr [rdx + 152] + cmp r14, qword ptr [rdx + 160] setne byte ptr [rsp + 88] # 1-byte Folded Spill - cmp r14, qword ptr [rdx + 144] + cmp r14, qword ptr [rdx + 152] setne byte ptr [rsp + 80] # 1-byte Folded Spill - cmp r14, qword ptr [rdx + 136] + cmp r14, qword ptr [rdx + 144] setne byte ptr [rsp + 144] # 1-byte Folded Spill + cmp r14, qword ptr [rdx + 136] + setne byte ptr [rsp + 136] # 1-byte Folded Spill cmp r14, qword ptr [rdx + 120] setne r8b cmp r14, qword ptr [rdx + 112] - setne byte ptr [rsp + 128] # 1-byte Folded Spill - cmp r14, qword ptr [rdx + 104] setne byte ptr [rsp + 120] # 1-byte Folded Spill + cmp r14, qword ptr [rdx + 104] + setne byte ptr [rsp + 112] # 1-byte Folded Spill cmp r14, qword ptr [rdx + 96] setne r11b cmp r14, qword ptr [rdx + 88] @@ -27558,28 +28742,28 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 cmp r14, qword ptr [rdx + 32] setne cl cmp r14, qword ptr [rdx + 24] - setne r13b - cmp r14, qword ptr [rdx + 16] setne r12b + cmp r14, qword ptr [rdx + 16] + setne r13b cmp r14, qword ptr [rdx] - setne byte ptr [rsp + 168] # 1-byte Folded Spill + setne byte ptr [rsp + 176] # 1-byte Folded Spill cmp r14, qword ptr [rdx + 8] setne r15b cmp r14, qword ptr [rdx + 64] setne byte ptr [rsp + 152] # 1-byte Folded Spill cmp r14, qword ptr [rdx + 128] - setne byte ptr [rsp + 112] # 1-byte Folded Spill + setne byte ptr [rsp + 104] # 1-byte Folded Spill cmp r14, qword ptr [rdx + 192] - setne byte ptr [rsp + 136] # 1-byte Folded Spill + setne byte ptr [rsp + 128] # 1-byte Folded Spill add r15b, r15b - add r15b, byte ptr [rsp + 168] # 1-byte Folded Reload - shl r12b, 2 - or r12b, r15b + add r15b, byte ptr [rsp + 176] # 1-byte Folded Reload + shl r13b, 2 + or r13b, r15b mov r15, qword ptr [rsp + 272] # 8-byte Reload - shl r13b, 3 - or r13b, r12b + shl r12b, 3 + or r12b, r13b shl cl, 4 - or cl, r13b + or cl, r12b shl sil, 5 or sil, cl shl bl, 6 @@ -27595,32 +28779,32 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 or r10b, r9b shl r11b, 4 or r11b, r10b - movzx eax, byte ptr [rsp + 120] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 112] # 1-byte Folded Reload shl al, 5 or al, r11b - movzx ecx, byte ptr [rsp + 128] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 120] # 1-byte Folded Reload shl cl, 6 shl r8b, 7 or r8b, cl or r8b, al mov byte ptr [r15 + 1], r8b - movzx eax, byte ptr [rsp + 144] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 136] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 112] # 1-byte Folded Reload + add al, byte ptr [rsp + 104] # 1-byte Folded Reload mov ecx, eax - movzx eax, byte ptr [rsp + 80] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 144] # 1-byte Folded Reload shl al, 2 or al, cl mov ecx, eax - movzx eax, byte ptr [rsp + 88] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 80] # 1-byte Folded Reload shl al, 3 or al, cl mov ecx, eax - movzx eax, byte ptr [rsp + 96] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 88] # 1-byte Folded Reload shl al, 4 or al, cl mov ecx, eax - movzx eax, byte ptr [rsp + 104] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 96] # 1-byte Folded Reload shl al, 5 or al, cl mov ecx, eax @@ -27631,15 +28815,15 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 or al, bl or al, cl mov byte ptr [r15 + 2], al - movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 136] # 1-byte Folded Reload + add al, byte ptr [rsp + 128] # 1-byte Folded Reload mov ecx, eax - movzx eax, byte ptr [rsp + 56] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload shl al, 2 or al, cl mov ecx, eax - movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 56] # 1-byte Folded Reload shl al, 3 or al, cl mov ecx, eax @@ -27660,33 +28844,35 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 mov byte ptr [r15 + 3], al add rdx, 256 add r15, 4 - add qword ptr [rsp + 160], -1 # 8-byte Folded Spill - jne .LBB5_54 -# %bb.55: + mov r13, r15 + add qword ptr [rsp + 168], -1 # 8-byte Folded Spill + jne .LBB5_57 +# %bb.58: mov r10, qword ptr [rsp + 280] # 8-byte Reload - mov r11, qword ptr [rsp + 176] # 8-byte Reload -.LBB5_56: + mov r11, qword ptr [rsp + 160] # 8-byte Reload +.LBB5_59: shl r11, 5 cmp r11, r10 - jge .LBB5_157 -# %bb.57: + jge .LBB5_164 +# %bb.60: mov r8, r10 sub r8, r11 not r11 add r11, r10 - je .LBB5_93 -# %bb.58: + je .LBB5_96 +# %bb.61: mov r10, r8 and r10, -2 xor edi, edi .p2align 4, 0x90 -.LBB5_59: # =>This Inner Loop Header: Depth=1 +.LBB5_62: # =>This Inner Loop Header: Depth=1 cmp r14, qword ptr [rdx] setne al neg al mov rsi, rdi shr rsi, 3 - movzx r9d, byte ptr [r15 + rsi] + mov r11, r13 + movzx r9d, byte ptr [r13 + rsi] mov ecx, edi and cl, 6 mov bl, 1 @@ -27694,7 +28880,7 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 xor al, r9b and bl, al xor bl, r9b - mov byte ptr [r15 + rsi], bl + mov byte ptr [r13 + rsi], bl add rdi, 2 cmp r14, qword ptr [rdx + 8] lea rdx, [rdx + 16] @@ -27706,11 +28892,11 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 shl al, cl and al, r9b xor al, bl - mov byte ptr [r15 + rsi], al + mov byte ptr [r13 + rsi], al cmp r10, rdi - jne .LBB5_59 + jne .LBB5_62 jmp .LBB5_146 -.LBB5_60: +.LBB5_63: movzx r14d, word ptr [rsi] lea r11, [r10 + 31] test r10, r10 @@ -27720,11 +28906,11 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 cmovns eax, r9d and eax, -8 sub r9d, eax - je .LBB5_64 -# %bb.61: + je .LBB5_67 +# %bb.64: movsxd rax, r9d .p2align 4, 0x90 -.LBB5_62: # =>This Inner Loop Header: Depth=1 +.LBB5_65: # =>This Inner Loop Header: Depth=1 cmp r14w, word ptr [rdx] lea rdx, [rdx + 2] setne bl @@ -27733,7 +28919,8 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 test rax, rax cmovns rsi, rax sar rsi, 3 - movzx r8d, byte ptr [r15 + rsi] + mov r9, r13 + movzx r8d, byte ptr [r13 + rsi] xor bl, r8b lea edi, [8*rsi] mov ecx, eax @@ -27743,23 +28930,23 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 shl edi, cl and dil, bl xor dil, r8b - mov byte ptr [r15 + rsi], dil + mov byte ptr [r13 + rsi], dil add rax, 1 cmp rax, 8 - jne .LBB5_62 -# %bb.63: - add r15, 1 -.LBB5_64: + jne .LBB5_65 +# %bb.66: + add r13, 1 +.LBB5_67: sar r11, 5 cmp r10, 32 - jl .LBB5_68 -# %bb.65: + jl .LBB5_71 +# %bb.68: mov qword ptr [rsp + 280], r10 # 8-byte Spill - mov qword ptr [rsp + 176], r11 # 8-byte Spill mov qword ptr [rsp + 160], r11 # 8-byte Spill + mov qword ptr [rsp + 168], r11 # 8-byte Spill .p2align 4, 0x90 -.LBB5_66: # =>This Inner Loop Header: Depth=1 - mov qword ptr [rsp + 272], r15 # 8-byte Spill +.LBB5_69: # =>This Inner Loop Header: Depth=1 + mov qword ptr [rsp + 272], r13 # 8-byte Spill cmp r14w, word ptr [rdx + 62] setne byte ptr [rsp + 28] # 1-byte Folded Spill cmp r14w, word ptr [rdx + 60] @@ -27769,31 +28956,31 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 cmp r14w, word ptr [rdx + 56] setne byte ptr [rsp + 32] # 1-byte Folded Spill cmp r14w, word ptr [rdx + 54] - setne byte ptr [rsp + 40] # 1-byte Folded Spill - cmp r14w, word ptr [rdx + 52] setne byte ptr [rsp + 56] # 1-byte Folded Spill - cmp r14w, word ptr [rdx + 50] + cmp r14w, word ptr [rdx + 52] setne byte ptr [rsp + 48] # 1-byte Folded Spill + cmp r14w, word ptr [rdx + 50] + setne byte ptr [rsp + 40] # 1-byte Folded Spill cmp r14w, word ptr [rdx + 46] setne byte ptr [rsp + 72] # 1-byte Folded Spill cmp r14w, word ptr [rdx + 44] setne byte ptr [rsp + 64] # 1-byte Folded Spill cmp r14w, word ptr [rdx + 42] - setne byte ptr [rsp + 104] # 1-byte Folded Spill - cmp r14w, word ptr [rdx + 40] setne byte ptr [rsp + 96] # 1-byte Folded Spill - cmp r14w, word ptr [rdx + 38] + cmp r14w, word ptr [rdx + 40] setne byte ptr [rsp + 88] # 1-byte Folded Spill - cmp r14w, word ptr [rdx + 36] + cmp r14w, word ptr [rdx + 38] setne byte ptr [rsp + 80] # 1-byte Folded Spill - cmp r14w, word ptr [rdx + 34] + cmp r14w, word ptr [rdx + 36] setne byte ptr [rsp + 144] # 1-byte Folded Spill + cmp r14w, word ptr [rdx + 34] + setne byte ptr [rsp + 136] # 1-byte Folded Spill cmp r14w, word ptr [rdx + 30] setne r8b cmp r14w, word ptr [rdx + 28] - setne byte ptr [rsp + 128] # 1-byte Folded Spill - cmp r14w, word ptr [rdx + 26] setne byte ptr [rsp + 120] # 1-byte Folded Spill + cmp r14w, word ptr [rdx + 26] + setne byte ptr [rsp + 112] # 1-byte Folded Spill cmp r14w, word ptr [rdx + 24] setne r11b cmp r14w, word ptr [rdx + 22] @@ -27811,28 +28998,28 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 cmp r14w, word ptr [rdx + 8] setne cl cmp r14w, word ptr [rdx + 6] - setne r13b - cmp r14w, word ptr [rdx + 4] setne r12b + cmp r14w, word ptr [rdx + 4] + setne r13b cmp r14w, word ptr [rdx] - setne byte ptr [rsp + 168] # 1-byte Folded Spill + setne byte ptr [rsp + 176] # 1-byte Folded Spill cmp r14w, word ptr [rdx + 2] setne r15b cmp r14w, word ptr [rdx + 16] setne byte ptr [rsp + 152] # 1-byte Folded Spill cmp r14w, word ptr [rdx + 32] - setne byte ptr [rsp + 112] # 1-byte Folded Spill + setne byte ptr [rsp + 104] # 1-byte Folded Spill cmp r14w, word ptr [rdx + 48] - setne byte ptr [rsp + 136] # 1-byte Folded Spill + setne byte ptr [rsp + 128] # 1-byte Folded Spill add r15b, r15b - add r15b, byte ptr [rsp + 168] # 1-byte Folded Reload - shl r12b, 2 - or r12b, r15b + add r15b, byte ptr [rsp + 176] # 1-byte Folded Reload + shl r13b, 2 + or r13b, r15b mov r15, qword ptr [rsp + 272] # 8-byte Reload - shl r13b, 3 - or r13b, r12b + shl r12b, 3 + or r12b, r13b shl cl, 4 - or cl, r13b + or cl, r12b shl sil, 5 or sil, cl shl bl, 6 @@ -27848,32 +29035,32 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 or r10b, r9b shl r11b, 4 or r11b, r10b - movzx eax, byte ptr [rsp + 120] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 112] # 1-byte Folded Reload shl al, 5 or al, r11b - movzx ecx, byte ptr [rsp + 128] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 120] # 1-byte Folded Reload shl cl, 6 shl r8b, 7 or r8b, cl or r8b, al mov byte ptr [r15 + 1], r8b - movzx eax, byte ptr [rsp + 144] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 136] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 112] # 1-byte Folded Reload + add al, byte ptr [rsp + 104] # 1-byte Folded Reload mov ecx, eax - movzx eax, byte ptr [rsp + 80] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 144] # 1-byte Folded Reload shl al, 2 or al, cl mov ecx, eax - movzx eax, byte ptr [rsp + 88] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 80] # 1-byte Folded Reload shl al, 3 or al, cl mov ecx, eax - movzx eax, byte ptr [rsp + 96] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 88] # 1-byte Folded Reload shl al, 4 or al, cl mov ecx, eax - movzx eax, byte ptr [rsp + 104] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 96] # 1-byte Folded Reload shl al, 5 or al, cl mov ecx, eax @@ -27884,15 +29071,15 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 or al, bl or al, cl mov byte ptr [r15 + 2], al - movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 136] # 1-byte Folded Reload + add al, byte ptr [rsp + 128] # 1-byte Folded Reload mov ecx, eax - movzx eax, byte ptr [rsp + 56] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload shl al, 2 or al, cl mov ecx, eax - movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 56] # 1-byte Folded Reload shl al, 3 or al, cl mov ecx, eax @@ -27913,33 +29100,35 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 mov byte ptr [r15 + 3], al add rdx, 64 add r15, 4 - add qword ptr [rsp + 160], -1 # 8-byte Folded Spill - jne .LBB5_66 -# %bb.67: + mov r13, r15 + add qword ptr [rsp + 168], -1 # 8-byte Folded Spill + jne .LBB5_69 +# %bb.70: mov r10, qword ptr [rsp + 280] # 8-byte Reload - mov r11, qword ptr [rsp + 176] # 8-byte Reload -.LBB5_68: + mov r11, qword ptr [rsp + 160] # 8-byte Reload +.LBB5_71: shl r11, 5 cmp r11, r10 - jge .LBB5_157 -# %bb.69: + jge .LBB5_164 +# %bb.72: mov r8, r10 sub r8, r11 not r11 add r11, r10 - je .LBB5_82 -# %bb.70: + je .LBB5_85 +# %bb.73: mov r10, r8 and r10, -2 xor edi, edi .p2align 4, 0x90 -.LBB5_71: # =>This Inner Loop Header: Depth=1 +.LBB5_74: # =>This Inner Loop Header: Depth=1 cmp r14w, word ptr [rdx] setne al neg al mov rsi, rdi shr rsi, 3 - movzx r9d, byte ptr [r15 + rsi] + mov r11, r13 + movzx r9d, byte ptr [r13 + rsi] mov ecx, edi and cl, 6 mov bl, 1 @@ -27947,7 +29136,7 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 xor al, r9b and bl, al xor bl, r9b - mov byte ptr [r15 + rsi], bl + mov byte ptr [r13 + rsi], bl add rdi, 2 cmp r14w, word ptr [rdx + 2] lea rdx, [rdx + 4] @@ -27959,11 +29148,11 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 shl al, cl and al, r9b xor al, bl - mov byte ptr [r15 + rsi], al + mov byte ptr [r13 + rsi], al cmp r10, rdi - jne .LBB5_71 + jne .LBB5_74 jmp .LBB5_142 -.LBB5_72: +.LBB5_75: movzx r14d, word ptr [rsi] lea r11, [r10 + 31] test r10, r10 @@ -27973,11 +29162,11 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 cmovns eax, r9d and eax, -8 sub r9d, eax - je .LBB5_76 -# %bb.73: + je .LBB5_79 +# %bb.76: movsxd rax, r9d .p2align 4, 0x90 -.LBB5_74: # =>This Inner Loop Header: Depth=1 +.LBB5_77: # =>This Inner Loop Header: Depth=1 cmp r14w, word ptr [rdx] lea rdx, [rdx + 2] setne bl @@ -27986,7 +29175,8 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 test rax, rax cmovns rsi, rax sar rsi, 3 - movzx r8d, byte ptr [r15 + rsi] + mov r9, r13 + movzx r8d, byte ptr [r13 + rsi] xor bl, r8b lea edi, [8*rsi] mov ecx, eax @@ -27996,23 +29186,23 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 shl edi, cl and dil, bl xor dil, r8b - mov byte ptr [r15 + rsi], dil + mov byte ptr [r13 + rsi], dil add rax, 1 cmp rax, 8 - jne .LBB5_74 -# %bb.75: - add r15, 1 -.LBB5_76: + jne .LBB5_77 +# %bb.78: + add r13, 1 +.LBB5_79: sar r11, 5 cmp r10, 32 - jl .LBB5_80 -# %bb.77: + jl .LBB5_83 +# %bb.80: mov qword ptr [rsp + 280], r10 # 8-byte Spill - mov qword ptr [rsp + 176], r11 # 8-byte Spill mov qword ptr [rsp + 160], r11 # 8-byte Spill + mov qword ptr [rsp + 168], r11 # 8-byte Spill .p2align 4, 0x90 -.LBB5_78: # =>This Inner Loop Header: Depth=1 - mov qword ptr [rsp + 272], r15 # 8-byte Spill +.LBB5_81: # =>This Inner Loop Header: Depth=1 + mov qword ptr [rsp + 272], r13 # 8-byte Spill cmp r14w, word ptr [rdx + 62] setne byte ptr [rsp + 28] # 1-byte Folded Spill cmp r14w, word ptr [rdx + 60] @@ -28022,31 +29212,31 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 cmp r14w, word ptr [rdx + 56] setne byte ptr [rsp + 32] # 1-byte Folded Spill cmp r14w, word ptr [rdx + 54] - setne byte ptr [rsp + 40] # 1-byte Folded Spill - cmp r14w, word ptr [rdx + 52] setne byte ptr [rsp + 56] # 1-byte Folded Spill - cmp r14w, word ptr [rdx + 50] + cmp r14w, word ptr [rdx + 52] setne byte ptr [rsp + 48] # 1-byte Folded Spill + cmp r14w, word ptr [rdx + 50] + setne byte ptr [rsp + 40] # 1-byte Folded Spill cmp r14w, word ptr [rdx + 46] setne byte ptr [rsp + 72] # 1-byte Folded Spill cmp r14w, word ptr [rdx + 44] setne byte ptr [rsp + 64] # 1-byte Folded Spill cmp r14w, word ptr [rdx + 42] - setne byte ptr [rsp + 104] # 1-byte Folded Spill - cmp r14w, word ptr [rdx + 40] setne byte ptr [rsp + 96] # 1-byte Folded Spill - cmp r14w, word ptr [rdx + 38] + cmp r14w, word ptr [rdx + 40] setne byte ptr [rsp + 88] # 1-byte Folded Spill - cmp r14w, word ptr [rdx + 36] + cmp r14w, word ptr [rdx + 38] setne byte ptr [rsp + 80] # 1-byte Folded Spill - cmp r14w, word ptr [rdx + 34] + cmp r14w, word ptr [rdx + 36] setne byte ptr [rsp + 144] # 1-byte Folded Spill + cmp r14w, word ptr [rdx + 34] + setne byte ptr [rsp + 136] # 1-byte Folded Spill cmp r14w, word ptr [rdx + 30] setne r8b cmp r14w, word ptr [rdx + 28] - setne byte ptr [rsp + 128] # 1-byte Folded Spill - cmp r14w, word ptr [rdx + 26] setne byte ptr [rsp + 120] # 1-byte Folded Spill + cmp r14w, word ptr [rdx + 26] + setne byte ptr [rsp + 112] # 1-byte Folded Spill cmp r14w, word ptr [rdx + 24] setne r11b cmp r14w, word ptr [rdx + 22] @@ -28064,28 +29254,28 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 cmp r14w, word ptr [rdx + 8] setne cl cmp r14w, word ptr [rdx + 6] - setne r13b - cmp r14w, word ptr [rdx + 4] setne r12b + cmp r14w, word ptr [rdx + 4] + setne r13b cmp r14w, word ptr [rdx] - setne byte ptr [rsp + 168] # 1-byte Folded Spill + setne byte ptr [rsp + 176] # 1-byte Folded Spill cmp r14w, word ptr [rdx + 2] setne r15b cmp r14w, word ptr [rdx + 16] setne byte ptr [rsp + 152] # 1-byte Folded Spill cmp r14w, word ptr [rdx + 32] - setne byte ptr [rsp + 112] # 1-byte Folded Spill + setne byte ptr [rsp + 104] # 1-byte Folded Spill cmp r14w, word ptr [rdx + 48] - setne byte ptr [rsp + 136] # 1-byte Folded Spill + setne byte ptr [rsp + 128] # 1-byte Folded Spill add r15b, r15b - add r15b, byte ptr [rsp + 168] # 1-byte Folded Reload - shl r12b, 2 - or r12b, r15b + add r15b, byte ptr [rsp + 176] # 1-byte Folded Reload + shl r13b, 2 + or r13b, r15b mov r15, qword ptr [rsp + 272] # 8-byte Reload - shl r13b, 3 - or r13b, r12b + shl r12b, 3 + or r12b, r13b shl cl, 4 - or cl, r13b + or cl, r12b shl sil, 5 or sil, cl shl bl, 6 @@ -28101,32 +29291,32 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 or r10b, r9b shl r11b, 4 or r11b, r10b - movzx eax, byte ptr [rsp + 120] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 112] # 1-byte Folded Reload shl al, 5 or al, r11b - movzx ecx, byte ptr [rsp + 128] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 120] # 1-byte Folded Reload shl cl, 6 shl r8b, 7 or r8b, cl or r8b, al mov byte ptr [r15 + 1], r8b - movzx eax, byte ptr [rsp + 144] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 136] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 112] # 1-byte Folded Reload + add al, byte ptr [rsp + 104] # 1-byte Folded Reload mov ecx, eax - movzx eax, byte ptr [rsp + 80] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 144] # 1-byte Folded Reload shl al, 2 or al, cl mov ecx, eax - movzx eax, byte ptr [rsp + 88] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 80] # 1-byte Folded Reload shl al, 3 or al, cl mov ecx, eax - movzx eax, byte ptr [rsp + 96] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 88] # 1-byte Folded Reload shl al, 4 or al, cl mov ecx, eax - movzx eax, byte ptr [rsp + 104] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 96] # 1-byte Folded Reload shl al, 5 or al, cl mov ecx, eax @@ -28137,15 +29327,15 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 or al, bl or al, cl mov byte ptr [r15 + 2], al - movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 136] # 1-byte Folded Reload + add al, byte ptr [rsp + 128] # 1-byte Folded Reload mov ecx, eax - movzx eax, byte ptr [rsp + 56] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload shl al, 2 or al, cl mov ecx, eax - movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 56] # 1-byte Folded Reload shl al, 3 or al, cl mov ecx, eax @@ -28166,25 +29356,26 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 mov byte ptr [r15 + 3], al add rdx, 64 add r15, 4 - add qword ptr [rsp + 160], -1 # 8-byte Folded Spill - jne .LBB5_78 -# %bb.79: + mov r13, r15 + add qword ptr [rsp + 168], -1 # 8-byte Folded Spill + jne .LBB5_81 +# %bb.82: mov r10, qword ptr [rsp + 280] # 8-byte Reload - mov r11, qword ptr [rsp + 176] # 8-byte Reload -.LBB5_80: + mov r11, qword ptr [rsp + 160] # 8-byte Reload +.LBB5_83: shl r11, 5 cmp r11, r10 - jge .LBB5_157 -# %bb.81: + jge .LBB5_164 +# %bb.84: mov r8, r10 sub r8, r11 not r11 add r11, r10 jne .LBB5_140 -.LBB5_82: +.LBB5_85: xor edi, edi jmp .LBB5_142 -.LBB5_83: +.LBB5_86: mov r14, qword ptr [rsi] lea r11, [r10 + 31] test r10, r10 @@ -28194,11 +29385,11 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 cmovns eax, r9d and eax, -8 sub r9d, eax - je .LBB5_87 -# %bb.84: + je .LBB5_90 +# %bb.87: movsxd rax, r9d .p2align 4, 0x90 -.LBB5_85: # =>This Inner Loop Header: Depth=1 +.LBB5_88: # =>This Inner Loop Header: Depth=1 cmp r14, qword ptr [rdx] lea rdx, [rdx + 8] setne bl @@ -28207,7 +29398,8 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 test rax, rax cmovns rsi, rax sar rsi, 3 - movzx r8d, byte ptr [r15 + rsi] + mov r9, r13 + movzx r8d, byte ptr [r13 + rsi] xor bl, r8b lea edi, [8*rsi] mov ecx, eax @@ -28217,23 +29409,23 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 shl edi, cl and dil, bl xor dil, r8b - mov byte ptr [r15 + rsi], dil + mov byte ptr [r13 + rsi], dil add rax, 1 cmp rax, 8 - jne .LBB5_85 -# %bb.86: - add r15, 1 -.LBB5_87: + jne .LBB5_88 +# %bb.89: + add r13, 1 +.LBB5_90: sar r11, 5 cmp r10, 32 - jl .LBB5_91 -# %bb.88: + jl .LBB5_94 +# %bb.91: mov qword ptr [rsp + 280], r10 # 8-byte Spill - mov qword ptr [rsp + 176], r11 # 8-byte Spill mov qword ptr [rsp + 160], r11 # 8-byte Spill + mov qword ptr [rsp + 168], r11 # 8-byte Spill .p2align 4, 0x90 -.LBB5_89: # =>This Inner Loop Header: Depth=1 - mov qword ptr [rsp + 272], r15 # 8-byte Spill +.LBB5_92: # =>This Inner Loop Header: Depth=1 + mov qword ptr [rsp + 272], r13 # 8-byte Spill cmp r14, qword ptr [rdx + 248] setne byte ptr [rsp + 28] # 1-byte Folded Spill cmp r14, qword ptr [rdx + 240] @@ -28243,31 +29435,31 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 cmp r14, qword ptr [rdx + 224] setne byte ptr [rsp + 32] # 1-byte Folded Spill cmp r14, qword ptr [rdx + 216] - setne byte ptr [rsp + 40] # 1-byte Folded Spill - cmp r14, qword ptr [rdx + 208] setne byte ptr [rsp + 56] # 1-byte Folded Spill - cmp r14, qword ptr [rdx + 200] + cmp r14, qword ptr [rdx + 208] setne byte ptr [rsp + 48] # 1-byte Folded Spill + cmp r14, qword ptr [rdx + 200] + setne byte ptr [rsp + 40] # 1-byte Folded Spill cmp r14, qword ptr [rdx + 184] setne byte ptr [rsp + 72] # 1-byte Folded Spill cmp r14, qword ptr [rdx + 176] setne byte ptr [rsp + 64] # 1-byte Folded Spill cmp r14, qword ptr [rdx + 168] - setne byte ptr [rsp + 104] # 1-byte Folded Spill - cmp r14, qword ptr [rdx + 160] setne byte ptr [rsp + 96] # 1-byte Folded Spill - cmp r14, qword ptr [rdx + 152] + cmp r14, qword ptr [rdx + 160] setne byte ptr [rsp + 88] # 1-byte Folded Spill - cmp r14, qword ptr [rdx + 144] + cmp r14, qword ptr [rdx + 152] setne byte ptr [rsp + 80] # 1-byte Folded Spill - cmp r14, qword ptr [rdx + 136] + cmp r14, qword ptr [rdx + 144] setne byte ptr [rsp + 144] # 1-byte Folded Spill + cmp r14, qword ptr [rdx + 136] + setne byte ptr [rsp + 136] # 1-byte Folded Spill cmp r14, qword ptr [rdx + 120] setne r8b cmp r14, qword ptr [rdx + 112] - setne byte ptr [rsp + 128] # 1-byte Folded Spill - cmp r14, qword ptr [rdx + 104] setne byte ptr [rsp + 120] # 1-byte Folded Spill + cmp r14, qword ptr [rdx + 104] + setne byte ptr [rsp + 112] # 1-byte Folded Spill cmp r14, qword ptr [rdx + 96] setne r11b cmp r14, qword ptr [rdx + 88] @@ -28285,28 +29477,28 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 cmp r14, qword ptr [rdx + 32] setne cl cmp r14, qword ptr [rdx + 24] - setne r13b - cmp r14, qword ptr [rdx + 16] setne r12b + cmp r14, qword ptr [rdx + 16] + setne r13b cmp r14, qword ptr [rdx] - setne byte ptr [rsp + 168] # 1-byte Folded Spill + setne byte ptr [rsp + 176] # 1-byte Folded Spill cmp r14, qword ptr [rdx + 8] setne r15b cmp r14, qword ptr [rdx + 64] setne byte ptr [rsp + 152] # 1-byte Folded Spill cmp r14, qword ptr [rdx + 128] - setne byte ptr [rsp + 112] # 1-byte Folded Spill + setne byte ptr [rsp + 104] # 1-byte Folded Spill cmp r14, qword ptr [rdx + 192] - setne byte ptr [rsp + 136] # 1-byte Folded Spill + setne byte ptr [rsp + 128] # 1-byte Folded Spill add r15b, r15b - add r15b, byte ptr [rsp + 168] # 1-byte Folded Reload - shl r12b, 2 - or r12b, r15b + add r15b, byte ptr [rsp + 176] # 1-byte Folded Reload + shl r13b, 2 + or r13b, r15b mov r15, qword ptr [rsp + 272] # 8-byte Reload - shl r13b, 3 - or r13b, r12b + shl r12b, 3 + or r12b, r13b shl cl, 4 - or cl, r13b + or cl, r12b shl sil, 5 or sil, cl shl bl, 6 @@ -28322,32 +29514,32 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 or r10b, r9b shl r11b, 4 or r11b, r10b - movzx eax, byte ptr [rsp + 120] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 112] # 1-byte Folded Reload shl al, 5 or al, r11b - movzx ecx, byte ptr [rsp + 128] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 120] # 1-byte Folded Reload shl cl, 6 shl r8b, 7 or r8b, cl or r8b, al mov byte ptr [r15 + 1], r8b - movzx eax, byte ptr [rsp + 144] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 136] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 112] # 1-byte Folded Reload + add al, byte ptr [rsp + 104] # 1-byte Folded Reload mov ecx, eax - movzx eax, byte ptr [rsp + 80] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 144] # 1-byte Folded Reload shl al, 2 or al, cl mov ecx, eax - movzx eax, byte ptr [rsp + 88] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 80] # 1-byte Folded Reload shl al, 3 or al, cl mov ecx, eax - movzx eax, byte ptr [rsp + 96] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 88] # 1-byte Folded Reload shl al, 4 or al, cl mov ecx, eax - movzx eax, byte ptr [rsp + 104] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 96] # 1-byte Folded Reload shl al, 5 or al, cl mov ecx, eax @@ -28358,15 +29550,15 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 or al, bl or al, cl mov byte ptr [r15 + 2], al - movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 136] # 1-byte Folded Reload + add al, byte ptr [rsp + 128] # 1-byte Folded Reload mov ecx, eax - movzx eax, byte ptr [rsp + 56] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload shl al, 2 or al, cl mov ecx, eax - movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 56] # 1-byte Folded Reload shl al, 3 or al, cl mov ecx, eax @@ -28387,25 +29579,26 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 mov byte ptr [r15 + 3], al add rdx, 256 add r15, 4 - add qword ptr [rsp + 160], -1 # 8-byte Folded Spill - jne .LBB5_89 -# %bb.90: + mov r13, r15 + add qword ptr [rsp + 168], -1 # 8-byte Folded Spill + jne .LBB5_92 +# %bb.93: mov r10, qword ptr [rsp + 280] # 8-byte Reload - mov r11, qword ptr [rsp + 176] # 8-byte Reload -.LBB5_91: + mov r11, qword ptr [rsp + 160] # 8-byte Reload +.LBB5_94: shl r11, 5 cmp r11, r10 - jge .LBB5_157 -# %bb.92: + jge .LBB5_164 +# %bb.95: mov r8, r10 sub r8, r11 not r11 add r11, r10 jne .LBB5_144 -.LBB5_93: +.LBB5_96: xor edi, edi jmp .LBB5_146 -.LBB5_94: +.LBB5_97: lea r11, [r10 + 31] test r10, r10 cmovns r11, r10 @@ -28415,20 +29608,23 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 and eax, -8 vmovss xmm0, dword ptr [rsi] # xmm0 = mem[0],zero,zero,zero sub r9d, eax - je .LBB5_98 -# %bb.95: + je .LBB5_101 +# %bb.98: movsxd rax, r9d .p2align 4, 0x90 -.LBB5_96: # =>This Inner Loop Header: Depth=1 +.LBB5_99: # =>This Inner Loop Header: Depth=1 vucomiss xmm0, dword ptr [rdx] lea rdx, [rdx + 4] + setp cl setne bl + or bl, cl neg bl lea rsi, [rax + 7] test rax, rax cmovns rsi, rax sar rsi, 3 - movzx r9d, byte ptr [r15 + rsi] + mov r14, r13 + movzx r9d, byte ptr [r13 + rsi] xor bl, r9b lea r8d, [8*rsi] mov ecx, eax @@ -28438,193 +29634,279 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 shl edi, cl and dil, bl xor dil, r9b - mov byte ptr [r15 + rsi], dil + mov byte ptr [r13 + rsi], dil add rax, 1 cmp rax, 8 - jne .LBB5_96 -# %bb.97: - add r15, 1 -.LBB5_98: + jne .LBB5_99 +# %bb.100: + add r13, 1 +.LBB5_101: sar r11, 5 cmp r10, 32 - jl .LBB5_102 -# %bb.99: + jl .LBB5_105 +# %bb.102: mov qword ptr [rsp + 280], r10 # 8-byte Spill + mov qword ptr [rsp + 184], r11 # 8-byte Spill mov qword ptr [rsp + 160], r11 # 8-byte Spill - mov qword ptr [rsp + 168], r11 # 8-byte Spill .p2align 4, 0x90 -.LBB5_100: # =>This Inner Loop Header: Depth=1 - mov qword ptr [rsp + 272], r15 # 8-byte Spill +.LBB5_103: # =>This Inner Loop Header: Depth=1 + mov qword ptr [rsp + 272], r13 # 8-byte Spill vucomiss xmm0, dword ptr [rdx] - setne byte ptr [rsp + 152] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 48], cl # 1-byte Spill vucomiss xmm0, dword ptr [rdx + 4] - setne r9b + setp al + setne r13b + or r13b, al vucomiss xmm0, dword ptr [rdx + 8] - setne r11b + setp al + setne cl + or cl, al + mov byte ptr [rsp + 56], cl # 1-byte Spill vucomiss xmm0, dword ptr [rdx + 12] - setne r13b + setp al + setne cl + or cl, al + mov byte ptr [rsp + 320], cl # 1-byte Spill vucomiss xmm0, dword ptr [rdx + 16] - setne byte ptr [rsp + 112] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 32], cl # 1-byte Spill vucomiss xmm0, dword ptr [rdx + 20] - setne byte ptr [rsp + 104] # 1-byte Folded Spill + setp al + setne r12b + or r12b, al vucomiss xmm0, dword ptr [rdx + 24] - setne bl + setp al + setne cl + or cl, al + mov byte ptr [rsp + 72], cl # 1-byte Spill vucomiss xmm0, dword ptr [rdx + 28] - setne r12b + setp al + setne cl + or cl, al + mov byte ptr [rsp + 28], cl # 1-byte Spill vucomiss xmm0, dword ptr [rdx + 32] - setne byte ptr [rsp + 120] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 40], cl # 1-byte Spill vucomiss xmm0, dword ptr [rdx + 36] - setne sil + setp al + setne cl + or cl, al + mov byte ptr [rsp + 64], cl # 1-byte Spill vucomiss xmm0, dword ptr [rdx + 40] - setne dil + setp al + setne cl + or cl, al + mov byte ptr [rsp + 96], cl # 1-byte Spill vucomiss xmm0, dword ptr [rdx + 44] - setne r8b + setp al + setne bl + or bl, al vucomiss xmm0, dword ptr [rdx + 48] - setne r10b + setp al + setne cl + or cl, al + mov byte ptr [rsp + 288], cl # 1-byte Spill vucomiss xmm0, dword ptr [rdx + 52] - setne r15b + setp al + setne cl + or cl, al + mov byte ptr [rsp + 80], cl # 1-byte Spill vucomiss xmm0, dword ptr [rdx + 56] - setne byte ptr [rsp + 128] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 144], cl # 1-byte Spill vucomiss xmm0, dword ptr [rdx + 60] + setp al setne cl + or cl, al + mov byte ptr [rsp + 136], cl # 1-byte Spill vucomiss xmm0, dword ptr [rdx + 64] - setne byte ptr [rsp + 88] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 88], cl # 1-byte Spill vucomiss xmm0, dword ptr [rdx + 68] - setne byte ptr [rsp + 136] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 128], cl # 1-byte Spill vucomiss xmm0, dword ptr [rdx + 72] - setne byte ptr [rsp + 144] # 1-byte Folded Spill + setp al + setne r15b + or r15b, al vucomiss xmm0, dword ptr [rdx + 76] - setne byte ptr [rsp + 80] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 120], cl # 1-byte Spill vucomiss xmm0, dword ptr [rdx + 80] - setne byte ptr [rsp + 96] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 112], cl # 1-byte Spill vucomiss xmm0, dword ptr [rdx + 84] - setne byte ptr [rsp + 64] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 152], cl # 1-byte Spill vucomiss xmm0, dword ptr [rdx + 88] - setne byte ptr [rsp + 72] # 1-byte Folded Spill - vucomiss xmm0, dword ptr [rdx + 92] + setp al setne r14b + or r14b, al + vucomiss xmm0, dword ptr [rdx + 92] + setp al + setne r8b + or r8b, al vucomiss xmm0, dword ptr [rdx + 96] - setne byte ptr [rsp + 32] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 104], cl # 1-byte Spill vucomiss xmm0, dword ptr [rdx + 100] - setne byte ptr [rsp + 48] # 1-byte Folded Spill + setp al + setne r11b + or r11b, al vucomiss xmm0, dword ptr [rdx + 104] - setne byte ptr [rsp + 56] # 1-byte Folded Spill + setp al + setne r10b + or r10b, al vucomiss xmm0, dword ptr [rdx + 108] - setne byte ptr [rsp + 40] # 1-byte Folded Spill + setp al + setne r9b + or r9b, al vucomiss xmm0, dword ptr [rdx + 112] - setne byte ptr [rsp + 320] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 176], cl # 1-byte Spill vucomiss xmm0, dword ptr [rdx + 116] - setne byte ptr [rsp + 288] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 168], cl # 1-byte Spill vucomiss xmm0, dword ptr [rdx + 120] - setne byte ptr [rsp + 28] # 1-byte Folded Spill + setp al + setne dil + or dil, al vucomiss xmm0, dword ptr [rdx + 124] - setne al - add r9b, r9b - add r9b, byte ptr [rsp + 152] # 1-byte Folded Reload - shl bl, 6 - shl r12b, 7 - or r12b, bl - shl r11b, 2 - or r11b, r9b - add sil, sil - add sil, byte ptr [rsp + 120] # 1-byte Folded Reload - shl r13b, 3 - or r13b, r11b - shl dil, 2 - or dil, sil - movzx ebx, byte ptr [rsp + 112] # 1-byte Folded Reload - shl bl, 4 - or bl, r13b - mov esi, ebx - shl r8b, 3 - or r8b, dil - movzx ebx, byte ptr [rsp + 104] # 1-byte Folded Reload - shl bl, 5 - or bl, sil - shl r10b, 4 - or r10b, r8b - shl r15b, 5 - or r15b, r10b - movzx esi, byte ptr [rsp + 128] # 1-byte Folded Reload - shl sil, 6 - shl cl, 7 - or cl, sil - or r12b, bl - or cl, r15b - mov r15, qword ptr [rsp + 272] # 8-byte Reload - movzx ebx, byte ptr [rsp + 136] # 1-byte Folded Reload - add bl, bl - add bl, byte ptr [rsp + 88] # 1-byte Folded Reload - mov esi, ebx - movzx ebx, byte ptr [rsp + 144] # 1-byte Folded Reload - shl bl, 2 - or bl, sil - mov esi, ebx - movzx ebx, byte ptr [rsp + 80] # 1-byte Folded Reload + setp al + setne sil + or sil, al + add r13b, r13b + add r13b, byte ptr [rsp + 48] # 1-byte Folded Reload + mov eax, r13d + shl r12b, 5 + movzx r13d, byte ptr [rsp + 72] # 1-byte Folded Reload + shl r13b, 6 + or r13b, r12b + movzx r12d, byte ptr [rsp + 56] # 1-byte Folded Reload + shl r12b, 2 + or r12b, al + movzx ecx, byte ptr [rsp + 64] # 1-byte Folded Reload + add cl, cl + add cl, byte ptr [rsp + 40] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 28] # 1-byte Folded Reload + shl al, 7 + or al, r13b + mov byte ptr [rsp + 28], al # 1-byte Spill + movzx eax, byte ptr [rsp + 96] # 1-byte Folded Reload + shl al, 2 + or al, cl + mov ecx, eax + movzx eax, byte ptr [rsp + 320] # 1-byte Folded Reload + shl al, 3 + or al, r12b shl bl, 3 - or bl, sil - mov esi, ebx - movzx ebx, byte ptr [rsp + 96] # 1-byte Folded Reload - shl bl, 4 - or bl, sil - mov esi, ebx - movzx ebx, byte ptr [rsp + 64] # 1-byte Folded Reload - shl bl, 5 - or bl, sil - mov byte ptr [r15], r12b - movzx esi, byte ptr [rsp + 72] # 1-byte Folded Reload - shl sil, 6 - shl r14b, 7 - or r14b, sil - mov byte ptr [r15 + 1], cl - or r14b, bl - movzx ecx, byte ptr [rsp + 48] # 1-byte Folded Reload + or bl, cl + movzx r13d, byte ptr [rsp + 32] # 1-byte Folded Reload + shl r13b, 4 + or r13b, al + movzx eax, byte ptr [rsp + 288] # 1-byte Folded Reload + shl al, 4 + or al, bl + mov byte ptr [rsp + 288], al # 1-byte Spill + movzx ecx, byte ptr [rsp + 80] # 1-byte Folded Reload + shl cl, 5 + movzx eax, byte ptr [rsp + 144] # 1-byte Folded Reload + shl al, 6 + or al, cl + mov ecx, eax + movzx eax, byte ptr [rsp + 136] # 1-byte Folded Reload + shl al, 7 + or al, cl + movzx ecx, byte ptr [rsp + 128] # 1-byte Folded Reload add cl, cl - add cl, byte ptr [rsp + 32] # 1-byte Folded Reload - mov ebx, ecx - movzx ecx, byte ptr [rsp + 56] # 1-byte Folded Reload - shl cl, 2 - or cl, bl - mov ebx, ecx - movzx ecx, byte ptr [rsp + 40] # 1-byte Folded Reload + add cl, byte ptr [rsp + 88] # 1-byte Folded Reload + shl r15b, 2 + or r15b, cl + movzx ecx, byte ptr [rsp + 120] # 1-byte Folded Reload shl cl, 3 - or cl, bl + or cl, r15b mov ebx, ecx - movzx ecx, byte ptr [rsp + 320] # 1-byte Folded Reload + mov r15, qword ptr [rsp + 272] # 8-byte Reload + movzx ecx, byte ptr [rsp + 112] # 1-byte Folded Reload shl cl, 4 or cl, bl - mov ebx, ecx - movzx ecx, byte ptr [rsp + 288] # 1-byte Folded Reload - shl cl, 5 - or cl, bl - movzx ebx, byte ptr [rsp + 28] # 1-byte Folded Reload - shl bl, 6 - shl al, 7 - or al, bl - or al, cl - mov byte ptr [r15 + 2], r14b - mov byte ptr [r15 + 3], al + movzx r12d, byte ptr [rsp + 28] # 1-byte Folded Reload + or r12b, r13b + movzx ebx, byte ptr [rsp + 152] # 1-byte Folded Reload + shl bl, 5 + shl r14b, 6 + or r14b, bl + or al, byte ptr [rsp + 288] # 1-byte Folded Reload + shl r8b, 7 + or r8b, r14b + or r8b, cl + add r11b, r11b + add r11b, byte ptr [rsp + 104] # 1-byte Folded Reload + shl r10b, 2 + or r10b, r11b + shl r9b, 3 + or r9b, r10b + movzx ecx, byte ptr [rsp + 176] # 1-byte Folded Reload + shl cl, 4 + or cl, r9b + mov byte ptr [r15], r12b + movzx ebx, byte ptr [rsp + 168] # 1-byte Folded Reload + shl bl, 5 + shl dil, 6 + or dil, bl + mov byte ptr [r15 + 1], al + shl sil, 7 + or sil, dil + or sil, cl + mov byte ptr [r15 + 2], r8b + mov byte ptr [r15 + 3], sil add rdx, 128 add r15, 4 - add qword ptr [rsp + 168], -1 # 8-byte Folded Spill - jne .LBB5_100 -# %bb.101: + mov r13, r15 + add qword ptr [rsp + 160], -1 # 8-byte Folded Spill + jne .LBB5_103 +# %bb.104: mov r10, qword ptr [rsp + 280] # 8-byte Reload - mov r11, qword ptr [rsp + 160] # 8-byte Reload -.LBB5_102: + mov r11, qword ptr [rsp + 184] # 8-byte Reload +.LBB5_105: shl r11, 5 cmp r11, r10 - jge .LBB5_157 -# %bb.103: + jge .LBB5_164 +# %bb.106: mov r8, r10 sub r8, r11 not r11 add r11, r10 jne .LBB5_148 -# %bb.104: +# %bb.107: xor edi, edi jmp .LBB5_150 -.LBB5_105: +.LBB5_108: mov r11b, byte ptr [rsi] lea r14, [r10 + 31] test r10, r10 @@ -28634,11 +29916,11 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 cmovns eax, r9d and eax, -8 sub r9d, eax - je .LBB5_109 -# %bb.106: + je .LBB5_112 +# %bb.109: movsxd rax, r9d .p2align 4, 0x90 -.LBB5_107: # =>This Inner Loop Header: Depth=1 +.LBB5_110: # =>This Inner Loop Header: Depth=1 cmp r11b, byte ptr [rdx] lea rdx, [rdx + 1] setne bl @@ -28647,7 +29929,8 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 test rax, rax cmovns rsi, rax sar rsi, 3 - movzx r9d, byte ptr [r15 + rsi] + mov r15, r13 + movzx r9d, byte ptr [r13 + rsi] xor bl, r9b lea r8d, [8*rsi] mov ecx, eax @@ -28657,41 +29940,41 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 shl edi, cl and dil, bl xor dil, r9b - mov byte ptr [r15 + rsi], dil + mov byte ptr [r13 + rsi], dil add rax, 1 cmp rax, 8 - jne .LBB5_107 -# %bb.108: - add r15, 1 -.LBB5_109: + jne .LBB5_110 +# %bb.111: + add r13, 1 +.LBB5_112: sar r14, 5 cmp r10, 32 - jl .LBB5_132 -# %bb.110: + jl .LBB5_120 +# %bb.113: cmp r14, 32 mov dword ptr [rsp + 28], r11d # 4-byte Spill mov qword ptr [rsp + 280], r10 # 8-byte Spill mov qword ptr [rsp + 384], r14 # 8-byte Spill - jb .LBB5_113 -# %bb.111: + jb .LBB5_116 +# %bb.114: mov rax, r14 shl rax, 5 add rax, rdx - cmp r15, rax + cmp r13, rax jae .LBB5_168 -# %bb.112: - lea rax, [r15 + 4*r14] +# %bb.115: + lea rax, [4*r14] + add rax, r13 cmp rdx, rax jae .LBB5_168 -.LBB5_113: +.LBB5_116: xor eax, eax mov qword ptr [rsp + 376], rax # 8-byte Spill - mov r13, r15 -.LBB5_114: +.LBB5_117: sub r14, qword ptr [rsp + 376] # 8-byte Folded Reload - mov qword ptr [rsp + 176], r14 # 8-byte Spill + mov qword ptr [rsp + 160], r14 # 8-byte Spill .p2align 4, 0x90 -.LBB5_115: # =>This Inner Loop Header: Depth=1 +.LBB5_118: # =>This Inner Loop Header: Depth=1 cmp r11b, byte ptr [rdx + 31] setne byte ptr [rsp + 272] # 1-byte Folded Spill cmp r11b, byte ptr [rdx + 30] @@ -28701,31 +29984,31 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 cmp r11b, byte ptr [rdx + 28] setne byte ptr [rsp + 32] # 1-byte Folded Spill cmp r11b, byte ptr [rdx + 27] - setne byte ptr [rsp + 40] # 1-byte Folded Spill - cmp r11b, byte ptr [rdx + 26] setne byte ptr [rsp + 56] # 1-byte Folded Spill - cmp r11b, byte ptr [rdx + 25] + cmp r11b, byte ptr [rdx + 26] setne byte ptr [rsp + 48] # 1-byte Folded Spill + cmp r11b, byte ptr [rdx + 25] + setne byte ptr [rsp + 40] # 1-byte Folded Spill cmp r11b, byte ptr [rdx + 23] setne byte ptr [rsp + 72] # 1-byte Folded Spill cmp r11b, byte ptr [rdx + 22] setne byte ptr [rsp + 64] # 1-byte Folded Spill cmp r11b, byte ptr [rdx + 21] - setne byte ptr [rsp + 104] # 1-byte Folded Spill + setne byte ptr [rsp + 96] # 1-byte Folded Spill cmp r11b, byte ptr [rdx + 20] - setne byte ptr [rsp + 88] # 1-byte Folded Spill + setne byte ptr [rsp + 80] # 1-byte Folded Spill cmp r11b, byte ptr [rdx + 19] - setne byte ptr [rsp + 144] # 1-byte Folded Spill - cmp r11b, byte ptr [rdx + 18] setne byte ptr [rsp + 136] # 1-byte Folded Spill - cmp r11b, byte ptr [rdx + 17] + cmp r11b, byte ptr [rdx + 18] setne byte ptr [rsp + 128] # 1-byte Folded Spill + cmp r11b, byte ptr [rdx + 17] + setne byte ptr [rsp + 120] # 1-byte Folded Spill cmp r11b, byte ptr [rdx + 15] setne r14b cmp r11b, byte ptr [rdx + 14] - setne byte ptr [rsp + 120] # 1-byte Folded Spill - cmp r11b, byte ptr [rdx + 13] setne byte ptr [rsp + 112] # 1-byte Folded Spill + cmp r11b, byte ptr [rdx + 13] + setne byte ptr [rsp + 104] # 1-byte Folded Spill cmp r11b, byte ptr [rdx + 12] setne r12b cmp r11b, byte ptr [rdx + 11] @@ -28740,7 +30023,7 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 setne dil mov eax, dword ptr [rsp + 28] # 4-byte Reload cmp al, byte ptr [rdx + 6] - setne byte ptr [rsp + 168] # 1-byte Folded Spill + setne byte ptr [rsp + 176] # 1-byte Folded Spill mov eax, dword ptr [rsp + 28] # 4-byte Reload cmp al, byte ptr [rdx + 5] setne r9b @@ -28755,7 +30038,7 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 setne cl mov eax, dword ptr [rsp + 28] # 4-byte Reload cmp al, byte ptr [rdx] - setne byte ptr [rsp + 160] # 1-byte Folded Spill + setne byte ptr [rsp + 168] # 1-byte Folded Spill mov eax, dword ptr [rsp + 28] # 4-byte Reload cmp al, byte ptr [rdx + 1] setne al @@ -28766,12 +30049,12 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 setne byte ptr [rsp + 152] # 1-byte Folded Spill mov ebx, dword ptr [rsp + 28] # 4-byte Reload cmp bl, byte ptr [rdx + 16] - setne byte ptr [rsp + 80] # 1-byte Folded Spill + setne byte ptr [rsp + 144] # 1-byte Folded Spill mov ebx, dword ptr [rsp + 28] # 4-byte Reload cmp bl, byte ptr [rdx + 24] - setne byte ptr [rsp + 96] # 1-byte Folded Spill + setne byte ptr [rsp + 88] # 1-byte Folded Spill add al, al - add al, byte ptr [rsp + 160] # 1-byte Folded Reload + add al, byte ptr [rsp + 168] # 1-byte Folded Reload shl cl, 2 or cl, al shl sil, 3 @@ -28780,7 +30063,7 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 or r8b, sil shl r9b, 5 or r9b, r8b - movzx eax, byte ptr [rsp + 168] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 176] # 1-byte Folded Reload shl al, 6 shl dil, 7 or dil, al @@ -28795,32 +30078,32 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 mov r11d, dword ptr [rsp + 28] # 4-byte Reload shl r12b, 4 or r12b, r15b - movzx eax, byte ptr [rsp + 112] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 104] # 1-byte Folded Reload shl al, 5 or al, r12b - movzx ecx, byte ptr [rsp + 120] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 112] # 1-byte Folded Reload shl cl, 6 shl r14b, 7 or r14b, cl or r14b, al mov byte ptr [r13 + 1], r14b - movzx eax, byte ptr [rsp + 128] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 120] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 80] # 1-byte Folded Reload + add al, byte ptr [rsp + 144] # 1-byte Folded Reload mov ecx, eax - movzx eax, byte ptr [rsp + 136] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 128] # 1-byte Folded Reload shl al, 2 or al, cl mov ecx, eax - movzx eax, byte ptr [rsp + 144] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 136] # 1-byte Folded Reload shl al, 3 or al, cl mov ecx, eax - movzx eax, byte ptr [rsp + 88] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 80] # 1-byte Folded Reload shl al, 4 or al, cl mov ecx, eax - movzx eax, byte ptr [rsp + 104] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 96] # 1-byte Folded Reload shl al, 5 or al, cl mov ecx, eax @@ -28831,15 +30114,15 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 or al, bl or al, cl mov byte ptr [r13 + 2], al - movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 96] # 1-byte Folded Reload + add al, byte ptr [rsp + 88] # 1-byte Folded Reload mov ecx, eax - movzx eax, byte ptr [rsp + 56] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload shl al, 2 or al, cl mov ecx, eax - movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 56] # 1-byte Folded Reload shl al, 3 or al, cl mov ecx, eax @@ -28860,13 +30143,25 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 mov byte ptr [r13 + 3], al add rdx, 32 add r13, 4 - add qword ptr [rsp + 176], -1 # 8-byte Folded Spill - jne .LBB5_115 -# %bb.116: + add qword ptr [rsp + 160], -1 # 8-byte Folded Spill + jne .LBB5_118 +# %bb.119: mov r10, qword ptr [rsp + 280] # 8-byte Reload mov r14, qword ptr [rsp + 384] # 8-byte Reload - jmp .LBB5_133 -.LBB5_117: +.LBB5_120: + shl r14, 5 + cmp r14, r10 + jge .LBB5_164 +# %bb.121: + mov r8, r10 + sub r8, r14 + not r14 + add r14, r10 + jne .LBB5_153 +.LBB5_122: + xor esi, esi + jmp .LBB5_156 +.LBB5_123: mov r14d, dword ptr [rsi] lea r11, [r10 + 31] test r10, r10 @@ -28876,11 +30171,11 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 cmovns eax, r9d and eax, -8 sub r9d, eax - je .LBB5_121 -# %bb.118: + je .LBB5_127 +# %bb.124: movsxd rax, r9d .p2align 4, 0x90 -.LBB5_119: # =>This Inner Loop Header: Depth=1 +.LBB5_125: # =>This Inner Loop Header: Depth=1 cmp r14d, dword ptr [rdx] lea rdx, [rdx + 4] setne bl @@ -28889,7 +30184,8 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 test rax, rax cmovns rsi, rax sar rsi, 3 - movzx r8d, byte ptr [r15 + rsi] + mov r9, r13 + movzx r8d, byte ptr [r13 + rsi] xor bl, r8b lea edi, [8*rsi] mov ecx, eax @@ -28899,23 +30195,23 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 shl edi, cl and dil, bl xor dil, r8b - mov byte ptr [r15 + rsi], dil + mov byte ptr [r13 + rsi], dil add rax, 1 cmp rax, 8 - jne .LBB5_119 -# %bb.120: - add r15, 1 -.LBB5_121: + jne .LBB5_125 +# %bb.126: + add r13, 1 +.LBB5_127: sar r11, 5 cmp r10, 32 - jl .LBB5_125 -# %bb.122: + jl .LBB5_131 +# %bb.128: mov qword ptr [rsp + 280], r10 # 8-byte Spill - mov qword ptr [rsp + 176], r11 # 8-byte Spill mov qword ptr [rsp + 160], r11 # 8-byte Spill + mov qword ptr [rsp + 168], r11 # 8-byte Spill .p2align 4, 0x90 -.LBB5_123: # =>This Inner Loop Header: Depth=1 - mov qword ptr [rsp + 272], r15 # 8-byte Spill +.LBB5_129: # =>This Inner Loop Header: Depth=1 + mov qword ptr [rsp + 272], r13 # 8-byte Spill cmp r14d, dword ptr [rdx + 124] setne byte ptr [rsp + 28] # 1-byte Folded Spill cmp r14d, dword ptr [rdx + 120] @@ -28925,31 +30221,31 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 cmp r14d, dword ptr [rdx + 112] setne byte ptr [rsp + 32] # 1-byte Folded Spill cmp r14d, dword ptr [rdx + 108] - setne byte ptr [rsp + 40] # 1-byte Folded Spill - cmp r14d, dword ptr [rdx + 104] setne byte ptr [rsp + 56] # 1-byte Folded Spill - cmp r14d, dword ptr [rdx + 100] + cmp r14d, dword ptr [rdx + 104] setne byte ptr [rsp + 48] # 1-byte Folded Spill + cmp r14d, dword ptr [rdx + 100] + setne byte ptr [rsp + 40] # 1-byte Folded Spill cmp r14d, dword ptr [rdx + 92] setne byte ptr [rsp + 72] # 1-byte Folded Spill cmp r14d, dword ptr [rdx + 88] setne byte ptr [rsp + 64] # 1-byte Folded Spill cmp r14d, dword ptr [rdx + 84] - setne byte ptr [rsp + 104] # 1-byte Folded Spill - cmp r14d, dword ptr [rdx + 80] setne byte ptr [rsp + 96] # 1-byte Folded Spill - cmp r14d, dword ptr [rdx + 76] + cmp r14d, dword ptr [rdx + 80] setne byte ptr [rsp + 88] # 1-byte Folded Spill - cmp r14d, dword ptr [rdx + 72] + cmp r14d, dword ptr [rdx + 76] setne byte ptr [rsp + 80] # 1-byte Folded Spill - cmp r14d, dword ptr [rdx + 68] + cmp r14d, dword ptr [rdx + 72] setne byte ptr [rsp + 144] # 1-byte Folded Spill + cmp r14d, dword ptr [rdx + 68] + setne byte ptr [rsp + 136] # 1-byte Folded Spill cmp r14d, dword ptr [rdx + 60] setne r8b cmp r14d, dword ptr [rdx + 56] - setne byte ptr [rsp + 128] # 1-byte Folded Spill - cmp r14d, dword ptr [rdx + 52] setne byte ptr [rsp + 120] # 1-byte Folded Spill + cmp r14d, dword ptr [rdx + 52] + setne byte ptr [rsp + 112] # 1-byte Folded Spill cmp r14d, dword ptr [rdx + 48] setne r11b cmp r14d, dword ptr [rdx + 44] @@ -28967,28 +30263,28 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 cmp r14d, dword ptr [rdx + 16] setne cl cmp r14d, dword ptr [rdx + 12] - setne r13b - cmp r14d, dword ptr [rdx + 8] setne r12b + cmp r14d, dword ptr [rdx + 8] + setne r13b cmp r14d, dword ptr [rdx] - setne byte ptr [rsp + 168] # 1-byte Folded Spill + setne byte ptr [rsp + 176] # 1-byte Folded Spill cmp r14d, dword ptr [rdx + 4] setne r15b cmp r14d, dword ptr [rdx + 32] setne byte ptr [rsp + 152] # 1-byte Folded Spill cmp r14d, dword ptr [rdx + 64] - setne byte ptr [rsp + 112] # 1-byte Folded Spill + setne byte ptr [rsp + 104] # 1-byte Folded Spill cmp r14d, dword ptr [rdx + 96] - setne byte ptr [rsp + 136] # 1-byte Folded Spill + setne byte ptr [rsp + 128] # 1-byte Folded Spill add r15b, r15b - add r15b, byte ptr [rsp + 168] # 1-byte Folded Reload - shl r12b, 2 - or r12b, r15b + add r15b, byte ptr [rsp + 176] # 1-byte Folded Reload + shl r13b, 2 + or r13b, r15b mov r15, qword ptr [rsp + 272] # 8-byte Reload - shl r13b, 3 - or r13b, r12b + shl r12b, 3 + or r12b, r13b shl cl, 4 - or cl, r13b + or cl, r12b shl sil, 5 or sil, cl shl bl, 6 @@ -29004,32 +30300,32 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 or r10b, r9b shl r11b, 4 or r11b, r10b - movzx eax, byte ptr [rsp + 120] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 112] # 1-byte Folded Reload shl al, 5 or al, r11b - movzx ecx, byte ptr [rsp + 128] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 120] # 1-byte Folded Reload shl cl, 6 shl r8b, 7 or r8b, cl or r8b, al mov byte ptr [r15 + 1], r8b - movzx eax, byte ptr [rsp + 144] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 136] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 112] # 1-byte Folded Reload + add al, byte ptr [rsp + 104] # 1-byte Folded Reload mov ecx, eax - movzx eax, byte ptr [rsp + 80] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 144] # 1-byte Folded Reload shl al, 2 or al, cl mov ecx, eax - movzx eax, byte ptr [rsp + 88] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 80] # 1-byte Folded Reload shl al, 3 or al, cl mov ecx, eax - movzx eax, byte ptr [rsp + 96] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 88] # 1-byte Folded Reload shl al, 4 or al, cl mov ecx, eax - movzx eax, byte ptr [rsp + 104] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 96] # 1-byte Folded Reload shl al, 5 or al, cl mov ecx, eax @@ -29040,15 +30336,15 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 or al, bl or al, cl mov byte ptr [r15 + 2], al - movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 136] # 1-byte Folded Reload + add al, byte ptr [rsp + 128] # 1-byte Folded Reload mov ecx, eax - movzx eax, byte ptr [rsp + 56] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload shl al, 2 or al, cl mov ecx, eax - movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 56] # 1-byte Folded Reload shl al, 3 or al, cl mov ecx, eax @@ -29069,125 +30365,70 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 mov byte ptr [r15 + 3], al sub rdx, -128 add r15, 4 - add qword ptr [rsp + 160], -1 # 8-byte Folded Spill - jne .LBB5_123 -# %bb.124: + mov r13, r15 + add qword ptr [rsp + 168], -1 # 8-byte Folded Spill + jne .LBB5_129 +# %bb.130: mov r10, qword ptr [rsp + 280] # 8-byte Reload - mov r11, qword ptr [rsp + 176] # 8-byte Reload -.LBB5_125: + mov r11, qword ptr [rsp + 160] # 8-byte Reload +.LBB5_131: shl r11, 5 cmp r11, r10 - jge .LBB5_157 -# %bb.126: + jge .LBB5_164 +# %bb.132: mov r8, r10 sub r8, r11 not r11 add r11, r10 - jne .LBB5_152 -.LBB5_127: - xor edi, edi - jmp .LBB5_154 -.LBB5_128: - mov r13, r15 -.LBB5_129: - shl r14, 5 - cmp r14, r10 - jge .LBB5_157 -# %bb.130: - mov r8, r10 - sub r8, r14 - not r14 - add r14, r10 - je .LBB5_135 -# %bb.158: - mov r10, r8 - and r10, -2 - xor esi, esi - .p2align 4, 0x90 -.LBB5_159: # =>This Inner Loop Header: Depth=1 - cmp r11b, byte ptr [rdx + rsi] - setne al - neg al - mov rdi, rsi - shr rdi, 3 - mov ecx, esi - and cl, 6 - mov bl, 1 - shl bl, cl - movzx r9d, byte ptr [r13 + rdi] - xor al, r9b - and bl, al - xor bl, r9b - mov byte ptr [r13 + rdi], bl - cmp r11b, byte ptr [rdx + rsi + 1] - lea rsi, [rsi + 2] - setne r9b - neg r9b - xor r9b, bl - or cl, 1 - mov al, 1 - shl al, cl - and al, r9b - xor al, bl - mov byte ptr [r13 + rdi], al - cmp r10, rsi - jne .LBB5_159 - jmp .LBB5_162 -.LBB5_132: - mov r13, r15 + jne .LBB5_158 .LBB5_133: - shl r14, 5 - cmp r14, r10 - jge .LBB5_157 -# %bb.134: - mov r8, r10 - sub r8, r14 - not r14 - add r14, r10 - jne .LBB5_160 -.LBB5_135: - xor esi, esi - jmp .LBB5_163 -.LBB5_136: - mov r10, r8 - and r10, -2 + xor edi, edi + jmp .LBB5_160 +.LBB5_134: + mov r9, r8 + and r9, -2 xor edi, edi .p2align 4, 0x90 -.LBB5_137: # =>This Inner Loop Header: Depth=1 +.LBB5_135: # =>This Inner Loop Header: Depth=1 vucomisd xmm0, qword ptr [rdx] + setp cl setne al + or al, cl neg al mov rsi, rdi shr rsi, 3 - movzx r9d, byte ptr [r15 + rsi] - xor al, r9b + mov r14, r13 + movzx r10d, byte ptr [r13 + rsi] mov ecx, edi and cl, 6 - mov bl, 1 - shl bl, cl - and bl, al - xor bl, r9b - mov byte ptr [r15 + rsi], bl + mov r11b, 1 + shl r11b, cl + xor al, r10b + and r11b, al + xor r11b, r10b + mov byte ptr [r13 + rsi], r11b add rdi, 2 vucomisd xmm0, qword ptr [rdx + 8] lea rdx, [rdx + 16] - setne r9b - neg r9b - xor r9b, bl + setp r10b + setne al + or al, r10b + neg al + xor al, r11b or cl, 1 - mov al, 1 - shl al, cl - and al, r9b - xor al, bl - mov byte ptr [r15 + rsi], al - cmp r10, rdi - jne .LBB5_137 -.LBB5_138: + mov bl, 1 + shl bl, cl + and bl, al + xor bl, r11b + mov byte ptr [r13 + rsi], bl + cmp r9, rdi + jne .LBB5_135 +.LBB5_136: test r8b, 1 - je .LBB5_157 -# %bb.139: + je .LBB5_164 +# %bb.137: vucomisd xmm0, qword ptr [rdx] - jmp .LBB5_156 + jmp .LBB5_152 .LBB5_140: mov r10, r8 and r10, -2 @@ -29199,7 +30440,8 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 neg al mov rsi, rdi shr rsi, 3 - movzx r9d, byte ptr [r15 + rsi] + mov r11, r13 + movzx r9d, byte ptr [r13 + rsi] mov ecx, edi and cl, 6 mov bl, 1 @@ -29207,7 +30449,7 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 xor al, r9b and bl, al xor bl, r9b - mov byte ptr [r15 + rsi], bl + mov byte ptr [r13 + rsi], bl add rdi, 2 cmp r14w, word ptr [rdx + 2] lea rdx, [rdx + 4] @@ -29219,15 +30461,15 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 shl al, cl and al, r9b xor al, bl - mov byte ptr [r15 + rsi], al + mov byte ptr [r13 + rsi], al cmp r10, rdi jne .LBB5_141 .LBB5_142: test r8b, 1 - je .LBB5_157 + je .LBB5_164 # %bb.143: cmp r14w, word ptr [rdx] - jmp .LBB5_156 + jmp .LBB5_162 .LBB5_144: mov r10, r8 and r10, -2 @@ -29239,7 +30481,8 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 neg al mov rsi, rdi shr rsi, 3 - movzx r9d, byte ptr [r15 + rsi] + mov r11, r13 + movzx r9d, byte ptr [r13 + rsi] mov ecx, edi and cl, 6 mov bl, 1 @@ -29247,7 +30490,7 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 xor al, r9b and bl, al xor bl, r9b - mov byte ptr [r15 + rsi], bl + mov byte ptr [r13 + rsi], bl add rdi, 2 cmp r14, qword ptr [rdx + 8] lea rdx, [rdx + 16] @@ -29259,78 +30502,98 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 shl al, cl and al, r9b xor al, bl - mov byte ptr [r15 + rsi], al + mov byte ptr [r13 + rsi], al cmp r10, rdi jne .LBB5_145 .LBB5_146: test r8b, 1 - je .LBB5_157 + je .LBB5_164 # %bb.147: cmp r14, qword ptr [rdx] - jmp .LBB5_156 + jmp .LBB5_162 .LBB5_148: - mov r10, r8 - and r10, -2 + mov r9, r8 + and r9, -2 xor edi, edi .p2align 4, 0x90 .LBB5_149: # =>This Inner Loop Header: Depth=1 vucomiss xmm0, dword ptr [rdx] + setp cl setne al + or al, cl neg al mov rsi, rdi shr rsi, 3 - movzx r9d, byte ptr [r15 + rsi] - xor al, r9b + mov r14, r13 + movzx r10d, byte ptr [r13 + rsi] mov ecx, edi and cl, 6 - mov bl, 1 - shl bl, cl - and bl, al - xor bl, r9b - mov byte ptr [r15 + rsi], bl + mov r11b, 1 + shl r11b, cl + xor al, r10b + and r11b, al + xor r11b, r10b + mov byte ptr [r13 + rsi], r11b add rdi, 2 vucomiss xmm0, dword ptr [rdx + 4] lea rdx, [rdx + 8] - setne r9b - neg r9b - xor r9b, bl + setp r10b + setne al + or al, r10b + neg al + xor al, r11b or cl, 1 - mov al, 1 - shl al, cl - and al, r9b - xor al, bl - mov byte ptr [r15 + rsi], al - cmp r10, rdi + mov bl, 1 + shl bl, cl + and bl, al + xor bl, r11b + mov byte ptr [r13 + rsi], bl + cmp r9, rdi jne .LBB5_149 .LBB5_150: test r8b, 1 - je .LBB5_157 + je .LBB5_164 # %bb.151: vucomiss xmm0, dword ptr [rdx] - jmp .LBB5_156 .LBB5_152: + setp al + setne dl + or dl, al + neg dl + mov rax, rdi + shr rax, 3 + mov sil, byte ptr [r13 + rax] + and dil, 7 + mov bl, 1 + mov ecx, edi + shl bl, cl + xor dl, sil + and bl, dl + xor bl, sil + mov byte ptr [r13 + rax], bl + jmp .LBB5_164 +.LBB5_153: mov r10, r8 and r10, -2 - xor edi, edi + xor esi, esi .p2align 4, 0x90 -.LBB5_153: # =>This Inner Loop Header: Depth=1 - cmp r14d, dword ptr [rdx] +.LBB5_154: # =>This Inner Loop Header: Depth=1 + cmp r11b, byte ptr [rdx + rsi] setne al neg al - mov rsi, rdi - shr rsi, 3 - movzx r9d, byte ptr [r15 + rsi] - mov ecx, edi + mov rdi, rsi + shr rdi, 3 + mov ecx, esi and cl, 6 mov bl, 1 shl bl, cl + movzx r9d, byte ptr [r13 + rdi] xor al, r9b and bl, al xor bl, r9b - mov byte ptr [r15 + rsi], bl - add rdi, 2 - cmp r14d, dword ptr [rdx + 4] - lea rdx, [rdx + 8] + mov byte ptr [r13 + rdi], bl + cmp r11b, byte ptr [rdx + rsi + 1] + lea rsi, [rsi + 2] setne r9b neg r9b xor r9b, bl @@ -29339,60 +30602,53 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 shl al, cl and al, r9b xor al, bl - mov byte ptr [r15 + rsi], al - cmp r10, rdi - jne .LBB5_153 -.LBB5_154: - test r8b, 1 - je .LBB5_157 -# %bb.155: - cmp r14d, dword ptr [rdx] + mov byte ptr [r13 + rdi], al + cmp r10, rsi + jne .LBB5_154 +.LBB5_155: + add rdx, rsi .LBB5_156: + test r8b, 1 + je .LBB5_164 +# %bb.157: + cmp r11b, byte ptr [rdx] setne al neg al - mov rdx, rdi + mov rdx, rsi shr rdx, 3 - mov sil, byte ptr [r15 + rdx] - and dil, 7 + mov dil, byte ptr [r13 + rdx] + and sil, 7 mov bl, 1 - mov ecx, edi + mov ecx, esi shl bl, cl - xor al, sil + xor al, dil and bl, al - xor bl, sil - mov byte ptr [r15 + rdx], bl -.LBB5_157: - lea rsp, [rbp - 40] - pop rbx - pop r12 - pop r13 - pop r14 - pop r15 - pop rbp - vzeroupper - ret -.LBB5_160: + xor bl, dil + jmp .LBB5_163 +.LBB5_158: mov r10, r8 and r10, -2 - xor esi, esi + xor edi, edi .p2align 4, 0x90 -.LBB5_161: # =>This Inner Loop Header: Depth=1 - cmp r11b, byte ptr [rdx + rsi] +.LBB5_159: # =>This Inner Loop Header: Depth=1 + cmp r14d, dword ptr [rdx] setne al neg al - mov rdi, rsi - shr rdi, 3 - mov ecx, esi + mov rsi, rdi + shr rsi, 3 + mov r11, r13 + movzx r9d, byte ptr [r13 + rsi] + mov ecx, edi and cl, 6 mov bl, 1 shl bl, cl - movzx r9d, byte ptr [r13 + rdi] xor al, r9b and bl, al xor bl, r9b - mov byte ptr [r13 + rdi], bl - cmp r11b, byte ptr [rdx + rsi + 1] - lea rsi, [rsi + 2] + mov byte ptr [r13 + rsi], bl + add rdi, 2 + cmp r14d, dword ptr [rdx + 4] + lea rdx, [rdx + 8] setne r9b neg r9b xor r9b, bl @@ -29401,30 +30657,39 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 shl al, cl and al, r9b xor al, bl - mov byte ptr [r13 + rdi], al - cmp r10, rsi - jne .LBB5_161 -.LBB5_162: - add rdx, rsi -.LBB5_163: + mov byte ptr [r13 + rsi], al + cmp r10, rdi + jne .LBB5_159 +.LBB5_160: test r8b, 1 - je .LBB5_157 -# %bb.164: - cmp r11b, byte ptr [rdx] + je .LBB5_164 +# %bb.161: + cmp r14d, dword ptr [rdx] +.LBB5_162: setne al neg al - mov rdx, rsi + mov rdx, rdi shr rdx, 3 - mov dil, byte ptr [r13 + rdx] - and sil, 7 + mov sil, byte ptr [r13 + rdx] + and dil, 7 mov bl, 1 - mov ecx, esi + mov ecx, edi shl bl, cl - xor al, dil + xor al, sil and bl, al - xor bl, dil + xor bl, sil +.LBB5_163: mov byte ptr [r13 + rdx], bl - jmp .LBB5_157 +.LBB5_164: + lea rsp, [rbp - 40] + pop rbx + pop r12 + pop r13 + pop r14 + pop r15 + pop rbp + vzeroupper + ret .LBB5_165: and r14, -32 mov rax, r14 @@ -29432,13 +30697,14 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 add rax, rdx mov qword ptr [rsp + 392], rax # 8-byte Spill mov qword ptr [rsp + 376], r14 # 8-byte Spill - lea rax, [r15 + 4*r14] + lea rax, [4*r14] + add rax, r13 mov qword ptr [rsp + 400], rax # 8-byte Spill vmovd xmm0, r11d vpbroadcastb ymm0, xmm0 vmovdqa ymmword ptr [rsp + 512], ymm0 # 32-byte Spill xor esi, esi - mov qword ptr [rsp + 272], r15 # 8-byte Spill + mov qword ptr [rsp + 272], r13 # 8-byte Spill .p2align 4, 0x90 .LBB5_166: # =>This Inner Loop Header: Depth=1 mov qword ptr [rsp + 408], rsi # 8-byte Spill @@ -29448,32 +30714,32 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 mov qword ptr [rsp + 232], rax # 8-byte Spill mov rax, rsi or rax, 64 - mov qword ptr [rsp + 224], rax # 8-byte Spill + mov qword ptr [rsp + 216], rax # 8-byte Spill mov rax, rsi or rax, 96 - mov qword ptr [rsp + 216], rax # 8-byte Spill + mov qword ptr [rsp + 160], rax # 8-byte Spill mov rax, rsi or rax, 128 - mov qword ptr [rsp + 320], rax # 8-byte Spill + mov qword ptr [rsp + 32], rax # 8-byte Spill mov rax, rsi or rax, 160 - mov qword ptr [rsp + 56], rax # 8-byte Spill + mov qword ptr [rsp + 72], rax # 8-byte Spill mov rax, rsi or rax, 192 - mov qword ptr [rsp + 168], rax # 8-byte Spill + mov qword ptr [rsp + 176], rax # 8-byte Spill mov rax, rsi or rax, 224 - mov qword ptr [rsp + 160], rax # 8-byte Spill + mov qword ptr [rsp + 168], rax # 8-byte Spill mov rax, rsi or rax, 256 mov qword ptr [rsp + 288], rax # 8-byte Spill mov rax, rsi or rax, 288 - mov qword ptr [rsp + 48], rax # 8-byte Spill + mov qword ptr [rsp + 64], rax # 8-byte Spill mov rax, rsi mov qword ptr [rsp + 264], rsi # 8-byte Spill or rax, 320 - mov qword ptr [rsp + 104], rax # 8-byte Spill + mov qword ptr [rsp + 56], rax # 8-byte Spill mov rax, rsi or rax, 512 mov rcx, rax @@ -29515,10 +30781,10 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vmovd xmm1, eax mov rax, rsi or rax, 352 - mov qword ptr [rsp + 72], rax # 8-byte Spill + mov qword ptr [rsp + 48], rax # 8-byte Spill mov rax, rsi or rax, 384 - mov qword ptr [rsp + 32], rax # 8-byte Spill + mov qword ptr [rsp + 320], rax # 8-byte Spill mov rax, rsi or rax, 416 mov qword ptr [rsp + 40], rax # 8-byte Spill @@ -29531,10 +30797,10 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 mov rax, rsi or rax, 544 mov r13, rax - mov qword ptr [rsp + 208], rax # 8-byte Spill + mov qword ptr [rsp + 184], rax # 8-byte Spill mov r12, rsi or r12, 576 - mov qword ptr [rsp + 200], r12 # 8-byte Spill + mov qword ptr [rsp + 224], r12 # 8-byte Spill mov rax, rsi or rax, 608 mov r14, rax @@ -29544,22 +30810,22 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 mov qword ptr [rsp + 256], r15 # 8-byte Spill mov r10, rsi or r10, 672 - mov qword ptr [rsp + 112], r10 # 8-byte Spill + mov qword ptr [rsp + 104], r10 # 8-byte Spill mov rax, rsi or rax, 704 mov qword ptr [rsp + 128], rax # 8-byte Spill mov r8, rsi or r8, 736 - mov qword ptr [rsp + 64], r8 # 8-byte Spill + mov qword ptr [rsp + 112], r8 # 8-byte Spill mov rax, rsi or rax, 768 - mov qword ptr [rsp + 184], rax # 8-byte Spill + mov qword ptr [rsp + 200], rax # 8-byte Spill mov rax, rsi or rax, 800 mov qword ptr [rsp + 152], rax # 8-byte Spill mov r9, rsi or r9, 832 - mov qword ptr [rsp + 176], r9 # 8-byte Spill + mov qword ptr [rsp + 208], r9 # 8-byte Spill mov rdi, rsi or rdi, 864 mov qword ptr [rsp + 96], rdi # 8-byte Spill @@ -29582,7 +30848,7 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 mov rbx, qword ptr [rsp + 128] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rbx], 6 vpinsrb xmm0, xmm0, byte ptr [rdx + r8], 7 - mov rbx, qword ptr [rsp + 184] # 8-byte Reload + mov rbx, qword ptr [rsp + 200] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rbx], 8 mov rbx, qword ptr [rsp + 152] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rbx], 9 @@ -29594,27 +30860,27 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vpinsrb xmm0, xmm0, byte ptr [rdx + rsi], 15 mov r12, qword ptr [rsp + 232] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + r12], 1 - mov r14, qword ptr [rsp + 224] # 8-byte Reload + mov r14, qword ptr [rsp + 216] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + r14], 2 - mov r11, qword ptr [rsp + 216] # 8-byte Reload + mov r11, qword ptr [rsp + 160] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + r11], 3 - mov r8, qword ptr [rsp + 320] # 8-byte Reload + mov r8, qword ptr [rsp + 32] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + r8], 4 - mov r9, qword ptr [rsp + 56] # 8-byte Reload + mov r9, qword ptr [rsp + 72] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + r9], 5 - mov rbx, qword ptr [rsp + 168] # 8-byte Reload + mov rbx, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rbx], 6 - mov rsi, qword ptr [rsp + 160] # 8-byte Reload + mov rsi, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rsi], 7 mov r15, qword ptr [rsp + 288] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + r15], 8 - mov rdi, qword ptr [rsp + 48] # 8-byte Reload + mov rdi, qword ptr [rsp + 64] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rdi], 9 - mov rax, qword ptr [rsp + 104] # 8-byte Reload + mov rax, qword ptr [rsp + 56] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rax], 10 - mov r10, qword ptr [rsp + 72] # 8-byte Reload + mov r10, qword ptr [rsp + 48] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + r10], 11 - mov rcx, qword ptr [rsp + 32] # 8-byte Reload + mov rcx, qword ptr [rsp + 320] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rcx], 12 mov rcx, qword ptr [rsp + 40] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rcx], 13 @@ -29622,25 +30888,25 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vpinsrb xmm3, xmm3, byte ptr [rdx + rcx], 14 mov r13, qword ptr [rsp + 144] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + r13], 15 - mov rcx, qword ptr [rsp + 208] # 8-byte Reload + mov rcx, qword ptr [rsp + 184] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + rcx + 1], 1 - mov rcx, qword ptr [rsp + 200] # 8-byte Reload + mov rcx, qword ptr [rsp + 224] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + rcx + 1], 2 mov rcx, qword ptr [rsp + 248] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + rcx + 1], 3 mov rcx, qword ptr [rsp + 256] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + rcx + 1], 4 - mov rcx, qword ptr [rsp + 112] # 8-byte Reload + mov rcx, qword ptr [rsp + 104] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + rcx + 1], 5 mov rcx, qword ptr [rsp + 128] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + rcx + 1], 6 - mov rcx, qword ptr [rsp + 64] # 8-byte Reload + mov rcx, qword ptr [rsp + 112] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + rcx + 1], 7 - mov rcx, qword ptr [rsp + 184] # 8-byte Reload + mov rcx, qword ptr [rsp + 200] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + rcx + 1], 8 mov rcx, qword ptr [rsp + 152] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + rcx + 1], 9 - mov rcx, qword ptr [rsp + 176] # 8-byte Reload + mov rcx, qword ptr [rsp + 208] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + rcx + 1], 10 mov rcx, qword ptr [rsp + 96] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + rcx + 1], 11 @@ -29665,7 +30931,7 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 1], 10 mov r11, rax vpinsrb xmm5, xmm5, byte ptr [rdx + r10 + 1], 11 - mov rax, qword ptr [rsp + 32] # 8-byte Reload + mov rax, qword ptr [rsp + 320] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 1], 12 mov rax, qword ptr [rsp + 40] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 1], 13 @@ -29682,26 +30948,26 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 mov rax, qword ptr [rsp + 264] # 8-byte Reload movzx edi, byte ptr [rdx + rax + 8] vmovd xmm10, edi - mov rsi, qword ptr [rsp + 208] # 8-byte Reload + mov rsi, qword ptr [rsp + 184] # 8-byte Reload vmovdqa xmm0, xmmword ptr [rsp + 480] # 16-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 2], 1 - mov rbx, qword ptr [rsp + 200] # 8-byte Reload + mov rbx, qword ptr [rsp + 224] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rbx + 2], 2 mov r8, qword ptr [rsp + 248] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + r8 + 2], 3 mov r9, qword ptr [rsp + 256] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + r9 + 2], 4 - mov r15, qword ptr [rsp + 112] # 8-byte Reload + mov r15, qword ptr [rsp + 104] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + r15 + 2], 5 mov rax, qword ptr [rsp + 128] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 2], 6 - mov rax, qword ptr [rsp + 64] # 8-byte Reload + mov rax, qword ptr [rsp + 112] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 2], 7 - mov rax, qword ptr [rsp + 184] # 8-byte Reload + mov rax, qword ptr [rsp + 200] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 2], 8 mov rax, qword ptr [rsp + 152] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 2], 9 - mov r12, qword ptr [rsp + 176] # 8-byte Reload + mov r12, qword ptr [rsp + 208] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + r12 + 2], 10 mov r13, qword ptr [rsp + 96] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + r13 + 2], 11 @@ -29718,24 +30984,24 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 2], 1 mov rax, rcx vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 2], 2 - mov rcx, qword ptr [rsp + 216] # 8-byte Reload + mov rcx, qword ptr [rsp + 160] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 2], 3 - mov rcx, qword ptr [rsp + 320] # 8-byte Reload + mov rcx, qword ptr [rsp + 32] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 2], 4 - mov rcx, qword ptr [rsp + 56] # 8-byte Reload + mov rcx, qword ptr [rsp + 72] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 2], 5 - mov rcx, qword ptr [rsp + 168] # 8-byte Reload + mov rcx, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 2], 6 - mov rdi, qword ptr [rsp + 160] # 8-byte Reload + mov rdi, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 2], 7 mov rdi, qword ptr [rsp + 288] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 2], 8 - mov rcx, qword ptr [rsp + 48] # 8-byte Reload + mov rcx, qword ptr [rsp + 64] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 2], 9 vpinsrb xmm3, xmm3, byte ptr [rdx + r11 + 2], 10 - mov rcx, qword ptr [rsp + 72] # 8-byte Reload + mov rcx, qword ptr [rsp + 48] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 2], 11 - mov rcx, qword ptr [rsp + 32] # 8-byte Reload + mov rcx, qword ptr [rsp + 320] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 2], 12 mov rcx, qword ptr [rsp + 40] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 2], 13 @@ -29750,9 +31016,9 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vpinsrb xmm4, xmm4, byte ptr [rdx + r15 + 3], 5 mov rcx, qword ptr [rsp + 128] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + rcx + 3], 6 - mov r15, qword ptr [rsp + 64] # 8-byte Reload + mov r15, qword ptr [rsp + 112] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + r15 + 3], 7 - mov r9, qword ptr [rsp + 184] # 8-byte Reload + mov r9, qword ptr [rsp + 200] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + r9 + 3], 8 mov r11, qword ptr [rsp + 152] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + r11 + 3], 9 @@ -29767,24 +31033,24 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 mov rcx, qword ptr [rsp + 232] # 8-byte Reload vpinsrb xmm5, xmm8, byte ptr [rdx + rcx + 3], 1 vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 3], 2 - mov rax, qword ptr [rsp + 216] # 8-byte Reload + mov rax, qword ptr [rsp + 160] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 3], 3 - mov rcx, qword ptr [rsp + 320] # 8-byte Reload + mov rcx, qword ptr [rsp + 32] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rcx + 3], 4 - mov rcx, qword ptr [rsp + 56] # 8-byte Reload + mov rcx, qword ptr [rsp + 72] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rcx + 3], 5 - mov rsi, qword ptr [rsp + 168] # 8-byte Reload + mov rsi, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rsi + 3], 6 - mov rsi, qword ptr [rsp + 160] # 8-byte Reload + mov rsi, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rsi + 3], 7 vpinsrb xmm5, xmm5, byte ptr [rdx + rdi + 3], 8 - mov rsi, qword ptr [rsp + 48] # 8-byte Reload + mov rsi, qword ptr [rsp + 64] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rsi + 3], 9 - mov rdi, qword ptr [rsp + 104] # 8-byte Reload + mov rdi, qword ptr [rsp + 56] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rdi + 3], 10 - mov rdi, qword ptr [rsp + 72] # 8-byte Reload + mov rdi, qword ptr [rsp + 48] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rdi + 3], 11 - mov rdi, qword ptr [rsp + 32] # 8-byte Reload + mov rdi, qword ptr [rsp + 320] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rdi + 3], 12 mov rdi, qword ptr [rsp + 40] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rdi + 3], 13 @@ -29803,22 +31069,22 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 movzx edi, byte ptr [rdx + rdi + 9] vmovd xmm11, edi vmovdqa xmm0, xmmword ptr [rsp + 416] # 16-byte Reload - mov r12, qword ptr [rsp + 208] # 8-byte Reload + mov r12, qword ptr [rsp + 184] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + r12 + 4], 1 - mov r8, qword ptr [rsp + 200] # 8-byte Reload + mov r8, qword ptr [rsp + 224] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + r8 + 4], 2 mov rbx, qword ptr [rsp + 248] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rbx + 4], 3 mov rdi, qword ptr [rsp + 256] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rdi + 4], 4 - mov rdi, qword ptr [rsp + 112] # 8-byte Reload + mov rdi, qword ptr [rsp + 104] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rdi + 4], 5 mov rdi, qword ptr [rsp + 128] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rdi + 4], 6 vpinsrb xmm0, xmm0, byte ptr [rdx + r15 + 4], 7 vpinsrb xmm0, xmm0, byte ptr [rdx + r9 + 4], 8 vpinsrb xmm0, xmm0, byte ptr [rdx + r11 + 4], 9 - mov r15, qword ptr [rsp + 176] # 8-byte Reload + mov r15, qword ptr [rsp + 208] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + r15 + 4], 10 mov r11, qword ptr [rsp + 96] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + r11 + 4], 11 @@ -29830,24 +31096,24 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vpinsrb xmm0, xmm0, byte ptr [rdx + r10 + 4], 15 mov r10, qword ptr [rsp + 232] # 8-byte Reload vpinsrb xmm3, xmm15, byte ptr [rdx + r10 + 4], 1 - mov rdi, qword ptr [rsp + 224] # 8-byte Reload + mov rdi, qword ptr [rsp + 216] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 4], 2 vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 4], 3 - mov rax, qword ptr [rsp + 320] # 8-byte Reload + mov rax, qword ptr [rsp + 32] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 4], 4 vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 4], 5 - mov rax, qword ptr [rsp + 168] # 8-byte Reload + mov rax, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 4], 6 - mov rdi, qword ptr [rsp + 160] # 8-byte Reload + mov rdi, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 4], 7 mov rax, qword ptr [rsp + 288] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 4], 8 vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 4], 9 - mov rsi, qword ptr [rsp + 104] # 8-byte Reload + mov rsi, qword ptr [rsp + 56] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 4], 10 - mov rax, qword ptr [rsp + 72] # 8-byte Reload + mov rax, qword ptr [rsp + 48] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 4], 11 - mov rcx, qword ptr [rsp + 32] # 8-byte Reload + mov rcx, qword ptr [rsp + 320] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 4], 12 mov rcx, qword ptr [rsp + 40] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 4], 13 @@ -29859,13 +31125,13 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vpinsrb xmm4, xmm4, byte ptr [rdx + rbx + 5], 3 mov r12, qword ptr [rsp + 256] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + r12 + 5], 4 - mov r8, qword ptr [rsp + 112] # 8-byte Reload + mov r8, qword ptr [rsp + 104] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + r8 + 5], 5 mov rbx, qword ptr [rsp + 128] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + rbx + 5], 6 - mov rbx, qword ptr [rsp + 64] # 8-byte Reload + mov rbx, qword ptr [rsp + 112] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + rbx + 5], 7 - mov rbx, qword ptr [rsp + 184] # 8-byte Reload + mov rbx, qword ptr [rsp + 200] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + rbx + 5], 8 mov rbx, qword ptr [rsp + 152] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + rbx + 5], 9 @@ -29879,24 +31145,24 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 mov rbx, qword ptr [rsp + 80] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + rbx + 5], 15 vpinsrb xmm5, xmm6, byte ptr [rdx + r10 + 5], 1 - mov rbx, qword ptr [rsp + 224] # 8-byte Reload - vpinsrb xmm5, xmm5, byte ptr [rdx + rbx + 5], 2 mov rbx, qword ptr [rsp + 216] # 8-byte Reload + vpinsrb xmm5, xmm5, byte ptr [rdx + rbx + 5], 2 + mov rbx, qword ptr [rsp + 160] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rbx + 5], 3 - mov rbx, qword ptr [rsp + 320] # 8-byte Reload + mov rbx, qword ptr [rsp + 32] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rbx + 5], 4 - mov r9, qword ptr [rsp + 56] # 8-byte Reload + mov r9, qword ptr [rsp + 72] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + r9 + 5], 5 - mov rbx, qword ptr [rsp + 168] # 8-byte Reload + mov rbx, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rbx + 5], 6 vpinsrb xmm5, xmm5, byte ptr [rdx + rdi + 5], 7 mov rdi, qword ptr [rsp + 288] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rdi + 5], 8 - mov rdi, qword ptr [rsp + 48] # 8-byte Reload + mov rdi, qword ptr [rsp + 64] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rdi + 5], 9 vpinsrb xmm5, xmm5, byte ptr [rdx + rsi + 5], 10 vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 5], 11 - mov rax, qword ptr [rsp + 32] # 8-byte Reload + mov rax, qword ptr [rsp + 320] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 5], 12 mov rax, qword ptr [rsp + 40] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 5], 13 @@ -29910,9 +31176,9 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 mov rax, qword ptr [rsp + 264] # 8-byte Reload movzx edi, byte ptr [rdx + rax + 10] vmovd xmm4, edi - mov r11, qword ptr [rsp + 208] # 8-byte Reload + mov r11, qword ptr [rsp + 184] # 8-byte Reload vpinsrb xmm0, xmm12, byte ptr [rdx + r11 + 6], 1 - mov rax, qword ptr [rsp + 200] # 8-byte Reload + mov rax, qword ptr [rsp + 224] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 6], 2 mov rax, qword ptr [rsp + 248] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 6], 3 @@ -29920,13 +31186,13 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vpinsrb xmm0, xmm0, byte ptr [rdx + r8 + 6], 5 mov rax, qword ptr [rsp + 128] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 6], 6 - mov rcx, qword ptr [rsp + 64] # 8-byte Reload + mov rcx, qword ptr [rsp + 112] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 6], 7 - mov rax, qword ptr [rsp + 184] # 8-byte Reload + mov rax, qword ptr [rsp + 200] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 6], 8 mov rax, qword ptr [rsp + 152] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 6], 9 - mov rax, qword ptr [rsp + 176] # 8-byte Reload + mov rax, qword ptr [rsp + 208] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 6], 10 vpinsrb xmm0, xmm0, byte ptr [rdx + r15 + 6], 11 mov r15, qword ptr [rsp + 136] # 8-byte Reload @@ -29938,26 +31204,26 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 mov rax, qword ptr [rsp + 80] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 6], 15 vpinsrb xmm5, xmm7, byte ptr [rdx + r10 + 6], 1 - mov rax, qword ptr [rsp + 224] # 8-byte Reload + mov rax, qword ptr [rsp + 216] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 6], 2 - mov r8, qword ptr [rsp + 216] # 8-byte Reload + mov r8, qword ptr [rsp + 160] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + r8 + 6], 3 - mov rax, qword ptr [rsp + 320] # 8-byte Reload + mov rax, qword ptr [rsp + 32] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 6], 4 vpinsrb xmm5, xmm5, byte ptr [rdx + r9 + 6], 5 - mov rdi, qword ptr [rsp + 168] # 8-byte Reload + mov rdi, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rdi + 6], 6 - mov rax, qword ptr [rsp + 160] # 8-byte Reload + mov rax, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 6], 7 mov r13, qword ptr [rsp + 288] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + r13 + 6], 8 - mov rax, qword ptr [rsp + 48] # 8-byte Reload + mov rax, qword ptr [rsp + 64] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 6], 9 - mov rsi, qword ptr [rsp + 104] # 8-byte Reload + mov rsi, qword ptr [rsp + 56] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rsi + 6], 10 - mov r9, qword ptr [rsp + 72] # 8-byte Reload + mov r9, qword ptr [rsp + 48] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + r9 + 6], 11 - mov r12, qword ptr [rsp + 32] # 8-byte Reload + mov r12, qword ptr [rsp + 320] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + r12 + 6], 12 mov rsi, qword ptr [rsp + 40] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rsi + 6], 13 @@ -29966,22 +31232,22 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 mov r12, qword ptr [rsp + 144] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + r12 + 6], 15 vpinsrb xmm2, xmm2, byte ptr [rdx + r11 + 7], 1 - mov rsi, qword ptr [rsp + 200] # 8-byte Reload + mov rsi, qword ptr [rsp + 224] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 7], 2 mov rsi, qword ptr [rsp + 248] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 7], 3 mov rsi, qword ptr [rsp + 256] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 7], 4 - mov rsi, qword ptr [rsp + 112] # 8-byte Reload + mov rsi, qword ptr [rsp + 104] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 7], 5 mov rsi, qword ptr [rsp + 128] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 7], 6 vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 7], 7 - mov r12, qword ptr [rsp + 184] # 8-byte Reload + mov r12, qword ptr [rsp + 200] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + r12 + 7], 8 mov rcx, qword ptr [rsp + 152] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 7], 9 - mov rcx, qword ptr [rsp + 176] # 8-byte Reload + mov rcx, qword ptr [rsp + 208] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 7], 10 mov rcx, qword ptr [rsp + 96] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 7], 11 @@ -29991,22 +31257,22 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 mov r15, qword ptr [rsp + 80] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + r15 + 7], 15 vpinsrb xmm1, xmm1, byte ptr [rdx + r10 + 7], 1 - mov rbx, qword ptr [rsp + 224] # 8-byte Reload + mov rbx, qword ptr [rsp + 216] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rbx + 7], 2 vpinsrb xmm1, xmm1, byte ptr [rdx + r8 + 7], 3 - mov rcx, qword ptr [rsp + 320] # 8-byte Reload + mov rcx, qword ptr [rsp + 32] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 7], 4 - mov rcx, qword ptr [rsp + 56] # 8-byte Reload + mov rcx, qword ptr [rsp + 72] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 7], 5 vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 7], 6 - mov rcx, qword ptr [rsp + 160] # 8-byte Reload + mov rcx, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 7], 7 vpinsrb xmm1, xmm1, byte ptr [rdx + r13 + 7], 8 vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 7], 9 - mov r14, qword ptr [rsp + 104] # 8-byte Reload + mov r14, qword ptr [rsp + 56] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + r14 + 7], 10 vpinsrb xmm1, xmm1, byte ptr [rdx + r9 + 7], 11 - mov rax, qword ptr [rsp + 32] # 8-byte Reload + mov rax, qword ptr [rsp + 320] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 7], 12 mov rax, qword ptr [rsp + 40] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 7], 13 @@ -30024,24 +31290,24 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 mov rax, qword ptr [rsp + 264] # 8-byte Reload movzx edi, byte ptr [rdx + rax + 11] vmovd xmm2, edi - mov rax, qword ptr [rsp + 208] # 8-byte Reload + mov rax, qword ptr [rsp + 184] # 8-byte Reload vpinsrb xmm0, xmm9, byte ptr [rdx + rax + 8], 1 - mov rax, qword ptr [rsp + 200] # 8-byte Reload + mov rax, qword ptr [rsp + 224] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 8], 2 mov rcx, qword ptr [rsp + 248] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 8], 3 mov r10, qword ptr [rsp + 256] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + r10 + 8], 4 - mov rax, qword ptr [rsp + 112] # 8-byte Reload + mov rax, qword ptr [rsp + 104] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 8], 5 mov rsi, qword ptr [rsp + 128] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 8], 6 - mov r8, qword ptr [rsp + 64] # 8-byte Reload + mov r8, qword ptr [rsp + 112] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + r8 + 8], 7 vpinsrb xmm0, xmm0, byte ptr [rdx + r12 + 8], 8 mov rax, qword ptr [rsp + 152] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 8], 9 - mov r12, qword ptr [rsp + 176] # 8-byte Reload + mov r12, qword ptr [rsp + 208] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + r12 + 8], 10 mov rdi, qword ptr [rsp + 96] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rdi + 8], 11 @@ -30055,42 +31321,42 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 mov r15, qword ptr [rsp + 232] # 8-byte Reload vpinsrb xmm5, xmm10, byte ptr [rdx + r15 + 8], 1 vpinsrb xmm5, xmm5, byte ptr [rdx + rbx + 8], 2 - mov rdi, qword ptr [rsp + 216] # 8-byte Reload + mov rdi, qword ptr [rsp + 160] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rdi + 8], 3 - mov rdi, qword ptr [rsp + 320] # 8-byte Reload + mov rdi, qword ptr [rsp + 32] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rdi + 8], 4 - mov rdi, qword ptr [rsp + 56] # 8-byte Reload + mov rdi, qword ptr [rsp + 72] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rdi + 8], 5 - mov r9, qword ptr [rsp + 168] # 8-byte Reload + mov r9, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + r9 + 8], 6 - mov r13, qword ptr [rsp + 160] # 8-byte Reload + mov r13, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + r13 + 8], 7 mov rbx, qword ptr [rsp + 288] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rbx + 8], 8 - mov rbx, qword ptr [rsp + 48] # 8-byte Reload + mov rbx, qword ptr [rsp + 64] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rbx + 8], 9 vpinsrb xmm5, xmm5, byte ptr [rdx + r14 + 8], 10 - mov r14, qword ptr [rsp + 72] # 8-byte Reload + mov r14, qword ptr [rsp + 48] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + r14 + 8], 11 - mov rbx, qword ptr [rsp + 32] # 8-byte Reload + mov rbx, qword ptr [rsp + 320] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rbx + 8], 12 mov rbx, qword ptr [rsp + 40] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rbx + 8], 13 mov r14, qword ptr [rsp + 88] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + r14 + 8], 14 vpinsrb xmm5, xmm5, byte ptr [rdx + r11 + 8], 15 - mov r11, qword ptr [rsp + 208] # 8-byte Reload + mov r11, qword ptr [rsp + 184] # 8-byte Reload vpinsrb xmm6, xmm8, byte ptr [rdx + r11 + 9], 1 - mov rbx, qword ptr [rsp + 200] # 8-byte Reload + mov rbx, qword ptr [rsp + 224] # 8-byte Reload vpinsrb xmm6, xmm6, byte ptr [rdx + rbx + 9], 2 vpinsrb xmm6, xmm6, byte ptr [rdx + rcx + 9], 3 mov rbx, rcx vpinsrb xmm6, xmm6, byte ptr [rdx + r10 + 9], 4 - mov r10, qword ptr [rsp + 112] # 8-byte Reload + mov r10, qword ptr [rsp + 104] # 8-byte Reload vpinsrb xmm6, xmm6, byte ptr [rdx + r10 + 9], 5 vpinsrb xmm6, xmm6, byte ptr [rdx + rsi + 9], 6 vpinsrb xmm6, xmm6, byte ptr [rdx + r8 + 9], 7 - mov r8, qword ptr [rsp + 184] # 8-byte Reload + mov r8, qword ptr [rsp + 200] # 8-byte Reload vpinsrb xmm6, xmm6, byte ptr [rdx + r8 + 9], 8 vpinsrb xmm6, xmm6, byte ptr [rdx + rax + 9], 9 vpinsrb xmm6, xmm6, byte ptr [rdx + r12 + 9], 10 @@ -30106,24 +31372,24 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vpinsrb xmm6, xmm6, byte ptr [rdx + rax + 9], 15 vpinsrb xmm7, xmm11, byte ptr [rdx + r15 + 9], 1 mov r12, r15 - mov rax, qword ptr [rsp + 224] # 8-byte Reload - vpinsrb xmm7, xmm7, byte ptr [rdx + rax + 9], 2 mov rax, qword ptr [rsp + 216] # 8-byte Reload + vpinsrb xmm7, xmm7, byte ptr [rdx + rax + 9], 2 + mov rax, qword ptr [rsp + 160] # 8-byte Reload vpinsrb xmm7, xmm7, byte ptr [rdx + rax + 9], 3 - mov rax, qword ptr [rsp + 320] # 8-byte Reload + mov rax, qword ptr [rsp + 32] # 8-byte Reload vpinsrb xmm7, xmm7, byte ptr [rdx + rax + 9], 4 vpinsrb xmm7, xmm7, byte ptr [rdx + rdi + 9], 5 vpinsrb xmm7, xmm7, byte ptr [rdx + r9 + 9], 6 vpinsrb xmm7, xmm7, byte ptr [rdx + r13 + 9], 7 mov rax, qword ptr [rsp + 288] # 8-byte Reload vpinsrb xmm7, xmm7, byte ptr [rdx + rax + 9], 8 - mov r15, qword ptr [rsp + 48] # 8-byte Reload + mov r15, qword ptr [rsp + 64] # 8-byte Reload vpinsrb xmm7, xmm7, byte ptr [rdx + r15 + 9], 9 - mov rax, qword ptr [rsp + 104] # 8-byte Reload + mov rax, qword ptr [rsp + 56] # 8-byte Reload vpinsrb xmm7, xmm7, byte ptr [rdx + rax + 9], 10 - mov rax, qword ptr [rsp + 72] # 8-byte Reload + mov rax, qword ptr [rsp + 48] # 8-byte Reload vpinsrb xmm7, xmm7, byte ptr [rdx + rax + 9], 11 - mov rax, qword ptr [rsp + 32] # 8-byte Reload + mov rax, qword ptr [rsp + 320] # 8-byte Reload vpinsrb xmm7, xmm7, byte ptr [rdx + rax + 9], 12 mov rax, qword ptr [rsp + 40] # 8-byte Reload vpinsrb xmm7, xmm7, byte ptr [rdx + rax + 9], 13 @@ -30140,21 +31406,21 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 mov rax, qword ptr [rsp + 264] # 8-byte Reload movzx edi, byte ptr [rdx + rax + 12] vmovd xmm5, edi - mov r11, qword ptr [rsp + 208] # 8-byte Reload + mov r11, qword ptr [rsp + 184] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + r11 + 10], 1 - mov rax, qword ptr [rsp + 200] # 8-byte Reload + mov rax, qword ptr [rsp + 224] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 10], 2 vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 10], 3 mov r13, qword ptr [rsp + 256] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + r13 + 10], 4 vpinsrb xmm3, xmm3, byte ptr [rdx + r10 + 10], 5 vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 10], 6 - mov rdi, qword ptr [rsp + 64] # 8-byte Reload + mov rdi, qword ptr [rsp + 112] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 10], 7 vpinsrb xmm3, xmm3, byte ptr [rdx + r8 + 10], 8 mov r10, qword ptr [rsp + 152] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + r10 + 10], 9 - mov rdi, qword ptr [rsp + 176] # 8-byte Reload + mov rdi, qword ptr [rsp + 208] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 10], 10 mov r8, qword ptr [rsp + 96] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + r8 + 10], 11 @@ -30166,26 +31432,26 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 mov rdi, qword ptr [rsp + 80] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 10], 15 vpinsrb xmm4, xmm4, byte ptr [rdx + r12 + 10], 1 - mov r14, qword ptr [rsp + 224] # 8-byte Reload + mov r14, qword ptr [rsp + 216] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + r14 + 10], 2 - mov rdi, qword ptr [rsp + 216] # 8-byte Reload + mov rdi, qword ptr [rsp + 160] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + rdi + 10], 3 - mov rdi, qword ptr [rsp + 320] # 8-byte Reload + mov rdi, qword ptr [rsp + 32] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + rdi + 10], 4 - mov rcx, qword ptr [rsp + 56] # 8-byte Reload + mov rcx, qword ptr [rsp + 72] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + rcx + 10], 5 - mov rcx, qword ptr [rsp + 168] # 8-byte Reload + mov rcx, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + rcx + 10], 6 - mov r12, qword ptr [rsp + 160] # 8-byte Reload + mov r12, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + r12 + 10], 7 mov rcx, qword ptr [rsp + 288] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + rcx + 10], 8 vpinsrb xmm4, xmm4, byte ptr [rdx + r15 + 10], 9 - mov rcx, qword ptr [rsp + 104] # 8-byte Reload + mov rcx, qword ptr [rsp + 56] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + rcx + 10], 10 - mov r15, qword ptr [rsp + 72] # 8-byte Reload + mov r15, qword ptr [rsp + 48] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + r15 + 10], 11 - mov rcx, qword ptr [rsp + 32] # 8-byte Reload + mov rcx, qword ptr [rsp + 320] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + rcx + 10], 12 mov rcx, qword ptr [rsp + 40] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + rcx + 10], 13 @@ -30199,15 +31465,15 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 mov rax, rbx vpinsrb xmm1, xmm1, byte ptr [rdx + r13 + 11], 4 mov r11, r13 - mov rcx, qword ptr [rsp + 112] # 8-byte Reload + mov rcx, qword ptr [rsp + 104] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 11], 5 vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 11], 6 - mov rcx, qword ptr [rsp + 64] # 8-byte Reload + mov rcx, qword ptr [rsp + 112] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 11], 7 - mov rcx, qword ptr [rsp + 184] # 8-byte Reload + mov rcx, qword ptr [rsp + 200] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 11], 8 vpinsrb xmm1, xmm1, byte ptr [rdx + r10 + 11], 9 - mov r10, qword ptr [rsp + 176] # 8-byte Reload + mov r10, qword ptr [rsp + 208] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + r10 + 11], 10 vpinsrb xmm1, xmm1, byte ptr [rdx + r8 + 11], 11 vpinsrb xmm1, xmm1, byte ptr [rdx + r9 + 11], 12 @@ -30220,22 +31486,22 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 mov rbx, qword ptr [rsp + 232] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rbx + 11], 1 vpinsrb xmm2, xmm2, byte ptr [rdx + r14 + 11], 2 - mov rcx, qword ptr [rsp + 216] # 8-byte Reload + mov rcx, qword ptr [rsp + 160] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 11], 3 vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 11], 4 - mov rcx, qword ptr [rsp + 56] # 8-byte Reload + mov rcx, qword ptr [rsp + 72] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 11], 5 - mov r13, qword ptr [rsp + 168] # 8-byte Reload + mov r13, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + r13 + 11], 6 vpinsrb xmm2, xmm2, byte ptr [rdx + r12 + 11], 7 mov rcx, qword ptr [rsp + 288] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 11], 8 - mov rcx, qword ptr [rsp + 48] # 8-byte Reload + mov rcx, qword ptr [rsp + 64] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 11], 9 - mov rcx, qword ptr [rsp + 104] # 8-byte Reload + mov rcx, qword ptr [rsp + 56] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 11], 10 vpinsrb xmm2, xmm2, byte ptr [rdx + r15 + 11], 11 - mov rcx, qword ptr [rsp + 32] # 8-byte Reload + mov rcx, qword ptr [rsp + 320] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 11], 12 mov rcx, qword ptr [rsp + 40] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 11], 13 @@ -30253,19 +31519,19 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 mov rcx, qword ptr [rsp + 264] # 8-byte Reload movzx edi, byte ptr [rdx + rcx + 13] vmovd xmm1, edi - mov rcx, qword ptr [rsp + 208] # 8-byte Reload + mov rcx, qword ptr [rsp + 184] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 12], 1 - mov rsi, qword ptr [rsp + 200] # 8-byte Reload + mov rsi, qword ptr [rsp + 224] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 12], 2 vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 12], 3 vpinsrb xmm0, xmm0, byte ptr [rdx + r11 + 12], 4 - mov r9, qword ptr [rsp + 112] # 8-byte Reload + mov r9, qword ptr [rsp + 104] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + r9 + 12], 5 mov r8, qword ptr [rsp + 128] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + r8 + 12], 6 - mov r11, qword ptr [rsp + 64] # 8-byte Reload + mov r11, qword ptr [rsp + 112] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + r11 + 12], 7 - mov rax, qword ptr [rsp + 184] # 8-byte Reload + mov rax, qword ptr [rsp + 200] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 12], 8 mov r14, qword ptr [rsp + 152] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + r14 + 12], 9 @@ -30281,26 +31547,26 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 mov r12, qword ptr [rsp + 80] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + r12 + 12], 15 vpinsrb xmm2, xmm5, byte ptr [rdx + rbx + 12], 1 - mov r15, qword ptr [rsp + 224] # 8-byte Reload + mov r15, qword ptr [rsp + 216] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + r15 + 12], 2 - mov rdi, qword ptr [rsp + 216] # 8-byte Reload + mov rdi, qword ptr [rsp + 160] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 12], 3 - mov rbx, qword ptr [rsp + 320] # 8-byte Reload + mov rbx, qword ptr [rsp + 32] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rbx + 12], 4 - mov rbx, qword ptr [rsp + 56] # 8-byte Reload + mov rbx, qword ptr [rsp + 72] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rbx + 12], 5 vpinsrb xmm2, xmm2, byte ptr [rdx + r13 + 12], 6 - mov rbx, qword ptr [rsp + 160] # 8-byte Reload + mov rbx, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rbx + 12], 7 mov rbx, qword ptr [rsp + 288] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rbx + 12], 8 - mov rbx, qword ptr [rsp + 48] # 8-byte Reload + mov rbx, qword ptr [rsp + 64] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rbx + 12], 9 - mov rbx, qword ptr [rsp + 104] # 8-byte Reload + mov rbx, qword ptr [rsp + 56] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rbx + 12], 10 - mov rbx, qword ptr [rsp + 72] # 8-byte Reload + mov rbx, qword ptr [rsp + 48] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rbx + 12], 11 - mov rbx, qword ptr [rsp + 32] # 8-byte Reload + mov rbx, qword ptr [rsp + 320] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rbx + 12], 12 mov rbx, qword ptr [rsp + 40] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rbx + 12], 13 @@ -30320,7 +31586,7 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vpinsrb xmm3, xmm3, byte ptr [rdx + r11 + 13], 7 vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 13], 8 vpinsrb xmm3, xmm3, byte ptr [rdx + r14 + 13], 9 - mov r8, qword ptr [rsp + 176] # 8-byte Reload + mov r8, qword ptr [rsp + 208] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + r8 + 13], 10 mov rax, qword ptr [rsp + 96] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 13], 11 @@ -30335,23 +31601,23 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 13], 1 vpinsrb xmm1, xmm1, byte ptr [rdx + r15 + 13], 2 vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 13], 3 - mov rcx, qword ptr [rsp + 320] # 8-byte Reload + mov rcx, qword ptr [rsp + 32] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 13], 4 - mov rdi, qword ptr [rsp + 56] # 8-byte Reload + mov rdi, qword ptr [rsp + 72] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 13], 5 - mov rdi, qword ptr [rsp + 168] # 8-byte Reload + mov rdi, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 13], 6 - mov rdi, qword ptr [rsp + 160] # 8-byte Reload + mov rdi, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 13], 7 mov r10, qword ptr [rsp + 288] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + r10 + 13], 8 - mov r12, qword ptr [rsp + 48] # 8-byte Reload + mov r12, qword ptr [rsp + 64] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + r12 + 13], 9 - mov rdi, qword ptr [rsp + 104] # 8-byte Reload + mov rdi, qword ptr [rsp + 56] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 13], 10 - mov rdi, qword ptr [rsp + 72] # 8-byte Reload + mov rdi, qword ptr [rsp + 48] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 13], 11 - mov rdi, qword ptr [rsp + 32] # 8-byte Reload + mov rdi, qword ptr [rsp + 320] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 13], 12 mov rdi, qword ptr [rsp + 40] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 13], 13 @@ -30369,18 +31635,18 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 mov rdi, qword ptr [rsp + 264] # 8-byte Reload movzx edi, byte ptr [rdx + rdi + 14] vmovd xmm0, edi - mov r9, qword ptr [rsp + 208] # 8-byte Reload + mov r9, qword ptr [rsp + 184] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + r9 + 14], 1 vpinsrb xmm1, xmm1, byte ptr [rdx + r13 + 14], 2 vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 14], 3 mov rsi, qword ptr [rsp + 256] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 14], 4 - mov rdi, qword ptr [rsp + 112] # 8-byte Reload + mov rdi, qword ptr [rsp + 104] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 14], 5 mov rdi, qword ptr [rsp + 128] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 14], 6 vpinsrb xmm1, xmm1, byte ptr [rdx + r11 + 14], 7 - mov r11, qword ptr [rsp + 184] # 8-byte Reload + mov r11, qword ptr [rsp + 200] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + r11 + 14], 8 mov rdi, qword ptr [rsp + 152] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 14], 9 @@ -30395,24 +31661,24 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vpinsrb xmm1, xmm1, byte ptr [rdx + r14 + 14], 15 mov r8, qword ptr [rsp + 232] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + r8 + 14], 1 - mov rdi, qword ptr [rsp + 224] # 8-byte Reload + mov rdi, qword ptr [rsp + 216] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rdi + 14], 2 - mov r14, qword ptr [rsp + 216] # 8-byte Reload + mov r14, qword ptr [rsp + 160] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + r14 + 14], 3 vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 14], 4 - mov rcx, qword ptr [rsp + 56] # 8-byte Reload + mov rcx, qword ptr [rsp + 72] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 14], 5 - mov rcx, qword ptr [rsp + 168] # 8-byte Reload + mov rcx, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 14], 6 - mov rcx, qword ptr [rsp + 160] # 8-byte Reload + mov rcx, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 14], 7 vpinsrb xmm0, xmm0, byte ptr [rdx + r10 + 14], 8 vpinsrb xmm0, xmm0, byte ptr [rdx + r12 + 14], 9 - mov rcx, qword ptr [rsp + 104] # 8-byte Reload + mov rcx, qword ptr [rsp + 56] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 14], 10 - mov rcx, qword ptr [rsp + 72] # 8-byte Reload + mov rcx, qword ptr [rsp + 48] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 14], 11 - mov rcx, qword ptr [rsp + 32] # 8-byte Reload + mov rcx, qword ptr [rsp + 320] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 14], 12 mov rcx, qword ptr [rsp + 40] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 14], 13 @@ -30423,21 +31689,21 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 movzx edi, byte ptr [rdx + rdi + 15] vmovd xmm2, edi vpinsrb xmm2, xmm2, byte ptr [rdx + r9 + 15], 1 - mov rdi, qword ptr [rsp + 200] # 8-byte Reload + mov rdi, qword ptr [rsp + 224] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 15], 2 mov rdi, qword ptr [rsp + 248] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 15], 3 vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 15], 4 - mov rsi, qword ptr [rsp + 112] # 8-byte Reload + mov rsi, qword ptr [rsp + 104] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 15], 5 mov r12, qword ptr [rsp + 128] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + r12 + 15], 6 - mov rsi, qword ptr [rsp + 64] # 8-byte Reload + mov rsi, qword ptr [rsp + 112] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 15], 7 vpinsrb xmm2, xmm2, byte ptr [rdx + r11 + 15], 8 mov r11, qword ptr [rsp + 152] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + r11 + 15], 9 - mov rsi, qword ptr [rsp + 176] # 8-byte Reload + mov rsi, qword ptr [rsp + 208] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 15], 10 vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 15], 11 vpinsrb xmm2, xmm2, byte ptr [rdx + rbx + 15], 12 @@ -30450,26 +31716,26 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 movzx edi, byte ptr [rdx + r10 + 15] vmovd xmm3, edi vpinsrb xmm3, xmm3, byte ptr [rdx + r8 + 15], 1 - mov r13, qword ptr [rsp + 224] # 8-byte Reload + mov r13, qword ptr [rsp + 216] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + r13 + 15], 2 vpinsrb xmm3, xmm3, byte ptr [rdx + r14 + 15], 3 - mov rax, qword ptr [rsp + 320] # 8-byte Reload + mov rax, qword ptr [rsp + 32] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 15], 4 - mov rax, qword ptr [rsp + 56] # 8-byte Reload + mov rax, qword ptr [rsp + 72] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 15], 5 - mov rax, qword ptr [rsp + 168] # 8-byte Reload + mov rax, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 15], 6 - mov rax, qword ptr [rsp + 160] # 8-byte Reload + mov rax, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 15], 7 mov rdi, qword ptr [rsp + 288] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 15], 8 - mov rdi, qword ptr [rsp + 48] # 8-byte Reload + mov rdi, qword ptr [rsp + 64] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 15], 9 - mov r15, qword ptr [rsp + 104] # 8-byte Reload + mov r15, qword ptr [rsp + 56] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + r15 + 15], 10 - mov rbx, qword ptr [rsp + 72] # 8-byte Reload + mov rbx, qword ptr [rsp + 48] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 15], 11 - mov rdi, qword ptr [rsp + 32] # 8-byte Reload + mov rdi, qword ptr [rsp + 320] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 15], 12 vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 15], 13 mov rcx, qword ptr [rsp + 88] # 8-byte Reload @@ -30483,23 +31749,23 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 mov r9, qword ptr [rsp + 240] # 8-byte Reload movzx edi, byte ptr [rdx + r9 + 16] vmovd xmm0, edi - mov rcx, qword ptr [rsp + 208] # 8-byte Reload + mov rcx, qword ptr [rsp + 184] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 16], 1 - mov rcx, qword ptr [rsp + 200] # 8-byte Reload + mov rcx, qword ptr [rsp + 224] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 16], 2 mov r8, qword ptr [rsp + 248] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + r8 + 16], 3 mov rdi, qword ptr [rsp + 256] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rdi + 16], 4 - mov rdi, qword ptr [rsp + 112] # 8-byte Reload + mov rdi, qword ptr [rsp + 104] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rdi + 16], 5 vpinsrb xmm0, xmm0, byte ptr [rdx + r12 + 16], 6 - mov rdi, qword ptr [rsp + 64] # 8-byte Reload + mov rdi, qword ptr [rsp + 112] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rdi + 16], 7 - mov rdi, qword ptr [rsp + 184] # 8-byte Reload + mov rdi, qword ptr [rsp + 200] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rdi + 16], 8 vpinsrb xmm0, xmm0, byte ptr [rdx + r11 + 16], 9 - mov r12, qword ptr [rsp + 176] # 8-byte Reload + mov r12, qword ptr [rsp + 208] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + r12 + 16], 10 mov rdi, qword ptr [rsp + 96] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rdi + 16], 11 @@ -30515,22 +31781,22 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 mov rsi, qword ptr [rsp + 232] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 16], 1 vpinsrb xmm1, xmm1, byte ptr [rdx + r13 + 16], 2 - mov rsi, qword ptr [rsp + 216] # 8-byte Reload + mov rsi, qword ptr [rsp + 160] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 16], 3 - mov rsi, qword ptr [rsp + 320] # 8-byte Reload + mov rsi, qword ptr [rsp + 32] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 16], 4 - mov rsi, qword ptr [rsp + 56] # 8-byte Reload + mov rsi, qword ptr [rsp + 72] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 16], 5 - mov r11, qword ptr [rsp + 168] # 8-byte Reload + mov r11, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + r11 + 16], 6 vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 16], 7 mov rax, qword ptr [rsp + 288] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 16], 8 - mov rax, qword ptr [rsp + 48] # 8-byte Reload + mov rax, qword ptr [rsp + 64] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 16], 9 vpinsrb xmm1, xmm1, byte ptr [rdx + r15 + 16], 10 vpinsrb xmm1, xmm1, byte ptr [rdx + rbx + 16], 11 - mov rax, qword ptr [rsp + 32] # 8-byte Reload + mov rax, qword ptr [rsp + 320] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 16], 12 mov rbx, qword ptr [rsp + 40] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rbx + 16], 13 @@ -30539,19 +31805,19 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vpinsrb xmm1, xmm1, byte ptr [rdx + r14 + 16], 15 movzx edi, byte ptr [rdx + r9 + 17] vmovd xmm2, edi - mov rax, qword ptr [rsp + 208] # 8-byte Reload + mov rax, qword ptr [rsp + 184] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 17], 1 vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 17], 2 vpinsrb xmm2, xmm2, byte ptr [rdx + r8 + 17], 3 mov rax, qword ptr [rsp + 256] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 17], 4 - mov r14, qword ptr [rsp + 112] # 8-byte Reload + mov r14, qword ptr [rsp + 104] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + r14 + 17], 5 mov rsi, qword ptr [rsp + 128] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 17], 6 - mov rax, qword ptr [rsp + 64] # 8-byte Reload + mov rax, qword ptr [rsp + 112] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 17], 7 - mov r15, qword ptr [rsp + 184] # 8-byte Reload + mov r15, qword ptr [rsp + 200] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + r15 + 17], 8 mov rax, qword ptr [rsp + 152] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 17], 9 @@ -30570,26 +31836,26 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vmovd xmm3, edi mov r12, qword ptr [rsp + 232] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + r12 + 17], 1 - mov rcx, qword ptr [rsp + 224] # 8-byte Reload + mov rcx, qword ptr [rsp + 216] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 17], 2 - mov r8, qword ptr [rsp + 216] # 8-byte Reload + mov r8, qword ptr [rsp + 160] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + r8 + 17], 3 - mov rcx, qword ptr [rsp + 320] # 8-byte Reload + mov rcx, qword ptr [rsp + 32] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 17], 4 - mov rcx, qword ptr [rsp + 56] # 8-byte Reload + mov rcx, qword ptr [rsp + 72] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 17], 5 vpinsrb xmm3, xmm3, byte ptr [rdx + r11 + 17], 6 - mov rcx, qword ptr [rsp + 160] # 8-byte Reload + mov rcx, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 17], 7 mov r9, qword ptr [rsp + 288] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + r9 + 17], 8 - mov rcx, qword ptr [rsp + 48] # 8-byte Reload + mov rcx, qword ptr [rsp + 64] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 17], 9 - mov rcx, qword ptr [rsp + 104] # 8-byte Reload + mov rcx, qword ptr [rsp + 56] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 17], 10 - mov rdi, qword ptr [rsp + 72] # 8-byte Reload + mov rdi, qword ptr [rsp + 48] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 17], 11 - mov rdi, qword ptr [rsp + 32] # 8-byte Reload + mov rdi, qword ptr [rsp + 320] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 17], 12 mov r11, rbx vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 17], 13 @@ -30604,9 +31870,9 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 mov rdi, qword ptr [rsp + 240] # 8-byte Reload movzx edi, byte ptr [rdx + rdi + 18] vmovd xmm0, edi - mov rdi, qword ptr [rsp + 208] # 8-byte Reload + mov rdi, qword ptr [rsp + 184] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rdi + 18], 1 - mov rdi, qword ptr [rsp + 200] # 8-byte Reload + mov rdi, qword ptr [rsp + 224] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rdi + 18], 2 mov rdi, qword ptr [rsp + 248] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rdi + 18], 3 @@ -30614,12 +31880,12 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vpinsrb xmm0, xmm0, byte ptr [rdx + rdi + 18], 4 vpinsrb xmm0, xmm0, byte ptr [rdx + r14 + 18], 5 vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 18], 6 - mov rsi, qword ptr [rsp + 64] # 8-byte Reload + mov rsi, qword ptr [rsp + 112] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 18], 7 vpinsrb xmm0, xmm0, byte ptr [rdx + r15 + 18], 8 mov rsi, qword ptr [rsp + 152] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 18], 9 - mov rsi, qword ptr [rsp + 176] # 8-byte Reload + mov rsi, qword ptr [rsp + 208] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 18], 10 mov rsi, qword ptr [rsp + 96] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 18], 11 @@ -30632,25 +31898,25 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 movzx edi, byte ptr [rdx + r10 + 18] vmovd xmm1, edi vpinsrb xmm1, xmm1, byte ptr [rdx + r12 + 18], 1 - mov r10, qword ptr [rsp + 224] # 8-byte Reload + mov r10, qword ptr [rsp + 216] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + r10 + 18], 2 vpinsrb xmm1, xmm1, byte ptr [rdx + r8 + 18], 3 mov r12, r8 - mov rsi, qword ptr [rsp + 320] # 8-byte Reload + mov rsi, qword ptr [rsp + 32] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 18], 4 - mov r14, qword ptr [rsp + 56] # 8-byte Reload + mov r14, qword ptr [rsp + 72] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + r14 + 18], 5 - mov r8, qword ptr [rsp + 168] # 8-byte Reload + mov r8, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + r8 + 18], 6 - mov r13, qword ptr [rsp + 160] # 8-byte Reload + mov r13, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + r13 + 18], 7 vpinsrb xmm1, xmm1, byte ptr [rdx + r9 + 18], 8 - mov rax, qword ptr [rsp + 48] # 8-byte Reload + mov rax, qword ptr [rsp + 64] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 18], 9 vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 18], 10 - mov rcx, qword ptr [rsp + 72] # 8-byte Reload + mov rcx, qword ptr [rsp + 48] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 18], 11 - mov rcx, qword ptr [rsp + 32] # 8-byte Reload + mov rcx, qword ptr [rsp + 320] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 18], 12 vpinsrb xmm1, xmm1, byte ptr [rdx + r11 + 18], 13 mov rcx, qword ptr [rsp + 88] # 8-byte Reload @@ -30659,25 +31925,25 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 mov r15, qword ptr [rsp + 240] # 8-byte Reload movzx edi, byte ptr [rdx + r15 + 19] vmovd xmm2, edi - mov rcx, qword ptr [rsp + 208] # 8-byte Reload + mov rcx, qword ptr [rsp + 184] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 19], 1 - mov r9, qword ptr [rsp + 200] # 8-byte Reload + mov r9, qword ptr [rsp + 224] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + r9 + 19], 2 mov rcx, qword ptr [rsp + 248] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 19], 3 mov rbx, qword ptr [rsp + 256] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rbx + 19], 4 - mov rcx, qword ptr [rsp + 112] # 8-byte Reload + mov rcx, qword ptr [rsp + 104] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 19], 5 mov rcx, qword ptr [rsp + 128] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 19], 6 - mov rcx, qword ptr [rsp + 64] # 8-byte Reload + mov rcx, qword ptr [rsp + 112] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 19], 7 - mov rcx, qword ptr [rsp + 184] # 8-byte Reload + mov rcx, qword ptr [rsp + 200] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 19], 8 mov r11, qword ptr [rsp + 152] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + r11 + 19], 9 - mov rcx, qword ptr [rsp + 176] # 8-byte Reload + mov rcx, qword ptr [rsp + 208] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 19], 10 mov rcx, qword ptr [rsp + 96] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 19], 11 @@ -30704,11 +31970,11 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 mov rsi, qword ptr [rsp + 288] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 19], 8 vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 19], 9 - mov rax, qword ptr [rsp + 104] # 8-byte Reload + mov rax, qword ptr [rsp + 56] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 19], 10 - mov rax, qword ptr [rsp + 72] # 8-byte Reload + mov rax, qword ptr [rsp + 48] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 19], 11 - mov r10, qword ptr [rsp + 32] # 8-byte Reload + mov r10, qword ptr [rsp + 320] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + r10 + 19], 12 mov rax, qword ptr [rsp + 40] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 19], 13 @@ -30722,22 +31988,22 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vmovdqa ymmword ptr [rsp + 832], ymm0 # 32-byte Spill movzx edi, byte ptr [rdx + r15 + 20] vmovd xmm0, edi - mov r8, qword ptr [rsp + 208] # 8-byte Reload + mov r8, qword ptr [rsp + 184] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + r8 + 20], 1 vpinsrb xmm0, xmm0, byte ptr [rdx + r9 + 20], 2 mov r15, qword ptr [rsp + 248] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + r15 + 20], 3 vpinsrb xmm0, xmm0, byte ptr [rdx + rbx + 20], 4 - mov rsi, qword ptr [rsp + 112] # 8-byte Reload + mov rsi, qword ptr [rsp + 104] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 20], 5 mov rax, qword ptr [rsp + 128] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 20], 6 - mov r9, qword ptr [rsp + 64] # 8-byte Reload + mov r9, qword ptr [rsp + 112] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + r9 + 20], 7 - mov rax, qword ptr [rsp + 184] # 8-byte Reload + mov rax, qword ptr [rsp + 200] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 20], 8 vpinsrb xmm0, xmm0, byte ptr [rdx + r11 + 20], 9 - mov rax, qword ptr [rsp + 176] # 8-byte Reload + mov rax, qword ptr [rsp + 208] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 20], 10 mov rax, qword ptr [rsp + 96] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 20], 11 @@ -30753,23 +32019,23 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vmovd xmm1, edi mov rcx, qword ptr [rsp + 232] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 20], 1 - mov rcx, qword ptr [rsp + 224] # 8-byte Reload + mov rcx, qword ptr [rsp + 216] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 20], 2 vpinsrb xmm1, xmm1, byte ptr [rdx + r12 + 20], 3 - mov rdi, qword ptr [rsp + 320] # 8-byte Reload + mov rdi, qword ptr [rsp + 32] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 20], 4 - mov r11, qword ptr [rsp + 56] # 8-byte Reload + mov r11, qword ptr [rsp + 72] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + r11 + 20], 5 vpinsrb xmm1, xmm1, byte ptr [rdx + r14 + 20], 6 - mov rdi, qword ptr [rsp + 160] # 8-byte Reload + mov rdi, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 20], 7 mov rdi, qword ptr [rsp + 288] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 20], 8 - mov rbx, qword ptr [rsp + 48] # 8-byte Reload + mov rbx, qword ptr [rsp + 64] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rbx + 20], 9 - mov rdi, qword ptr [rsp + 104] # 8-byte Reload + mov rdi, qword ptr [rsp + 56] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 20], 10 - mov rdi, qword ptr [rsp + 72] # 8-byte Reload + mov rdi, qword ptr [rsp + 48] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 20], 11 vpinsrb xmm1, xmm1, byte ptr [rdx + r10 + 20], 12 mov rdi, qword ptr [rsp + 40] # 8-byte Reload @@ -30781,7 +32047,7 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 movzx edi, byte ptr [rdx + rdi + 21] vmovd xmm2, edi vpinsrb xmm2, xmm2, byte ptr [rdx + r8 + 21], 1 - mov r13, qword ptr [rsp + 200] # 8-byte Reload + mov r13, qword ptr [rsp + 224] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + r13 + 21], 2 vpinsrb xmm2, xmm2, byte ptr [rdx + r15 + 21], 3 mov r15, qword ptr [rsp + 256] # 8-byte Reload @@ -30790,11 +32056,11 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 mov rsi, qword ptr [rsp + 128] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 21], 6 vpinsrb xmm2, xmm2, byte ptr [rdx + r9 + 21], 7 - mov r9, qword ptr [rsp + 184] # 8-byte Reload + mov r9, qword ptr [rsp + 200] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + r9 + 21], 8 mov rdi, qword ptr [rsp + 152] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 21], 9 - mov rdi, qword ptr [rsp + 176] # 8-byte Reload + mov rdi, qword ptr [rsp + 208] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 21], 10 mov r10, qword ptr [rsp + 96] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + r10 + 21], 11 @@ -30811,22 +32077,22 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 mov rax, qword ptr [rsp + 232] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 21], 1 vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 21], 2 - mov rax, qword ptr [rsp + 216] # 8-byte Reload + mov rax, qword ptr [rsp + 160] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 21], 3 - mov rax, qword ptr [rsp + 320] # 8-byte Reload + mov rax, qword ptr [rsp + 32] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 21], 4 vpinsrb xmm3, xmm3, byte ptr [rdx + r11 + 21], 5 vpinsrb xmm3, xmm3, byte ptr [rdx + r14 + 21], 6 - mov rax, qword ptr [rsp + 160] # 8-byte Reload + mov rax, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 21], 7 mov rax, qword ptr [rsp + 288] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 21], 8 vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 21], 9 - mov rax, qword ptr [rsp + 104] # 8-byte Reload + mov rax, qword ptr [rsp + 56] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 21], 10 - mov rbx, qword ptr [rsp + 72] # 8-byte Reload + mov rbx, qword ptr [rsp + 48] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 21], 11 - mov r14, qword ptr [rsp + 32] # 8-byte Reload + mov r14, qword ptr [rsp + 320] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + r14 + 21], 12 mov rax, qword ptr [rsp + 40] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 21], 13 @@ -30840,21 +32106,21 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 mov rax, qword ptr [rsp + 240] # 8-byte Reload movzx edi, byte ptr [rdx + rax + 22] vmovd xmm0, edi - mov rax, qword ptr [rsp + 208] # 8-byte Reload + mov rax, qword ptr [rsp + 184] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 22], 1 vpinsrb xmm0, xmm0, byte ptr [rdx + r13 + 22], 2 mov rax, qword ptr [rsp + 248] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 22], 3 vpinsrb xmm0, xmm0, byte ptr [rdx + r15 + 22], 4 - mov rdi, qword ptr [rsp + 112] # 8-byte Reload + mov rdi, qword ptr [rsp + 104] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rdi + 22], 5 vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 22], 6 - mov rsi, qword ptr [rsp + 64] # 8-byte Reload + mov rsi, qword ptr [rsp + 112] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 22], 7 vpinsrb xmm0, xmm0, byte ptr [rdx + r9 + 22], 8 mov rsi, qword ptr [rsp + 152] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 22], 9 - mov rsi, qword ptr [rsp + 176] # 8-byte Reload + mov rsi, qword ptr [rsp + 208] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 22], 10 vpinsrb xmm0, xmm0, byte ptr [rdx + r10 + 22], 11 vpinsrb xmm0, xmm0, byte ptr [rdx + r8 + 22], 12 @@ -30869,23 +32135,23 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vmovd xmm1, edi mov r15, qword ptr [rsp + 232] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + r15 + 22], 1 - mov rdi, qword ptr [rsp + 224] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 22], 2 mov rdi, qword ptr [rsp + 216] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 22], 2 + mov rdi, qword ptr [rsp + 160] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 22], 3 - mov rdi, qword ptr [rsp + 320] # 8-byte Reload + mov rdi, qword ptr [rsp + 32] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 22], 4 - mov rdi, qword ptr [rsp + 56] # 8-byte Reload + mov rdi, qword ptr [rsp + 72] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 22], 5 - mov rdi, qword ptr [rsp + 168] # 8-byte Reload + mov rdi, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 22], 6 - mov r12, qword ptr [rsp + 160] # 8-byte Reload + mov r12, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + r12 + 22], 7 mov rdi, qword ptr [rsp + 288] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 22], 8 - mov rdi, qword ptr [rsp + 48] # 8-byte Reload + mov rdi, qword ptr [rsp + 64] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 22], 9 - mov rdi, qword ptr [rsp + 104] # 8-byte Reload + mov rdi, qword ptr [rsp + 56] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 22], 10 vpinsrb xmm1, xmm1, byte ptr [rdx + rbx + 22], 11 vpinsrb xmm1, xmm1, byte ptr [rdx + r14 + 22], 12 @@ -30897,18 +32163,18 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 mov rbx, qword ptr [rsp + 240] # 8-byte Reload movzx edi, byte ptr [rdx + rbx + 23] vmovd xmm2, edi - mov rdi, qword ptr [rsp + 208] # 8-byte Reload + mov rdi, qword ptr [rsp + 184] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 23], 1 - mov rdi, qword ptr [rsp + 200] # 8-byte Reload + mov rdi, qword ptr [rsp + 224] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 23], 2 vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 23], 3 mov rax, qword ptr [rsp + 256] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 23], 4 - mov rdi, qword ptr [rsp + 112] # 8-byte Reload + mov rdi, qword ptr [rsp + 104] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 23], 5 mov r14, qword ptr [rsp + 128] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + r14 + 23], 6 - mov rdi, qword ptr [rsp + 64] # 8-byte Reload + mov rdi, qword ptr [rsp + 112] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 23], 7 vpinsrb xmm2, xmm2, byte ptr [rdx + r9 + 23], 8 mov r9, qword ptr [rsp + 152] # 8-byte Reload @@ -30925,27 +32191,27 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 movzx edi, byte ptr [rdx + r11 + 23] vmovd xmm3, edi vpinsrb xmm3, xmm3, byte ptr [rdx + r15 + 23], 1 - mov rsi, qword ptr [rsp + 224] # 8-byte Reload + mov rsi, qword ptr [rsp + 216] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 23], 2 - mov rdi, qword ptr [rsp + 216] # 8-byte Reload + mov rdi, qword ptr [rsp + 160] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 23], 3 - mov r15, qword ptr [rsp + 320] # 8-byte Reload + mov r15, qword ptr [rsp + 32] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + r15 + 23], 4 - mov rdi, qword ptr [rsp + 56] # 8-byte Reload + mov rdi, qword ptr [rsp + 72] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 23], 5 - mov rdi, qword ptr [rsp + 168] # 8-byte Reload + mov rdi, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 23], 6 vpinsrb xmm3, xmm3, byte ptr [rdx + r12 + 23], 7 mov rdi, qword ptr [rsp + 288] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 23], 8 - mov rdi, qword ptr [rsp + 48] # 8-byte Reload + mov rdi, qword ptr [rsp + 64] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 23], 9 - mov r12, qword ptr [rsp + 104] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + r12 + 23], 10 - mov rdi, qword ptr [rsp + 72] # 8-byte Reload + mov rdi, qword ptr [rsp + 56] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 23], 10 + mov rdi, qword ptr [rsp + 48] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 23], 11 - mov r10, qword ptr [rsp + 32] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + r10 + 23], 12 + mov r12, qword ptr [rsp + 320] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + r12 + 23], 12 vpinsrb xmm3, xmm3, byte ptr [rdx + r8 + 23], 13 mov rdi, qword ptr [rsp + 88] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 23], 14 @@ -30954,22 +32220,22 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vinserti128 ymm11, ymm3, xmm2, 1 movzx edi, byte ptr [rdx + rbx + 24] vmovd xmm0, edi - mov rcx, qword ptr [rsp + 208] # 8-byte Reload + mov rcx, qword ptr [rsp + 184] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 24], 1 - mov rcx, qword ptr [rsp + 200] # 8-byte Reload + mov rcx, qword ptr [rsp + 224] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 24], 2 - mov r8, qword ptr [rsp + 248] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + r8 + 24], 3 + mov r10, qword ptr [rsp + 248] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r10 + 24], 3 vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 24], 4 - mov rax, qword ptr [rsp + 112] # 8-byte Reload + mov rax, qword ptr [rsp + 104] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 24], 5 vpinsrb xmm0, xmm0, byte ptr [rdx + r14 + 24], 6 - mov r11, qword ptr [rsp + 64] # 8-byte Reload + mov r11, qword ptr [rsp + 112] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + r11 + 24], 7 - mov rcx, qword ptr [rsp + 184] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 24], 8 + mov r14, qword ptr [rsp + 200] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r14 + 24], 8 vpinsrb xmm0, xmm0, byte ptr [rdx + r9 + 24], 9 - mov r9, qword ptr [rsp + 176] # 8-byte Reload + mov r9, qword ptr [rsp + 208] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + r9 + 24], 10 mov rcx, qword ptr [rsp + 96] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 24], 11 @@ -30983,50 +32249,50 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 mov rdi, qword ptr [rsp + 264] # 8-byte Reload movzx edi, byte ptr [rdx + rdi + 24] vmovd xmm1, edi - mov r14, qword ptr [rsp + 232] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + r14 + 24], 1 + mov rbx, qword ptr [rsp + 232] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rbx + 24], 1 vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 24], 2 - mov r13, qword ptr [rsp + 216] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + r13 + 24], 3 + mov rsi, qword ptr [rsp + 160] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 24], 3 vpinsrb xmm1, xmm1, byte ptr [rdx + r15 + 24], 4 - mov rsi, qword ptr [rsp + 56] # 8-byte Reload + mov rsi, qword ptr [rsp + 72] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 24], 5 - mov rsi, qword ptr [rsp + 168] # 8-byte Reload + mov rsi, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 24], 6 - mov rbx, qword ptr [rsp + 160] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rbx + 24], 7 + mov r8, qword ptr [rsp + 168] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + r8 + 24], 7 mov rsi, qword ptr [rsp + 288] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 24], 8 - mov rsi, qword ptr [rsp + 48] # 8-byte Reload + mov rsi, qword ptr [rsp + 64] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 24], 9 - vpinsrb xmm1, xmm1, byte ptr [rdx + r12 + 24], 10 - mov rsi, qword ptr [rsp + 72] # 8-byte Reload + mov rsi, qword ptr [rsp + 56] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 24], 10 + mov rsi, qword ptr [rsp + 48] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 24], 11 - vpinsrb xmm1, xmm1, byte ptr [rdx + r10 + 24], 12 + vpinsrb xmm1, xmm1, byte ptr [rdx + r12 + 24], 12 mov rsi, qword ptr [rsp + 40] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 24], 13 - mov r15, qword ptr [rsp + 88] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + r15 + 24], 14 + mov r13, qword ptr [rsp + 88] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + r13 + 24], 14 mov rsi, qword ptr [rsp + 144] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 24], 15 mov rsi, qword ptr [rsp + 240] # 8-byte Reload movzx edi, byte ptr [rdx + rsi + 25] vmovd xmm2, edi - mov r10, qword ptr [rsp + 208] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r10 + 25], 1 - mov rsi, qword ptr [rsp + 200] # 8-byte Reload + mov r12, qword ptr [rsp + 184] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + r12 + 25], 1 + mov rsi, qword ptr [rsp + 224] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 25], 2 - vpinsrb xmm2, xmm2, byte ptr [rdx + r8 + 25], 3 + vpinsrb xmm2, xmm2, byte ptr [rdx + r10 + 25], 3 mov rdi, qword ptr [rsp + 256] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 25], 4 vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 25], 5 mov rax, qword ptr [rsp + 128] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 25], 6 vpinsrb xmm2, xmm2, byte ptr [rdx + r11 + 25], 7 - mov rdi, qword ptr [rsp + 184] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 25], 8 - mov r8, qword ptr [rsp + 152] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r8 + 25], 9 + vpinsrb xmm2, xmm2, byte ptr [rdx + r14 + 25], 8 + mov r10, qword ptr [rsp + 152] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + r10 + 25], 9 vpinsrb xmm2, xmm2, byte ptr [rdx + r9 + 25], 10 vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 25], 11 mov r9, qword ptr [rsp + 136] # 8-byte Reload @@ -31040,29 +32306,30 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 mov rcx, qword ptr [rsp + 264] # 8-byte Reload movzx edi, byte ptr [rdx + rcx + 25] vmovd xmm3, edi - vpinsrb xmm3, xmm3, byte ptr [rdx + r14 + 25], 1 - mov rdi, qword ptr [rsp + 224] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 25], 1 + mov rdi, qword ptr [rsp + 216] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 25], 2 - vpinsrb xmm3, xmm3, byte ptr [rdx + r13 + 25], 3 - mov r14, qword ptr [rsp + 320] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + r14 + 25], 4 - mov r13, qword ptr [rsp + 56] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + r13 + 25], 5 - mov rdi, qword ptr [rsp + 168] # 8-byte Reload + mov rdi, qword ptr [rsp + 160] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 25], 3 + vpinsrb xmm3, xmm3, byte ptr [rdx + r15 + 25], 4 + mov rdi, qword ptr [rsp + 72] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 25], 5 + mov rdi, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 25], 6 - vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 25], 7 + vpinsrb xmm3, xmm3, byte ptr [rdx + r8 + 25], 7 mov rdi, qword ptr [rsp + 288] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 25], 8 - mov rdi, qword ptr [rsp + 48] # 8-byte Reload + mov rdi, qword ptr [rsp + 64] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 25], 9 - vpinsrb xmm3, xmm3, byte ptr [rdx + r12 + 25], 10 - mov r12, qword ptr [rsp + 72] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + r12 + 25], 11 - mov rbx, qword ptr [rsp + 32] # 8-byte Reload + mov r14, qword ptr [rsp + 56] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + r14 + 25], 10 + mov rdi, qword ptr [rsp + 48] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 25], 11 + mov rbx, qword ptr [rsp + 320] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 25], 12 mov rdi, qword ptr [rsp + 40] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 25], 13 - vpinsrb xmm3, xmm3, byte ptr [rdx + r15 + 25], 14 + vpinsrb xmm3, xmm3, byte ptr [rdx + r13 + 25], 14 vinserti128 ymm0, ymm1, xmm0, 1 vmovdqa ymmword ptr [rsp + 544], ymm0 # 32-byte Spill mov rdi, qword ptr [rsp + 144] # 8-byte Reload @@ -31072,21 +32339,21 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 mov rdi, qword ptr [rsp + 240] # 8-byte Reload movzx edi, byte ptr [rdx + rdi + 26] vmovd xmm0, edi - vpinsrb xmm0, xmm0, byte ptr [rdx + r10 + 26], 1 + vpinsrb xmm0, xmm0, byte ptr [rdx + r12 + 26], 1 vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 26], 2 mov rsi, qword ptr [rsp + 248] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 26], 3 - mov r15, qword ptr [rsp + 256] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + r15 + 26], 4 - mov rsi, qword ptr [rsp + 112] # 8-byte Reload + mov r12, qword ptr [rsp + 256] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r12 + 26], 4 + mov rsi, qword ptr [rsp + 104] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 26], 5 vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 26], 6 - mov rax, qword ptr [rsp + 64] # 8-byte Reload + mov rax, qword ptr [rsp + 112] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 26], 7 - mov rax, qword ptr [rsp + 184] # 8-byte Reload + mov rax, qword ptr [rsp + 200] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 26], 8 - vpinsrb xmm0, xmm0, byte ptr [rdx + r8 + 26], 9 - mov r8, qword ptr [rsp + 176] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r10 + 26], 9 + mov r8, qword ptr [rsp + 208] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + r8 + 26], 10 mov rsi, qword ptr [rsp + 96] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 26], 11 @@ -31100,26 +32367,27 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vmovd xmm1, edi mov rcx, qword ptr [rsp + 232] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 26], 1 - mov rdi, qword ptr [rsp + 224] # 8-byte Reload + mov rdi, qword ptr [rsp + 216] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 26], 2 - mov r10, qword ptr [rsp + 216] # 8-byte Reload + mov r10, qword ptr [rsp + 160] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + r10 + 26], 3 - vpinsrb xmm1, xmm1, byte ptr [rdx + r14 + 26], 4 - vpinsrb xmm1, xmm1, byte ptr [rdx + r13 + 26], 5 - mov r11, qword ptr [rsp + 168] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + r15 + 26], 4 + mov r15, qword ptr [rsp + 72] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + r15 + 26], 5 + mov r11, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + r11 + 26], 6 - mov r13, qword ptr [rsp + 160] # 8-byte Reload + mov r13, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + r13 + 26], 7 mov rdi, qword ptr [rsp + 288] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 26], 8 - mov rdi, qword ptr [rsp + 48] # 8-byte Reload + mov rdi, qword ptr [rsp + 64] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 26], 9 - mov r14, qword ptr [rsp + 104] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + r14 + 26], 10 - vpinsrb xmm1, xmm1, byte ptr [rdx + r12 + 26], 11 + mov rdi, qword ptr [rsp + 48] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 26], 11 vpinsrb xmm1, xmm1, byte ptr [rdx + rbx + 26], 12 - mov rdi, qword ptr [rsp + 40] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 26], 13 + mov r14, qword ptr [rsp + 40] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + r14 + 26], 13 mov rdi, qword ptr [rsp + 88] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 26], 14 mov rdi, qword ptr [rsp + 144] # 8-byte Reload @@ -31127,18 +32395,18 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 mov rdi, qword ptr [rsp + 240] # 8-byte Reload movzx edi, byte ptr [rdx + rdi + 27] vmovd xmm2, edi - mov rbx, qword ptr [rsp + 208] # 8-byte Reload + mov rbx, qword ptr [rsp + 184] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rbx + 27], 1 - mov rdi, qword ptr [rsp + 200] # 8-byte Reload + mov rdi, qword ptr [rsp + 224] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 27], 2 mov rdi, qword ptr [rsp + 248] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 27], 3 - vpinsrb xmm2, xmm2, byte ptr [rdx + r15 + 27], 4 - mov rdi, qword ptr [rsp + 112] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + r12 + 27], 4 + mov rdi, qword ptr [rsp + 104] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 27], 5 mov rdi, qword ptr [rsp + 128] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 27], 6 - mov rdi, qword ptr [rsp + 64] # 8-byte Reload + mov rdi, qword ptr [rsp + 112] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 27], 7 vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 27], 8 mov r12, qword ptr [rsp + 152] # 8-byte Reload @@ -31156,26 +32424,25 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 movzx edi, byte ptr [rdx + rsi + 27] vmovd xmm3, edi vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 27], 1 - mov rax, qword ptr [rsp + 224] # 8-byte Reload + mov rax, qword ptr [rsp + 216] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 27], 2 vpinsrb xmm3, xmm3, byte ptr [rdx + r10 + 27], 3 - mov rax, qword ptr [rsp + 320] # 8-byte Reload + mov rax, qword ptr [rsp + 32] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 27], 4 - mov rax, qword ptr [rsp + 56] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 27], 5 + vpinsrb xmm3, xmm3, byte ptr [rdx + r15 + 27], 5 vpinsrb xmm3, xmm3, byte ptr [rdx + r11 + 27], 6 vpinsrb xmm3, xmm3, byte ptr [rdx + r13 + 27], 7 mov rax, qword ptr [rsp + 288] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 27], 8 - mov rax, qword ptr [rsp + 48] # 8-byte Reload + mov rax, qword ptr [rsp + 64] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 27], 9 - vpinsrb xmm3, xmm3, byte ptr [rdx + r14 + 27], 10 - mov rcx, qword ptr [rsp + 72] # 8-byte Reload + mov rcx, qword ptr [rsp + 56] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 27], 10 + mov rcx, qword ptr [rsp + 48] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 27], 11 - mov r9, qword ptr [rsp + 32] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + r9 + 27], 12 - mov r11, qword ptr [rsp + 40] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + r11 + 27], 13 + mov r11, qword ptr [rsp + 320] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + r11 + 27], 12 + vpinsrb xmm3, xmm3, byte ptr [rdx + r14 + 27], 13 mov r15, qword ptr [rsp + 88] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + r15 + 27], 14 mov rdi, qword ptr [rsp + 144] # 8-byte Reload @@ -31188,23 +32455,23 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 movzx edi, byte ptr [rdx + rdi + 28] vmovd xmm0, edi vpinsrb xmm0, xmm0, byte ptr [rdx + rbx + 28], 1 - mov r10, qword ptr [rsp + 200] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + r10 + 28], 2 + mov r9, qword ptr [rsp + 224] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r9 + 28], 2 mov rdi, qword ptr [rsp + 248] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rdi + 28], 3 - mov r14, qword ptr [rsp + 256] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + r14 + 28], 4 - mov rdi, qword ptr [rsp + 112] # 8-byte Reload + mov r10, qword ptr [rsp + 256] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r10 + 28], 4 + mov rdi, qword ptr [rsp + 104] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rdi + 28], 5 mov rdi, qword ptr [rsp + 128] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rdi + 28], 6 - mov rdi, qword ptr [rsp + 64] # 8-byte Reload + mov rdi, qword ptr [rsp + 112] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rdi + 28], 7 - mov r8, qword ptr [rsp + 184] # 8-byte Reload + mov r8, qword ptr [rsp + 200] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + r8 + 28], 8 vpinsrb xmm0, xmm0, byte ptr [rdx + r12 + 28], 9 - mov rdi, qword ptr [rsp + 176] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rdi + 28], 10 + mov r14, qword ptr [rsp + 208] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r14 + 28], 10 mov rdi, qword ptr [rsp + 96] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rdi + 28], 11 mov r12, qword ptr [rsp + 136] # 8-byte Reload @@ -31219,50 +32486,49 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vmovd xmm1, edi mov rsi, qword ptr [rsp + 232] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 28], 1 - mov rsi, qword ptr [rsp + 224] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 28], 2 mov rsi, qword ptr [rsp + 216] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 28], 2 + mov rsi, qword ptr [rsp + 160] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 28], 3 - mov rdi, qword ptr [rsp + 320] # 8-byte Reload + mov rdi, qword ptr [rsp + 32] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 28], 4 - mov rdi, qword ptr [rsp + 56] # 8-byte Reload + mov rdi, qword ptr [rsp + 72] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 28], 5 - mov rbx, qword ptr [rsp + 168] # 8-byte Reload + mov rbx, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rbx + 28], 6 - mov rdi, qword ptr [rsp + 160] # 8-byte Reload + mov rdi, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 28], 7 mov rdi, qword ptr [rsp + 288] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 28], 8 vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 28], 9 - mov rax, qword ptr [rsp + 104] # 8-byte Reload + mov rax, qword ptr [rsp + 56] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 28], 10 vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 28], 11 - vpinsrb xmm1, xmm1, byte ptr [rdx + r9 + 28], 12 - mov rcx, r11 - vpinsrb xmm1, xmm1, byte ptr [rdx + r11 + 28], 13 + vpinsrb xmm1, xmm1, byte ptr [rdx + r11 + 28], 12 + mov rcx, qword ptr [rsp + 40] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 28], 13 vpinsrb xmm1, xmm1, byte ptr [rdx + r15 + 28], 14 mov r11, qword ptr [rsp + 144] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + r11 + 28], 15 mov rax, qword ptr [rsp + 240] # 8-byte Reload movzx edi, byte ptr [rdx + rax + 29] vmovd xmm2, edi - mov r9, qword ptr [rsp + 208] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r9 + 29], 1 - vpinsrb xmm2, xmm2, byte ptr [rdx + r10 + 29], 2 + mov rdi, qword ptr [rsp + 184] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 29], 1 + vpinsrb xmm2, xmm2, byte ptr [rdx + r9 + 29], 2 mov rdi, qword ptr [rsp + 248] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 29], 3 - vpinsrb xmm2, xmm2, byte ptr [rdx + r14 + 29], 4 - mov r10, qword ptr [rsp + 112] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + r10 + 29], 4 + mov r10, qword ptr [rsp + 104] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + r10 + 29], 5 mov rdi, qword ptr [rsp + 128] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 29], 6 - mov rdi, qword ptr [rsp + 64] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 29], 7 + mov r9, qword ptr [rsp + 112] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + r9 + 29], 7 vpinsrb xmm2, xmm2, byte ptr [rdx + r8 + 29], 8 mov rdi, qword ptr [rsp + 152] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 29], 9 - mov rdi, qword ptr [rsp + 176] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 29], 10 + vpinsrb xmm2, xmm2, byte ptr [rdx + r14 + 29], 10 mov rdi, qword ptr [rsp + 96] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 29], 11 vpinsrb xmm2, xmm2, byte ptr [rdx + r12 + 29], 12 @@ -31276,25 +32542,25 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vmovd xmm3, edi mov rdi, qword ptr [rsp + 232] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 29], 1 - mov r13, qword ptr [rsp + 224] # 8-byte Reload + mov r13, qword ptr [rsp + 216] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + r13 + 29], 2 vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 29], 3 - mov rsi, qword ptr [rsp + 320] # 8-byte Reload + mov rsi, qword ptr [rsp + 32] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 29], 4 - mov r12, qword ptr [rsp + 56] # 8-byte Reload + mov r12, qword ptr [rsp + 72] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + r12 + 29], 5 vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 29], 6 - mov rsi, qword ptr [rsp + 160] # 8-byte Reload + mov rsi, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 29], 7 mov rdi, qword ptr [rsp + 288] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 29], 8 - mov rdi, qword ptr [rsp + 48] # 8-byte Reload + mov rdi, qword ptr [rsp + 64] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 29], 9 - mov rdi, qword ptr [rsp + 104] # 8-byte Reload + mov rdi, qword ptr [rsp + 56] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 29], 10 - mov rdi, qword ptr [rsp + 72] # 8-byte Reload + mov rdi, qword ptr [rsp + 48] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 29], 11 - mov rbx, qword ptr [rsp + 32] # 8-byte Reload + mov rbx, qword ptr [rsp + 320] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 29], 12 vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 29], 13 vpinsrb xmm4, xmm3, byte ptr [rdx + r15 + 29], 14 @@ -31305,11 +32571,12 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vmovdqa ymmword ptr [rsp + 704], ymm0 # 32-byte Spill movzx edi, byte ptr [rdx + rax + 30] vmovd xmm0, edi - vpinsrb xmm0, xmm0, byte ptr [rdx + r9 + 30], 1 + mov r15, qword ptr [rsp + 184] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r15 + 30], 1 movzx edi, byte ptr [rdx + rax + 31] vmovd xmm1, edi - vpinsrb xmm1, xmm1, byte ptr [rdx + r9 + 31], 1 - mov rax, qword ptr [rsp + 200] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + r15 + 31], 1 + mov rax, qword ptr [rsp + 224] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 30], 2 vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 31], 2 mov rax, qword ptr [rsp + 248] # 8-byte Reload @@ -31324,17 +32591,16 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 mov rax, qword ptr [rsp + 128] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 30], 6 vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 31], 6 - mov rax, qword ptr [rsp + 64] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 30], 7 - vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 31], 7 - mov r15, qword ptr [rsp + 272] # 8-byte Reload - mov rax, qword ptr [rsp + 184] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r9 + 30], 7 + vpinsrb xmm1, xmm1, byte ptr [rdx + r9 + 31], 7 + mov r9, qword ptr [rsp + 272] # 8-byte Reload + mov rax, qword ptr [rsp + 200] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 30], 8 vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 31], 8 mov rax, qword ptr [rsp + 152] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 30], 9 vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 31], 9 - mov rax, qword ptr [rsp + 176] # 8-byte Reload + mov rax, qword ptr [rsp + 208] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 30], 10 vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 31], 10 mov rax, qword ptr [rsp + 96] # 8-byte Reload @@ -31360,15 +32626,15 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vpinsrb xmm7, xmm7, byte ptr [rdx + r10 + 31], 1 vpinsrb xmm1, xmm1, byte ptr [rdx + r13 + 30], 2 vpinsrb xmm7, xmm7, byte ptr [rdx + r13 + 31], 2 - mov rax, qword ptr [rsp + 216] # 8-byte Reload + mov rax, qword ptr [rsp + 160] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 30], 3 vpinsrb xmm7, xmm7, byte ptr [rdx + rax + 31], 3 - mov rax, qword ptr [rsp + 320] # 8-byte Reload + mov rax, qword ptr [rsp + 32] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 30], 4 vpinsrb xmm7, xmm7, byte ptr [rdx + rax + 31], 4 vpinsrb xmm1, xmm1, byte ptr [rdx + r12 + 30], 5 vpinsrb xmm7, xmm7, byte ptr [rdx + r12 + 31], 5 - mov rax, qword ptr [rsp + 168] # 8-byte Reload + mov rax, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 30], 6 vpinsrb xmm7, xmm7, byte ptr [rdx + rax + 31], 6 vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 30], 7 @@ -31376,13 +32642,13 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 mov rax, qword ptr [rsp + 288] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 30], 8 vpinsrb xmm7, xmm7, byte ptr [rdx + rax + 31], 8 - mov rax, qword ptr [rsp + 48] # 8-byte Reload + mov rax, qword ptr [rsp + 64] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 30], 9 vpinsrb xmm7, xmm7, byte ptr [rdx + rax + 31], 9 - mov rax, qword ptr [rsp + 104] # 8-byte Reload + mov rax, qword ptr [rsp + 56] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 30], 10 vpinsrb xmm7, xmm7, byte ptr [rdx + rax + 31], 10 - mov rax, qword ptr [rsp + 72] # 8-byte Reload + mov rax, qword ptr [rsp + 48] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 30], 11 vpinsrb xmm7, xmm7, byte ptr [rdx + rax + 31], 11 mov rax, rbx @@ -31516,10 +32782,10 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vinserti128 ymm4, ymm3, xmm0, 1 vperm2i128 ymm0, ymm3, ymm0, 49 # ymm0 = ymm3[2,3],ymm0[2,3] mov rcx, qword ptr [rsp + 408] # 8-byte Reload - vmovdqu ymmword ptr [r15 + 4*rcx + 96], ymm0 - vmovdqu ymmword ptr [r15 + 4*rcx + 64], ymm2 - vmovdqu ymmword ptr [r15 + 4*rcx + 32], ymm4 - vmovdqu ymmword ptr [r15 + 4*rcx], ymm1 + vmovdqu ymmword ptr [r9 + 4*rcx + 96], ymm0 + vmovdqu ymmword ptr [r9 + 4*rcx + 64], ymm2 + vmovdqu ymmword ptr [r9 + 4*rcx + 32], ymm4 + vmovdqu ymmword ptr [r9 + 4*rcx], ymm1 add rcx, 32 mov rsi, rcx cmp rcx, qword ptr [rsp + 376] # 8-byte Folded Reload @@ -31532,7 +32798,7 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 mov rdx, qword ptr [rsp + 392] # 8-byte Reload mov r10, qword ptr [rsp + 280] # 8-byte Reload jne .LBB5_43 - jmp .LBB5_129 + jmp .LBB5_46 .LBB5_168: and r14, -32 mov rax, r14 @@ -31540,13 +32806,14 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 add rax, rdx mov qword ptr [rsp + 392], rax # 8-byte Spill mov qword ptr [rsp + 376], r14 # 8-byte Spill - lea rax, [r15 + 4*r14] + lea rax, [4*r14] + add rax, r13 mov qword ptr [rsp + 400], rax # 8-byte Spill vmovd xmm0, r11d vpbroadcastb ymm0, xmm0 vmovdqa ymmword ptr [rsp + 512], ymm0 # 32-byte Spill xor ebx, ebx - mov qword ptr [rsp + 272], r15 # 8-byte Spill + mov qword ptr [rsp + 272], r13 # 8-byte Spill .p2align 4, 0x90 .LBB5_169: # =>This Inner Loop Header: Depth=1 mov qword ptr [rsp + 408], rbx # 8-byte Spill @@ -31556,7 +32823,7 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 mov qword ptr [rsp + 224], rax # 8-byte Spill mov rax, rbx or rax, 64 - mov qword ptr [rsp + 216], rax # 8-byte Spill + mov qword ptr [rsp + 200], rax # 8-byte Spill mov rax, rbx or rax, 96 mov qword ptr [rsp + 136], rax # 8-byte Spill @@ -31568,13 +32835,13 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 mov qword ptr [rsp + 72], rax # 8-byte Spill mov rax, rbx or rax, 192 - mov qword ptr [rsp + 208], rax # 8-byte Spill + mov qword ptr [rsp + 152], rax # 8-byte Spill mov rax, rbx or rax, 224 mov qword ptr [rsp + 144], rax # 8-byte Spill mov rax, rbx or rax, 256 - mov qword ptr [rsp + 184], rax # 8-byte Spill + mov qword ptr [rsp + 208], rax # 8-byte Spill mov rax, rbx or rax, 288 mov qword ptr [rsp + 264], rax # 8-byte Spill @@ -31613,7 +32880,7 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 movzx eax, byte ptr [rdx + rbx + 5] vmovd xmm6, eax movzx eax, byte ptr [rdx + rcx + 6] - mov qword ptr [rsp + 240], rcx # 8-byte Spill + mov qword ptr [rsp + 216], rcx # 8-byte Spill vmovd xmm12, eax movzx eax, byte ptr [rdx + rbx + 6] vmovd xmm7, eax @@ -31623,7 +32890,7 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vmovd xmm1, eax mov rax, rbx or rax, 352 - mov qword ptr [rsp + 40], rax # 8-byte Spill + mov qword ptr [rsp + 56], rax # 8-byte Spill mov rax, rbx or rax, 384 mov qword ptr [rsp + 32], rax # 8-byte Spill @@ -31632,7 +32899,7 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 mov qword ptr [rsp + 320], rax # 8-byte Spill mov rax, rbx or rax, 448 - mov qword ptr [rsp + 48], rax # 8-byte Spill + mov qword ptr [rsp + 40], rax # 8-byte Spill mov rax, rbx or rax, 480 mov qword ptr [rsp + 288], rax # 8-byte Spill @@ -31641,11 +32908,11 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 mov qword ptr [rsp + 128], r14 # 8-byte Spill mov rcx, rbx or rcx, 576 - mov qword ptr [rsp + 176], rcx # 8-byte Spill + mov qword ptr [rsp + 184], rcx # 8-byte Spill mov rax, rbx or rax, 608 mov r13, rax - mov qword ptr [rsp + 200], rax # 8-byte Spill + mov qword ptr [rsp + 240], rax # 8-byte Spill mov rax, rbx or rax, 640 mov qword ptr [rsp + 160], rax # 8-byte Spill @@ -31657,13 +32924,13 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 mov qword ptr [rsp + 232], r9 # 8-byte Spill mov r11, rbx or r11, 736 - mov qword ptr [rsp + 96], r11 # 8-byte Spill + mov qword ptr [rsp + 104], r11 # 8-byte Spill mov r12, rbx or r12, 768 mov qword ptr [rsp + 112], r12 # 8-byte Spill mov r8, rbx or r8, 800 - mov qword ptr [rsp + 56], r8 # 8-byte Spill + mov qword ptr [rsp + 48], r8 # 8-byte Spill mov r15, rbx or r15, 832 mov qword ptr [rsp + 120], r15 # 8-byte Spill @@ -31673,7 +32940,7 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 mov rax, rbx or rax, 896 mov rdi, rax - mov qword ptr [rsp + 104], rax # 8-byte Spill + mov qword ptr [rsp + 96], rax # 8-byte Spill mov rax, rbx or rax, 928 mov rsi, rax @@ -31700,10 +32967,10 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vpinsrb xmm0, xmm0, byte ptr [rdx + rax], 14 vpinsrb xmm0, xmm0, byte ptr [rdx + rbx], 15 mov r12, rbx - mov qword ptr [rsp + 152], rbx # 8-byte Spill + mov qword ptr [rsp + 176], rbx # 8-byte Spill mov r11, qword ptr [rsp + 224] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + r11], 1 - mov rax, qword ptr [rsp + 216] # 8-byte Reload + mov rax, qword ptr [rsp + 200] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rax], 2 mov rax, qword ptr [rsp + 136] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rax], 3 @@ -31711,47 +32978,47 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vpinsrb xmm3, xmm3, byte ptr [rdx + r8], 4 mov r9, qword ptr [rsp + 72] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + r9], 5 - mov rax, qword ptr [rsp + 208] # 8-byte Reload + mov rax, qword ptr [rsp + 152] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rax], 6 mov rsi, qword ptr [rsp + 144] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rsi], 7 - mov r15, qword ptr [rsp + 184] # 8-byte Reload + mov r15, qword ptr [rsp + 208] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + r15], 8 mov rdi, qword ptr [rsp + 264] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rdi], 9 mov rax, qword ptr [rsp + 64] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rax], 10 - mov rbx, qword ptr [rsp + 40] # 8-byte Reload + mov rbx, qword ptr [rsp + 56] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rbx], 11 mov rbx, qword ptr [rsp + 32] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rbx], 12 mov rbx, qword ptr [rsp + 320] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rbx], 13 - mov rbx, qword ptr [rsp + 48] # 8-byte Reload + mov rbx, qword ptr [rsp + 40] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rbx], 14 mov r14, qword ptr [rsp + 288] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + r14], 15 mov rbx, qword ptr [rsp + 128] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + rbx + 1], 1 - mov rbx, qword ptr [rsp + 176] # 8-byte Reload + mov rbx, qword ptr [rsp + 184] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + rbx + 1], 2 - mov r13, qword ptr [rsp + 200] # 8-byte Reload + mov r13, qword ptr [rsp + 240] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + r13 + 1], 3 vpinsrb xmm4, xmm4, byte ptr [rdx + rcx + 1], 4 mov rcx, qword ptr [rsp + 248] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + rcx + 1], 5 mov rcx, qword ptr [rsp + 232] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + rcx + 1], 6 - mov rcx, qword ptr [rsp + 96] # 8-byte Reload + mov rcx, qword ptr [rsp + 104] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + rcx + 1], 7 mov rcx, qword ptr [rsp + 112] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + rcx + 1], 8 - mov rcx, qword ptr [rsp + 56] # 8-byte Reload + mov rcx, qword ptr [rsp + 48] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + rcx + 1], 9 mov rcx, qword ptr [rsp + 120] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + rcx + 1], 10 vpinsrb xmm4, xmm4, byte ptr [rdx + r10 + 1], 11 - mov rbx, qword ptr [rsp + 104] # 8-byte Reload + mov rbx, qword ptr [rsp + 96] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + rbx + 1], 12 mov r10, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + r10 + 1], 13 @@ -31759,30 +33026,30 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vpinsrb xmm4, xmm4, byte ptr [rdx + rcx + 1], 14 vpinsrb xmm4, xmm4, byte ptr [rdx + r12 + 1], 15 vpinsrb xmm5, xmm10, byte ptr [rdx + r11 + 1], 1 - mov rcx, qword ptr [rsp + 216] # 8-byte Reload + mov rcx, qword ptr [rsp + 200] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rcx + 1], 2 mov r12, qword ptr [rsp + 136] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + r12 + 1], 3 vpinsrb xmm5, xmm5, byte ptr [rdx + r8 + 1], 4 vpinsrb xmm5, xmm5, byte ptr [rdx + r9 + 1], 5 - mov rcx, qword ptr [rsp + 208] # 8-byte Reload + mov rcx, qword ptr [rsp + 152] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rcx + 1], 6 vpinsrb xmm5, xmm5, byte ptr [rdx + rsi + 1], 7 vpinsrb xmm5, xmm5, byte ptr [rdx + r15 + 1], 8 vpinsrb xmm5, xmm5, byte ptr [rdx + rdi + 1], 9 mov r13, rdi vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 1], 10 - mov rax, qword ptr [rsp + 40] # 8-byte Reload + mov rax, qword ptr [rsp + 56] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 1], 11 mov rax, qword ptr [rsp + 32] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 1], 12 mov rax, qword ptr [rsp + 320] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 1], 13 - mov rax, qword ptr [rsp + 48] # 8-byte Reload + mov rax, qword ptr [rsp + 40] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 1], 14 vinserti128 ymm13, ymm3, xmm0, 1 vpinsrb xmm0, xmm5, byte ptr [rdx + r14 + 1], 15 - mov rax, qword ptr [rsp + 240] # 8-byte Reload + mov rax, qword ptr [rsp + 216] # 8-byte Reload movzx edi, byte ptr [rdx + rax + 8] vmovd xmm9, edi vinserti128 ymm0, ymm0, xmm4, 1 @@ -31793,9 +33060,9 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vmovdqa xmm0, xmmword ptr [rsp + 480] # 16-byte Reload mov r15, qword ptr [rsp + 128] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + r15 + 2], 1 - mov rax, qword ptr [rsp + 176] # 8-byte Reload + mov rax, qword ptr [rsp + 184] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 2], 2 - mov rax, qword ptr [rsp + 200] # 8-byte Reload + mov rax, qword ptr [rsp + 240] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 2], 3 mov rax, qword ptr [rsp + 160] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 2], 4 @@ -31803,11 +33070,11 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 2], 5 mov r8, qword ptr [rsp + 232] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + r8 + 2], 6 - mov r9, qword ptr [rsp + 96] # 8-byte Reload + mov r9, qword ptr [rsp + 104] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + r9 + 2], 7 mov r11, qword ptr [rsp + 112] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + r11 + 2], 8 - mov rax, qword ptr [rsp + 56] # 8-byte Reload + mov rax, qword ptr [rsp + 48] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 2], 9 mov rax, qword ptr [rsp + 120] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 2], 10 @@ -31817,12 +33084,12 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vpinsrb xmm0, xmm0, byte ptr [rdx + r10 + 2], 13 mov rax, qword ptr [rsp + 80] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 2], 14 - mov rax, qword ptr [rsp + 152] # 8-byte Reload + mov rax, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 2], 15 mov r10, qword ptr [rsp + 224] # 8-byte Reload vmovdqa xmm3, xmmword ptr [rsp + 448] # 16-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + r10 + 2], 1 - mov rax, qword ptr [rsp + 216] # 8-byte Reload + mov rax, qword ptr [rsp + 200] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 2], 2 vpinsrb xmm3, xmm3, byte ptr [rdx + r12 + 2], 3 mov r14, qword ptr [rsp + 192] # 8-byte Reload @@ -31831,26 +33098,26 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vpinsrb xmm3, xmm3, byte ptr [rdx + r12 + 2], 5 vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 2], 6 vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 2], 7 - mov rdi, qword ptr [rsp + 184] # 8-byte Reload + mov rdi, qword ptr [rsp + 208] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 2], 8 mov rcx, r13 vpinsrb xmm3, xmm3, byte ptr [rdx + r13 + 2], 9 mov rsi, qword ptr [rsp + 64] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 2], 10 - mov r13, qword ptr [rsp + 40] # 8-byte Reload + mov r13, qword ptr [rsp + 56] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + r13 + 2], 11 mov rbx, qword ptr [rsp + 32] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 2], 12 mov rbx, qword ptr [rsp + 320] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 2], 13 - mov rbx, qword ptr [rsp + 48] # 8-byte Reload + mov rbx, qword ptr [rsp + 40] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 2], 14 mov r13, qword ptr [rsp + 288] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + r13 + 2], 15 vpinsrb xmm4, xmm11, byte ptr [rdx + r15 + 3], 1 - mov rbx, qword ptr [rsp + 176] # 8-byte Reload + mov rbx, qword ptr [rsp + 184] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + rbx + 3], 2 - mov rbx, qword ptr [rsp + 200] # 8-byte Reload + mov rbx, qword ptr [rsp + 240] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + rbx + 3], 3 mov rbx, qword ptr [rsp + 160] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + rbx + 3], 4 @@ -31859,19 +33126,19 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vpinsrb xmm4, xmm4, byte ptr [rdx + r8 + 3], 6 vpinsrb xmm4, xmm4, byte ptr [rdx + r9 + 3], 7 vpinsrb xmm4, xmm4, byte ptr [rdx + r11 + 3], 8 - mov r9, qword ptr [rsp + 56] # 8-byte Reload + mov r9, qword ptr [rsp + 48] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + r9 + 3], 9 mov rbx, qword ptr [rsp + 120] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + rbx + 3], 10 mov rbx, qword ptr [rsp + 88] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + rbx + 3], 11 - mov rbx, qword ptr [rsp + 104] # 8-byte Reload + mov rbx, qword ptr [rsp + 96] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + rbx + 3], 12 mov r13, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + r13 + 3], 13 mov rbx, qword ptr [rsp + 80] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + rbx + 3], 14 - mov rbx, qword ptr [rsp + 152] # 8-byte Reload + mov rbx, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + rbx + 3], 15 vpinsrb xmm5, xmm8, byte ptr [rdx + r10 + 3], 1 mov rbx, r10 @@ -31880,14 +33147,14 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 3], 3 vpinsrb xmm5, xmm5, byte ptr [rdx + r14 + 3], 4 vpinsrb xmm5, xmm5, byte ptr [rdx + r12 + 3], 5 - mov rax, qword ptr [rsp + 208] # 8-byte Reload + mov rax, qword ptr [rsp + 152] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 3], 6 mov rax, qword ptr [rsp + 144] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 3], 7 vpinsrb xmm5, xmm5, byte ptr [rdx + rdi + 3], 8 vpinsrb xmm5, xmm5, byte ptr [rdx + rcx + 3], 9 vpinsrb xmm5, xmm5, byte ptr [rdx + rsi + 3], 10 - mov rax, qword ptr [rsp + 40] # 8-byte Reload + mov rax, qword ptr [rsp + 56] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 3], 11 mov rax, qword ptr [rsp + 32] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 3], 12 @@ -31895,9 +33162,9 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 3], 13 vinserti128 ymm0, ymm3, xmm0, 1 vmovdqa ymmword ptr [rsp + 480], ymm0 # 32-byte Spill - mov rax, qword ptr [rsp + 48] # 8-byte Reload + mov rax, qword ptr [rsp + 40] # 8-byte Reload vpinsrb xmm0, xmm5, byte ptr [rdx + rax + 3], 14 - mov rax, qword ptr [rsp + 240] # 8-byte Reload + mov rax, qword ptr [rsp + 216] # 8-byte Reload movzx edi, byte ptr [rdx + rax + 9] vmovd xmm8, edi mov rax, qword ptr [rsp + 288] # 8-byte Reload @@ -31909,9 +33176,9 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vmovd xmm11, edi vmovdqa xmm0, xmmword ptr [rsp + 416] # 16-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + r15 + 4], 1 - mov r15, qword ptr [rsp + 176] # 8-byte Reload + mov r15, qword ptr [rsp + 184] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + r15 + 4], 2 - mov r12, qword ptr [rsp + 200] # 8-byte Reload + mov r12, qword ptr [rsp + 240] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + r12 + 4], 3 mov rsi, qword ptr [rsp + 160] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 4], 4 @@ -31919,7 +33186,7 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vpinsrb xmm0, xmm0, byte ptr [rdx + r8 + 4], 5 mov rax, qword ptr [rsp + 232] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 4], 6 - mov rax, qword ptr [rsp + 96] # 8-byte Reload + mov rax, qword ptr [rsp + 104] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 4], 7 vpinsrb xmm0, xmm0, byte ptr [rdx + r11 + 4], 8 vpinsrb xmm0, xmm0, byte ptr [rdx + r9 + 4], 9 @@ -31927,37 +33194,37 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 4], 10 mov r9, qword ptr [rsp + 88] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + r9 + 4], 11 - mov rax, qword ptr [rsp + 104] # 8-byte Reload + mov rax, qword ptr [rsp + 96] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 4], 12 vpinsrb xmm0, xmm0, byte ptr [rdx + r13 + 4], 13 mov rax, qword ptr [rsp + 80] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 4], 14 - mov r10, qword ptr [rsp + 152] # 8-byte Reload + mov r10, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + r10 + 4], 15 vpinsrb xmm3, xmm15, byte ptr [rdx + rbx + 4], 1 - mov rdi, qword ptr [rsp + 216] # 8-byte Reload + mov rdi, qword ptr [rsp + 200] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 4], 2 mov r13, qword ptr [rsp + 136] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + r13 + 4], 3 vpinsrb xmm3, xmm3, byte ptr [rdx + r14 + 4], 4 mov rax, qword ptr [rsp + 72] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 4], 5 - mov rdi, qword ptr [rsp + 208] # 8-byte Reload + mov rdi, qword ptr [rsp + 152] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 4], 6 mov rdi, qword ptr [rsp + 144] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 4], 7 - mov rax, qword ptr [rsp + 184] # 8-byte Reload + mov rax, qword ptr [rsp + 208] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 4], 8 vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 4], 9 mov rax, qword ptr [rsp + 64] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 4], 10 - mov rcx, qword ptr [rsp + 40] # 8-byte Reload + mov rcx, qword ptr [rsp + 56] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 4], 11 mov rax, qword ptr [rsp + 32] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 4], 12 mov rax, qword ptr [rsp + 320] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 4], 13 - mov rax, qword ptr [rsp + 48] # 8-byte Reload + mov rax, qword ptr [rsp + 40] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 4], 14 mov rax, qword ptr [rsp + 288] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 4], 15 @@ -31969,15 +33236,15 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vpinsrb xmm4, xmm4, byte ptr [rdx + r8 + 5], 5 mov rax, qword ptr [rsp + 232] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + rax + 5], 6 - mov r15, qword ptr [rsp + 96] # 8-byte Reload + mov r15, qword ptr [rsp + 104] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + r15 + 5], 7 vpinsrb xmm4, xmm4, byte ptr [rdx + r11 + 5], 8 - mov rax, qword ptr [rsp + 56] # 8-byte Reload + mov rax, qword ptr [rsp + 48] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + rax + 5], 9 mov rax, qword ptr [rsp + 120] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + rax + 5], 10 vpinsrb xmm4, xmm4, byte ptr [rdx + r9 + 5], 11 - mov r11, qword ptr [rsp + 104] # 8-byte Reload + mov r11, qword ptr [rsp + 96] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + r11 + 5], 12 mov rsi, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + rsi + 5], 13 @@ -31985,17 +33252,17 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vpinsrb xmm4, xmm4, byte ptr [rdx + rax + 5], 14 vpinsrb xmm4, xmm4, byte ptr [rdx + r10 + 5], 15 vpinsrb xmm5, xmm6, byte ptr [rdx + rbx + 5], 1 - mov rax, qword ptr [rsp + 216] # 8-byte Reload + mov rax, qword ptr [rsp + 200] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 5], 2 vpinsrb xmm5, xmm5, byte ptr [rdx + r13 + 5], 3 vpinsrb xmm5, xmm5, byte ptr [rdx + r14 + 5], 4 mov r9, r14 mov rax, qword ptr [rsp + 72] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 5], 5 - mov rax, qword ptr [rsp + 208] # 8-byte Reload + mov rax, qword ptr [rsp + 152] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 5], 6 vpinsrb xmm5, xmm5, byte ptr [rdx + rdi + 5], 7 - mov r14, qword ptr [rsp + 184] # 8-byte Reload + mov r14, qword ptr [rsp + 208] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + r14 + 5], 8 mov r12, qword ptr [rsp + 264] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + r12 + 5], 9 @@ -32006,12 +33273,12 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 5], 12 mov rax, qword ptr [rsp + 320] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 5], 13 - mov rax, qword ptr [rsp + 48] # 8-byte Reload + mov rax, qword ptr [rsp + 40] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 5], 14 vinserti128 ymm14, ymm3, xmm0, 1 mov rax, qword ptr [rsp + 288] # 8-byte Reload vpinsrb xmm0, xmm5, byte ptr [rdx + rax + 5], 15 - mov rax, qword ptr [rsp + 240] # 8-byte Reload + mov rax, qword ptr [rsp + 216] # 8-byte Reload movzx edi, byte ptr [rdx + rax + 10] vmovd xmm3, edi vinserti128 ymm15, ymm0, xmm4, 1 @@ -32020,9 +33287,9 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vmovd xmm4, edi mov rax, qword ptr [rsp + 128] # 8-byte Reload vpinsrb xmm0, xmm12, byte ptr [rdx + rax + 6], 1 - mov rax, qword ptr [rsp + 176] # 8-byte Reload + mov rax, qword ptr [rsp + 184] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 6], 2 - mov rbx, qword ptr [rsp + 200] # 8-byte Reload + mov rbx, qword ptr [rsp + 240] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rbx + 6], 3 mov r8, qword ptr [rsp + 160] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + r8 + 6], 4 @@ -32033,7 +33300,7 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vpinsrb xmm0, xmm0, byte ptr [rdx + r15 + 6], 7 mov rax, qword ptr [rsp + 112] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 6], 8 - mov r15, qword ptr [rsp + 56] # 8-byte Reload + mov r15, qword ptr [rsp + 48] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + r15 + 6], 9 mov rax, qword ptr [rsp + 120] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 6], 10 @@ -32043,18 +33310,18 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 6], 13 mov rsi, qword ptr [rsp + 80] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 6], 14 - mov r13, qword ptr [rsp + 152] # 8-byte Reload + mov r13, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + r13 + 6], 15 mov r11, qword ptr [rsp + 224] # 8-byte Reload vpinsrb xmm5, xmm7, byte ptr [rdx + r11 + 6], 1 - mov rcx, qword ptr [rsp + 216] # 8-byte Reload + mov rcx, qword ptr [rsp + 200] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rcx + 6], 2 mov rcx, qword ptr [rsp + 136] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rcx + 6], 3 vpinsrb xmm5, xmm5, byte ptr [rdx + r9 + 6], 4 mov rcx, qword ptr [rsp + 72] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rcx + 6], 5 - mov rdi, qword ptr [rsp + 208] # 8-byte Reload + mov rdi, qword ptr [rsp + 152] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rdi + 6], 6 mov rcx, qword ptr [rsp + 144] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rcx + 6], 7 @@ -32062,26 +33329,26 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vpinsrb xmm5, xmm5, byte ptr [rdx + r12 + 6], 9 mov rcx, qword ptr [rsp + 64] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rcx + 6], 10 - mov r14, qword ptr [rsp + 40] # 8-byte Reload + mov r14, qword ptr [rsp + 56] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + r14 + 6], 11 mov r9, qword ptr [rsp + 32] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + r9 + 6], 12 mov rcx, qword ptr [rsp + 320] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rcx + 6], 13 - mov rcx, qword ptr [rsp + 48] # 8-byte Reload + mov rcx, qword ptr [rsp + 40] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rcx + 6], 14 mov r12, qword ptr [rsp + 288] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + r12 + 6], 15 mov rcx, qword ptr [rsp + 128] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 7], 1 - mov rcx, qword ptr [rsp + 176] # 8-byte Reload + mov rcx, qword ptr [rsp + 184] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 7], 2 vpinsrb xmm2, xmm2, byte ptr [rdx + rbx + 7], 3 vpinsrb xmm2, xmm2, byte ptr [rdx + r8 + 7], 4 vpinsrb xmm2, xmm2, byte ptr [rdx + r10 + 7], 5 mov r8, qword ptr [rsp + 232] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + r8 + 7], 6 - mov rcx, qword ptr [rsp + 96] # 8-byte Reload + mov rcx, qword ptr [rsp + 104] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 7], 7 mov r10, qword ptr [rsp + 112] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + r10 + 7], 8 @@ -32089,7 +33356,7 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 7], 10 mov rax, qword ptr [rsp + 88] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 7], 11 - mov rax, qword ptr [rsp + 104] # 8-byte Reload + mov rax, qword ptr [rsp + 96] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 7], 12 mov rbx, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rbx + 7], 13 @@ -32097,7 +33364,7 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vpinsrb xmm2, xmm2, byte ptr [rdx + r13 + 7], 15 vpinsrb xmm1, xmm1, byte ptr [rdx + r11 + 7], 1 mov r13, r11 - mov rsi, qword ptr [rsp + 216] # 8-byte Reload + mov rsi, qword ptr [rsp + 200] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 7], 2 mov rax, qword ptr [rsp + 136] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 7], 3 @@ -32108,7 +33375,7 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 7], 6 mov rdi, qword ptr [rsp + 144] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 7], 7 - mov r11, qword ptr [rsp + 184] # 8-byte Reload + mov r11, qword ptr [rsp + 208] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + r11 + 7], 8 mov rcx, qword ptr [rsp + 264] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 7], 9 @@ -32120,9 +33387,9 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 7], 13 vinserti128 ymm0, ymm5, xmm0, 1 vmovdqa ymmword ptr [rsp + 416], ymm0 # 32-byte Spill - mov rdi, qword ptr [rsp + 48] # 8-byte Reload + mov rdi, qword ptr [rsp + 40] # 8-byte Reload vpinsrb xmm0, xmm1, byte ptr [rdx + rdi + 7], 14 - mov rcx, qword ptr [rsp + 240] # 8-byte Reload + mov rcx, qword ptr [rsp + 216] # 8-byte Reload movzx edi, byte ptr [rdx + rcx + 11] vmovd xmm1, edi mov rcx, qword ptr [rsp + 288] # 8-byte Reload @@ -32134,30 +33401,30 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vmovd xmm2, edi mov rdi, qword ptr [rsp + 128] # 8-byte Reload vpinsrb xmm0, xmm9, byte ptr [rdx + rdi + 8], 1 - mov rdi, qword ptr [rsp + 176] # 8-byte Reload + mov rdi, qword ptr [rsp + 184] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rdi + 8], 2 - mov r15, qword ptr [rsp + 200] # 8-byte Reload + mov r15, qword ptr [rsp + 240] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + r15 + 8], 3 mov rcx, qword ptr [rsp + 160] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 8], 4 mov r9, qword ptr [rsp + 248] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + r9 + 8], 5 vpinsrb xmm0, xmm0, byte ptr [rdx + r8 + 8], 6 - mov rcx, qword ptr [rsp + 96] # 8-byte Reload + mov rcx, qword ptr [rsp + 104] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 8], 7 vpinsrb xmm0, xmm0, byte ptr [rdx + r10 + 8], 8 - mov rcx, qword ptr [rsp + 56] # 8-byte Reload + mov rcx, qword ptr [rsp + 48] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 8], 9 mov rcx, qword ptr [rsp + 120] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 8], 10 mov r10, qword ptr [rsp + 88] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + r10 + 8], 11 - mov rcx, qword ptr [rsp + 104] # 8-byte Reload + mov rcx, qword ptr [rsp + 96] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 8], 12 vpinsrb xmm0, xmm0, byte ptr [rdx + rbx + 8], 13 mov rcx, qword ptr [rsp + 80] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 8], 14 - mov rcx, qword ptr [rsp + 152] # 8-byte Reload + mov rcx, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 8], 15 vpinsrb xmm5, xmm10, byte ptr [rdx + r13 + 8], 1 mov r14, rsi @@ -32167,7 +33434,7 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vpinsrb xmm5, xmm5, byte ptr [rdx + rcx + 8], 4 mov rdi, r12 vpinsrb xmm5, xmm5, byte ptr [rdx + r12 + 8], 5 - mov rsi, qword ptr [rsp + 208] # 8-byte Reload + mov rsi, qword ptr [rsp + 152] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rsi + 8], 6 mov r12, qword ptr [rsp + 144] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + r12 + 8], 7 @@ -32176,41 +33443,41 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vpinsrb xmm5, xmm5, byte ptr [rdx + rax + 8], 9 mov r11, qword ptr [rsp + 64] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + r11 + 8], 10 - mov rbx, qword ptr [rsp + 40] # 8-byte Reload + mov rbx, qword ptr [rsp + 56] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rbx + 8], 11 mov rbx, qword ptr [rsp + 32] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rbx + 8], 12 mov rbx, qword ptr [rsp + 320] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rbx + 8], 13 - mov rbx, qword ptr [rsp + 48] # 8-byte Reload + mov rbx, qword ptr [rsp + 40] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rbx + 8], 14 mov rbx, qword ptr [rsp + 288] # 8-byte Reload vpinsrb xmm5, xmm5, byte ptr [rdx + rbx + 8], 15 mov rbx, qword ptr [rsp + 128] # 8-byte Reload vpinsrb xmm6, xmm8, byte ptr [rdx + rbx + 9], 1 - mov rbx, qword ptr [rsp + 176] # 8-byte Reload + mov rbx, qword ptr [rsp + 184] # 8-byte Reload vpinsrb xmm6, xmm6, byte ptr [rdx + rbx + 9], 2 vpinsrb xmm6, xmm6, byte ptr [rdx + r15 + 9], 3 mov rbx, qword ptr [rsp + 160] # 8-byte Reload vpinsrb xmm6, xmm6, byte ptr [rdx + rbx + 9], 4 vpinsrb xmm6, xmm6, byte ptr [rdx + r9 + 9], 5 vpinsrb xmm6, xmm6, byte ptr [rdx + r8 + 9], 6 - mov r15, qword ptr [rsp + 96] # 8-byte Reload + mov r15, qword ptr [rsp + 104] # 8-byte Reload vpinsrb xmm6, xmm6, byte ptr [rdx + r15 + 9], 7 mov rbx, qword ptr [rsp + 112] # 8-byte Reload vpinsrb xmm6, xmm6, byte ptr [rdx + rbx + 9], 8 - mov rbx, qword ptr [rsp + 56] # 8-byte Reload + mov rbx, qword ptr [rsp + 48] # 8-byte Reload vpinsrb xmm6, xmm6, byte ptr [rdx + rbx + 9], 9 mov rbx, qword ptr [rsp + 120] # 8-byte Reload vpinsrb xmm6, xmm6, byte ptr [rdx + rbx + 9], 10 vpinsrb xmm6, xmm6, byte ptr [rdx + r10 + 9], 11 - mov rbx, qword ptr [rsp + 104] # 8-byte Reload + mov rbx, qword ptr [rsp + 96] # 8-byte Reload vpinsrb xmm6, xmm6, byte ptr [rdx + rbx + 9], 12 mov r8, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm6, xmm6, byte ptr [rdx + r8 + 9], 13 mov rbx, qword ptr [rsp + 80] # 8-byte Reload vpinsrb xmm6, xmm6, byte ptr [rdx + rbx + 9], 14 - mov rbx, qword ptr [rsp + 152] # 8-byte Reload + mov rbx, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm6, xmm6, byte ptr [rdx + rbx + 9], 15 vpinsrb xmm7, xmm11, byte ptr [rdx + r13 + 9], 1 vpinsrb xmm7, xmm7, byte ptr [rdx + r14 + 9], 2 @@ -32221,23 +33488,23 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vpinsrb xmm7, xmm7, byte ptr [rdx + rsi + 9], 6 mov r14, rsi vpinsrb xmm7, xmm7, byte ptr [rdx + r12 + 9], 7 - mov rcx, qword ptr [rsp + 184] # 8-byte Reload + mov rcx, qword ptr [rsp + 208] # 8-byte Reload vpinsrb xmm7, xmm7, byte ptr [rdx + rcx + 9], 8 vpinsrb xmm7, xmm7, byte ptr [rdx + rax + 9], 9 vpinsrb xmm7, xmm7, byte ptr [rdx + r11 + 9], 10 - mov r11, qword ptr [rsp + 40] # 8-byte Reload + mov r11, qword ptr [rsp + 56] # 8-byte Reload vpinsrb xmm7, xmm7, byte ptr [rdx + r11 + 9], 11 mov rax, qword ptr [rsp + 32] # 8-byte Reload vpinsrb xmm7, xmm7, byte ptr [rdx + rax + 9], 12 mov rax, qword ptr [rsp + 320] # 8-byte Reload vpinsrb xmm7, xmm7, byte ptr [rdx + rax + 9], 13 - mov rax, qword ptr [rsp + 48] # 8-byte Reload + mov rax, qword ptr [rsp + 40] # 8-byte Reload vpinsrb xmm7, xmm7, byte ptr [rdx + rax + 9], 14 vinserti128 ymm0, ymm5, xmm0, 1 vmovdqa ymmword ptr [rsp + 1152], ymm0 # 32-byte Spill mov rax, qword ptr [rsp + 288] # 8-byte Reload vpinsrb xmm5, xmm7, byte ptr [rdx + rax + 9], 15 - mov rax, qword ptr [rsp + 240] # 8-byte Reload + mov rax, qword ptr [rsp + 216] # 8-byte Reload movzx edi, byte ptr [rdx + rax + 12] vmovd xmm0, edi vinserti128 ymm5, ymm5, xmm6, 1 @@ -32247,9 +33514,9 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vmovd xmm5, edi mov r13, qword ptr [rsp + 128] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + r13 + 10], 1 - mov r12, qword ptr [rsp + 176] # 8-byte Reload + mov r12, qword ptr [rsp + 184] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + r12 + 10], 2 - mov rax, qword ptr [rsp + 200] # 8-byte Reload + mov rax, qword ptr [rsp + 240] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 10], 3 mov r10, qword ptr [rsp + 160] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + r10 + 10], 4 @@ -32259,22 +33526,22 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vpinsrb xmm3, xmm3, byte ptr [rdx + r15 + 10], 7 mov rax, qword ptr [rsp + 112] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 10], 8 - mov rax, qword ptr [rsp + 56] # 8-byte Reload + mov rax, qword ptr [rsp + 48] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 10], 9 mov rsi, qword ptr [rsp + 120] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 10], 10 mov rax, qword ptr [rsp + 88] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 10], 11 - mov rax, qword ptr [rsp + 104] # 8-byte Reload + mov rax, qword ptr [rsp + 96] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 10], 12 vpinsrb xmm3, xmm3, byte ptr [rdx + r8 + 10], 13 mov rax, qword ptr [rsp + 80] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 10], 14 - mov rax, qword ptr [rsp + 152] # 8-byte Reload + mov rax, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 10], 15 mov rax, qword ptr [rsp + 224] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + rax + 10], 1 - mov rcx, qword ptr [rsp + 216] # 8-byte Reload + mov rcx, qword ptr [rsp + 200] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + rcx + 10], 2 vpinsrb xmm4, xmm4, byte ptr [rdx + rbx + 10], 3 mov rdi, qword ptr [rsp + 192] # 8-byte Reload @@ -32284,7 +33551,7 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vpinsrb xmm4, xmm4, byte ptr [rdx + r14 + 10], 6 mov rbx, qword ptr [rsp + 144] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + rbx + 10], 7 - mov r8, qword ptr [rsp + 184] # 8-byte Reload + mov r8, qword ptr [rsp + 208] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + r8 + 10], 8 mov rax, qword ptr [rsp + 264] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + rax + 10], 9 @@ -32295,34 +33562,34 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vpinsrb xmm4, xmm4, byte ptr [rdx + rax + 10], 12 mov r11, qword ptr [rsp + 320] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + r11 + 10], 13 - mov r14, qword ptr [rsp + 48] # 8-byte Reload + mov r14, qword ptr [rsp + 40] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + r14 + 10], 14 mov rax, qword ptr [rsp + 288] # 8-byte Reload vpinsrb xmm4, xmm4, byte ptr [rdx + rax + 10], 15 vpinsrb xmm1, xmm1, byte ptr [rdx + r13 + 11], 1 vpinsrb xmm1, xmm1, byte ptr [rdx + r12 + 11], 2 - mov rax, qword ptr [rsp + 200] # 8-byte Reload + mov rax, qword ptr [rsp + 240] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 11], 3 vpinsrb xmm1, xmm1, byte ptr [rdx + r10 + 11], 4 mov r12, qword ptr [rsp + 248] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + r12 + 11], 5 vpinsrb xmm1, xmm1, byte ptr [rdx + r9 + 11], 6 - mov rax, qword ptr [rsp + 96] # 8-byte Reload + mov rax, qword ptr [rsp + 104] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 11], 7 mov rax, qword ptr [rsp + 112] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 11], 8 - mov rax, qword ptr [rsp + 56] # 8-byte Reload + mov rax, qword ptr [rsp + 48] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 11], 9 vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 11], 10 mov rax, qword ptr [rsp + 88] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 11], 11 - mov rax, qword ptr [rsp + 104] # 8-byte Reload + mov rax, qword ptr [rsp + 96] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 11], 12 mov rax, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 11], 13 mov r13, qword ptr [rsp + 80] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + r13 + 11], 14 - mov rsi, qword ptr [rsp + 152] # 8-byte Reload + mov rsi, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 11], 15 mov r9, qword ptr [rsp + 224] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + r9 + 11], 1 @@ -32331,7 +33598,7 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 11], 3 vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 11], 4 vpinsrb xmm2, xmm2, byte ptr [rdx + r15 + 11], 5 - mov rax, qword ptr [rsp + 208] # 8-byte Reload + mov rax, qword ptr [rsp + 152] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 11], 6 vpinsrb xmm2, xmm2, byte ptr [rdx + rbx + 11], 7 vpinsrb xmm2, xmm2, byte ptr [rdx + r8 + 11], 8 @@ -32339,7 +33606,7 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vpinsrb xmm2, xmm2, byte ptr [rdx + rbx + 11], 9 mov rax, qword ptr [rsp + 64] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 11], 10 - mov rax, qword ptr [rsp + 40] # 8-byte Reload + mov rax, qword ptr [rsp + 56] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 11], 11 mov rax, qword ptr [rsp + 32] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 11], 12 @@ -32347,7 +33614,7 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vinserti128 ymm3, ymm4, xmm3, 1 vmovdqa ymmword ptr [rsp + 1088], ymm3 # 32-byte Spill vpinsrb xmm2, xmm2, byte ptr [rdx + r14 + 11], 14 - mov rax, qword ptr [rsp + 240] # 8-byte Reload + mov rax, qword ptr [rsp + 216] # 8-byte Reload movzx edi, byte ptr [rdx + rax + 13] vmovd xmm3, edi mov rax, qword ptr [rsp + 288] # 8-byte Reload @@ -32359,32 +33626,32 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vmovd xmm1, edi mov rcx, qword ptr [rsp + 128] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 12], 1 - mov r8, qword ptr [rsp + 176] # 8-byte Reload + mov r8, qword ptr [rsp + 184] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + r8 + 12], 2 - mov r15, qword ptr [rsp + 200] # 8-byte Reload + mov r15, qword ptr [rsp + 240] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + r15 + 12], 3 vpinsrb xmm0, xmm0, byte ptr [rdx + r10 + 12], 4 vpinsrb xmm0, xmm0, byte ptr [rdx + r12 + 12], 5 mov rax, qword ptr [rsp + 232] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 12], 6 - mov rax, qword ptr [rsp + 96] # 8-byte Reload + mov rax, qword ptr [rsp + 104] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 12], 7 mov rax, qword ptr [rsp + 112] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 12], 8 - mov rax, qword ptr [rsp + 56] # 8-byte Reload + mov rax, qword ptr [rsp + 48] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 12], 9 mov rax, qword ptr [rsp + 120] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 12], 10 mov rax, qword ptr [rsp + 88] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 12], 11 - mov rax, qword ptr [rsp + 104] # 8-byte Reload + mov rax, qword ptr [rsp + 96] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 12], 12 mov rax, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 12], 13 vpinsrb xmm0, xmm0, byte ptr [rdx + r13 + 12], 14 vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 12], 15 vpinsrb xmm2, xmm5, byte ptr [rdx + r9 + 12], 1 - mov rsi, qword ptr [rsp + 216] # 8-byte Reload + mov rsi, qword ptr [rsp + 200] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 12], 2 mov rdi, qword ptr [rsp + 136] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 12], 3 @@ -32392,16 +33659,16 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 12], 4 mov r13, qword ptr [rsp + 72] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + r13 + 12], 5 - mov r9, qword ptr [rsp + 208] # 8-byte Reload + mov r9, qword ptr [rsp + 152] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + r9 + 12], 6 mov rax, qword ptr [rsp + 144] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 12], 7 - mov r11, qword ptr [rsp + 184] # 8-byte Reload + mov r11, qword ptr [rsp + 208] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + r11 + 12], 8 vpinsrb xmm2, xmm2, byte ptr [rdx + rbx + 12], 9 mov rax, qword ptr [rsp + 64] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 12], 10 - mov rbx, qword ptr [rsp + 40] # 8-byte Reload + mov rbx, qword ptr [rsp + 56] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rbx + 12], 11 mov rbx, qword ptr [rsp + 32] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rbx + 12], 12 @@ -32418,23 +33685,23 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 mov r10, r12 mov rbx, qword ptr [rsp + 232] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 13], 6 - mov r8, qword ptr [rsp + 96] # 8-byte Reload + mov r8, qword ptr [rsp + 104] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + r8 + 13], 7 mov rbx, qword ptr [rsp + 112] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 13], 8 - mov rbx, qword ptr [rsp + 56] # 8-byte Reload + mov rbx, qword ptr [rsp + 48] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 13], 9 mov rbx, qword ptr [rsp + 120] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 13], 10 mov rbx, qword ptr [rsp + 88] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 13], 11 - mov r15, qword ptr [rsp + 104] # 8-byte Reload + mov r15, qword ptr [rsp + 96] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + r15 + 13], 12 mov rbx, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 13], 13 mov rbx, qword ptr [rsp + 80] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 13], 14 - mov r12, qword ptr [rsp + 152] # 8-byte Reload + mov r12, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + r12 + 13], 15 mov rbx, qword ptr [rsp + 224] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rbx + 13], 1 @@ -32450,7 +33717,7 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 mov rsi, qword ptr [rsp + 264] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 13], 9 vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 13], 10 - mov rax, qword ptr [rsp + 40] # 8-byte Reload + mov rax, qword ptr [rsp + 56] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 13], 11 mov rax, qword ptr [rsp + 32] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 13], 12 @@ -32461,7 +33728,7 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vmovdqa ymmword ptr [rsp + 992], ymm0 # 32-byte Spill mov rax, qword ptr [rsp + 288] # 8-byte Reload vpinsrb xmm0, xmm1, byte ptr [rdx + rax + 13], 15 - mov rax, qword ptr [rsp + 240] # 8-byte Reload + mov rax, qword ptr [rsp + 216] # 8-byte Reload movzx edi, byte ptr [rdx + rax + 14] vmovd xmm1, edi vinserti128 ymm0, ymm0, xmm3, 1 @@ -32470,9 +33737,9 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 movzx edi, byte ptr [rdx + rax + 14] vmovd xmm0, edi vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 14], 1 - mov r9, qword ptr [rsp + 176] # 8-byte Reload + mov r9, qword ptr [rsp + 184] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + r9 + 14], 2 - mov rcx, qword ptr [rsp + 200] # 8-byte Reload + mov rcx, qword ptr [rsp + 240] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 14], 3 mov rax, qword ptr [rsp + 160] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 14], 4 @@ -32482,7 +33749,7 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vpinsrb xmm1, xmm1, byte ptr [rdx + r8 + 14], 7 mov rbx, qword ptr [rsp + 112] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rbx + 14], 8 - mov rax, qword ptr [rsp + 56] # 8-byte Reload + mov rax, qword ptr [rsp + 48] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 14], 9 mov r10, qword ptr [rsp + 120] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + r10 + 14], 10 @@ -32496,7 +33763,7 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vpinsrb xmm1, xmm1, byte ptr [rdx + r12 + 14], 15 mov rdi, qword ptr [rsp + 224] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rdi + 14], 1 - mov rdi, qword ptr [rsp + 216] # 8-byte Reload + mov rdi, qword ptr [rsp + 200] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rdi + 14], 2 mov rdi, qword ptr [rsp + 136] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rdi + 14], 3 @@ -32504,26 +33771,26 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vpinsrb xmm0, xmm0, byte ptr [rdx + rdi + 14], 4 mov rdi, qword ptr [rsp + 72] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rdi + 14], 5 - mov rdi, qword ptr [rsp + 208] # 8-byte Reload + mov rdi, qword ptr [rsp + 152] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rdi + 14], 6 mov rdi, qword ptr [rsp + 144] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rdi + 14], 7 - mov rdi, qword ptr [rsp + 184] # 8-byte Reload + mov rdi, qword ptr [rsp + 208] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rdi + 14], 8 vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 14], 9 mov rsi, qword ptr [rsp + 64] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 14], 10 - mov rsi, qword ptr [rsp + 40] # 8-byte Reload + mov rsi, qword ptr [rsp + 56] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 14], 11 mov r12, qword ptr [rsp + 32] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + r12 + 14], 12 mov rsi, qword ptr [rsp + 320] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 14], 13 - mov rdi, qword ptr [rsp + 48] # 8-byte Reload + mov rdi, qword ptr [rsp + 40] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rdi + 14], 14 mov rdi, qword ptr [rsp + 288] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rdi + 14], 15 - mov r8, qword ptr [rsp + 240] # 8-byte Reload + mov r8, qword ptr [rsp + 216] # 8-byte Reload movzx edi, byte ptr [rdx + r8 + 15] vmovd xmm2, edi mov rdi, qword ptr [rsp + 128] # 8-byte Reload @@ -32535,24 +33802,24 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 mov rcx, qword ptr [rsp + 248] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 15], 5 vpinsrb xmm2, xmm2, byte ptr [rdx + r13 + 15], 6 - mov rcx, qword ptr [rsp + 96] # 8-byte Reload + mov rcx, qword ptr [rsp + 104] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 15], 7 vpinsrb xmm2, xmm2, byte ptr [rdx + rbx + 15], 8 vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 15], 9 vpinsrb xmm2, xmm2, byte ptr [rdx + r10 + 15], 10 vpinsrb xmm2, xmm2, byte ptr [rdx + r11 + 15], 11 - mov rax, qword ptr [rsp + 104] # 8-byte Reload + mov rax, qword ptr [rsp + 96] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 15], 12 vpinsrb xmm2, xmm2, byte ptr [rdx + r15 + 15], 13 vpinsrb xmm2, xmm2, byte ptr [rdx + r14 + 15], 14 - mov r9, qword ptr [rsp + 152] # 8-byte Reload + mov r9, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + r9 + 15], 15 mov rbx, qword ptr [rsp + 256] # 8-byte Reload movzx edi, byte ptr [rdx + rbx + 15] vmovd xmm3, edi mov r11, qword ptr [rsp + 224] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + r11 + 15], 1 - mov rcx, qword ptr [rsp + 216] # 8-byte Reload + mov rcx, qword ptr [rsp + 200] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 15], 2 mov r10, qword ptr [rsp + 136] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + r10 + 15], 3 @@ -32560,21 +33827,21 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 15], 4 mov rcx, qword ptr [rsp + 72] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 15], 5 - mov rcx, qword ptr [rsp + 208] # 8-byte Reload + mov rcx, qword ptr [rsp + 152] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 15], 6 mov r14, qword ptr [rsp + 144] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + r14 + 15], 7 - mov rdi, qword ptr [rsp + 184] # 8-byte Reload + mov rdi, qword ptr [rsp + 208] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 15], 8 mov rdi, qword ptr [rsp + 264] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 15], 9 mov rdi, qword ptr [rsp + 64] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 15], 10 - mov rdi, qword ptr [rsp + 40] # 8-byte Reload + mov rdi, qword ptr [rsp + 56] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 15], 11 vpinsrb xmm3, xmm3, byte ptr [rdx + r12 + 15], 12 vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 15], 13 - mov rsi, qword ptr [rsp + 48] # 8-byte Reload + mov rsi, qword ptr [rsp + 40] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 15], 14 mov r15, qword ptr [rsp + 288] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + r15 + 15], 15 @@ -32586,9 +33853,9 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vmovd xmm0, edi mov rsi, qword ptr [rsp + 128] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 16], 1 - mov rsi, qword ptr [rsp + 176] # 8-byte Reload + mov rsi, qword ptr [rsp + 184] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 16], 2 - mov rsi, qword ptr [rsp + 200] # 8-byte Reload + mov rsi, qword ptr [rsp + 240] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 16], 3 mov rsi, qword ptr [rsp + 160] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 16], 4 @@ -32596,11 +33863,11 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 16], 5 vpinsrb xmm0, xmm0, byte ptr [rdx + r13 + 16], 6 mov r12, r13 - mov rsi, qword ptr [rsp + 96] # 8-byte Reload + mov rsi, qword ptr [rsp + 104] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 16], 7 mov rsi, qword ptr [rsp + 112] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 16], 8 - mov rsi, qword ptr [rsp + 56] # 8-byte Reload + mov rsi, qword ptr [rsp + 48] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 16], 9 mov rsi, qword ptr [rsp + 120] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 16], 10 @@ -32615,7 +33882,7 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 movzx edi, byte ptr [rdx + rbx + 16] vmovd xmm1, edi vpinsrb xmm1, xmm1, byte ptr [rdx + r11 + 16], 1 - mov r9, qword ptr [rsp + 216] # 8-byte Reload + mov r9, qword ptr [rsp + 200] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + r9 + 16], 2 vpinsrb xmm1, xmm1, byte ptr [rdx + r10 + 16], 3 mov rax, qword ptr [rsp + 192] # 8-byte Reload @@ -32624,51 +33891,51 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 16], 5 vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 16], 6 vpinsrb xmm1, xmm1, byte ptr [rdx + r14 + 16], 7 - mov rsi, qword ptr [rsp + 184] # 8-byte Reload + mov rsi, qword ptr [rsp + 208] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 16], 8 mov rax, qword ptr [rsp + 264] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 16], 9 mov r13, qword ptr [rsp + 64] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + r13 + 16], 10 - mov rdi, qword ptr [rsp + 40] # 8-byte Reload + mov rdi, qword ptr [rsp + 56] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 16], 11 mov rdi, qword ptr [rsp + 32] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 16], 12 mov rdi, qword ptr [rsp + 320] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 16], 13 - mov r14, qword ptr [rsp + 48] # 8-byte Reload + mov r14, qword ptr [rsp + 40] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + r14 + 16], 14 vpinsrb xmm1, xmm1, byte ptr [rdx + r15 + 16], 15 - mov rdi, qword ptr [rsp + 240] # 8-byte Reload + mov rdi, qword ptr [rsp + 216] # 8-byte Reload movzx edi, byte ptr [rdx + rdi + 17] vmovd xmm2, edi mov rdi, qword ptr [rsp + 128] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 17], 1 - mov rcx, qword ptr [rsp + 176] # 8-byte Reload + mov rcx, qword ptr [rsp + 184] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 17], 2 - mov rdi, qword ptr [rsp + 200] # 8-byte Reload + mov rdi, qword ptr [rsp + 240] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 17], 3 mov rdi, qword ptr [rsp + 160] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 17], 4 mov r10, qword ptr [rsp + 248] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + r10 + 17], 5 vpinsrb xmm2, xmm2, byte ptr [rdx + r12 + 17], 6 - mov r12, qword ptr [rsp + 96] # 8-byte Reload + mov r12, qword ptr [rsp + 104] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + r12 + 17], 7 mov rdi, qword ptr [rsp + 112] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 17], 8 - mov rdi, qword ptr [rsp + 56] # 8-byte Reload + mov rdi, qword ptr [rsp + 48] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 17], 9 mov rbx, qword ptr [rsp + 120] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rbx + 17], 10 mov rdi, qword ptr [rsp + 88] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 17], 11 - mov rdi, qword ptr [rsp + 104] # 8-byte Reload + mov rdi, qword ptr [rsp + 96] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 17], 12 mov r11, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + r11 + 17], 13 vpinsrb xmm2, xmm2, byte ptr [rdx + r8 + 17], 14 - mov rdi, qword ptr [rsp + 152] # 8-byte Reload + mov rdi, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 17], 15 mov rdi, qword ptr [rsp + 256] # 8-byte Reload movzx edi, byte ptr [rdx + rdi + 17] @@ -32682,14 +33949,14 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 17], 4 mov rdi, qword ptr [rsp + 72] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 17], 5 - mov r15, qword ptr [rsp + 208] # 8-byte Reload + mov r15, qword ptr [rsp + 152] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + r15 + 17], 6 mov r8, qword ptr [rsp + 144] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + r8 + 17], 7 vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 17], 8 vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 17], 9 vpinsrb xmm3, xmm3, byte ptr [rdx + r13 + 17], 10 - mov r9, qword ptr [rsp + 40] # 8-byte Reload + mov r9, qword ptr [rsp + 56] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + r9 + 17], 11 mov rsi, qword ptr [rsp + 32] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 17], 12 @@ -32702,13 +33969,13 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vpinsrb xmm0, xmm3, byte ptr [rdx + rax + 17], 15 vinserti128 ymm0, ymm0, xmm2, 1 vmovdqa ymmword ptr [rsp + 864], ymm0 # 32-byte Spill - mov rax, qword ptr [rsp + 240] # 8-byte Reload + mov rax, qword ptr [rsp + 216] # 8-byte Reload movzx edi, byte ptr [rdx + rax + 18] vmovd xmm0, edi mov rax, qword ptr [rsp + 128] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 18], 1 vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 18], 2 - mov rcx, qword ptr [rsp + 200] # 8-byte Reload + mov rcx, qword ptr [rsp + 240] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 18], 3 mov r13, qword ptr [rsp + 160] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + r13 + 18], 4 @@ -32718,24 +33985,24 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vpinsrb xmm0, xmm0, byte ptr [rdx + r12 + 18], 7 mov rcx, qword ptr [rsp + 112] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 18], 8 - mov r10, qword ptr [rsp + 56] # 8-byte Reload + mov r10, qword ptr [rsp + 48] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + r10 + 18], 9 vpinsrb xmm0, xmm0, byte ptr [rdx + rbx + 18], 10 mov rdi, qword ptr [rsp + 88] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rdi + 18], 11 - mov rdi, qword ptr [rsp + 104] # 8-byte Reload + mov rdi, qword ptr [rsp + 96] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rdi + 18], 12 vpinsrb xmm0, xmm0, byte ptr [rdx + r11 + 18], 13 mov rdi, qword ptr [rsp + 80] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rdi + 18], 14 - mov rdi, qword ptr [rsp + 152] # 8-byte Reload + mov rdi, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rdi + 18], 15 mov r11, qword ptr [rsp + 256] # 8-byte Reload movzx edi, byte ptr [rdx + r11 + 18] vmovd xmm1, edi mov rdi, qword ptr [rsp + 224] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 18], 1 - mov r14, qword ptr [rsp + 216] # 8-byte Reload + mov r14, qword ptr [rsp + 200] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + r14 + 18], 2 mov r12, qword ptr [rsp + 136] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + r12 + 18], 3 @@ -32745,7 +34012,7 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 18], 5 vpinsrb xmm1, xmm1, byte ptr [rdx + r15 + 18], 6 vpinsrb xmm1, xmm1, byte ptr [rdx + r8 + 18], 7 - mov rdi, qword ptr [rsp + 184] # 8-byte Reload + mov rdi, qword ptr [rsp + 208] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 18], 8 mov rdi, qword ptr [rsp + 264] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 18], 9 @@ -32755,37 +34022,37 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 18], 12 mov r9, qword ptr [rsp + 320] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + r9 + 18], 13 - mov rdi, qword ptr [rsp + 48] # 8-byte Reload + mov rdi, qword ptr [rsp + 40] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 18], 14 mov r8, qword ptr [rsp + 288] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + r8 + 18], 15 - mov rdi, qword ptr [rsp + 240] # 8-byte Reload + mov rdi, qword ptr [rsp + 216] # 8-byte Reload movzx edi, byte ptr [rdx + rdi + 19] vmovd xmm2, edi vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 19], 1 - mov rax, qword ptr [rsp + 176] # 8-byte Reload + mov rax, qword ptr [rsp + 184] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 19], 2 - mov rdi, qword ptr [rsp + 200] # 8-byte Reload + mov rdi, qword ptr [rsp + 240] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 19], 3 vpinsrb xmm2, xmm2, byte ptr [rdx + r13 + 19], 4 mov rax, qword ptr [rsp + 248] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 19], 5 mov rax, qword ptr [rsp + 232] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 19], 6 - mov rax, qword ptr [rsp + 96] # 8-byte Reload + mov rax, qword ptr [rsp + 104] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 19], 7 vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 19], 8 vpinsrb xmm2, xmm2, byte ptr [rdx + r10 + 19], 9 vpinsrb xmm2, xmm2, byte ptr [rdx + rbx + 19], 10 mov rbx, qword ptr [rsp + 88] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rbx + 19], 11 - mov r13, qword ptr [rsp + 104] # 8-byte Reload + mov r13, qword ptr [rsp + 96] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + r13 + 19], 12 mov rax, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 19], 13 mov rax, qword ptr [rsp + 80] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 19], 14 - mov rax, qword ptr [rsp + 152] # 8-byte Reload + mov rax, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 19], 15 movzx edi, byte ptr [rdx + r11 + 19] vmovd xmm3, edi @@ -32800,31 +34067,31 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vpinsrb xmm3, xmm3, byte ptr [rdx + r15 + 19], 6 mov rax, qword ptr [rsp + 144] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 19], 7 - mov rcx, qword ptr [rsp + 184] # 8-byte Reload + mov rcx, qword ptr [rsp + 208] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 19], 8 mov rax, qword ptr [rsp + 264] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 19], 9 mov r10, qword ptr [rsp + 64] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + r10 + 19], 10 - mov rax, qword ptr [rsp + 40] # 8-byte Reload + mov rax, qword ptr [rsp + 56] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 19], 11 vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 19], 12 vpinsrb xmm3, xmm3, byte ptr [rdx + r9 + 19], 13 - mov r9, qword ptr [rsp + 48] # 8-byte Reload + mov r9, qword ptr [rsp + 40] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + r9 + 19], 14 vpinsrb xmm3, xmm3, byte ptr [rdx + r8 + 19], 15 vinserti128 ymm0, ymm1, xmm0, 1 vmovdqa ymmword ptr [rsp + 800], ymm0 # 32-byte Spill vinserti128 ymm0, ymm3, xmm2, 1 vmovdqa ymmword ptr [rsp + 832], ymm0 # 32-byte Spill - mov rax, qword ptr [rsp + 240] # 8-byte Reload + mov rax, qword ptr [rsp + 216] # 8-byte Reload movzx edi, byte ptr [rdx + rax + 20] vmovd xmm0, edi mov rsi, qword ptr [rsp + 128] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 20], 1 - mov r11, qword ptr [rsp + 176] # 8-byte Reload + mov r11, qword ptr [rsp + 184] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + r11 + 20], 2 - mov r12, qword ptr [rsp + 200] # 8-byte Reload + mov r12, qword ptr [rsp + 240] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + r12 + 20], 3 mov rsi, qword ptr [rsp + 160] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 20], 4 @@ -32832,11 +34099,11 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vpinsrb xmm0, xmm0, byte ptr [rdx + r8 + 20], 5 mov r15, qword ptr [rsp + 232] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + r15 + 20], 6 - mov rsi, qword ptr [rsp + 96] # 8-byte Reload + mov rsi, qword ptr [rsp + 104] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 20], 7 mov rsi, qword ptr [rsp + 112] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 20], 8 - mov rsi, qword ptr [rsp + 56] # 8-byte Reload + mov rsi, qword ptr [rsp + 48] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 20], 9 mov rsi, qword ptr [rsp + 120] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 20], 10 @@ -32846,14 +34113,14 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vpinsrb xmm0, xmm0, byte ptr [rdx + r14 + 20], 13 mov rsi, qword ptr [rsp + 80] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 20], 14 - mov rsi, qword ptr [rsp + 152] # 8-byte Reload + mov rsi, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 20], 15 mov rdi, qword ptr [rsp + 256] # 8-byte Reload movzx edi, byte ptr [rdx + rdi + 20] vmovd xmm1, edi mov rdi, qword ptr [rsp + 224] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 20], 1 - mov rdi, qword ptr [rsp + 216] # 8-byte Reload + mov rdi, qword ptr [rsp + 200] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 20], 2 mov rbx, qword ptr [rsp + 136] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rbx + 20], 3 @@ -32861,7 +34128,7 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 20], 4 mov rdi, qword ptr [rsp + 72] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 20], 5 - mov rdi, qword ptr [rsp + 208] # 8-byte Reload + mov rdi, qword ptr [rsp + 152] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 20], 6 mov rdi, qword ptr [rsp + 144] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 20], 7 @@ -32869,7 +34136,7 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 mov rcx, qword ptr [rsp + 264] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 20], 9 vpinsrb xmm1, xmm1, byte ptr [rdx + r10 + 20], 10 - mov rcx, qword ptr [rsp + 40] # 8-byte Reload + mov rcx, qword ptr [rsp + 56] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 20], 11 mov rcx, qword ptr [rsp + 32] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 20], 12 @@ -32889,17 +34156,17 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 21], 4 vpinsrb xmm2, xmm2, byte ptr [rdx + r8 + 21], 5 vpinsrb xmm2, xmm2, byte ptr [rdx + r15 + 21], 6 - mov r8, qword ptr [rsp + 96] # 8-byte Reload + mov r8, qword ptr [rsp + 104] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + r8 + 21], 7 mov r15, qword ptr [rsp + 112] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + r15 + 21], 8 - mov rax, qword ptr [rsp + 56] # 8-byte Reload + mov rax, qword ptr [rsp + 48] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 21], 9 mov r12, qword ptr [rsp + 120] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + r12 + 21], 10 mov rax, qword ptr [rsp + 88] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 21], 11 - mov rax, qword ptr [rsp + 104] # 8-byte Reload + mov rax, qword ptr [rsp + 96] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 21], 12 vpinsrb xmm2, xmm2, byte ptr [rdx + r14 + 21], 13 mov rax, qword ptr [rsp + 80] # 8-byte Reload @@ -32910,42 +34177,42 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vmovd xmm3, edi mov r14, qword ptr [rsp + 224] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + r14 + 21], 1 - mov r10, qword ptr [rsp + 216] # 8-byte Reload + mov r10, qword ptr [rsp + 200] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + r10 + 21], 2 vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 21], 3 mov rbx, qword ptr [rsp + 192] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 21], 4 mov rcx, qword ptr [rsp + 72] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 21], 5 - mov rsi, qword ptr [rsp + 208] # 8-byte Reload + mov rsi, qword ptr [rsp + 152] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 21], 6 mov rsi, qword ptr [rsp + 144] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 21], 7 - mov rsi, qword ptr [rsp + 184] # 8-byte Reload + mov rsi, qword ptr [rsp + 208] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 21], 8 mov rsi, qword ptr [rsp + 264] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 21], 9 mov rdi, qword ptr [rsp + 64] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 21], 10 - mov rdi, qword ptr [rsp + 40] # 8-byte Reload + mov rdi, qword ptr [rsp + 56] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 21], 11 mov rdi, qword ptr [rsp + 32] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 21], 12 mov rdi, qword ptr [rsp + 320] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 21], 13 - mov rdi, qword ptr [rsp + 48] # 8-byte Reload + mov rdi, qword ptr [rsp + 40] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 21], 14 vinserti128 ymm0, ymm1, xmm0, 1 vmovdqa ymmword ptr [rsp + 736], ymm0 # 32-byte Spill vpinsrb xmm0, xmm3, byte ptr [rdx + r9 + 21], 15 vinserti128 ymm0, ymm0, xmm2, 1 vmovdqa ymmword ptr [rsp + 768], ymm0 # 32-byte Spill - mov rdi, qword ptr [rsp + 240] # 8-byte Reload + mov rdi, qword ptr [rsp + 216] # 8-byte Reload movzx edi, byte ptr [rdx + rdi + 22] vmovd xmm0, edi mov rdi, qword ptr [rsp + 128] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rdi + 22], 1 - mov rdi, qword ptr [rsp + 176] # 8-byte Reload + mov rdi, qword ptr [rsp + 184] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rdi + 22], 2 vpinsrb xmm0, xmm0, byte ptr [rdx + r13 + 22], 3 mov r9, qword ptr [rsp + 160] # 8-byte Reload @@ -32956,17 +34223,17 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vpinsrb xmm0, xmm0, byte ptr [rdx + rdi + 22], 6 vpinsrb xmm0, xmm0, byte ptr [rdx + r8 + 22], 7 vpinsrb xmm0, xmm0, byte ptr [rdx + r15 + 22], 8 - mov rdi, qword ptr [rsp + 56] # 8-byte Reload + mov rdi, qword ptr [rsp + 48] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rdi + 22], 9 vpinsrb xmm0, xmm0, byte ptr [rdx + r12 + 22], 10 mov rdi, qword ptr [rsp + 88] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rdi + 22], 11 - mov rdi, qword ptr [rsp + 104] # 8-byte Reload + mov rdi, qword ptr [rsp + 96] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rdi + 22], 12 mov rdi, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rdi + 22], 13 vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 22], 14 - mov r15, qword ptr [rsp + 152] # 8-byte Reload + mov r15, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + r15 + 22], 15 movzx edi, byte ptr [rdx + r11 + 22] vmovd xmm1, edi @@ -32976,31 +34243,31 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 22], 3 vpinsrb xmm1, xmm1, byte ptr [rdx + rbx + 22], 4 vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 22], 5 - mov r12, qword ptr [rsp + 208] # 8-byte Reload + mov r12, qword ptr [rsp + 152] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + r12 + 22], 6 mov rbx, qword ptr [rsp + 144] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rbx + 22], 7 - mov r10, qword ptr [rsp + 184] # 8-byte Reload + mov r10, qword ptr [rsp + 208] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + r10 + 22], 8 vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 22], 9 mov rax, qword ptr [rsp + 64] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 22], 10 - mov r8, qword ptr [rsp + 40] # 8-byte Reload + mov r8, qword ptr [rsp + 56] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + r8 + 22], 11 mov rax, qword ptr [rsp + 32] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 22], 12 mov rax, qword ptr [rsp + 320] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 22], 13 - mov rax, qword ptr [rsp + 48] # 8-byte Reload + mov rax, qword ptr [rsp + 40] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 22], 14 mov rax, qword ptr [rsp + 288] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 22], 15 - mov rax, qword ptr [rsp + 240] # 8-byte Reload + mov rax, qword ptr [rsp + 216] # 8-byte Reload movzx edi, byte ptr [rdx + rax + 23] vmovd xmm2, edi mov rax, qword ptr [rsp + 128] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 23], 1 - mov rax, qword ptr [rsp + 176] # 8-byte Reload + mov rax, qword ptr [rsp + 184] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 23], 2 mov r14, r13 vpinsrb xmm2, xmm2, byte ptr [rdx + r13 + 23], 3 @@ -33009,17 +34276,17 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vpinsrb xmm2, xmm2, byte ptr [rdx + r13 + 23], 5 mov rsi, qword ptr [rsp + 232] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 23], 6 - mov r9, qword ptr [rsp + 96] # 8-byte Reload + mov r9, qword ptr [rsp + 104] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + r9 + 23], 7 mov rax, qword ptr [rsp + 112] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 23], 8 - mov rax, qword ptr [rsp + 56] # 8-byte Reload + mov rax, qword ptr [rsp + 48] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 23], 9 mov rcx, qword ptr [rsp + 120] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 23], 10 mov rcx, qword ptr [rsp + 88] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 23], 11 - mov rcx, qword ptr [rsp + 104] # 8-byte Reload + mov rcx, qword ptr [rsp + 96] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 23], 12 mov r11, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + r11 + 23], 13 @@ -33031,7 +34298,7 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vmovd xmm3, edi mov rdi, qword ptr [rsp + 224] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 23], 1 - mov rdi, qword ptr [rsp + 216] # 8-byte Reload + mov rdi, qword ptr [rsp + 200] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 23], 2 mov rdi, qword ptr [rsp + 136] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 23], 3 @@ -33051,18 +34318,18 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 23], 12 mov rdi, qword ptr [rsp + 320] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 23], 13 - mov rdi, qword ptr [rsp + 48] # 8-byte Reload + mov rdi, qword ptr [rsp + 40] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 23], 14 mov rdi, qword ptr [rsp + 288] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 23], 15 vinserti128 ymm10, ymm1, xmm0, 1 vinserti128 ymm11, ymm3, xmm2, 1 - mov rdi, qword ptr [rsp + 240] # 8-byte Reload + mov rdi, qword ptr [rsp + 216] # 8-byte Reload movzx edi, byte ptr [rdx + rdi + 24] vmovd xmm0, edi mov rdi, qword ptr [rsp + 128] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rdi + 24], 1 - mov r15, qword ptr [rsp + 176] # 8-byte Reload + mov r15, qword ptr [rsp + 184] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + r15 + 24], 2 vpinsrb xmm0, xmm0, byte ptr [rdx + r14 + 24], 3 mov rdi, qword ptr [rsp + 160] # 8-byte Reload @@ -33081,14 +34348,14 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vpinsrb xmm0, xmm0, byte ptr [rdx + r11 + 24], 13 mov rax, qword ptr [rsp + 80] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 24], 14 - mov rax, qword ptr [rsp + 152] # 8-byte Reload + mov rax, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 24], 15 mov r14, qword ptr [rsp + 256] # 8-byte Reload movzx edi, byte ptr [rdx + r14 + 24] vmovd xmm1, edi mov r9, qword ptr [rsp + 224] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + r9 + 24], 1 - mov rax, qword ptr [rsp + 216] # 8-byte Reload + mov rax, qword ptr [rsp + 200] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 24], 2 mov rax, qword ptr [rsp + 136] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 24], 3 @@ -33096,7 +34363,7 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vpinsrb xmm1, xmm1, byte ptr [rdx + r11 + 24], 4 mov r8, qword ptr [rsp + 72] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + r8 + 24], 5 - mov rax, qword ptr [rsp + 208] # 8-byte Reload + mov rax, qword ptr [rsp + 152] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 24], 6 mov rax, qword ptr [rsp + 144] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 24], 7 @@ -33105,23 +34372,23 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vpinsrb xmm1, xmm1, byte ptr [rdx + rbx + 24], 9 mov r13, qword ptr [rsp + 64] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + r13 + 24], 10 - mov rcx, qword ptr [rsp + 40] # 8-byte Reload + mov rcx, qword ptr [rsp + 56] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 24], 11 mov rsi, qword ptr [rsp + 32] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 24], 12 mov rax, qword ptr [rsp + 320] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 24], 13 - mov rbx, qword ptr [rsp + 48] # 8-byte Reload + mov rbx, qword ptr [rsp + 40] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rbx + 24], 14 mov rax, qword ptr [rsp + 288] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 24], 15 - mov rax, qword ptr [rsp + 240] # 8-byte Reload + mov rax, qword ptr [rsp + 216] # 8-byte Reload movzx edi, byte ptr [rdx + rax + 25] vmovd xmm2, edi mov rax, qword ptr [rsp + 128] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 25], 1 vpinsrb xmm2, xmm2, byte ptr [rdx + r15 + 25], 2 - mov rax, qword ptr [rsp + 200] # 8-byte Reload + mov rax, qword ptr [rsp + 240] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 25], 3 mov rax, qword ptr [rsp + 160] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rax + 25], 4 @@ -33129,37 +34396,37 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 25], 5 mov rdi, qword ptr [rsp + 232] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 25], 6 - mov rdi, qword ptr [rsp + 96] # 8-byte Reload + mov rdi, qword ptr [rsp + 104] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 25], 7 mov rdi, qword ptr [rsp + 112] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 25], 8 - mov rdi, qword ptr [rsp + 56] # 8-byte Reload + mov rdi, qword ptr [rsp + 48] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 25], 9 mov rdi, qword ptr [rsp + 120] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 25], 10 vpinsrb xmm2, xmm2, byte ptr [rdx + r12 + 25], 11 - mov rdi, qword ptr [rsp + 104] # 8-byte Reload + mov rdi, qword ptr [rsp + 96] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 25], 12 mov rdi, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 25], 13 mov rdi, qword ptr [rsp + 80] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 25], 14 - mov r15, qword ptr [rsp + 152] # 8-byte Reload + mov r15, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + r15 + 25], 15 movzx edi, byte ptr [rdx + r14 + 25] vmovd xmm3, edi vpinsrb xmm3, xmm3, byte ptr [rdx + r9 + 25], 1 - mov r9, qword ptr [rsp + 216] # 8-byte Reload + mov r9, qword ptr [rsp + 200] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + r9 + 25], 2 mov rdi, qword ptr [rsp + 136] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 25], 3 vpinsrb xmm3, xmm3, byte ptr [rdx + r11 + 25], 4 vpinsrb xmm3, xmm3, byte ptr [rdx + r8 + 25], 5 - mov rdi, qword ptr [rsp + 208] # 8-byte Reload + mov rdi, qword ptr [rsp + 152] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 25], 6 mov rdi, qword ptr [rsp + 144] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 25], 7 - mov rdi, qword ptr [rsp + 184] # 8-byte Reload + mov rdi, qword ptr [rsp + 208] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 25], 8 vpinsrb xmm3, xmm3, byte ptr [rdx + r10 + 25], 9 vpinsrb xmm3, xmm3, byte ptr [rdx + r13 + 25], 10 @@ -33174,31 +34441,31 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vpinsrb xmm0, xmm3, byte ptr [rdx + rcx + 25], 15 vinserti128 ymm0, ymm0, xmm2, 1 vmovdqa ymmword ptr [rsp + 576], ymm0 # 32-byte Spill - mov r11, qword ptr [rsp + 240] # 8-byte Reload + mov r11, qword ptr [rsp + 216] # 8-byte Reload movzx edi, byte ptr [rdx + r11 + 26] vmovd xmm0, edi mov rcx, qword ptr [rsp + 128] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 26], 1 - mov r8, qword ptr [rsp + 176] # 8-byte Reload + mov r8, qword ptr [rsp + 184] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + r8 + 26], 2 - mov rcx, qword ptr [rsp + 200] # 8-byte Reload + mov rcx, qword ptr [rsp + 240] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 26], 3 vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 26], 4 mov rsi, qword ptr [rsp + 248] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 26], 5 mov rax, qword ptr [rsp + 232] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 26], 6 - mov rax, qword ptr [rsp + 96] # 8-byte Reload + mov rax, qword ptr [rsp + 104] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 26], 7 mov rax, qword ptr [rsp + 112] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 26], 8 - mov rax, qword ptr [rsp + 56] # 8-byte Reload + mov rax, qword ptr [rsp + 48] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 26], 9 mov r12, qword ptr [rsp + 120] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + r12 + 26], 10 mov rax, qword ptr [rsp + 88] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 26], 11 - mov rax, qword ptr [rsp + 104] # 8-byte Reload + mov rax, qword ptr [rsp + 96] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 26], 12 mov rax, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 26], 13 @@ -33218,21 +34485,21 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 26], 4 mov rdi, qword ptr [rsp + 72] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 26], 5 - mov rdi, qword ptr [rsp + 208] # 8-byte Reload + mov rdi, qword ptr [rsp + 152] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 26], 6 mov r9, qword ptr [rsp + 144] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + r9 + 26], 7 - mov r15, qword ptr [rsp + 184] # 8-byte Reload + mov r15, qword ptr [rsp + 208] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + r15 + 26], 8 vpinsrb xmm1, xmm1, byte ptr [rdx + r10 + 26], 9 mov rbx, qword ptr [rsp + 64] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rbx + 26], 10 - mov rdi, qword ptr [rsp + 40] # 8-byte Reload + mov rdi, qword ptr [rsp + 56] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 26], 11 mov rdi, qword ptr [rsp + 32] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 26], 12 vpinsrb xmm1, xmm1, byte ptr [rdx + r13 + 26], 13 - mov rdi, qword ptr [rsp + 48] # 8-byte Reload + mov rdi, qword ptr [rsp + 40] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 26], 14 mov rdi, qword ptr [rsp + 288] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 26], 15 @@ -33242,32 +34509,32 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vpinsrb xmm2, xmm2, byte ptr [rdx + r11 + 27], 1 vpinsrb xmm2, xmm2, byte ptr [rdx + r8 + 27], 2 vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 27], 3 - mov r8, qword ptr [rsp + 160] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r8 + 27], 4 + mov rcx, qword ptr [rsp + 160] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 27], 4 vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 27], 5 - mov rsi, qword ptr [rsp + 232] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 27], 6 - mov rcx, qword ptr [rsp + 96] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 27], 7 - mov rcx, qword ptr [rsp + 112] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 27], 8 - mov rcx, qword ptr [rsp + 56] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 27], 9 + mov r13, qword ptr [rsp + 232] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + r13 + 27], 6 + mov r8, qword ptr [rsp + 104] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + r8 + 27], 7 + mov rsi, qword ptr [rsp + 112] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 27], 8 + mov rsi, qword ptr [rsp + 48] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 27], 9 vpinsrb xmm2, xmm2, byte ptr [rdx + r12 + 27], 10 - mov r13, qword ptr [rsp + 88] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r13 + 27], 11 - mov rcx, qword ptr [rsp + 104] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 27], 12 - mov rcx, qword ptr [rsp + 168] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 27], 13 + mov rsi, qword ptr [rsp + 88] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rsi + 27], 11 + mov rdi, qword ptr [rsp + 96] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 27], 12 + mov rdi, qword ptr [rsp + 168] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 27], 13 vpinsrb xmm2, xmm2, byte ptr [rdx + r14 + 27], 14 - mov rcx, qword ptr [rsp + 152] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 27], 15 - mov rcx, qword ptr [rsp + 256] # 8-byte Reload - movzx edi, byte ptr [rdx + rcx + 27] + mov rdi, qword ptr [rsp + 176] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 27], 15 + mov rdi, qword ptr [rsp + 256] # 8-byte Reload + movzx edi, byte ptr [rdx + rdi + 27] vmovd xmm3, edi - mov rcx, qword ptr [rsp + 224] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 27], 1 + mov rdi, qword ptr [rsp + 224] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 27], 1 vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 27], 2 mov rax, qword ptr [rsp + 136] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 27], 3 @@ -33275,155 +34542,154 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vpinsrb xmm3, xmm3, byte ptr [rdx + r14 + 27], 4 mov rax, qword ptr [rsp + 72] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 27], 5 - mov rax, qword ptr [rsp + 208] # 8-byte Reload + mov rax, qword ptr [rsp + 152] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 27], 6 vpinsrb xmm3, xmm3, byte ptr [rdx + r9 + 27], 7 vpinsrb xmm3, xmm3, byte ptr [rdx + r15 + 27], 8 vpinsrb xmm3, xmm3, byte ptr [rdx + r10 + 27], 9 vpinsrb xmm3, xmm3, byte ptr [rdx + rbx + 27], 10 - mov rax, qword ptr [rsp + 40] # 8-byte Reload + mov rax, qword ptr [rsp + 56] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 27], 11 mov rax, qword ptr [rsp + 32] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 27], 12 - mov rcx, qword ptr [rsp + 320] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 27], 13 - mov rax, qword ptr [rsp + 48] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 27], 14 - mov rax, qword ptr [rsp + 288] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 27], 15 + mov rax, qword ptr [rsp + 320] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 27], 13 + mov rdi, qword ptr [rsp + 40] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 27], 14 + mov rdi, qword ptr [rsp + 288] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rdi + 27], 15 vinserti128 ymm0, ymm1, xmm0, 1 vmovdqa ymmword ptr [rsp + 608], ymm0 # 32-byte Spill vinserti128 ymm0, ymm3, xmm2, 1 vmovdqa ymmword ptr [rsp + 640], ymm0 # 32-byte Spill - mov r10, qword ptr [rsp + 240] # 8-byte Reload - movzx edi, byte ptr [rdx + r10 + 28] + mov r9, qword ptr [rsp + 216] # 8-byte Reload + movzx edi, byte ptr [rdx + r9 + 28] vmovd xmm0, edi vpinsrb xmm0, xmm0, byte ptr [rdx + r11 + 28], 1 - mov r15, qword ptr [rsp + 176] # 8-byte Reload + mov r15, qword ptr [rsp + 184] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + r15 + 28], 2 - mov rax, qword ptr [rsp + 200] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 28], 3 - vpinsrb xmm0, xmm0, byte ptr [rdx + r8 + 28], 4 + mov r11, qword ptr [rsp + 240] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r11 + 28], 3 + vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 28], 4 mov r12, qword ptr [rsp + 248] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + r12 + 28], 5 - vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 28], 6 - mov rax, qword ptr [rsp + 96] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 28], 7 - mov r9, qword ptr [rsp + 112] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + r9 + 28], 8 - mov r8, qword ptr [rsp + 56] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + r8 + 28], 9 - mov rax, qword ptr [rsp + 120] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 28], 10 - vpinsrb xmm0, xmm0, byte ptr [rdx + r13 + 28], 11 - mov r11, qword ptr [rsp + 104] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + r11 + 28], 12 - mov rax, qword ptr [rsp + 168] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 28], 13 - mov rbx, qword ptr [rsp + 80] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rbx + 28], 14 - mov rax, qword ptr [rsp + 152] # 8-byte Reload - vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 28], 15 - mov rax, qword ptr [rsp + 256] # 8-byte Reload - movzx edi, byte ptr [rdx + rax + 28] + vpinsrb xmm0, xmm0, byte ptr [rdx + r13 + 28], 6 + vpinsrb xmm0, xmm0, byte ptr [rdx + r8 + 28], 7 + mov r8, qword ptr [rsp + 112] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r8 + 28], 8 + mov r10, qword ptr [rsp + 48] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r10 + 28], 9 + mov rcx, qword ptr [rsp + 120] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 28], 10 + vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 28], 11 + mov rbx, qword ptr [rsp + 96] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rbx + 28], 12 + mov rcx, qword ptr [rsp + 168] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 28], 13 + mov rcx, qword ptr [rsp + 80] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rcx + 28], 14 + mov rsi, qword ptr [rsp + 176] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + rsi + 28], 15 + mov rsi, qword ptr [rsp + 256] # 8-byte Reload + movzx edi, byte ptr [rdx + rsi + 28] vmovd xmm1, edi - mov rax, qword ptr [rsp + 224] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 28], 1 - mov rax, qword ptr [rsp + 216] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 28], 2 + mov rsi, qword ptr [rsp + 224] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 28], 1 + mov rsi, qword ptr [rsp + 200] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 28], 2 mov rsi, qword ptr [rsp + 136] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rsi + 28], 3 vpinsrb xmm1, xmm1, byte ptr [rdx + r14 + 28], 4 mov rdi, qword ptr [rsp + 72] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 28], 5 - mov r14, qword ptr [rsp + 208] # 8-byte Reload + mov r14, qword ptr [rsp + 152] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + r14 + 28], 6 mov rdi, qword ptr [rsp + 144] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 28], 7 - mov rdi, qword ptr [rsp + 184] # 8-byte Reload + mov rdi, qword ptr [rsp + 208] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 28], 8 mov rdi, qword ptr [rsp + 264] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 28], 9 mov rdi, qword ptr [rsp + 64] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 28], 10 - mov r13, qword ptr [rsp + 40] # 8-byte Reload + mov r13, qword ptr [rsp + 56] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + r13 + 28], 11 mov rdi, qword ptr [rsp + 32] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 28], 12 - vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 28], 13 - mov rcx, qword ptr [rsp + 48] # 8-byte Reload - vpinsrb xmm1, xmm1, byte ptr [rdx + rcx + 28], 14 + vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 28], 13 + mov rax, qword ptr [rsp + 40] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 28], 14 mov rdi, qword ptr [rsp + 288] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rdi + 28], 15 - movzx edi, byte ptr [rdx + r10 + 29] + movzx edi, byte ptr [rdx + r9 + 29] vmovd xmm2, edi - mov r10, qword ptr [rsp + 128] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r10 + 29], 1 + mov r9, qword ptr [rsp + 128] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + r9 + 29], 1 vpinsrb xmm2, xmm2, byte ptr [rdx + r15 + 29], 2 - mov rdi, qword ptr [rsp + 200] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 29], 3 + vpinsrb xmm2, xmm2, byte ptr [rdx + r11 + 29], 3 mov rdi, qword ptr [rsp + 160] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 29], 4 vpinsrb xmm2, xmm2, byte ptr [rdx + r12 + 29], 5 mov r15, qword ptr [rsp + 232] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + r15 + 29], 6 - mov rdi, qword ptr [rsp + 96] # 8-byte Reload + mov rdi, qword ptr [rsp + 104] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 29], 7 - vpinsrb xmm2, xmm2, byte ptr [rdx + r9 + 29], 8 - vpinsrb xmm2, xmm2, byte ptr [rdx + r8 + 29], 9 - mov r12, qword ptr [rsp + 120] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r12 + 29], 10 - mov r9, qword ptr [rsp + 88] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + r9 + 29], 11 - vpinsrb xmm2, xmm2, byte ptr [rdx + r11 + 29], 12 + vpinsrb xmm2, xmm2, byte ptr [rdx + r8 + 29], 8 + vpinsrb xmm2, xmm2, byte ptr [rdx + r10 + 29], 9 + mov r11, qword ptr [rsp + 120] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + r11 + 29], 10 + mov r8, qword ptr [rsp + 88] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + r8 + 29], 11 + vpinsrb xmm2, xmm2, byte ptr [rdx + rbx + 29], 12 mov rdi, qword ptr [rsp + 168] # 8-byte Reload vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 29], 13 - vpinsrb xmm2, xmm2, byte ptr [rdx + rbx + 29], 14 - mov rdi, qword ptr [rsp + 152] # 8-byte Reload - vpinsrb xmm2, xmm2, byte ptr [rdx + rdi + 29], 15 - mov r8, qword ptr [rsp + 256] # 8-byte Reload - movzx edi, byte ptr [rdx + r8 + 29] + vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 29], 14 + mov rcx, qword ptr [rsp + 176] # 8-byte Reload + vpinsrb xmm2, xmm2, byte ptr [rdx + rcx + 29], 15 + mov rbx, qword ptr [rsp + 256] # 8-byte Reload + movzx edi, byte ptr [rdx + rbx + 29] vmovd xmm3, edi - mov r11, qword ptr [rsp + 224] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + r11 + 29], 1 - vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 29], 2 + mov r12, qword ptr [rsp + 224] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + r12 + 29], 1 + mov r10, qword ptr [rsp + 200] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + r10 + 29], 2 vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 29], 3 mov rsi, qword ptr [rsp + 192] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + rsi + 29], 4 - mov rax, qword ptr [rsp + 72] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 29], 5 + mov rcx, qword ptr [rsp + 72] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 29], 5 vpinsrb xmm3, xmm3, byte ptr [rdx + r14 + 29], 6 - mov rax, qword ptr [rsp + 144] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 29], 7 - mov rax, qword ptr [rsp + 184] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 29], 8 - mov rax, qword ptr [rsp + 264] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 29], 9 - mov rax, qword ptr [rsp + 64] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 29], 10 + mov rcx, qword ptr [rsp + 144] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 29], 7 + mov rcx, qword ptr [rsp + 208] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 29], 8 + mov rcx, qword ptr [rsp + 264] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 29], 9 + mov rcx, qword ptr [rsp + 64] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 29], 10 vpinsrb xmm3, xmm3, byte ptr [rdx + r13 + 29], 11 mov r13, qword ptr [rsp + 32] # 8-byte Reload vpinsrb xmm3, xmm3, byte ptr [rdx + r13 + 29], 12 - mov rax, qword ptr [rsp + 320] # 8-byte Reload - vpinsrb xmm3, xmm3, byte ptr [rdx + rax + 29], 13 - vpinsrb xmm4, xmm3, byte ptr [rdx + rcx + 29], 14 + mov rcx, qword ptr [rsp + 320] # 8-byte Reload + vpinsrb xmm3, xmm3, byte ptr [rdx + rcx + 29], 13 + vpinsrb xmm4, xmm3, byte ptr [rdx + rax + 29], 14 vinserti128 ymm0, ymm1, xmm0, 1 vmovdqa ymmword ptr [rsp + 672], ymm0 # 32-byte Spill mov rax, qword ptr [rsp + 288] # 8-byte Reload vpinsrb xmm0, xmm4, byte ptr [rdx + rax + 29], 15 vinserti128 ymm0, ymm0, xmm2, 1 vmovdqa ymmword ptr [rsp + 704], ymm0 # 32-byte Spill - mov rcx, qword ptr [rsp + 240] # 8-byte Reload + mov rcx, qword ptr [rsp + 216] # 8-byte Reload movzx edi, byte ptr [rdx + rcx + 30] vmovd xmm0, edi - vpinsrb xmm0, xmm0, byte ptr [rdx + r10 + 30], 1 + vpinsrb xmm0, xmm0, byte ptr [rdx + r9 + 30], 1 movzx edi, byte ptr [rdx + rcx + 31] vmovd xmm1, edi - vpinsrb xmm1, xmm1, byte ptr [rdx + r10 + 31], 1 - mov rax, qword ptr [rsp + 176] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + r9 + 31], 1 + mov rax, qword ptr [rsp + 184] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 30], 2 vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 31], 2 - mov rax, qword ptr [rsp + 200] # 8-byte Reload + mov rax, qword ptr [rsp + 240] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 30], 3 vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 31], 3 mov rax, qword ptr [rsp + 160] # 8-byte Reload @@ -33434,21 +34700,21 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 31], 5 vpinsrb xmm0, xmm0, byte ptr [rdx + r15 + 30], 6 vpinsrb xmm1, xmm1, byte ptr [rdx + r15 + 31], 6 - mov rax, qword ptr [rsp + 96] # 8-byte Reload + mov rax, qword ptr [rsp + 104] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 30], 7 vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 31], 7 - mov r15, qword ptr [rsp + 272] # 8-byte Reload + mov rdi, qword ptr [rsp + 272] # 8-byte Reload mov rax, qword ptr [rsp + 112] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 30], 8 vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 31], 8 - mov rax, qword ptr [rsp + 56] # 8-byte Reload + mov rax, qword ptr [rsp + 48] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 30], 9 vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 31], 9 - vpinsrb xmm0, xmm0, byte ptr [rdx + r12 + 30], 10 - vpinsrb xmm1, xmm1, byte ptr [rdx + r12 + 31], 10 - vpinsrb xmm0, xmm0, byte ptr [rdx + r9 + 30], 11 - vpinsrb xmm1, xmm1, byte ptr [rdx + r9 + 31], 11 - mov rax, qword ptr [rsp + 104] # 8-byte Reload + vpinsrb xmm0, xmm0, byte ptr [rdx + r11 + 30], 10 + vpinsrb xmm1, xmm1, byte ptr [rdx + r11 + 31], 10 + vpinsrb xmm0, xmm0, byte ptr [rdx + r8 + 30], 11 + vpinsrb xmm1, xmm1, byte ptr [rdx + r8 + 31], 11 + mov rax, qword ptr [rsp + 96] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 30], 12 vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 31], 12 mov rax, qword ptr [rsp + 168] # 8-byte Reload @@ -33457,17 +34723,15 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 mov rax, qword ptr [rsp + 80] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 30], 14 vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 31], 14 - mov rax, qword ptr [rsp + 152] # 8-byte Reload + mov rax, qword ptr [rsp + 176] # 8-byte Reload vpinsrb xmm0, xmm0, byte ptr [rdx + rax + 30], 15 vpinsrb xmm2, xmm1, byte ptr [rdx + rax + 31], 15 - mov rcx, r8 - movzx eax, byte ptr [rdx + r8 + 30] + movzx eax, byte ptr [rdx + rbx + 30] vmovd xmm1, eax - vpinsrb xmm1, xmm1, byte ptr [rdx + r11 + 30], 1 - movzx eax, byte ptr [rdx + r8 + 31] + vpinsrb xmm1, xmm1, byte ptr [rdx + r12 + 30], 1 + movzx eax, byte ptr [rdx + rbx + 31] vmovd xmm7, eax - vpinsrb xmm7, xmm7, byte ptr [rdx + r11 + 31], 1 - mov r10, qword ptr [rsp + 216] # 8-byte Reload + vpinsrb xmm7, xmm7, byte ptr [rdx + r12 + 31], 1 vpinsrb xmm1, xmm1, byte ptr [rdx + r10 + 30], 2 vpinsrb xmm7, xmm7, byte ptr [rdx + r10 + 31], 2 mov rax, qword ptr [rsp + 136] # 8-byte Reload @@ -33478,12 +34742,13 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 mov rax, qword ptr [rsp + 72] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 30], 5 vpinsrb xmm7, xmm7, byte ptr [rdx + rax + 31], 5 - vpinsrb xmm1, xmm1, byte ptr [rdx + r14 + 30], 6 - vpinsrb xmm7, xmm7, byte ptr [rdx + r14 + 31], 6 + mov rax, qword ptr [rsp + 152] # 8-byte Reload + vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 30], 6 + vpinsrb xmm7, xmm7, byte ptr [rdx + rax + 31], 6 mov rax, qword ptr [rsp + 144] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 30], 7 vpinsrb xmm7, xmm7, byte ptr [rdx + rax + 31], 7 - mov rax, qword ptr [rsp + 184] # 8-byte Reload + mov rax, qword ptr [rsp + 208] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 30], 8 vpinsrb xmm7, xmm7, byte ptr [rdx + rax + 31], 8 mov rax, qword ptr [rsp + 264] # 8-byte Reload @@ -33492,7 +34757,7 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 mov rax, qword ptr [rsp + 64] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 30], 10 vpinsrb xmm7, xmm7, byte ptr [rdx + rax + 31], 10 - mov rax, qword ptr [rsp + 40] # 8-byte Reload + mov rax, qword ptr [rsp + 56] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 30], 11 vpinsrb xmm7, xmm7, byte ptr [rdx + rax + 31], 11 vpinsrb xmm1, xmm1, byte ptr [rdx + r13 + 30], 12 @@ -33500,7 +34765,7 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 mov rax, qword ptr [rsp + 320] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 30], 13 vpinsrb xmm7, xmm7, byte ptr [rdx + rax + 31], 13 - mov rax, qword ptr [rsp + 48] # 8-byte Reload + mov rax, qword ptr [rsp + 40] # 8-byte Reload vpinsrb xmm1, xmm1, byte ptr [rdx + rax + 30], 14 vpinsrb xmm7, xmm7, byte ptr [rdx + rax + 31], 14 mov rax, qword ptr [rsp + 288] # 8-byte Reload @@ -33626,10 +34891,10 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 vinserti128 ymm4, ymm3, xmm0, 1 vperm2i128 ymm0, ymm3, ymm0, 49 # ymm0 = ymm3[2,3],ymm0[2,3] mov rcx, qword ptr [rsp + 408] # 8-byte Reload - vmovdqu ymmword ptr [r15 + 4*rcx + 96], ymm0 - vmovdqu ymmword ptr [r15 + 4*rcx + 64], ymm2 - vmovdqu ymmword ptr [r15 + 4*rcx + 32], ymm4 - vmovdqu ymmword ptr [r15 + 4*rcx], ymm1 + vmovdqu ymmword ptr [rdi + 4*rcx + 96], ymm0 + vmovdqu ymmword ptr [rdi + 4*rcx + 64], ymm2 + vmovdqu ymmword ptr [rdi + 4*rcx + 32], ymm4 + vmovdqu ymmword ptr [rdi + 4*rcx], ymm1 add rcx, 32 mov rbx, rcx cmp rcx, qword ptr [rsp + 376] # 8-byte Folded Reload @@ -33641,8 +34906,8 @@ comparison_not_equal_scalar_arr_avx2: # @comparison_not_equal_scalar_arr_avx2 mov r13, qword ptr [rsp + 400] # 8-byte Reload mov rdx, qword ptr [rsp + 392] # 8-byte Reload mov r10, qword ptr [rsp + 280] # 8-byte Reload - jne .LBB5_114 - jmp .LBB5_133 + jne .LBB5_117 + jmp .LBB5_120 .Lfunc_end5: .size comparison_not_equal_scalar_arr_avx2, .Lfunc_end5-comparison_not_equal_scalar_arr_avx2 # -- End function @@ -36435,13 +37700,13 @@ comparison_greater_arr_scalar_avx2: # @comparison_greater_arr_scalar_avx2 jle .LBB7_2 # %bb.10: cmp edi, 4 - je .LBB7_79 + je .LBB7_84 # %bb.11: cmp edi, 5 - je .LBB7_95 + je .LBB7_102 # %bb.12: cmp edi, 6 - jne .LBB7_192 + jne .LBB7_191 # %bb.13: mov r13d, dword ptr [rdx] lea r15, [r10 + 31] @@ -36484,13 +37749,13 @@ comparison_greater_arr_scalar_avx2: # @comparison_greater_arr_scalar_avx2 sar r15, 5 cmp r10, 32 jl .LBB7_18 -# %bb.112: +# %bb.119: mov qword ptr [rsp + 248], r10 # 8-byte Spill mov qword ptr [rsp + 144], r15 # 8-byte Spill mov qword ptr [rsp + 136], r15 # 8-byte Spill mov qword ptr [rsp + 240], r11 # 8-byte Spill .p2align 4, 0x90 -.LBB7_113: # =>This Inner Loop Header: Depth=1 +.LBB7_120: # =>This Inner Loop Header: Depth=1 cmp dword ptr [rsi], r13d seta byte ptr [rsp + 120] # 1-byte Folded Spill cmp dword ptr [rsi + 4], r13d @@ -36646,31 +37911,31 @@ comparison_greater_arr_scalar_avx2: # @comparison_greater_arr_scalar_avx2 add rdx, 4 mov qword ptr [rsp + 240], rdx # 8-byte Spill add qword ptr [rsp + 136], -1 # 8-byte Folded Spill - jne .LBB7_113 -# %bb.114: + jne .LBB7_120 +# %bb.121: mov r14, qword ptr [rsp + 240] # 8-byte Reload mov r10, qword ptr [rsp + 248] # 8-byte Reload mov r15, qword ptr [rsp + 144] # 8-byte Reload shl r15, 5 cmp r15, r10 - jl .LBB7_116 - jmp .LBB7_192 + jl .LBB7_123 + jmp .LBB7_191 .LBB7_19: cmp edi, 8 jle .LBB7_20 # %bb.28: cmp edi, 9 - je .LBB7_148 + je .LBB7_155 # %bb.29: cmp edi, 11 - je .LBB7_164 + je .LBB7_171 # %bb.30: cmp edi, 12 - jne .LBB7_192 + jne .LBB7_191 # %bb.31: - lea r15, [r10 + 31] + lea r14, [r10 + 31] test r10, r10 - cmovns r15, r10 + cmovns r14, r10 lea eax, [r9 + 7] test r9d, r9d cmovns eax, r9d @@ -36682,9 +37947,11 @@ comparison_greater_arr_scalar_avx2: # @comparison_greater_arr_scalar_avx2 movsxd rax, r9d .p2align 4, 0x90 .LBB7_33: # =>This Inner Loop Header: Depth=1 - vucomisd xmm0, qword ptr [rsi] - lea rsi, [rsi + 8] - sbb edx, edx + vmovsd xmm1, qword ptr [rsi] # xmm1 = mem[0],zero + add rsi, 8 + vucomisd xmm1, xmm0 + seta dl + neg dl lea rdi, [rax + 7] test rax, rax cmovns rdi, rax @@ -36706,184 +37973,221 @@ comparison_greater_arr_scalar_avx2: # @comparison_greater_arr_scalar_avx2 # %bb.34: add r11, 1 .LBB7_35: - sar r15, 5 + sar r14, 5 cmp r10, 32 - jl .LBB7_36 -# %bb.180: + jl .LBB7_39 +# %bb.36: mov qword ptr [rsp + 248], r10 # 8-byte Spill - mov qword ptr [rsp + 136], r15 # 8-byte Spill - mov qword ptr [rsp + 120], r15 # 8-byte Spill + mov qword ptr [rsp + 136], r14 # 8-byte Spill + mov qword ptr [rsp + 120], r14 # 8-byte Spill mov qword ptr [rsp + 240], r11 # 8-byte Spill .p2align 4, 0x90 -.LBB7_181: # =>This Inner Loop Header: Depth=1 - vucomisd xmm0, qword ptr [rsi] - setb byte ptr [rsp + 128] # 1-byte Folded Spill - vucomisd xmm0, qword ptr [rsi + 8] - setb r9b - vucomisd xmm0, qword ptr [rsi + 16] - setb r14b - vucomisd xmm0, qword ptr [rsi + 24] - setb r13b - vucomisd xmm0, qword ptr [rsi + 32] - setb byte ptr [rsp + 88] # 1-byte Folded Spill - vucomisd xmm0, qword ptr [rsi + 40] - setb byte ptr [rsp + 48] # 1-byte Folded Spill - vucomisd xmm0, qword ptr [rsi + 48] - setb al - vucomisd xmm0, qword ptr [rsi + 56] - setb bl - vucomisd xmm0, qword ptr [rsi + 64] - setb byte ptr [rsp + 112] # 1-byte Folded Spill - vucomisd xmm0, qword ptr [rsi + 72] - setb dl - vucomisd xmm0, qword ptr [rsi + 80] - setb dil - vucomisd xmm0, qword ptr [rsi + 88] - setb r10b - vucomisd xmm0, qword ptr [rsi + 96] - setb r11b - vucomisd xmm0, qword ptr [rsi + 104] - setb r12b - vucomisd xmm0, qword ptr [rsi + 112] - setb byte ptr [rsp + 72] # 1-byte Folded Spill - vucomisd xmm0, qword ptr [rsi + 120] - setb cl - vucomisd xmm0, qword ptr [rsi + 128] - setb byte ptr [rsp + 64] # 1-byte Folded Spill - vucomisd xmm0, qword ptr [rsi + 136] - setb byte ptr [rsp + 104] # 1-byte Folded Spill - vucomisd xmm0, qword ptr [rsi + 144] - setb byte ptr [rsp + 80] # 1-byte Folded Spill - vucomisd xmm0, qword ptr [rsi + 152] - setb byte ptr [rsp + 96] # 1-byte Folded Spill - vucomisd xmm0, qword ptr [rsi + 160] - setb byte ptr [rsp + 40] # 1-byte Folded Spill - vucomisd xmm0, qword ptr [rsi + 168] - setb byte ptr [rsp + 56] # 1-byte Folded Spill - vucomisd xmm0, qword ptr [rsi + 176] - setb byte ptr [rsp + 24] # 1-byte Folded Spill - vucomisd xmm0, qword ptr [rsi + 184] - setb r15b - vucomisd xmm0, qword ptr [rsi + 192] - setb byte ptr [rsp + 320] # 1-byte Folded Spill - vucomisd xmm0, qword ptr [rsi + 200] - setb byte ptr [rsp + 32] # 1-byte Folded Spill - vucomisd xmm0, qword ptr [rsi + 208] - setb byte ptr [rsp + 16] # 1-byte Folded Spill - vucomisd xmm0, qword ptr [rsi + 216] - setb byte ptr [rsp + 8] # 1-byte Folded Spill - vucomisd xmm0, qword ptr [rsi + 224] - setb byte ptr [rsp + 288] # 1-byte Folded Spill - vucomisd xmm0, qword ptr [rsi + 232] - setb byte ptr [rsp + 256] # 1-byte Folded Spill - vucomisd xmm0, qword ptr [rsi + 240] - setb byte ptr [rsp + 4] # 1-byte Folded Spill - vucomisd xmm0, qword ptr [rsi + 248] - setb r8b - add r9b, r9b - add r9b, byte ptr [rsp + 128] # 1-byte Folded Reload - shl al, 6 - shl bl, 7 +.LBB7_37: # =>This Inner Loop Header: Depth=1 + vmovsd xmm1, qword ptr [rsi] # xmm1 = mem[0],zero + vmovsd xmm2, qword ptr [rsi + 8] # xmm2 = mem[0],zero + vucomisd xmm1, xmm0 + seta byte ptr [rsp + 288] # 1-byte Folded Spill + vucomisd xmm2, xmm0 + seta bl + vmovsd xmm1, qword ptr [rsi + 16] # xmm1 = mem[0],zero + vucomisd xmm1, xmm0 + vmovsd xmm1, qword ptr [rsi + 24] # xmm1 = mem[0],zero + seta r13b + vucomisd xmm1, xmm0 + seta r12b + vmovsd xmm1, qword ptr [rsi + 32] # xmm1 = mem[0],zero + vucomisd xmm1, xmm0 + vmovsd xmm1, qword ptr [rsi + 40] # xmm1 = mem[0],zero + seta byte ptr [rsp + 40] # 1-byte Folded Spill + vucomisd xmm1, xmm0 + seta byte ptr [rsp + 56] # 1-byte Folded Spill + vmovsd xmm1, qword ptr [rsi + 48] # xmm1 = mem[0],zero + vucomisd xmm1, xmm0 + vmovsd xmm1, qword ptr [rsi + 56] # xmm1 = mem[0],zero + seta byte ptr [rsp + 48] # 1-byte Folded Spill + vucomisd xmm1, xmm0 + seta byte ptr [rsp + 24] # 1-byte Folded Spill + vmovsd xmm1, qword ptr [rsi + 64] # xmm1 = mem[0],zero + vucomisd xmm1, xmm0 + vmovsd xmm1, qword ptr [rsi + 72] # xmm1 = mem[0],zero + seta byte ptr [rsp + 256] # 1-byte Folded Spill + vucomisd xmm1, xmm0 + seta al + vmovsd xmm1, qword ptr [rsi + 80] # xmm1 = mem[0],zero + vucomisd xmm1, xmm0 + vmovsd xmm1, qword ptr [rsi + 88] # xmm1 = mem[0],zero + seta byte ptr [rsp + 16] # 1-byte Folded Spill + vucomisd xmm1, xmm0 + seta byte ptr [rsp + 320] # 1-byte Folded Spill + vmovsd xmm1, qword ptr [rsi + 96] # xmm1 = mem[0],zero + vmovsd xmm3, qword ptr [rsi + 104] # xmm3 = mem[0],zero + vucomisd xmm1, xmm0 + vmovsd xmm5, qword ptr [rsi + 112] # xmm5 = mem[0],zero + vmovsd xmm6, qword ptr [rsi + 120] # xmm6 = mem[0],zero + seta byte ptr [rsp + 96] # 1-byte Folded Spill + vmovsd xmm8, qword ptr [rsi + 128] # xmm8 = mem[0],zero + vmovsd xmm9, qword ptr [rsi + 136] # xmm9 = mem[0],zero + vucomisd xmm3, xmm0 + vmovsd xmm10, qword ptr [rsi + 144] # xmm10 = mem[0],zero + vmovsd xmm11, qword ptr [rsi + 152] # xmm11 = mem[0],zero + seta byte ptr [rsp + 72] # 1-byte Folded Spill + vmovsd xmm12, qword ptr [rsi + 160] # xmm12 = mem[0],zero + vmovsd xmm13, qword ptr [rsi + 168] # xmm13 = mem[0],zero + vucomisd xmm5, xmm0 + vmovsd xmm14, qword ptr [rsi + 176] # xmm14 = mem[0],zero + vmovsd xmm2, qword ptr [rsi + 184] # xmm2 = mem[0],zero + seta byte ptr [rsp + 104] # 1-byte Folded Spill + vmovsd xmm3, qword ptr [rsi + 192] # xmm3 = mem[0],zero + vmovsd xmm4, qword ptr [rsi + 200] # xmm4 = mem[0],zero + vucomisd xmm6, xmm0 + vmovsd xmm6, qword ptr [rsi + 208] # xmm6 = mem[0],zero + vmovsd xmm7, qword ptr [rsi + 216] # xmm7 = mem[0],zero + seta r11b + vmovsd xmm1, qword ptr [rsi + 224] # xmm1 = mem[0],zero + vmovsd xmm5, qword ptr [rsi + 232] # xmm5 = mem[0],zero + vucomisd xmm8, xmm0 + seta byte ptr [rsp + 128] # 1-byte Folded Spill + vucomisd xmm9, xmm0 + seta cl + vucomisd xmm10, xmm0 + seta dil + vucomisd xmm11, xmm0 + seta r8b + vucomisd xmm12, xmm0 + seta r10b + vucomisd xmm13, xmm0 + seta r14b + vucomisd xmm14, xmm0 + seta byte ptr [rsp + 112] # 1-byte Folded Spill + vucomisd xmm2, xmm0 + seta r9b + vucomisd xmm3, xmm0 + seta byte ptr [rsp + 88] # 1-byte Folded Spill + vucomisd xmm4, xmm0 + seta r15b + vucomisd xmm6, xmm0 + seta byte ptr [rsp + 80] # 1-byte Folded Spill + vucomisd xmm7, xmm0 + seta byte ptr [rsp + 64] # 1-byte Folded Spill + vucomisd xmm1, xmm0 + seta byte ptr [rsp + 32] # 1-byte Folded Spill + vucomisd xmm5, xmm0 + vmovsd xmm1, qword ptr [rsi + 240] # xmm1 = mem[0],zero + seta byte ptr [rsp + 8] # 1-byte Folded Spill + vucomisd xmm1, xmm0 + seta byte ptr [rsp + 4] # 1-byte Folded Spill + vmovsd xmm1, qword ptr [rsi + 248] # xmm1 = mem[0],zero + add rsi, 256 + vucomisd xmm1, xmm0 + seta dl + add bl, bl + add bl, byte ptr [rsp + 288] # 1-byte Folded Reload + shl r13b, 2 + or r13b, bl + shl r12b, 3 + or r12b, r13b + movzx ebx, byte ptr [rsp + 40] # 1-byte Folded Reload + shl bl, 4 + or bl, r12b + mov r12d, ebx + movzx ebx, byte ptr [rsp + 56] # 1-byte Folded Reload + shl bl, 5 + or bl, r12b + movzx r12d, byte ptr [rsp + 48] # 1-byte Folded Reload + shl r12b, 6 + movzx r13d, byte ptr [rsp + 24] # 1-byte Folded Reload + shl r13b, 7 + or r13b, r12b + add al, al + add al, byte ptr [rsp + 256] # 1-byte Folded Reload + movzx r12d, byte ptr [rsp + 16] # 1-byte Folded Reload + shl r12b, 2 + or r12b, al + mov eax, r12d + movzx r12d, byte ptr [rsp + 320] # 1-byte Folded Reload + shl r12b, 3 + or r12b, al + movzx eax, byte ptr [rsp + 96] # 1-byte Folded Reload + shl al, 4 + or al, r12b + or r13b, bl + movzx ebx, byte ptr [rsp + 72] # 1-byte Folded Reload + shl bl, 5 or bl, al - shl r14b, 2 - or r14b, r9b - add dl, dl - add dl, byte ptr [rsp + 112] # 1-byte Folded Reload - shl r13b, 3 - or r13b, r14b - shl dil, 2 - or dil, dl - movzx edx, byte ptr [rsp + 88] # 1-byte Folded Reload - shl dl, 4 - or dl, r13b - mov r9d, edx - shl r10b, 3 - or r10b, dil - movzx edx, byte ptr [rsp + 48] # 1-byte Folded Reload - shl dl, 5 - or dl, r9b - shl r11b, 4 - or r11b, r10b - shl r12b, 5 - or r12b, r11b - movzx edi, byte ptr [rsp + 72] # 1-byte Folded Reload - shl dil, 6 - shl cl, 7 - or cl, dil - or bl, dl - or cl, r12b movzx eax, byte ptr [rsp + 104] # 1-byte Folded Reload - add al, al - add al, byte ptr [rsp + 64] # 1-byte Folded Reload - movzx edx, byte ptr [rsp + 80] # 1-byte Folded Reload - shl dl, 2 - or dl, al - mov edi, edx - movzx edx, byte ptr [rsp + 96] # 1-byte Folded Reload - shl dl, 3 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 40] # 1-byte Folded Reload - shl dl, 4 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 56] # 1-byte Folded Reload - shl dl, 5 - or dl, dil - mov edi, edx - mov rdx, qword ptr [rsp + 240] # 8-byte Reload - mov byte ptr [rdx], bl - movzx ebx, byte ptr [rsp + 24] # 1-byte Folded Reload - shl bl, 6 - shl r15b, 7 - or r15b, bl - mov byte ptr [rdx + 1], cl - or r15b, dil - movzx ecx, byte ptr [rsp + 32] # 1-byte Folded Reload + shl al, 6 + shl r11b, 7 + or r11b, al add cl, cl - add cl, byte ptr [rsp + 320] # 1-byte Folded Reload - mov ebx, ecx - movzx ecx, byte ptr [rsp + 16] # 1-byte Folded Reload + add cl, byte ptr [rsp + 128] # 1-byte Folded Reload + shl dil, 2 + or dil, cl + shl r8b, 3 + or r8b, dil + shl r10b, 4 + or r10b, r8b + shl r14b, 5 + or r14b, r10b + or r11b, bl + movzx eax, byte ptr [rsp + 112] # 1-byte Folded Reload + shl al, 6 + shl r9b, 7 + or r9b, al + mov rax, qword ptr [rsp + 240] # 8-byte Reload + mov byte ptr [rax], r13b + or r9b, r14b + add r15b, r15b + add r15b, byte ptr [rsp + 88] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 80] # 1-byte Folded Reload shl cl, 2 - or cl, bl + or cl, r15b mov ebx, ecx - movzx ecx, byte ptr [rsp + 8] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 64] # 1-byte Folded Reload shl cl, 3 or cl, bl mov ebx, ecx - movzx ecx, byte ptr [rsp + 288] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 32] # 1-byte Folded Reload shl cl, 4 or cl, bl mov ebx, ecx - movzx ecx, byte ptr [rsp + 256] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 8] # 1-byte Folded Reload shl cl, 5 or cl, bl + mov byte ptr [rax + 1], r11b movzx ebx, byte ptr [rsp + 4] # 1-byte Folded Reload shl bl, 6 - shl r8b, 7 - or r8b, bl - or r8b, cl - mov byte ptr [rdx + 2], r15b - mov byte ptr [rdx + 3], r8b - add rsi, 256 - add rdx, 4 - mov qword ptr [rsp + 240], rdx # 8-byte Spill + shl dl, 7 + or dl, bl + mov byte ptr [rax + 2], r9b + or dl, cl + mov byte ptr [rax + 3], dl + add rax, 4 + mov qword ptr [rsp + 240], rax # 8-byte Spill add qword ptr [rsp + 120], -1 # 8-byte Folded Spill - jne .LBB7_181 -# %bb.182: - mov r14, qword ptr [rsp + 240] # 8-byte Reload + jne .LBB7_37 +# %bb.38: + mov r11, qword ptr [rsp + 240] # 8-byte Reload mov r10, qword ptr [rsp + 248] # 8-byte Reload - mov r15, qword ptr [rsp + 136] # 8-byte Reload - shl r15, 5 - cmp r15, r10 - jl .LBB7_184 - jmp .LBB7_192 + mov r14, qword ptr [rsp + 136] # 8-byte Reload +.LBB7_39: + shl r14, 5 + cmp r14, r10 + jge .LBB7_191 +# %bb.40: + mov r8, r10 + sub r8, r14 + not r14 + add r14, r10 + jne .LBB7_186 +# %bb.41: + xor r10d, r10d + jmp .LBB7_188 .LBB7_2: cmp edi, 2 - je .LBB7_37 + je .LBB7_42 # %bb.3: cmp edi, 3 - jne .LBB7_192 + jne .LBB7_191 # %bb.4: mov r14b, byte ptr [rdx] lea r13, [r10 + 31] @@ -36928,32 +38232,32 @@ comparison_greater_arr_scalar_avx2: # @comparison_greater_arr_scalar_avx2 sar r13, 5 cmp r15, 32 jl .LBB7_9 -# %bb.61: +# %bb.66: cmp r13, 32 mov dword ptr [rsp + 4], r14d # 4-byte Spill mov qword ptr [rsp + 248], r15 # 8-byte Spill mov qword ptr [rsp + 360], r13 # 8-byte Spill - jb .LBB7_62 -# %bb.63: + jb .LBB7_67 +# %bb.68: mov rax, r13 shl rax, 5 add rax, rsi cmp r11, rax - jae .LBB7_65 -# %bb.64: + jae .LBB7_70 +# %bb.69: lea rax, [r11 + 4*r13] cmp rsi, rax - jae .LBB7_65 -.LBB7_62: + jae .LBB7_70 +.LBB7_67: xor eax, eax mov qword ptr [rsp + 384], rax # 8-byte Spill mov r12, rsi mov qword ptr [rsp + 352], r11 # 8-byte Spill -.LBB7_68: +.LBB7_73: sub r13, qword ptr [rsp + 384] # 8-byte Folded Reload mov qword ptr [rsp + 120], r13 # 8-byte Spill .p2align 4, 0x90 -.LBB7_69: # =>This Inner Loop Header: Depth=1 +.LBB7_74: # =>This Inner Loop Header: Depth=1 mov rcx, r12 cmp byte ptr [r12], r14b setg byte ptr [rsp + 320] # 1-byte Folded Spill @@ -37116,17 +38420,17 @@ comparison_greater_arr_scalar_avx2: # @comparison_greater_arr_scalar_avx2 add rsi, 4 mov qword ptr [rsp + 352], rsi # 8-byte Spill add qword ptr [rsp + 120], -1 # 8-byte Folded Spill - jne .LBB7_69 -# %bb.70: + jne .LBB7_74 +# %bb.75: mov r15, qword ptr [rsp + 248] # 8-byte Reload mov r13, qword ptr [rsp + 360] # 8-byte Reload - jmp .LBB7_71 + jmp .LBB7_76 .LBB7_20: cmp edi, 7 - je .LBB7_122 + je .LBB7_129 # %bb.21: cmp edi, 8 - jne .LBB7_192 + jne .LBB7_191 # %bb.22: mov r13, qword ptr [rdx] lea r15, [r10 + 31] @@ -37169,12 +38473,12 @@ comparison_greater_arr_scalar_avx2: # @comparison_greater_arr_scalar_avx2 sar r15, 5 cmp r10, 32 jl .LBB7_27 -# %bb.138: +# %bb.145: mov qword ptr [rsp + 248], r10 # 8-byte Spill mov qword ptr [rsp + 144], r15 # 8-byte Spill mov qword ptr [rsp + 136], r15 # 8-byte Spill .p2align 4, 0x90 -.LBB7_139: # =>This Inner Loop Header: Depth=1 +.LBB7_146: # =>This Inner Loop Header: Depth=1 mov qword ptr [rsp + 240], r11 # 8-byte Spill cmp qword ptr [rsi], r13 seta byte ptr [rsp + 120] # 1-byte Folded Spill @@ -37329,16 +38633,16 @@ comparison_greater_arr_scalar_avx2: # @comparison_greater_arr_scalar_avx2 add rsi, 256 add r11, 4 add qword ptr [rsp + 136], -1 # 8-byte Folded Spill - jne .LBB7_139 -# %bb.140: + jne .LBB7_146 +# %bb.147: mov r14, r11 mov r10, qword ptr [rsp + 248] # 8-byte Reload mov r15, qword ptr [rsp + 144] # 8-byte Reload shl r15, 5 cmp r15, r10 - jl .LBB7_142 - jmp .LBB7_192 -.LBB7_79: + jl .LBB7_149 + jmp .LBB7_191 +.LBB7_84: movzx r13d, word ptr [rdx] lea r15, [r10 + 31] test r10, r10 @@ -37348,11 +38652,11 @@ comparison_greater_arr_scalar_avx2: # @comparison_greater_arr_scalar_avx2 cmovns eax, r9d and eax, -8 sub r9d, eax - je .LBB7_83 -# %bb.80: + je .LBB7_88 +# %bb.85: movsxd rax, r9d .p2align 4, 0x90 -.LBB7_81: # =>This Inner Loop Header: Depth=1 +.LBB7_86: # =>This Inner Loop Header: Depth=1 cmp r13w, word ptr [rsi] lea rsi, [rsi + 2] sbb edx, edx @@ -37373,20 +38677,20 @@ comparison_greater_arr_scalar_avx2: # @comparison_greater_arr_scalar_avx2 mov byte ptr [r11 + rbx], dil add rax, 1 cmp rax, 8 - jne .LBB7_81 -# %bb.82: + jne .LBB7_86 +# %bb.87: add r11, 1 -.LBB7_83: +.LBB7_88: sar r15, 5 cmp r10, 32 - jl .LBB7_84 -# %bb.85: + jl .LBB7_89 +# %bb.90: mov qword ptr [rsp + 248], r10 # 8-byte Spill mov qword ptr [rsp + 144], r15 # 8-byte Spill mov qword ptr [rsp + 136], r15 # 8-byte Spill mov qword ptr [rsp + 240], r11 # 8-byte Spill .p2align 4, 0x90 -.LBB7_86: # =>This Inner Loop Header: Depth=1 +.LBB7_91: # =>This Inner Loop Header: Depth=1 cmp word ptr [rsi], r13w seta al cmp word ptr [rsi + 2], r13w @@ -37543,16 +38847,16 @@ comparison_greater_arr_scalar_avx2: # @comparison_greater_arr_scalar_avx2 add rdx, 4 mov qword ptr [rsp + 240], rdx # 8-byte Spill add qword ptr [rsp + 136], -1 # 8-byte Folded Spill - jne .LBB7_86 -# %bb.87: + jne .LBB7_91 +# %bb.92: mov r14, qword ptr [rsp + 240] # 8-byte Reload mov r10, qword ptr [rsp + 248] # 8-byte Reload mov r15, qword ptr [rsp + 144] # 8-byte Reload shl r15, 5 cmp r15, r10 - jl .LBB7_89 - jmp .LBB7_192 -.LBB7_95: + jl .LBB7_94 + jmp .LBB7_191 +.LBB7_102: movzx r13d, word ptr [rdx] lea r15, [r10 + 31] test r10, r10 @@ -37562,11 +38866,11 @@ comparison_greater_arr_scalar_avx2: # @comparison_greater_arr_scalar_avx2 cmovns eax, r9d and eax, -8 sub r9d, eax - je .LBB7_99 -# %bb.96: + je .LBB7_106 +# %bb.103: movsxd rax, r9d .p2align 4, 0x90 -.LBB7_97: # =>This Inner Loop Header: Depth=1 +.LBB7_104: # =>This Inner Loop Header: Depth=1 cmp word ptr [rsi], r13w lea rsi, [rsi + 2] setg dl @@ -37588,20 +38892,20 @@ comparison_greater_arr_scalar_avx2: # @comparison_greater_arr_scalar_avx2 mov byte ptr [r11 + rbx], dil add rax, 1 cmp rax, 8 - jne .LBB7_97 -# %bb.98: + jne .LBB7_104 +# %bb.105: add r11, 1 -.LBB7_99: +.LBB7_106: sar r15, 5 cmp r10, 32 - jl .LBB7_100 -# %bb.101: + jl .LBB7_107 +# %bb.108: mov qword ptr [rsp + 248], r10 # 8-byte Spill mov qword ptr [rsp + 144], r15 # 8-byte Spill mov qword ptr [rsp + 136], r15 # 8-byte Spill mov qword ptr [rsp + 240], r11 # 8-byte Spill .p2align 4, 0x90 -.LBB7_102: # =>This Inner Loop Header: Depth=1 +.LBB7_109: # =>This Inner Loop Header: Depth=1 cmp word ptr [rsi], r13w setg byte ptr [rsp + 120] # 1-byte Folded Spill cmp word ptr [rsi + 2], r13w @@ -37757,16 +39061,16 @@ comparison_greater_arr_scalar_avx2: # @comparison_greater_arr_scalar_avx2 add rdx, 4 mov qword ptr [rsp + 240], rdx # 8-byte Spill add qword ptr [rsp + 136], -1 # 8-byte Folded Spill - jne .LBB7_102 -# %bb.103: + jne .LBB7_109 +# %bb.110: mov r14, qword ptr [rsp + 240] # 8-byte Reload mov r10, qword ptr [rsp + 248] # 8-byte Reload mov r15, qword ptr [rsp + 144] # 8-byte Reload shl r15, 5 cmp r15, r10 - jl .LBB7_105 - jmp .LBB7_192 -.LBB7_148: + jl .LBB7_112 + jmp .LBB7_191 +.LBB7_155: mov r13, qword ptr [rdx] lea r15, [r10 + 31] test r10, r10 @@ -37776,11 +39080,11 @@ comparison_greater_arr_scalar_avx2: # @comparison_greater_arr_scalar_avx2 cmovns eax, r9d and eax, -8 sub r9d, eax - je .LBB7_152 -# %bb.149: + je .LBB7_159 +# %bb.156: movsxd rax, r9d .p2align 4, 0x90 -.LBB7_150: # =>This Inner Loop Header: Depth=1 +.LBB7_157: # =>This Inner Loop Header: Depth=1 cmp qword ptr [rsi], r13 lea rsi, [rsi + 8] setg dl @@ -37802,20 +39106,20 @@ comparison_greater_arr_scalar_avx2: # @comparison_greater_arr_scalar_avx2 mov byte ptr [r11 + rbx], dil add rax, 1 cmp rax, 8 - jne .LBB7_150 -# %bb.151: + jne .LBB7_157 +# %bb.158: add r11, 1 -.LBB7_152: +.LBB7_159: sar r15, 5 cmp r10, 32 - jl .LBB7_153 -# %bb.154: + jl .LBB7_160 +# %bb.161: mov qword ptr [rsp + 248], r10 # 8-byte Spill mov qword ptr [rsp + 144], r15 # 8-byte Spill mov qword ptr [rsp + 136], r15 # 8-byte Spill mov qword ptr [rsp + 240], r11 # 8-byte Spill .p2align 4, 0x90 -.LBB7_155: # =>This Inner Loop Header: Depth=1 +.LBB7_162: # =>This Inner Loop Header: Depth=1 cmp qword ptr [rsi], r13 setg byte ptr [rsp + 120] # 1-byte Folded Spill cmp qword ptr [rsi + 8], r13 @@ -37971,33 +39275,35 @@ comparison_greater_arr_scalar_avx2: # @comparison_greater_arr_scalar_avx2 add rdx, 4 mov qword ptr [rsp + 240], rdx # 8-byte Spill add qword ptr [rsp + 136], -1 # 8-byte Folded Spill - jne .LBB7_155 -# %bb.156: + jne .LBB7_162 +# %bb.163: mov r14, qword ptr [rsp + 240] # 8-byte Reload mov r10, qword ptr [rsp + 248] # 8-byte Reload mov r15, qword ptr [rsp + 144] # 8-byte Reload shl r15, 5 cmp r15, r10 - jl .LBB7_158 - jmp .LBB7_192 -.LBB7_164: - lea r15, [r10 + 31] + jl .LBB7_165 + jmp .LBB7_191 +.LBB7_171: + lea r14, [r10 + 31] test r10, r10 - cmovns r15, r10 + cmovns r14, r10 lea eax, [r9 + 7] test r9d, r9d cmovns eax, r9d and eax, -8 vmovss xmm0, dword ptr [rdx] # xmm0 = mem[0],zero,zero,zero sub r9d, eax - je .LBB7_168 -# %bb.165: + je .LBB7_175 +# %bb.172: movsxd rax, r9d .p2align 4, 0x90 -.LBB7_166: # =>This Inner Loop Header: Depth=1 - vucomiss xmm0, dword ptr [rsi] - lea rsi, [rsi + 4] - sbb edx, edx +.LBB7_173: # =>This Inner Loop Header: Depth=1 + vmovss xmm1, dword ptr [rsi] # xmm1 = mem[0],zero,zero,zero + add rsi, 4 + vucomiss xmm1, xmm0 + seta dl + neg dl lea rdi, [rax + 7] test rax, rax cmovns rdi, rax @@ -38015,183 +39321,220 @@ comparison_greater_arr_scalar_avx2: # @comparison_greater_arr_scalar_avx2 mov byte ptr [r11 + rdi], bl add rax, 1 cmp rax, 8 - jne .LBB7_166 -# %bb.167: + jne .LBB7_173 +# %bb.174: add r11, 1 -.LBB7_168: - sar r15, 5 +.LBB7_175: + sar r14, 5 cmp r10, 32 - jl .LBB7_169 -# %bb.170: + jl .LBB7_179 +# %bb.176: mov qword ptr [rsp + 248], r10 # 8-byte Spill - mov qword ptr [rsp + 136], r15 # 8-byte Spill - mov qword ptr [rsp + 120], r15 # 8-byte Spill + mov qword ptr [rsp + 136], r14 # 8-byte Spill + mov qword ptr [rsp + 120], r14 # 8-byte Spill mov qword ptr [rsp + 240], r11 # 8-byte Spill .p2align 4, 0x90 -.LBB7_171: # =>This Inner Loop Header: Depth=1 - vucomiss xmm0, dword ptr [rsi] - setb byte ptr [rsp + 128] # 1-byte Folded Spill - vucomiss xmm0, dword ptr [rsi + 4] - setb r9b - vucomiss xmm0, dword ptr [rsi + 8] - setb r14b - vucomiss xmm0, dword ptr [rsi + 12] - setb r13b - vucomiss xmm0, dword ptr [rsi + 16] - setb byte ptr [rsp + 88] # 1-byte Folded Spill - vucomiss xmm0, dword ptr [rsi + 20] - setb byte ptr [rsp + 48] # 1-byte Folded Spill - vucomiss xmm0, dword ptr [rsi + 24] - setb al - vucomiss xmm0, dword ptr [rsi + 28] - setb bl - vucomiss xmm0, dword ptr [rsi + 32] - setb byte ptr [rsp + 112] # 1-byte Folded Spill - vucomiss xmm0, dword ptr [rsi + 36] - setb dl - vucomiss xmm0, dword ptr [rsi + 40] - setb dil - vucomiss xmm0, dword ptr [rsi + 44] - setb r10b - vucomiss xmm0, dword ptr [rsi + 48] - setb r11b - vucomiss xmm0, dword ptr [rsi + 52] - setb r12b - vucomiss xmm0, dword ptr [rsi + 56] - setb byte ptr [rsp + 72] # 1-byte Folded Spill - vucomiss xmm0, dword ptr [rsi + 60] - setb cl - vucomiss xmm0, dword ptr [rsi + 64] - setb byte ptr [rsp + 64] # 1-byte Folded Spill - vucomiss xmm0, dword ptr [rsi + 68] - setb byte ptr [rsp + 104] # 1-byte Folded Spill - vucomiss xmm0, dword ptr [rsi + 72] - setb byte ptr [rsp + 80] # 1-byte Folded Spill - vucomiss xmm0, dword ptr [rsi + 76] - setb byte ptr [rsp + 96] # 1-byte Folded Spill - vucomiss xmm0, dword ptr [rsi + 80] - setb byte ptr [rsp + 40] # 1-byte Folded Spill - vucomiss xmm0, dword ptr [rsi + 84] - setb byte ptr [rsp + 56] # 1-byte Folded Spill - vucomiss xmm0, dword ptr [rsi + 88] - setb byte ptr [rsp + 24] # 1-byte Folded Spill - vucomiss xmm0, dword ptr [rsi + 92] - setb r15b - vucomiss xmm0, dword ptr [rsi + 96] - setb byte ptr [rsp + 320] # 1-byte Folded Spill - vucomiss xmm0, dword ptr [rsi + 100] - setb byte ptr [rsp + 32] # 1-byte Folded Spill - vucomiss xmm0, dword ptr [rsi + 104] - setb byte ptr [rsp + 16] # 1-byte Folded Spill - vucomiss xmm0, dword ptr [rsi + 108] - setb byte ptr [rsp + 8] # 1-byte Folded Spill - vucomiss xmm0, dword ptr [rsi + 112] - setb byte ptr [rsp + 288] # 1-byte Folded Spill - vucomiss xmm0, dword ptr [rsi + 116] - setb byte ptr [rsp + 256] # 1-byte Folded Spill - vucomiss xmm0, dword ptr [rsi + 120] - setb byte ptr [rsp + 4] # 1-byte Folded Spill - vucomiss xmm0, dword ptr [rsi + 124] - setb r8b - add r9b, r9b - add r9b, byte ptr [rsp + 128] # 1-byte Folded Reload - shl al, 6 - shl bl, 7 +.LBB7_177: # =>This Inner Loop Header: Depth=1 + vmovss xmm1, dword ptr [rsi] # xmm1 = mem[0],zero,zero,zero + vmovss xmm2, dword ptr [rsi + 4] # xmm2 = mem[0],zero,zero,zero + vucomiss xmm1, xmm0 + seta byte ptr [rsp + 288] # 1-byte Folded Spill + vucomiss xmm2, xmm0 + seta bl + vmovss xmm1, dword ptr [rsi + 8] # xmm1 = mem[0],zero,zero,zero + vucomiss xmm1, xmm0 + vmovss xmm1, dword ptr [rsi + 12] # xmm1 = mem[0],zero,zero,zero + seta r13b + vucomiss xmm1, xmm0 + seta r12b + vmovss xmm1, dword ptr [rsi + 16] # xmm1 = mem[0],zero,zero,zero + vucomiss xmm1, xmm0 + vmovss xmm1, dword ptr [rsi + 20] # xmm1 = mem[0],zero,zero,zero + seta byte ptr [rsp + 40] # 1-byte Folded Spill + vucomiss xmm1, xmm0 + seta byte ptr [rsp + 56] # 1-byte Folded Spill + vmovss xmm1, dword ptr [rsi + 24] # xmm1 = mem[0],zero,zero,zero + vucomiss xmm1, xmm0 + vmovss xmm1, dword ptr [rsi + 28] # xmm1 = mem[0],zero,zero,zero + seta byte ptr [rsp + 48] # 1-byte Folded Spill + vucomiss xmm1, xmm0 + seta byte ptr [rsp + 24] # 1-byte Folded Spill + vmovss xmm1, dword ptr [rsi + 32] # xmm1 = mem[0],zero,zero,zero + vucomiss xmm1, xmm0 + vmovss xmm1, dword ptr [rsi + 36] # xmm1 = mem[0],zero,zero,zero + seta byte ptr [rsp + 256] # 1-byte Folded Spill + vucomiss xmm1, xmm0 + seta al + vmovss xmm1, dword ptr [rsi + 40] # xmm1 = mem[0],zero,zero,zero + vucomiss xmm1, xmm0 + vmovss xmm1, dword ptr [rsi + 44] # xmm1 = mem[0],zero,zero,zero + seta byte ptr [rsp + 16] # 1-byte Folded Spill + vucomiss xmm1, xmm0 + seta byte ptr [rsp + 320] # 1-byte Folded Spill + vmovss xmm1, dword ptr [rsi + 48] # xmm1 = mem[0],zero,zero,zero + vmovss xmm3, dword ptr [rsi + 52] # xmm3 = mem[0],zero,zero,zero + vucomiss xmm1, xmm0 + vmovss xmm5, dword ptr [rsi + 56] # xmm5 = mem[0],zero,zero,zero + vmovss xmm6, dword ptr [rsi + 60] # xmm6 = mem[0],zero,zero,zero + seta byte ptr [rsp + 96] # 1-byte Folded Spill + vmovss xmm8, dword ptr [rsi + 64] # xmm8 = mem[0],zero,zero,zero + vmovss xmm9, dword ptr [rsi + 68] # xmm9 = mem[0],zero,zero,zero + vucomiss xmm3, xmm0 + vmovss xmm10, dword ptr [rsi + 72] # xmm10 = mem[0],zero,zero,zero + vmovss xmm11, dword ptr [rsi + 76] # xmm11 = mem[0],zero,zero,zero + seta byte ptr [rsp + 72] # 1-byte Folded Spill + vmovss xmm12, dword ptr [rsi + 80] # xmm12 = mem[0],zero,zero,zero + vmovss xmm13, dword ptr [rsi + 84] # xmm13 = mem[0],zero,zero,zero + vucomiss xmm5, xmm0 + vmovss xmm14, dword ptr [rsi + 88] # xmm14 = mem[0],zero,zero,zero + vmovss xmm2, dword ptr [rsi + 92] # xmm2 = mem[0],zero,zero,zero + seta byte ptr [rsp + 104] # 1-byte Folded Spill + vmovss xmm3, dword ptr [rsi + 96] # xmm3 = mem[0],zero,zero,zero + vmovss xmm4, dword ptr [rsi + 100] # xmm4 = mem[0],zero,zero,zero + vucomiss xmm6, xmm0 + vmovss xmm6, dword ptr [rsi + 104] # xmm6 = mem[0],zero,zero,zero + vmovss xmm7, dword ptr [rsi + 108] # xmm7 = mem[0],zero,zero,zero + seta r11b + vmovss xmm1, dword ptr [rsi + 112] # xmm1 = mem[0],zero,zero,zero + vmovss xmm5, dword ptr [rsi + 116] # xmm5 = mem[0],zero,zero,zero + vucomiss xmm8, xmm0 + seta byte ptr [rsp + 128] # 1-byte Folded Spill + vucomiss xmm9, xmm0 + seta cl + vucomiss xmm10, xmm0 + seta dil + vucomiss xmm11, xmm0 + seta r8b + vucomiss xmm12, xmm0 + seta r10b + vucomiss xmm13, xmm0 + seta r14b + vucomiss xmm14, xmm0 + seta byte ptr [rsp + 112] # 1-byte Folded Spill + vucomiss xmm2, xmm0 + seta r9b + vucomiss xmm3, xmm0 + seta byte ptr [rsp + 88] # 1-byte Folded Spill + vucomiss xmm4, xmm0 + seta r15b + vucomiss xmm6, xmm0 + seta byte ptr [rsp + 80] # 1-byte Folded Spill + vucomiss xmm7, xmm0 + seta byte ptr [rsp + 64] # 1-byte Folded Spill + vucomiss xmm1, xmm0 + seta byte ptr [rsp + 32] # 1-byte Folded Spill + vucomiss xmm5, xmm0 + vmovss xmm1, dword ptr [rsi + 120] # xmm1 = mem[0],zero,zero,zero + seta byte ptr [rsp + 8] # 1-byte Folded Spill + vucomiss xmm1, xmm0 + seta byte ptr [rsp + 4] # 1-byte Folded Spill + vmovss xmm1, dword ptr [rsi + 124] # xmm1 = mem[0],zero,zero,zero + sub rsi, -128 + vucomiss xmm1, xmm0 + seta dl + add bl, bl + add bl, byte ptr [rsp + 288] # 1-byte Folded Reload + shl r13b, 2 + or r13b, bl + shl r12b, 3 + or r12b, r13b + movzx ebx, byte ptr [rsp + 40] # 1-byte Folded Reload + shl bl, 4 + or bl, r12b + mov r12d, ebx + movzx ebx, byte ptr [rsp + 56] # 1-byte Folded Reload + shl bl, 5 + or bl, r12b + movzx r12d, byte ptr [rsp + 48] # 1-byte Folded Reload + shl r12b, 6 + movzx r13d, byte ptr [rsp + 24] # 1-byte Folded Reload + shl r13b, 7 + or r13b, r12b + add al, al + add al, byte ptr [rsp + 256] # 1-byte Folded Reload + movzx r12d, byte ptr [rsp + 16] # 1-byte Folded Reload + shl r12b, 2 + or r12b, al + mov eax, r12d + movzx r12d, byte ptr [rsp + 320] # 1-byte Folded Reload + shl r12b, 3 + or r12b, al + movzx eax, byte ptr [rsp + 96] # 1-byte Folded Reload + shl al, 4 + or al, r12b + or r13b, bl + movzx ebx, byte ptr [rsp + 72] # 1-byte Folded Reload + shl bl, 5 or bl, al - shl r14b, 2 - or r14b, r9b - add dl, dl - add dl, byte ptr [rsp + 112] # 1-byte Folded Reload - shl r13b, 3 - or r13b, r14b - shl dil, 2 - or dil, dl - movzx edx, byte ptr [rsp + 88] # 1-byte Folded Reload - shl dl, 4 - or dl, r13b - mov r9d, edx - shl r10b, 3 - or r10b, dil - movzx edx, byte ptr [rsp + 48] # 1-byte Folded Reload - shl dl, 5 - or dl, r9b - shl r11b, 4 - or r11b, r10b - shl r12b, 5 - or r12b, r11b - movzx edi, byte ptr [rsp + 72] # 1-byte Folded Reload - shl dil, 6 - shl cl, 7 - or cl, dil - or bl, dl - or cl, r12b movzx eax, byte ptr [rsp + 104] # 1-byte Folded Reload - add al, al - add al, byte ptr [rsp + 64] # 1-byte Folded Reload - movzx edx, byte ptr [rsp + 80] # 1-byte Folded Reload - shl dl, 2 - or dl, al - mov edi, edx - movzx edx, byte ptr [rsp + 96] # 1-byte Folded Reload - shl dl, 3 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 40] # 1-byte Folded Reload - shl dl, 4 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 56] # 1-byte Folded Reload - shl dl, 5 - or dl, dil - mov edi, edx - mov rdx, qword ptr [rsp + 240] # 8-byte Reload - mov byte ptr [rdx], bl - movzx ebx, byte ptr [rsp + 24] # 1-byte Folded Reload - shl bl, 6 - shl r15b, 7 - or r15b, bl - mov byte ptr [rdx + 1], cl - or r15b, dil - movzx ecx, byte ptr [rsp + 32] # 1-byte Folded Reload + shl al, 6 + shl r11b, 7 + or r11b, al add cl, cl - add cl, byte ptr [rsp + 320] # 1-byte Folded Reload - mov ebx, ecx - movzx ecx, byte ptr [rsp + 16] # 1-byte Folded Reload + add cl, byte ptr [rsp + 128] # 1-byte Folded Reload + shl dil, 2 + or dil, cl + shl r8b, 3 + or r8b, dil + shl r10b, 4 + or r10b, r8b + shl r14b, 5 + or r14b, r10b + or r11b, bl + movzx eax, byte ptr [rsp + 112] # 1-byte Folded Reload + shl al, 6 + shl r9b, 7 + or r9b, al + mov rax, qword ptr [rsp + 240] # 8-byte Reload + mov byte ptr [rax], r13b + or r9b, r14b + add r15b, r15b + add r15b, byte ptr [rsp + 88] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 80] # 1-byte Folded Reload shl cl, 2 - or cl, bl + or cl, r15b mov ebx, ecx - movzx ecx, byte ptr [rsp + 8] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 64] # 1-byte Folded Reload shl cl, 3 or cl, bl mov ebx, ecx - movzx ecx, byte ptr [rsp + 288] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 32] # 1-byte Folded Reload shl cl, 4 or cl, bl mov ebx, ecx - movzx ecx, byte ptr [rsp + 256] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 8] # 1-byte Folded Reload shl cl, 5 or cl, bl + mov byte ptr [rax + 1], r11b movzx ebx, byte ptr [rsp + 4] # 1-byte Folded Reload shl bl, 6 - shl r8b, 7 - or r8b, bl - or r8b, cl - mov byte ptr [rdx + 2], r15b - mov byte ptr [rdx + 3], r8b - add rsi, 128 - add rdx, 4 - mov qword ptr [rsp + 240], rdx # 8-byte Spill + shl dl, 7 + or dl, bl + mov byte ptr [rax + 2], r9b + or dl, cl + mov byte ptr [rax + 3], dl + add rax, 4 + mov qword ptr [rsp + 240], rax # 8-byte Spill add qword ptr [rsp + 120], -1 # 8-byte Folded Spill - jne .LBB7_171 -# %bb.172: - mov r14, qword ptr [rsp + 240] # 8-byte Reload + jne .LBB7_177 +# %bb.178: + mov r11, qword ptr [rsp + 240] # 8-byte Reload mov r10, qword ptr [rsp + 248] # 8-byte Reload - mov r15, qword ptr [rsp + 136] # 8-byte Reload - shl r15, 5 - cmp r15, r10 - jl .LBB7_174 - jmp .LBB7_192 -.LBB7_37: + mov r14, qword ptr [rsp + 136] # 8-byte Reload +.LBB7_179: + shl r14, 5 + cmp r14, r10 + jge .LBB7_191 +# %bb.180: + mov r8, r10 + sub r8, r14 + not r14 + add r14, r10 + jne .LBB7_184 +# %bb.181: + xor r10d, r10d + jmp .LBB7_182 +.LBB7_42: mov r14b, byte ptr [rdx] lea r15, [r10 + 31] test r10, r10 @@ -38201,11 +39544,11 @@ comparison_greater_arr_scalar_avx2: # @comparison_greater_arr_scalar_avx2 cmovns eax, r9d and eax, -8 sub r9d, eax - je .LBB7_41 -# %bb.38: + je .LBB7_46 +# %bb.43: movsxd rax, r9d .p2align 4, 0x90 -.LBB7_39: # =>This Inner Loop Header: Depth=1 +.LBB7_44: # =>This Inner Loop Header: Depth=1 cmp r14b, byte ptr [rsi] lea rsi, [rsi + 1] sbb edx, edx @@ -38226,39 +39569,39 @@ comparison_greater_arr_scalar_avx2: # @comparison_greater_arr_scalar_avx2 mov byte ptr [r11 + rdi], bl add rax, 1 cmp rax, 8 - jne .LBB7_39 -# %bb.40: + jne .LBB7_44 +# %bb.45: add r11, 1 -.LBB7_41: +.LBB7_46: sar r15, 5 cmp r10, 32 - jl .LBB7_42 -# %bb.43: + jl .LBB7_47 +# %bb.48: cmp r15, 32 mov dword ptr [rsp + 4], r14d # 4-byte Spill mov qword ptr [rsp + 248], r10 # 8-byte Spill mov qword ptr [rsp + 376], r15 # 8-byte Spill - jb .LBB7_44 -# %bb.45: + jb .LBB7_49 +# %bb.50: mov rax, r15 shl rax, 5 add rax, rsi cmp r11, rax - jae .LBB7_47 -# %bb.46: + jae .LBB7_52 +# %bb.51: lea rax, [r11 + 4*r15] cmp rsi, rax - jae .LBB7_47 -.LBB7_44: + jae .LBB7_52 +.LBB7_49: xor eax, eax mov qword ptr [rsp + 360], rax # 8-byte Spill mov r12, rsi mov qword ptr [rsp + 352], r11 # 8-byte Spill -.LBB7_50: +.LBB7_55: sub r15, qword ptr [rsp + 360] # 8-byte Folded Reload mov qword ptr [rsp + 120], r15 # 8-byte Spill .p2align 4, 0x90 -.LBB7_51: # =>This Inner Loop Header: Depth=1 +.LBB7_56: # =>This Inner Loop Header: Depth=1 mov rcx, r12 cmp byte ptr [r12], r14b seta byte ptr [rsp + 320] # 1-byte Folded Spill @@ -38421,12 +39764,12 @@ comparison_greater_arr_scalar_avx2: # @comparison_greater_arr_scalar_avx2 add rsi, 4 mov qword ptr [rsp + 352], rsi # 8-byte Spill add qword ptr [rsp + 120], -1 # 8-byte Folded Spill - jne .LBB7_51 -# %bb.52: + jne .LBB7_56 +# %bb.57: mov r10, qword ptr [rsp + 248] # 8-byte Reload mov r15, qword ptr [rsp + 376] # 8-byte Reload - jmp .LBB7_53 -.LBB7_122: + jmp .LBB7_58 +.LBB7_129: mov r13d, dword ptr [rdx] lea r15, [r10 + 31] test r10, r10 @@ -38436,11 +39779,11 @@ comparison_greater_arr_scalar_avx2: # @comparison_greater_arr_scalar_avx2 cmovns eax, r9d and eax, -8 sub r9d, eax - je .LBB7_126 -# %bb.123: + je .LBB7_133 +# %bb.130: movsxd rax, r9d .p2align 4, 0x90 -.LBB7_124: # =>This Inner Loop Header: Depth=1 +.LBB7_131: # =>This Inner Loop Header: Depth=1 cmp dword ptr [rsi], r13d lea rsi, [rsi + 4] setg dl @@ -38462,19 +39805,19 @@ comparison_greater_arr_scalar_avx2: # @comparison_greater_arr_scalar_avx2 mov byte ptr [r11 + rbx], dil add rax, 1 cmp rax, 8 - jne .LBB7_124 -# %bb.125: + jne .LBB7_131 +# %bb.132: add r11, 1 -.LBB7_126: +.LBB7_133: sar r15, 5 cmp r10, 32 - jl .LBB7_127 -# %bb.128: + jl .LBB7_134 +# %bb.135: mov qword ptr [rsp + 248], r10 # 8-byte Spill mov qword ptr [rsp + 144], r15 # 8-byte Spill mov qword ptr [rsp + 136], r15 # 8-byte Spill .p2align 4, 0x90 -.LBB7_129: # =>This Inner Loop Header: Depth=1 +.LBB7_136: # =>This Inner Loop Header: Depth=1 mov qword ptr [rsp + 240], r11 # 8-byte Spill cmp dword ptr [rsi], r13d setg byte ptr [rsp + 120] # 1-byte Folded Spill @@ -38629,166 +39972,240 @@ comparison_greater_arr_scalar_avx2: # @comparison_greater_arr_scalar_avx2 add rsi, 128 add r11, 4 add qword ptr [rsp + 136], -1 # 8-byte Folded Spill - jne .LBB7_129 -# %bb.130: + jne .LBB7_136 +# %bb.137: mov r14, r11 mov r10, qword ptr [rsp + 248] # 8-byte Reload mov r15, qword ptr [rsp + 144] # 8-byte Reload shl r15, 5 cmp r15, r10 - jl .LBB7_132 - jmp .LBB7_192 + jl .LBB7_139 + jmp .LBB7_191 .LBB7_18: mov r14, r11 shl r15, 5 cmp r15, r10 - jge .LBB7_192 -.LBB7_116: - mov r8, r10 - sub r8, r15 - not r15 - add r15, r10 - jne .LBB7_120 -# %bb.117: - xor r11d, r11d - jmp .LBB7_118 -.LBB7_36: - mov r14, r11 - shl r15, 5 - cmp r15, r10 - jge .LBB7_192 -.LBB7_184: + jge .LBB7_191 +.LBB7_123: mov r8, r10 sub r8, r15 not r15 add r15, r10 - jne .LBB7_186 -# %bb.185: + jne .LBB7_127 +# %bb.124: xor r11d, r11d - jmp .LBB7_188 + jmp .LBB7_125 .LBB7_9: mov qword ptr [rsp + 352], r11 # 8-byte Spill mov r12, rsi -.LBB7_71: +.LBB7_76: shl r13, 5 cmp r13, r15 - jge .LBB7_192 -# %bb.72: + jge .LBB7_191 +# %bb.77: mov r8, r15 sub r8, r13 not r13 add r13, r15 - jne .LBB7_74 -# %bb.73: + jne .LBB7_79 +# %bb.78: xor esi, esi - jmp .LBB7_77 + jmp .LBB7_82 .LBB7_27: mov r14, r11 shl r15, 5 cmp r15, r10 - jge .LBB7_192 -.LBB7_142: + jge .LBB7_191 +.LBB7_149: mov r8, r10 sub r8, r15 not r15 add r15, r10 - jne .LBB7_146 -# %bb.143: + jne .LBB7_153 +# %bb.150: xor r11d, r11d - jmp .LBB7_144 -.LBB7_84: - mov r14, r11 - shl r15, 5 - cmp r15, r10 - jge .LBB7_192 + jmp .LBB7_151 .LBB7_89: - mov r8, r10 - sub r8, r15 - not r15 - add r15, r10 - jne .LBB7_93 -# %bb.90: - xor r11d, r11d - jmp .LBB7_91 -.LBB7_100: mov r14, r11 shl r15, 5 cmp r15, r10 - jge .LBB7_192 -.LBB7_105: + jge .LBB7_191 +.LBB7_94: mov r8, r10 sub r8, r15 not r15 add r15, r10 - jne .LBB7_110 -# %bb.106: + jne .LBB7_100 +# %bb.95: xor r11d, r11d - jmp .LBB7_107 -.LBB7_153: + jmp .LBB7_96 +.LBB7_107: mov r14, r11 shl r15, 5 cmp r15, r10 - jge .LBB7_192 -.LBB7_158: + jge .LBB7_191 +.LBB7_112: mov r8, r10 sub r8, r15 not r15 add r15, r10 - jne .LBB7_162 -# %bb.159: + jne .LBB7_117 +# %bb.113: xor r11d, r11d - jmp .LBB7_160 -.LBB7_169: + jmp .LBB7_114 +.LBB7_160: mov r14, r11 shl r15, 5 cmp r15, r10 - jge .LBB7_192 -.LBB7_174: + jge .LBB7_191 +.LBB7_165: mov r8, r10 sub r8, r15 not r15 add r15, r10 - jne .LBB7_178 -# %bb.175: + jne .LBB7_169 +# %bb.166: xor r11d, r11d - jmp .LBB7_176 -.LBB7_42: + jmp .LBB7_167 +.LBB7_47: mov qword ptr [rsp + 352], r11 # 8-byte Spill mov r12, rsi -.LBB7_53: +.LBB7_58: shl r15, 5 cmp r15, r10 - jge .LBB7_192 -# %bb.54: + jge .LBB7_191 +# %bb.59: mov r8, r10 sub r8, r15 not r15 add r15, r10 - jne .LBB7_56 -# %bb.55: + jne .LBB7_61 +# %bb.60: xor eax, eax - jmp .LBB7_59 -.LBB7_127: + jmp .LBB7_64 +.LBB7_134: mov r14, r11 shl r15, 5 cmp r15, r10 - jge .LBB7_192 -.LBB7_132: + jge .LBB7_191 +.LBB7_139: mov r8, r10 sub r8, r15 not r15 add r15, r10 - jne .LBB7_136 -# %bb.133: + jne .LBB7_143 +# %bb.140: xor r11d, r11d - jmp .LBB7_134 -.LBB7_120: + jmp .LBB7_141 +.LBB7_186: + mov r9, r8 + and r9, -2 + xor r10d, r10d + mov r14, r11 + .p2align 4, 0x90 +.LBB7_187: # =>This Inner Loop Header: Depth=1 + vmovsd xmm1, qword ptr [rsi] # xmm1 = mem[0],zero + vucomisd xmm1, xmm0 + seta al + neg al + mov rdi, r10 + shr rdi, 3 + mov ecx, r10d + and cl, 6 + mov bl, 1 + shl bl, cl + movzx edx, byte ptr [r14 + rdi] + xor al, dl + and bl, al + xor bl, dl + mov byte ptr [r14 + rdi], bl + add r10, 2 + vmovsd xmm1, qword ptr [rsi + 8] # xmm1 = mem[0],zero + add rsi, 16 + vucomisd xmm1, xmm0 + seta al + neg al + xor al, bl + or cl, 1 + mov dl, 1 + shl dl, cl + and dl, al + xor dl, bl + mov byte ptr [r14 + rdi], dl + cmp r9, r10 + jne .LBB7_187 +.LBB7_188: + test r8b, 1 + je .LBB7_191 +# %bb.189: + vmovsd xmm1, qword ptr [rsi] # xmm1 = mem[0],zero + vucomisd xmm1, xmm0 + jmp .LBB7_190 +.LBB7_184: + mov r9, r8 + and r9, -2 + xor r10d, r10d + mov r14, r11 + .p2align 4, 0x90 +.LBB7_185: # =>This Inner Loop Header: Depth=1 + vmovss xmm1, dword ptr [rsi] # xmm1 = mem[0],zero,zero,zero + vucomiss xmm1, xmm0 + seta al + neg al + mov rdi, r10 + shr rdi, 3 + mov ecx, r10d + and cl, 6 + mov bl, 1 + shl bl, cl + movzx edx, byte ptr [r14 + rdi] + xor al, dl + and bl, al + xor bl, dl + mov byte ptr [r14 + rdi], bl + add r10, 2 + vmovss xmm1, dword ptr [rsi + 4] # xmm1 = mem[0],zero,zero,zero + add rsi, 8 + vucomiss xmm1, xmm0 + seta al + neg al + xor al, bl + or cl, 1 + mov dl, 1 + shl dl, cl + and dl, al + xor dl, bl + mov byte ptr [r14 + rdi], dl + cmp r9, r10 + jne .LBB7_185 +.LBB7_182: + test r8b, 1 + je .LBB7_191 +# %bb.183: + vmovss xmm1, dword ptr [rsi] # xmm1 = mem[0],zero,zero,zero + vucomiss xmm1, xmm0 +.LBB7_190: + seta al + neg al + mov rdx, r10 + shr rdx, 3 + mov sil, byte ptr [r11 + rdx] + and r10b, 7 + mov bl, 1 + mov ecx, r10d + shl bl, cl + xor al, sil + and bl, al + xor bl, sil + mov byte ptr [r11 + rdx], bl + jmp .LBB7_191 +.LBB7_127: mov r9, r8 and r9, -2 xor r11d, r11d mov r15, r14 .p2align 4, 0x90 -.LBB7_121: # =>This Inner Loop Header: Depth=1 +.LBB7_128: # =>This Inner Loop Header: Depth=1 cmp r13d, dword ptr [rsi] sbb edi, edi mov rdx, r11 @@ -38814,59 +40231,20 @@ comparison_greater_arr_scalar_avx2: # @comparison_greater_arr_scalar_avx2 xor bl, al mov byte ptr [r15 + rdx], bl cmp r9, r11 - jne .LBB7_121 -.LBB7_118: + jne .LBB7_128 +.LBB7_125: test r8b, 1 - je .LBB7_192 -# %bb.119: + je .LBB7_191 +# %bb.126: cmp r13d, dword ptr [rsi] - jmp .LBB7_190 -.LBB7_186: - mov r10, r8 - and r10, -2 - xor r11d, r11d - mov r15, r14 - .p2align 4, 0x90 -.LBB7_187: # =>This Inner Loop Header: Depth=1 - vucomisd xmm0, qword ptr [rsi] - sbb eax, eax - mov rdi, r11 - shr rdi, 3 - movzx r9d, byte ptr [r15 + rdi] - xor al, r9b - mov ecx, r11d - and cl, 6 - mov bl, 1 - shl bl, cl - and bl, al - xor bl, r9b - mov byte ptr [r15 + rdi], bl - add r11, 2 - vucomisd xmm0, qword ptr [rsi + 8] - lea rsi, [rsi + 16] - sbb eax, eax - xor al, bl - or cl, 1 - mov dl, 1 - shl dl, cl - and dl, al - xor dl, bl - mov byte ptr [r15 + rdi], dl - cmp r10, r11 - jne .LBB7_187 -.LBB7_188: - test r8b, 1 - je .LBB7_192 -# %bb.189: - vucomisd xmm0, qword ptr [rsi] - jmp .LBB7_190 -.LBB7_74: + jmp .LBB7_98 +.LBB7_79: mov r10, r8 and r10, -2 xor esi, esi mov r11, qword ptr [rsp + 352] # 8-byte Reload .p2align 4, 0x90 -.LBB7_75: # =>This Inner Loop Header: Depth=1 +.LBB7_80: # =>This Inner Loop Header: Depth=1 cmp byte ptr [r12 + rsi], r14b setg bl neg bl @@ -38893,13 +40271,13 @@ comparison_greater_arr_scalar_avx2: # @comparison_greater_arr_scalar_avx2 xor al, dl mov byte ptr [r11 + rdi], al cmp r10, rsi - jne .LBB7_75 -# %bb.76: + jne .LBB7_80 +# %bb.81: add r12, rsi -.LBB7_77: +.LBB7_82: test r8b, 1 - je .LBB7_192 -# %bb.78: + je .LBB7_191 +# %bb.83: cmp byte ptr [r12], r14b setg al neg al @@ -38915,14 +40293,14 @@ comparison_greater_arr_scalar_avx2: # @comparison_greater_arr_scalar_avx2 and bl, al xor bl, dil mov byte ptr [r8 + rdx], bl - jmp .LBB7_192 -.LBB7_146: + jmp .LBB7_191 +.LBB7_153: mov r9, r8 and r9, -2 xor r11d, r11d mov r15, r14 .p2align 4, 0x90 -.LBB7_147: # =>This Inner Loop Header: Depth=1 +.LBB7_154: # =>This Inner Loop Header: Depth=1 cmp r13, qword ptr [rsi] sbb edi, edi mov rdx, r11 @@ -38948,20 +40326,20 @@ comparison_greater_arr_scalar_avx2: # @comparison_greater_arr_scalar_avx2 xor bl, al mov byte ptr [r15 + rdx], bl cmp r9, r11 - jne .LBB7_147 -.LBB7_144: + jne .LBB7_154 +.LBB7_151: test r8b, 1 - je .LBB7_192 -# %bb.145: + je .LBB7_191 +# %bb.152: cmp r13, qword ptr [rsi] - jmp .LBB7_190 -.LBB7_93: + jmp .LBB7_98 +.LBB7_100: mov r9, r8 and r9, -2 xor r11d, r11d mov r15, r14 .p2align 4, 0x90 -.LBB7_94: # =>This Inner Loop Header: Depth=1 +.LBB7_101: # =>This Inner Loop Header: Depth=1 cmp r13w, word ptr [rsi] sbb edi, edi mov rdx, r11 @@ -38987,20 +40365,31 @@ comparison_greater_arr_scalar_avx2: # @comparison_greater_arr_scalar_avx2 xor bl, al mov byte ptr [r15 + rdx], bl cmp r9, r11 - jne .LBB7_94 -.LBB7_91: + jne .LBB7_101 +.LBB7_96: test r8b, 1 - je .LBB7_192 -# %bb.92: + je .LBB7_191 +# %bb.97: cmp r13w, word ptr [rsi] - jmp .LBB7_190 -.LBB7_110: +.LBB7_98: + sbb eax, eax + mov rdx, r11 + shr rdx, 3 + mov sil, byte ptr [r14 + rdx] + and r11b, 7 + mov bl, 1 + mov ecx, r11d + shl bl, cl + xor al, sil + and bl, al + jmp .LBB7_99 +.LBB7_117: mov r10, r8 and r10, -2 xor r11d, r11d mov r15, r14 .p2align 4, 0x90 -.LBB7_111: # =>This Inner Loop Header: Depth=1 +.LBB7_118: # =>This Inner Loop Header: Depth=1 cmp word ptr [rsi], r13w setg al neg al @@ -39028,20 +40417,20 @@ comparison_greater_arr_scalar_avx2: # @comparison_greater_arr_scalar_avx2 xor dl, bl mov byte ptr [r15 + rdi], dl cmp r10, r11 - jne .LBB7_111 -.LBB7_107: + jne .LBB7_118 +.LBB7_114: test r8b, 1 - je .LBB7_192 -# %bb.108: + je .LBB7_191 +# %bb.115: cmp word ptr [rsi], r13w - jmp .LBB7_109 -.LBB7_162: + jmp .LBB7_116 +.LBB7_169: mov r10, r8 and r10, -2 xor r11d, r11d mov r15, r14 .p2align 4, 0x90 -.LBB7_163: # =>This Inner Loop Header: Depth=1 +.LBB7_170: # =>This Inner Loop Header: Depth=1 cmp qword ptr [rsi], r13 setg al neg al @@ -39069,70 +40458,20 @@ comparison_greater_arr_scalar_avx2: # @comparison_greater_arr_scalar_avx2 xor dl, bl mov byte ptr [r15 + rdi], dl cmp r10, r11 - jne .LBB7_163 -.LBB7_160: + jne .LBB7_170 +.LBB7_167: test r8b, 1 - je .LBB7_192 -# %bb.161: + je .LBB7_191 +# %bb.168: cmp qword ptr [rsi], r13 - jmp .LBB7_109 -.LBB7_178: - mov r10, r8 - and r10, -2 - xor r11d, r11d - mov r15, r14 - .p2align 4, 0x90 -.LBB7_179: # =>This Inner Loop Header: Depth=1 - vucomiss xmm0, dword ptr [rsi] - sbb eax, eax - mov rdi, r11 - shr rdi, 3 - movzx r9d, byte ptr [r15 + rdi] - xor al, r9b - mov ecx, r11d - and cl, 6 - mov bl, 1 - shl bl, cl - and bl, al - xor bl, r9b - mov byte ptr [r15 + rdi], bl - add r11, 2 - vucomiss xmm0, dword ptr [rsi + 4] - lea rsi, [rsi + 8] - sbb eax, eax - xor al, bl - or cl, 1 - mov dl, 1 - shl dl, cl - and dl, al - xor dl, bl - mov byte ptr [r15 + rdi], dl - cmp r10, r11 - jne .LBB7_179 -.LBB7_176: - test r8b, 1 - je .LBB7_192 -# %bb.177: - vucomiss xmm0, dword ptr [rsi] -.LBB7_190: - sbb eax, eax - mov rdx, r11 - shr rdx, 3 - mov sil, byte ptr [r14 + rdx] - and r11b, 7 - mov bl, 1 - mov ecx, r11d - shl bl, cl - xor al, sil - and bl, al - jmp .LBB7_191 -.LBB7_56: + jmp .LBB7_116 +.LBB7_61: mov r9, r8 and r9, -2 xor eax, eax mov r10, qword ptr [rsp + 352] # 8-byte Reload .p2align 4, 0x90 -.LBB7_57: # =>This Inner Loop Header: Depth=1 +.LBB7_62: # =>This Inner Loop Header: Depth=1 cmp r14b, byte ptr [r12 + rax] sbb esi, esi mov rdi, rax @@ -39157,13 +40496,13 @@ comparison_greater_arr_scalar_avx2: # @comparison_greater_arr_scalar_avx2 xor bl, dl mov byte ptr [r10 + rdi], bl cmp r9, rax - jne .LBB7_57 -# %bb.58: + jne .LBB7_62 +# %bb.63: add r12, rax -.LBB7_59: +.LBB7_64: test r8b, 1 - je .LBB7_192 -# %bb.60: + je .LBB7_191 +# %bb.65: cmp r14b, byte ptr [r12] sbb edx, edx mov rsi, rax @@ -39178,14 +40517,14 @@ comparison_greater_arr_scalar_avx2: # @comparison_greater_arr_scalar_avx2 and bl, dl xor bl, dil mov byte ptr [r8 + rsi], bl - jmp .LBB7_192 -.LBB7_136: + jmp .LBB7_191 +.LBB7_143: mov r10, r8 and r10, -2 xor r11d, r11d mov r15, r14 .p2align 4, 0x90 -.LBB7_137: # =>This Inner Loop Header: Depth=1 +.LBB7_144: # =>This Inner Loop Header: Depth=1 cmp dword ptr [rsi], r13d setg al neg al @@ -39213,13 +40552,13 @@ comparison_greater_arr_scalar_avx2: # @comparison_greater_arr_scalar_avx2 xor dl, bl mov byte ptr [r15 + rdi], dl cmp r10, r11 - jne .LBB7_137 -.LBB7_134: + jne .LBB7_144 +.LBB7_141: test r8b, 1 - je .LBB7_192 -# %bb.135: + je .LBB7_191 +# %bb.142: cmp dword ptr [rsi], r13d -.LBB7_109: +.LBB7_116: setg al neg al mov rdx, r11 @@ -39231,10 +40570,10 @@ comparison_greater_arr_scalar_avx2: # @comparison_greater_arr_scalar_avx2 shl bl, cl xor al, sil and bl, al -.LBB7_191: +.LBB7_99: xor bl, sil mov byte ptr [r14 + rdx], bl -.LBB7_192: +.LBB7_191: lea rsp, [rbp - 40] pop rbx pop r12 @@ -39244,7 +40583,7 @@ comparison_greater_arr_scalar_avx2: # @comparison_greater_arr_scalar_avx2 pop rbp vzeroupper ret -.LBB7_65: +.LBB7_70: and r13, -32 mov rax, r13 shl rax, 5 @@ -39259,7 +40598,7 @@ comparison_greater_arr_scalar_avx2: # @comparison_greater_arr_scalar_avx2 xor eax, eax mov qword ptr [rsp + 240], r11 # 8-byte Spill .p2align 4, 0x90 -.LBB7_66: # =>This Inner Loop Header: Depth=1 +.LBB7_71: # =>This Inner Loop Header: Depth=1 mov rbx, rax mov qword ptr [rsp + 368], rax # 8-byte Spill shl rbx, 5 @@ -41383,16 +42722,16 @@ comparison_greater_arr_scalar_avx2: # @comparison_greater_arr_scalar_avx2 add rcx, 32 mov rax, rcx cmp rcx, qword ptr [rsp + 384] # 8-byte Folded Reload - jne .LBB7_66 -# %bb.67: + jne .LBB7_71 +# %bb.72: mov r13, qword ptr [rsp + 360] # 8-byte Reload cmp r13, qword ptr [rsp + 384] # 8-byte Folded Reload mov r15, qword ptr [rsp + 248] # 8-byte Reload mov r14d, dword ptr [rsp + 4] # 4-byte Reload mov r12, qword ptr [rsp + 576] # 8-byte Reload - jne .LBB7_68 - jmp .LBB7_71 -.LBB7_47: + jne .LBB7_73 + jmp .LBB7_76 +.LBB7_52: and r15, -32 mov rax, r15 shl rax, 5 @@ -41408,7 +42747,7 @@ comparison_greater_arr_scalar_avx2: # @comparison_greater_arr_scalar_avx2 mov qword ptr [rsp + 240], r11 # 8-byte Spill vmovdqa ymm14, ymmword ptr [rsp + 576] # 32-byte Reload .p2align 4, 0x90 -.LBB7_48: # =>This Inner Loop Header: Depth=1 +.LBB7_53: # =>This Inner Loop Header: Depth=1 mov rbx, rax mov qword ptr [rsp + 368], rax # 8-byte Spill shl rbx, 5 @@ -43580,15 +44919,15 @@ comparison_greater_arr_scalar_avx2: # @comparison_greater_arr_scalar_avx2 add rcx, 32 mov rax, rcx cmp rcx, qword ptr [rsp + 360] # 8-byte Folded Reload - jne .LBB7_48 -# %bb.49: + jne .LBB7_53 +# %bb.54: mov r15, qword ptr [rsp + 376] # 8-byte Reload cmp r15, qword ptr [rsp + 360] # 8-byte Folded Reload mov r10, qword ptr [rsp + 248] # 8-byte Reload mov r14d, dword ptr [rsp + 4] # 4-byte Reload mov r12, qword ptr [rsp + 504] # 8-byte Reload - jne .LBB7_50 - jmp .LBB7_53 + jne .LBB7_55 + jmp .LBB7_58 .Lfunc_end7: .size comparison_greater_arr_scalar_avx2, .Lfunc_end7-comparison_greater_arr_scalar_avx2 # -- End function @@ -53538,20 +54877,20 @@ comparison_greater_equal_arr_scalar_avx2: # @comparison_greater_equal_arr_scalar mov r10, r8 mov r11, rcx cmp edi, 6 - jg .LBB10_13 + jg .LBB10_15 # %bb.1: cmp edi, 3 - jle .LBB10_25 -# %bb.2: + jle .LBB10_2 +# %bb.6: cmp edi, 4 - je .LBB10_48 -# %bb.3: + je .LBB10_81 +# %bb.7: cmp edi, 5 - je .LBB10_56 -# %bb.4: + je .LBB10_97 +# %bb.8: cmp edi, 6 - jne .LBB10_175 -# %bb.5: + jne .LBB10_194 +# %bb.9: mov r13d, dword ptr [rdx] lea r15, [r10 + 31] test r10, r10 @@ -53561,11 +54900,11 @@ comparison_greater_equal_arr_scalar_avx2: # @comparison_greater_equal_arr_scalar cmovns eax, r9d and eax, -8 sub r9d, eax - je .LBB10_9 -# %bb.6: + je .LBB10_13 +# %bb.10: movsxd rax, r9d .p2align 4, 0x90 -.LBB10_7: # =>This Inner Loop Header: Depth=1 +.LBB10_11: # =>This Inner Loop Header: Depth=1 cmp dword ptr [rsi], r13d lea rsi, [rsi + 4] mov edx, 0 @@ -53587,24 +54926,24 @@ comparison_greater_equal_arr_scalar_avx2: # @comparison_greater_equal_arr_scalar mov byte ptr [r11 + rbx], dil add rax, 1 cmp rax, 8 - jne .LBB10_7 -# %bb.8: + jne .LBB10_11 +# %bb.12: add r11, 1 -.LBB10_9: +.LBB10_13: sar r15, 5 cmp r10, 32 - jl .LBB10_100 -# %bb.10: + jl .LBB10_14 +# %bb.114: mov qword ptr [rsp + 280], r10 # 8-byte Spill mov qword ptr [rsp + 176], r15 # 8-byte Spill mov qword ptr [rsp + 168], r15 # 8-byte Spill mov qword ptr [rsp + 272], r11 # 8-byte Spill .p2align 4, 0x90 -.LBB10_11: # =>This Inner Loop Header: Depth=1 +.LBB10_115: # =>This Inner Loop Header: Depth=1 cmp dword ptr [rsi], r13d setae byte ptr [rsp + 152] # 1-byte Folded Spill cmp dword ptr [rsi + 4], r13d - setae dil + setae r10b cmp dword ptr [rsi + 8], r13d setae r14b cmp dword ptr [rsi + 12], r13d @@ -53620,11 +54959,11 @@ comparison_greater_equal_arr_scalar_avx2: # @comparison_greater_equal_arr_scalar cmp dword ptr [rsi + 32], r13d setae byte ptr [rsp + 112] # 1-byte Folded Spill cmp dword ptr [rsi + 36], r13d - setae dl + setae dil cmp dword ptr [rsi + 40], r13d - setae r9b + setae r8b cmp dword ptr [rsi + 44], r13d - setae r10b + setae r9b cmp dword ptr [rsi + 48], r13d setae r11b cmp dword ptr [rsi + 52], r13d @@ -53664,67 +55003,68 @@ comparison_greater_equal_arr_scalar_avx2: # @comparison_greater_equal_arr_scalar cmp dword ptr [rsi + 120], r13d setae byte ptr [rsp + 28] # 1-byte Folded Spill cmp dword ptr [rsi + 124], r13d - setae r8b - add dil, dil - add dil, byte ptr [rsp + 152] # 1-byte Folded Reload + setae dl + add r10b, r10b + add r10b, byte ptr [rsp + 152] # 1-byte Folded Reload shl al, 6 shl bl, 7 or bl, al shl r14b, 2 - or r14b, dil - add dl, dl - add dl, byte ptr [rsp + 112] # 1-byte Folded Reload + or r14b, r10b + add dil, dil + add dil, byte ptr [rsp + 112] # 1-byte Folded Reload movzx eax, byte ptr [rsp + 160] # 1-byte Folded Reload shl al, 3 or al, r14b - shl r9b, 2 - or r9b, dl - movzx edx, byte ptr [rsp + 144] # 1-byte Folded Reload - shl dl, 4 - or dl, al - mov edi, edx - shl r10b, 3 - or r10b, r9b - movzx edx, byte ptr [rsp + 96] # 1-byte Folded Reload - shl dl, 5 - or dl, dil - shl r11b, 4 - or r11b, r10b - shl r12b, 5 - or r12b, r11b - movzx edi, byte ptr [rsp + 120] # 1-byte Folded Reload - shl dil, 6 - shl cl, 7 - or cl, dil - or bl, dl - or cl, r12b - movzx edx, byte ptr [rsp + 128] # 1-byte Folded Reload - add dl, dl - add dl, byte ptr [rsp + 80] # 1-byte Folded Reload - mov edi, edx - movzx edx, byte ptr [rsp + 136] # 1-byte Folded Reload - shl dl, 2 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 72] # 1-byte Folded Reload - shl dl, 3 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 88] # 1-byte Folded Reload - shl dl, 4 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 104] # 1-byte Folded Reload - shl dl, 5 - or dl, dil - mov edi, edx - mov rdx, qword ptr [rsp + 272] # 8-byte Reload - mov byte ptr [rdx], bl + mov r10d, eax + shl r8b, 2 + or r8b, dil + movzx eax, byte ptr [rsp + 144] # 1-byte Folded Reload + shl al, 4 + or al, r10b + mov edi, eax + shl r9b, 3 + or r9b, r8b + movzx eax, byte ptr [rsp + 96] # 1-byte Folded Reload + shl al, 5 + or al, dil + shl r11b, 4 + or r11b, r9b + shl r12b, 5 + or r12b, r11b + movzx edi, byte ptr [rsp + 120] # 1-byte Folded Reload + shl dil, 6 + shl cl, 7 + or cl, dil + or bl, al + or cl, r12b + movzx eax, byte ptr [rsp + 128] # 1-byte Folded Reload + add al, al + add al, byte ptr [rsp + 80] # 1-byte Folded Reload + mov edi, eax + movzx eax, byte ptr [rsp + 136] # 1-byte Folded Reload + shl al, 2 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 72] # 1-byte Folded Reload + shl al, 3 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 88] # 1-byte Folded Reload + shl al, 4 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 104] # 1-byte Folded Reload + shl al, 5 + or al, dil + mov edi, eax + mov rax, qword ptr [rsp + 272] # 8-byte Reload + mov byte ptr [rax], bl movzx ebx, byte ptr [rsp + 64] # 1-byte Folded Reload shl bl, 6 shl r15b, 7 or r15b, bl - mov byte ptr [rdx + 1], cl + mov byte ptr [rax + 1], cl or r15b, dil movzx ecx, byte ptr [rsp + 40] # 1-byte Folded Reload add cl, cl @@ -53747,37 +55087,37 @@ comparison_greater_equal_arr_scalar_avx2: # @comparison_greater_equal_arr_scalar or cl, bl movzx ebx, byte ptr [rsp + 28] # 1-byte Folded Reload shl bl, 6 - shl r8b, 7 - or r8b, bl - or r8b, cl - mov byte ptr [rdx + 2], r15b - mov byte ptr [rdx + 3], r8b + shl dl, 7 + or dl, bl + or dl, cl + mov byte ptr [rax + 2], r15b + mov byte ptr [rax + 3], dl add rsi, 128 - add rdx, 4 - mov qword ptr [rsp + 272], rdx # 8-byte Spill + add rax, 4 + mov qword ptr [rsp + 272], rax # 8-byte Spill add qword ptr [rsp + 168], -1 # 8-byte Folded Spill - jne .LBB10_11 -# %bb.12: + jne .LBB10_115 +# %bb.116: mov r14, qword ptr [rsp + 272] # 8-byte Reload mov r10, qword ptr [rsp + 280] # 8-byte Reload mov r15, qword ptr [rsp + 176] # 8-byte Reload shl r15, 5 cmp r15, r10 - jl .LBB10_101 - jmp .LBB10_175 -.LBB10_13: + jl .LBB10_118 + jmp .LBB10_194 +.LBB10_15: cmp edi, 8 - jle .LBB10_38 -# %bb.14: + jle .LBB10_16 +# %bb.24: cmp edi, 9 - je .LBB10_64 -# %bb.15: + je .LBB10_150 +# %bb.25: cmp edi, 11 - je .LBB10_72 -# %bb.16: + je .LBB10_166 +# %bb.26: cmp edi, 12 - jne .LBB10_175 -# %bb.17: + jne .LBB10_194 +# %bb.27: lea r15, [r10 + 31] test r10, r10 cmovns r15, r10 @@ -53787,15 +55127,16 @@ comparison_greater_equal_arr_scalar_avx2: # @comparison_greater_equal_arr_scalar and eax, -8 vmovsd xmm0, qword ptr [rdx] # xmm0 = mem[0],zero sub r9d, eax - je .LBB10_21 -# %bb.18: + je .LBB10_31 +# %bb.28: movsxd rax, r9d .p2align 4, 0x90 -.LBB10_19: # =>This Inner Loop Header: Depth=1 - vucomisd xmm0, qword ptr [rsi] - setbe dl +.LBB10_29: # =>This Inner Loop Header: Depth=1 + vmovsd xmm1, qword ptr [rsi] # xmm1 = mem[0],zero add rsi, 8 - neg dl + vucomisd xmm1, xmm0 + mov edx, 0 + adc dl, -1 lea rdi, [rax + 7] test rax, rax cmovns rdi, rax @@ -53813,189 +55154,217 @@ comparison_greater_equal_arr_scalar_avx2: # @comparison_greater_equal_arr_scalar mov byte ptr [r11 + rdi], bl add rax, 1 cmp rax, 8 - jne .LBB10_19 -# %bb.20: + jne .LBB10_29 +# %bb.30: add r11, 1 -.LBB10_21: +.LBB10_31: sar r15, 5 cmp r10, 32 - jl .LBB10_103 -# %bb.22: + jl .LBB10_32 +# %bb.182: mov qword ptr [rsp + 280], r10 # 8-byte Spill mov qword ptr [rsp + 168], r15 # 8-byte Spill mov qword ptr [rsp + 152], r15 # 8-byte Spill mov qword ptr [rsp + 272], r11 # 8-byte Spill .p2align 4, 0x90 -.LBB10_23: # =>This Inner Loop Header: Depth=1 - vucomisd xmm0, qword ptr [rsi] - setbe byte ptr [rsp + 160] # 1-byte Folded Spill - vucomisd xmm0, qword ptr [rsi + 8] - setbe r9b - vucomisd xmm0, qword ptr [rsi + 16] - setbe r14b - vucomisd xmm0, qword ptr [rsi + 24] - setbe r13b - vucomisd xmm0, qword ptr [rsi + 32] - setbe byte ptr [rsp + 144] # 1-byte Folded Spill - vucomisd xmm0, qword ptr [rsi + 40] - setbe byte ptr [rsp + 96] # 1-byte Folded Spill - vucomisd xmm0, qword ptr [rsi + 48] - setbe al - vucomisd xmm0, qword ptr [rsi + 56] - setbe bl - vucomisd xmm0, qword ptr [rsi + 64] - setbe byte ptr [rsp + 120] # 1-byte Folded Spill - vucomisd xmm0, qword ptr [rsi + 72] - setbe dl - vucomisd xmm0, qword ptr [rsi + 80] - setbe dil - vucomisd xmm0, qword ptr [rsi + 88] - setbe r10b - vucomisd xmm0, qword ptr [rsi + 96] - setbe r11b - vucomisd xmm0, qword ptr [rsi + 104] - setbe r12b - vucomisd xmm0, qword ptr [rsi + 112] - setbe byte ptr [rsp + 128] # 1-byte Folded Spill - vucomisd xmm0, qword ptr [rsi + 120] - setbe cl - vucomisd xmm0, qword ptr [rsi + 128] - setbe byte ptr [rsp + 80] # 1-byte Folded Spill - vucomisd xmm0, qword ptr [rsi + 136] - setbe byte ptr [rsp + 112] # 1-byte Folded Spill - vucomisd xmm0, qword ptr [rsi + 144] - setbe byte ptr [rsp + 136] # 1-byte Folded Spill - vucomisd xmm0, qword ptr [rsi + 152] - setbe byte ptr [rsp + 72] # 1-byte Folded Spill - vucomisd xmm0, qword ptr [rsi + 160] - setbe byte ptr [rsp + 88] # 1-byte Folded Spill - vucomisd xmm0, qword ptr [rsi + 168] - setbe byte ptr [rsp + 104] # 1-byte Folded Spill - vucomisd xmm0, qword ptr [rsi + 176] - setbe byte ptr [rsp + 64] # 1-byte Folded Spill - vucomisd xmm0, qword ptr [rsi + 184] - setbe r15b - vucomisd xmm0, qword ptr [rsi + 192] - setbe byte ptr [rsp + 32] # 1-byte Folded Spill - vucomisd xmm0, qword ptr [rsi + 200] - setbe byte ptr [rsp + 40] # 1-byte Folded Spill - vucomisd xmm0, qword ptr [rsi + 208] - setbe byte ptr [rsp + 48] # 1-byte Folded Spill - vucomisd xmm0, qword ptr [rsi + 216] - setbe byte ptr [rsp + 56] # 1-byte Folded Spill - vucomisd xmm0, qword ptr [rsi + 224] - setbe byte ptr [rsp + 320] # 1-byte Folded Spill - vucomisd xmm0, qword ptr [rsi + 232] - setbe byte ptr [rsp + 288] # 1-byte Folded Spill - vucomisd xmm0, qword ptr [rsi + 240] - setbe byte ptr [rsp + 28] # 1-byte Folded Spill - vucomisd xmm0, qword ptr [rsi + 248] - setbe r8b - add r9b, r9b - add r9b, byte ptr [rsp + 160] # 1-byte Folded Reload - shl al, 6 - shl bl, 7 - or bl, al - shl r14b, 2 - or r14b, r9b +.LBB10_183: # =>This Inner Loop Header: Depth=1 + vmovsd xmm1, qword ptr [rsi] # xmm1 = mem[0],zero + vmovsd xmm2, qword ptr [rsi + 8] # xmm2 = mem[0],zero + vucomisd xmm1, xmm0 + setae byte ptr [rsp + 120] # 1-byte Folded Spill + vucomisd xmm2, xmm0 + setae dl + vmovsd xmm1, qword ptr [rsi + 16] # xmm1 = mem[0],zero + vucomisd xmm1, xmm0 + setae dil + vmovsd xmm1, qword ptr [rsi + 24] # xmm1 = mem[0],zero + vucomisd xmm1, xmm0 + setae r8b + vmovsd xmm1, qword ptr [rsi + 32] # xmm1 = mem[0],zero + vucomisd xmm1, xmm0 + setae r9b + vmovsd xmm1, qword ptr [rsi + 40] # xmm1 = mem[0],zero + vucomisd xmm1, xmm0 + setae byte ptr [rsp + 160] # 1-byte Folded Spill + vmovsd xmm1, qword ptr [rsi + 48] # xmm1 = mem[0],zero + vucomisd xmm1, xmm0 + setae byte ptr [rsp + 128] # 1-byte Folded Spill + vmovsd xmm1, qword ptr [rsi + 56] # xmm1 = mem[0],zero + vucomisd xmm1, xmm0 + setae byte ptr [rsp + 112] # 1-byte Folded Spill + vmovsd xmm1, qword ptr [rsi + 64] # xmm1 = mem[0],zero + vucomisd xmm1, xmm0 + setae byte ptr [rsp + 96] # 1-byte Folded Spill + vmovsd xmm1, qword ptr [rsi + 72] # xmm1 = mem[0],zero + vucomisd xmm1, xmm0 + setae r10b + vmovsd xmm1, qword ptr [rsi + 80] # xmm1 = mem[0],zero + vucomisd xmm1, xmm0 + setae bl + vmovsd xmm1, qword ptr [rsi + 88] # xmm1 = mem[0],zero + vucomisd xmm1, xmm0 + setae r15b + vmovsd xmm1, qword ptr [rsi + 96] # xmm1 = mem[0],zero + vucomisd xmm1, xmm0 + setae al + vmovsd xmm1, qword ptr [rsi + 104] # xmm1 = mem[0],zero + vucomisd xmm1, xmm0 + setae byte ptr [rsp + 144] # 1-byte Folded Spill + vmovsd xmm1, qword ptr [rsi + 112] # xmm1 = mem[0],zero + vucomisd xmm1, xmm0 + setae byte ptr [rsp + 88] # 1-byte Folded Spill + vmovsd xmm1, qword ptr [rsi + 120] # xmm1 = mem[0],zero + vucomisd xmm1, xmm0 + setae byte ptr [rsp + 72] # 1-byte Folded Spill + vmovsd xmm1, qword ptr [rsi + 128] # xmm1 = mem[0],zero + vmovsd xmm2, qword ptr [rsi + 136] # xmm2 = mem[0],zero + vucomisd xmm1, xmm0 + vmovsd xmm1, qword ptr [rsi + 144] # xmm1 = mem[0],zero + setae byte ptr [rsp + 40] # 1-byte Folded Spill + vucomisd xmm2, xmm0 + vmovsd xmm2, qword ptr [rsi + 152] # xmm2 = mem[0],zero + setae r11b + vucomisd xmm1, xmm0 + vmovsd xmm1, qword ptr [rsi + 160] # xmm1 = mem[0],zero + setae r14b + vucomisd xmm2, xmm0 + vmovsd xmm2, qword ptr [rsi + 168] # xmm2 = mem[0],zero + setae r12b + vucomisd xmm1, xmm0 + vmovsd xmm1, qword ptr [rsi + 176] # xmm1 = mem[0],zero + setae byte ptr [rsp + 136] # 1-byte Folded Spill + vucomisd xmm2, xmm0 + vmovsd xmm2, qword ptr [rsi + 184] # xmm2 = mem[0],zero + setae byte ptr [rsp + 80] # 1-byte Folded Spill + vucomisd xmm1, xmm0 + vmovsd xmm1, qword ptr [rsi + 192] # xmm1 = mem[0],zero + setae byte ptr [rsp + 104] # 1-byte Folded Spill + vucomisd xmm2, xmm0 + vmovsd xmm2, qword ptr [rsi + 200] # xmm2 = mem[0],zero + setae r13b + vucomisd xmm1, xmm0 + vmovsd xmm1, qword ptr [rsi + 208] # xmm1 = mem[0],zero + setae byte ptr [rsp + 288] # 1-byte Folded Spill + vucomisd xmm2, xmm0 + vmovsd xmm2, qword ptr [rsi + 216] # xmm2 = mem[0],zero + setae byte ptr [rsp + 64] # 1-byte Folded Spill + vucomisd xmm1, xmm0 + vmovsd xmm1, qword ptr [rsi + 224] # xmm1 = mem[0],zero + setae byte ptr [rsp + 48] # 1-byte Folded Spill + vucomisd xmm2, xmm0 + vmovsd xmm2, qword ptr [rsi + 232] # xmm2 = mem[0],zero + setae byte ptr [rsp + 56] # 1-byte Folded Spill + vucomisd xmm1, xmm0 + vmovsd xmm1, qword ptr [rsi + 240] # xmm1 = mem[0],zero + setae byte ptr [rsp + 32] # 1-byte Folded Spill + vucomisd xmm2, xmm0 + vmovsd xmm2, qword ptr [rsi + 248] # xmm2 = mem[0],zero + setae byte ptr [rsp + 320] # 1-byte Folded Spill + vucomisd xmm1, xmm0 + setae byte ptr [rsp + 28] # 1-byte Folded Spill + add rsi, 256 + vucomisd xmm2, xmm0 + setae cl add dl, dl add dl, byte ptr [rsp + 120] # 1-byte Folded Reload - shl r13b, 3 - or r13b, r14b shl dil, 2 or dil, dl - movzx edx, byte ptr [rsp + 144] # 1-byte Folded Reload - shl dl, 4 - or dl, r13b - mov r9d, edx - shl r10b, 3 - or r10b, dil - movzx edx, byte ptr [rsp + 96] # 1-byte Folded Reload + shl r8b, 3 + or r8b, dil + shl r9b, 4 + or r9b, r8b + movzx edx, byte ptr [rsp + 160] # 1-byte Folded Reload shl dl, 5 or dl, r9b - shl r11b, 4 - or r11b, r10b - shl r12b, 5 - or r12b, r11b - movzx edi, byte ptr [rsp + 128] # 1-byte Folded Reload - shl dil, 6 - shl cl, 7 - or cl, dil - or bl, dl - or cl, r12b - movzx eax, byte ptr [rsp + 112] # 1-byte Folded Reload - add al, al - add al, byte ptr [rsp + 80] # 1-byte Folded Reload - movzx edx, byte ptr [rsp + 136] # 1-byte Folded Reload - shl dl, 2 + movzx r8d, byte ptr [rsp + 128] # 1-byte Folded Reload + shl r8b, 6 + movzx edi, byte ptr [rsp + 112] # 1-byte Folded Reload + shl dil, 7 + or dil, r8b + add r10b, r10b + add r10b, byte ptr [rsp + 96] # 1-byte Folded Reload + shl bl, 2 + or bl, r10b + shl r15b, 3 + or r15b, bl + shl al, 4 + or al, r15b + or dil, dl + movzx edx, byte ptr [rsp + 144] # 1-byte Folded Reload + shl dl, 5 or dl, al - mov edi, edx - movzx edx, byte ptr [rsp + 72] # 1-byte Folded Reload - shl dl, 3 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 88] # 1-byte Folded Reload - shl dl, 4 - or dl, dil - mov edi, edx + movzx eax, byte ptr [rsp + 88] # 1-byte Folded Reload + shl al, 6 + movzx ebx, byte ptr [rsp + 72] # 1-byte Folded Reload + shl bl, 7 + or bl, al + add r11b, r11b + add r11b, byte ptr [rsp + 40] # 1-byte Folded Reload + shl r14b, 2 + or r14b, r11b + shl r12b, 3 + or r12b, r14b + movzx eax, byte ptr [rsp + 136] # 1-byte Folded Reload + shl al, 4 + or al, r12b + mov r8d, eax + movzx eax, byte ptr [rsp + 80] # 1-byte Folded Reload + shl al, 5 + or al, r8b + or bl, dl movzx edx, byte ptr [rsp + 104] # 1-byte Folded Reload - shl dl, 5 - or dl, dil - mov edi, edx + shl dl, 6 + shl r13b, 7 + or r13b, dl mov rdx, qword ptr [rsp + 272] # 8-byte Reload - mov byte ptr [rdx], bl - movzx ebx, byte ptr [rsp + 64] # 1-byte Folded Reload - shl bl, 6 - shl r15b, 7 - or r15b, bl - mov byte ptr [rdx + 1], cl - or r15b, dil - movzx ecx, byte ptr [rsp + 40] # 1-byte Folded Reload - add cl, cl - add cl, byte ptr [rsp + 32] # 1-byte Folded Reload - mov ebx, ecx - movzx ecx, byte ptr [rsp + 48] # 1-byte Folded Reload - shl cl, 2 - or cl, bl - mov ebx, ecx - movzx ecx, byte ptr [rsp + 56] # 1-byte Folded Reload - shl cl, 3 - or cl, bl - mov ebx, ecx - movzx ecx, byte ptr [rsp + 320] # 1-byte Folded Reload - shl cl, 4 - or cl, bl - mov ebx, ecx - movzx ecx, byte ptr [rsp + 288] # 1-byte Folded Reload - shl cl, 5 - or cl, bl + mov byte ptr [rdx], dil + or r13b, al + movzx eax, byte ptr [rsp + 64] # 1-byte Folded Reload + add al, al + add al, byte ptr [rsp + 288] # 1-byte Folded Reload + mov edi, eax + movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload + shl al, 2 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 56] # 1-byte Folded Reload + shl al, 3 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload + shl al, 4 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 320] # 1-byte Folded Reload + shl al, 5 + or al, dil + mov byte ptr [rdx + 1], bl movzx ebx, byte ptr [rsp + 28] # 1-byte Folded Reload shl bl, 6 - shl r8b, 7 - or r8b, bl - or r8b, cl - mov byte ptr [rdx + 2], r15b - mov byte ptr [rdx + 3], r8b - add rsi, 256 + shl cl, 7 + or cl, bl + mov byte ptr [rdx + 2], r13b + or cl, al + mov byte ptr [rdx + 3], cl add rdx, 4 mov qword ptr [rsp + 272], rdx # 8-byte Spill add qword ptr [rsp + 152], -1 # 8-byte Folded Spill - jne .LBB10_23 -# %bb.24: + jne .LBB10_183 +# %bb.184: mov r14, qword ptr [rsp + 272] # 8-byte Reload mov r10, qword ptr [rsp + 280] # 8-byte Reload mov r15, qword ptr [rsp + 168] # 8-byte Reload shl r15, 5 cmp r15, r10 - jl .LBB10_104 - jmp .LBB10_175 -.LBB10_25: + jl .LBB10_186 + jmp .LBB10_194 +.LBB10_2: cmp edi, 2 - je .LBB10_80 -# %bb.26: + je .LBB10_33 +# %bb.3: cmp edi, 3 - jne .LBB10_175 -# %bb.27: + jne .LBB10_194 +# %bb.4: mov r14b, byte ptr [rdx] lea r15, [r10 + 31] test r10, r10 @@ -54005,12 +55374,12 @@ comparison_greater_equal_arr_scalar_avx2: # @comparison_greater_equal_arr_scalar cmovns eax, r9d and eax, -8 sub r9d, eax - je .LBB10_128 -# %bb.28: + je .LBB10_5 +# %bb.58: movsxd rax, r9d mov r13, r11 .p2align 4, 0x90 -.LBB10_29: # =>This Inner Loop Header: Depth=1 +.LBB10_59: # =>This Inner Loop Header: Depth=1 cmp byte ptr [rsi], r14b lea rsi, [rsi + 1] setge dl @@ -54032,40 +55401,40 @@ comparison_greater_equal_arr_scalar_avx2: # @comparison_greater_equal_arr_scalar mov byte ptr [r13 + rdi], bl add rax, 1 cmp rax, 8 - jne .LBB10_29 -# %bb.30: + jne .LBB10_59 +# %bb.60: add r13, 1 sar r15, 5 cmp r10, 32 - jl .LBB10_129 -.LBB10_31: + jl .LBB10_62 +.LBB10_63: cmp r15, 32 mov dword ptr [rsp + 28], r14d # 4-byte Spill mov qword ptr [rsp + 280], r10 # 8-byte Spill mov qword ptr [rsp + 608], r15 # 8-byte Spill - jb .LBB10_34 -# %bb.32: + jb .LBB10_64 +# %bb.65: mov rax, r15 shl rax, 5 add rax, rsi cmp r13, rax - jae .LBB10_182 -# %bb.33: + jae .LBB10_67 +# %bb.66: lea rax, [4*r15] add rax, r13 cmp rsi, rax - jae .LBB10_182 -.LBB10_34: + jae .LBB10_67 +.LBB10_64: xor eax, eax mov qword ptr [rsp + 416], rax # 8-byte Spill mov r12, rsi mov qword ptr [rsp + 360], r13 # 8-byte Spill -.LBB10_35: +.LBB10_70: mov r13, r15 sub r13, qword ptr [rsp + 416] # 8-byte Folded Reload mov qword ptr [rsp + 152], r13 # 8-byte Spill .p2align 4, 0x90 -.LBB10_36: # =>This Inner Loop Header: Depth=1 +.LBB10_71: # =>This Inner Loop Header: Depth=1 mov rcx, r12 cmp byte ptr [r12], r14b setge byte ptr [rsp + 32] # 1-byte Folded Spill @@ -54228,18 +55597,18 @@ comparison_greater_equal_arr_scalar_avx2: # @comparison_greater_equal_arr_scalar add rsi, 4 mov qword ptr [rsp + 360], rsi # 8-byte Spill add qword ptr [rsp + 152], -1 # 8-byte Folded Spill - jne .LBB10_36 -# %bb.37: + jne .LBB10_71 +# %bb.72: mov r10, qword ptr [rsp + 280] # 8-byte Reload mov r15, qword ptr [rsp + 608] # 8-byte Reload - jmp .LBB10_130 -.LBB10_38: + jmp .LBB10_73 +.LBB10_16: cmp edi, 7 - je .LBB10_92 -# %bb.39: + je .LBB10_124 +# %bb.17: cmp edi, 8 - jne .LBB10_175 -# %bb.40: + jne .LBB10_194 +# %bb.18: mov r13, qword ptr [rdx] lea r15, [r10 + 31] test r10, r10 @@ -54249,11 +55618,11 @@ comparison_greater_equal_arr_scalar_avx2: # @comparison_greater_equal_arr_scalar cmovns eax, r9d and eax, -8 sub r9d, eax - je .LBB10_44 -# %bb.41: + je .LBB10_22 +# %bb.19: movsxd rax, r9d .p2align 4, 0x90 -.LBB10_42: # =>This Inner Loop Header: Depth=1 +.LBB10_20: # =>This Inner Loop Header: Depth=1 cmp qword ptr [rsi], r13 lea rsi, [rsi + 8] mov edx, 0 @@ -54275,24 +55644,24 @@ comparison_greater_equal_arr_scalar_avx2: # @comparison_greater_equal_arr_scalar mov byte ptr [r11 + rbx], dil add rax, 1 cmp rax, 8 - jne .LBB10_42 -# %bb.43: + jne .LBB10_20 +# %bb.21: add r11, 1 -.LBB10_44: +.LBB10_22: sar r15, 5 cmp r10, 32 - jl .LBB10_106 -# %bb.45: + jl .LBB10_23 +# %bb.140: mov qword ptr [rsp + 280], r10 # 8-byte Spill mov qword ptr [rsp + 176], r15 # 8-byte Spill mov qword ptr [rsp + 168], r15 # 8-byte Spill .p2align 4, 0x90 -.LBB10_46: # =>This Inner Loop Header: Depth=1 +.LBB10_141: # =>This Inner Loop Header: Depth=1 mov qword ptr [rsp + 272], r11 # 8-byte Spill cmp qword ptr [rsi], r13 setae byte ptr [rsp + 152] # 1-byte Folded Spill cmp qword ptr [rsi + 8], r13 - setae dil + setae r10b cmp qword ptr [rsi + 16], r13 setae r14b cmp qword ptr [rsi + 24], r13 @@ -54308,11 +55677,11 @@ comparison_greater_equal_arr_scalar_avx2: # @comparison_greater_equal_arr_scalar cmp qword ptr [rsi + 64], r13 setae byte ptr [rsp + 112] # 1-byte Folded Spill cmp qword ptr [rsi + 72], r13 - setae dl + setae dil cmp qword ptr [rsi + 80], r13 - setae r9b + setae r8b cmp qword ptr [rsi + 88], r13 - setae r10b + setae r9b cmp qword ptr [rsi + 96], r13 setae r11b cmp qword ptr [rsi + 104], r13 @@ -54352,32 +55721,33 @@ comparison_greater_equal_arr_scalar_avx2: # @comparison_greater_equal_arr_scalar cmp qword ptr [rsi + 240], r13 setae byte ptr [rsp + 28] # 1-byte Folded Spill cmp qword ptr [rsi + 248], r13 - setae r8b - add dil, dil - add dil, byte ptr [rsp + 152] # 1-byte Folded Reload + setae dl + add r10b, r10b + add r10b, byte ptr [rsp + 152] # 1-byte Folded Reload shl al, 6 shl bl, 7 or bl, al shl r14b, 2 - or r14b, dil - add dl, dl - add dl, byte ptr [rsp + 112] # 1-byte Folded Reload + or r14b, r10b + add dil, dil + add dil, byte ptr [rsp + 112] # 1-byte Folded Reload movzx eax, byte ptr [rsp + 160] # 1-byte Folded Reload shl al, 3 or al, r14b - shl r9b, 2 - or r9b, dl - movzx edx, byte ptr [rsp + 144] # 1-byte Folded Reload - shl dl, 4 - or dl, al - mov edi, edx - shl r10b, 3 - or r10b, r9b - movzx edx, byte ptr [rsp + 96] # 1-byte Folded Reload - shl dl, 5 - or dl, dil + mov r10d, eax + shl r8b, 2 + or r8b, dil + movzx eax, byte ptr [rsp + 144] # 1-byte Folded Reload + shl al, 4 + or al, r10b + mov edi, eax + shl r9b, 3 + or r9b, r8b + movzx eax, byte ptr [rsp + 96] # 1-byte Folded Reload + shl al, 5 + or al, dil shl r11b, 4 - or r11b, r10b + or r11b, r9b shl r12b, 5 or r12b, r11b mov r11, qword ptr [rsp + 272] # 8-byte Reload @@ -54385,73 +55755,73 @@ comparison_greater_equal_arr_scalar_avx2: # @comparison_greater_equal_arr_scalar shl dil, 6 shl cl, 7 or cl, dil - or bl, dl + or bl, al or cl, r12b - movzx edx, byte ptr [rsp + 128] # 1-byte Folded Reload - add dl, dl - add dl, byte ptr [rsp + 80] # 1-byte Folded Reload - mov edi, edx - movzx edx, byte ptr [rsp + 136] # 1-byte Folded Reload - shl dl, 2 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 72] # 1-byte Folded Reload - shl dl, 3 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 88] # 1-byte Folded Reload - shl dl, 4 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 104] # 1-byte Folded Reload - shl dl, 5 - or dl, dil + movzx eax, byte ptr [rsp + 128] # 1-byte Folded Reload + add al, al + add al, byte ptr [rsp + 80] # 1-byte Folded Reload + mov edi, eax + movzx eax, byte ptr [rsp + 136] # 1-byte Folded Reload + shl al, 2 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 72] # 1-byte Folded Reload + shl al, 3 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 88] # 1-byte Folded Reload + shl al, 4 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 104] # 1-byte Folded Reload + shl al, 5 + or al, dil mov byte ptr [r11], bl movzx ebx, byte ptr [rsp + 64] # 1-byte Folded Reload shl bl, 6 shl r15b, 7 or r15b, bl mov byte ptr [r11 + 1], cl - or r15b, dl - movzx ecx, byte ptr [rsp + 40] # 1-byte Folded Reload - add cl, cl - add cl, byte ptr [rsp + 32] # 1-byte Folded Reload - mov edx, ecx - movzx ecx, byte ptr [rsp + 48] # 1-byte Folded Reload - shl cl, 2 - or cl, dl - mov edx, ecx - movzx ecx, byte ptr [rsp + 56] # 1-byte Folded Reload - shl cl, 3 - or cl, dl - mov edx, ecx - movzx ecx, byte ptr [rsp + 320] # 1-byte Folded Reload - shl cl, 4 - or cl, dl - mov edx, ecx - movzx ecx, byte ptr [rsp + 288] # 1-byte Folded Reload - shl cl, 5 - or cl, dl - movzx edx, byte ptr [rsp + 28] # 1-byte Folded Reload - shl dl, 6 - shl r8b, 7 - or r8b, dl - or r8b, cl + or r15b, al + movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload + add al, al + add al, byte ptr [rsp + 32] # 1-byte Folded Reload + mov ecx, eax + movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload + shl al, 2 + or al, cl + mov ecx, eax + movzx eax, byte ptr [rsp + 56] # 1-byte Folded Reload + shl al, 3 + or al, cl + mov ecx, eax + movzx eax, byte ptr [rsp + 320] # 1-byte Folded Reload + shl al, 4 + or al, cl + mov ecx, eax + movzx eax, byte ptr [rsp + 288] # 1-byte Folded Reload + shl al, 5 + or al, cl + movzx ecx, byte ptr [rsp + 28] # 1-byte Folded Reload + shl cl, 6 + shl dl, 7 + or dl, cl + or dl, al mov byte ptr [r11 + 2], r15b - mov byte ptr [r11 + 3], r8b + mov byte ptr [r11 + 3], dl add rsi, 256 add r11, 4 add qword ptr [rsp + 168], -1 # 8-byte Folded Spill - jne .LBB10_46 -# %bb.47: + jne .LBB10_141 +# %bb.142: mov r14, r11 mov r10, qword ptr [rsp + 280] # 8-byte Reload mov r15, qword ptr [rsp + 176] # 8-byte Reload shl r15, 5 cmp r15, r10 - jl .LBB10_107 - jmp .LBB10_175 -.LBB10_48: + jl .LBB10_144 + jmp .LBB10_194 +.LBB10_81: movzx r13d, word ptr [rdx] lea r15, [r10 + 31] test r10, r10 @@ -54461,11 +55831,11 @@ comparison_greater_equal_arr_scalar_avx2: # @comparison_greater_equal_arr_scalar cmovns eax, r9d and eax, -8 sub r9d, eax - je .LBB10_52 -# %bb.49: + je .LBB10_85 +# %bb.82: movsxd rax, r9d .p2align 4, 0x90 -.LBB10_50: # =>This Inner Loop Header: Depth=1 +.LBB10_83: # =>This Inner Loop Header: Depth=1 cmp word ptr [rsi], r13w lea rsi, [rsi + 2] mov edx, 0 @@ -54487,24 +55857,24 @@ comparison_greater_equal_arr_scalar_avx2: # @comparison_greater_equal_arr_scalar mov byte ptr [r11 + rbx], dil add rax, 1 cmp rax, 8 - jne .LBB10_50 -# %bb.51: + jne .LBB10_83 +# %bb.84: add r11, 1 -.LBB10_52: +.LBB10_85: sar r15, 5 cmp r10, 32 - jl .LBB10_109 -# %bb.53: + jl .LBB10_86 +# %bb.87: mov qword ptr [rsp + 280], r10 # 8-byte Spill mov qword ptr [rsp + 176], r15 # 8-byte Spill mov qword ptr [rsp + 168], r15 # 8-byte Spill mov qword ptr [rsp + 272], r11 # 8-byte Spill .p2align 4, 0x90 -.LBB10_54: # =>This Inner Loop Header: Depth=1 +.LBB10_88: # =>This Inner Loop Header: Depth=1 cmp word ptr [rsi], r13w setae al cmp word ptr [rsi + 2], r13w - setae dil + setae r10b cmp word ptr [rsi + 4], r13w setae r14b cmp word ptr [rsi + 6], r13w @@ -54520,11 +55890,11 @@ comparison_greater_equal_arr_scalar_avx2: # @comparison_greater_equal_arr_scalar cmp word ptr [rsi + 16], r13w setae byte ptr [rsp + 112] # 1-byte Folded Spill cmp word ptr [rsi + 18], r13w - setae dl + setae dil cmp word ptr [rsi + 20], r13w - setae r9b + setae r8b cmp word ptr [rsi + 22], r13w - setae r10b + setae r9b cmp word ptr [rsi + 24], r13w setae r11b cmp word ptr [rsi + 26], r13w @@ -54564,68 +55934,69 @@ comparison_greater_equal_arr_scalar_avx2: # @comparison_greater_equal_arr_scalar cmp word ptr [rsi + 60], r13w setae byte ptr [rsp + 28] # 1-byte Folded Spill cmp word ptr [rsi + 62], r13w - setae r8b - add dil, dil - or dil, al + setae dl + add r10b, r10b + or r10b, al movzx eax, byte ptr [rsp + 152] # 1-byte Folded Reload shl al, 6 shl bl, 7 or bl, al shl r14b, 2 - or r14b, dil - add dl, dl - add dl, byte ptr [rsp + 112] # 1-byte Folded Reload + or r14b, r10b + add dil, dil + add dil, byte ptr [rsp + 112] # 1-byte Folded Reload movzx eax, byte ptr [rsp + 160] # 1-byte Folded Reload shl al, 3 or al, r14b - shl r9b, 2 - or r9b, dl - movzx edx, byte ptr [rsp + 144] # 1-byte Folded Reload - shl dl, 4 - or dl, al - mov edi, edx - shl r10b, 3 - or r10b, r9b - movzx edx, byte ptr [rsp + 96] # 1-byte Folded Reload - shl dl, 5 - or dl, dil - shl r11b, 4 - or r11b, r10b - shl r12b, 5 - or r12b, r11b - movzx edi, byte ptr [rsp + 120] # 1-byte Folded Reload - shl dil, 6 - shl cl, 7 - or cl, dil - or bl, dl - or cl, r12b - movzx edx, byte ptr [rsp + 128] # 1-byte Folded Reload - add dl, dl - add dl, byte ptr [rsp + 80] # 1-byte Folded Reload - mov edi, edx - movzx edx, byte ptr [rsp + 136] # 1-byte Folded Reload - shl dl, 2 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 72] # 1-byte Folded Reload - shl dl, 3 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 88] # 1-byte Folded Reload - shl dl, 4 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 104] # 1-byte Folded Reload - shl dl, 5 - or dl, dil - mov edi, edx - mov rdx, qword ptr [rsp + 272] # 8-byte Reload - mov byte ptr [rdx], bl + mov r10d, eax + shl r8b, 2 + or r8b, dil + movzx eax, byte ptr [rsp + 144] # 1-byte Folded Reload + shl al, 4 + or al, r10b + mov edi, eax + shl r9b, 3 + or r9b, r8b + movzx eax, byte ptr [rsp + 96] # 1-byte Folded Reload + shl al, 5 + or al, dil + shl r11b, 4 + or r11b, r9b + shl r12b, 5 + or r12b, r11b + movzx edi, byte ptr [rsp + 120] # 1-byte Folded Reload + shl dil, 6 + shl cl, 7 + or cl, dil + or bl, al + or cl, r12b + movzx eax, byte ptr [rsp + 128] # 1-byte Folded Reload + add al, al + add al, byte ptr [rsp + 80] # 1-byte Folded Reload + mov edi, eax + movzx eax, byte ptr [rsp + 136] # 1-byte Folded Reload + shl al, 2 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 72] # 1-byte Folded Reload + shl al, 3 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 88] # 1-byte Folded Reload + shl al, 4 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 104] # 1-byte Folded Reload + shl al, 5 + or al, dil + mov edi, eax + mov rax, qword ptr [rsp + 272] # 8-byte Reload + mov byte ptr [rax], bl movzx ebx, byte ptr [rsp + 64] # 1-byte Folded Reload shl bl, 6 shl r15b, 7 or r15b, bl - mov byte ptr [rdx + 1], cl + mov byte ptr [rax + 1], cl or r15b, dil movzx ecx, byte ptr [rsp + 40] # 1-byte Folded Reload add cl, cl @@ -54648,25 +56019,25 @@ comparison_greater_equal_arr_scalar_avx2: # @comparison_greater_equal_arr_scalar or cl, bl movzx ebx, byte ptr [rsp + 28] # 1-byte Folded Reload shl bl, 6 - shl r8b, 7 - or r8b, bl - or r8b, cl - mov byte ptr [rdx + 2], r15b - mov byte ptr [rdx + 3], r8b + shl dl, 7 + or dl, bl + or dl, cl + mov byte ptr [rax + 2], r15b + mov byte ptr [rax + 3], dl add rsi, 64 - add rdx, 4 - mov qword ptr [rsp + 272], rdx # 8-byte Spill + add rax, 4 + mov qword ptr [rsp + 272], rax # 8-byte Spill add qword ptr [rsp + 168], -1 # 8-byte Folded Spill - jne .LBB10_54 -# %bb.55: + jne .LBB10_88 +# %bb.89: mov r14, qword ptr [rsp + 272] # 8-byte Reload mov r10, qword ptr [rsp + 280] # 8-byte Reload mov r15, qword ptr [rsp + 176] # 8-byte Reload shl r15, 5 cmp r15, r10 - jl .LBB10_110 - jmp .LBB10_175 -.LBB10_56: + jl .LBB10_91 + jmp .LBB10_194 +.LBB10_97: movzx r13d, word ptr [rdx] lea r15, [r10 + 31] test r10, r10 @@ -54676,11 +56047,11 @@ comparison_greater_equal_arr_scalar_avx2: # @comparison_greater_equal_arr_scalar cmovns eax, r9d and eax, -8 sub r9d, eax - je .LBB10_60 -# %bb.57: + je .LBB10_101 +# %bb.98: movsxd rax, r9d .p2align 4, 0x90 -.LBB10_58: # =>This Inner Loop Header: Depth=1 +.LBB10_99: # =>This Inner Loop Header: Depth=1 cmp word ptr [rsi], r13w lea rsi, [rsi + 2] setge dl @@ -54702,24 +56073,24 @@ comparison_greater_equal_arr_scalar_avx2: # @comparison_greater_equal_arr_scalar mov byte ptr [r11 + rbx], dil add rax, 1 cmp rax, 8 - jne .LBB10_58 -# %bb.59: + jne .LBB10_99 +# %bb.100: add r11, 1 -.LBB10_60: +.LBB10_101: sar r15, 5 cmp r10, 32 - jl .LBB10_112 -# %bb.61: + jl .LBB10_102 +# %bb.103: mov qword ptr [rsp + 280], r10 # 8-byte Spill mov qword ptr [rsp + 176], r15 # 8-byte Spill mov qword ptr [rsp + 168], r15 # 8-byte Spill mov qword ptr [rsp + 272], r11 # 8-byte Spill .p2align 4, 0x90 -.LBB10_62: # =>This Inner Loop Header: Depth=1 +.LBB10_104: # =>This Inner Loop Header: Depth=1 cmp word ptr [rsi], r13w setge byte ptr [rsp + 152] # 1-byte Folded Spill cmp word ptr [rsi + 2], r13w - setge dil + setge r10b cmp word ptr [rsi + 4], r13w setge r14b cmp word ptr [rsi + 6], r13w @@ -54735,11 +56106,11 @@ comparison_greater_equal_arr_scalar_avx2: # @comparison_greater_equal_arr_scalar cmp word ptr [rsi + 16], r13w setge byte ptr [rsp + 112] # 1-byte Folded Spill cmp word ptr [rsi + 18], r13w - setge dl + setge dil cmp word ptr [rsi + 20], r13w - setge r9b + setge r8b cmp word ptr [rsi + 22], r13w - setge r10b + setge r9b cmp word ptr [rsi + 24], r13w setge r11b cmp word ptr [rsi + 26], r13w @@ -54779,67 +56150,68 @@ comparison_greater_equal_arr_scalar_avx2: # @comparison_greater_equal_arr_scalar cmp word ptr [rsi + 60], r13w setge byte ptr [rsp + 28] # 1-byte Folded Spill cmp word ptr [rsi + 62], r13w - setge r8b - add dil, dil - add dil, byte ptr [rsp + 152] # 1-byte Folded Reload + setge dl + add r10b, r10b + add r10b, byte ptr [rsp + 152] # 1-byte Folded Reload shl al, 6 shl bl, 7 or bl, al shl r14b, 2 - or r14b, dil - add dl, dl - add dl, byte ptr [rsp + 112] # 1-byte Folded Reload + or r14b, r10b + add dil, dil + add dil, byte ptr [rsp + 112] # 1-byte Folded Reload movzx eax, byte ptr [rsp + 160] # 1-byte Folded Reload shl al, 3 or al, r14b - shl r9b, 2 - or r9b, dl - movzx edx, byte ptr [rsp + 144] # 1-byte Folded Reload - shl dl, 4 - or dl, al - mov edi, edx - shl r10b, 3 - or r10b, r9b - movzx edx, byte ptr [rsp + 96] # 1-byte Folded Reload - shl dl, 5 - or dl, dil + mov r10d, eax + shl r8b, 2 + or r8b, dil + movzx eax, byte ptr [rsp + 144] # 1-byte Folded Reload + shl al, 4 + or al, r10b + mov edi, eax + shl r9b, 3 + or r9b, r8b + movzx eax, byte ptr [rsp + 96] # 1-byte Folded Reload + shl al, 5 + or al, dil shl r11b, 4 - or r11b, r10b + or r11b, r9b shl r12b, 5 or r12b, r11b movzx edi, byte ptr [rsp + 120] # 1-byte Folded Reload shl dil, 6 shl cl, 7 or cl, dil - or bl, dl + or bl, al or cl, r12b - movzx edx, byte ptr [rsp + 128] # 1-byte Folded Reload - add dl, dl - add dl, byte ptr [rsp + 80] # 1-byte Folded Reload - mov edi, edx - movzx edx, byte ptr [rsp + 136] # 1-byte Folded Reload - shl dl, 2 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 72] # 1-byte Folded Reload - shl dl, 3 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 88] # 1-byte Folded Reload - shl dl, 4 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 104] # 1-byte Folded Reload - shl dl, 5 - or dl, dil - mov edi, edx - mov rdx, qword ptr [rsp + 272] # 8-byte Reload - mov byte ptr [rdx], bl + movzx eax, byte ptr [rsp + 128] # 1-byte Folded Reload + add al, al + add al, byte ptr [rsp + 80] # 1-byte Folded Reload + mov edi, eax + movzx eax, byte ptr [rsp + 136] # 1-byte Folded Reload + shl al, 2 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 72] # 1-byte Folded Reload + shl al, 3 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 88] # 1-byte Folded Reload + shl al, 4 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 104] # 1-byte Folded Reload + shl al, 5 + or al, dil + mov edi, eax + mov rax, qword ptr [rsp + 272] # 8-byte Reload + mov byte ptr [rax], bl movzx ebx, byte ptr [rsp + 64] # 1-byte Folded Reload shl bl, 6 shl r15b, 7 or r15b, bl - mov byte ptr [rdx + 1], cl + mov byte ptr [rax + 1], cl or r15b, dil movzx ecx, byte ptr [rsp + 40] # 1-byte Folded Reload add cl, cl @@ -54862,25 +56234,25 @@ comparison_greater_equal_arr_scalar_avx2: # @comparison_greater_equal_arr_scalar or cl, bl movzx ebx, byte ptr [rsp + 28] # 1-byte Folded Reload shl bl, 6 - shl r8b, 7 - or r8b, bl - or r8b, cl - mov byte ptr [rdx + 2], r15b - mov byte ptr [rdx + 3], r8b + shl dl, 7 + or dl, bl + or dl, cl + mov byte ptr [rax + 2], r15b + mov byte ptr [rax + 3], dl add rsi, 64 - add rdx, 4 - mov qword ptr [rsp + 272], rdx # 8-byte Spill + add rax, 4 + mov qword ptr [rsp + 272], rax # 8-byte Spill add qword ptr [rsp + 168], -1 # 8-byte Folded Spill - jne .LBB10_62 -# %bb.63: + jne .LBB10_104 +# %bb.105: mov r14, qword ptr [rsp + 272] # 8-byte Reload mov r10, qword ptr [rsp + 280] # 8-byte Reload mov r15, qword ptr [rsp + 176] # 8-byte Reload shl r15, 5 cmp r15, r10 - jl .LBB10_113 - jmp .LBB10_175 -.LBB10_64: + jl .LBB10_107 + jmp .LBB10_194 +.LBB10_150: mov r13, qword ptr [rdx] lea r15, [r10 + 31] test r10, r10 @@ -54890,11 +56262,11 @@ comparison_greater_equal_arr_scalar_avx2: # @comparison_greater_equal_arr_scalar cmovns eax, r9d and eax, -8 sub r9d, eax - je .LBB10_68 -# %bb.65: + je .LBB10_154 +# %bb.151: movsxd rax, r9d .p2align 4, 0x90 -.LBB10_66: # =>This Inner Loop Header: Depth=1 +.LBB10_152: # =>This Inner Loop Header: Depth=1 cmp qword ptr [rsi], r13 lea rsi, [rsi + 8] setge dl @@ -54916,24 +56288,24 @@ comparison_greater_equal_arr_scalar_avx2: # @comparison_greater_equal_arr_scalar mov byte ptr [r11 + rbx], dil add rax, 1 cmp rax, 8 - jne .LBB10_66 -# %bb.67: + jne .LBB10_152 +# %bb.153: add r11, 1 -.LBB10_68: +.LBB10_154: sar r15, 5 cmp r10, 32 - jl .LBB10_115 -# %bb.69: + jl .LBB10_155 +# %bb.156: mov qword ptr [rsp + 280], r10 # 8-byte Spill mov qword ptr [rsp + 176], r15 # 8-byte Spill mov qword ptr [rsp + 168], r15 # 8-byte Spill mov qword ptr [rsp + 272], r11 # 8-byte Spill .p2align 4, 0x90 -.LBB10_70: # =>This Inner Loop Header: Depth=1 +.LBB10_157: # =>This Inner Loop Header: Depth=1 cmp qword ptr [rsi], r13 setge byte ptr [rsp + 152] # 1-byte Folded Spill cmp qword ptr [rsi + 8], r13 - setge dil + setge r10b cmp qword ptr [rsi + 16], r13 setge r14b cmp qword ptr [rsi + 24], r13 @@ -54949,11 +56321,11 @@ comparison_greater_equal_arr_scalar_avx2: # @comparison_greater_equal_arr_scalar cmp qword ptr [rsi + 64], r13 setge byte ptr [rsp + 112] # 1-byte Folded Spill cmp qword ptr [rsi + 72], r13 - setge dl + setge dil cmp qword ptr [rsi + 80], r13 - setge r9b + setge r8b cmp qword ptr [rsi + 88], r13 - setge r10b + setge r9b cmp qword ptr [rsi + 96], r13 setge r11b cmp qword ptr [rsi + 104], r13 @@ -54993,67 +56365,68 @@ comparison_greater_equal_arr_scalar_avx2: # @comparison_greater_equal_arr_scalar cmp qword ptr [rsi + 240], r13 setge byte ptr [rsp + 28] # 1-byte Folded Spill cmp qword ptr [rsi + 248], r13 - setge r8b - add dil, dil - add dil, byte ptr [rsp + 152] # 1-byte Folded Reload + setge dl + add r10b, r10b + add r10b, byte ptr [rsp + 152] # 1-byte Folded Reload shl al, 6 shl bl, 7 or bl, al shl r14b, 2 - or r14b, dil - add dl, dl - add dl, byte ptr [rsp + 112] # 1-byte Folded Reload + or r14b, r10b + add dil, dil + add dil, byte ptr [rsp + 112] # 1-byte Folded Reload movzx eax, byte ptr [rsp + 160] # 1-byte Folded Reload shl al, 3 or al, r14b - shl r9b, 2 - or r9b, dl - movzx edx, byte ptr [rsp + 144] # 1-byte Folded Reload - shl dl, 4 - or dl, al - mov edi, edx - shl r10b, 3 - or r10b, r9b - movzx edx, byte ptr [rsp + 96] # 1-byte Folded Reload - shl dl, 5 - or dl, dil + mov r10d, eax + shl r8b, 2 + or r8b, dil + movzx eax, byte ptr [rsp + 144] # 1-byte Folded Reload + shl al, 4 + or al, r10b + mov edi, eax + shl r9b, 3 + or r9b, r8b + movzx eax, byte ptr [rsp + 96] # 1-byte Folded Reload + shl al, 5 + or al, dil shl r11b, 4 - or r11b, r10b + or r11b, r9b shl r12b, 5 or r12b, r11b movzx edi, byte ptr [rsp + 120] # 1-byte Folded Reload shl dil, 6 shl cl, 7 or cl, dil - or bl, dl + or bl, al or cl, r12b - movzx edx, byte ptr [rsp + 128] # 1-byte Folded Reload - add dl, dl - add dl, byte ptr [rsp + 80] # 1-byte Folded Reload - mov edi, edx - movzx edx, byte ptr [rsp + 136] # 1-byte Folded Reload - shl dl, 2 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 72] # 1-byte Folded Reload - shl dl, 3 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 88] # 1-byte Folded Reload - shl dl, 4 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 104] # 1-byte Folded Reload - shl dl, 5 - or dl, dil - mov edi, edx - mov rdx, qword ptr [rsp + 272] # 8-byte Reload - mov byte ptr [rdx], bl + movzx eax, byte ptr [rsp + 128] # 1-byte Folded Reload + add al, al + add al, byte ptr [rsp + 80] # 1-byte Folded Reload + mov edi, eax + movzx eax, byte ptr [rsp + 136] # 1-byte Folded Reload + shl al, 2 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 72] # 1-byte Folded Reload + shl al, 3 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 88] # 1-byte Folded Reload + shl al, 4 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 104] # 1-byte Folded Reload + shl al, 5 + or al, dil + mov edi, eax + mov rax, qword ptr [rsp + 272] # 8-byte Reload + mov byte ptr [rax], bl movzx ebx, byte ptr [rsp + 64] # 1-byte Folded Reload shl bl, 6 shl r15b, 7 or r15b, bl - mov byte ptr [rdx + 1], cl + mov byte ptr [rax + 1], cl or r15b, dil movzx ecx, byte ptr [rsp + 40] # 1-byte Folded Reload add cl, cl @@ -55076,25 +56449,25 @@ comparison_greater_equal_arr_scalar_avx2: # @comparison_greater_equal_arr_scalar or cl, bl movzx ebx, byte ptr [rsp + 28] # 1-byte Folded Reload shl bl, 6 - shl r8b, 7 - or r8b, bl - or r8b, cl - mov byte ptr [rdx + 2], r15b - mov byte ptr [rdx + 3], r8b + shl dl, 7 + or dl, bl + or dl, cl + mov byte ptr [rax + 2], r15b + mov byte ptr [rax + 3], dl add rsi, 256 - add rdx, 4 - mov qword ptr [rsp + 272], rdx # 8-byte Spill + add rax, 4 + mov qword ptr [rsp + 272], rax # 8-byte Spill add qword ptr [rsp + 168], -1 # 8-byte Folded Spill - jne .LBB10_70 -# %bb.71: + jne .LBB10_157 +# %bb.158: mov r14, qword ptr [rsp + 272] # 8-byte Reload mov r10, qword ptr [rsp + 280] # 8-byte Reload mov r15, qword ptr [rsp + 176] # 8-byte Reload shl r15, 5 cmp r15, r10 - jl .LBB10_116 - jmp .LBB10_175 -.LBB10_72: + jl .LBB10_160 + jmp .LBB10_194 +.LBB10_166: lea r15, [r10 + 31] test r10, r10 cmovns r15, r10 @@ -55104,15 +56477,16 @@ comparison_greater_equal_arr_scalar_avx2: # @comparison_greater_equal_arr_scalar and eax, -8 vmovss xmm0, dword ptr [rdx] # xmm0 = mem[0],zero,zero,zero sub r9d, eax - je .LBB10_76 -# %bb.73: + je .LBB10_170 +# %bb.167: movsxd rax, r9d .p2align 4, 0x90 -.LBB10_74: # =>This Inner Loop Header: Depth=1 - vucomiss xmm0, dword ptr [rsi] - setbe dl +.LBB10_168: # =>This Inner Loop Header: Depth=1 + vmovss xmm1, dword ptr [rsi] # xmm1 = mem[0],zero,zero,zero add rsi, 4 - neg dl + vucomiss xmm1, xmm0 + mov edx, 0 + adc dl, -1 lea rdi, [rax + 7] test rax, rax cmovns rdi, rax @@ -55130,183 +56504,211 @@ comparison_greater_equal_arr_scalar_avx2: # @comparison_greater_equal_arr_scalar mov byte ptr [r11 + rdi], bl add rax, 1 cmp rax, 8 - jne .LBB10_74 -# %bb.75: + jne .LBB10_168 +# %bb.169: add r11, 1 -.LBB10_76: +.LBB10_170: sar r15, 5 cmp r10, 32 - jl .LBB10_118 -# %bb.77: + jl .LBB10_171 +# %bb.172: mov qword ptr [rsp + 280], r10 # 8-byte Spill mov qword ptr [rsp + 168], r15 # 8-byte Spill mov qword ptr [rsp + 152], r15 # 8-byte Spill mov qword ptr [rsp + 272], r11 # 8-byte Spill .p2align 4, 0x90 -.LBB10_78: # =>This Inner Loop Header: Depth=1 - vucomiss xmm0, dword ptr [rsi] - setbe byte ptr [rsp + 160] # 1-byte Folded Spill - vucomiss xmm0, dword ptr [rsi + 4] - setbe r9b - vucomiss xmm0, dword ptr [rsi + 8] - setbe r14b - vucomiss xmm0, dword ptr [rsi + 12] - setbe r13b - vucomiss xmm0, dword ptr [rsi + 16] - setbe byte ptr [rsp + 144] # 1-byte Folded Spill - vucomiss xmm0, dword ptr [rsi + 20] - setbe byte ptr [rsp + 96] # 1-byte Folded Spill - vucomiss xmm0, dword ptr [rsi + 24] - setbe al - vucomiss xmm0, dword ptr [rsi + 28] - setbe bl - vucomiss xmm0, dword ptr [rsi + 32] - setbe byte ptr [rsp + 120] # 1-byte Folded Spill - vucomiss xmm0, dword ptr [rsi + 36] - setbe dl - vucomiss xmm0, dword ptr [rsi + 40] - setbe dil - vucomiss xmm0, dword ptr [rsi + 44] - setbe r10b - vucomiss xmm0, dword ptr [rsi + 48] - setbe r11b - vucomiss xmm0, dword ptr [rsi + 52] - setbe r12b - vucomiss xmm0, dword ptr [rsi + 56] - setbe byte ptr [rsp + 128] # 1-byte Folded Spill - vucomiss xmm0, dword ptr [rsi + 60] - setbe cl - vucomiss xmm0, dword ptr [rsi + 64] - setbe byte ptr [rsp + 80] # 1-byte Folded Spill - vucomiss xmm0, dword ptr [rsi + 68] - setbe byte ptr [rsp + 112] # 1-byte Folded Spill - vucomiss xmm0, dword ptr [rsi + 72] - setbe byte ptr [rsp + 136] # 1-byte Folded Spill - vucomiss xmm0, dword ptr [rsi + 76] - setbe byte ptr [rsp + 72] # 1-byte Folded Spill - vucomiss xmm0, dword ptr [rsi + 80] - setbe byte ptr [rsp + 88] # 1-byte Folded Spill - vucomiss xmm0, dword ptr [rsi + 84] - setbe byte ptr [rsp + 104] # 1-byte Folded Spill - vucomiss xmm0, dword ptr [rsi + 88] - setbe byte ptr [rsp + 64] # 1-byte Folded Spill - vucomiss xmm0, dword ptr [rsi + 92] - setbe r15b - vucomiss xmm0, dword ptr [rsi + 96] - setbe byte ptr [rsp + 32] # 1-byte Folded Spill - vucomiss xmm0, dword ptr [rsi + 100] - setbe byte ptr [rsp + 40] # 1-byte Folded Spill - vucomiss xmm0, dword ptr [rsi + 104] - setbe byte ptr [rsp + 48] # 1-byte Folded Spill - vucomiss xmm0, dword ptr [rsi + 108] - setbe byte ptr [rsp + 56] # 1-byte Folded Spill - vucomiss xmm0, dword ptr [rsi + 112] - setbe byte ptr [rsp + 320] # 1-byte Folded Spill - vucomiss xmm0, dword ptr [rsi + 116] - setbe byte ptr [rsp + 288] # 1-byte Folded Spill - vucomiss xmm0, dword ptr [rsi + 120] - setbe byte ptr [rsp + 28] # 1-byte Folded Spill - vucomiss xmm0, dword ptr [rsi + 124] - setbe r8b - add r9b, r9b - add r9b, byte ptr [rsp + 160] # 1-byte Folded Reload - shl al, 6 - shl bl, 7 - or bl, al - shl r14b, 2 - or r14b, r9b +.LBB10_173: # =>This Inner Loop Header: Depth=1 + vmovss xmm1, dword ptr [rsi] # xmm1 = mem[0],zero,zero,zero + vmovss xmm2, dword ptr [rsi + 4] # xmm2 = mem[0],zero,zero,zero + vucomiss xmm1, xmm0 + setae byte ptr [rsp + 120] # 1-byte Folded Spill + vucomiss xmm2, xmm0 + setae dl + vmovss xmm1, dword ptr [rsi + 8] # xmm1 = mem[0],zero,zero,zero + vucomiss xmm1, xmm0 + setae dil + vmovss xmm1, dword ptr [rsi + 12] # xmm1 = mem[0],zero,zero,zero + vucomiss xmm1, xmm0 + setae r8b + vmovss xmm1, dword ptr [rsi + 16] # xmm1 = mem[0],zero,zero,zero + vucomiss xmm1, xmm0 + setae r9b + vmovss xmm1, dword ptr [rsi + 20] # xmm1 = mem[0],zero,zero,zero + vucomiss xmm1, xmm0 + setae byte ptr [rsp + 160] # 1-byte Folded Spill + vmovss xmm1, dword ptr [rsi + 24] # xmm1 = mem[0],zero,zero,zero + vucomiss xmm1, xmm0 + setae byte ptr [rsp + 128] # 1-byte Folded Spill + vmovss xmm1, dword ptr [rsi + 28] # xmm1 = mem[0],zero,zero,zero + vucomiss xmm1, xmm0 + setae byte ptr [rsp + 112] # 1-byte Folded Spill + vmovss xmm1, dword ptr [rsi + 32] # xmm1 = mem[0],zero,zero,zero + vucomiss xmm1, xmm0 + setae byte ptr [rsp + 96] # 1-byte Folded Spill + vmovss xmm1, dword ptr [rsi + 36] # xmm1 = mem[0],zero,zero,zero + vucomiss xmm1, xmm0 + setae r10b + vmovss xmm1, dword ptr [rsi + 40] # xmm1 = mem[0],zero,zero,zero + vucomiss xmm1, xmm0 + setae bl + vmovss xmm1, dword ptr [rsi + 44] # xmm1 = mem[0],zero,zero,zero + vucomiss xmm1, xmm0 + setae r15b + vmovss xmm1, dword ptr [rsi + 48] # xmm1 = mem[0],zero,zero,zero + vucomiss xmm1, xmm0 + setae al + vmovss xmm1, dword ptr [rsi + 52] # xmm1 = mem[0],zero,zero,zero + vucomiss xmm1, xmm0 + setae byte ptr [rsp + 144] # 1-byte Folded Spill + vmovss xmm1, dword ptr [rsi + 56] # xmm1 = mem[0],zero,zero,zero + vucomiss xmm1, xmm0 + setae byte ptr [rsp + 88] # 1-byte Folded Spill + vmovss xmm1, dword ptr [rsi + 60] # xmm1 = mem[0],zero,zero,zero + vucomiss xmm1, xmm0 + setae byte ptr [rsp + 72] # 1-byte Folded Spill + vmovss xmm1, dword ptr [rsi + 64] # xmm1 = mem[0],zero,zero,zero + vmovss xmm2, dword ptr [rsi + 68] # xmm2 = mem[0],zero,zero,zero + vucomiss xmm1, xmm0 + vmovss xmm1, dword ptr [rsi + 72] # xmm1 = mem[0],zero,zero,zero + setae byte ptr [rsp + 40] # 1-byte Folded Spill + vucomiss xmm2, xmm0 + vmovss xmm2, dword ptr [rsi + 76] # xmm2 = mem[0],zero,zero,zero + setae r11b + vucomiss xmm1, xmm0 + vmovss xmm1, dword ptr [rsi + 80] # xmm1 = mem[0],zero,zero,zero + setae r14b + vucomiss xmm2, xmm0 + vmovss xmm2, dword ptr [rsi + 84] # xmm2 = mem[0],zero,zero,zero + setae r12b + vucomiss xmm1, xmm0 + vmovss xmm1, dword ptr [rsi + 88] # xmm1 = mem[0],zero,zero,zero + setae byte ptr [rsp + 136] # 1-byte Folded Spill + vucomiss xmm2, xmm0 + vmovss xmm2, dword ptr [rsi + 92] # xmm2 = mem[0],zero,zero,zero + setae byte ptr [rsp + 80] # 1-byte Folded Spill + vucomiss xmm1, xmm0 + vmovss xmm1, dword ptr [rsi + 96] # xmm1 = mem[0],zero,zero,zero + setae byte ptr [rsp + 104] # 1-byte Folded Spill + vucomiss xmm2, xmm0 + vmovss xmm2, dword ptr [rsi + 100] # xmm2 = mem[0],zero,zero,zero + setae r13b + vucomiss xmm1, xmm0 + vmovss xmm1, dword ptr [rsi + 104] # xmm1 = mem[0],zero,zero,zero + setae byte ptr [rsp + 288] # 1-byte Folded Spill + vucomiss xmm2, xmm0 + vmovss xmm2, dword ptr [rsi + 108] # xmm2 = mem[0],zero,zero,zero + setae byte ptr [rsp + 64] # 1-byte Folded Spill + vucomiss xmm1, xmm0 + vmovss xmm1, dword ptr [rsi + 112] # xmm1 = mem[0],zero,zero,zero + setae byte ptr [rsp + 48] # 1-byte Folded Spill + vucomiss xmm2, xmm0 + vmovss xmm2, dword ptr [rsi + 116] # xmm2 = mem[0],zero,zero,zero + setae byte ptr [rsp + 56] # 1-byte Folded Spill + vucomiss xmm1, xmm0 + vmovss xmm1, dword ptr [rsi + 120] # xmm1 = mem[0],zero,zero,zero + setae byte ptr [rsp + 32] # 1-byte Folded Spill + vucomiss xmm2, xmm0 + vmovss xmm2, dword ptr [rsi + 124] # xmm2 = mem[0],zero,zero,zero + setae byte ptr [rsp + 320] # 1-byte Folded Spill + vucomiss xmm1, xmm0 + setae byte ptr [rsp + 28] # 1-byte Folded Spill + sub rsi, -128 + vucomiss xmm2, xmm0 + setae cl add dl, dl add dl, byte ptr [rsp + 120] # 1-byte Folded Reload - shl r13b, 3 - or r13b, r14b shl dil, 2 or dil, dl - movzx edx, byte ptr [rsp + 144] # 1-byte Folded Reload - shl dl, 4 - or dl, r13b - mov r9d, edx - shl r10b, 3 - or r10b, dil - movzx edx, byte ptr [rsp + 96] # 1-byte Folded Reload + shl r8b, 3 + or r8b, dil + shl r9b, 4 + or r9b, r8b + movzx edx, byte ptr [rsp + 160] # 1-byte Folded Reload shl dl, 5 or dl, r9b - shl r11b, 4 - or r11b, r10b - shl r12b, 5 - or r12b, r11b - movzx edi, byte ptr [rsp + 128] # 1-byte Folded Reload - shl dil, 6 - shl cl, 7 - or cl, dil - or bl, dl - or cl, r12b - movzx eax, byte ptr [rsp + 112] # 1-byte Folded Reload - add al, al - add al, byte ptr [rsp + 80] # 1-byte Folded Reload - movzx edx, byte ptr [rsp + 136] # 1-byte Folded Reload - shl dl, 2 + movzx r8d, byte ptr [rsp + 128] # 1-byte Folded Reload + shl r8b, 6 + movzx edi, byte ptr [rsp + 112] # 1-byte Folded Reload + shl dil, 7 + or dil, r8b + add r10b, r10b + add r10b, byte ptr [rsp + 96] # 1-byte Folded Reload + shl bl, 2 + or bl, r10b + shl r15b, 3 + or r15b, bl + shl al, 4 + or al, r15b + or dil, dl + movzx edx, byte ptr [rsp + 144] # 1-byte Folded Reload + shl dl, 5 or dl, al - mov edi, edx - movzx edx, byte ptr [rsp + 72] # 1-byte Folded Reload - shl dl, 3 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 88] # 1-byte Folded Reload - shl dl, 4 - or dl, dil - mov edi, edx + movzx eax, byte ptr [rsp + 88] # 1-byte Folded Reload + shl al, 6 + movzx ebx, byte ptr [rsp + 72] # 1-byte Folded Reload + shl bl, 7 + or bl, al + add r11b, r11b + add r11b, byte ptr [rsp + 40] # 1-byte Folded Reload + shl r14b, 2 + or r14b, r11b + shl r12b, 3 + or r12b, r14b + movzx eax, byte ptr [rsp + 136] # 1-byte Folded Reload + shl al, 4 + or al, r12b + mov r8d, eax + movzx eax, byte ptr [rsp + 80] # 1-byte Folded Reload + shl al, 5 + or al, r8b + or bl, dl movzx edx, byte ptr [rsp + 104] # 1-byte Folded Reload - shl dl, 5 - or dl, dil - mov edi, edx + shl dl, 6 + shl r13b, 7 + or r13b, dl mov rdx, qword ptr [rsp + 272] # 8-byte Reload - mov byte ptr [rdx], bl - movzx ebx, byte ptr [rsp + 64] # 1-byte Folded Reload - shl bl, 6 - shl r15b, 7 - or r15b, bl - mov byte ptr [rdx + 1], cl - or r15b, dil - movzx ecx, byte ptr [rsp + 40] # 1-byte Folded Reload - add cl, cl - add cl, byte ptr [rsp + 32] # 1-byte Folded Reload - mov ebx, ecx - movzx ecx, byte ptr [rsp + 48] # 1-byte Folded Reload - shl cl, 2 - or cl, bl - mov ebx, ecx - movzx ecx, byte ptr [rsp + 56] # 1-byte Folded Reload - shl cl, 3 - or cl, bl - mov ebx, ecx - movzx ecx, byte ptr [rsp + 320] # 1-byte Folded Reload - shl cl, 4 - or cl, bl - mov ebx, ecx - movzx ecx, byte ptr [rsp + 288] # 1-byte Folded Reload - shl cl, 5 - or cl, bl + mov byte ptr [rdx], dil + or r13b, al + movzx eax, byte ptr [rsp + 64] # 1-byte Folded Reload + add al, al + add al, byte ptr [rsp + 288] # 1-byte Folded Reload + mov edi, eax + movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload + shl al, 2 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 56] # 1-byte Folded Reload + shl al, 3 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload + shl al, 4 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 320] # 1-byte Folded Reload + shl al, 5 + or al, dil + mov byte ptr [rdx + 1], bl movzx ebx, byte ptr [rsp + 28] # 1-byte Folded Reload shl bl, 6 - shl r8b, 7 - or r8b, bl - or r8b, cl - mov byte ptr [rdx + 2], r15b - mov byte ptr [rdx + 3], r8b - add rsi, 128 + shl cl, 7 + or cl, bl + mov byte ptr [rdx + 2], r13b + or cl, al + mov byte ptr [rdx + 3], cl add rdx, 4 mov qword ptr [rsp + 272], rdx # 8-byte Spill add qword ptr [rsp + 152], -1 # 8-byte Folded Spill - jne .LBB10_78 -# %bb.79: + jne .LBB10_173 +# %bb.174: mov r14, qword ptr [rsp + 272] # 8-byte Reload mov r10, qword ptr [rsp + 280] # 8-byte Reload mov r15, qword ptr [rsp + 168] # 8-byte Reload shl r15, 5 cmp r15, r10 - jl .LBB10_119 - jmp .LBB10_175 -.LBB10_80: + jl .LBB10_176 + jmp .LBB10_194 +.LBB10_33: mov r14b, byte ptr [rdx] lea r15, [r10 + 31] test r10, r10 @@ -55316,11 +56718,11 @@ comparison_greater_equal_arr_scalar_avx2: # @comparison_greater_equal_arr_scalar cmovns eax, r9d and eax, -8 sub r9d, eax - je .LBB10_84 -# %bb.81: + je .LBB10_37 +# %bb.34: movsxd rax, r9d .p2align 4, 0x90 -.LBB10_82: # =>This Inner Loop Header: Depth=1 +.LBB10_35: # =>This Inner Loop Header: Depth=1 cmp byte ptr [rsi], r14b lea rsi, [rsi + 1] mov edx, 0 @@ -55342,39 +56744,39 @@ comparison_greater_equal_arr_scalar_avx2: # @comparison_greater_equal_arr_scalar mov byte ptr [r11 + rdi], bl add rax, 1 cmp rax, 8 - jne .LBB10_82 -# %bb.83: + jne .LBB10_35 +# %bb.36: add r11, 1 -.LBB10_84: +.LBB10_37: sar r15, 5 cmp r10, 32 - jl .LBB10_121 -# %bb.85: + jl .LBB10_38 +# %bb.39: cmp r15, 32 mov dword ptr [rsp + 28], r14d # 4-byte Spill mov qword ptr [rsp + 280], r10 # 8-byte Spill mov qword ptr [rsp + 368], r15 # 8-byte Spill - jb .LBB10_88 -# %bb.86: + jb .LBB10_40 +# %bb.41: mov rax, r15 shl rax, 5 add rax, rsi cmp r11, rax - jae .LBB10_185 -# %bb.87: + jae .LBB10_43 +# %bb.42: lea rax, [r11 + 4*r15] cmp rsi, rax - jae .LBB10_185 -.LBB10_88: + jae .LBB10_43 +.LBB10_40: xor eax, eax mov qword ptr [rsp + 384], rax # 8-byte Spill mov r12, rsi mov qword ptr [rsp + 360], r11 # 8-byte Spill -.LBB10_89: +.LBB10_46: sub r15, qword ptr [rsp + 384] # 8-byte Folded Reload mov qword ptr [rsp + 152], r15 # 8-byte Spill .p2align 4, 0x90 -.LBB10_90: # =>This Inner Loop Header: Depth=1 +.LBB10_47: # =>This Inner Loop Header: Depth=1 mov rcx, r12 cmp byte ptr [r12], r14b setae byte ptr [rsp + 32] # 1-byte Folded Spill @@ -55537,12 +56939,12 @@ comparison_greater_equal_arr_scalar_avx2: # @comparison_greater_equal_arr_scalar add rsi, 4 mov qword ptr [rsp + 360], rsi # 8-byte Spill add qword ptr [rsp + 152], -1 # 8-byte Folded Spill - jne .LBB10_90 -# %bb.91: + jne .LBB10_47 +# %bb.48: mov r10, qword ptr [rsp + 280] # 8-byte Reload mov r15, qword ptr [rsp + 368] # 8-byte Reload - jmp .LBB10_122 -.LBB10_92: + jmp .LBB10_49 +.LBB10_124: mov r13d, dword ptr [rdx] lea r15, [r10 + 31] test r10, r10 @@ -55552,11 +56954,11 @@ comparison_greater_equal_arr_scalar_avx2: # @comparison_greater_equal_arr_scalar cmovns eax, r9d and eax, -8 sub r9d, eax - je .LBB10_96 -# %bb.93: + je .LBB10_128 +# %bb.125: movsxd rax, r9d .p2align 4, 0x90 -.LBB10_94: # =>This Inner Loop Header: Depth=1 +.LBB10_126: # =>This Inner Loop Header: Depth=1 cmp dword ptr [rsi], r13d lea rsi, [rsi + 4] setge dl @@ -55578,24 +56980,24 @@ comparison_greater_equal_arr_scalar_avx2: # @comparison_greater_equal_arr_scalar mov byte ptr [r11 + rbx], dil add rax, 1 cmp rax, 8 - jne .LBB10_94 -# %bb.95: + jne .LBB10_126 +# %bb.127: add r11, 1 -.LBB10_96: +.LBB10_128: sar r15, 5 cmp r10, 32 - jl .LBB10_125 -# %bb.97: + jl .LBB10_129 +# %bb.130: mov qword ptr [rsp + 280], r10 # 8-byte Spill mov qword ptr [rsp + 176], r15 # 8-byte Spill mov qword ptr [rsp + 168], r15 # 8-byte Spill .p2align 4, 0x90 -.LBB10_98: # =>This Inner Loop Header: Depth=1 +.LBB10_131: # =>This Inner Loop Header: Depth=1 mov qword ptr [rsp + 272], r11 # 8-byte Spill cmp dword ptr [rsi], r13d setge byte ptr [rsp + 152] # 1-byte Folded Spill cmp dword ptr [rsi + 4], r13d - setge dil + setge r10b cmp dword ptr [rsi + 8], r13d setge r14b cmp dword ptr [rsi + 12], r13d @@ -55611,11 +57013,11 @@ comparison_greater_equal_arr_scalar_avx2: # @comparison_greater_equal_arr_scalar cmp dword ptr [rsi + 32], r13d setge byte ptr [rsp + 112] # 1-byte Folded Spill cmp dword ptr [rsi + 36], r13d - setge dl + setge dil cmp dword ptr [rsi + 40], r13d - setge r9b + setge r8b cmp dword ptr [rsi + 44], r13d - setge r10b + setge r9b cmp dword ptr [rsi + 48], r13d setge r11b cmp dword ptr [rsi + 52], r13d @@ -55655,32 +57057,33 @@ comparison_greater_equal_arr_scalar_avx2: # @comparison_greater_equal_arr_scalar cmp dword ptr [rsi + 120], r13d setge byte ptr [rsp + 28] # 1-byte Folded Spill cmp dword ptr [rsi + 124], r13d - setge r8b - add dil, dil - add dil, byte ptr [rsp + 152] # 1-byte Folded Reload + setge dl + add r10b, r10b + add r10b, byte ptr [rsp + 152] # 1-byte Folded Reload shl al, 6 shl bl, 7 or bl, al shl r14b, 2 - or r14b, dil - add dl, dl - add dl, byte ptr [rsp + 112] # 1-byte Folded Reload + or r14b, r10b + add dil, dil + add dil, byte ptr [rsp + 112] # 1-byte Folded Reload movzx eax, byte ptr [rsp + 160] # 1-byte Folded Reload shl al, 3 or al, r14b - shl r9b, 2 - or r9b, dl - movzx edx, byte ptr [rsp + 144] # 1-byte Folded Reload - shl dl, 4 - or dl, al - mov edi, edx - shl r10b, 3 - or r10b, r9b - movzx edx, byte ptr [rsp + 96] # 1-byte Folded Reload - shl dl, 5 - or dl, dil + mov r10d, eax + shl r8b, 2 + or r8b, dil + movzx eax, byte ptr [rsp + 144] # 1-byte Folded Reload + shl al, 4 + or al, r10b + mov edi, eax + shl r9b, 3 + or r9b, r8b + movzx eax, byte ptr [rsp + 96] # 1-byte Folded Reload + shl al, 5 + or al, dil shl r11b, 4 - or r11b, r10b + or r11b, r9b shl r12b, 5 or r12b, r11b mov r11, qword ptr [rsp + 272] # 8-byte Reload @@ -55688,228 +57091,228 @@ comparison_greater_equal_arr_scalar_avx2: # @comparison_greater_equal_arr_scalar shl dil, 6 shl cl, 7 or cl, dil - or bl, dl + or bl, al or cl, r12b - movzx edx, byte ptr [rsp + 128] # 1-byte Folded Reload - add dl, dl - add dl, byte ptr [rsp + 80] # 1-byte Folded Reload - mov edi, edx - movzx edx, byte ptr [rsp + 136] # 1-byte Folded Reload - shl dl, 2 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 72] # 1-byte Folded Reload - shl dl, 3 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 88] # 1-byte Folded Reload - shl dl, 4 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 104] # 1-byte Folded Reload - shl dl, 5 - or dl, dil + movzx eax, byte ptr [rsp + 128] # 1-byte Folded Reload + add al, al + add al, byte ptr [rsp + 80] # 1-byte Folded Reload + mov edi, eax + movzx eax, byte ptr [rsp + 136] # 1-byte Folded Reload + shl al, 2 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 72] # 1-byte Folded Reload + shl al, 3 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 88] # 1-byte Folded Reload + shl al, 4 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 104] # 1-byte Folded Reload + shl al, 5 + or al, dil mov byte ptr [r11], bl movzx ebx, byte ptr [rsp + 64] # 1-byte Folded Reload shl bl, 6 shl r15b, 7 or r15b, bl mov byte ptr [r11 + 1], cl - or r15b, dl - movzx ecx, byte ptr [rsp + 40] # 1-byte Folded Reload - add cl, cl - add cl, byte ptr [rsp + 32] # 1-byte Folded Reload - mov edx, ecx - movzx ecx, byte ptr [rsp + 48] # 1-byte Folded Reload - shl cl, 2 - or cl, dl - mov edx, ecx - movzx ecx, byte ptr [rsp + 56] # 1-byte Folded Reload - shl cl, 3 - or cl, dl - mov edx, ecx - movzx ecx, byte ptr [rsp + 320] # 1-byte Folded Reload - shl cl, 4 - or cl, dl - mov edx, ecx - movzx ecx, byte ptr [rsp + 288] # 1-byte Folded Reload - shl cl, 5 - or cl, dl - movzx edx, byte ptr [rsp + 28] # 1-byte Folded Reload - shl dl, 6 - shl r8b, 7 - or r8b, dl - or r8b, cl + or r15b, al + movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload + add al, al + add al, byte ptr [rsp + 32] # 1-byte Folded Reload + mov ecx, eax + movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload + shl al, 2 + or al, cl + mov ecx, eax + movzx eax, byte ptr [rsp + 56] # 1-byte Folded Reload + shl al, 3 + or al, cl + mov ecx, eax + movzx eax, byte ptr [rsp + 320] # 1-byte Folded Reload + shl al, 4 + or al, cl + mov ecx, eax + movzx eax, byte ptr [rsp + 288] # 1-byte Folded Reload + shl al, 5 + or al, cl + movzx ecx, byte ptr [rsp + 28] # 1-byte Folded Reload + shl cl, 6 + shl dl, 7 + or dl, cl + or dl, al mov byte ptr [r11 + 2], r15b - mov byte ptr [r11 + 3], r8b + mov byte ptr [r11 + 3], dl add rsi, 128 add r11, 4 add qword ptr [rsp + 168], -1 # 8-byte Folded Spill - jne .LBB10_98 -# %bb.99: + jne .LBB10_131 +# %bb.132: mov r14, r11 mov r10, qword ptr [rsp + 280] # 8-byte Reload mov r15, qword ptr [rsp + 176] # 8-byte Reload shl r15, 5 cmp r15, r10 - jl .LBB10_126 - jmp .LBB10_175 -.LBB10_100: + jl .LBB10_134 + jmp .LBB10_194 +.LBB10_14: mov r14, r11 shl r15, 5 cmp r15, r10 - jge .LBB10_175 -.LBB10_101: + jge .LBB10_194 +.LBB10_118: mov r8, r10 sub r8, r15 not r15 add r15, r10 - jne .LBB10_133 -# %bb.102: + jne .LBB10_122 +# %bb.119: xor r11d, r11d - jmp .LBB10_135 -.LBB10_103: + jmp .LBB10_120 +.LBB10_32: mov r14, r11 shl r15, 5 cmp r15, r10 - jge .LBB10_175 -.LBB10_104: + jge .LBB10_194 +.LBB10_186: mov r8, r10 sub r8, r15 not r15 add r15, r10 - jne .LBB10_137 -# %bb.105: + jne .LBB10_188 +# %bb.187: xor r11d, r11d - jmp .LBB10_139 -.LBB10_106: + jmp .LBB10_190 +.LBB10_23: mov r14, r11 shl r15, 5 cmp r15, r10 - jge .LBB10_175 -.LBB10_107: + jge .LBB10_194 +.LBB10_144: mov r8, r10 sub r8, r15 not r15 add r15, r10 - jne .LBB10_141 -# %bb.108: + jne .LBB10_148 +# %bb.145: xor r11d, r11d - jmp .LBB10_143 -.LBB10_109: + jmp .LBB10_146 +.LBB10_86: mov r14, r11 shl r15, 5 cmp r15, r10 - jge .LBB10_175 -.LBB10_110: + jge .LBB10_194 +.LBB10_91: mov r8, r10 sub r8, r15 not r15 add r15, r10 - jne .LBB10_145 -# %bb.111: + jne .LBB10_95 +# %bb.92: xor r11d, r11d - jmp .LBB10_147 -.LBB10_112: + jmp .LBB10_93 +.LBB10_102: mov r14, r11 shl r15, 5 cmp r15, r10 - jge .LBB10_175 -.LBB10_113: + jge .LBB10_194 +.LBB10_107: mov r8, r10 sub r8, r15 not r15 add r15, r10 - jne .LBB10_150 -# %bb.114: + jne .LBB10_112 +# %bb.108: xor r11d, r11d - jmp .LBB10_152 -.LBB10_115: + jmp .LBB10_109 +.LBB10_155: mov r14, r11 shl r15, 5 cmp r15, r10 - jge .LBB10_175 -.LBB10_116: + jge .LBB10_194 +.LBB10_160: mov r8, r10 sub r8, r15 not r15 add r15, r10 - jne .LBB10_154 -# %bb.117: + jne .LBB10_164 +# %bb.161: xor r11d, r11d - jmp .LBB10_156 -.LBB10_118: + jmp .LBB10_162 +.LBB10_171: mov r14, r11 shl r15, 5 cmp r15, r10 - jge .LBB10_175 -.LBB10_119: + jge .LBB10_194 +.LBB10_176: mov r8, r10 sub r8, r15 not r15 add r15, r10 - jne .LBB10_158 -# %bb.120: + jne .LBB10_180 +# %bb.177: xor r11d, r11d - jmp .LBB10_160 -.LBB10_121: + jmp .LBB10_178 +.LBB10_38: mov qword ptr [rsp + 360], r11 # 8-byte Spill mov r12, rsi -.LBB10_122: +.LBB10_49: shl r15, 5 cmp r15, r10 - jge .LBB10_175 -# %bb.123: + jge .LBB10_194 +# %bb.50: mov r8, r10 sub r8, r15 not r15 add r15, r10 - jne .LBB10_163 -# %bb.124: + jne .LBB10_52 +# %bb.51: xor esi, esi - jmp .LBB10_166 -.LBB10_125: + jmp .LBB10_55 +.LBB10_129: mov r14, r11 shl r15, 5 cmp r15, r10 - jge .LBB10_175 -.LBB10_126: + jge .LBB10_194 +.LBB10_134: mov r8, r10 sub r8, r15 not r15 add r15, r10 - jne .LBB10_168 -# %bb.127: + jne .LBB10_138 +# %bb.135: xor r11d, r11d - jmp .LBB10_170 -.LBB10_128: + jmp .LBB10_136 +.LBB10_5: mov r13, r11 sar r15, 5 cmp r10, 32 - jge .LBB10_31 -.LBB10_129: + jge .LBB10_63 +.LBB10_62: mov qword ptr [rsp + 360], r13 # 8-byte Spill mov r12, rsi -.LBB10_130: +.LBB10_73: shl r15, 5 cmp r15, r10 - jge .LBB10_175 -# %bb.131: + jge .LBB10_194 +# %bb.74: mov r8, r10 sub r8, r15 not r15 add r15, r10 - jne .LBB10_176 -# %bb.132: + jne .LBB10_76 +# %bb.75: xor esi, esi - jmp .LBB10_179 -.LBB10_133: + jmp .LBB10_79 +.LBB10_122: mov r9, r8 and r9, -2 xor r11d, r11d mov r15, r14 .p2align 4, 0x90 -.LBB10_134: # =>This Inner Loop Header: Depth=1 +.LBB10_123: # =>This Inner Loop Header: Depth=1 cmp dword ptr [rsi], r13d mov edi, 0 adc dil, -1 @@ -55937,40 +57340,42 @@ comparison_greater_equal_arr_scalar_avx2: # @comparison_greater_equal_arr_scalar xor bl, al mov byte ptr [r15 + rdx], bl cmp r9, r11 - jne .LBB10_134 -.LBB10_135: + jne .LBB10_123 +.LBB10_120: test r8b, 1 - je .LBB10_175 -# %bb.136: + je .LBB10_194 +# %bb.121: xor eax, eax cmp dword ptr [rsi], r13d - jmp .LBB10_149 -.LBB10_137: + jmp .LBB10_192 +.LBB10_188: mov r10, r8 and r10, -2 xor r11d, r11d mov r15, r14 .p2align 4, 0x90 -.LBB10_138: # =>This Inner Loop Header: Depth=1 - vucomisd xmm0, qword ptr [rsi] - setbe al - neg al +.LBB10_189: # =>This Inner Loop Header: Depth=1 + vmovsd xmm1, qword ptr [rsi] # xmm1 = mem[0],zero + vucomisd xmm1, xmm0 + mov eax, 0 + adc al, -1 mov rdi, r11 shr rdi, 3 movzx r9d, byte ptr [r15 + rdi] + xor al, r9b mov ecx, r11d and cl, 6 mov bl, 1 shl bl, cl - xor al, r9b and bl, al xor bl, r9b mov byte ptr [r15 + rdi], bl add r11, 2 - vucomisd xmm0, qword ptr [rsi + 8] - setbe al + vmovsd xmm1, qword ptr [rsi + 8] # xmm1 = mem[0],zero add rsi, 16 - neg al + vucomisd xmm1, xmm0 + mov eax, 0 + adc al, -1 xor al, bl or cl, 1 mov dl, 1 @@ -55979,20 +57384,22 @@ comparison_greater_equal_arr_scalar_avx2: # @comparison_greater_equal_arr_scalar xor dl, bl mov byte ptr [r15 + rdi], dl cmp r10, r11 - jne .LBB10_138 -.LBB10_139: + jne .LBB10_189 +.LBB10_190: test r8b, 1 - je .LBB10_175 -# %bb.140: - vucomisd xmm0, qword ptr [rsi] - jmp .LBB10_162 -.LBB10_141: + je .LBB10_194 +# %bb.191: + vmovsd xmm1, qword ptr [rsi] # xmm1 = mem[0],zero + xor eax, eax + vucomisd xmm1, xmm0 + jmp .LBB10_192 +.LBB10_148: mov r9, r8 and r9, -2 xor r11d, r11d mov r15, r14 .p2align 4, 0x90 -.LBB10_142: # =>This Inner Loop Header: Depth=1 +.LBB10_149: # =>This Inner Loop Header: Depth=1 cmp qword ptr [rsi], r13 mov edi, 0 adc dil, -1 @@ -56020,21 +57427,21 @@ comparison_greater_equal_arr_scalar_avx2: # @comparison_greater_equal_arr_scalar xor bl, al mov byte ptr [r15 + rdx], bl cmp r9, r11 - jne .LBB10_142 -.LBB10_143: + jne .LBB10_149 +.LBB10_146: test r8b, 1 - je .LBB10_175 -# %bb.144: + je .LBB10_194 +# %bb.147: xor eax, eax cmp qword ptr [rsi], r13 - jmp .LBB10_149 -.LBB10_145: + jmp .LBB10_192 +.LBB10_95: mov r9, r8 and r9, -2 xor r11d, r11d mov r15, r14 .p2align 4, 0x90 -.LBB10_146: # =>This Inner Loop Header: Depth=1 +.LBB10_96: # =>This Inner Loop Header: Depth=1 cmp word ptr [rsi], r13w mov edi, 0 adc dil, -1 @@ -56062,32 +57469,21 @@ comparison_greater_equal_arr_scalar_avx2: # @comparison_greater_equal_arr_scalar xor bl, al mov byte ptr [r15 + rdx], bl cmp r9, r11 - jne .LBB10_146 -.LBB10_147: + jne .LBB10_96 +.LBB10_93: test r8b, 1 - je .LBB10_175 -# %bb.148: + je .LBB10_194 +# %bb.94: xor eax, eax cmp word ptr [rsi], r13w -.LBB10_149: - adc al, -1 - mov rdx, r11 - shr rdx, 3 - mov sil, byte ptr [r14 + rdx] - and r11b, 7 - mov bl, 1 - mov ecx, r11d - shl bl, cl - xor al, sil - and bl, al - jmp .LBB10_174 -.LBB10_150: + jmp .LBB10_192 +.LBB10_112: mov r10, r8 and r10, -2 xor r11d, r11d mov r15, r14 .p2align 4, 0x90 -.LBB10_151: # =>This Inner Loop Header: Depth=1 +.LBB10_113: # =>This Inner Loop Header: Depth=1 cmp word ptr [rsi], r13w setge al neg al @@ -56115,20 +57511,20 @@ comparison_greater_equal_arr_scalar_avx2: # @comparison_greater_equal_arr_scalar xor dl, bl mov byte ptr [r15 + rdi], dl cmp r10, r11 - jne .LBB10_151 -.LBB10_152: + jne .LBB10_113 +.LBB10_109: test r8b, 1 - je .LBB10_175 -# %bb.153: + je .LBB10_194 +# %bb.110: cmp word ptr [rsi], r13w - jmp .LBB10_172 -.LBB10_154: + jmp .LBB10_111 +.LBB10_164: mov r10, r8 and r10, -2 xor r11d, r11d mov r15, r14 .p2align 4, 0x90 -.LBB10_155: # =>This Inner Loop Header: Depth=1 +.LBB10_165: # =>This Inner Loop Header: Depth=1 cmp qword ptr [rsi], r13 setge al neg al @@ -56156,39 +57552,41 @@ comparison_greater_equal_arr_scalar_avx2: # @comparison_greater_equal_arr_scalar xor dl, bl mov byte ptr [r15 + rdi], dl cmp r10, r11 - jne .LBB10_155 -.LBB10_156: + jne .LBB10_165 +.LBB10_162: test r8b, 1 - je .LBB10_175 -# %bb.157: + je .LBB10_194 +# %bb.163: cmp qword ptr [rsi], r13 - jmp .LBB10_172 -.LBB10_158: + jmp .LBB10_111 +.LBB10_180: mov r10, r8 and r10, -2 xor r11d, r11d mov r15, r14 .p2align 4, 0x90 -.LBB10_159: # =>This Inner Loop Header: Depth=1 - vucomiss xmm0, dword ptr [rsi] - setbe al - neg al +.LBB10_181: # =>This Inner Loop Header: Depth=1 + vmovss xmm1, dword ptr [rsi] # xmm1 = mem[0],zero,zero,zero + vucomiss xmm1, xmm0 + mov eax, 0 + adc al, -1 mov rdi, r11 shr rdi, 3 movzx r9d, byte ptr [r15 + rdi] + xor al, r9b mov ecx, r11d and cl, 6 mov bl, 1 shl bl, cl - xor al, r9b and bl, al xor bl, r9b mov byte ptr [r15 + rdi], bl add r11, 2 - vucomiss xmm0, dword ptr [rsi + 4] - setbe al + vmovss xmm1, dword ptr [rsi + 4] # xmm1 = mem[0],zero,zero,zero add rsi, 8 - neg al + vucomiss xmm1, xmm0 + mov eax, 0 + adc al, -1 xor al, bl or cl, 1 mov dl, 1 @@ -56197,22 +57595,33 @@ comparison_greater_equal_arr_scalar_avx2: # @comparison_greater_equal_arr_scalar xor dl, bl mov byte ptr [r15 + rdi], dl cmp r10, r11 - jne .LBB10_159 -.LBB10_160: + jne .LBB10_181 +.LBB10_178: test r8b, 1 - je .LBB10_175 -# %bb.161: - vucomiss xmm0, dword ptr [rsi] -.LBB10_162: - setbe al - jmp .LBB10_173 -.LBB10_163: + je .LBB10_194 +# %bb.179: + vmovss xmm1, dword ptr [rsi] # xmm1 = mem[0],zero,zero,zero + xor eax, eax + vucomiss xmm1, xmm0 +.LBB10_192: + adc al, -1 + mov rdx, r11 + shr rdx, 3 + mov sil, byte ptr [r14 + rdx] + and r11b, 7 + mov bl, 1 + mov ecx, r11d + shl bl, cl + xor al, sil + and bl, al + jmp .LBB10_193 +.LBB10_52: mov r10, r8 and r10, -2 xor esi, esi mov r11, qword ptr [rsp + 360] # 8-byte Reload .p2align 4, 0x90 -.LBB10_164: # =>This Inner Loop Header: Depth=1 +.LBB10_53: # =>This Inner Loop Header: Depth=1 cmp byte ptr [r12 + rsi], r14b mov ebx, 0 adc bl, -1 @@ -56239,13 +57648,13 @@ comparison_greater_equal_arr_scalar_avx2: # @comparison_greater_equal_arr_scalar xor al, dl mov byte ptr [r11 + rdi], al cmp r10, rsi - jne .LBB10_164 -# %bb.165: + jne .LBB10_53 +# %bb.54: add r12, rsi -.LBB10_166: +.LBB10_55: test r8b, 1 - je .LBB10_175 -# %bb.167: + je .LBB10_194 +# %bb.56: xor eax, eax cmp byte ptr [r12], r14b adc al, -1 @@ -56259,14 +57668,14 @@ comparison_greater_equal_arr_scalar_avx2: # @comparison_greater_equal_arr_scalar shl bl, cl xor al, dil and bl, al - jmp .LBB10_181 -.LBB10_168: + jmp .LBB10_57 +.LBB10_138: mov r10, r8 and r10, -2 xor r11d, r11d mov r15, r14 .p2align 4, 0x90 -.LBB10_169: # =>This Inner Loop Header: Depth=1 +.LBB10_139: # =>This Inner Loop Header: Depth=1 cmp dword ptr [rsi], r13d setge al neg al @@ -56294,15 +57703,14 @@ comparison_greater_equal_arr_scalar_avx2: # @comparison_greater_equal_arr_scalar xor dl, bl mov byte ptr [r15 + rdi], dl cmp r10, r11 - jne .LBB10_169 -.LBB10_170: + jne .LBB10_139 +.LBB10_136: test r8b, 1 - je .LBB10_175 -# %bb.171: + je .LBB10_194 +# %bb.137: cmp dword ptr [rsi], r13d -.LBB10_172: +.LBB10_111: setge al -.LBB10_173: neg al mov rdx, r11 shr rdx, 3 @@ -56313,10 +57721,10 @@ comparison_greater_equal_arr_scalar_avx2: # @comparison_greater_equal_arr_scalar shl bl, cl xor al, sil and bl, al -.LBB10_174: +.LBB10_193: xor bl, sil mov byte ptr [r14 + rdx], bl -.LBB10_175: +.LBB10_194: lea rsp, [rbp - 40] pop rbx pop r12 @@ -56326,13 +57734,13 @@ comparison_greater_equal_arr_scalar_avx2: # @comparison_greater_equal_arr_scalar pop rbp vzeroupper ret -.LBB10_176: +.LBB10_76: mov r10, r8 and r10, -2 xor esi, esi mov r11, qword ptr [rsp + 360] # 8-byte Reload .p2align 4, 0x90 -.LBB10_177: # =>This Inner Loop Header: Depth=1 +.LBB10_77: # =>This Inner Loop Header: Depth=1 cmp byte ptr [r12 + rsi], r14b setge bl neg bl @@ -56359,13 +57767,13 @@ comparison_greater_equal_arr_scalar_avx2: # @comparison_greater_equal_arr_scalar xor al, dl mov byte ptr [r11 + rdi], al cmp r10, rsi - jne .LBB10_177 -# %bb.178: + jne .LBB10_77 +# %bb.78: add r12, rsi -.LBB10_179: +.LBB10_79: test r8b, 1 - je .LBB10_175 -# %bb.180: + je .LBB10_194 +# %bb.80: cmp byte ptr [r12], r14b setge al neg al @@ -56379,11 +57787,11 @@ comparison_greater_equal_arr_scalar_avx2: # @comparison_greater_equal_arr_scalar shl bl, cl xor al, dil and bl, al -.LBB10_181: +.LBB10_57: xor bl, dil mov byte ptr [r8 + rdx], bl - jmp .LBB10_175 -.LBB10_182: + jmp .LBB10_194 +.LBB10_67: and r15, -32 mov rax, r15 shl rax, 5 @@ -56399,7 +57807,7 @@ comparison_greater_equal_arr_scalar_avx2: # @comparison_greater_equal_arr_scalar xor eax, eax mov qword ptr [rsp + 272], r13 # 8-byte Spill .p2align 4, 0x90 -.LBB10_183: # =>This Inner Loop Header: Depth=1 +.LBB10_68: # =>This Inner Loop Header: Depth=1 mov rbx, rax mov qword ptr [rsp + 376], rax # 8-byte Spill shl rbx, 5 @@ -58490,16 +59898,16 @@ comparison_greater_equal_arr_scalar_avx2: # @comparison_greater_equal_arr_scalar add rcx, 32 mov rax, rcx cmp rcx, qword ptr [rsp + 416] # 8-byte Folded Reload - jne .LBB10_183 -# %bb.184: + jne .LBB10_68 +# %bb.69: mov r15, qword ptr [rsp + 608] # 8-byte Reload cmp r15, qword ptr [rsp + 416] # 8-byte Folded Reload mov r10, qword ptr [rsp + 280] # 8-byte Reload mov r14d, dword ptr [rsp + 28] # 4-byte Reload mov r12, qword ptr [rsp + 368] # 8-byte Reload - jne .LBB10_35 - jmp .LBB10_130 -.LBB10_185: + jne .LBB10_70 + jmp .LBB10_73 +.LBB10_43: and r15, -32 mov rax, r15 shl rax, 5 @@ -58514,7 +59922,7 @@ comparison_greater_equal_arr_scalar_avx2: # @comparison_greater_equal_arr_scalar xor eax, eax mov qword ptr [rsp + 272], r11 # 8-byte Spill .p2align 4, 0x90 -.LBB10_186: # =>This Inner Loop Header: Depth=1 +.LBB10_44: # =>This Inner Loop Header: Depth=1 mov rbx, rax mov qword ptr [rsp + 376], rax # 8-byte Spill shl rbx, 5 @@ -60651,15 +62059,15 @@ comparison_greater_equal_arr_scalar_avx2: # @comparison_greater_equal_arr_scalar add rcx, 32 mov rax, rcx cmp rcx, qword ptr [rsp + 384] # 8-byte Folded Reload - jne .LBB10_186 -# %bb.187: + jne .LBB10_44 +# %bb.45: mov r15, qword ptr [rsp + 368] # 8-byte Reload cmp r15, qword ptr [rsp + 384] # 8-byte Folded Reload mov r10, qword ptr [rsp + 280] # 8-byte Reload mov r14d, dword ptr [rsp + 28] # 4-byte Reload mov r12, qword ptr [rsp + 536] # 8-byte Reload - jne .LBB10_89 - jmp .LBB10_122 + jne .LBB10_46 + jmp .LBB10_49 .Lfunc_end10: .size comparison_greater_equal_arr_scalar_avx2, .Lfunc_end10-comparison_greater_equal_arr_scalar_avx2 # -- End function diff --git a/arrow/compute/internal/kernels/_lib/scalar_comparison_sse4_amd64.s b/arrow/compute/internal/kernels/_lib/scalar_comparison_sse4_amd64.s index 762c9e85..851ea35f 100644 --- a/arrow/compute/internal/kernels/_lib/scalar_comparison_sse4_amd64.s +++ b/arrow/compute/internal/kernels/_lib/scalar_comparison_sse4_amd64.s @@ -15,9 +15,9 @@ comparison_equal_arr_arr_sse4: # @comparison_equal_arr_arr_sse4 push rbx and rsp, -8 sub rsp, 72 - # kill: def $r9d killed $r9d def $r9 - mov r11, r8 - mov r14, rcx + mov eax, r9d + mov r14, r8 + mov r12, rcx cmp edi, 6 jg .LBB0_29 # %bb.1: @@ -33,17 +33,17 @@ comparison_equal_arr_arr_sse4: # @comparison_equal_arr_arr_sse4 cmp edi, 6 jne .LBB0_123 # %bb.18: - lea r15, [r11 + 31] - test r11, r11 - cmovns r15, r11 - lea eax, [r9 + 7] - test r9d, r9d - cmovns eax, r9d - and eax, -8 - sub r9d, eax + lea r15, [r14 + 31] + test r14, r14 + cmovns r15, r14 + lea ecx, [rax + 7] + test eax, eax + cmovns ecx, eax + and ecx, -8 + sub eax, ecx je .LBB0_22 # %bb.19: - movsxd rax, r9d + cdqe .p2align 4, 0x90 .LBB0_20: # =>This Inner Loop Header: Depth=1 mov ecx, dword ptr [rsi] @@ -56,7 +56,7 @@ comparison_equal_arr_arr_sse4: # @comparison_equal_arr_arr_sse4 test rax, rax cmovns rdi, rax sar rdi, 3 - movzx r8d, byte ptr [r14 + rdi] + movzx r8d, byte ptr [r12 + rdi] xor r10b, r8b lea r9d, [8*rdi] mov ecx, eax @@ -66,50 +66,50 @@ comparison_equal_arr_arr_sse4: # @comparison_equal_arr_arr_sse4 shl ebx, cl and bl, r10b xor bl, r8b - mov byte ptr [r14 + rdi], bl + mov byte ptr [r12 + rdi], bl add rax, 1 cmp rax, 8 jne .LBB0_20 # %bb.21: - add r14, 1 + add r12, 1 .LBB0_22: sar r15, 5 - cmp r11, 32 + cmp r14, 32 jl .LBB0_26 # %bb.23: - mov qword ptr [rsp + 24], r11 # 8-byte Spill - mov qword ptr [rsp + 64], r15 # 8-byte Spill + mov qword ptr [rsp + 24], r14 # 8-byte Spill mov qword ptr [rsp + 56], r15 # 8-byte Spill + mov qword ptr [rsp + 32], r15 # 8-byte Spill .p2align 4, 0x90 .LBB0_24: # =>This Inner Loop Header: Depth=1 - mov qword ptr [rsp + 48], r14 # 8-byte Spill + mov qword ptr [rsp + 48], r12 # 8-byte Spill mov eax, dword ptr [rsi] mov ecx, dword ptr [rsi + 4] cmp eax, dword ptr [rdx] - sete byte ptr [rsp + 40] # 1-byte Folded Spill + sete byte ptr [rsp + 4] # 1-byte Folded Spill cmp ecx, dword ptr [rdx + 4] - sete byte ptr [rsp + 32] # 1-byte Folded Spill + sete byte ptr [rsp + 40] # 1-byte Folded Spill mov eax, dword ptr [rsi + 8] cmp eax, dword ptr [rdx + 8] - sete byte ptr [rsp + 20] # 1-byte Folded Spill + sete byte ptr [rsp + 21] # 1-byte Folded Spill mov eax, dword ptr [rsi + 12] cmp eax, dword ptr [rdx + 12] - sete byte ptr [rsp + 21] # 1-byte Folded Spill + sete byte ptr [rsp + 22] # 1-byte Folded Spill mov eax, dword ptr [rsi + 16] cmp eax, dword ptr [rdx + 16] - sete byte ptr [rsp + 22] # 1-byte Folded Spill + sete byte ptr [rsp + 23] # 1-byte Folded Spill mov eax, dword ptr [rsi + 20] cmp eax, dword ptr [rdx + 20] - sete byte ptr [rsp + 23] # 1-byte Folded Spill + sete byte ptr [rsp + 3] # 1-byte Folded Spill mov eax, dword ptr [rsi + 24] cmp eax, dword ptr [rdx + 24] - sete byte ptr [rsp + 4] # 1-byte Folded Spill + sete byte ptr [rsp + 5] # 1-byte Folded Spill mov eax, dword ptr [rsi + 28] cmp eax, dword ptr [rdx + 28] sete r13b mov eax, dword ptr [rsi + 32] cmp eax, dword ptr [rdx + 32] - sete byte ptr [rsp + 9] # 1-byte Folded Spill + sete byte ptr [rsp + 10] # 1-byte Folded Spill mov eax, dword ptr [rsi + 36] cmp eax, dword ptr [rdx + 36] sete r8b @@ -121,166 +121,166 @@ comparison_equal_arr_arr_sse4: # @comparison_equal_arr_arr_sse4 sete r15b mov eax, dword ptr [rsi + 48] cmp eax, dword ptr [rdx + 48] - sete byte ptr [rsp + 5] # 1-byte Folded Spill + sete byte ptr [rsp + 6] # 1-byte Folded Spill mov eax, dword ptr [rsi + 52] cmp eax, dword ptr [rdx + 52] - sete byte ptr [rsp + 6] # 1-byte Folded Spill + sete byte ptr [rsp + 7] # 1-byte Folded Spill mov eax, dword ptr [rsi + 56] cmp eax, dword ptr [rdx + 56] - sete byte ptr [rsp + 7] # 1-byte Folded Spill + sete byte ptr [rsp + 8] # 1-byte Folded Spill mov eax, dword ptr [rsi + 60] cmp eax, dword ptr [rdx + 60] - sete bl + sete dil mov eax, dword ptr [rsi + 64] - mov ecx, dword ptr [rsi + 68] + mov ebx, dword ptr [rsi + 68] cmp eax, dword ptr [rdx + 64] mov eax, dword ptr [rsi + 72] - sete byte ptr [rsp + 10] # 1-byte Folded Spill - cmp ecx, dword ptr [rdx + 68] - mov ecx, dword ptr [rsi + 76] + sete byte ptr [rsp + 11] # 1-byte Folded Spill + cmp ebx, dword ptr [rdx + 68] + mov ebx, dword ptr [rsi + 76] sete r10b cmp eax, dword ptr [rdx + 72] mov eax, dword ptr [rsi + 80] sete r14b - cmp ecx, dword ptr [rdx + 76] - mov ecx, dword ptr [rsi + 84] + cmp ebx, dword ptr [rdx + 76] + mov ebx, dword ptr [rsi + 84] sete r12b cmp eax, dword ptr [rdx + 80] - sete byte ptr [rsp + 8] # 1-byte Folded Spill - cmp ecx, dword ptr [rdx + 84] + sete byte ptr [rsp + 9] # 1-byte Folded Spill + cmp ebx, dword ptr [rdx + 84] mov eax, dword ptr [rsi + 88] - sete byte ptr [rsp + 11] # 1-byte Folded Spill + sete byte ptr [rsp + 12] # 1-byte Folded Spill cmp eax, dword ptr [rdx + 88] mov eax, dword ptr [rsi + 92] - sete byte ptr [rsp + 12] # 1-byte Folded Spill + sete byte ptr [rsp + 13] # 1-byte Folded Spill cmp eax, dword ptr [rdx + 92] mov eax, dword ptr [rsi + 96] sete r9b cmp eax, dword ptr [rdx + 96] mov eax, dword ptr [rsi + 100] - sete byte ptr [rsp + 19] # 1-byte Folded Spill + sete byte ptr [rsp + 20] # 1-byte Folded Spill cmp eax, dword ptr [rdx + 100] mov eax, dword ptr [rsi + 104] - sete byte ptr [rsp + 13] # 1-byte Folded Spill + sete byte ptr [rsp + 14] # 1-byte Folded Spill cmp eax, dword ptr [rdx + 104] mov eax, dword ptr [rsi + 108] - sete byte ptr [rsp + 14] # 1-byte Folded Spill + sete byte ptr [rsp + 15] # 1-byte Folded Spill cmp eax, dword ptr [rdx + 108] mov eax, dword ptr [rsi + 112] - sete byte ptr [rsp + 15] # 1-byte Folded Spill + sete byte ptr [rsp + 16] # 1-byte Folded Spill cmp eax, dword ptr [rdx + 112] mov eax, dword ptr [rsi + 116] - sete byte ptr [rsp + 16] # 1-byte Folded Spill + sete byte ptr [rsp + 17] # 1-byte Folded Spill cmp eax, dword ptr [rdx + 116] mov eax, dword ptr [rsi + 120] - sete byte ptr [rsp + 18] # 1-byte Folded Spill + sete byte ptr [rsp + 19] # 1-byte Folded Spill cmp eax, dword ptr [rdx + 120] mov eax, dword ptr [rsi + 124] - sete byte ptr [rsp + 17] # 1-byte Folded Spill + sete byte ptr [rsp + 18] # 1-byte Folded Spill sub rsi, -128 cmp eax, dword ptr [rdx + 124] - sete dil - movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload + sete cl + movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 40] # 1-byte Folded Reload - mov ecx, eax - movzx eax, byte ptr [rsp + 4] # 1-byte Folded Reload + add al, byte ptr [rsp + 4] # 1-byte Folded Reload + mov ebx, eax + movzx eax, byte ptr [rsp + 5] # 1-byte Folded Reload shl al, 6 shl r13b, 7 or r13b, al - movzx eax, byte ptr [rsp + 20] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 21] # 1-byte Folded Reload shl al, 2 - or al, cl + or al, bl add r8b, r8b - add r8b, byte ptr [rsp + 9] # 1-byte Folded Reload - movzx ecx, byte ptr [rsp + 21] # 1-byte Folded Reload - shl cl, 3 - or cl, al - mov eax, ecx + add r8b, byte ptr [rsp + 10] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 22] # 1-byte Folded Reload + shl bl, 3 + or bl, al + mov eax, ebx shl r11b, 2 or r11b, r8b - movzx ecx, byte ptr [rsp + 22] # 1-byte Folded Reload - shl cl, 4 - or cl, al - mov r8d, ecx + movzx ebx, byte ptr [rsp + 23] # 1-byte Folded Reload + shl bl, 4 + or bl, al + mov r8d, ebx shl r15b, 3 or r15b, r11b - movzx ecx, byte ptr [rsp + 23] # 1-byte Folded Reload - shl cl, 5 - or cl, r8b - movzx eax, byte ptr [rsp + 5] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 3] # 1-byte Folded Reload + shl bl, 5 + or bl, r8b + movzx eax, byte ptr [rsp + 6] # 1-byte Folded Reload shl al, 4 or al, r15b mov r8d, eax - movzx eax, byte ptr [rsp + 6] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 7] # 1-byte Folded Reload shl al, 5 or al, r8b - movzx r8d, byte ptr [rsp + 7] # 1-byte Folded Reload + movzx r8d, byte ptr [rsp + 8] # 1-byte Folded Reload shl r8b, 6 - shl bl, 7 - or bl, r8b - or r13b, cl - or bl, al + shl dil, 7 + or dil, r8b + or r13b, bl + or dil, al add r10b, r10b - add r10b, byte ptr [rsp + 10] # 1-byte Folded Reload + add r10b, byte ptr [rsp + 11] # 1-byte Folded Reload shl r14b, 2 or r14b, r10b shl r12b, 3 or r12b, r14b - movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 9] # 1-byte Folded Reload shl al, 4 or al, r12b - mov ecx, eax - mov r14, qword ptr [rsp + 48] # 8-byte Reload - movzx eax, byte ptr [rsp + 11] # 1-byte Folded Reload + mov ebx, eax + mov r12, qword ptr [rsp + 48] # 8-byte Reload + movzx eax, byte ptr [rsp + 12] # 1-byte Folded Reload shl al, 5 - or al, cl - mov byte ptr [r14], r13b - movzx ecx, byte ptr [rsp + 12] # 1-byte Folded Reload - shl cl, 6 + or al, bl + mov byte ptr [r12], r13b + movzx ebx, byte ptr [rsp + 13] # 1-byte Folded Reload + shl bl, 6 shl r9b, 7 - or r9b, cl - mov byte ptr [r14 + 1], bl + or r9b, bl + mov byte ptr [r12 + 1], dil or r9b, al - movzx eax, byte ptr [rsp + 13] # 1-byte Folded Reload - add al, al - add al, byte ptr [rsp + 19] # 1-byte Folded Reload - mov ecx, eax movzx eax, byte ptr [rsp + 14] # 1-byte Folded Reload - shl al, 2 - or al, cl - mov ecx, eax + add al, al + add al, byte ptr [rsp + 20] # 1-byte Folded Reload + mov ebx, eax movzx eax, byte ptr [rsp + 15] # 1-byte Folded Reload - shl al, 3 - or al, cl - mov ecx, eax + shl al, 2 + or al, bl + mov ebx, eax movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload + shl al, 3 + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 17] # 1-byte Folded Reload shl al, 4 - or al, cl - mov ecx, eax - movzx eax, byte ptr [rsp + 18] # 1-byte Folded Reload + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 19] # 1-byte Folded Reload shl al, 5 - or al, cl - movzx ecx, byte ptr [rsp + 17] # 1-byte Folded Reload - shl cl, 6 - shl dil, 7 - or dil, cl - or dil, al - mov byte ptr [r14 + 2], r9b - mov byte ptr [r14 + 3], dil + or al, bl + movzx ebx, byte ptr [rsp + 18] # 1-byte Folded Reload + shl bl, 6 + shl cl, 7 + or cl, bl + or cl, al + mov byte ptr [r12 + 2], r9b + mov byte ptr [r12 + 3], cl add rdx, 128 - add r14, 4 - add qword ptr [rsp + 56], -1 # 8-byte Folded Spill + add r12, 4 + add qword ptr [rsp + 32], -1 # 8-byte Folded Spill jne .LBB0_24 # %bb.25: - mov r11, qword ptr [rsp + 24] # 8-byte Reload - mov r15, qword ptr [rsp + 64] # 8-byte Reload + mov r14, qword ptr [rsp + 24] # 8-byte Reload + mov r15, qword ptr [rsp + 56] # 8-byte Reload .LBB0_26: shl r15, 5 - cmp r15, r11 + cmp r15, r14 jge .LBB0_123 # %bb.27: - sub r11, r15 + sub r14, r15 xor ecx, ecx .p2align 4, 0x90 .LBB0_28: # =>This Inner Loop Header: Depth=1 @@ -291,7 +291,7 @@ comparison_equal_arr_arr_sse4: # @comparison_equal_arr_arr_sse4 neg bl mov rdi, rcx shr rdi, 3 - movzx r9d, byte ptr [r14 + rdi] + movzx r9d, byte ptr [r12 + rdi] xor bl, r9b and cl, 7 mov al, 1 @@ -299,9 +299,9 @@ comparison_equal_arr_arr_sse4: # @comparison_equal_arr_arr_sse4 shl al, cl and al, bl xor al, r9b - mov byte ptr [r14 + rdi], al + mov byte ptr [r12 + rdi], al mov rcx, r8 - cmp r11, r8 + cmp r14, r8 jne .LBB0_28 jmp .LBB0_123 .LBB0_29: @@ -317,271 +317,366 @@ comparison_equal_arr_arr_sse4: # @comparison_equal_arr_arr_sse4 cmp edi, 12 jne .LBB0_123 # %bb.46: - lea r15, [r11 + 31] - test r11, r11 - cmovns r15, r11 - lea eax, [r9 + 7] - test r9d, r9d - cmovns eax, r9d - and eax, -8 - sub r9d, eax + lea r15, [r14 + 31] + test r14, r14 + cmovns r15, r14 + lea ecx, [rax + 7] + test eax, eax + cmovns ecx, eax + and ecx, -8 + sub eax, ecx je .LBB0_50 # %bb.47: - movsxd rax, r9d + movsxd r10, eax .p2align 4, 0x90 .LBB0_48: # =>This Inner Loop Header: Depth=1 movsd xmm0, qword ptr [rsi] # xmm0 = mem[0],zero add rsi, 8 ucomisd xmm0, qword ptr [rdx] lea rdx, [rdx + 8] - sete r10b - neg r10b - lea rdi, [rax + 7] - test rax, rax - cmovns rdi, rax + setnp cl + sete bl + and bl, cl + neg bl + lea rdi, [r10 + 7] + test r10, r10 + cmovns rdi, r10 sar rdi, 3 - movzx r8d, byte ptr [r14 + rdi] - xor r10b, r8b + movzx r8d, byte ptr [r12 + rdi] + xor bl, r8b lea r9d, [8*rdi] - mov ecx, eax + mov ecx, r10d sub ecx, r9d - mov ebx, 1 + mov eax, 1 # kill: def $cl killed $cl killed $ecx - shl ebx, cl - and bl, r10b - xor bl, r8b - mov byte ptr [r14 + rdi], bl - add rax, 1 - cmp rax, 8 + shl eax, cl + and al, bl + xor al, r8b + mov byte ptr [r12 + rdi], al + add r10, 1 + cmp r10, 8 jne .LBB0_48 # %bb.49: - add r14, 1 + add r12, 1 .LBB0_50: sar r15, 5 - cmp r11, 32 + cmp r14, 32 jl .LBB0_54 # %bb.51: - mov qword ptr [rsp + 24], r11 # 8-byte Spill - mov qword ptr [rsp + 32], r15 # 8-byte Spill - mov qword ptr [rsp + 40], r15 # 8-byte Spill + mov qword ptr [rsp + 24], r14 # 8-byte Spill + mov qword ptr [rsp + 64], r15 # 8-byte Spill + mov qword ptr [rsp + 56], r15 # 8-byte Spill .p2align 4, 0x90 .LBB0_52: # =>This Inner Loop Header: Depth=1 - mov qword ptr [rsp + 48], r14 # 8-byte Spill + mov qword ptr [rsp + 48], r12 # 8-byte Spill movsd xmm0, qword ptr [rsi] # xmm0 = mem[0],zero - movsd xmm1, qword ptr [rsi + 8] # xmm1 = mem[0],zero ucomisd xmm0, qword ptr [rdx] - sete byte ptr [rsp + 4] # 1-byte Folded Spill - ucomisd xmm1, qword ptr [rdx + 8] - sete al + movsd xmm0, qword ptr [rsi + 8] # xmm0 = mem[0],zero + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 21], cl # 1-byte Spill + ucomisd xmm0, qword ptr [rdx + 8] + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 13], cl # 1-byte Spill movsd xmm0, qword ptr [rsi + 16] # xmm0 = mem[0],zero ucomisd xmm0, qword ptr [rdx + 16] + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 20], cl # 1-byte Spill movsd xmm0, qword ptr [rsi + 24] # xmm0 = mem[0],zero - sete byte ptr [rsp + 5] # 1-byte Folded Spill ucomisd xmm0, qword ptr [rdx + 24] - sete byte ptr [rsp + 22] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 23], cl # 1-byte Spill movsd xmm0, qword ptr [rsi + 32] # xmm0 = mem[0],zero ucomisd xmm0, qword ptr [rdx + 32] + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 22], cl # 1-byte Spill movsd xmm0, qword ptr [rsi + 40] # xmm0 = mem[0],zero - sete byte ptr [rsp + 21] # 1-byte Folded Spill ucomisd xmm0, qword ptr [rdx + 40] - sete byte ptr [rsp + 23] # 1-byte Folded Spill + setnp al + sete dil + and dil, al movsd xmm0, qword ptr [rsi + 48] # xmm0 = mem[0],zero ucomisd xmm0, qword ptr [rdx + 48] - movsd xmm0, qword ptr [rsi + 56] # xmm0 = mem[0],zero + setnp al sete r13b + and r13b, al + movsd xmm0, qword ptr [rsi + 56] # xmm0 = mem[0],zero ucomisd xmm0, qword ptr [rdx + 56] - sete r15b + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 3], cl # 1-byte Spill movsd xmm0, qword ptr [rsi + 64] # xmm0 = mem[0],zero ucomisd xmm0, qword ptr [rdx + 64] + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 19], cl # 1-byte Spill movsd xmm0, qword ptr [rsi + 72] # xmm0 = mem[0],zero - sete byte ptr [rsp + 8] # 1-byte Folded Spill ucomisd xmm0, qword ptr [rdx + 72] - sete cl + setnp al + sete bl + and bl, al movsd xmm0, qword ptr [rsi + 80] # xmm0 = mem[0],zero ucomisd xmm0, qword ptr [rdx + 80] + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 18], cl # 1-byte Spill movsd xmm0, qword ptr [rsi + 88] # xmm0 = mem[0],zero - sete r9b ucomisd xmm0, qword ptr [rdx + 88] - sete r11b + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 17], cl # 1-byte Spill movsd xmm0, qword ptr [rsi + 96] # xmm0 = mem[0],zero ucomisd xmm0, qword ptr [rdx + 96] + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 16], cl # 1-byte Spill movsd xmm0, qword ptr [rsi + 104] # xmm0 = mem[0],zero - sete r10b ucomisd xmm0, qword ptr [rdx + 104] - sete byte ptr [rsp + 7] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 15], cl # 1-byte Spill movsd xmm0, qword ptr [rsi + 112] # xmm0 = mem[0],zero ucomisd xmm0, qword ptr [rdx + 112] + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 12], cl # 1-byte Spill movsd xmm0, qword ptr [rsi + 120] # xmm0 = mem[0],zero - sete byte ptr [rsp + 6] # 1-byte Folded Spill ucomisd xmm0, qword ptr [rdx + 120] - sete bl + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 11], cl # 1-byte Spill movsd xmm0, qword ptr [rsi + 128] # xmm0 = mem[0],zero ucomisd xmm0, qword ptr [rdx + 128] + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 14], cl # 1-byte Spill movsd xmm0, qword ptr [rsi + 136] # xmm0 = mem[0],zero - sete byte ptr [rsp + 14] # 1-byte Folded Spill ucomisd xmm0, qword ptr [rdx + 136] + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 10], cl # 1-byte Spill movsd xmm0, qword ptr [rsi + 144] # xmm0 = mem[0],zero - sete r14b ucomisd xmm0, qword ptr [rdx + 144] + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 9], cl # 1-byte Spill movsd xmm0, qword ptr [rsi + 152] # xmm0 = mem[0],zero - sete r12b ucomisd xmm0, qword ptr [rdx + 152] + setnp al + sete r14b + and r14b, al movsd xmm0, qword ptr [rsi + 160] # xmm0 = mem[0],zero - sete byte ptr [rsp + 9] # 1-byte Folded Spill ucomisd xmm0, qword ptr [rdx + 160] + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 8], cl # 1-byte Spill movsd xmm0, qword ptr [rsi + 168] # xmm0 = mem[0],zero - sete byte ptr [rsp + 10] # 1-byte Folded Spill ucomisd xmm0, qword ptr [rdx + 168] + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 7], cl # 1-byte Spill movsd xmm0, qword ptr [rsi + 176] # xmm0 = mem[0],zero - sete byte ptr [rsp + 11] # 1-byte Folded Spill ucomisd xmm0, qword ptr [rdx + 176] + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 5], cl # 1-byte Spill movsd xmm0, qword ptr [rsi + 184] # xmm0 = mem[0],zero - sete byte ptr [rsp + 12] # 1-byte Folded Spill ucomisd xmm0, qword ptr [rdx + 184] + setnp al + sete r15b + and r15b, al movsd xmm0, qword ptr [rsi + 192] # xmm0 = mem[0],zero - sete r8b ucomisd xmm0, qword ptr [rdx + 192] + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 6], cl # 1-byte Spill movsd xmm0, qword ptr [rsi + 200] # xmm0 = mem[0],zero - sete byte ptr [rsp + 20] # 1-byte Folded Spill ucomisd xmm0, qword ptr [rdx + 200] + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 32], cl # 1-byte Spill movsd xmm0, qword ptr [rsi + 208] # xmm0 = mem[0],zero - sete byte ptr [rsp + 13] # 1-byte Folded Spill ucomisd xmm0, qword ptr [rdx + 208] + setnp al + sete r11b + and r11b, al movsd xmm0, qword ptr [rsi + 216] # xmm0 = mem[0],zero - sete byte ptr [rsp + 15] # 1-byte Folded Spill ucomisd xmm0, qword ptr [rdx + 216] + setnp al + sete r10b + and r10b, al movsd xmm0, qword ptr [rsi + 224] # xmm0 = mem[0],zero - sete byte ptr [rsp + 16] # 1-byte Folded Spill ucomisd xmm0, qword ptr [rdx + 224] + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 4], cl # 1-byte Spill movsd xmm0, qword ptr [rsi + 232] # xmm0 = mem[0],zero - sete byte ptr [rsp + 17] # 1-byte Folded Spill ucomisd xmm0, qword ptr [rdx + 232] + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 40], cl # 1-byte Spill movsd xmm0, qword ptr [rsi + 240] # xmm0 = mem[0],zero - sete byte ptr [rsp + 19] # 1-byte Folded Spill ucomisd xmm0, qword ptr [rdx + 240] + setnp al + sete r9b + and r9b, al movsd xmm0, qword ptr [rsi + 248] # xmm0 = mem[0],zero - sete byte ptr [rsp + 18] # 1-byte Folded Spill add rsi, 256 ucomisd xmm0, qword ptr [rdx + 248] - sete dil + setnp al + sete r8b + and r8b, al + movzx eax, byte ptr [rsp + 13] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 4] # 1-byte Folded Reload + add al, byte ptr [rsp + 21] # 1-byte Folded Reload + shl dil, 5 shl r13b, 6 - shl r15b, 7 - or r15b, r13b - movzx r13d, byte ptr [rsp + 5] # 1-byte Folded Reload - shl r13b, 2 - or r13b, al - mov eax, r13d - add cl, cl - add cl, byte ptr [rsp + 8] # 1-byte Folded Reload + or r13b, dil + mov edi, r13d + movzx ecx, byte ptr [rsp + 20] # 1-byte Folded Reload + shl cl, 2 + or cl, al + mov eax, ebx + add al, bl + add al, byte ptr [rsp + 19] # 1-byte Folded Reload + mov r13d, eax + movzx eax, byte ptr [rsp + 3] # 1-byte Folded Reload + shl al, 7 + or al, dil + mov byte ptr [rsp + 3], al # 1-byte Spill + movzx eax, byte ptr [rsp + 18] # 1-byte Folded Reload + shl al, 2 + or al, r13b + mov edi, eax + movzx eax, byte ptr [rsp + 23] # 1-byte Folded Reload + shl al, 3 + or al, cl + movzx ebx, byte ptr [rsp + 17] # 1-byte Folded Reload + shl bl, 3 + or bl, dil movzx r13d, byte ptr [rsp + 22] # 1-byte Folded Reload - shl r13b, 3 + shl r13b, 4 or r13b, al - shl r9b, 2 - or r9b, cl - movzx ecx, byte ptr [rsp + 21] # 1-byte Folded Reload - shl cl, 4 - or cl, r13b - mov r13d, ecx - shl r11b, 3 - or r11b, r9b - movzx ecx, byte ptr [rsp + 23] # 1-byte Folded Reload - shl cl, 5 - or cl, r13b - shl r10b, 4 - or r10b, r11b - movzx eax, byte ptr [rsp + 7] # 1-byte Folded Reload - shl al, 5 - or al, r10b - movzx r9d, byte ptr [rsp + 6] # 1-byte Folded Reload - shl r9b, 6 - shl bl, 7 - or bl, r9b - or r15b, cl - or bl, al - add r14b, r14b - add r14b, byte ptr [rsp + 14] # 1-byte Folded Reload - shl r12b, 2 - or r12b, r14b - mov r14, qword ptr [rsp + 48] # 8-byte Reload - movzx eax, byte ptr [rsp + 9] # 1-byte Folded Reload - shl al, 3 - or al, r12b - mov ecx, eax - movzx eax, byte ptr [rsp + 10] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload shl al, 4 - or al, cl - mov ecx, eax + or al, bl + mov edi, eax + movzx ebx, byte ptr [rsp + 15] # 1-byte Folded Reload + shl bl, 5 + movzx eax, byte ptr [rsp + 12] # 1-byte Folded Reload + shl al, 6 + or al, bl + mov ebx, eax movzx eax, byte ptr [rsp + 11] # 1-byte Folded Reload - shl al, 5 - or al, cl - mov byte ptr [r14], r15b - movzx ecx, byte ptr [rsp + 12] # 1-byte Folded Reload + shl al, 7 + or al, bl + movzx ebx, byte ptr [rsp + 10] # 1-byte Folded Reload + add bl, bl + add bl, byte ptr [rsp + 14] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 9] # 1-byte Folded Reload + shl cl, 2 + or cl, bl + shl r14b, 3 + or r14b, cl + movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload + shl bl, 4 + or bl, r14b + mov r12, qword ptr [rsp + 48] # 8-byte Reload + movzx r14d, byte ptr [rsp + 3] # 1-byte Folded Reload + or r14b, r13b + movzx r13d, byte ptr [rsp + 7] # 1-byte Folded Reload + shl r13b, 5 + movzx ecx, byte ptr [rsp + 5] # 1-byte Folded Reload shl cl, 6 + or cl, r13b + or al, dil + shl r15b, 7 + or r15b, cl + or r15b, bl + movzx ecx, byte ptr [rsp + 32] # 1-byte Folded Reload + add cl, cl + add cl, byte ptr [rsp + 6] # 1-byte Folded Reload + shl r11b, 2 + or r11b, cl + shl r10b, 3 + or r10b, r11b + movzx ecx, byte ptr [rsp + 4] # 1-byte Folded Reload + shl cl, 4 + or cl, r10b + mov byte ptr [r12], r14b + movzx ebx, byte ptr [rsp + 40] # 1-byte Folded Reload + shl bl, 5 + shl r9b, 6 + or r9b, bl + mov byte ptr [r12 + 1], al shl r8b, 7 + or r8b, r9b or r8b, cl - mov byte ptr [r14 + 1], bl - or r8b, al - movzx eax, byte ptr [rsp + 13] # 1-byte Folded Reload - add al, al - add al, byte ptr [rsp + 20] # 1-byte Folded Reload - mov ecx, eax - movzx eax, byte ptr [rsp + 15] # 1-byte Folded Reload - shl al, 2 - or al, cl - mov ecx, eax - movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload - shl al, 3 - or al, cl - mov ecx, eax - movzx eax, byte ptr [rsp + 17] # 1-byte Folded Reload - shl al, 4 - or al, cl - movzx ecx, byte ptr [rsp + 19] # 1-byte Folded Reload - shl cl, 5 - or cl, al - movzx eax, byte ptr [rsp + 18] # 1-byte Folded Reload - shl al, 6 - shl dil, 7 - or dil, al - or dil, cl - mov byte ptr [r14 + 2], r8b - mov byte ptr [r14 + 3], dil + mov byte ptr [r12 + 2], r15b + mov byte ptr [r12 + 3], r8b add rdx, 256 - add r14, 4 - add qword ptr [rsp + 40], -1 # 8-byte Folded Spill + add r12, 4 + add qword ptr [rsp + 56], -1 # 8-byte Folded Spill jne .LBB0_52 # %bb.53: - mov r11, qword ptr [rsp + 24] # 8-byte Reload - mov r15, qword ptr [rsp + 32] # 8-byte Reload + mov r14, qword ptr [rsp + 24] # 8-byte Reload + mov r15, qword ptr [rsp + 64] # 8-byte Reload .LBB0_54: shl r15, 5 - cmp r15, r11 + cmp r15, r14 jge .LBB0_123 # %bb.55: - sub r11, r15 + sub r14, r15 xor ecx, ecx .p2align 4, 0x90 .LBB0_56: # =>This Inner Loop Header: Depth=1 + lea r9, [rcx + 1] movsd xmm0, qword ptr [rsi + 8*rcx] # xmm0 = mem[0],zero ucomisd xmm0, qword ptr [rdx + 8*rcx] - lea r8, [rcx + 1] - sete bl - neg bl + setnp bl + sete al + and al, bl + neg al mov rdi, rcx shr rdi, 3 - movzx r9d, byte ptr [r14 + rdi] - xor bl, r9b + movzx r8d, byte ptr [r12 + rdi] + xor al, r8b and cl, 7 - mov al, 1 + mov bl, 1 # kill: def $cl killed $cl killed $rcx - shl al, cl - and al, bl - xor al, r9b - mov byte ptr [r14 + rdi], al - mov rcx, r8 - cmp r11, r8 + shl bl, cl + and bl, al + xor bl, r8b + mov byte ptr [r12 + rdi], bl + mov rcx, r9 + cmp r14, r9 jne .LBB0_56 jmp .LBB0_123 .LBB0_2: @@ -591,17 +686,17 @@ comparison_equal_arr_arr_sse4: # @comparison_equal_arr_arr_sse4 cmp edi, 3 jne .LBB0_123 # %bb.4: - lea r15, [r11 + 31] - test r11, r11 - cmovns r15, r11 - lea eax, [r9 + 7] - test r9d, r9d - cmovns eax, r9d - and eax, -8 - sub r9d, eax + lea r15, [r14 + 31] + test r14, r14 + cmovns r15, r14 + lea ecx, [rax + 7] + test eax, eax + cmovns ecx, eax + and ecx, -8 + sub eax, ecx je .LBB0_8 # %bb.5: - movsxd rax, r9d + cdqe .p2align 4, 0x90 .LBB0_6: # =>This Inner Loop Header: Depth=1 movzx ecx, byte ptr [rsi] @@ -614,7 +709,7 @@ comparison_equal_arr_arr_sse4: # @comparison_equal_arr_arr_sse4 test rax, rax cmovns rdi, rax sar rdi, 3 - movzx r8d, byte ptr [r14 + rdi] + movzx r8d, byte ptr [r12 + rdi] xor r10b, r8b lea r9d, [8*rdi] mov ecx, eax @@ -624,50 +719,50 @@ comparison_equal_arr_arr_sse4: # @comparison_equal_arr_arr_sse4 shl ebx, cl and bl, r10b xor bl, r8b - mov byte ptr [r14 + rdi], bl + mov byte ptr [r12 + rdi], bl add rax, 1 cmp rax, 8 jne .LBB0_6 # %bb.7: - add r14, 1 + add r12, 1 .LBB0_8: sar r15, 5 - cmp r11, 32 + cmp r14, 32 jl .LBB0_12 # %bb.9: - mov qword ptr [rsp + 24], r11 # 8-byte Spill - mov qword ptr [rsp + 56], r15 # 8-byte Spill + mov qword ptr [rsp + 24], r14 # 8-byte Spill mov qword ptr [rsp + 32], r15 # 8-byte Spill + mov qword ptr [rsp + 40], r15 # 8-byte Spill .p2align 4, 0x90 .LBB0_10: # =>This Inner Loop Header: Depth=1 - mov qword ptr [rsp + 48], r14 # 8-byte Spill + mov qword ptr [rsp + 48], r12 # 8-byte Spill movzx eax, byte ptr [rsi] movzx ecx, byte ptr [rsi + 1] cmp al, byte ptr [rdx] - sete byte ptr [rsp + 40] # 1-byte Folded Spill + sete byte ptr [rsp + 4] # 1-byte Folded Spill cmp cl, byte ptr [rdx + 1] - sete cl + sete bl movzx eax, byte ptr [rsi + 2] cmp al, byte ptr [rdx + 2] - sete byte ptr [rsp + 20] # 1-byte Folded Spill + sete byte ptr [rsp + 21] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 3] cmp al, byte ptr [rdx + 3] - sete byte ptr [rsp + 21] # 1-byte Folded Spill + sete byte ptr [rsp + 22] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 4] cmp al, byte ptr [rdx + 4] - sete byte ptr [rsp + 22] # 1-byte Folded Spill + sete byte ptr [rsp + 23] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 5] cmp al, byte ptr [rdx + 5] - sete byte ptr [rsp + 23] # 1-byte Folded Spill + sete byte ptr [rsp + 3] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 6] cmp al, byte ptr [rdx + 6] - sete byte ptr [rsp + 4] # 1-byte Folded Spill + sete byte ptr [rsp + 5] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 7] cmp al, byte ptr [rdx + 7] sete r15b movzx eax, byte ptr [rsi + 8] cmp al, byte ptr [rdx + 8] - sete byte ptr [rsp + 7] # 1-byte Folded Spill + sete byte ptr [rsp + 8] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 9] cmp al, byte ptr [rdx + 9] sete dil @@ -682,16 +777,16 @@ comparison_equal_arr_arr_sse4: # @comparison_equal_arr_arr_sse4 sete r14b movzx eax, byte ptr [rsi + 13] cmp al, byte ptr [rdx + 13] - sete byte ptr [rsp + 5] # 1-byte Folded Spill + sete byte ptr [rsp + 6] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 14] cmp al, byte ptr [rdx + 14] - sete byte ptr [rsp + 6] # 1-byte Folded Spill + sete byte ptr [rsp + 7] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 15] cmp al, byte ptr [rdx + 15] - sete bl + sete r8b movzx eax, byte ptr [rsi + 16] cmp al, byte ptr [rdx + 16] - sete byte ptr [rsp + 13] # 1-byte Folded Spill + sete byte ptr [rsp + 14] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 17] cmp al, byte ptr [rdx + 17] sete r12b @@ -700,145 +795,145 @@ comparison_equal_arr_arr_sse4: # @comparison_equal_arr_arr_sse4 sete r13b movzx eax, byte ptr [rsi + 19] cmp al, byte ptr [rdx + 19] - sete byte ptr [rsp + 8] # 1-byte Folded Spill + sete byte ptr [rsp + 9] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 20] cmp al, byte ptr [rdx + 20] - sete byte ptr [rsp + 9] # 1-byte Folded Spill + sete byte ptr [rsp + 10] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 21] cmp al, byte ptr [rdx + 21] - sete byte ptr [rsp + 10] # 1-byte Folded Spill + sete byte ptr [rsp + 11] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 22] cmp al, byte ptr [rdx + 22] - sete byte ptr [rsp + 11] # 1-byte Folded Spill + sete byte ptr [rsp + 12] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 23] cmp al, byte ptr [rdx + 23] sete r9b movzx eax, byte ptr [rsi + 24] cmp al, byte ptr [rdx + 24] - sete byte ptr [rsp + 19] # 1-byte Folded Spill + sete byte ptr [rsp + 20] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 25] cmp al, byte ptr [rdx + 25] - sete byte ptr [rsp + 12] # 1-byte Folded Spill + sete byte ptr [rsp + 13] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 26] cmp al, byte ptr [rdx + 26] - sete byte ptr [rsp + 14] # 1-byte Folded Spill + sete byte ptr [rsp + 15] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 27] cmp al, byte ptr [rdx + 27] - sete byte ptr [rsp + 15] # 1-byte Folded Spill + sete byte ptr [rsp + 16] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 28] cmp al, byte ptr [rdx + 28] - sete byte ptr [rsp + 16] # 1-byte Folded Spill + sete byte ptr [rsp + 17] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 29] cmp al, byte ptr [rdx + 29] - sete byte ptr [rsp + 17] # 1-byte Folded Spill + sete byte ptr [rsp + 18] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 30] cmp al, byte ptr [rdx + 30] - sete byte ptr [rsp + 18] # 1-byte Folded Spill + sete byte ptr [rsp + 19] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 31] add rsi, 32 cmp al, byte ptr [rdx + 31] - sete r8b - add cl, cl - add cl, byte ptr [rsp + 40] # 1-byte Folded Reload - mov eax, ecx - movzx ecx, byte ptr [rsp + 4] # 1-byte Folded Reload - shl cl, 6 + sete cl + add bl, bl + add bl, byte ptr [rsp + 4] # 1-byte Folded Reload + mov eax, ebx + movzx ebx, byte ptr [rsp + 5] # 1-byte Folded Reload + shl bl, 6 shl r15b, 7 - or r15b, cl - movzx ecx, byte ptr [rsp + 20] # 1-byte Folded Reload - shl cl, 2 - or cl, al - mov eax, ecx + or r15b, bl + movzx ebx, byte ptr [rsp + 21] # 1-byte Folded Reload + shl bl, 2 + or bl, al + mov eax, ebx add dil, dil - add dil, byte ptr [rsp + 7] # 1-byte Folded Reload - movzx ecx, byte ptr [rsp + 21] # 1-byte Folded Reload - shl cl, 3 - or cl, al - mov eax, ecx + add dil, byte ptr [rsp + 8] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 22] # 1-byte Folded Reload + shl bl, 3 + or bl, al + mov eax, ebx shl r10b, 2 or r10b, dil - movzx ecx, byte ptr [rsp + 22] # 1-byte Folded Reload - shl cl, 4 - or cl, al - mov edi, ecx + movzx ebx, byte ptr [rsp + 23] # 1-byte Folded Reload + shl bl, 4 + or bl, al + mov edi, ebx shl r11b, 3 or r11b, r10b - movzx ecx, byte ptr [rsp + 23] # 1-byte Folded Reload - shl cl, 5 - or cl, dil + movzx ebx, byte ptr [rsp + 3] # 1-byte Folded Reload + shl bl, 5 + or bl, dil shl r14b, 4 or r14b, r11b - movzx eax, byte ptr [rsp + 5] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 6] # 1-byte Folded Reload shl al, 5 or al, r14b - movzx edi, byte ptr [rsp + 6] # 1-byte Folded Reload + movzx edi, byte ptr [rsp + 7] # 1-byte Folded Reload shl dil, 6 - shl bl, 7 - or bl, dil - or r15b, cl - or bl, al + shl r8b, 7 + or r8b, dil + or r15b, bl + or r8b, al add r12b, r12b - add r12b, byte ptr [rsp + 13] # 1-byte Folded Reload + add r12b, byte ptr [rsp + 14] # 1-byte Folded Reload shl r13b, 2 or r13b, r12b - mov r14, qword ptr [rsp + 48] # 8-byte Reload - movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + mov r12, qword ptr [rsp + 48] # 8-byte Reload + movzx eax, byte ptr [rsp + 9] # 1-byte Folded Reload shl al, 3 or al, r13b - mov ecx, eax - movzx eax, byte ptr [rsp + 9] # 1-byte Folded Reload - shl al, 4 - or al, cl - mov ecx, eax + mov ebx, eax movzx eax, byte ptr [rsp + 10] # 1-byte Folded Reload + shl al, 4 + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 11] # 1-byte Folded Reload shl al, 5 - or al, cl - mov byte ptr [r14], r15b - movzx ecx, byte ptr [rsp + 11] # 1-byte Folded Reload - shl cl, 6 + or al, bl + mov byte ptr [r12], r15b + movzx ebx, byte ptr [rsp + 12] # 1-byte Folded Reload + shl bl, 6 shl r9b, 7 - or r9b, cl - mov byte ptr [r14 + 1], bl + or r9b, bl + mov byte ptr [r12 + 1], r8b or r9b, al - movzx eax, byte ptr [rsp + 12] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 13] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 19] # 1-byte Folded Reload - mov ecx, eax - movzx eax, byte ptr [rsp + 14] # 1-byte Folded Reload - shl al, 2 - or al, cl - mov ecx, eax + add al, byte ptr [rsp + 20] # 1-byte Folded Reload + mov ebx, eax movzx eax, byte ptr [rsp + 15] # 1-byte Folded Reload - shl al, 3 - or al, cl - mov ecx, eax + shl al, 2 + or al, bl + mov ebx, eax movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload - shl al, 4 - or al, cl - mov ecx, eax + shl al, 3 + or al, bl + mov ebx, eax movzx eax, byte ptr [rsp + 17] # 1-byte Folded Reload + shl al, 4 + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 18] # 1-byte Folded Reload shl al, 5 - or al, cl - movzx ecx, byte ptr [rsp + 18] # 1-byte Folded Reload - shl cl, 6 - shl r8b, 7 - or r8b, cl - or r8b, al - mov byte ptr [r14 + 2], r9b - mov byte ptr [r14 + 3], r8b + or al, bl + movzx ebx, byte ptr [rsp + 19] # 1-byte Folded Reload + shl bl, 6 + shl cl, 7 + or cl, bl + or cl, al + mov byte ptr [r12 + 2], r9b + mov byte ptr [r12 + 3], cl add rdx, 32 - add r14, 4 - add qword ptr [rsp + 32], -1 # 8-byte Folded Spill + add r12, 4 + add qword ptr [rsp + 40], -1 # 8-byte Folded Spill jne .LBB0_10 # %bb.11: - mov r11, qword ptr [rsp + 24] # 8-byte Reload - mov r15, qword ptr [rsp + 56] # 8-byte Reload + mov r14, qword ptr [rsp + 24] # 8-byte Reload + mov r15, qword ptr [rsp + 32] # 8-byte Reload .LBB0_12: shl r15, 5 - cmp r15, r11 + cmp r15, r14 jge .LBB0_123 # %bb.13: - sub r11, r15 + sub r14, r15 xor ecx, ecx .p2align 4, 0x90 .LBB0_14: # =>This Inner Loop Header: Depth=1 @@ -849,7 +944,7 @@ comparison_equal_arr_arr_sse4: # @comparison_equal_arr_arr_sse4 neg bl mov rdi, rcx shr rdi, 3 - movzx r9d, byte ptr [r14 + rdi] + movzx r9d, byte ptr [r12 + rdi] xor bl, r9b and cl, 7 mov al, 1 @@ -857,9 +952,9 @@ comparison_equal_arr_arr_sse4: # @comparison_equal_arr_arr_sse4 shl al, cl and al, bl xor al, r9b - mov byte ptr [r14 + rdi], al + mov byte ptr [r12 + rdi], al mov rcx, r8 - cmp r11, r8 + cmp r14, r8 jne .LBB0_14 jmp .LBB0_123 .LBB0_30: @@ -869,17 +964,17 @@ comparison_equal_arr_arr_sse4: # @comparison_equal_arr_arr_sse4 cmp edi, 8 jne .LBB0_123 # %bb.32: - lea r15, [r11 + 31] - test r11, r11 - cmovns r15, r11 - lea eax, [r9 + 7] - test r9d, r9d - cmovns eax, r9d - and eax, -8 - sub r9d, eax + lea r15, [r14 + 31] + test r14, r14 + cmovns r15, r14 + lea ecx, [rax + 7] + test eax, eax + cmovns ecx, eax + and ecx, -8 + sub eax, ecx je .LBB0_36 # %bb.33: - movsxd rax, r9d + cdqe .p2align 4, 0x90 .LBB0_34: # =>This Inner Loop Header: Depth=1 mov rcx, qword ptr [rsi] @@ -892,7 +987,7 @@ comparison_equal_arr_arr_sse4: # @comparison_equal_arr_arr_sse4 test rax, rax cmovns rdi, rax sar rdi, 3 - movzx r8d, byte ptr [r14 + rdi] + movzx r8d, byte ptr [r12 + rdi] xor r10b, r8b lea r9d, [8*rdi] mov ecx, eax @@ -902,50 +997,50 @@ comparison_equal_arr_arr_sse4: # @comparison_equal_arr_arr_sse4 shl ebx, cl and bl, r10b xor bl, r8b - mov byte ptr [r14 + rdi], bl + mov byte ptr [r12 + rdi], bl add rax, 1 cmp rax, 8 jne .LBB0_34 # %bb.35: - add r14, 1 + add r12, 1 .LBB0_36: sar r15, 5 - cmp r11, 32 + cmp r14, 32 jl .LBB0_40 # %bb.37: - mov qword ptr [rsp + 24], r11 # 8-byte Spill - mov qword ptr [rsp + 64], r15 # 8-byte Spill + mov qword ptr [rsp + 24], r14 # 8-byte Spill mov qword ptr [rsp + 56], r15 # 8-byte Spill + mov qword ptr [rsp + 32], r15 # 8-byte Spill .p2align 4, 0x90 .LBB0_38: # =>This Inner Loop Header: Depth=1 - mov qword ptr [rsp + 48], r14 # 8-byte Spill + mov qword ptr [rsp + 48], r12 # 8-byte Spill mov rax, qword ptr [rsi] mov rcx, qword ptr [rsi + 8] cmp rax, qword ptr [rdx] - sete byte ptr [rsp + 40] # 1-byte Folded Spill + sete byte ptr [rsp + 4] # 1-byte Folded Spill cmp rcx, qword ptr [rdx + 8] - sete byte ptr [rsp + 32] # 1-byte Folded Spill + sete byte ptr [rsp + 40] # 1-byte Folded Spill mov rax, qword ptr [rsi + 16] cmp rax, qword ptr [rdx + 16] - sete byte ptr [rsp + 20] # 1-byte Folded Spill + sete byte ptr [rsp + 21] # 1-byte Folded Spill mov rax, qword ptr [rsi + 24] cmp rax, qword ptr [rdx + 24] - sete byte ptr [rsp + 21] # 1-byte Folded Spill + sete byte ptr [rsp + 22] # 1-byte Folded Spill mov rax, qword ptr [rsi + 32] cmp rax, qword ptr [rdx + 32] - sete byte ptr [rsp + 22] # 1-byte Folded Spill + sete byte ptr [rsp + 23] # 1-byte Folded Spill mov rax, qword ptr [rsi + 40] cmp rax, qword ptr [rdx + 40] - sete byte ptr [rsp + 23] # 1-byte Folded Spill + sete byte ptr [rsp + 3] # 1-byte Folded Spill mov rax, qword ptr [rsi + 48] cmp rax, qword ptr [rdx + 48] - sete byte ptr [rsp + 4] # 1-byte Folded Spill + sete byte ptr [rsp + 5] # 1-byte Folded Spill mov rax, qword ptr [rsi + 56] cmp rax, qword ptr [rdx + 56] sete r13b mov rax, qword ptr [rsi + 64] cmp rax, qword ptr [rdx + 64] - sete byte ptr [rsp + 9] # 1-byte Folded Spill + sete byte ptr [rsp + 10] # 1-byte Folded Spill mov rax, qword ptr [rsi + 72] cmp rax, qword ptr [rdx + 72] sete r8b @@ -957,166 +1052,166 @@ comparison_equal_arr_arr_sse4: # @comparison_equal_arr_arr_sse4 sete r15b mov rax, qword ptr [rsi + 96] cmp rax, qword ptr [rdx + 96] - sete byte ptr [rsp + 5] # 1-byte Folded Spill + sete byte ptr [rsp + 6] # 1-byte Folded Spill mov rax, qword ptr [rsi + 104] cmp rax, qword ptr [rdx + 104] - sete byte ptr [rsp + 6] # 1-byte Folded Spill + sete byte ptr [rsp + 7] # 1-byte Folded Spill mov rax, qword ptr [rsi + 112] cmp rax, qword ptr [rdx + 112] - sete byte ptr [rsp + 7] # 1-byte Folded Spill + sete byte ptr [rsp + 8] # 1-byte Folded Spill mov rax, qword ptr [rsi + 120] cmp rax, qword ptr [rdx + 120] - sete bl + sete dil mov rax, qword ptr [rsi + 128] - mov rcx, qword ptr [rsi + 136] + mov rbx, qword ptr [rsi + 136] cmp rax, qword ptr [rdx + 128] mov rax, qword ptr [rsi + 144] - sete byte ptr [rsp + 10] # 1-byte Folded Spill - cmp rcx, qword ptr [rdx + 136] - mov rcx, qword ptr [rsi + 152] + sete byte ptr [rsp + 11] # 1-byte Folded Spill + cmp rbx, qword ptr [rdx + 136] + mov rbx, qword ptr [rsi + 152] sete r10b cmp rax, qword ptr [rdx + 144] mov rax, qword ptr [rsi + 160] sete r14b - cmp rcx, qword ptr [rdx + 152] - mov rcx, qword ptr [rsi + 168] + cmp rbx, qword ptr [rdx + 152] + mov rbx, qword ptr [rsi + 168] sete r12b cmp rax, qword ptr [rdx + 160] - sete byte ptr [rsp + 8] # 1-byte Folded Spill - cmp rcx, qword ptr [rdx + 168] + sete byte ptr [rsp + 9] # 1-byte Folded Spill + cmp rbx, qword ptr [rdx + 168] mov rax, qword ptr [rsi + 176] - sete byte ptr [rsp + 11] # 1-byte Folded Spill + sete byte ptr [rsp + 12] # 1-byte Folded Spill cmp rax, qword ptr [rdx + 176] mov rax, qword ptr [rsi + 184] - sete byte ptr [rsp + 12] # 1-byte Folded Spill + sete byte ptr [rsp + 13] # 1-byte Folded Spill cmp rax, qword ptr [rdx + 184] mov rax, qword ptr [rsi + 192] sete r9b cmp rax, qword ptr [rdx + 192] mov rax, qword ptr [rsi + 200] - sete byte ptr [rsp + 19] # 1-byte Folded Spill + sete byte ptr [rsp + 20] # 1-byte Folded Spill cmp rax, qword ptr [rdx + 200] mov rax, qword ptr [rsi + 208] - sete byte ptr [rsp + 13] # 1-byte Folded Spill + sete byte ptr [rsp + 14] # 1-byte Folded Spill cmp rax, qword ptr [rdx + 208] mov rax, qword ptr [rsi + 216] - sete byte ptr [rsp + 14] # 1-byte Folded Spill + sete byte ptr [rsp + 15] # 1-byte Folded Spill cmp rax, qword ptr [rdx + 216] mov rax, qword ptr [rsi + 224] - sete byte ptr [rsp + 15] # 1-byte Folded Spill + sete byte ptr [rsp + 16] # 1-byte Folded Spill cmp rax, qword ptr [rdx + 224] mov rax, qword ptr [rsi + 232] - sete byte ptr [rsp + 16] # 1-byte Folded Spill + sete byte ptr [rsp + 17] # 1-byte Folded Spill cmp rax, qword ptr [rdx + 232] mov rax, qword ptr [rsi + 240] - sete byte ptr [rsp + 18] # 1-byte Folded Spill + sete byte ptr [rsp + 19] # 1-byte Folded Spill cmp rax, qword ptr [rdx + 240] mov rax, qword ptr [rsi + 248] - sete byte ptr [rsp + 17] # 1-byte Folded Spill + sete byte ptr [rsp + 18] # 1-byte Folded Spill add rsi, 256 cmp rax, qword ptr [rdx + 248] - sete dil - movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload + sete cl + movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 40] # 1-byte Folded Reload - mov ecx, eax - movzx eax, byte ptr [rsp + 4] # 1-byte Folded Reload + add al, byte ptr [rsp + 4] # 1-byte Folded Reload + mov ebx, eax + movzx eax, byte ptr [rsp + 5] # 1-byte Folded Reload shl al, 6 shl r13b, 7 or r13b, al - movzx eax, byte ptr [rsp + 20] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 21] # 1-byte Folded Reload shl al, 2 - or al, cl + or al, bl add r8b, r8b - add r8b, byte ptr [rsp + 9] # 1-byte Folded Reload - movzx ecx, byte ptr [rsp + 21] # 1-byte Folded Reload - shl cl, 3 - or cl, al - mov eax, ecx + add r8b, byte ptr [rsp + 10] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 22] # 1-byte Folded Reload + shl bl, 3 + or bl, al + mov eax, ebx shl r11b, 2 or r11b, r8b - movzx ecx, byte ptr [rsp + 22] # 1-byte Folded Reload - shl cl, 4 - or cl, al - mov r8d, ecx + movzx ebx, byte ptr [rsp + 23] # 1-byte Folded Reload + shl bl, 4 + or bl, al + mov r8d, ebx shl r15b, 3 or r15b, r11b - movzx ecx, byte ptr [rsp + 23] # 1-byte Folded Reload - shl cl, 5 - or cl, r8b - movzx eax, byte ptr [rsp + 5] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 3] # 1-byte Folded Reload + shl bl, 5 + or bl, r8b + movzx eax, byte ptr [rsp + 6] # 1-byte Folded Reload shl al, 4 or al, r15b mov r8d, eax - movzx eax, byte ptr [rsp + 6] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 7] # 1-byte Folded Reload shl al, 5 or al, r8b - movzx r8d, byte ptr [rsp + 7] # 1-byte Folded Reload + movzx r8d, byte ptr [rsp + 8] # 1-byte Folded Reload shl r8b, 6 - shl bl, 7 - or bl, r8b - or r13b, cl - or bl, al + shl dil, 7 + or dil, r8b + or r13b, bl + or dil, al add r10b, r10b - add r10b, byte ptr [rsp + 10] # 1-byte Folded Reload + add r10b, byte ptr [rsp + 11] # 1-byte Folded Reload shl r14b, 2 or r14b, r10b shl r12b, 3 or r12b, r14b - movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 9] # 1-byte Folded Reload shl al, 4 or al, r12b - mov ecx, eax - mov r14, qword ptr [rsp + 48] # 8-byte Reload - movzx eax, byte ptr [rsp + 11] # 1-byte Folded Reload + mov ebx, eax + mov r12, qword ptr [rsp + 48] # 8-byte Reload + movzx eax, byte ptr [rsp + 12] # 1-byte Folded Reload shl al, 5 - or al, cl - mov byte ptr [r14], r13b - movzx ecx, byte ptr [rsp + 12] # 1-byte Folded Reload - shl cl, 6 + or al, bl + mov byte ptr [r12], r13b + movzx ebx, byte ptr [rsp + 13] # 1-byte Folded Reload + shl bl, 6 shl r9b, 7 - or r9b, cl - mov byte ptr [r14 + 1], bl + or r9b, bl + mov byte ptr [r12 + 1], dil or r9b, al - movzx eax, byte ptr [rsp + 13] # 1-byte Folded Reload - add al, al - add al, byte ptr [rsp + 19] # 1-byte Folded Reload - mov ecx, eax movzx eax, byte ptr [rsp + 14] # 1-byte Folded Reload - shl al, 2 - or al, cl - mov ecx, eax + add al, al + add al, byte ptr [rsp + 20] # 1-byte Folded Reload + mov ebx, eax movzx eax, byte ptr [rsp + 15] # 1-byte Folded Reload - shl al, 3 - or al, cl - mov ecx, eax + shl al, 2 + or al, bl + mov ebx, eax movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload + shl al, 3 + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 17] # 1-byte Folded Reload shl al, 4 - or al, cl - mov ecx, eax - movzx eax, byte ptr [rsp + 18] # 1-byte Folded Reload + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 19] # 1-byte Folded Reload shl al, 5 - or al, cl - movzx ecx, byte ptr [rsp + 17] # 1-byte Folded Reload - shl cl, 6 - shl dil, 7 - or dil, cl - or dil, al - mov byte ptr [r14 + 2], r9b - mov byte ptr [r14 + 3], dil + or al, bl + movzx ebx, byte ptr [rsp + 18] # 1-byte Folded Reload + shl bl, 6 + shl cl, 7 + or cl, bl + or cl, al + mov byte ptr [r12 + 2], r9b + mov byte ptr [r12 + 3], cl add rdx, 256 - add r14, 4 - add qword ptr [rsp + 56], -1 # 8-byte Folded Spill + add r12, 4 + add qword ptr [rsp + 32], -1 # 8-byte Folded Spill jne .LBB0_38 # %bb.39: - mov r11, qword ptr [rsp + 24] # 8-byte Reload - mov r15, qword ptr [rsp + 64] # 8-byte Reload + mov r14, qword ptr [rsp + 24] # 8-byte Reload + mov r15, qword ptr [rsp + 56] # 8-byte Reload .LBB0_40: shl r15, 5 - cmp r15, r11 + cmp r15, r14 jge .LBB0_123 # %bb.41: - sub r11, r15 + sub r14, r15 xor ecx, ecx .p2align 4, 0x90 .LBB0_42: # =>This Inner Loop Header: Depth=1 @@ -1127,7 +1222,7 @@ comparison_equal_arr_arr_sse4: # @comparison_equal_arr_arr_sse4 neg bl mov rdi, rcx shr rdi, 3 - movzx r9d, byte ptr [r14 + rdi] + movzx r9d, byte ptr [r12 + rdi] xor bl, r9b and cl, 7 mov al, 1 @@ -1135,23 +1230,23 @@ comparison_equal_arr_arr_sse4: # @comparison_equal_arr_arr_sse4 shl al, cl and al, bl xor al, r9b - mov byte ptr [r14 + rdi], al + mov byte ptr [r12 + rdi], al mov rcx, r8 - cmp r11, r8 + cmp r14, r8 jne .LBB0_42 jmp .LBB0_123 .LBB0_68: - lea r15, [r11 + 31] - test r11, r11 - cmovns r15, r11 - lea eax, [r9 + 7] - test r9d, r9d - cmovns eax, r9d - and eax, -8 - sub r9d, eax + lea r15, [r14 + 31] + test r14, r14 + cmovns r15, r14 + lea ecx, [rax + 7] + test eax, eax + cmovns ecx, eax + and ecx, -8 + sub eax, ecx je .LBB0_72 # %bb.69: - movsxd rax, r9d + cdqe .p2align 4, 0x90 .LBB0_70: # =>This Inner Loop Header: Depth=1 movzx ecx, word ptr [rsi] @@ -1164,7 +1259,7 @@ comparison_equal_arr_arr_sse4: # @comparison_equal_arr_arr_sse4 test rax, rax cmovns rdi, rax sar rdi, 3 - movzx r8d, byte ptr [r14 + rdi] + movzx r8d, byte ptr [r12 + rdi] xor r10b, r8b lea r9d, [8*rdi] mov ecx, eax @@ -1174,50 +1269,50 @@ comparison_equal_arr_arr_sse4: # @comparison_equal_arr_arr_sse4 shl ebx, cl and bl, r10b xor bl, r8b - mov byte ptr [r14 + rdi], bl + mov byte ptr [r12 + rdi], bl add rax, 1 cmp rax, 8 jne .LBB0_70 # %bb.71: - add r14, 1 + add r12, 1 .LBB0_72: sar r15, 5 - cmp r11, 32 + cmp r14, 32 jl .LBB0_76 # %bb.73: - mov qword ptr [rsp + 24], r11 # 8-byte Spill - mov qword ptr [rsp + 64], r15 # 8-byte Spill + mov qword ptr [rsp + 24], r14 # 8-byte Spill mov qword ptr [rsp + 56], r15 # 8-byte Spill + mov qword ptr [rsp + 32], r15 # 8-byte Spill .p2align 4, 0x90 .LBB0_74: # =>This Inner Loop Header: Depth=1 - mov qword ptr [rsp + 48], r14 # 8-byte Spill + mov qword ptr [rsp + 48], r12 # 8-byte Spill movzx eax, word ptr [rsi] movzx ecx, word ptr [rsi + 2] cmp ax, word ptr [rdx] - sete byte ptr [rsp + 40] # 1-byte Folded Spill + sete byte ptr [rsp + 4] # 1-byte Folded Spill cmp cx, word ptr [rdx + 2] - sete byte ptr [rsp + 32] # 1-byte Folded Spill + sete byte ptr [rsp + 40] # 1-byte Folded Spill movzx eax, word ptr [rsi + 4] cmp ax, word ptr [rdx + 4] - sete byte ptr [rsp + 20] # 1-byte Folded Spill + sete byte ptr [rsp + 21] # 1-byte Folded Spill movzx eax, word ptr [rsi + 6] cmp ax, word ptr [rdx + 6] - sete byte ptr [rsp + 21] # 1-byte Folded Spill + sete byte ptr [rsp + 22] # 1-byte Folded Spill movzx eax, word ptr [rsi + 8] cmp ax, word ptr [rdx + 8] - sete byte ptr [rsp + 22] # 1-byte Folded Spill + sete byte ptr [rsp + 23] # 1-byte Folded Spill movzx eax, word ptr [rsi + 10] cmp ax, word ptr [rdx + 10] - sete byte ptr [rsp + 23] # 1-byte Folded Spill + sete byte ptr [rsp + 3] # 1-byte Folded Spill movzx eax, word ptr [rsi + 12] cmp ax, word ptr [rdx + 12] - sete byte ptr [rsp + 4] # 1-byte Folded Spill + sete byte ptr [rsp + 5] # 1-byte Folded Spill movzx eax, word ptr [rsi + 14] cmp ax, word ptr [rdx + 14] sete r13b movzx eax, word ptr [rsi + 16] cmp ax, word ptr [rdx + 16] - sete byte ptr [rsp + 9] # 1-byte Folded Spill + sete byte ptr [rsp + 10] # 1-byte Folded Spill movzx eax, word ptr [rsi + 18] cmp ax, word ptr [rdx + 18] sete r8b @@ -1229,166 +1324,166 @@ comparison_equal_arr_arr_sse4: # @comparison_equal_arr_arr_sse4 sete r15b movzx eax, word ptr [rsi + 24] cmp ax, word ptr [rdx + 24] - sete byte ptr [rsp + 5] # 1-byte Folded Spill + sete byte ptr [rsp + 6] # 1-byte Folded Spill movzx eax, word ptr [rsi + 26] cmp ax, word ptr [rdx + 26] - sete byte ptr [rsp + 6] # 1-byte Folded Spill + sete byte ptr [rsp + 7] # 1-byte Folded Spill movzx eax, word ptr [rsi + 28] cmp ax, word ptr [rdx + 28] - sete byte ptr [rsp + 7] # 1-byte Folded Spill + sete byte ptr [rsp + 8] # 1-byte Folded Spill movzx eax, word ptr [rsi + 30] cmp ax, word ptr [rdx + 30] - sete bl + sete dil movzx eax, word ptr [rsi + 32] - movzx ecx, word ptr [rsi + 34] + movzx ebx, word ptr [rsi + 34] cmp ax, word ptr [rdx + 32] movzx eax, word ptr [rsi + 36] - sete byte ptr [rsp + 10] # 1-byte Folded Spill - cmp cx, word ptr [rdx + 34] - movzx ecx, word ptr [rsi + 38] + sete byte ptr [rsp + 11] # 1-byte Folded Spill + cmp bx, word ptr [rdx + 34] + movzx ebx, word ptr [rsi + 38] sete r10b cmp ax, word ptr [rdx + 36] movzx eax, word ptr [rsi + 40] sete r14b - cmp cx, word ptr [rdx + 38] - movzx ecx, word ptr [rsi + 42] + cmp bx, word ptr [rdx + 38] + movzx ebx, word ptr [rsi + 42] sete r12b cmp ax, word ptr [rdx + 40] - sete byte ptr [rsp + 8] # 1-byte Folded Spill - cmp cx, word ptr [rdx + 42] + sete byte ptr [rsp + 9] # 1-byte Folded Spill + cmp bx, word ptr [rdx + 42] movzx eax, word ptr [rsi + 44] - sete byte ptr [rsp + 11] # 1-byte Folded Spill + sete byte ptr [rsp + 12] # 1-byte Folded Spill cmp ax, word ptr [rdx + 44] movzx eax, word ptr [rsi + 46] - sete byte ptr [rsp + 12] # 1-byte Folded Spill + sete byte ptr [rsp + 13] # 1-byte Folded Spill cmp ax, word ptr [rdx + 46] movzx eax, word ptr [rsi + 48] sete r9b cmp ax, word ptr [rdx + 48] movzx eax, word ptr [rsi + 50] - sete byte ptr [rsp + 19] # 1-byte Folded Spill + sete byte ptr [rsp + 20] # 1-byte Folded Spill cmp ax, word ptr [rdx + 50] movzx eax, word ptr [rsi + 52] - sete byte ptr [rsp + 13] # 1-byte Folded Spill + sete byte ptr [rsp + 14] # 1-byte Folded Spill cmp ax, word ptr [rdx + 52] movzx eax, word ptr [rsi + 54] - sete byte ptr [rsp + 14] # 1-byte Folded Spill + sete byte ptr [rsp + 15] # 1-byte Folded Spill cmp ax, word ptr [rdx + 54] movzx eax, word ptr [rsi + 56] - sete byte ptr [rsp + 15] # 1-byte Folded Spill + sete byte ptr [rsp + 16] # 1-byte Folded Spill cmp ax, word ptr [rdx + 56] movzx eax, word ptr [rsi + 58] - sete byte ptr [rsp + 16] # 1-byte Folded Spill + sete byte ptr [rsp + 17] # 1-byte Folded Spill cmp ax, word ptr [rdx + 58] movzx eax, word ptr [rsi + 60] - sete byte ptr [rsp + 18] # 1-byte Folded Spill + sete byte ptr [rsp + 19] # 1-byte Folded Spill cmp ax, word ptr [rdx + 60] movzx eax, word ptr [rsi + 62] - sete byte ptr [rsp + 17] # 1-byte Folded Spill + sete byte ptr [rsp + 18] # 1-byte Folded Spill add rsi, 64 cmp ax, word ptr [rdx + 62] - sete dil - movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload + sete cl + movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 40] # 1-byte Folded Reload - mov ecx, eax - movzx eax, byte ptr [rsp + 4] # 1-byte Folded Reload + add al, byte ptr [rsp + 4] # 1-byte Folded Reload + mov ebx, eax + movzx eax, byte ptr [rsp + 5] # 1-byte Folded Reload shl al, 6 shl r13b, 7 or r13b, al - movzx eax, byte ptr [rsp + 20] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 21] # 1-byte Folded Reload shl al, 2 - or al, cl + or al, bl add r8b, r8b - add r8b, byte ptr [rsp + 9] # 1-byte Folded Reload - movzx ecx, byte ptr [rsp + 21] # 1-byte Folded Reload - shl cl, 3 - or cl, al - mov eax, ecx + add r8b, byte ptr [rsp + 10] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 22] # 1-byte Folded Reload + shl bl, 3 + or bl, al + mov eax, ebx shl r11b, 2 or r11b, r8b - movzx ecx, byte ptr [rsp + 22] # 1-byte Folded Reload - shl cl, 4 - or cl, al - mov r8d, ecx + movzx ebx, byte ptr [rsp + 23] # 1-byte Folded Reload + shl bl, 4 + or bl, al + mov r8d, ebx shl r15b, 3 or r15b, r11b - movzx ecx, byte ptr [rsp + 23] # 1-byte Folded Reload - shl cl, 5 - or cl, r8b - movzx eax, byte ptr [rsp + 5] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 3] # 1-byte Folded Reload + shl bl, 5 + or bl, r8b + movzx eax, byte ptr [rsp + 6] # 1-byte Folded Reload shl al, 4 or al, r15b mov r8d, eax - movzx eax, byte ptr [rsp + 6] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 7] # 1-byte Folded Reload shl al, 5 or al, r8b - movzx r8d, byte ptr [rsp + 7] # 1-byte Folded Reload + movzx r8d, byte ptr [rsp + 8] # 1-byte Folded Reload shl r8b, 6 - shl bl, 7 - or bl, r8b - or r13b, cl - or bl, al + shl dil, 7 + or dil, r8b + or r13b, bl + or dil, al add r10b, r10b - add r10b, byte ptr [rsp + 10] # 1-byte Folded Reload + add r10b, byte ptr [rsp + 11] # 1-byte Folded Reload shl r14b, 2 or r14b, r10b shl r12b, 3 or r12b, r14b - movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 9] # 1-byte Folded Reload shl al, 4 or al, r12b - mov ecx, eax - mov r14, qword ptr [rsp + 48] # 8-byte Reload - movzx eax, byte ptr [rsp + 11] # 1-byte Folded Reload + mov ebx, eax + mov r12, qword ptr [rsp + 48] # 8-byte Reload + movzx eax, byte ptr [rsp + 12] # 1-byte Folded Reload shl al, 5 - or al, cl - mov byte ptr [r14], r13b - movzx ecx, byte ptr [rsp + 12] # 1-byte Folded Reload - shl cl, 6 + or al, bl + mov byte ptr [r12], r13b + movzx ebx, byte ptr [rsp + 13] # 1-byte Folded Reload + shl bl, 6 shl r9b, 7 - or r9b, cl - mov byte ptr [r14 + 1], bl + or r9b, bl + mov byte ptr [r12 + 1], dil or r9b, al - movzx eax, byte ptr [rsp + 13] # 1-byte Folded Reload - add al, al - add al, byte ptr [rsp + 19] # 1-byte Folded Reload - mov ecx, eax movzx eax, byte ptr [rsp + 14] # 1-byte Folded Reload - shl al, 2 - or al, cl - mov ecx, eax + add al, al + add al, byte ptr [rsp + 20] # 1-byte Folded Reload + mov ebx, eax movzx eax, byte ptr [rsp + 15] # 1-byte Folded Reload - shl al, 3 - or al, cl - mov ecx, eax + shl al, 2 + or al, bl + mov ebx, eax movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload + shl al, 3 + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 17] # 1-byte Folded Reload shl al, 4 - or al, cl - mov ecx, eax - movzx eax, byte ptr [rsp + 18] # 1-byte Folded Reload + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 19] # 1-byte Folded Reload shl al, 5 - or al, cl - movzx ecx, byte ptr [rsp + 17] # 1-byte Folded Reload - shl cl, 6 - shl dil, 7 - or dil, cl - or dil, al - mov byte ptr [r14 + 2], r9b - mov byte ptr [r14 + 3], dil + or al, bl + movzx ebx, byte ptr [rsp + 18] # 1-byte Folded Reload + shl bl, 6 + shl cl, 7 + or cl, bl + or cl, al + mov byte ptr [r12 + 2], r9b + mov byte ptr [r12 + 3], cl add rdx, 64 - add r14, 4 - add qword ptr [rsp + 56], -1 # 8-byte Folded Spill - jne .LBB0_74 + add r12, 4 + add qword ptr [rsp + 32], -1 # 8-byte Folded Spill + jne .LBB0_74 # %bb.75: - mov r11, qword ptr [rsp + 24] # 8-byte Reload - mov r15, qword ptr [rsp + 64] # 8-byte Reload + mov r14, qword ptr [rsp + 24] # 8-byte Reload + mov r15, qword ptr [rsp + 56] # 8-byte Reload .LBB0_76: shl r15, 5 - cmp r15, r11 + cmp r15, r14 jge .LBB0_123 # %bb.77: - sub r11, r15 + sub r14, r15 xor ecx, ecx .p2align 4, 0x90 .LBB0_78: # =>This Inner Loop Header: Depth=1 @@ -1399,7 +1494,7 @@ comparison_equal_arr_arr_sse4: # @comparison_equal_arr_arr_sse4 neg bl mov rdi, rcx shr rdi, 3 - movzx r9d, byte ptr [r14 + rdi] + movzx r9d, byte ptr [r12 + rdi] xor bl, r9b and cl, 7 mov al, 1 @@ -1407,23 +1502,23 @@ comparison_equal_arr_arr_sse4: # @comparison_equal_arr_arr_sse4 shl al, cl and al, bl xor al, r9b - mov byte ptr [r14 + rdi], al + mov byte ptr [r12 + rdi], al mov rcx, r8 - cmp r11, r8 + cmp r14, r8 jne .LBB0_78 jmp .LBB0_123 .LBB0_79: - lea r15, [r11 + 31] - test r11, r11 - cmovns r15, r11 - lea eax, [r9 + 7] - test r9d, r9d - cmovns eax, r9d - and eax, -8 - sub r9d, eax + lea r15, [r14 + 31] + test r14, r14 + cmovns r15, r14 + lea ecx, [rax + 7] + test eax, eax + cmovns ecx, eax + and ecx, -8 + sub eax, ecx je .LBB0_83 # %bb.80: - movsxd rax, r9d + cdqe .p2align 4, 0x90 .LBB0_81: # =>This Inner Loop Header: Depth=1 movzx ecx, word ptr [rsi] @@ -1436,7 +1531,7 @@ comparison_equal_arr_arr_sse4: # @comparison_equal_arr_arr_sse4 test rax, rax cmovns rdi, rax sar rdi, 3 - movzx r8d, byte ptr [r14 + rdi] + movzx r8d, byte ptr [r12 + rdi] xor r10b, r8b lea r9d, [8*rdi] mov ecx, eax @@ -1446,50 +1541,50 @@ comparison_equal_arr_arr_sse4: # @comparison_equal_arr_arr_sse4 shl ebx, cl and bl, r10b xor bl, r8b - mov byte ptr [r14 + rdi], bl + mov byte ptr [r12 + rdi], bl add rax, 1 cmp rax, 8 jne .LBB0_81 # %bb.82: - add r14, 1 + add r12, 1 .LBB0_83: sar r15, 5 - cmp r11, 32 + cmp r14, 32 jl .LBB0_87 # %bb.84: - mov qword ptr [rsp + 24], r11 # 8-byte Spill - mov qword ptr [rsp + 64], r15 # 8-byte Spill + mov qword ptr [rsp + 24], r14 # 8-byte Spill mov qword ptr [rsp + 56], r15 # 8-byte Spill + mov qword ptr [rsp + 32], r15 # 8-byte Spill .p2align 4, 0x90 .LBB0_85: # =>This Inner Loop Header: Depth=1 - mov qword ptr [rsp + 48], r14 # 8-byte Spill + mov qword ptr [rsp + 48], r12 # 8-byte Spill movzx eax, word ptr [rsi] movzx ecx, word ptr [rsi + 2] cmp ax, word ptr [rdx] - sete byte ptr [rsp + 40] # 1-byte Folded Spill + sete byte ptr [rsp + 4] # 1-byte Folded Spill cmp cx, word ptr [rdx + 2] - sete byte ptr [rsp + 32] # 1-byte Folded Spill + sete byte ptr [rsp + 40] # 1-byte Folded Spill movzx eax, word ptr [rsi + 4] cmp ax, word ptr [rdx + 4] - sete byte ptr [rsp + 20] # 1-byte Folded Spill + sete byte ptr [rsp + 21] # 1-byte Folded Spill movzx eax, word ptr [rsi + 6] cmp ax, word ptr [rdx + 6] - sete byte ptr [rsp + 21] # 1-byte Folded Spill + sete byte ptr [rsp + 22] # 1-byte Folded Spill movzx eax, word ptr [rsi + 8] cmp ax, word ptr [rdx + 8] - sete byte ptr [rsp + 22] # 1-byte Folded Spill + sete byte ptr [rsp + 23] # 1-byte Folded Spill movzx eax, word ptr [rsi + 10] cmp ax, word ptr [rdx + 10] - sete byte ptr [rsp + 23] # 1-byte Folded Spill + sete byte ptr [rsp + 3] # 1-byte Folded Spill movzx eax, word ptr [rsi + 12] cmp ax, word ptr [rdx + 12] - sete byte ptr [rsp + 4] # 1-byte Folded Spill + sete byte ptr [rsp + 5] # 1-byte Folded Spill movzx eax, word ptr [rsi + 14] cmp ax, word ptr [rdx + 14] sete r13b movzx eax, word ptr [rsi + 16] cmp ax, word ptr [rdx + 16] - sete byte ptr [rsp + 9] # 1-byte Folded Spill + sete byte ptr [rsp + 10] # 1-byte Folded Spill movzx eax, word ptr [rsi + 18] cmp ax, word ptr [rdx + 18] sete r8b @@ -1501,166 +1596,166 @@ comparison_equal_arr_arr_sse4: # @comparison_equal_arr_arr_sse4 sete r15b movzx eax, word ptr [rsi + 24] cmp ax, word ptr [rdx + 24] - sete byte ptr [rsp + 5] # 1-byte Folded Spill + sete byte ptr [rsp + 6] # 1-byte Folded Spill movzx eax, word ptr [rsi + 26] cmp ax, word ptr [rdx + 26] - sete byte ptr [rsp + 6] # 1-byte Folded Spill + sete byte ptr [rsp + 7] # 1-byte Folded Spill movzx eax, word ptr [rsi + 28] cmp ax, word ptr [rdx + 28] - sete byte ptr [rsp + 7] # 1-byte Folded Spill + sete byte ptr [rsp + 8] # 1-byte Folded Spill movzx eax, word ptr [rsi + 30] cmp ax, word ptr [rdx + 30] - sete bl + sete dil movzx eax, word ptr [rsi + 32] - movzx ecx, word ptr [rsi + 34] + movzx ebx, word ptr [rsi + 34] cmp ax, word ptr [rdx + 32] movzx eax, word ptr [rsi + 36] - sete byte ptr [rsp + 10] # 1-byte Folded Spill - cmp cx, word ptr [rdx + 34] - movzx ecx, word ptr [rsi + 38] + sete byte ptr [rsp + 11] # 1-byte Folded Spill + cmp bx, word ptr [rdx + 34] + movzx ebx, word ptr [rsi + 38] sete r10b cmp ax, word ptr [rdx + 36] movzx eax, word ptr [rsi + 40] sete r14b - cmp cx, word ptr [rdx + 38] - movzx ecx, word ptr [rsi + 42] + cmp bx, word ptr [rdx + 38] + movzx ebx, word ptr [rsi + 42] sete r12b cmp ax, word ptr [rdx + 40] - sete byte ptr [rsp + 8] # 1-byte Folded Spill - cmp cx, word ptr [rdx + 42] + sete byte ptr [rsp + 9] # 1-byte Folded Spill + cmp bx, word ptr [rdx + 42] movzx eax, word ptr [rsi + 44] - sete byte ptr [rsp + 11] # 1-byte Folded Spill + sete byte ptr [rsp + 12] # 1-byte Folded Spill cmp ax, word ptr [rdx + 44] movzx eax, word ptr [rsi + 46] - sete byte ptr [rsp + 12] # 1-byte Folded Spill + sete byte ptr [rsp + 13] # 1-byte Folded Spill cmp ax, word ptr [rdx + 46] movzx eax, word ptr [rsi + 48] sete r9b cmp ax, word ptr [rdx + 48] movzx eax, word ptr [rsi + 50] - sete byte ptr [rsp + 19] # 1-byte Folded Spill + sete byte ptr [rsp + 20] # 1-byte Folded Spill cmp ax, word ptr [rdx + 50] movzx eax, word ptr [rsi + 52] - sete byte ptr [rsp + 13] # 1-byte Folded Spill + sete byte ptr [rsp + 14] # 1-byte Folded Spill cmp ax, word ptr [rdx + 52] movzx eax, word ptr [rsi + 54] - sete byte ptr [rsp + 14] # 1-byte Folded Spill + sete byte ptr [rsp + 15] # 1-byte Folded Spill cmp ax, word ptr [rdx + 54] movzx eax, word ptr [rsi + 56] - sete byte ptr [rsp + 15] # 1-byte Folded Spill + sete byte ptr [rsp + 16] # 1-byte Folded Spill cmp ax, word ptr [rdx + 56] movzx eax, word ptr [rsi + 58] - sete byte ptr [rsp + 16] # 1-byte Folded Spill + sete byte ptr [rsp + 17] # 1-byte Folded Spill cmp ax, word ptr [rdx + 58] movzx eax, word ptr [rsi + 60] - sete byte ptr [rsp + 18] # 1-byte Folded Spill + sete byte ptr [rsp + 19] # 1-byte Folded Spill cmp ax, word ptr [rdx + 60] movzx eax, word ptr [rsi + 62] - sete byte ptr [rsp + 17] # 1-byte Folded Spill + sete byte ptr [rsp + 18] # 1-byte Folded Spill add rsi, 64 cmp ax, word ptr [rdx + 62] - sete dil - movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload + sete cl + movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 40] # 1-byte Folded Reload - mov ecx, eax - movzx eax, byte ptr [rsp + 4] # 1-byte Folded Reload + add al, byte ptr [rsp + 4] # 1-byte Folded Reload + mov ebx, eax + movzx eax, byte ptr [rsp + 5] # 1-byte Folded Reload shl al, 6 shl r13b, 7 or r13b, al - movzx eax, byte ptr [rsp + 20] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 21] # 1-byte Folded Reload shl al, 2 - or al, cl + or al, bl add r8b, r8b - add r8b, byte ptr [rsp + 9] # 1-byte Folded Reload - movzx ecx, byte ptr [rsp + 21] # 1-byte Folded Reload - shl cl, 3 - or cl, al - mov eax, ecx + add r8b, byte ptr [rsp + 10] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 22] # 1-byte Folded Reload + shl bl, 3 + or bl, al + mov eax, ebx shl r11b, 2 or r11b, r8b - movzx ecx, byte ptr [rsp + 22] # 1-byte Folded Reload - shl cl, 4 - or cl, al - mov r8d, ecx + movzx ebx, byte ptr [rsp + 23] # 1-byte Folded Reload + shl bl, 4 + or bl, al + mov r8d, ebx shl r15b, 3 or r15b, r11b - movzx ecx, byte ptr [rsp + 23] # 1-byte Folded Reload - shl cl, 5 - or cl, r8b - movzx eax, byte ptr [rsp + 5] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 3] # 1-byte Folded Reload + shl bl, 5 + or bl, r8b + movzx eax, byte ptr [rsp + 6] # 1-byte Folded Reload shl al, 4 or al, r15b mov r8d, eax - movzx eax, byte ptr [rsp + 6] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 7] # 1-byte Folded Reload shl al, 5 or al, r8b - movzx r8d, byte ptr [rsp + 7] # 1-byte Folded Reload + movzx r8d, byte ptr [rsp + 8] # 1-byte Folded Reload shl r8b, 6 - shl bl, 7 - or bl, r8b - or r13b, cl - or bl, al + shl dil, 7 + or dil, r8b + or r13b, bl + or dil, al add r10b, r10b - add r10b, byte ptr [rsp + 10] # 1-byte Folded Reload + add r10b, byte ptr [rsp + 11] # 1-byte Folded Reload shl r14b, 2 or r14b, r10b shl r12b, 3 or r12b, r14b - movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 9] # 1-byte Folded Reload shl al, 4 or al, r12b - mov ecx, eax - mov r14, qword ptr [rsp + 48] # 8-byte Reload - movzx eax, byte ptr [rsp + 11] # 1-byte Folded Reload + mov ebx, eax + mov r12, qword ptr [rsp + 48] # 8-byte Reload + movzx eax, byte ptr [rsp + 12] # 1-byte Folded Reload shl al, 5 - or al, cl - mov byte ptr [r14], r13b - movzx ecx, byte ptr [rsp + 12] # 1-byte Folded Reload - shl cl, 6 + or al, bl + mov byte ptr [r12], r13b + movzx ebx, byte ptr [rsp + 13] # 1-byte Folded Reload + shl bl, 6 shl r9b, 7 - or r9b, cl - mov byte ptr [r14 + 1], bl + or r9b, bl + mov byte ptr [r12 + 1], dil or r9b, al - movzx eax, byte ptr [rsp + 13] # 1-byte Folded Reload - add al, al - add al, byte ptr [rsp + 19] # 1-byte Folded Reload - mov ecx, eax movzx eax, byte ptr [rsp + 14] # 1-byte Folded Reload - shl al, 2 - or al, cl - mov ecx, eax + add al, al + add al, byte ptr [rsp + 20] # 1-byte Folded Reload + mov ebx, eax movzx eax, byte ptr [rsp + 15] # 1-byte Folded Reload - shl al, 3 - or al, cl - mov ecx, eax + shl al, 2 + or al, bl + mov ebx, eax movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload + shl al, 3 + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 17] # 1-byte Folded Reload shl al, 4 - or al, cl - mov ecx, eax - movzx eax, byte ptr [rsp + 18] # 1-byte Folded Reload + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 19] # 1-byte Folded Reload shl al, 5 - or al, cl - movzx ecx, byte ptr [rsp + 17] # 1-byte Folded Reload - shl cl, 6 - shl dil, 7 - or dil, cl - or dil, al - mov byte ptr [r14 + 2], r9b - mov byte ptr [r14 + 3], dil + or al, bl + movzx ebx, byte ptr [rsp + 18] # 1-byte Folded Reload + shl bl, 6 + shl cl, 7 + or cl, bl + or cl, al + mov byte ptr [r12 + 2], r9b + mov byte ptr [r12 + 3], cl add rdx, 64 - add r14, 4 - add qword ptr [rsp + 56], -1 # 8-byte Folded Spill + add r12, 4 + add qword ptr [rsp + 32], -1 # 8-byte Folded Spill jne .LBB0_85 # %bb.86: - mov r11, qword ptr [rsp + 24] # 8-byte Reload - mov r15, qword ptr [rsp + 64] # 8-byte Reload + mov r14, qword ptr [rsp + 24] # 8-byte Reload + mov r15, qword ptr [rsp + 56] # 8-byte Reload .LBB0_87: shl r15, 5 - cmp r15, r11 + cmp r15, r14 jge .LBB0_123 # %bb.88: - sub r11, r15 + sub r14, r15 xor ecx, ecx .p2align 4, 0x90 .LBB0_89: # =>This Inner Loop Header: Depth=1 @@ -1671,7 +1766,7 @@ comparison_equal_arr_arr_sse4: # @comparison_equal_arr_arr_sse4 neg bl mov rdi, rcx shr rdi, 3 - movzx r9d, byte ptr [r14 + rdi] + movzx r9d, byte ptr [r12 + rdi] xor bl, r9b and cl, 7 mov al, 1 @@ -1679,23 +1774,23 @@ comparison_equal_arr_arr_sse4: # @comparison_equal_arr_arr_sse4 shl al, cl and al, bl xor al, r9b - mov byte ptr [r14 + rdi], al + mov byte ptr [r12 + rdi], al mov rcx, r8 - cmp r11, r8 + cmp r14, r8 jne .LBB0_89 jmp .LBB0_123 .LBB0_101: - lea r15, [r11 + 31] - test r11, r11 - cmovns r15, r11 - lea eax, [r9 + 7] - test r9d, r9d - cmovns eax, r9d - and eax, -8 - sub r9d, eax + lea r15, [r14 + 31] + test r14, r14 + cmovns r15, r14 + lea ecx, [rax + 7] + test eax, eax + cmovns ecx, eax + and ecx, -8 + sub eax, ecx je .LBB0_105 # %bb.102: - movsxd rax, r9d + cdqe .p2align 4, 0x90 .LBB0_103: # =>This Inner Loop Header: Depth=1 mov rcx, qword ptr [rsi] @@ -1708,7 +1803,7 @@ comparison_equal_arr_arr_sse4: # @comparison_equal_arr_arr_sse4 test rax, rax cmovns rdi, rax sar rdi, 3 - movzx r8d, byte ptr [r14 + rdi] + movzx r8d, byte ptr [r12 + rdi] xor r10b, r8b lea r9d, [8*rdi] mov ecx, eax @@ -1718,50 +1813,50 @@ comparison_equal_arr_arr_sse4: # @comparison_equal_arr_arr_sse4 shl ebx, cl and bl, r10b xor bl, r8b - mov byte ptr [r14 + rdi], bl + mov byte ptr [r12 + rdi], bl add rax, 1 cmp rax, 8 jne .LBB0_103 # %bb.104: - add r14, 1 + add r12, 1 .LBB0_105: sar r15, 5 - cmp r11, 32 + cmp r14, 32 jl .LBB0_109 # %bb.106: - mov qword ptr [rsp + 24], r11 # 8-byte Spill - mov qword ptr [rsp + 64], r15 # 8-byte Spill + mov qword ptr [rsp + 24], r14 # 8-byte Spill mov qword ptr [rsp + 56], r15 # 8-byte Spill + mov qword ptr [rsp + 32], r15 # 8-byte Spill .p2align 4, 0x90 .LBB0_107: # =>This Inner Loop Header: Depth=1 - mov qword ptr [rsp + 48], r14 # 8-byte Spill + mov qword ptr [rsp + 48], r12 # 8-byte Spill mov rax, qword ptr [rsi] mov rcx, qword ptr [rsi + 8] cmp rax, qword ptr [rdx] - sete byte ptr [rsp + 40] # 1-byte Folded Spill + sete byte ptr [rsp + 4] # 1-byte Folded Spill cmp rcx, qword ptr [rdx + 8] - sete byte ptr [rsp + 32] # 1-byte Folded Spill + sete byte ptr [rsp + 40] # 1-byte Folded Spill mov rax, qword ptr [rsi + 16] cmp rax, qword ptr [rdx + 16] - sete byte ptr [rsp + 20] # 1-byte Folded Spill + sete byte ptr [rsp + 21] # 1-byte Folded Spill mov rax, qword ptr [rsi + 24] cmp rax, qword ptr [rdx + 24] - sete byte ptr [rsp + 21] # 1-byte Folded Spill + sete byte ptr [rsp + 22] # 1-byte Folded Spill mov rax, qword ptr [rsi + 32] cmp rax, qword ptr [rdx + 32] - sete byte ptr [rsp + 22] # 1-byte Folded Spill + sete byte ptr [rsp + 23] # 1-byte Folded Spill mov rax, qword ptr [rsi + 40] cmp rax, qword ptr [rdx + 40] - sete byte ptr [rsp + 23] # 1-byte Folded Spill + sete byte ptr [rsp + 3] # 1-byte Folded Spill mov rax, qword ptr [rsi + 48] cmp rax, qword ptr [rdx + 48] - sete byte ptr [rsp + 4] # 1-byte Folded Spill + sete byte ptr [rsp + 5] # 1-byte Folded Spill mov rax, qword ptr [rsi + 56] cmp rax, qword ptr [rdx + 56] sete r13b mov rax, qword ptr [rsi + 64] cmp rax, qword ptr [rdx + 64] - sete byte ptr [rsp + 9] # 1-byte Folded Spill + sete byte ptr [rsp + 10] # 1-byte Folded Spill mov rax, qword ptr [rsi + 72] cmp rax, qword ptr [rdx + 72] sete r8b @@ -1773,166 +1868,166 @@ comparison_equal_arr_arr_sse4: # @comparison_equal_arr_arr_sse4 sete r15b mov rax, qword ptr [rsi + 96] cmp rax, qword ptr [rdx + 96] - sete byte ptr [rsp + 5] # 1-byte Folded Spill + sete byte ptr [rsp + 6] # 1-byte Folded Spill mov rax, qword ptr [rsi + 104] cmp rax, qword ptr [rdx + 104] - sete byte ptr [rsp + 6] # 1-byte Folded Spill + sete byte ptr [rsp + 7] # 1-byte Folded Spill mov rax, qword ptr [rsi + 112] cmp rax, qword ptr [rdx + 112] - sete byte ptr [rsp + 7] # 1-byte Folded Spill + sete byte ptr [rsp + 8] # 1-byte Folded Spill mov rax, qword ptr [rsi + 120] cmp rax, qword ptr [rdx + 120] - sete bl + sete dil mov rax, qword ptr [rsi + 128] - mov rcx, qword ptr [rsi + 136] + mov rbx, qword ptr [rsi + 136] cmp rax, qword ptr [rdx + 128] mov rax, qword ptr [rsi + 144] - sete byte ptr [rsp + 10] # 1-byte Folded Spill - cmp rcx, qword ptr [rdx + 136] - mov rcx, qword ptr [rsi + 152] + sete byte ptr [rsp + 11] # 1-byte Folded Spill + cmp rbx, qword ptr [rdx + 136] + mov rbx, qword ptr [rsi + 152] sete r10b cmp rax, qword ptr [rdx + 144] mov rax, qword ptr [rsi + 160] sete r14b - cmp rcx, qword ptr [rdx + 152] - mov rcx, qword ptr [rsi + 168] + cmp rbx, qword ptr [rdx + 152] + mov rbx, qword ptr [rsi + 168] sete r12b cmp rax, qword ptr [rdx + 160] - sete byte ptr [rsp + 8] # 1-byte Folded Spill - cmp rcx, qword ptr [rdx + 168] + sete byte ptr [rsp + 9] # 1-byte Folded Spill + cmp rbx, qword ptr [rdx + 168] mov rax, qword ptr [rsi + 176] - sete byte ptr [rsp + 11] # 1-byte Folded Spill + sete byte ptr [rsp + 12] # 1-byte Folded Spill cmp rax, qword ptr [rdx + 176] mov rax, qword ptr [rsi + 184] - sete byte ptr [rsp + 12] # 1-byte Folded Spill + sete byte ptr [rsp + 13] # 1-byte Folded Spill cmp rax, qword ptr [rdx + 184] mov rax, qword ptr [rsi + 192] sete r9b cmp rax, qword ptr [rdx + 192] mov rax, qword ptr [rsi + 200] - sete byte ptr [rsp + 19] # 1-byte Folded Spill + sete byte ptr [rsp + 20] # 1-byte Folded Spill cmp rax, qword ptr [rdx + 200] mov rax, qword ptr [rsi + 208] - sete byte ptr [rsp + 13] # 1-byte Folded Spill + sete byte ptr [rsp + 14] # 1-byte Folded Spill cmp rax, qword ptr [rdx + 208] mov rax, qword ptr [rsi + 216] - sete byte ptr [rsp + 14] # 1-byte Folded Spill + sete byte ptr [rsp + 15] # 1-byte Folded Spill cmp rax, qword ptr [rdx + 216] mov rax, qword ptr [rsi + 224] - sete byte ptr [rsp + 15] # 1-byte Folded Spill + sete byte ptr [rsp + 16] # 1-byte Folded Spill cmp rax, qword ptr [rdx + 224] mov rax, qword ptr [rsi + 232] - sete byte ptr [rsp + 16] # 1-byte Folded Spill + sete byte ptr [rsp + 17] # 1-byte Folded Spill cmp rax, qword ptr [rdx + 232] mov rax, qword ptr [rsi + 240] - sete byte ptr [rsp + 18] # 1-byte Folded Spill + sete byte ptr [rsp + 19] # 1-byte Folded Spill cmp rax, qword ptr [rdx + 240] mov rax, qword ptr [rsi + 248] - sete byte ptr [rsp + 17] # 1-byte Folded Spill + sete byte ptr [rsp + 18] # 1-byte Folded Spill add rsi, 256 cmp rax, qword ptr [rdx + 248] - sete dil - movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload + sete cl + movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 40] # 1-byte Folded Reload - mov ecx, eax - movzx eax, byte ptr [rsp + 4] # 1-byte Folded Reload + add al, byte ptr [rsp + 4] # 1-byte Folded Reload + mov ebx, eax + movzx eax, byte ptr [rsp + 5] # 1-byte Folded Reload shl al, 6 shl r13b, 7 or r13b, al - movzx eax, byte ptr [rsp + 20] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 21] # 1-byte Folded Reload shl al, 2 - or al, cl + or al, bl add r8b, r8b - add r8b, byte ptr [rsp + 9] # 1-byte Folded Reload - movzx ecx, byte ptr [rsp + 21] # 1-byte Folded Reload - shl cl, 3 - or cl, al - mov eax, ecx + add r8b, byte ptr [rsp + 10] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 22] # 1-byte Folded Reload + shl bl, 3 + or bl, al + mov eax, ebx shl r11b, 2 or r11b, r8b - movzx ecx, byte ptr [rsp + 22] # 1-byte Folded Reload - shl cl, 4 - or cl, al - mov r8d, ecx + movzx ebx, byte ptr [rsp + 23] # 1-byte Folded Reload + shl bl, 4 + or bl, al + mov r8d, ebx shl r15b, 3 or r15b, r11b - movzx ecx, byte ptr [rsp + 23] # 1-byte Folded Reload - shl cl, 5 - or cl, r8b - movzx eax, byte ptr [rsp + 5] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 3] # 1-byte Folded Reload + shl bl, 5 + or bl, r8b + movzx eax, byte ptr [rsp + 6] # 1-byte Folded Reload shl al, 4 or al, r15b mov r8d, eax - movzx eax, byte ptr [rsp + 6] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 7] # 1-byte Folded Reload shl al, 5 or al, r8b - movzx r8d, byte ptr [rsp + 7] # 1-byte Folded Reload + movzx r8d, byte ptr [rsp + 8] # 1-byte Folded Reload shl r8b, 6 - shl bl, 7 - or bl, r8b - or r13b, cl - or bl, al + shl dil, 7 + or dil, r8b + or r13b, bl + or dil, al add r10b, r10b - add r10b, byte ptr [rsp + 10] # 1-byte Folded Reload + add r10b, byte ptr [rsp + 11] # 1-byte Folded Reload shl r14b, 2 or r14b, r10b shl r12b, 3 or r12b, r14b - movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 9] # 1-byte Folded Reload shl al, 4 or al, r12b - mov ecx, eax - mov r14, qword ptr [rsp + 48] # 8-byte Reload - movzx eax, byte ptr [rsp + 11] # 1-byte Folded Reload + mov ebx, eax + mov r12, qword ptr [rsp + 48] # 8-byte Reload + movzx eax, byte ptr [rsp + 12] # 1-byte Folded Reload shl al, 5 - or al, cl - mov byte ptr [r14], r13b - movzx ecx, byte ptr [rsp + 12] # 1-byte Folded Reload - shl cl, 6 + or al, bl + mov byte ptr [r12], r13b + movzx ebx, byte ptr [rsp + 13] # 1-byte Folded Reload + shl bl, 6 shl r9b, 7 - or r9b, cl - mov byte ptr [r14 + 1], bl + or r9b, bl + mov byte ptr [r12 + 1], dil or r9b, al - movzx eax, byte ptr [rsp + 13] # 1-byte Folded Reload - add al, al - add al, byte ptr [rsp + 19] # 1-byte Folded Reload - mov ecx, eax movzx eax, byte ptr [rsp + 14] # 1-byte Folded Reload - shl al, 2 - or al, cl - mov ecx, eax + add al, al + add al, byte ptr [rsp + 20] # 1-byte Folded Reload + mov ebx, eax movzx eax, byte ptr [rsp + 15] # 1-byte Folded Reload - shl al, 3 - or al, cl - mov ecx, eax + shl al, 2 + or al, bl + mov ebx, eax movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload + shl al, 3 + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 17] # 1-byte Folded Reload shl al, 4 - or al, cl - mov ecx, eax - movzx eax, byte ptr [rsp + 18] # 1-byte Folded Reload + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 19] # 1-byte Folded Reload shl al, 5 - or al, cl - movzx ecx, byte ptr [rsp + 17] # 1-byte Folded Reload - shl cl, 6 - shl dil, 7 - or dil, cl - or dil, al - mov byte ptr [r14 + 2], r9b - mov byte ptr [r14 + 3], dil + or al, bl + movzx ebx, byte ptr [rsp + 18] # 1-byte Folded Reload + shl bl, 6 + shl cl, 7 + or cl, bl + or cl, al + mov byte ptr [r12 + 2], r9b + mov byte ptr [r12 + 3], cl add rdx, 256 - add r14, 4 - add qword ptr [rsp + 56], -1 # 8-byte Folded Spill + add r12, 4 + add qword ptr [rsp + 32], -1 # 8-byte Folded Spill jne .LBB0_107 # %bb.108: - mov r11, qword ptr [rsp + 24] # 8-byte Reload - mov r15, qword ptr [rsp + 64] # 8-byte Reload + mov r14, qword ptr [rsp + 24] # 8-byte Reload + mov r15, qword ptr [rsp + 56] # 8-byte Reload .LBB0_109: shl r15, 5 - cmp r15, r11 + cmp r15, r14 jge .LBB0_123 # %bb.110: - sub r11, r15 + sub r14, r15 xor ecx, ecx .p2align 4, 0x90 .LBB0_111: # =>This Inner Loop Header: Depth=1 @@ -1943,7 +2038,7 @@ comparison_equal_arr_arr_sse4: # @comparison_equal_arr_arr_sse4 neg bl mov rdi, rcx shr rdi, 3 - movzx r9d, byte ptr [r14 + rdi] + movzx r9d, byte ptr [r12 + rdi] xor bl, r9b and cl, 7 mov al, 1 @@ -1951,291 +2046,386 @@ comparison_equal_arr_arr_sse4: # @comparison_equal_arr_arr_sse4 shl al, cl and al, bl xor al, r9b - mov byte ptr [r14 + rdi], al + mov byte ptr [r12 + rdi], al mov rcx, r8 - cmp r11, r8 + cmp r14, r8 jne .LBB0_111 jmp .LBB0_123 .LBB0_112: - lea r15, [r11 + 31] - test r11, r11 - cmovns r15, r11 - lea eax, [r9 + 7] - test r9d, r9d - cmovns eax, r9d - and eax, -8 - sub r9d, eax + lea r15, [r14 + 31] + test r14, r14 + cmovns r15, r14 + lea ecx, [rax + 7] + test eax, eax + cmovns ecx, eax + and ecx, -8 + sub eax, ecx je .LBB0_116 # %bb.113: - movsxd rax, r9d + movsxd r10, eax .p2align 4, 0x90 .LBB0_114: # =>This Inner Loop Header: Depth=1 movss xmm0, dword ptr [rsi] # xmm0 = mem[0],zero,zero,zero add rsi, 4 ucomiss xmm0, dword ptr [rdx] lea rdx, [rdx + 4] - sete r10b - neg r10b - lea rdi, [rax + 7] - test rax, rax - cmovns rdi, rax + setnp cl + sete bl + and bl, cl + neg bl + lea rdi, [r10 + 7] + test r10, r10 + cmovns rdi, r10 sar rdi, 3 - movzx r8d, byte ptr [r14 + rdi] - xor r10b, r8b + movzx r8d, byte ptr [r12 + rdi] + xor bl, r8b lea r9d, [8*rdi] - mov ecx, eax + mov ecx, r10d sub ecx, r9d - mov ebx, 1 + mov eax, 1 # kill: def $cl killed $cl killed $ecx - shl ebx, cl - and bl, r10b - xor bl, r8b - mov byte ptr [r14 + rdi], bl - add rax, 1 - cmp rax, 8 + shl eax, cl + and al, bl + xor al, r8b + mov byte ptr [r12 + rdi], al + add r10, 1 + cmp r10, 8 jne .LBB0_114 # %bb.115: - add r14, 1 + add r12, 1 .LBB0_116: sar r15, 5 - cmp r11, 32 + cmp r14, 32 jl .LBB0_120 # %bb.117: - mov qword ptr [rsp + 24], r11 # 8-byte Spill - mov qword ptr [rsp + 32], r15 # 8-byte Spill - mov qword ptr [rsp + 40], r15 # 8-byte Spill + mov qword ptr [rsp + 24], r14 # 8-byte Spill + mov qword ptr [rsp + 64], r15 # 8-byte Spill + mov qword ptr [rsp + 56], r15 # 8-byte Spill .p2align 4, 0x90 .LBB0_118: # =>This Inner Loop Header: Depth=1 - mov qword ptr [rsp + 48], r14 # 8-byte Spill + mov qword ptr [rsp + 48], r12 # 8-byte Spill movss xmm0, dword ptr [rsi] # xmm0 = mem[0],zero,zero,zero - movss xmm1, dword ptr [rsi + 4] # xmm1 = mem[0],zero,zero,zero ucomiss xmm0, dword ptr [rdx] - sete byte ptr [rsp + 4] # 1-byte Folded Spill - ucomiss xmm1, dword ptr [rdx + 4] - sete al + movss xmm0, dword ptr [rsi + 4] # xmm0 = mem[0],zero,zero,zero + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 21], cl # 1-byte Spill + ucomiss xmm0, dword ptr [rdx + 4] + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 13], cl # 1-byte Spill movss xmm0, dword ptr [rsi + 8] # xmm0 = mem[0],zero,zero,zero ucomiss xmm0, dword ptr [rdx + 8] + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 20], cl # 1-byte Spill movss xmm0, dword ptr [rsi + 12] # xmm0 = mem[0],zero,zero,zero - sete byte ptr [rsp + 5] # 1-byte Folded Spill ucomiss xmm0, dword ptr [rdx + 12] - sete byte ptr [rsp + 22] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 23], cl # 1-byte Spill movss xmm0, dword ptr [rsi + 16] # xmm0 = mem[0],zero,zero,zero ucomiss xmm0, dword ptr [rdx + 16] + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 22], cl # 1-byte Spill movss xmm0, dword ptr [rsi + 20] # xmm0 = mem[0],zero,zero,zero - sete byte ptr [rsp + 21] # 1-byte Folded Spill ucomiss xmm0, dword ptr [rdx + 20] - sete byte ptr [rsp + 23] # 1-byte Folded Spill + setnp al + sete dil + and dil, al movss xmm0, dword ptr [rsi + 24] # xmm0 = mem[0],zero,zero,zero ucomiss xmm0, dword ptr [rdx + 24] - movss xmm0, dword ptr [rsi + 28] # xmm0 = mem[0],zero,zero,zero + setnp al sete r13b + and r13b, al + movss xmm0, dword ptr [rsi + 28] # xmm0 = mem[0],zero,zero,zero ucomiss xmm0, dword ptr [rdx + 28] - sete r15b + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 3], cl # 1-byte Spill movss xmm0, dword ptr [rsi + 32] # xmm0 = mem[0],zero,zero,zero ucomiss xmm0, dword ptr [rdx + 32] + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 19], cl # 1-byte Spill movss xmm0, dword ptr [rsi + 36] # xmm0 = mem[0],zero,zero,zero - sete byte ptr [rsp + 8] # 1-byte Folded Spill ucomiss xmm0, dword ptr [rdx + 36] - sete cl + setnp al + sete bl + and bl, al movss xmm0, dword ptr [rsi + 40] # xmm0 = mem[0],zero,zero,zero ucomiss xmm0, dword ptr [rdx + 40] + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 18], cl # 1-byte Spill movss xmm0, dword ptr [rsi + 44] # xmm0 = mem[0],zero,zero,zero - sete r9b ucomiss xmm0, dword ptr [rdx + 44] - sete r11b + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 17], cl # 1-byte Spill movss xmm0, dword ptr [rsi + 48] # xmm0 = mem[0],zero,zero,zero ucomiss xmm0, dword ptr [rdx + 48] + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 16], cl # 1-byte Spill movss xmm0, dword ptr [rsi + 52] # xmm0 = mem[0],zero,zero,zero - sete r10b ucomiss xmm0, dword ptr [rdx + 52] - sete byte ptr [rsp + 7] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 15], cl # 1-byte Spill movss xmm0, dword ptr [rsi + 56] # xmm0 = mem[0],zero,zero,zero ucomiss xmm0, dword ptr [rdx + 56] + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 12], cl # 1-byte Spill movss xmm0, dword ptr [rsi + 60] # xmm0 = mem[0],zero,zero,zero - sete byte ptr [rsp + 6] # 1-byte Folded Spill ucomiss xmm0, dword ptr [rdx + 60] - sete bl + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 11], cl # 1-byte Spill movss xmm0, dword ptr [rsi + 64] # xmm0 = mem[0],zero,zero,zero ucomiss xmm0, dword ptr [rdx + 64] + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 14], cl # 1-byte Spill movss xmm0, dword ptr [rsi + 68] # xmm0 = mem[0],zero,zero,zero - sete byte ptr [rsp + 14] # 1-byte Folded Spill ucomiss xmm0, dword ptr [rdx + 68] + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 10], cl # 1-byte Spill movss xmm0, dword ptr [rsi + 72] # xmm0 = mem[0],zero,zero,zero - sete r14b ucomiss xmm0, dword ptr [rdx + 72] + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 9], cl # 1-byte Spill movss xmm0, dword ptr [rsi + 76] # xmm0 = mem[0],zero,zero,zero - sete r12b ucomiss xmm0, dword ptr [rdx + 76] + setnp al + sete r11b + and r11b, al movss xmm0, dword ptr [rsi + 80] # xmm0 = mem[0],zero,zero,zero - sete byte ptr [rsp + 9] # 1-byte Folded Spill ucomiss xmm0, dword ptr [rdx + 80] + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 8], cl # 1-byte Spill movss xmm0, dword ptr [rsi + 84] # xmm0 = mem[0],zero,zero,zero - sete byte ptr [rsp + 10] # 1-byte Folded Spill ucomiss xmm0, dword ptr [rdx + 84] + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 7], cl # 1-byte Spill movss xmm0, dword ptr [rsi + 88] # xmm0 = mem[0],zero,zero,zero - sete byte ptr [rsp + 11] # 1-byte Folded Spill ucomiss xmm0, dword ptr [rdx + 88] + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 5], cl # 1-byte Spill movss xmm0, dword ptr [rsi + 92] # xmm0 = mem[0],zero,zero,zero - sete byte ptr [rsp + 12] # 1-byte Folded Spill ucomiss xmm0, dword ptr [rdx + 92] + setnp al + sete r10b + and r10b, al movss xmm0, dword ptr [rsi + 96] # xmm0 = mem[0],zero,zero,zero - sete r8b ucomiss xmm0, dword ptr [rdx + 96] + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 6], cl # 1-byte Spill movss xmm0, dword ptr [rsi + 100] # xmm0 = mem[0],zero,zero,zero - sete byte ptr [rsp + 20] # 1-byte Folded Spill ucomiss xmm0, dword ptr [rdx + 100] + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 32], cl # 1-byte Spill movss xmm0, dword ptr [rsi + 104] # xmm0 = mem[0],zero,zero,zero - sete byte ptr [rsp + 13] # 1-byte Folded Spill ucomiss xmm0, dword ptr [rdx + 104] + setnp al + sete r15b + and r15b, al movss xmm0, dword ptr [rsi + 108] # xmm0 = mem[0],zero,zero,zero - sete byte ptr [rsp + 15] # 1-byte Folded Spill ucomiss xmm0, dword ptr [rdx + 108] + setnp al + sete r14b + and r14b, al movss xmm0, dword ptr [rsi + 112] # xmm0 = mem[0],zero,zero,zero - sete byte ptr [rsp + 16] # 1-byte Folded Spill ucomiss xmm0, dword ptr [rdx + 112] + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 4], cl # 1-byte Spill movss xmm0, dword ptr [rsi + 116] # xmm0 = mem[0],zero,zero,zero - sete byte ptr [rsp + 17] # 1-byte Folded Spill ucomiss xmm0, dword ptr [rdx + 116] + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 40], cl # 1-byte Spill movss xmm0, dword ptr [rsi + 120] # xmm0 = mem[0],zero,zero,zero - sete byte ptr [rsp + 19] # 1-byte Folded Spill ucomiss xmm0, dword ptr [rdx + 120] + setnp al + sete r9b + and r9b, al movss xmm0, dword ptr [rsi + 124] # xmm0 = mem[0],zero,zero,zero - sete byte ptr [rsp + 18] # 1-byte Folded Spill sub rsi, -128 ucomiss xmm0, dword ptr [rdx + 124] - sete dil + setnp al + sete r8b + and r8b, al + movzx eax, byte ptr [rsp + 13] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 4] # 1-byte Folded Reload + add al, byte ptr [rsp + 21] # 1-byte Folded Reload + shl dil, 5 shl r13b, 6 - shl r15b, 7 - or r15b, r13b - movzx r13d, byte ptr [rsp + 5] # 1-byte Folded Reload - shl r13b, 2 - or r13b, al - mov eax, r13d - add cl, cl - add cl, byte ptr [rsp + 8] # 1-byte Folded Reload + or r13b, dil + mov edi, r13d + movzx ecx, byte ptr [rsp + 20] # 1-byte Folded Reload + shl cl, 2 + or cl, al + mov eax, ebx + add al, bl + add al, byte ptr [rsp + 19] # 1-byte Folded Reload + mov r13d, eax + movzx eax, byte ptr [rsp + 3] # 1-byte Folded Reload + shl al, 7 + or al, dil + mov byte ptr [rsp + 3], al # 1-byte Spill + movzx eax, byte ptr [rsp + 18] # 1-byte Folded Reload + shl al, 2 + or al, r13b + mov edi, eax + movzx eax, byte ptr [rsp + 23] # 1-byte Folded Reload + shl al, 3 + or al, cl + movzx ebx, byte ptr [rsp + 17] # 1-byte Folded Reload + shl bl, 3 + or bl, dil movzx r13d, byte ptr [rsp + 22] # 1-byte Folded Reload - shl r13b, 3 + shl r13b, 4 or r13b, al - shl r9b, 2 - or r9b, cl - movzx ecx, byte ptr [rsp + 21] # 1-byte Folded Reload - shl cl, 4 - or cl, r13b - mov r13d, ecx - shl r11b, 3 - or r11b, r9b - movzx ecx, byte ptr [rsp + 23] # 1-byte Folded Reload - shl cl, 5 - or cl, r13b - shl r10b, 4 - or r10b, r11b - movzx eax, byte ptr [rsp + 7] # 1-byte Folded Reload - shl al, 5 - or al, r10b - movzx r9d, byte ptr [rsp + 6] # 1-byte Folded Reload - shl r9b, 6 - shl bl, 7 - or bl, r9b - or r15b, cl - or bl, al - add r14b, r14b - add r14b, byte ptr [rsp + 14] # 1-byte Folded Reload - shl r12b, 2 - or r12b, r14b - mov r14, qword ptr [rsp + 48] # 8-byte Reload - movzx eax, byte ptr [rsp + 9] # 1-byte Folded Reload - shl al, 3 - or al, r12b - mov ecx, eax - movzx eax, byte ptr [rsp + 10] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload shl al, 4 - or al, cl - mov ecx, eax + or al, bl + mov edi, eax + movzx ebx, byte ptr [rsp + 15] # 1-byte Folded Reload + shl bl, 5 + movzx eax, byte ptr [rsp + 12] # 1-byte Folded Reload + shl al, 6 + or al, bl + mov ebx, eax movzx eax, byte ptr [rsp + 11] # 1-byte Folded Reload - shl al, 5 - or al, cl - mov byte ptr [r14], r15b - movzx ecx, byte ptr [rsp + 12] # 1-byte Folded Reload + shl al, 7 + or al, bl + movzx ebx, byte ptr [rsp + 10] # 1-byte Folded Reload + add bl, bl + add bl, byte ptr [rsp + 14] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 9] # 1-byte Folded Reload + shl cl, 2 + or cl, bl + shl r11b, 3 + or r11b, cl + movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload + shl bl, 4 + or bl, r11b + mov r12, qword ptr [rsp + 48] # 8-byte Reload + movzx r11d, byte ptr [rsp + 3] # 1-byte Folded Reload + or r11b, r13b + movzx r13d, byte ptr [rsp + 7] # 1-byte Folded Reload + shl r13b, 5 + movzx ecx, byte ptr [rsp + 5] # 1-byte Folded Reload shl cl, 6 + or cl, r13b + or al, dil + shl r10b, 7 + or r10b, cl + or r10b, bl + movzx ecx, byte ptr [rsp + 32] # 1-byte Folded Reload + add cl, cl + add cl, byte ptr [rsp + 6] # 1-byte Folded Reload + shl r15b, 2 + or r15b, cl + shl r14b, 3 + or r14b, r15b + movzx ecx, byte ptr [rsp + 4] # 1-byte Folded Reload + shl cl, 4 + or cl, r14b + mov byte ptr [r12], r11b + movzx ebx, byte ptr [rsp + 40] # 1-byte Folded Reload + shl bl, 5 + shl r9b, 6 + or r9b, bl + mov byte ptr [r12 + 1], al shl r8b, 7 + or r8b, r9b or r8b, cl - mov byte ptr [r14 + 1], bl - or r8b, al - movzx eax, byte ptr [rsp + 13] # 1-byte Folded Reload - add al, al - add al, byte ptr [rsp + 20] # 1-byte Folded Reload - mov ecx, eax - movzx eax, byte ptr [rsp + 15] # 1-byte Folded Reload - shl al, 2 - or al, cl - mov ecx, eax - movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload - shl al, 3 - or al, cl - mov ecx, eax - movzx eax, byte ptr [rsp + 17] # 1-byte Folded Reload - shl al, 4 - or al, cl - movzx ecx, byte ptr [rsp + 19] # 1-byte Folded Reload - shl cl, 5 - or cl, al - movzx eax, byte ptr [rsp + 18] # 1-byte Folded Reload - shl al, 6 - shl dil, 7 - or dil, al - or dil, cl - mov byte ptr [r14 + 2], r8b - mov byte ptr [r14 + 3], dil + mov byte ptr [r12 + 2], r10b + mov byte ptr [r12 + 3], r8b add rdx, 128 - add r14, 4 - add qword ptr [rsp + 40], -1 # 8-byte Folded Spill + add r12, 4 + add qword ptr [rsp + 56], -1 # 8-byte Folded Spill jne .LBB0_118 # %bb.119: - mov r11, qword ptr [rsp + 24] # 8-byte Reload - mov r15, qword ptr [rsp + 32] # 8-byte Reload + mov r14, qword ptr [rsp + 24] # 8-byte Reload + mov r15, qword ptr [rsp + 64] # 8-byte Reload .LBB0_120: shl r15, 5 - cmp r15, r11 + cmp r15, r14 jge .LBB0_123 # %bb.121: - sub r11, r15 + sub r14, r15 xor ecx, ecx .p2align 4, 0x90 .LBB0_122: # =>This Inner Loop Header: Depth=1 + lea r9, [rcx + 1] movss xmm0, dword ptr [rsi + 4*rcx] # xmm0 = mem[0],zero,zero,zero ucomiss xmm0, dword ptr [rdx + 4*rcx] - lea r8, [rcx + 1] - sete bl - neg bl + setnp bl + sete al + and al, bl + neg al mov rdi, rcx shr rdi, 3 - movzx r9d, byte ptr [r14 + rdi] - xor bl, r9b + movzx r8d, byte ptr [r12 + rdi] + xor al, r8b and cl, 7 - mov al, 1 + mov bl, 1 # kill: def $cl killed $cl killed $rcx - shl al, cl - and al, bl - xor al, r9b - mov byte ptr [r14 + rdi], al - mov rcx, r8 - cmp r11, r8 + shl bl, cl + and bl, al + xor bl, r8b + mov byte ptr [r12 + rdi], bl + mov rcx, r9 + cmp r14, r9 jne .LBB0_122 jmp .LBB0_123 .LBB0_57: - lea r15, [r11 + 31] - test r11, r11 - cmovns r15, r11 - lea eax, [r9 + 7] - test r9d, r9d - cmovns eax, r9d - and eax, -8 - sub r9d, eax + lea r15, [r14 + 31] + test r14, r14 + cmovns r15, r14 + lea ecx, [rax + 7] + test eax, eax + cmovns ecx, eax + and ecx, -8 + sub eax, ecx je .LBB0_61 # %bb.58: - movsxd rax, r9d + cdqe .p2align 4, 0x90 .LBB0_59: # =>This Inner Loop Header: Depth=1 movzx ecx, byte ptr [rsi] @@ -2248,7 +2438,7 @@ comparison_equal_arr_arr_sse4: # @comparison_equal_arr_arr_sse4 test rax, rax cmovns rdi, rax sar rdi, 3 - movzx r8d, byte ptr [r14 + rdi] + movzx r8d, byte ptr [r12 + rdi] xor r10b, r8b lea r9d, [8*rdi] mov ecx, eax @@ -2258,50 +2448,50 @@ comparison_equal_arr_arr_sse4: # @comparison_equal_arr_arr_sse4 shl ebx, cl and bl, r10b xor bl, r8b - mov byte ptr [r14 + rdi], bl + mov byte ptr [r12 + rdi], bl add rax, 1 cmp rax, 8 jne .LBB0_59 # %bb.60: - add r14, 1 + add r12, 1 .LBB0_61: sar r15, 5 - cmp r11, 32 + cmp r14, 32 jl .LBB0_65 # %bb.62: - mov qword ptr [rsp + 24], r11 # 8-byte Spill - mov qword ptr [rsp + 56], r15 # 8-byte Spill + mov qword ptr [rsp + 24], r14 # 8-byte Spill mov qword ptr [rsp + 32], r15 # 8-byte Spill + mov qword ptr [rsp + 40], r15 # 8-byte Spill .p2align 4, 0x90 .LBB0_63: # =>This Inner Loop Header: Depth=1 - mov qword ptr [rsp + 48], r14 # 8-byte Spill + mov qword ptr [rsp + 48], r12 # 8-byte Spill movzx eax, byte ptr [rsi] movzx ecx, byte ptr [rsi + 1] cmp al, byte ptr [rdx] - sete byte ptr [rsp + 40] # 1-byte Folded Spill + sete byte ptr [rsp + 4] # 1-byte Folded Spill cmp cl, byte ptr [rdx + 1] - sete cl + sete bl movzx eax, byte ptr [rsi + 2] cmp al, byte ptr [rdx + 2] - sete byte ptr [rsp + 20] # 1-byte Folded Spill + sete byte ptr [rsp + 21] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 3] cmp al, byte ptr [rdx + 3] - sete byte ptr [rsp + 21] # 1-byte Folded Spill + sete byte ptr [rsp + 22] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 4] cmp al, byte ptr [rdx + 4] - sete byte ptr [rsp + 22] # 1-byte Folded Spill + sete byte ptr [rsp + 23] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 5] cmp al, byte ptr [rdx + 5] - sete byte ptr [rsp + 23] # 1-byte Folded Spill + sete byte ptr [rsp + 3] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 6] cmp al, byte ptr [rdx + 6] - sete byte ptr [rsp + 4] # 1-byte Folded Spill + sete byte ptr [rsp + 5] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 7] cmp al, byte ptr [rdx + 7] sete r15b movzx eax, byte ptr [rsi + 8] cmp al, byte ptr [rdx + 8] - sete byte ptr [rsp + 7] # 1-byte Folded Spill + sete byte ptr [rsp + 8] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 9] cmp al, byte ptr [rdx + 9] sete dil @@ -2316,16 +2506,16 @@ comparison_equal_arr_arr_sse4: # @comparison_equal_arr_arr_sse4 sete r14b movzx eax, byte ptr [rsi + 13] cmp al, byte ptr [rdx + 13] - sete byte ptr [rsp + 5] # 1-byte Folded Spill + sete byte ptr [rsp + 6] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 14] cmp al, byte ptr [rdx + 14] - sete byte ptr [rsp + 6] # 1-byte Folded Spill + sete byte ptr [rsp + 7] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 15] cmp al, byte ptr [rdx + 15] - sete bl + sete r8b movzx eax, byte ptr [rsi + 16] cmp al, byte ptr [rdx + 16] - sete byte ptr [rsp + 13] # 1-byte Folded Spill + sete byte ptr [rsp + 14] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 17] cmp al, byte ptr [rdx + 17] sete r12b @@ -2334,145 +2524,145 @@ comparison_equal_arr_arr_sse4: # @comparison_equal_arr_arr_sse4 sete r13b movzx eax, byte ptr [rsi + 19] cmp al, byte ptr [rdx + 19] - sete byte ptr [rsp + 8] # 1-byte Folded Spill + sete byte ptr [rsp + 9] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 20] cmp al, byte ptr [rdx + 20] - sete byte ptr [rsp + 9] # 1-byte Folded Spill + sete byte ptr [rsp + 10] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 21] cmp al, byte ptr [rdx + 21] - sete byte ptr [rsp + 10] # 1-byte Folded Spill + sete byte ptr [rsp + 11] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 22] cmp al, byte ptr [rdx + 22] - sete byte ptr [rsp + 11] # 1-byte Folded Spill + sete byte ptr [rsp + 12] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 23] cmp al, byte ptr [rdx + 23] sete r9b movzx eax, byte ptr [rsi + 24] cmp al, byte ptr [rdx + 24] - sete byte ptr [rsp + 19] # 1-byte Folded Spill + sete byte ptr [rsp + 20] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 25] cmp al, byte ptr [rdx + 25] - sete byte ptr [rsp + 12] # 1-byte Folded Spill + sete byte ptr [rsp + 13] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 26] cmp al, byte ptr [rdx + 26] - sete byte ptr [rsp + 14] # 1-byte Folded Spill + sete byte ptr [rsp + 15] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 27] cmp al, byte ptr [rdx + 27] - sete byte ptr [rsp + 15] # 1-byte Folded Spill + sete byte ptr [rsp + 16] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 28] cmp al, byte ptr [rdx + 28] - sete byte ptr [rsp + 16] # 1-byte Folded Spill + sete byte ptr [rsp + 17] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 29] cmp al, byte ptr [rdx + 29] - sete byte ptr [rsp + 17] # 1-byte Folded Spill + sete byte ptr [rsp + 18] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 30] cmp al, byte ptr [rdx + 30] - sete byte ptr [rsp + 18] # 1-byte Folded Spill + sete byte ptr [rsp + 19] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 31] add rsi, 32 cmp al, byte ptr [rdx + 31] - sete r8b - add cl, cl - add cl, byte ptr [rsp + 40] # 1-byte Folded Reload - mov eax, ecx - movzx ecx, byte ptr [rsp + 4] # 1-byte Folded Reload - shl cl, 6 + sete cl + add bl, bl + add bl, byte ptr [rsp + 4] # 1-byte Folded Reload + mov eax, ebx + movzx ebx, byte ptr [rsp + 5] # 1-byte Folded Reload + shl bl, 6 shl r15b, 7 - or r15b, cl - movzx ecx, byte ptr [rsp + 20] # 1-byte Folded Reload - shl cl, 2 - or cl, al - mov eax, ecx + or r15b, bl + movzx ebx, byte ptr [rsp + 21] # 1-byte Folded Reload + shl bl, 2 + or bl, al + mov eax, ebx add dil, dil - add dil, byte ptr [rsp + 7] # 1-byte Folded Reload - movzx ecx, byte ptr [rsp + 21] # 1-byte Folded Reload - shl cl, 3 - or cl, al - mov eax, ecx + add dil, byte ptr [rsp + 8] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 22] # 1-byte Folded Reload + shl bl, 3 + or bl, al + mov eax, ebx shl r10b, 2 or r10b, dil - movzx ecx, byte ptr [rsp + 22] # 1-byte Folded Reload - shl cl, 4 - or cl, al - mov edi, ecx + movzx ebx, byte ptr [rsp + 23] # 1-byte Folded Reload + shl bl, 4 + or bl, al + mov edi, ebx shl r11b, 3 or r11b, r10b - movzx ecx, byte ptr [rsp + 23] # 1-byte Folded Reload - shl cl, 5 - or cl, dil + movzx ebx, byte ptr [rsp + 3] # 1-byte Folded Reload + shl bl, 5 + or bl, dil shl r14b, 4 or r14b, r11b - movzx eax, byte ptr [rsp + 5] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 6] # 1-byte Folded Reload shl al, 5 or al, r14b - movzx edi, byte ptr [rsp + 6] # 1-byte Folded Reload + movzx edi, byte ptr [rsp + 7] # 1-byte Folded Reload shl dil, 6 - shl bl, 7 - or bl, dil - or r15b, cl - or bl, al + shl r8b, 7 + or r8b, dil + or r15b, bl + or r8b, al add r12b, r12b - add r12b, byte ptr [rsp + 13] # 1-byte Folded Reload + add r12b, byte ptr [rsp + 14] # 1-byte Folded Reload shl r13b, 2 or r13b, r12b - mov r14, qword ptr [rsp + 48] # 8-byte Reload - movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + mov r12, qword ptr [rsp + 48] # 8-byte Reload + movzx eax, byte ptr [rsp + 9] # 1-byte Folded Reload shl al, 3 or al, r13b - mov ecx, eax - movzx eax, byte ptr [rsp + 9] # 1-byte Folded Reload - shl al, 4 - or al, cl - mov ecx, eax + mov ebx, eax movzx eax, byte ptr [rsp + 10] # 1-byte Folded Reload + shl al, 4 + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 11] # 1-byte Folded Reload shl al, 5 - or al, cl - mov byte ptr [r14], r15b - movzx ecx, byte ptr [rsp + 11] # 1-byte Folded Reload - shl cl, 6 + or al, bl + mov byte ptr [r12], r15b + movzx ebx, byte ptr [rsp + 12] # 1-byte Folded Reload + shl bl, 6 shl r9b, 7 - or r9b, cl - mov byte ptr [r14 + 1], bl + or r9b, bl + mov byte ptr [r12 + 1], r8b or r9b, al - movzx eax, byte ptr [rsp + 12] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 13] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 19] # 1-byte Folded Reload - mov ecx, eax - movzx eax, byte ptr [rsp + 14] # 1-byte Folded Reload - shl al, 2 - or al, cl - mov ecx, eax + add al, byte ptr [rsp + 20] # 1-byte Folded Reload + mov ebx, eax movzx eax, byte ptr [rsp + 15] # 1-byte Folded Reload - shl al, 3 - or al, cl - mov ecx, eax + shl al, 2 + or al, bl + mov ebx, eax movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload - shl al, 4 - or al, cl - mov ecx, eax + shl al, 3 + or al, bl + mov ebx, eax movzx eax, byte ptr [rsp + 17] # 1-byte Folded Reload + shl al, 4 + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 18] # 1-byte Folded Reload shl al, 5 - or al, cl - movzx ecx, byte ptr [rsp + 18] # 1-byte Folded Reload - shl cl, 6 - shl r8b, 7 - or r8b, cl - or r8b, al - mov byte ptr [r14 + 2], r9b - mov byte ptr [r14 + 3], r8b + or al, bl + movzx ebx, byte ptr [rsp + 19] # 1-byte Folded Reload + shl bl, 6 + shl cl, 7 + or cl, bl + or cl, al + mov byte ptr [r12 + 2], r9b + mov byte ptr [r12 + 3], cl add rdx, 32 - add r14, 4 - add qword ptr [rsp + 32], -1 # 8-byte Folded Spill + add r12, 4 + add qword ptr [rsp + 40], -1 # 8-byte Folded Spill jne .LBB0_63 # %bb.64: - mov r11, qword ptr [rsp + 24] # 8-byte Reload - mov r15, qword ptr [rsp + 56] # 8-byte Reload + mov r14, qword ptr [rsp + 24] # 8-byte Reload + mov r15, qword ptr [rsp + 32] # 8-byte Reload .LBB0_65: shl r15, 5 - cmp r15, r11 + cmp r15, r14 jge .LBB0_123 # %bb.66: - sub r11, r15 + sub r14, r15 xor ecx, ecx .p2align 4, 0x90 .LBB0_67: # =>This Inner Loop Header: Depth=1 @@ -2483,7 +2673,7 @@ comparison_equal_arr_arr_sse4: # @comparison_equal_arr_arr_sse4 neg bl mov rdi, rcx shr rdi, 3 - movzx r9d, byte ptr [r14 + rdi] + movzx r9d, byte ptr [r12 + rdi] xor bl, r9b and cl, 7 mov al, 1 @@ -2491,23 +2681,23 @@ comparison_equal_arr_arr_sse4: # @comparison_equal_arr_arr_sse4 shl al, cl and al, bl xor al, r9b - mov byte ptr [r14 + rdi], al + mov byte ptr [r12 + rdi], al mov rcx, r8 - cmp r11, r8 + cmp r14, r8 jne .LBB0_67 jmp .LBB0_123 .LBB0_90: - lea r15, [r11 + 31] - test r11, r11 - cmovns r15, r11 - lea eax, [r9 + 7] - test r9d, r9d - cmovns eax, r9d - and eax, -8 - sub r9d, eax + lea r15, [r14 + 31] + test r14, r14 + cmovns r15, r14 + lea ecx, [rax + 7] + test eax, eax + cmovns ecx, eax + and ecx, -8 + sub eax, ecx je .LBB0_94 # %bb.91: - movsxd rax, r9d + cdqe .p2align 4, 0x90 .LBB0_92: # =>This Inner Loop Header: Depth=1 mov ecx, dword ptr [rsi] @@ -2520,7 +2710,7 @@ comparison_equal_arr_arr_sse4: # @comparison_equal_arr_arr_sse4 test rax, rax cmovns rdi, rax sar rdi, 3 - movzx r8d, byte ptr [r14 + rdi] + movzx r8d, byte ptr [r12 + rdi] xor r10b, r8b lea r9d, [8*rdi] mov ecx, eax @@ -2530,50 +2720,50 @@ comparison_equal_arr_arr_sse4: # @comparison_equal_arr_arr_sse4 shl ebx, cl and bl, r10b xor bl, r8b - mov byte ptr [r14 + rdi], bl + mov byte ptr [r12 + rdi], bl add rax, 1 cmp rax, 8 jne .LBB0_92 # %bb.93: - add r14, 1 + add r12, 1 .LBB0_94: sar r15, 5 - cmp r11, 32 + cmp r14, 32 jl .LBB0_98 # %bb.95: - mov qword ptr [rsp + 24], r11 # 8-byte Spill - mov qword ptr [rsp + 64], r15 # 8-byte Spill + mov qword ptr [rsp + 24], r14 # 8-byte Spill mov qword ptr [rsp + 56], r15 # 8-byte Spill + mov qword ptr [rsp + 32], r15 # 8-byte Spill .p2align 4, 0x90 .LBB0_96: # =>This Inner Loop Header: Depth=1 - mov qword ptr [rsp + 48], r14 # 8-byte Spill + mov qword ptr [rsp + 48], r12 # 8-byte Spill mov eax, dword ptr [rsi] mov ecx, dword ptr [rsi + 4] cmp eax, dword ptr [rdx] - sete byte ptr [rsp + 40] # 1-byte Folded Spill + sete byte ptr [rsp + 4] # 1-byte Folded Spill cmp ecx, dword ptr [rdx + 4] - sete byte ptr [rsp + 32] # 1-byte Folded Spill + sete byte ptr [rsp + 40] # 1-byte Folded Spill mov eax, dword ptr [rsi + 8] cmp eax, dword ptr [rdx + 8] - sete byte ptr [rsp + 20] # 1-byte Folded Spill + sete byte ptr [rsp + 21] # 1-byte Folded Spill mov eax, dword ptr [rsi + 12] cmp eax, dword ptr [rdx + 12] - sete byte ptr [rsp + 21] # 1-byte Folded Spill + sete byte ptr [rsp + 22] # 1-byte Folded Spill mov eax, dword ptr [rsi + 16] cmp eax, dword ptr [rdx + 16] - sete byte ptr [rsp + 22] # 1-byte Folded Spill + sete byte ptr [rsp + 23] # 1-byte Folded Spill mov eax, dword ptr [rsi + 20] cmp eax, dword ptr [rdx + 20] - sete byte ptr [rsp + 23] # 1-byte Folded Spill + sete byte ptr [rsp + 3] # 1-byte Folded Spill mov eax, dword ptr [rsi + 24] cmp eax, dword ptr [rdx + 24] - sete byte ptr [rsp + 4] # 1-byte Folded Spill + sete byte ptr [rsp + 5] # 1-byte Folded Spill mov eax, dword ptr [rsi + 28] cmp eax, dword ptr [rdx + 28] sete r13b mov eax, dword ptr [rsi + 32] cmp eax, dword ptr [rdx + 32] - sete byte ptr [rsp + 9] # 1-byte Folded Spill + sete byte ptr [rsp + 10] # 1-byte Folded Spill mov eax, dword ptr [rsi + 36] cmp eax, dword ptr [rdx + 36] sete r8b @@ -2585,166 +2775,166 @@ comparison_equal_arr_arr_sse4: # @comparison_equal_arr_arr_sse4 sete r15b mov eax, dword ptr [rsi + 48] cmp eax, dword ptr [rdx + 48] - sete byte ptr [rsp + 5] # 1-byte Folded Spill + sete byte ptr [rsp + 6] # 1-byte Folded Spill mov eax, dword ptr [rsi + 52] cmp eax, dword ptr [rdx + 52] - sete byte ptr [rsp + 6] # 1-byte Folded Spill + sete byte ptr [rsp + 7] # 1-byte Folded Spill mov eax, dword ptr [rsi + 56] cmp eax, dword ptr [rdx + 56] - sete byte ptr [rsp + 7] # 1-byte Folded Spill + sete byte ptr [rsp + 8] # 1-byte Folded Spill mov eax, dword ptr [rsi + 60] cmp eax, dword ptr [rdx + 60] - sete bl + sete dil mov eax, dword ptr [rsi + 64] - mov ecx, dword ptr [rsi + 68] + mov ebx, dword ptr [rsi + 68] cmp eax, dword ptr [rdx + 64] mov eax, dword ptr [rsi + 72] - sete byte ptr [rsp + 10] # 1-byte Folded Spill - cmp ecx, dword ptr [rdx + 68] - mov ecx, dword ptr [rsi + 76] + sete byte ptr [rsp + 11] # 1-byte Folded Spill + cmp ebx, dword ptr [rdx + 68] + mov ebx, dword ptr [rsi + 76] sete r10b cmp eax, dword ptr [rdx + 72] mov eax, dword ptr [rsi + 80] sete r14b - cmp ecx, dword ptr [rdx + 76] - mov ecx, dword ptr [rsi + 84] + cmp ebx, dword ptr [rdx + 76] + mov ebx, dword ptr [rsi + 84] sete r12b cmp eax, dword ptr [rdx + 80] - sete byte ptr [rsp + 8] # 1-byte Folded Spill - cmp ecx, dword ptr [rdx + 84] + sete byte ptr [rsp + 9] # 1-byte Folded Spill + cmp ebx, dword ptr [rdx + 84] mov eax, dword ptr [rsi + 88] - sete byte ptr [rsp + 11] # 1-byte Folded Spill + sete byte ptr [rsp + 12] # 1-byte Folded Spill cmp eax, dword ptr [rdx + 88] mov eax, dword ptr [rsi + 92] - sete byte ptr [rsp + 12] # 1-byte Folded Spill + sete byte ptr [rsp + 13] # 1-byte Folded Spill cmp eax, dword ptr [rdx + 92] mov eax, dword ptr [rsi + 96] sete r9b cmp eax, dword ptr [rdx + 96] mov eax, dword ptr [rsi + 100] - sete byte ptr [rsp + 19] # 1-byte Folded Spill + sete byte ptr [rsp + 20] # 1-byte Folded Spill cmp eax, dword ptr [rdx + 100] mov eax, dword ptr [rsi + 104] - sete byte ptr [rsp + 13] # 1-byte Folded Spill + sete byte ptr [rsp + 14] # 1-byte Folded Spill cmp eax, dword ptr [rdx + 104] mov eax, dword ptr [rsi + 108] - sete byte ptr [rsp + 14] # 1-byte Folded Spill + sete byte ptr [rsp + 15] # 1-byte Folded Spill cmp eax, dword ptr [rdx + 108] mov eax, dword ptr [rsi + 112] - sete byte ptr [rsp + 15] # 1-byte Folded Spill + sete byte ptr [rsp + 16] # 1-byte Folded Spill cmp eax, dword ptr [rdx + 112] mov eax, dword ptr [rsi + 116] - sete byte ptr [rsp + 16] # 1-byte Folded Spill + sete byte ptr [rsp + 17] # 1-byte Folded Spill cmp eax, dword ptr [rdx + 116] mov eax, dword ptr [rsi + 120] - sete byte ptr [rsp + 18] # 1-byte Folded Spill + sete byte ptr [rsp + 19] # 1-byte Folded Spill cmp eax, dword ptr [rdx + 120] mov eax, dword ptr [rsi + 124] - sete byte ptr [rsp + 17] # 1-byte Folded Spill + sete byte ptr [rsp + 18] # 1-byte Folded Spill sub rsi, -128 cmp eax, dword ptr [rdx + 124] - sete dil - movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload + sete cl + movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 40] # 1-byte Folded Reload - mov ecx, eax - movzx eax, byte ptr [rsp + 4] # 1-byte Folded Reload + add al, byte ptr [rsp + 4] # 1-byte Folded Reload + mov ebx, eax + movzx eax, byte ptr [rsp + 5] # 1-byte Folded Reload shl al, 6 shl r13b, 7 or r13b, al - movzx eax, byte ptr [rsp + 20] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 21] # 1-byte Folded Reload shl al, 2 - or al, cl + or al, bl add r8b, r8b - add r8b, byte ptr [rsp + 9] # 1-byte Folded Reload - movzx ecx, byte ptr [rsp + 21] # 1-byte Folded Reload - shl cl, 3 - or cl, al - mov eax, ecx + add r8b, byte ptr [rsp + 10] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 22] # 1-byte Folded Reload + shl bl, 3 + or bl, al + mov eax, ebx shl r11b, 2 or r11b, r8b - movzx ecx, byte ptr [rsp + 22] # 1-byte Folded Reload - shl cl, 4 - or cl, al - mov r8d, ecx + movzx ebx, byte ptr [rsp + 23] # 1-byte Folded Reload + shl bl, 4 + or bl, al + mov r8d, ebx shl r15b, 3 or r15b, r11b - movzx ecx, byte ptr [rsp + 23] # 1-byte Folded Reload - shl cl, 5 - or cl, r8b - movzx eax, byte ptr [rsp + 5] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 3] # 1-byte Folded Reload + shl bl, 5 + or bl, r8b + movzx eax, byte ptr [rsp + 6] # 1-byte Folded Reload shl al, 4 or al, r15b mov r8d, eax - movzx eax, byte ptr [rsp + 6] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 7] # 1-byte Folded Reload shl al, 5 or al, r8b - movzx r8d, byte ptr [rsp + 7] # 1-byte Folded Reload + movzx r8d, byte ptr [rsp + 8] # 1-byte Folded Reload shl r8b, 6 - shl bl, 7 - or bl, r8b - or r13b, cl - or bl, al + shl dil, 7 + or dil, r8b + or r13b, bl + or dil, al add r10b, r10b - add r10b, byte ptr [rsp + 10] # 1-byte Folded Reload + add r10b, byte ptr [rsp + 11] # 1-byte Folded Reload shl r14b, 2 or r14b, r10b shl r12b, 3 or r12b, r14b - movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 9] # 1-byte Folded Reload shl al, 4 or al, r12b - mov ecx, eax - mov r14, qword ptr [rsp + 48] # 8-byte Reload - movzx eax, byte ptr [rsp + 11] # 1-byte Folded Reload + mov ebx, eax + mov r12, qword ptr [rsp + 48] # 8-byte Reload + movzx eax, byte ptr [rsp + 12] # 1-byte Folded Reload shl al, 5 - or al, cl - mov byte ptr [r14], r13b - movzx ecx, byte ptr [rsp + 12] # 1-byte Folded Reload - shl cl, 6 + or al, bl + mov byte ptr [r12], r13b + movzx ebx, byte ptr [rsp + 13] # 1-byte Folded Reload + shl bl, 6 shl r9b, 7 - or r9b, cl - mov byte ptr [r14 + 1], bl + or r9b, bl + mov byte ptr [r12 + 1], dil or r9b, al - movzx eax, byte ptr [rsp + 13] # 1-byte Folded Reload - add al, al - add al, byte ptr [rsp + 19] # 1-byte Folded Reload - mov ecx, eax movzx eax, byte ptr [rsp + 14] # 1-byte Folded Reload - shl al, 2 - or al, cl - mov ecx, eax + add al, al + add al, byte ptr [rsp + 20] # 1-byte Folded Reload + mov ebx, eax movzx eax, byte ptr [rsp + 15] # 1-byte Folded Reload - shl al, 3 - or al, cl - mov ecx, eax + shl al, 2 + or al, bl + mov ebx, eax movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload + shl al, 3 + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 17] # 1-byte Folded Reload shl al, 4 - or al, cl - mov ecx, eax - movzx eax, byte ptr [rsp + 18] # 1-byte Folded Reload + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 19] # 1-byte Folded Reload shl al, 5 - or al, cl - movzx ecx, byte ptr [rsp + 17] # 1-byte Folded Reload - shl cl, 6 - shl dil, 7 - or dil, cl - or dil, al - mov byte ptr [r14 + 2], r9b - mov byte ptr [r14 + 3], dil + or al, bl + movzx ebx, byte ptr [rsp + 18] # 1-byte Folded Reload + shl bl, 6 + shl cl, 7 + or cl, bl + or cl, al + mov byte ptr [r12 + 2], r9b + mov byte ptr [r12 + 3], cl add rdx, 128 - add r14, 4 - add qword ptr [rsp + 56], -1 # 8-byte Folded Spill + add r12, 4 + add qword ptr [rsp + 32], -1 # 8-byte Folded Spill jne .LBB0_96 # %bb.97: - mov r11, qword ptr [rsp + 24] # 8-byte Reload - mov r15, qword ptr [rsp + 64] # 8-byte Reload + mov r14, qword ptr [rsp + 24] # 8-byte Reload + mov r15, qword ptr [rsp + 56] # 8-byte Reload .LBB0_98: shl r15, 5 - cmp r15, r11 + cmp r15, r14 jge .LBB0_123 # %bb.99: - sub r11, r15 + sub r14, r15 xor ecx, ecx .p2align 4, 0x90 .LBB0_100: # =>This Inner Loop Header: Depth=1 @@ -2755,7 +2945,7 @@ comparison_equal_arr_arr_sse4: # @comparison_equal_arr_arr_sse4 neg bl mov rdi, rcx shr rdi, 3 - movzx r9d, byte ptr [r14 + rdi] + movzx r9d, byte ptr [r12 + rdi] xor bl, r9b and cl, 7 mov al, 1 @@ -2763,9 +2953,9 @@ comparison_equal_arr_arr_sse4: # @comparison_equal_arr_arr_sse4 shl al, cl and al, bl xor al, r9b - mov byte ptr [r14 + rdi], al + mov byte ptr [r12 + rdi], al mov rcx, r8 - cmp r11, r8 + cmp r14, r8 jne .LBB0_100 .LBB0_123: lea rsp, [rbp - 40] @@ -2887,24 +3077,24 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 push r12 push rbx and rsp, -16 - sub rsp, 320 + sub rsp, 304 # kill: def $r9d killed $r9d def $r9 mov r10, r8 mov r14, rcx cmp edi, 6 - jg .LBB1_26 + jg .LBB1_27 # %bb.1: cmp edi, 3 jle .LBB1_2 # %bb.10: cmp edi, 4 - je .LBB1_100 + je .LBB1_101 # %bb.11: cmp edi, 5 - je .LBB1_123 + je .LBB1_124 # %bb.12: cmp edi, 6 - jne .LBB1_202 + jne .LBB1_199 # %bb.13: mov r13d, dword ptr [rdx] lea r11, [r10 + 31] @@ -2928,6 +3118,7 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 test rax, rax cmovns rbx, rax sar rbx, 3 + mov r9, r14 movzx r8d, byte ptr [r14 + rbx] xor dl, r8b lea edi, [8*rbx] @@ -2951,20 +3142,20 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 # %bb.18: mov qword ptr [rsp + 144], r10 # 8-byte Spill mov qword ptr [rsp + 152], r11 # 8-byte Spill - mov qword ptr [rsp + 192], r11 # 8-byte Spill + mov qword ptr [rsp + 160], r11 # 8-byte Spill .p2align 4, 0x90 .LBB1_19: # =>This Inner Loop Header: Depth=1 mov qword ptr [rsp + 136], r14 # 8-byte Spill cmp dword ptr [rsi], r13d - sete byte ptr [rsp + 224] # 1-byte Folded Spill + sete byte ptr [rsp + 208] # 1-byte Folded Spill cmp dword ptr [rsi + 4], r13d - sete dil + sete r10b cmp dword ptr [rsi + 8], r13d sete r14b cmp dword ptr [rsi + 12], r13d - sete byte ptr [rsp + 208] # 1-byte Folded Spill + sete byte ptr [rsp + 176] # 1-byte Folded Spill cmp dword ptr [rsi + 16], r13d - sete byte ptr [rsp + 88] # 1-byte Folded Spill + sete byte ptr [rsp + 96] # 1-byte Folded Spill cmp dword ptr [rsi + 20], r13d sete byte ptr [rsp + 72] # 1-byte Folded Spill cmp dword ptr [rsi + 24], r13d @@ -2972,142 +3163,143 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 cmp dword ptr [rsi + 28], r13d sete bl cmp dword ptr [rsi + 32], r13d - sete byte ptr [rsp + 160] # 1-byte Folded Spill + sete byte ptr [rsp + 192] # 1-byte Folded Spill cmp dword ptr [rsi + 36], r13d - sete dl + sete dil cmp dword ptr [rsi + 40], r13d - sete r9b + sete r8b cmp dword ptr [rsi + 44], r13d - sete r10b + sete r9b cmp dword ptr [rsi + 48], r13d sete r11b cmp dword ptr [rsi + 52], r13d sete r12b cmp dword ptr [rsi + 56], r13d - sete byte ptr [rsp + 176] # 1-byte Folded Spill + sete byte ptr [rsp + 112] # 1-byte Folded Spill cmp dword ptr [rsi + 60], r13d sete cl cmp dword ptr [rsi + 64], r13d - sete byte ptr [rsp + 104] # 1-byte Folded Spill + sete byte ptr [rsp + 80] # 1-byte Folded Spill cmp dword ptr [rsi + 68], r13d - sete byte ptr [rsp + 128] # 1-byte Folded Spill + sete byte ptr [rsp + 120] # 1-byte Folded Spill cmp dword ptr [rsi + 72], r13d - sete byte ptr [rsp + 112] # 1-byte Folded Spill + sete byte ptr [rsp + 128] # 1-byte Folded Spill cmp dword ptr [rsi + 76], r13d - sete byte ptr [rsp + 96] # 1-byte Folded Spill + sete byte ptr [rsp + 104] # 1-byte Folded Spill cmp dword ptr [rsi + 80], r13d - sete byte ptr [rsp + 120] # 1-byte Folded Spill + sete byte ptr [rsp + 88] # 1-byte Folded Spill cmp dword ptr [rsi + 84], r13d - sete byte ptr [rsp + 80] # 1-byte Folded Spill - cmp dword ptr [rsi + 88], r13d sete byte ptr [rsp + 64] # 1-byte Folded Spill + cmp dword ptr [rsi + 88], r13d + sete byte ptr [rsp + 56] # 1-byte Folded Spill cmp dword ptr [rsi + 92], r13d sete r15b cmp dword ptr [rsi + 96], r13d - sete byte ptr [rsp + 32] # 1-byte Folded Spill + sete byte ptr [rsp + 16] # 1-byte Folded Spill cmp dword ptr [rsi + 100], r13d - sete byte ptr [rsp + 56] # 1-byte Folded Spill + sete byte ptr [rsp + 32] # 1-byte Folded Spill cmp dword ptr [rsi + 104], r13d - sete byte ptr [rsp + 16] # 1-byte Folded Spill - cmp dword ptr [rsi + 108], r13d sete byte ptr [rsp + 48] # 1-byte Folded Spill - cmp dword ptr [rsi + 112], r13d + cmp dword ptr [rsi + 108], r13d sete byte ptr [rsp + 24] # 1-byte Folded Spill - cmp dword ptr [rsi + 116], r13d + cmp dword ptr [rsi + 112], r13d sete byte ptr [rsp + 40] # 1-byte Folded Spill - cmp dword ptr [rsi + 120], r13d + cmp dword ptr [rsi + 116], r13d sete byte ptr [rsp + 8] # 1-byte Folded Spill + cmp dword ptr [rsi + 120], r13d + sete byte ptr [rsp + 4] # 1-byte Folded Spill cmp dword ptr [rsi + 124], r13d - sete r8b - add dil, dil - add dil, byte ptr [rsp + 224] # 1-byte Folded Reload + sete dl + add r10b, r10b + add r10b, byte ptr [rsp + 208] # 1-byte Folded Reload shl al, 6 shl bl, 7 or bl, al shl r14b, 2 - or r14b, dil - add dl, dl - add dl, byte ptr [rsp + 160] # 1-byte Folded Reload - movzx eax, byte ptr [rsp + 208] # 1-byte Folded Reload + or r14b, r10b + add dil, dil + add dil, byte ptr [rsp + 192] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 176] # 1-byte Folded Reload shl al, 3 or al, r14b - shl r9b, 2 - or r9b, dl - movzx edx, byte ptr [rsp + 88] # 1-byte Folded Reload - shl dl, 4 - or dl, al - mov edi, edx - shl r10b, 3 - or r10b, r9b - movzx edx, byte ptr [rsp + 72] # 1-byte Folded Reload - shl dl, 5 - or dl, dil + mov r10d, eax + mov r14, qword ptr [rsp + 136] # 8-byte Reload + shl r8b, 2 + or r8b, dil + movzx eax, byte ptr [rsp + 96] # 1-byte Folded Reload + shl al, 4 + or al, r10b + mov edi, eax + shl r9b, 3 + or r9b, r8b + movzx eax, byte ptr [rsp + 72] # 1-byte Folded Reload + shl al, 5 + or al, dil shl r11b, 4 - or r11b, r10b + or r11b, r9b shl r12b, 5 or r12b, r11b - movzx edi, byte ptr [rsp + 176] # 1-byte Folded Reload + movzx edi, byte ptr [rsp + 112] # 1-byte Folded Reload shl dil, 6 shl cl, 7 or cl, dil - or bl, dl + or bl, al or cl, r12b - mov r14, qword ptr [rsp + 136] # 8-byte Reload - movzx edx, byte ptr [rsp + 128] # 1-byte Folded Reload - add dl, dl - add dl, byte ptr [rsp + 104] # 1-byte Folded Reload - mov edi, edx - movzx edx, byte ptr [rsp + 112] # 1-byte Folded Reload - shl dl, 2 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 96] # 1-byte Folded Reload - shl dl, 3 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 120] # 1-byte Folded Reload - shl dl, 4 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 80] # 1-byte Folded Reload - shl dl, 5 - or dl, dil + movzx eax, byte ptr [rsp + 120] # 1-byte Folded Reload + add al, al + add al, byte ptr [rsp + 80] # 1-byte Folded Reload + mov edi, eax + movzx eax, byte ptr [rsp + 128] # 1-byte Folded Reload + shl al, 2 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 104] # 1-byte Folded Reload + shl al, 3 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 88] # 1-byte Folded Reload + shl al, 4 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 64] # 1-byte Folded Reload + shl al, 5 + or al, dil mov byte ptr [r14], bl - movzx ebx, byte ptr [rsp + 64] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 56] # 1-byte Folded Reload shl bl, 6 shl r15b, 7 or r15b, bl mov byte ptr [r14 + 1], cl - or r15b, dl - movzx ecx, byte ptr [rsp + 56] # 1-byte Folded Reload - add cl, cl - add cl, byte ptr [rsp + 32] # 1-byte Folded Reload - mov edx, ecx - movzx ecx, byte ptr [rsp + 16] # 1-byte Folded Reload - shl cl, 2 - or cl, dl - mov edx, ecx - movzx ecx, byte ptr [rsp + 48] # 1-byte Folded Reload - shl cl, 3 - or cl, dl - mov edx, ecx - movzx ecx, byte ptr [rsp + 24] # 1-byte Folded Reload - shl cl, 4 - or cl, dl - mov edx, ecx - movzx ecx, byte ptr [rsp + 40] # 1-byte Folded Reload - shl cl, 5 - or cl, dl - movzx edx, byte ptr [rsp + 8] # 1-byte Folded Reload - shl dl, 6 - shl r8b, 7 - or r8b, dl - or r8b, cl + or r15b, al + movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload + add al, al + add al, byte ptr [rsp + 16] # 1-byte Folded Reload + mov ecx, eax + movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload + shl al, 2 + or al, cl + mov ecx, eax + movzx eax, byte ptr [rsp + 24] # 1-byte Folded Reload + shl al, 3 + or al, cl + mov ecx, eax + movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload + shl al, 4 + or al, cl + mov ecx, eax + movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + shl al, 5 + or al, cl + movzx ecx, byte ptr [rsp + 4] # 1-byte Folded Reload + shl cl, 6 + shl dl, 7 + or dl, cl + or dl, al mov byte ptr [r14 + 2], r15b - mov byte ptr [r14 + 3], r8b + mov byte ptr [r14 + 3], dl add rsi, 128 add r14, 4 - add qword ptr [rsp + 192], -1 # 8-byte Folded Spill + add qword ptr [rsp + 160], -1 # 8-byte Folded Spill jne .LBB1_19 # %bb.20: mov r10, qword ptr [rsp + 144] # 8-byte Reload @@ -3115,24 +3307,25 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 .LBB1_21: shl r11, 5 cmp r11, r10 - jge .LBB1_202 + jge .LBB1_199 # %bb.22: mov r8, r10 sub r8, r11 not r11 add r11, r10 je .LBB1_23 -# %bb.146: +# %bb.144: mov r10, r8 and r10, -2 xor r11d, r11d .p2align 4, 0x90 -.LBB1_147: # =>This Inner Loop Header: Depth=1 +.LBB1_145: # =>This Inner Loop Header: Depth=1 cmp dword ptr [rsi], r13d sete al neg al mov rdi, r11 shr rdi, 3 + mov r15, r14 movzx r9d, byte ptr [r14 + rdi] mov ecx, r11d and cl, 6 @@ -3155,21 +3348,21 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 xor dl, bl mov byte ptr [r14 + rdi], dl cmp r10, r11 - jne .LBB1_147 + jne .LBB1_145 jmp .LBB1_24 -.LBB1_26: +.LBB1_27: cmp edi, 8 - jle .LBB1_27 -# %bb.42: - cmp edi, 9 - je .LBB1_162 + jle .LBB1_28 # %bb.43: - cmp edi, 11 - je .LBB1_174 + cmp edi, 9 + je .LBB1_160 # %bb.44: - cmp edi, 12 - jne .LBB1_202 + cmp edi, 11 + je .LBB1_172 # %bb.45: + cmp edi, 12 + jne .LBB1_199 +# %bb.46: lea r11, [r10 + 31] test r10, r10 cmovns r11, r10 @@ -3179,19 +3372,22 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 and eax, -8 movsd xmm0, qword ptr [rdx] # xmm0 = mem[0],zero sub r9d, eax - je .LBB1_49 -# %bb.46: + je .LBB1_50 +# %bb.47: movsxd rax, r9d .p2align 4, 0x90 -.LBB1_47: # =>This Inner Loop Header: Depth=1 +.LBB1_48: # =>This Inner Loop Header: Depth=1 ucomisd xmm0, qword ptr [rsi] lea rsi, [rsi + 8] + setnp cl sete dl + and dl, cl neg dl lea rdi, [rax + 7] test rax, rax cmovns rdi, rax sar rdi, 3 + mov r15, r14 movzx r9d, byte ptr [r14 + rdi] xor dl, r9b lea r8d, [8*rdi] @@ -3205,194 +3401,285 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 mov byte ptr [r14 + rdi], bl add rax, 1 cmp rax, 8 - jne .LBB1_47 -# %bb.48: + jne .LBB1_48 +# %bb.49: add r14, 1 -.LBB1_49: +.LBB1_50: sar r11, 5 cmp r10, 32 - jl .LBB1_53 -# %bb.50: + jl .LBB1_54 +# %bb.51: mov qword ptr [rsp + 144], r10 # 8-byte Spill - mov qword ptr [rsp + 192], r11 # 8-byte Spill - mov qword ptr [rsp + 224], r11 # 8-byte Spill + mov qword ptr [rsp + 272], r11 # 8-byte Spill + mov qword ptr [rsp + 240], r11 # 8-byte Spill .p2align 4, 0x90 -.LBB1_51: # =>This Inner Loop Header: Depth=1 +.LBB1_52: # =>This Inner Loop Header: Depth=1 mov qword ptr [rsp + 136], r14 # 8-byte Spill ucomisd xmm0, qword ptr [rsi] - sete byte ptr [rsp + 208] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 48], cl # 1-byte Spill ucomisd xmm0, qword ptr [rsi + 8] - sete r9b + setnp al + sete r13b + and r13b, al ucomisd xmm0, qword ptr [rsi + 16] - sete r14b + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 24], cl # 1-byte Spill ucomisd xmm0, qword ptr [rsi + 24] - sete r13b + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 40], cl # 1-byte Spill ucomisd xmm0, qword ptr [rsi + 32] - sete byte ptr [rsp + 88] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 16], cl # 1-byte Spill ucomisd xmm0, qword ptr [rsi + 40] - sete byte ptr [rsp + 72] # 1-byte Folded Spill + setnp al + sete r12b + and r12b, al ucomisd xmm0, qword ptr [rsi + 48] - sete al + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 56], cl # 1-byte Spill ucomisd xmm0, qword ptr [rsi + 56] - sete bl + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 4], cl # 1-byte Spill ucomisd xmm0, qword ptr [rsi + 64] - sete byte ptr [rsp + 176] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 32], cl # 1-byte Spill ucomisd xmm0, qword ptr [rsi + 72] - sete dl + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 64], cl # 1-byte Spill ucomisd xmm0, qword ptr [rsi + 80] - sete dil + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 72], cl # 1-byte Spill ucomisd xmm0, qword ptr [rsi + 88] - sete r10b + setnp al + sete bl + and bl, al ucomisd xmm0, qword ptr [rsi + 96] - sete r11b + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 8], cl # 1-byte Spill ucomisd xmm0, qword ptr [rsi + 104] - sete r12b + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 80], cl # 1-byte Spill ucomisd xmm0, qword ptr [rsi + 112] - sete byte ptr [rsp + 128] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 104], cl # 1-byte Spill ucomisd xmm0, qword ptr [rsi + 120] + setnp al sete cl + and cl, al + mov byte ptr [rsp + 96], cl # 1-byte Spill ucomisd xmm0, qword ptr [rsi + 128] - sete byte ptr [rsp + 104] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 88], cl # 1-byte Spill ucomisd xmm0, qword ptr [rsi + 136] - sete byte ptr [rsp + 160] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 128], cl # 1-byte Spill ucomisd xmm0, qword ptr [rsi + 144] - sete byte ptr [rsp + 112] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 120], cl # 1-byte Spill ucomisd xmm0, qword ptr [rsi + 152] - sete byte ptr [rsp + 96] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 112], cl # 1-byte Spill ucomisd xmm0, qword ptr [rsi + 160] - sete byte ptr [rsp + 120] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 192], cl # 1-byte Spill ucomisd xmm0, qword ptr [rsi + 168] - sete byte ptr [rsp + 80] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 176], cl # 1-byte Spill ucomisd xmm0, qword ptr [rsi + 176] - sete byte ptr [rsp + 64] # 1-byte Folded Spill - ucomisd xmm0, qword ptr [rsi + 184] + setnp al sete r15b + and r15b, al + ucomisd xmm0, qword ptr [rsi + 184] + setnp al + sete r8b + and r8b, al ucomisd xmm0, qword ptr [rsi + 192] - sete byte ptr [rsp + 32] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 208], cl # 1-byte Spill ucomisd xmm0, qword ptr [rsi + 200] - sete byte ptr [rsp + 56] # 1-byte Folded Spill + setnp al + sete r11b + and r11b, al ucomisd xmm0, qword ptr [rsi + 208] - sete byte ptr [rsp + 16] # 1-byte Folded Spill + setnp al + sete r10b + and r10b, al ucomisd xmm0, qword ptr [rsi + 216] - sete byte ptr [rsp + 48] # 1-byte Folded Spill + setnp al + sete r9b + and r9b, al ucomisd xmm0, qword ptr [rsi + 224] - sete byte ptr [rsp + 24] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 152], cl # 1-byte Spill ucomisd xmm0, qword ptr [rsi + 232] - sete byte ptr [rsp + 40] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 160], cl # 1-byte Spill ucomisd xmm0, qword ptr [rsi + 240] - sete byte ptr [rsp + 8] # 1-byte Folded Spill + setnp al + sete dil + and dil, al ucomisd xmm0, qword ptr [rsi + 248] - sete r8b - add r9b, r9b - add r9b, byte ptr [rsp + 208] # 1-byte Folded Reload - shl al, 6 - shl bl, 7 - or bl, al - shl r14b, 2 - or r14b, r9b - add dl, dl - add dl, byte ptr [rsp + 176] # 1-byte Folded Reload - shl r13b, 3 - or r13b, r14b - shl dil, 2 - or dil, dl - movzx edx, byte ptr [rsp + 88] # 1-byte Folded Reload - shl dl, 4 - or dl, r13b - mov r9d, edx - mov r14, qword ptr [rsp + 136] # 8-byte Reload - shl r10b, 3 - or r10b, dil - movzx edx, byte ptr [rsp + 72] # 1-byte Folded Reload - shl dl, 5 - or dl, r9b - shl r11b, 4 - or r11b, r10b + setnp al + sete dl + and dl, al + add r13b, r13b + add r13b, byte ptr [rsp + 48] # 1-byte Folded Reload + mov eax, r13d shl r12b, 5 - or r12b, r11b - movzx edi, byte ptr [rsp + 128] # 1-byte Folded Reload - shl dil, 6 - shl cl, 7 - or cl, dil - or bl, dl - or cl, r12b - movzx eax, byte ptr [rsp + 160] # 1-byte Folded Reload - add al, al - add al, byte ptr [rsp + 104] # 1-byte Folded Reload - movzx edx, byte ptr [rsp + 112] # 1-byte Folded Reload - shl dl, 2 - or dl, al - mov edi, edx - movzx edx, byte ptr [rsp + 96] # 1-byte Folded Reload - shl dl, 3 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 120] # 1-byte Folded Reload - shl dl, 4 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 80] # 1-byte Folded Reload - shl dl, 5 - or dl, dil - mov byte ptr [r14], bl - movzx ebx, byte ptr [rsp + 64] # 1-byte Folded Reload - shl bl, 6 - shl r15b, 7 - or r15b, bl - mov byte ptr [r14 + 1], cl - or r15b, dl - movzx ecx, byte ptr [rsp + 56] # 1-byte Folded Reload + movzx r13d, byte ptr [rsp + 56] # 1-byte Folded Reload + shl r13b, 6 + or r13b, r12b + movzx r12d, byte ptr [rsp + 24] # 1-byte Folded Reload + shl r12b, 2 + or r12b, al + movzx ecx, byte ptr [rsp + 64] # 1-byte Folded Reload add cl, cl add cl, byte ptr [rsp + 32] # 1-byte Folded Reload - mov edx, ecx - movzx ecx, byte ptr [rsp + 16] # 1-byte Folded Reload - shl cl, 2 - or cl, dl - mov edx, ecx - movzx ecx, byte ptr [rsp + 48] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 4] # 1-byte Folded Reload + shl al, 7 + or al, r13b + mov byte ptr [rsp + 4], al # 1-byte Spill + movzx eax, byte ptr [rsp + 72] # 1-byte Folded Reload + shl al, 2 + or al, cl + mov ecx, eax + movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload + shl al, 3 + or al, r12b + shl bl, 3 + or bl, cl + movzx r13d, byte ptr [rsp + 16] # 1-byte Folded Reload + shl r13b, 4 + or r13b, al + movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + shl al, 4 + or al, bl + mov byte ptr [rsp + 8], al # 1-byte Spill + movzx ecx, byte ptr [rsp + 80] # 1-byte Folded Reload + shl cl, 5 + movzx eax, byte ptr [rsp + 104] # 1-byte Folded Reload + shl al, 6 + or al, cl + mov ecx, eax + movzx r14d, byte ptr [rsp + 96] # 1-byte Folded Reload + shl r14b, 7 + or r14b, al + movzx ecx, byte ptr [rsp + 128] # 1-byte Folded Reload + add cl, cl + add cl, byte ptr [rsp + 88] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 120] # 1-byte Folded Reload + shl bl, 2 + or bl, cl + movzx ecx, byte ptr [rsp + 112] # 1-byte Folded Reload shl cl, 3 - or cl, dl - mov edx, ecx - movzx ecx, byte ptr [rsp + 24] # 1-byte Folded Reload + or cl, bl + mov ebx, ecx + movzx ecx, byte ptr [rsp + 192] # 1-byte Folded Reload shl cl, 4 - or cl, dl - mov edx, ecx - movzx ecx, byte ptr [rsp + 40] # 1-byte Folded Reload - shl cl, 5 - or cl, dl - movzx edx, byte ptr [rsp + 8] # 1-byte Folded Reload - shl dl, 6 + or cl, bl + mov r12d, ecx + mov rcx, qword ptr [rsp + 136] # 8-byte Reload + movzx eax, byte ptr [rsp + 4] # 1-byte Folded Reload + or al, r13b + movzx ebx, byte ptr [rsp + 176] # 1-byte Folded Reload + shl bl, 5 + shl r15b, 6 + or r15b, bl + or r14b, byte ptr [rsp + 8] # 1-byte Folded Reload shl r8b, 7 - or r8b, dl - or r8b, cl - mov byte ptr [r14 + 2], r15b - mov byte ptr [r14 + 3], r8b + or r8b, r15b + or r8b, r12b + add r11b, r11b + add r11b, byte ptr [rsp + 208] # 1-byte Folded Reload + shl r10b, 2 + or r10b, r11b + shl r9b, 3 + or r9b, r10b + movzx ebx, byte ptr [rsp + 152] # 1-byte Folded Reload + shl bl, 4 + or bl, r9b + mov r9d, ebx + mov byte ptr [rcx], al + movzx ebx, byte ptr [rsp + 160] # 1-byte Folded Reload + shl bl, 5 + shl dil, 6 + or dil, bl + mov byte ptr [rcx + 1], r14b + shl dl, 7 + or dl, dil + or dl, r9b + mov byte ptr [rcx + 2], r8b + mov byte ptr [rcx + 3], dl add rsi, 256 - add r14, 4 - add qword ptr [rsp + 224], -1 # 8-byte Folded Spill - jne .LBB1_51 -# %bb.52: + add rcx, 4 + mov r14, rcx + add qword ptr [rsp + 240], -1 # 8-byte Folded Spill + jne .LBB1_52 +# %bb.53: mov r10, qword ptr [rsp + 144] # 8-byte Reload - mov r11, qword ptr [rsp + 192] # 8-byte Reload -.LBB1_53: + mov r11, qword ptr [rsp + 272] # 8-byte Reload +.LBB1_54: shl r11, 5 cmp r11, r10 - jge .LBB1_202 -# %bb.54: + jge .LBB1_199 +# %bb.55: mov r8, r10 sub r8, r11 not r11 add r11, r10 - jne .LBB1_197 -# %bb.55: + jne .LBB1_195 +# %bb.56: xor r11d, r11d - jmp .LBB1_199 + jmp .LBB1_197 .LBB1_2: cmp edi, 2 - je .LBB1_56 + je .LBB1_57 # %bb.3: cmp edi, 3 - jne .LBB1_202 + jne .LBB1_199 # %bb.4: mov r11b, byte ptr [rdx] lea r15, [r10 + 31] @@ -3416,6 +3703,7 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 test rax, rax cmovns rdi, rax sar rdi, 3 + mov r12, r14 movzx r9d, byte ptr [r14 + rdi] xor dl, r9b lea r8d, [8*rdi] @@ -3436,180 +3724,179 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 sar r15, 5 cmp r10, 32 jl .LBB1_9 -# %bb.82: +# %bb.83: cmp r15, 16 - mov byte ptr [rsp + 8], r11b # 1-byte Spill + mov byte ptr [rsp + 4], r11b # 1-byte Spill mov qword ptr [rsp + 144], r10 # 8-byte Spill mov qword ptr [rsp + 256], r15 # 8-byte Spill - jb .LBB1_83 -# %bb.84: + jb .LBB1_84 +# %bb.85: mov rax, r15 shl rax, 5 add rax, rsi cmp r14, rax - jae .LBB1_86 -# %bb.85: + jae .LBB1_87 +# %bb.86: lea rax, [r14 + 4*r15] cmp rsi, rax - jae .LBB1_86 -.LBB1_83: + jae .LBB1_87 +.LBB1_84: xor eax, eax - mov qword ptr [rsp + 248], rax # 8-byte Spill - mov qword ptr [rsp + 120], r14 # 8-byte Spill -.LBB1_89: - mov r14, r15 - sub r14, qword ptr [rsp + 248] # 8-byte Folded Reload - mov qword ptr [rsp + 152], r14 # 8-byte Spill + mov qword ptr [rsp + 232], rax # 8-byte Spill + mov qword ptr [rsp + 88], r14 # 8-byte Spill +.LBB1_90: + sub r15, qword ptr [rsp + 232] # 8-byte Folded Reload + mov qword ptr [rsp + 152], r15 # 8-byte Spill .p2align 4, 0x90 -.LBB1_90: # =>This Inner Loop Header: Depth=1 +.LBB1_91: # =>This Inner Loop Header: Depth=1 mov rcx, rsi cmp byte ptr [rsi], r11b - sete byte ptr [rsp + 192] # 1-byte Folded Spill + sete byte ptr [rsp + 160] # 1-byte Folded Spill cmp byte ptr [rsi + 1], r11b sete sil cmp byte ptr [rcx + 2], r11b sete r15b - movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 4] # 1-byte Folded Reload cmp byte ptr [rcx + 3], al sete r12b - movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 4] # 1-byte Folded Reload cmp byte ptr [rcx + 4], al - sete byte ptr [rsp + 208] # 1-byte Folded Spill - movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + sete byte ptr [rsp + 176] # 1-byte Folded Spill + movzx eax, byte ptr [rsp + 4] # 1-byte Folded Reload cmp byte ptr [rcx + 5], al - sete byte ptr [rsp + 64] # 1-byte Folded Spill - movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + sete byte ptr [rsp + 56] # 1-byte Folded Spill + movzx eax, byte ptr [rsp + 4] # 1-byte Folded Reload cmp byte ptr [rcx + 6], al - sete byte ptr [rsp + 224] # 1-byte Folded Spill - movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + sete byte ptr [rsp + 208] # 1-byte Folded Spill + movzx eax, byte ptr [rsp + 4] # 1-byte Folded Reload cmp byte ptr [rcx + 7], al sete r9b - movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 4] # 1-byte Folded Reload cmp byte ptr [rcx + 8], al - sete byte ptr [rsp + 160] # 1-byte Folded Spill - movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + sete byte ptr [rsp + 192] # 1-byte Folded Spill + movzx eax, byte ptr [rsp + 4] # 1-byte Folded Reload cmp byte ptr [rcx + 9], al sete dl - movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 4] # 1-byte Folded Reload cmp byte ptr [rcx + 10], al sete dil - movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 4] # 1-byte Folded Reload cmp byte ptr [rcx + 11], al sete r10b - movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 4] # 1-byte Folded Reload cmp byte ptr [rcx + 12], al sete r14b - movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 4] # 1-byte Folded Reload cmp byte ptr [rcx + 13], al sete r13b - movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 4] # 1-byte Folded Reload cmp byte ptr [rcx + 14], al - sete byte ptr [rsp + 176] # 1-byte Folded Spill - movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + sete byte ptr [rsp + 112] # 1-byte Folded Spill + movzx eax, byte ptr [rsp + 4] # 1-byte Folded Reload cmp byte ptr [rcx + 15], al sete r8b - movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 4] # 1-byte Folded Reload cmp byte ptr [rcx + 16], bl - sete byte ptr [rsp + 128] # 1-byte Folded Spill - movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload + sete byte ptr [rsp + 120] # 1-byte Folded Spill + movzx ebx, byte ptr [rsp + 4] # 1-byte Folded Reload cmp byte ptr [rcx + 17], bl - sete byte ptr [rsp + 112] # 1-byte Folded Spill - movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload + sete byte ptr [rsp + 128] # 1-byte Folded Spill + movzx ebx, byte ptr [rsp + 4] # 1-byte Folded Reload cmp byte ptr [rcx + 18], bl - sete byte ptr [rsp + 88] # 1-byte Folded Spill - movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload - cmp byte ptr [rcx + 19], bl sete byte ptr [rsp + 96] # 1-byte Folded Spill - movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload - cmp byte ptr [rcx + 20], bl + movzx ebx, byte ptr [rsp + 4] # 1-byte Folded Reload + cmp byte ptr [rcx + 19], bl sete byte ptr [rsp + 104] # 1-byte Folded Spill - movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload - cmp byte ptr [rcx + 21], bl + movzx ebx, byte ptr [rsp + 4] # 1-byte Folded Reload + cmp byte ptr [rcx + 20], bl sete byte ptr [rsp + 80] # 1-byte Folded Spill - movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 4] # 1-byte Folded Reload + cmp byte ptr [rcx + 21], bl + sete byte ptr [rsp + 64] # 1-byte Folded Spill + movzx ebx, byte ptr [rsp + 4] # 1-byte Folded Reload cmp byte ptr [rcx + 22], bl sete byte ptr [rsp + 72] # 1-byte Folded Spill - movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 4] # 1-byte Folded Reload cmp byte ptr [rcx + 23], bl sete r11b - movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 4] # 1-byte Folded Reload cmp byte ptr [rcx + 24], bl - sete byte ptr [rsp + 56] # 1-byte Folded Spill - movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload + sete byte ptr [rsp + 32] # 1-byte Folded Spill + movzx ebx, byte ptr [rsp + 4] # 1-byte Folded Reload cmp byte ptr [rcx + 25], bl - sete byte ptr [rsp + 16] # 1-byte Folded Spill - movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload - cmp byte ptr [rcx + 26], bl sete byte ptr [rsp + 48] # 1-byte Folded Spill - movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 4] # 1-byte Folded Reload + cmp byte ptr [rcx + 26], bl + sete byte ptr [rsp + 24] # 1-byte Folded Spill + movzx ebx, byte ptr [rsp + 4] # 1-byte Folded Reload cmp byte ptr [rcx + 27], bl - sete byte ptr [rsp + 32] # 1-byte Folded Spill - movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload + sete byte ptr [rsp + 16] # 1-byte Folded Spill + movzx ebx, byte ptr [rsp + 4] # 1-byte Folded Reload cmp byte ptr [rcx + 28], bl - sete byte ptr [rsp + 24] # 1-byte Folded Spill - movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload - cmp byte ptr [rcx + 29], bl sete byte ptr [rsp + 40] # 1-byte Folded Spill - movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 4] # 1-byte Folded Reload + cmp byte ptr [rcx + 29], bl + sete byte ptr [rsp + 8] # 1-byte Folded Spill + movzx ebx, byte ptr [rsp + 4] # 1-byte Folded Reload cmp byte ptr [rcx + 30], bl sete byte ptr [rsp + 136] # 1-byte Folded Spill - movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 4] # 1-byte Folded Reload cmp byte ptr [rcx + 31], bl sete bl add sil, sil - add sil, byte ptr [rsp + 192] # 1-byte Folded Reload - movzx eax, byte ptr [rsp + 224] # 1-byte Folded Reload + add sil, byte ptr [rsp + 160] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 208] # 1-byte Folded Reload shl al, 6 shl r9b, 7 or r9b, al shl r15b, 2 or r15b, sil add dl, dl - add dl, byte ptr [rsp + 160] # 1-byte Folded Reload + add dl, byte ptr [rsp + 192] # 1-byte Folded Reload shl r12b, 3 or r12b, r15b - movzx r15d, byte ptr [rsp + 8] # 1-byte Folded Reload + movzx r15d, byte ptr [rsp + 4] # 1-byte Folded Reload shl dil, 2 or dil, dl - movzx eax, byte ptr [rsp + 208] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 176] # 1-byte Folded Reload shl al, 4 or al, r12b shl r10b, 3 or r10b, dil - movzx edx, byte ptr [rsp + 64] # 1-byte Folded Reload + movzx edx, byte ptr [rsp + 56] # 1-byte Folded Reload shl dl, 5 or dl, al shl r14b, 4 or r14b, r10b shl r13b, 5 or r13b, r14b - movzx esi, byte ptr [rsp + 176] # 1-byte Folded Reload + movzx esi, byte ptr [rsp + 112] # 1-byte Folded Reload shl sil, 6 shl r8b, 7 or r8b, sil or r9b, dl or r8b, r13b - movzx edx, byte ptr [rsp + 112] # 1-byte Folded Reload + movzx edx, byte ptr [rsp + 128] # 1-byte Folded Reload add dl, dl - add dl, byte ptr [rsp + 128] # 1-byte Folded Reload + add dl, byte ptr [rsp + 120] # 1-byte Folded Reload mov esi, edx - movzx edx, byte ptr [rsp + 88] # 1-byte Folded Reload + movzx edx, byte ptr [rsp + 96] # 1-byte Folded Reload shl dl, 2 or dl, sil mov esi, edx - movzx edx, byte ptr [rsp + 96] # 1-byte Folded Reload + movzx edx, byte ptr [rsp + 104] # 1-byte Folded Reload shl dl, 3 or dl, sil mov esi, edx - movzx edx, byte ptr [rsp + 104] # 1-byte Folded Reload + movzx edx, byte ptr [rsp + 80] # 1-byte Folded Reload shl dl, 4 or dl, sil mov esi, edx - movzx edx, byte ptr [rsp + 80] # 1-byte Folded Reload + movzx edx, byte ptr [rsp + 64] # 1-byte Folded Reload shl dl, 5 or dl, sil mov esi, edx - mov rdx, qword ptr [rsp + 120] # 8-byte Reload + mov rdx, qword ptr [rsp + 88] # 8-byte Reload mov byte ptr [rdx], r9b movzx edi, byte ptr [rsp + 72] # 1-byte Folded Reload shl dil, 6 @@ -3617,23 +3904,23 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 or r11b, dil mov byte ptr [rdx + 1], r8b or r11b, sil - movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 56] # 1-byte Folded Reload + add al, byte ptr [rsp + 32] # 1-byte Folded Reload mov esi, eax - movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 24] # 1-byte Folded Reload shl al, 2 or al, sil mov esi, eax - movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload shl al, 3 or al, sil mov esi, eax - movzx eax, byte ptr [rsp + 24] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload shl al, 4 or al, sil mov esi, eax - movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload shl al, 5 or al, sil movzx esi, byte ptr [rsp + 136] # 1-byte Folded Reload @@ -3646,20 +3933,20 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 mov byte ptr [rdx + 3], bl lea rsi, [rcx + 32] add rdx, 4 - mov qword ptr [rsp + 120], rdx # 8-byte Spill + mov qword ptr [rsp + 88], rdx # 8-byte Spill add qword ptr [rsp + 152], -1 # 8-byte Folded Spill - jne .LBB1_90 -# %bb.91: + jne .LBB1_91 +# %bb.92: mov r10, qword ptr [rsp + 144] # 8-byte Reload mov r15, qword ptr [rsp + 256] # 8-byte Reload - jmp .LBB1_92 -.LBB1_27: + jmp .LBB1_93 +.LBB1_28: cmp edi, 7 - je .LBB1_148 -# %bb.28: - cmp edi, 8 - jne .LBB1_202 + je .LBB1_146 # %bb.29: + cmp edi, 8 + jne .LBB1_199 +# %bb.30: mov r13, qword ptr [rdx] lea r11, [r10 + 31] test r10, r10 @@ -3669,11 +3956,11 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 cmovns eax, r9d and eax, -8 sub r9d, eax - je .LBB1_33 -# %bb.30: + je .LBB1_34 +# %bb.31: movsxd rax, r9d .p2align 4, 0x90 -.LBB1_31: # =>This Inner Loop Header: Depth=1 +.LBB1_32: # =>This Inner Loop Header: Depth=1 cmp qword ptr [rsi], r13 lea rsi, [rsi + 8] sete dl @@ -3682,6 +3969,7 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 test rax, rax cmovns rbx, rax sar rbx, 3 + mov r9, r14 movzx r8d, byte ptr [r14 + rbx] xor dl, r8b lea edi, [8*rbx] @@ -3695,30 +3983,30 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 mov byte ptr [r14 + rbx], dil add rax, 1 cmp rax, 8 - jne .LBB1_31 -# %bb.32: + jne .LBB1_32 +# %bb.33: add r14, 1 -.LBB1_33: +.LBB1_34: sar r11, 5 cmp r10, 32 - jl .LBB1_37 -# %bb.34: + jl .LBB1_38 +# %bb.35: mov qword ptr [rsp + 144], r10 # 8-byte Spill mov qword ptr [rsp + 152], r11 # 8-byte Spill - mov qword ptr [rsp + 192], r11 # 8-byte Spill + mov qword ptr [rsp + 160], r11 # 8-byte Spill .p2align 4, 0x90 -.LBB1_35: # =>This Inner Loop Header: Depth=1 +.LBB1_36: # =>This Inner Loop Header: Depth=1 mov qword ptr [rsp + 136], r14 # 8-byte Spill cmp qword ptr [rsi], r13 - sete byte ptr [rsp + 224] # 1-byte Folded Spill + sete byte ptr [rsp + 208] # 1-byte Folded Spill cmp qword ptr [rsi + 8], r13 - sete dil + sete r10b cmp qword ptr [rsi + 16], r13 sete r14b cmp qword ptr [rsi + 24], r13 - sete byte ptr [rsp + 208] # 1-byte Folded Spill + sete byte ptr [rsp + 176] # 1-byte Folded Spill cmp qword ptr [rsi + 32], r13 - sete byte ptr [rsp + 88] # 1-byte Folded Spill + sete byte ptr [rsp + 96] # 1-byte Folded Spill cmp qword ptr [rsi + 40], r13 sete byte ptr [rsp + 72] # 1-byte Folded Spill cmp qword ptr [rsi + 48], r13 @@ -3726,167 +4014,169 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 cmp qword ptr [rsi + 56], r13 sete bl cmp qword ptr [rsi + 64], r13 - sete byte ptr [rsp + 160] # 1-byte Folded Spill + sete byte ptr [rsp + 192] # 1-byte Folded Spill cmp qword ptr [rsi + 72], r13 - sete dl + sete dil cmp qword ptr [rsi + 80], r13 - sete r9b + sete r8b cmp qword ptr [rsi + 88], r13 - sete r10b + sete r9b cmp qword ptr [rsi + 96], r13 sete r11b cmp qword ptr [rsi + 104], r13 sete r12b cmp qword ptr [rsi + 112], r13 - sete byte ptr [rsp + 176] # 1-byte Folded Spill + sete byte ptr [rsp + 112] # 1-byte Folded Spill cmp qword ptr [rsi + 120], r13 sete cl cmp qword ptr [rsi + 128], r13 - sete byte ptr [rsp + 104] # 1-byte Folded Spill + sete byte ptr [rsp + 80] # 1-byte Folded Spill cmp qword ptr [rsi + 136], r13 - sete byte ptr [rsp + 128] # 1-byte Folded Spill + sete byte ptr [rsp + 120] # 1-byte Folded Spill cmp qword ptr [rsi + 144], r13 - sete byte ptr [rsp + 112] # 1-byte Folded Spill + sete byte ptr [rsp + 128] # 1-byte Folded Spill cmp qword ptr [rsi + 152], r13 - sete byte ptr [rsp + 96] # 1-byte Folded Spill + sete byte ptr [rsp + 104] # 1-byte Folded Spill cmp qword ptr [rsi + 160], r13 - sete byte ptr [rsp + 120] # 1-byte Folded Spill + sete byte ptr [rsp + 88] # 1-byte Folded Spill cmp qword ptr [rsi + 168], r13 - sete byte ptr [rsp + 80] # 1-byte Folded Spill - cmp qword ptr [rsi + 176], r13 sete byte ptr [rsp + 64] # 1-byte Folded Spill + cmp qword ptr [rsi + 176], r13 + sete byte ptr [rsp + 56] # 1-byte Folded Spill cmp qword ptr [rsi + 184], r13 sete r15b cmp qword ptr [rsi + 192], r13 - sete byte ptr [rsp + 32] # 1-byte Folded Spill + sete byte ptr [rsp + 16] # 1-byte Folded Spill cmp qword ptr [rsi + 200], r13 - sete byte ptr [rsp + 56] # 1-byte Folded Spill + sete byte ptr [rsp + 32] # 1-byte Folded Spill cmp qword ptr [rsi + 208], r13 - sete byte ptr [rsp + 16] # 1-byte Folded Spill - cmp qword ptr [rsi + 216], r13 sete byte ptr [rsp + 48] # 1-byte Folded Spill - cmp qword ptr [rsi + 224], r13 + cmp qword ptr [rsi + 216], r13 sete byte ptr [rsp + 24] # 1-byte Folded Spill - cmp qword ptr [rsi + 232], r13 + cmp qword ptr [rsi + 224], r13 sete byte ptr [rsp + 40] # 1-byte Folded Spill - cmp qword ptr [rsi + 240], r13 + cmp qword ptr [rsi + 232], r13 sete byte ptr [rsp + 8] # 1-byte Folded Spill + cmp qword ptr [rsi + 240], r13 + sete byte ptr [rsp + 4] # 1-byte Folded Spill cmp qword ptr [rsi + 248], r13 - sete r8b - add dil, dil - add dil, byte ptr [rsp + 224] # 1-byte Folded Reload + sete dl + add r10b, r10b + add r10b, byte ptr [rsp + 208] # 1-byte Folded Reload shl al, 6 shl bl, 7 or bl, al shl r14b, 2 - or r14b, dil - add dl, dl - add dl, byte ptr [rsp + 160] # 1-byte Folded Reload - movzx eax, byte ptr [rsp + 208] # 1-byte Folded Reload + or r14b, r10b + add dil, dil + add dil, byte ptr [rsp + 192] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 176] # 1-byte Folded Reload shl al, 3 or al, r14b - shl r9b, 2 - or r9b, dl - movzx edx, byte ptr [rsp + 88] # 1-byte Folded Reload - shl dl, 4 - or dl, al - mov edi, edx - shl r10b, 3 - or r10b, r9b - movzx edx, byte ptr [rsp + 72] # 1-byte Folded Reload - shl dl, 5 - or dl, dil + mov r10d, eax + mov r14, qword ptr [rsp + 136] # 8-byte Reload + shl r8b, 2 + or r8b, dil + movzx eax, byte ptr [rsp + 96] # 1-byte Folded Reload + shl al, 4 + or al, r10b + mov edi, eax + shl r9b, 3 + or r9b, r8b + movzx eax, byte ptr [rsp + 72] # 1-byte Folded Reload + shl al, 5 + or al, dil shl r11b, 4 - or r11b, r10b + or r11b, r9b shl r12b, 5 or r12b, r11b - movzx edi, byte ptr [rsp + 176] # 1-byte Folded Reload + movzx edi, byte ptr [rsp + 112] # 1-byte Folded Reload shl dil, 6 shl cl, 7 or cl, dil - or bl, dl + or bl, al or cl, r12b - mov r14, qword ptr [rsp + 136] # 8-byte Reload - movzx edx, byte ptr [rsp + 128] # 1-byte Folded Reload - add dl, dl - add dl, byte ptr [rsp + 104] # 1-byte Folded Reload - mov edi, edx - movzx edx, byte ptr [rsp + 112] # 1-byte Folded Reload - shl dl, 2 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 96] # 1-byte Folded Reload - shl dl, 3 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 120] # 1-byte Folded Reload - shl dl, 4 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 80] # 1-byte Folded Reload - shl dl, 5 - or dl, dil + movzx eax, byte ptr [rsp + 120] # 1-byte Folded Reload + add al, al + add al, byte ptr [rsp + 80] # 1-byte Folded Reload + mov edi, eax + movzx eax, byte ptr [rsp + 128] # 1-byte Folded Reload + shl al, 2 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 104] # 1-byte Folded Reload + shl al, 3 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 88] # 1-byte Folded Reload + shl al, 4 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 64] # 1-byte Folded Reload + shl al, 5 + or al, dil mov byte ptr [r14], bl - movzx ebx, byte ptr [rsp + 64] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 56] # 1-byte Folded Reload shl bl, 6 shl r15b, 7 or r15b, bl mov byte ptr [r14 + 1], cl - or r15b, dl - movzx ecx, byte ptr [rsp + 56] # 1-byte Folded Reload - add cl, cl - add cl, byte ptr [rsp + 32] # 1-byte Folded Reload - mov edx, ecx - movzx ecx, byte ptr [rsp + 16] # 1-byte Folded Reload - shl cl, 2 - or cl, dl - mov edx, ecx - movzx ecx, byte ptr [rsp + 48] # 1-byte Folded Reload - shl cl, 3 - or cl, dl - mov edx, ecx - movzx ecx, byte ptr [rsp + 24] # 1-byte Folded Reload - shl cl, 4 - or cl, dl - mov edx, ecx - movzx ecx, byte ptr [rsp + 40] # 1-byte Folded Reload - shl cl, 5 - or cl, dl - movzx edx, byte ptr [rsp + 8] # 1-byte Folded Reload - shl dl, 6 - shl r8b, 7 - or r8b, dl - or r8b, cl + or r15b, al + movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload + add al, al + add al, byte ptr [rsp + 16] # 1-byte Folded Reload + mov ecx, eax + movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload + shl al, 2 + or al, cl + mov ecx, eax + movzx eax, byte ptr [rsp + 24] # 1-byte Folded Reload + shl al, 3 + or al, cl + mov ecx, eax + movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload + shl al, 4 + or al, cl + mov ecx, eax + movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + shl al, 5 + or al, cl + movzx ecx, byte ptr [rsp + 4] # 1-byte Folded Reload + shl cl, 6 + shl dl, 7 + or dl, cl + or dl, al mov byte ptr [r14 + 2], r15b - mov byte ptr [r14 + 3], r8b + mov byte ptr [r14 + 3], dl add rsi, 256 add r14, 4 - add qword ptr [rsp + 192], -1 # 8-byte Folded Spill - jne .LBB1_35 -# %bb.36: + add qword ptr [rsp + 160], -1 # 8-byte Folded Spill + jne .LBB1_36 +# %bb.37: mov r10, qword ptr [rsp + 144] # 8-byte Reload mov r11, qword ptr [rsp + 152] # 8-byte Reload -.LBB1_37: +.LBB1_38: shl r11, 5 cmp r11, r10 - jge .LBB1_202 -# %bb.38: + jge .LBB1_199 +# %bb.39: mov r8, r10 sub r8, r11 not r11 add r11, r10 - je .LBB1_39 -# %bb.160: + je .LBB1_40 +# %bb.158: mov r10, r8 and r10, -2 xor r11d, r11d .p2align 4, 0x90 -.LBB1_161: # =>This Inner Loop Header: Depth=1 +.LBB1_159: # =>This Inner Loop Header: Depth=1 cmp qword ptr [rsi], r13 sete al neg al mov rdi, r11 shr rdi, 3 + mov r15, r14 movzx r9d, byte ptr [r14 + rdi] mov ecx, r11d and cl, 6 @@ -3909,9 +4199,9 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 xor dl, bl mov byte ptr [r14 + rdi], dl cmp r10, r11 - jne .LBB1_161 - jmp .LBB1_40 -.LBB1_56: + jne .LBB1_159 + jmp .LBB1_41 +.LBB1_57: mov r11b, byte ptr [rdx] lea r15, [r10 + 31] test r10, r10 @@ -3921,11 +4211,11 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 cmovns eax, r9d and eax, -8 sub r9d, eax - je .LBB1_60 -# %bb.57: + je .LBB1_61 +# %bb.58: movsxd rax, r9d .p2align 4, 0x90 -.LBB1_58: # =>This Inner Loop Header: Depth=1 +.LBB1_59: # =>This Inner Loop Header: Depth=1 cmp byte ptr [rsi], r11b lea rsi, [rsi + 1] sete dl @@ -3934,6 +4224,7 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 test rax, rax cmovns rdi, rax sar rdi, 3 + mov r12, r14 movzx r9d, byte ptr [r14 + rdi] xor dl, r9b lea r8d, [8*rdi] @@ -3947,149 +4238,148 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 mov byte ptr [r14 + rdi], bl add rax, 1 cmp rax, 8 - jne .LBB1_58 -# %bb.59: + jne .LBB1_59 +# %bb.60: add r14, 1 -.LBB1_60: +.LBB1_61: sar r15, 5 cmp r10, 32 - jl .LBB1_61 -# %bb.62: + jl .LBB1_62 +# %bb.63: cmp r15, 16 - mov byte ptr [rsp + 8], r11b # 1-byte Spill + mov byte ptr [rsp + 4], r11b # 1-byte Spill mov qword ptr [rsp + 144], r10 # 8-byte Spill mov qword ptr [rsp + 256], r15 # 8-byte Spill - jb .LBB1_63 -# %bb.64: + jb .LBB1_64 +# %bb.65: mov rax, r15 shl rax, 5 add rax, rsi cmp r14, rax - jae .LBB1_66 -# %bb.65: + jae .LBB1_67 +# %bb.66: lea rax, [r14 + 4*r15] cmp rsi, rax - jae .LBB1_66 -.LBB1_63: + jae .LBB1_67 +.LBB1_64: xor eax, eax - mov qword ptr [rsp + 248], rax # 8-byte Spill - mov qword ptr [rsp + 80], r14 # 8-byte Spill -.LBB1_69: - mov r14, r15 - sub r14, qword ptr [rsp + 248] # 8-byte Folded Reload - mov qword ptr [rsp + 152], r14 # 8-byte Spill + mov qword ptr [rsp + 232], rax # 8-byte Spill + mov qword ptr [rsp + 56], r14 # 8-byte Spill +.LBB1_70: + sub r15, qword ptr [rsp + 232] # 8-byte Folded Reload + mov qword ptr [rsp + 152], r15 # 8-byte Spill .p2align 4, 0x90 -.LBB1_70: # =>This Inner Loop Header: Depth=1 +.LBB1_71: # =>This Inner Loop Header: Depth=1 mov rcx, rsi cmp byte ptr [rsi], r11b - sete byte ptr [rsp + 192] # 1-byte Folded Spill + sete byte ptr [rsp + 160] # 1-byte Folded Spill cmp byte ptr [rsi + 1], r11b sete sil cmp byte ptr [rcx + 2], r11b sete r15b - movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 4] # 1-byte Folded Reload cmp byte ptr [rcx + 3], al sete r12b - movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 4] # 1-byte Folded Reload cmp byte ptr [rcx + 4], al - sete byte ptr [rsp + 208] # 1-byte Folded Spill - movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + sete byte ptr [rsp + 176] # 1-byte Folded Spill + movzx eax, byte ptr [rsp + 4] # 1-byte Folded Reload cmp byte ptr [rcx + 5], al sete byte ptr [rsp + 64] # 1-byte Folded Spill - movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 4] # 1-byte Folded Reload cmp byte ptr [rcx + 6], al - sete byte ptr [rsp + 224] # 1-byte Folded Spill - movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + sete byte ptr [rsp + 208] # 1-byte Folded Spill + movzx eax, byte ptr [rsp + 4] # 1-byte Folded Reload cmp byte ptr [rcx + 7], al sete r9b - movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 4] # 1-byte Folded Reload cmp byte ptr [rcx + 8], al - sete byte ptr [rsp + 160] # 1-byte Folded Spill - movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + sete byte ptr [rsp + 192] # 1-byte Folded Spill + movzx eax, byte ptr [rsp + 4] # 1-byte Folded Reload cmp byte ptr [rcx + 9], al sete dl - movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 4] # 1-byte Folded Reload cmp byte ptr [rcx + 10], al sete dil - movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 4] # 1-byte Folded Reload cmp byte ptr [rcx + 11], al sete r10b - movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 4] # 1-byte Folded Reload cmp byte ptr [rcx + 12], al sete r14b - movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 4] # 1-byte Folded Reload cmp byte ptr [rcx + 13], al sete r13b - movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 4] # 1-byte Folded Reload cmp byte ptr [rcx + 14], al - sete byte ptr [rsp + 176] # 1-byte Folded Spill - movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + sete byte ptr [rsp + 112] # 1-byte Folded Spill + movzx eax, byte ptr [rsp + 4] # 1-byte Folded Reload cmp byte ptr [rcx + 15], al sete r8b - movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 4] # 1-byte Folded Reload cmp byte ptr [rcx + 16], bl - sete byte ptr [rsp + 128] # 1-byte Folded Spill - movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload + sete byte ptr [rsp + 120] # 1-byte Folded Spill + movzx ebx, byte ptr [rsp + 4] # 1-byte Folded Reload cmp byte ptr [rcx + 17], bl - sete byte ptr [rsp + 112] # 1-byte Folded Spill - movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload + sete byte ptr [rsp + 128] # 1-byte Folded Spill + movzx ebx, byte ptr [rsp + 4] # 1-byte Folded Reload cmp byte ptr [rcx + 18], bl - sete byte ptr [rsp + 88] # 1-byte Folded Spill - movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload - cmp byte ptr [rcx + 19], bl sete byte ptr [rsp + 96] # 1-byte Folded Spill - movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload - cmp byte ptr [rcx + 20], bl + movzx ebx, byte ptr [rsp + 4] # 1-byte Folded Reload + cmp byte ptr [rcx + 19], bl sete byte ptr [rsp + 104] # 1-byte Folded Spill - movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 4] # 1-byte Folded Reload + cmp byte ptr [rcx + 20], bl + sete byte ptr [rsp + 80] # 1-byte Folded Spill + movzx ebx, byte ptr [rsp + 4] # 1-byte Folded Reload cmp byte ptr [rcx + 21], bl sete byte ptr [rsp + 72] # 1-byte Folded Spill - movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 4] # 1-byte Folded Reload cmp byte ptr [rcx + 22], bl - sete byte ptr [rsp + 120] # 1-byte Folded Spill - movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload + sete byte ptr [rsp + 88] # 1-byte Folded Spill + movzx ebx, byte ptr [rsp + 4] # 1-byte Folded Reload cmp byte ptr [rcx + 23], bl sete r11b - movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 4] # 1-byte Folded Reload cmp byte ptr [rcx + 24], bl - sete byte ptr [rsp + 56] # 1-byte Folded Spill - movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload + sete byte ptr [rsp + 32] # 1-byte Folded Spill + movzx ebx, byte ptr [rsp + 4] # 1-byte Folded Reload cmp byte ptr [rcx + 25], bl - sete byte ptr [rsp + 16] # 1-byte Folded Spill - movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload - cmp byte ptr [rcx + 26], bl sete byte ptr [rsp + 48] # 1-byte Folded Spill - movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 4] # 1-byte Folded Reload + cmp byte ptr [rcx + 26], bl + sete byte ptr [rsp + 24] # 1-byte Folded Spill + movzx ebx, byte ptr [rsp + 4] # 1-byte Folded Reload cmp byte ptr [rcx + 27], bl - sete byte ptr [rsp + 32] # 1-byte Folded Spill - movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload + sete byte ptr [rsp + 16] # 1-byte Folded Spill + movzx ebx, byte ptr [rsp + 4] # 1-byte Folded Reload cmp byte ptr [rcx + 28], bl - sete byte ptr [rsp + 24] # 1-byte Folded Spill - movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload - cmp byte ptr [rcx + 29], bl sete byte ptr [rsp + 40] # 1-byte Folded Spill - movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 4] # 1-byte Folded Reload + cmp byte ptr [rcx + 29], bl + sete byte ptr [rsp + 8] # 1-byte Folded Spill + movzx ebx, byte ptr [rsp + 4] # 1-byte Folded Reload cmp byte ptr [rcx + 30], bl sete byte ptr [rsp + 136] # 1-byte Folded Spill - movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 4] # 1-byte Folded Reload cmp byte ptr [rcx + 31], bl sete bl add sil, sil - add sil, byte ptr [rsp + 192] # 1-byte Folded Reload - movzx eax, byte ptr [rsp + 224] # 1-byte Folded Reload + add sil, byte ptr [rsp + 160] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 208] # 1-byte Folded Reload shl al, 6 shl r9b, 7 or r9b, al shl r15b, 2 or r15b, sil add dl, dl - add dl, byte ptr [rsp + 160] # 1-byte Folded Reload + add dl, byte ptr [rsp + 192] # 1-byte Folded Reload shl r12b, 3 or r12b, r15b - movzx r15d, byte ptr [rsp + 8] # 1-byte Folded Reload + movzx r15d, byte ptr [rsp + 4] # 1-byte Folded Reload shl dil, 2 or dil, dl - movzx eax, byte ptr [rsp + 208] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 176] # 1-byte Folded Reload shl al, 4 or al, r12b shl r10b, 3 @@ -4101,25 +4391,25 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 or r14b, r10b shl r13b, 5 or r13b, r14b - movzx esi, byte ptr [rsp + 176] # 1-byte Folded Reload + movzx esi, byte ptr [rsp + 112] # 1-byte Folded Reload shl sil, 6 shl r8b, 7 or r8b, sil or r9b, dl or r8b, r13b - movzx edx, byte ptr [rsp + 112] # 1-byte Folded Reload + movzx edx, byte ptr [rsp + 128] # 1-byte Folded Reload add dl, dl - add dl, byte ptr [rsp + 128] # 1-byte Folded Reload + add dl, byte ptr [rsp + 120] # 1-byte Folded Reload mov esi, edx - movzx edx, byte ptr [rsp + 88] # 1-byte Folded Reload + movzx edx, byte ptr [rsp + 96] # 1-byte Folded Reload shl dl, 2 or dl, sil mov esi, edx - movzx edx, byte ptr [rsp + 96] # 1-byte Folded Reload + movzx edx, byte ptr [rsp + 104] # 1-byte Folded Reload shl dl, 3 or dl, sil mov esi, edx - movzx edx, byte ptr [rsp + 104] # 1-byte Folded Reload + movzx edx, byte ptr [rsp + 80] # 1-byte Folded Reload shl dl, 4 or dl, sil mov esi, edx @@ -4127,31 +4417,31 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 shl dl, 5 or dl, sil mov esi, edx - mov rdx, qword ptr [rsp + 80] # 8-byte Reload + mov rdx, qword ptr [rsp + 56] # 8-byte Reload mov byte ptr [rdx], r9b - movzx edi, byte ptr [rsp + 120] # 1-byte Folded Reload + movzx edi, byte ptr [rsp + 88] # 1-byte Folded Reload shl dil, 6 shl r11b, 7 or r11b, dil mov byte ptr [rdx + 1], r8b or r11b, sil - movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 56] # 1-byte Folded Reload + add al, byte ptr [rsp + 32] # 1-byte Folded Reload mov esi, eax - movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 24] # 1-byte Folded Reload shl al, 2 or al, sil mov esi, eax - movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload shl al, 3 or al, sil mov esi, eax - movzx eax, byte ptr [rsp + 24] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload shl al, 4 or al, sil mov esi, eax - movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload shl al, 5 or al, sil movzx esi, byte ptr [rsp + 136] # 1-byte Folded Reload @@ -4164,14 +4454,14 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 mov byte ptr [rdx + 3], bl lea rsi, [rcx + 32] add rdx, 4 - mov qword ptr [rsp + 80], rdx # 8-byte Spill + mov qword ptr [rsp + 56], rdx # 8-byte Spill add qword ptr [rsp + 152], -1 # 8-byte Folded Spill - jne .LBB1_70 -# %bb.71: + jne .LBB1_71 +# %bb.72: mov r10, qword ptr [rsp + 144] # 8-byte Reload mov r15, qword ptr [rsp + 256] # 8-byte Reload - jmp .LBB1_72 -.LBB1_148: + jmp .LBB1_73 +.LBB1_146: mov r13d, dword ptr [rdx] lea r11, [r10 + 31] test r10, r10 @@ -4181,11 +4471,11 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 cmovns eax, r9d and eax, -8 sub r9d, eax - je .LBB1_152 -# %bb.149: + je .LBB1_150 +# %bb.147: movsxd rax, r9d .p2align 4, 0x90 -.LBB1_150: # =>This Inner Loop Header: Depth=1 +.LBB1_148: # =>This Inner Loop Header: Depth=1 cmp dword ptr [rsi], r13d lea rsi, [rsi + 4] sete dl @@ -4194,6 +4484,7 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 test rax, rax cmovns rbx, rax sar rbx, 3 + mov r9, r14 movzx r8d, byte ptr [r14 + rbx] xor dl, r8b lea edi, [8*rbx] @@ -4207,30 +4498,30 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 mov byte ptr [r14 + rbx], dil add rax, 1 cmp rax, 8 - jne .LBB1_150 -# %bb.151: + jne .LBB1_148 +# %bb.149: add r14, 1 -.LBB1_152: +.LBB1_150: sar r11, 5 cmp r10, 32 - jl .LBB1_156 -# %bb.153: + jl .LBB1_154 +# %bb.151: mov qword ptr [rsp + 144], r10 # 8-byte Spill mov qword ptr [rsp + 152], r11 # 8-byte Spill - mov qword ptr [rsp + 192], r11 # 8-byte Spill + mov qword ptr [rsp + 160], r11 # 8-byte Spill .p2align 4, 0x90 -.LBB1_154: # =>This Inner Loop Header: Depth=1 +.LBB1_152: # =>This Inner Loop Header: Depth=1 mov qword ptr [rsp + 136], r14 # 8-byte Spill cmp dword ptr [rsi], r13d - sete byte ptr [rsp + 224] # 1-byte Folded Spill + sete byte ptr [rsp + 208] # 1-byte Folded Spill cmp dword ptr [rsi + 4], r13d - sete dil + sete r10b cmp dword ptr [rsi + 8], r13d sete r14b cmp dword ptr [rsi + 12], r13d - sete byte ptr [rsp + 208] # 1-byte Folded Spill + sete byte ptr [rsp + 176] # 1-byte Folded Spill cmp dword ptr [rsi + 16], r13d - sete byte ptr [rsp + 88] # 1-byte Folded Spill + sete byte ptr [rsp + 96] # 1-byte Folded Spill cmp dword ptr [rsi + 20], r13d sete byte ptr [rsp + 72] # 1-byte Folded Spill cmp dword ptr [rsi + 24], r13d @@ -4238,175 +4529,176 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 cmp dword ptr [rsi + 28], r13d sete bl cmp dword ptr [rsi + 32], r13d - sete byte ptr [rsp + 160] # 1-byte Folded Spill + sete byte ptr [rsp + 192] # 1-byte Folded Spill cmp dword ptr [rsi + 36], r13d - sete dl + sete dil cmp dword ptr [rsi + 40], r13d - sete r9b + sete r8b cmp dword ptr [rsi + 44], r13d - sete r10b + sete r9b cmp dword ptr [rsi + 48], r13d sete r11b cmp dword ptr [rsi + 52], r13d sete r12b cmp dword ptr [rsi + 56], r13d - sete byte ptr [rsp + 176] # 1-byte Folded Spill + sete byte ptr [rsp + 112] # 1-byte Folded Spill cmp dword ptr [rsi + 60], r13d sete cl cmp dword ptr [rsi + 64], r13d - sete byte ptr [rsp + 104] # 1-byte Folded Spill + sete byte ptr [rsp + 80] # 1-byte Folded Spill cmp dword ptr [rsi + 68], r13d - sete byte ptr [rsp + 128] # 1-byte Folded Spill + sete byte ptr [rsp + 120] # 1-byte Folded Spill cmp dword ptr [rsi + 72], r13d - sete byte ptr [rsp + 112] # 1-byte Folded Spill + sete byte ptr [rsp + 128] # 1-byte Folded Spill cmp dword ptr [rsi + 76], r13d - sete byte ptr [rsp + 96] # 1-byte Folded Spill + sete byte ptr [rsp + 104] # 1-byte Folded Spill cmp dword ptr [rsi + 80], r13d - sete byte ptr [rsp + 120] # 1-byte Folded Spill + sete byte ptr [rsp + 88] # 1-byte Folded Spill cmp dword ptr [rsi + 84], r13d - sete byte ptr [rsp + 80] # 1-byte Folded Spill - cmp dword ptr [rsi + 88], r13d sete byte ptr [rsp + 64] # 1-byte Folded Spill + cmp dword ptr [rsi + 88], r13d + sete byte ptr [rsp + 56] # 1-byte Folded Spill cmp dword ptr [rsi + 92], r13d sete r15b cmp dword ptr [rsi + 96], r13d - sete byte ptr [rsp + 32] # 1-byte Folded Spill + sete byte ptr [rsp + 16] # 1-byte Folded Spill cmp dword ptr [rsi + 100], r13d - sete byte ptr [rsp + 56] # 1-byte Folded Spill + sete byte ptr [rsp + 32] # 1-byte Folded Spill cmp dword ptr [rsi + 104], r13d - sete byte ptr [rsp + 16] # 1-byte Folded Spill - cmp dword ptr [rsi + 108], r13d sete byte ptr [rsp + 48] # 1-byte Folded Spill - cmp dword ptr [rsi + 112], r13d + cmp dword ptr [rsi + 108], r13d sete byte ptr [rsp + 24] # 1-byte Folded Spill - cmp dword ptr [rsi + 116], r13d + cmp dword ptr [rsi + 112], r13d sete byte ptr [rsp + 40] # 1-byte Folded Spill - cmp dword ptr [rsi + 120], r13d + cmp dword ptr [rsi + 116], r13d sete byte ptr [rsp + 8] # 1-byte Folded Spill + cmp dword ptr [rsi + 120], r13d + sete byte ptr [rsp + 4] # 1-byte Folded Spill cmp dword ptr [rsi + 124], r13d - sete r8b - add dil, dil - add dil, byte ptr [rsp + 224] # 1-byte Folded Reload + sete dl + add r10b, r10b + add r10b, byte ptr [rsp + 208] # 1-byte Folded Reload shl al, 6 shl bl, 7 or bl, al shl r14b, 2 - or r14b, dil - add dl, dl - add dl, byte ptr [rsp + 160] # 1-byte Folded Reload - movzx eax, byte ptr [rsp + 208] # 1-byte Folded Reload + or r14b, r10b + add dil, dil + add dil, byte ptr [rsp + 192] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 176] # 1-byte Folded Reload shl al, 3 or al, r14b - shl r9b, 2 - or r9b, dl - movzx edx, byte ptr [rsp + 88] # 1-byte Folded Reload - shl dl, 4 - or dl, al - mov edi, edx - shl r10b, 3 - or r10b, r9b - movzx edx, byte ptr [rsp + 72] # 1-byte Folded Reload - shl dl, 5 - or dl, dil + mov r10d, eax + mov r14, qword ptr [rsp + 136] # 8-byte Reload + shl r8b, 2 + or r8b, dil + movzx eax, byte ptr [rsp + 96] # 1-byte Folded Reload + shl al, 4 + or al, r10b + mov edi, eax + shl r9b, 3 + or r9b, r8b + movzx eax, byte ptr [rsp + 72] # 1-byte Folded Reload + shl al, 5 + or al, dil shl r11b, 4 - or r11b, r10b + or r11b, r9b shl r12b, 5 or r12b, r11b - movzx edi, byte ptr [rsp + 176] # 1-byte Folded Reload + movzx edi, byte ptr [rsp + 112] # 1-byte Folded Reload shl dil, 6 shl cl, 7 or cl, dil - or bl, dl + or bl, al or cl, r12b - mov r14, qword ptr [rsp + 136] # 8-byte Reload - movzx edx, byte ptr [rsp + 128] # 1-byte Folded Reload - add dl, dl - add dl, byte ptr [rsp + 104] # 1-byte Folded Reload - mov edi, edx - movzx edx, byte ptr [rsp + 112] # 1-byte Folded Reload - shl dl, 2 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 96] # 1-byte Folded Reload - shl dl, 3 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 120] # 1-byte Folded Reload - shl dl, 4 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 80] # 1-byte Folded Reload - shl dl, 5 - or dl, dil + movzx eax, byte ptr [rsp + 120] # 1-byte Folded Reload + add al, al + add al, byte ptr [rsp + 80] # 1-byte Folded Reload + mov edi, eax + movzx eax, byte ptr [rsp + 128] # 1-byte Folded Reload + shl al, 2 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 104] # 1-byte Folded Reload + shl al, 3 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 88] # 1-byte Folded Reload + shl al, 4 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 64] # 1-byte Folded Reload + shl al, 5 + or al, dil mov byte ptr [r14], bl - movzx ebx, byte ptr [rsp + 64] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 56] # 1-byte Folded Reload shl bl, 6 shl r15b, 7 or r15b, bl mov byte ptr [r14 + 1], cl - or r15b, dl - movzx ecx, byte ptr [rsp + 56] # 1-byte Folded Reload - add cl, cl - add cl, byte ptr [rsp + 32] # 1-byte Folded Reload - mov edx, ecx - movzx ecx, byte ptr [rsp + 16] # 1-byte Folded Reload - shl cl, 2 - or cl, dl - mov edx, ecx - movzx ecx, byte ptr [rsp + 48] # 1-byte Folded Reload - shl cl, 3 - or cl, dl - mov edx, ecx - movzx ecx, byte ptr [rsp + 24] # 1-byte Folded Reload - shl cl, 4 - or cl, dl - mov edx, ecx - movzx ecx, byte ptr [rsp + 40] # 1-byte Folded Reload - shl cl, 5 - or cl, dl - movzx edx, byte ptr [rsp + 8] # 1-byte Folded Reload - shl dl, 6 - shl r8b, 7 - or r8b, dl - or r8b, cl + or r15b, al + movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload + add al, al + add al, byte ptr [rsp + 16] # 1-byte Folded Reload + mov ecx, eax + movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload + shl al, 2 + or al, cl + mov ecx, eax + movzx eax, byte ptr [rsp + 24] # 1-byte Folded Reload + shl al, 3 + or al, cl + mov ecx, eax + movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload + shl al, 4 + or al, cl + mov ecx, eax + movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + shl al, 5 + or al, cl + movzx ecx, byte ptr [rsp + 4] # 1-byte Folded Reload + shl cl, 6 + shl dl, 7 + or dl, cl + or dl, al mov byte ptr [r14 + 2], r15b - mov byte ptr [r14 + 3], r8b + mov byte ptr [r14 + 3], dl add rsi, 128 add r14, 4 - add qword ptr [rsp + 192], -1 # 8-byte Folded Spill - jne .LBB1_154 -# %bb.155: + add qword ptr [rsp + 160], -1 # 8-byte Folded Spill + jne .LBB1_152 +# %bb.153: mov r10, qword ptr [rsp + 144] # 8-byte Reload mov r11, qword ptr [rsp + 152] # 8-byte Reload -.LBB1_156: +.LBB1_154: shl r11, 5 cmp r11, r10 - jge .LBB1_202 -# %bb.157: + jge .LBB1_199 +# %bb.155: mov r8, r10 sub r8, r11 not r11 add r11, r10 - jne .LBB1_158 + jne .LBB1_156 .LBB1_23: xor r11d, r11d jmp .LBB1_24 -.LBB1_100: - movzx r13d, word ptr [rdx] - lea r11, [r10 + 31] +.LBB1_101: + movzx r11d, word ptr [rdx] + lea r15, [r10 + 31] test r10, r10 - cmovns r11, r10 + cmovns r15, r10 lea eax, [r9 + 7] test r9d, r9d cmovns eax, r9d and eax, -8 sub r9d, eax - je .LBB1_104 -# %bb.101: + je .LBB1_105 +# %bb.102: movsxd rax, r9d .p2align 4, 0x90 -.LBB1_102: # =>This Inner Loop Header: Depth=1 - cmp word ptr [rsi], r13w +.LBB1_103: # =>This Inner Loop Header: Depth=1 + cmp word ptr [rsi], r11w lea rsi, [rsi + 2] sete dl neg dl @@ -4414,6 +4706,7 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 test rax, rax cmovns rdi, rax sar rdi, 3 + mov r12, r14 movzx r9d, byte ptr [r14 + rdi] xor dl, r9b lea r8d, [8*rdi] @@ -4427,152 +4720,183 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 mov byte ptr [r14 + rdi], bl add rax, 1 cmp rax, 8 - jne .LBB1_102 -# %bb.103: + jne .LBB1_103 +# %bb.104: add r14, 1 -.LBB1_104: - sar r11, 5 +.LBB1_105: + sar r15, 5 cmp r10, 32 - jl .LBB1_105 -# %bb.106: - cmp r11, 8 + jl .LBB1_106 +# %bb.107: + cmp r15, 8 + mov dword ptr [rsp + 4], r11d # 4-byte Spill mov qword ptr [rsp + 144], r10 # 8-byte Spill - mov qword ptr [rsp + 152], r11 # 8-byte Spill - jb .LBB1_107 -# %bb.108: - mov rax, r11 + mov qword ptr [rsp + 240], r15 # 8-byte Spill + jb .LBB1_108 +# %bb.109: + mov rax, r15 shl rax, 6 add rax, rsi cmp r14, rax - jae .LBB1_110 -# %bb.109: - lea rax, [r14 + 4*r11] + jae .LBB1_111 +# %bb.110: + lea rax, [r14 + 4*r15] cmp rax, rsi - jbe .LBB1_110 -.LBB1_107: + jbe .LBB1_111 +.LBB1_108: xor eax, eax - mov qword ptr [rsp + 16], rax # 8-byte Spill + mov qword ptr [rsp + 32], rax # 8-byte Spill mov qword ptr [rsp + 8], r14 # 8-byte Spill -.LBB1_113: - sub r11, qword ptr [rsp + 16] # 8-byte Folded Reload - mov qword ptr [rsp + 192], r11 # 8-byte Spill +.LBB1_114: + sub r15, qword ptr [rsp + 32] # 8-byte Folded Reload + mov qword ptr [rsp + 152], r15 # 8-byte Spill .p2align 4, 0x90 -.LBB1_114: # =>This Inner Loop Header: Depth=1 - mov r11, rsi - cmp word ptr [rsi], r13w - sete byte ptr [rsp + 224] # 1-byte Folded Spill - cmp word ptr [rsi + 2], r13w +.LBB1_115: # =>This Inner Loop Header: Depth=1 + mov r10, rsi + cmp word ptr [rsi], r11w + sete byte ptr [rsp + 160] # 1-byte Folded Spill + cmp word ptr [rsi + 2], r11w sete r8b - cmp word ptr [rsi + 4], r13w + cmp word ptr [rsi + 4], r11w sete r14b - cmp word ptr [rsi + 6], r13w - sete byte ptr [rsp + 208] # 1-byte Folded Spill - cmp word ptr [rsi + 8], r13w + mov eax, dword ptr [rsp + 4] # 4-byte Reload + cmp word ptr [rsi + 6], ax + sete r13b + mov eax, dword ptr [rsp + 4] # 4-byte Reload + cmp word ptr [rsi + 8], ax + sete byte ptr [rsp + 128] # 1-byte Folded Spill + mov eax, dword ptr [rsp + 4] # 4-byte Reload + cmp word ptr [rsi + 10], ax sete byte ptr [rsp + 88] # 1-byte Folded Spill - cmp word ptr [rsi + 10], r13w - sete byte ptr [rsp + 72] # 1-byte Folded Spill - cmp word ptr [rsi + 12], r13w - sete al - cmp word ptr [rsi + 14], r13w + mov eax, dword ptr [rsp + 4] # 4-byte Reload + cmp word ptr [rsi + 12], ax + sete byte ptr [rsp + 208] # 1-byte Folded Spill + mov eax, dword ptr [rsp + 4] # 4-byte Reload + cmp word ptr [rsi + 14], ax sete bl - cmp word ptr [rsi + 16], r13w - sete byte ptr [rsp + 160] # 1-byte Folded Spill - cmp word ptr [rsi + 18], r13w + mov eax, dword ptr [rsp + 4] # 4-byte Reload + cmp word ptr [rsi + 16], ax + sete byte ptr [rsp + 192] # 1-byte Folded Spill + mov eax, dword ptr [rsp + 4] # 4-byte Reload + cmp word ptr [rsi + 18], ax sete cl - cmp word ptr [rsi + 20], r13w + mov eax, dword ptr [rsp + 4] # 4-byte Reload + cmp word ptr [rsi + 20], ax sete sil - cmp word ptr [r11 + 22], r13w + mov eax, dword ptr [rsp + 4] # 4-byte Reload + cmp word ptr [r10 + 22], ax sete r9b - cmp word ptr [r11 + 24], r13w - sete r10b - cmp word ptr [r11 + 26], r13w + mov eax, dword ptr [rsp + 4] # 4-byte Reload + cmp word ptr [r10 + 24], ax + sete r11b + mov eax, dword ptr [rsp + 4] # 4-byte Reload + cmp word ptr [r10 + 26], ax sete r12b - cmp word ptr [r11 + 28], r13w - sete byte ptr [rsp + 176] # 1-byte Folded Spill - cmp word ptr [r11 + 30], r13w + mov eax, dword ptr [rsp + 4] # 4-byte Reload + cmp word ptr [r10 + 28], ax + sete byte ptr [rsp + 112] # 1-byte Folded Spill + mov eax, dword ptr [rsp + 4] # 4-byte Reload + cmp word ptr [r10 + 30], ax sete dil - cmp word ptr [r11 + 32], r13w + mov edx, dword ptr [rsp + 4] # 4-byte Reload + cmp word ptr [r10 + 32], dx sete byte ptr [rsp + 104] # 1-byte Folded Spill - cmp word ptr [r11 + 34], r13w - sete byte ptr [rsp + 128] # 1-byte Folded Spill - cmp word ptr [r11 + 36], r13w - sete byte ptr [rsp + 112] # 1-byte Folded Spill - cmp word ptr [r11 + 38], r13w - sete byte ptr [rsp + 96] # 1-byte Folded Spill - cmp word ptr [r11 + 40], r13w + mov edx, dword ptr [rsp + 4] # 4-byte Reload + cmp word ptr [r10 + 34], dx + sete byte ptr [rsp + 176] # 1-byte Folded Spill + mov edx, dword ptr [rsp + 4] # 4-byte Reload + cmp word ptr [r10 + 36], dx sete byte ptr [rsp + 120] # 1-byte Folded Spill - cmp word ptr [r11 + 42], r13w + mov edx, dword ptr [rsp + 4] # 4-byte Reload + cmp word ptr [r10 + 38], dx + sete byte ptr [rsp + 96] # 1-byte Folded Spill + mov edx, dword ptr [rsp + 4] # 4-byte Reload + cmp word ptr [r10 + 40], dx sete byte ptr [rsp + 80] # 1-byte Folded Spill - cmp word ptr [r11 + 44], r13w + mov edx, dword ptr [rsp + 4] # 4-byte Reload + cmp word ptr [r10 + 42], dx + sete byte ptr [rsp + 72] # 1-byte Folded Spill + mov edx, dword ptr [rsp + 4] # 4-byte Reload + cmp word ptr [r10 + 44], dx sete byte ptr [rsp + 64] # 1-byte Folded Spill - cmp word ptr [r11 + 46], r13w + mov edx, dword ptr [rsp + 4] # 4-byte Reload + cmp word ptr [r10 + 46], dx sete r15b - cmp word ptr [r11 + 48], r13w - sete byte ptr [rsp + 32] # 1-byte Folded Spill - cmp word ptr [r11 + 50], r13w + mov edx, dword ptr [rsp + 4] # 4-byte Reload + cmp word ptr [r10 + 48], dx + sete byte ptr [rsp + 24] # 1-byte Folded Spill + mov edx, dword ptr [rsp + 4] # 4-byte Reload + cmp word ptr [r10 + 50], dx sete byte ptr [rsp + 56] # 1-byte Folded Spill - cmp word ptr [r11 + 52], r13w - sete byte ptr [rsp + 16] # 1-byte Folded Spill - cmp word ptr [r11 + 54], r13w + mov edx, dword ptr [rsp + 4] # 4-byte Reload + cmp word ptr [r10 + 52], dx + sete byte ptr [rsp + 32] # 1-byte Folded Spill + mov edx, dword ptr [rsp + 4] # 4-byte Reload + cmp word ptr [r10 + 54], dx sete byte ptr [rsp + 48] # 1-byte Folded Spill - cmp word ptr [r11 + 56], r13w - sete byte ptr [rsp + 24] # 1-byte Folded Spill - cmp word ptr [r11 + 58], r13w + mov edx, dword ptr [rsp + 4] # 4-byte Reload + cmp word ptr [r10 + 56], dx + sete byte ptr [rsp + 16] # 1-byte Folded Spill + mov edx, dword ptr [rsp + 4] # 4-byte Reload + cmp word ptr [r10 + 58], dx sete byte ptr [rsp + 40] # 1-byte Folded Spill - cmp word ptr [r11 + 60], r13w + mov edx, dword ptr [rsp + 4] # 4-byte Reload + cmp word ptr [r10 + 60], dx sete byte ptr [rsp + 136] # 1-byte Folded Spill - cmp word ptr [r11 + 62], r13w + mov edx, dword ptr [rsp + 4] # 4-byte Reload + cmp word ptr [r10 + 62], dx sete dl add r8b, r8b - add r8b, byte ptr [rsp + 224] # 1-byte Folded Reload + add r8b, byte ptr [rsp + 160] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 208] # 1-byte Folded Reload shl al, 6 shl bl, 7 or bl, al shl r14b, 2 or r14b, r8b add cl, cl - add cl, byte ptr [rsp + 160] # 1-byte Folded Reload - movzx eax, byte ptr [rsp + 208] # 1-byte Folded Reload - shl al, 3 - or al, r14b + add cl, byte ptr [rsp + 192] # 1-byte Folded Reload + shl r13b, 3 + or r13b, r14b + mov eax, dword ptr [rsp + 4] # 4-byte Reload shl sil, 2 or sil, cl - movzx ecx, byte ptr [rsp + 88] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 128] # 1-byte Folded Reload shl cl, 4 - or cl, al + or cl, r13b mov r8d, ecx shl r9b, 3 or r9b, sil - movzx ecx, byte ptr [rsp + 72] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 88] # 1-byte Folded Reload shl cl, 5 or cl, r8b - shl r10b, 4 - or r10b, r9b + shl r11b, 4 + or r11b, r9b shl r12b, 5 - or r12b, r10b - movzx esi, byte ptr [rsp + 176] # 1-byte Folded Reload + or r12b, r11b + mov r11d, eax + movzx esi, byte ptr [rsp + 112] # 1-byte Folded Reload shl sil, 6 shl dil, 7 or dil, sil or bl, cl or dil, r12b - movzx ecx, byte ptr [rsp + 128] # 1-byte Folded Reload - add cl, cl - add cl, byte ptr [rsp + 104] # 1-byte Folded Reload - mov esi, ecx - movzx ecx, byte ptr [rsp + 112] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 176] # 1-byte Folded Reload + add al, al + add al, byte ptr [rsp + 104] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 120] # 1-byte Folded Reload shl cl, 2 - or cl, sil + or cl, al mov esi, ecx movzx ecx, byte ptr [rsp + 96] # 1-byte Folded Reload shl cl, 3 or cl, sil mov esi, ecx - movzx ecx, byte ptr [rsp + 120] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 80] # 1-byte Folded Reload shl cl, 4 or cl, sil mov esi, ecx - movzx ecx, byte ptr [rsp + 80] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 72] # 1-byte Folded Reload shl cl, 5 or cl, sil mov esi, ecx @@ -4586,9 +4910,9 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 or r15b, sil movzx eax, byte ptr [rsp + 56] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 32] # 1-byte Folded Reload + add al, byte ptr [rsp + 24] # 1-byte Folded Reload mov ebx, eax - movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload shl al, 2 or al, bl mov ebx, eax @@ -4596,7 +4920,7 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 shl al, 3 or al, bl mov ebx, eax - movzx eax, byte ptr [rsp + 24] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload shl al, 4 or al, bl mov ebx, eax @@ -4610,17 +4934,17 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 or dl, al mov byte ptr [rcx + 2], r15b mov byte ptr [rcx + 3], dl - lea rsi, [r11 + 64] + lea rsi, [r10 + 64] add rcx, 4 mov qword ptr [rsp + 8], rcx # 8-byte Spill - add qword ptr [rsp + 192], -1 # 8-byte Folded Spill - jne .LBB1_114 -# %bb.115: + add qword ptr [rsp + 152], -1 # 8-byte Folded Spill + jne .LBB1_115 +# %bb.116: mov r10, qword ptr [rsp + 144] # 8-byte Reload - mov r11, qword ptr [rsp + 152] # 8-byte Reload - jmp .LBB1_116 -.LBB1_123: - movzx r13d, word ptr [rdx] + mov r15, qword ptr [rsp + 240] # 8-byte Reload + jmp .LBB1_117 +.LBB1_124: + movzx r11d, word ptr [rdx] lea r15, [r10 + 31] test r10, r10 cmovns r15, r10 @@ -4629,12 +4953,12 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 cmovns eax, r9d and eax, -8 sub r9d, eax - je .LBB1_127 -# %bb.124: + je .LBB1_128 +# %bb.125: movsxd rax, r9d .p2align 4, 0x90 -.LBB1_125: # =>This Inner Loop Header: Depth=1 - cmp word ptr [rsi], r13w +.LBB1_126: # =>This Inner Loop Header: Depth=1 + cmp word ptr [rsi], r11w lea rsi, [rsi + 2] sete dl neg dl @@ -4642,6 +4966,7 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 test rax, rax cmovns rdi, rax sar rdi, 3 + mov r12, r14 movzx r9d, byte ptr [r14 + rdi] xor dl, r9b lea r8d, [8*rdi] @@ -4655,154 +4980,183 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 mov byte ptr [r14 + rdi], bl add rax, 1 cmp rax, 8 - jne .LBB1_125 -# %bb.126: + jne .LBB1_126 +# %bb.127: add r14, 1 -.LBB1_127: +.LBB1_128: sar r15, 5 cmp r10, 32 - jl .LBB1_128 -# %bb.129: + jl .LBB1_129 +# %bb.130: cmp r15, 8 + mov dword ptr [rsp + 4], r11d # 4-byte Spill mov qword ptr [rsp + 144], r10 # 8-byte Spill - mov qword ptr [rsp + 152], r15 # 8-byte Spill - jb .LBB1_130 -# %bb.131: + mov qword ptr [rsp + 240], r15 # 8-byte Spill + jb .LBB1_131 +# %bb.132: mov rax, r15 shl rax, 6 add rax, rsi cmp r14, rax - jae .LBB1_133 -# %bb.132: + jae .LBB1_134 +# %bb.133: lea rax, [r14 + 4*r15] cmp rax, rsi - jbe .LBB1_133 -.LBB1_130: + jbe .LBB1_134 +.LBB1_131: xor eax, eax - mov qword ptr [rsp + 16], rax # 8-byte Spill - mov r12, r14 -.LBB1_136: - mov qword ptr [rsp + 8], r12 # 8-byte Spill - mov r14, r15 - sub r14, qword ptr [rsp + 16] # 8-byte Folded Reload - mov qword ptr [rsp + 192], r14 # 8-byte Spill + mov qword ptr [rsp + 32], rax # 8-byte Spill + mov qword ptr [rsp + 8], r14 # 8-byte Spill +.LBB1_137: + sub r15, qword ptr [rsp + 32] # 8-byte Folded Reload + mov qword ptr [rsp + 152], r15 # 8-byte Spill .p2align 4, 0x90 -.LBB1_137: # =>This Inner Loop Header: Depth=1 - mov r11, rsi - cmp word ptr [rsi], r13w - sete byte ptr [rsp + 224] # 1-byte Folded Spill - cmp word ptr [rsi + 2], r13w +.LBB1_138: # =>This Inner Loop Header: Depth=1 + mov r10, rsi + cmp word ptr [rsi], r11w + sete byte ptr [rsp + 160] # 1-byte Folded Spill + cmp word ptr [rsi + 2], r11w sete r8b - cmp word ptr [rsi + 4], r13w + cmp word ptr [rsi + 4], r11w sete r14b - cmp word ptr [rsi + 6], r13w - sete byte ptr [rsp + 208] # 1-byte Folded Spill - cmp word ptr [rsi + 8], r13w + mov eax, dword ptr [rsp + 4] # 4-byte Reload + cmp word ptr [rsi + 6], ax + sete r13b + mov eax, dword ptr [rsp + 4] # 4-byte Reload + cmp word ptr [rsi + 8], ax + sete byte ptr [rsp + 128] # 1-byte Folded Spill + mov eax, dword ptr [rsp + 4] # 4-byte Reload + cmp word ptr [rsi + 10], ax sete byte ptr [rsp + 88] # 1-byte Folded Spill - cmp word ptr [rsi + 10], r13w - sete byte ptr [rsp + 72] # 1-byte Folded Spill - cmp word ptr [rsi + 12], r13w - sete al - cmp word ptr [rsi + 14], r13w + mov eax, dword ptr [rsp + 4] # 4-byte Reload + cmp word ptr [rsi + 12], ax + sete byte ptr [rsp + 208] # 1-byte Folded Spill + mov eax, dword ptr [rsp + 4] # 4-byte Reload + cmp word ptr [rsi + 14], ax sete bl - cmp word ptr [rsi + 16], r13w - sete byte ptr [rsp + 160] # 1-byte Folded Spill - cmp word ptr [rsi + 18], r13w + mov eax, dword ptr [rsp + 4] # 4-byte Reload + cmp word ptr [rsi + 16], ax + sete byte ptr [rsp + 192] # 1-byte Folded Spill + mov eax, dword ptr [rsp + 4] # 4-byte Reload + cmp word ptr [rsi + 18], ax sete cl - cmp word ptr [rsi + 20], r13w + mov eax, dword ptr [rsp + 4] # 4-byte Reload + cmp word ptr [rsi + 20], ax sete sil - cmp word ptr [r11 + 22], r13w + mov eax, dword ptr [rsp + 4] # 4-byte Reload + cmp word ptr [r10 + 22], ax sete r9b - cmp word ptr [r11 + 24], r13w - sete r10b - cmp word ptr [r11 + 26], r13w + mov eax, dword ptr [rsp + 4] # 4-byte Reload + cmp word ptr [r10 + 24], ax + sete r11b + mov eax, dword ptr [rsp + 4] # 4-byte Reload + cmp word ptr [r10 + 26], ax sete r12b - cmp word ptr [r11 + 28], r13w - sete byte ptr [rsp + 176] # 1-byte Folded Spill - cmp word ptr [r11 + 30], r13w + mov eax, dword ptr [rsp + 4] # 4-byte Reload + cmp word ptr [r10 + 28], ax + sete byte ptr [rsp + 112] # 1-byte Folded Spill + mov eax, dword ptr [rsp + 4] # 4-byte Reload + cmp word ptr [r10 + 30], ax sete dil - cmp word ptr [r11 + 32], r13w + mov edx, dword ptr [rsp + 4] # 4-byte Reload + cmp word ptr [r10 + 32], dx sete byte ptr [rsp + 104] # 1-byte Folded Spill - cmp word ptr [r11 + 34], r13w - sete byte ptr [rsp + 128] # 1-byte Folded Spill - cmp word ptr [r11 + 36], r13w - sete byte ptr [rsp + 112] # 1-byte Folded Spill - cmp word ptr [r11 + 38], r13w - sete byte ptr [rsp + 96] # 1-byte Folded Spill - cmp word ptr [r11 + 40], r13w + mov edx, dword ptr [rsp + 4] # 4-byte Reload + cmp word ptr [r10 + 34], dx + sete byte ptr [rsp + 176] # 1-byte Folded Spill + mov edx, dword ptr [rsp + 4] # 4-byte Reload + cmp word ptr [r10 + 36], dx sete byte ptr [rsp + 120] # 1-byte Folded Spill - cmp word ptr [r11 + 42], r13w + mov edx, dword ptr [rsp + 4] # 4-byte Reload + cmp word ptr [r10 + 38], dx + sete byte ptr [rsp + 96] # 1-byte Folded Spill + mov edx, dword ptr [rsp + 4] # 4-byte Reload + cmp word ptr [r10 + 40], dx sete byte ptr [rsp + 80] # 1-byte Folded Spill - cmp word ptr [r11 + 44], r13w + mov edx, dword ptr [rsp + 4] # 4-byte Reload + cmp word ptr [r10 + 42], dx + sete byte ptr [rsp + 72] # 1-byte Folded Spill + mov edx, dword ptr [rsp + 4] # 4-byte Reload + cmp word ptr [r10 + 44], dx sete byte ptr [rsp + 64] # 1-byte Folded Spill - cmp word ptr [r11 + 46], r13w + mov edx, dword ptr [rsp + 4] # 4-byte Reload + cmp word ptr [r10 + 46], dx sete r15b - cmp word ptr [r11 + 48], r13w - sete byte ptr [rsp + 32] # 1-byte Folded Spill - cmp word ptr [r11 + 50], r13w + mov edx, dword ptr [rsp + 4] # 4-byte Reload + cmp word ptr [r10 + 48], dx + sete byte ptr [rsp + 24] # 1-byte Folded Spill + mov edx, dword ptr [rsp + 4] # 4-byte Reload + cmp word ptr [r10 + 50], dx sete byte ptr [rsp + 56] # 1-byte Folded Spill - cmp word ptr [r11 + 52], r13w - sete byte ptr [rsp + 16] # 1-byte Folded Spill - cmp word ptr [r11 + 54], r13w + mov edx, dword ptr [rsp + 4] # 4-byte Reload + cmp word ptr [r10 + 52], dx + sete byte ptr [rsp + 32] # 1-byte Folded Spill + mov edx, dword ptr [rsp + 4] # 4-byte Reload + cmp word ptr [r10 + 54], dx sete byte ptr [rsp + 48] # 1-byte Folded Spill - cmp word ptr [r11 + 56], r13w - sete byte ptr [rsp + 24] # 1-byte Folded Spill - cmp word ptr [r11 + 58], r13w + mov edx, dword ptr [rsp + 4] # 4-byte Reload + cmp word ptr [r10 + 56], dx + sete byte ptr [rsp + 16] # 1-byte Folded Spill + mov edx, dword ptr [rsp + 4] # 4-byte Reload + cmp word ptr [r10 + 58], dx sete byte ptr [rsp + 40] # 1-byte Folded Spill - cmp word ptr [r11 + 60], r13w + mov edx, dword ptr [rsp + 4] # 4-byte Reload + cmp word ptr [r10 + 60], dx sete byte ptr [rsp + 136] # 1-byte Folded Spill - cmp word ptr [r11 + 62], r13w + mov edx, dword ptr [rsp + 4] # 4-byte Reload + cmp word ptr [r10 + 62], dx sete dl add r8b, r8b - add r8b, byte ptr [rsp + 224] # 1-byte Folded Reload + add r8b, byte ptr [rsp + 160] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 208] # 1-byte Folded Reload shl al, 6 shl bl, 7 or bl, al shl r14b, 2 or r14b, r8b add cl, cl - add cl, byte ptr [rsp + 160] # 1-byte Folded Reload - movzx eax, byte ptr [rsp + 208] # 1-byte Folded Reload - shl al, 3 - or al, r14b + add cl, byte ptr [rsp + 192] # 1-byte Folded Reload + shl r13b, 3 + or r13b, r14b + mov eax, dword ptr [rsp + 4] # 4-byte Reload shl sil, 2 or sil, cl - movzx ecx, byte ptr [rsp + 88] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 128] # 1-byte Folded Reload shl cl, 4 - or cl, al + or cl, r13b mov r8d, ecx shl r9b, 3 or r9b, sil - movzx ecx, byte ptr [rsp + 72] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 88] # 1-byte Folded Reload shl cl, 5 or cl, r8b - shl r10b, 4 - or r10b, r9b + shl r11b, 4 + or r11b, r9b shl r12b, 5 - or r12b, r10b - movzx esi, byte ptr [rsp + 176] # 1-byte Folded Reload + or r12b, r11b + mov r11d, eax + movzx esi, byte ptr [rsp + 112] # 1-byte Folded Reload shl sil, 6 shl dil, 7 or dil, sil or bl, cl or dil, r12b - movzx ecx, byte ptr [rsp + 128] # 1-byte Folded Reload - add cl, cl - add cl, byte ptr [rsp + 104] # 1-byte Folded Reload - mov esi, ecx - movzx ecx, byte ptr [rsp + 112] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 176] # 1-byte Folded Reload + add al, al + add al, byte ptr [rsp + 104] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 120] # 1-byte Folded Reload shl cl, 2 - or cl, sil + or cl, al mov esi, ecx movzx ecx, byte ptr [rsp + 96] # 1-byte Folded Reload shl cl, 3 or cl, sil mov esi, ecx - movzx ecx, byte ptr [rsp + 120] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 80] # 1-byte Folded Reload shl cl, 4 or cl, sil mov esi, ecx - movzx ecx, byte ptr [rsp + 80] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 72] # 1-byte Folded Reload shl cl, 5 or cl, sil mov esi, ecx @@ -4816,9 +5170,9 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 or r15b, sil movzx eax, byte ptr [rsp + 56] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 32] # 1-byte Folded Reload + add al, byte ptr [rsp + 24] # 1-byte Folded Reload mov ebx, eax - movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload shl al, 2 or al, bl mov ebx, eax @@ -4826,7 +5180,7 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 shl al, 3 or al, bl mov ebx, eax - movzx eax, byte ptr [rsp + 24] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload shl al, 4 or al, bl mov ebx, eax @@ -4840,17 +5194,16 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 or dl, al mov byte ptr [rcx + 2], r15b mov byte ptr [rcx + 3], dl - lea rsi, [r11 + 64] + lea rsi, [r10 + 64] add rcx, 4 mov qword ptr [rsp + 8], rcx # 8-byte Spill - add qword ptr [rsp + 192], -1 # 8-byte Folded Spill - jne .LBB1_137 -# %bb.138: + add qword ptr [rsp + 152], -1 # 8-byte Folded Spill + jne .LBB1_138 +# %bb.139: mov r10, qword ptr [rsp + 144] # 8-byte Reload - mov r15, qword ptr [rsp + 152] # 8-byte Reload - mov r12, qword ptr [rsp + 8] # 8-byte Reload - jmp .LBB1_139 -.LBB1_162: + mov r15, qword ptr [rsp + 240] # 8-byte Reload + jmp .LBB1_140 +.LBB1_160: mov r13, qword ptr [rdx] lea r11, [r10 + 31] test r10, r10 @@ -4860,11 +5213,11 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 cmovns eax, r9d and eax, -8 sub r9d, eax - je .LBB1_166 -# %bb.163: + je .LBB1_164 +# %bb.161: movsxd rax, r9d .p2align 4, 0x90 -.LBB1_164: # =>This Inner Loop Header: Depth=1 +.LBB1_162: # =>This Inner Loop Header: Depth=1 cmp qword ptr [rsi], r13 lea rsi, [rsi + 8] sete dl @@ -4873,6 +5226,7 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 test rax, rax cmovns rbx, rax sar rbx, 3 + mov r9, r14 movzx r8d, byte ptr [r14 + rbx] xor dl, r8b lea edi, [8*rbx] @@ -4886,30 +5240,30 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 mov byte ptr [r14 + rbx], dil add rax, 1 cmp rax, 8 - jne .LBB1_164 -# %bb.165: + jne .LBB1_162 +# %bb.163: add r14, 1 -.LBB1_166: +.LBB1_164: sar r11, 5 cmp r10, 32 - jl .LBB1_170 -# %bb.167: + jl .LBB1_168 +# %bb.165: mov qword ptr [rsp + 144], r10 # 8-byte Spill mov qword ptr [rsp + 152], r11 # 8-byte Spill - mov qword ptr [rsp + 192], r11 # 8-byte Spill + mov qword ptr [rsp + 160], r11 # 8-byte Spill .p2align 4, 0x90 -.LBB1_168: # =>This Inner Loop Header: Depth=1 +.LBB1_166: # =>This Inner Loop Header: Depth=1 mov qword ptr [rsp + 136], r14 # 8-byte Spill cmp qword ptr [rsi], r13 - sete byte ptr [rsp + 224] # 1-byte Folded Spill + sete byte ptr [rsp + 208] # 1-byte Folded Spill cmp qword ptr [rsi + 8], r13 - sete dil + sete r10b cmp qword ptr [rsi + 16], r13 sete r14b cmp qword ptr [rsi + 24], r13 - sete byte ptr [rsp + 208] # 1-byte Folded Spill + sete byte ptr [rsp + 176] # 1-byte Folded Spill cmp qword ptr [rsi + 32], r13 - sete byte ptr [rsp + 88] # 1-byte Folded Spill + sete byte ptr [rsp + 96] # 1-byte Folded Spill cmp qword ptr [rsi + 40], r13 sete byte ptr [rsp + 72] # 1-byte Folded Spill cmp qword ptr [rsi + 48], r13 @@ -4917,160 +5271,161 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 cmp qword ptr [rsi + 56], r13 sete bl cmp qword ptr [rsi + 64], r13 - sete byte ptr [rsp + 160] # 1-byte Folded Spill + sete byte ptr [rsp + 192] # 1-byte Folded Spill cmp qword ptr [rsi + 72], r13 - sete dl + sete dil cmp qword ptr [rsi + 80], r13 - sete r9b + sete r8b cmp qword ptr [rsi + 88], r13 - sete r10b + sete r9b cmp qword ptr [rsi + 96], r13 sete r11b cmp qword ptr [rsi + 104], r13 sete r12b cmp qword ptr [rsi + 112], r13 - sete byte ptr [rsp + 176] # 1-byte Folded Spill + sete byte ptr [rsp + 112] # 1-byte Folded Spill cmp qword ptr [rsi + 120], r13 sete cl cmp qword ptr [rsi + 128], r13 - sete byte ptr [rsp + 104] # 1-byte Folded Spill + sete byte ptr [rsp + 80] # 1-byte Folded Spill cmp qword ptr [rsi + 136], r13 - sete byte ptr [rsp + 128] # 1-byte Folded Spill + sete byte ptr [rsp + 120] # 1-byte Folded Spill cmp qword ptr [rsi + 144], r13 - sete byte ptr [rsp + 112] # 1-byte Folded Spill + sete byte ptr [rsp + 128] # 1-byte Folded Spill cmp qword ptr [rsi + 152], r13 - sete byte ptr [rsp + 96] # 1-byte Folded Spill + sete byte ptr [rsp + 104] # 1-byte Folded Spill cmp qword ptr [rsi + 160], r13 - sete byte ptr [rsp + 120] # 1-byte Folded Spill + sete byte ptr [rsp + 88] # 1-byte Folded Spill cmp qword ptr [rsi + 168], r13 - sete byte ptr [rsp + 80] # 1-byte Folded Spill - cmp qword ptr [rsi + 176], r13 sete byte ptr [rsp + 64] # 1-byte Folded Spill + cmp qword ptr [rsi + 176], r13 + sete byte ptr [rsp + 56] # 1-byte Folded Spill cmp qword ptr [rsi + 184], r13 sete r15b cmp qword ptr [rsi + 192], r13 - sete byte ptr [rsp + 32] # 1-byte Folded Spill + sete byte ptr [rsp + 16] # 1-byte Folded Spill cmp qword ptr [rsi + 200], r13 - sete byte ptr [rsp + 56] # 1-byte Folded Spill + sete byte ptr [rsp + 32] # 1-byte Folded Spill cmp qword ptr [rsi + 208], r13 - sete byte ptr [rsp + 16] # 1-byte Folded Spill - cmp qword ptr [rsi + 216], r13 sete byte ptr [rsp + 48] # 1-byte Folded Spill - cmp qword ptr [rsi + 224], r13 + cmp qword ptr [rsi + 216], r13 sete byte ptr [rsp + 24] # 1-byte Folded Spill - cmp qword ptr [rsi + 232], r13 + cmp qword ptr [rsi + 224], r13 sete byte ptr [rsp + 40] # 1-byte Folded Spill - cmp qword ptr [rsi + 240], r13 + cmp qword ptr [rsi + 232], r13 sete byte ptr [rsp + 8] # 1-byte Folded Spill + cmp qword ptr [rsi + 240], r13 + sete byte ptr [rsp + 4] # 1-byte Folded Spill cmp qword ptr [rsi + 248], r13 - sete r8b - add dil, dil - add dil, byte ptr [rsp + 224] # 1-byte Folded Reload + sete dl + add r10b, r10b + add r10b, byte ptr [rsp + 208] # 1-byte Folded Reload shl al, 6 shl bl, 7 or bl, al shl r14b, 2 - or r14b, dil - add dl, dl - add dl, byte ptr [rsp + 160] # 1-byte Folded Reload - movzx eax, byte ptr [rsp + 208] # 1-byte Folded Reload + or r14b, r10b + add dil, dil + add dil, byte ptr [rsp + 192] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 176] # 1-byte Folded Reload shl al, 3 or al, r14b - shl r9b, 2 - or r9b, dl - movzx edx, byte ptr [rsp + 88] # 1-byte Folded Reload - shl dl, 4 - or dl, al - mov edi, edx - shl r10b, 3 - or r10b, r9b - movzx edx, byte ptr [rsp + 72] # 1-byte Folded Reload - shl dl, 5 - or dl, dil + mov r10d, eax + mov r14, qword ptr [rsp + 136] # 8-byte Reload + shl r8b, 2 + or r8b, dil + movzx eax, byte ptr [rsp + 96] # 1-byte Folded Reload + shl al, 4 + or al, r10b + mov edi, eax + shl r9b, 3 + or r9b, r8b + movzx eax, byte ptr [rsp + 72] # 1-byte Folded Reload + shl al, 5 + or al, dil shl r11b, 4 - or r11b, r10b + or r11b, r9b shl r12b, 5 or r12b, r11b - movzx edi, byte ptr [rsp + 176] # 1-byte Folded Reload + movzx edi, byte ptr [rsp + 112] # 1-byte Folded Reload shl dil, 6 shl cl, 7 or cl, dil - or bl, dl + or bl, al or cl, r12b - mov r14, qword ptr [rsp + 136] # 8-byte Reload - movzx edx, byte ptr [rsp + 128] # 1-byte Folded Reload - add dl, dl - add dl, byte ptr [rsp + 104] # 1-byte Folded Reload - mov edi, edx - movzx edx, byte ptr [rsp + 112] # 1-byte Folded Reload - shl dl, 2 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 96] # 1-byte Folded Reload - shl dl, 3 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 120] # 1-byte Folded Reload - shl dl, 4 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 80] # 1-byte Folded Reload - shl dl, 5 - or dl, dil + movzx eax, byte ptr [rsp + 120] # 1-byte Folded Reload + add al, al + add al, byte ptr [rsp + 80] # 1-byte Folded Reload + mov edi, eax + movzx eax, byte ptr [rsp + 128] # 1-byte Folded Reload + shl al, 2 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 104] # 1-byte Folded Reload + shl al, 3 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 88] # 1-byte Folded Reload + shl al, 4 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 64] # 1-byte Folded Reload + shl al, 5 + or al, dil mov byte ptr [r14], bl - movzx ebx, byte ptr [rsp + 64] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 56] # 1-byte Folded Reload shl bl, 6 shl r15b, 7 or r15b, bl mov byte ptr [r14 + 1], cl - or r15b, dl - movzx ecx, byte ptr [rsp + 56] # 1-byte Folded Reload - add cl, cl - add cl, byte ptr [rsp + 32] # 1-byte Folded Reload - mov edx, ecx - movzx ecx, byte ptr [rsp + 16] # 1-byte Folded Reload - shl cl, 2 - or cl, dl - mov edx, ecx - movzx ecx, byte ptr [rsp + 48] # 1-byte Folded Reload - shl cl, 3 - or cl, dl - mov edx, ecx - movzx ecx, byte ptr [rsp + 24] # 1-byte Folded Reload - shl cl, 4 - or cl, dl - mov edx, ecx - movzx ecx, byte ptr [rsp + 40] # 1-byte Folded Reload - shl cl, 5 - or cl, dl - movzx edx, byte ptr [rsp + 8] # 1-byte Folded Reload - shl dl, 6 - shl r8b, 7 - or r8b, dl - or r8b, cl + or r15b, al + movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload + add al, al + add al, byte ptr [rsp + 16] # 1-byte Folded Reload + mov ecx, eax + movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload + shl al, 2 + or al, cl + mov ecx, eax + movzx eax, byte ptr [rsp + 24] # 1-byte Folded Reload + shl al, 3 + or al, cl + mov ecx, eax + movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload + shl al, 4 + or al, cl + mov ecx, eax + movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + shl al, 5 + or al, cl + movzx ecx, byte ptr [rsp + 4] # 1-byte Folded Reload + shl cl, 6 + shl dl, 7 + or dl, cl + or dl, al mov byte ptr [r14 + 2], r15b - mov byte ptr [r14 + 3], r8b + mov byte ptr [r14 + 3], dl add rsi, 256 add r14, 4 - add qword ptr [rsp + 192], -1 # 8-byte Folded Spill - jne .LBB1_168 -# %bb.169: + add qword ptr [rsp + 160], -1 # 8-byte Folded Spill + jne .LBB1_166 +# %bb.167: mov r10, qword ptr [rsp + 144] # 8-byte Reload mov r11, qword ptr [rsp + 152] # 8-byte Reload -.LBB1_170: +.LBB1_168: shl r11, 5 cmp r11, r10 - jge .LBB1_202 -# %bb.171: + jge .LBB1_199 +# %bb.169: mov r8, r10 sub r8, r11 not r11 add r11, r10 - jne .LBB1_172 -.LBB1_39: + jne .LBB1_170 +.LBB1_40: xor r11d, r11d - jmp .LBB1_40 -.LBB1_174: + jmp .LBB1_41 +.LBB1_172: lea r11, [r10 + 31] test r10, r10 cmovns r11, r10 @@ -5080,19 +5435,22 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 and eax, -8 movss xmm0, dword ptr [rdx] # xmm0 = mem[0],zero,zero,zero sub r9d, eax - je .LBB1_178 -# %bb.175: + je .LBB1_176 +# %bb.173: movsxd rax, r9d .p2align 4, 0x90 -.LBB1_176: # =>This Inner Loop Header: Depth=1 +.LBB1_174: # =>This Inner Loop Header: Depth=1 ucomiss xmm0, dword ptr [rsi] lea rsi, [rsi + 4] + setnp cl sete dl + and dl, cl neg dl lea rdi, [rax + 7] test rax, rax cmovns rdi, rax sar rdi, 3 + mov r15, r14 movzx r9d, byte ptr [r14 + rdi] xor dl, r9b lea r8d, [8*rdi] @@ -5106,283 +5464,409 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 mov byte ptr [r14 + rdi], bl add rax, 1 cmp rax, 8 - jne .LBB1_176 -# %bb.177: + jne .LBB1_174 +# %bb.175: add r14, 1 -.LBB1_178: +.LBB1_176: sar r11, 5 cmp r10, 32 - jl .LBB1_179 -# %bb.180: + jl .LBB1_177 +# %bb.178: cmp r11, 4 - jb .LBB1_181 -# %bb.182: + jb .LBB1_179 +# %bb.180: mov rax, r11 shl rax, 7 add rax, rsi cmp r14, rax - jae .LBB1_184 -# %bb.183: + jae .LBB1_182 +# %bb.181: lea rax, [r14 + 4*r11] cmp rax, rsi - jbe .LBB1_184 -.LBB1_181: + jbe .LBB1_182 +.LBB1_179: xor r8d, r8d mov rbx, rsi mov r15, r14 -.LBB1_187: - mov qword ptr [rsp + 8], r15 # 8-byte Spill +.LBB1_185: + mov qword ptr [rsp + 136], r15 # 8-byte Spill mov qword ptr [rsp + 144], r10 # 8-byte Spill - mov qword ptr [rsp + 192], r11 # 8-byte Spill + mov qword ptr [rsp + 240], r11 # 8-byte Spill sub r11, r8 - mov qword ptr [rsp + 224], r11 # 8-byte Spill + mov qword ptr [rsp + 152], r11 # 8-byte Spill .p2align 4, 0x90 -.LBB1_188: # =>This Inner Loop Header: Depth=1 +.LBB1_186: # =>This Inner Loop Header: Depth=1 ucomiss xmm0, dword ptr [rbx] - sete byte ptr [rsp + 208] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov r13d, ecx ucomiss xmm0, dword ptr [rbx + 4] - sete r8b + setnp al + sete dl + and dl, al ucomiss xmm0, dword ptr [rbx + 8] - sete r14b + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 16], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 12] - sete r13b + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 40], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 16] - sete byte ptr [rsp + 88] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 8], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 20] - sete byte ptr [rsp + 72] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 48], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 24] - sete al + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 32], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 28] - sete r11b + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 4], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 32] - sete byte ptr [rsp + 176] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 24], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 36] - sete dl + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 56], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 40] - sete sil + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 64], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 44] - sete dil + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 72], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 48] - sete r10b + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 88], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 52] - sete r12b + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 104], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 56] - sete byte ptr [rsp + 128] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 128], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 60] - sete r9b + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 96], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 64] - sete byte ptr [rsp + 104] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 80], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 68] - sete byte ptr [rsp + 160] # 1-byte Folded Spill + setnp al + sete r12b + and r12b, al ucomiss xmm0, dword ptr [rbx + 72] - sete byte ptr [rsp + 112] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 120], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 76] - sete byte ptr [rsp + 96] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 112], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 80] - sete byte ptr [rsp + 120] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 192], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 84] - sete byte ptr [rsp + 80] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 208], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 88] - sete byte ptr [rsp + 64] # 1-byte Folded Spill + setnp al + sete r14b + and r14b, al ucomiss xmm0, dword ptr [rbx + 92] - sete r15b + setnp al + sete r8b + and r8b, al ucomiss xmm0, dword ptr [rbx + 96] - sete byte ptr [rsp + 32] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 176], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 100] - sete byte ptr [rsp + 56] # 1-byte Folded Spill + setnp al + sete r11b + and r11b, al ucomiss xmm0, dword ptr [rbx + 104] - sete byte ptr [rsp + 16] # 1-byte Folded Spill + setnp al + sete r10b + and r10b, al ucomiss xmm0, dword ptr [rbx + 108] - sete byte ptr [rsp + 48] # 1-byte Folded Spill + setnp al + sete r9b + and r9b, al ucomiss xmm0, dword ptr [rbx + 112] - sete byte ptr [rsp + 24] # 1-byte Folded Spill + setnp al + sete r15b + and r15b, al ucomiss xmm0, dword ptr [rbx + 116] - sete byte ptr [rsp + 40] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 160], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 120] - sete byte ptr [rsp + 136] # 1-byte Folded Spill + setnp al + sete dil + and dil, al ucomiss xmm0, dword ptr [rbx + 124] - sete cl - add r8b, r8b - add r8b, byte ptr [rsp + 208] # 1-byte Folded Reload - shl al, 6 - shl r11b, 7 - or r11b, al - shl r14b, 2 - or r14b, r8b + setnp al + sete sil + and sil, al add dl, dl - add dl, byte ptr [rsp + 176] # 1-byte Folded Reload - shl r13b, 3 - or r13b, r14b - shl sil, 2 - or sil, dl - movzx edx, byte ptr [rsp + 88] # 1-byte Folded Reload - shl dl, 4 or dl, r13b - mov r8d, edx - shl dil, 3 - or dil, sil - movzx edx, byte ptr [rsp + 72] # 1-byte Folded Reload - shl dl, 5 - or dl, r8b - shl r10b, 4 - or r10b, dil - shl r12b, 5 - or r12b, r10b - movzx esi, byte ptr [rsp + 128] # 1-byte Folded Reload - shl sil, 6 - shl r9b, 7 - or r9b, sil - or r11b, dl - or r9b, r12b - movzx eax, byte ptr [rsp + 160] # 1-byte Folded Reload - add al, al - add al, byte ptr [rsp + 104] # 1-byte Folded Reload - movzx edx, byte ptr [rsp + 112] # 1-byte Folded Reload - shl dl, 2 - or dl, al - mov esi, edx - movzx edx, byte ptr [rsp + 96] # 1-byte Folded Reload - shl dl, 3 - or dl, sil - mov esi, edx - movzx edx, byte ptr [rsp + 120] # 1-byte Folded Reload - shl dl, 4 - or dl, sil - mov esi, edx - movzx edx, byte ptr [rsp + 80] # 1-byte Folded Reload + mov r13d, edx + movzx edx, byte ptr [rsp + 48] # 1-byte Folded Reload shl dl, 5 - or dl, sil - mov rsi, qword ptr [rsp + 8] # 8-byte Reload - mov byte ptr [rsi], r11b - movzx edi, byte ptr [rsp + 64] # 1-byte Folded Reload - shl dil, 6 - shl r15b, 7 - or r15b, dil - mov byte ptr [rsi + 1], r9b - or r15b, dl - movzx eax, byte ptr [rsp + 56] # 1-byte Folded Reload - add al, al - add al, byte ptr [rsp + 32] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload + shl al, 6 + or al, dl mov edx, eax movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload shl al, 2 + or al, r13b + mov r13d, eax + movzx ecx, byte ptr [rsp + 56] # 1-byte Folded Reload + add cl, cl + add cl, byte ptr [rsp + 24] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 4] # 1-byte Folded Reload + shl al, 7 or al, dl - mov edx, eax - movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload + mov byte ptr [rsp + 4], al # 1-byte Spill + movzx eax, byte ptr [rsp + 64] # 1-byte Folded Reload + shl al, 2 + or al, cl + mov ecx, eax + movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload shl al, 3 - or al, dl - mov edx, eax - movzx eax, byte ptr [rsp + 24] # 1-byte Folded Reload + or al, r13b + mov r13d, eax + movzx eax, byte ptr [rsp + 72] # 1-byte Folded Reload + shl al, 3 + or al, cl + mov ecx, eax + movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload shl al, 4 - or al, dl - mov edx, eax - movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload + or al, r13b + movzx edx, byte ptr [rsp + 88] # 1-byte Folded Reload + shl dl, 4 + or dl, cl + movzx r13d, byte ptr [rsp + 104] # 1-byte Folded Reload + shl r13b, 5 + movzx ecx, byte ptr [rsp + 128] # 1-byte Folded Reload + shl cl, 6 + or cl, r13b + movzx r13d, byte ptr [rsp + 96] # 1-byte Folded Reload + shl r13b, 7 + or r13b, cl + add r12b, r12b + add r12b, byte ptr [rsp + 80] # 1-byte Folded Reload + mov ecx, r12d + movzx r12d, byte ptr [rsp + 120] # 1-byte Folded Reload + shl r12b, 2 + or r12b, cl + movzx ecx, byte ptr [rsp + 112] # 1-byte Folded Reload + shl cl, 3 + or cl, r12b + mov r12d, ecx + movzx ecx, byte ptr [rsp + 192] # 1-byte Folded Reload + shl cl, 4 + or cl, r12b + movzx r12d, byte ptr [rsp + 4] # 1-byte Folded Reload + or r12b, al + movzx eax, byte ptr [rsp + 208] # 1-byte Folded Reload shl al, 5 - or al, dl - movzx edx, byte ptr [rsp + 136] # 1-byte Folded Reload - shl dl, 6 - shl cl, 7 - or cl, dl - or cl, al - mov byte ptr [rsi + 2], r15b - mov byte ptr [rsi + 3], cl + shl r14b, 6 + or r14b, al + or r13b, dl + shl r8b, 7 + or r8b, r14b + or r8b, cl + add r11b, r11b + add r11b, byte ptr [rsp + 176] # 1-byte Folded Reload + shl r10b, 2 + or r10b, r11b + shl r9b, 3 + or r9b, r10b + shl r15b, 4 + or r15b, r9b + mov rax, qword ptr [rsp + 136] # 8-byte Reload + mov byte ptr [rax], r12b + movzx ecx, byte ptr [rsp + 160] # 1-byte Folded Reload + shl cl, 5 + shl dil, 6 + or dil, cl + mov byte ptr [rax + 1], r13b + shl sil, 7 + or sil, dil + or sil, r15b + mov byte ptr [rax + 2], r8b + mov byte ptr [rax + 3], sil add rbx, 128 - add rsi, 4 - mov qword ptr [rsp + 8], rsi # 8-byte Spill - add qword ptr [rsp + 224], -1 # 8-byte Folded Spill - jne .LBB1_188 -# %bb.189: - mov r15, qword ptr [rsp + 8] # 8-byte Reload + add rax, 4 + mov qword ptr [rsp + 136], rax # 8-byte Spill + add qword ptr [rsp + 152], -1 # 8-byte Folded Spill + jne .LBB1_186 +# %bb.187: + mov r15, qword ptr [rsp + 136] # 8-byte Reload mov r10, qword ptr [rsp + 144] # 8-byte Reload - mov r11, qword ptr [rsp + 192] # 8-byte Reload - jmp .LBB1_190 + mov r11, qword ptr [rsp + 240] # 8-byte Reload + jmp .LBB1_188 .LBB1_9: - mov qword ptr [rsp + 120], r14 # 8-byte Spill -.LBB1_92: + mov qword ptr [rsp + 88], r14 # 8-byte Spill +.LBB1_93: shl r15, 5 cmp r15, r10 - jge .LBB1_202 -# %bb.93: + jge .LBB1_199 +# %bb.94: mov r8, r10 sub r8, r15 not r15 add r15, r10 - jne .LBB1_95 -# %bb.94: + jne .LBB1_96 +# %bb.95: xor r9d, r9d - jmp .LBB1_98 -.LBB1_61: - mov qword ptr [rsp + 80], r14 # 8-byte Spill -.LBB1_72: + jmp .LBB1_99 +.LBB1_62: + mov qword ptr [rsp + 56], r14 # 8-byte Spill +.LBB1_73: shl r15, 5 cmp r15, r10 - jge .LBB1_202 -# %bb.73: + jge .LBB1_199 +# %bb.74: mov r8, r10 sub r8, r15 not r15 add r15, r10 - jne .LBB1_75 -# %bb.74: + jne .LBB1_76 +# %bb.75: xor r9d, r9d - jmp .LBB1_78 -.LBB1_105: + jmp .LBB1_79 +.LBB1_106: mov qword ptr [rsp + 8], r14 # 8-byte Spill -.LBB1_116: - shl r11, 5 - cmp r11, r10 - jge .LBB1_202 -# %bb.117: - mov r8, r10 - sub r8, r11 - not r11 - add r11, r10 - jne .LBB1_121 -# %bb.118: - xor r14d, r14d - jmp .LBB1_119 -.LBB1_128: - mov r12, r14 -.LBB1_139: +.LBB1_117: shl r15, 5 cmp r15, r10 - jge .LBB1_202 -# %bb.140: + jge .LBB1_199 +# %bb.118: mov r8, r10 sub r8, r15 not r15 add r15, r10 - jne .LBB1_144 + je .LBB1_119 +# %bb.122: + mov r9, r8 + and r9, -2 + xor r15d, r15d + mov r14, qword ptr [rsp + 8] # 8-byte Reload + .p2align 4, 0x90 +.LBB1_123: # =>This Inner Loop Header: Depth=1 + mov rax, rsi + cmp word ptr [rsi], r11w + sete dl + neg dl + mov rdi, r15 + shr rdi, 3 + movzx r10d, byte ptr [r14 + rdi] + mov ecx, r15d + and cl, 6 + mov bl, 1 + shl bl, cl + xor dl, r10b + and bl, dl + xor bl, r10b + mov byte ptr [r14 + rdi], bl + add r15, 2 + cmp word ptr [rsi + 2], r11w + lea rsi, [rsi + 4] + sete dl + neg dl + xor dl, bl + or cl, 1 + mov al, 1 + shl al, cl + and al, dl + xor al, bl + mov byte ptr [r14 + rdi], al + cmp r9, r15 + jne .LBB1_123 + jmp .LBB1_120 +.LBB1_129: + mov qword ptr [rsp + 8], r14 # 8-byte Spill +.LBB1_140: + shl r15, 5 + cmp r15, r10 + jge .LBB1_199 # %bb.141: - xor r14d, r14d - jmp .LBB1_142 -.LBB1_179: + mov r8, r10 + sub r8, r15 + not r15 + add r15, r10 + jne .LBB1_142 +.LBB1_119: + xor r15d, r15d + jmp .LBB1_120 +.LBB1_177: mov r15, r14 mov rbx, rsi -.LBB1_190: +.LBB1_188: shl r11, 5 cmp r11, r10 - jge .LBB1_202 -# %bb.191: + jge .LBB1_199 +# %bb.189: mov r8, r10 sub r8, r11 not r11 add r11, r10 - jne .LBB1_195 -# %bb.192: + jne .LBB1_193 +# %bb.190: xor esi, esi - jmp .LBB1_193 -.LBB1_158: + jmp .LBB1_191 +.LBB1_156: mov r10, r8 and r10, -2 xor r11d, r11d .p2align 4, 0x90 -.LBB1_159: # =>This Inner Loop Header: Depth=1 +.LBB1_157: # =>This Inner Loop Header: Depth=1 cmp dword ptr [rsi], r13d sete al neg al mov rdi, r11 shr rdi, 3 + mov r15, r14 movzx r9d, byte ptr [r14 + rdi] mov ecx, r11d and cl, 6 @@ -5405,20 +5889,20 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 xor dl, bl mov byte ptr [r14 + rdi], dl cmp r10, r11 - jne .LBB1_159 + jne .LBB1_157 .LBB1_24: test r8b, 1 - je .LBB1_202 + je .LBB1_199 # %bb.25: cmp dword ptr [rsi], r13d - jmp .LBB1_201 -.LBB1_95: + jmp .LBB1_26 +.LBB1_96: mov r10, r8 and r10, -2 xor r9d, r9d - mov r14, qword ptr [rsp + 120] # 8-byte Reload + mov r14, qword ptr [rsp + 88] # 8-byte Reload .p2align 4, 0x90 -.LBB1_96: # =>This Inner Loop Header: Depth=1 +.LBB1_97: # =>This Inner Loop Header: Depth=1 mov rax, r9 cmp byte ptr [rsi + r9], r11b sete bl @@ -5446,27 +5930,27 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 xor al, dl mov byte ptr [r14 + rdi], al cmp r10, r9 - jne .LBB1_96 -# %bb.97: + jne .LBB1_97 +# %bb.98: add rsi, r9 -.LBB1_98: +.LBB1_99: test r8b, 1 - je .LBB1_202 -# %bb.99: + je .LBB1_199 +# %bb.100: cmp byte ptr [rsi], r11b sete al neg al mov rdx, r9 shr rdx, 3 - mov r8, qword ptr [rsp + 120] # 8-byte Reload - jmp .LBB1_80 -.LBB1_75: + mov r8, qword ptr [rsp + 88] # 8-byte Reload + jmp .LBB1_81 +.LBB1_76: mov r10, r8 and r10, -2 xor r9d, r9d - mov r14, qword ptr [rsp + 80] # 8-byte Reload + mov r14, qword ptr [rsp + 56] # 8-byte Reload .p2align 4, 0x90 -.LBB1_76: # =>This Inner Loop Header: Depth=1 +.LBB1_77: # =>This Inner Loop Header: Depth=1 mov rax, r9 cmp byte ptr [rsi + r9], r11b sete bl @@ -5494,49 +5978,54 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 xor al, dl mov byte ptr [r14 + rdi], al cmp r10, r9 - jne .LBB1_76 -# %bb.77: + jne .LBB1_77 +# %bb.78: add rsi, r9 -.LBB1_78: +.LBB1_79: test r8b, 1 - je .LBB1_202 -# %bb.79: + je .LBB1_199 +# %bb.80: cmp byte ptr [rsi], r11b sete al neg al mov rdx, r9 shr rdx, 3 - mov r8, qword ptr [rsp + 80] # 8-byte Reload -.LBB1_80: + mov r8, qword ptr [rsp + 56] # 8-byte Reload +.LBB1_81: mov dil, byte ptr [r8 + rdx] and r9b, 7 mov bl, 1 mov ecx, r9d - jmp .LBB1_81 -.LBB1_197: - mov r10, r8 - and r10, -2 + jmp .LBB1_82 +.LBB1_195: + mov r9, r8 + and r9, -2 xor r11d, r11d .p2align 4, 0x90 -.LBB1_198: # =>This Inner Loop Header: Depth=1 +.LBB1_196: # =>This Inner Loop Header: Depth=1 ucomisd xmm0, qword ptr [rsi] + setnp cl sete al + and al, cl neg al mov rdi, r11 shr rdi, 3 - movzx r9d, byte ptr [r14 + rdi] - xor al, r9b + mov r15, r14 + movzx r10d, byte ptr [r14 + rdi] mov ecx, r11d and cl, 6 mov bl, 1 shl bl, cl + xor al, r10b and bl, al - xor bl, r9b + xor bl, r10b mov byte ptr [r14 + rdi], bl add r11, 2 ucomisd xmm0, qword ptr [rsi + 8] lea rsi, [rsi + 16] + setnp r10b sete al + and al, r10b neg al xor al, bl or cl, 1 @@ -5545,25 +6034,41 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 and dl, al xor dl, bl mov byte ptr [r14 + rdi], dl - cmp r10, r11 - jne .LBB1_198 -.LBB1_199: + cmp r9, r11 + jne .LBB1_196 +.LBB1_197: test r8b, 1 - je .LBB1_202 -# %bb.200: + je .LBB1_199 +# %bb.198: ucomisd xmm0, qword ptr [rsi] - jmp .LBB1_201 -.LBB1_172: + setnp al + sete dl + and dl, al + neg dl + mov rax, r11 + shr rax, 3 + mov sil, byte ptr [r14 + rax] + and r11b, 7 + mov bl, 1 + mov ecx, r11d + shl bl, cl + xor dl, sil + and bl, dl + xor bl, sil + mov byte ptr [r14 + rax], bl + jmp .LBB1_199 +.LBB1_170: mov r10, r8 and r10, -2 xor r11d, r11d .p2align 4, 0x90 -.LBB1_173: # =>This Inner Loop Header: Depth=1 +.LBB1_171: # =>This Inner Loop Header: Depth=1 cmp qword ptr [rsi], r13 sete al neg al mov rdi, r11 shr rdi, 3 + mov r15, r14 movzx r9d, byte ptr [r14 + rdi] mov ecx, r11d and cl, 6 @@ -5586,13 +6091,13 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 xor dl, bl mov byte ptr [r14 + rdi], dl cmp r10, r11 - jne .LBB1_173 -.LBB1_40: + jne .LBB1_171 +.LBB1_41: test r8b, 1 - je .LBB1_202 -# %bb.41: + je .LBB1_199 +# %bb.42: cmp qword ptr [rsi], r13 -.LBB1_201: +.LBB1_26: sete al neg al mov rdx, r11 @@ -5606,31 +6111,31 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 and bl, al xor bl, sil mov byte ptr [r14 + rdx], bl - jmp .LBB1_202 -.LBB1_121: + jmp .LBB1_199 +.LBB1_142: mov r9, r8 and r9, -2 - xor r14d, r14d - mov r11, qword ptr [rsp + 8] # 8-byte Reload + xor r15d, r15d + mov r14, qword ptr [rsp + 8] # 8-byte Reload .p2align 4, 0x90 -.LBB1_122: # =>This Inner Loop Header: Depth=1 +.LBB1_143: # =>This Inner Loop Header: Depth=1 mov rax, rsi - cmp word ptr [rsi], r13w + cmp word ptr [rsi], r11w sete dl neg dl - mov rdi, r14 + mov rdi, r15 shr rdi, 3 - movzx r10d, byte ptr [r11 + rdi] - mov ecx, r14d + movzx r10d, byte ptr [r14 + rdi] + mov ecx, r15d and cl, 6 mov bl, 1 shl bl, cl xor dl, r10b and bl, dl xor bl, r10b - mov byte ptr [r11 + rdi], bl - add r14, 2 - cmp word ptr [rsi + 2], r13w + mov byte ptr [r14 + rdi], bl + add r15, 2 + cmp word ptr [rsi + 2], r11w lea rsi, [rsi + 4] sete dl neg dl @@ -5640,179 +6145,130 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 shl al, cl and al, dl xor al, bl - mov byte ptr [r11 + rdi], al - cmp r9, r14 - jne .LBB1_122 -.LBB1_119: + mov byte ptr [r14 + rdi], al + cmp r9, r15 + jne .LBB1_143 +.LBB1_120: test r8b, 1 - je .LBB1_202 -# %bb.120: - cmp word ptr [rsi], r13w + je .LBB1_199 +# %bb.121: + cmp word ptr [rsi], r11w sete al neg al - mov rdx, r14 + mov rdx, r15 shr rdx, 3 mov r8, qword ptr [rsp + 8] # 8-byte Reload mov dil, byte ptr [r8 + rdx] - and r14b, 7 + and r15b, 7 mov bl, 1 - mov ecx, r14d -.LBB1_81: + mov ecx, r15d +.LBB1_82: shl bl, cl xor al, dil and bl, al xor bl, dil mov byte ptr [r8 + rdx], bl - jmp .LBB1_202 -.LBB1_144: +.LBB1_199: + lea rsp, [rbp - 40] + pop rbx + pop r12 + pop r13 + pop r14 + pop r15 + pop rbp + ret +.LBB1_193: mov r9, r8 and r9, -2 - xor r14d, r14d + xor esi, esi .p2align 4, 0x90 -.LBB1_145: # =>This Inner Loop Header: Depth=1 - mov rax, rsi - cmp word ptr [rsi], r13w +.LBB1_194: # =>This Inner Loop Header: Depth=1 + ucomiss xmm0, dword ptr [rbx] + setnp cl sete dl + and dl, cl neg dl - mov rdi, r14 + mov rdi, rsi shr rdi, 3 - movzx r10d, byte ptr [r12 + rdi] - mov ecx, r14d + movzx r10d, byte ptr [r15 + rdi] + mov ecx, esi and cl, 6 - mov bl, 1 - shl bl, cl + mov r11b, 1 + shl r11b, cl xor dl, r10b - and bl, dl - xor bl, r10b - mov byte ptr [r12 + rdi], bl - add r14, 2 - cmp word ptr [rsi + 2], r13w - lea rsi, [rsi + 4] + and r11b, dl + xor r11b, r10b + mov byte ptr [r15 + rdi], r11b + add rsi, 2 + ucomiss xmm0, dword ptr [rbx + 4] + lea rbx, [rbx + 8] + setnp r10b sete dl + and dl, r10b + mov r10, r15 neg dl - xor dl, bl + xor dl, r11b or cl, 1 mov al, 1 shl al, cl and al, dl - xor al, bl - mov byte ptr [r12 + rdi], al - cmp r9, r14 - jne .LBB1_145 -.LBB1_142: + xor al, r11b + mov byte ptr [r15 + rdi], al + cmp r9, rsi + jne .LBB1_194 +.LBB1_191: test r8b, 1 - je .LBB1_202 -# %bb.143: - cmp word ptr [rsi], r13w - sete al - neg al - mov rdx, r14 - shr rdx, 3 - mov dil, byte ptr [r12 + rdx] - and r14b, 7 - mov bl, 1 - mov ecx, r14d - shl bl, cl - xor al, dil - and bl, al - xor bl, dil - mov byte ptr [r12 + rdx], bl - jmp .LBB1_202 -.LBB1_195: - mov r10, r8 - and r10, -2 - xor esi, esi - mov r11, r15 - .p2align 4, 0x90 -.LBB1_196: # =>This Inner Loop Header: Depth=1 + je .LBB1_199 +# %bb.192: ucomiss xmm0, dword ptr [rbx] + setnp al sete dl + and dl, al neg dl - mov rdi, rsi - shr rdi, 3 - movzx r9d, byte ptr [r11 + rdi] - xor dl, r9b - mov ecx, esi - and cl, 6 - mov al, 1 - shl al, cl - and al, dl - xor al, r9b - mov byte ptr [r11 + rdi], al - add rsi, 2 - ucomiss xmm0, dword ptr [rbx + 4] - lea rbx, [rbx + 8] - sete r9b - neg r9b - xor r9b, al - or cl, 1 - mov dl, 1 - shl dl, cl - and dl, r9b - xor dl, al - mov byte ptr [r11 + rdi], dl - cmp r10, rsi - jne .LBB1_196 -.LBB1_193: - test r8b, 1 - je .LBB1_202 -# %bb.194: - ucomiss xmm0, dword ptr [rbx] - sete al - neg al - mov rdx, rsi - shr rdx, 3 - mov r14, r15 - mov dil, byte ptr [r15 + rdx] + mov rax, rsi + shr rax, 3 + mov dil, byte ptr [r15 + rax] and sil, 7 mov bl, 1 mov ecx, esi shl bl, cl - xor al, dil - and bl, al + xor dl, dil + and bl, dl xor bl, dil - mov byte ptr [r15 + rdx], bl -.LBB1_202: - lea rsp, [rbp - 40] - pop rbx - pop r12 - pop r13 - pop r14 - pop r15 - pop rbp - ret -.LBB1_86: + mov byte ptr [r15 + rax], bl + jmp .LBB1_199 +.LBB1_87: and r15, -16 mov rax, r15 shl rax, 5 add rax, rsi mov qword ptr [rsp + 264], rax # 8-byte Spill - mov qword ptr [rsp + 248], r15 # 8-byte Spill + mov qword ptr [rsp + 232], r15 # 8-byte Spill lea rax, [r14 + 4*r15] - mov qword ptr [rsp + 120], rax # 8-byte Spill + mov qword ptr [rsp + 88], rax # 8-byte Spill movzx eax, r11b movd xmm1, eax pxor xmm0, xmm0 pshufb xmm1, xmm0 - movdqa xmmword ptr [rsp + 208], xmm1 # 16-byte Spill + movdqa xmmword ptr [rsp + 192], xmm1 # 16-byte Spill xor eax, eax mov qword ptr [rsp + 136], r14 # 8-byte Spill .p2align 4, 0x90 -.LBB1_87: # =>This Inner Loop Header: Depth=1 +.LBB1_88: # =>This Inner Loop Header: Depth=1 mov rdi, rax mov qword ptr [rsp + 152], rax # 8-byte Spill shl rdi, 5 mov r11, rdi - mov r14, rdi - mov rbx, rdi mov r15, rdi + mov rbx, rdi + mov r12, rdi mov r10, rdi + mov r14, rdi mov r8, rdi - mov r12, rdi mov r9, rdi + mov rax, rdi mov rdx, rdi - mov qword ptr [rsp + 88], rdi # 8-byte Spill - mov qword ptr [rsp + 56], rdi # 8-byte Spill + mov qword ptr [rsp + 104], rdi # 8-byte Spill movzx ecx, byte ptr [rsi + rdi] movd xmm15, ecx movzx ecx, byte ptr [rsi + rdi + 1] @@ -5829,7 +6285,7 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 movd xmm3, ecx movzx ecx, byte ptr [rsi + rdi + 7] movd xmm0, ecx - movdqa xmmword ptr [rsp + 224], xmm0 # 16-byte Spill + movdqa xmmword ptr [rsp + 176], xmm0 # 16-byte Spill movzx ecx, byte ptr [rsi + rdi + 8] movd xmm0, ecx movdqa xmmword ptr [rsp + 272], xmm0 # 16-byte Spill @@ -5837,7 +6293,7 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 movd xmm10, ecx movzx ecx, byte ptr [rsi + rdi + 10] movd xmm0, ecx - movdqa xmmword ptr [rsp + 192], xmm0 # 16-byte Spill + movdqa xmmword ptr [rsp + 160], xmm0 # 16-byte Spill movzx ecx, byte ptr [rsi + rdi + 11] movd xmm11, ecx movzx ecx, byte ptr [rsi + rdi + 12] @@ -5846,172 +6302,170 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 movd xmm12, ecx movzx ecx, byte ptr [rsi + rdi + 14] movd xmm0, ecx - movdqa xmmword ptr [rsp + 288], xmm0 # 16-byte Spill - mov qword ptr [rsp + 32], rdi # 8-byte Spill + movdqa xmmword ptr [rsp + 240], xmm0 # 16-byte Spill + mov qword ptr [rsp + 40], rdi # 8-byte Spill mov r13, rdi or r13, 32 - mov qword ptr [rsp + 40], r13 # 8-byte Spill + mov qword ptr [rsp + 8], r13 # 8-byte Spill mov rcx, rdi or rcx, 64 - mov qword ptr [rsp + 64], rcx # 8-byte Spill + mov qword ptr [rsp + 80], rcx # 8-byte Spill or r11, 96 or rbx, 128 - or r14, 160 - or r15, 192 + or r15, 160 + or r12, 192 or r10, 224 - or r12, 256 + or r14, 256 or r9, 288 - mov qword ptr [rsp + 128], r9 # 8-byte Spill - or rdx, 320 - mov qword ptr [rsp + 48], rdx # 8-byte Spill - mov rdx, qword ptr [rsp + 88] # 8-byte Reload + mov qword ptr [rsp + 120], r9 # 8-byte Spill + or rax, 320 + mov qword ptr [rsp + 16], rax # 8-byte Spill or rdx, 352 - mov qword ptr [rsp + 88], rdx # 8-byte Spill - mov r8, qword ptr [rsp + 56] # 8-byte Reload + mov qword ptr [rsp + 208], rdx # 8-byte Spill + mov r8, qword ptr [rsp + 104] # 8-byte Reload or r8, 384 mov rax, rdi or rax, 416 - mov qword ptr [rsp + 112], rax # 8-byte Spill + mov qword ptr [rsp + 24], rax # 8-byte Spill mov rax, rdi or rax, 448 - mov qword ptr [rsp + 24], rax # 8-byte Spill + mov qword ptr [rsp + 72], rax # 8-byte Spill mov rax, rdi or rax, 480 - mov qword ptr [rsp + 16], rax # 8-byte Spill pinsrb xmm15, byte ptr [rsi + r13], 1 pinsrb xmm15, byte ptr [rsi + rcx], 2 - mov qword ptr [rsp + 104], r11 # 8-byte Spill pinsrb xmm15, byte ptr [rsi + r11], 3 - mov qword ptr [rsp + 80], rbx # 8-byte Spill + mov qword ptr [rsp + 48], rbx # 8-byte Spill pinsrb xmm15, byte ptr [rsi + rbx], 4 - mov qword ptr [rsp + 96], r14 # 8-byte Spill - pinsrb xmm15, byte ptr [rsi + r14], 5 - pinsrb xmm15, byte ptr [rsi + r15], 6 + mov qword ptr [rsp + 32], r15 # 8-byte Spill + pinsrb xmm15, byte ptr [rsi + r15], 5 + pinsrb xmm15, byte ptr [rsi + r12], 6 mov rdi, r10 + mov qword ptr [rsp + 128], r10 # 8-byte Spill pinsrb xmm15, byte ptr [rsi + r10], 7 - pinsrb xmm15, byte ptr [rsi + r12], 8 + mov r10, r14 + pinsrb xmm15, byte ptr [rsi + r14], 8 pinsrb xmm15, byte ptr [rsi + r9], 9 - mov r13, qword ptr [rsp + 48] # 8-byte Reload + mov r13, qword ptr [rsp + 16] # 8-byte Reload pinsrb xmm15, byte ptr [rsi + r13], 10 pinsrb xmm15, byte ptr [rsi + rdx], 11 pinsrb xmm15, byte ptr [rsi + r8], 12 - mov r9, qword ptr [rsp + 112] # 8-byte Reload - pinsrb xmm15, byte ptr [rsi + r9], 13 - mov rcx, qword ptr [rsp + 24] # 8-byte Reload - pinsrb xmm15, byte ptr [rsi + rcx], 14 + mov r14, qword ptr [rsp + 24] # 8-byte Reload + pinsrb xmm15, byte ptr [rsi + r14], 13 + mov r9, qword ptr [rsp + 72] # 8-byte Reload + pinsrb xmm15, byte ptr [rsi + r9], 14 pinsrb xmm15, byte ptr [rsi + rax], 15 - mov r10, qword ptr [rsp + 40] # 8-byte Reload - pinsrb xmm5, byte ptr [rsi + r10 + 1], 1 - mov rcx, qword ptr [rsp + 64] # 8-byte Reload + mov rcx, qword ptr [rsp + 8] # 8-byte Reload + pinsrb xmm5, byte ptr [rsi + rcx + 1], 1 + mov rcx, qword ptr [rsp + 80] # 8-byte Reload pinsrb xmm5, byte ptr [rsi + rcx + 1], 2 pinsrb xmm5, byte ptr [rsi + r11 + 1], 3 + mov rcx, r11 pinsrb xmm5, byte ptr [rsi + rbx + 1], 4 - pinsrb xmm5, byte ptr [rsi + r14 + 1], 5 - pinsrb xmm5, byte ptr [rsi + r15 + 1], 6 - mov qword ptr [rsp + 176], r15 # 8-byte Spill + pinsrb xmm5, byte ptr [rsi + r15 + 1], 5 + pinsrb xmm5, byte ptr [rsi + r12 + 1], 6 + mov qword ptr [rsp + 112], r12 # 8-byte Spill pinsrb xmm5, byte ptr [rsi + rdi + 1], 7 - mov r14, rdi - mov qword ptr [rsp + 160], rdi # 8-byte Spill - pinsrb xmm5, byte ptr [rsi + r12 + 1], 8 - mov rbx, r12 - mov qword ptr [rsp + 72], r12 # 8-byte Spill - mov rcx, qword ptr [rsp + 128] # 8-byte Reload - pinsrb xmm5, byte ptr [rsi + rcx + 1], 9 + pinsrb xmm5, byte ptr [rsi + r10 + 1], 8 + mov rbx, r10 + mov qword ptr [rsp + 56], r10 # 8-byte Spill + mov r15, qword ptr [rsp + 120] # 8-byte Reload + pinsrb xmm5, byte ptr [rsi + r15 + 1], 9 pinsrb xmm5, byte ptr [rsi + r13 + 1], 10 pinsrb xmm5, byte ptr [rsi + rdx + 1], 11 pinsrb xmm5, byte ptr [rsi + r8 + 1], 12 mov r10, r8 - mov qword ptr [rsp + 56], r8 # 8-byte Spill - pinsrb xmm5, byte ptr [rsi + r9 + 1], 13 - mov r12, qword ptr [rsp + 24] # 8-byte Reload - pinsrb xmm5, byte ptr [rsi + r12 + 1], 14 + mov qword ptr [rsp + 104], r8 # 8-byte Spill + pinsrb xmm5, byte ptr [rsi + r14 + 1], 13 + pinsrb xmm5, byte ptr [rsi + r9 + 1], 14 + mov r14, r9 pinsrb xmm5, byte ptr [rsi + rax + 1], 15 - movdqa xmm9, xmmword ptr [rsp + 208] # 16-byte Reload + mov r9, rax + movdqa xmm9, xmmword ptr [rsp + 192] # 16-byte Reload pcmpeqb xmm5, xmm9 movdqa xmm7, xmm5 movdqa xmm4, xmmword ptr [rip + .LCPI1_10] # xmm4 = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1] pand xmm7, xmm4 psubb xmm7, xmm5 - mov rax, qword ptr [rsp + 32] # 8-byte Reload - movzx edx, byte ptr [rsi + rax + 15] + mov r8, qword ptr [rsp + 40] # 8-byte Reload + movzx edx, byte ptr [rsi + r8 + 15] movd xmm14, edx pcmpeqb xmm15, xmm9 - mov r8, qword ptr [rsp + 40] # 8-byte Reload - pinsrb xmm6, byte ptr [rsi + r8 + 2], 1 - mov r11, qword ptr [rsp + 64] # 8-byte Reload - pinsrb xmm6, byte ptr [rsi + r11 + 2], 2 - mov r13, qword ptr [rsp + 104] # 8-byte Reload - pinsrb xmm6, byte ptr [rsi + r13 + 2], 3 - mov rcx, qword ptr [rsp + 80] # 8-byte Reload + mov r11, qword ptr [rsp + 8] # 8-byte Reload + pinsrb xmm6, byte ptr [rsi + r11 + 2], 1 + mov rax, qword ptr [rsp + 80] # 8-byte Reload + pinsrb xmm6, byte ptr [rsi + rax + 2], 2 + mov r13, rcx + pinsrb xmm6, byte ptr [rsi + rcx + 2], 3 + mov rcx, qword ptr [rsp + 48] # 8-byte Reload pinsrb xmm6, byte ptr [rsi + rcx + 2], 4 - mov rdi, qword ptr [rsp + 96] # 8-byte Reload + mov rdi, qword ptr [rsp + 32] # 8-byte Reload pinsrb xmm6, byte ptr [rsi + rdi + 2], 5 - pinsrb xmm6, byte ptr [rsi + r15 + 2], 6 - pinsrb xmm6, byte ptr [rsi + r14 + 2], 7 + pinsrb xmm6, byte ptr [rsi + r12 + 2], 6 + mov rdx, qword ptr [rsp + 128] # 8-byte Reload + pinsrb xmm6, byte ptr [rsi + rdx + 2], 7 pinsrb xmm6, byte ptr [rsi + rbx + 2], 8 - mov rbx, qword ptr [rsp + 128] # 8-byte Reload - pinsrb xmm6, byte ptr [rsi + rbx + 2], 9 - mov r14, qword ptr [rsp + 48] # 8-byte Reload - pinsrb xmm6, byte ptr [rsi + r14 + 2], 10 - mov r15, qword ptr [rsp + 88] # 8-byte Reload - pinsrb xmm6, byte ptr [rsi + r15 + 2], 11 + mov rbx, r15 + pinsrb xmm6, byte ptr [rsi + r15 + 2], 9 + mov r15, qword ptr [rsp + 16] # 8-byte Reload + pinsrb xmm6, byte ptr [rsi + r15 + 2], 10 + mov r12, qword ptr [rsp + 208] # 8-byte Reload + pinsrb xmm6, byte ptr [rsi + r12 + 2], 11 pinsrb xmm6, byte ptr [rsi + r10 + 2], 12 - mov r10, r9 - pinsrb xmm6, byte ptr [rsi + r9 + 2], 13 - pinsrb xmm6, byte ptr [rsi + r12 + 2], 14 - mov r9, qword ptr [rsp + 16] # 8-byte Reload + mov r10, qword ptr [rsp + 24] # 8-byte Reload + pinsrb xmm6, byte ptr [rsi + r10 + 2], 13 + pinsrb xmm6, byte ptr [rsi + r14 + 2], 14 + mov qword ptr [rsp + 64], r9 # 8-byte Spill pinsrb xmm6, byte ptr [rsi + r9 + 2], 15 pand xmm15, xmm4 pcmpeqb xmm6, xmm9 movdqa xmm0, xmmword ptr [rip + .LCPI1_11] # xmm0 = [4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4] pand xmm6, xmm0 por xmm6, xmm15 - movzx edx, byte ptr [rsi + rax + 16] + movzx edx, byte ptr [rsi + r8 + 16] movd xmm15, edx - mov rdx, r8 - pinsrb xmm2, byte ptr [rsi + r8 + 3], 1 - mov rax, r11 - pinsrb xmm2, byte ptr [rsi + r11 + 3], 2 + mov rdx, r11 + pinsrb xmm2, byte ptr [rsi + r11 + 3], 1 + pinsrb xmm2, byte ptr [rsi + rax + 3], 2 pinsrb xmm2, byte ptr [rsi + r13 + 3], 3 pinsrb xmm2, byte ptr [rsi + rcx + 3], 4 mov r11, rcx pinsrb xmm2, byte ptr [rsi + rdi + 3], 5 - mov rcx, qword ptr [rsp + 176] # 8-byte Reload + mov rcx, qword ptr [rsp + 112] # 8-byte Reload pinsrb xmm2, byte ptr [rsi + rcx + 3], 6 - mov rdi, qword ptr [rsp + 160] # 8-byte Reload + mov rdi, qword ptr [rsp + 128] # 8-byte Reload pinsrb xmm2, byte ptr [rsi + rdi + 3], 7 - mov r8, qword ptr [rsp + 72] # 8-byte Reload + mov r8, qword ptr [rsp + 56] # 8-byte Reload pinsrb xmm2, byte ptr [rsi + r8 + 3], 8 pinsrb xmm2, byte ptr [rsi + rbx + 3], 9 - pinsrb xmm2, byte ptr [rsi + r14 + 3], 10 - mov r14, r15 - pinsrb xmm2, byte ptr [rsi + r15 + 3], 11 - mov r15, qword ptr [rsp + 56] # 8-byte Reload - pinsrb xmm2, byte ptr [rsi + r15 + 3], 12 + pinsrb xmm2, byte ptr [rsi + r15 + 3], 10 + mov r15, r12 + pinsrb xmm2, byte ptr [rsi + r12 + 3], 11 + mov r12, qword ptr [rsp + 104] # 8-byte Reload + pinsrb xmm2, byte ptr [rsi + r12 + 3], 12 pinsrb xmm2, byte ptr [rsi + r10 + 3], 13 - pinsrb xmm2, byte ptr [rsi + r12 + 3], 14 + pinsrb xmm2, byte ptr [rsi + r14 + 3], 14 pinsrb xmm2, byte ptr [rsi + r9 + 3], 15 pinsrb xmm1, byte ptr [rsi + rdx + 4], 1 pinsrb xmm1, byte ptr [rsi + rax + 4], 2 pinsrb xmm1, byte ptr [rsi + r13 + 4], 3 pinsrb xmm1, byte ptr [rsi + r11 + 4], 4 - mov r11, qword ptr [rsp + 96] # 8-byte Reload + mov r11, qword ptr [rsp + 32] # 8-byte Reload pinsrb xmm1, byte ptr [rsi + r11 + 4], 5 pinsrb xmm1, byte ptr [rsi + rcx + 4], 6 pinsrb xmm1, byte ptr [rsi + rdi + 4], 7 pinsrb xmm1, byte ptr [rsi + r8 + 4], 8 pinsrb xmm1, byte ptr [rsi + rbx + 4], 9 - mov rcx, qword ptr [rsp + 48] # 8-byte Reload + mov rcx, qword ptr [rsp + 16] # 8-byte Reload pinsrb xmm1, byte ptr [rsi + rcx + 4], 10 - pinsrb xmm1, byte ptr [rsi + r14 + 4], 11 - pinsrb xmm1, byte ptr [rsi + r15 + 4], 12 + pinsrb xmm1, byte ptr [rsi + r15 + 4], 11 + pinsrb xmm1, byte ptr [rsi + r12 + 4], 12 pinsrb xmm1, byte ptr [rsi + r10 + 4], 13 - mov r15, r10 - pinsrb xmm1, byte ptr [rsi + r12 + 4], 14 - mov r10, r12 + pinsrb xmm1, byte ptr [rsi + r14 + 4], 14 + mov r8, r14 pinsrb xmm1, byte ptr [rsi + r9 + 4], 15 por xmm6, xmm7 - mov rdi, qword ptr [rsp + 32] # 8-byte Reload + mov rdi, qword ptr [rsp + 40] # 8-byte Reload movzx edx, byte ptr [rsi + rdi + 17] movd xmm0, edx pcmpeqb xmm2, xmm9 @@ -6023,34 +6477,35 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 por xmm1, xmm2 movzx edx, byte ptr [rsi + rdi + 18] movd xmm5, edx - mov r9, qword ptr [rsp + 40] # 8-byte Reload + mov r9, qword ptr [rsp + 8] # 8-byte Reload pinsrb xmm8, byte ptr [rsi + r9 + 5], 1 pinsrb xmm8, byte ptr [rsi + rax + 5], 2 pinsrb xmm8, byte ptr [rsi + r13 + 5], 3 - mov rdx, qword ptr [rsp + 80] # 8-byte Reload + mov qword ptr [rsp + 96], r13 # 8-byte Spill + mov rdx, qword ptr [rsp + 48] # 8-byte Reload pinsrb xmm8, byte ptr [rsi + rdx + 5], 4 pinsrb xmm8, byte ptr [rsi + r11 + 5], 5 - mov rdi, qword ptr [rsp + 176] # 8-byte Reload + mov rdi, qword ptr [rsp + 112] # 8-byte Reload pinsrb xmm8, byte ptr [rsi + rdi + 5], 6 - mov r8, qword ptr [rsp + 160] # 8-byte Reload - pinsrb xmm8, byte ptr [rsi + r8 + 5], 7 - mov rdx, qword ptr [rsp + 72] # 8-byte Reload + mov r12, qword ptr [rsp + 128] # 8-byte Reload + pinsrb xmm8, byte ptr [rsi + r12 + 5], 7 + mov rdx, qword ptr [rsp + 56] # 8-byte Reload pinsrb xmm8, byte ptr [rsi + rdx + 5], 8 pinsrb xmm8, byte ptr [rsi + rbx + 5], 9 pinsrb xmm8, byte ptr [rsi + rcx + 5], 10 - pinsrb xmm8, byte ptr [rsi + r14 + 5], 11 - mov rcx, qword ptr [rsp + 56] # 8-byte Reload + pinsrb xmm8, byte ptr [rsi + r15 + 5], 11 + mov rcx, qword ptr [rsp + 104] # 8-byte Reload pinsrb xmm8, byte ptr [rsi + rcx + 5], 12 - pinsrb xmm8, byte ptr [rsi + r15 + 5], 13 - mov r12, r15 - pinsrb xmm8, byte ptr [rsi + r10 + 5], 14 - mov r10, qword ptr [rsp + 16] # 8-byte Reload + pinsrb xmm8, byte ptr [rsi + r10 + 5], 13 + mov r14, r10 + pinsrb xmm8, byte ptr [rsi + r8 + 5], 14 + mov r10, qword ptr [rsp + 64] # 8-byte Reload pinsrb xmm8, byte ptr [rsi + r10 + 5], 15 pcmpeqb xmm8, xmm9 movdqa xmm2, xmmword ptr [rip + .LCPI1_14] # xmm2 = [32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32] pand xmm8, xmm2 por xmm8, xmm1 - mov rcx, qword ptr [rsp + 32] # 8-byte Reload + mov rcx, qword ptr [rsp + 40] # 8-byte Reload movzx edx, byte ptr [rsi + rcx + 19] movd xmm7, edx por xmm8, xmm6 @@ -6059,47 +6514,48 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 pinsrb xmm3, byte ptr [rsi + r9 + 6], 1 pinsrb xmm3, byte ptr [rsi + rax + 6], 2 pinsrb xmm3, byte ptr [rsi + r13 + 6], 3 - mov r11, qword ptr [rsp + 80] # 8-byte Reload + mov r11, qword ptr [rsp + 48] # 8-byte Reload pinsrb xmm3, byte ptr [rsi + r11 + 6], 4 - mov r15, qword ptr [rsp + 96] # 8-byte Reload - pinsrb xmm3, byte ptr [rsi + r15 + 6], 5 + mov r8, qword ptr [rsp + 32] # 8-byte Reload + pinsrb xmm3, byte ptr [rsi + r8 + 6], 5 mov rcx, rdi pinsrb xmm3, byte ptr [rsi + rdi + 6], 6 - mov rdi, r8 - pinsrb xmm3, byte ptr [rsi + r8 + 6], 7 - mov rdx, qword ptr [rsp + 72] # 8-byte Reload + mov rdi, r12 + pinsrb xmm3, byte ptr [rsi + r12 + 6], 7 + mov rdx, qword ptr [rsp + 56] # 8-byte Reload pinsrb xmm3, byte ptr [rsi + rdx + 6], 8 pinsrb xmm3, byte ptr [rsi + rbx + 6], 9 - mov r8, qword ptr [rsp + 48] # 8-byte Reload - pinsrb xmm3, byte ptr [rsi + r8 + 6], 10 - pinsrb xmm3, byte ptr [rsi + r14 + 6], 11 - mov rax, qword ptr [rsp + 56] # 8-byte Reload - pinsrb xmm3, byte ptr [rsi + rax + 6], 12 - pinsrb xmm3, byte ptr [rsi + r12 + 6], 13 - mov r13, r12 - mov rdx, qword ptr [rsp + 24] # 8-byte Reload - pinsrb xmm3, byte ptr [rsi + rdx + 6], 14 + mov rdx, qword ptr [rsp + 16] # 8-byte Reload + pinsrb xmm3, byte ptr [rsi + rdx + 6], 10 + pinsrb xmm3, byte ptr [rsi + r15 + 6], 11 + mov r12, qword ptr [rsp + 104] # 8-byte Reload + pinsrb xmm3, byte ptr [rsi + r12 + 6], 12 + pinsrb xmm3, byte ptr [rsi + r14 + 6], 13 + mov r13, r14 + mov r14, qword ptr [rsp + 72] # 8-byte Reload + pinsrb xmm3, byte ptr [rsi + r14 + 6], 14 pinsrb xmm3, byte ptr [rsi + r10 + 6], 15 - movdqa xmm2, xmmword ptr [rsp + 224] # 16-byte Reload + movdqa xmm2, xmmword ptr [rsp + 176] # 16-byte Reload pinsrb xmm2, byte ptr [rsi + r9 + 7], 1 - mov r12, qword ptr [rsp + 64] # 8-byte Reload - pinsrb xmm2, byte ptr [rsi + r12 + 7], 2 - mov rdx, qword ptr [rsp + 104] # 8-byte Reload - pinsrb xmm2, byte ptr [rsi + rdx + 7], 3 + mov r10, rax + pinsrb xmm2, byte ptr [rsi + rax + 7], 2 + mov rax, qword ptr [rsp + 96] # 8-byte Reload + pinsrb xmm2, byte ptr [rsi + rax + 7], 3 pinsrb xmm2, byte ptr [rsi + r11 + 7], 4 - pinsrb xmm2, byte ptr [rsi + r15 + 7], 5 + pinsrb xmm2, byte ptr [rsi + r8 + 7], 5 pinsrb xmm2, byte ptr [rsi + rcx + 7], 6 pinsrb xmm2, byte ptr [rsi + rdi + 7], 7 - mov r10, qword ptr [rsp + 72] # 8-byte Reload - pinsrb xmm2, byte ptr [rsi + r10 + 7], 8 + mov rax, rdi + mov r8, qword ptr [rsp + 56] # 8-byte Reload + pinsrb xmm2, byte ptr [rsi + r8 + 7], 8 pinsrb xmm2, byte ptr [rsi + rbx + 7], 9 - pinsrb xmm2, byte ptr [rsi + r8 + 7], 10 - pinsrb xmm2, byte ptr [rsi + r14 + 7], 11 - pinsrb xmm2, byte ptr [rsi + rax + 7], 12 + pinsrb xmm2, byte ptr [rsi + rdx + 7], 10 + pinsrb xmm2, byte ptr [rsi + r15 + 7], 11 + pinsrb xmm2, byte ptr [rsi + r12 + 7], 12 pinsrb xmm2, byte ptr [rsi + r13 + 7], 13 - mov rdi, qword ptr [rsp + 24] # 8-byte Reload - pinsrb xmm2, byte ptr [rsi + rdi + 7], 14 - mov r9, qword ptr [rsp + 16] # 8-byte Reload + mov rdi, r14 + pinsrb xmm2, byte ptr [rsi + r14 + 7], 14 + mov r9, qword ptr [rsp + 64] # 8-byte Reload pinsrb xmm2, byte ptr [rsi + r9 + 7], 15 pcmpeqb xmm3, xmm9 movdqa xmm1, xmmword ptr [rip + .LCPI1_15] # xmm1 = [64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64] @@ -6110,38 +6566,36 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 pand xmm2, xmm1 por xmm2, xmm3 movdqa xmm1, xmm2 - mov rbx, qword ptr [rsp + 32] # 8-byte Reload + mov rbx, qword ptr [rsp + 40] # 8-byte Reload movzx edx, byte ptr [rsi + rbx + 21] movd xmm2, edx - mov r11, qword ptr [rsp + 40] # 8-byte Reload + mov r11, qword ptr [rsp + 8] # 8-byte Reload pinsrb xmm10, byte ptr [rsi + r11 + 9], 1 - pinsrb xmm10, byte ptr [rsi + r12 + 9], 2 - mov rax, qword ptr [rsp + 104] # 8-byte Reload - pinsrb xmm10, byte ptr [rsi + rax + 9], 3 - mov rcx, qword ptr [rsp + 80] # 8-byte Reload + pinsrb xmm10, byte ptr [rsi + r10 + 9], 2 + mov rcx, qword ptr [rsp + 96] # 8-byte Reload + pinsrb xmm10, byte ptr [rsi + rcx + 9], 3 + mov rcx, qword ptr [rsp + 48] # 8-byte Reload pinsrb xmm10, byte ptr [rsi + rcx + 9], 4 - mov r15, qword ptr [rsp + 96] # 8-byte Reload - pinsrb xmm10, byte ptr [rsi + r15 + 9], 5 - mov r12, qword ptr [rsp + 176] # 8-byte Reload - pinsrb xmm10, byte ptr [rsi + r12 + 9], 6 - mov rax, qword ptr [rsp + 160] # 8-byte Reload + mov rdx, qword ptr [rsp + 32] # 8-byte Reload + pinsrb xmm10, byte ptr [rsi + rdx + 9], 5 + mov r14, qword ptr [rsp + 112] # 8-byte Reload + pinsrb xmm10, byte ptr [rsi + r14 + 9], 6 pinsrb xmm10, byte ptr [rsi + rax + 9], 7 - pinsrb xmm10, byte ptr [rsi + r10 + 9], 8 - mov r14, r10 - mov rax, qword ptr [rsp + 128] # 8-byte Reload + pinsrb xmm10, byte ptr [rsi + r8 + 9], 8 + mov r15, r8 + mov rax, qword ptr [rsp + 120] # 8-byte Reload pinsrb xmm10, byte ptr [rsi + rax + 9], 9 - mov rax, qword ptr [rsp + 48] # 8-byte Reload - pinsrb xmm10, byte ptr [rsi + rax + 9], 10 - mov rdx, qword ptr [rsp + 88] # 8-byte Reload + mov r10, qword ptr [rsp + 16] # 8-byte Reload + pinsrb xmm10, byte ptr [rsi + r10 + 9], 10 + mov rdx, qword ptr [rsp + 208] # 8-byte Reload pinsrb xmm10, byte ptr [rsi + rdx + 9], 11 - mov rdx, qword ptr [rsp + 56] # 8-byte Reload - pinsrb xmm10, byte ptr [rsi + rdx + 9], 12 - mov r10, r13 + pinsrb xmm10, byte ptr [rsi + r12 + 9], 12 + mov rax, r13 pinsrb xmm10, byte ptr [rsi + r13 + 9], 13 pinsrb xmm10, byte ptr [rsi + rdi + 9], 14 pinsrb xmm10, byte ptr [rsi + r9 + 9], 15 por xmm1, xmm8 - movdqa xmmword ptr [rsp + 224], xmm1 # 16-byte Spill + movdqa xmmword ptr [rsp + 176], xmm1 # 16-byte Spill pcmpeqb xmm10, xmm9 movdqa xmm1, xmm10 movdqa xmm8, xmm4 @@ -6151,130 +6605,128 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 movd xmm3, edx movdqa xmm4, xmmword ptr [rsp + 272] # 16-byte Reload pinsrb xmm4, byte ptr [rsi + r11 + 8], 1 - mov r13, qword ptr [rsp + 64] # 8-byte Reload + mov r13, qword ptr [rsp + 80] # 8-byte Reload pinsrb xmm4, byte ptr [rsi + r13 + 8], 2 - mov r8, qword ptr [rsp + 104] # 8-byte Reload + mov r8, qword ptr [rsp + 96] # 8-byte Reload pinsrb xmm4, byte ptr [rsi + r8 + 8], 3 pinsrb xmm4, byte ptr [rsi + rcx + 8], 4 - mov r9, r15 - pinsrb xmm4, byte ptr [rsi + r15 + 8], 5 - pinsrb xmm4, byte ptr [rsi + r12 + 8], 6 - mov r15, qword ptr [rsp + 160] # 8-byte Reload - pinsrb xmm4, byte ptr [rsi + r15 + 8], 7 - pinsrb xmm4, byte ptr [rsi + r14 + 8], 8 - mov rbx, r14 - mov rdx, qword ptr [rsp + 128] # 8-byte Reload + mov r9, qword ptr [rsp + 32] # 8-byte Reload + pinsrb xmm4, byte ptr [rsi + r9 + 8], 5 + pinsrb xmm4, byte ptr [rsi + r14 + 8], 6 + mov r14, qword ptr [rsp + 128] # 8-byte Reload + pinsrb xmm4, byte ptr [rsi + r14 + 8], 7 + pinsrb xmm4, byte ptr [rsi + r15 + 8], 8 + mov rbx, r15 + mov rdx, qword ptr [rsp + 120] # 8-byte Reload pinsrb xmm4, byte ptr [rsi + rdx + 8], 9 - pinsrb xmm4, byte ptr [rsi + rax + 8], 10 - mov rax, qword ptr [rsp + 88] # 8-byte Reload - pinsrb xmm4, byte ptr [rsi + rax + 8], 11 - mov r14, qword ptr [rsp + 56] # 8-byte Reload - pinsrb xmm4, byte ptr [rsi + r14 + 8], 12 - pinsrb xmm4, byte ptr [rsi + r10 + 8], 13 + pinsrb xmm4, byte ptr [rsi + r10 + 8], 10 + mov r15, qword ptr [rsp + 208] # 8-byte Reload + pinsrb xmm4, byte ptr [rsi + r15 + 8], 11 + pinsrb xmm4, byte ptr [rsi + r12 + 8], 12 + pinsrb xmm4, byte ptr [rsi + rax + 8], 13 pinsrb xmm4, byte ptr [rsi + rdi + 8], 14 - mov rax, qword ptr [rsp + 16] # 8-byte Reload + mov rax, qword ptr [rsp + 64] # 8-byte Reload pinsrb xmm4, byte ptr [rsi + rax + 8], 15 pcmpeqb xmm4, xmm9 pand xmm4, xmm8 - movdqa xmm10, xmmword ptr [rsp + 192] # 16-byte Reload + movdqa xmm10, xmmword ptr [rsp + 160] # 16-byte Reload pinsrb xmm10, byte ptr [rsi + r11 + 10], 1 pinsrb xmm10, byte ptr [rsi + r13 + 10], 2 pinsrb xmm10, byte ptr [rsi + r8 + 10], 3 - mov r12, r8 + mov r10, r8 pinsrb xmm10, byte ptr [rsi + rcx + 10], 4 pinsrb xmm10, byte ptr [rsi + r9 + 10], 5 - mov rcx, qword ptr [rsp + 176] # 8-byte Reload + mov rcx, qword ptr [rsp + 112] # 8-byte Reload pinsrb xmm10, byte ptr [rsi + rcx + 10], 6 - mov r8, r15 - pinsrb xmm10, byte ptr [rsi + r15 + 10], 7 + mov r8, r14 + pinsrb xmm10, byte ptr [rsi + r14 + 10], 7 pinsrb xmm10, byte ptr [rsi + rbx + 10], 8 pinsrb xmm10, byte ptr [rsi + rdx + 10], 9 - mov rdx, qword ptr [rsp + 48] # 8-byte Reload + mov rdx, qword ptr [rsp + 16] # 8-byte Reload pinsrb xmm10, byte ptr [rsi + rdx + 10], 10 mov rbx, rdx - mov r15, qword ptr [rsp + 88] # 8-byte Reload pinsrb xmm10, byte ptr [rsi + r15 + 10], 11 - pinsrb xmm10, byte ptr [rsi + r14 + 10], 12 - pinsrb xmm10, byte ptr [rsi + r10 + 10], 13 + pinsrb xmm10, byte ptr [rsi + r12 + 10], 12 + mov r14, qword ptr [rsp + 24] # 8-byte Reload + pinsrb xmm10, byte ptr [rsi + r14 + 10], 13 pinsrb xmm10, byte ptr [rsi + rdi + 10], 14 pinsrb xmm10, byte ptr [rsi + rax + 10], 15 pcmpeqb xmm10, xmm9 pand xmm10, xmmword ptr [rip + .LCPI1_11] por xmm10, xmm4 - mov rax, qword ptr [rsp + 32] # 8-byte Reload + mov rax, qword ptr [rsp + 40] # 8-byte Reload movzx edx, byte ptr [rsi + rax + 23] movd xmm8, edx por xmm10, xmm1 - movdqa xmmword ptr [rsp + 192], xmm10 # 16-byte Spill + movdqa xmmword ptr [rsp + 160], xmm10 # 16-byte Spill movzx edx, byte ptr [rsi + rax + 24] movd xmm10, edx pinsrb xmm11, byte ptr [rsi + r11 + 11], 1 pinsrb xmm11, byte ptr [rsi + r13 + 11], 2 - pinsrb xmm11, byte ptr [rsi + r12 + 11], 3 - mov rax, qword ptr [rsp + 80] # 8-byte Reload + pinsrb xmm11, byte ptr [rsi + r10 + 11], 3 + mov rax, qword ptr [rsp + 48] # 8-byte Reload pinsrb xmm11, byte ptr [rsi + rax + 11], 4 pinsrb xmm11, byte ptr [rsi + r9 + 11], 5 pinsrb xmm11, byte ptr [rsi + rcx + 11], 6 mov rdi, r8 pinsrb xmm11, byte ptr [rsi + r8 + 11], 7 - mov r8, qword ptr [rsp + 72] # 8-byte Reload + mov r8, qword ptr [rsp + 56] # 8-byte Reload pinsrb xmm11, byte ptr [rsi + r8 + 11], 8 - mov r9, qword ptr [rsp + 128] # 8-byte Reload + mov r9, qword ptr [rsp + 120] # 8-byte Reload pinsrb xmm11, byte ptr [rsi + r9 + 11], 9 pinsrb xmm11, byte ptr [rsi + rbx + 11], 10 - mov r14, r15 pinsrb xmm11, byte ptr [rsi + r15 + 11], 11 - mov r15, qword ptr [rsp + 56] # 8-byte Reload - pinsrb xmm11, byte ptr [rsi + r15 + 11], 12 - pinsrb xmm11, byte ptr [rsi + r10 + 11], 13 - mov r12, qword ptr [rsp + 24] # 8-byte Reload - pinsrb xmm11, byte ptr [rsi + r12 + 11], 14 - mov rdx, qword ptr [rsp + 16] # 8-byte Reload + pinsrb xmm11, byte ptr [rsi + r12 + 11], 12 + mov r10, r14 + pinsrb xmm11, byte ptr [rsi + r14 + 11], 13 + mov r14, qword ptr [rsp + 72] # 8-byte Reload + pinsrb xmm11, byte ptr [rsi + r14 + 11], 14 + mov rdx, qword ptr [rsp + 64] # 8-byte Reload pinsrb xmm11, byte ptr [rsi + rdx + 11], 15 pinsrb xmm13, byte ptr [rsi + r11 + 12], 1 pinsrb xmm13, byte ptr [rsi + r13 + 12], 2 - mov rbx, qword ptr [rsp + 104] # 8-byte Reload + mov rbx, qword ptr [rsp + 96] # 8-byte Reload pinsrb xmm13, byte ptr [rsi + rbx + 12], 3 pinsrb xmm13, byte ptr [rsi + rax + 12], 4 - mov rax, qword ptr [rsp + 96] # 8-byte Reload + mov rax, qword ptr [rsp + 32] # 8-byte Reload pinsrb xmm13, byte ptr [rsi + rax + 12], 5 pinsrb xmm13, byte ptr [rsi + rcx + 12], 6 pinsrb xmm13, byte ptr [rsi + rdi + 12], 7 pinsrb xmm13, byte ptr [rsi + r8 + 12], 8 pinsrb xmm13, byte ptr [rsi + r9 + 12], 9 - mov rbx, qword ptr [rsp + 48] # 8-byte Reload + mov rbx, qword ptr [rsp + 16] # 8-byte Reload pinsrb xmm13, byte ptr [rsi + rbx + 12], 10 - pinsrb xmm13, byte ptr [rsi + r14 + 12], 11 - pinsrb xmm13, byte ptr [rsi + r15 + 12], 12 + pinsrb xmm13, byte ptr [rsi + r15 + 12], 11 + pinsrb xmm13, byte ptr [rsi + r12 + 12], 12 pinsrb xmm13, byte ptr [rsi + r10 + 12], 13 mov r11, r10 - pinsrb xmm13, byte ptr [rsi + r12 + 12], 14 + pinsrb xmm13, byte ptr [rsi + r14 + 12], 14 pinsrb xmm13, byte ptr [rsi + rdx + 12], 15 - mov r10, qword ptr [rsp + 40] # 8-byte Reload + mov r10, qword ptr [rsp + 8] # 8-byte Reload pinsrb xmm12, byte ptr [rsi + r10 + 13], 1 pinsrb xmm12, byte ptr [rsi + r13 + 13], 2 - mov r13, qword ptr [rsp + 104] # 8-byte Reload + mov r13, qword ptr [rsp + 96] # 8-byte Reload pinsrb xmm12, byte ptr [rsi + r13 + 13], 3 - mov rbx, qword ptr [rsp + 80] # 8-byte Reload + mov rbx, qword ptr [rsp + 48] # 8-byte Reload pinsrb xmm12, byte ptr [rsi + rbx + 13], 4 pinsrb xmm12, byte ptr [rsi + rax + 13], 5 pinsrb xmm12, byte ptr [rsi + rcx + 13], 6 pinsrb xmm12, byte ptr [rsi + rdi + 13], 7 pinsrb xmm12, byte ptr [rsi + r8 + 13], 8 pinsrb xmm12, byte ptr [rsi + r9 + 13], 9 - mov rbx, qword ptr [rsp + 48] # 8-byte Reload + mov rbx, qword ptr [rsp + 16] # 8-byte Reload pinsrb xmm12, byte ptr [rsi + rbx + 13], 10 - pinsrb xmm12, byte ptr [rsi + r14 + 13], 11 - pinsrb xmm12, byte ptr [rsi + r15 + 13], 12 + pinsrb xmm12, byte ptr [rsi + r15 + 13], 11 + pinsrb xmm12, byte ptr [rsi + r12 + 13], 12 pinsrb xmm12, byte ptr [rsi + r11 + 13], 13 - pinsrb xmm12, byte ptr [rsi + r12 + 13], 14 + pinsrb xmm12, byte ptr [rsi + r14 + 13], 14 pinsrb xmm12, byte ptr [rsi + rdx + 13], 15 pcmpeqb xmm11, xmm9 pand xmm11, xmmword ptr [rip + .LCPI1_12] pcmpeqb xmm13, xmm9 pand xmm13, xmmword ptr [rip + .LCPI1_13] por xmm13, xmm11 - mov rax, qword ptr [rsp + 32] # 8-byte Reload + mov rax, qword ptr [rsp + 40] # 8-byte Reload movzx edx, byte ptr [rsi + rax + 25] movd xmm1, edx pcmpeqb xmm12, xmm9 @@ -6282,32 +6734,32 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 por xmm12, xmm13 movzx edx, byte ptr [rsi + rax + 26] movd xmm11, edx - movdqa xmm4, xmmword ptr [rsp + 288] # 16-byte Reload + movdqa xmm4, xmmword ptr [rsp + 240] # 16-byte Reload pinsrb xmm4, byte ptr [rsi + r10 + 14], 1 - mov r12, qword ptr [rsp + 64] # 8-byte Reload - pinsrb xmm4, byte ptr [rsi + r12 + 14], 2 + mov r14, qword ptr [rsp + 80] # 8-byte Reload + pinsrb xmm4, byte ptr [rsi + r14 + 14], 2 mov r10, r13 pinsrb xmm4, byte ptr [rsi + r13 + 14], 3 - mov r11, qword ptr [rsp + 80] # 8-byte Reload + mov r11, qword ptr [rsp + 48] # 8-byte Reload pinsrb xmm4, byte ptr [rsi + r11 + 14], 4 - mov rax, qword ptr [rsp + 96] # 8-byte Reload + mov rax, qword ptr [rsp + 32] # 8-byte Reload pinsrb xmm4, byte ptr [rsi + rax + 14], 5 pinsrb xmm4, byte ptr [rsi + rcx + 14], 6 pinsrb xmm4, byte ptr [rsi + rdi + 14], 7 pinsrb xmm4, byte ptr [rsi + r8 + 14], 8 pinsrb xmm4, byte ptr [rsi + r9 + 14], 9 pinsrb xmm4, byte ptr [rsi + rbx + 14], 10 - pinsrb xmm4, byte ptr [rsi + r14 + 14], 11 - pinsrb xmm4, byte ptr [rsi + r15 + 14], 12 - mov rdx, qword ptr [rsp + 112] # 8-byte Reload + pinsrb xmm4, byte ptr [rsi + r15 + 14], 11 + pinsrb xmm4, byte ptr [rsi + r12 + 14], 12 + mov rdx, qword ptr [rsp + 24] # 8-byte Reload pinsrb xmm4, byte ptr [rsi + rdx + 14], 13 - mov r13, qword ptr [rsp + 24] # 8-byte Reload + mov r13, qword ptr [rsp + 72] # 8-byte Reload pinsrb xmm4, byte ptr [rsi + r13 + 14], 14 - mov rdx, qword ptr [rsp + 16] # 8-byte Reload + mov rdx, qword ptr [rsp + 64] # 8-byte Reload pinsrb xmm4, byte ptr [rsi + rdx + 14], 15 - mov rdx, qword ptr [rsp + 40] # 8-byte Reload + mov rdx, qword ptr [rsp + 8] # 8-byte Reload pinsrb xmm14, byte ptr [rsi + rdx + 15], 1 - pinsrb xmm14, byte ptr [rsi + r12 + 15], 2 + pinsrb xmm14, byte ptr [rsi + r14 + 15], 2 pinsrb xmm14, byte ptr [rsi + r10 + 15], 3 pinsrb xmm14, byte ptr [rsi + r11 + 15], 4 pinsrb xmm14, byte ptr [rsi + rax + 15], 5 @@ -6316,16 +6768,16 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 pinsrb xmm14, byte ptr [rsi + r8 + 15], 8 pinsrb xmm14, byte ptr [rsi + r9 + 15], 9 pinsrb xmm14, byte ptr [rsi + rbx + 15], 10 - pinsrb xmm14, byte ptr [rsi + r14 + 15], 11 - pinsrb xmm14, byte ptr [rsi + r15 + 15], 12 - mov rdx, qword ptr [rsp + 112] # 8-byte Reload + pinsrb xmm14, byte ptr [rsi + r15 + 15], 11 + pinsrb xmm14, byte ptr [rsi + r12 + 15], 12 + mov rdx, qword ptr [rsp + 24] # 8-byte Reload pinsrb xmm14, byte ptr [rsi + rdx + 15], 13 pinsrb xmm14, byte ptr [rsi + r13 + 15], 14 - mov rdx, qword ptr [rsp + 16] # 8-byte Reload + mov rdx, qword ptr [rsp + 64] # 8-byte Reload pinsrb xmm14, byte ptr [rsi + rdx + 15], 15 - mov rdx, qword ptr [rsp + 40] # 8-byte Reload + mov rdx, qword ptr [rsp + 8] # 8-byte Reload pinsrb xmm15, byte ptr [rsi + rdx + 16], 1 - pinsrb xmm15, byte ptr [rsi + r12 + 16], 2 + pinsrb xmm15, byte ptr [rsi + r14 + 16], 2 pinsrb xmm15, byte ptr [rsi + r10 + 16], 3 pinsrb xmm15, byte ptr [rsi + r11 + 16], 4 pinsrb xmm15, byte ptr [rsi + rax + 16], 5 @@ -6334,14 +6786,14 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 pinsrb xmm15, byte ptr [rsi + r8 + 16], 8 pinsrb xmm15, byte ptr [rsi + r9 + 16], 9 pinsrb xmm15, byte ptr [rsi + rbx + 16], 10 - pinsrb xmm15, byte ptr [rsi + r14 + 16], 11 - pinsrb xmm15, byte ptr [rsi + r15 + 16], 12 - mov rdx, qword ptr [rsp + 112] # 8-byte Reload + pinsrb xmm15, byte ptr [rsi + r15 + 16], 11 + pinsrb xmm15, byte ptr [rsi + r12 + 16], 12 + mov rdx, qword ptr [rsp + 24] # 8-byte Reload pinsrb xmm15, byte ptr [rsi + rdx + 16], 13 pinsrb xmm15, byte ptr [rsi + r13 + 16], 14 - mov rdx, qword ptr [rsp + 40] # 8-byte Reload + mov rdx, qword ptr [rsp + 8] # 8-byte Reload pinsrb xmm0, byte ptr [rsi + rdx + 17], 1 - pinsrb xmm0, byte ptr [rsi + r12 + 17], 2 + pinsrb xmm0, byte ptr [rsi + r14 + 17], 2 pinsrb xmm0, byte ptr [rsi + r10 + 17], 3 pinsrb xmm0, byte ptr [rsi + r11 + 17], 4 pinsrb xmm0, byte ptr [rsi + rax + 17], 5 @@ -6351,26 +6803,26 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 pinsrb xmm0, byte ptr [rsi + r8 + 17], 8 pinsrb xmm0, byte ptr [rsi + r9 + 17], 9 pinsrb xmm0, byte ptr [rsi + rbx + 17], 10 - pinsrb xmm0, byte ptr [rsi + r14 + 17], 11 - pinsrb xmm0, byte ptr [rsi + r15 + 17], 12 - mov rax, qword ptr [rsp + 112] # 8-byte Reload + pinsrb xmm0, byte ptr [rsi + r15 + 17], 11 + pinsrb xmm0, byte ptr [rsi + r12 + 17], 12 + mov rax, qword ptr [rsp + 24] # 8-byte Reload pinsrb xmm0, byte ptr [rsi + rax + 17], 13 - mov rdx, qword ptr [rsp + 24] # 8-byte Reload + mov rdx, qword ptr [rsp + 72] # 8-byte Reload pinsrb xmm0, byte ptr [rsi + rdx + 17], 14 - por xmm12, xmmword ptr [rsp + 192] # 16-byte Folded Reload - mov r12, qword ptr [rsp + 32] # 8-byte Reload - movzx edx, byte ptr [rsi + r12 + 27] + por xmm12, xmmword ptr [rsp + 160] # 16-byte Folded Reload + mov r14, qword ptr [rsp + 40] # 8-byte Reload + movzx edx, byte ptr [rsi + r14 + 27] movd xmm9, edx - movdqa xmm13, xmmword ptr [rsp + 208] # 16-byte Reload + movdqa xmm13, xmmword ptr [rsp + 192] # 16-byte Reload pcmpeqb xmm4, xmm13 pand xmm4, xmmword ptr [rip + .LCPI1_15] pcmpeqb xmm14, xmm13 psllw xmm14, 7 pand xmm14, xmmword ptr [rip + .LCPI1_6] por xmm14, xmm4 - movzx edx, byte ptr [rsi + r12 + 28] + movzx edx, byte ptr [rsi + r14 + 28] movd xmm4, edx - mov r8, qword ptr [rsp + 16] # 8-byte Reload + mov r8, qword ptr [rsp + 64] # 8-byte Reload pinsrb xmm0, byte ptr [rsi + r8 + 17], 15 por xmm14, xmm12 pcmpeqb xmm0, xmm13 @@ -6378,54 +6830,54 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 movdqa xmm12, xmmword ptr [rip + .LCPI1_10] # xmm12 = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1] pand xmm13, xmm12 psubb xmm13, xmm0 - movdqa xmmword ptr [rsp + 192], xmm13 # 16-byte Spill - movzx edx, byte ptr [rsi + r12 + 29] + movdqa xmmword ptr [rsp + 160], xmm13 # 16-byte Spill + movzx edx, byte ptr [rsi + r14 + 29] movd xmm13, edx pinsrb xmm15, byte ptr [rsi + r8 + 16], 15 - movdqa xmm0, xmmword ptr [rsp + 208] # 16-byte Reload + movdqa xmm0, xmmword ptr [rsp + 192] # 16-byte Reload pcmpeqb xmm15, xmm0 - mov r12, qword ptr [rsp + 40] # 8-byte Reload - pinsrb xmm5, byte ptr [rsi + r12 + 18], 1 - mov rdx, qword ptr [rsp + 64] # 8-byte Reload + mov r14, qword ptr [rsp + 8] # 8-byte Reload + pinsrb xmm5, byte ptr [rsi + r14 + 18], 1 + mov rdx, qword ptr [rsp + 80] # 8-byte Reload pinsrb xmm5, byte ptr [rsi + rdx + 18], 2 pinsrb xmm5, byte ptr [rsi + r10 + 18], 3 pinsrb xmm5, byte ptr [rsi + r11 + 18], 4 pinsrb xmm5, byte ptr [rsi + r13 + 18], 5 pinsrb xmm5, byte ptr [rsi + rcx + 18], 6 pinsrb xmm5, byte ptr [rsi + rdi + 18], 7 - mov rdx, qword ptr [rsp + 72] # 8-byte Reload + mov rdx, qword ptr [rsp + 56] # 8-byte Reload pinsrb xmm5, byte ptr [rsi + rdx + 18], 8 pinsrb xmm5, byte ptr [rsi + r9 + 18], 9 pinsrb xmm5, byte ptr [rsi + rbx + 18], 10 - pinsrb xmm5, byte ptr [rsi + r14 + 18], 11 - pinsrb xmm5, byte ptr [rsi + r15 + 18], 12 + pinsrb xmm5, byte ptr [rsi + r15 + 18], 11 + pinsrb xmm5, byte ptr [rsi + r12 + 18], 12 pinsrb xmm5, byte ptr [rsi + rax + 18], 13 - mov rax, qword ptr [rsp + 24] # 8-byte Reload + mov rax, qword ptr [rsp + 72] # 8-byte Reload pinsrb xmm5, byte ptr [rsi + rax + 18], 14 pand xmm15, xmm12 pinsrb xmm5, byte ptr [rsi + r8 + 18], 15 pcmpeqb xmm5, xmm0 pand xmm5, xmmword ptr [rip + .LCPI1_11] por xmm5, xmm15 - mov rax, qword ptr [rsp + 32] # 8-byte Reload + mov rax, qword ptr [rsp + 40] # 8-byte Reload movzx edx, byte ptr [rsi + rax + 30] movd xmm12, edx - pinsrb xmm7, byte ptr [rsi + r12 + 19], 1 - pinsrb xmm6, byte ptr [rsi + r12 + 20], 1 - pinsrb xmm2, byte ptr [rsi + r12 + 21], 1 - pinsrb xmm3, byte ptr [rsi + r12 + 22], 1 - pinsrb xmm8, byte ptr [rsi + r12 + 23], 1 - pinsrb xmm10, byte ptr [rsi + r12 + 24], 1 - pinsrb xmm1, byte ptr [rsi + r12 + 25], 1 - pinsrb xmm11, byte ptr [rsi + r12 + 26], 1 - pinsrb xmm9, byte ptr [rsi + r12 + 27], 1 - pinsrb xmm4, byte ptr [rsi + r12 + 28], 1 - pinsrb xmm13, byte ptr [rsi + r12 + 29], 1 - pinsrb xmm12, byte ptr [rsi + r12 + 30], 1 + pinsrb xmm7, byte ptr [rsi + r14 + 19], 1 + pinsrb xmm6, byte ptr [rsi + r14 + 20], 1 + pinsrb xmm2, byte ptr [rsi + r14 + 21], 1 + pinsrb xmm3, byte ptr [rsi + r14 + 22], 1 + pinsrb xmm8, byte ptr [rsi + r14 + 23], 1 + pinsrb xmm10, byte ptr [rsi + r14 + 24], 1 + pinsrb xmm1, byte ptr [rsi + r14 + 25], 1 + pinsrb xmm11, byte ptr [rsi + r14 + 26], 1 + pinsrb xmm9, byte ptr [rsi + r14 + 27], 1 + pinsrb xmm4, byte ptr [rsi + r14 + 28], 1 + pinsrb xmm13, byte ptr [rsi + r14 + 29], 1 + pinsrb xmm12, byte ptr [rsi + r14 + 30], 1 movzx edx, byte ptr [rsi + rax + 31] movd xmm0, edx - pinsrb xmm0, byte ptr [rsi + r12 + 31], 1 - mov rdx, qword ptr [rsp + 64] # 8-byte Reload + pinsrb xmm0, byte ptr [rsi + r14 + 31], 1 + mov rdx, qword ptr [rsp + 80] # 8-byte Reload pinsrb xmm7, byte ptr [rsi + rdx + 19], 2 pinsrb xmm6, byte ptr [rsi + rdx + 20], 2 pinsrb xmm2, byte ptr [rsi + rdx + 21], 2 @@ -6444,15 +6896,15 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 pinsrb xmm7, byte ptr [rsi + r13 + 19], 5 pinsrb xmm7, byte ptr [rsi + rcx + 19], 6 pinsrb xmm7, byte ptr [rsi + rdi + 19], 7 - mov r12, qword ptr [rsp + 72] # 8-byte Reload - pinsrb xmm7, byte ptr [rsi + r12 + 19], 8 + mov r14, qword ptr [rsp + 56] # 8-byte Reload + pinsrb xmm7, byte ptr [rsi + r14 + 19], 8 pinsrb xmm7, byte ptr [rsi + r9 + 19], 9 pinsrb xmm7, byte ptr [rsi + rbx + 19], 10 - pinsrb xmm7, byte ptr [rsi + r14 + 19], 11 - pinsrb xmm7, byte ptr [rsi + r15 + 19], 12 - mov rdx, qword ptr [rsp + 112] # 8-byte Reload + pinsrb xmm7, byte ptr [rsi + r15 + 19], 11 + pinsrb xmm7, byte ptr [rsi + r12 + 19], 12 + mov rdx, qword ptr [rsp + 24] # 8-byte Reload pinsrb xmm7, byte ptr [rsi + rdx + 19], 13 - mov rax, qword ptr [rsp + 24] # 8-byte Reload + mov rax, qword ptr [rsp + 72] # 8-byte Reload pinsrb xmm7, byte ptr [rsi + rax + 19], 14 pinsrb xmm7, byte ptr [rsi + r8 + 19], 15 pinsrb xmm6, byte ptr [rsi + r10 + 20], 3 @@ -6460,16 +6912,16 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 pinsrb xmm6, byte ptr [rsi + r13 + 20], 5 pinsrb xmm6, byte ptr [rsi + rcx + 20], 6 pinsrb xmm6, byte ptr [rsi + rdi + 20], 7 - pinsrb xmm6, byte ptr [rsi + r12 + 20], 8 + pinsrb xmm6, byte ptr [rsi + r14 + 20], 8 pinsrb xmm6, byte ptr [rsi + r9 + 20], 9 pinsrb xmm6, byte ptr [rsi + rbx + 20], 10 - pinsrb xmm6, byte ptr [rsi + r14 + 20], 11 - pinsrb xmm6, byte ptr [rsi + r15 + 20], 12 + pinsrb xmm6, byte ptr [rsi + r15 + 20], 11 + pinsrb xmm6, byte ptr [rsi + r12 + 20], 12 pinsrb xmm6, byte ptr [rsi + rdx + 20], 13 pinsrb xmm6, byte ptr [rsi + rax + 20], 14 - por xmm5, xmmword ptr [rsp + 192] # 16-byte Folded Reload + por xmm5, xmmword ptr [rsp + 160] # 16-byte Folded Reload pinsrb xmm6, byte ptr [rsi + r8 + 20], 15 - movdqa xmm15, xmmword ptr [rsp + 208] # 16-byte Reload + movdqa xmm15, xmmword ptr [rsp + 192] # 16-byte Reload pcmpeqb xmm7, xmm15 pand xmm7, xmmword ptr [rip + .LCPI1_12] pcmpeqb xmm6, xmm15 @@ -6480,11 +6932,11 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 pinsrb xmm2, byte ptr [rsi + r13 + 21], 5 pinsrb xmm2, byte ptr [rsi + rcx + 21], 6 pinsrb xmm2, byte ptr [rsi + rdi + 21], 7 - pinsrb xmm2, byte ptr [rsi + r12 + 21], 8 + pinsrb xmm2, byte ptr [rsi + r14 + 21], 8 pinsrb xmm2, byte ptr [rsi + r9 + 21], 9 pinsrb xmm2, byte ptr [rsi + rbx + 21], 10 - pinsrb xmm2, byte ptr [rsi + r14 + 21], 11 - pinsrb xmm2, byte ptr [rsi + r15 + 21], 12 + pinsrb xmm2, byte ptr [rsi + r15 + 21], 11 + pinsrb xmm2, byte ptr [rsi + r12 + 21], 12 pinsrb xmm2, byte ptr [rsi + rdx + 21], 13 pinsrb xmm2, byte ptr [rsi + rax + 21], 14 pinsrb xmm2, byte ptr [rsi + r8 + 21], 15 @@ -6498,11 +6950,11 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 pinsrb xmm3, byte ptr [rsi + r13 + 22], 5 pinsrb xmm3, byte ptr [rsi + rcx + 22], 6 pinsrb xmm3, byte ptr [rsi + rdi + 22], 7 - pinsrb xmm3, byte ptr [rsi + r12 + 22], 8 + pinsrb xmm3, byte ptr [rsi + r14 + 22], 8 pinsrb xmm3, byte ptr [rsi + r9 + 22], 9 pinsrb xmm3, byte ptr [rsi + rbx + 22], 10 - pinsrb xmm3, byte ptr [rsi + r14 + 22], 11 - pinsrb xmm3, byte ptr [rsi + r15 + 22], 12 + pinsrb xmm3, byte ptr [rsi + r15 + 22], 11 + pinsrb xmm3, byte ptr [rsi + r12 + 22], 12 pinsrb xmm3, byte ptr [rsi + rdx + 22], 13 pinsrb xmm3, byte ptr [rsi + rax + 22], 14 pinsrb xmm3, byte ptr [rsi + r8 + 22], 15 @@ -6511,11 +6963,11 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 pinsrb xmm8, byte ptr [rsi + r13 + 23], 5 pinsrb xmm8, byte ptr [rsi + rcx + 23], 6 pinsrb xmm8, byte ptr [rsi + rdi + 23], 7 - pinsrb xmm8, byte ptr [rsi + r12 + 23], 8 + pinsrb xmm8, byte ptr [rsi + r14 + 23], 8 pinsrb xmm8, byte ptr [rsi + r9 + 23], 9 pinsrb xmm8, byte ptr [rsi + rbx + 23], 10 - pinsrb xmm8, byte ptr [rsi + r14 + 23], 11 - pinsrb xmm8, byte ptr [rsi + r15 + 23], 12 + pinsrb xmm8, byte ptr [rsi + r15 + 23], 11 + pinsrb xmm8, byte ptr [rsi + r12 + 23], 12 pinsrb xmm8, byte ptr [rsi + rdx + 23], 13 pinsrb xmm8, byte ptr [rsi + rax + 23], 14 pinsrb xmm8, byte ptr [rsi + r8 + 23], 15 @@ -6532,11 +6984,11 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 pinsrb xmm1, byte ptr [rsi + r13 + 25], 5 pinsrb xmm1, byte ptr [rsi + rcx + 25], 6 pinsrb xmm1, byte ptr [rsi + rdi + 25], 7 - pinsrb xmm1, byte ptr [rsi + r12 + 25], 8 + pinsrb xmm1, byte ptr [rsi + r14 + 25], 8 pinsrb xmm1, byte ptr [rsi + r9 + 25], 9 pinsrb xmm1, byte ptr [rsi + rbx + 25], 10 - pinsrb xmm1, byte ptr [rsi + r14 + 25], 11 - pinsrb xmm1, byte ptr [rsi + r15 + 25], 12 + pinsrb xmm1, byte ptr [rsi + r15 + 25], 11 + pinsrb xmm1, byte ptr [rsi + r12 + 25], 12 pinsrb xmm1, byte ptr [rsi + rdx + 25], 13 pinsrb xmm1, byte ptr [rsi + rax + 25], 14 pinsrb xmm1, byte ptr [rsi + r8 + 25], 15 @@ -6551,11 +7003,11 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 pinsrb xmm10, byte ptr [rsi + r13 + 24], 5 pinsrb xmm10, byte ptr [rsi + rcx + 24], 6 pinsrb xmm10, byte ptr [rsi + rdi + 24], 7 - pinsrb xmm10, byte ptr [rsi + r12 + 24], 8 + pinsrb xmm10, byte ptr [rsi + r14 + 24], 8 pinsrb xmm10, byte ptr [rsi + r9 + 24], 9 pinsrb xmm10, byte ptr [rsi + rbx + 24], 10 - pinsrb xmm10, byte ptr [rsi + r14 + 24], 11 - pinsrb xmm10, byte ptr [rsi + r15 + 24], 12 + pinsrb xmm10, byte ptr [rsi + r15 + 24], 11 + pinsrb xmm10, byte ptr [rsi + r12 + 24], 12 pinsrb xmm10, byte ptr [rsi + rdx + 24], 13 pinsrb xmm10, byte ptr [rsi + rax + 24], 14 pinsrb xmm10, byte ptr [rsi + r8 + 24], 15 @@ -6566,11 +7018,11 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 pinsrb xmm11, byte ptr [rsi + r13 + 26], 5 pinsrb xmm11, byte ptr [rsi + rcx + 26], 6 pinsrb xmm11, byte ptr [rsi + rdi + 26], 7 - pinsrb xmm11, byte ptr [rsi + r12 + 26], 8 + pinsrb xmm11, byte ptr [rsi + r14 + 26], 8 pinsrb xmm11, byte ptr [rsi + r9 + 26], 9 pinsrb xmm11, byte ptr [rsi + rbx + 26], 10 - pinsrb xmm11, byte ptr [rsi + r14 + 26], 11 - pinsrb xmm11, byte ptr [rsi + r15 + 26], 12 + pinsrb xmm11, byte ptr [rsi + r15 + 26], 11 + pinsrb xmm11, byte ptr [rsi + r12 + 26], 12 pinsrb xmm11, byte ptr [rsi + rdx + 26], 13 pinsrb xmm11, byte ptr [rsi + rax + 26], 14 pinsrb xmm11, byte ptr [rsi + r8 + 26], 15 @@ -6583,11 +7035,11 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 pinsrb xmm9, byte ptr [rsi + r13 + 27], 5 pinsrb xmm9, byte ptr [rsi + rcx + 27], 6 pinsrb xmm9, byte ptr [rsi + rdi + 27], 7 - pinsrb xmm9, byte ptr [rsi + r12 + 27], 8 + pinsrb xmm9, byte ptr [rsi + r14 + 27], 8 pinsrb xmm9, byte ptr [rsi + r9 + 27], 9 pinsrb xmm9, byte ptr [rsi + rbx + 27], 10 - pinsrb xmm9, byte ptr [rsi + r14 + 27], 11 - pinsrb xmm9, byte ptr [rsi + r15 + 27], 12 + pinsrb xmm9, byte ptr [rsi + r15 + 27], 11 + pinsrb xmm9, byte ptr [rsi + r12 + 27], 12 pinsrb xmm9, byte ptr [rsi + rdx + 27], 13 pinsrb xmm9, byte ptr [rsi + rax + 27], 14 pinsrb xmm9, byte ptr [rsi + r8 + 27], 15 @@ -6596,11 +7048,11 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 pinsrb xmm4, byte ptr [rsi + r13 + 28], 5 pinsrb xmm4, byte ptr [rsi + rcx + 28], 6 pinsrb xmm4, byte ptr [rsi + rdi + 28], 7 - pinsrb xmm4, byte ptr [rsi + r12 + 28], 8 + pinsrb xmm4, byte ptr [rsi + r14 + 28], 8 pinsrb xmm4, byte ptr [rsi + r9 + 28], 9 pinsrb xmm4, byte ptr [rsi + rbx + 28], 10 - pinsrb xmm4, byte ptr [rsi + r14 + 28], 11 - pinsrb xmm4, byte ptr [rsi + r15 + 28], 12 + pinsrb xmm4, byte ptr [rsi + r15 + 28], 11 + pinsrb xmm4, byte ptr [rsi + r12 + 28], 12 pinsrb xmm4, byte ptr [rsi + rdx + 28], 13 pinsrb xmm4, byte ptr [rsi + rax + 28], 14 pinsrb xmm4, byte ptr [rsi + r8 + 28], 15 @@ -6609,11 +7061,11 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 pinsrb xmm13, byte ptr [rsi + r13 + 29], 5 pinsrb xmm13, byte ptr [rsi + rcx + 29], 6 pinsrb xmm13, byte ptr [rsi + rdi + 29], 7 - pinsrb xmm13, byte ptr [rsi + r12 + 29], 8 + pinsrb xmm13, byte ptr [rsi + r14 + 29], 8 pinsrb xmm13, byte ptr [rsi + r9 + 29], 9 pinsrb xmm13, byte ptr [rsi + rbx + 29], 10 - pinsrb xmm13, byte ptr [rsi + r14 + 29], 11 - pinsrb xmm13, byte ptr [rsi + r15 + 29], 12 + pinsrb xmm13, byte ptr [rsi + r15 + 29], 11 + pinsrb xmm13, byte ptr [rsi + r12 + 29], 12 pinsrb xmm13, byte ptr [rsi + rdx + 29], 13 pinsrb xmm13, byte ptr [rsi + rax + 29], 14 movdqa xmm1, xmm15 @@ -6636,19 +7088,19 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 pinsrb xmm0, byte ptr [rsi + rcx + 31], 6 pinsrb xmm12, byte ptr [rsi + rdi + 30], 7 pinsrb xmm0, byte ptr [rsi + rdi + 31], 7 - pinsrb xmm12, byte ptr [rsi + r12 + 30], 8 - pinsrb xmm0, byte ptr [rsi + r12 + 31], 8 + pinsrb xmm12, byte ptr [rsi + r14 + 30], 8 + pinsrb xmm0, byte ptr [rsi + r14 + 31], 8 pinsrb xmm12, byte ptr [rsi + r9 + 30], 9 pinsrb xmm0, byte ptr [rsi + r9 + 31], 9 pinsrb xmm12, byte ptr [rsi + rbx + 30], 10 pinsrb xmm0, byte ptr [rsi + rbx + 31], 10 - pinsrb xmm12, byte ptr [rsi + r14 + 30], 11 - pinsrb xmm0, byte ptr [rsi + r14 + 31], 11 - pinsrb xmm12, byte ptr [rsi + r15 + 30], 12 - pinsrb xmm0, byte ptr [rsi + r15 + 31], 12 + mov rdi, qword ptr [rsp + 136] # 8-byte Reload + pinsrb xmm12, byte ptr [rsi + r15 + 30], 11 + pinsrb xmm0, byte ptr [rsi + r15 + 31], 11 + pinsrb xmm12, byte ptr [rsi + r12 + 30], 12 + pinsrb xmm0, byte ptr [rsi + r12 + 31], 12 pinsrb xmm12, byte ptr [rsi + rdx + 30], 13 pinsrb xmm0, byte ptr [rsi + rdx + 31], 13 - mov r14, qword ptr [rsp + 136] # 8-byte Reload pinsrb xmm12, byte ptr [rsi + rax + 30], 14 pinsrb xmm0, byte ptr [rsi + rax + 31], 14 pinsrb xmm12, byte ptr [rsi + r8 + 30], 15 @@ -6663,7 +7115,7 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 por xmm0, xmm13 movdqa xmm1, xmm8 punpcklbw xmm1, xmm0 # xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3],xmm1[4],xmm0[4],xmm1[5],xmm0[5],xmm1[6],xmm0[6],xmm1[7],xmm0[7] - movdqa xmm4, xmmword ptr [rsp + 224] # 16-byte Reload + movdqa xmm4, xmmword ptr [rsp + 176] # 16-byte Reload movdqa xmm2, xmm4 punpcklbw xmm2, xmm14 # xmm2 = xmm2[0],xmm14[0],xmm2[1],xmm14[1],xmm2[2],xmm14[2],xmm2[3],xmm14[3],xmm2[4],xmm14[4],xmm2[5],xmm14[5],xmm2[6],xmm14[6],xmm2[7],xmm14[7] movdqa xmm3, xmm2 @@ -6675,40 +7127,40 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 punpcklwd xmm0, xmm8 # xmm0 = xmm0[0],xmm8[0],xmm0[1],xmm8[1],xmm0[2],xmm8[2],xmm0[3],xmm8[3] punpckhwd xmm4, xmm8 # xmm4 = xmm4[4],xmm8[4],xmm4[5],xmm8[5],xmm4[6],xmm8[6],xmm4[7],xmm8[7] mov rcx, qword ptr [rsp + 152] # 8-byte Reload - movdqu xmmword ptr [r14 + 4*rcx + 48], xmm4 - movdqu xmmword ptr [r14 + 4*rcx + 32], xmm0 - movdqu xmmword ptr [r14 + 4*rcx + 16], xmm2 - movdqu xmmword ptr [r14 + 4*rcx], xmm3 + movdqu xmmword ptr [rdi + 4*rcx + 48], xmm4 + movdqu xmmword ptr [rdi + 4*rcx + 32], xmm0 + movdqu xmmword ptr [rdi + 4*rcx + 16], xmm2 + movdqu xmmword ptr [rdi + 4*rcx], xmm3 add rcx, 16 mov rax, rcx - cmp rcx, qword ptr [rsp + 248] # 8-byte Folded Reload - jne .LBB1_87 -# %bb.88: + cmp rcx, qword ptr [rsp + 232] # 8-byte Folded Reload + jne .LBB1_88 +# %bb.89: mov r15, qword ptr [rsp + 256] # 8-byte Reload - cmp r15, qword ptr [rsp + 248] # 8-byte Folded Reload - mov r11b, byte ptr [rsp + 8] # 1-byte Reload + cmp r15, qword ptr [rsp + 232] # 8-byte Folded Reload + mov r11b, byte ptr [rsp + 4] # 1-byte Reload mov rsi, qword ptr [rsp + 264] # 8-byte Reload mov r10, qword ptr [rsp + 144] # 8-byte Reload - jne .LBB1_89 - jmp .LBB1_92 -.LBB1_66: + jne .LBB1_90 + jmp .LBB1_93 +.LBB1_67: and r15, -16 mov rax, r15 shl rax, 5 add rax, rsi mov qword ptr [rsp + 264], rax # 8-byte Spill - mov qword ptr [rsp + 248], r15 # 8-byte Spill + mov qword ptr [rsp + 232], r15 # 8-byte Spill lea rax, [r14 + 4*r15] - mov qword ptr [rsp + 80], rax # 8-byte Spill + mov qword ptr [rsp + 56], rax # 8-byte Spill movzx eax, r11b movd xmm1, eax pxor xmm0, xmm0 pshufb xmm1, xmm0 - movdqa xmmword ptr [rsp + 176], xmm1 # 16-byte Spill + movdqa xmmword ptr [rsp + 192], xmm1 # 16-byte Spill xor eax, eax mov qword ptr [rsp + 136], r14 # 8-byte Spill .p2align 4, 0x90 -.LBB1_67: # =>This Inner Loop Header: Depth=1 +.LBB1_68: # =>This Inner Loop Header: Depth=1 mov r15, rax mov qword ptr [rsp + 152], rax # 8-byte Spill shl r15, 5 @@ -6722,7 +7174,7 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 mov rbx, r15 mov r14, r15 mov rax, r15 - mov qword ptr [rsp + 112], r15 # 8-byte Spill + mov qword ptr [rsp + 104], r15 # 8-byte Spill movzx edx, byte ptr [rsi + r15] movd xmm15, edx movzx edx, byte ptr [rsi + r15 + 1] @@ -6742,12 +7194,12 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 movdqa xmmword ptr [rsp + 208], xmm0 # 16-byte Spill movzx edx, byte ptr [rsi + r15 + 8] movd xmm0, edx - movdqa xmmword ptr [rsp + 288], xmm0 # 16-byte Spill + movdqa xmmword ptr [rsp + 240], xmm0 # 16-byte Spill movzx edx, byte ptr [rsi + r15 + 9] movd xmm10, edx movzx edx, byte ptr [rsi + r15 + 10] movd xmm0, edx - movdqa xmmword ptr [rsp + 160], xmm0 # 16-byte Spill + movdqa xmmword ptr [rsp + 176], xmm0 # 16-byte Spill movzx edx, byte ptr [rsi + r15 + 11] movd xmm11, edx movzx edx, byte ptr [rsi + r15 + 12] @@ -6757,13 +7209,13 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 movzx edx, byte ptr [rsi + r15 + 14] movd xmm0, edx movdqa xmmword ptr [rsp + 272], xmm0 # 16-byte Spill - mov qword ptr [rsp + 56], r15 # 8-byte Spill + mov qword ptr [rsp + 48], r15 # 8-byte Spill mov r13, r15 or r13, 32 - mov qword ptr [rsp + 24], r13 # 8-byte Spill + mov qword ptr [rsp + 40], r13 # 8-byte Spill or rdi, 64 or rcx, 96 - mov qword ptr [rsp + 128], rcx # 8-byte Spill + mov qword ptr [rsp + 120], rcx # 8-byte Spill or r10, 128 or r8, 160 or r12, 192 @@ -6772,52 +7224,52 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 or rbx, 288 or r14, 320 or rax, 352 - mov qword ptr [rsp + 72], rax # 8-byte Spill - mov rdx, qword ptr [rsp + 112] # 8-byte Reload + mov qword ptr [rsp + 128], rax # 8-byte Spill + mov rdx, qword ptr [rsp + 104] # 8-byte Reload or rdx, 384 - mov qword ptr [rsp + 112], rdx # 8-byte Spill + mov qword ptr [rsp + 104], rdx # 8-byte Spill mov rax, r15 or rax, 416 - mov qword ptr [rsp + 40], rax # 8-byte Spill + mov qword ptr [rsp + 8], rax # 8-byte Spill mov rax, r15 or rax, 448 - mov qword ptr [rsp + 48], rax # 8-byte Spill + mov qword ptr [rsp + 32], rax # 8-byte Spill mov rax, r15 or rax, 480 - mov qword ptr [rsp + 32], rax # 8-byte Spill + mov qword ptr [rsp + 16], rax # 8-byte Spill pinsrb xmm15, byte ptr [rsi + r13], 1 pinsrb xmm15, byte ptr [rsi + rdi], 2 pinsrb xmm15, byte ptr [rsi + rcx], 3 pinsrb xmm15, byte ptr [rsi + r10], 4 mov r15, r8 - mov qword ptr [rsp + 120], r8 # 8-byte Spill + mov qword ptr [rsp + 72], r8 # 8-byte Spill pinsrb xmm15, byte ptr [rsi + r8], 5 - mov qword ptr [rsp + 104], r12 # 8-byte Spill + mov qword ptr [rsp + 96], r12 # 8-byte Spill pinsrb xmm15, byte ptr [rsi + r12], 6 mov r8, r9 pinsrb xmm15, byte ptr [rsi + r9], 7 mov r9, r11 - mov qword ptr [rsp + 16], r11 # 8-byte Spill + mov qword ptr [rsp + 24], r11 # 8-byte Spill pinsrb xmm15, byte ptr [rsi + r11], 8 mov qword ptr [rsp + 64], rbx # 8-byte Spill pinsrb xmm15, byte ptr [rsi + rbx], 9 - mov qword ptr [rsp + 96], r14 # 8-byte Spill + mov qword ptr [rsp + 88], r14 # 8-byte Spill pinsrb xmm15, byte ptr [rsi + r14], 10 - mov r13, qword ptr [rsp + 72] # 8-byte Reload + mov r13, qword ptr [rsp + 128] # 8-byte Reload pinsrb xmm15, byte ptr [rsi + r13], 11 pinsrb xmm15, byte ptr [rsi + rdx], 12 - mov rcx, qword ptr [rsp + 40] # 8-byte Reload + mov rcx, qword ptr [rsp + 8] # 8-byte Reload pinsrb xmm15, byte ptr [rsi + rcx], 13 - mov rcx, qword ptr [rsp + 48] # 8-byte Reload + mov rcx, qword ptr [rsp + 32] # 8-byte Reload pinsrb xmm15, byte ptr [rsi + rcx], 14 pinsrb xmm15, byte ptr [rsi + rax], 15 - mov r11, qword ptr [rsp + 24] # 8-byte Reload + mov r11, qword ptr [rsp + 40] # 8-byte Reload pinsrb xmm5, byte ptr [rsi + r11 + 1], 1 pinsrb xmm5, byte ptr [rsi + rdi + 1], 2 - mov r11, qword ptr [rsp + 128] # 8-byte Reload + mov r11, qword ptr [rsp + 120] # 8-byte Reload pinsrb xmm5, byte ptr [rsi + r11 + 1], 3 pinsrb xmm5, byte ptr [rsi + r10 + 1], 4 - mov qword ptr [rsp + 88], r10 # 8-byte Spill + mov qword ptr [rsp + 80], r10 # 8-byte Spill pinsrb xmm5, byte ptr [rsi + r15 + 1], 5 pinsrb xmm5, byte ptr [rsi + r12 + 1], 6 pinsrb xmm5, byte ptr [rsi + r8 + 1], 7 @@ -6828,46 +7280,46 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 pinsrb xmm5, byte ptr [rsi + r13 + 1], 11 mov r8, r13 pinsrb xmm5, byte ptr [rsi + rdx + 1], 12 - mov rdx, qword ptr [rsp + 40] # 8-byte Reload + mov rdx, qword ptr [rsp + 8] # 8-byte Reload pinsrb xmm5, byte ptr [rsi + rdx + 1], 13 pinsrb xmm5, byte ptr [rsi + rcx + 1], 14 pinsrb xmm5, byte ptr [rsi + rax + 1], 15 - movdqa xmm9, xmmword ptr [rsp + 176] # 16-byte Reload + movdqa xmm9, xmmword ptr [rsp + 192] # 16-byte Reload pcmpeqb xmm5, xmm9 movdqa xmm7, xmm5 movdqa xmm4, xmmword ptr [rip + .LCPI1_10] # xmm4 = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1] pand xmm7, xmm4 psubb xmm7, xmm5 - mov rax, qword ptr [rsp + 56] # 8-byte Reload + mov rax, qword ptr [rsp + 48] # 8-byte Reload movzx edx, byte ptr [rsi + rax + 15] movd xmm14, edx pcmpeqb xmm15, xmm9 - mov rbx, qword ptr [rsp + 24] # 8-byte Reload + mov rbx, qword ptr [rsp + 40] # 8-byte Reload pinsrb xmm6, byte ptr [rsi + rbx + 2], 1 pinsrb xmm6, byte ptr [rsi + rdi + 2], 2 mov r12, r11 pinsrb xmm6, byte ptr [rsi + r11 + 2], 3 pinsrb xmm6, byte ptr [rsi + r10 + 2], 4 - mov rcx, qword ptr [rsp + 120] # 8-byte Reload + mov rcx, qword ptr [rsp + 72] # 8-byte Reload pinsrb xmm6, byte ptr [rsi + rcx + 2], 5 - mov r11, qword ptr [rsp + 104] # 8-byte Reload + mov r11, qword ptr [rsp + 96] # 8-byte Reload pinsrb xmm6, byte ptr [rsi + r11 + 2], 6 - mov qword ptr [rsp + 192], r15 # 8-byte Spill + mov qword ptr [rsp + 112], r15 # 8-byte Spill pinsrb xmm6, byte ptr [rsi + r15 + 2], 7 - mov r13, qword ptr [rsp + 16] # 8-byte Reload + mov r13, qword ptr [rsp + 24] # 8-byte Reload pinsrb xmm6, byte ptr [rsi + r13 + 2], 8 mov r14, qword ptr [rsp + 64] # 8-byte Reload pinsrb xmm6, byte ptr [rsi + r14 + 2], 9 - mov r9, qword ptr [rsp + 96] # 8-byte Reload + mov r9, qword ptr [rsp + 88] # 8-byte Reload pinsrb xmm6, byte ptr [rsi + r9 + 2], 10 pinsrb xmm6, byte ptr [rsi + r8 + 2], 11 - mov rdx, qword ptr [rsp + 112] # 8-byte Reload + mov rdx, qword ptr [rsp + 104] # 8-byte Reload pinsrb xmm6, byte ptr [rsi + rdx + 2], 12 - mov r10, qword ptr [rsp + 40] # 8-byte Reload + mov r10, qword ptr [rsp + 8] # 8-byte Reload pinsrb xmm6, byte ptr [rsi + r10 + 2], 13 - mov rdx, qword ptr [rsp + 48] # 8-byte Reload - pinsrb xmm6, byte ptr [rsi + rdx + 2], 14 mov rdx, qword ptr [rsp + 32] # 8-byte Reload + pinsrb xmm6, byte ptr [rsi + rdx + 2], 14 + mov rdx, qword ptr [rsp + 16] # 8-byte Reload pinsrb xmm6, byte ptr [rsi + rdx + 2], 15 pand xmm15, xmm4 pcmpeqb xmm6, xmm9 @@ -6880,7 +7332,7 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 pinsrb xmm2, byte ptr [rsi + rdi + 3], 2 mov rax, r12 pinsrb xmm2, byte ptr [rsi + r12 + 3], 3 - mov r12, qword ptr [rsp + 88] # 8-byte Reload + mov r12, qword ptr [rsp + 80] # 8-byte Reload pinsrb xmm2, byte ptr [rsi + r12 + 3], 4 pinsrb xmm2, byte ptr [rsi + rcx + 3], 5 pinsrb xmm2, byte ptr [rsi + r11 + 3], 6 @@ -6890,12 +7342,12 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 pinsrb xmm2, byte ptr [rsi + r9 + 3], 10 mov r14, r9 pinsrb xmm2, byte ptr [rsi + r8 + 3], 11 - mov r15, qword ptr [rsp + 112] # 8-byte Reload + mov r15, qword ptr [rsp + 104] # 8-byte Reload pinsrb xmm2, byte ptr [rsi + r15 + 3], 12 pinsrb xmm2, byte ptr [rsi + r10 + 3], 13 - mov r13, qword ptr [rsp + 48] # 8-byte Reload + mov r13, qword ptr [rsp + 32] # 8-byte Reload pinsrb xmm2, byte ptr [rsi + r13 + 3], 14 - mov rdx, qword ptr [rsp + 32] # 8-byte Reload + mov rdx, qword ptr [rsp + 16] # 8-byte Reload pinsrb xmm2, byte ptr [rsi + rdx + 3], 15 pinsrb xmm1, byte ptr [rsi + rbx + 4], 1 pinsrb xmm1, byte ptr [rsi + rdi + 4], 2 @@ -6904,9 +7356,9 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 pinsrb xmm1, byte ptr [rsi + rcx + 4], 5 mov rcx, r11 pinsrb xmm1, byte ptr [rsi + r11 + 4], 6 - mov r11, qword ptr [rsp + 192] # 8-byte Reload + mov r11, qword ptr [rsp + 112] # 8-byte Reload pinsrb xmm1, byte ptr [rsi + r11 + 4], 7 - mov r9, qword ptr [rsp + 16] # 8-byte Reload + mov r9, qword ptr [rsp + 24] # 8-byte Reload pinsrb xmm1, byte ptr [rsi + r9 + 4], 8 mov rbx, qword ptr [rsp + 64] # 8-byte Reload pinsrb xmm1, byte ptr [rsi + rbx + 4], 9 @@ -6920,7 +7372,7 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 pinsrb xmm1, byte ptr [rsi + rdx + 4], 15 mov r10, rdx por xmm6, xmm7 - mov rbx, qword ptr [rsp + 56] # 8-byte Reload + mov rbx, qword ptr [rsp + 48] # 8-byte Reload movzx edx, byte ptr [rsi + rbx + 17] movd xmm0, edx pcmpeqb xmm2, xmm9 @@ -6932,13 +7384,13 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 por xmm1, xmm2 movzx edx, byte ptr [rsi + rbx + 18] movd xmm5, edx - mov r8, qword ptr [rsp + 24] # 8-byte Reload + mov r8, qword ptr [rsp + 40] # 8-byte Reload pinsrb xmm8, byte ptr [rsi + r8 + 5], 1 pinsrb xmm8, byte ptr [rsi + rdi + 5], 2 pinsrb xmm8, byte ptr [rsi + rax + 5], 3 - mov rdx, qword ptr [rsp + 88] # 8-byte Reload + mov rdx, qword ptr [rsp + 80] # 8-byte Reload pinsrb xmm8, byte ptr [rsi + rdx + 5], 4 - mov rdx, qword ptr [rsp + 120] # 8-byte Reload + mov rdx, qword ptr [rsp + 72] # 8-byte Reload pinsrb xmm8, byte ptr [rsi + rdx + 5], 5 pinsrb xmm8, byte ptr [rsi + rcx + 5], 6 pinsrb xmm8, byte ptr [rsi + r11 + 5], 7 @@ -6948,7 +7400,7 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 pinsrb xmm8, byte ptr [rsi + r12 + 5], 10 pinsrb xmm8, byte ptr [rsi + r14 + 5], 11 pinsrb xmm8, byte ptr [rsi + r15 + 5], 12 - mov rcx, qword ptr [rsp + 40] # 8-byte Reload + mov rcx, qword ptr [rsp + 8] # 8-byte Reload pinsrb xmm8, byte ptr [rsi + rcx + 5], 13 pinsrb xmm8, byte ptr [rsi + r13 + 5], 14 pinsrb xmm8, byte ptr [rsi + r10 + 5], 15 @@ -6965,33 +7417,33 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 pinsrb xmm3, byte ptr [rsi + r8 + 6], 1 pinsrb xmm3, byte ptr [rsi + rdi + 6], 2 pinsrb xmm3, byte ptr [rsi + rax + 6], 3 - mov r11, qword ptr [rsp + 88] # 8-byte Reload + mov r11, qword ptr [rsp + 80] # 8-byte Reload pinsrb xmm3, byte ptr [rsi + r11 + 6], 4 - mov r9, qword ptr [rsp + 120] # 8-byte Reload + mov r9, qword ptr [rsp + 72] # 8-byte Reload pinsrb xmm3, byte ptr [rsi + r9 + 6], 5 - mov r8, qword ptr [rsp + 104] # 8-byte Reload + mov r8, qword ptr [rsp + 96] # 8-byte Reload pinsrb xmm3, byte ptr [rsi + r8 + 6], 6 - mov r12, qword ptr [rsp + 192] # 8-byte Reload + mov r12, qword ptr [rsp + 112] # 8-byte Reload pinsrb xmm3, byte ptr [rsi + r12 + 6], 7 - mov rax, qword ptr [rsp + 16] # 8-byte Reload + mov rax, qword ptr [rsp + 24] # 8-byte Reload pinsrb xmm3, byte ptr [rsi + rax + 6], 8 mov rbx, qword ptr [rsp + 64] # 8-byte Reload pinsrb xmm3, byte ptr [rsi + rbx + 6], 9 - mov r14, qword ptr [rsp + 96] # 8-byte Reload + mov r14, qword ptr [rsp + 88] # 8-byte Reload pinsrb xmm3, byte ptr [rsi + r14 + 6], 10 - mov rcx, qword ptr [rsp + 72] # 8-byte Reload + mov rcx, qword ptr [rsp + 128] # 8-byte Reload pinsrb xmm3, byte ptr [rsi + rcx + 6], 11 pinsrb xmm3, byte ptr [rsi + r15 + 6], 12 - mov r10, qword ptr [rsp + 40] # 8-byte Reload + mov r10, qword ptr [rsp + 8] # 8-byte Reload pinsrb xmm3, byte ptr [rsi + r10 + 6], 13 pinsrb xmm3, byte ptr [rsi + r13 + 6], 14 - mov rcx, qword ptr [rsp + 32] # 8-byte Reload + mov rcx, qword ptr [rsp + 16] # 8-byte Reload pinsrb xmm3, byte ptr [rsi + rcx + 6], 15 movdqa xmm2, xmmword ptr [rsp + 208] # 16-byte Reload pinsrb xmm2, byte ptr [rsi + rdx + 7], 1 pinsrb xmm2, byte ptr [rsi + rdi + 7], 2 - mov qword ptr [rsp + 224], rdi # 8-byte Spill - mov rcx, qword ptr [rsp + 128] # 8-byte Reload + mov qword ptr [rsp + 160], rdi # 8-byte Spill + mov rcx, qword ptr [rsp + 120] # 8-byte Reload pinsrb xmm2, byte ptr [rsi + rcx + 7], 3 pinsrb xmm2, byte ptr [rsi + r11 + 7], 4 pinsrb xmm2, byte ptr [rsi + r9 + 7], 5 @@ -7002,12 +7454,12 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 pinsrb xmm2, byte ptr [rsi + rbx + 7], 9 pinsrb xmm2, byte ptr [rsi + r14 + 7], 10 mov r12, r14 - mov rax, qword ptr [rsp + 72] # 8-byte Reload + mov rax, qword ptr [rsp + 128] # 8-byte Reload pinsrb xmm2, byte ptr [rsi + rax + 7], 11 pinsrb xmm2, byte ptr [rsi + r15 + 7], 12 pinsrb xmm2, byte ptr [rsi + r10 + 7], 13 pinsrb xmm2, byte ptr [rsi + r13 + 7], 14 - mov r14, qword ptr [rsp + 32] # 8-byte Reload + mov r14, qword ptr [rsp + 16] # 8-byte Reload pinsrb xmm2, byte ptr [rsi + r14 + 7], 15 pcmpeqb xmm3, xmm9 movdqa xmm1, xmmword ptr [rip + .LCPI1_15] # xmm1 = [64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64] @@ -7018,19 +7470,19 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 pand xmm2, xmm1 por xmm2, xmm3 movdqa xmm1, xmm2 - mov rbx, qword ptr [rsp + 56] # 8-byte Reload + mov rbx, qword ptr [rsp + 48] # 8-byte Reload movzx edx, byte ptr [rsi + rbx + 21] movd xmm2, edx - mov rdx, qword ptr [rsp + 24] # 8-byte Reload + mov rdx, qword ptr [rsp + 40] # 8-byte Reload pinsrb xmm10, byte ptr [rsi + rdx + 9], 1 pinsrb xmm10, byte ptr [rsi + rdi + 9], 2 pinsrb xmm10, byte ptr [rsi + rcx + 9], 3 - mov rdi, qword ptr [rsp + 88] # 8-byte Reload + mov rdi, qword ptr [rsp + 80] # 8-byte Reload pinsrb xmm10, byte ptr [rsi + rdi + 9], 4 pinsrb xmm10, byte ptr [rsi + r9 + 9], 5 pinsrb xmm10, byte ptr [rsi + r8 + 9], 6 pinsrb xmm10, byte ptr [rsi + r11 + 9], 7 - mov rcx, qword ptr [rsp + 16] # 8-byte Reload + mov rcx, qword ptr [rsp + 24] # 8-byte Reload pinsrb xmm10, byte ptr [rsi + rcx + 9], 8 mov rcx, qword ptr [rsp + 64] # 8-byte Reload pinsrb xmm10, byte ptr [rsi + rcx + 9], 9 @@ -7049,132 +7501,130 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 psubb xmm1, xmm10 movzx edx, byte ptr [rsi + rbx + 22] movd xmm3, edx - movdqa xmm4, xmmword ptr [rsp + 288] # 16-byte Reload - mov r10, qword ptr [rsp + 24] # 8-byte Reload + movdqa xmm4, xmmword ptr [rsp + 240] # 16-byte Reload + mov r10, qword ptr [rsp + 40] # 8-byte Reload pinsrb xmm4, byte ptr [rsi + r10 + 8], 1 - mov r12, qword ptr [rsp + 224] # 8-byte Reload + mov r12, qword ptr [rsp + 160] # 8-byte Reload pinsrb xmm4, byte ptr [rsi + r12 + 8], 2 - mov rax, qword ptr [rsp + 128] # 8-byte Reload + mov rax, qword ptr [rsp + 120] # 8-byte Reload pinsrb xmm4, byte ptr [rsi + rax + 8], 3 pinsrb xmm4, byte ptr [rsi + rdi + 8], 4 pinsrb xmm4, byte ptr [rsi + r9 + 8], 5 pinsrb xmm4, byte ptr [rsi + r8 + 8], 6 mov rbx, r11 pinsrb xmm4, byte ptr [rsi + r11 + 8], 7 - mov rdx, qword ptr [rsp + 16] # 8-byte Reload + mov rdx, qword ptr [rsp + 24] # 8-byte Reload pinsrb xmm4, byte ptr [rsi + rdx + 8], 8 pinsrb xmm4, byte ptr [rsi + rcx + 8], 9 - mov rcx, qword ptr [rsp + 96] # 8-byte Reload + mov rcx, qword ptr [rsp + 88] # 8-byte Reload pinsrb xmm4, byte ptr [rsi + rcx + 8], 10 - mov r14, qword ptr [rsp + 72] # 8-byte Reload + mov r14, qword ptr [rsp + 128] # 8-byte Reload pinsrb xmm4, byte ptr [rsi + r14 + 8], 11 pinsrb xmm4, byte ptr [rsi + r15 + 8], 12 - mov rdi, qword ptr [rsp + 40] # 8-byte Reload + mov rdi, qword ptr [rsp + 8] # 8-byte Reload pinsrb xmm4, byte ptr [rsi + rdi + 8], 13 pinsrb xmm4, byte ptr [rsi + r13 + 8], 14 - mov rdi, qword ptr [rsp + 32] # 8-byte Reload + mov rdi, qword ptr [rsp + 16] # 8-byte Reload pinsrb xmm4, byte ptr [rsi + rdi + 8], 15 pcmpeqb xmm4, xmm9 pand xmm4, xmm8 - movdqa xmm10, xmmword ptr [rsp + 160] # 16-byte Reload + movdqa xmm10, xmmword ptr [rsp + 176] # 16-byte Reload pinsrb xmm10, byte ptr [rsi + r10 + 10], 1 pinsrb xmm10, byte ptr [rsi + r12 + 10], 2 pinsrb xmm10, byte ptr [rsi + rax + 10], 3 - mov r11, qword ptr [rsp + 88] # 8-byte Reload + mov r11, qword ptr [rsp + 80] # 8-byte Reload pinsrb xmm10, byte ptr [rsi + r11 + 10], 4 pinsrb xmm10, byte ptr [rsi + r9 + 10], 5 pinsrb xmm10, byte ptr [rsi + r8 + 10], 6 + mov r10, r8 pinsrb xmm10, byte ptr [rsi + rbx + 10], 7 - mov r10, rbx + mov r8, rbx pinsrb xmm10, byte ptr [rsi + rdx + 10], 8 - mov r8, qword ptr [rsp + 64] # 8-byte Reload - pinsrb xmm10, byte ptr [rsi + r8 + 10], 9 + mov rbx, qword ptr [rsp + 64] # 8-byte Reload + pinsrb xmm10, byte ptr [rsi + rbx + 10], 9 pinsrb xmm10, byte ptr [rsi + rcx + 10], 10 pinsrb xmm10, byte ptr [rsi + r14 + 10], 11 - mov r13, r14 pinsrb xmm10, byte ptr [rsi + r15 + 10], 12 - mov rcx, qword ptr [rsp + 40] # 8-byte Reload + mov rcx, qword ptr [rsp + 8] # 8-byte Reload pinsrb xmm10, byte ptr [rsi + rcx + 10], 13 - mov rdx, qword ptr [rsp + 48] # 8-byte Reload - pinsrb xmm10, byte ptr [rsi + rdx + 10], 14 + pinsrb xmm10, byte ptr [rsi + r13 + 10], 14 pinsrb xmm10, byte ptr [rsi + rdi + 10], 15 pcmpeqb xmm10, xmm9 pand xmm10, xmmword ptr [rip + .LCPI1_11] por xmm10, xmm4 - mov rdi, qword ptr [rsp + 56] # 8-byte Reload + mov rdi, qword ptr [rsp + 48] # 8-byte Reload movzx edx, byte ptr [rsi + rdi + 23] movd xmm8, edx por xmm10, xmm1 - movdqa xmmword ptr [rsp + 160], xmm10 # 16-byte Spill + movdqa xmmword ptr [rsp + 176], xmm10 # 16-byte Spill movzx edx, byte ptr [rsi + rdi + 24] movd xmm10, edx - mov rdx, qword ptr [rsp + 24] # 8-byte Reload + mov rdx, qword ptr [rsp + 40] # 8-byte Reload pinsrb xmm11, byte ptr [rsi + rdx + 11], 1 pinsrb xmm11, byte ptr [rsi + r12 + 11], 2 pinsrb xmm11, byte ptr [rsi + rax + 11], 3 pinsrb xmm11, byte ptr [rsi + r11 + 11], 4 pinsrb xmm11, byte ptr [rsi + r9 + 11], 5 - mov rbx, qword ptr [rsp + 104] # 8-byte Reload - pinsrb xmm11, byte ptr [rsi + rbx + 11], 6 - mov r14, r10 - pinsrb xmm11, byte ptr [rsi + r10 + 11], 7 - mov r10, qword ptr [rsp + 16] # 8-byte Reload - pinsrb xmm11, byte ptr [rsi + r10 + 11], 8 - pinsrb xmm11, byte ptr [rsi + r8 + 11], 9 - mov r9, qword ptr [rsp + 96] # 8-byte Reload - pinsrb xmm11, byte ptr [rsi + r9 + 11], 10 - pinsrb xmm11, byte ptr [rsi + r13 + 11], 11 + pinsrb xmm11, byte ptr [rsi + r10 + 11], 6 + pinsrb xmm11, byte ptr [rsi + r8 + 11], 7 + mov r9, qword ptr [rsp + 24] # 8-byte Reload + pinsrb xmm11, byte ptr [rsi + r9 + 11], 8 + mov r8, rbx + pinsrb xmm11, byte ptr [rsi + rbx + 11], 9 + mov rdi, qword ptr [rsp + 88] # 8-byte Reload + pinsrb xmm11, byte ptr [rsi + rdi + 11], 10 + pinsrb xmm11, byte ptr [rsi + r14 + 11], 11 pinsrb xmm11, byte ptr [rsi + r15 + 11], 12 pinsrb xmm11, byte ptr [rsi + rcx + 11], 13 - mov rdi, qword ptr [rsp + 48] # 8-byte Reload - pinsrb xmm11, byte ptr [rsi + rdi + 11], 14 - mov rdi, qword ptr [rsp + 32] # 8-byte Reload - pinsrb xmm11, byte ptr [rsi + rdi + 11], 15 + pinsrb xmm11, byte ptr [rsi + r13 + 11], 14 + mov rbx, qword ptr [rsp + 16] # 8-byte Reload + pinsrb xmm11, byte ptr [rsi + rbx + 11], 15 pinsrb xmm13, byte ptr [rsi + rdx + 12], 1 pinsrb xmm13, byte ptr [rsi + r12 + 12], 2 pinsrb xmm13, byte ptr [rsi + rax + 12], 3 pinsrb xmm13, byte ptr [rsi + r11 + 12], 4 - mov r13, qword ptr [rsp + 120] # 8-byte Reload + mov r13, qword ptr [rsp + 72] # 8-byte Reload pinsrb xmm13, byte ptr [rsi + r13 + 12], 5 - pinsrb xmm13, byte ptr [rsi + rbx + 12], 6 - pinsrb xmm13, byte ptr [rsi + r14 + 12], 7 - pinsrb xmm13, byte ptr [rsi + r10 + 12], 8 + pinsrb xmm13, byte ptr [rsi + r10 + 12], 6 + mov rbx, qword ptr [rsp + 112] # 8-byte Reload + pinsrb xmm13, byte ptr [rsi + rbx + 12], 7 + pinsrb xmm13, byte ptr [rsi + r9 + 12], 8 + mov r10, r9 pinsrb xmm13, byte ptr [rsi + r8 + 12], 9 - mov rbx, r8 - pinsrb xmm13, byte ptr [rsi + r9 + 12], 10 - mov r8, r9 - mov r13, qword ptr [rsp + 72] # 8-byte Reload - pinsrb xmm13, byte ptr [rsi + r13 + 12], 11 + mov r9, r8 + pinsrb xmm13, byte ptr [rsi + rdi + 12], 10 + mov r8, rdi + pinsrb xmm13, byte ptr [rsi + r14 + 12], 11 pinsrb xmm13, byte ptr [rsi + r15 + 12], 12 pinsrb xmm13, byte ptr [rsi + rcx + 12], 13 - mov r9, qword ptr [rsp + 48] # 8-byte Reload - pinsrb xmm13, byte ptr [rsi + r9 + 12], 14 - mov rdi, qword ptr [rsp + 32] # 8-byte Reload + mov r13, qword ptr [rsp + 32] # 8-byte Reload + pinsrb xmm13, byte ptr [rsi + r13 + 12], 14 + mov rdi, qword ptr [rsp + 16] # 8-byte Reload pinsrb xmm13, byte ptr [rsi + rdi + 12], 15 pinsrb xmm12, byte ptr [rsi + rdx + 13], 1 pinsrb xmm12, byte ptr [rsi + r12 + 13], 2 pinsrb xmm12, byte ptr [rsi + rax + 13], 3 pinsrb xmm12, byte ptr [rsi + r11 + 13], 4 - mov rax, qword ptr [rsp + 120] # 8-byte Reload + mov rax, qword ptr [rsp + 72] # 8-byte Reload pinsrb xmm12, byte ptr [rsi + rax + 13], 5 - mov rdx, qword ptr [rsp + 104] # 8-byte Reload + mov rdx, qword ptr [rsp + 96] # 8-byte Reload pinsrb xmm12, byte ptr [rsi + rdx + 13], 6 - pinsrb xmm12, byte ptr [rsi + r14 + 13], 7 + mov rbx, qword ptr [rsp + 112] # 8-byte Reload + pinsrb xmm12, byte ptr [rsi + rbx + 13], 7 pinsrb xmm12, byte ptr [rsi + r10 + 13], 8 - pinsrb xmm12, byte ptr [rsi + rbx + 13], 9 + pinsrb xmm12, byte ptr [rsi + r9 + 13], 9 pinsrb xmm12, byte ptr [rsi + r8 + 13], 10 - pinsrb xmm12, byte ptr [rsi + r13 + 13], 11 + pinsrb xmm12, byte ptr [rsi + r14 + 13], 11 pinsrb xmm12, byte ptr [rsi + r15 + 13], 12 pinsrb xmm12, byte ptr [rsi + rcx + 13], 13 - mov r13, r9 - pinsrb xmm12, byte ptr [rsi + r9 + 13], 14 + pinsrb xmm12, byte ptr [rsi + r13 + 13], 14 pinsrb xmm12, byte ptr [rsi + rdi + 13], 15 pcmpeqb xmm11, xmm9 pand xmm11, xmmword ptr [rip + .LCPI1_12] pcmpeqb xmm13, xmm9 pand xmm13, xmmword ptr [rip + .LCPI1_13] por xmm13, xmm11 - mov rcx, qword ptr [rsp + 56] # 8-byte Reload + mov rcx, qword ptr [rsp + 48] # 8-byte Reload movzx edx, byte ptr [rsi + rcx + 25] movd xmm1, edx pcmpeqb xmm12, xmm9 @@ -7183,32 +7633,30 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 movzx edx, byte ptr [rsi + rcx + 26] movd xmm11, edx movdqa xmm4, xmmword ptr [rsp + 272] # 16-byte Reload - mov rcx, qword ptr [rsp + 24] # 8-byte Reload + mov rcx, qword ptr [rsp + 40] # 8-byte Reload pinsrb xmm4, byte ptr [rsi + rcx + 14], 1 pinsrb xmm4, byte ptr [rsi + r12 + 14], 2 - mov r10, qword ptr [rsp + 128] # 8-byte Reload + mov r10, qword ptr [rsp + 120] # 8-byte Reload pinsrb xmm4, byte ptr [rsi + r10 + 14], 3 pinsrb xmm4, byte ptr [rsi + r11 + 14], 4 pinsrb xmm4, byte ptr [rsi + rax + 14], 5 - mov rcx, qword ptr [rsp + 104] # 8-byte Reload + mov rcx, qword ptr [rsp + 96] # 8-byte Reload pinsrb xmm4, byte ptr [rsi + rcx + 14], 6 - mov rdi, r14 - pinsrb xmm4, byte ptr [rsi + r14 + 14], 7 - mov r8, qword ptr [rsp + 16] # 8-byte Reload + mov rdi, rbx + pinsrb xmm4, byte ptr [rsi + rbx + 14], 7 + mov r8, qword ptr [rsp + 24] # 8-byte Reload pinsrb xmm4, byte ptr [rsi + r8 + 14], 8 - mov r9, qword ptr [rsp + 64] # 8-byte Reload pinsrb xmm4, byte ptr [rsi + r9 + 14], 9 - mov rbx, qword ptr [rsp + 96] # 8-byte Reload + mov rbx, qword ptr [rsp + 88] # 8-byte Reload pinsrb xmm4, byte ptr [rsi + rbx + 14], 10 - mov r14, qword ptr [rsp + 72] # 8-byte Reload pinsrb xmm4, byte ptr [rsi + r14 + 14], 11 pinsrb xmm4, byte ptr [rsi + r15 + 14], 12 - mov rdx, qword ptr [rsp + 40] # 8-byte Reload + mov rdx, qword ptr [rsp + 8] # 8-byte Reload pinsrb xmm4, byte ptr [rsi + rdx + 14], 13 pinsrb xmm4, byte ptr [rsi + r13 + 14], 14 - mov rdx, qword ptr [rsp + 32] # 8-byte Reload + mov rdx, qword ptr [rsp + 16] # 8-byte Reload pinsrb xmm4, byte ptr [rsi + rdx + 14], 15 - mov rdx, qword ptr [rsp + 24] # 8-byte Reload + mov rdx, qword ptr [rsp + 40] # 8-byte Reload pinsrb xmm14, byte ptr [rsi + rdx + 15], 1 pinsrb xmm14, byte ptr [rsi + r12 + 15], 2 pinsrb xmm14, byte ptr [rsi + r10 + 15], 3 @@ -7221,12 +7669,12 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 pinsrb xmm14, byte ptr [rsi + rbx + 15], 10 pinsrb xmm14, byte ptr [rsi + r14 + 15], 11 pinsrb xmm14, byte ptr [rsi + r15 + 15], 12 - mov rdx, qword ptr [rsp + 40] # 8-byte Reload + mov rdx, qword ptr [rsp + 8] # 8-byte Reload pinsrb xmm14, byte ptr [rsi + rdx + 15], 13 pinsrb xmm14, byte ptr [rsi + r13 + 15], 14 - mov rdx, qword ptr [rsp + 32] # 8-byte Reload + mov rdx, qword ptr [rsp + 16] # 8-byte Reload pinsrb xmm14, byte ptr [rsi + rdx + 15], 15 - mov rdx, qword ptr [rsp + 24] # 8-byte Reload + mov rdx, qword ptr [rsp + 40] # 8-byte Reload pinsrb xmm15, byte ptr [rsi + rdx + 16], 1 pinsrb xmm15, byte ptr [rsi + r12 + 16], 2 pinsrb xmm15, byte ptr [rsi + r10 + 16], 3 @@ -7239,10 +7687,10 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 pinsrb xmm15, byte ptr [rsi + rbx + 16], 10 pinsrb xmm15, byte ptr [rsi + r14 + 16], 11 pinsrb xmm15, byte ptr [rsi + r15 + 16], 12 - mov rdx, qword ptr [rsp + 40] # 8-byte Reload + mov rdx, qword ptr [rsp + 8] # 8-byte Reload pinsrb xmm15, byte ptr [rsi + rdx + 16], 13 pinsrb xmm15, byte ptr [rsi + r13 + 16], 14 - mov rdx, qword ptr [rsp + 24] # 8-byte Reload + mov rdx, qword ptr [rsp + 40] # 8-byte Reload pinsrb xmm0, byte ptr [rsi + rdx + 17], 1 pinsrb xmm0, byte ptr [rsi + r12 + 17], 2 pinsrb xmm0, byte ptr [rsi + r10 + 17], 3 @@ -7252,19 +7700,20 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 pinsrb xmm0, byte ptr [rsi + rcx + 17], 6 pinsrb xmm0, byte ptr [rsi + rdi + 17], 7 pinsrb xmm0, byte ptr [rsi + r8 + 17], 8 + mov rax, r8 pinsrb xmm0, byte ptr [rsi + r9 + 17], 9 pinsrb xmm0, byte ptr [rsi + rbx + 17], 10 pinsrb xmm0, byte ptr [rsi + r14 + 17], 11 pinsrb xmm0, byte ptr [rsi + r15 + 17], 12 - mov rax, qword ptr [rsp + 40] # 8-byte Reload - pinsrb xmm0, byte ptr [rsi + rax + 17], 13 - mov rdx, qword ptr [rsp + 48] # 8-byte Reload + mov rdx, qword ptr [rsp + 8] # 8-byte Reload + pinsrb xmm0, byte ptr [rsi + rdx + 17], 13 + mov rdx, qword ptr [rsp + 32] # 8-byte Reload pinsrb xmm0, byte ptr [rsi + rdx + 17], 14 - por xmm12, xmmword ptr [rsp + 160] # 16-byte Folded Reload - mov r12, qword ptr [rsp + 56] # 8-byte Reload + por xmm12, xmmword ptr [rsp + 176] # 16-byte Folded Reload + mov r12, qword ptr [rsp + 48] # 8-byte Reload movzx edx, byte ptr [rsi + r12 + 27] movd xmm9, edx - movdqa xmm13, xmmword ptr [rsp + 176] # 16-byte Reload + movdqa xmm13, xmmword ptr [rsp + 192] # 16-byte Reload pcmpeqb xmm4, xmm13 pand xmm4, xmmword ptr [rip + .LCPI1_15] pcmpeqb xmm14, xmm13 @@ -7273,7 +7722,7 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 por xmm14, xmm4 movzx edx, byte ptr [rsi + r12 + 28] movd xmm4, edx - mov r8, qword ptr [rsp + 32] # 8-byte Reload + mov r8, qword ptr [rsp + 16] # 8-byte Reload pinsrb xmm0, byte ptr [rsi + r8 + 17], 15 por xmm14, xmm12 pcmpeqb xmm0, xmm13 @@ -7281,36 +7730,36 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 movdqa xmm12, xmmword ptr [rip + .LCPI1_10] # xmm12 = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1] pand xmm13, xmm12 psubb xmm13, xmm0 - movdqa xmmword ptr [rsp + 160], xmm13 # 16-byte Spill + movdqa xmmword ptr [rsp + 176], xmm13 # 16-byte Spill movzx edx, byte ptr [rsi + r12 + 29] movd xmm13, edx pinsrb xmm15, byte ptr [rsi + r8 + 16], 15 - movdqa xmm0, xmmword ptr [rsp + 176] # 16-byte Reload + movdqa xmm0, xmmword ptr [rsp + 192] # 16-byte Reload pcmpeqb xmm15, xmm0 - mov r12, qword ptr [rsp + 24] # 8-byte Reload + mov r12, qword ptr [rsp + 40] # 8-byte Reload pinsrb xmm5, byte ptr [rsi + r12 + 18], 1 - mov rdx, qword ptr [rsp + 224] # 8-byte Reload + mov rdx, qword ptr [rsp + 160] # 8-byte Reload pinsrb xmm5, byte ptr [rsi + rdx + 18], 2 pinsrb xmm5, byte ptr [rsi + r10 + 18], 3 pinsrb xmm5, byte ptr [rsi + r11 + 18], 4 pinsrb xmm5, byte ptr [rsi + r13 + 18], 5 pinsrb xmm5, byte ptr [rsi + rcx + 18], 6 pinsrb xmm5, byte ptr [rsi + rdi + 18], 7 - mov rdx, qword ptr [rsp + 16] # 8-byte Reload - pinsrb xmm5, byte ptr [rsi + rdx + 18], 8 + pinsrb xmm5, byte ptr [rsi + rax + 18], 8 pinsrb xmm5, byte ptr [rsi + r9 + 18], 9 pinsrb xmm5, byte ptr [rsi + rbx + 18], 10 pinsrb xmm5, byte ptr [rsi + r14 + 18], 11 pinsrb xmm5, byte ptr [rsi + r15 + 18], 12 - pinsrb xmm5, byte ptr [rsi + rax + 18], 13 - mov rax, qword ptr [rsp + 48] # 8-byte Reload - pinsrb xmm5, byte ptr [rsi + rax + 18], 14 + mov rdx, qword ptr [rsp + 8] # 8-byte Reload + pinsrb xmm5, byte ptr [rsi + rdx + 18], 13 + mov rdx, qword ptr [rsp + 32] # 8-byte Reload + pinsrb xmm5, byte ptr [rsi + rdx + 18], 14 pand xmm15, xmm12 pinsrb xmm5, byte ptr [rsi + r8 + 18], 15 pcmpeqb xmm5, xmm0 pand xmm5, xmmword ptr [rip + .LCPI1_11] por xmm5, xmm15 - mov rax, qword ptr [rsp + 56] # 8-byte Reload + mov rax, qword ptr [rsp + 48] # 8-byte Reload movzx edx, byte ptr [rsi + rax + 30] movd xmm12, edx pinsrb xmm7, byte ptr [rsi + r12 + 19], 1 @@ -7328,7 +7777,7 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 movzx edx, byte ptr [rsi + rax + 31] movd xmm0, edx pinsrb xmm0, byte ptr [rsi + r12 + 31], 1 - mov rdx, qword ptr [rsp + 224] # 8-byte Reload + mov rdx, qword ptr [rsp + 160] # 8-byte Reload pinsrb xmm7, byte ptr [rsi + rdx + 19], 2 pinsrb xmm6, byte ptr [rsi + rdx + 20], 2 pinsrb xmm2, byte ptr [rsi + rdx + 21], 2 @@ -7347,32 +7796,32 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 pinsrb xmm7, byte ptr [rsi + r13 + 19], 5 pinsrb xmm7, byte ptr [rsi + rcx + 19], 6 pinsrb xmm7, byte ptr [rsi + rdi + 19], 7 - mov r12, qword ptr [rsp + 16] # 8-byte Reload - pinsrb xmm7, byte ptr [rsi + r12 + 19], 8 + mov rax, qword ptr [rsp + 24] # 8-byte Reload + pinsrb xmm7, byte ptr [rsi + rax + 19], 8 pinsrb xmm7, byte ptr [rsi + r9 + 19], 9 pinsrb xmm7, byte ptr [rsi + rbx + 19], 10 pinsrb xmm7, byte ptr [rsi + r14 + 19], 11 pinsrb xmm7, byte ptr [rsi + r15 + 19], 12 - mov rdx, qword ptr [rsp + 40] # 8-byte Reload + mov rdx, qword ptr [rsp + 8] # 8-byte Reload pinsrb xmm7, byte ptr [rsi + rdx + 19], 13 - mov rax, qword ptr [rsp + 48] # 8-byte Reload - pinsrb xmm7, byte ptr [rsi + rax + 19], 14 + mov r12, qword ptr [rsp + 32] # 8-byte Reload + pinsrb xmm7, byte ptr [rsi + r12 + 19], 14 pinsrb xmm7, byte ptr [rsi + r8 + 19], 15 pinsrb xmm6, byte ptr [rsi + r10 + 20], 3 pinsrb xmm6, byte ptr [rsi + r11 + 20], 4 pinsrb xmm6, byte ptr [rsi + r13 + 20], 5 pinsrb xmm6, byte ptr [rsi + rcx + 20], 6 pinsrb xmm6, byte ptr [rsi + rdi + 20], 7 - pinsrb xmm6, byte ptr [rsi + r12 + 20], 8 + pinsrb xmm6, byte ptr [rsi + rax + 20], 8 pinsrb xmm6, byte ptr [rsi + r9 + 20], 9 pinsrb xmm6, byte ptr [rsi + rbx + 20], 10 pinsrb xmm6, byte ptr [rsi + r14 + 20], 11 pinsrb xmm6, byte ptr [rsi + r15 + 20], 12 pinsrb xmm6, byte ptr [rsi + rdx + 20], 13 - pinsrb xmm6, byte ptr [rsi + rax + 20], 14 - por xmm5, xmmword ptr [rsp + 160] # 16-byte Folded Reload + pinsrb xmm6, byte ptr [rsi + r12 + 20], 14 + por xmm5, xmmword ptr [rsp + 176] # 16-byte Folded Reload pinsrb xmm6, byte ptr [rsi + r8 + 20], 15 - movdqa xmm15, xmmword ptr [rsp + 176] # 16-byte Reload + movdqa xmm15, xmmword ptr [rsp + 192] # 16-byte Reload pcmpeqb xmm7, xmm15 pand xmm7, xmmword ptr [rip + .LCPI1_12] pcmpeqb xmm6, xmm15 @@ -7383,13 +7832,13 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 pinsrb xmm2, byte ptr [rsi + r13 + 21], 5 pinsrb xmm2, byte ptr [rsi + rcx + 21], 6 pinsrb xmm2, byte ptr [rsi + rdi + 21], 7 - pinsrb xmm2, byte ptr [rsi + r12 + 21], 8 + pinsrb xmm2, byte ptr [rsi + rax + 21], 8 pinsrb xmm2, byte ptr [rsi + r9 + 21], 9 pinsrb xmm2, byte ptr [rsi + rbx + 21], 10 pinsrb xmm2, byte ptr [rsi + r14 + 21], 11 pinsrb xmm2, byte ptr [rsi + r15 + 21], 12 pinsrb xmm2, byte ptr [rsi + rdx + 21], 13 - pinsrb xmm2, byte ptr [rsi + rax + 21], 14 + pinsrb xmm2, byte ptr [rsi + r12 + 21], 14 pinsrb xmm2, byte ptr [rsi + r8 + 21], 15 pcmpeqb xmm2, xmm15 movdqa xmm7, xmmword ptr [rip + .LCPI1_14] # xmm7 = [32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32] @@ -7401,26 +7850,26 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 pinsrb xmm3, byte ptr [rsi + r13 + 22], 5 pinsrb xmm3, byte ptr [rsi + rcx + 22], 6 pinsrb xmm3, byte ptr [rsi + rdi + 22], 7 - pinsrb xmm3, byte ptr [rsi + r12 + 22], 8 + pinsrb xmm3, byte ptr [rsi + rax + 22], 8 pinsrb xmm3, byte ptr [rsi + r9 + 22], 9 pinsrb xmm3, byte ptr [rsi + rbx + 22], 10 pinsrb xmm3, byte ptr [rsi + r14 + 22], 11 pinsrb xmm3, byte ptr [rsi + r15 + 22], 12 pinsrb xmm3, byte ptr [rsi + rdx + 22], 13 - pinsrb xmm3, byte ptr [rsi + rax + 22], 14 + pinsrb xmm3, byte ptr [rsi + r12 + 22], 14 pinsrb xmm3, byte ptr [rsi + r8 + 22], 15 pinsrb xmm8, byte ptr [rsi + r10 + 23], 3 pinsrb xmm8, byte ptr [rsi + r11 + 23], 4 pinsrb xmm8, byte ptr [rsi + r13 + 23], 5 pinsrb xmm8, byte ptr [rsi + rcx + 23], 6 pinsrb xmm8, byte ptr [rsi + rdi + 23], 7 - pinsrb xmm8, byte ptr [rsi + r12 + 23], 8 + pinsrb xmm8, byte ptr [rsi + rax + 23], 8 pinsrb xmm8, byte ptr [rsi + r9 + 23], 9 pinsrb xmm8, byte ptr [rsi + rbx + 23], 10 pinsrb xmm8, byte ptr [rsi + r14 + 23], 11 pinsrb xmm8, byte ptr [rsi + r15 + 23], 12 pinsrb xmm8, byte ptr [rsi + rdx + 23], 13 - pinsrb xmm8, byte ptr [rsi + rax + 23], 14 + pinsrb xmm8, byte ptr [rsi + r12 + 23], 14 pinsrb xmm8, byte ptr [rsi + r8 + 23], 15 pcmpeqb xmm3, xmm15 movdqa xmm5, xmmword ptr [rip + .LCPI1_15] # xmm5 = [64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64] @@ -7435,13 +7884,13 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 pinsrb xmm1, byte ptr [rsi + r13 + 25], 5 pinsrb xmm1, byte ptr [rsi + rcx + 25], 6 pinsrb xmm1, byte ptr [rsi + rdi + 25], 7 - pinsrb xmm1, byte ptr [rsi + r12 + 25], 8 + pinsrb xmm1, byte ptr [rsi + rax + 25], 8 pinsrb xmm1, byte ptr [rsi + r9 + 25], 9 pinsrb xmm1, byte ptr [rsi + rbx + 25], 10 pinsrb xmm1, byte ptr [rsi + r14 + 25], 11 pinsrb xmm1, byte ptr [rsi + r15 + 25], 12 pinsrb xmm1, byte ptr [rsi + rdx + 25], 13 - pinsrb xmm1, byte ptr [rsi + rax + 25], 14 + pinsrb xmm1, byte ptr [rsi + r12 + 25], 14 pinsrb xmm1, byte ptr [rsi + r8 + 25], 15 por xmm8, xmm2 pcmpeqb xmm1, xmm15 @@ -7454,13 +7903,13 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 pinsrb xmm10, byte ptr [rsi + r13 + 24], 5 pinsrb xmm10, byte ptr [rsi + rcx + 24], 6 pinsrb xmm10, byte ptr [rsi + rdi + 24], 7 - pinsrb xmm10, byte ptr [rsi + r12 + 24], 8 + pinsrb xmm10, byte ptr [rsi + rax + 24], 8 pinsrb xmm10, byte ptr [rsi + r9 + 24], 9 pinsrb xmm10, byte ptr [rsi + rbx + 24], 10 pinsrb xmm10, byte ptr [rsi + r14 + 24], 11 pinsrb xmm10, byte ptr [rsi + r15 + 24], 12 pinsrb xmm10, byte ptr [rsi + rdx + 24], 13 - pinsrb xmm10, byte ptr [rsi + rax + 24], 14 + pinsrb xmm10, byte ptr [rsi + r12 + 24], 14 pinsrb xmm10, byte ptr [rsi + r8 + 24], 15 pcmpeqb xmm10, xmm15 pand xmm10, xmm3 @@ -7469,13 +7918,13 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 pinsrb xmm11, byte ptr [rsi + r13 + 26], 5 pinsrb xmm11, byte ptr [rsi + rcx + 26], 6 pinsrb xmm11, byte ptr [rsi + rdi + 26], 7 - pinsrb xmm11, byte ptr [rsi + r12 + 26], 8 + pinsrb xmm11, byte ptr [rsi + rax + 26], 8 pinsrb xmm11, byte ptr [rsi + r9 + 26], 9 pinsrb xmm11, byte ptr [rsi + rbx + 26], 10 pinsrb xmm11, byte ptr [rsi + r14 + 26], 11 pinsrb xmm11, byte ptr [rsi + r15 + 26], 12 pinsrb xmm11, byte ptr [rsi + rdx + 26], 13 - pinsrb xmm11, byte ptr [rsi + rax + 26], 14 + pinsrb xmm11, byte ptr [rsi + r12 + 26], 14 pinsrb xmm11, byte ptr [rsi + r8 + 26], 15 pcmpeqb xmm11, xmm15 pand xmm11, xmmword ptr [rip + .LCPI1_11] @@ -7486,39 +7935,39 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 pinsrb xmm9, byte ptr [rsi + r13 + 27], 5 pinsrb xmm9, byte ptr [rsi + rcx + 27], 6 pinsrb xmm9, byte ptr [rsi + rdi + 27], 7 - pinsrb xmm9, byte ptr [rsi + r12 + 27], 8 + pinsrb xmm9, byte ptr [rsi + rax + 27], 8 pinsrb xmm9, byte ptr [rsi + r9 + 27], 9 pinsrb xmm9, byte ptr [rsi + rbx + 27], 10 pinsrb xmm9, byte ptr [rsi + r14 + 27], 11 pinsrb xmm9, byte ptr [rsi + r15 + 27], 12 pinsrb xmm9, byte ptr [rsi + rdx + 27], 13 - pinsrb xmm9, byte ptr [rsi + rax + 27], 14 + pinsrb xmm9, byte ptr [rsi + r12 + 27], 14 pinsrb xmm9, byte ptr [rsi + r8 + 27], 15 pinsrb xmm4, byte ptr [rsi + r10 + 28], 3 pinsrb xmm4, byte ptr [rsi + r11 + 28], 4 pinsrb xmm4, byte ptr [rsi + r13 + 28], 5 pinsrb xmm4, byte ptr [rsi + rcx + 28], 6 pinsrb xmm4, byte ptr [rsi + rdi + 28], 7 - pinsrb xmm4, byte ptr [rsi + r12 + 28], 8 + pinsrb xmm4, byte ptr [rsi + rax + 28], 8 pinsrb xmm4, byte ptr [rsi + r9 + 28], 9 pinsrb xmm4, byte ptr [rsi + rbx + 28], 10 pinsrb xmm4, byte ptr [rsi + r14 + 28], 11 pinsrb xmm4, byte ptr [rsi + r15 + 28], 12 pinsrb xmm4, byte ptr [rsi + rdx + 28], 13 - pinsrb xmm4, byte ptr [rsi + rax + 28], 14 + pinsrb xmm4, byte ptr [rsi + r12 + 28], 14 pinsrb xmm4, byte ptr [rsi + r8 + 28], 15 pinsrb xmm13, byte ptr [rsi + r10 + 29], 3 pinsrb xmm13, byte ptr [rsi + r11 + 29], 4 pinsrb xmm13, byte ptr [rsi + r13 + 29], 5 pinsrb xmm13, byte ptr [rsi + rcx + 29], 6 pinsrb xmm13, byte ptr [rsi + rdi + 29], 7 - pinsrb xmm13, byte ptr [rsi + r12 + 29], 8 + pinsrb xmm13, byte ptr [rsi + rax + 29], 8 pinsrb xmm13, byte ptr [rsi + r9 + 29], 9 pinsrb xmm13, byte ptr [rsi + rbx + 29], 10 pinsrb xmm13, byte ptr [rsi + r14 + 29], 11 pinsrb xmm13, byte ptr [rsi + r15 + 29], 12 pinsrb xmm13, byte ptr [rsi + rdx + 29], 13 - pinsrb xmm13, byte ptr [rsi + rax + 29], 14 + pinsrb xmm13, byte ptr [rsi + r12 + 29], 14 movdqa xmm1, xmm15 pcmpeqb xmm9, xmm15 pand xmm9, xmmword ptr [rip + .LCPI1_12] @@ -7539,21 +7988,21 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 pinsrb xmm0, byte ptr [rsi + rcx + 31], 6 pinsrb xmm12, byte ptr [rsi + rdi + 30], 7 pinsrb xmm0, byte ptr [rsi + rdi + 31], 7 - pinsrb xmm12, byte ptr [rsi + r12 + 30], 8 - pinsrb xmm0, byte ptr [rsi + r12 + 31], 8 + pinsrb xmm12, byte ptr [rsi + rax + 30], 8 + pinsrb xmm0, byte ptr [rsi + rax + 31], 8 pinsrb xmm12, byte ptr [rsi + r9 + 30], 9 pinsrb xmm0, byte ptr [rsi + r9 + 31], 9 pinsrb xmm12, byte ptr [rsi + rbx + 30], 10 pinsrb xmm0, byte ptr [rsi + rbx + 31], 10 pinsrb xmm12, byte ptr [rsi + r14 + 30], 11 pinsrb xmm0, byte ptr [rsi + r14 + 31], 11 + mov rax, qword ptr [rsp + 136] # 8-byte Reload pinsrb xmm12, byte ptr [rsi + r15 + 30], 12 pinsrb xmm0, byte ptr [rsi + r15 + 31], 12 pinsrb xmm12, byte ptr [rsi + rdx + 30], 13 pinsrb xmm0, byte ptr [rsi + rdx + 31], 13 - mov r14, qword ptr [rsp + 136] # 8-byte Reload - pinsrb xmm12, byte ptr [rsi + rax + 30], 14 - pinsrb xmm0, byte ptr [rsi + rax + 31], 14 + pinsrb xmm12, byte ptr [rsi + r12 + 30], 14 + pinsrb xmm0, byte ptr [rsi + r12 + 31], 14 pinsrb xmm12, byte ptr [rsi + r8 + 30], 15 pinsrb xmm0, byte ptr [rsi + r8 + 31], 15 por xmm13, xmm11 @@ -7578,33 +8027,32 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 punpcklwd xmm0, xmm8 # xmm0 = xmm0[0],xmm8[0],xmm0[1],xmm8[1],xmm0[2],xmm8[2],xmm0[3],xmm8[3] punpckhwd xmm4, xmm8 # xmm4 = xmm4[4],xmm8[4],xmm4[5],xmm8[5],xmm4[6],xmm8[6],xmm4[7],xmm8[7] mov rcx, qword ptr [rsp + 152] # 8-byte Reload - movdqu xmmword ptr [r14 + 4*rcx + 48], xmm4 - movdqu xmmword ptr [r14 + 4*rcx + 32], xmm0 - movdqu xmmword ptr [r14 + 4*rcx + 16], xmm2 - movdqu xmmword ptr [r14 + 4*rcx], xmm3 + movdqu xmmword ptr [rax + 4*rcx + 48], xmm4 + movdqu xmmword ptr [rax + 4*rcx + 32], xmm0 + movdqu xmmword ptr [rax + 4*rcx + 16], xmm2 + movdqu xmmword ptr [rax + 4*rcx], xmm3 add rcx, 16 mov rax, rcx - cmp rcx, qword ptr [rsp + 248] # 8-byte Folded Reload - jne .LBB1_67 -# %bb.68: + cmp rcx, qword ptr [rsp + 232] # 8-byte Folded Reload + jne .LBB1_68 +# %bb.69: mov r15, qword ptr [rsp + 256] # 8-byte Reload - cmp r15, qword ptr [rsp + 248] # 8-byte Folded Reload - mov r11b, byte ptr [rsp + 8] # 1-byte Reload + cmp r15, qword ptr [rsp + 232] # 8-byte Folded Reload + mov r11b, byte ptr [rsp + 4] # 1-byte Reload mov rsi, qword ptr [rsp + 264] # 8-byte Reload mov r10, qword ptr [rsp + 144] # 8-byte Reload - jne .LBB1_69 - jmp .LBB1_72 -.LBB1_110: - and r11, -8 - mov rax, r11 + jne .LBB1_70 + jmp .LBB1_73 +.LBB1_111: + and r15, -8 + mov rax, r15 shl rax, 6 add rax, rsi - mov qword ptr [rsp + 64], rax # 8-byte Spill - mov qword ptr [rsp + 16], r11 # 8-byte Spill - lea rax, [r14 + 4*r11] + mov qword ptr [rsp + 56], rax # 8-byte Spill + mov qword ptr [rsp + 32], r15 # 8-byte Spill + lea rax, [r14 + 4*r15] mov qword ptr [rsp + 8], rax # 8-byte Spill - mov dword ptr [rsp + 56], r13d # 4-byte Spill - movd xmm0, r13d + movd xmm0, r11d pshuflw xmm0, xmm0, 224 # xmm0 = xmm0[0,0,2,3,4,5,6,7] pshufd xmm0, xmm0, 0 # xmm0 = xmm0[0,0,0,0] xor r15d, r15d @@ -7617,27 +8065,27 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 movdqa xmm14, xmmword ptr [rip + .LCPI1_6] # xmm14 = [128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128] mov qword ptr [rsp + 136], r14 # 8-byte Spill .p2align 4, 0x90 -.LBB1_111: # =>This Inner Loop Header: Depth=1 +.LBB1_112: # =>This Inner Loop Header: Depth=1 mov qword ptr [rsp + 40], r15 # 8-byte Spill shl r15, 6 mov r9, r15 mov r12, r15 mov r13, r15 mov rcx, r15 - mov rdi, r15 + mov rdx, r15 mov rbx, r15 movzx r14d, word ptr [rsi + r15] movzx eax, word ptr [rsi + r15 + 2] - movzx edx, word ptr [rsi + r15 + 4] - movzx r11d, word ptr [rsi + r15 + 6] - movzx r10d, word ptr [rsi + r15 + 8] + movzx r10d, word ptr [rsi + r15 + 4] + movzx edi, word ptr [rsi + r15 + 6] + movzx r11d, word ptr [rsi + r15 + 8] mov r8, r15 or r8, 64 or r9, 128 or r12, 192 or r13, 256 or rcx, 320 - or rdi, 384 + or rdx, 384 or rbx, 448 movd xmm4, r14d pinsrw xmm4, word ptr [rsi + r8], 1 @@ -7645,7 +8093,7 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 pinsrw xmm4, word ptr [rsi + r12], 3 pinsrw xmm4, word ptr [rsi + r13], 4 pinsrw xmm4, word ptr [rsi + rcx], 5 - pinsrw xmm4, word ptr [rsi + rdi], 6 + pinsrw xmm4, word ptr [rsi + rdx], 6 pinsrw xmm4, word ptr [rsi + rbx], 7 movzx r14d, word ptr [rsi + r15 + 10] movd xmm6, eax @@ -7653,16 +8101,16 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 pinsrw xmm6, word ptr [rsi + r9 + 2], 2 pinsrw xmm6, word ptr [rsi + r12 + 2], 3 movzx eax, word ptr [rsi + r15 + 12] - mov dword ptr [rsp + 32], eax # 4-byte Spill + mov dword ptr [rsp + 24], eax # 4-byte Spill pinsrw xmm6, word ptr [rsi + r13 + 2], 4 - movd xmm2, edx - movzx edx, word ptr [rsi + r15 + 14] + movd xmm2, r10d + movzx eax, word ptr [rsi + r15 + 14] + mov dword ptr [rsp + 16], eax # 4-byte Spill pinsrw xmm6, word ptr [rsi + rcx + 2], 5 - movd xmm5, r11d - movzx eax, word ptr [rsi + r15 + 16] - mov dword ptr [rsp + 24], eax # 4-byte Spill - pinsrw xmm6, word ptr [rsi + rdi + 2], 6 - movd xmm3, r10d + movd xmm5, edi + movzx edi, word ptr [rsi + r15 + 16] + pinsrw xmm6, word ptr [rsi + rdx + 2], 6 + movd xmm3, r11d movzx eax, word ptr [rsi + r15 + 18] mov dword ptr [rsp + 48], eax # 4-byte Spill pinsrw xmm6, word ptr [rsi + rbx + 2], 7 @@ -7672,7 +8120,7 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 pand xmm1, xmm15 psubb xmm1, xmm6 movd xmm6, r14d - movzx r11d, word ptr [rsi + r15 + 20] + movzx r10d, word ptr [rsi + r15 + 20] pcmpeqw xmm4, xmm0 packsswb xmm4, xmm4 pand xmm4, xmm15 @@ -7681,24 +8129,24 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 pinsrw xmm2, word ptr [rsi + r12 + 4], 3 pinsrw xmm2, word ptr [rsi + r13 + 4], 4 pinsrw xmm2, word ptr [rsi + rcx + 4], 5 - pinsrw xmm2, word ptr [rsi + rdi + 4], 6 + pinsrw xmm2, word ptr [rsi + rdx + 4], 6 pinsrw xmm2, word ptr [rsi + rbx + 4], 7 pinsrw xmm5, word ptr [rsi + r8 + 6], 1 pinsrw xmm5, word ptr [rsi + r9 + 6], 2 pinsrw xmm5, word ptr [rsi + r12 + 6], 3 pinsrw xmm5, word ptr [rsi + r13 + 6], 4 pinsrw xmm5, word ptr [rsi + rcx + 6], 5 - pinsrw xmm5, word ptr [rsi + rdi + 6], 6 + pinsrw xmm5, word ptr [rsi + rdx + 6], 6 pinsrw xmm5, word ptr [rsi + rbx + 6], 7 pinsrw xmm3, word ptr [rsi + r8 + 8], 1 pinsrw xmm3, word ptr [rsi + r9 + 8], 2 pinsrw xmm3, word ptr [rsi + r12 + 8], 3 pinsrw xmm3, word ptr [rsi + r13 + 8], 4 pinsrw xmm3, word ptr [rsi + rcx + 8], 5 - pinsrw xmm3, word ptr [rsi + rdi + 8], 6 + pinsrw xmm3, word ptr [rsi + rdx + 8], 6 pinsrw xmm3, word ptr [rsi + rbx + 8], 7 por xmm1, xmm4 - movd xmm7, dword ptr [rsp + 32] # 4-byte Folded Reload + movd xmm7, dword ptr [rsp + 24] # 4-byte Folded Reload # xmm7 = mem[0],zero,zero,zero movzx eax, word ptr [rsi + r15 + 22] pcmpeqw xmm2, xmm0 @@ -7707,8 +8155,9 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 psllw xmm2, 2 pand xmm2, xmm9 por xmm2, xmm1 - movd xmm4, edx - movzx edx, word ptr [rsi + r15 + 24] + movd xmm4, dword ptr [rsp + 16] # 4-byte Folded Reload + # xmm4 = mem[0],zero,zero,zero + movzx r11d, word ptr [rsi + r15 + 24] pcmpeqw xmm5, xmm0 packsswb xmm5, xmm5 pand xmm5, xmm15 @@ -7720,22 +8169,21 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 psllw xmm3, 4 pand xmm3, xmm11 por xmm3, xmm5 - movd xmm1, dword ptr [rsp + 24] # 4-byte Folded Reload - # xmm1 = mem[0],zero,zero,zero - movzx r10d, word ptr [rsi + r15 + 26] + movd xmm1, edi + movzx edi, word ptr [rsi + r15 + 26] pinsrw xmm6, word ptr [rsi + r8 + 10], 1 pinsrw xmm6, word ptr [rsi + r9 + 10], 2 pinsrw xmm6, word ptr [rsi + r12 + 10], 3 pinsrw xmm6, word ptr [rsi + r13 + 10], 4 pinsrw xmm6, word ptr [rsi + rcx + 10], 5 - pinsrw xmm6, word ptr [rsi + rdi + 10], 6 + pinsrw xmm6, word ptr [rsi + rdx + 10], 6 pinsrw xmm6, word ptr [rsi + rbx + 10], 7 pinsrw xmm7, word ptr [rsi + r8 + 12], 1 pinsrw xmm7, word ptr [rsi + r9 + 12], 2 pinsrw xmm7, word ptr [rsi + r12 + 12], 3 pinsrw xmm7, word ptr [rsi + r13 + 12], 4 pinsrw xmm7, word ptr [rsi + rcx + 12], 5 - pinsrw xmm7, word ptr [rsi + rdi + 12], 6 + pinsrw xmm7, word ptr [rsi + rdx + 12], 6 pinsrw xmm7, word ptr [rsi + rbx + 12], 7 por xmm3, xmm2 movd xmm8, dword ptr [rsp + 48] # 4-byte Folded Reload @@ -7752,21 +8200,21 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 psllw xmm7, 6 pand xmm7, xmm13 por xmm7, xmm6 - movd xmm5, r11d - movzx r11d, word ptr [rsi + r15 + 30] + movd xmm5, r10d + movzx r10d, word ptr [rsi + r15 + 30] pinsrw xmm4, word ptr [rsi + r8 + 14], 1 pinsrw xmm4, word ptr [rsi + r9 + 14], 2 pinsrw xmm4, word ptr [rsi + r12 + 14], 3 pinsrw xmm4, word ptr [rsi + r13 + 14], 4 pinsrw xmm4, word ptr [rsi + rcx + 14], 5 - pinsrw xmm4, word ptr [rsi + rdi + 14], 6 + pinsrw xmm4, word ptr [rsi + rdx + 14], 6 pinsrw xmm4, word ptr [rsi + rbx + 14], 7 pinsrw xmm8, word ptr [rsi + r8 + 18], 1 pinsrw xmm8, word ptr [rsi + r9 + 18], 2 pinsrw xmm8, word ptr [rsi + r12 + 18], 3 pinsrw xmm8, word ptr [rsi + r13 + 18], 4 pinsrw xmm8, word ptr [rsi + rcx + 18], 5 - pinsrw xmm8, word ptr [rsi + rdi + 18], 6 + pinsrw xmm8, word ptr [rsi + rdx + 18], 6 pinsrw xmm8, word ptr [rsi + rbx + 18], 7 pcmpeqw xmm4, xmm0 packsswb xmm4, xmm4 @@ -7781,28 +8229,28 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 movdqa xmm7, xmm8 pand xmm7, xmm15 psubb xmm7, xmm8 - movd xmm3, edx - movzx edx, word ptr [rsi + r15 + 34] - mov dword ptr [rsp + 32], edx # 4-byte Spill + movd xmm3, r11d + movzx r11d, word ptr [rsi + r15 + 34] pinsrw xmm1, word ptr [rsi + r8 + 16], 1 pinsrw xmm1, word ptr [rsi + r9 + 16], 2 pinsrw xmm1, word ptr [rsi + r12 + 16], 3 pinsrw xmm1, word ptr [rsi + r13 + 16], 4 pinsrw xmm1, word ptr [rsi + rcx + 16], 5 - pinsrw xmm1, word ptr [rsi + rdi + 16], 6 + pinsrw xmm1, word ptr [rsi + rdx + 16], 6 pinsrw xmm1, word ptr [rsi + rbx + 16], 7 pcmpeqw xmm1, xmm0 packsswb xmm1, xmm1 pand xmm1, xmm15 por xmm7, xmm1 - movd xmm6, r10d - movzx r10d, word ptr [rsi + r15 + 36] + movd xmm6, edi + movzx edi, word ptr [rsi + r15 + 36] + mov dword ptr [rsp + 48], edi # 4-byte Spill pinsrw xmm5, word ptr [rsi + r8 + 20], 1 pinsrw xmm5, word ptr [rsi + r9 + 20], 2 pinsrw xmm5, word ptr [rsi + r12 + 20], 3 pinsrw xmm5, word ptr [rsi + r13 + 20], 4 pinsrw xmm5, word ptr [rsi + rcx + 20], 5 - pinsrw xmm5, word ptr [rsi + rdi + 20], 6 + pinsrw xmm5, word ptr [rsi + rdx + 20], 6 pinsrw xmm5, word ptr [rsi + rbx + 20], 7 pcmpeqw xmm5, xmm0 packsswb xmm5, xmm5 @@ -7811,21 +8259,21 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 pand xmm5, xmm9 por xmm5, xmm7 movd xmm7, r14d - movzx edx, word ptr [rsi + r15 + 38] - mov dword ptr [rsp + 24], edx # 4-byte Spill + movzx edi, word ptr [rsi + r15 + 38] + mov dword ptr [rsp + 16], edi # 4-byte Spill pinsrw xmm2, word ptr [rsi + r8 + 22], 1 pinsrw xmm2, word ptr [rsi + r9 + 22], 2 pinsrw xmm2, word ptr [rsi + r12 + 22], 3 pinsrw xmm2, word ptr [rsi + r13 + 22], 4 pinsrw xmm2, word ptr [rsi + rcx + 22], 5 - pinsrw xmm2, word ptr [rsi + rdi + 22], 6 + pinsrw xmm2, word ptr [rsi + rdx + 22], 6 pinsrw xmm2, word ptr [rsi + rbx + 22], 7 pinsrw xmm3, word ptr [rsi + r8 + 24], 1 pinsrw xmm3, word ptr [rsi + r9 + 24], 2 pinsrw xmm3, word ptr [rsi + r12 + 24], 3 pinsrw xmm3, word ptr [rsi + r13 + 24], 4 pinsrw xmm3, word ptr [rsi + rcx + 24], 5 - pinsrw xmm3, word ptr [rsi + rdi + 24], 6 + pinsrw xmm3, word ptr [rsi + rdx + 24], 6 pinsrw xmm3, word ptr [rsi + rbx + 24], 7 pcmpeqw xmm2, xmm0 packsswb xmm2, xmm2 @@ -7838,31 +8286,32 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 psllw xmm3, 4 pand xmm3, xmm11 por xmm3, xmm2 - movd xmm2, r11d - movzx r14d, word ptr [rsi + r15 + 40] + movd xmm2, r10d + movzx edi, word ptr [rsi + r15 + 40] por xmm3, xmm5 movd xmm5, eax - movzx r11d, word ptr [rsi + r15 + 42] + movzx eax, word ptr [rsi + r15 + 42] + mov dword ptr [rsp + 24], eax # 4-byte Spill pinsrw xmm6, word ptr [rsi + r8 + 26], 1 pinsrw xmm6, word ptr [rsi + r9 + 26], 2 pinsrw xmm6, word ptr [rsi + r12 + 26], 3 pinsrw xmm6, word ptr [rsi + r13 + 26], 4 pinsrw xmm6, word ptr [rsi + rcx + 26], 5 - pinsrw xmm6, word ptr [rsi + rdi + 26], 6 + pinsrw xmm6, word ptr [rsi + rdx + 26], 6 pinsrw xmm6, word ptr [rsi + rbx + 26], 7 pinsrw xmm7, word ptr [rsi + r8 + 28], 1 pinsrw xmm7, word ptr [rsi + r9 + 28], 2 pinsrw xmm7, word ptr [rsi + r12 + 28], 3 pinsrw xmm7, word ptr [rsi + r13 + 28], 4 pinsrw xmm7, word ptr [rsi + rcx + 28], 5 - pinsrw xmm7, word ptr [rsi + rdi + 28], 6 + pinsrw xmm7, word ptr [rsi + rdx + 28], 6 pinsrw xmm7, word ptr [rsi + rbx + 28], 7 pinsrw xmm2, word ptr [rsi + r8 + 30], 1 pinsrw xmm2, word ptr [rsi + r9 + 30], 2 pinsrw xmm2, word ptr [rsi + r12 + 30], 3 pinsrw xmm2, word ptr [rsi + r13 + 30], 4 pinsrw xmm2, word ptr [rsi + rcx + 30], 5 - pinsrw xmm2, word ptr [rsi + rdi + 30], 6 + pinsrw xmm2, word ptr [rsi + rdx + 30], 6 pinsrw xmm2, word ptr [rsi + rbx + 30], 7 pcmpeqw xmm6, xmm0 packsswb xmm6, xmm6 @@ -7875,28 +8324,28 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 psllw xmm7, 6 pand xmm7, xmm13 por xmm7, xmm6 - movd xmm1, dword ptr [rsp + 32] # 4-byte Folded Reload - # xmm1 = mem[0],zero,zero,zero - movzx edx, word ptr [rsi + r15 + 44] + movd xmm1, r11d + movzx r10d, word ptr [rsi + r15 + 44] pcmpeqw xmm2, xmm0 packsswb xmm2, xmm2 psllw xmm2, 7 pand xmm2, xmm14 por xmm2, xmm7 - movd xmm6, r10d - movzx eax, word ptr [rsi + r15 + 46] + movd xmm6, dword ptr [rsp + 48] # 4-byte Folded Reload + # xmm6 = mem[0],zero,zero,zero + movzx r14d, word ptr [rsi + r15 + 46] pinsrw xmm5, word ptr [rsi + r8 + 32], 1 pinsrw xmm5, word ptr [rsi + r9 + 32], 2 pinsrw xmm5, word ptr [rsi + r12 + 32], 3 pinsrw xmm5, word ptr [rsi + r13 + 32], 4 pinsrw xmm5, word ptr [rsi + rcx + 32], 5 - pinsrw xmm5, word ptr [rsi + rdi + 32], 6 + pinsrw xmm5, word ptr [rsi + rdx + 32], 6 pinsrw xmm1, word ptr [rsi + r8 + 34], 1 pinsrw xmm1, word ptr [rsi + r9 + 34], 2 pinsrw xmm1, word ptr [rsi + r12 + 34], 3 pinsrw xmm1, word ptr [rsi + r13 + 34], 4 pinsrw xmm1, word ptr [rsi + rcx + 34], 5 - pinsrw xmm1, word ptr [rsi + rdi + 34], 6 + pinsrw xmm1, word ptr [rsi + rdx + 34], 6 pinsrw xmm1, word ptr [rsi + rbx + 34], 7 por xmm2, xmm3 pcmpeqw xmm1, xmm0 @@ -7904,9 +8353,10 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 movdqa xmm7, xmm1 pand xmm7, xmm15 psubb xmm7, xmm1 - movd xmm3, dword ptr [rsp + 24] # 4-byte Folded Reload + movd xmm3, dword ptr [rsp + 16] # 4-byte Folded Reload # xmm3 = mem[0],zero,zero,zero - movzx r10d, word ptr [rsi + r15 + 48] + movzx eax, word ptr [rsi + r15 + 48] + mov dword ptr [rsp + 16], eax # 4-byte Spill pinsrw xmm5, word ptr [rsi + rbx + 32], 7 pcmpeqw xmm5, xmm0 packsswb xmm5, xmm5 @@ -7916,32 +8366,34 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 pinsrw xmm6, word ptr [rsi + r12 + 36], 3 pinsrw xmm6, word ptr [rsi + r13 + 36], 4 pinsrw xmm6, word ptr [rsi + rcx + 36], 5 - pinsrw xmm6, word ptr [rsi + rdi + 36], 6 + pinsrw xmm6, word ptr [rsi + rdx + 36], 6 pinsrw xmm6, word ptr [rsi + rbx + 36], 7 pinsrw xmm3, word ptr [rsi + r8 + 38], 1 pinsrw xmm3, word ptr [rsi + r9 + 38], 2 pinsrw xmm3, word ptr [rsi + r12 + 38], 3 pinsrw xmm3, word ptr [rsi + r13 + 38], 4 pinsrw xmm3, word ptr [rsi + rcx + 38], 5 - pinsrw xmm3, word ptr [rsi + rdi + 38], 6 + pinsrw xmm3, word ptr [rsi + rdx + 38], 6 pinsrw xmm3, word ptr [rsi + rbx + 38], 7 por xmm7, xmm5 - movd xmm5, r14d + movd xmm5, edi pinsrw xmm5, word ptr [rsi + r8 + 40], 1 pinsrw xmm5, word ptr [rsi + r9 + 40], 2 pinsrw xmm5, word ptr [rsi + r12 + 40], 3 pinsrw xmm5, word ptr [rsi + r13 + 40], 4 pinsrw xmm5, word ptr [rsi + rcx + 40], 5 - pinsrw xmm5, word ptr [rsi + rdi + 40], 6 - movzx r14d, word ptr [rsi + r15 + 50] + pinsrw xmm5, word ptr [rsi + rdx + 40], 6 + movzx eax, word ptr [rsi + r15 + 50] pcmpeqw xmm6, xmm0 packsswb xmm6, xmm6 pand xmm6, xmm15 psllw xmm6, 2 pand xmm6, xmm9 por xmm6, xmm7 - movd xmm1, r11d - movzx r11d, word ptr [rsi + r15 + 52] + movd xmm1, dword ptr [rsp + 24] # 4-byte Folded Reload + # xmm1 = mem[0],zero,zero,zero + movzx edi, word ptr [rsi + r15 + 52] + mov dword ptr [rsp + 24], edi # 4-byte Spill pinsrw xmm5, word ptr [rsi + rbx + 40], 7 pcmpeqw xmm3, xmm0 packsswb xmm3, xmm3 @@ -7954,24 +8406,24 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 psllw xmm5, 4 pand xmm5, xmm11 por xmm5, xmm3 - movd xmm7, edx - movzx edx, word ptr [rsi + r15 + 54] + movd xmm7, r10d + movzx r11d, word ptr [rsi + r15 + 54] pinsrw xmm1, word ptr [rsi + r8 + 42], 1 pinsrw xmm1, word ptr [rsi + r9 + 42], 2 pinsrw xmm1, word ptr [rsi + r12 + 42], 3 pinsrw xmm1, word ptr [rsi + r13 + 42], 4 pinsrw xmm1, word ptr [rsi + rcx + 42], 5 - pinsrw xmm1, word ptr [rsi + rdi + 42], 6 + pinsrw xmm1, word ptr [rsi + rdx + 42], 6 pinsrw xmm1, word ptr [rsi + rbx + 42], 7 pinsrw xmm7, word ptr [rsi + r8 + 44], 1 pinsrw xmm7, word ptr [rsi + r9 + 44], 2 pinsrw xmm7, word ptr [rsi + r12 + 44], 3 pinsrw xmm7, word ptr [rsi + r13 + 44], 4 pinsrw xmm7, word ptr [rsi + rcx + 44], 5 - pinsrw xmm7, word ptr [rsi + rdi + 44], 6 + pinsrw xmm7, word ptr [rsi + rdx + 44], 6 por xmm5, xmm6 - movd xmm3, eax - movzx eax, word ptr [rsi + r15 + 56] + movd xmm3, r14d + movzx r10d, word ptr [rsi + r15 + 56] pinsrw xmm7, word ptr [rsi + rbx + 44], 7 pcmpeqw xmm1, xmm0 packsswb xmm1, xmm1 @@ -7984,29 +8436,30 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 psllw xmm7, 6 pand xmm7, xmm13 por xmm7, xmm1 - movd xmm6, r10d - movzx r10d, word ptr [rsi + r15 + 58] + movd xmm6, dword ptr [rsp + 16] # 4-byte Folded Reload + # xmm6 = mem[0],zero,zero,zero + movzx r14d, word ptr [rsi + r15 + 58] pinsrw xmm3, word ptr [rsi + r8 + 46], 1 pinsrw xmm3, word ptr [rsi + r9 + 46], 2 pinsrw xmm3, word ptr [rsi + r12 + 46], 3 pinsrw xmm3, word ptr [rsi + r13 + 46], 4 pinsrw xmm3, word ptr [rsi + rcx + 46], 5 - pinsrw xmm3, word ptr [rsi + rdi + 46], 6 + pinsrw xmm3, word ptr [rsi + rdx + 46], 6 pinsrw xmm3, word ptr [rsi + rbx + 46], 7 pcmpeqw xmm3, xmm0 packsswb xmm3, xmm3 psllw xmm3, 7 pand xmm3, xmm14 por xmm3, xmm7 - movd xmm1, r14d - movzx r14d, word ptr [rsi + r15 + 60] + movd xmm1, eax + movzx edi, word ptr [rsi + r15 + 60] movzx r15d, word ptr [rsi + r15 + 62] pinsrw xmm1, word ptr [rsi + r8 + 50], 1 pinsrw xmm1, word ptr [rsi + r9 + 50], 2 pinsrw xmm1, word ptr [rsi + r12 + 50], 3 pinsrw xmm1, word ptr [rsi + r13 + 50], 4 pinsrw xmm1, word ptr [rsi + rcx + 50], 5 - pinsrw xmm1, word ptr [rsi + rdi + 50], 6 + pinsrw xmm1, word ptr [rsi + rdx + 50], 6 pinsrw xmm1, word ptr [rsi + rbx + 50], 7 por xmm3, xmm5 pcmpeqw xmm1, xmm0 @@ -8014,13 +8467,15 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 movdqa xmm5, xmm1 pand xmm5, xmm15 psubb xmm5, xmm1 - movd xmm1, r11d + movd xmm1, dword ptr [rsp + 24] # 4-byte Folded Reload + # xmm1 = mem[0],zero,zero,zero + mov rax, qword ptr [rsp + 136] # 8-byte Reload pinsrw xmm6, word ptr [rsi + r8 + 48], 1 pinsrw xmm6, word ptr [rsi + r9 + 48], 2 pinsrw xmm6, word ptr [rsi + r12 + 48], 3 pinsrw xmm6, word ptr [rsi + r13 + 48], 4 pinsrw xmm6, word ptr [rsi + rcx + 48], 5 - pinsrw xmm6, word ptr [rsi + rdi + 48], 6 + pinsrw xmm6, word ptr [rsi + rdx + 48], 6 pinsrw xmm6, word ptr [rsi + rbx + 48], 7 pcmpeqw xmm6, xmm0 packsswb xmm6, xmm6 @@ -8030,9 +8485,9 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 pinsrw xmm1, word ptr [rsi + r13 + 52], 4 pinsrw xmm1, word ptr [rsi + rcx + 52], 5 pand xmm6, xmm15 - pinsrw xmm1, word ptr [rsi + rdi + 52], 6 + pinsrw xmm1, word ptr [rsi + rdx + 52], 6 por xmm5, xmm6 - movd xmm6, edx + movd xmm6, r11d pinsrw xmm1, word ptr [rsi + rbx + 52], 7 pcmpeqw xmm1, xmm0 packsswb xmm1, xmm1 @@ -8040,20 +8495,20 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 psllw xmm1, 2 pand xmm1, xmm9 por xmm1, xmm5 - movd xmm5, eax + movd xmm5, r10d pinsrw xmm6, word ptr [rsi + r8 + 54], 1 pinsrw xmm6, word ptr [rsi + r9 + 54], 2 pinsrw xmm6, word ptr [rsi + r12 + 54], 3 pinsrw xmm6, word ptr [rsi + r13 + 54], 4 pinsrw xmm6, word ptr [rsi + rcx + 54], 5 - pinsrw xmm6, word ptr [rsi + rdi + 54], 6 + pinsrw xmm6, word ptr [rsi + rdx + 54], 6 pinsrw xmm6, word ptr [rsi + rbx + 54], 7 pinsrw xmm5, word ptr [rsi + r8 + 56], 1 pinsrw xmm5, word ptr [rsi + r9 + 56], 2 pinsrw xmm5, word ptr [rsi + r12 + 56], 3 pinsrw xmm5, word ptr [rsi + r13 + 56], 4 pinsrw xmm5, word ptr [rsi + rcx + 56], 5 - pinsrw xmm5, word ptr [rsi + rdi + 56], 6 + pinsrw xmm5, word ptr [rsi + rdx + 56], 6 pinsrw xmm5, word ptr [rsi + rbx + 56], 7 pcmpeqw xmm6, xmm0 packsswb xmm6, xmm6 @@ -8066,22 +8521,22 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 psllw xmm5, 4 pand xmm5, xmm11 por xmm5, xmm6 - movd xmm6, r10d + movd xmm6, r14d pinsrw xmm6, word ptr [rsi + r8 + 58], 1 pinsrw xmm6, word ptr [rsi + r9 + 58], 2 pinsrw xmm6, word ptr [rsi + r12 + 58], 3 pinsrw xmm6, word ptr [rsi + r13 + 58], 4 pinsrw xmm6, word ptr [rsi + rcx + 58], 5 - pinsrw xmm6, word ptr [rsi + rdi + 58], 6 + pinsrw xmm6, word ptr [rsi + rdx + 58], 6 pinsrw xmm6, word ptr [rsi + rbx + 58], 7 por xmm5, xmm1 - movd xmm1, r14d + movd xmm1, edi pinsrw xmm1, word ptr [rsi + r8 + 60], 1 pinsrw xmm1, word ptr [rsi + r9 + 60], 2 pinsrw xmm1, word ptr [rsi + r12 + 60], 3 pinsrw xmm1, word ptr [rsi + r13 + 60], 4 pinsrw xmm1, word ptr [rsi + rcx + 60], 5 - pinsrw xmm1, word ptr [rsi + rdi + 60], 6 + pinsrw xmm1, word ptr [rsi + rdx + 60], 6 pinsrw xmm1, word ptr [rsi + rbx + 60], 7 pcmpeqw xmm6, xmm0 packsswb xmm6, xmm6 @@ -8098,10 +8553,9 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 pinsrw xmm6, word ptr [rsi + r8 + 62], 1 pinsrw xmm6, word ptr [rsi + r9 + 62], 2 pinsrw xmm6, word ptr [rsi + r12 + 62], 3 - mov r14, qword ptr [rsp + 136] # 8-byte Reload pinsrw xmm6, word ptr [rsi + r13 + 62], 4 pinsrw xmm6, word ptr [rsi + rcx + 62], 5 - pinsrw xmm6, word ptr [rsi + rdi + 62], 6 + pinsrw xmm6, word ptr [rsi + rdx + 62], 6 pinsrw xmm6, word ptr [rsi + rbx + 62], 7 pcmpeqw xmm6, xmm0 packsswb xmm6, xmm6 @@ -8121,31 +8575,30 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 punpcklbw xmm4, xmm2 # xmm4 = xmm4[0],xmm2[0],xmm4[1],xmm2[1],xmm4[2],xmm2[2],xmm4[3],xmm2[3],xmm4[4],xmm2[4],xmm4[5],xmm2[5],xmm4[6],xmm2[6],xmm4[7],xmm2[7] punpcklwd xmm4, xmm3 # xmm4 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3] mov rcx, qword ptr [rsp + 40] # 8-byte Reload - movdqu xmmword ptr [r14 + 4*rcx], xmm4 - movdqu xmmword ptr [r14 + 4*rcx + 16], xmm1 + movdqu xmmword ptr [rax + 4*rcx], xmm4 + movdqu xmmword ptr [rax + 4*rcx + 16], xmm1 add rcx, 8 mov r15, rcx - cmp rcx, qword ptr [rsp + 16] # 8-byte Folded Reload - jne .LBB1_111 -# %bb.112: - mov r11, qword ptr [rsp + 152] # 8-byte Reload - cmp r11, qword ptr [rsp + 16] # 8-byte Folded Reload + cmp rcx, qword ptr [rsp + 32] # 8-byte Folded Reload + jne .LBB1_112 +# %bb.113: + mov r15, qword ptr [rsp + 240] # 8-byte Reload + cmp r15, qword ptr [rsp + 32] # 8-byte Folded Reload mov r10, qword ptr [rsp + 144] # 8-byte Reload - mov r13d, dword ptr [rsp + 56] # 4-byte Reload - mov rsi, qword ptr [rsp + 64] # 8-byte Reload - jne .LBB1_113 - jmp .LBB1_116 -.LBB1_133: + mov r11d, dword ptr [rsp + 4] # 4-byte Reload + mov rsi, qword ptr [rsp + 56] # 8-byte Reload + jne .LBB1_114 + jmp .LBB1_117 +.LBB1_134: and r15, -8 mov rax, r15 shl rax, 6 add rax, rsi - mov qword ptr [rsp + 64], rax # 8-byte Spill - mov qword ptr [rsp + 16], r15 # 8-byte Spill + mov qword ptr [rsp + 56], rax # 8-byte Spill + mov qword ptr [rsp + 32], r15 # 8-byte Spill lea rax, [r14 + 4*r15] mov qword ptr [rsp + 8], rax # 8-byte Spill - mov dword ptr [rsp + 56], r13d # 4-byte Spill - movd xmm0, r13d + movd xmm0, r11d pshuflw xmm0, xmm0, 224 # xmm0 = xmm0[0,0,2,3,4,5,6,7] pshufd xmm0, xmm0, 0 # xmm0 = xmm0[0,0,0,0] xor r15d, r15d @@ -8158,27 +8611,27 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 movdqa xmm14, xmmword ptr [rip + .LCPI1_6] # xmm14 = [128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128] mov qword ptr [rsp + 136], r14 # 8-byte Spill .p2align 4, 0x90 -.LBB1_134: # =>This Inner Loop Header: Depth=1 +.LBB1_135: # =>This Inner Loop Header: Depth=1 mov qword ptr [rsp + 40], r15 # 8-byte Spill shl r15, 6 mov r9, r15 mov r12, r15 mov r13, r15 mov rcx, r15 - mov rdi, r15 + mov rdx, r15 mov rbx, r15 movzx r14d, word ptr [rsi + r15] movzx eax, word ptr [rsi + r15 + 2] - movzx edx, word ptr [rsi + r15 + 4] - movzx r11d, word ptr [rsi + r15 + 6] - movzx r10d, word ptr [rsi + r15 + 8] + movzx r10d, word ptr [rsi + r15 + 4] + movzx edi, word ptr [rsi + r15 + 6] + movzx r11d, word ptr [rsi + r15 + 8] mov r8, r15 or r8, 64 or r9, 128 or r12, 192 or r13, 256 or rcx, 320 - or rdi, 384 + or rdx, 384 or rbx, 448 movd xmm4, r14d pinsrw xmm4, word ptr [rsi + r8], 1 @@ -8186,7 +8639,7 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 pinsrw xmm4, word ptr [rsi + r12], 3 pinsrw xmm4, word ptr [rsi + r13], 4 pinsrw xmm4, word ptr [rsi + rcx], 5 - pinsrw xmm4, word ptr [rsi + rdi], 6 + pinsrw xmm4, word ptr [rsi + rdx], 6 pinsrw xmm4, word ptr [rsi + rbx], 7 movzx r14d, word ptr [rsi + r15 + 10] movd xmm6, eax @@ -8194,16 +8647,16 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 pinsrw xmm6, word ptr [rsi + r9 + 2], 2 pinsrw xmm6, word ptr [rsi + r12 + 2], 3 movzx eax, word ptr [rsi + r15 + 12] - mov dword ptr [rsp + 32], eax # 4-byte Spill + mov dword ptr [rsp + 24], eax # 4-byte Spill pinsrw xmm6, word ptr [rsi + r13 + 2], 4 - movd xmm2, edx - movzx edx, word ptr [rsi + r15 + 14] + movd xmm2, r10d + movzx eax, word ptr [rsi + r15 + 14] + mov dword ptr [rsp + 16], eax # 4-byte Spill pinsrw xmm6, word ptr [rsi + rcx + 2], 5 - movd xmm5, r11d - movzx eax, word ptr [rsi + r15 + 16] - mov dword ptr [rsp + 24], eax # 4-byte Spill - pinsrw xmm6, word ptr [rsi + rdi + 2], 6 - movd xmm3, r10d + movd xmm5, edi + movzx edi, word ptr [rsi + r15 + 16] + pinsrw xmm6, word ptr [rsi + rdx + 2], 6 + movd xmm3, r11d movzx eax, word ptr [rsi + r15 + 18] mov dword ptr [rsp + 48], eax # 4-byte Spill pinsrw xmm6, word ptr [rsi + rbx + 2], 7 @@ -8213,7 +8666,7 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 pand xmm1, xmm15 psubb xmm1, xmm6 movd xmm6, r14d - movzx r11d, word ptr [rsi + r15 + 20] + movzx r10d, word ptr [rsi + r15 + 20] pcmpeqw xmm4, xmm0 packsswb xmm4, xmm4 pand xmm4, xmm15 @@ -8222,24 +8675,24 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 pinsrw xmm2, word ptr [rsi + r12 + 4], 3 pinsrw xmm2, word ptr [rsi + r13 + 4], 4 pinsrw xmm2, word ptr [rsi + rcx + 4], 5 - pinsrw xmm2, word ptr [rsi + rdi + 4], 6 + pinsrw xmm2, word ptr [rsi + rdx + 4], 6 pinsrw xmm2, word ptr [rsi + rbx + 4], 7 pinsrw xmm5, word ptr [rsi + r8 + 6], 1 pinsrw xmm5, word ptr [rsi + r9 + 6], 2 pinsrw xmm5, word ptr [rsi + r12 + 6], 3 pinsrw xmm5, word ptr [rsi + r13 + 6], 4 pinsrw xmm5, word ptr [rsi + rcx + 6], 5 - pinsrw xmm5, word ptr [rsi + rdi + 6], 6 + pinsrw xmm5, word ptr [rsi + rdx + 6], 6 pinsrw xmm5, word ptr [rsi + rbx + 6], 7 pinsrw xmm3, word ptr [rsi + r8 + 8], 1 pinsrw xmm3, word ptr [rsi + r9 + 8], 2 pinsrw xmm3, word ptr [rsi + r12 + 8], 3 pinsrw xmm3, word ptr [rsi + r13 + 8], 4 pinsrw xmm3, word ptr [rsi + rcx + 8], 5 - pinsrw xmm3, word ptr [rsi + rdi + 8], 6 + pinsrw xmm3, word ptr [rsi + rdx + 8], 6 pinsrw xmm3, word ptr [rsi + rbx + 8], 7 por xmm1, xmm4 - movd xmm7, dword ptr [rsp + 32] # 4-byte Folded Reload + movd xmm7, dword ptr [rsp + 24] # 4-byte Folded Reload # xmm7 = mem[0],zero,zero,zero movzx eax, word ptr [rsi + r15 + 22] pcmpeqw xmm2, xmm0 @@ -8248,8 +8701,9 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 psllw xmm2, 2 pand xmm2, xmm9 por xmm2, xmm1 - movd xmm4, edx - movzx edx, word ptr [rsi + r15 + 24] + movd xmm4, dword ptr [rsp + 16] # 4-byte Folded Reload + # xmm4 = mem[0],zero,zero,zero + movzx r11d, word ptr [rsi + r15 + 24] pcmpeqw xmm5, xmm0 packsswb xmm5, xmm5 pand xmm5, xmm15 @@ -8261,22 +8715,21 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 psllw xmm3, 4 pand xmm3, xmm11 por xmm3, xmm5 - movd xmm1, dword ptr [rsp + 24] # 4-byte Folded Reload - # xmm1 = mem[0],zero,zero,zero - movzx r10d, word ptr [rsi + r15 + 26] + movd xmm1, edi + movzx edi, word ptr [rsi + r15 + 26] pinsrw xmm6, word ptr [rsi + r8 + 10], 1 pinsrw xmm6, word ptr [rsi + r9 + 10], 2 pinsrw xmm6, word ptr [rsi + r12 + 10], 3 pinsrw xmm6, word ptr [rsi + r13 + 10], 4 pinsrw xmm6, word ptr [rsi + rcx + 10], 5 - pinsrw xmm6, word ptr [rsi + rdi + 10], 6 + pinsrw xmm6, word ptr [rsi + rdx + 10], 6 pinsrw xmm6, word ptr [rsi + rbx + 10], 7 pinsrw xmm7, word ptr [rsi + r8 + 12], 1 pinsrw xmm7, word ptr [rsi + r9 + 12], 2 pinsrw xmm7, word ptr [rsi + r12 + 12], 3 pinsrw xmm7, word ptr [rsi + r13 + 12], 4 pinsrw xmm7, word ptr [rsi + rcx + 12], 5 - pinsrw xmm7, word ptr [rsi + rdi + 12], 6 + pinsrw xmm7, word ptr [rsi + rdx + 12], 6 pinsrw xmm7, word ptr [rsi + rbx + 12], 7 por xmm3, xmm2 movd xmm8, dword ptr [rsp + 48] # 4-byte Folded Reload @@ -8293,21 +8746,21 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 psllw xmm7, 6 pand xmm7, xmm13 por xmm7, xmm6 - movd xmm5, r11d - movzx r11d, word ptr [rsi + r15 + 30] + movd xmm5, r10d + movzx r10d, word ptr [rsi + r15 + 30] pinsrw xmm4, word ptr [rsi + r8 + 14], 1 pinsrw xmm4, word ptr [rsi + r9 + 14], 2 pinsrw xmm4, word ptr [rsi + r12 + 14], 3 pinsrw xmm4, word ptr [rsi + r13 + 14], 4 pinsrw xmm4, word ptr [rsi + rcx + 14], 5 - pinsrw xmm4, word ptr [rsi + rdi + 14], 6 + pinsrw xmm4, word ptr [rsi + rdx + 14], 6 pinsrw xmm4, word ptr [rsi + rbx + 14], 7 pinsrw xmm8, word ptr [rsi + r8 + 18], 1 pinsrw xmm8, word ptr [rsi + r9 + 18], 2 pinsrw xmm8, word ptr [rsi + r12 + 18], 3 pinsrw xmm8, word ptr [rsi + r13 + 18], 4 pinsrw xmm8, word ptr [rsi + rcx + 18], 5 - pinsrw xmm8, word ptr [rsi + rdi + 18], 6 + pinsrw xmm8, word ptr [rsi + rdx + 18], 6 pinsrw xmm8, word ptr [rsi + rbx + 18], 7 pcmpeqw xmm4, xmm0 packsswb xmm4, xmm4 @@ -8322,28 +8775,28 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 movdqa xmm7, xmm8 pand xmm7, xmm15 psubb xmm7, xmm8 - movd xmm3, edx - movzx edx, word ptr [rsi + r15 + 34] - mov dword ptr [rsp + 32], edx # 4-byte Spill + movd xmm3, r11d + movzx r11d, word ptr [rsi + r15 + 34] pinsrw xmm1, word ptr [rsi + r8 + 16], 1 pinsrw xmm1, word ptr [rsi + r9 + 16], 2 pinsrw xmm1, word ptr [rsi + r12 + 16], 3 pinsrw xmm1, word ptr [rsi + r13 + 16], 4 pinsrw xmm1, word ptr [rsi + rcx + 16], 5 - pinsrw xmm1, word ptr [rsi + rdi + 16], 6 + pinsrw xmm1, word ptr [rsi + rdx + 16], 6 pinsrw xmm1, word ptr [rsi + rbx + 16], 7 pcmpeqw xmm1, xmm0 packsswb xmm1, xmm1 pand xmm1, xmm15 por xmm7, xmm1 - movd xmm6, r10d - movzx r10d, word ptr [rsi + r15 + 36] + movd xmm6, edi + movzx edi, word ptr [rsi + r15 + 36] + mov dword ptr [rsp + 48], edi # 4-byte Spill pinsrw xmm5, word ptr [rsi + r8 + 20], 1 pinsrw xmm5, word ptr [rsi + r9 + 20], 2 pinsrw xmm5, word ptr [rsi + r12 + 20], 3 pinsrw xmm5, word ptr [rsi + r13 + 20], 4 pinsrw xmm5, word ptr [rsi + rcx + 20], 5 - pinsrw xmm5, word ptr [rsi + rdi + 20], 6 + pinsrw xmm5, word ptr [rsi + rdx + 20], 6 pinsrw xmm5, word ptr [rsi + rbx + 20], 7 pcmpeqw xmm5, xmm0 packsswb xmm5, xmm5 @@ -8352,21 +8805,21 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 pand xmm5, xmm9 por xmm5, xmm7 movd xmm7, r14d - movzx edx, word ptr [rsi + r15 + 38] - mov dword ptr [rsp + 24], edx # 4-byte Spill + movzx edi, word ptr [rsi + r15 + 38] + mov dword ptr [rsp + 16], edi # 4-byte Spill pinsrw xmm2, word ptr [rsi + r8 + 22], 1 pinsrw xmm2, word ptr [rsi + r9 + 22], 2 pinsrw xmm2, word ptr [rsi + r12 + 22], 3 pinsrw xmm2, word ptr [rsi + r13 + 22], 4 pinsrw xmm2, word ptr [rsi + rcx + 22], 5 - pinsrw xmm2, word ptr [rsi + rdi + 22], 6 + pinsrw xmm2, word ptr [rsi + rdx + 22], 6 pinsrw xmm2, word ptr [rsi + rbx + 22], 7 pinsrw xmm3, word ptr [rsi + r8 + 24], 1 pinsrw xmm3, word ptr [rsi + r9 + 24], 2 pinsrw xmm3, word ptr [rsi + r12 + 24], 3 pinsrw xmm3, word ptr [rsi + r13 + 24], 4 pinsrw xmm3, word ptr [rsi + rcx + 24], 5 - pinsrw xmm3, word ptr [rsi + rdi + 24], 6 + pinsrw xmm3, word ptr [rsi + rdx + 24], 6 pinsrw xmm3, word ptr [rsi + rbx + 24], 7 pcmpeqw xmm2, xmm0 packsswb xmm2, xmm2 @@ -8379,31 +8832,32 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 psllw xmm3, 4 pand xmm3, xmm11 por xmm3, xmm2 - movd xmm2, r11d - movzx r14d, word ptr [rsi + r15 + 40] + movd xmm2, r10d + movzx edi, word ptr [rsi + r15 + 40] por xmm3, xmm5 movd xmm5, eax - movzx r11d, word ptr [rsi + r15 + 42] + movzx eax, word ptr [rsi + r15 + 42] + mov dword ptr [rsp + 24], eax # 4-byte Spill pinsrw xmm6, word ptr [rsi + r8 + 26], 1 pinsrw xmm6, word ptr [rsi + r9 + 26], 2 pinsrw xmm6, word ptr [rsi + r12 + 26], 3 pinsrw xmm6, word ptr [rsi + r13 + 26], 4 pinsrw xmm6, word ptr [rsi + rcx + 26], 5 - pinsrw xmm6, word ptr [rsi + rdi + 26], 6 + pinsrw xmm6, word ptr [rsi + rdx + 26], 6 pinsrw xmm6, word ptr [rsi + rbx + 26], 7 pinsrw xmm7, word ptr [rsi + r8 + 28], 1 pinsrw xmm7, word ptr [rsi + r9 + 28], 2 pinsrw xmm7, word ptr [rsi + r12 + 28], 3 pinsrw xmm7, word ptr [rsi + r13 + 28], 4 pinsrw xmm7, word ptr [rsi + rcx + 28], 5 - pinsrw xmm7, word ptr [rsi + rdi + 28], 6 + pinsrw xmm7, word ptr [rsi + rdx + 28], 6 pinsrw xmm7, word ptr [rsi + rbx + 28], 7 pinsrw xmm2, word ptr [rsi + r8 + 30], 1 pinsrw xmm2, word ptr [rsi + r9 + 30], 2 pinsrw xmm2, word ptr [rsi + r12 + 30], 3 pinsrw xmm2, word ptr [rsi + r13 + 30], 4 pinsrw xmm2, word ptr [rsi + rcx + 30], 5 - pinsrw xmm2, word ptr [rsi + rdi + 30], 6 + pinsrw xmm2, word ptr [rsi + rdx + 30], 6 pinsrw xmm2, word ptr [rsi + rbx + 30], 7 pcmpeqw xmm6, xmm0 packsswb xmm6, xmm6 @@ -8416,28 +8870,28 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 psllw xmm7, 6 pand xmm7, xmm13 por xmm7, xmm6 - movd xmm1, dword ptr [rsp + 32] # 4-byte Folded Reload - # xmm1 = mem[0],zero,zero,zero - movzx edx, word ptr [rsi + r15 + 44] + movd xmm1, r11d + movzx r10d, word ptr [rsi + r15 + 44] pcmpeqw xmm2, xmm0 packsswb xmm2, xmm2 psllw xmm2, 7 pand xmm2, xmm14 por xmm2, xmm7 - movd xmm6, r10d - movzx eax, word ptr [rsi + r15 + 46] + movd xmm6, dword ptr [rsp + 48] # 4-byte Folded Reload + # xmm6 = mem[0],zero,zero,zero + movzx r14d, word ptr [rsi + r15 + 46] pinsrw xmm5, word ptr [rsi + r8 + 32], 1 pinsrw xmm5, word ptr [rsi + r9 + 32], 2 pinsrw xmm5, word ptr [rsi + r12 + 32], 3 pinsrw xmm5, word ptr [rsi + r13 + 32], 4 pinsrw xmm5, word ptr [rsi + rcx + 32], 5 - pinsrw xmm5, word ptr [rsi + rdi + 32], 6 + pinsrw xmm5, word ptr [rsi + rdx + 32], 6 pinsrw xmm1, word ptr [rsi + r8 + 34], 1 pinsrw xmm1, word ptr [rsi + r9 + 34], 2 pinsrw xmm1, word ptr [rsi + r12 + 34], 3 pinsrw xmm1, word ptr [rsi + r13 + 34], 4 pinsrw xmm1, word ptr [rsi + rcx + 34], 5 - pinsrw xmm1, word ptr [rsi + rdi + 34], 6 + pinsrw xmm1, word ptr [rsi + rdx + 34], 6 pinsrw xmm1, word ptr [rsi + rbx + 34], 7 por xmm2, xmm3 pcmpeqw xmm1, xmm0 @@ -8445,9 +8899,10 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 movdqa xmm7, xmm1 pand xmm7, xmm15 psubb xmm7, xmm1 - movd xmm3, dword ptr [rsp + 24] # 4-byte Folded Reload + movd xmm3, dword ptr [rsp + 16] # 4-byte Folded Reload # xmm3 = mem[0],zero,zero,zero - movzx r10d, word ptr [rsi + r15 + 48] + movzx eax, word ptr [rsi + r15 + 48] + mov dword ptr [rsp + 16], eax # 4-byte Spill pinsrw xmm5, word ptr [rsi + rbx + 32], 7 pcmpeqw xmm5, xmm0 packsswb xmm5, xmm5 @@ -8457,32 +8912,34 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 pinsrw xmm6, word ptr [rsi + r12 + 36], 3 pinsrw xmm6, word ptr [rsi + r13 + 36], 4 pinsrw xmm6, word ptr [rsi + rcx + 36], 5 - pinsrw xmm6, word ptr [rsi + rdi + 36], 6 + pinsrw xmm6, word ptr [rsi + rdx + 36], 6 pinsrw xmm6, word ptr [rsi + rbx + 36], 7 pinsrw xmm3, word ptr [rsi + r8 + 38], 1 pinsrw xmm3, word ptr [rsi + r9 + 38], 2 pinsrw xmm3, word ptr [rsi + r12 + 38], 3 pinsrw xmm3, word ptr [rsi + r13 + 38], 4 pinsrw xmm3, word ptr [rsi + rcx + 38], 5 - pinsrw xmm3, word ptr [rsi + rdi + 38], 6 + pinsrw xmm3, word ptr [rsi + rdx + 38], 6 pinsrw xmm3, word ptr [rsi + rbx + 38], 7 por xmm7, xmm5 - movd xmm5, r14d + movd xmm5, edi pinsrw xmm5, word ptr [rsi + r8 + 40], 1 pinsrw xmm5, word ptr [rsi + r9 + 40], 2 pinsrw xmm5, word ptr [rsi + r12 + 40], 3 pinsrw xmm5, word ptr [rsi + r13 + 40], 4 pinsrw xmm5, word ptr [rsi + rcx + 40], 5 - pinsrw xmm5, word ptr [rsi + rdi + 40], 6 - movzx r14d, word ptr [rsi + r15 + 50] + pinsrw xmm5, word ptr [rsi + rdx + 40], 6 + movzx eax, word ptr [rsi + r15 + 50] pcmpeqw xmm6, xmm0 packsswb xmm6, xmm6 pand xmm6, xmm15 psllw xmm6, 2 pand xmm6, xmm9 por xmm6, xmm7 - movd xmm1, r11d - movzx r11d, word ptr [rsi + r15 + 52] + movd xmm1, dword ptr [rsp + 24] # 4-byte Folded Reload + # xmm1 = mem[0],zero,zero,zero + movzx edi, word ptr [rsi + r15 + 52] + mov dword ptr [rsp + 24], edi # 4-byte Spill pinsrw xmm5, word ptr [rsi + rbx + 40], 7 pcmpeqw xmm3, xmm0 packsswb xmm3, xmm3 @@ -8495,24 +8952,24 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 psllw xmm5, 4 pand xmm5, xmm11 por xmm5, xmm3 - movd xmm7, edx - movzx edx, word ptr [rsi + r15 + 54] + movd xmm7, r10d + movzx r11d, word ptr [rsi + r15 + 54] pinsrw xmm1, word ptr [rsi + r8 + 42], 1 pinsrw xmm1, word ptr [rsi + r9 + 42], 2 pinsrw xmm1, word ptr [rsi + r12 + 42], 3 pinsrw xmm1, word ptr [rsi + r13 + 42], 4 pinsrw xmm1, word ptr [rsi + rcx + 42], 5 - pinsrw xmm1, word ptr [rsi + rdi + 42], 6 + pinsrw xmm1, word ptr [rsi + rdx + 42], 6 pinsrw xmm1, word ptr [rsi + rbx + 42], 7 pinsrw xmm7, word ptr [rsi + r8 + 44], 1 pinsrw xmm7, word ptr [rsi + r9 + 44], 2 pinsrw xmm7, word ptr [rsi + r12 + 44], 3 pinsrw xmm7, word ptr [rsi + r13 + 44], 4 pinsrw xmm7, word ptr [rsi + rcx + 44], 5 - pinsrw xmm7, word ptr [rsi + rdi + 44], 6 + pinsrw xmm7, word ptr [rsi + rdx + 44], 6 por xmm5, xmm6 - movd xmm3, eax - movzx eax, word ptr [rsi + r15 + 56] + movd xmm3, r14d + movzx r10d, word ptr [rsi + r15 + 56] pinsrw xmm7, word ptr [rsi + rbx + 44], 7 pcmpeqw xmm1, xmm0 packsswb xmm1, xmm1 @@ -8525,29 +8982,30 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 psllw xmm7, 6 pand xmm7, xmm13 por xmm7, xmm1 - movd xmm6, r10d - movzx r10d, word ptr [rsi + r15 + 58] + movd xmm6, dword ptr [rsp + 16] # 4-byte Folded Reload + # xmm6 = mem[0],zero,zero,zero + movzx r14d, word ptr [rsi + r15 + 58] pinsrw xmm3, word ptr [rsi + r8 + 46], 1 pinsrw xmm3, word ptr [rsi + r9 + 46], 2 pinsrw xmm3, word ptr [rsi + r12 + 46], 3 pinsrw xmm3, word ptr [rsi + r13 + 46], 4 pinsrw xmm3, word ptr [rsi + rcx + 46], 5 - pinsrw xmm3, word ptr [rsi + rdi + 46], 6 + pinsrw xmm3, word ptr [rsi + rdx + 46], 6 pinsrw xmm3, word ptr [rsi + rbx + 46], 7 pcmpeqw xmm3, xmm0 packsswb xmm3, xmm3 psllw xmm3, 7 pand xmm3, xmm14 por xmm3, xmm7 - movd xmm1, r14d - movzx r14d, word ptr [rsi + r15 + 60] + movd xmm1, eax + movzx edi, word ptr [rsi + r15 + 60] movzx r15d, word ptr [rsi + r15 + 62] pinsrw xmm1, word ptr [rsi + r8 + 50], 1 pinsrw xmm1, word ptr [rsi + r9 + 50], 2 pinsrw xmm1, word ptr [rsi + r12 + 50], 3 pinsrw xmm1, word ptr [rsi + r13 + 50], 4 pinsrw xmm1, word ptr [rsi + rcx + 50], 5 - pinsrw xmm1, word ptr [rsi + rdi + 50], 6 + pinsrw xmm1, word ptr [rsi + rdx + 50], 6 pinsrw xmm1, word ptr [rsi + rbx + 50], 7 por xmm3, xmm5 pcmpeqw xmm1, xmm0 @@ -8555,13 +9013,15 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 movdqa xmm5, xmm1 pand xmm5, xmm15 psubb xmm5, xmm1 - movd xmm1, r11d + movd xmm1, dword ptr [rsp + 24] # 4-byte Folded Reload + # xmm1 = mem[0],zero,zero,zero + mov rax, qword ptr [rsp + 136] # 8-byte Reload pinsrw xmm6, word ptr [rsi + r8 + 48], 1 pinsrw xmm6, word ptr [rsi + r9 + 48], 2 pinsrw xmm6, word ptr [rsi + r12 + 48], 3 pinsrw xmm6, word ptr [rsi + r13 + 48], 4 pinsrw xmm6, word ptr [rsi + rcx + 48], 5 - pinsrw xmm6, word ptr [rsi + rdi + 48], 6 + pinsrw xmm6, word ptr [rsi + rdx + 48], 6 pinsrw xmm6, word ptr [rsi + rbx + 48], 7 pcmpeqw xmm6, xmm0 packsswb xmm6, xmm6 @@ -8571,9 +9031,9 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 pinsrw xmm1, word ptr [rsi + r13 + 52], 4 pinsrw xmm1, word ptr [rsi + rcx + 52], 5 pand xmm6, xmm15 - pinsrw xmm1, word ptr [rsi + rdi + 52], 6 + pinsrw xmm1, word ptr [rsi + rdx + 52], 6 por xmm5, xmm6 - movd xmm6, edx + movd xmm6, r11d pinsrw xmm1, word ptr [rsi + rbx + 52], 7 pcmpeqw xmm1, xmm0 packsswb xmm1, xmm1 @@ -8581,20 +9041,20 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 psllw xmm1, 2 pand xmm1, xmm9 por xmm1, xmm5 - movd xmm5, eax + movd xmm5, r10d pinsrw xmm6, word ptr [rsi + r8 + 54], 1 pinsrw xmm6, word ptr [rsi + r9 + 54], 2 pinsrw xmm6, word ptr [rsi + r12 + 54], 3 pinsrw xmm6, word ptr [rsi + r13 + 54], 4 pinsrw xmm6, word ptr [rsi + rcx + 54], 5 - pinsrw xmm6, word ptr [rsi + rdi + 54], 6 + pinsrw xmm6, word ptr [rsi + rdx + 54], 6 pinsrw xmm6, word ptr [rsi + rbx + 54], 7 pinsrw xmm5, word ptr [rsi + r8 + 56], 1 pinsrw xmm5, word ptr [rsi + r9 + 56], 2 pinsrw xmm5, word ptr [rsi + r12 + 56], 3 pinsrw xmm5, word ptr [rsi + r13 + 56], 4 pinsrw xmm5, word ptr [rsi + rcx + 56], 5 - pinsrw xmm5, word ptr [rsi + rdi + 56], 6 + pinsrw xmm5, word ptr [rsi + rdx + 56], 6 pinsrw xmm5, word ptr [rsi + rbx + 56], 7 pcmpeqw xmm6, xmm0 packsswb xmm6, xmm6 @@ -8607,22 +9067,22 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 psllw xmm5, 4 pand xmm5, xmm11 por xmm5, xmm6 - movd xmm6, r10d + movd xmm6, r14d pinsrw xmm6, word ptr [rsi + r8 + 58], 1 pinsrw xmm6, word ptr [rsi + r9 + 58], 2 pinsrw xmm6, word ptr [rsi + r12 + 58], 3 pinsrw xmm6, word ptr [rsi + r13 + 58], 4 pinsrw xmm6, word ptr [rsi + rcx + 58], 5 - pinsrw xmm6, word ptr [rsi + rdi + 58], 6 + pinsrw xmm6, word ptr [rsi + rdx + 58], 6 pinsrw xmm6, word ptr [rsi + rbx + 58], 7 por xmm5, xmm1 - movd xmm1, r14d + movd xmm1, edi pinsrw xmm1, word ptr [rsi + r8 + 60], 1 pinsrw xmm1, word ptr [rsi + r9 + 60], 2 pinsrw xmm1, word ptr [rsi + r12 + 60], 3 pinsrw xmm1, word ptr [rsi + r13 + 60], 4 pinsrw xmm1, word ptr [rsi + rcx + 60], 5 - pinsrw xmm1, word ptr [rsi + rdi + 60], 6 + pinsrw xmm1, word ptr [rsi + rdx + 60], 6 pinsrw xmm1, word ptr [rsi + rbx + 60], 7 pcmpeqw xmm6, xmm0 packsswb xmm6, xmm6 @@ -8639,10 +9099,9 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 pinsrw xmm6, word ptr [rsi + r8 + 62], 1 pinsrw xmm6, word ptr [rsi + r9 + 62], 2 pinsrw xmm6, word ptr [rsi + r12 + 62], 3 - mov r14, qword ptr [rsp + 136] # 8-byte Reload pinsrw xmm6, word ptr [rsi + r13 + 62], 4 pinsrw xmm6, word ptr [rsi + rcx + 62], 5 - pinsrw xmm6, word ptr [rsi + rdi + 62], 6 + pinsrw xmm6, word ptr [rsi + rdx + 62], 6 pinsrw xmm6, word ptr [rsi + rbx + 62], 7 pcmpeqw xmm6, xmm0 packsswb xmm6, xmm6 @@ -8662,22 +9121,21 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 punpcklbw xmm4, xmm2 # xmm4 = xmm4[0],xmm2[0],xmm4[1],xmm2[1],xmm4[2],xmm2[2],xmm4[3],xmm2[3],xmm4[4],xmm2[4],xmm4[5],xmm2[5],xmm4[6],xmm2[6],xmm4[7],xmm2[7] punpcklwd xmm4, xmm3 # xmm4 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3] mov rcx, qword ptr [rsp + 40] # 8-byte Reload - movdqu xmmword ptr [r14 + 4*rcx], xmm4 - movdqu xmmword ptr [r14 + 4*rcx + 16], xmm1 + movdqu xmmword ptr [rax + 4*rcx], xmm4 + movdqu xmmword ptr [rax + 4*rcx + 16], xmm1 add rcx, 8 mov r15, rcx - cmp rcx, qword ptr [rsp + 16] # 8-byte Folded Reload - jne .LBB1_134 -# %bb.135: - mov r15, qword ptr [rsp + 152] # 8-byte Reload - cmp r15, qword ptr [rsp + 16] # 8-byte Folded Reload + cmp rcx, qword ptr [rsp + 32] # 8-byte Folded Reload + jne .LBB1_135 +# %bb.136: + mov r15, qword ptr [rsp + 240] # 8-byte Reload + cmp r15, qword ptr [rsp + 32] # 8-byte Folded Reload mov r10, qword ptr [rsp + 144] # 8-byte Reload - mov r13d, dword ptr [rsp + 56] # 4-byte Reload - mov r12, qword ptr [rsp + 8] # 8-byte Reload - mov rsi, qword ptr [rsp + 64] # 8-byte Reload - jne .LBB1_136 - jmp .LBB1_139 -.LBB1_184: + mov r11d, dword ptr [rsp + 4] # 4-byte Reload + mov rsi, qword ptr [rsp + 56] # 8-byte Reload + jne .LBB1_137 + jmp .LBB1_140 +.LBB1_182: mov r8, r11 and r8, -4 mov rbx, r8 @@ -8697,7 +9155,7 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 movdqa xmm14, xmmword ptr [rip + .LCPI1_6] # xmm14 = [128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128] movdqa xmm9, xmmword ptr [rip + .LCPI1_7] # xmm9 = [0,8,1,9,2,10,3,11,4,12,5,13,6,14,7,15] .p2align 4, 0x90 -.LBB1_185: # =>This Inner Loop Header: Depth=1 +.LBB1_183: # =>This Inner Loop Header: Depth=1 movss xmm6, dword ptr [rsi - 508] # xmm6 = mem[0],zero,zero,zero movss xmm7, dword ptr [rsi - 504] # xmm7 = mem[0],zero,zero,zero movss xmm5, dword ptr [rsi - 500] # xmm5 = mem[0],zero,zero,zero @@ -9042,11 +9500,11 @@ comparison_equal_arr_scalar_sse4: # @comparison_equal_arr_scalar_sse4 add rcx, 4 add rsi, 512 cmp r8, rcx - jne .LBB1_185 -# %bb.186: + jne .LBB1_183 +# %bb.184: cmp r11, r8 - jne .LBB1_187 - jmp .LBB1_190 + jne .LBB1_185 + jmp .LBB1_188 .Lfunc_end1: .size comparison_equal_arr_scalar_sse4, .Lfunc_end1-comparison_equal_arr_scalar_sse4 # -- End function @@ -9175,7 +9633,7 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 je .LBB2_95 # %bb.4: cmp edi, 6 - jne .LBB2_176 + jne .LBB2_177 # %bb.5: mov r13d, dword ptr [rsi] lea r11, [r10 + 31] @@ -9229,7 +9687,7 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 cmp r13d, dword ptr [rdx] sete byte ptr [rsp + 192] # 1-byte Folded Spill cmp r13d, dword ptr [rdx + 4] - sete dil + sete r10b cmp r13d, dword ptr [rdx + 8] sete r14b cmp r13d, dword ptr [rdx + 12] @@ -9239,9 +9697,9 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 cmp r13d, dword ptr [rdx + 20] sete byte ptr [rsp + 88] # 1-byte Folded Spill cmp r13d, dword ptr [rdx + 24] - sete al + sete bl cmp r13d, dword ptr [rdx + 28] - sete r11b + sete dil cmp r13d, dword ptr [rdx + 32] sete byte ptr [rsp + 208] # 1-byte Folded Spill cmp r13d, dword ptr [rdx + 36] @@ -9251,13 +9709,13 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 cmp r13d, dword ptr [rdx + 44] sete r9b cmp r13d, dword ptr [rdx + 48] - sete r10b + sete r11b cmp r13d, dword ptr [rdx + 52] sete r12b cmp r13d, dword ptr [rdx + 56] sete byte ptr [rsp + 176] # 1-byte Folded Spill cmp r13d, dword ptr [rdx + 60] - sete cl + sete al cmp r13d, dword ptr [rdx + 64] sete byte ptr [rsp + 72] # 1-byte Folded Spill cmp r13d, dword ptr [rdx + 68] @@ -9277,107 +9735,106 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 cmp r13d, dword ptr [rdx + 96] sete byte ptr [rsp + 24] # 1-byte Folded Spill cmp r13d, dword ptr [rdx + 100] - sete byte ptr [rsp + 56] # 1-byte Folded Spill - cmp r13d, dword ptr [rdx + 104] sete byte ptr [rsp + 32] # 1-byte Folded Spill + cmp r13d, dword ptr [rdx + 104] + sete byte ptr [rsp + 56] # 1-byte Folded Spill cmp r13d, dword ptr [rdx + 108] sete byte ptr [rsp + 40] # 1-byte Folded Spill cmp r13d, dword ptr [rdx + 112] - sete byte ptr [rsp + 16] # 1-byte Folded Spill - cmp r13d, dword ptr [rdx + 116] sete byte ptr [rsp + 48] # 1-byte Folded Spill + cmp r13d, dword ptr [rdx + 116] + sete byte ptr [rsp + 16] # 1-byte Folded Spill cmp r13d, dword ptr [rdx + 120] sete byte ptr [rsp + 8] # 1-byte Folded Spill cmp r13d, dword ptr [rdx + 124] - sete bl - add dil, dil - add dil, byte ptr [rsp + 192] # 1-byte Folded Reload - shl al, 6 - shl r11b, 7 - or r11b, al + sete cl + add r10b, r10b + add r10b, byte ptr [rsp + 192] # 1-byte Folded Reload + shl bl, 6 + shl dil, 7 + or dil, bl shl r14b, 2 - or r14b, dil + or r14b, r10b add sil, sil add sil, byte ptr [rsp + 208] # 1-byte Folded Reload - movzx eax, byte ptr [rsp + 160] # 1-byte Folded Reload - shl al, 3 - or al, r14b - mov edi, eax + movzx ebx, byte ptr [rsp + 160] # 1-byte Folded Reload + shl bl, 3 + or bl, r14b + mov r10d, ebx shl r8b, 2 or r8b, sil - movzx eax, byte ptr [rsp + 112] # 1-byte Folded Reload - shl al, 4 - or al, dil - mov edi, eax + movzx ebx, byte ptr [rsp + 112] # 1-byte Folded Reload + shl bl, 4 + or bl, r10b + mov esi, ebx shl r9b, 3 or r9b, r8b - movzx eax, byte ptr [rsp + 88] # 1-byte Folded Reload - shl al, 5 - or al, dil - shl r10b, 4 - or r10b, r9b + movzx ebx, byte ptr [rsp + 88] # 1-byte Folded Reload + shl bl, 5 + or bl, sil + shl r11b, 4 + or r11b, r9b shl r12b, 5 - or r12b, r10b - movzx esi, byte ptr [rsp + 176] # 1-byte Folded Reload - shl sil, 6 - shl cl, 7 - or cl, sil - or r11b, al - or cl, r12b - movzx eax, byte ptr [rsp + 120] # 1-byte Folded Reload - add al, al - add al, byte ptr [rsp + 72] # 1-byte Folded Reload - mov esi, eax - movzx eax, byte ptr [rsp + 128] # 1-byte Folded Reload - shl al, 2 - or al, sil - mov esi, eax - movzx eax, byte ptr [rsp + 96] # 1-byte Folded Reload - shl al, 3 - or al, sil - mov esi, eax - movzx eax, byte ptr [rsp + 80] # 1-byte Folded Reload - shl al, 4 - or al, sil - mov esi, eax - movzx eax, byte ptr [rsp + 104] # 1-byte Folded Reload - shl al, 5 - or al, sil - mov edi, eax - mov rax, qword ptr [rsp] # 8-byte Reload - mov byte ptr [rax], r11b + or r12b, r11b mov rsi, qword ptr [rsp] # 8-byte Reload - movzx eax, byte ptr [rsp + 64] # 1-byte Folded Reload - shl al, 6 + movzx r8d, byte ptr [rsp + 176] # 1-byte Folded Reload + shl r8b, 6 + shl al, 7 + or al, r8b + or dil, bl + or al, r12b + movzx ebx, byte ptr [rsp + 120] # 1-byte Folded Reload + add bl, bl + add bl, byte ptr [rsp + 72] # 1-byte Folded Reload + mov r8d, ebx + movzx ebx, byte ptr [rsp + 128] # 1-byte Folded Reload + shl bl, 2 + or bl, r8b + mov r8d, ebx + movzx ebx, byte ptr [rsp + 96] # 1-byte Folded Reload + shl bl, 3 + or bl, r8b + mov r8d, ebx + movzx ebx, byte ptr [rsp + 80] # 1-byte Folded Reload + shl bl, 4 + or bl, r8b + mov r8d, ebx + movzx ebx, byte ptr [rsp + 104] # 1-byte Folded Reload + shl bl, 5 + or bl, r8b + mov byte ptr [rsi], dil + movzx edi, byte ptr [rsp + 64] # 1-byte Folded Reload + shl dil, 6 shl r15b, 7 - or r15b, al - mov byte ptr [rsi + 1], cl or r15b, dil - movzx eax, byte ptr [rsp + 56] # 1-byte Folded Reload + mov byte ptr [rsi + 1], al + or r15b, bl + movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload add al, al add al, byte ptr [rsp + 24] # 1-byte Folded Reload - mov ecx, eax - movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload + mov ebx, eax + movzx eax, byte ptr [rsp + 56] # 1-byte Folded Reload shl al, 2 - or al, cl - mov ecx, eax + or al, bl + mov ebx, eax movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload shl al, 3 - or al, cl - mov ecx, eax - movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload shl al, 4 - or al, cl - movzx ecx, byte ptr [rsp + 48] # 1-byte Folded Reload - shl cl, 5 + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload + shl al, 5 + or al, bl + movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload + shl bl, 6 + shl cl, 7 + or cl, bl or cl, al - movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload - shl al, 6 - shl bl, 7 - or bl, al - or bl, cl mov byte ptr [rsi + 2], r15b - mov byte ptr [rsi + 3], bl + mov byte ptr [rsi + 3], cl add rdx, 128 add rsi, 4 mov qword ptr [rsp], rsi # 8-byte Spill @@ -9389,7 +9846,7 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 .LBB2_13: shl r11, 5 cmp r11, r10 - jge .LBB2_176 + jge .LBB2_177 # %bb.14: mov r8, r10 sub r8, r11 @@ -9431,7 +9888,7 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 mov byte ptr [r11 + rsi], al cmp r10, rdi jne .LBB2_16 - jmp .LBB2_152 + jmp .LBB2_153 .LBB2_17: cmp edi, 8 jle .LBB2_46 @@ -9443,7 +9900,7 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 je .LBB2_118 # %bb.20: cmp edi, 12 - jne .LBB2_176 + jne .LBB2_177 # %bb.21: lea r14, [r10 + 31] test r10, r10 @@ -9462,7 +9919,9 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 .LBB2_23: # =>This Inner Loop Header: Depth=1 ucomisd xmm0, qword ptr [rdx] lea rdx, [rdx + 8] + setnp cl sete bl + and bl, cl neg bl lea rsi, [rax + 7] test rax, rax @@ -9490,186 +9949,272 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 jl .LBB2_29 # %bb.26: mov qword ptr [rsp + 144], r10 # 8-byte Spill - mov qword ptr [rsp + 136], r14 # 8-byte Spill - mov qword ptr [rsp + 192], r14 # 8-byte Spill + mov qword ptr [rsp + 240], r14 # 8-byte Spill + mov qword ptr [rsp + 152], r14 # 8-byte Spill .p2align 4, 0x90 .LBB2_27: # =>This Inner Loop Header: Depth=1 ucomisd xmm0, qword ptr [rdx] - sete byte ptr [rsp + 160] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 24], cl # 1-byte Spill ucomisd xmm0, qword ptr [rdx + 8] - sete r8b + setnp al + sete bl + and bl, al ucomisd xmm0, qword ptr [rdx + 16] - sete r11b - ucomisd xmm0, qword ptr [rdx + 24] + setnp al sete r13b + and r13b, al + ucomisd xmm0, qword ptr [rdx + 24] + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 48], cl # 1-byte Spill ucomisd xmm0, qword ptr [rdx + 32] - sete byte ptr [rsp + 112] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 16], cl # 1-byte Spill ucomisd xmm0, qword ptr [rdx + 40] - sete byte ptr [rsp + 88] # 1-byte Folded Spill + setnp al + sete dil + and dil, al ucomisd xmm0, qword ptr [rdx + 48] - sete al + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 56], cl # 1-byte Spill ucomisd xmm0, qword ptr [rdx + 56] - sete r14b + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 8], cl # 1-byte Spill ucomisd xmm0, qword ptr [rdx + 64] - sete byte ptr [rsp + 176] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 40], cl # 1-byte Spill ucomisd xmm0, qword ptr [rdx + 72] - sete sil + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 32], cl # 1-byte Spill ucomisd xmm0, qword ptr [rdx + 80] - sete dil + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 64], cl # 1-byte Spill ucomisd xmm0, qword ptr [rdx + 88] - sete r9b + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 104], cl # 1-byte Spill ucomisd xmm0, qword ptr [rdx + 96] - sete r10b + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 88], cl # 1-byte Spill ucomisd xmm0, qword ptr [rdx + 104] - sete r12b + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 72], cl # 1-byte Spill ucomisd xmm0, qword ptr [rdx + 112] - sete byte ptr [rsp + 120] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 96], cl # 1-byte Spill ucomisd xmm0, qword ptr [rdx + 120] + setnp al sete cl + and cl, al + mov byte ptr [rsp + 112], cl # 1-byte Spill ucomisd xmm0, qword ptr [rdx + 128] - sete byte ptr [rsp + 72] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 80], cl # 1-byte Spill ucomisd xmm0, qword ptr [rdx + 136] - sete byte ptr [rsp + 208] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 128], cl # 1-byte Spill ucomisd xmm0, qword ptr [rdx + 144] - sete byte ptr [rsp + 128] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 120], cl # 1-byte Spill ucomisd xmm0, qword ptr [rdx + 152] - sete byte ptr [rsp + 96] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 176], cl # 1-byte Spill ucomisd xmm0, qword ptr [rdx + 160] - sete byte ptr [rsp + 80] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 208], cl # 1-byte Spill ucomisd xmm0, qword ptr [rdx + 168] - sete byte ptr [rsp + 104] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 192], cl # 1-byte Spill ucomisd xmm0, qword ptr [rdx + 176] - sete byte ptr [rsp + 64] # 1-byte Folded Spill - ucomisd xmm0, qword ptr [rdx + 184] + setnp al sete r15b + and r15b, al + ucomisd xmm0, qword ptr [rdx + 184] + setnp al + sete r9b + and r9b, al ucomisd xmm0, qword ptr [rdx + 192] - sete byte ptr [rsp + 24] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 160], cl # 1-byte Spill ucomisd xmm0, qword ptr [rdx + 200] - sete byte ptr [rsp + 56] # 1-byte Folded Spill + setnp al + sete r14b + and r14b, al ucomisd xmm0, qword ptr [rdx + 208] - sete byte ptr [rsp + 32] # 1-byte Folded Spill + setnp al + sete r11b + and r11b, al ucomisd xmm0, qword ptr [rdx + 216] - sete byte ptr [rsp + 40] # 1-byte Folded Spill + setnp al + sete r10b + and r10b, al ucomisd xmm0, qword ptr [rdx + 224] - sete byte ptr [rsp + 16] # 1-byte Folded Spill + setnp al + sete r12b + and r12b, al ucomisd xmm0, qword ptr [rdx + 232] - sete byte ptr [rsp + 48] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 136], cl # 1-byte Spill ucomisd xmm0, qword ptr [rdx + 240] - sete byte ptr [rsp + 8] # 1-byte Folded Spill + setnp al + sete r8b + and r8b, al ucomisd xmm0, qword ptr [rdx + 248] - sete bl - add r8b, r8b - add r8b, byte ptr [rsp + 160] # 1-byte Folded Reload + setnp al + sete sil + and sil, al + add bl, bl + add bl, byte ptr [rsp + 24] # 1-byte Folded Reload + shl dil, 5 + movzx eax, byte ptr [rsp + 56] # 1-byte Folded Reload shl al, 6 - shl r14b, 7 - or r14b, al - shl r11b, 2 - or r11b, r8b - add sil, sil - add sil, byte ptr [rsp + 176] # 1-byte Folded Reload - shl r13b, 3 - or r13b, r11b - mov r8, qword ptr [rsp] # 8-byte Reload - shl dil, 2 - or dil, sil - movzx eax, byte ptr [rsp + 112] # 1-byte Folded Reload - shl al, 4 - or al, r13b - mov r11d, eax - shl r9b, 3 - or r9b, dil - movzx eax, byte ptr [rsp + 88] # 1-byte Folded Reload - shl al, 5 - or al, r11b - shl r10b, 4 - or r10b, r9b - shl r12b, 5 - or r12b, r10b - movzx esi, byte ptr [rsp + 120] # 1-byte Folded Reload - shl sil, 6 - shl cl, 7 - or cl, sil - or r14b, al - or cl, r12b - movzx eax, byte ptr [rsp + 208] # 1-byte Folded Reload + or al, dil + mov edi, eax + shl r13b, 2 + or r13b, bl + movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 72] # 1-byte Folded Reload - mov esi, eax - movzx eax, byte ptr [rsp + 128] # 1-byte Folded Reload + add al, byte ptr [rsp + 40] # 1-byte Folded Reload + mov ebx, eax + movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + shl al, 7 + or al, dil + mov byte ptr [rsp + 8], al # 1-byte Spill + movzx eax, byte ptr [rsp + 64] # 1-byte Folded Reload shl al, 2 - or al, sil - mov esi, eax - movzx eax, byte ptr [rsp + 96] # 1-byte Folded Reload + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload shl al, 3 - or al, sil - mov esi, eax - movzx eax, byte ptr [rsp + 80] # 1-byte Folded Reload - shl al, 4 - or al, sil - mov esi, eax + or al, r13b + mov r13d, eax movzx eax, byte ptr [rsp + 104] # 1-byte Folded Reload - shl al, 5 - or al, sil - mov byte ptr [r8], r14b - movzx esi, byte ptr [rsp + 64] # 1-byte Folded Reload - shl sil, 6 - shl r15b, 7 - or r15b, sil - mov byte ptr [r8 + 1], cl - or r15b, al - movzx eax, byte ptr [rsp + 56] # 1-byte Folded Reload - add al, al - add al, byte ptr [rsp + 24] # 1-byte Folded Reload - mov ecx, eax - movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload - shl al, 2 - or al, cl - mov ecx, eax - movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload shl al, 3 - or al, cl - mov ecx, eax + or al, bl + mov edi, eax movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload shl al, 4 - or al, cl - mov ecx, eax - movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload - shl al, 5 - or al, cl - movzx ecx, byte ptr [rsp + 8] # 1-byte Folded Reload + or al, r13b + movzx ebx, byte ptr [rsp + 88] # 1-byte Folded Reload + shl bl, 4 + or bl, dil + movzx edi, byte ptr [rsp + 72] # 1-byte Folded Reload + shl dil, 5 + movzx ecx, byte ptr [rsp + 96] # 1-byte Folded Reload shl cl, 6 - shl bl, 7 - or bl, cl - or bl, al - mov byte ptr [r8 + 2], r15b - mov byte ptr [r8 + 3], bl + or cl, dil + movzx r13d, byte ptr [rsp + 112] # 1-byte Folded Reload + shl r13b, 7 + or r13b, cl + movzx ecx, byte ptr [rsp + 128] # 1-byte Folded Reload + add cl, cl + add cl, byte ptr [rsp + 80] # 1-byte Folded Reload + movzx edi, byte ptr [rsp + 120] # 1-byte Folded Reload + shl dil, 2 + or dil, cl + movzx ecx, byte ptr [rsp + 176] # 1-byte Folded Reload + shl cl, 3 + or cl, dil + mov edi, ecx + movzx ecx, byte ptr [rsp + 208] # 1-byte Folded Reload + shl cl, 4 + or cl, dil + movzx edi, byte ptr [rsp + 8] # 1-byte Folded Reload + or dil, al + movzx eax, byte ptr [rsp + 192] # 1-byte Folded Reload + shl al, 5 + shl r15b, 6 + or r15b, al + or r13b, bl + shl r9b, 7 + or r9b, r15b + mov rax, qword ptr [rsp] # 8-byte Reload + or r9b, cl + add r14b, r14b + add r14b, byte ptr [rsp + 160] # 1-byte Folded Reload + shl r11b, 2 + or r11b, r14b + shl r10b, 3 + or r10b, r11b + shl r12b, 4 + or r12b, r10b + mov byte ptr [rax], dil + movzx ecx, byte ptr [rsp + 136] # 1-byte Folded Reload + shl cl, 5 + shl r8b, 6 + or r8b, cl + mov byte ptr [rax + 1], r13b + shl sil, 7 + or sil, r8b + or sil, r12b + mov byte ptr [rax + 2], r9b + mov byte ptr [rax + 3], sil add rdx, 256 - add r8, 4 - mov qword ptr [rsp], r8 # 8-byte Spill - add qword ptr [rsp + 192], -1 # 8-byte Folded Spill + add rax, 4 + mov qword ptr [rsp], rax # 8-byte Spill + add qword ptr [rsp + 152], -1 # 8-byte Folded Spill jne .LBB2_27 # %bb.28: mov r10, qword ptr [rsp + 144] # 8-byte Reload - mov r14, qword ptr [rsp + 136] # 8-byte Reload + mov r14, qword ptr [rsp + 240] # 8-byte Reload .LBB2_29: shl r14, 5 cmp r14, r10 - jge .LBB2_176 + jge .LBB2_177 # %bb.30: mov r8, r10 sub r8, r14 not r14 add r14, r10 - jne .LBB2_161 + jne .LBB2_162 # %bb.31: xor edi, edi - jmp .LBB2_163 + jmp .LBB2_164 .LBB2_32: cmp edi, 2 je .LBB2_60 # %bb.33: cmp edi, 3 - jne .LBB2_176 + jne .LBB2_177 # %bb.34: mov r14b, byte ptr [rsi] lea r15, [r10 + 31] @@ -9718,27 +10263,27 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 cmp r15, 16 mov byte ptr [rsp + 8], r14b # 1-byte Spill mov qword ptr [rsp + 144], r10 # 8-byte Spill - mov qword ptr [rsp + 240], r15 # 8-byte Spill + mov qword ptr [rsp + 232], r15 # 8-byte Spill jb .LBB2_42 # %bb.40: mov rax, r15 shl rax, 5 add rax, rdx cmp qword ptr [rsp], rax # 8-byte Folded Reload - jae .LBB2_185 + jae .LBB2_182 # %bb.41: mov rax, qword ptr [rsp] # 8-byte Reload lea rax, [rax + 4*r15] cmp rdx, rax - jae .LBB2_185 + jae .LBB2_182 .LBB2_42: xor eax, eax - mov qword ptr [rsp + 232], rax # 8-byte Spill + mov qword ptr [rsp + 224], rax # 8-byte Spill mov rsi, rdx mov rax, qword ptr [rsp] # 8-byte Reload mov qword ptr [rsp + 104], rax # 8-byte Spill .LBB2_43: - sub r15, qword ptr [rsp + 232] # 8-byte Folded Reload + sub r15, qword ptr [rsp + 224] # 8-byte Folded Reload mov qword ptr [rsp + 136], r15 # 8-byte Spill .p2align 4, 0x90 .LBB2_44: # =>This Inner Loop Header: Depth=1 @@ -9804,10 +10349,10 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 sete r10b movzx edx, byte ptr [rsp + 8] # 1-byte Folded Reload cmp dl, byte ptr [rcx + 24] - sete byte ptr [rsp + 56] # 1-byte Folded Spill + sete byte ptr [rsp + 32] # 1-byte Folded Spill movzx edx, byte ptr [rsp + 8] # 1-byte Folded Reload cmp dl, byte ptr [rcx + 25] - sete byte ptr [rsp + 32] # 1-byte Folded Spill + sete byte ptr [rsp + 56] # 1-byte Folded Spill movzx edx, byte ptr [rsp + 8] # 1-byte Folded Reload cmp dl, byte ptr [rcx + 26] sete byte ptr [rsp + 40] # 1-byte Folded Spill @@ -9816,10 +10361,10 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 sete byte ptr [rsp + 24] # 1-byte Folded Spill movzx edx, byte ptr [rsp + 8] # 1-byte Folded Reload cmp dl, byte ptr [rcx + 28] - sete byte ptr [rsp + 16] # 1-byte Folded Spill + sete byte ptr [rsp + 48] # 1-byte Folded Spill movzx edx, byte ptr [rsp + 8] # 1-byte Folded Reload cmp dl, byte ptr [rcx + 29] - sete byte ptr [rsp + 48] # 1-byte Folded Spill + sete byte ptr [rsp + 16] # 1-byte Folded Spill movzx edx, byte ptr [rsp + 8] # 1-byte Folded Reload cmp dl, byte ptr [rcx + 30] sete byte ptr [rsp] # 1-byte Folded Spill @@ -9886,9 +10431,9 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 or r10b, sil mov byte ptr [rdi + 1], al or r10b, bl - movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 56] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 56] # 1-byte Folded Reload + add al, byte ptr [rsp + 32] # 1-byte Folded Reload mov ebx, eax movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload shl al, 2 @@ -9898,11 +10443,11 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 shl al, 3 or al, bl mov ebx, eax - movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload shl al, 4 or al, bl mov ebx, eax - movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload shl al, 5 or al, bl movzx ebx, byte ptr [rsp] # 1-byte Folded Reload @@ -9919,14 +10464,14 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 jne .LBB2_44 # %bb.45: mov r10, qword ptr [rsp + 144] # 8-byte Reload - mov r15, qword ptr [rsp + 240] # 8-byte Reload + mov r15, qword ptr [rsp + 232] # 8-byte Reload jmp .LBB2_131 .LBB2_46: cmp edi, 7 je .LBB2_72 # %bb.47: cmp edi, 8 - jne .LBB2_176 + jne .LBB2_177 # %bb.48: mov r13, qword ptr [rsi] lea r11, [r10 + 31] @@ -9980,7 +10525,7 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 cmp r13, qword ptr [rdx] sete byte ptr [rsp + 192] # 1-byte Folded Spill cmp r13, qword ptr [rdx + 8] - sete dil + sete r10b cmp r13, qword ptr [rdx + 16] sete r14b cmp r13, qword ptr [rdx + 24] @@ -9990,9 +10535,9 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 cmp r13, qword ptr [rdx + 40] sete byte ptr [rsp + 88] # 1-byte Folded Spill cmp r13, qword ptr [rdx + 48] - sete al + sete bl cmp r13, qword ptr [rdx + 56] - sete r11b + sete dil cmp r13, qword ptr [rdx + 64] sete byte ptr [rsp + 208] # 1-byte Folded Spill cmp r13, qword ptr [rdx + 72] @@ -10002,13 +10547,13 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 cmp r13, qword ptr [rdx + 88] sete r9b cmp r13, qword ptr [rdx + 96] - sete r10b + sete r11b cmp r13, qword ptr [rdx + 104] sete r12b cmp r13, qword ptr [rdx + 112] sete byte ptr [rsp + 176] # 1-byte Folded Spill cmp r13, qword ptr [rdx + 120] - sete cl + sete al cmp r13, qword ptr [rdx + 128] sete byte ptr [rsp + 72] # 1-byte Folded Spill cmp r13, qword ptr [rdx + 136] @@ -10028,107 +10573,106 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 cmp r13, qword ptr [rdx + 192] sete byte ptr [rsp + 24] # 1-byte Folded Spill cmp r13, qword ptr [rdx + 200] - sete byte ptr [rsp + 56] # 1-byte Folded Spill - cmp r13, qword ptr [rdx + 208] sete byte ptr [rsp + 32] # 1-byte Folded Spill + cmp r13, qword ptr [rdx + 208] + sete byte ptr [rsp + 56] # 1-byte Folded Spill cmp r13, qword ptr [rdx + 216] sete byte ptr [rsp + 40] # 1-byte Folded Spill cmp r13, qword ptr [rdx + 224] - sete byte ptr [rsp + 16] # 1-byte Folded Spill - cmp r13, qword ptr [rdx + 232] sete byte ptr [rsp + 48] # 1-byte Folded Spill + cmp r13, qword ptr [rdx + 232] + sete byte ptr [rsp + 16] # 1-byte Folded Spill cmp r13, qword ptr [rdx + 240] sete byte ptr [rsp + 8] # 1-byte Folded Spill cmp r13, qword ptr [rdx + 248] - sete bl - add dil, dil - add dil, byte ptr [rsp + 192] # 1-byte Folded Reload - shl al, 6 - shl r11b, 7 - or r11b, al + sete cl + add r10b, r10b + add r10b, byte ptr [rsp + 192] # 1-byte Folded Reload + shl bl, 6 + shl dil, 7 + or dil, bl shl r14b, 2 - or r14b, dil + or r14b, r10b add sil, sil add sil, byte ptr [rsp + 208] # 1-byte Folded Reload - movzx eax, byte ptr [rsp + 160] # 1-byte Folded Reload - shl al, 3 - or al, r14b - mov edi, eax + movzx ebx, byte ptr [rsp + 160] # 1-byte Folded Reload + shl bl, 3 + or bl, r14b + mov r10d, ebx shl r8b, 2 or r8b, sil - movzx eax, byte ptr [rsp + 112] # 1-byte Folded Reload - shl al, 4 - or al, dil - mov edi, eax + movzx ebx, byte ptr [rsp + 112] # 1-byte Folded Reload + shl bl, 4 + or bl, r10b + mov esi, ebx shl r9b, 3 or r9b, r8b - movzx eax, byte ptr [rsp + 88] # 1-byte Folded Reload - shl al, 5 - or al, dil - shl r10b, 4 - or r10b, r9b + movzx ebx, byte ptr [rsp + 88] # 1-byte Folded Reload + shl bl, 5 + or bl, sil + shl r11b, 4 + or r11b, r9b shl r12b, 5 - or r12b, r10b - movzx esi, byte ptr [rsp + 176] # 1-byte Folded Reload - shl sil, 6 - shl cl, 7 - or cl, sil - or r11b, al - or cl, r12b - movzx eax, byte ptr [rsp + 120] # 1-byte Folded Reload - add al, al - add al, byte ptr [rsp + 72] # 1-byte Folded Reload - mov esi, eax - movzx eax, byte ptr [rsp + 128] # 1-byte Folded Reload - shl al, 2 - or al, sil - mov esi, eax - movzx eax, byte ptr [rsp + 96] # 1-byte Folded Reload - shl al, 3 - or al, sil - mov esi, eax - movzx eax, byte ptr [rsp + 80] # 1-byte Folded Reload - shl al, 4 - or al, sil - mov esi, eax - movzx eax, byte ptr [rsp + 104] # 1-byte Folded Reload - shl al, 5 - or al, sil - mov edi, eax - mov rax, qword ptr [rsp] # 8-byte Reload - mov byte ptr [rax], r11b + or r12b, r11b mov rsi, qword ptr [rsp] # 8-byte Reload - movzx eax, byte ptr [rsp + 64] # 1-byte Folded Reload - shl al, 6 + movzx r8d, byte ptr [rsp + 176] # 1-byte Folded Reload + shl r8b, 6 + shl al, 7 + or al, r8b + or dil, bl + or al, r12b + movzx ebx, byte ptr [rsp + 120] # 1-byte Folded Reload + add bl, bl + add bl, byte ptr [rsp + 72] # 1-byte Folded Reload + mov r8d, ebx + movzx ebx, byte ptr [rsp + 128] # 1-byte Folded Reload + shl bl, 2 + or bl, r8b + mov r8d, ebx + movzx ebx, byte ptr [rsp + 96] # 1-byte Folded Reload + shl bl, 3 + or bl, r8b + mov r8d, ebx + movzx ebx, byte ptr [rsp + 80] # 1-byte Folded Reload + shl bl, 4 + or bl, r8b + mov r8d, ebx + movzx ebx, byte ptr [rsp + 104] # 1-byte Folded Reload + shl bl, 5 + or bl, r8b + mov byte ptr [rsi], dil + movzx edi, byte ptr [rsp + 64] # 1-byte Folded Reload + shl dil, 6 shl r15b, 7 - or r15b, al - mov byte ptr [rsi + 1], cl or r15b, dil - movzx eax, byte ptr [rsp + 56] # 1-byte Folded Reload + mov byte ptr [rsi + 1], al + or r15b, bl + movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload add al, al add al, byte ptr [rsp + 24] # 1-byte Folded Reload - mov ecx, eax - movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload + mov ebx, eax + movzx eax, byte ptr [rsp + 56] # 1-byte Folded Reload shl al, 2 - or al, cl - mov ecx, eax + or al, bl + mov ebx, eax movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload shl al, 3 - or al, cl - mov ecx, eax - movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload shl al, 4 - or al, cl - movzx ecx, byte ptr [rsp + 48] # 1-byte Folded Reload - shl cl, 5 + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload + shl al, 5 + or al, bl + movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload + shl bl, 6 + shl cl, 7 + or cl, bl or cl, al - movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload - shl al, 6 - shl bl, 7 - or bl, al - or bl, cl mov byte ptr [rsi + 2], r15b - mov byte ptr [rsi + 3], bl + mov byte ptr [rsi + 3], cl add rdx, 256 add rsi, 4 mov qword ptr [rsp], rsi # 8-byte Spill @@ -10140,7 +10684,7 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 .LBB2_56: shl r11, 5 cmp r11, r10 - jge .LBB2_176 + jge .LBB2_177 # %bb.57: mov r8, r10 sub r8, r11 @@ -10182,7 +10726,7 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 mov byte ptr [r11 + rsi], al cmp r10, rdi jne .LBB2_59 - jmp .LBB2_167 + jmp .LBB2_168 .LBB2_60: mov r14b, byte ptr [rsi] lea r15, [r10 + 31] @@ -10231,27 +10775,27 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 cmp r15, 16 mov byte ptr [rsp + 8], r14b # 1-byte Spill mov qword ptr [rsp + 144], r10 # 8-byte Spill - mov qword ptr [rsp + 240], r15 # 8-byte Spill + mov qword ptr [rsp + 232], r15 # 8-byte Spill jb .LBB2_68 # %bb.66: mov rax, r15 shl rax, 5 add rax, rdx cmp qword ptr [rsp], rax # 8-byte Folded Reload - jae .LBB2_188 + jae .LBB2_185 # %bb.67: mov rax, qword ptr [rsp] # 8-byte Reload lea rax, [rax + 4*r15] cmp rdx, rax - jae .LBB2_188 + jae .LBB2_185 .LBB2_68: xor eax, eax - mov qword ptr [rsp + 232], rax # 8-byte Spill + mov qword ptr [rsp + 224], rax # 8-byte Spill mov rsi, rdx mov rax, qword ptr [rsp] # 8-byte Reload mov qword ptr [rsp + 104], rax # 8-byte Spill .LBB2_69: - sub r15, qword ptr [rsp + 232] # 8-byte Folded Reload + sub r15, qword ptr [rsp + 224] # 8-byte Folded Reload mov qword ptr [rsp + 136], r15 # 8-byte Spill .p2align 4, 0x90 .LBB2_70: # =>This Inner Loop Header: Depth=1 @@ -10317,10 +10861,10 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 sete r10b movzx edx, byte ptr [rsp + 8] # 1-byte Folded Reload cmp dl, byte ptr [rcx + 24] - sete byte ptr [rsp + 56] # 1-byte Folded Spill + sete byte ptr [rsp + 32] # 1-byte Folded Spill movzx edx, byte ptr [rsp + 8] # 1-byte Folded Reload cmp dl, byte ptr [rcx + 25] - sete byte ptr [rsp + 32] # 1-byte Folded Spill + sete byte ptr [rsp + 56] # 1-byte Folded Spill movzx edx, byte ptr [rsp + 8] # 1-byte Folded Reload cmp dl, byte ptr [rcx + 26] sete byte ptr [rsp + 40] # 1-byte Folded Spill @@ -10329,10 +10873,10 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 sete byte ptr [rsp + 24] # 1-byte Folded Spill movzx edx, byte ptr [rsp + 8] # 1-byte Folded Reload cmp dl, byte ptr [rcx + 28] - sete byte ptr [rsp + 16] # 1-byte Folded Spill + sete byte ptr [rsp + 48] # 1-byte Folded Spill movzx edx, byte ptr [rsp + 8] # 1-byte Folded Reload cmp dl, byte ptr [rcx + 29] - sete byte ptr [rsp + 48] # 1-byte Folded Spill + sete byte ptr [rsp + 16] # 1-byte Folded Spill movzx edx, byte ptr [rsp + 8] # 1-byte Folded Reload cmp dl, byte ptr [rcx + 30] sete byte ptr [rsp] # 1-byte Folded Spill @@ -10399,9 +10943,9 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 or r10b, sil mov byte ptr [rdi + 1], al or r10b, bl - movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 56] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 56] # 1-byte Folded Reload + add al, byte ptr [rsp + 32] # 1-byte Folded Reload mov ebx, eax movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload shl al, 2 @@ -10411,11 +10955,11 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 shl al, 3 or al, bl mov ebx, eax - movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload shl al, 4 or al, bl mov ebx, eax - movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload shl al, 5 or al, bl movzx ebx, byte ptr [rsp] # 1-byte Folded Reload @@ -10432,7 +10976,7 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 jne .LBB2_70 # %bb.71: mov r10, qword ptr [rsp + 144] # 8-byte Reload - mov r15, qword ptr [rsp + 240] # 8-byte Reload + mov r15, qword ptr [rsp + 232] # 8-byte Reload jmp .LBB2_135 .LBB2_72: mov r13d, dword ptr [rsi] @@ -10487,7 +11031,7 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 cmp r13d, dword ptr [rdx] sete byte ptr [rsp + 192] # 1-byte Folded Spill cmp r13d, dword ptr [rdx + 4] - sete dil + sete r10b cmp r13d, dword ptr [rdx + 8] sete r14b cmp r13d, dword ptr [rdx + 12] @@ -10497,9 +11041,9 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 cmp r13d, dword ptr [rdx + 20] sete byte ptr [rsp + 88] # 1-byte Folded Spill cmp r13d, dword ptr [rdx + 24] - sete al + sete bl cmp r13d, dword ptr [rdx + 28] - sete r11b + sete dil cmp r13d, dword ptr [rdx + 32] sete byte ptr [rsp + 208] # 1-byte Folded Spill cmp r13d, dword ptr [rdx + 36] @@ -10509,13 +11053,13 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 cmp r13d, dword ptr [rdx + 44] sete r9b cmp r13d, dword ptr [rdx + 48] - sete r10b + sete r11b cmp r13d, dword ptr [rdx + 52] sete r12b cmp r13d, dword ptr [rdx + 56] sete byte ptr [rsp + 176] # 1-byte Folded Spill cmp r13d, dword ptr [rdx + 60] - sete cl + sete al cmp r13d, dword ptr [rdx + 64] sete byte ptr [rsp + 72] # 1-byte Folded Spill cmp r13d, dword ptr [rdx + 68] @@ -10535,107 +11079,106 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 cmp r13d, dword ptr [rdx + 96] sete byte ptr [rsp + 24] # 1-byte Folded Spill cmp r13d, dword ptr [rdx + 100] - sete byte ptr [rsp + 56] # 1-byte Folded Spill - cmp r13d, dword ptr [rdx + 104] sete byte ptr [rsp + 32] # 1-byte Folded Spill + cmp r13d, dword ptr [rdx + 104] + sete byte ptr [rsp + 56] # 1-byte Folded Spill cmp r13d, dword ptr [rdx + 108] sete byte ptr [rsp + 40] # 1-byte Folded Spill cmp r13d, dword ptr [rdx + 112] - sete byte ptr [rsp + 16] # 1-byte Folded Spill - cmp r13d, dword ptr [rdx + 116] sete byte ptr [rsp + 48] # 1-byte Folded Spill + cmp r13d, dword ptr [rdx + 116] + sete byte ptr [rsp + 16] # 1-byte Folded Spill cmp r13d, dword ptr [rdx + 120] sete byte ptr [rsp + 8] # 1-byte Folded Spill cmp r13d, dword ptr [rdx + 124] - sete bl - add dil, dil - add dil, byte ptr [rsp + 192] # 1-byte Folded Reload - shl al, 6 - shl r11b, 7 - or r11b, al + sete cl + add r10b, r10b + add r10b, byte ptr [rsp + 192] # 1-byte Folded Reload + shl bl, 6 + shl dil, 7 + or dil, bl shl r14b, 2 - or r14b, dil + or r14b, r10b add sil, sil add sil, byte ptr [rsp + 208] # 1-byte Folded Reload - movzx eax, byte ptr [rsp + 160] # 1-byte Folded Reload - shl al, 3 - or al, r14b - mov edi, eax + movzx ebx, byte ptr [rsp + 160] # 1-byte Folded Reload + shl bl, 3 + or bl, r14b + mov r10d, ebx shl r8b, 2 or r8b, sil - movzx eax, byte ptr [rsp + 112] # 1-byte Folded Reload - shl al, 4 - or al, dil - mov edi, eax + movzx ebx, byte ptr [rsp + 112] # 1-byte Folded Reload + shl bl, 4 + or bl, r10b + mov esi, ebx shl r9b, 3 or r9b, r8b - movzx eax, byte ptr [rsp + 88] # 1-byte Folded Reload - shl al, 5 - or al, dil - shl r10b, 4 - or r10b, r9b + movzx ebx, byte ptr [rsp + 88] # 1-byte Folded Reload + shl bl, 5 + or bl, sil + shl r11b, 4 + or r11b, r9b shl r12b, 5 - or r12b, r10b - movzx esi, byte ptr [rsp + 176] # 1-byte Folded Reload - shl sil, 6 - shl cl, 7 - or cl, sil - or r11b, al - or cl, r12b - movzx eax, byte ptr [rsp + 120] # 1-byte Folded Reload - add al, al - add al, byte ptr [rsp + 72] # 1-byte Folded Reload - mov esi, eax - movzx eax, byte ptr [rsp + 128] # 1-byte Folded Reload - shl al, 2 - or al, sil - mov esi, eax - movzx eax, byte ptr [rsp + 96] # 1-byte Folded Reload - shl al, 3 - or al, sil - mov esi, eax - movzx eax, byte ptr [rsp + 80] # 1-byte Folded Reload - shl al, 4 - or al, sil - mov esi, eax - movzx eax, byte ptr [rsp + 104] # 1-byte Folded Reload - shl al, 5 - or al, sil - mov edi, eax - mov rax, qword ptr [rsp] # 8-byte Reload - mov byte ptr [rax], r11b + or r12b, r11b mov rsi, qword ptr [rsp] # 8-byte Reload - movzx eax, byte ptr [rsp + 64] # 1-byte Folded Reload - shl al, 6 + movzx r8d, byte ptr [rsp + 176] # 1-byte Folded Reload + shl r8b, 6 + shl al, 7 + or al, r8b + or dil, bl + or al, r12b + movzx ebx, byte ptr [rsp + 120] # 1-byte Folded Reload + add bl, bl + add bl, byte ptr [rsp + 72] # 1-byte Folded Reload + mov r8d, ebx + movzx ebx, byte ptr [rsp + 128] # 1-byte Folded Reload + shl bl, 2 + or bl, r8b + mov r8d, ebx + movzx ebx, byte ptr [rsp + 96] # 1-byte Folded Reload + shl bl, 3 + or bl, r8b + mov r8d, ebx + movzx ebx, byte ptr [rsp + 80] # 1-byte Folded Reload + shl bl, 4 + or bl, r8b + mov r8d, ebx + movzx ebx, byte ptr [rsp + 104] # 1-byte Folded Reload + shl bl, 5 + or bl, r8b + mov byte ptr [rsi], dil + movzx edi, byte ptr [rsp + 64] # 1-byte Folded Reload + shl dil, 6 shl r15b, 7 - or r15b, al - mov byte ptr [rsi + 1], cl or r15b, dil - movzx eax, byte ptr [rsp + 56] # 1-byte Folded Reload + mov byte ptr [rsi + 1], al + or r15b, bl + movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload add al, al add al, byte ptr [rsp + 24] # 1-byte Folded Reload - mov ecx, eax - movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload + mov ebx, eax + movzx eax, byte ptr [rsp + 56] # 1-byte Folded Reload shl al, 2 - or al, cl - mov ecx, eax + or al, bl + mov ebx, eax movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload shl al, 3 - or al, cl - mov ecx, eax - movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload shl al, 4 - or al, cl - movzx ecx, byte ptr [rsp + 48] # 1-byte Folded Reload - shl cl, 5 + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload + shl al, 5 + or al, bl + movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload + shl bl, 6 + shl cl, 7 + or cl, bl or cl, al - movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload - shl al, 6 - shl bl, 7 - or bl, al - or bl, cl mov byte ptr [rsi + 2], r15b - mov byte ptr [rsi + 3], bl + mov byte ptr [rsi + 3], cl add rdx, 128 add rsi, 4 mov qword ptr [rsp], rsi # 8-byte Spill @@ -10647,21 +11190,21 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 .LBB2_80: shl r11, 5 cmp r11, r10 - jge .LBB2_176 + jge .LBB2_177 # %bb.81: mov r8, r10 sub r8, r11 not r11 add r11, r10 - jne .LBB2_150 + jne .LBB2_151 .LBB2_82: xor edi, edi - jmp .LBB2_152 + jmp .LBB2_153 .LBB2_83: - movzx r13d, word ptr [rsi] - lea r14, [r10 + 31] + movzx r14d, word ptr [rsi] + lea r15, [r10 + 31] test r10, r10 - cmovns r14, r10 + cmovns r15, r10 lea eax, [r9 + 7] test r9d, r9d cmovns eax, r9d @@ -10673,7 +11216,7 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 mov r11, qword ptr [rsp] # 8-byte Reload .p2align 4, 0x90 .LBB2_85: # =>This Inner Loop Header: Depth=1 - cmp r13w, word ptr [rdx] + cmp r14w, word ptr [rdx] lea rdx, [rdx + 2] sete bl neg bl @@ -10698,122 +11241,130 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 # %bb.86: add qword ptr [rsp], 1 # 8-byte Folded Spill .LBB2_87: - sar r14, 5 + sar r15, 5 cmp r10, 32 jl .LBB2_138 # %bb.88: - cmp r14, 8 + cmp r15, 8 + mov dword ptr [rsp + 8], r14d # 4-byte Spill mov qword ptr [rsp + 144], r10 # 8-byte Spill - mov qword ptr [rsp + 152], r14 # 8-byte Spill + mov qword ptr [rsp + 152], r15 # 8-byte Spill jb .LBB2_91 # %bb.89: - mov rax, r14 + mov rax, r15 shl rax, 6 add rax, rdx cmp qword ptr [rsp], rax # 8-byte Folded Reload - jae .LBB2_191 + jae .LBB2_188 # %bb.90: mov rax, qword ptr [rsp] # 8-byte Reload - lea rax, [rax + 4*r14] + lea rax, [rax + 4*r15] cmp rax, rdx - jbe .LBB2_191 + jbe .LBB2_188 .LBB2_91: xor eax, eax mov qword ptr [rsp + 32], rax # 8-byte Spill mov rsi, rdx mov rax, qword ptr [rsp] # 8-byte Reload - mov qword ptr [rsp + 8], rax # 8-byte Spill + mov qword ptr [rsp + 16], rax # 8-byte Spill .LBB2_92: - sub r14, qword ptr [rsp + 32] # 8-byte Folded Reload - mov qword ptr [rsp + 136], r14 # 8-byte Spill + sub r15, qword ptr [rsp + 32] # 8-byte Folded Reload + mov qword ptr [rsp + 136], r15 # 8-byte Spill .p2align 4, 0x90 .LBB2_93: # =>This Inner Loop Header: Depth=1 - mov r11, rsi - cmp r13w, word ptr [rsi] + mov r10, rsi + cmp r14w, word ptr [rsi] sete byte ptr [rsp + 192] # 1-byte Folded Spill - cmp r13w, word ptr [rsi + 2] + cmp r14w, word ptr [rsi + 2] sete dil - cmp r13w, word ptr [rsi + 4] - sete r14b - cmp r13w, word ptr [rsi + 6] - sete byte ptr [rsp + 160] # 1-byte Folded Spill - cmp r13w, word ptr [rsi + 8] - sete byte ptr [rsp + 112] # 1-byte Folded Spill - cmp r13w, word ptr [rsi + 10] - sete byte ptr [rsp + 88] # 1-byte Folded Spill - cmp r13w, word ptr [rsi + 12] + cmp r14w, word ptr [rsi + 4] + sete r15b + cmp r14w, word ptr [rsi + 6] + sete r13b + cmp r14w, word ptr [rsi + 8] + sete byte ptr [rsp + 128] # 1-byte Folded Spill + cmp r14w, word ptr [rsi + 10] + sete byte ptr [rsp + 80] # 1-byte Folded Spill + cmp r14w, word ptr [rsi + 12] sete al - cmp r13w, word ptr [rsi + 14] - sete r10b - cmp r13w, word ptr [rsi + 16] + cmp r14w, word ptr [rsi + 14] + sete r11b + cmp r14w, word ptr [rsi + 16] sete byte ptr [rsp + 208] # 1-byte Folded Spill - cmp r13w, word ptr [rsi + 18] + cmp r14w, word ptr [rsi + 18] sete cl - cmp r13w, word ptr [rsi + 20] + cmp r14w, word ptr [rsi + 20] sete dl - cmp r13w, word ptr [rsi + 22] + cmp r14w, word ptr [rsi + 22] sete sil - cmp r13w, word ptr [r11 + 24] + cmp r14w, word ptr [r10 + 24] sete r9b - cmp r13w, word ptr [r11 + 26] + cmp r14w, word ptr [r10 + 26] sete r12b - cmp r13w, word ptr [r11 + 28] + cmp r14w, word ptr [r10 + 28] sete byte ptr [rsp + 176] # 1-byte Folded Spill - cmp r13w, word ptr [r11 + 30] + cmp r14w, word ptr [r10 + 30] sete r8b - cmp r13w, word ptr [r11 + 32] - sete byte ptr [rsp + 72] # 1-byte Folded Spill - cmp r13w, word ptr [r11 + 34] - sete byte ptr [rsp + 120] # 1-byte Folded Spill - cmp r13w, word ptr [r11 + 36] - sete byte ptr [rsp + 128] # 1-byte Folded Spill - cmp r13w, word ptr [r11 + 38] + cmp r14w, word ptr [r10 + 32] sete byte ptr [rsp + 96] # 1-byte Folded Spill - cmp r13w, word ptr [r11 + 40] - sete byte ptr [rsp + 80] # 1-byte Folded Spill - cmp r13w, word ptr [r11 + 42] + cmp r14w, word ptr [r10 + 34] + sete byte ptr [rsp + 160] # 1-byte Folded Spill + cmp r14w, word ptr [r10 + 36] + sete byte ptr [rsp + 120] # 1-byte Folded Spill + cmp r14w, word ptr [r10 + 38] + sete byte ptr [rsp + 112] # 1-byte Folded Spill + cmp r14w, word ptr [r10 + 40] + sete byte ptr [rsp + 72] # 1-byte Folded Spill + cmp r14w, word ptr [r10 + 42] + sete byte ptr [rsp + 88] # 1-byte Folded Spill + cmp r14w, word ptr [r10 + 44] sete byte ptr [rsp + 104] # 1-byte Folded Spill - cmp r13w, word ptr [r11 + 44] + cmp r14w, word ptr [r10 + 46] + sete r14b + mov ebx, dword ptr [rsp + 8] # 4-byte Reload + cmp bx, word ptr [r10 + 48] + sete byte ptr [rsp + 40] # 1-byte Folded Spill + mov ebx, dword ptr [rsp + 8] # 4-byte Reload + cmp bx, word ptr [r10 + 50] sete byte ptr [rsp + 64] # 1-byte Folded Spill - cmp r13w, word ptr [r11 + 46] - sete r15b - cmp r13w, word ptr [r11 + 48] - sete byte ptr [rsp + 24] # 1-byte Folded Spill - cmp r13w, word ptr [r11 + 50] - sete byte ptr [rsp + 56] # 1-byte Folded Spill - cmp r13w, word ptr [r11 + 52] + mov ebx, dword ptr [rsp + 8] # 4-byte Reload + cmp bx, word ptr [r10 + 52] sete byte ptr [rsp + 32] # 1-byte Folded Spill - cmp r13w, word ptr [r11 + 54] - sete byte ptr [rsp + 40] # 1-byte Folded Spill - cmp r13w, word ptr [r11 + 56] - sete byte ptr [rsp + 16] # 1-byte Folded Spill - cmp r13w, word ptr [r11 + 58] + mov ebx, dword ptr [rsp + 8] # 4-byte Reload + cmp bx, word ptr [r10 + 54] + sete byte ptr [rsp + 56] # 1-byte Folded Spill + mov ebx, dword ptr [rsp + 8] # 4-byte Reload + cmp bx, word ptr [r10 + 56] + sete byte ptr [rsp + 24] # 1-byte Folded Spill + mov ebx, dword ptr [rsp + 8] # 4-byte Reload + cmp bx, word ptr [r10 + 58] sete byte ptr [rsp + 48] # 1-byte Folded Spill - cmp r13w, word ptr [r11 + 60] + mov ebx, dword ptr [rsp + 8] # 4-byte Reload + cmp bx, word ptr [r10 + 60] sete byte ptr [rsp] # 1-byte Folded Spill - cmp r13w, word ptr [r11 + 62] + mov ebx, dword ptr [rsp + 8] # 4-byte Reload + cmp bx, word ptr [r10 + 62] sete bl add dil, dil add dil, byte ptr [rsp + 192] # 1-byte Folded Reload shl al, 6 - shl r10b, 7 - or r10b, al - shl r14b, 2 - or r14b, dil + shl r11b, 7 + or r11b, al + shl r15b, 2 + or r15b, dil add cl, cl add cl, byte ptr [rsp + 208] # 1-byte Folded Reload - movzx eax, byte ptr [rsp + 160] # 1-byte Folded Reload - shl al, 3 - or al, r14b + shl r13b, 3 + or r13b, r15b shl dl, 2 or dl, cl - movzx ecx, byte ptr [rsp + 112] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 128] # 1-byte Folded Reload shl cl, 4 - or cl, al + or cl, r13b mov edi, ecx shl sil, 3 or sil, dl - movzx ecx, byte ptr [rsp + 88] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 80] # 1-byte Folded Reload shl cl, 5 or cl, dil shl r9b, 4 @@ -10824,49 +11375,48 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 shl dl, 6 shl r8b, 7 or r8b, dl - or r10b, cl + or r11b, cl or r8b, r12b + movzx eax, byte ptr [rsp + 160] # 1-byte Folded Reload + add al, al + add al, byte ptr [rsp + 96] # 1-byte Folded Reload movzx ecx, byte ptr [rsp + 120] # 1-byte Folded Reload - add cl, cl - add cl, byte ptr [rsp + 72] # 1-byte Folded Reload - mov edx, ecx - movzx ecx, byte ptr [rsp + 128] # 1-byte Folded Reload shl cl, 2 - or cl, dl + or cl, al mov edx, ecx - movzx ecx, byte ptr [rsp + 96] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 112] # 1-byte Folded Reload shl cl, 3 or cl, dl mov edx, ecx - movzx ecx, byte ptr [rsp + 80] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 72] # 1-byte Folded Reload shl cl, 4 or cl, dl mov edx, ecx - movzx ecx, byte ptr [rsp + 104] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 88] # 1-byte Folded Reload shl cl, 5 or cl, dl mov esi, ecx - mov rcx, qword ptr [rsp + 8] # 8-byte Reload - mov byte ptr [rcx], r10b - movzx edx, byte ptr [rsp + 64] # 1-byte Folded Reload + mov rcx, qword ptr [rsp + 16] # 8-byte Reload + mov byte ptr [rcx], r11b + movzx edx, byte ptr [rsp + 104] # 1-byte Folded Reload shl dl, 6 - shl r15b, 7 - or r15b, dl + shl r14b, 7 + or r14b, dl mov byte ptr [rcx + 1], r8b - or r15b, sil - movzx eax, byte ptr [rsp + 56] # 1-byte Folded Reload + or r14b, sil + movzx eax, byte ptr [rsp + 64] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 24] # 1-byte Folded Reload + add al, byte ptr [rsp + 40] # 1-byte Folded Reload mov edx, eax movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload shl al, 2 or al, dl mov edx, eax - movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 56] # 1-byte Folded Reload shl al, 3 or al, dl mov edx, eax - movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 24] # 1-byte Folded Reload shl al, 4 or al, dl mov edx, eax @@ -10878,19 +11428,20 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 shl bl, 7 or bl, dl or bl, al - mov byte ptr [rcx + 2], r15b + mov byte ptr [rcx + 2], r14b + mov r14d, dword ptr [rsp + 8] # 4-byte Reload mov byte ptr [rcx + 3], bl - lea rsi, [r11 + 64] + lea rsi, [r10 + 64] add rcx, 4 - mov qword ptr [rsp + 8], rcx # 8-byte Spill + mov qword ptr [rsp + 16], rcx # 8-byte Spill add qword ptr [rsp + 136], -1 # 8-byte Folded Spill jne .LBB2_93 # %bb.94: mov r10, qword ptr [rsp + 144] # 8-byte Reload - mov r14, qword ptr [rsp + 152] # 8-byte Reload + mov r15, qword ptr [rsp + 152] # 8-byte Reload jmp .LBB2_139 .LBB2_95: - movzx r13d, word ptr [rsi] + movzx r14d, word ptr [rsi] lea r15, [r10 + 31] test r10, r10 cmovns r15, r10 @@ -10905,7 +11456,7 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 mov r11, qword ptr [rsp] # 8-byte Reload .p2align 4, 0x90 .LBB2_97: # =>This Inner Loop Header: Depth=1 - cmp r13w, word ptr [rdx] + cmp r14w, word ptr [rdx] lea rdx, [rdx + 2] sete bl neg bl @@ -10932,9 +11483,10 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 .LBB2_99: sar r15, 5 cmp r10, 32 - jl .LBB2_142 + jl .LBB2_143 # %bb.100: cmp r15, 8 + mov dword ptr [rsp + 8], r14d # 4-byte Spill mov qword ptr [rsp + 144], r10 # 8-byte Spill mov qword ptr [rsp + 152], r15 # 8-byte Spill jb .LBB2_103 @@ -10943,109 +11495,116 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 shl rax, 6 add rax, rdx cmp qword ptr [rsp], rax # 8-byte Folded Reload - jae .LBB2_194 + jae .LBB2_191 # %bb.102: mov rax, qword ptr [rsp] # 8-byte Reload lea rax, [rax + 4*r15] cmp rax, rdx - jbe .LBB2_194 + jbe .LBB2_191 .LBB2_103: xor eax, eax mov qword ptr [rsp + 32], rax # 8-byte Spill mov rsi, rdx - mov r14, qword ptr [rsp] # 8-byte Reload + mov rax, qword ptr [rsp] # 8-byte Reload + mov qword ptr [rsp + 16], rax # 8-byte Spill .LBB2_104: - mov qword ptr [rsp + 8], r14 # 8-byte Spill sub r15, qword ptr [rsp + 32] # 8-byte Folded Reload mov qword ptr [rsp + 136], r15 # 8-byte Spill .p2align 4, 0x90 .LBB2_105: # =>This Inner Loop Header: Depth=1 - mov r11, rsi - cmp r13w, word ptr [rsi] + mov r10, rsi + cmp r14w, word ptr [rsi] sete byte ptr [rsp + 192] # 1-byte Folded Spill - cmp r13w, word ptr [rsi + 2] + cmp r14w, word ptr [rsi + 2] sete dil - cmp r13w, word ptr [rsi + 4] - sete r14b - cmp r13w, word ptr [rsi + 6] - sete byte ptr [rsp + 160] # 1-byte Folded Spill - cmp r13w, word ptr [rsi + 8] - sete byte ptr [rsp + 112] # 1-byte Folded Spill - cmp r13w, word ptr [rsi + 10] - sete byte ptr [rsp + 88] # 1-byte Folded Spill - cmp r13w, word ptr [rsi + 12] + cmp r14w, word ptr [rsi + 4] + sete r15b + cmp r14w, word ptr [rsi + 6] + sete r13b + cmp r14w, word ptr [rsi + 8] + sete byte ptr [rsp + 128] # 1-byte Folded Spill + cmp r14w, word ptr [rsi + 10] + sete byte ptr [rsp + 80] # 1-byte Folded Spill + cmp r14w, word ptr [rsi + 12] sete al - cmp r13w, word ptr [rsi + 14] - sete r10b - cmp r13w, word ptr [rsi + 16] + cmp r14w, word ptr [rsi + 14] + sete r11b + cmp r14w, word ptr [rsi + 16] sete byte ptr [rsp + 208] # 1-byte Folded Spill - cmp r13w, word ptr [rsi + 18] + cmp r14w, word ptr [rsi + 18] sete cl - cmp r13w, word ptr [rsi + 20] + cmp r14w, word ptr [rsi + 20] sete dl - cmp r13w, word ptr [rsi + 22] + cmp r14w, word ptr [rsi + 22] sete sil - cmp r13w, word ptr [r11 + 24] + cmp r14w, word ptr [r10 + 24] sete r9b - cmp r13w, word ptr [r11 + 26] + cmp r14w, word ptr [r10 + 26] sete r12b - cmp r13w, word ptr [r11 + 28] + cmp r14w, word ptr [r10 + 28] sete byte ptr [rsp + 176] # 1-byte Folded Spill - cmp r13w, word ptr [r11 + 30] + cmp r14w, word ptr [r10 + 30] sete r8b - cmp r13w, word ptr [r11 + 32] - sete byte ptr [rsp + 72] # 1-byte Folded Spill - cmp r13w, word ptr [r11 + 34] - sete byte ptr [rsp + 120] # 1-byte Folded Spill - cmp r13w, word ptr [r11 + 36] - sete byte ptr [rsp + 128] # 1-byte Folded Spill - cmp r13w, word ptr [r11 + 38] + cmp r14w, word ptr [r10 + 32] sete byte ptr [rsp + 96] # 1-byte Folded Spill - cmp r13w, word ptr [r11 + 40] - sete byte ptr [rsp + 80] # 1-byte Folded Spill - cmp r13w, word ptr [r11 + 42] + cmp r14w, word ptr [r10 + 34] + sete byte ptr [rsp + 160] # 1-byte Folded Spill + cmp r14w, word ptr [r10 + 36] + sete byte ptr [rsp + 120] # 1-byte Folded Spill + cmp r14w, word ptr [r10 + 38] + sete byte ptr [rsp + 112] # 1-byte Folded Spill + cmp r14w, word ptr [r10 + 40] + sete byte ptr [rsp + 72] # 1-byte Folded Spill + cmp r14w, word ptr [r10 + 42] + sete byte ptr [rsp + 88] # 1-byte Folded Spill + cmp r14w, word ptr [r10 + 44] sete byte ptr [rsp + 104] # 1-byte Folded Spill - cmp r13w, word ptr [r11 + 44] + cmp r14w, word ptr [r10 + 46] + sete r14b + mov ebx, dword ptr [rsp + 8] # 4-byte Reload + cmp bx, word ptr [r10 + 48] + sete byte ptr [rsp + 40] # 1-byte Folded Spill + mov ebx, dword ptr [rsp + 8] # 4-byte Reload + cmp bx, word ptr [r10 + 50] sete byte ptr [rsp + 64] # 1-byte Folded Spill - cmp r13w, word ptr [r11 + 46] - sete r15b - cmp r13w, word ptr [r11 + 48] - sete byte ptr [rsp + 24] # 1-byte Folded Spill - cmp r13w, word ptr [r11 + 50] - sete byte ptr [rsp + 56] # 1-byte Folded Spill - cmp r13w, word ptr [r11 + 52] + mov ebx, dword ptr [rsp + 8] # 4-byte Reload + cmp bx, word ptr [r10 + 52] sete byte ptr [rsp + 32] # 1-byte Folded Spill - cmp r13w, word ptr [r11 + 54] - sete byte ptr [rsp + 40] # 1-byte Folded Spill - cmp r13w, word ptr [r11 + 56] - sete byte ptr [rsp + 16] # 1-byte Folded Spill - cmp r13w, word ptr [r11 + 58] + mov ebx, dword ptr [rsp + 8] # 4-byte Reload + cmp bx, word ptr [r10 + 54] + sete byte ptr [rsp + 56] # 1-byte Folded Spill + mov ebx, dword ptr [rsp + 8] # 4-byte Reload + cmp bx, word ptr [r10 + 56] + sete byte ptr [rsp + 24] # 1-byte Folded Spill + mov ebx, dword ptr [rsp + 8] # 4-byte Reload + cmp bx, word ptr [r10 + 58] sete byte ptr [rsp + 48] # 1-byte Folded Spill - cmp r13w, word ptr [r11 + 60] + mov ebx, dword ptr [rsp + 8] # 4-byte Reload + cmp bx, word ptr [r10 + 60] sete byte ptr [rsp] # 1-byte Folded Spill - cmp r13w, word ptr [r11 + 62] + mov ebx, dword ptr [rsp + 8] # 4-byte Reload + cmp bx, word ptr [r10 + 62] sete bl add dil, dil add dil, byte ptr [rsp + 192] # 1-byte Folded Reload shl al, 6 - shl r10b, 7 - or r10b, al - shl r14b, 2 - or r14b, dil + shl r11b, 7 + or r11b, al + shl r15b, 2 + or r15b, dil add cl, cl add cl, byte ptr [rsp + 208] # 1-byte Folded Reload - movzx eax, byte ptr [rsp + 160] # 1-byte Folded Reload - shl al, 3 - or al, r14b + shl r13b, 3 + or r13b, r15b shl dl, 2 or dl, cl - movzx ecx, byte ptr [rsp + 112] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 128] # 1-byte Folded Reload shl cl, 4 - or cl, al + or cl, r13b mov edi, ecx shl sil, 3 or sil, dl - movzx ecx, byte ptr [rsp + 88] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 80] # 1-byte Folded Reload shl cl, 5 or cl, dil shl r9b, 4 @@ -11056,49 +11615,48 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 shl dl, 6 shl r8b, 7 or r8b, dl - or r10b, cl + or r11b, cl or r8b, r12b + movzx eax, byte ptr [rsp + 160] # 1-byte Folded Reload + add al, al + add al, byte ptr [rsp + 96] # 1-byte Folded Reload movzx ecx, byte ptr [rsp + 120] # 1-byte Folded Reload - add cl, cl - add cl, byte ptr [rsp + 72] # 1-byte Folded Reload - mov edx, ecx - movzx ecx, byte ptr [rsp + 128] # 1-byte Folded Reload shl cl, 2 - or cl, dl + or cl, al mov edx, ecx - movzx ecx, byte ptr [rsp + 96] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 112] # 1-byte Folded Reload shl cl, 3 or cl, dl mov edx, ecx - movzx ecx, byte ptr [rsp + 80] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 72] # 1-byte Folded Reload shl cl, 4 or cl, dl mov edx, ecx - movzx ecx, byte ptr [rsp + 104] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 88] # 1-byte Folded Reload shl cl, 5 or cl, dl mov esi, ecx - mov rcx, qword ptr [rsp + 8] # 8-byte Reload - mov byte ptr [rcx], r10b - movzx edx, byte ptr [rsp + 64] # 1-byte Folded Reload + mov rcx, qword ptr [rsp + 16] # 8-byte Reload + mov byte ptr [rcx], r11b + movzx edx, byte ptr [rsp + 104] # 1-byte Folded Reload shl dl, 6 - shl r15b, 7 - or r15b, dl + shl r14b, 7 + or r14b, dl mov byte ptr [rcx + 1], r8b - or r15b, sil - movzx eax, byte ptr [rsp + 56] # 1-byte Folded Reload + or r14b, sil + movzx eax, byte ptr [rsp + 64] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 24] # 1-byte Folded Reload + add al, byte ptr [rsp + 40] # 1-byte Folded Reload mov edx, eax movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload shl al, 2 or al, dl mov edx, eax - movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 56] # 1-byte Folded Reload shl al, 3 or al, dl mov edx, eax - movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 24] # 1-byte Folded Reload shl al, 4 or al, dl mov edx, eax @@ -11110,18 +11668,18 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 shl bl, 7 or bl, dl or bl, al - mov byte ptr [rcx + 2], r15b + mov byte ptr [rcx + 2], r14b + mov r14d, dword ptr [rsp + 8] # 4-byte Reload mov byte ptr [rcx + 3], bl - lea rsi, [r11 + 64] + lea rsi, [r10 + 64] add rcx, 4 - mov qword ptr [rsp + 8], rcx # 8-byte Spill + mov qword ptr [rsp + 16], rcx # 8-byte Spill add qword ptr [rsp + 136], -1 # 8-byte Folded Spill jne .LBB2_105 # %bb.106: mov r10, qword ptr [rsp + 144] # 8-byte Reload mov r15, qword ptr [rsp + 152] # 8-byte Reload - mov r14, qword ptr [rsp + 8] # 8-byte Reload - jmp .LBB2_143 + jmp .LBB2_144 .LBB2_107: mov r13, qword ptr [rsi] lea r11, [r10 + 31] @@ -11175,7 +11733,7 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 cmp r13, qword ptr [rdx] sete byte ptr [rsp + 192] # 1-byte Folded Spill cmp r13, qword ptr [rdx + 8] - sete dil + sete r10b cmp r13, qword ptr [rdx + 16] sete r14b cmp r13, qword ptr [rdx + 24] @@ -11185,9 +11743,9 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 cmp r13, qword ptr [rdx + 40] sete byte ptr [rsp + 88] # 1-byte Folded Spill cmp r13, qword ptr [rdx + 48] - sete al + sete bl cmp r13, qword ptr [rdx + 56] - sete r11b + sete dil cmp r13, qword ptr [rdx + 64] sete byte ptr [rsp + 208] # 1-byte Folded Spill cmp r13, qword ptr [rdx + 72] @@ -11197,13 +11755,13 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 cmp r13, qword ptr [rdx + 88] sete r9b cmp r13, qword ptr [rdx + 96] - sete r10b + sete r11b cmp r13, qword ptr [rdx + 104] sete r12b cmp r13, qword ptr [rdx + 112] sete byte ptr [rsp + 176] # 1-byte Folded Spill cmp r13, qword ptr [rdx + 120] - sete cl + sete al cmp r13, qword ptr [rdx + 128] sete byte ptr [rsp + 72] # 1-byte Folded Spill cmp r13, qword ptr [rdx + 136] @@ -11223,107 +11781,106 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 cmp r13, qword ptr [rdx + 192] sete byte ptr [rsp + 24] # 1-byte Folded Spill cmp r13, qword ptr [rdx + 200] - sete byte ptr [rsp + 56] # 1-byte Folded Spill - cmp r13, qword ptr [rdx + 208] sete byte ptr [rsp + 32] # 1-byte Folded Spill + cmp r13, qword ptr [rdx + 208] + sete byte ptr [rsp + 56] # 1-byte Folded Spill cmp r13, qword ptr [rdx + 216] sete byte ptr [rsp + 40] # 1-byte Folded Spill cmp r13, qword ptr [rdx + 224] - sete byte ptr [rsp + 16] # 1-byte Folded Spill - cmp r13, qword ptr [rdx + 232] sete byte ptr [rsp + 48] # 1-byte Folded Spill + cmp r13, qword ptr [rdx + 232] + sete byte ptr [rsp + 16] # 1-byte Folded Spill cmp r13, qword ptr [rdx + 240] sete byte ptr [rsp + 8] # 1-byte Folded Spill cmp r13, qword ptr [rdx + 248] - sete bl - add dil, dil - add dil, byte ptr [rsp + 192] # 1-byte Folded Reload - shl al, 6 - shl r11b, 7 - or r11b, al + sete cl + add r10b, r10b + add r10b, byte ptr [rsp + 192] # 1-byte Folded Reload + shl bl, 6 + shl dil, 7 + or dil, bl shl r14b, 2 - or r14b, dil + or r14b, r10b add sil, sil add sil, byte ptr [rsp + 208] # 1-byte Folded Reload - movzx eax, byte ptr [rsp + 160] # 1-byte Folded Reload - shl al, 3 - or al, r14b - mov edi, eax + movzx ebx, byte ptr [rsp + 160] # 1-byte Folded Reload + shl bl, 3 + or bl, r14b + mov r10d, ebx shl r8b, 2 or r8b, sil - movzx eax, byte ptr [rsp + 112] # 1-byte Folded Reload - shl al, 4 - or al, dil - mov edi, eax + movzx ebx, byte ptr [rsp + 112] # 1-byte Folded Reload + shl bl, 4 + or bl, r10b + mov esi, ebx shl r9b, 3 or r9b, r8b - movzx eax, byte ptr [rsp + 88] # 1-byte Folded Reload - shl al, 5 - or al, dil - shl r10b, 4 - or r10b, r9b + movzx ebx, byte ptr [rsp + 88] # 1-byte Folded Reload + shl bl, 5 + or bl, sil + shl r11b, 4 + or r11b, r9b shl r12b, 5 - or r12b, r10b - movzx esi, byte ptr [rsp + 176] # 1-byte Folded Reload - shl sil, 6 - shl cl, 7 - or cl, sil - or r11b, al - or cl, r12b - movzx eax, byte ptr [rsp + 120] # 1-byte Folded Reload - add al, al - add al, byte ptr [rsp + 72] # 1-byte Folded Reload - mov esi, eax - movzx eax, byte ptr [rsp + 128] # 1-byte Folded Reload - shl al, 2 - or al, sil - mov esi, eax - movzx eax, byte ptr [rsp + 96] # 1-byte Folded Reload - shl al, 3 - or al, sil - mov esi, eax - movzx eax, byte ptr [rsp + 80] # 1-byte Folded Reload - shl al, 4 - or al, sil - mov esi, eax - movzx eax, byte ptr [rsp + 104] # 1-byte Folded Reload - shl al, 5 - or al, sil - mov edi, eax - mov rax, qword ptr [rsp] # 8-byte Reload - mov byte ptr [rax], r11b + or r12b, r11b mov rsi, qword ptr [rsp] # 8-byte Reload - movzx eax, byte ptr [rsp + 64] # 1-byte Folded Reload - shl al, 6 + movzx r8d, byte ptr [rsp + 176] # 1-byte Folded Reload + shl r8b, 6 + shl al, 7 + or al, r8b + or dil, bl + or al, r12b + movzx ebx, byte ptr [rsp + 120] # 1-byte Folded Reload + add bl, bl + add bl, byte ptr [rsp + 72] # 1-byte Folded Reload + mov r8d, ebx + movzx ebx, byte ptr [rsp + 128] # 1-byte Folded Reload + shl bl, 2 + or bl, r8b + mov r8d, ebx + movzx ebx, byte ptr [rsp + 96] # 1-byte Folded Reload + shl bl, 3 + or bl, r8b + mov r8d, ebx + movzx ebx, byte ptr [rsp + 80] # 1-byte Folded Reload + shl bl, 4 + or bl, r8b + mov r8d, ebx + movzx ebx, byte ptr [rsp + 104] # 1-byte Folded Reload + shl bl, 5 + or bl, r8b + mov byte ptr [rsi], dil + movzx edi, byte ptr [rsp + 64] # 1-byte Folded Reload + shl dil, 6 shl r15b, 7 - or r15b, al - mov byte ptr [rsi + 1], cl or r15b, dil - movzx eax, byte ptr [rsp + 56] # 1-byte Folded Reload + mov byte ptr [rsi + 1], al + or r15b, bl + movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload add al, al add al, byte ptr [rsp + 24] # 1-byte Folded Reload - mov ecx, eax - movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload + mov ebx, eax + movzx eax, byte ptr [rsp + 56] # 1-byte Folded Reload shl al, 2 - or al, cl - mov ecx, eax + or al, bl + mov ebx, eax movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload shl al, 3 - or al, cl - mov ecx, eax - movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload shl al, 4 - or al, cl - movzx ecx, byte ptr [rsp + 48] # 1-byte Folded Reload - shl cl, 5 + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload + shl al, 5 + or al, bl + movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload + shl bl, 6 + shl cl, 7 + or cl, bl or cl, al - movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload - shl al, 6 - shl bl, 7 - or bl, al - or bl, cl mov byte ptr [rsi + 2], r15b - mov byte ptr [rsi + 3], bl + mov byte ptr [rsi + 3], cl add rdx, 256 add rsi, 4 mov qword ptr [rsp], rsi # 8-byte Spill @@ -11335,16 +11892,16 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 .LBB2_115: shl r11, 5 cmp r11, r10 - jge .LBB2_176 + jge .LBB2_177 # %bb.116: mov r8, r10 sub r8, r11 not r11 add r11, r10 - jne .LBB2_165 + jne .LBB2_166 .LBB2_117: xor edi, edi - jmp .LBB2_167 + jmp .LBB2_168 .LBB2_118: lea r14, [r10 + 31] test r10, r10 @@ -11363,7 +11920,9 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 .LBB2_120: # =>This Inner Loop Header: Depth=1 ucomiss xmm0, dword ptr [rdx] lea rdx, [rdx + 4] + setnp cl sete bl + and bl, cl neg bl lea rsi, [rax + 7] test rax, rax @@ -11388,7 +11947,7 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 .LBB2_122: sar r14, 5 cmp r10, 32 - jl .LBB2_146 + jl .LBB2_147 # %bb.123: cmp r14, 4 jb .LBB2_126 @@ -11397,182 +11956,273 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 shl rax, 7 add rax, rdx cmp qword ptr [rsp], rax # 8-byte Folded Reload - jae .LBB2_197 + jae .LBB2_194 # %bb.125: mov rax, qword ptr [rsp] # 8-byte Reload lea rax, [rax + 4*r14] cmp rax, rdx - jbe .LBB2_197 + jbe .LBB2_194 .LBB2_126: xor r8d, r8d mov rbx, rdx - mov r11, qword ptr [rsp] # 8-byte Reload + mov r15, qword ptr [rsp] # 8-byte Reload .LBB2_127: - mov qword ptr [rsp], r11 # 8-byte Spill + mov qword ptr [rsp + 8], r15 # 8-byte Spill mov qword ptr [rsp + 144], r10 # 8-byte Spill - mov qword ptr [rsp + 136], r14 # 8-byte Spill + mov qword ptr [rsp + 240], r14 # 8-byte Spill sub r14, r8 - mov qword ptr [rsp + 192], r14 # 8-byte Spill + mov qword ptr [rsp + 152], r14 # 8-byte Spill .p2align 4, 0x90 .LBB2_128: # =>This Inner Loop Header: Depth=1 ucomiss xmm0, dword ptr [rbx] - sete byte ptr [rsp + 160] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov r13d, ecx ucomiss xmm0, dword ptr [rbx + 4] - sete r8b + setnp al + sete dl + and dl, al ucomiss xmm0, dword ptr [rbx + 8] - sete r14b + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 24], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 12] - sete r13b + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 48], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 16] - sete byte ptr [rsp + 112] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 16], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 20] - sete byte ptr [rsp + 88] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 56], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 24] - sete al + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 32], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 28] - sete r11b + setnp al + sete cl + and cl, al + mov byte ptr [rsp], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 32] - sete byte ptr [rsp + 176] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 40], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 36] - sete dl + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 64], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 40] - sete sil + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 104], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 44] - sete dil + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 88], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 48] - sete r10b + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 80], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 52] - sete r12b + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 96], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 56] - sete byte ptr [rsp + 120] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 128], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 60] - sete r9b + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 112], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 64] - sete byte ptr [rsp + 72] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 72], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 68] - sete byte ptr [rsp + 208] # 1-byte Folded Spill + setnp al + sete r12b + and r12b, al ucomiss xmm0, dword ptr [rbx + 72] - sete byte ptr [rsp + 128] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 120], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 76] - sete byte ptr [rsp + 96] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 176], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 80] - sete byte ptr [rsp + 80] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 208], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 84] - sete byte ptr [rsp + 104] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 192], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 88] - sete byte ptr [rsp + 64] # 1-byte Folded Spill + setnp al + sete r14b + and r14b, al ucomiss xmm0, dword ptr [rbx + 92] - sete r15b + setnp al + sete r8b + and r8b, al ucomiss xmm0, dword ptr [rbx + 96] - sete byte ptr [rsp + 24] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 160], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 100] - sete byte ptr [rsp + 56] # 1-byte Folded Spill + setnp al + sete r11b + and r11b, al ucomiss xmm0, dword ptr [rbx + 104] - sete byte ptr [rsp + 32] # 1-byte Folded Spill + setnp al + sete r10b + and r10b, al ucomiss xmm0, dword ptr [rbx + 108] - sete byte ptr [rsp + 40] # 1-byte Folded Spill + setnp al + sete r9b + and r9b, al ucomiss xmm0, dword ptr [rbx + 112] - sete byte ptr [rsp + 16] # 1-byte Folded Spill + setnp al + sete r15b + and r15b, al ucomiss xmm0, dword ptr [rbx + 116] - sete byte ptr [rsp + 48] # 1-byte Folded Spill + setnp al + sete cl + and cl, al + mov byte ptr [rsp + 136], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 120] - sete byte ptr [rsp + 8] # 1-byte Folded Spill + setnp al + sete dil + and dil, al ucomiss xmm0, dword ptr [rbx + 124] - sete cl - add r8b, r8b - add r8b, byte ptr [rsp + 160] # 1-byte Folded Reload - shl al, 6 - shl r11b, 7 - or r11b, al - shl r14b, 2 - or r14b, r8b + setnp al + sete sil + and sil, al add dl, dl - add dl, byte ptr [rsp + 176] # 1-byte Folded Reload - shl r13b, 3 - or r13b, r14b - shl sil, 2 - or sil, dl - movzx edx, byte ptr [rsp + 112] # 1-byte Folded Reload - shl dl, 4 or dl, r13b - mov r8d, edx - shl dil, 3 - or dil, sil - movzx edx, byte ptr [rsp + 88] # 1-byte Folded Reload + mov r13d, edx + movzx edx, byte ptr [rsp + 56] # 1-byte Folded Reload shl dl, 5 - or dl, r8b - shl r10b, 4 - or r10b, dil - shl r12b, 5 - or r12b, r10b - movzx esi, byte ptr [rsp + 120] # 1-byte Folded Reload - shl sil, 6 - shl r9b, 7 - or r9b, sil - or r11b, dl - or r9b, r12b - movzx eax, byte ptr [rsp + 208] # 1-byte Folded Reload - add al, al - add al, byte ptr [rsp + 72] # 1-byte Folded Reload - movzx edx, byte ptr [rsp + 128] # 1-byte Folded Reload - shl dl, 2 - or dl, al - mov esi, edx - movzx edx, byte ptr [rsp + 96] # 1-byte Folded Reload - shl dl, 3 - or dl, sil - mov esi, edx - movzx edx, byte ptr [rsp + 80] # 1-byte Folded Reload - shl dl, 4 - or dl, sil - mov esi, edx - movzx edx, byte ptr [rsp + 104] # 1-byte Folded Reload - shl dl, 5 - or dl, sil - mov rsi, qword ptr [rsp] # 8-byte Reload - mov byte ptr [rsi], r11b - movzx edi, byte ptr [rsp + 64] # 1-byte Folded Reload - shl dil, 6 - shl r15b, 7 - or r15b, dil - mov byte ptr [rsi + 1], r9b - or r15b, dl - movzx eax, byte ptr [rsp + 56] # 1-byte Folded Reload - add al, al - add al, byte ptr [rsp + 24] # 1-byte Folded Reload - mov edx, eax movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload - shl al, 2 + shl al, 6 or al, dl mov edx, eax - movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload - shl al, 3 + movzx eax, byte ptr [rsp + 24] # 1-byte Folded Reload + shl al, 2 + or al, r13b + mov r13d, eax + movzx ecx, byte ptr [rsp + 64] # 1-byte Folded Reload + add cl, cl + add cl, byte ptr [rsp + 40] # 1-byte Folded Reload + movzx eax, byte ptr [rsp] # 1-byte Folded Reload + shl al, 7 or al, dl - mov edx, eax + mov byte ptr [rsp], al # 1-byte Spill + movzx eax, byte ptr [rsp + 104] # 1-byte Folded Reload + shl al, 2 + or al, cl + mov ecx, eax + movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload + shl al, 3 + or al, r13b + mov r13d, eax + movzx eax, byte ptr [rsp + 88] # 1-byte Folded Reload + shl al, 3 + or al, cl + mov ecx, eax movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload shl al, 4 - or al, dl - mov edx, eax - movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload + or al, r13b + movzx edx, byte ptr [rsp + 80] # 1-byte Folded Reload + shl dl, 4 + or dl, cl + movzx r13d, byte ptr [rsp + 96] # 1-byte Folded Reload + shl r13b, 5 + movzx ecx, byte ptr [rsp + 128] # 1-byte Folded Reload + shl cl, 6 + or cl, r13b + movzx r13d, byte ptr [rsp + 112] # 1-byte Folded Reload + shl r13b, 7 + or r13b, cl + add r12b, r12b + add r12b, byte ptr [rsp + 72] # 1-byte Folded Reload + mov ecx, r12d + movzx r12d, byte ptr [rsp + 120] # 1-byte Folded Reload + shl r12b, 2 + or r12b, cl + movzx ecx, byte ptr [rsp + 176] # 1-byte Folded Reload + shl cl, 3 + or cl, r12b + mov r12d, ecx + movzx ecx, byte ptr [rsp + 208] # 1-byte Folded Reload + shl cl, 4 + or cl, r12b + movzx r12d, byte ptr [rsp] # 1-byte Folded Reload + or r12b, al + movzx eax, byte ptr [rsp + 192] # 1-byte Folded Reload shl al, 5 - or al, dl - movzx edx, byte ptr [rsp + 8] # 1-byte Folded Reload - shl dl, 6 - shl cl, 7 - or cl, dl - or cl, al - mov byte ptr [rsi + 2], r15b - mov byte ptr [rsi + 3], cl + shl r14b, 6 + or r14b, al + or r13b, dl + shl r8b, 7 + or r8b, r14b + or r8b, cl + add r11b, r11b + add r11b, byte ptr [rsp + 160] # 1-byte Folded Reload + shl r10b, 2 + or r10b, r11b + shl r9b, 3 + or r9b, r10b + shl r15b, 4 + or r15b, r9b + mov rax, qword ptr [rsp + 8] # 8-byte Reload + mov byte ptr [rax], r12b + movzx ecx, byte ptr [rsp + 136] # 1-byte Folded Reload + shl cl, 5 + shl dil, 6 + or dil, cl + mov byte ptr [rax + 1], r13b + shl sil, 7 + or sil, dil + or sil, r15b + mov byte ptr [rax + 2], r8b + mov byte ptr [rax + 3], sil add rbx, 128 - add rsi, 4 - mov qword ptr [rsp], rsi # 8-byte Spill - add qword ptr [rsp + 192], -1 # 8-byte Folded Spill + add rax, 4 + mov qword ptr [rsp + 8], rax # 8-byte Spill + add qword ptr [rsp + 152], -1 # 8-byte Folded Spill jne .LBB2_128 # %bb.129: - mov r11, qword ptr [rsp] # 8-byte Reload + mov r15, qword ptr [rsp + 8] # 8-byte Reload mov r10, qword ptr [rsp + 144] # 8-byte Reload - mov r14, qword ptr [rsp + 136] # 8-byte Reload - jmp .LBB2_147 + mov r14, qword ptr [rsp + 240] # 8-byte Reload + jmp .LBB2_148 .LBB2_130: mov rax, qword ptr [rsp] # 8-byte Reload mov qword ptr [rsp + 104], rax # 8-byte Spill @@ -11580,20 +12230,20 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 .LBB2_131: shl r15, 5 cmp r15, r10 - jge .LBB2_176 + jge .LBB2_177 # %bb.132: mov r8, r10 sub r8, r15 not r15 add r15, r10 je .LBB2_137 -# %bb.154: +# %bb.155: mov r10, r8 and r10, -2 xor r9d, r9d mov r11, qword ptr [rsp + 104] # 8-byte Reload .p2align 4, 0x90 -.LBB2_155: # =>This Inner Loop Header: Depth=1 +.LBB2_156: # =>This Inner Loop Header: Depth=1 mov rax, r9 cmp r14b, byte ptr [rsi + r9] sete bl @@ -11621,8 +12271,8 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 xor al, dl mov byte ptr [r11 + rdi], al cmp r10, r9 - jne .LBB2_155 - jmp .LBB2_158 + jne .LBB2_156 + jmp .LBB2_159 .LBB2_134: mov rax, qword ptr [rsp] # 8-byte Reload mov qword ptr [rsp + 104], rax # 8-byte Spill @@ -11630,74 +12280,109 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 .LBB2_135: shl r15, 5 cmp r15, r10 - jge .LBB2_176 + jge .LBB2_177 # %bb.136: mov r8, r10 sub r8, r15 not r15 add r15, r10 - jne .LBB2_156 + jne .LBB2_157 .LBB2_137: xor r9d, r9d test r8b, 1 - je .LBB2_176 - jmp .LBB2_160 + je .LBB2_177 + jmp .LBB2_161 .LBB2_138: mov rax, qword ptr [rsp] # 8-byte Reload - mov qword ptr [rsp + 8], rax # 8-byte Spill + mov qword ptr [rsp + 16], rax # 8-byte Spill mov rsi, rdx .LBB2_139: - shl r14, 5 - cmp r14, r10 - jge .LBB2_176 + shl r15, 5 + cmp r15, r10 + jge .LBB2_177 # %bb.140: mov r8, r10 - sub r8, r14 - not r14 - add r14, r10 - jne .LBB2_170 + sub r8, r15 + not r15 + add r15, r10 + je .LBB2_146 # %bb.141: - xor r14d, r14d - jmp .LBB2_172 -.LBB2_142: - mov r14, qword ptr [rsp] # 8-byte Reload - mov rsi, rdx + mov r9, r8 + and r9, -2 + xor r15d, r15d + mov r11, qword ptr [rsp + 16] # 8-byte Reload + .p2align 4, 0x90 +.LBB2_142: # =>This Inner Loop Header: Depth=1 + mov rax, rsi + cmp r14w, word ptr [rsi] + sete dl + neg dl + mov rdi, r15 + shr rdi, 3 + movzx r10d, byte ptr [r11 + rdi] + mov ecx, r15d + and cl, 6 + mov bl, 1 + shl bl, cl + xor dl, r10b + and bl, dl + xor bl, r10b + mov byte ptr [r11 + rdi], bl + add r15, 2 + cmp r14w, word ptr [rsi + 2] + lea rsi, [rsi + 4] + sete dl + neg dl + xor dl, bl + or cl, 1 + mov al, 1 + shl al, cl + and al, dl + xor al, bl + mov byte ptr [r11 + rdi], al + cmp r9, r15 + jne .LBB2_142 + jmp .LBB2_173 .LBB2_143: + mov rax, qword ptr [rsp] # 8-byte Reload + mov qword ptr [rsp + 16], rax # 8-byte Spill + mov rsi, rdx +.LBB2_144: shl r15, 5 cmp r15, r10 - jge .LBB2_176 -# %bb.144: + jge .LBB2_177 +# %bb.145: mov r8, r10 sub r8, r15 not r15 add r15, r10 - jne .LBB2_177 -# %bb.145: - xor r15d, r15d - jmp .LBB2_179 + jne .LBB2_171 .LBB2_146: - mov r11, qword ptr [rsp] # 8-byte Reload - mov rbx, rdx + xor r15d, r15d + jmp .LBB2_173 .LBB2_147: + mov r15, qword ptr [rsp] # 8-byte Reload + mov rbx, rdx +.LBB2_148: shl r14, 5 cmp r14, r10 - jge .LBB2_176 -# %bb.148: + jge .LBB2_177 +# %bb.149: mov r8, r10 sub r8, r14 not r14 add r14, r10 - jne .LBB2_181 -# %bb.149: + jne .LBB2_178 +# %bb.150: xor esi, esi - jmp .LBB2_183 -.LBB2_150: + jmp .LBB2_180 +.LBB2_151: mov r10, r8 and r10, -2 xor edi, edi mov r11, qword ptr [rsp] # 8-byte Reload .p2align 4, 0x90 -.LBB2_151: # =>This Inner Loop Header: Depth=1 +.LBB2_152: # =>This Inner Loop Header: Depth=1 cmp r13d, dword ptr [rdx] sete al neg al @@ -11725,20 +12410,20 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 xor al, bl mov byte ptr [r11 + rsi], al cmp r10, rdi - jne .LBB2_151 -.LBB2_152: + jne .LBB2_152 +.LBB2_153: test r8b, 1 - je .LBB2_176 -# %bb.153: + je .LBB2_177 +# %bb.154: cmp r13d, dword ptr [rdx] - jmp .LBB2_169 -.LBB2_156: + jmp .LBB2_170 +.LBB2_157: mov r10, r8 and r10, -2 xor r9d, r9d mov r11, qword ptr [rsp + 104] # 8-byte Reload .p2align 4, 0x90 -.LBB2_157: # =>This Inner Loop Header: Depth=1 +.LBB2_158: # =>This Inner Loop Header: Depth=1 mov rax, r9 cmp r14b, byte ptr [rsi + r9] sete bl @@ -11766,12 +12451,12 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 xor al, dl mov byte ptr [r11 + rdi], al cmp r10, r9 - jne .LBB2_157 -.LBB2_158: + jne .LBB2_158 +.LBB2_159: add rsi, r9 test r8b, 1 - je .LBB2_176 -.LBB2_160: + je .LBB2_177 +.LBB2_161: cmp r14b, byte ptr [rsi] sete al neg al @@ -11782,55 +12467,75 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 and r9b, 7 mov bl, 1 mov ecx, r9d - jmp .LBB2_174 -.LBB2_161: - mov r10, r8 - and r10, -2 + jmp .LBB2_175 +.LBB2_162: + mov r9, r8 + and r9, -2 xor edi, edi - mov r11, qword ptr [rsp] # 8-byte Reload + mov r14, qword ptr [rsp] # 8-byte Reload .p2align 4, 0x90 -.LBB2_162: # =>This Inner Loop Header: Depth=1 +.LBB2_163: # =>This Inner Loop Header: Depth=1 ucomisd xmm0, qword ptr [rdx] + setnp cl sete al + and al, cl neg al mov rsi, rdi shr rsi, 3 - movzx r9d, byte ptr [r11 + rsi] - xor al, r9b + movzx r10d, byte ptr [r14 + rsi] mov ecx, edi and cl, 6 - mov bl, 1 - shl bl, cl - and bl, al - xor bl, r9b - mov byte ptr [r11 + rsi], bl + mov r11b, 1 + shl r11b, cl + xor al, r10b + and r11b, al + xor r11b, r10b + mov byte ptr [r14 + rsi], r11b add rdi, 2 ucomisd xmm0, qword ptr [rdx + 8] lea rdx, [rdx + 16] - sete r9b - neg r9b - xor r9b, bl + setnp r10b + sete al + and al, r10b + neg al + xor al, r11b or cl, 1 - mov al, 1 - shl al, cl - and al, r9b - xor al, bl - mov byte ptr [r11 + rsi], al - cmp r10, rdi - jne .LBB2_162 -.LBB2_163: + mov bl, 1 + shl bl, cl + and bl, al + xor bl, r11b + mov byte ptr [r14 + rsi], bl + cmp r9, rdi + jne .LBB2_163 +.LBB2_164: test r8b, 1 - je .LBB2_176 -# %bb.164: + je .LBB2_177 +# %bb.165: ucomisd xmm0, qword ptr [rdx] - jmp .LBB2_169 -.LBB2_165: + setnp al + sete dl + and dl, al + neg dl + mov rax, rdi + shr rax, 3 + mov r8, qword ptr [rsp] # 8-byte Reload + mov sil, byte ptr [r8 + rax] + and dil, 7 + mov bl, 1 + mov ecx, edi + shl bl, cl + xor dl, sil + and bl, dl + xor bl, sil + mov byte ptr [r8 + rax], bl + jmp .LBB2_177 +.LBB2_166: mov r10, r8 and r10, -2 xor edi, edi mov r11, qword ptr [rsp] # 8-byte Reload .p2align 4, 0x90 -.LBB2_166: # =>This Inner Loop Header: Depth=1 +.LBB2_167: # =>This Inner Loop Header: Depth=1 cmp r13, qword ptr [rdx] sete al neg al @@ -11858,13 +12563,13 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 xor al, bl mov byte ptr [r11 + rsi], al cmp r10, rdi - jne .LBB2_166 -.LBB2_167: + jne .LBB2_167 +.LBB2_168: test r8b, 1 - je .LBB2_176 -# %bb.168: + je .LBB2_177 +# %bb.169: cmp r13, qword ptr [rdx] -.LBB2_169: +.LBB2_170: sete al neg al mov rdx, rdi @@ -11878,22 +12583,22 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 xor al, sil and bl, al xor bl, sil - jmp .LBB2_175 -.LBB2_170: + jmp .LBB2_176 +.LBB2_171: mov r9, r8 and r9, -2 - xor r14d, r14d - mov r11, qword ptr [rsp + 8] # 8-byte Reload + xor r15d, r15d + mov r11, qword ptr [rsp + 16] # 8-byte Reload .p2align 4, 0x90 -.LBB2_171: # =>This Inner Loop Header: Depth=1 +.LBB2_172: # =>This Inner Loop Header: Depth=1 mov rax, rsi - cmp r13w, word ptr [rsi] + cmp r14w, word ptr [rsi] sete dl neg dl - mov rdi, r14 + mov rdi, r15 shr rdi, 3 movzx r10d, byte ptr [r11 + rdi] - mov ecx, r14d + mov ecx, r15d and cl, 6 mov bl, 1 shl bl, cl @@ -11901,8 +12606,8 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 and bl, dl xor bl, r10b mov byte ptr [r11 + rdi], bl - add r14, 2 - cmp r13w, word ptr [rsi + 2] + add r15, 2 + cmp r14w, word ptr [rsi + 2] lea rsi, [rsi + 4] sete dl neg dl @@ -11913,30 +12618,30 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 and al, dl xor al, bl mov byte ptr [r11 + rdi], al - cmp r9, r14 - jne .LBB2_171 -.LBB2_172: + cmp r9, r15 + jne .LBB2_172 +.LBB2_173: test r8b, 1 - je .LBB2_176 -# %bb.173: - cmp r13w, word ptr [rsi] + je .LBB2_177 +# %bb.174: + cmp r14w, word ptr [rsi] sete al neg al - mov rdx, r14 + mov rdx, r15 shr rdx, 3 - mov r8, qword ptr [rsp + 8] # 8-byte Reload + mov r8, qword ptr [rsp + 16] # 8-byte Reload mov dil, byte ptr [r8 + rdx] - and r14b, 7 + and r15b, 7 mov bl, 1 - mov ecx, r14d -.LBB2_174: + mov ecx, r15d +.LBB2_175: shl bl, cl xor al, dil and bl, al xor bl, dil -.LBB2_175: - mov byte ptr [r8 + rdx], bl .LBB2_176: + mov byte ptr [r8 + rdx], bl +.LBB2_177: lea rsp, [rbp - 40] pop rbx pop r12 @@ -11945,121 +12650,73 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 pop r15 pop rbp ret -.LBB2_177: +.LBB2_178: mov r9, r8 and r9, -2 - xor r15d, r15d + xor esi, esi + mov r14, r15 .p2align 4, 0x90 -.LBB2_178: # =>This Inner Loop Header: Depth=1 - mov rax, rsi - cmp r13w, word ptr [rsi] +.LBB2_179: # =>This Inner Loop Header: Depth=1 + ucomiss xmm0, dword ptr [rbx] + setnp cl sete dl + and dl, cl neg dl - mov rdi, r15 + mov rdi, rsi shr rdi, 3 movzx r10d, byte ptr [r14 + rdi] - mov ecx, r15d + mov ecx, esi and cl, 6 - mov bl, 1 - shl bl, cl + mov r11b, 1 + shl r11b, cl xor dl, r10b - and bl, dl - xor bl, r10b - mov byte ptr [r14 + rdi], bl - add r15, 2 - cmp r13w, word ptr [rsi + 2] - lea rsi, [rsi + 4] + and r11b, dl + xor r11b, r10b + mov byte ptr [r14 + rdi], r11b + add rsi, 2 + ucomiss xmm0, dword ptr [rbx + 4] + lea rbx, [rbx + 8] + setnp r10b sete dl + and dl, r10b neg dl - xor dl, bl + xor dl, r11b or cl, 1 mov al, 1 shl al, cl and al, dl - xor al, bl + xor al, r11b mov byte ptr [r14 + rdi], al - cmp r9, r15 - jne .LBB2_178 -.LBB2_179: + cmp r9, rsi + jne .LBB2_179 +.LBB2_180: test r8b, 1 - je .LBB2_176 -# %bb.180: - cmp r13w, word ptr [rsi] - sete al - neg al - mov rdx, r15 - shr rdx, 3 - mov dil, byte ptr [r14 + rdx] - and r15b, 7 - mov bl, 1 - mov ecx, r15d - shl bl, cl - xor al, dil - and bl, al - xor bl, dil - mov byte ptr [r14 + rdx], bl - jmp .LBB2_176 -.LBB2_181: - mov r10, r8 - and r10, -2 - xor esi, esi - mov r14, r11 - .p2align 4, 0x90 -.LBB2_182: # =>This Inner Loop Header: Depth=1 + je .LBB2_177 +# %bb.181: ucomiss xmm0, dword ptr [rbx] + setnp al sete dl + and dl, al neg dl - mov rdi, rsi - shr rdi, 3 - movzx r9d, byte ptr [r14 + rdi] - xor dl, r9b - mov ecx, esi - and cl, 6 - mov al, 1 - shl al, cl - and al, dl - xor al, r9b - mov byte ptr [r14 + rdi], al - add rsi, 2 - ucomiss xmm0, dword ptr [rbx + 4] - lea rbx, [rbx + 8] - sete r9b - neg r9b - xor r9b, al - or cl, 1 - mov dl, 1 - shl dl, cl - and dl, r9b - xor dl, al - mov byte ptr [r14 + rdi], dl - cmp r10, rsi - jne .LBB2_182 -.LBB2_183: - test r8b, 1 - je .LBB2_176 -# %bb.184: - ucomiss xmm0, dword ptr [rbx] - sete al - neg al - mov rdx, rsi - shr rdx, 3 - mov dil, byte ptr [r11 + rdx] + mov rax, rsi + shr rax, 3 + mov dil, byte ptr [r15 + rax] and sil, 7 mov bl, 1 mov ecx, esi shl bl, cl - xor al, dil - and bl, al + xor dl, dil + and bl, dl xor bl, dil - mov byte ptr [r11 + rdx], bl - jmp .LBB2_176 -.LBB2_185: + mov byte ptr [r15 + rax], bl + jmp .LBB2_177 +.LBB2_182: and r15, -16 mov rax, r15 shl rax, 5 add rax, rdx - mov qword ptr [rsp + 248], rax # 8-byte Spill - mov qword ptr [rsp + 232], r15 # 8-byte Spill + mov qword ptr [rsp + 264], rax # 8-byte Spill + mov qword ptr [rsp + 224], r15 # 8-byte Spill mov rax, qword ptr [rsp] # 8-byte Reload lea rax, [rax + 4*r15] mov qword ptr [rsp + 104], rax # 8-byte Spill @@ -12070,7 +12727,7 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 movdqa xmmword ptr [rsp + 176], xmm1 # 16-byte Spill xor eax, eax .p2align 4, 0x90 -.LBB2_186: # =>This Inner Loop Header: Depth=1 +.LBB2_183: # =>This Inner Loop Header: Depth=1 mov rdi, rax mov qword ptr [rsp + 152], rax # 8-byte Spill shl rdi, 5 @@ -12104,7 +12761,7 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 movdqa xmmword ptr [rsp + 208], xmm0 # 16-byte Spill movzx ecx, byte ptr [rdx + rdi + 8] movd xmm0, ecx - movdqa xmmword ptr [rsp + 256], xmm0 # 16-byte Spill + movdqa xmmword ptr [rsp + 272], xmm0 # 16-byte Spill movzx ecx, byte ptr [rdx + rdi + 9] movd xmm10, ecx movzx ecx, byte ptr [rdx + rdi + 10] @@ -12118,7 +12775,7 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 movd xmm12, ecx movzx ecx, byte ptr [rdx + rdi + 14] movd xmm0, ecx - movdqa xmmword ptr [rsp + 272], xmm0 # 16-byte Spill + movdqa xmmword ptr [rsp + 240], xmm0 # 16-byte Spill mov qword ptr [rsp + 64], rdi # 8-byte Spill mov r13, rdi or r13, 32 @@ -12143,15 +12800,15 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 or r8, 384 mov qword ptr [rsp + 96], r8 # 8-byte Spill or rax, 416 - mov qword ptr [rsp + 48], rax # 8-byte Spill + mov qword ptr [rsp + 16], rax # 8-byte Spill mov rax, rdi or rax, 448 - mov qword ptr [rsp + 16], rax # 8-byte Spill + mov qword ptr [rsp + 48], rax # 8-byte Spill mov rax, rdi or rax, 480 pinsrb xmm15, byte ptr [rdx + r13], 1 pinsrb xmm15, byte ptr [rdx + rsi], 2 - mov qword ptr [rsp + 32], rcx # 8-byte Spill + mov qword ptr [rsp + 56], rcx # 8-byte Spill pinsrb xmm15, byte ptr [rdx + rcx], 3 mov qword ptr [rsp + 112], r14 # 8-byte Spill pinsrb xmm15, byte ptr [rdx + r14], 4 @@ -12168,9 +12825,9 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 pinsrb xmm15, byte ptr [rdx + r13], 10 pinsrb xmm15, byte ptr [rdx + rbx], 11 pinsrb xmm15, byte ptr [rdx + r8], 12 - mov rsi, qword ptr [rsp + 48] # 8-byte Reload - pinsrb xmm15, byte ptr [rdx + rsi], 13 mov rsi, qword ptr [rsp + 16] # 8-byte Reload + pinsrb xmm15, byte ptr [rdx + rsi], 13 + mov rsi, qword ptr [rsp + 48] # 8-byte Reload pinsrb xmm15, byte ptr [rdx + rsi], 14 pinsrb xmm15, byte ptr [rdx + rax], 15 mov r11, qword ptr [rsp + 24] # 8-byte Reload @@ -12190,9 +12847,9 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 mov r15, r13 pinsrb xmm5, byte ptr [rdx + rbx + 1], 11 pinsrb xmm5, byte ptr [rdx + r8 + 1], 12 - mov r9, qword ptr [rsp + 48] # 8-byte Reload + mov r9, qword ptr [rsp + 16] # 8-byte Reload pinsrb xmm5, byte ptr [rdx + r9 + 1], 13 - mov r11, qword ptr [rsp + 16] # 8-byte Reload + mov r11, qword ptr [rsp + 48] # 8-byte Reload pinsrb xmm5, byte ptr [rdx + r11 + 1], 14 pinsrb xmm5, byte ptr [rdx + rax + 1], 15 movdqa xmm9, xmmword ptr [rsp + 176] # 16-byte Reload @@ -12209,7 +12866,7 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 pinsrb xmm6, byte ptr [rdx + r8 + 2], 1 mov r10, qword ptr [rsp + 40] # 8-byte Reload pinsrb xmm6, byte ptr [rdx + r10 + 2], 2 - mov rcx, qword ptr [rsp + 32] # 8-byte Reload + mov rcx, qword ptr [rsp + 56] # 8-byte Reload pinsrb xmm6, byte ptr [rdx + rcx + 2], 3 mov rbx, qword ptr [rsp + 112] # 8-byte Reload pinsrb xmm6, byte ptr [rdx + rbx + 2], 4 @@ -12256,13 +12913,13 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 pinsrb xmm2, byte ptr [rdx + rbx + 3], 10 pinsrb xmm2, byte ptr [rdx + r14 + 3], 11 pinsrb xmm2, byte ptr [rdx + r15 + 3], 12 - mov r12, qword ptr [rsp + 48] # 8-byte Reload + mov r12, qword ptr [rsp + 16] # 8-byte Reload pinsrb xmm2, byte ptr [rdx + r12 + 3], 13 pinsrb xmm2, byte ptr [rdx + r11 + 3], 14 pinsrb xmm2, byte ptr [rdx + r9 + 3], 15 pinsrb xmm1, byte ptr [rdx + rsi + 4], 1 pinsrb xmm1, byte ptr [rdx + rax + 4], 2 - mov rsi, qword ptr [rsp + 32] # 8-byte Reload + mov rsi, qword ptr [rsp + 56] # 8-byte Reload pinsrb xmm1, byte ptr [rdx + rsi + 4], 3 mov rsi, qword ptr [rsp + 112] # 8-byte Reload pinsrb xmm1, byte ptr [rdx + rsi + 4], 4 @@ -12278,7 +12935,7 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 pinsrb xmm1, byte ptr [rdx + r11 + 4], 14 pinsrb xmm1, byte ptr [rdx + r9 + 4], 15 mov rcx, r9 - mov qword ptr [rsp + 56], r9 # 8-byte Spill + mov qword ptr [rsp + 32], r9 # 8-byte Spill por xmm6, xmm7 mov r9, qword ptr [rsp + 64] # 8-byte Reload movzx esi, byte ptr [rdx + r9 + 17] @@ -12295,7 +12952,7 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 mov r13, qword ptr [rsp + 24] # 8-byte Reload pinsrb xmm8, byte ptr [rdx + r13 + 5], 1 pinsrb xmm8, byte ptr [rdx + rax + 5], 2 - mov r11, qword ptr [rsp + 32] # 8-byte Reload + mov r11, qword ptr [rsp + 56] # 8-byte Reload pinsrb xmm8, byte ptr [rdx + r11 + 5], 3 mov rax, qword ptr [rsp + 112] # 8-byte Reload pinsrb xmm8, byte ptr [rdx + rax + 5], 4 @@ -12315,9 +12972,9 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 pinsrb xmm8, byte ptr [rdx + r15 + 5], 11 mov r12, qword ptr [rsp + 96] # 8-byte Reload pinsrb xmm8, byte ptr [rdx + r12 + 5], 12 - mov rsi, qword ptr [rsp + 48] # 8-byte Reload - pinsrb xmm8, byte ptr [rdx + rsi + 5], 13 mov rsi, qword ptr [rsp + 16] # 8-byte Reload + pinsrb xmm8, byte ptr [rdx + rsi + 5], 13 + mov rsi, qword ptr [rsp + 48] # 8-byte Reload pinsrb xmm8, byte ptr [rdx + rsi + 5], 14 pinsrb xmm8, byte ptr [rdx + rcx + 5], 15 pcmpeqb xmm8, xmm9 @@ -12349,11 +13006,11 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 pinsrb xmm3, byte ptr [rdx + r15 + 6], 11 mov r15, r12 pinsrb xmm3, byte ptr [rdx + r12 + 6], 12 - mov r12, qword ptr [rsp + 48] # 8-byte Reload + mov r12, qword ptr [rsp + 16] # 8-byte Reload pinsrb xmm3, byte ptr [rdx + r12 + 6], 13 - mov r14, qword ptr [rsp + 16] # 8-byte Reload + mov r14, qword ptr [rsp + 48] # 8-byte Reload pinsrb xmm3, byte ptr [rdx + r14 + 6], 14 - mov r8, qword ptr [rsp + 56] # 8-byte Reload + mov r8, qword ptr [rsp + 32] # 8-byte Reload pinsrb xmm3, byte ptr [rdx + r8 + 6], 15 movdqa xmm2, xmmword ptr [rsp + 208] # 16-byte Reload pinsrb xmm2, byte ptr [rdx + r13 + 7], 1 @@ -12409,9 +13066,9 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 mov rbx, qword ptr [rsp + 96] # 8-byte Reload pinsrb xmm10, byte ptr [rdx + rbx + 9], 12 pinsrb xmm10, byte ptr [rdx + r15 + 9], 13 - mov rdi, qword ptr [rsp + 16] # 8-byte Reload + mov rdi, qword ptr [rsp + 48] # 8-byte Reload pinsrb xmm10, byte ptr [rdx + rdi + 9], 14 - mov rsi, qword ptr [rsp + 56] # 8-byte Reload + mov rsi, qword ptr [rsp + 32] # 8-byte Reload pinsrb xmm10, byte ptr [rdx + rsi + 9], 15 por xmm1, xmm8 movdqa xmmword ptr [rsp + 208], xmm1 # 16-byte Spill @@ -12422,10 +13079,10 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 psubb xmm1, xmm10 movzx esi, byte ptr [rdx + rax + 22] movd xmm3, esi - movdqa xmm4, xmmword ptr [rsp + 256] # 16-byte Reload + movdqa xmm4, xmmword ptr [rsp + 272] # 16-byte Reload pinsrb xmm4, byte ptr [rdx + rcx + 8], 1 pinsrb xmm4, byte ptr [rdx + r11 + 8], 2 - mov rax, qword ptr [rsp + 32] # 8-byte Reload + mov rax, qword ptr [rsp + 56] # 8-byte Reload pinsrb xmm4, byte ptr [rdx + rax + 8], 3 pinsrb xmm4, byte ptr [rdx + r9 + 8], 4 pinsrb xmm4, byte ptr [rdx + r13 + 8], 5 @@ -12438,11 +13095,11 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 pinsrb xmm4, byte ptr [rdx + r12 + 8], 10 pinsrb xmm4, byte ptr [rdx + r10 + 8], 11 pinsrb xmm4, byte ptr [rdx + rbx + 8], 12 - mov rbx, qword ptr [rsp + 48] # 8-byte Reload + mov rbx, qword ptr [rsp + 16] # 8-byte Reload pinsrb xmm4, byte ptr [rdx + rbx + 8], 13 pinsrb xmm4, byte ptr [rdx + rdi + 8], 14 mov r10, rdi - mov rcx, qword ptr [rsp + 56] # 8-byte Reload + mov rcx, qword ptr [rsp + 32] # 8-byte Reload pinsrb xmm4, byte ptr [rdx + rcx + 8], 15 pcmpeqb xmm4, xmm9 pand xmm4, xmm8 @@ -12482,7 +13139,7 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 pinsrb xmm11, byte ptr [rdx + rdi + 11], 1 mov rcx, qword ptr [rsp + 40] # 8-byte Reload pinsrb xmm11, byte ptr [rdx + rcx + 11], 2 - mov rcx, qword ptr [rsp + 32] # 8-byte Reload + mov rcx, qword ptr [rsp + 56] # 8-byte Reload pinsrb xmm11, byte ptr [rdx + rcx + 11], 3 pinsrb xmm11, byte ptr [rdx + rax + 11], 4 mov rcx, r11 @@ -12499,15 +13156,15 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 pinsrb xmm11, byte ptr [rdx + r15 + 11], 12 mov r10, rbx pinsrb xmm11, byte ptr [rdx + rbx + 11], 13 - mov r12, qword ptr [rsp + 16] # 8-byte Reload + mov r12, qword ptr [rsp + 48] # 8-byte Reload pinsrb xmm11, byte ptr [rdx + r12 + 11], 14 - mov rsi, qword ptr [rsp + 56] # 8-byte Reload + mov rsi, qword ptr [rsp + 32] # 8-byte Reload pinsrb xmm11, byte ptr [rdx + rsi + 11], 15 mov r13, qword ptr [rsp + 24] # 8-byte Reload pinsrb xmm13, byte ptr [rdx + r13 + 12], 1 mov rbx, qword ptr [rsp + 40] # 8-byte Reload pinsrb xmm13, byte ptr [rdx + rbx + 12], 2 - mov rbx, qword ptr [rsp + 32] # 8-byte Reload + mov rbx, qword ptr [rsp + 56] # 8-byte Reload pinsrb xmm13, byte ptr [rdx + rbx + 12], 3 pinsrb xmm13, byte ptr [rdx + rax + 12], 4 pinsrb xmm13, byte ptr [rdx + rcx + 12], 5 @@ -12527,7 +13184,7 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 pinsrb xmm12, byte ptr [rdx + r10 + 13], 1 mov rsi, qword ptr [rsp + 40] # 8-byte Reload pinsrb xmm12, byte ptr [rdx + rsi + 13], 2 - mov rsi, qword ptr [rsp + 32] # 8-byte Reload + mov rsi, qword ptr [rsp + 56] # 8-byte Reload pinsrb xmm12, byte ptr [rdx + rsi + 13], 3 pinsrb xmm12, byte ptr [rdx + rax + 13], 4 pinsrb xmm12, byte ptr [rdx + rcx + 13], 5 @@ -12540,7 +13197,7 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 pinsrb xmm12, byte ptr [rdx + r15 + 13], 12 pinsrb xmm12, byte ptr [rdx + r13 + 13], 13 pinsrb xmm12, byte ptr [rdx + r12 + 13], 14 - mov rax, qword ptr [rsp + 56] # 8-byte Reload + mov rax, qword ptr [rsp + 32] # 8-byte Reload pinsrb xmm12, byte ptr [rdx + rax + 13], 15 pcmpeqb xmm11, xmm9 pand xmm11, xmmword ptr [rip + .LCPI2_12] @@ -12555,12 +13212,12 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 por xmm12, xmm13 movzx esi, byte ptr [rdx + rax + 26] movd xmm11, esi - movdqa xmm4, xmmword ptr [rsp + 272] # 16-byte Reload + movdqa xmm4, xmmword ptr [rsp + 240] # 16-byte Reload pinsrb xmm4, byte ptr [rdx + r10 + 14], 1 mov rsi, r10 mov r12, qword ptr [rsp + 40] # 8-byte Reload pinsrb xmm4, byte ptr [rdx + r12 + 14], 2 - mov r10, qword ptr [rsp + 32] # 8-byte Reload + mov r10, qword ptr [rsp + 56] # 8-byte Reload pinsrb xmm4, byte ptr [rdx + r10 + 14], 3 mov r13, qword ptr [rsp + 112] # 8-byte Reload pinsrb xmm4, byte ptr [rdx + r13 + 14], 4 @@ -12572,11 +13229,11 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 pinsrb xmm4, byte ptr [rdx + rbx + 14], 10 pinsrb xmm4, byte ptr [rdx + r14 + 14], 11 pinsrb xmm4, byte ptr [rdx + r15 + 14], 12 - mov rax, qword ptr [rsp + 48] # 8-byte Reload - pinsrb xmm4, byte ptr [rdx + rax + 14], 13 mov rax, qword ptr [rsp + 16] # 8-byte Reload + pinsrb xmm4, byte ptr [rdx + rax + 14], 13 + mov rax, qword ptr [rsp + 48] # 8-byte Reload pinsrb xmm4, byte ptr [rdx + rax + 14], 14 - mov rax, qword ptr [rsp + 56] # 8-byte Reload + mov rax, qword ptr [rsp + 32] # 8-byte Reload pinsrb xmm4, byte ptr [rdx + rax + 14], 15 pinsrb xmm14, byte ptr [rdx + rsi + 15], 1 pinsrb xmm14, byte ptr [rdx + r12 + 15], 2 @@ -12590,11 +13247,11 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 pinsrb xmm14, byte ptr [rdx + rbx + 15], 10 pinsrb xmm14, byte ptr [rdx + r14 + 15], 11 pinsrb xmm14, byte ptr [rdx + r15 + 15], 12 - mov rsi, qword ptr [rsp + 48] # 8-byte Reload + mov rsi, qword ptr [rsp + 16] # 8-byte Reload pinsrb xmm14, byte ptr [rdx + rsi + 15], 13 - mov rax, qword ptr [rsp + 16] # 8-byte Reload + mov rax, qword ptr [rsp + 48] # 8-byte Reload pinsrb xmm14, byte ptr [rdx + rax + 15], 14 - mov rsi, qword ptr [rsp + 56] # 8-byte Reload + mov rsi, qword ptr [rsp + 32] # 8-byte Reload pinsrb xmm14, byte ptr [rdx + rsi + 15], 15 mov rsi, qword ptr [rsp + 24] # 8-byte Reload pinsrb xmm15, byte ptr [rdx + rsi + 16], 1 @@ -12609,7 +13266,7 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 pinsrb xmm15, byte ptr [rdx + rbx + 16], 10 pinsrb xmm15, byte ptr [rdx + r14 + 16], 11 pinsrb xmm15, byte ptr [rdx + r15 + 16], 12 - mov rsi, qword ptr [rsp + 48] # 8-byte Reload + mov rsi, qword ptr [rsp + 16] # 8-byte Reload pinsrb xmm15, byte ptr [rdx + rsi + 16], 13 pinsrb xmm15, byte ptr [rdx + rax + 16], 14 mov rax, qword ptr [rsp + 24] # 8-byte Reload @@ -12626,9 +13283,9 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 pinsrb xmm0, byte ptr [rdx + rbx + 17], 10 pinsrb xmm0, byte ptr [rdx + r14 + 17], 11 pinsrb xmm0, byte ptr [rdx + r15 + 17], 12 - mov rsi, qword ptr [rsp + 48] # 8-byte Reload - pinsrb xmm0, byte ptr [rdx + rsi + 17], 13 mov rsi, qword ptr [rsp + 16] # 8-byte Reload + pinsrb xmm0, byte ptr [rdx + rsi + 17], 13 + mov rsi, qword ptr [rsp + 48] # 8-byte Reload pinsrb xmm0, byte ptr [rdx + rsi + 17], 14 por xmm12, xmmword ptr [rsp + 160] # 16-byte Folded Reload mov r12, qword ptr [rsp + 64] # 8-byte Reload @@ -12643,7 +13300,7 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 por xmm14, xmm4 movzx esi, byte ptr [rdx + r12 + 28] movd xmm4, esi - mov r8, qword ptr [rsp + 56] # 8-byte Reload + mov r8, qword ptr [rsp + 32] # 8-byte Reload pinsrb xmm0, byte ptr [rdx + r8 + 17], 15 por xmm14, xmm12 pcmpeqb xmm0, xmm13 @@ -12671,9 +13328,9 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 pinsrb xmm5, byte ptr [rdx + rbx + 18], 10 pinsrb xmm5, byte ptr [rdx + r14 + 18], 11 pinsrb xmm5, byte ptr [rdx + r15 + 18], 12 - mov rsi, qword ptr [rsp + 48] # 8-byte Reload - pinsrb xmm5, byte ptr [rdx + rsi + 18], 13 mov rsi, qword ptr [rsp + 16] # 8-byte Reload + pinsrb xmm5, byte ptr [rdx + rsi + 18], 13 + mov rsi, qword ptr [rsp + 48] # 8-byte Reload pinsrb xmm5, byte ptr [rdx + rsi + 18], 14 pand xmm15, xmm12 pinsrb xmm5, byte ptr [rdx + r8 + 18], 15 @@ -12723,9 +13380,9 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 pinsrb xmm7, byte ptr [rdx + rbx + 19], 10 pinsrb xmm7, byte ptr [rdx + r14 + 19], 11 pinsrb xmm7, byte ptr [rdx + r15 + 19], 12 - mov rsi, qword ptr [rsp + 48] # 8-byte Reload + mov rsi, qword ptr [rsp + 16] # 8-byte Reload pinsrb xmm7, byte ptr [rdx + rsi + 19], 13 - mov r12, qword ptr [rsp + 16] # 8-byte Reload + mov r12, qword ptr [rsp + 48] # 8-byte Reload pinsrb xmm7, byte ptr [rdx + r12 + 19], 14 pinsrb xmm7, byte ptr [rdx + r8 + 19], 15 pinsrb xmm6, byte ptr [rdx + r10 + 20], 3 @@ -12954,23 +13611,23 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 movdqu xmmword ptr [rax + 4*rcx], xmm3 add rcx, 16 mov rax, rcx - cmp rcx, qword ptr [rsp + 232] # 8-byte Folded Reload - jne .LBB2_186 -# %bb.187: - mov r15, qword ptr [rsp + 240] # 8-byte Reload - cmp r15, qword ptr [rsp + 232] # 8-byte Folded Reload + cmp rcx, qword ptr [rsp + 224] # 8-byte Folded Reload + jne .LBB2_183 +# %bb.184: + mov r15, qword ptr [rsp + 232] # 8-byte Reload + cmp r15, qword ptr [rsp + 224] # 8-byte Folded Reload mov r14b, byte ptr [rsp + 8] # 1-byte Reload - mov rsi, qword ptr [rsp + 248] # 8-byte Reload + mov rsi, qword ptr [rsp + 264] # 8-byte Reload mov r10, qword ptr [rsp + 144] # 8-byte Reload jne .LBB2_43 jmp .LBB2_131 -.LBB2_188: +.LBB2_185: and r15, -16 mov rax, r15 shl rax, 5 add rax, rdx - mov qword ptr [rsp + 248], rax # 8-byte Spill - mov qword ptr [rsp + 232], r15 # 8-byte Spill + mov qword ptr [rsp + 264], rax # 8-byte Spill + mov qword ptr [rsp + 224], r15 # 8-byte Spill mov rax, qword ptr [rsp] # 8-byte Reload lea rax, [rax + 4*r15] mov qword ptr [rsp + 104], rax # 8-byte Spill @@ -12981,7 +13638,7 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 movdqa xmmword ptr [rsp + 176], xmm1 # 16-byte Spill xor eax, eax .p2align 4, 0x90 -.LBB2_189: # =>This Inner Loop Header: Depth=1 +.LBB2_186: # =>This Inner Loop Header: Depth=1 mov r15, rax mov qword ptr [rsp + 152], rax # 8-byte Spill shl r15, 5 @@ -12995,7 +13652,7 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 mov r12, r15 mov r10, r15 mov r13, r15 - mov qword ptr [rsp + 32], r15 # 8-byte Spill + mov qword ptr [rsp + 56], r15 # 8-byte Spill movzx esi, byte ptr [rdx + r15] movd xmm15, esi movzx esi, byte ptr [rdx + r15 + 1] @@ -13015,7 +13672,7 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 movdqa xmmword ptr [rsp + 192], xmm0 # 16-byte Spill movzx esi, byte ptr [rdx + r15 + 8] movd xmm0, esi - movdqa xmmword ptr [rsp + 272], xmm0 # 16-byte Spill + movdqa xmmword ptr [rsp + 240], xmm0 # 16-byte Spill movzx esi, byte ptr [rdx + r15 + 9] movd xmm10, esi movzx esi, byte ptr [rdx + r15 + 10] @@ -13029,11 +13686,11 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 movd xmm12, esi movzx esi, byte ptr [rdx + r15 + 14] movd xmm0, esi - movdqa xmmword ptr [rsp + 256], xmm0 # 16-byte Spill - mov qword ptr [rsp + 56], r15 # 8-byte Spill + movdqa xmmword ptr [rsp + 272], xmm0 # 16-byte Spill + mov qword ptr [rsp + 32], r15 # 8-byte Spill mov r14, r15 or r14, 32 - mov qword ptr [rsp + 48], r14 # 8-byte Spill + mov qword ptr [rsp + 16], r14 # 8-byte Spill or rbx, 64 mov qword ptr [rsp + 72], rbx # 8-byte Spill or rax, 96 @@ -13050,11 +13707,11 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 mov r10, r15 or r10, 352 mov qword ptr [rsp + 80], r10 # 8-byte Spill - mov r12, qword ptr [rsp + 32] # 8-byte Reload + mov r12, qword ptr [rsp + 56] # 8-byte Reload or r12, 384 mov rsi, r15 or rsi, 416 - mov qword ptr [rsp + 16], rsi # 8-byte Spill + mov qword ptr [rsp + 48], rsi # 8-byte Spill or r13, 448 mov qword ptr [rsp + 24], r13 # 8-byte Spill mov rsi, r15 @@ -13077,13 +13734,13 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 mov r15, qword ptr [rsp + 88] # 8-byte Reload pinsrb xmm15, byte ptr [rdx + r15], 10 pinsrb xmm15, byte ptr [rdx + r10], 11 - mov qword ptr [rsp + 32], r12 # 8-byte Spill + mov qword ptr [rsp + 56], r12 # 8-byte Spill pinsrb xmm15, byte ptr [rdx + r12], 12 - mov r10, qword ptr [rsp + 16] # 8-byte Reload + mov r10, qword ptr [rsp + 48] # 8-byte Reload pinsrb xmm15, byte ptr [rdx + r10], 13 pinsrb xmm15, byte ptr [rdx + r13], 14 pinsrb xmm15, byte ptr [rdx + rsi], 15 - mov rbx, qword ptr [rsp + 48] # 8-byte Reload + mov rbx, qword ptr [rsp + 16] # 8-byte Reload pinsrb xmm5, byte ptr [rdx + rbx + 1], 1 mov rbx, qword ptr [rsp + 72] # 8-byte Reload pinsrb xmm5, byte ptr [rdx + rbx + 1], 2 @@ -13108,11 +13765,11 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 movdqa xmm4, xmmword ptr [rip + .LCPI2_10] # xmm4 = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1] pand xmm7, xmm4 psubb xmm7, xmm5 - mov r13, qword ptr [rsp + 56] # 8-byte Reload + mov r13, qword ptr [rsp + 32] # 8-byte Reload movzx esi, byte ptr [rdx + r13 + 15] movd xmm14, esi pcmpeqb xmm15, xmm9 - mov rcx, qword ptr [rsp + 48] # 8-byte Reload + mov rcx, qword ptr [rsp + 16] # 8-byte Reload pinsrb xmm6, byte ptr [rdx + rcx + 2], 1 pinsrb xmm6, byte ptr [rdx + rbx + 2], 2 mov r11, qword ptr [rsp + 112] # 8-byte Reload @@ -13131,9 +13788,9 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 pinsrb xmm6, byte ptr [rdx + rsi + 2], 10 mov r10, qword ptr [rsp + 80] # 8-byte Reload pinsrb xmm6, byte ptr [rdx + r10 + 2], 11 - mov r9, qword ptr [rsp + 32] # 8-byte Reload + mov r9, qword ptr [rsp + 56] # 8-byte Reload pinsrb xmm6, byte ptr [rdx + r9 + 2], 12 - mov rsi, qword ptr [rsp + 16] # 8-byte Reload + mov rsi, qword ptr [rsp + 48] # 8-byte Reload pinsrb xmm6, byte ptr [rdx + rsi + 2], 13 mov rsi, qword ptr [rsp + 24] # 8-byte Reload pinsrb xmm6, byte ptr [rdx + rsi + 2], 14 @@ -13163,13 +13820,13 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 pinsrb xmm2, byte ptr [rdx + r15 + 3], 10 pinsrb xmm2, byte ptr [rdx + r10 + 3], 11 pinsrb xmm2, byte ptr [rdx + r9 + 3], 12 - mov r12, qword ptr [rsp + 16] # 8-byte Reload + mov r12, qword ptr [rsp + 48] # 8-byte Reload pinsrb xmm2, byte ptr [rdx + r12 + 3], 13 mov rax, qword ptr [rsp + 24] # 8-byte Reload pinsrb xmm2, byte ptr [rdx + rax + 3], 14 mov rax, qword ptr [rsp + 40] # 8-byte Reload pinsrb xmm2, byte ptr [rdx + rax + 3], 15 - mov r13, qword ptr [rsp + 48] # 8-byte Reload + mov r13, qword ptr [rsp + 16] # 8-byte Reload pinsrb xmm1, byte ptr [rdx + r13 + 4], 1 mov rbx, qword ptr [rsp + 72] # 8-byte Reload pinsrb xmm1, byte ptr [rdx + rbx + 4], 2 @@ -13192,7 +13849,7 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 pinsrb xmm1, byte ptr [rdx + rax + 4], 15 mov r10, rax por xmm6, xmm7 - mov rdi, qword ptr [rsp + 56] # 8-byte Reload + mov rdi, qword ptr [rsp + 32] # 8-byte Reload movzx esi, byte ptr [rdx + rdi + 17] movd xmm0, esi pcmpeqb xmm2, xmm9 @@ -13204,7 +13861,7 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 por xmm1, xmm2 movzx esi, byte ptr [rdx + rdi + 18] movd xmm5, esi - mov r13, qword ptr [rsp + 48] # 8-byte Reload + mov r13, qword ptr [rsp + 16] # 8-byte Reload pinsrb xmm8, byte ptr [rdx + r13 + 5], 1 mov r11, qword ptr [rsp + 72] # 8-byte Reload pinsrb xmm8, byte ptr [rdx + r11 + 5], 2 @@ -13224,9 +13881,9 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 mov rsi, qword ptr [rsp + 88] # 8-byte Reload pinsrb xmm8, byte ptr [rdx + rsi + 5], 10 pinsrb xmm8, byte ptr [rdx + r15 + 5], 11 - mov r12, qword ptr [rsp + 32] # 8-byte Reload + mov r12, qword ptr [rsp + 56] # 8-byte Reload pinsrb xmm8, byte ptr [rdx + r12 + 5], 12 - mov rsi, qword ptr [rsp + 16] # 8-byte Reload + mov rsi, qword ptr [rsp + 48] # 8-byte Reload pinsrb xmm8, byte ptr [rdx + rsi + 5], 13 pinsrb xmm8, byte ptr [rdx + rbx + 5], 14 pinsrb xmm8, byte ptr [rdx + r10 + 5], 15 @@ -13259,7 +13916,7 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 pinsrb xmm3, byte ptr [rdx + rax + 6], 11 mov rbx, r12 pinsrb xmm3, byte ptr [rdx + r12 + 6], 12 - mov r12, qword ptr [rsp + 16] # 8-byte Reload + mov r12, qword ptr [rsp + 48] # 8-byte Reload pinsrb xmm3, byte ptr [rdx + r12 + 6], 13 mov rcx, qword ptr [rsp + 24] # 8-byte Reload pinsrb xmm3, byte ptr [rdx + rcx + 6], 14 @@ -13297,10 +13954,10 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 pand xmm2, xmm1 por xmm2, xmm3 movdqa xmm1, xmm2 - mov rax, qword ptr [rsp + 56] # 8-byte Reload + mov rax, qword ptr [rsp + 32] # 8-byte Reload movzx esi, byte ptr [rdx + rax + 21] movd xmm2, esi - mov r9, qword ptr [rsp + 48] # 8-byte Reload + mov r9, qword ptr [rsp + 16] # 8-byte Reload pinsrb xmm10, byte ptr [rdx + r9 + 9], 1 pinsrb xmm10, byte ptr [rdx + r13 + 9], 2 mov r8, qword ptr [rsp + 112] # 8-byte Reload @@ -13317,7 +13974,7 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 pinsrb xmm10, byte ptr [rdx + r15 + 9], 10 mov rsi, qword ptr [rsp + 80] # 8-byte Reload pinsrb xmm10, byte ptr [rdx + rsi + 9], 11 - mov rsi, qword ptr [rsp + 32] # 8-byte Reload + mov rsi, qword ptr [rsp + 56] # 8-byte Reload pinsrb xmm10, byte ptr [rdx + rsi + 9], 12 pinsrb xmm10, byte ptr [rdx + r11 + 9], 13 pinsrb xmm10, byte ptr [rdx + r12 + 9], 14 @@ -13331,7 +13988,7 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 psubb xmm1, xmm10 movzx esi, byte ptr [rdx + rax + 22] movd xmm3, esi - movdqa xmm4, xmmword ptr [rsp + 272] # 16-byte Reload + movdqa xmm4, xmmword ptr [rsp + 240] # 16-byte Reload pinsrb xmm4, byte ptr [rdx + r9 + 8], 1 mov r12, qword ptr [rsp + 72] # 8-byte Reload pinsrb xmm4, byte ptr [rdx + r12 + 8], 2 @@ -13347,7 +14004,7 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 pinsrb xmm4, byte ptr [rdx + r15 + 8], 10 mov rax, qword ptr [rsp + 80] # 8-byte Reload pinsrb xmm4, byte ptr [rdx + rax + 8], 11 - mov rsi, qword ptr [rsp + 32] # 8-byte Reload + mov rsi, qword ptr [rsp + 56] # 8-byte Reload pinsrb xmm4, byte ptr [rdx + rsi + 8], 12 pinsrb xmm4, byte ptr [rdx + r11 + 8], 13 mov r10, qword ptr [rsp + 24] # 8-byte Reload @@ -13380,14 +14037,14 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 pcmpeqb xmm10, xmm9 pand xmm10, xmmword ptr [rip + .LCPI2_11] por xmm10, xmm4 - mov rcx, qword ptr [rsp + 56] # 8-byte Reload + mov rcx, qword ptr [rsp + 32] # 8-byte Reload movzx esi, byte ptr [rdx + rcx + 23] movd xmm8, esi por xmm10, xmm1 movdqa xmmword ptr [rsp + 160], xmm10 # 16-byte Spill movzx esi, byte ptr [rdx + rcx + 24] movd xmm10, esi - mov r10, qword ptr [rsp + 48] # 8-byte Reload + mov r10, qword ptr [rsp + 16] # 8-byte Reload pinsrb xmm11, byte ptr [rdx + r10 + 11], 1 pinsrb xmm11, byte ptr [rdx + r12 + 11], 2 mov rcx, r9 @@ -13404,9 +14061,9 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 pinsrb xmm11, byte ptr [rdx + rbx + 11], 10 mov rbx, rax pinsrb xmm11, byte ptr [rdx + rax + 11], 11 - mov r13, qword ptr [rsp + 32] # 8-byte Reload + mov r13, qword ptr [rsp + 56] # 8-byte Reload pinsrb xmm11, byte ptr [rdx + r13 + 11], 12 - mov r9, qword ptr [rsp + 16] # 8-byte Reload + mov r9, qword ptr [rsp + 48] # 8-byte Reload pinsrb xmm11, byte ptr [rdx + r9 + 11], 13 mov rsi, qword ptr [rsp + 24] # 8-byte Reload pinsrb xmm11, byte ptr [rdx + rsi + 11], 14 @@ -13454,7 +14111,7 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 pcmpeqb xmm13, xmm9 pand xmm13, xmmword ptr [rip + .LCPI2_13] por xmm13, xmm11 - mov rbx, qword ptr [rsp + 56] # 8-byte Reload + mov rbx, qword ptr [rsp + 32] # 8-byte Reload movzx esi, byte ptr [rdx + rbx + 25] movd xmm1, esi pcmpeqb xmm12, xmm9 @@ -13462,8 +14119,8 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 por xmm12, xmm13 movzx esi, byte ptr [rdx + rbx + 26] movd xmm11, esi - movdqa xmm4, xmmword ptr [rsp + 256] # 16-byte Reload - mov rax, qword ptr [rsp + 48] # 8-byte Reload + movdqa xmm4, xmmword ptr [rsp + 272] # 16-byte Reload + mov rax, qword ptr [rsp + 16] # 8-byte Reload pinsrb xmm4, byte ptr [rdx + rax + 14], 1 pinsrb xmm4, byte ptr [rdx + r12 + 14], 2 pinsrb xmm4, byte ptr [rdx + r10 + 14], 3 @@ -13482,14 +14139,14 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 pinsrb xmm4, byte ptr [rdx + r15 + 14], 10 mov r14, qword ptr [rsp + 80] # 8-byte Reload pinsrb xmm4, byte ptr [rdx + r14 + 14], 11 - mov r15, qword ptr [rsp + 32] # 8-byte Reload + mov r15, qword ptr [rsp + 56] # 8-byte Reload pinsrb xmm4, byte ptr [rdx + r15 + 14], 12 pinsrb xmm4, byte ptr [rdx + r13 + 14], 13 mov r13, qword ptr [rsp + 24] # 8-byte Reload pinsrb xmm4, byte ptr [rdx + r13 + 14], 14 mov rsi, qword ptr [rsp + 40] # 8-byte Reload pinsrb xmm4, byte ptr [rdx + rsi + 14], 15 - mov rsi, qword ptr [rsp + 48] # 8-byte Reload + mov rsi, qword ptr [rsp + 16] # 8-byte Reload pinsrb xmm14, byte ptr [rdx + rsi + 15], 1 pinsrb xmm14, byte ptr [rdx + r12 + 15], 2 pinsrb xmm14, byte ptr [rdx + r10 + 15], 3 @@ -13502,12 +14159,12 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 pinsrb xmm14, byte ptr [rdx + r11 + 15], 10 pinsrb xmm14, byte ptr [rdx + r14 + 15], 11 pinsrb xmm14, byte ptr [rdx + r15 + 15], 12 - mov rsi, qword ptr [rsp + 16] # 8-byte Reload + mov rsi, qword ptr [rsp + 48] # 8-byte Reload pinsrb xmm14, byte ptr [rdx + rsi + 15], 13 pinsrb xmm14, byte ptr [rdx + r13 + 15], 14 mov rsi, qword ptr [rsp + 40] # 8-byte Reload pinsrb xmm14, byte ptr [rdx + rsi + 15], 15 - mov rsi, qword ptr [rsp + 48] # 8-byte Reload + mov rsi, qword ptr [rsp + 16] # 8-byte Reload pinsrb xmm15, byte ptr [rdx + rsi + 16], 1 pinsrb xmm15, byte ptr [rdx + r12 + 16], 2 pinsrb xmm15, byte ptr [rdx + r10 + 16], 3 @@ -13520,10 +14177,10 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 pinsrb xmm15, byte ptr [rdx + r11 + 16], 10 pinsrb xmm15, byte ptr [rdx + r14 + 16], 11 pinsrb xmm15, byte ptr [rdx + r15 + 16], 12 - mov rsi, qword ptr [rsp + 16] # 8-byte Reload + mov rsi, qword ptr [rsp + 48] # 8-byte Reload pinsrb xmm15, byte ptr [rdx + rsi + 16], 13 pinsrb xmm15, byte ptr [rdx + r13 + 16], 14 - mov rsi, qword ptr [rsp + 48] # 8-byte Reload + mov rsi, qword ptr [rsp + 16] # 8-byte Reload pinsrb xmm0, byte ptr [rdx + rsi + 17], 1 pinsrb xmm0, byte ptr [rdx + r12 + 17], 2 pinsrb xmm0, byte ptr [rdx + r10 + 17], 3 @@ -13538,12 +14195,12 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 pinsrb xmm0, byte ptr [rdx + r11 + 17], 10 pinsrb xmm0, byte ptr [rdx + r14 + 17], 11 pinsrb xmm0, byte ptr [rdx + r15 + 17], 12 - mov rsi, qword ptr [rsp + 16] # 8-byte Reload + mov rsi, qword ptr [rsp + 48] # 8-byte Reload pinsrb xmm0, byte ptr [rdx + rsi + 17], 13 mov rsi, qword ptr [rsp + 24] # 8-byte Reload pinsrb xmm0, byte ptr [rdx + rsi + 17], 14 por xmm12, xmmword ptr [rsp + 160] # 16-byte Folded Reload - mov r12, qword ptr [rsp + 56] # 8-byte Reload + mov r12, qword ptr [rsp + 32] # 8-byte Reload movzx esi, byte ptr [rdx + r12 + 27] movd xmm9, esi movdqa xmm13, xmmword ptr [rsp + 176] # 16-byte Reload @@ -13569,7 +14226,7 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 pinsrb xmm15, byte ptr [rdx + r8 + 16], 15 movdqa xmm0, xmmword ptr [rsp + 176] # 16-byte Reload pcmpeqb xmm15, xmm0 - mov r12, qword ptr [rsp + 48] # 8-byte Reload + mov r12, qword ptr [rsp + 16] # 8-byte Reload pinsrb xmm5, byte ptr [rdx + r12 + 18], 1 mov rsi, qword ptr [rsp + 72] # 8-byte Reload pinsrb xmm5, byte ptr [rdx + rsi + 18], 2 @@ -13583,7 +14240,7 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 pinsrb xmm5, byte ptr [rdx + r11 + 18], 10 pinsrb xmm5, byte ptr [rdx + r14 + 18], 11 pinsrb xmm5, byte ptr [rdx + r15 + 18], 12 - mov rsi, qword ptr [rsp + 16] # 8-byte Reload + mov rsi, qword ptr [rsp + 48] # 8-byte Reload pinsrb xmm5, byte ptr [rdx + rsi + 18], 13 mov rsi, qword ptr [rsp + 24] # 8-byte Reload pinsrb xmm5, byte ptr [rdx + rsi + 18], 14 @@ -13592,7 +14249,7 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 pcmpeqb xmm5, xmm0 pand xmm5, xmmword ptr [rip + .LCPI2_11] por xmm5, xmm15 - mov rax, qword ptr [rsp + 56] # 8-byte Reload + mov rax, qword ptr [rsp + 32] # 8-byte Reload movzx esi, byte ptr [rdx + rax + 30] movd xmm12, esi pinsrb xmm7, byte ptr [rdx + r12 + 19], 1 @@ -13635,7 +14292,7 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 pinsrb xmm7, byte ptr [rdx + r11 + 19], 10 pinsrb xmm7, byte ptr [rdx + r14 + 19], 11 pinsrb xmm7, byte ptr [rdx + r15 + 19], 12 - mov rsi, qword ptr [rsp + 16] # 8-byte Reload + mov rsi, qword ptr [rsp + 48] # 8-byte Reload pinsrb xmm7, byte ptr [rdx + rsi + 19], 13 mov r12, qword ptr [rsp + 24] # 8-byte Reload pinsrb xmm7, byte ptr [rdx + r12 + 19], 14 @@ -13866,28 +14523,27 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 movdqu xmmword ptr [rax + 4*rcx], xmm3 add rcx, 16 mov rax, rcx - cmp rcx, qword ptr [rsp + 232] # 8-byte Folded Reload - jne .LBB2_189 -# %bb.190: - mov r15, qword ptr [rsp + 240] # 8-byte Reload - cmp r15, qword ptr [rsp + 232] # 8-byte Folded Reload + cmp rcx, qword ptr [rsp + 224] # 8-byte Folded Reload + jne .LBB2_186 +# %bb.187: + mov r15, qword ptr [rsp + 232] # 8-byte Reload + cmp r15, qword ptr [rsp + 224] # 8-byte Folded Reload mov r14b, byte ptr [rsp + 8] # 1-byte Reload - mov rsi, qword ptr [rsp + 248] # 8-byte Reload + mov rsi, qword ptr [rsp + 264] # 8-byte Reload mov r10, qword ptr [rsp + 144] # 8-byte Reload jne .LBB2_69 jmp .LBB2_135 -.LBB2_191: - and r14, -8 - mov rax, r14 +.LBB2_188: + and r15, -8 + mov rax, r15 shl rax, 6 add rax, rdx mov qword ptr [rsp + 64], rax # 8-byte Spill mov rax, qword ptr [rsp] # 8-byte Reload - mov qword ptr [rsp + 32], r14 # 8-byte Spill - lea rax, [rax + 4*r14] - mov qword ptr [rsp + 8], rax # 8-byte Spill - mov dword ptr [rsp + 56], r13d # 4-byte Spill - movd xmm0, r13d + mov qword ptr [rsp + 32], r15 # 8-byte Spill + lea rax, [rax + 4*r15] + mov qword ptr [rsp + 16], rax # 8-byte Spill + movd xmm0, r14d pshuflw xmm0, xmm0, 224 # xmm0 = xmm0[0,0,2,3,4,5,6,7] pshufd xmm0, xmm0, 0 # xmm0 = xmm0[0,0,0,0] xor r15d, r15d @@ -13899,7 +14555,7 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 movdqa xmm13, xmmword ptr [rip + .LCPI2_5] # xmm13 = [192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192] movdqa xmm14, xmmword ptr [rip + .LCPI2_6] # xmm14 = [128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128] .p2align 4, 0x90 -.LBB2_192: # =>This Inner Loop Header: Depth=1 +.LBB2_189: # =>This Inner Loop Header: Depth=1 mov qword ptr [rsp + 48], r15 # 8-byte Spill shl r15, 6 mov r9, r15 @@ -13908,9 +14564,9 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 mov rcx, r15 mov rdi, r15 mov rbx, r15 - movzx eax, word ptr [rdx + r15] - movzx r10d, word ptr [rdx + r15 + 2] - movzx r14d, word ptr [rdx + r15 + 4] + movzx r14d, word ptr [rdx + r15] + movzx eax, word ptr [rdx + r15 + 2] + movzx r10d, word ptr [rdx + r15 + 4] movzx esi, word ptr [rdx + r15 + 6] movzx r11d, word ptr [rdx + r15 + 8] mov r8, r15 @@ -13921,7 +14577,7 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 or rcx, 320 or rdi, 384 or rbx, 448 - movd xmm4, eax + movd xmm4, r14d pinsrw xmm4, word ptr [rdx + r8], 1 pinsrw xmm4, word ptr [rdx + r9], 2 pinsrw xmm4, word ptr [rdx + r12], 3 @@ -13929,32 +14585,31 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 pinsrw xmm4, word ptr [rdx + rcx], 5 pinsrw xmm4, word ptr [rdx + rdi], 6 pinsrw xmm4, word ptr [rdx + rbx], 7 - movzx eax, word ptr [rdx + r15 + 10] - mov dword ptr [rsp + 24], eax # 4-byte Spill - movd xmm6, r10d + movzx r14d, word ptr [rdx + r15 + 10] + movd xmm6, eax pinsrw xmm6, word ptr [rdx + r8 + 2], 1 pinsrw xmm6, word ptr [rdx + r9 + 2], 2 pinsrw xmm6, word ptr [rdx + r12 + 2], 3 movzx eax, word ptr [rdx + r15 + 12] - mov dword ptr [rsp + 16], eax # 4-byte Spill + mov dword ptr [rsp + 40], eax # 4-byte Spill pinsrw xmm6, word ptr [rdx + r13 + 2], 4 - movd xmm2, r14d - movzx r14d, word ptr [rdx + r15 + 14] + movd xmm2, r10d + movzx eax, word ptr [rdx + r15 + 14] + mov dword ptr [rsp + 24], eax # 4-byte Spill pinsrw xmm6, word ptr [rdx + rcx + 2], 5 movd xmm5, esi movzx esi, word ptr [rdx + r15 + 16] pinsrw xmm6, word ptr [rdx + rdi + 2], 6 movd xmm3, r11d movzx eax, word ptr [rdx + r15 + 18] - mov dword ptr [rsp + 40], eax # 4-byte Spill + mov dword ptr [rsp + 56], eax # 4-byte Spill pinsrw xmm6, word ptr [rdx + rbx + 2], 7 pcmpeqw xmm6, xmm0 packsswb xmm6, xmm6 movdqa xmm1, xmm6 pand xmm1, xmm15 psubb xmm1, xmm6 - movd xmm6, dword ptr [rsp + 24] # 4-byte Folded Reload - # xmm6 = mem[0],zero,zero,zero + movd xmm6, r14d movzx r10d, word ptr [rdx + r15 + 20] pcmpeqw xmm4, xmm0 packsswb xmm4, xmm4 @@ -13981,7 +14636,7 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 pinsrw xmm3, word ptr [rdx + rdi + 8], 6 pinsrw xmm3, word ptr [rdx + rbx + 8], 7 por xmm1, xmm4 - movd xmm7, dword ptr [rsp + 16] # 4-byte Folded Reload + movd xmm7, dword ptr [rsp + 40] # 4-byte Folded Reload # xmm7 = mem[0],zero,zero,zero movzx eax, word ptr [rdx + r15 + 22] pcmpeqw xmm2, xmm0 @@ -13990,7 +14645,8 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 psllw xmm2, 2 pand xmm2, xmm9 por xmm2, xmm1 - movd xmm4, r14d + movd xmm4, dword ptr [rsp + 24] # 4-byte Folded Reload + # xmm4 = mem[0],zero,zero,zero movzx r11d, word ptr [rdx + r15 + 24] pcmpeqw xmm5, xmm0 packsswb xmm5, xmm5 @@ -14020,7 +14676,7 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 pinsrw xmm7, word ptr [rdx + rdi + 12], 6 pinsrw xmm7, word ptr [rdx + rbx + 12], 7 por xmm3, xmm2 - movd xmm8, dword ptr [rsp + 40] # 4-byte Folded Reload + movd xmm8, dword ptr [rsp + 56] # 4-byte Folded Reload # xmm8 = mem[0],zero,zero,zero movzx r14d, word ptr [rdx + r15 + 28] pcmpeqw xmm6, xmm0 @@ -14078,7 +14734,7 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 por xmm7, xmm1 movd xmm6, esi movzx esi, word ptr [rdx + r15 + 36] - mov dword ptr [rsp + 40], esi # 4-byte Spill + mov dword ptr [rsp + 56], esi # 4-byte Spill pinsrw xmm5, word ptr [rdx + r8 + 20], 1 pinsrw xmm5, word ptr [rdx + r9 + 20], 2 pinsrw xmm5, word ptr [rdx + r12 + 20], 3 @@ -14094,7 +14750,7 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 por xmm5, xmm7 movd xmm7, r14d movzx esi, word ptr [rdx + r15 + 38] - mov dword ptr [rsp + 16], esi # 4-byte Spill + mov dword ptr [rsp + 24], esi # 4-byte Spill pinsrw xmm2, word ptr [rdx + r8 + 22], 1 pinsrw xmm2, word ptr [rdx + r9 + 22], 2 pinsrw xmm2, word ptr [rdx + r12 + 22], 3 @@ -14125,7 +14781,7 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 por xmm3, xmm5 movd xmm5, eax movzx eax, word ptr [rdx + r15 + 42] - mov dword ptr [rsp + 24], eax # 4-byte Spill + mov dword ptr [rsp + 40], eax # 4-byte Spill pinsrw xmm6, word ptr [rdx + r8 + 26], 1 pinsrw xmm6, word ptr [rdx + r9 + 26], 2 pinsrw xmm6, word ptr [rdx + r12 + 26], 3 @@ -14165,7 +14821,7 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 psllw xmm2, 7 pand xmm2, xmm14 por xmm2, xmm7 - movd xmm6, dword ptr [rsp + 40] # 4-byte Folded Reload + movd xmm6, dword ptr [rsp + 56] # 4-byte Folded Reload # xmm6 = mem[0],zero,zero,zero movzx esi, word ptr [rdx + r15 + 46] pinsrw xmm5, word ptr [rdx + r8 + 32], 1 @@ -14187,7 +14843,7 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 movdqa xmm7, xmm1 pand xmm7, xmm15 psubb xmm7, xmm1 - movd xmm3, dword ptr [rsp + 16] # 4-byte Folded Reload + movd xmm3, dword ptr [rsp + 24] # 4-byte Folded Reload # xmm3 = mem[0],zero,zero,zero movzx r11d, word ptr [rdx + r15 + 48] pinsrw xmm5, word ptr [rdx + rbx + 32], 7 @@ -14223,7 +14879,7 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 psllw xmm6, 2 pand xmm6, xmm9 por xmm6, xmm7 - movd xmm1, dword ptr [rsp + 24] # 4-byte Folded Reload + movd xmm1, dword ptr [rsp + 40] # 4-byte Folded Reload # xmm1 = mem[0],zero,zero,zero movzx r14d, word ptr [rdx + r15 + 52] pinsrw xmm5, word ptr [rdx + rbx + 40], 7 @@ -14411,16 +15067,16 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 add rcx, 8 mov r15, rcx cmp rcx, qword ptr [rsp + 32] # 8-byte Folded Reload - jne .LBB2_192 -# %bb.193: - mov r14, qword ptr [rsp + 152] # 8-byte Reload - cmp r14, qword ptr [rsp + 32] # 8-byte Folded Reload + jne .LBB2_189 +# %bb.190: + mov r15, qword ptr [rsp + 152] # 8-byte Reload + cmp r15, qword ptr [rsp + 32] # 8-byte Folded Reload mov r10, qword ptr [rsp + 144] # 8-byte Reload - mov r13d, dword ptr [rsp + 56] # 4-byte Reload + mov r14d, dword ptr [rsp + 8] # 4-byte Reload mov rsi, qword ptr [rsp + 64] # 8-byte Reload jne .LBB2_92 jmp .LBB2_139 -.LBB2_194: +.LBB2_191: and r15, -8 mov rax, r15 shl rax, 6 @@ -14429,9 +15085,8 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 mov rax, qword ptr [rsp] # 8-byte Reload mov qword ptr [rsp + 32], r15 # 8-byte Spill lea rax, [rax + 4*r15] - mov qword ptr [rsp + 8], rax # 8-byte Spill - mov dword ptr [rsp + 56], r13d # 4-byte Spill - movd xmm0, r13d + mov qword ptr [rsp + 16], rax # 8-byte Spill + movd xmm0, r14d pshuflw xmm0, xmm0, 224 # xmm0 = xmm0[0,0,2,3,4,5,6,7] pshufd xmm0, xmm0, 0 # xmm0 = xmm0[0,0,0,0] xor r15d, r15d @@ -14443,7 +15098,7 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 movdqa xmm13, xmmword ptr [rip + .LCPI2_5] # xmm13 = [192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192] movdqa xmm14, xmmword ptr [rip + .LCPI2_6] # xmm14 = [128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128] .p2align 4, 0x90 -.LBB2_195: # =>This Inner Loop Header: Depth=1 +.LBB2_192: # =>This Inner Loop Header: Depth=1 mov qword ptr [rsp + 48], r15 # 8-byte Spill shl r15, 6 mov r9, r15 @@ -14452,9 +15107,9 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 mov rcx, r15 mov rdi, r15 mov rbx, r15 - movzx eax, word ptr [rdx + r15] - movzx r10d, word ptr [rdx + r15 + 2] - movzx r14d, word ptr [rdx + r15 + 4] + movzx r14d, word ptr [rdx + r15] + movzx eax, word ptr [rdx + r15 + 2] + movzx r10d, word ptr [rdx + r15 + 4] movzx esi, word ptr [rdx + r15 + 6] movzx r11d, word ptr [rdx + r15 + 8] mov r8, r15 @@ -14465,7 +15120,7 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 or rcx, 320 or rdi, 384 or rbx, 448 - movd xmm4, eax + movd xmm4, r14d pinsrw xmm4, word ptr [rdx + r8], 1 pinsrw xmm4, word ptr [rdx + r9], 2 pinsrw xmm4, word ptr [rdx + r12], 3 @@ -14473,32 +15128,31 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 pinsrw xmm4, word ptr [rdx + rcx], 5 pinsrw xmm4, word ptr [rdx + rdi], 6 pinsrw xmm4, word ptr [rdx + rbx], 7 - movzx eax, word ptr [rdx + r15 + 10] - mov dword ptr [rsp + 24], eax # 4-byte Spill - movd xmm6, r10d + movzx r14d, word ptr [rdx + r15 + 10] + movd xmm6, eax pinsrw xmm6, word ptr [rdx + r8 + 2], 1 pinsrw xmm6, word ptr [rdx + r9 + 2], 2 pinsrw xmm6, word ptr [rdx + r12 + 2], 3 movzx eax, word ptr [rdx + r15 + 12] - mov dword ptr [rsp + 16], eax # 4-byte Spill + mov dword ptr [rsp + 40], eax # 4-byte Spill pinsrw xmm6, word ptr [rdx + r13 + 2], 4 - movd xmm2, r14d - movzx r14d, word ptr [rdx + r15 + 14] + movd xmm2, r10d + movzx eax, word ptr [rdx + r15 + 14] + mov dword ptr [rsp + 24], eax # 4-byte Spill pinsrw xmm6, word ptr [rdx + rcx + 2], 5 movd xmm5, esi movzx esi, word ptr [rdx + r15 + 16] pinsrw xmm6, word ptr [rdx + rdi + 2], 6 movd xmm3, r11d movzx eax, word ptr [rdx + r15 + 18] - mov dword ptr [rsp + 40], eax # 4-byte Spill + mov dword ptr [rsp + 56], eax # 4-byte Spill pinsrw xmm6, word ptr [rdx + rbx + 2], 7 pcmpeqw xmm6, xmm0 packsswb xmm6, xmm6 movdqa xmm1, xmm6 pand xmm1, xmm15 psubb xmm1, xmm6 - movd xmm6, dword ptr [rsp + 24] # 4-byte Folded Reload - # xmm6 = mem[0],zero,zero,zero + movd xmm6, r14d movzx r10d, word ptr [rdx + r15 + 20] pcmpeqw xmm4, xmm0 packsswb xmm4, xmm4 @@ -14525,7 +15179,7 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 pinsrw xmm3, word ptr [rdx + rdi + 8], 6 pinsrw xmm3, word ptr [rdx + rbx + 8], 7 por xmm1, xmm4 - movd xmm7, dword ptr [rsp + 16] # 4-byte Folded Reload + movd xmm7, dword ptr [rsp + 40] # 4-byte Folded Reload # xmm7 = mem[0],zero,zero,zero movzx eax, word ptr [rdx + r15 + 22] pcmpeqw xmm2, xmm0 @@ -14534,7 +15188,8 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 psllw xmm2, 2 pand xmm2, xmm9 por xmm2, xmm1 - movd xmm4, r14d + movd xmm4, dword ptr [rsp + 24] # 4-byte Folded Reload + # xmm4 = mem[0],zero,zero,zero movzx r11d, word ptr [rdx + r15 + 24] pcmpeqw xmm5, xmm0 packsswb xmm5, xmm5 @@ -14564,7 +15219,7 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 pinsrw xmm7, word ptr [rdx + rdi + 12], 6 pinsrw xmm7, word ptr [rdx + rbx + 12], 7 por xmm3, xmm2 - movd xmm8, dword ptr [rsp + 40] # 4-byte Folded Reload + movd xmm8, dword ptr [rsp + 56] # 4-byte Folded Reload # xmm8 = mem[0],zero,zero,zero movzx r14d, word ptr [rdx + r15 + 28] pcmpeqw xmm6, xmm0 @@ -14622,7 +15277,7 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 por xmm7, xmm1 movd xmm6, esi movzx esi, word ptr [rdx + r15 + 36] - mov dword ptr [rsp + 40], esi # 4-byte Spill + mov dword ptr [rsp + 56], esi # 4-byte Spill pinsrw xmm5, word ptr [rdx + r8 + 20], 1 pinsrw xmm5, word ptr [rdx + r9 + 20], 2 pinsrw xmm5, word ptr [rdx + r12 + 20], 3 @@ -14638,7 +15293,7 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 por xmm5, xmm7 movd xmm7, r14d movzx esi, word ptr [rdx + r15 + 38] - mov dword ptr [rsp + 16], esi # 4-byte Spill + mov dword ptr [rsp + 24], esi # 4-byte Spill pinsrw xmm2, word ptr [rdx + r8 + 22], 1 pinsrw xmm2, word ptr [rdx + r9 + 22], 2 pinsrw xmm2, word ptr [rdx + r12 + 22], 3 @@ -14669,7 +15324,7 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 por xmm3, xmm5 movd xmm5, eax movzx eax, word ptr [rdx + r15 + 42] - mov dword ptr [rsp + 24], eax # 4-byte Spill + mov dword ptr [rsp + 40], eax # 4-byte Spill pinsrw xmm6, word ptr [rdx + r8 + 26], 1 pinsrw xmm6, word ptr [rdx + r9 + 26], 2 pinsrw xmm6, word ptr [rdx + r12 + 26], 3 @@ -14709,7 +15364,7 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 psllw xmm2, 7 pand xmm2, xmm14 por xmm2, xmm7 - movd xmm6, dword ptr [rsp + 40] # 4-byte Folded Reload + movd xmm6, dword ptr [rsp + 56] # 4-byte Folded Reload # xmm6 = mem[0],zero,zero,zero movzx esi, word ptr [rdx + r15 + 46] pinsrw xmm5, word ptr [rdx + r8 + 32], 1 @@ -14731,7 +15386,7 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 movdqa xmm7, xmm1 pand xmm7, xmm15 psubb xmm7, xmm1 - movd xmm3, dword ptr [rsp + 16] # 4-byte Folded Reload + movd xmm3, dword ptr [rsp + 24] # 4-byte Folded Reload # xmm3 = mem[0],zero,zero,zero movzx r11d, word ptr [rdx + r15 + 48] pinsrw xmm5, word ptr [rdx + rbx + 32], 7 @@ -14767,7 +15422,7 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 psllw xmm6, 2 pand xmm6, xmm9 por xmm6, xmm7 - movd xmm1, dword ptr [rsp + 24] # 4-byte Folded Reload + movd xmm1, dword ptr [rsp + 40] # 4-byte Folded Reload # xmm1 = mem[0],zero,zero,zero movzx r14d, word ptr [rdx + r15 + 52] pinsrw xmm5, word ptr [rdx + rbx + 40], 7 @@ -14955,24 +15610,23 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 add rcx, 8 mov r15, rcx cmp rcx, qword ptr [rsp + 32] # 8-byte Folded Reload - jne .LBB2_195 -# %bb.196: + jne .LBB2_192 +# %bb.193: mov r15, qword ptr [rsp + 152] # 8-byte Reload cmp r15, qword ptr [rsp + 32] # 8-byte Folded Reload mov r10, qword ptr [rsp + 144] # 8-byte Reload - mov r13d, dword ptr [rsp + 56] # 4-byte Reload - mov r14, qword ptr [rsp + 8] # 8-byte Reload + mov r14d, dword ptr [rsp + 8] # 4-byte Reload mov rsi, qword ptr [rsp + 64] # 8-byte Reload jne .LBB2_104 - jmp .LBB2_143 -.LBB2_197: + jmp .LBB2_144 +.LBB2_194: mov r8, r14 and r8, -4 mov rbx, r8 shl rbx, 7 add rbx, rdx mov rax, qword ptr [rsp] # 8-byte Reload - lea r11, [rax + 4*r8] + lea r15, [rax + 4*r8] movaps xmm1, xmm0 shufps xmm1, xmm0, 0 # xmm1 = xmm1[0,0],xmm0[0,0] add rdx, 508 @@ -14987,7 +15641,7 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 movdqa xmm9, xmmword ptr [rip + .LCPI2_7] # xmm9 = [0,8,1,9,2,10,3,11,4,12,5,13,6,14,7,15] mov rax, qword ptr [rsp] # 8-byte Reload .p2align 4, 0x90 -.LBB2_198: # =>This Inner Loop Header: Depth=1 +.LBB2_195: # =>This Inner Loop Header: Depth=1 movss xmm6, dword ptr [rdx - 508] # xmm6 = mem[0],zero,zero,zero movss xmm7, dword ptr [rdx - 504] # xmm7 = mem[0],zero,zero,zero movss xmm5, dword ptr [rdx - 500] # xmm5 = mem[0],zero,zero,zero @@ -15332,11 +15986,11 @@ comparison_equal_scalar_arr_sse4: # @comparison_equal_scalar_arr_sse4 add rcx, 4 add rdx, 512 cmp r8, rcx - jne .LBB2_198 -# %bb.199: + jne .LBB2_195 +# %bb.196: cmp r14, r8 jne .LBB2_127 - jmp .LBB2_147 + jmp .LBB2_148 .Lfunc_end2: .size comparison_equal_scalar_arr_sse4, .Lfunc_end2-comparison_equal_scalar_arr_sse4 # -- End function @@ -15354,9 +16008,9 @@ comparison_not_equal_arr_arr_sse4: # @comparison_not_equal_arr_arr_sse4 push rbx and rsp, -8 sub rsp, 72 - # kill: def $r9d killed $r9d def $r9 - mov r11, r8 - mov r14, rcx + mov eax, r9d + mov r14, r8 + mov r12, rcx cmp edi, 6 jg .LBB3_29 # %bb.1: @@ -15372,17 +16026,17 @@ comparison_not_equal_arr_arr_sse4: # @comparison_not_equal_arr_arr_sse4 cmp edi, 6 jne .LBB3_123 # %bb.18: - lea r15, [r11 + 31] - test r11, r11 - cmovns r15, r11 - lea eax, [r9 + 7] - test r9d, r9d - cmovns eax, r9d - and eax, -8 - sub r9d, eax + lea r15, [r14 + 31] + test r14, r14 + cmovns r15, r14 + lea ecx, [rax + 7] + test eax, eax + cmovns ecx, eax + and ecx, -8 + sub eax, ecx je .LBB3_22 # %bb.19: - movsxd rax, r9d + cdqe .p2align 4, 0x90 .LBB3_20: # =>This Inner Loop Header: Depth=1 mov ecx, dword ptr [rsi] @@ -15395,7 +16049,7 @@ comparison_not_equal_arr_arr_sse4: # @comparison_not_equal_arr_arr_sse4 test rax, rax cmovns rdi, rax sar rdi, 3 - movzx r8d, byte ptr [r14 + rdi] + movzx r8d, byte ptr [r12 + rdi] xor r10b, r8b lea r9d, [8*rdi] mov ecx, eax @@ -15405,50 +16059,50 @@ comparison_not_equal_arr_arr_sse4: # @comparison_not_equal_arr_arr_sse4 shl ebx, cl and bl, r10b xor bl, r8b - mov byte ptr [r14 + rdi], bl + mov byte ptr [r12 + rdi], bl add rax, 1 cmp rax, 8 jne .LBB3_20 # %bb.21: - add r14, 1 + add r12, 1 .LBB3_22: sar r15, 5 - cmp r11, 32 + cmp r14, 32 jl .LBB3_26 # %bb.23: - mov qword ptr [rsp + 24], r11 # 8-byte Spill - mov qword ptr [rsp + 64], r15 # 8-byte Spill + mov qword ptr [rsp + 24], r14 # 8-byte Spill mov qword ptr [rsp + 56], r15 # 8-byte Spill + mov qword ptr [rsp + 32], r15 # 8-byte Spill .p2align 4, 0x90 .LBB3_24: # =>This Inner Loop Header: Depth=1 - mov qword ptr [rsp + 48], r14 # 8-byte Spill + mov qword ptr [rsp + 48], r12 # 8-byte Spill mov eax, dword ptr [rsi] mov ecx, dword ptr [rsi + 4] cmp eax, dword ptr [rdx] - setne byte ptr [rsp + 40] # 1-byte Folded Spill + setne byte ptr [rsp + 4] # 1-byte Folded Spill cmp ecx, dword ptr [rdx + 4] - setne byte ptr [rsp + 32] # 1-byte Folded Spill + setne byte ptr [rsp + 40] # 1-byte Folded Spill mov eax, dword ptr [rsi + 8] cmp eax, dword ptr [rdx + 8] - setne byte ptr [rsp + 20] # 1-byte Folded Spill + setne byte ptr [rsp + 21] # 1-byte Folded Spill mov eax, dword ptr [rsi + 12] cmp eax, dword ptr [rdx + 12] - setne byte ptr [rsp + 21] # 1-byte Folded Spill + setne byte ptr [rsp + 22] # 1-byte Folded Spill mov eax, dword ptr [rsi + 16] cmp eax, dword ptr [rdx + 16] - setne byte ptr [rsp + 22] # 1-byte Folded Spill + setne byte ptr [rsp + 23] # 1-byte Folded Spill mov eax, dword ptr [rsi + 20] cmp eax, dword ptr [rdx + 20] - setne byte ptr [rsp + 23] # 1-byte Folded Spill + setne byte ptr [rsp + 3] # 1-byte Folded Spill mov eax, dword ptr [rsi + 24] cmp eax, dword ptr [rdx + 24] - setne byte ptr [rsp + 4] # 1-byte Folded Spill + setne byte ptr [rsp + 5] # 1-byte Folded Spill mov eax, dword ptr [rsi + 28] cmp eax, dword ptr [rdx + 28] setne r13b mov eax, dword ptr [rsi + 32] cmp eax, dword ptr [rdx + 32] - setne byte ptr [rsp + 9] # 1-byte Folded Spill + setne byte ptr [rsp + 10] # 1-byte Folded Spill mov eax, dword ptr [rsi + 36] cmp eax, dword ptr [rdx + 36] setne r8b @@ -15460,166 +16114,166 @@ comparison_not_equal_arr_arr_sse4: # @comparison_not_equal_arr_arr_sse4 setne r15b mov eax, dword ptr [rsi + 48] cmp eax, dword ptr [rdx + 48] - setne byte ptr [rsp + 5] # 1-byte Folded Spill + setne byte ptr [rsp + 6] # 1-byte Folded Spill mov eax, dword ptr [rsi + 52] cmp eax, dword ptr [rdx + 52] - setne byte ptr [rsp + 6] # 1-byte Folded Spill + setne byte ptr [rsp + 7] # 1-byte Folded Spill mov eax, dword ptr [rsi + 56] cmp eax, dword ptr [rdx + 56] - setne byte ptr [rsp + 7] # 1-byte Folded Spill + setne byte ptr [rsp + 8] # 1-byte Folded Spill mov eax, dword ptr [rsi + 60] cmp eax, dword ptr [rdx + 60] - setne bl + setne dil mov eax, dword ptr [rsi + 64] - mov ecx, dword ptr [rsi + 68] + mov ebx, dword ptr [rsi + 68] cmp eax, dword ptr [rdx + 64] mov eax, dword ptr [rsi + 72] - setne byte ptr [rsp + 10] # 1-byte Folded Spill - cmp ecx, dword ptr [rdx + 68] - mov ecx, dword ptr [rsi + 76] + setne byte ptr [rsp + 11] # 1-byte Folded Spill + cmp ebx, dword ptr [rdx + 68] + mov ebx, dword ptr [rsi + 76] setne r10b cmp eax, dword ptr [rdx + 72] mov eax, dword ptr [rsi + 80] setne r14b - cmp ecx, dword ptr [rdx + 76] - mov ecx, dword ptr [rsi + 84] + cmp ebx, dword ptr [rdx + 76] + mov ebx, dword ptr [rsi + 84] setne r12b cmp eax, dword ptr [rdx + 80] - setne byte ptr [rsp + 8] # 1-byte Folded Spill - cmp ecx, dword ptr [rdx + 84] + setne byte ptr [rsp + 9] # 1-byte Folded Spill + cmp ebx, dword ptr [rdx + 84] mov eax, dword ptr [rsi + 88] - setne byte ptr [rsp + 11] # 1-byte Folded Spill + setne byte ptr [rsp + 12] # 1-byte Folded Spill cmp eax, dword ptr [rdx + 88] mov eax, dword ptr [rsi + 92] - setne byte ptr [rsp + 12] # 1-byte Folded Spill + setne byte ptr [rsp + 13] # 1-byte Folded Spill cmp eax, dword ptr [rdx + 92] mov eax, dword ptr [rsi + 96] setne r9b cmp eax, dword ptr [rdx + 96] mov eax, dword ptr [rsi + 100] - setne byte ptr [rsp + 19] # 1-byte Folded Spill + setne byte ptr [rsp + 20] # 1-byte Folded Spill cmp eax, dword ptr [rdx + 100] mov eax, dword ptr [rsi + 104] - setne byte ptr [rsp + 13] # 1-byte Folded Spill + setne byte ptr [rsp + 14] # 1-byte Folded Spill cmp eax, dword ptr [rdx + 104] mov eax, dword ptr [rsi + 108] - setne byte ptr [rsp + 14] # 1-byte Folded Spill + setne byte ptr [rsp + 15] # 1-byte Folded Spill cmp eax, dword ptr [rdx + 108] mov eax, dword ptr [rsi + 112] - setne byte ptr [rsp + 15] # 1-byte Folded Spill + setne byte ptr [rsp + 16] # 1-byte Folded Spill cmp eax, dword ptr [rdx + 112] mov eax, dword ptr [rsi + 116] - setne byte ptr [rsp + 16] # 1-byte Folded Spill + setne byte ptr [rsp + 17] # 1-byte Folded Spill cmp eax, dword ptr [rdx + 116] mov eax, dword ptr [rsi + 120] - setne byte ptr [rsp + 18] # 1-byte Folded Spill + setne byte ptr [rsp + 19] # 1-byte Folded Spill cmp eax, dword ptr [rdx + 120] mov eax, dword ptr [rsi + 124] - setne byte ptr [rsp + 17] # 1-byte Folded Spill + setne byte ptr [rsp + 18] # 1-byte Folded Spill sub rsi, -128 cmp eax, dword ptr [rdx + 124] - setne dil - movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload + setne cl + movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 40] # 1-byte Folded Reload - mov ecx, eax - movzx eax, byte ptr [rsp + 4] # 1-byte Folded Reload + add al, byte ptr [rsp + 4] # 1-byte Folded Reload + mov ebx, eax + movzx eax, byte ptr [rsp + 5] # 1-byte Folded Reload shl al, 6 shl r13b, 7 or r13b, al - movzx eax, byte ptr [rsp + 20] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 21] # 1-byte Folded Reload shl al, 2 - or al, cl + or al, bl add r8b, r8b - add r8b, byte ptr [rsp + 9] # 1-byte Folded Reload - movzx ecx, byte ptr [rsp + 21] # 1-byte Folded Reload - shl cl, 3 - or cl, al - mov eax, ecx + add r8b, byte ptr [rsp + 10] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 22] # 1-byte Folded Reload + shl bl, 3 + or bl, al + mov eax, ebx shl r11b, 2 or r11b, r8b - movzx ecx, byte ptr [rsp + 22] # 1-byte Folded Reload - shl cl, 4 - or cl, al - mov r8d, ecx + movzx ebx, byte ptr [rsp + 23] # 1-byte Folded Reload + shl bl, 4 + or bl, al + mov r8d, ebx shl r15b, 3 or r15b, r11b - movzx ecx, byte ptr [rsp + 23] # 1-byte Folded Reload - shl cl, 5 - or cl, r8b - movzx eax, byte ptr [rsp + 5] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 3] # 1-byte Folded Reload + shl bl, 5 + or bl, r8b + movzx eax, byte ptr [rsp + 6] # 1-byte Folded Reload shl al, 4 or al, r15b mov r8d, eax - movzx eax, byte ptr [rsp + 6] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 7] # 1-byte Folded Reload shl al, 5 or al, r8b - movzx r8d, byte ptr [rsp + 7] # 1-byte Folded Reload + movzx r8d, byte ptr [rsp + 8] # 1-byte Folded Reload shl r8b, 6 - shl bl, 7 - or bl, r8b - or r13b, cl - or bl, al + shl dil, 7 + or dil, r8b + or r13b, bl + or dil, al add r10b, r10b - add r10b, byte ptr [rsp + 10] # 1-byte Folded Reload + add r10b, byte ptr [rsp + 11] # 1-byte Folded Reload shl r14b, 2 or r14b, r10b shl r12b, 3 or r12b, r14b - movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 9] # 1-byte Folded Reload shl al, 4 or al, r12b - mov ecx, eax - mov r14, qword ptr [rsp + 48] # 8-byte Reload - movzx eax, byte ptr [rsp + 11] # 1-byte Folded Reload + mov ebx, eax + mov r12, qword ptr [rsp + 48] # 8-byte Reload + movzx eax, byte ptr [rsp + 12] # 1-byte Folded Reload shl al, 5 - or al, cl - mov byte ptr [r14], r13b - movzx ecx, byte ptr [rsp + 12] # 1-byte Folded Reload - shl cl, 6 + or al, bl + mov byte ptr [r12], r13b + movzx ebx, byte ptr [rsp + 13] # 1-byte Folded Reload + shl bl, 6 shl r9b, 7 - or r9b, cl - mov byte ptr [r14 + 1], bl + or r9b, bl + mov byte ptr [r12 + 1], dil or r9b, al - movzx eax, byte ptr [rsp + 13] # 1-byte Folded Reload - add al, al - add al, byte ptr [rsp + 19] # 1-byte Folded Reload - mov ecx, eax movzx eax, byte ptr [rsp + 14] # 1-byte Folded Reload - shl al, 2 - or al, cl - mov ecx, eax + add al, al + add al, byte ptr [rsp + 20] # 1-byte Folded Reload + mov ebx, eax movzx eax, byte ptr [rsp + 15] # 1-byte Folded Reload - shl al, 3 - or al, cl - mov ecx, eax + shl al, 2 + or al, bl + mov ebx, eax movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload + shl al, 3 + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 17] # 1-byte Folded Reload shl al, 4 - or al, cl - mov ecx, eax - movzx eax, byte ptr [rsp + 18] # 1-byte Folded Reload + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 19] # 1-byte Folded Reload shl al, 5 - or al, cl - movzx ecx, byte ptr [rsp + 17] # 1-byte Folded Reload - shl cl, 6 - shl dil, 7 - or dil, cl - or dil, al - mov byte ptr [r14 + 2], r9b - mov byte ptr [r14 + 3], dil + or al, bl + movzx ebx, byte ptr [rsp + 18] # 1-byte Folded Reload + shl bl, 6 + shl cl, 7 + or cl, bl + or cl, al + mov byte ptr [r12 + 2], r9b + mov byte ptr [r12 + 3], cl add rdx, 128 - add r14, 4 - add qword ptr [rsp + 56], -1 # 8-byte Folded Spill + add r12, 4 + add qword ptr [rsp + 32], -1 # 8-byte Folded Spill jne .LBB3_24 # %bb.25: - mov r11, qword ptr [rsp + 24] # 8-byte Reload - mov r15, qword ptr [rsp + 64] # 8-byte Reload + mov r14, qword ptr [rsp + 24] # 8-byte Reload + mov r15, qword ptr [rsp + 56] # 8-byte Reload .LBB3_26: shl r15, 5 - cmp r15, r11 + cmp r15, r14 jge .LBB3_123 # %bb.27: - sub r11, r15 + sub r14, r15 xor ecx, ecx .p2align 4, 0x90 .LBB3_28: # =>This Inner Loop Header: Depth=1 @@ -15630,7 +16284,7 @@ comparison_not_equal_arr_arr_sse4: # @comparison_not_equal_arr_arr_sse4 neg bl mov rdi, rcx shr rdi, 3 - movzx r9d, byte ptr [r14 + rdi] + movzx r9d, byte ptr [r12 + rdi] xor bl, r9b and cl, 7 mov al, 1 @@ -15638,9 +16292,9 @@ comparison_not_equal_arr_arr_sse4: # @comparison_not_equal_arr_arr_sse4 shl al, cl and al, bl xor al, r9b - mov byte ptr [r14 + rdi], al + mov byte ptr [r12 + rdi], al mov rcx, r8 - cmp r11, r8 + cmp r14, r8 jne .LBB3_28 jmp .LBB3_123 .LBB3_29: @@ -15656,271 +16310,366 @@ comparison_not_equal_arr_arr_sse4: # @comparison_not_equal_arr_arr_sse4 cmp edi, 12 jne .LBB3_123 # %bb.46: - lea r15, [r11 + 31] - test r11, r11 - cmovns r15, r11 - lea eax, [r9 + 7] - test r9d, r9d - cmovns eax, r9d - and eax, -8 - sub r9d, eax + lea r15, [r14 + 31] + test r14, r14 + cmovns r15, r14 + lea ecx, [rax + 7] + test eax, eax + cmovns ecx, eax + and ecx, -8 + sub eax, ecx je .LBB3_50 # %bb.47: - movsxd rax, r9d + movsxd r10, eax .p2align 4, 0x90 .LBB3_48: # =>This Inner Loop Header: Depth=1 movsd xmm0, qword ptr [rsi] # xmm0 = mem[0],zero add rsi, 8 ucomisd xmm0, qword ptr [rdx] lea rdx, [rdx + 8] - setne r10b - neg r10b - lea rdi, [rax + 7] - test rax, rax - cmovns rdi, rax + setp cl + setne bl + or bl, cl + neg bl + lea rdi, [r10 + 7] + test r10, r10 + cmovns rdi, r10 sar rdi, 3 - movzx r8d, byte ptr [r14 + rdi] - xor r10b, r8b + movzx r8d, byte ptr [r12 + rdi] + xor bl, r8b lea r9d, [8*rdi] - mov ecx, eax + mov ecx, r10d sub ecx, r9d - mov ebx, 1 + mov eax, 1 # kill: def $cl killed $cl killed $ecx - shl ebx, cl - and bl, r10b - xor bl, r8b - mov byte ptr [r14 + rdi], bl - add rax, 1 - cmp rax, 8 + shl eax, cl + and al, bl + xor al, r8b + mov byte ptr [r12 + rdi], al + add r10, 1 + cmp r10, 8 jne .LBB3_48 # %bb.49: - add r14, 1 + add r12, 1 .LBB3_50: sar r15, 5 - cmp r11, 32 + cmp r14, 32 jl .LBB3_54 # %bb.51: - mov qword ptr [rsp + 24], r11 # 8-byte Spill - mov qword ptr [rsp + 32], r15 # 8-byte Spill - mov qword ptr [rsp + 40], r15 # 8-byte Spill + mov qword ptr [rsp + 24], r14 # 8-byte Spill + mov qword ptr [rsp + 64], r15 # 8-byte Spill + mov qword ptr [rsp + 56], r15 # 8-byte Spill .p2align 4, 0x90 .LBB3_52: # =>This Inner Loop Header: Depth=1 - mov qword ptr [rsp + 48], r14 # 8-byte Spill + mov qword ptr [rsp + 48], r12 # 8-byte Spill movsd xmm0, qword ptr [rsi] # xmm0 = mem[0],zero - movsd xmm1, qword ptr [rsi + 8] # xmm1 = mem[0],zero ucomisd xmm0, qword ptr [rdx] - setne byte ptr [rsp + 4] # 1-byte Folded Spill - ucomisd xmm1, qword ptr [rdx + 8] - setne al + movsd xmm0, qword ptr [rsi + 8] # xmm0 = mem[0],zero + setp al + setne cl + or cl, al + mov byte ptr [rsp + 21], cl # 1-byte Spill + ucomisd xmm0, qword ptr [rdx + 8] + setp al + setne cl + or cl, al + mov byte ptr [rsp + 13], cl # 1-byte Spill movsd xmm0, qword ptr [rsi + 16] # xmm0 = mem[0],zero ucomisd xmm0, qword ptr [rdx + 16] + setp al + setne cl + or cl, al + mov byte ptr [rsp + 20], cl # 1-byte Spill movsd xmm0, qword ptr [rsi + 24] # xmm0 = mem[0],zero - setne byte ptr [rsp + 5] # 1-byte Folded Spill ucomisd xmm0, qword ptr [rdx + 24] - setne byte ptr [rsp + 22] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 23], cl # 1-byte Spill movsd xmm0, qword ptr [rsi + 32] # xmm0 = mem[0],zero ucomisd xmm0, qword ptr [rdx + 32] + setp al + setne cl + or cl, al + mov byte ptr [rsp + 22], cl # 1-byte Spill movsd xmm0, qword ptr [rsi + 40] # xmm0 = mem[0],zero - setne byte ptr [rsp + 21] # 1-byte Folded Spill ucomisd xmm0, qword ptr [rdx + 40] - setne byte ptr [rsp + 23] # 1-byte Folded Spill + setp al + setne dil + or dil, al movsd xmm0, qword ptr [rsi + 48] # xmm0 = mem[0],zero ucomisd xmm0, qword ptr [rdx + 48] - movsd xmm0, qword ptr [rsi + 56] # xmm0 = mem[0],zero + setp al setne r13b + or r13b, al + movsd xmm0, qword ptr [rsi + 56] # xmm0 = mem[0],zero ucomisd xmm0, qword ptr [rdx + 56] - setne r15b + setp al + setne cl + or cl, al + mov byte ptr [rsp + 3], cl # 1-byte Spill movsd xmm0, qword ptr [rsi + 64] # xmm0 = mem[0],zero ucomisd xmm0, qword ptr [rdx + 64] + setp al + setne cl + or cl, al + mov byte ptr [rsp + 19], cl # 1-byte Spill movsd xmm0, qword ptr [rsi + 72] # xmm0 = mem[0],zero - setne byte ptr [rsp + 8] # 1-byte Folded Spill ucomisd xmm0, qword ptr [rdx + 72] - setne cl + setp al + setne bl + or bl, al movsd xmm0, qword ptr [rsi + 80] # xmm0 = mem[0],zero ucomisd xmm0, qword ptr [rdx + 80] + setp al + setne cl + or cl, al + mov byte ptr [rsp + 18], cl # 1-byte Spill movsd xmm0, qword ptr [rsi + 88] # xmm0 = mem[0],zero - setne r9b ucomisd xmm0, qword ptr [rdx + 88] - setne r11b + setp al + setne cl + or cl, al + mov byte ptr [rsp + 17], cl # 1-byte Spill movsd xmm0, qword ptr [rsi + 96] # xmm0 = mem[0],zero ucomisd xmm0, qword ptr [rdx + 96] + setp al + setne cl + or cl, al + mov byte ptr [rsp + 16], cl # 1-byte Spill movsd xmm0, qword ptr [rsi + 104] # xmm0 = mem[0],zero - setne r10b ucomisd xmm0, qword ptr [rdx + 104] - setne byte ptr [rsp + 7] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 15], cl # 1-byte Spill movsd xmm0, qword ptr [rsi + 112] # xmm0 = mem[0],zero ucomisd xmm0, qword ptr [rdx + 112] + setp al + setne cl + or cl, al + mov byte ptr [rsp + 12], cl # 1-byte Spill movsd xmm0, qword ptr [rsi + 120] # xmm0 = mem[0],zero - setne byte ptr [rsp + 6] # 1-byte Folded Spill ucomisd xmm0, qword ptr [rdx + 120] - setne bl + setp al + setne cl + or cl, al + mov byte ptr [rsp + 11], cl # 1-byte Spill movsd xmm0, qword ptr [rsi + 128] # xmm0 = mem[0],zero ucomisd xmm0, qword ptr [rdx + 128] + setp al + setne cl + or cl, al + mov byte ptr [rsp + 14], cl # 1-byte Spill movsd xmm0, qword ptr [rsi + 136] # xmm0 = mem[0],zero - setne byte ptr [rsp + 14] # 1-byte Folded Spill ucomisd xmm0, qword ptr [rdx + 136] + setp al + setne cl + or cl, al + mov byte ptr [rsp + 10], cl # 1-byte Spill movsd xmm0, qword ptr [rsi + 144] # xmm0 = mem[0],zero - setne r14b ucomisd xmm0, qword ptr [rdx + 144] + setp al + setne cl + or cl, al + mov byte ptr [rsp + 9], cl # 1-byte Spill movsd xmm0, qword ptr [rsi + 152] # xmm0 = mem[0],zero - setne r12b ucomisd xmm0, qword ptr [rdx + 152] + setp al + setne r14b + or r14b, al movsd xmm0, qword ptr [rsi + 160] # xmm0 = mem[0],zero - setne byte ptr [rsp + 9] # 1-byte Folded Spill ucomisd xmm0, qword ptr [rdx + 160] + setp al + setne cl + or cl, al + mov byte ptr [rsp + 8], cl # 1-byte Spill movsd xmm0, qword ptr [rsi + 168] # xmm0 = mem[0],zero - setne byte ptr [rsp + 10] # 1-byte Folded Spill ucomisd xmm0, qword ptr [rdx + 168] + setp al + setne cl + or cl, al + mov byte ptr [rsp + 7], cl # 1-byte Spill movsd xmm0, qword ptr [rsi + 176] # xmm0 = mem[0],zero - setne byte ptr [rsp + 11] # 1-byte Folded Spill ucomisd xmm0, qword ptr [rdx + 176] + setp al + setne cl + or cl, al + mov byte ptr [rsp + 5], cl # 1-byte Spill movsd xmm0, qword ptr [rsi + 184] # xmm0 = mem[0],zero - setne byte ptr [rsp + 12] # 1-byte Folded Spill ucomisd xmm0, qword ptr [rdx + 184] + setp al + setne r15b + or r15b, al movsd xmm0, qword ptr [rsi + 192] # xmm0 = mem[0],zero - setne r8b ucomisd xmm0, qword ptr [rdx + 192] + setp al + setne cl + or cl, al + mov byte ptr [rsp + 6], cl # 1-byte Spill movsd xmm0, qword ptr [rsi + 200] # xmm0 = mem[0],zero - setne byte ptr [rsp + 20] # 1-byte Folded Spill ucomisd xmm0, qword ptr [rdx + 200] + setp al + setne cl + or cl, al + mov byte ptr [rsp + 32], cl # 1-byte Spill movsd xmm0, qword ptr [rsi + 208] # xmm0 = mem[0],zero - setne byte ptr [rsp + 13] # 1-byte Folded Spill ucomisd xmm0, qword ptr [rdx + 208] + setp al + setne r11b + or r11b, al movsd xmm0, qword ptr [rsi + 216] # xmm0 = mem[0],zero - setne byte ptr [rsp + 15] # 1-byte Folded Spill ucomisd xmm0, qword ptr [rdx + 216] + setp al + setne r10b + or r10b, al movsd xmm0, qword ptr [rsi + 224] # xmm0 = mem[0],zero - setne byte ptr [rsp + 16] # 1-byte Folded Spill ucomisd xmm0, qword ptr [rdx + 224] + setp al + setne cl + or cl, al + mov byte ptr [rsp + 4], cl # 1-byte Spill movsd xmm0, qword ptr [rsi + 232] # xmm0 = mem[0],zero - setne byte ptr [rsp + 17] # 1-byte Folded Spill ucomisd xmm0, qword ptr [rdx + 232] + setp al + setne cl + or cl, al + mov byte ptr [rsp + 40], cl # 1-byte Spill movsd xmm0, qword ptr [rsi + 240] # xmm0 = mem[0],zero - setne byte ptr [rsp + 19] # 1-byte Folded Spill ucomisd xmm0, qword ptr [rdx + 240] + setp al + setne r9b + or r9b, al movsd xmm0, qword ptr [rsi + 248] # xmm0 = mem[0],zero - setne byte ptr [rsp + 18] # 1-byte Folded Spill add rsi, 256 ucomisd xmm0, qword ptr [rdx + 248] - setne dil + setp al + setne r8b + or r8b, al + movzx eax, byte ptr [rsp + 13] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 4] # 1-byte Folded Reload + add al, byte ptr [rsp + 21] # 1-byte Folded Reload + shl dil, 5 shl r13b, 6 - shl r15b, 7 - or r15b, r13b - movzx r13d, byte ptr [rsp + 5] # 1-byte Folded Reload - shl r13b, 2 - or r13b, al - mov eax, r13d - add cl, cl - add cl, byte ptr [rsp + 8] # 1-byte Folded Reload + or r13b, dil + mov edi, r13d + movzx ecx, byte ptr [rsp + 20] # 1-byte Folded Reload + shl cl, 2 + or cl, al + mov eax, ebx + add al, bl + add al, byte ptr [rsp + 19] # 1-byte Folded Reload + mov r13d, eax + movzx eax, byte ptr [rsp + 3] # 1-byte Folded Reload + shl al, 7 + or al, dil + mov byte ptr [rsp + 3], al # 1-byte Spill + movzx eax, byte ptr [rsp + 18] # 1-byte Folded Reload + shl al, 2 + or al, r13b + mov edi, eax + movzx eax, byte ptr [rsp + 23] # 1-byte Folded Reload + shl al, 3 + or al, cl + movzx ebx, byte ptr [rsp + 17] # 1-byte Folded Reload + shl bl, 3 + or bl, dil movzx r13d, byte ptr [rsp + 22] # 1-byte Folded Reload - shl r13b, 3 + shl r13b, 4 or r13b, al - shl r9b, 2 - or r9b, cl - movzx ecx, byte ptr [rsp + 21] # 1-byte Folded Reload - shl cl, 4 - or cl, r13b - mov r13d, ecx - shl r11b, 3 - or r11b, r9b - movzx ecx, byte ptr [rsp + 23] # 1-byte Folded Reload - shl cl, 5 - or cl, r13b - shl r10b, 4 - or r10b, r11b - movzx eax, byte ptr [rsp + 7] # 1-byte Folded Reload - shl al, 5 - or al, r10b - movzx r9d, byte ptr [rsp + 6] # 1-byte Folded Reload - shl r9b, 6 - shl bl, 7 - or bl, r9b - or r15b, cl - or bl, al - add r14b, r14b - add r14b, byte ptr [rsp + 14] # 1-byte Folded Reload - shl r12b, 2 - or r12b, r14b - mov r14, qword ptr [rsp + 48] # 8-byte Reload - movzx eax, byte ptr [rsp + 9] # 1-byte Folded Reload - shl al, 3 - or al, r12b - mov ecx, eax - movzx eax, byte ptr [rsp + 10] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload shl al, 4 - or al, cl - mov ecx, eax + or al, bl + mov edi, eax + movzx ebx, byte ptr [rsp + 15] # 1-byte Folded Reload + shl bl, 5 + movzx eax, byte ptr [rsp + 12] # 1-byte Folded Reload + shl al, 6 + or al, bl + mov ebx, eax movzx eax, byte ptr [rsp + 11] # 1-byte Folded Reload - shl al, 5 - or al, cl - mov byte ptr [r14], r15b - movzx ecx, byte ptr [rsp + 12] # 1-byte Folded Reload + shl al, 7 + or al, bl + movzx ebx, byte ptr [rsp + 10] # 1-byte Folded Reload + add bl, bl + add bl, byte ptr [rsp + 14] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 9] # 1-byte Folded Reload + shl cl, 2 + or cl, bl + shl r14b, 3 + or r14b, cl + movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload + shl bl, 4 + or bl, r14b + mov r12, qword ptr [rsp + 48] # 8-byte Reload + movzx r14d, byte ptr [rsp + 3] # 1-byte Folded Reload + or r14b, r13b + movzx r13d, byte ptr [rsp + 7] # 1-byte Folded Reload + shl r13b, 5 + movzx ecx, byte ptr [rsp + 5] # 1-byte Folded Reload shl cl, 6 + or cl, r13b + or al, dil + shl r15b, 7 + or r15b, cl + or r15b, bl + movzx ecx, byte ptr [rsp + 32] # 1-byte Folded Reload + add cl, cl + add cl, byte ptr [rsp + 6] # 1-byte Folded Reload + shl r11b, 2 + or r11b, cl + shl r10b, 3 + or r10b, r11b + movzx ecx, byte ptr [rsp + 4] # 1-byte Folded Reload + shl cl, 4 + or cl, r10b + mov byte ptr [r12], r14b + movzx ebx, byte ptr [rsp + 40] # 1-byte Folded Reload + shl bl, 5 + shl r9b, 6 + or r9b, bl + mov byte ptr [r12 + 1], al shl r8b, 7 + or r8b, r9b or r8b, cl - mov byte ptr [r14 + 1], bl - or r8b, al - movzx eax, byte ptr [rsp + 13] # 1-byte Folded Reload - add al, al - add al, byte ptr [rsp + 20] # 1-byte Folded Reload - mov ecx, eax - movzx eax, byte ptr [rsp + 15] # 1-byte Folded Reload - shl al, 2 - or al, cl - mov ecx, eax - movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload - shl al, 3 - or al, cl - mov ecx, eax - movzx eax, byte ptr [rsp + 17] # 1-byte Folded Reload - shl al, 4 - or al, cl - movzx ecx, byte ptr [rsp + 19] # 1-byte Folded Reload - shl cl, 5 - or cl, al - movzx eax, byte ptr [rsp + 18] # 1-byte Folded Reload - shl al, 6 - shl dil, 7 - or dil, al - or dil, cl - mov byte ptr [r14 + 2], r8b - mov byte ptr [r14 + 3], dil + mov byte ptr [r12 + 2], r15b + mov byte ptr [r12 + 3], r8b add rdx, 256 - add r14, 4 - add qword ptr [rsp + 40], -1 # 8-byte Folded Spill + add r12, 4 + add qword ptr [rsp + 56], -1 # 8-byte Folded Spill jne .LBB3_52 # %bb.53: - mov r11, qword ptr [rsp + 24] # 8-byte Reload - mov r15, qword ptr [rsp + 32] # 8-byte Reload + mov r14, qword ptr [rsp + 24] # 8-byte Reload + mov r15, qword ptr [rsp + 64] # 8-byte Reload .LBB3_54: shl r15, 5 - cmp r15, r11 + cmp r15, r14 jge .LBB3_123 # %bb.55: - sub r11, r15 + sub r14, r15 xor ecx, ecx .p2align 4, 0x90 .LBB3_56: # =>This Inner Loop Header: Depth=1 + lea r9, [rcx + 1] movsd xmm0, qword ptr [rsi + 8*rcx] # xmm0 = mem[0],zero ucomisd xmm0, qword ptr [rdx + 8*rcx] - lea r8, [rcx + 1] - setne bl - neg bl + setp bl + setne al + or al, bl + neg al mov rdi, rcx shr rdi, 3 - movzx r9d, byte ptr [r14 + rdi] - xor bl, r9b + movzx r8d, byte ptr [r12 + rdi] + xor al, r8b and cl, 7 - mov al, 1 + mov bl, 1 # kill: def $cl killed $cl killed $rcx - shl al, cl - and al, bl - xor al, r9b - mov byte ptr [r14 + rdi], al - mov rcx, r8 - cmp r11, r8 + shl bl, cl + and bl, al + xor bl, r8b + mov byte ptr [r12 + rdi], bl + mov rcx, r9 + cmp r14, r9 jne .LBB3_56 jmp .LBB3_123 .LBB3_2: @@ -15930,17 +16679,17 @@ comparison_not_equal_arr_arr_sse4: # @comparison_not_equal_arr_arr_sse4 cmp edi, 3 jne .LBB3_123 # %bb.4: - lea r15, [r11 + 31] - test r11, r11 - cmovns r15, r11 - lea eax, [r9 + 7] - test r9d, r9d - cmovns eax, r9d - and eax, -8 - sub r9d, eax + lea r15, [r14 + 31] + test r14, r14 + cmovns r15, r14 + lea ecx, [rax + 7] + test eax, eax + cmovns ecx, eax + and ecx, -8 + sub eax, ecx je .LBB3_8 # %bb.5: - movsxd rax, r9d + cdqe .p2align 4, 0x90 .LBB3_6: # =>This Inner Loop Header: Depth=1 movzx ecx, byte ptr [rsi] @@ -15953,7 +16702,7 @@ comparison_not_equal_arr_arr_sse4: # @comparison_not_equal_arr_arr_sse4 test rax, rax cmovns rdi, rax sar rdi, 3 - movzx r8d, byte ptr [r14 + rdi] + movzx r8d, byte ptr [r12 + rdi] xor r10b, r8b lea r9d, [8*rdi] mov ecx, eax @@ -15963,50 +16712,50 @@ comparison_not_equal_arr_arr_sse4: # @comparison_not_equal_arr_arr_sse4 shl ebx, cl and bl, r10b xor bl, r8b - mov byte ptr [r14 + rdi], bl + mov byte ptr [r12 + rdi], bl add rax, 1 cmp rax, 8 jne .LBB3_6 # %bb.7: - add r14, 1 + add r12, 1 .LBB3_8: sar r15, 5 - cmp r11, 32 + cmp r14, 32 jl .LBB3_12 # %bb.9: - mov qword ptr [rsp + 24], r11 # 8-byte Spill - mov qword ptr [rsp + 56], r15 # 8-byte Spill + mov qword ptr [rsp + 24], r14 # 8-byte Spill mov qword ptr [rsp + 32], r15 # 8-byte Spill + mov qword ptr [rsp + 40], r15 # 8-byte Spill .p2align 4, 0x90 .LBB3_10: # =>This Inner Loop Header: Depth=1 - mov qword ptr [rsp + 48], r14 # 8-byte Spill + mov qword ptr [rsp + 48], r12 # 8-byte Spill movzx eax, byte ptr [rsi] movzx ecx, byte ptr [rsi + 1] cmp al, byte ptr [rdx] - setne byte ptr [rsp + 40] # 1-byte Folded Spill + setne byte ptr [rsp + 4] # 1-byte Folded Spill cmp cl, byte ptr [rdx + 1] - setne cl + setne bl movzx eax, byte ptr [rsi + 2] cmp al, byte ptr [rdx + 2] - setne byte ptr [rsp + 20] # 1-byte Folded Spill + setne byte ptr [rsp + 21] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 3] cmp al, byte ptr [rdx + 3] - setne byte ptr [rsp + 21] # 1-byte Folded Spill + setne byte ptr [rsp + 22] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 4] cmp al, byte ptr [rdx + 4] - setne byte ptr [rsp + 22] # 1-byte Folded Spill + setne byte ptr [rsp + 23] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 5] cmp al, byte ptr [rdx + 5] - setne byte ptr [rsp + 23] # 1-byte Folded Spill + setne byte ptr [rsp + 3] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 6] cmp al, byte ptr [rdx + 6] - setne byte ptr [rsp + 4] # 1-byte Folded Spill + setne byte ptr [rsp + 5] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 7] cmp al, byte ptr [rdx + 7] setne r15b movzx eax, byte ptr [rsi + 8] cmp al, byte ptr [rdx + 8] - setne byte ptr [rsp + 7] # 1-byte Folded Spill + setne byte ptr [rsp + 8] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 9] cmp al, byte ptr [rdx + 9] setne dil @@ -16021,16 +16770,16 @@ comparison_not_equal_arr_arr_sse4: # @comparison_not_equal_arr_arr_sse4 setne r14b movzx eax, byte ptr [rsi + 13] cmp al, byte ptr [rdx + 13] - setne byte ptr [rsp + 5] # 1-byte Folded Spill + setne byte ptr [rsp + 6] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 14] cmp al, byte ptr [rdx + 14] - setne byte ptr [rsp + 6] # 1-byte Folded Spill + setne byte ptr [rsp + 7] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 15] cmp al, byte ptr [rdx + 15] - setne bl + setne r8b movzx eax, byte ptr [rsi + 16] cmp al, byte ptr [rdx + 16] - setne byte ptr [rsp + 13] # 1-byte Folded Spill + setne byte ptr [rsp + 14] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 17] cmp al, byte ptr [rdx + 17] setne r12b @@ -16039,145 +16788,145 @@ comparison_not_equal_arr_arr_sse4: # @comparison_not_equal_arr_arr_sse4 setne r13b movzx eax, byte ptr [rsi + 19] cmp al, byte ptr [rdx + 19] - setne byte ptr [rsp + 8] # 1-byte Folded Spill + setne byte ptr [rsp + 9] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 20] cmp al, byte ptr [rdx + 20] - setne byte ptr [rsp + 9] # 1-byte Folded Spill + setne byte ptr [rsp + 10] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 21] cmp al, byte ptr [rdx + 21] - setne byte ptr [rsp + 10] # 1-byte Folded Spill + setne byte ptr [rsp + 11] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 22] cmp al, byte ptr [rdx + 22] - setne byte ptr [rsp + 11] # 1-byte Folded Spill + setne byte ptr [rsp + 12] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 23] cmp al, byte ptr [rdx + 23] setne r9b movzx eax, byte ptr [rsi + 24] cmp al, byte ptr [rdx + 24] - setne byte ptr [rsp + 19] # 1-byte Folded Spill + setne byte ptr [rsp + 20] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 25] cmp al, byte ptr [rdx + 25] - setne byte ptr [rsp + 12] # 1-byte Folded Spill + setne byte ptr [rsp + 13] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 26] cmp al, byte ptr [rdx + 26] - setne byte ptr [rsp + 14] # 1-byte Folded Spill + setne byte ptr [rsp + 15] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 27] cmp al, byte ptr [rdx + 27] - setne byte ptr [rsp + 15] # 1-byte Folded Spill + setne byte ptr [rsp + 16] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 28] cmp al, byte ptr [rdx + 28] - setne byte ptr [rsp + 16] # 1-byte Folded Spill + setne byte ptr [rsp + 17] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 29] cmp al, byte ptr [rdx + 29] - setne byte ptr [rsp + 17] # 1-byte Folded Spill + setne byte ptr [rsp + 18] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 30] cmp al, byte ptr [rdx + 30] - setne byte ptr [rsp + 18] # 1-byte Folded Spill + setne byte ptr [rsp + 19] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 31] add rsi, 32 cmp al, byte ptr [rdx + 31] - setne r8b - add cl, cl - add cl, byte ptr [rsp + 40] # 1-byte Folded Reload - mov eax, ecx - movzx ecx, byte ptr [rsp + 4] # 1-byte Folded Reload - shl cl, 6 + setne cl + add bl, bl + add bl, byte ptr [rsp + 4] # 1-byte Folded Reload + mov eax, ebx + movzx ebx, byte ptr [rsp + 5] # 1-byte Folded Reload + shl bl, 6 shl r15b, 7 - or r15b, cl - movzx ecx, byte ptr [rsp + 20] # 1-byte Folded Reload - shl cl, 2 - or cl, al - mov eax, ecx + or r15b, bl + movzx ebx, byte ptr [rsp + 21] # 1-byte Folded Reload + shl bl, 2 + or bl, al + mov eax, ebx add dil, dil - add dil, byte ptr [rsp + 7] # 1-byte Folded Reload - movzx ecx, byte ptr [rsp + 21] # 1-byte Folded Reload - shl cl, 3 - or cl, al - mov eax, ecx + add dil, byte ptr [rsp + 8] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 22] # 1-byte Folded Reload + shl bl, 3 + or bl, al + mov eax, ebx shl r10b, 2 or r10b, dil - movzx ecx, byte ptr [rsp + 22] # 1-byte Folded Reload - shl cl, 4 - or cl, al - mov edi, ecx + movzx ebx, byte ptr [rsp + 23] # 1-byte Folded Reload + shl bl, 4 + or bl, al + mov edi, ebx shl r11b, 3 or r11b, r10b - movzx ecx, byte ptr [rsp + 23] # 1-byte Folded Reload - shl cl, 5 - or cl, dil + movzx ebx, byte ptr [rsp + 3] # 1-byte Folded Reload + shl bl, 5 + or bl, dil shl r14b, 4 or r14b, r11b - movzx eax, byte ptr [rsp + 5] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 6] # 1-byte Folded Reload shl al, 5 or al, r14b - movzx edi, byte ptr [rsp + 6] # 1-byte Folded Reload + movzx edi, byte ptr [rsp + 7] # 1-byte Folded Reload shl dil, 6 - shl bl, 7 - or bl, dil - or r15b, cl - or bl, al + shl r8b, 7 + or r8b, dil + or r15b, bl + or r8b, al add r12b, r12b - add r12b, byte ptr [rsp + 13] # 1-byte Folded Reload + add r12b, byte ptr [rsp + 14] # 1-byte Folded Reload shl r13b, 2 or r13b, r12b - mov r14, qword ptr [rsp + 48] # 8-byte Reload - movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + mov r12, qword ptr [rsp + 48] # 8-byte Reload + movzx eax, byte ptr [rsp + 9] # 1-byte Folded Reload shl al, 3 or al, r13b - mov ecx, eax - movzx eax, byte ptr [rsp + 9] # 1-byte Folded Reload - shl al, 4 - or al, cl - mov ecx, eax + mov ebx, eax movzx eax, byte ptr [rsp + 10] # 1-byte Folded Reload + shl al, 4 + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 11] # 1-byte Folded Reload shl al, 5 - or al, cl - mov byte ptr [r14], r15b - movzx ecx, byte ptr [rsp + 11] # 1-byte Folded Reload - shl cl, 6 + or al, bl + mov byte ptr [r12], r15b + movzx ebx, byte ptr [rsp + 12] # 1-byte Folded Reload + shl bl, 6 shl r9b, 7 - or r9b, cl - mov byte ptr [r14 + 1], bl + or r9b, bl + mov byte ptr [r12 + 1], r8b or r9b, al - movzx eax, byte ptr [rsp + 12] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 13] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 19] # 1-byte Folded Reload - mov ecx, eax - movzx eax, byte ptr [rsp + 14] # 1-byte Folded Reload - shl al, 2 - or al, cl - mov ecx, eax + add al, byte ptr [rsp + 20] # 1-byte Folded Reload + mov ebx, eax movzx eax, byte ptr [rsp + 15] # 1-byte Folded Reload - shl al, 3 - or al, cl - mov ecx, eax + shl al, 2 + or al, bl + mov ebx, eax movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload - shl al, 4 - or al, cl - mov ecx, eax + shl al, 3 + or al, bl + mov ebx, eax movzx eax, byte ptr [rsp + 17] # 1-byte Folded Reload + shl al, 4 + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 18] # 1-byte Folded Reload shl al, 5 - or al, cl - movzx ecx, byte ptr [rsp + 18] # 1-byte Folded Reload - shl cl, 6 - shl r8b, 7 - or r8b, cl - or r8b, al - mov byte ptr [r14 + 2], r9b - mov byte ptr [r14 + 3], r8b + or al, bl + movzx ebx, byte ptr [rsp + 19] # 1-byte Folded Reload + shl bl, 6 + shl cl, 7 + or cl, bl + or cl, al + mov byte ptr [r12 + 2], r9b + mov byte ptr [r12 + 3], cl add rdx, 32 - add r14, 4 - add qword ptr [rsp + 32], -1 # 8-byte Folded Spill + add r12, 4 + add qword ptr [rsp + 40], -1 # 8-byte Folded Spill jne .LBB3_10 # %bb.11: - mov r11, qword ptr [rsp + 24] # 8-byte Reload - mov r15, qword ptr [rsp + 56] # 8-byte Reload + mov r14, qword ptr [rsp + 24] # 8-byte Reload + mov r15, qword ptr [rsp + 32] # 8-byte Reload .LBB3_12: shl r15, 5 - cmp r15, r11 + cmp r15, r14 jge .LBB3_123 # %bb.13: - sub r11, r15 + sub r14, r15 xor ecx, ecx .p2align 4, 0x90 .LBB3_14: # =>This Inner Loop Header: Depth=1 @@ -16188,7 +16937,7 @@ comparison_not_equal_arr_arr_sse4: # @comparison_not_equal_arr_arr_sse4 neg bl mov rdi, rcx shr rdi, 3 - movzx r9d, byte ptr [r14 + rdi] + movzx r9d, byte ptr [r12 + rdi] xor bl, r9b and cl, 7 mov al, 1 @@ -16196,9 +16945,9 @@ comparison_not_equal_arr_arr_sse4: # @comparison_not_equal_arr_arr_sse4 shl al, cl and al, bl xor al, r9b - mov byte ptr [r14 + rdi], al + mov byte ptr [r12 + rdi], al mov rcx, r8 - cmp r11, r8 + cmp r14, r8 jne .LBB3_14 jmp .LBB3_123 .LBB3_30: @@ -16208,17 +16957,17 @@ comparison_not_equal_arr_arr_sse4: # @comparison_not_equal_arr_arr_sse4 cmp edi, 8 jne .LBB3_123 # %bb.32: - lea r15, [r11 + 31] - test r11, r11 - cmovns r15, r11 - lea eax, [r9 + 7] - test r9d, r9d - cmovns eax, r9d - and eax, -8 - sub r9d, eax + lea r15, [r14 + 31] + test r14, r14 + cmovns r15, r14 + lea ecx, [rax + 7] + test eax, eax + cmovns ecx, eax + and ecx, -8 + sub eax, ecx je .LBB3_36 # %bb.33: - movsxd rax, r9d + cdqe .p2align 4, 0x90 .LBB3_34: # =>This Inner Loop Header: Depth=1 mov rcx, qword ptr [rsi] @@ -16231,7 +16980,7 @@ comparison_not_equal_arr_arr_sse4: # @comparison_not_equal_arr_arr_sse4 test rax, rax cmovns rdi, rax sar rdi, 3 - movzx r8d, byte ptr [r14 + rdi] + movzx r8d, byte ptr [r12 + rdi] xor r10b, r8b lea r9d, [8*rdi] mov ecx, eax @@ -16241,50 +16990,50 @@ comparison_not_equal_arr_arr_sse4: # @comparison_not_equal_arr_arr_sse4 shl ebx, cl and bl, r10b xor bl, r8b - mov byte ptr [r14 + rdi], bl + mov byte ptr [r12 + rdi], bl add rax, 1 cmp rax, 8 jne .LBB3_34 # %bb.35: - add r14, 1 + add r12, 1 .LBB3_36: sar r15, 5 - cmp r11, 32 + cmp r14, 32 jl .LBB3_40 # %bb.37: - mov qword ptr [rsp + 24], r11 # 8-byte Spill - mov qword ptr [rsp + 64], r15 # 8-byte Spill + mov qword ptr [rsp + 24], r14 # 8-byte Spill mov qword ptr [rsp + 56], r15 # 8-byte Spill + mov qword ptr [rsp + 32], r15 # 8-byte Spill .p2align 4, 0x90 .LBB3_38: # =>This Inner Loop Header: Depth=1 - mov qword ptr [rsp + 48], r14 # 8-byte Spill + mov qword ptr [rsp + 48], r12 # 8-byte Spill mov rax, qword ptr [rsi] mov rcx, qword ptr [rsi + 8] cmp rax, qword ptr [rdx] - setne byte ptr [rsp + 40] # 1-byte Folded Spill + setne byte ptr [rsp + 4] # 1-byte Folded Spill cmp rcx, qword ptr [rdx + 8] - setne byte ptr [rsp + 32] # 1-byte Folded Spill + setne byte ptr [rsp + 40] # 1-byte Folded Spill mov rax, qword ptr [rsi + 16] cmp rax, qword ptr [rdx + 16] - setne byte ptr [rsp + 20] # 1-byte Folded Spill + setne byte ptr [rsp + 21] # 1-byte Folded Spill mov rax, qword ptr [rsi + 24] cmp rax, qword ptr [rdx + 24] - setne byte ptr [rsp + 21] # 1-byte Folded Spill + setne byte ptr [rsp + 22] # 1-byte Folded Spill mov rax, qword ptr [rsi + 32] cmp rax, qword ptr [rdx + 32] - setne byte ptr [rsp + 22] # 1-byte Folded Spill + setne byte ptr [rsp + 23] # 1-byte Folded Spill mov rax, qword ptr [rsi + 40] cmp rax, qword ptr [rdx + 40] - setne byte ptr [rsp + 23] # 1-byte Folded Spill + setne byte ptr [rsp + 3] # 1-byte Folded Spill mov rax, qword ptr [rsi + 48] cmp rax, qword ptr [rdx + 48] - setne byte ptr [rsp + 4] # 1-byte Folded Spill + setne byte ptr [rsp + 5] # 1-byte Folded Spill mov rax, qword ptr [rsi + 56] cmp rax, qword ptr [rdx + 56] setne r13b mov rax, qword ptr [rsi + 64] cmp rax, qword ptr [rdx + 64] - setne byte ptr [rsp + 9] # 1-byte Folded Spill + setne byte ptr [rsp + 10] # 1-byte Folded Spill mov rax, qword ptr [rsi + 72] cmp rax, qword ptr [rdx + 72] setne r8b @@ -16296,166 +17045,166 @@ comparison_not_equal_arr_arr_sse4: # @comparison_not_equal_arr_arr_sse4 setne r15b mov rax, qword ptr [rsi + 96] cmp rax, qword ptr [rdx + 96] - setne byte ptr [rsp + 5] # 1-byte Folded Spill + setne byte ptr [rsp + 6] # 1-byte Folded Spill mov rax, qword ptr [rsi + 104] cmp rax, qword ptr [rdx + 104] - setne byte ptr [rsp + 6] # 1-byte Folded Spill + setne byte ptr [rsp + 7] # 1-byte Folded Spill mov rax, qword ptr [rsi + 112] cmp rax, qword ptr [rdx + 112] - setne byte ptr [rsp + 7] # 1-byte Folded Spill + setne byte ptr [rsp + 8] # 1-byte Folded Spill mov rax, qword ptr [rsi + 120] cmp rax, qword ptr [rdx + 120] - setne bl + setne dil mov rax, qword ptr [rsi + 128] - mov rcx, qword ptr [rsi + 136] + mov rbx, qword ptr [rsi + 136] cmp rax, qword ptr [rdx + 128] mov rax, qword ptr [rsi + 144] - setne byte ptr [rsp + 10] # 1-byte Folded Spill - cmp rcx, qword ptr [rdx + 136] - mov rcx, qword ptr [rsi + 152] + setne byte ptr [rsp + 11] # 1-byte Folded Spill + cmp rbx, qword ptr [rdx + 136] + mov rbx, qword ptr [rsi + 152] setne r10b cmp rax, qword ptr [rdx + 144] mov rax, qword ptr [rsi + 160] setne r14b - cmp rcx, qword ptr [rdx + 152] - mov rcx, qword ptr [rsi + 168] + cmp rbx, qword ptr [rdx + 152] + mov rbx, qword ptr [rsi + 168] setne r12b cmp rax, qword ptr [rdx + 160] - setne byte ptr [rsp + 8] # 1-byte Folded Spill - cmp rcx, qword ptr [rdx + 168] + setne byte ptr [rsp + 9] # 1-byte Folded Spill + cmp rbx, qword ptr [rdx + 168] mov rax, qword ptr [rsi + 176] - setne byte ptr [rsp + 11] # 1-byte Folded Spill + setne byte ptr [rsp + 12] # 1-byte Folded Spill cmp rax, qword ptr [rdx + 176] mov rax, qword ptr [rsi + 184] - setne byte ptr [rsp + 12] # 1-byte Folded Spill + setne byte ptr [rsp + 13] # 1-byte Folded Spill cmp rax, qword ptr [rdx + 184] mov rax, qword ptr [rsi + 192] setne r9b cmp rax, qword ptr [rdx + 192] mov rax, qword ptr [rsi + 200] - setne byte ptr [rsp + 19] # 1-byte Folded Spill + setne byte ptr [rsp + 20] # 1-byte Folded Spill cmp rax, qword ptr [rdx + 200] mov rax, qword ptr [rsi + 208] - setne byte ptr [rsp + 13] # 1-byte Folded Spill + setne byte ptr [rsp + 14] # 1-byte Folded Spill cmp rax, qword ptr [rdx + 208] mov rax, qword ptr [rsi + 216] - setne byte ptr [rsp + 14] # 1-byte Folded Spill + setne byte ptr [rsp + 15] # 1-byte Folded Spill cmp rax, qword ptr [rdx + 216] mov rax, qword ptr [rsi + 224] - setne byte ptr [rsp + 15] # 1-byte Folded Spill + setne byte ptr [rsp + 16] # 1-byte Folded Spill cmp rax, qword ptr [rdx + 224] mov rax, qword ptr [rsi + 232] - setne byte ptr [rsp + 16] # 1-byte Folded Spill + setne byte ptr [rsp + 17] # 1-byte Folded Spill cmp rax, qword ptr [rdx + 232] mov rax, qword ptr [rsi + 240] - setne byte ptr [rsp + 18] # 1-byte Folded Spill + setne byte ptr [rsp + 19] # 1-byte Folded Spill cmp rax, qword ptr [rdx + 240] mov rax, qword ptr [rsi + 248] - setne byte ptr [rsp + 17] # 1-byte Folded Spill + setne byte ptr [rsp + 18] # 1-byte Folded Spill add rsi, 256 cmp rax, qword ptr [rdx + 248] - setne dil - movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload + setne cl + movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 40] # 1-byte Folded Reload - mov ecx, eax - movzx eax, byte ptr [rsp + 4] # 1-byte Folded Reload + add al, byte ptr [rsp + 4] # 1-byte Folded Reload + mov ebx, eax + movzx eax, byte ptr [rsp + 5] # 1-byte Folded Reload shl al, 6 shl r13b, 7 or r13b, al - movzx eax, byte ptr [rsp + 20] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 21] # 1-byte Folded Reload shl al, 2 - or al, cl + or al, bl add r8b, r8b - add r8b, byte ptr [rsp + 9] # 1-byte Folded Reload - movzx ecx, byte ptr [rsp + 21] # 1-byte Folded Reload - shl cl, 3 - or cl, al - mov eax, ecx + add r8b, byte ptr [rsp + 10] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 22] # 1-byte Folded Reload + shl bl, 3 + or bl, al + mov eax, ebx shl r11b, 2 or r11b, r8b - movzx ecx, byte ptr [rsp + 22] # 1-byte Folded Reload - shl cl, 4 - or cl, al - mov r8d, ecx + movzx ebx, byte ptr [rsp + 23] # 1-byte Folded Reload + shl bl, 4 + or bl, al + mov r8d, ebx shl r15b, 3 or r15b, r11b - movzx ecx, byte ptr [rsp + 23] # 1-byte Folded Reload - shl cl, 5 - or cl, r8b - movzx eax, byte ptr [rsp + 5] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 3] # 1-byte Folded Reload + shl bl, 5 + or bl, r8b + movzx eax, byte ptr [rsp + 6] # 1-byte Folded Reload shl al, 4 or al, r15b mov r8d, eax - movzx eax, byte ptr [rsp + 6] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 7] # 1-byte Folded Reload shl al, 5 or al, r8b - movzx r8d, byte ptr [rsp + 7] # 1-byte Folded Reload + movzx r8d, byte ptr [rsp + 8] # 1-byte Folded Reload shl r8b, 6 - shl bl, 7 - or bl, r8b - or r13b, cl - or bl, al + shl dil, 7 + or dil, r8b + or r13b, bl + or dil, al add r10b, r10b - add r10b, byte ptr [rsp + 10] # 1-byte Folded Reload + add r10b, byte ptr [rsp + 11] # 1-byte Folded Reload shl r14b, 2 or r14b, r10b shl r12b, 3 or r12b, r14b - movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 9] # 1-byte Folded Reload shl al, 4 or al, r12b - mov ecx, eax - mov r14, qword ptr [rsp + 48] # 8-byte Reload - movzx eax, byte ptr [rsp + 11] # 1-byte Folded Reload + mov ebx, eax + mov r12, qword ptr [rsp + 48] # 8-byte Reload + movzx eax, byte ptr [rsp + 12] # 1-byte Folded Reload shl al, 5 - or al, cl - mov byte ptr [r14], r13b - movzx ecx, byte ptr [rsp + 12] # 1-byte Folded Reload - shl cl, 6 + or al, bl + mov byte ptr [r12], r13b + movzx ebx, byte ptr [rsp + 13] # 1-byte Folded Reload + shl bl, 6 shl r9b, 7 - or r9b, cl - mov byte ptr [r14 + 1], bl + or r9b, bl + mov byte ptr [r12 + 1], dil or r9b, al - movzx eax, byte ptr [rsp + 13] # 1-byte Folded Reload - add al, al - add al, byte ptr [rsp + 19] # 1-byte Folded Reload - mov ecx, eax movzx eax, byte ptr [rsp + 14] # 1-byte Folded Reload - shl al, 2 - or al, cl - mov ecx, eax + add al, al + add al, byte ptr [rsp + 20] # 1-byte Folded Reload + mov ebx, eax movzx eax, byte ptr [rsp + 15] # 1-byte Folded Reload - shl al, 3 - or al, cl - mov ecx, eax + shl al, 2 + or al, bl + mov ebx, eax movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload + shl al, 3 + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 17] # 1-byte Folded Reload shl al, 4 - or al, cl - mov ecx, eax - movzx eax, byte ptr [rsp + 18] # 1-byte Folded Reload + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 19] # 1-byte Folded Reload shl al, 5 - or al, cl - movzx ecx, byte ptr [rsp + 17] # 1-byte Folded Reload - shl cl, 6 - shl dil, 7 - or dil, cl - or dil, al - mov byte ptr [r14 + 2], r9b - mov byte ptr [r14 + 3], dil + or al, bl + movzx ebx, byte ptr [rsp + 18] # 1-byte Folded Reload + shl bl, 6 + shl cl, 7 + or cl, bl + or cl, al + mov byte ptr [r12 + 2], r9b + mov byte ptr [r12 + 3], cl add rdx, 256 - add r14, 4 - add qword ptr [rsp + 56], -1 # 8-byte Folded Spill + add r12, 4 + add qword ptr [rsp + 32], -1 # 8-byte Folded Spill jne .LBB3_38 # %bb.39: - mov r11, qword ptr [rsp + 24] # 8-byte Reload - mov r15, qword ptr [rsp + 64] # 8-byte Reload + mov r14, qword ptr [rsp + 24] # 8-byte Reload + mov r15, qword ptr [rsp + 56] # 8-byte Reload .LBB3_40: shl r15, 5 - cmp r15, r11 + cmp r15, r14 jge .LBB3_123 # %bb.41: - sub r11, r15 + sub r14, r15 xor ecx, ecx .p2align 4, 0x90 .LBB3_42: # =>This Inner Loop Header: Depth=1 @@ -16466,7 +17215,7 @@ comparison_not_equal_arr_arr_sse4: # @comparison_not_equal_arr_arr_sse4 neg bl mov rdi, rcx shr rdi, 3 - movzx r9d, byte ptr [r14 + rdi] + movzx r9d, byte ptr [r12 + rdi] xor bl, r9b and cl, 7 mov al, 1 @@ -16474,23 +17223,23 @@ comparison_not_equal_arr_arr_sse4: # @comparison_not_equal_arr_arr_sse4 shl al, cl and al, bl xor al, r9b - mov byte ptr [r14 + rdi], al + mov byte ptr [r12 + rdi], al mov rcx, r8 - cmp r11, r8 + cmp r14, r8 jne .LBB3_42 jmp .LBB3_123 .LBB3_68: - lea r15, [r11 + 31] - test r11, r11 - cmovns r15, r11 - lea eax, [r9 + 7] - test r9d, r9d - cmovns eax, r9d - and eax, -8 - sub r9d, eax + lea r15, [r14 + 31] + test r14, r14 + cmovns r15, r14 + lea ecx, [rax + 7] + test eax, eax + cmovns ecx, eax + and ecx, -8 + sub eax, ecx je .LBB3_72 # %bb.69: - movsxd rax, r9d + cdqe .p2align 4, 0x90 .LBB3_70: # =>This Inner Loop Header: Depth=1 movzx ecx, word ptr [rsi] @@ -16503,7 +17252,7 @@ comparison_not_equal_arr_arr_sse4: # @comparison_not_equal_arr_arr_sse4 test rax, rax cmovns rdi, rax sar rdi, 3 - movzx r8d, byte ptr [r14 + rdi] + movzx r8d, byte ptr [r12 + rdi] xor r10b, r8b lea r9d, [8*rdi] mov ecx, eax @@ -16513,50 +17262,50 @@ comparison_not_equal_arr_arr_sse4: # @comparison_not_equal_arr_arr_sse4 shl ebx, cl and bl, r10b xor bl, r8b - mov byte ptr [r14 + rdi], bl + mov byte ptr [r12 + rdi], bl add rax, 1 cmp rax, 8 jne .LBB3_70 # %bb.71: - add r14, 1 + add r12, 1 .LBB3_72: sar r15, 5 - cmp r11, 32 + cmp r14, 32 jl .LBB3_76 # %bb.73: - mov qword ptr [rsp + 24], r11 # 8-byte Spill - mov qword ptr [rsp + 64], r15 # 8-byte Spill + mov qword ptr [rsp + 24], r14 # 8-byte Spill mov qword ptr [rsp + 56], r15 # 8-byte Spill + mov qword ptr [rsp + 32], r15 # 8-byte Spill .p2align 4, 0x90 .LBB3_74: # =>This Inner Loop Header: Depth=1 - mov qword ptr [rsp + 48], r14 # 8-byte Spill + mov qword ptr [rsp + 48], r12 # 8-byte Spill movzx eax, word ptr [rsi] movzx ecx, word ptr [rsi + 2] cmp ax, word ptr [rdx] - setne byte ptr [rsp + 40] # 1-byte Folded Spill + setne byte ptr [rsp + 4] # 1-byte Folded Spill cmp cx, word ptr [rdx + 2] - setne byte ptr [rsp + 32] # 1-byte Folded Spill + setne byte ptr [rsp + 40] # 1-byte Folded Spill movzx eax, word ptr [rsi + 4] cmp ax, word ptr [rdx + 4] - setne byte ptr [rsp + 20] # 1-byte Folded Spill + setne byte ptr [rsp + 21] # 1-byte Folded Spill movzx eax, word ptr [rsi + 6] cmp ax, word ptr [rdx + 6] - setne byte ptr [rsp + 21] # 1-byte Folded Spill + setne byte ptr [rsp + 22] # 1-byte Folded Spill movzx eax, word ptr [rsi + 8] cmp ax, word ptr [rdx + 8] - setne byte ptr [rsp + 22] # 1-byte Folded Spill + setne byte ptr [rsp + 23] # 1-byte Folded Spill movzx eax, word ptr [rsi + 10] cmp ax, word ptr [rdx + 10] - setne byte ptr [rsp + 23] # 1-byte Folded Spill + setne byte ptr [rsp + 3] # 1-byte Folded Spill movzx eax, word ptr [rsi + 12] cmp ax, word ptr [rdx + 12] - setne byte ptr [rsp + 4] # 1-byte Folded Spill + setne byte ptr [rsp + 5] # 1-byte Folded Spill movzx eax, word ptr [rsi + 14] cmp ax, word ptr [rdx + 14] setne r13b movzx eax, word ptr [rsi + 16] cmp ax, word ptr [rdx + 16] - setne byte ptr [rsp + 9] # 1-byte Folded Spill + setne byte ptr [rsp + 10] # 1-byte Folded Spill movzx eax, word ptr [rsi + 18] cmp ax, word ptr [rdx + 18] setne r8b @@ -16568,166 +17317,166 @@ comparison_not_equal_arr_arr_sse4: # @comparison_not_equal_arr_arr_sse4 setne r15b movzx eax, word ptr [rsi + 24] cmp ax, word ptr [rdx + 24] - setne byte ptr [rsp + 5] # 1-byte Folded Spill + setne byte ptr [rsp + 6] # 1-byte Folded Spill movzx eax, word ptr [rsi + 26] cmp ax, word ptr [rdx + 26] - setne byte ptr [rsp + 6] # 1-byte Folded Spill + setne byte ptr [rsp + 7] # 1-byte Folded Spill movzx eax, word ptr [rsi + 28] cmp ax, word ptr [rdx + 28] - setne byte ptr [rsp + 7] # 1-byte Folded Spill + setne byte ptr [rsp + 8] # 1-byte Folded Spill movzx eax, word ptr [rsi + 30] cmp ax, word ptr [rdx + 30] - setne bl + setne dil movzx eax, word ptr [rsi + 32] - movzx ecx, word ptr [rsi + 34] + movzx ebx, word ptr [rsi + 34] cmp ax, word ptr [rdx + 32] movzx eax, word ptr [rsi + 36] - setne byte ptr [rsp + 10] # 1-byte Folded Spill - cmp cx, word ptr [rdx + 34] - movzx ecx, word ptr [rsi + 38] + setne byte ptr [rsp + 11] # 1-byte Folded Spill + cmp bx, word ptr [rdx + 34] + movzx ebx, word ptr [rsi + 38] setne r10b cmp ax, word ptr [rdx + 36] movzx eax, word ptr [rsi + 40] setne r14b - cmp cx, word ptr [rdx + 38] - movzx ecx, word ptr [rsi + 42] + cmp bx, word ptr [rdx + 38] + movzx ebx, word ptr [rsi + 42] setne r12b cmp ax, word ptr [rdx + 40] - setne byte ptr [rsp + 8] # 1-byte Folded Spill - cmp cx, word ptr [rdx + 42] + setne byte ptr [rsp + 9] # 1-byte Folded Spill + cmp bx, word ptr [rdx + 42] movzx eax, word ptr [rsi + 44] - setne byte ptr [rsp + 11] # 1-byte Folded Spill + setne byte ptr [rsp + 12] # 1-byte Folded Spill cmp ax, word ptr [rdx + 44] movzx eax, word ptr [rsi + 46] - setne byte ptr [rsp + 12] # 1-byte Folded Spill + setne byte ptr [rsp + 13] # 1-byte Folded Spill cmp ax, word ptr [rdx + 46] movzx eax, word ptr [rsi + 48] setne r9b cmp ax, word ptr [rdx + 48] movzx eax, word ptr [rsi + 50] - setne byte ptr [rsp + 19] # 1-byte Folded Spill + setne byte ptr [rsp + 20] # 1-byte Folded Spill cmp ax, word ptr [rdx + 50] movzx eax, word ptr [rsi + 52] - setne byte ptr [rsp + 13] # 1-byte Folded Spill + setne byte ptr [rsp + 14] # 1-byte Folded Spill cmp ax, word ptr [rdx + 52] movzx eax, word ptr [rsi + 54] - setne byte ptr [rsp + 14] # 1-byte Folded Spill + setne byte ptr [rsp + 15] # 1-byte Folded Spill cmp ax, word ptr [rdx + 54] movzx eax, word ptr [rsi + 56] - setne byte ptr [rsp + 15] # 1-byte Folded Spill + setne byte ptr [rsp + 16] # 1-byte Folded Spill cmp ax, word ptr [rdx + 56] movzx eax, word ptr [rsi + 58] - setne byte ptr [rsp + 16] # 1-byte Folded Spill + setne byte ptr [rsp + 17] # 1-byte Folded Spill cmp ax, word ptr [rdx + 58] movzx eax, word ptr [rsi + 60] - setne byte ptr [rsp + 18] # 1-byte Folded Spill + setne byte ptr [rsp + 19] # 1-byte Folded Spill cmp ax, word ptr [rdx + 60] movzx eax, word ptr [rsi + 62] - setne byte ptr [rsp + 17] # 1-byte Folded Spill + setne byte ptr [rsp + 18] # 1-byte Folded Spill add rsi, 64 cmp ax, word ptr [rdx + 62] - setne dil - movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload + setne cl + movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 40] # 1-byte Folded Reload - mov ecx, eax - movzx eax, byte ptr [rsp + 4] # 1-byte Folded Reload + add al, byte ptr [rsp + 4] # 1-byte Folded Reload + mov ebx, eax + movzx eax, byte ptr [rsp + 5] # 1-byte Folded Reload shl al, 6 shl r13b, 7 or r13b, al - movzx eax, byte ptr [rsp + 20] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 21] # 1-byte Folded Reload shl al, 2 - or al, cl + or al, bl add r8b, r8b - add r8b, byte ptr [rsp + 9] # 1-byte Folded Reload - movzx ecx, byte ptr [rsp + 21] # 1-byte Folded Reload - shl cl, 3 - or cl, al - mov eax, ecx + add r8b, byte ptr [rsp + 10] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 22] # 1-byte Folded Reload + shl bl, 3 + or bl, al + mov eax, ebx shl r11b, 2 or r11b, r8b - movzx ecx, byte ptr [rsp + 22] # 1-byte Folded Reload - shl cl, 4 - or cl, al - mov r8d, ecx + movzx ebx, byte ptr [rsp + 23] # 1-byte Folded Reload + shl bl, 4 + or bl, al + mov r8d, ebx shl r15b, 3 or r15b, r11b - movzx ecx, byte ptr [rsp + 23] # 1-byte Folded Reload - shl cl, 5 - or cl, r8b - movzx eax, byte ptr [rsp + 5] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 3] # 1-byte Folded Reload + shl bl, 5 + or bl, r8b + movzx eax, byte ptr [rsp + 6] # 1-byte Folded Reload shl al, 4 or al, r15b mov r8d, eax - movzx eax, byte ptr [rsp + 6] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 7] # 1-byte Folded Reload shl al, 5 or al, r8b - movzx r8d, byte ptr [rsp + 7] # 1-byte Folded Reload + movzx r8d, byte ptr [rsp + 8] # 1-byte Folded Reload shl r8b, 6 - shl bl, 7 - or bl, r8b - or r13b, cl - or bl, al + shl dil, 7 + or dil, r8b + or r13b, bl + or dil, al add r10b, r10b - add r10b, byte ptr [rsp + 10] # 1-byte Folded Reload + add r10b, byte ptr [rsp + 11] # 1-byte Folded Reload shl r14b, 2 or r14b, r10b shl r12b, 3 or r12b, r14b - movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 9] # 1-byte Folded Reload shl al, 4 or al, r12b - mov ecx, eax - mov r14, qword ptr [rsp + 48] # 8-byte Reload - movzx eax, byte ptr [rsp + 11] # 1-byte Folded Reload + mov ebx, eax + mov r12, qword ptr [rsp + 48] # 8-byte Reload + movzx eax, byte ptr [rsp + 12] # 1-byte Folded Reload shl al, 5 - or al, cl - mov byte ptr [r14], r13b - movzx ecx, byte ptr [rsp + 12] # 1-byte Folded Reload - shl cl, 6 + or al, bl + mov byte ptr [r12], r13b + movzx ebx, byte ptr [rsp + 13] # 1-byte Folded Reload + shl bl, 6 shl r9b, 7 - or r9b, cl - mov byte ptr [r14 + 1], bl + or r9b, bl + mov byte ptr [r12 + 1], dil or r9b, al - movzx eax, byte ptr [rsp + 13] # 1-byte Folded Reload - add al, al - add al, byte ptr [rsp + 19] # 1-byte Folded Reload - mov ecx, eax movzx eax, byte ptr [rsp + 14] # 1-byte Folded Reload - shl al, 2 - or al, cl - mov ecx, eax + add al, al + add al, byte ptr [rsp + 20] # 1-byte Folded Reload + mov ebx, eax movzx eax, byte ptr [rsp + 15] # 1-byte Folded Reload - shl al, 3 - or al, cl - mov ecx, eax + shl al, 2 + or al, bl + mov ebx, eax movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload + shl al, 3 + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 17] # 1-byte Folded Reload shl al, 4 - or al, cl - mov ecx, eax - movzx eax, byte ptr [rsp + 18] # 1-byte Folded Reload + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 19] # 1-byte Folded Reload shl al, 5 - or al, cl - movzx ecx, byte ptr [rsp + 17] # 1-byte Folded Reload - shl cl, 6 - shl dil, 7 - or dil, cl - or dil, al - mov byte ptr [r14 + 2], r9b - mov byte ptr [r14 + 3], dil + or al, bl + movzx ebx, byte ptr [rsp + 18] # 1-byte Folded Reload + shl bl, 6 + shl cl, 7 + or cl, bl + or cl, al + mov byte ptr [r12 + 2], r9b + mov byte ptr [r12 + 3], cl add rdx, 64 - add r14, 4 - add qword ptr [rsp + 56], -1 # 8-byte Folded Spill + add r12, 4 + add qword ptr [rsp + 32], -1 # 8-byte Folded Spill jne .LBB3_74 # %bb.75: - mov r11, qword ptr [rsp + 24] # 8-byte Reload - mov r15, qword ptr [rsp + 64] # 8-byte Reload + mov r14, qword ptr [rsp + 24] # 8-byte Reload + mov r15, qword ptr [rsp + 56] # 8-byte Reload .LBB3_76: shl r15, 5 - cmp r15, r11 + cmp r15, r14 jge .LBB3_123 # %bb.77: - sub r11, r15 + sub r14, r15 xor ecx, ecx .p2align 4, 0x90 .LBB3_78: # =>This Inner Loop Header: Depth=1 @@ -16738,7 +17487,7 @@ comparison_not_equal_arr_arr_sse4: # @comparison_not_equal_arr_arr_sse4 neg bl mov rdi, rcx shr rdi, 3 - movzx r9d, byte ptr [r14 + rdi] + movzx r9d, byte ptr [r12 + rdi] xor bl, r9b and cl, 7 mov al, 1 @@ -16746,23 +17495,23 @@ comparison_not_equal_arr_arr_sse4: # @comparison_not_equal_arr_arr_sse4 shl al, cl and al, bl xor al, r9b - mov byte ptr [r14 + rdi], al + mov byte ptr [r12 + rdi], al mov rcx, r8 - cmp r11, r8 + cmp r14, r8 jne .LBB3_78 jmp .LBB3_123 .LBB3_79: - lea r15, [r11 + 31] - test r11, r11 - cmovns r15, r11 - lea eax, [r9 + 7] - test r9d, r9d - cmovns eax, r9d - and eax, -8 - sub r9d, eax + lea r15, [r14 + 31] + test r14, r14 + cmovns r15, r14 + lea ecx, [rax + 7] + test eax, eax + cmovns ecx, eax + and ecx, -8 + sub eax, ecx je .LBB3_83 # %bb.80: - movsxd rax, r9d + cdqe .p2align 4, 0x90 .LBB3_81: # =>This Inner Loop Header: Depth=1 movzx ecx, word ptr [rsi] @@ -16775,7 +17524,7 @@ comparison_not_equal_arr_arr_sse4: # @comparison_not_equal_arr_arr_sse4 test rax, rax cmovns rdi, rax sar rdi, 3 - movzx r8d, byte ptr [r14 + rdi] + movzx r8d, byte ptr [r12 + rdi] xor r10b, r8b lea r9d, [8*rdi] mov ecx, eax @@ -16785,50 +17534,50 @@ comparison_not_equal_arr_arr_sse4: # @comparison_not_equal_arr_arr_sse4 shl ebx, cl and bl, r10b xor bl, r8b - mov byte ptr [r14 + rdi], bl + mov byte ptr [r12 + rdi], bl add rax, 1 cmp rax, 8 jne .LBB3_81 # %bb.82: - add r14, 1 + add r12, 1 .LBB3_83: sar r15, 5 - cmp r11, 32 + cmp r14, 32 jl .LBB3_87 # %bb.84: - mov qword ptr [rsp + 24], r11 # 8-byte Spill - mov qword ptr [rsp + 64], r15 # 8-byte Spill + mov qword ptr [rsp + 24], r14 # 8-byte Spill mov qword ptr [rsp + 56], r15 # 8-byte Spill + mov qword ptr [rsp + 32], r15 # 8-byte Spill .p2align 4, 0x90 .LBB3_85: # =>This Inner Loop Header: Depth=1 - mov qword ptr [rsp + 48], r14 # 8-byte Spill + mov qword ptr [rsp + 48], r12 # 8-byte Spill movzx eax, word ptr [rsi] movzx ecx, word ptr [rsi + 2] cmp ax, word ptr [rdx] - setne byte ptr [rsp + 40] # 1-byte Folded Spill + setne byte ptr [rsp + 4] # 1-byte Folded Spill cmp cx, word ptr [rdx + 2] - setne byte ptr [rsp + 32] # 1-byte Folded Spill + setne byte ptr [rsp + 40] # 1-byte Folded Spill movzx eax, word ptr [rsi + 4] cmp ax, word ptr [rdx + 4] - setne byte ptr [rsp + 20] # 1-byte Folded Spill + setne byte ptr [rsp + 21] # 1-byte Folded Spill movzx eax, word ptr [rsi + 6] cmp ax, word ptr [rdx + 6] - setne byte ptr [rsp + 21] # 1-byte Folded Spill + setne byte ptr [rsp + 22] # 1-byte Folded Spill movzx eax, word ptr [rsi + 8] cmp ax, word ptr [rdx + 8] - setne byte ptr [rsp + 22] # 1-byte Folded Spill + setne byte ptr [rsp + 23] # 1-byte Folded Spill movzx eax, word ptr [rsi + 10] cmp ax, word ptr [rdx + 10] - setne byte ptr [rsp + 23] # 1-byte Folded Spill + setne byte ptr [rsp + 3] # 1-byte Folded Spill movzx eax, word ptr [rsi + 12] cmp ax, word ptr [rdx + 12] - setne byte ptr [rsp + 4] # 1-byte Folded Spill + setne byte ptr [rsp + 5] # 1-byte Folded Spill movzx eax, word ptr [rsi + 14] cmp ax, word ptr [rdx + 14] setne r13b movzx eax, word ptr [rsi + 16] cmp ax, word ptr [rdx + 16] - setne byte ptr [rsp + 9] # 1-byte Folded Spill + setne byte ptr [rsp + 10] # 1-byte Folded Spill movzx eax, word ptr [rsi + 18] cmp ax, word ptr [rdx + 18] setne r8b @@ -16840,166 +17589,166 @@ comparison_not_equal_arr_arr_sse4: # @comparison_not_equal_arr_arr_sse4 setne r15b movzx eax, word ptr [rsi + 24] cmp ax, word ptr [rdx + 24] - setne byte ptr [rsp + 5] # 1-byte Folded Spill + setne byte ptr [rsp + 6] # 1-byte Folded Spill movzx eax, word ptr [rsi + 26] cmp ax, word ptr [rdx + 26] - setne byte ptr [rsp + 6] # 1-byte Folded Spill + setne byte ptr [rsp + 7] # 1-byte Folded Spill movzx eax, word ptr [rsi + 28] cmp ax, word ptr [rdx + 28] - setne byte ptr [rsp + 7] # 1-byte Folded Spill + setne byte ptr [rsp + 8] # 1-byte Folded Spill movzx eax, word ptr [rsi + 30] cmp ax, word ptr [rdx + 30] - setne bl + setne dil movzx eax, word ptr [rsi + 32] - movzx ecx, word ptr [rsi + 34] + movzx ebx, word ptr [rsi + 34] cmp ax, word ptr [rdx + 32] movzx eax, word ptr [rsi + 36] - setne byte ptr [rsp + 10] # 1-byte Folded Spill - cmp cx, word ptr [rdx + 34] - movzx ecx, word ptr [rsi + 38] + setne byte ptr [rsp + 11] # 1-byte Folded Spill + cmp bx, word ptr [rdx + 34] + movzx ebx, word ptr [rsi + 38] setne r10b cmp ax, word ptr [rdx + 36] movzx eax, word ptr [rsi + 40] setne r14b - cmp cx, word ptr [rdx + 38] - movzx ecx, word ptr [rsi + 42] + cmp bx, word ptr [rdx + 38] + movzx ebx, word ptr [rsi + 42] setne r12b cmp ax, word ptr [rdx + 40] - setne byte ptr [rsp + 8] # 1-byte Folded Spill - cmp cx, word ptr [rdx + 42] + setne byte ptr [rsp + 9] # 1-byte Folded Spill + cmp bx, word ptr [rdx + 42] movzx eax, word ptr [rsi + 44] - setne byte ptr [rsp + 11] # 1-byte Folded Spill + setne byte ptr [rsp + 12] # 1-byte Folded Spill cmp ax, word ptr [rdx + 44] movzx eax, word ptr [rsi + 46] - setne byte ptr [rsp + 12] # 1-byte Folded Spill + setne byte ptr [rsp + 13] # 1-byte Folded Spill cmp ax, word ptr [rdx + 46] movzx eax, word ptr [rsi + 48] setne r9b cmp ax, word ptr [rdx + 48] movzx eax, word ptr [rsi + 50] - setne byte ptr [rsp + 19] # 1-byte Folded Spill + setne byte ptr [rsp + 20] # 1-byte Folded Spill cmp ax, word ptr [rdx + 50] movzx eax, word ptr [rsi + 52] - setne byte ptr [rsp + 13] # 1-byte Folded Spill + setne byte ptr [rsp + 14] # 1-byte Folded Spill cmp ax, word ptr [rdx + 52] movzx eax, word ptr [rsi + 54] - setne byte ptr [rsp + 14] # 1-byte Folded Spill + setne byte ptr [rsp + 15] # 1-byte Folded Spill cmp ax, word ptr [rdx + 54] movzx eax, word ptr [rsi + 56] - setne byte ptr [rsp + 15] # 1-byte Folded Spill + setne byte ptr [rsp + 16] # 1-byte Folded Spill cmp ax, word ptr [rdx + 56] movzx eax, word ptr [rsi + 58] - setne byte ptr [rsp + 16] # 1-byte Folded Spill + setne byte ptr [rsp + 17] # 1-byte Folded Spill cmp ax, word ptr [rdx + 58] movzx eax, word ptr [rsi + 60] - setne byte ptr [rsp + 18] # 1-byte Folded Spill + setne byte ptr [rsp + 19] # 1-byte Folded Spill cmp ax, word ptr [rdx + 60] movzx eax, word ptr [rsi + 62] - setne byte ptr [rsp + 17] # 1-byte Folded Spill + setne byte ptr [rsp + 18] # 1-byte Folded Spill add rsi, 64 cmp ax, word ptr [rdx + 62] - setne dil - movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload + setne cl + movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 40] # 1-byte Folded Reload - mov ecx, eax - movzx eax, byte ptr [rsp + 4] # 1-byte Folded Reload + add al, byte ptr [rsp + 4] # 1-byte Folded Reload + mov ebx, eax + movzx eax, byte ptr [rsp + 5] # 1-byte Folded Reload shl al, 6 shl r13b, 7 or r13b, al - movzx eax, byte ptr [rsp + 20] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 21] # 1-byte Folded Reload shl al, 2 - or al, cl + or al, bl add r8b, r8b - add r8b, byte ptr [rsp + 9] # 1-byte Folded Reload - movzx ecx, byte ptr [rsp + 21] # 1-byte Folded Reload - shl cl, 3 - or cl, al - mov eax, ecx + add r8b, byte ptr [rsp + 10] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 22] # 1-byte Folded Reload + shl bl, 3 + or bl, al + mov eax, ebx shl r11b, 2 or r11b, r8b - movzx ecx, byte ptr [rsp + 22] # 1-byte Folded Reload - shl cl, 4 - or cl, al - mov r8d, ecx + movzx ebx, byte ptr [rsp + 23] # 1-byte Folded Reload + shl bl, 4 + or bl, al + mov r8d, ebx shl r15b, 3 or r15b, r11b - movzx ecx, byte ptr [rsp + 23] # 1-byte Folded Reload - shl cl, 5 - or cl, r8b - movzx eax, byte ptr [rsp + 5] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 3] # 1-byte Folded Reload + shl bl, 5 + or bl, r8b + movzx eax, byte ptr [rsp + 6] # 1-byte Folded Reload shl al, 4 or al, r15b mov r8d, eax - movzx eax, byte ptr [rsp + 6] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 7] # 1-byte Folded Reload shl al, 5 or al, r8b - movzx r8d, byte ptr [rsp + 7] # 1-byte Folded Reload + movzx r8d, byte ptr [rsp + 8] # 1-byte Folded Reload shl r8b, 6 - shl bl, 7 - or bl, r8b - or r13b, cl - or bl, al + shl dil, 7 + or dil, r8b + or r13b, bl + or dil, al add r10b, r10b - add r10b, byte ptr [rsp + 10] # 1-byte Folded Reload + add r10b, byte ptr [rsp + 11] # 1-byte Folded Reload shl r14b, 2 or r14b, r10b shl r12b, 3 or r12b, r14b - movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 9] # 1-byte Folded Reload shl al, 4 or al, r12b - mov ecx, eax - mov r14, qword ptr [rsp + 48] # 8-byte Reload - movzx eax, byte ptr [rsp + 11] # 1-byte Folded Reload + mov ebx, eax + mov r12, qword ptr [rsp + 48] # 8-byte Reload + movzx eax, byte ptr [rsp + 12] # 1-byte Folded Reload shl al, 5 - or al, cl - mov byte ptr [r14], r13b - movzx ecx, byte ptr [rsp + 12] # 1-byte Folded Reload - shl cl, 6 + or al, bl + mov byte ptr [r12], r13b + movzx ebx, byte ptr [rsp + 13] # 1-byte Folded Reload + shl bl, 6 shl r9b, 7 - or r9b, cl - mov byte ptr [r14 + 1], bl + or r9b, bl + mov byte ptr [r12 + 1], dil or r9b, al - movzx eax, byte ptr [rsp + 13] # 1-byte Folded Reload - add al, al - add al, byte ptr [rsp + 19] # 1-byte Folded Reload - mov ecx, eax movzx eax, byte ptr [rsp + 14] # 1-byte Folded Reload - shl al, 2 - or al, cl - mov ecx, eax + add al, al + add al, byte ptr [rsp + 20] # 1-byte Folded Reload + mov ebx, eax movzx eax, byte ptr [rsp + 15] # 1-byte Folded Reload - shl al, 3 - or al, cl - mov ecx, eax + shl al, 2 + or al, bl + mov ebx, eax movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload + shl al, 3 + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 17] # 1-byte Folded Reload shl al, 4 - or al, cl - mov ecx, eax - movzx eax, byte ptr [rsp + 18] # 1-byte Folded Reload + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 19] # 1-byte Folded Reload shl al, 5 - or al, cl - movzx ecx, byte ptr [rsp + 17] # 1-byte Folded Reload - shl cl, 6 - shl dil, 7 - or dil, cl - or dil, al - mov byte ptr [r14 + 2], r9b - mov byte ptr [r14 + 3], dil + or al, bl + movzx ebx, byte ptr [rsp + 18] # 1-byte Folded Reload + shl bl, 6 + shl cl, 7 + or cl, bl + or cl, al + mov byte ptr [r12 + 2], r9b + mov byte ptr [r12 + 3], cl add rdx, 64 - add r14, 4 - add qword ptr [rsp + 56], -1 # 8-byte Folded Spill + add r12, 4 + add qword ptr [rsp + 32], -1 # 8-byte Folded Spill jne .LBB3_85 # %bb.86: - mov r11, qword ptr [rsp + 24] # 8-byte Reload - mov r15, qword ptr [rsp + 64] # 8-byte Reload + mov r14, qword ptr [rsp + 24] # 8-byte Reload + mov r15, qword ptr [rsp + 56] # 8-byte Reload .LBB3_87: shl r15, 5 - cmp r15, r11 + cmp r15, r14 jge .LBB3_123 # %bb.88: - sub r11, r15 + sub r14, r15 xor ecx, ecx .p2align 4, 0x90 .LBB3_89: # =>This Inner Loop Header: Depth=1 @@ -17010,7 +17759,7 @@ comparison_not_equal_arr_arr_sse4: # @comparison_not_equal_arr_arr_sse4 neg bl mov rdi, rcx shr rdi, 3 - movzx r9d, byte ptr [r14 + rdi] + movzx r9d, byte ptr [r12 + rdi] xor bl, r9b and cl, 7 mov al, 1 @@ -17018,23 +17767,23 @@ comparison_not_equal_arr_arr_sse4: # @comparison_not_equal_arr_arr_sse4 shl al, cl and al, bl xor al, r9b - mov byte ptr [r14 + rdi], al + mov byte ptr [r12 + rdi], al mov rcx, r8 - cmp r11, r8 + cmp r14, r8 jne .LBB3_89 jmp .LBB3_123 .LBB3_101: - lea r15, [r11 + 31] - test r11, r11 - cmovns r15, r11 - lea eax, [r9 + 7] - test r9d, r9d - cmovns eax, r9d - and eax, -8 - sub r9d, eax + lea r15, [r14 + 31] + test r14, r14 + cmovns r15, r14 + lea ecx, [rax + 7] + test eax, eax + cmovns ecx, eax + and ecx, -8 + sub eax, ecx je .LBB3_105 # %bb.102: - movsxd rax, r9d + cdqe .p2align 4, 0x90 .LBB3_103: # =>This Inner Loop Header: Depth=1 mov rcx, qword ptr [rsi] @@ -17047,7 +17796,7 @@ comparison_not_equal_arr_arr_sse4: # @comparison_not_equal_arr_arr_sse4 test rax, rax cmovns rdi, rax sar rdi, 3 - movzx r8d, byte ptr [r14 + rdi] + movzx r8d, byte ptr [r12 + rdi] xor r10b, r8b lea r9d, [8*rdi] mov ecx, eax @@ -17057,50 +17806,50 @@ comparison_not_equal_arr_arr_sse4: # @comparison_not_equal_arr_arr_sse4 shl ebx, cl and bl, r10b xor bl, r8b - mov byte ptr [r14 + rdi], bl + mov byte ptr [r12 + rdi], bl add rax, 1 cmp rax, 8 jne .LBB3_103 # %bb.104: - add r14, 1 + add r12, 1 .LBB3_105: sar r15, 5 - cmp r11, 32 + cmp r14, 32 jl .LBB3_109 # %bb.106: - mov qword ptr [rsp + 24], r11 # 8-byte Spill - mov qword ptr [rsp + 64], r15 # 8-byte Spill + mov qword ptr [rsp + 24], r14 # 8-byte Spill mov qword ptr [rsp + 56], r15 # 8-byte Spill + mov qword ptr [rsp + 32], r15 # 8-byte Spill .p2align 4, 0x90 .LBB3_107: # =>This Inner Loop Header: Depth=1 - mov qword ptr [rsp + 48], r14 # 8-byte Spill + mov qword ptr [rsp + 48], r12 # 8-byte Spill mov rax, qword ptr [rsi] mov rcx, qword ptr [rsi + 8] cmp rax, qword ptr [rdx] - setne byte ptr [rsp + 40] # 1-byte Folded Spill + setne byte ptr [rsp + 4] # 1-byte Folded Spill cmp rcx, qword ptr [rdx + 8] - setne byte ptr [rsp + 32] # 1-byte Folded Spill + setne byte ptr [rsp + 40] # 1-byte Folded Spill mov rax, qword ptr [rsi + 16] cmp rax, qword ptr [rdx + 16] - setne byte ptr [rsp + 20] # 1-byte Folded Spill + setne byte ptr [rsp + 21] # 1-byte Folded Spill mov rax, qword ptr [rsi + 24] cmp rax, qword ptr [rdx + 24] - setne byte ptr [rsp + 21] # 1-byte Folded Spill + setne byte ptr [rsp + 22] # 1-byte Folded Spill mov rax, qword ptr [rsi + 32] cmp rax, qword ptr [rdx + 32] - setne byte ptr [rsp + 22] # 1-byte Folded Spill + setne byte ptr [rsp + 23] # 1-byte Folded Spill mov rax, qword ptr [rsi + 40] cmp rax, qword ptr [rdx + 40] - setne byte ptr [rsp + 23] # 1-byte Folded Spill + setne byte ptr [rsp + 3] # 1-byte Folded Spill mov rax, qword ptr [rsi + 48] cmp rax, qword ptr [rdx + 48] - setne byte ptr [rsp + 4] # 1-byte Folded Spill + setne byte ptr [rsp + 5] # 1-byte Folded Spill mov rax, qword ptr [rsi + 56] cmp rax, qword ptr [rdx + 56] setne r13b mov rax, qword ptr [rsi + 64] cmp rax, qword ptr [rdx + 64] - setne byte ptr [rsp + 9] # 1-byte Folded Spill + setne byte ptr [rsp + 10] # 1-byte Folded Spill mov rax, qword ptr [rsi + 72] cmp rax, qword ptr [rdx + 72] setne r8b @@ -17112,166 +17861,166 @@ comparison_not_equal_arr_arr_sse4: # @comparison_not_equal_arr_arr_sse4 setne r15b mov rax, qword ptr [rsi + 96] cmp rax, qword ptr [rdx + 96] - setne byte ptr [rsp + 5] # 1-byte Folded Spill + setne byte ptr [rsp + 6] # 1-byte Folded Spill mov rax, qword ptr [rsi + 104] cmp rax, qword ptr [rdx + 104] - setne byte ptr [rsp + 6] # 1-byte Folded Spill + setne byte ptr [rsp + 7] # 1-byte Folded Spill mov rax, qword ptr [rsi + 112] cmp rax, qword ptr [rdx + 112] - setne byte ptr [rsp + 7] # 1-byte Folded Spill + setne byte ptr [rsp + 8] # 1-byte Folded Spill mov rax, qword ptr [rsi + 120] cmp rax, qword ptr [rdx + 120] - setne bl + setne dil mov rax, qword ptr [rsi + 128] - mov rcx, qword ptr [rsi + 136] + mov rbx, qword ptr [rsi + 136] cmp rax, qword ptr [rdx + 128] mov rax, qword ptr [rsi + 144] - setne byte ptr [rsp + 10] # 1-byte Folded Spill - cmp rcx, qword ptr [rdx + 136] - mov rcx, qword ptr [rsi + 152] + setne byte ptr [rsp + 11] # 1-byte Folded Spill + cmp rbx, qword ptr [rdx + 136] + mov rbx, qword ptr [rsi + 152] setne r10b cmp rax, qword ptr [rdx + 144] mov rax, qword ptr [rsi + 160] setne r14b - cmp rcx, qword ptr [rdx + 152] - mov rcx, qword ptr [rsi + 168] + cmp rbx, qword ptr [rdx + 152] + mov rbx, qword ptr [rsi + 168] setne r12b cmp rax, qword ptr [rdx + 160] - setne byte ptr [rsp + 8] # 1-byte Folded Spill - cmp rcx, qword ptr [rdx + 168] + setne byte ptr [rsp + 9] # 1-byte Folded Spill + cmp rbx, qword ptr [rdx + 168] mov rax, qword ptr [rsi + 176] - setne byte ptr [rsp + 11] # 1-byte Folded Spill + setne byte ptr [rsp + 12] # 1-byte Folded Spill cmp rax, qword ptr [rdx + 176] mov rax, qword ptr [rsi + 184] - setne byte ptr [rsp + 12] # 1-byte Folded Spill + setne byte ptr [rsp + 13] # 1-byte Folded Spill cmp rax, qword ptr [rdx + 184] mov rax, qword ptr [rsi + 192] setne r9b cmp rax, qword ptr [rdx + 192] mov rax, qword ptr [rsi + 200] - setne byte ptr [rsp + 19] # 1-byte Folded Spill + setne byte ptr [rsp + 20] # 1-byte Folded Spill cmp rax, qword ptr [rdx + 200] mov rax, qword ptr [rsi + 208] - setne byte ptr [rsp + 13] # 1-byte Folded Spill + setne byte ptr [rsp + 14] # 1-byte Folded Spill cmp rax, qword ptr [rdx + 208] mov rax, qword ptr [rsi + 216] - setne byte ptr [rsp + 14] # 1-byte Folded Spill + setne byte ptr [rsp + 15] # 1-byte Folded Spill cmp rax, qword ptr [rdx + 216] mov rax, qword ptr [rsi + 224] - setne byte ptr [rsp + 15] # 1-byte Folded Spill + setne byte ptr [rsp + 16] # 1-byte Folded Spill cmp rax, qword ptr [rdx + 224] mov rax, qword ptr [rsi + 232] - setne byte ptr [rsp + 16] # 1-byte Folded Spill + setne byte ptr [rsp + 17] # 1-byte Folded Spill cmp rax, qword ptr [rdx + 232] mov rax, qword ptr [rsi + 240] - setne byte ptr [rsp + 18] # 1-byte Folded Spill + setne byte ptr [rsp + 19] # 1-byte Folded Spill cmp rax, qword ptr [rdx + 240] mov rax, qword ptr [rsi + 248] - setne byte ptr [rsp + 17] # 1-byte Folded Spill + setne byte ptr [rsp + 18] # 1-byte Folded Spill add rsi, 256 cmp rax, qword ptr [rdx + 248] - setne dil - movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload + setne cl + movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 40] # 1-byte Folded Reload - mov ecx, eax - movzx eax, byte ptr [rsp + 4] # 1-byte Folded Reload + add al, byte ptr [rsp + 4] # 1-byte Folded Reload + mov ebx, eax + movzx eax, byte ptr [rsp + 5] # 1-byte Folded Reload shl al, 6 shl r13b, 7 or r13b, al - movzx eax, byte ptr [rsp + 20] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 21] # 1-byte Folded Reload shl al, 2 - or al, cl + or al, bl add r8b, r8b - add r8b, byte ptr [rsp + 9] # 1-byte Folded Reload - movzx ecx, byte ptr [rsp + 21] # 1-byte Folded Reload - shl cl, 3 - or cl, al - mov eax, ecx + add r8b, byte ptr [rsp + 10] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 22] # 1-byte Folded Reload + shl bl, 3 + or bl, al + mov eax, ebx shl r11b, 2 or r11b, r8b - movzx ecx, byte ptr [rsp + 22] # 1-byte Folded Reload - shl cl, 4 - or cl, al - mov r8d, ecx + movzx ebx, byte ptr [rsp + 23] # 1-byte Folded Reload + shl bl, 4 + or bl, al + mov r8d, ebx shl r15b, 3 or r15b, r11b - movzx ecx, byte ptr [rsp + 23] # 1-byte Folded Reload - shl cl, 5 - or cl, r8b - movzx eax, byte ptr [rsp + 5] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 3] # 1-byte Folded Reload + shl bl, 5 + or bl, r8b + movzx eax, byte ptr [rsp + 6] # 1-byte Folded Reload shl al, 4 or al, r15b mov r8d, eax - movzx eax, byte ptr [rsp + 6] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 7] # 1-byte Folded Reload shl al, 5 or al, r8b - movzx r8d, byte ptr [rsp + 7] # 1-byte Folded Reload + movzx r8d, byte ptr [rsp + 8] # 1-byte Folded Reload shl r8b, 6 - shl bl, 7 - or bl, r8b - or r13b, cl - or bl, al + shl dil, 7 + or dil, r8b + or r13b, bl + or dil, al add r10b, r10b - add r10b, byte ptr [rsp + 10] # 1-byte Folded Reload + add r10b, byte ptr [rsp + 11] # 1-byte Folded Reload shl r14b, 2 or r14b, r10b shl r12b, 3 or r12b, r14b - movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 9] # 1-byte Folded Reload shl al, 4 or al, r12b - mov ecx, eax - mov r14, qword ptr [rsp + 48] # 8-byte Reload - movzx eax, byte ptr [rsp + 11] # 1-byte Folded Reload + mov ebx, eax + mov r12, qword ptr [rsp + 48] # 8-byte Reload + movzx eax, byte ptr [rsp + 12] # 1-byte Folded Reload shl al, 5 - or al, cl - mov byte ptr [r14], r13b - movzx ecx, byte ptr [rsp + 12] # 1-byte Folded Reload - shl cl, 6 + or al, bl + mov byte ptr [r12], r13b + movzx ebx, byte ptr [rsp + 13] # 1-byte Folded Reload + shl bl, 6 shl r9b, 7 - or r9b, cl - mov byte ptr [r14 + 1], bl + or r9b, bl + mov byte ptr [r12 + 1], dil or r9b, al - movzx eax, byte ptr [rsp + 13] # 1-byte Folded Reload - add al, al - add al, byte ptr [rsp + 19] # 1-byte Folded Reload - mov ecx, eax movzx eax, byte ptr [rsp + 14] # 1-byte Folded Reload - shl al, 2 - or al, cl - mov ecx, eax + add al, al + add al, byte ptr [rsp + 20] # 1-byte Folded Reload + mov ebx, eax movzx eax, byte ptr [rsp + 15] # 1-byte Folded Reload - shl al, 3 - or al, cl - mov ecx, eax + shl al, 2 + or al, bl + mov ebx, eax movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload + shl al, 3 + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 17] # 1-byte Folded Reload shl al, 4 - or al, cl - mov ecx, eax - movzx eax, byte ptr [rsp + 18] # 1-byte Folded Reload + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 19] # 1-byte Folded Reload shl al, 5 - or al, cl - movzx ecx, byte ptr [rsp + 17] # 1-byte Folded Reload - shl cl, 6 - shl dil, 7 - or dil, cl - or dil, al - mov byte ptr [r14 + 2], r9b - mov byte ptr [r14 + 3], dil + or al, bl + movzx ebx, byte ptr [rsp + 18] # 1-byte Folded Reload + shl bl, 6 + shl cl, 7 + or cl, bl + or cl, al + mov byte ptr [r12 + 2], r9b + mov byte ptr [r12 + 3], cl add rdx, 256 - add r14, 4 - add qword ptr [rsp + 56], -1 # 8-byte Folded Spill + add r12, 4 + add qword ptr [rsp + 32], -1 # 8-byte Folded Spill jne .LBB3_107 # %bb.108: - mov r11, qword ptr [rsp + 24] # 8-byte Reload - mov r15, qword ptr [rsp + 64] # 8-byte Reload + mov r14, qword ptr [rsp + 24] # 8-byte Reload + mov r15, qword ptr [rsp + 56] # 8-byte Reload .LBB3_109: shl r15, 5 - cmp r15, r11 + cmp r15, r14 jge .LBB3_123 # %bb.110: - sub r11, r15 + sub r14, r15 xor ecx, ecx .p2align 4, 0x90 .LBB3_111: # =>This Inner Loop Header: Depth=1 @@ -17282,7 +18031,7 @@ comparison_not_equal_arr_arr_sse4: # @comparison_not_equal_arr_arr_sse4 neg bl mov rdi, rcx shr rdi, 3 - movzx r9d, byte ptr [r14 + rdi] + movzx r9d, byte ptr [r12 + rdi] xor bl, r9b and cl, 7 mov al, 1 @@ -17290,291 +18039,386 @@ comparison_not_equal_arr_arr_sse4: # @comparison_not_equal_arr_arr_sse4 shl al, cl and al, bl xor al, r9b - mov byte ptr [r14 + rdi], al + mov byte ptr [r12 + rdi], al mov rcx, r8 - cmp r11, r8 + cmp r14, r8 jne .LBB3_111 jmp .LBB3_123 .LBB3_112: - lea r15, [r11 + 31] - test r11, r11 - cmovns r15, r11 - lea eax, [r9 + 7] - test r9d, r9d - cmovns eax, r9d - and eax, -8 - sub r9d, eax + lea r15, [r14 + 31] + test r14, r14 + cmovns r15, r14 + lea ecx, [rax + 7] + test eax, eax + cmovns ecx, eax + and ecx, -8 + sub eax, ecx je .LBB3_116 # %bb.113: - movsxd rax, r9d + movsxd r10, eax .p2align 4, 0x90 .LBB3_114: # =>This Inner Loop Header: Depth=1 movss xmm0, dword ptr [rsi] # xmm0 = mem[0],zero,zero,zero add rsi, 4 ucomiss xmm0, dword ptr [rdx] lea rdx, [rdx + 4] - setne r10b - neg r10b - lea rdi, [rax + 7] - test rax, rax - cmovns rdi, rax + setp cl + setne bl + or bl, cl + neg bl + lea rdi, [r10 + 7] + test r10, r10 + cmovns rdi, r10 sar rdi, 3 - movzx r8d, byte ptr [r14 + rdi] - xor r10b, r8b + movzx r8d, byte ptr [r12 + rdi] + xor bl, r8b lea r9d, [8*rdi] - mov ecx, eax + mov ecx, r10d sub ecx, r9d - mov ebx, 1 + mov eax, 1 # kill: def $cl killed $cl killed $ecx - shl ebx, cl - and bl, r10b - xor bl, r8b - mov byte ptr [r14 + rdi], bl - add rax, 1 - cmp rax, 8 + shl eax, cl + and al, bl + xor al, r8b + mov byte ptr [r12 + rdi], al + add r10, 1 + cmp r10, 8 jne .LBB3_114 # %bb.115: - add r14, 1 + add r12, 1 .LBB3_116: sar r15, 5 - cmp r11, 32 + cmp r14, 32 jl .LBB3_120 # %bb.117: - mov qword ptr [rsp + 24], r11 # 8-byte Spill - mov qword ptr [rsp + 32], r15 # 8-byte Spill - mov qword ptr [rsp + 40], r15 # 8-byte Spill + mov qword ptr [rsp + 24], r14 # 8-byte Spill + mov qword ptr [rsp + 64], r15 # 8-byte Spill + mov qword ptr [rsp + 56], r15 # 8-byte Spill .p2align 4, 0x90 .LBB3_118: # =>This Inner Loop Header: Depth=1 - mov qword ptr [rsp + 48], r14 # 8-byte Spill + mov qword ptr [rsp + 48], r12 # 8-byte Spill movss xmm0, dword ptr [rsi] # xmm0 = mem[0],zero,zero,zero - movss xmm1, dword ptr [rsi + 4] # xmm1 = mem[0],zero,zero,zero ucomiss xmm0, dword ptr [rdx] - setne byte ptr [rsp + 4] # 1-byte Folded Spill - ucomiss xmm1, dword ptr [rdx + 4] - setne al + movss xmm0, dword ptr [rsi + 4] # xmm0 = mem[0],zero,zero,zero + setp al + setne cl + or cl, al + mov byte ptr [rsp + 21], cl # 1-byte Spill + ucomiss xmm0, dword ptr [rdx + 4] + setp al + setne cl + or cl, al + mov byte ptr [rsp + 13], cl # 1-byte Spill movss xmm0, dword ptr [rsi + 8] # xmm0 = mem[0],zero,zero,zero ucomiss xmm0, dword ptr [rdx + 8] + setp al + setne cl + or cl, al + mov byte ptr [rsp + 20], cl # 1-byte Spill movss xmm0, dword ptr [rsi + 12] # xmm0 = mem[0],zero,zero,zero - setne byte ptr [rsp + 5] # 1-byte Folded Spill ucomiss xmm0, dword ptr [rdx + 12] - setne byte ptr [rsp + 22] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 23], cl # 1-byte Spill movss xmm0, dword ptr [rsi + 16] # xmm0 = mem[0],zero,zero,zero ucomiss xmm0, dword ptr [rdx + 16] + setp al + setne cl + or cl, al + mov byte ptr [rsp + 22], cl # 1-byte Spill movss xmm0, dword ptr [rsi + 20] # xmm0 = mem[0],zero,zero,zero - setne byte ptr [rsp + 21] # 1-byte Folded Spill ucomiss xmm0, dword ptr [rdx + 20] - setne byte ptr [rsp + 23] # 1-byte Folded Spill + setp al + setne dil + or dil, al movss xmm0, dword ptr [rsi + 24] # xmm0 = mem[0],zero,zero,zero ucomiss xmm0, dword ptr [rdx + 24] - movss xmm0, dword ptr [rsi + 28] # xmm0 = mem[0],zero,zero,zero + setp al setne r13b + or r13b, al + movss xmm0, dword ptr [rsi + 28] # xmm0 = mem[0],zero,zero,zero ucomiss xmm0, dword ptr [rdx + 28] - setne r15b + setp al + setne cl + or cl, al + mov byte ptr [rsp + 3], cl # 1-byte Spill movss xmm0, dword ptr [rsi + 32] # xmm0 = mem[0],zero,zero,zero ucomiss xmm0, dword ptr [rdx + 32] + setp al + setne cl + or cl, al + mov byte ptr [rsp + 19], cl # 1-byte Spill movss xmm0, dword ptr [rsi + 36] # xmm0 = mem[0],zero,zero,zero - setne byte ptr [rsp + 8] # 1-byte Folded Spill ucomiss xmm0, dword ptr [rdx + 36] - setne cl + setp al + setne bl + or bl, al movss xmm0, dword ptr [rsi + 40] # xmm0 = mem[0],zero,zero,zero ucomiss xmm0, dword ptr [rdx + 40] + setp al + setne cl + or cl, al + mov byte ptr [rsp + 18], cl # 1-byte Spill movss xmm0, dword ptr [rsi + 44] # xmm0 = mem[0],zero,zero,zero - setne r9b ucomiss xmm0, dword ptr [rdx + 44] - setne r11b + setp al + setne cl + or cl, al + mov byte ptr [rsp + 17], cl # 1-byte Spill movss xmm0, dword ptr [rsi + 48] # xmm0 = mem[0],zero,zero,zero ucomiss xmm0, dword ptr [rdx + 48] + setp al + setne cl + or cl, al + mov byte ptr [rsp + 16], cl # 1-byte Spill movss xmm0, dword ptr [rsi + 52] # xmm0 = mem[0],zero,zero,zero - setne r10b ucomiss xmm0, dword ptr [rdx + 52] - setne byte ptr [rsp + 7] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 15], cl # 1-byte Spill movss xmm0, dword ptr [rsi + 56] # xmm0 = mem[0],zero,zero,zero ucomiss xmm0, dword ptr [rdx + 56] + setp al + setne cl + or cl, al + mov byte ptr [rsp + 12], cl # 1-byte Spill movss xmm0, dword ptr [rsi + 60] # xmm0 = mem[0],zero,zero,zero - setne byte ptr [rsp + 6] # 1-byte Folded Spill ucomiss xmm0, dword ptr [rdx + 60] - setne bl + setp al + setne cl + or cl, al + mov byte ptr [rsp + 11], cl # 1-byte Spill movss xmm0, dword ptr [rsi + 64] # xmm0 = mem[0],zero,zero,zero ucomiss xmm0, dword ptr [rdx + 64] + setp al + setne cl + or cl, al + mov byte ptr [rsp + 14], cl # 1-byte Spill movss xmm0, dword ptr [rsi + 68] # xmm0 = mem[0],zero,zero,zero - setne byte ptr [rsp + 14] # 1-byte Folded Spill ucomiss xmm0, dword ptr [rdx + 68] + setp al + setne cl + or cl, al + mov byte ptr [rsp + 10], cl # 1-byte Spill movss xmm0, dword ptr [rsi + 72] # xmm0 = mem[0],zero,zero,zero - setne r14b ucomiss xmm0, dword ptr [rdx + 72] + setp al + setne cl + or cl, al + mov byte ptr [rsp + 9], cl # 1-byte Spill movss xmm0, dword ptr [rsi + 76] # xmm0 = mem[0],zero,zero,zero - setne r12b ucomiss xmm0, dword ptr [rdx + 76] + setp al + setne r11b + or r11b, al movss xmm0, dword ptr [rsi + 80] # xmm0 = mem[0],zero,zero,zero - setne byte ptr [rsp + 9] # 1-byte Folded Spill ucomiss xmm0, dword ptr [rdx + 80] + setp al + setne cl + or cl, al + mov byte ptr [rsp + 8], cl # 1-byte Spill movss xmm0, dword ptr [rsi + 84] # xmm0 = mem[0],zero,zero,zero - setne byte ptr [rsp + 10] # 1-byte Folded Spill ucomiss xmm0, dword ptr [rdx + 84] + setp al + setne cl + or cl, al + mov byte ptr [rsp + 7], cl # 1-byte Spill movss xmm0, dword ptr [rsi + 88] # xmm0 = mem[0],zero,zero,zero - setne byte ptr [rsp + 11] # 1-byte Folded Spill ucomiss xmm0, dword ptr [rdx + 88] + setp al + setne cl + or cl, al + mov byte ptr [rsp + 5], cl # 1-byte Spill movss xmm0, dword ptr [rsi + 92] # xmm0 = mem[0],zero,zero,zero - setne byte ptr [rsp + 12] # 1-byte Folded Spill ucomiss xmm0, dword ptr [rdx + 92] + setp al + setne r10b + or r10b, al movss xmm0, dword ptr [rsi + 96] # xmm0 = mem[0],zero,zero,zero - setne r8b ucomiss xmm0, dword ptr [rdx + 96] + setp al + setne cl + or cl, al + mov byte ptr [rsp + 6], cl # 1-byte Spill movss xmm0, dword ptr [rsi + 100] # xmm0 = mem[0],zero,zero,zero - setne byte ptr [rsp + 20] # 1-byte Folded Spill ucomiss xmm0, dword ptr [rdx + 100] + setp al + setne cl + or cl, al + mov byte ptr [rsp + 32], cl # 1-byte Spill movss xmm0, dword ptr [rsi + 104] # xmm0 = mem[0],zero,zero,zero - setne byte ptr [rsp + 13] # 1-byte Folded Spill ucomiss xmm0, dword ptr [rdx + 104] + setp al + setne r15b + or r15b, al movss xmm0, dword ptr [rsi + 108] # xmm0 = mem[0],zero,zero,zero - setne byte ptr [rsp + 15] # 1-byte Folded Spill ucomiss xmm0, dword ptr [rdx + 108] + setp al + setne r14b + or r14b, al movss xmm0, dword ptr [rsi + 112] # xmm0 = mem[0],zero,zero,zero - setne byte ptr [rsp + 16] # 1-byte Folded Spill ucomiss xmm0, dword ptr [rdx + 112] + setp al + setne cl + or cl, al + mov byte ptr [rsp + 4], cl # 1-byte Spill movss xmm0, dword ptr [rsi + 116] # xmm0 = mem[0],zero,zero,zero - setne byte ptr [rsp + 17] # 1-byte Folded Spill ucomiss xmm0, dword ptr [rdx + 116] + setp al + setne cl + or cl, al + mov byte ptr [rsp + 40], cl # 1-byte Spill movss xmm0, dword ptr [rsi + 120] # xmm0 = mem[0],zero,zero,zero - setne byte ptr [rsp + 19] # 1-byte Folded Spill ucomiss xmm0, dword ptr [rdx + 120] + setp al + setne r9b + or r9b, al movss xmm0, dword ptr [rsi + 124] # xmm0 = mem[0],zero,zero,zero - setne byte ptr [rsp + 18] # 1-byte Folded Spill sub rsi, -128 ucomiss xmm0, dword ptr [rdx + 124] - setne dil + setp al + setne r8b + or r8b, al + movzx eax, byte ptr [rsp + 13] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 4] # 1-byte Folded Reload + add al, byte ptr [rsp + 21] # 1-byte Folded Reload + shl dil, 5 shl r13b, 6 - shl r15b, 7 - or r15b, r13b - movzx r13d, byte ptr [rsp + 5] # 1-byte Folded Reload - shl r13b, 2 - or r13b, al - mov eax, r13d - add cl, cl - add cl, byte ptr [rsp + 8] # 1-byte Folded Reload + or r13b, dil + mov edi, r13d + movzx ecx, byte ptr [rsp + 20] # 1-byte Folded Reload + shl cl, 2 + or cl, al + mov eax, ebx + add al, bl + add al, byte ptr [rsp + 19] # 1-byte Folded Reload + mov r13d, eax + movzx eax, byte ptr [rsp + 3] # 1-byte Folded Reload + shl al, 7 + or al, dil + mov byte ptr [rsp + 3], al # 1-byte Spill + movzx eax, byte ptr [rsp + 18] # 1-byte Folded Reload + shl al, 2 + or al, r13b + mov edi, eax + movzx eax, byte ptr [rsp + 23] # 1-byte Folded Reload + shl al, 3 + or al, cl + movzx ebx, byte ptr [rsp + 17] # 1-byte Folded Reload + shl bl, 3 + or bl, dil movzx r13d, byte ptr [rsp + 22] # 1-byte Folded Reload - shl r13b, 3 + shl r13b, 4 or r13b, al - shl r9b, 2 - or r9b, cl - movzx ecx, byte ptr [rsp + 21] # 1-byte Folded Reload - shl cl, 4 - or cl, r13b - mov r13d, ecx - shl r11b, 3 - or r11b, r9b - movzx ecx, byte ptr [rsp + 23] # 1-byte Folded Reload - shl cl, 5 - or cl, r13b - shl r10b, 4 - or r10b, r11b - movzx eax, byte ptr [rsp + 7] # 1-byte Folded Reload - shl al, 5 - or al, r10b - movzx r9d, byte ptr [rsp + 6] # 1-byte Folded Reload - shl r9b, 6 - shl bl, 7 - or bl, r9b - or r15b, cl - or bl, al - add r14b, r14b - add r14b, byte ptr [rsp + 14] # 1-byte Folded Reload - shl r12b, 2 - or r12b, r14b - mov r14, qword ptr [rsp + 48] # 8-byte Reload - movzx eax, byte ptr [rsp + 9] # 1-byte Folded Reload - shl al, 3 - or al, r12b - mov ecx, eax - movzx eax, byte ptr [rsp + 10] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload shl al, 4 - or al, cl - mov ecx, eax + or al, bl + mov edi, eax + movzx ebx, byte ptr [rsp + 15] # 1-byte Folded Reload + shl bl, 5 + movzx eax, byte ptr [rsp + 12] # 1-byte Folded Reload + shl al, 6 + or al, bl + mov ebx, eax movzx eax, byte ptr [rsp + 11] # 1-byte Folded Reload - shl al, 5 - or al, cl - mov byte ptr [r14], r15b - movzx ecx, byte ptr [rsp + 12] # 1-byte Folded Reload + shl al, 7 + or al, bl + movzx ebx, byte ptr [rsp + 10] # 1-byte Folded Reload + add bl, bl + add bl, byte ptr [rsp + 14] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 9] # 1-byte Folded Reload + shl cl, 2 + or cl, bl + shl r11b, 3 + or r11b, cl + movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload + shl bl, 4 + or bl, r11b + mov r12, qword ptr [rsp + 48] # 8-byte Reload + movzx r11d, byte ptr [rsp + 3] # 1-byte Folded Reload + or r11b, r13b + movzx r13d, byte ptr [rsp + 7] # 1-byte Folded Reload + shl r13b, 5 + movzx ecx, byte ptr [rsp + 5] # 1-byte Folded Reload shl cl, 6 + or cl, r13b + or al, dil + shl r10b, 7 + or r10b, cl + or r10b, bl + movzx ecx, byte ptr [rsp + 32] # 1-byte Folded Reload + add cl, cl + add cl, byte ptr [rsp + 6] # 1-byte Folded Reload + shl r15b, 2 + or r15b, cl + shl r14b, 3 + or r14b, r15b + movzx ecx, byte ptr [rsp + 4] # 1-byte Folded Reload + shl cl, 4 + or cl, r14b + mov byte ptr [r12], r11b + movzx ebx, byte ptr [rsp + 40] # 1-byte Folded Reload + shl bl, 5 + shl r9b, 6 + or r9b, bl + mov byte ptr [r12 + 1], al shl r8b, 7 + or r8b, r9b or r8b, cl - mov byte ptr [r14 + 1], bl - or r8b, al - movzx eax, byte ptr [rsp + 13] # 1-byte Folded Reload - add al, al - add al, byte ptr [rsp + 20] # 1-byte Folded Reload - mov ecx, eax - movzx eax, byte ptr [rsp + 15] # 1-byte Folded Reload - shl al, 2 - or al, cl - mov ecx, eax - movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload - shl al, 3 - or al, cl - mov ecx, eax - movzx eax, byte ptr [rsp + 17] # 1-byte Folded Reload - shl al, 4 - or al, cl - movzx ecx, byte ptr [rsp + 19] # 1-byte Folded Reload - shl cl, 5 - or cl, al - movzx eax, byte ptr [rsp + 18] # 1-byte Folded Reload - shl al, 6 - shl dil, 7 - or dil, al - or dil, cl - mov byte ptr [r14 + 2], r8b - mov byte ptr [r14 + 3], dil + mov byte ptr [r12 + 2], r10b + mov byte ptr [r12 + 3], r8b add rdx, 128 - add r14, 4 - add qword ptr [rsp + 40], -1 # 8-byte Folded Spill + add r12, 4 + add qword ptr [rsp + 56], -1 # 8-byte Folded Spill jne .LBB3_118 # %bb.119: - mov r11, qword ptr [rsp + 24] # 8-byte Reload - mov r15, qword ptr [rsp + 32] # 8-byte Reload + mov r14, qword ptr [rsp + 24] # 8-byte Reload + mov r15, qword ptr [rsp + 64] # 8-byte Reload .LBB3_120: shl r15, 5 - cmp r15, r11 + cmp r15, r14 jge .LBB3_123 # %bb.121: - sub r11, r15 + sub r14, r15 xor ecx, ecx .p2align 4, 0x90 .LBB3_122: # =>This Inner Loop Header: Depth=1 + lea r9, [rcx + 1] movss xmm0, dword ptr [rsi + 4*rcx] # xmm0 = mem[0],zero,zero,zero ucomiss xmm0, dword ptr [rdx + 4*rcx] - lea r8, [rcx + 1] - setne bl - neg bl + setp bl + setne al + or al, bl + neg al mov rdi, rcx shr rdi, 3 - movzx r9d, byte ptr [r14 + rdi] - xor bl, r9b + movzx r8d, byte ptr [r12 + rdi] + xor al, r8b and cl, 7 - mov al, 1 + mov bl, 1 # kill: def $cl killed $cl killed $rcx - shl al, cl - and al, bl - xor al, r9b - mov byte ptr [r14 + rdi], al - mov rcx, r8 - cmp r11, r8 + shl bl, cl + and bl, al + xor bl, r8b + mov byte ptr [r12 + rdi], bl + mov rcx, r9 + cmp r14, r9 jne .LBB3_122 jmp .LBB3_123 .LBB3_57: - lea r15, [r11 + 31] - test r11, r11 - cmovns r15, r11 - lea eax, [r9 + 7] - test r9d, r9d - cmovns eax, r9d - and eax, -8 - sub r9d, eax + lea r15, [r14 + 31] + test r14, r14 + cmovns r15, r14 + lea ecx, [rax + 7] + test eax, eax + cmovns ecx, eax + and ecx, -8 + sub eax, ecx je .LBB3_61 # %bb.58: - movsxd rax, r9d + cdqe .p2align 4, 0x90 .LBB3_59: # =>This Inner Loop Header: Depth=1 movzx ecx, byte ptr [rsi] @@ -17587,7 +18431,7 @@ comparison_not_equal_arr_arr_sse4: # @comparison_not_equal_arr_arr_sse4 test rax, rax cmovns rdi, rax sar rdi, 3 - movzx r8d, byte ptr [r14 + rdi] + movzx r8d, byte ptr [r12 + rdi] xor r10b, r8b lea r9d, [8*rdi] mov ecx, eax @@ -17597,50 +18441,50 @@ comparison_not_equal_arr_arr_sse4: # @comparison_not_equal_arr_arr_sse4 shl ebx, cl and bl, r10b xor bl, r8b - mov byte ptr [r14 + rdi], bl + mov byte ptr [r12 + rdi], bl add rax, 1 cmp rax, 8 jne .LBB3_59 # %bb.60: - add r14, 1 + add r12, 1 .LBB3_61: sar r15, 5 - cmp r11, 32 + cmp r14, 32 jl .LBB3_65 # %bb.62: - mov qword ptr [rsp + 24], r11 # 8-byte Spill - mov qword ptr [rsp + 56], r15 # 8-byte Spill + mov qword ptr [rsp + 24], r14 # 8-byte Spill mov qword ptr [rsp + 32], r15 # 8-byte Spill + mov qword ptr [rsp + 40], r15 # 8-byte Spill .p2align 4, 0x90 .LBB3_63: # =>This Inner Loop Header: Depth=1 - mov qword ptr [rsp + 48], r14 # 8-byte Spill + mov qword ptr [rsp + 48], r12 # 8-byte Spill movzx eax, byte ptr [rsi] movzx ecx, byte ptr [rsi + 1] cmp al, byte ptr [rdx] - setne byte ptr [rsp + 40] # 1-byte Folded Spill + setne byte ptr [rsp + 4] # 1-byte Folded Spill cmp cl, byte ptr [rdx + 1] - setne cl + setne bl movzx eax, byte ptr [rsi + 2] cmp al, byte ptr [rdx + 2] - setne byte ptr [rsp + 20] # 1-byte Folded Spill + setne byte ptr [rsp + 21] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 3] cmp al, byte ptr [rdx + 3] - setne byte ptr [rsp + 21] # 1-byte Folded Spill + setne byte ptr [rsp + 22] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 4] cmp al, byte ptr [rdx + 4] - setne byte ptr [rsp + 22] # 1-byte Folded Spill + setne byte ptr [rsp + 23] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 5] cmp al, byte ptr [rdx + 5] - setne byte ptr [rsp + 23] # 1-byte Folded Spill + setne byte ptr [rsp + 3] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 6] cmp al, byte ptr [rdx + 6] - setne byte ptr [rsp + 4] # 1-byte Folded Spill + setne byte ptr [rsp + 5] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 7] cmp al, byte ptr [rdx + 7] setne r15b movzx eax, byte ptr [rsi + 8] cmp al, byte ptr [rdx + 8] - setne byte ptr [rsp + 7] # 1-byte Folded Spill + setne byte ptr [rsp + 8] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 9] cmp al, byte ptr [rdx + 9] setne dil @@ -17655,16 +18499,16 @@ comparison_not_equal_arr_arr_sse4: # @comparison_not_equal_arr_arr_sse4 setne r14b movzx eax, byte ptr [rsi + 13] cmp al, byte ptr [rdx + 13] - setne byte ptr [rsp + 5] # 1-byte Folded Spill + setne byte ptr [rsp + 6] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 14] cmp al, byte ptr [rdx + 14] - setne byte ptr [rsp + 6] # 1-byte Folded Spill + setne byte ptr [rsp + 7] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 15] cmp al, byte ptr [rdx + 15] - setne bl + setne r8b movzx eax, byte ptr [rsi + 16] cmp al, byte ptr [rdx + 16] - setne byte ptr [rsp + 13] # 1-byte Folded Spill + setne byte ptr [rsp + 14] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 17] cmp al, byte ptr [rdx + 17] setne r12b @@ -17673,145 +18517,145 @@ comparison_not_equal_arr_arr_sse4: # @comparison_not_equal_arr_arr_sse4 setne r13b movzx eax, byte ptr [rsi + 19] cmp al, byte ptr [rdx + 19] - setne byte ptr [rsp + 8] # 1-byte Folded Spill + setne byte ptr [rsp + 9] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 20] cmp al, byte ptr [rdx + 20] - setne byte ptr [rsp + 9] # 1-byte Folded Spill + setne byte ptr [rsp + 10] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 21] cmp al, byte ptr [rdx + 21] - setne byte ptr [rsp + 10] # 1-byte Folded Spill + setne byte ptr [rsp + 11] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 22] cmp al, byte ptr [rdx + 22] - setne byte ptr [rsp + 11] # 1-byte Folded Spill + setne byte ptr [rsp + 12] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 23] cmp al, byte ptr [rdx + 23] setne r9b movzx eax, byte ptr [rsi + 24] cmp al, byte ptr [rdx + 24] - setne byte ptr [rsp + 19] # 1-byte Folded Spill + setne byte ptr [rsp + 20] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 25] cmp al, byte ptr [rdx + 25] - setne byte ptr [rsp + 12] # 1-byte Folded Spill + setne byte ptr [rsp + 13] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 26] cmp al, byte ptr [rdx + 26] - setne byte ptr [rsp + 14] # 1-byte Folded Spill + setne byte ptr [rsp + 15] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 27] cmp al, byte ptr [rdx + 27] - setne byte ptr [rsp + 15] # 1-byte Folded Spill + setne byte ptr [rsp + 16] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 28] cmp al, byte ptr [rdx + 28] - setne byte ptr [rsp + 16] # 1-byte Folded Spill + setne byte ptr [rsp + 17] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 29] cmp al, byte ptr [rdx + 29] - setne byte ptr [rsp + 17] # 1-byte Folded Spill + setne byte ptr [rsp + 18] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 30] cmp al, byte ptr [rdx + 30] - setne byte ptr [rsp + 18] # 1-byte Folded Spill + setne byte ptr [rsp + 19] # 1-byte Folded Spill movzx eax, byte ptr [rsi + 31] add rsi, 32 cmp al, byte ptr [rdx + 31] - setne r8b - add cl, cl - add cl, byte ptr [rsp + 40] # 1-byte Folded Reload - mov eax, ecx - movzx ecx, byte ptr [rsp + 4] # 1-byte Folded Reload - shl cl, 6 + setne cl + add bl, bl + add bl, byte ptr [rsp + 4] # 1-byte Folded Reload + mov eax, ebx + movzx ebx, byte ptr [rsp + 5] # 1-byte Folded Reload + shl bl, 6 shl r15b, 7 - or r15b, cl - movzx ecx, byte ptr [rsp + 20] # 1-byte Folded Reload - shl cl, 2 - or cl, al - mov eax, ecx + or r15b, bl + movzx ebx, byte ptr [rsp + 21] # 1-byte Folded Reload + shl bl, 2 + or bl, al + mov eax, ebx add dil, dil - add dil, byte ptr [rsp + 7] # 1-byte Folded Reload - movzx ecx, byte ptr [rsp + 21] # 1-byte Folded Reload - shl cl, 3 - or cl, al - mov eax, ecx + add dil, byte ptr [rsp + 8] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 22] # 1-byte Folded Reload + shl bl, 3 + or bl, al + mov eax, ebx shl r10b, 2 or r10b, dil - movzx ecx, byte ptr [rsp + 22] # 1-byte Folded Reload - shl cl, 4 - or cl, al - mov edi, ecx + movzx ebx, byte ptr [rsp + 23] # 1-byte Folded Reload + shl bl, 4 + or bl, al + mov edi, ebx shl r11b, 3 or r11b, r10b - movzx ecx, byte ptr [rsp + 23] # 1-byte Folded Reload - shl cl, 5 - or cl, dil + movzx ebx, byte ptr [rsp + 3] # 1-byte Folded Reload + shl bl, 5 + or bl, dil shl r14b, 4 or r14b, r11b - movzx eax, byte ptr [rsp + 5] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 6] # 1-byte Folded Reload shl al, 5 or al, r14b - movzx edi, byte ptr [rsp + 6] # 1-byte Folded Reload + movzx edi, byte ptr [rsp + 7] # 1-byte Folded Reload shl dil, 6 - shl bl, 7 - or bl, dil - or r15b, cl - or bl, al + shl r8b, 7 + or r8b, dil + or r15b, bl + or r8b, al add r12b, r12b - add r12b, byte ptr [rsp + 13] # 1-byte Folded Reload + add r12b, byte ptr [rsp + 14] # 1-byte Folded Reload shl r13b, 2 or r13b, r12b - mov r14, qword ptr [rsp + 48] # 8-byte Reload - movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + mov r12, qword ptr [rsp + 48] # 8-byte Reload + movzx eax, byte ptr [rsp + 9] # 1-byte Folded Reload shl al, 3 or al, r13b - mov ecx, eax - movzx eax, byte ptr [rsp + 9] # 1-byte Folded Reload - shl al, 4 - or al, cl - mov ecx, eax + mov ebx, eax movzx eax, byte ptr [rsp + 10] # 1-byte Folded Reload + shl al, 4 + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 11] # 1-byte Folded Reload shl al, 5 - or al, cl - mov byte ptr [r14], r15b - movzx ecx, byte ptr [rsp + 11] # 1-byte Folded Reload - shl cl, 6 + or al, bl + mov byte ptr [r12], r15b + movzx ebx, byte ptr [rsp + 12] # 1-byte Folded Reload + shl bl, 6 shl r9b, 7 - or r9b, cl - mov byte ptr [r14 + 1], bl + or r9b, bl + mov byte ptr [r12 + 1], r8b or r9b, al - movzx eax, byte ptr [rsp + 12] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 13] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 19] # 1-byte Folded Reload - mov ecx, eax - movzx eax, byte ptr [rsp + 14] # 1-byte Folded Reload - shl al, 2 - or al, cl - mov ecx, eax + add al, byte ptr [rsp + 20] # 1-byte Folded Reload + mov ebx, eax movzx eax, byte ptr [rsp + 15] # 1-byte Folded Reload - shl al, 3 - or al, cl - mov ecx, eax + shl al, 2 + or al, bl + mov ebx, eax movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload - shl al, 4 - or al, cl - mov ecx, eax + shl al, 3 + or al, bl + mov ebx, eax movzx eax, byte ptr [rsp + 17] # 1-byte Folded Reload + shl al, 4 + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 18] # 1-byte Folded Reload shl al, 5 - or al, cl - movzx ecx, byte ptr [rsp + 18] # 1-byte Folded Reload - shl cl, 6 - shl r8b, 7 - or r8b, cl - or r8b, al - mov byte ptr [r14 + 2], r9b - mov byte ptr [r14 + 3], r8b + or al, bl + movzx ebx, byte ptr [rsp + 19] # 1-byte Folded Reload + shl bl, 6 + shl cl, 7 + or cl, bl + or cl, al + mov byte ptr [r12 + 2], r9b + mov byte ptr [r12 + 3], cl add rdx, 32 - add r14, 4 - add qword ptr [rsp + 32], -1 # 8-byte Folded Spill + add r12, 4 + add qword ptr [rsp + 40], -1 # 8-byte Folded Spill jne .LBB3_63 # %bb.64: - mov r11, qword ptr [rsp + 24] # 8-byte Reload - mov r15, qword ptr [rsp + 56] # 8-byte Reload + mov r14, qword ptr [rsp + 24] # 8-byte Reload + mov r15, qword ptr [rsp + 32] # 8-byte Reload .LBB3_65: shl r15, 5 - cmp r15, r11 + cmp r15, r14 jge .LBB3_123 # %bb.66: - sub r11, r15 + sub r14, r15 xor ecx, ecx .p2align 4, 0x90 .LBB3_67: # =>This Inner Loop Header: Depth=1 @@ -17822,7 +18666,7 @@ comparison_not_equal_arr_arr_sse4: # @comparison_not_equal_arr_arr_sse4 neg bl mov rdi, rcx shr rdi, 3 - movzx r9d, byte ptr [r14 + rdi] + movzx r9d, byte ptr [r12 + rdi] xor bl, r9b and cl, 7 mov al, 1 @@ -17830,23 +18674,23 @@ comparison_not_equal_arr_arr_sse4: # @comparison_not_equal_arr_arr_sse4 shl al, cl and al, bl xor al, r9b - mov byte ptr [r14 + rdi], al + mov byte ptr [r12 + rdi], al mov rcx, r8 - cmp r11, r8 + cmp r14, r8 jne .LBB3_67 jmp .LBB3_123 .LBB3_90: - lea r15, [r11 + 31] - test r11, r11 - cmovns r15, r11 - lea eax, [r9 + 7] - test r9d, r9d - cmovns eax, r9d - and eax, -8 - sub r9d, eax + lea r15, [r14 + 31] + test r14, r14 + cmovns r15, r14 + lea ecx, [rax + 7] + test eax, eax + cmovns ecx, eax + and ecx, -8 + sub eax, ecx je .LBB3_94 # %bb.91: - movsxd rax, r9d + cdqe .p2align 4, 0x90 .LBB3_92: # =>This Inner Loop Header: Depth=1 mov ecx, dword ptr [rsi] @@ -17859,7 +18703,7 @@ comparison_not_equal_arr_arr_sse4: # @comparison_not_equal_arr_arr_sse4 test rax, rax cmovns rdi, rax sar rdi, 3 - movzx r8d, byte ptr [r14 + rdi] + movzx r8d, byte ptr [r12 + rdi] xor r10b, r8b lea r9d, [8*rdi] mov ecx, eax @@ -17869,50 +18713,50 @@ comparison_not_equal_arr_arr_sse4: # @comparison_not_equal_arr_arr_sse4 shl ebx, cl and bl, r10b xor bl, r8b - mov byte ptr [r14 + rdi], bl + mov byte ptr [r12 + rdi], bl add rax, 1 cmp rax, 8 jne .LBB3_92 # %bb.93: - add r14, 1 + add r12, 1 .LBB3_94: sar r15, 5 - cmp r11, 32 + cmp r14, 32 jl .LBB3_98 # %bb.95: - mov qword ptr [rsp + 24], r11 # 8-byte Spill - mov qword ptr [rsp + 64], r15 # 8-byte Spill + mov qword ptr [rsp + 24], r14 # 8-byte Spill mov qword ptr [rsp + 56], r15 # 8-byte Spill + mov qword ptr [rsp + 32], r15 # 8-byte Spill .p2align 4, 0x90 .LBB3_96: # =>This Inner Loop Header: Depth=1 - mov qword ptr [rsp + 48], r14 # 8-byte Spill + mov qword ptr [rsp + 48], r12 # 8-byte Spill mov eax, dword ptr [rsi] mov ecx, dword ptr [rsi + 4] cmp eax, dword ptr [rdx] - setne byte ptr [rsp + 40] # 1-byte Folded Spill + setne byte ptr [rsp + 4] # 1-byte Folded Spill cmp ecx, dword ptr [rdx + 4] - setne byte ptr [rsp + 32] # 1-byte Folded Spill + setne byte ptr [rsp + 40] # 1-byte Folded Spill mov eax, dword ptr [rsi + 8] cmp eax, dword ptr [rdx + 8] - setne byte ptr [rsp + 20] # 1-byte Folded Spill + setne byte ptr [rsp + 21] # 1-byte Folded Spill mov eax, dword ptr [rsi + 12] cmp eax, dword ptr [rdx + 12] - setne byte ptr [rsp + 21] # 1-byte Folded Spill + setne byte ptr [rsp + 22] # 1-byte Folded Spill mov eax, dword ptr [rsi + 16] cmp eax, dword ptr [rdx + 16] - setne byte ptr [rsp + 22] # 1-byte Folded Spill + setne byte ptr [rsp + 23] # 1-byte Folded Spill mov eax, dword ptr [rsi + 20] cmp eax, dword ptr [rdx + 20] - setne byte ptr [rsp + 23] # 1-byte Folded Spill + setne byte ptr [rsp + 3] # 1-byte Folded Spill mov eax, dword ptr [rsi + 24] cmp eax, dword ptr [rdx + 24] - setne byte ptr [rsp + 4] # 1-byte Folded Spill + setne byte ptr [rsp + 5] # 1-byte Folded Spill mov eax, dword ptr [rsi + 28] cmp eax, dword ptr [rdx + 28] setne r13b mov eax, dword ptr [rsi + 32] cmp eax, dword ptr [rdx + 32] - setne byte ptr [rsp + 9] # 1-byte Folded Spill + setne byte ptr [rsp + 10] # 1-byte Folded Spill mov eax, dword ptr [rsi + 36] cmp eax, dword ptr [rdx + 36] setne r8b @@ -17924,166 +18768,166 @@ comparison_not_equal_arr_arr_sse4: # @comparison_not_equal_arr_arr_sse4 setne r15b mov eax, dword ptr [rsi + 48] cmp eax, dword ptr [rdx + 48] - setne byte ptr [rsp + 5] # 1-byte Folded Spill + setne byte ptr [rsp + 6] # 1-byte Folded Spill mov eax, dword ptr [rsi + 52] cmp eax, dword ptr [rdx + 52] - setne byte ptr [rsp + 6] # 1-byte Folded Spill + setne byte ptr [rsp + 7] # 1-byte Folded Spill mov eax, dword ptr [rsi + 56] cmp eax, dword ptr [rdx + 56] - setne byte ptr [rsp + 7] # 1-byte Folded Spill + setne byte ptr [rsp + 8] # 1-byte Folded Spill mov eax, dword ptr [rsi + 60] cmp eax, dword ptr [rdx + 60] - setne bl + setne dil mov eax, dword ptr [rsi + 64] - mov ecx, dword ptr [rsi + 68] + mov ebx, dword ptr [rsi + 68] cmp eax, dword ptr [rdx + 64] mov eax, dword ptr [rsi + 72] - setne byte ptr [rsp + 10] # 1-byte Folded Spill - cmp ecx, dword ptr [rdx + 68] - mov ecx, dword ptr [rsi + 76] + setne byte ptr [rsp + 11] # 1-byte Folded Spill + cmp ebx, dword ptr [rdx + 68] + mov ebx, dword ptr [rsi + 76] setne r10b cmp eax, dword ptr [rdx + 72] mov eax, dword ptr [rsi + 80] setne r14b - cmp ecx, dword ptr [rdx + 76] - mov ecx, dword ptr [rsi + 84] + cmp ebx, dword ptr [rdx + 76] + mov ebx, dword ptr [rsi + 84] setne r12b cmp eax, dword ptr [rdx + 80] - setne byte ptr [rsp + 8] # 1-byte Folded Spill - cmp ecx, dword ptr [rdx + 84] + setne byte ptr [rsp + 9] # 1-byte Folded Spill + cmp ebx, dword ptr [rdx + 84] mov eax, dword ptr [rsi + 88] - setne byte ptr [rsp + 11] # 1-byte Folded Spill + setne byte ptr [rsp + 12] # 1-byte Folded Spill cmp eax, dword ptr [rdx + 88] mov eax, dword ptr [rsi + 92] - setne byte ptr [rsp + 12] # 1-byte Folded Spill + setne byte ptr [rsp + 13] # 1-byte Folded Spill cmp eax, dword ptr [rdx + 92] mov eax, dword ptr [rsi + 96] setne r9b cmp eax, dword ptr [rdx + 96] mov eax, dword ptr [rsi + 100] - setne byte ptr [rsp + 19] # 1-byte Folded Spill + setne byte ptr [rsp + 20] # 1-byte Folded Spill cmp eax, dword ptr [rdx + 100] mov eax, dword ptr [rsi + 104] - setne byte ptr [rsp + 13] # 1-byte Folded Spill + setne byte ptr [rsp + 14] # 1-byte Folded Spill cmp eax, dword ptr [rdx + 104] mov eax, dword ptr [rsi + 108] - setne byte ptr [rsp + 14] # 1-byte Folded Spill + setne byte ptr [rsp + 15] # 1-byte Folded Spill cmp eax, dword ptr [rdx + 108] mov eax, dword ptr [rsi + 112] - setne byte ptr [rsp + 15] # 1-byte Folded Spill + setne byte ptr [rsp + 16] # 1-byte Folded Spill cmp eax, dword ptr [rdx + 112] mov eax, dword ptr [rsi + 116] - setne byte ptr [rsp + 16] # 1-byte Folded Spill + setne byte ptr [rsp + 17] # 1-byte Folded Spill cmp eax, dword ptr [rdx + 116] mov eax, dword ptr [rsi + 120] - setne byte ptr [rsp + 18] # 1-byte Folded Spill + setne byte ptr [rsp + 19] # 1-byte Folded Spill cmp eax, dword ptr [rdx + 120] mov eax, dword ptr [rsi + 124] - setne byte ptr [rsp + 17] # 1-byte Folded Spill + setne byte ptr [rsp + 18] # 1-byte Folded Spill sub rsi, -128 cmp eax, dword ptr [rdx + 124] - setne dil - movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload + setne cl + movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 40] # 1-byte Folded Reload - mov ecx, eax - movzx eax, byte ptr [rsp + 4] # 1-byte Folded Reload + add al, byte ptr [rsp + 4] # 1-byte Folded Reload + mov ebx, eax + movzx eax, byte ptr [rsp + 5] # 1-byte Folded Reload shl al, 6 shl r13b, 7 or r13b, al - movzx eax, byte ptr [rsp + 20] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 21] # 1-byte Folded Reload shl al, 2 - or al, cl + or al, bl add r8b, r8b - add r8b, byte ptr [rsp + 9] # 1-byte Folded Reload - movzx ecx, byte ptr [rsp + 21] # 1-byte Folded Reload - shl cl, 3 - or cl, al - mov eax, ecx + add r8b, byte ptr [rsp + 10] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 22] # 1-byte Folded Reload + shl bl, 3 + or bl, al + mov eax, ebx shl r11b, 2 or r11b, r8b - movzx ecx, byte ptr [rsp + 22] # 1-byte Folded Reload - shl cl, 4 - or cl, al - mov r8d, ecx + movzx ebx, byte ptr [rsp + 23] # 1-byte Folded Reload + shl bl, 4 + or bl, al + mov r8d, ebx shl r15b, 3 or r15b, r11b - movzx ecx, byte ptr [rsp + 23] # 1-byte Folded Reload - shl cl, 5 - or cl, r8b - movzx eax, byte ptr [rsp + 5] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 3] # 1-byte Folded Reload + shl bl, 5 + or bl, r8b + movzx eax, byte ptr [rsp + 6] # 1-byte Folded Reload shl al, 4 or al, r15b mov r8d, eax - movzx eax, byte ptr [rsp + 6] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 7] # 1-byte Folded Reload shl al, 5 or al, r8b - movzx r8d, byte ptr [rsp + 7] # 1-byte Folded Reload + movzx r8d, byte ptr [rsp + 8] # 1-byte Folded Reload shl r8b, 6 - shl bl, 7 - or bl, r8b - or r13b, cl - or bl, al + shl dil, 7 + or dil, r8b + or r13b, bl + or dil, al add r10b, r10b - add r10b, byte ptr [rsp + 10] # 1-byte Folded Reload + add r10b, byte ptr [rsp + 11] # 1-byte Folded Reload shl r14b, 2 or r14b, r10b shl r12b, 3 or r12b, r14b - movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 9] # 1-byte Folded Reload shl al, 4 or al, r12b - mov ecx, eax - mov r14, qword ptr [rsp + 48] # 8-byte Reload - movzx eax, byte ptr [rsp + 11] # 1-byte Folded Reload + mov ebx, eax + mov r12, qword ptr [rsp + 48] # 8-byte Reload + movzx eax, byte ptr [rsp + 12] # 1-byte Folded Reload shl al, 5 - or al, cl - mov byte ptr [r14], r13b - movzx ecx, byte ptr [rsp + 12] # 1-byte Folded Reload - shl cl, 6 + or al, bl + mov byte ptr [r12], r13b + movzx ebx, byte ptr [rsp + 13] # 1-byte Folded Reload + shl bl, 6 shl r9b, 7 - or r9b, cl - mov byte ptr [r14 + 1], bl + or r9b, bl + mov byte ptr [r12 + 1], dil or r9b, al - movzx eax, byte ptr [rsp + 13] # 1-byte Folded Reload - add al, al - add al, byte ptr [rsp + 19] # 1-byte Folded Reload - mov ecx, eax movzx eax, byte ptr [rsp + 14] # 1-byte Folded Reload - shl al, 2 - or al, cl - mov ecx, eax + add al, al + add al, byte ptr [rsp + 20] # 1-byte Folded Reload + mov ebx, eax movzx eax, byte ptr [rsp + 15] # 1-byte Folded Reload - shl al, 3 - or al, cl - mov ecx, eax + shl al, 2 + or al, bl + mov ebx, eax movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload + shl al, 3 + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 17] # 1-byte Folded Reload shl al, 4 - or al, cl - mov ecx, eax - movzx eax, byte ptr [rsp + 18] # 1-byte Folded Reload + or al, bl + mov ebx, eax + movzx eax, byte ptr [rsp + 19] # 1-byte Folded Reload shl al, 5 - or al, cl - movzx ecx, byte ptr [rsp + 17] # 1-byte Folded Reload - shl cl, 6 - shl dil, 7 - or dil, cl - or dil, al - mov byte ptr [r14 + 2], r9b - mov byte ptr [r14 + 3], dil + or al, bl + movzx ebx, byte ptr [rsp + 18] # 1-byte Folded Reload + shl bl, 6 + shl cl, 7 + or cl, bl + or cl, al + mov byte ptr [r12 + 2], r9b + mov byte ptr [r12 + 3], cl add rdx, 128 - add r14, 4 - add qword ptr [rsp + 56], -1 # 8-byte Folded Spill + add r12, 4 + add qword ptr [rsp + 32], -1 # 8-byte Folded Spill jne .LBB3_96 # %bb.97: - mov r11, qword ptr [rsp + 24] # 8-byte Reload - mov r15, qword ptr [rsp + 64] # 8-byte Reload + mov r14, qword ptr [rsp + 24] # 8-byte Reload + mov r15, qword ptr [rsp + 56] # 8-byte Reload .LBB3_98: shl r15, 5 - cmp r15, r11 + cmp r15, r14 jge .LBB3_123 # %bb.99: - sub r11, r15 + sub r14, r15 xor ecx, ecx .p2align 4, 0x90 .LBB3_100: # =>This Inner Loop Header: Depth=1 @@ -18094,7 +18938,7 @@ comparison_not_equal_arr_arr_sse4: # @comparison_not_equal_arr_arr_sse4 neg bl mov rdi, rcx shr rdi, 3 - movzx r9d, byte ptr [r14 + rdi] + movzx r9d, byte ptr [r12 + rdi] xor bl, r9b and cl, 7 mov al, 1 @@ -18102,9 +18946,9 @@ comparison_not_equal_arr_arr_sse4: # @comparison_not_equal_arr_arr_sse4 shl al, cl and al, bl xor al, r9b - mov byte ptr [r14 + rdi], al + mov byte ptr [r12 + rdi], al mov rcx, r8 - cmp r11, r8 + cmp r14, r8 jne .LBB3_100 .LBB3_123: lea rsp, [rbp - 40] @@ -18330,10 +19174,10 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 push r12 push rbx and rsp, -16 - sub rsp, 304 + sub rsp, 320 # kill: def $r9d killed $r9d def $r9 - mov r15, r8 - mov r14, rcx + mov r14, r8 + mov r12, rcx cmp edi, 6 jg .LBB4_17 # %bb.1: @@ -18344,15 +19188,15 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 je .LBB4_83 # %bb.3: cmp edi, 5 - je .LBB4_95 + je .LBB4_99 # %bb.4: cmp edi, 6 - jne .LBB4_179 + jne .LBB4_174 # %bb.5: mov r13d, dword ptr [rdx] - lea r10, [r15 + 31] - test r15, r15 - cmovns r10, r15 + lea r10, [r14 + 31] + test r14, r14 + cmovns r10, r14 lea eax, [r9 + 7] test r9d, r9d cmovns eax, r9d @@ -18371,7 +19215,8 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 test rax, rax cmovns rbx, rax sar rbx, 3 - movzx r8d, byte ptr [r14 + rbx] + mov r9, r12 + movzx r8d, byte ptr [r12 + rbx] xor dl, r8b lea edi, [8*rbx] mov ecx, eax @@ -18381,27 +19226,27 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 shl edi, cl and dil, dl xor dil, r8b - mov byte ptr [r14 + rbx], dil + mov byte ptr [r12 + rbx], dil add rax, 1 cmp rax, 8 jne .LBB4_7 # %bb.8: - add r14, 1 + add r12, 1 .LBB4_9: sar r10, 5 - cmp r15, 32 + cmp r14, 32 jl .LBB4_13 # %bb.10: - mov qword ptr [rsp + 144], r15 # 8-byte Spill - mov qword ptr [rsp + 208], r10 # 8-byte Spill - mov qword ptr [rsp + 224], r10 # 8-byte Spill + mov qword ptr [rsp + 144], r14 # 8-byte Spill + mov qword ptr [rsp + 192], r10 # 8-byte Spill + mov qword ptr [rsp + 240], r10 # 8-byte Spill .p2align 4, 0x90 .LBB4_11: # =>This Inner Loop Header: Depth=1 - mov qword ptr [rsp + 128], r14 # 8-byte Spill + mov qword ptr [rsp + 128], r12 # 8-byte Spill cmp dword ptr [rsi], r13d setne byte ptr [rsp + 152] # 1-byte Folded Spill cmp dword ptr [rsi + 4], r13d - setne dil + setne r10b cmp dword ptr [rsi + 8], r13d setne r14b cmp dword ptr [rsi + 12], r13d @@ -18415,13 +19260,13 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 cmp dword ptr [rsi + 28], r13d setne bl cmp dword ptr [rsi + 32], r13d - setne byte ptr [rsp + 192] # 1-byte Folded Spill + setne byte ptr [rsp + 224] # 1-byte Folded Spill cmp dword ptr [rsi + 36], r13d - setne dl + setne dil cmp dword ptr [rsi + 40], r13d - setne r9b + setne r8b cmp dword ptr [rsi + 44], r13d - setne r10b + setne r9b cmp dword ptr [rsi + 48], r13d setne r11b cmp dword ptr [rsi + 52], r13d @@ -18447,123 +19292,124 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 cmp dword ptr [rsi + 92], r13d setne r15b cmp dword ptr [rsi + 96], r13d - setne byte ptr [rsp + 32] # 1-byte Folded Spill + setne byte ptr [rsp + 40] # 1-byte Folded Spill cmp dword ptr [rsi + 100], r13d setne byte ptr [rsp + 64] # 1-byte Folded Spill cmp dword ptr [rsi + 104], r13d - setne byte ptr [rsp + 24] # 1-byte Folded Spill + setne byte ptr [rsp + 32] # 1-byte Folded Spill cmp dword ptr [rsi + 108], r13d setne byte ptr [rsp + 48] # 1-byte Folded Spill cmp dword ptr [rsi + 112], r13d setne byte ptr [rsp + 16] # 1-byte Folded Spill cmp dword ptr [rsi + 116], r13d - setne byte ptr [rsp + 40] # 1-byte Folded Spill + setne byte ptr [rsp + 24] # 1-byte Folded Spill cmp dword ptr [rsi + 120], r13d setne byte ptr [rsp + 8] # 1-byte Folded Spill cmp dword ptr [rsi + 124], r13d - setne r8b - add dil, dil - add dil, byte ptr [rsp + 152] # 1-byte Folded Reload + setne dl + add r10b, r10b + add r10b, byte ptr [rsp + 152] # 1-byte Folded Reload shl al, 6 shl bl, 7 or bl, al shl r14b, 2 - or r14b, dil - add dl, dl - add dl, byte ptr [rsp + 192] # 1-byte Folded Reload + or r14b, r10b + add dil, dil + add dil, byte ptr [rsp + 224] # 1-byte Folded Reload movzx eax, byte ptr [rsp + 136] # 1-byte Folded Reload shl al, 3 or al, r14b - shl r9b, 2 - or r9b, dl - movzx edx, byte ptr [rsp + 112] # 1-byte Folded Reload - shl dl, 4 - or dl, al - mov edi, edx - shl r10b, 3 - or r10b, r9b - movzx edx, byte ptr [rsp + 72] # 1-byte Folded Reload - shl dl, 5 - or dl, dil + mov r10d, eax + shl r8b, 2 + or r8b, dil + movzx eax, byte ptr [rsp + 112] # 1-byte Folded Reload + shl al, 4 + or al, r10b + mov edi, eax + shl r9b, 3 + or r9b, r8b + movzx eax, byte ptr [rsp + 72] # 1-byte Folded Reload + shl al, 5 + or al, dil shl r11b, 4 - or r11b, r10b + or r11b, r9b shl r12b, 5 or r12b, r11b movzx edi, byte ptr [rsp + 160] # 1-byte Folded Reload shl dil, 6 shl cl, 7 or cl, dil - or bl, dl + or bl, al or cl, r12b - mov r14, qword ptr [rsp + 128] # 8-byte Reload - movzx edx, byte ptr [rsp + 176] # 1-byte Folded Reload - add dl, dl - add dl, byte ptr [rsp + 96] # 1-byte Folded Reload - mov edi, edx - movzx edx, byte ptr [rsp + 120] # 1-byte Folded Reload - shl dl, 2 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 88] # 1-byte Folded Reload - shl dl, 3 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 80] # 1-byte Folded Reload - shl dl, 4 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 104] # 1-byte Folded Reload - shl dl, 5 - or dl, dil - mov byte ptr [r14], bl + mov r12, qword ptr [rsp + 128] # 8-byte Reload + movzx eax, byte ptr [rsp + 176] # 1-byte Folded Reload + add al, al + add al, byte ptr [rsp + 96] # 1-byte Folded Reload + mov edi, eax + movzx eax, byte ptr [rsp + 120] # 1-byte Folded Reload + shl al, 2 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 88] # 1-byte Folded Reload + shl al, 3 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 80] # 1-byte Folded Reload + shl al, 4 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 104] # 1-byte Folded Reload + shl al, 5 + or al, dil + mov byte ptr [r12], bl movzx ebx, byte ptr [rsp + 56] # 1-byte Folded Reload shl bl, 6 shl r15b, 7 or r15b, bl - mov byte ptr [r14 + 1], cl - or r15b, dl - movzx ecx, byte ptr [rsp + 64] # 1-byte Folded Reload - add cl, cl - add cl, byte ptr [rsp + 32] # 1-byte Folded Reload - mov edx, ecx - movzx ecx, byte ptr [rsp + 24] # 1-byte Folded Reload - shl cl, 2 - or cl, dl - mov edx, ecx - movzx ecx, byte ptr [rsp + 48] # 1-byte Folded Reload - shl cl, 3 - or cl, dl - mov edx, ecx - movzx ecx, byte ptr [rsp + 16] # 1-byte Folded Reload - shl cl, 4 - or cl, dl - mov edx, ecx - movzx ecx, byte ptr [rsp + 40] # 1-byte Folded Reload - shl cl, 5 - or cl, dl - movzx edx, byte ptr [rsp + 8] # 1-byte Folded Reload - shl dl, 6 - shl r8b, 7 - or r8b, dl - or r8b, cl - mov byte ptr [r14 + 2], r15b - mov byte ptr [r14 + 3], r8b + mov byte ptr [r12 + 1], cl + or r15b, al + movzx eax, byte ptr [rsp + 64] # 1-byte Folded Reload + add al, al + add al, byte ptr [rsp + 40] # 1-byte Folded Reload + mov ecx, eax + movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload + shl al, 2 + or al, cl + mov ecx, eax + movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload + shl al, 3 + or al, cl + mov ecx, eax + movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload + shl al, 4 + or al, cl + mov ecx, eax + movzx eax, byte ptr [rsp + 24] # 1-byte Folded Reload + shl al, 5 + or al, cl + movzx ecx, byte ptr [rsp + 8] # 1-byte Folded Reload + shl cl, 6 + shl dl, 7 + or dl, cl + or dl, al + mov byte ptr [r12 + 2], r15b + mov byte ptr [r12 + 3], dl add rsi, 128 - add r14, 4 - add qword ptr [rsp + 224], -1 # 8-byte Folded Spill + add r12, 4 + add qword ptr [rsp + 240], -1 # 8-byte Folded Spill jne .LBB4_11 # %bb.12: - mov r15, qword ptr [rsp + 144] # 8-byte Reload - mov r10, qword ptr [rsp + 208] # 8-byte Reload + mov r14, qword ptr [rsp + 144] # 8-byte Reload + mov r10, qword ptr [rsp + 192] # 8-byte Reload .LBB4_13: shl r10, 5 - cmp r10, r15 - jge .LBB4_179 + cmp r10, r14 + jge .LBB4_174 # %bb.14: - mov r8, r15 + mov r8, r14 sub r8, r10 not r10 - add r10, r15 + add r10, r14 je .LBB4_82 # %bb.15: mov r10, r8 @@ -18576,7 +19422,8 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 neg al mov rdi, r11 shr rdi, 3 - movzx r9d, byte ptr [r14 + rdi] + mov r14, r12 + movzx r9d, byte ptr [r12 + rdi] mov ecx, r11d and cl, 6 mov bl, 1 @@ -18584,7 +19431,7 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 xor al, r9b and bl, al xor bl, r9b - mov byte ptr [r14 + rdi], bl + mov byte ptr [r12 + rdi], bl add r11, 2 cmp dword ptr [rsi + 4], r13d lea rsi, [rsi + 8] @@ -18596,26 +19443,26 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 shl dl, cl and dl, al xor dl, bl - mov byte ptr [r14 + rdi], dl + mov byte ptr [r12 + rdi], dl cmp r10, r11 jne .LBB4_16 - jmp .LBB4_153 + jmp .LBB4_151 .LBB4_17: cmp edi, 8 jle .LBB4_46 # %bb.18: cmp edi, 9 - je .LBB4_107 + je .LBB4_114 # %bb.19: cmp edi, 11 - je .LBB4_118 + je .LBB4_125 # %bb.20: cmp edi, 12 - jne .LBB4_179 + jne .LBB4_174 # %bb.21: - lea r10, [r15 + 31] - test r15, r15 - cmovns r10, r15 + lea r10, [r14 + 31] + test r14, r14 + cmovns r10, r14 lea eax, [r9 + 7] test r9d, r9d cmovns eax, r9d @@ -18629,13 +19476,16 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 .LBB4_23: # =>This Inner Loop Header: Depth=1 ucomisd xmm0, qword ptr [rsi] lea rsi, [rsi + 8] + setp cl setne dl + or dl, cl neg dl lea rdi, [rax + 7] test rax, rax cmovns rdi, rax sar rdi, 3 - movzx r9d, byte ptr [r14 + rdi] + mov r11, r12 + movzx r9d, byte ptr [r12 + rdi] xor dl, r9b lea r8d, [8*rdi] mov ecx, eax @@ -18645,202 +19495,291 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 shl ebx, cl and bl, dl xor bl, r9b - mov byte ptr [r14 + rdi], bl + mov byte ptr [r12 + rdi], bl add rax, 1 cmp rax, 8 jne .LBB4_23 # %bb.24: - add r14, 1 + add r12, 1 .LBB4_25: sar r10, 5 - cmp r15, 32 + cmp r14, 32 jl .LBB4_29 # %bb.26: - mov qword ptr [rsp + 144], r15 # 8-byte Spill - mov qword ptr [rsp + 224], r10 # 8-byte Spill - mov qword ptr [rsp + 152], r10 # 8-byte Spill + mov qword ptr [rsp + 144], r14 # 8-byte Spill + mov qword ptr [rsp + 216], r10 # 8-byte Spill + mov qword ptr [rsp + 272], r10 # 8-byte Spill .p2align 4, 0x90 .LBB4_27: # =>This Inner Loop Header: Depth=1 - mov qword ptr [rsp + 128], r14 # 8-byte Spill + mov qword ptr [rsp + 128], r12 # 8-byte Spill ucomisd xmm0, qword ptr [rsi] - setne byte ptr [rsp + 136] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 32], cl # 1-byte Spill ucomisd xmm0, qword ptr [rsi + 8] - setne r9b + setp al + setne r13b + or r13b, al ucomisd xmm0, qword ptr [rsi + 16] - setne r14b + setp al + setne cl + or cl, al + mov byte ptr [rsp + 48], cl # 1-byte Spill ucomisd xmm0, qword ptr [rsi + 24] - setne r13b + setp al + setne cl + or cl, al + mov byte ptr [rsp + 16], cl # 1-byte Spill ucomisd xmm0, qword ptr [rsi + 32] - setne byte ptr [rsp + 112] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 40], cl # 1-byte Spill ucomisd xmm0, qword ptr [rsi + 40] - setne byte ptr [rsp + 72] # 1-byte Folded Spill + setp al + setne r12b + or r12b, al ucomisd xmm0, qword ptr [rsi + 48] - setne al + setp al + setne cl + or cl, al + mov byte ptr [rsp + 56], cl # 1-byte Spill ucomisd xmm0, qword ptr [rsi + 56] - setne bl + setp al + setne cl + or cl, al + mov byte ptr [rsp + 8], cl # 1-byte Spill ucomisd xmm0, qword ptr [rsi + 64] - setne byte ptr [rsp + 160] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 64], cl # 1-byte Spill ucomisd xmm0, qword ptr [rsi + 72] - setne dl + setp al + setne cl + or cl, al + mov byte ptr [rsp + 104], cl # 1-byte Spill ucomisd xmm0, qword ptr [rsi + 80] - setne dil + setp al + setne cl + or cl, al + mov byte ptr [rsp + 72], cl # 1-byte Spill ucomisd xmm0, qword ptr [rsi + 88] - setne r10b + setp al + setne bl + or bl, al ucomisd xmm0, qword ptr [rsi + 96] - setne r11b + setp al + setne cl + or cl, al + mov byte ptr [rsp + 24], cl # 1-byte Spill ucomisd xmm0, qword ptr [rsi + 104] - setne r12b + setp al + setne cl + or cl, al + mov byte ptr [rsp + 96], cl # 1-byte Spill ucomisd xmm0, qword ptr [rsi + 112] - setne byte ptr [rsp + 176] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 88], cl # 1-byte Spill ucomisd xmm0, qword ptr [rsi + 120] + setp al setne cl + or cl, al + mov byte ptr [rsp + 112], cl # 1-byte Spill ucomisd xmm0, qword ptr [rsi + 128] - setne byte ptr [rsp + 96] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 80], cl # 1-byte Spill ucomisd xmm0, qword ptr [rsi + 136] - setne byte ptr [rsp + 192] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 120], cl # 1-byte Spill ucomisd xmm0, qword ptr [rsi + 144] - setne byte ptr [rsp + 120] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 176], cl # 1-byte Spill ucomisd xmm0, qword ptr [rsi + 152] - setne byte ptr [rsp + 88] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 160], cl # 1-byte Spill ucomisd xmm0, qword ptr [rsi + 160] - setne byte ptr [rsp + 80] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 224], cl # 1-byte Spill ucomisd xmm0, qword ptr [rsi + 168] - setne byte ptr [rsp + 104] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 152], cl # 1-byte Spill ucomisd xmm0, qword ptr [rsi + 176] - setne byte ptr [rsp + 56] # 1-byte Folded Spill - ucomisd xmm0, qword ptr [rsi + 184] + setp al setne r15b + or r15b, al + ucomisd xmm0, qword ptr [rsi + 184] + setp al + setne r8b + or r8b, al ucomisd xmm0, qword ptr [rsi + 192] - setne byte ptr [rsp + 32] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 136], cl # 1-byte Spill ucomisd xmm0, qword ptr [rsi + 200] - setne byte ptr [rsp + 64] # 1-byte Folded Spill + setp al + setne r11b + or r11b, al ucomisd xmm0, qword ptr [rsi + 208] - setne byte ptr [rsp + 24] # 1-byte Folded Spill + setp al + setne r10b + or r10b, al ucomisd xmm0, qword ptr [rsi + 216] - setne byte ptr [rsp + 48] # 1-byte Folded Spill + setp al + setne r9b + or r9b, al ucomisd xmm0, qword ptr [rsi + 224] - setne byte ptr [rsp + 16] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 192], cl # 1-byte Spill ucomisd xmm0, qword ptr [rsi + 232] - setne byte ptr [rsp + 40] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 240], cl # 1-byte Spill ucomisd xmm0, qword ptr [rsi + 240] - setne byte ptr [rsp + 8] # 1-byte Folded Spill + setp al + setne dil + or dil, al ucomisd xmm0, qword ptr [rsi + 248] - setne r8b - add r9b, r9b - add r9b, byte ptr [rsp + 136] # 1-byte Folded Reload - shl al, 6 - shl bl, 7 - or bl, al - shl r14b, 2 - or r14b, r9b - add dl, dl - add dl, byte ptr [rsp + 160] # 1-byte Folded Reload - shl r13b, 3 - or r13b, r14b - shl dil, 2 - or dil, dl - movzx edx, byte ptr [rsp + 112] # 1-byte Folded Reload - shl dl, 4 - or dl, r13b - mov r9d, edx - mov r14, qword ptr [rsp + 128] # 8-byte Reload - shl r10b, 3 - or r10b, dil - movzx edx, byte ptr [rsp + 72] # 1-byte Folded Reload - shl dl, 5 - or dl, r9b - shl r11b, 4 - or r11b, r10b - shl r12b, 5 - or r12b, r11b - movzx edi, byte ptr [rsp + 176] # 1-byte Folded Reload - shl dil, 6 - shl cl, 7 - or cl, dil - or bl, dl - or cl, r12b - movzx eax, byte ptr [rsp + 192] # 1-byte Folded Reload - add al, al - add al, byte ptr [rsp + 96] # 1-byte Folded Reload - movzx edx, byte ptr [rsp + 120] # 1-byte Folded Reload - shl dl, 2 + setp al + setne dl or dl, al - mov edi, edx - movzx edx, byte ptr [rsp + 88] # 1-byte Folded Reload - shl dl, 3 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 80] # 1-byte Folded Reload - shl dl, 4 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 104] # 1-byte Folded Reload - shl dl, 5 - or dl, dil - mov byte ptr [r14], bl - movzx ebx, byte ptr [rsp + 56] # 1-byte Folded Reload - shl bl, 6 - shl r15b, 7 - or r15b, bl - mov byte ptr [r14 + 1], cl - or r15b, dl - movzx ecx, byte ptr [rsp + 64] # 1-byte Folded Reload + add r13b, r13b + add r13b, byte ptr [rsp + 32] # 1-byte Folded Reload + mov eax, r13d + shl r12b, 5 + movzx r13d, byte ptr [rsp + 56] # 1-byte Folded Reload + shl r13b, 6 + or r13b, r12b + movzx r12d, byte ptr [rsp + 48] # 1-byte Folded Reload + shl r12b, 2 + or r12b, al + movzx ecx, byte ptr [rsp + 104] # 1-byte Folded Reload add cl, cl - add cl, byte ptr [rsp + 32] # 1-byte Folded Reload - mov edx, ecx - movzx ecx, byte ptr [rsp + 24] # 1-byte Folded Reload - shl cl, 2 - or cl, dl - mov edx, ecx - movzx ecx, byte ptr [rsp + 48] # 1-byte Folded Reload + add cl, byte ptr [rsp + 64] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + shl al, 7 + or al, r13b + mov byte ptr [rsp + 8], al # 1-byte Spill + movzx eax, byte ptr [rsp + 72] # 1-byte Folded Reload + shl al, 2 + or al, cl + mov ecx, eax + movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload + shl al, 3 + or al, r12b + shl bl, 3 + or bl, cl + movzx r13d, byte ptr [rsp + 40] # 1-byte Folded Reload + shl r13b, 4 + or r13b, al + movzx eax, byte ptr [rsp + 24] # 1-byte Folded Reload + shl al, 4 + or al, bl + mov byte ptr [rsp + 24], al # 1-byte Spill + movzx ecx, byte ptr [rsp + 96] # 1-byte Folded Reload + shl cl, 5 + movzx eax, byte ptr [rsp + 88] # 1-byte Folded Reload + shl al, 6 + or al, cl + mov ecx, eax + movzx r14d, byte ptr [rsp + 112] # 1-byte Folded Reload + shl r14b, 7 + or r14b, al + movzx ecx, byte ptr [rsp + 120] # 1-byte Folded Reload + add cl, cl + add cl, byte ptr [rsp + 80] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 176] # 1-byte Folded Reload + shl bl, 2 + or bl, cl + mov r12, qword ptr [rsp + 128] # 8-byte Reload + movzx ecx, byte ptr [rsp + 160] # 1-byte Folded Reload shl cl, 3 - or cl, dl - mov edx, ecx - movzx ecx, byte ptr [rsp + 16] # 1-byte Folded Reload + or cl, bl + mov ebx, ecx + movzx ecx, byte ptr [rsp + 224] # 1-byte Folded Reload shl cl, 4 - or cl, dl - mov edx, ecx - movzx ecx, byte ptr [rsp + 40] # 1-byte Folded Reload - shl cl, 5 - or cl, dl - movzx edx, byte ptr [rsp + 8] # 1-byte Folded Reload - shl dl, 6 + or cl, bl + movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + or al, r13b + movzx ebx, byte ptr [rsp + 152] # 1-byte Folded Reload + shl bl, 5 + shl r15b, 6 + or r15b, bl + or r14b, byte ptr [rsp + 24] # 1-byte Folded Reload shl r8b, 7 - or r8b, dl + or r8b, r15b or r8b, cl - mov byte ptr [r14 + 2], r15b - mov byte ptr [r14 + 3], r8b + add r11b, r11b + add r11b, byte ptr [rsp + 136] # 1-byte Folded Reload + shl r10b, 2 + or r10b, r11b + shl r9b, 3 + or r9b, r10b + movzx ecx, byte ptr [rsp + 192] # 1-byte Folded Reload + shl cl, 4 + or cl, r9b + mov ebx, ecx + mov byte ptr [r12], al + movzx ecx, byte ptr [rsp + 240] # 1-byte Folded Reload + shl cl, 5 + shl dil, 6 + or dil, cl + mov byte ptr [r12 + 1], r14b + shl dl, 7 + or dl, dil + or dl, bl + mov byte ptr [r12 + 2], r8b + mov byte ptr [r12 + 3], dl add rsi, 256 - add r14, 4 - add qword ptr [rsp + 152], -1 # 8-byte Folded Spill + add r12, 4 + add qword ptr [rsp + 272], -1 # 8-byte Folded Spill jne .LBB4_27 # %bb.28: - mov r15, qword ptr [rsp + 144] # 8-byte Reload - mov r10, qword ptr [rsp + 224] # 8-byte Reload + mov r14, qword ptr [rsp + 144] # 8-byte Reload + mov r10, qword ptr [rsp + 216] # 8-byte Reload .LBB4_29: shl r10, 5 - cmp r10, r15 - jge .LBB4_179 + cmp r10, r14 + jge .LBB4_174 # %bb.30: - mov r8, r15 + mov r8, r14 sub r8, r10 not r10 - add r10, r15 - jne .LBB4_162 + add r10, r14 + jne .LBB4_160 # %bb.31: xor r11d, r11d - jmp .LBB4_164 + jmp .LBB4_162 .LBB4_32: cmp edi, 2 je .LBB4_60 # %bb.33: cmp edi, 3 - jne .LBB4_179 + jne .LBB4_174 # %bb.34: mov r11b, byte ptr [rdx] - lea r10, [r15 + 31] - test r15, r15 - cmovns r10, r15 + lea r10, [r14 + 31] + test r14, r14 + cmovns r10, r14 lea eax, [r9 + 7] test r9d, r9d cmovns eax, r9d @@ -18859,7 +19798,8 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 test rax, rax cmovns rdi, rax sar rdi, 3 - movzx r9d, byte ptr [r14 + rdi] + mov r15, r12 + movzx r9d, byte ptr [r12 + rdi] xor dl, r9b lea r8d, [8*rdi] mov ecx, eax @@ -18869,44 +19809,44 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 shl ebx, cl and bl, dl xor bl, r9b - mov byte ptr [r14 + rdi], bl + mov byte ptr [r12 + rdi], bl add rax, 1 cmp rax, 8 jne .LBB4_36 # %bb.37: - add r14, 1 + add r12, 1 .LBB4_38: sar r10, 5 - cmp r15, 32 - jl .LBB4_130 + cmp r14, 32 + jl .LBB4_137 # %bb.39: cmp r10, 16 mov byte ptr [rsp + 8], r11b # 1-byte Spill - mov qword ptr [rsp + 144], r15 # 8-byte Spill - mov qword ptr [rsp + 248], r10 # 8-byte Spill + mov qword ptr [rsp + 144], r14 # 8-byte Spill + mov qword ptr [rsp + 264], r10 # 8-byte Spill jb .LBB4_42 # %bb.40: mov rax, r10 shl rax, 5 add rax, rsi - cmp r14, rax - jae .LBB4_180 + cmp r12, rax + jae .LBB4_179 # %bb.41: - lea rax, [r14 + 4*r10] + lea rax, [r12 + 4*r10] cmp rsi, rax - jae .LBB4_180 + jae .LBB4_179 .LBB4_42: xor eax, eax - mov qword ptr [rsp + 240], rax # 8-byte Spill - mov qword ptr [rsp + 104], r14 # 8-byte Spill + mov qword ptr [rsp + 216], rax # 8-byte Spill + mov qword ptr [rsp + 104], r12 # 8-byte Spill .LBB4_43: - sub r10, qword ptr [rsp + 240] # 8-byte Folded Reload - mov qword ptr [rsp + 208], r10 # 8-byte Spill + sub r10, qword ptr [rsp + 216] # 8-byte Folded Reload + mov qword ptr [rsp + 192], r10 # 8-byte Spill .p2align 4, 0x90 .LBB4_44: # =>This Inner Loop Header: Depth=1 mov rcx, rsi cmp byte ptr [rsi], r11b - setne byte ptr [rsp + 224] # 1-byte Folded Spill + setne byte ptr [rsp + 240] # 1-byte Folded Spill cmp byte ptr [rsi + 1], r11b setne sil cmp byte ptr [rcx + 2], r11b @@ -18928,7 +19868,7 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 setne r9b movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload cmp byte ptr [rcx + 8], al - setne byte ptr [rsp + 192] # 1-byte Folded Spill + setne byte ptr [rsp + 224] # 1-byte Folded Spill movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload cmp byte ptr [rcx + 9], al setne dl @@ -18979,19 +19919,19 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 setne byte ptr [rsp + 64] # 1-byte Folded Spill movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload cmp byte ptr [rcx + 25], bl - setne byte ptr [rsp + 24] # 1-byte Folded Spill + setne byte ptr [rsp + 32] # 1-byte Folded Spill movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload cmp byte ptr [rcx + 26], bl setne byte ptr [rsp + 48] # 1-byte Folded Spill movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload cmp byte ptr [rcx + 27], bl - setne byte ptr [rsp + 32] # 1-byte Folded Spill + setne byte ptr [rsp + 40] # 1-byte Folded Spill movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload cmp byte ptr [rcx + 28], bl setne byte ptr [rsp + 16] # 1-byte Folded Spill movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload cmp byte ptr [rcx + 29], bl - setne byte ptr [rsp + 40] # 1-byte Folded Spill + setne byte ptr [rsp + 24] # 1-byte Folded Spill movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload cmp byte ptr [rcx + 30], bl setne byte ptr [rsp + 128] # 1-byte Folded Spill @@ -18999,7 +19939,7 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 cmp byte ptr [rcx + 31], bl setne bl add sil, sil - add sil, byte ptr [rsp + 224] # 1-byte Folded Reload + add sil, byte ptr [rsp + 240] # 1-byte Folded Reload movzx eax, byte ptr [rsp + 152] # 1-byte Folded Reload shl al, 6 shl r9b, 7 @@ -19007,7 +19947,7 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 shl r15b, 2 or r15b, sil add dl, dl - add dl, byte ptr [rsp + 192] # 1-byte Folded Reload + add dl, byte ptr [rsp + 224] # 1-byte Folded Reload shl r12b, 3 or r12b, r15b movzx r15d, byte ptr [rsp + 8] # 1-byte Folded Reload @@ -19059,7 +19999,7 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 or r11b, dil mov byte ptr [rdx + 1], r8b or r11b, sil - movzx eax, byte ptr [rsp + 24] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload add al, al add al, byte ptr [rsp + 64] # 1-byte Folded Reload mov esi, eax @@ -19067,7 +20007,7 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 shl al, 2 or al, sil mov esi, eax - movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload shl al, 3 or al, sil mov esi, eax @@ -19075,7 +20015,7 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 shl al, 4 or al, sil mov esi, eax - movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 24] # 1-byte Folded Reload shl al, 5 or al, sil movzx esi, byte ptr [rsp + 128] # 1-byte Folded Reload @@ -19089,23 +20029,23 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 lea rsi, [rcx + 32] add rdx, 4 mov qword ptr [rsp + 104], rdx # 8-byte Spill - add qword ptr [rsp + 208], -1 # 8-byte Folded Spill + add qword ptr [rsp + 192], -1 # 8-byte Folded Spill jne .LBB4_44 # %bb.45: - mov r15, qword ptr [rsp + 144] # 8-byte Reload - mov r10, qword ptr [rsp + 248] # 8-byte Reload - jmp .LBB4_131 + mov r14, qword ptr [rsp + 144] # 8-byte Reload + mov r10, qword ptr [rsp + 264] # 8-byte Reload + jmp .LBB4_138 .LBB4_46: cmp edi, 7 je .LBB4_72 # %bb.47: cmp edi, 8 - jne .LBB4_179 + jne .LBB4_174 # %bb.48: mov r13, qword ptr [rdx] - lea r10, [r15 + 31] - test r15, r15 - cmovns r10, r15 + lea r10, [r14 + 31] + test r14, r14 + cmovns r10, r14 lea eax, [r9 + 7] test r9d, r9d cmovns eax, r9d @@ -19124,7 +20064,8 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 test rax, rax cmovns rbx, rax sar rbx, 3 - movzx r8d, byte ptr [r14 + rbx] + mov r9, r12 + movzx r8d, byte ptr [r12 + rbx] xor dl, r8b lea edi, [8*rbx] mov ecx, eax @@ -19134,27 +20075,27 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 shl edi, cl and dil, dl xor dil, r8b - mov byte ptr [r14 + rbx], dil + mov byte ptr [r12 + rbx], dil add rax, 1 cmp rax, 8 jne .LBB4_50 # %bb.51: - add r14, 1 + add r12, 1 .LBB4_52: sar r10, 5 - cmp r15, 32 + cmp r14, 32 jl .LBB4_56 # %bb.53: - mov qword ptr [rsp + 144], r15 # 8-byte Spill - mov qword ptr [rsp + 208], r10 # 8-byte Spill - mov qword ptr [rsp + 224], r10 # 8-byte Spill + mov qword ptr [rsp + 144], r14 # 8-byte Spill + mov qword ptr [rsp + 192], r10 # 8-byte Spill + mov qword ptr [rsp + 240], r10 # 8-byte Spill .p2align 4, 0x90 .LBB4_54: # =>This Inner Loop Header: Depth=1 - mov qword ptr [rsp + 128], r14 # 8-byte Spill + mov qword ptr [rsp + 128], r12 # 8-byte Spill cmp qword ptr [rsi], r13 setne byte ptr [rsp + 152] # 1-byte Folded Spill cmp qword ptr [rsi + 8], r13 - setne dil + setne r10b cmp qword ptr [rsi + 16], r13 setne r14b cmp qword ptr [rsi + 24], r13 @@ -19168,13 +20109,13 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 cmp qword ptr [rsi + 56], r13 setne bl cmp qword ptr [rsi + 64], r13 - setne byte ptr [rsp + 192] # 1-byte Folded Spill + setne byte ptr [rsp + 224] # 1-byte Folded Spill cmp qword ptr [rsi + 72], r13 - setne dl + setne dil cmp qword ptr [rsi + 80], r13 - setne r9b + setne r8b cmp qword ptr [rsi + 88], r13 - setne r10b + setne r9b cmp qword ptr [rsi + 96], r13 setne r11b cmp qword ptr [rsi + 104], r13 @@ -19200,124 +20141,125 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 cmp qword ptr [rsi + 184], r13 setne r15b cmp qword ptr [rsi + 192], r13 - setne byte ptr [rsp + 32] # 1-byte Folded Spill + setne byte ptr [rsp + 40] # 1-byte Folded Spill cmp qword ptr [rsi + 200], r13 setne byte ptr [rsp + 64] # 1-byte Folded Spill cmp qword ptr [rsi + 208], r13 - setne byte ptr [rsp + 24] # 1-byte Folded Spill + setne byte ptr [rsp + 32] # 1-byte Folded Spill cmp qword ptr [rsi + 216], r13 setne byte ptr [rsp + 48] # 1-byte Folded Spill cmp qword ptr [rsi + 224], r13 setne byte ptr [rsp + 16] # 1-byte Folded Spill cmp qword ptr [rsi + 232], r13 - setne byte ptr [rsp + 40] # 1-byte Folded Spill + setne byte ptr [rsp + 24] # 1-byte Folded Spill cmp qword ptr [rsi + 240], r13 setne byte ptr [rsp + 8] # 1-byte Folded Spill cmp qword ptr [rsi + 248], r13 - setne r8b - add dil, dil - add dil, byte ptr [rsp + 152] # 1-byte Folded Reload + setne dl + add r10b, r10b + add r10b, byte ptr [rsp + 152] # 1-byte Folded Reload shl al, 6 shl bl, 7 or bl, al shl r14b, 2 - or r14b, dil - add dl, dl - add dl, byte ptr [rsp + 192] # 1-byte Folded Reload + or r14b, r10b + add dil, dil + add dil, byte ptr [rsp + 224] # 1-byte Folded Reload movzx eax, byte ptr [rsp + 136] # 1-byte Folded Reload shl al, 3 or al, r14b - shl r9b, 2 - or r9b, dl - movzx edx, byte ptr [rsp + 112] # 1-byte Folded Reload - shl dl, 4 - or dl, al - mov edi, edx - shl r10b, 3 - or r10b, r9b - movzx edx, byte ptr [rsp + 72] # 1-byte Folded Reload - shl dl, 5 - or dl, dil + mov r10d, eax + shl r8b, 2 + or r8b, dil + movzx eax, byte ptr [rsp + 112] # 1-byte Folded Reload + shl al, 4 + or al, r10b + mov edi, eax + shl r9b, 3 + or r9b, r8b + movzx eax, byte ptr [rsp + 72] # 1-byte Folded Reload + shl al, 5 + or al, dil shl r11b, 4 - or r11b, r10b + or r11b, r9b shl r12b, 5 or r12b, r11b movzx edi, byte ptr [rsp + 160] # 1-byte Folded Reload shl dil, 6 shl cl, 7 or cl, dil - or bl, dl + or bl, al or cl, r12b - mov r14, qword ptr [rsp + 128] # 8-byte Reload - movzx edx, byte ptr [rsp + 176] # 1-byte Folded Reload - add dl, dl - add dl, byte ptr [rsp + 96] # 1-byte Folded Reload - mov edi, edx - movzx edx, byte ptr [rsp + 120] # 1-byte Folded Reload - shl dl, 2 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 88] # 1-byte Folded Reload - shl dl, 3 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 80] # 1-byte Folded Reload - shl dl, 4 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 104] # 1-byte Folded Reload - shl dl, 5 - or dl, dil - mov byte ptr [r14], bl + mov r12, qword ptr [rsp + 128] # 8-byte Reload + movzx eax, byte ptr [rsp + 176] # 1-byte Folded Reload + add al, al + add al, byte ptr [rsp + 96] # 1-byte Folded Reload + mov edi, eax + movzx eax, byte ptr [rsp + 120] # 1-byte Folded Reload + shl al, 2 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 88] # 1-byte Folded Reload + shl al, 3 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 80] # 1-byte Folded Reload + shl al, 4 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 104] # 1-byte Folded Reload + shl al, 5 + or al, dil + mov byte ptr [r12], bl movzx ebx, byte ptr [rsp + 56] # 1-byte Folded Reload shl bl, 6 shl r15b, 7 or r15b, bl - mov byte ptr [r14 + 1], cl - or r15b, dl - movzx ecx, byte ptr [rsp + 64] # 1-byte Folded Reload - add cl, cl - add cl, byte ptr [rsp + 32] # 1-byte Folded Reload - mov edx, ecx - movzx ecx, byte ptr [rsp + 24] # 1-byte Folded Reload - shl cl, 2 - or cl, dl - mov edx, ecx - movzx ecx, byte ptr [rsp + 48] # 1-byte Folded Reload - shl cl, 3 - or cl, dl - mov edx, ecx - movzx ecx, byte ptr [rsp + 16] # 1-byte Folded Reload - shl cl, 4 - or cl, dl - mov edx, ecx - movzx ecx, byte ptr [rsp + 40] # 1-byte Folded Reload - shl cl, 5 - or cl, dl - movzx edx, byte ptr [rsp + 8] # 1-byte Folded Reload - shl dl, 6 - shl r8b, 7 - or r8b, dl - or r8b, cl - mov byte ptr [r14 + 2], r15b - mov byte ptr [r14 + 3], r8b + mov byte ptr [r12 + 1], cl + or r15b, al + movzx eax, byte ptr [rsp + 64] # 1-byte Folded Reload + add al, al + add al, byte ptr [rsp + 40] # 1-byte Folded Reload + mov ecx, eax + movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload + shl al, 2 + or al, cl + mov ecx, eax + movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload + shl al, 3 + or al, cl + mov ecx, eax + movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload + shl al, 4 + or al, cl + mov ecx, eax + movzx eax, byte ptr [rsp + 24] # 1-byte Folded Reload + shl al, 5 + or al, cl + movzx ecx, byte ptr [rsp + 8] # 1-byte Folded Reload + shl cl, 6 + shl dl, 7 + or dl, cl + or dl, al + mov byte ptr [r12 + 2], r15b + mov byte ptr [r12 + 3], dl add rsi, 256 - add r14, 4 - add qword ptr [rsp + 224], -1 # 8-byte Folded Spill + add r12, 4 + add qword ptr [rsp + 240], -1 # 8-byte Folded Spill jne .LBB4_54 # %bb.55: - mov r15, qword ptr [rsp + 144] # 8-byte Reload - mov r10, qword ptr [rsp + 208] # 8-byte Reload + mov r14, qword ptr [rsp + 144] # 8-byte Reload + mov r10, qword ptr [rsp + 192] # 8-byte Reload .LBB4_56: shl r10, 5 - cmp r10, r15 - jge .LBB4_179 + cmp r10, r14 + jge .LBB4_174 # %bb.57: - mov r8, r15 + mov r8, r14 sub r8, r10 not r10 - add r10, r15 - je .LBB4_117 + add r10, r14 + je .LBB4_124 # %bb.58: mov r10, r8 and r10, -2 @@ -19329,7 +20271,8 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 neg al mov rdi, r11 shr rdi, 3 - movzx r9d, byte ptr [r14 + rdi] + mov r14, r12 + movzx r9d, byte ptr [r12 + rdi] mov ecx, r11d and cl, 6 mov bl, 1 @@ -19337,7 +20280,7 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 xor al, r9b and bl, al xor bl, r9b - mov byte ptr [r14 + rdi], bl + mov byte ptr [r12 + rdi], bl add r11, 2 cmp qword ptr [rsi + 8], r13 lea rsi, [rsi + 16] @@ -19349,15 +20292,15 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 shl dl, cl and dl, al xor dl, bl - mov byte ptr [r14 + rdi], dl + mov byte ptr [r12 + rdi], dl cmp r10, r11 jne .LBB4_59 - jmp .LBB4_168 + jmp .LBB4_170 .LBB4_60: mov r11b, byte ptr [rdx] - lea r10, [r15 + 31] - test r15, r15 - cmovns r10, r15 + lea r10, [r14 + 31] + test r14, r14 + cmovns r10, r14 lea eax, [r9 + 7] test r9d, r9d cmovns eax, r9d @@ -19376,7 +20319,8 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 test rax, rax cmovns rdi, rax sar rdi, 3 - movzx r9d, byte ptr [r14 + rdi] + mov r15, r12 + movzx r9d, byte ptr [r12 + rdi] xor dl, r9b lea r8d, [8*rdi] mov ecx, eax @@ -19386,44 +20330,44 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 shl ebx, cl and bl, dl xor bl, r9b - mov byte ptr [r14 + rdi], bl + mov byte ptr [r12 + rdi], bl add rax, 1 cmp rax, 8 jne .LBB4_62 # %bb.63: - add r14, 1 + add r12, 1 .LBB4_64: sar r10, 5 - cmp r15, 32 - jl .LBB4_134 + cmp r14, 32 + jl .LBB4_141 # %bb.65: cmp r10, 16 mov byte ptr [rsp + 8], r11b # 1-byte Spill - mov qword ptr [rsp + 144], r15 # 8-byte Spill - mov qword ptr [rsp + 256], r10 # 8-byte Spill - jb .LBB4_68 + mov qword ptr [rsp + 144], r14 # 8-byte Spill + mov qword ptr [rsp + 288], r10 # 8-byte Spill + jb .LBB4_68 # %bb.66: mov rax, r10 shl rax, 5 add rax, rsi - cmp r14, rax - jae .LBB4_183 + cmp r12, rax + jae .LBB4_182 # %bb.67: - lea rax, [r14 + 4*r10] + lea rax, [r12 + 4*r10] cmp rsi, rax - jae .LBB4_183 + jae .LBB4_182 .LBB4_68: xor eax, eax - mov qword ptr [rsp + 240], rax # 8-byte Spill - mov qword ptr [rsp + 104], r14 # 8-byte Spill + mov qword ptr [rsp + 216], rax # 8-byte Spill + mov qword ptr [rsp + 104], r12 # 8-byte Spill .LBB4_69: - sub r10, qword ptr [rsp + 240] # 8-byte Folded Reload - mov qword ptr [rsp + 208], r10 # 8-byte Spill + sub r10, qword ptr [rsp + 216] # 8-byte Folded Reload + mov qword ptr [rsp + 192], r10 # 8-byte Spill .p2align 4, 0x90 .LBB4_70: # =>This Inner Loop Header: Depth=1 mov rcx, rsi cmp byte ptr [rsi], r11b - setne byte ptr [rsp + 224] # 1-byte Folded Spill + setne byte ptr [rsp + 240] # 1-byte Folded Spill cmp byte ptr [rsi + 1], r11b setne sil cmp byte ptr [rcx + 2], r11b @@ -19445,7 +20389,7 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 setne r9b movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload cmp byte ptr [rcx + 8], al - setne byte ptr [rsp + 192] # 1-byte Folded Spill + setne byte ptr [rsp + 224] # 1-byte Folded Spill movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload cmp byte ptr [rcx + 9], al setne dl @@ -19496,19 +20440,19 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 setne byte ptr [rsp + 64] # 1-byte Folded Spill movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload cmp byte ptr [rcx + 25], bl - setne byte ptr [rsp + 24] # 1-byte Folded Spill + setne byte ptr [rsp + 32] # 1-byte Folded Spill movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload cmp byte ptr [rcx + 26], bl setne byte ptr [rsp + 48] # 1-byte Folded Spill movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload cmp byte ptr [rcx + 27], bl - setne byte ptr [rsp + 32] # 1-byte Folded Spill + setne byte ptr [rsp + 40] # 1-byte Folded Spill movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload cmp byte ptr [rcx + 28], bl setne byte ptr [rsp + 16] # 1-byte Folded Spill movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload cmp byte ptr [rcx + 29], bl - setne byte ptr [rsp + 40] # 1-byte Folded Spill + setne byte ptr [rsp + 24] # 1-byte Folded Spill movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload cmp byte ptr [rcx + 30], bl setne byte ptr [rsp + 128] # 1-byte Folded Spill @@ -19516,7 +20460,7 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 cmp byte ptr [rcx + 31], bl setne bl add sil, sil - add sil, byte ptr [rsp + 224] # 1-byte Folded Reload + add sil, byte ptr [rsp + 240] # 1-byte Folded Reload movzx eax, byte ptr [rsp + 152] # 1-byte Folded Reload shl al, 6 shl r9b, 7 @@ -19524,7 +20468,7 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 shl r15b, 2 or r15b, sil add dl, dl - add dl, byte ptr [rsp + 192] # 1-byte Folded Reload + add dl, byte ptr [rsp + 224] # 1-byte Folded Reload shl r12b, 3 or r12b, r15b movzx r15d, byte ptr [rsp + 8] # 1-byte Folded Reload @@ -19576,7 +20520,7 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 or r11b, dil mov byte ptr [rdx + 1], r8b or r11b, sil - movzx eax, byte ptr [rsp + 24] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload add al, al add al, byte ptr [rsp + 64] # 1-byte Folded Reload mov esi, eax @@ -19584,7 +20528,7 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 shl al, 2 or al, sil mov esi, eax - movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload shl al, 3 or al, sil mov esi, eax @@ -19592,7 +20536,7 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 shl al, 4 or al, sil mov esi, eax - movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 24] # 1-byte Folded Reload shl al, 5 or al, sil movzx esi, byte ptr [rsp + 128] # 1-byte Folded Reload @@ -19606,17 +20550,17 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 lea rsi, [rcx + 32] add rdx, 4 mov qword ptr [rsp + 104], rdx # 8-byte Spill - add qword ptr [rsp + 208], -1 # 8-byte Folded Spill + add qword ptr [rsp + 192], -1 # 8-byte Folded Spill jne .LBB4_70 # %bb.71: - mov r15, qword ptr [rsp + 144] # 8-byte Reload - mov r10, qword ptr [rsp + 256] # 8-byte Reload - jmp .LBB4_135 + mov r14, qword ptr [rsp + 144] # 8-byte Reload + mov r10, qword ptr [rsp + 288] # 8-byte Reload + jmp .LBB4_142 .LBB4_72: mov r13d, dword ptr [rdx] - lea r10, [r15 + 31] - test r15, r15 - cmovns r10, r15 + lea r10, [r14 + 31] + test r14, r14 + cmovns r10, r14 lea eax, [r9 + 7] test r9d, r9d cmovns eax, r9d @@ -19635,7 +20579,8 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 test rax, rax cmovns rbx, rax sar rbx, 3 - movzx r8d, byte ptr [r14 + rbx] + mov r9, r12 + movzx r8d, byte ptr [r12 + rbx] xor dl, r8b lea edi, [8*rbx] mov ecx, eax @@ -19645,27 +20590,27 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 shl edi, cl and dil, dl xor dil, r8b - mov byte ptr [r14 + rbx], dil + mov byte ptr [r12 + rbx], dil add rax, 1 cmp rax, 8 jne .LBB4_74 # %bb.75: - add r14, 1 + add r12, 1 .LBB4_76: sar r10, 5 - cmp r15, 32 + cmp r14, 32 jl .LBB4_80 # %bb.77: - mov qword ptr [rsp + 144], r15 # 8-byte Spill - mov qword ptr [rsp + 208], r10 # 8-byte Spill - mov qword ptr [rsp + 224], r10 # 8-byte Spill + mov qword ptr [rsp + 144], r14 # 8-byte Spill + mov qword ptr [rsp + 192], r10 # 8-byte Spill + mov qword ptr [rsp + 240], r10 # 8-byte Spill .p2align 4, 0x90 .LBB4_78: # =>This Inner Loop Header: Depth=1 - mov qword ptr [rsp + 128], r14 # 8-byte Spill + mov qword ptr [rsp + 128], r12 # 8-byte Spill cmp dword ptr [rsi], r13d setne byte ptr [rsp + 152] # 1-byte Folded Spill cmp dword ptr [rsi + 4], r13d - setne dil + setne r10b cmp dword ptr [rsi + 8], r13d setne r14b cmp dword ptr [rsi + 12], r13d @@ -19679,13 +20624,13 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 cmp dword ptr [rsi + 28], r13d setne bl cmp dword ptr [rsi + 32], r13d - setne byte ptr [rsp + 192] # 1-byte Folded Spill + setne byte ptr [rsp + 224] # 1-byte Folded Spill cmp dword ptr [rsi + 36], r13d - setne dl + setne dil cmp dword ptr [rsi + 40], r13d - setne r9b + setne r8b cmp dword ptr [rsi + 44], r13d - setne r10b + setne r9b cmp dword ptr [rsi + 48], r13d setne r11b cmp dword ptr [rsi + 52], r13d @@ -19711,132 +20656,133 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 cmp dword ptr [rsi + 92], r13d setne r15b cmp dword ptr [rsi + 96], r13d - setne byte ptr [rsp + 32] # 1-byte Folded Spill + setne byte ptr [rsp + 40] # 1-byte Folded Spill cmp dword ptr [rsi + 100], r13d setne byte ptr [rsp + 64] # 1-byte Folded Spill cmp dword ptr [rsi + 104], r13d - setne byte ptr [rsp + 24] # 1-byte Folded Spill + setne byte ptr [rsp + 32] # 1-byte Folded Spill cmp dword ptr [rsi + 108], r13d setne byte ptr [rsp + 48] # 1-byte Folded Spill cmp dword ptr [rsi + 112], r13d setne byte ptr [rsp + 16] # 1-byte Folded Spill cmp dword ptr [rsi + 116], r13d - setne byte ptr [rsp + 40] # 1-byte Folded Spill + setne byte ptr [rsp + 24] # 1-byte Folded Spill cmp dword ptr [rsi + 120], r13d setne byte ptr [rsp + 8] # 1-byte Folded Spill cmp dword ptr [rsi + 124], r13d - setne r8b - add dil, dil - add dil, byte ptr [rsp + 152] # 1-byte Folded Reload + setne dl + add r10b, r10b + add r10b, byte ptr [rsp + 152] # 1-byte Folded Reload shl al, 6 shl bl, 7 or bl, al shl r14b, 2 - or r14b, dil - add dl, dl - add dl, byte ptr [rsp + 192] # 1-byte Folded Reload + or r14b, r10b + add dil, dil + add dil, byte ptr [rsp + 224] # 1-byte Folded Reload movzx eax, byte ptr [rsp + 136] # 1-byte Folded Reload shl al, 3 or al, r14b - shl r9b, 2 - or r9b, dl - movzx edx, byte ptr [rsp + 112] # 1-byte Folded Reload - shl dl, 4 - or dl, al - mov edi, edx - shl r10b, 3 - or r10b, r9b - movzx edx, byte ptr [rsp + 72] # 1-byte Folded Reload - shl dl, 5 - or dl, dil + mov r10d, eax + shl r8b, 2 + or r8b, dil + movzx eax, byte ptr [rsp + 112] # 1-byte Folded Reload + shl al, 4 + or al, r10b + mov edi, eax + shl r9b, 3 + or r9b, r8b + movzx eax, byte ptr [rsp + 72] # 1-byte Folded Reload + shl al, 5 + or al, dil shl r11b, 4 - or r11b, r10b + or r11b, r9b shl r12b, 5 or r12b, r11b movzx edi, byte ptr [rsp + 160] # 1-byte Folded Reload shl dil, 6 shl cl, 7 or cl, dil - or bl, dl + or bl, al or cl, r12b - mov r14, qword ptr [rsp + 128] # 8-byte Reload - movzx edx, byte ptr [rsp + 176] # 1-byte Folded Reload - add dl, dl - add dl, byte ptr [rsp + 96] # 1-byte Folded Reload - mov edi, edx - movzx edx, byte ptr [rsp + 120] # 1-byte Folded Reload - shl dl, 2 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 88] # 1-byte Folded Reload - shl dl, 3 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 80] # 1-byte Folded Reload - shl dl, 4 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 104] # 1-byte Folded Reload - shl dl, 5 - or dl, dil - mov byte ptr [r14], bl + mov r12, qword ptr [rsp + 128] # 8-byte Reload + movzx eax, byte ptr [rsp + 176] # 1-byte Folded Reload + add al, al + add al, byte ptr [rsp + 96] # 1-byte Folded Reload + mov edi, eax + movzx eax, byte ptr [rsp + 120] # 1-byte Folded Reload + shl al, 2 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 88] # 1-byte Folded Reload + shl al, 3 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 80] # 1-byte Folded Reload + shl al, 4 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 104] # 1-byte Folded Reload + shl al, 5 + or al, dil + mov byte ptr [r12], bl movzx ebx, byte ptr [rsp + 56] # 1-byte Folded Reload shl bl, 6 shl r15b, 7 or r15b, bl - mov byte ptr [r14 + 1], cl - or r15b, dl - movzx ecx, byte ptr [rsp + 64] # 1-byte Folded Reload - add cl, cl - add cl, byte ptr [rsp + 32] # 1-byte Folded Reload - mov edx, ecx - movzx ecx, byte ptr [rsp + 24] # 1-byte Folded Reload - shl cl, 2 - or cl, dl - mov edx, ecx - movzx ecx, byte ptr [rsp + 48] # 1-byte Folded Reload - shl cl, 3 - or cl, dl - mov edx, ecx - movzx ecx, byte ptr [rsp + 16] # 1-byte Folded Reload - shl cl, 4 - or cl, dl - mov edx, ecx - movzx ecx, byte ptr [rsp + 40] # 1-byte Folded Reload - shl cl, 5 - or cl, dl - movzx edx, byte ptr [rsp + 8] # 1-byte Folded Reload - shl dl, 6 - shl r8b, 7 - or r8b, dl - or r8b, cl - mov byte ptr [r14 + 2], r15b - mov byte ptr [r14 + 3], r8b + mov byte ptr [r12 + 1], cl + or r15b, al + movzx eax, byte ptr [rsp + 64] # 1-byte Folded Reload + add al, al + add al, byte ptr [rsp + 40] # 1-byte Folded Reload + mov ecx, eax + movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload + shl al, 2 + or al, cl + mov ecx, eax + movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload + shl al, 3 + or al, cl + mov ecx, eax + movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload + shl al, 4 + or al, cl + mov ecx, eax + movzx eax, byte ptr [rsp + 24] # 1-byte Folded Reload + shl al, 5 + or al, cl + movzx ecx, byte ptr [rsp + 8] # 1-byte Folded Reload + shl cl, 6 + shl dl, 7 + or dl, cl + or dl, al + mov byte ptr [r12 + 2], r15b + mov byte ptr [r12 + 3], dl add rsi, 128 - add r14, 4 - add qword ptr [rsp + 224], -1 # 8-byte Folded Spill + add r12, 4 + add qword ptr [rsp + 240], -1 # 8-byte Folded Spill jne .LBB4_78 # %bb.79: - mov r15, qword ptr [rsp + 144] # 8-byte Reload - mov r10, qword ptr [rsp + 208] # 8-byte Reload + mov r14, qword ptr [rsp + 144] # 8-byte Reload + mov r10, qword ptr [rsp + 192] # 8-byte Reload .LBB4_80: shl r10, 5 - cmp r10, r15 - jge .LBB4_179 + cmp r10, r14 + jge .LBB4_174 # %bb.81: - mov r8, r15 + mov r8, r14 sub r8, r10 not r10 - add r10, r15 - jne .LBB4_151 + add r10, r14 + jne .LBB4_149 .LBB4_82: xor r11d, r11d - jmp .LBB4_153 + jmp .LBB4_151 .LBB4_83: movzx r13d, word ptr [rdx] - lea r10, [r15 + 31] - test r15, r15 - cmovns r10, r15 + lea r10, [r14 + 31] + test r14, r14 + cmovns r10, r14 lea eax, [r9 + 7] test r9d, r9d cmovns eax, r9d @@ -19855,7 +20801,8 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 test rax, rax cmovns rdi, rax sar rdi, 3 - movzx r9d, byte ptr [r14 + rdi] + mov r15, r12 + movzx r9d, byte ptr [r12 + rdi] xor dl, r9b lea r8d, [8*rdi] mov ecx, eax @@ -19865,39 +20812,38 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 shl ebx, cl and bl, dl xor bl, r9b - mov byte ptr [r14 + rdi], bl + mov byte ptr [r12 + rdi], bl add rax, 1 cmp rax, 8 jne .LBB4_85 # %bb.86: - add r14, 1 + add r12, 1 .LBB4_87: sar r10, 5 - cmp r15, 32 - jl .LBB4_138 + cmp r14, 32 + jl .LBB4_95 # %bb.88: cmp r10, 8 - mov qword ptr [rsp + 144], r15 # 8-byte Spill - mov qword ptr [rsp + 208], r10 # 8-byte Spill + mov qword ptr [rsp + 144], r14 # 8-byte Spill + mov qword ptr [rsp + 192], r10 # 8-byte Spill jb .LBB4_91 # %bb.89: mov rax, r10 shl rax, 6 add rax, rsi - cmp r14, rax - jae .LBB4_186 + cmp r12, rax + jae .LBB4_185 # %bb.90: - lea rax, [r14 + 4*r10] + lea rax, [r12 + 4*r10] cmp rax, rsi - jbe .LBB4_186 + jbe .LBB4_185 .LBB4_91: xor eax, eax - mov qword ptr [rsp + 24], rax # 8-byte Spill - mov r12, r14 + mov qword ptr [rsp + 32], rax # 8-byte Spill .LBB4_92: mov qword ptr [rsp + 8], r12 # 8-byte Spill - sub r10, qword ptr [rsp + 24] # 8-byte Folded Reload - mov qword ptr [rsp + 224], r10 # 8-byte Spill + sub r10, qword ptr [rsp + 32] # 8-byte Folded Reload + mov qword ptr [rsp + 240], r10 # 8-byte Spill .p2align 4, 0x90 .LBB4_93: # =>This Inner Loop Header: Depth=1 mov r11, rsi @@ -19918,7 +20864,7 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 cmp word ptr [r11 + 14], r13w setne bl cmp word ptr [r11 + 16], r13w - setne byte ptr [rsp + 192] # 1-byte Folded Spill + setne byte ptr [rsp + 224] # 1-byte Folded Spill cmp word ptr [r11 + 18], r13w setne cl cmp word ptr [r11 + 20], r13w @@ -19954,13 +20900,13 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 cmp word ptr [r11 + 50], r13w setne byte ptr [rsp + 64] # 1-byte Folded Spill cmp word ptr [r11 + 52], r13w - setne byte ptr [rsp + 24] # 1-byte Folded Spill - cmp word ptr [r11 + 54], r13w setne byte ptr [rsp + 32] # 1-byte Folded Spill + cmp word ptr [r11 + 54], r13w + setne byte ptr [rsp + 40] # 1-byte Folded Spill cmp word ptr [r11 + 56], r13w setne byte ptr [rsp + 16] # 1-byte Folded Spill cmp word ptr [r11 + 58], r13w - setne byte ptr [rsp + 40] # 1-byte Folded Spill + setne byte ptr [rsp + 24] # 1-byte Folded Spill cmp word ptr [r11 + 60], r13w setne byte ptr [rsp + 128] # 1-byte Folded Spill cmp word ptr [r11 + 62], r13w @@ -19973,7 +20919,7 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 shl r15b, 2 or r15b, sil add cl, cl - add cl, byte ptr [rsp + 192] # 1-byte Folded Reload + add cl, byte ptr [rsp + 224] # 1-byte Folded Reload shl r12b, 3 or r12b, r15b shl r8b, 2 @@ -20030,11 +20976,11 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 add al, al add al, byte ptr [rsp + 48] # 1-byte Folded Reload mov ebx, eax - movzx eax, byte ptr [rsp + 24] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload shl al, 2 or al, bl mov ebx, eax - movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload shl al, 3 or al, bl mov ebx, eax @@ -20042,7 +20988,7 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 shl al, 4 or al, bl mov ebx, eax - movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 24] # 1-byte Folded Reload shl al, 5 or al, bl movzx ebx, byte ptr [rsp + 128] # 1-byte Folded Reload @@ -20055,28 +21001,73 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 lea rsi, [r11 + 64] add rcx, 4 mov qword ptr [rsp + 8], rcx # 8-byte Spill - add qword ptr [rsp + 224], -1 # 8-byte Folded Spill + add qword ptr [rsp + 240], -1 # 8-byte Folded Spill jne .LBB4_93 # %bb.94: - mov r15, qword ptr [rsp + 144] # 8-byte Reload - mov r10, qword ptr [rsp + 208] # 8-byte Reload + mov r14, qword ptr [rsp + 144] # 8-byte Reload + mov r10, qword ptr [rsp + 192] # 8-byte Reload mov r12, qword ptr [rsp + 8] # 8-byte Reload - jmp .LBB4_139 .LBB4_95: + shl r10, 5 + cmp r10, r14 + jge .LBB4_174 +# %bb.96: + mov r8, r14 + sub r8, r10 + not r10 + add r10, r14 + je .LBB4_113 +# %bb.97: + mov r9, r8 + and r9, -2 + xor r14d, r14d + .p2align 4, 0x90 +.LBB4_98: # =>This Inner Loop Header: Depth=1 + mov rax, rsi + cmp word ptr [rsi], r13w + setne dl + neg dl + mov rdi, r14 + shr rdi, 3 + movzx r10d, byte ptr [r12 + rdi] + mov ecx, r14d + and cl, 6 + mov bl, 1 + shl bl, cl + xor dl, r10b + and bl, dl + xor bl, r10b + mov byte ptr [r12 + rdi], bl + add r14, 2 + cmp word ptr [rsi + 2], r13w + lea rsi, [rsi + 4] + setne dl + neg dl + xor dl, bl + or cl, 1 + mov al, 1 + shl al, cl + and al, dl + xor al, bl + mov byte ptr [r12 + rdi], al + cmp r9, r14 + jne .LBB4_98 + jmp .LBB4_166 +.LBB4_99: movzx r13d, word ptr [rdx] - lea r10, [r15 + 31] - test r15, r15 - cmovns r10, r15 + lea r10, [r14 + 31] + test r14, r14 + cmovns r10, r14 lea eax, [r9 + 7] test r9d, r9d cmovns eax, r9d and eax, -8 sub r9d, eax - je .LBB4_99 -# %bb.96: + je .LBB4_103 +# %bb.100: movsxd rax, r9d .p2align 4, 0x90 -.LBB4_97: # =>This Inner Loop Header: Depth=1 +.LBB4_101: # =>This Inner Loop Header: Depth=1 cmp word ptr [rsi], r13w lea rsi, [rsi + 2] setne dl @@ -20085,7 +21076,8 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 test rax, rax cmovns rdi, rax sar rdi, 3 - movzx r9d, byte ptr [r14 + rdi] + mov r15, r12 + movzx r9d, byte ptr [r12 + rdi] xor dl, r9b lea r8d, [8*rdi] mov ecx, eax @@ -20095,41 +21087,40 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 shl ebx, cl and bl, dl xor bl, r9b - mov byte ptr [r14 + rdi], bl + mov byte ptr [r12 + rdi], bl add rax, 1 cmp rax, 8 - jne .LBB4_97 -# %bb.98: - add r14, 1 -.LBB4_99: + jne .LBB4_101 +# %bb.102: + add r12, 1 +.LBB4_103: sar r10, 5 - cmp r15, 32 - jl .LBB4_143 -# %bb.100: + cmp r14, 32 + jl .LBB4_111 +# %bb.104: cmp r10, 8 - mov qword ptr [rsp + 144], r15 # 8-byte Spill - mov qword ptr [rsp + 208], r10 # 8-byte Spill - jb .LBB4_103 -# %bb.101: + mov qword ptr [rsp + 144], r14 # 8-byte Spill + mov qword ptr [rsp + 192], r10 # 8-byte Spill + jb .LBB4_107 +# %bb.105: mov rax, r10 shl rax, 6 add rax, rsi - cmp r14, rax - jae .LBB4_189 -# %bb.102: - lea rax, [r14 + 4*r10] + cmp r12, rax + jae .LBB4_191 +# %bb.106: + lea rax, [r12 + 4*r10] cmp rax, rsi - jbe .LBB4_189 -.LBB4_103: + jbe .LBB4_191 +.LBB4_107: xor eax, eax - mov qword ptr [rsp + 24], rax # 8-byte Spill - mov r12, r14 -.LBB4_104: + mov qword ptr [rsp + 32], rax # 8-byte Spill +.LBB4_108: mov qword ptr [rsp + 8], r12 # 8-byte Spill - sub r10, qword ptr [rsp + 24] # 8-byte Folded Reload - mov qword ptr [rsp + 224], r10 # 8-byte Spill + sub r10, qword ptr [rsp + 32] # 8-byte Folded Reload + mov qword ptr [rsp + 240], r10 # 8-byte Spill .p2align 4, 0x90 -.LBB4_105: # =>This Inner Loop Header: Depth=1 +.LBB4_109: # =>This Inner Loop Header: Depth=1 mov r11, rsi cmp word ptr [rsi], r13w setne byte ptr [rsp + 152] # 1-byte Folded Spill @@ -20148,7 +21139,7 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 cmp word ptr [r11 + 14], r13w setne bl cmp word ptr [r11 + 16], r13w - setne byte ptr [rsp + 192] # 1-byte Folded Spill + setne byte ptr [rsp + 224] # 1-byte Folded Spill cmp word ptr [r11 + 18], r13w setne cl cmp word ptr [r11 + 20], r13w @@ -20184,13 +21175,13 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 cmp word ptr [r11 + 50], r13w setne byte ptr [rsp + 64] # 1-byte Folded Spill cmp word ptr [r11 + 52], r13w - setne byte ptr [rsp + 24] # 1-byte Folded Spill - cmp word ptr [r11 + 54], r13w setne byte ptr [rsp + 32] # 1-byte Folded Spill + cmp word ptr [r11 + 54], r13w + setne byte ptr [rsp + 40] # 1-byte Folded Spill cmp word ptr [r11 + 56], r13w setne byte ptr [rsp + 16] # 1-byte Folded Spill cmp word ptr [r11 + 58], r13w - setne byte ptr [rsp + 40] # 1-byte Folded Spill + setne byte ptr [rsp + 24] # 1-byte Folded Spill cmp word ptr [r11 + 60], r13w setne byte ptr [rsp + 128] # 1-byte Folded Spill cmp word ptr [r11 + 62], r13w @@ -20203,7 +21194,7 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 shl r15b, 2 or r15b, sil add cl, cl - add cl, byte ptr [rsp + 192] # 1-byte Folded Reload + add cl, byte ptr [rsp + 224] # 1-byte Folded Reload shl r12b, 3 or r12b, r15b shl r8b, 2 @@ -20260,11 +21251,11 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 add al, al add al, byte ptr [rsp + 48] # 1-byte Folded Reload mov ebx, eax - movzx eax, byte ptr [rsp + 24] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload shl al, 2 or al, bl mov ebx, eax - movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload shl al, 3 or al, bl mov ebx, eax @@ -20272,7 +21263,7 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 shl al, 4 or al, bl mov ebx, eax - movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 24] # 1-byte Folded Reload shl al, 5 or al, bl movzx ebx, byte ptr [rsp + 128] # 1-byte Folded Reload @@ -20285,28 +21276,40 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 lea rsi, [r11 + 64] add rcx, 4 mov qword ptr [rsp + 8], rcx # 8-byte Spill - add qword ptr [rsp + 224], -1 # 8-byte Folded Spill - jne .LBB4_105 -# %bb.106: - mov r15, qword ptr [rsp + 144] # 8-byte Reload - mov r10, qword ptr [rsp + 208] # 8-byte Reload + add qword ptr [rsp + 240], -1 # 8-byte Folded Spill + jne .LBB4_109 +# %bb.110: + mov r14, qword ptr [rsp + 144] # 8-byte Reload + mov r10, qword ptr [rsp + 192] # 8-byte Reload mov r12, qword ptr [rsp + 8] # 8-byte Reload - jmp .LBB4_144 -.LBB4_107: +.LBB4_111: + shl r10, 5 + cmp r10, r14 + jge .LBB4_174 +# %bb.112: + mov r8, r14 + sub r8, r10 + not r10 + add r10, r14 + jne .LBB4_164 +.LBB4_113: + xor r14d, r14d + jmp .LBB4_166 +.LBB4_114: mov r13, qword ptr [rdx] - lea r10, [r15 + 31] - test r15, r15 - cmovns r10, r15 + lea r10, [r14 + 31] + test r14, r14 + cmovns r10, r14 lea eax, [r9 + 7] test r9d, r9d cmovns eax, r9d and eax, -8 sub r9d, eax - je .LBB4_111 -# %bb.108: + je .LBB4_118 +# %bb.115: movsxd rax, r9d .p2align 4, 0x90 -.LBB4_109: # =>This Inner Loop Header: Depth=1 +.LBB4_116: # =>This Inner Loop Header: Depth=1 cmp qword ptr [rsi], r13 lea rsi, [rsi + 8] setne dl @@ -20315,7 +21318,8 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 test rax, rax cmovns rbx, rax sar rbx, 3 - movzx r8d, byte ptr [r14 + rbx] + mov r9, r12 + movzx r8d, byte ptr [r12 + rbx] xor dl, r8b lea edi, [8*rbx] mov ecx, eax @@ -20325,27 +21329,27 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 shl edi, cl and dil, dl xor dil, r8b - mov byte ptr [r14 + rbx], dil + mov byte ptr [r12 + rbx], dil add rax, 1 cmp rax, 8 - jne .LBB4_109 -# %bb.110: - add r14, 1 -.LBB4_111: + jne .LBB4_116 +# %bb.117: + add r12, 1 +.LBB4_118: sar r10, 5 - cmp r15, 32 - jl .LBB4_115 -# %bb.112: - mov qword ptr [rsp + 144], r15 # 8-byte Spill - mov qword ptr [rsp + 208], r10 # 8-byte Spill - mov qword ptr [rsp + 224], r10 # 8-byte Spill + cmp r14, 32 + jl .LBB4_122 +# %bb.119: + mov qword ptr [rsp + 144], r14 # 8-byte Spill + mov qword ptr [rsp + 192], r10 # 8-byte Spill + mov qword ptr [rsp + 240], r10 # 8-byte Spill .p2align 4, 0x90 -.LBB4_113: # =>This Inner Loop Header: Depth=1 - mov qword ptr [rsp + 128], r14 # 8-byte Spill +.LBB4_120: # =>This Inner Loop Header: Depth=1 + mov qword ptr [rsp + 128], r12 # 8-byte Spill cmp qword ptr [rsi], r13 setne byte ptr [rsp + 152] # 1-byte Folded Spill cmp qword ptr [rsi + 8], r13 - setne dil + setne r10b cmp qword ptr [rsi + 16], r13 setne r14b cmp qword ptr [rsi + 24], r13 @@ -20359,13 +21363,13 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 cmp qword ptr [rsi + 56], r13 setne bl cmp qword ptr [rsi + 64], r13 - setne byte ptr [rsp + 192] # 1-byte Folded Spill + setne byte ptr [rsp + 224] # 1-byte Folded Spill cmp qword ptr [rsi + 72], r13 - setne dl + setne dil cmp qword ptr [rsi + 80], r13 - setne r9b + setne r8b cmp qword ptr [rsi + 88], r13 - setne r10b + setne r9b cmp qword ptr [rsi + 96], r13 setne r11b cmp qword ptr [rsi + 104], r13 @@ -20391,151 +21395,155 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 cmp qword ptr [rsi + 184], r13 setne r15b cmp qword ptr [rsi + 192], r13 - setne byte ptr [rsp + 32] # 1-byte Folded Spill + setne byte ptr [rsp + 40] # 1-byte Folded Spill cmp qword ptr [rsi + 200], r13 setne byte ptr [rsp + 64] # 1-byte Folded Spill cmp qword ptr [rsi + 208], r13 - setne byte ptr [rsp + 24] # 1-byte Folded Spill + setne byte ptr [rsp + 32] # 1-byte Folded Spill cmp qword ptr [rsi + 216], r13 setne byte ptr [rsp + 48] # 1-byte Folded Spill cmp qword ptr [rsi + 224], r13 setne byte ptr [rsp + 16] # 1-byte Folded Spill cmp qword ptr [rsi + 232], r13 - setne byte ptr [rsp + 40] # 1-byte Folded Spill + setne byte ptr [rsp + 24] # 1-byte Folded Spill cmp qword ptr [rsi + 240], r13 setne byte ptr [rsp + 8] # 1-byte Folded Spill cmp qword ptr [rsi + 248], r13 - setne r8b - add dil, dil - add dil, byte ptr [rsp + 152] # 1-byte Folded Reload + setne dl + add r10b, r10b + add r10b, byte ptr [rsp + 152] # 1-byte Folded Reload shl al, 6 shl bl, 7 or bl, al shl r14b, 2 - or r14b, dil - add dl, dl - add dl, byte ptr [rsp + 192] # 1-byte Folded Reload + or r14b, r10b + add dil, dil + add dil, byte ptr [rsp + 224] # 1-byte Folded Reload movzx eax, byte ptr [rsp + 136] # 1-byte Folded Reload shl al, 3 or al, r14b - shl r9b, 2 - or r9b, dl - movzx edx, byte ptr [rsp + 112] # 1-byte Folded Reload - shl dl, 4 - or dl, al - mov edi, edx - shl r10b, 3 - or r10b, r9b - movzx edx, byte ptr [rsp + 72] # 1-byte Folded Reload - shl dl, 5 - or dl, dil + mov r10d, eax + shl r8b, 2 + or r8b, dil + movzx eax, byte ptr [rsp + 112] # 1-byte Folded Reload + shl al, 4 + or al, r10b + mov edi, eax + shl r9b, 3 + or r9b, r8b + movzx eax, byte ptr [rsp + 72] # 1-byte Folded Reload + shl al, 5 + or al, dil shl r11b, 4 - or r11b, r10b + or r11b, r9b shl r12b, 5 or r12b, r11b movzx edi, byte ptr [rsp + 160] # 1-byte Folded Reload shl dil, 6 shl cl, 7 or cl, dil - or bl, dl + or bl, al or cl, r12b - mov r14, qword ptr [rsp + 128] # 8-byte Reload - movzx edx, byte ptr [rsp + 176] # 1-byte Folded Reload - add dl, dl - add dl, byte ptr [rsp + 96] # 1-byte Folded Reload - mov edi, edx - movzx edx, byte ptr [rsp + 120] # 1-byte Folded Reload - shl dl, 2 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 88] # 1-byte Folded Reload - shl dl, 3 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 80] # 1-byte Folded Reload - shl dl, 4 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 104] # 1-byte Folded Reload - shl dl, 5 - or dl, dil - mov byte ptr [r14], bl + mov r12, qword ptr [rsp + 128] # 8-byte Reload + movzx eax, byte ptr [rsp + 176] # 1-byte Folded Reload + add al, al + add al, byte ptr [rsp + 96] # 1-byte Folded Reload + mov edi, eax + movzx eax, byte ptr [rsp + 120] # 1-byte Folded Reload + shl al, 2 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 88] # 1-byte Folded Reload + shl al, 3 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 80] # 1-byte Folded Reload + shl al, 4 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 104] # 1-byte Folded Reload + shl al, 5 + or al, dil + mov byte ptr [r12], bl movzx ebx, byte ptr [rsp + 56] # 1-byte Folded Reload shl bl, 6 shl r15b, 7 or r15b, bl - mov byte ptr [r14 + 1], cl - or r15b, dl - movzx ecx, byte ptr [rsp + 64] # 1-byte Folded Reload - add cl, cl - add cl, byte ptr [rsp + 32] # 1-byte Folded Reload - mov edx, ecx - movzx ecx, byte ptr [rsp + 24] # 1-byte Folded Reload - shl cl, 2 - or cl, dl - mov edx, ecx - movzx ecx, byte ptr [rsp + 48] # 1-byte Folded Reload - shl cl, 3 - or cl, dl - mov edx, ecx - movzx ecx, byte ptr [rsp + 16] # 1-byte Folded Reload - shl cl, 4 - or cl, dl - mov edx, ecx - movzx ecx, byte ptr [rsp + 40] # 1-byte Folded Reload - shl cl, 5 - or cl, dl - movzx edx, byte ptr [rsp + 8] # 1-byte Folded Reload - shl dl, 6 - shl r8b, 7 - or r8b, dl - or r8b, cl - mov byte ptr [r14 + 2], r15b - mov byte ptr [r14 + 3], r8b + mov byte ptr [r12 + 1], cl + or r15b, al + movzx eax, byte ptr [rsp + 64] # 1-byte Folded Reload + add al, al + add al, byte ptr [rsp + 40] # 1-byte Folded Reload + mov ecx, eax + movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload + shl al, 2 + or al, cl + mov ecx, eax + movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload + shl al, 3 + or al, cl + mov ecx, eax + movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload + shl al, 4 + or al, cl + mov ecx, eax + movzx eax, byte ptr [rsp + 24] # 1-byte Folded Reload + shl al, 5 + or al, cl + movzx ecx, byte ptr [rsp + 8] # 1-byte Folded Reload + shl cl, 6 + shl dl, 7 + or dl, cl + or dl, al + mov byte ptr [r12 + 2], r15b + mov byte ptr [r12 + 3], dl add rsi, 256 - add r14, 4 - add qword ptr [rsp + 224], -1 # 8-byte Folded Spill - jne .LBB4_113 -# %bb.114: - mov r15, qword ptr [rsp + 144] # 8-byte Reload - mov r10, qword ptr [rsp + 208] # 8-byte Reload -.LBB4_115: + add r12, 4 + add qword ptr [rsp + 240], -1 # 8-byte Folded Spill + jne .LBB4_120 +# %bb.121: + mov r14, qword ptr [rsp + 144] # 8-byte Reload + mov r10, qword ptr [rsp + 192] # 8-byte Reload +.LBB4_122: shl r10, 5 - cmp r10, r15 - jge .LBB4_179 -# %bb.116: - mov r8, r15 + cmp r10, r14 + jge .LBB4_174 +# %bb.123: + mov r8, r14 sub r8, r10 not r10 - add r10, r15 - jne .LBB4_166 -.LBB4_117: + add r10, r14 + jne .LBB4_168 +.LBB4_124: xor r11d, r11d - jmp .LBB4_168 -.LBB4_118: - lea r10, [r15 + 31] - test r15, r15 - cmovns r10, r15 + jmp .LBB4_170 +.LBB4_125: + lea r10, [r14 + 31] + test r14, r14 + cmovns r10, r14 lea eax, [r9 + 7] test r9d, r9d cmovns eax, r9d and eax, -8 movss xmm0, dword ptr [rdx] # xmm0 = mem[0],zero,zero,zero sub r9d, eax - je .LBB4_122 -# %bb.119: + je .LBB4_129 +# %bb.126: movsxd rax, r9d .p2align 4, 0x90 -.LBB4_120: # =>This Inner Loop Header: Depth=1 +.LBB4_127: # =>This Inner Loop Header: Depth=1 ucomiss xmm0, dword ptr [rsi] lea rsi, [rsi + 4] + setp cl setne dl + or dl, cl neg dl lea rdi, [rax + 7] test rax, rax cmovns rdi, rax sar rdi, 3 - movzx r9d, byte ptr [r14 + rdi] + mov r11, r12 + movzx r9d, byte ptr [r12 + rdi] xor dl, r9b lea r8d, [8*rdi] mov ecx, eax @@ -20545,218 +21553,309 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 shl ebx, cl and bl, dl xor bl, r9b - mov byte ptr [r14 + rdi], bl + mov byte ptr [r12 + rdi], bl add rax, 1 cmp rax, 8 - jne .LBB4_120 -# %bb.121: - add r14, 1 -.LBB4_122: + jne .LBB4_127 +# %bb.128: + add r12, 1 +.LBB4_129: sar r10, 5 - cmp r15, 32 - jl .LBB4_147 -# %bb.123: + cmp r14, 32 + jl .LBB4_145 +# %bb.130: cmp r10, 4 - jb .LBB4_126 -# %bb.124: + jb .LBB4_133 +# %bb.131: mov rax, r10 shl rax, 7 add rax, rsi - cmp r14, rax - jae .LBB4_192 -# %bb.125: - lea rax, [r14 + 4*r10] + cmp r12, rax + jae .LBB4_188 +# %bb.132: + lea rax, [r12 + 4*r10] cmp rax, rsi - jbe .LBB4_192 -.LBB4_126: + jbe .LBB4_188 +.LBB4_133: xor r8d, r8d mov rbx, rsi - mov r11, r14 -.LBB4_127: - mov qword ptr [rsp + 8], r11 # 8-byte Spill - mov qword ptr [rsp + 144], r15 # 8-byte Spill - mov qword ptr [rsp + 224], r10 # 8-byte Spill + mov r15, r12 +.LBB4_134: + mov qword ptr [rsp + 128], r15 # 8-byte Spill + mov qword ptr [rsp + 144], r14 # 8-byte Spill + mov qword ptr [rsp + 272], r10 # 8-byte Spill sub r10, r8 - mov qword ptr [rsp + 152], r10 # 8-byte Spill + mov qword ptr [rsp + 192], r10 # 8-byte Spill .p2align 4, 0x90 -.LBB4_128: # =>This Inner Loop Header: Depth=1 +.LBB4_135: # =>This Inner Loop Header: Depth=1 ucomiss xmm0, dword ptr [rbx] - setne byte ptr [rsp + 136] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov r13d, ecx ucomiss xmm0, dword ptr [rbx + 4] - setne r8b + setp al + setne dl + or dl, al ucomiss xmm0, dword ptr [rbx + 8] - setne r14b + setp al + setne cl + or cl, al + mov byte ptr [rsp + 40], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 12] - setne r13b + setp al + setne cl + or cl, al + mov byte ptr [rsp + 16], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 16] - setne byte ptr [rsp + 112] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 24], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 20] - setne byte ptr [rsp + 72] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 32], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 24] - setne al + setp al + setne cl + or cl, al + mov byte ptr [rsp + 64], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 28] - setne r11b + setp al + setne cl + or cl, al + mov byte ptr [rsp + 8], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 32] - setne byte ptr [rsp + 160] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 48], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 36] - setne dl + setp al + setne cl + or cl, al + mov byte ptr [rsp + 56], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 40] - setne sil + setp al + setne cl + or cl, al + mov byte ptr [rsp + 104], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 44] - setne dil + setp al + setne cl + or cl, al + mov byte ptr [rsp + 72], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 48] - setne r10b + setp al + setne cl + or cl, al + mov byte ptr [rsp + 80], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 52] - setne r12b + setp al + setne cl + or cl, al + mov byte ptr [rsp + 88], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 56] - setne byte ptr [rsp + 176] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 120], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 60] - setne r9b + setp al + setne cl + or cl, al + mov byte ptr [rsp + 112], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 64] - setne byte ptr [rsp + 96] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 96], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 68] - setne byte ptr [rsp + 192] # 1-byte Folded Spill + setp al + setne r12b + or r12b, al ucomiss xmm0, dword ptr [rbx + 72] - setne byte ptr [rsp + 120] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 176], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 76] - setne byte ptr [rsp + 88] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 160], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 80] - setne byte ptr [rsp + 80] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 224], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 84] - setne byte ptr [rsp + 104] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 152], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 88] - setne byte ptr [rsp + 56] # 1-byte Folded Spill + setp al + setne r14b + or r14b, al ucomiss xmm0, dword ptr [rbx + 92] - setne r15b + setp al + setne r8b + or r8b, al ucomiss xmm0, dword ptr [rbx + 96] - setne byte ptr [rsp + 32] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 136], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 100] - setne byte ptr [rsp + 64] # 1-byte Folded Spill + setp al + setne r11b + or r11b, al ucomiss xmm0, dword ptr [rbx + 104] - setne byte ptr [rsp + 24] # 1-byte Folded Spill + setp al + setne r10b + or r10b, al ucomiss xmm0, dword ptr [rbx + 108] - setne byte ptr [rsp + 48] # 1-byte Folded Spill + setp al + setne r9b + or r9b, al ucomiss xmm0, dword ptr [rbx + 112] - setne byte ptr [rsp + 16] # 1-byte Folded Spill + setp al + setne r15b + or r15b, al ucomiss xmm0, dword ptr [rbx + 116] - setne byte ptr [rsp + 40] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 240], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 120] - setne byte ptr [rsp + 128] # 1-byte Folded Spill + setp al + setne dil + or dil, al ucomiss xmm0, dword ptr [rbx + 124] - setne cl - add r8b, r8b - add r8b, byte ptr [rsp + 136] # 1-byte Folded Reload - shl al, 6 - shl r11b, 7 - or r11b, al - shl r14b, 2 - or r14b, r8b + setp al + setne sil + or sil, al add dl, dl - add dl, byte ptr [rsp + 160] # 1-byte Folded Reload - shl r13b, 3 - or r13b, r14b - shl sil, 2 - or sil, dl - movzx edx, byte ptr [rsp + 112] # 1-byte Folded Reload - shl dl, 4 or dl, r13b - mov r8d, edx - shl dil, 3 - or dil, sil - movzx edx, byte ptr [rsp + 72] # 1-byte Folded Reload - shl dl, 5 - or dl, r8b - shl r10b, 4 - or r10b, dil - shl r12b, 5 - or r12b, r10b - movzx esi, byte ptr [rsp + 176] # 1-byte Folded Reload - shl sil, 6 - shl r9b, 7 - or r9b, sil - or r11b, dl - or r9b, r12b - movzx eax, byte ptr [rsp + 192] # 1-byte Folded Reload - add al, al - add al, byte ptr [rsp + 96] # 1-byte Folded Reload - movzx edx, byte ptr [rsp + 120] # 1-byte Folded Reload - shl dl, 2 - or dl, al - mov esi, edx - movzx edx, byte ptr [rsp + 88] # 1-byte Folded Reload - shl dl, 3 - or dl, sil - mov esi, edx - movzx edx, byte ptr [rsp + 80] # 1-byte Folded Reload - shl dl, 4 - or dl, sil - mov esi, edx - movzx edx, byte ptr [rsp + 104] # 1-byte Folded Reload + mov r13d, edx + movzx edx, byte ptr [rsp + 32] # 1-byte Folded Reload shl dl, 5 - or dl, sil - mov rsi, qword ptr [rsp + 8] # 8-byte Reload - mov byte ptr [rsi], r11b - movzx edi, byte ptr [rsp + 56] # 1-byte Folded Reload - shl dil, 6 - shl r15b, 7 - or r15b, dil - mov byte ptr [rsi + 1], r9b - or r15b, dl movzx eax, byte ptr [rsp + 64] # 1-byte Folded Reload - add al, al - add al, byte ptr [rsp + 32] # 1-byte Folded Reload - mov edx, eax - movzx eax, byte ptr [rsp + 24] # 1-byte Folded Reload - shl al, 2 + shl al, 6 or al, dl mov edx, eax - movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload - shl al, 3 + movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload + shl al, 2 + or al, r13b + mov r13d, eax + movzx ecx, byte ptr [rsp + 56] # 1-byte Folded Reload + add cl, cl + add cl, byte ptr [rsp + 48] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + shl al, 7 or al, dl - mov edx, eax + mov byte ptr [rsp + 8], al # 1-byte Spill + movzx eax, byte ptr [rsp + 104] # 1-byte Folded Reload + shl al, 2 + or al, cl + mov ecx, eax movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload + shl al, 3 + or al, r13b + mov r13d, eax + movzx eax, byte ptr [rsp + 72] # 1-byte Folded Reload + shl al, 3 + or al, cl + mov ecx, eax + movzx eax, byte ptr [rsp + 24] # 1-byte Folded Reload shl al, 4 - or al, dl - mov edx, eax - movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload + or al, r13b + movzx edx, byte ptr [rsp + 80] # 1-byte Folded Reload + shl dl, 4 + or dl, cl + movzx r13d, byte ptr [rsp + 88] # 1-byte Folded Reload + shl r13b, 5 + movzx ecx, byte ptr [rsp + 120] # 1-byte Folded Reload + shl cl, 6 + or cl, r13b + movzx r13d, byte ptr [rsp + 112] # 1-byte Folded Reload + shl r13b, 7 + or r13b, cl + add r12b, r12b + add r12b, byte ptr [rsp + 96] # 1-byte Folded Reload + mov ecx, r12d + movzx r12d, byte ptr [rsp + 176] # 1-byte Folded Reload + shl r12b, 2 + or r12b, cl + movzx ecx, byte ptr [rsp + 160] # 1-byte Folded Reload + shl cl, 3 + or cl, r12b + mov r12d, ecx + movzx ecx, byte ptr [rsp + 224] # 1-byte Folded Reload + shl cl, 4 + or cl, r12b + movzx r12d, byte ptr [rsp + 8] # 1-byte Folded Reload + or r12b, al + movzx eax, byte ptr [rsp + 152] # 1-byte Folded Reload shl al, 5 - or al, dl - movzx edx, byte ptr [rsp + 128] # 1-byte Folded Reload - shl dl, 6 - shl cl, 7 - or cl, dl - or cl, al - mov byte ptr [rsi + 2], r15b - mov byte ptr [rsi + 3], cl + shl r14b, 6 + or r14b, al + or r13b, dl + shl r8b, 7 + or r8b, r14b + or r8b, cl + add r11b, r11b + add r11b, byte ptr [rsp + 136] # 1-byte Folded Reload + shl r10b, 2 + or r10b, r11b + shl r9b, 3 + or r9b, r10b + shl r15b, 4 + or r15b, r9b + mov rax, qword ptr [rsp + 128] # 8-byte Reload + mov byte ptr [rax], r12b + movzx ecx, byte ptr [rsp + 240] # 1-byte Folded Reload + shl cl, 5 + shl dil, 6 + or dil, cl + mov byte ptr [rax + 1], r13b + shl sil, 7 + or sil, dil + or sil, r15b + mov byte ptr [rax + 2], r8b + mov byte ptr [rax + 3], sil add rbx, 128 - add rsi, 4 - mov qword ptr [rsp + 8], rsi # 8-byte Spill - add qword ptr [rsp + 152], -1 # 8-byte Folded Spill - jne .LBB4_128 -# %bb.129: - mov r11, qword ptr [rsp + 8] # 8-byte Reload - mov r15, qword ptr [rsp + 144] # 8-byte Reload - mov r10, qword ptr [rsp + 224] # 8-byte Reload - jmp .LBB4_148 -.LBB4_130: - mov qword ptr [rsp + 104], r14 # 8-byte Spill -.LBB4_131: + add rax, 4 + mov qword ptr [rsp + 128], rax # 8-byte Spill + add qword ptr [rsp + 192], -1 # 8-byte Folded Spill + jne .LBB4_135 +# %bb.136: + mov r15, qword ptr [rsp + 128] # 8-byte Reload + mov r14, qword ptr [rsp + 144] # 8-byte Reload + mov r10, qword ptr [rsp + 272] # 8-byte Reload + jmp .LBB4_146 +.LBB4_137: + mov qword ptr [rsp + 104], r12 # 8-byte Spill +.LBB4_138: shl r10, 5 - cmp r10, r15 - jge .LBB4_179 -# %bb.132: - mov r8, r15 + cmp r10, r14 + jge .LBB4_174 +# %bb.139: + mov r8, r14 sub r8, r10 not r10 - add r10, r15 - je .LBB4_137 -# %bb.155: + add r10, r14 + je .LBB4_144 +# %bb.153: mov r10, r8 and r10, -2 xor r9d, r9d mov r14, qword ptr [rsp + 104] # 8-byte Reload .p2align 4, 0x90 -.LBB4_156: # =>This Inner Loop Header: Depth=1 +.LBB4_154: # =>This Inner Loop Header: Depth=1 mov rax, r9 cmp byte ptr [rsi + r9], r11b setne bl @@ -20784,116 +21883,54 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 xor al, dl mov byte ptr [r14 + rdi], al cmp r10, r9 - jne .LBB4_156 - jmp .LBB4_159 -.LBB4_134: - mov qword ptr [rsp + 104], r14 # 8-byte Spill -.LBB4_135: + jne .LBB4_154 + jmp .LBB4_157 +.LBB4_141: + mov qword ptr [rsp + 104], r12 # 8-byte Spill +.LBB4_142: shl r10, 5 - cmp r10, r15 - jge .LBB4_179 -# %bb.136: - mov r8, r15 + cmp r10, r14 + jge .LBB4_174 +# %bb.143: + mov r8, r14 sub r8, r10 not r10 - add r10, r15 - jne .LBB4_157 -.LBB4_137: + add r10, r14 + jne .LBB4_155 +.LBB4_144: xor r9d, r9d test r8b, 1 - je .LBB4_179 - jmp .LBB4_161 -.LBB4_138: - mov r12, r14 -.LBB4_139: - shl r10, 5 - cmp r10, r15 - jge .LBB4_179 -# %bb.140: - mov r8, r15 - sub r8, r10 - not r10 - add r10, r15 - je .LBB4_146 -# %bb.141: - mov r9, r8 - and r9, -2 - xor r14d, r14d - .p2align 4, 0x90 -.LBB4_142: # =>This Inner Loop Header: Depth=1 - mov rax, rsi - cmp word ptr [rsi], r13w - setne dl - neg dl - mov rdi, r14 - shr rdi, 3 - movzx r10d, byte ptr [r12 + rdi] - mov ecx, r14d - and cl, 6 - mov bl, 1 - shl bl, cl - xor dl, r10b - and bl, dl - xor bl, r10b - mov byte ptr [r12 + rdi], bl - add r14, 2 - cmp word ptr [rsi + 2], r13w - lea rsi, [rsi + 4] - setne dl - neg dl - xor dl, bl - or cl, 1 - mov al, 1 - shl al, cl - and al, dl - xor al, bl - mov byte ptr [r12 + rdi], al - cmp r9, r14 - jne .LBB4_142 - jmp .LBB4_173 -.LBB4_143: - mov r12, r14 -.LBB4_144: - shl r10, 5 - cmp r10, r15 - jge .LBB4_179 -# %bb.145: - mov r8, r15 - sub r8, r10 - not r10 - add r10, r15 - jne .LBB4_171 -.LBB4_146: - xor r14d, r14d - jmp .LBB4_173 -.LBB4_147: - mov r11, r14 + je .LBB4_174 + jmp .LBB4_159 +.LBB4_145: + mov r15, r12 mov rbx, rsi -.LBB4_148: +.LBB4_146: shl r10, 5 - cmp r10, r15 - jge .LBB4_179 -# %bb.149: - mov r8, r15 + cmp r10, r14 + jge .LBB4_174 +# %bb.147: + mov r8, r14 sub r8, r10 not r10 - add r10, r15 + add r10, r14 jne .LBB4_175 -# %bb.150: +# %bb.148: xor esi, esi jmp .LBB4_177 -.LBB4_151: +.LBB4_149: mov r10, r8 and r10, -2 xor r11d, r11d .p2align 4, 0x90 -.LBB4_152: # =>This Inner Loop Header: Depth=1 +.LBB4_150: # =>This Inner Loop Header: Depth=1 cmp dword ptr [rsi], r13d setne al neg al mov rdi, r11 shr rdi, 3 - movzx r9d, byte ptr [r14 + rdi] + mov r14, r12 + movzx r9d, byte ptr [r12 + rdi] mov ecx, r11d and cl, 6 mov bl, 1 @@ -20901,7 +21938,7 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 xor al, r9b and bl, al xor bl, r9b - mov byte ptr [r14 + rdi], bl + mov byte ptr [r12 + rdi], bl add r11, 2 cmp dword ptr [rsi + 4], r13d lea rsi, [rsi + 8] @@ -20913,22 +21950,22 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 shl dl, cl and dl, al xor dl, bl - mov byte ptr [r14 + rdi], dl + mov byte ptr [r12 + rdi], dl cmp r10, r11 - jne .LBB4_152 -.LBB4_153: + jne .LBB4_150 +.LBB4_151: test r8b, 1 - je .LBB4_179 -# %bb.154: + je .LBB4_174 +# %bb.152: cmp dword ptr [rsi], r13d - jmp .LBB4_170 -.LBB4_157: + jmp .LBB4_172 +.LBB4_155: mov r10, r8 and r10, -2 xor r9d, r9d mov r14, qword ptr [rsp + 104] # 8-byte Reload .p2align 4, 0x90 -.LBB4_158: # =>This Inner Loop Header: Depth=1 +.LBB4_156: # =>This Inner Loop Header: Depth=1 mov rax, r9 cmp byte ptr [rsi + r9], r11b setne bl @@ -20956,12 +21993,12 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 xor al, dl mov byte ptr [r14 + rdi], al cmp r10, r9 - jne .LBB4_158 -.LBB4_159: + jne .LBB4_156 +.LBB4_157: add rsi, r9 test r8b, 1 - je .LBB4_179 -.LBB4_161: + je .LBB4_174 +.LBB4_159: cmp byte ptr [rsi], r11b setne al neg al @@ -20977,31 +22014,36 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 and bl, al xor bl, dil mov byte ptr [r8 + rdx], bl - jmp .LBB4_179 -.LBB4_162: - mov r10, r8 - and r10, -2 + jmp .LBB4_174 +.LBB4_160: + mov r9, r8 + and r9, -2 xor r11d, r11d .p2align 4, 0x90 -.LBB4_163: # =>This Inner Loop Header: Depth=1 +.LBB4_161: # =>This Inner Loop Header: Depth=1 ucomisd xmm0, qword ptr [rsi] + setp cl setne al + or al, cl neg al mov rdi, r11 shr rdi, 3 - movzx r9d, byte ptr [r14 + rdi] - xor al, r9b + mov r14, r12 + movzx r10d, byte ptr [r12 + rdi] mov ecx, r11d and cl, 6 mov bl, 1 shl bl, cl + xor al, r10b and bl, al - xor bl, r9b - mov byte ptr [r14 + rdi], bl + xor bl, r10b + mov byte ptr [r12 + rdi], bl add r11, 2 ucomisd xmm0, qword ptr [rsi + 8] lea rsi, [rsi + 16] + setp r10b setne al + or al, r10b neg al xor al, bl or cl, 1 @@ -21009,75 +22051,36 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 shl dl, cl and dl, al xor dl, bl - mov byte ptr [r14 + rdi], dl - cmp r10, r11 - jne .LBB4_163 -.LBB4_164: + mov byte ptr [r12 + rdi], dl + cmp r9, r11 + jne .LBB4_161 +.LBB4_162: test r8b, 1 - je .LBB4_179 -# %bb.165: + je .LBB4_174 +# %bb.163: ucomisd xmm0, qword ptr [rsi] - jmp .LBB4_170 -.LBB4_166: - mov r10, r8 - and r10, -2 - xor r11d, r11d - .p2align 4, 0x90 -.LBB4_167: # =>This Inner Loop Header: Depth=1 - cmp qword ptr [rsi], r13 - setne al - neg al - mov rdi, r11 - shr rdi, 3 - movzx r9d, byte ptr [r14 + rdi] - mov ecx, r11d - and cl, 6 - mov bl, 1 - shl bl, cl - xor al, r9b - and bl, al - xor bl, r9b - mov byte ptr [r14 + rdi], bl - add r11, 2 - cmp qword ptr [rsi + 8], r13 - lea rsi, [rsi + 16] - setne al - neg al - xor al, bl - or cl, 1 - mov dl, 1 - shl dl, cl - and dl, al - xor dl, bl - mov byte ptr [r14 + rdi], dl - cmp r10, r11 - jne .LBB4_167 -.LBB4_168: - test r8b, 1 - je .LBB4_179 -# %bb.169: - cmp qword ptr [rsi], r13 -.LBB4_170: - setne al - neg al - mov rdx, r11 - shr rdx, 3 - mov sil, byte ptr [r14 + rdx] + setp al + setne dl + or dl, al + neg dl + mov rax, r11 + shr rax, 3 + mov sil, byte ptr [r12 + rax] and r11b, 7 mov bl, 1 mov ecx, r11d shl bl, cl - xor al, sil - and bl, al + xor dl, sil + and bl, dl xor bl, sil - mov byte ptr [r14 + rdx], bl - jmp .LBB4_179 -.LBB4_171: + mov byte ptr [r12 + rax], bl + jmp .LBB4_174 +.LBB4_164: mov r9, r8 and r9, -2 xor r14d, r14d .p2align 4, 0x90 -.LBB4_172: # =>This Inner Loop Header: Depth=1 +.LBB4_165: # =>This Inner Loop Header: Depth=1 mov rax, rsi cmp word ptr [rsi], r13w setne dl @@ -21106,11 +22109,11 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 xor al, bl mov byte ptr [r12 + rdi], al cmp r9, r14 - jne .LBB4_172 -.LBB4_173: + jne .LBB4_165 +.LBB4_166: test r8b, 1 - je .LBB4_179 -# %bb.174: + je .LBB4_174 +# %bb.167: cmp word ptr [rsi], r13w setne al neg al @@ -21124,88 +22127,149 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 xor al, dil and bl, al xor bl, dil - mov byte ptr [r12 + rdx], bl - jmp .LBB4_179 -.LBB4_175: + jmp .LBB4_173 +.LBB4_168: mov r10, r8 and r10, -2 + xor r11d, r11d + .p2align 4, 0x90 +.LBB4_169: # =>This Inner Loop Header: Depth=1 + cmp qword ptr [rsi], r13 + setne al + neg al + mov rdi, r11 + shr rdi, 3 + mov r14, r12 + movzx r9d, byte ptr [r12 + rdi] + mov ecx, r11d + and cl, 6 + mov bl, 1 + shl bl, cl + xor al, r9b + and bl, al + xor bl, r9b + mov byte ptr [r12 + rdi], bl + add r11, 2 + cmp qword ptr [rsi + 8], r13 + lea rsi, [rsi + 16] + setne al + neg al + xor al, bl + or cl, 1 + mov dl, 1 + shl dl, cl + and dl, al + xor dl, bl + mov byte ptr [r12 + rdi], dl + cmp r10, r11 + jne .LBB4_169 +.LBB4_170: + test r8b, 1 + je .LBB4_174 +# %bb.171: + cmp qword ptr [rsi], r13 +.LBB4_172: + setne al + neg al + mov rdx, r11 + shr rdx, 3 + mov sil, byte ptr [r12 + rdx] + and r11b, 7 + mov bl, 1 + mov ecx, r11d + shl bl, cl + xor al, sil + and bl, al + xor bl, sil +.LBB4_173: + mov byte ptr [r12 + rdx], bl +.LBB4_174: + lea rsp, [rbp - 40] + pop rbx + pop r12 + pop r13 + pop r14 + pop r15 + pop rbp + ret +.LBB4_175: + mov r9, r8 + and r9, -2 xor esi, esi - mov r14, r11 + mov r14, r15 .p2align 4, 0x90 .LBB4_176: # =>This Inner Loop Header: Depth=1 ucomiss xmm0, dword ptr [rbx] + setp cl setne dl + or dl, cl neg dl mov rdi, rsi shr rdi, 3 - movzx r9d, byte ptr [r14 + rdi] - xor dl, r9b + movzx r10d, byte ptr [r14 + rdi] mov ecx, esi and cl, 6 - mov al, 1 - shl al, cl - and al, dl - xor al, r9b - mov byte ptr [r14 + rdi], al + mov r11b, 1 + shl r11b, cl + xor dl, r10b + and r11b, dl + xor r11b, r10b + mov byte ptr [r14 + rdi], r11b add rsi, 2 ucomiss xmm0, dword ptr [rbx + 4] lea rbx, [rbx + 8] - setne r9b - neg r9b - xor r9b, al + setp r10b + setne dl + or dl, r10b + neg dl + xor dl, r11b or cl, 1 - mov dl, 1 - shl dl, cl - and dl, r9b - xor dl, al - mov byte ptr [r14 + rdi], dl - cmp r10, rsi + mov al, 1 + shl al, cl + and al, dl + xor al, r11b + mov byte ptr [r14 + rdi], al + cmp r9, rsi jne .LBB4_176 .LBB4_177: test r8b, 1 - je .LBB4_179 + je .LBB4_174 # %bb.178: ucomiss xmm0, dword ptr [rbx] - setne al - neg al - mov rdx, rsi - shr rdx, 3 - mov dil, byte ptr [r11 + rdx] + setp al + setne dl + or dl, al + neg dl + mov rax, rsi + shr rax, 3 + mov dil, byte ptr [r15 + rax] and sil, 7 mov bl, 1 mov ecx, esi shl bl, cl - xor al, dil - and bl, al + xor dl, dil + and bl, dl xor bl, dil - mov byte ptr [r11 + rdx], bl + mov byte ptr [r15 + rax], bl + jmp .LBB4_174 .LBB4_179: - lea rsp, [rbp - 40] - pop rbx - pop r12 - pop r13 - pop r14 - pop r15 - pop rbp - ret -.LBB4_180: and r10, -16 mov rax, r10 shl rax, 5 add rax, rsi - mov qword ptr [rsp + 288], rax # 8-byte Spill - mov qword ptr [rsp + 240], r10 # 8-byte Spill - lea rax, [r14 + 4*r10] + mov qword ptr [rsp + 304], rax # 8-byte Spill + mov qword ptr [rsp + 216], r10 # 8-byte Spill + lea rax, [r12 + 4*r10] mov qword ptr [rsp + 104], rax # 8-byte Spill movzx eax, r11b movd xmm1, eax pxor xmm0, xmm0 pshufb xmm1, xmm0 - movdqa xmmword ptr [rsp + 256], xmm1 # 16-byte Spill + movdqa xmmword ptr [rsp + 288], xmm1 # 16-byte Spill xor eax, eax - mov qword ptr [rsp + 128], r14 # 8-byte Spill + mov qword ptr [rsp + 128], r12 # 8-byte Spill .p2align 4, 0x90 -.LBB4_181: # =>This Inner Loop Header: Depth=1 +.LBB4_180: # =>This Inner Loop Header: Depth=1 mov r9, rax mov qword ptr [rsp + 152], rax # 8-byte Spill mov rcx, rax @@ -21242,14 +22306,14 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 movd xmm9, ecx movzx ecx, byte ptr [rsi + rdx + 9] movd xmm0, ecx - movdqa xmmword ptr [rsp + 208], xmm0 # 16-byte Spill + movdqa xmmword ptr [rsp + 192], xmm0 # 16-byte Spill movzx ecx, byte ptr [rsi + rdx + 10] movd xmm12, ecx movzx ecx, byte ptr [rsi + rdx + 11] movd xmm13, ecx movzx ecx, byte ptr [rsi + rdx + 12] movd xmm0, ecx - movdqa xmmword ptr [rsp + 224], xmm0 # 16-byte Spill + movdqa xmmword ptr [rsp + 240], xmm0 # 16-byte Spill movzx ecx, byte ptr [rsi + rdx + 13] movd xmm11, ecx movzx ecx, byte ptr [rsi + rdx + 14] @@ -21257,10 +22321,10 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 movzx ecx, byte ptr [rsi + rdx + 15] movd xmm0, ecx movdqa xmmword ptr [rsp + 176], xmm0 # 16-byte Spill - mov qword ptr [rsp + 24], rdx # 8-byte Spill + mov qword ptr [rsp + 32], rdx # 8-byte Spill mov rcx, rdx or rcx, 32 - mov qword ptr [rsp + 40], rcx # 8-byte Spill + mov qword ptr [rsp + 24], rcx # 8-byte Spill or r11, 64 mov qword ptr [rsp + 112], r11 # 8-byte Spill or r8, 96 @@ -21273,9 +22337,9 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 or r12, 224 or r15, 256 or rdi, 288 - mov qword ptr [rsp + 192], rdi # 8-byte Spill + mov qword ptr [rsp + 224], rdi # 8-byte Spill or r9, 320 - mov qword ptr [rsp + 32], r9 # 8-byte Spill + mov qword ptr [rsp + 40], r9 # 8-byte Spill mov rbx, qword ptr [rsp + 48] # 8-byte Reload or rbx, 352 mov qword ptr [rsp + 48], rbx # 8-byte Spill @@ -21289,7 +22353,7 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 mov rcx, rdx or rcx, 480 mov qword ptr [rsp + 56], rcx # 8-byte Spill - mov rdx, qword ptr [rsp + 40] # 8-byte Reload + mov rdx, qword ptr [rsp + 24] # 8-byte Reload pinsrb xmm4, byte ptr [rsi + rdx], 1 pinsrb xmm4, byte ptr [rsi + r11], 2 pinsrb xmm4, byte ptr [rsi + r8], 3 @@ -21307,7 +22371,7 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 mov rbx, qword ptr [rsp + 16] # 8-byte Reload pinsrb xmm4, byte ptr [rsi + rbx], 14 pinsrb xmm4, byte ptr [rsi + rcx], 15 - mov rbx, qword ptr [rsp + 40] # 8-byte Reload + mov rbx, qword ptr [rsp + 24] # 8-byte Reload pinsrb xmm3, byte ptr [rsi + rbx + 1], 1 pinsrb xmm3, byte ptr [rsi + r11 + 1], 2 pinsrb xmm3, byte ptr [rsi + r8 + 1], 3 @@ -21328,17 +22392,17 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 mov qword ptr [rsp + 88], rax # 8-byte Spill mov rax, qword ptr [rsp + 16] # 8-byte Reload pinsrb xmm3, byte ptr [rsi + rax + 1], 14 - movdqa xmm6, xmmword ptr [rsp + 256] # 16-byte Reload + movdqa xmm6, xmmword ptr [rsp + 288] # 16-byte Reload pcmpeqb xmm4, xmm6 pinsrb xmm3, byte ptr [rsi + rcx + 1], 15 pcmpeqb xmm3, xmm6 movdqa xmm0, xmmword ptr [rip + .LCPI4_16] # xmm0 = [2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2] pandn xmm3, xmm0 paddb xmm3, xmm4 - mov rax, qword ptr [rsp + 24] # 8-byte Reload + mov rax, qword ptr [rsp + 32] # 8-byte Reload movzx edx, byte ptr [rsi + rax + 16] movd xmm10, edx - mov rax, qword ptr [rsp + 40] # 8-byte Reload + mov rax, qword ptr [rsp + 24] # 8-byte Reload pinsrb xmm5, byte ptr [rsi + rax + 2], 1 mov r10, qword ptr [rsp + 112] # 8-byte Reload pinsrb xmm5, byte ptr [rsi + r10 + 2], 2 @@ -21351,9 +22415,9 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 mov rbx, r13 pinsrb xmm5, byte ptr [rsi + r13 + 2], 7 pinsrb xmm5, byte ptr [rsi + r15 + 2], 8 - mov rdx, qword ptr [rsp + 192] # 8-byte Reload + mov rdx, qword ptr [rsp + 224] # 8-byte Reload pinsrb xmm5, byte ptr [rsi + rdx + 2], 9 - mov rax, qword ptr [rsp + 32] # 8-byte Reload + mov rax, qword ptr [rsp + 40] # 8-byte Reload pinsrb xmm5, byte ptr [rsi + rax + 2], 10 pinsrb xmm5, byte ptr [rsi + r12 + 2], 11 mov rcx, qword ptr [rsp + 80] # 8-byte Reload @@ -21363,7 +22427,7 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 pinsrb xmm5, byte ptr [rsi + r13 + 2], 14 mov r8, qword ptr [rsp + 56] # 8-byte Reload pinsrb xmm5, byte ptr [rsi + r8 + 2], 15 - mov rax, qword ptr [rsp + 40] # 8-byte Reload + mov rax, qword ptr [rsp + 24] # 8-byte Reload pinsrb xmm7, byte ptr [rsi + rax + 3], 1 pinsrb xmm7, byte ptr [rsi + r10 + 3], 2 pinsrb xmm7, byte ptr [rsi + rdi + 3], 3 @@ -21373,7 +22437,7 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 pinsrb xmm7, byte ptr [rsi + rbx + 3], 7 pinsrb xmm7, byte ptr [rsi + r15 + 3], 8 pinsrb xmm7, byte ptr [rsi + rdx + 3], 9 - mov rax, qword ptr [rsp + 32] # 8-byte Reload + mov rax, qword ptr [rsp + 40] # 8-byte Reload pinsrb xmm7, byte ptr [rsi + rax + 3], 10 pinsrb xmm7, byte ptr [rsi + r12 + 3], 11 pinsrb xmm7, byte ptr [rsi + rcx + 3], 12 @@ -21381,7 +22445,7 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 pinsrb xmm7, byte ptr [rsi + rax + 3], 13 pinsrb xmm7, byte ptr [rsi + r13 + 3], 14 pinsrb xmm7, byte ptr [rsi + r8 + 3], 15 - mov rax, qword ptr [rsp + 40] # 8-byte Reload + mov rax, qword ptr [rsp + 24] # 8-byte Reload pinsrb xmm1, byte ptr [rsi + rax + 4], 1 pinsrb xmm1, byte ptr [rsi + r10 + 4], 2 pinsrb xmm1, byte ptr [rsi + rdi + 4], 3 @@ -21395,7 +22459,7 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 pinsrb xmm1, byte ptr [rsi + r15 + 4], 8 pinsrb xmm1, byte ptr [rsi + rdx + 4], 9 mov rbx, rdx - mov rdx, qword ptr [rsp + 32] # 8-byte Reload + mov rdx, qword ptr [rsp + 40] # 8-byte Reload pinsrb xmm1, byte ptr [rsi + rdx + 4], 10 pinsrb xmm1, byte ptr [rsi + r12 + 4], 11 pinsrb xmm1, byte ptr [rsi + rcx + 4], 12 @@ -21410,7 +22474,7 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 movdqa xmm0, xmmword ptr [rip + .LCPI4_18] # xmm0 = [8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8] pandn xmm7, xmm0 por xmm7, xmm5 - mov rcx, qword ptr [rsp + 24] # 8-byte Reload + mov rcx, qword ptr [rsp + 32] # 8-byte Reload movzx edx, byte ptr [rsi + rcx + 17] movd xmm4, edx pcmpeqb xmm1, xmm6 @@ -21424,7 +22488,7 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 por xmm1, xmm3 movzx edx, byte ptr [rsi + rcx + 19] movd xmm5, edx - mov rdx, qword ptr [rsp + 40] # 8-byte Reload + mov rdx, qword ptr [rsp + 24] # 8-byte Reload pinsrb xmm2, byte ptr [rsi + rdx + 5], 1 pinsrb xmm2, byte ptr [rsi + r10 + 5], 2 mov rcx, qword ptr [rsp + 64] # 8-byte Reload @@ -21439,7 +22503,7 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 pinsrb xmm2, byte ptr [rsi + r15 + 5], 8 mov r9, rbx pinsrb xmm2, byte ptr [rsi + rbx + 5], 9 - mov rax, qword ptr [rsp + 32] # 8-byte Reload + mov rax, qword ptr [rsp + 40] # 8-byte Reload pinsrb xmm2, byte ptr [rsi + rax + 5], 10 mov rcx, qword ptr [rsp + 48] # 8-byte Reload pinsrb xmm2, byte ptr [rsi + rcx + 5], 11 @@ -21499,7 +22563,7 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 movdqa xmm0, xmmword ptr [rip + .LCPI4_21] # xmm0 = [64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64] pandn xmm8, xmm0 por xmm8, xmm2 - mov r9, qword ptr [rsp + 24] # 8-byte Reload + mov r9, qword ptr [rsp + 32] # 8-byte Reload movzx edx, byte ptr [rsi + r9 + 20] movd xmm3, edx mov rax, rcx @@ -21510,7 +22574,7 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 por xmm14, xmm8 movzx edx, byte ptr [rsi + r9 + 21] movd xmm2, edx - mov rcx, qword ptr [rsp + 40] # 8-byte Reload + mov rcx, qword ptr [rsp + 24] # 8-byte Reload pinsrb xmm9, byte ptr [rsi + rcx + 8], 1 pinsrb xmm9, byte ptr [rsi + r10 + 8], 2 mov r8, qword ptr [rsp + 64] # 8-byte Reload @@ -21523,9 +22587,9 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 mov r15, qword ptr [rsp + 160] # 8-byte Reload pinsrb xmm9, byte ptr [rsi + r15 + 8], 7 pinsrb xmm9, byte ptr [rsi + r12 + 8], 8 - mov r12, qword ptr [rsp + 192] # 8-byte Reload + mov r12, qword ptr [rsp + 224] # 8-byte Reload pinsrb xmm9, byte ptr [rsi + r12 + 8], 9 - mov rdx, qword ptr [rsp + 32] # 8-byte Reload + mov rdx, qword ptr [rsp + 40] # 8-byte Reload pinsrb xmm9, byte ptr [rsi + rdx + 8], 10 pinsrb xmm9, byte ptr [rsi + rbx + 8], 11 pinsrb xmm9, byte ptr [rsi + r14 + 8], 12 @@ -21538,7 +22602,7 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 movd xmm1, edx movdqa xmm0, xmm6 pcmpeqb xmm9, xmm6 - movdqa xmm14, xmmword ptr [rsp + 208] # 16-byte Reload + movdqa xmm14, xmmword ptr [rsp + 192] # 16-byte Reload pinsrb xmm14, byte ptr [rsi + rcx + 9], 1 pinsrb xmm14, byte ptr [rsi + r10 + 9], 2 pinsrb xmm14, byte ptr [rsi + r8 + 9], 3 @@ -21553,7 +22617,7 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 pinsrb xmm14, byte ptr [rsi + r15 + 9], 8 mov r9, r12 pinsrb xmm14, byte ptr [rsi + r12 + 9], 9 - mov r13, qword ptr [rsp + 32] # 8-byte Reload + mov r13, qword ptr [rsp + 40] # 8-byte Reload pinsrb xmm14, byte ptr [rsi + r13 + 9], 10 pinsrb xmm14, byte ptr [rsi + rbx + 9], 11 mov r12, r14 @@ -21604,7 +22668,7 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 pcmpeqb xmm14, xmm6 pandn xmm14, xmmword ptr [rip + .LCPI4_16] paddb xmm14, xmm9 - mov rax, qword ptr [rsp + 24] # 8-byte Reload + mov rax, qword ptr [rsp + 32] # 8-byte Reload movzx edx, byte ptr [rsi + rax + 23] movd xmm8, edx pcmpeqb xmm12, xmm6 @@ -21614,8 +22678,8 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 por xmm13, xmm12 movzx edx, byte ptr [rsi + rax + 24] movd xmm12, edx - movdqa xmm9, xmmword ptr [rsp + 224] # 16-byte Reload - mov rax, qword ptr [rsp + 40] # 8-byte Reload + movdqa xmm9, xmmword ptr [rsp + 240] # 16-byte Reload + mov rax, qword ptr [rsp + 24] # 8-byte Reload pinsrb xmm9, byte ptr [rsi + rax + 12], 1 pinsrb xmm9, byte ptr [rsi + r10 + 12], 2 mov rax, r8 @@ -21631,7 +22695,7 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 mov rcx, qword ptr [rsp + 96] # 8-byte Reload pinsrb xmm9, byte ptr [rsi + rcx + 12], 8 pinsrb xmm9, byte ptr [rsi + r9 + 12], 9 - mov rdi, qword ptr [rsp + 32] # 8-byte Reload + mov rdi, qword ptr [rsp + 40] # 8-byte Reload pinsrb xmm9, byte ptr [rsi + rdi + 12], 10 pinsrb xmm9, byte ptr [rsi + r15 + 12], 11 pinsrb xmm9, byte ptr [rsi + r12 + 12], 12 @@ -21640,7 +22704,7 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 pinsrb xmm9, byte ptr [rsi + rdx + 12], 14 mov rdx, qword ptr [rsp + 56] # 8-byte Reload pinsrb xmm9, byte ptr [rsi + rdx + 12], 15 - mov rdx, qword ptr [rsp + 40] # 8-byte Reload + mov rdx, qword ptr [rsp + 24] # 8-byte Reload pinsrb xmm11, byte ptr [rsi + rdx + 13], 1 pinsrb xmm11, byte ptr [rsi + r10 + 13], 2 pinsrb xmm11, byte ptr [rsi + rax + 13], 3 @@ -21658,7 +22722,7 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 pinsrb xmm11, byte ptr [rsi + rdx + 13], 14 mov rdx, qword ptr [rsp + 56] # 8-byte Reload pinsrb xmm11, byte ptr [rsi + rdx + 13], 15 - mov rdx, qword ptr [rsp + 40] # 8-byte Reload + mov rdx, qword ptr [rsp + 24] # 8-byte Reload pinsrb xmm15, byte ptr [rsi + rdx + 14], 1 pinsrb xmm15, byte ptr [rsi + r10 + 14], 2 pinsrb xmm15, byte ptr [rsi + rax + 14], 3 @@ -21677,7 +22741,7 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 pcmpeqb xmm9, xmm6 pandn xmm9, xmmword ptr [rip + .LCPI4_19] por xmm9, xmm13 - mov rcx, qword ptr [rsp + 24] # 8-byte Reload + mov rcx, qword ptr [rsp + 32] # 8-byte Reload movzx edx, byte ptr [rsi + rcx + 25] movd xmm13, edx psubb xmm14, xmmword ptr [rip + .LCPI4_22] @@ -21695,7 +22759,7 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 movzx edx, byte ptr [rsi + rcx + 27] movd xmm11, edx movdqa xmm6, xmmword ptr [rsp + 176] # 16-byte Reload - mov r11, qword ptr [rsp + 40] # 8-byte Reload + mov r11, qword ptr [rsp + 24] # 8-byte Reload pinsrb xmm6, byte ptr [rsi + r11 + 15], 1 pinsrb xmm6, byte ptr [rsi + r10 + 15], 2 mov rbx, qword ptr [rsp + 64] # 8-byte Reload @@ -21720,7 +22784,7 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 pcmpeqb xmm6, xmm14 pandn xmm6, xmmword ptr [rip + .LCPI4_6] por xmm6, xmm15 - mov rax, qword ptr [rsp + 24] # 8-byte Reload + mov rax, qword ptr [rsp + 32] # 8-byte Reload movzx edx, byte ptr [rsi + rax + 28] movd xmm15, edx por xmm6, xmm9 @@ -21774,10 +22838,10 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 pcmpeqb xmm4, xmm14 pandn xmm4, xmmword ptr [rip + .LCPI4_16] paddb xmm4, xmm10 - mov rdi, qword ptr [rsp + 24] # 8-byte Reload + mov rdi, qword ptr [rsp + 32] # 8-byte Reload movzx edx, byte ptr [rsi + rdi + 30] movd xmm10, edx - mov rax, qword ptr [rsp + 40] # 8-byte Reload + mov rax, qword ptr [rsp + 24] # 8-byte Reload pinsrb xmm7, byte ptr [rsi + rax + 18], 1 pinsrb xmm5, byte ptr [rsi + rax + 19], 1 pinsrb xmm3, byte ptr [rsi + rax + 20], 1 @@ -21819,7 +22883,7 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 mov rax, qword ptr [rsp + 96] # 8-byte Reload pinsrb xmm7, byte ptr [rsi + rax + 18], 8 pinsrb xmm7, byte ptr [rsi + r9 + 18], 9 - mov rdi, qword ptr [rsp + 32] # 8-byte Reload + mov rdi, qword ptr [rsp + 40] # 8-byte Reload pinsrb xmm7, byte ptr [rsi + rdi + 18], 10 mov r10, qword ptr [rsp + 48] # 8-byte Reload pinsrb xmm7, byte ptr [rsi + r10 + 18], 11 @@ -21996,7 +23060,7 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 pinsrb xmm9, byte ptr [rsi + r11 + 29], 6 pinsrb xmm10, byte ptr [rsi + r11 + 30], 6 pinsrb xmm6, byte ptr [rsi + r11 + 31], 6 - mov r14, qword ptr [rsp + 128] # 8-byte Reload + mov r8, qword ptr [rsp + 128] # 8-byte Reload mov rdx, rbx pinsrb xmm15, byte ptr [rsi + rbx + 28], 7 pinsrb xmm9, byte ptr [rsi + rbx + 29], 7 @@ -22066,30 +23130,30 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 punpcklwd xmm0, xmm8 # xmm0 = xmm0[0],xmm8[0],xmm0[1],xmm8[1],xmm0[2],xmm8[2],xmm0[3],xmm8[3] punpckhwd xmm4, xmm8 # xmm4 = xmm4[4],xmm8[4],xmm4[5],xmm8[5],xmm4[6],xmm8[6],xmm4[7],xmm8[7] mov rcx, qword ptr [rsp + 152] # 8-byte Reload - movdqu xmmword ptr [r14 + 4*rcx + 48], xmm4 - movdqu xmmword ptr [r14 + 4*rcx + 32], xmm0 - movdqu xmmword ptr [r14 + 4*rcx + 16], xmm1 - movdqu xmmword ptr [r14 + 4*rcx], xmm2 + movdqu xmmword ptr [r8 + 4*rcx + 48], xmm4 + movdqu xmmword ptr [r8 + 4*rcx + 32], xmm0 + movdqu xmmword ptr [r8 + 4*rcx + 16], xmm1 + movdqu xmmword ptr [r8 + 4*rcx], xmm2 add rcx, 16 mov rax, rcx - cmp rcx, qword ptr [rsp + 240] # 8-byte Folded Reload - jne .LBB4_181 -# %bb.182: - mov r10, qword ptr [rsp + 248] # 8-byte Reload - cmp r10, qword ptr [rsp + 240] # 8-byte Folded Reload + cmp rcx, qword ptr [rsp + 216] # 8-byte Folded Reload + jne .LBB4_180 +# %bb.181: + mov r10, qword ptr [rsp + 264] # 8-byte Reload + cmp r10, qword ptr [rsp + 216] # 8-byte Folded Reload mov r11b, byte ptr [rsp + 8] # 1-byte Reload - mov rsi, qword ptr [rsp + 288] # 8-byte Reload - mov r15, qword ptr [rsp + 144] # 8-byte Reload + mov rsi, qword ptr [rsp + 304] # 8-byte Reload + mov r14, qword ptr [rsp + 144] # 8-byte Reload jne .LBB4_43 - jmp .LBB4_131 -.LBB4_183: + jmp .LBB4_138 +.LBB4_182: and r10, -16 mov rax, r10 shl rax, 5 add rax, rsi - mov qword ptr [rsp + 248], rax # 8-byte Spill - mov qword ptr [rsp + 240], r10 # 8-byte Spill - lea rax, [r14 + 4*r10] + mov qword ptr [rsp + 264], rax # 8-byte Spill + mov qword ptr [rsp + 216], r10 # 8-byte Spill + lea rax, [r12 + 4*r10] mov qword ptr [rsp + 104], rax # 8-byte Spill movzx eax, r11b movd xmm1, eax @@ -22097,9 +23161,9 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 pshufb xmm1, xmm0 movdqa xmmword ptr [rsp + 160], xmm1 # 16-byte Spill xor eax, eax - mov qword ptr [rsp + 128], r14 # 8-byte Spill + mov qword ptr [rsp + 128], r12 # 8-byte Spill .p2align 4, 0x90 -.LBB4_184: # =>This Inner Loop Header: Depth=1 +.LBB4_183: # =>This Inner Loop Header: Depth=1 mov r9, rax mov qword ptr [rsp + 152], rax # 8-byte Spill shl r9, 5 @@ -22132,7 +23196,7 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 movd xmm14, eax movzx eax, byte ptr [rsi + r9 + 8] movd xmm0, eax - movdqa xmmword ptr [rsp + 208], xmm0 # 16-byte Spill + movdqa xmmword ptr [rsp + 192], xmm0 # 16-byte Spill movzx eax, byte ptr [rsi + r9 + 9] movd xmm11, eax movzx eax, byte ptr [rsi + r9 + 10] @@ -22141,14 +23205,14 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 movd xmm13, eax movzx eax, byte ptr [rsi + r9 + 12] movd xmm0, eax - movdqa xmmword ptr [rsp + 224], xmm0 # 16-byte Spill + movdqa xmmword ptr [rsp + 240], xmm0 # 16-byte Spill movzx eax, byte ptr [rsi + r9 + 13] movd xmm6, eax movzx eax, byte ptr [rsi + r9 + 14] movd xmm15, eax movzx eax, byte ptr [rsi + r9 + 15] movd xmm0, eax - movdqa xmmword ptr [rsp + 192], xmm0 # 16-byte Spill + movdqa xmmword ptr [rsp + 224], xmm0 # 16-byte Spill mov qword ptr [rsp + 72], r9 # 8-byte Spill mov rcx, r9 or rcx, 32 @@ -22161,7 +23225,7 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 or r10, 160 mov qword ptr [rsp + 64], r10 # 8-byte Spill or r15, 192 - mov qword ptr [rsp + 24], r15 # 8-byte Spill + mov qword ptr [rsp + 32], r15 # 8-byte Spill or r11, 224 or r14, 256 mov qword ptr [rsp + 176], r14 # 8-byte Spill @@ -22171,13 +23235,13 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 or rbx, 352 mov qword ptr [rsp + 88], rbx # 8-byte Spill or rdi, 384 - mov qword ptr [rsp + 32], rdi # 8-byte Spill + mov qword ptr [rsp + 40], rdi # 8-byte Spill mov rax, r9 or rax, 416 mov qword ptr [rsp + 16], rax # 8-byte Spill mov rax, r9 or rax, 448 - mov qword ptr [rsp + 40], rax # 8-byte Spill + mov qword ptr [rsp + 24], rax # 8-byte Spill mov rdi, r9 or rdi, 480 pinsrb xmm4, byte ptr [rsi + rcx], 1 @@ -22193,7 +23257,7 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 pinsrb xmm4, byte ptr [rsi + rdx], 9 pinsrb xmm4, byte ptr [rsi + r8], 10 pinsrb xmm4, byte ptr [rsi + rbx], 11 - mov rcx, qword ptr [rsp + 32] # 8-byte Reload + mov rcx, qword ptr [rsp + 40] # 8-byte Reload pinsrb xmm4, byte ptr [rsi + rcx], 12 mov r9, qword ptr [rsp + 16] # 8-byte Reload pinsrb xmm4, byte ptr [rsi + r9], 13 @@ -22240,7 +23304,7 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 pinsrb xmm5, byte ptr [rsi + r13 + 2], 4 mov r11, qword ptr [rsp + 64] # 8-byte Reload pinsrb xmm5, byte ptr [rsi + r11 + 2], 5 - mov r13, qword ptr [rsp + 24] # 8-byte Reload + mov r13, qword ptr [rsp + 32] # 8-byte Reload pinsrb xmm5, byte ptr [rsi + r13 + 2], 6 mov rbx, r10 pinsrb xmm5, byte ptr [rsi + r10 + 2], 7 @@ -22252,11 +23316,11 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 pinsrb xmm5, byte ptr [rsi + r10 + 2], 10 mov r14, qword ptr [rsp + 88] # 8-byte Reload pinsrb xmm5, byte ptr [rsi + r14 + 2], 11 - mov rax, qword ptr [rsp + 32] # 8-byte Reload + mov rax, qword ptr [rsp + 40] # 8-byte Reload pinsrb xmm5, byte ptr [rsi + rax + 2], 12 mov rax, qword ptr [rsp + 16] # 8-byte Reload pinsrb xmm5, byte ptr [rsi + rax + 2], 13 - mov rax, qword ptr [rsp + 40] # 8-byte Reload + mov rax, qword ptr [rsp + 24] # 8-byte Reload pinsrb xmm5, byte ptr [rsi + rax + 2], 14 mov qword ptr [rsp + 80], rcx # 8-byte Spill pinsrb xmm5, byte ptr [rsi + rcx + 2], 15 @@ -22271,11 +23335,11 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 pinsrb xmm7, byte ptr [rsi + r9 + 3], 9 pinsrb xmm7, byte ptr [rsi + r10 + 3], 10 pinsrb xmm7, byte ptr [rsi + r14 + 3], 11 - mov rax, qword ptr [rsp + 32] # 8-byte Reload + mov rax, qword ptr [rsp + 40] # 8-byte Reload pinsrb xmm7, byte ptr [rsi + rax + 3], 12 mov rax, qword ptr [rsp + 16] # 8-byte Reload pinsrb xmm7, byte ptr [rsi + rax + 3], 13 - mov rax, qword ptr [rsp + 40] # 8-byte Reload + mov rax, qword ptr [rsp + 24] # 8-byte Reload pinsrb xmm7, byte ptr [rsi + rax + 3], 14 pinsrb xmm7, byte ptr [rsi + rcx + 3], 15 pinsrb xmm9, byte ptr [rsi + rdx + 4], 1 @@ -22290,11 +23354,11 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 pinsrb xmm9, byte ptr [rsi + r9 + 4], 9 pinsrb xmm9, byte ptr [rsi + r10 + 4], 10 pinsrb xmm9, byte ptr [rsi + r14 + 4], 11 - mov rax, qword ptr [rsp + 32] # 8-byte Reload + mov rax, qword ptr [rsp + 40] # 8-byte Reload pinsrb xmm9, byte ptr [rsi + rax + 4], 12 mov r8, qword ptr [rsp + 16] # 8-byte Reload pinsrb xmm9, byte ptr [rsi + r8 + 4], 13 - mov rdx, qword ptr [rsp + 40] # 8-byte Reload + mov rdx, qword ptr [rsp + 24] # 8-byte Reload pinsrb xmm9, byte ptr [rsi + rdx + 4], 14 pinsrb xmm9, byte ptr [rsi + rcx + 4], 15 pcmpeqb xmm5, xmm1 @@ -22327,7 +23391,7 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 pinsrb xmm2, byte ptr [rsi + rdi + 5], 4 mov rdi, r11 pinsrb xmm2, byte ptr [rsi + r11 + 5], 5 - mov rax, qword ptr [rsp + 24] # 8-byte Reload + mov rax, qword ptr [rsp + 32] # 8-byte Reload pinsrb xmm2, byte ptr [rsi + rax + 5], 6 mov qword ptr [rsp + 272], rbx # 8-byte Spill pinsrb xmm2, byte ptr [rsi + rbx + 5], 7 @@ -22336,11 +23400,11 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 pinsrb xmm2, byte ptr [rsi + r9 + 5], 9 pinsrb xmm2, byte ptr [rsi + r10 + 5], 10 pinsrb xmm2, byte ptr [rsi + r14 + 5], 11 - mov rdx, qword ptr [rsp + 32] # 8-byte Reload + mov rdx, qword ptr [rsp + 40] # 8-byte Reload pinsrb xmm2, byte ptr [rsi + rdx + 5], 12 mov rcx, r8 pinsrb xmm2, byte ptr [rsi + r8 + 5], 13 - mov r8, qword ptr [rsp + 40] # 8-byte Reload + mov r8, qword ptr [rsp + 24] # 8-byte Reload pinsrb xmm2, byte ptr [rsi + r8 + 5], 14 mov r11, qword ptr [rsp + 80] # 8-byte Reload pinsrb xmm2, byte ptr [rsi + r11 + 5], 15 @@ -22351,7 +23415,7 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 mov r13, qword ptr [rsp + 112] # 8-byte Reload pinsrb xmm8, byte ptr [rsi + r13 + 6], 4 pinsrb xmm8, byte ptr [rsi + rdi + 6], 5 - mov rax, qword ptr [rsp + 24] # 8-byte Reload + mov rax, qword ptr [rsp + 32] # 8-byte Reload pinsrb xmm8, byte ptr [rsi + rax + 6], 6 mov r13, rax pinsrb xmm8, byte ptr [rsi + rbx + 6], 7 @@ -22403,7 +23467,7 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 por xmm1, xmm8 movzx edx, byte ptr [rsi + rdi + 21] movd xmm2, edx - movdqa xmm0, xmmword ptr [rsp + 208] # 16-byte Reload + movdqa xmm0, xmmword ptr [rsp + 192] # 16-byte Reload mov rax, qword ptr [rsp + 48] # 8-byte Reload pinsrb xmm0, byte ptr [rsi + rax + 8], 1 pinsrb xmm0, byte ptr [rsi + r12 + 8], 2 @@ -22413,7 +23477,7 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 mov r8, r11 mov r14, qword ptr [rsp + 64] # 8-byte Reload pinsrb xmm0, byte ptr [rsi + r14 + 8], 5 - mov rdx, qword ptr [rsp + 24] # 8-byte Reload + mov rdx, qword ptr [rsp + 32] # 8-byte Reload pinsrb xmm0, byte ptr [rsi + rdx + 8], 6 mov r11, qword ptr [rsp + 272] # 8-byte Reload pinsrb xmm0, byte ptr [rsi + r11 + 8], 7 @@ -22424,14 +23488,14 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 pinsrb xmm0, byte ptr [rsi + r15 + 8], 10 mov rdx, qword ptr [rsp + 88] # 8-byte Reload pinsrb xmm0, byte ptr [rsi + rdx + 8], 11 - mov rdx, qword ptr [rsp + 32] # 8-byte Reload + mov rdx, qword ptr [rsp + 40] # 8-byte Reload pinsrb xmm0, byte ptr [rsi + rdx + 8], 12 pinsrb xmm0, byte ptr [rsi + r13 + 8], 13 - mov rdx, qword ptr [rsp + 40] # 8-byte Reload + mov rdx, qword ptr [rsp + 24] # 8-byte Reload pinsrb xmm0, byte ptr [rsi + rdx + 8], 14 pinsrb xmm0, byte ptr [rsi + rcx + 8], 15 por xmm1, xmm9 - movdqa xmmword ptr [rsp + 208], xmm1 # 16-byte Spill + movdqa xmmword ptr [rsp + 192], xmm1 # 16-byte Spill movzx edx, byte ptr [rsi + rdi + 22] movd xmm1, edx pcmpeqb xmm0, xmm14 @@ -22441,7 +23505,7 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 pinsrb xmm11, byte ptr [rsi + r12 + 9], 3 pinsrb xmm11, byte ptr [rsi + r8 + 9], 4 pinsrb xmm11, byte ptr [rsi + r14 + 9], 5 - mov r13, qword ptr [rsp + 24] # 8-byte Reload + mov r13, qword ptr [rsp + 32] # 8-byte Reload pinsrb xmm11, byte ptr [rsi + r13 + 9], 6 pinsrb xmm11, byte ptr [rsi + r11 + 9], 7 pinsrb xmm11, byte ptr [rsi + rbx + 9], 8 @@ -22451,11 +23515,11 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 pinsrb xmm11, byte ptr [rsi + r15 + 9], 10 mov r10, qword ptr [rsp + 88] # 8-byte Reload pinsrb xmm11, byte ptr [rsi + r10 + 9], 11 - mov r15, qword ptr [rsp + 32] # 8-byte Reload + mov r15, qword ptr [rsp + 40] # 8-byte Reload pinsrb xmm11, byte ptr [rsi + r15 + 9], 12 mov rdx, qword ptr [rsp + 16] # 8-byte Reload pinsrb xmm11, byte ptr [rsi + rdx + 9], 13 - mov rdx, qword ptr [rsp + 40] # 8-byte Reload + mov rdx, qword ptr [rsp + 24] # 8-byte Reload pinsrb xmm11, byte ptr [rsi + rdx + 9], 14 mov rdx, qword ptr [rsp + 80] # 8-byte Reload pinsrb xmm11, byte ptr [rsi + rdx + 9], 15 @@ -22474,7 +23538,7 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 pinsrb xmm12, byte ptr [rsi + r15 + 10], 12 mov r14, qword ptr [rsp + 16] # 8-byte Reload pinsrb xmm12, byte ptr [rsi + r14 + 10], 13 - mov rax, qword ptr [rsp + 40] # 8-byte Reload + mov rax, qword ptr [rsp + 24] # 8-byte Reload pinsrb xmm12, byte ptr [rsi + rax + 10], 14 pinsrb xmm12, byte ptr [rsi + rdx + 10], 15 mov rax, qword ptr [rsp + 48] # 8-byte Reload @@ -22496,7 +23560,7 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 mov rdi, qword ptr [rsp + 16] # 8-byte Reload pinsrb xmm13, byte ptr [rsi + rdi + 11], 13 mov r13, rdi - mov r9, qword ptr [rsp + 40] # 8-byte Reload + mov r9, qword ptr [rsp + 24] # 8-byte Reload pinsrb xmm13, byte ptr [rsi + r9 + 11], 14 pinsrb xmm13, byte ptr [rsi + rdx + 11], 15 pcmpeqb xmm11, xmm14 @@ -22512,7 +23576,7 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 por xmm13, xmm12 movzx edx, byte ptr [rsi + rdi + 24] movd xmm12, edx - movdqa xmm9, xmmword ptr [rsp + 224] # 16-byte Reload + movdqa xmm9, xmmword ptr [rsp + 240] # 16-byte Reload mov r11, qword ptr [rsp + 48] # 8-byte Reload pinsrb xmm9, byte ptr [rsi + r11 + 12], 1 mov r8, r14 @@ -22522,7 +23586,7 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 mov r14, qword ptr [rsp + 112] # 8-byte Reload pinsrb xmm9, byte ptr [rsi + r14 + 12], 4 pinsrb xmm9, byte ptr [rsi + rax + 12], 5 - mov rdx, qword ptr [rsp + 24] # 8-byte Reload + mov rdx, qword ptr [rsp + 32] # 8-byte Reload pinsrb xmm9, byte ptr [rsi + rdx + 12], 6 mov r15, r12 pinsrb xmm9, byte ptr [rsi + r12 + 12], 7 @@ -22531,7 +23595,7 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 mov r12, qword ptr [rsp + 120] # 8-byte Reload pinsrb xmm9, byte ptr [rsi + r12 + 12], 10 pinsrb xmm9, byte ptr [rsi + r10 + 12], 11 - mov r10, qword ptr [rsp + 32] # 8-byte Reload + mov r10, qword ptr [rsp + 40] # 8-byte Reload pinsrb xmm9, byte ptr [rsi + r10 + 12], 12 pinsrb xmm9, byte ptr [rsi + r13 + 12], 13 pinsrb xmm9, byte ptr [rsi + r9 + 12], 14 @@ -22573,7 +23637,7 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 pinsrb xmm15, byte ptr [rsi + r13 + 14], 12 mov r13, r10 pinsrb xmm15, byte ptr [rsi + r10 + 14], 13 - mov r10, qword ptr [rsp + 40] # 8-byte Reload + mov r10, qword ptr [rsp + 24] # 8-byte Reload pinsrb xmm15, byte ptr [rsi + r10 + 14], 14 pcmpeqb xmm9, xmm14 pandn xmm9, xmmword ptr [rip + .LCPI4_19] @@ -22593,7 +23657,7 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 por xmm15, xmm6 movzx edx, byte ptr [rsi + rax + 27] movd xmm11, edx - movdqa xmm6, xmmword ptr [rsp + 192] # 16-byte Reload + movdqa xmm6, xmmword ptr [rsp + 224] # 16-byte Reload mov rcx, qword ptr [rsp + 48] # 8-byte Reload pinsrb xmm6, byte ptr [rsi + rcx + 15], 1 pinsrb xmm6, byte ptr [rsi + r8 + 15], 2 @@ -22602,7 +23666,7 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 pinsrb xmm6, byte ptr [rsi + r14 + 15], 4 mov rcx, qword ptr [rsp + 64] # 8-byte Reload pinsrb xmm6, byte ptr [rsi + rcx + 15], 5 - mov rdx, qword ptr [rsp + 24] # 8-byte Reload + mov rdx, qword ptr [rsp + 32] # 8-byte Reload pinsrb xmm6, byte ptr [rsi + rdx + 15], 6 pinsrb xmm6, byte ptr [rsi + r15 + 15], 7 pinsrb xmm6, byte ptr [rsi + rdi + 15], 8 @@ -22621,7 +23685,7 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 movzx edx, byte ptr [rsi + rax + 28] movd xmm15, edx por xmm6, xmm9 - movdqa xmmword ptr [rsp + 192], xmm6 # 16-byte Spill + movdqa xmmword ptr [rsp + 224], xmm6 # 16-byte Spill movzx edx, byte ptr [rsi + rax + 29] movd xmm9, edx mov rdx, qword ptr [rsp + 48] # 8-byte Reload @@ -22630,7 +23694,7 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 pinsrb xmm10, byte ptr [rsi + r9 + 16], 3 pinsrb xmm10, byte ptr [rsi + r14 + 16], 4 pinsrb xmm10, byte ptr [rsi + rcx + 16], 5 - mov r12, qword ptr [rsp + 24] # 8-byte Reload + mov r12, qword ptr [rsp + 32] # 8-byte Reload pinsrb xmm10, byte ptr [rsi + r12 + 16], 6 pinsrb xmm10, byte ptr [rsi + r15 + 16], 7 mov rcx, qword ptr [rsp + 176] # 8-byte Reload @@ -22638,11 +23702,11 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 pinsrb xmm10, byte ptr [rsi + rdi + 16], 9 pinsrb xmm10, byte ptr [rsi + r11 + 16], 10 pinsrb xmm10, byte ptr [rsi + rbx + 16], 11 - mov rax, qword ptr [rsp + 32] # 8-byte Reload + mov rax, qword ptr [rsp + 40] # 8-byte Reload pinsrb xmm10, byte ptr [rsi + rax + 16], 12 mov rax, r13 pinsrb xmm10, byte ptr [rsi + r13 + 16], 13 - mov r13, qword ptr [rsp + 40] # 8-byte Reload + mov r13, qword ptr [rsp + 24] # 8-byte Reload pinsrb xmm10, byte ptr [rsi + r13 + 16], 14 pinsrb xmm10, byte ptr [rsi + r10 + 16], 15 pinsrb xmm4, byte ptr [rsi + rdx + 17], 1 @@ -22658,7 +23722,7 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 pinsrb xmm4, byte ptr [rsi + rdi + 17], 9 pinsrb xmm4, byte ptr [rsi + r11 + 17], 10 pinsrb xmm4, byte ptr [rsi + rbx + 17], 11 - mov r12, qword ptr [rsp + 32] # 8-byte Reload + mov r12, qword ptr [rsp + 40] # 8-byte Reload pinsrb xmm4, byte ptr [rsi + r12 + 17], 12 pinsrb xmm4, byte ptr [rsi + rax + 17], 13 pinsrb xmm4, byte ptr [rsi + r13 + 17], 14 @@ -22899,7 +23963,7 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 pinsrb xmm9, byte ptr [rsi + r15 + 29], 7 pinsrb xmm10, byte ptr [rsi + r15 + 30], 7 pinsrb xmm6, byte ptr [rsi + r15 + 31], 7 - mov r14, qword ptr [rsp + 128] # 8-byte Reload + mov rbx, qword ptr [rsp + 128] # 8-byte Reload pinsrb xmm15, byte ptr [rsi + r11 + 28], 8 pinsrb xmm9, byte ptr [rsi + r11 + 29], 8 pinsrb xmm10, byte ptr [rsi + r11 + 30], 8 @@ -22952,9 +24016,9 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 por xmm6, xmm15 movdqa xmm0, xmm8 punpcklbw xmm0, xmm6 # xmm0 = xmm0[0],xmm6[0],xmm0[1],xmm6[1],xmm0[2],xmm6[2],xmm0[3],xmm6[3],xmm0[4],xmm6[4],xmm0[5],xmm6[5],xmm0[6],xmm6[6],xmm0[7],xmm6[7] - movdqa xmm3, xmmword ptr [rsp + 208] # 16-byte Reload + movdqa xmm3, xmmword ptr [rsp + 192] # 16-byte Reload movdqa xmm1, xmm3 - movdqa xmm4, xmmword ptr [rsp + 192] # 16-byte Reload + movdqa xmm4, xmmword ptr [rsp + 224] # 16-byte Reload punpcklbw xmm1, xmm4 # xmm1 = xmm1[0],xmm4[0],xmm1[1],xmm4[1],xmm1[2],xmm4[2],xmm1[3],xmm4[3],xmm1[4],xmm4[4],xmm1[5],xmm4[5],xmm1[6],xmm4[6],xmm1[7],xmm4[7] movdqa xmm2, xmm1 punpcklwd xmm2, xmm0 # xmm2 = xmm2[0],xmm0[0],xmm2[1],xmm0[1],xmm2[2],xmm0[2],xmm2[3],xmm0[3] @@ -22965,41 +24029,41 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 punpcklwd xmm0, xmm8 # xmm0 = xmm0[0],xmm8[0],xmm0[1],xmm8[1],xmm0[2],xmm8[2],xmm0[3],xmm8[3] punpckhwd xmm3, xmm8 # xmm3 = xmm3[4],xmm8[4],xmm3[5],xmm8[5],xmm3[6],xmm8[6],xmm3[7],xmm8[7] mov rcx, qword ptr [rsp + 152] # 8-byte Reload - movdqu xmmword ptr [r14 + 4*rcx + 48], xmm3 - movdqu xmmword ptr [r14 + 4*rcx + 32], xmm0 - movdqu xmmword ptr [r14 + 4*rcx + 16], xmm1 - movdqu xmmword ptr [r14 + 4*rcx], xmm2 + movdqu xmmword ptr [rbx + 4*rcx + 48], xmm3 + movdqu xmmword ptr [rbx + 4*rcx + 32], xmm0 + movdqu xmmword ptr [rbx + 4*rcx + 16], xmm1 + movdqu xmmword ptr [rbx + 4*rcx], xmm2 add rcx, 16 mov rax, rcx - cmp rcx, qword ptr [rsp + 240] # 8-byte Folded Reload - jne .LBB4_184 -# %bb.185: - mov r10, qword ptr [rsp + 256] # 8-byte Reload - cmp r10, qword ptr [rsp + 240] # 8-byte Folded Reload + cmp rcx, qword ptr [rsp + 216] # 8-byte Folded Reload + jne .LBB4_183 +# %bb.184: + mov r10, qword ptr [rsp + 288] # 8-byte Reload + cmp r10, qword ptr [rsp + 216] # 8-byte Folded Reload mov r11b, byte ptr [rsp + 8] # 1-byte Reload - mov rsi, qword ptr [rsp + 248] # 8-byte Reload - mov r15, qword ptr [rsp + 144] # 8-byte Reload + mov rsi, qword ptr [rsp + 264] # 8-byte Reload + mov r14, qword ptr [rsp + 144] # 8-byte Reload jne .LBB4_69 - jmp .LBB4_135 -.LBB4_186: + jmp .LBB4_142 +.LBB4_185: and r10, -8 mov rax, r10 shl rax, 6 add rax, rsi mov qword ptr [rsp + 56], rax # 8-byte Spill - mov qword ptr [rsp + 24], r10 # 8-byte Spill - lea rax, [r14 + 4*r10] + mov qword ptr [rsp + 32], r10 # 8-byte Spill + lea rax, [r12 + 4*r10] mov qword ptr [rsp + 8], rax # 8-byte Spill mov dword ptr [rsp + 64], r13d # 4-byte Spill movd xmm0, r13d pshuflw xmm0, xmm0, 224 # xmm0 = xmm0[0,0,2,3,4,5,6,7] pshufd xmm11, xmm0, 0 # xmm11 = xmm0[0,0,0,0] xor r15d, r15d - mov qword ptr [rsp + 128], r14 # 8-byte Spill + mov qword ptr [rsp + 128], r12 # 8-byte Spill pxor xmm15, xmm15 .p2align 4, 0x90 -.LBB4_187: # =>This Inner Loop Header: Depth=1 - mov qword ptr [rsp + 40], r15 # 8-byte Spill +.LBB4_186: # =>This Inner Loop Header: Depth=1 + mov qword ptr [rsp + 24], r15 # 8-byte Spill shl r15, 6 mov r8, r15 mov r12, r15 @@ -23136,7 +24200,7 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 movd xmm3, dword ptr [rsp + 16] # 4-byte Folded Reload # xmm3 = mem[0],zero,zero,zero movzx edx, word ptr [rsi + r15 + 32] - mov dword ptr [rsp + 32], edx # 4-byte Spill + mov dword ptr [rsp + 40], edx # 4-byte Spill pinsrw xmm1, word ptr [rsi + rcx + 14], 1 pinsrw xmm1, word ptr [rsi + r8 + 14], 2 pinsrw xmm1, word ptr [rsi + r12 + 14], 3 @@ -23224,7 +24288,7 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 movdqa xmm13, xmm9 movdqa xmm0, xmm2 pblendvb xmm13, xmm15, xmm0 - movd xmm7, dword ptr [rsp + 32] # 4-byte Folded Reload + movd xmm7, dword ptr [rsp + 40] # 4-byte Folded Reload # xmm7 = mem[0],zero,zero,zero movzx r10d, word ptr [rsi + r15 + 42] pinsrw xmm1, word ptr [rsi + rcx + 26], 1 @@ -23249,7 +24313,7 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 movd xmm2, dword ptr [rsp + 16] # 4-byte Folded Reload # xmm2 = mem[0],zero,zero,zero movzx edx, word ptr [rsi + r15 + 44] - mov dword ptr [rsp + 32], edx # 4-byte Spill + mov dword ptr [rsp + 40], edx # 4-byte Spill pinsrw xmm4, word ptr [rsi + r9 + 28], 7 pcmpeqw xmm4, xmm11 packsswb xmm4, xmm4 @@ -23336,7 +24400,7 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 movdqa xmm5, xmm10 movdqa xmm0, xmm1 pblendvb xmm5, xmm15, xmm0 - movd xmm1, dword ptr [rsp + 32] # 4-byte Folded Reload + movd xmm1, dword ptr [rsp + 40] # 4-byte Folded Reload # xmm1 = mem[0],zero,zero,zero movzx r10d, word ptr [rsi + r15 + 54] pcmpeqw xmm2, xmm11 @@ -23491,7 +24555,7 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 pinsrw xmm0, word ptr [rsi + rcx + 62], 1 pinsrw xmm0, word ptr [rsi + r8 + 62], 2 pinsrw xmm0, word ptr [rsi + r12 + 62], 3 - mov r14, qword ptr [rsp + 128] # 8-byte Reload + mov rax, qword ptr [rsp + 128] # 8-byte Reload pinsrw xmm0, word ptr [rsi + r13 + 62], 4 pinsrw xmm0, word ptr [rsi + rbx + 62], 5 pinsrw xmm0, word ptr [rsi + rdi + 62], 6 @@ -23512,279 +24576,649 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 punpcklbw xmm8, xmm14 # xmm8 = xmm8[0],xmm14[0],xmm8[1],xmm14[1],xmm8[2],xmm14[2],xmm8[3],xmm14[3],xmm8[4],xmm14[4],xmm8[5],xmm14[5],xmm8[6],xmm14[6],xmm8[7],xmm14[7] punpcklbw xmm12, xmm13 # xmm12 = xmm12[0],xmm13[0],xmm12[1],xmm13[1],xmm12[2],xmm13[2],xmm12[3],xmm13[3],xmm12[4],xmm13[4],xmm12[5],xmm13[5],xmm12[6],xmm13[6],xmm12[7],xmm13[7] punpcklwd xmm12, xmm8 # xmm12 = xmm12[0],xmm8[0],xmm12[1],xmm8[1],xmm12[2],xmm8[2],xmm12[3],xmm8[3] - mov rcx, qword ptr [rsp + 40] # 8-byte Reload - movdqu xmmword ptr [r14 + 4*rcx], xmm12 - movdqu xmmword ptr [r14 + 4*rcx + 16], xmm0 + mov rcx, qword ptr [rsp + 24] # 8-byte Reload + movdqu xmmword ptr [rax + 4*rcx], xmm12 + movdqu xmmword ptr [rax + 4*rcx + 16], xmm0 add rcx, 8 mov r15, rcx - cmp rcx, qword ptr [rsp + 24] # 8-byte Folded Reload - jne .LBB4_187 -# %bb.188: - mov r10, qword ptr [rsp + 208] # 8-byte Reload - cmp r10, qword ptr [rsp + 24] # 8-byte Folded Reload - mov r15, qword ptr [rsp + 144] # 8-byte Reload + cmp rcx, qword ptr [rsp + 32] # 8-byte Folded Reload + jne .LBB4_186 +# %bb.187: + mov r10, qword ptr [rsp + 192] # 8-byte Reload + cmp r10, qword ptr [rsp + 32] # 8-byte Folded Reload + mov r14, qword ptr [rsp + 144] # 8-byte Reload mov r13d, dword ptr [rsp + 64] # 4-byte Reload mov r12, qword ptr [rsp + 8] # 8-byte Reload mov rsi, qword ptr [rsp + 56] # 8-byte Reload jne .LBB4_92 - jmp .LBB4_139 -.LBB4_189: - and r10, -8 - mov rax, r10 - shl rax, 6 - add rax, rsi - mov qword ptr [rsp + 56], rax # 8-byte Spill - mov qword ptr [rsp + 24], r10 # 8-byte Spill - lea rax, [r14 + 4*r10] - mov qword ptr [rsp + 8], rax # 8-byte Spill - mov dword ptr [rsp + 64], r13d # 4-byte Spill - movd xmm0, r13d - pshuflw xmm0, xmm0, 224 # xmm0 = xmm0[0,0,2,3,4,5,6,7] - pshufd xmm11, xmm0, 0 # xmm11 = xmm0[0,0,0,0] - xor r15d, r15d - mov qword ptr [rsp + 128], r14 # 8-byte Spill - pxor xmm15, xmm15 + jmp .LBB4_95 +.LBB4_188: + mov r8, r10 + and r8, -4 + mov rbx, r8 + shl rbx, 7 + add rbx, rsi + lea r15, [r12 + 4*r8] + movaps xmm1, xmm0 + shufps xmm1, xmm0, 0 # xmm1 = xmm1[0,0],xmm0[0,0] + add rsi, 508 + xor ecx, ecx + movdqa xmm15, xmmword ptr [rip + .LCPI4_0] # xmm15 = <1,1,1,1,u,u,u,u,u,u,u,u,u,u,u,u> + movdqa xmm8, xmmword ptr [rip + .LCPI4_1] # xmm8 = [252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252] + movdqa xmm10, xmmword ptr [rip + .LCPI4_2] # xmm10 = [248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248] + movdqa xmm11, xmmword ptr [rip + .LCPI4_3] # xmm11 = [240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240] + movdqa xmm12, xmmword ptr [rip + .LCPI4_4] # xmm12 = [224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224] + movdqa xmm13, xmmword ptr [rip + .LCPI4_5] # xmm13 = [192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192] + movdqa xmm14, xmmword ptr [rip + .LCPI4_6] # xmm14 = [128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128] + movdqa xmm9, xmmword ptr [rip + .LCPI4_7] # xmm9 = [0,8,1,9,2,10,3,11,4,12,5,13,6,14,7,15] .p2align 4, 0x90 -.LBB4_190: # =>This Inner Loop Header: Depth=1 - mov qword ptr [rsp + 40], r15 # 8-byte Spill - shl r15, 6 - mov r8, r15 - mov r12, r15 - mov r13, r15 - mov rbx, r15 - mov rdi, r15 - mov r9, r15 - movzx eax, word ptr [rsi + r15] - movd xmm5, eax - movzx eax, word ptr [rsi + r15 + 2] - movd xmm0, eax - movzx eax, word ptr [rsi + r15 + 4] - movd xmm1, eax - movzx eax, word ptr [rsi + r15 + 6] - movd xmm7, eax - movzx eax, word ptr [rsi + r15 + 8] - movd xmm8, eax - movzx eax, word ptr [rsi + r15 + 10] - movd xmm4, eax - movzx eax, word ptr [rsi + r15 + 12] - movzx r10d, word ptr [rsi + r15 + 14] - movzx r11d, word ptr [rsi + r15 + 16] - movzx edx, word ptr [rsi + r15 + 18] - movzx r14d, word ptr [rsi + r15 + 20] - mov rcx, r15 - or rcx, 64 - or r8, 128 - or r12, 192 - or r13, 256 - or rbx, 320 - or rdi, 384 - pinsrw xmm5, word ptr [rsi + rcx], 1 - pinsrw xmm5, word ptr [rsi + r8], 2 - pinsrw xmm5, word ptr [rsi + r12], 3 - pinsrw xmm5, word ptr [rsi + r13], 4 - pinsrw xmm5, word ptr [rsi + rbx], 5 - pinsrw xmm5, word ptr [rsi + rdi], 6 - pinsrw xmm0, word ptr [rsi + rcx + 2], 1 - pinsrw xmm0, word ptr [rsi + r8 + 2], 2 - pinsrw xmm0, word ptr [rsi + r12 + 2], 3 - pinsrw xmm0, word ptr [rsi + r13 + 2], 4 - pinsrw xmm0, word ptr [rsi + rbx + 2], 5 - pinsrw xmm0, word ptr [rsi + rdi + 2], 6 - or r9, 448 - pinsrw xmm0, word ptr [rsi + r9 + 2], 7 - movd xmm2, eax - movzx eax, word ptr [rsi + r15 + 22] - mov dword ptr [rsp + 16], eax # 4-byte Spill - pcmpeqw xmm0, xmm11 - pinsrw xmm1, word ptr [rsi + rcx + 4], 1 - pinsrw xmm1, word ptr [rsi + r8 + 4], 2 - pinsrw xmm1, word ptr [rsi + r12 + 4], 3 - pinsrw xmm1, word ptr [rsi + r13 + 4], 4 - pinsrw xmm1, word ptr [rsi + rbx + 4], 5 - pinsrw xmm1, word ptr [rsi + rdi + 4], 6 - pinsrw xmm1, word ptr [rsi + r9 + 4], 7 - packsswb xmm0, xmm0 - pcmpeqw xmm1, xmm11 - movdqa xmm9, xmmword ptr [rip + .LCPI4_8] # xmm9 = <2,2,2,2,2,2,2,2,u,u,u,u,u,u,u,u> - movdqa xmm3, xmm9 - pblendvb xmm3, xmm15, xmm0 - packsswb xmm1, xmm1 - movdqa xmm0, xmmword ptr [rip + .LCPI4_9] # xmm0 = <4,4,4,4,4,4,4,4,u,u,u,u,u,u,u,u> - movdqa xmm6, xmm0 - movdqa xmm14, xmm0 - movdqa xmm0, xmm1 - pblendvb xmm6, xmm15, xmm0 - movd xmm1, r10d - movzx r10d, word ptr [rsi + r15 + 24] - pinsrw xmm5, word ptr [rsi + r9], 7 - pcmpeqw xmm5, xmm11 - pcmpeqd xmm0, xmm0 - pxor xmm5, xmm0 - packsswb xmm5, xmm5 - pinsrw xmm7, word ptr [rsi + rcx + 6], 1 - pinsrw xmm7, word ptr [rsi + r8 + 6], 2 - pinsrw xmm7, word ptr [rsi + r12 + 6], 3 - pinsrw xmm7, word ptr [rsi + r13 + 6], 4 - pinsrw xmm7, word ptr [rsi + rbx + 6], 5 - pinsrw xmm7, word ptr [rsi + rdi + 6], 6 - pinsrw xmm7, word ptr [rsi + r9 + 6], 7 - pcmpeqw xmm7, xmm11 - packsswb xmm7, xmm7 - pinsrw xmm8, word ptr [rsi + rcx + 8], 1 - pinsrw xmm8, word ptr [rsi + r8 + 8], 2 - pinsrw xmm8, word ptr [rsi + r12 + 8], 3 - pinsrw xmm8, word ptr [rsi + r13 + 8], 4 - pinsrw xmm8, word ptr [rsi + rbx + 8], 5 - pinsrw xmm8, word ptr [rsi + rdi + 8], 6 - pinsrw xmm8, word ptr [rsi + r9 + 8], 7 - psubb xmm3, xmm5 - movdqa xmm12, xmmword ptr [rip + .LCPI4_10] # xmm12 = <8,8,8,8,8,8,8,8,u,u,u,u,u,u,u,u> - movdqa xmm0, xmm7 - pblendvb xmm12, xmm15, xmm0 - movd xmm7, r11d - movzx eax, word ptr [rsi + r15 + 26] - pcmpeqw xmm8, xmm11 - packsswb xmm8, xmm8 - por xmm12, xmm6 - movdqa xmm13, xmmword ptr [rip + .LCPI4_11] # xmm13 = <16,16,16,16,16,16,16,16,u,u,u,u,u,u,u,u> - movdqa xmm0, xmm8 - pblendvb xmm13, xmm15, xmm0 - movd xmm6, edx - movzx r11d, word ptr [rsi + r15 + 28] - pinsrw xmm4, word ptr [rsi + rcx + 10], 1 - pinsrw xmm4, word ptr [rsi + r8 + 10], 2 - pinsrw xmm4, word ptr [rsi + r12 + 10], 3 - pinsrw xmm4, word ptr [rsi + r13 + 10], 4 - pinsrw xmm4, word ptr [rsi + rbx + 10], 5 - pinsrw xmm4, word ptr [rsi + rdi + 10], 6 - pinsrw xmm4, word ptr [rsi + r9 + 10], 7 - pcmpeqw xmm4, xmm11 - packsswb xmm4, xmm4 - pinsrw xmm2, word ptr [rsi + rcx + 12], 1 - pinsrw xmm2, word ptr [rsi + r8 + 12], 2 - pinsrw xmm2, word ptr [rsi + r12 + 12], 3 - pinsrw xmm2, word ptr [rsi + r13 + 12], 4 - pinsrw xmm2, word ptr [rsi + rbx + 12], 5 - pinsrw xmm2, word ptr [rsi + rdi + 12], 6 - por xmm12, xmm3 - movdqa xmm5, xmmword ptr [rip + .LCPI4_12] # xmm5 = <32,32,32,32,32,32,32,32,u,u,u,u,u,u,u,u> - movdqa xmm0, xmm4 - pblendvb xmm5, xmm15, xmm0 - movd xmm4, r14d - movzx edx, word ptr [rsi + r15 + 30] - mov dword ptr [rsp + 48], edx # 4-byte Spill - pinsrw xmm2, word ptr [rsi + r9 + 12], 7 - pcmpeqw xmm2, xmm11 - packsswb xmm2, xmm2 - por xmm5, xmm13 - movdqa xmm13, xmmword ptr [rip + .LCPI4_13] # xmm13 = <64,64,64,64,64,64,64,64,u,u,u,u,u,u,u,u> - movdqa xmm0, xmm2 - pblendvb xmm13, xmm15, xmm0 - movd xmm3, dword ptr [rsp + 16] # 4-byte Folded Reload - # xmm3 = mem[0],zero,zero,zero - movzx edx, word ptr [rsi + r15 + 32] - mov dword ptr [rsp + 32], edx # 4-byte Spill - pinsrw xmm1, word ptr [rsi + rcx + 14], 1 - pinsrw xmm1, word ptr [rsi + r8 + 14], 2 - pinsrw xmm1, word ptr [rsi + r12 + 14], 3 - pinsrw xmm1, word ptr [rsi + r13 + 14], 4 - pinsrw xmm1, word ptr [rsi + rbx + 14], 5 - pinsrw xmm1, word ptr [rsi + rdi + 14], 6 - por xmm13, xmm5 - movd xmm2, r10d - movzx edx, word ptr [rsi + r15 + 34] - mov dword ptr [rsp + 16], edx # 4-byte Spill - pinsrw xmm1, word ptr [rsi + r9 + 14], 7 - pcmpeqw xmm1, xmm11 - pinsrw xmm6, word ptr [rsi + rcx + 18], 1 - pinsrw xmm6, word ptr [rsi + r8 + 18], 2 - pinsrw xmm6, word ptr [rsi + r12 + 18], 3 - pinsrw xmm6, word ptr [rsi + r13 + 18], 4 - pinsrw xmm6, word ptr [rsi + rbx + 18], 5 - pinsrw xmm6, word ptr [rsi + rdi + 18], 6 - packsswb xmm1, xmm1 - pinsrw xmm6, word ptr [rsi + r9 + 18], 7 - pcmpeqw xmm6, xmm11 +.LBB4_189: # =>This Inner Loop Header: Depth=1 + movss xmm6, dword ptr [rsi - 508] # xmm6 = mem[0],zero,zero,zero + movss xmm7, dword ptr [rsi - 504] # xmm7 = mem[0],zero,zero,zero + movss xmm5, dword ptr [rsi - 500] # xmm5 = mem[0],zero,zero,zero + movss xmm4, dword ptr [rsi - 496] # xmm4 = mem[0],zero,zero,zero + insertps xmm6, dword ptr [rsi - 380], 16 # xmm6 = xmm6[0],mem[0],xmm6[2,3] + insertps xmm6, dword ptr [rsi - 252], 32 # xmm6 = xmm6[0,1],mem[0],xmm6[3] + insertps xmm6, dword ptr [rsi - 124], 48 # xmm6 = xmm6[0,1,2],mem[0] + cmpneqps xmm6, xmm1 + packssdw xmm6, xmm6 packsswb xmm6, xmm6 - por xmm13, xmm12 - movdqa xmm12, xmmword ptr [rip + .LCPI4_14] # xmm12 = <128,128,128,128,128,128,128,128,u,u,u,u,u,u,u,u> - movdqa xmm0, xmm1 - pblendvb xmm12, xmm15, xmm0 - movdqa xmm8, xmm9 - movdqa xmm0, xmm6 - pblendvb xmm8, xmm15, xmm0 - movd xmm1, eax - movzx r14d, word ptr [rsi + r15 + 36] - pinsrw xmm7, word ptr [rsi + rcx + 16], 1 - pinsrw xmm7, word ptr [rsi + r8 + 16], 2 - pinsrw xmm7, word ptr [rsi + r12 + 16], 3 - pinsrw xmm7, word ptr [rsi + r13 + 16], 4 - pinsrw xmm7, word ptr [rsi + rbx + 16], 5 - pinsrw xmm7, word ptr [rsi + rdi + 16], 6 - pinsrw xmm4, word ptr [rsi + rcx + 20], 1 - pinsrw xmm4, word ptr [rsi + r8 + 20], 2 - pinsrw xmm4, word ptr [rsi + r12 + 20], 3 - pinsrw xmm4, word ptr [rsi + r13 + 20], 4 - pinsrw xmm4, word ptr [rsi + rbx + 20], 5 - pinsrw xmm4, word ptr [rsi + rdi + 20], 6 - pinsrw xmm4, word ptr [rsi + r9 + 20], 7 - pcmpeqw xmm4, xmm11 + pand xmm6, xmm15 + insertps xmm7, dword ptr [rsi - 376], 16 # xmm7 = xmm7[0],mem[0],xmm7[2,3] + insertps xmm7, dword ptr [rsi - 248], 32 # xmm7 = xmm7[0,1],mem[0],xmm7[3] + insertps xmm7, dword ptr [rsi - 120], 48 # xmm7 = xmm7[0,1,2],mem[0] + insertps xmm5, dword ptr [rsi - 372], 16 # xmm5 = xmm5[0],mem[0],xmm5[2,3] + insertps xmm5, dword ptr [rsi - 244], 32 # xmm5 = xmm5[0,1],mem[0],xmm5[3] + insertps xmm5, dword ptr [rsi - 116], 48 # xmm5 = xmm5[0,1,2],mem[0] + insertps xmm4, dword ptr [rsi - 368], 16 # xmm4 = xmm4[0],mem[0],xmm4[2,3] + insertps xmm4, dword ptr [rsi - 240], 32 # xmm4 = xmm4[0,1],mem[0],xmm4[3] + insertps xmm4, dword ptr [rsi - 112], 48 # xmm4 = xmm4[0,1,2],mem[0] + cmpneqps xmm7, xmm1 + packssdw xmm7, xmm7 + packsswb xmm7, xmm7 + movdqa xmm2, xmm7 + pand xmm2, xmm15 + psubb xmm2, xmm7 + movss xmm7, dword ptr [rsi - 492] # xmm7 = mem[0],zero,zero,zero + insertps xmm7, dword ptr [rsi - 364], 16 # xmm7 = xmm7[0],mem[0],xmm7[2,3] + insertps xmm7, dword ptr [rsi - 236], 32 # xmm7 = xmm7[0,1],mem[0],xmm7[3] + insertps xmm7, dword ptr [rsi - 108], 48 # xmm7 = xmm7[0,1,2],mem[0] + por xmm2, xmm6 + movss xmm6, dword ptr [rsi - 488] # xmm6 = mem[0],zero,zero,zero + insertps xmm6, dword ptr [rsi - 360], 16 # xmm6 = xmm6[0],mem[0],xmm6[2,3] + insertps xmm6, dword ptr [rsi - 232], 32 # xmm6 = xmm6[0,1],mem[0],xmm6[3] + insertps xmm6, dword ptr [rsi - 104], 48 # xmm6 = xmm6[0,1,2],mem[0] + cmpneqps xmm5, xmm1 + packssdw xmm5, xmm5 + packsswb xmm5, xmm5 + pand xmm5, xmm15 + psllw xmm5, 2 + pand xmm5, xmm8 + por xmm5, xmm2 + movss xmm3, dword ptr [rsi - 484] # xmm3 = mem[0],zero,zero,zero + insertps xmm3, dword ptr [rsi - 356], 16 # xmm3 = xmm3[0],mem[0],xmm3[2,3] + insertps xmm3, dword ptr [rsi - 228], 32 # xmm3 = xmm3[0,1],mem[0],xmm3[3] + insertps xmm3, dword ptr [rsi - 100], 48 # xmm3 = xmm3[0,1,2],mem[0] + cmpneqps xmm4, xmm1 + packssdw xmm4, xmm4 packsswb xmm4, xmm4 - por xmm12, xmm13 - movdqa xmm5, xmm14 - movdqa xmm0, xmm4 - pblendvb xmm5, xmm15, xmm0 - movd xmm4, r11d - movzx r11d, word ptr [rsi + r15 + 38] - pinsrw xmm7, word ptr [rsi + r9 + 16], 7 - pcmpeqw xmm7, xmm11 - pxor xmm7, xmmword ptr [rip + .LCPI4_22] + pand xmm4, xmm15 + psllw xmm4, 3 + pand xmm4, xmm10 + cmpneqps xmm7, xmm1 + packssdw xmm7, xmm7 packsswb xmm7, xmm7 - pinsrw xmm3, word ptr [rsi + rcx + 22], 1 - pinsrw xmm3, word ptr [rsi + r8 + 22], 2 - pinsrw xmm3, word ptr [rsi + r12 + 22], 3 - pinsrw xmm3, word ptr [rsi + r13 + 22], 4 - pinsrw xmm3, word ptr [rsi + rbx + 22], 5 - pinsrw xmm3, word ptr [rsi + rdi + 22], 6 - pinsrw xmm3, word ptr [rsi + r9 + 22], 7 - pcmpeqw xmm3, xmm11 + pand xmm7, xmm15 + psllw xmm7, 4 + pand xmm7, xmm11 + por xmm7, xmm4 + movss xmm4, dword ptr [rsi - 480] # xmm4 = mem[0],zero,zero,zero + insertps xmm4, dword ptr [rsi - 352], 16 # xmm4 = xmm4[0],mem[0],xmm4[2,3] + insertps xmm4, dword ptr [rsi - 224], 32 # xmm4 = xmm4[0,1],mem[0],xmm4[3] + insertps xmm4, dword ptr [rsi - 96], 48 # xmm4 = xmm4[0,1,2],mem[0] + por xmm7, xmm5 + movss xmm5, dword ptr [rsi - 476] # xmm5 = mem[0],zero,zero,zero + insertps xmm5, dword ptr [rsi - 348], 16 # xmm5 = xmm5[0],mem[0],xmm5[2,3] + insertps xmm5, dword ptr [rsi - 220], 32 # xmm5 = xmm5[0,1],mem[0],xmm5[3] + insertps xmm5, dword ptr [rsi - 92], 48 # xmm5 = xmm5[0,1,2],mem[0] + cmpneqps xmm5, xmm1 + packssdw xmm5, xmm5 + cmpneqps xmm6, xmm1 + packssdw xmm6, xmm6 + packsswb xmm6, xmm6 + pand xmm6, xmm15 + psllw xmm6, 5 + pand xmm6, xmm12 + cmpneqps xmm3, xmm1 + packssdw xmm3, xmm3 packsswb xmm3, xmm3 - pinsrw xmm2, word ptr [rsi + rcx + 24], 1 - pinsrw xmm2, word ptr [rsi + r8 + 24], 2 - pinsrw xmm2, word ptr [rsi + r12 + 24], 3 - pinsrw xmm2, word ptr [rsi + r13 + 24], 4 - pinsrw xmm2, word ptr [rsi + rbx + 24], 5 - pinsrw xmm2, word ptr [rsi + rdi + 24], 6 - pinsrw xmm2, word ptr [rsi + r9 + 24], 7 - psubb xmm8, xmm7 - movdqa xmm10, xmmword ptr [rip + .LCPI4_10] # xmm10 = <8,8,8,8,8,8,8,8,u,u,u,u,u,u,u,u> - movdqa xmm14, xmm10 - movdqa xmm0, xmm3 - pblendvb xmm14, xmm15, xmm0 - movd xmm3, dword ptr [rsp + 48] # 4-byte Folded Reload - # xmm3 = mem[0],zero,zero,zero - movzx eax, word ptr [rsi + r15 + 40] - pcmpeqw xmm2, xmm11 + pand xmm3, xmm15 + psllw xmm3, 6 + pand xmm3, xmm13 + por xmm3, xmm6 + movss xmm2, dword ptr [rsi - 472] # xmm2 = mem[0],zero,zero,zero + insertps xmm2, dword ptr [rsi - 344], 16 # xmm2 = xmm2[0],mem[0],xmm2[2,3] + insertps xmm2, dword ptr [rsi - 216], 32 # xmm2 = xmm2[0,1],mem[0],xmm2[3] + insertps xmm2, dword ptr [rsi - 88], 48 # xmm2 = xmm2[0,1,2],mem[0] + packsswb xmm5, xmm5 + cmpneqps xmm4, xmm1 + packssdw xmm4, xmm4 + packsswb xmm4, xmm4 + psllw xmm4, 7 + pand xmm4, xmm14 + por xmm4, xmm3 + movss xmm3, dword ptr [rsi - 468] # xmm3 = mem[0],zero,zero,zero + insertps xmm3, dword ptr [rsi - 340], 16 # xmm3 = xmm3[0],mem[0],xmm3[2,3] + insertps xmm3, dword ptr [rsi - 212], 32 # xmm3 = xmm3[0,1],mem[0],xmm3[3] + pand xmm5, xmm15 + insertps xmm3, dword ptr [rsi - 84], 48 # xmm3 = xmm3[0,1,2],mem[0] + por xmm4, xmm7 + cmpneqps xmm2, xmm1 + packssdw xmm2, xmm2 packsswb xmm2, xmm2 - por xmm14, xmm5 - movdqa xmm9, xmmword ptr [rip + .LCPI4_11] # xmm9 = <16,16,16,16,16,16,16,16,u,u,u,u,u,u,u,u> - movdqa xmm13, xmm9 - movdqa xmm0, xmm2 - pblendvb xmm13, xmm15, xmm0 - movd xmm7, dword ptr [rsp + 32] # 4-byte Folded Reload - # xmm7 = mem[0],zero,zero,zero - movzx r10d, word ptr [rsi + r15 + 42] - pinsrw xmm1, word ptr [rsi + rcx + 26], 1 - pinsrw xmm1, word ptr [rsi + r8 + 26], 2 - pinsrw xmm1, word ptr [rsi + r12 + 26], 3 - pinsrw xmm1, word ptr [rsi + r13 + 26], 4 - pinsrw xmm1, word ptr [rsi + rbx + 26], 5 - pinsrw xmm1, word ptr [rsi + rdi + 26], 6 - pinsrw xmm1, word ptr [rsi + r9 + 26], 7 - pcmpeqw xmm1, xmm11 - packsswb xmm1, xmm1 - pinsrw xmm4, word ptr [rsi + rcx + 28], 1 - pinsrw xmm4, word ptr [rsi + r8 + 28], 2 + movdqa xmm6, xmm2 + pand xmm6, xmm15 + psubb xmm6, xmm2 + movss xmm7, dword ptr [rsi - 464] # xmm7 = mem[0],zero,zero,zero + insertps xmm7, dword ptr [rsi - 336], 16 # xmm7 = xmm7[0],mem[0],xmm7[2,3] + insertps xmm7, dword ptr [rsi - 208], 32 # xmm7 = xmm7[0,1],mem[0],xmm7[3] + insertps xmm7, dword ptr [rsi - 80], 48 # xmm7 = xmm7[0,1,2],mem[0] + por xmm6, xmm5 + movss xmm5, dword ptr [rsi - 460] # xmm5 = mem[0],zero,zero,zero + insertps xmm5, dword ptr [rsi - 332], 16 # xmm5 = xmm5[0],mem[0],xmm5[2,3] + insertps xmm5, dword ptr [rsi - 204], 32 # xmm5 = xmm5[0,1],mem[0],xmm5[3] + insertps xmm5, dword ptr [rsi - 76], 48 # xmm5 = xmm5[0,1,2],mem[0] + cmpneqps xmm3, xmm1 + packssdw xmm3, xmm3 + packsswb xmm3, xmm3 + pand xmm3, xmm15 + psllw xmm3, 2 + pand xmm3, xmm8 + por xmm3, xmm6 + movss xmm6, dword ptr [rsi - 456] # xmm6 = mem[0],zero,zero,zero + insertps xmm6, dword ptr [rsi - 328], 16 # xmm6 = xmm6[0],mem[0],xmm6[2,3] + insertps xmm6, dword ptr [rsi - 200], 32 # xmm6 = xmm6[0,1],mem[0],xmm6[3] + insertps xmm6, dword ptr [rsi - 72], 48 # xmm6 = xmm6[0,1,2],mem[0] + cmpneqps xmm7, xmm1 + packssdw xmm7, xmm7 + packsswb xmm7, xmm7 + pand xmm7, xmm15 + psllw xmm7, 3 + pand xmm7, xmm10 + cmpneqps xmm5, xmm1 + packssdw xmm5, xmm5 + packsswb xmm5, xmm5 + pand xmm5, xmm15 + psllw xmm5, 4 + pand xmm5, xmm11 + por xmm5, xmm7 + movss xmm2, dword ptr [rsi - 452] # xmm2 = mem[0],zero,zero,zero + insertps xmm2, dword ptr [rsi - 324], 16 # xmm2 = xmm2[0],mem[0],xmm2[2,3] + insertps xmm2, dword ptr [rsi - 196], 32 # xmm2 = xmm2[0,1],mem[0],xmm2[3] + insertps xmm2, dword ptr [rsi - 68], 48 # xmm2 = xmm2[0,1,2],mem[0] + por xmm5, xmm3 + movss xmm7, dword ptr [rsi - 448] # xmm7 = mem[0],zero,zero,zero + insertps xmm7, dword ptr [rsi - 320], 16 # xmm7 = xmm7[0],mem[0],xmm7[2,3] + insertps xmm7, dword ptr [rsi - 192], 32 # xmm7 = xmm7[0,1],mem[0],xmm7[3] + insertps xmm7, dword ptr [rsi - 64], 48 # xmm7 = xmm7[0,1,2],mem[0] + cmpneqps xmm6, xmm1 + packssdw xmm6, xmm6 + packsswb xmm6, xmm6 + pand xmm6, xmm15 + psllw xmm6, 5 + pand xmm6, xmm12 + cmpneqps xmm2, xmm1 + packssdw xmm2, xmm2 + packsswb xmm2, xmm2 + pand xmm2, xmm15 + psllw xmm2, 6 + pand xmm2, xmm13 + por xmm2, xmm6 + movss xmm6, dword ptr [rsi - 444] # xmm6 = mem[0],zero,zero,zero + insertps xmm6, dword ptr [rsi - 316], 16 # xmm6 = xmm6[0],mem[0],xmm6[2,3] + insertps xmm6, dword ptr [rsi - 188], 32 # xmm6 = xmm6[0,1],mem[0],xmm6[3] + insertps xmm6, dword ptr [rsi - 60], 48 # xmm6 = xmm6[0,1,2],mem[0] + cmpneqps xmm6, xmm1 + packssdw xmm6, xmm6 + packsswb xmm6, xmm6 + cmpneqps xmm7, xmm1 + packssdw xmm7, xmm7 + packsswb xmm7, xmm7 + psllw xmm7, 7 + pand xmm7, xmm14 + por xmm7, xmm2 + movss xmm2, dword ptr [rsi - 440] # xmm2 = mem[0],zero,zero,zero + insertps xmm2, dword ptr [rsi - 312], 16 # xmm2 = xmm2[0],mem[0],xmm2[2,3] + insertps xmm2, dword ptr [rsi - 184], 32 # xmm2 = xmm2[0,1],mem[0],xmm2[3] + insertps xmm2, dword ptr [rsi - 56], 48 # xmm2 = xmm2[0,1,2],mem[0] + por xmm7, xmm5 + movss xmm3, dword ptr [rsi - 436] # xmm3 = mem[0],zero,zero,zero + insertps xmm3, dword ptr [rsi - 308], 16 # xmm3 = xmm3[0],mem[0],xmm3[2,3] + insertps xmm3, dword ptr [rsi - 180], 32 # xmm3 = xmm3[0,1],mem[0],xmm3[3] + pand xmm6, xmm15 + insertps xmm3, dword ptr [rsi - 52], 48 # xmm3 = xmm3[0,1,2],mem[0] + punpckldq xmm4, xmm7 # xmm4 = xmm4[0],xmm7[0],xmm4[1],xmm7[1] + cmpneqps xmm2, xmm1 + packssdw xmm2, xmm2 + packsswb xmm2, xmm2 + movdqa xmm7, xmm2 + pand xmm7, xmm15 + psubb xmm7, xmm2 + movss xmm5, dword ptr [rsi - 432] # xmm5 = mem[0],zero,zero,zero + insertps xmm5, dword ptr [rsi - 304], 16 # xmm5 = xmm5[0],mem[0],xmm5[2,3] + insertps xmm5, dword ptr [rsi - 176], 32 # xmm5 = xmm5[0,1],mem[0],xmm5[3] + insertps xmm5, dword ptr [rsi - 48], 48 # xmm5 = xmm5[0,1,2],mem[0] + por xmm7, xmm6 + movss xmm6, dword ptr [rsi - 428] # xmm6 = mem[0],zero,zero,zero + insertps xmm6, dword ptr [rsi - 300], 16 # xmm6 = xmm6[0],mem[0],xmm6[2,3] + insertps xmm6, dword ptr [rsi - 172], 32 # xmm6 = xmm6[0,1],mem[0],xmm6[3] + insertps xmm6, dword ptr [rsi - 44], 48 # xmm6 = xmm6[0,1,2],mem[0] + cmpneqps xmm3, xmm1 + packssdw xmm3, xmm3 + packsswb xmm3, xmm3 + pand xmm3, xmm15 + psllw xmm3, 2 + pand xmm3, xmm8 + por xmm3, xmm7 + movss xmm7, dword ptr [rsi - 424] # xmm7 = mem[0],zero,zero,zero + insertps xmm7, dword ptr [rsi - 296], 16 # xmm7 = xmm7[0],mem[0],xmm7[2,3] + insertps xmm7, dword ptr [rsi - 168], 32 # xmm7 = xmm7[0,1],mem[0],xmm7[3] + insertps xmm7, dword ptr [rsi - 40], 48 # xmm7 = xmm7[0,1,2],mem[0] + cmpneqps xmm5, xmm1 + packssdw xmm5, xmm5 + packsswb xmm5, xmm5 + pand xmm5, xmm15 + psllw xmm5, 3 + pand xmm5, xmm10 + cmpneqps xmm6, xmm1 + packssdw xmm6, xmm6 + packsswb xmm6, xmm6 + pand xmm6, xmm15 + psllw xmm6, 4 + pand xmm6, xmm11 + por xmm6, xmm5 + movss xmm2, dword ptr [rsi - 420] # xmm2 = mem[0],zero,zero,zero + insertps xmm2, dword ptr [rsi - 292], 16 # xmm2 = xmm2[0],mem[0],xmm2[2,3] + insertps xmm2, dword ptr [rsi - 164], 32 # xmm2 = xmm2[0,1],mem[0],xmm2[3] + insertps xmm2, dword ptr [rsi - 36], 48 # xmm2 = xmm2[0,1,2],mem[0] + por xmm6, xmm3 + movss xmm5, dword ptr [rsi - 416] # xmm5 = mem[0],zero,zero,zero + insertps xmm5, dword ptr [rsi - 288], 16 # xmm5 = xmm5[0],mem[0],xmm5[2,3] + insertps xmm5, dword ptr [rsi - 160], 32 # xmm5 = xmm5[0,1],mem[0],xmm5[3] + insertps xmm5, dword ptr [rsi - 32], 48 # xmm5 = xmm5[0,1,2],mem[0] + cmpneqps xmm7, xmm1 + packssdw xmm7, xmm7 + packsswb xmm7, xmm7 + pand xmm7, xmm15 + psllw xmm7, 5 + pand xmm7, xmm12 + cmpneqps xmm2, xmm1 + packssdw xmm2, xmm2 + packsswb xmm2, xmm2 + pand xmm2, xmm15 + psllw xmm2, 6 + pand xmm2, xmm13 + por xmm2, xmm7 + movss xmm7, dword ptr [rsi - 412] # xmm7 = mem[0],zero,zero,zero + insertps xmm7, dword ptr [rsi - 284], 16 # xmm7 = xmm7[0],mem[0],xmm7[2,3] + insertps xmm7, dword ptr [rsi - 156], 32 # xmm7 = xmm7[0,1],mem[0],xmm7[3] + insertps xmm7, dword ptr [rsi - 28], 48 # xmm7 = xmm7[0,1,2],mem[0] + cmpneqps xmm7, xmm1 + packssdw xmm7, xmm7 + packsswb xmm7, xmm7 + cmpneqps xmm5, xmm1 + packssdw xmm5, xmm5 + packsswb xmm5, xmm5 + psllw xmm5, 7 + pand xmm5, xmm14 + por xmm5, xmm2 + movss xmm2, dword ptr [rsi - 408] # xmm2 = mem[0],zero,zero,zero + insertps xmm2, dword ptr [rsi - 280], 16 # xmm2 = xmm2[0],mem[0],xmm2[2,3] + insertps xmm2, dword ptr [rsi - 152], 32 # xmm2 = xmm2[0,1],mem[0],xmm2[3] + pand xmm7, xmm15 + insertps xmm2, dword ptr [rsi - 24], 48 # xmm2 = xmm2[0,1,2],mem[0] + por xmm5, xmm6 + cmpneqps xmm2, xmm1 + packssdw xmm2, xmm2 + packsswb xmm2, xmm2 + movdqa xmm6, xmm2 + pand xmm6, xmm15 + psubb xmm6, xmm2 + movss xmm3, dword ptr [rsi - 404] # xmm3 = mem[0],zero,zero,zero + insertps xmm3, dword ptr [rsi - 276], 16 # xmm3 = xmm3[0],mem[0],xmm3[2,3] + insertps xmm3, dword ptr [rsi - 148], 32 # xmm3 = xmm3[0,1],mem[0],xmm3[3] + insertps xmm3, dword ptr [rsi - 20], 48 # xmm3 = xmm3[0,1,2],mem[0] + por xmm6, xmm7 + movss xmm2, dword ptr [rsi - 400] # xmm2 = mem[0],zero,zero,zero + insertps xmm2, dword ptr [rsi - 272], 16 # xmm2 = xmm2[0],mem[0],xmm2[2,3] + insertps xmm2, dword ptr [rsi - 144], 32 # xmm2 = xmm2[0,1],mem[0],xmm2[3] + insertps xmm2, dword ptr [rsi - 16], 48 # xmm2 = xmm2[0,1,2],mem[0] + cmpneqps xmm3, xmm1 + packssdw xmm3, xmm3 + packsswb xmm3, xmm3 + pand xmm3, xmm15 + psllw xmm3, 2 + pand xmm3, xmm8 + por xmm3, xmm6 + movss xmm6, dword ptr [rsi - 396] # xmm6 = mem[0],zero,zero,zero + insertps xmm6, dword ptr [rsi - 268], 16 # xmm6 = xmm6[0],mem[0],xmm6[2,3] + insertps xmm6, dword ptr [rsi - 140], 32 # xmm6 = xmm6[0,1],mem[0],xmm6[3] + insertps xmm6, dword ptr [rsi - 12], 48 # xmm6 = xmm6[0,1,2],mem[0] + cmpneqps xmm2, xmm1 + packssdw xmm2, xmm2 + packsswb xmm2, xmm2 + pand xmm2, xmm15 + psllw xmm2, 3 + pand xmm2, xmm10 + cmpneqps xmm6, xmm1 + packssdw xmm6, xmm6 + packsswb xmm6, xmm6 + pand xmm6, xmm15 + psllw xmm6, 4 + pand xmm6, xmm11 + por xmm6, xmm2 + movss xmm7, dword ptr [rsi - 392] # xmm7 = mem[0],zero,zero,zero + insertps xmm7, dword ptr [rsi - 264], 16 # xmm7 = xmm7[0],mem[0],xmm7[2,3] + insertps xmm7, dword ptr [rsi - 136], 32 # xmm7 = xmm7[0,1],mem[0],xmm7[3] + insertps xmm7, dword ptr [rsi - 8], 48 # xmm7 = xmm7[0,1,2],mem[0] + por xmm6, xmm3 + movss xmm2, dword ptr [rsi - 388] # xmm2 = mem[0],zero,zero,zero + insertps xmm2, dword ptr [rsi - 260], 16 # xmm2 = xmm2[0],mem[0],xmm2[2,3] + insertps xmm2, dword ptr [rsi - 132], 32 # xmm2 = xmm2[0,1],mem[0],xmm2[3] + insertps xmm2, dword ptr [rsi - 4], 48 # xmm2 = xmm2[0,1,2],mem[0] + cmpneqps xmm7, xmm1 + packssdw xmm7, xmm7 + packsswb xmm7, xmm7 + pand xmm7, xmm15 + psllw xmm7, 5 + pand xmm7, xmm12 + cmpneqps xmm2, xmm1 + packssdw xmm2, xmm2 + packsswb xmm2, xmm2 + pand xmm2, xmm15 + psllw xmm2, 6 + pand xmm2, xmm13 + por xmm2, xmm7 + movss xmm3, dword ptr [rsi - 384] # xmm3 = mem[0],zero,zero,zero + insertps xmm3, dword ptr [rsi - 256], 16 # xmm3 = xmm3[0],mem[0],xmm3[2,3] + insertps xmm3, dword ptr [rsi - 128], 32 # xmm3 = xmm3[0,1],mem[0],xmm3[3] + insertps xmm3, dword ptr [rsi], 48 # xmm3 = xmm3[0,1,2],mem[0] + cmpneqps xmm3, xmm1 + packssdw xmm3, xmm3 + packsswb xmm3, xmm3 + psllw xmm3, 7 + pand xmm3, xmm14 + por xmm3, xmm2 + por xmm3, xmm6 + punpckldq xmm5, xmm3 # xmm5 = xmm5[0],xmm3[0],xmm5[1],xmm3[1] + punpcklbw xmm4, xmm5 # xmm4 = xmm4[0],xmm5[0],xmm4[1],xmm5[1],xmm4[2],xmm5[2],xmm4[3],xmm5[3],xmm4[4],xmm5[4],xmm4[5],xmm5[5],xmm4[6],xmm5[6],xmm4[7],xmm5[7] + pshufb xmm4, xmm9 + movdqu xmmword ptr [r12 + 4*rcx], xmm4 + add rcx, 4 + add rsi, 512 + cmp r8, rcx + jne .LBB4_189 +# %bb.190: + cmp r10, r8 + jne .LBB4_134 + jmp .LBB4_146 +.LBB4_191: + and r10, -8 + mov rax, r10 + shl rax, 6 + add rax, rsi + mov qword ptr [rsp + 56], rax # 8-byte Spill + mov qword ptr [rsp + 32], r10 # 8-byte Spill + lea rax, [r12 + 4*r10] + mov qword ptr [rsp + 8], rax # 8-byte Spill + mov dword ptr [rsp + 64], r13d # 4-byte Spill + movd xmm0, r13d + pshuflw xmm0, xmm0, 224 # xmm0 = xmm0[0,0,2,3,4,5,6,7] + pshufd xmm11, xmm0, 0 # xmm11 = xmm0[0,0,0,0] + xor r15d, r15d + mov qword ptr [rsp + 128], r12 # 8-byte Spill + pxor xmm15, xmm15 + .p2align 4, 0x90 +.LBB4_192: # =>This Inner Loop Header: Depth=1 + mov qword ptr [rsp + 24], r15 # 8-byte Spill + shl r15, 6 + mov r8, r15 + mov r12, r15 + mov r13, r15 + mov rbx, r15 + mov rdi, r15 + mov r9, r15 + movzx eax, word ptr [rsi + r15] + movd xmm5, eax + movzx eax, word ptr [rsi + r15 + 2] + movd xmm0, eax + movzx eax, word ptr [rsi + r15 + 4] + movd xmm1, eax + movzx eax, word ptr [rsi + r15 + 6] + movd xmm7, eax + movzx eax, word ptr [rsi + r15 + 8] + movd xmm8, eax + movzx eax, word ptr [rsi + r15 + 10] + movd xmm4, eax + movzx eax, word ptr [rsi + r15 + 12] + movzx r10d, word ptr [rsi + r15 + 14] + movzx r11d, word ptr [rsi + r15 + 16] + movzx edx, word ptr [rsi + r15 + 18] + movzx r14d, word ptr [rsi + r15 + 20] + mov rcx, r15 + or rcx, 64 + or r8, 128 + or r12, 192 + or r13, 256 + or rbx, 320 + or rdi, 384 + pinsrw xmm5, word ptr [rsi + rcx], 1 + pinsrw xmm5, word ptr [rsi + r8], 2 + pinsrw xmm5, word ptr [rsi + r12], 3 + pinsrw xmm5, word ptr [rsi + r13], 4 + pinsrw xmm5, word ptr [rsi + rbx], 5 + pinsrw xmm5, word ptr [rsi + rdi], 6 + pinsrw xmm0, word ptr [rsi + rcx + 2], 1 + pinsrw xmm0, word ptr [rsi + r8 + 2], 2 + pinsrw xmm0, word ptr [rsi + r12 + 2], 3 + pinsrw xmm0, word ptr [rsi + r13 + 2], 4 + pinsrw xmm0, word ptr [rsi + rbx + 2], 5 + pinsrw xmm0, word ptr [rsi + rdi + 2], 6 + or r9, 448 + pinsrw xmm0, word ptr [rsi + r9 + 2], 7 + movd xmm2, eax + movzx eax, word ptr [rsi + r15 + 22] + mov dword ptr [rsp + 16], eax # 4-byte Spill + pcmpeqw xmm0, xmm11 + pinsrw xmm1, word ptr [rsi + rcx + 4], 1 + pinsrw xmm1, word ptr [rsi + r8 + 4], 2 + pinsrw xmm1, word ptr [rsi + r12 + 4], 3 + pinsrw xmm1, word ptr [rsi + r13 + 4], 4 + pinsrw xmm1, word ptr [rsi + rbx + 4], 5 + pinsrw xmm1, word ptr [rsi + rdi + 4], 6 + pinsrw xmm1, word ptr [rsi + r9 + 4], 7 + packsswb xmm0, xmm0 + pcmpeqw xmm1, xmm11 + movdqa xmm9, xmmword ptr [rip + .LCPI4_8] # xmm9 = <2,2,2,2,2,2,2,2,u,u,u,u,u,u,u,u> + movdqa xmm3, xmm9 + pblendvb xmm3, xmm15, xmm0 + packsswb xmm1, xmm1 + movdqa xmm0, xmmword ptr [rip + .LCPI4_9] # xmm0 = <4,4,4,4,4,4,4,4,u,u,u,u,u,u,u,u> + movdqa xmm6, xmm0 + movdqa xmm14, xmm0 + movdqa xmm0, xmm1 + pblendvb xmm6, xmm15, xmm0 + movd xmm1, r10d + movzx r10d, word ptr [rsi + r15 + 24] + pinsrw xmm5, word ptr [rsi + r9], 7 + pcmpeqw xmm5, xmm11 + pcmpeqd xmm0, xmm0 + pxor xmm5, xmm0 + packsswb xmm5, xmm5 + pinsrw xmm7, word ptr [rsi + rcx + 6], 1 + pinsrw xmm7, word ptr [rsi + r8 + 6], 2 + pinsrw xmm7, word ptr [rsi + r12 + 6], 3 + pinsrw xmm7, word ptr [rsi + r13 + 6], 4 + pinsrw xmm7, word ptr [rsi + rbx + 6], 5 + pinsrw xmm7, word ptr [rsi + rdi + 6], 6 + pinsrw xmm7, word ptr [rsi + r9 + 6], 7 + pcmpeqw xmm7, xmm11 + packsswb xmm7, xmm7 + pinsrw xmm8, word ptr [rsi + rcx + 8], 1 + pinsrw xmm8, word ptr [rsi + r8 + 8], 2 + pinsrw xmm8, word ptr [rsi + r12 + 8], 3 + pinsrw xmm8, word ptr [rsi + r13 + 8], 4 + pinsrw xmm8, word ptr [rsi + rbx + 8], 5 + pinsrw xmm8, word ptr [rsi + rdi + 8], 6 + pinsrw xmm8, word ptr [rsi + r9 + 8], 7 + psubb xmm3, xmm5 + movdqa xmm12, xmmword ptr [rip + .LCPI4_10] # xmm12 = <8,8,8,8,8,8,8,8,u,u,u,u,u,u,u,u> + movdqa xmm0, xmm7 + pblendvb xmm12, xmm15, xmm0 + movd xmm7, r11d + movzx eax, word ptr [rsi + r15 + 26] + pcmpeqw xmm8, xmm11 + packsswb xmm8, xmm8 + por xmm12, xmm6 + movdqa xmm13, xmmword ptr [rip + .LCPI4_11] # xmm13 = <16,16,16,16,16,16,16,16,u,u,u,u,u,u,u,u> + movdqa xmm0, xmm8 + pblendvb xmm13, xmm15, xmm0 + movd xmm6, edx + movzx r11d, word ptr [rsi + r15 + 28] + pinsrw xmm4, word ptr [rsi + rcx + 10], 1 + pinsrw xmm4, word ptr [rsi + r8 + 10], 2 + pinsrw xmm4, word ptr [rsi + r12 + 10], 3 + pinsrw xmm4, word ptr [rsi + r13 + 10], 4 + pinsrw xmm4, word ptr [rsi + rbx + 10], 5 + pinsrw xmm4, word ptr [rsi + rdi + 10], 6 + pinsrw xmm4, word ptr [rsi + r9 + 10], 7 + pcmpeqw xmm4, xmm11 + packsswb xmm4, xmm4 + pinsrw xmm2, word ptr [rsi + rcx + 12], 1 + pinsrw xmm2, word ptr [rsi + r8 + 12], 2 + pinsrw xmm2, word ptr [rsi + r12 + 12], 3 + pinsrw xmm2, word ptr [rsi + r13 + 12], 4 + pinsrw xmm2, word ptr [rsi + rbx + 12], 5 + pinsrw xmm2, word ptr [rsi + rdi + 12], 6 + por xmm12, xmm3 + movdqa xmm5, xmmword ptr [rip + .LCPI4_12] # xmm5 = <32,32,32,32,32,32,32,32,u,u,u,u,u,u,u,u> + movdqa xmm0, xmm4 + pblendvb xmm5, xmm15, xmm0 + movd xmm4, r14d + movzx edx, word ptr [rsi + r15 + 30] + mov dword ptr [rsp + 48], edx # 4-byte Spill + pinsrw xmm2, word ptr [rsi + r9 + 12], 7 + pcmpeqw xmm2, xmm11 + packsswb xmm2, xmm2 + por xmm5, xmm13 + movdqa xmm13, xmmword ptr [rip + .LCPI4_13] # xmm13 = <64,64,64,64,64,64,64,64,u,u,u,u,u,u,u,u> + movdqa xmm0, xmm2 + pblendvb xmm13, xmm15, xmm0 + movd xmm3, dword ptr [rsp + 16] # 4-byte Folded Reload + # xmm3 = mem[0],zero,zero,zero + movzx edx, word ptr [rsi + r15 + 32] + mov dword ptr [rsp + 40], edx # 4-byte Spill + pinsrw xmm1, word ptr [rsi + rcx + 14], 1 + pinsrw xmm1, word ptr [rsi + r8 + 14], 2 + pinsrw xmm1, word ptr [rsi + r12 + 14], 3 + pinsrw xmm1, word ptr [rsi + r13 + 14], 4 + pinsrw xmm1, word ptr [rsi + rbx + 14], 5 + pinsrw xmm1, word ptr [rsi + rdi + 14], 6 + por xmm13, xmm5 + movd xmm2, r10d + movzx edx, word ptr [rsi + r15 + 34] + mov dword ptr [rsp + 16], edx # 4-byte Spill + pinsrw xmm1, word ptr [rsi + r9 + 14], 7 + pcmpeqw xmm1, xmm11 + pinsrw xmm6, word ptr [rsi + rcx + 18], 1 + pinsrw xmm6, word ptr [rsi + r8 + 18], 2 + pinsrw xmm6, word ptr [rsi + r12 + 18], 3 + pinsrw xmm6, word ptr [rsi + r13 + 18], 4 + pinsrw xmm6, word ptr [rsi + rbx + 18], 5 + pinsrw xmm6, word ptr [rsi + rdi + 18], 6 + packsswb xmm1, xmm1 + pinsrw xmm6, word ptr [rsi + r9 + 18], 7 + pcmpeqw xmm6, xmm11 + packsswb xmm6, xmm6 + por xmm13, xmm12 + movdqa xmm12, xmmword ptr [rip + .LCPI4_14] # xmm12 = <128,128,128,128,128,128,128,128,u,u,u,u,u,u,u,u> + movdqa xmm0, xmm1 + pblendvb xmm12, xmm15, xmm0 + movdqa xmm8, xmm9 + movdqa xmm0, xmm6 + pblendvb xmm8, xmm15, xmm0 + movd xmm1, eax + movzx r14d, word ptr [rsi + r15 + 36] + pinsrw xmm7, word ptr [rsi + rcx + 16], 1 + pinsrw xmm7, word ptr [rsi + r8 + 16], 2 + pinsrw xmm7, word ptr [rsi + r12 + 16], 3 + pinsrw xmm7, word ptr [rsi + r13 + 16], 4 + pinsrw xmm7, word ptr [rsi + rbx + 16], 5 + pinsrw xmm7, word ptr [rsi + rdi + 16], 6 + pinsrw xmm4, word ptr [rsi + rcx + 20], 1 + pinsrw xmm4, word ptr [rsi + r8 + 20], 2 + pinsrw xmm4, word ptr [rsi + r12 + 20], 3 + pinsrw xmm4, word ptr [rsi + r13 + 20], 4 + pinsrw xmm4, word ptr [rsi + rbx + 20], 5 + pinsrw xmm4, word ptr [rsi + rdi + 20], 6 + pinsrw xmm4, word ptr [rsi + r9 + 20], 7 + pcmpeqw xmm4, xmm11 + packsswb xmm4, xmm4 + por xmm12, xmm13 + movdqa xmm5, xmm14 + movdqa xmm0, xmm4 + pblendvb xmm5, xmm15, xmm0 + movd xmm4, r11d + movzx r11d, word ptr [rsi + r15 + 38] + pinsrw xmm7, word ptr [rsi + r9 + 16], 7 + pcmpeqw xmm7, xmm11 + pxor xmm7, xmmword ptr [rip + .LCPI4_22] + packsswb xmm7, xmm7 + pinsrw xmm3, word ptr [rsi + rcx + 22], 1 + pinsrw xmm3, word ptr [rsi + r8 + 22], 2 + pinsrw xmm3, word ptr [rsi + r12 + 22], 3 + pinsrw xmm3, word ptr [rsi + r13 + 22], 4 + pinsrw xmm3, word ptr [rsi + rbx + 22], 5 + pinsrw xmm3, word ptr [rsi + rdi + 22], 6 + pinsrw xmm3, word ptr [rsi + r9 + 22], 7 + pcmpeqw xmm3, xmm11 + packsswb xmm3, xmm3 + pinsrw xmm2, word ptr [rsi + rcx + 24], 1 + pinsrw xmm2, word ptr [rsi + r8 + 24], 2 + pinsrw xmm2, word ptr [rsi + r12 + 24], 3 + pinsrw xmm2, word ptr [rsi + r13 + 24], 4 + pinsrw xmm2, word ptr [rsi + rbx + 24], 5 + pinsrw xmm2, word ptr [rsi + rdi + 24], 6 + pinsrw xmm2, word ptr [rsi + r9 + 24], 7 + psubb xmm8, xmm7 + movdqa xmm10, xmmword ptr [rip + .LCPI4_10] # xmm10 = <8,8,8,8,8,8,8,8,u,u,u,u,u,u,u,u> + movdqa xmm14, xmm10 + movdqa xmm0, xmm3 + pblendvb xmm14, xmm15, xmm0 + movd xmm3, dword ptr [rsp + 48] # 4-byte Folded Reload + # xmm3 = mem[0],zero,zero,zero + movzx eax, word ptr [rsi + r15 + 40] + pcmpeqw xmm2, xmm11 + packsswb xmm2, xmm2 + por xmm14, xmm5 + movdqa xmm9, xmmword ptr [rip + .LCPI4_11] # xmm9 = <16,16,16,16,16,16,16,16,u,u,u,u,u,u,u,u> + movdqa xmm13, xmm9 + movdqa xmm0, xmm2 + pblendvb xmm13, xmm15, xmm0 + movd xmm7, dword ptr [rsp + 40] # 4-byte Folded Reload + # xmm7 = mem[0],zero,zero,zero + movzx r10d, word ptr [rsi + r15 + 42] + pinsrw xmm1, word ptr [rsi + rcx + 26], 1 + pinsrw xmm1, word ptr [rsi + r8 + 26], 2 + pinsrw xmm1, word ptr [rsi + r12 + 26], 3 + pinsrw xmm1, word ptr [rsi + r13 + 26], 4 + pinsrw xmm1, word ptr [rsi + rbx + 26], 5 + pinsrw xmm1, word ptr [rsi + rdi + 26], 6 + pinsrw xmm1, word ptr [rsi + r9 + 26], 7 + pcmpeqw xmm1, xmm11 + packsswb xmm1, xmm1 + pinsrw xmm4, word ptr [rsi + rcx + 28], 1 + pinsrw xmm4, word ptr [rsi + r8 + 28], 2 pinsrw xmm4, word ptr [rsi + r12 + 28], 3 pinsrw xmm4, word ptr [rsi + r13 + 28], 4 pinsrw xmm4, word ptr [rsi + rbx + 28], 5 @@ -23796,7 +25230,7 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 movd xmm2, dword ptr [rsp + 16] # 4-byte Folded Reload # xmm2 = mem[0],zero,zero,zero movzx edx, word ptr [rsi + r15 + 44] - mov dword ptr [rsp + 32], edx # 4-byte Spill + mov dword ptr [rsp + 40], edx # 4-byte Spill pinsrw xmm4, word ptr [rsi + r9 + 28], 7 pcmpeqw xmm4, xmm11 packsswb xmm4, xmm4 @@ -23883,7 +25317,7 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 movdqa xmm5, xmm10 movdqa xmm0, xmm1 pblendvb xmm5, xmm15, xmm0 - movd xmm1, dword ptr [rsp + 32] # 4-byte Folded Reload + movd xmm1, dword ptr [rsp + 40] # 4-byte Folded Reload # xmm1 = mem[0],zero,zero,zero movzx r10d, word ptr [rsi + r15 + 54] pcmpeqw xmm2, xmm11 @@ -24038,7 +25472,7 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 pinsrw xmm0, word ptr [rsi + rcx + 62], 1 pinsrw xmm0, word ptr [rsi + r8 + 62], 2 pinsrw xmm0, word ptr [rsi + r12 + 62], 3 - mov r14, qword ptr [rsp + 128] # 8-byte Reload + mov rax, qword ptr [rsp + 128] # 8-byte Reload pinsrw xmm0, word ptr [rsi + r13 + 62], 4 pinsrw xmm0, word ptr [rsi + rbx + 62], 5 pinsrw xmm0, word ptr [rsi + rdi + 62], 6 @@ -24059,392 +25493,22 @@ comparison_not_equal_arr_scalar_sse4: # @comparison_not_equal_arr_scalar_sse4 punpcklbw xmm8, xmm14 # xmm8 = xmm8[0],xmm14[0],xmm8[1],xmm14[1],xmm8[2],xmm14[2],xmm8[3],xmm14[3],xmm8[4],xmm14[4],xmm8[5],xmm14[5],xmm8[6],xmm14[6],xmm8[7],xmm14[7] punpcklbw xmm12, xmm13 # xmm12 = xmm12[0],xmm13[0],xmm12[1],xmm13[1],xmm12[2],xmm13[2],xmm12[3],xmm13[3],xmm12[4],xmm13[4],xmm12[5],xmm13[5],xmm12[6],xmm13[6],xmm12[7],xmm13[7] punpcklwd xmm12, xmm8 # xmm12 = xmm12[0],xmm8[0],xmm12[1],xmm8[1],xmm12[2],xmm8[2],xmm12[3],xmm8[3] - mov rcx, qword ptr [rsp + 40] # 8-byte Reload - movdqu xmmword ptr [r14 + 4*rcx], xmm12 - movdqu xmmword ptr [r14 + 4*rcx + 16], xmm0 + mov rcx, qword ptr [rsp + 24] # 8-byte Reload + movdqu xmmword ptr [rax + 4*rcx], xmm12 + movdqu xmmword ptr [rax + 4*rcx + 16], xmm0 add rcx, 8 mov r15, rcx - cmp rcx, qword ptr [rsp + 24] # 8-byte Folded Reload - jne .LBB4_190 -# %bb.191: - mov r10, qword ptr [rsp + 208] # 8-byte Reload - cmp r10, qword ptr [rsp + 24] # 8-byte Folded Reload - mov r15, qword ptr [rsp + 144] # 8-byte Reload + cmp rcx, qword ptr [rsp + 32] # 8-byte Folded Reload + jne .LBB4_192 +# %bb.193: + mov r10, qword ptr [rsp + 192] # 8-byte Reload + cmp r10, qword ptr [rsp + 32] # 8-byte Folded Reload + mov r14, qword ptr [rsp + 144] # 8-byte Reload mov r13d, dword ptr [rsp + 64] # 4-byte Reload mov r12, qword ptr [rsp + 8] # 8-byte Reload mov rsi, qword ptr [rsp + 56] # 8-byte Reload - jne .LBB4_104 - jmp .LBB4_144 -.LBB4_192: - mov r8, r10 - and r8, -4 - mov rbx, r8 - shl rbx, 7 - add rbx, rsi - lea r11, [r14 + 4*r8] - movaps xmm1, xmm0 - shufps xmm1, xmm0, 0 # xmm1 = xmm1[0,0],xmm0[0,0] - add rsi, 508 - xor ecx, ecx - movdqa xmm15, xmmword ptr [rip + .LCPI4_0] # xmm15 = <1,1,1,1,u,u,u,u,u,u,u,u,u,u,u,u> - movdqa xmm8, xmmword ptr [rip + .LCPI4_1] # xmm8 = [252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252] - movdqa xmm10, xmmword ptr [rip + .LCPI4_2] # xmm10 = [248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248] - movdqa xmm11, xmmword ptr [rip + .LCPI4_3] # xmm11 = [240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240] - movdqa xmm12, xmmword ptr [rip + .LCPI4_4] # xmm12 = [224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224] - movdqa xmm13, xmmword ptr [rip + .LCPI4_5] # xmm13 = [192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192] - movdqa xmm14, xmmword ptr [rip + .LCPI4_6] # xmm14 = [128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128] - movdqa xmm9, xmmword ptr [rip + .LCPI4_7] # xmm9 = [0,8,1,9,2,10,3,11,4,12,5,13,6,14,7,15] - .p2align 4, 0x90 -.LBB4_193: # =>This Inner Loop Header: Depth=1 - movss xmm6, dword ptr [rsi - 508] # xmm6 = mem[0],zero,zero,zero - movss xmm7, dword ptr [rsi - 504] # xmm7 = mem[0],zero,zero,zero - movss xmm5, dword ptr [rsi - 500] # xmm5 = mem[0],zero,zero,zero - movss xmm4, dword ptr [rsi - 496] # xmm4 = mem[0],zero,zero,zero - insertps xmm6, dword ptr [rsi - 380], 16 # xmm6 = xmm6[0],mem[0],xmm6[2,3] - insertps xmm6, dword ptr [rsi - 252], 32 # xmm6 = xmm6[0,1],mem[0],xmm6[3] - insertps xmm6, dword ptr [rsi - 124], 48 # xmm6 = xmm6[0,1,2],mem[0] - cmpneqps xmm6, xmm1 - packssdw xmm6, xmm6 - packsswb xmm6, xmm6 - pand xmm6, xmm15 - insertps xmm7, dword ptr [rsi - 376], 16 # xmm7 = xmm7[0],mem[0],xmm7[2,3] - insertps xmm7, dword ptr [rsi - 248], 32 # xmm7 = xmm7[0,1],mem[0],xmm7[3] - insertps xmm7, dword ptr [rsi - 120], 48 # xmm7 = xmm7[0,1,2],mem[0] - insertps xmm5, dword ptr [rsi - 372], 16 # xmm5 = xmm5[0],mem[0],xmm5[2,3] - insertps xmm5, dword ptr [rsi - 244], 32 # xmm5 = xmm5[0,1],mem[0],xmm5[3] - insertps xmm5, dword ptr [rsi - 116], 48 # xmm5 = xmm5[0,1,2],mem[0] - insertps xmm4, dword ptr [rsi - 368], 16 # xmm4 = xmm4[0],mem[0],xmm4[2,3] - insertps xmm4, dword ptr [rsi - 240], 32 # xmm4 = xmm4[0,1],mem[0],xmm4[3] - insertps xmm4, dword ptr [rsi - 112], 48 # xmm4 = xmm4[0,1,2],mem[0] - cmpneqps xmm7, xmm1 - packssdw xmm7, xmm7 - packsswb xmm7, xmm7 - movdqa xmm2, xmm7 - pand xmm2, xmm15 - psubb xmm2, xmm7 - movss xmm7, dword ptr [rsi - 492] # xmm7 = mem[0],zero,zero,zero - insertps xmm7, dword ptr [rsi - 364], 16 # xmm7 = xmm7[0],mem[0],xmm7[2,3] - insertps xmm7, dword ptr [rsi - 236], 32 # xmm7 = xmm7[0,1],mem[0],xmm7[3] - insertps xmm7, dword ptr [rsi - 108], 48 # xmm7 = xmm7[0,1,2],mem[0] - por xmm2, xmm6 - movss xmm6, dword ptr [rsi - 488] # xmm6 = mem[0],zero,zero,zero - insertps xmm6, dword ptr [rsi - 360], 16 # xmm6 = xmm6[0],mem[0],xmm6[2,3] - insertps xmm6, dword ptr [rsi - 232], 32 # xmm6 = xmm6[0,1],mem[0],xmm6[3] - insertps xmm6, dword ptr [rsi - 104], 48 # xmm6 = xmm6[0,1,2],mem[0] - cmpneqps xmm5, xmm1 - packssdw xmm5, xmm5 - packsswb xmm5, xmm5 - pand xmm5, xmm15 - psllw xmm5, 2 - pand xmm5, xmm8 - por xmm5, xmm2 - movss xmm3, dword ptr [rsi - 484] # xmm3 = mem[0],zero,zero,zero - insertps xmm3, dword ptr [rsi - 356], 16 # xmm3 = xmm3[0],mem[0],xmm3[2,3] - insertps xmm3, dword ptr [rsi - 228], 32 # xmm3 = xmm3[0,1],mem[0],xmm3[3] - insertps xmm3, dword ptr [rsi - 100], 48 # xmm3 = xmm3[0,1,2],mem[0] - cmpneqps xmm4, xmm1 - packssdw xmm4, xmm4 - packsswb xmm4, xmm4 - pand xmm4, xmm15 - psllw xmm4, 3 - pand xmm4, xmm10 - cmpneqps xmm7, xmm1 - packssdw xmm7, xmm7 - packsswb xmm7, xmm7 - pand xmm7, xmm15 - psllw xmm7, 4 - pand xmm7, xmm11 - por xmm7, xmm4 - movss xmm4, dword ptr [rsi - 480] # xmm4 = mem[0],zero,zero,zero - insertps xmm4, dword ptr [rsi - 352], 16 # xmm4 = xmm4[0],mem[0],xmm4[2,3] - insertps xmm4, dword ptr [rsi - 224], 32 # xmm4 = xmm4[0,1],mem[0],xmm4[3] - insertps xmm4, dword ptr [rsi - 96], 48 # xmm4 = xmm4[0,1,2],mem[0] - por xmm7, xmm5 - movss xmm5, dword ptr [rsi - 476] # xmm5 = mem[0],zero,zero,zero - insertps xmm5, dword ptr [rsi - 348], 16 # xmm5 = xmm5[0],mem[0],xmm5[2,3] - insertps xmm5, dword ptr [rsi - 220], 32 # xmm5 = xmm5[0,1],mem[0],xmm5[3] - insertps xmm5, dword ptr [rsi - 92], 48 # xmm5 = xmm5[0,1,2],mem[0] - cmpneqps xmm5, xmm1 - packssdw xmm5, xmm5 - cmpneqps xmm6, xmm1 - packssdw xmm6, xmm6 - packsswb xmm6, xmm6 - pand xmm6, xmm15 - psllw xmm6, 5 - pand xmm6, xmm12 - cmpneqps xmm3, xmm1 - packssdw xmm3, xmm3 - packsswb xmm3, xmm3 - pand xmm3, xmm15 - psllw xmm3, 6 - pand xmm3, xmm13 - por xmm3, xmm6 - movss xmm2, dword ptr [rsi - 472] # xmm2 = mem[0],zero,zero,zero - insertps xmm2, dword ptr [rsi - 344], 16 # xmm2 = xmm2[0],mem[0],xmm2[2,3] - insertps xmm2, dword ptr [rsi - 216], 32 # xmm2 = xmm2[0,1],mem[0],xmm2[3] - insertps xmm2, dword ptr [rsi - 88], 48 # xmm2 = xmm2[0,1,2],mem[0] - packsswb xmm5, xmm5 - cmpneqps xmm4, xmm1 - packssdw xmm4, xmm4 - packsswb xmm4, xmm4 - psllw xmm4, 7 - pand xmm4, xmm14 - por xmm4, xmm3 - movss xmm3, dword ptr [rsi - 468] # xmm3 = mem[0],zero,zero,zero - insertps xmm3, dword ptr [rsi - 340], 16 # xmm3 = xmm3[0],mem[0],xmm3[2,3] - insertps xmm3, dword ptr [rsi - 212], 32 # xmm3 = xmm3[0,1],mem[0],xmm3[3] - pand xmm5, xmm15 - insertps xmm3, dword ptr [rsi - 84], 48 # xmm3 = xmm3[0,1,2],mem[0] - por xmm4, xmm7 - cmpneqps xmm2, xmm1 - packssdw xmm2, xmm2 - packsswb xmm2, xmm2 - movdqa xmm6, xmm2 - pand xmm6, xmm15 - psubb xmm6, xmm2 - movss xmm7, dword ptr [rsi - 464] # xmm7 = mem[0],zero,zero,zero - insertps xmm7, dword ptr [rsi - 336], 16 # xmm7 = xmm7[0],mem[0],xmm7[2,3] - insertps xmm7, dword ptr [rsi - 208], 32 # xmm7 = xmm7[0,1],mem[0],xmm7[3] - insertps xmm7, dword ptr [rsi - 80], 48 # xmm7 = xmm7[0,1,2],mem[0] - por xmm6, xmm5 - movss xmm5, dword ptr [rsi - 460] # xmm5 = mem[0],zero,zero,zero - insertps xmm5, dword ptr [rsi - 332], 16 # xmm5 = xmm5[0],mem[0],xmm5[2,3] - insertps xmm5, dword ptr [rsi - 204], 32 # xmm5 = xmm5[0,1],mem[0],xmm5[3] - insertps xmm5, dword ptr [rsi - 76], 48 # xmm5 = xmm5[0,1,2],mem[0] - cmpneqps xmm3, xmm1 - packssdw xmm3, xmm3 - packsswb xmm3, xmm3 - pand xmm3, xmm15 - psllw xmm3, 2 - pand xmm3, xmm8 - por xmm3, xmm6 - movss xmm6, dword ptr [rsi - 456] # xmm6 = mem[0],zero,zero,zero - insertps xmm6, dword ptr [rsi - 328], 16 # xmm6 = xmm6[0],mem[0],xmm6[2,3] - insertps xmm6, dword ptr [rsi - 200], 32 # xmm6 = xmm6[0,1],mem[0],xmm6[3] - insertps xmm6, dword ptr [rsi - 72], 48 # xmm6 = xmm6[0,1,2],mem[0] - cmpneqps xmm7, xmm1 - packssdw xmm7, xmm7 - packsswb xmm7, xmm7 - pand xmm7, xmm15 - psllw xmm7, 3 - pand xmm7, xmm10 - cmpneqps xmm5, xmm1 - packssdw xmm5, xmm5 - packsswb xmm5, xmm5 - pand xmm5, xmm15 - psllw xmm5, 4 - pand xmm5, xmm11 - por xmm5, xmm7 - movss xmm2, dword ptr [rsi - 452] # xmm2 = mem[0],zero,zero,zero - insertps xmm2, dword ptr [rsi - 324], 16 # xmm2 = xmm2[0],mem[0],xmm2[2,3] - insertps xmm2, dword ptr [rsi - 196], 32 # xmm2 = xmm2[0,1],mem[0],xmm2[3] - insertps xmm2, dword ptr [rsi - 68], 48 # xmm2 = xmm2[0,1,2],mem[0] - por xmm5, xmm3 - movss xmm7, dword ptr [rsi - 448] # xmm7 = mem[0],zero,zero,zero - insertps xmm7, dword ptr [rsi - 320], 16 # xmm7 = xmm7[0],mem[0],xmm7[2,3] - insertps xmm7, dword ptr [rsi - 192], 32 # xmm7 = xmm7[0,1],mem[0],xmm7[3] - insertps xmm7, dword ptr [rsi - 64], 48 # xmm7 = xmm7[0,1,2],mem[0] - cmpneqps xmm6, xmm1 - packssdw xmm6, xmm6 - packsswb xmm6, xmm6 - pand xmm6, xmm15 - psllw xmm6, 5 - pand xmm6, xmm12 - cmpneqps xmm2, xmm1 - packssdw xmm2, xmm2 - packsswb xmm2, xmm2 - pand xmm2, xmm15 - psllw xmm2, 6 - pand xmm2, xmm13 - por xmm2, xmm6 - movss xmm6, dword ptr [rsi - 444] # xmm6 = mem[0],zero,zero,zero - insertps xmm6, dword ptr [rsi - 316], 16 # xmm6 = xmm6[0],mem[0],xmm6[2,3] - insertps xmm6, dword ptr [rsi - 188], 32 # xmm6 = xmm6[0,1],mem[0],xmm6[3] - insertps xmm6, dword ptr [rsi - 60], 48 # xmm6 = xmm6[0,1,2],mem[0] - cmpneqps xmm6, xmm1 - packssdw xmm6, xmm6 - packsswb xmm6, xmm6 - cmpneqps xmm7, xmm1 - packssdw xmm7, xmm7 - packsswb xmm7, xmm7 - psllw xmm7, 7 - pand xmm7, xmm14 - por xmm7, xmm2 - movss xmm2, dword ptr [rsi - 440] # xmm2 = mem[0],zero,zero,zero - insertps xmm2, dword ptr [rsi - 312], 16 # xmm2 = xmm2[0],mem[0],xmm2[2,3] - insertps xmm2, dword ptr [rsi - 184], 32 # xmm2 = xmm2[0,1],mem[0],xmm2[3] - insertps xmm2, dword ptr [rsi - 56], 48 # xmm2 = xmm2[0,1,2],mem[0] - por xmm7, xmm5 - movss xmm3, dword ptr [rsi - 436] # xmm3 = mem[0],zero,zero,zero - insertps xmm3, dword ptr [rsi - 308], 16 # xmm3 = xmm3[0],mem[0],xmm3[2,3] - insertps xmm3, dword ptr [rsi - 180], 32 # xmm3 = xmm3[0,1],mem[0],xmm3[3] - pand xmm6, xmm15 - insertps xmm3, dword ptr [rsi - 52], 48 # xmm3 = xmm3[0,1,2],mem[0] - punpckldq xmm4, xmm7 # xmm4 = xmm4[0],xmm7[0],xmm4[1],xmm7[1] - cmpneqps xmm2, xmm1 - packssdw xmm2, xmm2 - packsswb xmm2, xmm2 - movdqa xmm7, xmm2 - pand xmm7, xmm15 - psubb xmm7, xmm2 - movss xmm5, dword ptr [rsi - 432] # xmm5 = mem[0],zero,zero,zero - insertps xmm5, dword ptr [rsi - 304], 16 # xmm5 = xmm5[0],mem[0],xmm5[2,3] - insertps xmm5, dword ptr [rsi - 176], 32 # xmm5 = xmm5[0,1],mem[0],xmm5[3] - insertps xmm5, dword ptr [rsi - 48], 48 # xmm5 = xmm5[0,1,2],mem[0] - por xmm7, xmm6 - movss xmm6, dword ptr [rsi - 428] # xmm6 = mem[0],zero,zero,zero - insertps xmm6, dword ptr [rsi - 300], 16 # xmm6 = xmm6[0],mem[0],xmm6[2,3] - insertps xmm6, dword ptr [rsi - 172], 32 # xmm6 = xmm6[0,1],mem[0],xmm6[3] - insertps xmm6, dword ptr [rsi - 44], 48 # xmm6 = xmm6[0,1,2],mem[0] - cmpneqps xmm3, xmm1 - packssdw xmm3, xmm3 - packsswb xmm3, xmm3 - pand xmm3, xmm15 - psllw xmm3, 2 - pand xmm3, xmm8 - por xmm3, xmm7 - movss xmm7, dword ptr [rsi - 424] # xmm7 = mem[0],zero,zero,zero - insertps xmm7, dword ptr [rsi - 296], 16 # xmm7 = xmm7[0],mem[0],xmm7[2,3] - insertps xmm7, dword ptr [rsi - 168], 32 # xmm7 = xmm7[0,1],mem[0],xmm7[3] - insertps xmm7, dword ptr [rsi - 40], 48 # xmm7 = xmm7[0,1,2],mem[0] - cmpneqps xmm5, xmm1 - packssdw xmm5, xmm5 - packsswb xmm5, xmm5 - pand xmm5, xmm15 - psllw xmm5, 3 - pand xmm5, xmm10 - cmpneqps xmm6, xmm1 - packssdw xmm6, xmm6 - packsswb xmm6, xmm6 - pand xmm6, xmm15 - psllw xmm6, 4 - pand xmm6, xmm11 - por xmm6, xmm5 - movss xmm2, dword ptr [rsi - 420] # xmm2 = mem[0],zero,zero,zero - insertps xmm2, dword ptr [rsi - 292], 16 # xmm2 = xmm2[0],mem[0],xmm2[2,3] - insertps xmm2, dword ptr [rsi - 164], 32 # xmm2 = xmm2[0,1],mem[0],xmm2[3] - insertps xmm2, dword ptr [rsi - 36], 48 # xmm2 = xmm2[0,1,2],mem[0] - por xmm6, xmm3 - movss xmm5, dword ptr [rsi - 416] # xmm5 = mem[0],zero,zero,zero - insertps xmm5, dword ptr [rsi - 288], 16 # xmm5 = xmm5[0],mem[0],xmm5[2,3] - insertps xmm5, dword ptr [rsi - 160], 32 # xmm5 = xmm5[0,1],mem[0],xmm5[3] - insertps xmm5, dword ptr [rsi - 32], 48 # xmm5 = xmm5[0,1,2],mem[0] - cmpneqps xmm7, xmm1 - packssdw xmm7, xmm7 - packsswb xmm7, xmm7 - pand xmm7, xmm15 - psllw xmm7, 5 - pand xmm7, xmm12 - cmpneqps xmm2, xmm1 - packssdw xmm2, xmm2 - packsswb xmm2, xmm2 - pand xmm2, xmm15 - psllw xmm2, 6 - pand xmm2, xmm13 - por xmm2, xmm7 - movss xmm7, dword ptr [rsi - 412] # xmm7 = mem[0],zero,zero,zero - insertps xmm7, dword ptr [rsi - 284], 16 # xmm7 = xmm7[0],mem[0],xmm7[2,3] - insertps xmm7, dword ptr [rsi - 156], 32 # xmm7 = xmm7[0,1],mem[0],xmm7[3] - insertps xmm7, dword ptr [rsi - 28], 48 # xmm7 = xmm7[0,1,2],mem[0] - cmpneqps xmm7, xmm1 - packssdw xmm7, xmm7 - packsswb xmm7, xmm7 - cmpneqps xmm5, xmm1 - packssdw xmm5, xmm5 - packsswb xmm5, xmm5 - psllw xmm5, 7 - pand xmm5, xmm14 - por xmm5, xmm2 - movss xmm2, dword ptr [rsi - 408] # xmm2 = mem[0],zero,zero,zero - insertps xmm2, dword ptr [rsi - 280], 16 # xmm2 = xmm2[0],mem[0],xmm2[2,3] - insertps xmm2, dword ptr [rsi - 152], 32 # xmm2 = xmm2[0,1],mem[0],xmm2[3] - pand xmm7, xmm15 - insertps xmm2, dword ptr [rsi - 24], 48 # xmm2 = xmm2[0,1,2],mem[0] - por xmm5, xmm6 - cmpneqps xmm2, xmm1 - packssdw xmm2, xmm2 - packsswb xmm2, xmm2 - movdqa xmm6, xmm2 - pand xmm6, xmm15 - psubb xmm6, xmm2 - movss xmm3, dword ptr [rsi - 404] # xmm3 = mem[0],zero,zero,zero - insertps xmm3, dword ptr [rsi - 276], 16 # xmm3 = xmm3[0],mem[0],xmm3[2,3] - insertps xmm3, dword ptr [rsi - 148], 32 # xmm3 = xmm3[0,1],mem[0],xmm3[3] - insertps xmm3, dword ptr [rsi - 20], 48 # xmm3 = xmm3[0,1,2],mem[0] - por xmm6, xmm7 - movss xmm2, dword ptr [rsi - 400] # xmm2 = mem[0],zero,zero,zero - insertps xmm2, dword ptr [rsi - 272], 16 # xmm2 = xmm2[0],mem[0],xmm2[2,3] - insertps xmm2, dword ptr [rsi - 144], 32 # xmm2 = xmm2[0,1],mem[0],xmm2[3] - insertps xmm2, dword ptr [rsi - 16], 48 # xmm2 = xmm2[0,1,2],mem[0] - cmpneqps xmm3, xmm1 - packssdw xmm3, xmm3 - packsswb xmm3, xmm3 - pand xmm3, xmm15 - psllw xmm3, 2 - pand xmm3, xmm8 - por xmm3, xmm6 - movss xmm6, dword ptr [rsi - 396] # xmm6 = mem[0],zero,zero,zero - insertps xmm6, dword ptr [rsi - 268], 16 # xmm6 = xmm6[0],mem[0],xmm6[2,3] - insertps xmm6, dword ptr [rsi - 140], 32 # xmm6 = xmm6[0,1],mem[0],xmm6[3] - insertps xmm6, dword ptr [rsi - 12], 48 # xmm6 = xmm6[0,1,2],mem[0] - cmpneqps xmm2, xmm1 - packssdw xmm2, xmm2 - packsswb xmm2, xmm2 - pand xmm2, xmm15 - psllw xmm2, 3 - pand xmm2, xmm10 - cmpneqps xmm6, xmm1 - packssdw xmm6, xmm6 - packsswb xmm6, xmm6 - pand xmm6, xmm15 - psllw xmm6, 4 - pand xmm6, xmm11 - por xmm6, xmm2 - movss xmm7, dword ptr [rsi - 392] # xmm7 = mem[0],zero,zero,zero - insertps xmm7, dword ptr [rsi - 264], 16 # xmm7 = xmm7[0],mem[0],xmm7[2,3] - insertps xmm7, dword ptr [rsi - 136], 32 # xmm7 = xmm7[0,1],mem[0],xmm7[3] - insertps xmm7, dword ptr [rsi - 8], 48 # xmm7 = xmm7[0,1,2],mem[0] - por xmm6, xmm3 - movss xmm2, dword ptr [rsi - 388] # xmm2 = mem[0],zero,zero,zero - insertps xmm2, dword ptr [rsi - 260], 16 # xmm2 = xmm2[0],mem[0],xmm2[2,3] - insertps xmm2, dword ptr [rsi - 132], 32 # xmm2 = xmm2[0,1],mem[0],xmm2[3] - insertps xmm2, dword ptr [rsi - 4], 48 # xmm2 = xmm2[0,1,2],mem[0] - cmpneqps xmm7, xmm1 - packssdw xmm7, xmm7 - packsswb xmm7, xmm7 - pand xmm7, xmm15 - psllw xmm7, 5 - pand xmm7, xmm12 - cmpneqps xmm2, xmm1 - packssdw xmm2, xmm2 - packsswb xmm2, xmm2 - pand xmm2, xmm15 - psllw xmm2, 6 - pand xmm2, xmm13 - por xmm2, xmm7 - movss xmm3, dword ptr [rsi - 384] # xmm3 = mem[0],zero,zero,zero - insertps xmm3, dword ptr [rsi - 256], 16 # xmm3 = xmm3[0],mem[0],xmm3[2,3] - insertps xmm3, dword ptr [rsi - 128], 32 # xmm3 = xmm3[0,1],mem[0],xmm3[3] - insertps xmm3, dword ptr [rsi], 48 # xmm3 = xmm3[0,1,2],mem[0] - cmpneqps xmm3, xmm1 - packssdw xmm3, xmm3 - packsswb xmm3, xmm3 - psllw xmm3, 7 - pand xmm3, xmm14 - por xmm3, xmm2 - por xmm3, xmm6 - punpckldq xmm5, xmm3 # xmm5 = xmm5[0],xmm3[0],xmm5[1],xmm3[1] - punpcklbw xmm4, xmm5 # xmm4 = xmm4[0],xmm5[0],xmm4[1],xmm5[1],xmm4[2],xmm5[2],xmm4[3],xmm5[3],xmm4[4],xmm5[4],xmm4[5],xmm5[5],xmm4[6],xmm5[6],xmm4[7],xmm5[7] - pshufb xmm4, xmm9 - movdqu xmmword ptr [r14 + 4*rcx], xmm4 - add rcx, 4 - add rsi, 512 - cmp r8, rcx - jne .LBB4_193 -# %bb.194: - cmp r10, r8 - jne .LBB4_127 - jmp .LBB4_148 + jne .LBB4_108 + jmp .LBB4_111 .Lfunc_end4: .size comparison_not_equal_arr_scalar_sse4, .Lfunc_end4-comparison_not_equal_arr_scalar_sse4 # -- End function @@ -24666,19 +25730,19 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 mov qword ptr [rsp + 8], rcx # 8-byte Spill mov r14, rdx cmp edi, 6 - jg .LBB5_26 + jg .LBB5_27 # %bb.1: cmp edi, 3 jle .LBB5_2 # %bb.10: cmp edi, 4 - je .LBB5_99 + je .LBB5_100 # %bb.11: cmp edi, 5 - je .LBB5_122 + je .LBB5_123 # %bb.12: cmp edi, 6 - jne .LBB5_199 + jne .LBB5_198 # %bb.13: mov r11d, dword ptr [rsi] lea r10, [r15 + 31] @@ -24725,7 +25789,7 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 jl .LBB5_21 # %bb.18: mov qword ptr [rsp + 160], r15 # 8-byte Spill - mov qword ptr [rsp + 224], r10 # 8-byte Spill + mov qword ptr [rsp + 208], r10 # 8-byte Spill mov qword ptr [rsp + 168], r10 # 8-byte Spill .p2align 4, 0x90 .LBB5_19: # =>This Inner Loop Header: Depth=1 @@ -24734,35 +25798,35 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 cmp r11d, dword ptr [r14 + 120] setne byte ptr [rsp + 64] # 1-byte Folded Spill cmp r11d, dword ptr [r14 + 116] - setne byte ptr [rsp + 40] # 1-byte Folded Spill - cmp r11d, dword ptr [r14 + 112] setne byte ptr [rsp + 32] # 1-byte Folded Spill - cmp r11d, dword ptr [r14 + 108] + cmp r11d, dword ptr [r14 + 112] setne byte ptr [rsp + 24] # 1-byte Folded Spill + cmp r11d, dword ptr [r14 + 108] + setne byte ptr [rsp + 40] # 1-byte Folded Spill cmp r11d, dword ptr [r14 + 104] setne byte ptr [rsp + 56] # 1-byte Folded Spill cmp r11d, dword ptr [r14 + 100] setne byte ptr [rsp + 48] # 1-byte Folded Spill cmp r11d, dword ptr [r14 + 92] - setne byte ptr [rsp + 88] # 1-byte Folded Spill + setne byte ptr [rsp + 80] # 1-byte Folded Spill cmp r11d, dword ptr [r14 + 88] - setne byte ptr [rsp + 128] # 1-byte Folded Spill + setne byte ptr [rsp + 72] # 1-byte Folded Spill cmp r11d, dword ptr [r14 + 84] - setne byte ptr [rsp + 80] # 1-byte Folded Spill + setne byte ptr [rsp + 104] # 1-byte Folded Spill cmp r11d, dword ptr [r14 + 80] - setne byte ptr [rsp + 72] # 1-byte Folded Spill + setne byte ptr [rsp + 96] # 1-byte Folded Spill cmp r11d, dword ptr [r14 + 76] - setne byte ptr [rsp + 120] # 1-byte Folded Spill + setne byte ptr [rsp + 88] # 1-byte Folded Spill cmp r11d, dword ptr [r14 + 72] - setne byte ptr [rsp + 112] # 1-byte Folded Spill + setne byte ptr [rsp + 128] # 1-byte Folded Spill cmp r11d, dword ptr [r14 + 68] - setne byte ptr [rsp + 104] # 1-byte Folded Spill + setne byte ptr [rsp + 120] # 1-byte Folded Spill cmp r11d, dword ptr [r14 + 60] setne r8b cmp r11d, dword ptr [r14 + 56] setne byte ptr [rsp + 136] # 1-byte Folded Spill cmp r11d, dword ptr [r14 + 52] - setne byte ptr [rsp + 144] # 1-byte Folded Spill + setne byte ptr [rsp + 152] # 1-byte Folded Spill cmp r11d, dword ptr [r14 + 48] setne dil cmp r11d, dword ptr [r14 + 44] @@ -24780,29 +25844,29 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 cmp r11d, dword ptr [r14 + 16] setne cl cmp r11d, dword ptr [r14 + 12] - setne r12b + setne r13b cmp r11d, dword ptr [r14 + 8] setne r15b cmp r11d, dword ptr [r14] - setne byte ptr [rsp + 152] # 1-byte Folded Spill + setne byte ptr [rsp + 192] # 1-byte Folded Spill cmp r11d, dword ptr [r14 + 4] - mov r13, r14 + mov r12, r14 setne r14b - cmp r11d, dword ptr [r13 + 32] - setne byte ptr [rsp + 192] # 1-byte Folded Spill - cmp r11d, dword ptr [r13 + 64] + cmp r11d, dword ptr [r12 + 32] setne byte ptr [rsp + 176] # 1-byte Folded Spill - cmp r11d, dword ptr [r13 + 96] - setne byte ptr [rsp + 96] # 1-byte Folded Spill + cmp r11d, dword ptr [r12 + 64] + setne byte ptr [rsp + 144] # 1-byte Folded Spill + cmp r11d, dword ptr [r12 + 96] + setne byte ptr [rsp + 112] # 1-byte Folded Spill add r14b, r14b - add r14b, byte ptr [rsp + 152] # 1-byte Folded Reload + add r14b, byte ptr [rsp + 192] # 1-byte Folded Reload shl r15b, 2 or r15b, r14b - mov r14, r13 - shl r12b, 3 - or r12b, r15b + mov r14, r12 + shl r13b, 3 + or r13b, r15b shl cl, 4 - or cl, r12b + or cl, r13b mov r15, qword ptr [rsp + 8] # 8-byte Reload shl dl, 5 or dl, cl @@ -24812,14 +25876,14 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 or al, dl mov byte ptr [r15], al add sil, sil - add sil, byte ptr [rsp + 192] # 1-byte Folded Reload + add sil, byte ptr [rsp + 176] # 1-byte Folded Reload shl r9b, 2 or r9b, sil shl r10b, 3 or r10b, r9b shl dil, 4 or dil, r10b - movzx eax, byte ptr [rsp + 144] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 152] # 1-byte Folded Reload shl al, 5 or al, dil movzx ecx, byte ptr [rsp + 136] # 1-byte Folded Reload @@ -24828,50 +25892,50 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 or r8b, cl or r8b, al mov byte ptr [r15 + 1], r8b - movzx eax, byte ptr [rsp + 104] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 120] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 176] # 1-byte Folded Reload + add al, byte ptr [rsp + 144] # 1-byte Folded Reload mov ecx, eax - movzx eax, byte ptr [rsp + 112] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 128] # 1-byte Folded Reload shl al, 2 or al, cl mov ecx, eax - movzx eax, byte ptr [rsp + 120] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 88] # 1-byte Folded Reload shl al, 3 or al, cl mov ecx, eax - movzx eax, byte ptr [rsp + 72] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 96] # 1-byte Folded Reload shl al, 4 or al, cl mov ecx, eax - movzx eax, byte ptr [rsp + 80] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 104] # 1-byte Folded Reload shl al, 5 or al, cl mov ecx, eax - movzx edx, byte ptr [rsp + 128] # 1-byte Folded Reload + movzx edx, byte ptr [rsp + 72] # 1-byte Folded Reload shl dl, 6 - movzx eax, byte ptr [rsp + 88] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 80] # 1-byte Folded Reload shl al, 7 or al, dl or al, cl mov byte ptr [r15 + 2], al movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 96] # 1-byte Folded Reload + add al, byte ptr [rsp + 112] # 1-byte Folded Reload mov ecx, eax movzx eax, byte ptr [rsp + 56] # 1-byte Folded Reload shl al, 2 or al, cl mov ecx, eax - movzx eax, byte ptr [rsp + 24] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload shl al, 3 or al, cl mov ecx, eax - movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 24] # 1-byte Folded Reload shl al, 4 or al, cl mov ecx, eax - movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload shl al, 5 or al, cl mov ecx, eax @@ -24889,24 +25953,24 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 jne .LBB5_19 # %bb.20: mov r15, qword ptr [rsp + 160] # 8-byte Reload - mov r10, qword ptr [rsp + 224] # 8-byte Reload + mov r10, qword ptr [rsp + 208] # 8-byte Reload .LBB5_21: shl r10, 5 cmp r10, r15 - jge .LBB5_199 + jge .LBB5_198 # %bb.22: mov r8, r15 sub r8, r10 not r10 add r10, r15 je .LBB5_23 -# %bb.142: +# %bb.143: mov r9, r8 and r9, -2 xor edi, edi mov r15, qword ptr [rsp + 8] # 8-byte Reload .p2align 4, 0x90 -.LBB5_143: # =>This Inner Loop Header: Depth=1 +.LBB5_144: # =>This Inner Loop Header: Depth=1 cmp r11d, dword ptr [r14] setne al neg al @@ -24934,21 +25998,21 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 xor bl, dl mov byte ptr [r15 + rsi], bl cmp r9, rdi - jne .LBB5_143 + jne .LBB5_144 jmp .LBB5_24 -.LBB5_26: +.LBB5_27: cmp edi, 8 - jle .LBB5_27 -# %bb.42: - cmp edi, 9 - je .LBB5_158 + jle .LBB5_28 # %bb.43: - cmp edi, 11 - je .LBB5_170 + cmp edi, 9 + je .LBB5_159 # %bb.44: - cmp edi, 12 - jne .LBB5_199 + cmp edi, 11 + je .LBB5_171 # %bb.45: + cmp edi, 12 + jne .LBB5_198 +# %bb.46: lea r10, [r15 + 31] test r15, r15 cmovns r10, r15 @@ -24958,15 +26022,17 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 and eax, -8 movsd xmm0, qword ptr [rsi] # xmm0 = mem[0],zero sub r9d, eax - je .LBB5_49 -# %bb.46: + je .LBB5_50 +# %bb.47: movsxd rax, r9d mov r8, qword ptr [rsp + 8] # 8-byte Reload .p2align 4, 0x90 -.LBB5_47: # =>This Inner Loop Header: Depth=1 +.LBB5_48: # =>This Inner Loop Header: Depth=1 ucomisd xmm0, qword ptr [r14] lea r14, [r14 + 8] + setp cl setne dl + or dl, cl neg dl lea rsi, [rax + 7] test rax, rax @@ -24985,199 +26051,287 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 mov byte ptr [r8 + rsi], dil add rax, 1 cmp rax, 8 - jne .LBB5_47 -# %bb.48: + jne .LBB5_48 +# %bb.49: add qword ptr [rsp + 8], 1 # 8-byte Folded Spill -.LBB5_49: +.LBB5_50: sar r10, 5 cmp r15, 32 - jl .LBB5_53 -# %bb.50: + jl .LBB5_54 +# %bb.51: mov qword ptr [rsp + 160], r15 # 8-byte Spill - mov qword ptr [rsp + 168], r10 # 8-byte Spill - mov qword ptr [rsp + 152], r10 # 8-byte Spill + mov qword ptr [rsp + 240], r10 # 8-byte Spill + mov qword ptr [rsp + 208], r10 # 8-byte Spill .p2align 4, 0x90 -.LBB5_51: # =>This Inner Loop Header: Depth=1 +.LBB5_52: # =>This Inner Loop Header: Depth=1 mov rdx, r14 ucomisd xmm0, qword ptr [r14] - setne byte ptr [rsp + 192] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 24], cl # 1-byte Spill ucomisd xmm0, qword ptr [r14 + 8] - setne r9b - ucomisd xmm0, qword ptr [r14 + 16] + setp al setne r11b + or r11b, al + ucomisd xmm0, qword ptr [r14 + 16] + setp al + setne cl + or cl, al + mov byte ptr [rsp + 32], cl # 1-byte Spill ucomisd xmm0, qword ptr [r14 + 24] - setne r13b + setp al + setne cl + or cl, al + mov byte ptr [rsp + 64], cl # 1-byte Spill ucomisd xmm0, qword ptr [r14 + 32] - setne byte ptr [rsp + 176] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 16], cl # 1-byte Spill ucomisd xmm0, qword ptr [r14 + 40] - setne byte ptr [rsp + 80] # 1-byte Folded Spill + setp al + setne r9b + or r9b, al ucomisd xmm0, qword ptr [r14 + 48] - setne bl + setp al + setne cl + or cl, al + mov byte ptr [rsp + 56], cl # 1-byte Spill ucomisd xmm0, qword ptr [r14 + 56] - setne r12b + setp al + setne cl + or cl, al + mov byte ptr [rsp + 40], cl # 1-byte Spill ucomisd xmm0, qword ptr [r14 + 64] - setne byte ptr [rsp + 144] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 48], cl # 1-byte Spill ucomisd xmm0, qword ptr [r14 + 72] - setne sil + setp al + setne cl + or cl, al + mov byte ptr [rsp + 88], cl # 1-byte Spill ucomisd xmm0, qword ptr [r14 + 80] - setne dil + setp al + setne bl + or bl, al + mov byte ptr [rsp + 80], bl # 1-byte Spill ucomisd xmm0, qword ptr [r14 + 88] - setne r8b + setp al + setne bl + or bl, al + mov byte ptr [rsp + 72], bl # 1-byte Spill ucomisd xmm0, qword ptr [r14 + 96] - setne r10b + setp al + setne bl + or bl, al + mov byte ptr [rsp + 104], bl # 1-byte Spill ucomisd xmm0, qword ptr [r14 + 104] - setne r15b + setp al + setne bl + or bl, al + mov byte ptr [rsp + 96], bl # 1-byte Spill ucomisd xmm0, qword ptr [r14 + 112] - setne byte ptr [rsp + 136] # 1-byte Folded Spill + setp al + setne r13b + or r13b, al ucomisd xmm0, qword ptr [r14 + 120] + setp al setne cl + or cl, al + mov byte ptr [rsp + 128], cl # 1-byte Spill ucomisd xmm0, qword ptr [r14 + 128] - setne byte ptr [rsp + 120] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 120], cl # 1-byte Spill ucomisd xmm0, qword ptr [r14 + 136] - setne byte ptr [rsp + 96] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 112], cl # 1-byte Spill ucomisd xmm0, qword ptr [r14 + 144] - setne byte ptr [rsp + 104] # 1-byte Folded Spill + setp al + setne bl + or bl, al ucomisd xmm0, qword ptr [r14 + 152] - setne byte ptr [rsp + 112] # 1-byte Folded Spill - ucomisd xmm0, qword ptr [r14 + 160] - setne byte ptr [rsp + 72] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 136], cl # 1-byte Spill + ucomisd xmm0, qword ptr [r14 + 160] + setp al + setne cl + or cl, al + mov byte ptr [rsp + 152], cl # 1-byte Spill ucomisd xmm0, qword ptr [r14 + 168] - setne byte ptr [rsp + 128] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 176], cl # 1-byte Spill ucomisd xmm0, qword ptr [r14 + 176] - setne byte ptr [rsp + 88] # 1-byte Folded Spill + setp al + setne r12b + or r12b, al ucomisd xmm0, qword ptr [r14 + 184] + setp al + setne r8b + or r8b, al + ucomisd xmm0, qword ptr [r14 + 192] + setp al + setne cl + or cl, al + mov byte ptr [rsp + 144], cl # 1-byte Spill + ucomisd xmm0, qword ptr [r14 + 200] + setp al + setne r15b + or r15b, al + ucomisd xmm0, qword ptr [r14 + 208] + setp al setne r14b - ucomisd xmm0, qword ptr [rdx + 192] - setne byte ptr [rsp + 32] # 1-byte Folded Spill - ucomisd xmm0, qword ptr [rdx + 200] - setne byte ptr [rsp + 48] # 1-byte Folded Spill - ucomisd xmm0, qword ptr [rdx + 208] - setne byte ptr [rsp + 56] # 1-byte Folded Spill + or r14b, al ucomisd xmm0, qword ptr [rdx + 216] - setne byte ptr [rsp + 24] # 1-byte Folded Spill + setp al + setne r10b + or r10b, al ucomisd xmm0, qword ptr [rdx + 224] - setne byte ptr [rsp + 40] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 192], cl # 1-byte Spill ucomisd xmm0, qword ptr [rdx + 232] - setne byte ptr [rsp + 64] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 168], cl # 1-byte Spill ucomisd xmm0, qword ptr [rdx + 240] - setne byte ptr [rsp + 16] # 1-byte Folded Spill + setp al + setne dil + or dil, al ucomisd xmm0, qword ptr [rdx + 248] - setne al - add r9b, r9b - add r9b, byte ptr [rsp + 192] # 1-byte Folded Reload - shl bl, 6 - shl r12b, 7 - or r12b, bl - shl r11b, 2 - or r11b, r9b - add sil, sil - add sil, byte ptr [rsp + 144] # 1-byte Folded Reload - shl r13b, 3 - or r13b, r11b - shl dil, 2 - or dil, sil - movzx ebx, byte ptr [rsp + 176] # 1-byte Folded Reload - shl bl, 4 - or bl, r13b - mov r9d, ebx - mov rsi, qword ptr [rsp + 8] # 8-byte Reload - shl r8b, 3 - or r8b, dil - movzx ebx, byte ptr [rsp + 80] # 1-byte Folded Reload - shl bl, 5 - or bl, r9b - shl r10b, 4 - or r10b, r8b - shl r15b, 5 - or r15b, r10b - movzx edi, byte ptr [rsp + 136] # 1-byte Folded Reload - shl dil, 6 - shl cl, 7 - or cl, dil - or r12b, bl - or cl, r15b - movzx ebx, byte ptr [rsp + 96] # 1-byte Folded Reload - add bl, bl - add bl, byte ptr [rsp + 120] # 1-byte Folded Reload - mov edi, ebx - movzx ebx, byte ptr [rsp + 104] # 1-byte Folded Reload - shl bl, 2 - or bl, dil - mov edi, ebx - movzx ebx, byte ptr [rsp + 112] # 1-byte Folded Reload - shl bl, 3 - or bl, dil - mov edi, ebx - movzx ebx, byte ptr [rsp + 72] # 1-byte Folded Reload - shl bl, 4 - or bl, dil - mov edi, ebx - movzx ebx, byte ptr [rsp + 128] # 1-byte Folded Reload - shl bl, 5 - or bl, dil - mov byte ptr [rsi], r12b - movzx edi, byte ptr [rsp + 88] # 1-byte Folded Reload - shl dil, 6 - shl r14b, 7 - or r14b, dil - mov byte ptr [rsi + 1], cl - or r14b, bl - movzx ecx, byte ptr [rsp + 48] # 1-byte Folded Reload + setp al + setne sil + or sil, al + add r11b, r11b + add r11b, byte ptr [rsp + 24] # 1-byte Folded Reload + shl r9b, 5 + movzx eax, byte ptr [rsp + 56] # 1-byte Folded Reload + shl al, 6 + or al, r9b + mov r9d, eax + movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload + shl al, 2 + or al, r11b + mov r11d, eax + movzx ecx, byte ptr [rsp + 88] # 1-byte Folded Reload add cl, cl - add cl, byte ptr [rsp + 32] # 1-byte Folded Reload - mov ebx, ecx - movzx ecx, byte ptr [rsp + 56] # 1-byte Folded Reload - shl cl, 2 - or cl, bl - mov ebx, ecx - movzx ecx, byte ptr [rsp + 24] # 1-byte Folded Reload + add cl, byte ptr [rsp + 48] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload + shl al, 7 + or al, r9b + mov r9d, eax + movzx eax, byte ptr [rsp + 80] # 1-byte Folded Reload + shl al, 2 + or al, cl + mov ecx, eax + movzx eax, byte ptr [rsp + 64] # 1-byte Folded Reload + shl al, 3 + or al, r11b + mov r11d, eax + movzx eax, byte ptr [rsp + 72] # 1-byte Folded Reload + shl al, 3 + or al, cl + mov ecx, eax + movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload + shl al, 4 + or al, r11b + mov byte ptr [rsp + 16], al # 1-byte Spill + movzx eax, byte ptr [rsp + 104] # 1-byte Folded Reload + shl al, 4 + or al, cl + mov r11d, eax + movzx eax, byte ptr [rsp + 96] # 1-byte Folded Reload + shl al, 5 + shl r13b, 6 + or r13b, al + movzx eax, byte ptr [rsp + 128] # 1-byte Folded Reload + shl al, 7 + or al, r13b + mov r13d, eax + mov rax, qword ptr [rsp + 8] # 8-byte Reload + movzx ecx, byte ptr [rsp + 112] # 1-byte Folded Reload + add cl, cl + add cl, byte ptr [rsp + 120] # 1-byte Folded Reload + shl bl, 2 + or bl, cl + movzx ecx, byte ptr [rsp + 136] # 1-byte Folded Reload shl cl, 3 or cl, bl mov ebx, ecx - movzx ecx, byte ptr [rsp + 40] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 152] # 1-byte Folded Reload shl cl, 4 or cl, bl - mov ebx, ecx - movzx ecx, byte ptr [rsp + 64] # 1-byte Folded Reload - shl cl, 5 - or cl, bl - movzx ebx, byte ptr [rsp + 16] # 1-byte Folded Reload - shl bl, 6 - shl al, 7 - or al, bl - or al, cl - mov byte ptr [rsi + 2], r14b - mov byte ptr [rsi + 3], al + or r9b, byte ptr [rsp + 16] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 176] # 1-byte Folded Reload + shl bl, 5 + shl r12b, 6 + or r12b, bl + or r13b, r11b + shl r8b, 7 + or r8b, r12b + or r8b, cl + add r15b, r15b + add r15b, byte ptr [rsp + 144] # 1-byte Folded Reload + shl r14b, 2 + or r14b, r15b + shl r10b, 3 + or r10b, r14b + movzx ecx, byte ptr [rsp + 192] # 1-byte Folded Reload + shl cl, 4 + or cl, r10b + mov byte ptr [rax], r9b + movzx ebx, byte ptr [rsp + 168] # 1-byte Folded Reload + shl bl, 5 + shl dil, 6 + or dil, bl + mov byte ptr [rax + 1], r13b + shl sil, 7 + or sil, dil + or sil, cl + mov byte ptr [rax + 2], r8b + mov byte ptr [rax + 3], sil lea r14, [rdx + 256] - add rsi, 4 - mov qword ptr [rsp + 8], rsi # 8-byte Spill - add qword ptr [rsp + 152], -1 # 8-byte Folded Spill - jne .LBB5_51 -# %bb.52: + add rax, 4 + mov qword ptr [rsp + 8], rax # 8-byte Spill + add qword ptr [rsp + 208], -1 # 8-byte Folded Spill + jne .LBB5_52 +# %bb.53: mov r15, qword ptr [rsp + 160] # 8-byte Reload - mov r10, qword ptr [rsp + 168] # 8-byte Reload -.LBB5_53: + mov r10, qword ptr [rsp + 240] # 8-byte Reload +.LBB5_54: shl r10, 5 cmp r10, r15 - jge .LBB5_199 -# %bb.54: + jge .LBB5_198 +# %bb.55: mov r8, r15 sub r8, r10 not r10 add r10, r15 - jne .LBB5_193 -# %bb.55: + jne .LBB5_194 +# %bb.56: xor edi, edi - jmp .LBB5_195 + jmp .LBB5_196 .LBB5_2: cmp edi, 2 - je .LBB5_56 + je .LBB5_57 # %bb.3: cmp edi, 3 - jne .LBB5_199 + jne .LBB5_198 # %bb.4: mov al, byte ptr [rsi] - mov byte ptr [rsp + 64], al # 1-byte Spill + mov byte ptr [rsp + 16], al # 1-byte Spill lea r10, [r15 + 31] test r15, r15 cmovns r10, r15 @@ -25192,7 +26346,7 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 mov rdx, qword ptr [rsp + 8] # 8-byte Reload .p2align 4, 0x90 .LBB5_6: # =>This Inner Loop Header: Depth=1 - movzx ecx, byte ptr [rsp + 64] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 16] # 1-byte Folded Reload cmp cl, byte ptr [r14] lea r14, [r14 + 1] setne bl @@ -25221,65 +26375,65 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 sar r10, 5 cmp r15, 32 jl .LBB5_9 -# %bb.81: +# %bb.82: cmp r10, 16 mov qword ptr [rsp + 160], r15 # 8-byte Spill - mov qword ptr [rsp + 248], r10 # 8-byte Spill - jb .LBB5_82 -# %bb.83: + mov qword ptr [rsp + 264], r10 # 8-byte Spill + jb .LBB5_83 +# %bb.84: mov rax, r10 shl rax, 5 add rax, r14 cmp qword ptr [rsp + 8], rax # 8-byte Folded Reload - jae .LBB5_85 -# %bb.84: + jae .LBB5_86 +# %bb.85: mov rax, qword ptr [rsp + 8] # 8-byte Reload lea rax, [rax + 4*r10] cmp r14, rax - jae .LBB5_85 -.LBB5_82: + jae .LBB5_86 +.LBB5_83: xor eax, eax - mov qword ptr [rsp + 216], rax # 8-byte Spill + mov qword ptr [rsp + 232], rax # 8-byte Spill mov rax, qword ptr [rsp + 8] # 8-byte Reload - mov qword ptr [rsp + 128], rax # 8-byte Spill -.LBB5_88: - sub r10, qword ptr [rsp + 216] # 8-byte Folded Reload - mov qword ptr [rsp + 224], r10 # 8-byte Spill + mov qword ptr [rsp + 80], rax # 8-byte Spill +.LBB5_89: + sub r10, qword ptr [rsp + 232] # 8-byte Folded Reload + mov qword ptr [rsp + 208], r10 # 8-byte Spill .p2align 4, 0x90 -.LBB5_89: # =>This Inner Loop Header: Depth=1 - movzx eax, byte ptr [rsp + 64] # 1-byte Folded Reload +.LBB5_90: # =>This Inner Loop Header: Depth=1 + movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload cmp al, byte ptr [r14 + 31] setne byte ptr [rsp + 8] # 1-byte Folded Spill cmp al, byte ptr [r14 + 30] - setne byte ptr [rsp + 16] # 1-byte Folded Spill + setne byte ptr [rsp + 64] # 1-byte Folded Spill cmp al, byte ptr [r14 + 29] - setne byte ptr [rsp + 40] # 1-byte Folded Spill - cmp al, byte ptr [r14 + 28] setne byte ptr [rsp + 32] # 1-byte Folded Spill - cmp al, byte ptr [r14 + 27] + cmp al, byte ptr [r14 + 28] setne byte ptr [rsp + 24] # 1-byte Folded Spill + cmp al, byte ptr [r14 + 27] + setne byte ptr [rsp + 40] # 1-byte Folded Spill cmp al, byte ptr [r14 + 26] setne byte ptr [rsp + 56] # 1-byte Folded Spill cmp al, byte ptr [r14 + 25] setne byte ptr [rsp + 48] # 1-byte Folded Spill cmp al, byte ptr [r14 + 23] - setne byte ptr [rsp + 88] # 1-byte Folded Spill + setne byte ptr [rsp + 72] # 1-byte Folded Spill cmp al, byte ptr [r14 + 22] - setne byte ptr [rsp + 80] # 1-byte Folded Spill + setne byte ptr [rsp + 104] # 1-byte Folded Spill cmp al, byte ptr [r14 + 21] - setne byte ptr [rsp + 72] # 1-byte Folded Spill + setne byte ptr [rsp + 96] # 1-byte Folded Spill cmp al, byte ptr [r14 + 20] - setne byte ptr [rsp + 120] # 1-byte Folded Spill + setne byte ptr [rsp + 88] # 1-byte Folded Spill cmp al, byte ptr [r14 + 19] - setne byte ptr [rsp + 112] # 1-byte Folded Spill + setne byte ptr [rsp + 128] # 1-byte Folded Spill cmp al, byte ptr [r14 + 18] - setne byte ptr [rsp + 104] # 1-byte Folded Spill + setne byte ptr [rsp + 120] # 1-byte Folded Spill cmp al, byte ptr [r14 + 17] - setne byte ptr [rsp + 96] # 1-byte Folded Spill + setne byte ptr [rsp + 112] # 1-byte Folded Spill cmp al, byte ptr [r14 + 15] setne r10b cmp al, byte ptr [r14 + 14] - setne byte ptr [rsp + 144] # 1-byte Folded Spill + setne byte ptr [rsp + 152] # 1-byte Folded Spill cmp al, byte ptr [r14 + 13] setne r13b cmp al, byte ptr [r14 + 12] @@ -25293,7 +26447,7 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 cmp al, byte ptr [r14 + 7] setne sil cmp al, byte ptr [r14 + 6] - setne byte ptr [rsp + 192] # 1-byte Folded Spill + setne byte ptr [rsp + 176] # 1-byte Folded Spill cmp al, byte ptr [r14 + 5] setne r9b cmp al, byte ptr [r14 + 4] @@ -25307,9 +26461,9 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 cmp al, byte ptr [r14 + 1] setne cl cmp al, byte ptr [r14 + 8] - setne byte ptr [rsp + 152] # 1-byte Folded Spill + setne byte ptr [rsp + 192] # 1-byte Folded Spill cmp al, byte ptr [r14 + 16] - setne byte ptr [rsp + 176] # 1-byte Folded Spill + setne byte ptr [rsp + 144] # 1-byte Folded Spill cmp al, byte ptr [r14 + 24] setne byte ptr [rsp + 136] # 1-byte Folded Spill add cl, cl @@ -25322,15 +26476,15 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 or r8b, dil shl r9b, 5 or r9b, r8b - movzx eax, byte ptr [rsp + 192] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 176] # 1-byte Folded Reload shl al, 6 shl sil, 7 or sil, al or sil, r9b - mov rax, qword ptr [rsp + 128] # 8-byte Reload + mov rax, qword ptr [rsp + 80] # 8-byte Reload mov byte ptr [rax], sil add r11b, r11b - add r11b, byte ptr [rsp + 152] # 1-byte Folded Reload + add r11b, byte ptr [rsp + 192] # 1-byte Folded Reload shl bl, 2 or bl, r11b shl r15b, 3 @@ -25339,35 +26493,35 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 or r12b, r15b shl r13b, 5 or r13b, r12b - movzx ecx, byte ptr [rsp + 144] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 152] # 1-byte Folded Reload shl cl, 6 shl r10b, 7 or r10b, cl or r10b, r13b mov byte ptr [rax + 1], r10b - movzx ecx, byte ptr [rsp + 96] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 112] # 1-byte Folded Reload add cl, cl - add cl, byte ptr [rsp + 176] # 1-byte Folded Reload + add cl, byte ptr [rsp + 144] # 1-byte Folded Reload mov edx, ecx - movzx ecx, byte ptr [rsp + 104] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 120] # 1-byte Folded Reload shl cl, 2 or cl, dl mov edx, ecx - movzx ecx, byte ptr [rsp + 112] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 128] # 1-byte Folded Reload shl cl, 3 or cl, dl mov edx, ecx - movzx ecx, byte ptr [rsp + 120] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 88] # 1-byte Folded Reload shl cl, 4 or cl, dl mov edx, ecx - movzx ecx, byte ptr [rsp + 72] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 96] # 1-byte Folded Reload shl cl, 5 or cl, dl mov edx, ecx - movzx ebx, byte ptr [rsp + 80] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 104] # 1-byte Folded Reload shl bl, 6 - movzx ecx, byte ptr [rsp + 88] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 72] # 1-byte Folded Reload shl cl, 7 or cl, bl or cl, dl @@ -25380,19 +26534,19 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 shl cl, 2 or cl, dl mov edx, ecx - movzx ecx, byte ptr [rsp + 24] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 40] # 1-byte Folded Reload shl cl, 3 or cl, dl mov edx, ecx - movzx ecx, byte ptr [rsp + 32] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 24] # 1-byte Folded Reload shl cl, 4 or cl, dl mov edx, ecx - movzx ecx, byte ptr [rsp + 40] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 32] # 1-byte Folded Reload shl cl, 5 or cl, dl mov edx, ecx - movzx ebx, byte ptr [rsp + 16] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 64] # 1-byte Folded Reload shl bl, 6 movzx ecx, byte ptr [rsp + 8] # 1-byte Folded Reload shl cl, 7 @@ -25401,20 +26555,20 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 mov byte ptr [rax + 3], cl add r14, 32 add rax, 4 - mov qword ptr [rsp + 128], rax # 8-byte Spill - add qword ptr [rsp + 224], -1 # 8-byte Folded Spill - jne .LBB5_89 -# %bb.90: + mov qword ptr [rsp + 80], rax # 8-byte Spill + add qword ptr [rsp + 208], -1 # 8-byte Folded Spill + jne .LBB5_90 +# %bb.91: mov r15, qword ptr [rsp + 160] # 8-byte Reload - mov r10, qword ptr [rsp + 248] # 8-byte Reload - jmp .LBB5_91 -.LBB5_27: + mov r10, qword ptr [rsp + 264] # 8-byte Reload + jmp .LBB5_92 +.LBB5_28: cmp edi, 7 - je .LBB5_144 -# %bb.28: - cmp edi, 8 - jne .LBB5_199 + je .LBB5_145 # %bb.29: + cmp edi, 8 + jne .LBB5_198 +# %bb.30: mov r11, qword ptr [rsi] lea r10, [r15 + 31] test r15, r15 @@ -25424,12 +26578,12 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 cmovns eax, r9d and eax, -8 sub r9d, eax - je .LBB5_33 -# %bb.30: + je .LBB5_34 +# %bb.31: movsxd rax, r9d mov r8, qword ptr [rsp + 8] # 8-byte Reload .p2align 4, 0x90 -.LBB5_31: # =>This Inner Loop Header: Depth=1 +.LBB5_32: # =>This Inner Loop Header: Depth=1 cmp r11, qword ptr [r14] lea r14, [r14 + 8] setne dl @@ -25451,53 +26605,53 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 mov byte ptr [r8 + rsi], dil add rax, 1 cmp rax, 8 - jne .LBB5_31 -# %bb.32: + jne .LBB5_32 +# %bb.33: add qword ptr [rsp + 8], 1 # 8-byte Folded Spill -.LBB5_33: +.LBB5_34: sar r10, 5 cmp r15, 32 - jl .LBB5_37 -# %bb.34: + jl .LBB5_38 +# %bb.35: mov qword ptr [rsp + 160], r15 # 8-byte Spill - mov qword ptr [rsp + 224], r10 # 8-byte Spill + mov qword ptr [rsp + 208], r10 # 8-byte Spill mov qword ptr [rsp + 168], r10 # 8-byte Spill .p2align 4, 0x90 -.LBB5_35: # =>This Inner Loop Header: Depth=1 +.LBB5_36: # =>This Inner Loop Header: Depth=1 cmp r11, qword ptr [r14 + 248] setne byte ptr [rsp + 16] # 1-byte Folded Spill cmp r11, qword ptr [r14 + 240] setne byte ptr [rsp + 64] # 1-byte Folded Spill cmp r11, qword ptr [r14 + 232] - setne byte ptr [rsp + 40] # 1-byte Folded Spill - cmp r11, qword ptr [r14 + 224] setne byte ptr [rsp + 32] # 1-byte Folded Spill - cmp r11, qword ptr [r14 + 216] + cmp r11, qword ptr [r14 + 224] setne byte ptr [rsp + 24] # 1-byte Folded Spill + cmp r11, qword ptr [r14 + 216] + setne byte ptr [rsp + 40] # 1-byte Folded Spill cmp r11, qword ptr [r14 + 208] setne byte ptr [rsp + 56] # 1-byte Folded Spill cmp r11, qword ptr [r14 + 200] setne byte ptr [rsp + 48] # 1-byte Folded Spill cmp r11, qword ptr [r14 + 184] - setne byte ptr [rsp + 88] # 1-byte Folded Spill + setne byte ptr [rsp + 80] # 1-byte Folded Spill cmp r11, qword ptr [r14 + 176] - setne byte ptr [rsp + 128] # 1-byte Folded Spill + setne byte ptr [rsp + 72] # 1-byte Folded Spill cmp r11, qword ptr [r14 + 168] - setne byte ptr [rsp + 80] # 1-byte Folded Spill + setne byte ptr [rsp + 104] # 1-byte Folded Spill cmp r11, qword ptr [r14 + 160] - setne byte ptr [rsp + 72] # 1-byte Folded Spill + setne byte ptr [rsp + 96] # 1-byte Folded Spill cmp r11, qword ptr [r14 + 152] - setne byte ptr [rsp + 120] # 1-byte Folded Spill + setne byte ptr [rsp + 88] # 1-byte Folded Spill cmp r11, qword ptr [r14 + 144] - setne byte ptr [rsp + 112] # 1-byte Folded Spill + setne byte ptr [rsp + 128] # 1-byte Folded Spill cmp r11, qword ptr [r14 + 136] - setne byte ptr [rsp + 104] # 1-byte Folded Spill + setne byte ptr [rsp + 120] # 1-byte Folded Spill cmp r11, qword ptr [r14 + 120] setne r8b cmp r11, qword ptr [r14 + 112] setne byte ptr [rsp + 136] # 1-byte Folded Spill cmp r11, qword ptr [r14 + 104] - setne byte ptr [rsp + 144] # 1-byte Folded Spill + setne byte ptr [rsp + 152] # 1-byte Folded Spill cmp r11, qword ptr [r14 + 96] setne dil cmp r11, qword ptr [r14 + 88] @@ -25517,24 +26671,24 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 cmp r11, qword ptr [r14 + 24] setne r15b cmp r11, qword ptr [r14 + 16] - setne r13b + setne r12b cmp r11, qword ptr [r14] - setne byte ptr [rsp + 152] # 1-byte Folded Spill + setne byte ptr [rsp + 192] # 1-byte Folded Spill cmp r11, qword ptr [r14 + 8] - setne r12b + setne r13b cmp r11, qword ptr [r14 + 64] - setne byte ptr [rsp + 192] # 1-byte Folded Spill - cmp r11, qword ptr [r14 + 128] setne byte ptr [rsp + 176] # 1-byte Folded Spill + cmp r11, qword ptr [r14 + 128] + setne byte ptr [rsp + 144] # 1-byte Folded Spill cmp r11, qword ptr [r14 + 192] - setne byte ptr [rsp + 96] # 1-byte Folded Spill - add r12b, r12b - add r12b, byte ptr [rsp + 152] # 1-byte Folded Reload - shl r13b, 2 - or r13b, r12b - mov r12, qword ptr [rsp + 8] # 8-byte Reload + setne byte ptr [rsp + 112] # 1-byte Folded Spill + add r13b, r13b + add r13b, byte ptr [rsp + 192] # 1-byte Folded Reload + shl r12b, 2 + or r12b, r13b + mov r13, qword ptr [rsp + 8] # 8-byte Reload shl r15b, 3 - or r15b, r13b + or r15b, r12b shl dl, 4 or dl, r15b shl cl, 5 @@ -25543,16 +26697,16 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 shl al, 7 or al, bl or al, cl - mov byte ptr [r12], al + mov byte ptr [r13], al add sil, sil - add sil, byte ptr [rsp + 192] # 1-byte Folded Reload + add sil, byte ptr [rsp + 176] # 1-byte Folded Reload shl r9b, 2 or r9b, sil shl r10b, 3 or r10b, r9b shl dil, 4 or dil, r10b - movzx eax, byte ptr [rsp + 144] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 152] # 1-byte Folded Reload shl al, 5 or al, dil movzx ecx, byte ptr [rsp + 136] # 1-byte Folded Reload @@ -25560,51 +26714,51 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 shl r8b, 7 or r8b, cl or r8b, al - mov byte ptr [r12 + 1], r8b - movzx eax, byte ptr [rsp + 104] # 1-byte Folded Reload + mov byte ptr [r13 + 1], r8b + movzx eax, byte ptr [rsp + 120] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 176] # 1-byte Folded Reload + add al, byte ptr [rsp + 144] # 1-byte Folded Reload mov ecx, eax - movzx eax, byte ptr [rsp + 112] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 128] # 1-byte Folded Reload shl al, 2 or al, cl mov ecx, eax - movzx eax, byte ptr [rsp + 120] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 88] # 1-byte Folded Reload shl al, 3 or al, cl mov ecx, eax - movzx eax, byte ptr [rsp + 72] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 96] # 1-byte Folded Reload shl al, 4 or al, cl mov ecx, eax - movzx eax, byte ptr [rsp + 80] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 104] # 1-byte Folded Reload shl al, 5 or al, cl mov ecx, eax - movzx edx, byte ptr [rsp + 128] # 1-byte Folded Reload + movzx edx, byte ptr [rsp + 72] # 1-byte Folded Reload shl dl, 6 - movzx eax, byte ptr [rsp + 88] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 80] # 1-byte Folded Reload shl al, 7 or al, dl or al, cl - mov byte ptr [r12 + 2], al + mov byte ptr [r13 + 2], al movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 96] # 1-byte Folded Reload + add al, byte ptr [rsp + 112] # 1-byte Folded Reload mov ecx, eax movzx eax, byte ptr [rsp + 56] # 1-byte Folded Reload shl al, 2 or al, cl mov ecx, eax - movzx eax, byte ptr [rsp + 24] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload shl al, 3 or al, cl mov ecx, eax - movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 24] # 1-byte Folded Reload shl al, 4 or al, cl mov ecx, eax - movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload shl al, 5 or al, cl mov ecx, eax @@ -25614,32 +26768,32 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 shl al, 7 or al, dl or al, cl - mov byte ptr [r12 + 3], al + mov byte ptr [r13 + 3], al add r14, 256 - add r12, 4 - mov qword ptr [rsp + 8], r12 # 8-byte Spill + add r13, 4 + mov qword ptr [rsp + 8], r13 # 8-byte Spill add qword ptr [rsp + 168], -1 # 8-byte Folded Spill - jne .LBB5_35 -# %bb.36: + jne .LBB5_36 +# %bb.37: mov r15, qword ptr [rsp + 160] # 8-byte Reload - mov r10, qword ptr [rsp + 224] # 8-byte Reload -.LBB5_37: + mov r10, qword ptr [rsp + 208] # 8-byte Reload +.LBB5_38: shl r10, 5 cmp r10, r15 - jge .LBB5_199 -# %bb.38: + jge .LBB5_198 +# %bb.39: mov r8, r15 sub r8, r10 not r10 add r10, r15 - je .LBB5_39 -# %bb.156: + je .LBB5_40 +# %bb.157: mov r9, r8 and r9, -2 xor edi, edi mov r15, qword ptr [rsp + 8] # 8-byte Reload .p2align 4, 0x90 -.LBB5_157: # =>This Inner Loop Header: Depth=1 +.LBB5_158: # =>This Inner Loop Header: Depth=1 cmp r11, qword ptr [r14] setne al neg al @@ -25667,11 +26821,11 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 xor bl, dl mov byte ptr [r15 + rsi], bl cmp r9, rdi - jne .LBB5_157 - jmp .LBB5_40 -.LBB5_56: + jne .LBB5_158 + jmp .LBB5_41 +.LBB5_57: mov al, byte ptr [rsi] - mov byte ptr [rsp + 40], al # 1-byte Spill + mov byte ptr [rsp + 64], al # 1-byte Spill lea r10, [r15 + 31] test r15, r15 cmovns r10, r15 @@ -25680,13 +26834,13 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 cmovns eax, r9d and eax, -8 sub r9d, eax - je .LBB5_60 -# %bb.57: + je .LBB5_61 +# %bb.58: movsxd rax, r9d mov rdx, qword ptr [rsp + 8] # 8-byte Reload .p2align 4, 0x90 -.LBB5_58: # =>This Inner Loop Header: Depth=1 - movzx ecx, byte ptr [rsp + 40] # 1-byte Folded Reload +.LBB5_59: # =>This Inner Loop Header: Depth=1 + movzx ecx, byte ptr [rsp + 64] # 1-byte Folded Reload cmp cl, byte ptr [r14] lea r14, [r14 + 1] setne bl @@ -25708,72 +26862,72 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 mov byte ptr [rdx + rsi], dil add rax, 1 cmp rax, 8 - jne .LBB5_58 -# %bb.59: + jne .LBB5_59 +# %bb.60: add qword ptr [rsp + 8], 1 # 8-byte Folded Spill -.LBB5_60: +.LBB5_61: sar r10, 5 cmp r15, 32 - jl .LBB5_61 -# %bb.62: + jl .LBB5_62 +# %bb.63: cmp r10, 16 mov qword ptr [rsp + 160], r15 # 8-byte Spill - mov qword ptr [rsp + 248], r10 # 8-byte Spill - jb .LBB5_63 -# %bb.64: + mov qword ptr [rsp + 264], r10 # 8-byte Spill + jb .LBB5_64 +# %bb.65: mov rax, r10 shl rax, 5 add rax, r14 cmp qword ptr [rsp + 8], rax # 8-byte Folded Reload - jae .LBB5_66 -# %bb.65: + jae .LBB5_67 +# %bb.66: mov rax, qword ptr [rsp + 8] # 8-byte Reload lea rax, [rax + 4*r10] cmp r14, rax - jae .LBB5_66 -.LBB5_63: + jae .LBB5_67 +.LBB5_64: xor eax, eax - mov qword ptr [rsp + 216], rax # 8-byte Spill + mov qword ptr [rsp + 232], rax # 8-byte Spill mov rax, qword ptr [rsp + 8] # 8-byte Reload - mov qword ptr [rsp + 88], rax # 8-byte Spill -.LBB5_69: - sub r10, qword ptr [rsp + 216] # 8-byte Folded Reload - mov qword ptr [rsp + 224], r10 # 8-byte Spill + mov qword ptr [rsp + 104], rax # 8-byte Spill +.LBB5_70: + sub r10, qword ptr [rsp + 232] # 8-byte Folded Reload + mov qword ptr [rsp + 208], r10 # 8-byte Spill .p2align 4, 0x90 -.LBB5_70: # =>This Inner Loop Header: Depth=1 - movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload +.LBB5_71: # =>This Inner Loop Header: Depth=1 + movzx eax, byte ptr [rsp + 64] # 1-byte Folded Reload cmp al, byte ptr [r14 + 31] setne byte ptr [rsp + 8] # 1-byte Folded Spill cmp al, byte ptr [r14 + 30] setne byte ptr [rsp + 16] # 1-byte Folded Spill cmp al, byte ptr [r14 + 29] - setne byte ptr [rsp + 64] # 1-byte Folded Spill - cmp al, byte ptr [r14 + 28] setne byte ptr [rsp + 32] # 1-byte Folded Spill - cmp al, byte ptr [r14 + 27] + cmp al, byte ptr [r14 + 28] setne byte ptr [rsp + 24] # 1-byte Folded Spill + cmp al, byte ptr [r14 + 27] + setne byte ptr [rsp + 40] # 1-byte Folded Spill cmp al, byte ptr [r14 + 26] setne byte ptr [rsp + 56] # 1-byte Folded Spill cmp al, byte ptr [r14 + 25] setne byte ptr [rsp + 48] # 1-byte Folded Spill cmp al, byte ptr [r14 + 23] - setne byte ptr [rsp + 128] # 1-byte Folded Spill - cmp al, byte ptr [r14 + 22] setne byte ptr [rsp + 80] # 1-byte Folded Spill - cmp al, byte ptr [r14 + 21] + cmp al, byte ptr [r14 + 22] setne byte ptr [rsp + 72] # 1-byte Folded Spill + cmp al, byte ptr [r14 + 21] + setne byte ptr [rsp + 96] # 1-byte Folded Spill cmp al, byte ptr [r14 + 20] - setne byte ptr [rsp + 120] # 1-byte Folded Spill + setne byte ptr [rsp + 88] # 1-byte Folded Spill cmp al, byte ptr [r14 + 19] - setne byte ptr [rsp + 112] # 1-byte Folded Spill + setne byte ptr [rsp + 128] # 1-byte Folded Spill cmp al, byte ptr [r14 + 18] - setne byte ptr [rsp + 104] # 1-byte Folded Spill + setne byte ptr [rsp + 120] # 1-byte Folded Spill cmp al, byte ptr [r14 + 17] - setne byte ptr [rsp + 96] # 1-byte Folded Spill + setne byte ptr [rsp + 112] # 1-byte Folded Spill cmp al, byte ptr [r14 + 15] setne r10b cmp al, byte ptr [r14 + 14] - setne byte ptr [rsp + 144] # 1-byte Folded Spill + setne byte ptr [rsp + 152] # 1-byte Folded Spill cmp al, byte ptr [r14 + 13] setne r13b cmp al, byte ptr [r14 + 12] @@ -25787,7 +26941,7 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 cmp al, byte ptr [r14 + 7] setne sil cmp al, byte ptr [r14 + 6] - setne byte ptr [rsp + 192] # 1-byte Folded Spill + setne byte ptr [rsp + 176] # 1-byte Folded Spill cmp al, byte ptr [r14 + 5] setne r9b cmp al, byte ptr [r14 + 4] @@ -25801,9 +26955,9 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 cmp al, byte ptr [r14 + 1] setne cl cmp al, byte ptr [r14 + 8] - setne byte ptr [rsp + 152] # 1-byte Folded Spill + setne byte ptr [rsp + 192] # 1-byte Folded Spill cmp al, byte ptr [r14 + 16] - setne byte ptr [rsp + 176] # 1-byte Folded Spill + setne byte ptr [rsp + 144] # 1-byte Folded Spill cmp al, byte ptr [r14 + 24] setne byte ptr [rsp + 136] # 1-byte Folded Spill add cl, cl @@ -25816,15 +26970,15 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 or r8b, dil shl r9b, 5 or r9b, r8b - movzx eax, byte ptr [rsp + 192] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 176] # 1-byte Folded Reload shl al, 6 shl sil, 7 or sil, al or sil, r9b - mov rax, qword ptr [rsp + 88] # 8-byte Reload + mov rax, qword ptr [rsp + 104] # 8-byte Reload mov byte ptr [rax], sil add r11b, r11b - add r11b, byte ptr [rsp + 152] # 1-byte Folded Reload + add r11b, byte ptr [rsp + 192] # 1-byte Folded Reload shl bl, 2 or bl, r11b shl r15b, 3 @@ -25833,35 +26987,35 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 or r12b, r15b shl r13b, 5 or r13b, r12b - movzx ecx, byte ptr [rsp + 144] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 152] # 1-byte Folded Reload shl cl, 6 shl r10b, 7 or r10b, cl or r10b, r13b mov byte ptr [rax + 1], r10b - movzx ecx, byte ptr [rsp + 96] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 112] # 1-byte Folded Reload add cl, cl - add cl, byte ptr [rsp + 176] # 1-byte Folded Reload + add cl, byte ptr [rsp + 144] # 1-byte Folded Reload mov edx, ecx - movzx ecx, byte ptr [rsp + 104] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 120] # 1-byte Folded Reload shl cl, 2 or cl, dl mov edx, ecx - movzx ecx, byte ptr [rsp + 112] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 128] # 1-byte Folded Reload shl cl, 3 or cl, dl mov edx, ecx - movzx ecx, byte ptr [rsp + 120] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 88] # 1-byte Folded Reload shl cl, 4 or cl, dl mov edx, ecx - movzx ecx, byte ptr [rsp + 72] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 96] # 1-byte Folded Reload shl cl, 5 or cl, dl mov edx, ecx - movzx ebx, byte ptr [rsp + 80] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 72] # 1-byte Folded Reload shl bl, 6 - movzx ecx, byte ptr [rsp + 128] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 80] # 1-byte Folded Reload shl cl, 7 or cl, bl or cl, dl @@ -25874,15 +27028,15 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 shl cl, 2 or cl, dl mov edx, ecx - movzx ecx, byte ptr [rsp + 24] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 40] # 1-byte Folded Reload shl cl, 3 or cl, dl mov edx, ecx - movzx ecx, byte ptr [rsp + 32] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 24] # 1-byte Folded Reload shl cl, 4 or cl, dl mov edx, ecx - movzx ecx, byte ptr [rsp + 64] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 32] # 1-byte Folded Reload shl cl, 5 or cl, dl mov edx, ecx @@ -25895,14 +27049,14 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 mov byte ptr [rax + 3], cl add r14, 32 add rax, 4 - mov qword ptr [rsp + 88], rax # 8-byte Spill - add qword ptr [rsp + 224], -1 # 8-byte Folded Spill - jne .LBB5_70 -# %bb.71: + mov qword ptr [rsp + 104], rax # 8-byte Spill + add qword ptr [rsp + 208], -1 # 8-byte Folded Spill + jne .LBB5_71 +# %bb.72: mov r15, qword ptr [rsp + 160] # 8-byte Reload - mov r10, qword ptr [rsp + 248] # 8-byte Reload - jmp .LBB5_72 -.LBB5_144: + mov r10, qword ptr [rsp + 264] # 8-byte Reload + jmp .LBB5_73 +.LBB5_145: mov r11d, dword ptr [rsi] lea r10, [r15 + 31] test r15, r15 @@ -25912,12 +27066,12 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 cmovns eax, r9d and eax, -8 sub r9d, eax - je .LBB5_148 -# %bb.145: + je .LBB5_149 +# %bb.146: movsxd rax, r9d mov r8, qword ptr [rsp + 8] # 8-byte Reload .p2align 4, 0x90 -.LBB5_146: # =>This Inner Loop Header: Depth=1 +.LBB5_147: # =>This Inner Loop Header: Depth=1 cmp r11d, dword ptr [r14] lea r14, [r14 + 4] setne dl @@ -25939,53 +27093,53 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 mov byte ptr [r8 + rsi], dil add rax, 1 cmp rax, 8 - jne .LBB5_146 -# %bb.147: + jne .LBB5_147 +# %bb.148: add qword ptr [rsp + 8], 1 # 8-byte Folded Spill -.LBB5_148: +.LBB5_149: sar r10, 5 cmp r15, 32 - jl .LBB5_152 -# %bb.149: + jl .LBB5_153 +# %bb.150: mov qword ptr [rsp + 160], r15 # 8-byte Spill - mov qword ptr [rsp + 224], r10 # 8-byte Spill + mov qword ptr [rsp + 208], r10 # 8-byte Spill mov qword ptr [rsp + 168], r10 # 8-byte Spill .p2align 4, 0x90 -.LBB5_150: # =>This Inner Loop Header: Depth=1 +.LBB5_151: # =>This Inner Loop Header: Depth=1 cmp r11d, dword ptr [r14 + 124] setne byte ptr [rsp + 16] # 1-byte Folded Spill cmp r11d, dword ptr [r14 + 120] setne byte ptr [rsp + 64] # 1-byte Folded Spill cmp r11d, dword ptr [r14 + 116] - setne byte ptr [rsp + 40] # 1-byte Folded Spill - cmp r11d, dword ptr [r14 + 112] setne byte ptr [rsp + 32] # 1-byte Folded Spill - cmp r11d, dword ptr [r14 + 108] + cmp r11d, dword ptr [r14 + 112] setne byte ptr [rsp + 24] # 1-byte Folded Spill + cmp r11d, dword ptr [r14 + 108] + setne byte ptr [rsp + 40] # 1-byte Folded Spill cmp r11d, dword ptr [r14 + 104] setne byte ptr [rsp + 56] # 1-byte Folded Spill cmp r11d, dword ptr [r14 + 100] setne byte ptr [rsp + 48] # 1-byte Folded Spill cmp r11d, dword ptr [r14 + 92] - setne byte ptr [rsp + 88] # 1-byte Folded Spill + setne byte ptr [rsp + 80] # 1-byte Folded Spill cmp r11d, dword ptr [r14 + 88] - setne byte ptr [rsp + 128] # 1-byte Folded Spill + setne byte ptr [rsp + 72] # 1-byte Folded Spill cmp r11d, dword ptr [r14 + 84] - setne byte ptr [rsp + 80] # 1-byte Folded Spill + setne byte ptr [rsp + 104] # 1-byte Folded Spill cmp r11d, dword ptr [r14 + 80] - setne byte ptr [rsp + 72] # 1-byte Folded Spill + setne byte ptr [rsp + 96] # 1-byte Folded Spill cmp r11d, dword ptr [r14 + 76] - setne byte ptr [rsp + 120] # 1-byte Folded Spill + setne byte ptr [rsp + 88] # 1-byte Folded Spill cmp r11d, dword ptr [r14 + 72] - setne byte ptr [rsp + 112] # 1-byte Folded Spill + setne byte ptr [rsp + 128] # 1-byte Folded Spill cmp r11d, dword ptr [r14 + 68] - setne byte ptr [rsp + 104] # 1-byte Folded Spill + setne byte ptr [rsp + 120] # 1-byte Folded Spill cmp r11d, dword ptr [r14 + 60] setne r8b cmp r11d, dword ptr [r14 + 56] setne byte ptr [rsp + 136] # 1-byte Folded Spill cmp r11d, dword ptr [r14 + 52] - setne byte ptr [rsp + 144] # 1-byte Folded Spill + setne byte ptr [rsp + 152] # 1-byte Folded Spill cmp r11d, dword ptr [r14 + 48] setne dil cmp r11d, dword ptr [r14 + 44] @@ -26005,24 +27159,24 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 cmp r11d, dword ptr [r14 + 12] setne r15b cmp r11d, dword ptr [r14 + 8] - setne r13b + setne r12b cmp r11d, dword ptr [r14] - setne byte ptr [rsp + 152] # 1-byte Folded Spill + setne byte ptr [rsp + 192] # 1-byte Folded Spill cmp r11d, dword ptr [r14 + 4] - setne r12b + setne r13b cmp r11d, dword ptr [r14 + 32] - setne byte ptr [rsp + 192] # 1-byte Folded Spill - cmp r11d, dword ptr [r14 + 64] setne byte ptr [rsp + 176] # 1-byte Folded Spill + cmp r11d, dword ptr [r14 + 64] + setne byte ptr [rsp + 144] # 1-byte Folded Spill cmp r11d, dword ptr [r14 + 96] - setne byte ptr [rsp + 96] # 1-byte Folded Spill - add r12b, r12b - add r12b, byte ptr [rsp + 152] # 1-byte Folded Reload - shl r13b, 2 - or r13b, r12b - mov r12, qword ptr [rsp + 8] # 8-byte Reload + setne byte ptr [rsp + 112] # 1-byte Folded Spill + add r13b, r13b + add r13b, byte ptr [rsp + 192] # 1-byte Folded Reload + shl r12b, 2 + or r12b, r13b + mov r13, qword ptr [rsp + 8] # 8-byte Reload shl r15b, 3 - or r15b, r13b + or r15b, r12b shl dl, 4 or dl, r15b shl cl, 5 @@ -26031,16 +27185,16 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 shl al, 7 or al, bl or al, cl - mov byte ptr [r12], al + mov byte ptr [r13], al add sil, sil - add sil, byte ptr [rsp + 192] # 1-byte Folded Reload + add sil, byte ptr [rsp + 176] # 1-byte Folded Reload shl r9b, 2 or r9b, sil shl r10b, 3 or r10b, r9b shl dil, 4 or dil, r10b - movzx eax, byte ptr [rsp + 144] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 152] # 1-byte Folded Reload shl al, 5 or al, dil movzx ecx, byte ptr [rsp + 136] # 1-byte Folded Reload @@ -26048,51 +27202,51 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 shl r8b, 7 or r8b, cl or r8b, al - mov byte ptr [r12 + 1], r8b - movzx eax, byte ptr [rsp + 104] # 1-byte Folded Reload + mov byte ptr [r13 + 1], r8b + movzx eax, byte ptr [rsp + 120] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 176] # 1-byte Folded Reload + add al, byte ptr [rsp + 144] # 1-byte Folded Reload mov ecx, eax - movzx eax, byte ptr [rsp + 112] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 128] # 1-byte Folded Reload shl al, 2 or al, cl mov ecx, eax - movzx eax, byte ptr [rsp + 120] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 88] # 1-byte Folded Reload shl al, 3 or al, cl mov ecx, eax - movzx eax, byte ptr [rsp + 72] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 96] # 1-byte Folded Reload shl al, 4 or al, cl mov ecx, eax - movzx eax, byte ptr [rsp + 80] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 104] # 1-byte Folded Reload shl al, 5 or al, cl mov ecx, eax - movzx edx, byte ptr [rsp + 128] # 1-byte Folded Reload + movzx edx, byte ptr [rsp + 72] # 1-byte Folded Reload shl dl, 6 - movzx eax, byte ptr [rsp + 88] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 80] # 1-byte Folded Reload shl al, 7 or al, dl or al, cl - mov byte ptr [r12 + 2], al + mov byte ptr [r13 + 2], al movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 96] # 1-byte Folded Reload + add al, byte ptr [rsp + 112] # 1-byte Folded Reload mov ecx, eax movzx eax, byte ptr [rsp + 56] # 1-byte Folded Reload shl al, 2 or al, cl mov ecx, eax - movzx eax, byte ptr [rsp + 24] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload shl al, 3 or al, cl mov ecx, eax - movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 24] # 1-byte Folded Reload shl al, 4 or al, cl mov ecx, eax - movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload shl al, 5 or al, cl mov ecx, eax @@ -26102,29 +27256,29 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 shl al, 7 or al, dl or al, cl - mov byte ptr [r12 + 3], al + mov byte ptr [r13 + 3], al sub r14, -128 - add r12, 4 - mov qword ptr [rsp + 8], r12 # 8-byte Spill + add r13, 4 + mov qword ptr [rsp + 8], r13 # 8-byte Spill add qword ptr [rsp + 168], -1 # 8-byte Folded Spill - jne .LBB5_150 -# %bb.151: + jne .LBB5_151 +# %bb.152: mov r15, qword ptr [rsp + 160] # 8-byte Reload - mov r10, qword ptr [rsp + 224] # 8-byte Reload -.LBB5_152: + mov r10, qword ptr [rsp + 208] # 8-byte Reload +.LBB5_153: shl r10, 5 cmp r10, r15 - jge .LBB5_199 -# %bb.153: + jge .LBB5_198 +# %bb.154: mov r8, r15 sub r8, r10 not r10 add r10, r15 - jne .LBB5_154 + jne .LBB5_155 .LBB5_23: xor edi, edi jmp .LBB5_24 -.LBB5_99: +.LBB5_100: movzx r11d, word ptr [rsi] lea r10, [r15 + 31] test r15, r15 @@ -26134,12 +27288,12 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 cmovns eax, r9d and eax, -8 sub r9d, eax - je .LBB5_103 -# %bb.100: + je .LBB5_104 +# %bb.101: movsxd rax, r9d mov rdx, qword ptr [rsp + 8] # 8-byte Reload .p2align 4, 0x90 -.LBB5_101: # =>This Inner Loop Header: Depth=1 +.LBB5_102: # =>This Inner Loop Header: Depth=1 cmp r11w, word ptr [r14] lea r14, [r14 + 2] setne bl @@ -26161,73 +27315,73 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 mov byte ptr [rdx + rsi], dil add rax, 1 cmp rax, 8 - jne .LBB5_101 -# %bb.102: + jne .LBB5_102 +# %bb.103: add qword ptr [rsp + 8], 1 # 8-byte Folded Spill -.LBB5_103: +.LBB5_104: sar r10, 5 cmp r15, 32 - jl .LBB5_104 -# %bb.105: + jl .LBB5_105 +# %bb.106: cmp r10, 8 mov dword ptr [rsp + 16], r11d # 4-byte Spill mov qword ptr [rsp + 160], r15 # 8-byte Spill - mov qword ptr [rsp + 224], r10 # 8-byte Spill - jb .LBB5_106 -# %bb.107: + mov qword ptr [rsp + 208], r10 # 8-byte Spill + jb .LBB5_107 +# %bb.108: mov rax, r10 shl rax, 6 add rax, r14 cmp qword ptr [rsp + 8], rax # 8-byte Folded Reload - jae .LBB5_109 -# %bb.108: + jae .LBB5_110 +# %bb.109: mov rax, qword ptr [rsp + 8] # 8-byte Reload lea rax, [rax + 4*r10] cmp rax, r14 - jbe .LBB5_109 -.LBB5_106: + jbe .LBB5_110 +.LBB5_107: xor eax, eax - mov qword ptr [rsp + 24], rax # 8-byte Spill + mov qword ptr [rsp + 40], rax # 8-byte Spill mov r12, qword ptr [rsp + 8] # 8-byte Reload -.LBB5_112: - sub r10, qword ptr [rsp + 24] # 8-byte Folded Reload +.LBB5_113: + sub r10, qword ptr [rsp + 40] # 8-byte Folded Reload mov qword ptr [rsp + 168], r10 # 8-byte Spill .p2align 4, 0x90 -.LBB5_113: # =>This Inner Loop Header: Depth=1 +.LBB5_114: # =>This Inner Loop Header: Depth=1 cmp r11w, word ptr [r14 + 62] setne byte ptr [rsp + 8] # 1-byte Folded Spill cmp r11w, word ptr [r14 + 60] setne byte ptr [rsp + 64] # 1-byte Folded Spill cmp r11w, word ptr [r14 + 58] - setne byte ptr [rsp + 40] # 1-byte Folded Spill - cmp r11w, word ptr [r14 + 56] setne byte ptr [rsp + 32] # 1-byte Folded Spill - cmp r11w, word ptr [r14 + 54] + cmp r11w, word ptr [r14 + 56] setne byte ptr [rsp + 24] # 1-byte Folded Spill + cmp r11w, word ptr [r14 + 54] + setne byte ptr [rsp + 40] # 1-byte Folded Spill cmp r11w, word ptr [r14 + 52] setne byte ptr [rsp + 56] # 1-byte Folded Spill cmp r11w, word ptr [r14 + 50] setne byte ptr [rsp + 48] # 1-byte Folded Spill cmp r11w, word ptr [r14 + 46] - setne byte ptr [rsp + 88] # 1-byte Folded Spill - cmp r11w, word ptr [r14 + 44] setne byte ptr [rsp + 80] # 1-byte Folded Spill + cmp r11w, word ptr [r14 + 44] + setne byte ptr [rsp + 104] # 1-byte Folded Spill cmp r11w, word ptr [r14 + 42] - setne byte ptr [rsp + 128] # 1-byte Folded Spill - cmp r11w, word ptr [r14 + 40] setne byte ptr [rsp + 72] # 1-byte Folded Spill + cmp r11w, word ptr [r14 + 40] + setne byte ptr [rsp + 96] # 1-byte Folded Spill cmp r11w, word ptr [r14 + 38] - setne byte ptr [rsp + 120] # 1-byte Folded Spill + setne byte ptr [rsp + 88] # 1-byte Folded Spill cmp r11w, word ptr [r14 + 36] - setne byte ptr [rsp + 112] # 1-byte Folded Spill + setne byte ptr [rsp + 128] # 1-byte Folded Spill cmp r11w, word ptr [r14 + 34] - setne byte ptr [rsp + 104] # 1-byte Folded Spill + setne byte ptr [rsp + 120] # 1-byte Folded Spill cmp r11w, word ptr [r14 + 30] setne r9b cmp r11w, word ptr [r14 + 28] setne byte ptr [rsp + 136] # 1-byte Folded Spill cmp r11w, word ptr [r14 + 26] - setne byte ptr [rsp + 96] # 1-byte Folded Spill + setne byte ptr [rsp + 112] # 1-byte Folded Spill cmp r11w, word ptr [r14 + 24] setne r13b cmp r11w, word ptr [r14 + 22] @@ -26242,7 +27396,7 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 setne dl mov eax, dword ptr [rsp + 16] # 4-byte Reload cmp ax, word ptr [r14 + 12] - setne byte ptr [rsp + 176] # 1-byte Folded Spill + setne byte ptr [rsp + 144] # 1-byte Folded Spill mov eax, dword ptr [rsp + 16] # 4-byte Reload cmp ax, word ptr [r14 + 10] setne r8b @@ -26257,7 +27411,7 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 setne cl mov eax, dword ptr [rsp + 16] # 4-byte Reload cmp ax, word ptr [r14] - setne byte ptr [rsp + 152] # 1-byte Folded Spill + setne byte ptr [rsp + 192] # 1-byte Folded Spill mov eax, dword ptr [rsp + 16] # 4-byte Reload cmp ax, word ptr [r14 + 2] setne al @@ -26265,15 +27419,15 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 mov r12d, dword ptr [rsp + 16] # 4-byte Reload cmp r12w, word ptr [r14 + 16] mov r12, rbx - setne byte ptr [rsp + 192] # 1-byte Folded Spill + setne byte ptr [rsp + 176] # 1-byte Folded Spill mov ebx, dword ptr [rsp + 16] # 4-byte Reload cmp bx, word ptr [r14 + 32] - setne byte ptr [rsp + 144] # 1-byte Folded Spill + setne byte ptr [rsp + 152] # 1-byte Folded Spill mov ebx, dword ptr [rsp + 16] # 4-byte Reload cmp bx, word ptr [r14 + 48] setne bl add al, al - add al, byte ptr [rsp + 152] # 1-byte Folded Reload + add al, byte ptr [rsp + 192] # 1-byte Folded Reload shl cl, 2 or cl, al shl sil, 3 @@ -26282,14 +27436,14 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 or dil, sil shl r8b, 5 or r8b, dil - movzx eax, byte ptr [rsp + 176] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 144] # 1-byte Folded Reload shl al, 6 shl dl, 7 or dl, al or dl, r8b mov byte ptr [r12], dl add r10b, r10b - add r10b, byte ptr [rsp + 192] # 1-byte Folded Reload + add r10b, byte ptr [rsp + 176] # 1-byte Folded Reload shl r11b, 2 or r11b, r10b shl r15b, 3 @@ -26297,7 +27451,7 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 mov r11d, dword ptr [rsp + 16] # 4-byte Reload shl r13b, 4 or r13b, r15b - movzx eax, byte ptr [rsp + 96] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 112] # 1-byte Folded Reload shl al, 5 or al, r13b movzx ecx, byte ptr [rsp + 136] # 1-byte Folded Reload @@ -26306,29 +27460,29 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 or r9b, cl or r9b, al mov byte ptr [r12 + 1], r9b - movzx eax, byte ptr [rsp + 104] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 120] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 144] # 1-byte Folded Reload + add al, byte ptr [rsp + 152] # 1-byte Folded Reload mov ecx, eax - movzx eax, byte ptr [rsp + 112] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 128] # 1-byte Folded Reload shl al, 2 or al, cl mov ecx, eax - movzx eax, byte ptr [rsp + 120] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 88] # 1-byte Folded Reload shl al, 3 or al, cl mov ecx, eax - movzx eax, byte ptr [rsp + 72] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 96] # 1-byte Folded Reload shl al, 4 or al, cl mov ecx, eax - movzx eax, byte ptr [rsp + 128] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 72] # 1-byte Folded Reload shl al, 5 or al, cl mov ecx, eax - movzx edx, byte ptr [rsp + 80] # 1-byte Folded Reload + movzx edx, byte ptr [rsp + 104] # 1-byte Folded Reload shl dl, 6 - movzx eax, byte ptr [rsp + 88] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 80] # 1-byte Folded Reload shl al, 7 or al, dl or al, cl @@ -26341,15 +27495,15 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 shl al, 2 or al, cl mov ecx, eax - movzx eax, byte ptr [rsp + 24] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload shl al, 3 or al, cl mov ecx, eax - movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 24] # 1-byte Folded Reload shl al, 4 or al, cl mov ecx, eax - movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload shl al, 5 or al, cl mov ecx, eax @@ -26363,12 +27517,12 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 add r14, 64 add r12, 4 add qword ptr [rsp + 168], -1 # 8-byte Folded Spill - jne .LBB5_113 -# %bb.114: + jne .LBB5_114 +# %bb.115: mov r15, qword ptr [rsp + 160] # 8-byte Reload - mov r10, qword ptr [rsp + 224] # 8-byte Reload - jmp .LBB5_115 -.LBB5_122: + mov r10, qword ptr [rsp + 208] # 8-byte Reload + jmp .LBB5_116 +.LBB5_123: movzx r11d, word ptr [rsi] lea r10, [r15 + 31] test r15, r15 @@ -26378,12 +27532,12 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 cmovns eax, r9d and eax, -8 sub r9d, eax - je .LBB5_126 -# %bb.123: + je .LBB5_127 +# %bb.124: movsxd rax, r9d mov rdx, qword ptr [rsp + 8] # 8-byte Reload .p2align 4, 0x90 -.LBB5_124: # =>This Inner Loop Header: Depth=1 +.LBB5_125: # =>This Inner Loop Header: Depth=1 cmp r11w, word ptr [r14] lea r14, [r14 + 2] setne bl @@ -26405,73 +27559,73 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 mov byte ptr [rdx + rsi], dil add rax, 1 cmp rax, 8 - jne .LBB5_124 -# %bb.125: + jne .LBB5_125 +# %bb.126: add qword ptr [rsp + 8], 1 # 8-byte Folded Spill -.LBB5_126: +.LBB5_127: sar r10, 5 cmp r15, 32 - jl .LBB5_127 -# %bb.128: + jl .LBB5_128 +# %bb.129: cmp r10, 8 mov dword ptr [rsp + 16], r11d # 4-byte Spill mov qword ptr [rsp + 160], r15 # 8-byte Spill - mov qword ptr [rsp + 224], r10 # 8-byte Spill - jb .LBB5_129 -# %bb.130: + mov qword ptr [rsp + 208], r10 # 8-byte Spill + jb .LBB5_130 +# %bb.131: mov rax, r10 shl rax, 6 add rax, r14 cmp qword ptr [rsp + 8], rax # 8-byte Folded Reload - jae .LBB5_132 -# %bb.131: + jae .LBB5_133 +# %bb.132: mov rax, qword ptr [rsp + 8] # 8-byte Reload lea rax, [rax + 4*r10] cmp rax, r14 - jbe .LBB5_132 -.LBB5_129: + jbe .LBB5_133 +.LBB5_130: xor eax, eax - mov qword ptr [rsp + 24], rax # 8-byte Spill + mov qword ptr [rsp + 40], rax # 8-byte Spill mov r12, qword ptr [rsp + 8] # 8-byte Reload -.LBB5_135: - sub r10, qword ptr [rsp + 24] # 8-byte Folded Reload +.LBB5_136: + sub r10, qword ptr [rsp + 40] # 8-byte Folded Reload mov qword ptr [rsp + 168], r10 # 8-byte Spill .p2align 4, 0x90 -.LBB5_136: # =>This Inner Loop Header: Depth=1 +.LBB5_137: # =>This Inner Loop Header: Depth=1 cmp r11w, word ptr [r14 + 62] setne byte ptr [rsp + 8] # 1-byte Folded Spill cmp r11w, word ptr [r14 + 60] setne byte ptr [rsp + 64] # 1-byte Folded Spill cmp r11w, word ptr [r14 + 58] - setne byte ptr [rsp + 40] # 1-byte Folded Spill - cmp r11w, word ptr [r14 + 56] setne byte ptr [rsp + 32] # 1-byte Folded Spill - cmp r11w, word ptr [r14 + 54] + cmp r11w, word ptr [r14 + 56] setne byte ptr [rsp + 24] # 1-byte Folded Spill + cmp r11w, word ptr [r14 + 54] + setne byte ptr [rsp + 40] # 1-byte Folded Spill cmp r11w, word ptr [r14 + 52] setne byte ptr [rsp + 56] # 1-byte Folded Spill cmp r11w, word ptr [r14 + 50] setne byte ptr [rsp + 48] # 1-byte Folded Spill cmp r11w, word ptr [r14 + 46] - setne byte ptr [rsp + 88] # 1-byte Folded Spill - cmp r11w, word ptr [r14 + 44] setne byte ptr [rsp + 80] # 1-byte Folded Spill + cmp r11w, word ptr [r14 + 44] + setne byte ptr [rsp + 104] # 1-byte Folded Spill cmp r11w, word ptr [r14 + 42] - setne byte ptr [rsp + 128] # 1-byte Folded Spill - cmp r11w, word ptr [r14 + 40] setne byte ptr [rsp + 72] # 1-byte Folded Spill + cmp r11w, word ptr [r14 + 40] + setne byte ptr [rsp + 96] # 1-byte Folded Spill cmp r11w, word ptr [r14 + 38] - setne byte ptr [rsp + 120] # 1-byte Folded Spill + setne byte ptr [rsp + 88] # 1-byte Folded Spill cmp r11w, word ptr [r14 + 36] - setne byte ptr [rsp + 112] # 1-byte Folded Spill + setne byte ptr [rsp + 128] # 1-byte Folded Spill cmp r11w, word ptr [r14 + 34] - setne byte ptr [rsp + 104] # 1-byte Folded Spill + setne byte ptr [rsp + 120] # 1-byte Folded Spill cmp r11w, word ptr [r14 + 30] setne r9b cmp r11w, word ptr [r14 + 28] setne byte ptr [rsp + 136] # 1-byte Folded Spill cmp r11w, word ptr [r14 + 26] - setne byte ptr [rsp + 96] # 1-byte Folded Spill + setne byte ptr [rsp + 112] # 1-byte Folded Spill cmp r11w, word ptr [r14 + 24] setne r13b cmp r11w, word ptr [r14 + 22] @@ -26486,7 +27640,7 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 setne dl mov eax, dword ptr [rsp + 16] # 4-byte Reload cmp ax, word ptr [r14 + 12] - setne byte ptr [rsp + 176] # 1-byte Folded Spill + setne byte ptr [rsp + 144] # 1-byte Folded Spill mov eax, dword ptr [rsp + 16] # 4-byte Reload cmp ax, word ptr [r14 + 10] setne r8b @@ -26501,7 +27655,7 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 setne cl mov eax, dword ptr [rsp + 16] # 4-byte Reload cmp ax, word ptr [r14] - setne byte ptr [rsp + 152] # 1-byte Folded Spill + setne byte ptr [rsp + 192] # 1-byte Folded Spill mov eax, dword ptr [rsp + 16] # 4-byte Reload cmp ax, word ptr [r14 + 2] setne al @@ -26509,15 +27663,15 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 mov r12d, dword ptr [rsp + 16] # 4-byte Reload cmp r12w, word ptr [r14 + 16] mov r12, rbx - setne byte ptr [rsp + 192] # 1-byte Folded Spill + setne byte ptr [rsp + 176] # 1-byte Folded Spill mov ebx, dword ptr [rsp + 16] # 4-byte Reload cmp bx, word ptr [r14 + 32] - setne byte ptr [rsp + 144] # 1-byte Folded Spill + setne byte ptr [rsp + 152] # 1-byte Folded Spill mov ebx, dword ptr [rsp + 16] # 4-byte Reload cmp bx, word ptr [r14 + 48] setne bl add al, al - add al, byte ptr [rsp + 152] # 1-byte Folded Reload + add al, byte ptr [rsp + 192] # 1-byte Folded Reload shl cl, 2 or cl, al shl sil, 3 @@ -26526,14 +27680,14 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 or dil, sil shl r8b, 5 or r8b, dil - movzx eax, byte ptr [rsp + 176] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 144] # 1-byte Folded Reload shl al, 6 shl dl, 7 or dl, al or dl, r8b mov byte ptr [r12], dl add r10b, r10b - add r10b, byte ptr [rsp + 192] # 1-byte Folded Reload + add r10b, byte ptr [rsp + 176] # 1-byte Folded Reload shl r11b, 2 or r11b, r10b shl r15b, 3 @@ -26541,7 +27695,7 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 mov r11d, dword ptr [rsp + 16] # 4-byte Reload shl r13b, 4 or r13b, r15b - movzx eax, byte ptr [rsp + 96] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 112] # 1-byte Folded Reload shl al, 5 or al, r13b movzx ecx, byte ptr [rsp + 136] # 1-byte Folded Reload @@ -26550,29 +27704,29 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 or r9b, cl or r9b, al mov byte ptr [r12 + 1], r9b - movzx eax, byte ptr [rsp + 104] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 120] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 144] # 1-byte Folded Reload + add al, byte ptr [rsp + 152] # 1-byte Folded Reload mov ecx, eax - movzx eax, byte ptr [rsp + 112] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 128] # 1-byte Folded Reload shl al, 2 or al, cl mov ecx, eax - movzx eax, byte ptr [rsp + 120] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 88] # 1-byte Folded Reload shl al, 3 or al, cl mov ecx, eax - movzx eax, byte ptr [rsp + 72] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 96] # 1-byte Folded Reload shl al, 4 or al, cl mov ecx, eax - movzx eax, byte ptr [rsp + 128] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 72] # 1-byte Folded Reload shl al, 5 or al, cl mov ecx, eax - movzx edx, byte ptr [rsp + 80] # 1-byte Folded Reload + movzx edx, byte ptr [rsp + 104] # 1-byte Folded Reload shl dl, 6 - movzx eax, byte ptr [rsp + 88] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 80] # 1-byte Folded Reload shl al, 7 or al, dl or al, cl @@ -26585,15 +27739,15 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 shl al, 2 or al, cl mov ecx, eax - movzx eax, byte ptr [rsp + 24] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload shl al, 3 or al, cl mov ecx, eax - movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 24] # 1-byte Folded Reload shl al, 4 or al, cl mov ecx, eax - movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload shl al, 5 or al, cl mov ecx, eax @@ -26607,12 +27761,12 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 add r14, 64 add r12, 4 add qword ptr [rsp + 168], -1 # 8-byte Folded Spill - jne .LBB5_136 -# %bb.137: + jne .LBB5_137 +# %bb.138: mov r15, qword ptr [rsp + 160] # 8-byte Reload - mov r10, qword ptr [rsp + 224] # 8-byte Reload - jmp .LBB5_138 -.LBB5_158: + mov r10, qword ptr [rsp + 208] # 8-byte Reload + jmp .LBB5_139 +.LBB5_159: mov r11, qword ptr [rsi] lea r10, [r15 + 31] test r15, r15 @@ -26622,12 +27776,12 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 cmovns eax, r9d and eax, -8 sub r9d, eax - je .LBB5_162 -# %bb.159: + je .LBB5_163 +# %bb.160: movsxd rax, r9d mov r8, qword ptr [rsp + 8] # 8-byte Reload .p2align 4, 0x90 -.LBB5_160: # =>This Inner Loop Header: Depth=1 +.LBB5_161: # =>This Inner Loop Header: Depth=1 cmp r11, qword ptr [r14] lea r14, [r14 + 8] setne dl @@ -26649,53 +27803,53 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 mov byte ptr [r8 + rsi], dil add rax, 1 cmp rax, 8 - jne .LBB5_160 -# %bb.161: + jne .LBB5_161 +# %bb.162: add qword ptr [rsp + 8], 1 # 8-byte Folded Spill -.LBB5_162: +.LBB5_163: sar r10, 5 cmp r15, 32 - jl .LBB5_166 -# %bb.163: + jl .LBB5_167 +# %bb.164: mov qword ptr [rsp + 160], r15 # 8-byte Spill - mov qword ptr [rsp + 224], r10 # 8-byte Spill + mov qword ptr [rsp + 208], r10 # 8-byte Spill mov qword ptr [rsp + 168], r10 # 8-byte Spill .p2align 4, 0x90 -.LBB5_164: # =>This Inner Loop Header: Depth=1 +.LBB5_165: # =>This Inner Loop Header: Depth=1 cmp r11, qword ptr [r14 + 248] setne byte ptr [rsp + 16] # 1-byte Folded Spill cmp r11, qword ptr [r14 + 240] setne byte ptr [rsp + 64] # 1-byte Folded Spill cmp r11, qword ptr [r14 + 232] - setne byte ptr [rsp + 40] # 1-byte Folded Spill - cmp r11, qword ptr [r14 + 224] setne byte ptr [rsp + 32] # 1-byte Folded Spill - cmp r11, qword ptr [r14 + 216] + cmp r11, qword ptr [r14 + 224] setne byte ptr [rsp + 24] # 1-byte Folded Spill + cmp r11, qword ptr [r14 + 216] + setne byte ptr [rsp + 40] # 1-byte Folded Spill cmp r11, qword ptr [r14 + 208] setne byte ptr [rsp + 56] # 1-byte Folded Spill cmp r11, qword ptr [r14 + 200] setne byte ptr [rsp + 48] # 1-byte Folded Spill cmp r11, qword ptr [r14 + 184] - setne byte ptr [rsp + 88] # 1-byte Folded Spill + setne byte ptr [rsp + 80] # 1-byte Folded Spill cmp r11, qword ptr [r14 + 176] - setne byte ptr [rsp + 128] # 1-byte Folded Spill + setne byte ptr [rsp + 72] # 1-byte Folded Spill cmp r11, qword ptr [r14 + 168] - setne byte ptr [rsp + 80] # 1-byte Folded Spill + setne byte ptr [rsp + 104] # 1-byte Folded Spill cmp r11, qword ptr [r14 + 160] - setne byte ptr [rsp + 72] # 1-byte Folded Spill + setne byte ptr [rsp + 96] # 1-byte Folded Spill cmp r11, qword ptr [r14 + 152] - setne byte ptr [rsp + 120] # 1-byte Folded Spill + setne byte ptr [rsp + 88] # 1-byte Folded Spill cmp r11, qword ptr [r14 + 144] - setne byte ptr [rsp + 112] # 1-byte Folded Spill + setne byte ptr [rsp + 128] # 1-byte Folded Spill cmp r11, qword ptr [r14 + 136] - setne byte ptr [rsp + 104] # 1-byte Folded Spill + setne byte ptr [rsp + 120] # 1-byte Folded Spill cmp r11, qword ptr [r14 + 120] setne r8b cmp r11, qword ptr [r14 + 112] setne byte ptr [rsp + 136] # 1-byte Folded Spill cmp r11, qword ptr [r14 + 104] - setne byte ptr [rsp + 144] # 1-byte Folded Spill + setne byte ptr [rsp + 152] # 1-byte Folded Spill cmp r11, qword ptr [r14 + 96] setne dil cmp r11, qword ptr [r14 + 88] @@ -26715,24 +27869,24 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 cmp r11, qword ptr [r14 + 24] setne r15b cmp r11, qword ptr [r14 + 16] - setne r13b + setne r12b cmp r11, qword ptr [r14] - setne byte ptr [rsp + 152] # 1-byte Folded Spill + setne byte ptr [rsp + 192] # 1-byte Folded Spill cmp r11, qword ptr [r14 + 8] - setne r12b + setne r13b cmp r11, qword ptr [r14 + 64] - setne byte ptr [rsp + 192] # 1-byte Folded Spill - cmp r11, qword ptr [r14 + 128] setne byte ptr [rsp + 176] # 1-byte Folded Spill + cmp r11, qword ptr [r14 + 128] + setne byte ptr [rsp + 144] # 1-byte Folded Spill cmp r11, qword ptr [r14 + 192] - setne byte ptr [rsp + 96] # 1-byte Folded Spill - add r12b, r12b - add r12b, byte ptr [rsp + 152] # 1-byte Folded Reload - shl r13b, 2 - or r13b, r12b - mov r12, qword ptr [rsp + 8] # 8-byte Reload + setne byte ptr [rsp + 112] # 1-byte Folded Spill + add r13b, r13b + add r13b, byte ptr [rsp + 192] # 1-byte Folded Reload + shl r12b, 2 + or r12b, r13b + mov r13, qword ptr [rsp + 8] # 8-byte Reload shl r15b, 3 - or r15b, r13b + or r15b, r12b shl dl, 4 or dl, r15b shl cl, 5 @@ -26741,16 +27895,16 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 shl al, 7 or al, bl or al, cl - mov byte ptr [r12], al + mov byte ptr [r13], al add sil, sil - add sil, byte ptr [rsp + 192] # 1-byte Folded Reload + add sil, byte ptr [rsp + 176] # 1-byte Folded Reload shl r9b, 2 or r9b, sil shl r10b, 3 or r10b, r9b shl dil, 4 or dil, r10b - movzx eax, byte ptr [rsp + 144] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 152] # 1-byte Folded Reload shl al, 5 or al, dil movzx ecx, byte ptr [rsp + 136] # 1-byte Folded Reload @@ -26758,51 +27912,51 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 shl r8b, 7 or r8b, cl or r8b, al - mov byte ptr [r12 + 1], r8b - movzx eax, byte ptr [rsp + 104] # 1-byte Folded Reload + mov byte ptr [r13 + 1], r8b + movzx eax, byte ptr [rsp + 120] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 176] # 1-byte Folded Reload + add al, byte ptr [rsp + 144] # 1-byte Folded Reload mov ecx, eax - movzx eax, byte ptr [rsp + 112] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 128] # 1-byte Folded Reload shl al, 2 or al, cl mov ecx, eax - movzx eax, byte ptr [rsp + 120] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 88] # 1-byte Folded Reload shl al, 3 or al, cl mov ecx, eax - movzx eax, byte ptr [rsp + 72] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 96] # 1-byte Folded Reload shl al, 4 or al, cl mov ecx, eax - movzx eax, byte ptr [rsp + 80] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 104] # 1-byte Folded Reload shl al, 5 or al, cl mov ecx, eax - movzx edx, byte ptr [rsp + 128] # 1-byte Folded Reload + movzx edx, byte ptr [rsp + 72] # 1-byte Folded Reload shl dl, 6 - movzx eax, byte ptr [rsp + 88] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 80] # 1-byte Folded Reload shl al, 7 or al, dl or al, cl - mov byte ptr [r12 + 2], al + mov byte ptr [r13 + 2], al movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 96] # 1-byte Folded Reload + add al, byte ptr [rsp + 112] # 1-byte Folded Reload mov ecx, eax movzx eax, byte ptr [rsp + 56] # 1-byte Folded Reload shl al, 2 or al, cl mov ecx, eax - movzx eax, byte ptr [rsp + 24] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload shl al, 3 or al, cl mov ecx, eax - movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 24] # 1-byte Folded Reload shl al, 4 or al, cl mov ecx, eax - movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload shl al, 5 or al, cl mov ecx, eax @@ -26812,29 +27966,29 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 shl al, 7 or al, dl or al, cl - mov byte ptr [r12 + 3], al + mov byte ptr [r13 + 3], al add r14, 256 - add r12, 4 - mov qword ptr [rsp + 8], r12 # 8-byte Spill + add r13, 4 + mov qword ptr [rsp + 8], r13 # 8-byte Spill add qword ptr [rsp + 168], -1 # 8-byte Folded Spill - jne .LBB5_164 -# %bb.165: + jne .LBB5_165 +# %bb.166: mov r15, qword ptr [rsp + 160] # 8-byte Reload - mov r10, qword ptr [rsp + 224] # 8-byte Reload -.LBB5_166: + mov r10, qword ptr [rsp + 208] # 8-byte Reload +.LBB5_167: shl r10, 5 cmp r10, r15 - jge .LBB5_199 -# %bb.167: + jge .LBB5_198 +# %bb.168: mov r8, r15 sub r8, r10 not r10 add r10, r15 - jne .LBB5_168 -.LBB5_39: + jne .LBB5_169 +.LBB5_40: xor edi, edi - jmp .LBB5_40 -.LBB5_170: + jmp .LBB5_41 +.LBB5_171: lea r10, [r15 + 31] test r15, r15 cmovns r10, r15 @@ -26844,15 +27998,17 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 and eax, -8 movss xmm0, dword ptr [rsi] # xmm0 = mem[0],zero,zero,zero sub r9d, eax - je .LBB5_174 -# %bb.171: + je .LBB5_175 +# %bb.172: movsxd rax, r9d mov r8, qword ptr [rsp + 8] # 8-byte Reload .p2align 4, 0x90 -.LBB5_172: # =>This Inner Loop Header: Depth=1 +.LBB5_173: # =>This Inner Loop Header: Depth=1 ucomiss xmm0, dword ptr [r14] lea r14, [r14 + 4] + setp cl setne dl + or dl, cl neg dl lea rsi, [rax + 7] test rax, rax @@ -26871,247 +28027,338 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 mov byte ptr [r8 + rsi], dil add rax, 1 cmp rax, 8 - jne .LBB5_172 -# %bb.173: + jne .LBB5_173 +# %bb.174: add qword ptr [rsp + 8], 1 # 8-byte Folded Spill -.LBB5_174: +.LBB5_175: sar r10, 5 cmp r15, 32 - jl .LBB5_175 -# %bb.176: + jl .LBB5_176 +# %bb.177: cmp r10, 4 - jb .LBB5_177 -# %bb.178: + jb .LBB5_178 +# %bb.179: mov rax, r10 shl rax, 7 add rax, r14 cmp qword ptr [rsp + 8], rax # 8-byte Folded Reload - jae .LBB5_180 -# %bb.179: + jae .LBB5_181 +# %bb.180: mov rax, qword ptr [rsp + 8] # 8-byte Reload lea rax, [rax + 4*r10] cmp rax, r14 - jbe .LBB5_180 -.LBB5_177: + jbe .LBB5_181 +.LBB5_178: xor r8d, r8d mov rbx, r14 - mov r11, qword ptr [rsp + 8] # 8-byte Reload -.LBB5_183: - mov qword ptr [rsp + 8], r11 # 8-byte Spill + mov r12, qword ptr [rsp + 8] # 8-byte Reload +.LBB5_184: + mov qword ptr [rsp + 16], r12 # 8-byte Spill mov qword ptr [rsp + 160], r15 # 8-byte Spill - mov qword ptr [rsp + 168], r10 # 8-byte Spill + mov qword ptr [rsp + 240], r10 # 8-byte Spill sub r10, r8 - mov qword ptr [rsp + 152], r10 # 8-byte Spill + mov qword ptr [rsp + 208], r10 # 8-byte Spill .p2align 4, 0x90 -.LBB5_184: # =>This Inner Loop Header: Depth=1 +.LBB5_185: # =>This Inner Loop Header: Depth=1 ucomiss xmm0, dword ptr [rbx] - setne byte ptr [rsp + 192] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov r13d, ecx ucomiss xmm0, dword ptr [rbx + 4] - setne r8b + setp al + setne dl + or dl, al ucomiss xmm0, dword ptr [rbx + 8] - setne r14b + setp al + setne cl + or cl, al + mov byte ptr [rsp + 24], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 12] - setne r13b + setp al + setne cl + or cl, al + mov byte ptr [rsp + 32], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 16] - setne byte ptr [rsp + 104] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 64], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 20] - setne byte ptr [rsp + 80] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 56], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 24] - setne al + setp al + setne cl + or cl, al + mov byte ptr [rsp + 48], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 28] - setne r11b + setp al + setne cl + or cl, al + mov byte ptr [rsp + 8], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 32] - setne byte ptr [rsp + 144] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 40], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 36] - setne dl + setp al + setne cl + or cl, al + mov byte ptr [rsp + 80], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 40] - setne sil + setp al + setne cl + or cl, al + mov byte ptr [rsp + 72], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 44] - setne dil + setp al + setne cl + or cl, al + mov byte ptr [rsp + 104], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 48] - setne r10b + setp al + setne cl + or cl, al + mov byte ptr [rsp + 96], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 52] - setne r12b + setp al + setne cl + or cl, al + mov byte ptr [rsp + 128], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 56] - setne byte ptr [rsp + 136] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 112], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 60] - setne r9b + setp al + setne cl + or cl, al + mov byte ptr [rsp + 120], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 64] - setne byte ptr [rsp + 120] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 88], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 68] - setne byte ptr [rsp + 176] # 1-byte Folded Spill + setp al + setne r12b + or r12b, al ucomiss xmm0, dword ptr [rbx + 72] - setne byte ptr [rsp + 96] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 136], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 76] - setne byte ptr [rsp + 112] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 152], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 80] - setne byte ptr [rsp + 72] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 144], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 84] - setne byte ptr [rsp + 128] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 192], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 88] - setne byte ptr [rsp + 88] # 1-byte Folded Spill + setp al + setne r14b + or r14b, al ucomiss xmm0, dword ptr [rbx + 92] - setne r15b + setp al + setne r8b + or r8b, al ucomiss xmm0, dword ptr [rbx + 96] - setne byte ptr [rsp + 32] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 176], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 100] - setne byte ptr [rsp + 48] # 1-byte Folded Spill + setp al + setne r11b + or r11b, al ucomiss xmm0, dword ptr [rbx + 104] - setne byte ptr [rsp + 56] # 1-byte Folded Spill + setp al + setne r10b + or r10b, al ucomiss xmm0, dword ptr [rbx + 108] - setne byte ptr [rsp + 24] # 1-byte Folded Spill + setp al + setne r9b + or r9b, al ucomiss xmm0, dword ptr [rbx + 112] - setne byte ptr [rsp + 40] # 1-byte Folded Spill + setp al + setne r15b + or r15b, al ucomiss xmm0, dword ptr [rbx + 116] - setne byte ptr [rsp + 64] # 1-byte Folded Spill + setp al + setne cl + or cl, al + mov byte ptr [rsp + 168], cl # 1-byte Spill ucomiss xmm0, dword ptr [rbx + 120] - setne byte ptr [rsp + 16] # 1-byte Folded Spill + setp al + setne dil + or dil, al ucomiss xmm0, dword ptr [rbx + 124] - setne cl - add r8b, r8b - add r8b, byte ptr [rsp + 192] # 1-byte Folded Reload - shl al, 6 - shl r11b, 7 - or r11b, al - shl r14b, 2 - or r14b, r8b + setp al + setne sil + or sil, al add dl, dl - add dl, byte ptr [rsp + 144] # 1-byte Folded Reload - shl r13b, 3 - or r13b, r14b - shl sil, 2 - or sil, dl - movzx edx, byte ptr [rsp + 104] # 1-byte Folded Reload - shl dl, 4 or dl, r13b - mov r8d, edx - shl dil, 3 - or dil, sil - movzx edx, byte ptr [rsp + 80] # 1-byte Folded Reload - shl dl, 5 - or dl, r8b - shl r10b, 4 - or r10b, dil - shl r12b, 5 - or r12b, r10b - movzx esi, byte ptr [rsp + 136] # 1-byte Folded Reload - shl sil, 6 - shl r9b, 7 - or r9b, sil - or r11b, dl - or r9b, r12b - movzx eax, byte ptr [rsp + 176] # 1-byte Folded Reload - add al, al - add al, byte ptr [rsp + 120] # 1-byte Folded Reload - movzx edx, byte ptr [rsp + 96] # 1-byte Folded Reload - shl dl, 2 - or dl, al - mov esi, edx - movzx edx, byte ptr [rsp + 112] # 1-byte Folded Reload - shl dl, 3 - or dl, sil - mov esi, edx - movzx edx, byte ptr [rsp + 72] # 1-byte Folded Reload - shl dl, 4 - or dl, sil - mov esi, edx - movzx edx, byte ptr [rsp + 128] # 1-byte Folded Reload + mov r13d, edx + movzx edx, byte ptr [rsp + 56] # 1-byte Folded Reload shl dl, 5 - or dl, sil - mov rsi, qword ptr [rsp + 8] # 8-byte Reload - mov byte ptr [rsi], r11b - movzx edi, byte ptr [rsp + 88] # 1-byte Folded Reload - shl dil, 6 - shl r15b, 7 - or r15b, dil - mov byte ptr [rsi + 1], r9b - or r15b, dl movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload - add al, al - add al, byte ptr [rsp + 32] # 1-byte Folded Reload - mov edx, eax - movzx eax, byte ptr [rsp + 56] # 1-byte Folded Reload - shl al, 2 + shl al, 6 or al, dl mov edx, eax movzx eax, byte ptr [rsp + 24] # 1-byte Folded Reload - shl al, 3 - or al, dl - mov edx, eax - movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload - shl al, 4 + shl al, 2 + or al, r13b + mov r13d, eax + movzx ecx, byte ptr [rsp + 80] # 1-byte Folded Reload + add cl, cl + add cl, byte ptr [rsp + 40] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + shl al, 7 or al, dl - mov edx, eax + mov byte ptr [rsp + 8], al # 1-byte Spill + movzx eax, byte ptr [rsp + 72] # 1-byte Folded Reload + shl al, 2 + or al, cl + mov ecx, eax + movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload + shl al, 3 + or al, r13b + mov r13d, eax + movzx eax, byte ptr [rsp + 104] # 1-byte Folded Reload + shl al, 3 + or al, cl + mov ecx, eax movzx eax, byte ptr [rsp + 64] # 1-byte Folded Reload + shl al, 4 + or al, r13b + movzx edx, byte ptr [rsp + 96] # 1-byte Folded Reload + shl dl, 4 + or dl, cl + movzx r13d, byte ptr [rsp + 128] # 1-byte Folded Reload + shl r13b, 5 + movzx ecx, byte ptr [rsp + 112] # 1-byte Folded Reload + shl cl, 6 + or cl, r13b + movzx r13d, byte ptr [rsp + 120] # 1-byte Folded Reload + shl r13b, 7 + or r13b, cl + add r12b, r12b + add r12b, byte ptr [rsp + 88] # 1-byte Folded Reload + mov ecx, r12d + movzx r12d, byte ptr [rsp + 136] # 1-byte Folded Reload + shl r12b, 2 + or r12b, cl + movzx ecx, byte ptr [rsp + 152] # 1-byte Folded Reload + shl cl, 3 + or cl, r12b + mov r12d, ecx + movzx ecx, byte ptr [rsp + 144] # 1-byte Folded Reload + shl cl, 4 + or cl, r12b + movzx r12d, byte ptr [rsp + 8] # 1-byte Folded Reload + or r12b, al + movzx eax, byte ptr [rsp + 192] # 1-byte Folded Reload shl al, 5 - or al, dl - movzx edx, byte ptr [rsp + 16] # 1-byte Folded Reload - shl dl, 6 - shl cl, 7 - or cl, dl - or cl, al - mov byte ptr [rsi + 2], r15b - mov byte ptr [rsi + 3], cl + shl r14b, 6 + or r14b, al + or r13b, dl + shl r8b, 7 + or r8b, r14b + or r8b, cl + add r11b, r11b + add r11b, byte ptr [rsp + 176] # 1-byte Folded Reload + shl r10b, 2 + or r10b, r11b + shl r9b, 3 + or r9b, r10b + shl r15b, 4 + or r15b, r9b + mov rax, qword ptr [rsp + 16] # 8-byte Reload + mov byte ptr [rax], r12b + movzx ecx, byte ptr [rsp + 168] # 1-byte Folded Reload + shl cl, 5 + shl dil, 6 + or dil, cl + mov byte ptr [rax + 1], r13b + shl sil, 7 + or sil, dil + or sil, r15b + mov byte ptr [rax + 2], r8b + mov byte ptr [rax + 3], sil add rbx, 128 - add rsi, 4 - mov qword ptr [rsp + 8], rsi # 8-byte Spill - add qword ptr [rsp + 152], -1 # 8-byte Folded Spill - jne .LBB5_184 -# %bb.185: - mov r11, qword ptr [rsp + 8] # 8-byte Reload + add rax, 4 + mov qword ptr [rsp + 16], rax # 8-byte Spill + add qword ptr [rsp + 208], -1 # 8-byte Folded Spill + jne .LBB5_185 +# %bb.186: + mov r12, qword ptr [rsp + 16] # 8-byte Reload mov r15, qword ptr [rsp + 160] # 8-byte Reload - mov r10, qword ptr [rsp + 168] # 8-byte Reload - jmp .LBB5_186 + mov r10, qword ptr [rsp + 240] # 8-byte Reload + jmp .LBB5_187 .LBB5_9: mov rax, qword ptr [rsp + 8] # 8-byte Reload - mov qword ptr [rsp + 128], rax # 8-byte Spill -.LBB5_91: + mov qword ptr [rsp + 80], rax # 8-byte Spill +.LBB5_92: shl r10, 5 cmp r10, r15 - jge .LBB5_199 -# %bb.92: + jge .LBB5_198 +# %bb.93: mov r8, r15 sub r8, r10 not r10 add r10, r15 - jne .LBB5_94 -# %bb.93: + jne .LBB5_95 +# %bb.94: xor esi, esi - jmp .LBB5_97 -.LBB5_61: + jmp .LBB5_98 +.LBB5_62: mov rax, qword ptr [rsp + 8] # 8-byte Reload - mov qword ptr [rsp + 88], rax # 8-byte Spill -.LBB5_72: + mov qword ptr [rsp + 104], rax # 8-byte Spill +.LBB5_73: shl r10, 5 cmp r10, r15 - jge .LBB5_199 -# %bb.73: + jge .LBB5_198 +# %bb.74: mov r8, r15 sub r8, r10 not r10 add r10, r15 - jne .LBB5_75 -# %bb.74: + jne .LBB5_76 +# %bb.75: xor esi, esi - jmp .LBB5_78 -.LBB5_104: + jmp .LBB5_79 +.LBB5_105: mov r12, qword ptr [rsp + 8] # 8-byte Reload -.LBB5_115: +.LBB5_116: shl r10, 5 cmp r10, r15 - jge .LBB5_199 -# %bb.116: + jge .LBB5_198 +# %bb.117: mov r8, r15 sub r8, r10 not r10 add r10, r15 - je .LBB5_117 -# %bb.120: + je .LBB5_118 +# %bb.121: mov r9, r8 and r9, -2 xor esi, esi .p2align 4, 0x90 -.LBB5_121: # =>This Inner Loop Header: Depth=1 +.LBB5_122: # =>This Inner Loop Header: Depth=1 cmp r11w, word ptr [r14] setne dl neg dl @@ -27139,46 +28386,46 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 xor al, bl mov byte ptr [r12 + rdi], al cmp r9, rsi - jne .LBB5_121 - jmp .LBB5_118 -.LBB5_127: + jne .LBB5_122 + jmp .LBB5_119 +.LBB5_128: mov r12, qword ptr [rsp + 8] # 8-byte Reload -.LBB5_138: +.LBB5_139: shl r10, 5 cmp r10, r15 - jge .LBB5_199 -# %bb.139: + jge .LBB5_198 +# %bb.140: mov r8, r15 sub r8, r10 not r10 add r10, r15 - jne .LBB5_140 -.LBB5_117: + jne .LBB5_141 +.LBB5_118: xor esi, esi - jmp .LBB5_118 -.LBB5_175: - mov r11, qword ptr [rsp + 8] # 8-byte Reload + jmp .LBB5_119 +.LBB5_176: + mov r12, qword ptr [rsp + 8] # 8-byte Reload mov rbx, r14 -.LBB5_186: +.LBB5_187: shl r10, 5 cmp r10, r15 - jge .LBB5_199 -# %bb.187: + jge .LBB5_198 +# %bb.188: mov r8, r15 sub r8, r10 not r10 add r10, r15 - jne .LBB5_191 -# %bb.188: + jne .LBB5_192 +# %bb.189: xor esi, esi - jmp .LBB5_189 -.LBB5_154: + jmp .LBB5_190 +.LBB5_155: mov r9, r8 and r9, -2 xor edi, edi mov r15, qword ptr [rsp + 8] # 8-byte Reload .p2align 4, 0x90 -.LBB5_155: # =>This Inner Loop Header: Depth=1 +.LBB5_156: # =>This Inner Loop Header: Depth=1 cmp r11d, dword ptr [r14] setne al neg al @@ -27206,22 +28453,22 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 xor bl, dl mov byte ptr [r15 + rsi], bl cmp r9, rdi - jne .LBB5_155 + jne .LBB5_156 .LBB5_24: test r8b, 1 - je .LBB5_199 + je .LBB5_198 # %bb.25: cmp r11d, dword ptr [r14] - jmp .LBB5_197 -.LBB5_94: + jmp .LBB5_26 +.LBB5_95: mov r10, r8 and r10, -2 xor esi, esi - mov r11, qword ptr [rsp + 128] # 8-byte Reload + mov r11, qword ptr [rsp + 80] # 8-byte Reload .p2align 4, 0x90 -.LBB5_95: # =>This Inner Loop Header: Depth=1 +.LBB5_96: # =>This Inner Loop Header: Depth=1 mov rax, rsi - movzx esi, byte ptr [rsp + 64] # 1-byte Folded Reload + movzx esi, byte ptr [rsp + 16] # 1-byte Folded Reload cmp sil, byte ptr [r14 + rax] setne bl neg bl @@ -27248,30 +28495,30 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 xor al, dl mov byte ptr [r11 + rdi], al cmp r10, rsi - jne .LBB5_95 -# %bb.96: + jne .LBB5_96 +# %bb.97: add r14, rsi -.LBB5_97: +.LBB5_98: test r8b, 1 - je .LBB5_199 -# %bb.98: - mov al, byte ptr [rsp + 64] # 1-byte Reload + je .LBB5_198 +# %bb.99: + mov al, byte ptr [rsp + 16] # 1-byte Reload cmp al, byte ptr [r14] setne al neg al mov rdx, rsi shr rdx, 3 - mov r8, qword ptr [rsp + 128] # 8-byte Reload - jmp .LBB5_80 -.LBB5_75: + mov r8, qword ptr [rsp + 80] # 8-byte Reload + jmp .LBB5_81 +.LBB5_76: mov r10, r8 and r10, -2 xor esi, esi - mov r11, qword ptr [rsp + 88] # 8-byte Reload + mov r11, qword ptr [rsp + 104] # 8-byte Reload .p2align 4, 0x90 -.LBB5_76: # =>This Inner Loop Header: Depth=1 +.LBB5_77: # =>This Inner Loop Header: Depth=1 mov rax, rsi - movzx esi, byte ptr [rsp + 40] # 1-byte Folded Reload + movzx esi, byte ptr [rsp + 64] # 1-byte Folded Reload cmp sil, byte ptr [r14 + rax] setne bl neg bl @@ -27298,21 +28545,21 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 xor al, dl mov byte ptr [r11 + rdi], al cmp r10, rsi - jne .LBB5_76 -# %bb.77: + jne .LBB5_77 +# %bb.78: add r14, rsi -.LBB5_78: +.LBB5_79: test r8b, 1 - je .LBB5_199 -# %bb.79: - mov al, byte ptr [rsp + 40] # 1-byte Reload + je .LBB5_198 +# %bb.80: + mov al, byte ptr [rsp + 64] # 1-byte Reload cmp al, byte ptr [r14] setne al neg al mov rdx, rsi shr rdx, 3 - mov r8, qword ptr [rsp + 88] # 8-byte Reload -.LBB5_80: + mov r8, qword ptr [rsp + 104] # 8-byte Reload +.LBB5_81: mov dil, byte ptr [r8 + rdx] and sil, 7 mov bl, 1 @@ -27321,55 +28568,76 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 xor al, dil and bl, al xor bl, dil + mov byte ptr [r8 + rdx], bl jmp .LBB5_198 -.LBB5_193: +.LBB5_194: mov r9, r8 and r9, -2 xor edi, edi mov r11, qword ptr [rsp + 8] # 8-byte Reload .p2align 4, 0x90 -.LBB5_194: # =>This Inner Loop Header: Depth=1 +.LBB5_195: # =>This Inner Loop Header: Depth=1 ucomisd xmm0, qword ptr [r14] + setp cl setne al + or al, cl neg al mov rsi, rdi shr rsi, 3 - movzx r10d, byte ptr [r11 + rsi] - xor al, r10b + movzx edx, byte ptr [r11 + rsi] mov ecx, edi and cl, 6 - mov dl, 1 - shl dl, cl - and dl, al - xor dl, r10b - mov byte ptr [r11 + rsi], dl - add rdi, 2 - ucomisd xmm0, qword ptr [r14 + 8] - lea r14, [r14 + 16] - setne al - neg al - xor al, dl - or cl, 1 mov bl, 1 shl bl, cl + xor al, dl and bl, al xor bl, dl mov byte ptr [r11 + rsi], bl + add rdi, 2 + ucomisd xmm0, qword ptr [r14 + 8] + lea r14, [r14 + 16] + setp al + setne dl + or dl, al + neg dl + xor dl, bl + or cl, 1 + mov al, 1 + shl al, cl + and al, dl + xor al, bl + mov byte ptr [r11 + rsi], al cmp r9, rdi - jne .LBB5_194 -.LBB5_195: + jne .LBB5_195 +.LBB5_196: test r8b, 1 - je .LBB5_199 -# %bb.196: + je .LBB5_198 +# %bb.197: ucomisd xmm0, qword ptr [r14] - jmp .LBB5_197 -.LBB5_168: + setp al + setne dl + or dl, al + neg dl + mov rax, rdi + shr rax, 3 + mov r8, qword ptr [rsp + 8] # 8-byte Reload + mov sil, byte ptr [r8 + rax] + and dil, 7 + mov bl, 1 + mov ecx, edi + shl bl, cl + xor dl, sil + and bl, dl + xor bl, sil + mov byte ptr [r8 + rax], bl + jmp .LBB5_198 +.LBB5_169: mov r9, r8 and r9, -2 xor edi, edi mov r15, qword ptr [rsp + 8] # 8-byte Reload .p2align 4, 0x90 -.LBB5_169: # =>This Inner Loop Header: Depth=1 +.LBB5_170: # =>This Inner Loop Header: Depth=1 cmp r11, qword ptr [r14] setne al neg al @@ -27397,13 +28665,13 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 xor bl, dl mov byte ptr [r15 + rsi], bl cmp r9, rdi - jne .LBB5_169 -.LBB5_40: + jne .LBB5_170 +.LBB5_41: test r8b, 1 - je .LBB5_199 -# %bb.41: + je .LBB5_198 +# %bb.42: cmp r11, qword ptr [r14] -.LBB5_197: +.LBB5_26: setne al neg al mov rdx, rdi @@ -27417,15 +28685,14 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 xor al, sil and bl, al xor bl, sil -.LBB5_198: mov byte ptr [r8 + rdx], bl - jmp .LBB5_199 -.LBB5_140: + jmp .LBB5_198 +.LBB5_141: mov r9, r8 and r9, -2 xor esi, esi .p2align 4, 0x90 -.LBB5_141: # =>This Inner Loop Header: Depth=1 +.LBB5_142: # =>This Inner Loop Header: Depth=1 cmp r11w, word ptr [r14] setne dl neg dl @@ -27453,11 +28720,11 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 xor al, bl mov byte ptr [r12 + rdi], al cmp r9, rsi - jne .LBB5_141 -.LBB5_118: + jne .LBB5_142 +.LBB5_119: test r8b, 1 - je .LBB5_199 -# %bb.119: + je .LBB5_198 +# %bb.120: cmp r11w, word ptr [r14] setne al neg al @@ -27472,61 +28739,67 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 and bl, al xor bl, dil mov byte ptr [r12 + rdx], bl - jmp .LBB5_199 -.LBB5_191: - mov r10, r8 - and r10, -2 + jmp .LBB5_198 +.LBB5_192: + mov r9, r8 + and r9, -2 xor esi, esi - mov r14, r11 + mov r14, r12 .p2align 4, 0x90 -.LBB5_192: # =>This Inner Loop Header: Depth=1 +.LBB5_193: # =>This Inner Loop Header: Depth=1 ucomiss xmm0, dword ptr [rbx] + setp cl setne dl + or dl, cl neg dl mov rdi, rsi shr rdi, 3 - movzx r9d, byte ptr [r14 + rdi] - xor dl, r9b + movzx r10d, byte ptr [r14 + rdi] mov ecx, esi and cl, 6 - mov al, 1 - shl al, cl - and al, dl - xor al, r9b - mov byte ptr [r14 + rdi], al + mov r11b, 1 + shl r11b, cl + xor dl, r10b + and r11b, dl + xor r11b, r10b + mov byte ptr [r14 + rdi], r11b add rsi, 2 ucomiss xmm0, dword ptr [rbx + 4] lea rbx, [rbx + 8] - setne r9b - neg r9b - xor r9b, al + setp r10b + setne dl + or dl, r10b + neg dl + xor dl, r11b or cl, 1 - mov dl, 1 - shl dl, cl - and dl, r9b - xor dl, al - mov byte ptr [r14 + rdi], dl - cmp r10, rsi - jne .LBB5_192 -.LBB5_189: + mov al, 1 + shl al, cl + and al, dl + xor al, r11b + mov byte ptr [r14 + rdi], al + cmp r9, rsi + jne .LBB5_193 +.LBB5_190: test r8b, 1 - je .LBB5_199 -# %bb.190: + je .LBB5_198 +# %bb.191: ucomiss xmm0, dword ptr [rbx] - setne al - neg al - mov rdx, rsi - shr rdx, 3 - mov dil, byte ptr [r11 + rdx] + setp al + setne dl + or dl, al + neg dl + mov rax, rsi + shr rax, 3 + mov dil, byte ptr [r12 + rax] and sil, 7 mov bl, 1 mov ecx, esi shl bl, cl - xor al, dil - and bl, al + xor dl, dil + and bl, dl xor bl, dil - mov byte ptr [r11 + rdx], bl -.LBB5_199: + mov byte ptr [r12 + rax], bl +.LBB5_198: lea rsp, [rbp - 40] pop rbx pop r12 @@ -27535,37 +28808,37 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 pop r15 pop rbp ret -.LBB5_85: +.LBB5_86: and r10, -16 mov rax, r10 shl rax, 5 add rax, r14 mov qword ptr [rsp + 272], rax # 8-byte Spill - mov qword ptr [rsp + 216], r10 # 8-byte Spill + mov qword ptr [rsp + 232], r10 # 8-byte Spill mov rax, qword ptr [rsp + 8] # 8-byte Reload lea rax, [rax + 4*r10] - mov qword ptr [rsp + 128], rax # 8-byte Spill - movzx eax, byte ptr [rsp + 64] # 1-byte Folded Reload + mov qword ptr [rsp + 80], rax # 8-byte Spill + movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload movd xmm1, eax pxor xmm0, xmm0 pshufb xmm1, xmm0 movdqa xmmword ptr [rsp + 176], xmm1 # 16-byte Spill xor eax, eax .p2align 4, 0x90 -.LBB5_86: # =>This Inner Loop Header: Depth=1 +.LBB5_87: # =>This Inner Loop Header: Depth=1 mov qword ptr [rsp + 168], rax # 8-byte Spill shl rax, 5 - mov r9, rax - mov rbx, rax - mov r15, rax mov rdx, rax - mov r13, rax - mov r8, rax mov r12, rax + mov r8, rax mov r10, rax + mov r15, rax + mov r9, rax mov r11, rax + mov rbx, rax mov rsi, rax - mov qword ptr [rsp + 56], rax # 8-byte Spill + mov qword ptr [rsp + 72], rax # 8-byte Spill + mov r13, rax movzx ecx, byte ptr [r14 + rax] movd xmm4, ecx movzx ecx, byte ptr [r14 + rax + 1] @@ -27584,7 +28857,7 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 movd xmm14, ecx movzx ecx, byte ptr [r14 + rax + 8] movd xmm0, ecx - movdqa xmmword ptr [rsp + 256], xmm0 # 16-byte Spill + movdqa xmmword ptr [rsp + 240], xmm0 # 16-byte Spill movzx ecx, byte ptr [r14 + rax + 9] movd xmm11, ecx movzx ecx, byte ptr [r14 + rax + 10] @@ -27593,7 +28866,7 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 movd xmm13, ecx movzx ecx, byte ptr [r14 + rax + 12] movd xmm0, ecx - movdqa xmmword ptr [rsp + 224], xmm0 # 16-byte Spill + movdqa xmmword ptr [rsp + 208], xmm0 # 16-byte Spill movzx ecx, byte ptr [r14 + rax + 13] movd xmm6, ecx movzx ecx, byte ptr [r14 + rax + 14] @@ -27602,155 +28875,150 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 movd xmm0, ecx movdqa xmmword ptr [rsp + 192], xmm0 # 16-byte Spill mov rcx, rax - mov qword ptr [rsp + 80], rax # 8-byte Spill + mov qword ptr [rsp + 128], rax # 8-byte Spill mov rdi, rax or rdi, 32 - mov qword ptr [rsp + 24], rdi # 8-byte Spill - or r9, 64 - mov qword ptr [rsp + 72], r9 # 8-byte Spill - or rbx, 96 - mov qword ptr [rsp + 32], rbx # 8-byte Spill - or r15, 128 - mov qword ptr [rsp + 48], r15 # 8-byte Spill - or rdx, 160 - or r13, 192 - or r8, 224 - or r12, 256 - or r10, 288 - or r11, 320 + or rdx, 64 + mov qword ptr [rsp + 40], rdx # 8-byte Spill + or r12, 96 + or r8, 128 + or r10, 160 + or r15, 192 + or r9, 224 + or r11, 256 + or rbx, 288 + or rsi, 320 + mov qword ptr [rsp + 104], rsi # 8-byte Spill + mov rsi, qword ptr [rsp + 72] # 8-byte Reload or rsi, 352 - mov qword ptr [rsp + 88], rsi # 8-byte Spill - mov rsi, qword ptr [rsp + 56] # 8-byte Reload - or rsi, 384 - mov qword ptr [rsp + 56], rsi # 8-byte Spill + mov qword ptr [rsp + 72], rsi # 8-byte Spill + or r13, 384 + mov qword ptr [rsp + 112], r13 # 8-byte Spill or rax, 416 - mov qword ptr [rsp + 120], rax # 8-byte Spill - mov rax, rcx - or rax, 448 - mov qword ptr [rsp + 40], rax # 8-byte Spill + mov qword ptr [rsp + 64], rax # 8-byte Spill + mov r13, rcx + or r13, 448 + mov qword ptr [rsp + 56], r13 # 8-byte Spill or rcx, 480 - mov qword ptr [rsp + 16], rcx # 8-byte Spill + mov qword ptr [rsp + 32], rcx # 8-byte Spill + mov rcx, rdi pinsrb xmm4, byte ptr [r14 + rdi], 1 - pinsrb xmm4, byte ptr [r14 + r9], 2 - pinsrb xmm4, byte ptr [r14 + rbx], 3 - pinsrb xmm4, byte ptr [r14 + r15], 4 - mov rdi, rdx - pinsrb xmm4, byte ptr [r14 + rdx], 5 - mov rdx, r13 - mov qword ptr [rsp + 152], r13 # 8-byte Spill - pinsrb xmm4, byte ptr [r14 + r13], 6 - mov r13, r8 - pinsrb xmm4, byte ptr [r14 + r8], 7 - mov r8, r12 - pinsrb xmm4, byte ptr [r14 + r12], 8 - pinsrb xmm4, byte ptr [r14 + r10], 9 - mov qword ptr [rsp + 112], r11 # 8-byte Spill - pinsrb xmm4, byte ptr [r14 + r11], 10 - mov rax, qword ptr [rsp + 88] # 8-byte Reload - pinsrb xmm4, byte ptr [r14 + rax], 11 - pinsrb xmm4, byte ptr [r14 + rsi], 12 - mov rcx, qword ptr [rsp + 120] # 8-byte Reload - pinsrb xmm4, byte ptr [r14 + rcx], 13 - mov r12, qword ptr [rsp + 40] # 8-byte Reload - pinsrb xmm4, byte ptr [r14 + r12], 14 - mov rbx, qword ptr [rsp + 16] # 8-byte Reload - pinsrb xmm4, byte ptr [r14 + rbx], 15 - mov r15, qword ptr [rsp + 24] # 8-byte Reload - pinsrb xmm3, byte ptr [r14 + r15 + 1], 1 - pinsrb xmm3, byte ptr [r14 + r9 + 1], 2 - mov rbx, qword ptr [rsp + 32] # 8-byte Reload - pinsrb xmm3, byte ptr [r14 + rbx + 1], 3 - mov r9, qword ptr [rsp + 48] # 8-byte Reload - pinsrb xmm3, byte ptr [r14 + r9 + 1], 4 - pinsrb xmm3, byte ptr [r14 + rdi + 1], 5 - mov qword ptr [rsp + 96], rdi # 8-byte Spill - pinsrb xmm3, byte ptr [r14 + rdx + 1], 6 - pinsrb xmm3, byte ptr [r14 + r13 + 1], 7 - mov rbx, r13 - pinsrb xmm3, byte ptr [r14 + r8 + 1], 8 - mov r13, r8 - pinsrb xmm3, byte ptr [r14 + r10 + 1], 9 - mov rdx, r10 - mov qword ptr [rsp + 144], r10 # 8-byte Spill - pinsrb xmm3, byte ptr [r14 + r11 + 1], 10 - pinsrb xmm3, byte ptr [r14 + rax + 1], 11 - pinsrb xmm3, byte ptr [r14 + rsi + 1], 12 - pinsrb xmm3, byte ptr [r14 + rcx + 1], 13 - pinsrb xmm3, byte ptr [r14 + r12 + 1], 14 + pinsrb xmm4, byte ptr [r14 + rdx], 2 + mov qword ptr [rsp + 120], r12 # 8-byte Spill + pinsrb xmm4, byte ptr [r14 + r12], 3 + pinsrb xmm4, byte ptr [r14 + r8], 4 + mov qword ptr [rsp + 96], r10 # 8-byte Spill + pinsrb xmm4, byte ptr [r14 + r10], 5 + mov qword ptr [rsp + 136], r15 # 8-byte Spill + pinsrb xmm4, byte ptr [r14 + r15], 6 + pinsrb xmm4, byte ptr [r14 + r9], 7 + pinsrb xmm4, byte ptr [r14 + r11], 8 + mov qword ptr [rsp + 88], rbx # 8-byte Spill + pinsrb xmm4, byte ptr [r14 + rbx], 9 + mov rbx, qword ptr [rsp + 104] # 8-byte Reload + pinsrb xmm4, byte ptr [r14 + rbx], 10 + pinsrb xmm4, byte ptr [r14 + rsi], 11 + mov rdi, qword ptr [rsp + 112] # 8-byte Reload + pinsrb xmm4, byte ptr [r14 + rdi], 12 + mov rax, qword ptr [rsp + 64] # 8-byte Reload + pinsrb xmm4, byte ptr [r14 + rax], 13 + pinsrb xmm4, byte ptr [r14 + r13], 14 + mov rax, qword ptr [rsp + 32] # 8-byte Reload + pinsrb xmm4, byte ptr [r14 + rax], 15 + pinsrb xmm3, byte ptr [r14 + rcx + 1], 1 + pinsrb xmm3, byte ptr [r14 + rdx + 1], 2 + pinsrb xmm3, byte ptr [r14 + r12 + 1], 3 + pinsrb xmm3, byte ptr [r14 + r8 + 1], 4 + mov rdx, r8 + pinsrb xmm3, byte ptr [r14 + r10 + 1], 5 + pinsrb xmm3, byte ptr [r14 + r15 + 1], 6 + pinsrb xmm3, byte ptr [r14 + r9 + 1], 7 + mov r8, r9 + pinsrb xmm3, byte ptr [r14 + r11 + 1], 8 + mov r10, r11 + mov r12, qword ptr [rsp + 88] # 8-byte Reload + pinsrb xmm3, byte ptr [r14 + r12 + 1], 9 + pinsrb xmm3, byte ptr [r14 + rbx + 1], 10 + pinsrb xmm3, byte ptr [r14 + rsi + 1], 11 + pinsrb xmm3, byte ptr [r14 + rdi + 1], 12 + mov rax, qword ptr [rsp + 64] # 8-byte Reload + pinsrb xmm3, byte ptr [r14 + rax + 1], 13 + pinsrb xmm3, byte ptr [r14 + r13 + 1], 14 movdqa xmm1, xmmword ptr [rsp + 176] # 16-byte Reload pcmpeqb xmm4, xmm1 - mov rax, qword ptr [rsp + 16] # 8-byte Reload - pinsrb xmm3, byte ptr [r14 + rax + 1], 15 + mov r13, qword ptr [rsp + 32] # 8-byte Reload + pinsrb xmm3, byte ptr [r14 + r13 + 1], 15 pcmpeqb xmm3, xmm1 movdqa xmm0, xmmword ptr [rip + .LCPI5_16] # xmm0 = [2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2] pandn xmm3, xmm0 paddb xmm3, xmm4 - mov rax, qword ptr [rsp + 80] # 8-byte Reload + mov rax, qword ptr [rsp + 128] # 8-byte Reload movzx esi, byte ptr [r14 + rax + 16] movd xmm10, esi - mov r12, qword ptr [rsp + 24] # 8-byte Reload - pinsrb xmm5, byte ptr [r14 + r12 + 2], 1 - mov rcx, qword ptr [rsp + 72] # 8-byte Reload + pinsrb xmm5, byte ptr [r14 + rcx + 2], 1 + mov rax, rcx + mov qword ptr [rsp + 24], rcx # 8-byte Spill + mov rcx, qword ptr [rsp + 40] # 8-byte Reload pinsrb xmm5, byte ptr [r14 + rcx + 2], 2 - mov r15, qword ptr [rsp + 32] # 8-byte Reload + mov r15, qword ptr [rsp + 120] # 8-byte Reload pinsrb xmm5, byte ptr [r14 + r15 + 2], 3 - mov r11, r9 - pinsrb xmm5, byte ptr [r14 + r9 + 2], 4 - pinsrb xmm5, byte ptr [r14 + rdi + 2], 5 - mov r10, qword ptr [rsp + 152] # 8-byte Reload - pinsrb xmm5, byte ptr [r14 + r10 + 2], 6 - mov r8, rbx - pinsrb xmm5, byte ptr [r14 + rbx + 2], 7 - mov qword ptr [rsp + 104], r13 # 8-byte Spill - pinsrb xmm5, byte ptr [r14 + r13 + 2], 8 - pinsrb xmm5, byte ptr [r14 + rdx + 2], 9 - mov rdi, qword ptr [rsp + 112] # 8-byte Reload - pinsrb xmm5, byte ptr [r14 + rdi + 2], 10 - mov rsi, qword ptr [rsp + 88] # 8-byte Reload - pinsrb xmm5, byte ptr [r14 + rsi + 2], 11 - mov rax, qword ptr [rsp + 56] # 8-byte Reload - pinsrb xmm5, byte ptr [r14 + rax + 2], 12 - mov rbx, qword ptr [rsp + 120] # 8-byte Reload - pinsrb xmm5, byte ptr [r14 + rbx + 2], 13 - mov r9, qword ptr [rsp + 40] # 8-byte Reload - pinsrb xmm5, byte ptr [r14 + r9 + 2], 14 - mov rdx, qword ptr [rsp + 16] # 8-byte Reload - pinsrb xmm5, byte ptr [r14 + rdx + 2], 15 - pinsrb xmm7, byte ptr [r14 + r12 + 3], 1 - pinsrb xmm7, byte ptr [r14 + rcx + 3], 2 + mov rbx, rdx + pinsrb xmm5, byte ptr [r14 + rdx + 2], 4 + mov r9, qword ptr [rsp + 96] # 8-byte Reload + pinsrb xmm5, byte ptr [r14 + r9 + 2], 5 + mov r11, qword ptr [rsp + 136] # 8-byte Reload + pinsrb xmm5, byte ptr [r14 + r11 + 2], 6 + mov rdx, r8 + mov qword ptr [rsp + 48], r8 # 8-byte Spill + pinsrb xmm5, byte ptr [r14 + r8 + 2], 7 + pinsrb xmm5, byte ptr [r14 + r10 + 2], 8 + pinsrb xmm5, byte ptr [r14 + r12 + 2], 9 + mov r8, qword ptr [rsp + 104] # 8-byte Reload + pinsrb xmm5, byte ptr [r14 + r8 + 2], 10 + mov rcx, qword ptr [rsp + 72] # 8-byte Reload + pinsrb xmm5, byte ptr [r14 + rcx + 2], 11 + pinsrb xmm5, byte ptr [r14 + rdi + 2], 12 + mov rsi, qword ptr [rsp + 64] # 8-byte Reload + pinsrb xmm5, byte ptr [r14 + rsi + 2], 13 + mov rsi, qword ptr [rsp + 56] # 8-byte Reload + pinsrb xmm5, byte ptr [r14 + rsi + 2], 14 + pinsrb xmm5, byte ptr [r14 + r13 + 2], 15 + pinsrb xmm7, byte ptr [r14 + rax + 3], 1 + mov rax, qword ptr [rsp + 40] # 8-byte Reload + pinsrb xmm7, byte ptr [r14 + rax + 3], 2 pinsrb xmm7, byte ptr [r14 + r15 + 3], 3 - pinsrb xmm7, byte ptr [r14 + r11 + 3], 4 - mov rax, qword ptr [rsp + 96] # 8-byte Reload - pinsrb xmm7, byte ptr [r14 + rax + 3], 5 - pinsrb xmm7, byte ptr [r14 + r10 + 3], 6 - pinsrb xmm7, byte ptr [r14 + r8 + 3], 7 - pinsrb xmm7, byte ptr [r14 + r13 + 3], 8 - mov rax, qword ptr [rsp + 144] # 8-byte Reload - pinsrb xmm7, byte ptr [r14 + rax + 3], 9 - pinsrb xmm7, byte ptr [r14 + rdi + 3], 10 - pinsrb xmm7, byte ptr [r14 + rsi + 3], 11 - mov rax, qword ptr [rsp + 56] # 8-byte Reload - pinsrb xmm7, byte ptr [r14 + rax + 3], 12 - pinsrb xmm7, byte ptr [r14 + rbx + 3], 13 - pinsrb xmm7, byte ptr [r14 + r9 + 3], 14 - pinsrb xmm7, byte ptr [r14 + rdx + 3], 15 - pinsrb xmm9, byte ptr [r14 + r12 + 4], 1 - pinsrb xmm9, byte ptr [r14 + rcx + 4], 2 + pinsrb xmm7, byte ptr [r14 + rbx + 3], 4 + pinsrb xmm7, byte ptr [r14 + r9 + 3], 5 + pinsrb xmm7, byte ptr [r14 + r11 + 3], 6 + pinsrb xmm7, byte ptr [r14 + rdx + 3], 7 + pinsrb xmm7, byte ptr [r14 + r10 + 3], 8 + pinsrb xmm7, byte ptr [r14 + r12 + 3], 9 + pinsrb xmm7, byte ptr [r14 + r8 + 3], 10 + pinsrb xmm7, byte ptr [r14 + rcx + 3], 11 + pinsrb xmm7, byte ptr [r14 + rdi + 3], 12 + mov rax, qword ptr [rsp + 64] # 8-byte Reload + pinsrb xmm7, byte ptr [r14 + rax + 3], 13 + pinsrb xmm7, byte ptr [r14 + rsi + 3], 14 + pinsrb xmm7, byte ptr [r14 + r13 + 3], 15 + mov rax, qword ptr [rsp + 24] # 8-byte Reload + pinsrb xmm9, byte ptr [r14 + rax + 4], 1 + mov rax, qword ptr [rsp + 40] # 8-byte Reload + pinsrb xmm9, byte ptr [r14 + rax + 4], 2 pinsrb xmm9, byte ptr [r14 + r15 + 4], 3 - pinsrb xmm9, byte ptr [r14 + r11 + 4], 4 - mov r12, qword ptr [rsp + 96] # 8-byte Reload - pinsrb xmm9, byte ptr [r14 + r12 + 4], 5 - pinsrb xmm9, byte ptr [r14 + r10 + 4], 6 - pinsrb xmm9, byte ptr [r14 + r8 + 4], 7 - pinsrb xmm9, byte ptr [r14 + r13 + 4], 8 - mov rcx, qword ptr [rsp + 144] # 8-byte Reload - pinsrb xmm9, byte ptr [r14 + rcx + 4], 9 - pinsrb xmm9, byte ptr [r14 + rdi + 4], 10 - pinsrb xmm9, byte ptr [r14 + rsi + 4], 11 - pinsrb xmm9, byte ptr [r14 + rax + 4], 12 - pinsrb xmm9, byte ptr [r14 + rbx + 4], 13 - pinsrb xmm9, byte ptr [r14 + r9 + 4], 14 - pinsrb xmm9, byte ptr [r14 + rdx + 4], 15 + pinsrb xmm9, byte ptr [r14 + rbx + 4], 4 + pinsrb xmm9, byte ptr [r14 + r9 + 4], 5 + pinsrb xmm9, byte ptr [r14 + r11 + 4], 6 + pinsrb xmm9, byte ptr [r14 + rdx + 4], 7 + pinsrb xmm9, byte ptr [r14 + r10 + 4], 8 + mov qword ptr [rsp + 144], r10 # 8-byte Spill + pinsrb xmm9, byte ptr [r14 + r12 + 4], 9 + pinsrb xmm9, byte ptr [r14 + r8 + 4], 10 + pinsrb xmm9, byte ptr [r14 + rcx + 4], 11 + pinsrb xmm9, byte ptr [r14 + rdi + 4], 12 + mov rdx, qword ptr [rsp + 64] # 8-byte Reload + pinsrb xmm9, byte ptr [r14 + rdx + 4], 13 + pinsrb xmm9, byte ptr [r14 + rsi + 4], 14 + pinsrb xmm9, byte ptr [r14 + r13 + 4], 15 pcmpeqb xmm5, xmm1 movdqa xmm0, xmmword ptr [rip + .LCPI5_17] # xmm0 = [4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4] pandn xmm5, xmm0 @@ -27758,87 +29026,82 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 movdqa xmm0, xmmword ptr [rip + .LCPI5_18] # xmm0 = [8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8] pandn xmm7, xmm0 por xmm7, xmm5 - mov rdx, qword ptr [rsp + 80] # 8-byte Reload - movzx esi, byte ptr [r14 + rdx + 17] + mov r9, qword ptr [rsp + 128] # 8-byte Reload + movzx esi, byte ptr [r14 + r9 + 17] movd xmm4, esi pcmpeqb xmm9, xmm1 movdqa xmm0, xmmword ptr [rip + .LCPI5_19] # xmm0 = [16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16] pandn xmm9, xmm0 por xmm9, xmm7 - movzx esi, byte ptr [r14 + rdx + 18] + movzx esi, byte ptr [r14 + r9 + 18] movd xmm7, esi pcmpeqd xmm0, xmm0 psubb xmm3, xmm0 por xmm9, xmm3 - movzx esi, byte ptr [r14 + rdx + 19] + movzx esi, byte ptr [r14 + r9 + 19] movd xmm5, esi - mov rdx, qword ptr [rsp + 24] # 8-byte Reload - pinsrb xmm2, byte ptr [r14 + rdx + 5], 1 - mov rdi, qword ptr [rsp + 72] # 8-byte Reload - pinsrb xmm2, byte ptr [r14 + rdi + 5], 2 + mov r9, qword ptr [rsp + 24] # 8-byte Reload + pinsrb xmm2, byte ptr [r14 + r9 + 5], 1 + mov rax, qword ptr [rsp + 40] # 8-byte Reload + pinsrb xmm2, byte ptr [r14 + rax + 5], 2 pinsrb xmm2, byte ptr [r14 + r15 + 5], 3 - pinsrb xmm2, byte ptr [r14 + r11 + 5], 4 - mov r9, r12 - pinsrb xmm2, byte ptr [r14 + r12 + 5], 5 - pinsrb xmm2, byte ptr [r14 + r10 + 5], 6 - mov r13, r8 - pinsrb xmm2, byte ptr [r14 + r8 + 5], 7 - mov r11, qword ptr [rsp + 104] # 8-byte Reload - pinsrb xmm2, byte ptr [r14 + r11 + 5], 8 + pinsrb xmm2, byte ptr [r14 + rbx + 5], 4 + mov r12, rbx + mov qword ptr [rsp + 152], rbx # 8-byte Spill + mov r13, qword ptr [rsp + 96] # 8-byte Reload + pinsrb xmm2, byte ptr [r14 + r13 + 5], 5 + pinsrb xmm2, byte ptr [r14 + r11 + 5], 6 + mov rsi, qword ptr [rsp + 48] # 8-byte Reload + pinsrb xmm2, byte ptr [r14 + rsi + 5], 7 + pinsrb xmm2, byte ptr [r14 + r10 + 5], 8 + mov r15, qword ptr [rsp + 88] # 8-byte Reload + pinsrb xmm2, byte ptr [r14 + r15 + 5], 9 + pinsrb xmm2, byte ptr [r14 + r8 + 5], 10 + pinsrb xmm2, byte ptr [r14 + rcx + 5], 11 + pinsrb xmm2, byte ptr [r14 + rdi + 5], 12 + pinsrb xmm2, byte ptr [r14 + rdx + 5], 13 + mov r11, qword ptr [rsp + 56] # 8-byte Reload + pinsrb xmm2, byte ptr [r14 + r11 + 5], 14 + mov r10, qword ptr [rsp + 32] # 8-byte Reload + pinsrb xmm2, byte ptr [r14 + r10 + 5], 15 + pinsrb xmm8, byte ptr [r14 + r9 + 6], 1 + pinsrb xmm8, byte ptr [r14 + rax + 6], 2 + mov rbx, qword ptr [rsp + 120] # 8-byte Reload + pinsrb xmm8, byte ptr [r14 + rbx + 6], 3 + pinsrb xmm8, byte ptr [r14 + r12 + 6], 4 + pinsrb xmm8, byte ptr [r14 + r13 + 6], 5 + mov r12, qword ptr [rsp + 136] # 8-byte Reload + pinsrb xmm8, byte ptr [r14 + r12 + 6], 6 + pinsrb xmm8, byte ptr [r14 + rsi + 6], 7 mov r12, qword ptr [rsp + 144] # 8-byte Reload - pinsrb xmm2, byte ptr [r14 + r12 + 5], 9 - mov rsi, qword ptr [rsp + 112] # 8-byte Reload - pinsrb xmm2, byte ptr [r14 + rsi + 5], 10 - mov r8, qword ptr [rsp + 88] # 8-byte Reload - pinsrb xmm2, byte ptr [r14 + r8 + 5], 11 - mov rcx, rax - pinsrb xmm2, byte ptr [r14 + rax + 5], 12 - pinsrb xmm2, byte ptr [r14 + rbx + 5], 13 - mov r15, qword ptr [rsp + 40] # 8-byte Reload - pinsrb xmm2, byte ptr [r14 + r15 + 5], 14 - mov r15, qword ptr [rsp + 16] # 8-byte Reload - pinsrb xmm2, byte ptr [r14 + r15 + 5], 15 - pinsrb xmm8, byte ptr [r14 + rdx + 6], 1 - pinsrb xmm8, byte ptr [r14 + rdi + 6], 2 - mov rax, qword ptr [rsp + 32] # 8-byte Reload - pinsrb xmm8, byte ptr [r14 + rax + 6], 3 - mov rax, qword ptr [rsp + 48] # 8-byte Reload - pinsrb xmm8, byte ptr [r14 + rax + 6], 4 - pinsrb xmm8, byte ptr [r14 + r9 + 6], 5 - pinsrb xmm8, byte ptr [r14 + r10 + 6], 6 - pinsrb xmm8, byte ptr [r14 + r13 + 6], 7 - mov r10, r13 - mov qword ptr [rsp + 136], r13 # 8-byte Spill - pinsrb xmm8, byte ptr [r14 + r11 + 6], 8 - pinsrb xmm8, byte ptr [r14 + r12 + 6], 9 - pinsrb xmm8, byte ptr [r14 + rsi + 6], 10 - pinsrb xmm8, byte ptr [r14 + r8 + 6], 11 - pinsrb xmm8, byte ptr [r14 + rcx + 6], 12 - pinsrb xmm8, byte ptr [r14 + rbx + 6], 13 - mov r13, qword ptr [rsp + 40] # 8-byte Reload - pinsrb xmm8, byte ptr [r14 + r13 + 6], 14 - mov r8, r15 - pinsrb xmm8, byte ptr [r14 + r15 + 6], 15 - pinsrb xmm14, byte ptr [r14 + rdx + 7], 1 - pinsrb xmm14, byte ptr [r14 + rdi + 7], 2 - mov rax, qword ptr [rsp + 32] # 8-byte Reload - pinsrb xmm14, byte ptr [r14 + rax + 7], 3 - mov rdx, rax - mov r11, qword ptr [rsp + 48] # 8-byte Reload + pinsrb xmm8, byte ptr [r14 + r12 + 6], 8 + pinsrb xmm8, byte ptr [r14 + r15 + 6], 9 + pinsrb xmm8, byte ptr [r14 + r8 + 6], 10 + pinsrb xmm8, byte ptr [r14 + rcx + 6], 11 + pinsrb xmm8, byte ptr [r14 + rdi + 6], 12 + pinsrb xmm8, byte ptr [r14 + rdx + 6], 13 + pinsrb xmm8, byte ptr [r14 + r11 + 6], 14 + pinsrb xmm8, byte ptr [r14 + r10 + 6], 15 + pinsrb xmm14, byte ptr [r14 + r9 + 7], 1 + pinsrb xmm14, byte ptr [r14 + rax + 7], 2 + mov r15, rax + pinsrb xmm14, byte ptr [r14 + rbx + 7], 3 + mov r11, qword ptr [rsp + 152] # 8-byte Reload pinsrb xmm14, byte ptr [r14 + r11 + 7], 4 - pinsrb xmm14, byte ptr [r14 + r9 + 7], 5 - mov r9, qword ptr [rsp + 152] # 8-byte Reload - pinsrb xmm14, byte ptr [r14 + r9 + 7], 6 - pinsrb xmm14, byte ptr [r14 + r10 + 7], 7 - mov rax, qword ptr [rsp + 104] # 8-byte Reload - pinsrb xmm14, byte ptr [r14 + rax + 7], 8 + pinsrb xmm14, byte ptr [r14 + r13 + 7], 5 + mov rax, qword ptr [rsp + 136] # 8-byte Reload + pinsrb xmm14, byte ptr [r14 + rax + 7], 6 + pinsrb xmm14, byte ptr [r14 + rsi + 7], 7 + mov r9, r12 + pinsrb xmm14, byte ptr [r14 + r12 + 7], 8 + mov r12, qword ptr [rsp + 88] # 8-byte Reload pinsrb xmm14, byte ptr [r14 + r12 + 7], 9 - pinsrb xmm14, byte ptr [r14 + rsi + 7], 10 - mov rax, qword ptr [rsp + 88] # 8-byte Reload - pinsrb xmm14, byte ptr [r14 + rax + 7], 11 - pinsrb xmm14, byte ptr [r14 + rcx + 7], 12 - pinsrb xmm14, byte ptr [r14 + rbx + 7], 13 - pinsrb xmm14, byte ptr [r14 + r13 + 7], 14 + pinsrb xmm14, byte ptr [r14 + r8 + 7], 10 + pinsrb xmm14, byte ptr [r14 + rcx + 7], 11 + pinsrb xmm14, byte ptr [r14 + rdi + 7], 12 + pinsrb xmm14, byte ptr [r14 + rdx + 7], 13 + mov rdi, qword ptr [rsp + 56] # 8-byte Reload + pinsrb xmm14, byte ptr [r14 + rdi + 7], 14 movdqa xmm1, xmm14 movdqa xmm14, xmmword ptr [rsp + 176] # 16-byte Reload pcmpeqb xmm2, xmm14 @@ -27848,147 +29111,152 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 movdqa xmm0, xmmword ptr [rip + .LCPI5_21] # xmm0 = [64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64] pandn xmm8, xmm0 por xmm8, xmm2 - mov r10, qword ptr [rsp + 80] # 8-byte Reload + mov r10, qword ptr [rsp + 128] # 8-byte Reload movzx esi, byte ptr [r14 + r10 + 20] movd xmm3, esi - pinsrb xmm1, byte ptr [r14 + r15 + 7], 15 + mov rax, qword ptr [rsp + 32] # 8-byte Reload + pinsrb xmm1, byte ptr [r14 + rax + 7], 15 pcmpeqb xmm1, xmm14 movdqa xmm0, xmmword ptr [rip + .LCPI5_6] # xmm0 = [128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128] pandn xmm1, xmm0 por xmm1, xmm8 movzx esi, byte ptr [r14 + r10 + 21] movd xmm2, esi - movdqa xmm0, xmmword ptr [rsp + 256] # 16-byte Reload - mov rcx, qword ptr [rsp + 24] # 8-byte Reload - pinsrb xmm0, byte ptr [r14 + rcx + 8], 1 - pinsrb xmm0, byte ptr [r14 + rdi + 8], 2 - mov r13, rdx - pinsrb xmm0, byte ptr [r14 + rdx + 8], 3 + mov rdx, qword ptr [rsp + 24] # 8-byte Reload + movdqa xmm0, xmmword ptr [rsp + 240] # 16-byte Reload + pinsrb xmm0, byte ptr [r14 + rdx + 8], 1 + pinsrb xmm0, byte ptr [r14 + r15 + 8], 2 + pinsrb xmm0, byte ptr [r14 + rbx + 8], 3 + mov r15, rbx + mov rbx, r11 pinsrb xmm0, byte ptr [r14 + r11 + 8], 4 - mov rdx, r11 - mov r8, qword ptr [rsp + 96] # 8-byte Reload - pinsrb xmm0, byte ptr [r14 + r8 + 8], 5 - pinsrb xmm0, byte ptr [r14 + r9 + 8], 6 - mov r15, r9 - mov rdi, qword ptr [rsp + 136] # 8-byte Reload - pinsrb xmm0, byte ptr [r14 + rdi + 8], 7 - mov rbx, qword ptr [rsp + 104] # 8-byte Reload - pinsrb xmm0, byte ptr [r14 + rbx + 8], 8 + mov r11, r13 + pinsrb xmm0, byte ptr [r14 + r13 + 8], 5 + mov r13, qword ptr [rsp + 136] # 8-byte Reload + pinsrb xmm0, byte ptr [r14 + r13 + 8], 6 + mov rcx, qword ptr [rsp + 48] # 8-byte Reload + pinsrb xmm0, byte ptr [r14 + rcx + 8], 7 + pinsrb xmm0, byte ptr [r14 + r9 + 8], 8 pinsrb xmm0, byte ptr [r14 + r12 + 8], 9 - mov rsi, qword ptr [rsp + 112] # 8-byte Reload - pinsrb xmm0, byte ptr [r14 + rsi + 8], 10 - pinsrb xmm0, byte ptr [r14 + rax + 8], 11 - mov rax, qword ptr [rsp + 56] # 8-byte Reload - pinsrb xmm0, byte ptr [r14 + rax + 8], 12 - mov r9, qword ptr [rsp + 120] # 8-byte Reload - pinsrb xmm0, byte ptr [r14 + r9 + 8], 13 - mov r11, qword ptr [rsp + 40] # 8-byte Reload - pinsrb xmm0, byte ptr [r14 + r11 + 8], 14 - mov rsi, qword ptr [rsp + 16] # 8-byte Reload - pinsrb xmm0, byte ptr [r14 + rsi + 8], 15 + pinsrb xmm0, byte ptr [r14 + r8 + 8], 10 + mov r8, qword ptr [rsp + 72] # 8-byte Reload + pinsrb xmm0, byte ptr [r14 + r8 + 8], 11 + mov r9, qword ptr [rsp + 112] # 8-byte Reload + pinsrb xmm0, byte ptr [r14 + r9 + 8], 12 + mov rsi, qword ptr [rsp + 64] # 8-byte Reload + pinsrb xmm0, byte ptr [r14 + rsi + 8], 13 + pinsrb xmm0, byte ptr [r14 + rdi + 8], 14 + pinsrb xmm0, byte ptr [r14 + rax + 8], 15 por xmm1, xmm9 - movdqa xmmword ptr [rsp + 256], xmm1 # 16-byte Spill + movdqa xmmword ptr [rsp + 240], xmm1 # 16-byte Spill movzx esi, byte ptr [r14 + r10 + 22] movd xmm1, esi pcmpeqb xmm0, xmm14 - pinsrb xmm11, byte ptr [r14 + rcx + 9], 1 - mov rax, qword ptr [rsp + 72] # 8-byte Reload + pinsrb xmm11, byte ptr [r14 + rdx + 9], 1 + mov rax, qword ptr [rsp + 40] # 8-byte Reload pinsrb xmm11, byte ptr [r14 + rax + 9], 2 - pinsrb xmm11, byte ptr [r14 + r13 + 9], 3 - pinsrb xmm11, byte ptr [r14 + rdx + 9], 4 - pinsrb xmm11, byte ptr [r14 + r8 + 9], 5 - mov r10, r15 - pinsrb xmm11, byte ptr [r14 + r15 + 9], 6 - pinsrb xmm11, byte ptr [r14 + rdi + 9], 7 - mov r15, rdi - pinsrb xmm11, byte ptr [r14 + rbx + 9], 8 + pinsrb xmm11, byte ptr [r14 + r15 + 9], 3 + pinsrb xmm11, byte ptr [r14 + rbx + 9], 4 + mov rdx, r11 + pinsrb xmm11, byte ptr [r14 + r11 + 9], 5 + pinsrb xmm11, byte ptr [r14 + r13 + 9], 6 + pinsrb xmm11, byte ptr [r14 + rcx + 9], 7 + mov r10, qword ptr [rsp + 144] # 8-byte Reload + pinsrb xmm11, byte ptr [r14 + r10 + 9], 8 + mov rcx, r12 pinsrb xmm11, byte ptr [r14 + r12 + 9], 9 - mov rsi, qword ptr [rsp + 112] # 8-byte Reload + mov rsi, qword ptr [rsp + 104] # 8-byte Reload pinsrb xmm11, byte ptr [r14 + rsi + 9], 10 - mov rdx, qword ptr [rsp + 88] # 8-byte Reload - pinsrb xmm11, byte ptr [r14 + rdx + 9], 11 - mov rdi, qword ptr [rsp + 56] # 8-byte Reload - pinsrb xmm11, byte ptr [r14 + rdi + 9], 12 - pinsrb xmm11, byte ptr [r14 + r9 + 9], 13 - pinsrb xmm11, byte ptr [r14 + r11 + 9], 14 - mov r8, qword ptr [rsp + 16] # 8-byte Reload + mov rdx, r8 + pinsrb xmm11, byte ptr [r14 + r8 + 9], 11 + mov rdi, r9 + pinsrb xmm11, byte ptr [r14 + r9 + 9], 12 + mov r11, qword ptr [rsp + 64] # 8-byte Reload + pinsrb xmm11, byte ptr [r14 + r11 + 9], 13 + mov r12, qword ptr [rsp + 56] # 8-byte Reload + pinsrb xmm11, byte ptr [r14 + r12 + 9], 14 + mov r8, qword ptr [rsp + 32] # 8-byte Reload pinsrb xmm11, byte ptr [r14 + r8 + 9], 15 - pinsrb xmm12, byte ptr [r14 + rcx + 10], 1 + mov r9, qword ptr [rsp + 24] # 8-byte Reload + pinsrb xmm12, byte ptr [r14 + r9 + 10], 1 pinsrb xmm12, byte ptr [r14 + rax + 10], 2 - pinsrb xmm12, byte ptr [r14 + r13 + 10], 3 - mov rbx, qword ptr [rsp + 48] # 8-byte Reload + pinsrb xmm12, byte ptr [r14 + r15 + 10], 3 pinsrb xmm12, byte ptr [r14 + rbx + 10], 4 - mov r13, qword ptr [rsp + 96] # 8-byte Reload - pinsrb xmm12, byte ptr [r14 + r13 + 10], 5 - pinsrb xmm12, byte ptr [r14 + r10 + 10], 6 + mov rbx, qword ptr [rsp + 96] # 8-byte Reload + pinsrb xmm12, byte ptr [r14 + rbx + 10], 5 + pinsrb xmm12, byte ptr [r14 + r13 + 10], 6 + mov r15, qword ptr [rsp + 48] # 8-byte Reload pinsrb xmm12, byte ptr [r14 + r15 + 10], 7 - mov rbx, qword ptr [rsp + 104] # 8-byte Reload - pinsrb xmm12, byte ptr [r14 + rbx + 10], 8 - pinsrb xmm12, byte ptr [r14 + r12 + 10], 9 + pinsrb xmm12, byte ptr [r14 + r10 + 10], 8 + pinsrb xmm12, byte ptr [r14 + rcx + 10], 9 pinsrb xmm12, byte ptr [r14 + rsi + 10], 10 pinsrb xmm12, byte ptr [r14 + rdx + 10], 11 pinsrb xmm12, byte ptr [r14 + rdi + 10], 12 - pinsrb xmm12, byte ptr [r14 + r9 + 10], 13 - pinsrb xmm12, byte ptr [r14 + r11 + 10], 14 + pinsrb xmm12, byte ptr [r14 + r11 + 10], 13 + pinsrb xmm12, byte ptr [r14 + r12 + 10], 14 + mov r11, r12 pinsrb xmm12, byte ptr [r14 + r8 + 10], 15 - pinsrb xmm13, byte ptr [r14 + rcx + 11], 1 + mov r12, r8 + pinsrb xmm13, byte ptr [r14 + r9 + 11], 1 pinsrb xmm13, byte ptr [r14 + rax + 11], 2 - mov rax, qword ptr [rsp + 32] # 8-byte Reload - pinsrb xmm13, byte ptr [r14 + rax + 11], 3 + mov r8, rax + mov r15, qword ptr [rsp + 120] # 8-byte Reload + pinsrb xmm13, byte ptr [r14 + r15 + 11], 3 + mov r9, qword ptr [rsp + 152] # 8-byte Reload + pinsrb xmm13, byte ptr [r14 + r9 + 11], 4 + pinsrb xmm13, byte ptr [r14 + rbx + 11], 5 + pinsrb xmm13, byte ptr [r14 + r13 + 11], 6 mov rax, qword ptr [rsp + 48] # 8-byte Reload - pinsrb xmm13, byte ptr [r14 + rax + 11], 4 - mov rax, qword ptr [rsp + 96] # 8-byte Reload - pinsrb xmm13, byte ptr [r14 + rax + 11], 5 - pinsrb xmm13, byte ptr [r14 + r10 + 11], 6 - pinsrb xmm13, byte ptr [r14 + r15 + 11], 7 - mov r13, qword ptr [rsp + 104] # 8-byte Reload - pinsrb xmm13, byte ptr [r14 + r13 + 11], 8 - pinsrb xmm13, byte ptr [r14 + r12 + 11], 9 + pinsrb xmm13, byte ptr [r14 + rax + 11], 7 + pinsrb xmm13, byte ptr [r14 + r10 + 11], 8 + pinsrb xmm13, byte ptr [r14 + rcx + 11], 9 pinsrb xmm13, byte ptr [r14 + rsi + 11], 10 pinsrb xmm13, byte ptr [r14 + rdx + 11], 11 pinsrb xmm13, byte ptr [r14 + rdi + 11], 12 - pinsrb xmm13, byte ptr [r14 + r9 + 11], 13 + mov rax, qword ptr [rsp + 64] # 8-byte Reload + pinsrb xmm13, byte ptr [r14 + rax + 11], 13 pinsrb xmm13, byte ptr [r14 + r11 + 11], 14 - mov rax, r11 - pinsrb xmm13, byte ptr [r14 + r8 + 11], 15 + pinsrb xmm13, byte ptr [r14 + r12 + 11], 15 pcmpeqb xmm11, xmm14 pandn xmm11, xmmword ptr [rip + .LCPI5_16] paddb xmm11, xmm0 - mov rbx, qword ptr [rsp + 80] # 8-byte Reload - movzx esi, byte ptr [r14 + rbx + 23] + mov rax, qword ptr [rsp + 128] # 8-byte Reload + movzx esi, byte ptr [r14 + rax + 23] movd xmm8, esi pcmpeqb xmm12, xmm14 pandn xmm12, xmmword ptr [rip + .LCPI5_17] pcmpeqb xmm13, xmm14 pandn xmm13, xmmword ptr [rip + .LCPI5_18] por xmm13, xmm12 - movzx esi, byte ptr [r14 + rbx + 24] + movzx esi, byte ptr [r14 + rax + 24] movd xmm12, esi - movdqa xmm9, xmmword ptr [rsp + 224] # 16-byte Reload - pinsrb xmm9, byte ptr [r14 + rcx + 12], 1 - mov r12, qword ptr [rsp + 72] # 8-byte Reload - pinsrb xmm9, byte ptr [r14 + r12 + 12], 2 - mov r15, qword ptr [rsp + 32] # 8-byte Reload + movdqa xmm9, xmmword ptr [rsp + 208] # 16-byte Reload + mov rax, qword ptr [rsp + 24] # 8-byte Reload + pinsrb xmm9, byte ptr [r14 + rax + 12], 1 + mov r12, r8 + pinsrb xmm9, byte ptr [r14 + r8 + 12], 2 pinsrb xmm9, byte ptr [r14 + r15 + 12], 3 - mov rbx, qword ptr [rsp + 48] # 8-byte Reload - pinsrb xmm9, byte ptr [r14 + rbx + 12], 4 + mov rbx, r9 + pinsrb xmm9, byte ptr [r14 + r9 + 12], 4 mov r9, qword ptr [rsp + 96] # 8-byte Reload pinsrb xmm9, byte ptr [r14 + r9 + 12], 5 - mov r8, r10 - pinsrb xmm9, byte ptr [r14 + r10 + 12], 6 - mov r11, qword ptr [rsp + 136] # 8-byte Reload - pinsrb xmm9, byte ptr [r14 + r11 + 12], 7 - pinsrb xmm9, byte ptr [r14 + r13 + 12], 8 - mov rcx, qword ptr [rsp + 144] # 8-byte Reload + mov r11, r13 + pinsrb xmm9, byte ptr [r14 + r13 + 12], 6 + mov r8, qword ptr [rsp + 48] # 8-byte Reload + pinsrb xmm9, byte ptr [r14 + r8 + 12], 7 + mov rsi, r10 + pinsrb xmm9, byte ptr [r14 + r10 + 12], 8 + mov rcx, qword ptr [rsp + 88] # 8-byte Reload pinsrb xmm9, byte ptr [r14 + rcx + 12], 9 - mov r10, qword ptr [rsp + 112] # 8-byte Reload + mov r10, qword ptr [rsp + 104] # 8-byte Reload pinsrb xmm9, byte ptr [r14 + r10 + 12], 10 pinsrb xmm9, byte ptr [r14 + rdx + 12], 11 pinsrb xmm9, byte ptr [r14 + rdi + 12], 12 - mov rsi, qword ptr [rsp + 120] # 8-byte Reload - pinsrb xmm9, byte ptr [r14 + rsi + 12], 13 + mov r13, qword ptr [rsp + 64] # 8-byte Reload + pinsrb xmm9, byte ptr [r14 + r13 + 12], 13 + mov rax, qword ptr [rsp + 56] # 8-byte Reload pinsrb xmm9, byte ptr [r14 + rax + 12], 14 - mov rax, qword ptr [rsp + 16] # 8-byte Reload + mov rax, qword ptr [rsp + 32] # 8-byte Reload pinsrb xmm9, byte ptr [r14 + rax + 12], 15 mov rax, qword ptr [rsp + 24] # 8-byte Reload pinsrb xmm6, byte ptr [r14 + rax + 13], 1 @@ -27996,17 +29264,17 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 pinsrb xmm6, byte ptr [r14 + r15 + 13], 3 pinsrb xmm6, byte ptr [r14 + rbx + 13], 4 pinsrb xmm6, byte ptr [r14 + r9 + 13], 5 - pinsrb xmm6, byte ptr [r14 + r8 + 13], 6 - pinsrb xmm6, byte ptr [r14 + r11 + 13], 7 - pinsrb xmm6, byte ptr [r14 + r13 + 13], 8 + pinsrb xmm6, byte ptr [r14 + r11 + 13], 6 + pinsrb xmm6, byte ptr [r14 + r8 + 13], 7 + pinsrb xmm6, byte ptr [r14 + rsi + 13], 8 pinsrb xmm6, byte ptr [r14 + rcx + 13], 9 pinsrb xmm6, byte ptr [r14 + r10 + 13], 10 pinsrb xmm6, byte ptr [r14 + rdx + 13], 11 pinsrb xmm6, byte ptr [r14 + rdi + 13], 12 - pinsrb xmm6, byte ptr [r14 + rsi + 13], 13 - mov rax, qword ptr [rsp + 40] # 8-byte Reload + pinsrb xmm6, byte ptr [r14 + r13 + 13], 13 + mov rax, qword ptr [rsp + 56] # 8-byte Reload pinsrb xmm6, byte ptr [r14 + rax + 13], 14 - mov rax, qword ptr [rsp + 16] # 8-byte Reload + mov rax, qword ptr [rsp + 32] # 8-byte Reload pinsrb xmm6, byte ptr [r14 + rax + 13], 15 mov rax, qword ptr [rsp + 24] # 8-byte Reload pinsrb xmm15, byte ptr [r14 + rax + 14], 1 @@ -28014,141 +29282,133 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 pinsrb xmm15, byte ptr [r14 + r15 + 14], 3 pinsrb xmm15, byte ptr [r14 + rbx + 14], 4 pinsrb xmm15, byte ptr [r14 + r9 + 14], 5 - mov rbx, r9 - pinsrb xmm15, byte ptr [r14 + r8 + 14], 6 - mov r12, r8 - pinsrb xmm15, byte ptr [r14 + r11 + 14], 7 - pinsrb xmm15, byte ptr [r14 + r13 + 14], 8 + pinsrb xmm15, byte ptr [r14 + r11 + 14], 6 + pinsrb xmm15, byte ptr [r14 + r8 + 14], 7 + pinsrb xmm15, byte ptr [r14 + rsi + 14], 8 pinsrb xmm15, byte ptr [r14 + rcx + 14], 9 - mov r11, rcx pinsrb xmm15, byte ptr [r14 + r10 + 14], 10 pinsrb xmm15, byte ptr [r14 + rdx + 14], 11 pinsrb xmm15, byte ptr [r14 + rdi + 14], 12 - pinsrb xmm15, byte ptr [r14 + rsi + 14], 13 - mov rax, qword ptr [rsp + 40] # 8-byte Reload - pinsrb xmm15, byte ptr [r14 + rax + 14], 14 + pinsrb xmm15, byte ptr [r14 + r13 + 14], 13 + mov r12, qword ptr [rsp + 56] # 8-byte Reload + pinsrb xmm15, byte ptr [r14 + r12 + 14], 14 pcmpeqb xmm9, xmm14 pandn xmm9, xmmword ptr [rip + .LCPI5_19] por xmm9, xmm13 - mov rax, qword ptr [rsp + 80] # 8-byte Reload - movzx esi, byte ptr [r14 + rax + 25] + mov r15, qword ptr [rsp + 128] # 8-byte Reload + movzx esi, byte ptr [r14 + r15 + 25] movd xmm13, esi psubb xmm11, xmmword ptr [rip + .LCPI5_22] por xmm9, xmm11 - movzx esi, byte ptr [r14 + rax + 26] + movzx esi, byte ptr [r14 + r15 + 26] movd xmm0, esi - mov rcx, qword ptr [rsp + 16] # 8-byte Reload - pinsrb xmm15, byte ptr [r14 + rcx + 14], 15 + mov rbx, qword ptr [rsp + 32] # 8-byte Reload + pinsrb xmm15, byte ptr [r14 + rbx + 14], 15 pcmpeqb xmm6, xmm14 pandn xmm6, xmmword ptr [rip + .LCPI5_20] pcmpeqb xmm15, xmm14 pandn xmm15, xmmword ptr [rip + .LCPI5_21] por xmm15, xmm6 - movzx esi, byte ptr [r14 + rax + 27] + movzx esi, byte ptr [r14 + r15 + 27] movd xmm11, esi movdqa xmm6, xmmword ptr [rsp + 192] # 16-byte Reload - mov rdi, qword ptr [rsp + 24] # 8-byte Reload - pinsrb xmm6, byte ptr [r14 + rdi + 15], 1 - mov r9, qword ptr [rsp + 72] # 8-byte Reload - pinsrb xmm6, byte ptr [r14 + r9 + 15], 2 - pinsrb xmm6, byte ptr [r14 + r15 + 15], 3 - mov r8, qword ptr [rsp + 48] # 8-byte Reload - pinsrb xmm6, byte ptr [r14 + r8 + 15], 4 - pinsrb xmm6, byte ptr [r14 + rbx + 15], 5 - pinsrb xmm6, byte ptr [r14 + r12 + 15], 6 - mov rsi, qword ptr [rsp + 136] # 8-byte Reload - pinsrb xmm6, byte ptr [r14 + rsi + 15], 7 - mov r15, r13 - pinsrb xmm6, byte ptr [r14 + r13 + 15], 8 - pinsrb xmm6, byte ptr [r14 + r11 + 15], 9 + mov rax, qword ptr [rsp + 24] # 8-byte Reload + pinsrb xmm6, byte ptr [r14 + rax + 15], 1 + mov rdi, qword ptr [rsp + 40] # 8-byte Reload + pinsrb xmm6, byte ptr [r14 + rdi + 15], 2 + mov rdx, qword ptr [rsp + 120] # 8-byte Reload + pinsrb xmm6, byte ptr [r14 + rdx + 15], 3 + mov rcx, qword ptr [rsp + 152] # 8-byte Reload + pinsrb xmm6, byte ptr [r14 + rcx + 15], 4 + pinsrb xmm6, byte ptr [r14 + r9 + 15], 5 + pinsrb xmm6, byte ptr [r14 + r11 + 15], 6 + pinsrb xmm6, byte ptr [r14 + r8 + 15], 7 + mov r8, qword ptr [rsp + 144] # 8-byte Reload + pinsrb xmm6, byte ptr [r14 + r8 + 15], 8 + mov r9, qword ptr [rsp + 88] # 8-byte Reload + pinsrb xmm6, byte ptr [r14 + r9 + 15], 9 pinsrb xmm6, byte ptr [r14 + r10 + 15], 10 - pinsrb xmm6, byte ptr [r14 + rdx + 15], 11 - mov r10, qword ptr [rsp + 56] # 8-byte Reload - pinsrb xmm6, byte ptr [r14 + r10 + 15], 12 - mov r13, qword ptr [rsp + 120] # 8-byte Reload + mov r10, qword ptr [rsp + 72] # 8-byte Reload + pinsrb xmm6, byte ptr [r14 + r10 + 15], 11 + mov rsi, qword ptr [rsp + 112] # 8-byte Reload + pinsrb xmm6, byte ptr [r14 + rsi + 15], 12 pinsrb xmm6, byte ptr [r14 + r13 + 15], 13 - mov rdx, qword ptr [rsp + 40] # 8-byte Reload - pinsrb xmm6, byte ptr [r14 + rdx + 15], 14 - pinsrb xmm6, byte ptr [r14 + rcx + 15], 15 + pinsrb xmm6, byte ptr [r14 + r12 + 15], 14 + pinsrb xmm6, byte ptr [r14 + rbx + 15], 15 pcmpeqb xmm6, xmm14 pandn xmm6, xmmword ptr [rip + .LCPI5_6] por xmm6, xmm15 - movzx esi, byte ptr [r14 + rax + 28] + movzx esi, byte ptr [r14 + r15 + 28] movd xmm15, esi por xmm6, xmm9 movdqa xmmword ptr [rsp + 192], xmm6 # 16-byte Spill - movzx esi, byte ptr [r14 + rax + 29] + movzx esi, byte ptr [r14 + r15 + 29] movd xmm9, esi - mov rsi, rdi - pinsrb xmm10, byte ptr [r14 + rdi + 16], 1 - pinsrb xmm10, byte ptr [r14 + r9 + 16], 2 - mov rdx, qword ptr [rsp + 32] # 8-byte Reload + pinsrb xmm10, byte ptr [r14 + rax + 16], 1 + pinsrb xmm10, byte ptr [r14 + rdi + 16], 2 pinsrb xmm10, byte ptr [r14 + rdx + 16], 3 - pinsrb xmm10, byte ptr [r14 + r8 + 16], 4 - pinsrb xmm10, byte ptr [r14 + rbx + 16], 5 - pinsrb xmm10, byte ptr [r14 + r12 + 16], 6 - mov rdi, qword ptr [rsp + 136] # 8-byte Reload - pinsrb xmm10, byte ptr [r14 + rdi + 16], 7 - mov rax, r15 - pinsrb xmm10, byte ptr [r14 + r15 + 16], 8 - pinsrb xmm10, byte ptr [r14 + r11 + 16], 9 - mov r15, qword ptr [rsp + 112] # 8-byte Reload - pinsrb xmm10, byte ptr [r14 + r15 + 16], 10 - mov rcx, qword ptr [rsp + 88] # 8-byte Reload - pinsrb xmm10, byte ptr [r14 + rcx + 16], 11 - pinsrb xmm10, byte ptr [r14 + r10 + 16], 12 + pinsrb xmm10, byte ptr [r14 + rcx + 16], 4 + mov rsi, qword ptr [rsp + 96] # 8-byte Reload + pinsrb xmm10, byte ptr [r14 + rsi + 16], 5 + pinsrb xmm10, byte ptr [r14 + r11 + 16], 6 + mov rsi, qword ptr [rsp + 48] # 8-byte Reload + pinsrb xmm10, byte ptr [r14 + rsi + 16], 7 + pinsrb xmm10, byte ptr [r14 + r8 + 16], 8 + pinsrb xmm10, byte ptr [r14 + r9 + 16], 9 + mov rsi, qword ptr [rsp + 104] # 8-byte Reload + pinsrb xmm10, byte ptr [r14 + rsi + 16], 10 + pinsrb xmm10, byte ptr [r14 + r10 + 16], 11 + mov rsi, qword ptr [rsp + 112] # 8-byte Reload + pinsrb xmm10, byte ptr [r14 + rsi + 16], 12 pinsrb xmm10, byte ptr [r14 + r13 + 16], 13 - mov rcx, qword ptr [rsp + 40] # 8-byte Reload - pinsrb xmm10, byte ptr [r14 + rcx + 16], 14 - mov r13, qword ptr [rsp + 16] # 8-byte Reload - pinsrb xmm10, byte ptr [r14 + r13 + 16], 15 - pinsrb xmm4, byte ptr [r14 + rsi + 17], 1 - pinsrb xmm4, byte ptr [r14 + r9 + 17], 2 + pinsrb xmm10, byte ptr [r14 + r12 + 16], 14 + pinsrb xmm10, byte ptr [r14 + rbx + 16], 15 + pinsrb xmm4, byte ptr [r14 + rax + 17], 1 + pinsrb xmm4, byte ptr [r14 + rdi + 17], 2 pinsrb xmm4, byte ptr [r14 + rdx + 17], 3 - pinsrb xmm4, byte ptr [r14 + r8 + 17], 4 - pinsrb xmm4, byte ptr [r14 + rbx + 17], 5 - pinsrb xmm4, byte ptr [r14 + r12 + 17], 6 - pinsrb xmm4, byte ptr [r14 + rdi + 17], 7 - pinsrb xmm4, byte ptr [r14 + rax + 17], 8 - mov r9, r11 - pinsrb xmm4, byte ptr [r14 + r11 + 17], 9 - mov r10, r15 - pinsrb xmm4, byte ptr [r14 + r15 + 17], 10 - mov r8, qword ptr [rsp + 88] # 8-byte Reload - pinsrb xmm4, byte ptr [r14 + r8 + 17], 11 - mov rdi, qword ptr [rsp + 56] # 8-byte Reload - pinsrb xmm4, byte ptr [r14 + rdi + 17], 12 - mov rdx, qword ptr [rsp + 120] # 8-byte Reload - pinsrb xmm4, byte ptr [r14 + rdx + 17], 13 - pinsrb xmm4, byte ptr [r14 + rcx + 17], 14 - mov r11, rcx - pinsrb xmm4, byte ptr [r14 + r13 + 17], 15 + pinsrb xmm4, byte ptr [r14 + rcx + 17], 4 + mov r9, qword ptr [rsp + 96] # 8-byte Reload + pinsrb xmm4, byte ptr [r14 + r9 + 17], 5 + pinsrb xmm4, byte ptr [r14 + r11 + 17], 6 + mov r8, qword ptr [rsp + 48] # 8-byte Reload + pinsrb xmm4, byte ptr [r14 + r8 + 17], 7 + mov rdi, qword ptr [rsp + 144] # 8-byte Reload + pinsrb xmm4, byte ptr [r14 + rdi + 17], 8 + mov rcx, qword ptr [rsp + 88] # 8-byte Reload + pinsrb xmm4, byte ptr [r14 + rcx + 17], 9 + mov r10, qword ptr [rsp + 104] # 8-byte Reload + pinsrb xmm4, byte ptr [r14 + r10 + 17], 10 + mov rdx, qword ptr [rsp + 72] # 8-byte Reload + pinsrb xmm4, byte ptr [r14 + rdx + 17], 11 + pinsrb xmm4, byte ptr [r14 + rsi + 17], 12 + pinsrb xmm4, byte ptr [r14 + r13 + 17], 13 + pinsrb xmm4, byte ptr [r14 + r12 + 17], 14 + pinsrb xmm4, byte ptr [r14 + rbx + 17], 15 pcmpeqb xmm10, xmm14 pcmpeqb xmm4, xmm14 movdqa xmm6, xmmword ptr [rip + .LCPI5_16] # xmm6 = [2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2] pandn xmm4, xmm6 paddb xmm4, xmm10 - mov rax, qword ptr [rsp + 80] # 8-byte Reload - movzx esi, byte ptr [r14 + rax + 30] + movzx esi, byte ptr [r14 + r15 + 30] movd xmm10, esi - mov rsi, qword ptr [rsp + 24] # 8-byte Reload - pinsrb xmm7, byte ptr [r14 + rsi + 18], 1 - pinsrb xmm5, byte ptr [r14 + rsi + 19], 1 - pinsrb xmm3, byte ptr [r14 + rsi + 20], 1 - pinsrb xmm2, byte ptr [r14 + rsi + 21], 1 - pinsrb xmm1, byte ptr [r14 + rsi + 22], 1 - pinsrb xmm8, byte ptr [r14 + rsi + 23], 1 - pinsrb xmm12, byte ptr [r14 + rsi + 24], 1 - pinsrb xmm13, byte ptr [r14 + rsi + 25], 1 - pinsrb xmm0, byte ptr [r14 + rsi + 26], 1 - pinsrb xmm11, byte ptr [r14 + rsi + 27], 1 - pinsrb xmm15, byte ptr [r14 + rsi + 28], 1 - pinsrb xmm9, byte ptr [r14 + rsi + 29], 1 - pinsrb xmm10, byte ptr [r14 + rsi + 30], 1 - movzx eax, byte ptr [r14 + rax + 31] + mov rsi, rax + pinsrb xmm7, byte ptr [r14 + rax + 18], 1 + pinsrb xmm5, byte ptr [r14 + rax + 19], 1 + pinsrb xmm3, byte ptr [r14 + rax + 20], 1 + pinsrb xmm2, byte ptr [r14 + rax + 21], 1 + pinsrb xmm1, byte ptr [r14 + rax + 22], 1 + pinsrb xmm8, byte ptr [r14 + rax + 23], 1 + pinsrb xmm12, byte ptr [r14 + rax + 24], 1 + pinsrb xmm13, byte ptr [r14 + rax + 25], 1 + pinsrb xmm0, byte ptr [r14 + rax + 26], 1 + pinsrb xmm11, byte ptr [r14 + rax + 27], 1 + pinsrb xmm15, byte ptr [r14 + rax + 28], 1 + pinsrb xmm9, byte ptr [r14 + rax + 29], 1 + pinsrb xmm10, byte ptr [r14 + rax + 30], 1 + movzx eax, byte ptr [r14 + r15 + 31] movd xmm6, eax pinsrb xmm6, byte ptr [r14 + rsi + 31], 1 - mov rax, qword ptr [rsp + 72] # 8-byte Reload + mov rax, qword ptr [rsp + 40] # 8-byte Reload pinsrb xmm7, byte ptr [r14 + rax + 18], 2 pinsrb xmm5, byte ptr [r14 + rax + 19], 2 pinsrb xmm3, byte ptr [r14 + rax + 20], 2 @@ -28163,48 +29423,48 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 pinsrb xmm9, byte ptr [r14 + rax + 29], 2 pinsrb xmm10, byte ptr [r14 + rax + 30], 2 pinsrb xmm6, byte ptr [r14 + rax + 31], 2 - mov r15, qword ptr [rsp + 32] # 8-byte Reload + mov r15, qword ptr [rsp + 120] # 8-byte Reload pinsrb xmm7, byte ptr [r14 + r15 + 18], 3 - mov rax, qword ptr [rsp + 48] # 8-byte Reload + mov rax, qword ptr [rsp + 152] # 8-byte Reload pinsrb xmm7, byte ptr [r14 + rax + 18], 4 - pinsrb xmm7, byte ptr [r14 + rbx + 18], 5 - pinsrb xmm7, byte ptr [r14 + r12 + 18], 6 - mov rcx, qword ptr [rsp + 136] # 8-byte Reload - pinsrb xmm7, byte ptr [r14 + rcx + 18], 7 - mov rsi, qword ptr [rsp + 104] # 8-byte Reload - pinsrb xmm7, byte ptr [r14 + rsi + 18], 8 - pinsrb xmm7, byte ptr [r14 + r9 + 18], 9 + pinsrb xmm7, byte ptr [r14 + r9 + 18], 5 + pinsrb xmm7, byte ptr [r14 + r11 + 18], 6 + pinsrb xmm7, byte ptr [r14 + r8 + 18], 7 + mov rsi, rdi + pinsrb xmm7, byte ptr [r14 + rdi + 18], 8 + pinsrb xmm7, byte ptr [r14 + rcx + 18], 9 pinsrb xmm7, byte ptr [r14 + r10 + 18], 10 - pinsrb xmm7, byte ptr [r14 + r8 + 18], 11 + pinsrb xmm7, byte ptr [r14 + rdx + 18], 11 + mov rdi, qword ptr [rsp + 112] # 8-byte Reload pinsrb xmm7, byte ptr [r14 + rdi + 18], 12 - pinsrb xmm7, byte ptr [r14 + rdx + 18], 13 - pinsrb xmm7, byte ptr [r14 + r11 + 18], 14 - pinsrb xmm7, byte ptr [r14 + r13 + 18], 15 + pinsrb xmm7, byte ptr [r14 + r13 + 18], 13 + pinsrb xmm7, byte ptr [r14 + r12 + 18], 14 + pinsrb xmm7, byte ptr [r14 + rbx + 18], 15 pinsrb xmm5, byte ptr [r14 + r15 + 19], 3 pinsrb xmm5, byte ptr [r14 + rax + 19], 4 - pinsrb xmm5, byte ptr [r14 + rbx + 19], 5 - pinsrb xmm5, byte ptr [r14 + r12 + 19], 6 - pinsrb xmm5, byte ptr [r14 + rcx + 19], 7 + pinsrb xmm5, byte ptr [r14 + r9 + 19], 5 + pinsrb xmm5, byte ptr [r14 + r11 + 19], 6 + pinsrb xmm5, byte ptr [r14 + r8 + 19], 7 pinsrb xmm5, byte ptr [r14 + rsi + 19], 8 - pinsrb xmm5, byte ptr [r14 + r9 + 19], 9 + pinsrb xmm5, byte ptr [r14 + rcx + 19], 9 pinsrb xmm5, byte ptr [r14 + r10 + 19], 10 - pinsrb xmm5, byte ptr [r14 + r8 + 19], 11 + pinsrb xmm5, byte ptr [r14 + rdx + 19], 11 pinsrb xmm5, byte ptr [r14 + rdi + 19], 12 - pinsrb xmm5, byte ptr [r14 + rdx + 19], 13 - pinsrb xmm5, byte ptr [r14 + r11 + 19], 14 - pinsrb xmm5, byte ptr [r14 + r13 + 19], 15 + pinsrb xmm5, byte ptr [r14 + r13 + 19], 13 + pinsrb xmm5, byte ptr [r14 + r12 + 19], 14 + pinsrb xmm5, byte ptr [r14 + rbx + 19], 15 pinsrb xmm3, byte ptr [r14 + r15 + 20], 3 pinsrb xmm3, byte ptr [r14 + rax + 20], 4 - pinsrb xmm3, byte ptr [r14 + rbx + 20], 5 - pinsrb xmm3, byte ptr [r14 + r12 + 20], 6 - pinsrb xmm3, byte ptr [r14 + rcx + 20], 7 + pinsrb xmm3, byte ptr [r14 + r9 + 20], 5 + pinsrb xmm3, byte ptr [r14 + r11 + 20], 6 + pinsrb xmm3, byte ptr [r14 + r8 + 20], 7 pinsrb xmm3, byte ptr [r14 + rsi + 20], 8 - pinsrb xmm3, byte ptr [r14 + r9 + 20], 9 + pinsrb xmm3, byte ptr [r14 + rcx + 20], 9 pinsrb xmm3, byte ptr [r14 + r10 + 20], 10 - pinsrb xmm3, byte ptr [r14 + r8 + 20], 11 + pinsrb xmm3, byte ptr [r14 + rdx + 20], 11 pinsrb xmm3, byte ptr [r14 + rdi + 20], 12 - pinsrb xmm3, byte ptr [r14 + rdx + 20], 13 - pinsrb xmm3, byte ptr [r14 + r11 + 20], 14 + pinsrb xmm3, byte ptr [r14 + r13 + 20], 13 + pinsrb xmm3, byte ptr [r14 + r12 + 20], 14 pcmpeqb xmm7, xmm14 movdqa xmm14, xmmword ptr [rip + .LCPI5_17] # xmm14 = [4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4] pandn xmm7, xmm14 @@ -28212,7 +29472,7 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 movdqa xmm14, xmmword ptr [rip + .LCPI5_18] # xmm14 = [8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8] pandn xmm5, xmm14 por xmm5, xmm7 - pinsrb xmm3, byte ptr [r14 + r13 + 20], 15 + pinsrb xmm3, byte ptr [r14 + rbx + 20], 15 movdqa xmm14, xmmword ptr [rsp + 176] # 16-byte Reload pcmpeqb xmm3, xmm14 movdqa xmm7, xmmword ptr [rip + .LCPI5_19] # xmm7 = [16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16] @@ -28223,42 +29483,42 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 por xmm3, xmm4 pinsrb xmm2, byte ptr [r14 + r15 + 21], 3 pinsrb xmm2, byte ptr [r14 + rax + 21], 4 - pinsrb xmm2, byte ptr [r14 + rbx + 21], 5 - pinsrb xmm2, byte ptr [r14 + r12 + 21], 6 - pinsrb xmm2, byte ptr [r14 + rcx + 21], 7 + pinsrb xmm2, byte ptr [r14 + r9 + 21], 5 + pinsrb xmm2, byte ptr [r14 + r11 + 21], 6 + pinsrb xmm2, byte ptr [r14 + r8 + 21], 7 pinsrb xmm2, byte ptr [r14 + rsi + 21], 8 - pinsrb xmm2, byte ptr [r14 + r9 + 21], 9 + pinsrb xmm2, byte ptr [r14 + rcx + 21], 9 pinsrb xmm2, byte ptr [r14 + r10 + 21], 10 - pinsrb xmm2, byte ptr [r14 + r8 + 21], 11 + pinsrb xmm2, byte ptr [r14 + rdx + 21], 11 pinsrb xmm2, byte ptr [r14 + rdi + 21], 12 - pinsrb xmm2, byte ptr [r14 + rdx + 21], 13 - pinsrb xmm2, byte ptr [r14 + r11 + 21], 14 - pinsrb xmm2, byte ptr [r14 + r13 + 21], 15 + pinsrb xmm2, byte ptr [r14 + r13 + 21], 13 + pinsrb xmm2, byte ptr [r14 + r12 + 21], 14 + pinsrb xmm2, byte ptr [r14 + rbx + 21], 15 pinsrb xmm1, byte ptr [r14 + r15 + 22], 3 pinsrb xmm1, byte ptr [r14 + rax + 22], 4 - pinsrb xmm1, byte ptr [r14 + rbx + 22], 5 - pinsrb xmm1, byte ptr [r14 + r12 + 22], 6 - pinsrb xmm1, byte ptr [r14 + rcx + 22], 7 + pinsrb xmm1, byte ptr [r14 + r9 + 22], 5 + pinsrb xmm1, byte ptr [r14 + r11 + 22], 6 + pinsrb xmm1, byte ptr [r14 + r8 + 22], 7 pinsrb xmm1, byte ptr [r14 + rsi + 22], 8 - pinsrb xmm1, byte ptr [r14 + r9 + 22], 9 + pinsrb xmm1, byte ptr [r14 + rcx + 22], 9 pinsrb xmm1, byte ptr [r14 + r10 + 22], 10 - pinsrb xmm1, byte ptr [r14 + r8 + 22], 11 + pinsrb xmm1, byte ptr [r14 + rdx + 22], 11 pinsrb xmm1, byte ptr [r14 + rdi + 22], 12 - pinsrb xmm1, byte ptr [r14 + rdx + 22], 13 - pinsrb xmm1, byte ptr [r14 + r11 + 22], 14 - pinsrb xmm1, byte ptr [r14 + r13 + 22], 15 + pinsrb xmm1, byte ptr [r14 + r13 + 22], 13 + pinsrb xmm1, byte ptr [r14 + r12 + 22], 14 + pinsrb xmm1, byte ptr [r14 + rbx + 22], 15 pinsrb xmm8, byte ptr [r14 + r15 + 23], 3 pinsrb xmm8, byte ptr [r14 + rax + 23], 4 - pinsrb xmm8, byte ptr [r14 + rbx + 23], 5 - pinsrb xmm8, byte ptr [r14 + r12 + 23], 6 - pinsrb xmm8, byte ptr [r14 + rcx + 23], 7 + pinsrb xmm8, byte ptr [r14 + r9 + 23], 5 + pinsrb xmm8, byte ptr [r14 + r11 + 23], 6 + pinsrb xmm8, byte ptr [r14 + r8 + 23], 7 pinsrb xmm8, byte ptr [r14 + rsi + 23], 8 - pinsrb xmm8, byte ptr [r14 + r9 + 23], 9 + pinsrb xmm8, byte ptr [r14 + rcx + 23], 9 pinsrb xmm8, byte ptr [r14 + r10 + 23], 10 - pinsrb xmm8, byte ptr [r14 + r8 + 23], 11 + pinsrb xmm8, byte ptr [r14 + rdx + 23], 11 pinsrb xmm8, byte ptr [r14 + rdi + 23], 12 - pinsrb xmm8, byte ptr [r14 + rdx + 23], 13 - pinsrb xmm8, byte ptr [r14 + r11 + 23], 14 + pinsrb xmm8, byte ptr [r14 + r13 + 23], 13 + pinsrb xmm8, byte ptr [r14 + r12 + 23], 14 pcmpeqb xmm2, xmm14 movdqa xmm5, xmmword ptr [rip + .LCPI5_20] # xmm5 = [32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32] pandn xmm2, xmm5 @@ -28266,68 +29526,68 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 movdqa xmm7, xmmword ptr [rip + .LCPI5_21] # xmm7 = [64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64] pandn xmm1, xmm7 por xmm1, xmm2 - pinsrb xmm8, byte ptr [r14 + r13 + 23], 15 + pinsrb xmm8, byte ptr [r14 + rbx + 23], 15 pcmpeqb xmm8, xmm14 movdqa xmm4, xmmword ptr [rip + .LCPI5_6] # xmm4 = [128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128] pandn xmm8, xmm4 por xmm8, xmm1 pinsrb xmm12, byte ptr [r14 + r15 + 24], 3 pinsrb xmm12, byte ptr [r14 + rax + 24], 4 - pinsrb xmm12, byte ptr [r14 + rbx + 24], 5 - pinsrb xmm12, byte ptr [r14 + r12 + 24], 6 - pinsrb xmm12, byte ptr [r14 + rcx + 24], 7 + pinsrb xmm12, byte ptr [r14 + r9 + 24], 5 + pinsrb xmm12, byte ptr [r14 + r11 + 24], 6 + pinsrb xmm12, byte ptr [r14 + r8 + 24], 7 pinsrb xmm12, byte ptr [r14 + rsi + 24], 8 - pinsrb xmm12, byte ptr [r14 + r9 + 24], 9 + pinsrb xmm12, byte ptr [r14 + rcx + 24], 9 pinsrb xmm12, byte ptr [r14 + r10 + 24], 10 - pinsrb xmm12, byte ptr [r14 + r8 + 24], 11 + pinsrb xmm12, byte ptr [r14 + rdx + 24], 11 pinsrb xmm12, byte ptr [r14 + rdi + 24], 12 - pinsrb xmm12, byte ptr [r14 + rdx + 24], 13 - pinsrb xmm12, byte ptr [r14 + r11 + 24], 14 - pinsrb xmm12, byte ptr [r14 + r13 + 24], 15 + pinsrb xmm12, byte ptr [r14 + r13 + 24], 13 + pinsrb xmm12, byte ptr [r14 + r12 + 24], 14 + pinsrb xmm12, byte ptr [r14 + rbx + 24], 15 por xmm8, xmm3 pcmpeqb xmm12, xmm14 pinsrb xmm13, byte ptr [r14 + r15 + 25], 3 pinsrb xmm13, byte ptr [r14 + rax + 25], 4 - pinsrb xmm13, byte ptr [r14 + rbx + 25], 5 - pinsrb xmm13, byte ptr [r14 + r12 + 25], 6 - pinsrb xmm13, byte ptr [r14 + rcx + 25], 7 + pinsrb xmm13, byte ptr [r14 + r9 + 25], 5 + pinsrb xmm13, byte ptr [r14 + r11 + 25], 6 + pinsrb xmm13, byte ptr [r14 + r8 + 25], 7 pinsrb xmm13, byte ptr [r14 + rsi + 25], 8 - pinsrb xmm13, byte ptr [r14 + r9 + 25], 9 + pinsrb xmm13, byte ptr [r14 + rcx + 25], 9 pinsrb xmm13, byte ptr [r14 + r10 + 25], 10 - pinsrb xmm13, byte ptr [r14 + r8 + 25], 11 + pinsrb xmm13, byte ptr [r14 + rdx + 25], 11 pinsrb xmm13, byte ptr [r14 + rdi + 25], 12 - pinsrb xmm13, byte ptr [r14 + rdx + 25], 13 - pinsrb xmm13, byte ptr [r14 + r11 + 25], 14 - pinsrb xmm13, byte ptr [r14 + r13 + 25], 15 + pinsrb xmm13, byte ptr [r14 + r13 + 25], 13 + pinsrb xmm13, byte ptr [r14 + r12 + 25], 14 + pinsrb xmm13, byte ptr [r14 + rbx + 25], 15 pinsrb xmm0, byte ptr [r14 + r15 + 26], 3 pinsrb xmm0, byte ptr [r14 + rax + 26], 4 - pinsrb xmm0, byte ptr [r14 + rbx + 26], 5 - pinsrb xmm0, byte ptr [r14 + r12 + 26], 6 - pinsrb xmm0, byte ptr [r14 + rcx + 26], 7 + pinsrb xmm0, byte ptr [r14 + r9 + 26], 5 + pinsrb xmm0, byte ptr [r14 + r11 + 26], 6 + pinsrb xmm0, byte ptr [r14 + r8 + 26], 7 pinsrb xmm0, byte ptr [r14 + rsi + 26], 8 - pinsrb xmm0, byte ptr [r14 + r9 + 26], 9 + pinsrb xmm0, byte ptr [r14 + rcx + 26], 9 pinsrb xmm0, byte ptr [r14 + r10 + 26], 10 - pinsrb xmm0, byte ptr [r14 + r8 + 26], 11 + pinsrb xmm0, byte ptr [r14 + rdx + 26], 11 pinsrb xmm0, byte ptr [r14 + rdi + 26], 12 - pinsrb xmm0, byte ptr [r14 + rdx + 26], 13 - pinsrb xmm0, byte ptr [r14 + r11 + 26], 14 - pinsrb xmm0, byte ptr [r14 + r13 + 26], 15 + pinsrb xmm0, byte ptr [r14 + r13 + 26], 13 + pinsrb xmm0, byte ptr [r14 + r12 + 26], 14 + pinsrb xmm0, byte ptr [r14 + rbx + 26], 15 pinsrb xmm11, byte ptr [r14 + r15 + 27], 3 pinsrb xmm11, byte ptr [r14 + rax + 27], 4 - pinsrb xmm11, byte ptr [r14 + rbx + 27], 5 - pinsrb xmm11, byte ptr [r14 + r12 + 27], 6 - pinsrb xmm11, byte ptr [r14 + rcx + 27], 7 + pinsrb xmm11, byte ptr [r14 + r9 + 27], 5 + pinsrb xmm11, byte ptr [r14 + r11 + 27], 6 + pinsrb xmm11, byte ptr [r14 + r8 + 27], 7 pinsrb xmm11, byte ptr [r14 + rsi + 27], 8 - pinsrb xmm11, byte ptr [r14 + r9 + 27], 9 + pinsrb xmm11, byte ptr [r14 + rcx + 27], 9 pinsrb xmm11, byte ptr [r14 + r10 + 27], 10 - pinsrb xmm11, byte ptr [r14 + r8 + 27], 11 + pinsrb xmm11, byte ptr [r14 + rdx + 27], 11 pinsrb xmm11, byte ptr [r14 + rdi + 27], 12 - pinsrb xmm11, byte ptr [r14 + rdx + 27], 13 - pinsrb xmm11, byte ptr [r14 + r11 + 27], 14 + pinsrb xmm11, byte ptr [r14 + r13 + 27], 13 + pinsrb xmm11, byte ptr [r14 + r12 + 27], 14 pcmpeqb xmm13, xmm14 pandn xmm13, xmmword ptr [rip + .LCPI5_16] paddb xmm13, xmm12 - pinsrb xmm11, byte ptr [r14 + r13 + 27], 15 + pinsrb xmm11, byte ptr [r14 + rbx + 27], 15 pcmpeqb xmm0, xmm14 pandn xmm0, xmmword ptr [rip + .LCPI5_17] pcmpeqb xmm11, xmm14 @@ -28341,61 +29601,60 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 pinsrb xmm9, byte ptr [r14 + rax + 29], 4 pinsrb xmm10, byte ptr [r14 + rax + 30], 4 pinsrb xmm6, byte ptr [r14 + rax + 31], 4 - pinsrb xmm15, byte ptr [r14 + rbx + 28], 5 - pinsrb xmm9, byte ptr [r14 + rbx + 29], 5 - pinsrb xmm10, byte ptr [r14 + rbx + 30], 5 - pinsrb xmm6, byte ptr [r14 + rbx + 31], 5 - pinsrb xmm15, byte ptr [r14 + r12 + 28], 6 - pinsrb xmm9, byte ptr [r14 + r12 + 29], 6 - pinsrb xmm10, byte ptr [r14 + r12 + 30], 6 - pinsrb xmm6, byte ptr [r14 + r12 + 31], 6 - mov rax, rcx - pinsrb xmm15, byte ptr [r14 + rcx + 28], 7 - pinsrb xmm9, byte ptr [r14 + rcx + 29], 7 - pinsrb xmm10, byte ptr [r14 + rcx + 30], 7 - pinsrb xmm6, byte ptr [r14 + rcx + 31], 7 + mov rax, r9 + pinsrb xmm15, byte ptr [r14 + r9 + 28], 5 + pinsrb xmm9, byte ptr [r14 + r9 + 29], 5 + pinsrb xmm10, byte ptr [r14 + r9 + 30], 5 + pinsrb xmm6, byte ptr [r14 + r9 + 31], 5 + pinsrb xmm15, byte ptr [r14 + r11 + 28], 6 + pinsrb xmm9, byte ptr [r14 + r11 + 29], 6 + pinsrb xmm10, byte ptr [r14 + r11 + 30], 6 + pinsrb xmm6, byte ptr [r14 + r11 + 31], 6 + mov rax, r8 + pinsrb xmm15, byte ptr [r14 + r8 + 28], 7 + pinsrb xmm9, byte ptr [r14 + r8 + 29], 7 + pinsrb xmm10, byte ptr [r14 + r8 + 30], 7 + pinsrb xmm6, byte ptr [r14 + r8 + 31], 7 mov rax, rsi pinsrb xmm15, byte ptr [r14 + rsi + 28], 8 pinsrb xmm9, byte ptr [r14 + rsi + 29], 8 pinsrb xmm10, byte ptr [r14 + rsi + 30], 8 pinsrb xmm6, byte ptr [r14 + rsi + 31], 8 - mov rax, r9 - pinsrb xmm15, byte ptr [r14 + r9 + 28], 9 - pinsrb xmm9, byte ptr [r14 + r9 + 29], 9 - pinsrb xmm10, byte ptr [r14 + r9 + 30], 9 - pinsrb xmm6, byte ptr [r14 + r9 + 31], 9 + mov rax, rcx + pinsrb xmm15, byte ptr [r14 + rcx + 28], 9 + pinsrb xmm9, byte ptr [r14 + rcx + 29], 9 + pinsrb xmm10, byte ptr [r14 + rcx + 30], 9 + pinsrb xmm6, byte ptr [r14 + rcx + 31], 9 mov rax, r10 pinsrb xmm15, byte ptr [r14 + r10 + 28], 10 pinsrb xmm9, byte ptr [r14 + r10 + 29], 10 pinsrb xmm10, byte ptr [r14 + r10 + 30], 10 pinsrb xmm6, byte ptr [r14 + r10 + 31], 10 - mov rax, r8 - pinsrb xmm15, byte ptr [r14 + r8 + 28], 11 - pinsrb xmm9, byte ptr [r14 + r8 + 29], 11 - pinsrb xmm10, byte ptr [r14 + r8 + 30], 11 - pinsrb xmm6, byte ptr [r14 + r8 + 31], 11 + mov rax, rdx + pinsrb xmm15, byte ptr [r14 + rdx + 28], 11 + pinsrb xmm9, byte ptr [r14 + rdx + 29], 11 + pinsrb xmm10, byte ptr [r14 + rdx + 30], 11 + pinsrb xmm6, byte ptr [r14 + rdx + 31], 11 mov rax, rdi pinsrb xmm15, byte ptr [r14 + rdi + 28], 12 pinsrb xmm9, byte ptr [r14 + rdi + 29], 12 pinsrb xmm10, byte ptr [r14 + rdi + 30], 12 pinsrb xmm6, byte ptr [r14 + rdi + 31], 12 - mov rax, rdx - pinsrb xmm15, byte ptr [r14 + rdx + 28], 13 - pinsrb xmm9, byte ptr [r14 + rdx + 29], 13 - pinsrb xmm10, byte ptr [r14 + rdx + 30], 13 - pinsrb xmm6, byte ptr [r14 + rdx + 31], 13 - mov rax, r11 - pinsrb xmm15, byte ptr [r14 + r11 + 28], 14 - pinsrb xmm9, byte ptr [r14 + r11 + 29], 14 - pinsrb xmm10, byte ptr [r14 + r11 + 30], 14 - pinsrb xmm6, byte ptr [r14 + r11 + 31], 14 - pinsrb xmm15, byte ptr [r14 + r13 + 28], 15 - pinsrb xmm9, byte ptr [r14 + r13 + 29], 15 - pinsrb xmm10, byte ptr [r14 + r13 + 30], 15 + pinsrb xmm15, byte ptr [r14 + r13 + 28], 13 + pinsrb xmm9, byte ptr [r14 + r13 + 29], 13 + pinsrb xmm10, byte ptr [r14 + r13 + 30], 13 + pinsrb xmm6, byte ptr [r14 + r13 + 31], 13 + pinsrb xmm15, byte ptr [r14 + r12 + 28], 14 + pinsrb xmm9, byte ptr [r14 + r12 + 29], 14 + pinsrb xmm10, byte ptr [r14 + r12 + 30], 14 + pinsrb xmm6, byte ptr [r14 + r12 + 31], 14 + pinsrb xmm15, byte ptr [r14 + rbx + 28], 15 + pinsrb xmm9, byte ptr [r14 + rbx + 29], 15 + pinsrb xmm10, byte ptr [r14 + rbx + 30], 15 pcmpeqb xmm15, xmm14 pandn xmm15, xmmword ptr [rip + .LCPI5_19] por xmm15, xmm11 - pinsrb xmm6, byte ptr [r14 + r13 + 31], 15 + pinsrb xmm6, byte ptr [r14 + rbx + 31], 15 psubb xmm13, xmmword ptr [rip + .LCPI5_22] por xmm15, xmm13 pcmpeqb xmm9, xmm14 @@ -28409,7 +29668,7 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 por xmm6, xmm15 movdqa xmm0, xmm8 punpcklbw xmm0, xmm6 # xmm0 = xmm0[0],xmm6[0],xmm0[1],xmm6[1],xmm0[2],xmm6[2],xmm0[3],xmm6[3],xmm0[4],xmm6[4],xmm0[5],xmm6[5],xmm0[6],xmm6[6],xmm0[7],xmm6[7] - movdqa xmm3, xmmword ptr [rsp + 256] # 16-byte Reload + movdqa xmm3, xmmword ptr [rsp + 240] # 16-byte Reload movdqa xmm1, xmm3 movdqa xmm4, xmmword ptr [rsp + 192] # 16-byte Reload punpcklbw xmm1, xmm4 # xmm1 = xmm1[0],xmm4[0],xmm1[1],xmm4[1],xmm1[2],xmm4[2],xmm1[3],xmm4[3],xmm1[4],xmm4[4],xmm1[5],xmm4[5],xmm1[6],xmm4[6],xmm1[7],xmm4[7] @@ -28429,46 +29688,46 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 movdqu xmmword ptr [rax + 4*rcx], xmm2 add rcx, 16 mov rax, rcx - cmp rcx, qword ptr [rsp + 216] # 8-byte Folded Reload - jne .LBB5_86 -# %bb.87: - mov r10, qword ptr [rsp + 248] # 8-byte Reload - cmp r10, qword ptr [rsp + 216] # 8-byte Folded Reload + cmp rcx, qword ptr [rsp + 232] # 8-byte Folded Reload + jne .LBB5_87 +# %bb.88: + mov r10, qword ptr [rsp + 264] # 8-byte Reload + cmp r10, qword ptr [rsp + 232] # 8-byte Folded Reload mov r14, qword ptr [rsp + 272] # 8-byte Reload mov r15, qword ptr [rsp + 160] # 8-byte Reload - jne .LBB5_88 - jmp .LBB5_91 -.LBB5_66: + jne .LBB5_89 + jmp .LBB5_92 +.LBB5_67: and r10, -16 mov rax, r10 shl rax, 5 add rax, r14 mov qword ptr [rsp + 272], rax # 8-byte Spill - mov qword ptr [rsp + 216], r10 # 8-byte Spill + mov qword ptr [rsp + 232], r10 # 8-byte Spill mov rax, qword ptr [rsp + 8] # 8-byte Reload lea rax, [rax + 4*r10] - mov qword ptr [rsp + 88], rax # 8-byte Spill - movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload + mov qword ptr [rsp + 104], rax # 8-byte Spill + movzx eax, byte ptr [rsp + 64] # 1-byte Folded Reload movd xmm1, eax pxor xmm0, xmm0 pshufb xmm1, xmm0 movdqa xmmword ptr [rsp + 176], xmm1 # 16-byte Spill xor eax, eax .p2align 4, 0x90 -.LBB5_67: # =>This Inner Loop Header: Depth=1 +.LBB5_68: # =>This Inner Loop Header: Depth=1 mov qword ptr [rsp + 168], rax # 8-byte Spill shl rax, 5 - mov r8, rax - mov r11, rax - mov r9, rax mov r13, rax - mov r15, rax mov rdi, rax + mov r15, rax + mov rbx, rax mov r10, rax + mov r9, rax + mov r8, rax mov r12, rax - mov rbx, rax mov rdx, rax mov rsi, rax + mov qword ptr [rsp + 96], rax # 8-byte Spill movzx ecx, byte ptr [r14 + rax] movd xmm4, ecx movzx ecx, byte ptr [r14 + rax + 1] @@ -28487,7 +29746,7 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 movd xmm14, ecx movzx ecx, byte ptr [r14 + rax + 8] movd xmm0, ecx - movdqa xmmword ptr [rsp + 256], xmm0 # 16-byte Spill + movdqa xmmword ptr [rsp + 240], xmm0 # 16-byte Spill movzx ecx, byte ptr [r14 + rax + 9] movd xmm11, ecx movzx ecx, byte ptr [r14 + rax + 10] @@ -28496,7 +29755,7 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 movd xmm13, ecx movzx ecx, byte ptr [r14 + rax + 12] movd xmm0, ecx - movdqa xmmword ptr [rsp + 224], xmm0 # 16-byte Spill + movdqa xmmword ptr [rsp + 208], xmm0 # 16-byte Spill movzx ecx, byte ptr [r14 + rax + 13] movd xmm6, ecx movzx ecx, byte ptr [r14 + rax + 14] @@ -28504,152 +29763,153 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 movzx ecx, byte ptr [r14 + rax + 15] movd xmm0, ecx movdqa xmmword ptr [rsp + 192], xmm0 # 16-byte Spill - mov qword ptr [rsp + 128], rax # 8-byte Spill - mov rcx, rax - or rcx, 32 - mov qword ptr [rsp + 16], rcx # 8-byte Spill - or r8, 64 - mov qword ptr [rsp + 32], r8 # 8-byte Spill - or r11, 96 - mov qword ptr [rsp + 80], r11 # 8-byte Spill - or r9, 128 - mov qword ptr [rsp + 24], r9 # 8-byte Spill - or r13, 160 - or r15, 192 - or rdi, 224 - mov qword ptr [rsp + 104], rdi # 8-byte Spill - or r10, 256 - mov qword ptr [rsp + 152], r10 # 8-byte Spill + mov qword ptr [rsp + 56], rax # 8-byte Spill + mov r11, rax + or r11, 32 + mov qword ptr [rsp + 16], r11 # 8-byte Spill + or r13, 64 + or rdi, 96 + or r15, 128 + or rbx, 160 + or r10, 192 + or r9, 224 + or r8, 256 or r12, 288 - or rbx, 320 - mov qword ptr [rsp + 144], rbx # 8-byte Spill - or rdx, 352 + or rdx, 320 mov qword ptr [rsp + 112], rdx # 8-byte Spill - mov rbx, rax - or rbx, 384 - mov qword ptr [rsp + 120], rbx # 8-byte Spill + or rsi, 352 + mov qword ptr [rsp + 152], rsi # 8-byte Spill + mov rcx, qword ptr [rsp + 96] # 8-byte Reload + or rcx, 384 + mov qword ptr [rsp + 96], rcx # 8-byte Spill mov rdx, rax or rdx, 416 - mov rcx, rax - or rcx, 448 - mov qword ptr [rsp + 64], rcx # 8-byte Spill - or rsi, 480 - mov rax, qword ptr [rsp + 16] # 8-byte Reload - pinsrb xmm4, byte ptr [r14 + rax], 1 - pinsrb xmm4, byte ptr [r14 + r8], 2 - pinsrb xmm4, byte ptr [r14 + r11], 3 - pinsrb xmm4, byte ptr [r14 + r9], 4 - pinsrb xmm4, byte ptr [r14 + r13], 5 - pinsrb xmm4, byte ptr [r14 + r15], 6 - pinsrb xmm4, byte ptr [r14 + rdi], 7 - pinsrb xmm4, byte ptr [r14 + r10], 8 + mov qword ptr [rsp + 24], rdx # 8-byte Spill + mov rdx, rax + or rdx, 448 + mov qword ptr [rsp + 32], rdx # 8-byte Spill + mov rdx, rax + or rdx, 480 + mov qword ptr [rsp + 80], rdx # 8-byte Spill + pinsrb xmm4, byte ptr [r14 + r11], 1 + mov qword ptr [rsp + 48], r13 # 8-byte Spill + pinsrb xmm4, byte ptr [r14 + r13], 2 + mov qword ptr [rsp + 40], rdi # 8-byte Spill + pinsrb xmm4, byte ptr [r14 + rdi], 3 + mov qword ptr [rsp + 120], r15 # 8-byte Spill + pinsrb xmm4, byte ptr [r14 + r15], 4 + mov qword ptr [rsp + 128], rbx # 8-byte Spill + pinsrb xmm4, byte ptr [r14 + rbx], 5 + mov qword ptr [rsp + 144], r10 # 8-byte Spill + pinsrb xmm4, byte ptr [r14 + r10], 6 + mov qword ptr [rsp + 88], r9 # 8-byte Spill + pinsrb xmm4, byte ptr [r14 + r9], 7 + mov qword ptr [rsp + 72], r8 # 8-byte Spill + pinsrb xmm4, byte ptr [r14 + r8], 8 + mov r8, r12 pinsrb xmm4, byte ptr [r14 + r12], 9 - mov rax, qword ptr [rsp + 144] # 8-byte Reload - pinsrb xmm4, byte ptr [r14 + rax], 10 - mov rax, qword ptr [rsp + 112] # 8-byte Reload - pinsrb xmm4, byte ptr [r14 + rax], 11 - pinsrb xmm4, byte ptr [r14 + rbx], 12 - pinsrb xmm4, byte ptr [r14 + rdx], 13 - pinsrb xmm4, byte ptr [r14 + rcx], 14 - pinsrb xmm4, byte ptr [r14 + rsi], 15 - mov rax, qword ptr [rsp + 16] # 8-byte Reload - pinsrb xmm3, byte ptr [r14 + rax + 1], 1 - pinsrb xmm3, byte ptr [r14 + r8 + 1], 2 - pinsrb xmm3, byte ptr [r14 + r11 + 1], 3 - pinsrb xmm3, byte ptr [r14 + r9 + 1], 4 - pinsrb xmm3, byte ptr [r14 + r13 + 1], 5 - mov r9, r13 - pinsrb xmm3, byte ptr [r14 + r15 + 1], 6 - mov r11, r15 - pinsrb xmm3, byte ptr [r14 + rdi + 1], 7 - pinsrb xmm3, byte ptr [r14 + r10 + 1], 8 - pinsrb xmm3, byte ptr [r14 + r12 + 1], 9 - mov rdi, r12 - mov r12, qword ptr [rsp + 144] # 8-byte Reload + mov r12, qword ptr [rsp + 112] # 8-byte Reload + pinsrb xmm4, byte ptr [r14 + r12], 10 + pinsrb xmm4, byte ptr [r14 + rsi], 11 + pinsrb xmm4, byte ptr [r14 + rcx], 12 + mov rax, qword ptr [rsp + 24] # 8-byte Reload + pinsrb xmm4, byte ptr [r14 + rax], 13 + mov rax, qword ptr [rsp + 32] # 8-byte Reload + pinsrb xmm4, byte ptr [r14 + rax], 14 + pinsrb xmm4, byte ptr [r14 + rdx], 15 + pinsrb xmm3, byte ptr [r14 + r11 + 1], 1 + pinsrb xmm3, byte ptr [r14 + r13 + 1], 2 + pinsrb xmm3, byte ptr [r14 + rdi + 1], 3 + pinsrb xmm3, byte ptr [r14 + r15 + 1], 4 + pinsrb xmm3, byte ptr [r14 + rbx + 1], 5 + pinsrb xmm3, byte ptr [r14 + r10 + 1], 6 + pinsrb xmm3, byte ptr [r14 + r9 + 1], 7 + mov r13, qword ptr [rsp + 72] # 8-byte Reload + pinsrb xmm3, byte ptr [r14 + r13 + 1], 8 + pinsrb xmm3, byte ptr [r14 + r8 + 1], 9 + mov rdi, r8 pinsrb xmm3, byte ptr [r14 + r12 + 1], 10 - mov rax, qword ptr [rsp + 112] # 8-byte Reload - pinsrb xmm3, byte ptr [r14 + rax + 1], 11 - pinsrb xmm3, byte ptr [r14 + rbx + 1], 12 - pinsrb xmm3, byte ptr [r14 + rdx + 1], 13 - mov qword ptr [rsp + 48], rdx # 8-byte Spill - pinsrb xmm3, byte ptr [r14 + rcx + 1], 14 + mov r15, r12 + pinsrb xmm3, byte ptr [r14 + rsi + 1], 11 + pinsrb xmm3, byte ptr [r14 + rcx + 1], 12 + mov r11, qword ptr [rsp + 24] # 8-byte Reload + pinsrb xmm3, byte ptr [r14 + r11 + 1], 13 + mov rax, qword ptr [rsp + 32] # 8-byte Reload + pinsrb xmm3, byte ptr [r14 + rax + 1], 14 movdqa xmm1, xmmword ptr [rsp + 176] # 16-byte Reload pcmpeqb xmm4, xmm1 - pinsrb xmm3, byte ptr [r14 + rsi + 1], 15 - mov r8, rsi + pinsrb xmm3, byte ptr [r14 + rdx + 1], 15 pcmpeqb xmm3, xmm1 movdqa xmm0, xmmword ptr [rip + .LCPI5_16] # xmm0 = [2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2] pandn xmm3, xmm0 paddb xmm3, xmm4 - mov rax, qword ptr [rsp + 128] # 8-byte Reload + mov rax, qword ptr [rsp + 56] # 8-byte Reload movzx esi, byte ptr [r14 + rax + 16] movd xmm10, esi mov rax, qword ptr [rsp + 16] # 8-byte Reload pinsrb xmm5, byte ptr [r14 + rax + 2], 1 - mov r13, qword ptr [rsp + 32] # 8-byte Reload - pinsrb xmm5, byte ptr [r14 + r13 + 2], 2 - mov r15, qword ptr [rsp + 80] # 8-byte Reload - pinsrb xmm5, byte ptr [r14 + r15 + 2], 3 - mov rbx, qword ptr [rsp + 24] # 8-byte Reload + mov r12, qword ptr [rsp + 48] # 8-byte Reload + pinsrb xmm5, byte ptr [r14 + r12 + 2], 2 + mov rax, qword ptr [rsp + 40] # 8-byte Reload + pinsrb xmm5, byte ptr [r14 + rax + 2], 3 + mov rbx, qword ptr [rsp + 120] # 8-byte Reload pinsrb xmm5, byte ptr [r14 + rbx + 2], 4 - pinsrb xmm5, byte ptr [r14 + r9 + 2], 5 - mov qword ptr [rsp + 136], r11 # 8-byte Spill - pinsrb xmm5, byte ptr [r14 + r11 + 2], 6 - mov r10, qword ptr [rsp + 104] # 8-byte Reload - pinsrb xmm5, byte ptr [r14 + r10 + 2], 7 - mov rax, qword ptr [rsp + 152] # 8-byte Reload - pinsrb xmm5, byte ptr [r14 + rax + 2], 8 - mov qword ptr [rsp + 96], rdi # 8-byte Spill + mov r10, qword ptr [rsp + 128] # 8-byte Reload + pinsrb xmm5, byte ptr [r14 + r10 + 2], 5 + mov r9, qword ptr [rsp + 144] # 8-byte Reload + pinsrb xmm5, byte ptr [r14 + r9 + 2], 6 + mov r8, qword ptr [rsp + 88] # 8-byte Reload + pinsrb xmm5, byte ptr [r14 + r8 + 2], 7 + pinsrb xmm5, byte ptr [r14 + r13 + 2], 8 + mov rcx, rdi pinsrb xmm5, byte ptr [r14 + rdi + 2], 9 - pinsrb xmm5, byte ptr [r14 + r12 + 2], 10 - mov rsi, qword ptr [rsp + 112] # 8-byte Reload - pinsrb xmm5, byte ptr [r14 + rsi + 2], 11 - mov rcx, qword ptr [rsp + 120] # 8-byte Reload - pinsrb xmm5, byte ptr [r14 + rcx + 2], 12 - pinsrb xmm5, byte ptr [r14 + rdx + 2], 13 - mov rdx, qword ptr [rsp + 64] # 8-byte Reload - pinsrb xmm5, byte ptr [r14 + rdx + 2], 14 - pinsrb xmm5, byte ptr [r14 + r8 + 2], 15 - mov rdx, qword ptr [rsp + 16] # 8-byte Reload - pinsrb xmm7, byte ptr [r14 + rdx + 3], 1 - pinsrb xmm7, byte ptr [r14 + r13 + 3], 2 - pinsrb xmm7, byte ptr [r14 + r15 + 3], 3 + pinsrb xmm5, byte ptr [r14 + r15 + 2], 10 + mov rdx, qword ptr [rsp + 152] # 8-byte Reload + pinsrb xmm5, byte ptr [r14 + rdx + 2], 11 + mov rdi, qword ptr [rsp + 96] # 8-byte Reload + pinsrb xmm5, byte ptr [r14 + rdi + 2], 12 + pinsrb xmm5, byte ptr [r14 + r11 + 2], 13 + mov rsi, qword ptr [rsp + 32] # 8-byte Reload + pinsrb xmm5, byte ptr [r14 + rsi + 2], 14 + mov r11, qword ptr [rsp + 80] # 8-byte Reload + pinsrb xmm5, byte ptr [r14 + r11 + 2], 15 + mov rax, qword ptr [rsp + 16] # 8-byte Reload + pinsrb xmm7, byte ptr [r14 + rax + 3], 1 + pinsrb xmm7, byte ptr [r14 + r12 + 3], 2 + mov rax, qword ptr [rsp + 40] # 8-byte Reload + pinsrb xmm7, byte ptr [r14 + rax + 3], 3 pinsrb xmm7, byte ptr [r14 + rbx + 3], 4 - pinsrb xmm7, byte ptr [r14 + r9 + 3], 5 - pinsrb xmm7, byte ptr [r14 + r11 + 3], 6 - pinsrb xmm7, byte ptr [r14 + r10 + 3], 7 - pinsrb xmm7, byte ptr [r14 + rax + 3], 8 - pinsrb xmm7, byte ptr [r14 + rdi + 3], 9 - pinsrb xmm7, byte ptr [r14 + r12 + 3], 10 - pinsrb xmm7, byte ptr [r14 + rsi + 3], 11 - pinsrb xmm7, byte ptr [r14 + rcx + 3], 12 - mov rdx, qword ptr [rsp + 48] # 8-byte Reload - pinsrb xmm7, byte ptr [r14 + rdx + 3], 13 - mov rdx, qword ptr [rsp + 64] # 8-byte Reload - pinsrb xmm7, byte ptr [r14 + rdx + 3], 14 - pinsrb xmm7, byte ptr [r14 + r8 + 3], 15 - mov rdx, qword ptr [rsp + 16] # 8-byte Reload - pinsrb xmm9, byte ptr [r14 + rdx + 4], 1 - pinsrb xmm9, byte ptr [r14 + r13 + 4], 2 - pinsrb xmm9, byte ptr [r14 + r15 + 4], 3 + pinsrb xmm7, byte ptr [r14 + r10 + 3], 5 + pinsrb xmm7, byte ptr [r14 + r9 + 3], 6 + pinsrb xmm7, byte ptr [r14 + r8 + 3], 7 + pinsrb xmm7, byte ptr [r14 + r13 + 3], 8 + pinsrb xmm7, byte ptr [r14 + rcx + 3], 9 + pinsrb xmm7, byte ptr [r14 + r15 + 3], 10 + pinsrb xmm7, byte ptr [r14 + rdx + 3], 11 + pinsrb xmm7, byte ptr [r14 + rdi + 3], 12 + mov rax, qword ptr [rsp + 24] # 8-byte Reload + pinsrb xmm7, byte ptr [r14 + rax + 3], 13 + pinsrb xmm7, byte ptr [r14 + rsi + 3], 14 + pinsrb xmm7, byte ptr [r14 + r11 + 3], 15 + mov rax, qword ptr [rsp + 16] # 8-byte Reload + pinsrb xmm9, byte ptr [r14 + rax + 4], 1 + pinsrb xmm9, byte ptr [r14 + r12 + 4], 2 + mov rax, qword ptr [rsp + 40] # 8-byte Reload + pinsrb xmm9, byte ptr [r14 + rax + 4], 3 pinsrb xmm9, byte ptr [r14 + rbx + 4], 4 - pinsrb xmm9, byte ptr [r14 + r9 + 4], 5 - mov r15, r9 - mov qword ptr [rsp + 56], r9 # 8-byte Spill - pinsrb xmm9, byte ptr [r14 + r11 + 4], 6 - pinsrb xmm9, byte ptr [r14 + r10 + 4], 7 - mov r9, r10 - pinsrb xmm9, byte ptr [r14 + rax + 4], 8 - pinsrb xmm9, byte ptr [r14 + rdi + 4], 9 - pinsrb xmm9, byte ptr [r14 + r12 + 4], 10 - pinsrb xmm9, byte ptr [r14 + rsi + 4], 11 - mov rdi, rsi - pinsrb xmm9, byte ptr [r14 + rcx + 4], 12 - mov r12, qword ptr [rsp + 48] # 8-byte Reload - pinsrb xmm9, byte ptr [r14 + r12 + 4], 13 - mov rdx, qword ptr [rsp + 64] # 8-byte Reload - pinsrb xmm9, byte ptr [r14 + rdx + 4], 14 - pinsrb xmm9, byte ptr [r14 + r8 + 4], 15 + pinsrb xmm9, byte ptr [r14 + r10 + 4], 5 + pinsrb xmm9, byte ptr [r14 + r9 + 4], 6 + pinsrb xmm9, byte ptr [r14 + r8 + 4], 7 + pinsrb xmm9, byte ptr [r14 + r13 + 4], 8 + mov rax, r13 + pinsrb xmm9, byte ptr [r14 + rcx + 4], 9 + pinsrb xmm9, byte ptr [r14 + r15 + 4], 10 + pinsrb xmm9, byte ptr [r14 + rdx + 4], 11 + pinsrb xmm9, byte ptr [r14 + rdi + 4], 12 + mov r13, qword ptr [rsp + 24] # 8-byte Reload + pinsrb xmm9, byte ptr [r14 + r13 + 4], 13 + pinsrb xmm9, byte ptr [r14 + rsi + 4], 14 + pinsrb xmm9, byte ptr [r14 + r11 + 4], 15 pcmpeqb xmm5, xmm1 movdqa xmm0, xmmword ptr [rip + .LCPI5_17] # xmm0 = [4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4] pandn xmm5, xmm0 @@ -28657,83 +29917,80 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 movdqa xmm0, xmmword ptr [rip + .LCPI5_18] # xmm0 = [8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8] pandn xmm7, xmm0 por xmm7, xmm5 - mov rdx, qword ptr [rsp + 128] # 8-byte Reload - movzx esi, byte ptr [r14 + rdx + 17] + mov r11, qword ptr [rsp + 56] # 8-byte Reload + movzx esi, byte ptr [r14 + r11 + 17] movd xmm4, esi pcmpeqb xmm9, xmm1 movdqa xmm0, xmmword ptr [rip + .LCPI5_19] # xmm0 = [16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16] pandn xmm9, xmm0 por xmm9, xmm7 - movzx esi, byte ptr [r14 + rdx + 18] + movzx esi, byte ptr [r14 + r11 + 18] movd xmm7, esi pcmpeqd xmm0, xmm0 psubb xmm3, xmm0 por xmm9, xmm3 - movzx esi, byte ptr [r14 + rdx + 19] + movzx esi, byte ptr [r14 + r11 + 19] movd xmm5, esi - mov rdx, qword ptr [rsp + 16] # 8-byte Reload - pinsrb xmm2, byte ptr [r14 + rdx + 5], 1 - mov r11, qword ptr [rsp + 32] # 8-byte Reload - pinsrb xmm2, byte ptr [r14 + r11 + 5], 2 - mov r13, qword ptr [rsp + 80] # 8-byte Reload - pinsrb xmm2, byte ptr [r14 + r13 + 5], 3 + mov rsi, qword ptr [rsp + 16] # 8-byte Reload + pinsrb xmm2, byte ptr [r14 + rsi + 5], 1 + pinsrb xmm2, byte ptr [r14 + r12 + 5], 2 + mov r15, qword ptr [rsp + 40] # 8-byte Reload + pinsrb xmm2, byte ptr [r14 + r15 + 5], 3 pinsrb xmm2, byte ptr [r14 + rbx + 5], 4 - pinsrb xmm2, byte ptr [r14 + r15 + 5], 5 - mov r10, qword ptr [rsp + 136] # 8-byte Reload - pinsrb xmm2, byte ptr [r14 + r10 + 5], 6 - pinsrb xmm2, byte ptr [r14 + r9 + 5], 7 + pinsrb xmm2, byte ptr [r14 + r10 + 5], 5 + pinsrb xmm2, byte ptr [r14 + r9 + 5], 6 + pinsrb xmm2, byte ptr [r14 + r8 + 5], 7 pinsrb xmm2, byte ptr [r14 + rax + 5], 8 - mov rsi, qword ptr [rsp + 96] # 8-byte Reload - pinsrb xmm2, byte ptr [r14 + rsi + 5], 9 - mov r15, qword ptr [rsp + 144] # 8-byte Reload - pinsrb xmm2, byte ptr [r14 + r15 + 5], 10 - mov r9, rdi - pinsrb xmm2, byte ptr [r14 + rdi + 5], 11 - pinsrb xmm2, byte ptr [r14 + rcx + 5], 12 - pinsrb xmm2, byte ptr [r14 + r12 + 5], 13 - mov rdi, qword ptr [rsp + 64] # 8-byte Reload - pinsrb xmm2, byte ptr [r14 + rdi + 5], 14 - mov qword ptr [rsp + 72], r8 # 8-byte Spill - pinsrb xmm2, byte ptr [r14 + r8 + 5], 15 - pinsrb xmm8, byte ptr [r14 + rdx + 6], 1 - pinsrb xmm8, byte ptr [r14 + r11 + 6], 2 + mov qword ptr [rsp + 136], rcx # 8-byte Spill + pinsrb xmm2, byte ptr [r14 + rcx + 5], 9 + mov rax, qword ptr [rsp + 112] # 8-byte Reload + pinsrb xmm2, byte ptr [r14 + rax + 5], 10 + pinsrb xmm2, byte ptr [r14 + rdx + 5], 11 + pinsrb xmm2, byte ptr [r14 + rdi + 5], 12 mov r11, r13 - pinsrb xmm8, byte ptr [r14 + r13 + 6], 3 + pinsrb xmm2, byte ptr [r14 + r13 + 5], 13 + mov rax, qword ptr [rsp + 32] # 8-byte Reload + pinsrb xmm2, byte ptr [r14 + rax + 5], 14 + mov r13, qword ptr [rsp + 80] # 8-byte Reload + pinsrb xmm2, byte ptr [r14 + r13 + 5], 15 + pinsrb xmm8, byte ptr [r14 + rsi + 6], 1 + pinsrb xmm8, byte ptr [r14 + r12 + 6], 2 + pinsrb xmm8, byte ptr [r14 + r15 + 6], 3 pinsrb xmm8, byte ptr [r14 + rbx + 6], 4 - mov r13, qword ptr [rsp + 56] # 8-byte Reload - pinsrb xmm8, byte ptr [r14 + r13 + 6], 5 - pinsrb xmm8, byte ptr [r14 + r10 + 6], 6 - mov rbx, qword ptr [rsp + 104] # 8-byte Reload - pinsrb xmm8, byte ptr [r14 + rbx + 6], 7 + pinsrb xmm8, byte ptr [r14 + r10 + 6], 5 + pinsrb xmm8, byte ptr [r14 + r9 + 6], 6 + pinsrb xmm8, byte ptr [r14 + r8 + 6], 7 + mov rax, qword ptr [rsp + 72] # 8-byte Reload pinsrb xmm8, byte ptr [r14 + rax + 6], 8 - pinsrb xmm8, byte ptr [r14 + rsi + 6], 9 - pinsrb xmm8, byte ptr [r14 + r15 + 6], 10 - pinsrb xmm8, byte ptr [r14 + r9 + 6], 11 - pinsrb xmm8, byte ptr [r14 + rcx + 6], 12 - pinsrb xmm8, byte ptr [r14 + r12 + 6], 13 - pinsrb xmm8, byte ptr [r14 + rdi + 6], 14 - pinsrb xmm8, byte ptr [r14 + r8 + 6], 15 - pinsrb xmm14, byte ptr [r14 + rdx + 7], 1 - mov rbx, qword ptr [rsp + 32] # 8-byte Reload - pinsrb xmm14, byte ptr [r14 + rbx + 7], 2 - mov r8, r11 - pinsrb xmm14, byte ptr [r14 + r11 + 7], 3 - mov rdx, qword ptr [rsp + 24] # 8-byte Reload - pinsrb xmm14, byte ptr [r14 + rdx + 7], 4 - pinsrb xmm14, byte ptr [r14 + r13 + 7], 5 - mov rdx, qword ptr [rsp + 136] # 8-byte Reload - pinsrb xmm14, byte ptr [r14 + rdx + 7], 6 - mov r9, qword ptr [rsp + 104] # 8-byte Reload - pinsrb xmm14, byte ptr [r14 + r9 + 7], 7 - pinsrb xmm14, byte ptr [r14 + rax + 7], 8 - mov r13, rax - pinsrb xmm14, byte ptr [r14 + rsi + 7], 9 + pinsrb xmm8, byte ptr [r14 + rcx + 6], 9 + mov rax, qword ptr [rsp + 112] # 8-byte Reload + pinsrb xmm8, byte ptr [r14 + rax + 6], 10 + pinsrb xmm8, byte ptr [r14 + rdx + 6], 11 + pinsrb xmm8, byte ptr [r14 + rdi + 6], 12 + pinsrb xmm8, byte ptr [r14 + r11 + 6], 13 + mov rax, qword ptr [rsp + 32] # 8-byte Reload + pinsrb xmm8, byte ptr [r14 + rax + 6], 14 + pinsrb xmm8, byte ptr [r14 + r13 + 6], 15 + mov rax, r13 + pinsrb xmm14, byte ptr [r14 + rsi + 7], 1 + pinsrb xmm14, byte ptr [r14 + r12 + 7], 2 + pinsrb xmm14, byte ptr [r14 + r15 + 7], 3 + pinsrb xmm14, byte ptr [r14 + rbx + 7], 4 + mov r12, rbx + pinsrb xmm14, byte ptr [r14 + r10 + 7], 5 + pinsrb xmm14, byte ptr [r14 + r9 + 7], 6 + pinsrb xmm14, byte ptr [r14 + r8 + 7], 7 + mov r9, r8 + mov r13, qword ptr [rsp + 72] # 8-byte Reload + pinsrb xmm14, byte ptr [r14 + r13 + 7], 8 + pinsrb xmm14, byte ptr [r14 + rcx + 7], 9 + mov r15, qword ptr [rsp + 112] # 8-byte Reload pinsrb xmm14, byte ptr [r14 + r15 + 7], 10 - mov r10, qword ptr [rsp + 112] # 8-byte Reload - pinsrb xmm14, byte ptr [r14 + r10 + 7], 11 - pinsrb xmm14, byte ptr [r14 + rcx + 7], 12 - pinsrb xmm14, byte ptr [r14 + r12 + 7], 13 - pinsrb xmm14, byte ptr [r14 + rdi + 7], 14 + pinsrb xmm14, byte ptr [r14 + rdx + 7], 11 + pinsrb xmm14, byte ptr [r14 + rdi + 7], 12 + pinsrb xmm14, byte ptr [r14 + r11 + 7], 13 + mov rcx, qword ptr [rsp + 32] # 8-byte Reload + pinsrb xmm14, byte ptr [r14 + rcx + 7], 14 movdqa xmm1, xmm14 movdqa xmm14, xmmword ptr [rsp + 176] # 16-byte Reload pcmpeqb xmm2, xmm14 @@ -28743,287 +30000,292 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 movdqa xmm0, xmmword ptr [rip + .LCPI5_21] # xmm0 = [64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64] pandn xmm8, xmm0 por xmm8, xmm2 - mov r15, qword ptr [rsp + 128] # 8-byte Reload - movzx esi, byte ptr [r14 + r15 + 20] + mov r8, qword ptr [rsp + 56] # 8-byte Reload + movzx esi, byte ptr [r14 + r8 + 20] movd xmm3, esi - mov rax, qword ptr [rsp + 72] # 8-byte Reload pinsrb xmm1, byte ptr [r14 + rax + 7], 15 pcmpeqb xmm1, xmm14 movdqa xmm0, xmmword ptr [rip + .LCPI5_6] # xmm0 = [128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128] pandn xmm1, xmm0 por xmm1, xmm8 - movzx esi, byte ptr [r14 + r15 + 21] + movzx esi, byte ptr [r14 + r8 + 21] movd xmm2, esi - movdqa xmm0, xmmword ptr [rsp + 256] # 16-byte Reload + movdqa xmm0, xmmword ptr [rsp + 240] # 16-byte Reload mov r11, qword ptr [rsp + 16] # 8-byte Reload pinsrb xmm0, byte ptr [r14 + r11 + 8], 1 + mov rbx, qword ptr [rsp + 48] # 8-byte Reload pinsrb xmm0, byte ptr [r14 + rbx + 8], 2 - pinsrb xmm0, byte ptr [r14 + r8 + 8], 3 - mov rcx, qword ptr [rsp + 24] # 8-byte Reload - pinsrb xmm0, byte ptr [r14 + rcx + 8], 4 - mov rsi, qword ptr [rsp + 56] # 8-byte Reload - pinsrb xmm0, byte ptr [r14 + rsi + 8], 5 - pinsrb xmm0, byte ptr [r14 + rdx + 8], 6 + mov rdi, qword ptr [rsp + 40] # 8-byte Reload + pinsrb xmm0, byte ptr [r14 + rdi + 8], 3 + pinsrb xmm0, byte ptr [r14 + r12 + 8], 4 + mov rdx, r12 + pinsrb xmm0, byte ptr [r14 + r10 + 8], 5 + mov rsi, qword ptr [rsp + 144] # 8-byte Reload + pinsrb xmm0, byte ptr [r14 + rsi + 8], 6 pinsrb xmm0, byte ptr [r14 + r9 + 8], 7 pinsrb xmm0, byte ptr [r14 + r13 + 8], 8 - mov rsi, qword ptr [rsp + 96] # 8-byte Reload + mov rsi, qword ptr [rsp + 136] # 8-byte Reload pinsrb xmm0, byte ptr [r14 + rsi + 8], 9 - mov r12, qword ptr [rsp + 144] # 8-byte Reload - pinsrb xmm0, byte ptr [r14 + r12 + 8], 10 - pinsrb xmm0, byte ptr [r14 + r10 + 8], 11 - mov rsi, qword ptr [rsp + 120] # 8-byte Reload - pinsrb xmm0, byte ptr [r14 + rsi + 8], 12 - mov rbx, qword ptr [rsp + 48] # 8-byte Reload - pinsrb xmm0, byte ptr [r14 + rbx + 8], 13 - pinsrb xmm0, byte ptr [r14 + rdi + 8], 14 + pinsrb xmm0, byte ptr [r14 + r15 + 8], 10 + mov r9, qword ptr [rsp + 152] # 8-byte Reload + pinsrb xmm0, byte ptr [r14 + r9 + 8], 11 + mov r12, qword ptr [rsp + 96] # 8-byte Reload + pinsrb xmm0, byte ptr [r14 + r12 + 8], 12 + mov rsi, qword ptr [rsp + 24] # 8-byte Reload + pinsrb xmm0, byte ptr [r14 + rsi + 8], 13 + pinsrb xmm0, byte ptr [r14 + rcx + 8], 14 pinsrb xmm0, byte ptr [r14 + rax + 8], 15 por xmm1, xmm9 - movdqa xmmword ptr [rsp + 256], xmm1 # 16-byte Spill - movzx esi, byte ptr [r14 + r15 + 22] + movdqa xmmword ptr [rsp + 240], xmm1 # 16-byte Spill + movzx esi, byte ptr [r14 + r8 + 22] movd xmm1, esi pcmpeqb xmm0, xmm14 pinsrb xmm11, byte ptr [r14 + r11 + 9], 1 - mov r15, r11 - mov r10, qword ptr [rsp + 32] # 8-byte Reload - pinsrb xmm11, byte ptr [r14 + r10 + 9], 2 - pinsrb xmm11, byte ptr [r14 + r8 + 9], 3 - mov r13, r8 - pinsrb xmm11, byte ptr [r14 + rcx + 9], 4 - mov r9, qword ptr [rsp + 56] # 8-byte Reload - pinsrb xmm11, byte ptr [r14 + r9 + 9], 5 - pinsrb xmm11, byte ptr [r14 + rdx + 9], 6 - mov r11, qword ptr [rsp + 104] # 8-byte Reload - pinsrb xmm11, byte ptr [r14 + r11 + 9], 7 - mov rsi, qword ptr [rsp + 152] # 8-byte Reload - pinsrb xmm11, byte ptr [r14 + rsi + 9], 8 - mov r8, qword ptr [rsp + 96] # 8-byte Reload - pinsrb xmm11, byte ptr [r14 + r8 + 9], 9 - pinsrb xmm11, byte ptr [r14 + r12 + 9], 10 - mov rdx, qword ptr [rsp + 112] # 8-byte Reload - pinsrb xmm11, byte ptr [r14 + rdx + 9], 11 - mov rdi, qword ptr [rsp + 120] # 8-byte Reload - pinsrb xmm11, byte ptr [r14 + rdi + 9], 12 + mov r10, r11 + pinsrb xmm11, byte ptr [r14 + rbx + 9], 2 + mov rax, rdi + pinsrb xmm11, byte ptr [r14 + rdi + 9], 3 + pinsrb xmm11, byte ptr [r14 + rdx + 9], 4 + mov rcx, qword ptr [rsp + 128] # 8-byte Reload + pinsrb xmm11, byte ptr [r14 + rcx + 9], 5 + mov r11, qword ptr [rsp + 144] # 8-byte Reload + pinsrb xmm11, byte ptr [r14 + r11 + 9], 6 + mov rsi, qword ptr [rsp + 88] # 8-byte Reload + pinsrb xmm11, byte ptr [r14 + rsi + 9], 7 + pinsrb xmm11, byte ptr [r14 + r13 + 9], 8 + mov rcx, qword ptr [rsp + 136] # 8-byte Reload + pinsrb xmm11, byte ptr [r14 + rcx + 9], 9 + pinsrb xmm11, byte ptr [r14 + r15 + 9], 10 + mov rdx, r9 + pinsrb xmm11, byte ptr [r14 + r9 + 9], 11 + mov rdi, r12 + pinsrb xmm11, byte ptr [r14 + r12 + 9], 12 + mov rbx, qword ptr [rsp + 24] # 8-byte Reload pinsrb xmm11, byte ptr [r14 + rbx + 9], 13 - mov rax, qword ptr [rsp + 64] # 8-byte Reload - pinsrb xmm11, byte ptr [r14 + rax + 9], 14 - mov rcx, qword ptr [rsp + 72] # 8-byte Reload - pinsrb xmm11, byte ptr [r14 + rcx + 9], 15 - pinsrb xmm12, byte ptr [r14 + r15 + 10], 1 + mov r8, qword ptr [rsp + 32] # 8-byte Reload + pinsrb xmm11, byte ptr [r14 + r8 + 9], 14 + mov r9, qword ptr [rsp + 80] # 8-byte Reload + pinsrb xmm11, byte ptr [r14 + r9 + 9], 15 + pinsrb xmm12, byte ptr [r14 + r10 + 10], 1 + mov r10, qword ptr [rsp + 48] # 8-byte Reload pinsrb xmm12, byte ptr [r14 + r10 + 10], 2 - pinsrb xmm12, byte ptr [r14 + r13 + 10], 3 - mov r10, qword ptr [rsp + 24] # 8-byte Reload - pinsrb xmm12, byte ptr [r14 + r10 + 10], 4 - pinsrb xmm12, byte ptr [r14 + r9 + 10], 5 - mov r9, qword ptr [rsp + 136] # 8-byte Reload - pinsrb xmm12, byte ptr [r14 + r9 + 10], 6 - pinsrb xmm12, byte ptr [r14 + r11 + 10], 7 - pinsrb xmm12, byte ptr [r14 + rsi + 10], 8 - pinsrb xmm12, byte ptr [r14 + r8 + 10], 9 - pinsrb xmm12, byte ptr [r14 + r12 + 10], 10 + pinsrb xmm12, byte ptr [r14 + rax + 10], 3 + mov r12, qword ptr [rsp + 120] # 8-byte Reload + pinsrb xmm12, byte ptr [r14 + r12 + 10], 4 + mov rbx, qword ptr [rsp + 128] # 8-byte Reload + pinsrb xmm12, byte ptr [r14 + rbx + 10], 5 + pinsrb xmm12, byte ptr [r14 + r11 + 10], 6 + pinsrb xmm12, byte ptr [r14 + rsi + 10], 7 + pinsrb xmm12, byte ptr [r14 + r13 + 10], 8 + pinsrb xmm12, byte ptr [r14 + rcx + 10], 9 + pinsrb xmm12, byte ptr [r14 + r15 + 10], 10 pinsrb xmm12, byte ptr [r14 + rdx + 10], 11 pinsrb xmm12, byte ptr [r14 + rdi + 10], 12 + mov rbx, qword ptr [rsp + 24] # 8-byte Reload pinsrb xmm12, byte ptr [r14 + rbx + 10], 13 - pinsrb xmm12, byte ptr [r14 + rax + 10], 14 - mov rbx, rax - pinsrb xmm12, byte ptr [r14 + rcx + 10], 15 - pinsrb xmm13, byte ptr [r14 + r15 + 11], 1 - mov r13, qword ptr [rsp + 32] # 8-byte Reload - pinsrb xmm13, byte ptr [r14 + r13 + 11], 2 - mov rax, qword ptr [rsp + 80] # 8-byte Reload + pinsrb xmm12, byte ptr [r14 + r8 + 10], 14 + pinsrb xmm12, byte ptr [r14 + r9 + 10], 15 + mov rbx, qword ptr [rsp + 16] # 8-byte Reload + pinsrb xmm13, byte ptr [r14 + rbx + 11], 1 + pinsrb xmm13, byte ptr [r14 + r10 + 11], 2 + mov r12, r10 pinsrb xmm13, byte ptr [r14 + rax + 11], 3 + mov r10, qword ptr [rsp + 120] # 8-byte Reload pinsrb xmm13, byte ptr [r14 + r10 + 11], 4 - mov rax, qword ptr [rsp + 56] # 8-byte Reload + mov rax, qword ptr [rsp + 128] # 8-byte Reload pinsrb xmm13, byte ptr [r14 + rax + 11], 5 - pinsrb xmm13, byte ptr [r14 + r9 + 11], 6 - pinsrb xmm13, byte ptr [r14 + r11 + 11], 7 - pinsrb xmm13, byte ptr [r14 + rsi + 11], 8 - pinsrb xmm13, byte ptr [r14 + r8 + 11], 9 - mov rax, r8 - pinsrb xmm13, byte ptr [r14 + r12 + 11], 10 + pinsrb xmm13, byte ptr [r14 + r11 + 11], 6 + pinsrb xmm13, byte ptr [r14 + rsi + 11], 7 + pinsrb xmm13, byte ptr [r14 + r13 + 11], 8 + pinsrb xmm13, byte ptr [r14 + rcx + 11], 9 + pinsrb xmm13, byte ptr [r14 + r15 + 11], 10 + mov rcx, r15 pinsrb xmm13, byte ptr [r14 + rdx + 11], 11 pinsrb xmm13, byte ptr [r14 + rdi + 11], 12 - mov rsi, qword ptr [rsp + 48] # 8-byte Reload - pinsrb xmm13, byte ptr [r14 + rsi + 11], 13 - pinsrb xmm13, byte ptr [r14 + rbx + 11], 14 - pinsrb xmm13, byte ptr [r14 + rcx + 11], 15 + mov r13, qword ptr [rsp + 24] # 8-byte Reload + pinsrb xmm13, byte ptr [r14 + r13 + 11], 13 + pinsrb xmm13, byte ptr [r14 + r8 + 11], 14 + pinsrb xmm13, byte ptr [r14 + r9 + 11], 15 pcmpeqb xmm11, xmm14 pandn xmm11, xmmword ptr [rip + .LCPI5_16] paddb xmm11, xmm0 - mov rcx, qword ptr [rsp + 128] # 8-byte Reload - movzx esi, byte ptr [r14 + rcx + 23] + mov rax, qword ptr [rsp + 56] # 8-byte Reload + movzx esi, byte ptr [r14 + rax + 23] movd xmm8, esi pcmpeqb xmm12, xmm14 pandn xmm12, xmmword ptr [rip + .LCPI5_17] pcmpeqb xmm13, xmm14 pandn xmm13, xmmword ptr [rip + .LCPI5_18] por xmm13, xmm12 - movzx esi, byte ptr [r14 + rcx + 24] + movzx esi, byte ptr [r14 + rax + 24] movd xmm12, esi - movdqa xmm9, xmmword ptr [rsp + 224] # 16-byte Reload - pinsrb xmm9, byte ptr [r14 + r15 + 12], 1 - mov r13, qword ptr [rsp + 32] # 8-byte Reload - pinsrb xmm9, byte ptr [r14 + r13 + 12], 2 - mov r15, qword ptr [rsp + 80] # 8-byte Reload + movdqa xmm9, xmmword ptr [rsp + 208] # 16-byte Reload + pinsrb xmm9, byte ptr [r14 + rbx + 12], 1 + pinsrb xmm9, byte ptr [r14 + r12 + 12], 2 + mov r15, qword ptr [rsp + 40] # 8-byte Reload pinsrb xmm9, byte ptr [r14 + r15 + 12], 3 - mov rbx, qword ptr [rsp + 24] # 8-byte Reload - pinsrb xmm9, byte ptr [r14 + rbx + 12], 4 - mov r10, qword ptr [rsp + 56] # 8-byte Reload + mov rbx, r10 + pinsrb xmm9, byte ptr [r14 + r10 + 12], 4 + mov r10, qword ptr [rsp + 128] # 8-byte Reload pinsrb xmm9, byte ptr [r14 + r10 + 12], 5 - pinsrb xmm9, byte ptr [r14 + r9 + 12], 6 - mov r8, r11 + mov r9, r11 + pinsrb xmm9, byte ptr [r14 + r11 + 12], 6 + mov r11, qword ptr [rsp + 88] # 8-byte Reload pinsrb xmm9, byte ptr [r14 + r11 + 12], 7 - mov r11, qword ptr [rsp + 152] # 8-byte Reload - pinsrb xmm9, byte ptr [r14 + r11 + 12], 8 - mov r12, rax - pinsrb xmm9, byte ptr [r14 + rax + 12], 9 - mov rcx, qword ptr [rsp + 144] # 8-byte Reload + mov r8, qword ptr [rsp + 72] # 8-byte Reload + pinsrb xmm9, byte ptr [r14 + r8 + 12], 8 + mov rsi, qword ptr [rsp + 136] # 8-byte Reload + pinsrb xmm9, byte ptr [r14 + rsi + 12], 9 pinsrb xmm9, byte ptr [r14 + rcx + 12], 10 pinsrb xmm9, byte ptr [r14 + rdx + 12], 11 pinsrb xmm9, byte ptr [r14 + rdi + 12], 12 - mov rsi, qword ptr [rsp + 48] # 8-byte Reload - pinsrb xmm9, byte ptr [r14 + rsi + 12], 13 - mov rax, qword ptr [rsp + 64] # 8-byte Reload + pinsrb xmm9, byte ptr [r14 + r13 + 12], 13 + mov rax, qword ptr [rsp + 32] # 8-byte Reload pinsrb xmm9, byte ptr [r14 + rax + 12], 14 - mov rax, qword ptr [rsp + 72] # 8-byte Reload + mov rax, qword ptr [rsp + 80] # 8-byte Reload pinsrb xmm9, byte ptr [r14 + rax + 12], 15 mov rax, qword ptr [rsp + 16] # 8-byte Reload pinsrb xmm6, byte ptr [r14 + rax + 13], 1 - pinsrb xmm6, byte ptr [r14 + r13 + 13], 2 + pinsrb xmm6, byte ptr [r14 + r12 + 13], 2 pinsrb xmm6, byte ptr [r14 + r15 + 13], 3 pinsrb xmm6, byte ptr [r14 + rbx + 13], 4 pinsrb xmm6, byte ptr [r14 + r10 + 13], 5 pinsrb xmm6, byte ptr [r14 + r9 + 13], 6 - pinsrb xmm6, byte ptr [r14 + r8 + 13], 7 - pinsrb xmm6, byte ptr [r14 + r11 + 13], 8 - pinsrb xmm6, byte ptr [r14 + r12 + 13], 9 + pinsrb xmm6, byte ptr [r14 + r11 + 13], 7 + pinsrb xmm6, byte ptr [r14 + r8 + 13], 8 + pinsrb xmm6, byte ptr [r14 + rsi + 13], 9 pinsrb xmm6, byte ptr [r14 + rcx + 13], 10 pinsrb xmm6, byte ptr [r14 + rdx + 13], 11 pinsrb xmm6, byte ptr [r14 + rdi + 13], 12 - pinsrb xmm6, byte ptr [r14 + rsi + 13], 13 - mov rax, qword ptr [rsp + 64] # 8-byte Reload - pinsrb xmm6, byte ptr [r14 + rax + 13], 14 - mov rax, qword ptr [rsp + 72] # 8-byte Reload + pinsrb xmm6, byte ptr [r14 + r13 + 13], 13 + mov r13, qword ptr [rsp + 32] # 8-byte Reload + pinsrb xmm6, byte ptr [r14 + r13 + 13], 14 + mov rax, qword ptr [rsp + 80] # 8-byte Reload pinsrb xmm6, byte ptr [r14 + rax + 13], 15 mov rax, qword ptr [rsp + 16] # 8-byte Reload pinsrb xmm15, byte ptr [r14 + rax + 14], 1 - pinsrb xmm15, byte ptr [r14 + r13 + 14], 2 + pinsrb xmm15, byte ptr [r14 + r12 + 14], 2 pinsrb xmm15, byte ptr [r14 + r15 + 14], 3 pinsrb xmm15, byte ptr [r14 + rbx + 14], 4 pinsrb xmm15, byte ptr [r14 + r10 + 14], 5 - mov rbx, r10 + mov r12, r10 pinsrb xmm15, byte ptr [r14 + r9 + 14], 6 - pinsrb xmm15, byte ptr [r14 + r8 + 14], 7 - pinsrb xmm15, byte ptr [r14 + r11 + 14], 8 - pinsrb xmm15, byte ptr [r14 + r12 + 14], 9 + mov r10, r9 + pinsrb xmm15, byte ptr [r14 + r11 + 14], 7 + mov r9, r11 + pinsrb xmm15, byte ptr [r14 + r8 + 14], 8 + pinsrb xmm15, byte ptr [r14 + rsi + 14], 9 pinsrb xmm15, byte ptr [r14 + rcx + 14], 10 - mov r12, rcx + mov r11, rcx pinsrb xmm15, byte ptr [r14 + rdx + 14], 11 - mov r10, rdx pinsrb xmm15, byte ptr [r14 + rdi + 14], 12 - pinsrb xmm15, byte ptr [r14 + rsi + 14], 13 - mov rax, qword ptr [rsp + 64] # 8-byte Reload - pinsrb xmm15, byte ptr [r14 + rax + 14], 14 + mov rdx, rdi + mov rbx, qword ptr [rsp + 24] # 8-byte Reload + pinsrb xmm15, byte ptr [r14 + rbx + 14], 13 + pinsrb xmm15, byte ptr [r14 + r13 + 14], 14 pcmpeqb xmm9, xmm14 pandn xmm9, xmmword ptr [rip + .LCPI5_19] por xmm9, xmm13 - mov rax, qword ptr [rsp + 128] # 8-byte Reload - movzx esi, byte ptr [r14 + rax + 25] + mov rcx, qword ptr [rsp + 56] # 8-byte Reload + movzx esi, byte ptr [r14 + rcx + 25] movd xmm13, esi psubb xmm11, xmmword ptr [rip + .LCPI5_22] por xmm9, xmm11 - movzx esi, byte ptr [r14 + rax + 26] + movzx esi, byte ptr [r14 + rcx + 26] movd xmm0, esi - mov rcx, qword ptr [rsp + 72] # 8-byte Reload - pinsrb xmm15, byte ptr [r14 + rcx + 14], 15 + mov rax, qword ptr [rsp + 80] # 8-byte Reload + pinsrb xmm15, byte ptr [r14 + rax + 14], 15 pcmpeqb xmm6, xmm14 pandn xmm6, xmmword ptr [rip + .LCPI5_20] pcmpeqb xmm15, xmm14 pandn xmm15, xmmword ptr [rip + .LCPI5_21] por xmm15, xmm6 - movzx esi, byte ptr [r14 + rax + 27] + movzx esi, byte ptr [r14 + rcx + 27] movd xmm11, esi movdqa xmm6, xmmword ptr [rsp + 192] # 16-byte Reload - mov rdi, qword ptr [rsp + 16] # 8-byte Reload - pinsrb xmm6, byte ptr [r14 + rdi + 15], 1 - mov rdx, r13 - pinsrb xmm6, byte ptr [r14 + r13 + 15], 2 - pinsrb xmm6, byte ptr [r14 + r15 + 15], 3 - mov r9, qword ptr [rsp + 24] # 8-byte Reload - pinsrb xmm6, byte ptr [r14 + r9 + 15], 4 - pinsrb xmm6, byte ptr [r14 + rbx + 15], 5 - mov rbx, qword ptr [rsp + 136] # 8-byte Reload - pinsrb xmm6, byte ptr [r14 + rbx + 15], 6 - pinsrb xmm6, byte ptr [r14 + r8 + 15], 7 - pinsrb xmm6, byte ptr [r14 + r11 + 15], 8 - mov r8, qword ptr [rsp + 96] # 8-byte Reload - pinsrb xmm6, byte ptr [r14 + r8 + 15], 9 - pinsrb xmm6, byte ptr [r14 + r12 + 15], 10 + mov r15, qword ptr [rsp + 16] # 8-byte Reload + pinsrb xmm6, byte ptr [r14 + r15 + 15], 1 + mov rcx, qword ptr [rsp + 48] # 8-byte Reload + pinsrb xmm6, byte ptr [r14 + rcx + 15], 2 + mov rdi, qword ptr [rsp + 40] # 8-byte Reload + pinsrb xmm6, byte ptr [r14 + rdi + 15], 3 + mov r8, qword ptr [rsp + 120] # 8-byte Reload + pinsrb xmm6, byte ptr [r14 + r8 + 15], 4 + pinsrb xmm6, byte ptr [r14 + r12 + 15], 5 + mov rcx, r10 + pinsrb xmm6, byte ptr [r14 + r10 + 15], 6 + pinsrb xmm6, byte ptr [r14 + r9 + 15], 7 + mov rsi, qword ptr [rsp + 72] # 8-byte Reload + pinsrb xmm6, byte ptr [r14 + rsi + 15], 8 + mov r9, qword ptr [rsp + 136] # 8-byte Reload + pinsrb xmm6, byte ptr [r14 + r9 + 15], 9 + pinsrb xmm6, byte ptr [r14 + r11 + 15], 10 + mov r10, qword ptr [rsp + 152] # 8-byte Reload pinsrb xmm6, byte ptr [r14 + r10 + 15], 11 - mov r15, r10 - mov r10, qword ptr [rsp + 120] # 8-byte Reload - pinsrb xmm6, byte ptr [r14 + r10 + 15], 12 - mov r13, qword ptr [rsp + 48] # 8-byte Reload - pinsrb xmm6, byte ptr [r14 + r13 + 15], 13 - mov rsi, qword ptr [rsp + 64] # 8-byte Reload - pinsrb xmm6, byte ptr [r14 + rsi + 15], 14 - pinsrb xmm6, byte ptr [r14 + rcx + 15], 15 + pinsrb xmm6, byte ptr [r14 + rdx + 15], 12 + pinsrb xmm6, byte ptr [r14 + rbx + 15], 13 + pinsrb xmm6, byte ptr [r14 + r13 + 15], 14 + pinsrb xmm6, byte ptr [r14 + rax + 15], 15 pcmpeqb xmm6, xmm14 pandn xmm6, xmmword ptr [rip + .LCPI5_6] por xmm6, xmm15 + mov rax, qword ptr [rsp + 56] # 8-byte Reload movzx esi, byte ptr [r14 + rax + 28] movd xmm15, esi por xmm6, xmm9 movdqa xmmword ptr [rsp + 192], xmm6 # 16-byte Spill movzx esi, byte ptr [r14 + rax + 29] movd xmm9, esi - mov rsi, rdi - pinsrb xmm10, byte ptr [r14 + rdi + 16], 1 - mov rax, rdx - pinsrb xmm10, byte ptr [r14 + rdx + 16], 2 - mov rdx, qword ptr [rsp + 80] # 8-byte Reload - pinsrb xmm10, byte ptr [r14 + rdx + 16], 3 - pinsrb xmm10, byte ptr [r14 + r9 + 16], 4 - mov rdi, qword ptr [rsp + 56] # 8-byte Reload - pinsrb xmm10, byte ptr [r14 + rdi + 16], 5 - pinsrb xmm10, byte ptr [r14 + rbx + 16], 6 - mov rbx, qword ptr [rsp + 104] # 8-byte Reload - pinsrb xmm10, byte ptr [r14 + rbx + 16], 7 - pinsrb xmm10, byte ptr [r14 + r11 + 16], 8 - pinsrb xmm10, byte ptr [r14 + r8 + 16], 9 - pinsrb xmm10, byte ptr [r14 + r12 + 16], 10 - pinsrb xmm10, byte ptr [r14 + r15 + 16], 11 - pinsrb xmm10, byte ptr [r14 + r10 + 16], 12 - pinsrb xmm10, byte ptr [r14 + r13 + 16], 13 - mov rcx, qword ptr [rsp + 64] # 8-byte Reload - pinsrb xmm10, byte ptr [r14 + rcx + 16], 14 - mov r13, qword ptr [rsp + 72] # 8-byte Reload - pinsrb xmm10, byte ptr [r14 + r13 + 16], 15 + mov rsi, r15 + pinsrb xmm10, byte ptr [r14 + r15 + 16], 1 + mov rax, qword ptr [rsp + 48] # 8-byte Reload + pinsrb xmm10, byte ptr [r14 + rax + 16], 2 + pinsrb xmm10, byte ptr [r14 + rdi + 16], 3 + mov r11, rdi + pinsrb xmm10, byte ptr [r14 + r8 + 16], 4 + pinsrb xmm10, byte ptr [r14 + r12 + 16], 5 + pinsrb xmm10, byte ptr [r14 + rcx + 16], 6 + mov rdx, qword ptr [rsp + 88] # 8-byte Reload + pinsrb xmm10, byte ptr [r14 + rdx + 16], 7 + mov rcx, qword ptr [rsp + 72] # 8-byte Reload + pinsrb xmm10, byte ptr [r14 + rcx + 16], 8 + pinsrb xmm10, byte ptr [r14 + r9 + 16], 9 + mov r15, qword ptr [rsp + 112] # 8-byte Reload + pinsrb xmm10, byte ptr [r14 + r15 + 16], 10 + pinsrb xmm10, byte ptr [r14 + r10 + 16], 11 + mov rdi, qword ptr [rsp + 96] # 8-byte Reload + pinsrb xmm10, byte ptr [r14 + rdi + 16], 12 + pinsrb xmm10, byte ptr [r14 + rbx + 16], 13 + pinsrb xmm10, byte ptr [r14 + r13 + 16], 14 + mov rax, qword ptr [rsp + 80] # 8-byte Reload + pinsrb xmm10, byte ptr [r14 + rax + 16], 15 pinsrb xmm4, byte ptr [r14 + rsi + 17], 1 - pinsrb xmm4, byte ptr [r14 + rax + 17], 2 - pinsrb xmm4, byte ptr [r14 + rdx + 17], 3 - pinsrb xmm4, byte ptr [r14 + r9 + 17], 4 - pinsrb xmm4, byte ptr [r14 + rdi + 17], 5 - mov r10, qword ptr [rsp + 136] # 8-byte Reload + mov rsi, qword ptr [rsp + 48] # 8-byte Reload + pinsrb xmm4, byte ptr [r14 + rsi + 17], 2 + pinsrb xmm4, byte ptr [r14 + r11 + 17], 3 + pinsrb xmm4, byte ptr [r14 + r8 + 17], 4 + pinsrb xmm4, byte ptr [r14 + r12 + 17], 5 + mov r10, qword ptr [rsp + 144] # 8-byte Reload pinsrb xmm4, byte ptr [r14 + r10 + 17], 6 - mov r9, rbx - pinsrb xmm4, byte ptr [r14 + rbx + 17], 7 - pinsrb xmm4, byte ptr [r14 + r11 + 17], 8 - pinsrb xmm4, byte ptr [r14 + r8 + 17], 9 - pinsrb xmm4, byte ptr [r14 + r12 + 17], 10 + pinsrb xmm4, byte ptr [r14 + rdx + 17], 7 + pinsrb xmm4, byte ptr [r14 + rcx + 17], 8 + pinsrb xmm4, byte ptr [r14 + r9 + 17], 9 mov r8, r15 - pinsrb xmm4, byte ptr [r14 + r15 + 17], 11 - mov rdi, qword ptr [rsp + 120] # 8-byte Reload + pinsrb xmm4, byte ptr [r14 + r15 + 17], 10 + mov rdx, qword ptr [rsp + 152] # 8-byte Reload + pinsrb xmm4, byte ptr [r14 + rdx + 17], 11 pinsrb xmm4, byte ptr [r14 + rdi + 17], 12 - mov rdx, qword ptr [rsp + 48] # 8-byte Reload - pinsrb xmm4, byte ptr [r14 + rdx + 17], 13 - pinsrb xmm4, byte ptr [r14 + rcx + 17], 14 - pinsrb xmm4, byte ptr [r14 + r13 + 17], 15 + mov r11, rdi + pinsrb xmm4, byte ptr [r14 + rbx + 17], 13 + pinsrb xmm4, byte ptr [r14 + r13 + 17], 14 + pinsrb xmm4, byte ptr [r14 + rax + 17], 15 + mov rcx, rax pcmpeqb xmm10, xmm14 pcmpeqb xmm4, xmm14 movdqa xmm6, xmmword ptr [rip + .LCPI5_16] # xmm6 = [2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2] pandn xmm4, xmm6 paddb xmm4, xmm10 - mov rax, qword ptr [rsp + 128] # 8-byte Reload + mov rax, qword ptr [rsp + 56] # 8-byte Reload movzx esi, byte ptr [r14 + rax + 30] movd xmm10, esi mov rsi, qword ptr [rsp + 16] # 8-byte Reload @@ -29043,7 +30305,7 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 movzx eax, byte ptr [r14 + rax + 31] movd xmm6, eax pinsrb xmm6, byte ptr [r14 + rsi + 31], 1 - mov rax, qword ptr [rsp + 32] # 8-byte Reload + mov rax, qword ptr [rsp + 48] # 8-byte Reload pinsrb xmm7, byte ptr [r14 + rax + 18], 2 pinsrb xmm5, byte ptr [r14 + rax + 19], 2 pinsrb xmm3, byte ptr [r14 + rax + 20], 2 @@ -29058,48 +30320,49 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 pinsrb xmm9, byte ptr [r14 + rax + 29], 2 pinsrb xmm10, byte ptr [r14 + rax + 30], 2 pinsrb xmm6, byte ptr [r14 + rax + 31], 2 - mov r15, qword ptr [rsp + 80] # 8-byte Reload + mov r15, qword ptr [rsp + 40] # 8-byte Reload pinsrb xmm7, byte ptr [r14 + r15 + 18], 3 - mov rax, qword ptr [rsp + 24] # 8-byte Reload + mov rax, qword ptr [rsp + 120] # 8-byte Reload pinsrb xmm7, byte ptr [r14 + rax + 18], 4 - mov rbx, qword ptr [rsp + 56] # 8-byte Reload - pinsrb xmm7, byte ptr [r14 + rbx + 18], 5 + pinsrb xmm7, byte ptr [r14 + r12 + 18], 5 pinsrb xmm7, byte ptr [r14 + r10 + 18], 6 - pinsrb xmm7, byte ptr [r14 + r9 + 18], 7 - pinsrb xmm7, byte ptr [r14 + r11 + 18], 8 - mov rsi, qword ptr [rsp + 96] # 8-byte Reload + mov rdi, qword ptr [rsp + 88] # 8-byte Reload + pinsrb xmm7, byte ptr [r14 + rdi + 18], 7 + mov r9, qword ptr [rsp + 72] # 8-byte Reload + pinsrb xmm7, byte ptr [r14 + r9 + 18], 8 + mov rsi, qword ptr [rsp + 136] # 8-byte Reload pinsrb xmm7, byte ptr [r14 + rsi + 18], 9 - pinsrb xmm7, byte ptr [r14 + r12 + 18], 10 - pinsrb xmm7, byte ptr [r14 + r8 + 18], 11 - pinsrb xmm7, byte ptr [r14 + rdi + 18], 12 - pinsrb xmm7, byte ptr [r14 + rdx + 18], 13 - pinsrb xmm7, byte ptr [r14 + rcx + 18], 14 - pinsrb xmm7, byte ptr [r14 + r13 + 18], 15 + pinsrb xmm7, byte ptr [r14 + r8 + 18], 10 + pinsrb xmm7, byte ptr [r14 + rdx + 18], 11 + pinsrb xmm7, byte ptr [r14 + r11 + 18], 12 + pinsrb xmm7, byte ptr [r14 + rbx + 18], 13 + pinsrb xmm7, byte ptr [r14 + r13 + 18], 14 + pinsrb xmm7, byte ptr [r14 + rcx + 18], 15 pinsrb xmm5, byte ptr [r14 + r15 + 19], 3 pinsrb xmm5, byte ptr [r14 + rax + 19], 4 - pinsrb xmm5, byte ptr [r14 + rbx + 19], 5 + pinsrb xmm5, byte ptr [r14 + r12 + 19], 5 pinsrb xmm5, byte ptr [r14 + r10 + 19], 6 - pinsrb xmm5, byte ptr [r14 + r9 + 19], 7 - pinsrb xmm5, byte ptr [r14 + r11 + 19], 8 + pinsrb xmm5, byte ptr [r14 + rdi + 19], 7 + pinsrb xmm5, byte ptr [r14 + r9 + 19], 8 pinsrb xmm5, byte ptr [r14 + rsi + 19], 9 - pinsrb xmm5, byte ptr [r14 + r12 + 19], 10 - pinsrb xmm5, byte ptr [r14 + r8 + 19], 11 - pinsrb xmm5, byte ptr [r14 + rdi + 19], 12 - pinsrb xmm5, byte ptr [r14 + rdx + 19], 13 - pinsrb xmm5, byte ptr [r14 + rcx + 19], 14 - pinsrb xmm5, byte ptr [r14 + r13 + 19], 15 + pinsrb xmm5, byte ptr [r14 + r8 + 19], 10 + pinsrb xmm5, byte ptr [r14 + rdx + 19], 11 + pinsrb xmm5, byte ptr [r14 + r11 + 19], 12 + pinsrb xmm5, byte ptr [r14 + rbx + 19], 13 + pinsrb xmm5, byte ptr [r14 + r13 + 19], 14 + pinsrb xmm5, byte ptr [r14 + rcx + 19], 15 pinsrb xmm3, byte ptr [r14 + r15 + 20], 3 pinsrb xmm3, byte ptr [r14 + rax + 20], 4 - pinsrb xmm3, byte ptr [r14 + rbx + 20], 5 + pinsrb xmm3, byte ptr [r14 + r12 + 20], 5 pinsrb xmm3, byte ptr [r14 + r10 + 20], 6 - pinsrb xmm3, byte ptr [r14 + r9 + 20], 7 - pinsrb xmm3, byte ptr [r14 + r11 + 20], 8 + pinsrb xmm3, byte ptr [r14 + rdi + 20], 7 + pinsrb xmm3, byte ptr [r14 + r9 + 20], 8 pinsrb xmm3, byte ptr [r14 + rsi + 20], 9 - pinsrb xmm3, byte ptr [r14 + r12 + 20], 10 - pinsrb xmm3, byte ptr [r14 + r8 + 20], 11 - pinsrb xmm3, byte ptr [r14 + rdi + 20], 12 - pinsrb xmm3, byte ptr [r14 + rdx + 20], 13 - pinsrb xmm3, byte ptr [r14 + rcx + 20], 14 + pinsrb xmm3, byte ptr [r14 + r8 + 20], 10 + pinsrb xmm3, byte ptr [r14 + rdx + 20], 11 + pinsrb xmm3, byte ptr [r14 + r11 + 20], 12 + pinsrb xmm3, byte ptr [r14 + rbx + 20], 13 + pinsrb xmm3, byte ptr [r14 + r13 + 20], 14 pcmpeqb xmm7, xmm14 movdqa xmm14, xmmword ptr [rip + .LCPI5_17] # xmm14 = [4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4] pandn xmm7, xmm14 @@ -29107,7 +30370,7 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 movdqa xmm14, xmmword ptr [rip + .LCPI5_18] # xmm14 = [8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8] pandn xmm5, xmm14 por xmm5, xmm7 - pinsrb xmm3, byte ptr [r14 + r13 + 20], 15 + pinsrb xmm3, byte ptr [r14 + rcx + 20], 15 movdqa xmm14, xmmword ptr [rsp + 176] # 16-byte Reload pcmpeqb xmm3, xmm14 movdqa xmm7, xmmword ptr [rip + .LCPI5_19] # xmm7 = [16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16] @@ -29118,42 +30381,42 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 por xmm3, xmm4 pinsrb xmm2, byte ptr [r14 + r15 + 21], 3 pinsrb xmm2, byte ptr [r14 + rax + 21], 4 - pinsrb xmm2, byte ptr [r14 + rbx + 21], 5 + pinsrb xmm2, byte ptr [r14 + r12 + 21], 5 pinsrb xmm2, byte ptr [r14 + r10 + 21], 6 - pinsrb xmm2, byte ptr [r14 + r9 + 21], 7 - pinsrb xmm2, byte ptr [r14 + r11 + 21], 8 + pinsrb xmm2, byte ptr [r14 + rdi + 21], 7 + pinsrb xmm2, byte ptr [r14 + r9 + 21], 8 pinsrb xmm2, byte ptr [r14 + rsi + 21], 9 - pinsrb xmm2, byte ptr [r14 + r12 + 21], 10 - pinsrb xmm2, byte ptr [r14 + r8 + 21], 11 - pinsrb xmm2, byte ptr [r14 + rdi + 21], 12 - pinsrb xmm2, byte ptr [r14 + rdx + 21], 13 - pinsrb xmm2, byte ptr [r14 + rcx + 21], 14 - pinsrb xmm2, byte ptr [r14 + r13 + 21], 15 + pinsrb xmm2, byte ptr [r14 + r8 + 21], 10 + pinsrb xmm2, byte ptr [r14 + rdx + 21], 11 + pinsrb xmm2, byte ptr [r14 + r11 + 21], 12 + pinsrb xmm2, byte ptr [r14 + rbx + 21], 13 + pinsrb xmm2, byte ptr [r14 + r13 + 21], 14 + pinsrb xmm2, byte ptr [r14 + rcx + 21], 15 pinsrb xmm1, byte ptr [r14 + r15 + 22], 3 pinsrb xmm1, byte ptr [r14 + rax + 22], 4 - pinsrb xmm1, byte ptr [r14 + rbx + 22], 5 + pinsrb xmm1, byte ptr [r14 + r12 + 22], 5 pinsrb xmm1, byte ptr [r14 + r10 + 22], 6 - pinsrb xmm1, byte ptr [r14 + r9 + 22], 7 - pinsrb xmm1, byte ptr [r14 + r11 + 22], 8 + pinsrb xmm1, byte ptr [r14 + rdi + 22], 7 + pinsrb xmm1, byte ptr [r14 + r9 + 22], 8 pinsrb xmm1, byte ptr [r14 + rsi + 22], 9 - pinsrb xmm1, byte ptr [r14 + r12 + 22], 10 - pinsrb xmm1, byte ptr [r14 + r8 + 22], 11 - pinsrb xmm1, byte ptr [r14 + rdi + 22], 12 - pinsrb xmm1, byte ptr [r14 + rdx + 22], 13 - pinsrb xmm1, byte ptr [r14 + rcx + 22], 14 - pinsrb xmm1, byte ptr [r14 + r13 + 22], 15 + pinsrb xmm1, byte ptr [r14 + r8 + 22], 10 + pinsrb xmm1, byte ptr [r14 + rdx + 22], 11 + pinsrb xmm1, byte ptr [r14 + r11 + 22], 12 + pinsrb xmm1, byte ptr [r14 + rbx + 22], 13 + pinsrb xmm1, byte ptr [r14 + r13 + 22], 14 + pinsrb xmm1, byte ptr [r14 + rcx + 22], 15 pinsrb xmm8, byte ptr [r14 + r15 + 23], 3 pinsrb xmm8, byte ptr [r14 + rax + 23], 4 - pinsrb xmm8, byte ptr [r14 + rbx + 23], 5 + pinsrb xmm8, byte ptr [r14 + r12 + 23], 5 pinsrb xmm8, byte ptr [r14 + r10 + 23], 6 - pinsrb xmm8, byte ptr [r14 + r9 + 23], 7 - pinsrb xmm8, byte ptr [r14 + r11 + 23], 8 + pinsrb xmm8, byte ptr [r14 + rdi + 23], 7 + pinsrb xmm8, byte ptr [r14 + r9 + 23], 8 pinsrb xmm8, byte ptr [r14 + rsi + 23], 9 - pinsrb xmm8, byte ptr [r14 + r12 + 23], 10 - pinsrb xmm8, byte ptr [r14 + r8 + 23], 11 - pinsrb xmm8, byte ptr [r14 + rdi + 23], 12 - pinsrb xmm8, byte ptr [r14 + rdx + 23], 13 - pinsrb xmm8, byte ptr [r14 + rcx + 23], 14 + pinsrb xmm8, byte ptr [r14 + r8 + 23], 10 + pinsrb xmm8, byte ptr [r14 + rdx + 23], 11 + pinsrb xmm8, byte ptr [r14 + r11 + 23], 12 + pinsrb xmm8, byte ptr [r14 + rbx + 23], 13 + pinsrb xmm8, byte ptr [r14 + r13 + 23], 14 pcmpeqb xmm2, xmm14 movdqa xmm5, xmmword ptr [rip + .LCPI5_20] # xmm5 = [32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32] pandn xmm2, xmm5 @@ -29161,68 +30424,68 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 movdqa xmm7, xmmword ptr [rip + .LCPI5_21] # xmm7 = [64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64] pandn xmm1, xmm7 por xmm1, xmm2 - pinsrb xmm8, byte ptr [r14 + r13 + 23], 15 + pinsrb xmm8, byte ptr [r14 + rcx + 23], 15 pcmpeqb xmm8, xmm14 movdqa xmm4, xmmword ptr [rip + .LCPI5_6] # xmm4 = [128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128] pandn xmm8, xmm4 por xmm8, xmm1 pinsrb xmm12, byte ptr [r14 + r15 + 24], 3 pinsrb xmm12, byte ptr [r14 + rax + 24], 4 - pinsrb xmm12, byte ptr [r14 + rbx + 24], 5 + pinsrb xmm12, byte ptr [r14 + r12 + 24], 5 pinsrb xmm12, byte ptr [r14 + r10 + 24], 6 - pinsrb xmm12, byte ptr [r14 + r9 + 24], 7 - pinsrb xmm12, byte ptr [r14 + r11 + 24], 8 + pinsrb xmm12, byte ptr [r14 + rdi + 24], 7 + pinsrb xmm12, byte ptr [r14 + r9 + 24], 8 pinsrb xmm12, byte ptr [r14 + rsi + 24], 9 - pinsrb xmm12, byte ptr [r14 + r12 + 24], 10 - pinsrb xmm12, byte ptr [r14 + r8 + 24], 11 - pinsrb xmm12, byte ptr [r14 + rdi + 24], 12 - pinsrb xmm12, byte ptr [r14 + rdx + 24], 13 - pinsrb xmm12, byte ptr [r14 + rcx + 24], 14 - pinsrb xmm12, byte ptr [r14 + r13 + 24], 15 + pinsrb xmm12, byte ptr [r14 + r8 + 24], 10 + pinsrb xmm12, byte ptr [r14 + rdx + 24], 11 + pinsrb xmm12, byte ptr [r14 + r11 + 24], 12 + pinsrb xmm12, byte ptr [r14 + rbx + 24], 13 + pinsrb xmm12, byte ptr [r14 + r13 + 24], 14 + pinsrb xmm12, byte ptr [r14 + rcx + 24], 15 por xmm8, xmm3 pcmpeqb xmm12, xmm14 pinsrb xmm13, byte ptr [r14 + r15 + 25], 3 pinsrb xmm13, byte ptr [r14 + rax + 25], 4 - pinsrb xmm13, byte ptr [r14 + rbx + 25], 5 + pinsrb xmm13, byte ptr [r14 + r12 + 25], 5 pinsrb xmm13, byte ptr [r14 + r10 + 25], 6 - pinsrb xmm13, byte ptr [r14 + r9 + 25], 7 - pinsrb xmm13, byte ptr [r14 + r11 + 25], 8 + pinsrb xmm13, byte ptr [r14 + rdi + 25], 7 + pinsrb xmm13, byte ptr [r14 + r9 + 25], 8 pinsrb xmm13, byte ptr [r14 + rsi + 25], 9 - pinsrb xmm13, byte ptr [r14 + r12 + 25], 10 - pinsrb xmm13, byte ptr [r14 + r8 + 25], 11 - pinsrb xmm13, byte ptr [r14 + rdi + 25], 12 - pinsrb xmm13, byte ptr [r14 + rdx + 25], 13 - pinsrb xmm13, byte ptr [r14 + rcx + 25], 14 - pinsrb xmm13, byte ptr [r14 + r13 + 25], 15 + pinsrb xmm13, byte ptr [r14 + r8 + 25], 10 + pinsrb xmm13, byte ptr [r14 + rdx + 25], 11 + pinsrb xmm13, byte ptr [r14 + r11 + 25], 12 + pinsrb xmm13, byte ptr [r14 + rbx + 25], 13 + pinsrb xmm13, byte ptr [r14 + r13 + 25], 14 + pinsrb xmm13, byte ptr [r14 + rcx + 25], 15 pinsrb xmm0, byte ptr [r14 + r15 + 26], 3 pinsrb xmm0, byte ptr [r14 + rax + 26], 4 - pinsrb xmm0, byte ptr [r14 + rbx + 26], 5 + pinsrb xmm0, byte ptr [r14 + r12 + 26], 5 pinsrb xmm0, byte ptr [r14 + r10 + 26], 6 - pinsrb xmm0, byte ptr [r14 + r9 + 26], 7 - pinsrb xmm0, byte ptr [r14 + r11 + 26], 8 + pinsrb xmm0, byte ptr [r14 + rdi + 26], 7 + pinsrb xmm0, byte ptr [r14 + r9 + 26], 8 pinsrb xmm0, byte ptr [r14 + rsi + 26], 9 - pinsrb xmm0, byte ptr [r14 + r12 + 26], 10 - pinsrb xmm0, byte ptr [r14 + r8 + 26], 11 - pinsrb xmm0, byte ptr [r14 + rdi + 26], 12 - pinsrb xmm0, byte ptr [r14 + rdx + 26], 13 - pinsrb xmm0, byte ptr [r14 + rcx + 26], 14 - pinsrb xmm0, byte ptr [r14 + r13 + 26], 15 + pinsrb xmm0, byte ptr [r14 + r8 + 26], 10 + pinsrb xmm0, byte ptr [r14 + rdx + 26], 11 + pinsrb xmm0, byte ptr [r14 + r11 + 26], 12 + pinsrb xmm0, byte ptr [r14 + rbx + 26], 13 + pinsrb xmm0, byte ptr [r14 + r13 + 26], 14 + pinsrb xmm0, byte ptr [r14 + rcx + 26], 15 pinsrb xmm11, byte ptr [r14 + r15 + 27], 3 pinsrb xmm11, byte ptr [r14 + rax + 27], 4 - pinsrb xmm11, byte ptr [r14 + rbx + 27], 5 + pinsrb xmm11, byte ptr [r14 + r12 + 27], 5 pinsrb xmm11, byte ptr [r14 + r10 + 27], 6 - pinsrb xmm11, byte ptr [r14 + r9 + 27], 7 - pinsrb xmm11, byte ptr [r14 + r11 + 27], 8 + pinsrb xmm11, byte ptr [r14 + rdi + 27], 7 + pinsrb xmm11, byte ptr [r14 + r9 + 27], 8 pinsrb xmm11, byte ptr [r14 + rsi + 27], 9 - pinsrb xmm11, byte ptr [r14 + r12 + 27], 10 - pinsrb xmm11, byte ptr [r14 + r8 + 27], 11 - pinsrb xmm11, byte ptr [r14 + rdi + 27], 12 - pinsrb xmm11, byte ptr [r14 + rdx + 27], 13 - pinsrb xmm11, byte ptr [r14 + rcx + 27], 14 + pinsrb xmm11, byte ptr [r14 + r8 + 27], 10 + pinsrb xmm11, byte ptr [r14 + rdx + 27], 11 + pinsrb xmm11, byte ptr [r14 + r11 + 27], 12 + pinsrb xmm11, byte ptr [r14 + rbx + 27], 13 + pinsrb xmm11, byte ptr [r14 + r13 + 27], 14 pcmpeqb xmm13, xmm14 pandn xmm13, xmmword ptr [rip + .LCPI5_16] paddb xmm13, xmm12 - pinsrb xmm11, byte ptr [r14 + r13 + 27], 15 + pinsrb xmm11, byte ptr [r14 + rcx + 27], 15 pcmpeqb xmm0, xmm14 pandn xmm0, xmmword ptr [rip + .LCPI5_17] pcmpeqb xmm11, xmm14 @@ -29236,61 +30499,61 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 pinsrb xmm9, byte ptr [r14 + rax + 29], 4 pinsrb xmm10, byte ptr [r14 + rax + 30], 4 pinsrb xmm6, byte ptr [r14 + rax + 31], 4 - mov rax, rbx - pinsrb xmm15, byte ptr [r14 + rbx + 28], 5 - pinsrb xmm9, byte ptr [r14 + rbx + 29], 5 - pinsrb xmm10, byte ptr [r14 + rbx + 30], 5 - pinsrb xmm6, byte ptr [r14 + rbx + 31], 5 + pinsrb xmm15, byte ptr [r14 + r12 + 28], 5 + pinsrb xmm9, byte ptr [r14 + r12 + 29], 5 + pinsrb xmm10, byte ptr [r14 + r12 + 30], 5 + pinsrb xmm6, byte ptr [r14 + r12 + 31], 5 mov rax, r10 pinsrb xmm15, byte ptr [r14 + r10 + 28], 6 pinsrb xmm9, byte ptr [r14 + r10 + 29], 6 pinsrb xmm10, byte ptr [r14 + r10 + 30], 6 pinsrb xmm6, byte ptr [r14 + r10 + 31], 6 + mov rax, rdi + pinsrb xmm15, byte ptr [r14 + rdi + 28], 7 + pinsrb xmm9, byte ptr [r14 + rdi + 29], 7 + pinsrb xmm10, byte ptr [r14 + rdi + 30], 7 + pinsrb xmm6, byte ptr [r14 + rdi + 31], 7 mov rax, r9 - pinsrb xmm15, byte ptr [r14 + r9 + 28], 7 - pinsrb xmm9, byte ptr [r14 + r9 + 29], 7 - pinsrb xmm10, byte ptr [r14 + r9 + 30], 7 - pinsrb xmm6, byte ptr [r14 + r9 + 31], 7 - pinsrb xmm15, byte ptr [r14 + r11 + 28], 8 - pinsrb xmm9, byte ptr [r14 + r11 + 29], 8 - pinsrb xmm10, byte ptr [r14 + r11 + 30], 8 - pinsrb xmm6, byte ptr [r14 + r11 + 31], 8 + pinsrb xmm15, byte ptr [r14 + r9 + 28], 8 + pinsrb xmm9, byte ptr [r14 + r9 + 29], 8 + pinsrb xmm10, byte ptr [r14 + r9 + 30], 8 + pinsrb xmm6, byte ptr [r14 + r9 + 31], 8 mov rax, rsi pinsrb xmm15, byte ptr [r14 + rsi + 28], 9 pinsrb xmm9, byte ptr [r14 + rsi + 29], 9 pinsrb xmm10, byte ptr [r14 + rsi + 30], 9 pinsrb xmm6, byte ptr [r14 + rsi + 31], 9 - pinsrb xmm15, byte ptr [r14 + r12 + 28], 10 - pinsrb xmm9, byte ptr [r14 + r12 + 29], 10 - pinsrb xmm10, byte ptr [r14 + r12 + 30], 10 - pinsrb xmm6, byte ptr [r14 + r12 + 31], 10 mov rax, r8 - pinsrb xmm15, byte ptr [r14 + r8 + 28], 11 - pinsrb xmm9, byte ptr [r14 + r8 + 29], 11 - pinsrb xmm10, byte ptr [r14 + r8 + 30], 11 - pinsrb xmm6, byte ptr [r14 + r8 + 31], 11 - mov rax, rdi - pinsrb xmm15, byte ptr [r14 + rdi + 28], 12 - pinsrb xmm9, byte ptr [r14 + rdi + 29], 12 - pinsrb xmm10, byte ptr [r14 + rdi + 30], 12 - pinsrb xmm6, byte ptr [r14 + rdi + 31], 12 + pinsrb xmm15, byte ptr [r14 + r8 + 28], 10 + pinsrb xmm9, byte ptr [r14 + r8 + 29], 10 + pinsrb xmm10, byte ptr [r14 + r8 + 30], 10 + pinsrb xmm6, byte ptr [r14 + r8 + 31], 10 mov rax, rdx - pinsrb xmm15, byte ptr [r14 + rdx + 28], 13 - pinsrb xmm9, byte ptr [r14 + rdx + 29], 13 - pinsrb xmm10, byte ptr [r14 + rdx + 30], 13 - pinsrb xmm6, byte ptr [r14 + rdx + 31], 13 - mov rax, rcx - pinsrb xmm15, byte ptr [r14 + rcx + 28], 14 - pinsrb xmm9, byte ptr [r14 + rcx + 29], 14 - pinsrb xmm10, byte ptr [r14 + rcx + 30], 14 - pinsrb xmm6, byte ptr [r14 + rcx + 31], 14 - pinsrb xmm15, byte ptr [r14 + r13 + 28], 15 - pinsrb xmm9, byte ptr [r14 + r13 + 29], 15 - pinsrb xmm10, byte ptr [r14 + r13 + 30], 15 + pinsrb xmm15, byte ptr [r14 + rdx + 28], 11 + pinsrb xmm9, byte ptr [r14 + rdx + 29], 11 + pinsrb xmm10, byte ptr [r14 + rdx + 30], 11 + pinsrb xmm6, byte ptr [r14 + rdx + 31], 11 + mov rax, r11 + pinsrb xmm15, byte ptr [r14 + r11 + 28], 12 + pinsrb xmm9, byte ptr [r14 + r11 + 29], 12 + pinsrb xmm10, byte ptr [r14 + r11 + 30], 12 + pinsrb xmm6, byte ptr [r14 + r11 + 31], 12 + pinsrb xmm15, byte ptr [r14 + rbx + 28], 13 + pinsrb xmm9, byte ptr [r14 + rbx + 29], 13 + pinsrb xmm10, byte ptr [r14 + rbx + 30], 13 + pinsrb xmm6, byte ptr [r14 + rbx + 31], 13 + mov rax, r13 + pinsrb xmm15, byte ptr [r14 + r13 + 28], 14 + pinsrb xmm9, byte ptr [r14 + r13 + 29], 14 + pinsrb xmm10, byte ptr [r14 + r13 + 30], 14 + pinsrb xmm6, byte ptr [r14 + r13 + 31], 14 + pinsrb xmm15, byte ptr [r14 + rcx + 28], 15 + pinsrb xmm9, byte ptr [r14 + rcx + 29], 15 + pinsrb xmm10, byte ptr [r14 + rcx + 30], 15 pcmpeqb xmm15, xmm14 pandn xmm15, xmmword ptr [rip + .LCPI5_19] por xmm15, xmm11 - pinsrb xmm6, byte ptr [r14 + r13 + 31], 15 + pinsrb xmm6, byte ptr [r14 + rcx + 31], 15 psubb xmm13, xmmword ptr [rip + .LCPI5_22] por xmm15, xmm13 pcmpeqb xmm9, xmm14 @@ -29304,7 +30567,7 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 por xmm6, xmm15 movdqa xmm0, xmm8 punpcklbw xmm0, xmm6 # xmm0 = xmm0[0],xmm6[0],xmm0[1],xmm6[1],xmm0[2],xmm6[2],xmm0[3],xmm6[3],xmm0[4],xmm6[4],xmm0[5],xmm6[5],xmm0[6],xmm6[6],xmm0[7],xmm6[7] - movdqa xmm3, xmmword ptr [rsp + 256] # 16-byte Reload + movdqa xmm3, xmmword ptr [rsp + 240] # 16-byte Reload movdqa xmm1, xmm3 movdqa xmm4, xmmword ptr [rsp + 192] # 16-byte Reload punpcklbw xmm1, xmm4 # xmm1 = xmm1[0],xmm4[0],xmm1[1],xmm4[1],xmm1[2],xmm4[2],xmm1[3],xmm4[3],xmm1[4],xmm4[4],xmm1[5],xmm4[5],xmm1[6],xmm4[6],xmm1[7],xmm4[7] @@ -29324,23 +30587,23 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 movdqu xmmword ptr [rax + 4*rcx], xmm2 add rcx, 16 mov rax, rcx - cmp rcx, qword ptr [rsp + 216] # 8-byte Folded Reload - jne .LBB5_67 -# %bb.68: - mov r10, qword ptr [rsp + 248] # 8-byte Reload - cmp r10, qword ptr [rsp + 216] # 8-byte Folded Reload + cmp rcx, qword ptr [rsp + 232] # 8-byte Folded Reload + jne .LBB5_68 +# %bb.69: + mov r10, qword ptr [rsp + 264] # 8-byte Reload + cmp r10, qword ptr [rsp + 232] # 8-byte Folded Reload mov r14, qword ptr [rsp + 272] # 8-byte Reload mov r15, qword ptr [rsp + 160] # 8-byte Reload - jne .LBB5_69 - jmp .LBB5_72 -.LBB5_109: + jne .LBB5_70 + jmp .LBB5_73 +.LBB5_110: and r10, -8 mov rax, r10 shl rax, 6 add rax, r14 mov qword ptr [rsp + 48], rax # 8-byte Spill + mov qword ptr [rsp + 40], r10 # 8-byte Spill mov rax, qword ptr [rsp + 8] # 8-byte Reload - mov qword ptr [rsp + 24], r10 # 8-byte Spill lea rax, [rax + 4*r10] mov qword ptr [rsp + 56], rax # 8-byte Spill movd xmm0, r11d @@ -29349,13 +30612,13 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 xor edi, edi pxor xmm9, xmm9 .p2align 4, 0x90 -.LBB5_110: # =>This Inner Loop Header: Depth=1 +.LBB5_111: # =>This Inner Loop Header: Depth=1 mov qword ptr [rsp + 64], rdi # 8-byte Spill shl rdi, 6 mov r15, rdi mov rsi, rdi + mov r12, rdi mov rdx, rdi - mov r13, rdi mov rbx, rdi mov r9, rdi movzx eax, word ptr [r14 + rdi] @@ -29373,39 +30636,39 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 movzx eax, word ptr [r14 + rdi + 12] movzx r8d, word ptr [r14 + rdi + 14] movzx r10d, word ptr [r14 + rdi + 16] - movzx r12d, word ptr [r14 + rdi + 18] + movzx r13d, word ptr [r14 + rdi + 18] movzx ecx, word ptr [r14 + rdi + 20] - mov dword ptr [rsp + 40], ecx # 4-byte Spill + mov dword ptr [rsp + 32], ecx # 4-byte Spill mov rcx, rdi or rcx, 64 or r15, 128 or rsi, 192 - or rdx, 256 - or r13, 320 + or r12, 256 + or rdx, 320 or rbx, 384 pinsrw xmm5, word ptr [r14 + rcx], 1 pinsrw xmm5, word ptr [r14 + r15], 2 pinsrw xmm5, word ptr [r14 + rsi], 3 - pinsrw xmm5, word ptr [r14 + rdx], 4 - pinsrw xmm5, word ptr [r14 + r13], 5 + pinsrw xmm5, word ptr [r14 + r12], 4 + pinsrw xmm5, word ptr [r14 + rdx], 5 pinsrw xmm5, word ptr [r14 + rbx], 6 pinsrw xmm0, word ptr [r14 + rcx + 2], 1 pinsrw xmm0, word ptr [r14 + r15 + 2], 2 pinsrw xmm0, word ptr [r14 + rsi + 2], 3 - pinsrw xmm0, word ptr [r14 + rdx + 2], 4 - pinsrw xmm0, word ptr [r14 + r13 + 2], 5 + pinsrw xmm0, word ptr [r14 + r12 + 2], 4 + pinsrw xmm0, word ptr [r14 + rdx + 2], 5 pinsrw xmm0, word ptr [r14 + rbx + 2], 6 or r9, 448 pinsrw xmm0, word ptr [r14 + r9 + 2], 7 movd xmm2, eax movzx eax, word ptr [r14 + rdi + 22] - mov dword ptr [rsp + 32], eax # 4-byte Spill + mov dword ptr [rsp + 24], eax # 4-byte Spill pcmpeqw xmm0, xmm11 pinsrw xmm1, word ptr [r14 + rcx + 4], 1 pinsrw xmm1, word ptr [r14 + r15 + 4], 2 pinsrw xmm1, word ptr [r14 + rsi + 4], 3 - pinsrw xmm1, word ptr [r14 + rdx + 4], 4 - pinsrw xmm1, word ptr [r14 + r13 + 4], 5 + pinsrw xmm1, word ptr [r14 + r12 + 4], 4 + pinsrw xmm1, word ptr [r14 + rdx + 4], 5 pinsrw xmm1, word ptr [r14 + rbx + 4], 6 pinsrw xmm1, word ptr [r14 + r9 + 4], 7 packsswb xmm0, xmm0 @@ -29428,8 +30691,8 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 pinsrw xmm7, word ptr [r14 + rcx + 6], 1 pinsrw xmm7, word ptr [r14 + r15 + 6], 2 pinsrw xmm7, word ptr [r14 + rsi + 6], 3 - pinsrw xmm7, word ptr [r14 + rdx + 6], 4 - pinsrw xmm7, word ptr [r14 + r13 + 6], 5 + pinsrw xmm7, word ptr [r14 + r12 + 6], 4 + pinsrw xmm7, word ptr [r14 + rdx + 6], 5 pinsrw xmm7, word ptr [r14 + rbx + 6], 6 pinsrw xmm7, word ptr [r14 + r9 + 6], 7 pcmpeqw xmm7, xmm11 @@ -29437,8 +30700,8 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 pinsrw xmm8, word ptr [r14 + rcx + 8], 1 pinsrw xmm8, word ptr [r14 + r15 + 8], 2 pinsrw xmm8, word ptr [r14 + rsi + 8], 3 - pinsrw xmm8, word ptr [r14 + rdx + 8], 4 - pinsrw xmm8, word ptr [r14 + r13 + 8], 5 + pinsrw xmm8, word ptr [r14 + r12 + 8], 4 + pinsrw xmm8, word ptr [r14 + rdx + 8], 5 pinsrw xmm8, word ptr [r14 + rbx + 8], 6 pinsrw xmm8, word ptr [r14 + r9 + 8], 7 psubb xmm3, xmm5 @@ -29453,13 +30716,13 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 movdqa xmm13, xmmword ptr [rip + .LCPI5_11] # xmm13 = <16,16,16,16,16,16,16,16,u,u,u,u,u,u,u,u> movdqa xmm0, xmm8 pblendvb xmm13, xmm9, xmm0 - movd xmm6, r12d - movzx r12d, word ptr [r14 + rdi + 28] + movd xmm6, r13d + movzx r13d, word ptr [r14 + rdi + 28] pinsrw xmm4, word ptr [r14 + rcx + 10], 1 pinsrw xmm4, word ptr [r14 + r15 + 10], 2 pinsrw xmm4, word ptr [r14 + rsi + 10], 3 - pinsrw xmm4, word ptr [r14 + rdx + 10], 4 - pinsrw xmm4, word ptr [r14 + r13 + 10], 5 + pinsrw xmm4, word ptr [r14 + r12 + 10], 4 + pinsrw xmm4, word ptr [r14 + rdx + 10], 5 pinsrw xmm4, word ptr [r14 + rbx + 10], 6 pinsrw xmm4, word ptr [r14 + r9 + 10], 7 pcmpeqw xmm4, xmm11 @@ -29467,14 +30730,14 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 pinsrw xmm2, word ptr [r14 + rcx + 12], 1 pinsrw xmm2, word ptr [r14 + r15 + 12], 2 pinsrw xmm2, word ptr [r14 + rsi + 12], 3 - pinsrw xmm2, word ptr [r14 + rdx + 12], 4 - pinsrw xmm2, word ptr [r14 + r13 + 12], 5 + pinsrw xmm2, word ptr [r14 + r12 + 12], 4 + pinsrw xmm2, word ptr [r14 + rdx + 12], 5 pinsrw xmm2, word ptr [r14 + rbx + 12], 6 por xmm12, xmm3 movdqa xmm5, xmmword ptr [rip + .LCPI5_12] # xmm5 = <32,32,32,32,32,32,32,32,u,u,u,u,u,u,u,u> movdqa xmm0, xmm4 pblendvb xmm5, xmm9, xmm0 - movd xmm4, dword ptr [rsp + 40] # 4-byte Folded Reload + movd xmm4, dword ptr [rsp + 32] # 4-byte Folded Reload # xmm4 = mem[0],zero,zero,zero movzx r10d, word ptr [r14 + rdi + 30] pinsrw xmm2, word ptr [r14 + r9 + 12], 7 @@ -29484,27 +30747,27 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 movdqa xmm13, xmmword ptr [rip + .LCPI5_13] # xmm13 = <64,64,64,64,64,64,64,64,u,u,u,u,u,u,u,u> movdqa xmm0, xmm2 pblendvb xmm13, xmm9, xmm0 - movd xmm3, dword ptr [rsp + 32] # 4-byte Folded Reload + movd xmm3, dword ptr [rsp + 24] # 4-byte Folded Reload # xmm3 = mem[0],zero,zero,zero movzx eax, word ptr [r14 + rdi + 32] - mov dword ptr [rsp + 32], eax # 4-byte Spill + mov dword ptr [rsp + 24], eax # 4-byte Spill pinsrw xmm1, word ptr [r14 + rcx + 14], 1 pinsrw xmm1, word ptr [r14 + r15 + 14], 2 pinsrw xmm1, word ptr [r14 + rsi + 14], 3 - pinsrw xmm1, word ptr [r14 + rdx + 14], 4 - pinsrw xmm1, word ptr [r14 + r13 + 14], 5 + pinsrw xmm1, word ptr [r14 + r12 + 14], 4 + pinsrw xmm1, word ptr [r14 + rdx + 14], 5 pinsrw xmm1, word ptr [r14 + rbx + 14], 6 por xmm13, xmm5 movd xmm2, r11d movzx eax, word ptr [r14 + rdi + 34] - mov dword ptr [rsp + 40], eax # 4-byte Spill + mov dword ptr [rsp + 32], eax # 4-byte Spill pinsrw xmm1, word ptr [r14 + r9 + 14], 7 pcmpeqw xmm1, xmm11 pinsrw xmm6, word ptr [r14 + rcx + 18], 1 pinsrw xmm6, word ptr [r14 + r15 + 18], 2 pinsrw xmm6, word ptr [r14 + rsi + 18], 3 - pinsrw xmm6, word ptr [r14 + rdx + 18], 4 - pinsrw xmm6, word ptr [r14 + r13 + 18], 5 + pinsrw xmm6, word ptr [r14 + r12 + 18], 4 + pinsrw xmm6, word ptr [r14 + rdx + 18], 5 pinsrw xmm6, word ptr [r14 + rbx + 18], 6 packsswb xmm1, xmm1 pinsrw xmm6, word ptr [r14 + r9 + 18], 7 @@ -29523,14 +30786,14 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 pinsrw xmm7, word ptr [r14 + rcx + 16], 1 pinsrw xmm7, word ptr [r14 + r15 + 16], 2 pinsrw xmm7, word ptr [r14 + rsi + 16], 3 - pinsrw xmm7, word ptr [r14 + rdx + 16], 4 - pinsrw xmm7, word ptr [r14 + r13 + 16], 5 + pinsrw xmm7, word ptr [r14 + r12 + 16], 4 + pinsrw xmm7, word ptr [r14 + rdx + 16], 5 pinsrw xmm7, word ptr [r14 + rbx + 16], 6 pinsrw xmm4, word ptr [r14 + rcx + 20], 1 pinsrw xmm4, word ptr [r14 + r15 + 20], 2 pinsrw xmm4, word ptr [r14 + rsi + 20], 3 - pinsrw xmm4, word ptr [r14 + rdx + 20], 4 - pinsrw xmm4, word ptr [r14 + r13 + 20], 5 + pinsrw xmm4, word ptr [r14 + r12 + 20], 4 + pinsrw xmm4, word ptr [r14 + rdx + 20], 5 pinsrw xmm4, word ptr [r14 + rbx + 20], 6 pinsrw xmm4, word ptr [r14 + r9 + 20], 7 pcmpeqw xmm4, xmm11 @@ -29538,8 +30801,8 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 por xmm12, xmm13 movdqa xmm0, xmm4 pblendvb xmm15, xmm9, xmm0 - movd xmm4, r12d - movzx r12d, word ptr [r14 + rdi + 38] + movd xmm4, r13d + movzx r13d, word ptr [r14 + rdi + 38] pinsrw xmm7, word ptr [r14 + r9 + 16], 7 pcmpeqw xmm7, xmm11 pxor xmm7, xmmword ptr [rip + .LCPI5_22] @@ -29547,8 +30810,8 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 pinsrw xmm3, word ptr [r14 + rcx + 22], 1 pinsrw xmm3, word ptr [r14 + r15 + 22], 2 pinsrw xmm3, word ptr [r14 + rsi + 22], 3 - pinsrw xmm3, word ptr [r14 + rdx + 22], 4 - pinsrw xmm3, word ptr [r14 + r13 + 22], 5 + pinsrw xmm3, word ptr [r14 + r12 + 22], 4 + pinsrw xmm3, word ptr [r14 + rdx + 22], 5 pinsrw xmm3, word ptr [r14 + rbx + 22], 6 pinsrw xmm3, word ptr [r14 + r9 + 22], 7 pcmpeqw xmm3, xmm11 @@ -29556,8 +30819,8 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 pinsrw xmm2, word ptr [r14 + rcx + 24], 1 pinsrw xmm2, word ptr [r14 + r15 + 24], 2 pinsrw xmm2, word ptr [r14 + rsi + 24], 3 - pinsrw xmm2, word ptr [r14 + rdx + 24], 4 - pinsrw xmm2, word ptr [r14 + r13 + 24], 5 + pinsrw xmm2, word ptr [r14 + r12 + 24], 4 + pinsrw xmm2, word ptr [r14 + rdx + 24], 5 pinsrw xmm2, word ptr [r14 + rbx + 24], 6 pinsrw xmm2, word ptr [r14 + r9 + 24], 7 psubb xmm8, xmm7 @@ -29572,14 +30835,14 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 movdqa xmm13, xmmword ptr [rip + .LCPI5_11] # xmm13 = <16,16,16,16,16,16,16,16,u,u,u,u,u,u,u,u> movdqa xmm0, xmm2 pblendvb xmm13, xmm9, xmm0 - movd xmm7, dword ptr [rsp + 32] # 4-byte Folded Reload + movd xmm7, dword ptr [rsp + 24] # 4-byte Folded Reload # xmm7 = mem[0],zero,zero,zero movzx r10d, word ptr [r14 + rdi + 42] pinsrw xmm1, word ptr [r14 + rcx + 26], 1 pinsrw xmm1, word ptr [r14 + r15 + 26], 2 pinsrw xmm1, word ptr [r14 + rsi + 26], 3 - pinsrw xmm1, word ptr [r14 + rdx + 26], 4 - pinsrw xmm1, word ptr [r14 + r13 + 26], 5 + pinsrw xmm1, word ptr [r14 + r12 + 26], 4 + pinsrw xmm1, word ptr [r14 + rdx + 26], 5 pinsrw xmm1, word ptr [r14 + rbx + 26], 6 pinsrw xmm1, word ptr [r14 + r9 + 26], 7 pcmpeqw xmm1, xmm11 @@ -29587,18 +30850,18 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 pinsrw xmm4, word ptr [r14 + rcx + 28], 1 pinsrw xmm4, word ptr [r14 + r15 + 28], 2 pinsrw xmm4, word ptr [r14 + rsi + 28], 3 - pinsrw xmm4, word ptr [r14 + rdx + 28], 4 - pinsrw xmm4, word ptr [r14 + r13 + 28], 5 + pinsrw xmm4, word ptr [r14 + r12 + 28], 4 + pinsrw xmm4, word ptr [r14 + rdx + 28], 5 pinsrw xmm4, word ptr [r14 + rbx + 28], 6 por xmm14, xmm8 movdqa xmm15, xmmword ptr [rip + .LCPI5_12] # xmm15 = <32,32,32,32,32,32,32,32,u,u,u,u,u,u,u,u> movdqa xmm5, xmm15 movdqa xmm0, xmm1 pblendvb xmm5, xmm9, xmm0 - movd xmm2, dword ptr [rsp + 40] # 4-byte Folded Reload + movd xmm2, dword ptr [rsp + 32] # 4-byte Folded Reload # xmm2 = mem[0],zero,zero,zero movzx eax, word ptr [r14 + rdi + 44] - mov dword ptr [rsp + 32], eax # 4-byte Spill + mov dword ptr [rsp + 24], eax # 4-byte Spill pinsrw xmm4, word ptr [r14 + r9 + 28], 7 pcmpeqw xmm4, xmm11 packsswb xmm4, xmm4 @@ -29611,20 +30874,20 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 pinsrw xmm3, word ptr [r14 + rcx + 30], 1 pinsrw xmm3, word ptr [r14 + r15 + 30], 2 pinsrw xmm3, word ptr [r14 + rsi + 30], 3 - pinsrw xmm3, word ptr [r14 + rdx + 30], 4 - pinsrw xmm3, word ptr [r14 + r13 + 30], 5 + pinsrw xmm3, word ptr [r14 + r12 + 30], 4 + pinsrw xmm3, word ptr [r14 + rdx + 30], 5 pinsrw xmm3, word ptr [r14 + rbx + 30], 6 por xmm6, xmm5 - movd xmm1, r12d + movd xmm1, r13d movzx eax, word ptr [r14 + rdi + 48] - mov dword ptr [rsp + 40], eax # 4-byte Spill + mov dword ptr [rsp + 32], eax # 4-byte Spill pinsrw xmm3, word ptr [r14 + r9 + 30], 7 pcmpeqw xmm3, xmm11 pinsrw xmm2, word ptr [r14 + rcx + 34], 1 pinsrw xmm2, word ptr [r14 + r15 + 34], 2 pinsrw xmm2, word ptr [r14 + rsi + 34], 3 - pinsrw xmm2, word ptr [r14 + rdx + 34], 4 - pinsrw xmm2, word ptr [r14 + r13 + 34], 5 + pinsrw xmm2, word ptr [r14 + r12 + 34], 4 + pinsrw xmm2, word ptr [r14 + rdx + 34], 5 pinsrw xmm2, word ptr [r14 + rbx + 34], 6 packsswb xmm3, xmm3 pinsrw xmm2, word ptr [r14 + r9 + 34], 7 @@ -29638,18 +30901,18 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 movdqa xmm0, xmm2 pblendvb xmm8, xmm9, xmm0 movd xmm2, r8d - movzx r12d, word ptr [r14 + rdi + 50] + movzx r13d, word ptr [r14 + rdi + 50] pinsrw xmm7, word ptr [r14 + rcx + 32], 1 pinsrw xmm7, word ptr [r14 + r15 + 32], 2 pinsrw xmm7, word ptr [r14 + rsi + 32], 3 - pinsrw xmm7, word ptr [r14 + rdx + 32], 4 - pinsrw xmm7, word ptr [r14 + r13 + 32], 5 + pinsrw xmm7, word ptr [r14 + r12 + 32], 4 + pinsrw xmm7, word ptr [r14 + rdx + 32], 5 pinsrw xmm7, word ptr [r14 + rbx + 32], 6 pinsrw xmm4, word ptr [r14 + rcx + 36], 1 pinsrw xmm4, word ptr [r14 + r15 + 36], 2 pinsrw xmm4, word ptr [r14 + rsi + 36], 3 - pinsrw xmm4, word ptr [r14 + rdx + 36], 4 - pinsrw xmm4, word ptr [r14 + r13 + 36], 5 + pinsrw xmm4, word ptr [r14 + r12 + 36], 4 + pinsrw xmm4, word ptr [r14 + rdx + 36], 5 pinsrw xmm4, word ptr [r14 + rbx + 36], 6 pinsrw xmm4, word ptr [r14 + r9 + 36], 7 pcmpeqw xmm4, xmm11 @@ -29668,8 +30931,8 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 pinsrw xmm1, word ptr [r14 + rcx + 38], 1 pinsrw xmm1, word ptr [r14 + r15 + 38], 2 pinsrw xmm1, word ptr [r14 + rsi + 38], 3 - pinsrw xmm1, word ptr [r14 + rdx + 38], 4 - pinsrw xmm1, word ptr [r14 + r13 + 38], 5 + pinsrw xmm1, word ptr [r14 + r12 + 38], 4 + pinsrw xmm1, word ptr [r14 + rdx + 38], 5 pinsrw xmm1, word ptr [r14 + rbx + 38], 6 pinsrw xmm1, word ptr [r14 + r9 + 38], 7 pcmpeqw xmm1, xmm11 @@ -29677,15 +30940,15 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 pinsrw xmm2, word ptr [r14 + rcx + 40], 1 pinsrw xmm2, word ptr [r14 + r15 + 40], 2 pinsrw xmm2, word ptr [r14 + rsi + 40], 3 - pinsrw xmm2, word ptr [r14 + rdx + 40], 4 - pinsrw xmm2, word ptr [r14 + r13 + 40], 5 + pinsrw xmm2, word ptr [r14 + r12 + 40], 4 + pinsrw xmm2, word ptr [r14 + rdx + 40], 5 pinsrw xmm2, word ptr [r14 + rbx + 40], 6 pinsrw xmm2, word ptr [r14 + r9 + 40], 7 psubb xmm8, xmm7 movdqa xmm5, xmmword ptr [rip + .LCPI5_10] # xmm5 = <8,8,8,8,8,8,8,8,u,u,u,u,u,u,u,u> movdqa xmm0, xmm1 pblendvb xmm5, xmm9, xmm0 - movd xmm1, dword ptr [rsp + 32] # 4-byte Folded Reload + movd xmm1, dword ptr [rsp + 24] # 4-byte Folded Reload # xmm1 = mem[0],zero,zero,zero movzx r8d, word ptr [r14 + rdi + 54] pcmpeqw xmm2, xmm11 @@ -29699,8 +30962,8 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 pinsrw xmm3, word ptr [r14 + rcx + 42], 1 pinsrw xmm3, word ptr [r14 + r15 + 42], 2 pinsrw xmm3, word ptr [r14 + rsi + 42], 3 - pinsrw xmm3, word ptr [r14 + rdx + 42], 4 - pinsrw xmm3, word ptr [r14 + r13 + 42], 5 + pinsrw xmm3, word ptr [r14 + r12 + 42], 4 + pinsrw xmm3, word ptr [r14 + rdx + 42], 5 pinsrw xmm3, word ptr [r14 + rbx + 42], 6 pinsrw xmm3, word ptr [r14 + r9 + 42], 7 pcmpeqw xmm3, xmm11 @@ -29708,14 +30971,14 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 pinsrw xmm1, word ptr [r14 + rcx + 44], 1 pinsrw xmm1, word ptr [r14 + r15 + 44], 2 pinsrw xmm1, word ptr [r14 + rsi + 44], 3 - pinsrw xmm1, word ptr [r14 + rdx + 44], 4 - pinsrw xmm1, word ptr [r14 + r13 + 44], 5 + pinsrw xmm1, word ptr [r14 + r12 + 44], 4 + pinsrw xmm1, word ptr [r14 + rdx + 44], 5 pinsrw xmm1, word ptr [r14 + rbx + 44], 6 por xmm5, xmm8 movdqa xmm2, xmm15 movdqa xmm0, xmm3 pblendvb xmm2, xmm9, xmm0 - movd xmm7, dword ptr [rsp + 40] # 4-byte Folded Reload + movd xmm7, dword ptr [rsp + 32] # 4-byte Folded Reload # xmm7 = mem[0],zero,zero,zero movzx r11d, word ptr [r14 + rdi + 58] pinsrw xmm1, word ptr [r14 + r9 + 44], 7 @@ -29726,15 +30989,15 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 movdqa xmm6, xmm15 movdqa xmm0, xmm1 pblendvb xmm6, xmm9, xmm0 - movd xmm1, r12d - movzx r12d, word ptr [r14 + rdi + 60] + movd xmm1, r13d + movzx r13d, word ptr [r14 + rdi + 60] por xmm6, xmm2 movd xmm2, r10d pinsrw xmm4, word ptr [r14 + rcx + 46], 1 pinsrw xmm4, word ptr [r14 + r15 + 46], 2 pinsrw xmm4, word ptr [r14 + rsi + 46], 3 - pinsrw xmm4, word ptr [r14 + rdx + 46], 4 - pinsrw xmm4, word ptr [r14 + r13 + 46], 5 + pinsrw xmm4, word ptr [r14 + r12 + 46], 4 + pinsrw xmm4, word ptr [r14 + rdx + 46], 5 pinsrw xmm4, word ptr [r14 + rbx + 46], 6 pinsrw xmm4, word ptr [r14 + r9 + 46], 7 pcmpeqw xmm4, xmm11 @@ -29747,8 +31010,8 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 pinsrw xmm1, word ptr [r14 + rcx + 50], 1 pinsrw xmm1, word ptr [r14 + r15 + 50], 2 pinsrw xmm1, word ptr [r14 + rsi + 50], 3 - pinsrw xmm1, word ptr [r14 + rdx + 50], 4 - pinsrw xmm1, word ptr [r14 + r13 + 50], 5 + pinsrw xmm1, word ptr [r14 + r12 + 50], 4 + pinsrw xmm1, word ptr [r14 + rdx + 50], 5 pinsrw xmm1, word ptr [r14 + rbx + 50], 6 pinsrw xmm1, word ptr [r14 + r9 + 50], 7 pcmpeqw xmm1, xmm11 @@ -29761,8 +31024,8 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 pinsrw xmm7, word ptr [r14 + rcx + 48], 1 pinsrw xmm7, word ptr [r14 + r15 + 48], 2 pinsrw xmm7, word ptr [r14 + rsi + 48], 3 - pinsrw xmm7, word ptr [r14 + rdx + 48], 4 - pinsrw xmm7, word ptr [r14 + r13 + 48], 5 + pinsrw xmm7, word ptr [r14 + r12 + 48], 4 + pinsrw xmm7, word ptr [r14 + rdx + 48], 5 pinsrw xmm7, word ptr [r14 + rbx + 48], 6 pinsrw xmm7, word ptr [r14 + r9 + 48], 7 pcmpeqw xmm7, xmm11 @@ -29770,8 +31033,8 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 pinsrw xmm2, word ptr [r14 + rcx + 52], 1 pinsrw xmm2, word ptr [r14 + r15 + 52], 2 pinsrw xmm2, word ptr [r14 + rsi + 52], 3 - pinsrw xmm2, word ptr [r14 + rdx + 52], 4 - pinsrw xmm2, word ptr [r14 + r13 + 52], 5 + pinsrw xmm2, word ptr [r14 + r12 + 52], 4 + pinsrw xmm2, word ptr [r14 + rdx + 52], 5 pinsrw xmm2, word ptr [r14 + rbx + 52], 6 packsswb xmm7, xmm7 pinsrw xmm2, word ptr [r14 + r9 + 52], 7 @@ -29779,8 +31042,8 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 pinsrw xmm3, word ptr [r14 + rcx + 54], 1 pinsrw xmm3, word ptr [r14 + r15 + 54], 2 pinsrw xmm3, word ptr [r14 + rsi + 54], 3 - pinsrw xmm3, word ptr [r14 + rdx + 54], 4 - pinsrw xmm3, word ptr [r14 + r13 + 54], 5 + pinsrw xmm3, word ptr [r14 + r12 + 54], 4 + pinsrw xmm3, word ptr [r14 + rdx + 54], 5 pinsrw xmm3, word ptr [r14 + rbx + 54], 6 packsswb xmm2, xmm2 pinsrw xmm3, word ptr [r14 + r9 + 54], 7 @@ -29788,8 +31051,8 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 pinsrw xmm1, word ptr [r14 + rcx + 56], 1 pinsrw xmm1, word ptr [r14 + r15 + 56], 2 pinsrw xmm1, word ptr [r14 + rsi + 56], 3 - pinsrw xmm1, word ptr [r14 + rdx + 56], 4 - pinsrw xmm1, word ptr [r14 + r13 + 56], 5 + pinsrw xmm1, word ptr [r14 + r12 + 56], 4 + pinsrw xmm1, word ptr [r14 + rdx + 56], 5 pinsrw xmm1, word ptr [r14 + rbx + 56], 6 packsswb xmm3, xmm3 pinsrw xmm1, word ptr [r14 + r9 + 56], 7 @@ -29805,20 +31068,20 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 pinsrw xmm2, word ptr [r14 + rcx + 58], 1 pinsrw xmm2, word ptr [r14 + r15 + 58], 2 pinsrw xmm2, word ptr [r14 + rsi + 58], 3 - pinsrw xmm2, word ptr [r14 + rdx + 58], 4 - pinsrw xmm2, word ptr [r14 + r13 + 58], 5 + pinsrw xmm2, word ptr [r14 + r12 + 58], 4 + pinsrw xmm2, word ptr [r14 + rdx + 58], 5 pinsrw xmm2, word ptr [r14 + rbx + 58], 6 pinsrw xmm2, word ptr [r14 + r9 + 58], 7 packsswb xmm1, xmm1 pcmpeqw xmm2, xmm11 por xmm6, xmm5 - movd xmm3, r12d + movd xmm3, r13d mov r8, qword ptr [rsp + 8] # 8-byte Reload pinsrw xmm3, word ptr [r14 + rcx + 60], 1 pinsrw xmm3, word ptr [r14 + r15 + 60], 2 pinsrw xmm3, word ptr [r14 + rsi + 60], 3 - pinsrw xmm3, word ptr [r14 + rdx + 60], 4 - pinsrw xmm3, word ptr [r14 + r13 + 60], 5 + pinsrw xmm3, word ptr [r14 + r12 + 60], 4 + pinsrw xmm3, word ptr [r14 + rdx + 60], 5 pinsrw xmm3, word ptr [r14 + rbx + 60], 6 packsswb xmm2, xmm2 pinsrw xmm3, word ptr [r14 + r9 + 60], 7 @@ -29841,8 +31104,8 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 pinsrw xmm0, word ptr [r14 + rcx + 62], 1 pinsrw xmm0, word ptr [r14 + r15 + 62], 2 pinsrw xmm0, word ptr [r14 + rsi + 62], 3 - pinsrw xmm0, word ptr [r14 + rdx + 62], 4 - pinsrw xmm0, word ptr [r14 + r13 + 62], 5 + pinsrw xmm0, word ptr [r14 + r12 + 62], 4 + pinsrw xmm0, word ptr [r14 + rdx + 62], 5 pinsrw xmm0, word ptr [r14 + rbx + 62], 6 pinsrw xmm0, word ptr [r14 + r9 + 62], 7 pcmpeqw xmm0, xmm11 @@ -29867,25 +31130,25 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 movdqu xmmword ptr [r8 + 4*rcx + 16], xmm0 add rcx, 8 mov rdi, rcx - cmp rcx, qword ptr [rsp + 24] # 8-byte Folded Reload - jne .LBB5_110 -# %bb.111: - mov r10, qword ptr [rsp + 224] # 8-byte Reload - cmp r10, qword ptr [rsp + 24] # 8-byte Folded Reload + cmp rcx, qword ptr [rsp + 40] # 8-byte Folded Reload + jne .LBB5_111 +# %bb.112: + mov r10, qword ptr [rsp + 208] # 8-byte Reload + cmp r10, qword ptr [rsp + 40] # 8-byte Folded Reload mov r15, qword ptr [rsp + 160] # 8-byte Reload mov r11d, dword ptr [rsp + 16] # 4-byte Reload mov r12, qword ptr [rsp + 56] # 8-byte Reload mov r14, qword ptr [rsp + 48] # 8-byte Reload - jne .LBB5_112 - jmp .LBB5_115 -.LBB5_132: + jne .LBB5_113 + jmp .LBB5_116 +.LBB5_133: and r10, -8 mov rax, r10 shl rax, 6 add rax, r14 mov qword ptr [rsp + 48], rax # 8-byte Spill + mov qword ptr [rsp + 40], r10 # 8-byte Spill mov rax, qword ptr [rsp + 8] # 8-byte Reload - mov qword ptr [rsp + 24], r10 # 8-byte Spill lea rax, [rax + 4*r10] mov qword ptr [rsp + 56], rax # 8-byte Spill movd xmm0, r11d @@ -29894,13 +31157,13 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 xor edi, edi pxor xmm9, xmm9 .p2align 4, 0x90 -.LBB5_133: # =>This Inner Loop Header: Depth=1 +.LBB5_134: # =>This Inner Loop Header: Depth=1 mov qword ptr [rsp + 64], rdi # 8-byte Spill shl rdi, 6 mov r15, rdi mov rsi, rdi + mov r12, rdi mov rdx, rdi - mov r13, rdi mov rbx, rdi mov r9, rdi movzx eax, word ptr [r14 + rdi] @@ -29918,39 +31181,39 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 movzx eax, word ptr [r14 + rdi + 12] movzx r8d, word ptr [r14 + rdi + 14] movzx r10d, word ptr [r14 + rdi + 16] - movzx r12d, word ptr [r14 + rdi + 18] + movzx r13d, word ptr [r14 + rdi + 18] movzx ecx, word ptr [r14 + rdi + 20] - mov dword ptr [rsp + 40], ecx # 4-byte Spill + mov dword ptr [rsp + 32], ecx # 4-byte Spill mov rcx, rdi or rcx, 64 or r15, 128 or rsi, 192 - or rdx, 256 - or r13, 320 + or r12, 256 + or rdx, 320 or rbx, 384 pinsrw xmm5, word ptr [r14 + rcx], 1 pinsrw xmm5, word ptr [r14 + r15], 2 pinsrw xmm5, word ptr [r14 + rsi], 3 - pinsrw xmm5, word ptr [r14 + rdx], 4 - pinsrw xmm5, word ptr [r14 + r13], 5 + pinsrw xmm5, word ptr [r14 + r12], 4 + pinsrw xmm5, word ptr [r14 + rdx], 5 pinsrw xmm5, word ptr [r14 + rbx], 6 pinsrw xmm0, word ptr [r14 + rcx + 2], 1 pinsrw xmm0, word ptr [r14 + r15 + 2], 2 pinsrw xmm0, word ptr [r14 + rsi + 2], 3 - pinsrw xmm0, word ptr [r14 + rdx + 2], 4 - pinsrw xmm0, word ptr [r14 + r13 + 2], 5 + pinsrw xmm0, word ptr [r14 + r12 + 2], 4 + pinsrw xmm0, word ptr [r14 + rdx + 2], 5 pinsrw xmm0, word ptr [r14 + rbx + 2], 6 or r9, 448 pinsrw xmm0, word ptr [r14 + r9 + 2], 7 movd xmm2, eax movzx eax, word ptr [r14 + rdi + 22] - mov dword ptr [rsp + 32], eax # 4-byte Spill + mov dword ptr [rsp + 24], eax # 4-byte Spill pcmpeqw xmm0, xmm11 pinsrw xmm1, word ptr [r14 + rcx + 4], 1 pinsrw xmm1, word ptr [r14 + r15 + 4], 2 pinsrw xmm1, word ptr [r14 + rsi + 4], 3 - pinsrw xmm1, word ptr [r14 + rdx + 4], 4 - pinsrw xmm1, word ptr [r14 + r13 + 4], 5 + pinsrw xmm1, word ptr [r14 + r12 + 4], 4 + pinsrw xmm1, word ptr [r14 + rdx + 4], 5 pinsrw xmm1, word ptr [r14 + rbx + 4], 6 pinsrw xmm1, word ptr [r14 + r9 + 4], 7 packsswb xmm0, xmm0 @@ -29973,8 +31236,8 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 pinsrw xmm7, word ptr [r14 + rcx + 6], 1 pinsrw xmm7, word ptr [r14 + r15 + 6], 2 pinsrw xmm7, word ptr [r14 + rsi + 6], 3 - pinsrw xmm7, word ptr [r14 + rdx + 6], 4 - pinsrw xmm7, word ptr [r14 + r13 + 6], 5 + pinsrw xmm7, word ptr [r14 + r12 + 6], 4 + pinsrw xmm7, word ptr [r14 + rdx + 6], 5 pinsrw xmm7, word ptr [r14 + rbx + 6], 6 pinsrw xmm7, word ptr [r14 + r9 + 6], 7 pcmpeqw xmm7, xmm11 @@ -29982,8 +31245,8 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 pinsrw xmm8, word ptr [r14 + rcx + 8], 1 pinsrw xmm8, word ptr [r14 + r15 + 8], 2 pinsrw xmm8, word ptr [r14 + rsi + 8], 3 - pinsrw xmm8, word ptr [r14 + rdx + 8], 4 - pinsrw xmm8, word ptr [r14 + r13 + 8], 5 + pinsrw xmm8, word ptr [r14 + r12 + 8], 4 + pinsrw xmm8, word ptr [r14 + rdx + 8], 5 pinsrw xmm8, word ptr [r14 + rbx + 8], 6 pinsrw xmm8, word ptr [r14 + r9 + 8], 7 psubb xmm3, xmm5 @@ -29998,13 +31261,13 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 movdqa xmm13, xmmword ptr [rip + .LCPI5_11] # xmm13 = <16,16,16,16,16,16,16,16,u,u,u,u,u,u,u,u> movdqa xmm0, xmm8 pblendvb xmm13, xmm9, xmm0 - movd xmm6, r12d - movzx r12d, word ptr [r14 + rdi + 28] + movd xmm6, r13d + movzx r13d, word ptr [r14 + rdi + 28] pinsrw xmm4, word ptr [r14 + rcx + 10], 1 pinsrw xmm4, word ptr [r14 + r15 + 10], 2 pinsrw xmm4, word ptr [r14 + rsi + 10], 3 - pinsrw xmm4, word ptr [r14 + rdx + 10], 4 - pinsrw xmm4, word ptr [r14 + r13 + 10], 5 + pinsrw xmm4, word ptr [r14 + r12 + 10], 4 + pinsrw xmm4, word ptr [r14 + rdx + 10], 5 pinsrw xmm4, word ptr [r14 + rbx + 10], 6 pinsrw xmm4, word ptr [r14 + r9 + 10], 7 pcmpeqw xmm4, xmm11 @@ -30012,14 +31275,14 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 pinsrw xmm2, word ptr [r14 + rcx + 12], 1 pinsrw xmm2, word ptr [r14 + r15 + 12], 2 pinsrw xmm2, word ptr [r14 + rsi + 12], 3 - pinsrw xmm2, word ptr [r14 + rdx + 12], 4 - pinsrw xmm2, word ptr [r14 + r13 + 12], 5 + pinsrw xmm2, word ptr [r14 + r12 + 12], 4 + pinsrw xmm2, word ptr [r14 + rdx + 12], 5 pinsrw xmm2, word ptr [r14 + rbx + 12], 6 por xmm12, xmm3 movdqa xmm5, xmmword ptr [rip + .LCPI5_12] # xmm5 = <32,32,32,32,32,32,32,32,u,u,u,u,u,u,u,u> movdqa xmm0, xmm4 pblendvb xmm5, xmm9, xmm0 - movd xmm4, dword ptr [rsp + 40] # 4-byte Folded Reload + movd xmm4, dword ptr [rsp + 32] # 4-byte Folded Reload # xmm4 = mem[0],zero,zero,zero movzx r10d, word ptr [r14 + rdi + 30] pinsrw xmm2, word ptr [r14 + r9 + 12], 7 @@ -30029,27 +31292,27 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 movdqa xmm13, xmmword ptr [rip + .LCPI5_13] # xmm13 = <64,64,64,64,64,64,64,64,u,u,u,u,u,u,u,u> movdqa xmm0, xmm2 pblendvb xmm13, xmm9, xmm0 - movd xmm3, dword ptr [rsp + 32] # 4-byte Folded Reload + movd xmm3, dword ptr [rsp + 24] # 4-byte Folded Reload # xmm3 = mem[0],zero,zero,zero movzx eax, word ptr [r14 + rdi + 32] - mov dword ptr [rsp + 32], eax # 4-byte Spill + mov dword ptr [rsp + 24], eax # 4-byte Spill pinsrw xmm1, word ptr [r14 + rcx + 14], 1 pinsrw xmm1, word ptr [r14 + r15 + 14], 2 pinsrw xmm1, word ptr [r14 + rsi + 14], 3 - pinsrw xmm1, word ptr [r14 + rdx + 14], 4 - pinsrw xmm1, word ptr [r14 + r13 + 14], 5 + pinsrw xmm1, word ptr [r14 + r12 + 14], 4 + pinsrw xmm1, word ptr [r14 + rdx + 14], 5 pinsrw xmm1, word ptr [r14 + rbx + 14], 6 por xmm13, xmm5 movd xmm2, r11d movzx eax, word ptr [r14 + rdi + 34] - mov dword ptr [rsp + 40], eax # 4-byte Spill + mov dword ptr [rsp + 32], eax # 4-byte Spill pinsrw xmm1, word ptr [r14 + r9 + 14], 7 pcmpeqw xmm1, xmm11 pinsrw xmm6, word ptr [r14 + rcx + 18], 1 pinsrw xmm6, word ptr [r14 + r15 + 18], 2 pinsrw xmm6, word ptr [r14 + rsi + 18], 3 - pinsrw xmm6, word ptr [r14 + rdx + 18], 4 - pinsrw xmm6, word ptr [r14 + r13 + 18], 5 + pinsrw xmm6, word ptr [r14 + r12 + 18], 4 + pinsrw xmm6, word ptr [r14 + rdx + 18], 5 pinsrw xmm6, word ptr [r14 + rbx + 18], 6 packsswb xmm1, xmm1 pinsrw xmm6, word ptr [r14 + r9 + 18], 7 @@ -30068,14 +31331,14 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 pinsrw xmm7, word ptr [r14 + rcx + 16], 1 pinsrw xmm7, word ptr [r14 + r15 + 16], 2 pinsrw xmm7, word ptr [r14 + rsi + 16], 3 - pinsrw xmm7, word ptr [r14 + rdx + 16], 4 - pinsrw xmm7, word ptr [r14 + r13 + 16], 5 + pinsrw xmm7, word ptr [r14 + r12 + 16], 4 + pinsrw xmm7, word ptr [r14 + rdx + 16], 5 pinsrw xmm7, word ptr [r14 + rbx + 16], 6 pinsrw xmm4, word ptr [r14 + rcx + 20], 1 pinsrw xmm4, word ptr [r14 + r15 + 20], 2 pinsrw xmm4, word ptr [r14 + rsi + 20], 3 - pinsrw xmm4, word ptr [r14 + rdx + 20], 4 - pinsrw xmm4, word ptr [r14 + r13 + 20], 5 + pinsrw xmm4, word ptr [r14 + r12 + 20], 4 + pinsrw xmm4, word ptr [r14 + rdx + 20], 5 pinsrw xmm4, word ptr [r14 + rbx + 20], 6 pinsrw xmm4, word ptr [r14 + r9 + 20], 7 pcmpeqw xmm4, xmm11 @@ -30083,8 +31346,8 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 por xmm12, xmm13 movdqa xmm0, xmm4 pblendvb xmm15, xmm9, xmm0 - movd xmm4, r12d - movzx r12d, word ptr [r14 + rdi + 38] + movd xmm4, r13d + movzx r13d, word ptr [r14 + rdi + 38] pinsrw xmm7, word ptr [r14 + r9 + 16], 7 pcmpeqw xmm7, xmm11 pxor xmm7, xmmword ptr [rip + .LCPI5_22] @@ -30092,8 +31355,8 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 pinsrw xmm3, word ptr [r14 + rcx + 22], 1 pinsrw xmm3, word ptr [r14 + r15 + 22], 2 pinsrw xmm3, word ptr [r14 + rsi + 22], 3 - pinsrw xmm3, word ptr [r14 + rdx + 22], 4 - pinsrw xmm3, word ptr [r14 + r13 + 22], 5 + pinsrw xmm3, word ptr [r14 + r12 + 22], 4 + pinsrw xmm3, word ptr [r14 + rdx + 22], 5 pinsrw xmm3, word ptr [r14 + rbx + 22], 6 pinsrw xmm3, word ptr [r14 + r9 + 22], 7 pcmpeqw xmm3, xmm11 @@ -30101,8 +31364,8 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 pinsrw xmm2, word ptr [r14 + rcx + 24], 1 pinsrw xmm2, word ptr [r14 + r15 + 24], 2 pinsrw xmm2, word ptr [r14 + rsi + 24], 3 - pinsrw xmm2, word ptr [r14 + rdx + 24], 4 - pinsrw xmm2, word ptr [r14 + r13 + 24], 5 + pinsrw xmm2, word ptr [r14 + r12 + 24], 4 + pinsrw xmm2, word ptr [r14 + rdx + 24], 5 pinsrw xmm2, word ptr [r14 + rbx + 24], 6 pinsrw xmm2, word ptr [r14 + r9 + 24], 7 psubb xmm8, xmm7 @@ -30117,14 +31380,14 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 movdqa xmm13, xmmword ptr [rip + .LCPI5_11] # xmm13 = <16,16,16,16,16,16,16,16,u,u,u,u,u,u,u,u> movdqa xmm0, xmm2 pblendvb xmm13, xmm9, xmm0 - movd xmm7, dword ptr [rsp + 32] # 4-byte Folded Reload + movd xmm7, dword ptr [rsp + 24] # 4-byte Folded Reload # xmm7 = mem[0],zero,zero,zero movzx r10d, word ptr [r14 + rdi + 42] pinsrw xmm1, word ptr [r14 + rcx + 26], 1 pinsrw xmm1, word ptr [r14 + r15 + 26], 2 pinsrw xmm1, word ptr [r14 + rsi + 26], 3 - pinsrw xmm1, word ptr [r14 + rdx + 26], 4 - pinsrw xmm1, word ptr [r14 + r13 + 26], 5 + pinsrw xmm1, word ptr [r14 + r12 + 26], 4 + pinsrw xmm1, word ptr [r14 + rdx + 26], 5 pinsrw xmm1, word ptr [r14 + rbx + 26], 6 pinsrw xmm1, word ptr [r14 + r9 + 26], 7 pcmpeqw xmm1, xmm11 @@ -30132,18 +31395,18 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 pinsrw xmm4, word ptr [r14 + rcx + 28], 1 pinsrw xmm4, word ptr [r14 + r15 + 28], 2 pinsrw xmm4, word ptr [r14 + rsi + 28], 3 - pinsrw xmm4, word ptr [r14 + rdx + 28], 4 - pinsrw xmm4, word ptr [r14 + r13 + 28], 5 + pinsrw xmm4, word ptr [r14 + r12 + 28], 4 + pinsrw xmm4, word ptr [r14 + rdx + 28], 5 pinsrw xmm4, word ptr [r14 + rbx + 28], 6 por xmm14, xmm8 movdqa xmm15, xmmword ptr [rip + .LCPI5_12] # xmm15 = <32,32,32,32,32,32,32,32,u,u,u,u,u,u,u,u> movdqa xmm5, xmm15 movdqa xmm0, xmm1 pblendvb xmm5, xmm9, xmm0 - movd xmm2, dword ptr [rsp + 40] # 4-byte Folded Reload + movd xmm2, dword ptr [rsp + 32] # 4-byte Folded Reload # xmm2 = mem[0],zero,zero,zero movzx eax, word ptr [r14 + rdi + 44] - mov dword ptr [rsp + 32], eax # 4-byte Spill + mov dword ptr [rsp + 24], eax # 4-byte Spill pinsrw xmm4, word ptr [r14 + r9 + 28], 7 pcmpeqw xmm4, xmm11 packsswb xmm4, xmm4 @@ -30156,20 +31419,20 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 pinsrw xmm3, word ptr [r14 + rcx + 30], 1 pinsrw xmm3, word ptr [r14 + r15 + 30], 2 pinsrw xmm3, word ptr [r14 + rsi + 30], 3 - pinsrw xmm3, word ptr [r14 + rdx + 30], 4 - pinsrw xmm3, word ptr [r14 + r13 + 30], 5 + pinsrw xmm3, word ptr [r14 + r12 + 30], 4 + pinsrw xmm3, word ptr [r14 + rdx + 30], 5 pinsrw xmm3, word ptr [r14 + rbx + 30], 6 por xmm6, xmm5 - movd xmm1, r12d + movd xmm1, r13d movzx eax, word ptr [r14 + rdi + 48] - mov dword ptr [rsp + 40], eax # 4-byte Spill + mov dword ptr [rsp + 32], eax # 4-byte Spill pinsrw xmm3, word ptr [r14 + r9 + 30], 7 pcmpeqw xmm3, xmm11 pinsrw xmm2, word ptr [r14 + rcx + 34], 1 pinsrw xmm2, word ptr [r14 + r15 + 34], 2 pinsrw xmm2, word ptr [r14 + rsi + 34], 3 - pinsrw xmm2, word ptr [r14 + rdx + 34], 4 - pinsrw xmm2, word ptr [r14 + r13 + 34], 5 + pinsrw xmm2, word ptr [r14 + r12 + 34], 4 + pinsrw xmm2, word ptr [r14 + rdx + 34], 5 pinsrw xmm2, word ptr [r14 + rbx + 34], 6 packsswb xmm3, xmm3 pinsrw xmm2, word ptr [r14 + r9 + 34], 7 @@ -30183,18 +31446,18 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 movdqa xmm0, xmm2 pblendvb xmm8, xmm9, xmm0 movd xmm2, r8d - movzx r12d, word ptr [r14 + rdi + 50] + movzx r13d, word ptr [r14 + rdi + 50] pinsrw xmm7, word ptr [r14 + rcx + 32], 1 pinsrw xmm7, word ptr [r14 + r15 + 32], 2 pinsrw xmm7, word ptr [r14 + rsi + 32], 3 - pinsrw xmm7, word ptr [r14 + rdx + 32], 4 - pinsrw xmm7, word ptr [r14 + r13 + 32], 5 + pinsrw xmm7, word ptr [r14 + r12 + 32], 4 + pinsrw xmm7, word ptr [r14 + rdx + 32], 5 pinsrw xmm7, word ptr [r14 + rbx + 32], 6 pinsrw xmm4, word ptr [r14 + rcx + 36], 1 pinsrw xmm4, word ptr [r14 + r15 + 36], 2 pinsrw xmm4, word ptr [r14 + rsi + 36], 3 - pinsrw xmm4, word ptr [r14 + rdx + 36], 4 - pinsrw xmm4, word ptr [r14 + r13 + 36], 5 + pinsrw xmm4, word ptr [r14 + r12 + 36], 4 + pinsrw xmm4, word ptr [r14 + rdx + 36], 5 pinsrw xmm4, word ptr [r14 + rbx + 36], 6 pinsrw xmm4, word ptr [r14 + r9 + 36], 7 pcmpeqw xmm4, xmm11 @@ -30213,8 +31476,8 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 pinsrw xmm1, word ptr [r14 + rcx + 38], 1 pinsrw xmm1, word ptr [r14 + r15 + 38], 2 pinsrw xmm1, word ptr [r14 + rsi + 38], 3 - pinsrw xmm1, word ptr [r14 + rdx + 38], 4 - pinsrw xmm1, word ptr [r14 + r13 + 38], 5 + pinsrw xmm1, word ptr [r14 + r12 + 38], 4 + pinsrw xmm1, word ptr [r14 + rdx + 38], 5 pinsrw xmm1, word ptr [r14 + rbx + 38], 6 pinsrw xmm1, word ptr [r14 + r9 + 38], 7 pcmpeqw xmm1, xmm11 @@ -30222,15 +31485,15 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 pinsrw xmm2, word ptr [r14 + rcx + 40], 1 pinsrw xmm2, word ptr [r14 + r15 + 40], 2 pinsrw xmm2, word ptr [r14 + rsi + 40], 3 - pinsrw xmm2, word ptr [r14 + rdx + 40], 4 - pinsrw xmm2, word ptr [r14 + r13 + 40], 5 + pinsrw xmm2, word ptr [r14 + r12 + 40], 4 + pinsrw xmm2, word ptr [r14 + rdx + 40], 5 pinsrw xmm2, word ptr [r14 + rbx + 40], 6 pinsrw xmm2, word ptr [r14 + r9 + 40], 7 psubb xmm8, xmm7 movdqa xmm5, xmmword ptr [rip + .LCPI5_10] # xmm5 = <8,8,8,8,8,8,8,8,u,u,u,u,u,u,u,u> movdqa xmm0, xmm1 pblendvb xmm5, xmm9, xmm0 - movd xmm1, dword ptr [rsp + 32] # 4-byte Folded Reload + movd xmm1, dword ptr [rsp + 24] # 4-byte Folded Reload # xmm1 = mem[0],zero,zero,zero movzx r8d, word ptr [r14 + rdi + 54] pcmpeqw xmm2, xmm11 @@ -30244,8 +31507,8 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 pinsrw xmm3, word ptr [r14 + rcx + 42], 1 pinsrw xmm3, word ptr [r14 + r15 + 42], 2 pinsrw xmm3, word ptr [r14 + rsi + 42], 3 - pinsrw xmm3, word ptr [r14 + rdx + 42], 4 - pinsrw xmm3, word ptr [r14 + r13 + 42], 5 + pinsrw xmm3, word ptr [r14 + r12 + 42], 4 + pinsrw xmm3, word ptr [r14 + rdx + 42], 5 pinsrw xmm3, word ptr [r14 + rbx + 42], 6 pinsrw xmm3, word ptr [r14 + r9 + 42], 7 pcmpeqw xmm3, xmm11 @@ -30253,14 +31516,14 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 pinsrw xmm1, word ptr [r14 + rcx + 44], 1 pinsrw xmm1, word ptr [r14 + r15 + 44], 2 pinsrw xmm1, word ptr [r14 + rsi + 44], 3 - pinsrw xmm1, word ptr [r14 + rdx + 44], 4 - pinsrw xmm1, word ptr [r14 + r13 + 44], 5 + pinsrw xmm1, word ptr [r14 + r12 + 44], 4 + pinsrw xmm1, word ptr [r14 + rdx + 44], 5 pinsrw xmm1, word ptr [r14 + rbx + 44], 6 por xmm5, xmm8 movdqa xmm2, xmm15 movdqa xmm0, xmm3 pblendvb xmm2, xmm9, xmm0 - movd xmm7, dword ptr [rsp + 40] # 4-byte Folded Reload + movd xmm7, dword ptr [rsp + 32] # 4-byte Folded Reload # xmm7 = mem[0],zero,zero,zero movzx r11d, word ptr [r14 + rdi + 58] pinsrw xmm1, word ptr [r14 + r9 + 44], 7 @@ -30271,15 +31534,15 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 movdqa xmm6, xmm15 movdqa xmm0, xmm1 pblendvb xmm6, xmm9, xmm0 - movd xmm1, r12d - movzx r12d, word ptr [r14 + rdi + 60] + movd xmm1, r13d + movzx r13d, word ptr [r14 + rdi + 60] por xmm6, xmm2 movd xmm2, r10d pinsrw xmm4, word ptr [r14 + rcx + 46], 1 pinsrw xmm4, word ptr [r14 + r15 + 46], 2 pinsrw xmm4, word ptr [r14 + rsi + 46], 3 - pinsrw xmm4, word ptr [r14 + rdx + 46], 4 - pinsrw xmm4, word ptr [r14 + r13 + 46], 5 + pinsrw xmm4, word ptr [r14 + r12 + 46], 4 + pinsrw xmm4, word ptr [r14 + rdx + 46], 5 pinsrw xmm4, word ptr [r14 + rbx + 46], 6 pinsrw xmm4, word ptr [r14 + r9 + 46], 7 pcmpeqw xmm4, xmm11 @@ -30292,8 +31555,8 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 pinsrw xmm1, word ptr [r14 + rcx + 50], 1 pinsrw xmm1, word ptr [r14 + r15 + 50], 2 pinsrw xmm1, word ptr [r14 + rsi + 50], 3 - pinsrw xmm1, word ptr [r14 + rdx + 50], 4 - pinsrw xmm1, word ptr [r14 + r13 + 50], 5 + pinsrw xmm1, word ptr [r14 + r12 + 50], 4 + pinsrw xmm1, word ptr [r14 + rdx + 50], 5 pinsrw xmm1, word ptr [r14 + rbx + 50], 6 pinsrw xmm1, word ptr [r14 + r9 + 50], 7 pcmpeqw xmm1, xmm11 @@ -30306,8 +31569,8 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 pinsrw xmm7, word ptr [r14 + rcx + 48], 1 pinsrw xmm7, word ptr [r14 + r15 + 48], 2 pinsrw xmm7, word ptr [r14 + rsi + 48], 3 - pinsrw xmm7, word ptr [r14 + rdx + 48], 4 - pinsrw xmm7, word ptr [r14 + r13 + 48], 5 + pinsrw xmm7, word ptr [r14 + r12 + 48], 4 + pinsrw xmm7, word ptr [r14 + rdx + 48], 5 pinsrw xmm7, word ptr [r14 + rbx + 48], 6 pinsrw xmm7, word ptr [r14 + r9 + 48], 7 pcmpeqw xmm7, xmm11 @@ -30315,8 +31578,8 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 pinsrw xmm2, word ptr [r14 + rcx + 52], 1 pinsrw xmm2, word ptr [r14 + r15 + 52], 2 pinsrw xmm2, word ptr [r14 + rsi + 52], 3 - pinsrw xmm2, word ptr [r14 + rdx + 52], 4 - pinsrw xmm2, word ptr [r14 + r13 + 52], 5 + pinsrw xmm2, word ptr [r14 + r12 + 52], 4 + pinsrw xmm2, word ptr [r14 + rdx + 52], 5 pinsrw xmm2, word ptr [r14 + rbx + 52], 6 packsswb xmm7, xmm7 pinsrw xmm2, word ptr [r14 + r9 + 52], 7 @@ -30324,8 +31587,8 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 pinsrw xmm3, word ptr [r14 + rcx + 54], 1 pinsrw xmm3, word ptr [r14 + r15 + 54], 2 pinsrw xmm3, word ptr [r14 + rsi + 54], 3 - pinsrw xmm3, word ptr [r14 + rdx + 54], 4 - pinsrw xmm3, word ptr [r14 + r13 + 54], 5 + pinsrw xmm3, word ptr [r14 + r12 + 54], 4 + pinsrw xmm3, word ptr [r14 + rdx + 54], 5 pinsrw xmm3, word ptr [r14 + rbx + 54], 6 packsswb xmm2, xmm2 pinsrw xmm3, word ptr [r14 + r9 + 54], 7 @@ -30333,8 +31596,8 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 pinsrw xmm1, word ptr [r14 + rcx + 56], 1 pinsrw xmm1, word ptr [r14 + r15 + 56], 2 pinsrw xmm1, word ptr [r14 + rsi + 56], 3 - pinsrw xmm1, word ptr [r14 + rdx + 56], 4 - pinsrw xmm1, word ptr [r14 + r13 + 56], 5 + pinsrw xmm1, word ptr [r14 + r12 + 56], 4 + pinsrw xmm1, word ptr [r14 + rdx + 56], 5 pinsrw xmm1, word ptr [r14 + rbx + 56], 6 packsswb xmm3, xmm3 pinsrw xmm1, word ptr [r14 + r9 + 56], 7 @@ -30350,20 +31613,20 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 pinsrw xmm2, word ptr [r14 + rcx + 58], 1 pinsrw xmm2, word ptr [r14 + r15 + 58], 2 pinsrw xmm2, word ptr [r14 + rsi + 58], 3 - pinsrw xmm2, word ptr [r14 + rdx + 58], 4 - pinsrw xmm2, word ptr [r14 + r13 + 58], 5 + pinsrw xmm2, word ptr [r14 + r12 + 58], 4 + pinsrw xmm2, word ptr [r14 + rdx + 58], 5 pinsrw xmm2, word ptr [r14 + rbx + 58], 6 pinsrw xmm2, word ptr [r14 + r9 + 58], 7 packsswb xmm1, xmm1 pcmpeqw xmm2, xmm11 por xmm6, xmm5 - movd xmm3, r12d + movd xmm3, r13d mov r8, qword ptr [rsp + 8] # 8-byte Reload pinsrw xmm3, word ptr [r14 + rcx + 60], 1 pinsrw xmm3, word ptr [r14 + r15 + 60], 2 pinsrw xmm3, word ptr [r14 + rsi + 60], 3 - pinsrw xmm3, word ptr [r14 + rdx + 60], 4 - pinsrw xmm3, word ptr [r14 + r13 + 60], 5 + pinsrw xmm3, word ptr [r14 + r12 + 60], 4 + pinsrw xmm3, word ptr [r14 + rdx + 60], 5 pinsrw xmm3, word ptr [r14 + rbx + 60], 6 packsswb xmm2, xmm2 pinsrw xmm3, word ptr [r14 + r9 + 60], 7 @@ -30386,8 +31649,8 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 pinsrw xmm0, word ptr [r14 + rcx + 62], 1 pinsrw xmm0, word ptr [r14 + r15 + 62], 2 pinsrw xmm0, word ptr [r14 + rsi + 62], 3 - pinsrw xmm0, word ptr [r14 + rdx + 62], 4 - pinsrw xmm0, word ptr [r14 + r13 + 62], 5 + pinsrw xmm0, word ptr [r14 + r12 + 62], 4 + pinsrw xmm0, word ptr [r14 + rdx + 62], 5 pinsrw xmm0, word ptr [r14 + rbx + 62], 6 pinsrw xmm0, word ptr [r14 + r9 + 62], 7 pcmpeqw xmm0, xmm11 @@ -30412,25 +31675,25 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 movdqu xmmword ptr [r8 + 4*rcx + 16], xmm0 add rcx, 8 mov rdi, rcx - cmp rcx, qword ptr [rsp + 24] # 8-byte Folded Reload - jne .LBB5_133 -# %bb.134: - mov r10, qword ptr [rsp + 224] # 8-byte Reload - cmp r10, qword ptr [rsp + 24] # 8-byte Folded Reload + cmp rcx, qword ptr [rsp + 40] # 8-byte Folded Reload + jne .LBB5_134 +# %bb.135: + mov r10, qword ptr [rsp + 208] # 8-byte Reload + cmp r10, qword ptr [rsp + 40] # 8-byte Folded Reload mov r15, qword ptr [rsp + 160] # 8-byte Reload mov r11d, dword ptr [rsp + 16] # 4-byte Reload mov r12, qword ptr [rsp + 56] # 8-byte Reload mov r14, qword ptr [rsp + 48] # 8-byte Reload - jne .LBB5_135 - jmp .LBB5_138 -.LBB5_180: + jne .LBB5_136 + jmp .LBB5_139 +.LBB5_181: mov r8, r10 and r8, -4 mov rbx, r8 shl rbx, 7 add rbx, r14 mov rax, qword ptr [rsp + 8] # 8-byte Reload - lea r11, [rax + 4*r8] + lea r12, [rax + 4*r8] movaps xmm1, xmm0 shufps xmm1, xmm0, 0 # xmm1 = xmm1[0,0],xmm0[0,0] add r14, 508 @@ -30445,7 +31708,7 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 movdqa xmm9, xmmword ptr [rip + .LCPI5_7] # xmm9 = [0,8,1,9,2,10,3,11,4,12,5,13,6,14,7,15] mov rax, qword ptr [rsp + 8] # 8-byte Reload .p2align 4, 0x90 -.LBB5_181: # =>This Inner Loop Header: Depth=1 +.LBB5_182: # =>This Inner Loop Header: Depth=1 movss xmm6, dword ptr [r14 - 508] # xmm6 = mem[0],zero,zero,zero movss xmm7, dword ptr [r14 - 504] # xmm7 = mem[0],zero,zero,zero movss xmm5, dword ptr [r14 - 500] # xmm5 = mem[0],zero,zero,zero @@ -30790,11 +32053,11 @@ comparison_not_equal_scalar_arr_sse4: # @comparison_not_equal_scalar_arr_sse4 add rcx, 4 add r14, 512 cmp r8, rcx - jne .LBB5_181 -# %bb.182: + jne .LBB5_182 +# %bb.183: cmp r10, r8 - jne .LBB5_183 - jmp .LBB5_186 + jne .LBB5_184 + jmp .LBB5_187 .Lfunc_end5: .size comparison_not_equal_scalar_arr_sse4, .Lfunc_end5-comparison_not_equal_scalar_arr_sse4 # -- End function @@ -33659,7 +34922,7 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 sub rsp, 336 # kill: def $r9d killed $r9d def $r9 mov r11, r8 - mov r12, rcx + mov qword ptr [rsp], rcx # 8-byte Spill cmp edi, 6 jg .LBB7_26 # %bb.1: @@ -33670,10 +34933,10 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 je .LBB7_98 # %bb.11: cmp edi, 5 - je .LBB7_113 + je .LBB7_114 # %bb.12: cmp edi, 6 - jne .LBB7_200 + jne .LBB7_202 # %bb.13: mov r13d, dword ptr [rdx] lea r10, [r11 + 31] @@ -33687,6 +34950,7 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 je .LBB7_17 # %bb.14: movsxd rax, r9d + mov r9, qword ptr [rsp] # 8-byte Reload .p2align 4, 0x90 .LBB7_15: # =>This Inner Loop Header: Depth=1 cmp r13d, dword ptr [rsi] @@ -33696,8 +34960,7 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 test rax, rax cmovns rbx, rax sar rbx, 3 - mov r9, r12 - movzx r8d, byte ptr [r12 + rbx] + movzx r8d, byte ptr [r9 + rbx] xor dl, r8b lea edi, [8*rbx] mov ecx, eax @@ -33707,12 +34970,12 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 shl edi, cl and dil, dl xor dil, r8b - mov byte ptr [r12 + rbx], dil + mov byte ptr [r9 + rbx], dil add rax, 1 cmp rax, 8 jne .LBB7_15 # %bb.16: - add r12, 1 + add qword ptr [rsp], 1 # 8-byte Folded Spill .LBB7_17: sar r10, 5 cmp r11, 32 @@ -33720,36 +34983,35 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 # %bb.18: mov qword ptr [rsp + 136], r11 # 8-byte Spill mov qword ptr [rsp + 240], r10 # 8-byte Spill - mov qword ptr [rsp + 176], r10 # 8-byte Spill + mov qword ptr [rsp + 192], r10 # 8-byte Spill .p2align 4, 0x90 .LBB7_19: # =>This Inner Loop Header: Depth=1 - mov qword ptr [rsp + 128], r12 # 8-byte Spill cmp dword ptr [rsi], r13d - seta byte ptr [rsp + 192] # 1-byte Folded Spill + seta byte ptr [rsp + 208] # 1-byte Folded Spill cmp dword ptr [rsi + 4], r13d - seta dil + seta r10b cmp dword ptr [rsi + 8], r13d - seta r14b + seta dil cmp dword ptr [rsi + 12], r13d - seta byte ptr [rsp + 208] # 1-byte Folded Spill + seta byte ptr [rsp + 176] # 1-byte Folded Spill cmp dword ptr [rsi + 16], r13d - seta byte ptr [rsp + 112] # 1-byte Folded Spill + seta byte ptr [rsp + 104] # 1-byte Folded Spill cmp dword ptr [rsi + 20], r13d seta byte ptr [rsp + 88] # 1-byte Folded Spill cmp dword ptr [rsi + 24], r13d seta al cmp dword ptr [rsi + 28], r13d - seta bl + seta r14b cmp dword ptr [rsi + 32], r13d - seta byte ptr [rsp + 144] # 1-byte Folded Spill + seta byte ptr [rsp + 128] # 1-byte Folded Spill cmp dword ptr [rsi + 36], r13d seta dl cmp dword ptr [rsi + 40], r13d seta r9b cmp dword ptr [rsi + 44], r13d - seta r10b - cmp dword ptr [rsi + 48], r13d seta r11b + cmp dword ptr [rsi + 48], r13d + seta bl cmp dword ptr [rsi + 52], r13d seta r12b cmp dword ptr [rsi + 56], r13d @@ -33757,126 +35019,127 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 cmp dword ptr [rsi + 60], r13d seta cl cmp dword ptr [rsi + 64], r13d - seta byte ptr [rsp + 80] # 1-byte Folded Spill + seta byte ptr [rsp + 72] # 1-byte Folded Spill cmp dword ptr [rsi + 68], r13d - seta byte ptr [rsp + 120] # 1-byte Folded Spill + seta byte ptr [rsp + 144] # 1-byte Folded Spill cmp dword ptr [rsi + 72], r13d - seta byte ptr [rsp + 104] # 1-byte Folded Spill + seta byte ptr [rsp + 112] # 1-byte Folded Spill cmp dword ptr [rsi + 76], r13d - seta byte ptr [rsp + 96] # 1-byte Folded Spill + seta byte ptr [rsp + 120] # 1-byte Folded Spill cmp dword ptr [rsi + 80], r13d - seta byte ptr [rsp + 64] # 1-byte Folded Spill + seta byte ptr [rsp + 80] # 1-byte Folded Spill cmp dword ptr [rsi + 84], r13d - seta byte ptr [rsp + 72] # 1-byte Folded Spill + seta byte ptr [rsp + 96] # 1-byte Folded Spill cmp dword ptr [rsi + 88], r13d - seta byte ptr [rsp + 56] # 1-byte Folded Spill + seta byte ptr [rsp + 64] # 1-byte Folded Spill cmp dword ptr [rsi + 92], r13d seta r15b cmp dword ptr [rsi + 96], r13d - seta byte ptr [rsp + 8] # 1-byte Folded Spill + seta byte ptr [rsp + 32] # 1-byte Folded Spill cmp dword ptr [rsi + 100], r13d - seta byte ptr [rsp + 48] # 1-byte Folded Spill + seta byte ptr [rsp + 56] # 1-byte Folded Spill cmp dword ptr [rsi + 104], r13d - seta byte ptr [rsp + 24] # 1-byte Folded Spill + seta byte ptr [rsp + 40] # 1-byte Folded Spill cmp dword ptr [rsi + 108], r13d - seta byte ptr [rsp + 32] # 1-byte Folded Spill + seta byte ptr [rsp + 48] # 1-byte Folded Spill cmp dword ptr [rsi + 112], r13d - seta byte ptr [rsp + 40] # 1-byte Folded Spill + seta byte ptr [rsp + 24] # 1-byte Folded Spill cmp dword ptr [rsi + 116], r13d seta byte ptr [rsp + 16] # 1-byte Folded Spill cmp dword ptr [rsi + 120], r13d - seta byte ptr [rsp] # 1-byte Folded Spill + seta byte ptr [rsp + 8] # 1-byte Folded Spill cmp dword ptr [rsi + 124], r13d seta r8b - add dil, dil - add dil, byte ptr [rsp + 192] # 1-byte Folded Reload + add r10b, r10b + add r10b, byte ptr [rsp + 208] # 1-byte Folded Reload shl al, 6 - shl bl, 7 - or bl, al - shl r14b, 2 - or r14b, dil + shl r14b, 7 + or r14b, al + shl dil, 2 + or dil, r10b add dl, dl - add dl, byte ptr [rsp + 144] # 1-byte Folded Reload - movzx eax, byte ptr [rsp + 208] # 1-byte Folded Reload + add dl, byte ptr [rsp + 128] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 176] # 1-byte Folded Reload shl al, 3 - or al, r14b + or al, dil + mov r10, qword ptr [rsp] # 8-byte Reload shl r9b, 2 or r9b, dl - movzx edx, byte ptr [rsp + 112] # 1-byte Folded Reload + movzx edx, byte ptr [rsp + 104] # 1-byte Folded Reload shl dl, 4 or dl, al mov edi, edx - shl r10b, 3 - or r10b, r9b + shl r11b, 3 + or r11b, r9b movzx edx, byte ptr [rsp + 88] # 1-byte Folded Reload shl dl, 5 or dl, dil - shl r11b, 4 - or r11b, r10b + shl bl, 4 + or bl, r11b shl r12b, 5 - or r12b, r11b + or r12b, bl movzx edi, byte ptr [rsp + 160] # 1-byte Folded Reload shl dil, 6 shl cl, 7 or cl, dil - or bl, dl + or r14b, dl or cl, r12b - mov r12, qword ptr [rsp + 128] # 8-byte Reload - movzx edx, byte ptr [rsp + 120] # 1-byte Folded Reload + movzx edx, byte ptr [rsp + 144] # 1-byte Folded Reload add dl, dl - add dl, byte ptr [rsp + 80] # 1-byte Folded Reload + add dl, byte ptr [rsp + 72] # 1-byte Folded Reload mov edi, edx - movzx edx, byte ptr [rsp + 104] # 1-byte Folded Reload + movzx edx, byte ptr [rsp + 112] # 1-byte Folded Reload shl dl, 2 or dl, dil mov edi, edx - movzx edx, byte ptr [rsp + 96] # 1-byte Folded Reload + movzx edx, byte ptr [rsp + 120] # 1-byte Folded Reload shl dl, 3 or dl, dil mov edi, edx - movzx edx, byte ptr [rsp + 64] # 1-byte Folded Reload + movzx edx, byte ptr [rsp + 80] # 1-byte Folded Reload shl dl, 4 or dl, dil mov edi, edx - movzx edx, byte ptr [rsp + 72] # 1-byte Folded Reload + movzx edx, byte ptr [rsp + 96] # 1-byte Folded Reload shl dl, 5 or dl, dil - mov byte ptr [r12], bl - movzx ebx, byte ptr [rsp + 56] # 1-byte Folded Reload + mov byte ptr [r10], r14b + movzx ebx, byte ptr [rsp + 64] # 1-byte Folded Reload shl bl, 6 shl r15b, 7 or r15b, bl - mov byte ptr [r12 + 1], cl + mov byte ptr [r10 + 1], cl or r15b, dl - movzx ecx, byte ptr [rsp + 48] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 56] # 1-byte Folded Reload add cl, cl - add cl, byte ptr [rsp + 8] # 1-byte Folded Reload + add cl, byte ptr [rsp + 32] # 1-byte Folded Reload mov edx, ecx - movzx ecx, byte ptr [rsp + 24] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 40] # 1-byte Folded Reload shl cl, 2 or cl, dl mov edx, ecx - movzx ecx, byte ptr [rsp + 32] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 48] # 1-byte Folded Reload shl cl, 3 or cl, dl mov edx, ecx - movzx ecx, byte ptr [rsp + 40] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 24] # 1-byte Folded Reload shl cl, 4 or cl, dl mov edx, ecx movzx ecx, byte ptr [rsp + 16] # 1-byte Folded Reload shl cl, 5 or cl, dl - movzx edx, byte ptr [rsp] # 1-byte Folded Reload + movzx edx, byte ptr [rsp + 8] # 1-byte Folded Reload shl dl, 6 shl r8b, 7 or r8b, dl or r8b, cl - mov byte ptr [r12 + 2], r15b - mov byte ptr [r12 + 3], r8b + mov byte ptr [r10 + 2], r15b + mov byte ptr [r10 + 3], r8b add rsi, 128 - add r12, 4 - add qword ptr [rsp + 176], -1 # 8-byte Folded Spill + add r10, 4 + mov qword ptr [rsp], r10 # 8-byte Spill + add qword ptr [rsp + 192], -1 # 8-byte Folded Spill jne .LBB7_19 # %bb.20: mov r11, qword ptr [rsp + 136] # 8-byte Reload @@ -33884,13 +35147,13 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 .LBB7_21: shl r10, 5 cmp r10, r11 - jge .LBB7_200 + jge .LBB7_202 # %bb.22: mov r8, r11 sub r8, r10 not r10 add r10, r11 - jne .LBB7_135 + jne .LBB7_137 # %bb.23: xor r11d, r11d jmp .LBB7_24 @@ -33899,17 +35162,17 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 jle .LBB7_27 # %bb.42: cmp edi, 9 - je .LBB7_155 + je .LBB7_157 # %bb.43: cmp edi, 11 - je .LBB7_170 + je .LBB7_172 # %bb.44: cmp edi, 12 - jne .LBB7_200 + jne .LBB7_202 # %bb.45: - lea r10, [r11 + 31] + lea r14, [r11 + 31] test r11, r11 - cmovns r10, r11 + cmovns r14, r11 lea eax, [r9 + 7] test r9d, r9d cmovns eax, r9d @@ -33919,17 +35182,19 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 je .LBB7_49 # %bb.46: movsxd rax, r9d + mov r10, qword ptr [rsp] # 8-byte Reload .p2align 4, 0x90 .LBB7_47: # =>This Inner Loop Header: Depth=1 - ucomisd xmm0, qword ptr [rsi] - lea rsi, [rsi + 8] - sbb edx, edx + movsd xmm1, qword ptr [rsi] # xmm1 = mem[0],zero + add rsi, 8 + ucomisd xmm1, xmm0 + seta dl + neg dl lea rdi, [rax + 7] test rax, rax cmovns rdi, rax sar rdi, 3 - mov r14, r12 - movzx r9d, byte ptr [r12 + rdi] + movzx r9d, byte ptr [r10 + rdi] xor dl, r9b lea r8d, [8*rdi] mov ecx, eax @@ -33939,201 +35204,229 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 shl ebx, cl and bl, dl xor bl, r9b - mov byte ptr [r12 + rdi], bl + mov byte ptr [r10 + rdi], bl add rax, 1 cmp rax, 8 jne .LBB7_47 # %bb.48: - add r12, 1 + add qword ptr [rsp], 1 # 8-byte Folded Spill .LBB7_49: - sar r10, 5 + sar r14, 5 cmp r11, 32 jl .LBB7_53 # %bb.50: mov qword ptr [rsp + 136], r11 # 8-byte Spill - mov qword ptr [rsp + 176], r10 # 8-byte Spill - mov qword ptr [rsp + 192], r10 # 8-byte Spill + mov qword ptr [rsp + 192], r14 # 8-byte Spill + mov qword ptr [rsp + 208], r14 # 8-byte Spill .p2align 4, 0x90 .LBB7_51: # =>This Inner Loop Header: Depth=1 - mov qword ptr [rsp + 128], r12 # 8-byte Spill - ucomisd xmm0, qword ptr [rsi] - setb byte ptr [rsp + 208] # 1-byte Folded Spill - ucomisd xmm0, qword ptr [rsi + 8] - setb r9b - ucomisd xmm0, qword ptr [rsi + 16] - setb r14b - ucomisd xmm0, qword ptr [rsi + 24] - setb r13b - ucomisd xmm0, qword ptr [rsi + 32] - setb byte ptr [rsp + 112] # 1-byte Folded Spill - ucomisd xmm0, qword ptr [rsi + 40] - setb byte ptr [rsp + 88] # 1-byte Folded Spill - ucomisd xmm0, qword ptr [rsi + 48] - setb al - ucomisd xmm0, qword ptr [rsi + 56] - setb bl - ucomisd xmm0, qword ptr [rsi + 64] - setb byte ptr [rsp + 160] # 1-byte Folded Spill - ucomisd xmm0, qword ptr [rsi + 72] - setb dl - ucomisd xmm0, qword ptr [rsi + 80] - setb dil - ucomisd xmm0, qword ptr [rsi + 88] - setb r10b - ucomisd xmm0, qword ptr [rsi + 96] - setb r11b - ucomisd xmm0, qword ptr [rsi + 104] - setb r12b - ucomisd xmm0, qword ptr [rsi + 112] - setb byte ptr [rsp + 120] # 1-byte Folded Spill - ucomisd xmm0, qword ptr [rsi + 120] - setb cl - ucomisd xmm0, qword ptr [rsi + 128] - setb byte ptr [rsp + 80] # 1-byte Folded Spill - ucomisd xmm0, qword ptr [rsi + 136] - setb byte ptr [rsp + 144] # 1-byte Folded Spill - ucomisd xmm0, qword ptr [rsi + 144] - setb byte ptr [rsp + 104] # 1-byte Folded Spill - ucomisd xmm0, qword ptr [rsi + 152] - setb byte ptr [rsp + 96] # 1-byte Folded Spill - ucomisd xmm0, qword ptr [rsi + 160] - setb byte ptr [rsp + 64] # 1-byte Folded Spill - ucomisd xmm0, qword ptr [rsi + 168] - setb byte ptr [rsp + 72] # 1-byte Folded Spill - ucomisd xmm0, qword ptr [rsi + 176] - setb byte ptr [rsp + 56] # 1-byte Folded Spill - ucomisd xmm0, qword ptr [rsi + 184] - setb r15b - ucomisd xmm0, qword ptr [rsi + 192] - setb byte ptr [rsp + 8] # 1-byte Folded Spill - ucomisd xmm0, qword ptr [rsi + 200] - setb byte ptr [rsp + 48] # 1-byte Folded Spill - ucomisd xmm0, qword ptr [rsi + 208] - setb byte ptr [rsp + 24] # 1-byte Folded Spill - ucomisd xmm0, qword ptr [rsi + 216] - setb byte ptr [rsp + 32] # 1-byte Folded Spill - ucomisd xmm0, qword ptr [rsi + 224] - setb byte ptr [rsp + 40] # 1-byte Folded Spill - ucomisd xmm0, qword ptr [rsi + 232] - setb byte ptr [rsp + 16] # 1-byte Folded Spill - ucomisd xmm0, qword ptr [rsi + 240] - setb byte ptr [rsp] # 1-byte Folded Spill - ucomisd xmm0, qword ptr [rsi + 248] - setb r8b - add r9b, r9b - add r9b, byte ptr [rsp + 208] # 1-byte Folded Reload - shl al, 6 - shl bl, 7 + movsd xmm1, qword ptr [rsi] # xmm1 = mem[0],zero + movsd xmm2, qword ptr [rsi + 8] # xmm2 = mem[0],zero + ucomisd xmm1, xmm0 + seta byte ptr [rsp + 24] # 1-byte Folded Spill + ucomisd xmm2, xmm0 + seta bl + movsd xmm1, qword ptr [rsi + 16] # xmm1 = mem[0],zero + ucomisd xmm1, xmm0 + movsd xmm1, qword ptr [rsi + 24] # xmm1 = mem[0],zero + seta r13b + ucomisd xmm1, xmm0 + seta r12b + movsd xmm1, qword ptr [rsi + 32] # xmm1 = mem[0],zero + ucomisd xmm1, xmm0 + movsd xmm1, qword ptr [rsi + 40] # xmm1 = mem[0],zero + seta byte ptr [rsp + 80] # 1-byte Folded Spill + ucomisd xmm1, xmm0 + seta byte ptr [rsp + 96] # 1-byte Folded Spill + movsd xmm1, qword ptr [rsi + 48] # xmm1 = mem[0],zero + ucomisd xmm1, xmm0 + movsd xmm1, qword ptr [rsi + 56] # xmm1 = mem[0],zero + seta byte ptr [rsp + 88] # 1-byte Folded Spill + ucomisd xmm1, xmm0 + seta byte ptr [rsp + 64] # 1-byte Folded Spill + movsd xmm1, qword ptr [rsi + 64] # xmm1 = mem[0],zero + ucomisd xmm1, xmm0 + movsd xmm1, qword ptr [rsi + 72] # xmm1 = mem[0],zero + seta byte ptr [rsp + 16] # 1-byte Folded Spill + ucomisd xmm1, xmm0 + seta al + movsd xmm1, qword ptr [rsi + 80] # xmm1 = mem[0],zero + ucomisd xmm1, xmm0 + movsd xmm1, qword ptr [rsi + 88] # xmm1 = mem[0],zero + seta byte ptr [rsp + 56] # 1-byte Folded Spill + ucomisd xmm1, xmm0 + seta byte ptr [rsp + 32] # 1-byte Folded Spill + movsd xmm1, qword ptr [rsi + 96] # xmm1 = mem[0],zero + movsd xmm3, qword ptr [rsi + 104] # xmm3 = mem[0],zero + ucomisd xmm1, xmm0 + movsd xmm5, qword ptr [rsi + 112] # xmm5 = mem[0],zero + movsd xmm6, qword ptr [rsi + 120] # xmm6 = mem[0],zero + seta byte ptr [rsp + 120] # 1-byte Folded Spill + movsd xmm8, qword ptr [rsi + 128] # xmm8 = mem[0],zero + movsd xmm9, qword ptr [rsi + 136] # xmm9 = mem[0],zero + ucomisd xmm3, xmm0 + movsd xmm10, qword ptr [rsi + 144] # xmm10 = mem[0],zero + movsd xmm11, qword ptr [rsi + 152] # xmm11 = mem[0],zero + seta byte ptr [rsp + 144] # 1-byte Folded Spill + movsd xmm12, qword ptr [rsi + 160] # xmm12 = mem[0],zero + movsd xmm13, qword ptr [rsi + 168] # xmm13 = mem[0],zero + ucomisd xmm5, xmm0 + movsd xmm14, qword ptr [rsi + 176] # xmm14 = mem[0],zero + movsd xmm2, qword ptr [rsi + 184] # xmm2 = mem[0],zero + seta byte ptr [rsp + 128] # 1-byte Folded Spill + movsd xmm3, qword ptr [rsi + 192] # xmm3 = mem[0],zero + movsd xmm4, qword ptr [rsi + 200] # xmm4 = mem[0],zero + ucomisd xmm6, xmm0 + movsd xmm6, qword ptr [rsi + 208] # xmm6 = mem[0],zero + movsd xmm7, qword ptr [rsi + 216] # xmm7 = mem[0],zero + seta r11b + movsd xmm1, qword ptr [rsi + 224] # xmm1 = mem[0],zero + movsd xmm5, qword ptr [rsi + 232] # xmm5 = mem[0],zero + ucomisd xmm8, xmm0 + seta byte ptr [rsp + 176] # 1-byte Folded Spill + ucomisd xmm9, xmm0 + seta cl + ucomisd xmm10, xmm0 + seta dil + ucomisd xmm11, xmm0 + seta r8b + ucomisd xmm12, xmm0 + seta r10b + ucomisd xmm13, xmm0 + seta r14b + ucomisd xmm14, xmm0 + seta byte ptr [rsp + 160] # 1-byte Folded Spill + ucomisd xmm2, xmm0 + seta r9b + ucomisd xmm3, xmm0 + seta byte ptr [rsp + 104] # 1-byte Folded Spill + ucomisd xmm4, xmm0 + seta r15b + ucomisd xmm6, xmm0 + seta byte ptr [rsp + 112] # 1-byte Folded Spill + ucomisd xmm7, xmm0 + seta byte ptr [rsp + 72] # 1-byte Folded Spill + ucomisd xmm1, xmm0 + seta byte ptr [rsp + 40] # 1-byte Folded Spill + ucomisd xmm5, xmm0 + movsd xmm1, qword ptr [rsi + 240] # xmm1 = mem[0],zero + seta byte ptr [rsp + 48] # 1-byte Folded Spill + ucomisd xmm1, xmm0 + seta byte ptr [rsp + 8] # 1-byte Folded Spill + movsd xmm1, qword ptr [rsi + 248] # xmm1 = mem[0],zero + add rsi, 256 + ucomisd xmm1, xmm0 + seta dl + add bl, bl + add bl, byte ptr [rsp + 24] # 1-byte Folded Reload + shl r13b, 2 + or r13b, bl + shl r12b, 3 + or r12b, r13b + movzx ebx, byte ptr [rsp + 80] # 1-byte Folded Reload + shl bl, 4 + or bl, r12b + mov r12d, ebx + movzx ebx, byte ptr [rsp + 96] # 1-byte Folded Reload + shl bl, 5 + or bl, r12b + movzx r12d, byte ptr [rsp + 88] # 1-byte Folded Reload + shl r12b, 6 + movzx r13d, byte ptr [rsp + 64] # 1-byte Folded Reload + shl r13b, 7 + or r13b, r12b + add al, al + add al, byte ptr [rsp + 16] # 1-byte Folded Reload + movzx r12d, byte ptr [rsp + 56] # 1-byte Folded Reload + shl r12b, 2 + or r12b, al + mov eax, r12d + movzx r12d, byte ptr [rsp + 32] # 1-byte Folded Reload + shl r12b, 3 + or r12b, al + movzx eax, byte ptr [rsp + 120] # 1-byte Folded Reload + shl al, 4 + or al, r12b + or r13b, bl + movzx ebx, byte ptr [rsp + 144] # 1-byte Folded Reload + shl bl, 5 or bl, al - shl r14b, 2 - or r14b, r9b - add dl, dl - add dl, byte ptr [rsp + 160] # 1-byte Folded Reload - shl r13b, 3 - or r13b, r14b - shl dil, 2 - or dil, dl - movzx edx, byte ptr [rsp + 112] # 1-byte Folded Reload - shl dl, 4 - or dl, r13b - mov r9d, edx - mov rax, qword ptr [rsp + 128] # 8-byte Reload - shl r10b, 3 - or r10b, dil - movzx edx, byte ptr [rsp + 88] # 1-byte Folded Reload - shl dl, 5 - or dl, r9b - shl r11b, 4 - or r11b, r10b - shl r12b, 5 - or r12b, r11b - movzx edi, byte ptr [rsp + 120] # 1-byte Folded Reload - shl dil, 6 - shl cl, 7 - or cl, dil - or bl, dl - or cl, r12b - movzx edx, byte ptr [rsp + 144] # 1-byte Folded Reload - add dl, dl - add dl, byte ptr [rsp + 80] # 1-byte Folded Reload - mov edi, edx - movzx edx, byte ptr [rsp + 104] # 1-byte Folded Reload - shl dl, 2 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 96] # 1-byte Folded Reload - shl dl, 3 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 64] # 1-byte Folded Reload - shl dl, 4 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 72] # 1-byte Folded Reload - shl dl, 5 - or dl, dil - mov byte ptr [rax], bl - movzx ebx, byte ptr [rsp + 56] # 1-byte Folded Reload - shl bl, 6 - shl r15b, 7 - or r15b, bl - mov byte ptr [rax + 1], cl - or r15b, dl - movzx ecx, byte ptr [rsp + 48] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 128] # 1-byte Folded Reload + shl al, 6 + shl r11b, 7 + or r11b, al add cl, cl - add cl, byte ptr [rsp + 8] # 1-byte Folded Reload - mov edx, ecx - movzx ecx, byte ptr [rsp + 24] # 1-byte Folded Reload - shl cl, 2 - or cl, dl - mov edx, ecx - movzx ecx, byte ptr [rsp + 32] # 1-byte Folded Reload - shl cl, 3 - or cl, dl - mov edx, ecx + add cl, byte ptr [rsp + 176] # 1-byte Folded Reload + shl dil, 2 + or dil, cl + shl r8b, 3 + or r8b, dil + shl r10b, 4 + or r10b, r8b + shl r14b, 5 + or r14b, r10b + or r11b, bl + movzx eax, byte ptr [rsp + 160] # 1-byte Folded Reload + shl al, 6 + shl r9b, 7 + or r9b, al + mov rax, qword ptr [rsp] # 8-byte Reload + mov byte ptr [rax], r13b + or r9b, r14b + add r15b, r15b + add r15b, byte ptr [rsp + 104] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 112] # 1-byte Folded Reload + shl al, 2 + or al, r15b + mov ecx, eax + movzx eax, byte ptr [rsp + 72] # 1-byte Folded Reload + shl al, 3 + or al, cl + mov ebx, eax + mov rax, qword ptr [rsp] # 8-byte Reload movzx ecx, byte ptr [rsp + 40] # 1-byte Folded Reload shl cl, 4 - or cl, dl - mov edx, ecx - movzx ecx, byte ptr [rsp + 16] # 1-byte Folded Reload + or cl, bl + mov ebx, ecx + movzx ecx, byte ptr [rsp + 48] # 1-byte Folded Reload shl cl, 5 - or cl, dl - movzx edx, byte ptr [rsp] # 1-byte Folded Reload - shl dl, 6 - shl r8b, 7 - or r8b, dl - or r8b, cl - mov byte ptr [rax + 2], r15b - mov byte ptr [rax + 3], r8b - add rsi, 256 + or cl, bl + mov byte ptr [rax + 1], r11b + movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload + shl bl, 6 + shl dl, 7 + or dl, bl + mov byte ptr [rax + 2], r9b + or dl, cl + mov byte ptr [rax + 3], dl add rax, 4 - mov r12, rax - add qword ptr [rsp + 192], -1 # 8-byte Folded Spill + mov qword ptr [rsp], rax # 8-byte Spill + add qword ptr [rsp + 208], -1 # 8-byte Folded Spill jne .LBB7_51 # %bb.52: mov r11, qword ptr [rsp + 136] # 8-byte Reload - mov r10, qword ptr [rsp + 176] # 8-byte Reload + mov r14, qword ptr [rsp + 192] # 8-byte Reload .LBB7_53: - shl r10, 5 - cmp r10, r11 - jge .LBB7_200 + shl r14, 5 + cmp r14, r11 + jge .LBB7_202 # %bb.54: mov r8, r11 - sub r8, r10 - not r10 - add r10, r11 - jne .LBB7_193 + sub r8, r14 + not r14 + add r14, r11 + jne .LBB7_196 # %bb.55: - xor r11d, r11d - jmp .LBB7_195 + xor r10d, r10d + jmp .LBB7_198 .LBB7_2: cmp edi, 2 je .LBB7_56 # %bb.3: cmp edi, 3 - jne .LBB7_200 + jne .LBB7_202 # %bb.4: - mov r14b, byte ptr [rdx] + mov r12b, byte ptr [rdx] lea r10, [r11 + 31] test r11, r11 cmovns r10, r11 @@ -34145,9 +35438,10 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 je .LBB7_8 # %bb.5: movsxd rax, r9d + mov r14, qword ptr [rsp] # 8-byte Reload .p2align 4, 0x90 .LBB7_6: # =>This Inner Loop Header: Depth=1 - cmp byte ptr [rsi], r14b + cmp byte ptr [rsi], r12b lea rsi, [rsi + 1] setg dl neg dl @@ -34155,8 +35449,7 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 test rax, rax cmovns rdi, rax sar rdi, 3 - mov r15, r12 - movzx r9d, byte ptr [r12 + rdi] + movzx r9d, byte ptr [r14 + rdi] xor dl, r9b lea r8d, [8*rdi] mov ecx, eax @@ -34166,19 +35459,19 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 shl ebx, cl and bl, dl xor bl, r9b - mov byte ptr [r12 + rdi], bl + mov byte ptr [r14 + rdi], bl add rax, 1 cmp rax, 8 jne .LBB7_6 # %bb.7: - add r12, 1 + add qword ptr [rsp], 1 # 8-byte Folded Spill .LBB7_8: sar r10, 5 cmp r11, 32 jl .LBB7_9 # %bb.80: cmp r10, 16 - mov byte ptr [rsp], r14b # 1-byte Spill + mov byte ptr [rsp + 8], r12b # 1-byte Spill mov qword ptr [rsp + 136], r11 # 8-byte Spill mov qword ptr [rsp + 288], r10 # 8-byte Spill jb .LBB7_81 @@ -34186,186 +35479,197 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 mov rax, r10 shl rax, 5 add rax, rsi - cmp r12, rax + cmp qword ptr [rsp], rax # 8-byte Folded Reload jae .LBB7_84 # %bb.83: - lea rax, [r12 + 4*r10] + mov rax, qword ptr [rsp] # 8-byte Reload + lea rax, [rax + 4*r10] cmp rsi, rax jae .LBB7_84 .LBB7_81: xor eax, eax mov qword ptr [rsp + 232], rax # 8-byte Spill - mov qword ptr [rsp + 88], r12 # 8-byte Spill + mov rax, qword ptr [rsp] # 8-byte Reload + mov qword ptr [rsp + 96], rax # 8-byte Spill .LBB7_87: sub r10, qword ptr [rsp + 232] # 8-byte Folded Reload mov qword ptr [rsp + 240], r10 # 8-byte Spill .p2align 4, 0x90 .LBB7_88: # =>This Inner Loop Header: Depth=1 mov rcx, rsi - cmp byte ptr [rsi], r14b - setg byte ptr [rsp + 176] # 1-byte Folded Spill - cmp byte ptr [rsi + 1], r14b + cmp byte ptr [rsi], r12b + setg byte ptr [rsp + 192] # 1-byte Folded Spill + cmp byte ptr [rsi + 1], r12b setg sil - cmp byte ptr [rcx + 2], r14b + cmp byte ptr [rcx + 2], r12b setg r15b - cmp byte ptr [rcx + 3], r14b + cmp byte ptr [rcx + 3], r12b setg r12b - cmp byte ptr [rcx + 4], r14b + movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + cmp byte ptr [rcx + 4], al + setg byte ptr [rsp + 176] # 1-byte Folded Spill + movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + cmp byte ptr [rcx + 5], al + setg byte ptr [rsp + 64] # 1-byte Folded Spill + movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + cmp byte ptr [rcx + 6], al setg byte ptr [rsp + 208] # 1-byte Folded Spill - cmp byte ptr [rcx + 5], r14b - setg byte ptr [rsp + 56] # 1-byte Folded Spill - cmp byte ptr [rcx + 6], r14b - setg byte ptr [rsp + 192] # 1-byte Folded Spill - cmp byte ptr [rcx + 7], r14b + movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + cmp byte ptr [rcx + 7], al setg r9b - cmp byte ptr [rcx + 8], r14b - setg byte ptr [rsp + 144] # 1-byte Folded Spill - cmp byte ptr [rcx + 9], r14b + movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + cmp byte ptr [rcx + 8], al + setg byte ptr [rsp + 128] # 1-byte Folded Spill + movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + cmp byte ptr [rcx + 9], al setg dl - cmp byte ptr [rcx + 10], r14b + movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + cmp byte ptr [rcx + 10], al setg dil - cmp byte ptr [rcx + 11], r14b + movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + cmp byte ptr [rcx + 11], al setg r10b - cmp byte ptr [rcx + 12], r14b + movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + cmp byte ptr [rcx + 12], al setg r14b - movzx eax, byte ptr [rsp] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload cmp byte ptr [rcx + 13], al setg r13b - movzx eax, byte ptr [rsp] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload cmp byte ptr [rcx + 14], al setg byte ptr [rsp + 160] # 1-byte Folded Spill - movzx eax, byte ptr [rsp] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload cmp byte ptr [rcx + 15], al setg r8b - movzx ebx, byte ptr [rsp] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload cmp byte ptr [rcx + 16], bl - setg byte ptr [rsp + 120] # 1-byte Folded Spill - movzx ebx, byte ptr [rsp] # 1-byte Folded Reload + setg byte ptr [rsp + 144] # 1-byte Folded Spill + movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload cmp byte ptr [rcx + 17], bl - setg byte ptr [rsp + 104] # 1-byte Folded Spill - movzx ebx, byte ptr [rsp] # 1-byte Folded Reload - cmp byte ptr [rcx + 18], bl setg byte ptr [rsp + 112] # 1-byte Folded Spill - movzx ebx, byte ptr [rsp] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload + cmp byte ptr [rcx + 18], bl + setg byte ptr [rsp + 104] # 1-byte Folded Spill + movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload cmp byte ptr [rcx + 19], bl - setg byte ptr [rsp + 96] # 1-byte Folded Spill - movzx ebx, byte ptr [rsp] # 1-byte Folded Reload + setg byte ptr [rsp + 120] # 1-byte Folded Spill + movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload cmp byte ptr [rcx + 20], bl - setg byte ptr [rsp + 80] # 1-byte Folded Spill - movzx ebx, byte ptr [rsp] # 1-byte Folded Reload - cmp byte ptr [rcx + 21], bl setg byte ptr [rsp + 72] # 1-byte Folded Spill - movzx ebx, byte ptr [rsp] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload + cmp byte ptr [rcx + 21], bl + setg byte ptr [rsp + 88] # 1-byte Folded Spill + movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload cmp byte ptr [rcx + 22], bl - setg byte ptr [rsp + 64] # 1-byte Folded Spill - movzx ebx, byte ptr [rsp] # 1-byte Folded Reload + setg byte ptr [rsp + 80] # 1-byte Folded Spill + movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload cmp byte ptr [rcx + 23], bl setg r11b - movzx ebx, byte ptr [rsp] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload cmp byte ptr [rcx + 24], bl - setg byte ptr [rsp + 48] # 1-byte Folded Spill - movzx ebx, byte ptr [rsp] # 1-byte Folded Reload + setg byte ptr [rsp + 56] # 1-byte Folded Spill + movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload cmp byte ptr [rcx + 25], bl - setg byte ptr [rsp + 24] # 1-byte Folded Spill - movzx ebx, byte ptr [rsp] # 1-byte Folded Reload + setg byte ptr [rsp + 40] # 1-byte Folded Spill + movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload cmp byte ptr [rcx + 26], bl - setg byte ptr [rsp + 32] # 1-byte Folded Spill - movzx ebx, byte ptr [rsp] # 1-byte Folded Reload + setg byte ptr [rsp + 48] # 1-byte Folded Spill + movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload cmp byte ptr [rcx + 27], bl - setg byte ptr [rsp + 8] # 1-byte Folded Spill - movzx ebx, byte ptr [rsp] # 1-byte Folded Reload + setg byte ptr [rsp + 32] # 1-byte Folded Spill + movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload cmp byte ptr [rcx + 28], bl - setg byte ptr [rsp + 40] # 1-byte Folded Spill - movzx ebx, byte ptr [rsp] # 1-byte Folded Reload + setg byte ptr [rsp + 24] # 1-byte Folded Spill + movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload cmp byte ptr [rcx + 29], bl setg byte ptr [rsp + 16] # 1-byte Folded Spill - movzx ebx, byte ptr [rsp] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload cmp byte ptr [rcx + 30], bl - setg byte ptr [rsp + 128] # 1-byte Folded Spill - movzx ebx, byte ptr [rsp] # 1-byte Folded Reload + setg byte ptr [rsp] # 1-byte Folded Spill + movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload cmp byte ptr [rcx + 31], bl setg bl add sil, sil - add sil, byte ptr [rsp + 176] # 1-byte Folded Reload - movzx eax, byte ptr [rsp + 192] # 1-byte Folded Reload + add sil, byte ptr [rsp + 192] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 208] # 1-byte Folded Reload shl al, 6 shl r9b, 7 or r9b, al shl r15b, 2 or r15b, sil add dl, dl - add dl, byte ptr [rsp + 144] # 1-byte Folded Reload + add dl, byte ptr [rsp + 128] # 1-byte Folded Reload shl r12b, 3 or r12b, r15b shl dil, 2 or dil, dl - movzx eax, byte ptr [rsp + 208] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 176] # 1-byte Folded Reload shl al, 4 or al, r12b + movzx r12d, byte ptr [rsp + 8] # 1-byte Folded Reload shl r10b, 3 or r10b, dil - movzx edx, byte ptr [rsp + 56] # 1-byte Folded Reload + movzx edx, byte ptr [rsp + 64] # 1-byte Folded Reload shl dl, 5 or dl, al shl r14b, 4 or r14b, r10b shl r13b, 5 or r13b, r14b - movzx r14d, byte ptr [rsp] # 1-byte Folded Reload movzx esi, byte ptr [rsp + 160] # 1-byte Folded Reload shl sil, 6 shl r8b, 7 or r8b, sil or r9b, dl or r8b, r13b - movzx edx, byte ptr [rsp + 104] # 1-byte Folded Reload + movzx edx, byte ptr [rsp + 112] # 1-byte Folded Reload add dl, dl - add dl, byte ptr [rsp + 120] # 1-byte Folded Reload + add dl, byte ptr [rsp + 144] # 1-byte Folded Reload mov esi, edx - movzx edx, byte ptr [rsp + 112] # 1-byte Folded Reload + movzx edx, byte ptr [rsp + 104] # 1-byte Folded Reload shl dl, 2 or dl, sil mov esi, edx - movzx edx, byte ptr [rsp + 96] # 1-byte Folded Reload + movzx edx, byte ptr [rsp + 120] # 1-byte Folded Reload shl dl, 3 or dl, sil mov esi, edx - movzx edx, byte ptr [rsp + 80] # 1-byte Folded Reload + movzx edx, byte ptr [rsp + 72] # 1-byte Folded Reload shl dl, 4 or dl, sil mov esi, edx - movzx edx, byte ptr [rsp + 72] # 1-byte Folded Reload + movzx edx, byte ptr [rsp + 88] # 1-byte Folded Reload shl dl, 5 or dl, sil mov esi, edx - mov rdx, qword ptr [rsp + 88] # 8-byte Reload + mov rdx, qword ptr [rsp + 96] # 8-byte Reload mov byte ptr [rdx], r9b - movzx edi, byte ptr [rsp + 64] # 1-byte Folded Reload + movzx edi, byte ptr [rsp + 80] # 1-byte Folded Reload shl dil, 6 shl r11b, 7 or r11b, dil mov byte ptr [rdx + 1], r8b or r11b, sil - movzx eax, byte ptr [rsp + 24] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 48] # 1-byte Folded Reload + add al, byte ptr [rsp + 56] # 1-byte Folded Reload mov esi, eax - movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload shl al, 2 or al, sil mov esi, eax - movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload shl al, 3 or al, sil mov esi, eax - movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 24] # 1-byte Folded Reload shl al, 4 or al, sil mov esi, eax movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload shl al, 5 or al, sil - movzx esi, byte ptr [rsp + 128] # 1-byte Folded Reload + movzx esi, byte ptr [rsp] # 1-byte Folded Reload shl sil, 6 shl bl, 7 or bl, sil @@ -34374,7 +35678,7 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 mov byte ptr [rdx + 3], bl lea rsi, [rcx + 32] add rdx, 4 - mov qword ptr [rsp + 88], rdx # 8-byte Spill + mov qword ptr [rsp + 96], rdx # 8-byte Spill add qword ptr [rsp + 240], -1 # 8-byte Folded Spill jne .LBB7_88 # %bb.89: @@ -34383,10 +35687,10 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 jmp .LBB7_90 .LBB7_27: cmp edi, 7 - je .LBB7_137 + je .LBB7_139 # %bb.28: cmp edi, 8 - jne .LBB7_200 + jne .LBB7_202 # %bb.29: mov r13, qword ptr [rdx] lea r10, [r11 + 31] @@ -34400,6 +35704,7 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 je .LBB7_33 # %bb.30: movsxd rax, r9d + mov r9, qword ptr [rsp] # 8-byte Reload .p2align 4, 0x90 .LBB7_31: # =>This Inner Loop Header: Depth=1 cmp r13, qword ptr [rsi] @@ -34409,8 +35714,7 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 test rax, rax cmovns rbx, rax sar rbx, 3 - mov r9, r12 - movzx r8d, byte ptr [r12 + rbx] + movzx r8d, byte ptr [r9 + rbx] xor dl, r8b lea edi, [8*rbx] mov ecx, eax @@ -34420,12 +35724,12 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 shl edi, cl and dil, dl xor dil, r8b - mov byte ptr [r12 + rbx], dil + mov byte ptr [r9 + rbx], dil add rax, 1 cmp rax, 8 jne .LBB7_31 # %bb.32: - add r12, 1 + add qword ptr [rsp], 1 # 8-byte Folded Spill .LBB7_33: sar r10, 5 cmp r11, 32 @@ -34433,36 +35737,35 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 # %bb.34: mov qword ptr [rsp + 136], r11 # 8-byte Spill mov qword ptr [rsp + 240], r10 # 8-byte Spill - mov qword ptr [rsp + 176], r10 # 8-byte Spill + mov qword ptr [rsp + 192], r10 # 8-byte Spill .p2align 4, 0x90 .LBB7_35: # =>This Inner Loop Header: Depth=1 - mov qword ptr [rsp + 128], r12 # 8-byte Spill cmp qword ptr [rsi], r13 - seta byte ptr [rsp + 192] # 1-byte Folded Spill + seta byte ptr [rsp + 208] # 1-byte Folded Spill cmp qword ptr [rsi + 8], r13 - seta dil + seta r10b cmp qword ptr [rsi + 16], r13 - seta r14b + seta dil cmp qword ptr [rsi + 24], r13 - seta byte ptr [rsp + 208] # 1-byte Folded Spill + seta byte ptr [rsp + 176] # 1-byte Folded Spill cmp qword ptr [rsi + 32], r13 - seta byte ptr [rsp + 112] # 1-byte Folded Spill + seta byte ptr [rsp + 104] # 1-byte Folded Spill cmp qword ptr [rsi + 40], r13 seta byte ptr [rsp + 88] # 1-byte Folded Spill cmp qword ptr [rsi + 48], r13 seta al cmp qword ptr [rsi + 56], r13 - seta bl + seta r14b cmp qword ptr [rsi + 64], r13 - seta byte ptr [rsp + 144] # 1-byte Folded Spill + seta byte ptr [rsp + 128] # 1-byte Folded Spill cmp qword ptr [rsi + 72], r13 seta dl cmp qword ptr [rsi + 80], r13 seta r9b cmp qword ptr [rsi + 88], r13 - seta r10b - cmp qword ptr [rsi + 96], r13 seta r11b + cmp qword ptr [rsi + 96], r13 + seta bl cmp qword ptr [rsi + 104], r13 seta r12b cmp qword ptr [rsi + 112], r13 @@ -34470,126 +35773,127 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 cmp qword ptr [rsi + 120], r13 seta cl cmp qword ptr [rsi + 128], r13 - seta byte ptr [rsp + 80] # 1-byte Folded Spill + seta byte ptr [rsp + 72] # 1-byte Folded Spill cmp qword ptr [rsi + 136], r13 - seta byte ptr [rsp + 120] # 1-byte Folded Spill + seta byte ptr [rsp + 144] # 1-byte Folded Spill cmp qword ptr [rsi + 144], r13 - seta byte ptr [rsp + 104] # 1-byte Folded Spill + seta byte ptr [rsp + 112] # 1-byte Folded Spill cmp qword ptr [rsi + 152], r13 - seta byte ptr [rsp + 96] # 1-byte Folded Spill + seta byte ptr [rsp + 120] # 1-byte Folded Spill cmp qword ptr [rsi + 160], r13 - seta byte ptr [rsp + 64] # 1-byte Folded Spill + seta byte ptr [rsp + 80] # 1-byte Folded Spill cmp qword ptr [rsi + 168], r13 - seta byte ptr [rsp + 72] # 1-byte Folded Spill + seta byte ptr [rsp + 96] # 1-byte Folded Spill cmp qword ptr [rsi + 176], r13 - seta byte ptr [rsp + 56] # 1-byte Folded Spill + seta byte ptr [rsp + 64] # 1-byte Folded Spill cmp qword ptr [rsi + 184], r13 seta r15b cmp qword ptr [rsi + 192], r13 - seta byte ptr [rsp + 8] # 1-byte Folded Spill + seta byte ptr [rsp + 32] # 1-byte Folded Spill cmp qword ptr [rsi + 200], r13 - seta byte ptr [rsp + 48] # 1-byte Folded Spill + seta byte ptr [rsp + 56] # 1-byte Folded Spill cmp qword ptr [rsi + 208], r13 - seta byte ptr [rsp + 24] # 1-byte Folded Spill + seta byte ptr [rsp + 40] # 1-byte Folded Spill cmp qword ptr [rsi + 216], r13 - seta byte ptr [rsp + 32] # 1-byte Folded Spill + seta byte ptr [rsp + 48] # 1-byte Folded Spill cmp qword ptr [rsi + 224], r13 - seta byte ptr [rsp + 40] # 1-byte Folded Spill + seta byte ptr [rsp + 24] # 1-byte Folded Spill cmp qword ptr [rsi + 232], r13 seta byte ptr [rsp + 16] # 1-byte Folded Spill cmp qword ptr [rsi + 240], r13 - seta byte ptr [rsp] # 1-byte Folded Spill + seta byte ptr [rsp + 8] # 1-byte Folded Spill cmp qword ptr [rsi + 248], r13 seta r8b - add dil, dil - add dil, byte ptr [rsp + 192] # 1-byte Folded Reload + add r10b, r10b + add r10b, byte ptr [rsp + 208] # 1-byte Folded Reload shl al, 6 - shl bl, 7 - or bl, al - shl r14b, 2 - or r14b, dil + shl r14b, 7 + or r14b, al + shl dil, 2 + or dil, r10b add dl, dl - add dl, byte ptr [rsp + 144] # 1-byte Folded Reload - movzx eax, byte ptr [rsp + 208] # 1-byte Folded Reload + add dl, byte ptr [rsp + 128] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 176] # 1-byte Folded Reload shl al, 3 - or al, r14b + or al, dil + mov r10, qword ptr [rsp] # 8-byte Reload shl r9b, 2 or r9b, dl - movzx edx, byte ptr [rsp + 112] # 1-byte Folded Reload + movzx edx, byte ptr [rsp + 104] # 1-byte Folded Reload shl dl, 4 or dl, al mov edi, edx - shl r10b, 3 - or r10b, r9b + shl r11b, 3 + or r11b, r9b movzx edx, byte ptr [rsp + 88] # 1-byte Folded Reload shl dl, 5 or dl, dil - shl r11b, 4 - or r11b, r10b + shl bl, 4 + or bl, r11b shl r12b, 5 - or r12b, r11b + or r12b, bl movzx edi, byte ptr [rsp + 160] # 1-byte Folded Reload shl dil, 6 shl cl, 7 or cl, dil - or bl, dl + or r14b, dl or cl, r12b - mov r12, qword ptr [rsp + 128] # 8-byte Reload - movzx edx, byte ptr [rsp + 120] # 1-byte Folded Reload + movzx edx, byte ptr [rsp + 144] # 1-byte Folded Reload add dl, dl - add dl, byte ptr [rsp + 80] # 1-byte Folded Reload + add dl, byte ptr [rsp + 72] # 1-byte Folded Reload mov edi, edx - movzx edx, byte ptr [rsp + 104] # 1-byte Folded Reload + movzx edx, byte ptr [rsp + 112] # 1-byte Folded Reload shl dl, 2 or dl, dil mov edi, edx - movzx edx, byte ptr [rsp + 96] # 1-byte Folded Reload + movzx edx, byte ptr [rsp + 120] # 1-byte Folded Reload shl dl, 3 or dl, dil mov edi, edx - movzx edx, byte ptr [rsp + 64] # 1-byte Folded Reload + movzx edx, byte ptr [rsp + 80] # 1-byte Folded Reload shl dl, 4 or dl, dil mov edi, edx - movzx edx, byte ptr [rsp + 72] # 1-byte Folded Reload + movzx edx, byte ptr [rsp + 96] # 1-byte Folded Reload shl dl, 5 or dl, dil - mov byte ptr [r12], bl - movzx ebx, byte ptr [rsp + 56] # 1-byte Folded Reload + mov byte ptr [r10], r14b + movzx ebx, byte ptr [rsp + 64] # 1-byte Folded Reload shl bl, 6 shl r15b, 7 or r15b, bl - mov byte ptr [r12 + 1], cl + mov byte ptr [r10 + 1], cl or r15b, dl - movzx ecx, byte ptr [rsp + 48] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 56] # 1-byte Folded Reload add cl, cl - add cl, byte ptr [rsp + 8] # 1-byte Folded Reload + add cl, byte ptr [rsp + 32] # 1-byte Folded Reload mov edx, ecx - movzx ecx, byte ptr [rsp + 24] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 40] # 1-byte Folded Reload shl cl, 2 or cl, dl mov edx, ecx - movzx ecx, byte ptr [rsp + 32] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 48] # 1-byte Folded Reload shl cl, 3 or cl, dl mov edx, ecx - movzx ecx, byte ptr [rsp + 40] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 24] # 1-byte Folded Reload shl cl, 4 or cl, dl mov edx, ecx movzx ecx, byte ptr [rsp + 16] # 1-byte Folded Reload shl cl, 5 or cl, dl - movzx edx, byte ptr [rsp] # 1-byte Folded Reload + movzx edx, byte ptr [rsp + 8] # 1-byte Folded Reload shl dl, 6 shl r8b, 7 or r8b, dl or r8b, cl - mov byte ptr [r12 + 2], r15b - mov byte ptr [r12 + 3], r8b + mov byte ptr [r10 + 2], r15b + mov byte ptr [r10 + 3], r8b add rsi, 256 - add r12, 4 - add qword ptr [rsp + 176], -1 # 8-byte Folded Spill + add r10, 4 + mov qword ptr [rsp], r10 # 8-byte Spill + add qword ptr [rsp + 192], -1 # 8-byte Folded Spill jne .LBB7_35 # %bb.36: mov r11, qword ptr [rsp + 136] # 8-byte Reload @@ -34597,22 +35901,21 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 .LBB7_37: shl r10, 5 cmp r10, r11 - jge .LBB7_200 + jge .LBB7_202 # %bb.38: mov r8, r11 sub r8, r10 not r10 add r10, r11 - jne .LBB7_153 + jne .LBB7_155 # %bb.39: xor r11d, r11d jmp .LBB7_40 .LBB7_56: - mov al, byte ptr [rdx] - mov byte ptr [rsp + 40], al # 1-byte Spill - lea r10, [r11 + 31] + mov r10b, byte ptr [rdx] + lea r15, [r11 + 31] test r11, r11 - cmovns r10, r11 + cmovns r15, r11 lea eax, [r9 + 7] test r9d, r9d cmovns eax, r9d @@ -34621,18 +35924,17 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 je .LBB7_60 # %bb.57: movsxd rax, r9d + mov r14, qword ptr [rsp] # 8-byte Reload .p2align 4, 0x90 .LBB7_58: # =>This Inner Loop Header: Depth=1 - movzx ecx, byte ptr [rsp + 40] # 1-byte Folded Reload - cmp cl, byte ptr [rsi] + cmp r10b, byte ptr [rsi] lea rsi, [rsi + 1] sbb edx, edx lea rdi, [rax + 7] test rax, rax cmovns rdi, rax sar rdi, 3 - mov r14, r12 - movzx r9d, byte ptr [r12 + rdi] + movzx r9d, byte ptr [r14 + rdi] xor dl, r9b lea r8d, [8*rdi] mov ecx, eax @@ -34642,202 +35944,224 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 shl ebx, cl and bl, dl xor bl, r9b - mov byte ptr [r12 + rdi], bl + mov byte ptr [r14 + rdi], bl add rax, 1 cmp rax, 8 jne .LBB7_58 # %bb.59: - add r12, 1 + add qword ptr [rsp], 1 # 8-byte Folded Spill .LBB7_60: - sar r10, 5 + sar r15, 5 cmp r11, 32 jl .LBB7_61 # %bb.62: - cmp r10, 16 + cmp r15, 16 + mov byte ptr [rsp + 8], r10b # 1-byte Spill mov qword ptr [rsp + 136], r11 # 8-byte Spill - mov qword ptr [rsp + 264], r10 # 8-byte Spill + mov qword ptr [rsp + 264], r15 # 8-byte Spill jb .LBB7_63 # %bb.64: - mov rax, r10 + mov rax, r15 shl rax, 5 add rax, rsi - cmp r12, rax + cmp qword ptr [rsp], rax # 8-byte Folded Reload jae .LBB7_66 # %bb.65: - lea rax, [r12 + 4*r10] + mov rax, qword ptr [rsp] # 8-byte Reload + lea rax, [rax + 4*r15] cmp rsi, rax jae .LBB7_66 .LBB7_63: xor eax, eax mov qword ptr [rsp + 232], rax # 8-byte Spill - mov r14, rsi - mov qword ptr [rsp + 72], r12 # 8-byte Spill + mov r12, rsi + mov rax, qword ptr [rsp] # 8-byte Reload + mov qword ptr [rsp + 120], rax # 8-byte Spill .LBB7_69: - sub r10, qword ptr [rsp + 232] # 8-byte Folded Reload - mov qword ptr [rsp + 176], r10 # 8-byte Spill + sub r15, qword ptr [rsp + 232] # 8-byte Folded Reload + mov qword ptr [rsp + 192], r15 # 8-byte Spill .p2align 4, 0x90 .LBB7_70: # =>This Inner Loop Header: Depth=1 - mov rcx, r14 - movzx r14d, byte ptr [rsp + 40] # 1-byte Folded Reload - cmp byte ptr [rcx], r14b - seta byte ptr [rsp + 192] # 1-byte Folded Spill - cmp byte ptr [rcx + 1], r14b - seta sil - cmp byte ptr [rcx + 2], r14b + mov rcx, r12 + cmp byte ptr [r12], r10b + seta byte ptr [rsp + 208] # 1-byte Folded Spill + cmp byte ptr [r12 + 1], r10b + seta r14b + cmp byte ptr [r12 + 2], r10b seta r11b - cmp byte ptr [rcx + 3], r14b + cmp byte ptr [r12 + 3], r10b seta r15b - cmp byte ptr [rcx + 4], r14b - seta byte ptr [rsp + 208] # 1-byte Folded Spill - cmp byte ptr [rcx + 5], r14b - seta byte ptr [rsp + 120] # 1-byte Folded Spill - cmp byte ptr [rcx + 6], r14b + cmp byte ptr [r12 + 4], r10b + seta byte ptr [rsp + 176] # 1-byte Folded Spill + cmp byte ptr [r12 + 5], r10b + seta byte ptr [rsp + 96] # 1-byte Folded Spill + cmp byte ptr [r12 + 6], r10b seta al - cmp byte ptr [rcx + 7], r14b + cmp byte ptr [r12 + 7], r10b seta r8b - cmp byte ptr [rcx + 8], r14b - seta byte ptr [rsp + 144] # 1-byte Folded Spill - cmp byte ptr [rcx + 9], r14b - seta dl - cmp byte ptr [rcx + 10], r14b + cmp byte ptr [r12 + 8], r10b + seta byte ptr [rsp + 128] # 1-byte Folded Spill + cmp byte ptr [r12 + 9], r10b + seta sil + cmp byte ptr [r12 + 10], r10b seta dil - cmp byte ptr [rcx + 11], r14b + cmp byte ptr [r12 + 11], r10b seta r9b - cmp byte ptr [rcx + 12], r14b + cmp byte ptr [r12 + 12], r10b seta r10b - cmp byte ptr [rcx + 13], r14b + movzx edx, byte ptr [rsp + 8] # 1-byte Folded Reload + cmp byte ptr [r12 + 13], dl seta r12b - cmp byte ptr [rcx + 14], r14b + movzx edx, byte ptr [rsp + 8] # 1-byte Folded Reload + cmp byte ptr [rcx + 14], dl seta byte ptr [rsp + 160] # 1-byte Folded Spill - cmp byte ptr [rcx + 15], r14b + movzx edx, byte ptr [rsp + 8] # 1-byte Folded Reload + cmp byte ptr [rcx + 15], dl seta bl - cmp byte ptr [rcx + 16], r14b - seta byte ptr [rsp + 104] # 1-byte Folded Spill - cmp byte ptr [rcx + 17], r14b + movzx edx, byte ptr [rsp + 8] # 1-byte Folded Reload + cmp byte ptr [rcx + 16], dl + seta byte ptr [rsp + 144] # 1-byte Folded Spill + movzx edx, byte ptr [rsp + 8] # 1-byte Folded Reload + cmp byte ptr [rcx + 17], dl seta r13b - cmp byte ptr [rcx + 18], r14b + movzx edx, byte ptr [rsp + 8] # 1-byte Folded Reload + cmp byte ptr [rcx + 18], dl seta byte ptr [rsp + 112] # 1-byte Folded Spill - cmp byte ptr [rcx + 19], r14b - seta byte ptr [rsp + 96] # 1-byte Folded Spill - cmp byte ptr [rcx + 20], r14b + movzx edx, byte ptr [rsp + 8] # 1-byte Folded Reload + cmp byte ptr [rcx + 19], dl + seta byte ptr [rsp + 104] # 1-byte Folded Spill + movzx edx, byte ptr [rsp + 8] # 1-byte Folded Reload + cmp byte ptr [rcx + 20], dl + seta byte ptr [rsp + 72] # 1-byte Folded Spill + movzx edx, byte ptr [rsp + 8] # 1-byte Folded Reload + cmp byte ptr [rcx + 21], dl + seta byte ptr [rsp + 88] # 1-byte Folded Spill + movzx edx, byte ptr [rsp + 8] # 1-byte Folded Reload + cmp byte ptr [rcx + 22], dl seta byte ptr [rsp + 80] # 1-byte Folded Spill - cmp byte ptr [rcx + 21], r14b - seta byte ptr [rsp + 64] # 1-byte Folded Spill - cmp byte ptr [rcx + 22], r14b + movzx edx, byte ptr [rsp + 8] # 1-byte Folded Reload + cmp byte ptr [rcx + 23], dl seta byte ptr [rsp + 56] # 1-byte Folded Spill - cmp byte ptr [rcx + 23], r14b - seta byte ptr [rsp + 88] # 1-byte Folded Spill - cmp byte ptr [rcx + 24], r14b - seta byte ptr [rsp + 24] # 1-byte Folded Spill - cmp byte ptr [rcx + 25], r14b - seta byte ptr [rsp + 48] # 1-byte Folded Spill - cmp byte ptr [rcx + 26], r14b + movzx edx, byte ptr [rsp + 8] # 1-byte Folded Reload + cmp byte ptr [rcx + 24], dl + seta byte ptr [rsp + 64] # 1-byte Folded Spill + movzx edx, byte ptr [rsp + 8] # 1-byte Folded Reload + cmp byte ptr [rcx + 25], dl + seta byte ptr [rsp + 40] # 1-byte Folded Spill + movzx edx, byte ptr [rsp + 8] # 1-byte Folded Reload + cmp byte ptr [rcx + 26], dl seta byte ptr [rsp + 32] # 1-byte Folded Spill - cmp byte ptr [rcx + 27], r14b - seta byte ptr [rsp + 8] # 1-byte Folded Spill - cmp byte ptr [rcx + 28], r14b + movzx edx, byte ptr [rsp + 8] # 1-byte Folded Reload + cmp byte ptr [rcx + 27], dl + seta byte ptr [rsp + 48] # 1-byte Folded Spill + movzx edx, byte ptr [rsp + 8] # 1-byte Folded Reload + cmp byte ptr [rcx + 28], dl + seta byte ptr [rsp + 24] # 1-byte Folded Spill + movzx edx, byte ptr [rsp + 8] # 1-byte Folded Reload + cmp byte ptr [rcx + 29], dl seta byte ptr [rsp + 16] # 1-byte Folded Spill - cmp byte ptr [rcx + 29], r14b - seta byte ptr [rsp + 128] # 1-byte Folded Spill - cmp byte ptr [rcx + 30], r14b + movzx edx, byte ptr [rsp + 8] # 1-byte Folded Reload + cmp byte ptr [rcx + 30], dl seta byte ptr [rsp] # 1-byte Folded Spill - cmp byte ptr [rcx + 31], r14b - seta r14b - add sil, sil - add sil, byte ptr [rsp + 192] # 1-byte Folded Reload + movzx edx, byte ptr [rsp + 8] # 1-byte Folded Reload + cmp byte ptr [rcx + 31], dl + seta dl + add r14b, r14b + add r14b, byte ptr [rsp + 208] # 1-byte Folded Reload shl al, 6 shl r8b, 7 or r8b, al shl r11b, 2 - or r11b, sil - add dl, dl - add dl, byte ptr [rsp + 144] # 1-byte Folded Reload + or r11b, r14b + add sil, sil + add sil, byte ptr [rsp + 128] # 1-byte Folded Reload shl r15b, 3 or r15b, r11b shl dil, 2 - or dil, dl - movzx eax, byte ptr [rsp + 208] # 1-byte Folded Reload + or dil, sil + movzx eax, byte ptr [rsp + 176] # 1-byte Folded Reload shl al, 4 or al, r15b - mov edx, eax + mov esi, eax shl r9b, 3 or r9b, dil - movzx eax, byte ptr [rsp + 120] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 96] # 1-byte Folded Reload shl al, 5 - or al, dl + or al, sil shl r10b, 4 or r10b, r9b shl r12b, 5 or r12b, r10b - movzx edx, byte ptr [rsp + 160] # 1-byte Folded Reload - shl dl, 6 + movzx r10d, byte ptr [rsp + 8] # 1-byte Folded Reload + movzx esi, byte ptr [rsp + 160] # 1-byte Folded Reload + shl sil, 6 shl bl, 7 - or bl, dl + or bl, sil or r8b, al or bl, r12b add r13b, r13b - add r13b, byte ptr [rsp + 104] # 1-byte Folded Reload + add r13b, byte ptr [rsp + 144] # 1-byte Folded Reload movzx eax, byte ptr [rsp + 112] # 1-byte Folded Reload shl al, 2 or al, r13b - mov edx, eax - movzx eax, byte ptr [rsp + 96] # 1-byte Folded Reload + mov esi, eax + movzx eax, byte ptr [rsp + 104] # 1-byte Folded Reload shl al, 3 - or al, dl - mov edx, eax - movzx eax, byte ptr [rsp + 80] # 1-byte Folded Reload + or al, sil + mov esi, eax + movzx eax, byte ptr [rsp + 72] # 1-byte Folded Reload shl al, 4 - or al, dl - mov edx, eax - movzx eax, byte ptr [rsp + 64] # 1-byte Folded Reload - shl al, 5 - or al, dl + or al, sil mov esi, eax - mov rax, qword ptr [rsp + 72] # 8-byte Reload - mov byte ptr [rax], r8b - movzx edi, byte ptr [rsp + 56] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 88] # 1-byte Folded Reload + shl al, 5 + or al, sil + mov r9d, eax + mov rsi, qword ptr [rsp + 120] # 8-byte Reload + mov byte ptr [rsi], r8b + movzx edi, byte ptr [rsp + 80] # 1-byte Folded Reload shl dil, 6 - movzx edx, byte ptr [rsp + 88] # 1-byte Folded Reload - shl dl, 7 - or dl, dil - mov byte ptr [rax + 1], bl - or dl, sil - movzx ebx, byte ptr [rsp + 48] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 56] # 1-byte Folded Reload + shl al, 7 + or al, dil + mov byte ptr [rsi + 1], bl + or al, r9b + movzx ebx, byte ptr [rsp + 40] # 1-byte Folded Reload add bl, bl - add bl, byte ptr [rsp + 24] # 1-byte Folded Reload - mov esi, ebx + add bl, byte ptr [rsp + 64] # 1-byte Folded Reload + mov edi, ebx movzx ebx, byte ptr [rsp + 32] # 1-byte Folded Reload shl bl, 2 - or bl, sil - mov esi, ebx - movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload + or bl, dil + mov edi, ebx + movzx ebx, byte ptr [rsp + 48] # 1-byte Folded Reload shl bl, 3 - or bl, sil - mov esi, ebx - movzx ebx, byte ptr [rsp + 16] # 1-byte Folded Reload + or bl, dil + mov edi, ebx + movzx ebx, byte ptr [rsp + 24] # 1-byte Folded Reload shl bl, 4 - or bl, sil - mov esi, ebx - movzx ebx, byte ptr [rsp + 128] # 1-byte Folded Reload + or bl, dil + mov edi, ebx + movzx ebx, byte ptr [rsp + 16] # 1-byte Folded Reload shl bl, 5 - or bl, sil - movzx esi, byte ptr [rsp] # 1-byte Folded Reload - shl sil, 6 - shl r14b, 7 - or r14b, sil - or r14b, bl - mov byte ptr [rax + 2], dl - mov byte ptr [rax + 3], r14b - lea r14, [rcx + 32] - add rax, 4 - mov qword ptr [rsp + 72], rax # 8-byte Spill - add qword ptr [rsp + 176], -1 # 8-byte Folded Spill + or bl, dil + movzx edi, byte ptr [rsp] # 1-byte Folded Reload + shl dil, 6 + shl dl, 7 + or dl, dil + or dl, bl + mov byte ptr [rsi + 2], al + mov byte ptr [rsi + 3], dl + lea r12, [rcx + 32] + add rsi, 4 + mov qword ptr [rsp + 120], rsi # 8-byte Spill + add qword ptr [rsp + 192], -1 # 8-byte Folded Spill jne .LBB7_70 # %bb.71: mov r11, qword ptr [rsp + 136] # 8-byte Reload - mov r10, qword ptr [rsp + 264] # 8-byte Reload + mov r15, qword ptr [rsp + 264] # 8-byte Reload jmp .LBB7_72 -.LBB7_137: +.LBB7_139: mov r13d, dword ptr [rdx] lea r10, [r11 + 31] test r11, r11 @@ -34847,11 +36171,12 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 cmovns eax, r9d and eax, -8 sub r9d, eax - je .LBB7_141 -# %bb.138: + je .LBB7_143 +# %bb.140: movsxd rax, r9d + mov r9, qword ptr [rsp] # 8-byte Reload .p2align 4, 0x90 -.LBB7_139: # =>This Inner Loop Header: Depth=1 +.LBB7_141: # =>This Inner Loop Header: Depth=1 cmp dword ptr [rsi], r13d lea rsi, [rsi + 4] setg dl @@ -34860,8 +36185,7 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 test rax, rax cmovns rbx, rax sar rbx, 3 - mov r9, r12 - movzx r8d, byte ptr [r12 + rbx] + movzx r8d, byte ptr [r9 + rbx] xor dl, r8b lea edi, [8*rbx] mov ecx, eax @@ -34871,49 +36195,48 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 shl edi, cl and dil, dl xor dil, r8b - mov byte ptr [r12 + rbx], dil + mov byte ptr [r9 + rbx], dil add rax, 1 cmp rax, 8 - jne .LBB7_139 -# %bb.140: - add r12, 1 -.LBB7_141: + jne .LBB7_141 +# %bb.142: + add qword ptr [rsp], 1 # 8-byte Folded Spill +.LBB7_143: sar r10, 5 cmp r11, 32 - jl .LBB7_145 -# %bb.142: + jl .LBB7_147 +# %bb.144: mov qword ptr [rsp + 136], r11 # 8-byte Spill mov qword ptr [rsp + 240], r10 # 8-byte Spill - mov qword ptr [rsp + 176], r10 # 8-byte Spill + mov qword ptr [rsp + 192], r10 # 8-byte Spill .p2align 4, 0x90 -.LBB7_143: # =>This Inner Loop Header: Depth=1 - mov qword ptr [rsp + 128], r12 # 8-byte Spill +.LBB7_145: # =>This Inner Loop Header: Depth=1 cmp dword ptr [rsi], r13d - setg byte ptr [rsp + 192] # 1-byte Folded Spill + setg byte ptr [rsp + 208] # 1-byte Folded Spill cmp dword ptr [rsi + 4], r13d - setg dil + setg r10b cmp dword ptr [rsi + 8], r13d - setg r14b + setg dil cmp dword ptr [rsi + 12], r13d - setg byte ptr [rsp + 208] # 1-byte Folded Spill + setg byte ptr [rsp + 176] # 1-byte Folded Spill cmp dword ptr [rsi + 16], r13d - setg byte ptr [rsp + 112] # 1-byte Folded Spill + setg byte ptr [rsp + 104] # 1-byte Folded Spill cmp dword ptr [rsi + 20], r13d setg byte ptr [rsp + 88] # 1-byte Folded Spill cmp dword ptr [rsi + 24], r13d setg al cmp dword ptr [rsi + 28], r13d - setg bl + setg r14b cmp dword ptr [rsi + 32], r13d - setg byte ptr [rsp + 144] # 1-byte Folded Spill + setg byte ptr [rsp + 128] # 1-byte Folded Spill cmp dword ptr [rsi + 36], r13d setg dl cmp dword ptr [rsi + 40], r13d setg r9b cmp dword ptr [rsi + 44], r13d - setg r10b - cmp dword ptr [rsi + 48], r13d setg r11b + cmp dword ptr [rsi + 48], r13d + setg bl cmp dword ptr [rsi + 52], r13d setg r12b cmp dword ptr [rsi + 56], r13d @@ -34921,143 +36244,144 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 cmp dword ptr [rsi + 60], r13d setg cl cmp dword ptr [rsi + 64], r13d - setg byte ptr [rsp + 80] # 1-byte Folded Spill + setg byte ptr [rsp + 72] # 1-byte Folded Spill cmp dword ptr [rsi + 68], r13d - setg byte ptr [rsp + 120] # 1-byte Folded Spill + setg byte ptr [rsp + 144] # 1-byte Folded Spill cmp dword ptr [rsi + 72], r13d - setg byte ptr [rsp + 104] # 1-byte Folded Spill + setg byte ptr [rsp + 112] # 1-byte Folded Spill cmp dword ptr [rsi + 76], r13d - setg byte ptr [rsp + 96] # 1-byte Folded Spill + setg byte ptr [rsp + 120] # 1-byte Folded Spill cmp dword ptr [rsi + 80], r13d - setg byte ptr [rsp + 64] # 1-byte Folded Spill + setg byte ptr [rsp + 80] # 1-byte Folded Spill cmp dword ptr [rsi + 84], r13d - setg byte ptr [rsp + 72] # 1-byte Folded Spill + setg byte ptr [rsp + 96] # 1-byte Folded Spill cmp dword ptr [rsi + 88], r13d - setg byte ptr [rsp + 56] # 1-byte Folded Spill + setg byte ptr [rsp + 64] # 1-byte Folded Spill cmp dword ptr [rsi + 92], r13d setg r15b cmp dword ptr [rsi + 96], r13d - setg byte ptr [rsp + 8] # 1-byte Folded Spill + setg byte ptr [rsp + 32] # 1-byte Folded Spill cmp dword ptr [rsi + 100], r13d - setg byte ptr [rsp + 48] # 1-byte Folded Spill + setg byte ptr [rsp + 56] # 1-byte Folded Spill cmp dword ptr [rsi + 104], r13d - setg byte ptr [rsp + 24] # 1-byte Folded Spill + setg byte ptr [rsp + 40] # 1-byte Folded Spill cmp dword ptr [rsi + 108], r13d - setg byte ptr [rsp + 32] # 1-byte Folded Spill + setg byte ptr [rsp + 48] # 1-byte Folded Spill cmp dword ptr [rsi + 112], r13d - setg byte ptr [rsp + 40] # 1-byte Folded Spill + setg byte ptr [rsp + 24] # 1-byte Folded Spill cmp dword ptr [rsi + 116], r13d setg byte ptr [rsp + 16] # 1-byte Folded Spill cmp dword ptr [rsi + 120], r13d - setg byte ptr [rsp] # 1-byte Folded Spill + setg byte ptr [rsp + 8] # 1-byte Folded Spill cmp dword ptr [rsi + 124], r13d setg r8b - add dil, dil - add dil, byte ptr [rsp + 192] # 1-byte Folded Reload + add r10b, r10b + add r10b, byte ptr [rsp + 208] # 1-byte Folded Reload shl al, 6 - shl bl, 7 - or bl, al - shl r14b, 2 - or r14b, dil + shl r14b, 7 + or r14b, al + shl dil, 2 + or dil, r10b add dl, dl - add dl, byte ptr [rsp + 144] # 1-byte Folded Reload - movzx eax, byte ptr [rsp + 208] # 1-byte Folded Reload + add dl, byte ptr [rsp + 128] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 176] # 1-byte Folded Reload shl al, 3 - or al, r14b + or al, dil + mov r10, qword ptr [rsp] # 8-byte Reload shl r9b, 2 or r9b, dl - movzx edx, byte ptr [rsp + 112] # 1-byte Folded Reload + movzx edx, byte ptr [rsp + 104] # 1-byte Folded Reload shl dl, 4 or dl, al mov edi, edx - shl r10b, 3 - or r10b, r9b + shl r11b, 3 + or r11b, r9b movzx edx, byte ptr [rsp + 88] # 1-byte Folded Reload shl dl, 5 or dl, dil - shl r11b, 4 - or r11b, r10b + shl bl, 4 + or bl, r11b shl r12b, 5 - or r12b, r11b + or r12b, bl movzx edi, byte ptr [rsp + 160] # 1-byte Folded Reload shl dil, 6 shl cl, 7 or cl, dil - or bl, dl + or r14b, dl or cl, r12b - mov r12, qword ptr [rsp + 128] # 8-byte Reload - movzx edx, byte ptr [rsp + 120] # 1-byte Folded Reload + movzx edx, byte ptr [rsp + 144] # 1-byte Folded Reload add dl, dl - add dl, byte ptr [rsp + 80] # 1-byte Folded Reload + add dl, byte ptr [rsp + 72] # 1-byte Folded Reload mov edi, edx - movzx edx, byte ptr [rsp + 104] # 1-byte Folded Reload + movzx edx, byte ptr [rsp + 112] # 1-byte Folded Reload shl dl, 2 or dl, dil mov edi, edx - movzx edx, byte ptr [rsp + 96] # 1-byte Folded Reload + movzx edx, byte ptr [rsp + 120] # 1-byte Folded Reload shl dl, 3 or dl, dil mov edi, edx - movzx edx, byte ptr [rsp + 64] # 1-byte Folded Reload + movzx edx, byte ptr [rsp + 80] # 1-byte Folded Reload shl dl, 4 or dl, dil mov edi, edx - movzx edx, byte ptr [rsp + 72] # 1-byte Folded Reload + movzx edx, byte ptr [rsp + 96] # 1-byte Folded Reload shl dl, 5 or dl, dil - mov byte ptr [r12], bl - movzx ebx, byte ptr [rsp + 56] # 1-byte Folded Reload + mov byte ptr [r10], r14b + movzx ebx, byte ptr [rsp + 64] # 1-byte Folded Reload shl bl, 6 shl r15b, 7 or r15b, bl - mov byte ptr [r12 + 1], cl + mov byte ptr [r10 + 1], cl or r15b, dl - movzx ecx, byte ptr [rsp + 48] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 56] # 1-byte Folded Reload add cl, cl - add cl, byte ptr [rsp + 8] # 1-byte Folded Reload + add cl, byte ptr [rsp + 32] # 1-byte Folded Reload mov edx, ecx - movzx ecx, byte ptr [rsp + 24] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 40] # 1-byte Folded Reload shl cl, 2 or cl, dl mov edx, ecx - movzx ecx, byte ptr [rsp + 32] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 48] # 1-byte Folded Reload shl cl, 3 or cl, dl mov edx, ecx - movzx ecx, byte ptr [rsp + 40] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 24] # 1-byte Folded Reload shl cl, 4 or cl, dl mov edx, ecx movzx ecx, byte ptr [rsp + 16] # 1-byte Folded Reload shl cl, 5 or cl, dl - movzx edx, byte ptr [rsp] # 1-byte Folded Reload + movzx edx, byte ptr [rsp + 8] # 1-byte Folded Reload shl dl, 6 shl r8b, 7 or r8b, dl or r8b, cl - mov byte ptr [r12 + 2], r15b - mov byte ptr [r12 + 3], r8b + mov byte ptr [r10 + 2], r15b + mov byte ptr [r10 + 3], r8b add rsi, 128 - add r12, 4 - add qword ptr [rsp + 176], -1 # 8-byte Folded Spill - jne .LBB7_143 -# %bb.144: + add r10, 4 + mov qword ptr [rsp], r10 # 8-byte Spill + add qword ptr [rsp + 192], -1 # 8-byte Folded Spill + jne .LBB7_145 +# %bb.146: mov r11, qword ptr [rsp + 136] # 8-byte Reload mov r10, qword ptr [rsp + 240] # 8-byte Reload -.LBB7_145: +.LBB7_147: shl r10, 5 cmp r10, r11 - jge .LBB7_200 -# %bb.146: + jge .LBB7_202 +# %bb.148: mov r8, r11 sub r8, r10 not r10 add r10, r11 - jne .LBB7_151 -# %bb.147: + jne .LBB7_153 +# %bb.149: xor r11d, r11d - jmp .LBB7_148 + jmp .LBB7_150 .LBB7_98: movzx r13d, word ptr [rdx] lea r10, [r11 + 31] @@ -35071,6 +36395,7 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 je .LBB7_102 # %bb.99: movsxd rax, r9d + mov rdx, qword ptr [rsp] # 8-byte Reload .p2align 4, 0x90 .LBB7_100: # =>This Inner Loop Header: Depth=1 cmp r13w, word ptr [rsi] @@ -35080,8 +36405,7 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 test rax, rax cmovns rbx, rax sar rbx, 3 - mov rdx, r12 - movzx r8d, byte ptr [r12 + rbx] + movzx r8d, byte ptr [rdx + rbx] xor r9b, r8b lea edi, [8*rbx] mov ecx, eax @@ -35091,12 +36415,12 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 shl edi, cl and dil, r9b xor dil, r8b - mov byte ptr [r12 + rbx], dil + mov byte ptr [rdx + rbx], dil add rax, 1 cmp rax, 8 jne .LBB7_100 # %bb.101: - add r12, 1 + add qword ptr [rsp], 1 # 8-byte Folded Spill .LBB7_102: sar r10, 5 cmp r11, 32 @@ -35104,40 +36428,39 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 # %bb.103: mov qword ptr [rsp + 136], r11 # 8-byte Spill mov qword ptr [rsp + 240], r10 # 8-byte Spill - mov qword ptr [rsp + 176], r10 # 8-byte Spill + mov qword ptr [rsp + 192], r10 # 8-byte Spill .p2align 4, 0x90 .LBB7_104: # =>This Inner Loop Header: Depth=1 - mov qword ptr [rsp + 128], r12 # 8-byte Spill cmp word ptr [rsi], r13w - seta byte ptr [rsp + 88] # 1-byte Folded Spill + seta byte ptr [rsp + 56] # 1-byte Folded Spill cmp word ptr [rsi + 2], r13w - seta dil + seta r10b cmp word ptr [rsi + 4], r13w - seta r14b + seta dil cmp word ptr [rsi + 6], r13w - seta byte ptr [rsp + 192] # 1-byte Folded Spill + seta byte ptr [rsp + 208] # 1-byte Folded Spill cmp word ptr [rsi + 8], r13w - seta byte ptr [rsp + 144] # 1-byte Folded Spill + seta byte ptr [rsp + 128] # 1-byte Folded Spill cmp word ptr [rsi + 10], r13w - seta byte ptr [rsp + 120] # 1-byte Folded Spill + seta byte ptr [rsp + 144] # 1-byte Folded Spill cmp word ptr [rsi + 12], r13w seta al cmp word ptr [rsi + 14], r13w - seta bl + seta r14b cmp word ptr [rsi + 16], r13w - seta byte ptr [rsp + 32] # 1-byte Folded Spill + seta byte ptr [rsp + 24] # 1-byte Folded Spill cmp word ptr [rsi + 18], r13w seta dl cmp word ptr [rsi + 20], r13w seta r9b cmp word ptr [rsi + 22], r13w - seta r10b - cmp word ptr [rsi + 24], r13w seta r11b + cmp word ptr [rsi + 24], r13w + seta bl cmp word ptr [rsi + 26], r13w seta r12b cmp word ptr [rsi + 28], r13w - seta byte ptr [rsp + 208] # 1-byte Folded Spill + seta byte ptr [rsp + 176] # 1-byte Folded Spill cmp word ptr [rsi + 30], r13w seta cl cmp word ptr [rsi + 32], r13w @@ -35145,122 +36468,123 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 cmp word ptr [rsi + 34], r13w seta byte ptr [rsp + 160] # 1-byte Folded Spill cmp word ptr [rsi + 36], r13w - seta byte ptr [rsp + 104] # 1-byte Folded Spill - cmp word ptr [rsi + 38], r13w seta byte ptr [rsp + 112] # 1-byte Folded Spill + cmp word ptr [rsi + 38], r13w + seta byte ptr [rsp + 104] # 1-byte Folded Spill cmp word ptr [rsi + 40], r13w - seta byte ptr [rsp + 96] # 1-byte Folded Spill + seta byte ptr [rsp + 120] # 1-byte Folded Spill cmp word ptr [rsi + 42], r13w - seta byte ptr [rsp + 80] # 1-byte Folded Spill + seta byte ptr [rsp + 72] # 1-byte Folded Spill cmp word ptr [rsi + 44], r13w - seta byte ptr [rsp + 64] # 1-byte Folded Spill + seta byte ptr [rsp + 80] # 1-byte Folded Spill cmp word ptr [rsi + 46], r13w seta r15b cmp word ptr [rsi + 48], r13w - seta byte ptr [rsp] # 1-byte Folded Spill + seta byte ptr [rsp + 8] # 1-byte Folded Spill cmp word ptr [rsi + 50], r13w - seta byte ptr [rsp + 72] # 1-byte Folded Spill + seta byte ptr [rsp + 88] # 1-byte Folded Spill cmp word ptr [rsi + 52], r13w - seta byte ptr [rsp + 56] # 1-byte Folded Spill + seta byte ptr [rsp + 96] # 1-byte Folded Spill cmp word ptr [rsi + 54], r13w - seta byte ptr [rsp + 48] # 1-byte Folded Spill + seta byte ptr [rsp + 64] # 1-byte Folded Spill cmp word ptr [rsi + 56], r13w - seta byte ptr [rsp + 24] # 1-byte Folded Spill + seta byte ptr [rsp + 40] # 1-byte Folded Spill cmp word ptr [rsi + 58], r13w - seta byte ptr [rsp + 8] # 1-byte Folded Spill + seta byte ptr [rsp + 48] # 1-byte Folded Spill cmp word ptr [rsi + 60], r13w - seta byte ptr [rsp + 40] # 1-byte Folded Spill + seta byte ptr [rsp + 32] # 1-byte Folded Spill cmp word ptr [rsi + 62], r13w seta r8b - add dil, dil - add dil, byte ptr [rsp + 88] # 1-byte Folded Reload + add r10b, r10b + add r10b, byte ptr [rsp + 56] # 1-byte Folded Reload shl al, 6 - shl bl, 7 - or bl, al - shl r14b, 2 - or r14b, dil - add dl, dl - add dl, byte ptr [rsp + 32] # 1-byte Folded Reload - movzx eax, byte ptr [rsp + 192] # 1-byte Folded Reload - shl al, 3 - or al, r14b + shl r14b, 7 + or r14b, al + shl dil, 2 + or dil, r10b + add dl, dl + add dl, byte ptr [rsp + 24] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 208] # 1-byte Folded Reload + shl al, 3 + or al, dil + mov r10, qword ptr [rsp] # 8-byte Reload shl r9b, 2 or r9b, dl - movzx edx, byte ptr [rsp + 144] # 1-byte Folded Reload + movzx edx, byte ptr [rsp + 128] # 1-byte Folded Reload shl dl, 4 or dl, al mov edi, edx - shl r10b, 3 - or r10b, r9b - movzx edx, byte ptr [rsp + 120] # 1-byte Folded Reload + shl r11b, 3 + or r11b, r9b + movzx edx, byte ptr [rsp + 144] # 1-byte Folded Reload shl dl, 5 or dl, dil - shl r11b, 4 - or r11b, r10b + shl bl, 4 + or bl, r11b shl r12b, 5 - or r12b, r11b - movzx edi, byte ptr [rsp + 208] # 1-byte Folded Reload + or r12b, bl + movzx edi, byte ptr [rsp + 176] # 1-byte Folded Reload shl dil, 6 shl cl, 7 or cl, dil - or bl, dl + or r14b, dl or cl, r12b - mov r12, qword ptr [rsp + 128] # 8-byte Reload movzx edx, byte ptr [rsp + 160] # 1-byte Folded Reload add dl, dl add dl, byte ptr [rsp + 16] # 1-byte Folded Reload mov edi, edx - movzx edx, byte ptr [rsp + 104] # 1-byte Folded Reload + movzx edx, byte ptr [rsp + 112] # 1-byte Folded Reload shl dl, 2 or dl, dil mov edi, edx - movzx edx, byte ptr [rsp + 112] # 1-byte Folded Reload + movzx edx, byte ptr [rsp + 104] # 1-byte Folded Reload shl dl, 3 or dl, dil mov edi, edx - movzx edx, byte ptr [rsp + 96] # 1-byte Folded Reload + movzx edx, byte ptr [rsp + 120] # 1-byte Folded Reload shl dl, 4 or dl, dil mov edi, edx - movzx edx, byte ptr [rsp + 80] # 1-byte Folded Reload + movzx edx, byte ptr [rsp + 72] # 1-byte Folded Reload shl dl, 5 or dl, dil - mov byte ptr [r12], bl - movzx ebx, byte ptr [rsp + 64] # 1-byte Folded Reload + mov byte ptr [r10], r14b + movzx ebx, byte ptr [rsp + 80] # 1-byte Folded Reload shl bl, 6 shl r15b, 7 or r15b, bl - mov byte ptr [r12 + 1], cl + mov byte ptr [r10 + 1], cl or r15b, dl - movzx ecx, byte ptr [rsp + 72] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 88] # 1-byte Folded Reload add cl, cl - add cl, byte ptr [rsp] # 1-byte Folded Reload + add cl, byte ptr [rsp + 8] # 1-byte Folded Reload mov edx, ecx - movzx ecx, byte ptr [rsp + 56] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 96] # 1-byte Folded Reload shl cl, 2 or cl, dl mov edx, ecx - movzx ecx, byte ptr [rsp + 48] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 64] # 1-byte Folded Reload shl cl, 3 or cl, dl mov edx, ecx - movzx ecx, byte ptr [rsp + 24] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 40] # 1-byte Folded Reload shl cl, 4 or cl, dl mov edx, ecx - movzx ecx, byte ptr [rsp + 8] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 48] # 1-byte Folded Reload shl cl, 5 or cl, dl - movzx edx, byte ptr [rsp + 40] # 1-byte Folded Reload + movzx edx, byte ptr [rsp + 32] # 1-byte Folded Reload shl dl, 6 shl r8b, 7 or r8b, dl or r8b, cl - mov byte ptr [r12 + 2], r15b - mov byte ptr [r12 + 3], r8b + mov byte ptr [r10 + 2], r15b + mov byte ptr [r10 + 3], r8b add rsi, 64 - add r12, 4 - add qword ptr [rsp + 176], -1 # 8-byte Folded Spill + add r10, 4 + mov qword ptr [rsp], r10 # 8-byte Spill + add qword ptr [rsp + 192], -1 # 8-byte Folded Spill jne .LBB7_104 # %bb.105: mov r11, qword ptr [rsp + 136] # 8-byte Reload @@ -35268,33 +36592,34 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 .LBB7_106: shl r10, 5 cmp r10, r11 - jge .LBB7_200 + jge .LBB7_202 # %bb.107: mov r8, r11 sub r8, r10 not r10 add r10, r11 - jne .LBB7_111 + jne .LBB7_112 # %bb.108: xor r11d, r11d jmp .LBB7_109 -.LBB7_113: +.LBB7_114: movzx eax, word ptr [rdx] mov dword ptr [rsp + 240], eax # 4-byte Spill - lea r14, [r11 + 31] + lea r15, [r11 + 31] test r11, r11 - cmovns r14, r11 + cmovns r15, r11 lea eax, [r9 + 7] test r9d, r9d cmovns eax, r9d and eax, -8 sub r9d, eax - je .LBB7_117 -# %bb.114: + je .LBB7_118 +# %bb.115: movsxd rax, r9d mov r10d, dword ptr [rsp + 240] # 4-byte Reload + mov r14, qword ptr [rsp] # 8-byte Reload .p2align 4, 0x90 -.LBB7_115: # =>This Inner Loop Header: Depth=1 +.LBB7_116: # =>This Inner Loop Header: Depth=1 cmp word ptr [rsi], r10w lea rsi, [rsi + 2] setg dl @@ -35303,8 +36628,7 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 test rax, rax cmovns rdi, rax sar rdi, 3 - mov r15, r12 - movzx r9d, byte ptr [r12 + rdi] + movzx r9d, byte ptr [r14 + rdi] xor dl, r9b lea r8d, [8*rdi] mov ecx, eax @@ -35314,52 +36638,54 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 shl ebx, cl and bl, dl xor bl, r9b - mov byte ptr [r12 + rdi], bl + mov byte ptr [r14 + rdi], bl add rax, 1 cmp rax, 8 - jne .LBB7_115 -# %bb.116: - add r12, 1 -.LBB7_117: - sar r14, 5 + jne .LBB7_116 +# %bb.117: + add qword ptr [rsp], 1 # 8-byte Folded Spill +.LBB7_118: + sar r15, 5 cmp r11, 32 - jl .LBB7_128 -# %bb.118: - cmp r14, 8 - mov qword ptr [rsp + 136], r11 # 8-byte Spill - mov qword ptr [rsp + 272], r14 # 8-byte Spill - jb .LBB7_119 + jl .LBB7_119 # %bb.120: - mov rax, r14 + cmp r15, 8 + mov qword ptr [rsp + 136], r11 # 8-byte Spill + mov qword ptr [rsp + 272], r15 # 8-byte Spill + jb .LBB7_121 +# %bb.122: + mov rax, r15 shl rax, 6 add rax, rsi - cmp r12, rax - jae .LBB7_122 -# %bb.121: - lea rax, [r12 + 4*r14] + cmp qword ptr [rsp], rax # 8-byte Folded Reload + jae .LBB7_124 +# %bb.123: + mov rax, qword ptr [rsp] # 8-byte Reload + lea rax, [rax + 4*r15] cmp rax, rsi - jbe .LBB7_122 -.LBB7_119: + jbe .LBB7_124 +.LBB7_121: xor eax, eax - mov qword ptr [rsp + 24], rax # 8-byte Spill -.LBB7_125: - mov qword ptr [rsp], r12 # 8-byte Spill - sub r14, qword ptr [rsp + 24] # 8-byte Folded Reload - mov qword ptr [rsp + 176], r14 # 8-byte Spill + mov qword ptr [rsp + 40], rax # 8-byte Spill + mov r14, qword ptr [rsp] # 8-byte Reload +.LBB7_127: + mov qword ptr [rsp + 8], r14 # 8-byte Spill + sub r15, qword ptr [rsp + 40] # 8-byte Folded Reload + mov qword ptr [rsp + 192], r15 # 8-byte Spill mov r13d, dword ptr [rsp + 240] # 4-byte Reload .p2align 4, 0x90 -.LBB7_126: # =>This Inner Loop Header: Depth=1 +.LBB7_128: # =>This Inner Loop Header: Depth=1 mov r11, rsi cmp word ptr [rsi], r13w - setg byte ptr [rsp + 192] # 1-byte Folded Spill + setg byte ptr [rsp + 208] # 1-byte Folded Spill cmp word ptr [rsi + 2], r13w setg r8b cmp word ptr [rsi + 4], r13w setg r14b cmp word ptr [rsi + 6], r13w - setg byte ptr [rsp + 208] # 1-byte Folded Spill + setg byte ptr [rsp + 176] # 1-byte Folded Spill cmp word ptr [rsi + 8], r13w - setg byte ptr [rsp + 112] # 1-byte Folded Spill + setg byte ptr [rsp + 104] # 1-byte Folded Spill cmp word ptr [rsi + 10], r13w setg byte ptr [rsp + 88] # 1-byte Folded Spill cmp word ptr [rsi + 12], r13w @@ -35367,7 +36693,7 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 cmp word ptr [rsi + 14], r13w setg bl cmp word ptr [rsi + 16], r13w - setg byte ptr [rsp + 144] # 1-byte Folded Spill + setg byte ptr [rsp + 128] # 1-byte Folded Spill cmp word ptr [rsi + 18], r13w setg cl cmp word ptr [rsi + 20], r13w @@ -35383,52 +36709,52 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 cmp word ptr [r11 + 30], r13w setg dil cmp word ptr [r11 + 32], r13w - setg byte ptr [rsp + 80] # 1-byte Folded Spill + setg byte ptr [rsp + 72] # 1-byte Folded Spill cmp word ptr [r11 + 34], r13w - setg byte ptr [rsp + 120] # 1-byte Folded Spill + setg byte ptr [rsp + 144] # 1-byte Folded Spill cmp word ptr [r11 + 36], r13w - setg byte ptr [rsp + 104] # 1-byte Folded Spill + setg byte ptr [rsp + 112] # 1-byte Folded Spill cmp word ptr [r11 + 38], r13w - setg byte ptr [rsp + 96] # 1-byte Folded Spill + setg byte ptr [rsp + 120] # 1-byte Folded Spill cmp word ptr [r11 + 40], r13w - setg byte ptr [rsp + 64] # 1-byte Folded Spill + setg byte ptr [rsp + 80] # 1-byte Folded Spill cmp word ptr [r11 + 42], r13w - setg byte ptr [rsp + 72] # 1-byte Folded Spill + setg byte ptr [rsp + 96] # 1-byte Folded Spill cmp word ptr [r11 + 44], r13w - setg byte ptr [rsp + 56] # 1-byte Folded Spill + setg byte ptr [rsp + 64] # 1-byte Folded Spill cmp word ptr [r11 + 46], r13w setg r15b cmp word ptr [r11 + 48], r13w - setg byte ptr [rsp + 8] # 1-byte Folded Spill + setg byte ptr [rsp + 32] # 1-byte Folded Spill cmp word ptr [r11 + 50], r13w - setg byte ptr [rsp + 48] # 1-byte Folded Spill + setg byte ptr [rsp + 56] # 1-byte Folded Spill cmp word ptr [r11 + 52], r13w - setg byte ptr [rsp + 24] # 1-byte Folded Spill + setg byte ptr [rsp + 40] # 1-byte Folded Spill cmp word ptr [r11 + 54], r13w - setg byte ptr [rsp + 32] # 1-byte Folded Spill + setg byte ptr [rsp + 48] # 1-byte Folded Spill cmp word ptr [r11 + 56], r13w - setg byte ptr [rsp + 40] # 1-byte Folded Spill + setg byte ptr [rsp + 24] # 1-byte Folded Spill cmp word ptr [r11 + 58], r13w setg byte ptr [rsp + 16] # 1-byte Folded Spill cmp word ptr [r11 + 60], r13w - setg byte ptr [rsp + 128] # 1-byte Folded Spill + setg byte ptr [rsp] # 1-byte Folded Spill cmp word ptr [r11 + 62], r13w setg dl add r8b, r8b - add r8b, byte ptr [rsp + 192] # 1-byte Folded Reload + add r8b, byte ptr [rsp + 208] # 1-byte Folded Reload shl al, 6 shl bl, 7 or bl, al shl r14b, 2 or r14b, r8b add cl, cl - add cl, byte ptr [rsp + 144] # 1-byte Folded Reload - movzx eax, byte ptr [rsp + 208] # 1-byte Folded Reload + add cl, byte ptr [rsp + 128] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 176] # 1-byte Folded Reload shl al, 3 or al, r14b shl sil, 2 or sil, cl - movzx ecx, byte ptr [rsp + 112] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 104] # 1-byte Folded Reload shl cl, 4 or cl, al mov r8d, ecx @@ -35447,54 +36773,54 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 or dil, sil or bl, cl or dil, r12b - movzx ecx, byte ptr [rsp + 120] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 144] # 1-byte Folded Reload add cl, cl - add cl, byte ptr [rsp + 80] # 1-byte Folded Reload + add cl, byte ptr [rsp + 72] # 1-byte Folded Reload mov esi, ecx - movzx ecx, byte ptr [rsp + 104] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 112] # 1-byte Folded Reload shl cl, 2 or cl, sil mov esi, ecx - movzx ecx, byte ptr [rsp + 96] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 120] # 1-byte Folded Reload shl cl, 3 or cl, sil mov esi, ecx - movzx ecx, byte ptr [rsp + 64] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 80] # 1-byte Folded Reload shl cl, 4 or cl, sil mov esi, ecx - movzx ecx, byte ptr [rsp + 72] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 96] # 1-byte Folded Reload shl cl, 5 or cl, sil mov esi, ecx - mov rcx, qword ptr [rsp] # 8-byte Reload + mov rcx, qword ptr [rsp + 8] # 8-byte Reload mov byte ptr [rcx], bl - movzx ebx, byte ptr [rsp + 56] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 64] # 1-byte Folded Reload shl bl, 6 shl r15b, 7 or r15b, bl mov byte ptr [rcx + 1], dil or r15b, sil - movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 56] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 8] # 1-byte Folded Reload + add al, byte ptr [rsp + 32] # 1-byte Folded Reload mov ebx, eax - movzx eax, byte ptr [rsp + 24] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload shl al, 2 or al, bl mov ebx, eax - movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload shl al, 3 or al, bl mov ebx, eax - movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 24] # 1-byte Folded Reload shl al, 4 or al, bl mov ebx, eax movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload shl al, 5 or al, bl - movzx ebx, byte ptr [rsp + 128] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp] # 1-byte Folded Reload shl bl, 6 shl dl, 7 or dl, bl @@ -35503,27 +36829,15 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 mov byte ptr [rcx + 3], dl lea rsi, [r11 + 64] add rcx, 4 - mov qword ptr [rsp], rcx # 8-byte Spill - add qword ptr [rsp + 176], -1 # 8-byte Folded Spill - jne .LBB7_126 -# %bb.127: - mov r11, qword ptr [rsp + 136] # 8-byte Reload - mov r14, qword ptr [rsp + 272] # 8-byte Reload - mov r12, qword ptr [rsp] # 8-byte Reload -.LBB7_128: - shl r14, 5 - cmp r14, r11 - jge .LBB7_200 + mov qword ptr [rsp + 8], rcx # 8-byte Spill + add qword ptr [rsp + 192], -1 # 8-byte Folded Spill + jne .LBB7_128 # %bb.129: - mov r8, r11 - sub r8, r14 - not r14 - add r14, r11 - jne .LBB7_133 -# %bb.130: - xor r14d, r14d - jmp .LBB7_131 -.LBB7_155: + mov r11, qword ptr [rsp + 136] # 8-byte Reload + mov r15, qword ptr [rsp + 272] # 8-byte Reload + mov r14, qword ptr [rsp + 8] # 8-byte Reload + jmp .LBB7_130 +.LBB7_157: mov r13, qword ptr [rdx] lea r10, [r11 + 31] test r11, r11 @@ -35533,11 +36847,12 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 cmovns eax, r9d and eax, -8 sub r9d, eax - je .LBB7_159 -# %bb.156: + je .LBB7_161 +# %bb.158: movsxd rax, r9d + mov r9, qword ptr [rsp] # 8-byte Reload .p2align 4, 0x90 -.LBB7_157: # =>This Inner Loop Header: Depth=1 +.LBB7_159: # =>This Inner Loop Header: Depth=1 cmp qword ptr [rsi], r13 lea rsi, [rsi + 8] setg dl @@ -35546,8 +36861,7 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 test rax, rax cmovns rbx, rax sar rbx, 3 - mov r9, r12 - movzx r8d, byte ptr [r12 + rbx] + movzx r8d, byte ptr [r9 + rbx] xor dl, r8b lea edi, [8*rbx] mov ecx, eax @@ -35557,49 +36871,48 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 shl edi, cl and dil, dl xor dil, r8b - mov byte ptr [r12 + rbx], dil + mov byte ptr [r9 + rbx], dil add rax, 1 cmp rax, 8 - jne .LBB7_157 -# %bb.158: - add r12, 1 -.LBB7_159: + jne .LBB7_159 +# %bb.160: + add qword ptr [rsp], 1 # 8-byte Folded Spill +.LBB7_161: sar r10, 5 cmp r11, 32 - jl .LBB7_163 -# %bb.160: + jl .LBB7_165 +# %bb.162: mov qword ptr [rsp + 136], r11 # 8-byte Spill mov qword ptr [rsp + 240], r10 # 8-byte Spill - mov qword ptr [rsp + 176], r10 # 8-byte Spill + mov qword ptr [rsp + 192], r10 # 8-byte Spill .p2align 4, 0x90 -.LBB7_161: # =>This Inner Loop Header: Depth=1 - mov qword ptr [rsp + 128], r12 # 8-byte Spill +.LBB7_163: # =>This Inner Loop Header: Depth=1 cmp qword ptr [rsi], r13 - setg byte ptr [rsp + 192] # 1-byte Folded Spill + setg byte ptr [rsp + 208] # 1-byte Folded Spill cmp qword ptr [rsi + 8], r13 - setg dil + setg r10b cmp qword ptr [rsi + 16], r13 - setg r14b + setg dil cmp qword ptr [rsi + 24], r13 - setg byte ptr [rsp + 208] # 1-byte Folded Spill + setg byte ptr [rsp + 176] # 1-byte Folded Spill cmp qword ptr [rsi + 32], r13 - setg byte ptr [rsp + 112] # 1-byte Folded Spill + setg byte ptr [rsp + 104] # 1-byte Folded Spill cmp qword ptr [rsi + 40], r13 setg byte ptr [rsp + 88] # 1-byte Folded Spill cmp qword ptr [rsi + 48], r13 setg al cmp qword ptr [rsi + 56], r13 - setg bl + setg r14b cmp qword ptr [rsi + 64], r13 - setg byte ptr [rsp + 144] # 1-byte Folded Spill + setg byte ptr [rsp + 128] # 1-byte Folded Spill cmp qword ptr [rsi + 72], r13 setg dl cmp qword ptr [rsi + 80], r13 setg r9b cmp qword ptr [rsi + 88], r13 - setg r10b - cmp qword ptr [rsi + 96], r13 setg r11b + cmp qword ptr [rsi + 96], r13 + setg bl cmp qword ptr [rsi + 104], r13 setg r12b cmp qword ptr [rsi + 112], r13 @@ -35607,144 +36920,145 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 cmp qword ptr [rsi + 120], r13 setg cl cmp qword ptr [rsi + 128], r13 - setg byte ptr [rsp + 80] # 1-byte Folded Spill + setg byte ptr [rsp + 72] # 1-byte Folded Spill cmp qword ptr [rsi + 136], r13 - setg byte ptr [rsp + 120] # 1-byte Folded Spill + setg byte ptr [rsp + 144] # 1-byte Folded Spill cmp qword ptr [rsi + 144], r13 - setg byte ptr [rsp + 104] # 1-byte Folded Spill + setg byte ptr [rsp + 112] # 1-byte Folded Spill cmp qword ptr [rsi + 152], r13 - setg byte ptr [rsp + 96] # 1-byte Folded Spill + setg byte ptr [rsp + 120] # 1-byte Folded Spill cmp qword ptr [rsi + 160], r13 - setg byte ptr [rsp + 64] # 1-byte Folded Spill + setg byte ptr [rsp + 80] # 1-byte Folded Spill cmp qword ptr [rsi + 168], r13 - setg byte ptr [rsp + 72] # 1-byte Folded Spill + setg byte ptr [rsp + 96] # 1-byte Folded Spill cmp qword ptr [rsi + 176], r13 - setg byte ptr [rsp + 56] # 1-byte Folded Spill + setg byte ptr [rsp + 64] # 1-byte Folded Spill cmp qword ptr [rsi + 184], r13 setg r15b cmp qword ptr [rsi + 192], r13 - setg byte ptr [rsp + 8] # 1-byte Folded Spill + setg byte ptr [rsp + 32] # 1-byte Folded Spill cmp qword ptr [rsi + 200], r13 - setg byte ptr [rsp + 48] # 1-byte Folded Spill + setg byte ptr [rsp + 56] # 1-byte Folded Spill cmp qword ptr [rsi + 208], r13 - setg byte ptr [rsp + 24] # 1-byte Folded Spill + setg byte ptr [rsp + 40] # 1-byte Folded Spill cmp qword ptr [rsi + 216], r13 - setg byte ptr [rsp + 32] # 1-byte Folded Spill + setg byte ptr [rsp + 48] # 1-byte Folded Spill cmp qword ptr [rsi + 224], r13 - setg byte ptr [rsp + 40] # 1-byte Folded Spill + setg byte ptr [rsp + 24] # 1-byte Folded Spill cmp qword ptr [rsi + 232], r13 setg byte ptr [rsp + 16] # 1-byte Folded Spill cmp qword ptr [rsi + 240], r13 - setg byte ptr [rsp] # 1-byte Folded Spill + setg byte ptr [rsp + 8] # 1-byte Folded Spill cmp qword ptr [rsi + 248], r13 setg r8b - add dil, dil - add dil, byte ptr [rsp + 192] # 1-byte Folded Reload + add r10b, r10b + add r10b, byte ptr [rsp + 208] # 1-byte Folded Reload shl al, 6 - shl bl, 7 - or bl, al - shl r14b, 2 - or r14b, dil + shl r14b, 7 + or r14b, al + shl dil, 2 + or dil, r10b add dl, dl - add dl, byte ptr [rsp + 144] # 1-byte Folded Reload - movzx eax, byte ptr [rsp + 208] # 1-byte Folded Reload + add dl, byte ptr [rsp + 128] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 176] # 1-byte Folded Reload shl al, 3 - or al, r14b + or al, dil + mov r10, qword ptr [rsp] # 8-byte Reload shl r9b, 2 or r9b, dl - movzx edx, byte ptr [rsp + 112] # 1-byte Folded Reload + movzx edx, byte ptr [rsp + 104] # 1-byte Folded Reload shl dl, 4 or dl, al mov edi, edx - shl r10b, 3 - or r10b, r9b + shl r11b, 3 + or r11b, r9b movzx edx, byte ptr [rsp + 88] # 1-byte Folded Reload shl dl, 5 or dl, dil - shl r11b, 4 - or r11b, r10b + shl bl, 4 + or bl, r11b shl r12b, 5 - or r12b, r11b + or r12b, bl movzx edi, byte ptr [rsp + 160] # 1-byte Folded Reload shl dil, 6 shl cl, 7 or cl, dil - or bl, dl + or r14b, dl or cl, r12b - mov r12, qword ptr [rsp + 128] # 8-byte Reload - movzx edx, byte ptr [rsp + 120] # 1-byte Folded Reload + movzx edx, byte ptr [rsp + 144] # 1-byte Folded Reload add dl, dl - add dl, byte ptr [rsp + 80] # 1-byte Folded Reload + add dl, byte ptr [rsp + 72] # 1-byte Folded Reload mov edi, edx - movzx edx, byte ptr [rsp + 104] # 1-byte Folded Reload + movzx edx, byte ptr [rsp + 112] # 1-byte Folded Reload shl dl, 2 or dl, dil mov edi, edx - movzx edx, byte ptr [rsp + 96] # 1-byte Folded Reload + movzx edx, byte ptr [rsp + 120] # 1-byte Folded Reload shl dl, 3 or dl, dil mov edi, edx - movzx edx, byte ptr [rsp + 64] # 1-byte Folded Reload + movzx edx, byte ptr [rsp + 80] # 1-byte Folded Reload shl dl, 4 or dl, dil mov edi, edx - movzx edx, byte ptr [rsp + 72] # 1-byte Folded Reload + movzx edx, byte ptr [rsp + 96] # 1-byte Folded Reload shl dl, 5 or dl, dil - mov byte ptr [r12], bl - movzx ebx, byte ptr [rsp + 56] # 1-byte Folded Reload + mov byte ptr [r10], r14b + movzx ebx, byte ptr [rsp + 64] # 1-byte Folded Reload shl bl, 6 shl r15b, 7 or r15b, bl - mov byte ptr [r12 + 1], cl + mov byte ptr [r10 + 1], cl or r15b, dl - movzx ecx, byte ptr [rsp + 48] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 56] # 1-byte Folded Reload add cl, cl - add cl, byte ptr [rsp + 8] # 1-byte Folded Reload + add cl, byte ptr [rsp + 32] # 1-byte Folded Reload mov edx, ecx - movzx ecx, byte ptr [rsp + 24] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 40] # 1-byte Folded Reload shl cl, 2 or cl, dl mov edx, ecx - movzx ecx, byte ptr [rsp + 32] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 48] # 1-byte Folded Reload shl cl, 3 or cl, dl mov edx, ecx - movzx ecx, byte ptr [rsp + 40] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 24] # 1-byte Folded Reload shl cl, 4 or cl, dl mov edx, ecx movzx ecx, byte ptr [rsp + 16] # 1-byte Folded Reload shl cl, 5 or cl, dl - movzx edx, byte ptr [rsp] # 1-byte Folded Reload + movzx edx, byte ptr [rsp + 8] # 1-byte Folded Reload shl dl, 6 shl r8b, 7 or r8b, dl or r8b, cl - mov byte ptr [r12 + 2], r15b - mov byte ptr [r12 + 3], r8b + mov byte ptr [r10 + 2], r15b + mov byte ptr [r10 + 3], r8b add rsi, 256 - add r12, 4 - add qword ptr [rsp + 176], -1 # 8-byte Folded Spill - jne .LBB7_161 -# %bb.162: + add r10, 4 + mov qword ptr [rsp], r10 # 8-byte Spill + add qword ptr [rsp + 192], -1 # 8-byte Folded Spill + jne .LBB7_163 +# %bb.164: mov r11, qword ptr [rsp + 136] # 8-byte Reload mov r10, qword ptr [rsp + 240] # 8-byte Reload -.LBB7_163: +.LBB7_165: shl r10, 5 cmp r10, r11 - jge .LBB7_200 -# %bb.164: + jge .LBB7_202 +# %bb.166: mov r8, r11 sub r8, r10 not r10 add r10, r11 - jne .LBB7_168 -# %bb.165: + jne .LBB7_170 +# %bb.167: xor r11d, r11d - jmp .LBB7_166 -.LBB7_170: + jmp .LBB7_168 +.LBB7_172: lea r10, [r11 + 31] test r11, r11 cmovns r10, r11 @@ -35754,20 +37068,22 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 and eax, -8 movss xmm11, dword ptr [rdx] # xmm11 = mem[0],zero,zero,zero sub r9d, eax - je .LBB7_174 -# %bb.171: + je .LBB7_176 +# %bb.173: movsxd rax, r9d + mov r14, qword ptr [rsp] # 8-byte Reload .p2align 4, 0x90 -.LBB7_172: # =>This Inner Loop Header: Depth=1 - ucomiss xmm11, dword ptr [rsi] - lea rsi, [rsi + 4] - sbb edx, edx +.LBB7_174: # =>This Inner Loop Header: Depth=1 + movss xmm0, dword ptr [rsi] # xmm0 = mem[0],zero,zero,zero + add rsi, 4 + ucomiss xmm0, xmm11 + seta dl + neg dl lea rdi, [rax + 7] test rax, rax cmovns rdi, rax sar rdi, 3 - mov r14, r12 - movzx r9d, byte ptr [r12 + rdi] + movzx r9d, byte ptr [r14 + rdi] xor dl, r9b lea r8d, [8*rdi] mov ecx, eax @@ -35777,203 +37093,235 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 shl ebx, cl and bl, dl xor bl, r9b - mov byte ptr [r12 + rdi], bl + mov byte ptr [r14 + rdi], bl add rax, 1 cmp rax, 8 - jne .LBB7_172 -# %bb.173: - add r12, 1 -.LBB7_174: + jne .LBB7_174 +# %bb.175: + add qword ptr [rsp], 1 # 8-byte Folded Spill +.LBB7_176: sar r10, 5 cmp r11, 32 - jl .LBB7_175 -# %bb.176: - cmp r10, 4 - jb .LBB7_177 + jl .LBB7_177 # %bb.178: + cmp r10, 4 + jb .LBB7_179 +# %bb.180: mov rax, r10 shl rax, 7 add rax, rsi - cmp r12, rax - jae .LBB7_180 -# %bb.179: - lea rax, [r12 + 4*r10] + cmp qword ptr [rsp], rax # 8-byte Folded Reload + jae .LBB7_182 +# %bb.181: + mov rax, qword ptr [rsp] # 8-byte Reload + lea rax, [rax + 4*r10] cmp rax, rsi - jbe .LBB7_180 -.LBB7_177: - xor r8d, r8d - mov rbx, rsi - mov r14, r12 -.LBB7_183: + jbe .LBB7_182 +.LBB7_179: + xor eax, eax + mov rdx, rsi + mov r15, qword ptr [rsp] # 8-byte Reload +.LBB7_185: + mov qword ptr [rsp], r15 # 8-byte Spill mov qword ptr [rsp + 136], r11 # 8-byte Spill - mov qword ptr [rsp + 176], r10 # 8-byte Spill - sub r10, r8 mov qword ptr [rsp + 192], r10 # 8-byte Spill + sub r10, rax + mov qword ptr [rsp + 208], r10 # 8-byte Spill .p2align 4, 0x90 -.LBB7_184: # =>This Inner Loop Header: Depth=1 - mov qword ptr [rsp], r14 # 8-byte Spill - ucomiss xmm11, dword ptr [rbx] - setb byte ptr [rsp + 208] # 1-byte Folded Spill - ucomiss xmm11, dword ptr [rbx + 4] - setb r8b - ucomiss xmm11, dword ptr [rbx + 8] - setb r14b - ucomiss xmm11, dword ptr [rbx + 12] - setb r13b - ucomiss xmm11, dword ptr [rbx + 16] - setb byte ptr [rsp + 112] # 1-byte Folded Spill - ucomiss xmm11, dword ptr [rbx + 20] - setb byte ptr [rsp + 88] # 1-byte Folded Spill - ucomiss xmm11, dword ptr [rbx + 24] - setb al - ucomiss xmm11, dword ptr [rbx + 28] - setb r11b - ucomiss xmm11, dword ptr [rbx + 32] - setb byte ptr [rsp + 160] # 1-byte Folded Spill - ucomiss xmm11, dword ptr [rbx + 36] - setb dl - ucomiss xmm11, dword ptr [rbx + 40] - setb sil - ucomiss xmm11, dword ptr [rbx + 44] - setb r9b - ucomiss xmm11, dword ptr [rbx + 48] - setb r10b - ucomiss xmm11, dword ptr [rbx + 52] - setb r12b - ucomiss xmm11, dword ptr [rbx + 56] - setb byte ptr [rsp + 120] # 1-byte Folded Spill - ucomiss xmm11, dword ptr [rbx + 60] - setb dil - ucomiss xmm11, dword ptr [rbx + 64] - setb byte ptr [rsp + 80] # 1-byte Folded Spill - ucomiss xmm11, dword ptr [rbx + 68] - setb byte ptr [rsp + 144] # 1-byte Folded Spill - ucomiss xmm11, dword ptr [rbx + 72] - setb byte ptr [rsp + 104] # 1-byte Folded Spill - ucomiss xmm11, dword ptr [rbx + 76] - setb byte ptr [rsp + 96] # 1-byte Folded Spill - ucomiss xmm11, dword ptr [rbx + 80] - setb byte ptr [rsp + 64] # 1-byte Folded Spill - ucomiss xmm11, dword ptr [rbx + 84] - setb byte ptr [rsp + 72] # 1-byte Folded Spill - ucomiss xmm11, dword ptr [rbx + 88] - setb byte ptr [rsp + 56] # 1-byte Folded Spill - ucomiss xmm11, dword ptr [rbx + 92] - setb r15b - ucomiss xmm11, dword ptr [rbx + 96] - setb byte ptr [rsp + 8] # 1-byte Folded Spill - ucomiss xmm11, dword ptr [rbx + 100] - setb byte ptr [rsp + 48] # 1-byte Folded Spill - ucomiss xmm11, dword ptr [rbx + 104] - setb byte ptr [rsp + 24] # 1-byte Folded Spill - ucomiss xmm11, dword ptr [rbx + 108] - setb byte ptr [rsp + 32] # 1-byte Folded Spill - ucomiss xmm11, dword ptr [rbx + 112] - setb byte ptr [rsp + 40] # 1-byte Folded Spill - ucomiss xmm11, dword ptr [rbx + 116] - setb byte ptr [rsp + 16] # 1-byte Folded Spill - ucomiss xmm11, dword ptr [rbx + 120] - setb byte ptr [rsp + 128] # 1-byte Folded Spill - ucomiss xmm11, dword ptr [rbx + 124] - setb cl - add r8b, r8b - add r8b, byte ptr [rsp + 208] # 1-byte Folded Reload +.LBB7_186: # =>This Inner Loop Header: Depth=1 + movss xmm0, dword ptr [rdx] # xmm0 = mem[0],zero,zero,zero + movss xmm1, dword ptr [rdx + 4] # xmm1 = mem[0],zero,zero,zero + ucomiss xmm0, xmm11 + seta byte ptr [rsp + 24] # 1-byte Folded Spill + ucomiss xmm1, xmm11 + seta bl + movss xmm0, dword ptr [rdx + 8] # xmm0 = mem[0],zero,zero,zero + ucomiss xmm0, xmm11 + movss xmm0, dword ptr [rdx + 12] # xmm0 = mem[0],zero,zero,zero + seta r13b + ucomiss xmm0, xmm11 + seta r12b + movss xmm0, dword ptr [rdx + 16] # xmm0 = mem[0],zero,zero,zero + ucomiss xmm0, xmm11 + movss xmm0, dword ptr [rdx + 20] # xmm0 = mem[0],zero,zero,zero + seta byte ptr [rsp + 80] # 1-byte Folded Spill + ucomiss xmm0, xmm11 + seta byte ptr [rsp + 96] # 1-byte Folded Spill + movss xmm0, dword ptr [rdx + 24] # xmm0 = mem[0],zero,zero,zero + ucomiss xmm0, xmm11 + movss xmm0, dword ptr [rdx + 28] # xmm0 = mem[0],zero,zero,zero + seta byte ptr [rsp + 88] # 1-byte Folded Spill + ucomiss xmm0, xmm11 + seta byte ptr [rsp + 64] # 1-byte Folded Spill + movss xmm0, dword ptr [rdx + 32] # xmm0 = mem[0],zero,zero,zero + ucomiss xmm0, xmm11 + movss xmm0, dword ptr [rdx + 36] # xmm0 = mem[0],zero,zero,zero + seta byte ptr [rsp + 16] # 1-byte Folded Spill + ucomiss xmm0, xmm11 + seta al + movss xmm0, dword ptr [rdx + 40] # xmm0 = mem[0],zero,zero,zero + ucomiss xmm0, xmm11 + movss xmm0, dword ptr [rdx + 44] # xmm0 = mem[0],zero,zero,zero + seta byte ptr [rsp + 40] # 1-byte Folded Spill + ucomiss xmm0, xmm11 + seta byte ptr [rsp + 32] # 1-byte Folded Spill + movss xmm0, dword ptr [rdx + 48] # xmm0 = mem[0],zero,zero,zero + movss xmm2, dword ptr [rdx + 52] # xmm2 = mem[0],zero,zero,zero + ucomiss xmm0, xmm11 + movss xmm4, dword ptr [rdx + 56] # xmm4 = mem[0],zero,zero,zero + movss xmm5, dword ptr [rdx + 60] # xmm5 = mem[0],zero,zero,zero + seta byte ptr [rsp + 120] # 1-byte Folded Spill + movss xmm8, dword ptr [rdx + 64] # xmm8 = mem[0],zero,zero,zero + movss xmm9, dword ptr [rdx + 68] # xmm9 = mem[0],zero,zero,zero + ucomiss xmm2, xmm11 + movss xmm10, dword ptr [rdx + 72] # xmm10 = mem[0],zero,zero,zero + movss xmm12, dword ptr [rdx + 76] # xmm12 = mem[0],zero,zero,zero + seta byte ptr [rsp + 144] # 1-byte Folded Spill + movss xmm13, dword ptr [rdx + 80] # xmm13 = mem[0],zero,zero,zero + movss xmm14, dword ptr [rdx + 84] # xmm14 = mem[0],zero,zero,zero + ucomiss xmm4, xmm11 + movss xmm4, dword ptr [rdx + 88] # xmm4 = mem[0],zero,zero,zero + movss xmm0, dword ptr [rdx + 92] # xmm0 = mem[0],zero,zero,zero + seta byte ptr [rsp + 128] # 1-byte Folded Spill + movss xmm1, dword ptr [rdx + 96] # xmm1 = mem[0],zero,zero,zero + movss xmm2, dword ptr [rdx + 100] # xmm2 = mem[0],zero,zero,zero + ucomiss xmm5, xmm11 + movss xmm5, dword ptr [rdx + 104] # xmm5 = mem[0],zero,zero,zero + movss xmm3, dword ptr [rdx + 108] # xmm3 = mem[0],zero,zero,zero + seta r11b + movss xmm6, dword ptr [rdx + 112] # xmm6 = mem[0],zero,zero,zero + movss xmm7, dword ptr [rdx + 116] # xmm7 = mem[0],zero,zero,zero + ucomiss xmm8, xmm11 + seta byte ptr [rsp + 176] # 1-byte Folded Spill + ucomiss xmm9, xmm11 + seta cl + ucomiss xmm10, xmm11 + seta sil + ucomiss xmm12, xmm11 + seta r8b + ucomiss xmm13, xmm11 + seta r10b + ucomiss xmm14, xmm11 + seta r14b + ucomiss xmm4, xmm11 + seta byte ptr [rsp + 160] # 1-byte Folded Spill + ucomiss xmm0, xmm11 + seta r9b + ucomiss xmm1, xmm11 + seta byte ptr [rsp + 104] # 1-byte Folded Spill + ucomiss xmm2, xmm11 + seta r15b + ucomiss xmm5, xmm11 + seta byte ptr [rsp + 112] # 1-byte Folded Spill + ucomiss xmm3, xmm11 + seta byte ptr [rsp + 72] # 1-byte Folded Spill + ucomiss xmm6, xmm11 + seta byte ptr [rsp + 56] # 1-byte Folded Spill + ucomiss xmm7, xmm11 + movss xmm0, dword ptr [rdx + 120] # xmm0 = mem[0],zero,zero,zero + seta byte ptr [rsp + 48] # 1-byte Folded Spill + ucomiss xmm0, xmm11 + seta byte ptr [rsp + 8] # 1-byte Folded Spill + movss xmm0, dword ptr [rdx + 124] # xmm0 = mem[0],zero,zero,zero + sub rdx, -128 + ucomiss xmm0, xmm11 + seta dil + add bl, bl + add bl, byte ptr [rsp + 24] # 1-byte Folded Reload + shl r13b, 2 + or r13b, bl + shl r12b, 3 + or r12b, r13b + movzx ebx, byte ptr [rsp + 80] # 1-byte Folded Reload + shl bl, 4 + or bl, r12b + mov r12d, ebx + movzx ebx, byte ptr [rsp + 96] # 1-byte Folded Reload + shl bl, 5 + or bl, r12b + movzx r12d, byte ptr [rsp + 88] # 1-byte Folded Reload + shl r12b, 6 + movzx r13d, byte ptr [rsp + 64] # 1-byte Folded Reload + shl r13b, 7 + or r13b, r12b + add al, al + add al, byte ptr [rsp + 16] # 1-byte Folded Reload + movzx r12d, byte ptr [rsp + 40] # 1-byte Folded Reload + shl r12b, 2 + or r12b, al + mov eax, r12d + movzx r12d, byte ptr [rsp + 32] # 1-byte Folded Reload + shl r12b, 3 + or r12b, al + movzx eax, byte ptr [rsp + 120] # 1-byte Folded Reload + shl al, 4 + or al, r12b + or r13b, bl + movzx ebx, byte ptr [rsp + 144] # 1-byte Folded Reload + shl bl, 5 + or bl, al + movzx eax, byte ptr [rsp + 128] # 1-byte Folded Reload shl al, 6 shl r11b, 7 or r11b, al - shl r14b, 2 - or r14b, r8b - add dl, dl - add dl, byte ptr [rsp + 160] # 1-byte Folded Reload - shl r13b, 3 - or r13b, r14b + add cl, cl + add cl, byte ptr [rsp + 176] # 1-byte Folded Reload shl sil, 2 - or sil, dl - movzx edx, byte ptr [rsp + 112] # 1-byte Folded Reload - shl dl, 4 - or dl, r13b - mov r8d, edx - shl r9b, 3 - or r9b, sil - movzx edx, byte ptr [rsp + 88] # 1-byte Folded Reload - shl dl, 5 - or dl, r8b + or sil, cl + shl r8b, 3 + or r8b, sil shl r10b, 4 - or r10b, r9b - shl r12b, 5 - or r12b, r10b - movzx esi, byte ptr [rsp + 120] # 1-byte Folded Reload - shl sil, 6 - shl dil, 7 - or dil, sil - or r11b, dl - or dil, r12b - mov r14, qword ptr [rsp] # 8-byte Reload - movzx eax, byte ptr [rsp + 144] # 1-byte Folded Reload - add al, al - add al, byte ptr [rsp + 80] # 1-byte Folded Reload - movzx edx, byte ptr [rsp + 104] # 1-byte Folded Reload - shl dl, 2 - or dl, al - mov esi, edx - movzx edx, byte ptr [rsp + 96] # 1-byte Folded Reload - shl dl, 3 - or dl, sil - mov esi, edx - movzx edx, byte ptr [rsp + 64] # 1-byte Folded Reload - shl dl, 4 - or dl, sil - mov esi, edx - movzx edx, byte ptr [rsp + 72] # 1-byte Folded Reload - shl dl, 5 - or dl, sil - mov byte ptr [r14], r11b - movzx esi, byte ptr [rsp + 56] # 1-byte Folded Reload - shl sil, 6 - shl r15b, 7 - or r15b, sil - mov byte ptr [r14 + 1], dil - or r15b, dl - movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload - add al, al - add al, byte ptr [rsp + 8] # 1-byte Folded Reload - mov edx, eax - movzx eax, byte ptr [rsp + 24] # 1-byte Folded Reload + or r10b, r8b + shl r14b, 5 + or r14b, r10b + or r11b, bl + movzx eax, byte ptr [rsp + 160] # 1-byte Folded Reload + shl al, 6 + shl r9b, 7 + or r9b, al + mov rsi, qword ptr [rsp] # 8-byte Reload + mov byte ptr [rsi], r13b + or r9b, r14b + add r15b, r15b + add r15b, byte ptr [rsp + 104] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 112] # 1-byte Folded Reload shl al, 2 - or al, dl - mov edx, eax - movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload + or al, r15b + mov ecx, eax + movzx eax, byte ptr [rsp + 72] # 1-byte Folded Reload shl al, 3 - or al, dl - mov edx, eax - movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload + or al, cl + mov ecx, eax + movzx eax, byte ptr [rsp + 56] # 1-byte Folded Reload shl al, 4 - or al, dl - mov edx, eax - movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload - shl al, 5 - or al, dl - movzx edx, byte ptr [rsp + 128] # 1-byte Folded Reload - shl dl, 6 - shl cl, 7 - or cl, dl - or cl, al - mov byte ptr [r14 + 2], r15b - mov byte ptr [r14 + 3], cl - add rbx, 128 - add r14, 4 - add qword ptr [rsp + 192], -1 # 8-byte Folded Spill - jne .LBB7_184 -# %bb.185: + or al, cl + movzx ebx, byte ptr [rsp + 48] # 1-byte Folded Reload + shl bl, 5 + or bl, al + mov byte ptr [rsi + 1], r11b + movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload + shl al, 6 + shl dil, 7 + or dil, al + mov byte ptr [rsi + 2], r9b + or dil, bl + mov byte ptr [rsi + 3], dil + add rsi, 4 + mov qword ptr [rsp], rsi # 8-byte Spill + add qword ptr [rsp + 208], -1 # 8-byte Folded Spill + jne .LBB7_186 +# %bb.187: + mov r15, qword ptr [rsp] # 8-byte Reload mov r11, qword ptr [rsp + 136] # 8-byte Reload - mov r10, qword ptr [rsp + 176] # 8-byte Reload - jmp .LBB7_186 + mov r10, qword ptr [rsp + 192] # 8-byte Reload + jmp .LBB7_188 .LBB7_9: - mov qword ptr [rsp + 88], r12 # 8-byte Spill + mov rax, qword ptr [rsp] # 8-byte Reload + mov qword ptr [rsp + 96], rax # 8-byte Spill .LBB7_90: shl r10, 5 cmp r10, r11 - jge .LBB7_200 + jge .LBB7_202 # %bb.91: mov r8, r11 sub r8, r10 @@ -35984,49 +37332,65 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 xor r9d, r9d jmp .LBB7_96 .LBB7_61: - mov qword ptr [rsp + 72], r12 # 8-byte Spill - mov r14, rsi + mov rax, qword ptr [rsp] # 8-byte Reload + mov qword ptr [rsp + 120], rax # 8-byte Spill + mov r12, rsi .LBB7_72: - shl r10, 5 - cmp r10, r11 - jge .LBB7_200 + shl r15, 5 + cmp r15, r11 + jge .LBB7_202 # %bb.73: mov r8, r11 - sub r8, r10 - not r10 - add r10, r11 + sub r8, r15 + not r15 + add r15, r11 jne .LBB7_75 # %bb.74: xor eax, eax jmp .LBB7_78 -.LBB7_175: - mov r14, r12 - mov rbx, rsi -.LBB7_186: +.LBB7_119: + mov r14, qword ptr [rsp] # 8-byte Reload +.LBB7_130: + shl r15, 5 + cmp r15, r11 + jge .LBB7_202 +# %bb.131: + mov r8, r11 + sub r8, r15 + not r15 + add r15, r11 + jne .LBB7_135 +# %bb.132: + xor r15d, r15d + jmp .LBB7_133 +.LBB7_177: + mov r15, qword ptr [rsp] # 8-byte Reload + mov rdx, rsi +.LBB7_188: shl r10, 5 cmp r10, r11 - jge .LBB7_200 -# %bb.187: + jge .LBB7_202 +# %bb.189: mov r8, r11 sub r8, r10 not r10 add r10, r11 - jne .LBB7_191 -# %bb.188: + jne .LBB7_193 +# %bb.190: xor r11d, r11d - jmp .LBB7_189 -.LBB7_153: + jmp .LBB7_191 +.LBB7_155: mov r9, r8 and r9, -2 xor r11d, r11d + mov r14, qword ptr [rsp] # 8-byte Reload .p2align 4, 0x90 -.LBB7_154: # =>This Inner Loop Header: Depth=1 +.LBB7_156: # =>This Inner Loop Header: Depth=1 cmp r13, qword ptr [rsi] sbb edi, edi mov rdx, r11 shr rdx, 3 - mov r14, r12 - movzx r10d, byte ptr [r12 + rdx] + movzx r10d, byte ptr [r14 + rdx] mov ecx, r11d and cl, 6 mov al, 1 @@ -36034,7 +37398,7 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 xor dil, r10b and al, dil xor al, r10b - mov byte ptr [r12 + rdx], al + mov byte ptr [r14 + rdx], al add r11, 2 cmp r13, qword ptr [rsi + 8] lea rsi, [rsi + 16] @@ -36045,28 +37409,28 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 shl bl, cl and bl, dil xor bl, al - mov byte ptr [r12 + rdx], bl + mov byte ptr [r14 + rdx], bl cmp r9, r11 - jne .LBB7_154 + jne .LBB7_156 .LBB7_40: test r8b, 1 - je .LBB7_200 + je .LBB7_202 # %bb.41: cmp r13, qword ptr [rsi] - jmp .LBB7_197 -.LBB7_151: + jmp .LBB7_111 +.LBB7_153: mov r10, r8 and r10, -2 xor r11d, r11d + mov r14, qword ptr [rsp] # 8-byte Reload .p2align 4, 0x90 -.LBB7_152: # =>This Inner Loop Header: Depth=1 +.LBB7_154: # =>This Inner Loop Header: Depth=1 cmp dword ptr [rsi], r13d setg al neg al mov rdi, r11 shr rdi, 3 - mov r14, r12 - movzx r9d, byte ptr [r12 + rdi] + movzx r9d, byte ptr [r14 + rdi] mov ecx, r11d and cl, 6 mov bl, 1 @@ -36074,7 +37438,7 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 xor al, r9b and bl, al xor bl, r9b - mov byte ptr [r12 + rdi], bl + mov byte ptr [r14 + rdi], bl add r11, 2 cmp dword ptr [rsi + 4], r13d lea rsi, [rsi + 8] @@ -36086,24 +37450,24 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 shl dl, cl and dl, al xor dl, bl - mov byte ptr [r12 + rdi], dl + mov byte ptr [r14 + rdi], dl cmp r10, r11 - jne .LBB7_152 -.LBB7_148: + jne .LBB7_154 +.LBB7_150: test r8b, 1 - je .LBB7_200 -# %bb.149: + je .LBB7_202 +# %bb.151: cmp dword ptr [rsi], r13d - jmp .LBB7_150 + jmp .LBB7_152 .LBB7_93: mov r10, r8 and r10, -2 xor r9d, r9d - mov r11, qword ptr [rsp + 88] # 8-byte Reload + mov r11, qword ptr [rsp + 96] # 8-byte Reload .p2align 4, 0x90 .LBB7_94: # =>This Inner Loop Header: Depth=1 mov rax, r9 - cmp byte ptr [rsi + r9], r14b + cmp byte ptr [rsi + r9], r12b setg bl neg bl mov rdi, r9 @@ -36117,7 +37481,7 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 and dl, bl xor dl, r9b mov byte ptr [r11 + rdi], dl - cmp byte ptr [rsi + rax + 1], r14b + cmp byte ptr [rsi + rax + 1], r12b lea r9, [rax + 2] setg bl neg bl @@ -36134,14 +37498,14 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 add rsi, r9 .LBB7_96: test r8b, 1 - je .LBB7_200 + je .LBB7_202 # %bb.97: - cmp byte ptr [rsi], r14b + cmp byte ptr [rsi], r12b setg al neg al mov rdx, r9 shr rdx, 3 - mov r8, qword ptr [rsp + 88] # 8-byte Reload + mov r8, qword ptr [rsp + 96] # 8-byte Reload mov dil, byte ptr [r8 + rdx] and r9b, 7 mov bl, 1 @@ -36151,16 +37515,15 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 and bl, al xor bl, dil mov byte ptr [r8 + rdx], bl - jmp .LBB7_200 + jmp .LBB7_202 .LBB7_75: mov r9, r8 and r9, -2 xor eax, eax - mov r11, qword ptr [rsp + 72] # 8-byte Reload - mov r10b, byte ptr [rsp + 40] # 1-byte Reload + mov r11, qword ptr [rsp + 120] # 8-byte Reload .p2align 4, 0x90 .LBB7_76: # =>This Inner Loop Header: Depth=1 - cmp r10b, byte ptr [r14 + rax] + cmp r10b, byte ptr [r12 + rax] sbb esi, esi mov rdi, rax shr rdi, 3 @@ -36173,7 +37536,7 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 and dl, sil xor dl, bl mov byte ptr [r11 + rdi], dl - cmp r10b, byte ptr [r14 + rax + 1] + cmp r10b, byte ptr [r12 + rax + 1] lea rax, [rax + 2] sbb esi, esi xor sil, dl @@ -36186,17 +37549,16 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 cmp r9, rax jne .LBB7_76 # %bb.77: - add r14, rax + add r12, rax .LBB7_78: test r8b, 1 - je .LBB7_200 + je .LBB7_202 # %bb.79: - mov cl, byte ptr [rsp + 40] # 1-byte Reload - cmp cl, byte ptr [r14] + cmp r10b, byte ptr [r12] sbb edx, edx mov rsi, rax shr rsi, 3 - mov r8, qword ptr [rsp + 72] # 8-byte Reload + mov r8, qword ptr [rsp + 120] # 8-byte Reload mov dil, byte ptr [r8 + rsi] and al, 7 mov bl, 1 @@ -36206,19 +37568,19 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 and bl, dl xor bl, dil mov byte ptr [r8 + rsi], bl - jmp .LBB7_200 -.LBB7_135: + jmp .LBB7_202 +.LBB7_137: mov r9, r8 and r9, -2 xor r11d, r11d + mov r14, qword ptr [rsp] # 8-byte Reload .p2align 4, 0x90 -.LBB7_136: # =>This Inner Loop Header: Depth=1 +.LBB7_138: # =>This Inner Loop Header: Depth=1 cmp r13d, dword ptr [rsi] sbb edi, edi mov rdx, r11 shr rdx, 3 - mov r14, r12 - movzx r10d, byte ptr [r12 + rdx] + movzx r10d, byte ptr [r14 + rdx] mov ecx, r11d and cl, 6 mov al, 1 @@ -36226,7 +37588,7 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 xor dil, r10b and al, dil xor al, r10b - mov byte ptr [r12 + rdx], al + mov byte ptr [r14 + rdx], al add r11, 2 cmp r13d, dword ptr [rsi + 4] lea rsi, [rsi + 8] @@ -36237,66 +37599,80 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 shl bl, cl and bl, dil xor bl, al - mov byte ptr [r12 + rdx], bl + mov byte ptr [r14 + rdx], bl cmp r9, r11 - jne .LBB7_136 + jne .LBB7_138 .LBB7_24: test r8b, 1 - je .LBB7_200 + je .LBB7_202 # %bb.25: cmp r13d, dword ptr [rsi] - jmp .LBB7_197 -.LBB7_193: - mov r10, r8 - and r10, -2 - xor r11d, r11d + jmp .LBB7_111 +.LBB7_196: + mov r9, r8 + and r9, -2 + xor r10d, r10d + mov r11, qword ptr [rsp] # 8-byte Reload .p2align 4, 0x90 -.LBB7_194: # =>This Inner Loop Header: Depth=1 - ucomisd xmm0, qword ptr [rsi] - sbb eax, eax - mov rdi, r11 +.LBB7_197: # =>This Inner Loop Header: Depth=1 + movsd xmm1, qword ptr [rsi] # xmm1 = mem[0],zero + ucomisd xmm1, xmm0 + seta al + neg al + mov rdi, r10 shr rdi, 3 - mov r14, r12 - movzx r9d, byte ptr [r12 + rdi] - xor al, r9b - mov ecx, r11d + mov ecx, r10d and cl, 6 mov bl, 1 shl bl, cl + movzx edx, byte ptr [r11 + rdi] + xor al, dl and bl, al - xor bl, r9b - mov byte ptr [r12 + rdi], bl - add r11, 2 - ucomisd xmm0, qword ptr [rsi + 8] - lea rsi, [rsi + 16] - sbb eax, eax + xor bl, dl + mov byte ptr [r11 + rdi], bl + add r10, 2 + movsd xmm1, qword ptr [rsi + 8] # xmm1 = mem[0],zero + add rsi, 16 + ucomisd xmm1, xmm0 + seta al + neg al xor al, bl or cl, 1 mov dl, 1 shl dl, cl and dl, al xor dl, bl - mov byte ptr [r12 + rdi], dl - cmp r10, r11 - jne .LBB7_194 -.LBB7_195: + mov byte ptr [r11 + rdi], dl + cmp r9, r10 + jne .LBB7_197 +.LBB7_198: test r8b, 1 - je .LBB7_200 -# %bb.196: - ucomisd xmm0, qword ptr [rsi] - jmp .LBB7_197 -.LBB7_111: + je .LBB7_202 +# %bb.199: + movsd xmm1, qword ptr [rsi] # xmm1 = mem[0],zero + ucomisd xmm1, xmm0 + seta al + neg al + mov rdx, r10 + shr rdx, 3 + mov rdi, qword ptr [rsp] # 8-byte Reload + mov sil, byte ptr [rdi + rdx] + and r10b, 7 + mov bl, 1 + mov ecx, r10d + jmp .LBB7_200 +.LBB7_112: mov r9, r8 and r9, -2 xor r11d, r11d + mov r14, qword ptr [rsp] # 8-byte Reload .p2align 4, 0x90 -.LBB7_112: # =>This Inner Loop Header: Depth=1 +.LBB7_113: # =>This Inner Loop Header: Depth=1 cmp r13w, word ptr [rsi] sbb edi, edi mov rdx, r11 shr rdx, 3 - mov r14, r12 - movzx r10d, byte ptr [r12 + rdx] + movzx r10d, byte ptr [r14 + rdx] mov ecx, r11d and cl, 6 mov al, 1 @@ -36304,7 +37680,7 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 xor dil, r10b and al, dil xor al, r10b - mov byte ptr [r12 + rdx], al + mov byte ptr [r14 + rdx], al add r11, 2 cmp r13w, word ptr [rsi + 2] lea rsi, [rsi + 4] @@ -36315,94 +37691,40 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 shl bl, cl and bl, dil xor bl, al - mov byte ptr [r12 + rdx], bl + mov byte ptr [r14 + rdx], bl cmp r9, r11 - jne .LBB7_112 + jne .LBB7_113 .LBB7_109: test r8b, 1 - je .LBB7_200 + je .LBB7_202 # %bb.110: cmp r13w, word ptr [rsi] -.LBB7_197: +.LBB7_111: sbb eax, eax mov rdx, r11 shr rdx, 3 - mov sil, byte ptr [r12 + rdx] + mov rdi, qword ptr [rsp] # 8-byte Reload + mov sil, byte ptr [rdi + rdx] and r11b, 7 mov bl, 1 mov ecx, r11d shl bl, cl xor al, sil and bl, al - jmp .LBB7_198 -.LBB7_133: - mov r9, r8 - and r9, -2 - xor r14d, r14d - mov r11d, dword ptr [rsp + 240] # 4-byte Reload - .p2align 4, 0x90 -.LBB7_134: # =>This Inner Loop Header: Depth=1 - mov rax, rsi - cmp word ptr [rsi], r11w - setg dl - neg dl - mov rdi, r14 - shr rdi, 3 - movzx r10d, byte ptr [r12 + rdi] - mov ecx, r14d - and cl, 6 - mov bl, 1 - shl bl, cl - xor dl, r10b - and bl, dl - xor bl, r10b - mov byte ptr [r12 + rdi], bl - add r14, 2 - cmp word ptr [rsi + 2], r11w - lea rsi, [rsi + 4] - setg dl - neg dl - xor dl, bl - or cl, 1 - mov al, 1 - shl al, cl - and al, dl - xor al, bl - mov byte ptr [r12 + rdi], al - cmp r9, r14 - jne .LBB7_134 -.LBB7_131: - test r8b, 1 - je .LBB7_200 -# %bb.132: - mov eax, dword ptr [rsp + 240] # 4-byte Reload - cmp word ptr [rsi], ax - setg al - neg al - mov rdx, r14 - shr rdx, 3 - mov dil, byte ptr [r12 + rdx] - and r14b, 7 - mov bl, 1 - mov ecx, r14d - shl bl, cl - xor al, dil - and bl, al - xor bl, dil - jmp .LBB7_199 -.LBB7_168: + jmp .LBB7_201 +.LBB7_170: mov r10, r8 and r10, -2 xor r11d, r11d + mov r14, qword ptr [rsp] # 8-byte Reload .p2align 4, 0x90 -.LBB7_169: # =>This Inner Loop Header: Depth=1 +.LBB7_171: # =>This Inner Loop Header: Depth=1 cmp qword ptr [rsi], r13 setg al neg al mov rdi, r11 shr rdi, 3 - mov r14, r12 - movzx r9d, byte ptr [r12 + rdi] + movzx r9d, byte ptr [r14 + rdi] mov ecx, r11d and cl, 6 mov bl, 1 @@ -36410,7 +37732,7 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 xor al, r9b and bl, al xor bl, r9b - mov byte ptr [r12 + rdi], bl + mov byte ptr [r14 + rdi], bl add r11, 2 cmp qword ptr [rsi + 8], r13 lea rsi, [rsi + 16] @@ -36422,31 +37744,32 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 shl dl, cl and dl, al xor dl, bl - mov byte ptr [r12 + rdi], dl + mov byte ptr [r14 + rdi], dl cmp r10, r11 - jne .LBB7_169 -.LBB7_166: + jne .LBB7_171 +.LBB7_168: test r8b, 1 - je .LBB7_200 -# %bb.167: + je .LBB7_202 +# %bb.169: cmp qword ptr [rsi], r13 -.LBB7_150: +.LBB7_152: setg al neg al mov rdx, r11 shr rdx, 3 - mov sil, byte ptr [r12 + rdx] + mov rdi, qword ptr [rsp] # 8-byte Reload + mov sil, byte ptr [rdi + rdx] and r11b, 7 mov bl, 1 mov ecx, r11d +.LBB7_200: shl bl, cl xor al, sil and bl, al -.LBB7_198: +.LBB7_201: xor bl, sil -.LBB7_199: - mov byte ptr [r12 + rdx], bl -.LBB7_200: + mov byte ptr [rdi + rdx], bl +.LBB7_202: lea rsp, [rbp - 40] pop rbx pop r12 @@ -36455,56 +37778,122 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 pop r15 pop rbp ret -.LBB7_191: - mov r10, r8 - and r10, -2 - xor r11d, r11d +.LBB7_135: + mov r9, r8 + and r9, -2 + xor r15d, r15d + mov r11d, dword ptr [rsp + 240] # 4-byte Reload .p2align 4, 0x90 -.LBB7_192: # =>This Inner Loop Header: Depth=1 - ucomiss xmm11, dword ptr [rbx] - sbb edx, edx - mov rdi, r11 +.LBB7_136: # =>This Inner Loop Header: Depth=1 + mov rax, rsi + cmp word ptr [rsi], r11w + setg dl + neg dl + mov rdi, r15 shr rdi, 3 - movzx r9d, byte ptr [r14 + rdi] - xor dl, r9b - mov ecx, r11d + movzx r10d, byte ptr [r14 + rdi] + mov ecx, r15d and cl, 6 + mov bl, 1 + shl bl, cl + xor dl, r10b + and bl, dl + xor bl, r10b + mov byte ptr [r14 + rdi], bl + add r15, 2 + cmp word ptr [rsi + 2], r11w + lea rsi, [rsi + 4] + setg dl + neg dl + xor dl, bl + or cl, 1 mov al, 1 shl al, cl and al, dl - xor al, r9b + xor al, bl mov byte ptr [r14 + rdi], al - add r11, 2 - ucomiss xmm11, dword ptr [rbx + 4] - lea rbx, [rbx + 8] - sbb esi, esi - xor sil, al - or cl, 1 + cmp r9, r15 + jne .LBB7_136 +.LBB7_133: + test r8b, 1 + je .LBB7_202 +# %bb.134: + mov eax, dword ptr [rsp + 240] # 4-byte Reload + cmp word ptr [rsi], ax + setg al + neg al + mov rdx, r15 + shr rdx, 3 + mov dil, byte ptr [r14 + rdx] + and r15b, 7 + mov bl, 1 + mov ecx, r15d + shl bl, cl + xor al, dil + and bl, al + xor bl, dil + mov byte ptr [r14 + rdx], bl + jmp .LBB7_202 +.LBB7_193: + mov r9, r8 + and r9, -2 + xor r11d, r11d + mov r10, r15 + mov rsi, rdx + .p2align 4, 0x90 +.LBB7_194: # =>This Inner Loop Header: Depth=1 + movss xmm0, dword ptr [rsi] # xmm0 = mem[0],zero,zero,zero + ucomiss xmm0, xmm11 + seta bl + neg bl + mov rdi, r11 + shr rdi, 3 + mov ecx, r11d + and cl, 6 mov dl, 1 shl dl, cl - and dl, sil + movzx eax, byte ptr [r10 + rdi] + xor bl, al + and dl, bl xor dl, al - mov byte ptr [r14 + rdi], dl - cmp r10, r11 - jne .LBB7_192 -.LBB7_189: + mov byte ptr [r10 + rdi], dl + add r11, 2 + movss xmm0, dword ptr [rsi + 4] # xmm0 = mem[0],zero,zero,zero + add rsi, 8 + ucomiss xmm0, xmm11 + seta al + neg al + xor al, dl + or cl, 1 + mov bl, 1 + shl bl, cl + and bl, al + xor bl, dl + mov byte ptr [r10 + rdi], bl + cmp r9, r11 + jne .LBB7_194 +# %bb.195: + mov rdx, rsi +.LBB7_191: test r8b, 1 - je .LBB7_200 -# %bb.190: - ucomiss xmm11, dword ptr [rbx] - sbb eax, eax + je .LBB7_202 +# %bb.192: + movss xmm0, dword ptr [rdx] # xmm0 = mem[0],zero,zero,zero + ucomiss xmm0, xmm11 + seta al + neg al mov rdx, r11 shr rdx, 3 - mov sil, byte ptr [r14 + rdx] + mov dil, byte ptr [r15 + rdx] and r11b, 7 mov bl, 1 mov ecx, r11d shl bl, cl - xor al, sil + xor al, dil and bl, al - xor bl, sil - mov byte ptr [r14 + rdx], bl - jmp .LBB7_200 + xor bl, dil + mov byte ptr [r15 + rdx], bl + jmp .LBB7_202 .LBB7_84: and r10, -16 mov rax, r10 @@ -36512,31 +37901,31 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 add rax, rsi mov qword ptr [rsp + 264], rax # 8-byte Spill mov qword ptr [rsp + 232], r10 # 8-byte Spill - lea rax, [r12 + 4*r10] - mov qword ptr [rsp + 88], rax # 8-byte Spill - movzx eax, r14b + mov rax, qword ptr [rsp] # 8-byte Reload + lea rax, [rax + 4*r10] + mov qword ptr [rsp + 96], rax # 8-byte Spill + movzx eax, r12b movd xmm1, eax pxor xmm0, xmm0 pshufb xmm1, xmm0 - movdqa xmmword ptr [rsp + 160], xmm1 # 16-byte Spill + movdqa xmmword ptr [rsp + 144], xmm1 # 16-byte Spill xor eax, eax - mov qword ptr [rsp + 128], r12 # 8-byte Spill .p2align 4, 0x90 .LBB7_85: # =>This Inner Loop Header: Depth=1 mov rdi, rax mov qword ptr [rsp + 240], rax # 8-byte Spill shl rdi, 5 - mov r8, rdi - mov rdx, rdi - mov r9, rdi mov r12, rdi + mov rdx, rdi mov r11, rdi + mov r9, rdi mov rax, rdi - mov qword ptr [rsp + 32], rdi # 8-byte Spill + mov r8, rdi mov r14, rdi mov r10, rdi mov r15, rdi mov rbx, rdi + mov qword ptr [rsp + 56], rdi # 8-byte Spill movzx ecx, byte ptr [rsi + rdi] movd xmm15, ecx movzx ecx, byte ptr [rsi + rdi + 1] @@ -36553,15 +37942,15 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 movd xmm3, ecx movzx ecx, byte ptr [rsi + rdi + 7] movd xmm0, ecx - movdqa xmmword ptr [rsp + 208], xmm0 # 16-byte Spill + movdqa xmmword ptr [rsp + 160], xmm0 # 16-byte Spill movzx ecx, byte ptr [rsi + rdi + 8] movd xmm0, ecx - movdqa xmmword ptr [rsp + 272], xmm0 # 16-byte Spill + movdqa xmmword ptr [rsp + 304], xmm0 # 16-byte Spill movzx ecx, byte ptr [rsi + rdi + 9] movd xmm10, ecx movzx ecx, byte ptr [rsi + rdi + 10] movd xmm0, ecx - movdqa xmmword ptr [rsp + 144], xmm0 # 16-byte Spill + movdqa xmmword ptr [rsp + 176], xmm0 # 16-byte Spill movzx ecx, byte ptr [rsi + rdi + 11] movd xmm11, ecx movzx ecx, byte ptr [rsi + rdi + 12] @@ -36570,113 +37959,116 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 movd xmm12, ecx movzx ecx, byte ptr [rsi + rdi + 14] movd xmm0, ecx - movdqa xmmword ptr [rsp + 304], xmm0 # 16-byte Spill + movdqa xmmword ptr [rsp + 272], xmm0 # 16-byte Spill + mov qword ptr [rsp + 40], rdi # 8-byte Spill mov r13, rdi or r13, 32 - mov qword ptr [rsp + 40], r13 # 8-byte Spill - or r8, 64 + mov qword ptr [rsp + 32], r13 # 8-byte Spill + or r12, 64 or rdx, 96 - mov qword ptr [rsp + 120], rdx # 8-byte Spill - or r9, 128 - or r12, 160 - or r11, 192 + mov qword ptr [rsp + 104], rdx # 8-byte Spill + or r11, 128 mov qword ptr [rsp + 64], r11 # 8-byte Spill - or rax, 224 - mov qword ptr [rsp + 72], rax # 8-byte Spill - mov r11, qword ptr [rsp + 32] # 8-byte Reload - or r11, 256 - or r14, 288 - or r10, 320 - or r15, 352 - mov qword ptr [rsp + 80], r15 # 8-byte Spill - or rbx, 384 + mov r11, rdi + or r11, 160 + or rax, 192 + mov qword ptr [rsp + 80], rax # 8-byte Spill + or r9, 224 + or r14, 256 + mov qword ptr [rsp + 128], r14 # 8-byte Spill + or r10, 288 + mov qword ptr [rsp + 120], r10 # 8-byte Spill + or r8, 320 + mov qword ptr [rsp + 72], r8 # 8-byte Spill + or rbx, 352 + mov qword ptr [rsp + 88], rbx # 8-byte Spill + mov rcx, qword ptr [rsp + 56] # 8-byte Reload + or rcx, 384 + mov qword ptr [rsp + 56], rcx # 8-byte Spill mov rax, rdi or rax, 416 - mov qword ptr [rsp + 8], rax # 8-byte Spill + mov qword ptr [rsp + 16], rax # 8-byte Spill mov rax, rdi - mov rcx, rdi - mov qword ptr [rsp + 24], rdi # 8-byte Spill or rax, 448 - mov qword ptr [rsp + 16], rax # 8-byte Spill - or rcx, 480 - mov qword ptr [rsp + 48], rcx # 8-byte Spill + mov qword ptr [rsp + 24], rax # 8-byte Spill + mov rax, rdi + or rax, 480 + mov qword ptr [rsp + 48], rax # 8-byte Spill pinsrb xmm15, byte ptr [rsi + r13], 1 - pinsrb xmm15, byte ptr [rsi + r8], 2 + pinsrb xmm15, byte ptr [rsi + r12], 2 pinsrb xmm15, byte ptr [rsi + rdx], 3 - mov rdi, r9 - mov qword ptr [rsp + 56], r9 # 8-byte Spill - pinsrb xmm15, byte ptr [rsi + r9], 4 - pinsrb xmm15, byte ptr [rsi + r12], 5 - mov r9, qword ptr [rsp + 64] # 8-byte Reload - pinsrb xmm15, byte ptr [rsi + r9], 6 - mov r13, qword ptr [rsp + 72] # 8-byte Reload - pinsrb xmm15, byte ptr [rsi + r13], 7 - mov qword ptr [rsp + 32], r11 # 8-byte Spill - pinsrb xmm15, byte ptr [rsi + r11], 8 - pinsrb xmm15, byte ptr [rsi + r14], 9 - pinsrb xmm15, byte ptr [rsi + r10], 10 - pinsrb xmm15, byte ptr [rsi + r15], 11 - pinsrb xmm15, byte ptr [rsi + rbx], 12 - mov rdx, qword ptr [rsp + 8] # 8-byte Reload + mov r13, qword ptr [rsp + 64] # 8-byte Reload + pinsrb xmm15, byte ptr [rsi + r13], 4 + mov rdi, r11 + pinsrb xmm15, byte ptr [rsi + r11], 5 + mov r15, qword ptr [rsp + 80] # 8-byte Reload + pinsrb xmm15, byte ptr [rsi + r15], 6 + pinsrb xmm15, byte ptr [rsi + r9], 7 + pinsrb xmm15, byte ptr [rsi + r14], 8 + pinsrb xmm15, byte ptr [rsi + r10], 9 + pinsrb xmm15, byte ptr [rsi + r8], 10 + pinsrb xmm15, byte ptr [rsi + rbx], 11 + pinsrb xmm15, byte ptr [rsi + rcx], 12 + mov rdx, qword ptr [rsp + 16] # 8-byte Reload pinsrb xmm15, byte ptr [rsi + rdx], 13 - pinsrb xmm15, byte ptr [rsi + rax], 14 - pinsrb xmm15, byte ptr [rsi + rcx], 15 - mov r11, qword ptr [rsp + 40] # 8-byte Reload + mov rdx, qword ptr [rsp + 24] # 8-byte Reload + pinsrb xmm15, byte ptr [rsi + rdx], 14 + pinsrb xmm15, byte ptr [rsi + rax], 15 + mov r11, qword ptr [rsp + 32] # 8-byte Reload pinsrb xmm5, byte ptr [rsi + r11 + 1], 1 - pinsrb xmm5, byte ptr [rsi + r8 + 1], 2 - mov r11, r8 - mov r8, qword ptr [rsp + 120] # 8-byte Reload - pinsrb xmm5, byte ptr [rsi + r8 + 1], 3 - pinsrb xmm5, byte ptr [rsi + rdi + 1], 4 - pinsrb xmm5, byte ptr [rsi + r12 + 1], 5 - mov rdi, r12 - pinsrb xmm5, byte ptr [rsi + r9 + 1], 6 - pinsrb xmm5, byte ptr [rsi + r13 + 1], 7 - mov r12, r13 - mov rdx, qword ptr [rsp + 32] # 8-byte Reload - pinsrb xmm5, byte ptr [rsi + rdx + 1], 8 - pinsrb xmm5, byte ptr [rsi + r14 + 1], 9 - mov r9, r14 - pinsrb xmm5, byte ptr [rsi + r10 + 1], 10 - pinsrb xmm5, byte ptr [rsi + r15 + 1], 11 - pinsrb xmm5, byte ptr [rsi + rbx + 1], 12 - mov r13, rbx - mov qword ptr [rsp + 192], rbx # 8-byte Spill - mov r15, qword ptr [rsp + 8] # 8-byte Reload - pinsrb xmm5, byte ptr [rsi + r15 + 1], 13 - pinsrb xmm5, byte ptr [rsi + rax + 1], 14 - pinsrb xmm5, byte ptr [rsi + rcx + 1], 15 - movdqa xmm9, xmmword ptr [rsp + 160] # 16-byte Reload + pinsrb xmm5, byte ptr [rsi + r12 + 1], 2 + mov r11, qword ptr [rsp + 104] # 8-byte Reload + pinsrb xmm5, byte ptr [rsi + r11 + 1], 3 + pinsrb xmm5, byte ptr [rsi + r13 + 1], 4 + pinsrb xmm5, byte ptr [rsi + rdi + 1], 5 + pinsrb xmm5, byte ptr [rsi + r15 + 1], 6 + pinsrb xmm5, byte ptr [rsi + r9 + 1], 7 + mov r13, r9 + pinsrb xmm5, byte ptr [rsi + r14 + 1], 8 + pinsrb xmm5, byte ptr [rsi + r10 + 1], 9 + pinsrb xmm5, byte ptr [rsi + r8 + 1], 10 + pinsrb xmm5, byte ptr [rsi + rbx + 1], 11 + pinsrb xmm5, byte ptr [rsi + rcx + 1], 12 + mov rcx, qword ptr [rsp + 16] # 8-byte Reload + pinsrb xmm5, byte ptr [rsi + rcx + 1], 13 + pinsrb xmm5, byte ptr [rsi + rdx + 1], 14 + pinsrb xmm5, byte ptr [rsi + rax + 1], 15 + movdqa xmm9, xmmword ptr [rsp + 144] # 16-byte Reload pcmpgtb xmm5, xmm9 movdqa xmm7, xmm5 movdqa xmm4, xmmword ptr [rip + .LCPI7_10] # xmm4 = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1] pand xmm7, xmm4 psubb xmm7, xmm5 - mov rax, qword ptr [rsp + 24] # 8-byte Reload + mov rax, qword ptr [rsp + 40] # 8-byte Reload movzx ebx, byte ptr [rsi + rax + 15] movd xmm14, ebx pcmpgtb xmm15, xmm9 - mov rdx, qword ptr [rsp + 40] # 8-byte Reload - pinsrb xmm6, byte ptr [rsi + rdx + 2], 1 - pinsrb xmm6, byte ptr [rsi + r11 + 2], 2 - mov rcx, r8 - pinsrb xmm6, byte ptr [rsi + r8 + 2], 3 - mov r14, qword ptr [rsp + 56] # 8-byte Reload - pinsrb xmm6, byte ptr [rsi + r14 + 2], 4 - pinsrb xmm6, byte ptr [rsi + rdi + 2], 5 + mov r14, qword ptr [rsp + 32] # 8-byte Reload + pinsrb xmm6, byte ptr [rsi + r14 + 2], 1 + mov rcx, r12 + pinsrb xmm6, byte ptr [rsi + r12 + 2], 2 + mov rdx, r11 + pinsrb xmm6, byte ptr [rsi + r11 + 2], 3 mov r8, qword ptr [rsp + 64] # 8-byte Reload - pinsrb xmm6, byte ptr [rsi + r8 + 2], 6 - pinsrb xmm6, byte ptr [rsi + r12 + 2], 7 - mov rbx, qword ptr [rsp + 32] # 8-byte Reload - pinsrb xmm6, byte ptr [rsi + rbx + 2], 8 - mov qword ptr [rsp + 176], r9 # 8-byte Spill - pinsrb xmm6, byte ptr [rsi + r9 + 2], 9 - pinsrb xmm6, byte ptr [rsi + r10 + 2], 10 + pinsrb xmm6, byte ptr [rsi + r8 + 2], 4 + pinsrb xmm6, byte ptr [rsi + rdi + 2], 5 mov r12, qword ptr [rsp + 80] # 8-byte Reload - pinsrb xmm6, byte ptr [rsi + r12 + 2], 11 - pinsrb xmm6, byte ptr [rsi + r13 + 2], 12 - pinsrb xmm6, byte ptr [rsi + r15 + 2], 13 + pinsrb xmm6, byte ptr [rsi + r12 + 2], 6 + mov qword ptr [rsp + 192], r9 # 8-byte Spill + pinsrb xmm6, byte ptr [rsi + r9 + 2], 7 + mov r10, qword ptr [rsp + 128] # 8-byte Reload + pinsrb xmm6, byte ptr [rsi + r10 + 2], 8 + mov r11, qword ptr [rsp + 120] # 8-byte Reload + pinsrb xmm6, byte ptr [rsi + r11 + 2], 9 + mov r15, qword ptr [rsp + 72] # 8-byte Reload + pinsrb xmm6, byte ptr [rsi + r15 + 2], 10 + mov rbx, qword ptr [rsp + 88] # 8-byte Reload + pinsrb xmm6, byte ptr [rsi + rbx + 2], 11 + mov rbx, qword ptr [rsp + 56] # 8-byte Reload + pinsrb xmm6, byte ptr [rsi + rbx + 2], 12 mov rbx, qword ptr [rsp + 16] # 8-byte Reload + pinsrb xmm6, byte ptr [rsi + rbx + 2], 13 + mov rbx, qword ptr [rsp + 24] # 8-byte Reload pinsrb xmm6, byte ptr [rsi + rbx + 2], 14 mov rbx, qword ptr [rsp + 48] # 8-byte Reload pinsrb xmm6, byte ptr [rsi + rbx + 2], 15 @@ -36687,55 +38079,54 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 por xmm6, xmm15 movzx ebx, byte ptr [rsi + rax + 16] movd xmm15, ebx - mov rax, rdx - pinsrb xmm2, byte ptr [rsi + rdx + 3], 1 - mov r13, r11 - pinsrb xmm2, byte ptr [rsi + r11 + 3], 2 - mov r11, rcx - pinsrb xmm2, byte ptr [rsi + rcx + 3], 3 - pinsrb xmm2, byte ptr [rsi + r14 + 3], 4 + pinsrb xmm2, byte ptr [rsi + r14 + 3], 1 + pinsrb xmm2, byte ptr [rsi + rcx + 3], 2 + mov rbx, rdx + pinsrb xmm2, byte ptr [rsi + rdx + 3], 3 + mov r9, r8 + pinsrb xmm2, byte ptr [rsi + r8 + 3], 4 mov rdx, rdi - mov qword ptr [rsp + 104], rdi # 8-byte Spill + mov qword ptr [rsp + 112], rdi # 8-byte Spill pinsrb xmm2, byte ptr [rsi + rdi + 3], 5 - mov rcx, r8 - pinsrb xmm2, byte ptr [rsi + r8 + 3], 6 - mov rdi, qword ptr [rsp + 72] # 8-byte Reload - pinsrb xmm2, byte ptr [rsi + rdi + 3], 7 - mov r8, qword ptr [rsp + 32] # 8-byte Reload - pinsrb xmm2, byte ptr [rsi + r8 + 3], 8 - pinsrb xmm2, byte ptr [rsi + r9 + 3], 9 - pinsrb xmm2, byte ptr [rsi + r10 + 3], 10 + mov rdi, r12 + pinsrb xmm2, byte ptr [rsi + r12 + 3], 6 + pinsrb xmm2, byte ptr [rsi + r13 + 3], 7 + pinsrb xmm2, byte ptr [rsi + r10 + 3], 8 + pinsrb xmm2, byte ptr [rsi + r11 + 3], 9 + pinsrb xmm2, byte ptr [rsi + r15 + 3], 10 + mov r12, qword ptr [rsp + 88] # 8-byte Reload pinsrb xmm2, byte ptr [rsi + r12 + 3], 11 - mov r12, qword ptr [rsp + 192] # 8-byte Reload - pinsrb xmm2, byte ptr [rsi + r12 + 3], 12 - pinsrb xmm2, byte ptr [rsi + r15 + 3], 13 - mov rbx, qword ptr [rsp + 16] # 8-byte Reload - pinsrb xmm2, byte ptr [rsi + rbx + 3], 14 - mov rbx, qword ptr [rsp + 48] # 8-byte Reload - pinsrb xmm2, byte ptr [rsi + rbx + 3], 15 - pinsrb xmm1, byte ptr [rsi + rax + 4], 1 - pinsrb xmm1, byte ptr [rsi + r13 + 4], 2 - mov qword ptr [rsp + 96], r13 # 8-byte Spill - pinsrb xmm1, byte ptr [rsi + r11 + 4], 3 - pinsrb xmm1, byte ptr [rsi + r14 + 4], 4 + mov r13, qword ptr [rsp + 56] # 8-byte Reload + pinsrb xmm2, byte ptr [rsi + r13 + 3], 12 + mov rax, qword ptr [rsp + 16] # 8-byte Reload + pinsrb xmm2, byte ptr [rsi + rax + 3], 13 + mov r8, qword ptr [rsp + 24] # 8-byte Reload + pinsrb xmm2, byte ptr [rsi + r8 + 3], 14 + mov r8, qword ptr [rsp + 48] # 8-byte Reload + pinsrb xmm2, byte ptr [rsi + r8 + 3], 15 + pinsrb xmm1, byte ptr [rsi + r14 + 4], 1 + pinsrb xmm1, byte ptr [rsi + rcx + 4], 2 + pinsrb xmm1, byte ptr [rsi + rbx + 4], 3 + pinsrb xmm1, byte ptr [rsi + r9 + 4], 4 pinsrb xmm1, byte ptr [rsi + rdx + 4], 5 - pinsrb xmm1, byte ptr [rsi + rcx + 4], 6 - pinsrb xmm1, byte ptr [rsi + rdi + 4], 7 - pinsrb xmm1, byte ptr [rsi + r8 + 4], 8 - pinsrb xmm1, byte ptr [rsi + r9 + 4], 9 - pinsrb xmm1, byte ptr [rsi + r10 + 4], 10 - mov qword ptr [rsp + 112], r10 # 8-byte Spill - mov rax, qword ptr [rsp + 80] # 8-byte Reload - pinsrb xmm1, byte ptr [rsi + rax + 4], 11 - pinsrb xmm1, byte ptr [rsi + r12 + 4], 12 - pinsrb xmm1, byte ptr [rsi + r15 + 4], 13 - mov r8, r15 - mov rdx, qword ptr [rsp + 16] # 8-byte Reload - pinsrb xmm1, byte ptr [rsi + rdx + 4], 14 - pinsrb xmm1, byte ptr [rsi + rbx + 4], 15 + pinsrb xmm1, byte ptr [rsi + rdi + 4], 6 + mov rax, qword ptr [rsp + 192] # 8-byte Reload + pinsrb xmm1, byte ptr [rsi + rax + 4], 7 + pinsrb xmm1, byte ptr [rsi + r10 + 4], 8 + pinsrb xmm1, byte ptr [rsi + r11 + 4], 9 + pinsrb xmm1, byte ptr [rsi + r15 + 4], 10 + pinsrb xmm1, byte ptr [rsi + r12 + 4], 11 + pinsrb xmm1, byte ptr [rsi + r13 + 4], 12 + mov rax, qword ptr [rsp + 16] # 8-byte Reload + pinsrb xmm1, byte ptr [rsi + rax + 4], 13 + mov r14, qword ptr [rsp + 24] # 8-byte Reload + pinsrb xmm1, byte ptr [rsi + r14 + 4], 14 + mov rdx, r8 + pinsrb xmm1, byte ptr [rsi + r8 + 4], 15 + mov r15, r8 por xmm6, xmm7 - mov rax, qword ptr [rsp + 24] # 8-byte Reload - movzx ebx, byte ptr [rsi + rax + 17] + mov rdx, qword ptr [rsp + 40] # 8-byte Reload + movzx ebx, byte ptr [rsi + rdx + 17] movd xmm0, ebx pcmpgtb xmm2, xmm9 movdqa xmm5, xmmword ptr [rip + .LCPI7_12] # xmm5 = [8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8] @@ -36744,90 +38135,92 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 movdqa xmm5, xmmword ptr [rip + .LCPI7_13] # xmm5 = [16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16] pand xmm1, xmm5 por xmm1, xmm2 - movzx ebx, byte ptr [rsi + rax + 18] + movzx ebx, byte ptr [rsi + rdx + 18] movd xmm5, ebx - mov rcx, qword ptr [rsp + 40] # 8-byte Reload - pinsrb xmm8, byte ptr [rsi + rcx + 5], 1 - pinsrb xmm8, byte ptr [rsi + r13 + 5], 2 - pinsrb xmm8, byte ptr [rsi + r11 + 5], 3 - pinsrb xmm8, byte ptr [rsi + r14 + 5], 4 + mov r8, qword ptr [rsp + 32] # 8-byte Reload + pinsrb xmm8, byte ptr [rsi + r8 + 5], 1 + pinsrb xmm8, byte ptr [rsi + rcx + 5], 2 mov rdi, qword ptr [rsp + 104] # 8-byte Reload - pinsrb xmm8, byte ptr [rsi + rdi + 5], 5 - mov rbx, qword ptr [rsp + 64] # 8-byte Reload - pinsrb xmm8, byte ptr [rsi + rbx + 5], 6 - mov r9, qword ptr [rsp + 72] # 8-byte Reload - pinsrb xmm8, byte ptr [rsi + r9 + 5], 7 - mov r12, qword ptr [rsp + 32] # 8-byte Reload + pinsrb xmm8, byte ptr [rsi + rdi + 5], 3 + mov r9, qword ptr [rsp + 64] # 8-byte Reload + pinsrb xmm8, byte ptr [rsi + r9 + 5], 4 + mov rdx, qword ptr [rsp + 112] # 8-byte Reload + pinsrb xmm8, byte ptr [rsi + rdx + 5], 5 + mov r10, qword ptr [rsp + 80] # 8-byte Reload + pinsrb xmm8, byte ptr [rsi + r10 + 5], 6 + mov r11, qword ptr [rsp + 192] # 8-byte Reload + pinsrb xmm8, byte ptr [rsi + r11 + 5], 7 + mov r12, qword ptr [rsp + 128] # 8-byte Reload pinsrb xmm8, byte ptr [rsi + r12 + 5], 8 - mov r13, qword ptr [rsp + 176] # 8-byte Reload + mov r13, qword ptr [rsp + 120] # 8-byte Reload pinsrb xmm8, byte ptr [rsi + r13 + 5], 9 - pinsrb xmm8, byte ptr [rsi + r10 + 5], 10 - mov r15, qword ptr [rsp + 80] # 8-byte Reload - pinsrb xmm8, byte ptr [rsi + r15 + 5], 11 - mov rbx, qword ptr [rsp + 192] # 8-byte Reload + mov rbx, qword ptr [rsp + 72] # 8-byte Reload + pinsrb xmm8, byte ptr [rsi + rbx + 5], 10 + mov rbx, qword ptr [rsp + 88] # 8-byte Reload + pinsrb xmm8, byte ptr [rsi + rbx + 5], 11 + mov rbx, qword ptr [rsp + 56] # 8-byte Reload pinsrb xmm8, byte ptr [rsi + rbx + 5], 12 - pinsrb xmm8, byte ptr [rsi + r8 + 5], 13 - pinsrb xmm8, byte ptr [rsi + rdx + 5], 14 - mov r14, qword ptr [rsp + 48] # 8-byte Reload - pinsrb xmm8, byte ptr [rsi + r14 + 5], 15 + pinsrb xmm8, byte ptr [rsi + rax + 5], 13 + pinsrb xmm8, byte ptr [rsi + r14 + 5], 14 + mov rax, r15 + pinsrb xmm8, byte ptr [rsi + r15 + 5], 15 pcmpgtb xmm8, xmm9 movdqa xmm2, xmmword ptr [rip + .LCPI7_14] # xmm2 = [32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32] pand xmm8, xmm2 por xmm8, xmm1 + mov rax, qword ptr [rsp + 40] # 8-byte Reload movzx ebx, byte ptr [rsi + rax + 19] movd xmm7, ebx por xmm8, xmm6 movzx ebx, byte ptr [rsi + rax + 20] movd xmm6, ebx - pinsrb xmm3, byte ptr [rsi + rcx + 6], 1 - mov r10, rcx - mov rax, qword ptr [rsp + 96] # 8-byte Reload - pinsrb xmm3, byte ptr [rsi + rax + 6], 2 - pinsrb xmm3, byte ptr [rsi + r11 + 6], 3 - mov rax, qword ptr [rsp + 56] # 8-byte Reload - pinsrb xmm3, byte ptr [rsi + rax + 6], 4 - mov r8, rdi - pinsrb xmm3, byte ptr [rsi + rdi + 6], 5 - mov rcx, qword ptr [rsp + 64] # 8-byte Reload - pinsrb xmm3, byte ptr [rsi + rcx + 6], 6 - pinsrb xmm3, byte ptr [rsi + r9 + 6], 7 + pinsrb xmm3, byte ptr [rsi + r8 + 6], 1 + pinsrb xmm3, byte ptr [rsi + rcx + 6], 2 + mov r14, rdi + pinsrb xmm3, byte ptr [rsi + rdi + 6], 3 + mov r15, r9 + pinsrb xmm3, byte ptr [rsi + r9 + 6], 4 + pinsrb xmm3, byte ptr [rsi + rdx + 6], 5 + mov rdi, r10 + pinsrb xmm3, byte ptr [rsi + r10 + 6], 6 + mov r9, r11 + pinsrb xmm3, byte ptr [rsi + r11 + 6], 7 + mov r10, r12 pinsrb xmm3, byte ptr [rsi + r12 + 6], 8 - mov r9, r12 - mov rax, r13 + mov rbx, r13 pinsrb xmm3, byte ptr [rsi + r13 + 6], 9 - mov rdi, qword ptr [rsp + 112] # 8-byte Reload - pinsrb xmm3, byte ptr [rsi + rdi + 6], 10 - mov rbx, r15 - pinsrb xmm3, byte ptr [rsi + r15 + 6], 11 - mov r12, qword ptr [rsp + 192] # 8-byte Reload - pinsrb xmm3, byte ptr [rsi + r12 + 6], 12 - mov rdx, qword ptr [rsp + 8] # 8-byte Reload - pinsrb xmm3, byte ptr [rsi + rdx + 6], 13 - mov r15, qword ptr [rsp + 16] # 8-byte Reload - pinsrb xmm3, byte ptr [rsi + r15 + 6], 14 - pinsrb xmm3, byte ptr [rsi + r14 + 6], 15 - movdqa xmm2, xmmword ptr [rsp + 208] # 16-byte Reload - pinsrb xmm2, byte ptr [rsi + r10 + 7], 1 - mov r13, qword ptr [rsp + 96] # 8-byte Reload - pinsrb xmm2, byte ptr [rsi + r13 + 7], 2 - pinsrb xmm2, byte ptr [rsi + r11 + 7], 3 - mov r10, qword ptr [rsp + 56] # 8-byte Reload - pinsrb xmm2, byte ptr [rsi + r10 + 7], 4 - pinsrb xmm2, byte ptr [rsi + r8 + 7], 5 - mov rdx, r8 - pinsrb xmm2, byte ptr [rsi + rcx + 7], 6 - mov rcx, qword ptr [rsp + 72] # 8-byte Reload - pinsrb xmm2, byte ptr [rsi + rcx + 7], 7 - pinsrb xmm2, byte ptr [rsi + r9 + 7], 8 - pinsrb xmm2, byte ptr [rsi + rax + 7], 9 - pinsrb xmm2, byte ptr [rsi + rdi + 7], 10 - pinsrb xmm2, byte ptr [rsi + rbx + 7], 11 - pinsrb xmm2, byte ptr [rsi + r12 + 7], 12 - mov r11, qword ptr [rsp + 8] # 8-byte Reload + mov rdx, qword ptr [rsp + 72] # 8-byte Reload + pinsrb xmm3, byte ptr [rsi + rdx + 6], 10 + mov r12, qword ptr [rsp + 88] # 8-byte Reload + pinsrb xmm3, byte ptr [rsi + r12 + 6], 11 + mov r13, qword ptr [rsp + 56] # 8-byte Reload + pinsrb xmm3, byte ptr [rsi + r13 + 6], 12 + mov r11, qword ptr [rsp + 16] # 8-byte Reload + pinsrb xmm3, byte ptr [rsi + r11 + 6], 13 + mov rax, qword ptr [rsp + 24] # 8-byte Reload + pinsrb xmm3, byte ptr [rsi + rax + 6], 14 + mov rax, qword ptr [rsp + 48] # 8-byte Reload + pinsrb xmm3, byte ptr [rsi + rax + 6], 15 + movdqa xmm2, xmmword ptr [rsp + 160] # 16-byte Reload + pinsrb xmm2, byte ptr [rsi + r8 + 7], 1 + pinsrb xmm2, byte ptr [rsi + rcx + 7], 2 + pinsrb xmm2, byte ptr [rsi + r14 + 7], 3 + pinsrb xmm2, byte ptr [rsi + r15 + 7], 4 + mov r14, r15 + mov rax, qword ptr [rsp + 112] # 8-byte Reload + pinsrb xmm2, byte ptr [rsi + rax + 7], 5 + pinsrb xmm2, byte ptr [rsi + rdi + 7], 6 + pinsrb xmm2, byte ptr [rsi + r9 + 7], 7 + pinsrb xmm2, byte ptr [rsi + r10 + 7], 8 + pinsrb xmm2, byte ptr [rsi + rbx + 7], 9 + pinsrb xmm2, byte ptr [rsi + rdx + 7], 10 + pinsrb xmm2, byte ptr [rsi + r12 + 7], 11 + pinsrb xmm2, byte ptr [rsi + r13 + 7], 12 pinsrb xmm2, byte ptr [rsi + r11 + 7], 13 - pinsrb xmm2, byte ptr [rsi + r15 + 7], 14 - mov rdi, r14 - pinsrb xmm2, byte ptr [rsi + r14 + 7], 15 + mov rdi, qword ptr [rsp + 24] # 8-byte Reload + pinsrb xmm2, byte ptr [rsi + rdi + 7], 14 + mov rdx, qword ptr [rsp + 48] # 8-byte Reload + pinsrb xmm2, byte ptr [rsi + rdx + 7], 15 pcmpgtb xmm3, xmm9 movdqa xmm1, xmmword ptr [rip + .LCPI7_15] # xmm1 = [64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64] pand xmm3, xmm1 @@ -36837,326 +38230,322 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 pand xmm2, xmm1 por xmm2, xmm3 movdqa xmm1, xmm2 - mov rax, qword ptr [rsp + 24] # 8-byte Reload - movzx ebx, byte ptr [rsi + rax + 21] + mov r8, qword ptr [rsp + 40] # 8-byte Reload + movzx ebx, byte ptr [rsi + r8 + 21] movd xmm2, ebx - mov rcx, qword ptr [rsp + 40] # 8-byte Reload - pinsrb xmm10, byte ptr [rsi + rcx + 9], 1 - pinsrb xmm10, byte ptr [rsi + r13 + 9], 2 - mov r8, qword ptr [rsp + 120] # 8-byte Reload - pinsrb xmm10, byte ptr [rsi + r8 + 9], 3 - pinsrb xmm10, byte ptr [rsi + r10 + 9], 4 - pinsrb xmm10, byte ptr [rsi + rdx + 9], 5 - mov r14, rdx - mov rdx, qword ptr [rsp + 64] # 8-byte Reload - pinsrb xmm10, byte ptr [rsi + rdx + 9], 6 - mov r9, qword ptr [rsp + 72] # 8-byte Reload - pinsrb xmm10, byte ptr [rsi + r9 + 9], 7 - mov rbx, qword ptr [rsp + 32] # 8-byte Reload - pinsrb xmm10, byte ptr [rsi + rbx + 9], 8 - mov rbx, qword ptr [rsp + 176] # 8-byte Reload - pinsrb xmm10, byte ptr [rsi + rbx + 9], 9 - mov r15, qword ptr [rsp + 112] # 8-byte Reload - pinsrb xmm10, byte ptr [rsi + r15 + 9], 10 + mov r9, qword ptr [rsp + 32] # 8-byte Reload + pinsrb xmm10, byte ptr [rsi + r9 + 9], 1 + pinsrb xmm10, byte ptr [rsi + rcx + 9], 2 + mov r15, qword ptr [rsp + 104] # 8-byte Reload + pinsrb xmm10, byte ptr [rsi + r15 + 9], 3 + pinsrb xmm10, byte ptr [rsi + r14 + 9], 4 + mov rbx, qword ptr [rsp + 112] # 8-byte Reload + pinsrb xmm10, byte ptr [rsi + rbx + 9], 5 mov rbx, qword ptr [rsp + 80] # 8-byte Reload - pinsrb xmm10, byte ptr [rsi + rbx + 9], 11 - pinsrb xmm10, byte ptr [rsi + r12 + 9], 12 - pinsrb xmm10, byte ptr [rsi + r11 + 9], 13 - mov r10, qword ptr [rsp + 16] # 8-byte Reload - pinsrb xmm10, byte ptr [rsi + r10 + 9], 14 - pinsrb xmm10, byte ptr [rsi + rdi + 9], 15 + pinsrb xmm10, byte ptr [rsi + rbx + 9], 6 + mov r10, qword ptr [rsp + 192] # 8-byte Reload + pinsrb xmm10, byte ptr [rsi + r10 + 9], 7 + mov r11, qword ptr [rsp + 128] # 8-byte Reload + pinsrb xmm10, byte ptr [rsi + r11 + 9], 8 + mov rbx, qword ptr [rsp + 120] # 8-byte Reload + pinsrb xmm10, byte ptr [rsi + rbx + 9], 9 + mov rbx, qword ptr [rsp + 72] # 8-byte Reload + pinsrb xmm10, byte ptr [rsi + rbx + 9], 10 + pinsrb xmm10, byte ptr [rsi + r12 + 9], 11 + pinsrb xmm10, byte ptr [rsi + r13 + 9], 12 + mov rbx, qword ptr [rsp + 16] # 8-byte Reload + pinsrb xmm10, byte ptr [rsi + rbx + 9], 13 + pinsrb xmm10, byte ptr [rsi + rdi + 9], 14 + pinsrb xmm10, byte ptr [rsi + rdx + 9], 15 por xmm1, xmm8 - movdqa xmmword ptr [rsp + 208], xmm1 # 16-byte Spill + movdqa xmmword ptr [rsp + 160], xmm1 # 16-byte Spill pcmpgtb xmm10, xmm9 movdqa xmm1, xmm10 movdqa xmm8, xmm4 pand xmm1, xmm4 psubb xmm1, xmm10 - movzx ebx, byte ptr [rsi + rax + 22] + movzx ebx, byte ptr [rsi + r8 + 22] movd xmm3, ebx - movdqa xmm4, xmmword ptr [rsp + 272] # 16-byte Reload - pinsrb xmm4, byte ptr [rsi + rcx + 8], 1 - mov r11, rcx - pinsrb xmm4, byte ptr [rsi + r13 + 8], 2 - pinsrb xmm4, byte ptr [rsi + r8 + 8], 3 - mov rdi, qword ptr [rsp + 56] # 8-byte Reload - pinsrb xmm4, byte ptr [rsi + rdi + 8], 4 - pinsrb xmm4, byte ptr [rsi + r14 + 8], 5 - pinsrb xmm4, byte ptr [rsi + rdx + 8], 6 - mov rdx, r9 - pinsrb xmm4, byte ptr [rsi + r9 + 8], 7 - mov r14, qword ptr [rsp + 32] # 8-byte Reload - pinsrb xmm4, byte ptr [rsi + r14 + 8], 8 - mov rax, qword ptr [rsp + 176] # 8-byte Reload - pinsrb xmm4, byte ptr [rsi + rax + 8], 9 - mov rbx, r15 - pinsrb xmm4, byte ptr [rsi + r15 + 8], 10 - mov r15, qword ptr [rsp + 80] # 8-byte Reload - pinsrb xmm4, byte ptr [rsi + r15 + 8], 11 - pinsrb xmm4, byte ptr [rsi + r12 + 8], 12 - mov rcx, qword ptr [rsp + 8] # 8-byte Reload - pinsrb xmm4, byte ptr [rsi + rcx + 8], 13 - pinsrb xmm4, byte ptr [rsi + r10 + 8], 14 - mov r9, qword ptr [rsp + 48] # 8-byte Reload - pinsrb xmm4, byte ptr [rsi + r9 + 8], 15 + movdqa xmm4, xmmword ptr [rsp + 304] # 16-byte Reload + mov rbx, r9 + pinsrb xmm4, byte ptr [rsi + r9 + 8], 1 + pinsrb xmm4, byte ptr [rsi + rcx + 8], 2 + mov r12, rcx + pinsrb xmm4, byte ptr [rsi + r15 + 8], 3 + mov r13, r14 + pinsrb xmm4, byte ptr [rsi + r14 + 8], 4 + mov rdx, qword ptr [rsp + 112] # 8-byte Reload + pinsrb xmm4, byte ptr [rsi + rdx + 8], 5 + mov rdi, qword ptr [rsp + 80] # 8-byte Reload + pinsrb xmm4, byte ptr [rsi + rdi + 8], 6 + mov r9, r10 + pinsrb xmm4, byte ptr [rsi + r10 + 8], 7 + mov r10, r11 + pinsrb xmm4, byte ptr [rsi + r11 + 8], 8 + mov rcx, qword ptr [rsp + 120] # 8-byte Reload + pinsrb xmm4, byte ptr [rsi + rcx + 8], 9 + mov rax, qword ptr [rsp + 72] # 8-byte Reload + pinsrb xmm4, byte ptr [rsi + rax + 8], 10 + mov r14, qword ptr [rsp + 88] # 8-byte Reload + pinsrb xmm4, byte ptr [rsi + r14 + 8], 11 + mov rax, qword ptr [rsp + 56] # 8-byte Reload + pinsrb xmm4, byte ptr [rsi + rax + 8], 12 + mov r11, qword ptr [rsp + 16] # 8-byte Reload + pinsrb xmm4, byte ptr [rsi + r11 + 8], 13 + mov r8, qword ptr [rsp + 24] # 8-byte Reload + pinsrb xmm4, byte ptr [rsi + r8 + 8], 14 + mov rax, qword ptr [rsp + 48] # 8-byte Reload + pinsrb xmm4, byte ptr [rsi + rax + 8], 15 pcmpgtb xmm4, xmm9 pand xmm4, xmm8 - movdqa xmm10, xmmword ptr [rsp + 144] # 16-byte Reload - pinsrb xmm10, byte ptr [rsi + r11 + 10], 1 - pinsrb xmm10, byte ptr [rsi + r13 + 10], 2 - pinsrb xmm10, byte ptr [rsi + r8 + 10], 3 - pinsrb xmm10, byte ptr [rsi + rdi + 10], 4 - mov rdi, qword ptr [rsp + 104] # 8-byte Reload - pinsrb xmm10, byte ptr [rsi + rdi + 10], 5 - mov r8, qword ptr [rsp + 64] # 8-byte Reload - pinsrb xmm10, byte ptr [rsi + r8 + 10], 6 - pinsrb xmm10, byte ptr [rsi + rdx + 10], 7 - mov r11, r14 - pinsrb xmm10, byte ptr [rsi + r14 + 10], 8 - pinsrb xmm10, byte ptr [rsi + rax + 10], 9 - pinsrb xmm10, byte ptr [rsi + rbx + 10], 10 - pinsrb xmm10, byte ptr [rsi + r15 + 10], 11 - pinsrb xmm10, byte ptr [rsi + r12 + 10], 12 - pinsrb xmm10, byte ptr [rsi + rcx + 10], 13 - pinsrb xmm10, byte ptr [rsi + r10 + 10], 14 - pinsrb xmm10, byte ptr [rsi + r9 + 10], 15 + movdqa xmm10, xmmword ptr [rsp + 176] # 16-byte Reload + pinsrb xmm10, byte ptr [rsi + rbx + 10], 1 + pinsrb xmm10, byte ptr [rsi + r12 + 10], 2 + pinsrb xmm10, byte ptr [rsi + r15 + 10], 3 + pinsrb xmm10, byte ptr [rsi + r13 + 10], 4 + pinsrb xmm10, byte ptr [rsi + rdx + 10], 5 + pinsrb xmm10, byte ptr [rsi + rdi + 10], 6 + pinsrb xmm10, byte ptr [rsi + r9 + 10], 7 + pinsrb xmm10, byte ptr [rsi + r10 + 10], 8 + pinsrb xmm10, byte ptr [rsi + rcx + 10], 9 + mov r15, qword ptr [rsp + 72] # 8-byte Reload + pinsrb xmm10, byte ptr [rsi + r15 + 10], 10 + pinsrb xmm10, byte ptr [rsi + r14 + 10], 11 + mov r13, qword ptr [rsp + 56] # 8-byte Reload + pinsrb xmm10, byte ptr [rsi + r13 + 10], 12 + pinsrb xmm10, byte ptr [rsi + r11 + 10], 13 + pinsrb xmm10, byte ptr [rsi + r8 + 10], 14 + mov r11, r8 + pinsrb xmm10, byte ptr [rsi + rax + 10], 15 pcmpgtb xmm10, xmm9 pand xmm10, xmmword ptr [rip + .LCPI7_11] por xmm10, xmm4 - mov rcx, qword ptr [rsp + 24] # 8-byte Reload - movzx ebx, byte ptr [rsi + rcx + 23] + mov rax, qword ptr [rsp + 40] # 8-byte Reload + movzx ebx, byte ptr [rsi + rax + 23] movd xmm8, ebx por xmm10, xmm1 - movdqa xmmword ptr [rsp + 144], xmm10 # 16-byte Spill - movzx ebx, byte ptr [rsi + rcx + 24] + movdqa xmmword ptr [rsp + 176], xmm10 # 16-byte Spill + movzx ebx, byte ptr [rsi + rax + 24] movd xmm10, ebx - mov rdx, qword ptr [rsp + 40] # 8-byte Reload - pinsrb xmm11, byte ptr [rsi + rdx + 11], 1 - pinsrb xmm11, byte ptr [rsi + r13 + 11], 2 - mov r14, r13 - mov rcx, qword ptr [rsp + 120] # 8-byte Reload - pinsrb xmm11, byte ptr [rsi + rcx + 11], 3 - mov rcx, qword ptr [rsp + 56] # 8-byte Reload - pinsrb xmm11, byte ptr [rsi + rcx + 11], 4 - mov r13, rcx - pinsrb xmm11, byte ptr [rsi + rdi + 11], 5 - mov rcx, r8 - pinsrb xmm11, byte ptr [rsi + r8 + 11], 6 - mov rdi, qword ptr [rsp + 72] # 8-byte Reload - pinsrb xmm11, byte ptr [rsi + rdi + 11], 7 - mov r8, r11 - pinsrb xmm11, byte ptr [rsi + r11 + 11], 8 - mov r9, rax - pinsrb xmm11, byte ptr [rsi + rax + 11], 9 - mov r10, qword ptr [rsp + 112] # 8-byte Reload - pinsrb xmm11, byte ptr [rsi + r10 + 11], 10 - pinsrb xmm11, byte ptr [rsi + r15 + 11], 11 - pinsrb xmm11, byte ptr [rsi + r12 + 11], 12 - mov rax, qword ptr [rsp + 8] # 8-byte Reload - pinsrb xmm11, byte ptr [rsi + rax + 11], 13 + mov r14, qword ptr [rsp + 32] # 8-byte Reload + pinsrb xmm11, byte ptr [rsi + r14 + 11], 1 + mov rcx, r12 + mov qword ptr [rsp + 208], r12 # 8-byte Spill + pinsrb xmm11, byte ptr [rsi + r12 + 11], 2 + mov rax, qword ptr [rsp + 104] # 8-byte Reload + pinsrb xmm11, byte ptr [rsi + rax + 11], 3 + mov rbx, qword ptr [rsp + 64] # 8-byte Reload + pinsrb xmm11, byte ptr [rsi + rbx + 11], 4 + pinsrb xmm11, byte ptr [rsi + rdx + 11], 5 + pinsrb xmm11, byte ptr [rsi + rdi + 11], 6 + mov r8, r9 + pinsrb xmm11, byte ptr [rsi + r9 + 11], 7 + mov r9, r10 + pinsrb xmm11, byte ptr [rsi + r10 + 11], 8 + mov r10, qword ptr [rsp + 120] # 8-byte Reload + pinsrb xmm11, byte ptr [rsi + r10 + 11], 9 + pinsrb xmm11, byte ptr [rsi + r15 + 11], 10 + mov r12, qword ptr [rsp + 88] # 8-byte Reload + pinsrb xmm11, byte ptr [rsi + r12 + 11], 11 + pinsrb xmm11, byte ptr [rsi + r13 + 11], 12 mov rbx, qword ptr [rsp + 16] # 8-byte Reload - pinsrb xmm11, byte ptr [rsi + rbx + 11], 14 + pinsrb xmm11, byte ptr [rsi + rbx + 11], 13 + pinsrb xmm11, byte ptr [rsi + r11 + 11], 14 mov r11, qword ptr [rsp + 48] # 8-byte Reload pinsrb xmm11, byte ptr [rsi + r11 + 11], 15 - pinsrb xmm13, byte ptr [rsi + rdx + 12], 1 - pinsrb xmm13, byte ptr [rsi + r14 + 12], 2 - mov r14, qword ptr [rsp + 120] # 8-byte Reload - pinsrb xmm13, byte ptr [rsi + r14 + 12], 3 - pinsrb xmm13, byte ptr [rsi + r13 + 12], 4 - mov r13, qword ptr [rsp + 104] # 8-byte Reload - pinsrb xmm13, byte ptr [rsi + r13 + 12], 5 - pinsrb xmm13, byte ptr [rsi + rcx + 12], 6 - pinsrb xmm13, byte ptr [rsi + rdi + 12], 7 - pinsrb xmm13, byte ptr [rsi + r8 + 12], 8 - pinsrb xmm13, byte ptr [rsi + r9 + 12], 9 - pinsrb xmm13, byte ptr [rsi + r10 + 12], 10 - pinsrb xmm13, byte ptr [rsi + r15 + 12], 11 - pinsrb xmm13, byte ptr [rsi + r12 + 12], 12 - pinsrb xmm13, byte ptr [rsi + rax + 12], 13 - mov r13, rax + pinsrb xmm13, byte ptr [rsi + r14 + 12], 1 + pinsrb xmm13, byte ptr [rsi + rcx + 12], 2 + pinsrb xmm13, byte ptr [rsi + rax + 12], 3 + mov r14, qword ptr [rsp + 64] # 8-byte Reload + pinsrb xmm13, byte ptr [rsi + r14 + 12], 4 + pinsrb xmm13, byte ptr [rsi + rdx + 12], 5 + pinsrb xmm13, byte ptr [rsi + rdi + 12], 6 + pinsrb xmm13, byte ptr [rsi + r8 + 12], 7 + pinsrb xmm13, byte ptr [rsi + r9 + 12], 8 + pinsrb xmm13, byte ptr [rsi + r10 + 12], 9 + pinsrb xmm13, byte ptr [rsi + r15 + 12], 10 + pinsrb xmm13, byte ptr [rsi + r12 + 12], 11 + pinsrb xmm13, byte ptr [rsi + r13 + 12], 12 + pinsrb xmm13, byte ptr [rsi + rbx + 12], 13 + mov rbx, qword ptr [rsp + 24] # 8-byte Reload pinsrb xmm13, byte ptr [rsi + rbx + 12], 14 - mov rax, r11 pinsrb xmm13, byte ptr [rsi + r11 + 12], 15 - pinsrb xmm12, byte ptr [rsi + rdx + 13], 1 - mov r11, qword ptr [rsp + 96] # 8-byte Reload - pinsrb xmm12, byte ptr [rsi + r11 + 13], 2 - pinsrb xmm12, byte ptr [rsi + r14 + 13], 3 - mov rdx, qword ptr [rsp + 56] # 8-byte Reload - pinsrb xmm12, byte ptr [rsi + rdx + 13], 4 - mov rdx, qword ptr [rsp + 104] # 8-byte Reload + mov rax, qword ptr [rsp + 32] # 8-byte Reload + pinsrb xmm12, byte ptr [rsi + rax + 13], 1 + pinsrb xmm12, byte ptr [rsi + rcx + 13], 2 + mov rcx, qword ptr [rsp + 104] # 8-byte Reload + pinsrb xmm12, byte ptr [rsi + rcx + 13], 3 + pinsrb xmm12, byte ptr [rsi + r14 + 13], 4 pinsrb xmm12, byte ptr [rsi + rdx + 13], 5 - pinsrb xmm12, byte ptr [rsi + rcx + 13], 6 - pinsrb xmm12, byte ptr [rsi + rdi + 13], 7 - pinsrb xmm12, byte ptr [rsi + r8 + 13], 8 - pinsrb xmm12, byte ptr [rsi + r9 + 13], 9 - pinsrb xmm12, byte ptr [rsi + r10 + 13], 10 - pinsrb xmm12, byte ptr [rsi + r15 + 13], 11 - pinsrb xmm12, byte ptr [rsi + r12 + 13], 12 - mov rdi, r13 - pinsrb xmm12, byte ptr [rsi + r13 + 13], 13 + pinsrb xmm12, byte ptr [rsi + rdi + 13], 6 + pinsrb xmm12, byte ptr [rsi + r8 + 13], 7 + pinsrb xmm12, byte ptr [rsi + r9 + 13], 8 + pinsrb xmm12, byte ptr [rsi + r10 + 13], 9 + pinsrb xmm12, byte ptr [rsi + r15 + 13], 10 + pinsrb xmm12, byte ptr [rsi + r12 + 13], 11 + pinsrb xmm12, byte ptr [rsi + r13 + 13], 12 + mov rdi, qword ptr [rsp + 16] # 8-byte Reload + pinsrb xmm12, byte ptr [rsi + rdi + 13], 13 pinsrb xmm12, byte ptr [rsi + rbx + 13], 14 - pinsrb xmm12, byte ptr [rsi + rax + 13], 15 + pinsrb xmm12, byte ptr [rsi + r11 + 13], 15 pcmpgtb xmm11, xmm9 pand xmm11, xmmword ptr [rip + .LCPI7_12] pcmpgtb xmm13, xmm9 pand xmm13, xmmword ptr [rip + .LCPI7_13] por xmm13, xmm11 - mov rax, qword ptr [rsp + 24] # 8-byte Reload - movzx ebx, byte ptr [rsi + rax + 25] + mov rdi, qword ptr [rsp + 40] # 8-byte Reload + movzx ebx, byte ptr [rsi + rdi + 25] movd xmm1, ebx pcmpgtb xmm12, xmm9 pand xmm12, xmmword ptr [rip + .LCPI7_14] por xmm12, xmm13 - movzx ebx, byte ptr [rsi + rax + 26] + movzx ebx, byte ptr [rsi + rdi + 26] movd xmm11, ebx - movdqa xmm4, xmmword ptr [rsp + 304] # 16-byte Reload - mov rax, qword ptr [rsp + 40] # 8-byte Reload + movdqa xmm4, xmmword ptr [rsp + 272] # 16-byte Reload pinsrb xmm4, byte ptr [rsi + rax + 14], 1 - mov r13, r11 - pinsrb xmm4, byte ptr [rsi + r11 + 14], 2 - mov r11, r14 - pinsrb xmm4, byte ptr [rsi + r14 + 14], 3 - mov r14, qword ptr [rsp + 56] # 8-byte Reload - pinsrb xmm4, byte ptr [rsi + r14 + 14], 4 - mov rax, rdx + mov rbx, qword ptr [rsp + 208] # 8-byte Reload + pinsrb xmm4, byte ptr [rsi + rbx + 14], 2 + mov r11, rcx + pinsrb xmm4, byte ptr [rsi + rcx + 14], 3 + mov rax, qword ptr [rsp + 64] # 8-byte Reload + pinsrb xmm4, byte ptr [rsi + rax + 14], 4 + mov rcx, rdx pinsrb xmm4, byte ptr [rsi + rdx + 14], 5 - pinsrb xmm4, byte ptr [rsi + rcx + 14], 6 - mov rdx, qword ptr [rsp + 72] # 8-byte Reload - pinsrb xmm4, byte ptr [rsi + rdx + 14], 7 - pinsrb xmm4, byte ptr [rsi + r8 + 14], 8 - pinsrb xmm4, byte ptr [rsi + r9 + 14], 9 - mov rbx, r10 - pinsrb xmm4, byte ptr [rsi + r10 + 14], 10 - pinsrb xmm4, byte ptr [rsi + r15 + 14], 11 - pinsrb xmm4, byte ptr [rsi + r12 + 14], 12 - pinsrb xmm4, byte ptr [rsi + rdi + 14], 13 - mov rdi, qword ptr [rsp + 16] # 8-byte Reload + mov rdx, qword ptr [rsp + 80] # 8-byte Reload + pinsrb xmm4, byte ptr [rsi + rdx + 14], 6 + pinsrb xmm4, byte ptr [rsi + r8 + 14], 7 + pinsrb xmm4, byte ptr [rsi + r9 + 14], 8 + pinsrb xmm4, byte ptr [rsi + r10 + 14], 9 + pinsrb xmm4, byte ptr [rsi + r15 + 14], 10 + pinsrb xmm4, byte ptr [rsi + r12 + 14], 11 + pinsrb xmm4, byte ptr [rsi + r13 + 14], 12 + mov r14, qword ptr [rsp + 16] # 8-byte Reload + pinsrb xmm4, byte ptr [rsi + r14 + 14], 13 + mov rdi, qword ptr [rsp + 24] # 8-byte Reload pinsrb xmm4, byte ptr [rsi + rdi + 14], 14 - mov r10, qword ptr [rsp + 48] # 8-byte Reload - pinsrb xmm4, byte ptr [rsi + r10 + 14], 15 - mov rdi, qword ptr [rsp + 40] # 8-byte Reload + mov rdi, qword ptr [rsp + 48] # 8-byte Reload + pinsrb xmm4, byte ptr [rsi + rdi + 14], 15 + mov rdi, qword ptr [rsp + 32] # 8-byte Reload pinsrb xmm14, byte ptr [rsi + rdi + 15], 1 - pinsrb xmm14, byte ptr [rsi + r13 + 15], 2 + pinsrb xmm14, byte ptr [rsi + rbx + 15], 2 pinsrb xmm14, byte ptr [rsi + r11 + 15], 3 - pinsrb xmm14, byte ptr [rsi + r14 + 15], 4 - pinsrb xmm14, byte ptr [rsi + rax + 15], 5 - pinsrb xmm14, byte ptr [rsi + rcx + 15], 6 - pinsrb xmm14, byte ptr [rsi + rdx + 15], 7 - pinsrb xmm14, byte ptr [rsi + r8 + 15], 8 - pinsrb xmm14, byte ptr [rsi + r9 + 15], 9 - pinsrb xmm14, byte ptr [rsi + rbx + 15], 10 - pinsrb xmm14, byte ptr [rsi + r15 + 15], 11 - pinsrb xmm14, byte ptr [rsi + r12 + 15], 12 - mov rdi, qword ptr [rsp + 8] # 8-byte Reload - pinsrb xmm14, byte ptr [rsi + rdi + 15], 13 - mov rdi, qword ptr [rsp + 16] # 8-byte Reload + pinsrb xmm14, byte ptr [rsi + rax + 15], 4 + pinsrb xmm14, byte ptr [rsi + rcx + 15], 5 + pinsrb xmm14, byte ptr [rsi + rdx + 15], 6 + pinsrb xmm14, byte ptr [rsi + r8 + 15], 7 + pinsrb xmm14, byte ptr [rsi + r9 + 15], 8 + pinsrb xmm14, byte ptr [rsi + r10 + 15], 9 + pinsrb xmm14, byte ptr [rsi + r15 + 15], 10 + pinsrb xmm14, byte ptr [rsi + r12 + 15], 11 + pinsrb xmm14, byte ptr [rsi + r13 + 15], 12 + pinsrb xmm14, byte ptr [rsi + r14 + 15], 13 + mov rdi, qword ptr [rsp + 24] # 8-byte Reload pinsrb xmm14, byte ptr [rsi + rdi + 15], 14 - pinsrb xmm14, byte ptr [rsi + r10 + 15], 15 - mov rdi, qword ptr [rsp + 40] # 8-byte Reload + mov r14, qword ptr [rsp + 48] # 8-byte Reload + pinsrb xmm14, byte ptr [rsi + r14 + 15], 15 + mov rdi, qword ptr [rsp + 32] # 8-byte Reload pinsrb xmm15, byte ptr [rsi + rdi + 16], 1 - pinsrb xmm15, byte ptr [rsi + r13 + 16], 2 + pinsrb xmm15, byte ptr [rsi + rbx + 16], 2 pinsrb xmm15, byte ptr [rsi + r11 + 16], 3 - pinsrb xmm15, byte ptr [rsi + r14 + 16], 4 - pinsrb xmm15, byte ptr [rsi + rax + 16], 5 - pinsrb xmm15, byte ptr [rsi + rcx + 16], 6 - pinsrb xmm15, byte ptr [rsi + rdx + 16], 7 - pinsrb xmm15, byte ptr [rsi + r8 + 16], 8 - pinsrb xmm15, byte ptr [rsi + r9 + 16], 9 - pinsrb xmm15, byte ptr [rsi + rbx + 16], 10 - pinsrb xmm15, byte ptr [rsi + r15 + 16], 11 - pinsrb xmm15, byte ptr [rsi + r12 + 16], 12 - mov rdi, qword ptr [rsp + 8] # 8-byte Reload + pinsrb xmm15, byte ptr [rsi + rax + 16], 4 + pinsrb xmm15, byte ptr [rsi + rcx + 16], 5 + pinsrb xmm15, byte ptr [rsi + rdx + 16], 6 + pinsrb xmm15, byte ptr [rsi + r8 + 16], 7 + pinsrb xmm15, byte ptr [rsi + r9 + 16], 8 + pinsrb xmm15, byte ptr [rsi + r10 + 16], 9 + pinsrb xmm15, byte ptr [rsi + r15 + 16], 10 + pinsrb xmm15, byte ptr [rsi + r12 + 16], 11 + pinsrb xmm15, byte ptr [rsi + r13 + 16], 12 + mov rdi, qword ptr [rsp + 16] # 8-byte Reload pinsrb xmm15, byte ptr [rsi + rdi + 16], 13 - mov r10, qword ptr [rsp + 16] # 8-byte Reload - pinsrb xmm15, byte ptr [rsi + r10 + 16], 14 - mov rdi, qword ptr [rsp + 40] # 8-byte Reload + mov r14, qword ptr [rsp + 24] # 8-byte Reload + pinsrb xmm15, byte ptr [rsi + r14 + 16], 14 + mov rdi, qword ptr [rsp + 32] # 8-byte Reload pinsrb xmm0, byte ptr [rsi + rdi + 17], 1 - pinsrb xmm0, byte ptr [rsi + r13 + 17], 2 + pinsrb xmm0, byte ptr [rsi + rbx + 17], 2 pinsrb xmm0, byte ptr [rsi + r11 + 17], 3 - pinsrb xmm0, byte ptr [rsi + r14 + 17], 4 - pinsrb xmm0, byte ptr [rsi + rax + 17], 5 - mov r13, rax - pinsrb xmm0, byte ptr [rsi + rcx + 17], 6 - pinsrb xmm0, byte ptr [rsi + rdx + 17], 7 - pinsrb xmm0, byte ptr [rsi + r8 + 17], 8 - pinsrb xmm0, byte ptr [rsi + r9 + 17], 9 - pinsrb xmm0, byte ptr [rsi + rbx + 17], 10 - pinsrb xmm0, byte ptr [rsi + r15 + 17], 11 - pinsrb xmm0, byte ptr [rsi + r12 + 17], 12 - mov rax, qword ptr [rsp + 8] # 8-byte Reload - pinsrb xmm0, byte ptr [rsi + rax + 17], 13 + pinsrb xmm0, byte ptr [rsi + rax + 17], 4 + pinsrb xmm0, byte ptr [rsi + rcx + 17], 5 + pinsrb xmm0, byte ptr [rsi + rdx + 17], 6 + pinsrb xmm0, byte ptr [rsi + r8 + 17], 7 + pinsrb xmm0, byte ptr [rsi + r9 + 17], 8 + pinsrb xmm0, byte ptr [rsi + r10 + 17], 9 + pinsrb xmm0, byte ptr [rsi + r15 + 17], 10 + pinsrb xmm0, byte ptr [rsi + r12 + 17], 11 + pinsrb xmm0, byte ptr [rsi + r13 + 17], 12 mov rdi, qword ptr [rsp + 16] # 8-byte Reload - pinsrb xmm0, byte ptr [rsi + rdi + 17], 14 - por xmm12, xmmword ptr [rsp + 144] # 16-byte Folded Reload - mov rax, qword ptr [rsp + 24] # 8-byte Reload - movzx ebx, byte ptr [rsi + rax + 27] + pinsrb xmm0, byte ptr [rsi + rdi + 17], 13 + pinsrb xmm0, byte ptr [rsi + r14 + 17], 14 + por xmm12, xmmword ptr [rsp + 176] # 16-byte Folded Reload + mov rdi, qword ptr [rsp + 40] # 8-byte Reload + movzx ebx, byte ptr [rsi + rdi + 27] movd xmm9, ebx - movdqa xmm13, xmmword ptr [rsp + 160] # 16-byte Reload + movdqa xmm13, xmmword ptr [rsp + 144] # 16-byte Reload pcmpgtb xmm4, xmm13 pand xmm4, xmmword ptr [rip + .LCPI7_15] pcmpgtb xmm14, xmm13 psllw xmm14, 7 pand xmm14, xmmword ptr [rip + .LCPI7_6] por xmm14, xmm4 - movzx ebx, byte ptr [rsi + rax + 28] + movzx ebx, byte ptr [rsi + rdi + 28] movd xmm4, ebx - mov r10, qword ptr [rsp + 48] # 8-byte Reload - pinsrb xmm0, byte ptr [rsi + r10 + 17], 15 + mov r14, qword ptr [rsp + 48] # 8-byte Reload + pinsrb xmm0, byte ptr [rsi + r14 + 17], 15 por xmm14, xmm12 pcmpgtb xmm0, xmm13 movdqa xmm13, xmm0 movdqa xmm12, xmmword ptr [rip + .LCPI7_10] # xmm12 = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1] pand xmm13, xmm12 psubb xmm13, xmm0 - movdqa xmmword ptr [rsp + 144], xmm13 # 16-byte Spill - movzx ebx, byte ptr [rsi + rax + 29] + movdqa xmmword ptr [rsp + 176], xmm13 # 16-byte Spill + movzx ebx, byte ptr [rsi + rdi + 29] movd xmm13, ebx - pinsrb xmm15, byte ptr [rsi + r10 + 16], 15 - movdqa xmm0, xmmword ptr [rsp + 160] # 16-byte Reload + pinsrb xmm15, byte ptr [rsi + r14 + 16], 15 + movdqa xmm0, xmmword ptr [rsp + 144] # 16-byte Reload pcmpgtb xmm15, xmm0 - mov rbx, qword ptr [rsp + 40] # 8-byte Reload - pinsrb xmm5, byte ptr [rsi + rbx + 18], 1 - mov rbx, qword ptr [rsp + 96] # 8-byte Reload + mov rdi, qword ptr [rsp + 32] # 8-byte Reload + pinsrb xmm5, byte ptr [rsi + rdi + 18], 1 + mov rbx, qword ptr [rsp + 208] # 8-byte Reload pinsrb xmm5, byte ptr [rsi + rbx + 18], 2 pinsrb xmm5, byte ptr [rsi + r11 + 18], 3 - pinsrb xmm5, byte ptr [rsi + r14 + 18], 4 - pinsrb xmm5, byte ptr [rsi + r13 + 18], 5 - pinsrb xmm5, byte ptr [rsi + rcx + 18], 6 - pinsrb xmm5, byte ptr [rsi + rdx + 18], 7 - pinsrb xmm5, byte ptr [rsi + r8 + 18], 8 - pinsrb xmm5, byte ptr [rsi + r9 + 18], 9 - mov rax, qword ptr [rsp + 112] # 8-byte Reload - pinsrb xmm5, byte ptr [rsi + rax + 18], 10 - pinsrb xmm5, byte ptr [rsi + r15 + 18], 11 - pinsrb xmm5, byte ptr [rsi + r12 + 18], 12 - mov rbx, qword ptr [rsp + 8] # 8-byte Reload + pinsrb xmm5, byte ptr [rsi + rax + 18], 4 + pinsrb xmm5, byte ptr [rsi + rcx + 18], 5 + pinsrb xmm5, byte ptr [rsi + rdx + 18], 6 + pinsrb xmm5, byte ptr [rsi + r8 + 18], 7 + pinsrb xmm5, byte ptr [rsi + r9 + 18], 8 + pinsrb xmm5, byte ptr [rsi + r10 + 18], 9 + pinsrb xmm5, byte ptr [rsi + r15 + 18], 10 + pinsrb xmm5, byte ptr [rsi + r12 + 18], 11 + pinsrb xmm5, byte ptr [rsi + r13 + 18], 12 + mov rbx, qword ptr [rsp + 16] # 8-byte Reload pinsrb xmm5, byte ptr [rsi + rbx + 18], 13 - pinsrb xmm5, byte ptr [rsi + rdi + 18], 14 + mov rbx, qword ptr [rsp + 24] # 8-byte Reload + pinsrb xmm5, byte ptr [rsi + rbx + 18], 14 pand xmm15, xmm12 - pinsrb xmm5, byte ptr [rsi + r10 + 18], 15 + pinsrb xmm5, byte ptr [rsi + r14 + 18], 15 pcmpgtb xmm5, xmm0 pand xmm5, xmmword ptr [rip + .LCPI7_11] por xmm5, xmm15 - mov rdi, qword ptr [rsp + 24] # 8-byte Reload - movzx ebx, byte ptr [rsi + rdi + 30] + mov rax, qword ptr [rsp + 40] # 8-byte Reload + movzx ebx, byte ptr [rsi + rax + 30] movd xmm12, ebx - mov rbx, qword ptr [rsp + 40] # 8-byte Reload - pinsrb xmm7, byte ptr [rsi + rbx + 19], 1 - pinsrb xmm6, byte ptr [rsi + rbx + 20], 1 - pinsrb xmm2, byte ptr [rsi + rbx + 21], 1 - pinsrb xmm3, byte ptr [rsi + rbx + 22], 1 - pinsrb xmm8, byte ptr [rsi + rbx + 23], 1 - pinsrb xmm10, byte ptr [rsi + rbx + 24], 1 - pinsrb xmm1, byte ptr [rsi + rbx + 25], 1 - pinsrb xmm11, byte ptr [rsi + rbx + 26], 1 - pinsrb xmm9, byte ptr [rsi + rbx + 27], 1 - pinsrb xmm4, byte ptr [rsi + rbx + 28], 1 - pinsrb xmm13, byte ptr [rsi + rbx + 29], 1 - pinsrb xmm12, byte ptr [rsi + rbx + 30], 1 - movzx edi, byte ptr [rsi + rdi + 31] + mov rbx, rdi + pinsrb xmm7, byte ptr [rsi + rdi + 19], 1 + pinsrb xmm6, byte ptr [rsi + rdi + 20], 1 + pinsrb xmm2, byte ptr [rsi + rdi + 21], 1 + pinsrb xmm3, byte ptr [rsi + rdi + 22], 1 + pinsrb xmm8, byte ptr [rsi + rdi + 23], 1 + pinsrb xmm10, byte ptr [rsi + rdi + 24], 1 + pinsrb xmm1, byte ptr [rsi + rdi + 25], 1 + pinsrb xmm11, byte ptr [rsi + rdi + 26], 1 + pinsrb xmm9, byte ptr [rsi + rdi + 27], 1 + pinsrb xmm4, byte ptr [rsi + rdi + 28], 1 + pinsrb xmm13, byte ptr [rsi + rdi + 29], 1 + pinsrb xmm12, byte ptr [rsi + rdi + 30], 1 + movzx edi, byte ptr [rsi + rax + 31] movd xmm0, edi pinsrb xmm0, byte ptr [rsi + rbx + 31], 1 - mov rdi, qword ptr [rsp + 96] # 8-byte Reload + mov rdi, qword ptr [rsp + 208] # 8-byte Reload pinsrb xmm7, byte ptr [rsi + rdi + 19], 2 pinsrb xmm6, byte ptr [rsi + rdi + 20], 2 pinsrb xmm2, byte ptr [rsi + rdi + 21], 2 @@ -37171,84 +38560,85 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 pinsrb xmm12, byte ptr [rsi + rdi + 30], 2 pinsrb xmm0, byte ptr [rsi + rdi + 31], 2 pinsrb xmm7, byte ptr [rsi + r11 + 19], 3 - pinsrb xmm7, byte ptr [rsi + r14 + 19], 4 - pinsrb xmm7, byte ptr [rsi + r13 + 19], 5 - pinsrb xmm7, byte ptr [rsi + rcx + 19], 6 - pinsrb xmm7, byte ptr [rsi + rdx + 19], 7 - pinsrb xmm7, byte ptr [rsi + r8 + 19], 8 - pinsrb xmm7, byte ptr [rsi + r9 + 19], 9 - pinsrb xmm7, byte ptr [rsi + rax + 19], 10 - pinsrb xmm7, byte ptr [rsi + r15 + 19], 11 - pinsrb xmm7, byte ptr [rsi + r12 + 19], 12 - mov rdi, qword ptr [rsp + 8] # 8-byte Reload + mov rax, qword ptr [rsp + 64] # 8-byte Reload + pinsrb xmm7, byte ptr [rsi + rax + 19], 4 + pinsrb xmm7, byte ptr [rsi + rcx + 19], 5 + pinsrb xmm7, byte ptr [rsi + rdx + 19], 6 + pinsrb xmm7, byte ptr [rsi + r8 + 19], 7 + pinsrb xmm7, byte ptr [rsi + r9 + 19], 8 + pinsrb xmm7, byte ptr [rsi + r10 + 19], 9 + pinsrb xmm7, byte ptr [rsi + r15 + 19], 10 + pinsrb xmm7, byte ptr [rsi + r12 + 19], 11 + pinsrb xmm7, byte ptr [rsi + r13 + 19], 12 + mov rdi, qword ptr [rsp + 16] # 8-byte Reload pinsrb xmm7, byte ptr [rsi + rdi + 19], 13 - mov rbx, qword ptr [rsp + 16] # 8-byte Reload + mov rbx, qword ptr [rsp + 24] # 8-byte Reload pinsrb xmm7, byte ptr [rsi + rbx + 19], 14 - pinsrb xmm7, byte ptr [rsi + r10 + 19], 15 + pinsrb xmm7, byte ptr [rsi + r14 + 19], 15 pinsrb xmm6, byte ptr [rsi + r11 + 20], 3 - pinsrb xmm6, byte ptr [rsi + r14 + 20], 4 - pinsrb xmm6, byte ptr [rsi + r13 + 20], 5 - pinsrb xmm6, byte ptr [rsi + rcx + 20], 6 - pinsrb xmm6, byte ptr [rsi + rdx + 20], 7 - pinsrb xmm6, byte ptr [rsi + r8 + 20], 8 - pinsrb xmm6, byte ptr [rsi + r9 + 20], 9 - pinsrb xmm6, byte ptr [rsi + rax + 20], 10 - pinsrb xmm6, byte ptr [rsi + r15 + 20], 11 - pinsrb xmm6, byte ptr [rsi + r12 + 20], 12 + pinsrb xmm6, byte ptr [rsi + rax + 20], 4 + pinsrb xmm6, byte ptr [rsi + rcx + 20], 5 + pinsrb xmm6, byte ptr [rsi + rdx + 20], 6 + pinsrb xmm6, byte ptr [rsi + r8 + 20], 7 + pinsrb xmm6, byte ptr [rsi + r9 + 20], 8 + pinsrb xmm6, byte ptr [rsi + r10 + 20], 9 + pinsrb xmm6, byte ptr [rsi + r15 + 20], 10 + pinsrb xmm6, byte ptr [rsi + r12 + 20], 11 + pinsrb xmm6, byte ptr [rsi + r13 + 20], 12 pinsrb xmm6, byte ptr [rsi + rdi + 20], 13 pinsrb xmm6, byte ptr [rsi + rbx + 20], 14 - por xmm5, xmmword ptr [rsp + 144] # 16-byte Folded Reload - pinsrb xmm6, byte ptr [rsi + r10 + 20], 15 - movdqa xmm15, xmmword ptr [rsp + 160] # 16-byte Reload + por xmm5, xmmword ptr [rsp + 176] # 16-byte Folded Reload + pinsrb xmm6, byte ptr [rsi + r14 + 20], 15 + movdqa xmm15, xmmword ptr [rsp + 144] # 16-byte Reload pcmpgtb xmm7, xmm15 pand xmm7, xmmword ptr [rip + .LCPI7_12] pcmpgtb xmm6, xmm15 pand xmm6, xmmword ptr [rip + .LCPI7_13] por xmm6, xmm7 pinsrb xmm2, byte ptr [rsi + r11 + 21], 3 - pinsrb xmm2, byte ptr [rsi + r14 + 21], 4 - pinsrb xmm2, byte ptr [rsi + r13 + 21], 5 - pinsrb xmm2, byte ptr [rsi + rcx + 21], 6 - pinsrb xmm2, byte ptr [rsi + rdx + 21], 7 - pinsrb xmm2, byte ptr [rsi + r8 + 21], 8 - pinsrb xmm2, byte ptr [rsi + r9 + 21], 9 - pinsrb xmm2, byte ptr [rsi + rax + 21], 10 - pinsrb xmm2, byte ptr [rsi + r15 + 21], 11 - pinsrb xmm2, byte ptr [rsi + r12 + 21], 12 + pinsrb xmm2, byte ptr [rsi + rax + 21], 4 + pinsrb xmm2, byte ptr [rsi + rcx + 21], 5 + pinsrb xmm2, byte ptr [rsi + rdx + 21], 6 + pinsrb xmm2, byte ptr [rsi + r8 + 21], 7 + pinsrb xmm2, byte ptr [rsi + r9 + 21], 8 + pinsrb xmm2, byte ptr [rsi + r10 + 21], 9 + pinsrb xmm2, byte ptr [rsi + r15 + 21], 10 + pinsrb xmm2, byte ptr [rsi + r12 + 21], 11 + pinsrb xmm2, byte ptr [rsi + r13 + 21], 12 pinsrb xmm2, byte ptr [rsi + rdi + 21], 13 pinsrb xmm2, byte ptr [rsi + rbx + 21], 14 - pinsrb xmm2, byte ptr [rsi + r10 + 21], 15 + pinsrb xmm2, byte ptr [rsi + r14 + 21], 15 pcmpgtb xmm2, xmm15 movdqa xmm7, xmmword ptr [rip + .LCPI7_14] # xmm7 = [32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32] pand xmm2, xmm7 por xmm2, xmm6 por xmm2, xmm5 pinsrb xmm3, byte ptr [rsi + r11 + 22], 3 - pinsrb xmm3, byte ptr [rsi + r14 + 22], 4 - pinsrb xmm3, byte ptr [rsi + r13 + 22], 5 - pinsrb xmm3, byte ptr [rsi + rcx + 22], 6 - pinsrb xmm3, byte ptr [rsi + rdx + 22], 7 - pinsrb xmm3, byte ptr [rsi + r8 + 22], 8 - pinsrb xmm3, byte ptr [rsi + r9 + 22], 9 - pinsrb xmm3, byte ptr [rsi + rax + 22], 10 - pinsrb xmm3, byte ptr [rsi + r15 + 22], 11 - pinsrb xmm3, byte ptr [rsi + r12 + 22], 12 + pinsrb xmm3, byte ptr [rsi + rax + 22], 4 + pinsrb xmm3, byte ptr [rsi + rcx + 22], 5 + pinsrb xmm3, byte ptr [rsi + rdx + 22], 6 + pinsrb xmm3, byte ptr [rsi + r8 + 22], 7 + pinsrb xmm3, byte ptr [rsi + r9 + 22], 8 + pinsrb xmm3, byte ptr [rsi + r10 + 22], 9 + pinsrb xmm3, byte ptr [rsi + r15 + 22], 10 + pinsrb xmm3, byte ptr [rsi + r12 + 22], 11 + pinsrb xmm3, byte ptr [rsi + r13 + 22], 12 pinsrb xmm3, byte ptr [rsi + rdi + 22], 13 pinsrb xmm3, byte ptr [rsi + rbx + 22], 14 - pinsrb xmm3, byte ptr [rsi + r10 + 22], 15 + pinsrb xmm3, byte ptr [rsi + r14 + 22], 15 pinsrb xmm8, byte ptr [rsi + r11 + 23], 3 - pinsrb xmm8, byte ptr [rsi + r14 + 23], 4 - pinsrb xmm8, byte ptr [rsi + r13 + 23], 5 - pinsrb xmm8, byte ptr [rsi + rcx + 23], 6 - pinsrb xmm8, byte ptr [rsi + rdx + 23], 7 - pinsrb xmm8, byte ptr [rsi + r8 + 23], 8 - pinsrb xmm8, byte ptr [rsi + r9 + 23], 9 - pinsrb xmm8, byte ptr [rsi + rax + 23], 10 - pinsrb xmm8, byte ptr [rsi + r15 + 23], 11 - pinsrb xmm8, byte ptr [rsi + r12 + 23], 12 + pinsrb xmm8, byte ptr [rsi + rax + 23], 4 + pinsrb xmm8, byte ptr [rsi + rcx + 23], 5 + pinsrb xmm8, byte ptr [rsi + rdx + 23], 6 + pinsrb xmm8, byte ptr [rsi + r8 + 23], 7 + pinsrb xmm8, byte ptr [rsi + r9 + 23], 8 + pinsrb xmm8, byte ptr [rsi + r10 + 23], 9 + pinsrb xmm8, byte ptr [rsi + r15 + 23], 10 + pinsrb xmm8, byte ptr [rsi + r12 + 23], 11 + pinsrb xmm8, byte ptr [rsi + r13 + 23], 12 pinsrb xmm8, byte ptr [rsi + rdi + 23], 13 pinsrb xmm8, byte ptr [rsi + rbx + 23], 14 - pinsrb xmm8, byte ptr [rsi + r10 + 23], 15 + pinsrb xmm8, byte ptr [rsi + r14 + 23], 15 pcmpgtb xmm3, xmm15 movdqa xmm5, xmmword ptr [rip + .LCPI7_15] # xmm5 = [64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64] pand xmm3, xmm5 @@ -37258,18 +38648,18 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 pand xmm8, xmm6 por xmm8, xmm3 pinsrb xmm1, byte ptr [rsi + r11 + 25], 3 - pinsrb xmm1, byte ptr [rsi + r14 + 25], 4 - pinsrb xmm1, byte ptr [rsi + r13 + 25], 5 - pinsrb xmm1, byte ptr [rsi + rcx + 25], 6 - pinsrb xmm1, byte ptr [rsi + rdx + 25], 7 - pinsrb xmm1, byte ptr [rsi + r8 + 25], 8 - pinsrb xmm1, byte ptr [rsi + r9 + 25], 9 - pinsrb xmm1, byte ptr [rsi + rax + 25], 10 - pinsrb xmm1, byte ptr [rsi + r15 + 25], 11 - pinsrb xmm1, byte ptr [rsi + r12 + 25], 12 + pinsrb xmm1, byte ptr [rsi + rax + 25], 4 + pinsrb xmm1, byte ptr [rsi + rcx + 25], 5 + pinsrb xmm1, byte ptr [rsi + rdx + 25], 6 + pinsrb xmm1, byte ptr [rsi + r8 + 25], 7 + pinsrb xmm1, byte ptr [rsi + r9 + 25], 8 + pinsrb xmm1, byte ptr [rsi + r10 + 25], 9 + pinsrb xmm1, byte ptr [rsi + r15 + 25], 10 + pinsrb xmm1, byte ptr [rsi + r12 + 25], 11 + pinsrb xmm1, byte ptr [rsi + r13 + 25], 12 pinsrb xmm1, byte ptr [rsi + rdi + 25], 13 pinsrb xmm1, byte ptr [rsi + rbx + 25], 14 - pinsrb xmm1, byte ptr [rsi + r10 + 25], 15 + pinsrb xmm1, byte ptr [rsi + r14 + 25], 15 por xmm8, xmm2 pcmpgtb xmm1, xmm15 movdqa xmm2, xmm1 @@ -37277,73 +38667,73 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 pand xmm2, xmm3 psubb xmm2, xmm1 pinsrb xmm10, byte ptr [rsi + r11 + 24], 3 - pinsrb xmm10, byte ptr [rsi + r14 + 24], 4 - pinsrb xmm10, byte ptr [rsi + r13 + 24], 5 - pinsrb xmm10, byte ptr [rsi + rcx + 24], 6 - pinsrb xmm10, byte ptr [rsi + rdx + 24], 7 - pinsrb xmm10, byte ptr [rsi + r8 + 24], 8 - pinsrb xmm10, byte ptr [rsi + r9 + 24], 9 - pinsrb xmm10, byte ptr [rsi + rax + 24], 10 - pinsrb xmm10, byte ptr [rsi + r15 + 24], 11 - pinsrb xmm10, byte ptr [rsi + r12 + 24], 12 + pinsrb xmm10, byte ptr [rsi + rax + 24], 4 + pinsrb xmm10, byte ptr [rsi + rcx + 24], 5 + pinsrb xmm10, byte ptr [rsi + rdx + 24], 6 + pinsrb xmm10, byte ptr [rsi + r8 + 24], 7 + pinsrb xmm10, byte ptr [rsi + r9 + 24], 8 + pinsrb xmm10, byte ptr [rsi + r10 + 24], 9 + pinsrb xmm10, byte ptr [rsi + r15 + 24], 10 + pinsrb xmm10, byte ptr [rsi + r12 + 24], 11 + pinsrb xmm10, byte ptr [rsi + r13 + 24], 12 pinsrb xmm10, byte ptr [rsi + rdi + 24], 13 pinsrb xmm10, byte ptr [rsi + rbx + 24], 14 - pinsrb xmm10, byte ptr [rsi + r10 + 24], 15 + pinsrb xmm10, byte ptr [rsi + r14 + 24], 15 pcmpgtb xmm10, xmm15 pand xmm10, xmm3 pinsrb xmm11, byte ptr [rsi + r11 + 26], 3 - pinsrb xmm11, byte ptr [rsi + r14 + 26], 4 - pinsrb xmm11, byte ptr [rsi + r13 + 26], 5 - pinsrb xmm11, byte ptr [rsi + rcx + 26], 6 - pinsrb xmm11, byte ptr [rsi + rdx + 26], 7 - pinsrb xmm11, byte ptr [rsi + r8 + 26], 8 - pinsrb xmm11, byte ptr [rsi + r9 + 26], 9 - pinsrb xmm11, byte ptr [rsi + rax + 26], 10 - pinsrb xmm11, byte ptr [rsi + r15 + 26], 11 - pinsrb xmm11, byte ptr [rsi + r12 + 26], 12 + pinsrb xmm11, byte ptr [rsi + rax + 26], 4 + pinsrb xmm11, byte ptr [rsi + rcx + 26], 5 + pinsrb xmm11, byte ptr [rsi + rdx + 26], 6 + pinsrb xmm11, byte ptr [rsi + r8 + 26], 7 + pinsrb xmm11, byte ptr [rsi + r9 + 26], 8 + pinsrb xmm11, byte ptr [rsi + r10 + 26], 9 + pinsrb xmm11, byte ptr [rsi + r15 + 26], 10 + pinsrb xmm11, byte ptr [rsi + r12 + 26], 11 + pinsrb xmm11, byte ptr [rsi + r13 + 26], 12 pinsrb xmm11, byte ptr [rsi + rdi + 26], 13 pinsrb xmm11, byte ptr [rsi + rbx + 26], 14 - pinsrb xmm11, byte ptr [rsi + r10 + 26], 15 + pinsrb xmm11, byte ptr [rsi + r14 + 26], 15 pcmpgtb xmm11, xmm15 pand xmm11, xmmword ptr [rip + .LCPI7_11] por xmm11, xmm10 por xmm11, xmm2 pinsrb xmm9, byte ptr [rsi + r11 + 27], 3 - pinsrb xmm9, byte ptr [rsi + r14 + 27], 4 - pinsrb xmm9, byte ptr [rsi + r13 + 27], 5 - pinsrb xmm9, byte ptr [rsi + rcx + 27], 6 - pinsrb xmm9, byte ptr [rsi + rdx + 27], 7 - pinsrb xmm9, byte ptr [rsi + r8 + 27], 8 - pinsrb xmm9, byte ptr [rsi + r9 + 27], 9 - pinsrb xmm9, byte ptr [rsi + rax + 27], 10 - pinsrb xmm9, byte ptr [rsi + r15 + 27], 11 - pinsrb xmm9, byte ptr [rsi + r12 + 27], 12 + pinsrb xmm9, byte ptr [rsi + rax + 27], 4 + pinsrb xmm9, byte ptr [rsi + rcx + 27], 5 + pinsrb xmm9, byte ptr [rsi + rdx + 27], 6 + pinsrb xmm9, byte ptr [rsi + r8 + 27], 7 + pinsrb xmm9, byte ptr [rsi + r9 + 27], 8 + pinsrb xmm9, byte ptr [rsi + r10 + 27], 9 + pinsrb xmm9, byte ptr [rsi + r15 + 27], 10 + pinsrb xmm9, byte ptr [rsi + r12 + 27], 11 + pinsrb xmm9, byte ptr [rsi + r13 + 27], 12 pinsrb xmm9, byte ptr [rsi + rdi + 27], 13 pinsrb xmm9, byte ptr [rsi + rbx + 27], 14 - pinsrb xmm9, byte ptr [rsi + r10 + 27], 15 + pinsrb xmm9, byte ptr [rsi + r14 + 27], 15 pinsrb xmm4, byte ptr [rsi + r11 + 28], 3 - pinsrb xmm4, byte ptr [rsi + r14 + 28], 4 - pinsrb xmm4, byte ptr [rsi + r13 + 28], 5 - pinsrb xmm4, byte ptr [rsi + rcx + 28], 6 - pinsrb xmm4, byte ptr [rsi + rdx + 28], 7 - pinsrb xmm4, byte ptr [rsi + r8 + 28], 8 - pinsrb xmm4, byte ptr [rsi + r9 + 28], 9 - pinsrb xmm4, byte ptr [rsi + rax + 28], 10 - pinsrb xmm4, byte ptr [rsi + r15 + 28], 11 - pinsrb xmm4, byte ptr [rsi + r12 + 28], 12 + pinsrb xmm4, byte ptr [rsi + rax + 28], 4 + pinsrb xmm4, byte ptr [rsi + rcx + 28], 5 + pinsrb xmm4, byte ptr [rsi + rdx + 28], 6 + pinsrb xmm4, byte ptr [rsi + r8 + 28], 7 + pinsrb xmm4, byte ptr [rsi + r9 + 28], 8 + pinsrb xmm4, byte ptr [rsi + r10 + 28], 9 + pinsrb xmm4, byte ptr [rsi + r15 + 28], 10 + pinsrb xmm4, byte ptr [rsi + r12 + 28], 11 + pinsrb xmm4, byte ptr [rsi + r13 + 28], 12 pinsrb xmm4, byte ptr [rsi + rdi + 28], 13 pinsrb xmm4, byte ptr [rsi + rbx + 28], 14 - pinsrb xmm4, byte ptr [rsi + r10 + 28], 15 + pinsrb xmm4, byte ptr [rsi + r14 + 28], 15 pinsrb xmm13, byte ptr [rsi + r11 + 29], 3 - pinsrb xmm13, byte ptr [rsi + r14 + 29], 4 - pinsrb xmm13, byte ptr [rsi + r13 + 29], 5 - pinsrb xmm13, byte ptr [rsi + rcx + 29], 6 - pinsrb xmm13, byte ptr [rsi + rdx + 29], 7 - pinsrb xmm13, byte ptr [rsi + r8 + 29], 8 - pinsrb xmm13, byte ptr [rsi + r9 + 29], 9 - pinsrb xmm13, byte ptr [rsi + rax + 29], 10 - pinsrb xmm13, byte ptr [rsi + r15 + 29], 11 - pinsrb xmm13, byte ptr [rsi + r12 + 29], 12 + pinsrb xmm13, byte ptr [rsi + rax + 29], 4 + pinsrb xmm13, byte ptr [rsi + rcx + 29], 5 + pinsrb xmm13, byte ptr [rsi + rdx + 29], 6 + pinsrb xmm13, byte ptr [rsi + r8 + 29], 7 + pinsrb xmm13, byte ptr [rsi + r9 + 29], 8 + pinsrb xmm13, byte ptr [rsi + r10 + 29], 9 + pinsrb xmm13, byte ptr [rsi + r15 + 29], 10 + pinsrb xmm13, byte ptr [rsi + r12 + 29], 11 + pinsrb xmm13, byte ptr [rsi + r13 + 29], 12 pinsrb xmm13, byte ptr [rsi + rdi + 29], 13 pinsrb xmm13, byte ptr [rsi + rbx + 29], 14 movdqa xmm1, xmm15 @@ -37352,37 +38742,36 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 pcmpgtb xmm4, xmm15 pand xmm4, xmmword ptr [rip + .LCPI7_13] por xmm4, xmm9 - pinsrb xmm13, byte ptr [rsi + r10 + 29], 15 + pinsrb xmm13, byte ptr [rsi + r14 + 29], 15 pcmpgtb xmm13, xmm15 pand xmm13, xmm7 por xmm13, xmm4 pinsrb xmm12, byte ptr [rsi + r11 + 30], 3 pinsrb xmm0, byte ptr [rsi + r11 + 31], 3 - pinsrb xmm12, byte ptr [rsi + r14 + 30], 4 - pinsrb xmm0, byte ptr [rsi + r14 + 31], 4 - pinsrb xmm12, byte ptr [rsi + r13 + 30], 5 - pinsrb xmm0, byte ptr [rsi + r13 + 31], 5 - pinsrb xmm12, byte ptr [rsi + rcx + 30], 6 - pinsrb xmm0, byte ptr [rsi + rcx + 31], 6 - pinsrb xmm12, byte ptr [rsi + rdx + 30], 7 - pinsrb xmm0, byte ptr [rsi + rdx + 31], 7 - pinsrb xmm12, byte ptr [rsi + r8 + 30], 8 - pinsrb xmm0, byte ptr [rsi + r8 + 31], 8 - pinsrb xmm12, byte ptr [rsi + r9 + 30], 9 - pinsrb xmm0, byte ptr [rsi + r9 + 31], 9 - pinsrb xmm12, byte ptr [rsi + rax + 30], 10 - pinsrb xmm0, byte ptr [rsi + rax + 31], 10 - pinsrb xmm12, byte ptr [rsi + r15 + 30], 11 - pinsrb xmm0, byte ptr [rsi + r15 + 31], 11 - pinsrb xmm12, byte ptr [rsi + r12 + 30], 12 - pinsrb xmm0, byte ptr [rsi + r12 + 31], 12 + pinsrb xmm12, byte ptr [rsi + rax + 30], 4 + pinsrb xmm0, byte ptr [rsi + rax + 31], 4 + pinsrb xmm12, byte ptr [rsi + rcx + 30], 5 + pinsrb xmm0, byte ptr [rsi + rcx + 31], 5 + pinsrb xmm12, byte ptr [rsi + rdx + 30], 6 + pinsrb xmm0, byte ptr [rsi + rdx + 31], 6 + pinsrb xmm12, byte ptr [rsi + r8 + 30], 7 + pinsrb xmm0, byte ptr [rsi + r8 + 31], 7 + pinsrb xmm12, byte ptr [rsi + r9 + 30], 8 + pinsrb xmm0, byte ptr [rsi + r9 + 31], 8 + pinsrb xmm12, byte ptr [rsi + r10 + 30], 9 + pinsrb xmm0, byte ptr [rsi + r10 + 31], 9 + pinsrb xmm12, byte ptr [rsi + r15 + 30], 10 + pinsrb xmm0, byte ptr [rsi + r15 + 31], 10 + pinsrb xmm12, byte ptr [rsi + r12 + 30], 11 + pinsrb xmm0, byte ptr [rsi + r12 + 31], 11 + pinsrb xmm12, byte ptr [rsi + r13 + 30], 12 + pinsrb xmm0, byte ptr [rsi + r13 + 31], 12 pinsrb xmm12, byte ptr [rsi + rdi + 30], 13 pinsrb xmm0, byte ptr [rsi + rdi + 31], 13 pinsrb xmm12, byte ptr [rsi + rbx + 30], 14 pinsrb xmm0, byte ptr [rsi + rbx + 31], 14 - mov rax, qword ptr [rsp + 128] # 8-byte Reload - pinsrb xmm12, byte ptr [rsi + r10 + 30], 15 - pinsrb xmm0, byte ptr [rsi + r10 + 31], 15 + pinsrb xmm12, byte ptr [rsi + r14 + 30], 15 + pinsrb xmm0, byte ptr [rsi + r14 + 31], 15 por xmm13, xmm11 pcmpgtb xmm12, xmm15 pand xmm12, xmm5 @@ -37393,7 +38782,7 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 por xmm0, xmm13 movdqa xmm1, xmm8 punpcklbw xmm1, xmm0 # xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3],xmm1[4],xmm0[4],xmm1[5],xmm0[5],xmm1[6],xmm0[6],xmm1[7],xmm0[7] - movdqa xmm4, xmmword ptr [rsp + 208] # 16-byte Reload + movdqa xmm4, xmmword ptr [rsp + 160] # 16-byte Reload movdqa xmm2, xmm4 punpcklbw xmm2, xmm14 # xmm2 = xmm2[0],xmm14[0],xmm2[1],xmm14[1],xmm2[2],xmm14[2],xmm2[3],xmm14[3],xmm2[4],xmm14[4],xmm2[5],xmm14[5],xmm2[6],xmm14[6],xmm2[7],xmm14[7] movdqa xmm3, xmm2 @@ -37405,6 +38794,7 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 punpcklwd xmm0, xmm8 # xmm0 = xmm0[0],xmm8[0],xmm0[1],xmm8[1],xmm0[2],xmm8[2],xmm0[3],xmm8[3] punpckhwd xmm4, xmm8 # xmm4 = xmm4[4],xmm8[4],xmm4[5],xmm8[5],xmm4[6],xmm8[6],xmm4[7],xmm8[7] mov rcx, qword ptr [rsp + 240] # 8-byte Reload + mov rax, qword ptr [rsp] # 8-byte Reload movdqu xmmword ptr [rax + 4*rcx + 48], xmm4 movdqu xmmword ptr [rax + 4*rcx + 32], xmm0 movdqu xmmword ptr [rax + 4*rcx + 16], xmm2 @@ -37416,43 +38806,43 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 # %bb.86: mov r10, qword ptr [rsp + 288] # 8-byte Reload cmp r10, qword ptr [rsp + 232] # 8-byte Folded Reload - mov r14b, byte ptr [rsp] # 1-byte Reload + mov r12b, byte ptr [rsp + 8] # 1-byte Reload mov rsi, qword ptr [rsp + 264] # 8-byte Reload mov r11, qword ptr [rsp + 136] # 8-byte Reload jne .LBB7_87 jmp .LBB7_90 .LBB7_66: - and r10, -16 - mov rax, r10 + and r15, -16 + mov rax, r15 shl rax, 5 add rax, rsi mov qword ptr [rsp + 320], rax # 8-byte Spill - mov qword ptr [rsp + 232], r10 # 8-byte Spill - lea rax, [r12 + 4*r10] - mov qword ptr [rsp + 72], rax # 8-byte Spill - movzx eax, byte ptr [rsp + 40] # 1-byte Folded Reload + mov qword ptr [rsp + 232], r15 # 8-byte Spill + mov rax, qword ptr [rsp] # 8-byte Reload + lea rax, [rax + 4*r15] + mov qword ptr [rsp + 120], rax # 8-byte Spill + movzx eax, r10b movd xmm1, eax pxor xmm0, xmm0 pshufb xmm1, xmm0 movdqa xmmword ptr [rsp + 288], xmm1 # 16-byte Spill xor eax, eax - mov qword ptr [rsp + 128], r12 # 8-byte Spill .p2align 4, 0x90 .LBB7_67: # =>This Inner Loop Header: Depth=1 - mov qword ptr [rsp + 144], rax # 8-byte Spill - mov rax, qword ptr [rsp + 144] # 8-byte Reload + mov qword ptr [rsp + 176], rax # 8-byte Spill + mov rax, qword ptr [rsp + 176] # 8-byte Reload shl rax, 5 + mov qword ptr [rsp + 32], rax # 8-byte Spill + mov r14, rax mov rdx, rax - mov r12, rax - mov r11, rax mov rdi, rax - mov qword ptr [rsp + 8], rax # 8-byte Spill + mov r13, rax mov r9, rax - mov r15, rax mov r10, rax - mov r14, rax + mov r11, rax + mov r15, rax mov r8, rax - mov qword ptr [rsp + 104], rax # 8-byte Spill + mov qword ptr [rsp + 56], rax # 8-byte Spill movzx ecx, byte ptr [rsi + rax] movd xmm10, ecx movzx ecx, byte ptr [rsi + rax + 1] @@ -37469,12 +38859,12 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 movd xmm0, ecx movzx ecx, byte ptr [rsi + rax + 7] movd xmm1, ecx - movdqa xmmword ptr [rsp + 176], xmm1 # 16-byte Spill + movdqa xmmword ptr [rsp + 192], xmm1 # 16-byte Spill movzx ecx, byte ptr [rsi + rax + 8] movd xmm14, ecx movzx ecx, byte ptr [rsi + rax + 9] movd xmm1, ecx - movdqa xmmword ptr [rsp + 192], xmm1 # 16-byte Spill + movdqa xmmword ptr [rsp + 208], xmm1 # 16-byte Spill movzx ecx, byte ptr [rsi + rax + 10] movd xmm2, ecx movzx ecx, byte ptr [rsi + rax + 11] @@ -37484,171 +38874,172 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 movdqa xmmword ptr [rsp + 304], xmm1 # 16-byte Spill movzx ecx, byte ptr [rsi + rax + 16] movd xmm13, ecx - mov qword ptr [rsp + 96], rax # 8-byte Spill + mov qword ptr [rsp + 160], rax # 8-byte Spill movzx ecx, byte ptr [rsi + rax + 24] movd xmm15, ecx - mov r13, rax - or r13, 32 - mov qword ptr [rsp + 56], r13 # 8-byte Spill - or rdx, 64 - mov qword ptr [rsp + 88], rdx # 8-byte Spill - or r12, 96 - mov qword ptr [rsp + 16], r12 # 8-byte Spill - or r11, 128 + mov r12, rax + or r12, 32 + mov qword ptr [rsp + 96], r12 # 8-byte Spill + mov rcx, qword ptr [rsp + 32] # 8-byte Reload + or rcx, 64 + mov qword ptr [rsp + 32], rcx # 8-byte Spill + or r14, 96 + or rdx, 128 or rdi, 160 - mov rcx, qword ptr [rsp + 8] # 8-byte Reload - or rcx, 192 - mov qword ptr [rsp + 8], rcx # 8-byte Spill + or r13, 192 + mov qword ptr [rsp + 104], r13 # 8-byte Spill or r9, 224 - or r15, 256 - mov qword ptr [rsp + 112], r15 # 8-byte Spill - or r10, 288 - mov qword ptr [rsp + 120], r10 # 8-byte Spill - or r14, 320 + or r10, 256 + mov qword ptr [rsp + 112], r10 # 8-byte Spill + or r11, 288 + or r15, 320 or r8, 352 - mov qword ptr [rsp + 208], r8 # 8-byte Spill - mov r8, qword ptr [rsp + 104] # 8-byte Reload + mov qword ptr [rsp + 40], r8 # 8-byte Spill + mov r8, qword ptr [rsp + 56] # 8-byte Reload or r8, 384 mov rbx, rax or rbx, 416 - mov qword ptr [rsp], rbx # 8-byte Spill + mov qword ptr [rsp + 16], rbx # 8-byte Spill mov rbx, rax or rbx, 448 mov qword ptr [rsp + 24], rbx # 8-byte Spill - mov rbx, rax - or rbx, 480 - mov qword ptr [rsp + 32], rbx # 8-byte Spill - pinsrb xmm10, byte ptr [rsi + r13], 1 - pinsrb xmm10, byte ptr [rsi + rdx], 2 - pinsrb xmm10, byte ptr [rsi + r12], 3 - mov r12, r11 - mov qword ptr [rsp + 48], r11 # 8-byte Spill - pinsrb xmm10, byte ptr [rsi + r11], 4 + or rax, 480 + mov qword ptr [rsp + 72], rax # 8-byte Spill + pinsrb xmm10, byte ptr [rsi + r12], 1 + pinsrb xmm10, byte ptr [rsi + rcx], 2 + pinsrb xmm10, byte ptr [rsi + r14], 3 + mov qword ptr [rsp + 64], r14 # 8-byte Spill + pinsrb xmm10, byte ptr [rsi + rdx], 4 pinsrb xmm10, byte ptr [rsi + rdi], 5 - mov qword ptr [rsp + 64], rdi # 8-byte Spill - pinsrb xmm10, byte ptr [rsi + rcx], 6 + pinsrb xmm10, byte ptr [rsi + r13], 6 pinsrb xmm10, byte ptr [rsi + r9], 7 - mov r11, r9 - pinsrb xmm10, byte ptr [rsi + r15], 8 - pinsrb xmm10, byte ptr [rsi + r10], 9 - pinsrb xmm10, byte ptr [rsi + r14], 10 - mov r13, qword ptr [rsp + 208] # 8-byte Reload - pinsrb xmm10, byte ptr [rsi + r13], 11 + pinsrb xmm10, byte ptr [rsi + r10], 8 + pinsrb xmm10, byte ptr [rsi + r11], 9 + pinsrb xmm10, byte ptr [rsi + r15], 10 + mov r12, qword ptr [rsp + 40] # 8-byte Reload + pinsrb xmm10, byte ptr [rsi + r12], 11 pinsrb xmm10, byte ptr [rsi + r8], 12 - mov rax, qword ptr [rsp] # 8-byte Reload - pinsrb xmm10, byte ptr [rsi + rax], 13 - mov r15, rax + mov rbx, qword ptr [rsp + 16] # 8-byte Reload + pinsrb xmm10, byte ptr [rsi + rbx], 13 mov rax, qword ptr [rsp + 24] # 8-byte Reload pinsrb xmm10, byte ptr [rsi + rax], 14 - pinsrb xmm10, byte ptr [rsi + rbx], 15 + mov r10, qword ptr [rsp + 72] # 8-byte Reload + pinsrb xmm10, byte ptr [rsi + r10], 15 movdqa xmm8, xmm10 movdqa xmm12, xmmword ptr [rsp + 288] # 16-byte Reload pminub xmm8, xmm12 pcmpeqb xmm8, xmm10 - mov r9, qword ptr [rsp + 56] # 8-byte Reload - pinsrb xmm4, byte ptr [rsi + r9 + 1], 1 - pinsrb xmm4, byte ptr [rsi + rdx + 1], 2 - mov rbx, qword ptr [rsp + 16] # 8-byte Reload - pinsrb xmm4, byte ptr [rsi + rbx + 1], 3 - pinsrb xmm4, byte ptr [rsi + r12 + 1], 4 + mov rax, qword ptr [rsp + 96] # 8-byte Reload + pinsrb xmm4, byte ptr [rsi + rax + 1], 1 + pinsrb xmm4, byte ptr [rsi + rcx + 1], 2 + pinsrb xmm4, byte ptr [rsi + r14 + 1], 3 + pinsrb xmm4, byte ptr [rsi + rdx + 1], 4 pinsrb xmm4, byte ptr [rsi + rdi + 1], 5 - pinsrb xmm4, byte ptr [rsi + rcx + 1], 6 - pinsrb xmm4, byte ptr [rsi + r11 + 1], 7 - mov r10, qword ptr [rsp + 112] # 8-byte Reload - pinsrb xmm4, byte ptr [rsi + r10 + 1], 8 - mov rbx, qword ptr [rsp + 120] # 8-byte Reload - pinsrb xmm4, byte ptr [rsi + rbx + 1], 9 - pinsrb xmm4, byte ptr [rsi + r14 + 1], 10 - pinsrb xmm4, byte ptr [rsi + r13 + 1], 11 + pinsrb xmm4, byte ptr [rsi + r13 + 1], 6 + mov r14, r9 + pinsrb xmm4, byte ptr [rsi + r9 + 1], 7 + mov rbx, qword ptr [rsp + 112] # 8-byte Reload + pinsrb xmm4, byte ptr [rsi + rbx + 1], 8 + pinsrb xmm4, byte ptr [rsi + r11 + 1], 9 + pinsrb xmm4, byte ptr [rsi + r15 + 1], 10 + pinsrb xmm4, byte ptr [rsi + r12 + 1], 11 pinsrb xmm4, byte ptr [rsi + r8 + 1], 12 - pinsrb xmm4, byte ptr [rsi + r15 + 1], 13 + mov r9, qword ptr [rsp + 16] # 8-byte Reload + pinsrb xmm4, byte ptr [rsi + r9 + 1], 13 + mov rax, qword ptr [rsp + 24] # 8-byte Reload pinsrb xmm4, byte ptr [rsi + rax + 1], 14 - mov rax, qword ptr [rsp + 32] # 8-byte Reload - pinsrb xmm4, byte ptr [rsi + rax + 1], 15 + pinsrb xmm4, byte ptr [rsi + r10 + 1], 15 + mov r9, qword ptr [rsp + 96] # 8-byte Reload pinsrb xmm6, byte ptr [rsi + r9 + 2], 1 - pinsrb xmm6, byte ptr [rsi + rdx + 2], 2 - mov r15, qword ptr [rsp + 16] # 8-byte Reload - pinsrb xmm6, byte ptr [rsi + r15 + 2], 3 - pinsrb xmm6, byte ptr [rsi + r12 + 2], 4 + pinsrb xmm6, byte ptr [rsi + rcx + 2], 2 + mov rax, qword ptr [rsp + 64] # 8-byte Reload + pinsrb xmm6, byte ptr [rsi + rax + 2], 3 + pinsrb xmm6, byte ptr [rsi + rdx + 2], 4 pinsrb xmm6, byte ptr [rsi + rdi + 2], 5 - pinsrb xmm6, byte ptr [rsi + rcx + 2], 6 - pinsrb xmm6, byte ptr [rsi + r11 + 2], 7 - pinsrb xmm6, byte ptr [rsi + r10 + 2], 8 - pinsrb xmm6, byte ptr [rsi + rbx + 2], 9 - pinsrb xmm6, byte ptr [rsi + r14 + 2], 10 - pinsrb xmm6, byte ptr [rsi + r13 + 2], 11 + pinsrb xmm6, byte ptr [rsi + r13 + 2], 6 + pinsrb xmm6, byte ptr [rsi + r14 + 2], 7 + pinsrb xmm6, byte ptr [rsi + rbx + 2], 8 + pinsrb xmm6, byte ptr [rsi + r11 + 2], 9 + pinsrb xmm6, byte ptr [rsi + r15 + 2], 10 + pinsrb xmm6, byte ptr [rsi + r12 + 2], 11 pinsrb xmm6, byte ptr [rsi + r8 + 2], 12 - mov rdi, qword ptr [rsp] # 8-byte Reload - pinsrb xmm6, byte ptr [rsi + rdi + 2], 13 - mov r15, qword ptr [rsp + 24] # 8-byte Reload - pinsrb xmm6, byte ptr [rsi + r15 + 2], 14 - pinsrb xmm6, byte ptr [rsi + rax + 2], 15 + mov rax, qword ptr [rsp + 16] # 8-byte Reload + pinsrb xmm6, byte ptr [rsi + rax + 2], 13 + mov rax, qword ptr [rsp + 24] # 8-byte Reload + pinsrb xmm6, byte ptr [rsi + rax + 2], 14 + pinsrb xmm6, byte ptr [rsi + r10 + 2], 15 pinsrb xmm14, byte ptr [rsi + r9 + 8], 1 - pinsrb xmm14, byte ptr [rsi + rdx + 8], 2 - mov r15, qword ptr [rsp + 16] # 8-byte Reload - pinsrb xmm14, byte ptr [rsi + r15 + 8], 3 - pinsrb xmm14, byte ptr [rsi + r12 + 8], 4 - mov rdi, qword ptr [rsp + 64] # 8-byte Reload + pinsrb xmm14, byte ptr [rsi + rcx + 8], 2 + mov rax, qword ptr [rsp + 64] # 8-byte Reload + pinsrb xmm14, byte ptr [rsi + rax + 8], 3 + pinsrb xmm14, byte ptr [rsi + rdx + 8], 4 pinsrb xmm14, byte ptr [rsi + rdi + 8], 5 - pinsrb xmm14, byte ptr [rsi + rcx + 8], 6 - pinsrb xmm14, byte ptr [rsi + r11 + 8], 7 - pinsrb xmm14, byte ptr [rsi + r10 + 8], 8 - pinsrb xmm14, byte ptr [rsi + rbx + 8], 9 - pinsrb xmm14, byte ptr [rsi + r14 + 8], 10 - pinsrb xmm14, byte ptr [rsi + r13 + 8], 11 + pinsrb xmm14, byte ptr [rsi + r13 + 8], 6 + pinsrb xmm14, byte ptr [rsi + r14 + 8], 7 + pinsrb xmm14, byte ptr [rsi + rbx + 8], 8 + pinsrb xmm14, byte ptr [rsi + r11 + 8], 9 + pinsrb xmm14, byte ptr [rsi + r15 + 8], 10 + pinsrb xmm14, byte ptr [rsi + r12 + 8], 11 pinsrb xmm14, byte ptr [rsi + r8 + 8], 12 - mov rax, qword ptr [rsp] # 8-byte Reload + mov rax, qword ptr [rsp + 16] # 8-byte Reload pinsrb xmm14, byte ptr [rsi + rax + 8], 13 mov rax, qword ptr [rsp + 24] # 8-byte Reload pinsrb xmm14, byte ptr [rsi + rax + 8], 14 - mov r10, qword ptr [rsp + 32] # 8-byte Reload pinsrb xmm14, byte ptr [rsi + r10 + 8], 15 movdqa xmm10, xmm14 pminub xmm10, xmm12 pcmpeqb xmm10, xmm14 pinsrb xmm13, byte ptr [rsi + r9 + 16], 1 - pinsrb xmm13, byte ptr [rsi + rdx + 16], 2 - mov r9, r15 - pinsrb xmm13, byte ptr [rsi + r15 + 16], 3 - pinsrb xmm13, byte ptr [rsi + r12 + 16], 4 + pinsrb xmm13, byte ptr [rsi + rcx + 16], 2 + mov rax, qword ptr [rsp + 64] # 8-byte Reload + pinsrb xmm13, byte ptr [rsi + rax + 16], 3 + pinsrb xmm13, byte ptr [rsi + rdx + 16], 4 + mov rax, rdx + mov qword ptr [rsp + 88], rdx # 8-byte Spill pinsrb xmm13, byte ptr [rsi + rdi + 16], 5 - pinsrb xmm13, byte ptr [rsi + rcx + 16], 6 - pinsrb xmm13, byte ptr [rsi + r11 + 16], 7 - mov r15, qword ptr [rsp + 112] # 8-byte Reload - pinsrb xmm13, byte ptr [rsi + r15 + 16], 8 - pinsrb xmm13, byte ptr [rsi + rbx + 16], 9 - pinsrb xmm13, byte ptr [rsi + r14 + 16], 10 - pinsrb xmm13, byte ptr [rsi + r13 + 16], 11 + mov qword ptr [rsp + 80], rdi # 8-byte Spill + pinsrb xmm13, byte ptr [rsi + r13 + 16], 6 + pinsrb xmm13, byte ptr [rsi + r14 + 16], 7 + pinsrb xmm13, byte ptr [rsi + rbx + 16], 8 + mov r13, rbx + pinsrb xmm13, byte ptr [rsi + r11 + 16], 9 + mov qword ptr [rsp + 128], r11 # 8-byte Spill + pinsrb xmm13, byte ptr [rsi + r15 + 16], 10 + mov qword ptr [rsp + 48], r15 # 8-byte Spill + pinsrb xmm13, byte ptr [rsi + r12 + 16], 11 pinsrb xmm13, byte ptr [rsi + r8 + 16], 12 - mov r12, qword ptr [rsp] # 8-byte Reload - pinsrb xmm13, byte ptr [rsi + r12 + 16], 13 - mov rcx, qword ptr [rsp + 24] # 8-byte Reload - pinsrb xmm13, byte ptr [rsi + rcx + 16], 14 - pinsrb xmm13, byte ptr [rsi + r10 + 16], 15 + mov rbx, r8 + mov qword ptr [rsp + 56], r8 # 8-byte Spill + mov rdx, qword ptr [rsp + 16] # 8-byte Reload + pinsrb xmm13, byte ptr [rsi + rdx + 16], 13 + mov r10, qword ptr [rsp + 24] # 8-byte Reload + pinsrb xmm13, byte ptr [rsi + r10 + 16], 14 + mov r8, qword ptr [rsp + 72] # 8-byte Reload + pinsrb xmm13, byte ptr [rsi + r8 + 16], 15 movdqa xmm3, xmm13 pminub xmm3, xmm12 pcmpeqb xmm3, xmm13 movdqa xmmword ptr [rsp + 272], xmm3 # 16-byte Spill - mov rax, qword ptr [rsp + 56] # 8-byte Reload - pinsrb xmm15, byte ptr [rsi + rax + 24], 1 - pinsrb xmm15, byte ptr [rsi + rdx + 24], 2 + pinsrb xmm15, byte ptr [rsi + r9 + 24], 1 + pinsrb xmm15, byte ptr [rsi + rcx + 24], 2 + mov r9, qword ptr [rsp + 64] # 8-byte Reload pinsrb xmm15, byte ptr [rsi + r9 + 24], 3 - mov r9, qword ptr [rsp + 48] # 8-byte Reload - pinsrb xmm15, byte ptr [rsi + r9 + 24], 4 + pinsrb xmm15, byte ptr [rsi + rax + 24], 4 pinsrb xmm15, byte ptr [rsi + rdi + 24], 5 - mov rax, qword ptr [rsp + 8] # 8-byte Reload + mov rax, qword ptr [rsp + 104] # 8-byte Reload pinsrb xmm15, byte ptr [rsi + rax + 24], 6 - pinsrb xmm15, byte ptr [rsi + r11 + 24], 7 - pinsrb xmm15, byte ptr [rsi + r15 + 24], 8 - pinsrb xmm15, byte ptr [rsi + rbx + 24], 9 - pinsrb xmm15, byte ptr [rsi + r14 + 24], 10 - pinsrb xmm15, byte ptr [rsi + r13 + 24], 11 - pinsrb xmm15, byte ptr [rsi + r8 + 24], 12 - pinsrb xmm15, byte ptr [rsi + r12 + 24], 13 - mov r15, r12 - pinsrb xmm15, byte ptr [rsi + rcx + 24], 14 - mov rax, rcx - pinsrb xmm15, byte ptr [rsi + r10 + 24], 15 + pinsrb xmm15, byte ptr [rsi + r14 + 24], 7 + pinsrb xmm15, byte ptr [rsi + r13 + 24], 8 + mov rax, r13 + pinsrb xmm15, byte ptr [rsi + r11 + 24], 9 + pinsrb xmm15, byte ptr [rsi + r15 + 24], 10 + pinsrb xmm15, byte ptr [rsi + r12 + 24], 11 + mov rcx, r12 + pinsrb xmm15, byte ptr [rsi + rbx + 24], 12 + pinsrb xmm15, byte ptr [rsi + rdx + 24], 13 + pinsrb xmm15, byte ptr [rsi + r10 + 24], 14 + mov r13, r10 + pinsrb xmm15, byte ptr [rsi + r8 + 24], 15 movdqa xmm3, xmm15 pminub xmm3, xmm12 pcmpeqb xmm3, xmm15 @@ -37663,104 +39054,106 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 movdqa xmm14, xmm6 pminub xmm14, xmm12 pcmpeqb xmm14, xmm6 - mov rcx, qword ptr [rsp + 96] # 8-byte Reload - movzx edx, byte ptr [rsi + rcx + 13] + mov rdx, qword ptr [rsp + 160] # 8-byte Reload + movzx edx, byte ptr [rsi + rdx + 13] movd xmm6, edx - mov r12, qword ptr [rsp + 56] # 8-byte Reload - pinsrb xmm5, byte ptr [rsi + r12 + 3], 1 - mov rcx, qword ptr [rsp + 88] # 8-byte Reload - pinsrb xmm5, byte ptr [rsi + rcx + 3], 2 - mov rdx, qword ptr [rsp + 16] # 8-byte Reload - pinsrb xmm5, byte ptr [rsi + rdx + 3], 3 - pinsrb xmm5, byte ptr [rsi + r9 + 3], 4 - mov r10, qword ptr [rsp + 64] # 8-byte Reload - pinsrb xmm5, byte ptr [rsi + r10 + 3], 5 - mov rdx, qword ptr [rsp + 8] # 8-byte Reload + mov rdi, qword ptr [rsp + 96] # 8-byte Reload + pinsrb xmm5, byte ptr [rsi + rdi + 3], 1 + mov r11, qword ptr [rsp + 32] # 8-byte Reload + pinsrb xmm5, byte ptr [rsi + r11 + 3], 2 + pinsrb xmm5, byte ptr [rsi + r9 + 3], 3 + mov rbx, qword ptr [rsp + 88] # 8-byte Reload + pinsrb xmm5, byte ptr [rsi + rbx + 3], 4 + mov rdx, qword ptr [rsp + 80] # 8-byte Reload + pinsrb xmm5, byte ptr [rsi + rdx + 3], 5 + mov rdx, qword ptr [rsp + 104] # 8-byte Reload pinsrb xmm5, byte ptr [rsi + rdx + 3], 6 - mov qword ptr [rsp + 80], r11 # 8-byte Spill - pinsrb xmm5, byte ptr [rsi + r11 + 3], 7 - mov r9, qword ptr [rsp + 112] # 8-byte Reload - pinsrb xmm5, byte ptr [rsi + r9 + 3], 8 - pinsrb xmm5, byte ptr [rsi + rbx + 3], 9 - mov qword ptr [rsp + 160], r14 # 8-byte Spill - pinsrb xmm5, byte ptr [rsi + r14 + 3], 10 - pinsrb xmm5, byte ptr [rsi + r13 + 3], 11 - pinsrb xmm5, byte ptr [rsi + r8 + 3], 12 - pinsrb xmm5, byte ptr [rsi + r15 + 3], 13 - pinsrb xmm5, byte ptr [rsi + rax + 3], 14 - mov r15, qword ptr [rsp + 32] # 8-byte Reload - pinsrb xmm5, byte ptr [rsi + r15 + 3], 15 - pinsrb xmm9, byte ptr [rsi + r12 + 4], 1 - pinsrb xmm9, byte ptr [rsi + rcx + 4], 2 - mov rdi, qword ptr [rsp + 16] # 8-byte Reload - pinsrb xmm9, byte ptr [rsi + rdi + 4], 3 - mov rdi, qword ptr [rsp + 48] # 8-byte Reload - pinsrb xmm9, byte ptr [rsi + rdi + 4], 4 - pinsrb xmm9, byte ptr [rsi + r10 + 4], 5 + mov qword ptr [rsp + 144], r14 # 8-byte Spill + pinsrb xmm5, byte ptr [rsi + r14 + 3], 7 + pinsrb xmm5, byte ptr [rsi + rax + 3], 8 + mov r15, qword ptr [rsp + 128] # 8-byte Reload + pinsrb xmm5, byte ptr [rsi + r15 + 3], 9 + mov r12, qword ptr [rsp + 48] # 8-byte Reload + pinsrb xmm5, byte ptr [rsi + r12 + 3], 10 + pinsrb xmm5, byte ptr [rsi + rcx + 3], 11 + mov rax, qword ptr [rsp + 56] # 8-byte Reload + pinsrb xmm5, byte ptr [rsi + rax + 3], 12 + mov r10, qword ptr [rsp + 16] # 8-byte Reload + pinsrb xmm5, byte ptr [rsi + r10 + 3], 13 + mov r14, r13 + pinsrb xmm5, byte ptr [rsi + r13 + 3], 14 + mov r13, qword ptr [rsp + 72] # 8-byte Reload + pinsrb xmm5, byte ptr [rsi + r13 + 3], 15 + pinsrb xmm9, byte ptr [rsi + rdi + 4], 1 + pinsrb xmm9, byte ptr [rsi + r11 + 4], 2 + pinsrb xmm9, byte ptr [rsi + r9 + 4], 3 + pinsrb xmm9, byte ptr [rsi + rbx + 4], 4 + mov r8, qword ptr [rsp + 80] # 8-byte Reload + pinsrb xmm9, byte ptr [rsi + r8 + 4], 5 pinsrb xmm9, byte ptr [rsi + rdx + 4], 6 - pinsrb xmm9, byte ptr [rsi + r11 + 4], 7 - pinsrb xmm9, byte ptr [rsi + r9 + 4], 8 - pinsrb xmm9, byte ptr [rsi + rbx + 4], 9 - pinsrb xmm9, byte ptr [rsi + r14 + 4], 10 - pinsrb xmm9, byte ptr [rsi + r13 + 4], 11 - pinsrb xmm9, byte ptr [rsi + r8 + 4], 12 - mov rdi, qword ptr [rsp] # 8-byte Reload - pinsrb xmm9, byte ptr [rsi + rdi + 4], 13 - pinsrb xmm9, byte ptr [rsi + rax + 4], 14 - pinsrb xmm9, byte ptr [rsi + r15 + 4], 15 - pinsrb xmm7, byte ptr [rsi + r12 + 5], 1 - pinsrb xmm7, byte ptr [rsi + rcx + 5], 2 - mov rdi, qword ptr [rsp + 16] # 8-byte Reload - pinsrb xmm7, byte ptr [rsi + rdi + 5], 3 - mov rdi, qword ptr [rsp + 48] # 8-byte Reload - pinsrb xmm7, byte ptr [rsi + rdi + 5], 4 - pinsrb xmm7, byte ptr [rsi + r10 + 5], 5 + mov rcx, qword ptr [rsp + 144] # 8-byte Reload + pinsrb xmm9, byte ptr [rsi + rcx + 4], 7 + mov rcx, qword ptr [rsp + 112] # 8-byte Reload + pinsrb xmm9, byte ptr [rsi + rcx + 4], 8 + pinsrb xmm9, byte ptr [rsi + r15 + 4], 9 + pinsrb xmm9, byte ptr [rsi + r12 + 4], 10 + mov rcx, qword ptr [rsp + 40] # 8-byte Reload + pinsrb xmm9, byte ptr [rsi + rcx + 4], 11 + mov r8, rax + pinsrb xmm9, byte ptr [rsi + rax + 4], 12 + pinsrb xmm9, byte ptr [rsi + r10 + 4], 13 + pinsrb xmm9, byte ptr [rsi + r14 + 4], 14 + pinsrb xmm9, byte ptr [rsi + r13 + 4], 15 + pinsrb xmm7, byte ptr [rsi + rdi + 5], 1 + pinsrb xmm7, byte ptr [rsi + r11 + 5], 2 + pinsrb xmm7, byte ptr [rsi + r9 + 5], 3 + pinsrb xmm7, byte ptr [rsi + rbx + 5], 4 + mov rax, qword ptr [rsp + 80] # 8-byte Reload + pinsrb xmm7, byte ptr [rsi + rax + 5], 5 pinsrb xmm7, byte ptr [rsi + rdx + 5], 6 - pinsrb xmm7, byte ptr [rsi + r11 + 5], 7 - pinsrb xmm7, byte ptr [rsi + r9 + 5], 8 - pinsrb xmm7, byte ptr [rsi + rbx + 5], 9 - pinsrb xmm7, byte ptr [rsi + r14 + 5], 10 - pinsrb xmm7, byte ptr [rsi + r13 + 5], 11 + mov rax, qword ptr [rsp + 144] # 8-byte Reload + pinsrb xmm7, byte ptr [rsi + rax + 5], 7 + mov rcx, qword ptr [rsp + 112] # 8-byte Reload + pinsrb xmm7, byte ptr [rsi + rcx + 5], 8 + pinsrb xmm7, byte ptr [rsi + r15 + 5], 9 + pinsrb xmm7, byte ptr [rsi + r12 + 5], 10 + mov rax, qword ptr [rsp + 40] # 8-byte Reload + pinsrb xmm7, byte ptr [rsi + rax + 5], 11 pinsrb xmm7, byte ptr [rsi + r8 + 5], 12 - mov rdi, qword ptr [rsp] # 8-byte Reload - pinsrb xmm7, byte ptr [rsi + rdi + 5], 13 - pinsrb xmm7, byte ptr [rsi + rax + 5], 14 - pinsrb xmm7, byte ptr [rsi + r15 + 5], 15 - pinsrb xmm0, byte ptr [rsi + r12 + 6], 1 - pinsrb xmm0, byte ptr [rsi + rcx + 6], 2 - mov r15, rcx - mov r12, qword ptr [rsp + 16] # 8-byte Reload - pinsrb xmm0, byte ptr [rsi + r12 + 6], 3 - mov rcx, qword ptr [rsp + 48] # 8-byte Reload - pinsrb xmm0, byte ptr [rsi + rcx + 6], 4 - pinsrb xmm0, byte ptr [rsi + r10 + 6], 5 + pinsrb xmm7, byte ptr [rsi + r10 + 5], 13 + pinsrb xmm7, byte ptr [rsi + r14 + 5], 14 + pinsrb xmm7, byte ptr [rsi + r13 + 5], 15 + pinsrb xmm0, byte ptr [rsi + rdi + 6], 1 + pinsrb xmm0, byte ptr [rsi + r11 + 6], 2 + pinsrb xmm0, byte ptr [rsi + r9 + 6], 3 + pinsrb xmm0, byte ptr [rsi + rbx + 6], 4 + mov rdi, qword ptr [rsp + 80] # 8-byte Reload + pinsrb xmm0, byte ptr [rsi + rdi + 6], 5 pinsrb xmm0, byte ptr [rsi + rdx + 6], 6 - pinsrb xmm0, byte ptr [rsi + r11 + 6], 7 - pinsrb xmm0, byte ptr [rsi + r9 + 6], 8 - mov r11, r9 - pinsrb xmm0, byte ptr [rsi + rbx + 6], 9 - pinsrb xmm0, byte ptr [rsi + r14 + 6], 10 - pinsrb xmm0, byte ptr [rsi + r13 + 6], 11 - mov r14, r13 + mov r9, qword ptr [rsp + 144] # 8-byte Reload + pinsrb xmm0, byte ptr [rsi + r9 + 6], 7 + pinsrb xmm0, byte ptr [rsi + rcx + 6], 8 + pinsrb xmm0, byte ptr [rsi + r15 + 6], 9 + pinsrb xmm0, byte ptr [rsi + r12 + 6], 10 + pinsrb xmm0, byte ptr [rsi + rax + 6], 11 pinsrb xmm0, byte ptr [rsi + r8 + 6], 12 - mov r13, r8 - mov r8, qword ptr [rsp] # 8-byte Reload - pinsrb xmm0, byte ptr [rsi + r8 + 6], 13 + pinsrb xmm0, byte ptr [rsi + r10 + 6], 13 pandn xmm8, xmm4 - pinsrb xmm0, byte ptr [rsi + rax + 6], 14 + pinsrb xmm0, byte ptr [rsi + r14 + 6], 14 + mov r12, r14 movdqa xmm4, xmmword ptr [rip + .LCPI7_11] # xmm4 = [4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4] pandn xmm14, xmm4 por xmm14, xmm8 movdqa xmm15, xmm5 pminub xmm15, xmm12 pcmpeqb xmm15, xmm5 - mov rax, qword ptr [rsp + 96] # 8-byte Reload - movzx edx, byte ptr [rsi + rax + 14] + mov rbx, qword ptr [rsp + 160] # 8-byte Reload + movzx edx, byte ptr [rsi + rbx + 14] movd xmm5, edx movdqa xmm4, xmmword ptr [rip + .LCPI7_12] # xmm4 = [8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8] pandn xmm15, xmm4 por xmm15, xmm14 - movzx edx, byte ptr [rsi + rax + 15] + movzx edx, byte ptr [rsi + rbx + 15] movd xmm8, edx pcmpeqd xmm3, xmm3 psubb xmm13, xmm3 @@ -37772,10 +39165,9 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 movdqa xmm9, xmm7 pminub xmm9, xmm12 pcmpeqb xmm9, xmm7 - movzx edx, byte ptr [rsi + rax + 17] + movzx edx, byte ptr [rsi + rbx + 17] movd xmm7, edx - mov rdi, qword ptr [rsp + 32] # 8-byte Reload - pinsrb xmm0, byte ptr [rsi + rdi + 6], 15 + pinsrb xmm0, byte ptr [rsi + r13 + 6], 15 movdqa xmm1, xmmword ptr [rip + .LCPI7_13] # xmm1 = [16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16] pandn xmm4, xmm1 movdqa xmm1, xmmword ptr [rip + .LCPI7_14] # xmm1 = [32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32] @@ -37784,39 +39176,42 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 movdqa xmm4, xmm0 pminub xmm4, xmm12 pcmpeqb xmm4, xmm0 - movzx edx, byte ptr [rsi + rax + 18] + movzx edx, byte ptr [rsi + rbx + 18] movd xmm1, edx - movdqa xmm0, xmmword ptr [rsp + 176] # 16-byte Reload - mov rcx, qword ptr [rsp + 56] # 8-byte Reload - pinsrb xmm0, byte ptr [rsi + rcx + 7], 1 - pinsrb xmm0, byte ptr [rsi + r15 + 7], 2 - mov rbx, r12 - pinsrb xmm0, byte ptr [rsi + r12 + 7], 3 - mov r9, qword ptr [rsp + 48] # 8-byte Reload - pinsrb xmm0, byte ptr [rsi + r9 + 7], 4 - pinsrb xmm0, byte ptr [rsi + r10 + 7], 5 - mov r15, qword ptr [rsp + 8] # 8-byte Reload + movdqa xmm0, xmmword ptr [rsp + 192] # 16-byte Reload + mov r10, qword ptr [rsp + 96] # 8-byte Reload + pinsrb xmm0, byte ptr [rsi + r10 + 7], 1 + mov r11, qword ptr [rsp + 32] # 8-byte Reload + pinsrb xmm0, byte ptr [rsi + r11 + 7], 2 + mov r14, qword ptr [rsp + 64] # 8-byte Reload + pinsrb xmm0, byte ptr [rsi + r14 + 7], 3 + mov rcx, qword ptr [rsp + 88] # 8-byte Reload + pinsrb xmm0, byte ptr [rsi + rcx + 7], 4 + pinsrb xmm0, byte ptr [rsi + rdi + 7], 5 + mov r15, qword ptr [rsp + 104] # 8-byte Reload pinsrb xmm0, byte ptr [rsi + r15 + 7], 6 - mov rdx, qword ptr [rsp + 80] # 8-byte Reload - pinsrb xmm0, byte ptr [rsi + rdx + 7], 7 - pinsrb xmm0, byte ptr [rsi + r11 + 7], 8 - mov r12, qword ptr [rsp + 120] # 8-byte Reload - pinsrb xmm0, byte ptr [rsi + r12 + 7], 9 - mov r11, qword ptr [rsp + 160] # 8-byte Reload - pinsrb xmm0, byte ptr [rsi + r11 + 7], 10 - pinsrb xmm0, byte ptr [rsi + r14 + 7], 11 - pinsrb xmm0, byte ptr [rsi + r13 + 7], 12 - pinsrb xmm0, byte ptr [rsi + r8 + 7], 13 - mov rdx, qword ptr [rsp + 24] # 8-byte Reload - pinsrb xmm0, byte ptr [rsi + rdx + 7], 14 - pinsrb xmm0, byte ptr [rsi + rdi + 7], 15 + pinsrb xmm0, byte ptr [rsi + r9 + 7], 7 + mov rcx, qword ptr [rsp + 112] # 8-byte Reload + pinsrb xmm0, byte ptr [rsi + rcx + 7], 8 + mov rcx, qword ptr [rsp + 128] # 8-byte Reload + pinsrb xmm0, byte ptr [rsi + rcx + 7], 9 + mov rcx, qword ptr [rsp + 48] # 8-byte Reload + pinsrb xmm0, byte ptr [rsi + rcx + 7], 10 + mov r8, qword ptr [rsp + 40] # 8-byte Reload + pinsrb xmm0, byte ptr [rsi + r8 + 7], 11 + mov rcx, qword ptr [rsp + 56] # 8-byte Reload + pinsrb xmm0, byte ptr [rsi + rcx + 7], 12 + mov rdx, qword ptr [rsp + 16] # 8-byte Reload + pinsrb xmm0, byte ptr [rsi + rdx + 7], 13 + pinsrb xmm0, byte ptr [rsi + r12 + 7], 14 + pinsrb xmm0, byte ptr [rsi + r13 + 7], 15 movdqa xmm3, xmmword ptr [rip + .LCPI7_15] # xmm3 = [64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64] pandn xmm4, xmm3 por xmm4, xmm9 movdqa xmm9, xmm0 pminub xmm9, xmm12 pcmpeqb xmm9, xmm0 - movzx edx, byte ptr [rsi + rax + 19] + movzx edx, byte ptr [rsi + rbx + 19] movd xmm3, edx pxor xmm9, xmm14 psllw xmm9, 7 @@ -37824,55 +39219,56 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 pand xmm9, xmm0 por xmm9, xmm4 movdqa xmm4, xmm9 - movzx edx, byte ptr [rsi + rax + 20] + movzx edx, byte ptr [rsi + rbx + 20] movd xmm9, edx - movdqa xmm0, xmmword ptr [rsp + 192] # 16-byte Reload - pinsrb xmm0, byte ptr [rsi + rcx + 9], 1 - mov rax, rcx - mov rcx, qword ptr [rsp + 88] # 8-byte Reload - pinsrb xmm0, byte ptr [rsi + rcx + 9], 2 - pinsrb xmm0, byte ptr [rsi + rbx + 9], 3 - pinsrb xmm0, byte ptr [rsi + r9 + 9], 4 - pinsrb xmm0, byte ptr [rsi + r10 + 9], 5 + movdqa xmm0, xmmword ptr [rsp + 208] # 16-byte Reload + mov r12, r10 + pinsrb xmm0, byte ptr [rsi + r10 + 9], 1 + pinsrb xmm0, byte ptr [rsi + r11 + 9], 2 + mov r13, r14 + pinsrb xmm0, byte ptr [rsi + r14 + 9], 3 + mov rax, qword ptr [rsp + 88] # 8-byte Reload + pinsrb xmm0, byte ptr [rsi + rax + 9], 4 + pinsrb xmm0, byte ptr [rsi + rdi + 9], 5 + mov r9, r15 pinsrb xmm0, byte ptr [rsi + r15 + 9], 6 - mov r8, r15 - mov rdi, qword ptr [rsp + 80] # 8-byte Reload - pinsrb xmm0, byte ptr [rsi + rdi + 9], 7 - mov r15, qword ptr [rsp + 112] # 8-byte Reload - pinsrb xmm0, byte ptr [rsi + r15 + 9], 8 - pinsrb xmm0, byte ptr [rsi + r12 + 9], 9 - mov r10, r12 - pinsrb xmm0, byte ptr [rsi + r11 + 9], 10 - pinsrb xmm0, byte ptr [rsi + r14 + 9], 11 - pinsrb xmm0, byte ptr [rsi + r13 + 9], 12 - mov qword ptr [rsp + 104], r13 # 8-byte Spill - mov r12, qword ptr [rsp] # 8-byte Reload - pinsrb xmm0, byte ptr [rsi + r12 + 9], 13 - mov r9, qword ptr [rsp + 24] # 8-byte Reload - pinsrb xmm0, byte ptr [rsi + r9 + 9], 14 - mov rdx, qword ptr [rsp + 32] # 8-byte Reload - pinsrb xmm0, byte ptr [rsi + rdx + 9], 15 - pinsrb xmm2, byte ptr [rsi + rax + 10], 1 - pinsrb xmm2, byte ptr [rsi + rcx + 10], 2 - pinsrb xmm2, byte ptr [rsi + rbx + 10], 3 - mov rbx, qword ptr [rsp + 48] # 8-byte Reload - pinsrb xmm2, byte ptr [rsi + rbx + 10], 4 - mov rax, qword ptr [rsp + 64] # 8-byte Reload - pinsrb xmm2, byte ptr [rsi + rax + 10], 5 - pinsrb xmm2, byte ptr [rsi + r8 + 10], 6 - pinsrb xmm2, byte ptr [rsi + rdi + 10], 7 - pinsrb xmm2, byte ptr [rsi + r15 + 10], 8 - pinsrb xmm2, byte ptr [rsi + r10 + 10], 9 - pinsrb xmm2, byte ptr [rsi + r11 + 10], 10 - pinsrb xmm2, byte ptr [rsi + r14 + 10], 11 - pinsrb xmm2, byte ptr [rsi + r13 + 10], 12 - pinsrb xmm2, byte ptr [rsi + r12 + 10], 13 - pinsrb xmm2, byte ptr [rsi + r9 + 10], 14 - mov r11, r9 - pinsrb xmm2, byte ptr [rsi + rdx + 10], 15 - mov r12, rdx + mov rdx, qword ptr [rsp + 144] # 8-byte Reload + pinsrb xmm0, byte ptr [rsi + rdx + 9], 7 + mov r14, qword ptr [rsp + 112] # 8-byte Reload + pinsrb xmm0, byte ptr [rsi + r14 + 9], 8 + mov r11, qword ptr [rsp + 128] # 8-byte Reload + pinsrb xmm0, byte ptr [rsi + r11 + 9], 9 + mov r15, qword ptr [rsp + 48] # 8-byte Reload + pinsrb xmm0, byte ptr [rsi + r15 + 9], 10 + pinsrb xmm0, byte ptr [rsi + r8 + 9], 11 + pinsrb xmm0, byte ptr [rsi + rcx + 9], 12 + mov rbx, qword ptr [rsp + 16] # 8-byte Reload + pinsrb xmm0, byte ptr [rsi + rbx + 9], 13 + mov r10, qword ptr [rsp + 24] # 8-byte Reload + pinsrb xmm0, byte ptr [rsi + r10 + 9], 14 + mov rax, qword ptr [rsp + 72] # 8-byte Reload + pinsrb xmm0, byte ptr [rsi + rax + 9], 15 + pinsrb xmm2, byte ptr [rsi + r12 + 10], 1 + mov rax, qword ptr [rsp + 32] # 8-byte Reload + pinsrb xmm2, byte ptr [rsi + rax + 10], 2 + pinsrb xmm2, byte ptr [rsi + r13 + 10], 3 + mov r12, qword ptr [rsp + 88] # 8-byte Reload + pinsrb xmm2, byte ptr [rsi + r12 + 10], 4 + pinsrb xmm2, byte ptr [rsi + rdi + 10], 5 + pinsrb xmm2, byte ptr [rsi + r9 + 10], 6 + pinsrb xmm2, byte ptr [rsi + rdx + 10], 7 + mov rdi, rdx + pinsrb xmm2, byte ptr [rsi + r14 + 10], 8 + pinsrb xmm2, byte ptr [rsi + r11 + 10], 9 + pinsrb xmm2, byte ptr [rsi + r15 + 10], 10 + pinsrb xmm2, byte ptr [rsi + r8 + 10], 11 + pinsrb xmm2, byte ptr [rsi + rcx + 10], 12 + pinsrb xmm2, byte ptr [rsi + rbx + 10], 13 + pinsrb xmm2, byte ptr [rsi + r10 + 10], 14 + mov r13, qword ptr [rsp + 72] # 8-byte Reload + pinsrb xmm2, byte ptr [rsi + r13 + 10], 15 por xmm4, xmm15 - movdqa xmmword ptr [rsp + 192], xmm4 # 16-byte Spill + movdqa xmmword ptr [rsp + 208], xmm4 # 16-byte Spill movdqa xmm4, xmm0 pminub xmm4, xmm12 pcmpeqb xmm4, xmm0 @@ -37883,35 +39279,39 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 movdqa xmm0, xmm2 pminub xmm0, xmm12 pcmpeqb xmm0, xmm2 - mov rax, qword ptr [rsp + 96] # 8-byte Reload + mov rax, qword ptr [rsp + 160] # 8-byte Reload movzx edx, byte ptr [rsi + rax + 21] movd xmm4, edx pandn xmm10, xmm14 - mov r8, qword ptr [rsp + 56] # 8-byte Reload - pinsrb xmm11, byte ptr [rsi + r8 + 11], 1 - mov r13, rcx - pinsrb xmm11, byte ptr [rsi + rcx + 11], 2 - mov rcx, qword ptr [rsp + 16] # 8-byte Reload - pinsrb xmm11, byte ptr [rsi + rcx + 11], 3 - pinsrb xmm11, byte ptr [rsi + rbx + 11], 4 - mov rdi, qword ptr [rsp + 64] # 8-byte Reload - pinsrb xmm11, byte ptr [rsi + rdi + 11], 5 - mov rdx, qword ptr [rsp + 8] # 8-byte Reload - pinsrb xmm11, byte ptr [rsi + rdx + 11], 6 - mov rdx, qword ptr [rsp + 80] # 8-byte Reload - pinsrb xmm11, byte ptr [rsi + rdx + 11], 7 + mov r11, qword ptr [rsp + 96] # 8-byte Reload + pinsrb xmm11, byte ptr [rsi + r11 + 11], 1 + mov r10, qword ptr [rsp + 32] # 8-byte Reload + pinsrb xmm11, byte ptr [rsi + r10 + 11], 2 + mov r14, qword ptr [rsp + 64] # 8-byte Reload + pinsrb xmm11, byte ptr [rsi + r14 + 11], 3 + mov r8, r12 + pinsrb xmm11, byte ptr [rsi + r12 + 11], 4 + mov r9, qword ptr [rsp + 80] # 8-byte Reload + pinsrb xmm11, byte ptr [rsi + r9 + 11], 5 + mov rcx, qword ptr [rsp + 104] # 8-byte Reload + pinsrb xmm11, byte ptr [rsi + rcx + 11], 6 + pinsrb xmm11, byte ptr [rsi + rdi + 11], 7 + mov r12, rdi + mov r15, qword ptr [rsp + 112] # 8-byte Reload pinsrb xmm11, byte ptr [rsi + r15 + 11], 8 - mov r9, r10 - pinsrb xmm11, byte ptr [rsi + r10 + 11], 9 - mov r10, qword ptr [rsp + 160] # 8-byte Reload - pinsrb xmm11, byte ptr [rsi + r10 + 11], 10 - pinsrb xmm11, byte ptr [rsi + r14 + 11], 11 - mov r14, qword ptr [rsp + 104] # 8-byte Reload - pinsrb xmm11, byte ptr [rsi + r14 + 11], 12 - mov rbx, qword ptr [rsp] # 8-byte Reload - pinsrb xmm11, byte ptr [rsi + rbx + 11], 13 - pinsrb xmm11, byte ptr [rsi + r11 + 11], 14 - pinsrb xmm11, byte ptr [rsi + r12 + 11], 15 + mov rbx, qword ptr [rsp + 128] # 8-byte Reload + pinsrb xmm11, byte ptr [rsi + rbx + 11], 9 + mov rdx, qword ptr [rsp + 48] # 8-byte Reload + pinsrb xmm11, byte ptr [rsi + rdx + 11], 10 + mov rdx, qword ptr [rsp + 40] # 8-byte Reload + pinsrb xmm11, byte ptr [rsi + rdx + 11], 11 + mov rdi, qword ptr [rsp + 56] # 8-byte Reload + pinsrb xmm11, byte ptr [rsi + rdi + 11], 12 + mov rdx, qword ptr [rsp + 16] # 8-byte Reload + pinsrb xmm11, byte ptr [rsi + rdx + 11], 13 + mov rdx, qword ptr [rsp + 24] # 8-byte Reload + pinsrb xmm11, byte ptr [rsi + rdx + 11], 14 + pinsrb xmm11, byte ptr [rsi + r13 + 11], 15 pandn xmm0, xmmword ptr [rip + .LCPI7_11] por xmm0, xmm10 movdqa xmm10, xmm11 @@ -37923,49 +39323,50 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 por xmm10, xmm0 movzx edx, byte ptr [rsi + rax + 23] movd xmm11, edx + mov rax, r11 movdqa xmm0, xmmword ptr [rsp + 304] # 16-byte Reload - pinsrb xmm0, byte ptr [rsi + r8 + 12], 1 - mov rax, r13 - pinsrb xmm0, byte ptr [rsi + r13 + 12], 2 - mov rdx, rcx - pinsrb xmm0, byte ptr [rsi + rcx + 12], 3 - mov r15, qword ptr [rsp + 48] # 8-byte Reload - pinsrb xmm0, byte ptr [rsi + r15 + 12], 4 - pinsrb xmm0, byte ptr [rsi + rdi + 12], 5 - mov rcx, qword ptr [rsp + 8] # 8-byte Reload + pinsrb xmm0, byte ptr [rsi + r11 + 12], 1 + pinsrb xmm0, byte ptr [rsi + r10 + 12], 2 + mov r11, r10 + mov rdx, r14 + pinsrb xmm0, byte ptr [rsi + r14 + 12], 3 + pinsrb xmm0, byte ptr [rsi + r8 + 12], 4 + pinsrb xmm0, byte ptr [rsi + r9 + 12], 5 pinsrb xmm0, byte ptr [rsi + rcx + 12], 6 - mov rdi, qword ptr [rsp + 80] # 8-byte Reload - pinsrb xmm0, byte ptr [rsi + rdi + 12], 7 - mov r11, qword ptr [rsp + 112] # 8-byte Reload - pinsrb xmm0, byte ptr [rsi + r11 + 12], 8 - pinsrb xmm0, byte ptr [rsi + r9 + 12], 9 - pinsrb xmm0, byte ptr [rsi + r10 + 12], 10 - mov r13, qword ptr [rsp + 208] # 8-byte Reload - pinsrb xmm0, byte ptr [rsi + r13 + 12], 11 - pinsrb xmm0, byte ptr [rsi + r14 + 12], 12 + pinsrb xmm0, byte ptr [rsi + r12 + 12], 7 + pinsrb xmm0, byte ptr [rsi + r15 + 12], 8 + mov r12, rbx + pinsrb xmm0, byte ptr [rsi + rbx + 12], 9 + mov rbx, qword ptr [rsp + 48] # 8-byte Reload + pinsrb xmm0, byte ptr [rsi + rbx + 12], 10 + mov r14, qword ptr [rsp + 40] # 8-byte Reload + pinsrb xmm0, byte ptr [rsi + r14 + 12], 11 + pinsrb xmm0, byte ptr [rsi + rdi + 12], 12 + mov rbx, qword ptr [rsp + 16] # 8-byte Reload pinsrb xmm0, byte ptr [rsi + rbx + 12], 13 - mov r10, qword ptr [rsp + 24] # 8-byte Reload - pinsrb xmm0, byte ptr [rsi + r10 + 12], 14 - pinsrb xmm0, byte ptr [rsi + r12 + 12], 15 - pinsrb xmm6, byte ptr [rsi + r8 + 13], 1 - pinsrb xmm6, byte ptr [rsi + rax + 13], 2 + mov r9, qword ptr [rsp + 24] # 8-byte Reload + pinsrb xmm0, byte ptr [rsi + r9 + 12], 14 + mov r10, r13 + pinsrb xmm0, byte ptr [rsi + r13 + 12], 15 + pinsrb xmm6, byte ptr [rsi + rax + 13], 1 + pinsrb xmm6, byte ptr [rsi + r11 + 13], 2 pinsrb xmm6, byte ptr [rsi + rdx + 13], 3 - mov rax, r15 - pinsrb xmm6, byte ptr [rsi + r15 + 13], 4 - mov r15, qword ptr [rsp + 64] # 8-byte Reload - pinsrb xmm6, byte ptr [rsi + r15 + 13], 5 + pinsrb xmm6, byte ptr [rsi + r8 + 13], 4 + mov rax, qword ptr [rsp + 80] # 8-byte Reload + pinsrb xmm6, byte ptr [rsi + rax + 13], 5 pinsrb xmm6, byte ptr [rsi + rcx + 13], 6 - pinsrb xmm6, byte ptr [rsi + rdi + 13], 7 - pinsrb xmm6, byte ptr [rsi + r11 + 13], 8 - pinsrb xmm6, byte ptr [rsi + r9 + 13], 9 - mov rdi, qword ptr [rsp + 160] # 8-byte Reload - pinsrb xmm6, byte ptr [rsi + rdi + 13], 10 - pinsrb xmm6, byte ptr [rsi + r13 + 13], 11 - pinsrb xmm6, byte ptr [rsi + r14 + 13], 12 + mov r11, qword ptr [rsp + 144] # 8-byte Reload + pinsrb xmm6, byte ptr [rsi + r11 + 13], 7 + pinsrb xmm6, byte ptr [rsi + r15 + 13], 8 + pinsrb xmm6, byte ptr [rsi + r12 + 13], 9 + mov rdx, qword ptr [rsp + 48] # 8-byte Reload + pinsrb xmm6, byte ptr [rsi + rdx + 13], 10 + pinsrb xmm6, byte ptr [rsi + r14 + 13], 11 + pinsrb xmm6, byte ptr [rsi + rdi + 13], 12 pinsrb xmm6, byte ptr [rsi + rbx + 13], 13 - mov r8, r10 - pinsrb xmm6, byte ptr [rsi + r10 + 13], 14 - pinsrb xmm6, byte ptr [rsi + r12 + 13], 15 + pinsrb xmm6, byte ptr [rsi + r9 + 13], 14 + pinsrb xmm6, byte ptr [rsi + r13 + 13], 15 + mov r9, r13 psubb xmm13, xmmword ptr [rip + .LCPI7_16] por xmm10, xmm13 movdqa xmm2, xmm0 @@ -37975,102 +39376,99 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 movdqa xmm0, xmm6 pminub xmm0, xmm12 pcmpeqb xmm0, xmm6 - mov rcx, qword ptr [rsp + 96] # 8-byte Reload - movzx edx, byte ptr [rsi + rcx + 25] + mov rdx, qword ptr [rsp + 160] # 8-byte Reload + movzx edx, byte ptr [rsi + rdx + 25] movd xmm12, edx - mov rbx, qword ptr [rsp + 56] # 8-byte Reload + mov rbx, qword ptr [rsp + 96] # 8-byte Reload pinsrb xmm5, byte ptr [rsi + rbx + 14], 1 - mov rcx, qword ptr [rsp + 88] # 8-byte Reload - pinsrb xmm5, byte ptr [rsi + rcx + 14], 2 - mov r12, qword ptr [rsp + 16] # 8-byte Reload - pinsrb xmm5, byte ptr [rsi + r12 + 14], 3 - mov rdx, rax - pinsrb xmm5, byte ptr [rsi + rax + 14], 4 - mov r9, r15 - pinsrb xmm5, byte ptr [rsi + r15 + 14], 5 - mov rcx, qword ptr [rsp + 8] # 8-byte Reload + mov r13, qword ptr [rsp + 32] # 8-byte Reload + pinsrb xmm5, byte ptr [rsi + r13 + 14], 2 + mov rdx, qword ptr [rsp + 64] # 8-byte Reload + pinsrb xmm5, byte ptr [rsi + rdx + 14], 3 + pinsrb xmm5, byte ptr [rsi + r8 + 14], 4 + mov r8, rax + pinsrb xmm5, byte ptr [rsi + rax + 14], 5 pinsrb xmm5, byte ptr [rsi + rcx + 14], 6 - mov r10, qword ptr [rsp + 80] # 8-byte Reload - pinsrb xmm5, byte ptr [rsi + r10 + 14], 7 - mov r15, r11 - pinsrb xmm5, byte ptr [rsi + r11 + 14], 8 - mov r11, qword ptr [rsp + 120] # 8-byte Reload - pinsrb xmm5, byte ptr [rsi + r11 + 14], 9 - pinsrb xmm5, byte ptr [rsi + rdi + 14], 10 - mov r14, r13 - pinsrb xmm5, byte ptr [rsi + r13 + 14], 11 - mov r13, qword ptr [rsp + 104] # 8-byte Reload - pinsrb xmm5, byte ptr [rsi + r13 + 14], 12 - mov rax, qword ptr [rsp] # 8-byte Reload + mov r10, r11 + pinsrb xmm5, byte ptr [rsi + r11 + 14], 7 + mov r14, r15 + pinsrb xmm5, byte ptr [rsi + r15 + 14], 8 + mov rdi, r12 + pinsrb xmm5, byte ptr [rsi + r12 + 14], 9 + mov r11, qword ptr [rsp + 48] # 8-byte Reload + pinsrb xmm5, byte ptr [rsi + r11 + 14], 10 + mov r15, qword ptr [rsp + 40] # 8-byte Reload + pinsrb xmm5, byte ptr [rsi + r15 + 14], 11 + mov r12, qword ptr [rsp + 56] # 8-byte Reload + pinsrb xmm5, byte ptr [rsi + r12 + 14], 12 + mov rax, qword ptr [rsp + 16] # 8-byte Reload pinsrb xmm5, byte ptr [rsi + rax + 14], 13 - pinsrb xmm5, byte ptr [rsi + r8 + 14], 14 - mov rax, qword ptr [rsp + 32] # 8-byte Reload - pinsrb xmm5, byte ptr [rsi + rax + 14], 15 + mov rax, qword ptr [rsp + 24] # 8-byte Reload + pinsrb xmm5, byte ptr [rsi + rax + 14], 14 + pinsrb xmm5, byte ptr [rsi + r9 + 14], 15 pinsrb xmm8, byte ptr [rsi + rbx + 15], 1 - mov r8, qword ptr [rsp + 88] # 8-byte Reload - pinsrb xmm8, byte ptr [rsi + r8 + 15], 2 - pinsrb xmm8, byte ptr [rsi + r12 + 15], 3 - pinsrb xmm8, byte ptr [rsi + rdx + 15], 4 - pinsrb xmm8, byte ptr [rsi + r9 + 15], 5 + pinsrb xmm8, byte ptr [rsi + r13 + 15], 2 + pinsrb xmm8, byte ptr [rsi + rdx + 15], 3 + mov r13, qword ptr [rsp + 88] # 8-byte Reload + pinsrb xmm8, byte ptr [rsi + r13 + 15], 4 + pinsrb xmm8, byte ptr [rsi + r8 + 15], 5 pinsrb xmm8, byte ptr [rsi + rcx + 15], 6 pinsrb xmm8, byte ptr [rsi + r10 + 15], 7 - pinsrb xmm8, byte ptr [rsi + r15 + 15], 8 - pinsrb xmm8, byte ptr [rsi + r11 + 15], 9 - pinsrb xmm8, byte ptr [rsi + rdi + 15], 10 - pinsrb xmm8, byte ptr [rsi + r14 + 15], 11 - pinsrb xmm8, byte ptr [rsi + r13 + 15], 12 - mov rax, qword ptr [rsp] # 8-byte Reload + pinsrb xmm8, byte ptr [rsi + r14 + 15], 8 + pinsrb xmm8, byte ptr [rsi + rdi + 15], 9 + pinsrb xmm8, byte ptr [rsi + r11 + 15], 10 + pinsrb xmm8, byte ptr [rsi + r15 + 15], 11 + pinsrb xmm8, byte ptr [rsi + r12 + 15], 12 + mov rax, qword ptr [rsp + 16] # 8-byte Reload pinsrb xmm8, byte ptr [rsi + rax + 15], 13 - mov r8, qword ptr [rsp + 24] # 8-byte Reload - pinsrb xmm8, byte ptr [rsi + r8 + 15], 14 - mov rax, qword ptr [rsp + 32] # 8-byte Reload - pinsrb xmm8, byte ptr [rsi + rax + 15], 15 + mov rax, qword ptr [rsp + 24] # 8-byte Reload + pinsrb xmm8, byte ptr [rsi + rax + 15], 14 + pinsrb xmm8, byte ptr [rsi + r9 + 15], 15 pinsrb xmm7, byte ptr [rsi + rbx + 17], 1 - mov rax, qword ptr [rsp + 88] # 8-byte Reload + mov rax, qword ptr [rsp + 32] # 8-byte Reload pinsrb xmm7, byte ptr [rsi + rax + 17], 2 - pinsrb xmm7, byte ptr [rsi + r12 + 17], 3 - pinsrb xmm7, byte ptr [rsi + rdx + 17], 4 - pinsrb xmm7, byte ptr [rsi + r9 + 17], 5 + pinsrb xmm7, byte ptr [rsi + rdx + 17], 3 + pinsrb xmm7, byte ptr [rsi + r13 + 17], 4 + pinsrb xmm7, byte ptr [rsi + r8 + 17], 5 pinsrb xmm7, byte ptr [rsi + rcx + 17], 6 pinsrb xmm7, byte ptr [rsi + r10 + 17], 7 - pinsrb xmm7, byte ptr [rsi + r15 + 17], 8 - pinsrb xmm7, byte ptr [rsi + r11 + 17], 9 - pinsrb xmm7, byte ptr [rsi + rdi + 17], 10 - pinsrb xmm7, byte ptr [rsi + r14 + 17], 11 - pinsrb xmm7, byte ptr [rsi + r13 + 17], 12 - mov rax, qword ptr [rsp] # 8-byte Reload - pinsrb xmm7, byte ptr [rsi + rax + 17], 13 - pinsrb xmm7, byte ptr [rsi + r8 + 17], 14 - mov rax, qword ptr [rsp + 32] # 8-byte Reload - pinsrb xmm7, byte ptr [rsi + rax + 17], 15 + pinsrb xmm7, byte ptr [rsi + r14 + 17], 8 + pinsrb xmm7, byte ptr [rsi + rdi + 17], 9 + pinsrb xmm7, byte ptr [rsi + r11 + 17], 10 + pinsrb xmm7, byte ptr [rsi + r15 + 17], 11 + pinsrb xmm7, byte ptr [rsi + r12 + 17], 12 + mov r13, qword ptr [rsp + 16] # 8-byte Reload + pinsrb xmm7, byte ptr [rsi + r13 + 17], 13 + mov rax, qword ptr [rsp + 24] # 8-byte Reload + pinsrb xmm7, byte ptr [rsi + rax + 17], 14 + pinsrb xmm7, byte ptr [rsi + r9 + 17], 15 pinsrb xmm1, byte ptr [rsi + rbx + 18], 1 - mov rbx, qword ptr [rsp + 88] # 8-byte Reload + mov rbx, qword ptr [rsp + 32] # 8-byte Reload pinsrb xmm1, byte ptr [rsi + rbx + 18], 2 - pinsrb xmm1, byte ptr [rsi + r12 + 18], 3 - pinsrb xmm1, byte ptr [rsi + rdx + 18], 4 - pinsrb xmm1, byte ptr [rsi + r9 + 18], 5 + pinsrb xmm1, byte ptr [rsi + rdx + 18], 3 + mov rax, qword ptr [rsp + 88] # 8-byte Reload + pinsrb xmm1, byte ptr [rsi + rax + 18], 4 + pinsrb xmm1, byte ptr [rsi + r8 + 18], 5 pinsrb xmm1, byte ptr [rsi + rcx + 18], 6 pinsrb xmm1, byte ptr [rsi + r10 + 18], 7 - pinsrb xmm1, byte ptr [rsi + r15 + 18], 8 - mov r12, r15 - pinsrb xmm1, byte ptr [rsi + r11 + 18], 9 - pinsrb xmm1, byte ptr [rsi + rdi + 18], 10 - mov r10, rdi - pinsrb xmm1, byte ptr [rsi + r14 + 18], 11 - mov r15, r14 - pinsrb xmm1, byte ptr [rsi + r13 + 18], 12 - mov r9, qword ptr [rsp] # 8-byte Reload - pinsrb xmm1, byte ptr [rsi + r9 + 18], 13 + pinsrb xmm1, byte ptr [rsi + r14 + 18], 8 + mov r10, r14 + pinsrb xmm1, byte ptr [rsi + rdi + 18], 9 + pinsrb xmm1, byte ptr [rsi + r11 + 18], 10 + pinsrb xmm1, byte ptr [rsi + r15 + 18], 11 + pinsrb xmm1, byte ptr [rsi + r12 + 18], 12 + pinsrb xmm1, byte ptr [rsi + r13 + 18], 13 pandn xmm2, xmmword ptr [rip + .LCPI7_13] pandn xmm0, xmmword ptr [rip + .LCPI7_14] por xmm0, xmm2 movdqa xmm2, xmm5 pminub xmm2, xmm13 pcmpeqb xmm2, xmm5 - mov rax, qword ptr [rsp + 96] # 8-byte Reload + mov rax, qword ptr [rsp + 160] # 8-byte Reload movzx edx, byte ptr [rsi + rax + 26] movd xmm5, edx - pinsrb xmm1, byte ptr [rsi + r8 + 18], 14 + mov r9, qword ptr [rsp + 24] # 8-byte Reload + pinsrb xmm1, byte ptr [rsi + r9 + 18], 14 pandn xmm2, xmmword ptr [rip + .LCPI7_15] por xmm2, xmm0 movdqa xmm6, xmm8 @@ -38078,8 +39476,8 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 pcmpeqb xmm6, xmm8 movzx edx, byte ptr [rsi + rax + 27] movd xmm0, edx - mov rcx, qword ptr [rsp + 32] # 8-byte Reload - pinsrb xmm1, byte ptr [rsi + rcx + 18], 15 + mov r8, qword ptr [rsp + 72] # 8-byte Reload + pinsrb xmm1, byte ptr [rsi + r8 + 18], 15 pxor xmm6, xmmword ptr [rip + .LCPI7_16] psllw xmm6, 7 pand xmm6, xmmword ptr [rip + .LCPI7_6] @@ -38087,7 +39485,7 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 movzx edx, byte ptr [rsi + rax + 28] movd xmm8, edx por xmm6, xmm10 - movdqa xmmword ptr [rsp + 176], xmm6 # 16-byte Spill + movdqa xmmword ptr [rsp + 192], xmm6 # 16-byte Spill movdqa xmm2, xmm7 pminub xmm2, xmm13 pcmpeqb xmm2, xmm7 @@ -38100,8 +39498,8 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 movzx edx, byte ptr [rsi + rax + 29] movd xmm6, edx movzx edx, byte ptr [rsi + rax + 30] - movzx edi, byte ptr [rsi + rax + 31] - mov rax, qword ptr [rsp + 56] # 8-byte Reload + movzx ecx, byte ptr [rsi + rax + 31] + mov rax, qword ptr [rsp + 96] # 8-byte Reload pinsrb xmm3, byte ptr [rsi + rax + 19], 1 pinsrb xmm9, byte ptr [rsi + rax + 20], 1 pinsrb xmm4, byte ptr [rsi + rax + 21], 1 @@ -38114,7 +39512,7 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 pinsrb xmm6, byte ptr [rsi + rax + 29], 1 movd xmm1, edx pinsrb xmm1, byte ptr [rsi + rax + 30], 1 - movd xmm7, edi + movd xmm7, ecx pinsrb xmm7, byte ptr [rsi + rax + 31], 1 mov rax, rbx pinsrb xmm3, byte ptr [rsi + rbx + 19], 2 @@ -38129,73 +39527,79 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 pinsrb xmm6, byte ptr [rsi + rbx + 29], 2 pinsrb xmm1, byte ptr [rsi + rbx + 30], 2 pinsrb xmm7, byte ptr [rsi + rbx + 31], 2 - mov rax, qword ptr [rsp + 16] # 8-byte Reload + mov rax, qword ptr [rsp + 64] # 8-byte Reload pinsrb xmm3, byte ptr [rsi + rax + 19], 3 - mov rdx, qword ptr [rsp + 48] # 8-byte Reload + mov rdx, qword ptr [rsp + 88] # 8-byte Reload pinsrb xmm3, byte ptr [rsi + rdx + 19], 4 - mov r13, qword ptr [rsp + 64] # 8-byte Reload - pinsrb xmm3, byte ptr [rsi + r13 + 19], 5 - mov rdi, qword ptr [rsp + 8] # 8-byte Reload + mov rcx, qword ptr [rsp + 80] # 8-byte Reload + pinsrb xmm3, byte ptr [rsi + rcx + 19], 5 + mov rdi, qword ptr [rsp + 104] # 8-byte Reload pinsrb xmm3, byte ptr [rsi + rdi + 19], 6 - mov r11, qword ptr [rsp + 80] # 8-byte Reload - pinsrb xmm3, byte ptr [rsi + r11 + 19], 7 - pinsrb xmm3, byte ptr [rsi + r12 + 19], 8 - mov r14, qword ptr [rsp + 120] # 8-byte Reload - pinsrb xmm3, byte ptr [rsi + r14 + 19], 9 - pinsrb xmm3, byte ptr [rsi + r10 + 19], 10 - pinsrb xmm3, byte ptr [rsi + r15 + 19], 11 - mov rbx, qword ptr [rsp + 104] # 8-byte Reload + mov r14, qword ptr [rsp + 144] # 8-byte Reload + pinsrb xmm3, byte ptr [rsi + r14 + 19], 7 + mov r12, r10 + pinsrb xmm3, byte ptr [rsi + r10 + 19], 8 + mov r11, qword ptr [rsp + 128] # 8-byte Reload + pinsrb xmm3, byte ptr [rsi + r11 + 19], 9 + mov r15, qword ptr [rsp + 48] # 8-byte Reload + pinsrb xmm3, byte ptr [rsi + r15 + 19], 10 + mov r10, qword ptr [rsp + 40] # 8-byte Reload + pinsrb xmm3, byte ptr [rsi + r10 + 19], 11 + mov rbx, qword ptr [rsp + 56] # 8-byte Reload pinsrb xmm3, byte ptr [rsi + rbx + 19], 12 - pinsrb xmm3, byte ptr [rsi + r9 + 19], 13 - pinsrb xmm3, byte ptr [rsi + r8 + 19], 14 - pinsrb xmm3, byte ptr [rsi + rcx + 19], 15 + pinsrb xmm3, byte ptr [rsi + r13 + 19], 13 + pinsrb xmm3, byte ptr [rsi + r9 + 19], 14 + pinsrb xmm3, byte ptr [rsi + r8 + 19], 15 pinsrb xmm9, byte ptr [rsi + rax + 20], 3 pinsrb xmm9, byte ptr [rsi + rdx + 20], 4 - pinsrb xmm9, byte ptr [rsi + r13 + 20], 5 + pinsrb xmm9, byte ptr [rsi + rcx + 20], 5 pinsrb xmm9, byte ptr [rsi + rdi + 20], 6 - pinsrb xmm9, byte ptr [rsi + r11 + 20], 7 + pinsrb xmm9, byte ptr [rsi + r14 + 20], 7 pinsrb xmm9, byte ptr [rsi + r12 + 20], 8 - pinsrb xmm9, byte ptr [rsi + r14 + 20], 9 - pinsrb xmm9, byte ptr [rsi + r10 + 20], 10 - pinsrb xmm9, byte ptr [rsi + r15 + 20], 11 + pinsrb xmm9, byte ptr [rsi + r11 + 20], 9 + pinsrb xmm9, byte ptr [rsi + r15 + 20], 10 + pinsrb xmm9, byte ptr [rsi + r10 + 20], 11 pinsrb xmm9, byte ptr [rsi + rbx + 20], 12 - pinsrb xmm9, byte ptr [rsi + r9 + 20], 13 - pinsrb xmm9, byte ptr [rsi + r8 + 20], 14 - pinsrb xmm9, byte ptr [rsi + rcx + 20], 15 + pinsrb xmm9, byte ptr [rsi + r13 + 20], 13 + pinsrb xmm9, byte ptr [rsi + r9 + 20], 14 + pinsrb xmm9, byte ptr [rsi + r8 + 20], 15 pinsrb xmm4, byte ptr [rsi + rax + 21], 3 pinsrb xmm4, byte ptr [rsi + rdx + 21], 4 - pinsrb xmm4, byte ptr [rsi + r13 + 21], 5 + pinsrb xmm4, byte ptr [rsi + rcx + 21], 5 pinsrb xmm4, byte ptr [rsi + rdi + 21], 6 - pinsrb xmm4, byte ptr [rsi + r11 + 21], 7 + pinsrb xmm4, byte ptr [rsi + r14 + 21], 7 pinsrb xmm4, byte ptr [rsi + r12 + 21], 8 - pinsrb xmm4, byte ptr [rsi + r14 + 21], 9 - pinsrb xmm4, byte ptr [rsi + r10 + 21], 10 - pinsrb xmm4, byte ptr [rsi + r15 + 21], 11 + pinsrb xmm4, byte ptr [rsi + r11 + 21], 9 + pinsrb xmm4, byte ptr [rsi + r15 + 21], 10 + pinsrb xmm4, byte ptr [rsi + r10 + 21], 11 pinsrb xmm4, byte ptr [rsi + rbx + 21], 12 - pinsrb xmm4, byte ptr [rsi + r9 + 21], 13 - pinsrb xmm4, byte ptr [rsi + r8 + 21], 14 - pinsrb xmm4, byte ptr [rsi + rcx + 21], 15 + mov r8, rbx + pinsrb xmm4, byte ptr [rsi + r13 + 21], 13 + pinsrb xmm4, byte ptr [rsi + r9 + 21], 14 + mov rbx, qword ptr [rsp + 72] # 8-byte Reload + pinsrb xmm4, byte ptr [rsi + rbx + 21], 15 pinsrb xmm15, byte ptr [rsi + rax + 22], 3 pinsrb xmm15, byte ptr [rsi + rdx + 22], 4 - pinsrb xmm15, byte ptr [rsi + r13 + 22], 5 + pinsrb xmm15, byte ptr [rsi + rcx + 22], 5 pinsrb xmm15, byte ptr [rsi + rdi + 22], 6 - pinsrb xmm15, byte ptr [rsi + r11 + 22], 7 + pinsrb xmm15, byte ptr [rsi + r14 + 22], 7 pinsrb xmm15, byte ptr [rsi + r12 + 22], 8 - pinsrb xmm15, byte ptr [rsi + r14 + 22], 9 - pinsrb xmm15, byte ptr [rsi + r10 + 22], 10 + pinsrb xmm15, byte ptr [rsi + r11 + 22], 9 + pinsrb xmm15, byte ptr [rsi + r15 + 22], 10 movdqa xmm2, xmmword ptr [rsp + 272] # 16-byte Reload pandn xmm2, xmmword ptr [rip + .LCPI7_10] - pinsrb xmm15, byte ptr [rsi + r15 + 22], 11 + pinsrb xmm15, byte ptr [rsi + r10 + 22], 11 pandn xmm10, xmmword ptr [rip + .LCPI7_11] por xmm10, xmm2 - pinsrb xmm15, byte ptr [rsi + rbx + 22], 12 + pinsrb xmm15, byte ptr [rsi + r8 + 22], 12 movdqa xmm2, xmm3 pminub xmm2, xmm13 pcmpeqb xmm2, xmm3 - pinsrb xmm15, byte ptr [rsi + r9 + 22], 13 + pinsrb xmm15, byte ptr [rsi + r13 + 22], 13 pandn xmm2, xmmword ptr [rip + .LCPI7_12] por xmm2, xmm10 - pinsrb xmm15, byte ptr [rsi + r8 + 22], 14 + pinsrb xmm15, byte ptr [rsi + r9 + 22], 14 + mov rdi, r9 psubb xmm14, xmmword ptr [rip + .LCPI7_16] por xmm2, xmm14 movdqa xmm10, xmm9 @@ -38205,7 +39609,7 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 movdqa xmm9, xmm13 pminub xmm3, xmm13 pcmpeqb xmm3, xmm4 - pinsrb xmm15, byte ptr [rsi + rcx + 22], 15 + pinsrb xmm15, byte ptr [rsi + rbx + 22], 15 movdqa xmm13, xmmword ptr [rip + .LCPI7_13] # xmm13 = [16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16] pandn xmm10, xmm13 movdqa xmm4, xmmword ptr [rip + .LCPI7_14] # xmm4 = [32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32] @@ -38217,17 +39621,20 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 pcmpeqb xmm4, xmm15 pinsrb xmm11, byte ptr [rsi + rax + 23], 3 pinsrb xmm11, byte ptr [rsi + rdx + 23], 4 - pinsrb xmm11, byte ptr [rsi + r13 + 23], 5 - pinsrb xmm11, byte ptr [rsi + rdi + 23], 6 - pinsrb xmm11, byte ptr [rsi + r11 + 23], 7 + pinsrb xmm11, byte ptr [rsi + rcx + 23], 5 + mov r8, rcx + mov r9, qword ptr [rsp + 104] # 8-byte Reload + pinsrb xmm11, byte ptr [rsi + r9 + 23], 6 + pinsrb xmm11, byte ptr [rsi + r14 + 23], 7 pinsrb xmm11, byte ptr [rsi + r12 + 23], 8 - pinsrb xmm11, byte ptr [rsi + r14 + 23], 9 - pinsrb xmm11, byte ptr [rsi + r10 + 23], 10 - pinsrb xmm11, byte ptr [rsi + r15 + 23], 11 - pinsrb xmm11, byte ptr [rsi + rbx + 23], 12 - pinsrb xmm11, byte ptr [rsi + r9 + 23], 13 - pinsrb xmm11, byte ptr [rsi + r8 + 23], 14 - pinsrb xmm11, byte ptr [rsi + rcx + 23], 15 + pinsrb xmm11, byte ptr [rsi + r11 + 23], 9 + pinsrb xmm11, byte ptr [rsi + r15 + 23], 10 + pinsrb xmm11, byte ptr [rsi + r10 + 23], 11 + mov rcx, qword ptr [rsp + 56] # 8-byte Reload + pinsrb xmm11, byte ptr [rsi + rcx + 23], 12 + pinsrb xmm11, byte ptr [rsi + r13 + 23], 13 + pinsrb xmm11, byte ptr [rsi + rdi + 23], 14 + pinsrb xmm11, byte ptr [rsi + rbx + 23], 15 movdqa xmm15, xmmword ptr [rip + .LCPI7_15] # xmm15 = [64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64] pandn xmm4, xmm15 por xmm4, xmm3 @@ -38241,30 +39648,30 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 por xmm3, xmm4 pinsrb xmm12, byte ptr [rsi + rax + 25], 3 pinsrb xmm12, byte ptr [rsi + rdx + 25], 4 - pinsrb xmm12, byte ptr [rsi + r13 + 25], 5 - pinsrb xmm12, byte ptr [rsi + rdi + 25], 6 - pinsrb xmm12, byte ptr [rsi + r11 + 25], 7 + pinsrb xmm12, byte ptr [rsi + r8 + 25], 5 + pinsrb xmm12, byte ptr [rsi + r9 + 25], 6 + pinsrb xmm12, byte ptr [rsi + r14 + 25], 7 pinsrb xmm12, byte ptr [rsi + r12 + 25], 8 - pinsrb xmm12, byte ptr [rsi + r14 + 25], 9 - pinsrb xmm12, byte ptr [rsi + r10 + 25], 10 - pinsrb xmm12, byte ptr [rsi + r15 + 25], 11 - pinsrb xmm12, byte ptr [rsi + rbx + 25], 12 - pinsrb xmm12, byte ptr [rsi + r9 + 25], 13 - pinsrb xmm12, byte ptr [rsi + r8 + 25], 14 - pinsrb xmm12, byte ptr [rsi + rcx + 25], 15 + pinsrb xmm12, byte ptr [rsi + r11 + 25], 9 + pinsrb xmm12, byte ptr [rsi + r15 + 25], 10 + pinsrb xmm12, byte ptr [rsi + r10 + 25], 11 + pinsrb xmm12, byte ptr [rsi + rcx + 25], 12 + pinsrb xmm12, byte ptr [rsi + r13 + 25], 13 + pinsrb xmm12, byte ptr [rsi + rdi + 25], 14 + pinsrb xmm12, byte ptr [rsi + rbx + 25], 15 pinsrb xmm5, byte ptr [rsi + rax + 26], 3 pinsrb xmm5, byte ptr [rsi + rdx + 26], 4 - pinsrb xmm5, byte ptr [rsi + r13 + 26], 5 - pinsrb xmm5, byte ptr [rsi + rdi + 26], 6 - pinsrb xmm5, byte ptr [rsi + r11 + 26], 7 + pinsrb xmm5, byte ptr [rsi + r8 + 26], 5 + pinsrb xmm5, byte ptr [rsi + r9 + 26], 6 + pinsrb xmm5, byte ptr [rsi + r14 + 26], 7 pinsrb xmm5, byte ptr [rsi + r12 + 26], 8 - pinsrb xmm5, byte ptr [rsi + r14 + 26], 9 - pinsrb xmm5, byte ptr [rsi + r10 + 26], 10 - pinsrb xmm5, byte ptr [rsi + r15 + 26], 11 - pinsrb xmm5, byte ptr [rsi + rbx + 26], 12 - pinsrb xmm5, byte ptr [rsi + r9 + 26], 13 - pinsrb xmm5, byte ptr [rsi + r8 + 26], 14 - pinsrb xmm5, byte ptr [rsi + rcx + 26], 15 + pinsrb xmm5, byte ptr [rsi + r11 + 26], 9 + pinsrb xmm5, byte ptr [rsi + r15 + 26], 10 + pinsrb xmm5, byte ptr [rsi + r10 + 26], 11 + pinsrb xmm5, byte ptr [rsi + rcx + 26], 12 + pinsrb xmm5, byte ptr [rsi + r13 + 26], 13 + pinsrb xmm5, byte ptr [rsi + rdi + 26], 14 + pinsrb xmm5, byte ptr [rsi + rbx + 26], 15 por xmm3, xmm2 movdqa xmm2, xmm12 pminub xmm2, xmm9 @@ -38272,555 +39679,152 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 movdqa xmm9, xmm2 movdqa xmm10, xmmword ptr [rip + .LCPI7_10] # xmm10 = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1] pandn xmm9, xmm10 - paddb xmm9, xmm2 - movdqa xmm4, xmm5 - pminub xmm4, xmm13 - pcmpeqb xmm4, xmm5 - movdqa xmm2, xmmword ptr [rsp + 240] # 16-byte Reload - pandn xmm2, xmm10 - pinsrb xmm0, byte ptr [rsi + rax + 27], 3 - pinsrb xmm0, byte ptr [rsi + rdx + 27], 4 - pinsrb xmm0, byte ptr [rsi + r13 + 27], 5 - pinsrb xmm0, byte ptr [rsi + rdi + 27], 6 - pinsrb xmm0, byte ptr [rsi + r11 + 27], 7 - pinsrb xmm0, byte ptr [rsi + r12 + 27], 8 - pinsrb xmm0, byte ptr [rsi + r14 + 27], 9 - pinsrb xmm0, byte ptr [rsi + r10 + 27], 10 - pinsrb xmm0, byte ptr [rsi + r15 + 27], 11 - pinsrb xmm0, byte ptr [rsi + rbx + 27], 12 - pinsrb xmm0, byte ptr [rsi + r9 + 27], 13 - pinsrb xmm0, byte ptr [rsi + r8 + 27], 14 - pinsrb xmm0, byte ptr [rsi + rcx + 27], 15 - pandn xmm4, xmmword ptr [rip + .LCPI7_11] - por xmm4, xmm2 - movdqa xmm2, xmm0 - pminub xmm2, xmm13 - pcmpeqb xmm2, xmm0 - pandn xmm2, xmmword ptr [rip + .LCPI7_12] - por xmm2, xmm4 - pinsrb xmm8, byte ptr [rsi + rax + 28], 3 - pinsrb xmm8, byte ptr [rsi + rdx + 28], 4 - pinsrb xmm8, byte ptr [rsi + r13 + 28], 5 - pinsrb xmm8, byte ptr [rsi + rdi + 28], 6 - pinsrb xmm8, byte ptr [rsi + r11 + 28], 7 - pinsrb xmm8, byte ptr [rsi + r12 + 28], 8 - pinsrb xmm8, byte ptr [rsi + r14 + 28], 9 - pinsrb xmm8, byte ptr [rsi + r10 + 28], 10 - pinsrb xmm8, byte ptr [rsi + r15 + 28], 11 - pinsrb xmm8, byte ptr [rsi + rbx + 28], 12 - pinsrb xmm8, byte ptr [rsi + r9 + 28], 13 - pinsrb xmm8, byte ptr [rsi + r8 + 28], 14 - pinsrb xmm8, byte ptr [rsi + rcx + 28], 15 - pinsrb xmm6, byte ptr [rsi + rax + 29], 3 - pinsrb xmm6, byte ptr [rsi + rdx + 29], 4 - pinsrb xmm6, byte ptr [rsi + r13 + 29], 5 - pinsrb xmm6, byte ptr [rsi + rdi + 29], 6 - pinsrb xmm6, byte ptr [rsi + r11 + 29], 7 - pinsrb xmm6, byte ptr [rsi + r12 + 29], 8 - pinsrb xmm6, byte ptr [rsi + r14 + 29], 9 - pinsrb xmm6, byte ptr [rsi + r10 + 29], 10 - pinsrb xmm6, byte ptr [rsi + r15 + 29], 11 - pinsrb xmm6, byte ptr [rsi + rbx + 29], 12 - pinsrb xmm6, byte ptr [rsi + r9 + 29], 13 - pinsrb xmm6, byte ptr [rsi + r8 + 29], 14 - pinsrb xmm6, byte ptr [rsi + rcx + 29], 15 - pcmpeqd xmm10, xmm10 - psubb xmm9, xmm10 - por xmm2, xmm9 - movdqa xmm0, xmm8 - pminub xmm0, xmm13 - pcmpeqb xmm0, xmm8 - movdqa xmm4, xmm6 - pminub xmm4, xmm13 - pcmpeqb xmm4, xmm6 - pinsrb xmm1, byte ptr [rsi + rax + 30], 3 - pinsrb xmm7, byte ptr [rsi + rax + 31], 3 - pinsrb xmm1, byte ptr [rsi + rdx + 30], 4 - pinsrb xmm7, byte ptr [rsi + rdx + 31], 4 - pinsrb xmm1, byte ptr [rsi + r13 + 30], 5 - pinsrb xmm7, byte ptr [rsi + r13 + 31], 5 - pinsrb xmm1, byte ptr [rsi + rdi + 30], 6 - pinsrb xmm7, byte ptr [rsi + rdi + 31], 6 - pinsrb xmm1, byte ptr [rsi + r11 + 30], 7 - pinsrb xmm7, byte ptr [rsi + r11 + 31], 7 - pinsrb xmm1, byte ptr [rsi + r12 + 30], 8 - pinsrb xmm7, byte ptr [rsi + r12 + 31], 8 - pinsrb xmm1, byte ptr [rsi + r14 + 30], 9 - pinsrb xmm7, byte ptr [rsi + r14 + 31], 9 - mov rax, qword ptr [rsp + 128] # 8-byte Reload - pinsrb xmm1, byte ptr [rsi + r10 + 30], 10 - pinsrb xmm7, byte ptr [rsi + r10 + 31], 10 - pinsrb xmm1, byte ptr [rsi + r15 + 30], 11 - pinsrb xmm7, byte ptr [rsi + r15 + 31], 11 - pinsrb xmm1, byte ptr [rsi + rbx + 30], 12 - pinsrb xmm7, byte ptr [rsi + rbx + 31], 12 - pinsrb xmm1, byte ptr [rsi + r9 + 30], 13 - pinsrb xmm7, byte ptr [rsi + r9 + 31], 13 - pinsrb xmm1, byte ptr [rsi + r8 + 30], 14 - pinsrb xmm7, byte ptr [rsi + r8 + 31], 14 - pinsrb xmm1, byte ptr [rsi + rcx + 30], 15 - pinsrb xmm7, byte ptr [rsi + rcx + 31], 15 - pandn xmm0, xmmword ptr [rip + .LCPI7_13] - pandn xmm4, xmmword ptr [rip + .LCPI7_14] - por xmm4, xmm0 - movdqa xmm0, xmm1 - pminub xmm0, xmm13 - pcmpeqb xmm0, xmm1 - pandn xmm0, xmm15 - por xmm0, xmm4 - movdqa xmm1, xmm7 - pminub xmm1, xmm13 - pcmpeqb xmm1, xmm7 - pxor xmm1, xmm10 - psllw xmm1, 7 - pand xmm1, xmm11 - por xmm1, xmm0 - por xmm1, xmm2 - movdqa xmm0, xmm3 - punpcklbw xmm0, xmm1 # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3],xmm0[4],xmm1[4],xmm0[5],xmm1[5],xmm0[6],xmm1[6],xmm0[7],xmm1[7] - movdqa xmm5, xmmword ptr [rsp + 192] # 16-byte Reload - movdqa xmm2, xmm5 - movdqa xmm6, xmmword ptr [rsp + 176] # 16-byte Reload - punpcklbw xmm2, xmm6 # xmm2 = xmm2[0],xmm6[0],xmm2[1],xmm6[1],xmm2[2],xmm6[2],xmm2[3],xmm6[3],xmm2[4],xmm6[4],xmm2[5],xmm6[5],xmm2[6],xmm6[6],xmm2[7],xmm6[7] - movdqa xmm4, xmm2 - punpcklwd xmm4, xmm0 # xmm4 = xmm4[0],xmm0[0],xmm4[1],xmm0[1],xmm4[2],xmm0[2],xmm4[3],xmm0[3] - punpckhwd xmm2, xmm0 # xmm2 = xmm2[4],xmm0[4],xmm2[5],xmm0[5],xmm2[6],xmm0[6],xmm2[7],xmm0[7] - punpckhbw xmm3, xmm1 # xmm3 = xmm3[8],xmm1[8],xmm3[9],xmm1[9],xmm3[10],xmm1[10],xmm3[11],xmm1[11],xmm3[12],xmm1[12],xmm3[13],xmm1[13],xmm3[14],xmm1[14],xmm3[15],xmm1[15] - punpckhbw xmm5, xmm6 # xmm5 = xmm5[8],xmm6[8],xmm5[9],xmm6[9],xmm5[10],xmm6[10],xmm5[11],xmm6[11],xmm5[12],xmm6[12],xmm5[13],xmm6[13],xmm5[14],xmm6[14],xmm5[15],xmm6[15] - movdqa xmm0, xmm5 - punpcklwd xmm0, xmm3 # xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1],xmm0[2],xmm3[2],xmm0[3],xmm3[3] - punpckhwd xmm5, xmm3 # xmm5 = xmm5[4],xmm3[4],xmm5[5],xmm3[5],xmm5[6],xmm3[6],xmm5[7],xmm3[7] - mov rcx, qword ptr [rsp + 144] # 8-byte Reload - movdqu xmmword ptr [rax + 4*rcx + 48], xmm5 - movdqu xmmword ptr [rax + 4*rcx + 32], xmm0 - movdqu xmmword ptr [rax + 4*rcx + 16], xmm2 - movdqu xmmword ptr [rax + 4*rcx], xmm4 - add rcx, 16 - mov rax, rcx - cmp rcx, qword ptr [rsp + 232] # 8-byte Folded Reload - jne .LBB7_67 -# %bb.68: - mov r10, qword ptr [rsp + 264] # 8-byte Reload - cmp r10, qword ptr [rsp + 232] # 8-byte Folded Reload - mov r11, qword ptr [rsp + 136] # 8-byte Reload - mov r14, qword ptr [rsp + 320] # 8-byte Reload - jne .LBB7_69 - jmp .LBB7_72 -.LBB7_180: - mov r8, r10 - and r8, -4 - mov rbx, r8 - shl rbx, 7 - add rbx, rsi - lea r14, [r12 + 4*r8] - movaps xmm13, xmm11 - shufps xmm13, xmm11, 0 # xmm13 = xmm13[0,0],xmm11[0,0] - add rsi, 508 - xor ecx, ecx - movdqa xmm15, xmmword ptr [rip + .LCPI7_0] # xmm15 = <1,1,1,1,u,u,u,u,u,u,u,u,u,u,u,u> - .p2align 4, 0x90 -.LBB7_181: # =>This Inner Loop Header: Depth=1 - movss xmm3, dword ptr [rsi - 508] # xmm3 = mem[0],zero,zero,zero - movss xmm10, dword ptr [rsi - 504] # xmm10 = mem[0],zero,zero,zero - movss xmm9, dword ptr [rsi - 500] # xmm9 = mem[0],zero,zero,zero - movss xmm1, dword ptr [rsi - 496] # xmm1 = mem[0],zero,zero,zero - insertps xmm3, dword ptr [rsi - 380], 16 # xmm3 = xmm3[0],mem[0],xmm3[2,3] - insertps xmm3, dword ptr [rsi - 252], 32 # xmm3 = xmm3[0,1],mem[0],xmm3[3] - insertps xmm3, dword ptr [rsi - 124], 48 # xmm3 = xmm3[0,1,2],mem[0] - insertps xmm10, dword ptr [rsi - 376], 16 # xmm10 = xmm10[0],mem[0],xmm10[2,3] - insertps xmm10, dword ptr [rsi - 248], 32 # xmm10 = xmm10[0,1],mem[0],xmm10[3] - insertps xmm10, dword ptr [rsi - 120], 48 # xmm10 = xmm10[0,1,2],mem[0] - insertps xmm9, dword ptr [rsi - 372], 16 # xmm9 = xmm9[0],mem[0],xmm9[2,3] - insertps xmm9, dword ptr [rsi - 244], 32 # xmm9 = xmm9[0,1],mem[0],xmm9[3] - insertps xmm9, dword ptr [rsi - 116], 48 # xmm9 = xmm9[0,1,2],mem[0] - insertps xmm1, dword ptr [rsi - 368], 16 # xmm1 = xmm1[0],mem[0],xmm1[2,3] - insertps xmm1, dword ptr [rsi - 240], 32 # xmm1 = xmm1[0,1],mem[0],xmm1[3] - insertps xmm1, dword ptr [rsi - 112], 48 # xmm1 = xmm1[0,1,2],mem[0] - movss xmm8, dword ptr [rsi - 492] # xmm8 = mem[0],zero,zero,zero - insertps xmm8, dword ptr [rsi - 364], 16 # xmm8 = xmm8[0],mem[0],xmm8[2,3] - insertps xmm8, dword ptr [rsi - 236], 32 # xmm8 = xmm8[0,1],mem[0],xmm8[3] - movaps xmm12, xmm13 - insertps xmm8, dword ptr [rsi - 108], 48 # xmm8 = xmm8[0,1,2],mem[0] - movss xmm2, dword ptr [rsi - 488] # xmm2 = mem[0],zero,zero,zero - insertps xmm2, dword ptr [rsi - 360], 16 # xmm2 = xmm2[0],mem[0],xmm2[2,3] - insertps xmm2, dword ptr [rsi - 232], 32 # xmm2 = xmm2[0,1],mem[0],xmm2[3] - cmpltps xmm12, xmm3 - insertps xmm2, dword ptr [rsi - 104], 48 # xmm2 = xmm2[0,1,2],mem[0] - movss xmm3, dword ptr [rsi - 484] # xmm3 = mem[0],zero,zero,zero - insertps xmm3, dword ptr [rsi - 356], 16 # xmm3 = xmm3[0],mem[0],xmm3[2,3] - insertps xmm3, dword ptr [rsi - 228], 32 # xmm3 = xmm3[0,1],mem[0],xmm3[3] - packssdw xmm12, xmm12 - insertps xmm3, dword ptr [rsi - 100], 48 # xmm3 = xmm3[0,1,2],mem[0] - movss xmm4, dword ptr [rsi - 476] # xmm4 = mem[0],zero,zero,zero - insertps xmm4, dword ptr [rsi - 348], 16 # xmm4 = xmm4[0],mem[0],xmm4[2,3] - insertps xmm4, dword ptr [rsi - 220], 32 # xmm4 = xmm4[0,1],mem[0],xmm4[3] - packsswb xmm12, xmm12 - insertps xmm4, dword ptr [rsi - 92], 48 # xmm4 = xmm4[0,1,2],mem[0] - movaps xmm7, xmm13 - movss xmm5, dword ptr [rsi - 444] # xmm5 = mem[0],zero,zero,zero - insertps xmm5, dword ptr [rsi - 316], 16 # xmm5 = xmm5[0],mem[0],xmm5[2,3] - insertps xmm5, dword ptr [rsi - 188], 32 # xmm5 = xmm5[0,1],mem[0],xmm5[3] - cmpltps xmm7, xmm4 - insertps xmm5, dword ptr [rsi - 60], 48 # xmm5 = xmm5[0,1,2],mem[0] - movaps xmm6, xmm13 - movss xmm0, dword ptr [rsi - 412] # xmm0 = mem[0],zero,zero,zero - insertps xmm0, dword ptr [rsi - 284], 16 # xmm0 = xmm0[0],mem[0],xmm0[2,3] - insertps xmm0, dword ptr [rsi - 156], 32 # xmm0 = xmm0[0,1],mem[0],xmm0[3] - cmpltps xmm6, xmm5 - insertps xmm0, dword ptr [rsi - 28], 48 # xmm0 = xmm0[0,1,2],mem[0] - movaps xmm4, xmm13 - cmpltps xmm4, xmm0 - movaps xmm0, xmm13 - cmpltps xmm0, xmm10 - packssdw xmm0, xmm0 - packsswb xmm0, xmm0 - movdqa xmm14, xmm0 - pand xmm14, xmm15 - psubb xmm14, xmm0 - movss xmm10, dword ptr [rsi - 480] # xmm10 = mem[0],zero,zero,zero - insertps xmm10, dword ptr [rsi - 352], 16 # xmm10 = xmm10[0],mem[0],xmm10[2,3] - pand xmm12, xmm15 - insertps xmm10, dword ptr [rsi - 224], 32 # xmm10 = xmm10[0,1],mem[0],xmm10[3] - por xmm14, xmm12 - movaps xmm5, xmm13 - cmpltps xmm5, xmm9 - insertps xmm10, dword ptr [rsi - 96], 48 # xmm10 = xmm10[0,1,2],mem[0] - packssdw xmm5, xmm5 - packsswb xmm5, xmm5 - pand xmm5, xmm15 - psllw xmm5, 2 - movdqa xmm0, xmmword ptr [rip + .LCPI7_1] # xmm0 = [252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252] - pand xmm5, xmm0 - por xmm5, xmm14 - movaps xmm0, xmm13 - cmpltps xmm0, xmm1 - movaps xmm1, xmm13 - cmpltps xmm1, xmm8 - movss xmm9, dword ptr [rsi - 472] # xmm9 = mem[0],zero,zero,zero - insertps xmm9, dword ptr [rsi - 344], 16 # xmm9 = xmm9[0],mem[0],xmm9[2,3] - insertps xmm9, dword ptr [rsi - 216], 32 # xmm9 = xmm9[0,1],mem[0],xmm9[3] - insertps xmm9, dword ptr [rsi - 88], 48 # xmm9 = xmm9[0,1,2],mem[0] - packssdw xmm0, xmm0 - packsswb xmm0, xmm0 - pand xmm0, xmm15 - psllw xmm0, 3 - movdqa xmm14, xmmword ptr [rip + .LCPI7_2] # xmm14 = [248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248] - pand xmm0, xmm14 - packssdw xmm1, xmm1 - packsswb xmm1, xmm1 - pand xmm1, xmm15 - psllw xmm1, 4 - movdqa xmm14, xmmword ptr [rip + .LCPI7_3] # xmm14 = [240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240] - pand xmm1, xmm14 - por xmm1, xmm0 - movss xmm12, dword ptr [rsi - 468] # xmm12 = mem[0],zero,zero,zero - insertps xmm12, dword ptr [rsi - 340], 16 # xmm12 = xmm12[0],mem[0],xmm12[2,3] - insertps xmm12, dword ptr [rsi - 212], 32 # xmm12 = xmm12[0,1],mem[0],xmm12[3] - insertps xmm12, dword ptr [rsi - 84], 48 # xmm12 = xmm12[0,1,2],mem[0] - por xmm1, xmm5 - movaps xmm0, xmm13 - cmpltps xmm0, xmm2 - movaps xmm5, xmm13 - cmpltps xmm5, xmm3 - movss xmm2, dword ptr [rsi - 464] # xmm2 = mem[0],zero,zero,zero - insertps xmm2, dword ptr [rsi - 336], 16 # xmm2 = xmm2[0],mem[0],xmm2[2,3] - insertps xmm2, dword ptr [rsi - 208], 32 # xmm2 = xmm2[0,1],mem[0],xmm2[3] - packssdw xmm7, xmm7 - insertps xmm2, dword ptr [rsi - 80], 48 # xmm2 = xmm2[0,1,2],mem[0] - packssdw xmm0, xmm0 - packsswb xmm0, xmm0 - pand xmm0, xmm15 - psllw xmm0, 5 - movdqa xmm14, xmmword ptr [rip + .LCPI7_4] # xmm14 = [224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224] - pand xmm0, xmm14 - packssdw xmm5, xmm5 - packsswb xmm5, xmm5 - pand xmm5, xmm15 - psllw xmm5, 6 - movdqa xmm3, xmmword ptr [rip + .LCPI7_5] # xmm3 = [192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192] - pand xmm5, xmm3 - por xmm5, xmm0 - movaps xmm8, xmm13 - cmpltps xmm8, xmm10 - movss xmm3, dword ptr [rsi - 460] # xmm3 = mem[0],zero,zero,zero - insertps xmm3, dword ptr [rsi - 332], 16 # xmm3 = xmm3[0],mem[0],xmm3[2,3] - insertps xmm3, dword ptr [rsi - 204], 32 # xmm3 = xmm3[0,1],mem[0],xmm3[3] - insertps xmm3, dword ptr [rsi - 76], 48 # xmm3 = xmm3[0,1,2],mem[0] - packssdw xmm8, xmm8 - packsswb xmm8, xmm8 - psllw xmm8, 7 - movdqa xmm0, xmmword ptr [rip + .LCPI7_6] # xmm0 = [128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128] - pand xmm8, xmm0 - por xmm8, xmm5 - movss xmm10, dword ptr [rsi - 456] # xmm10 = mem[0],zero,zero,zero - insertps xmm10, dword ptr [rsi - 328], 16 # xmm10 = xmm10[0],mem[0],xmm10[2,3] - insertps xmm10, dword ptr [rsi - 200], 32 # xmm10 = xmm10[0,1],mem[0],xmm10[3] - packsswb xmm7, xmm7 - insertps xmm10, dword ptr [rsi - 72], 48 # xmm10 = xmm10[0,1,2],mem[0] - por xmm8, xmm1 - movaps xmm0, xmm13 - cmpltps xmm0, xmm9 - packssdw xmm0, xmm0 - packsswb xmm0, xmm0 - movdqa xmm1, xmm0 - pand xmm1, xmm15 - psubb xmm1, xmm0 - movss xmm9, dword ptr [rsi - 452] # xmm9 = mem[0],zero,zero,zero - insertps xmm9, dword ptr [rsi - 324], 16 # xmm9 = xmm9[0],mem[0],xmm9[2,3] - pand xmm7, xmm15 - insertps xmm9, dword ptr [rsi - 196], 32 # xmm9 = xmm9[0,1],mem[0],xmm9[3] - por xmm1, xmm7 - movaps xmm5, xmm13 - cmpltps xmm5, xmm12 - insertps xmm9, dword ptr [rsi - 68], 48 # xmm9 = xmm9[0,1,2],mem[0] - packssdw xmm5, xmm5 - packsswb xmm5, xmm5 - pand xmm5, xmm15 - psllw xmm5, 2 - pand xmm5, xmmword ptr [rip + .LCPI7_1] - por xmm5, xmm1 - movaps xmm0, xmm13 - cmpltps xmm0, xmm2 - movaps xmm1, xmm13 - cmpltps xmm1, xmm3 - movss xmm3, dword ptr [rsi - 448] # xmm3 = mem[0],zero,zero,zero - insertps xmm3, dword ptr [rsi - 320], 16 # xmm3 = xmm3[0],mem[0],xmm3[2,3] - insertps xmm3, dword ptr [rsi - 192], 32 # xmm3 = xmm3[0,1],mem[0],xmm3[3] - insertps xmm3, dword ptr [rsi - 64], 48 # xmm3 = xmm3[0,1,2],mem[0] - packssdw xmm0, xmm0 - packsswb xmm0, xmm0 - pand xmm0, xmm15 - psllw xmm0, 3 - movdqa xmm12, xmmword ptr [rip + .LCPI7_2] # xmm12 = [248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248] - pand xmm0, xmm12 - packssdw xmm1, xmm1 - packsswb xmm1, xmm1 - pand xmm1, xmm15 - psllw xmm1, 4 - pand xmm1, xmmword ptr [rip + .LCPI7_3] - por xmm1, xmm0 - movss xmm2, dword ptr [rsi - 440] # xmm2 = mem[0],zero,zero,zero - insertps xmm2, dword ptr [rsi - 312], 16 # xmm2 = xmm2[0],mem[0],xmm2[2,3] - insertps xmm2, dword ptr [rsi - 184], 32 # xmm2 = xmm2[0,1],mem[0],xmm2[3] - insertps xmm2, dword ptr [rsi - 56], 48 # xmm2 = xmm2[0,1,2],mem[0] - por xmm1, xmm5 - movaps xmm0, xmm13 - cmpltps xmm0, xmm10 - movaps xmm5, xmm13 - cmpltps xmm5, xmm9 - movss xmm7, dword ptr [rsi - 436] # xmm7 = mem[0],zero,zero,zero - insertps xmm7, dword ptr [rsi - 308], 16 # xmm7 = xmm7[0],mem[0],xmm7[2,3] - insertps xmm7, dword ptr [rsi - 180], 32 # xmm7 = xmm7[0,1],mem[0],xmm7[3] - packssdw xmm6, xmm6 - insertps xmm7, dword ptr [rsi - 52], 48 # xmm7 = xmm7[0,1,2],mem[0] - packssdw xmm0, xmm0 - packsswb xmm0, xmm0 - pand xmm0, xmm15 - psllw xmm0, 5 - pand xmm0, xmm14 - packssdw xmm5, xmm5 - packsswb xmm5, xmm5 - pand xmm5, xmm15 - psllw xmm5, 6 - pand xmm5, xmmword ptr [rip + .LCPI7_5] - por xmm5, xmm0 - movaps xmm0, xmm13 - cmpltps xmm0, xmm3 - movss xmm3, dword ptr [rsi - 432] # xmm3 = mem[0],zero,zero,zero - insertps xmm3, dword ptr [rsi - 304], 16 # xmm3 = xmm3[0],mem[0],xmm3[2,3] - insertps xmm3, dword ptr [rsi - 176], 32 # xmm3 = xmm3[0,1],mem[0],xmm3[3] - insertps xmm3, dword ptr [rsi - 48], 48 # xmm3 = xmm3[0,1,2],mem[0] - packssdw xmm0, xmm0 - packsswb xmm0, xmm0 - psllw xmm0, 7 - movdqa xmm10, xmmword ptr [rip + .LCPI7_6] # xmm10 = [128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128] - pand xmm0, xmm10 - por xmm0, xmm5 - movss xmm5, dword ptr [rsi - 428] # xmm5 = mem[0],zero,zero,zero - insertps xmm5, dword ptr [rsi - 300], 16 # xmm5 = xmm5[0],mem[0],xmm5[2,3] - insertps xmm5, dword ptr [rsi - 172], 32 # xmm5 = xmm5[0,1],mem[0],xmm5[3] - insertps xmm5, dword ptr [rsi - 44], 48 # xmm5 = xmm5[0,1,2],mem[0] - por xmm0, xmm1 - movss xmm9, dword ptr [rsi - 424] # xmm9 = mem[0],zero,zero,zero - insertps xmm9, dword ptr [rsi - 296], 16 # xmm9 = xmm9[0],mem[0],xmm9[2,3] - insertps xmm9, dword ptr [rsi - 168], 32 # xmm9 = xmm9[0,1],mem[0],xmm9[3] - packsswb xmm6, xmm6 - insertps xmm9, dword ptr [rsi - 40], 48 # xmm9 = xmm9[0,1,2],mem[0] - punpckldq xmm8, xmm0 # xmm8 = xmm8[0],xmm0[0],xmm8[1],xmm0[1] - movaps xmm0, xmm13 - cmpltps xmm0, xmm2 - packssdw xmm0, xmm0 - packsswb xmm0, xmm0 - movdqa xmm1, xmm0 - pand xmm1, xmm15 - psubb xmm1, xmm0 - movss xmm2, dword ptr [rsi - 420] # xmm2 = mem[0],zero,zero,zero - insertps xmm2, dword ptr [rsi - 292], 16 # xmm2 = xmm2[0],mem[0],xmm2[2,3] - pand xmm6, xmm15 - insertps xmm2, dword ptr [rsi - 164], 32 # xmm2 = xmm2[0,1],mem[0],xmm2[3] - por xmm1, xmm6 - movaps xmm6, xmm13 - cmpltps xmm6, xmm7 - insertps xmm2, dword ptr [rsi - 36], 48 # xmm2 = xmm2[0,1,2],mem[0] - packssdw xmm6, xmm6 - packsswb xmm6, xmm6 - pand xmm6, xmm15 - psllw xmm6, 2 - movdqa xmm0, xmmword ptr [rip + .LCPI7_1] # xmm0 = [252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252] - pand xmm6, xmm0 - por xmm6, xmm1 - movaps xmm0, xmm13 - cmpltps xmm0, xmm3 - movaps xmm1, xmm13 - cmpltps xmm1, xmm5 - movss xmm3, dword ptr [rsi - 416] # xmm3 = mem[0],zero,zero,zero - insertps xmm3, dword ptr [rsi - 288], 16 # xmm3 = xmm3[0],mem[0],xmm3[2,3] - insertps xmm3, dword ptr [rsi - 160], 32 # xmm3 = xmm3[0,1],mem[0],xmm3[3] - insertps xmm3, dword ptr [rsi - 32], 48 # xmm3 = xmm3[0,1,2],mem[0] - packssdw xmm0, xmm0 - packsswb xmm0, xmm0 - pand xmm0, xmm15 - psllw xmm0, 3 - pand xmm0, xmm12 - packssdw xmm1, xmm1 - packsswb xmm1, xmm1 - pand xmm1, xmm15 - psllw xmm1, 4 - movdqa xmm12, xmmword ptr [rip + .LCPI7_3] # xmm12 = [240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240] - pand xmm1, xmm12 - por xmm1, xmm0 - movss xmm5, dword ptr [rsi - 408] # xmm5 = mem[0],zero,zero,zero - insertps xmm5, dword ptr [rsi - 280], 16 # xmm5 = xmm5[0],mem[0],xmm5[2,3] - insertps xmm5, dword ptr [rsi - 152], 32 # xmm5 = xmm5[0,1],mem[0],xmm5[3] - insertps xmm5, dword ptr [rsi - 24], 48 # xmm5 = xmm5[0,1,2],mem[0] - por xmm1, xmm6 - movaps xmm0, xmm13 - cmpltps xmm0, xmm9 - movaps xmm6, xmm13 - cmpltps xmm6, xmm2 - movss xmm7, dword ptr [rsi - 404] # xmm7 = mem[0],zero,zero,zero - insertps xmm7, dword ptr [rsi - 276], 16 # xmm7 = xmm7[0],mem[0],xmm7[2,3] - insertps xmm7, dword ptr [rsi - 148], 32 # xmm7 = xmm7[0,1],mem[0],xmm7[3] - packssdw xmm4, xmm4 - insertps xmm7, dword ptr [rsi - 20], 48 # xmm7 = xmm7[0,1,2],mem[0] - packssdw xmm0, xmm0 - packsswb xmm0, xmm0 - pand xmm0, xmm15 - psllw xmm0, 5 - pand xmm0, xmm14 - packssdw xmm6, xmm6 - packsswb xmm6, xmm6 - pand xmm6, xmm15 - psllw xmm6, 6 - movdqa xmm9, xmmword ptr [rip + .LCPI7_5] # xmm9 = [192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192] - pand xmm6, xmm9 - por xmm6, xmm0 - movaps xmm2, xmm13 - cmpltps xmm2, xmm3 - movss xmm0, dword ptr [rsi - 400] # xmm0 = mem[0],zero,zero,zero - insertps xmm0, dword ptr [rsi - 272], 16 # xmm0 = xmm0[0],mem[0],xmm0[2,3] - insertps xmm0, dword ptr [rsi - 144], 32 # xmm0 = xmm0[0,1],mem[0],xmm0[3] - insertps xmm0, dword ptr [rsi - 16], 48 # xmm0 = xmm0[0,1,2],mem[0] - packssdw xmm2, xmm2 - packsswb xmm2, xmm2 - psllw xmm2, 7 - pand xmm2, xmm10 - por xmm2, xmm6 - movss xmm6, dword ptr [rsi - 396] # xmm6 = mem[0],zero,zero,zero - insertps xmm6, dword ptr [rsi - 268], 16 # xmm6 = xmm6[0],mem[0],xmm6[2,3] - insertps xmm6, dword ptr [rsi - 140], 32 # xmm6 = xmm6[0,1],mem[0],xmm6[3] - packsswb xmm4, xmm4 - insertps xmm6, dword ptr [rsi - 12], 48 # xmm6 = xmm6[0,1,2],mem[0] - por xmm2, xmm1 - movaps xmm1, xmm13 - cmpltps xmm1, xmm5 - packssdw xmm1, xmm1 - packsswb xmm1, xmm1 - movdqa xmm5, xmm1 - pand xmm5, xmm15 - psubb xmm5, xmm1 - movss xmm3, dword ptr [rsi - 392] # xmm3 = mem[0],zero,zero,zero - insertps xmm3, dword ptr [rsi - 264], 16 # xmm3 = xmm3[0],mem[0],xmm3[2,3] - pand xmm4, xmm15 - insertps xmm3, dword ptr [rsi - 136], 32 # xmm3 = xmm3[0,1],mem[0],xmm3[3] - por xmm5, xmm4 - movaps xmm4, xmm13 - cmpltps xmm4, xmm7 - insertps xmm3, dword ptr [rsi - 8], 48 # xmm3 = xmm3[0,1,2],mem[0] - packssdw xmm4, xmm4 - packsswb xmm4, xmm4 - pand xmm4, xmm15 - psllw xmm4, 2 - pand xmm4, xmmword ptr [rip + .LCPI7_1] - por xmm4, xmm5 - movaps xmm5, xmm13 - cmpltps xmm5, xmm0 - movaps xmm1, xmm13 - cmpltps xmm1, xmm6 - movss xmm0, dword ptr [rsi - 388] # xmm0 = mem[0],zero,zero,zero - insertps xmm0, dword ptr [rsi - 260], 16 # xmm0 = xmm0[0],mem[0],xmm0[2,3] - insertps xmm0, dword ptr [rsi - 132], 32 # xmm0 = xmm0[0,1],mem[0],xmm0[3] - insertps xmm0, dword ptr [rsi - 4], 48 # xmm0 = xmm0[0,1,2],mem[0] - packssdw xmm5, xmm5 - packsswb xmm5, xmm5 - pand xmm5, xmm15 - psllw xmm5, 3 - pand xmm5, xmmword ptr [rip + .LCPI7_2] - packssdw xmm1, xmm1 - packsswb xmm1, xmm1 - pand xmm1, xmm15 - psllw xmm1, 4 - pand xmm1, xmm12 - por xmm1, xmm5 - movss xmm5, dword ptr [rsi - 384] # xmm5 = mem[0],zero,zero,zero - insertps xmm5, dword ptr [rsi - 256], 16 # xmm5 = xmm5[0],mem[0],xmm5[2,3] - insertps xmm5, dword ptr [rsi - 128], 32 # xmm5 = xmm5[0,1],mem[0],xmm5[3] - por xmm1, xmm4 - movaps xmm4, xmm13 - cmpltps xmm4, xmm3 - movaps xmm3, xmm13 - cmpltps xmm3, xmm0 - insertps xmm5, dword ptr [rsi], 48 # xmm5 = xmm5[0,1,2],mem[0] - packssdw xmm4, xmm4 - packsswb xmm4, xmm4 - pand xmm4, xmm15 - psllw xmm4, 5 - pand xmm4, xmm14 - packssdw xmm3, xmm3 - packsswb xmm3, xmm3 - pand xmm3, xmm15 - psllw xmm3, 6 - pand xmm3, xmm9 - por xmm3, xmm4 - movaps xmm0, xmm13 - cmpltps xmm0, xmm5 - packssdw xmm0, xmm0 - packsswb xmm0, xmm0 - psllw xmm0, 7 - pand xmm0, xmm10 - por xmm0, xmm3 - por xmm0, xmm1 - punpckldq xmm2, xmm0 # xmm2 = xmm2[0],xmm0[0],xmm2[1],xmm0[1] - punpcklbw xmm8, xmm2 # xmm8 = xmm8[0],xmm2[0],xmm8[1],xmm2[1],xmm8[2],xmm2[2],xmm8[3],xmm2[3],xmm8[4],xmm2[4],xmm8[5],xmm2[5],xmm8[6],xmm2[6],xmm8[7],xmm2[7] - pshufb xmm8, xmmword ptr [rip + .LCPI7_7] # xmm8 = xmm8[0,8,1,9,2,10,3,11,4,12,5,13,6,14,7,15] - movdqu xmmword ptr [r12 + 4*rcx], xmm8 - add rcx, 4 - add rsi, 512 - cmp r8, rcx - jne .LBB7_181 -# %bb.182: - cmp r10, r8 - jne .LBB7_183 - jmp .LBB7_186 -.LBB7_122: - and r14, -8 - mov rax, r14 + paddb xmm9, xmm2 + movdqa xmm4, xmm5 + pminub xmm4, xmm13 + pcmpeqb xmm4, xmm5 + movdqa xmm2, xmmword ptr [rsp + 240] # 16-byte Reload + pandn xmm2, xmm10 + pinsrb xmm0, byte ptr [rsi + rax + 27], 3 + pinsrb xmm0, byte ptr [rsi + rdx + 27], 4 + pinsrb xmm0, byte ptr [rsi + r8 + 27], 5 + pinsrb xmm0, byte ptr [rsi + r9 + 27], 6 + pinsrb xmm0, byte ptr [rsi + r14 + 27], 7 + pinsrb xmm0, byte ptr [rsi + r12 + 27], 8 + pinsrb xmm0, byte ptr [rsi + r11 + 27], 9 + pinsrb xmm0, byte ptr [rsi + r15 + 27], 10 + pinsrb xmm0, byte ptr [rsi + r10 + 27], 11 + pinsrb xmm0, byte ptr [rsi + rcx + 27], 12 + pinsrb xmm0, byte ptr [rsi + r13 + 27], 13 + pinsrb xmm0, byte ptr [rsi + rdi + 27], 14 + pinsrb xmm0, byte ptr [rsi + rbx + 27], 15 + pandn xmm4, xmmword ptr [rip + .LCPI7_11] + por xmm4, xmm2 + movdqa xmm2, xmm0 + pminub xmm2, xmm13 + pcmpeqb xmm2, xmm0 + pandn xmm2, xmmword ptr [rip + .LCPI7_12] + por xmm2, xmm4 + pinsrb xmm8, byte ptr [rsi + rax + 28], 3 + pinsrb xmm8, byte ptr [rsi + rdx + 28], 4 + pinsrb xmm8, byte ptr [rsi + r8 + 28], 5 + pinsrb xmm8, byte ptr [rsi + r9 + 28], 6 + pinsrb xmm8, byte ptr [rsi + r14 + 28], 7 + pinsrb xmm8, byte ptr [rsi + r12 + 28], 8 + pinsrb xmm8, byte ptr [rsi + r11 + 28], 9 + pinsrb xmm8, byte ptr [rsi + r15 + 28], 10 + pinsrb xmm8, byte ptr [rsi + r10 + 28], 11 + pinsrb xmm8, byte ptr [rsi + rcx + 28], 12 + pinsrb xmm8, byte ptr [rsi + r13 + 28], 13 + pinsrb xmm8, byte ptr [rsi + rdi + 28], 14 + pinsrb xmm8, byte ptr [rsi + rbx + 28], 15 + pinsrb xmm6, byte ptr [rsi + rax + 29], 3 + pinsrb xmm6, byte ptr [rsi + rdx + 29], 4 + pinsrb xmm6, byte ptr [rsi + r8 + 29], 5 + pinsrb xmm6, byte ptr [rsi + r9 + 29], 6 + pinsrb xmm6, byte ptr [rsi + r14 + 29], 7 + pinsrb xmm6, byte ptr [rsi + r12 + 29], 8 + pinsrb xmm6, byte ptr [rsi + r11 + 29], 9 + pinsrb xmm6, byte ptr [rsi + r15 + 29], 10 + pinsrb xmm6, byte ptr [rsi + r10 + 29], 11 + pinsrb xmm6, byte ptr [rsi + rcx + 29], 12 + pinsrb xmm6, byte ptr [rsi + r13 + 29], 13 + pinsrb xmm6, byte ptr [rsi + rdi + 29], 14 + pinsrb xmm6, byte ptr [rsi + rbx + 29], 15 + pcmpeqd xmm10, xmm10 + psubb xmm9, xmm10 + por xmm2, xmm9 + movdqa xmm0, xmm8 + pminub xmm0, xmm13 + pcmpeqb xmm0, xmm8 + movdqa xmm4, xmm6 + pminub xmm4, xmm13 + pcmpeqb xmm4, xmm6 + pinsrb xmm1, byte ptr [rsi + rax + 30], 3 + pinsrb xmm7, byte ptr [rsi + rax + 31], 3 + pinsrb xmm1, byte ptr [rsi + rdx + 30], 4 + pinsrb xmm7, byte ptr [rsi + rdx + 31], 4 + pinsrb xmm1, byte ptr [rsi + r8 + 30], 5 + pinsrb xmm7, byte ptr [rsi + r8 + 31], 5 + pinsrb xmm1, byte ptr [rsi + r9 + 30], 6 + pinsrb xmm7, byte ptr [rsi + r9 + 31], 6 + pinsrb xmm1, byte ptr [rsi + r14 + 30], 7 + pinsrb xmm7, byte ptr [rsi + r14 + 31], 7 + pinsrb xmm1, byte ptr [rsi + r12 + 30], 8 + pinsrb xmm7, byte ptr [rsi + r12 + 31], 8 + pinsrb xmm1, byte ptr [rsi + r11 + 30], 9 + pinsrb xmm7, byte ptr [rsi + r11 + 31], 9 + pinsrb xmm1, byte ptr [rsi + r15 + 30], 10 + pinsrb xmm7, byte ptr [rsi + r15 + 31], 10 + mov rax, qword ptr [rsp] # 8-byte Reload + pinsrb xmm1, byte ptr [rsi + r10 + 30], 11 + pinsrb xmm7, byte ptr [rsi + r10 + 31], 11 + pinsrb xmm1, byte ptr [rsi + rcx + 30], 12 + pinsrb xmm7, byte ptr [rsi + rcx + 31], 12 + pinsrb xmm1, byte ptr [rsi + r13 + 30], 13 + pinsrb xmm7, byte ptr [rsi + r13 + 31], 13 + pinsrb xmm1, byte ptr [rsi + rdi + 30], 14 + pinsrb xmm7, byte ptr [rsi + rdi + 31], 14 + pinsrb xmm1, byte ptr [rsi + rbx + 30], 15 + pinsrb xmm7, byte ptr [rsi + rbx + 31], 15 + pandn xmm0, xmmword ptr [rip + .LCPI7_13] + pandn xmm4, xmmword ptr [rip + .LCPI7_14] + por xmm4, xmm0 + movdqa xmm0, xmm1 + pminub xmm0, xmm13 + pcmpeqb xmm0, xmm1 + pandn xmm0, xmm15 + por xmm0, xmm4 + movdqa xmm1, xmm7 + pminub xmm1, xmm13 + pcmpeqb xmm1, xmm7 + pxor xmm1, xmm10 + psllw xmm1, 7 + pand xmm1, xmm11 + por xmm1, xmm0 + por xmm1, xmm2 + movdqa xmm0, xmm3 + punpcklbw xmm0, xmm1 # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3],xmm0[4],xmm1[4],xmm0[5],xmm1[5],xmm0[6],xmm1[6],xmm0[7],xmm1[7] + movdqa xmm5, xmmword ptr [rsp + 208] # 16-byte Reload + movdqa xmm2, xmm5 + movdqa xmm6, xmmword ptr [rsp + 192] # 16-byte Reload + punpcklbw xmm2, xmm6 # xmm2 = xmm2[0],xmm6[0],xmm2[1],xmm6[1],xmm2[2],xmm6[2],xmm2[3],xmm6[3],xmm2[4],xmm6[4],xmm2[5],xmm6[5],xmm2[6],xmm6[6],xmm2[7],xmm6[7] + movdqa xmm4, xmm2 + punpcklwd xmm4, xmm0 # xmm4 = xmm4[0],xmm0[0],xmm4[1],xmm0[1],xmm4[2],xmm0[2],xmm4[3],xmm0[3] + punpckhwd xmm2, xmm0 # xmm2 = xmm2[4],xmm0[4],xmm2[5],xmm0[5],xmm2[6],xmm0[6],xmm2[7],xmm0[7] + punpckhbw xmm3, xmm1 # xmm3 = xmm3[8],xmm1[8],xmm3[9],xmm1[9],xmm3[10],xmm1[10],xmm3[11],xmm1[11],xmm3[12],xmm1[12],xmm3[13],xmm1[13],xmm3[14],xmm1[14],xmm3[15],xmm1[15] + punpckhbw xmm5, xmm6 # xmm5 = xmm5[8],xmm6[8],xmm5[9],xmm6[9],xmm5[10],xmm6[10],xmm5[11],xmm6[11],xmm5[12],xmm6[12],xmm5[13],xmm6[13],xmm5[14],xmm6[14],xmm5[15],xmm6[15] + movdqa xmm0, xmm5 + punpcklwd xmm0, xmm3 # xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1],xmm0[2],xmm3[2],xmm0[3],xmm3[3] + punpckhwd xmm5, xmm3 # xmm5 = xmm5[4],xmm3[4],xmm5[5],xmm3[5],xmm5[6],xmm3[6],xmm5[7],xmm3[7] + mov rcx, qword ptr [rsp + 176] # 8-byte Reload + movdqu xmmword ptr [rax + 4*rcx + 48], xmm5 + movdqu xmmword ptr [rax + 4*rcx + 32], xmm0 + movdqu xmmword ptr [rax + 4*rcx + 16], xmm2 + mov qword ptr [rsp], rax # 8-byte Spill + movdqu xmmword ptr [rax + 4*rcx], xmm4 + add rcx, 16 + mov rax, rcx + cmp rcx, qword ptr [rsp + 232] # 8-byte Folded Reload + jne .LBB7_67 +# %bb.68: + mov r15, qword ptr [rsp + 264] # 8-byte Reload + cmp r15, qword ptr [rsp + 232] # 8-byte Folded Reload + mov r11, qword ptr [rsp + 136] # 8-byte Reload + mov r10b, byte ptr [rsp + 8] # 1-byte Reload + mov r12, qword ptr [rsp + 320] # 8-byte Reload + jne .LBB7_69 + jmp .LBB7_72 +.LBB7_124: + and r15, -8 + mov rax, r15 shl rax, 6 add rax, rsi - mov qword ptr [rsp + 48], rax # 8-byte Spill - mov qword ptr [rsp + 24], r14 # 8-byte Spill - lea rax, [r12 + 4*r14] - mov qword ptr [rsp], rax # 8-byte Spill + mov qword ptr [rsp + 56], rax # 8-byte Spill + mov qword ptr [rsp + 40], r15 # 8-byte Spill + mov rax, qword ptr [rsp] # 8-byte Reload + lea rax, [rax + 4*r15] + mov qword ptr [rsp + 8], rax # 8-byte Spill movd xmm0, dword ptr [rsp + 240] # 4-byte Folded Reload # xmm0 = mem[0],zero,zero,zero pshuflw xmm0, xmm0, 224 # xmm0 = xmm0[0,0,2,3,4,5,6,7] @@ -38833,9 +39837,8 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 movdqa xmm12, xmmword ptr [rip + .LCPI7_4] # xmm12 = [224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224] movdqa xmm13, xmmword ptr [rip + .LCPI7_5] # xmm13 = [192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192] movdqa xmm14, xmmword ptr [rip + .LCPI7_6] # xmm14 = [128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128] - mov qword ptr [rsp + 128], r12 # 8-byte Spill .p2align 4, 0x90 -.LBB7_123: # =>This Inner Loop Header: Depth=1 +.LBB7_125: # =>This Inner Loop Header: Depth=1 mov qword ptr [rsp + 16], r15 # 8-byte Spill shl r15, 6 mov r9, r15 @@ -38871,7 +39874,7 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 pinsrw xmm6, word ptr [rsi + r9 + 2], 2 pinsrw xmm6, word ptr [rsi + r12 + 2], 3 movzx eax, word ptr [rsi + r15 + 12] - mov dword ptr [rsp + 8], eax # 4-byte Spill + mov dword ptr [rsp + 32], eax # 4-byte Spill pinsrw xmm6, word ptr [rsi + r13 + 2], 4 movd xmm2, r11d movzx r11d, word ptr [rsi + r15 + 14] @@ -38881,7 +39884,7 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 pinsrw xmm6, word ptr [rsi + rdi + 2], 6 movd xmm3, r10d movzx eax, word ptr [rsi + r15 + 18] - mov dword ptr [rsp + 40], eax # 4-byte Spill + mov dword ptr [rsp + 24], eax # 4-byte Spill pinsrw xmm6, word ptr [rsi + rbx + 2], 7 pcmpgtw xmm6, xmm0 packsswb xmm6, xmm6 @@ -38915,7 +39918,7 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 pinsrw xmm3, word ptr [rsi + rdi + 8], 6 pinsrw xmm3, word ptr [rsi + rbx + 8], 7 por xmm1, xmm4 - movd xmm7, dword ptr [rsp + 8] # 4-byte Folded Reload + movd xmm7, dword ptr [rsp + 32] # 4-byte Folded Reload # xmm7 = mem[0],zero,zero,zero movzx eax, word ptr [rsi + r15 + 22] pcmpgtw xmm2, xmm0 @@ -38954,7 +39957,7 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 pinsrw xmm7, word ptr [rsi + rdi + 12], 6 pinsrw xmm7, word ptr [rsi + rbx + 12], 7 por xmm3, xmm2 - movd xmm8, dword ptr [rsp + 40] # 4-byte Folded Reload + movd xmm8, dword ptr [rsp + 24] # 4-byte Folded Reload # xmm8 = mem[0],zero,zero,zero movzx r14d, word ptr [rsi + r15 + 28] pcmpgtw xmm6, xmm0 @@ -39012,7 +40015,7 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 por xmm7, xmm1 movd xmm6, edx movzx edx, word ptr [rsi + r15 + 36] - mov dword ptr [rsp + 32], edx # 4-byte Spill + mov dword ptr [rsp + 48], edx # 4-byte Spill pinsrw xmm5, word ptr [rsi + r8 + 20], 1 pinsrw xmm5, word ptr [rsi + r9 + 20], 2 pinsrw xmm5, word ptr [rsi + r12 + 20], 3 @@ -39028,7 +40031,7 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 por xmm5, xmm7 movd xmm7, r14d movzx edx, word ptr [rsi + r15 + 38] - mov dword ptr [rsp + 40], edx # 4-byte Spill + mov dword ptr [rsp + 24], edx # 4-byte Spill pinsrw xmm2, word ptr [rsi + r8 + 22], 1 pinsrw xmm2, word ptr [rsi + r9 + 22], 2 pinsrw xmm2, word ptr [rsi + r12 + 22], 3 @@ -39059,7 +40062,7 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 por xmm3, xmm5 movd xmm5, eax movzx eax, word ptr [rsi + r15 + 42] - mov dword ptr [rsp + 8], eax # 4-byte Spill + mov dword ptr [rsp + 32], eax # 4-byte Spill pinsrw xmm6, word ptr [rsi + r8 + 26], 1 pinsrw xmm6, word ptr [rsi + r9 + 26], 2 pinsrw xmm6, word ptr [rsi + r12 + 26], 3 @@ -39099,7 +40102,7 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 psllw xmm2, 7 pand xmm2, xmm14 por xmm2, xmm7 - movd xmm6, dword ptr [rsp + 32] # 4-byte Folded Reload + movd xmm6, dword ptr [rsp + 48] # 4-byte Folded Reload # xmm6 = mem[0],zero,zero,zero movzx edx, word ptr [rsi + r15 + 46] pinsrw xmm5, word ptr [rsi + r8 + 32], 1 @@ -39121,238 +40124,647 @@ comparison_greater_arr_scalar_sse4: # @comparison_greater_arr_scalar_sse4 movdqa xmm7, xmm1 pand xmm7, xmm15 psubb xmm7, xmm1 - movd xmm3, dword ptr [rsp + 40] # 4-byte Folded Reload + movd xmm3, dword ptr [rsp + 24] # 4-byte Folded Reload # xmm3 = mem[0],zero,zero,zero movzx r11d, word ptr [rsi + r15 + 48] pinsrw xmm5, word ptr [rsi + rbx + 32], 7 pcmpgtw xmm5, xmm0 packsswb xmm5, xmm5 pand xmm5, xmm15 - pinsrw xmm6, word ptr [rsi + r8 + 36], 1 - pinsrw xmm6, word ptr [rsi + r9 + 36], 2 - pinsrw xmm6, word ptr [rsi + r12 + 36], 3 - pinsrw xmm6, word ptr [rsi + r13 + 36], 4 - pinsrw xmm6, word ptr [rsi + rcx + 36], 5 - pinsrw xmm6, word ptr [rsi + rdi + 36], 6 - pinsrw xmm6, word ptr [rsi + rbx + 36], 7 - pinsrw xmm3, word ptr [rsi + r8 + 38], 1 - pinsrw xmm3, word ptr [rsi + r9 + 38], 2 - pinsrw xmm3, word ptr [rsi + r12 + 38], 3 - pinsrw xmm3, word ptr [rsi + r13 + 38], 4 - pinsrw xmm3, word ptr [rsi + rcx + 38], 5 - pinsrw xmm3, word ptr [rsi + rdi + 38], 6 - pinsrw xmm3, word ptr [rsi + rbx + 38], 7 - por xmm7, xmm5 - movd xmm5, r14d - pinsrw xmm5, word ptr [rsi + r8 + 40], 1 - pinsrw xmm5, word ptr [rsi + r9 + 40], 2 - pinsrw xmm5, word ptr [rsi + r12 + 40], 3 - pinsrw xmm5, word ptr [rsi + r13 + 40], 4 - pinsrw xmm5, word ptr [rsi + rcx + 40], 5 - pinsrw xmm5, word ptr [rsi + rdi + 40], 6 - movzx eax, word ptr [rsi + r15 + 50] - pcmpgtw xmm6, xmm0 + pinsrw xmm6, word ptr [rsi + r8 + 36], 1 + pinsrw xmm6, word ptr [rsi + r9 + 36], 2 + pinsrw xmm6, word ptr [rsi + r12 + 36], 3 + pinsrw xmm6, word ptr [rsi + r13 + 36], 4 + pinsrw xmm6, word ptr [rsi + rcx + 36], 5 + pinsrw xmm6, word ptr [rsi + rdi + 36], 6 + pinsrw xmm6, word ptr [rsi + rbx + 36], 7 + pinsrw xmm3, word ptr [rsi + r8 + 38], 1 + pinsrw xmm3, word ptr [rsi + r9 + 38], 2 + pinsrw xmm3, word ptr [rsi + r12 + 38], 3 + pinsrw xmm3, word ptr [rsi + r13 + 38], 4 + pinsrw xmm3, word ptr [rsi + rcx + 38], 5 + pinsrw xmm3, word ptr [rsi + rdi + 38], 6 + pinsrw xmm3, word ptr [rsi + rbx + 38], 7 + por xmm7, xmm5 + movd xmm5, r14d + pinsrw xmm5, word ptr [rsi + r8 + 40], 1 + pinsrw xmm5, word ptr [rsi + r9 + 40], 2 + pinsrw xmm5, word ptr [rsi + r12 + 40], 3 + pinsrw xmm5, word ptr [rsi + r13 + 40], 4 + pinsrw xmm5, word ptr [rsi + rcx + 40], 5 + pinsrw xmm5, word ptr [rsi + rdi + 40], 6 + movzx eax, word ptr [rsi + r15 + 50] + pcmpgtw xmm6, xmm0 + packsswb xmm6, xmm6 + pand xmm6, xmm15 + psllw xmm6, 2 + pand xmm6, xmm9 + por xmm6, xmm7 + movd xmm1, dword ptr [rsp + 32] # 4-byte Folded Reload + # xmm1 = mem[0],zero,zero,zero + movzx r14d, word ptr [rsi + r15 + 52] + pinsrw xmm5, word ptr [rsi + rbx + 40], 7 + pcmpgtw xmm3, xmm0 + packsswb xmm3, xmm3 + pand xmm3, xmm15 + psllw xmm3, 3 + pand xmm3, xmm10 + pcmpgtw xmm5, xmm0 + packsswb xmm5, xmm5 + pand xmm5, xmm15 + psllw xmm5, 4 + pand xmm5, xmm11 + por xmm5, xmm3 + movd xmm7, r10d + movzx r10d, word ptr [rsi + r15 + 54] + pinsrw xmm1, word ptr [rsi + r8 + 42], 1 + pinsrw xmm1, word ptr [rsi + r9 + 42], 2 + pinsrw xmm1, word ptr [rsi + r12 + 42], 3 + pinsrw xmm1, word ptr [rsi + r13 + 42], 4 + pinsrw xmm1, word ptr [rsi + rcx + 42], 5 + pinsrw xmm1, word ptr [rsi + rdi + 42], 6 + pinsrw xmm1, word ptr [rsi + rbx + 42], 7 + pinsrw xmm7, word ptr [rsi + r8 + 44], 1 + pinsrw xmm7, word ptr [rsi + r9 + 44], 2 + pinsrw xmm7, word ptr [rsi + r12 + 44], 3 + pinsrw xmm7, word ptr [rsi + r13 + 44], 4 + pinsrw xmm7, word ptr [rsi + rcx + 44], 5 + pinsrw xmm7, word ptr [rsi + rdi + 44], 6 + por xmm5, xmm6 + movd xmm3, edx + movzx edx, word ptr [rsi + r15 + 56] + pinsrw xmm7, word ptr [rsi + rbx + 44], 7 + pcmpgtw xmm1, xmm0 + packsswb xmm1, xmm1 + pand xmm1, xmm15 + psllw xmm1, 5 + pand xmm1, xmm12 + pcmpgtw xmm7, xmm0 + packsswb xmm7, xmm7 + pand xmm7, xmm15 + psllw xmm7, 6 + pand xmm7, xmm13 + por xmm7, xmm1 + movd xmm6, r11d + movzx r11d, word ptr [rsi + r15 + 58] + pinsrw xmm3, word ptr [rsi + r8 + 46], 1 + pinsrw xmm3, word ptr [rsi + r9 + 46], 2 + pinsrw xmm3, word ptr [rsi + r12 + 46], 3 + pinsrw xmm3, word ptr [rsi + r13 + 46], 4 + pinsrw xmm3, word ptr [rsi + rcx + 46], 5 + pinsrw xmm3, word ptr [rsi + rdi + 46], 6 + pinsrw xmm3, word ptr [rsi + rbx + 46], 7 + pcmpgtw xmm3, xmm0 + packsswb xmm3, xmm3 + psllw xmm3, 7 + pand xmm3, xmm14 + por xmm3, xmm7 + movd xmm1, eax + movzx eax, word ptr [rsi + r15 + 60] + movzx r15d, word ptr [rsi + r15 + 62] + pinsrw xmm1, word ptr [rsi + r8 + 50], 1 + pinsrw xmm1, word ptr [rsi + r9 + 50], 2 + pinsrw xmm1, word ptr [rsi + r12 + 50], 3 + pinsrw xmm1, word ptr [rsi + r13 + 50], 4 + pinsrw xmm1, word ptr [rsi + rcx + 50], 5 + pinsrw xmm1, word ptr [rsi + rdi + 50], 6 + pinsrw xmm1, word ptr [rsi + rbx + 50], 7 + por xmm3, xmm5 + pcmpgtw xmm1, xmm0 + packsswb xmm1, xmm1 + movdqa xmm5, xmm1 + pand xmm5, xmm15 + psubb xmm5, xmm1 + movd xmm1, r14d + mov r14, qword ptr [rsp] # 8-byte Reload + pinsrw xmm6, word ptr [rsi + r8 + 48], 1 + pinsrw xmm6, word ptr [rsi + r9 + 48], 2 + pinsrw xmm6, word ptr [rsi + r12 + 48], 3 + pinsrw xmm6, word ptr [rsi + r13 + 48], 4 + pinsrw xmm6, word ptr [rsi + rcx + 48], 5 + pinsrw xmm6, word ptr [rsi + rdi + 48], 6 + pinsrw xmm6, word ptr [rsi + rbx + 48], 7 + pcmpgtw xmm6, xmm0 + packsswb xmm6, xmm6 + pinsrw xmm1, word ptr [rsi + r8 + 52], 1 + pinsrw xmm1, word ptr [rsi + r9 + 52], 2 + pinsrw xmm1, word ptr [rsi + r12 + 52], 3 + pinsrw xmm1, word ptr [rsi + r13 + 52], 4 + pinsrw xmm1, word ptr [rsi + rcx + 52], 5 + pand xmm6, xmm15 + pinsrw xmm1, word ptr [rsi + rdi + 52], 6 + por xmm5, xmm6 + movd xmm6, r10d + pinsrw xmm1, word ptr [rsi + rbx + 52], 7 + pcmpgtw xmm1, xmm0 + packsswb xmm1, xmm1 + pand xmm1, xmm15 + psllw xmm1, 2 + pand xmm1, xmm9 + por xmm1, xmm5 + movd xmm5, edx + pinsrw xmm6, word ptr [rsi + r8 + 54], 1 + pinsrw xmm6, word ptr [rsi + r9 + 54], 2 + pinsrw xmm6, word ptr [rsi + r12 + 54], 3 + pinsrw xmm6, word ptr [rsi + r13 + 54], 4 + pinsrw xmm6, word ptr [rsi + rcx + 54], 5 + pinsrw xmm6, word ptr [rsi + rdi + 54], 6 + pinsrw xmm6, word ptr [rsi + rbx + 54], 7 + pinsrw xmm5, word ptr [rsi + r8 + 56], 1 + pinsrw xmm5, word ptr [rsi + r9 + 56], 2 + pinsrw xmm5, word ptr [rsi + r12 + 56], 3 + pinsrw xmm5, word ptr [rsi + r13 + 56], 4 + pinsrw xmm5, word ptr [rsi + rcx + 56], 5 + pinsrw xmm5, word ptr [rsi + rdi + 56], 6 + pinsrw xmm5, word ptr [rsi + rbx + 56], 7 + pcmpgtw xmm6, xmm0 + packsswb xmm6, xmm6 + pand xmm6, xmm15 + psllw xmm6, 3 + pand xmm6, xmm10 + pcmpgtw xmm5, xmm0 + packsswb xmm5, xmm5 + pand xmm5, xmm15 + psllw xmm5, 4 + pand xmm5, xmm11 + por xmm5, xmm6 + movd xmm6, r11d + pinsrw xmm6, word ptr [rsi + r8 + 58], 1 + pinsrw xmm6, word ptr [rsi + r9 + 58], 2 + pinsrw xmm6, word ptr [rsi + r12 + 58], 3 + pinsrw xmm6, word ptr [rsi + r13 + 58], 4 + pinsrw xmm6, word ptr [rsi + rcx + 58], 5 + pinsrw xmm6, word ptr [rsi + rdi + 58], 6 + pinsrw xmm6, word ptr [rsi + rbx + 58], 7 + por xmm5, xmm1 + movd xmm1, eax + pinsrw xmm1, word ptr [rsi + r8 + 60], 1 + pinsrw xmm1, word ptr [rsi + r9 + 60], 2 + pinsrw xmm1, word ptr [rsi + r12 + 60], 3 + pinsrw xmm1, word ptr [rsi + r13 + 60], 4 + pinsrw xmm1, word ptr [rsi + rcx + 60], 5 + pinsrw xmm1, word ptr [rsi + rdi + 60], 6 + pinsrw xmm1, word ptr [rsi + rbx + 60], 7 + pcmpgtw xmm6, xmm0 + packsswb xmm6, xmm6 + pand xmm6, xmm15 + psllw xmm6, 5 + pand xmm6, xmm12 + pcmpgtw xmm1, xmm0 + packsswb xmm1, xmm1 + pand xmm1, xmm15 + psllw xmm1, 6 + pand xmm1, xmm13 + por xmm1, xmm6 + movd xmm6, r15d + pinsrw xmm6, word ptr [rsi + r8 + 62], 1 + pinsrw xmm6, word ptr [rsi + r9 + 62], 2 + pinsrw xmm6, word ptr [rsi + r12 + 62], 3 + pinsrw xmm6, word ptr [rsi + r13 + 62], 4 + pinsrw xmm6, word ptr [rsi + rcx + 62], 5 + pinsrw xmm6, word ptr [rsi + rdi + 62], 6 + pinsrw xmm6, word ptr [rsi + rbx + 62], 7 + pcmpgtw xmm6, xmm0 + packsswb xmm6, xmm6 + psllw xmm6, 7 + pand xmm6, xmm14 + por xmm6, xmm1 + por xmm6, xmm5 + movdqa xmm1, xmm4 + punpcklqdq xmm1, xmm2 # xmm1 = xmm1[0],xmm2[0] + movdqa xmm5, xmm3 + punpcklqdq xmm5, xmm6 # xmm5 = xmm5[0],xmm6[0] + movdqa xmm7, xmmword ptr [rip + .LCPI7_9] # xmm7 = <4,12,5,13,6,14,7,15,u,u,u,u,u,u,u,u> + pshufb xmm5, xmm7 + pshufb xmm1, xmm7 + punpcklwd xmm1, xmm5 # xmm1 = xmm1[0],xmm5[0],xmm1[1],xmm5[1],xmm1[2],xmm5[2],xmm1[3],xmm5[3] + punpcklbw xmm3, xmm6 # xmm3 = xmm3[0],xmm6[0],xmm3[1],xmm6[1],xmm3[2],xmm6[2],xmm3[3],xmm6[3],xmm3[4],xmm6[4],xmm3[5],xmm6[5],xmm3[6],xmm6[6],xmm3[7],xmm6[7] + punpcklbw xmm4, xmm2 # xmm4 = xmm4[0],xmm2[0],xmm4[1],xmm2[1],xmm4[2],xmm2[2],xmm4[3],xmm2[3],xmm4[4],xmm2[4],xmm4[5],xmm2[5],xmm4[6],xmm2[6],xmm4[7],xmm2[7] + punpcklwd xmm4, xmm3 # xmm4 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3] + mov rcx, qword ptr [rsp + 16] # 8-byte Reload + movdqu xmmword ptr [r14 + 4*rcx], xmm4 + mov qword ptr [rsp], r14 # 8-byte Spill + movdqu xmmword ptr [r14 + 4*rcx + 16], xmm1 + add rcx, 8 + mov r15, rcx + cmp rcx, qword ptr [rsp + 40] # 8-byte Folded Reload + jne .LBB7_125 +# %bb.126: + mov r15, qword ptr [rsp + 272] # 8-byte Reload + cmp r15, qword ptr [rsp + 40] # 8-byte Folded Reload + mov r11, qword ptr [rsp + 136] # 8-byte Reload + mov r14, qword ptr [rsp + 8] # 8-byte Reload + mov rsi, qword ptr [rsp + 56] # 8-byte Reload + jne .LBB7_127 + jmp .LBB7_130 +.LBB7_182: + mov rax, r10 + and rax, -4 + mov rdx, rax + shl rdx, 7 + add rdx, rsi + mov rcx, qword ptr [rsp] # 8-byte Reload + lea r15, [rcx + 4*rax] + movaps xmm13, xmm11 + shufps xmm13, xmm11, 0 # xmm13 = xmm13[0,0],xmm11[0,0] + add rsi, 508 + xor ecx, ecx + movdqa xmm15, xmmword ptr [rip + .LCPI7_0] # xmm15 = <1,1,1,1,u,u,u,u,u,u,u,u,u,u,u,u> + mov rdi, qword ptr [rsp] # 8-byte Reload + .p2align 4, 0x90 +.LBB7_183: # =>This Inner Loop Header: Depth=1 + movss xmm3, dword ptr [rsi - 508] # xmm3 = mem[0],zero,zero,zero + movss xmm10, dword ptr [rsi - 504] # xmm10 = mem[0],zero,zero,zero + movss xmm9, dword ptr [rsi - 500] # xmm9 = mem[0],zero,zero,zero + movss xmm1, dword ptr [rsi - 496] # xmm1 = mem[0],zero,zero,zero + insertps xmm3, dword ptr [rsi - 380], 16 # xmm3 = xmm3[0],mem[0],xmm3[2,3] + insertps xmm3, dword ptr [rsi - 252], 32 # xmm3 = xmm3[0,1],mem[0],xmm3[3] + insertps xmm3, dword ptr [rsi - 124], 48 # xmm3 = xmm3[0,1,2],mem[0] + insertps xmm10, dword ptr [rsi - 376], 16 # xmm10 = xmm10[0],mem[0],xmm10[2,3] + insertps xmm10, dword ptr [rsi - 248], 32 # xmm10 = xmm10[0,1],mem[0],xmm10[3] + insertps xmm10, dword ptr [rsi - 120], 48 # xmm10 = xmm10[0,1,2],mem[0] + insertps xmm9, dword ptr [rsi - 372], 16 # xmm9 = xmm9[0],mem[0],xmm9[2,3] + insertps xmm9, dword ptr [rsi - 244], 32 # xmm9 = xmm9[0,1],mem[0],xmm9[3] + insertps xmm9, dword ptr [rsi - 116], 48 # xmm9 = xmm9[0,1,2],mem[0] + insertps xmm1, dword ptr [rsi - 368], 16 # xmm1 = xmm1[0],mem[0],xmm1[2,3] + insertps xmm1, dword ptr [rsi - 240], 32 # xmm1 = xmm1[0,1],mem[0],xmm1[3] + insertps xmm1, dword ptr [rsi - 112], 48 # xmm1 = xmm1[0,1,2],mem[0] + movss xmm8, dword ptr [rsi - 492] # xmm8 = mem[0],zero,zero,zero + insertps xmm8, dword ptr [rsi - 364], 16 # xmm8 = xmm8[0],mem[0],xmm8[2,3] + insertps xmm8, dword ptr [rsi - 236], 32 # xmm8 = xmm8[0,1],mem[0],xmm8[3] + movaps xmm12, xmm13 + insertps xmm8, dword ptr [rsi - 108], 48 # xmm8 = xmm8[0,1,2],mem[0] + movss xmm2, dword ptr [rsi - 488] # xmm2 = mem[0],zero,zero,zero + insertps xmm2, dword ptr [rsi - 360], 16 # xmm2 = xmm2[0],mem[0],xmm2[2,3] + insertps xmm2, dword ptr [rsi - 232], 32 # xmm2 = xmm2[0,1],mem[0],xmm2[3] + cmpltps xmm12, xmm3 + insertps xmm2, dword ptr [rsi - 104], 48 # xmm2 = xmm2[0,1,2],mem[0] + movss xmm3, dword ptr [rsi - 484] # xmm3 = mem[0],zero,zero,zero + insertps xmm3, dword ptr [rsi - 356], 16 # xmm3 = xmm3[0],mem[0],xmm3[2,3] + insertps xmm3, dword ptr [rsi - 228], 32 # xmm3 = xmm3[0,1],mem[0],xmm3[3] + packssdw xmm12, xmm12 + insertps xmm3, dword ptr [rsi - 100], 48 # xmm3 = xmm3[0,1,2],mem[0] + movss xmm4, dword ptr [rsi - 476] # xmm4 = mem[0],zero,zero,zero + insertps xmm4, dword ptr [rsi - 348], 16 # xmm4 = xmm4[0],mem[0],xmm4[2,3] + insertps xmm4, dword ptr [rsi - 220], 32 # xmm4 = xmm4[0,1],mem[0],xmm4[3] + packsswb xmm12, xmm12 + insertps xmm4, dword ptr [rsi - 92], 48 # xmm4 = xmm4[0,1,2],mem[0] + movaps xmm7, xmm13 + movss xmm5, dword ptr [rsi - 444] # xmm5 = mem[0],zero,zero,zero + insertps xmm5, dword ptr [rsi - 316], 16 # xmm5 = xmm5[0],mem[0],xmm5[2,3] + insertps xmm5, dword ptr [rsi - 188], 32 # xmm5 = xmm5[0,1],mem[0],xmm5[3] + cmpltps xmm7, xmm4 + insertps xmm5, dword ptr [rsi - 60], 48 # xmm5 = xmm5[0,1,2],mem[0] + movaps xmm6, xmm13 + movss xmm0, dword ptr [rsi - 412] # xmm0 = mem[0],zero,zero,zero + insertps xmm0, dword ptr [rsi - 284], 16 # xmm0 = xmm0[0],mem[0],xmm0[2,3] + insertps xmm0, dword ptr [rsi - 156], 32 # xmm0 = xmm0[0,1],mem[0],xmm0[3] + cmpltps xmm6, xmm5 + insertps xmm0, dword ptr [rsi - 28], 48 # xmm0 = xmm0[0,1,2],mem[0] + movaps xmm4, xmm13 + cmpltps xmm4, xmm0 + movaps xmm0, xmm13 + cmpltps xmm0, xmm10 + packssdw xmm0, xmm0 + packsswb xmm0, xmm0 + movdqa xmm14, xmm0 + pand xmm14, xmm15 + psubb xmm14, xmm0 + movss xmm10, dword ptr [rsi - 480] # xmm10 = mem[0],zero,zero,zero + insertps xmm10, dword ptr [rsi - 352], 16 # xmm10 = xmm10[0],mem[0],xmm10[2,3] + pand xmm12, xmm15 + insertps xmm10, dword ptr [rsi - 224], 32 # xmm10 = xmm10[0,1],mem[0],xmm10[3] + por xmm14, xmm12 + movaps xmm5, xmm13 + cmpltps xmm5, xmm9 + insertps xmm10, dword ptr [rsi - 96], 48 # xmm10 = xmm10[0,1,2],mem[0] + packssdw xmm5, xmm5 + packsswb xmm5, xmm5 + pand xmm5, xmm15 + psllw xmm5, 2 + movdqa xmm0, xmmword ptr [rip + .LCPI7_1] # xmm0 = [252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252] + pand xmm5, xmm0 + por xmm5, xmm14 + movaps xmm0, xmm13 + cmpltps xmm0, xmm1 + movaps xmm1, xmm13 + cmpltps xmm1, xmm8 + movss xmm9, dword ptr [rsi - 472] # xmm9 = mem[0],zero,zero,zero + insertps xmm9, dword ptr [rsi - 344], 16 # xmm9 = xmm9[0],mem[0],xmm9[2,3] + insertps xmm9, dword ptr [rsi - 216], 32 # xmm9 = xmm9[0,1],mem[0],xmm9[3] + insertps xmm9, dword ptr [rsi - 88], 48 # xmm9 = xmm9[0,1,2],mem[0] + packssdw xmm0, xmm0 + packsswb xmm0, xmm0 + pand xmm0, xmm15 + psllw xmm0, 3 + movdqa xmm14, xmmword ptr [rip + .LCPI7_2] # xmm14 = [248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248] + pand xmm0, xmm14 + packssdw xmm1, xmm1 + packsswb xmm1, xmm1 + pand xmm1, xmm15 + psllw xmm1, 4 + movdqa xmm14, xmmword ptr [rip + .LCPI7_3] # xmm14 = [240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240] + pand xmm1, xmm14 + por xmm1, xmm0 + movss xmm12, dword ptr [rsi - 468] # xmm12 = mem[0],zero,zero,zero + insertps xmm12, dword ptr [rsi - 340], 16 # xmm12 = xmm12[0],mem[0],xmm12[2,3] + insertps xmm12, dword ptr [rsi - 212], 32 # xmm12 = xmm12[0,1],mem[0],xmm12[3] + insertps xmm12, dword ptr [rsi - 84], 48 # xmm12 = xmm12[0,1,2],mem[0] + por xmm1, xmm5 + movaps xmm0, xmm13 + cmpltps xmm0, xmm2 + movaps xmm5, xmm13 + cmpltps xmm5, xmm3 + movss xmm2, dword ptr [rsi - 464] # xmm2 = mem[0],zero,zero,zero + insertps xmm2, dword ptr [rsi - 336], 16 # xmm2 = xmm2[0],mem[0],xmm2[2,3] + insertps xmm2, dword ptr [rsi - 208], 32 # xmm2 = xmm2[0,1],mem[0],xmm2[3] + packssdw xmm7, xmm7 + insertps xmm2, dword ptr [rsi - 80], 48 # xmm2 = xmm2[0,1,2],mem[0] + packssdw xmm0, xmm0 + packsswb xmm0, xmm0 + pand xmm0, xmm15 + psllw xmm0, 5 + movdqa xmm14, xmmword ptr [rip + .LCPI7_4] # xmm14 = [224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224] + pand xmm0, xmm14 + packssdw xmm5, xmm5 + packsswb xmm5, xmm5 + pand xmm5, xmm15 + psllw xmm5, 6 + movdqa xmm3, xmmword ptr [rip + .LCPI7_5] # xmm3 = [192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192] + pand xmm5, xmm3 + por xmm5, xmm0 + movaps xmm8, xmm13 + cmpltps xmm8, xmm10 + movss xmm3, dword ptr [rsi - 460] # xmm3 = mem[0],zero,zero,zero + insertps xmm3, dword ptr [rsi - 332], 16 # xmm3 = xmm3[0],mem[0],xmm3[2,3] + insertps xmm3, dword ptr [rsi - 204], 32 # xmm3 = xmm3[0,1],mem[0],xmm3[3] + insertps xmm3, dword ptr [rsi - 76], 48 # xmm3 = xmm3[0,1,2],mem[0] + packssdw xmm8, xmm8 + packsswb xmm8, xmm8 + psllw xmm8, 7 + movdqa xmm0, xmmword ptr [rip + .LCPI7_6] # xmm0 = [128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128] + pand xmm8, xmm0 + por xmm8, xmm5 + movss xmm10, dword ptr [rsi - 456] # xmm10 = mem[0],zero,zero,zero + insertps xmm10, dword ptr [rsi - 328], 16 # xmm10 = xmm10[0],mem[0],xmm10[2,3] + insertps xmm10, dword ptr [rsi - 200], 32 # xmm10 = xmm10[0,1],mem[0],xmm10[3] + packsswb xmm7, xmm7 + insertps xmm10, dword ptr [rsi - 72], 48 # xmm10 = xmm10[0,1,2],mem[0] + por xmm8, xmm1 + movaps xmm0, xmm13 + cmpltps xmm0, xmm9 + packssdw xmm0, xmm0 + packsswb xmm0, xmm0 + movdqa xmm1, xmm0 + pand xmm1, xmm15 + psubb xmm1, xmm0 + movss xmm9, dword ptr [rsi - 452] # xmm9 = mem[0],zero,zero,zero + insertps xmm9, dword ptr [rsi - 324], 16 # xmm9 = xmm9[0],mem[0],xmm9[2,3] + pand xmm7, xmm15 + insertps xmm9, dword ptr [rsi - 196], 32 # xmm9 = xmm9[0,1],mem[0],xmm9[3] + por xmm1, xmm7 + movaps xmm5, xmm13 + cmpltps xmm5, xmm12 + insertps xmm9, dword ptr [rsi - 68], 48 # xmm9 = xmm9[0,1,2],mem[0] + packssdw xmm5, xmm5 + packsswb xmm5, xmm5 + pand xmm5, xmm15 + psllw xmm5, 2 + pand xmm5, xmmword ptr [rip + .LCPI7_1] + por xmm5, xmm1 + movaps xmm0, xmm13 + cmpltps xmm0, xmm2 + movaps xmm1, xmm13 + cmpltps xmm1, xmm3 + movss xmm3, dword ptr [rsi - 448] # xmm3 = mem[0],zero,zero,zero + insertps xmm3, dword ptr [rsi - 320], 16 # xmm3 = xmm3[0],mem[0],xmm3[2,3] + insertps xmm3, dword ptr [rsi - 192], 32 # xmm3 = xmm3[0,1],mem[0],xmm3[3] + insertps xmm3, dword ptr [rsi - 64], 48 # xmm3 = xmm3[0,1,2],mem[0] + packssdw xmm0, xmm0 + packsswb xmm0, xmm0 + pand xmm0, xmm15 + psllw xmm0, 3 + movdqa xmm12, xmmword ptr [rip + .LCPI7_2] # xmm12 = [248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248] + pand xmm0, xmm12 + packssdw xmm1, xmm1 + packsswb xmm1, xmm1 + pand xmm1, xmm15 + psllw xmm1, 4 + pand xmm1, xmmword ptr [rip + .LCPI7_3] + por xmm1, xmm0 + movss xmm2, dword ptr [rsi - 440] # xmm2 = mem[0],zero,zero,zero + insertps xmm2, dword ptr [rsi - 312], 16 # xmm2 = xmm2[0],mem[0],xmm2[2,3] + insertps xmm2, dword ptr [rsi - 184], 32 # xmm2 = xmm2[0,1],mem[0],xmm2[3] + insertps xmm2, dword ptr [rsi - 56], 48 # xmm2 = xmm2[0,1,2],mem[0] + por xmm1, xmm5 + movaps xmm0, xmm13 + cmpltps xmm0, xmm10 + movaps xmm5, xmm13 + cmpltps xmm5, xmm9 + movss xmm7, dword ptr [rsi - 436] # xmm7 = mem[0],zero,zero,zero + insertps xmm7, dword ptr [rsi - 308], 16 # xmm7 = xmm7[0],mem[0],xmm7[2,3] + insertps xmm7, dword ptr [rsi - 180], 32 # xmm7 = xmm7[0,1],mem[0],xmm7[3] + packssdw xmm6, xmm6 + insertps xmm7, dword ptr [rsi - 52], 48 # xmm7 = xmm7[0,1,2],mem[0] + packssdw xmm0, xmm0 + packsswb xmm0, xmm0 + pand xmm0, xmm15 + psllw xmm0, 5 + pand xmm0, xmm14 + packssdw xmm5, xmm5 + packsswb xmm5, xmm5 + pand xmm5, xmm15 + psllw xmm5, 6 + pand xmm5, xmmword ptr [rip + .LCPI7_5] + por xmm5, xmm0 + movaps xmm0, xmm13 + cmpltps xmm0, xmm3 + movss xmm3, dword ptr [rsi - 432] # xmm3 = mem[0],zero,zero,zero + insertps xmm3, dword ptr [rsi - 304], 16 # xmm3 = xmm3[0],mem[0],xmm3[2,3] + insertps xmm3, dword ptr [rsi - 176], 32 # xmm3 = xmm3[0,1],mem[0],xmm3[3] + insertps xmm3, dword ptr [rsi - 48], 48 # xmm3 = xmm3[0,1,2],mem[0] + packssdw xmm0, xmm0 + packsswb xmm0, xmm0 + psllw xmm0, 7 + movdqa xmm10, xmmword ptr [rip + .LCPI7_6] # xmm10 = [128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128] + pand xmm0, xmm10 + por xmm0, xmm5 + movss xmm5, dword ptr [rsi - 428] # xmm5 = mem[0],zero,zero,zero + insertps xmm5, dword ptr [rsi - 300], 16 # xmm5 = xmm5[0],mem[0],xmm5[2,3] + insertps xmm5, dword ptr [rsi - 172], 32 # xmm5 = xmm5[0,1],mem[0],xmm5[3] + insertps xmm5, dword ptr [rsi - 44], 48 # xmm5 = xmm5[0,1,2],mem[0] + por xmm0, xmm1 + movss xmm9, dword ptr [rsi - 424] # xmm9 = mem[0],zero,zero,zero + insertps xmm9, dword ptr [rsi - 296], 16 # xmm9 = xmm9[0],mem[0],xmm9[2,3] + insertps xmm9, dword ptr [rsi - 168], 32 # xmm9 = xmm9[0,1],mem[0],xmm9[3] + packsswb xmm6, xmm6 + insertps xmm9, dword ptr [rsi - 40], 48 # xmm9 = xmm9[0,1,2],mem[0] + punpckldq xmm8, xmm0 # xmm8 = xmm8[0],xmm0[0],xmm8[1],xmm0[1] + movaps xmm0, xmm13 + cmpltps xmm0, xmm2 + packssdw xmm0, xmm0 + packsswb xmm0, xmm0 + movdqa xmm1, xmm0 + pand xmm1, xmm15 + psubb xmm1, xmm0 + movss xmm2, dword ptr [rsi - 420] # xmm2 = mem[0],zero,zero,zero + insertps xmm2, dword ptr [rsi - 292], 16 # xmm2 = xmm2[0],mem[0],xmm2[2,3] + pand xmm6, xmm15 + insertps xmm2, dword ptr [rsi - 164], 32 # xmm2 = xmm2[0,1],mem[0],xmm2[3] + por xmm1, xmm6 + movaps xmm6, xmm13 + cmpltps xmm6, xmm7 + insertps xmm2, dword ptr [rsi - 36], 48 # xmm2 = xmm2[0,1,2],mem[0] + packssdw xmm6, xmm6 packsswb xmm6, xmm6 pand xmm6, xmm15 psllw xmm6, 2 - pand xmm6, xmm9 - por xmm6, xmm7 - movd xmm1, dword ptr [rsp + 8] # 4-byte Folded Reload - # xmm1 = mem[0],zero,zero,zero - movzx r14d, word ptr [rsi + r15 + 52] - pinsrw xmm5, word ptr [rsi + rbx + 40], 7 - pcmpgtw xmm3, xmm0 - packsswb xmm3, xmm3 - pand xmm3, xmm15 - psllw xmm3, 3 - pand xmm3, xmm10 - pcmpgtw xmm5, xmm0 - packsswb xmm5, xmm5 - pand xmm5, xmm15 - psllw xmm5, 4 - pand xmm5, xmm11 - por xmm5, xmm3 - movd xmm7, r10d - movzx r10d, word ptr [rsi + r15 + 54] - pinsrw xmm1, word ptr [rsi + r8 + 42], 1 - pinsrw xmm1, word ptr [rsi + r9 + 42], 2 - pinsrw xmm1, word ptr [rsi + r12 + 42], 3 - pinsrw xmm1, word ptr [rsi + r13 + 42], 4 - pinsrw xmm1, word ptr [rsi + rcx + 42], 5 - pinsrw xmm1, word ptr [rsi + rdi + 42], 6 - pinsrw xmm1, word ptr [rsi + rbx + 42], 7 - pinsrw xmm7, word ptr [rsi + r8 + 44], 1 - pinsrw xmm7, word ptr [rsi + r9 + 44], 2 - pinsrw xmm7, word ptr [rsi + r12 + 44], 3 - pinsrw xmm7, word ptr [rsi + r13 + 44], 4 - pinsrw xmm7, word ptr [rsi + rcx + 44], 5 - pinsrw xmm7, word ptr [rsi + rdi + 44], 6 - por xmm5, xmm6 - movd xmm3, edx - movzx edx, word ptr [rsi + r15 + 56] - pinsrw xmm7, word ptr [rsi + rbx + 44], 7 - pcmpgtw xmm1, xmm0 + movdqa xmm0, xmmword ptr [rip + .LCPI7_1] # xmm0 = [252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252] + pand xmm6, xmm0 + por xmm6, xmm1 + movaps xmm0, xmm13 + cmpltps xmm0, xmm3 + movaps xmm1, xmm13 + cmpltps xmm1, xmm5 + movss xmm3, dword ptr [rsi - 416] # xmm3 = mem[0],zero,zero,zero + insertps xmm3, dword ptr [rsi - 288], 16 # xmm3 = xmm3[0],mem[0],xmm3[2,3] + insertps xmm3, dword ptr [rsi - 160], 32 # xmm3 = xmm3[0,1],mem[0],xmm3[3] + insertps xmm3, dword ptr [rsi - 32], 48 # xmm3 = xmm3[0,1,2],mem[0] + packssdw xmm0, xmm0 + packsswb xmm0, xmm0 + pand xmm0, xmm15 + psllw xmm0, 3 + pand xmm0, xmm12 + packssdw xmm1, xmm1 packsswb xmm1, xmm1 pand xmm1, xmm15 - psllw xmm1, 5 + psllw xmm1, 4 + movdqa xmm12, xmmword ptr [rip + .LCPI7_3] # xmm12 = [240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240] pand xmm1, xmm12 - pcmpgtw xmm7, xmm0 - packsswb xmm7, xmm7 - pand xmm7, xmm15 - psllw xmm7, 6 - pand xmm7, xmm13 - por xmm7, xmm1 - movd xmm6, r11d - movzx r11d, word ptr [rsi + r15 + 58] - pinsrw xmm3, word ptr [rsi + r8 + 46], 1 - pinsrw xmm3, word ptr [rsi + r9 + 46], 2 - pinsrw xmm3, word ptr [rsi + r12 + 46], 3 - pinsrw xmm3, word ptr [rsi + r13 + 46], 4 - pinsrw xmm3, word ptr [rsi + rcx + 46], 5 - pinsrw xmm3, word ptr [rsi + rdi + 46], 6 - pinsrw xmm3, word ptr [rsi + rbx + 46], 7 - pcmpgtw xmm3, xmm0 - packsswb xmm3, xmm3 - psllw xmm3, 7 - pand xmm3, xmm14 - por xmm3, xmm7 - movd xmm1, eax - movzx eax, word ptr [rsi + r15 + 60] - movzx r15d, word ptr [rsi + r15 + 62] - pinsrw xmm1, word ptr [rsi + r8 + 50], 1 - pinsrw xmm1, word ptr [rsi + r9 + 50], 2 - pinsrw xmm1, word ptr [rsi + r12 + 50], 3 - pinsrw xmm1, word ptr [rsi + r13 + 50], 4 - pinsrw xmm1, word ptr [rsi + rcx + 50], 5 - pinsrw xmm1, word ptr [rsi + rdi + 50], 6 - pinsrw xmm1, word ptr [rsi + rbx + 50], 7 - por xmm3, xmm5 - pcmpgtw xmm1, xmm0 + por xmm1, xmm0 + movss xmm5, dword ptr [rsi - 408] # xmm5 = mem[0],zero,zero,zero + insertps xmm5, dword ptr [rsi - 280], 16 # xmm5 = xmm5[0],mem[0],xmm5[2,3] + insertps xmm5, dword ptr [rsi - 152], 32 # xmm5 = xmm5[0,1],mem[0],xmm5[3] + insertps xmm5, dword ptr [rsi - 24], 48 # xmm5 = xmm5[0,1,2],mem[0] + por xmm1, xmm6 + movaps xmm0, xmm13 + cmpltps xmm0, xmm9 + movaps xmm6, xmm13 + cmpltps xmm6, xmm2 + movss xmm7, dword ptr [rsi - 404] # xmm7 = mem[0],zero,zero,zero + insertps xmm7, dword ptr [rsi - 276], 16 # xmm7 = xmm7[0],mem[0],xmm7[2,3] + insertps xmm7, dword ptr [rsi - 148], 32 # xmm7 = xmm7[0,1],mem[0],xmm7[3] + packssdw xmm4, xmm4 + insertps xmm7, dword ptr [rsi - 20], 48 # xmm7 = xmm7[0,1,2],mem[0] + packssdw xmm0, xmm0 + packsswb xmm0, xmm0 + pand xmm0, xmm15 + psllw xmm0, 5 + pand xmm0, xmm14 + packssdw xmm6, xmm6 + packsswb xmm6, xmm6 + pand xmm6, xmm15 + psllw xmm6, 6 + movdqa xmm9, xmmword ptr [rip + .LCPI7_5] # xmm9 = [192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192] + pand xmm6, xmm9 + por xmm6, xmm0 + movaps xmm2, xmm13 + cmpltps xmm2, xmm3 + movss xmm0, dword ptr [rsi - 400] # xmm0 = mem[0],zero,zero,zero + insertps xmm0, dword ptr [rsi - 272], 16 # xmm0 = xmm0[0],mem[0],xmm0[2,3] + insertps xmm0, dword ptr [rsi - 144], 32 # xmm0 = xmm0[0,1],mem[0],xmm0[3] + insertps xmm0, dword ptr [rsi - 16], 48 # xmm0 = xmm0[0,1,2],mem[0] + packssdw xmm2, xmm2 + packsswb xmm2, xmm2 + psllw xmm2, 7 + pand xmm2, xmm10 + por xmm2, xmm6 + movss xmm6, dword ptr [rsi - 396] # xmm6 = mem[0],zero,zero,zero + insertps xmm6, dword ptr [rsi - 268], 16 # xmm6 = xmm6[0],mem[0],xmm6[2,3] + insertps xmm6, dword ptr [rsi - 140], 32 # xmm6 = xmm6[0,1],mem[0],xmm6[3] + packsswb xmm4, xmm4 + insertps xmm6, dword ptr [rsi - 12], 48 # xmm6 = xmm6[0,1,2],mem[0] + por xmm2, xmm1 + movaps xmm1, xmm13 + cmpltps xmm1, xmm5 + packssdw xmm1, xmm1 packsswb xmm1, xmm1 movdqa xmm5, xmm1 pand xmm5, xmm15 psubb xmm5, xmm1 - movd xmm1, r14d - pinsrw xmm6, word ptr [rsi + r8 + 48], 1 - pinsrw xmm6, word ptr [rsi + r9 + 48], 2 - pinsrw xmm6, word ptr [rsi + r12 + 48], 3 - pinsrw xmm6, word ptr [rsi + r13 + 48], 4 - pinsrw xmm6, word ptr [rsi + rcx + 48], 5 - pinsrw xmm6, word ptr [rsi + rdi + 48], 6 - pinsrw xmm6, word ptr [rsi + rbx + 48], 7 - pcmpgtw xmm6, xmm0 - packsswb xmm6, xmm6 - pinsrw xmm1, word ptr [rsi + r8 + 52], 1 - pinsrw xmm1, word ptr [rsi + r9 + 52], 2 - pinsrw xmm1, word ptr [rsi + r12 + 52], 3 - pinsrw xmm1, word ptr [rsi + r13 + 52], 4 - pinsrw xmm1, word ptr [rsi + rcx + 52], 5 - pand xmm6, xmm15 - pinsrw xmm1, word ptr [rsi + rdi + 52], 6 - por xmm5, xmm6 - movd xmm6, r10d - pinsrw xmm1, word ptr [rsi + rbx + 52], 7 - pcmpgtw xmm1, xmm0 - packsswb xmm1, xmm1 - pand xmm1, xmm15 - psllw xmm1, 2 - pand xmm1, xmm9 - por xmm1, xmm5 - movd xmm5, edx - pinsrw xmm6, word ptr [rsi + r8 + 54], 1 - pinsrw xmm6, word ptr [rsi + r9 + 54], 2 - pinsrw xmm6, word ptr [rsi + r12 + 54], 3 - pinsrw xmm6, word ptr [rsi + r13 + 54], 4 - pinsrw xmm6, word ptr [rsi + rcx + 54], 5 - pinsrw xmm6, word ptr [rsi + rdi + 54], 6 - pinsrw xmm6, word ptr [rsi + rbx + 54], 7 - pinsrw xmm5, word ptr [rsi + r8 + 56], 1 - pinsrw xmm5, word ptr [rsi + r9 + 56], 2 - pinsrw xmm5, word ptr [rsi + r12 + 56], 3 - pinsrw xmm5, word ptr [rsi + r13 + 56], 4 - pinsrw xmm5, word ptr [rsi + rcx + 56], 5 - pinsrw xmm5, word ptr [rsi + rdi + 56], 6 - pinsrw xmm5, word ptr [rsi + rbx + 56], 7 - pcmpgtw xmm6, xmm0 - packsswb xmm6, xmm6 - pand xmm6, xmm15 - psllw xmm6, 3 - pand xmm6, xmm10 - pcmpgtw xmm5, xmm0 + movss xmm3, dword ptr [rsi - 392] # xmm3 = mem[0],zero,zero,zero + insertps xmm3, dword ptr [rsi - 264], 16 # xmm3 = xmm3[0],mem[0],xmm3[2,3] + pand xmm4, xmm15 + insertps xmm3, dword ptr [rsi - 136], 32 # xmm3 = xmm3[0,1],mem[0],xmm3[3] + por xmm5, xmm4 + movaps xmm4, xmm13 + cmpltps xmm4, xmm7 + insertps xmm3, dword ptr [rsi - 8], 48 # xmm3 = xmm3[0,1,2],mem[0] + packssdw xmm4, xmm4 + packsswb xmm4, xmm4 + pand xmm4, xmm15 + psllw xmm4, 2 + pand xmm4, xmmword ptr [rip + .LCPI7_1] + por xmm4, xmm5 + movaps xmm5, xmm13 + cmpltps xmm5, xmm0 + movaps xmm1, xmm13 + cmpltps xmm1, xmm6 + movss xmm0, dword ptr [rsi - 388] # xmm0 = mem[0],zero,zero,zero + insertps xmm0, dword ptr [rsi - 260], 16 # xmm0 = xmm0[0],mem[0],xmm0[2,3] + insertps xmm0, dword ptr [rsi - 132], 32 # xmm0 = xmm0[0,1],mem[0],xmm0[3] + insertps xmm0, dword ptr [rsi - 4], 48 # xmm0 = xmm0[0,1,2],mem[0] + packssdw xmm5, xmm5 packsswb xmm5, xmm5 pand xmm5, xmm15 - psllw xmm5, 4 - pand xmm5, xmm11 - por xmm5, xmm6 - movd xmm6, r11d - pinsrw xmm6, word ptr [rsi + r8 + 58], 1 - pinsrw xmm6, word ptr [rsi + r9 + 58], 2 - pinsrw xmm6, word ptr [rsi + r12 + 58], 3 - pinsrw xmm6, word ptr [rsi + r13 + 58], 4 - pinsrw xmm6, word ptr [rsi + rcx + 58], 5 - pinsrw xmm6, word ptr [rsi + rdi + 58], 6 - pinsrw xmm6, word ptr [rsi + rbx + 58], 7 - por xmm5, xmm1 - movd xmm1, eax - pinsrw xmm1, word ptr [rsi + r8 + 60], 1 - pinsrw xmm1, word ptr [rsi + r9 + 60], 2 - pinsrw xmm1, word ptr [rsi + r12 + 60], 3 - pinsrw xmm1, word ptr [rsi + r13 + 60], 4 - pinsrw xmm1, word ptr [rsi + rcx + 60], 5 - pinsrw xmm1, word ptr [rsi + rdi + 60], 6 - pinsrw xmm1, word ptr [rsi + rbx + 60], 7 - pcmpgtw xmm6, xmm0 - packsswb xmm6, xmm6 - pand xmm6, xmm15 - psllw xmm6, 5 - pand xmm6, xmm12 - pcmpgtw xmm1, xmm0 + psllw xmm5, 3 + pand xmm5, xmmword ptr [rip + .LCPI7_2] + packssdw xmm1, xmm1 packsswb xmm1, xmm1 pand xmm1, xmm15 - psllw xmm1, 6 - pand xmm1, xmm13 - por xmm1, xmm6 - movd xmm6, r15d - pinsrw xmm6, word ptr [rsi + r8 + 62], 1 - pinsrw xmm6, word ptr [rsi + r9 + 62], 2 - pinsrw xmm6, word ptr [rsi + r12 + 62], 3 - mov rax, qword ptr [rsp + 128] # 8-byte Reload - pinsrw xmm6, word ptr [rsi + r13 + 62], 4 - pinsrw xmm6, word ptr [rsi + rcx + 62], 5 - pinsrw xmm6, word ptr [rsi + rdi + 62], 6 - pinsrw xmm6, word ptr [rsi + rbx + 62], 7 - pcmpgtw xmm6, xmm0 - packsswb xmm6, xmm6 - psllw xmm6, 7 - pand xmm6, xmm14 - por xmm6, xmm1 - por xmm6, xmm5 - movdqa xmm1, xmm4 - punpcklqdq xmm1, xmm2 # xmm1 = xmm1[0],xmm2[0] - movdqa xmm5, xmm3 - punpcklqdq xmm5, xmm6 # xmm5 = xmm5[0],xmm6[0] - movdqa xmm7, xmmword ptr [rip + .LCPI7_9] # xmm7 = <4,12,5,13,6,14,7,15,u,u,u,u,u,u,u,u> - pshufb xmm5, xmm7 - pshufb xmm1, xmm7 - punpcklwd xmm1, xmm5 # xmm1 = xmm1[0],xmm5[0],xmm1[1],xmm5[1],xmm1[2],xmm5[2],xmm1[3],xmm5[3] - punpcklbw xmm3, xmm6 # xmm3 = xmm3[0],xmm6[0],xmm3[1],xmm6[1],xmm3[2],xmm6[2],xmm3[3],xmm6[3],xmm3[4],xmm6[4],xmm3[5],xmm6[5],xmm3[6],xmm6[6],xmm3[7],xmm6[7] - punpcklbw xmm4, xmm2 # xmm4 = xmm4[0],xmm2[0],xmm4[1],xmm2[1],xmm4[2],xmm2[2],xmm4[3],xmm2[3],xmm4[4],xmm2[4],xmm4[5],xmm2[5],xmm4[6],xmm2[6],xmm4[7],xmm2[7] - punpcklwd xmm4, xmm3 # xmm4 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3] - mov rcx, qword ptr [rsp + 16] # 8-byte Reload - movdqu xmmword ptr [rax + 4*rcx], xmm4 - movdqu xmmword ptr [rax + 4*rcx + 16], xmm1 - add rcx, 8 - mov r15, rcx - cmp rcx, qword ptr [rsp + 24] # 8-byte Folded Reload - jne .LBB7_123 -# %bb.124: - mov r14, qword ptr [rsp + 272] # 8-byte Reload - cmp r14, qword ptr [rsp + 24] # 8-byte Folded Reload - mov r11, qword ptr [rsp + 136] # 8-byte Reload - mov r12, qword ptr [rsp] # 8-byte Reload - mov rsi, qword ptr [rsp + 48] # 8-byte Reload - jne .LBB7_125 - jmp .LBB7_128 + psllw xmm1, 4 + pand xmm1, xmm12 + por xmm1, xmm5 + movss xmm5, dword ptr [rsi - 384] # xmm5 = mem[0],zero,zero,zero + insertps xmm5, dword ptr [rsi - 256], 16 # xmm5 = xmm5[0],mem[0],xmm5[2,3] + insertps xmm5, dword ptr [rsi - 128], 32 # xmm5 = xmm5[0,1],mem[0],xmm5[3] + por xmm1, xmm4 + movaps xmm4, xmm13 + cmpltps xmm4, xmm3 + movaps xmm3, xmm13 + cmpltps xmm3, xmm0 + insertps xmm5, dword ptr [rsi], 48 # xmm5 = xmm5[0,1,2],mem[0] + packssdw xmm4, xmm4 + packsswb xmm4, xmm4 + pand xmm4, xmm15 + psllw xmm4, 5 + pand xmm4, xmm14 + packssdw xmm3, xmm3 + packsswb xmm3, xmm3 + pand xmm3, xmm15 + psllw xmm3, 6 + pand xmm3, xmm9 + por xmm3, xmm4 + movaps xmm0, xmm13 + cmpltps xmm0, xmm5 + packssdw xmm0, xmm0 + packsswb xmm0, xmm0 + psllw xmm0, 7 + pand xmm0, xmm10 + por xmm0, xmm3 + por xmm0, xmm1 + punpckldq xmm2, xmm0 # xmm2 = xmm2[0],xmm0[0],xmm2[1],xmm0[1] + punpcklbw xmm8, xmm2 # xmm8 = xmm8[0],xmm2[0],xmm8[1],xmm2[1],xmm8[2],xmm2[2],xmm8[3],xmm2[3],xmm8[4],xmm2[4],xmm8[5],xmm2[5],xmm8[6],xmm2[6],xmm8[7],xmm2[7] + pshufb xmm8, xmmword ptr [rip + .LCPI7_7] # xmm8 = xmm8[0,8,1,9,2,10,3,11,4,12,5,13,6,14,7,15] + movdqu xmmword ptr [rdi + 4*rcx], xmm8 + add rcx, 4 + add rsi, 512 + cmp rax, rcx + jne .LBB7_183 +# %bb.184: + cmp r10, rax + jne .LBB7_185 + jmp .LBB7_188 .Lfunc_end7: .size comparison_greater_arr_scalar_sse4, .Lfunc_end7-comparison_greater_arr_scalar_sse4 # -- End function @@ -48215,20 +49627,20 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar mov r10, r8 mov r14, rcx cmp edi, 6 - jg .LBB10_16 + jg .LBB10_26 # %bb.1: cmp edi, 3 - jle .LBB10_31 -# %bb.2: + jle .LBB10_2 +# %bb.10: cmp edi, 4 - je .LBB10_81 -# %bb.3: + je .LBB10_99 +# %bb.11: cmp edi, 5 - je .LBB10_92 -# %bb.4: + je .LBB10_114 +# %bb.12: cmp edi, 6 - jne .LBB10_182 -# %bb.5: + jne .LBB10_201 +# %bb.13: mov r13d, dword ptr [rdx] lea r11, [r10 + 31] test r10, r10 @@ -48238,11 +49650,11 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar cmovns eax, r9d and eax, -8 sub r9d, eax - je .LBB10_9 -# %bb.6: + je .LBB10_17 +# %bb.14: movsxd rax, r9d .p2align 4, 0x90 -.LBB10_7: # =>This Inner Loop Header: Depth=1 +.LBB10_15: # =>This Inner Loop Header: Depth=1 cmp dword ptr [rsi], r13d lea rsi, [rsi + 4] mov edx, 0 @@ -48264,64 +49676,64 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar mov byte ptr [r14 + rbx], dil add rax, 1 cmp rax, 8 - jne .LBB10_7 -# %bb.8: + jne .LBB10_15 +# %bb.16: add r14, 1 -.LBB10_9: +.LBB10_17: sar r11, 5 cmp r10, 32 - jl .LBB10_13 -# %bb.10: + jl .LBB10_21 +# %bb.18: mov qword ptr [rsp + 72], r10 # 8-byte Spill mov qword ptr [rsp + 368], r11 # 8-byte Spill mov qword ptr [rsp + 320], r11 # 8-byte Spill .p2align 4, 0x90 -.LBB10_11: # =>This Inner Loop Header: Depth=1 +.LBB10_19: # =>This Inner Loop Header: Depth=1 mov qword ptr [rsp + 352], r14 # 8-byte Spill cmp dword ptr [rsi], r13d - setae byte ptr [rsp + 160] # 1-byte Folded Spill + setae byte ptr [rsp + 240] # 1-byte Folded Spill cmp dword ptr [rsi + 4], r13d - setae dil + setae r10b cmp dword ptr [rsi + 8], r13d setae r14b cmp dword ptr [rsi + 12], r13d - setae byte ptr [rsp + 336] # 1-byte Folded Spill + setae byte ptr [rsp + 272] # 1-byte Folded Spill cmp dword ptr [rsi + 16], r13d - setae byte ptr [rsp + 224] # 1-byte Folded Spill - cmp dword ptr [rsi + 20], r13d setae byte ptr [rsp + 208] # 1-byte Folded Spill + cmp dword ptr [rsi + 20], r13d + setae byte ptr [rsp + 192] # 1-byte Folded Spill cmp dword ptr [rsi + 24], r13d setae al cmp dword ptr [rsi + 28], r13d setae bl cmp dword ptr [rsi + 32], r13d - setae byte ptr [rsp + 304] # 1-byte Folded Spill + setae byte ptr [rsp + 336] # 1-byte Folded Spill cmp dword ptr [rsi + 36], r13d - setae dl + setae dil cmp dword ptr [rsi + 40], r13d - setae r9b + setae r8b cmp dword ptr [rsi + 44], r13d - setae r10b + setae r9b cmp dword ptr [rsi + 48], r13d setae r11b cmp dword ptr [rsi + 52], r13d setae r12b cmp dword ptr [rsi + 56], r13d - setae byte ptr [rsp + 256] # 1-byte Folded Spill + setae byte ptr [rsp + 288] # 1-byte Folded Spill cmp dword ptr [rsi + 60], r13d setae cl cmp dword ptr [rsi + 64], r13d - setae byte ptr [rsp + 176] # 1-byte Folded Spill + setae byte ptr [rsp + 160] # 1-byte Folded Spill cmp dword ptr [rsi + 68], r13d - setae byte ptr [rsp + 272] # 1-byte Folded Spill + setae byte ptr [rsp + 304] # 1-byte Folded Spill cmp dword ptr [rsi + 72], r13d - setae byte ptr [rsp + 288] # 1-byte Folded Spill + setae byte ptr [rsp + 256] # 1-byte Folded Spill cmp dword ptr [rsi + 76], r13d - setae byte ptr [rsp + 240] # 1-byte Folded Spill + setae byte ptr [rsp + 224] # 1-byte Folded Spill cmp dword ptr [rsi + 80], r13d - setae byte ptr [rsp + 192] # 1-byte Folded Spill + setae byte ptr [rsp + 176] # 1-byte Folded Spill cmp dword ptr [rsi + 84], r13d - setae byte ptr [rsp + 144] # 1-byte Folded Spill + setae byte ptr [rsp + 112] # 1-byte Folded Spill cmp dword ptr [rsi + 88], r13d setae byte ptr [rsp + 128] # 1-byte Folded Spill cmp dword ptr [rsi + 92], r13d @@ -48329,7 +49741,7 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar cmp dword ptr [rsi + 96], r13d setae byte ptr [rsp + 48] # 1-byte Folded Spill cmp dword ptr [rsi + 100], r13d - setae byte ptr [rsp + 112] # 1-byte Folded Spill + setae byte ptr [rsp + 144] # 1-byte Folded Spill cmp dword ptr [rsi + 104], r13d setae byte ptr [rsp + 96] # 1-byte Folded Spill cmp dword ptr [rsi + 108], r13d @@ -48341,126 +49753,127 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar cmp dword ptr [rsi + 120], r13d setae byte ptr [rsp + 8] # 1-byte Folded Spill cmp dword ptr [rsi + 124], r13d - setae r8b - add dil, dil - add dil, byte ptr [rsp + 160] # 1-byte Folded Reload + setae dl + add r10b, r10b + add r10b, byte ptr [rsp + 240] # 1-byte Folded Reload shl al, 6 shl bl, 7 or bl, al shl r14b, 2 - or r14b, dil - add dl, dl - add dl, byte ptr [rsp + 304] # 1-byte Folded Reload - movzx eax, byte ptr [rsp + 336] # 1-byte Folded Reload + or r14b, r10b + add dil, dil + add dil, byte ptr [rsp + 336] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 272] # 1-byte Folded Reload shl al, 3 or al, r14b - shl r9b, 2 - or r9b, dl - movzx edx, byte ptr [rsp + 224] # 1-byte Folded Reload - shl dl, 4 - or dl, al - mov edi, edx - shl r10b, 3 - or r10b, r9b - movzx edx, byte ptr [rsp + 208] # 1-byte Folded Reload - shl dl, 5 - or dl, dil + mov r10d, eax + mov r14, qword ptr [rsp + 352] # 8-byte Reload + shl r8b, 2 + or r8b, dil + movzx eax, byte ptr [rsp + 208] # 1-byte Folded Reload + shl al, 4 + or al, r10b + mov edi, eax + shl r9b, 3 + or r9b, r8b + movzx eax, byte ptr [rsp + 192] # 1-byte Folded Reload + shl al, 5 + or al, dil shl r11b, 4 - or r11b, r10b + or r11b, r9b shl r12b, 5 or r12b, r11b - movzx edi, byte ptr [rsp + 256] # 1-byte Folded Reload + movzx edi, byte ptr [rsp + 288] # 1-byte Folded Reload shl dil, 6 shl cl, 7 or cl, dil - or bl, dl + or bl, al or cl, r12b - mov r14, qword ptr [rsp + 352] # 8-byte Reload - movzx edx, byte ptr [rsp + 272] # 1-byte Folded Reload - add dl, dl - add dl, byte ptr [rsp + 176] # 1-byte Folded Reload - mov edi, edx - movzx edx, byte ptr [rsp + 288] # 1-byte Folded Reload - shl dl, 2 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 240] # 1-byte Folded Reload - shl dl, 3 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 192] # 1-byte Folded Reload - shl dl, 4 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 144] # 1-byte Folded Reload - shl dl, 5 - or dl, dil + movzx eax, byte ptr [rsp + 304] # 1-byte Folded Reload + add al, al + add al, byte ptr [rsp + 160] # 1-byte Folded Reload + mov edi, eax + movzx eax, byte ptr [rsp + 256] # 1-byte Folded Reload + shl al, 2 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 224] # 1-byte Folded Reload + shl al, 3 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 176] # 1-byte Folded Reload + shl al, 4 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 112] # 1-byte Folded Reload + shl al, 5 + or al, dil mov byte ptr [r14], bl movzx ebx, byte ptr [rsp + 128] # 1-byte Folded Reload shl bl, 6 shl r15b, 7 or r15b, bl mov byte ptr [r14 + 1], cl - or r15b, dl - movzx ecx, byte ptr [rsp + 112] # 1-byte Folded Reload - add cl, cl - add cl, byte ptr [rsp + 48] # 1-byte Folded Reload - mov edx, ecx - movzx ecx, byte ptr [rsp + 96] # 1-byte Folded Reload - shl cl, 2 - or cl, dl - mov edx, ecx - movzx ecx, byte ptr [rsp + 80] # 1-byte Folded Reload - shl cl, 3 - or cl, dl - mov edx, ecx - movzx ecx, byte ptr [rsp + 32] # 1-byte Folded Reload - shl cl, 4 - or cl, dl - mov edx, ecx - movzx ecx, byte ptr [rsp + 16] # 1-byte Folded Reload - shl cl, 5 - or cl, dl - movzx edx, byte ptr [rsp + 8] # 1-byte Folded Reload - shl dl, 6 - shl r8b, 7 - or r8b, dl - or r8b, cl + or r15b, al + movzx eax, byte ptr [rsp + 144] # 1-byte Folded Reload + add al, al + add al, byte ptr [rsp + 48] # 1-byte Folded Reload + mov ecx, eax + movzx eax, byte ptr [rsp + 96] # 1-byte Folded Reload + shl al, 2 + or al, cl + mov ecx, eax + movzx eax, byte ptr [rsp + 80] # 1-byte Folded Reload + shl al, 3 + or al, cl + mov ecx, eax + movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload + shl al, 4 + or al, cl + mov ecx, eax + movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload + shl al, 5 + or al, cl + movzx ecx, byte ptr [rsp + 8] # 1-byte Folded Reload + shl cl, 6 + shl dl, 7 + or dl, cl + or dl, al mov byte ptr [r14 + 2], r15b - mov byte ptr [r14 + 3], r8b + mov byte ptr [r14 + 3], dl add rsi, 128 add r14, 4 add qword ptr [rsp + 320], -1 # 8-byte Folded Spill - jne .LBB10_11 -# %bb.12: + jne .LBB10_19 +# %bb.20: mov r10, qword ptr [rsp + 72] # 8-byte Reload mov r11, qword ptr [rsp + 368] # 8-byte Reload -.LBB10_13: +.LBB10_21: shl r11, 5 cmp r11, r10 - jge .LBB10_182 -# %bb.14: + jge .LBB10_201 +# %bb.22: mov r8, r10 sub r8, r11 not r11 add r11, r10 - jne .LBB10_162 -# %bb.15: + jne .LBB10_137 +# %bb.23: xor r11d, r11d - jmp .LBB10_164 -.LBB10_16: + jmp .LBB10_24 +.LBB10_26: cmp edi, 8 - jle .LBB10_45 -# %bb.17: + jle .LBB10_27 +# %bb.42: cmp edi, 9 - je .LBB10_104 -# %bb.18: + je .LBB10_157 +# %bb.43: cmp edi, 11 - je .LBB10_115 -# %bb.19: + je .LBB10_172 +# %bb.44: cmp edi, 12 - jne .LBB10_182 -# %bb.20: + jne .LBB10_201 +# %bb.45: lea r11, [r10 + 31] test r10, r10 cmovns r11, r10 @@ -48470,15 +49883,16 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar and eax, -8 movsd xmm0, qword ptr [rdx] # xmm0 = mem[0],zero sub r9d, eax - je .LBB10_24 -# %bb.21: + je .LBB10_49 +# %bb.46: movsxd rax, r9d .p2align 4, 0x90 -.LBB10_22: # =>This Inner Loop Header: Depth=1 - ucomisd xmm0, qword ptr [rsi] - setbe dl +.LBB10_47: # =>This Inner Loop Header: Depth=1 + movsd xmm1, qword ptr [rsi] # xmm1 = mem[0],zero add rsi, 8 - neg dl + ucomisd xmm1, xmm0 + mov edx, 0 + adc dl, -1 lea rdi, [rax + 7] test rax, rax cmovns rdi, rax @@ -48496,195 +49910,225 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar mov byte ptr [r14 + rdi], bl add rax, 1 cmp rax, 8 - jne .LBB10_22 -# %bb.23: + jne .LBB10_47 +# %bb.48: add r14, 1 -.LBB10_24: +.LBB10_49: sar r11, 5 cmp r10, 32 - jl .LBB10_28 -# %bb.25: + jl .LBB10_53 +# %bb.50: mov qword ptr [rsp + 72], r10 # 8-byte Spill mov qword ptr [rsp + 320], r11 # 8-byte Spill - mov qword ptr [rsp + 160], r11 # 8-byte Spill + mov qword ptr [rsp + 240], r11 # 8-byte Spill .p2align 4, 0x90 -.LBB10_26: # =>This Inner Loop Header: Depth=1 +.LBB10_51: # =>This Inner Loop Header: Depth=1 mov qword ptr [rsp + 352], r14 # 8-byte Spill - ucomisd xmm0, qword ptr [rsi] - setbe byte ptr [rsp + 336] # 1-byte Folded Spill - ucomisd xmm0, qword ptr [rsi + 8] - setbe r9b - ucomisd xmm0, qword ptr [rsi + 16] - setbe r14b - ucomisd xmm0, qword ptr [rsi + 24] - setbe r13b - ucomisd xmm0, qword ptr [rsi + 32] - setbe byte ptr [rsp + 224] # 1-byte Folded Spill - ucomisd xmm0, qword ptr [rsi + 40] - setbe byte ptr [rsp + 208] # 1-byte Folded Spill - ucomisd xmm0, qword ptr [rsi + 48] - setbe al - ucomisd xmm0, qword ptr [rsi + 56] - setbe bl - ucomisd xmm0, qword ptr [rsi + 64] - setbe byte ptr [rsp + 256] # 1-byte Folded Spill - ucomisd xmm0, qword ptr [rsi + 72] - setbe dl - ucomisd xmm0, qword ptr [rsi + 80] - setbe dil - ucomisd xmm0, qword ptr [rsi + 88] - setbe r10b - ucomisd xmm0, qword ptr [rsi + 96] - setbe r11b - ucomisd xmm0, qword ptr [rsi + 104] - setbe r12b - ucomisd xmm0, qword ptr [rsi + 112] - setbe byte ptr [rsp + 272] # 1-byte Folded Spill - ucomisd xmm0, qword ptr [rsi + 120] - setbe cl - ucomisd xmm0, qword ptr [rsi + 128] - setbe byte ptr [rsp + 176] # 1-byte Folded Spill - ucomisd xmm0, qword ptr [rsi + 136] - setbe byte ptr [rsp + 304] # 1-byte Folded Spill - ucomisd xmm0, qword ptr [rsi + 144] - setbe byte ptr [rsp + 288] # 1-byte Folded Spill - ucomisd xmm0, qword ptr [rsi + 152] - setbe byte ptr [rsp + 240] # 1-byte Folded Spill - ucomisd xmm0, qword ptr [rsi + 160] - setbe byte ptr [rsp + 192] # 1-byte Folded Spill - ucomisd xmm0, qword ptr [rsi + 168] - setbe byte ptr [rsp + 144] # 1-byte Folded Spill - ucomisd xmm0, qword ptr [rsi + 176] - setbe byte ptr [rsp + 128] # 1-byte Folded Spill - ucomisd xmm0, qword ptr [rsi + 184] - setbe r15b - ucomisd xmm0, qword ptr [rsi + 192] - setbe byte ptr [rsp + 48] # 1-byte Folded Spill - ucomisd xmm0, qword ptr [rsi + 200] - setbe byte ptr [rsp + 112] # 1-byte Folded Spill - ucomisd xmm0, qword ptr [rsi + 208] - setbe byte ptr [rsp + 96] # 1-byte Folded Spill - ucomisd xmm0, qword ptr [rsi + 216] - setbe byte ptr [rsp + 80] # 1-byte Folded Spill - ucomisd xmm0, qword ptr [rsi + 224] - setbe byte ptr [rsp + 32] # 1-byte Folded Spill - ucomisd xmm0, qword ptr [rsi + 232] - setbe byte ptr [rsp + 16] # 1-byte Folded Spill - ucomisd xmm0, qword ptr [rsi + 240] - setbe byte ptr [rsp + 8] # 1-byte Folded Spill - ucomisd xmm0, qword ptr [rsi + 248] - setbe r8b - add r9b, r9b - add r9b, byte ptr [rsp + 336] # 1-byte Folded Reload - shl al, 6 - shl bl, 7 - or bl, al - shl r14b, 2 - or r14b, r9b + movsd xmm1, qword ptr [rsi] # xmm1 = mem[0],zero + movsd xmm2, qword ptr [rsi + 8] # xmm2 = mem[0],zero + ucomisd xmm1, xmm0 + setae byte ptr [rsp + 288] # 1-byte Folded Spill + ucomisd xmm2, xmm0 + setae dl + movsd xmm1, qword ptr [rsi + 16] # xmm1 = mem[0],zero + ucomisd xmm1, xmm0 + setae dil + movsd xmm1, qword ptr [rsi + 24] # xmm1 = mem[0],zero + ucomisd xmm1, xmm0 + setae r8b + movsd xmm1, qword ptr [rsi + 32] # xmm1 = mem[0],zero + ucomisd xmm1, xmm0 + setae r9b + movsd xmm1, qword ptr [rsi + 40] # xmm1 = mem[0],zero + ucomisd xmm1, xmm0 + setae byte ptr [rsp + 272] # 1-byte Folded Spill + movsd xmm1, qword ptr [rsi + 48] # xmm1 = mem[0],zero + ucomisd xmm1, xmm0 + setae byte ptr [rsp + 304] # 1-byte Folded Spill + movsd xmm1, qword ptr [rsi + 56] # xmm1 = mem[0],zero + ucomisd xmm1, xmm0 + setae byte ptr [rsp + 336] # 1-byte Folded Spill + movsd xmm1, qword ptr [rsi + 64] # xmm1 = mem[0],zero + ucomisd xmm1, xmm0 + setae byte ptr [rsp + 192] # 1-byte Folded Spill + movsd xmm1, qword ptr [rsi + 72] # xmm1 = mem[0],zero + ucomisd xmm1, xmm0 + setae r10b + movsd xmm1, qword ptr [rsi + 80] # xmm1 = mem[0],zero + ucomisd xmm1, xmm0 + setae bl + movsd xmm1, qword ptr [rsi + 88] # xmm1 = mem[0],zero + ucomisd xmm1, xmm0 + setae r15b + movsd xmm1, qword ptr [rsi + 96] # xmm1 = mem[0],zero + ucomisd xmm1, xmm0 + setae al + movsd xmm1, qword ptr [rsi + 104] # xmm1 = mem[0],zero + ucomisd xmm1, xmm0 + setae byte ptr [rsp + 208] # 1-byte Folded Spill + movsd xmm1, qword ptr [rsi + 112] # xmm1 = mem[0],zero + ucomisd xmm1, xmm0 + setae byte ptr [rsp + 176] # 1-byte Folded Spill + movsd xmm1, qword ptr [rsi + 120] # xmm1 = mem[0],zero + ucomisd xmm1, xmm0 + setae byte ptr [rsp + 224] # 1-byte Folded Spill + movsd xmm1, qword ptr [rsi + 128] # xmm1 = mem[0],zero + movsd xmm2, qword ptr [rsi + 136] # xmm2 = mem[0],zero + ucomisd xmm1, xmm0 + movsd xmm1, qword ptr [rsi + 144] # xmm1 = mem[0],zero + setae byte ptr [rsp + 144] # 1-byte Folded Spill + ucomisd xmm2, xmm0 + movsd xmm2, qword ptr [rsi + 152] # xmm2 = mem[0],zero + setae r11b + ucomisd xmm1, xmm0 + movsd xmm1, qword ptr [rsi + 160] # xmm1 = mem[0],zero + setae r14b + ucomisd xmm2, xmm0 + movsd xmm2, qword ptr [rsi + 168] # xmm2 = mem[0],zero + setae r12b + ucomisd xmm1, xmm0 + movsd xmm1, qword ptr [rsi + 176] # xmm1 = mem[0],zero + setae byte ptr [rsp + 256] # 1-byte Folded Spill + ucomisd xmm2, xmm0 + movsd xmm2, qword ptr [rsi + 184] # xmm2 = mem[0],zero + setae byte ptr [rsp + 160] # 1-byte Folded Spill + ucomisd xmm1, xmm0 + movsd xmm1, qword ptr [rsi + 192] # xmm1 = mem[0],zero + setae byte ptr [rsp + 112] # 1-byte Folded Spill + ucomisd xmm2, xmm0 + movsd xmm2, qword ptr [rsi + 200] # xmm2 = mem[0],zero + setae r13b + ucomisd xmm1, xmm0 + movsd xmm1, qword ptr [rsi + 208] # xmm1 = mem[0],zero + setae byte ptr [rsp + 16] # 1-byte Folded Spill + ucomisd xmm2, xmm0 + movsd xmm2, qword ptr [rsi + 216] # xmm2 = mem[0],zero + setae byte ptr [rsp + 128] # 1-byte Folded Spill + ucomisd xmm1, xmm0 + movsd xmm1, qword ptr [rsi + 224] # xmm1 = mem[0],zero + setae byte ptr [rsp + 96] # 1-byte Folded Spill + ucomisd xmm2, xmm0 + movsd xmm2, qword ptr [rsi + 232] # xmm2 = mem[0],zero + setae byte ptr [rsp + 80] # 1-byte Folded Spill + ucomisd xmm1, xmm0 + movsd xmm1, qword ptr [rsi + 240] # xmm1 = mem[0],zero + setae byte ptr [rsp + 48] # 1-byte Folded Spill + ucomisd xmm2, xmm0 + movsd xmm2, qword ptr [rsi + 248] # xmm2 = mem[0],zero + setae byte ptr [rsp + 32] # 1-byte Folded Spill + ucomisd xmm1, xmm0 + setae byte ptr [rsp + 8] # 1-byte Folded Spill + add rsi, 256 + ucomisd xmm2, xmm0 + setae cl add dl, dl - add dl, byte ptr [rsp + 256] # 1-byte Folded Reload - shl r13b, 3 - or r13b, r14b + add dl, byte ptr [rsp + 288] # 1-byte Folded Reload shl dil, 2 or dil, dl - movzx edx, byte ptr [rsp + 224] # 1-byte Folded Reload - shl dl, 4 - or dl, r13b - mov r9d, edx - mov r14, qword ptr [rsp + 352] # 8-byte Reload - shl r10b, 3 - or r10b, dil - movzx edx, byte ptr [rsp + 208] # 1-byte Folded Reload + shl r8b, 3 + or r8b, dil + shl r9b, 4 + or r9b, r8b + movzx edx, byte ptr [rsp + 272] # 1-byte Folded Reload shl dl, 5 or dl, r9b - shl r11b, 4 - or r11b, r10b - shl r12b, 5 - or r12b, r11b - movzx edi, byte ptr [rsp + 272] # 1-byte Folded Reload - shl dil, 6 - shl cl, 7 - or cl, dil - or bl, dl - or cl, r12b - movzx eax, byte ptr [rsp + 304] # 1-byte Folded Reload - add al, al - add al, byte ptr [rsp + 176] # 1-byte Folded Reload - movzx edx, byte ptr [rsp + 288] # 1-byte Folded Reload - shl dl, 2 - or dl, al - mov edi, edx - movzx edx, byte ptr [rsp + 240] # 1-byte Folded Reload - shl dl, 3 - or dl, dil mov edi, edx - movzx edx, byte ptr [rsp + 192] # 1-byte Folded Reload - shl dl, 4 + movzx r8d, byte ptr [rsp + 304] # 1-byte Folded Reload + shl r8b, 6 + movzx edx, byte ptr [rsp + 336] # 1-byte Folded Reload + shl dl, 7 + or dl, r8b + add r10b, r10b + add r10b, byte ptr [rsp + 192] # 1-byte Folded Reload + shl bl, 2 + or bl, r10b + shl r15b, 3 + or r15b, bl + shl al, 4 + or al, r15b or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 144] # 1-byte Folded Reload + movzx ebx, byte ptr [rsp + 208] # 1-byte Folded Reload + shl bl, 5 + or bl, al + mov edi, ebx + movzx eax, byte ptr [rsp + 176] # 1-byte Folded Reload + shl al, 6 + movzx ebx, byte ptr [rsp + 224] # 1-byte Folded Reload + shl bl, 7 + or bl, al + add r11b, r11b + add r11b, byte ptr [rsp + 144] # 1-byte Folded Reload + shl r14b, 2 + or r14b, r11b + shl r12b, 3 + or r12b, r14b + mov r14, qword ptr [rsp + 352] # 8-byte Reload + movzx eax, byte ptr [rsp + 256] # 1-byte Folded Reload + shl al, 4 + or al, r12b + mov r8d, eax + movzx eax, byte ptr [rsp + 160] # 1-byte Folded Reload + shl al, 5 + or al, r8b + or bl, dil + movzx edi, byte ptr [rsp + 112] # 1-byte Folded Reload + shl dil, 6 + shl r13b, 7 + or r13b, dil + mov byte ptr [r14], dl + or r13b, al + movzx eax, byte ptr [rsp + 128] # 1-byte Folded Reload + add al, al + add al, byte ptr [rsp + 16] # 1-byte Folded Reload + mov edx, eax + movzx eax, byte ptr [rsp + 96] # 1-byte Folded Reload + shl al, 2 + or al, dl + mov edx, eax + movzx eax, byte ptr [rsp + 80] # 1-byte Folded Reload + shl al, 3 + or al, dl + mov edx, eax + movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload + shl al, 4 + or al, dl + movzx edx, byte ptr [rsp + 32] # 1-byte Folded Reload shl dl, 5 - or dl, dil - mov byte ptr [r14], bl - movzx ebx, byte ptr [rsp + 128] # 1-byte Folded Reload + or dl, al + mov byte ptr [r14 + 1], bl + movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload shl bl, 6 - shl r15b, 7 - or r15b, bl - mov byte ptr [r14 + 1], cl - or r15b, dl - movzx ecx, byte ptr [rsp + 112] # 1-byte Folded Reload - add cl, cl - add cl, byte ptr [rsp + 48] # 1-byte Folded Reload - mov edx, ecx - movzx ecx, byte ptr [rsp + 96] # 1-byte Folded Reload - shl cl, 2 - or cl, dl - mov edx, ecx - movzx ecx, byte ptr [rsp + 80] # 1-byte Folded Reload - shl cl, 3 - or cl, dl - mov edx, ecx - movzx ecx, byte ptr [rsp + 32] # 1-byte Folded Reload - shl cl, 4 - or cl, dl - mov edx, ecx - movzx ecx, byte ptr [rsp + 16] # 1-byte Folded Reload - shl cl, 5 + shl cl, 7 + or cl, bl + mov byte ptr [r14 + 2], r13b or cl, dl - movzx edx, byte ptr [rsp + 8] # 1-byte Folded Reload - shl dl, 6 - shl r8b, 7 - or r8b, dl - or r8b, cl - mov byte ptr [r14 + 2], r15b - mov byte ptr [r14 + 3], r8b - add rsi, 256 + mov byte ptr [r14 + 3], cl add r14, 4 - add qword ptr [rsp + 160], -1 # 8-byte Folded Spill - jne .LBB10_26 -# %bb.27: + add qword ptr [rsp + 240], -1 # 8-byte Folded Spill + jne .LBB10_51 +# %bb.52: mov r10, qword ptr [rsp + 72] # 8-byte Reload mov r11, qword ptr [rsp + 320] # 8-byte Reload -.LBB10_28: +.LBB10_53: shl r11, 5 cmp r11, r10 - jge .LBB10_182 -# %bb.29: + jge .LBB10_201 +# %bb.54: mov r8, r10 sub r8, r11 not r11 add r11, r10 - jne .LBB10_166 -# %bb.30: + jne .LBB10_195 +# %bb.55: xor r11d, r11d - jmp .LBB10_168 -.LBB10_31: + jmp .LBB10_197 +.LBB10_2: cmp edi, 2 - je .LBB10_58 -# %bb.32: + je .LBB10_56 +# %bb.3: cmp edi, 3 - jne .LBB10_182 -# %bb.33: + jne .LBB10_201 +# %bb.4: mov r11b, byte ptr [rdx] lea r15, [r10 + 31] test r10, r10 @@ -48694,11 +50138,11 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar cmovns eax, r9d and eax, -8 sub r9d, eax - je .LBB10_37 -# %bb.34: + je .LBB10_8 +# %bb.5: movsxd rax, r9d .p2align 4, 0x90 -.LBB10_35: # =>This Inner Loop Header: Depth=1 +.LBB10_6: # =>This Inner Loop Header: Depth=1 cmp byte ptr [rsi], r11b lea rsi, [rsi + 1] setge dl @@ -48720,39 +50164,38 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar mov byte ptr [r14 + rdi], bl add rax, 1 cmp rax, 8 - jne .LBB10_35 -# %bb.36: + jne .LBB10_6 +# %bb.7: add r14, 1 -.LBB10_37: +.LBB10_8: sar r15, 5 cmp r10, 32 - jl .LBB10_127 -# %bb.38: + jl .LBB10_9 +# %bb.81: cmp r15, 16 mov byte ptr [rsp + 8], r11b # 1-byte Spill mov qword ptr [rsp + 72], r10 # 8-byte Spill mov qword ptr [rsp + 432], r15 # 8-byte Spill - jb .LBB10_41 -# %bb.39: + jb .LBB10_82 +# %bb.83: mov rax, r15 shl rax, 5 add rax, rsi cmp r14, rax - jae .LBB10_191 -# %bb.40: + jae .LBB10_85 +# %bb.84: lea rax, [r14 + 4*r15] cmp rsi, rax - jae .LBB10_191 -.LBB10_41: + jae .LBB10_85 +.LBB10_82: xor eax, eax - mov qword ptr [rsp + 160], rax # 8-byte Spill - mov qword ptr [rsp + 112], r14 # 8-byte Spill -.LBB10_42: - mov r14, r15 - sub r14, qword ptr [rsp + 160] # 8-byte Folded Reload - mov qword ptr [rsp + 368], r14 # 8-byte Spill + mov qword ptr [rsp + 240], rax # 8-byte Spill + mov qword ptr [rsp + 144], r14 # 8-byte Spill +.LBB10_88: + sub r15, qword ptr [rsp + 240] # 8-byte Folded Reload + mov qword ptr [rsp + 368], r15 # 8-byte Spill .p2align 4, 0x90 -.LBB10_43: # =>This Inner Loop Header: Depth=1 +.LBB10_89: # =>This Inner Loop Header: Depth=1 mov rcx, rsi cmp byte ptr [rsi], r11b setge byte ptr [rsp + 320] # 1-byte Folded Spill @@ -48765,19 +50208,19 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar setge r12b movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload cmp byte ptr [rcx + 4], al - setge byte ptr [rsp + 336] # 1-byte Folded Spill + setge byte ptr [rsp + 272] # 1-byte Folded Spill movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload cmp byte ptr [rcx + 5], al - setge byte ptr [rsp + 144] # 1-byte Folded Spill + setge byte ptr [rsp + 112] # 1-byte Folded Spill movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload cmp byte ptr [rcx + 6], al - setge byte ptr [rsp + 160] # 1-byte Folded Spill + setge byte ptr [rsp + 240] # 1-byte Folded Spill movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload cmp byte ptr [rcx + 7], al setge r9b movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload cmp byte ptr [rcx + 8], al - setge byte ptr [rsp + 304] # 1-byte Folded Spill + setge byte ptr [rsp + 336] # 1-byte Folded Spill movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload cmp byte ptr [rcx + 9], al setge dl @@ -48795,31 +50238,31 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar setge r13b movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload cmp byte ptr [rcx + 14], al - setge byte ptr [rsp + 256] # 1-byte Folded Spill + setge byte ptr [rsp + 288] # 1-byte Folded Spill movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload cmp byte ptr [rcx + 15], al setge r8b movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload cmp byte ptr [rcx + 16], bl - setge byte ptr [rsp + 272] # 1-byte Folded Spill + setge byte ptr [rsp + 304] # 1-byte Folded Spill movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload cmp byte ptr [rcx + 17], bl - setge byte ptr [rsp + 288] # 1-byte Folded Spill + setge byte ptr [rsp + 256] # 1-byte Folded Spill movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload cmp byte ptr [rcx + 18], bl - setge byte ptr [rsp + 224] # 1-byte Folded Spill + setge byte ptr [rsp + 208] # 1-byte Folded Spill movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload cmp byte ptr [rcx + 19], bl - setge byte ptr [rsp + 240] # 1-byte Folded Spill + setge byte ptr [rsp + 224] # 1-byte Folded Spill movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload cmp byte ptr [rcx + 20], bl - setge byte ptr [rsp + 176] # 1-byte Folded Spill + setge byte ptr [rsp + 160] # 1-byte Folded Spill movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload cmp byte ptr [rcx + 21], bl - setge byte ptr [rsp + 208] # 1-byte Folded Spill + setge byte ptr [rsp + 192] # 1-byte Folded Spill movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload cmp byte ptr [rcx + 22], bl - setge byte ptr [rsp + 192] # 1-byte Folded Spill + setge byte ptr [rsp + 176] # 1-byte Folded Spill movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload cmp byte ptr [rcx + 23], bl setge r11b @@ -48849,60 +50292,60 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar setge bl add sil, sil add sil, byte ptr [rsp + 320] # 1-byte Folded Reload - movzx eax, byte ptr [rsp + 160] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 240] # 1-byte Folded Reload shl al, 6 shl r9b, 7 or r9b, al shl r15b, 2 or r15b, sil add dl, dl - add dl, byte ptr [rsp + 304] # 1-byte Folded Reload + add dl, byte ptr [rsp + 336] # 1-byte Folded Reload shl r12b, 3 or r12b, r15b movzx r15d, byte ptr [rsp + 8] # 1-byte Folded Reload shl dil, 2 or dil, dl - movzx eax, byte ptr [rsp + 336] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 272] # 1-byte Folded Reload shl al, 4 or al, r12b shl r10b, 3 or r10b, dil - movzx edx, byte ptr [rsp + 144] # 1-byte Folded Reload + movzx edx, byte ptr [rsp + 112] # 1-byte Folded Reload shl dl, 5 or dl, al shl r14b, 4 or r14b, r10b shl r13b, 5 or r13b, r14b - movzx esi, byte ptr [rsp + 256] # 1-byte Folded Reload + movzx esi, byte ptr [rsp + 288] # 1-byte Folded Reload shl sil, 6 shl r8b, 7 or r8b, sil or r9b, dl or r8b, r13b - movzx edx, byte ptr [rsp + 288] # 1-byte Folded Reload + movzx edx, byte ptr [rsp + 256] # 1-byte Folded Reload add dl, dl - add dl, byte ptr [rsp + 272] # 1-byte Folded Reload + add dl, byte ptr [rsp + 304] # 1-byte Folded Reload mov esi, edx - movzx edx, byte ptr [rsp + 224] # 1-byte Folded Reload + movzx edx, byte ptr [rsp + 208] # 1-byte Folded Reload shl dl, 2 or dl, sil mov esi, edx - movzx edx, byte ptr [rsp + 240] # 1-byte Folded Reload + movzx edx, byte ptr [rsp + 224] # 1-byte Folded Reload shl dl, 3 or dl, sil mov esi, edx - movzx edx, byte ptr [rsp + 176] # 1-byte Folded Reload + movzx edx, byte ptr [rsp + 160] # 1-byte Folded Reload shl dl, 4 or dl, sil mov esi, edx - movzx edx, byte ptr [rsp + 208] # 1-byte Folded Reload + movzx edx, byte ptr [rsp + 192] # 1-byte Folded Reload shl dl, 5 or dl, sil mov esi, edx - mov rdx, qword ptr [rsp + 112] # 8-byte Reload + mov rdx, qword ptr [rsp + 144] # 8-byte Reload mov byte ptr [rdx], r9b - movzx edi, byte ptr [rsp + 192] # 1-byte Folded Reload + movzx edi, byte ptr [rsp + 176] # 1-byte Folded Reload shl dil, 6 shl r11b, 7 or r11b, dil @@ -48937,20 +50380,20 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar mov byte ptr [rdx + 3], bl lea rsi, [rcx + 32] add rdx, 4 - mov qword ptr [rsp + 112], rdx # 8-byte Spill + mov qword ptr [rsp + 144], rdx # 8-byte Spill add qword ptr [rsp + 368], -1 # 8-byte Folded Spill - jne .LBB10_43 -# %bb.44: + jne .LBB10_89 +# %bb.90: mov r10, qword ptr [rsp + 72] # 8-byte Reload mov r15, qword ptr [rsp + 432] # 8-byte Reload - jmp .LBB10_128 -.LBB10_45: + jmp .LBB10_91 +.LBB10_27: cmp edi, 7 - je .LBB10_70 -# %bb.46: + je .LBB10_139 +# %bb.28: cmp edi, 8 - jne .LBB10_182 -# %bb.47: + jne .LBB10_201 +# %bb.29: mov r13, qword ptr [rdx] lea r11, [r10 + 31] test r10, r10 @@ -48960,11 +50403,11 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar cmovns eax, r9d and eax, -8 sub r9d, eax - je .LBB10_51 -# %bb.48: + je .LBB10_33 +# %bb.30: movsxd rax, r9d .p2align 4, 0x90 -.LBB10_49: # =>This Inner Loop Header: Depth=1 +.LBB10_31: # =>This Inner Loop Header: Depth=1 cmp qword ptr [rsi], r13 lea rsi, [rsi + 8] mov edx, 0 @@ -48986,64 +50429,64 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar mov byte ptr [r14 + rbx], dil add rax, 1 cmp rax, 8 - jne .LBB10_49 -# %bb.50: + jne .LBB10_31 +# %bb.32: add r14, 1 -.LBB10_51: +.LBB10_33: sar r11, 5 cmp r10, 32 - jl .LBB10_55 -# %bb.52: + jl .LBB10_37 +# %bb.34: mov qword ptr [rsp + 72], r10 # 8-byte Spill mov qword ptr [rsp + 368], r11 # 8-byte Spill mov qword ptr [rsp + 320], r11 # 8-byte Spill .p2align 4, 0x90 -.LBB10_53: # =>This Inner Loop Header: Depth=1 +.LBB10_35: # =>This Inner Loop Header: Depth=1 mov qword ptr [rsp + 352], r14 # 8-byte Spill cmp qword ptr [rsi], r13 - setae byte ptr [rsp + 160] # 1-byte Folded Spill + setae byte ptr [rsp + 240] # 1-byte Folded Spill cmp qword ptr [rsi + 8], r13 - setae dil + setae r10b cmp qword ptr [rsi + 16], r13 setae r14b cmp qword ptr [rsi + 24], r13 - setae byte ptr [rsp + 336] # 1-byte Folded Spill + setae byte ptr [rsp + 272] # 1-byte Folded Spill cmp qword ptr [rsi + 32], r13 - setae byte ptr [rsp + 224] # 1-byte Folded Spill - cmp qword ptr [rsi + 40], r13 setae byte ptr [rsp + 208] # 1-byte Folded Spill + cmp qword ptr [rsi + 40], r13 + setae byte ptr [rsp + 192] # 1-byte Folded Spill cmp qword ptr [rsi + 48], r13 setae al cmp qword ptr [rsi + 56], r13 setae bl cmp qword ptr [rsi + 64], r13 - setae byte ptr [rsp + 304] # 1-byte Folded Spill + setae byte ptr [rsp + 336] # 1-byte Folded Spill cmp qword ptr [rsi + 72], r13 - setae dl + setae dil cmp qword ptr [rsi + 80], r13 - setae r9b + setae r8b cmp qword ptr [rsi + 88], r13 - setae r10b + setae r9b cmp qword ptr [rsi + 96], r13 setae r11b cmp qword ptr [rsi + 104], r13 setae r12b cmp qword ptr [rsi + 112], r13 - setae byte ptr [rsp + 256] # 1-byte Folded Spill + setae byte ptr [rsp + 288] # 1-byte Folded Spill cmp qword ptr [rsi + 120], r13 setae cl cmp qword ptr [rsi + 128], r13 - setae byte ptr [rsp + 176] # 1-byte Folded Spill + setae byte ptr [rsp + 160] # 1-byte Folded Spill cmp qword ptr [rsi + 136], r13 - setae byte ptr [rsp + 272] # 1-byte Folded Spill + setae byte ptr [rsp + 304] # 1-byte Folded Spill cmp qword ptr [rsi + 144], r13 - setae byte ptr [rsp + 288] # 1-byte Folded Spill + setae byte ptr [rsp + 256] # 1-byte Folded Spill cmp qword ptr [rsi + 152], r13 - setae byte ptr [rsp + 240] # 1-byte Folded Spill + setae byte ptr [rsp + 224] # 1-byte Folded Spill cmp qword ptr [rsi + 160], r13 - setae byte ptr [rsp + 192] # 1-byte Folded Spill + setae byte ptr [rsp + 176] # 1-byte Folded Spill cmp qword ptr [rsi + 168], r13 - setae byte ptr [rsp + 144] # 1-byte Folded Spill + setae byte ptr [rsp + 112] # 1-byte Folded Spill cmp qword ptr [rsi + 176], r13 setae byte ptr [rsp + 128] # 1-byte Folded Spill cmp qword ptr [rsi + 184], r13 @@ -49051,7 +50494,7 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar cmp qword ptr [rsi + 192], r13 setae byte ptr [rsp + 48] # 1-byte Folded Spill cmp qword ptr [rsi + 200], r13 - setae byte ptr [rsp + 112] # 1-byte Folded Spill + setae byte ptr [rsp + 144] # 1-byte Folded Spill cmp qword ptr [rsi + 208], r13 setae byte ptr [rsp + 96] # 1-byte Folded Spill cmp qword ptr [rsi + 216], r13 @@ -49063,114 +50506,115 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar cmp qword ptr [rsi + 240], r13 setae byte ptr [rsp + 8] # 1-byte Folded Spill cmp qword ptr [rsi + 248], r13 - setae r8b - add dil, dil - add dil, byte ptr [rsp + 160] # 1-byte Folded Reload + setae dl + add r10b, r10b + add r10b, byte ptr [rsp + 240] # 1-byte Folded Reload shl al, 6 shl bl, 7 or bl, al shl r14b, 2 - or r14b, dil - add dl, dl - add dl, byte ptr [rsp + 304] # 1-byte Folded Reload - movzx eax, byte ptr [rsp + 336] # 1-byte Folded Reload + or r14b, r10b + add dil, dil + add dil, byte ptr [rsp + 336] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 272] # 1-byte Folded Reload shl al, 3 or al, r14b - shl r9b, 2 - or r9b, dl - movzx edx, byte ptr [rsp + 224] # 1-byte Folded Reload - shl dl, 4 - or dl, al - mov edi, edx - shl r10b, 3 - or r10b, r9b - movzx edx, byte ptr [rsp + 208] # 1-byte Folded Reload - shl dl, 5 - or dl, dil + mov r10d, eax + mov r14, qword ptr [rsp + 352] # 8-byte Reload + shl r8b, 2 + or r8b, dil + movzx eax, byte ptr [rsp + 208] # 1-byte Folded Reload + shl al, 4 + or al, r10b + mov edi, eax + shl r9b, 3 + or r9b, r8b + movzx eax, byte ptr [rsp + 192] # 1-byte Folded Reload + shl al, 5 + or al, dil shl r11b, 4 - or r11b, r10b + or r11b, r9b shl r12b, 5 or r12b, r11b - movzx edi, byte ptr [rsp + 256] # 1-byte Folded Reload + movzx edi, byte ptr [rsp + 288] # 1-byte Folded Reload shl dil, 6 shl cl, 7 or cl, dil - or bl, dl + or bl, al or cl, r12b - mov r14, qword ptr [rsp + 352] # 8-byte Reload - movzx edx, byte ptr [rsp + 272] # 1-byte Folded Reload - add dl, dl - add dl, byte ptr [rsp + 176] # 1-byte Folded Reload - mov edi, edx - movzx edx, byte ptr [rsp + 288] # 1-byte Folded Reload - shl dl, 2 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 240] # 1-byte Folded Reload - shl dl, 3 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 192] # 1-byte Folded Reload - shl dl, 4 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 144] # 1-byte Folded Reload - shl dl, 5 - or dl, dil - mov byte ptr [r14], bl - movzx ebx, byte ptr [rsp + 128] # 1-byte Folded Reload - shl bl, 6 - shl r15b, 7 - or r15b, bl - mov byte ptr [r14 + 1], cl - or r15b, dl - movzx ecx, byte ptr [rsp + 112] # 1-byte Folded Reload - add cl, cl - add cl, byte ptr [rsp + 48] # 1-byte Folded Reload - mov edx, ecx - movzx ecx, byte ptr [rsp + 96] # 1-byte Folded Reload - shl cl, 2 - or cl, dl - mov edx, ecx - movzx ecx, byte ptr [rsp + 80] # 1-byte Folded Reload - shl cl, 3 - or cl, dl - mov edx, ecx - movzx ecx, byte ptr [rsp + 32] # 1-byte Folded Reload - shl cl, 4 - or cl, dl - mov edx, ecx - movzx ecx, byte ptr [rsp + 16] # 1-byte Folded Reload - shl cl, 5 - or cl, dl - movzx edx, byte ptr [rsp + 8] # 1-byte Folded Reload - shl dl, 6 - shl r8b, 7 - or r8b, dl - or r8b, cl + movzx eax, byte ptr [rsp + 304] # 1-byte Folded Reload + add al, al + add al, byte ptr [rsp + 160] # 1-byte Folded Reload + mov edi, eax + movzx eax, byte ptr [rsp + 256] # 1-byte Folded Reload + shl al, 2 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 224] # 1-byte Folded Reload + shl al, 3 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 176] # 1-byte Folded Reload + shl al, 4 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 112] # 1-byte Folded Reload + shl al, 5 + or al, dil + mov byte ptr [r14], bl + movzx ebx, byte ptr [rsp + 128] # 1-byte Folded Reload + shl bl, 6 + shl r15b, 7 + or r15b, bl + mov byte ptr [r14 + 1], cl + or r15b, al + movzx eax, byte ptr [rsp + 144] # 1-byte Folded Reload + add al, al + add al, byte ptr [rsp + 48] # 1-byte Folded Reload + mov ecx, eax + movzx eax, byte ptr [rsp + 96] # 1-byte Folded Reload + shl al, 2 + or al, cl + mov ecx, eax + movzx eax, byte ptr [rsp + 80] # 1-byte Folded Reload + shl al, 3 + or al, cl + mov ecx, eax + movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload + shl al, 4 + or al, cl + mov ecx, eax + movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload + shl al, 5 + or al, cl + movzx ecx, byte ptr [rsp + 8] # 1-byte Folded Reload + shl cl, 6 + shl dl, 7 + or dl, cl + or dl, al mov byte ptr [r14 + 2], r15b - mov byte ptr [r14 + 3], r8b + mov byte ptr [r14 + 3], dl add rsi, 256 add r14, 4 add qword ptr [rsp + 320], -1 # 8-byte Folded Spill - jne .LBB10_53 -# %bb.54: + jne .LBB10_35 +# %bb.36: mov r10, qword ptr [rsp + 72] # 8-byte Reload mov r11, qword ptr [rsp + 368] # 8-byte Reload -.LBB10_55: +.LBB10_37: shl r11, 5 cmp r11, r10 - jge .LBB10_182 -# %bb.56: + jge .LBB10_201 +# %bb.38: mov r8, r10 sub r8, r11 not r11 add r11, r10 - jne .LBB10_143 -# %bb.57: + jne .LBB10_155 +# %bb.39: xor r11d, r11d - jmp .LBB10_145 -.LBB10_58: + jmp .LBB10_40 +.LBB10_56: mov r11b, byte ptr [rdx] lea r15, [r10 + 31] test r10, r10 @@ -49180,11 +50624,11 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar cmovns eax, r9d and eax, -8 sub r9d, eax - je .LBB10_62 -# %bb.59: + je .LBB10_60 +# %bb.57: movsxd rax, r9d .p2align 4, 0x90 -.LBB10_60: # =>This Inner Loop Header: Depth=1 +.LBB10_58: # =>This Inner Loop Header: Depth=1 cmp byte ptr [rsi], r11b lea rsi, [rsi + 1] mov edx, 0 @@ -49206,39 +50650,38 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar mov byte ptr [r14 + rdi], bl add rax, 1 cmp rax, 8 - jne .LBB10_60 -# %bb.61: + jne .LBB10_58 +# %bb.59: add r14, 1 -.LBB10_62: +.LBB10_60: sar r15, 5 cmp r10, 32 - jl .LBB10_131 -# %bb.63: + jl .LBB10_61 +# %bb.62: cmp r15, 16 mov byte ptr [rsp + 8], r11b # 1-byte Spill mov qword ptr [rsp + 72], r10 # 8-byte Spill mov qword ptr [rsp + 464], r15 # 8-byte Spill - jb .LBB10_66 + jb .LBB10_63 # %bb.64: mov rax, r15 shl rax, 5 add rax, rsi cmp r14, rax - jae .LBB10_194 + jae .LBB10_66 # %bb.65: lea rax, [r14 + 4*r15] cmp rsi, rax - jae .LBB10_194 -.LBB10_66: + jae .LBB10_66 +.LBB10_63: xor eax, eax mov qword ptr [rsp + 416], rax # 8-byte Spill - mov qword ptr [rsp + 208], r14 # 8-byte Spill -.LBB10_67: - mov r14, r15 - sub r14, qword ptr [rsp + 416] # 8-byte Folded Reload - mov qword ptr [rsp + 368], r14 # 8-byte Spill + mov qword ptr [rsp + 224], r14 # 8-byte Spill +.LBB10_69: + sub r15, qword ptr [rsp + 416] # 8-byte Folded Reload + mov qword ptr [rsp + 368], r15 # 8-byte Spill .p2align 4, 0x90 -.LBB10_68: # =>This Inner Loop Header: Depth=1 +.LBB10_70: # =>This Inner Loop Header: Depth=1 mov rcx, rsi cmp byte ptr [rsi], r11b setae byte ptr [rsp + 320] # 1-byte Folded Spill @@ -49251,19 +50694,19 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar setae r12b movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload cmp byte ptr [rcx + 4], al - setae byte ptr [rsp + 336] # 1-byte Folded Spill + setae byte ptr [rsp + 272] # 1-byte Folded Spill movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload cmp byte ptr [rcx + 5], al setae byte ptr [rsp + 128] # 1-byte Folded Spill movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload cmp byte ptr [rcx + 6], al - setae byte ptr [rsp + 160] # 1-byte Folded Spill + setae byte ptr [rsp + 240] # 1-byte Folded Spill movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload cmp byte ptr [rcx + 7], al setae r9b movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload cmp byte ptr [rcx + 8], al - setae byte ptr [rsp + 304] # 1-byte Folded Spill + setae byte ptr [rsp + 336] # 1-byte Folded Spill movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload cmp byte ptr [rcx + 9], al setae dl @@ -49281,28 +50724,28 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar setae r13b movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload cmp byte ptr [rcx + 14], al - setae byte ptr [rsp + 256] # 1-byte Folded Spill + setae byte ptr [rsp + 288] # 1-byte Folded Spill movzx eax, byte ptr [rsp + 8] # 1-byte Folded Reload cmp byte ptr [rcx + 15], al setae r8b movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload cmp byte ptr [rcx + 16], bl - setae byte ptr [rsp + 272] # 1-byte Folded Spill + setae byte ptr [rsp + 304] # 1-byte Folded Spill movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload cmp byte ptr [rcx + 17], bl - setae byte ptr [rsp + 288] # 1-byte Folded Spill + setae byte ptr [rsp + 256] # 1-byte Folded Spill movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload cmp byte ptr [rcx + 18], bl - setae byte ptr [rsp + 224] # 1-byte Folded Spill + setae byte ptr [rsp + 208] # 1-byte Folded Spill movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload cmp byte ptr [rcx + 19], bl - setae byte ptr [rsp + 240] # 1-byte Folded Spill + setae byte ptr [rsp + 160] # 1-byte Folded Spill movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload cmp byte ptr [rcx + 20], bl setae byte ptr [rsp + 176] # 1-byte Folded Spill movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload cmp byte ptr [rcx + 21], bl - setae byte ptr [rsp + 144] # 1-byte Folded Spill + setae byte ptr [rsp + 112] # 1-byte Folded Spill movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload cmp byte ptr [rcx + 22], bl setae byte ptr [rsp + 192] # 1-byte Folded Spill @@ -49311,7 +50754,7 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar setae r11b movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload cmp byte ptr [rcx + 24], bl - setae byte ptr [rsp + 112] # 1-byte Folded Spill + setae byte ptr [rsp + 144] # 1-byte Folded Spill movzx ebx, byte ptr [rsp + 8] # 1-byte Folded Reload cmp byte ptr [rcx + 25], bl setae byte ptr [rsp + 96] # 1-byte Folded Spill @@ -49335,20 +50778,20 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar setae bl add sil, sil add sil, byte ptr [rsp + 320] # 1-byte Folded Reload - movzx eax, byte ptr [rsp + 160] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 240] # 1-byte Folded Reload shl al, 6 shl r9b, 7 or r9b, al shl r15b, 2 or r15b, sil add dl, dl - add dl, byte ptr [rsp + 304] # 1-byte Folded Reload + add dl, byte ptr [rsp + 336] # 1-byte Folded Reload shl r12b, 3 or r12b, r15b movzx r15d, byte ptr [rsp + 8] # 1-byte Folded Reload shl dil, 2 or dil, dl - movzx eax, byte ptr [rsp + 336] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 272] # 1-byte Folded Reload shl al, 4 or al, r12b shl r10b, 3 @@ -49360,21 +50803,21 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar or r14b, r10b shl r13b, 5 or r13b, r14b - movzx esi, byte ptr [rsp + 256] # 1-byte Folded Reload + movzx esi, byte ptr [rsp + 288] # 1-byte Folded Reload shl sil, 6 shl r8b, 7 or r8b, sil or r9b, dl or r8b, r13b - movzx edx, byte ptr [rsp + 288] # 1-byte Folded Reload + movzx edx, byte ptr [rsp + 256] # 1-byte Folded Reload add dl, dl - add dl, byte ptr [rsp + 272] # 1-byte Folded Reload + add dl, byte ptr [rsp + 304] # 1-byte Folded Reload mov esi, edx - movzx edx, byte ptr [rsp + 224] # 1-byte Folded Reload + movzx edx, byte ptr [rsp + 208] # 1-byte Folded Reload shl dl, 2 or dl, sil mov esi, edx - movzx edx, byte ptr [rsp + 240] # 1-byte Folded Reload + movzx edx, byte ptr [rsp + 160] # 1-byte Folded Reload shl dl, 3 or dl, sil mov esi, edx @@ -49382,11 +50825,11 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar shl dl, 4 or dl, sil mov esi, edx - movzx edx, byte ptr [rsp + 144] # 1-byte Folded Reload + movzx edx, byte ptr [rsp + 112] # 1-byte Folded Reload shl dl, 5 or dl, sil mov esi, edx - mov rdx, qword ptr [rsp + 208] # 8-byte Reload + mov rdx, qword ptr [rsp + 224] # 8-byte Reload mov byte ptr [rdx], r9b movzx edi, byte ptr [rsp + 192] # 1-byte Folded Reload shl dil, 6 @@ -49396,7 +50839,7 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar or r11b, sil movzx eax, byte ptr [rsp + 96] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 112] # 1-byte Folded Reload + add al, byte ptr [rsp + 144] # 1-byte Folded Reload mov esi, eax movzx eax, byte ptr [rsp + 80] # 1-byte Folded Reload shl al, 2 @@ -49423,14 +50866,14 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar mov byte ptr [rdx + 3], bl lea rsi, [rcx + 32] add rdx, 4 - mov qword ptr [rsp + 208], rdx # 8-byte Spill + mov qword ptr [rsp + 224], rdx # 8-byte Spill add qword ptr [rsp + 368], -1 # 8-byte Folded Spill - jne .LBB10_68 -# %bb.69: + jne .LBB10_70 +# %bb.71: mov r10, qword ptr [rsp + 72] # 8-byte Reload mov r15, qword ptr [rsp + 464] # 8-byte Reload - jmp .LBB10_132 -.LBB10_70: + jmp .LBB10_72 +.LBB10_139: mov r13d, dword ptr [rdx] lea r11, [r10 + 31] test r10, r10 @@ -49440,11 +50883,11 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar cmovns eax, r9d and eax, -8 sub r9d, eax - je .LBB10_74 -# %bb.71: + je .LBB10_143 +# %bb.140: movsxd rax, r9d .p2align 4, 0x90 -.LBB10_72: # =>This Inner Loop Header: Depth=1 +.LBB10_141: # =>This Inner Loop Header: Depth=1 cmp dword ptr [rsi], r13d lea rsi, [rsi + 4] setge dl @@ -49466,64 +50909,64 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar mov byte ptr [r14 + rbx], dil add rax, 1 cmp rax, 8 - jne .LBB10_72 -# %bb.73: + jne .LBB10_141 +# %bb.142: add r14, 1 -.LBB10_74: +.LBB10_143: sar r11, 5 cmp r10, 32 - jl .LBB10_78 -# %bb.75: + jl .LBB10_147 +# %bb.144: mov qword ptr [rsp + 72], r10 # 8-byte Spill mov qword ptr [rsp + 368], r11 # 8-byte Spill mov qword ptr [rsp + 320], r11 # 8-byte Spill .p2align 4, 0x90 -.LBB10_76: # =>This Inner Loop Header: Depth=1 +.LBB10_145: # =>This Inner Loop Header: Depth=1 mov qword ptr [rsp + 352], r14 # 8-byte Spill cmp dword ptr [rsi], r13d - setge byte ptr [rsp + 160] # 1-byte Folded Spill + setge byte ptr [rsp + 240] # 1-byte Folded Spill cmp dword ptr [rsi + 4], r13d - setge dil + setge r10b cmp dword ptr [rsi + 8], r13d setge r14b cmp dword ptr [rsi + 12], r13d - setge byte ptr [rsp + 336] # 1-byte Folded Spill + setge byte ptr [rsp + 272] # 1-byte Folded Spill cmp dword ptr [rsi + 16], r13d - setge byte ptr [rsp + 224] # 1-byte Folded Spill - cmp dword ptr [rsi + 20], r13d setge byte ptr [rsp + 208] # 1-byte Folded Spill + cmp dword ptr [rsi + 20], r13d + setge byte ptr [rsp + 192] # 1-byte Folded Spill cmp dword ptr [rsi + 24], r13d setge al cmp dword ptr [rsi + 28], r13d setge bl cmp dword ptr [rsi + 32], r13d - setge byte ptr [rsp + 304] # 1-byte Folded Spill + setge byte ptr [rsp + 336] # 1-byte Folded Spill cmp dword ptr [rsi + 36], r13d - setge dl + setge dil cmp dword ptr [rsi + 40], r13d - setge r9b + setge r8b cmp dword ptr [rsi + 44], r13d - setge r10b + setge r9b cmp dword ptr [rsi + 48], r13d setge r11b cmp dword ptr [rsi + 52], r13d setge r12b cmp dword ptr [rsi + 56], r13d - setge byte ptr [rsp + 256] # 1-byte Folded Spill + setge byte ptr [rsp + 288] # 1-byte Folded Spill cmp dword ptr [rsi + 60], r13d setge cl cmp dword ptr [rsi + 64], r13d - setge byte ptr [rsp + 176] # 1-byte Folded Spill + setge byte ptr [rsp + 160] # 1-byte Folded Spill cmp dword ptr [rsi + 68], r13d - setge byte ptr [rsp + 272] # 1-byte Folded Spill + setge byte ptr [rsp + 304] # 1-byte Folded Spill cmp dword ptr [rsi + 72], r13d - setge byte ptr [rsp + 288] # 1-byte Folded Spill + setge byte ptr [rsp + 256] # 1-byte Folded Spill cmp dword ptr [rsi + 76], r13d - setge byte ptr [rsp + 240] # 1-byte Folded Spill + setge byte ptr [rsp + 224] # 1-byte Folded Spill cmp dword ptr [rsi + 80], r13d - setge byte ptr [rsp + 192] # 1-byte Folded Spill + setge byte ptr [rsp + 176] # 1-byte Folded Spill cmp dword ptr [rsi + 84], r13d - setge byte ptr [rsp + 144] # 1-byte Folded Spill + setge byte ptr [rsp + 112] # 1-byte Folded Spill cmp dword ptr [rsi + 88], r13d setge byte ptr [rsp + 128] # 1-byte Folded Spill cmp dword ptr [rsi + 92], r13d @@ -49531,7 +50974,7 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar cmp dword ptr [rsi + 96], r13d setge byte ptr [rsp + 48] # 1-byte Folded Spill cmp dword ptr [rsi + 100], r13d - setge byte ptr [rsp + 112] # 1-byte Folded Spill + setge byte ptr [rsp + 144] # 1-byte Folded Spill cmp dword ptr [rsi + 104], r13d setge byte ptr [rsp + 96] # 1-byte Folded Spill cmp dword ptr [rsi + 108], r13d @@ -49543,114 +50986,115 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar cmp dword ptr [rsi + 120], r13d setge byte ptr [rsp + 8] # 1-byte Folded Spill cmp dword ptr [rsi + 124], r13d - setge r8b - add dil, dil - add dil, byte ptr [rsp + 160] # 1-byte Folded Reload + setge dl + add r10b, r10b + add r10b, byte ptr [rsp + 240] # 1-byte Folded Reload shl al, 6 shl bl, 7 or bl, al shl r14b, 2 - or r14b, dil - add dl, dl - add dl, byte ptr [rsp + 304] # 1-byte Folded Reload - movzx eax, byte ptr [rsp + 336] # 1-byte Folded Reload + or r14b, r10b + add dil, dil + add dil, byte ptr [rsp + 336] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 272] # 1-byte Folded Reload shl al, 3 or al, r14b - shl r9b, 2 - or r9b, dl - movzx edx, byte ptr [rsp + 224] # 1-byte Folded Reload - shl dl, 4 - or dl, al - mov edi, edx - shl r10b, 3 - or r10b, r9b - movzx edx, byte ptr [rsp + 208] # 1-byte Folded Reload - shl dl, 5 - or dl, dil + mov r10d, eax + mov r14, qword ptr [rsp + 352] # 8-byte Reload + shl r8b, 2 + or r8b, dil + movzx eax, byte ptr [rsp + 208] # 1-byte Folded Reload + shl al, 4 + or al, r10b + mov edi, eax + shl r9b, 3 + or r9b, r8b + movzx eax, byte ptr [rsp + 192] # 1-byte Folded Reload + shl al, 5 + or al, dil shl r11b, 4 - or r11b, r10b + or r11b, r9b shl r12b, 5 or r12b, r11b - movzx edi, byte ptr [rsp + 256] # 1-byte Folded Reload + movzx edi, byte ptr [rsp + 288] # 1-byte Folded Reload shl dil, 6 shl cl, 7 or cl, dil - or bl, dl + or bl, al or cl, r12b - mov r14, qword ptr [rsp + 352] # 8-byte Reload - movzx edx, byte ptr [rsp + 272] # 1-byte Folded Reload - add dl, dl - add dl, byte ptr [rsp + 176] # 1-byte Folded Reload - mov edi, edx - movzx edx, byte ptr [rsp + 288] # 1-byte Folded Reload - shl dl, 2 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 240] # 1-byte Folded Reload - shl dl, 3 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 192] # 1-byte Folded Reload - shl dl, 4 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 144] # 1-byte Folded Reload - shl dl, 5 - or dl, dil + movzx eax, byte ptr [rsp + 304] # 1-byte Folded Reload + add al, al + add al, byte ptr [rsp + 160] # 1-byte Folded Reload + mov edi, eax + movzx eax, byte ptr [rsp + 256] # 1-byte Folded Reload + shl al, 2 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 224] # 1-byte Folded Reload + shl al, 3 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 176] # 1-byte Folded Reload + shl al, 4 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 112] # 1-byte Folded Reload + shl al, 5 + or al, dil mov byte ptr [r14], bl movzx ebx, byte ptr [rsp + 128] # 1-byte Folded Reload shl bl, 6 shl r15b, 7 or r15b, bl mov byte ptr [r14 + 1], cl - or r15b, dl - movzx ecx, byte ptr [rsp + 112] # 1-byte Folded Reload - add cl, cl - add cl, byte ptr [rsp + 48] # 1-byte Folded Reload - mov edx, ecx - movzx ecx, byte ptr [rsp + 96] # 1-byte Folded Reload - shl cl, 2 - or cl, dl - mov edx, ecx - movzx ecx, byte ptr [rsp + 80] # 1-byte Folded Reload - shl cl, 3 - or cl, dl - mov edx, ecx - movzx ecx, byte ptr [rsp + 32] # 1-byte Folded Reload - shl cl, 4 - or cl, dl - mov edx, ecx - movzx ecx, byte ptr [rsp + 16] # 1-byte Folded Reload - shl cl, 5 - or cl, dl - movzx edx, byte ptr [rsp + 8] # 1-byte Folded Reload - shl dl, 6 - shl r8b, 7 - or r8b, dl - or r8b, cl + or r15b, al + movzx eax, byte ptr [rsp + 144] # 1-byte Folded Reload + add al, al + add al, byte ptr [rsp + 48] # 1-byte Folded Reload + mov ecx, eax + movzx eax, byte ptr [rsp + 96] # 1-byte Folded Reload + shl al, 2 + or al, cl + mov ecx, eax + movzx eax, byte ptr [rsp + 80] # 1-byte Folded Reload + shl al, 3 + or al, cl + mov ecx, eax + movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload + shl al, 4 + or al, cl + mov ecx, eax + movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload + shl al, 5 + or al, cl + movzx ecx, byte ptr [rsp + 8] # 1-byte Folded Reload + shl cl, 6 + shl dl, 7 + or dl, cl + or dl, al mov byte ptr [r14 + 2], r15b - mov byte ptr [r14 + 3], r8b + mov byte ptr [r14 + 3], dl add rsi, 128 add r14, 4 add qword ptr [rsp + 320], -1 # 8-byte Folded Spill - jne .LBB10_76 -# %bb.77: + jne .LBB10_145 +# %bb.146: mov r10, qword ptr [rsp + 72] # 8-byte Reload mov r11, qword ptr [rsp + 368] # 8-byte Reload -.LBB10_78: +.LBB10_147: shl r11, 5 cmp r11, r10 - jge .LBB10_182 -# %bb.79: + jge .LBB10_201 +# %bb.148: mov r8, r10 sub r8, r11 not r11 add r11, r10 - jne .LBB10_147 -# %bb.80: + jne .LBB10_153 +# %bb.149: xor r11d, r11d - jmp .LBB10_149 -.LBB10_81: + jmp .LBB10_150 +.LBB10_99: movzx r13d, word ptr [rdx] lea r11, [r10 + 31] test r10, r10 @@ -49660,11 +51104,11 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar cmovns eax, r9d and eax, -8 sub r9d, eax - je .LBB10_85 -# %bb.82: + je .LBB10_103 +# %bb.100: movsxd rax, r9d .p2align 4, 0x90 -.LBB10_83: # =>This Inner Loop Header: Depth=1 +.LBB10_101: # =>This Inner Loop Header: Depth=1 cmp word ptr [rsi], r13w lea rsi, [rsi + 2] mov edx, 0 @@ -49686,64 +51130,64 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar mov byte ptr [r14 + rbx], dil add rax, 1 cmp rax, 8 - jne .LBB10_83 -# %bb.84: + jne .LBB10_101 +# %bb.102: add r14, 1 -.LBB10_85: +.LBB10_103: sar r11, 5 cmp r10, 32 - jl .LBB10_89 -# %bb.86: + jl .LBB10_107 +# %bb.104: mov qword ptr [rsp + 72], r10 # 8-byte Spill mov qword ptr [rsp + 368], r11 # 8-byte Spill mov qword ptr [rsp + 320], r11 # 8-byte Spill .p2align 4, 0x90 -.LBB10_87: # =>This Inner Loop Header: Depth=1 +.LBB10_105: # =>This Inner Loop Header: Depth=1 mov qword ptr [rsp + 352], r14 # 8-byte Spill cmp word ptr [rsi], r13w - setae byte ptr [rsp + 160] # 1-byte Folded Spill + setae byte ptr [rsp + 240] # 1-byte Folded Spill cmp word ptr [rsi + 2], r13w - setae dil + setae r10b cmp word ptr [rsi + 4], r13w setae r14b cmp word ptr [rsi + 6], r13w - setae byte ptr [rsp + 336] # 1-byte Folded Spill + setae byte ptr [rsp + 272] # 1-byte Folded Spill cmp word ptr [rsi + 8], r13w - setae byte ptr [rsp + 224] # 1-byte Folded Spill - cmp word ptr [rsi + 10], r13w setae byte ptr [rsp + 208] # 1-byte Folded Spill + cmp word ptr [rsi + 10], r13w + setae byte ptr [rsp + 192] # 1-byte Folded Spill cmp word ptr [rsi + 12], r13w setae al cmp word ptr [rsi + 14], r13w setae bl cmp word ptr [rsi + 16], r13w - setae byte ptr [rsp + 304] # 1-byte Folded Spill + setae byte ptr [rsp + 336] # 1-byte Folded Spill cmp word ptr [rsi + 18], r13w - setae dl + setae dil cmp word ptr [rsi + 20], r13w - setae r9b + setae r8b cmp word ptr [rsi + 22], r13w - setae r10b + setae r9b cmp word ptr [rsi + 24], r13w setae r11b cmp word ptr [rsi + 26], r13w setae r12b cmp word ptr [rsi + 28], r13w - setae byte ptr [rsp + 256] # 1-byte Folded Spill + setae byte ptr [rsp + 288] # 1-byte Folded Spill cmp word ptr [rsi + 30], r13w setae cl cmp word ptr [rsi + 32], r13w - setae byte ptr [rsp + 176] # 1-byte Folded Spill + setae byte ptr [rsp + 160] # 1-byte Folded Spill cmp word ptr [rsi + 34], r13w - setae byte ptr [rsp + 272] # 1-byte Folded Spill + setae byte ptr [rsp + 304] # 1-byte Folded Spill cmp word ptr [rsi + 36], r13w - setae byte ptr [rsp + 288] # 1-byte Folded Spill + setae byte ptr [rsp + 256] # 1-byte Folded Spill cmp word ptr [rsi + 38], r13w - setae byte ptr [rsp + 240] # 1-byte Folded Spill + setae byte ptr [rsp + 224] # 1-byte Folded Spill cmp word ptr [rsi + 40], r13w - setae byte ptr [rsp + 192] # 1-byte Folded Spill + setae byte ptr [rsp + 176] # 1-byte Folded Spill cmp word ptr [rsi + 42], r13w - setae byte ptr [rsp + 144] # 1-byte Folded Spill + setae byte ptr [rsp + 112] # 1-byte Folded Spill cmp word ptr [rsi + 44], r13w setae byte ptr [rsp + 128] # 1-byte Folded Spill cmp word ptr [rsi + 46], r13w @@ -49751,7 +51195,7 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar cmp word ptr [rsi + 48], r13w setae byte ptr [rsp + 48] # 1-byte Folded Spill cmp word ptr [rsi + 50], r13w - setae byte ptr [rsp + 112] # 1-byte Folded Spill + setae byte ptr [rsp + 144] # 1-byte Folded Spill cmp word ptr [rsi + 52], r13w setae byte ptr [rsp + 96] # 1-byte Folded Spill cmp word ptr [rsi + 54], r13w @@ -49763,114 +51207,115 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar cmp word ptr [rsi + 60], r13w setae byte ptr [rsp + 8] # 1-byte Folded Spill cmp word ptr [rsi + 62], r13w - setae r8b - add dil, dil - add dil, byte ptr [rsp + 160] # 1-byte Folded Reload + setae dl + add r10b, r10b + add r10b, byte ptr [rsp + 240] # 1-byte Folded Reload shl al, 6 shl bl, 7 or bl, al shl r14b, 2 - or r14b, dil - add dl, dl - add dl, byte ptr [rsp + 304] # 1-byte Folded Reload - movzx eax, byte ptr [rsp + 336] # 1-byte Folded Reload + or r14b, r10b + add dil, dil + add dil, byte ptr [rsp + 336] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 272] # 1-byte Folded Reload shl al, 3 or al, r14b - shl r9b, 2 - or r9b, dl - movzx edx, byte ptr [rsp + 224] # 1-byte Folded Reload - shl dl, 4 - or dl, al - mov edi, edx - shl r10b, 3 - or r10b, r9b - movzx edx, byte ptr [rsp + 208] # 1-byte Folded Reload - shl dl, 5 - or dl, dil + mov r10d, eax + mov r14, qword ptr [rsp + 352] # 8-byte Reload + shl r8b, 2 + or r8b, dil + movzx eax, byte ptr [rsp + 208] # 1-byte Folded Reload + shl al, 4 + or al, r10b + mov edi, eax + shl r9b, 3 + or r9b, r8b + movzx eax, byte ptr [rsp + 192] # 1-byte Folded Reload + shl al, 5 + or al, dil shl r11b, 4 - or r11b, r10b + or r11b, r9b shl r12b, 5 or r12b, r11b - movzx edi, byte ptr [rsp + 256] # 1-byte Folded Reload + movzx edi, byte ptr [rsp + 288] # 1-byte Folded Reload shl dil, 6 shl cl, 7 or cl, dil - or bl, dl + or bl, al or cl, r12b - mov r14, qword ptr [rsp + 352] # 8-byte Reload - movzx edx, byte ptr [rsp + 272] # 1-byte Folded Reload - add dl, dl - add dl, byte ptr [rsp + 176] # 1-byte Folded Reload - mov edi, edx - movzx edx, byte ptr [rsp + 288] # 1-byte Folded Reload - shl dl, 2 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 240] # 1-byte Folded Reload - shl dl, 3 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 192] # 1-byte Folded Reload - shl dl, 4 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 144] # 1-byte Folded Reload - shl dl, 5 - or dl, dil + movzx eax, byte ptr [rsp + 304] # 1-byte Folded Reload + add al, al + add al, byte ptr [rsp + 160] # 1-byte Folded Reload + mov edi, eax + movzx eax, byte ptr [rsp + 256] # 1-byte Folded Reload + shl al, 2 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 224] # 1-byte Folded Reload + shl al, 3 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 176] # 1-byte Folded Reload + shl al, 4 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 112] # 1-byte Folded Reload + shl al, 5 + or al, dil mov byte ptr [r14], bl movzx ebx, byte ptr [rsp + 128] # 1-byte Folded Reload shl bl, 6 shl r15b, 7 or r15b, bl mov byte ptr [r14 + 1], cl - or r15b, dl - movzx ecx, byte ptr [rsp + 112] # 1-byte Folded Reload - add cl, cl - add cl, byte ptr [rsp + 48] # 1-byte Folded Reload - mov edx, ecx - movzx ecx, byte ptr [rsp + 96] # 1-byte Folded Reload - shl cl, 2 - or cl, dl - mov edx, ecx - movzx ecx, byte ptr [rsp + 80] # 1-byte Folded Reload - shl cl, 3 - or cl, dl - mov edx, ecx - movzx ecx, byte ptr [rsp + 32] # 1-byte Folded Reload - shl cl, 4 - or cl, dl - mov edx, ecx - movzx ecx, byte ptr [rsp + 16] # 1-byte Folded Reload - shl cl, 5 - or cl, dl - movzx edx, byte ptr [rsp + 8] # 1-byte Folded Reload - shl dl, 6 - shl r8b, 7 - or r8b, dl - or r8b, cl + or r15b, al + movzx eax, byte ptr [rsp + 144] # 1-byte Folded Reload + add al, al + add al, byte ptr [rsp + 48] # 1-byte Folded Reload + mov ecx, eax + movzx eax, byte ptr [rsp + 96] # 1-byte Folded Reload + shl al, 2 + or al, cl + mov ecx, eax + movzx eax, byte ptr [rsp + 80] # 1-byte Folded Reload + shl al, 3 + or al, cl + mov ecx, eax + movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload + shl al, 4 + or al, cl + mov ecx, eax + movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload + shl al, 5 + or al, cl + movzx ecx, byte ptr [rsp + 8] # 1-byte Folded Reload + shl cl, 6 + shl dl, 7 + or dl, cl + or dl, al mov byte ptr [r14 + 2], r15b - mov byte ptr [r14 + 3], r8b + mov byte ptr [r14 + 3], dl add rsi, 64 add r14, 4 add qword ptr [rsp + 320], -1 # 8-byte Folded Spill - jne .LBB10_87 -# %bb.88: + jne .LBB10_105 +# %bb.106: mov r10, qword ptr [rsp + 72] # 8-byte Reload mov r11, qword ptr [rsp + 368] # 8-byte Reload -.LBB10_89: +.LBB10_107: shl r11, 5 cmp r11, r10 - jge .LBB10_182 -# %bb.90: + jge .LBB10_201 +# %bb.108: mov r8, r10 sub r8, r11 not r11 add r11, r10 - jne .LBB10_170 -# %bb.91: + jne .LBB10_112 +# %bb.109: xor r11d, r11d - jmp .LBB10_172 -.LBB10_92: + jmp .LBB10_110 +.LBB10_114: movzx r11d, word ptr [rdx] lea r15, [r10 + 31] test r10, r10 @@ -49880,11 +51325,11 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar cmovns eax, r9d and eax, -8 sub r9d, eax - je .LBB10_96 -# %bb.93: + je .LBB10_118 +# %bb.115: movsxd rax, r9d .p2align 4, 0x90 -.LBB10_94: # =>This Inner Loop Header: Depth=1 +.LBB10_116: # =>This Inner Loop Header: Depth=1 cmp word ptr [rsi], r11w lea rsi, [rsi + 2] setge dl @@ -49906,60 +51351,59 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar mov byte ptr [r14 + rdi], bl add rax, 1 cmp rax, 8 - jne .LBB10_94 -# %bb.95: + jne .LBB10_116 +# %bb.117: add r14, 1 -.LBB10_96: +.LBB10_118: sar r15, 5 cmp r10, 32 mov dword ptr [rsp + 392], r11d # 4-byte Spill - jl .LBB10_135 -# %bb.97: + jl .LBB10_119 +# %bb.120: cmp r15, 8 mov qword ptr [rsp + 72], r10 # 8-byte Spill mov qword ptr [rsp + 456], r15 # 8-byte Spill - jb .LBB10_100 -# %bb.98: + jb .LBB10_121 +# %bb.122: mov rax, r15 shl rax, 6 add rax, rsi cmp r14, rax - jae .LBB10_197 -# %bb.99: + jae .LBB10_124 +# %bb.123: lea rax, [r14 + 4*r15] cmp rax, rsi - jbe .LBB10_197 -.LBB10_100: + jbe .LBB10_124 +.LBB10_121: xor eax, eax mov qword ptr [rsp + 400], rax # 8-byte Spill mov r11, rsi mov r12, r14 -.LBB10_101: +.LBB10_127: mov qword ptr [rsp + 8], r12 # 8-byte Spill - mov r14, r15 - sub r14, qword ptr [rsp + 400] # 8-byte Folded Reload - mov qword ptr [rsp + 320], r14 # 8-byte Spill + sub r15, qword ptr [rsp + 400] # 8-byte Folded Reload + mov qword ptr [rsp + 320], r15 # 8-byte Spill mov r13d, dword ptr [rsp + 392] # 4-byte Reload .p2align 4, 0x90 -.LBB10_102: # =>This Inner Loop Header: Depth=1 +.LBB10_128: # =>This Inner Loop Header: Depth=1 cmp word ptr [r11], r13w - setge byte ptr [rsp + 160] # 1-byte Folded Spill + setge byte ptr [rsp + 240] # 1-byte Folded Spill cmp word ptr [r11 + 2], r13w setge r8b cmp word ptr [r11 + 4], r13w setge r14b cmp word ptr [r11 + 6], r13w - setge byte ptr [rsp + 336] # 1-byte Folded Spill + setge byte ptr [rsp + 272] # 1-byte Folded Spill cmp word ptr [r11 + 8], r13w - setge byte ptr [rsp + 224] # 1-byte Folded Spill - cmp word ptr [r11 + 10], r13w setge byte ptr [rsp + 208] # 1-byte Folded Spill + cmp word ptr [r11 + 10], r13w + setge byte ptr [rsp + 192] # 1-byte Folded Spill cmp word ptr [r11 + 12], r13w setge al cmp word ptr [r11 + 14], r13w setge bl cmp word ptr [r11 + 16], r13w - setge byte ptr [rsp + 304] # 1-byte Folded Spill + setge byte ptr [rsp + 336] # 1-byte Folded Spill cmp word ptr [r11 + 18], r13w setge cl cmp word ptr [r11 + 20], r13w @@ -49971,21 +51415,21 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar cmp word ptr [r11 + 26], r13w setge r12b cmp word ptr [r11 + 28], r13w - setge byte ptr [rsp + 256] # 1-byte Folded Spill + setge byte ptr [rsp + 288] # 1-byte Folded Spill cmp word ptr [r11 + 30], r13w setge dil cmp word ptr [r11 + 32], r13w - setge byte ptr [rsp + 176] # 1-byte Folded Spill + setge byte ptr [rsp + 160] # 1-byte Folded Spill cmp word ptr [r11 + 34], r13w - setge byte ptr [rsp + 272] # 1-byte Folded Spill + setge byte ptr [rsp + 304] # 1-byte Folded Spill cmp word ptr [r11 + 36], r13w - setge byte ptr [rsp + 288] # 1-byte Folded Spill + setge byte ptr [rsp + 256] # 1-byte Folded Spill cmp word ptr [r11 + 38], r13w - setge byte ptr [rsp + 240] # 1-byte Folded Spill + setge byte ptr [rsp + 224] # 1-byte Folded Spill cmp word ptr [r11 + 40], r13w - setge byte ptr [rsp + 192] # 1-byte Folded Spill + setge byte ptr [rsp + 176] # 1-byte Folded Spill cmp word ptr [r11 + 42], r13w - setge byte ptr [rsp + 144] # 1-byte Folded Spill + setge byte ptr [rsp + 112] # 1-byte Folded Spill cmp word ptr [r11 + 44], r13w setge byte ptr [rsp + 128] # 1-byte Folded Spill cmp word ptr [r11 + 46], r13w @@ -49993,7 +51437,7 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar cmp word ptr [r11 + 48], r13w setge byte ptr [rsp + 48] # 1-byte Folded Spill cmp word ptr [r11 + 50], r13w - setge byte ptr [rsp + 112] # 1-byte Folded Spill + setge byte ptr [rsp + 144] # 1-byte Folded Spill cmp word ptr [r11 + 52], r13w setge byte ptr [rsp + 96] # 1-byte Folded Spill cmp word ptr [r11 + 54], r13w @@ -50007,55 +51451,55 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar cmp word ptr [r11 + 62], r13w setge dl add r8b, r8b - add r8b, byte ptr [rsp + 160] # 1-byte Folded Reload + add r8b, byte ptr [rsp + 240] # 1-byte Folded Reload shl al, 6 shl bl, 7 or bl, al shl r14b, 2 or r14b, r8b add cl, cl - add cl, byte ptr [rsp + 304] # 1-byte Folded Reload - movzx eax, byte ptr [rsp + 336] # 1-byte Folded Reload + add cl, byte ptr [rsp + 336] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 272] # 1-byte Folded Reload shl al, 3 or al, r14b shl sil, 2 or sil, cl - movzx ecx, byte ptr [rsp + 224] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 208] # 1-byte Folded Reload shl cl, 4 or cl, al mov r8d, ecx shl r9b, 3 or r9b, sil - movzx ecx, byte ptr [rsp + 208] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 192] # 1-byte Folded Reload shl cl, 5 or cl, r8b shl r10b, 4 or r10b, r9b shl r12b, 5 or r12b, r10b - movzx esi, byte ptr [rsp + 256] # 1-byte Folded Reload + movzx esi, byte ptr [rsp + 288] # 1-byte Folded Reload shl sil, 6 shl dil, 7 or dil, sil or bl, cl or dil, r12b - movzx ecx, byte ptr [rsp + 272] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 304] # 1-byte Folded Reload add cl, cl - add cl, byte ptr [rsp + 176] # 1-byte Folded Reload + add cl, byte ptr [rsp + 160] # 1-byte Folded Reload mov esi, ecx - movzx ecx, byte ptr [rsp + 288] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 256] # 1-byte Folded Reload shl cl, 2 or cl, sil mov esi, ecx - movzx ecx, byte ptr [rsp + 240] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 224] # 1-byte Folded Reload shl cl, 3 or cl, sil mov esi, ecx - movzx ecx, byte ptr [rsp + 192] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 176] # 1-byte Folded Reload shl cl, 4 or cl, sil mov esi, ecx - movzx ecx, byte ptr [rsp + 144] # 1-byte Folded Reload + movzx ecx, byte ptr [rsp + 112] # 1-byte Folded Reload shl cl, 5 or cl, sil mov esi, ecx @@ -50067,7 +51511,7 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar or r15b, bl mov byte ptr [rcx + 1], dil or r15b, sil - movzx eax, byte ptr [rsp + 112] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 144] # 1-byte Folded Reload add al, al add al, byte ptr [rsp + 48] # 1-byte Folded Reload mov ebx, eax @@ -50097,13 +51541,13 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar add rcx, 4 mov qword ptr [rsp + 8], rcx # 8-byte Spill add qword ptr [rsp + 320], -1 # 8-byte Folded Spill - jne .LBB10_102 -# %bb.103: + jne .LBB10_128 +# %bb.129: mov r10, qword ptr [rsp + 72] # 8-byte Reload mov r15, qword ptr [rsp + 456] # 8-byte Reload mov r12, qword ptr [rsp + 8] # 8-byte Reload - jmp .LBB10_136 -.LBB10_104: + jmp .LBB10_130 +.LBB10_157: mov r13, qword ptr [rdx] lea r11, [r10 + 31] test r10, r10 @@ -50113,11 +51557,11 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar cmovns eax, r9d and eax, -8 sub r9d, eax - je .LBB10_108 -# %bb.105: + je .LBB10_161 +# %bb.158: movsxd rax, r9d .p2align 4, 0x90 -.LBB10_106: # =>This Inner Loop Header: Depth=1 +.LBB10_159: # =>This Inner Loop Header: Depth=1 cmp qword ptr [rsi], r13 lea rsi, [rsi + 8] setge dl @@ -50139,64 +51583,64 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar mov byte ptr [r14 + rbx], dil add rax, 1 cmp rax, 8 - jne .LBB10_106 -# %bb.107: + jne .LBB10_159 +# %bb.160: add r14, 1 -.LBB10_108: +.LBB10_161: sar r11, 5 cmp r10, 32 - jl .LBB10_112 -# %bb.109: + jl .LBB10_165 +# %bb.162: mov qword ptr [rsp + 72], r10 # 8-byte Spill mov qword ptr [rsp + 368], r11 # 8-byte Spill mov qword ptr [rsp + 320], r11 # 8-byte Spill .p2align 4, 0x90 -.LBB10_110: # =>This Inner Loop Header: Depth=1 +.LBB10_163: # =>This Inner Loop Header: Depth=1 mov qword ptr [rsp + 352], r14 # 8-byte Spill cmp qword ptr [rsi], r13 - setge byte ptr [rsp + 160] # 1-byte Folded Spill + setge byte ptr [rsp + 240] # 1-byte Folded Spill cmp qword ptr [rsi + 8], r13 - setge dil + setge r10b cmp qword ptr [rsi + 16], r13 setge r14b cmp qword ptr [rsi + 24], r13 - setge byte ptr [rsp + 336] # 1-byte Folded Spill + setge byte ptr [rsp + 272] # 1-byte Folded Spill cmp qword ptr [rsi + 32], r13 - setge byte ptr [rsp + 224] # 1-byte Folded Spill - cmp qword ptr [rsi + 40], r13 setge byte ptr [rsp + 208] # 1-byte Folded Spill + cmp qword ptr [rsi + 40], r13 + setge byte ptr [rsp + 192] # 1-byte Folded Spill cmp qword ptr [rsi + 48], r13 setge al cmp qword ptr [rsi + 56], r13 setge bl cmp qword ptr [rsi + 64], r13 - setge byte ptr [rsp + 304] # 1-byte Folded Spill + setge byte ptr [rsp + 336] # 1-byte Folded Spill cmp qword ptr [rsi + 72], r13 - setge dl + setge dil cmp qword ptr [rsi + 80], r13 - setge r9b + setge r8b cmp qword ptr [rsi + 88], r13 - setge r10b + setge r9b cmp qword ptr [rsi + 96], r13 setge r11b cmp qword ptr [rsi + 104], r13 setge r12b cmp qword ptr [rsi + 112], r13 - setge byte ptr [rsp + 256] # 1-byte Folded Spill + setge byte ptr [rsp + 288] # 1-byte Folded Spill cmp qword ptr [rsi + 120], r13 setge cl cmp qword ptr [rsi + 128], r13 - setge byte ptr [rsp + 176] # 1-byte Folded Spill + setge byte ptr [rsp + 160] # 1-byte Folded Spill cmp qword ptr [rsi + 136], r13 - setge byte ptr [rsp + 272] # 1-byte Folded Spill + setge byte ptr [rsp + 304] # 1-byte Folded Spill cmp qword ptr [rsi + 144], r13 - setge byte ptr [rsp + 288] # 1-byte Folded Spill + setge byte ptr [rsp + 256] # 1-byte Folded Spill cmp qword ptr [rsi + 152], r13 - setge byte ptr [rsp + 240] # 1-byte Folded Spill + setge byte ptr [rsp + 224] # 1-byte Folded Spill cmp qword ptr [rsi + 160], r13 - setge byte ptr [rsp + 192] # 1-byte Folded Spill + setge byte ptr [rsp + 176] # 1-byte Folded Spill cmp qword ptr [rsi + 168], r13 - setge byte ptr [rsp + 144] # 1-byte Folded Spill + setge byte ptr [rsp + 112] # 1-byte Folded Spill cmp qword ptr [rsi + 176], r13 setge byte ptr [rsp + 128] # 1-byte Folded Spill cmp qword ptr [rsi + 184], r13 @@ -50204,7 +51648,7 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar cmp qword ptr [rsi + 192], r13 setge byte ptr [rsp + 48] # 1-byte Folded Spill cmp qword ptr [rsi + 200], r13 - setge byte ptr [rsp + 112] # 1-byte Folded Spill + setge byte ptr [rsp + 144] # 1-byte Folded Spill cmp qword ptr [rsi + 208], r13 setge byte ptr [rsp + 96] # 1-byte Folded Spill cmp qword ptr [rsi + 216], r13 @@ -50216,114 +51660,115 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar cmp qword ptr [rsi + 240], r13 setge byte ptr [rsp + 8] # 1-byte Folded Spill cmp qword ptr [rsi + 248], r13 - setge r8b - add dil, dil - add dil, byte ptr [rsp + 160] # 1-byte Folded Reload + setge dl + add r10b, r10b + add r10b, byte ptr [rsp + 240] # 1-byte Folded Reload shl al, 6 shl bl, 7 or bl, al shl r14b, 2 - or r14b, dil - add dl, dl - add dl, byte ptr [rsp + 304] # 1-byte Folded Reload - movzx eax, byte ptr [rsp + 336] # 1-byte Folded Reload + or r14b, r10b + add dil, dil + add dil, byte ptr [rsp + 336] # 1-byte Folded Reload + movzx eax, byte ptr [rsp + 272] # 1-byte Folded Reload shl al, 3 or al, r14b - shl r9b, 2 - or r9b, dl - movzx edx, byte ptr [rsp + 224] # 1-byte Folded Reload - shl dl, 4 - or dl, al - mov edi, edx - shl r10b, 3 - or r10b, r9b - movzx edx, byte ptr [rsp + 208] # 1-byte Folded Reload - shl dl, 5 - or dl, dil + mov r10d, eax + mov r14, qword ptr [rsp + 352] # 8-byte Reload + shl r8b, 2 + or r8b, dil + movzx eax, byte ptr [rsp + 208] # 1-byte Folded Reload + shl al, 4 + or al, r10b + mov edi, eax + shl r9b, 3 + or r9b, r8b + movzx eax, byte ptr [rsp + 192] # 1-byte Folded Reload + shl al, 5 + or al, dil shl r11b, 4 - or r11b, r10b + or r11b, r9b shl r12b, 5 or r12b, r11b - movzx edi, byte ptr [rsp + 256] # 1-byte Folded Reload + movzx edi, byte ptr [rsp + 288] # 1-byte Folded Reload shl dil, 6 shl cl, 7 or cl, dil - or bl, dl + or bl, al or cl, r12b - mov r14, qword ptr [rsp + 352] # 8-byte Reload - movzx edx, byte ptr [rsp + 272] # 1-byte Folded Reload - add dl, dl - add dl, byte ptr [rsp + 176] # 1-byte Folded Reload - mov edi, edx - movzx edx, byte ptr [rsp + 288] # 1-byte Folded Reload - shl dl, 2 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 240] # 1-byte Folded Reload - shl dl, 3 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 192] # 1-byte Folded Reload - shl dl, 4 - or dl, dil - mov edi, edx - movzx edx, byte ptr [rsp + 144] # 1-byte Folded Reload - shl dl, 5 - or dl, dil + movzx eax, byte ptr [rsp + 304] # 1-byte Folded Reload + add al, al + add al, byte ptr [rsp + 160] # 1-byte Folded Reload + mov edi, eax + movzx eax, byte ptr [rsp + 256] # 1-byte Folded Reload + shl al, 2 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 224] # 1-byte Folded Reload + shl al, 3 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 176] # 1-byte Folded Reload + shl al, 4 + or al, dil + mov edi, eax + movzx eax, byte ptr [rsp + 112] # 1-byte Folded Reload + shl al, 5 + or al, dil mov byte ptr [r14], bl movzx ebx, byte ptr [rsp + 128] # 1-byte Folded Reload shl bl, 6 shl r15b, 7 or r15b, bl mov byte ptr [r14 + 1], cl - or r15b, dl - movzx ecx, byte ptr [rsp + 112] # 1-byte Folded Reload - add cl, cl - add cl, byte ptr [rsp + 48] # 1-byte Folded Reload - mov edx, ecx - movzx ecx, byte ptr [rsp + 96] # 1-byte Folded Reload - shl cl, 2 - or cl, dl - mov edx, ecx - movzx ecx, byte ptr [rsp + 80] # 1-byte Folded Reload - shl cl, 3 - or cl, dl - mov edx, ecx - movzx ecx, byte ptr [rsp + 32] # 1-byte Folded Reload - shl cl, 4 - or cl, dl - mov edx, ecx - movzx ecx, byte ptr [rsp + 16] # 1-byte Folded Reload - shl cl, 5 - or cl, dl - movzx edx, byte ptr [rsp + 8] # 1-byte Folded Reload - shl dl, 6 - shl r8b, 7 - or r8b, dl - or r8b, cl + or r15b, al + movzx eax, byte ptr [rsp + 144] # 1-byte Folded Reload + add al, al + add al, byte ptr [rsp + 48] # 1-byte Folded Reload + mov ecx, eax + movzx eax, byte ptr [rsp + 96] # 1-byte Folded Reload + shl al, 2 + or al, cl + mov ecx, eax + movzx eax, byte ptr [rsp + 80] # 1-byte Folded Reload + shl al, 3 + or al, cl + mov ecx, eax + movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload + shl al, 4 + or al, cl + mov ecx, eax + movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload + shl al, 5 + or al, cl + movzx ecx, byte ptr [rsp + 8] # 1-byte Folded Reload + shl cl, 6 + shl dl, 7 + or dl, cl + or dl, al mov byte ptr [r14 + 2], r15b - mov byte ptr [r14 + 3], r8b + mov byte ptr [r14 + 3], dl add rsi, 256 add r14, 4 add qword ptr [rsp + 320], -1 # 8-byte Folded Spill - jne .LBB10_110 -# %bb.111: + jne .LBB10_163 +# %bb.164: mov r10, qword ptr [rsp + 72] # 8-byte Reload mov r11, qword ptr [rsp + 368] # 8-byte Reload -.LBB10_112: +.LBB10_165: shl r11, 5 cmp r11, r10 - jge .LBB10_182 -# %bb.113: + jge .LBB10_201 +# %bb.166: mov r8, r10 sub r8, r11 not r11 add r11, r10 - jne .LBB10_175 -# %bb.114: + jne .LBB10_170 +# %bb.167: xor r11d, r11d - jmp .LBB10_177 -.LBB10_115: + jmp .LBB10_168 +.LBB10_172: lea r11, [r10 + 31] test r10, r10 cmovns r11, r10 @@ -50333,15 +51778,16 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar and eax, -8 movss xmm11, dword ptr [rdx] # xmm11 = mem[0],zero,zero,zero sub r9d, eax - je .LBB10_119 -# %bb.116: + je .LBB10_176 +# %bb.173: movsxd rax, r9d .p2align 4, 0x90 -.LBB10_117: # =>This Inner Loop Header: Depth=1 - ucomiss xmm11, dword ptr [rsi] - setbe dl +.LBB10_174: # =>This Inner Loop Header: Depth=1 + movss xmm0, dword ptr [rsi] # xmm0 = mem[0],zero,zero,zero add rsi, 4 - neg dl + ucomiss xmm0, xmm11 + mov edx, 0 + adc dl, -1 lea rdi, [rax + 7] test rax, rax cmovns rdi, rax @@ -50359,264 +51805,294 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar mov byte ptr [r14 + rdi], bl add rax, 1 cmp rax, 8 - jne .LBB10_117 -# %bb.118: + jne .LBB10_174 +# %bb.175: add r14, 1 -.LBB10_119: +.LBB10_176: sar r11, 5 cmp r10, 32 - jl .LBB10_139 -# %bb.120: + jl .LBB10_177 +# %bb.178: cmp r11, 4 - jb .LBB10_123 -# %bb.121: + jb .LBB10_179 +# %bb.180: mov rax, r11 shl rax, 7 add rax, rsi cmp r14, rax - jae .LBB10_200 -# %bb.122: + jae .LBB10_182 +# %bb.181: lea rax, [r14 + 4*r11] cmp rax, rsi - jbe .LBB10_200 -.LBB10_123: - xor r8d, r8d - mov rbx, rsi + jbe .LBB10_182 +.LBB10_179: + xor eax, eax + mov rdx, rsi mov r15, r14 -.LBB10_124: +.LBB10_185: mov qword ptr [rsp + 8], r15 # 8-byte Spill mov qword ptr [rsp + 72], r10 # 8-byte Spill mov qword ptr [rsp + 320], r11 # 8-byte Spill - sub r11, r8 - mov qword ptr [rsp + 160], r11 # 8-byte Spill + sub r11, rax + mov qword ptr [rsp + 240], r11 # 8-byte Spill .p2align 4, 0x90 -.LBB10_125: # =>This Inner Loop Header: Depth=1 - ucomiss xmm11, dword ptr [rbx] - setbe byte ptr [rsp + 336] # 1-byte Folded Spill - ucomiss xmm11, dword ptr [rbx + 4] - setbe r8b - ucomiss xmm11, dword ptr [rbx + 8] - setbe r14b - ucomiss xmm11, dword ptr [rbx + 12] - setbe r13b - ucomiss xmm11, dword ptr [rbx + 16] - setbe byte ptr [rsp + 224] # 1-byte Folded Spill - ucomiss xmm11, dword ptr [rbx + 20] - setbe byte ptr [rsp + 208] # 1-byte Folded Spill - ucomiss xmm11, dword ptr [rbx + 24] - setbe al - ucomiss xmm11, dword ptr [rbx + 28] - setbe r11b - ucomiss xmm11, dword ptr [rbx + 32] - setbe byte ptr [rsp + 256] # 1-byte Folded Spill - ucomiss xmm11, dword ptr [rbx + 36] - setbe dl - ucomiss xmm11, dword ptr [rbx + 40] - setbe sil - ucomiss xmm11, dword ptr [rbx + 44] - setbe dil - ucomiss xmm11, dword ptr [rbx + 48] - setbe r10b - ucomiss xmm11, dword ptr [rbx + 52] - setbe r12b - ucomiss xmm11, dword ptr [rbx + 56] - setbe byte ptr [rsp + 272] # 1-byte Folded Spill - ucomiss xmm11, dword ptr [rbx + 60] - setbe r9b - ucomiss xmm11, dword ptr [rbx + 64] - setbe byte ptr [rsp + 176] # 1-byte Folded Spill - ucomiss xmm11, dword ptr [rbx + 68] - setbe byte ptr [rsp + 304] # 1-byte Folded Spill - ucomiss xmm11, dword ptr [rbx + 72] - setbe byte ptr [rsp + 288] # 1-byte Folded Spill - ucomiss xmm11, dword ptr [rbx + 76] - setbe byte ptr [rsp + 240] # 1-byte Folded Spill - ucomiss xmm11, dword ptr [rbx + 80] - setbe byte ptr [rsp + 192] # 1-byte Folded Spill - ucomiss xmm11, dword ptr [rbx + 84] - setbe byte ptr [rsp + 144] # 1-byte Folded Spill - ucomiss xmm11, dword ptr [rbx + 88] - setbe byte ptr [rsp + 128] # 1-byte Folded Spill - ucomiss xmm11, dword ptr [rbx + 92] - setbe r15b - ucomiss xmm11, dword ptr [rbx + 96] - setbe byte ptr [rsp + 48] # 1-byte Folded Spill - ucomiss xmm11, dword ptr [rbx + 100] - setbe byte ptr [rsp + 112] # 1-byte Folded Spill - ucomiss xmm11, dword ptr [rbx + 104] - setbe byte ptr [rsp + 96] # 1-byte Folded Spill - ucomiss xmm11, dword ptr [rbx + 108] - setbe byte ptr [rsp + 80] # 1-byte Folded Spill - ucomiss xmm11, dword ptr [rbx + 112] - setbe byte ptr [rsp + 32] # 1-byte Folded Spill - ucomiss xmm11, dword ptr [rbx + 116] - setbe byte ptr [rsp + 16] # 1-byte Folded Spill - ucomiss xmm11, dword ptr [rbx + 120] - setbe byte ptr [rsp + 352] # 1-byte Folded Spill - ucomiss xmm11, dword ptr [rbx + 124] - setbe cl - add r8b, r8b - add r8b, byte ptr [rsp + 336] # 1-byte Folded Reload - shl al, 6 - shl r11b, 7 - or r11b, al - shl r14b, 2 - or r14b, r8b - add dl, dl - add dl, byte ptr [rsp + 256] # 1-byte Folded Reload - shl r13b, 3 - or r13b, r14b +.LBB10_186: # =>This Inner Loop Header: Depth=1 + movss xmm0, dword ptr [rdx] # xmm0 = mem[0],zero,zero,zero + movss xmm1, dword ptr [rdx + 4] # xmm1 = mem[0],zero,zero,zero + ucomiss xmm0, xmm11 + setae byte ptr [rsp + 288] # 1-byte Folded Spill + ucomiss xmm1, xmm11 + setae cl + movss xmm0, dword ptr [rdx + 8] # xmm0 = mem[0],zero,zero,zero + ucomiss xmm0, xmm11 + setae sil + movss xmm0, dword ptr [rdx + 12] # xmm0 = mem[0],zero,zero,zero + ucomiss xmm0, xmm11 + setae dil + movss xmm0, dword ptr [rdx + 16] # xmm0 = mem[0],zero,zero,zero + ucomiss xmm0, xmm11 + setae r8b + movss xmm0, dword ptr [rdx + 20] # xmm0 = mem[0],zero,zero,zero + ucomiss xmm0, xmm11 + setae byte ptr [rsp + 272] # 1-byte Folded Spill + movss xmm0, dword ptr [rdx + 24] # xmm0 = mem[0],zero,zero,zero + ucomiss xmm0, xmm11 + setae byte ptr [rsp + 304] # 1-byte Folded Spill + movss xmm0, dword ptr [rdx + 28] # xmm0 = mem[0],zero,zero,zero + ucomiss xmm0, xmm11 + setae byte ptr [rsp + 336] # 1-byte Folded Spill + movss xmm0, dword ptr [rdx + 32] # xmm0 = mem[0],zero,zero,zero + ucomiss xmm0, xmm11 + setae byte ptr [rsp + 192] # 1-byte Folded Spill + movss xmm0, dword ptr [rdx + 36] # xmm0 = mem[0],zero,zero,zero + ucomiss xmm0, xmm11 + setae r9b + movss xmm0, dword ptr [rdx + 40] # xmm0 = mem[0],zero,zero,zero + ucomiss xmm0, xmm11 + setae r11b + movss xmm0, dword ptr [rdx + 44] # xmm0 = mem[0],zero,zero,zero + ucomiss xmm0, xmm11 + setae r15b + movss xmm0, dword ptr [rdx + 48] # xmm0 = mem[0],zero,zero,zero + ucomiss xmm0, xmm11 + setae al + movss xmm0, dword ptr [rdx + 52] # xmm0 = mem[0],zero,zero,zero + ucomiss xmm0, xmm11 + setae byte ptr [rsp + 208] # 1-byte Folded Spill + movss xmm0, dword ptr [rdx + 56] # xmm0 = mem[0],zero,zero,zero + ucomiss xmm0, xmm11 + setae byte ptr [rsp + 176] # 1-byte Folded Spill + movss xmm0, dword ptr [rdx + 60] # xmm0 = mem[0],zero,zero,zero + ucomiss xmm0, xmm11 + setae byte ptr [rsp + 224] # 1-byte Folded Spill + movss xmm0, dword ptr [rdx + 64] # xmm0 = mem[0],zero,zero,zero + movss xmm1, dword ptr [rdx + 68] # xmm1 = mem[0],zero,zero,zero + ucomiss xmm0, xmm11 + movss xmm0, dword ptr [rdx + 72] # xmm0 = mem[0],zero,zero,zero + setae byte ptr [rsp + 144] # 1-byte Folded Spill + ucomiss xmm1, xmm11 + movss xmm1, dword ptr [rdx + 76] # xmm1 = mem[0],zero,zero,zero + setae r10b + ucomiss xmm0, xmm11 + movss xmm0, dword ptr [rdx + 80] # xmm0 = mem[0],zero,zero,zero + setae r14b + ucomiss xmm1, xmm11 + movss xmm1, dword ptr [rdx + 84] # xmm1 = mem[0],zero,zero,zero + setae r12b + ucomiss xmm0, xmm11 + movss xmm0, dword ptr [rdx + 88] # xmm0 = mem[0],zero,zero,zero + setae byte ptr [rsp + 256] # 1-byte Folded Spill + ucomiss xmm1, xmm11 + movss xmm1, dword ptr [rdx + 92] # xmm1 = mem[0],zero,zero,zero + setae byte ptr [rsp + 160] # 1-byte Folded Spill + ucomiss xmm0, xmm11 + movss xmm0, dword ptr [rdx + 96] # xmm0 = mem[0],zero,zero,zero + setae byte ptr [rsp + 112] # 1-byte Folded Spill + ucomiss xmm1, xmm11 + movss xmm1, dword ptr [rdx + 100] # xmm1 = mem[0],zero,zero,zero + setae r13b + ucomiss xmm0, xmm11 + movss xmm0, dword ptr [rdx + 104] # xmm0 = mem[0],zero,zero,zero + setae byte ptr [rsp + 16] # 1-byte Folded Spill + ucomiss xmm1, xmm11 + movss xmm1, dword ptr [rdx + 108] # xmm1 = mem[0],zero,zero,zero + setae byte ptr [rsp + 128] # 1-byte Folded Spill + ucomiss xmm0, xmm11 + movss xmm0, dword ptr [rdx + 112] # xmm0 = mem[0],zero,zero,zero + setae byte ptr [rsp + 96] # 1-byte Folded Spill + ucomiss xmm1, xmm11 + movss xmm1, dword ptr [rdx + 116] # xmm1 = mem[0],zero,zero,zero + setae byte ptr [rsp + 80] # 1-byte Folded Spill + ucomiss xmm0, xmm11 + movss xmm0, dword ptr [rdx + 120] # xmm0 = mem[0],zero,zero,zero + setae byte ptr [rsp + 48] # 1-byte Folded Spill + ucomiss xmm1, xmm11 + movss xmm1, dword ptr [rdx + 124] # xmm1 = mem[0],zero,zero,zero + setae byte ptr [rsp + 32] # 1-byte Folded Spill + ucomiss xmm0, xmm11 + setae byte ptr [rsp + 352] # 1-byte Folded Spill + sub rdx, -128 + ucomiss xmm1, xmm11 + setae bl + add cl, cl + add cl, byte ptr [rsp + 288] # 1-byte Folded Reload shl sil, 2 - or sil, dl - movzx edx, byte ptr [rsp + 224] # 1-byte Folded Reload - shl dl, 4 - or dl, r13b - mov r8d, edx + or sil, cl shl dil, 3 or dil, sil - movzx edx, byte ptr [rsp + 208] # 1-byte Folded Reload - shl dl, 5 - or dl, r8b - shl r10b, 4 - or r10b, dil - shl r12b, 5 - or r12b, r10b - movzx esi, byte ptr [rsp + 272] # 1-byte Folded Reload - shl sil, 6 - shl r9b, 7 - or r9b, sil - or r11b, dl - or r9b, r12b - movzx eax, byte ptr [rsp + 304] # 1-byte Folded Reload - add al, al - add al, byte ptr [rsp + 176] # 1-byte Folded Reload - movzx edx, byte ptr [rsp + 288] # 1-byte Folded Reload - shl dl, 2 - or dl, al - mov esi, edx - movzx edx, byte ptr [rsp + 240] # 1-byte Folded Reload - shl dl, 3 - or dl, sil - mov esi, edx - movzx edx, byte ptr [rsp + 192] # 1-byte Folded Reload - shl dl, 4 - or dl, sil - mov esi, edx - movzx edx, byte ptr [rsp + 144] # 1-byte Folded Reload - shl dl, 5 - or dl, sil - mov rsi, qword ptr [rsp + 8] # 8-byte Reload - mov byte ptr [rsi], r11b - movzx edi, byte ptr [rsp + 128] # 1-byte Folded Reload + shl r8b, 4 + or r8b, dil + movzx ecx, byte ptr [rsp + 272] # 1-byte Folded Reload + shl cl, 5 + or cl, r8b + movzx edi, byte ptr [rsp + 304] # 1-byte Folded Reload shl dil, 6 - shl r15b, 7 - or r15b, dil - mov byte ptr [rsi + 1], r9b - or r15b, dl - movzx eax, byte ptr [rsp + 112] # 1-byte Folded Reload + movzx esi, byte ptr [rsp + 336] # 1-byte Folded Reload + shl sil, 7 + or sil, dil + add r9b, r9b + add r9b, byte ptr [rsp + 192] # 1-byte Folded Reload + shl r11b, 2 + or r11b, r9b + shl r15b, 3 + or r15b, r11b + shl al, 4 + or al, r15b + or sil, cl + movzx ecx, byte ptr [rsp + 208] # 1-byte Folded Reload + shl cl, 5 + or cl, al + movzx eax, byte ptr [rsp + 176] # 1-byte Folded Reload + shl al, 6 + movzx edi, byte ptr [rsp + 224] # 1-byte Folded Reload + shl dil, 7 + or dil, al + add r10b, r10b + add r10b, byte ptr [rsp + 144] # 1-byte Folded Reload + shl r14b, 2 + or r14b, r10b + shl r12b, 3 + or r12b, r14b + movzx eax, byte ptr [rsp + 256] # 1-byte Folded Reload + shl al, 4 + or al, r12b + mov r8d, eax + movzx eax, byte ptr [rsp + 160] # 1-byte Folded Reload + shl al, 5 + or al, r8b + or dil, cl + movzx ecx, byte ptr [rsp + 112] # 1-byte Folded Reload + shl cl, 6 + shl r13b, 7 + or r13b, cl + mov r8, qword ptr [rsp + 8] # 8-byte Reload + mov byte ptr [r8], sil + or r13b, al + movzx eax, byte ptr [rsp + 128] # 1-byte Folded Reload add al, al - add al, byte ptr [rsp + 48] # 1-byte Folded Reload - mov edx, eax + add al, byte ptr [rsp + 16] # 1-byte Folded Reload + mov ecx, eax movzx eax, byte ptr [rsp + 96] # 1-byte Folded Reload shl al, 2 - or al, dl - mov edx, eax + or al, cl + mov ecx, eax movzx eax, byte ptr [rsp + 80] # 1-byte Folded Reload shl al, 3 - or al, dl - mov edx, eax - movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload + or al, cl + mov ecx, eax + movzx eax, byte ptr [rsp + 48] # 1-byte Folded Reload shl al, 4 - or al, dl - mov edx, eax - movzx eax, byte ptr [rsp + 16] # 1-byte Folded Reload + or al, cl + mov ecx, eax + movzx eax, byte ptr [rsp + 32] # 1-byte Folded Reload shl al, 5 - or al, dl - movzx edx, byte ptr [rsp + 352] # 1-byte Folded Reload - shl dl, 6 - shl cl, 7 - or cl, dl - or cl, al - mov byte ptr [rsi + 2], r15b - mov byte ptr [rsi + 3], cl - add rbx, 128 - add rsi, 4 - mov qword ptr [rsp + 8], rsi # 8-byte Spill - add qword ptr [rsp + 160], -1 # 8-byte Folded Spill - jne .LBB10_125 -# %bb.126: + or al, cl + mov byte ptr [r8 + 1], dil + movzx ecx, byte ptr [rsp + 352] # 1-byte Folded Reload + shl cl, 6 + shl bl, 7 + or bl, cl + mov byte ptr [r8 + 2], r13b + or bl, al + mov byte ptr [r8 + 3], bl + add r8, 4 + mov qword ptr [rsp + 8], r8 # 8-byte Spill + add qword ptr [rsp + 240], -1 # 8-byte Folded Spill + jne .LBB10_186 +# %bb.187: mov r15, qword ptr [rsp + 8] # 8-byte Reload mov r10, qword ptr [rsp + 72] # 8-byte Reload mov r11, qword ptr [rsp + 320] # 8-byte Reload - jmp .LBB10_140 -.LBB10_127: - mov qword ptr [rsp + 112], r14 # 8-byte Spill -.LBB10_128: + jmp .LBB10_188 +.LBB10_9: + mov qword ptr [rsp + 144], r14 # 8-byte Spill +.LBB10_91: shl r15, 5 cmp r15, r10 - jge .LBB10_182 -# %bb.129: + jge .LBB10_201 +# %bb.92: mov r8, r10 sub r8, r15 not r15 add r15, r10 - jne .LBB10_151 -# %bb.130: + jne .LBB10_94 +# %bb.93: xor r9d, r9d - jmp .LBB10_154 -.LBB10_131: - mov qword ptr [rsp + 208], r14 # 8-byte Spill -.LBB10_132: + jmp .LBB10_97 +.LBB10_61: + mov qword ptr [rsp + 224], r14 # 8-byte Spill +.LBB10_72: shl r15, 5 cmp r15, r10 - jge .LBB10_182 -# %bb.133: + jge .LBB10_201 +# %bb.73: mov r8, r10 sub r8, r15 not r15 add r15, r10 - jne .LBB10_156 -# %bb.134: + jne .LBB10_75 +# %bb.74: xor r9d, r9d - jmp .LBB10_159 -.LBB10_135: + jmp .LBB10_78 +.LBB10_119: mov r12, r14 mov r11, rsi -.LBB10_136: +.LBB10_130: shl r15, 5 cmp r15, r10 - jge .LBB10_182 -# %bb.137: + jge .LBB10_201 +# %bb.131: mov r8, r10 sub r8, r15 not r15 add r15, r10 - jne .LBB10_183 -# %bb.138: + jne .LBB10_135 +# %bb.132: xor esi, esi - jmp .LBB10_185 -.LBB10_139: + jmp .LBB10_133 +.LBB10_177: mov r15, r14 - mov rbx, rsi -.LBB10_140: + mov rdx, rsi +.LBB10_188: shl r11, 5 cmp r11, r10 - jge .LBB10_182 -# %bb.141: + jge .LBB10_201 +# %bb.189: + mov rax, rdx mov r8, r10 sub r8, r11 not r11 add r11, r10 - jne .LBB10_187 -# %bb.142: + jne .LBB10_193 +# %bb.190: xor esi, esi - jmp .LBB10_189 -.LBB10_143: + jmp .LBB10_191 +.LBB10_155: mov r9, r8 and r9, -2 xor r11d, r11d .p2align 4, 0x90 -.LBB10_144: # =>This Inner Loop Header: Depth=1 +.LBB10_156: # =>This Inner Loop Header: Depth=1 cmp qword ptr [rsi], r13 mov edi, 0 adc dil, -1 @@ -50644,20 +52120,20 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar xor bl, al mov byte ptr [r14 + rdx], bl cmp r9, r11 - jne .LBB10_144 -.LBB10_145: + jne .LBB10_156 +.LBB10_40: test r8b, 1 - je .LBB10_182 -# %bb.146: + je .LBB10_201 +# %bb.41: xor eax, eax cmp qword ptr [rsi], r13 - jmp .LBB10_174 -.LBB10_147: + jmp .LBB10_199 +.LBB10_153: mov r10, r8 and r10, -2 xor r11d, r11d .p2align 4, 0x90 -.LBB10_148: # =>This Inner Loop Header: Depth=1 +.LBB10_154: # =>This Inner Loop Header: Depth=1 cmp dword ptr [rsi], r13d setge al neg al @@ -50685,20 +52161,20 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar xor dl, bl mov byte ptr [r14 + rdi], dl cmp r10, r11 - jne .LBB10_148 -.LBB10_149: + jne .LBB10_154 +.LBB10_150: test r8b, 1 - je .LBB10_182 -# %bb.150: + je .LBB10_201 +# %bb.151: cmp dword ptr [rsi], r13d - jmp .LBB10_179 -.LBB10_151: + jmp .LBB10_152 +.LBB10_94: mov r10, r8 and r10, -2 xor r9d, r9d - mov r14, qword ptr [rsp + 112] # 8-byte Reload + mov r14, qword ptr [rsp + 144] # 8-byte Reload .p2align 4, 0x90 -.LBB10_152: # =>This Inner Loop Header: Depth=1 +.LBB10_95: # =>This Inner Loop Header: Depth=1 mov rax, r9 cmp byte ptr [rsi + r9], r11b setge bl @@ -50726,19 +52202,19 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar xor al, dl mov byte ptr [r14 + rdi], al cmp r10, r9 - jne .LBB10_152 -# %bb.153: + jne .LBB10_95 +# %bb.96: add rsi, r9 -.LBB10_154: +.LBB10_97: test r8b, 1 - je .LBB10_182 -# %bb.155: + je .LBB10_201 +# %bb.98: cmp byte ptr [rsi], r11b setge al neg al mov rdx, r9 shr rdx, 3 - mov r8, qword ptr [rsp + 112] # 8-byte Reload + mov r8, qword ptr [rsp + 144] # 8-byte Reload mov dil, byte ptr [r8 + rdx] and r9b, 7 mov bl, 1 @@ -50746,14 +52222,14 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar shl bl, cl xor al, dil and bl, al - jmp .LBB10_161 -.LBB10_156: + jmp .LBB10_80 +.LBB10_75: mov r10, r8 and r10, -2 xor r9d, r9d - mov r14, qword ptr [rsp + 208] # 8-byte Reload + mov r14, qword ptr [rsp + 224] # 8-byte Reload .p2align 4, 0x90 -.LBB10_157: # =>This Inner Loop Header: Depth=1 +.LBB10_76: # =>This Inner Loop Header: Depth=1 mov rax, r9 cmp byte ptr [rsi + r9], r11b mov ebx, 0 @@ -50781,19 +52257,19 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar xor al, dl mov byte ptr [r14 + rdi], al cmp r10, r9 - jne .LBB10_157 -# %bb.158: + jne .LBB10_76 +# %bb.77: add rsi, r9 -.LBB10_159: +.LBB10_78: test r8b, 1 - je .LBB10_182 -# %bb.160: + je .LBB10_201 +# %bb.79: xor eax, eax cmp byte ptr [rsi], r11b adc al, -1 mov rdx, r9 shr rdx, 3 - mov r8, qword ptr [rsp + 208] # 8-byte Reload + mov r8, qword ptr [rsp + 224] # 8-byte Reload mov dil, byte ptr [r8 + rdx] and r9b, 7 mov bl, 1 @@ -50801,16 +52277,16 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar shl bl, cl xor al, dil and bl, al -.LBB10_161: +.LBB10_80: xor bl, dil mov byte ptr [r8 + rdx], bl - jmp .LBB10_182 -.LBB10_162: + jmp .LBB10_201 +.LBB10_137: mov r9, r8 and r9, -2 xor r11d, r11d .p2align 4, 0x90 -.LBB10_163: # =>This Inner Loop Header: Depth=1 +.LBB10_138: # =>This Inner Loop Header: Depth=1 cmp dword ptr [rsi], r13d mov edi, 0 adc dil, -1 @@ -50838,39 +52314,41 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar xor bl, al mov byte ptr [r14 + rdx], bl cmp r9, r11 - jne .LBB10_163 -.LBB10_164: + jne .LBB10_138 +.LBB10_24: test r8b, 1 - je .LBB10_182 -# %bb.165: + je .LBB10_201 +# %bb.25: xor eax, eax cmp dword ptr [rsi], r13d - jmp .LBB10_174 -.LBB10_166: + jmp .LBB10_199 +.LBB10_195: mov r10, r8 and r10, -2 xor r11d, r11d .p2align 4, 0x90 -.LBB10_167: # =>This Inner Loop Header: Depth=1 - ucomisd xmm0, qword ptr [rsi] - setbe al - neg al +.LBB10_196: # =>This Inner Loop Header: Depth=1 + movsd xmm1, qword ptr [rsi] # xmm1 = mem[0],zero + ucomisd xmm1, xmm0 + mov eax, 0 + adc al, -1 mov rdi, r11 shr rdi, 3 movzx r9d, byte ptr [r14 + rdi] + xor al, r9b mov ecx, r11d and cl, 6 mov bl, 1 shl bl, cl - xor al, r9b and bl, al xor bl, r9b mov byte ptr [r14 + rdi], bl add r11, 2 - ucomisd xmm0, qword ptr [rsi + 8] - setbe al + movsd xmm1, qword ptr [rsi + 8] # xmm1 = mem[0],zero add rsi, 16 - neg al + ucomisd xmm1, xmm0 + mov eax, 0 + adc al, -1 xor al, bl or cl, 1 mov dl, 1 @@ -50879,20 +52357,21 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar xor dl, bl mov byte ptr [r14 + rdi], dl cmp r10, r11 - jne .LBB10_167 -.LBB10_168: + jne .LBB10_196 +.LBB10_197: test r8b, 1 - je .LBB10_182 -# %bb.169: - ucomisd xmm0, qword ptr [rsi] - setbe al - jmp .LBB10_180 -.LBB10_170: + je .LBB10_201 +# %bb.198: + movsd xmm1, qword ptr [rsi] # xmm1 = mem[0],zero + xor eax, eax + ucomisd xmm1, xmm0 + jmp .LBB10_199 +.LBB10_112: mov r9, r8 and r9, -2 xor r11d, r11d .p2align 4, 0x90 -.LBB10_171: # =>This Inner Loop Header: Depth=1 +.LBB10_113: # =>This Inner Loop Header: Depth=1 cmp word ptr [rsi], r13w mov edi, 0 adc dil, -1 @@ -50920,14 +52399,14 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar xor bl, al mov byte ptr [r14 + rdx], bl cmp r9, r11 - jne .LBB10_171 -.LBB10_172: + jne .LBB10_113 +.LBB10_110: test r8b, 1 - je .LBB10_182 -# %bb.173: + je .LBB10_201 +# %bb.111: xor eax, eax cmp word ptr [rsi], r13w -.LBB10_174: +.LBB10_199: adc al, -1 mov rdx, r11 shr rdx, 3 @@ -50938,13 +52417,13 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar shl bl, cl xor al, sil and bl, al - jmp .LBB10_181 -.LBB10_175: + jmp .LBB10_200 +.LBB10_170: mov r10, r8 and r10, -2 xor r11d, r11d .p2align 4, 0x90 -.LBB10_176: # =>This Inner Loop Header: Depth=1 +.LBB10_171: # =>This Inner Loop Header: Depth=1 cmp qword ptr [rsi], r13 setge al neg al @@ -50972,15 +52451,14 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar xor dl, bl mov byte ptr [r14 + rdi], dl cmp r10, r11 - jne .LBB10_176 -.LBB10_177: + jne .LBB10_171 +.LBB10_168: test r8b, 1 - je .LBB10_182 -# %bb.178: + je .LBB10_201 +# %bb.169: cmp qword ptr [rsi], r13 -.LBB10_179: +.LBB10_152: setge al -.LBB10_180: neg al mov rdx, r11 shr rdx, 3 @@ -50991,10 +52469,10 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar shl bl, cl xor al, sil and bl, al -.LBB10_181: +.LBB10_200: xor bl, sil mov byte ptr [r14 + rdx], bl -.LBB10_182: +.LBB10_201: lea rsp, [rbp - 40] pop rbx pop r12 @@ -51003,13 +52481,13 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar pop r15 pop rbp ret -.LBB10_183: +.LBB10_135: mov r10, r8 and r10, -2 xor esi, esi mov r14d, dword ptr [rsp + 392] # 4-byte Reload .p2align 4, 0x90 -.LBB10_184: # =>This Inner Loop Header: Depth=1 +.LBB10_136: # =>This Inner Loop Header: Depth=1 cmp word ptr [r11], r14w setge bl neg bl @@ -51037,11 +52515,11 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar xor al, dl mov byte ptr [r12 + rdi], al cmp r10, rsi - jne .LBB10_184 -.LBB10_185: + jne .LBB10_136 +.LBB10_133: test r8b, 1 - je .LBB10_182 -# %bb.186: + je .LBB10_201 +# %bb.134: mov eax, dword ptr [rsp + 392] # 4-byte Reload cmp word ptr [r11], ax setge al @@ -51057,52 +52535,56 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar and bl, al xor bl, dil mov byte ptr [r12 + rdx], bl - jmp .LBB10_182 -.LBB10_187: + jmp .LBB10_201 +.LBB10_193: mov r10, r8 and r10, -2 xor esi, esi mov r11, r15 .p2align 4, 0x90 -.LBB10_188: # =>This Inner Loop Header: Depth=1 - ucomiss xmm11, dword ptr [rbx] - setbe dl - neg dl +.LBB10_194: # =>This Inner Loop Header: Depth=1 + movss xmm0, dword ptr [rax] # xmm0 = mem[0],zero,zero,zero + ucomiss xmm0, xmm11 + mov ebx, 0 + adc bl, -1 mov rdi, rsi shr rdi, 3 movzx r9d, byte ptr [r11 + rdi] + xor bl, r9b mov ecx, esi and cl, 6 - mov al, 1 - shl al, cl - xor dl, r9b - and al, dl - xor al, r9b - mov byte ptr [r11 + rdi], al - add rsi, 2 - ucomiss xmm11, dword ptr [rbx + 4] - setbe r9b - add rbx, 8 - neg r9b - xor r9b, al - or cl, 1 mov dl, 1 shl dl, cl - and dl, r9b - xor dl, al + and dl, bl + xor dl, r9b mov byte ptr [r11 + rdi], dl + add rsi, 2 + movss xmm0, dword ptr [rax + 4] # xmm0 = mem[0],zero,zero,zero + add rax, 8 + ucomiss xmm0, xmm11 + mov ebx, 0 + adc bl, -1 + xor bl, dl + or cl, 1 + mov r9, rax + mov al, 1 + shl al, cl + and al, bl + xor al, dl + mov byte ptr [r11 + rdi], al + mov rax, r9 cmp r10, rsi - jne .LBB10_188 -.LBB10_189: + jne .LBB10_194 +.LBB10_191: test r8b, 1 - je .LBB10_182 -# %bb.190: - ucomiss xmm11, dword ptr [rbx] - setbe al - neg al + je .LBB10_201 +# %bb.192: + movss xmm0, dword ptr [rax] # xmm0 = mem[0],zero,zero,zero + xor eax, eax + ucomiss xmm0, xmm11 + adc al, -1 mov rdx, rsi shr rdx, 3 - mov r14, r15 mov dil, byte ptr [r15 + rdx] and sil, 7 mov bl, 1 @@ -51112,16 +52594,16 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar and bl, al xor bl, dil mov byte ptr [r15 + rdx], bl - jmp .LBB10_182 -.LBB10_191: + jmp .LBB10_201 +.LBB10_85: and r15, -16 mov rax, r15 shl rax, 5 add rax, rsi mov qword ptr [rsp + 368], rax # 8-byte Spill - mov qword ptr [rsp + 160], r15 # 8-byte Spill + mov qword ptr [rsp + 240], r15 # 8-byte Spill lea rax, [r14 + 4*r15] - mov qword ptr [rsp + 112], rax # 8-byte Spill + mov qword ptr [rsp + 144], rax # 8-byte Spill movzx eax, r11b movd xmm1, eax pxor xmm0, xmm0 @@ -51130,8 +52612,8 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar xor r8d, r8d mov qword ptr [rsp + 352], r14 # 8-byte Spill .p2align 4, 0x90 -.LBB10_192: # =>This Inner Loop Header: Depth=1 - mov qword ptr [rsp + 288], r8 # 8-byte Spill +.LBB10_86: # =>This Inner Loop Header: Depth=1 + mov qword ptr [rsp + 256], r8 # 8-byte Spill shl r8, 5 mov r9, r8 mov rdi, r8 @@ -51156,12 +52638,12 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar movd xmm6, ecx movzx ecx, byte ptr [rsi + r8 + 5] movd xmm0, ecx - movdqa xmmword ptr [rsp + 144], xmm0 # 16-byte Spill + movdqa xmmword ptr [rsp + 112], xmm0 # 16-byte Spill movzx ecx, byte ptr [rsi + r8 + 6] movd xmm7, ecx movzx ecx, byte ptr [rsi + r8 + 7] movd xmm0, ecx - movdqa xmmword ptr [rsp + 272], xmm0 # 16-byte Spill + movdqa xmmword ptr [rsp + 304], xmm0 # 16-byte Spill movzx ecx, byte ptr [rsi + r8 + 8] movd xmm13, ecx movzx ecx, byte ptr [rsi + r8 + 9] @@ -51174,7 +52656,7 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar movd xmm12, ecx movzx ecx, byte ptr [rsi + r8 + 16] movd xmm14, ecx - mov qword ptr [rsp + 208], r8 # 8-byte Spill + mov qword ptr [rsp + 192], r8 # 8-byte Spill movzx ecx, byte ptr [rsi + r8 + 24] movd xmm5, ecx mov rcx, r8 @@ -51197,7 +52679,7 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar or rdx, 352 mov qword ptr [rsp + 48], rdx # 8-byte Spill or r14, 384 - mov qword ptr [rsp + 192], r14 # 8-byte Spill + mov qword ptr [rsp + 176], r14 # 8-byte Spill or rdi, 416 mov qword ptr [rsp + 96], rdi # 8-byte Spill mov rdi, r8 @@ -51222,7 +52704,7 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar pinsrb xmm9, byte ptr [rsi + r13], 13 mov rcx, qword ptr [rsp + 16] # 8-byte Reload pinsrb xmm9, byte ptr [rsi + rcx], 14 - mov qword ptr [rsp + 224], rdi # 8-byte Spill + mov qword ptr [rsp + 208], rdi # 8-byte Spill pinsrb xmm9, byte ptr [rsi + rdi], 15 movdqa xmm15, xmmword ptr [rsp + 320] # 16-byte Reload movdqa xmm11, xmm15 @@ -51301,7 +52783,7 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar mov rcx, qword ptr [rsp + 16] # 8-byte Reload pinsrb xmm6, byte ptr [rsi + rcx + 4], 14 pinsrb xmm6, byte ptr [rsi + rdi + 4], 15 - movdqa xmm3, xmmword ptr [rsp + 144] # 16-byte Reload + movdqa xmm3, xmmword ptr [rsp + 112] # 16-byte Reload mov rcx, qword ptr [rsp + 80] # 8-byte Reload pinsrb xmm3, byte ptr [rsi + rcx + 5], 1 pinsrb xmm3, byte ptr [rsi + r13 + 5], 2 @@ -51320,7 +52802,7 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar mov rcx, qword ptr [rsp + 16] # 8-byte Reload pinsrb xmm3, byte ptr [rsi + rcx + 5], 14 pinsrb xmm3, byte ptr [rsi + rdi + 5], 15 - movdqa xmmword ptr [rsp + 144], xmm3 # 16-byte Spill + movdqa xmmword ptr [rsp + 112], xmm3 # 16-byte Spill mov rdi, qword ptr [rsp + 80] # 8-byte Reload pinsrb xmm7, byte ptr [rsi + rdi + 6], 1 mov rcx, r13 @@ -51353,7 +52835,7 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar mov rcx, qword ptr [rsp + 16] # 8-byte Reload pinsrb xmm13, byte ptr [rsi + rcx + 8], 14 pcmpgtb xmm11, xmm9 - mov rdi, qword ptr [rsp + 224] # 8-byte Reload + mov rdi, qword ptr [rsp + 208] # 8-byte Reload pinsrb xmm13, byte ptr [rsi + rdi + 8], 15 movdqa xmm9, xmm15 pcmpgtb xmm9, xmm13 @@ -51362,11 +52844,11 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar pinsrb xmm14, byte ptr [rsi + rcx + 16], 2 pinsrb xmm14, byte ptr [rsi + r9 + 16], 3 mov r14, r9 - mov qword ptr [rsp + 176], r9 # 8-byte Spill + mov qword ptr [rsp + 160], r9 # 8-byte Spill mov rcx, qword ptr [rsp + 128] # 8-byte Reload pinsrb xmm14, byte ptr [rsi + rcx + 16], 4 pinsrb xmm14, byte ptr [rsi + r12 + 16], 5 - mov qword ptr [rsp + 240], r12 # 8-byte Spill + mov qword ptr [rsp + 224], r12 # 8-byte Spill pinsrb xmm14, byte ptr [rsi + r15 + 16], 6 pinsrb xmm14, byte ptr [rsi + rbx + 16], 7 pinsrb xmm14, byte ptr [rsi + r11 + 16], 8 @@ -51374,7 +52856,7 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar pinsrb xmm14, byte ptr [rsi + rax + 16], 10 mov r9, rax pinsrb xmm14, byte ptr [rsi + rdx + 16], 11 - mov rdx, qword ptr [rsp + 192] # 8-byte Reload + mov rdx, qword ptr [rsp + 176] # 8-byte Reload pinsrb xmm14, byte ptr [rsi + rdx + 16], 12 pinsrb xmm14, byte ptr [rsi + r8 + 16], 13 mov r13, qword ptr [rsp + 16] # 8-byte Reload @@ -51401,13 +52883,13 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar pinsrb xmm5, byte ptr [rsi + r13 + 24], 14 pinsrb xmm5, byte ptr [rsi + rdi + 24], 15 pcmpgtb xmm3, xmm14 - movdqa xmmword ptr [rsp + 304], xmm3 # 16-byte Spill + movdqa xmmword ptr [rsp + 336], xmm3 # 16-byte Spill movdqa xmm3, xmm15 pcmpgtb xmm3, xmm5 - movdqa xmmword ptr [rsp + 256], xmm3 # 16-byte Spill + movdqa xmmword ptr [rsp + 288], xmm3 # 16-byte Spill movdqa xmm5, xmm15 pcmpgtb xmm5, xmm2 - mov rcx, qword ptr [rsp + 208] # 8-byte Reload + mov rcx, qword ptr [rsp + 192] # 8-byte Reload movzx edx, byte ptr [rsi + rcx + 13] movd xmm2, edx pinsrb xmm7, byte ptr [rsi + r8 + 6], 13 @@ -51440,7 +52922,7 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar psubb xmm5, xmm0 por xmm14, xmm5 movdqa xmm5, xmm15 - pcmpgtb xmm5, xmmword ptr [rsp + 144] # 16-byte Folded Reload + pcmpgtb xmm5, xmmword ptr [rsp + 112] # 16-byte Folded Reload movdqa xmm13, xmm15 movdqa xmm11, xmm15 pcmpgtb xmm13, xmm7 @@ -51453,16 +52935,16 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar por xmm13, xmm5 movzx edx, byte ptr [rsi + rcx + 19] movd xmm15, edx - movdqa xmm0, xmmword ptr [rsp + 272] # 16-byte Reload + movdqa xmm0, xmmword ptr [rsp + 304] # 16-byte Reload mov rdi, qword ptr [rsp + 80] # 8-byte Reload pinsrb xmm0, byte ptr [rsi + rdi + 7], 1 mov rax, qword ptr [rsp + 32] # 8-byte Reload pinsrb xmm0, byte ptr [rsi + rax + 7], 2 - mov rcx, qword ptr [rsp + 176] # 8-byte Reload + mov rcx, qword ptr [rsp + 160] # 8-byte Reload pinsrb xmm0, byte ptr [rsi + rcx + 7], 3 mov rax, qword ptr [rsp + 128] # 8-byte Reload pinsrb xmm0, byte ptr [rsi + rax + 7], 4 - mov r15, qword ptr [rsp + 240] # 8-byte Reload + mov r15, qword ptr [rsp + 224] # 8-byte Reload pinsrb xmm0, byte ptr [rsi + r15 + 7], 5 pinsrb xmm0, byte ptr [rsi + r14 + 7], 6 pinsrb xmm0, byte ptr [rsi + rbx + 7], 7 @@ -51471,11 +52953,11 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar pinsrb xmm0, byte ptr [rsi + r9 + 7], 10 mov rdx, qword ptr [rsp + 48] # 8-byte Reload pinsrb xmm0, byte ptr [rsi + rdx + 7], 11 - mov rdx, qword ptr [rsp + 192] # 8-byte Reload + mov rdx, qword ptr [rsp + 176] # 8-byte Reload pinsrb xmm0, byte ptr [rsi + rdx + 7], 12 pinsrb xmm0, byte ptr [rsi + r8 + 7], 13 pinsrb xmm0, byte ptr [rsi + r13 + 7], 14 - mov r12, qword ptr [rsp + 224] # 8-byte Reload + mov r12, qword ptr [rsp + 208] # 8-byte Reload pinsrb xmm0, byte ptr [rsi + r12 + 7], 15 pinsrb xmm8, byte ptr [rsi + rdi + 9], 1 mov r13, qword ptr [rsp + 32] # 8-byte Reload @@ -51633,7 +53115,7 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar pinsrb xmm7, byte ptr [rsi + r11 + 18], 8 pinsrb xmm7, byte ptr [rsi + r10 + 18], 9 pinsrb xmm7, byte ptr [rsi + r9 + 18], 10 - mov qword ptr [rsp + 336], r9 # 8-byte Spill + mov qword ptr [rsp + 272], r9 # 8-byte Spill mov rdi, qword ptr [rsp + 48] # 8-byte Reload pinsrb xmm7, byte ptr [rsi + rdi + 18], 11 pinsrb xmm7, byte ptr [rsi + rdx + 18], 12 @@ -51647,7 +53129,7 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar pinsrb xmm15, byte ptr [rsi + r13 + 19], 2 pinsrb xmm15, byte ptr [rsi + rcx + 19], 3 pinsrb xmm15, byte ptr [rsi + rax + 19], 4 - mov rcx, qword ptr [rsp + 240] # 8-byte Reload + mov rcx, qword ptr [rsp + 224] # 8-byte Reload pinsrb xmm15, byte ptr [rsi + rcx + 19], 5 pinsrb xmm15, byte ptr [rsi + r14 + 19], 6 pinsrb xmm15, byte ptr [rsi + rbx + 19], 7 @@ -51660,11 +53142,11 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar movdqa xmm0, xmmword ptr [rip + .LCPI10_6] # xmm0 = [128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128] pandn xmm5, xmm0 por xmm5, xmm13 - mov rax, qword ptr [rsp + 208] # 8-byte Reload + mov rax, qword ptr [rsp + 192] # 8-byte Reload movzx edx, byte ptr [rsi + rax + 20] movd xmm0, edx por xmm5, xmm14 - movdqa xmmword ptr [rsp + 144], xmm5 # 16-byte Spill + movdqa xmmword ptr [rsp + 112], xmm5 # 16-byte Spill movdqa xmm13, xmm11 pcmpgtb xmm13, xmm8 movzx edx, byte ptr [rsi + rax + 21] @@ -51718,7 +53200,7 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar movzx edx, byte ptr [rsi + rax + 29] movd xmm3, edx pandn xmm11, xmmword ptr [rip + .LCPI10_16] - paddb xmm11, xmmword ptr [rsp + 304] # 16-byte Folded Reload + paddb xmm11, xmmword ptr [rsp + 336] # 16-byte Folded Reload movdqa xmm1, xmm4 pcmpgtb xmm1, xmm7 movdqa xmm13, xmm4 @@ -51754,7 +53236,7 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar pinsrb xmm3, byte ptr [rsi + r13 + 29], 2 pinsrb xmm4, byte ptr [rsi + r13 + 30], 2 pinsrb xmm15, byte ptr [rsi + r13 + 31], 2 - mov rdx, qword ptr [rsp + 176] # 8-byte Reload + mov rdx, qword ptr [rsp + 160] # 8-byte Reload pinsrb xmm0, byte ptr [rsi + rdx + 20], 3 pinsrb xmm8, byte ptr [rsi + rdx + 21], 3 pinsrb xmm10, byte ptr [rsi + rdx + 22], 3 @@ -51800,7 +53282,6 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar pinsrb xmm3, byte ptr [rsi + r14 + 29], 6 pinsrb xmm4, byte ptr [rsi + r14 + 30], 6 pinsrb xmm15, byte ptr [rsi + r14 + 31], 6 - mov r14, qword ptr [rsp + 352] # 8-byte Reload pinsrb xmm0, byte ptr [rsi + rbx + 20], 7 pinsrb xmm8, byte ptr [rsi + rbx + 21], 7 pinsrb xmm10, byte ptr [rsi + rbx + 22], 7 @@ -51834,7 +53315,7 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar pinsrb xmm3, byte ptr [rsi + r10 + 29], 9 pinsrb xmm4, byte ptr [rsi + r10 + 30], 9 pinsrb xmm15, byte ptr [rsi + r10 + 31], 9 - mov r10, qword ptr [rsp + 336] # 8-byte Reload + mov r10, qword ptr [rsp + 272] # 8-byte Reload pinsrb xmm0, byte ptr [rsi + r10 + 20], 10 pinsrb xmm8, byte ptr [rsi + r10 + 21], 10 pinsrb xmm10, byte ptr [rsi + r10 + 22], 10 @@ -51926,7 +53407,7 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar movdqa xmm1, xmm8 pcmpgtb xmm1, xmm9 pandn xmm1, xmmword ptr [rip + .LCPI10_16] - paddb xmm1, xmmword ptr [rsp + 256] # 16-byte Folded Reload + paddb xmm1, xmmword ptr [rsp + 288] # 16-byte Folded Reload movdqa xmm5, xmm8 pcmpgtb xmm5, xmm12 movdqa xmm7, xmm8 @@ -51946,6 +53427,7 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar movdqa xmm3, xmm8 pcmpgtb xmm3, xmm4 pinsrb xmm15, byte ptr [rsi + r12 + 31], 15 + mov r14, qword ptr [rsp + 352] # 8-byte Reload pandn xmm1, xmm10 pandn xmm3, xmm11 por xmm3, xmm1 @@ -51956,7 +53438,7 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar por xmm1, xmm2 movdqa xmm2, xmm0 punpcklbw xmm2, xmm1 # xmm2 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3],xmm2[4],xmm1[4],xmm2[5],xmm1[5],xmm2[6],xmm1[6],xmm2[7],xmm1[7] - movdqa xmm5, xmmword ptr [rsp + 144] # 16-byte Reload + movdqa xmm5, xmmword ptr [rsp + 112] # 16-byte Reload movdqa xmm3, xmm5 punpcklbw xmm3, xmm14 # xmm3 = xmm3[0],xmm14[0],xmm3[1],xmm14[1],xmm3[2],xmm14[2],xmm3[3],xmm14[3],xmm3[4],xmm14[4],xmm3[5],xmm14[5],xmm3[6],xmm14[6],xmm3[7],xmm14[7] movdqa xmm4, xmm3 @@ -51967,24 +53449,24 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar movdqa xmm1, xmm5 punpcklwd xmm1, xmm0 # xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3] punpckhwd xmm5, xmm0 # xmm5 = xmm5[4],xmm0[4],xmm5[5],xmm0[5],xmm5[6],xmm0[6],xmm5[7],xmm0[7] - mov rcx, qword ptr [rsp + 288] # 8-byte Reload + mov rcx, qword ptr [rsp + 256] # 8-byte Reload movdqu xmmword ptr [r14 + 4*rcx + 48], xmm5 movdqu xmmword ptr [r14 + 4*rcx + 32], xmm1 movdqu xmmword ptr [r14 + 4*rcx + 16], xmm3 movdqu xmmword ptr [r14 + 4*rcx], xmm4 add rcx, 16 mov r8, rcx - cmp rcx, qword ptr [rsp + 160] # 8-byte Folded Reload - jne .LBB10_192 -# %bb.193: + cmp rcx, qword ptr [rsp + 240] # 8-byte Folded Reload + jne .LBB10_86 +# %bb.87: mov r15, qword ptr [rsp + 432] # 8-byte Reload - cmp r15, qword ptr [rsp + 160] # 8-byte Folded Reload + cmp r15, qword ptr [rsp + 240] # 8-byte Folded Reload mov r11b, byte ptr [rsp + 8] # 1-byte Reload mov rsi, qword ptr [rsp + 368] # 8-byte Reload mov r10, qword ptr [rsp + 72] # 8-byte Reload - jne .LBB10_42 - jmp .LBB10_128 -.LBB10_194: + jne .LBB10_88 + jmp .LBB10_91 +.LBB10_66: and r15, -16 mov rax, r15 shl rax, 5 @@ -51992,256 +53474,265 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar mov qword ptr [rsp + 392], rax # 8-byte Spill mov qword ptr [rsp + 416], r15 # 8-byte Spill lea rax, [r14 + 4*r15] - mov qword ptr [rsp + 208], rax # 8-byte Spill + mov qword ptr [rsp + 224], rax # 8-byte Spill movzx eax, r11b movd xmm1, eax pxor xmm0, xmm0 pshufb xmm1, xmm0 movdqa xmmword ptr [rsp + 400], xmm1 # 16-byte Spill - xor edx, edx + xor eax, eax mov qword ptr [rsp + 352], r14 # 8-byte Spill .p2align 4, 0x90 -.LBB10_195: # =>This Inner Loop Header: Depth=1 - mov qword ptr [rsp + 336], rdx # 8-byte Spill - shl rdx, 5 - mov rbx, rdx - mov r11, rdx - mov r12, rdx - mov qword ptr [rsp + 144], rdx # 8-byte Spill - mov r8, rdx - mov r13, rdx - mov r9, rdx - mov r10, rdx - mov r14, rdx - mov rdi, rdx - mov r15, rdx - movzx ecx, byte ptr [rsi + rdx] +.LBB10_67: # =>This Inner Loop Header: Depth=1 + mov r9, rax + mov qword ptr [rsp + 336], rax # 8-byte Spill + shl r9, 5 + mov rbx, r9 + mov rdi, r9 + mov rdx, r9 + mov qword ptr [rsp + 48], r9 # 8-byte Spill + mov r14, r9 + mov r8, r9 + mov r10, r9 + mov r12, r9 + mov r11, r9 + mov r13, r9 + mov qword ptr [rsp + 208], r9 # 8-byte Spill + movzx ecx, byte ptr [rsi + r9] movd xmm0, ecx - movzx ecx, byte ptr [rsi + rdx + 1] + movzx ecx, byte ptr [rsi + r9 + 1] movd xmm11, ecx - movzx ecx, byte ptr [rsi + rdx + 2] + movzx ecx, byte ptr [rsi + r9 + 2] movd xmm14, ecx - movzx ecx, byte ptr [rsi + rdx + 3] + movzx ecx, byte ptr [rsi + r9 + 3] movd xmm5, ecx - movzx ecx, byte ptr [rsi + rdx + 4] + movzx ecx, byte ptr [rsi + r9 + 4] movd xmm3, ecx - movzx ecx, byte ptr [rsi + rdx + 5] + movzx ecx, byte ptr [rsi + r9 + 5] movd xmm1, ecx - movzx ecx, byte ptr [rsi + rdx + 6] + movzx ecx, byte ptr [rsi + r9 + 6] movd xmm4, ecx - movzx ecx, byte ptr [rsi + rdx + 7] + movzx ecx, byte ptr [rsi + r9 + 7] movd xmm2, ecx - movdqa xmmword ptr [rsp + 368], xmm2 # 16-byte Spill - movzx ecx, byte ptr [rsi + rdx + 8] + movdqa xmmword ptr [rsp + 320], xmm2 # 16-byte Spill + movzx ecx, byte ptr [rsi + r9 + 8] movd xmm13, ecx - movzx ecx, byte ptr [rsi + rdx + 9] + movzx ecx, byte ptr [rsi + r9 + 9] movd xmm2, ecx - movdqa xmmword ptr [rsp + 160], xmm2 # 16-byte Spill - movzx ecx, byte ptr [rsi + rdx + 10] + movdqa xmmword ptr [rsp + 272], xmm2 # 16-byte Spill + movzx ecx, byte ptr [rsi + r9 + 10] movd xmm8, ecx - movzx ecx, byte ptr [rsi + rdx + 11] + movzx ecx, byte ptr [rsi + r9 + 11] movd xmm10, ecx - movzx ecx, byte ptr [rsi + rdx + 12] + movzx ecx, byte ptr [rsi + r9 + 12] movd xmm6, ecx - movzx ecx, byte ptr [rsi + rdx + 16] + movzx ecx, byte ptr [rsi + r9 + 16] movd xmm12, ecx - movzx ecx, byte ptr [rsi + rdx + 24] + movzx ecx, byte ptr [rsi + r9 + 24] movd xmm2, ecx - mov qword ptr [rsp + 128], rdx # 8-byte Spill - mov rax, rdx - or rax, 32 - mov qword ptr [rsp + 32], rax # 8-byte Spill + mov qword ptr [rsp + 144], r9 # 8-byte Spill + mov r15, r9 + or r15, 32 + mov qword ptr [rsp + 80], r15 # 8-byte Spill or rbx, 64 - or r11, 96 - mov qword ptr [rsp + 288], r11 # 8-byte Spill - or r12, 128 - mov qword ptr [rsp + 96], r12 # 8-byte Spill - or qword ptr [rsp + 144], 160 # 8-byte Folded Spill - or r8, 192 - or r13, 224 - mov qword ptr [rsp + 304], r13 # 8-byte Spill - or r9, 256 - or r10, 288 - mov qword ptr [rsp + 272], r10 # 8-byte Spill - or r14, 320 - or rdi, 352 - mov qword ptr [rsp + 80], rdi # 8-byte Spill - or r15, 384 - mov rax, rdx + mov qword ptr [rsp + 128], rbx # 8-byte Spill + or rdi, 96 + mov qword ptr [rsp + 192], rdi # 8-byte Spill + or rdx, 128 + mov qword ptr [rsp + 112], rdx # 8-byte Spill + mov rcx, qword ptr [rsp + 48] # 8-byte Reload + or rcx, 160 + or r14, 192 + or r8, 224 + or r10, 256 + or r12, 288 + or r11, 320 + or r13, 352 + mov qword ptr [rsp + 160], r13 # 8-byte Spill + mov r13, qword ptr [rsp + 208] # 8-byte Reload + or r13, 384 + mov qword ptr [rsp + 208], r13 # 8-byte Spill + mov rax, r9 or rax, 416 - mov rcx, rdx - mov qword ptr [rsp + 16], rdx # 8-byte Spill - or qword ptr [rsp + 16], 448 # 8-byte Folded Spill - or rdx, 480 - mov qword ptr [rsp + 48], rdx # 8-byte Spill - mov rcx, qword ptr [rsp + 32] # 8-byte Reload - pinsrb xmm0, byte ptr [rsi + rcx], 1 + mov qword ptr [rsp + 96], rax # 8-byte Spill + mov rax, r9 + or rax, 448 + mov qword ptr [rsp + 16], rax # 8-byte Spill + mov rax, r9 + or rax, 480 + mov qword ptr [rsp + 32], rax # 8-byte Spill + pinsrb xmm0, byte ptr [rsi + r15], 1 pinsrb xmm0, byte ptr [rsi + rbx], 2 - pinsrb xmm0, byte ptr [rsi + r11], 3 - pinsrb xmm0, byte ptr [rsi + r12], 4 - mov r11, qword ptr [rsp + 144] # 8-byte Reload - pinsrb xmm0, byte ptr [rsi + r11], 5 - mov rdx, r8 - pinsrb xmm0, byte ptr [rsi + r8], 6 - pinsrb xmm0, byte ptr [rsi + r13], 7 - pinsrb xmm0, byte ptr [rsi + r9], 8 - mov r8, r9 - mov qword ptr [rsp + 224], r9 # 8-byte Spill - pinsrb xmm0, byte ptr [rsi + r10], 9 - mov r9, r14 - pinsrb xmm0, byte ptr [rsi + r14], 10 - pinsrb xmm0, byte ptr [rsi + rdi], 11 - pinsrb xmm0, byte ptr [rsi + r15], 12 - pinsrb xmm0, byte ptr [rsi + rax], 13 + pinsrb xmm0, byte ptr [rsi + rdi], 3 + pinsrb xmm0, byte ptr [rsi + rdx], 4 + mov qword ptr [rsp + 48], rcx # 8-byte Spill + pinsrb xmm0, byte ptr [rsi + rcx], 5 + pinsrb xmm0, byte ptr [rsi + r14], 6 + pinsrb xmm0, byte ptr [rsi + r8], 7 + mov r9, r10 + pinsrb xmm0, byte ptr [rsi + r10], 8 + pinsrb xmm0, byte ptr [rsi + r12], 9 + pinsrb xmm0, byte ptr [rsi + r11], 10 + mov r15, qword ptr [rsp + 160] # 8-byte Reload + pinsrb xmm0, byte ptr [rsi + r15], 11 + pinsrb xmm0, byte ptr [rsi + r13], 12 + mov rdi, qword ptr [rsp + 96] # 8-byte Reload + pinsrb xmm0, byte ptr [rsi + rdi], 13 mov rcx, qword ptr [rsp + 16] # 8-byte Reload pinsrb xmm0, byte ptr [rsi + rcx], 14 - mov rcx, qword ptr [rsp + 48] # 8-byte Reload - pinsrb xmm0, byte ptr [rsi + rcx], 15 + pinsrb xmm0, byte ptr [rsi + rax], 15 movdqa xmm9, xmm0 movdqa xmm7, xmmword ptr [rsp + 400] # 16-byte Reload pmaxub xmm9, xmm7 movdqa xmm15, xmm7 pcmpeqb xmm9, xmm0 movdqa xmm0, xmm9 - mov rcx, qword ptr [rsp + 32] # 8-byte Reload - pinsrb xmm11, byte ptr [rsi + rcx + 1], 1 + mov r10, qword ptr [rsp + 80] # 8-byte Reload + pinsrb xmm11, byte ptr [rsi + r10 + 1], 1 pinsrb xmm11, byte ptr [rsi + rbx + 1], 2 - mov r14, qword ptr [rsp + 288] # 8-byte Reload - pinsrb xmm11, byte ptr [rsi + r14 + 1], 3 - pinsrb xmm11, byte ptr [rsi + r12 + 1], 4 - pinsrb xmm11, byte ptr [rsi + r11 + 1], 5 - pinsrb xmm11, byte ptr [rsi + rdx + 1], 6 - pinsrb xmm11, byte ptr [rsi + r13 + 1], 7 - pinsrb xmm11, byte ptr [rsi + r8 + 1], 8 - pinsrb xmm11, byte ptr [rsi + r10 + 1], 9 - pinsrb xmm11, byte ptr [rsi + r9 + 1], 10 - pinsrb xmm11, byte ptr [rsi + rdi + 1], 11 - pinsrb xmm11, byte ptr [rsi + r15 + 1], 12 - pinsrb xmm11, byte ptr [rsi + rax + 1], 13 - mov r8, qword ptr [rsp + 16] # 8-byte Reload - pinsrb xmm11, byte ptr [rsi + r8 + 1], 14 - mov r8, qword ptr [rsp + 48] # 8-byte Reload - pinsrb xmm11, byte ptr [rsi + r8 + 1], 15 - pinsrb xmm13, byte ptr [rsi + rcx + 8], 1 + mov r13, qword ptr [rsp + 192] # 8-byte Reload + pinsrb xmm11, byte ptr [rsi + r13 + 1], 3 + pinsrb xmm11, byte ptr [rsi + rdx + 1], 4 + mov rcx, qword ptr [rsp + 48] # 8-byte Reload + pinsrb xmm11, byte ptr [rsi + rcx + 1], 5 + pinsrb xmm11, byte ptr [rsi + r14 + 1], 6 + pinsrb xmm11, byte ptr [rsi + r8 + 1], 7 + pinsrb xmm11, byte ptr [rsi + r9 + 1], 8 + mov rax, r12 + mov qword ptr [rsp + 304], r12 # 8-byte Spill + pinsrb xmm11, byte ptr [rsi + r12 + 1], 9 + pinsrb xmm11, byte ptr [rsi + r11 + 1], 10 + pinsrb xmm11, byte ptr [rsi + r15 + 1], 11 + mov r12, qword ptr [rsp + 208] # 8-byte Reload + pinsrb xmm11, byte ptr [rsi + r12 + 1], 12 + pinsrb xmm11, byte ptr [rsi + rdi + 1], 13 + mov r12, qword ptr [rsp + 16] # 8-byte Reload + pinsrb xmm11, byte ptr [rsi + r12 + 1], 14 + mov rdi, qword ptr [rsp + 32] # 8-byte Reload + pinsrb xmm11, byte ptr [rsi + rdi + 1], 15 + pinsrb xmm13, byte ptr [rsi + r10 + 8], 1 pinsrb xmm13, byte ptr [rsi + rbx + 8], 2 - pinsrb xmm13, byte ptr [rsi + r14 + 8], 3 - pinsrb xmm13, byte ptr [rsi + r12 + 8], 4 - pinsrb xmm13, byte ptr [rsi + r11 + 8], 5 - pinsrb xmm13, byte ptr [rsi + rdx + 8], 6 - pinsrb xmm13, byte ptr [rsi + r13 + 8], 7 - mov r13, qword ptr [rsp + 224] # 8-byte Reload - pinsrb xmm13, byte ptr [rsi + r13 + 8], 8 - pinsrb xmm13, byte ptr [rsi + r10 + 8], 9 - pinsrb xmm13, byte ptr [rsi + r9 + 8], 10 - pinsrb xmm13, byte ptr [rsi + rdi + 8], 11 - pinsrb xmm13, byte ptr [rsi + r15 + 8], 12 + pinsrb xmm13, byte ptr [rsi + r13 + 8], 3 + pinsrb xmm13, byte ptr [rsi + rdx + 8], 4 + pinsrb xmm13, byte ptr [rsi + rcx + 8], 5 + pinsrb xmm13, byte ptr [rsi + r14 + 8], 6 + pinsrb xmm13, byte ptr [rsi + r8 + 8], 7 + pinsrb xmm13, byte ptr [rsi + r9 + 8], 8 + pinsrb xmm13, byte ptr [rsi + rax + 8], 9 + pinsrb xmm13, byte ptr [rsi + r11 + 8], 10 + pinsrb xmm13, byte ptr [rsi + r15 + 8], 11 + mov rax, qword ptr [rsp + 208] # 8-byte Reload + pinsrb xmm13, byte ptr [rsi + rax + 8], 12 + mov rdi, rax + mov rax, qword ptr [rsp + 96] # 8-byte Reload pinsrb xmm13, byte ptr [rsi + rax + 8], 13 - mov rcx, qword ptr [rsp + 16] # 8-byte Reload - pinsrb xmm13, byte ptr [rsi + rcx + 8], 14 - pinsrb xmm13, byte ptr [rsi + r8 + 8], 15 + pinsrb xmm13, byte ptr [rsi + r12 + 8], 14 + mov rax, qword ptr [rsp + 32] # 8-byte Reload + pinsrb xmm13, byte ptr [rsi + rax + 8], 15 movdqa xmm9, xmm13 pmaxub xmm9, xmm7 pcmpeqb xmm9, xmm13 - mov rdi, qword ptr [rsp + 32] # 8-byte Reload - pinsrb xmm12, byte ptr [rsi + rdi + 16], 1 + pinsrb xmm12, byte ptr [rsi + r10 + 16], 1 pinsrb xmm12, byte ptr [rsi + rbx + 16], 2 - mov r10, rbx - pinsrb xmm12, byte ptr [rsi + r14 + 16], 3 - pinsrb xmm12, byte ptr [rsi + r12 + 16], 4 - pinsrb xmm12, byte ptr [rsi + r11 + 16], 5 - pinsrb xmm12, byte ptr [rsi + rdx + 16], 6 - mov rcx, rdx - mov qword ptr [rsp + 240], rdx # 8-byte Spill - mov r11, qword ptr [rsp + 304] # 8-byte Reload - pinsrb xmm12, byte ptr [rsi + r11 + 16], 7 - pinsrb xmm12, byte ptr [rsi + r13 + 16], 8 - mov r8, r13 - mov r13, qword ptr [rsp + 272] # 8-byte Reload - pinsrb xmm12, byte ptr [rsi + r13 + 16], 9 - pinsrb xmm12, byte ptr [rsi + r9 + 16], 10 - mov rdx, qword ptr [rsp + 80] # 8-byte Reload - pinsrb xmm12, byte ptr [rsi + rdx + 16], 11 - pinsrb xmm12, byte ptr [rsi + r15 + 16], 12 - pinsrb xmm12, byte ptr [rsi + rax + 16], 13 - mov rbx, qword ptr [rsp + 16] # 8-byte Reload - pinsrb xmm12, byte ptr [rsi + rbx + 16], 14 - mov r12, qword ptr [rsp + 48] # 8-byte Reload - pinsrb xmm12, byte ptr [rsi + r12 + 16], 15 + pinsrb xmm12, byte ptr [rsi + r13 + 16], 3 + pinsrb xmm12, byte ptr [rsi + rdx + 16], 4 + pinsrb xmm12, byte ptr [rsi + rcx + 16], 5 + pinsrb xmm12, byte ptr [rsi + r14 + 16], 6 + pinsrb xmm12, byte ptr [rsi + r8 + 16], 7 + mov rdx, r8 + mov qword ptr [rsp + 432], r8 # 8-byte Spill + pinsrb xmm12, byte ptr [rsi + r9 + 16], 8 + mov r12, qword ptr [rsp + 304] # 8-byte Reload + pinsrb xmm12, byte ptr [rsi + r12 + 16], 9 + pinsrb xmm12, byte ptr [rsi + r11 + 16], 10 + mov qword ptr [rsp + 176], r11 # 8-byte Spill + pinsrb xmm12, byte ptr [rsi + r15 + 16], 11 + mov rcx, rdi + pinsrb xmm12, byte ptr [rsi + rdi + 16], 12 + mov rdi, qword ptr [rsp + 96] # 8-byte Reload + pinsrb xmm12, byte ptr [rsi + rdi + 16], 13 + mov r8, qword ptr [rsp + 16] # 8-byte Reload + pinsrb xmm12, byte ptr [rsi + r8 + 16], 14 + pinsrb xmm12, byte ptr [rsi + rax + 16], 15 movdqa xmm7, xmm12 pmaxub xmm7, xmm15 pcmpeqb xmm7, xmm12 - movdqa xmmword ptr [rsp + 432], xmm7 # 16-byte Spill - pinsrb xmm2, byte ptr [rsi + rdi + 24], 1 - pinsrb xmm2, byte ptr [rsi + r10 + 24], 2 - pinsrb xmm2, byte ptr [rsi + r14 + 24], 3 - mov rdi, qword ptr [rsp + 96] # 8-byte Reload - pinsrb xmm2, byte ptr [rsi + rdi + 24], 4 - mov r14, qword ptr [rsp + 144] # 8-byte Reload - pinsrb xmm2, byte ptr [rsi + r14 + 24], 5 - pinsrb xmm2, byte ptr [rsi + rcx + 24], 6 - pinsrb xmm2, byte ptr [rsi + r11 + 24], 7 - pinsrb xmm2, byte ptr [rsi + r8 + 24], 8 - pinsrb xmm2, byte ptr [rsi + r13 + 24], 9 - pinsrb xmm2, byte ptr [rsi + r9 + 24], 10 - pinsrb xmm2, byte ptr [rsi + rdx + 24], 11 - pinsrb xmm2, byte ptr [rsi + r15 + 24], 12 - pinsrb xmm2, byte ptr [rsi + rax + 24], 13 - pinsrb xmm2, byte ptr [rsi + rbx + 24], 14 - pinsrb xmm2, byte ptr [rsi + r12 + 24], 15 + movdqa xmmword ptr [rsp + 368], xmm7 # 16-byte Spill + pinsrb xmm2, byte ptr [rsi + r10 + 24], 1 + pinsrb xmm2, byte ptr [rsi + rbx + 24], 2 + pinsrb xmm2, byte ptr [rsi + r13 + 24], 3 + mov rbx, qword ptr [rsp + 112] # 8-byte Reload + pinsrb xmm2, byte ptr [rsi + rbx + 24], 4 + mov r10, qword ptr [rsp + 48] # 8-byte Reload + pinsrb xmm2, byte ptr [rsi + r10 + 24], 5 + pinsrb xmm2, byte ptr [rsi + r14 + 24], 6 + pinsrb xmm2, byte ptr [rsi + rdx + 24], 7 + pinsrb xmm2, byte ptr [rsi + r9 + 24], 8 + pinsrb xmm2, byte ptr [rsi + r12 + 24], 9 + pinsrb xmm2, byte ptr [rsi + r11 + 24], 10 + pinsrb xmm2, byte ptr [rsi + r15 + 24], 11 + mov r12, r15 + pinsrb xmm2, byte ptr [rsi + rcx + 24], 12 + pinsrb xmm2, byte ptr [rsi + rdi + 24], 13 + pinsrb xmm2, byte ptr [rsi + r8 + 24], 14 + mov r13, r8 + pinsrb xmm2, byte ptr [rsi + rax + 24], 15 movdqa xmm7, xmm2 pmaxub xmm7, xmm15 pcmpeqb xmm7, xmm2 - movdqa xmmword ptr [rsp + 320], xmm7 # 16-byte Spill + movdqa xmmword ptr [rsp + 240], xmm7 # 16-byte Spill movdqa xmm12, xmm11 movdqa xmm13, xmm15 pmaxub xmm12, xmm15 pcmpeqb xmm12, xmm11 - mov rdx, qword ptr [rsp + 128] # 8-byte Reload - movzx edx, byte ptr [rsi + rdx + 13] + mov rax, qword ptr [rsp + 144] # 8-byte Reload + movzx edx, byte ptr [rsi + rax + 13] movd xmm15, edx - mov rcx, qword ptr [rsp + 32] # 8-byte Reload - pinsrb xmm14, byte ptr [rsi + rcx + 2], 1 - mov rbx, r10 - pinsrb xmm14, byte ptr [rsi + r10 + 2], 2 - mov r10, qword ptr [rsp + 288] # 8-byte Reload - pinsrb xmm14, byte ptr [rsi + r10 + 2], 3 - mov rdx, rdi - pinsrb xmm14, byte ptr [rsi + rdi + 2], 4 - mov rcx, r14 - pinsrb xmm14, byte ptr [rsi + r14 + 2], 5 - mov rdi, qword ptr [rsp + 240] # 8-byte Reload - pinsrb xmm14, byte ptr [rsi + rdi + 2], 6 - pinsrb xmm14, byte ptr [rsi + r11 + 2], 7 - pinsrb xmm14, byte ptr [rsi + r8 + 2], 8 - pinsrb xmm14, byte ptr [rsi + r13 + 2], 9 - pinsrb xmm14, byte ptr [rsi + r9 + 2], 10 - mov r14, qword ptr [rsp + 80] # 8-byte Reload - pinsrb xmm14, byte ptr [rsi + r14 + 2], 11 - pinsrb xmm14, byte ptr [rsi + r15 + 2], 12 - mov qword ptr [rsp + 112], rax # 8-byte Spill - pinsrb xmm14, byte ptr [rsi + rax + 2], 13 + mov r8, qword ptr [rsp + 80] # 8-byte Reload + pinsrb xmm14, byte ptr [rsi + r8 + 2], 1 + mov r15, qword ptr [rsp + 128] # 8-byte Reload + pinsrb xmm14, byte ptr [rsi + r15 + 2], 2 + mov rdi, qword ptr [rsp + 192] # 8-byte Reload + pinsrb xmm14, byte ptr [rsi + rdi + 2], 3 + mov r11, rbx + pinsrb xmm14, byte ptr [rsi + rbx + 2], 4 + pinsrb xmm14, byte ptr [rsi + r10 + 2], 5 + pinsrb xmm14, byte ptr [rsi + r14 + 2], 6 + mov rbx, qword ptr [rsp + 432] # 8-byte Reload + pinsrb xmm14, byte ptr [rsi + rbx + 2], 7 + mov rdx, r9 + mov qword ptr [rsp + 256], r9 # 8-byte Spill + pinsrb xmm14, byte ptr [rsi + r9 + 2], 8 + mov r9, qword ptr [rsp + 304] # 8-byte Reload + pinsrb xmm14, byte ptr [rsi + r9 + 2], 9 + mov rax, qword ptr [rsp + 176] # 8-byte Reload + pinsrb xmm14, byte ptr [rsi + rax + 2], 10 + pinsrb xmm14, byte ptr [rsi + r12 + 2], 11 + mov r12, rcx + pinsrb xmm14, byte ptr [rsi + rcx + 2], 12 + mov rcx, qword ptr [rsp + 96] # 8-byte Reload + pinsrb xmm14, byte ptr [rsi + rcx + 2], 13 + pinsrb xmm14, byte ptr [rsi + r13 + 2], 14 + mov r13, qword ptr [rsp + 32] # 8-byte Reload + pinsrb xmm14, byte ptr [rsi + r13 + 2], 15 + pinsrb xmm5, byte ptr [rsi + r8 + 3], 1 + pinsrb xmm5, byte ptr [rsi + r15 + 3], 2 + pinsrb xmm5, byte ptr [rsi + rdi + 3], 3 + mov r8, rdi + pinsrb xmm5, byte ptr [rsi + r11 + 3], 4 + pinsrb xmm5, byte ptr [rsi + r10 + 3], 5 + pinsrb xmm5, byte ptr [rsi + r14 + 3], 6 + pinsrb xmm5, byte ptr [rsi + rbx + 3], 7 + pinsrb xmm5, byte ptr [rsi + rdx + 3], 8 + pinsrb xmm5, byte ptr [rsi + r9 + 3], 9 + pinsrb xmm5, byte ptr [rsi + rax + 3], 10 + mov r15, qword ptr [rsp + 160] # 8-byte Reload + pinsrb xmm5, byte ptr [rsi + r15 + 3], 11 + pinsrb xmm5, byte ptr [rsi + r12 + 3], 12 + pinsrb xmm5, byte ptr [rsi + rcx + 3], 13 mov rax, qword ptr [rsp + 16] # 8-byte Reload - pinsrb xmm14, byte ptr [rsi + rax + 2], 14 - pinsrb xmm14, byte ptr [rsi + r12 + 2], 15 - mov rax, qword ptr [rsp + 32] # 8-byte Reload - pinsrb xmm5, byte ptr [rsi + rax + 3], 1 - pinsrb xmm5, byte ptr [rsi + rbx + 3], 2 - pinsrb xmm5, byte ptr [rsi + r10 + 3], 3 - pinsrb xmm5, byte ptr [rsi + rdx + 3], 4 - mov rax, rdx - pinsrb xmm5, byte ptr [rsi + rcx + 3], 5 - pinsrb xmm5, byte ptr [rsi + rdi + 3], 6 - pinsrb xmm5, byte ptr [rsi + r11 + 3], 7 - pinsrb xmm5, byte ptr [rsi + r8 + 3], 8 - pinsrb xmm5, byte ptr [rsi + r13 + 3], 9 - pinsrb xmm5, byte ptr [rsi + r9 + 3], 10 - pinsrb xmm5, byte ptr [rsi + r14 + 3], 11 - pinsrb xmm5, byte ptr [rsi + r15 + 3], 12 - mov r14, qword ptr [rsp + 112] # 8-byte Reload - pinsrb xmm5, byte ptr [rsi + r14 + 3], 13 - mov rdx, qword ptr [rsp + 16] # 8-byte Reload - pinsrb xmm5, byte ptr [rsi + rdx + 3], 14 - pinsrb xmm5, byte ptr [rsi + r12 + 3], 15 + pinsrb xmm5, byte ptr [rsi + rax + 3], 14 + pinsrb xmm5, byte ptr [rsi + r13 + 3], 15 movdqa xmm2, xmmword ptr [rip + .LCPI10_16] # xmm2 = [2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2] pand xmm12, xmm2 psubb xmm12, xmm0 @@ -52251,54 +53742,60 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar movdqa xmm2, xmm5 pmaxub xmm2, xmm13 pcmpeqb xmm2, xmm5 - mov rdx, qword ptr [rsp + 128] # 8-byte Reload - movzx edx, byte ptr [rsi + rdx + 14] + mov rax, qword ptr [rsp + 144] # 8-byte Reload + movzx edx, byte ptr [rsi + rax + 14] movd xmm14, edx - mov r12, qword ptr [rsp + 32] # 8-byte Reload - pinsrb xmm3, byte ptr [rsi + r12 + 4], 1 - pinsrb xmm3, byte ptr [rsi + rbx + 4], 2 - pinsrb xmm3, byte ptr [rsi + r10 + 4], 3 - pinsrb xmm3, byte ptr [rsi + rax + 4], 4 - pinsrb xmm3, byte ptr [rsi + rcx + 4], 5 - pinsrb xmm3, byte ptr [rsi + rdi + 4], 6 - pinsrb xmm3, byte ptr [rsi + r11 + 4], 7 - pinsrb xmm3, byte ptr [rsi + r8 + 4], 8 - pinsrb xmm3, byte ptr [rsi + r13 + 4], 9 - pinsrb xmm3, byte ptr [rsi + r9 + 4], 10 - mov rax, qword ptr [rsp + 80] # 8-byte Reload - pinsrb xmm3, byte ptr [rsi + rax + 4], 11 - mov qword ptr [rsp + 192], r15 # 8-byte Spill - pinsrb xmm3, byte ptr [rsi + r15 + 4], 12 - pinsrb xmm3, byte ptr [rsi + r14 + 4], 13 + mov rdi, qword ptr [rsp + 80] # 8-byte Reload + pinsrb xmm3, byte ptr [rsi + rdi + 4], 1 + mov rax, qword ptr [rsp + 128] # 8-byte Reload + pinsrb xmm3, byte ptr [rsi + rax + 4], 2 + pinsrb xmm3, byte ptr [rsi + r8 + 4], 3 + pinsrb xmm3, byte ptr [rsi + r11 + 4], 4 + mov rcx, r10 + pinsrb xmm3, byte ptr [rsi + r10 + 4], 5 + pinsrb xmm3, byte ptr [rsi + r14 + 4], 6 + pinsrb xmm3, byte ptr [rsi + rbx + 4], 7 + mov r10, qword ptr [rsp + 256] # 8-byte Reload + pinsrb xmm3, byte ptr [rsi + r10 + 4], 8 + pinsrb xmm3, byte ptr [rsi + r9 + 4], 9 + mov r8, qword ptr [rsp + 176] # 8-byte Reload + pinsrb xmm3, byte ptr [rsi + r8 + 4], 10 + pinsrb xmm3, byte ptr [rsi + r15 + 4], 11 + pinsrb xmm3, byte ptr [rsi + r12 + 4], 12 + mov r11, qword ptr [rsp + 96] # 8-byte Reload + pinsrb xmm3, byte ptr [rsi + r11 + 4], 13 mov rdx, qword ptr [rsp + 16] # 8-byte Reload pinsrb xmm3, byte ptr [rsi + rdx + 4], 14 - mov r14, qword ptr [rsp + 48] # 8-byte Reload - pinsrb xmm3, byte ptr [rsi + r14 + 4], 15 - pinsrb xmm1, byte ptr [rsi + r12 + 5], 1 - pinsrb xmm1, byte ptr [rsi + rbx + 5], 2 - pinsrb xmm1, byte ptr [rsi + r10 + 5], 3 - mov r12, qword ptr [rsp + 96] # 8-byte Reload - pinsrb xmm1, byte ptr [rsi + r12 + 5], 4 + mov r13, qword ptr [rsp + 32] # 8-byte Reload + pinsrb xmm3, byte ptr [rsi + r13 + 4], 15 + pinsrb xmm1, byte ptr [rsi + rdi + 5], 1 + pinsrb xmm1, byte ptr [rsi + rax + 5], 2 + mov rdi, qword ptr [rsp + 192] # 8-byte Reload + pinsrb xmm1, byte ptr [rsi + rdi + 5], 3 + mov rdi, qword ptr [rsp + 112] # 8-byte Reload + pinsrb xmm1, byte ptr [rsi + rdi + 5], 4 pinsrb xmm1, byte ptr [rsi + rcx + 5], 5 - pinsrb xmm1, byte ptr [rsi + rdi + 5], 6 - pinsrb xmm1, byte ptr [rsi + r11 + 5], 7 - pinsrb xmm1, byte ptr [rsi + r8 + 5], 8 - pinsrb xmm1, byte ptr [rsi + r13 + 5], 9 - pinsrb xmm1, byte ptr [rsi + r9 + 5], 10 - pinsrb xmm1, byte ptr [rsi + rax + 5], 11 - pinsrb xmm1, byte ptr [rsi + r15 + 5], 12 - mov rax, qword ptr [rsp + 112] # 8-byte Reload - pinsrb xmm1, byte ptr [rsi + rax + 5], 13 + pinsrb xmm1, byte ptr [rsi + r14 + 5], 6 + pinsrb xmm1, byte ptr [rsi + rbx + 5], 7 + pinsrb xmm1, byte ptr [rsi + r10 + 5], 8 + mov rcx, r10 + pinsrb xmm1, byte ptr [rsi + r9 + 5], 9 + pinsrb xmm1, byte ptr [rsi + r8 + 5], 10 + pinsrb xmm1, byte ptr [rsi + r15 + 5], 11 + mov r10, r15 + pinsrb xmm1, byte ptr [rsi + r12 + 5], 12 + pinsrb xmm1, byte ptr [rsi + r11 + 5], 13 pinsrb xmm1, byte ptr [rsi + rdx + 5], 14 movdqa xmm5, xmmword ptr [rip + .LCPI10_17] # xmm5 = [4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4] pand xmm11, xmm5 movdqa xmm5, xmmword ptr [rip + .LCPI10_18] # xmm5 = [8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8] pand xmm2, xmm5 por xmm2, xmm11 - mov r15, qword ptr [rsp + 128] # 8-byte Reload - movzx edx, byte ptr [rsi + r15 + 15] + mov rdi, qword ptr [rsp + 144] # 8-byte Reload + movzx edx, byte ptr [rsi + rdi + 15] movd xmm11, edx - pinsrb xmm1, byte ptr [rsi + r14 + 5], 15 + mov r13, qword ptr [rsp + 32] # 8-byte Reload + pinsrb xmm1, byte ptr [rsi + r13 + 5], 15 por xmm2, xmm12 movdqa xmm12, xmm3 pmaxub xmm12, xmm13 @@ -52306,50 +53803,50 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar movdqa xmm5, xmm1 pmaxub xmm5, xmm13 pcmpeqb xmm5, xmm1 - movzx edx, byte ptr [rsi + r15 + 17] + movzx edx, byte ptr [rsi + rdi + 17] movd xmm0, edx - mov rdx, qword ptr [rsp + 32] # 8-byte Reload - pinsrb xmm4, byte ptr [rsi + rdx + 6], 1 - mov qword ptr [rsp + 176], rbx # 8-byte Spill - pinsrb xmm4, byte ptr [rsi + rbx + 6], 2 - pinsrb xmm4, byte ptr [rsi + r10 + 6], 3 - pinsrb xmm4, byte ptr [rsi + r12 + 6], 4 - pinsrb xmm4, byte ptr [rsi + rcx + 6], 5 - pinsrb xmm4, byte ptr [rsi + rdi + 6], 6 - pinsrb xmm4, byte ptr [rsi + r11 + 6], 7 - pinsrb xmm4, byte ptr [rsi + r8 + 6], 8 - pinsrb xmm4, byte ptr [rsi + r13 + 6], 9 - mov qword ptr [rsp + 256], r9 # 8-byte Spill - pinsrb xmm4, byte ptr [rsi + r9 + 6], 10 - mov r12, qword ptr [rsp + 80] # 8-byte Reload - pinsrb xmm4, byte ptr [rsi + r12 + 6], 11 - mov r14, qword ptr [rsp + 192] # 8-byte Reload - pinsrb xmm4, byte ptr [rsi + r14 + 6], 12 - pinsrb xmm4, byte ptr [rsi + rax + 6], 13 - mov r15, qword ptr [rsp + 16] # 8-byte Reload - pinsrb xmm4, byte ptr [rsi + r15 + 6], 14 - mov r15, qword ptr [rsp + 48] # 8-byte Reload - pinsrb xmm4, byte ptr [rsi + r15 + 6], 15 - movdqa xmm3, xmmword ptr [rsp + 368] # 16-byte Reload - pinsrb xmm3, byte ptr [rsi + rdx + 7], 1 - pinsrb xmm3, byte ptr [rsi + rbx + 7], 2 - pinsrb xmm3, byte ptr [rsi + r10 + 7], 3 - mov rbx, r10 + mov r8, qword ptr [rsp + 80] # 8-byte Reload + pinsrb xmm4, byte ptr [rsi + r8 + 6], 1 + pinsrb xmm4, byte ptr [rsi + rax + 6], 2 + mov rdi, qword ptr [rsp + 192] # 8-byte Reload + pinsrb xmm4, byte ptr [rsi + rdi + 6], 3 + mov rax, qword ptr [rsp + 112] # 8-byte Reload + pinsrb xmm4, byte ptr [rsi + rax + 6], 4 + mov r11, qword ptr [rsp + 48] # 8-byte Reload + pinsrb xmm4, byte ptr [rsi + r11 + 6], 5 + pinsrb xmm4, byte ptr [rsi + r14 + 6], 6 + pinsrb xmm4, byte ptr [rsi + rbx + 6], 7 + pinsrb xmm4, byte ptr [rsi + rcx + 6], 8 + pinsrb xmm4, byte ptr [rsi + r9 + 6], 9 + mov r15, qword ptr [rsp + 176] # 8-byte Reload + pinsrb xmm4, byte ptr [rsi + r15 + 6], 10 + pinsrb xmm4, byte ptr [rsi + r10 + 6], 11 + pinsrb xmm4, byte ptr [rsi + r12 + 6], 12 mov rdx, qword ptr [rsp + 96] # 8-byte Reload - pinsrb xmm3, byte ptr [rsi + rdx + 7], 4 - pinsrb xmm3, byte ptr [rsi + rcx + 7], 5 - pinsrb xmm3, byte ptr [rsi + rdi + 7], 6 - pinsrb xmm3, byte ptr [rsi + r11 + 7], 7 - pinsrb xmm3, byte ptr [rsi + r8 + 7], 8 - pinsrb xmm3, byte ptr [rsi + r13 + 7], 9 - pinsrb xmm3, byte ptr [rsi + r9 + 7], 10 - pinsrb xmm3, byte ptr [rsi + r12 + 7], 11 - pinsrb xmm3, byte ptr [rsi + r14 + 7], 12 - pinsrb xmm3, byte ptr [rsi + rax + 7], 13 - mov rdi, qword ptr [rsp + 16] # 8-byte Reload - pinsrb xmm3, byte ptr [rsi + rdi + 7], 14 - mov rcx, r15 - pinsrb xmm3, byte ptr [rsi + r15 + 7], 15 + pinsrb xmm4, byte ptr [rsi + rdx + 6], 13 + mov rcx, qword ptr [rsp + 16] # 8-byte Reload + pinsrb xmm4, byte ptr [rsi + rcx + 6], 14 + pinsrb xmm4, byte ptr [rsi + r13 + 6], 15 + movdqa xmm3, xmmword ptr [rsp + 320] # 16-byte Reload + pinsrb xmm3, byte ptr [rsi + r8 + 7], 1 + mov r8, qword ptr [rsp + 128] # 8-byte Reload + pinsrb xmm3, byte ptr [rsi + r8 + 7], 2 + pinsrb xmm3, byte ptr [rsi + rdi + 7], 3 + pinsrb xmm3, byte ptr [rsi + rax + 7], 4 + mov rdi, r11 + pinsrb xmm3, byte ptr [rsi + r11 + 7], 5 + pinsrb xmm3, byte ptr [rsi + r14 + 7], 6 + mov qword ptr [rsp + 288], r14 # 8-byte Spill + pinsrb xmm3, byte ptr [rsi + rbx + 7], 7 + mov r11, qword ptr [rsp + 256] # 8-byte Reload + pinsrb xmm3, byte ptr [rsi + r11 + 7], 8 + pinsrb xmm3, byte ptr [rsi + r9 + 7], 9 + pinsrb xmm3, byte ptr [rsi + r15 + 7], 10 + pinsrb xmm3, byte ptr [rsi + r10 + 7], 11 + pinsrb xmm3, byte ptr [rsi + r12 + 7], 12 + pinsrb xmm3, byte ptr [rsi + rdx + 7], 13 + pinsrb xmm3, byte ptr [rsi + rcx + 7], 14 + pinsrb xmm3, byte ptr [rsi + r13 + 7], 15 movdqa xmm1, xmmword ptr [rip + .LCPI10_19] # xmm1 = [16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16] pand xmm12, xmm1 movdqa xmm1, xmmword ptr [rip + .LCPI10_20] # xmm1 = [32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32] @@ -52358,102 +53855,97 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar movdqa xmm1, xmm4 pmaxub xmm1, xmm13 pcmpeqb xmm1, xmm4 - mov r8, qword ptr [rsp + 128] # 8-byte Reload - movzx edx, byte ptr [rsi + r8 + 18] + mov r10, qword ptr [rsp + 144] # 8-byte Reload + movzx edx, byte ptr [rsi + r10 + 18] movd xmm4, edx movdqa xmm7, xmmword ptr [rip + .LCPI10_21] # xmm7 = [64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64] pand xmm1, xmm7 por xmm1, xmm5 - movzx edx, byte ptr [rsi + r8 + 19] + movzx edx, byte ptr [rsi + r10 + 19] movd xmm5, edx por xmm1, xmm2 movdqa xmm2, xmm3 pmaxub xmm2, xmm13 pcmpeqb xmm2, xmm3 movdqa xmm12, xmm2 - movzx edx, byte ptr [rsi + r8 + 20] + movzx edx, byte ptr [rsi + r10 + 20] movd xmm2, edx - movdqa xmm3, xmmword ptr [rsp + 160] # 16-byte Reload - mov r14, qword ptr [rsp + 32] # 8-byte Reload - pinsrb xmm3, byte ptr [rsi + r14 + 9], 1 - mov r10, qword ptr [rsp + 176] # 8-byte Reload - pinsrb xmm3, byte ptr [rsi + r10 + 9], 2 - pinsrb xmm3, byte ptr [rsi + rbx + 9], 3 - mov rax, qword ptr [rsp + 96] # 8-byte Reload - pinsrb xmm3, byte ptr [rsi + rax + 9], 4 - mov r9, qword ptr [rsp + 144] # 8-byte Reload - pinsrb xmm3, byte ptr [rsi + r9 + 9], 5 - mov r11, qword ptr [rsp + 240] # 8-byte Reload - pinsrb xmm3, byte ptr [rsi + r11 + 9], 6 - mov rbx, qword ptr [rsp + 304] # 8-byte Reload + movdqa xmm3, xmmword ptr [rsp + 272] # 16-byte Reload + mov rdi, qword ptr [rsp + 80] # 8-byte Reload + pinsrb xmm3, byte ptr [rsi + rdi + 9], 1 + mov rax, r8 + pinsrb xmm3, byte ptr [rsi + r8 + 9], 2 + mov rcx, qword ptr [rsp + 192] # 8-byte Reload + pinsrb xmm3, byte ptr [rsi + rcx + 9], 3 + mov rcx, qword ptr [rsp + 112] # 8-byte Reload + pinsrb xmm3, byte ptr [rsi + rcx + 9], 4 + mov r8, qword ptr [rsp + 48] # 8-byte Reload + pinsrb xmm3, byte ptr [rsi + r8 + 9], 5 + pinsrb xmm3, byte ptr [rsi + r14 + 9], 6 pinsrb xmm3, byte ptr [rsi + rbx + 9], 7 - mov r15, qword ptr [rsp + 224] # 8-byte Reload - pinsrb xmm3, byte ptr [rsi + r15 + 9], 8 - pinsrb xmm3, byte ptr [rsi + r13 + 9], 9 - mov r12, qword ptr [rsp + 256] # 8-byte Reload - pinsrb xmm3, byte ptr [rsi + r12 + 9], 10 - mov rdx, qword ptr [rsp + 80] # 8-byte Reload - pinsrb xmm3, byte ptr [rsi + rdx + 9], 11 - mov rdx, qword ptr [rsp + 192] # 8-byte Reload + pinsrb xmm3, byte ptr [rsi + r11 + 9], 8 + pinsrb xmm3, byte ptr [rsi + r9 + 9], 9 + pinsrb xmm3, byte ptr [rsi + r15 + 9], 10 + mov r12, qword ptr [rsp + 160] # 8-byte Reload + pinsrb xmm3, byte ptr [rsi + r12 + 9], 11 + mov rdx, qword ptr [rsp + 208] # 8-byte Reload pinsrb xmm3, byte ptr [rsi + rdx + 9], 12 - mov rdx, qword ptr [rsp + 112] # 8-byte Reload - pinsrb xmm3, byte ptr [rsi + rdx + 9], 13 - pinsrb xmm3, byte ptr [rsi + rdi + 9], 14 - pinsrb xmm3, byte ptr [rsi + rcx + 9], 15 + mov r13, qword ptr [rsp + 96] # 8-byte Reload + pinsrb xmm3, byte ptr [rsi + r13 + 9], 13 + mov rdx, qword ptr [rsp + 16] # 8-byte Reload + pinsrb xmm3, byte ptr [rsi + rdx + 9], 14 + mov rdx, qword ptr [rsp + 32] # 8-byte Reload + pinsrb xmm3, byte ptr [rsi + rdx + 9], 15 movdqa xmm7, xmmword ptr [rip + .LCPI10_6] # xmm7 = [128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128] pand xmm12, xmm7 por xmm12, xmm1 - movdqa xmmword ptr [rsp + 160], xmm12 # 16-byte Spill + movdqa xmmword ptr [rsp + 272], xmm12 # 16-byte Spill movdqa xmm7, xmm3 pmaxub xmm7, xmm13 pcmpeqb xmm7, xmm3 - movzx edx, byte ptr [rsi + r8 + 21] + movzx edx, byte ptr [rsi + r10 + 21] movd xmm3, edx - pinsrb xmm8, byte ptr [rsi + r14 + 10], 1 - mov r14, r10 - pinsrb xmm8, byte ptr [rsi + r10 + 10], 2 - mov r10, qword ptr [rsp + 288] # 8-byte Reload + pinsrb xmm8, byte ptr [rsi + rdi + 10], 1 + pinsrb xmm8, byte ptr [rsi + rax + 10], 2 + mov r14, rax + mov r10, qword ptr [rsp + 192] # 8-byte Reload pinsrb xmm8, byte ptr [rsi + r10 + 10], 3 - pinsrb xmm8, byte ptr [rsi + rax + 10], 4 - mov rcx, r9 - pinsrb xmm8, byte ptr [rsi + r9 + 10], 5 - mov rdi, r11 - pinsrb xmm8, byte ptr [rsi + r11 + 10], 6 - mov r11, rbx + pinsrb xmm8, byte ptr [rsi + rcx + 10], 4 + pinsrb xmm8, byte ptr [rsi + r8 + 10], 5 + mov rax, qword ptr [rsp + 288] # 8-byte Reload + pinsrb xmm8, byte ptr [rsi + rax + 10], 6 pinsrb xmm8, byte ptr [rsi + rbx + 10], 7 - mov r8, r15 - pinsrb xmm8, byte ptr [rsi + r15 + 10], 8 - pinsrb xmm8, byte ptr [rsi + r13 + 10], 9 - mov r9, r12 - pinsrb xmm8, byte ptr [rsi + r12 + 10], 10 - mov r12, qword ptr [rsp + 80] # 8-byte Reload + pinsrb xmm8, byte ptr [rsi + r11 + 10], 8 + pinsrb xmm8, byte ptr [rsi + r9 + 10], 9 + mov rax, r15 + pinsrb xmm8, byte ptr [rsi + r15 + 10], 10 + mov rdx, r12 pinsrb xmm8, byte ptr [rsi + r12 + 10], 11 - mov r15, qword ptr [rsp + 192] # 8-byte Reload - pinsrb xmm8, byte ptr [rsi + r15 + 10], 12 - mov rax, qword ptr [rsp + 112] # 8-byte Reload - pinsrb xmm8, byte ptr [rsi + rax + 10], 13 - mov rbx, qword ptr [rsp + 16] # 8-byte Reload - pinsrb xmm8, byte ptr [rsi + rbx + 10], 14 - mov rdx, qword ptr [rsp + 48] # 8-byte Reload - pinsrb xmm8, byte ptr [rsi + rdx + 10], 15 - mov rax, qword ptr [rsp + 32] # 8-byte Reload - pinsrb xmm10, byte ptr [rsi + rax + 11], 1 + mov r12, qword ptr [rsp + 208] # 8-byte Reload + pinsrb xmm8, byte ptr [rsi + r12 + 10], 12 + mov r15, r13 + pinsrb xmm8, byte ptr [rsi + r13 + 10], 13 + mov rcx, qword ptr [rsp + 16] # 8-byte Reload + pinsrb xmm8, byte ptr [rsi + rcx + 10], 14 + mov r13, qword ptr [rsp + 32] # 8-byte Reload + pinsrb xmm8, byte ptr [rsi + r13 + 10], 15 + pinsrb xmm10, byte ptr [rsi + rdi + 11], 1 pinsrb xmm10, byte ptr [rsi + r14 + 11], 2 pinsrb xmm10, byte ptr [rsi + r10 + 11], 3 - mov r14, qword ptr [rsp + 96] # 8-byte Reload - pinsrb xmm10, byte ptr [rsi + r14 + 11], 4 - pinsrb xmm10, byte ptr [rsi + rcx + 11], 5 - pinsrb xmm10, byte ptr [rsi + rdi + 11], 6 - pinsrb xmm10, byte ptr [rsi + r11 + 11], 7 - pinsrb xmm10, byte ptr [rsi + r8 + 11], 8 - pinsrb xmm10, byte ptr [rsi + r13 + 11], 9 - pinsrb xmm10, byte ptr [rsi + r9 + 11], 10 - pinsrb xmm10, byte ptr [rsi + r12 + 11], 11 - pinsrb xmm10, byte ptr [rsi + r15 + 11], 12 - mov rax, qword ptr [rsp + 112] # 8-byte Reload - pinsrb xmm10, byte ptr [rsi + rax + 11], 13 - pinsrb xmm10, byte ptr [rsi + rbx + 11], 14 - pinsrb xmm10, byte ptr [rsi + rdx + 11], 15 + mov rdi, qword ptr [rsp + 112] # 8-byte Reload + pinsrb xmm10, byte ptr [rsi + rdi + 11], 4 + pinsrb xmm10, byte ptr [rsi + r8 + 11], 5 + mov r14, qword ptr [rsp + 288] # 8-byte Reload + pinsrb xmm10, byte ptr [rsi + r14 + 11], 6 + pinsrb xmm10, byte ptr [rsi + rbx + 11], 7 + pinsrb xmm10, byte ptr [rsi + r11 + 11], 8 + pinsrb xmm10, byte ptr [rsi + r9 + 11], 9 + pinsrb xmm10, byte ptr [rsi + rax + 11], 10 + pinsrb xmm10, byte ptr [rsi + rdx + 11], 11 + pinsrb xmm10, byte ptr [rsi + r12 + 11], 12 + pinsrb xmm10, byte ptr [rsi + r15 + 11], 13 + pinsrb xmm10, byte ptr [rsi + rcx + 11], 14 + pinsrb xmm10, byte ptr [rsi + r13 + 11], 15 pand xmm7, xmmword ptr [rip + .LCPI10_16] psubb xmm7, xmm9 movdqa xmm1, xmm8 @@ -52462,56 +53954,60 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar movdqa xmm9, xmm10 pmaxub xmm9, xmm13 pcmpeqb xmm9, xmm10 - mov rax, qword ptr [rsp + 128] # 8-byte Reload + mov rax, qword ptr [rsp + 144] # 8-byte Reload movzx edx, byte ptr [rsi + rax + 22] movd xmm10, edx - mov rax, qword ptr [rsp + 32] # 8-byte Reload - pinsrb xmm6, byte ptr [rsi + rax + 12], 1 - mov r12, qword ptr [rsp + 176] # 8-byte Reload - pinsrb xmm6, byte ptr [rsi + r12 + 12], 2 + mov r8, qword ptr [rsp + 80] # 8-byte Reload + pinsrb xmm6, byte ptr [rsi + r8 + 12], 1 + mov rax, qword ptr [rsp + 128] # 8-byte Reload + pinsrb xmm6, byte ptr [rsi + rax + 12], 2 pinsrb xmm6, byte ptr [rsi + r10 + 12], 3 - mov rdx, r14 - pinsrb xmm6, byte ptr [rsi + r14 + 12], 4 - pinsrb xmm6, byte ptr [rsi + rcx + 12], 5 - pinsrb xmm6, byte ptr [rsi + rdi + 12], 6 - pinsrb xmm6, byte ptr [rsi + r11 + 12], 7 - pinsrb xmm6, byte ptr [rsi + r8 + 12], 8 - pinsrb xmm6, byte ptr [rsi + r13 + 12], 9 - pinsrb xmm6, byte ptr [rsi + r9 + 12], 10 - mov r14, qword ptr [rsp + 80] # 8-byte Reload - pinsrb xmm6, byte ptr [rsi + r14 + 12], 11 - pinsrb xmm6, byte ptr [rsi + r15 + 12], 12 - mov rbx, qword ptr [rsp + 112] # 8-byte Reload - pinsrb xmm6, byte ptr [rsi + rbx + 12], 13 - mov rax, qword ptr [rsp + 16] # 8-byte Reload - pinsrb xmm6, byte ptr [rsi + rax + 12], 14 - mov rax, qword ptr [rsp + 48] # 8-byte Reload - pinsrb xmm6, byte ptr [rsi + rax + 12], 15 - mov rax, qword ptr [rsp + 32] # 8-byte Reload - pinsrb xmm15, byte ptr [rsi + rax + 13], 1 - pinsrb xmm15, byte ptr [rsi + r12 + 13], 2 - pinsrb xmm15, byte ptr [rsi + r10 + 13], 3 - pinsrb xmm15, byte ptr [rsi + rdx + 13], 4 - pinsrb xmm15, byte ptr [rsi + rcx + 13], 5 - pinsrb xmm15, byte ptr [rsi + rdi + 13], 6 - pinsrb xmm15, byte ptr [rsi + r11 + 13], 7 - pinsrb xmm15, byte ptr [rsi + r8 + 13], 8 - pinsrb xmm15, byte ptr [rsi + r13 + 13], 9 - pinsrb xmm15, byte ptr [rsi + r9 + 13], 10 - pinsrb xmm15, byte ptr [rsi + r14 + 13], 11 - pinsrb xmm15, byte ptr [rsi + r15 + 13], 12 - mov rax, r15 - pinsrb xmm15, byte ptr [rsi + rbx + 13], 13 - mov r15, qword ptr [rsp + 16] # 8-byte Reload - pinsrb xmm15, byte ptr [rsi + r15 + 13], 14 + mov r15, r10 + mov rcx, rdi + pinsrb xmm6, byte ptr [rsi + rdi + 12], 4 + mov rdi, qword ptr [rsp + 48] # 8-byte Reload + pinsrb xmm6, byte ptr [rsi + rdi + 12], 5 + pinsrb xmm6, byte ptr [rsi + r14 + 12], 6 + pinsrb xmm6, byte ptr [rsi + rbx + 12], 7 + pinsrb xmm6, byte ptr [rsi + r11 + 12], 8 + pinsrb xmm6, byte ptr [rsi + r9 + 12], 9 + mov rdx, qword ptr [rsp + 176] # 8-byte Reload + pinsrb xmm6, byte ptr [rsi + rdx + 12], 10 + mov r11, qword ptr [rsp + 160] # 8-byte Reload + pinsrb xmm6, byte ptr [rsi + r11 + 12], 11 + pinsrb xmm6, byte ptr [rsi + r12 + 12], 12 + mov rdx, qword ptr [rsp + 96] # 8-byte Reload + pinsrb xmm6, byte ptr [rsi + rdx + 12], 13 + mov r10, qword ptr [rsp + 16] # 8-byte Reload + pinsrb xmm6, byte ptr [rsi + r10 + 12], 14 + mov r13, qword ptr [rsp + 32] # 8-byte Reload + pinsrb xmm6, byte ptr [rsi + r13 + 12], 15 + pinsrb xmm15, byte ptr [rsi + r8 + 13], 1 + pinsrb xmm15, byte ptr [rsi + rax + 13], 2 + pinsrb xmm15, byte ptr [rsi + r15 + 13], 3 + pinsrb xmm15, byte ptr [rsi + rcx + 13], 4 + pinsrb xmm15, byte ptr [rsi + rdi + 13], 5 + mov r8, rdi + pinsrb xmm15, byte ptr [rsi + r14 + 13], 6 + pinsrb xmm15, byte ptr [rsi + rbx + 13], 7 + mov rdi, qword ptr [rsp + 256] # 8-byte Reload + pinsrb xmm15, byte ptr [rsi + rdi + 13], 8 + pinsrb xmm15, byte ptr [rsi + r9 + 13], 9 + mov r15, qword ptr [rsp + 176] # 8-byte Reload + pinsrb xmm15, byte ptr [rsi + r15 + 13], 10 + pinsrb xmm15, byte ptr [rsi + r11 + 13], 11 + pinsrb xmm15, byte ptr [rsi + r12 + 13], 12 + pinsrb xmm15, byte ptr [rsi + rdx + 13], 13 + mov r11, rdx + pinsrb xmm15, byte ptr [rsi + r10 + 13], 14 pand xmm1, xmmword ptr [rip + .LCPI10_17] pand xmm9, xmmword ptr [rip + .LCPI10_18] por xmm9, xmm1 - mov rbx, qword ptr [rsp + 128] # 8-byte Reload - movzx edx, byte ptr [rsi + rbx + 23] + mov rax, qword ptr [rsp + 144] # 8-byte Reload + movzx edx, byte ptr [rsi + rax + 23] movd xmm8, edx - mov rdx, qword ptr [rsp + 48] # 8-byte Reload - pinsrb xmm15, byte ptr [rsi + rdx + 13], 15 + mov r13, qword ptr [rsp + 32] # 8-byte Reload + pinsrb xmm15, byte ptr [rsi + r13 + 13], 15 por xmm9, xmm7 movdqa xmm1, xmm6 pmaxub xmm1, xmm13 @@ -52519,155 +54015,156 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar movdqa xmm7, xmm15 pmaxub xmm7, xmm13 pcmpeqb xmm7, xmm15 - movzx edx, byte ptr [rsi + rbx + 25] + movzx edx, byte ptr [rsi + rax + 25] movd xmm15, edx - mov rbx, qword ptr [rsp + 32] # 8-byte Reload - pinsrb xmm14, byte ptr [rsi + rbx + 14], 1 - pinsrb xmm14, byte ptr [rsi + r12 + 14], 2 + mov rax, qword ptr [rsp + 80] # 8-byte Reload + pinsrb xmm14, byte ptr [rsi + rax + 14], 1 + mov rcx, qword ptr [rsp + 128] # 8-byte Reload + pinsrb xmm14, byte ptr [rsi + rcx + 14], 2 + mov r10, qword ptr [rsp + 192] # 8-byte Reload pinsrb xmm14, byte ptr [rsi + r10 + 14], 3 - mov r12, qword ptr [rsp + 96] # 8-byte Reload - pinsrb xmm14, byte ptr [rsi + r12 + 14], 4 - pinsrb xmm14, byte ptr [rsi + rcx + 14], 5 - pinsrb xmm14, byte ptr [rsi + rdi + 14], 6 - pinsrb xmm14, byte ptr [rsi + r11 + 14], 7 - pinsrb xmm14, byte ptr [rsi + r8 + 14], 8 - mov rdx, r13 - pinsrb xmm14, byte ptr [rsi + r13 + 14], 9 - pinsrb xmm14, byte ptr [rsi + r9 + 14], 10 - pinsrb xmm14, byte ptr [rsi + r14 + 14], 11 - pinsrb xmm14, byte ptr [rsi + rax + 14], 12 - mov r13, qword ptr [rsp + 112] # 8-byte Reload - pinsrb xmm14, byte ptr [rsi + r13 + 14], 13 - pinsrb xmm14, byte ptr [rsi + r15 + 14], 14 - mov r15, qword ptr [rsp + 48] # 8-byte Reload - pinsrb xmm14, byte ptr [rsi + r15 + 14], 15 - pinsrb xmm11, byte ptr [rsi + rbx + 15], 1 - mov rbx, qword ptr [rsp + 176] # 8-byte Reload - pinsrb xmm11, byte ptr [rsi + rbx + 15], 2 - pinsrb xmm11, byte ptr [rsi + r10 + 15], 3 - pinsrb xmm11, byte ptr [rsi + r12 + 15], 4 - pinsrb xmm11, byte ptr [rsi + rcx + 15], 5 - pinsrb xmm11, byte ptr [rsi + rdi + 15], 6 - pinsrb xmm11, byte ptr [rsi + r11 + 15], 7 - pinsrb xmm11, byte ptr [rsi + r8 + 15], 8 - pinsrb xmm11, byte ptr [rsi + rdx + 15], 9 - pinsrb xmm11, byte ptr [rsi + r9 + 15], 10 - pinsrb xmm11, byte ptr [rsi + r14 + 15], 11 - pinsrb xmm11, byte ptr [rsi + rax + 15], 12 - pinsrb xmm11, byte ptr [rsi + r13 + 15], 13 + mov rdx, qword ptr [rsp + 112] # 8-byte Reload + pinsrb xmm14, byte ptr [rsi + rdx + 14], 4 + pinsrb xmm14, byte ptr [rsi + r8 + 14], 5 + mov r8, r14 + pinsrb xmm14, byte ptr [rsi + r14 + 14], 6 + pinsrb xmm14, byte ptr [rsi + rbx + 14], 7 + pinsrb xmm14, byte ptr [rsi + rdi + 14], 8 + mov r14, rdi + pinsrb xmm14, byte ptr [rsi + r9 + 14], 9 + pinsrb xmm14, byte ptr [rsi + r15 + 14], 10 + mov rdi, qword ptr [rsp + 160] # 8-byte Reload + pinsrb xmm14, byte ptr [rsi + rdi + 14], 11 + pinsrb xmm14, byte ptr [rsi + r12 + 14], 12 + pinsrb xmm14, byte ptr [rsi + r11 + 14], 13 mov rdi, qword ptr [rsp + 16] # 8-byte Reload + pinsrb xmm14, byte ptr [rsi + rdi + 14], 14 + pinsrb xmm14, byte ptr [rsi + r13 + 14], 15 + pinsrb xmm11, byte ptr [rsi + rax + 15], 1 + pinsrb xmm11, byte ptr [rsi + rcx + 15], 2 + pinsrb xmm11, byte ptr [rsi + r10 + 15], 3 + pinsrb xmm11, byte ptr [rsi + rdx + 15], 4 + mov rcx, rdx + mov rdx, qword ptr [rsp + 48] # 8-byte Reload + pinsrb xmm11, byte ptr [rsi + rdx + 15], 5 + pinsrb xmm11, byte ptr [rsi + r8 + 15], 6 + pinsrb xmm11, byte ptr [rsi + rbx + 15], 7 + pinsrb xmm11, byte ptr [rsi + r14 + 15], 8 + pinsrb xmm11, byte ptr [rsi + r9 + 15], 9 + pinsrb xmm11, byte ptr [rsi + r15 + 15], 10 + mov r8, qword ptr [rsp + 160] # 8-byte Reload + pinsrb xmm11, byte ptr [rsi + r8 + 15], 11 + pinsrb xmm11, byte ptr [rsi + r12 + 15], 12 + pinsrb xmm11, byte ptr [rsi + r11 + 15], 13 pinsrb xmm11, byte ptr [rsi + rdi + 15], 14 - pinsrb xmm11, byte ptr [rsi + r15 + 15], 15 - mov r12, r15 + pinsrb xmm11, byte ptr [rsi + r13 + 15], 15 pand xmm1, xmmword ptr [rip + .LCPI10_19] pand xmm7, xmmword ptr [rip + .LCPI10_20] por xmm7, xmm1 movdqa xmm1, xmm14 pmaxub xmm1, xmm13 pcmpeqb xmm1, xmm14 - mov r13, qword ptr [rsp + 128] # 8-byte Reload - movzx edx, byte ptr [rsi + r13 + 26] + mov rdi, qword ptr [rsp + 144] # 8-byte Reload + movzx edx, byte ptr [rsi + rdi + 26] movd xmm6, edx pand xmm1, xmmword ptr [rip + .LCPI10_21] por xmm1, xmm7 - movzx edx, byte ptr [rsi + r13 + 27] + movzx edx, byte ptr [rsi + rdi + 27] movd xmm7, edx por xmm1, xmm9 movdqa xmm14, xmm11 pmaxub xmm14, xmm13 pcmpeqb xmm14, xmm11 - movzx edx, byte ptr [rsi + r13 + 28] + movzx edx, byte ptr [rsi + rdi + 28] movd xmm9, edx - mov rcx, qword ptr [rsp + 32] # 8-byte Reload - pinsrb xmm0, byte ptr [rsi + rcx + 17], 1 - pinsrb xmm0, byte ptr [rsi + rbx + 17], 2 + pinsrb xmm0, byte ptr [rsi + rax + 17], 1 + mov rax, qword ptr [rsp + 128] # 8-byte Reload + pinsrb xmm0, byte ptr [rsi + rax + 17], 2 pinsrb xmm0, byte ptr [rsi + r10 + 17], 3 - mov rax, qword ptr [rsp + 96] # 8-byte Reload - pinsrb xmm0, byte ptr [rsi + rax + 17], 4 - mov r8, qword ptr [rsp + 144] # 8-byte Reload - pinsrb xmm0, byte ptr [rsi + r8 + 17], 5 - mov r9, qword ptr [rsp + 240] # 8-byte Reload + pinsrb xmm0, byte ptr [rsi + rcx + 17], 4 + mov rdx, qword ptr [rsp + 48] # 8-byte Reload + pinsrb xmm0, byte ptr [rsi + rdx + 17], 5 + mov r9, qword ptr [rsp + 288] # 8-byte Reload pinsrb xmm0, byte ptr [rsi + r9 + 17], 6 - pinsrb xmm0, byte ptr [rsi + r11 + 17], 7 - mov rbx, qword ptr [rsp + 224] # 8-byte Reload - pinsrb xmm0, byte ptr [rsi + rbx + 17], 8 - mov rdx, qword ptr [rsp + 272] # 8-byte Reload - pinsrb xmm0, byte ptr [rsi + rdx + 17], 9 - mov r14, qword ptr [rsp + 256] # 8-byte Reload - pinsrb xmm0, byte ptr [rsi + r14 + 17], 10 - mov r15, qword ptr [rsp + 80] # 8-byte Reload - pinsrb xmm0, byte ptr [rsi + r15 + 17], 11 - mov rdx, qword ptr [rsp + 192] # 8-byte Reload - pinsrb xmm0, byte ptr [rsi + rdx + 17], 12 - mov rdx, qword ptr [rsp + 112] # 8-byte Reload - pinsrb xmm0, byte ptr [rsi + rdx + 17], 13 - pinsrb xmm0, byte ptr [rsi + rdi + 17], 14 - pinsrb xmm0, byte ptr [rsi + r12 + 17], 15 + pinsrb xmm0, byte ptr [rsi + rbx + 17], 7 + mov r11, qword ptr [rsp + 256] # 8-byte Reload + pinsrb xmm0, byte ptr [rsi + r11 + 17], 8 + mov r15, qword ptr [rsp + 304] # 8-byte Reload + pinsrb xmm0, byte ptr [rsi + r15 + 17], 9 + mov rdx, qword ptr [rsp + 176] # 8-byte Reload + pinsrb xmm0, byte ptr [rsi + rdx + 17], 10 + pinsrb xmm0, byte ptr [rsi + r8 + 17], 11 + pinsrb xmm0, byte ptr [rsi + r12 + 17], 12 + mov r13, qword ptr [rsp + 96] # 8-byte Reload + pinsrb xmm0, byte ptr [rsi + r13 + 17], 13 + mov r14, qword ptr [rsp + 16] # 8-byte Reload + pinsrb xmm0, byte ptr [rsi + r14 + 17], 14 + mov rdx, qword ptr [rsp + 32] # 8-byte Reload + pinsrb xmm0, byte ptr [rsi + rdx + 17], 15 pand xmm14, xmmword ptr [rip + .LCPI10_6] por xmm14, xmm1 movdqa xmm1, xmm0 movdqa xmm12, xmm13 pmaxub xmm1, xmm13 pcmpeqb xmm1, xmm0 - movzx edx, byte ptr [rsi + r13 + 29] + movzx edx, byte ptr [rsi + rdi + 29] movd xmm0, edx - pinsrb xmm4, byte ptr [rsi + rcx + 18], 1 - mov r12, qword ptr [rsp + 176] # 8-byte Reload - pinsrb xmm4, byte ptr [rsi + r12 + 18], 2 + mov rdx, qword ptr [rsp + 80] # 8-byte Reload + pinsrb xmm4, byte ptr [rsi + rdx + 18], 1 + pinsrb xmm4, byte ptr [rsi + rax + 18], 2 pinsrb xmm4, byte ptr [rsi + r10 + 18], 3 - pinsrb xmm4, byte ptr [rsi + rax + 18], 4 - mov rcx, r8 - pinsrb xmm4, byte ptr [rsi + r8 + 18], 5 + pinsrb xmm4, byte ptr [rsi + rcx + 18], 4 + mov rcx, qword ptr [rsp + 48] # 8-byte Reload + pinsrb xmm4, byte ptr [rsi + rcx + 18], 5 mov rdi, r9 pinsrb xmm4, byte ptr [rsi + r9 + 18], 6 - pinsrb xmm4, byte ptr [rsi + r11 + 18], 7 - mov r8, rbx - pinsrb xmm4, byte ptr [rsi + rbx + 18], 8 - mov rbx, qword ptr [rsp + 272] # 8-byte Reload - pinsrb xmm4, byte ptr [rsi + rbx + 18], 9 - mov r9, r14 - pinsrb xmm4, byte ptr [rsi + r14 + 18], 10 - mov r14, r15 + pinsrb xmm4, byte ptr [rsi + rbx + 18], 7 + mov r8, r11 + pinsrb xmm4, byte ptr [rsi + r11 + 18], 8 + mov r9, r15 + pinsrb xmm4, byte ptr [rsi + r15 + 18], 9 + mov r11, qword ptr [rsp + 176] # 8-byte Reload + pinsrb xmm4, byte ptr [rsi + r11 + 18], 10 + mov r15, qword ptr [rsp + 160] # 8-byte Reload pinsrb xmm4, byte ptr [rsi + r15 + 18], 11 - mov r15, qword ptr [rsp + 192] # 8-byte Reload - pinsrb xmm4, byte ptr [rsi + r15 + 18], 12 - mov rdx, qword ptr [rsp + 112] # 8-byte Reload - pinsrb xmm4, byte ptr [rsi + rdx + 18], 13 - mov rax, qword ptr [rsp + 16] # 8-byte Reload - pinsrb xmm4, byte ptr [rsi + rax + 18], 14 - mov r13, qword ptr [rsp + 48] # 8-byte Reload + pinsrb xmm4, byte ptr [rsi + r12 + 18], 12 + mov rdx, r13 + pinsrb xmm4, byte ptr [rsi + r13 + 18], 13 + pinsrb xmm4, byte ptr [rsi + r14 + 18], 14 + mov r13, qword ptr [rsp + 32] # 8-byte Reload pinsrb xmm4, byte ptr [rsi + r13 + 18], 15 - mov rax, qword ptr [rsp + 32] # 8-byte Reload + mov rax, qword ptr [rsp + 80] # 8-byte Reload pinsrb xmm5, byte ptr [rsi + rax + 19], 1 - pinsrb xmm5, byte ptr [rsi + r12 + 19], 2 + mov rax, qword ptr [rsp + 128] # 8-byte Reload + pinsrb xmm5, byte ptr [rsi + rax + 19], 2 pinsrb xmm5, byte ptr [rsi + r10 + 19], 3 - mov rax, qword ptr [rsp + 96] # 8-byte Reload + mov rax, qword ptr [rsp + 112] # 8-byte Reload pinsrb xmm5, byte ptr [rsi + rax + 19], 4 pinsrb xmm5, byte ptr [rsi + rcx + 19], 5 pinsrb xmm5, byte ptr [rsi + rdi + 19], 6 - pinsrb xmm5, byte ptr [rsi + r11 + 19], 7 + pinsrb xmm5, byte ptr [rsi + rbx + 19], 7 pinsrb xmm5, byte ptr [rsi + r8 + 19], 8 - pinsrb xmm5, byte ptr [rsi + rbx + 19], 9 - pinsrb xmm5, byte ptr [rsi + r9 + 19], 10 - pinsrb xmm5, byte ptr [rsi + r14 + 19], 11 - pinsrb xmm5, byte ptr [rsi + r15 + 19], 12 + mov r14, r8 + pinsrb xmm5, byte ptr [rsi + r9 + 19], 9 + pinsrb xmm5, byte ptr [rsi + r11 + 19], 10 + pinsrb xmm5, byte ptr [rsi + r15 + 19], 11 + pinsrb xmm5, byte ptr [rsi + r12 + 19], 12 pinsrb xmm5, byte ptr [rsi + rdx + 19], 13 - mov rdi, rdx - mov r12, qword ptr [rsp + 16] # 8-byte Reload - pinsrb xmm5, byte ptr [rsi + r12 + 19], 14 + mov rax, qword ptr [rsp + 16] # 8-byte Reload + pinsrb xmm5, byte ptr [rsi + rax + 19], 14 pinsrb xmm5, byte ptr [rsi + r13 + 19], 15 pand xmm1, xmmword ptr [rip + .LCPI10_16] - psubb xmm1, xmmword ptr [rsp + 432] # 16-byte Folded Reload + psubb xmm1, xmmword ptr [rsp + 368] # 16-byte Folded Reload movdqa xmm13, xmm4 pmaxub xmm13, xmm12 pcmpeqb xmm13, xmm4 movdqa xmm11, xmm5 pmaxub xmm11, xmm12 pcmpeqb xmm11, xmm5 - mov rcx, qword ptr [rsp + 128] # 8-byte Reload - movzx edx, byte ptr [rsi + rcx + 30] + mov r8, qword ptr [rsp + 144] # 8-byte Reload + movzx edx, byte ptr [rsi + r8 + 30] movd xmm4, edx - mov rax, qword ptr [rsp + 32] # 8-byte Reload + mov rax, qword ptr [rsp + 80] # 8-byte Reload pinsrb xmm2, byte ptr [rsi + rax + 20], 1 pinsrb xmm3, byte ptr [rsi + rax + 21], 1 pinsrb xmm10, byte ptr [rsi + rax + 22], 1 @@ -52677,11 +54174,11 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar pinsrb xmm7, byte ptr [rsi + rax + 27], 1 pinsrb xmm9, byte ptr [rsi + rax + 28], 1 pinsrb xmm0, byte ptr [rsi + rax + 29], 1 - movzx edx, byte ptr [rsi + rcx + 31] + movzx edx, byte ptr [rsi + r8 + 31] pinsrb xmm4, byte ptr [rsi + rax + 30], 1 movd xmm5, edx pinsrb xmm5, byte ptr [rsi + rax + 31], 1 - mov rax, qword ptr [rsp + 176] # 8-byte Reload + mov rax, qword ptr [rsp + 128] # 8-byte Reload pinsrb xmm2, byte ptr [rsi + rax + 20], 2 pinsrb xmm3, byte ptr [rsi + rax + 21], 2 pinsrb xmm10, byte ptr [rsi + rax + 22], 2 @@ -52694,36 +54191,33 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar pinsrb xmm4, byte ptr [rsi + rax + 30], 2 pinsrb xmm5, byte ptr [rsi + rax + 31], 2 pinsrb xmm2, byte ptr [rsi + r10 + 20], 3 - mov rdx, qword ptr [rsp + 96] # 8-byte Reload + mov rdx, qword ptr [rsp + 112] # 8-byte Reload pinsrb xmm2, byte ptr [rsi + rdx + 20], 4 - mov rcx, qword ptr [rsp + 144] # 8-byte Reload pinsrb xmm2, byte ptr [rsi + rcx + 20], 5 - mov rax, qword ptr [rsp + 240] # 8-byte Reload - pinsrb xmm2, byte ptr [rsi + rax + 20], 6 - pinsrb xmm2, byte ptr [rsi + r11 + 20], 7 - pinsrb xmm2, byte ptr [rsi + r8 + 20], 8 - pinsrb xmm2, byte ptr [rsi + rbx + 20], 9 - pinsrb xmm2, byte ptr [rsi + r9 + 20], 10 - pinsrb xmm2, byte ptr [rsi + r14 + 20], 11 - pinsrb xmm2, byte ptr [rsi + r15 + 20], 12 - pinsrb xmm2, byte ptr [rsi + rdi + 20], 13 - pinsrb xmm2, byte ptr [rsi + r12 + 20], 14 + pinsrb xmm2, byte ptr [rsi + rdi + 20], 6 + pinsrb xmm2, byte ptr [rsi + rbx + 20], 7 + pinsrb xmm2, byte ptr [rsi + r14 + 20], 8 + pinsrb xmm2, byte ptr [rsi + r9 + 20], 9 + pinsrb xmm2, byte ptr [rsi + r11 + 20], 10 + pinsrb xmm2, byte ptr [rsi + r15 + 20], 11 + pinsrb xmm2, byte ptr [rsi + r12 + 20], 12 + mov r8, qword ptr [rsp + 96] # 8-byte Reload + pinsrb xmm2, byte ptr [rsi + r8 + 20], 13 + mov rax, qword ptr [rsp + 16] # 8-byte Reload + pinsrb xmm2, byte ptr [rsi + rax + 20], 14 pinsrb xmm2, byte ptr [rsi + r13 + 20], 15 pinsrb xmm3, byte ptr [rsi + r10 + 21], 3 - mov r9, r10 pinsrb xmm3, byte ptr [rsi + rdx + 21], 4 pinsrb xmm3, byte ptr [rsi + rcx + 21], 5 - pinsrb xmm3, byte ptr [rsi + rax + 21], 6 - pinsrb xmm3, byte ptr [rsi + r11 + 21], 7 - pinsrb xmm3, byte ptr [rsi + r8 + 21], 8 - pinsrb xmm3, byte ptr [rsi + rbx + 21], 9 - mov r8, qword ptr [rsp + 256] # 8-byte Reload - pinsrb xmm3, byte ptr [rsi + r8 + 21], 10 - pinsrb xmm3, byte ptr [rsi + r14 + 21], 11 - pinsrb xmm3, byte ptr [rsi + r15 + 21], 12 - mov r10, rdi - pinsrb xmm3, byte ptr [rsi + rdi + 21], 13 - pinsrb xmm3, byte ptr [rsi + r12 + 21], 14 + pinsrb xmm3, byte ptr [rsi + rdi + 21], 6 + pinsrb xmm3, byte ptr [rsi + rbx + 21], 7 + pinsrb xmm3, byte ptr [rsi + r14 + 21], 8 + pinsrb xmm3, byte ptr [rsi + r9 + 21], 9 + pinsrb xmm3, byte ptr [rsi + r11 + 21], 10 + pinsrb xmm3, byte ptr [rsi + r15 + 21], 11 + pinsrb xmm3, byte ptr [rsi + r12 + 21], 12 + pinsrb xmm3, byte ptr [rsi + r8 + 21], 13 + pinsrb xmm3, byte ptr [rsi + rax + 21], 14 pand xmm13, xmmword ptr [rip + .LCPI10_17] pand xmm11, xmmword ptr [rip + .LCPI10_18] por xmm11, xmm13 @@ -52735,38 +54229,37 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar movdqa xmm2, xmm3 pmaxub xmm2, xmm12 pcmpeqb xmm2, xmm3 - pinsrb xmm10, byte ptr [rsi + r9 + 22], 3 + pinsrb xmm10, byte ptr [rsi + r10 + 22], 3 pinsrb xmm10, byte ptr [rsi + rdx + 22], 4 pinsrb xmm10, byte ptr [rsi + rcx + 22], 5 - pinsrb xmm10, byte ptr [rsi + rax + 22], 6 - pinsrb xmm10, byte ptr [rsi + r11 + 22], 7 - mov rdi, qword ptr [rsp + 224] # 8-byte Reload - pinsrb xmm10, byte ptr [rsi + rdi + 22], 8 - pinsrb xmm10, byte ptr [rsi + rbx + 22], 9 - pinsrb xmm10, byte ptr [rsi + r8 + 22], 10 - pinsrb xmm10, byte ptr [rsi + r14 + 22], 11 - pinsrb xmm10, byte ptr [rsi + r15 + 22], 12 - pinsrb xmm10, byte ptr [rsi + r10 + 22], 13 - pinsrb xmm10, byte ptr [rsi + r12 + 22], 14 + pinsrb xmm10, byte ptr [rsi + rdi + 22], 6 + pinsrb xmm10, byte ptr [rsi + rbx + 22], 7 + pinsrb xmm10, byte ptr [rsi + r14 + 22], 8 + pinsrb xmm10, byte ptr [rsi + r9 + 22], 9 + pinsrb xmm10, byte ptr [rsi + r11 + 22], 10 + pinsrb xmm10, byte ptr [rsi + r15 + 22], 11 + pinsrb xmm10, byte ptr [rsi + r12 + 22], 12 + pinsrb xmm10, byte ptr [rsi + r8 + 22], 13 + pinsrb xmm10, byte ptr [rsi + rax + 22], 14 pinsrb xmm10, byte ptr [rsi + r13 + 22], 15 - pinsrb xmm8, byte ptr [rsi + r9 + 23], 3 + pinsrb xmm8, byte ptr [rsi + r10 + 23], 3 pinsrb xmm8, byte ptr [rsi + rdx + 23], 4 pinsrb xmm8, byte ptr [rsi + rcx + 23], 5 - pinsrb xmm8, byte ptr [rsi + rax + 23], 6 - pinsrb xmm8, byte ptr [rsi + r11 + 23], 7 - pinsrb xmm8, byte ptr [rsi + rdi + 23], 8 - pinsrb xmm8, byte ptr [rsi + rbx + 23], 9 - pinsrb xmm8, byte ptr [rsi + r8 + 23], 10 - pinsrb xmm8, byte ptr [rsi + r14 + 23], 11 - pinsrb xmm8, byte ptr [rsi + r15 + 23], 12 - pinsrb xmm8, byte ptr [rsi + r10 + 23], 13 + pinsrb xmm8, byte ptr [rsi + rdi + 23], 6 + pinsrb xmm8, byte ptr [rsi + rbx + 23], 7 + pinsrb xmm8, byte ptr [rsi + r14 + 23], 8 + pinsrb xmm8, byte ptr [rsi + r9 + 23], 9 + pinsrb xmm8, byte ptr [rsi + r11 + 23], 10 + pinsrb xmm8, byte ptr [rsi + r15 + 23], 11 + pinsrb xmm8, byte ptr [rsi + r12 + 23], 12 + pinsrb xmm8, byte ptr [rsi + r8 + 23], 13 pand xmm1, xmmword ptr [rip + .LCPI10_19] pand xmm2, xmmword ptr [rip + .LCPI10_20] por xmm2, xmm1 movdqa xmm1, xmm10 pmaxub xmm1, xmm12 pcmpeqb xmm1, xmm10 - pinsrb xmm8, byte ptr [rsi + r12 + 23], 14 + pinsrb xmm8, byte ptr [rsi + rax + 23], 14 pand xmm1, xmmword ptr [rip + .LCPI10_21] por xmm1, xmm2 pinsrb xmm8, byte ptr [rsi + r13 + 23], 15 @@ -52774,18 +54267,18 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar movdqa xmm10, xmm8 pmaxub xmm10, xmm12 pcmpeqb xmm10, xmm8 - pinsrb xmm15, byte ptr [rsi + r9 + 25], 3 + pinsrb xmm15, byte ptr [rsi + r10 + 25], 3 pinsrb xmm15, byte ptr [rsi + rdx + 25], 4 pinsrb xmm15, byte ptr [rsi + rcx + 25], 5 - pinsrb xmm15, byte ptr [rsi + rax + 25], 6 - pinsrb xmm15, byte ptr [rsi + r11 + 25], 7 - pinsrb xmm15, byte ptr [rsi + rdi + 25], 8 - pinsrb xmm15, byte ptr [rsi + rbx + 25], 9 - pinsrb xmm15, byte ptr [rsi + r8 + 25], 10 - pinsrb xmm15, byte ptr [rsi + r14 + 25], 11 - pinsrb xmm15, byte ptr [rsi + r15 + 25], 12 - pinsrb xmm15, byte ptr [rsi + r10 + 25], 13 - pinsrb xmm15, byte ptr [rsi + r12 + 25], 14 + pinsrb xmm15, byte ptr [rsi + rdi + 25], 6 + pinsrb xmm15, byte ptr [rsi + rbx + 25], 7 + pinsrb xmm15, byte ptr [rsi + r14 + 25], 8 + pinsrb xmm15, byte ptr [rsi + r9 + 25], 9 + pinsrb xmm15, byte ptr [rsi + r11 + 25], 10 + pinsrb xmm15, byte ptr [rsi + r15 + 25], 11 + pinsrb xmm15, byte ptr [rsi + r12 + 25], 12 + pinsrb xmm15, byte ptr [rsi + r8 + 25], 13 + pinsrb xmm15, byte ptr [rsi + rax + 25], 14 pinsrb xmm15, byte ptr [rsi + r13 + 25], 15 movdqa xmm11, xmmword ptr [rip + .LCPI10_6] # xmm11 = [128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128] pand xmm10, xmm11 @@ -52793,65 +54286,65 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar movdqa xmm3, xmm15 pmaxub xmm3, xmm12 pcmpeqb xmm3, xmm15 - pinsrb xmm6, byte ptr [rsi + r9 + 26], 3 + pinsrb xmm6, byte ptr [rsi + r10 + 26], 3 pinsrb xmm6, byte ptr [rsi + rdx + 26], 4 pinsrb xmm6, byte ptr [rsi + rcx + 26], 5 - pinsrb xmm6, byte ptr [rsi + rax + 26], 6 - pinsrb xmm6, byte ptr [rsi + r11 + 26], 7 - pinsrb xmm6, byte ptr [rsi + rdi + 26], 8 - pinsrb xmm6, byte ptr [rsi + rbx + 26], 9 - pinsrb xmm6, byte ptr [rsi + r8 + 26], 10 - pinsrb xmm6, byte ptr [rsi + r14 + 26], 11 - pinsrb xmm6, byte ptr [rsi + r15 + 26], 12 - pinsrb xmm6, byte ptr [rsi + r10 + 26], 13 - pinsrb xmm6, byte ptr [rsi + r12 + 26], 14 + pinsrb xmm6, byte ptr [rsi + rdi + 26], 6 + pinsrb xmm6, byte ptr [rsi + rbx + 26], 7 + pinsrb xmm6, byte ptr [rsi + r14 + 26], 8 + pinsrb xmm6, byte ptr [rsi + r9 + 26], 9 + pinsrb xmm6, byte ptr [rsi + r11 + 26], 10 + pinsrb xmm6, byte ptr [rsi + r15 + 26], 11 + pinsrb xmm6, byte ptr [rsi + r12 + 26], 12 + pinsrb xmm6, byte ptr [rsi + r8 + 26], 13 + pinsrb xmm6, byte ptr [rsi + rax + 26], 14 pinsrb xmm6, byte ptr [rsi + r13 + 26], 15 - pinsrb xmm7, byte ptr [rsi + r9 + 27], 3 + pinsrb xmm7, byte ptr [rsi + r10 + 27], 3 pinsrb xmm7, byte ptr [rsi + rdx + 27], 4 pinsrb xmm7, byte ptr [rsi + rcx + 27], 5 - pinsrb xmm7, byte ptr [rsi + rax + 27], 6 - pinsrb xmm7, byte ptr [rsi + r11 + 27], 7 - pinsrb xmm7, byte ptr [rsi + rdi + 27], 8 - pinsrb xmm7, byte ptr [rsi + rbx + 27], 9 - pinsrb xmm7, byte ptr [rsi + r8 + 27], 10 - pinsrb xmm7, byte ptr [rsi + r14 + 27], 11 - pinsrb xmm7, byte ptr [rsi + r15 + 27], 12 - pinsrb xmm7, byte ptr [rsi + r10 + 27], 13 - pinsrb xmm7, byte ptr [rsi + r12 + 27], 14 + pinsrb xmm7, byte ptr [rsi + rdi + 27], 6 + pinsrb xmm7, byte ptr [rsi + rbx + 27], 7 + pinsrb xmm7, byte ptr [rsi + r14 + 27], 8 + pinsrb xmm7, byte ptr [rsi + r9 + 27], 9 + pinsrb xmm7, byte ptr [rsi + r11 + 27], 10 + pinsrb xmm7, byte ptr [rsi + r15 + 27], 11 + pinsrb xmm7, byte ptr [rsi + r12 + 27], 12 + pinsrb xmm7, byte ptr [rsi + r8 + 27], 13 + pinsrb xmm7, byte ptr [rsi + rax + 27], 14 pinsrb xmm7, byte ptr [rsi + r13 + 27], 15 pand xmm3, xmmword ptr [rip + .LCPI10_16] - psubb xmm3, xmmword ptr [rsp + 320] # 16-byte Folded Reload + psubb xmm3, xmmword ptr [rsp + 240] # 16-byte Folded Reload movdqa xmm2, xmm6 pmaxub xmm2, xmm12 pcmpeqb xmm2, xmm6 movdqa xmm1, xmm7 pmaxub xmm1, xmm12 pcmpeqb xmm1, xmm7 - pinsrb xmm9, byte ptr [rsi + r9 + 28], 3 + pinsrb xmm9, byte ptr [rsi + r10 + 28], 3 pinsrb xmm9, byte ptr [rsi + rdx + 28], 4 pinsrb xmm9, byte ptr [rsi + rcx + 28], 5 - pinsrb xmm9, byte ptr [rsi + rax + 28], 6 - pinsrb xmm9, byte ptr [rsi + r11 + 28], 7 - pinsrb xmm9, byte ptr [rsi + rdi + 28], 8 - pinsrb xmm9, byte ptr [rsi + rbx + 28], 9 - pinsrb xmm9, byte ptr [rsi + r8 + 28], 10 - pinsrb xmm9, byte ptr [rsi + r14 + 28], 11 - pinsrb xmm9, byte ptr [rsi + r15 + 28], 12 - pinsrb xmm9, byte ptr [rsi + r10 + 28], 13 - pinsrb xmm9, byte ptr [rsi + r12 + 28], 14 + pinsrb xmm9, byte ptr [rsi + rdi + 28], 6 + pinsrb xmm9, byte ptr [rsi + rbx + 28], 7 + pinsrb xmm9, byte ptr [rsi + r14 + 28], 8 + pinsrb xmm9, byte ptr [rsi + r9 + 28], 9 + pinsrb xmm9, byte ptr [rsi + r11 + 28], 10 + pinsrb xmm9, byte ptr [rsi + r15 + 28], 11 + pinsrb xmm9, byte ptr [rsi + r12 + 28], 12 + pinsrb xmm9, byte ptr [rsi + r8 + 28], 13 + pinsrb xmm9, byte ptr [rsi + rax + 28], 14 pinsrb xmm9, byte ptr [rsi + r13 + 28], 15 - pinsrb xmm0, byte ptr [rsi + r9 + 29], 3 + pinsrb xmm0, byte ptr [rsi + r10 + 29], 3 pinsrb xmm0, byte ptr [rsi + rdx + 29], 4 pinsrb xmm0, byte ptr [rsi + rcx + 29], 5 - pinsrb xmm0, byte ptr [rsi + rax + 29], 6 - pinsrb xmm0, byte ptr [rsi + r11 + 29], 7 - pinsrb xmm0, byte ptr [rsi + rdi + 29], 8 - pinsrb xmm0, byte ptr [rsi + rbx + 29], 9 - pinsrb xmm0, byte ptr [rsi + r8 + 29], 10 - pinsrb xmm0, byte ptr [rsi + r14 + 29], 11 - pinsrb xmm0, byte ptr [rsi + r15 + 29], 12 - pinsrb xmm0, byte ptr [rsi + r10 + 29], 13 - pinsrb xmm0, byte ptr [rsi + r12 + 29], 14 + pinsrb xmm0, byte ptr [rsi + rdi + 29], 6 + pinsrb xmm0, byte ptr [rsi + rbx + 29], 7 + pinsrb xmm0, byte ptr [rsi + r14 + 29], 8 + pinsrb xmm0, byte ptr [rsi + r9 + 29], 9 + pinsrb xmm0, byte ptr [rsi + r11 + 29], 10 + pinsrb xmm0, byte ptr [rsi + r15 + 29], 11 + pinsrb xmm0, byte ptr [rsi + r12 + 29], 12 + pinsrb xmm0, byte ptr [rsi + r8 + 29], 13 + pinsrb xmm0, byte ptr [rsi + rax + 29], 14 pinsrb xmm0, byte ptr [rsi + r13 + 29], 15 pand xmm2, xmmword ptr [rip + .LCPI10_17] pand xmm1, xmmword ptr [rip + .LCPI10_18] @@ -52863,34 +54356,31 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar movdqa xmm3, xmm0 pmaxub xmm3, xmm12 pcmpeqb xmm3, xmm0 - pinsrb xmm4, byte ptr [rsi + r9 + 30], 3 - pinsrb xmm5, byte ptr [rsi + r9 + 31], 3 + pinsrb xmm4, byte ptr [rsi + r10 + 30], 3 + pinsrb xmm5, byte ptr [rsi + r10 + 31], 3 pinsrb xmm4, byte ptr [rsi + rdx + 30], 4 pinsrb xmm5, byte ptr [rsi + rdx + 31], 4 pinsrb xmm4, byte ptr [rsi + rcx + 30], 5 pinsrb xmm5, byte ptr [rsi + rcx + 31], 5 - pinsrb xmm4, byte ptr [rsi + rax + 30], 6 - pinsrb xmm5, byte ptr [rsi + rax + 31], 6 - pinsrb xmm4, byte ptr [rsi + r11 + 30], 7 - pinsrb xmm5, byte ptr [rsi + r11 + 31], 7 - mov rax, rdi - pinsrb xmm4, byte ptr [rsi + rdi + 30], 8 - pinsrb xmm5, byte ptr [rsi + rdi + 31], 8 - pinsrb xmm4, byte ptr [rsi + rbx + 30], 9 - pinsrb xmm5, byte ptr [rsi + rbx + 31], 9 + pinsrb xmm4, byte ptr [rsi + rdi + 30], 6 + pinsrb xmm5, byte ptr [rsi + rdi + 31], 6 + pinsrb xmm4, byte ptr [rsi + rbx + 30], 7 + pinsrb xmm5, byte ptr [rsi + rbx + 31], 7 + pinsrb xmm4, byte ptr [rsi + r14 + 30], 8 + pinsrb xmm5, byte ptr [rsi + r14 + 31], 8 + pinsrb xmm4, byte ptr [rsi + r9 + 30], 9 + pinsrb xmm5, byte ptr [rsi + r9 + 31], 9 + pinsrb xmm4, byte ptr [rsi + r11 + 30], 10 + pinsrb xmm5, byte ptr [rsi + r11 + 31], 10 mov r14, qword ptr [rsp + 352] # 8-byte Reload - mov rax, r8 - pinsrb xmm4, byte ptr [rsi + r8 + 30], 10 - pinsrb xmm5, byte ptr [rsi + r8 + 31], 10 - mov rax, qword ptr [rsp + 80] # 8-byte Reload - pinsrb xmm4, byte ptr [rsi + rax + 30], 11 - pinsrb xmm5, byte ptr [rsi + rax + 31], 11 - pinsrb xmm4, byte ptr [rsi + r15 + 30], 12 - pinsrb xmm5, byte ptr [rsi + r15 + 31], 12 - pinsrb xmm4, byte ptr [rsi + r10 + 30], 13 - pinsrb xmm5, byte ptr [rsi + r10 + 31], 13 - pinsrb xmm4, byte ptr [rsi + r12 + 30], 14 - pinsrb xmm5, byte ptr [rsi + r12 + 31], 14 + pinsrb xmm4, byte ptr [rsi + r15 + 30], 11 + pinsrb xmm5, byte ptr [rsi + r15 + 31], 11 + pinsrb xmm4, byte ptr [rsi + r12 + 30], 12 + pinsrb xmm5, byte ptr [rsi + r12 + 31], 12 + pinsrb xmm4, byte ptr [rsi + r8 + 30], 13 + pinsrb xmm5, byte ptr [rsi + r8 + 31], 13 + pinsrb xmm4, byte ptr [rsi + rax + 30], 14 + pinsrb xmm5, byte ptr [rsi + rax + 31], 14 pinsrb xmm4, byte ptr [rsi + r13 + 30], 15 pand xmm2, xmmword ptr [rip + .LCPI10_19] pand xmm3, xmmword ptr [rip + .LCPI10_20] @@ -52909,7 +54399,7 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar por xmm1, xmm0 movdqa xmm0, xmm10 punpcklbw xmm0, xmm1 # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3],xmm0[4],xmm1[4],xmm0[5],xmm1[5],xmm0[6],xmm1[6],xmm0[7],xmm1[7] - movdqa xmm4, xmmword ptr [rsp + 160] # 16-byte Reload + movdqa xmm4, xmmword ptr [rsp + 272] # 16-byte Reload movdqa xmm2, xmm4 punpcklbw xmm2, xmm14 # xmm2 = xmm2[0],xmm14[0],xmm2[1],xmm14[1],xmm2[2],xmm14[2],xmm2[3],xmm14[3],xmm2[4],xmm14[4],xmm2[5],xmm14[5],xmm2[6],xmm14[6],xmm2[7],xmm14[7] movdqa xmm3, xmm2 @@ -52926,25 +54416,24 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar movdqu xmmword ptr [r14 + 4*rcx + 16], xmm2 movdqu xmmword ptr [r14 + 4*rcx], xmm3 add rcx, 16 - mov rdx, rcx + mov rax, rcx cmp rcx, qword ptr [rsp + 416] # 8-byte Folded Reload - jne .LBB10_195 -# %bb.196: + jne .LBB10_67 +# %bb.68: mov r15, qword ptr [rsp + 464] # 8-byte Reload cmp r15, qword ptr [rsp + 416] # 8-byte Folded Reload mov r11b, byte ptr [rsp + 8] # 1-byte Reload mov rsi, qword ptr [rsp + 392] # 8-byte Reload mov r10, qword ptr [rsp + 72] # 8-byte Reload - jne .LBB10_67 - jmp .LBB10_132 -.LBB10_197: - mov rax, r15 - and rax, -8 - mov r11, rax + jne .LBB10_69 + jmp .LBB10_72 +.LBB10_124: + and r15, -8 + mov r11, r15 shl r11, 6 add r11, rsi - mov qword ptr [rsp + 400], rax # 8-byte Spill - lea rax, [r14 + 4*rax] + mov qword ptr [rsp + 400], r15 # 8-byte Spill + lea rax, [r14 + 4*r15] mov qword ptr [rsp + 8], rax # 8-byte Spill movd xmm0, dword ptr [rsp + 392] # 4-byte Folded Reload # xmm0 = mem[0],zero,zero,zero @@ -52953,7 +54442,7 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar movdqa xmmword ptr [rsp + 464], xmm0 # 16-byte Spill xor r10d, r10d .p2align 4, 0x90 -.LBB10_198: # =>This Inner Loop Header: Depth=1 +.LBB10_125: # =>This Inner Loop Header: Depth=1 mov r9, r10 shl r9, 6 mov r8, r9 @@ -53049,7 +54538,7 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar pinsrw xmm12, word ptr [rsi + r12 + 8], 6 pinsrw xmm12, word ptr [rsi + r13 + 8], 7 pcmpgtw xmm7, xmm10 - movdqa xmmword ptr [rsp + 112], xmm7 # 16-byte Spill + movdqa xmmword ptr [rsp + 144], xmm7 # 16-byte Spill movdqa xmm7, xmm0 pcmpgtw xmm7, xmm12 movdqa xmmword ptr [rsp + 32], xmm7 # 16-byte Spill @@ -53108,7 +54597,7 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar pinsrw xmm3, word ptr [rsi + r15 + 20], 5 pinsrw xmm3, word ptr [rsi + r12 + 20], 6 pcmpgtw xmm1, xmm2 - movdqa xmmword ptr [rsp + 176], xmm1 # 16-byte Spill + movdqa xmmword ptr [rsp + 160], xmm1 # 16-byte Spill pinsrw xmm3, word ptr [rsi + r13 + 20], 7 movdqa xmm1, xmm0 pcmpgtw xmm1, xmm3 @@ -53129,7 +54618,7 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar pinsrw xmm5, word ptr [rsi + r12 + 24], 6 pinsrw xmm5, word ptr [rsi + r13 + 24], 7 pcmpgtw xmm1, xmm4 - movdqa xmmword ptr [rsp + 192], xmm1 # 16-byte Spill + movdqa xmmword ptr [rsp + 176], xmm1 # 16-byte Spill movdqa xmm1, xmm0 pcmpgtw xmm1, xmm5 movdqa xmmword ptr [rsp + 16], xmm1 # 16-byte Spill @@ -53148,7 +54637,7 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar pinsrw xmm15, word ptr [rsi + r15 + 28], 5 pinsrw xmm15, word ptr [rsi + r12 + 28], 6 pcmpgtw xmm1, xmm6 - movdqa xmmword ptr [rsp + 208], xmm1 # 16-byte Spill + movdqa xmmword ptr [rsp + 192], xmm1 # 16-byte Spill pinsrw xmm15, word ptr [rsi + r13 + 28], 7 movd xmm1, edx pinsrw xmm1, word ptr [rsi + rcx + 30], 1 @@ -53159,11 +54648,11 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar pinsrw xmm1, word ptr [rsi + r12 + 30], 6 movdqa xmm2, xmm0 pcmpgtw xmm2, xmm15 - movdqa xmmword ptr [rsp + 240], xmm2 # 16-byte Spill + movdqa xmmword ptr [rsp + 224], xmm2 # 16-byte Spill pinsrw xmm1, word ptr [rsi + r13 + 30], 7 movdqa xmm2, xmm0 pcmpgtw xmm2, xmm1 - movdqa xmmword ptr [rsp + 144], xmm2 # 16-byte Spill + movdqa xmmword ptr [rsp + 112], xmm2 # 16-byte Spill movzx eax, word ptr [rsi + r9 + 32] movd xmm1, eax pinsrw xmm1, word ptr [rsi + rcx + 32], 1 @@ -53184,10 +54673,10 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar pinsrw xmm2, word ptr [rsi + r13 + 34], 7 movdqa xmm3, xmm0 pcmpgtw xmm3, xmm1 - movdqa xmmword ptr [rsp + 224], xmm3 # 16-byte Spill + movdqa xmmword ptr [rsp + 208], xmm3 # 16-byte Spill movdqa xmm1, xmm0 pcmpgtw xmm1, xmm2 - movdqa xmmword ptr [rsp + 288], xmm1 # 16-byte Spill + movdqa xmmword ptr [rsp + 256], xmm1 # 16-byte Spill movzx eax, word ptr [rsi + r9 + 36] movd xmm1, eax pinsrw xmm1, word ptr [rsi + rcx + 36], 1 @@ -53207,11 +54696,11 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar pinsrw xmm2, word ptr [rsi + r12 + 38], 6 movdqa xmm3, xmm0 pcmpgtw xmm3, xmm1 - movdqa xmmword ptr [rsp + 256], xmm3 # 16-byte Spill + movdqa xmmword ptr [rsp + 288], xmm3 # 16-byte Spill pinsrw xmm2, word ptr [rsi + r13 + 38], 7 movdqa xmm1, xmm0 pcmpgtw xmm1, xmm2 - movdqa xmmword ptr [rsp + 272], xmm1 # 16-byte Spill + movdqa xmmword ptr [rsp + 304], xmm1 # 16-byte Spill movzx eax, word ptr [rsi + r9 + 40] movd xmm1, eax pinsrw xmm1, word ptr [rsi + rcx + 40], 1 @@ -53232,10 +54721,10 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar pinsrw xmm2, word ptr [rsi + r13 + 42], 7 movdqa xmm3, xmm0 pcmpgtw xmm3, xmm1 - movdqa xmmword ptr [rsp + 304], xmm3 # 16-byte Spill + movdqa xmmword ptr [rsp + 336], xmm3 # 16-byte Spill movdqa xmm1, xmm0 pcmpgtw xmm1, xmm2 - movdqa xmmword ptr [rsp + 336], xmm1 # 16-byte Spill + movdqa xmmword ptr [rsp + 272], xmm1 # 16-byte Spill movzx eax, word ptr [rsi + r9 + 44] movd xmm1, eax pinsrw xmm1, word ptr [rsi + rcx + 44], 1 @@ -53259,7 +54748,7 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar pinsrw xmm2, word ptr [rsi + r13 + 46], 7 movdqa xmm1, xmm0 pcmpgtw xmm1, xmm2 - movdqa xmmword ptr [rsp + 160], xmm1 # 16-byte Spill + movdqa xmmword ptr [rsp + 240], xmm1 # 16-byte Spill movzx eax, word ptr [rsi + r9 + 48] movd xmm1, eax pinsrw xmm1, word ptr [rsi + rcx + 48], 1 @@ -53368,7 +54857,7 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar pcmpeqd xmm8, xmm8 packsswb xmm0, xmm0 psubb xmm7, xmm0 - movdqa xmm2, xmmword ptr [rsp + 112] # 16-byte Reload + movdqa xmm2, xmmword ptr [rsp + 144] # 16-byte Reload packsswb xmm2, xmm2 movdqa xmm11, xmmword ptr [rip + .LCPI10_10] # xmm11 = <8,8,8,8,8,8,8,8,u,u,u,u,u,u,u,u> movdqa xmm0, xmm2 @@ -53398,7 +54887,7 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar movdqa xmm0, xmm2 pblendvb xmm14, xmm4, xmm0 por xmm1, xmm11 - movdqa xmm0, xmmword ptr [rsp + 176] # 16-byte Reload + movdqa xmm0, xmmword ptr [rsp + 160] # 16-byte Reload packsswb xmm0, xmm0 movdqa xmm11, xmm3 movdqa xmm7, xmm3 @@ -53413,7 +54902,7 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar movdqa xmm3, xmmword ptr [rip + .LCPI10_9] # xmm3 = <4,4,4,4,4,4,4,4,u,u,u,u,u,u,u,u> movdqa xmm1, xmm3 pblendvb xmm1, xmm4, xmm0 - movdqa xmm0, xmmword ptr [rsp + 192] # 16-byte Reload + movdqa xmm0, xmmword ptr [rsp + 176] # 16-byte Reload packsswb xmm0, xmm0 movdqa xmm8, xmmword ptr [rip + .LCPI10_10] # xmm8 = <8,8,8,8,8,8,8,8,u,u,u,u,u,u,u,u> movdqa xmm2, xmm8 @@ -53424,42 +54913,42 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar packsswb xmm0, xmm0 movdqa xmm1, xmmword ptr [rip + .LCPI10_11] # xmm1 = <16,16,16,16,16,16,16,16,u,u,u,u,u,u,u,u> pblendvb xmm1, xmm4, xmm0 - movdqa xmm0, xmmword ptr [rsp + 208] # 16-byte Reload + movdqa xmm0, xmmword ptr [rsp + 192] # 16-byte Reload packsswb xmm0, xmm0 pblendvb xmm10, xmm4, xmm0 por xmm10, xmm1 - movdqa xmm0, xmmword ptr [rsp + 240] # 16-byte Reload + movdqa xmm0, xmmword ptr [rsp + 224] # 16-byte Reload packsswb xmm0, xmm0 movdqa xmm1, xmmword ptr [rip + .LCPI10_13] # xmm1 = <64,64,64,64,64,64,64,64,u,u,u,u,u,u,u,u> pblendvb xmm1, xmm4, xmm0 por xmm1, xmm10 por xmm1, xmm2 - movdqa xmm0, xmmword ptr [rsp + 144] # 16-byte Reload + movdqa xmm0, xmmword ptr [rsp + 112] # 16-byte Reload packsswb xmm0, xmm0 movdqa xmm10, xmmword ptr [rip + .LCPI10_14] # xmm10 = <128,128,128,128,128,128,128,128,u,u,u,u,u,u,u,u> pblendvb xmm10, xmm4, xmm0 por xmm10, xmm1 - movdqa xmm0, xmmword ptr [rsp + 288] # 16-byte Reload + movdqa xmm0, xmmword ptr [rsp + 256] # 16-byte Reload packsswb xmm0, xmm0 movdqa xmm1, xmm11 pblendvb xmm1, xmm4, xmm0 - movdqa xmm0, xmmword ptr [rsp + 256] # 16-byte Reload + movdqa xmm0, xmmword ptr [rsp + 288] # 16-byte Reload packsswb xmm0, xmm0 movdqa xmm2, xmm3 pblendvb xmm2, xmm4, xmm0 - movdqa xmm0, xmmword ptr [rsp + 224] # 16-byte Reload + movdqa xmm0, xmmword ptr [rsp + 208] # 16-byte Reload pxor xmm0, xmmword ptr [rip + .LCPI10_22] pcmpeqd xmm3, xmm3 packsswb xmm0, xmm0 psubb xmm1, xmm0 - movdqa xmm0, xmmword ptr [rsp + 272] # 16-byte Reload + movdqa xmm0, xmmword ptr [rsp + 304] # 16-byte Reload packsswb xmm0, xmm0 movdqa xmm7, xmm8 pblendvb xmm7, xmm4, xmm0 por xmm7, xmm2 - movdqa xmm0, xmmword ptr [rsp + 304] # 16-byte Reload + movdqa xmm0, xmmword ptr [rsp + 336] # 16-byte Reload packsswb xmm0, xmm0 - movdqa xmm11, xmmword ptr [rsp + 336] # 16-byte Reload + movdqa xmm11, xmmword ptr [rsp + 272] # 16-byte Reload packsswb xmm11, xmm11 por xmm7, xmm1 movdqa xmm1, xmmword ptr [rip + .LCPI10_11] # xmm1 = <16,16,16,16,16,16,16,16,u,u,u,u,u,u,u,u> @@ -53473,7 +54962,7 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar movdqa xmm1, xmmword ptr [rip + .LCPI10_13] # xmm1 = <64,64,64,64,64,64,64,64,u,u,u,u,u,u,u,u> pblendvb xmm1, xmm4, xmm0 por xmm1, xmm2 - movdqa xmm0, xmmword ptr [rsp + 160] # 16-byte Reload + movdqa xmm0, xmmword ptr [rsp + 240] # 16-byte Reload packsswb xmm0, xmm0 movdqa xmm11, xmmword ptr [rsp + 368] # 16-byte Reload packsswb xmm11, xmm11 @@ -53531,28 +55020,28 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar movdqu xmmword ptr [r14 + 4*r10 + 16], xmm0 add r10, 8 cmp r10, qword ptr [rsp + 400] # 8-byte Folded Reload - jne .LBB10_198 -# %bb.199: + jne .LBB10_125 +# %bb.126: mov r15, qword ptr [rsp + 456] # 8-byte Reload cmp r15, qword ptr [rsp + 400] # 8-byte Folded Reload mov r10, qword ptr [rsp + 72] # 8-byte Reload mov r12, qword ptr [rsp + 8] # 8-byte Reload - jne .LBB10_101 - jmp .LBB10_136 -.LBB10_200: - mov r8, r11 - and r8, -4 - mov rbx, r8 - shl rbx, 7 - add rbx, rsi - lea r15, [r14 + 4*r8] + jne .LBB10_127 + jmp .LBB10_130 +.LBB10_182: + mov rax, r11 + and rax, -4 + mov rdx, rax + shl rdx, 7 + add rdx, rsi + lea r15, [r14 + 4*rax] movaps xmm13, xmm11 shufps xmm13, xmm11, 0 # xmm13 = xmm13[0,0],xmm11[0,0] add rsi, 508 xor ecx, ecx movdqa xmm15, xmmword ptr [rip + .LCPI10_0] # xmm15 = <1,1,1,1,u,u,u,u,u,u,u,u,u,u,u,u> .p2align 4, 0x90 -.LBB10_201: # =>This Inner Loop Header: Depth=1 +.LBB10_183: # =>This Inner Loop Header: Depth=1 movss xmm3, dword ptr [rsi - 508] # xmm3 = mem[0],zero,zero,zero movss xmm10, dword ptr [rsi - 504] # xmm10 = mem[0],zero,zero,zero movss xmm9, dword ptr [rsi - 500] # xmm9 = mem[0],zero,zero,zero @@ -53939,12 +55428,12 @@ comparison_greater_equal_arr_scalar_sse4: # @comparison_greater_equal_arr_scalar movdqu xmmword ptr [r14 + 4*rcx], xmm8 add rcx, 4 add rsi, 512 - cmp r8, rcx - jne .LBB10_201 -# %bb.202: - cmp r11, r8 - jne .LBB10_124 - jmp .LBB10_140 + cmp rax, rcx + jne .LBB10_183 +# %bb.184: + cmp r11, rax + jne .LBB10_185 + jmp .LBB10_188 .Lfunc_end10: .size comparison_greater_equal_arr_scalar_sse4, .Lfunc_end10-comparison_greater_equal_arr_scalar_sse4 # -- End function diff --git a/arrow/compute/internal/kernels/scalar_comparison_avx2_amd64.s b/arrow/compute/internal/kernels/scalar_comparison_avx2_amd64.s index bfc999b8..30246a22 100644 --- a/arrow/compute/internal/kernels/scalar_comparison_avx2_amd64.s +++ b/arrow/compute/internal/kernels/scalar_comparison_avx2_amd64.s @@ -1,4 +1,4 @@ -//go:build go1.18 && !noasm && !appengine +//+build !noasm !appengine // AUTO-GENERATED BY C2GOASM -- DO NOT EDIT TEXT ·_comparison_equal_arr_arr_avx2(SB), $80-48 @@ -11,8 +11,9 @@ TEXT ·_comparison_equal_arr_arr_avx2(SB), $80-48 MOVQ offset+40(FP), R9 ADDQ $8, SP - WORD $0x894d; BYTE $0xc3 // mov r11, r8 - WORD $0x8949; BYTE $0xce // mov r14, rcx + WORD $0x8944; BYTE $0xc8 // mov eax, r9d + WORD $0x894d; BYTE $0xc6 // mov r14, r8 + WORD $0x8949; BYTE $0xcc // mov r12, rcx WORD $0xff83; BYTE $0x06 // cmp edi, 6 JG LBB0_29 WORD $0xff83; BYTE $0x03 // cmp edi, 3 @@ -23,16 +24,16 @@ TEXT ·_comparison_equal_arr_arr_avx2(SB), $80-48 JE LBB0_79 WORD $0xff83; BYTE $0x06 // cmp edi, 6 JNE LBB0_123 - LONG $0x1f7b8d4d // lea r15, [r11 + 31] - WORD $0x854d; BYTE $0xdb // test r11, r11 - LONG $0xfb490f4d // cmovns r15, r11 - LONG $0x07418d41 // lea eax, [r9 + 7] - WORD $0x8545; BYTE $0xc9 // test r9d, r9d - LONG $0xc1490f41 // cmovns eax, r9d - WORD $0xe083; BYTE $0xf8 // and eax, -8 - WORD $0x2941; BYTE $0xc1 // sub r9d, eax + LONG $0x1f7e8d4d // lea r15, [r14 + 31] + WORD $0x854d; BYTE $0xf6 // test r14, r14 + LONG $0xfe490f4d // cmovns r15, r14 + WORD $0x488d; BYTE $0x07 // lea ecx, [rax + 7] + WORD $0xc085 // test eax, eax + WORD $0x490f; BYTE $0xc8 // cmovns ecx, eax + WORD $0xe183; BYTE $0xf8 // and ecx, -8 + WORD $0xc829 // sub eax, ecx JE LBB0_22 - WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d + WORD $0x9848 // cdqe LBB0_20: WORD $0x0e8b // mov ecx, dword [rsi] @@ -45,7 +46,7 @@ LBB0_20: WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xf8490f48 // cmovns rdi, rax LONG $0x03ffc148 // sar rdi, 3 - LONG $0x04b60f45; BYTE $0x3e // movzx r8d, byte [r14 + rdi] + LONG $0x04b60f45; BYTE $0x3c // movzx r8d, byte [r12 + rdi] WORD $0x3045; BYTE $0xc2 // xor r10b, r8b QUAD $0x00000000fd0c8d44 // lea r9d, [8*rdi] WORD $0xc189 // mov ecx, eax @@ -54,49 +55,49 @@ LBB0_20: WORD $0xe3d3 // shl ebx, cl WORD $0x2044; BYTE $0xd3 // and bl, r10b WORD $0x3044; BYTE $0xc3 // xor bl, r8b - LONG $0x3e1c8841 // mov byte [r14 + rdi], bl + LONG $0x3c1c8841 // mov byte [r12 + rdi], bl LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 JNE LBB0_20 - LONG $0x01c68349 // add r14, 1 + LONG $0x01c48349 // add r12, 1 LBB0_22: LONG $0x05ffc149 // sar r15, 5 - LONG $0x20fb8349 // cmp r11, 32 + LONG $0x20fe8349 // cmp r14, 32 JL LBB0_26 - LONG $0x245c894c; BYTE $0x18 // mov qword [rsp + 24], r11 - LONG $0x247c894c; BYTE $0x40 // mov qword [rsp + 64], r15 + LONG $0x2474894c; BYTE $0x18 // mov qword [rsp + 24], r14 LONG $0x247c894c; BYTE $0x38 // mov qword [rsp + 56], r15 + LONG $0x247c894c; BYTE $0x20 // mov qword [rsp + 32], r15 LBB0_24: - LONG $0x2474894c; BYTE $0x30 // mov qword [rsp + 48], r14 + LONG $0x2464894c; BYTE $0x30 // mov qword [rsp + 48], r12 WORD $0x068b // mov eax, dword [rsi] WORD $0x4e8b; BYTE $0x04 // mov ecx, dword [rsi + 4] WORD $0x023b // cmp eax, dword [rdx] - LONG $0x2454940f; BYTE $0x28 // sete byte [rsp + 40] + LONG $0x2454940f; BYTE $0x04 // sete byte [rsp + 4] WORD $0x4a3b; BYTE $0x04 // cmp ecx, dword [rdx + 4] - LONG $0x2454940f; BYTE $0x20 // sete byte [rsp + 32] + LONG $0x2454940f; BYTE $0x28 // sete byte [rsp + 40] WORD $0x468b; BYTE $0x08 // mov eax, dword [rsi + 8] WORD $0x423b; BYTE $0x08 // cmp eax, dword [rdx + 8] - LONG $0x2454940f; BYTE $0x14 // sete byte [rsp + 20] + LONG $0x2454940f; BYTE $0x15 // sete byte [rsp + 21] WORD $0x468b; BYTE $0x0c // mov eax, dword [rsi + 12] WORD $0x423b; BYTE $0x0c // cmp eax, dword [rdx + 12] - LONG $0x2454940f; BYTE $0x15 // sete byte [rsp + 21] + LONG $0x2454940f; BYTE $0x16 // sete byte [rsp + 22] WORD $0x468b; BYTE $0x10 // mov eax, dword [rsi + 16] WORD $0x423b; BYTE $0x10 // cmp eax, dword [rdx + 16] - LONG $0x2454940f; BYTE $0x16 // sete byte [rsp + 22] + LONG $0x2454940f; BYTE $0x17 // sete byte [rsp + 23] WORD $0x468b; BYTE $0x14 // mov eax, dword [rsi + 20] WORD $0x423b; BYTE $0x14 // cmp eax, dword [rdx + 20] - LONG $0x2454940f; BYTE $0x17 // sete byte [rsp + 23] + LONG $0x2454940f; BYTE $0x03 // sete byte [rsp + 3] WORD $0x468b; BYTE $0x18 // mov eax, dword [rsi + 24] WORD $0x423b; BYTE $0x18 // cmp eax, dword [rdx + 24] - LONG $0x2454940f; BYTE $0x04 // sete byte [rsp + 4] + LONG $0x2454940f; BYTE $0x05 // sete byte [rsp + 5] WORD $0x468b; BYTE $0x1c // mov eax, dword [rsi + 28] WORD $0x423b; BYTE $0x1c // cmp eax, dword [rdx + 28] LONG $0xd5940f41 // sete r13b WORD $0x468b; BYTE $0x20 // mov eax, dword [rsi + 32] WORD $0x423b; BYTE $0x20 // cmp eax, dword [rdx + 32] - LONG $0x2454940f; BYTE $0x09 // sete byte [rsp + 9] + LONG $0x2454940f; BYTE $0x0a // sete byte [rsp + 10] WORD $0x468b; BYTE $0x24 // mov eax, dword [rsi + 36] WORD $0x423b; BYTE $0x24 // cmp eax, dword [rdx + 36] LONG $0xd0940f41 // sete r8b @@ -108,165 +109,165 @@ LBB0_24: LONG $0xd7940f41 // sete r15b WORD $0x468b; BYTE $0x30 // mov eax, dword [rsi + 48] WORD $0x423b; BYTE $0x30 // cmp eax, dword [rdx + 48] - LONG $0x2454940f; BYTE $0x05 // sete byte [rsp + 5] + LONG $0x2454940f; BYTE $0x06 // sete byte [rsp + 6] WORD $0x468b; BYTE $0x34 // mov eax, dword [rsi + 52] WORD $0x423b; BYTE $0x34 // cmp eax, dword [rdx + 52] - LONG $0x2454940f; BYTE $0x06 // sete byte [rsp + 6] + LONG $0x2454940f; BYTE $0x07 // sete byte [rsp + 7] WORD $0x468b; BYTE $0x38 // mov eax, dword [rsi + 56] WORD $0x423b; BYTE $0x38 // cmp eax, dword [rdx + 56] - LONG $0x2454940f; BYTE $0x07 // sete byte [rsp + 7] + LONG $0x2454940f; BYTE $0x08 // sete byte [rsp + 8] WORD $0x468b; BYTE $0x3c // mov eax, dword [rsi + 60] WORD $0x423b; BYTE $0x3c // cmp eax, dword [rdx + 60] - WORD $0x940f; BYTE $0xd3 // sete bl + LONG $0xd7940f40 // sete dil WORD $0x468b; BYTE $0x40 // mov eax, dword [rsi + 64] - WORD $0x4e8b; BYTE $0x44 // mov ecx, dword [rsi + 68] + WORD $0x5e8b; BYTE $0x44 // mov ebx, dword [rsi + 68] WORD $0x423b; BYTE $0x40 // cmp eax, dword [rdx + 64] WORD $0x468b; BYTE $0x48 // mov eax, dword [rsi + 72] - LONG $0x2454940f; BYTE $0x0a // sete byte [rsp + 10] - WORD $0x4a3b; BYTE $0x44 // cmp ecx, dword [rdx + 68] - WORD $0x4e8b; BYTE $0x4c // mov ecx, dword [rsi + 76] + LONG $0x2454940f; BYTE $0x0b // sete byte [rsp + 11] + WORD $0x5a3b; BYTE $0x44 // cmp ebx, dword [rdx + 68] + WORD $0x5e8b; BYTE $0x4c // mov ebx, dword [rsi + 76] LONG $0xd2940f41 // sete r10b WORD $0x423b; BYTE $0x48 // cmp eax, dword [rdx + 72] WORD $0x468b; BYTE $0x50 // mov eax, dword [rsi + 80] LONG $0xd6940f41 // sete r14b - WORD $0x4a3b; BYTE $0x4c // cmp ecx, dword [rdx + 76] - WORD $0x4e8b; BYTE $0x54 // mov ecx, dword [rsi + 84] + WORD $0x5a3b; BYTE $0x4c // cmp ebx, dword [rdx + 76] + WORD $0x5e8b; BYTE $0x54 // mov ebx, dword [rsi + 84] LONG $0xd4940f41 // sete r12b WORD $0x423b; BYTE $0x50 // cmp eax, dword [rdx + 80] - LONG $0x2454940f; BYTE $0x08 // sete byte [rsp + 8] - WORD $0x4a3b; BYTE $0x54 // cmp ecx, dword [rdx + 84] + LONG $0x2454940f; BYTE $0x09 // sete byte [rsp + 9] + WORD $0x5a3b; BYTE $0x54 // cmp ebx, dword [rdx + 84] WORD $0x468b; BYTE $0x58 // mov eax, dword [rsi + 88] - LONG $0x2454940f; BYTE $0x0b // sete byte [rsp + 11] + LONG $0x2454940f; BYTE $0x0c // sete byte [rsp + 12] WORD $0x423b; BYTE $0x58 // cmp eax, dword [rdx + 88] WORD $0x468b; BYTE $0x5c // mov eax, dword [rsi + 92] - LONG $0x2454940f; BYTE $0x0c // sete byte [rsp + 12] + LONG $0x2454940f; BYTE $0x0d // sete byte [rsp + 13] WORD $0x423b; BYTE $0x5c // cmp eax, dword [rdx + 92] WORD $0x468b; BYTE $0x60 // mov eax, dword [rsi + 96] LONG $0xd1940f41 // sete r9b WORD $0x423b; BYTE $0x60 // cmp eax, dword [rdx + 96] WORD $0x468b; BYTE $0x64 // mov eax, dword [rsi + 100] - LONG $0x2454940f; BYTE $0x13 // sete byte [rsp + 19] + LONG $0x2454940f; BYTE $0x14 // sete byte [rsp + 20] WORD $0x423b; BYTE $0x64 // cmp eax, dword [rdx + 100] WORD $0x468b; BYTE $0x68 // mov eax, dword [rsi + 104] - LONG $0x2454940f; BYTE $0x0d // sete byte [rsp + 13] + LONG $0x2454940f; BYTE $0x0e // sete byte [rsp + 14] WORD $0x423b; BYTE $0x68 // cmp eax, dword [rdx + 104] WORD $0x468b; BYTE $0x6c // mov eax, dword [rsi + 108] - LONG $0x2454940f; BYTE $0x0e // sete byte [rsp + 14] + LONG $0x2454940f; BYTE $0x0f // sete byte [rsp + 15] WORD $0x423b; BYTE $0x6c // cmp eax, dword [rdx + 108] WORD $0x468b; BYTE $0x70 // mov eax, dword [rsi + 112] - LONG $0x2454940f; BYTE $0x0f // sete byte [rsp + 15] + LONG $0x2454940f; BYTE $0x10 // sete byte [rsp + 16] WORD $0x423b; BYTE $0x70 // cmp eax, dword [rdx + 112] WORD $0x468b; BYTE $0x74 // mov eax, dword [rsi + 116] - LONG $0x2454940f; BYTE $0x10 // sete byte [rsp + 16] + LONG $0x2454940f; BYTE $0x11 // sete byte [rsp + 17] WORD $0x423b; BYTE $0x74 // cmp eax, dword [rdx + 116] WORD $0x468b; BYTE $0x78 // mov eax, dword [rsi + 120] - LONG $0x2454940f; BYTE $0x12 // sete byte [rsp + 18] + LONG $0x2454940f; BYTE $0x13 // sete byte [rsp + 19] WORD $0x423b; BYTE $0x78 // cmp eax, dword [rdx + 120] WORD $0x468b; BYTE $0x7c // mov eax, dword [rsi + 124] - LONG $0x2454940f; BYTE $0x11 // sete byte [rsp + 17] + LONG $0x2454940f; BYTE $0x12 // sete byte [rsp + 18] LONG $0x80ee8348 // sub rsi, -128 WORD $0x423b; BYTE $0x7c // cmp eax, dword [rdx + 124] - LONG $0xd7940f40 // sete dil - LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] + WORD $0x940f; BYTE $0xd1 // sete cl + LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] WORD $0xc000 // add al, al - LONG $0x28244402 // add al, byte [rsp + 40] - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x04 // movzx eax, byte [rsp + 4] + LONG $0x04244402 // add al, byte [rsp + 4] + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x05 // movzx eax, byte [rsp + 5] WORD $0xe0c0; BYTE $0x06 // shl al, 6 LONG $0x07e5c041 // shl r13b, 7 WORD $0x0841; BYTE $0xc5 // or r13b, al - LONG $0x2444b60f; BYTE $0x14 // movzx eax, byte [rsp + 20] + LONG $0x2444b60f; BYTE $0x15 // movzx eax, byte [rsp + 21] WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xc808 // or al, cl + WORD $0xd808 // or al, bl WORD $0x0045; BYTE $0xc0 // add r8b, r8b - LONG $0x24440244; BYTE $0x09 // add r8b, byte [rsp + 9] - LONG $0x244cb60f; BYTE $0x15 // movzx ecx, byte [rsp + 21] - WORD $0xe1c0; BYTE $0x03 // shl cl, 3 - WORD $0xc108 // or cl, al - WORD $0xc889 // mov eax, ecx + LONG $0x24440244; BYTE $0x0a // add r8b, byte [rsp + 10] + LONG $0x245cb60f; BYTE $0x16 // movzx ebx, byte [rsp + 22] + WORD $0xe3c0; BYTE $0x03 // shl bl, 3 + WORD $0xc308 // or bl, al + WORD $0xd889 // mov eax, ebx LONG $0x02e3c041 // shl r11b, 2 WORD $0x0845; BYTE $0xc3 // or r11b, r8b - LONG $0x244cb60f; BYTE $0x16 // movzx ecx, byte [rsp + 22] - WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0xc108 // or cl, al - WORD $0x8941; BYTE $0xc8 // mov r8d, ecx + LONG $0x245cb60f; BYTE $0x17 // movzx ebx, byte [rsp + 23] + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0xc308 // or bl, al + WORD $0x8941; BYTE $0xd8 // mov r8d, ebx LONG $0x03e7c041 // shl r15b, 3 WORD $0x0845; BYTE $0xdf // or r15b, r11b - LONG $0x244cb60f; BYTE $0x17 // movzx ecx, byte [rsp + 23] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0x0844; BYTE $0xc1 // or cl, r8b - LONG $0x2444b60f; BYTE $0x05 // movzx eax, byte [rsp + 5] + LONG $0x245cb60f; BYTE $0x03 // movzx ebx, byte [rsp + 3] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + WORD $0x0844; BYTE $0xc3 // or bl, r8b + LONG $0x2444b60f; BYTE $0x06 // movzx eax, byte [rsp + 6] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0x0844; BYTE $0xf8 // or al, r15b WORD $0x8941; BYTE $0xc0 // mov r8d, eax - LONG $0x2444b60f; BYTE $0x06 // movzx eax, byte [rsp + 6] + LONG $0x2444b60f; BYTE $0x07 // movzx eax, byte [rsp + 7] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0x0844; BYTE $0xc0 // or al, r8b - LONG $0x44b60f44; WORD $0x0724 // movzx r8d, byte [rsp + 7] + LONG $0x44b60f44; WORD $0x0824 // movzx r8d, byte [rsp + 8] LONG $0x06e0c041 // shl r8b, 6 - WORD $0xe3c0; BYTE $0x07 // shl bl, 7 - WORD $0x0844; BYTE $0xc3 // or bl, r8b - WORD $0x0841; BYTE $0xcd // or r13b, cl - WORD $0xc308 // or bl, al + LONG $0x07e7c040 // shl dil, 7 + WORD $0x0844; BYTE $0xc7 // or dil, r8b + WORD $0x0841; BYTE $0xdd // or r13b, bl + WORD $0x0840; BYTE $0xc7 // or dil, al WORD $0x0045; BYTE $0xd2 // add r10b, r10b - LONG $0x24540244; BYTE $0x0a // add r10b, byte [rsp + 10] + LONG $0x24540244; BYTE $0x0b // add r10b, byte [rsp + 11] LONG $0x02e6c041 // shl r14b, 2 WORD $0x0845; BYTE $0xd6 // or r14b, r10b LONG $0x03e4c041 // shl r12b, 3 WORD $0x0845; BYTE $0xf4 // or r12b, r14b - LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + LONG $0x2444b60f; BYTE $0x09 // movzx eax, byte [rsp + 9] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0x0844; BYTE $0xe0 // or al, r12b - WORD $0xc189 // mov ecx, eax - LONG $0x24748b4c; BYTE $0x30 // mov r14, qword [rsp + 48] - LONG $0x2444b60f; BYTE $0x0b // movzx eax, byte [rsp + 11] + WORD $0xc389 // mov ebx, eax + LONG $0x24648b4c; BYTE $0x30 // mov r12, qword [rsp + 48] + LONG $0x2444b60f; BYTE $0x0c // movzx eax, byte [rsp + 12] WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - WORD $0x8845; BYTE $0x2e // mov byte [r14], r13b - LONG $0x244cb60f; BYTE $0x0c // movzx ecx, byte [rsp + 12] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 + WORD $0xd808 // or al, bl + LONG $0x242c8845 // mov byte [r12], r13b + LONG $0x245cb60f; BYTE $0x0d // movzx ebx, byte [rsp + 13] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e1c041 // shl r9b, 7 - WORD $0x0841; BYTE $0xc9 // or r9b, cl - LONG $0x015e8841 // mov byte [r14 + 1], bl + WORD $0x0841; BYTE $0xd9 // or r9b, bl + LONG $0x247c8841; BYTE $0x01 // mov byte [r12 + 1], dil WORD $0x0841; BYTE $0xc1 // or r9b, al - LONG $0x2444b60f; BYTE $0x0d // movzx eax, byte [rsp + 13] - WORD $0xc000 // add al, al - LONG $0x13244402 // add al, byte [rsp + 19] - WORD $0xc189 // mov ecx, eax LONG $0x2444b60f; BYTE $0x0e // movzx eax, byte [rsp + 14] - WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xc000 // add al, al + LONG $0x14244402 // add al, byte [rsp + 20] + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x0f // movzx eax, byte [rsp + 15] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x11 // movzx eax, byte [rsp + 17] WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x12 // movzx eax, byte [rsp + 18] + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x13 // movzx eax, byte [rsp + 19] WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - LONG $0x244cb60f; BYTE $0x11 // movzx ecx, byte [rsp + 17] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 - LONG $0x07e7c040 // shl dil, 7 - WORD $0x0840; BYTE $0xcf // or dil, cl - WORD $0x0840; BYTE $0xc7 // or dil, al - LONG $0x024e8845 // mov byte [r14 + 2], r9b - LONG $0x037e8841 // mov byte [r14 + 3], dil + WORD $0xd808 // or al, bl + LONG $0x245cb60f; BYTE $0x12 // movzx ebx, byte [rsp + 18] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 + WORD $0xe1c0; BYTE $0x07 // shl cl, 7 + WORD $0xd908 // or cl, bl + WORD $0xc108 // or cl, al + LONG $0x244c8845; BYTE $0x02 // mov byte [r12 + 2], r9b + LONG $0x244c8841; BYTE $0x03 // mov byte [r12 + 3], cl LONG $0x80c28148; WORD $0x0000; BYTE $0x00 // add rdx, 128 - LONG $0x04c68349 // add r14, 4 - LONG $0x24448348; WORD $0xff38 // add qword [rsp + 56], -1 + LONG $0x04c48349 // add r12, 4 + LONG $0x24448348; WORD $0xff20 // add qword [rsp + 32], -1 JNE LBB0_24 - LONG $0x245c8b4c; BYTE $0x18 // mov r11, qword [rsp + 24] - LONG $0x247c8b4c; BYTE $0x40 // mov r15, qword [rsp + 64] + LONG $0x24748b4c; BYTE $0x18 // mov r14, qword [rsp + 24] + LONG $0x247c8b4c; BYTE $0x38 // mov r15, qword [rsp + 56] LBB0_26: LONG $0x05e7c149 // shl r15, 5 - WORD $0x394d; BYTE $0xdf // cmp r15, r11 + WORD $0x394d; BYTE $0xf7 // cmp r15, r14 JGE LBB0_123 - WORD $0x294d; BYTE $0xfb // sub r11, r15 + WORD $0x294d; BYTE $0xfe // sub r14, r15 WORD $0xc931 // xor ecx, ecx LBB0_28: @@ -277,16 +278,16 @@ LBB0_28: WORD $0xdbf6 // neg bl WORD $0x8948; BYTE $0xcf // mov rdi, rcx LONG $0x03efc148 // shr rdi, 3 - LONG $0x0cb60f45; BYTE $0x3e // movzx r9d, byte [r14 + rdi] + LONG $0x0cb60f45; BYTE $0x3c // movzx r9d, byte [r12 + rdi] WORD $0x3044; BYTE $0xcb // xor bl, r9b WORD $0xe180; BYTE $0x07 // and cl, 7 WORD $0x01b0 // mov al, 1 WORD $0xe0d2 // shl al, cl WORD $0xd820 // and al, bl WORD $0x3044; BYTE $0xc8 // xor al, r9b - LONG $0x3e048841 // mov byte [r14 + rdi], al + LONG $0x3c048841 // mov byte [r12 + rdi], al WORD $0x894c; BYTE $0xc1 // mov rcx, r8 - WORD $0x394d; BYTE $0xc3 // cmp r11, r8 + WORD $0x394d; BYTE $0xc6 // cmp r14, r8 JNE LBB0_28 JMP LBB0_123 @@ -299,266 +300,361 @@ LBB0_29: JE LBB0_112 WORD $0xff83; BYTE $0x0c // cmp edi, 12 JNE LBB0_123 - LONG $0x1f7b8d4d // lea r15, [r11 + 31] - WORD $0x854d; BYTE $0xdb // test r11, r11 - LONG $0xfb490f4d // cmovns r15, r11 - LONG $0x07418d41 // lea eax, [r9 + 7] - WORD $0x8545; BYTE $0xc9 // test r9d, r9d - LONG $0xc1490f41 // cmovns eax, r9d - WORD $0xe083; BYTE $0xf8 // and eax, -8 - WORD $0x2941; BYTE $0xc1 // sub r9d, eax + LONG $0x1f7e8d4d // lea r15, [r14 + 31] + WORD $0x854d; BYTE $0xf6 // test r14, r14 + LONG $0xfe490f4d // cmovns r15, r14 + WORD $0x488d; BYTE $0x07 // lea ecx, [rax + 7] + WORD $0xc085 // test eax, eax + WORD $0x490f; BYTE $0xc8 // cmovns ecx, eax + WORD $0xe183; BYTE $0xf8 // and ecx, -8 + WORD $0xc829 // sub eax, ecx JE LBB0_50 - WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d + WORD $0x634c; BYTE $0xd0 // movsxd r10, eax LBB0_48: LONG $0x0610fbc5 // vmovsd xmm0, qword [rsi] LONG $0x08c68348 // add rsi, 8 LONG $0x022ef9c5 // vucomisd xmm0, qword [rdx] LONG $0x08528d48 // lea rdx, [rdx + 8] - LONG $0xd2940f41 // sete r10b - WORD $0xf641; BYTE $0xda // neg r10b - LONG $0x07788d48 // lea rdi, [rax + 7] - WORD $0x8548; BYTE $0xc0 // test rax, rax - LONG $0xf8490f48 // cmovns rdi, rax + WORD $0x9b0f; BYTE $0xd1 // setnp cl + WORD $0x940f; BYTE $0xd3 // sete bl + WORD $0xcb20 // and bl, cl + WORD $0xdbf6 // neg bl + LONG $0x077a8d49 // lea rdi, [r10 + 7] + WORD $0x854d; BYTE $0xd2 // test r10, r10 + LONG $0xfa490f49 // cmovns rdi, r10 LONG $0x03ffc148 // sar rdi, 3 - LONG $0x04b60f45; BYTE $0x3e // movzx r8d, byte [r14 + rdi] - WORD $0x3045; BYTE $0xc2 // xor r10b, r8b + LONG $0x04b60f45; BYTE $0x3c // movzx r8d, byte [r12 + rdi] + WORD $0x3044; BYTE $0xc3 // xor bl, r8b QUAD $0x00000000fd0c8d44 // lea r9d, [8*rdi] - WORD $0xc189 // mov ecx, eax + WORD $0x8944; BYTE $0xd1 // mov ecx, r10d WORD $0x2944; BYTE $0xc9 // sub ecx, r9d - LONG $0x000001bb; BYTE $0x00 // mov ebx, 1 - WORD $0xe3d3 // shl ebx, cl - WORD $0x2044; BYTE $0xd3 // and bl, r10b - WORD $0x3044; BYTE $0xc3 // xor bl, r8b - LONG $0x3e1c8841 // mov byte [r14 + rdi], bl - LONG $0x01c08348 // add rax, 1 - LONG $0x08f88348 // cmp rax, 8 + LONG $0x000001b8; BYTE $0x00 // mov eax, 1 + WORD $0xe0d3 // shl eax, cl + WORD $0xd820 // and al, bl + WORD $0x3044; BYTE $0xc0 // xor al, r8b + LONG $0x3c048841 // mov byte [r12 + rdi], al + LONG $0x01c28349 // add r10, 1 + LONG $0x08fa8349 // cmp r10, 8 JNE LBB0_48 - LONG $0x01c68349 // add r14, 1 + LONG $0x01c48349 // add r12, 1 LBB0_50: LONG $0x05ffc149 // sar r15, 5 - LONG $0x20fb8349 // cmp r11, 32 + LONG $0x20fe8349 // cmp r14, 32 JL LBB0_54 - LONG $0x245c894c; BYTE $0x18 // mov qword [rsp + 24], r11 - LONG $0x247c894c; BYTE $0x20 // mov qword [rsp + 32], r15 - LONG $0x247c894c; BYTE $0x28 // mov qword [rsp + 40], r15 + LONG $0x2474894c; BYTE $0x18 // mov qword [rsp + 24], r14 + LONG $0x247c894c; BYTE $0x40 // mov qword [rsp + 64], r15 + LONG $0x247c894c; BYTE $0x38 // mov qword [rsp + 56], r15 LBB0_52: - LONG $0x2474894c; BYTE $0x30 // mov qword [rsp + 48], r14 + LONG $0x2464894c; BYTE $0x30 // mov qword [rsp + 48], r12 LONG $0x0610fbc5 // vmovsd xmm0, qword [rsi] - LONG $0x4e10fbc5; BYTE $0x08 // vmovsd xmm1, qword [rsi + 8] LONG $0x022ef9c5 // vucomisd xmm0, qword [rdx] - LONG $0x2454940f; BYTE $0x04 // sete byte [rsp + 4] - LONG $0x4a2ef9c5; BYTE $0x08 // vucomisd xmm1, qword [rdx + 8] - WORD $0x940f; BYTE $0xd0 // sete al + LONG $0x4610fbc5; BYTE $0x08 // vmovsd xmm0, qword [rsi + 8] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x15244c88 // mov byte [rsp + 21], cl + LONG $0x422ef9c5; BYTE $0x08 // vucomisd xmm0, qword [rdx + 8] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x0d244c88 // mov byte [rsp + 13], cl LONG $0x4610fbc5; BYTE $0x10 // vmovsd xmm0, qword [rsi + 16] LONG $0x422ef9c5; BYTE $0x10 // vucomisd xmm0, qword [rdx + 16] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x14244c88 // mov byte [rsp + 20], cl LONG $0x4610fbc5; BYTE $0x18 // vmovsd xmm0, qword [rsi + 24] - LONG $0x2454940f; BYTE $0x05 // sete byte [rsp + 5] LONG $0x422ef9c5; BYTE $0x18 // vucomisd xmm0, qword [rdx + 24] - LONG $0x2454940f; BYTE $0x16 // sete byte [rsp + 22] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x17244c88 // mov byte [rsp + 23], cl LONG $0x4610fbc5; BYTE $0x20 // vmovsd xmm0, qword [rsi + 32] LONG $0x422ef9c5; BYTE $0x20 // vucomisd xmm0, qword [rdx + 32] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x16244c88 // mov byte [rsp + 22], cl LONG $0x4610fbc5; BYTE $0x28 // vmovsd xmm0, qword [rsi + 40] - LONG $0x2454940f; BYTE $0x15 // sete byte [rsp + 21] LONG $0x422ef9c5; BYTE $0x28 // vucomisd xmm0, qword [rdx + 40] - LONG $0x2454940f; BYTE $0x17 // sete byte [rsp + 23] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd7940f40 // sete dil + WORD $0x2040; BYTE $0xc7 // and dil, al LONG $0x4610fbc5; BYTE $0x30 // vmovsd xmm0, qword [rsi + 48] LONG $0x422ef9c5; BYTE $0x30 // vucomisd xmm0, qword [rdx + 48] - LONG $0x4610fbc5; BYTE $0x38 // vmovsd xmm0, qword [rsi + 56] + WORD $0x9b0f; BYTE $0xd0 // setnp al LONG $0xd5940f41 // sete r13b + WORD $0x2041; BYTE $0xc5 // and r13b, al + LONG $0x4610fbc5; BYTE $0x38 // vmovsd xmm0, qword [rsi + 56] LONG $0x422ef9c5; BYTE $0x38 // vucomisd xmm0, qword [rdx + 56] - LONG $0xd7940f41 // sete r15b + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x03244c88 // mov byte [rsp + 3], cl LONG $0x4610fbc5; BYTE $0x40 // vmovsd xmm0, qword [rsi + 64] LONG $0x422ef9c5; BYTE $0x40 // vucomisd xmm0, qword [rdx + 64] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x13244c88 // mov byte [rsp + 19], cl LONG $0x4610fbc5; BYTE $0x48 // vmovsd xmm0, qword [rsi + 72] - LONG $0x2454940f; BYTE $0x08 // sete byte [rsp + 8] LONG $0x422ef9c5; BYTE $0x48 // vucomisd xmm0, qword [rdx + 72] - WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd3 // sete bl + WORD $0xc320 // and bl, al LONG $0x4610fbc5; BYTE $0x50 // vmovsd xmm0, qword [rsi + 80] LONG $0x422ef9c5; BYTE $0x50 // vucomisd xmm0, qword [rdx + 80] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x12244c88 // mov byte [rsp + 18], cl LONG $0x4610fbc5; BYTE $0x58 // vmovsd xmm0, qword [rsi + 88] - LONG $0xd1940f41 // sete r9b LONG $0x422ef9c5; BYTE $0x58 // vucomisd xmm0, qword [rdx + 88] - LONG $0xd3940f41 // sete r11b + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x11244c88 // mov byte [rsp + 17], cl LONG $0x4610fbc5; BYTE $0x60 // vmovsd xmm0, qword [rsi + 96] LONG $0x422ef9c5; BYTE $0x60 // vucomisd xmm0, qword [rdx + 96] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x10244c88 // mov byte [rsp + 16], cl LONG $0x4610fbc5; BYTE $0x68 // vmovsd xmm0, qword [rsi + 104] - LONG $0xd2940f41 // sete r10b LONG $0x422ef9c5; BYTE $0x68 // vucomisd xmm0, qword [rdx + 104] - LONG $0x2454940f; BYTE $0x07 // sete byte [rsp + 7] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x0f244c88 // mov byte [rsp + 15], cl LONG $0x4610fbc5; BYTE $0x70 // vmovsd xmm0, qword [rsi + 112] LONG $0x422ef9c5; BYTE $0x70 // vucomisd xmm0, qword [rdx + 112] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x0c244c88 // mov byte [rsp + 12], cl LONG $0x4610fbc5; BYTE $0x78 // vmovsd xmm0, qword [rsi + 120] - LONG $0x2454940f; BYTE $0x06 // sete byte [rsp + 6] LONG $0x422ef9c5; BYTE $0x78 // vucomisd xmm0, qword [rdx + 120] - WORD $0x940f; BYTE $0xd3 // sete bl + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x0b244c88 // mov byte [rsp + 11], cl QUAD $0x000000808610fbc5 // vmovsd xmm0, qword [rsi + 128] QUAD $0x00000080822ef9c5 // vucomisd xmm0, qword [rdx + 128] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x0e244c88 // mov byte [rsp + 14], cl QUAD $0x000000888610fbc5 // vmovsd xmm0, qword [rsi + 136] - LONG $0x2454940f; BYTE $0x0e // sete byte [rsp + 14] QUAD $0x00000088822ef9c5 // vucomisd xmm0, qword [rdx + 136] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x0a244c88 // mov byte [rsp + 10], cl QUAD $0x000000908610fbc5 // vmovsd xmm0, qword [rsi + 144] - LONG $0xd6940f41 // sete r14b QUAD $0x00000090822ef9c5 // vucomisd xmm0, qword [rdx + 144] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x09244c88 // mov byte [rsp + 9], cl QUAD $0x000000988610fbc5 // vmovsd xmm0, qword [rsi + 152] - LONG $0xd4940f41 // sete r12b QUAD $0x00000098822ef9c5 // vucomisd xmm0, qword [rdx + 152] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd6940f41 // sete r14b + WORD $0x2041; BYTE $0xc6 // and r14b, al QUAD $0x000000a08610fbc5 // vmovsd xmm0, qword [rsi + 160] - LONG $0x2454940f; BYTE $0x09 // sete byte [rsp + 9] QUAD $0x000000a0822ef9c5 // vucomisd xmm0, qword [rdx + 160] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x08244c88 // mov byte [rsp + 8], cl QUAD $0x000000a88610fbc5 // vmovsd xmm0, qword [rsi + 168] - LONG $0x2454940f; BYTE $0x0a // sete byte [rsp + 10] QUAD $0x000000a8822ef9c5 // vucomisd xmm0, qword [rdx + 168] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x07244c88 // mov byte [rsp + 7], cl QUAD $0x000000b08610fbc5 // vmovsd xmm0, qword [rsi + 176] - LONG $0x2454940f; BYTE $0x0b // sete byte [rsp + 11] QUAD $0x000000b0822ef9c5 // vucomisd xmm0, qword [rdx + 176] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x05244c88 // mov byte [rsp + 5], cl QUAD $0x000000b88610fbc5 // vmovsd xmm0, qword [rsi + 184] - LONG $0x2454940f; BYTE $0x0c // sete byte [rsp + 12] QUAD $0x000000b8822ef9c5 // vucomisd xmm0, qword [rdx + 184] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd7940f41 // sete r15b + WORD $0x2041; BYTE $0xc7 // and r15b, al QUAD $0x000000c08610fbc5 // vmovsd xmm0, qword [rsi + 192] - LONG $0xd0940f41 // sete r8b QUAD $0x000000c0822ef9c5 // vucomisd xmm0, qword [rdx + 192] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x06244c88 // mov byte [rsp + 6], cl QUAD $0x000000c88610fbc5 // vmovsd xmm0, qword [rsi + 200] - LONG $0x2454940f; BYTE $0x14 // sete byte [rsp + 20] QUAD $0x000000c8822ef9c5 // vucomisd xmm0, qword [rdx + 200] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x20244c88 // mov byte [rsp + 32], cl QUAD $0x000000d08610fbc5 // vmovsd xmm0, qword [rsi + 208] - LONG $0x2454940f; BYTE $0x0d // sete byte [rsp + 13] QUAD $0x000000d0822ef9c5 // vucomisd xmm0, qword [rdx + 208] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd3940f41 // sete r11b + WORD $0x2041; BYTE $0xc3 // and r11b, al QUAD $0x000000d88610fbc5 // vmovsd xmm0, qword [rsi + 216] - LONG $0x2454940f; BYTE $0x0f // sete byte [rsp + 15] QUAD $0x000000d8822ef9c5 // vucomisd xmm0, qword [rdx + 216] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd2940f41 // sete r10b + WORD $0x2041; BYTE $0xc2 // and r10b, al QUAD $0x000000e08610fbc5 // vmovsd xmm0, qword [rsi + 224] - LONG $0x2454940f; BYTE $0x10 // sete byte [rsp + 16] QUAD $0x000000e0822ef9c5 // vucomisd xmm0, qword [rdx + 224] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x04244c88 // mov byte [rsp + 4], cl QUAD $0x000000e88610fbc5 // vmovsd xmm0, qword [rsi + 232] - LONG $0x2454940f; BYTE $0x11 // sete byte [rsp + 17] QUAD $0x000000e8822ef9c5 // vucomisd xmm0, qword [rdx + 232] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x28244c88 // mov byte [rsp + 40], cl QUAD $0x000000f08610fbc5 // vmovsd xmm0, qword [rsi + 240] - LONG $0x2454940f; BYTE $0x13 // sete byte [rsp + 19] QUAD $0x000000f0822ef9c5 // vucomisd xmm0, qword [rdx + 240] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd1940f41 // sete r9b + WORD $0x2041; BYTE $0xc1 // and r9b, al QUAD $0x000000f88610fbc5 // vmovsd xmm0, qword [rsi + 248] - LONG $0x2454940f; BYTE $0x12 // sete byte [rsp + 18] LONG $0x00c68148; WORD $0x0001; BYTE $0x00 // add rsi, 256 QUAD $0x000000f8822ef9c5 // vucomisd xmm0, qword [rdx + 248] - LONG $0xd7940f40 // sete dil + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd0940f41 // sete r8b + WORD $0x2041; BYTE $0xc0 // and r8b, al + LONG $0x2444b60f; BYTE $0x0d // movzx eax, byte [rsp + 13] WORD $0xc000 // add al, al - LONG $0x04244402 // add al, byte [rsp + 4] + LONG $0x15244402 // add al, byte [rsp + 21] + LONG $0x05e7c040 // shl dil, 5 LONG $0x06e5c041 // shl r13b, 6 - LONG $0x07e7c041 // shl r15b, 7 - WORD $0x0845; BYTE $0xef // or r15b, r13b - LONG $0x6cb60f44; WORD $0x0524 // movzx r13d, byte [rsp + 5] - LONG $0x02e5c041 // shl r13b, 2 - WORD $0x0841; BYTE $0xc5 // or r13b, al - WORD $0x8944; BYTE $0xe8 // mov eax, r13d - WORD $0xc900 // add cl, cl - LONG $0x08244c02 // add cl, byte [rsp + 8] + WORD $0x0841; BYTE $0xfd // or r13b, dil + WORD $0x8944; BYTE $0xef // mov edi, r13d + LONG $0x244cb60f; BYTE $0x14 // movzx ecx, byte [rsp + 20] + WORD $0xe1c0; BYTE $0x02 // shl cl, 2 + WORD $0xc108 // or cl, al + WORD $0xd889 // mov eax, ebx + WORD $0xd800 // add al, bl + LONG $0x13244402 // add al, byte [rsp + 19] + WORD $0x8941; BYTE $0xc5 // mov r13d, eax + LONG $0x2444b60f; BYTE $0x03 // movzx eax, byte [rsp + 3] + WORD $0xe0c0; BYTE $0x07 // shl al, 7 + WORD $0x0840; BYTE $0xf8 // or al, dil + LONG $0x03244488 // mov byte [rsp + 3], al + LONG $0x2444b60f; BYTE $0x12 // movzx eax, byte [rsp + 18] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0x0844; BYTE $0xe8 // or al, r13b + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x17 // movzx eax, byte [rsp + 23] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0xc808 // or al, cl + LONG $0x245cb60f; BYTE $0x11 // movzx ebx, byte [rsp + 17] + WORD $0xe3c0; BYTE $0x03 // shl bl, 3 + WORD $0x0840; BYTE $0xfb // or bl, dil LONG $0x6cb60f44; WORD $0x1624 // movzx r13d, byte [rsp + 22] - LONG $0x03e5c041 // shl r13b, 3 + LONG $0x04e5c041 // shl r13b, 4 WORD $0x0841; BYTE $0xc5 // or r13b, al - LONG $0x02e1c041 // shl r9b, 2 - WORD $0x0841; BYTE $0xc9 // or r9b, cl - LONG $0x244cb60f; BYTE $0x15 // movzx ecx, byte [rsp + 21] - WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0x0844; BYTE $0xe9 // or cl, r13b - WORD $0x8941; BYTE $0xcd // mov r13d, ecx - LONG $0x03e3c041 // shl r11b, 3 - WORD $0x0845; BYTE $0xcb // or r11b, r9b - LONG $0x244cb60f; BYTE $0x17 // movzx ecx, byte [rsp + 23] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0x0844; BYTE $0xe9 // or cl, r13b - LONG $0x04e2c041 // shl r10b, 4 - WORD $0x0845; BYTE $0xda // or r10b, r11b - LONG $0x2444b60f; BYTE $0x07 // movzx eax, byte [rsp + 7] - WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0x0844; BYTE $0xd0 // or al, r10b - LONG $0x4cb60f44; WORD $0x0624 // movzx r9d, byte [rsp + 6] - LONG $0x06e1c041 // shl r9b, 6 - WORD $0xe3c0; BYTE $0x07 // shl bl, 7 - WORD $0x0844; BYTE $0xcb // or bl, r9b - WORD $0x0841; BYTE $0xcf // or r15b, cl - WORD $0xc308 // or bl, al - WORD $0x0045; BYTE $0xf6 // add r14b, r14b - LONG $0x24740244; BYTE $0x0e // add r14b, byte [rsp + 14] - LONG $0x02e4c041 // shl r12b, 2 - WORD $0x0845; BYTE $0xf4 // or r12b, r14b - LONG $0x24748b4c; BYTE $0x30 // mov r14, qword [rsp + 48] - LONG $0x2444b60f; BYTE $0x09 // movzx eax, byte [rsp + 9] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0x0844; BYTE $0xe0 // or al, r12b - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x0a // movzx eax, byte [rsp + 10] + LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xd808 // or al, bl + WORD $0xc789 // mov edi, eax + LONG $0x245cb60f; BYTE $0x0f // movzx ebx, byte [rsp + 15] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + LONG $0x2444b60f; BYTE $0x0c // movzx eax, byte [rsp + 12] + WORD $0xe0c0; BYTE $0x06 // shl al, 6 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x0b // movzx eax, byte [rsp + 11] - WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - WORD $0x8845; BYTE $0x3e // mov byte [r14], r15b - LONG $0x244cb60f; BYTE $0x0c // movzx ecx, byte [rsp + 12] + WORD $0xe0c0; BYTE $0x07 // shl al, 7 + WORD $0xd808 // or al, bl + LONG $0x245cb60f; BYTE $0x0a // movzx ebx, byte [rsp + 10] + WORD $0xdb00 // add bl, bl + LONG $0x0e245c02 // add bl, byte [rsp + 14] + LONG $0x244cb60f; BYTE $0x09 // movzx ecx, byte [rsp + 9] + WORD $0xe1c0; BYTE $0x02 // shl cl, 2 + WORD $0xd908 // or cl, bl + LONG $0x03e6c041 // shl r14b, 3 + WORD $0x0841; BYTE $0xce // or r14b, cl + LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0x0844; BYTE $0xf3 // or bl, r14b + LONG $0x24648b4c; BYTE $0x30 // mov r12, qword [rsp + 48] + LONG $0x74b60f44; WORD $0x0324 // movzx r14d, byte [rsp + 3] + WORD $0x0845; BYTE $0xee // or r14b, r13b + LONG $0x6cb60f44; WORD $0x0724 // movzx r13d, byte [rsp + 7] + LONG $0x05e5c041 // shl r13b, 5 + LONG $0x244cb60f; BYTE $0x05 // movzx ecx, byte [rsp + 5] WORD $0xe1c0; BYTE $0x06 // shl cl, 6 + WORD $0x0844; BYTE $0xe9 // or cl, r13b + WORD $0x0840; BYTE $0xf8 // or al, dil + LONG $0x07e7c041 // shl r15b, 7 + WORD $0x0841; BYTE $0xcf // or r15b, cl + WORD $0x0841; BYTE $0xdf // or r15b, bl + LONG $0x244cb60f; BYTE $0x20 // movzx ecx, byte [rsp + 32] + WORD $0xc900 // add cl, cl + LONG $0x06244c02 // add cl, byte [rsp + 6] + LONG $0x02e3c041 // shl r11b, 2 + WORD $0x0841; BYTE $0xcb // or r11b, cl + LONG $0x03e2c041 // shl r10b, 3 + WORD $0x0845; BYTE $0xda // or r10b, r11b + LONG $0x244cb60f; BYTE $0x04 // movzx ecx, byte [rsp + 4] + WORD $0xe1c0; BYTE $0x04 // shl cl, 4 + WORD $0x0844; BYTE $0xd1 // or cl, r10b + LONG $0x24348845 // mov byte [r12], r14b + LONG $0x245cb60f; BYTE $0x28 // movzx ebx, byte [rsp + 40] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + LONG $0x06e1c041 // shl r9b, 6 + WORD $0x0841; BYTE $0xd9 // or r9b, bl + LONG $0x24448841; BYTE $0x01 // mov byte [r12 + 1], al LONG $0x07e0c041 // shl r8b, 7 + WORD $0x0845; BYTE $0xc8 // or r8b, r9b WORD $0x0841; BYTE $0xc8 // or r8b, cl - LONG $0x015e8841 // mov byte [r14 + 1], bl - WORD $0x0841; BYTE $0xc0 // or r8b, al - LONG $0x2444b60f; BYTE $0x0d // movzx eax, byte [rsp + 13] - WORD $0xc000 // add al, al - LONG $0x14244402 // add al, byte [rsp + 20] - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x0f // movzx eax, byte [rsp + 15] - WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x11 // movzx eax, byte [rsp + 17] - WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0xc808 // or al, cl - LONG $0x244cb60f; BYTE $0x13 // movzx ecx, byte [rsp + 19] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0xc108 // or cl, al - LONG $0x2444b60f; BYTE $0x12 // movzx eax, byte [rsp + 18] - WORD $0xe0c0; BYTE $0x06 // shl al, 6 - LONG $0x07e7c040 // shl dil, 7 - WORD $0x0840; BYTE $0xc7 // or dil, al - WORD $0x0840; BYTE $0xcf // or dil, cl - LONG $0x02468845 // mov byte [r14 + 2], r8b - LONG $0x037e8841 // mov byte [r14 + 3], dil + LONG $0x247c8845; BYTE $0x02 // mov byte [r12 + 2], r15b + LONG $0x24448845; BYTE $0x03 // mov byte [r12 + 3], r8b LONG $0x00c28148; WORD $0x0001; BYTE $0x00 // add rdx, 256 - LONG $0x04c68349 // add r14, 4 - LONG $0x24448348; WORD $0xff28 // add qword [rsp + 40], -1 + LONG $0x04c48349 // add r12, 4 + LONG $0x24448348; WORD $0xff38 // add qword [rsp + 56], -1 JNE LBB0_52 - LONG $0x245c8b4c; BYTE $0x18 // mov r11, qword [rsp + 24] - LONG $0x247c8b4c; BYTE $0x20 // mov r15, qword [rsp + 32] + LONG $0x24748b4c; BYTE $0x18 // mov r14, qword [rsp + 24] + LONG $0x247c8b4c; BYTE $0x40 // mov r15, qword [rsp + 64] LBB0_54: LONG $0x05e7c149 // shl r15, 5 - WORD $0x394d; BYTE $0xdf // cmp r15, r11 + WORD $0x394d; BYTE $0xf7 // cmp r15, r14 JGE LBB0_123 - WORD $0x294d; BYTE $0xfb // sub r11, r15 + WORD $0x294d; BYTE $0xfe // sub r14, r15 WORD $0xc931 // xor ecx, ecx LBB0_56: + LONG $0x01498d4c // lea r9, [rcx + 1] LONG $0x0410fbc5; BYTE $0xce // vmovsd xmm0, qword [rsi + 8*rcx] LONG $0x042ef9c5; BYTE $0xca // vucomisd xmm0, qword [rdx + 8*rcx] - LONG $0x01418d4c // lea r8, [rcx + 1] - WORD $0x940f; BYTE $0xd3 // sete bl - WORD $0xdbf6 // neg bl + WORD $0x9b0f; BYTE $0xd3 // setnp bl + WORD $0x940f; BYTE $0xd0 // sete al + WORD $0xd820 // and al, bl + WORD $0xd8f6 // neg al WORD $0x8948; BYTE $0xcf // mov rdi, rcx LONG $0x03efc148 // shr rdi, 3 - LONG $0x0cb60f45; BYTE $0x3e // movzx r9d, byte [r14 + rdi] - WORD $0x3044; BYTE $0xcb // xor bl, r9b + LONG $0x04b60f45; BYTE $0x3c // movzx r8d, byte [r12 + rdi] + WORD $0x3044; BYTE $0xc0 // xor al, r8b WORD $0xe180; BYTE $0x07 // and cl, 7 - WORD $0x01b0 // mov al, 1 - WORD $0xe0d2 // shl al, cl - WORD $0xd820 // and al, bl - WORD $0x3044; BYTE $0xc8 // xor al, r9b - LONG $0x3e048841 // mov byte [r14 + rdi], al - WORD $0x894c; BYTE $0xc1 // mov rcx, r8 - WORD $0x394d; BYTE $0xc3 // cmp r11, r8 + WORD $0x01b3 // mov bl, 1 + WORD $0xe3d2 // shl bl, cl + WORD $0xc320 // and bl, al + WORD $0x3044; BYTE $0xc3 // xor bl, r8b + LONG $0x3c1c8841 // mov byte [r12 + rdi], bl + WORD $0x894c; BYTE $0xc9 // mov rcx, r9 + WORD $0x394d; BYTE $0xce // cmp r14, r9 JNE LBB0_56 JMP LBB0_123 @@ -567,16 +663,16 @@ LBB0_2: JE LBB0_57 WORD $0xff83; BYTE $0x03 // cmp edi, 3 JNE LBB0_123 - LONG $0x1f7b8d4d // lea r15, [r11 + 31] - WORD $0x854d; BYTE $0xdb // test r11, r11 - LONG $0xfb490f4d // cmovns r15, r11 - LONG $0x07418d41 // lea eax, [r9 + 7] - WORD $0x8545; BYTE $0xc9 // test r9d, r9d - LONG $0xc1490f41 // cmovns eax, r9d - WORD $0xe083; BYTE $0xf8 // and eax, -8 - WORD $0x2941; BYTE $0xc1 // sub r9d, eax + LONG $0x1f7e8d4d // lea r15, [r14 + 31] + WORD $0x854d; BYTE $0xf6 // test r14, r14 + LONG $0xfe490f4d // cmovns r15, r14 + WORD $0x488d; BYTE $0x07 // lea ecx, [rax + 7] + WORD $0xc085 // test eax, eax + WORD $0x490f; BYTE $0xc8 // cmovns ecx, eax + WORD $0xe183; BYTE $0xf8 // and ecx, -8 + WORD $0xc829 // sub eax, ecx JE LBB0_8 - WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d + WORD $0x9848 // cdqe LBB0_6: WORD $0xb60f; BYTE $0x0e // movzx ecx, byte [rsi] @@ -589,7 +685,7 @@ LBB0_6: WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xf8490f48 // cmovns rdi, rax LONG $0x03ffc148 // sar rdi, 3 - LONG $0x04b60f45; BYTE $0x3e // movzx r8d, byte [r14 + rdi] + LONG $0x04b60f45; BYTE $0x3c // movzx r8d, byte [r12 + rdi] WORD $0x3045; BYTE $0xc2 // xor r10b, r8b QUAD $0x00000000fd0c8d44 // lea r9d, [8*rdi] WORD $0xc189 // mov ecx, eax @@ -598,49 +694,49 @@ LBB0_6: WORD $0xe3d3 // shl ebx, cl WORD $0x2044; BYTE $0xd3 // and bl, r10b WORD $0x3044; BYTE $0xc3 // xor bl, r8b - LONG $0x3e1c8841 // mov byte [r14 + rdi], bl + LONG $0x3c1c8841 // mov byte [r12 + rdi], bl LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 JNE LBB0_6 - LONG $0x01c68349 // add r14, 1 + LONG $0x01c48349 // add r12, 1 LBB0_8: LONG $0x05ffc149 // sar r15, 5 - LONG $0x20fb8349 // cmp r11, 32 + LONG $0x20fe8349 // cmp r14, 32 JL LBB0_12 - LONG $0x245c894c; BYTE $0x18 // mov qword [rsp + 24], r11 - LONG $0x247c894c; BYTE $0x38 // mov qword [rsp + 56], r15 + LONG $0x2474894c; BYTE $0x18 // mov qword [rsp + 24], r14 LONG $0x247c894c; BYTE $0x20 // mov qword [rsp + 32], r15 + LONG $0x247c894c; BYTE $0x28 // mov qword [rsp + 40], r15 LBB0_10: - LONG $0x2474894c; BYTE $0x30 // mov qword [rsp + 48], r14 + LONG $0x2464894c; BYTE $0x30 // mov qword [rsp + 48], r12 WORD $0xb60f; BYTE $0x06 // movzx eax, byte [rsi] LONG $0x014eb60f // movzx ecx, byte [rsi + 1] WORD $0x023a // cmp al, byte [rdx] - LONG $0x2454940f; BYTE $0x28 // sete byte [rsp + 40] + LONG $0x2454940f; BYTE $0x04 // sete byte [rsp + 4] WORD $0x4a3a; BYTE $0x01 // cmp cl, byte [rdx + 1] - WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0x940f; BYTE $0xd3 // sete bl LONG $0x0246b60f // movzx eax, byte [rsi + 2] WORD $0x423a; BYTE $0x02 // cmp al, byte [rdx + 2] - LONG $0x2454940f; BYTE $0x14 // sete byte [rsp + 20] + LONG $0x2454940f; BYTE $0x15 // sete byte [rsp + 21] LONG $0x0346b60f // movzx eax, byte [rsi + 3] WORD $0x423a; BYTE $0x03 // cmp al, byte [rdx + 3] - LONG $0x2454940f; BYTE $0x15 // sete byte [rsp + 21] + LONG $0x2454940f; BYTE $0x16 // sete byte [rsp + 22] LONG $0x0446b60f // movzx eax, byte [rsi + 4] WORD $0x423a; BYTE $0x04 // cmp al, byte [rdx + 4] - LONG $0x2454940f; BYTE $0x16 // sete byte [rsp + 22] + LONG $0x2454940f; BYTE $0x17 // sete byte [rsp + 23] LONG $0x0546b60f // movzx eax, byte [rsi + 5] WORD $0x423a; BYTE $0x05 // cmp al, byte [rdx + 5] - LONG $0x2454940f; BYTE $0x17 // sete byte [rsp + 23] + LONG $0x2454940f; BYTE $0x03 // sete byte [rsp + 3] LONG $0x0646b60f // movzx eax, byte [rsi + 6] WORD $0x423a; BYTE $0x06 // cmp al, byte [rdx + 6] - LONG $0x2454940f; BYTE $0x04 // sete byte [rsp + 4] + LONG $0x2454940f; BYTE $0x05 // sete byte [rsp + 5] LONG $0x0746b60f // movzx eax, byte [rsi + 7] WORD $0x423a; BYTE $0x07 // cmp al, byte [rdx + 7] LONG $0xd7940f41 // sete r15b LONG $0x0846b60f // movzx eax, byte [rsi + 8] WORD $0x423a; BYTE $0x08 // cmp al, byte [rdx + 8] - LONG $0x2454940f; BYTE $0x07 // sete byte [rsp + 7] + LONG $0x2454940f; BYTE $0x08 // sete byte [rsp + 8] LONG $0x0946b60f // movzx eax, byte [rsi + 9] WORD $0x423a; BYTE $0x09 // cmp al, byte [rdx + 9] LONG $0xd7940f40 // sete dil @@ -655,16 +751,16 @@ LBB0_10: LONG $0xd6940f41 // sete r14b LONG $0x0d46b60f // movzx eax, byte [rsi + 13] WORD $0x423a; BYTE $0x0d // cmp al, byte [rdx + 13] - LONG $0x2454940f; BYTE $0x05 // sete byte [rsp + 5] + LONG $0x2454940f; BYTE $0x06 // sete byte [rsp + 6] LONG $0x0e46b60f // movzx eax, byte [rsi + 14] WORD $0x423a; BYTE $0x0e // cmp al, byte [rdx + 14] - LONG $0x2454940f; BYTE $0x06 // sete byte [rsp + 6] + LONG $0x2454940f; BYTE $0x07 // sete byte [rsp + 7] LONG $0x0f46b60f // movzx eax, byte [rsi + 15] WORD $0x423a; BYTE $0x0f // cmp al, byte [rdx + 15] - WORD $0x940f; BYTE $0xd3 // sete bl + LONG $0xd0940f41 // sete r8b LONG $0x1046b60f // movzx eax, byte [rsi + 16] WORD $0x423a; BYTE $0x10 // cmp al, byte [rdx + 16] - LONG $0x2454940f; BYTE $0x0d // sete byte [rsp + 13] + LONG $0x2454940f; BYTE $0x0e // sete byte [rsp + 14] LONG $0x1146b60f // movzx eax, byte [rsi + 17] WORD $0x423a; BYTE $0x11 // cmp al, byte [rdx + 17] LONG $0xd4940f41 // sete r12b @@ -673,144 +769,144 @@ LBB0_10: LONG $0xd5940f41 // sete r13b LONG $0x1346b60f // movzx eax, byte [rsi + 19] WORD $0x423a; BYTE $0x13 // cmp al, byte [rdx + 19] - LONG $0x2454940f; BYTE $0x08 // sete byte [rsp + 8] + LONG $0x2454940f; BYTE $0x09 // sete byte [rsp + 9] LONG $0x1446b60f // movzx eax, byte [rsi + 20] WORD $0x423a; BYTE $0x14 // cmp al, byte [rdx + 20] - LONG $0x2454940f; BYTE $0x09 // sete byte [rsp + 9] + LONG $0x2454940f; BYTE $0x0a // sete byte [rsp + 10] LONG $0x1546b60f // movzx eax, byte [rsi + 21] WORD $0x423a; BYTE $0x15 // cmp al, byte [rdx + 21] - LONG $0x2454940f; BYTE $0x0a // sete byte [rsp + 10] + LONG $0x2454940f; BYTE $0x0b // sete byte [rsp + 11] LONG $0x1646b60f // movzx eax, byte [rsi + 22] WORD $0x423a; BYTE $0x16 // cmp al, byte [rdx + 22] - LONG $0x2454940f; BYTE $0x0b // sete byte [rsp + 11] + LONG $0x2454940f; BYTE $0x0c // sete byte [rsp + 12] LONG $0x1746b60f // movzx eax, byte [rsi + 23] WORD $0x423a; BYTE $0x17 // cmp al, byte [rdx + 23] LONG $0xd1940f41 // sete r9b LONG $0x1846b60f // movzx eax, byte [rsi + 24] WORD $0x423a; BYTE $0x18 // cmp al, byte [rdx + 24] - LONG $0x2454940f; BYTE $0x13 // sete byte [rsp + 19] + LONG $0x2454940f; BYTE $0x14 // sete byte [rsp + 20] LONG $0x1946b60f // movzx eax, byte [rsi + 25] WORD $0x423a; BYTE $0x19 // cmp al, byte [rdx + 25] - LONG $0x2454940f; BYTE $0x0c // sete byte [rsp + 12] + LONG $0x2454940f; BYTE $0x0d // sete byte [rsp + 13] LONG $0x1a46b60f // movzx eax, byte [rsi + 26] WORD $0x423a; BYTE $0x1a // cmp al, byte [rdx + 26] - LONG $0x2454940f; BYTE $0x0e // sete byte [rsp + 14] + LONG $0x2454940f; BYTE $0x0f // sete byte [rsp + 15] LONG $0x1b46b60f // movzx eax, byte [rsi + 27] WORD $0x423a; BYTE $0x1b // cmp al, byte [rdx + 27] - LONG $0x2454940f; BYTE $0x0f // sete byte [rsp + 15] + LONG $0x2454940f; BYTE $0x10 // sete byte [rsp + 16] LONG $0x1c46b60f // movzx eax, byte [rsi + 28] WORD $0x423a; BYTE $0x1c // cmp al, byte [rdx + 28] - LONG $0x2454940f; BYTE $0x10 // sete byte [rsp + 16] + LONG $0x2454940f; BYTE $0x11 // sete byte [rsp + 17] LONG $0x1d46b60f // movzx eax, byte [rsi + 29] WORD $0x423a; BYTE $0x1d // cmp al, byte [rdx + 29] - LONG $0x2454940f; BYTE $0x11 // sete byte [rsp + 17] + LONG $0x2454940f; BYTE $0x12 // sete byte [rsp + 18] LONG $0x1e46b60f // movzx eax, byte [rsi + 30] WORD $0x423a; BYTE $0x1e // cmp al, byte [rdx + 30] - LONG $0x2454940f; BYTE $0x12 // sete byte [rsp + 18] + LONG $0x2454940f; BYTE $0x13 // sete byte [rsp + 19] LONG $0x1f46b60f // movzx eax, byte [rsi + 31] LONG $0x20c68348 // add rsi, 32 WORD $0x423a; BYTE $0x1f // cmp al, byte [rdx + 31] - LONG $0xd0940f41 // sete r8b - WORD $0xc900 // add cl, cl - LONG $0x28244c02 // add cl, byte [rsp + 40] - WORD $0xc889 // mov eax, ecx - LONG $0x244cb60f; BYTE $0x04 // movzx ecx, byte [rsp + 4] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xdb00 // add bl, bl + LONG $0x04245c02 // add bl, byte [rsp + 4] + WORD $0xd889 // mov eax, ebx + LONG $0x245cb60f; BYTE $0x05 // movzx ebx, byte [rsp + 5] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e7c041 // shl r15b, 7 - WORD $0x0841; BYTE $0xcf // or r15b, cl - LONG $0x244cb60f; BYTE $0x14 // movzx ecx, byte [rsp + 20] - WORD $0xe1c0; BYTE $0x02 // shl cl, 2 - WORD $0xc108 // or cl, al - WORD $0xc889 // mov eax, ecx + WORD $0x0841; BYTE $0xdf // or r15b, bl + LONG $0x245cb60f; BYTE $0x15 // movzx ebx, byte [rsp + 21] + WORD $0xe3c0; BYTE $0x02 // shl bl, 2 + WORD $0xc308 // or bl, al + WORD $0xd889 // mov eax, ebx WORD $0x0040; BYTE $0xff // add dil, dil - LONG $0x247c0240; BYTE $0x07 // add dil, byte [rsp + 7] - LONG $0x244cb60f; BYTE $0x15 // movzx ecx, byte [rsp + 21] - WORD $0xe1c0; BYTE $0x03 // shl cl, 3 - WORD $0xc108 // or cl, al - WORD $0xc889 // mov eax, ecx + LONG $0x247c0240; BYTE $0x08 // add dil, byte [rsp + 8] + LONG $0x245cb60f; BYTE $0x16 // movzx ebx, byte [rsp + 22] + WORD $0xe3c0; BYTE $0x03 // shl bl, 3 + WORD $0xc308 // or bl, al + WORD $0xd889 // mov eax, ebx LONG $0x02e2c041 // shl r10b, 2 WORD $0x0841; BYTE $0xfa // or r10b, dil - LONG $0x244cb60f; BYTE $0x16 // movzx ecx, byte [rsp + 22] - WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0xc108 // or cl, al - WORD $0xcf89 // mov edi, ecx + LONG $0x245cb60f; BYTE $0x17 // movzx ebx, byte [rsp + 23] + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0xc308 // or bl, al + WORD $0xdf89 // mov edi, ebx LONG $0x03e3c041 // shl r11b, 3 WORD $0x0845; BYTE $0xd3 // or r11b, r10b - LONG $0x244cb60f; BYTE $0x17 // movzx ecx, byte [rsp + 23] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0x0840; BYTE $0xf9 // or cl, dil + LONG $0x245cb60f; BYTE $0x03 // movzx ebx, byte [rsp + 3] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + WORD $0x0840; BYTE $0xfb // or bl, dil LONG $0x04e6c041 // shl r14b, 4 WORD $0x0845; BYTE $0xde // or r14b, r11b - LONG $0x2444b60f; BYTE $0x05 // movzx eax, byte [rsp + 5] + LONG $0x2444b60f; BYTE $0x06 // movzx eax, byte [rsp + 6] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0x0844; BYTE $0xf0 // or al, r14b - LONG $0x247cb60f; BYTE $0x06 // movzx edi, byte [rsp + 6] + LONG $0x247cb60f; BYTE $0x07 // movzx edi, byte [rsp + 7] LONG $0x06e7c040 // shl dil, 6 - WORD $0xe3c0; BYTE $0x07 // shl bl, 7 - WORD $0x0840; BYTE $0xfb // or bl, dil - WORD $0x0841; BYTE $0xcf // or r15b, cl - WORD $0xc308 // or bl, al + LONG $0x07e0c041 // shl r8b, 7 + WORD $0x0841; BYTE $0xf8 // or r8b, dil + WORD $0x0841; BYTE $0xdf // or r15b, bl + WORD $0x0841; BYTE $0xc0 // or r8b, al WORD $0x0045; BYTE $0xe4 // add r12b, r12b - LONG $0x24640244; BYTE $0x0d // add r12b, byte [rsp + 13] + LONG $0x24640244; BYTE $0x0e // add r12b, byte [rsp + 14] LONG $0x02e5c041 // shl r13b, 2 WORD $0x0845; BYTE $0xe5 // or r13b, r12b - LONG $0x24748b4c; BYTE $0x30 // mov r14, qword [rsp + 48] - LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + LONG $0x24648b4c; BYTE $0x30 // mov r12, qword [rsp + 48] + LONG $0x2444b60f; BYTE $0x09 // movzx eax, byte [rsp + 9] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0x0844; BYTE $0xe8 // or al, r13b - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x09 // movzx eax, byte [rsp + 9] - WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x0a // movzx eax, byte [rsp + 10] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x0b // movzx eax, byte [rsp + 11] WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - WORD $0x8845; BYTE $0x3e // mov byte [r14], r15b - LONG $0x244cb60f; BYTE $0x0b // movzx ecx, byte [rsp + 11] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 + WORD $0xd808 // or al, bl + LONG $0x243c8845 // mov byte [r12], r15b + LONG $0x245cb60f; BYTE $0x0c // movzx ebx, byte [rsp + 12] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e1c041 // shl r9b, 7 - WORD $0x0841; BYTE $0xc9 // or r9b, cl - LONG $0x015e8841 // mov byte [r14 + 1], bl + WORD $0x0841; BYTE $0xd9 // or r9b, bl + LONG $0x24448845; BYTE $0x01 // mov byte [r12 + 1], r8b WORD $0x0841; BYTE $0xc1 // or r9b, al - LONG $0x2444b60f; BYTE $0x0c // movzx eax, byte [rsp + 12] + LONG $0x2444b60f; BYTE $0x0d // movzx eax, byte [rsp + 13] WORD $0xc000 // add al, al - LONG $0x13244402 // add al, byte [rsp + 19] - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x0e // movzx eax, byte [rsp + 14] - WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + LONG $0x14244402 // add al, byte [rsp + 20] + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x0f // movzx eax, byte [rsp + 15] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] - WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x11 // movzx eax, byte [rsp + 17] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x12 // movzx eax, byte [rsp + 18] WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - LONG $0x244cb60f; BYTE $0x12 // movzx ecx, byte [rsp + 18] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 - LONG $0x07e0c041 // shl r8b, 7 - WORD $0x0841; BYTE $0xc8 // or r8b, cl - WORD $0x0841; BYTE $0xc0 // or r8b, al - LONG $0x024e8845 // mov byte [r14 + 2], r9b - LONG $0x03468845 // mov byte [r14 + 3], r8b + WORD $0xd808 // or al, bl + LONG $0x245cb60f; BYTE $0x13 // movzx ebx, byte [rsp + 19] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 + WORD $0xe1c0; BYTE $0x07 // shl cl, 7 + WORD $0xd908 // or cl, bl + WORD $0xc108 // or cl, al + LONG $0x244c8845; BYTE $0x02 // mov byte [r12 + 2], r9b + LONG $0x244c8841; BYTE $0x03 // mov byte [r12 + 3], cl LONG $0x20c28348 // add rdx, 32 - LONG $0x04c68349 // add r14, 4 - LONG $0x24448348; WORD $0xff20 // add qword [rsp + 32], -1 + LONG $0x04c48349 // add r12, 4 + LONG $0x24448348; WORD $0xff28 // add qword [rsp + 40], -1 JNE LBB0_10 - LONG $0x245c8b4c; BYTE $0x18 // mov r11, qword [rsp + 24] - LONG $0x247c8b4c; BYTE $0x38 // mov r15, qword [rsp + 56] + LONG $0x24748b4c; BYTE $0x18 // mov r14, qword [rsp + 24] + LONG $0x247c8b4c; BYTE $0x20 // mov r15, qword [rsp + 32] LBB0_12: LONG $0x05e7c149 // shl r15, 5 - WORD $0x394d; BYTE $0xdf // cmp r15, r11 + WORD $0x394d; BYTE $0xf7 // cmp r15, r14 JGE LBB0_123 - WORD $0x294d; BYTE $0xfb // sub r11, r15 + WORD $0x294d; BYTE $0xfe // sub r14, r15 WORD $0xc931 // xor ecx, ecx LBB0_14: @@ -821,16 +917,16 @@ LBB0_14: WORD $0xdbf6 // neg bl WORD $0x8948; BYTE $0xcf // mov rdi, rcx LONG $0x03efc148 // shr rdi, 3 - LONG $0x0cb60f45; BYTE $0x3e // movzx r9d, byte [r14 + rdi] + LONG $0x0cb60f45; BYTE $0x3c // movzx r9d, byte [r12 + rdi] WORD $0x3044; BYTE $0xcb // xor bl, r9b WORD $0xe180; BYTE $0x07 // and cl, 7 WORD $0x01b0 // mov al, 1 WORD $0xe0d2 // shl al, cl WORD $0xd820 // and al, bl WORD $0x3044; BYTE $0xc8 // xor al, r9b - LONG $0x3e048841 // mov byte [r14 + rdi], al + LONG $0x3c048841 // mov byte [r12 + rdi], al WORD $0x894c; BYTE $0xc1 // mov rcx, r8 - WORD $0x394d; BYTE $0xc3 // cmp r11, r8 + WORD $0x394d; BYTE $0xc6 // cmp r14, r8 JNE LBB0_14 JMP LBB0_123 @@ -839,16 +935,16 @@ LBB0_30: JE LBB0_90 WORD $0xff83; BYTE $0x08 // cmp edi, 8 JNE LBB0_123 - LONG $0x1f7b8d4d // lea r15, [r11 + 31] - WORD $0x854d; BYTE $0xdb // test r11, r11 - LONG $0xfb490f4d // cmovns r15, r11 - LONG $0x07418d41 // lea eax, [r9 + 7] - WORD $0x8545; BYTE $0xc9 // test r9d, r9d - LONG $0xc1490f41 // cmovns eax, r9d - WORD $0xe083; BYTE $0xf8 // and eax, -8 - WORD $0x2941; BYTE $0xc1 // sub r9d, eax + LONG $0x1f7e8d4d // lea r15, [r14 + 31] + WORD $0x854d; BYTE $0xf6 // test r14, r14 + LONG $0xfe490f4d // cmovns r15, r14 + WORD $0x488d; BYTE $0x07 // lea ecx, [rax + 7] + WORD $0xc085 // test eax, eax + WORD $0x490f; BYTE $0xc8 // cmovns ecx, eax + WORD $0xe183; BYTE $0xf8 // and ecx, -8 + WORD $0xc829 // sub eax, ecx JE LBB0_36 - WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d + WORD $0x9848 // cdqe LBB0_34: WORD $0x8b48; BYTE $0x0e // mov rcx, qword [rsi] @@ -861,7 +957,7 @@ LBB0_34: WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xf8490f48 // cmovns rdi, rax LONG $0x03ffc148 // sar rdi, 3 - LONG $0x04b60f45; BYTE $0x3e // movzx r8d, byte [r14 + rdi] + LONG $0x04b60f45; BYTE $0x3c // movzx r8d, byte [r12 + rdi] WORD $0x3045; BYTE $0xc2 // xor r10b, r8b QUAD $0x00000000fd0c8d44 // lea r9d, [8*rdi] WORD $0xc189 // mov ecx, eax @@ -870,49 +966,49 @@ LBB0_34: WORD $0xe3d3 // shl ebx, cl WORD $0x2044; BYTE $0xd3 // and bl, r10b WORD $0x3044; BYTE $0xc3 // xor bl, r8b - LONG $0x3e1c8841 // mov byte [r14 + rdi], bl + LONG $0x3c1c8841 // mov byte [r12 + rdi], bl LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 JNE LBB0_34 - LONG $0x01c68349 // add r14, 1 + LONG $0x01c48349 // add r12, 1 LBB0_36: LONG $0x05ffc149 // sar r15, 5 - LONG $0x20fb8349 // cmp r11, 32 + LONG $0x20fe8349 // cmp r14, 32 JL LBB0_40 - LONG $0x245c894c; BYTE $0x18 // mov qword [rsp + 24], r11 - LONG $0x247c894c; BYTE $0x40 // mov qword [rsp + 64], r15 + LONG $0x2474894c; BYTE $0x18 // mov qword [rsp + 24], r14 LONG $0x247c894c; BYTE $0x38 // mov qword [rsp + 56], r15 + LONG $0x247c894c; BYTE $0x20 // mov qword [rsp + 32], r15 LBB0_38: - LONG $0x2474894c; BYTE $0x30 // mov qword [rsp + 48], r14 + LONG $0x2464894c; BYTE $0x30 // mov qword [rsp + 48], r12 WORD $0x8b48; BYTE $0x06 // mov rax, qword [rsi] LONG $0x084e8b48 // mov rcx, qword [rsi + 8] WORD $0x3b48; BYTE $0x02 // cmp rax, qword [rdx] - LONG $0x2454940f; BYTE $0x28 // sete byte [rsp + 40] + LONG $0x2454940f; BYTE $0x04 // sete byte [rsp + 4] LONG $0x084a3b48 // cmp rcx, qword [rdx + 8] - LONG $0x2454940f; BYTE $0x20 // sete byte [rsp + 32] + LONG $0x2454940f; BYTE $0x28 // sete byte [rsp + 40] LONG $0x10468b48 // mov rax, qword [rsi + 16] LONG $0x10423b48 // cmp rax, qword [rdx + 16] - LONG $0x2454940f; BYTE $0x14 // sete byte [rsp + 20] + LONG $0x2454940f; BYTE $0x15 // sete byte [rsp + 21] LONG $0x18468b48 // mov rax, qword [rsi + 24] LONG $0x18423b48 // cmp rax, qword [rdx + 24] - LONG $0x2454940f; BYTE $0x15 // sete byte [rsp + 21] + LONG $0x2454940f; BYTE $0x16 // sete byte [rsp + 22] LONG $0x20468b48 // mov rax, qword [rsi + 32] LONG $0x20423b48 // cmp rax, qword [rdx + 32] - LONG $0x2454940f; BYTE $0x16 // sete byte [rsp + 22] + LONG $0x2454940f; BYTE $0x17 // sete byte [rsp + 23] LONG $0x28468b48 // mov rax, qword [rsi + 40] LONG $0x28423b48 // cmp rax, qword [rdx + 40] - LONG $0x2454940f; BYTE $0x17 // sete byte [rsp + 23] + LONG $0x2454940f; BYTE $0x03 // sete byte [rsp + 3] LONG $0x30468b48 // mov rax, qword [rsi + 48] LONG $0x30423b48 // cmp rax, qword [rdx + 48] - LONG $0x2454940f; BYTE $0x04 // sete byte [rsp + 4] + LONG $0x2454940f; BYTE $0x05 // sete byte [rsp + 5] LONG $0x38468b48 // mov rax, qword [rsi + 56] LONG $0x38423b48 // cmp rax, qword [rdx + 56] LONG $0xd5940f41 // sete r13b LONG $0x40468b48 // mov rax, qword [rsi + 64] LONG $0x40423b48 // cmp rax, qword [rdx + 64] - LONG $0x2454940f; BYTE $0x09 // sete byte [rsp + 9] + LONG $0x2454940f; BYTE $0x0a // sete byte [rsp + 10] LONG $0x48468b48 // mov rax, qword [rsi + 72] LONG $0x48423b48 // cmp rax, qword [rdx + 72] LONG $0xd0940f41 // sete r8b @@ -924,165 +1020,165 @@ LBB0_38: LONG $0xd7940f41 // sete r15b LONG $0x60468b48 // mov rax, qword [rsi + 96] LONG $0x60423b48 // cmp rax, qword [rdx + 96] - LONG $0x2454940f; BYTE $0x05 // sete byte [rsp + 5] + LONG $0x2454940f; BYTE $0x06 // sete byte [rsp + 6] LONG $0x68468b48 // mov rax, qword [rsi + 104] LONG $0x68423b48 // cmp rax, qword [rdx + 104] - LONG $0x2454940f; BYTE $0x06 // sete byte [rsp + 6] + LONG $0x2454940f; BYTE $0x07 // sete byte [rsp + 7] LONG $0x70468b48 // mov rax, qword [rsi + 112] LONG $0x70423b48 // cmp rax, qword [rdx + 112] - LONG $0x2454940f; BYTE $0x07 // sete byte [rsp + 7] + LONG $0x2454940f; BYTE $0x08 // sete byte [rsp + 8] LONG $0x78468b48 // mov rax, qword [rsi + 120] LONG $0x78423b48 // cmp rax, qword [rdx + 120] - WORD $0x940f; BYTE $0xd3 // sete bl + LONG $0xd7940f40 // sete dil LONG $0x80868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 128] - LONG $0x888e8b48; WORD $0x0000; BYTE $0x00 // mov rcx, qword [rsi + 136] + LONG $0x889e8b48; WORD $0x0000; BYTE $0x00 // mov rbx, qword [rsi + 136] LONG $0x80823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 128] LONG $0x90868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 144] - LONG $0x2454940f; BYTE $0x0a // sete byte [rsp + 10] - LONG $0x888a3b48; WORD $0x0000; BYTE $0x00 // cmp rcx, qword [rdx + 136] - LONG $0x988e8b48; WORD $0x0000; BYTE $0x00 // mov rcx, qword [rsi + 152] + LONG $0x2454940f; BYTE $0x0b // sete byte [rsp + 11] + LONG $0x889a3b48; WORD $0x0000; BYTE $0x00 // cmp rbx, qword [rdx + 136] + LONG $0x989e8b48; WORD $0x0000; BYTE $0x00 // mov rbx, qword [rsi + 152] LONG $0xd2940f41 // sete r10b LONG $0x90823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 144] LONG $0xa0868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 160] LONG $0xd6940f41 // sete r14b - LONG $0x988a3b48; WORD $0x0000; BYTE $0x00 // cmp rcx, qword [rdx + 152] - LONG $0xa88e8b48; WORD $0x0000; BYTE $0x00 // mov rcx, qword [rsi + 168] + LONG $0x989a3b48; WORD $0x0000; BYTE $0x00 // cmp rbx, qword [rdx + 152] + LONG $0xa89e8b48; WORD $0x0000; BYTE $0x00 // mov rbx, qword [rsi + 168] LONG $0xd4940f41 // sete r12b LONG $0xa0823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 160] - LONG $0x2454940f; BYTE $0x08 // sete byte [rsp + 8] - LONG $0xa88a3b48; WORD $0x0000; BYTE $0x00 // cmp rcx, qword [rdx + 168] + LONG $0x2454940f; BYTE $0x09 // sete byte [rsp + 9] + LONG $0xa89a3b48; WORD $0x0000; BYTE $0x00 // cmp rbx, qword [rdx + 168] LONG $0xb0868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 176] - LONG $0x2454940f; BYTE $0x0b // sete byte [rsp + 11] + LONG $0x2454940f; BYTE $0x0c // sete byte [rsp + 12] LONG $0xb0823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 176] LONG $0xb8868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 184] - LONG $0x2454940f; BYTE $0x0c // sete byte [rsp + 12] + LONG $0x2454940f; BYTE $0x0d // sete byte [rsp + 13] LONG $0xb8823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 184] LONG $0xc0868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 192] LONG $0xd1940f41 // sete r9b LONG $0xc0823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 192] LONG $0xc8868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 200] - LONG $0x2454940f; BYTE $0x13 // sete byte [rsp + 19] + LONG $0x2454940f; BYTE $0x14 // sete byte [rsp + 20] LONG $0xc8823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 200] LONG $0xd0868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 208] - LONG $0x2454940f; BYTE $0x0d // sete byte [rsp + 13] + LONG $0x2454940f; BYTE $0x0e // sete byte [rsp + 14] LONG $0xd0823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 208] LONG $0xd8868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 216] - LONG $0x2454940f; BYTE $0x0e // sete byte [rsp + 14] + LONG $0x2454940f; BYTE $0x0f // sete byte [rsp + 15] LONG $0xd8823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 216] LONG $0xe0868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 224] - LONG $0x2454940f; BYTE $0x0f // sete byte [rsp + 15] + LONG $0x2454940f; BYTE $0x10 // sete byte [rsp + 16] LONG $0xe0823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 224] LONG $0xe8868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 232] - LONG $0x2454940f; BYTE $0x10 // sete byte [rsp + 16] + LONG $0x2454940f; BYTE $0x11 // sete byte [rsp + 17] LONG $0xe8823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 232] LONG $0xf0868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 240] - LONG $0x2454940f; BYTE $0x12 // sete byte [rsp + 18] + LONG $0x2454940f; BYTE $0x13 // sete byte [rsp + 19] LONG $0xf0823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 240] LONG $0xf8868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 248] - LONG $0x2454940f; BYTE $0x11 // sete byte [rsp + 17] + LONG $0x2454940f; BYTE $0x12 // sete byte [rsp + 18] LONG $0x00c68148; WORD $0x0001; BYTE $0x00 // add rsi, 256 LONG $0xf8823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 248] - LONG $0xd7940f40 // sete dil - LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] + WORD $0x940f; BYTE $0xd1 // sete cl + LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] WORD $0xc000 // add al, al - LONG $0x28244402 // add al, byte [rsp + 40] - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x04 // movzx eax, byte [rsp + 4] + LONG $0x04244402 // add al, byte [rsp + 4] + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x05 // movzx eax, byte [rsp + 5] WORD $0xe0c0; BYTE $0x06 // shl al, 6 LONG $0x07e5c041 // shl r13b, 7 WORD $0x0841; BYTE $0xc5 // or r13b, al - LONG $0x2444b60f; BYTE $0x14 // movzx eax, byte [rsp + 20] + LONG $0x2444b60f; BYTE $0x15 // movzx eax, byte [rsp + 21] WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xc808 // or al, cl + WORD $0xd808 // or al, bl WORD $0x0045; BYTE $0xc0 // add r8b, r8b - LONG $0x24440244; BYTE $0x09 // add r8b, byte [rsp + 9] - LONG $0x244cb60f; BYTE $0x15 // movzx ecx, byte [rsp + 21] - WORD $0xe1c0; BYTE $0x03 // shl cl, 3 - WORD $0xc108 // or cl, al - WORD $0xc889 // mov eax, ecx + LONG $0x24440244; BYTE $0x0a // add r8b, byte [rsp + 10] + LONG $0x245cb60f; BYTE $0x16 // movzx ebx, byte [rsp + 22] + WORD $0xe3c0; BYTE $0x03 // shl bl, 3 + WORD $0xc308 // or bl, al + WORD $0xd889 // mov eax, ebx LONG $0x02e3c041 // shl r11b, 2 WORD $0x0845; BYTE $0xc3 // or r11b, r8b - LONG $0x244cb60f; BYTE $0x16 // movzx ecx, byte [rsp + 22] - WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0xc108 // or cl, al - WORD $0x8941; BYTE $0xc8 // mov r8d, ecx + LONG $0x245cb60f; BYTE $0x17 // movzx ebx, byte [rsp + 23] + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0xc308 // or bl, al + WORD $0x8941; BYTE $0xd8 // mov r8d, ebx LONG $0x03e7c041 // shl r15b, 3 WORD $0x0845; BYTE $0xdf // or r15b, r11b - LONG $0x244cb60f; BYTE $0x17 // movzx ecx, byte [rsp + 23] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0x0844; BYTE $0xc1 // or cl, r8b - LONG $0x2444b60f; BYTE $0x05 // movzx eax, byte [rsp + 5] + LONG $0x245cb60f; BYTE $0x03 // movzx ebx, byte [rsp + 3] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + WORD $0x0844; BYTE $0xc3 // or bl, r8b + LONG $0x2444b60f; BYTE $0x06 // movzx eax, byte [rsp + 6] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0x0844; BYTE $0xf8 // or al, r15b WORD $0x8941; BYTE $0xc0 // mov r8d, eax - LONG $0x2444b60f; BYTE $0x06 // movzx eax, byte [rsp + 6] + LONG $0x2444b60f; BYTE $0x07 // movzx eax, byte [rsp + 7] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0x0844; BYTE $0xc0 // or al, r8b - LONG $0x44b60f44; WORD $0x0724 // movzx r8d, byte [rsp + 7] + LONG $0x44b60f44; WORD $0x0824 // movzx r8d, byte [rsp + 8] LONG $0x06e0c041 // shl r8b, 6 - WORD $0xe3c0; BYTE $0x07 // shl bl, 7 - WORD $0x0844; BYTE $0xc3 // or bl, r8b - WORD $0x0841; BYTE $0xcd // or r13b, cl - WORD $0xc308 // or bl, al + LONG $0x07e7c040 // shl dil, 7 + WORD $0x0844; BYTE $0xc7 // or dil, r8b + WORD $0x0841; BYTE $0xdd // or r13b, bl + WORD $0x0840; BYTE $0xc7 // or dil, al WORD $0x0045; BYTE $0xd2 // add r10b, r10b - LONG $0x24540244; BYTE $0x0a // add r10b, byte [rsp + 10] + LONG $0x24540244; BYTE $0x0b // add r10b, byte [rsp + 11] LONG $0x02e6c041 // shl r14b, 2 WORD $0x0845; BYTE $0xd6 // or r14b, r10b LONG $0x03e4c041 // shl r12b, 3 WORD $0x0845; BYTE $0xf4 // or r12b, r14b - LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + LONG $0x2444b60f; BYTE $0x09 // movzx eax, byte [rsp + 9] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0x0844; BYTE $0xe0 // or al, r12b - WORD $0xc189 // mov ecx, eax - LONG $0x24748b4c; BYTE $0x30 // mov r14, qword [rsp + 48] - LONG $0x2444b60f; BYTE $0x0b // movzx eax, byte [rsp + 11] + WORD $0xc389 // mov ebx, eax + LONG $0x24648b4c; BYTE $0x30 // mov r12, qword [rsp + 48] + LONG $0x2444b60f; BYTE $0x0c // movzx eax, byte [rsp + 12] WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - WORD $0x8845; BYTE $0x2e // mov byte [r14], r13b - LONG $0x244cb60f; BYTE $0x0c // movzx ecx, byte [rsp + 12] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 + WORD $0xd808 // or al, bl + LONG $0x242c8845 // mov byte [r12], r13b + LONG $0x245cb60f; BYTE $0x0d // movzx ebx, byte [rsp + 13] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e1c041 // shl r9b, 7 - WORD $0x0841; BYTE $0xc9 // or r9b, cl - LONG $0x015e8841 // mov byte [r14 + 1], bl + WORD $0x0841; BYTE $0xd9 // or r9b, bl + LONG $0x247c8841; BYTE $0x01 // mov byte [r12 + 1], dil WORD $0x0841; BYTE $0xc1 // or r9b, al - LONG $0x2444b60f; BYTE $0x0d // movzx eax, byte [rsp + 13] - WORD $0xc000 // add al, al - LONG $0x13244402 // add al, byte [rsp + 19] - WORD $0xc189 // mov ecx, eax LONG $0x2444b60f; BYTE $0x0e // movzx eax, byte [rsp + 14] - WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xc000 // add al, al + LONG $0x14244402 // add al, byte [rsp + 20] + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x0f // movzx eax, byte [rsp + 15] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x11 // movzx eax, byte [rsp + 17] WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x12 // movzx eax, byte [rsp + 18] + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x13 // movzx eax, byte [rsp + 19] WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - LONG $0x244cb60f; BYTE $0x11 // movzx ecx, byte [rsp + 17] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 - LONG $0x07e7c040 // shl dil, 7 - WORD $0x0840; BYTE $0xcf // or dil, cl - WORD $0x0840; BYTE $0xc7 // or dil, al - LONG $0x024e8845 // mov byte [r14 + 2], r9b - LONG $0x037e8841 // mov byte [r14 + 3], dil + WORD $0xd808 // or al, bl + LONG $0x245cb60f; BYTE $0x12 // movzx ebx, byte [rsp + 18] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 + WORD $0xe1c0; BYTE $0x07 // shl cl, 7 + WORD $0xd908 // or cl, bl + WORD $0xc108 // or cl, al + LONG $0x244c8845; BYTE $0x02 // mov byte [r12 + 2], r9b + LONG $0x244c8841; BYTE $0x03 // mov byte [r12 + 3], cl LONG $0x00c28148; WORD $0x0001; BYTE $0x00 // add rdx, 256 - LONG $0x04c68349 // add r14, 4 - LONG $0x24448348; WORD $0xff38 // add qword [rsp + 56], -1 + LONG $0x04c48349 // add r12, 4 + LONG $0x24448348; WORD $0xff20 // add qword [rsp + 32], -1 JNE LBB0_38 - LONG $0x245c8b4c; BYTE $0x18 // mov r11, qword [rsp + 24] - LONG $0x247c8b4c; BYTE $0x40 // mov r15, qword [rsp + 64] + LONG $0x24748b4c; BYTE $0x18 // mov r14, qword [rsp + 24] + LONG $0x247c8b4c; BYTE $0x38 // mov r15, qword [rsp + 56] LBB0_40: LONG $0x05e7c149 // shl r15, 5 - WORD $0x394d; BYTE $0xdf // cmp r15, r11 + WORD $0x394d; BYTE $0xf7 // cmp r15, r14 JGE LBB0_123 - WORD $0x294d; BYTE $0xfb // sub r11, r15 + WORD $0x294d; BYTE $0xfe // sub r14, r15 WORD $0xc931 // xor ecx, ecx LBB0_42: @@ -1093,30 +1189,30 @@ LBB0_42: WORD $0xdbf6 // neg bl WORD $0x8948; BYTE $0xcf // mov rdi, rcx LONG $0x03efc148 // shr rdi, 3 - LONG $0x0cb60f45; BYTE $0x3e // movzx r9d, byte [r14 + rdi] + LONG $0x0cb60f45; BYTE $0x3c // movzx r9d, byte [r12 + rdi] WORD $0x3044; BYTE $0xcb // xor bl, r9b WORD $0xe180; BYTE $0x07 // and cl, 7 WORD $0x01b0 // mov al, 1 WORD $0xe0d2 // shl al, cl WORD $0xd820 // and al, bl WORD $0x3044; BYTE $0xc8 // xor al, r9b - LONG $0x3e048841 // mov byte [r14 + rdi], al + LONG $0x3c048841 // mov byte [r12 + rdi], al WORD $0x894c; BYTE $0xc1 // mov rcx, r8 - WORD $0x394d; BYTE $0xc3 // cmp r11, r8 + WORD $0x394d; BYTE $0xc6 // cmp r14, r8 JNE LBB0_42 JMP LBB0_123 LBB0_68: - LONG $0x1f7b8d4d // lea r15, [r11 + 31] - WORD $0x854d; BYTE $0xdb // test r11, r11 - LONG $0xfb490f4d // cmovns r15, r11 - LONG $0x07418d41 // lea eax, [r9 + 7] - WORD $0x8545; BYTE $0xc9 // test r9d, r9d - LONG $0xc1490f41 // cmovns eax, r9d - WORD $0xe083; BYTE $0xf8 // and eax, -8 - WORD $0x2941; BYTE $0xc1 // sub r9d, eax + LONG $0x1f7e8d4d // lea r15, [r14 + 31] + WORD $0x854d; BYTE $0xf6 // test r14, r14 + LONG $0xfe490f4d // cmovns r15, r14 + WORD $0x488d; BYTE $0x07 // lea ecx, [rax + 7] + WORD $0xc085 // test eax, eax + WORD $0x490f; BYTE $0xc8 // cmovns ecx, eax + WORD $0xe183; BYTE $0xf8 // and ecx, -8 + WORD $0xc829 // sub eax, ecx JE LBB0_72 - WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d + WORD $0x9848 // cdqe LBB0_70: WORD $0xb70f; BYTE $0x0e // movzx ecx, word [rsi] @@ -1129,7 +1225,7 @@ LBB0_70: WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xf8490f48 // cmovns rdi, rax LONG $0x03ffc148 // sar rdi, 3 - LONG $0x04b60f45; BYTE $0x3e // movzx r8d, byte [r14 + rdi] + LONG $0x04b60f45; BYTE $0x3c // movzx r8d, byte [r12 + rdi] WORD $0x3045; BYTE $0xc2 // xor r10b, r8b QUAD $0x00000000fd0c8d44 // lea r9d, [8*rdi] WORD $0xc189 // mov ecx, eax @@ -1138,49 +1234,49 @@ LBB0_70: WORD $0xe3d3 // shl ebx, cl WORD $0x2044; BYTE $0xd3 // and bl, r10b WORD $0x3044; BYTE $0xc3 // xor bl, r8b - LONG $0x3e1c8841 // mov byte [r14 + rdi], bl + LONG $0x3c1c8841 // mov byte [r12 + rdi], bl LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 JNE LBB0_70 - LONG $0x01c68349 // add r14, 1 + LONG $0x01c48349 // add r12, 1 LBB0_72: LONG $0x05ffc149 // sar r15, 5 - LONG $0x20fb8349 // cmp r11, 32 + LONG $0x20fe8349 // cmp r14, 32 JL LBB0_76 - LONG $0x245c894c; BYTE $0x18 // mov qword [rsp + 24], r11 - LONG $0x247c894c; BYTE $0x40 // mov qword [rsp + 64], r15 + LONG $0x2474894c; BYTE $0x18 // mov qword [rsp + 24], r14 LONG $0x247c894c; BYTE $0x38 // mov qword [rsp + 56], r15 + LONG $0x247c894c; BYTE $0x20 // mov qword [rsp + 32], r15 LBB0_74: - LONG $0x2474894c; BYTE $0x30 // mov qword [rsp + 48], r14 + LONG $0x2464894c; BYTE $0x30 // mov qword [rsp + 48], r12 WORD $0xb70f; BYTE $0x06 // movzx eax, word [rsi] LONG $0x024eb70f // movzx ecx, word [rsi + 2] WORD $0x3b66; BYTE $0x02 // cmp ax, word [rdx] - LONG $0x2454940f; BYTE $0x28 // sete byte [rsp + 40] + LONG $0x2454940f; BYTE $0x04 // sete byte [rsp + 4] LONG $0x024a3b66 // cmp cx, word [rdx + 2] - LONG $0x2454940f; BYTE $0x20 // sete byte [rsp + 32] + LONG $0x2454940f; BYTE $0x28 // sete byte [rsp + 40] LONG $0x0446b70f // movzx eax, word [rsi + 4] LONG $0x04423b66 // cmp ax, word [rdx + 4] - LONG $0x2454940f; BYTE $0x14 // sete byte [rsp + 20] + LONG $0x2454940f; BYTE $0x15 // sete byte [rsp + 21] LONG $0x0646b70f // movzx eax, word [rsi + 6] LONG $0x06423b66 // cmp ax, word [rdx + 6] - LONG $0x2454940f; BYTE $0x15 // sete byte [rsp + 21] + LONG $0x2454940f; BYTE $0x16 // sete byte [rsp + 22] LONG $0x0846b70f // movzx eax, word [rsi + 8] LONG $0x08423b66 // cmp ax, word [rdx + 8] - LONG $0x2454940f; BYTE $0x16 // sete byte [rsp + 22] + LONG $0x2454940f; BYTE $0x17 // sete byte [rsp + 23] LONG $0x0a46b70f // movzx eax, word [rsi + 10] LONG $0x0a423b66 // cmp ax, word [rdx + 10] - LONG $0x2454940f; BYTE $0x17 // sete byte [rsp + 23] + LONG $0x2454940f; BYTE $0x03 // sete byte [rsp + 3] LONG $0x0c46b70f // movzx eax, word [rsi + 12] LONG $0x0c423b66 // cmp ax, word [rdx + 12] - LONG $0x2454940f; BYTE $0x04 // sete byte [rsp + 4] + LONG $0x2454940f; BYTE $0x05 // sete byte [rsp + 5] LONG $0x0e46b70f // movzx eax, word [rsi + 14] LONG $0x0e423b66 // cmp ax, word [rdx + 14] LONG $0xd5940f41 // sete r13b LONG $0x1046b70f // movzx eax, word [rsi + 16] LONG $0x10423b66 // cmp ax, word [rdx + 16] - LONG $0x2454940f; BYTE $0x09 // sete byte [rsp + 9] + LONG $0x2454940f; BYTE $0x0a // sete byte [rsp + 10] LONG $0x1246b70f // movzx eax, word [rsi + 18] LONG $0x12423b66 // cmp ax, word [rdx + 18] LONG $0xd0940f41 // sete r8b @@ -1192,165 +1288,165 @@ LBB0_74: LONG $0xd7940f41 // sete r15b LONG $0x1846b70f // movzx eax, word [rsi + 24] LONG $0x18423b66 // cmp ax, word [rdx + 24] - LONG $0x2454940f; BYTE $0x05 // sete byte [rsp + 5] + LONG $0x2454940f; BYTE $0x06 // sete byte [rsp + 6] LONG $0x1a46b70f // movzx eax, word [rsi + 26] LONG $0x1a423b66 // cmp ax, word [rdx + 26] - LONG $0x2454940f; BYTE $0x06 // sete byte [rsp + 6] + LONG $0x2454940f; BYTE $0x07 // sete byte [rsp + 7] LONG $0x1c46b70f // movzx eax, word [rsi + 28] LONG $0x1c423b66 // cmp ax, word [rdx + 28] - LONG $0x2454940f; BYTE $0x07 // sete byte [rsp + 7] + LONG $0x2454940f; BYTE $0x08 // sete byte [rsp + 8] LONG $0x1e46b70f // movzx eax, word [rsi + 30] LONG $0x1e423b66 // cmp ax, word [rdx + 30] - WORD $0x940f; BYTE $0xd3 // sete bl + LONG $0xd7940f40 // sete dil LONG $0x2046b70f // movzx eax, word [rsi + 32] - LONG $0x224eb70f // movzx ecx, word [rsi + 34] + LONG $0x225eb70f // movzx ebx, word [rsi + 34] LONG $0x20423b66 // cmp ax, word [rdx + 32] LONG $0x2446b70f // movzx eax, word [rsi + 36] - LONG $0x2454940f; BYTE $0x0a // sete byte [rsp + 10] - LONG $0x224a3b66 // cmp cx, word [rdx + 34] - LONG $0x264eb70f // movzx ecx, word [rsi + 38] + LONG $0x2454940f; BYTE $0x0b // sete byte [rsp + 11] + LONG $0x225a3b66 // cmp bx, word [rdx + 34] + LONG $0x265eb70f // movzx ebx, word [rsi + 38] LONG $0xd2940f41 // sete r10b LONG $0x24423b66 // cmp ax, word [rdx + 36] LONG $0x2846b70f // movzx eax, word [rsi + 40] LONG $0xd6940f41 // sete r14b - LONG $0x264a3b66 // cmp cx, word [rdx + 38] - LONG $0x2a4eb70f // movzx ecx, word [rsi + 42] + LONG $0x265a3b66 // cmp bx, word [rdx + 38] + LONG $0x2a5eb70f // movzx ebx, word [rsi + 42] LONG $0xd4940f41 // sete r12b LONG $0x28423b66 // cmp ax, word [rdx + 40] - LONG $0x2454940f; BYTE $0x08 // sete byte [rsp + 8] - LONG $0x2a4a3b66 // cmp cx, word [rdx + 42] + LONG $0x2454940f; BYTE $0x09 // sete byte [rsp + 9] + LONG $0x2a5a3b66 // cmp bx, word [rdx + 42] LONG $0x2c46b70f // movzx eax, word [rsi + 44] - LONG $0x2454940f; BYTE $0x0b // sete byte [rsp + 11] + LONG $0x2454940f; BYTE $0x0c // sete byte [rsp + 12] LONG $0x2c423b66 // cmp ax, word [rdx + 44] LONG $0x2e46b70f // movzx eax, word [rsi + 46] - LONG $0x2454940f; BYTE $0x0c // sete byte [rsp + 12] + LONG $0x2454940f; BYTE $0x0d // sete byte [rsp + 13] LONG $0x2e423b66 // cmp ax, word [rdx + 46] LONG $0x3046b70f // movzx eax, word [rsi + 48] LONG $0xd1940f41 // sete r9b LONG $0x30423b66 // cmp ax, word [rdx + 48] LONG $0x3246b70f // movzx eax, word [rsi + 50] - LONG $0x2454940f; BYTE $0x13 // sete byte [rsp + 19] + LONG $0x2454940f; BYTE $0x14 // sete byte [rsp + 20] LONG $0x32423b66 // cmp ax, word [rdx + 50] LONG $0x3446b70f // movzx eax, word [rsi + 52] - LONG $0x2454940f; BYTE $0x0d // sete byte [rsp + 13] + LONG $0x2454940f; BYTE $0x0e // sete byte [rsp + 14] LONG $0x34423b66 // cmp ax, word [rdx + 52] LONG $0x3646b70f // movzx eax, word [rsi + 54] - LONG $0x2454940f; BYTE $0x0e // sete byte [rsp + 14] + LONG $0x2454940f; BYTE $0x0f // sete byte [rsp + 15] LONG $0x36423b66 // cmp ax, word [rdx + 54] LONG $0x3846b70f // movzx eax, word [rsi + 56] - LONG $0x2454940f; BYTE $0x0f // sete byte [rsp + 15] + LONG $0x2454940f; BYTE $0x10 // sete byte [rsp + 16] LONG $0x38423b66 // cmp ax, word [rdx + 56] LONG $0x3a46b70f // movzx eax, word [rsi + 58] - LONG $0x2454940f; BYTE $0x10 // sete byte [rsp + 16] + LONG $0x2454940f; BYTE $0x11 // sete byte [rsp + 17] LONG $0x3a423b66 // cmp ax, word [rdx + 58] LONG $0x3c46b70f // movzx eax, word [rsi + 60] - LONG $0x2454940f; BYTE $0x12 // sete byte [rsp + 18] + LONG $0x2454940f; BYTE $0x13 // sete byte [rsp + 19] LONG $0x3c423b66 // cmp ax, word [rdx + 60] LONG $0x3e46b70f // movzx eax, word [rsi + 62] - LONG $0x2454940f; BYTE $0x11 // sete byte [rsp + 17] + LONG $0x2454940f; BYTE $0x12 // sete byte [rsp + 18] LONG $0x40c68348 // add rsi, 64 LONG $0x3e423b66 // cmp ax, word [rdx + 62] - LONG $0xd7940f40 // sete dil - LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] + WORD $0x940f; BYTE $0xd1 // sete cl + LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] WORD $0xc000 // add al, al - LONG $0x28244402 // add al, byte [rsp + 40] - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x04 // movzx eax, byte [rsp + 4] + LONG $0x04244402 // add al, byte [rsp + 4] + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x05 // movzx eax, byte [rsp + 5] WORD $0xe0c0; BYTE $0x06 // shl al, 6 LONG $0x07e5c041 // shl r13b, 7 WORD $0x0841; BYTE $0xc5 // or r13b, al - LONG $0x2444b60f; BYTE $0x14 // movzx eax, byte [rsp + 20] + LONG $0x2444b60f; BYTE $0x15 // movzx eax, byte [rsp + 21] WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xc808 // or al, cl + WORD $0xd808 // or al, bl WORD $0x0045; BYTE $0xc0 // add r8b, r8b - LONG $0x24440244; BYTE $0x09 // add r8b, byte [rsp + 9] - LONG $0x244cb60f; BYTE $0x15 // movzx ecx, byte [rsp + 21] - WORD $0xe1c0; BYTE $0x03 // shl cl, 3 - WORD $0xc108 // or cl, al - WORD $0xc889 // mov eax, ecx + LONG $0x24440244; BYTE $0x0a // add r8b, byte [rsp + 10] + LONG $0x245cb60f; BYTE $0x16 // movzx ebx, byte [rsp + 22] + WORD $0xe3c0; BYTE $0x03 // shl bl, 3 + WORD $0xc308 // or bl, al + WORD $0xd889 // mov eax, ebx LONG $0x02e3c041 // shl r11b, 2 WORD $0x0845; BYTE $0xc3 // or r11b, r8b - LONG $0x244cb60f; BYTE $0x16 // movzx ecx, byte [rsp + 22] - WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0xc108 // or cl, al - WORD $0x8941; BYTE $0xc8 // mov r8d, ecx + LONG $0x245cb60f; BYTE $0x17 // movzx ebx, byte [rsp + 23] + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0xc308 // or bl, al + WORD $0x8941; BYTE $0xd8 // mov r8d, ebx LONG $0x03e7c041 // shl r15b, 3 WORD $0x0845; BYTE $0xdf // or r15b, r11b - LONG $0x244cb60f; BYTE $0x17 // movzx ecx, byte [rsp + 23] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0x0844; BYTE $0xc1 // or cl, r8b - LONG $0x2444b60f; BYTE $0x05 // movzx eax, byte [rsp + 5] + LONG $0x245cb60f; BYTE $0x03 // movzx ebx, byte [rsp + 3] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + WORD $0x0844; BYTE $0xc3 // or bl, r8b + LONG $0x2444b60f; BYTE $0x06 // movzx eax, byte [rsp + 6] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0x0844; BYTE $0xf8 // or al, r15b WORD $0x8941; BYTE $0xc0 // mov r8d, eax - LONG $0x2444b60f; BYTE $0x06 // movzx eax, byte [rsp + 6] + LONG $0x2444b60f; BYTE $0x07 // movzx eax, byte [rsp + 7] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0x0844; BYTE $0xc0 // or al, r8b - LONG $0x44b60f44; WORD $0x0724 // movzx r8d, byte [rsp + 7] + LONG $0x44b60f44; WORD $0x0824 // movzx r8d, byte [rsp + 8] LONG $0x06e0c041 // shl r8b, 6 - WORD $0xe3c0; BYTE $0x07 // shl bl, 7 - WORD $0x0844; BYTE $0xc3 // or bl, r8b - WORD $0x0841; BYTE $0xcd // or r13b, cl - WORD $0xc308 // or bl, al + LONG $0x07e7c040 // shl dil, 7 + WORD $0x0844; BYTE $0xc7 // or dil, r8b + WORD $0x0841; BYTE $0xdd // or r13b, bl + WORD $0x0840; BYTE $0xc7 // or dil, al WORD $0x0045; BYTE $0xd2 // add r10b, r10b - LONG $0x24540244; BYTE $0x0a // add r10b, byte [rsp + 10] + LONG $0x24540244; BYTE $0x0b // add r10b, byte [rsp + 11] LONG $0x02e6c041 // shl r14b, 2 WORD $0x0845; BYTE $0xd6 // or r14b, r10b LONG $0x03e4c041 // shl r12b, 3 WORD $0x0845; BYTE $0xf4 // or r12b, r14b - LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + LONG $0x2444b60f; BYTE $0x09 // movzx eax, byte [rsp + 9] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0x0844; BYTE $0xe0 // or al, r12b - WORD $0xc189 // mov ecx, eax - LONG $0x24748b4c; BYTE $0x30 // mov r14, qword [rsp + 48] - LONG $0x2444b60f; BYTE $0x0b // movzx eax, byte [rsp + 11] + WORD $0xc389 // mov ebx, eax + LONG $0x24648b4c; BYTE $0x30 // mov r12, qword [rsp + 48] + LONG $0x2444b60f; BYTE $0x0c // movzx eax, byte [rsp + 12] WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - WORD $0x8845; BYTE $0x2e // mov byte [r14], r13b - LONG $0x244cb60f; BYTE $0x0c // movzx ecx, byte [rsp + 12] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 + WORD $0xd808 // or al, bl + LONG $0x242c8845 // mov byte [r12], r13b + LONG $0x245cb60f; BYTE $0x0d // movzx ebx, byte [rsp + 13] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e1c041 // shl r9b, 7 - WORD $0x0841; BYTE $0xc9 // or r9b, cl - LONG $0x015e8841 // mov byte [r14 + 1], bl + WORD $0x0841; BYTE $0xd9 // or r9b, bl + LONG $0x247c8841; BYTE $0x01 // mov byte [r12 + 1], dil WORD $0x0841; BYTE $0xc1 // or r9b, al - LONG $0x2444b60f; BYTE $0x0d // movzx eax, byte [rsp + 13] - WORD $0xc000 // add al, al - LONG $0x13244402 // add al, byte [rsp + 19] - WORD $0xc189 // mov ecx, eax LONG $0x2444b60f; BYTE $0x0e // movzx eax, byte [rsp + 14] - WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xc000 // add al, al + LONG $0x14244402 // add al, byte [rsp + 20] + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x0f // movzx eax, byte [rsp + 15] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x11 // movzx eax, byte [rsp + 17] WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x12 // movzx eax, byte [rsp + 18] + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x13 // movzx eax, byte [rsp + 19] WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - LONG $0x244cb60f; BYTE $0x11 // movzx ecx, byte [rsp + 17] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 - LONG $0x07e7c040 // shl dil, 7 - WORD $0x0840; BYTE $0xcf // or dil, cl - WORD $0x0840; BYTE $0xc7 // or dil, al - LONG $0x024e8845 // mov byte [r14 + 2], r9b - LONG $0x037e8841 // mov byte [r14 + 3], dil + WORD $0xd808 // or al, bl + LONG $0x245cb60f; BYTE $0x12 // movzx ebx, byte [rsp + 18] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 + WORD $0xe1c0; BYTE $0x07 // shl cl, 7 + WORD $0xd908 // or cl, bl + WORD $0xc108 // or cl, al + LONG $0x244c8845; BYTE $0x02 // mov byte [r12 + 2], r9b + LONG $0x244c8841; BYTE $0x03 // mov byte [r12 + 3], cl LONG $0x40c28348 // add rdx, 64 - LONG $0x04c68349 // add r14, 4 - LONG $0x24448348; WORD $0xff38 // add qword [rsp + 56], -1 + LONG $0x04c48349 // add r12, 4 + LONG $0x24448348; WORD $0xff20 // add qword [rsp + 32], -1 JNE LBB0_74 - LONG $0x245c8b4c; BYTE $0x18 // mov r11, qword [rsp + 24] - LONG $0x247c8b4c; BYTE $0x40 // mov r15, qword [rsp + 64] + LONG $0x24748b4c; BYTE $0x18 // mov r14, qword [rsp + 24] + LONG $0x247c8b4c; BYTE $0x38 // mov r15, qword [rsp + 56] LBB0_76: LONG $0x05e7c149 // shl r15, 5 - WORD $0x394d; BYTE $0xdf // cmp r15, r11 + WORD $0x394d; BYTE $0xf7 // cmp r15, r14 JGE LBB0_123 - WORD $0x294d; BYTE $0xfb // sub r11, r15 + WORD $0x294d; BYTE $0xfe // sub r14, r15 WORD $0xc931 // xor ecx, ecx LBB0_78: @@ -1361,30 +1457,30 @@ LBB0_78: WORD $0xdbf6 // neg bl WORD $0x8948; BYTE $0xcf // mov rdi, rcx LONG $0x03efc148 // shr rdi, 3 - LONG $0x0cb60f45; BYTE $0x3e // movzx r9d, byte [r14 + rdi] + LONG $0x0cb60f45; BYTE $0x3c // movzx r9d, byte [r12 + rdi] WORD $0x3044; BYTE $0xcb // xor bl, r9b WORD $0xe180; BYTE $0x07 // and cl, 7 WORD $0x01b0 // mov al, 1 WORD $0xe0d2 // shl al, cl WORD $0xd820 // and al, bl WORD $0x3044; BYTE $0xc8 // xor al, r9b - LONG $0x3e048841 // mov byte [r14 + rdi], al + LONG $0x3c048841 // mov byte [r12 + rdi], al WORD $0x894c; BYTE $0xc1 // mov rcx, r8 - WORD $0x394d; BYTE $0xc3 // cmp r11, r8 + WORD $0x394d; BYTE $0xc6 // cmp r14, r8 JNE LBB0_78 JMP LBB0_123 LBB0_79: - LONG $0x1f7b8d4d // lea r15, [r11 + 31] - WORD $0x854d; BYTE $0xdb // test r11, r11 - LONG $0xfb490f4d // cmovns r15, r11 - LONG $0x07418d41 // lea eax, [r9 + 7] - WORD $0x8545; BYTE $0xc9 // test r9d, r9d - LONG $0xc1490f41 // cmovns eax, r9d - WORD $0xe083; BYTE $0xf8 // and eax, -8 - WORD $0x2941; BYTE $0xc1 // sub r9d, eax + LONG $0x1f7e8d4d // lea r15, [r14 + 31] + WORD $0x854d; BYTE $0xf6 // test r14, r14 + LONG $0xfe490f4d // cmovns r15, r14 + WORD $0x488d; BYTE $0x07 // lea ecx, [rax + 7] + WORD $0xc085 // test eax, eax + WORD $0x490f; BYTE $0xc8 // cmovns ecx, eax + WORD $0xe183; BYTE $0xf8 // and ecx, -8 + WORD $0xc829 // sub eax, ecx JE LBB0_83 - WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d + WORD $0x9848 // cdqe LBB0_81: WORD $0xb70f; BYTE $0x0e // movzx ecx, word [rsi] @@ -1397,7 +1493,7 @@ LBB0_81: WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xf8490f48 // cmovns rdi, rax LONG $0x03ffc148 // sar rdi, 3 - LONG $0x04b60f45; BYTE $0x3e // movzx r8d, byte [r14 + rdi] + LONG $0x04b60f45; BYTE $0x3c // movzx r8d, byte [r12 + rdi] WORD $0x3045; BYTE $0xc2 // xor r10b, r8b QUAD $0x00000000fd0c8d44 // lea r9d, [8*rdi] WORD $0xc189 // mov ecx, eax @@ -1406,49 +1502,49 @@ LBB0_81: WORD $0xe3d3 // shl ebx, cl WORD $0x2044; BYTE $0xd3 // and bl, r10b WORD $0x3044; BYTE $0xc3 // xor bl, r8b - LONG $0x3e1c8841 // mov byte [r14 + rdi], bl + LONG $0x3c1c8841 // mov byte [r12 + rdi], bl LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 JNE LBB0_81 - LONG $0x01c68349 // add r14, 1 + LONG $0x01c48349 // add r12, 1 LBB0_83: LONG $0x05ffc149 // sar r15, 5 - LONG $0x20fb8349 // cmp r11, 32 + LONG $0x20fe8349 // cmp r14, 32 JL LBB0_87 - LONG $0x245c894c; BYTE $0x18 // mov qword [rsp + 24], r11 - LONG $0x247c894c; BYTE $0x40 // mov qword [rsp + 64], r15 + LONG $0x2474894c; BYTE $0x18 // mov qword [rsp + 24], r14 LONG $0x247c894c; BYTE $0x38 // mov qword [rsp + 56], r15 + LONG $0x247c894c; BYTE $0x20 // mov qword [rsp + 32], r15 LBB0_85: - LONG $0x2474894c; BYTE $0x30 // mov qword [rsp + 48], r14 + LONG $0x2464894c; BYTE $0x30 // mov qword [rsp + 48], r12 WORD $0xb70f; BYTE $0x06 // movzx eax, word [rsi] LONG $0x024eb70f // movzx ecx, word [rsi + 2] WORD $0x3b66; BYTE $0x02 // cmp ax, word [rdx] - LONG $0x2454940f; BYTE $0x28 // sete byte [rsp + 40] + LONG $0x2454940f; BYTE $0x04 // sete byte [rsp + 4] LONG $0x024a3b66 // cmp cx, word [rdx + 2] - LONG $0x2454940f; BYTE $0x20 // sete byte [rsp + 32] + LONG $0x2454940f; BYTE $0x28 // sete byte [rsp + 40] LONG $0x0446b70f // movzx eax, word [rsi + 4] LONG $0x04423b66 // cmp ax, word [rdx + 4] - LONG $0x2454940f; BYTE $0x14 // sete byte [rsp + 20] + LONG $0x2454940f; BYTE $0x15 // sete byte [rsp + 21] LONG $0x0646b70f // movzx eax, word [rsi + 6] LONG $0x06423b66 // cmp ax, word [rdx + 6] - LONG $0x2454940f; BYTE $0x15 // sete byte [rsp + 21] + LONG $0x2454940f; BYTE $0x16 // sete byte [rsp + 22] LONG $0x0846b70f // movzx eax, word [rsi + 8] LONG $0x08423b66 // cmp ax, word [rdx + 8] - LONG $0x2454940f; BYTE $0x16 // sete byte [rsp + 22] + LONG $0x2454940f; BYTE $0x17 // sete byte [rsp + 23] LONG $0x0a46b70f // movzx eax, word [rsi + 10] LONG $0x0a423b66 // cmp ax, word [rdx + 10] - LONG $0x2454940f; BYTE $0x17 // sete byte [rsp + 23] + LONG $0x2454940f; BYTE $0x03 // sete byte [rsp + 3] LONG $0x0c46b70f // movzx eax, word [rsi + 12] LONG $0x0c423b66 // cmp ax, word [rdx + 12] - LONG $0x2454940f; BYTE $0x04 // sete byte [rsp + 4] + LONG $0x2454940f; BYTE $0x05 // sete byte [rsp + 5] LONG $0x0e46b70f // movzx eax, word [rsi + 14] LONG $0x0e423b66 // cmp ax, word [rdx + 14] LONG $0xd5940f41 // sete r13b LONG $0x1046b70f // movzx eax, word [rsi + 16] LONG $0x10423b66 // cmp ax, word [rdx + 16] - LONG $0x2454940f; BYTE $0x09 // sete byte [rsp + 9] + LONG $0x2454940f; BYTE $0x0a // sete byte [rsp + 10] LONG $0x1246b70f // movzx eax, word [rsi + 18] LONG $0x12423b66 // cmp ax, word [rdx + 18] LONG $0xd0940f41 // sete r8b @@ -1460,165 +1556,165 @@ LBB0_85: LONG $0xd7940f41 // sete r15b LONG $0x1846b70f // movzx eax, word [rsi + 24] LONG $0x18423b66 // cmp ax, word [rdx + 24] - LONG $0x2454940f; BYTE $0x05 // sete byte [rsp + 5] + LONG $0x2454940f; BYTE $0x06 // sete byte [rsp + 6] LONG $0x1a46b70f // movzx eax, word [rsi + 26] LONG $0x1a423b66 // cmp ax, word [rdx + 26] - LONG $0x2454940f; BYTE $0x06 // sete byte [rsp + 6] + LONG $0x2454940f; BYTE $0x07 // sete byte [rsp + 7] LONG $0x1c46b70f // movzx eax, word [rsi + 28] LONG $0x1c423b66 // cmp ax, word [rdx + 28] - LONG $0x2454940f; BYTE $0x07 // sete byte [rsp + 7] + LONG $0x2454940f; BYTE $0x08 // sete byte [rsp + 8] LONG $0x1e46b70f // movzx eax, word [rsi + 30] LONG $0x1e423b66 // cmp ax, word [rdx + 30] - WORD $0x940f; BYTE $0xd3 // sete bl + LONG $0xd7940f40 // sete dil LONG $0x2046b70f // movzx eax, word [rsi + 32] - LONG $0x224eb70f // movzx ecx, word [rsi + 34] + LONG $0x225eb70f // movzx ebx, word [rsi + 34] LONG $0x20423b66 // cmp ax, word [rdx + 32] LONG $0x2446b70f // movzx eax, word [rsi + 36] - LONG $0x2454940f; BYTE $0x0a // sete byte [rsp + 10] - LONG $0x224a3b66 // cmp cx, word [rdx + 34] - LONG $0x264eb70f // movzx ecx, word [rsi + 38] + LONG $0x2454940f; BYTE $0x0b // sete byte [rsp + 11] + LONG $0x225a3b66 // cmp bx, word [rdx + 34] + LONG $0x265eb70f // movzx ebx, word [rsi + 38] LONG $0xd2940f41 // sete r10b LONG $0x24423b66 // cmp ax, word [rdx + 36] LONG $0x2846b70f // movzx eax, word [rsi + 40] LONG $0xd6940f41 // sete r14b - LONG $0x264a3b66 // cmp cx, word [rdx + 38] - LONG $0x2a4eb70f // movzx ecx, word [rsi + 42] + LONG $0x265a3b66 // cmp bx, word [rdx + 38] + LONG $0x2a5eb70f // movzx ebx, word [rsi + 42] LONG $0xd4940f41 // sete r12b LONG $0x28423b66 // cmp ax, word [rdx + 40] - LONG $0x2454940f; BYTE $0x08 // sete byte [rsp + 8] - LONG $0x2a4a3b66 // cmp cx, word [rdx + 42] + LONG $0x2454940f; BYTE $0x09 // sete byte [rsp + 9] + LONG $0x2a5a3b66 // cmp bx, word [rdx + 42] LONG $0x2c46b70f // movzx eax, word [rsi + 44] - LONG $0x2454940f; BYTE $0x0b // sete byte [rsp + 11] + LONG $0x2454940f; BYTE $0x0c // sete byte [rsp + 12] LONG $0x2c423b66 // cmp ax, word [rdx + 44] LONG $0x2e46b70f // movzx eax, word [rsi + 46] - LONG $0x2454940f; BYTE $0x0c // sete byte [rsp + 12] + LONG $0x2454940f; BYTE $0x0d // sete byte [rsp + 13] LONG $0x2e423b66 // cmp ax, word [rdx + 46] LONG $0x3046b70f // movzx eax, word [rsi + 48] LONG $0xd1940f41 // sete r9b LONG $0x30423b66 // cmp ax, word [rdx + 48] LONG $0x3246b70f // movzx eax, word [rsi + 50] - LONG $0x2454940f; BYTE $0x13 // sete byte [rsp + 19] + LONG $0x2454940f; BYTE $0x14 // sete byte [rsp + 20] LONG $0x32423b66 // cmp ax, word [rdx + 50] LONG $0x3446b70f // movzx eax, word [rsi + 52] - LONG $0x2454940f; BYTE $0x0d // sete byte [rsp + 13] + LONG $0x2454940f; BYTE $0x0e // sete byte [rsp + 14] LONG $0x34423b66 // cmp ax, word [rdx + 52] LONG $0x3646b70f // movzx eax, word [rsi + 54] - LONG $0x2454940f; BYTE $0x0e // sete byte [rsp + 14] + LONG $0x2454940f; BYTE $0x0f // sete byte [rsp + 15] LONG $0x36423b66 // cmp ax, word [rdx + 54] LONG $0x3846b70f // movzx eax, word [rsi + 56] - LONG $0x2454940f; BYTE $0x0f // sete byte [rsp + 15] + LONG $0x2454940f; BYTE $0x10 // sete byte [rsp + 16] LONG $0x38423b66 // cmp ax, word [rdx + 56] LONG $0x3a46b70f // movzx eax, word [rsi + 58] - LONG $0x2454940f; BYTE $0x10 // sete byte [rsp + 16] + LONG $0x2454940f; BYTE $0x11 // sete byte [rsp + 17] LONG $0x3a423b66 // cmp ax, word [rdx + 58] LONG $0x3c46b70f // movzx eax, word [rsi + 60] - LONG $0x2454940f; BYTE $0x12 // sete byte [rsp + 18] + LONG $0x2454940f; BYTE $0x13 // sete byte [rsp + 19] LONG $0x3c423b66 // cmp ax, word [rdx + 60] LONG $0x3e46b70f // movzx eax, word [rsi + 62] - LONG $0x2454940f; BYTE $0x11 // sete byte [rsp + 17] + LONG $0x2454940f; BYTE $0x12 // sete byte [rsp + 18] LONG $0x40c68348 // add rsi, 64 LONG $0x3e423b66 // cmp ax, word [rdx + 62] - LONG $0xd7940f40 // sete dil - LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] + WORD $0x940f; BYTE $0xd1 // sete cl + LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] WORD $0xc000 // add al, al - LONG $0x28244402 // add al, byte [rsp + 40] - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x04 // movzx eax, byte [rsp + 4] + LONG $0x04244402 // add al, byte [rsp + 4] + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x05 // movzx eax, byte [rsp + 5] WORD $0xe0c0; BYTE $0x06 // shl al, 6 LONG $0x07e5c041 // shl r13b, 7 WORD $0x0841; BYTE $0xc5 // or r13b, al - LONG $0x2444b60f; BYTE $0x14 // movzx eax, byte [rsp + 20] + LONG $0x2444b60f; BYTE $0x15 // movzx eax, byte [rsp + 21] WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xc808 // or al, cl + WORD $0xd808 // or al, bl WORD $0x0045; BYTE $0xc0 // add r8b, r8b - LONG $0x24440244; BYTE $0x09 // add r8b, byte [rsp + 9] - LONG $0x244cb60f; BYTE $0x15 // movzx ecx, byte [rsp + 21] - WORD $0xe1c0; BYTE $0x03 // shl cl, 3 - WORD $0xc108 // or cl, al - WORD $0xc889 // mov eax, ecx + LONG $0x24440244; BYTE $0x0a // add r8b, byte [rsp + 10] + LONG $0x245cb60f; BYTE $0x16 // movzx ebx, byte [rsp + 22] + WORD $0xe3c0; BYTE $0x03 // shl bl, 3 + WORD $0xc308 // or bl, al + WORD $0xd889 // mov eax, ebx LONG $0x02e3c041 // shl r11b, 2 WORD $0x0845; BYTE $0xc3 // or r11b, r8b - LONG $0x244cb60f; BYTE $0x16 // movzx ecx, byte [rsp + 22] - WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0xc108 // or cl, al - WORD $0x8941; BYTE $0xc8 // mov r8d, ecx + LONG $0x245cb60f; BYTE $0x17 // movzx ebx, byte [rsp + 23] + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0xc308 // or bl, al + WORD $0x8941; BYTE $0xd8 // mov r8d, ebx LONG $0x03e7c041 // shl r15b, 3 WORD $0x0845; BYTE $0xdf // or r15b, r11b - LONG $0x244cb60f; BYTE $0x17 // movzx ecx, byte [rsp + 23] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0x0844; BYTE $0xc1 // or cl, r8b - LONG $0x2444b60f; BYTE $0x05 // movzx eax, byte [rsp + 5] + LONG $0x245cb60f; BYTE $0x03 // movzx ebx, byte [rsp + 3] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + WORD $0x0844; BYTE $0xc3 // or bl, r8b + LONG $0x2444b60f; BYTE $0x06 // movzx eax, byte [rsp + 6] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0x0844; BYTE $0xf8 // or al, r15b WORD $0x8941; BYTE $0xc0 // mov r8d, eax - LONG $0x2444b60f; BYTE $0x06 // movzx eax, byte [rsp + 6] + LONG $0x2444b60f; BYTE $0x07 // movzx eax, byte [rsp + 7] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0x0844; BYTE $0xc0 // or al, r8b - LONG $0x44b60f44; WORD $0x0724 // movzx r8d, byte [rsp + 7] + LONG $0x44b60f44; WORD $0x0824 // movzx r8d, byte [rsp + 8] LONG $0x06e0c041 // shl r8b, 6 - WORD $0xe3c0; BYTE $0x07 // shl bl, 7 - WORD $0x0844; BYTE $0xc3 // or bl, r8b - WORD $0x0841; BYTE $0xcd // or r13b, cl - WORD $0xc308 // or bl, al + LONG $0x07e7c040 // shl dil, 7 + WORD $0x0844; BYTE $0xc7 // or dil, r8b + WORD $0x0841; BYTE $0xdd // or r13b, bl + WORD $0x0840; BYTE $0xc7 // or dil, al WORD $0x0045; BYTE $0xd2 // add r10b, r10b - LONG $0x24540244; BYTE $0x0a // add r10b, byte [rsp + 10] + LONG $0x24540244; BYTE $0x0b // add r10b, byte [rsp + 11] LONG $0x02e6c041 // shl r14b, 2 WORD $0x0845; BYTE $0xd6 // or r14b, r10b LONG $0x03e4c041 // shl r12b, 3 WORD $0x0845; BYTE $0xf4 // or r12b, r14b - LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + LONG $0x2444b60f; BYTE $0x09 // movzx eax, byte [rsp + 9] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0x0844; BYTE $0xe0 // or al, r12b - WORD $0xc189 // mov ecx, eax - LONG $0x24748b4c; BYTE $0x30 // mov r14, qword [rsp + 48] - LONG $0x2444b60f; BYTE $0x0b // movzx eax, byte [rsp + 11] + WORD $0xc389 // mov ebx, eax + LONG $0x24648b4c; BYTE $0x30 // mov r12, qword [rsp + 48] + LONG $0x2444b60f; BYTE $0x0c // movzx eax, byte [rsp + 12] WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - WORD $0x8845; BYTE $0x2e // mov byte [r14], r13b - LONG $0x244cb60f; BYTE $0x0c // movzx ecx, byte [rsp + 12] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 + WORD $0xd808 // or al, bl + LONG $0x242c8845 // mov byte [r12], r13b + LONG $0x245cb60f; BYTE $0x0d // movzx ebx, byte [rsp + 13] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e1c041 // shl r9b, 7 - WORD $0x0841; BYTE $0xc9 // or r9b, cl - LONG $0x015e8841 // mov byte [r14 + 1], bl + WORD $0x0841; BYTE $0xd9 // or r9b, bl + LONG $0x247c8841; BYTE $0x01 // mov byte [r12 + 1], dil WORD $0x0841; BYTE $0xc1 // or r9b, al - LONG $0x2444b60f; BYTE $0x0d // movzx eax, byte [rsp + 13] - WORD $0xc000 // add al, al - LONG $0x13244402 // add al, byte [rsp + 19] - WORD $0xc189 // mov ecx, eax LONG $0x2444b60f; BYTE $0x0e // movzx eax, byte [rsp + 14] - WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xc000 // add al, al + LONG $0x14244402 // add al, byte [rsp + 20] + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x0f // movzx eax, byte [rsp + 15] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x11 // movzx eax, byte [rsp + 17] WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x12 // movzx eax, byte [rsp + 18] + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x13 // movzx eax, byte [rsp + 19] WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - LONG $0x244cb60f; BYTE $0x11 // movzx ecx, byte [rsp + 17] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 - LONG $0x07e7c040 // shl dil, 7 - WORD $0x0840; BYTE $0xcf // or dil, cl - WORD $0x0840; BYTE $0xc7 // or dil, al - LONG $0x024e8845 // mov byte [r14 + 2], r9b - LONG $0x037e8841 // mov byte [r14 + 3], dil + WORD $0xd808 // or al, bl + LONG $0x245cb60f; BYTE $0x12 // movzx ebx, byte [rsp + 18] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 + WORD $0xe1c0; BYTE $0x07 // shl cl, 7 + WORD $0xd908 // or cl, bl + WORD $0xc108 // or cl, al + LONG $0x244c8845; BYTE $0x02 // mov byte [r12 + 2], r9b + LONG $0x244c8841; BYTE $0x03 // mov byte [r12 + 3], cl LONG $0x40c28348 // add rdx, 64 - LONG $0x04c68349 // add r14, 4 - LONG $0x24448348; WORD $0xff38 // add qword [rsp + 56], -1 + LONG $0x04c48349 // add r12, 4 + LONG $0x24448348; WORD $0xff20 // add qword [rsp + 32], -1 JNE LBB0_85 - LONG $0x245c8b4c; BYTE $0x18 // mov r11, qword [rsp + 24] - LONG $0x247c8b4c; BYTE $0x40 // mov r15, qword [rsp + 64] + LONG $0x24748b4c; BYTE $0x18 // mov r14, qword [rsp + 24] + LONG $0x247c8b4c; BYTE $0x38 // mov r15, qword [rsp + 56] LBB0_87: LONG $0x05e7c149 // shl r15, 5 - WORD $0x394d; BYTE $0xdf // cmp r15, r11 + WORD $0x394d; BYTE $0xf7 // cmp r15, r14 JGE LBB0_123 - WORD $0x294d; BYTE $0xfb // sub r11, r15 + WORD $0x294d; BYTE $0xfe // sub r14, r15 WORD $0xc931 // xor ecx, ecx LBB0_89: @@ -1629,30 +1725,30 @@ LBB0_89: WORD $0xdbf6 // neg bl WORD $0x8948; BYTE $0xcf // mov rdi, rcx LONG $0x03efc148 // shr rdi, 3 - LONG $0x0cb60f45; BYTE $0x3e // movzx r9d, byte [r14 + rdi] + LONG $0x0cb60f45; BYTE $0x3c // movzx r9d, byte [r12 + rdi] WORD $0x3044; BYTE $0xcb // xor bl, r9b WORD $0xe180; BYTE $0x07 // and cl, 7 WORD $0x01b0 // mov al, 1 WORD $0xe0d2 // shl al, cl WORD $0xd820 // and al, bl WORD $0x3044; BYTE $0xc8 // xor al, r9b - LONG $0x3e048841 // mov byte [r14 + rdi], al + LONG $0x3c048841 // mov byte [r12 + rdi], al WORD $0x894c; BYTE $0xc1 // mov rcx, r8 - WORD $0x394d; BYTE $0xc3 // cmp r11, r8 + WORD $0x394d; BYTE $0xc6 // cmp r14, r8 JNE LBB0_89 JMP LBB0_123 LBB0_101: - LONG $0x1f7b8d4d // lea r15, [r11 + 31] - WORD $0x854d; BYTE $0xdb // test r11, r11 - LONG $0xfb490f4d // cmovns r15, r11 - LONG $0x07418d41 // lea eax, [r9 + 7] - WORD $0x8545; BYTE $0xc9 // test r9d, r9d - LONG $0xc1490f41 // cmovns eax, r9d - WORD $0xe083; BYTE $0xf8 // and eax, -8 - WORD $0x2941; BYTE $0xc1 // sub r9d, eax + LONG $0x1f7e8d4d // lea r15, [r14 + 31] + WORD $0x854d; BYTE $0xf6 // test r14, r14 + LONG $0xfe490f4d // cmovns r15, r14 + WORD $0x488d; BYTE $0x07 // lea ecx, [rax + 7] + WORD $0xc085 // test eax, eax + WORD $0x490f; BYTE $0xc8 // cmovns ecx, eax + WORD $0xe183; BYTE $0xf8 // and ecx, -8 + WORD $0xc829 // sub eax, ecx JE LBB0_105 - WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d + WORD $0x9848 // cdqe LBB0_103: WORD $0x8b48; BYTE $0x0e // mov rcx, qword [rsi] @@ -1665,7 +1761,7 @@ LBB0_103: WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xf8490f48 // cmovns rdi, rax LONG $0x03ffc148 // sar rdi, 3 - LONG $0x04b60f45; BYTE $0x3e // movzx r8d, byte [r14 + rdi] + LONG $0x04b60f45; BYTE $0x3c // movzx r8d, byte [r12 + rdi] WORD $0x3045; BYTE $0xc2 // xor r10b, r8b QUAD $0x00000000fd0c8d44 // lea r9d, [8*rdi] WORD $0xc189 // mov ecx, eax @@ -1674,49 +1770,49 @@ LBB0_103: WORD $0xe3d3 // shl ebx, cl WORD $0x2044; BYTE $0xd3 // and bl, r10b WORD $0x3044; BYTE $0xc3 // xor bl, r8b - LONG $0x3e1c8841 // mov byte [r14 + rdi], bl + LONG $0x3c1c8841 // mov byte [r12 + rdi], bl LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 JNE LBB0_103 - LONG $0x01c68349 // add r14, 1 + LONG $0x01c48349 // add r12, 1 LBB0_105: LONG $0x05ffc149 // sar r15, 5 - LONG $0x20fb8349 // cmp r11, 32 + LONG $0x20fe8349 // cmp r14, 32 JL LBB0_109 - LONG $0x245c894c; BYTE $0x18 // mov qword [rsp + 24], r11 - LONG $0x247c894c; BYTE $0x40 // mov qword [rsp + 64], r15 + LONG $0x2474894c; BYTE $0x18 // mov qword [rsp + 24], r14 LONG $0x247c894c; BYTE $0x38 // mov qword [rsp + 56], r15 + LONG $0x247c894c; BYTE $0x20 // mov qword [rsp + 32], r15 LBB0_107: - LONG $0x2474894c; BYTE $0x30 // mov qword [rsp + 48], r14 + LONG $0x2464894c; BYTE $0x30 // mov qword [rsp + 48], r12 WORD $0x8b48; BYTE $0x06 // mov rax, qword [rsi] LONG $0x084e8b48 // mov rcx, qword [rsi + 8] WORD $0x3b48; BYTE $0x02 // cmp rax, qword [rdx] - LONG $0x2454940f; BYTE $0x28 // sete byte [rsp + 40] + LONG $0x2454940f; BYTE $0x04 // sete byte [rsp + 4] LONG $0x084a3b48 // cmp rcx, qword [rdx + 8] - LONG $0x2454940f; BYTE $0x20 // sete byte [rsp + 32] + LONG $0x2454940f; BYTE $0x28 // sete byte [rsp + 40] LONG $0x10468b48 // mov rax, qword [rsi + 16] LONG $0x10423b48 // cmp rax, qword [rdx + 16] - LONG $0x2454940f; BYTE $0x14 // sete byte [rsp + 20] + LONG $0x2454940f; BYTE $0x15 // sete byte [rsp + 21] LONG $0x18468b48 // mov rax, qword [rsi + 24] LONG $0x18423b48 // cmp rax, qword [rdx + 24] - LONG $0x2454940f; BYTE $0x15 // sete byte [rsp + 21] + LONG $0x2454940f; BYTE $0x16 // sete byte [rsp + 22] LONG $0x20468b48 // mov rax, qword [rsi + 32] LONG $0x20423b48 // cmp rax, qword [rdx + 32] - LONG $0x2454940f; BYTE $0x16 // sete byte [rsp + 22] + LONG $0x2454940f; BYTE $0x17 // sete byte [rsp + 23] LONG $0x28468b48 // mov rax, qword [rsi + 40] LONG $0x28423b48 // cmp rax, qword [rdx + 40] - LONG $0x2454940f; BYTE $0x17 // sete byte [rsp + 23] + LONG $0x2454940f; BYTE $0x03 // sete byte [rsp + 3] LONG $0x30468b48 // mov rax, qword [rsi + 48] LONG $0x30423b48 // cmp rax, qword [rdx + 48] - LONG $0x2454940f; BYTE $0x04 // sete byte [rsp + 4] + LONG $0x2454940f; BYTE $0x05 // sete byte [rsp + 5] LONG $0x38468b48 // mov rax, qword [rsi + 56] LONG $0x38423b48 // cmp rax, qword [rdx + 56] LONG $0xd5940f41 // sete r13b LONG $0x40468b48 // mov rax, qword [rsi + 64] LONG $0x40423b48 // cmp rax, qword [rdx + 64] - LONG $0x2454940f; BYTE $0x09 // sete byte [rsp + 9] + LONG $0x2454940f; BYTE $0x0a // sete byte [rsp + 10] LONG $0x48468b48 // mov rax, qword [rsi + 72] LONG $0x48423b48 // cmp rax, qword [rdx + 72] LONG $0xd0940f41 // sete r8b @@ -1728,165 +1824,165 @@ LBB0_107: LONG $0xd7940f41 // sete r15b LONG $0x60468b48 // mov rax, qword [rsi + 96] LONG $0x60423b48 // cmp rax, qword [rdx + 96] - LONG $0x2454940f; BYTE $0x05 // sete byte [rsp + 5] + LONG $0x2454940f; BYTE $0x06 // sete byte [rsp + 6] LONG $0x68468b48 // mov rax, qword [rsi + 104] LONG $0x68423b48 // cmp rax, qword [rdx + 104] - LONG $0x2454940f; BYTE $0x06 // sete byte [rsp + 6] + LONG $0x2454940f; BYTE $0x07 // sete byte [rsp + 7] LONG $0x70468b48 // mov rax, qword [rsi + 112] LONG $0x70423b48 // cmp rax, qword [rdx + 112] - LONG $0x2454940f; BYTE $0x07 // sete byte [rsp + 7] + LONG $0x2454940f; BYTE $0x08 // sete byte [rsp + 8] LONG $0x78468b48 // mov rax, qword [rsi + 120] LONG $0x78423b48 // cmp rax, qword [rdx + 120] - WORD $0x940f; BYTE $0xd3 // sete bl + LONG $0xd7940f40 // sete dil LONG $0x80868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 128] - LONG $0x888e8b48; WORD $0x0000; BYTE $0x00 // mov rcx, qword [rsi + 136] + LONG $0x889e8b48; WORD $0x0000; BYTE $0x00 // mov rbx, qword [rsi + 136] LONG $0x80823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 128] LONG $0x90868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 144] - LONG $0x2454940f; BYTE $0x0a // sete byte [rsp + 10] - LONG $0x888a3b48; WORD $0x0000; BYTE $0x00 // cmp rcx, qword [rdx + 136] - LONG $0x988e8b48; WORD $0x0000; BYTE $0x00 // mov rcx, qword [rsi + 152] + LONG $0x2454940f; BYTE $0x0b // sete byte [rsp + 11] + LONG $0x889a3b48; WORD $0x0000; BYTE $0x00 // cmp rbx, qword [rdx + 136] + LONG $0x989e8b48; WORD $0x0000; BYTE $0x00 // mov rbx, qword [rsi + 152] LONG $0xd2940f41 // sete r10b LONG $0x90823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 144] LONG $0xa0868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 160] LONG $0xd6940f41 // sete r14b - LONG $0x988a3b48; WORD $0x0000; BYTE $0x00 // cmp rcx, qword [rdx + 152] - LONG $0xa88e8b48; WORD $0x0000; BYTE $0x00 // mov rcx, qword [rsi + 168] + LONG $0x989a3b48; WORD $0x0000; BYTE $0x00 // cmp rbx, qword [rdx + 152] + LONG $0xa89e8b48; WORD $0x0000; BYTE $0x00 // mov rbx, qword [rsi + 168] LONG $0xd4940f41 // sete r12b LONG $0xa0823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 160] - LONG $0x2454940f; BYTE $0x08 // sete byte [rsp + 8] - LONG $0xa88a3b48; WORD $0x0000; BYTE $0x00 // cmp rcx, qword [rdx + 168] + LONG $0x2454940f; BYTE $0x09 // sete byte [rsp + 9] + LONG $0xa89a3b48; WORD $0x0000; BYTE $0x00 // cmp rbx, qword [rdx + 168] LONG $0xb0868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 176] - LONG $0x2454940f; BYTE $0x0b // sete byte [rsp + 11] + LONG $0x2454940f; BYTE $0x0c // sete byte [rsp + 12] LONG $0xb0823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 176] LONG $0xb8868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 184] - LONG $0x2454940f; BYTE $0x0c // sete byte [rsp + 12] + LONG $0x2454940f; BYTE $0x0d // sete byte [rsp + 13] LONG $0xb8823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 184] LONG $0xc0868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 192] LONG $0xd1940f41 // sete r9b LONG $0xc0823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 192] LONG $0xc8868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 200] - LONG $0x2454940f; BYTE $0x13 // sete byte [rsp + 19] + LONG $0x2454940f; BYTE $0x14 // sete byte [rsp + 20] LONG $0xc8823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 200] LONG $0xd0868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 208] - LONG $0x2454940f; BYTE $0x0d // sete byte [rsp + 13] + LONG $0x2454940f; BYTE $0x0e // sete byte [rsp + 14] LONG $0xd0823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 208] LONG $0xd8868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 216] - LONG $0x2454940f; BYTE $0x0e // sete byte [rsp + 14] + LONG $0x2454940f; BYTE $0x0f // sete byte [rsp + 15] LONG $0xd8823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 216] LONG $0xe0868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 224] - LONG $0x2454940f; BYTE $0x0f // sete byte [rsp + 15] + LONG $0x2454940f; BYTE $0x10 // sete byte [rsp + 16] LONG $0xe0823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 224] LONG $0xe8868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 232] - LONG $0x2454940f; BYTE $0x10 // sete byte [rsp + 16] + LONG $0x2454940f; BYTE $0x11 // sete byte [rsp + 17] LONG $0xe8823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 232] LONG $0xf0868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 240] - LONG $0x2454940f; BYTE $0x12 // sete byte [rsp + 18] + LONG $0x2454940f; BYTE $0x13 // sete byte [rsp + 19] LONG $0xf0823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 240] LONG $0xf8868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 248] - LONG $0x2454940f; BYTE $0x11 // sete byte [rsp + 17] + LONG $0x2454940f; BYTE $0x12 // sete byte [rsp + 18] LONG $0x00c68148; WORD $0x0001; BYTE $0x00 // add rsi, 256 LONG $0xf8823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 248] - LONG $0xd7940f40 // sete dil - LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] + WORD $0x940f; BYTE $0xd1 // sete cl + LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] WORD $0xc000 // add al, al - LONG $0x28244402 // add al, byte [rsp + 40] - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x04 // movzx eax, byte [rsp + 4] + LONG $0x04244402 // add al, byte [rsp + 4] + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x05 // movzx eax, byte [rsp + 5] WORD $0xe0c0; BYTE $0x06 // shl al, 6 LONG $0x07e5c041 // shl r13b, 7 WORD $0x0841; BYTE $0xc5 // or r13b, al - LONG $0x2444b60f; BYTE $0x14 // movzx eax, byte [rsp + 20] + LONG $0x2444b60f; BYTE $0x15 // movzx eax, byte [rsp + 21] WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xc808 // or al, cl + WORD $0xd808 // or al, bl WORD $0x0045; BYTE $0xc0 // add r8b, r8b - LONG $0x24440244; BYTE $0x09 // add r8b, byte [rsp + 9] - LONG $0x244cb60f; BYTE $0x15 // movzx ecx, byte [rsp + 21] - WORD $0xe1c0; BYTE $0x03 // shl cl, 3 - WORD $0xc108 // or cl, al - WORD $0xc889 // mov eax, ecx + LONG $0x24440244; BYTE $0x0a // add r8b, byte [rsp + 10] + LONG $0x245cb60f; BYTE $0x16 // movzx ebx, byte [rsp + 22] + WORD $0xe3c0; BYTE $0x03 // shl bl, 3 + WORD $0xc308 // or bl, al + WORD $0xd889 // mov eax, ebx LONG $0x02e3c041 // shl r11b, 2 WORD $0x0845; BYTE $0xc3 // or r11b, r8b - LONG $0x244cb60f; BYTE $0x16 // movzx ecx, byte [rsp + 22] - WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0xc108 // or cl, al - WORD $0x8941; BYTE $0xc8 // mov r8d, ecx + LONG $0x245cb60f; BYTE $0x17 // movzx ebx, byte [rsp + 23] + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0xc308 // or bl, al + WORD $0x8941; BYTE $0xd8 // mov r8d, ebx LONG $0x03e7c041 // shl r15b, 3 WORD $0x0845; BYTE $0xdf // or r15b, r11b - LONG $0x244cb60f; BYTE $0x17 // movzx ecx, byte [rsp + 23] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0x0844; BYTE $0xc1 // or cl, r8b - LONG $0x2444b60f; BYTE $0x05 // movzx eax, byte [rsp + 5] + LONG $0x245cb60f; BYTE $0x03 // movzx ebx, byte [rsp + 3] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + WORD $0x0844; BYTE $0xc3 // or bl, r8b + LONG $0x2444b60f; BYTE $0x06 // movzx eax, byte [rsp + 6] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0x0844; BYTE $0xf8 // or al, r15b WORD $0x8941; BYTE $0xc0 // mov r8d, eax - LONG $0x2444b60f; BYTE $0x06 // movzx eax, byte [rsp + 6] + LONG $0x2444b60f; BYTE $0x07 // movzx eax, byte [rsp + 7] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0x0844; BYTE $0xc0 // or al, r8b - LONG $0x44b60f44; WORD $0x0724 // movzx r8d, byte [rsp + 7] + LONG $0x44b60f44; WORD $0x0824 // movzx r8d, byte [rsp + 8] LONG $0x06e0c041 // shl r8b, 6 - WORD $0xe3c0; BYTE $0x07 // shl bl, 7 - WORD $0x0844; BYTE $0xc3 // or bl, r8b - WORD $0x0841; BYTE $0xcd // or r13b, cl - WORD $0xc308 // or bl, al + LONG $0x07e7c040 // shl dil, 7 + WORD $0x0844; BYTE $0xc7 // or dil, r8b + WORD $0x0841; BYTE $0xdd // or r13b, bl + WORD $0x0840; BYTE $0xc7 // or dil, al WORD $0x0045; BYTE $0xd2 // add r10b, r10b - LONG $0x24540244; BYTE $0x0a // add r10b, byte [rsp + 10] + LONG $0x24540244; BYTE $0x0b // add r10b, byte [rsp + 11] LONG $0x02e6c041 // shl r14b, 2 WORD $0x0845; BYTE $0xd6 // or r14b, r10b LONG $0x03e4c041 // shl r12b, 3 WORD $0x0845; BYTE $0xf4 // or r12b, r14b - LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + LONG $0x2444b60f; BYTE $0x09 // movzx eax, byte [rsp + 9] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0x0844; BYTE $0xe0 // or al, r12b - WORD $0xc189 // mov ecx, eax - LONG $0x24748b4c; BYTE $0x30 // mov r14, qword [rsp + 48] - LONG $0x2444b60f; BYTE $0x0b // movzx eax, byte [rsp + 11] + WORD $0xc389 // mov ebx, eax + LONG $0x24648b4c; BYTE $0x30 // mov r12, qword [rsp + 48] + LONG $0x2444b60f; BYTE $0x0c // movzx eax, byte [rsp + 12] WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - WORD $0x8845; BYTE $0x2e // mov byte [r14], r13b - LONG $0x244cb60f; BYTE $0x0c // movzx ecx, byte [rsp + 12] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 + WORD $0xd808 // or al, bl + LONG $0x242c8845 // mov byte [r12], r13b + LONG $0x245cb60f; BYTE $0x0d // movzx ebx, byte [rsp + 13] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e1c041 // shl r9b, 7 - WORD $0x0841; BYTE $0xc9 // or r9b, cl - LONG $0x015e8841 // mov byte [r14 + 1], bl + WORD $0x0841; BYTE $0xd9 // or r9b, bl + LONG $0x247c8841; BYTE $0x01 // mov byte [r12 + 1], dil WORD $0x0841; BYTE $0xc1 // or r9b, al - LONG $0x2444b60f; BYTE $0x0d // movzx eax, byte [rsp + 13] - WORD $0xc000 // add al, al - LONG $0x13244402 // add al, byte [rsp + 19] - WORD $0xc189 // mov ecx, eax LONG $0x2444b60f; BYTE $0x0e // movzx eax, byte [rsp + 14] - WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xc000 // add al, al + LONG $0x14244402 // add al, byte [rsp + 20] + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x0f // movzx eax, byte [rsp + 15] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x11 // movzx eax, byte [rsp + 17] WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x12 // movzx eax, byte [rsp + 18] + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x13 // movzx eax, byte [rsp + 19] WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - LONG $0x244cb60f; BYTE $0x11 // movzx ecx, byte [rsp + 17] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 - LONG $0x07e7c040 // shl dil, 7 - WORD $0x0840; BYTE $0xcf // or dil, cl - WORD $0x0840; BYTE $0xc7 // or dil, al - LONG $0x024e8845 // mov byte [r14 + 2], r9b - LONG $0x037e8841 // mov byte [r14 + 3], dil + WORD $0xd808 // or al, bl + LONG $0x245cb60f; BYTE $0x12 // movzx ebx, byte [rsp + 18] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 + WORD $0xe1c0; BYTE $0x07 // shl cl, 7 + WORD $0xd908 // or cl, bl + WORD $0xc108 // or cl, al + LONG $0x244c8845; BYTE $0x02 // mov byte [r12 + 2], r9b + LONG $0x244c8841; BYTE $0x03 // mov byte [r12 + 3], cl LONG $0x00c28148; WORD $0x0001; BYTE $0x00 // add rdx, 256 - LONG $0x04c68349 // add r14, 4 - LONG $0x24448348; WORD $0xff38 // add qword [rsp + 56], -1 + LONG $0x04c48349 // add r12, 4 + LONG $0x24448348; WORD $0xff20 // add qword [rsp + 32], -1 JNE LBB0_107 - LONG $0x245c8b4c; BYTE $0x18 // mov r11, qword [rsp + 24] - LONG $0x247c8b4c; BYTE $0x40 // mov r15, qword [rsp + 64] + LONG $0x24748b4c; BYTE $0x18 // mov r14, qword [rsp + 24] + LONG $0x247c8b4c; BYTE $0x38 // mov r15, qword [rsp + 56] LBB0_109: LONG $0x05e7c149 // shl r15, 5 - WORD $0x394d; BYTE $0xdf // cmp r15, r11 + WORD $0x394d; BYTE $0xf7 // cmp r15, r14 JGE LBB0_123 - WORD $0x294d; BYTE $0xfb // sub r11, r15 + WORD $0x294d; BYTE $0xfe // sub r14, r15 WORD $0xc931 // xor ecx, ecx LBB0_111: @@ -1897,294 +1993,389 @@ LBB0_111: WORD $0xdbf6 // neg bl WORD $0x8948; BYTE $0xcf // mov rdi, rcx LONG $0x03efc148 // shr rdi, 3 - LONG $0x0cb60f45; BYTE $0x3e // movzx r9d, byte [r14 + rdi] + LONG $0x0cb60f45; BYTE $0x3c // movzx r9d, byte [r12 + rdi] WORD $0x3044; BYTE $0xcb // xor bl, r9b WORD $0xe180; BYTE $0x07 // and cl, 7 WORD $0x01b0 // mov al, 1 WORD $0xe0d2 // shl al, cl WORD $0xd820 // and al, bl WORD $0x3044; BYTE $0xc8 // xor al, r9b - LONG $0x3e048841 // mov byte [r14 + rdi], al + LONG $0x3c048841 // mov byte [r12 + rdi], al WORD $0x894c; BYTE $0xc1 // mov rcx, r8 - WORD $0x394d; BYTE $0xc3 // cmp r11, r8 + WORD $0x394d; BYTE $0xc6 // cmp r14, r8 JNE LBB0_111 JMP LBB0_123 LBB0_112: - LONG $0x1f7b8d4d // lea r15, [r11 + 31] - WORD $0x854d; BYTE $0xdb // test r11, r11 - LONG $0xfb490f4d // cmovns r15, r11 - LONG $0x07418d41 // lea eax, [r9 + 7] - WORD $0x8545; BYTE $0xc9 // test r9d, r9d - LONG $0xc1490f41 // cmovns eax, r9d - WORD $0xe083; BYTE $0xf8 // and eax, -8 - WORD $0x2941; BYTE $0xc1 // sub r9d, eax + LONG $0x1f7e8d4d // lea r15, [r14 + 31] + WORD $0x854d; BYTE $0xf6 // test r14, r14 + LONG $0xfe490f4d // cmovns r15, r14 + WORD $0x488d; BYTE $0x07 // lea ecx, [rax + 7] + WORD $0xc085 // test eax, eax + WORD $0x490f; BYTE $0xc8 // cmovns ecx, eax + WORD $0xe183; BYTE $0xf8 // and ecx, -8 + WORD $0xc829 // sub eax, ecx JE LBB0_116 - WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d + WORD $0x634c; BYTE $0xd0 // movsxd r10, eax LBB0_114: LONG $0x0610fac5 // vmovss xmm0, dword [rsi] LONG $0x04c68348 // add rsi, 4 LONG $0x022ef8c5 // vucomiss xmm0, dword [rdx] LONG $0x04528d48 // lea rdx, [rdx + 4] - LONG $0xd2940f41 // sete r10b - WORD $0xf641; BYTE $0xda // neg r10b - LONG $0x07788d48 // lea rdi, [rax + 7] - WORD $0x8548; BYTE $0xc0 // test rax, rax - LONG $0xf8490f48 // cmovns rdi, rax + WORD $0x9b0f; BYTE $0xd1 // setnp cl + WORD $0x940f; BYTE $0xd3 // sete bl + WORD $0xcb20 // and bl, cl + WORD $0xdbf6 // neg bl + LONG $0x077a8d49 // lea rdi, [r10 + 7] + WORD $0x854d; BYTE $0xd2 // test r10, r10 + LONG $0xfa490f49 // cmovns rdi, r10 LONG $0x03ffc148 // sar rdi, 3 - LONG $0x04b60f45; BYTE $0x3e // movzx r8d, byte [r14 + rdi] - WORD $0x3045; BYTE $0xc2 // xor r10b, r8b + LONG $0x04b60f45; BYTE $0x3c // movzx r8d, byte [r12 + rdi] + WORD $0x3044; BYTE $0xc3 // xor bl, r8b QUAD $0x00000000fd0c8d44 // lea r9d, [8*rdi] - WORD $0xc189 // mov ecx, eax + WORD $0x8944; BYTE $0xd1 // mov ecx, r10d WORD $0x2944; BYTE $0xc9 // sub ecx, r9d - LONG $0x000001bb; BYTE $0x00 // mov ebx, 1 - WORD $0xe3d3 // shl ebx, cl - WORD $0x2044; BYTE $0xd3 // and bl, r10b - WORD $0x3044; BYTE $0xc3 // xor bl, r8b - LONG $0x3e1c8841 // mov byte [r14 + rdi], bl - LONG $0x01c08348 // add rax, 1 - LONG $0x08f88348 // cmp rax, 8 + LONG $0x000001b8; BYTE $0x00 // mov eax, 1 + WORD $0xe0d3 // shl eax, cl + WORD $0xd820 // and al, bl + WORD $0x3044; BYTE $0xc0 // xor al, r8b + LONG $0x3c048841 // mov byte [r12 + rdi], al + LONG $0x01c28349 // add r10, 1 + LONG $0x08fa8349 // cmp r10, 8 JNE LBB0_114 - LONG $0x01c68349 // add r14, 1 + LONG $0x01c48349 // add r12, 1 LBB0_116: LONG $0x05ffc149 // sar r15, 5 - LONG $0x20fb8349 // cmp r11, 32 + LONG $0x20fe8349 // cmp r14, 32 JL LBB0_120 - LONG $0x245c894c; BYTE $0x18 // mov qword [rsp + 24], r11 - LONG $0x247c894c; BYTE $0x20 // mov qword [rsp + 32], r15 - LONG $0x247c894c; BYTE $0x28 // mov qword [rsp + 40], r15 + LONG $0x2474894c; BYTE $0x18 // mov qword [rsp + 24], r14 + LONG $0x247c894c; BYTE $0x40 // mov qword [rsp + 64], r15 + LONG $0x247c894c; BYTE $0x38 // mov qword [rsp + 56], r15 LBB0_118: - LONG $0x2474894c; BYTE $0x30 // mov qword [rsp + 48], r14 + LONG $0x2464894c; BYTE $0x30 // mov qword [rsp + 48], r12 LONG $0x0610fac5 // vmovss xmm0, dword [rsi] - LONG $0x4e10fac5; BYTE $0x04 // vmovss xmm1, dword [rsi + 4] LONG $0x022ef8c5 // vucomiss xmm0, dword [rdx] - LONG $0x2454940f; BYTE $0x04 // sete byte [rsp + 4] - LONG $0x4a2ef8c5; BYTE $0x04 // vucomiss xmm1, dword [rdx + 4] - WORD $0x940f; BYTE $0xd0 // sete al + LONG $0x4610fac5; BYTE $0x04 // vmovss xmm0, dword [rsi + 4] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x15244c88 // mov byte [rsp + 21], cl + LONG $0x422ef8c5; BYTE $0x04 // vucomiss xmm0, dword [rdx + 4] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x0d244c88 // mov byte [rsp + 13], cl LONG $0x4610fac5; BYTE $0x08 // vmovss xmm0, dword [rsi + 8] LONG $0x422ef8c5; BYTE $0x08 // vucomiss xmm0, dword [rdx + 8] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x14244c88 // mov byte [rsp + 20], cl LONG $0x4610fac5; BYTE $0x0c // vmovss xmm0, dword [rsi + 12] - LONG $0x2454940f; BYTE $0x05 // sete byte [rsp + 5] LONG $0x422ef8c5; BYTE $0x0c // vucomiss xmm0, dword [rdx + 12] - LONG $0x2454940f; BYTE $0x16 // sete byte [rsp + 22] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x17244c88 // mov byte [rsp + 23], cl LONG $0x4610fac5; BYTE $0x10 // vmovss xmm0, dword [rsi + 16] LONG $0x422ef8c5; BYTE $0x10 // vucomiss xmm0, dword [rdx + 16] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x16244c88 // mov byte [rsp + 22], cl LONG $0x4610fac5; BYTE $0x14 // vmovss xmm0, dword [rsi + 20] - LONG $0x2454940f; BYTE $0x15 // sete byte [rsp + 21] LONG $0x422ef8c5; BYTE $0x14 // vucomiss xmm0, dword [rdx + 20] - LONG $0x2454940f; BYTE $0x17 // sete byte [rsp + 23] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd7940f40 // sete dil + WORD $0x2040; BYTE $0xc7 // and dil, al LONG $0x4610fac5; BYTE $0x18 // vmovss xmm0, dword [rsi + 24] LONG $0x422ef8c5; BYTE $0x18 // vucomiss xmm0, dword [rdx + 24] - LONG $0x4610fac5; BYTE $0x1c // vmovss xmm0, dword [rsi + 28] + WORD $0x9b0f; BYTE $0xd0 // setnp al LONG $0xd5940f41 // sete r13b + WORD $0x2041; BYTE $0xc5 // and r13b, al + LONG $0x4610fac5; BYTE $0x1c // vmovss xmm0, dword [rsi + 28] LONG $0x422ef8c5; BYTE $0x1c // vucomiss xmm0, dword [rdx + 28] - LONG $0xd7940f41 // sete r15b + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x03244c88 // mov byte [rsp + 3], cl LONG $0x4610fac5; BYTE $0x20 // vmovss xmm0, dword [rsi + 32] LONG $0x422ef8c5; BYTE $0x20 // vucomiss xmm0, dword [rdx + 32] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x13244c88 // mov byte [rsp + 19], cl LONG $0x4610fac5; BYTE $0x24 // vmovss xmm0, dword [rsi + 36] - LONG $0x2454940f; BYTE $0x08 // sete byte [rsp + 8] LONG $0x422ef8c5; BYTE $0x24 // vucomiss xmm0, dword [rdx + 36] - WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd3 // sete bl + WORD $0xc320 // and bl, al LONG $0x4610fac5; BYTE $0x28 // vmovss xmm0, dword [rsi + 40] LONG $0x422ef8c5; BYTE $0x28 // vucomiss xmm0, dword [rdx + 40] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x12244c88 // mov byte [rsp + 18], cl LONG $0x4610fac5; BYTE $0x2c // vmovss xmm0, dword [rsi + 44] - LONG $0xd1940f41 // sete r9b LONG $0x422ef8c5; BYTE $0x2c // vucomiss xmm0, dword [rdx + 44] - LONG $0xd3940f41 // sete r11b + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x11244c88 // mov byte [rsp + 17], cl LONG $0x4610fac5; BYTE $0x30 // vmovss xmm0, dword [rsi + 48] LONG $0x422ef8c5; BYTE $0x30 // vucomiss xmm0, dword [rdx + 48] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x10244c88 // mov byte [rsp + 16], cl LONG $0x4610fac5; BYTE $0x34 // vmovss xmm0, dword [rsi + 52] - LONG $0xd2940f41 // sete r10b LONG $0x422ef8c5; BYTE $0x34 // vucomiss xmm0, dword [rdx + 52] - LONG $0x2454940f; BYTE $0x07 // sete byte [rsp + 7] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x0f244c88 // mov byte [rsp + 15], cl LONG $0x4610fac5; BYTE $0x38 // vmovss xmm0, dword [rsi + 56] LONG $0x422ef8c5; BYTE $0x38 // vucomiss xmm0, dword [rdx + 56] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x0c244c88 // mov byte [rsp + 12], cl LONG $0x4610fac5; BYTE $0x3c // vmovss xmm0, dword [rsi + 60] - LONG $0x2454940f; BYTE $0x06 // sete byte [rsp + 6] LONG $0x422ef8c5; BYTE $0x3c // vucomiss xmm0, dword [rdx + 60] - WORD $0x940f; BYTE $0xd3 // sete bl + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x0b244c88 // mov byte [rsp + 11], cl LONG $0x4610fac5; BYTE $0x40 // vmovss xmm0, dword [rsi + 64] LONG $0x422ef8c5; BYTE $0x40 // vucomiss xmm0, dword [rdx + 64] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x0e244c88 // mov byte [rsp + 14], cl LONG $0x4610fac5; BYTE $0x44 // vmovss xmm0, dword [rsi + 68] - LONG $0x2454940f; BYTE $0x0e // sete byte [rsp + 14] LONG $0x422ef8c5; BYTE $0x44 // vucomiss xmm0, dword [rdx + 68] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x0a244c88 // mov byte [rsp + 10], cl LONG $0x4610fac5; BYTE $0x48 // vmovss xmm0, dword [rsi + 72] - LONG $0xd6940f41 // sete r14b LONG $0x422ef8c5; BYTE $0x48 // vucomiss xmm0, dword [rdx + 72] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x09244c88 // mov byte [rsp + 9], cl LONG $0x4610fac5; BYTE $0x4c // vmovss xmm0, dword [rsi + 76] - LONG $0xd4940f41 // sete r12b LONG $0x422ef8c5; BYTE $0x4c // vucomiss xmm0, dword [rdx + 76] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd3940f41 // sete r11b + WORD $0x2041; BYTE $0xc3 // and r11b, al LONG $0x4610fac5; BYTE $0x50 // vmovss xmm0, dword [rsi + 80] - LONG $0x2454940f; BYTE $0x09 // sete byte [rsp + 9] LONG $0x422ef8c5; BYTE $0x50 // vucomiss xmm0, dword [rdx + 80] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x08244c88 // mov byte [rsp + 8], cl LONG $0x4610fac5; BYTE $0x54 // vmovss xmm0, dword [rsi + 84] - LONG $0x2454940f; BYTE $0x0a // sete byte [rsp + 10] LONG $0x422ef8c5; BYTE $0x54 // vucomiss xmm0, dword [rdx + 84] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x07244c88 // mov byte [rsp + 7], cl LONG $0x4610fac5; BYTE $0x58 // vmovss xmm0, dword [rsi + 88] - LONG $0x2454940f; BYTE $0x0b // sete byte [rsp + 11] LONG $0x422ef8c5; BYTE $0x58 // vucomiss xmm0, dword [rdx + 88] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x05244c88 // mov byte [rsp + 5], cl LONG $0x4610fac5; BYTE $0x5c // vmovss xmm0, dword [rsi + 92] - LONG $0x2454940f; BYTE $0x0c // sete byte [rsp + 12] LONG $0x422ef8c5; BYTE $0x5c // vucomiss xmm0, dword [rdx + 92] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd2940f41 // sete r10b + WORD $0x2041; BYTE $0xc2 // and r10b, al LONG $0x4610fac5; BYTE $0x60 // vmovss xmm0, dword [rsi + 96] - LONG $0xd0940f41 // sete r8b LONG $0x422ef8c5; BYTE $0x60 // vucomiss xmm0, dword [rdx + 96] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x06244c88 // mov byte [rsp + 6], cl LONG $0x4610fac5; BYTE $0x64 // vmovss xmm0, dword [rsi + 100] - LONG $0x2454940f; BYTE $0x14 // sete byte [rsp + 20] LONG $0x422ef8c5; BYTE $0x64 // vucomiss xmm0, dword [rdx + 100] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x20244c88 // mov byte [rsp + 32], cl LONG $0x4610fac5; BYTE $0x68 // vmovss xmm0, dword [rsi + 104] - LONG $0x2454940f; BYTE $0x0d // sete byte [rsp + 13] LONG $0x422ef8c5; BYTE $0x68 // vucomiss xmm0, dword [rdx + 104] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd7940f41 // sete r15b + WORD $0x2041; BYTE $0xc7 // and r15b, al LONG $0x4610fac5; BYTE $0x6c // vmovss xmm0, dword [rsi + 108] - LONG $0x2454940f; BYTE $0x0f // sete byte [rsp + 15] LONG $0x422ef8c5; BYTE $0x6c // vucomiss xmm0, dword [rdx + 108] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd6940f41 // sete r14b + WORD $0x2041; BYTE $0xc6 // and r14b, al LONG $0x4610fac5; BYTE $0x70 // vmovss xmm0, dword [rsi + 112] - LONG $0x2454940f; BYTE $0x10 // sete byte [rsp + 16] LONG $0x422ef8c5; BYTE $0x70 // vucomiss xmm0, dword [rdx + 112] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x04244c88 // mov byte [rsp + 4], cl LONG $0x4610fac5; BYTE $0x74 // vmovss xmm0, dword [rsi + 116] - LONG $0x2454940f; BYTE $0x11 // sete byte [rsp + 17] LONG $0x422ef8c5; BYTE $0x74 // vucomiss xmm0, dword [rdx + 116] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x28244c88 // mov byte [rsp + 40], cl LONG $0x4610fac5; BYTE $0x78 // vmovss xmm0, dword [rsi + 120] - LONG $0x2454940f; BYTE $0x13 // sete byte [rsp + 19] LONG $0x422ef8c5; BYTE $0x78 // vucomiss xmm0, dword [rdx + 120] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd1940f41 // sete r9b + WORD $0x2041; BYTE $0xc1 // and r9b, al LONG $0x4610fac5; BYTE $0x7c // vmovss xmm0, dword [rsi + 124] - LONG $0x2454940f; BYTE $0x12 // sete byte [rsp + 18] LONG $0x80ee8348 // sub rsi, -128 LONG $0x422ef8c5; BYTE $0x7c // vucomiss xmm0, dword [rdx + 124] - LONG $0xd7940f40 // sete dil + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd0940f41 // sete r8b + WORD $0x2041; BYTE $0xc0 // and r8b, al + LONG $0x2444b60f; BYTE $0x0d // movzx eax, byte [rsp + 13] WORD $0xc000 // add al, al - LONG $0x04244402 // add al, byte [rsp + 4] + LONG $0x15244402 // add al, byte [rsp + 21] + LONG $0x05e7c040 // shl dil, 5 LONG $0x06e5c041 // shl r13b, 6 - LONG $0x07e7c041 // shl r15b, 7 - WORD $0x0845; BYTE $0xef // or r15b, r13b - LONG $0x6cb60f44; WORD $0x0524 // movzx r13d, byte [rsp + 5] - LONG $0x02e5c041 // shl r13b, 2 - WORD $0x0841; BYTE $0xc5 // or r13b, al - WORD $0x8944; BYTE $0xe8 // mov eax, r13d - WORD $0xc900 // add cl, cl - LONG $0x08244c02 // add cl, byte [rsp + 8] + WORD $0x0841; BYTE $0xfd // or r13b, dil + WORD $0x8944; BYTE $0xef // mov edi, r13d + LONG $0x244cb60f; BYTE $0x14 // movzx ecx, byte [rsp + 20] + WORD $0xe1c0; BYTE $0x02 // shl cl, 2 + WORD $0xc108 // or cl, al + WORD $0xd889 // mov eax, ebx + WORD $0xd800 // add al, bl + LONG $0x13244402 // add al, byte [rsp + 19] + WORD $0x8941; BYTE $0xc5 // mov r13d, eax + LONG $0x2444b60f; BYTE $0x03 // movzx eax, byte [rsp + 3] + WORD $0xe0c0; BYTE $0x07 // shl al, 7 + WORD $0x0840; BYTE $0xf8 // or al, dil + LONG $0x03244488 // mov byte [rsp + 3], al + LONG $0x2444b60f; BYTE $0x12 // movzx eax, byte [rsp + 18] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0x0844; BYTE $0xe8 // or al, r13b + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x17 // movzx eax, byte [rsp + 23] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0xc808 // or al, cl + LONG $0x245cb60f; BYTE $0x11 // movzx ebx, byte [rsp + 17] + WORD $0xe3c0; BYTE $0x03 // shl bl, 3 + WORD $0x0840; BYTE $0xfb // or bl, dil LONG $0x6cb60f44; WORD $0x1624 // movzx r13d, byte [rsp + 22] - LONG $0x03e5c041 // shl r13b, 3 + LONG $0x04e5c041 // shl r13b, 4 WORD $0x0841; BYTE $0xc5 // or r13b, al - LONG $0x02e1c041 // shl r9b, 2 - WORD $0x0841; BYTE $0xc9 // or r9b, cl - LONG $0x244cb60f; BYTE $0x15 // movzx ecx, byte [rsp + 21] - WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0x0844; BYTE $0xe9 // or cl, r13b - WORD $0x8941; BYTE $0xcd // mov r13d, ecx - LONG $0x03e3c041 // shl r11b, 3 - WORD $0x0845; BYTE $0xcb // or r11b, r9b - LONG $0x244cb60f; BYTE $0x17 // movzx ecx, byte [rsp + 23] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0x0844; BYTE $0xe9 // or cl, r13b - LONG $0x04e2c041 // shl r10b, 4 - WORD $0x0845; BYTE $0xda // or r10b, r11b - LONG $0x2444b60f; BYTE $0x07 // movzx eax, byte [rsp + 7] - WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0x0844; BYTE $0xd0 // or al, r10b - LONG $0x4cb60f44; WORD $0x0624 // movzx r9d, byte [rsp + 6] - LONG $0x06e1c041 // shl r9b, 6 - WORD $0xe3c0; BYTE $0x07 // shl bl, 7 - WORD $0x0844; BYTE $0xcb // or bl, r9b - WORD $0x0841; BYTE $0xcf // or r15b, cl - WORD $0xc308 // or bl, al - WORD $0x0045; BYTE $0xf6 // add r14b, r14b - LONG $0x24740244; BYTE $0x0e // add r14b, byte [rsp + 14] - LONG $0x02e4c041 // shl r12b, 2 - WORD $0x0845; BYTE $0xf4 // or r12b, r14b - LONG $0x24748b4c; BYTE $0x30 // mov r14, qword [rsp + 48] - LONG $0x2444b60f; BYTE $0x09 // movzx eax, byte [rsp + 9] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0x0844; BYTE $0xe0 // or al, r12b - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x0a // movzx eax, byte [rsp + 10] + LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xd808 // or al, bl + WORD $0xc789 // mov edi, eax + LONG $0x245cb60f; BYTE $0x0f // movzx ebx, byte [rsp + 15] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + LONG $0x2444b60f; BYTE $0x0c // movzx eax, byte [rsp + 12] + WORD $0xe0c0; BYTE $0x06 // shl al, 6 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x0b // movzx eax, byte [rsp + 11] - WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - WORD $0x8845; BYTE $0x3e // mov byte [r14], r15b - LONG $0x244cb60f; BYTE $0x0c // movzx ecx, byte [rsp + 12] + WORD $0xe0c0; BYTE $0x07 // shl al, 7 + WORD $0xd808 // or al, bl + LONG $0x245cb60f; BYTE $0x0a // movzx ebx, byte [rsp + 10] + WORD $0xdb00 // add bl, bl + LONG $0x0e245c02 // add bl, byte [rsp + 14] + LONG $0x244cb60f; BYTE $0x09 // movzx ecx, byte [rsp + 9] + WORD $0xe1c0; BYTE $0x02 // shl cl, 2 + WORD $0xd908 // or cl, bl + LONG $0x03e3c041 // shl r11b, 3 + WORD $0x0841; BYTE $0xcb // or r11b, cl + LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0x0844; BYTE $0xdb // or bl, r11b + LONG $0x24648b4c; BYTE $0x30 // mov r12, qword [rsp + 48] + LONG $0x5cb60f44; WORD $0x0324 // movzx r11d, byte [rsp + 3] + WORD $0x0845; BYTE $0xeb // or r11b, r13b + LONG $0x6cb60f44; WORD $0x0724 // movzx r13d, byte [rsp + 7] + LONG $0x05e5c041 // shl r13b, 5 + LONG $0x244cb60f; BYTE $0x05 // movzx ecx, byte [rsp + 5] WORD $0xe1c0; BYTE $0x06 // shl cl, 6 + WORD $0x0844; BYTE $0xe9 // or cl, r13b + WORD $0x0840; BYTE $0xf8 // or al, dil + LONG $0x07e2c041 // shl r10b, 7 + WORD $0x0841; BYTE $0xca // or r10b, cl + WORD $0x0841; BYTE $0xda // or r10b, bl + LONG $0x244cb60f; BYTE $0x20 // movzx ecx, byte [rsp + 32] + WORD $0xc900 // add cl, cl + LONG $0x06244c02 // add cl, byte [rsp + 6] + LONG $0x02e7c041 // shl r15b, 2 + WORD $0x0841; BYTE $0xcf // or r15b, cl + LONG $0x03e6c041 // shl r14b, 3 + WORD $0x0845; BYTE $0xfe // or r14b, r15b + LONG $0x244cb60f; BYTE $0x04 // movzx ecx, byte [rsp + 4] + WORD $0xe1c0; BYTE $0x04 // shl cl, 4 + WORD $0x0844; BYTE $0xf1 // or cl, r14b + LONG $0x241c8845 // mov byte [r12], r11b + LONG $0x245cb60f; BYTE $0x28 // movzx ebx, byte [rsp + 40] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + LONG $0x06e1c041 // shl r9b, 6 + WORD $0x0841; BYTE $0xd9 // or r9b, bl + LONG $0x24448841; BYTE $0x01 // mov byte [r12 + 1], al LONG $0x07e0c041 // shl r8b, 7 + WORD $0x0845; BYTE $0xc8 // or r8b, r9b WORD $0x0841; BYTE $0xc8 // or r8b, cl - LONG $0x015e8841 // mov byte [r14 + 1], bl - WORD $0x0841; BYTE $0xc0 // or r8b, al - LONG $0x2444b60f; BYTE $0x0d // movzx eax, byte [rsp + 13] - WORD $0xc000 // add al, al - LONG $0x14244402 // add al, byte [rsp + 20] - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x0f // movzx eax, byte [rsp + 15] - WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x11 // movzx eax, byte [rsp + 17] - WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0xc808 // or al, cl - LONG $0x244cb60f; BYTE $0x13 // movzx ecx, byte [rsp + 19] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0xc108 // or cl, al - LONG $0x2444b60f; BYTE $0x12 // movzx eax, byte [rsp + 18] - WORD $0xe0c0; BYTE $0x06 // shl al, 6 - LONG $0x07e7c040 // shl dil, 7 - WORD $0x0840; BYTE $0xc7 // or dil, al - WORD $0x0840; BYTE $0xcf // or dil, cl - LONG $0x02468845 // mov byte [r14 + 2], r8b - LONG $0x037e8841 // mov byte [r14 + 3], dil + LONG $0x24548845; BYTE $0x02 // mov byte [r12 + 2], r10b + LONG $0x24448845; BYTE $0x03 // mov byte [r12 + 3], r8b LONG $0x80c28148; WORD $0x0000; BYTE $0x00 // add rdx, 128 - LONG $0x04c68349 // add r14, 4 - LONG $0x24448348; WORD $0xff28 // add qword [rsp + 40], -1 + LONG $0x04c48349 // add r12, 4 + LONG $0x24448348; WORD $0xff38 // add qword [rsp + 56], -1 JNE LBB0_118 - LONG $0x245c8b4c; BYTE $0x18 // mov r11, qword [rsp + 24] - LONG $0x247c8b4c; BYTE $0x20 // mov r15, qword [rsp + 32] + LONG $0x24748b4c; BYTE $0x18 // mov r14, qword [rsp + 24] + LONG $0x247c8b4c; BYTE $0x40 // mov r15, qword [rsp + 64] LBB0_120: LONG $0x05e7c149 // shl r15, 5 - WORD $0x394d; BYTE $0xdf // cmp r15, r11 + WORD $0x394d; BYTE $0xf7 // cmp r15, r14 JGE LBB0_123 - WORD $0x294d; BYTE $0xfb // sub r11, r15 + WORD $0x294d; BYTE $0xfe // sub r14, r15 WORD $0xc931 // xor ecx, ecx LBB0_122: + LONG $0x01498d4c // lea r9, [rcx + 1] LONG $0x0410fac5; BYTE $0x8e // vmovss xmm0, dword [rsi + 4*rcx] LONG $0x042ef8c5; BYTE $0x8a // vucomiss xmm0, dword [rdx + 4*rcx] - LONG $0x01418d4c // lea r8, [rcx + 1] - WORD $0x940f; BYTE $0xd3 // sete bl - WORD $0xdbf6 // neg bl + WORD $0x9b0f; BYTE $0xd3 // setnp bl + WORD $0x940f; BYTE $0xd0 // sete al + WORD $0xd820 // and al, bl + WORD $0xd8f6 // neg al WORD $0x8948; BYTE $0xcf // mov rdi, rcx LONG $0x03efc148 // shr rdi, 3 - LONG $0x0cb60f45; BYTE $0x3e // movzx r9d, byte [r14 + rdi] - WORD $0x3044; BYTE $0xcb // xor bl, r9b + LONG $0x04b60f45; BYTE $0x3c // movzx r8d, byte [r12 + rdi] + WORD $0x3044; BYTE $0xc0 // xor al, r8b WORD $0xe180; BYTE $0x07 // and cl, 7 - WORD $0x01b0 // mov al, 1 - WORD $0xe0d2 // shl al, cl - WORD $0xd820 // and al, bl - WORD $0x3044; BYTE $0xc8 // xor al, r9b - LONG $0x3e048841 // mov byte [r14 + rdi], al - WORD $0x894c; BYTE $0xc1 // mov rcx, r8 - WORD $0x394d; BYTE $0xc3 // cmp r11, r8 + WORD $0x01b3 // mov bl, 1 + WORD $0xe3d2 // shl bl, cl + WORD $0xc320 // and bl, al + WORD $0x3044; BYTE $0xc3 // xor bl, r8b + LONG $0x3c1c8841 // mov byte [r12 + rdi], bl + WORD $0x894c; BYTE $0xc9 // mov rcx, r9 + WORD $0x394d; BYTE $0xce // cmp r14, r9 JNE LBB0_122 JMP LBB0_123 LBB0_57: - LONG $0x1f7b8d4d // lea r15, [r11 + 31] - WORD $0x854d; BYTE $0xdb // test r11, r11 - LONG $0xfb490f4d // cmovns r15, r11 - LONG $0x07418d41 // lea eax, [r9 + 7] - WORD $0x8545; BYTE $0xc9 // test r9d, r9d - LONG $0xc1490f41 // cmovns eax, r9d - WORD $0xe083; BYTE $0xf8 // and eax, -8 - WORD $0x2941; BYTE $0xc1 // sub r9d, eax + LONG $0x1f7e8d4d // lea r15, [r14 + 31] + WORD $0x854d; BYTE $0xf6 // test r14, r14 + LONG $0xfe490f4d // cmovns r15, r14 + WORD $0x488d; BYTE $0x07 // lea ecx, [rax + 7] + WORD $0xc085 // test eax, eax + WORD $0x490f; BYTE $0xc8 // cmovns ecx, eax + WORD $0xe183; BYTE $0xf8 // and ecx, -8 + WORD $0xc829 // sub eax, ecx JE LBB0_61 - WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d + WORD $0x9848 // cdqe LBB0_59: WORD $0xb60f; BYTE $0x0e // movzx ecx, byte [rsi] @@ -2197,7 +2388,7 @@ LBB0_59: WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xf8490f48 // cmovns rdi, rax LONG $0x03ffc148 // sar rdi, 3 - LONG $0x04b60f45; BYTE $0x3e // movzx r8d, byte [r14 + rdi] + LONG $0x04b60f45; BYTE $0x3c // movzx r8d, byte [r12 + rdi] WORD $0x3045; BYTE $0xc2 // xor r10b, r8b QUAD $0x00000000fd0c8d44 // lea r9d, [8*rdi] WORD $0xc189 // mov ecx, eax @@ -2206,49 +2397,49 @@ LBB0_59: WORD $0xe3d3 // shl ebx, cl WORD $0x2044; BYTE $0xd3 // and bl, r10b WORD $0x3044; BYTE $0xc3 // xor bl, r8b - LONG $0x3e1c8841 // mov byte [r14 + rdi], bl + LONG $0x3c1c8841 // mov byte [r12 + rdi], bl LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 JNE LBB0_59 - LONG $0x01c68349 // add r14, 1 + LONG $0x01c48349 // add r12, 1 LBB0_61: LONG $0x05ffc149 // sar r15, 5 - LONG $0x20fb8349 // cmp r11, 32 + LONG $0x20fe8349 // cmp r14, 32 JL LBB0_65 - LONG $0x245c894c; BYTE $0x18 // mov qword [rsp + 24], r11 - LONG $0x247c894c; BYTE $0x38 // mov qword [rsp + 56], r15 + LONG $0x2474894c; BYTE $0x18 // mov qword [rsp + 24], r14 LONG $0x247c894c; BYTE $0x20 // mov qword [rsp + 32], r15 + LONG $0x247c894c; BYTE $0x28 // mov qword [rsp + 40], r15 LBB0_63: - LONG $0x2474894c; BYTE $0x30 // mov qword [rsp + 48], r14 + LONG $0x2464894c; BYTE $0x30 // mov qword [rsp + 48], r12 WORD $0xb60f; BYTE $0x06 // movzx eax, byte [rsi] LONG $0x014eb60f // movzx ecx, byte [rsi + 1] WORD $0x023a // cmp al, byte [rdx] - LONG $0x2454940f; BYTE $0x28 // sete byte [rsp + 40] + LONG $0x2454940f; BYTE $0x04 // sete byte [rsp + 4] WORD $0x4a3a; BYTE $0x01 // cmp cl, byte [rdx + 1] - WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0x940f; BYTE $0xd3 // sete bl LONG $0x0246b60f // movzx eax, byte [rsi + 2] WORD $0x423a; BYTE $0x02 // cmp al, byte [rdx + 2] - LONG $0x2454940f; BYTE $0x14 // sete byte [rsp + 20] + LONG $0x2454940f; BYTE $0x15 // sete byte [rsp + 21] LONG $0x0346b60f // movzx eax, byte [rsi + 3] WORD $0x423a; BYTE $0x03 // cmp al, byte [rdx + 3] - LONG $0x2454940f; BYTE $0x15 // sete byte [rsp + 21] + LONG $0x2454940f; BYTE $0x16 // sete byte [rsp + 22] LONG $0x0446b60f // movzx eax, byte [rsi + 4] WORD $0x423a; BYTE $0x04 // cmp al, byte [rdx + 4] - LONG $0x2454940f; BYTE $0x16 // sete byte [rsp + 22] + LONG $0x2454940f; BYTE $0x17 // sete byte [rsp + 23] LONG $0x0546b60f // movzx eax, byte [rsi + 5] WORD $0x423a; BYTE $0x05 // cmp al, byte [rdx + 5] - LONG $0x2454940f; BYTE $0x17 // sete byte [rsp + 23] + LONG $0x2454940f; BYTE $0x03 // sete byte [rsp + 3] LONG $0x0646b60f // movzx eax, byte [rsi + 6] WORD $0x423a; BYTE $0x06 // cmp al, byte [rdx + 6] - LONG $0x2454940f; BYTE $0x04 // sete byte [rsp + 4] + LONG $0x2454940f; BYTE $0x05 // sete byte [rsp + 5] LONG $0x0746b60f // movzx eax, byte [rsi + 7] WORD $0x423a; BYTE $0x07 // cmp al, byte [rdx + 7] LONG $0xd7940f41 // sete r15b LONG $0x0846b60f // movzx eax, byte [rsi + 8] WORD $0x423a; BYTE $0x08 // cmp al, byte [rdx + 8] - LONG $0x2454940f; BYTE $0x07 // sete byte [rsp + 7] + LONG $0x2454940f; BYTE $0x08 // sete byte [rsp + 8] LONG $0x0946b60f // movzx eax, byte [rsi + 9] WORD $0x423a; BYTE $0x09 // cmp al, byte [rdx + 9] LONG $0xd7940f40 // sete dil @@ -2263,16 +2454,16 @@ LBB0_63: LONG $0xd6940f41 // sete r14b LONG $0x0d46b60f // movzx eax, byte [rsi + 13] WORD $0x423a; BYTE $0x0d // cmp al, byte [rdx + 13] - LONG $0x2454940f; BYTE $0x05 // sete byte [rsp + 5] + LONG $0x2454940f; BYTE $0x06 // sete byte [rsp + 6] LONG $0x0e46b60f // movzx eax, byte [rsi + 14] WORD $0x423a; BYTE $0x0e // cmp al, byte [rdx + 14] - LONG $0x2454940f; BYTE $0x06 // sete byte [rsp + 6] + LONG $0x2454940f; BYTE $0x07 // sete byte [rsp + 7] LONG $0x0f46b60f // movzx eax, byte [rsi + 15] WORD $0x423a; BYTE $0x0f // cmp al, byte [rdx + 15] - WORD $0x940f; BYTE $0xd3 // sete bl + LONG $0xd0940f41 // sete r8b LONG $0x1046b60f // movzx eax, byte [rsi + 16] WORD $0x423a; BYTE $0x10 // cmp al, byte [rdx + 16] - LONG $0x2454940f; BYTE $0x0d // sete byte [rsp + 13] + LONG $0x2454940f; BYTE $0x0e // sete byte [rsp + 14] LONG $0x1146b60f // movzx eax, byte [rsi + 17] WORD $0x423a; BYTE $0x11 // cmp al, byte [rdx + 17] LONG $0xd4940f41 // sete r12b @@ -2281,144 +2472,144 @@ LBB0_63: LONG $0xd5940f41 // sete r13b LONG $0x1346b60f // movzx eax, byte [rsi + 19] WORD $0x423a; BYTE $0x13 // cmp al, byte [rdx + 19] - LONG $0x2454940f; BYTE $0x08 // sete byte [rsp + 8] + LONG $0x2454940f; BYTE $0x09 // sete byte [rsp + 9] LONG $0x1446b60f // movzx eax, byte [rsi + 20] WORD $0x423a; BYTE $0x14 // cmp al, byte [rdx + 20] - LONG $0x2454940f; BYTE $0x09 // sete byte [rsp + 9] + LONG $0x2454940f; BYTE $0x0a // sete byte [rsp + 10] LONG $0x1546b60f // movzx eax, byte [rsi + 21] WORD $0x423a; BYTE $0x15 // cmp al, byte [rdx + 21] - LONG $0x2454940f; BYTE $0x0a // sete byte [rsp + 10] + LONG $0x2454940f; BYTE $0x0b // sete byte [rsp + 11] LONG $0x1646b60f // movzx eax, byte [rsi + 22] WORD $0x423a; BYTE $0x16 // cmp al, byte [rdx + 22] - LONG $0x2454940f; BYTE $0x0b // sete byte [rsp + 11] + LONG $0x2454940f; BYTE $0x0c // sete byte [rsp + 12] LONG $0x1746b60f // movzx eax, byte [rsi + 23] WORD $0x423a; BYTE $0x17 // cmp al, byte [rdx + 23] LONG $0xd1940f41 // sete r9b LONG $0x1846b60f // movzx eax, byte [rsi + 24] WORD $0x423a; BYTE $0x18 // cmp al, byte [rdx + 24] - LONG $0x2454940f; BYTE $0x13 // sete byte [rsp + 19] + LONG $0x2454940f; BYTE $0x14 // sete byte [rsp + 20] LONG $0x1946b60f // movzx eax, byte [rsi + 25] WORD $0x423a; BYTE $0x19 // cmp al, byte [rdx + 25] - LONG $0x2454940f; BYTE $0x0c // sete byte [rsp + 12] + LONG $0x2454940f; BYTE $0x0d // sete byte [rsp + 13] LONG $0x1a46b60f // movzx eax, byte [rsi + 26] WORD $0x423a; BYTE $0x1a // cmp al, byte [rdx + 26] - LONG $0x2454940f; BYTE $0x0e // sete byte [rsp + 14] + LONG $0x2454940f; BYTE $0x0f // sete byte [rsp + 15] LONG $0x1b46b60f // movzx eax, byte [rsi + 27] WORD $0x423a; BYTE $0x1b // cmp al, byte [rdx + 27] - LONG $0x2454940f; BYTE $0x0f // sete byte [rsp + 15] + LONG $0x2454940f; BYTE $0x10 // sete byte [rsp + 16] LONG $0x1c46b60f // movzx eax, byte [rsi + 28] WORD $0x423a; BYTE $0x1c // cmp al, byte [rdx + 28] - LONG $0x2454940f; BYTE $0x10 // sete byte [rsp + 16] + LONG $0x2454940f; BYTE $0x11 // sete byte [rsp + 17] LONG $0x1d46b60f // movzx eax, byte [rsi + 29] WORD $0x423a; BYTE $0x1d // cmp al, byte [rdx + 29] - LONG $0x2454940f; BYTE $0x11 // sete byte [rsp + 17] + LONG $0x2454940f; BYTE $0x12 // sete byte [rsp + 18] LONG $0x1e46b60f // movzx eax, byte [rsi + 30] WORD $0x423a; BYTE $0x1e // cmp al, byte [rdx + 30] - LONG $0x2454940f; BYTE $0x12 // sete byte [rsp + 18] + LONG $0x2454940f; BYTE $0x13 // sete byte [rsp + 19] LONG $0x1f46b60f // movzx eax, byte [rsi + 31] LONG $0x20c68348 // add rsi, 32 WORD $0x423a; BYTE $0x1f // cmp al, byte [rdx + 31] - LONG $0xd0940f41 // sete r8b - WORD $0xc900 // add cl, cl - LONG $0x28244c02 // add cl, byte [rsp + 40] - WORD $0xc889 // mov eax, ecx - LONG $0x244cb60f; BYTE $0x04 // movzx ecx, byte [rsp + 4] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xdb00 // add bl, bl + LONG $0x04245c02 // add bl, byte [rsp + 4] + WORD $0xd889 // mov eax, ebx + LONG $0x245cb60f; BYTE $0x05 // movzx ebx, byte [rsp + 5] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e7c041 // shl r15b, 7 - WORD $0x0841; BYTE $0xcf // or r15b, cl - LONG $0x244cb60f; BYTE $0x14 // movzx ecx, byte [rsp + 20] - WORD $0xe1c0; BYTE $0x02 // shl cl, 2 - WORD $0xc108 // or cl, al - WORD $0xc889 // mov eax, ecx + WORD $0x0841; BYTE $0xdf // or r15b, bl + LONG $0x245cb60f; BYTE $0x15 // movzx ebx, byte [rsp + 21] + WORD $0xe3c0; BYTE $0x02 // shl bl, 2 + WORD $0xc308 // or bl, al + WORD $0xd889 // mov eax, ebx WORD $0x0040; BYTE $0xff // add dil, dil - LONG $0x247c0240; BYTE $0x07 // add dil, byte [rsp + 7] - LONG $0x244cb60f; BYTE $0x15 // movzx ecx, byte [rsp + 21] - WORD $0xe1c0; BYTE $0x03 // shl cl, 3 - WORD $0xc108 // or cl, al - WORD $0xc889 // mov eax, ecx + LONG $0x247c0240; BYTE $0x08 // add dil, byte [rsp + 8] + LONG $0x245cb60f; BYTE $0x16 // movzx ebx, byte [rsp + 22] + WORD $0xe3c0; BYTE $0x03 // shl bl, 3 + WORD $0xc308 // or bl, al + WORD $0xd889 // mov eax, ebx LONG $0x02e2c041 // shl r10b, 2 WORD $0x0841; BYTE $0xfa // or r10b, dil - LONG $0x244cb60f; BYTE $0x16 // movzx ecx, byte [rsp + 22] - WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0xc108 // or cl, al - WORD $0xcf89 // mov edi, ecx + LONG $0x245cb60f; BYTE $0x17 // movzx ebx, byte [rsp + 23] + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0xc308 // or bl, al + WORD $0xdf89 // mov edi, ebx LONG $0x03e3c041 // shl r11b, 3 WORD $0x0845; BYTE $0xd3 // or r11b, r10b - LONG $0x244cb60f; BYTE $0x17 // movzx ecx, byte [rsp + 23] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0x0840; BYTE $0xf9 // or cl, dil + LONG $0x245cb60f; BYTE $0x03 // movzx ebx, byte [rsp + 3] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + WORD $0x0840; BYTE $0xfb // or bl, dil LONG $0x04e6c041 // shl r14b, 4 WORD $0x0845; BYTE $0xde // or r14b, r11b - LONG $0x2444b60f; BYTE $0x05 // movzx eax, byte [rsp + 5] + LONG $0x2444b60f; BYTE $0x06 // movzx eax, byte [rsp + 6] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0x0844; BYTE $0xf0 // or al, r14b - LONG $0x247cb60f; BYTE $0x06 // movzx edi, byte [rsp + 6] + LONG $0x247cb60f; BYTE $0x07 // movzx edi, byte [rsp + 7] LONG $0x06e7c040 // shl dil, 6 - WORD $0xe3c0; BYTE $0x07 // shl bl, 7 - WORD $0x0840; BYTE $0xfb // or bl, dil - WORD $0x0841; BYTE $0xcf // or r15b, cl - WORD $0xc308 // or bl, al + LONG $0x07e0c041 // shl r8b, 7 + WORD $0x0841; BYTE $0xf8 // or r8b, dil + WORD $0x0841; BYTE $0xdf // or r15b, bl + WORD $0x0841; BYTE $0xc0 // or r8b, al WORD $0x0045; BYTE $0xe4 // add r12b, r12b - LONG $0x24640244; BYTE $0x0d // add r12b, byte [rsp + 13] + LONG $0x24640244; BYTE $0x0e // add r12b, byte [rsp + 14] LONG $0x02e5c041 // shl r13b, 2 WORD $0x0845; BYTE $0xe5 // or r13b, r12b - LONG $0x24748b4c; BYTE $0x30 // mov r14, qword [rsp + 48] - LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + LONG $0x24648b4c; BYTE $0x30 // mov r12, qword [rsp + 48] + LONG $0x2444b60f; BYTE $0x09 // movzx eax, byte [rsp + 9] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0x0844; BYTE $0xe8 // or al, r13b - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x09 // movzx eax, byte [rsp + 9] - WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x0a // movzx eax, byte [rsp + 10] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x0b // movzx eax, byte [rsp + 11] WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - WORD $0x8845; BYTE $0x3e // mov byte [r14], r15b - LONG $0x244cb60f; BYTE $0x0b // movzx ecx, byte [rsp + 11] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 + WORD $0xd808 // or al, bl + LONG $0x243c8845 // mov byte [r12], r15b + LONG $0x245cb60f; BYTE $0x0c // movzx ebx, byte [rsp + 12] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e1c041 // shl r9b, 7 - WORD $0x0841; BYTE $0xc9 // or r9b, cl - LONG $0x015e8841 // mov byte [r14 + 1], bl + WORD $0x0841; BYTE $0xd9 // or r9b, bl + LONG $0x24448845; BYTE $0x01 // mov byte [r12 + 1], r8b WORD $0x0841; BYTE $0xc1 // or r9b, al - LONG $0x2444b60f; BYTE $0x0c // movzx eax, byte [rsp + 12] + LONG $0x2444b60f; BYTE $0x0d // movzx eax, byte [rsp + 13] WORD $0xc000 // add al, al - LONG $0x13244402 // add al, byte [rsp + 19] - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x0e // movzx eax, byte [rsp + 14] - WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + LONG $0x14244402 // add al, byte [rsp + 20] + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x0f // movzx eax, byte [rsp + 15] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] - WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x11 // movzx eax, byte [rsp + 17] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x12 // movzx eax, byte [rsp + 18] WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - LONG $0x244cb60f; BYTE $0x12 // movzx ecx, byte [rsp + 18] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 - LONG $0x07e0c041 // shl r8b, 7 - WORD $0x0841; BYTE $0xc8 // or r8b, cl - WORD $0x0841; BYTE $0xc0 // or r8b, al - LONG $0x024e8845 // mov byte [r14 + 2], r9b - LONG $0x03468845 // mov byte [r14 + 3], r8b + WORD $0xd808 // or al, bl + LONG $0x245cb60f; BYTE $0x13 // movzx ebx, byte [rsp + 19] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 + WORD $0xe1c0; BYTE $0x07 // shl cl, 7 + WORD $0xd908 // or cl, bl + WORD $0xc108 // or cl, al + LONG $0x244c8845; BYTE $0x02 // mov byte [r12 + 2], r9b + LONG $0x244c8841; BYTE $0x03 // mov byte [r12 + 3], cl LONG $0x20c28348 // add rdx, 32 - LONG $0x04c68349 // add r14, 4 - LONG $0x24448348; WORD $0xff20 // add qword [rsp + 32], -1 + LONG $0x04c48349 // add r12, 4 + LONG $0x24448348; WORD $0xff28 // add qword [rsp + 40], -1 JNE LBB0_63 - LONG $0x245c8b4c; BYTE $0x18 // mov r11, qword [rsp + 24] - LONG $0x247c8b4c; BYTE $0x38 // mov r15, qword [rsp + 56] + LONG $0x24748b4c; BYTE $0x18 // mov r14, qword [rsp + 24] + LONG $0x247c8b4c; BYTE $0x20 // mov r15, qword [rsp + 32] LBB0_65: LONG $0x05e7c149 // shl r15, 5 - WORD $0x394d; BYTE $0xdf // cmp r15, r11 + WORD $0x394d; BYTE $0xf7 // cmp r15, r14 JGE LBB0_123 - WORD $0x294d; BYTE $0xfb // sub r11, r15 + WORD $0x294d; BYTE $0xfe // sub r14, r15 WORD $0xc931 // xor ecx, ecx LBB0_67: @@ -2429,30 +2620,30 @@ LBB0_67: WORD $0xdbf6 // neg bl WORD $0x8948; BYTE $0xcf // mov rdi, rcx LONG $0x03efc148 // shr rdi, 3 - LONG $0x0cb60f45; BYTE $0x3e // movzx r9d, byte [r14 + rdi] + LONG $0x0cb60f45; BYTE $0x3c // movzx r9d, byte [r12 + rdi] WORD $0x3044; BYTE $0xcb // xor bl, r9b WORD $0xe180; BYTE $0x07 // and cl, 7 WORD $0x01b0 // mov al, 1 WORD $0xe0d2 // shl al, cl WORD $0xd820 // and al, bl WORD $0x3044; BYTE $0xc8 // xor al, r9b - LONG $0x3e048841 // mov byte [r14 + rdi], al + LONG $0x3c048841 // mov byte [r12 + rdi], al WORD $0x894c; BYTE $0xc1 // mov rcx, r8 - WORD $0x394d; BYTE $0xc3 // cmp r11, r8 + WORD $0x394d; BYTE $0xc6 // cmp r14, r8 JNE LBB0_67 JMP LBB0_123 LBB0_90: - LONG $0x1f7b8d4d // lea r15, [r11 + 31] - WORD $0x854d; BYTE $0xdb // test r11, r11 - LONG $0xfb490f4d // cmovns r15, r11 - LONG $0x07418d41 // lea eax, [r9 + 7] - WORD $0x8545; BYTE $0xc9 // test r9d, r9d - LONG $0xc1490f41 // cmovns eax, r9d - WORD $0xe083; BYTE $0xf8 // and eax, -8 - WORD $0x2941; BYTE $0xc1 // sub r9d, eax + LONG $0x1f7e8d4d // lea r15, [r14 + 31] + WORD $0x854d; BYTE $0xf6 // test r14, r14 + LONG $0xfe490f4d // cmovns r15, r14 + WORD $0x488d; BYTE $0x07 // lea ecx, [rax + 7] + WORD $0xc085 // test eax, eax + WORD $0x490f; BYTE $0xc8 // cmovns ecx, eax + WORD $0xe183; BYTE $0xf8 // and ecx, -8 + WORD $0xc829 // sub eax, ecx JE LBB0_94 - WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d + WORD $0x9848 // cdqe LBB0_92: WORD $0x0e8b // mov ecx, dword [rsi] @@ -2465,7 +2656,7 @@ LBB0_92: WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xf8490f48 // cmovns rdi, rax LONG $0x03ffc148 // sar rdi, 3 - LONG $0x04b60f45; BYTE $0x3e // movzx r8d, byte [r14 + rdi] + LONG $0x04b60f45; BYTE $0x3c // movzx r8d, byte [r12 + rdi] WORD $0x3045; BYTE $0xc2 // xor r10b, r8b QUAD $0x00000000fd0c8d44 // lea r9d, [8*rdi] WORD $0xc189 // mov ecx, eax @@ -2474,49 +2665,49 @@ LBB0_92: WORD $0xe3d3 // shl ebx, cl WORD $0x2044; BYTE $0xd3 // and bl, r10b WORD $0x3044; BYTE $0xc3 // xor bl, r8b - LONG $0x3e1c8841 // mov byte [r14 + rdi], bl + LONG $0x3c1c8841 // mov byte [r12 + rdi], bl LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 JNE LBB0_92 - LONG $0x01c68349 // add r14, 1 + LONG $0x01c48349 // add r12, 1 LBB0_94: LONG $0x05ffc149 // sar r15, 5 - LONG $0x20fb8349 // cmp r11, 32 + LONG $0x20fe8349 // cmp r14, 32 JL LBB0_98 - LONG $0x245c894c; BYTE $0x18 // mov qword [rsp + 24], r11 - LONG $0x247c894c; BYTE $0x40 // mov qword [rsp + 64], r15 + LONG $0x2474894c; BYTE $0x18 // mov qword [rsp + 24], r14 LONG $0x247c894c; BYTE $0x38 // mov qword [rsp + 56], r15 + LONG $0x247c894c; BYTE $0x20 // mov qword [rsp + 32], r15 LBB0_96: - LONG $0x2474894c; BYTE $0x30 // mov qword [rsp + 48], r14 + LONG $0x2464894c; BYTE $0x30 // mov qword [rsp + 48], r12 WORD $0x068b // mov eax, dword [rsi] WORD $0x4e8b; BYTE $0x04 // mov ecx, dword [rsi + 4] WORD $0x023b // cmp eax, dword [rdx] - LONG $0x2454940f; BYTE $0x28 // sete byte [rsp + 40] + LONG $0x2454940f; BYTE $0x04 // sete byte [rsp + 4] WORD $0x4a3b; BYTE $0x04 // cmp ecx, dword [rdx + 4] - LONG $0x2454940f; BYTE $0x20 // sete byte [rsp + 32] + LONG $0x2454940f; BYTE $0x28 // sete byte [rsp + 40] WORD $0x468b; BYTE $0x08 // mov eax, dword [rsi + 8] WORD $0x423b; BYTE $0x08 // cmp eax, dword [rdx + 8] - LONG $0x2454940f; BYTE $0x14 // sete byte [rsp + 20] + LONG $0x2454940f; BYTE $0x15 // sete byte [rsp + 21] WORD $0x468b; BYTE $0x0c // mov eax, dword [rsi + 12] WORD $0x423b; BYTE $0x0c // cmp eax, dword [rdx + 12] - LONG $0x2454940f; BYTE $0x15 // sete byte [rsp + 21] + LONG $0x2454940f; BYTE $0x16 // sete byte [rsp + 22] WORD $0x468b; BYTE $0x10 // mov eax, dword [rsi + 16] WORD $0x423b; BYTE $0x10 // cmp eax, dword [rdx + 16] - LONG $0x2454940f; BYTE $0x16 // sete byte [rsp + 22] + LONG $0x2454940f; BYTE $0x17 // sete byte [rsp + 23] WORD $0x468b; BYTE $0x14 // mov eax, dword [rsi + 20] WORD $0x423b; BYTE $0x14 // cmp eax, dword [rdx + 20] - LONG $0x2454940f; BYTE $0x17 // sete byte [rsp + 23] + LONG $0x2454940f; BYTE $0x03 // sete byte [rsp + 3] WORD $0x468b; BYTE $0x18 // mov eax, dword [rsi + 24] WORD $0x423b; BYTE $0x18 // cmp eax, dword [rdx + 24] - LONG $0x2454940f; BYTE $0x04 // sete byte [rsp + 4] + LONG $0x2454940f; BYTE $0x05 // sete byte [rsp + 5] WORD $0x468b; BYTE $0x1c // mov eax, dword [rsi + 28] WORD $0x423b; BYTE $0x1c // cmp eax, dword [rdx + 28] LONG $0xd5940f41 // sete r13b WORD $0x468b; BYTE $0x20 // mov eax, dword [rsi + 32] WORD $0x423b; BYTE $0x20 // cmp eax, dword [rdx + 32] - LONG $0x2454940f; BYTE $0x09 // sete byte [rsp + 9] + LONG $0x2454940f; BYTE $0x0a // sete byte [rsp + 10] WORD $0x468b; BYTE $0x24 // mov eax, dword [rsi + 36] WORD $0x423b; BYTE $0x24 // cmp eax, dword [rdx + 36] LONG $0xd0940f41 // sete r8b @@ -2528,165 +2719,165 @@ LBB0_96: LONG $0xd7940f41 // sete r15b WORD $0x468b; BYTE $0x30 // mov eax, dword [rsi + 48] WORD $0x423b; BYTE $0x30 // cmp eax, dword [rdx + 48] - LONG $0x2454940f; BYTE $0x05 // sete byte [rsp + 5] + LONG $0x2454940f; BYTE $0x06 // sete byte [rsp + 6] WORD $0x468b; BYTE $0x34 // mov eax, dword [rsi + 52] WORD $0x423b; BYTE $0x34 // cmp eax, dword [rdx + 52] - LONG $0x2454940f; BYTE $0x06 // sete byte [rsp + 6] + LONG $0x2454940f; BYTE $0x07 // sete byte [rsp + 7] WORD $0x468b; BYTE $0x38 // mov eax, dword [rsi + 56] WORD $0x423b; BYTE $0x38 // cmp eax, dword [rdx + 56] - LONG $0x2454940f; BYTE $0x07 // sete byte [rsp + 7] + LONG $0x2454940f; BYTE $0x08 // sete byte [rsp + 8] WORD $0x468b; BYTE $0x3c // mov eax, dword [rsi + 60] WORD $0x423b; BYTE $0x3c // cmp eax, dword [rdx + 60] - WORD $0x940f; BYTE $0xd3 // sete bl + LONG $0xd7940f40 // sete dil WORD $0x468b; BYTE $0x40 // mov eax, dword [rsi + 64] - WORD $0x4e8b; BYTE $0x44 // mov ecx, dword [rsi + 68] + WORD $0x5e8b; BYTE $0x44 // mov ebx, dword [rsi + 68] WORD $0x423b; BYTE $0x40 // cmp eax, dword [rdx + 64] WORD $0x468b; BYTE $0x48 // mov eax, dword [rsi + 72] - LONG $0x2454940f; BYTE $0x0a // sete byte [rsp + 10] - WORD $0x4a3b; BYTE $0x44 // cmp ecx, dword [rdx + 68] - WORD $0x4e8b; BYTE $0x4c // mov ecx, dword [rsi + 76] + LONG $0x2454940f; BYTE $0x0b // sete byte [rsp + 11] + WORD $0x5a3b; BYTE $0x44 // cmp ebx, dword [rdx + 68] + WORD $0x5e8b; BYTE $0x4c // mov ebx, dword [rsi + 76] LONG $0xd2940f41 // sete r10b WORD $0x423b; BYTE $0x48 // cmp eax, dword [rdx + 72] WORD $0x468b; BYTE $0x50 // mov eax, dword [rsi + 80] LONG $0xd6940f41 // sete r14b - WORD $0x4a3b; BYTE $0x4c // cmp ecx, dword [rdx + 76] - WORD $0x4e8b; BYTE $0x54 // mov ecx, dword [rsi + 84] + WORD $0x5a3b; BYTE $0x4c // cmp ebx, dword [rdx + 76] + WORD $0x5e8b; BYTE $0x54 // mov ebx, dword [rsi + 84] LONG $0xd4940f41 // sete r12b WORD $0x423b; BYTE $0x50 // cmp eax, dword [rdx + 80] - LONG $0x2454940f; BYTE $0x08 // sete byte [rsp + 8] - WORD $0x4a3b; BYTE $0x54 // cmp ecx, dword [rdx + 84] + LONG $0x2454940f; BYTE $0x09 // sete byte [rsp + 9] + WORD $0x5a3b; BYTE $0x54 // cmp ebx, dword [rdx + 84] WORD $0x468b; BYTE $0x58 // mov eax, dword [rsi + 88] - LONG $0x2454940f; BYTE $0x0b // sete byte [rsp + 11] + LONG $0x2454940f; BYTE $0x0c // sete byte [rsp + 12] WORD $0x423b; BYTE $0x58 // cmp eax, dword [rdx + 88] WORD $0x468b; BYTE $0x5c // mov eax, dword [rsi + 92] - LONG $0x2454940f; BYTE $0x0c // sete byte [rsp + 12] + LONG $0x2454940f; BYTE $0x0d // sete byte [rsp + 13] WORD $0x423b; BYTE $0x5c // cmp eax, dword [rdx + 92] WORD $0x468b; BYTE $0x60 // mov eax, dword [rsi + 96] LONG $0xd1940f41 // sete r9b WORD $0x423b; BYTE $0x60 // cmp eax, dword [rdx + 96] WORD $0x468b; BYTE $0x64 // mov eax, dword [rsi + 100] - LONG $0x2454940f; BYTE $0x13 // sete byte [rsp + 19] + LONG $0x2454940f; BYTE $0x14 // sete byte [rsp + 20] WORD $0x423b; BYTE $0x64 // cmp eax, dword [rdx + 100] WORD $0x468b; BYTE $0x68 // mov eax, dword [rsi + 104] - LONG $0x2454940f; BYTE $0x0d // sete byte [rsp + 13] + LONG $0x2454940f; BYTE $0x0e // sete byte [rsp + 14] WORD $0x423b; BYTE $0x68 // cmp eax, dword [rdx + 104] WORD $0x468b; BYTE $0x6c // mov eax, dword [rsi + 108] - LONG $0x2454940f; BYTE $0x0e // sete byte [rsp + 14] + LONG $0x2454940f; BYTE $0x0f // sete byte [rsp + 15] WORD $0x423b; BYTE $0x6c // cmp eax, dword [rdx + 108] WORD $0x468b; BYTE $0x70 // mov eax, dword [rsi + 112] - LONG $0x2454940f; BYTE $0x0f // sete byte [rsp + 15] + LONG $0x2454940f; BYTE $0x10 // sete byte [rsp + 16] WORD $0x423b; BYTE $0x70 // cmp eax, dword [rdx + 112] WORD $0x468b; BYTE $0x74 // mov eax, dword [rsi + 116] - LONG $0x2454940f; BYTE $0x10 // sete byte [rsp + 16] + LONG $0x2454940f; BYTE $0x11 // sete byte [rsp + 17] WORD $0x423b; BYTE $0x74 // cmp eax, dword [rdx + 116] WORD $0x468b; BYTE $0x78 // mov eax, dword [rsi + 120] - LONG $0x2454940f; BYTE $0x12 // sete byte [rsp + 18] + LONG $0x2454940f; BYTE $0x13 // sete byte [rsp + 19] WORD $0x423b; BYTE $0x78 // cmp eax, dword [rdx + 120] WORD $0x468b; BYTE $0x7c // mov eax, dword [rsi + 124] - LONG $0x2454940f; BYTE $0x11 // sete byte [rsp + 17] + LONG $0x2454940f; BYTE $0x12 // sete byte [rsp + 18] LONG $0x80ee8348 // sub rsi, -128 WORD $0x423b; BYTE $0x7c // cmp eax, dword [rdx + 124] - LONG $0xd7940f40 // sete dil - LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] + WORD $0x940f; BYTE $0xd1 // sete cl + LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] WORD $0xc000 // add al, al - LONG $0x28244402 // add al, byte [rsp + 40] - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x04 // movzx eax, byte [rsp + 4] + LONG $0x04244402 // add al, byte [rsp + 4] + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x05 // movzx eax, byte [rsp + 5] WORD $0xe0c0; BYTE $0x06 // shl al, 6 LONG $0x07e5c041 // shl r13b, 7 WORD $0x0841; BYTE $0xc5 // or r13b, al - LONG $0x2444b60f; BYTE $0x14 // movzx eax, byte [rsp + 20] + LONG $0x2444b60f; BYTE $0x15 // movzx eax, byte [rsp + 21] WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xc808 // or al, cl + WORD $0xd808 // or al, bl WORD $0x0045; BYTE $0xc0 // add r8b, r8b - LONG $0x24440244; BYTE $0x09 // add r8b, byte [rsp + 9] - LONG $0x244cb60f; BYTE $0x15 // movzx ecx, byte [rsp + 21] - WORD $0xe1c0; BYTE $0x03 // shl cl, 3 - WORD $0xc108 // or cl, al - WORD $0xc889 // mov eax, ecx + LONG $0x24440244; BYTE $0x0a // add r8b, byte [rsp + 10] + LONG $0x245cb60f; BYTE $0x16 // movzx ebx, byte [rsp + 22] + WORD $0xe3c0; BYTE $0x03 // shl bl, 3 + WORD $0xc308 // or bl, al + WORD $0xd889 // mov eax, ebx LONG $0x02e3c041 // shl r11b, 2 WORD $0x0845; BYTE $0xc3 // or r11b, r8b - LONG $0x244cb60f; BYTE $0x16 // movzx ecx, byte [rsp + 22] - WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0xc108 // or cl, al - WORD $0x8941; BYTE $0xc8 // mov r8d, ecx + LONG $0x245cb60f; BYTE $0x17 // movzx ebx, byte [rsp + 23] + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0xc308 // or bl, al + WORD $0x8941; BYTE $0xd8 // mov r8d, ebx LONG $0x03e7c041 // shl r15b, 3 WORD $0x0845; BYTE $0xdf // or r15b, r11b - LONG $0x244cb60f; BYTE $0x17 // movzx ecx, byte [rsp + 23] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0x0844; BYTE $0xc1 // or cl, r8b - LONG $0x2444b60f; BYTE $0x05 // movzx eax, byte [rsp + 5] + LONG $0x245cb60f; BYTE $0x03 // movzx ebx, byte [rsp + 3] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + WORD $0x0844; BYTE $0xc3 // or bl, r8b + LONG $0x2444b60f; BYTE $0x06 // movzx eax, byte [rsp + 6] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0x0844; BYTE $0xf8 // or al, r15b WORD $0x8941; BYTE $0xc0 // mov r8d, eax - LONG $0x2444b60f; BYTE $0x06 // movzx eax, byte [rsp + 6] + LONG $0x2444b60f; BYTE $0x07 // movzx eax, byte [rsp + 7] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0x0844; BYTE $0xc0 // or al, r8b - LONG $0x44b60f44; WORD $0x0724 // movzx r8d, byte [rsp + 7] + LONG $0x44b60f44; WORD $0x0824 // movzx r8d, byte [rsp + 8] LONG $0x06e0c041 // shl r8b, 6 - WORD $0xe3c0; BYTE $0x07 // shl bl, 7 - WORD $0x0844; BYTE $0xc3 // or bl, r8b - WORD $0x0841; BYTE $0xcd // or r13b, cl - WORD $0xc308 // or bl, al + LONG $0x07e7c040 // shl dil, 7 + WORD $0x0844; BYTE $0xc7 // or dil, r8b + WORD $0x0841; BYTE $0xdd // or r13b, bl + WORD $0x0840; BYTE $0xc7 // or dil, al WORD $0x0045; BYTE $0xd2 // add r10b, r10b - LONG $0x24540244; BYTE $0x0a // add r10b, byte [rsp + 10] + LONG $0x24540244; BYTE $0x0b // add r10b, byte [rsp + 11] LONG $0x02e6c041 // shl r14b, 2 WORD $0x0845; BYTE $0xd6 // or r14b, r10b LONG $0x03e4c041 // shl r12b, 3 WORD $0x0845; BYTE $0xf4 // or r12b, r14b - LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + LONG $0x2444b60f; BYTE $0x09 // movzx eax, byte [rsp + 9] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0x0844; BYTE $0xe0 // or al, r12b - WORD $0xc189 // mov ecx, eax - LONG $0x24748b4c; BYTE $0x30 // mov r14, qword [rsp + 48] - LONG $0x2444b60f; BYTE $0x0b // movzx eax, byte [rsp + 11] + WORD $0xc389 // mov ebx, eax + LONG $0x24648b4c; BYTE $0x30 // mov r12, qword [rsp + 48] + LONG $0x2444b60f; BYTE $0x0c // movzx eax, byte [rsp + 12] WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - WORD $0x8845; BYTE $0x2e // mov byte [r14], r13b - LONG $0x244cb60f; BYTE $0x0c // movzx ecx, byte [rsp + 12] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 + WORD $0xd808 // or al, bl + LONG $0x242c8845 // mov byte [r12], r13b + LONG $0x245cb60f; BYTE $0x0d // movzx ebx, byte [rsp + 13] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e1c041 // shl r9b, 7 - WORD $0x0841; BYTE $0xc9 // or r9b, cl - LONG $0x015e8841 // mov byte [r14 + 1], bl + WORD $0x0841; BYTE $0xd9 // or r9b, bl + LONG $0x247c8841; BYTE $0x01 // mov byte [r12 + 1], dil WORD $0x0841; BYTE $0xc1 // or r9b, al - LONG $0x2444b60f; BYTE $0x0d // movzx eax, byte [rsp + 13] - WORD $0xc000 // add al, al - LONG $0x13244402 // add al, byte [rsp + 19] - WORD $0xc189 // mov ecx, eax LONG $0x2444b60f; BYTE $0x0e // movzx eax, byte [rsp + 14] - WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xc000 // add al, al + LONG $0x14244402 // add al, byte [rsp + 20] + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x0f // movzx eax, byte [rsp + 15] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x11 // movzx eax, byte [rsp + 17] WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x12 // movzx eax, byte [rsp + 18] + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x13 // movzx eax, byte [rsp + 19] WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - LONG $0x244cb60f; BYTE $0x11 // movzx ecx, byte [rsp + 17] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 - LONG $0x07e7c040 // shl dil, 7 - WORD $0x0840; BYTE $0xcf // or dil, cl - WORD $0x0840; BYTE $0xc7 // or dil, al - LONG $0x024e8845 // mov byte [r14 + 2], r9b - LONG $0x037e8841 // mov byte [r14 + 3], dil + WORD $0xd808 // or al, bl + LONG $0x245cb60f; BYTE $0x12 // movzx ebx, byte [rsp + 18] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 + WORD $0xe1c0; BYTE $0x07 // shl cl, 7 + WORD $0xd908 // or cl, bl + WORD $0xc108 // or cl, al + LONG $0x244c8845; BYTE $0x02 // mov byte [r12 + 2], r9b + LONG $0x244c8841; BYTE $0x03 // mov byte [r12 + 3], cl LONG $0x80c28148; WORD $0x0000; BYTE $0x00 // add rdx, 128 - LONG $0x04c68349 // add r14, 4 - LONG $0x24448348; WORD $0xff38 // add qword [rsp + 56], -1 + LONG $0x04c48349 // add r12, 4 + LONG $0x24448348; WORD $0xff20 // add qword [rsp + 32], -1 JNE LBB0_96 - LONG $0x245c8b4c; BYTE $0x18 // mov r11, qword [rsp + 24] - LONG $0x247c8b4c; BYTE $0x40 // mov r15, qword [rsp + 64] + LONG $0x24748b4c; BYTE $0x18 // mov r14, qword [rsp + 24] + LONG $0x247c8b4c; BYTE $0x38 // mov r15, qword [rsp + 56] LBB0_98: LONG $0x05e7c149 // shl r15, 5 - WORD $0x394d; BYTE $0xdf // cmp r15, r11 + WORD $0x394d; BYTE $0xf7 // cmp r15, r14 JGE LBB0_123 - WORD $0x294d; BYTE $0xfb // sub r11, r15 + WORD $0x294d; BYTE $0xfe // sub r14, r15 WORD $0xc931 // xor ecx, ecx LBB0_100: @@ -2697,16 +2888,16 @@ LBB0_100: WORD $0xdbf6 // neg bl WORD $0x8948; BYTE $0xcf // mov rdi, rcx LONG $0x03efc148 // shr rdi, 3 - LONG $0x0cb60f45; BYTE $0x3e // movzx r9d, byte [r14 + rdi] + LONG $0x0cb60f45; BYTE $0x3c // movzx r9d, byte [r12 + rdi] WORD $0x3044; BYTE $0xcb // xor bl, r9b WORD $0xe180; BYTE $0x07 // and cl, 7 WORD $0x01b0 // mov al, 1 WORD $0xe0d2 // shl al, cl WORD $0xd820 // and al, bl WORD $0x3044; BYTE $0xc8 // xor al, r9b - LONG $0x3e048841 // mov byte [r14 + rdi], al + LONG $0x3c048841 // mov byte [r12 + rdi], al WORD $0x894c; BYTE $0xc1 // mov rcx, r8 - WORD $0x394d; BYTE $0xc3 // cmp r11, r8 + WORD $0x394d; BYTE $0xc6 // cmp r14, r8 JNE LBB0_100 LBB0_123: @@ -2768,7 +2959,7 @@ TEXT ·_comparison_equal_arr_scalar_avx2(SB), $1320-48 WORD $0xff83; BYTE $0x05 // cmp edi, 5 JE LBB1_57 WORD $0xff83; BYTE $0x06 // cmp edi, 6 - JNE LBB1_164 + JNE LBB1_165 WORD $0x8b44; BYTE $0x2a // mov r13d, dword [rdx] LONG $0x1f7a8d4d // lea r15, [r10 + 31] WORD $0x854d; BYTE $0xd2 // test r10, r10 @@ -2810,15 +3001,15 @@ LBB1_9: LONG $0x20fa8349 // cmp r10, 32 JL LBB1_101 QUAD $0x000001182494894c // mov qword [rsp + 280], r10 - QUAD $0x000000b024bc894c // mov qword [rsp + 176], r15 QUAD $0x000000a824bc894c // mov qword [rsp + 168], r15 + QUAD $0x000000b024bc894c // mov qword [rsp + 176], r15 QUAD $0x00000110249c894c // mov qword [rsp + 272], r11 LBB1_11: WORD $0x3944; BYTE $0x2e // cmp dword [rsi], r13d QUAD $0x000000982494940f // sete byte [rsp + 152] LONG $0x046e3944 // cmp dword [rsi + 4], r13d - LONG $0xd7940f40 // sete dil + LONG $0xd2940f41 // sete r10b LONG $0x086e3944 // cmp dword [rsi + 8], r13d LONG $0xd6940f41 // sete r14b LONG $0x0c6e3944 // cmp dword [rsi + 12], r13d @@ -2834,11 +3025,11 @@ LBB1_11: LONG $0x206e3944 // cmp dword [rsi + 32], r13d LONG $0x2454940f; BYTE $0x68 // sete byte [rsp + 104] LONG $0x246e3944 // cmp dword [rsi + 36], r13d - WORD $0x940f; BYTE $0xd2 // sete dl + LONG $0xd7940f40 // sete dil LONG $0x286e3944 // cmp dword [rsi + 40], r13d - LONG $0xd1940f41 // sete r9b + LONG $0xd0940f41 // sete r8b LONG $0x2c6e3944 // cmp dword [rsi + 44], r13d - LONG $0xd2940f41 // sete r10b + LONG $0xd1940f41 // sete r9b LONG $0x306e3944 // cmp dword [rsi + 48], r13d LONG $0xd3940f41 // sete r11b LONG $0x346e3944 // cmp dword [rsi + 52], r13d @@ -2878,67 +3069,68 @@ LBB1_11: LONG $0x786e3944 // cmp dword [rsi + 120], r13d LONG $0x2454940f; BYTE $0x1c // sete byte [rsp + 28] LONG $0x7c6e3944 // cmp dword [rsi + 124], r13d - LONG $0xd0940f41 // sete r8b - WORD $0x0040; BYTE $0xff // add dil, dil - QUAD $0x0000009824bc0240 // add dil, byte [rsp + 152] + WORD $0x940f; BYTE $0xd2 // sete dl + WORD $0x0045; BYTE $0xd2 // add r10b, r10b + QUAD $0x0000009824940244 // add r10b, byte [rsp + 152] WORD $0xe0c0; BYTE $0x06 // shl al, 6 WORD $0xe3c0; BYTE $0x07 // shl bl, 7 WORD $0xc308 // or bl, al LONG $0x02e6c041 // shl r14b, 2 - WORD $0x0841; BYTE $0xfe // or r14b, dil - WORD $0xd200 // add dl, dl - LONG $0x68245402 // add dl, byte [rsp + 104] + WORD $0x0845; BYTE $0xd6 // or r14b, r10b + WORD $0x0040; BYTE $0xff // add dil, dil + LONG $0x247c0240; BYTE $0x68 // add dil, byte [rsp + 104] QUAD $0x000000a02484b60f // movzx eax, byte [rsp + 160] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0x0844; BYTE $0xf0 // or al, r14b - LONG $0x02e1c041 // shl r9b, 2 - WORD $0x0841; BYTE $0xd1 // or r9b, dl - QUAD $0x000000882494b60f // movzx edx, byte [rsp + 136] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0xc208 // or dl, al - WORD $0xd789 // mov edi, edx - LONG $0x03e2c041 // shl r10b, 3 - WORD $0x0845; BYTE $0xca // or r10b, r9b - LONG $0x2454b60f; BYTE $0x58 // movzx edx, byte [rsp + 88] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xfa // or dl, dil + WORD $0x8941; BYTE $0xc2 // mov r10d, eax + LONG $0x02e0c041 // shl r8b, 2 + WORD $0x0841; BYTE $0xf8 // or r8b, dil + QUAD $0x000000882484b60f // movzx eax, byte [rsp + 136] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0844; BYTE $0xd0 // or al, r10b + WORD $0xc789 // mov edi, eax + LONG $0x03e1c041 // shl r9b, 3 + WORD $0x0845; BYTE $0xc1 // or r9b, r8b + LONG $0x2444b60f; BYTE $0x58 // movzx eax, byte [rsp + 88] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0x0840; BYTE $0xf8 // or al, dil LONG $0x04e3c041 // shl r11b, 4 - WORD $0x0845; BYTE $0xd3 // or r11b, r10b + WORD $0x0845; BYTE $0xcb // or r11b, r9b LONG $0x05e4c041 // shl r12b, 5 WORD $0x0845; BYTE $0xdc // or r12b, r11b LONG $0x247cb60f; BYTE $0x70 // movzx edi, byte [rsp + 112] LONG $0x06e7c040 // shl dil, 6 WORD $0xe1c0; BYTE $0x07 // shl cl, 7 WORD $0x0840; BYTE $0xf9 // or cl, dil - WORD $0xd308 // or bl, dl + WORD $0xc308 // or bl, al WORD $0x0844; BYTE $0xe1 // or cl, r12b - LONG $0x2454b60f; BYTE $0x78 // movzx edx, byte [rsp + 120] - WORD $0xd200 // add dl, dl - LONG $0x48245402 // add dl, byte [rsp + 72] - WORD $0xd789 // mov edi, edx - QUAD $0x000000802494b60f // movzx edx, byte [rsp + 128] - WORD $0xe2c0; BYTE $0x02 // shl dl, 2 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - QUAD $0x000000902494b60f // movzx edx, byte [rsp + 144] - WORD $0xe2c0; BYTE $0x03 // shl dl, 3 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x50 // movzx edx, byte [rsp + 80] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x60 // movzx edx, byte [rsp + 96] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - QUAD $0x0000011024948b48 // mov rdx, qword [rsp + 272] - WORD $0x1a88 // mov byte [rdx], bl + LONG $0x2444b60f; BYTE $0x78 // movzx eax, byte [rsp + 120] + WORD $0xc000 // add al, al + LONG $0x48244402 // add al, byte [rsp + 72] + WORD $0xc789 // mov edi, eax + QUAD $0x000000802484b60f // movzx eax, byte [rsp + 128] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + QUAD $0x000000902484b60f // movzx eax, byte [rsp + 144] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x50 // movzx eax, byte [rsp + 80] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x60 // movzx eax, byte [rsp + 96] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + QUAD $0x0000011024848b48 // mov rax, qword [rsp + 272] + WORD $0x1888 // mov byte [rax], bl LONG $0x245cb60f; BYTE $0x40 // movzx ebx, byte [rsp + 64] WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e7c041 // shl r15b, 7 WORD $0x0841; BYTE $0xdf // or r15b, bl - WORD $0x4a88; BYTE $0x01 // mov byte [rdx + 1], cl + WORD $0x4888; BYTE $0x01 // mov byte [rax + 1], cl WORD $0x0841; BYTE $0xff // or r15b, dil LONG $0x244cb60f; BYTE $0x30 // movzx ecx, byte [rsp + 48] WORD $0xc900 // add cl, cl @@ -2961,23 +3153,23 @@ LBB1_11: WORD $0xd908 // or cl, bl LONG $0x245cb60f; BYTE $0x1c // movzx ebx, byte [rsp + 28] WORD $0xe3c0; BYTE $0x06 // shl bl, 6 - LONG $0x07e0c041 // shl r8b, 7 - WORD $0x0841; BYTE $0xd8 // or r8b, bl - WORD $0x0841; BYTE $0xc8 // or r8b, cl - LONG $0x027a8844 // mov byte [rdx + 2], r15b - LONG $0x03428844 // mov byte [rdx + 3], r8b + WORD $0xe2c0; BYTE $0x07 // shl dl, 7 + WORD $0xda08 // or dl, bl + WORD $0xca08 // or dl, cl + LONG $0x02788844 // mov byte [rax + 2], r15b + WORD $0x5088; BYTE $0x03 // mov byte [rax + 3], dl LONG $0x80c68148; WORD $0x0000; BYTE $0x00 // add rsi, 128 - LONG $0x04c28348 // add rdx, 4 - QUAD $0x0000011024948948 // mov qword [rsp + 272], rdx - QUAD $0x000000a824848348; BYTE $0xff // add qword [rsp + 168], -1 + LONG $0x04c08348 // add rax, 4 + QUAD $0x0000011024848948 // mov qword [rsp + 272], rax + QUAD $0x000000b024848348; BYTE $0xff // add qword [rsp + 176], -1 JNE LBB1_11 QUAD $0x0000011024b48b4c // mov r14, qword [rsp + 272] QUAD $0x0000011824948b4c // mov r10, qword [rsp + 280] - QUAD $0x000000b024bc8b4c // mov r15, qword [rsp + 176] + QUAD $0x000000a824bc8b4c // mov r15, qword [rsp + 168] LONG $0x05e7c149 // shl r15, 5 WORD $0x394d; BYTE $0xd7 // cmp r15, r10 JL LBB1_102 - JMP LBB1_164 + JMP LBB1_165 LBB1_13: WORD $0xff83; BYTE $0x08 // cmp edi, 8 @@ -2987,7 +3179,7 @@ LBB1_13: WORD $0xff83; BYTE $0x0b // cmp edi, 11 JE LBB1_73 WORD $0xff83; BYTE $0x0c // cmp edi, 12 - JNE LBB1_164 + JNE LBB1_165 LONG $0x1f7a8d4d // lea r15, [r10 + 31] WORD $0x854d; BYTE $0xd2 // test r10, r10 LONG $0xfa490f4d // cmovns r15, r10 @@ -3003,7 +3195,9 @@ LBB1_13: LBB1_19: LONG $0x062ef9c5 // vucomisd xmm0, qword [rsi] LONG $0x08768d48 // lea rsi, [rsi + 8] + WORD $0x9b0f; BYTE $0xd1 // setnp cl WORD $0x940f; BYTE $0xd2 // sete dl + WORD $0xca20 // and dl, cl WORD $0xdaf6 // neg dl LONG $0x07788d48 // lea rdi, [rax + 7] WORD $0x8548; BYTE $0xc0 // test rax, rax @@ -3030,163 +3224,248 @@ LBB1_21: JL LBB1_105 QUAD $0x000001182494894c // mov qword [rsp + 280], r10 QUAD $0x000000a824bc894c // mov qword [rsp + 168], r15 - QUAD $0x0000009824bc894c // mov qword [rsp + 152], r15 + QUAD $0x000000b024bc894c // mov qword [rsp + 176], r15 QUAD $0x00000110249c894c // mov qword [rsp + 272], r11 LBB1_23: LONG $0x062ef9c5 // vucomisd xmm0, qword [rsi] - QUAD $0x000000a02494940f // sete byte [rsp + 160] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x20244c88 // mov byte [rsp + 32], cl LONG $0x462ef9c5; BYTE $0x08 // vucomisd xmm0, qword [rsi + 8] - LONG $0xd1940f41 // sete r9b + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd3 // sete bl + WORD $0xc320 // and bl, al LONG $0x462ef9c5; BYTE $0x10 // vucomisd xmm0, qword [rsi + 16] - LONG $0xd6940f41 // sete r14b - LONG $0x462ef9c5; BYTE $0x18 // vucomisd xmm0, qword [rsi + 24] + WORD $0x9b0f; BYTE $0xd0 // setnp al LONG $0xd5940f41 // sete r13b + WORD $0x2041; BYTE $0xc5 // and r13b, al + LONG $0x462ef9c5; BYTE $0x18 // vucomisd xmm0, qword [rsi + 24] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x40248c88; WORD $0x0001; BYTE $0x00 // mov byte [rsp + 320], cl LONG $0x462ef9c5; BYTE $0x20 // vucomisd xmm0, qword [rsi + 32] - QUAD $0x000000882494940f // sete byte [rsp + 136] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x20248c88; WORD $0x0001; BYTE $0x00 // mov byte [rsp + 288], cl LONG $0x462ef9c5; BYTE $0x28 // vucomisd xmm0, qword [rsi + 40] - LONG $0x2454940f; BYTE $0x58 // sete byte [rsp + 88] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd7940f40 // sete dil + WORD $0x2040; BYTE $0xc7 // and dil, al LONG $0x462ef9c5; BYTE $0x30 // vucomisd xmm0, qword [rsi + 48] - WORD $0x940f; BYTE $0xd0 // sete al + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x38244c88 // mov byte [rsp + 56], cl LONG $0x462ef9c5; BYTE $0x38 // vucomisd xmm0, qword [rsi + 56] - WORD $0x940f; BYTE $0xd3 // sete bl + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x1c244c88 // mov byte [rsp + 28], cl LONG $0x462ef9c5; BYTE $0x40 // vucomisd xmm0, qword [rsi + 64] - LONG $0x2454940f; BYTE $0x70 // sete byte [rsp + 112] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x28244c88 // mov byte [rsp + 40], cl LONG $0x462ef9c5; BYTE $0x48 // vucomisd xmm0, qword [rsi + 72] - WORD $0x940f; BYTE $0xd2 // sete dl + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x30244c88 // mov byte [rsp + 48], cl LONG $0x462ef9c5; BYTE $0x50 // vucomisd xmm0, qword [rsi + 80] - LONG $0xd7940f40 // sete dil + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x40244c88 // mov byte [rsp + 64], cl LONG $0x462ef9c5; BYTE $0x58 // vucomisd xmm0, qword [rsi + 88] - LONG $0xd2940f41 // sete r10b + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x60244c88 // mov byte [rsp + 96], cl LONG $0x462ef9c5; BYTE $0x60 // vucomisd xmm0, qword [rsi + 96] - LONG $0xd3940f41 // sete r11b + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x58244c88 // mov byte [rsp + 88], cl LONG $0x462ef9c5; BYTE $0x68 // vucomisd xmm0, qword [rsi + 104] - LONG $0xd4940f41 // sete r12b + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x50244c88 // mov byte [rsp + 80], cl LONG $0x462ef9c5; BYTE $0x70 // vucomisd xmm0, qword [rsi + 112] - LONG $0x2454940f; BYTE $0x78 // sete byte [rsp + 120] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd2 // sete dl + WORD $0xc220 // and dl, al LONG $0x462ef9c5; BYTE $0x78 // vucomisd xmm0, qword [rsi + 120] + WORD $0x9b0f; BYTE $0xd0 // setnp al WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x48244c88 // mov byte [rsp + 72], cl QUAD $0x00000080862ef9c5 // vucomisd xmm0, qword [rsi + 128] - LONG $0x2454940f; BYTE $0x48 // sete byte [rsp + 72] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x90248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 144], cl QUAD $0x00000088862ef9c5 // vucomisd xmm0, qword [rsi + 136] - LONG $0x2454940f; BYTE $0x68 // sete byte [rsp + 104] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x88248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 136], cl QUAD $0x00000090862ef9c5 // vucomisd xmm0, qword [rsi + 144] - QUAD $0x000000802494940f // sete byte [rsp + 128] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al QUAD $0x00000098862ef9c5 // vucomisd xmm0, qword [rsi + 152] - QUAD $0x000000902494940f // sete byte [rsp + 144] + LONG $0xd09b0f41 // setnp r8b + WORD $0x940f; BYTE $0xd0 // sete al + WORD $0x2044; BYTE $0xc0 // and al, r8b + LONG $0x80248488; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 128], al QUAD $0x000000a0862ef9c5 // vucomisd xmm0, qword [rsi + 160] - LONG $0x2454940f; BYTE $0x50 // sete byte [rsp + 80] + LONG $0xd09b0f41 // setnp r8b + WORD $0x940f; BYTE $0xd0 // sete al + WORD $0x2044; BYTE $0xc0 // and al, r8b + LONG $0x78244488 // mov byte [rsp + 120], al QUAD $0x000000a8862ef9c5 // vucomisd xmm0, qword [rsi + 168] - LONG $0x2454940f; BYTE $0x60 // sete byte [rsp + 96] + LONG $0xd09b0f41 // setnp r8b + WORD $0x940f; BYTE $0xd0 // sete al + WORD $0x2044; BYTE $0xc0 // and al, r8b + LONG $0x68244488 // mov byte [rsp + 104], al QUAD $0x000000b0862ef9c5 // vucomisd xmm0, qword [rsi + 176] - LONG $0x2454940f; BYTE $0x40 // sete byte [rsp + 64] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd4940f41 // sete r12b + WORD $0x2041; BYTE $0xc4 // and r12b, al QUAD $0x000000b8862ef9c5 // vucomisd xmm0, qword [rsi + 184] - LONG $0xd7940f41 // sete r15b + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd2940f41 // sete r10b + WORD $0x2041; BYTE $0xc2 // and r10b, al QUAD $0x000000c0862ef9c5 // vucomisd xmm0, qword [rsi + 192] - LONG $0x2454940f; BYTE $0x20 // sete byte [rsp + 32] + LONG $0xd09b0f41 // setnp r8b + WORD $0x940f; BYTE $0xd0 // sete al + WORD $0x2044; BYTE $0xc0 // and al, r8b + LONG $0x70244488 // mov byte [rsp + 112], al QUAD $0x000000c8862ef9c5 // vucomisd xmm0, qword [rsi + 200] - LONG $0x2454940f; BYTE $0x30 // sete byte [rsp + 48] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd7940f41 // sete r15b + WORD $0x2041; BYTE $0xc7 // and r15b, al QUAD $0x000000d0862ef9c5 // vucomisd xmm0, qword [rsi + 208] - LONG $0x2454940f; BYTE $0x38 // sete byte [rsp + 56] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd6940f41 // sete r14b + WORD $0x2041; BYTE $0xc6 // and r14b, al QUAD $0x000000d8862ef9c5 // vucomisd xmm0, qword [rsi + 216] - LONG $0x2454940f; BYTE $0x28 // sete byte [rsp + 40] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd3940f41 // sete r11b + WORD $0x2041; BYTE $0xc3 // and r11b, al QUAD $0x000000e0862ef9c5 // vucomisd xmm0, qword [rsi + 224] - QUAD $0x000001402494940f // sete byte [rsp + 320] + LONG $0xd09b0f41 // setnp r8b + WORD $0x940f; BYTE $0xd0 // sete al + WORD $0x2044; BYTE $0xc0 // and al, r8b + LONG $0xa0248488; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 160], al QUAD $0x000000e8862ef9c5 // vucomisd xmm0, qword [rsi + 232] - QUAD $0x000001202494940f // sete byte [rsp + 288] + LONG $0xd09b0f41 // setnp r8b + WORD $0x940f; BYTE $0xd0 // sete al + WORD $0x2044; BYTE $0xc0 // and al, r8b + LONG $0x98248488; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 152], al QUAD $0x000000f0862ef9c5 // vucomisd xmm0, qword [rsi + 240] - LONG $0x2454940f; BYTE $0x1c // sete byte [rsp + 28] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd1940f41 // sete r9b + WORD $0x2041; BYTE $0xc1 // and r9b, al QUAD $0x000000f8862ef9c5 // vucomisd xmm0, qword [rsi + 248] + WORD $0x9b0f; BYTE $0xd0 // setnp al LONG $0xd0940f41 // sete r8b - WORD $0x0045; BYTE $0xc9 // add r9b, r9b - QUAD $0x000000a0248c0244 // add r9b, byte [rsp + 160] + WORD $0x2041; BYTE $0xc0 // and r8b, al + WORD $0xdb00 // add bl, bl + LONG $0x20245c02 // add bl, byte [rsp + 32] + LONG $0x05e7c040 // shl dil, 5 + LONG $0x2444b60f; BYTE $0x38 // movzx eax, byte [rsp + 56] WORD $0xe0c0; BYTE $0x06 // shl al, 6 - WORD $0xe3c0; BYTE $0x07 // shl bl, 7 - WORD $0xc308 // or bl, al - LONG $0x02e6c041 // shl r14b, 2 - WORD $0x0845; BYTE $0xce // or r14b, r9b - WORD $0xd200 // add dl, dl - LONG $0x70245402 // add dl, byte [rsp + 112] - LONG $0x03e5c041 // shl r13b, 3 - WORD $0x0845; BYTE $0xf5 // or r13b, r14b - LONG $0x02e7c040 // shl dil, 2 - WORD $0x0840; BYTE $0xd7 // or dil, dl - QUAD $0x000000882494b60f // movzx edx, byte [rsp + 136] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0x0844; BYTE $0xea // or dl, r13b - WORD $0x8941; BYTE $0xd1 // mov r9d, edx - LONG $0x03e2c041 // shl r10b, 3 - WORD $0x0841; BYTE $0xfa // or r10b, dil - LONG $0x2454b60f; BYTE $0x58 // movzx edx, byte [rsp + 88] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0844; BYTE $0xca // or dl, r9b - LONG $0x04e3c041 // shl r11b, 4 - WORD $0x0845; BYTE $0xd3 // or r11b, r10b - LONG $0x05e4c041 // shl r12b, 5 - WORD $0x0845; BYTE $0xdc // or r12b, r11b - LONG $0x247cb60f; BYTE $0x78 // movzx edi, byte [rsp + 120] - LONG $0x06e7c040 // shl dil, 6 - WORD $0xe1c0; BYTE $0x07 // shl cl, 7 - WORD $0x0840; BYTE $0xf9 // or cl, dil - WORD $0xd308 // or bl, dl - WORD $0x0844; BYTE $0xe1 // or cl, r12b - LONG $0x2444b60f; BYTE $0x68 // movzx eax, byte [rsp + 104] + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x02e5c041 // shl r13b, 2 + WORD $0x0841; BYTE $0xdd // or r13b, bl + LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] WORD $0xc000 // add al, al - LONG $0x48244402 // add al, byte [rsp + 72] + LONG $0x28244402 // add al, byte [rsp + 40] + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x1c // movzx eax, byte [rsp + 28] + WORD $0xe0c0; BYTE $0x07 // shl al, 7 + WORD $0x0840; BYTE $0xf8 // or al, dil + LONG $0x1c244488 // mov byte [rsp + 28], al + LONG $0x2444b60f; BYTE $0x40 // movzx eax, byte [rsp + 64] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + QUAD $0x000001402484b60f // movzx eax, byte [rsp + 320] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0x0844; BYTE $0xe8 // or al, r13b + WORD $0x8941; BYTE $0xc5 // mov r13d, eax + LONG $0x2444b60f; BYTE $0x60 // movzx eax, byte [rsp + 96] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0xd808 // or al, bl + WORD $0xc789 // mov edi, eax + QUAD $0x000001202484b60f // movzx eax, byte [rsp + 288] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0844; BYTE $0xe8 // or al, r13b + LONG $0x245cb60f; BYTE $0x58 // movzx ebx, byte [rsp + 88] + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0x0840; BYTE $0xfb // or bl, dil + LONG $0x247cb60f; BYTE $0x50 // movzx edi, byte [rsp + 80] + LONG $0x05e7c040 // shl dil, 5 + WORD $0xe2c0; BYTE $0x06 // shl dl, 6 + WORD $0x0840; BYTE $0xfa // or dl, dil + LONG $0x6cb60f44; WORD $0x4824 // movzx r13d, byte [rsp + 72] + LONG $0x07e5c041 // shl r13b, 7 + WORD $0x0841; BYTE $0xd5 // or r13b, dl + QUAD $0x000000882494b60f // movzx edx, byte [rsp + 136] + WORD $0xd200 // add dl, dl + LONG $0x90249402; WORD $0x0000; BYTE $0x00 // add dl, byte [rsp + 144] + WORD $0xe1c0; BYTE $0x02 // shl cl, 2 + WORD $0xd108 // or cl, dl QUAD $0x000000802494b60f // movzx edx, byte [rsp + 128] - WORD $0xe2c0; BYTE $0x02 // shl dl, 2 - WORD $0xc208 // or dl, al - WORD $0xd789 // mov edi, edx - QUAD $0x000000902494b60f // movzx edx, byte [rsp + 144] WORD $0xe2c0; BYTE $0x03 // shl dl, 3 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x50 // movzx edx, byte [rsp + 80] + WORD $0xca08 // or dl, cl + WORD $0xd189 // mov ecx, edx + LONG $0x2454b60f; BYTE $0x78 // movzx edx, byte [rsp + 120] WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x60 // movzx edx, byte [rsp + 96] + WORD $0xca08 // or dl, cl + LONG $0x244cb60f; BYTE $0x1c // movzx ecx, byte [rsp + 28] + WORD $0xc108 // or cl, al + LONG $0x2444b60f; BYTE $0x68 // movzx eax, byte [rsp + 104] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + LONG $0x06e4c041 // shl r12b, 6 + WORD $0x0841; BYTE $0xc4 // or r12b, al + WORD $0x0841; BYTE $0xdd // or r13b, bl + LONG $0x07e2c041 // shl r10b, 7 + WORD $0x0845; BYTE $0xe2 // or r10b, r12b + WORD $0x0841; BYTE $0xd2 // or r10b, dl + WORD $0x0045; BYTE $0xff // add r15b, r15b + LONG $0x247c0244; BYTE $0x70 // add r15b, byte [rsp + 112] + LONG $0x02e6c041 // shl r14b, 2 + WORD $0x0845; BYTE $0xfe // or r14b, r15b + LONG $0x03e3c041 // shl r11b, 3 + WORD $0x0845; BYTE $0xf3 // or r11b, r14b + QUAD $0x000000a02484b60f // movzx eax, byte [rsp + 160] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0844; BYTE $0xd8 // or al, r11b + WORD $0xc389 // mov ebx, eax + QUAD $0x0000011024848b48 // mov rax, qword [rsp + 272] + WORD $0x0888 // mov byte [rax], cl + QUAD $0x000000982494b60f // movzx edx, byte [rsp + 152] WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - QUAD $0x0000011024948b48 // mov rdx, qword [rsp + 272] - WORD $0x1a88 // mov byte [rdx], bl - LONG $0x245cb60f; BYTE $0x40 // movzx ebx, byte [rsp + 64] - WORD $0xe3c0; BYTE $0x06 // shl bl, 6 - LONG $0x07e7c041 // shl r15b, 7 - WORD $0x0841; BYTE $0xdf // or r15b, bl - WORD $0x4a88; BYTE $0x01 // mov byte [rdx + 1], cl - WORD $0x0841; BYTE $0xff // or r15b, dil - LONG $0x244cb60f; BYTE $0x30 // movzx ecx, byte [rsp + 48] - WORD $0xc900 // add cl, cl - LONG $0x20244c02 // add cl, byte [rsp + 32] - WORD $0xcb89 // mov ebx, ecx - LONG $0x244cb60f; BYTE $0x38 // movzx ecx, byte [rsp + 56] - WORD $0xe1c0; BYTE $0x02 // shl cl, 2 - WORD $0xd908 // or cl, bl - WORD $0xcb89 // mov ebx, ecx - LONG $0x244cb60f; BYTE $0x28 // movzx ecx, byte [rsp + 40] - WORD $0xe1c0; BYTE $0x03 // shl cl, 3 - WORD $0xd908 // or cl, bl - WORD $0xcb89 // mov ebx, ecx - QUAD $0x00000140248cb60f // movzx ecx, byte [rsp + 320] - WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0xd908 // or cl, bl - WORD $0xcb89 // mov ebx, ecx - QUAD $0x00000120248cb60f // movzx ecx, byte [rsp + 288] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0xd908 // or cl, bl - LONG $0x245cb60f; BYTE $0x1c // movzx ebx, byte [rsp + 28] - WORD $0xe3c0; BYTE $0x06 // shl bl, 6 + LONG $0x06e1c041 // shl r9b, 6 + WORD $0x0841; BYTE $0xd1 // or r9b, dl + LONG $0x01688844 // mov byte [rax + 1], r13b LONG $0x07e0c041 // shl r8b, 7 + WORD $0x0845; BYTE $0xc8 // or r8b, r9b WORD $0x0841; BYTE $0xd8 // or r8b, bl - WORD $0x0841; BYTE $0xc8 // or r8b, cl - LONG $0x027a8844 // mov byte [rdx + 2], r15b - LONG $0x03428844 // mov byte [rdx + 3], r8b + LONG $0x02508844 // mov byte [rax + 2], r10b + LONG $0x03408844 // mov byte [rax + 3], r8b LONG $0x00c68148; WORD $0x0001; BYTE $0x00 // add rsi, 256 - LONG $0x04c28348 // add rdx, 4 - QUAD $0x0000011024948948 // mov qword [rsp + 272], rdx - QUAD $0x0000009824848348; BYTE $0xff // add qword [rsp + 152], -1 + LONG $0x04c08348 // add rax, 4 + QUAD $0x0000011024848948 // mov qword [rsp + 272], rax + QUAD $0x000000b024848348; BYTE $0xff // add qword [rsp + 176], -1 JNE LBB1_23 QUAD $0x0000011024b48b4c // mov r14, qword [rsp + 272] QUAD $0x0000011824948b4c // mov r10, qword [rsp + 280] @@ -3194,13 +3473,13 @@ LBB1_23: LONG $0x05e7c149 // shl r15, 5 WORD $0x394d; BYTE $0xd7 // cmp r15, r10 JL LBB1_106 - JMP LBB1_164 + JMP LBB1_165 LBB1_25: WORD $0xff83; BYTE $0x02 // cmp edi, 2 JE LBB1_81 WORD $0xff83; BYTE $0x03 // cmp edi, 3 - JNE LBB1_164 + JNE LBB1_165 WORD $0x8a44; BYTE $0x32 // mov r14b, byte [rdx] LONG $0x1f6a8d4d // lea r13, [r10 + 31] WORD $0x854d; BYTE $0xd2 // test r10, r10 @@ -3251,10 +3530,10 @@ LBB1_31: LONG $0x05e0c148 // shl rax, 5 WORD $0x0148; BYTE $0xf0 // add rax, rsi WORD $0x3949; BYTE $0xc3 // cmp r11, rax - JAE LBB1_165 + JAE LBB1_166 LONG $0xab048d4b // lea rax, [r11 + 4*r13] WORD $0x3948; BYTE $0xc6 // cmp rsi, rax - JAE LBB1_165 + JAE LBB1_166 LBB1_35: WORD $0xc031 // xor eax, eax @@ -3438,7 +3717,7 @@ LBB1_39: WORD $0xff83; BYTE $0x07 // cmp edi, 7 JE LBB1_93 WORD $0xff83; BYTE $0x08 // cmp edi, 8 - JNE LBB1_164 + JNE LBB1_165 WORD $0x8b4c; BYTE $0x2a // mov r13, qword [rdx] LONG $0x1f7a8d4d // lea r15, [r10 + 31] WORD $0x854d; BYTE $0xd2 // test r10, r10 @@ -3480,15 +3759,15 @@ LBB1_45: LONG $0x20fa8349 // cmp r10, 32 JL LBB1_112 QUAD $0x000001182494894c // mov qword [rsp + 280], r10 - QUAD $0x000000b024bc894c // mov qword [rsp + 176], r15 QUAD $0x000000a824bc894c // mov qword [rsp + 168], r15 + QUAD $0x000000b024bc894c // mov qword [rsp + 176], r15 LBB1_47: QUAD $0x00000110249c894c // mov qword [rsp + 272], r11 WORD $0x394c; BYTE $0x2e // cmp qword [rsi], r13 QUAD $0x000000982494940f // sete byte [rsp + 152] LONG $0x086e394c // cmp qword [rsi + 8], r13 - LONG $0xd7940f40 // sete dil + LONG $0xd2940f41 // sete r10b LONG $0x106e394c // cmp qword [rsi + 16], r13 LONG $0xd6940f41 // sete r14b LONG $0x186e394c // cmp qword [rsi + 24], r13 @@ -3504,11 +3783,11 @@ LBB1_47: LONG $0x406e394c // cmp qword [rsi + 64], r13 LONG $0x2454940f; BYTE $0x68 // sete byte [rsp + 104] LONG $0x486e394c // cmp qword [rsi + 72], r13 - WORD $0x940f; BYTE $0xd2 // sete dl + LONG $0xd7940f40 // sete dil LONG $0x506e394c // cmp qword [rsi + 80], r13 - LONG $0xd1940f41 // sete r9b + LONG $0xd0940f41 // sete r8b LONG $0x586e394c // cmp qword [rsi + 88], r13 - LONG $0xd2940f41 // sete r10b + LONG $0xd1940f41 // sete r9b LONG $0x606e394c // cmp qword [rsi + 96], r13 LONG $0xd3940f41 // sete r11b LONG $0x686e394c // cmp qword [rsi + 104], r13 @@ -3548,32 +3827,33 @@ LBB1_47: LONG $0xf0ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 240], r13 LONG $0x2454940f; BYTE $0x1c // sete byte [rsp + 28] LONG $0xf8ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 248], r13 - LONG $0xd0940f41 // sete r8b - WORD $0x0040; BYTE $0xff // add dil, dil - QUAD $0x0000009824bc0240 // add dil, byte [rsp + 152] + WORD $0x940f; BYTE $0xd2 // sete dl + WORD $0x0045; BYTE $0xd2 // add r10b, r10b + QUAD $0x0000009824940244 // add r10b, byte [rsp + 152] WORD $0xe0c0; BYTE $0x06 // shl al, 6 WORD $0xe3c0; BYTE $0x07 // shl bl, 7 WORD $0xc308 // or bl, al LONG $0x02e6c041 // shl r14b, 2 - WORD $0x0841; BYTE $0xfe // or r14b, dil - WORD $0xd200 // add dl, dl - LONG $0x68245402 // add dl, byte [rsp + 104] + WORD $0x0845; BYTE $0xd6 // or r14b, r10b + WORD $0x0040; BYTE $0xff // add dil, dil + LONG $0x247c0240; BYTE $0x68 // add dil, byte [rsp + 104] QUAD $0x000000a02484b60f // movzx eax, byte [rsp + 160] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0x0844; BYTE $0xf0 // or al, r14b - LONG $0x02e1c041 // shl r9b, 2 - WORD $0x0841; BYTE $0xd1 // or r9b, dl - QUAD $0x000000882494b60f // movzx edx, byte [rsp + 136] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0xc208 // or dl, al - WORD $0xd789 // mov edi, edx - LONG $0x03e2c041 // shl r10b, 3 - WORD $0x0845; BYTE $0xca // or r10b, r9b - LONG $0x2454b60f; BYTE $0x58 // movzx edx, byte [rsp + 88] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xfa // or dl, dil + WORD $0x8941; BYTE $0xc2 // mov r10d, eax + LONG $0x02e0c041 // shl r8b, 2 + WORD $0x0841; BYTE $0xf8 // or r8b, dil + QUAD $0x000000882484b60f // movzx eax, byte [rsp + 136] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0844; BYTE $0xd0 // or al, r10b + WORD $0xc789 // mov edi, eax + LONG $0x03e1c041 // shl r9b, 3 + WORD $0x0845; BYTE $0xc1 // or r9b, r8b + LONG $0x2444b60f; BYTE $0x58 // movzx eax, byte [rsp + 88] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0x0840; BYTE $0xf8 // or al, dil LONG $0x04e3c041 // shl r11b, 4 - WORD $0x0845; BYTE $0xd3 // or r11b, r10b + WORD $0x0845; BYTE $0xcb // or r11b, r9b LONG $0x05e4c041 // shl r12b, 5 WORD $0x0845; BYTE $0xdc // or r12b, r11b QUAD $0x00000110249c8b4c // mov r11, qword [rsp + 272] @@ -3581,71 +3861,71 @@ LBB1_47: LONG $0x06e7c040 // shl dil, 6 WORD $0xe1c0; BYTE $0x07 // shl cl, 7 WORD $0x0840; BYTE $0xf9 // or cl, dil - WORD $0xd308 // or bl, dl + WORD $0xc308 // or bl, al WORD $0x0844; BYTE $0xe1 // or cl, r12b - LONG $0x2454b60f; BYTE $0x78 // movzx edx, byte [rsp + 120] - WORD $0xd200 // add dl, dl - LONG $0x48245402 // add dl, byte [rsp + 72] - WORD $0xd789 // mov edi, edx - QUAD $0x000000802494b60f // movzx edx, byte [rsp + 128] - WORD $0xe2c0; BYTE $0x02 // shl dl, 2 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - QUAD $0x000000902494b60f // movzx edx, byte [rsp + 144] - WORD $0xe2c0; BYTE $0x03 // shl dl, 3 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x50 // movzx edx, byte [rsp + 80] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x60 // movzx edx, byte [rsp + 96] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xfa // or dl, dil + LONG $0x2444b60f; BYTE $0x78 // movzx eax, byte [rsp + 120] + WORD $0xc000 // add al, al + LONG $0x48244402 // add al, byte [rsp + 72] + WORD $0xc789 // mov edi, eax + QUAD $0x000000802484b60f // movzx eax, byte [rsp + 128] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + QUAD $0x000000902484b60f // movzx eax, byte [rsp + 144] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x50 // movzx eax, byte [rsp + 80] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x60 // movzx eax, byte [rsp + 96] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0x0840; BYTE $0xf8 // or al, dil WORD $0x8841; BYTE $0x1b // mov byte [r11], bl LONG $0x245cb60f; BYTE $0x40 // movzx ebx, byte [rsp + 64] WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e7c041 // shl r15b, 7 WORD $0x0841; BYTE $0xdf // or r15b, bl LONG $0x014b8841 // mov byte [r11 + 1], cl - WORD $0x0841; BYTE $0xd7 // or r15b, dl - LONG $0x244cb60f; BYTE $0x30 // movzx ecx, byte [rsp + 48] - WORD $0xc900 // add cl, cl - LONG $0x20244c02 // add cl, byte [rsp + 32] - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x38 // movzx ecx, byte [rsp + 56] - WORD $0xe1c0; BYTE $0x02 // shl cl, 2 - WORD $0xd108 // or cl, dl - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x28 // movzx ecx, byte [rsp + 40] - WORD $0xe1c0; BYTE $0x03 // shl cl, 3 - WORD $0xd108 // or cl, dl - WORD $0xca89 // mov edx, ecx - QUAD $0x00000140248cb60f // movzx ecx, byte [rsp + 320] - WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0xd108 // or cl, dl - WORD $0xca89 // mov edx, ecx - QUAD $0x00000120248cb60f // movzx ecx, byte [rsp + 288] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0xd108 // or cl, dl - LONG $0x2454b60f; BYTE $0x1c // movzx edx, byte [rsp + 28] - WORD $0xe2c0; BYTE $0x06 // shl dl, 6 - LONG $0x07e0c041 // shl r8b, 7 - WORD $0x0841; BYTE $0xd0 // or r8b, dl - WORD $0x0841; BYTE $0xc8 // or r8b, cl + WORD $0x0841; BYTE $0xc7 // or r15b, al + LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] + WORD $0xc000 // add al, al + LONG $0x20244402 // add al, byte [rsp + 32] + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x38 // movzx eax, byte [rsp + 56] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax + QUAD $0x000001402484b60f // movzx eax, byte [rsp + 320] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax + QUAD $0x000001202484b60f // movzx eax, byte [rsp + 288] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0xc808 // or al, cl + LONG $0x244cb60f; BYTE $0x1c // movzx ecx, byte [rsp + 28] + WORD $0xe1c0; BYTE $0x06 // shl cl, 6 + WORD $0xe2c0; BYTE $0x07 // shl dl, 7 + WORD $0xca08 // or dl, cl + WORD $0xc208 // or dl, al LONG $0x027b8845 // mov byte [r11 + 2], r15b - LONG $0x03438845 // mov byte [r11 + 3], r8b + LONG $0x03538841 // mov byte [r11 + 3], dl LONG $0x00c68148; WORD $0x0001; BYTE $0x00 // add rsi, 256 LONG $0x04c38349 // add r11, 4 - QUAD $0x000000a824848348; BYTE $0xff // add qword [rsp + 168], -1 + QUAD $0x000000b024848348; BYTE $0xff // add qword [rsp + 176], -1 JNE LBB1_47 WORD $0x894d; BYTE $0xde // mov r14, r11 QUAD $0x0000011824948b4c // mov r10, qword [rsp + 280] - QUAD $0x000000b024bc8b4c // mov r15, qword [rsp + 176] + QUAD $0x000000a824bc8b4c // mov r15, qword [rsp + 168] LONG $0x05e7c149 // shl r15, 5 WORD $0x394d; BYTE $0xd7 // cmp r15, r10 JL LBB1_113 - JMP LBB1_164 + JMP LBB1_165 LBB1_49: LONG $0x2ab70f44 // movzx r13d, word [rdx] @@ -3689,15 +3969,15 @@ LBB1_53: LONG $0x20fa8349 // cmp r10, 32 JL LBB1_116 QUAD $0x000001182494894c // mov qword [rsp + 280], r10 - QUAD $0x000000b024bc894c // mov qword [rsp + 176], r15 QUAD $0x000000a824bc894c // mov qword [rsp + 168], r15 + QUAD $0x000000b024bc894c // mov qword [rsp + 176], r15 QUAD $0x00000110249c894c // mov qword [rsp + 272], r11 LBB1_55: LONG $0x2e394466 // cmp word [rsi], r13w WORD $0x940f; BYTE $0xd0 // sete al LONG $0x6e394466; BYTE $0x02 // cmp word [rsi + 2], r13w - LONG $0xd7940f40 // sete dil + LONG $0xd2940f41 // sete r10b LONG $0x6e394466; BYTE $0x04 // cmp word [rsi + 4], r13w LONG $0xd6940f41 // sete r14b LONG $0x6e394466; BYTE $0x06 // cmp word [rsi + 6], r13w @@ -3713,11 +3993,11 @@ LBB1_55: LONG $0x6e394466; BYTE $0x10 // cmp word [rsi + 16], r13w LONG $0x2454940f; BYTE $0x70 // sete byte [rsp + 112] LONG $0x6e394466; BYTE $0x12 // cmp word [rsi + 18], r13w - WORD $0x940f; BYTE $0xd2 // sete dl + LONG $0xd7940f40 // sete dil LONG $0x6e394466; BYTE $0x14 // cmp word [rsi + 20], r13w - LONG $0xd1940f41 // sete r9b + LONG $0xd0940f41 // sete r8b LONG $0x6e394466; BYTE $0x16 // cmp word [rsi + 22], r13w - LONG $0xd2940f41 // sete r10b + LONG $0xd1940f41 // sete r9b LONG $0x6e394466; BYTE $0x18 // cmp word [rsi + 24], r13w LONG $0xd3940f41 // sete r11b LONG $0x6e394466; BYTE $0x1a // cmp word [rsi + 26], r13w @@ -3757,68 +4037,69 @@ LBB1_55: LONG $0x6e394466; BYTE $0x3c // cmp word [rsi + 60], r13w LONG $0x2454940f; BYTE $0x1c // sete byte [rsp + 28] LONG $0x6e394466; BYTE $0x3e // cmp word [rsi + 62], r13w - LONG $0xd0940f41 // sete r8b - WORD $0x0040; BYTE $0xff // add dil, dil - WORD $0x0840; BYTE $0xc7 // or dil, al + WORD $0x940f; BYTE $0xd2 // sete dl + WORD $0x0045; BYTE $0xd2 // add r10b, r10b + WORD $0x0841; BYTE $0xc2 // or r10b, al QUAD $0x000000982484b60f // movzx eax, byte [rsp + 152] WORD $0xe0c0; BYTE $0x06 // shl al, 6 WORD $0xe3c0; BYTE $0x07 // shl bl, 7 WORD $0xc308 // or bl, al LONG $0x02e6c041 // shl r14b, 2 - WORD $0x0841; BYTE $0xfe // or r14b, dil - WORD $0xd200 // add dl, dl - LONG $0x70245402 // add dl, byte [rsp + 112] + WORD $0x0845; BYTE $0xd6 // or r14b, r10b + WORD $0x0040; BYTE $0xff // add dil, dil + LONG $0x247c0240; BYTE $0x70 // add dil, byte [rsp + 112] QUAD $0x000000a02484b60f // movzx eax, byte [rsp + 160] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0x0844; BYTE $0xf0 // or al, r14b - LONG $0x02e1c041 // shl r9b, 2 - WORD $0x0841; BYTE $0xd1 // or r9b, dl - QUAD $0x000000882494b60f // movzx edx, byte [rsp + 136] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0xc208 // or dl, al - WORD $0xd789 // mov edi, edx - LONG $0x03e2c041 // shl r10b, 3 - WORD $0x0845; BYTE $0xca // or r10b, r9b - LONG $0x2454b60f; BYTE $0x58 // movzx edx, byte [rsp + 88] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xfa // or dl, dil + WORD $0x8941; BYTE $0xc2 // mov r10d, eax + LONG $0x02e0c041 // shl r8b, 2 + WORD $0x0841; BYTE $0xf8 // or r8b, dil + QUAD $0x000000882484b60f // movzx eax, byte [rsp + 136] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0844; BYTE $0xd0 // or al, r10b + WORD $0xc789 // mov edi, eax + LONG $0x03e1c041 // shl r9b, 3 + WORD $0x0845; BYTE $0xc1 // or r9b, r8b + LONG $0x2444b60f; BYTE $0x58 // movzx eax, byte [rsp + 88] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0x0840; BYTE $0xf8 // or al, dil LONG $0x04e3c041 // shl r11b, 4 - WORD $0x0845; BYTE $0xd3 // or r11b, r10b + WORD $0x0845; BYTE $0xcb // or r11b, r9b LONG $0x05e4c041 // shl r12b, 5 WORD $0x0845; BYTE $0xdc // or r12b, r11b LONG $0x247cb60f; BYTE $0x68 // movzx edi, byte [rsp + 104] LONG $0x06e7c040 // shl dil, 6 WORD $0xe1c0; BYTE $0x07 // shl cl, 7 WORD $0x0840; BYTE $0xf9 // or cl, dil - WORD $0xd308 // or bl, dl + WORD $0xc308 // or bl, al WORD $0x0844; BYTE $0xe1 // or cl, r12b - LONG $0x2454b60f; BYTE $0x78 // movzx edx, byte [rsp + 120] - WORD $0xd200 // add dl, dl - LONG $0x48245402 // add dl, byte [rsp + 72] - WORD $0xd789 // mov edi, edx - QUAD $0x000000802494b60f // movzx edx, byte [rsp + 128] - WORD $0xe2c0; BYTE $0x02 // shl dl, 2 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - QUAD $0x000000902494b60f // movzx edx, byte [rsp + 144] - WORD $0xe2c0; BYTE $0x03 // shl dl, 3 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x50 // movzx edx, byte [rsp + 80] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x60 // movzx edx, byte [rsp + 96] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - QUAD $0x0000011024948b48 // mov rdx, qword [rsp + 272] - WORD $0x1a88 // mov byte [rdx], bl + LONG $0x2444b60f; BYTE $0x78 // movzx eax, byte [rsp + 120] + WORD $0xc000 // add al, al + LONG $0x48244402 // add al, byte [rsp + 72] + WORD $0xc789 // mov edi, eax + QUAD $0x000000802484b60f // movzx eax, byte [rsp + 128] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + QUAD $0x000000902484b60f // movzx eax, byte [rsp + 144] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x50 // movzx eax, byte [rsp + 80] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x60 // movzx eax, byte [rsp + 96] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + QUAD $0x0000011024848b48 // mov rax, qword [rsp + 272] + WORD $0x1888 // mov byte [rax], bl LONG $0x245cb60f; BYTE $0x40 // movzx ebx, byte [rsp + 64] WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e7c041 // shl r15b, 7 WORD $0x0841; BYTE $0xdf // or r15b, bl - WORD $0x4a88; BYTE $0x01 // mov byte [rdx + 1], cl + WORD $0x4888; BYTE $0x01 // mov byte [rax + 1], cl WORD $0x0841; BYTE $0xff // or r15b, dil LONG $0x244cb60f; BYTE $0x30 // movzx ecx, byte [rsp + 48] WORD $0xc900 // add cl, cl @@ -3841,23 +4122,23 @@ LBB1_55: WORD $0xd908 // or cl, bl LONG $0x245cb60f; BYTE $0x1c // movzx ebx, byte [rsp + 28] WORD $0xe3c0; BYTE $0x06 // shl bl, 6 - LONG $0x07e0c041 // shl r8b, 7 - WORD $0x0841; BYTE $0xd8 // or r8b, bl - WORD $0x0841; BYTE $0xc8 // or r8b, cl - LONG $0x027a8844 // mov byte [rdx + 2], r15b - LONG $0x03428844 // mov byte [rdx + 3], r8b + WORD $0xe2c0; BYTE $0x07 // shl dl, 7 + WORD $0xda08 // or dl, bl + WORD $0xca08 // or dl, cl + LONG $0x02788844 // mov byte [rax + 2], r15b + WORD $0x5088; BYTE $0x03 // mov byte [rax + 3], dl LONG $0x40c68348 // add rsi, 64 - LONG $0x04c28348 // add rdx, 4 - QUAD $0x0000011024948948 // mov qword [rsp + 272], rdx - QUAD $0x000000a824848348; BYTE $0xff // add qword [rsp + 168], -1 + LONG $0x04c08348 // add rax, 4 + QUAD $0x0000011024848948 // mov qword [rsp + 272], rax + QUAD $0x000000b024848348; BYTE $0xff // add qword [rsp + 176], -1 JNE LBB1_55 QUAD $0x0000011024b48b4c // mov r14, qword [rsp + 272] QUAD $0x0000011824948b4c // mov r10, qword [rsp + 280] - QUAD $0x000000b024bc8b4c // mov r15, qword [rsp + 176] + QUAD $0x000000a824bc8b4c // mov r15, qword [rsp + 168] LONG $0x05e7c149 // shl r15, 5 WORD $0x394d; BYTE $0xd7 // cmp r15, r10 JL LBB1_117 - JMP LBB1_164 + JMP LBB1_165 LBB1_57: LONG $0x2ab70f44 // movzx r13d, word [rdx] @@ -3901,15 +4182,15 @@ LBB1_61: LONG $0x20fa8349 // cmp r10, 32 JL LBB1_120 QUAD $0x000001182494894c // mov qword [rsp + 280], r10 - QUAD $0x000000b024bc894c // mov qword [rsp + 176], r15 QUAD $0x000000a824bc894c // mov qword [rsp + 168], r15 + QUAD $0x000000b024bc894c // mov qword [rsp + 176], r15 QUAD $0x00000110249c894c // mov qword [rsp + 272], r11 LBB1_63: LONG $0x2e394466 // cmp word [rsi], r13w QUAD $0x000000982494940f // sete byte [rsp + 152] LONG $0x6e394466; BYTE $0x02 // cmp word [rsi + 2], r13w - LONG $0xd7940f40 // sete dil + LONG $0xd2940f41 // sete r10b LONG $0x6e394466; BYTE $0x04 // cmp word [rsi + 4], r13w LONG $0xd6940f41 // sete r14b LONG $0x6e394466; BYTE $0x06 // cmp word [rsi + 6], r13w @@ -3925,11 +4206,11 @@ LBB1_63: LONG $0x6e394466; BYTE $0x10 // cmp word [rsi + 16], r13w LONG $0x2454940f; BYTE $0x68 // sete byte [rsp + 104] LONG $0x6e394466; BYTE $0x12 // cmp word [rsi + 18], r13w - WORD $0x940f; BYTE $0xd2 // sete dl + LONG $0xd7940f40 // sete dil LONG $0x6e394466; BYTE $0x14 // cmp word [rsi + 20], r13w - LONG $0xd1940f41 // sete r9b + LONG $0xd0940f41 // sete r8b LONG $0x6e394466; BYTE $0x16 // cmp word [rsi + 22], r13w - LONG $0xd2940f41 // sete r10b + LONG $0xd1940f41 // sete r9b LONG $0x6e394466; BYTE $0x18 // cmp word [rsi + 24], r13w LONG $0xd3940f41 // sete r11b LONG $0x6e394466; BYTE $0x1a // cmp word [rsi + 26], r13w @@ -3969,67 +4250,68 @@ LBB1_63: LONG $0x6e394466; BYTE $0x3c // cmp word [rsi + 60], r13w LONG $0x2454940f; BYTE $0x1c // sete byte [rsp + 28] LONG $0x6e394466; BYTE $0x3e // cmp word [rsi + 62], r13w - LONG $0xd0940f41 // sete r8b - WORD $0x0040; BYTE $0xff // add dil, dil - QUAD $0x0000009824bc0240 // add dil, byte [rsp + 152] + WORD $0x940f; BYTE $0xd2 // sete dl + WORD $0x0045; BYTE $0xd2 // add r10b, r10b + QUAD $0x0000009824940244 // add r10b, byte [rsp + 152] WORD $0xe0c0; BYTE $0x06 // shl al, 6 WORD $0xe3c0; BYTE $0x07 // shl bl, 7 WORD $0xc308 // or bl, al LONG $0x02e6c041 // shl r14b, 2 - WORD $0x0841; BYTE $0xfe // or r14b, dil - WORD $0xd200 // add dl, dl - LONG $0x68245402 // add dl, byte [rsp + 104] + WORD $0x0845; BYTE $0xd6 // or r14b, r10b + WORD $0x0040; BYTE $0xff // add dil, dil + LONG $0x247c0240; BYTE $0x68 // add dil, byte [rsp + 104] QUAD $0x000000a02484b60f // movzx eax, byte [rsp + 160] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0x0844; BYTE $0xf0 // or al, r14b - LONG $0x02e1c041 // shl r9b, 2 - WORD $0x0841; BYTE $0xd1 // or r9b, dl - QUAD $0x000000882494b60f // movzx edx, byte [rsp + 136] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0xc208 // or dl, al - WORD $0xd789 // mov edi, edx - LONG $0x03e2c041 // shl r10b, 3 - WORD $0x0845; BYTE $0xca // or r10b, r9b - LONG $0x2454b60f; BYTE $0x58 // movzx edx, byte [rsp + 88] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xfa // or dl, dil + WORD $0x8941; BYTE $0xc2 // mov r10d, eax + LONG $0x02e0c041 // shl r8b, 2 + WORD $0x0841; BYTE $0xf8 // or r8b, dil + QUAD $0x000000882484b60f // movzx eax, byte [rsp + 136] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0844; BYTE $0xd0 // or al, r10b + WORD $0xc789 // mov edi, eax + LONG $0x03e1c041 // shl r9b, 3 + WORD $0x0845; BYTE $0xc1 // or r9b, r8b + LONG $0x2444b60f; BYTE $0x58 // movzx eax, byte [rsp + 88] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0x0840; BYTE $0xf8 // or al, dil LONG $0x04e3c041 // shl r11b, 4 - WORD $0x0845; BYTE $0xd3 // or r11b, r10b + WORD $0x0845; BYTE $0xcb // or r11b, r9b LONG $0x05e4c041 // shl r12b, 5 WORD $0x0845; BYTE $0xdc // or r12b, r11b LONG $0x247cb60f; BYTE $0x70 // movzx edi, byte [rsp + 112] LONG $0x06e7c040 // shl dil, 6 WORD $0xe1c0; BYTE $0x07 // shl cl, 7 WORD $0x0840; BYTE $0xf9 // or cl, dil - WORD $0xd308 // or bl, dl + WORD $0xc308 // or bl, al WORD $0x0844; BYTE $0xe1 // or cl, r12b - LONG $0x2454b60f; BYTE $0x78 // movzx edx, byte [rsp + 120] - WORD $0xd200 // add dl, dl - LONG $0x48245402 // add dl, byte [rsp + 72] - WORD $0xd789 // mov edi, edx - QUAD $0x000000802494b60f // movzx edx, byte [rsp + 128] - WORD $0xe2c0; BYTE $0x02 // shl dl, 2 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - QUAD $0x000000902494b60f // movzx edx, byte [rsp + 144] - WORD $0xe2c0; BYTE $0x03 // shl dl, 3 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x50 // movzx edx, byte [rsp + 80] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x60 // movzx edx, byte [rsp + 96] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - QUAD $0x0000011024948b48 // mov rdx, qword [rsp + 272] - WORD $0x1a88 // mov byte [rdx], bl + LONG $0x2444b60f; BYTE $0x78 // movzx eax, byte [rsp + 120] + WORD $0xc000 // add al, al + LONG $0x48244402 // add al, byte [rsp + 72] + WORD $0xc789 // mov edi, eax + QUAD $0x000000802484b60f // movzx eax, byte [rsp + 128] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + QUAD $0x000000902484b60f // movzx eax, byte [rsp + 144] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x50 // movzx eax, byte [rsp + 80] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x60 // movzx eax, byte [rsp + 96] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + QUAD $0x0000011024848b48 // mov rax, qword [rsp + 272] + WORD $0x1888 // mov byte [rax], bl LONG $0x245cb60f; BYTE $0x40 // movzx ebx, byte [rsp + 64] WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e7c041 // shl r15b, 7 WORD $0x0841; BYTE $0xdf // or r15b, bl - WORD $0x4a88; BYTE $0x01 // mov byte [rdx + 1], cl + WORD $0x4888; BYTE $0x01 // mov byte [rax + 1], cl WORD $0x0841; BYTE $0xff // or r15b, dil LONG $0x244cb60f; BYTE $0x30 // movzx ecx, byte [rsp + 48] WORD $0xc900 // add cl, cl @@ -4052,23 +4334,23 @@ LBB1_63: WORD $0xd908 // or cl, bl LONG $0x245cb60f; BYTE $0x1c // movzx ebx, byte [rsp + 28] WORD $0xe3c0; BYTE $0x06 // shl bl, 6 - LONG $0x07e0c041 // shl r8b, 7 - WORD $0x0841; BYTE $0xd8 // or r8b, bl - WORD $0x0841; BYTE $0xc8 // or r8b, cl - LONG $0x027a8844 // mov byte [rdx + 2], r15b - LONG $0x03428844 // mov byte [rdx + 3], r8b + WORD $0xe2c0; BYTE $0x07 // shl dl, 7 + WORD $0xda08 // or dl, bl + WORD $0xca08 // or dl, cl + LONG $0x02788844 // mov byte [rax + 2], r15b + WORD $0x5088; BYTE $0x03 // mov byte [rax + 3], dl LONG $0x40c68348 // add rsi, 64 - LONG $0x04c28348 // add rdx, 4 - QUAD $0x0000011024948948 // mov qword [rsp + 272], rdx - QUAD $0x000000a824848348; BYTE $0xff // add qword [rsp + 168], -1 + LONG $0x04c08348 // add rax, 4 + QUAD $0x0000011024848948 // mov qword [rsp + 272], rax + QUAD $0x000000b024848348; BYTE $0xff // add qword [rsp + 176], -1 JNE LBB1_63 QUAD $0x0000011024b48b4c // mov r14, qword [rsp + 272] QUAD $0x0000011824948b4c // mov r10, qword [rsp + 280] - QUAD $0x000000b024bc8b4c // mov r15, qword [rsp + 176] + QUAD $0x000000a824bc8b4c // mov r15, qword [rsp + 168] LONG $0x05e7c149 // shl r15, 5 WORD $0x394d; BYTE $0xd7 // cmp r15, r10 JL LBB1_121 - JMP LBB1_164 + JMP LBB1_165 LBB1_65: WORD $0x8b4c; BYTE $0x2a // mov r13, qword [rdx] @@ -4112,15 +4394,15 @@ LBB1_69: LONG $0x20fa8349 // cmp r10, 32 JL LBB1_123 QUAD $0x000001182494894c // mov qword [rsp + 280], r10 - QUAD $0x000000b024bc894c // mov qword [rsp + 176], r15 QUAD $0x000000a824bc894c // mov qword [rsp + 168], r15 + QUAD $0x000000b024bc894c // mov qword [rsp + 176], r15 QUAD $0x00000110249c894c // mov qword [rsp + 272], r11 LBB1_71: WORD $0x394c; BYTE $0x2e // cmp qword [rsi], r13 QUAD $0x000000982494940f // sete byte [rsp + 152] LONG $0x086e394c // cmp qword [rsi + 8], r13 - LONG $0xd7940f40 // sete dil + LONG $0xd2940f41 // sete r10b LONG $0x106e394c // cmp qword [rsi + 16], r13 LONG $0xd6940f41 // sete r14b LONG $0x186e394c // cmp qword [rsi + 24], r13 @@ -4136,11 +4418,11 @@ LBB1_71: LONG $0x406e394c // cmp qword [rsi + 64], r13 LONG $0x2454940f; BYTE $0x68 // sete byte [rsp + 104] LONG $0x486e394c // cmp qword [rsi + 72], r13 - WORD $0x940f; BYTE $0xd2 // sete dl + LONG $0xd7940f40 // sete dil LONG $0x506e394c // cmp qword [rsi + 80], r13 - LONG $0xd1940f41 // sete r9b + LONG $0xd0940f41 // sete r8b LONG $0x586e394c // cmp qword [rsi + 88], r13 - LONG $0xd2940f41 // sete r10b + LONG $0xd1940f41 // sete r9b LONG $0x606e394c // cmp qword [rsi + 96], r13 LONG $0xd3940f41 // sete r11b LONG $0x686e394c // cmp qword [rsi + 104], r13 @@ -4180,67 +4462,68 @@ LBB1_71: LONG $0xf0ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 240], r13 LONG $0x2454940f; BYTE $0x1c // sete byte [rsp + 28] LONG $0xf8ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 248], r13 - LONG $0xd0940f41 // sete r8b - WORD $0x0040; BYTE $0xff // add dil, dil - QUAD $0x0000009824bc0240 // add dil, byte [rsp + 152] + WORD $0x940f; BYTE $0xd2 // sete dl + WORD $0x0045; BYTE $0xd2 // add r10b, r10b + QUAD $0x0000009824940244 // add r10b, byte [rsp + 152] WORD $0xe0c0; BYTE $0x06 // shl al, 6 WORD $0xe3c0; BYTE $0x07 // shl bl, 7 WORD $0xc308 // or bl, al LONG $0x02e6c041 // shl r14b, 2 - WORD $0x0841; BYTE $0xfe // or r14b, dil - WORD $0xd200 // add dl, dl - LONG $0x68245402 // add dl, byte [rsp + 104] + WORD $0x0845; BYTE $0xd6 // or r14b, r10b + WORD $0x0040; BYTE $0xff // add dil, dil + LONG $0x247c0240; BYTE $0x68 // add dil, byte [rsp + 104] QUAD $0x000000a02484b60f // movzx eax, byte [rsp + 160] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0x0844; BYTE $0xf0 // or al, r14b - LONG $0x02e1c041 // shl r9b, 2 - WORD $0x0841; BYTE $0xd1 // or r9b, dl - QUAD $0x000000882494b60f // movzx edx, byte [rsp + 136] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0xc208 // or dl, al - WORD $0xd789 // mov edi, edx - LONG $0x03e2c041 // shl r10b, 3 - WORD $0x0845; BYTE $0xca // or r10b, r9b - LONG $0x2454b60f; BYTE $0x58 // movzx edx, byte [rsp + 88] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xfa // or dl, dil + WORD $0x8941; BYTE $0xc2 // mov r10d, eax + LONG $0x02e0c041 // shl r8b, 2 + WORD $0x0841; BYTE $0xf8 // or r8b, dil + QUAD $0x000000882484b60f // movzx eax, byte [rsp + 136] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0844; BYTE $0xd0 // or al, r10b + WORD $0xc789 // mov edi, eax + LONG $0x03e1c041 // shl r9b, 3 + WORD $0x0845; BYTE $0xc1 // or r9b, r8b + LONG $0x2444b60f; BYTE $0x58 // movzx eax, byte [rsp + 88] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0x0840; BYTE $0xf8 // or al, dil LONG $0x04e3c041 // shl r11b, 4 - WORD $0x0845; BYTE $0xd3 // or r11b, r10b + WORD $0x0845; BYTE $0xcb // or r11b, r9b LONG $0x05e4c041 // shl r12b, 5 WORD $0x0845; BYTE $0xdc // or r12b, r11b LONG $0x247cb60f; BYTE $0x70 // movzx edi, byte [rsp + 112] LONG $0x06e7c040 // shl dil, 6 WORD $0xe1c0; BYTE $0x07 // shl cl, 7 WORD $0x0840; BYTE $0xf9 // or cl, dil - WORD $0xd308 // or bl, dl + WORD $0xc308 // or bl, al WORD $0x0844; BYTE $0xe1 // or cl, r12b - LONG $0x2454b60f; BYTE $0x78 // movzx edx, byte [rsp + 120] - WORD $0xd200 // add dl, dl - LONG $0x48245402 // add dl, byte [rsp + 72] - WORD $0xd789 // mov edi, edx - QUAD $0x000000802494b60f // movzx edx, byte [rsp + 128] - WORD $0xe2c0; BYTE $0x02 // shl dl, 2 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - QUAD $0x000000902494b60f // movzx edx, byte [rsp + 144] - WORD $0xe2c0; BYTE $0x03 // shl dl, 3 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x50 // movzx edx, byte [rsp + 80] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x60 // movzx edx, byte [rsp + 96] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - QUAD $0x0000011024948b48 // mov rdx, qword [rsp + 272] - WORD $0x1a88 // mov byte [rdx], bl + LONG $0x2444b60f; BYTE $0x78 // movzx eax, byte [rsp + 120] + WORD $0xc000 // add al, al + LONG $0x48244402 // add al, byte [rsp + 72] + WORD $0xc789 // mov edi, eax + QUAD $0x000000802484b60f // movzx eax, byte [rsp + 128] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + QUAD $0x000000902484b60f // movzx eax, byte [rsp + 144] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x50 // movzx eax, byte [rsp + 80] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x60 // movzx eax, byte [rsp + 96] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + QUAD $0x0000011024848b48 // mov rax, qword [rsp + 272] + WORD $0x1888 // mov byte [rax], bl LONG $0x245cb60f; BYTE $0x40 // movzx ebx, byte [rsp + 64] WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e7c041 // shl r15b, 7 WORD $0x0841; BYTE $0xdf // or r15b, bl - WORD $0x4a88; BYTE $0x01 // mov byte [rdx + 1], cl + WORD $0x4888; BYTE $0x01 // mov byte [rax + 1], cl WORD $0x0841; BYTE $0xff // or r15b, dil LONG $0x244cb60f; BYTE $0x30 // movzx ecx, byte [rsp + 48] WORD $0xc900 // add cl, cl @@ -4263,23 +4546,23 @@ LBB1_71: WORD $0xd908 // or cl, bl LONG $0x245cb60f; BYTE $0x1c // movzx ebx, byte [rsp + 28] WORD $0xe3c0; BYTE $0x06 // shl bl, 6 - LONG $0x07e0c041 // shl r8b, 7 - WORD $0x0841; BYTE $0xd8 // or r8b, bl - WORD $0x0841; BYTE $0xc8 // or r8b, cl - LONG $0x027a8844 // mov byte [rdx + 2], r15b - LONG $0x03428844 // mov byte [rdx + 3], r8b + WORD $0xe2c0; BYTE $0x07 // shl dl, 7 + WORD $0xda08 // or dl, bl + WORD $0xca08 // or dl, cl + LONG $0x02788844 // mov byte [rax + 2], r15b + WORD $0x5088; BYTE $0x03 // mov byte [rax + 3], dl LONG $0x00c68148; WORD $0x0001; BYTE $0x00 // add rsi, 256 - LONG $0x04c28348 // add rdx, 4 - QUAD $0x0000011024948948 // mov qword [rsp + 272], rdx - QUAD $0x000000a824848348; BYTE $0xff // add qword [rsp + 168], -1 + LONG $0x04c08348 // add rax, 4 + QUAD $0x0000011024848948 // mov qword [rsp + 272], rax + QUAD $0x000000b024848348; BYTE $0xff // add qword [rsp + 176], -1 JNE LBB1_71 QUAD $0x0000011024b48b4c // mov r14, qword [rsp + 272] QUAD $0x0000011824948b4c // mov r10, qword [rsp + 280] - QUAD $0x000000b024bc8b4c // mov r15, qword [rsp + 176] + QUAD $0x000000a824bc8b4c // mov r15, qword [rsp + 168] LONG $0x05e7c149 // shl r15, 5 WORD $0x394d; BYTE $0xd7 // cmp r15, r10 JL LBB1_124 - JMP LBB1_164 + JMP LBB1_165 LBB1_73: LONG $0x1f7a8d4d // lea r15, [r10 + 31] @@ -4297,7 +4580,9 @@ LBB1_73: LBB1_75: LONG $0x062ef8c5 // vucomiss xmm0, dword [rsi] LONG $0x04768d48 // lea rsi, [rsi + 4] + WORD $0x9b0f; BYTE $0xd1 // setnp cl WORD $0x940f; BYTE $0xd2 // sete dl + WORD $0xca20 // and dl, cl WORD $0xdaf6 // neg dl LONG $0x07788d48 // lea rdi, [rax + 7] WORD $0x8548; BYTE $0xc0 // test rax, rax @@ -4324,163 +4609,248 @@ LBB1_77: JL LBB1_126 QUAD $0x000001182494894c // mov qword [rsp + 280], r10 QUAD $0x000000a824bc894c // mov qword [rsp + 168], r15 - QUAD $0x0000009824bc894c // mov qword [rsp + 152], r15 + QUAD $0x000000b024bc894c // mov qword [rsp + 176], r15 QUAD $0x00000110249c894c // mov qword [rsp + 272], r11 LBB1_79: LONG $0x062ef8c5 // vucomiss xmm0, dword [rsi] - QUAD $0x000000a02494940f // sete byte [rsp + 160] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x20244c88 // mov byte [rsp + 32], cl LONG $0x462ef8c5; BYTE $0x04 // vucomiss xmm0, dword [rsi + 4] - LONG $0xd1940f41 // sete r9b + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd3 // sete bl + WORD $0xc320 // and bl, al LONG $0x462ef8c5; BYTE $0x08 // vucomiss xmm0, dword [rsi + 8] - LONG $0xd6940f41 // sete r14b - LONG $0x462ef8c5; BYTE $0x0c // vucomiss xmm0, dword [rsi + 12] + WORD $0x9b0f; BYTE $0xd0 // setnp al LONG $0xd5940f41 // sete r13b + WORD $0x2041; BYTE $0xc5 // and r13b, al + LONG $0x462ef8c5; BYTE $0x0c // vucomiss xmm0, dword [rsi + 12] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x40248c88; WORD $0x0001; BYTE $0x00 // mov byte [rsp + 320], cl LONG $0x462ef8c5; BYTE $0x10 // vucomiss xmm0, dword [rsi + 16] - QUAD $0x000000882494940f // sete byte [rsp + 136] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x20248c88; WORD $0x0001; BYTE $0x00 // mov byte [rsp + 288], cl LONG $0x462ef8c5; BYTE $0x14 // vucomiss xmm0, dword [rsi + 20] - LONG $0x2454940f; BYTE $0x58 // sete byte [rsp + 88] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd7940f40 // sete dil + WORD $0x2040; BYTE $0xc7 // and dil, al LONG $0x462ef8c5; BYTE $0x18 // vucomiss xmm0, dword [rsi + 24] - WORD $0x940f; BYTE $0xd0 // sete al + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x38244c88 // mov byte [rsp + 56], cl LONG $0x462ef8c5; BYTE $0x1c // vucomiss xmm0, dword [rsi + 28] - WORD $0x940f; BYTE $0xd3 // sete bl + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x1c244c88 // mov byte [rsp + 28], cl LONG $0x462ef8c5; BYTE $0x20 // vucomiss xmm0, dword [rsi + 32] - LONG $0x2454940f; BYTE $0x70 // sete byte [rsp + 112] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x28244c88 // mov byte [rsp + 40], cl LONG $0x462ef8c5; BYTE $0x24 // vucomiss xmm0, dword [rsi + 36] - WORD $0x940f; BYTE $0xd2 // sete dl + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x30244c88 // mov byte [rsp + 48], cl LONG $0x462ef8c5; BYTE $0x28 // vucomiss xmm0, dword [rsi + 40] - LONG $0xd7940f40 // sete dil + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x40244c88 // mov byte [rsp + 64], cl LONG $0x462ef8c5; BYTE $0x2c // vucomiss xmm0, dword [rsi + 44] - LONG $0xd2940f41 // sete r10b + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x60244c88 // mov byte [rsp + 96], cl LONG $0x462ef8c5; BYTE $0x30 // vucomiss xmm0, dword [rsi + 48] - LONG $0xd3940f41 // sete r11b + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x58244c88 // mov byte [rsp + 88], cl LONG $0x462ef8c5; BYTE $0x34 // vucomiss xmm0, dword [rsi + 52] - LONG $0xd4940f41 // sete r12b + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x50244c88 // mov byte [rsp + 80], cl LONG $0x462ef8c5; BYTE $0x38 // vucomiss xmm0, dword [rsi + 56] - LONG $0x2454940f; BYTE $0x78 // sete byte [rsp + 120] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd2 // sete dl + WORD $0xc220 // and dl, al LONG $0x462ef8c5; BYTE $0x3c // vucomiss xmm0, dword [rsi + 60] + WORD $0x9b0f; BYTE $0xd0 // setnp al WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x48244c88 // mov byte [rsp + 72], cl LONG $0x462ef8c5; BYTE $0x40 // vucomiss xmm0, dword [rsi + 64] - LONG $0x2454940f; BYTE $0x48 // sete byte [rsp + 72] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x90248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 144], cl LONG $0x462ef8c5; BYTE $0x44 // vucomiss xmm0, dword [rsi + 68] - LONG $0x2454940f; BYTE $0x68 // sete byte [rsp + 104] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x88248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 136], cl LONG $0x462ef8c5; BYTE $0x48 // vucomiss xmm0, dword [rsi + 72] - QUAD $0x000000802494940f // sete byte [rsp + 128] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al LONG $0x462ef8c5; BYTE $0x4c // vucomiss xmm0, dword [rsi + 76] - QUAD $0x000000902494940f // sete byte [rsp + 144] + LONG $0xd09b0f41 // setnp r8b + WORD $0x940f; BYTE $0xd0 // sete al + WORD $0x2044; BYTE $0xc0 // and al, r8b + LONG $0x80248488; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 128], al LONG $0x462ef8c5; BYTE $0x50 // vucomiss xmm0, dword [rsi + 80] - LONG $0x2454940f; BYTE $0x50 // sete byte [rsp + 80] + LONG $0xd09b0f41 // setnp r8b + WORD $0x940f; BYTE $0xd0 // sete al + WORD $0x2044; BYTE $0xc0 // and al, r8b + LONG $0x78244488 // mov byte [rsp + 120], al LONG $0x462ef8c5; BYTE $0x54 // vucomiss xmm0, dword [rsi + 84] - LONG $0x2454940f; BYTE $0x60 // sete byte [rsp + 96] + LONG $0xd09b0f41 // setnp r8b + WORD $0x940f; BYTE $0xd0 // sete al + WORD $0x2044; BYTE $0xc0 // and al, r8b + LONG $0x68244488 // mov byte [rsp + 104], al LONG $0x462ef8c5; BYTE $0x58 // vucomiss xmm0, dword [rsi + 88] - LONG $0x2454940f; BYTE $0x40 // sete byte [rsp + 64] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd4940f41 // sete r12b + WORD $0x2041; BYTE $0xc4 // and r12b, al LONG $0x462ef8c5; BYTE $0x5c // vucomiss xmm0, dword [rsi + 92] - LONG $0xd7940f41 // sete r15b + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd2940f41 // sete r10b + WORD $0x2041; BYTE $0xc2 // and r10b, al LONG $0x462ef8c5; BYTE $0x60 // vucomiss xmm0, dword [rsi + 96] - LONG $0x2454940f; BYTE $0x20 // sete byte [rsp + 32] + LONG $0xd09b0f41 // setnp r8b + WORD $0x940f; BYTE $0xd0 // sete al + WORD $0x2044; BYTE $0xc0 // and al, r8b + LONG $0x70244488 // mov byte [rsp + 112], al LONG $0x462ef8c5; BYTE $0x64 // vucomiss xmm0, dword [rsi + 100] - LONG $0x2454940f; BYTE $0x30 // sete byte [rsp + 48] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd7940f41 // sete r15b + WORD $0x2041; BYTE $0xc7 // and r15b, al LONG $0x462ef8c5; BYTE $0x68 // vucomiss xmm0, dword [rsi + 104] - LONG $0x2454940f; BYTE $0x38 // sete byte [rsp + 56] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd6940f41 // sete r14b + WORD $0x2041; BYTE $0xc6 // and r14b, al LONG $0x462ef8c5; BYTE $0x6c // vucomiss xmm0, dword [rsi + 108] - LONG $0x2454940f; BYTE $0x28 // sete byte [rsp + 40] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd3940f41 // sete r11b + WORD $0x2041; BYTE $0xc3 // and r11b, al LONG $0x462ef8c5; BYTE $0x70 // vucomiss xmm0, dword [rsi + 112] - QUAD $0x000001402494940f // sete byte [rsp + 320] + LONG $0xd09b0f41 // setnp r8b + WORD $0x940f; BYTE $0xd0 // sete al + WORD $0x2044; BYTE $0xc0 // and al, r8b + LONG $0xa0248488; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 160], al LONG $0x462ef8c5; BYTE $0x74 // vucomiss xmm0, dword [rsi + 116] - QUAD $0x000001202494940f // sete byte [rsp + 288] + LONG $0xd09b0f41 // setnp r8b + WORD $0x940f; BYTE $0xd0 // sete al + WORD $0x2044; BYTE $0xc0 // and al, r8b + LONG $0x98248488; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 152], al LONG $0x462ef8c5; BYTE $0x78 // vucomiss xmm0, dword [rsi + 120] - LONG $0x2454940f; BYTE $0x1c // sete byte [rsp + 28] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd1940f41 // sete r9b + WORD $0x2041; BYTE $0xc1 // and r9b, al LONG $0x462ef8c5; BYTE $0x7c // vucomiss xmm0, dword [rsi + 124] + WORD $0x9b0f; BYTE $0xd0 // setnp al LONG $0xd0940f41 // sete r8b - WORD $0x0045; BYTE $0xc9 // add r9b, r9b - QUAD $0x000000a0248c0244 // add r9b, byte [rsp + 160] + WORD $0x2041; BYTE $0xc0 // and r8b, al + WORD $0xdb00 // add bl, bl + LONG $0x20245c02 // add bl, byte [rsp + 32] + LONG $0x05e7c040 // shl dil, 5 + LONG $0x2444b60f; BYTE $0x38 // movzx eax, byte [rsp + 56] WORD $0xe0c0; BYTE $0x06 // shl al, 6 - WORD $0xe3c0; BYTE $0x07 // shl bl, 7 - WORD $0xc308 // or bl, al - LONG $0x02e6c041 // shl r14b, 2 - WORD $0x0845; BYTE $0xce // or r14b, r9b - WORD $0xd200 // add dl, dl - LONG $0x70245402 // add dl, byte [rsp + 112] - LONG $0x03e5c041 // shl r13b, 3 - WORD $0x0845; BYTE $0xf5 // or r13b, r14b - LONG $0x02e7c040 // shl dil, 2 - WORD $0x0840; BYTE $0xd7 // or dil, dl - QUAD $0x000000882494b60f // movzx edx, byte [rsp + 136] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0x0844; BYTE $0xea // or dl, r13b - WORD $0x8941; BYTE $0xd1 // mov r9d, edx - LONG $0x03e2c041 // shl r10b, 3 - WORD $0x0841; BYTE $0xfa // or r10b, dil - LONG $0x2454b60f; BYTE $0x58 // movzx edx, byte [rsp + 88] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0844; BYTE $0xca // or dl, r9b - LONG $0x04e3c041 // shl r11b, 4 - WORD $0x0845; BYTE $0xd3 // or r11b, r10b - LONG $0x05e4c041 // shl r12b, 5 - WORD $0x0845; BYTE $0xdc // or r12b, r11b - LONG $0x247cb60f; BYTE $0x78 // movzx edi, byte [rsp + 120] - LONG $0x06e7c040 // shl dil, 6 - WORD $0xe1c0; BYTE $0x07 // shl cl, 7 - WORD $0x0840; BYTE $0xf9 // or cl, dil - WORD $0xd308 // or bl, dl - WORD $0x0844; BYTE $0xe1 // or cl, r12b - LONG $0x2444b60f; BYTE $0x68 // movzx eax, byte [rsp + 104] + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x02e5c041 // shl r13b, 2 + WORD $0x0841; BYTE $0xdd // or r13b, bl + LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] WORD $0xc000 // add al, al - LONG $0x48244402 // add al, byte [rsp + 72] + LONG $0x28244402 // add al, byte [rsp + 40] + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x1c // movzx eax, byte [rsp + 28] + WORD $0xe0c0; BYTE $0x07 // shl al, 7 + WORD $0x0840; BYTE $0xf8 // or al, dil + LONG $0x1c244488 // mov byte [rsp + 28], al + LONG $0x2444b60f; BYTE $0x40 // movzx eax, byte [rsp + 64] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + QUAD $0x000001402484b60f // movzx eax, byte [rsp + 320] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0x0844; BYTE $0xe8 // or al, r13b + WORD $0x8941; BYTE $0xc5 // mov r13d, eax + LONG $0x2444b60f; BYTE $0x60 // movzx eax, byte [rsp + 96] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0xd808 // or al, bl + WORD $0xc789 // mov edi, eax + QUAD $0x000001202484b60f // movzx eax, byte [rsp + 288] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0844; BYTE $0xe8 // or al, r13b + LONG $0x245cb60f; BYTE $0x58 // movzx ebx, byte [rsp + 88] + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0x0840; BYTE $0xfb // or bl, dil + LONG $0x247cb60f; BYTE $0x50 // movzx edi, byte [rsp + 80] + LONG $0x05e7c040 // shl dil, 5 + WORD $0xe2c0; BYTE $0x06 // shl dl, 6 + WORD $0x0840; BYTE $0xfa // or dl, dil + LONG $0x6cb60f44; WORD $0x4824 // movzx r13d, byte [rsp + 72] + LONG $0x07e5c041 // shl r13b, 7 + WORD $0x0841; BYTE $0xd5 // or r13b, dl + QUAD $0x000000882494b60f // movzx edx, byte [rsp + 136] + WORD $0xd200 // add dl, dl + LONG $0x90249402; WORD $0x0000; BYTE $0x00 // add dl, byte [rsp + 144] + WORD $0xe1c0; BYTE $0x02 // shl cl, 2 + WORD $0xd108 // or cl, dl QUAD $0x000000802494b60f // movzx edx, byte [rsp + 128] - WORD $0xe2c0; BYTE $0x02 // shl dl, 2 - WORD $0xc208 // or dl, al - WORD $0xd789 // mov edi, edx - QUAD $0x000000902494b60f // movzx edx, byte [rsp + 144] WORD $0xe2c0; BYTE $0x03 // shl dl, 3 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x50 // movzx edx, byte [rsp + 80] + WORD $0xca08 // or dl, cl + WORD $0xd189 // mov ecx, edx + LONG $0x2454b60f; BYTE $0x78 // movzx edx, byte [rsp + 120] WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x60 // movzx edx, byte [rsp + 96] + WORD $0xca08 // or dl, cl + LONG $0x244cb60f; BYTE $0x1c // movzx ecx, byte [rsp + 28] + WORD $0xc108 // or cl, al + LONG $0x2444b60f; BYTE $0x68 // movzx eax, byte [rsp + 104] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + LONG $0x06e4c041 // shl r12b, 6 + WORD $0x0841; BYTE $0xc4 // or r12b, al + WORD $0x0841; BYTE $0xdd // or r13b, bl + LONG $0x07e2c041 // shl r10b, 7 + WORD $0x0845; BYTE $0xe2 // or r10b, r12b + WORD $0x0841; BYTE $0xd2 // or r10b, dl + WORD $0x0045; BYTE $0xff // add r15b, r15b + LONG $0x247c0244; BYTE $0x70 // add r15b, byte [rsp + 112] + LONG $0x02e6c041 // shl r14b, 2 + WORD $0x0845; BYTE $0xfe // or r14b, r15b + LONG $0x03e3c041 // shl r11b, 3 + WORD $0x0845; BYTE $0xf3 // or r11b, r14b + QUAD $0x000000a02484b60f // movzx eax, byte [rsp + 160] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0844; BYTE $0xd8 // or al, r11b + WORD $0xc389 // mov ebx, eax + QUAD $0x0000011024848b48 // mov rax, qword [rsp + 272] + WORD $0x0888 // mov byte [rax], cl + QUAD $0x000000982494b60f // movzx edx, byte [rsp + 152] WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - QUAD $0x0000011024948b48 // mov rdx, qword [rsp + 272] - WORD $0x1a88 // mov byte [rdx], bl - LONG $0x245cb60f; BYTE $0x40 // movzx ebx, byte [rsp + 64] - WORD $0xe3c0; BYTE $0x06 // shl bl, 6 - LONG $0x07e7c041 // shl r15b, 7 - WORD $0x0841; BYTE $0xdf // or r15b, bl - WORD $0x4a88; BYTE $0x01 // mov byte [rdx + 1], cl - WORD $0x0841; BYTE $0xff // or r15b, dil - LONG $0x244cb60f; BYTE $0x30 // movzx ecx, byte [rsp + 48] - WORD $0xc900 // add cl, cl - LONG $0x20244c02 // add cl, byte [rsp + 32] - WORD $0xcb89 // mov ebx, ecx - LONG $0x244cb60f; BYTE $0x38 // movzx ecx, byte [rsp + 56] - WORD $0xe1c0; BYTE $0x02 // shl cl, 2 - WORD $0xd908 // or cl, bl - WORD $0xcb89 // mov ebx, ecx - LONG $0x244cb60f; BYTE $0x28 // movzx ecx, byte [rsp + 40] - WORD $0xe1c0; BYTE $0x03 // shl cl, 3 - WORD $0xd908 // or cl, bl - WORD $0xcb89 // mov ebx, ecx - QUAD $0x00000140248cb60f // movzx ecx, byte [rsp + 320] - WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0xd908 // or cl, bl - WORD $0xcb89 // mov ebx, ecx - QUAD $0x00000120248cb60f // movzx ecx, byte [rsp + 288] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0xd908 // or cl, bl - LONG $0x245cb60f; BYTE $0x1c // movzx ebx, byte [rsp + 28] - WORD $0xe3c0; BYTE $0x06 // shl bl, 6 + LONG $0x06e1c041 // shl r9b, 6 + WORD $0x0841; BYTE $0xd1 // or r9b, dl + LONG $0x01688844 // mov byte [rax + 1], r13b LONG $0x07e0c041 // shl r8b, 7 + WORD $0x0845; BYTE $0xc8 // or r8b, r9b WORD $0x0841; BYTE $0xd8 // or r8b, bl - WORD $0x0841; BYTE $0xc8 // or r8b, cl - LONG $0x027a8844 // mov byte [rdx + 2], r15b - LONG $0x03428844 // mov byte [rdx + 3], r8b + LONG $0x02508844 // mov byte [rax + 2], r10b + LONG $0x03408844 // mov byte [rax + 3], r8b LONG $0x80c68148; WORD $0x0000; BYTE $0x00 // add rsi, 128 - LONG $0x04c28348 // add rdx, 4 - QUAD $0x0000011024948948 // mov qword [rsp + 272], rdx - QUAD $0x0000009824848348; BYTE $0xff // add qword [rsp + 152], -1 + LONG $0x04c08348 // add rax, 4 + QUAD $0x0000011024848948 // mov qword [rsp + 272], rax + QUAD $0x000000b024848348; BYTE $0xff // add qword [rsp + 176], -1 JNE LBB1_79 QUAD $0x0000011024b48b4c // mov r14, qword [rsp + 272] QUAD $0x0000011824948b4c // mov r10, qword [rsp + 280] @@ -4488,7 +4858,7 @@ LBB1_79: LONG $0x05e7c149 // shl r15, 5 WORD $0x394d; BYTE $0xd7 // cmp r15, r10 JL LBB1_127 - JMP LBB1_164 + JMP LBB1_165 LBB1_81: WORD $0x8a44; BYTE $0x32 // mov r14b, byte [rdx] @@ -4540,10 +4910,10 @@ LBB1_85: LONG $0x05e0c148 // shl rax, 5 WORD $0x0148; BYTE $0xf0 // add rax, rsi WORD $0x3949; BYTE $0xc3 // cmp r11, rax - JAE LBB1_168 + JAE LBB1_169 LONG $0xbb048d4b // lea rax, [r11 + 4*r15] WORD $0x3948; BYTE $0xc6 // cmp rsi, rax - JAE LBB1_168 + JAE LBB1_169 LBB1_89: WORD $0xc031 // xor eax, eax @@ -4765,15 +5135,15 @@ LBB1_97: LONG $0x20fa8349 // cmp r10, 32 JL LBB1_133 QUAD $0x000001182494894c // mov qword [rsp + 280], r10 - QUAD $0x000000b024bc894c // mov qword [rsp + 176], r15 QUAD $0x000000a824bc894c // mov qword [rsp + 168], r15 + QUAD $0x000000b024bc894c // mov qword [rsp + 176], r15 LBB1_99: QUAD $0x00000110249c894c // mov qword [rsp + 272], r11 WORD $0x3944; BYTE $0x2e // cmp dword [rsi], r13d QUAD $0x000000982494940f // sete byte [rsp + 152] LONG $0x046e3944 // cmp dword [rsi + 4], r13d - LONG $0xd7940f40 // sete dil + LONG $0xd2940f41 // sete r10b LONG $0x086e3944 // cmp dword [rsi + 8], r13d LONG $0xd6940f41 // sete r14b LONG $0x0c6e3944 // cmp dword [rsi + 12], r13d @@ -4789,11 +5159,11 @@ LBB1_99: LONG $0x206e3944 // cmp dword [rsi + 32], r13d LONG $0x2454940f; BYTE $0x68 // sete byte [rsp + 104] LONG $0x246e3944 // cmp dword [rsi + 36], r13d - WORD $0x940f; BYTE $0xd2 // sete dl + LONG $0xd7940f40 // sete dil LONG $0x286e3944 // cmp dword [rsi + 40], r13d - LONG $0xd1940f41 // sete r9b + LONG $0xd0940f41 // sete r8b LONG $0x2c6e3944 // cmp dword [rsi + 44], r13d - LONG $0xd2940f41 // sete r10b + LONG $0xd1940f41 // sete r9b LONG $0x306e3944 // cmp dword [rsi + 48], r13d LONG $0xd3940f41 // sete r11b LONG $0x346e3944 // cmp dword [rsi + 52], r13d @@ -4833,32 +5203,33 @@ LBB1_99: LONG $0x786e3944 // cmp dword [rsi + 120], r13d LONG $0x2454940f; BYTE $0x1c // sete byte [rsp + 28] LONG $0x7c6e3944 // cmp dword [rsi + 124], r13d - LONG $0xd0940f41 // sete r8b - WORD $0x0040; BYTE $0xff // add dil, dil - QUAD $0x0000009824bc0240 // add dil, byte [rsp + 152] + WORD $0x940f; BYTE $0xd2 // sete dl + WORD $0x0045; BYTE $0xd2 // add r10b, r10b + QUAD $0x0000009824940244 // add r10b, byte [rsp + 152] WORD $0xe0c0; BYTE $0x06 // shl al, 6 WORD $0xe3c0; BYTE $0x07 // shl bl, 7 WORD $0xc308 // or bl, al LONG $0x02e6c041 // shl r14b, 2 - WORD $0x0841; BYTE $0xfe // or r14b, dil - WORD $0xd200 // add dl, dl - LONG $0x68245402 // add dl, byte [rsp + 104] + WORD $0x0845; BYTE $0xd6 // or r14b, r10b + WORD $0x0040; BYTE $0xff // add dil, dil + LONG $0x247c0240; BYTE $0x68 // add dil, byte [rsp + 104] QUAD $0x000000a02484b60f // movzx eax, byte [rsp + 160] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0x0844; BYTE $0xf0 // or al, r14b - LONG $0x02e1c041 // shl r9b, 2 - WORD $0x0841; BYTE $0xd1 // or r9b, dl - QUAD $0x000000882494b60f // movzx edx, byte [rsp + 136] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0xc208 // or dl, al - WORD $0xd789 // mov edi, edx - LONG $0x03e2c041 // shl r10b, 3 - WORD $0x0845; BYTE $0xca // or r10b, r9b - LONG $0x2454b60f; BYTE $0x58 // movzx edx, byte [rsp + 88] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xfa // or dl, dil + WORD $0x8941; BYTE $0xc2 // mov r10d, eax + LONG $0x02e0c041 // shl r8b, 2 + WORD $0x0841; BYTE $0xf8 // or r8b, dil + QUAD $0x000000882484b60f // movzx eax, byte [rsp + 136] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0844; BYTE $0xd0 // or al, r10b + WORD $0xc789 // mov edi, eax + LONG $0x03e1c041 // shl r9b, 3 + WORD $0x0845; BYTE $0xc1 // or r9b, r8b + LONG $0x2444b60f; BYTE $0x58 // movzx eax, byte [rsp + 88] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0x0840; BYTE $0xf8 // or al, dil LONG $0x04e3c041 // shl r11b, 4 - WORD $0x0845; BYTE $0xd3 // or r11b, r10b + WORD $0x0845; BYTE $0xcb // or r11b, r9b LONG $0x05e4c041 // shl r12b, 5 WORD $0x0845; BYTE $0xdc // or r12b, r11b QUAD $0x00000110249c8b4c // mov r11, qword [rsp + 272] @@ -4866,77 +5237,77 @@ LBB1_99: LONG $0x06e7c040 // shl dil, 6 WORD $0xe1c0; BYTE $0x07 // shl cl, 7 WORD $0x0840; BYTE $0xf9 // or cl, dil - WORD $0xd308 // or bl, dl + WORD $0xc308 // or bl, al WORD $0x0844; BYTE $0xe1 // or cl, r12b - LONG $0x2454b60f; BYTE $0x78 // movzx edx, byte [rsp + 120] - WORD $0xd200 // add dl, dl - LONG $0x48245402 // add dl, byte [rsp + 72] - WORD $0xd789 // mov edi, edx - QUAD $0x000000802494b60f // movzx edx, byte [rsp + 128] - WORD $0xe2c0; BYTE $0x02 // shl dl, 2 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - QUAD $0x000000902494b60f // movzx edx, byte [rsp + 144] - WORD $0xe2c0; BYTE $0x03 // shl dl, 3 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x50 // movzx edx, byte [rsp + 80] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x60 // movzx edx, byte [rsp + 96] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xfa // or dl, dil + LONG $0x2444b60f; BYTE $0x78 // movzx eax, byte [rsp + 120] + WORD $0xc000 // add al, al + LONG $0x48244402 // add al, byte [rsp + 72] + WORD $0xc789 // mov edi, eax + QUAD $0x000000802484b60f // movzx eax, byte [rsp + 128] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + QUAD $0x000000902484b60f // movzx eax, byte [rsp + 144] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x50 // movzx eax, byte [rsp + 80] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x60 // movzx eax, byte [rsp + 96] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0x0840; BYTE $0xf8 // or al, dil WORD $0x8841; BYTE $0x1b // mov byte [r11], bl LONG $0x245cb60f; BYTE $0x40 // movzx ebx, byte [rsp + 64] WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e7c041 // shl r15b, 7 WORD $0x0841; BYTE $0xdf // or r15b, bl LONG $0x014b8841 // mov byte [r11 + 1], cl - WORD $0x0841; BYTE $0xd7 // or r15b, dl - LONG $0x244cb60f; BYTE $0x30 // movzx ecx, byte [rsp + 48] - WORD $0xc900 // add cl, cl - LONG $0x20244c02 // add cl, byte [rsp + 32] - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x38 // movzx ecx, byte [rsp + 56] - WORD $0xe1c0; BYTE $0x02 // shl cl, 2 - WORD $0xd108 // or cl, dl - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x28 // movzx ecx, byte [rsp + 40] - WORD $0xe1c0; BYTE $0x03 // shl cl, 3 - WORD $0xd108 // or cl, dl - WORD $0xca89 // mov edx, ecx - QUAD $0x00000140248cb60f // movzx ecx, byte [rsp + 320] - WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0xd108 // or cl, dl - WORD $0xca89 // mov edx, ecx - QUAD $0x00000120248cb60f // movzx ecx, byte [rsp + 288] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0xd108 // or cl, dl - LONG $0x2454b60f; BYTE $0x1c // movzx edx, byte [rsp + 28] - WORD $0xe2c0; BYTE $0x06 // shl dl, 6 - LONG $0x07e0c041 // shl r8b, 7 - WORD $0x0841; BYTE $0xd0 // or r8b, dl - WORD $0x0841; BYTE $0xc8 // or r8b, cl + WORD $0x0841; BYTE $0xc7 // or r15b, al + LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] + WORD $0xc000 // add al, al + LONG $0x20244402 // add al, byte [rsp + 32] + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x38 // movzx eax, byte [rsp + 56] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax + QUAD $0x000001402484b60f // movzx eax, byte [rsp + 320] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax + QUAD $0x000001202484b60f // movzx eax, byte [rsp + 288] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0xc808 // or al, cl + LONG $0x244cb60f; BYTE $0x1c // movzx ecx, byte [rsp + 28] + WORD $0xe1c0; BYTE $0x06 // shl cl, 6 + WORD $0xe2c0; BYTE $0x07 // shl dl, 7 + WORD $0xca08 // or dl, cl + WORD $0xc208 // or dl, al LONG $0x027b8845 // mov byte [r11 + 2], r15b - LONG $0x03438845 // mov byte [r11 + 3], r8b + LONG $0x03538841 // mov byte [r11 + 3], dl LONG $0x80c68148; WORD $0x0000; BYTE $0x00 // add rsi, 128 LONG $0x04c38349 // add r11, 4 - QUAD $0x000000a824848348; BYTE $0xff // add qword [rsp + 168], -1 + QUAD $0x000000b024848348; BYTE $0xff // add qword [rsp + 176], -1 JNE LBB1_99 WORD $0x894d; BYTE $0xde // mov r14, r11 QUAD $0x0000011824948b4c // mov r10, qword [rsp + 280] - QUAD $0x000000b024bc8b4c // mov r15, qword [rsp + 176] + QUAD $0x000000a824bc8b4c // mov r15, qword [rsp + 168] LONG $0x05e7c149 // shl r15, 5 WORD $0x394d; BYTE $0xd7 // cmp r15, r10 JL LBB1_134 - JMP LBB1_164 + JMP LBB1_165 LBB1_101: WORD $0x894d; BYTE $0xde // mov r14, r11 LONG $0x05e7c149 // shl r15, 5 WORD $0x394d; BYTE $0xd7 // cmp r15, r10 - JGE LBB1_164 + JGE LBB1_165 LBB1_102: WORD $0x894d; BYTE $0xd0 // mov r8, r10 @@ -4978,13 +5349,13 @@ LBB1_104: LONG $0x3f148841 // mov byte [r15 + rdi], dl WORD $0x394d; BYTE $0xda // cmp r10, r11 JNE LBB1_104 - JMP LBB1_161 + JMP LBB1_162 LBB1_105: WORD $0x894d; BYTE $0xde // mov r14, r11 LONG $0x05e7c149 // shl r15, 5 WORD $0x394d; BYTE $0xd7 // cmp r15, r10 - JGE LBB1_164 + JGE LBB1_165 LBB1_106: WORD $0x894d; BYTE $0xd0 // mov r8, r10 @@ -5002,7 +5373,7 @@ LBB1_108: LBB1_109: LONG $0x05e5c149 // shl r13, 5 WORD $0x394d; BYTE $0xfd // cmp r13, r15 - JGE LBB1_164 + JGE LBB1_165 WORD $0x894d; BYTE $0xf8 // mov r8, r15 WORD $0x294d; BYTE $0xe8 // sub r8, r13 WORD $0xf749; BYTE $0xd5 // not r13 @@ -5041,13 +5412,13 @@ LBB1_141: LONG $0x3b048841 // mov byte [r11 + rdi], al WORD $0x3949; BYTE $0xf2 // cmp r10, rsi JNE LBB1_141 - JMP LBB1_156 + JMP LBB1_157 LBB1_112: WORD $0x894d; BYTE $0xde // mov r14, r11 LONG $0x05e7c149 // shl r15, 5 WORD $0x394d; BYTE $0xd7 // cmp r15, r10 - JGE LBB1_164 + JGE LBB1_165 LBB1_113: WORD $0x894d; BYTE $0xd0 // mov r8, r10 @@ -5095,7 +5466,7 @@ LBB1_116: WORD $0x894d; BYTE $0xde // mov r14, r11 LONG $0x05e7c149 // shl r15, 5 WORD $0x394d; BYTE $0xd7 // cmp r15, r10 - JGE LBB1_164 + JGE LBB1_165 LBB1_117: WORD $0x894d; BYTE $0xd0 // mov r8, r10 @@ -5143,7 +5514,7 @@ LBB1_120: WORD $0x894d; BYTE $0xde // mov r14, r11 LONG $0x05e7c149 // shl r15, 5 WORD $0x394d; BYTE $0xd7 // cmp r15, r10 - JGE LBB1_164 + JGE LBB1_165 LBB1_121: WORD $0x894d; BYTE $0xd0 // mov r8, r10 @@ -5160,7 +5531,7 @@ LBB1_123: WORD $0x894d; BYTE $0xde // mov r14, r11 LONG $0x05e7c149 // shl r15, 5 WORD $0x394d; BYTE $0xd7 // cmp r15, r10 - JGE LBB1_164 + JGE LBB1_165 LBB1_124: WORD $0x894d; BYTE $0xd0 // mov r8, r10 @@ -5177,7 +5548,7 @@ LBB1_126: WORD $0x894d; BYTE $0xde // mov r14, r11 LONG $0x05e7c149 // shl r15, 5 WORD $0x394d; BYTE $0xd7 // cmp r15, r10 - JGE LBB1_164 + JGE LBB1_165 LBB1_127: WORD $0x894d; BYTE $0xd0 // mov r8, r10 @@ -5195,59 +5566,63 @@ LBB1_129: LBB1_130: LONG $0x05e7c149 // shl r15, 5 WORD $0x394d; BYTE $0xd7 // cmp r15, r10 - JGE LBB1_164 + JGE LBB1_165 WORD $0x894d; BYTE $0xd0 // mov r8, r10 WORD $0x294d; BYTE $0xf8 // sub r8, r15 WORD $0xf749; BYTE $0xd7 // not r15 WORD $0x014d; BYTE $0xd7 // add r15, r10 - JNE LBB1_154 + JNE LBB1_155 LBB1_132: WORD $0xf631 // xor esi, esi - JMP LBB1_157 + JMP LBB1_158 LBB1_133: WORD $0x894d; BYTE $0xde // mov r14, r11 LONG $0x05e7c149 // shl r15, 5 WORD $0x394d; BYTE $0xd7 // cmp r15, r10 - JGE LBB1_164 + JGE LBB1_165 LBB1_134: WORD $0x894d; BYTE $0xd0 // mov r8, r10 WORD $0x294d; BYTE $0xf8 // sub r8, r15 WORD $0xf749; BYTE $0xd7 // not r15 WORD $0x014d; BYTE $0xd7 // add r15, r10 - JNE LBB1_159 + JNE LBB1_160 LBB1_135: WORD $0x3145; BYTE $0xdb // xor r11d, r11d - JMP LBB1_161 + JMP LBB1_162 LBB1_136: - WORD $0x894d; BYTE $0xc2 // mov r10, r8 - LONG $0xfee28349 // and r10, -2 + WORD $0x894d; BYTE $0xc1 // mov r9, r8 + LONG $0xfee18349 // and r9, -2 WORD $0x3145; BYTE $0xdb // xor r11d, r11d WORD $0x894d; BYTE $0xf7 // mov r15, r14 LBB1_137: LONG $0x062ef9c5 // vucomisd xmm0, qword [rsi] + WORD $0x9b0f; BYTE $0xd1 // setnp cl WORD $0x940f; BYTE $0xd0 // sete al + WORD $0xc820 // and al, cl WORD $0xd8f6 // neg al WORD $0x894c; BYTE $0xdf // mov rdi, r11 LONG $0x03efc148 // shr rdi, 3 - LONG $0x0cb60f45; BYTE $0x3f // movzx r9d, byte [r15 + rdi] - WORD $0x3044; BYTE $0xc8 // xor al, r9b + LONG $0x14b60f45; BYTE $0x3f // movzx r10d, byte [r15 + rdi] WORD $0x8944; BYTE $0xd9 // mov ecx, r11d WORD $0xe180; BYTE $0x06 // and cl, 6 WORD $0x01b3 // mov bl, 1 WORD $0xe3d2 // shl bl, cl + WORD $0x3044; BYTE $0xd0 // xor al, r10b WORD $0xc320 // and bl, al - WORD $0x3044; BYTE $0xcb // xor bl, r9b + WORD $0x3044; BYTE $0xd3 // xor bl, r10b LONG $0x3f1c8841 // mov byte [r15 + rdi], bl LONG $0x02c38349 // add r11, 2 LONG $0x462ef9c5; BYTE $0x08 // vucomisd xmm0, qword [rsi + 8] LONG $0x10768d48 // lea rsi, [rsi + 16] + LONG $0xd29b0f41 // setnp r10b WORD $0x940f; BYTE $0xd0 // sete al + WORD $0x2044; BYTE $0xd0 // and al, r10b WORD $0xd8f6 // neg al WORD $0xd830 // xor al, bl WORD $0xc980; BYTE $0x01 // or cl, 1 @@ -5256,14 +5631,14 @@ LBB1_137: WORD $0xc220 // and dl, al WORD $0xda30 // xor dl, bl LONG $0x3f148841 // mov byte [r15 + rdi], dl - WORD $0x394d; BYTE $0xda // cmp r10, r11 + WORD $0x394d; BYTE $0xd9 // cmp r9, r11 JNE LBB1_137 LBB1_138: LONG $0x01c0f641 // test r8b, 1 - JE LBB1_164 + JE LBB1_165 LONG $0x062ef9c5 // vucomisd xmm0, qword [rsi] - JMP LBB1_163 + JMP LBB1_154 LBB1_142: WORD $0x894d; BYTE $0xc2 // mov r10, r8 @@ -5303,9 +5678,9 @@ LBB1_143: LBB1_144: LONG $0x01c0f641 // test r8b, 1 - JE LBB1_164 + JE LBB1_165 LONG $0x2e394466 // cmp word [rsi], r13w - JMP LBB1_163 + JMP LBB1_164 LBB1_146: WORD $0x894d; BYTE $0xc2 // mov r10, r8 @@ -5345,35 +5720,39 @@ LBB1_147: LBB1_148: LONG $0x01c0f641 // test r8b, 1 - JE LBB1_164 + JE LBB1_165 WORD $0x394c; BYTE $0x2e // cmp qword [rsi], r13 - JMP LBB1_163 + JMP LBB1_164 LBB1_150: - WORD $0x894d; BYTE $0xc2 // mov r10, r8 - LONG $0xfee28349 // and r10, -2 + WORD $0x894d; BYTE $0xc1 // mov r9, r8 + LONG $0xfee18349 // and r9, -2 WORD $0x3145; BYTE $0xdb // xor r11d, r11d WORD $0x894d; BYTE $0xf7 // mov r15, r14 LBB1_151: LONG $0x062ef8c5 // vucomiss xmm0, dword [rsi] + WORD $0x9b0f; BYTE $0xd1 // setnp cl WORD $0x940f; BYTE $0xd0 // sete al + WORD $0xc820 // and al, cl WORD $0xd8f6 // neg al WORD $0x894c; BYTE $0xdf // mov rdi, r11 LONG $0x03efc148 // shr rdi, 3 - LONG $0x0cb60f45; BYTE $0x3f // movzx r9d, byte [r15 + rdi] - WORD $0x3044; BYTE $0xc8 // xor al, r9b + LONG $0x14b60f45; BYTE $0x3f // movzx r10d, byte [r15 + rdi] WORD $0x8944; BYTE $0xd9 // mov ecx, r11d WORD $0xe180; BYTE $0x06 // and cl, 6 WORD $0x01b3 // mov bl, 1 WORD $0xe3d2 // shl bl, cl + WORD $0x3044; BYTE $0xd0 // xor al, r10b WORD $0xc320 // and bl, al - WORD $0x3044; BYTE $0xcb // xor bl, r9b + WORD $0x3044; BYTE $0xd3 // xor bl, r10b LONG $0x3f1c8841 // mov byte [r15 + rdi], bl LONG $0x02c38349 // add r11, 2 LONG $0x462ef8c5; BYTE $0x04 // vucomiss xmm0, dword [rsi + 4] LONG $0x08768d48 // lea rsi, [rsi + 8] + LONG $0xd29b0f41 // setnp r10b WORD $0x940f; BYTE $0xd0 // sete al + WORD $0x2044; BYTE $0xd0 // and al, r10b WORD $0xd8f6 // neg al WORD $0xd830 // xor al, bl WORD $0xc980; BYTE $0x01 // or cl, 1 @@ -5382,22 +5761,39 @@ LBB1_151: WORD $0xc220 // and dl, al WORD $0xda30 // xor dl, bl LONG $0x3f148841 // mov byte [r15 + rdi], dl - WORD $0x394d; BYTE $0xda // cmp r10, r11 + WORD $0x394d; BYTE $0xd9 // cmp r9, r11 JNE LBB1_151 LBB1_152: LONG $0x01c0f641 // test r8b, 1 - JE LBB1_164 + JE LBB1_165 LONG $0x062ef8c5 // vucomiss xmm0, dword [rsi] - JMP LBB1_163 LBB1_154: + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd2 // sete dl + WORD $0xc220 // and dl, al + WORD $0xdaf6 // neg dl + WORD $0x894c; BYTE $0xd8 // mov rax, r11 + LONG $0x03e8c148 // shr rax, 3 + LONG $0x06348a41 // mov sil, byte [r14 + rax] + LONG $0x07e38041 // and r11b, 7 + WORD $0x01b3 // mov bl, 1 + WORD $0x8944; BYTE $0xd9 // mov ecx, r11d + WORD $0xe3d2 // shl bl, cl + WORD $0x3040; BYTE $0xf2 // xor dl, sil + WORD $0xd320 // and bl, dl + WORD $0x3040; BYTE $0xf3 // xor bl, sil + LONG $0x061c8841 // mov byte [r14 + rax], bl + JMP LBB1_165 + +LBB1_155: WORD $0x894d; BYTE $0xc2 // mov r10, r8 LONG $0xfee28349 // and r10, -2 WORD $0xf631 // xor esi, esi QUAD $0x00000178249c8b4c // mov r11, qword [rsp + 376] -LBB1_155: +LBB1_156: LONG $0x34343845 // cmp byte [r12 + rsi], r14b WORD $0x940f; BYTE $0xd3 // sete bl WORD $0xdbf6 // neg bl @@ -5424,14 +5820,14 @@ LBB1_155: WORD $0xd030 // xor al, dl LONG $0x3b048841 // mov byte [r11 + rdi], al WORD $0x3949; BYTE $0xf2 // cmp r10, rsi - JNE LBB1_155 + JNE LBB1_156 -LBB1_156: +LBB1_157: WORD $0x0149; BYTE $0xf4 // add r12, rsi -LBB1_157: +LBB1_158: LONG $0x01c0f641 // test r8b, 1 - JE LBB1_164 + JE LBB1_165 LONG $0x24343845 // cmp byte [r12], r14b WORD $0x940f; BYTE $0xd0 // sete al WORD $0xd8f6 // neg al @@ -5447,15 +5843,15 @@ LBB1_157: WORD $0xc320 // and bl, al WORD $0x3040; BYTE $0xfb // xor bl, dil LONG $0x101c8841 // mov byte [r8 + rdx], bl - JMP LBB1_164 + JMP LBB1_165 -LBB1_159: +LBB1_160: WORD $0x894d; BYTE $0xc2 // mov r10, r8 LONG $0xfee28349 // and r10, -2 WORD $0x3145; BYTE $0xdb // xor r11d, r11d WORD $0x894d; BYTE $0xf7 // mov r15, r14 -LBB1_160: +LBB1_161: WORD $0x3944; BYTE $0x2e // cmp dword [rsi], r13d WORD $0x940f; BYTE $0xd0 // sete al WORD $0xd8f6 // neg al @@ -5483,14 +5879,14 @@ LBB1_160: WORD $0xda30 // xor dl, bl LONG $0x3f148841 // mov byte [r15 + rdi], dl WORD $0x394d; BYTE $0xda // cmp r10, r11 - JNE LBB1_160 + JNE LBB1_161 -LBB1_161: +LBB1_162: LONG $0x01c0f641 // test r8b, 1 - JE LBB1_164 + JE LBB1_165 WORD $0x3944; BYTE $0x2e // cmp dword [rsi], r13d -LBB1_163: +LBB1_164: WORD $0x940f; BYTE $0xd0 // sete al WORD $0xd8f6 // neg al WORD $0x894c; BYTE $0xda // mov rdx, r11 @@ -5505,12 +5901,12 @@ LBB1_163: WORD $0x3040; BYTE $0xf3 // xor bl, sil LONG $0x161c8841 // mov byte [r14 + rdx], bl -LBB1_164: +LBB1_165: MOVQ 1280(SP), SP VZEROUPPER RET -LBB1_165: +LBB1_166: LONG $0xe0e58349 // and r13, -32 WORD $0x894c; BYTE $0xe8 // mov rax, r13 LONG $0x05e0c148 // shl rax, 5 @@ -5525,7 +5921,7 @@ LBB1_165: WORD $0xc031 // xor eax, eax QUAD $0x00000110249c894c // mov qword [rsp + 272], r11 -LBB1_166: +LBB1_167: WORD $0x8948; BYTE $0xc3 // mov rbx, rax QUAD $0x0000019824848948 // mov qword [rsp + 408], rax LONG $0x05e3c148 // shl rbx, 5 @@ -5626,13 +6022,13 @@ LBB1_166: LONG $0x24448948; BYTE $0x68 // mov qword [rsp + 104], rax WORD $0x8949; BYTE $0xdf // mov r15, rbx LONG $0x80cf8149; WORD $0x0002; BYTE $0x00 // or r15, 640 - QUAD $0x000000b024bc894c // mov qword [rsp + 176], r15 + QUAD $0x000000a824bc894c // mov qword [rsp + 168], r15 WORD $0x8949; BYTE $0xdb // mov r11, rbx LONG $0xa0cb8149; WORD $0x0002; BYTE $0x00 // or r11, 672 QUAD $0x000000c8249c894c // mov qword [rsp + 200], r11 WORD $0x8949; BYTE $0xd8 // mov r8, rbx LONG $0xc0c88149; WORD $0x0002; BYTE $0x00 // or r8, 704 - QUAD $0x000000a82484894c // mov qword [rsp + 168], r8 + QUAD $0x000000b02484894c // mov qword [rsp + 176], r8 WORD $0x8948; BYTE $0xda // mov rdx, rbx LONG $0xe0ca8148; WORD $0x0002; BYTE $0x00 // or rdx, 736 QUAD $0x000000c024948948 // mov qword [rsp + 192], rdx @@ -5715,11 +6111,11 @@ LBB1_166: QUAD $0x020116642059e3c4 // vpinsrb xmm4, xmm4, byte [rsi + rdx + 1], 2 LONG $0x24548b48; BYTE $0x68 // mov rdx, qword [rsp + 104] QUAD $0x030116642059e3c4 // vpinsrb xmm4, xmm4, byte [rsi + rdx + 1], 3 - QUAD $0x000000b024948b48 // mov rdx, qword [rsp + 176] + QUAD $0x000000a824948b48 // mov rdx, qword [rsp + 168] QUAD $0x040116642059e3c4 // vpinsrb xmm4, xmm4, byte [rsi + rdx + 1], 4 QUAD $0x000000c824948b48 // mov rdx, qword [rsp + 200] QUAD $0x050116642059e3c4 // vpinsrb xmm4, xmm4, byte [rsi + rdx + 1], 5 - QUAD $0x000000a824948b48 // mov rdx, qword [rsp + 168] + QUAD $0x000000b024948b48 // mov rdx, qword [rsp + 176] QUAD $0x060116642059e3c4 // vpinsrb xmm4, xmm4, byte [rsi + rdx + 1], 6 QUAD $0x000000c024948b48 // mov rdx, qword [rsp + 192] QUAD $0x070116642059e3c4 // vpinsrb xmm4, xmm4, byte [rsi + rdx + 1], 7 @@ -5774,11 +6170,11 @@ LBB1_166: QUAD $0x02020e442079e3c4 // vpinsrb xmm0, xmm0, byte [rsi + rcx + 2], 2 LONG $0x24548b4c; BYTE $0x68 // mov r10, qword [rsp + 104] QUAD $0x030216442079a3c4 // vpinsrb xmm0, xmm0, byte [rsi + r10 + 2], 3 - QUAD $0x000000b024848b48 // mov rax, qword [rsp + 176] + QUAD $0x000000a824848b48 // mov rax, qword [rsp + 168] QUAD $0x040206442079e3c4 // vpinsrb xmm0, xmm0, byte [rsi + rax + 2], 4 QUAD $0x000000c824848b48 // mov rax, qword [rsp + 200] QUAD $0x050206442079e3c4 // vpinsrb xmm0, xmm0, byte [rsi + rax + 2], 5 - QUAD $0x000000a824848b48 // mov rax, qword [rsp + 168] + QUAD $0x000000b024848b48 // mov rax, qword [rsp + 176] QUAD $0x060206442079e3c4 // vpinsrb xmm0, xmm0, byte [rsi + rax + 2], 6 QUAD $0x000000c024848b48 // mov rax, qword [rsp + 192] QUAD $0x070206442079e3c4 // vpinsrb xmm0, xmm0, byte [rsi + rax + 2], 7 @@ -5831,11 +6227,11 @@ LBB1_166: QUAD $0x010316642021e3c4 // vpinsrb xmm4, xmm11, byte [rsi + rdx + 3], 1 QUAD $0x02030e642059e3c4 // vpinsrb xmm4, xmm4, byte [rsi + rcx + 3], 2 QUAD $0x030316642059a3c4 // vpinsrb xmm4, xmm4, byte [rsi + r10 + 3], 3 - QUAD $0x000000b0248c8b48 // mov rcx, qword [rsp + 176] + QUAD $0x000000a8248c8b48 // mov rcx, qword [rsp + 168] QUAD $0x04030e642059e3c4 // vpinsrb xmm4, xmm4, byte [rsi + rcx + 3], 4 QUAD $0x000000c8248c8b48 // mov rcx, qword [rsp + 200] QUAD $0x05030e642059e3c4 // vpinsrb xmm4, xmm4, byte [rsi + rcx + 3], 5 - QUAD $0x000000a8248c8b48 // mov rcx, qword [rsp + 168] + QUAD $0x000000b0248c8b48 // mov rcx, qword [rsp + 176] QUAD $0x06030e642059e3c4 // vpinsrb xmm4, xmm4, byte [rsi + rcx + 3], 6 QUAD $0x000000c024848b4c // mov r8, qword [rsp + 192] QUAD $0x070306642059a3c4 // vpinsrb xmm4, xmm4, byte [rsi + r8 + 3], 7 @@ -5895,11 +6291,11 @@ LBB1_166: QUAD $0x020406442079e3c4 // vpinsrb xmm0, xmm0, byte [rsi + rax + 4], 2 LONG $0x24448b48; BYTE $0x68 // mov rax, qword [rsp + 104] QUAD $0x030406442079e3c4 // vpinsrb xmm0, xmm0, byte [rsi + rax + 4], 3 - QUAD $0x000000b024ac8b4c // mov r13, qword [rsp + 176] + QUAD $0x000000a824ac8b4c // mov r13, qword [rsp + 168] QUAD $0x04042e442079a3c4 // vpinsrb xmm0, xmm0, byte [rsi + r13 + 4], 4 QUAD $0x000000c8248c8b48 // mov rcx, qword [rsp + 200] QUAD $0x05040e442079e3c4 // vpinsrb xmm0, xmm0, byte [rsi + rcx + 4], 5 - QUAD $0x000000a824848b48 // mov rax, qword [rsp + 168] + QUAD $0x000000b024848b48 // mov rax, qword [rsp + 176] QUAD $0x060406442079e3c4 // vpinsrb xmm0, xmm0, byte [rsi + rax + 4], 6 QUAD $0x070406442079a3c4 // vpinsrb xmm0, xmm0, byte [rsi + r8 + 4], 7 QUAD $0x080426442079a3c4 // vpinsrb xmm0, xmm0, byte [rsi + r12 + 4], 8 @@ -5949,7 +6345,7 @@ LBB1_166: QUAD $0x03050e642059a3c4 // vpinsrb xmm4, xmm4, byte [rsi + r9 + 5], 3 QUAD $0x04052e642059a3c4 // vpinsrb xmm4, xmm4, byte [rsi + r13 + 5], 4 QUAD $0x05050e642059e3c4 // vpinsrb xmm4, xmm4, byte [rsi + rcx + 5], 5 - QUAD $0x000000a8248c8b48 // mov rcx, qword [rsp + 168] + QUAD $0x000000b0248c8b48 // mov rcx, qword [rsp + 176] QUAD $0x06050e642059e3c4 // vpinsrb xmm4, xmm4, byte [rsi + rcx + 5], 6 QUAD $0x000000c0248c8b48 // mov rcx, qword [rsp + 192] QUAD $0x07050e642059e3c4 // vpinsrb xmm4, xmm4, byte [rsi + rcx + 5], 7 @@ -6007,11 +6403,11 @@ LBB1_166: QUAD $0x02063e442079a3c4 // vpinsrb xmm0, xmm0, byte [rsi + r15 + 6], 2 LONG $0x244c8b4c; BYTE $0x68 // mov r9, qword [rsp + 104] QUAD $0x03060e442079a3c4 // vpinsrb xmm0, xmm0, byte [rsi + r9 + 6], 3 - QUAD $0x000000b0249c8b48 // mov rbx, qword [rsp + 176] + QUAD $0x000000a8249c8b48 // mov rbx, qword [rsp + 168] QUAD $0x04061e442079e3c4 // vpinsrb xmm0, xmm0, byte [rsi + rbx + 6], 4 QUAD $0x000000c824948b48 // mov rdx, qword [rsp + 200] QUAD $0x050616442079e3c4 // vpinsrb xmm0, xmm0, byte [rsi + rdx + 6], 5 - QUAD $0x000000a8249c8b4c // mov r11, qword [rsp + 168] + QUAD $0x000000b0249c8b4c // mov r11, qword [rsp + 176] QUAD $0x06061e442079a3c4 // vpinsrb xmm0, xmm0, byte [rsi + r11 + 6], 6 QUAD $0x07062e442079a3c4 // vpinsrb xmm0, xmm0, byte [rsi + r13 + 6], 7 QUAD $0x000000d8248c8b48 // mov rcx, qword [rsp + 216] @@ -6126,7 +6522,7 @@ LBB1_166: QUAD $0x04081e442079e3c4 // vpinsrb xmm0, xmm0, byte [rsi + rbx + 8], 4 WORD $0x894c; BYTE $0xf3 // mov rbx, r14 QUAD $0x050836442079a3c4 // vpinsrb xmm0, xmm0, byte [rsi + r14 + 8], 5 - QUAD $0x000000a824848b48 // mov rax, qword [rsp + 168] + QUAD $0x000000b024848b48 // mov rax, qword [rsp + 176] QUAD $0x060806442079e3c4 // vpinsrb xmm0, xmm0, byte [rsi + rax + 8], 6 QUAD $0x000000c024948b48 // mov rdx, qword [rsp + 192] QUAD $0x070816442079e3c4 // vpinsrb xmm0, xmm0, byte [rsi + rdx + 8], 7 @@ -6175,7 +6571,7 @@ LBB1_166: QUAD $0x01092e742039a3c4 // vpinsrb xmm6, xmm8, byte [rsi + r13 + 9], 1 QUAD $0x020926742049a3c4 // vpinsrb xmm6, xmm6, byte [rsi + r12 + 9], 2 QUAD $0x03090e742049e3c4 // vpinsrb xmm6, xmm6, byte [rsi + rcx + 9], 3 - QUAD $0x000000b0248c8b48 // mov rcx, qword [rsp + 176] + QUAD $0x000000a8248c8b48 // mov rcx, qword [rsp + 168] QUAD $0x04090e742049e3c4 // vpinsrb xmm6, xmm6, byte [rsi + rcx + 9], 4 QUAD $0x05091e742049e3c4 // vpinsrb xmm6, xmm6, byte [rsi + rbx + 9], 5 QUAD $0x060906742049e3c4 // vpinsrb xmm6, xmm6, byte [rsi + rax + 9], 6 @@ -6236,11 +6632,11 @@ LBB1_166: QUAD $0x020a1e5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rsi + rbx + 10], 2 LONG $0x24448b48; BYTE $0x68 // mov rax, qword [rsp + 104] QUAD $0x030a065c2061e3c4 // vpinsrb xmm3, xmm3, byte [rsi + rax + 10], 3 - QUAD $0x000000b0248c8b4c // mov r9, qword [rsp + 176] + QUAD $0x000000a8248c8b4c // mov r9, qword [rsp + 168] QUAD $0x040a0e5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rsi + r9 + 10], 4 QUAD $0x000000c824848b48 // mov rax, qword [rsp + 200] QUAD $0x050a065c2061e3c4 // vpinsrb xmm3, xmm3, byte [rsi + rax + 10], 5 - QUAD $0x000000a824848b48 // mov rax, qword [rsp + 168] + QUAD $0x000000b024848b48 // mov rax, qword [rsp + 176] QUAD $0x060a065c2061e3c4 // vpinsrb xmm3, xmm3, byte [rsi + rax + 10], 6 QUAD $0x070a165c2061e3c4 // vpinsrb xmm3, xmm3, byte [rsi + rdx + 10], 7 QUAD $0x000000d824848b4c // mov r8, qword [rsp + 216] @@ -6291,7 +6687,7 @@ LBB1_166: QUAD $0x040b0e4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rsi + r9 + 11], 4 QUAD $0x000000c8249c8b48 // mov rbx, qword [rsp + 200] QUAD $0x050b1e4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rsi + rbx + 11], 5 - QUAD $0x000000a824ac8b4c // mov r13, qword [rsp + 168] + QUAD $0x000000b024ac8b4c // mov r13, qword [rsp + 176] QUAD $0x060b2e4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rsi + r13 + 11], 6 QUAD $0x070b164c2071e3c4 // vpinsrb xmm1, xmm1, byte [rsi + rdx + 11], 7 WORD $0x8949; BYTE $0xd1 // mov r9, rdx @@ -6350,7 +6746,7 @@ LBB1_166: QUAD $0x020c0e442079e3c4 // vpinsrb xmm0, xmm0, byte [rsi + rcx + 12], 2 LONG $0x244c8b48; BYTE $0x68 // mov rcx, qword [rsp + 104] QUAD $0x030c0e442079e3c4 // vpinsrb xmm0, xmm0, byte [rsi + rcx + 12], 3 - QUAD $0x000000b024948b48 // mov rdx, qword [rsp + 176] + QUAD $0x000000a824948b48 // mov rdx, qword [rsp + 168] QUAD $0x040c16442079e3c4 // vpinsrb xmm0, xmm0, byte [rsi + rdx + 12], 4 QUAD $0x050c1e442079e3c4 // vpinsrb xmm0, xmm0, byte [rsi + rbx + 12], 5 WORD $0x894c; BYTE $0xeb // mov rbx, r13 @@ -6463,11 +6859,11 @@ LBB1_166: QUAD $0x020e164c2071e3c4 // vpinsrb xmm1, xmm1, byte [rsi + rdx + 14], 2 LONG $0x245c8b48; BYTE $0x68 // mov rbx, qword [rsp + 104] QUAD $0x030e1e4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rsi + rbx + 14], 3 - QUAD $0x000000b024848b4c // mov r8, qword [rsp + 176] + QUAD $0x000000a824848b4c // mov r8, qword [rsp + 168] QUAD $0x040e064c2071a3c4 // vpinsrb xmm1, xmm1, byte [rsi + r8 + 14], 4 QUAD $0x000000c824848b48 // mov rax, qword [rsp + 200] QUAD $0x050e064c2071e3c4 // vpinsrb xmm1, xmm1, byte [rsi + rax + 14], 5 - QUAD $0x000000a8248c8b48 // mov rcx, qword [rsp + 168] + QUAD $0x000000b0248c8b48 // mov rcx, qword [rsp + 176] QUAD $0x060e0e4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rsi + rcx + 14], 6 QUAD $0x000000c024848b48 // mov rax, qword [rsp + 192] QUAD $0x070e064c2071e3c4 // vpinsrb xmm1, xmm1, byte [rsi + rax + 14], 7 @@ -6582,10 +6978,10 @@ LBB1_166: QUAD $0x021006442079e3c4 // vpinsrb xmm0, xmm0, byte [rsi + rax + 16], 2 LONG $0x245c8b4c; BYTE $0x68 // mov r11, qword [rsp + 104] QUAD $0x03101e442079a3c4 // vpinsrb xmm0, xmm0, byte [rsi + r11 + 16], 3 - QUAD $0x000000b024848b48 // mov rax, qword [rsp + 176] + QUAD $0x000000a824848b48 // mov rax, qword [rsp + 168] QUAD $0x041006442079e3c4 // vpinsrb xmm0, xmm0, byte [rsi + rax + 16], 4 QUAD $0x05101e442079e3c4 // vpinsrb xmm0, xmm0, byte [rsi + rbx + 16], 5 - QUAD $0x000000a8248c8b4c // mov r9, qword [rsp + 168] + QUAD $0x000000b0248c8b4c // mov r9, qword [rsp + 176] QUAD $0x06100e442079a3c4 // vpinsrb xmm0, xmm0, byte [rsi + r9 + 16], 6 QUAD $0x071016442079e3c4 // vpinsrb xmm0, xmm0, byte [rsi + rdx + 16], 7 QUAD $0x000000d824948b48 // mov rdx, qword [rsp + 216] @@ -6638,7 +7034,7 @@ LBB1_166: QUAD $0x000000e824848b4c // mov r8, qword [rsp + 232] QUAD $0x021106542069a3c4 // vpinsrb xmm2, xmm2, byte [rsi + r8 + 17], 2 QUAD $0x03111e542069a3c4 // vpinsrb xmm2, xmm2, byte [rsi + r11 + 17], 3 - QUAD $0x000000b024948b4c // mov r10, qword [rsp + 176] + QUAD $0x000000a824948b4c // mov r10, qword [rsp + 168] QUAD $0x041116542069a3c4 // vpinsrb xmm2, xmm2, byte [rsi + r10 + 17], 4 QUAD $0x000000c824bc8b48 // mov rdi, qword [rsp + 200] QUAD $0x05113e542069e3c4 // vpinsrb xmm2, xmm2, byte [rsi + rdi + 17], 5 @@ -6703,7 +7099,7 @@ LBB1_166: QUAD $0x041216442079a3c4 // vpinsrb xmm0, xmm0, byte [rsi + r10 + 18], 4 QUAD $0x000000c824848b48 // mov rax, qword [rsp + 200] QUAD $0x051206442079e3c4 // vpinsrb xmm0, xmm0, byte [rsi + rax + 18], 5 - QUAD $0x000000a824848b4c // mov r8, qword [rsp + 168] + QUAD $0x000000b024848b4c // mov r8, qword [rsp + 176] QUAD $0x061206442079a3c4 // vpinsrb xmm0, xmm0, byte [rsi + r8 + 18], 6 QUAD $0x000000c024848b48 // mov rax, qword [rsp + 192] QUAD $0x071206442079e3c4 // vpinsrb xmm0, xmm0, byte [rsi + rax + 18], 7 @@ -6757,7 +7153,7 @@ LBB1_166: QUAD $0x02133e542069e3c4 // vpinsrb xmm2, xmm2, byte [rsi + rdi + 19], 2 LONG $0x247c8b48; BYTE $0x68 // mov rdi, qword [rsp + 104] QUAD $0x03133e542069e3c4 // vpinsrb xmm2, xmm2, byte [rsi + rdi + 19], 3 - QUAD $0x000000b024bc8b48 // mov rdi, qword [rsp + 176] + QUAD $0x000000a824bc8b48 // mov rdi, qword [rsp + 168] QUAD $0x04133e542069e3c4 // vpinsrb xmm2, xmm2, byte [rsi + rdi + 19], 4 QUAD $0x000000c824ac8b4c // mov r13, qword [rsp + 200] QUAD $0x05132e542069a3c4 // vpinsrb xmm2, xmm2, byte [rsi + r13 + 19], 5 @@ -6817,10 +7213,10 @@ LBB1_166: QUAD $0x021416442079e3c4 // vpinsrb xmm0, xmm0, byte [rsi + rdx + 20], 2 LONG $0x247c8b48; BYTE $0x68 // mov rdi, qword [rsp + 104] QUAD $0x03143e442079e3c4 // vpinsrb xmm0, xmm0, byte [rsi + rdi + 20], 3 - QUAD $0x000000b024bc8b48 // mov rdi, qword [rsp + 176] + QUAD $0x000000a824bc8b48 // mov rdi, qword [rsp + 168] QUAD $0x04143e442079e3c4 // vpinsrb xmm0, xmm0, byte [rsi + rdi + 20], 4 QUAD $0x05142e442079a3c4 // vpinsrb xmm0, xmm0, byte [rsi + r13 + 20], 5 - QUAD $0x000000a824bc8b48 // mov rdi, qword [rsp + 168] + QUAD $0x000000b024bc8b48 // mov rdi, qword [rsp + 176] QUAD $0x06143e442079e3c4 // vpinsrb xmm0, xmm0, byte [rsi + rdi + 20], 6 QUAD $0x000000c024ac8b4c // mov r13, qword [rsp + 192] QUAD $0x07142e442079a3c4 // vpinsrb xmm0, xmm0, byte [rsi + r13 + 20], 7 @@ -6876,11 +7272,11 @@ LBB1_166: QUAD $0x021516542069e3c4 // vpinsrb xmm2, xmm2, byte [rsi + rdx + 21], 2 LONG $0x24548b48; BYTE $0x68 // mov rdx, qword [rsp + 104] QUAD $0x031516542069e3c4 // vpinsrb xmm2, xmm2, byte [rsi + rdx + 21], 3 - QUAD $0x000000b024848b48 // mov rax, qword [rsp + 176] + QUAD $0x000000a824848b48 // mov rax, qword [rsp + 168] QUAD $0x041506542069e3c4 // vpinsrb xmm2, xmm2, byte [rsi + rax + 21], 4 QUAD $0x000000c824848b48 // mov rax, qword [rsp + 200] QUAD $0x051506542069e3c4 // vpinsrb xmm2, xmm2, byte [rsi + rax + 21], 5 - QUAD $0x000000a824848b48 // mov rax, qword [rsp + 168] + QUAD $0x000000b024848b48 // mov rax, qword [rsp + 176] QUAD $0x061506542069e3c4 // vpinsrb xmm2, xmm2, byte [rsi + rax + 21], 6 QUAD $0x07152e542069a3c4 // vpinsrb xmm2, xmm2, byte [rsi + r13 + 21], 7 QUAD $0x08153e542069a3c4 // vpinsrb xmm2, xmm2, byte [rsi + r15 + 21], 8 @@ -6936,11 +7332,11 @@ LBB1_166: QUAD $0x000000e824bc8b48 // mov rdi, qword [rsp + 232] QUAD $0x02163e442079e3c4 // vpinsrb xmm0, xmm0, byte [rsi + rdi + 22], 2 QUAD $0x031616442079e3c4 // vpinsrb xmm0, xmm0, byte [rsi + rdx + 22], 3 - QUAD $0x000000b024948b48 // mov rdx, qword [rsp + 176] + QUAD $0x000000a824948b48 // mov rdx, qword [rsp + 168] QUAD $0x041616442079e3c4 // vpinsrb xmm0, xmm0, byte [rsi + rdx + 22], 4 QUAD $0x000000c824948b48 // mov rdx, qword [rsp + 200] QUAD $0x051616442079e3c4 // vpinsrb xmm0, xmm0, byte [rsi + rdx + 22], 5 - QUAD $0x000000a824948b48 // mov rdx, qword [rsp + 168] + QUAD $0x000000b024948b48 // mov rdx, qword [rsp + 176] QUAD $0x061616442079e3c4 // vpinsrb xmm0, xmm0, byte [rsi + rdx + 22], 6 QUAD $0x000000c024948b48 // mov rdx, qword [rsp + 192] QUAD $0x071616442079e3c4 // vpinsrb xmm0, xmm0, byte [rsi + rdx + 22], 7 @@ -6993,11 +7389,11 @@ LBB1_166: QUAD $0x021706542069a3c4 // vpinsrb xmm2, xmm2, byte [rsi + r8 + 23], 2 LONG $0x247c8b48; BYTE $0x68 // mov rdi, qword [rsp + 104] QUAD $0x03173e542069e3c4 // vpinsrb xmm2, xmm2, byte [rsi + rdi + 23], 3 - QUAD $0x000000b024bc8b48 // mov rdi, qword [rsp + 176] + QUAD $0x000000a824bc8b48 // mov rdi, qword [rsp + 168] QUAD $0x04173e542069e3c4 // vpinsrb xmm2, xmm2, byte [rsi + rdi + 23], 4 QUAD $0x000000c824bc8b48 // mov rdi, qword [rsp + 200] QUAD $0x05173e542069e3c4 // vpinsrb xmm2, xmm2, byte [rsi + rdi + 23], 5 - QUAD $0x000000a824ac8b4c // mov r13, qword [rsp + 168] + QUAD $0x000000b024ac8b4c // mov r13, qword [rsp + 176] QUAD $0x06172e542069a3c4 // vpinsrb xmm2, xmm2, byte [rsi + r13 + 23], 6 QUAD $0x000000c024bc8b48 // mov rdi, qword [rsp + 192] QUAD $0x07173e542069e3c4 // vpinsrb xmm2, xmm2, byte [rsi + rdi + 23], 7 @@ -7052,7 +7448,7 @@ LBB1_166: QUAD $0x021806442079a3c4 // vpinsrb xmm0, xmm0, byte [rsi + r8 + 24], 2 LONG $0x24548b4c; BYTE $0x68 // mov r10, qword [rsp + 104] QUAD $0x031816442079a3c4 // vpinsrb xmm0, xmm0, byte [rsi + r10 + 24], 3 - QUAD $0x000000b024bc8b48 // mov rdi, qword [rsp + 176] + QUAD $0x000000a824bc8b48 // mov rdi, qword [rsp + 168] QUAD $0x04183e442079e3c4 // vpinsrb xmm0, xmm0, byte [rsi + rdi + 24], 4 QUAD $0x000000c824bc8b48 // mov rdi, qword [rsp + 200] QUAD $0x05183e442079e3c4 // vpinsrb xmm0, xmm0, byte [rsi + rdi + 24], 5 @@ -7107,11 +7503,11 @@ LBB1_166: QUAD $0x000000e8249c8b48 // mov rbx, qword [rsp + 232] QUAD $0x02191e542069e3c4 // vpinsrb xmm2, xmm2, byte [rsi + rbx + 25], 2 QUAD $0x031916542069a3c4 // vpinsrb xmm2, xmm2, byte [rsi + r10 + 25], 3 - QUAD $0x000000b024848b48 // mov rax, qword [rsp + 176] + QUAD $0x000000a824848b48 // mov rax, qword [rsp + 168] QUAD $0x041906542069e3c4 // vpinsrb xmm2, xmm2, byte [rsi + rax + 25], 4 QUAD $0x000000c824b48b4c // mov r14, qword [rsp + 200] QUAD $0x051936542069a3c4 // vpinsrb xmm2, xmm2, byte [rsi + r14 + 25], 5 - QUAD $0x000000a824848b48 // mov rax, qword [rsp + 168] + QUAD $0x000000b024848b48 // mov rax, qword [rsp + 176] QUAD $0x061906542069e3c4 // vpinsrb xmm2, xmm2, byte [rsi + rax + 25], 6 QUAD $0x071906542069a3c4 // vpinsrb xmm2, xmm2, byte [rsi + r8 + 25], 7 QUAD $0x000000d8248c8b48 // mov rcx, qword [rsp + 216] @@ -7169,10 +7565,10 @@ LBB1_166: QUAD $0x021a1e442079e3c4 // vpinsrb xmm0, xmm0, byte [rsi + rbx + 26], 2 LONG $0x245c8b48; BYTE $0x68 // mov rbx, qword [rsp + 104] QUAD $0x031a1e442079e3c4 // vpinsrb xmm0, xmm0, byte [rsi + rbx + 26], 3 - QUAD $0x000000b024948b48 // mov rdx, qword [rsp + 176] + QUAD $0x000000a824948b48 // mov rdx, qword [rsp + 168] QUAD $0x041a16442079e3c4 // vpinsrb xmm0, xmm0, byte [rsi + rdx + 26], 4 QUAD $0x051a36442079a3c4 // vpinsrb xmm0, xmm0, byte [rsi + r14 + 26], 5 - QUAD $0x000000a8248c8b4c // mov r9, qword [rsp + 168] + QUAD $0x000000b0248c8b4c // mov r9, qword [rsp + 176] QUAD $0x061a0e442079a3c4 // vpinsrb xmm0, xmm0, byte [rsi + r9 + 26], 6 QUAD $0x000000c024bc8b48 // mov rdi, qword [rsp + 192] QUAD $0x071a3e442079e3c4 // vpinsrb xmm0, xmm0, byte [rsi + rdi + 26], 7 @@ -7286,10 +7682,10 @@ LBB1_166: QUAD $0x021c0e442079e3c4 // vpinsrb xmm0, xmm0, byte [rsi + rcx + 28], 2 LONG $0x247c8b48; BYTE $0x68 // mov rdi, qword [rsp + 104] QUAD $0x031c3e442079e3c4 // vpinsrb xmm0, xmm0, byte [rsi + rdi + 28], 3 - QUAD $0x000000b0249c8b4c // mov r11, qword [rsp + 176] + QUAD $0x000000a8249c8b4c // mov r11, qword [rsp + 168] QUAD $0x041c1e442079a3c4 // vpinsrb xmm0, xmm0, byte [rsi + r11 + 28], 4 QUAD $0x051c06442079a3c4 // vpinsrb xmm0, xmm0, byte [rsi + r8 + 28], 5 - QUAD $0x000000a824bc8b48 // mov rdi, qword [rsp + 168] + QUAD $0x000000b024bc8b48 // mov rdi, qword [rsp + 176] QUAD $0x061c3e442079e3c4 // vpinsrb xmm0, xmm0, byte [rsi + rdi + 28], 6 QUAD $0x071c06442079e3c4 // vpinsrb xmm0, xmm0, byte [rsi + rax + 28], 7 QUAD $0x000000d824848b48 // mov rax, qword [rsp + 216] @@ -7346,7 +7742,7 @@ LBB1_166: QUAD $0x041d1e542069a3c4 // vpinsrb xmm2, xmm2, byte [rsi + r11 + 29], 4 QUAD $0x000000c8249c8b4c // mov r11, qword [rsp + 200] QUAD $0x051d1e542069a3c4 // vpinsrb xmm2, xmm2, byte [rsi + r11 + 29], 5 - QUAD $0x000000a824bc8b48 // mov rdi, qword [rsp + 168] + QUAD $0x000000b024bc8b48 // mov rdi, qword [rsp + 176] QUAD $0x061d3e542069e3c4 // vpinsrb xmm2, xmm2, byte [rsi + rdi + 29], 6 QUAD $0x000000c024bc8b48 // mov rdi, qword [rsp + 192] QUAD $0x071d3e542069e3c4 // vpinsrb xmm2, xmm2, byte [rsi + rdi + 29], 7 @@ -7407,12 +7803,12 @@ LBB1_166: QUAD $0x021f064c2071e3c4 // vpinsrb xmm1, xmm1, byte [rsi + rax + 31], 2 QUAD $0x031e0e442079e3c4 // vpinsrb xmm0, xmm0, byte [rsi + rcx + 30], 3 QUAD $0x031f0e4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rsi + rcx + 31], 3 - QUAD $0x000000b024848b48 // mov rax, qword [rsp + 176] + QUAD $0x000000a824848b48 // mov rax, qword [rsp + 168] QUAD $0x041e06442079e3c4 // vpinsrb xmm0, xmm0, byte [rsi + rax + 30], 4 QUAD $0x041f064c2071e3c4 // vpinsrb xmm1, xmm1, byte [rsi + rax + 31], 4 QUAD $0x051e1e442079a3c4 // vpinsrb xmm0, xmm0, byte [rsi + r11 + 30], 5 QUAD $0x051f1e4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rsi + r11 + 31], 5 - QUAD $0x000000a824848b48 // mov rax, qword [rsp + 168] + QUAD $0x000000b024848b48 // mov rax, qword [rsp + 176] QUAD $0x061e06442079e3c4 // vpinsrb xmm0, xmm0, byte [rsi + rax + 30], 6 QUAD $0x061f064c2071e3c4 // vpinsrb xmm1, xmm1, byte [rsi + rax + 31], 6 QUAD $0x00000110249c8b4c // mov r11, qword [rsp + 272] @@ -7624,7 +8020,7 @@ LBB1_166: LONG $0x20c18348 // add rcx, 32 WORD $0x8948; BYTE $0xc8 // mov rax, rcx QUAD $0x00000180248c3b48 // cmp rcx, qword [rsp + 384] - JNE LBB1_166 + JNE LBB1_167 QUAD $0x0000018824ac8b4c // mov r13, qword [rsp + 392] QUAD $0x0000018024ac3b4c // cmp r13, qword [rsp + 384] QUAD $0x0000011824bc8b4c // mov r15, qword [rsp + 280] @@ -7633,7 +8029,7 @@ LBB1_166: JNE LBB1_36 JMP LBB1_109 -LBB1_168: +LBB1_169: LONG $0xe0e78349 // and r15, -32 WORD $0x894c; BYTE $0xf8 // mov rax, r15 LONG $0x05e0c148 // shl rax, 5 @@ -7648,7 +8044,7 @@ LBB1_168: WORD $0xc031 // xor eax, eax QUAD $0x00000110249c894c // mov qword [rsp + 272], r11 -LBB1_169: +LBB1_170: WORD $0x8948; BYTE $0xc3 // mov rbx, rax QUAD $0x0000019824848948 // mov qword [rsp + 408], rax LONG $0x05e3c148 // shl rbx, 5 @@ -7660,13 +8056,13 @@ LBB1_169: QUAD $0x0000009824848948 // mov qword [rsp + 152], rax WORD $0x8948; BYTE $0xd8 // mov rax, rbx LONG $0x60c88348 // or rax, 96 - QUAD $0x000000b024848948 // mov qword [rsp + 176], rax + QUAD $0x000000a824848948 // mov qword [rsp + 168], rax WORD $0x8948; BYTE $0xd8 // mov rax, rbx LONG $0x00800d48; WORD $0x0000 // or rax, 128 LONG $0x24448948; BYTE $0x78 // mov qword [rsp + 120], rax WORD $0x8948; BYTE $0xd8 // mov rax, rbx LONG $0x00a00d48; WORD $0x0000 // or rax, 160 - QUAD $0x000000a824848948 // mov qword [rsp + 168], rax + QUAD $0x000000b024848948 // mov qword [rsp + 176], rax WORD $0x8948; BYTE $0xd8 // mov rax, rbx LONG $0x00c00d48; WORD $0x0000 // or rax, 192 QUAD $0x000000e824848948 // mov qword [rsp + 232], rax @@ -7805,11 +8201,11 @@ LBB1_169: LONG $0x2061a3c4; WORD $0x361c; BYTE $0x01 // vpinsrb xmm3, xmm3, byte [rsi + r14], 1 QUAD $0x0000009824948b4c // mov r10, qword [rsp + 152] LONG $0x2061a3c4; WORD $0x161c; BYTE $0x02 // vpinsrb xmm3, xmm3, byte [rsi + r10], 2 - QUAD $0x000000b024a48b4c // mov r12, qword [rsp + 176] + QUAD $0x000000a824a48b4c // mov r12, qword [rsp + 168] LONG $0x2061a3c4; WORD $0x261c; BYTE $0x03 // vpinsrb xmm3, xmm3, byte [rsi + r12], 3 LONG $0x24448b4c; BYTE $0x78 // mov r8, qword [rsp + 120] LONG $0x2061a3c4; WORD $0x061c; BYTE $0x04 // vpinsrb xmm3, xmm3, byte [rsi + r8], 4 - QUAD $0x000000a8249c8b4c // mov r11, qword [rsp + 168] + QUAD $0x000000b0249c8b4c // mov r11, qword [rsp + 176] LONG $0x2061a3c4; WORD $0x1e1c; BYTE $0x05 // vpinsrb xmm3, xmm3, byte [rsi + r11], 5 QUAD $0x000000e8248c8b4c // mov r9, qword [rsp + 232] LONG $0x2061a3c4; WORD $0x0e1c; BYTE $0x06 // vpinsrb xmm3, xmm3, byte [rsi + r9], 6 @@ -7924,11 +8320,11 @@ LBB1_169: QUAD $0x0102065c2061e3c4 // vpinsrb xmm3, xmm3, byte [rsi + rax + 2], 1 QUAD $0x0000009824bc8b48 // mov rdi, qword [rsp + 152] QUAD $0x02023e5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rsi + rdi + 2], 2 - QUAD $0x000000b024bc8b48 // mov rdi, qword [rsp + 176] + QUAD $0x000000a824bc8b48 // mov rdi, qword [rsp + 168] QUAD $0x03023e5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rsi + rdi + 2], 3 LONG $0x247c8b48; BYTE $0x78 // mov rdi, qword [rsp + 120] QUAD $0x04023e5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rsi + rdi + 2], 4 - QUAD $0x000000a824bc8b48 // mov rdi, qword [rsp + 168] + QUAD $0x000000b024bc8b48 // mov rdi, qword [rsp + 176] QUAD $0x05023e5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rsi + rdi + 2], 5 QUAD $0x000000e824bc8b48 // mov rdi, qword [rsp + 232] QUAD $0x06023e5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rsi + rdi + 2], 6 @@ -7973,11 +8369,11 @@ LBB1_169: QUAD $0x0103066c2039e3c4 // vpinsrb xmm5, xmm8, byte [rsi + rax + 3], 1 QUAD $0x00000098249c8b48 // mov rbx, qword [rsp + 152] QUAD $0x02031e6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rsi + rbx + 3], 2 - QUAD $0x000000b024848b48 // mov rax, qword [rsp + 176] + QUAD $0x000000a824848b48 // mov rax, qword [rsp + 168] QUAD $0x0303066c2051e3c4 // vpinsrb xmm5, xmm5, byte [rsi + rax + 3], 3 LONG $0x24448b48; BYTE $0x78 // mov rax, qword [rsp + 120] QUAD $0x0403066c2051e3c4 // vpinsrb xmm5, xmm5, byte [rsi + rax + 3], 4 - QUAD $0x000000a824948b4c // mov r10, qword [rsp + 168] + QUAD $0x000000b024948b4c // mov r10, qword [rsp + 176] QUAD $0x0503166c2051a3c4 // vpinsrb xmm5, xmm5, byte [rsi + r10 + 3], 5 QUAD $0x000000e824b48b4c // mov r14, qword [rsp + 232] QUAD $0x0603366c2051a3c4 // vpinsrb xmm5, xmm5, byte [rsi + r14 + 3], 6 @@ -8037,7 +8433,7 @@ LBB1_169: LONG $0x24448b48; BYTE $0x68 // mov rax, qword [rsp + 104] QUAD $0x0104065c2011e3c4 // vpinsrb xmm3, xmm13, byte [rsi + rax + 4], 1 QUAD $0x02041e5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rsi + rbx + 4], 2 - QUAD $0x000000b0249c8b4c // mov r11, qword [rsp + 176] + QUAD $0x000000a8249c8b4c // mov r11, qword [rsp + 168] QUAD $0x03041e5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rsi + r11 + 4], 3 LONG $0x24448b48; BYTE $0x78 // mov rax, qword [rsp + 120] QUAD $0x0404065c2061e3c4 // vpinsrb xmm3, xmm3, byte [rsi + rax + 4], 4 @@ -8092,7 +8488,7 @@ LBB1_169: QUAD $0x0205166c2051e3c4 // vpinsrb xmm5, xmm5, byte [rsi + rdx + 5], 2 QUAD $0x03051e6c2051a3c4 // vpinsrb xmm5, xmm5, byte [rsi + r11 + 5], 3 QUAD $0x0405066c2051e3c4 // vpinsrb xmm5, xmm5, byte [rsi + rax + 5], 4 - QUAD $0x000000a824848b48 // mov rax, qword [rsp + 168] + QUAD $0x000000b024848b48 // mov rax, qword [rsp + 176] QUAD $0x0505066c2051e3c4 // vpinsrb xmm5, xmm5, byte [rsi + rax + 5], 5 QUAD $0x06053e6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rsi + rdi + 5], 6 QUAD $0x0705166c2051a3c4 // vpinsrb xmm5, xmm5, byte [rsi + r10 + 5], 7 @@ -8147,11 +8543,11 @@ LBB1_169: QUAD $0x0106266c2041a3c4 // vpinsrb xmm5, xmm7, byte [rsi + r12 + 6], 1 QUAD $0x00000098248c8b48 // mov rcx, qword [rsp + 152] QUAD $0x02060e6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rsi + rcx + 6], 2 - QUAD $0x000000b0248c8b48 // mov rcx, qword [rsp + 176] + QUAD $0x000000a8248c8b48 // mov rcx, qword [rsp + 168] QUAD $0x03060e6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rsi + rcx + 6], 3 LONG $0x244c8b48; BYTE $0x78 // mov rcx, qword [rsp + 120] QUAD $0x04060e6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rsi + rcx + 6], 4 - QUAD $0x000000a824bc8b48 // mov rdi, qword [rsp + 168] + QUAD $0x000000b024bc8b48 // mov rdi, qword [rsp + 176] QUAD $0x05063e6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rsi + rdi + 6], 5 QUAD $0x000000e8249c8b48 // mov rbx, qword [rsp + 232] QUAD $0x06061e6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rsi + rbx + 6], 6 @@ -8200,7 +8596,7 @@ LBB1_169: QUAD $0x01070e4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rsi + rcx + 7], 1 QUAD $0x00000098248c8b48 // mov rcx, qword [rsp + 152] QUAD $0x02070e4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rsi + rcx + 7], 2 - QUAD $0x000000b0248c8b48 // mov rcx, qword [rsp + 176] + QUAD $0x000000a8248c8b48 // mov rcx, qword [rsp + 168] QUAD $0x03070e4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rsi + rcx + 7], 3 LONG $0x24548b48; BYTE $0x78 // mov rdx, qword [rsp + 120] QUAD $0x0407164c2071e3c4 // vpinsrb xmm1, xmm1, byte [rsi + rdx + 7], 4 @@ -8262,11 +8658,11 @@ LBB1_169: QUAD $0x0108066c2029e3c4 // vpinsrb xmm5, xmm10, byte [rsi + rax + 8], 1 QUAD $0x00000098248c8b4c // mov r9, qword [rsp + 152] QUAD $0x02080e6c2051a3c4 // vpinsrb xmm5, xmm5, byte [rsi + r9 + 8], 2 - QUAD $0x000000b024848b48 // mov rax, qword [rsp + 176] + QUAD $0x000000a824848b48 // mov rax, qword [rsp + 168] QUAD $0x0308066c2051e3c4 // vpinsrb xmm5, xmm5, byte [rsi + rax + 8], 3 LONG $0x247c8b48; BYTE $0x78 // mov rdi, qword [rsp + 120] QUAD $0x04083e6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rsi + rdi + 8], 4 - QUAD $0x000000a824848b48 // mov rax, qword [rsp + 168] + QUAD $0x000000b024848b48 // mov rax, qword [rsp + 176] QUAD $0x0508066c2051e3c4 // vpinsrb xmm5, xmm5, byte [rsi + rax + 8], 5 QUAD $0x000000e824bc8b4c // mov r15, qword [rsp + 232] QUAD $0x06083e6c2051a3c4 // vpinsrb xmm5, xmm5, byte [rsi + r15 + 8], 6 @@ -8313,10 +8709,10 @@ LBB1_169: LONG $0x244c8b48; BYTE $0x68 // mov rcx, qword [rsp + 104] QUAD $0x01090e7c2021e3c4 // vpinsrb xmm7, xmm11, byte [rsi + rcx + 9], 1 QUAD $0x02090e7c2041a3c4 // vpinsrb xmm7, xmm7, byte [rsi + r9 + 9], 2 - QUAD $0x000000b0248c8b48 // mov rcx, qword [rsp + 176] + QUAD $0x000000a8248c8b48 // mov rcx, qword [rsp + 168] QUAD $0x03090e7c2041e3c4 // vpinsrb xmm7, xmm7, byte [rsi + rcx + 9], 3 QUAD $0x04093e7c2041e3c4 // vpinsrb xmm7, xmm7, byte [rsi + rdi + 9], 4 - QUAD $0x000000a8249c8b4c // mov r11, qword [rsp + 168] + QUAD $0x000000b0249c8b4c // mov r11, qword [rsp + 176] QUAD $0x05091e7c2041a3c4 // vpinsrb xmm7, xmm7, byte [rsi + r11 + 9], 5 QUAD $0x06093e7c2041a3c4 // vpinsrb xmm7, xmm7, byte [rsi + r15 + 9], 6 QUAD $0x000000d8249c8b48 // mov rbx, qword [rsp + 216] @@ -8376,7 +8772,7 @@ LBB1_169: QUAD $0x010a06642059e3c4 // vpinsrb xmm4, xmm4, byte [rsi + rax + 10], 1 QUAD $0x0000009824848b48 // mov rax, qword [rsp + 152] QUAD $0x020a06642059e3c4 // vpinsrb xmm4, xmm4, byte [rsi + rax + 10], 2 - QUAD $0x000000b024bc8b48 // mov rdi, qword [rsp + 176] + QUAD $0x000000a824bc8b48 // mov rdi, qword [rsp + 168] QUAD $0x030a3e642059e3c4 // vpinsrb xmm4, xmm4, byte [rsi + rdi + 10], 3 LONG $0x24448b48; BYTE $0x78 // mov rax, qword [rsp + 120] QUAD $0x040a06642059e3c4 // vpinsrb xmm4, xmm4, byte [rsi + rax + 10], 4 @@ -8431,7 +8827,7 @@ LBB1_169: QUAD $0x030b3e542069e3c4 // vpinsrb xmm2, xmm2, byte [rsi + rdi + 11], 3 LONG $0x247c8b48; BYTE $0x78 // mov rdi, qword [rsp + 120] QUAD $0x040b3e542069e3c4 // vpinsrb xmm2, xmm2, byte [rsi + rdi + 11], 4 - QUAD $0x000000a824bc8b48 // mov rdi, qword [rsp + 168] + QUAD $0x000000b024bc8b48 // mov rdi, qword [rsp + 176] QUAD $0x050b3e542069e3c4 // vpinsrb xmm2, xmm2, byte [rsi + rdi + 11], 5 QUAD $0x060b1e542069a3c4 // vpinsrb xmm2, xmm2, byte [rsi + r11 + 11], 6 QUAD $0x000000d8248c8b4c // mov r9, qword [rsp + 216] @@ -8489,11 +8885,11 @@ LBB1_169: QUAD $0x010c16542051e3c4 // vpinsrb xmm2, xmm5, byte [rsi + rdx + 12], 1 WORD $0x894c; BYTE $0xf7 // mov rdi, r14 QUAD $0x020c36542069a3c4 // vpinsrb xmm2, xmm2, byte [rsi + r14 + 12], 2 - QUAD $0x000000b0249c8b4c // mov r11, qword [rsp + 176] + QUAD $0x000000a8249c8b4c // mov r11, qword [rsp + 168] QUAD $0x030c1e542069a3c4 // vpinsrb xmm2, xmm2, byte [rsi + r11 + 12], 3 LONG $0x24548b48; BYTE $0x78 // mov rdx, qword [rsp + 120] QUAD $0x040c16542069e3c4 // vpinsrb xmm2, xmm2, byte [rsi + rdx + 12], 4 - QUAD $0x000000a824b48b4c // mov r14, qword [rsp + 168] + QUAD $0x000000b024b48b4c // mov r14, qword [rsp + 176] QUAD $0x050c36542069a3c4 // vpinsrb xmm2, xmm2, byte [rsi + r14 + 12], 5 QUAD $0x000000e824848b48 // mov rax, qword [rsp + 232] QUAD $0x060c06542069e3c4 // vpinsrb xmm2, xmm2, byte [rsi + rax + 12], 6 @@ -8603,7 +8999,7 @@ LBB1_169: QUAD $0x010e16442079e3c4 // vpinsrb xmm0, xmm0, byte [rsi + rdx + 14], 1 QUAD $0x0000009824bc8b48 // mov rdi, qword [rsp + 152] QUAD $0x020e3e442079e3c4 // vpinsrb xmm0, xmm0, byte [rsi + rdi + 14], 2 - QUAD $0x000000b024a48b4c // mov r12, qword [rsp + 176] + QUAD $0x000000a824a48b4c // mov r12, qword [rsp + 168] QUAD $0x030e26442079a3c4 // vpinsrb xmm0, xmm0, byte [rsi + r12 + 14], 3 LONG $0x247c8b48; BYTE $0x78 // mov rdi, qword [rsp + 120] QUAD $0x040e3e442079e3c4 // vpinsrb xmm0, xmm0, byte [rsi + rdi + 14], 4 @@ -8662,7 +9058,7 @@ LBB1_169: QUAD $0x030f265c2061a3c4 // vpinsrb xmm3, xmm3, byte [rsi + r12 + 15], 3 LONG $0x24448b48; BYTE $0x78 // mov rax, qword [rsp + 120] QUAD $0x040f065c2061e3c4 // vpinsrb xmm3, xmm3, byte [rsi + rax + 15], 4 - QUAD $0x000000a824948b48 // mov rdx, qword [rsp + 168] + QUAD $0x000000b024948b48 // mov rdx, qword [rsp + 176] QUAD $0x050f165c2061e3c4 // vpinsrb xmm3, xmm3, byte [rsi + rdx + 15], 5 QUAD $0x000000e824848b48 // mov rax, qword [rsp + 232] QUAD $0x060f065c2061e3c4 // vpinsrb xmm3, xmm3, byte [rsi + rax + 15], 6 @@ -8722,7 +9118,7 @@ LBB1_169: QUAD $0x01103e4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rsi + rdi + 16], 1 QUAD $0x0000009824bc8b48 // mov rdi, qword [rsp + 152] QUAD $0x02103e4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rsi + rdi + 16], 2 - QUAD $0x000000b024bc8b48 // mov rdi, qword [rsp + 176] + QUAD $0x000000a824bc8b48 // mov rdi, qword [rsp + 168] QUAD $0x03103e4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rsi + rdi + 16], 3 LONG $0x246c8b4c; BYTE $0x78 // mov r13, qword [rsp + 120] QUAD $0x04102e4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rsi + r13 + 16], 4 @@ -8778,10 +9174,10 @@ LBB1_169: QUAD $0x01110e5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rsi + rcx + 17], 1 QUAD $0x00000098248c8b48 // mov rcx, qword [rsp + 152] QUAD $0x02110e5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rsi + rcx + 17], 2 - QUAD $0x000000b024848b4c // mov r8, qword [rsp + 176] + QUAD $0x000000a824848b4c // mov r8, qword [rsp + 168] QUAD $0x0311065c2061a3c4 // vpinsrb xmm3, xmm3, byte [rsi + r8 + 17], 3 QUAD $0x04112e5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rsi + r13 + 17], 4 - QUAD $0x000000a824bc8b48 // mov rdi, qword [rsp + 168] + QUAD $0x000000b024bc8b48 // mov rdi, qword [rsp + 176] QUAD $0x05113e5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rsi + rdi + 17], 5 QUAD $0x000000e824bc8b48 // mov rdi, qword [rsp + 232] QUAD $0x06113e5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rsi + rdi + 17], 6 @@ -8841,7 +9237,7 @@ LBB1_169: QUAD $0x0312064c2071a3c4 // vpinsrb xmm1, xmm1, byte [rsi + r8 + 18], 3 LONG $0x24548b4c; BYTE $0x78 // mov r10, qword [rsp + 120] QUAD $0x0412164c2071a3c4 // vpinsrb xmm1, xmm1, byte [rsi + r10 + 18], 4 - QUAD $0x000000a824b48b4c // mov r14, qword [rsp + 168] + QUAD $0x000000b024b48b4c // mov r14, qword [rsp + 176] QUAD $0x0512364c2071a3c4 // vpinsrb xmm1, xmm1, byte [rsi + r14 + 18], 5 QUAD $0x000000e824848b48 // mov rax, qword [rsp + 232] QUAD $0x0612064c2071e3c4 // vpinsrb xmm1, xmm1, byte [rsi + rax + 18], 6 @@ -8898,7 +9294,7 @@ LBB1_169: QUAD $0x01132e5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rsi + r13 + 19], 1 QUAD $0x0000009824948b48 // mov rdx, qword [rsp + 152] QUAD $0x0213165c2061e3c4 // vpinsrb xmm3, xmm3, byte [rsi + rdx + 19], 2 - QUAD $0x000000b024948b48 // mov rdx, qword [rsp + 176] + QUAD $0x000000a824948b48 // mov rdx, qword [rsp + 168] QUAD $0x0313165c2061e3c4 // vpinsrb xmm3, xmm3, byte [rsi + rdx + 19], 3 QUAD $0x0413165c2061a3c4 // vpinsrb xmm3, xmm3, byte [rsi + r10 + 19], 4 QUAD $0x0513365c2061a3c4 // vpinsrb xmm3, xmm3, byte [rsi + r14 + 19], 5 @@ -8963,7 +9359,7 @@ LBB1_169: QUAD $0x0314164c2071e3c4 // vpinsrb xmm1, xmm1, byte [rsi + rdx + 20], 3 LONG $0x24448b48; BYTE $0x78 // mov rax, qword [rsp + 120] QUAD $0x0414064c2071e3c4 // vpinsrb xmm1, xmm1, byte [rsi + rax + 20], 4 - QUAD $0x000000a824948b48 // mov rdx, qword [rsp + 168] + QUAD $0x000000b024948b48 // mov rdx, qword [rsp + 176] QUAD $0x0514164c2071e3c4 // vpinsrb xmm1, xmm1, byte [rsi + rdx + 20], 5 QUAD $0x06141e4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rsi + rbx + 20], 6 QUAD $0x000000d824948b48 // mov rdx, qword [rsp + 216] @@ -9016,10 +9412,10 @@ LBB1_169: LONG $0x247c8b48; BYTE $0x68 // mov rdi, qword [rsp + 104] QUAD $0x01153e5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rsi + rdi + 21], 1 QUAD $0x0215065c2061a3c4 // vpinsrb xmm3, xmm3, byte [rsi + r8 + 21], 2 - QUAD $0x000000b024bc8b48 // mov rdi, qword [rsp + 176] + QUAD $0x000000a824bc8b48 // mov rdi, qword [rsp + 168] QUAD $0x03153e5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rsi + rdi + 21], 3 QUAD $0x0415065c2061e3c4 // vpinsrb xmm3, xmm3, byte [rsi + rax + 21], 4 - QUAD $0x000000a824848b48 // mov rax, qword [rsp + 168] + QUAD $0x000000b024848b48 // mov rax, qword [rsp + 176] QUAD $0x0515065c2061e3c4 // vpinsrb xmm3, xmm3, byte [rsi + rax + 21], 5 QUAD $0x000000e824848b4c // mov r8, qword [rsp + 232] QUAD $0x0615065c2061a3c4 // vpinsrb xmm3, xmm3, byte [rsi + r8 + 21], 6 @@ -9076,11 +9472,11 @@ LBB1_169: QUAD $0x0116164c2071a3c4 // vpinsrb xmm1, xmm1, byte [rsi + r10 + 22], 1 QUAD $0x00000098248c8b48 // mov rcx, qword [rsp + 152] QUAD $0x02160e4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rsi + rcx + 22], 2 - QUAD $0x000000b024948b48 // mov rdx, qword [rsp + 176] + QUAD $0x000000a824948b48 // mov rdx, qword [rsp + 168] QUAD $0x0316164c2071e3c4 // vpinsrb xmm1, xmm1, byte [rsi + rdx + 22], 3 LONG $0x24548b48; BYTE $0x78 // mov rdx, qword [rsp + 120] QUAD $0x0416164c2071e3c4 // vpinsrb xmm1, xmm1, byte [rsi + rdx + 22], 4 - QUAD $0x000000a824948b48 // mov rdx, qword [rsp + 168] + QUAD $0x000000b024948b48 // mov rdx, qword [rsp + 176] QUAD $0x0516164c2071e3c4 // vpinsrb xmm1, xmm1, byte [rsi + rdx + 22], 5 QUAD $0x0616064c2071a3c4 // vpinsrb xmm1, xmm1, byte [rsi + r8 + 22], 6 QUAD $0x07163e4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rsi + r15 + 22], 7 @@ -9133,11 +9529,11 @@ LBB1_169: LONG $0xdf6ef9c5 // vmovd xmm3, edi QUAD $0x0117165c2061a3c4 // vpinsrb xmm3, xmm3, byte [rsi + r10 + 23], 1 QUAD $0x02170e5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rsi + rcx + 23], 2 - QUAD $0x000000b0248c8b48 // mov rcx, qword [rsp + 176] + QUAD $0x000000a8248c8b48 // mov rcx, qword [rsp + 168] QUAD $0x03170e5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rsi + rcx + 23], 3 LONG $0x245c8b48; BYTE $0x78 // mov rbx, qword [rsp + 120] QUAD $0x04171e5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rsi + rbx + 23], 4 - QUAD $0x000000a824948b4c // mov r10, qword [rsp + 168] + QUAD $0x000000b024948b4c // mov r10, qword [rsp + 176] QUAD $0x0517165c2061a3c4 // vpinsrb xmm3, xmm3, byte [rsi + r10 + 23], 5 QUAD $0x0617065c2061a3c4 // vpinsrb xmm3, xmm3, byte [rsi + r8 + 23], 6 QUAD $0x000000d824bc8b48 // mov rdi, qword [rsp + 216] @@ -9251,11 +9647,11 @@ LBB1_169: QUAD $0x0119165c2061e3c4 // vpinsrb xmm3, xmm3, byte [rsi + rdx + 25], 1 QUAD $0x0000009824bc8b48 // mov rdi, qword [rsp + 152] QUAD $0x02193e5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rsi + rdi + 25], 2 - QUAD $0x000000b024bc8b48 // mov rdi, qword [rsp + 176] + QUAD $0x000000a824bc8b48 // mov rdi, qword [rsp + 168] QUAD $0x03193e5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rsi + rdi + 25], 3 LONG $0x247c8b48; BYTE $0x78 // mov rdi, qword [rsp + 120] QUAD $0x04193e5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rsi + rdi + 25], 4 - QUAD $0x000000a824bc8b48 // mov rdi, qword [rsp + 168] + QUAD $0x000000b024bc8b48 // mov rdi, qword [rsp + 176] QUAD $0x05193e5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rsi + rdi + 25], 5 QUAD $0x0619165c2061a3c4 // vpinsrb xmm3, xmm3, byte [rsi + r10 + 25], 6 QUAD $0x000000d824bc8b48 // mov rdi, qword [rsp + 216] @@ -9308,11 +9704,11 @@ LBB1_169: QUAD $0x011a164c2071e3c4 // vpinsrb xmm1, xmm1, byte [rsi + rdx + 26], 1 QUAD $0x0000009824b48b4c // mov r14, qword [rsp + 152] QUAD $0x021a364c2071a3c4 // vpinsrb xmm1, xmm1, byte [rsi + r14 + 26], 2 - QUAD $0x000000b024bc8b4c // mov r15, qword [rsp + 176] + QUAD $0x000000a824bc8b4c // mov r15, qword [rsp + 168] QUAD $0x031a3e4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rsi + r15 + 26], 3 LONG $0x24448b48; BYTE $0x78 // mov rax, qword [rsp + 120] QUAD $0x041a064c2071e3c4 // vpinsrb xmm1, xmm1, byte [rsi + rax + 26], 4 - QUAD $0x000000a824848b48 // mov rax, qword [rsp + 168] + QUAD $0x000000b024848b48 // mov rax, qword [rsp + 176] QUAD $0x051a064c2071e3c4 // vpinsrb xmm1, xmm1, byte [rsi + rax + 26], 5 QUAD $0x000000e824848b48 // mov rax, qword [rsp + 232] QUAD $0x061a064c2071e3c4 // vpinsrb xmm1, xmm1, byte [rsi + rax + 26], 6 @@ -9370,7 +9766,7 @@ LBB1_169: QUAD $0x031b3e5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rsi + r15 + 27], 3 LONG $0x247c8b48; BYTE $0x78 // mov rdi, qword [rsp + 120] QUAD $0x041b3e5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rsi + rdi + 27], 4 - QUAD $0x000000a824bc8b48 // mov rdi, qword [rsp + 168] + QUAD $0x000000b024bc8b48 // mov rdi, qword [rsp + 176] QUAD $0x051b3e5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rsi + rdi + 27], 5 QUAD $0x000000e824b48b4c // mov r14, qword [rsp + 232] QUAD $0x061b365c2061a3c4 // vpinsrb xmm3, xmm3, byte [rsi + r14 + 27], 6 @@ -9428,11 +9824,11 @@ LBB1_169: QUAD $0x011c064c2071e3c4 // vpinsrb xmm1, xmm1, byte [rsi + rax + 28], 1 QUAD $0x0000009824848b48 // mov rax, qword [rsp + 152] QUAD $0x021c064c2071e3c4 // vpinsrb xmm1, xmm1, byte [rsi + rax + 28], 2 - QUAD $0x000000b024ac8b4c // mov r13, qword [rsp + 176] + QUAD $0x000000a824ac8b4c // mov r13, qword [rsp + 168] QUAD $0x031c2e4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rsi + r13 + 28], 3 LONG $0x247c8b48; BYTE $0x78 // mov rdi, qword [rsp + 120] QUAD $0x041c3e4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rsi + rdi + 28], 4 - QUAD $0x000000a824948b4c // mov r10, qword [rsp + 168] + QUAD $0x000000b024948b4c // mov r10, qword [rsp + 176] QUAD $0x051c164c2071a3c4 // vpinsrb xmm1, xmm1, byte [rsi + r10 + 28], 5 QUAD $0x061c364c2071a3c4 // vpinsrb xmm1, xmm1, byte [rsi + r14 + 28], 6 WORD $0x894d; BYTE $0xfe // mov r14, r15 @@ -9569,12 +9965,12 @@ LBB1_169: QUAD $0x0000009824848b48 // mov rax, qword [rsp + 152] QUAD $0x021e064c2071e3c4 // vpinsrb xmm1, xmm1, byte [rsi + rax + 30], 2 QUAD $0x021f067c2041e3c4 // vpinsrb xmm7, xmm7, byte [rsi + rax + 31], 2 - QUAD $0x000000b024848b48 // mov rax, qword [rsp + 176] + QUAD $0x000000a824848b48 // mov rax, qword [rsp + 168] QUAD $0x031e064c2071e3c4 // vpinsrb xmm1, xmm1, byte [rsi + rax + 30], 3 QUAD $0x031f067c2041e3c4 // vpinsrb xmm7, xmm7, byte [rsi + rax + 31], 3 QUAD $0x041e2e4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rsi + r13 + 30], 4 QUAD $0x041f2e7c2041a3c4 // vpinsrb xmm7, xmm7, byte [rsi + r13 + 31], 4 - QUAD $0x000000a824848b48 // mov rax, qword [rsp + 168] + QUAD $0x000000b024848b48 // mov rax, qword [rsp + 176] QUAD $0x051e064c2071e3c4 // vpinsrb xmm1, xmm1, byte [rsi + rax + 30], 5 QUAD $0x051f067c2041e3c4 // vpinsrb xmm7, xmm7, byte [rsi + rax + 31], 5 QUAD $0x061e164c2071a3c4 // vpinsrb xmm1, xmm1, byte [rsi + r10 + 30], 6 @@ -9739,7 +10135,7 @@ LBB1_169: LONG $0x20c18348 // add rcx, 32 WORD $0x8948; BYTE $0xc8 // mov rax, rcx QUAD $0x00000180248c3b48 // cmp rcx, qword [rsp + 384] - JNE LBB1_169 + JNE LBB1_170 QUAD $0x0000018824bc8b4c // mov r15, qword [rsp + 392] QUAD $0x0000018024bc3b4c // cmp r15, qword [rsp + 384] QUAD $0x0000011824948b4c // mov r10, qword [rsp + 280] @@ -9793,7 +10189,7 @@ TEXT ·_comparison_equal_scalar_arr_avx2(SB), $1320-48 LEAQ LCDATA2<>(SB), BP WORD $0x894d; BYTE $0xc2 // mov r10, r8 - WORD $0x8949; BYTE $0xcb // mov r11, rcx + WORD $0x8949; BYTE $0xce // mov r14, rcx WORD $0xff83; BYTE $0x06 // cmp edi, 6 JG LBB2_17 WORD $0xff83; BYTE $0x03 // cmp edi, 3 @@ -9803,11 +10199,11 @@ TEXT ·_comparison_equal_scalar_arr_avx2(SB), $1320-48 WORD $0xff83; BYTE $0x05 // cmp edi, 5 JE LBB2_72 WORD $0xff83; BYTE $0x06 // cmp edi, 6 - JNE LBB2_157 + JNE LBB2_165 WORD $0x8b44; BYTE $0x2e // mov r13d, dword [rsi] - LONG $0x1f728d4d // lea r14, [r10 + 31] + LONG $0x1f5a8d4d // lea r11, [r10 + 31] WORD $0x854d; BYTE $0xd2 // test r10, r10 - LONG $0xf2490f4d // cmovns r14, r10 + LONG $0xda490f4d // cmovns r11, r10 LONG $0x07418d41 // lea eax, [r9 + 7] WORD $0x8545; BYTE $0xc9 // test r9d, r9d LONG $0xc1490f41 // cmovns eax, r9d @@ -9825,8 +10221,8 @@ LBB2_7: WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xf0490f48 // cmovns rsi, rax LONG $0x03fec148 // sar rsi, 3 - WORD $0x894d; BYTE $0xd9 // mov r9, r11 - LONG $0x04b60f45; BYTE $0x33 // movzx r8d, byte [r11 + rsi] + WORD $0x894d; BYTE $0xf1 // mov r9, r14 + LONG $0x04b60f45; BYTE $0x36 // movzx r8d, byte [r14 + rsi] WORD $0x3044; BYTE $0xc3 // xor bl, r8b LONG $0x00f53c8d; WORD $0x0000; BYTE $0x00 // lea edi, [8*rsi] WORD $0xc189 // mov ecx, eax @@ -9835,40 +10231,40 @@ LBB2_7: WORD $0xe7d3 // shl edi, cl WORD $0x2040; BYTE $0xdf // and dil, bl WORD $0x3044; BYTE $0xc7 // xor dil, r8b - LONG $0x333c8841 // mov byte [r11 + rsi], dil + LONG $0x363c8841 // mov byte [r14 + rsi], dil LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 JNE LBB2_7 - LONG $0x01c38349 // add r11, 1 + LONG $0x01c68349 // add r14, 1 LBB2_9: - LONG $0x05fec149 // sar r14, 5 + LONG $0x05fbc149 // sar r11, 5 LONG $0x20fa8349 // cmp r10, 32 JL LBB2_13 QUAD $0x000001182494894c // mov qword [rsp + 280], r10 - QUAD $0x000000b024b4894c // mov qword [rsp + 176], r14 - QUAD $0x000000a824b4894c // mov qword [rsp + 168], r14 + QUAD $0x000000a8249c894c // mov qword [rsp + 168], r11 + QUAD $0x000000b0249c894c // mov qword [rsp + 176], r11 LBB2_11: - QUAD $0x00000110249c894c // mov qword [rsp + 272], r11 + QUAD $0x0000011024b4894c // mov qword [rsp + 272], r14 WORD $0x3b44; BYTE $0x2a // cmp r13d, dword [rdx] - QUAD $0x000000982494940f // sete byte [rsp + 152] + QUAD $0x000000a02494940f // sete byte [rsp + 160] LONG $0x046a3b44 // cmp r13d, dword [rdx + 4] - LONG $0xd7940f40 // sete dil + LONG $0xd2940f41 // sete r10b LONG $0x086a3b44 // cmp r13d, dword [rdx + 8] LONG $0xd6940f41 // sete r14b LONG $0x0c6a3b44 // cmp r13d, dword [rdx + 12] - QUAD $0x000000a02494940f // sete byte [rsp + 160] + QUAD $0x000000882494940f // sete byte [rsp + 136] LONG $0x106a3b44 // cmp r13d, dword [rdx + 16] - LONG $0x2454940f; BYTE $0x70 // sete byte [rsp + 112] + LONG $0x2454940f; BYTE $0x50 // sete byte [rsp + 80] LONG $0x146a3b44 // cmp r13d, dword [rdx + 20] - QUAD $0x000000902494940f // sete byte [rsp + 144] + LONG $0x2454940f; BYTE $0x70 // sete byte [rsp + 112] LONG $0x186a3b44 // cmp r13d, dword [rdx + 24] - WORD $0x940f; BYTE $0xd0 // sete al + WORD $0x940f; BYTE $0xd3 // sete bl LONG $0x1c6a3b44 // cmp r13d, dword [rdx + 28] - LONG $0xd3940f41 // sete r11b + LONG $0xd7940f40 // sete dil LONG $0x206a3b44 // cmp r13d, dword [rdx + 32] - LONG $0x2454940f; BYTE $0x50 // sete byte [rsp + 80] + QUAD $0x000000902494940f // sete byte [rsp + 144] LONG $0x246a3b44 // cmp r13d, dword [rdx + 36] LONG $0xd6940f40 // sete sil LONG $0x286a3b44 // cmp r13d, dword [rdx + 40] @@ -9876,37 +10272,37 @@ LBB2_11: LONG $0x2c6a3b44 // cmp r13d, dword [rdx + 44] LONG $0xd1940f41 // sete r9b LONG $0x306a3b44 // cmp r13d, dword [rdx + 48] - LONG $0xd2940f41 // sete r10b + LONG $0xd3940f41 // sete r11b LONG $0x346a3b44 // cmp r13d, dword [rdx + 52] LONG $0xd4940f41 // sete r12b LONG $0x386a3b44 // cmp r13d, dword [rdx + 56] - LONG $0x2454940f; BYTE $0x58 // sete byte [rsp + 88] + QUAD $0x000000982494940f // sete byte [rsp + 152] LONG $0x3c6a3b44 // cmp r13d, dword [rdx + 60] - WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0x940f; BYTE $0xd0 // sete al LONG $0x406a3b44 // cmp r13d, dword [rdx + 64] - QUAD $0x000000802494940f // sete byte [rsp + 128] - LONG $0x446a3b44 // cmp r13d, dword [rdx + 68] LONG $0x2454940f; BYTE $0x60 // sete byte [rsp + 96] + LONG $0x446a3b44 // cmp r13d, dword [rdx + 68] + LONG $0x2454940f; BYTE $0x40 // sete byte [rsp + 64] LONG $0x486a3b44 // cmp r13d, dword [rdx + 72] - LONG $0x2454940f; BYTE $0x68 // sete byte [rsp + 104] + LONG $0x2454940f; BYTE $0x48 // sete byte [rsp + 72] LONG $0x4c6a3b44 // cmp r13d, dword [rdx + 76] - LONG $0x2454940f; BYTE $0x78 // sete byte [rsp + 120] + LONG $0x2454940f; BYTE $0x58 // sete byte [rsp + 88] LONG $0x506a3b44 // cmp r13d, dword [rdx + 80] - QUAD $0x000000882494940f // sete byte [rsp + 136] + LONG $0x2454940f; BYTE $0x68 // sete byte [rsp + 104] LONG $0x546a3b44 // cmp r13d, dword [rdx + 84] - LONG $0x2454940f; BYTE $0x30 // sete byte [rsp + 48] + LONG $0x2454940f; BYTE $0x78 // sete byte [rsp + 120] LONG $0x586a3b44 // cmp r13d, dword [rdx + 88] - LONG $0x2454940f; BYTE $0x38 // sete byte [rsp + 56] + QUAD $0x000000802494940f // sete byte [rsp + 128] LONG $0x5c6a3b44 // cmp r13d, dword [rdx + 92] LONG $0xd7940f41 // sete r15b LONG $0x606a3b44 // cmp r13d, dword [rdx + 96] - LONG $0x2454940f; BYTE $0x20 // sete byte [rsp + 32] + LONG $0x2454940f; BYTE $0x28 // sete byte [rsp + 40] LONG $0x646a3b44 // cmp r13d, dword [rdx + 100] - LONG $0x2454940f; BYTE $0x40 // sete byte [rsp + 64] + LONG $0x2454940f; BYTE $0x30 // sete byte [rsp + 48] LONG $0x686a3b44 // cmp r13d, dword [rdx + 104] - LONG $0x2454940f; BYTE $0x48 // sete byte [rsp + 72] + LONG $0x2454940f; BYTE $0x38 // sete byte [rsp + 56] LONG $0x6c6a3b44 // cmp r13d, dword [rdx + 108] - LONG $0x2454940f; BYTE $0x28 // sete byte [rsp + 40] + LONG $0x2454940f; BYTE $0x20 // sete byte [rsp + 32] LONG $0x706a3b44 // cmp r13d, dword [rdx + 112] QUAD $0x000001402494940f // sete byte [rsp + 320] LONG $0x746a3b44 // cmp r13d, dword [rdx + 116] @@ -9914,111 +10310,109 @@ LBB2_11: LONG $0x786a3b44 // cmp r13d, dword [rdx + 120] LONG $0x2454940f; BYTE $0x1c // sete byte [rsp + 28] LONG $0x7c6a3b44 // cmp r13d, dword [rdx + 124] - WORD $0x940f; BYTE $0xd3 // sete bl - WORD $0x0040; BYTE $0xff // add dil, dil - QUAD $0x0000009824bc0240 // add dil, byte [rsp + 152] - WORD $0xe0c0; BYTE $0x06 // shl al, 6 - LONG $0x07e3c041 // shl r11b, 7 - WORD $0x0841; BYTE $0xc3 // or r11b, al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0x0045; BYTE $0xd2 // add r10b, r10b + QUAD $0x000000a024940244 // add r10b, byte [rsp + 160] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 + LONG $0x07e7c040 // shl dil, 7 + WORD $0x0840; BYTE $0xdf // or dil, bl LONG $0x02e6c041 // shl r14b, 2 - WORD $0x0841; BYTE $0xfe // or r14b, dil + WORD $0x0845; BYTE $0xd6 // or r14b, r10b WORD $0x0040; BYTE $0xf6 // add sil, sil - LONG $0x24740240; BYTE $0x50 // add sil, byte [rsp + 80] - QUAD $0x000000a02484b60f // movzx eax, byte [rsp + 160] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0x0844; BYTE $0xf0 // or al, r14b - WORD $0xc789 // mov edi, eax + QUAD $0x0000009024b40240 // add sil, byte [rsp + 144] + QUAD $0x00000088249cb60f // movzx ebx, byte [rsp + 136] + WORD $0xe3c0; BYTE $0x03 // shl bl, 3 + WORD $0x0844; BYTE $0xf3 // or bl, r14b + WORD $0x8941; BYTE $0xda // mov r10d, ebx + QUAD $0x0000011024b48b4c // mov r14, qword [rsp + 272] LONG $0x02e0c041 // shl r8b, 2 WORD $0x0841; BYTE $0xf0 // or r8b, sil - LONG $0x2444b60f; BYTE $0x70 // movzx eax, byte [rsp + 112] - WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0x0840; BYTE $0xf8 // or al, dil - WORD $0xc789 // mov edi, eax + LONG $0x245cb60f; BYTE $0x50 // movzx ebx, byte [rsp + 80] + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0x0844; BYTE $0xd3 // or bl, r10b + WORD $0xde89 // mov esi, ebx LONG $0x03e1c041 // shl r9b, 3 WORD $0x0845; BYTE $0xc1 // or r9b, r8b - QUAD $0x000000902484b60f // movzx eax, byte [rsp + 144] - WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0x0840; BYTE $0xf8 // or al, dil - LONG $0x04e2c041 // shl r10b, 4 - WORD $0x0845; BYTE $0xca // or r10b, r9b + LONG $0x245cb60f; BYTE $0x70 // movzx ebx, byte [rsp + 112] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + WORD $0x0840; BYTE $0xf3 // or bl, sil + LONG $0x04e3c041 // shl r11b, 4 + WORD $0x0845; BYTE $0xcb // or r11b, r9b LONG $0x05e4c041 // shl r12b, 5 - WORD $0x0845; BYTE $0xd4 // or r12b, r10b - LONG $0x2474b60f; BYTE $0x58 // movzx esi, byte [rsp + 88] + WORD $0x0845; BYTE $0xdc // or r12b, r11b + QUAD $0x0000009824b4b60f // movzx esi, byte [rsp + 152] LONG $0x06e6c040 // shl sil, 6 - WORD $0xe1c0; BYTE $0x07 // shl cl, 7 - WORD $0x0840; BYTE $0xf1 // or cl, sil - WORD $0x0841; BYTE $0xc3 // or r11b, al - WORD $0x0844; BYTE $0xe1 // or cl, r12b - LONG $0x2444b60f; BYTE $0x60 // movzx eax, byte [rsp + 96] - WORD $0xc000 // add al, al - LONG $0x80248402; WORD $0x0000; BYTE $0x00 // add al, byte [rsp + 128] - WORD $0xc689 // mov esi, eax - LONG $0x2444b60f; BYTE $0x68 // movzx eax, byte [rsp + 104] - WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0x0840; BYTE $0xf0 // or al, sil - WORD $0xc689 // mov esi, eax - LONG $0x2444b60f; BYTE $0x78 // movzx eax, byte [rsp + 120] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0x0840; BYTE $0xf0 // or al, sil - WORD $0xc689 // mov esi, eax - QUAD $0x000000882484b60f // movzx eax, byte [rsp + 136] - WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0x0840; BYTE $0xf0 // or al, sil - WORD $0xc689 // mov esi, eax - LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] - WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0xe0c0; BYTE $0x07 // shl al, 7 WORD $0x0840; BYTE $0xf0 // or al, sil - WORD $0xc689 // mov esi, eax - QUAD $0x0000011024848b48 // mov rax, qword [rsp + 272] - WORD $0x8844; BYTE $0x18 // mov byte [rax], r11b - QUAD $0x00000110249c8b4c // mov r11, qword [rsp + 272] - LONG $0x2444b60f; BYTE $0x38 // movzx eax, byte [rsp + 56] - WORD $0xe0c0; BYTE $0x06 // shl al, 6 + WORD $0x0840; BYTE $0xdf // or dil, bl + WORD $0x0844; BYTE $0xe0 // or al, r12b + LONG $0x245cb60f; BYTE $0x40 // movzx ebx, byte [rsp + 64] + WORD $0xdb00 // add bl, bl + LONG $0x60245c02 // add bl, byte [rsp + 96] + WORD $0xde89 // mov esi, ebx + LONG $0x245cb60f; BYTE $0x48 // movzx ebx, byte [rsp + 72] + WORD $0xe3c0; BYTE $0x02 // shl bl, 2 + WORD $0x0840; BYTE $0xf3 // or bl, sil + WORD $0xde89 // mov esi, ebx + LONG $0x245cb60f; BYTE $0x58 // movzx ebx, byte [rsp + 88] + WORD $0xe3c0; BYTE $0x03 // shl bl, 3 + WORD $0x0840; BYTE $0xf3 // or bl, sil + WORD $0xde89 // mov esi, ebx + LONG $0x245cb60f; BYTE $0x68 // movzx ebx, byte [rsp + 104] + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0x0840; BYTE $0xf3 // or bl, sil + WORD $0xde89 // mov esi, ebx + LONG $0x245cb60f; BYTE $0x78 // movzx ebx, byte [rsp + 120] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + WORD $0x0840; BYTE $0xf3 // or bl, sil + WORD $0x8841; BYTE $0x3e // mov byte [r14], dil + QUAD $0x0000008024b4b60f // movzx esi, byte [rsp + 128] + LONG $0x06e6c040 // shl sil, 6 LONG $0x07e7c041 // shl r15b, 7 - WORD $0x0841; BYTE $0xc7 // or r15b, al - LONG $0x014b8841 // mov byte [r11 + 1], cl WORD $0x0841; BYTE $0xf7 // or r15b, sil - LONG $0x2444b60f; BYTE $0x40 // movzx eax, byte [rsp + 64] + LONG $0x01468841 // mov byte [r14 + 1], al + WORD $0x0841; BYTE $0xdf // or r15b, bl + LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] WORD $0xc000 // add al, al - LONG $0x20244402 // add al, byte [rsp + 32] - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x48 // movzx eax, byte [rsp + 72] + LONG $0x28244402 // add al, byte [rsp + 40] + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x38 // movzx eax, byte [rsp + 56] WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax QUAD $0x000001402484b60f // movzx eax, byte [rsp + 320] WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax QUAD $0x000001202484b60f // movzx eax, byte [rsp + 288] WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - LONG $0x244cb60f; BYTE $0x1c // movzx ecx, byte [rsp + 28] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 - WORD $0xe3c0; BYTE $0x07 // shl bl, 7 - WORD $0xcb08 // or bl, cl - WORD $0xc308 // or bl, al - LONG $0x027b8845 // mov byte [r11 + 2], r15b - LONG $0x035b8841 // mov byte [r11 + 3], bl + WORD $0xd808 // or al, bl + LONG $0x245cb60f; BYTE $0x1c // movzx ebx, byte [rsp + 28] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 + WORD $0xe1c0; BYTE $0x07 // shl cl, 7 + WORD $0xd908 // or cl, bl + WORD $0xc108 // or cl, al + LONG $0x027e8845 // mov byte [r14 + 2], r15b + LONG $0x034e8841 // mov byte [r14 + 3], cl LONG $0x80c28148; WORD $0x0000; BYTE $0x00 // add rdx, 128 - LONG $0x04c38349 // add r11, 4 - QUAD $0x000000a824848348; BYTE $0xff // add qword [rsp + 168], -1 + LONG $0x04c68349 // add r14, 4 + QUAD $0x000000b024848348; BYTE $0xff // add qword [rsp + 176], -1 JNE LBB2_11 QUAD $0x0000011824948b4c // mov r10, qword [rsp + 280] - QUAD $0x000000b024b48b4c // mov r14, qword [rsp + 176] + QUAD $0x000000a8249c8b4c // mov r11, qword [rsp + 168] LBB2_13: - LONG $0x05e6c149 // shl r14, 5 - WORD $0x394d; BYTE $0xd6 // cmp r14, r10 - JGE LBB2_157 + LONG $0x05e3c149 // shl r11, 5 + WORD $0x394d; BYTE $0xd3 // cmp r11, r10 + JGE LBB2_165 WORD $0x894d; BYTE $0xd0 // mov r8, r10 - WORD $0x294d; BYTE $0xf0 // sub r8, r14 - WORD $0xf749; BYTE $0xd6 // not r14 - WORD $0x014d; BYTE $0xd6 // add r14, r10 + WORD $0x294d; BYTE $0xd8 // sub r8, r11 + WORD $0xf749; BYTE $0xd3 // not r11 + WORD $0x014d; BYTE $0xd3 // add r11, r10 JE LBB2_127 WORD $0x894d; BYTE $0xc2 // mov r10, r8 LONG $0xfee28349 // and r10, -2 @@ -10030,8 +10424,8 @@ LBB2_16: WORD $0xd8f6 // neg al WORD $0x8948; BYTE $0xfe // mov rsi, rdi LONG $0x03eec148 // shr rsi, 3 - WORD $0x894d; BYTE $0xde // mov r14, r11 - LONG $0x0cb60f45; BYTE $0x33 // movzx r9d, byte [r11 + rsi] + WORD $0x894d; BYTE $0xf3 // mov r11, r14 + LONG $0x0cb60f45; BYTE $0x36 // movzx r9d, byte [r14 + rsi] WORD $0xf989 // mov ecx, edi WORD $0xe180; BYTE $0x06 // and cl, 6 WORD $0x01b3 // mov bl, 1 @@ -10039,7 +10433,7 @@ LBB2_16: WORD $0x3044; BYTE $0xc8 // xor al, r9b WORD $0xc320 // and bl, al WORD $0x3044; BYTE $0xcb // xor bl, r9b - LONG $0x331c8841 // mov byte [r11 + rsi], bl + LONG $0x361c8841 // mov byte [r14 + rsi], bl LONG $0x02c78348 // add rdi, 2 LONG $0x046a3b44 // cmp r13d, dword [rdx + 4] LONG $0x08528d48 // lea rdx, [rdx + 8] @@ -10051,10 +10445,10 @@ LBB2_16: WORD $0xe0d2 // shl al, cl WORD $0x2044; BYTE $0xc8 // and al, r9b WORD $0xd830 // xor al, bl - LONG $0x33048841 // mov byte [r11 + rsi], al + LONG $0x36048841 // mov byte [r14 + rsi], al WORD $0x3949; BYTE $0xfa // cmp r10, rdi JNE LBB2_16 - JMP LBB2_154 + JMP LBB2_155 LBB2_17: WORD $0xff83; BYTE $0x08 // cmp edi, 8 @@ -10064,10 +10458,10 @@ LBB2_17: WORD $0xff83; BYTE $0x0b // cmp edi, 11 JE LBB2_94 WORD $0xff83; BYTE $0x0c // cmp edi, 12 - JNE LBB2_157 - LONG $0x1f728d4d // lea r14, [r10 + 31] + JNE LBB2_165 + LONG $0x1f5a8d4d // lea r11, [r10 + 31] WORD $0x854d; BYTE $0xd2 // test r10, r10 - LONG $0xf2490f4d // cmovns r14, r10 + LONG $0xda490f4d // cmovns r11, r10 LONG $0x07418d41 // lea eax, [r9 + 7] WORD $0x8545; BYTE $0xc9 // test r9d, r9d LONG $0xc1490f41 // cmovns eax, r9d @@ -10080,14 +10474,16 @@ LBB2_17: LBB2_23: LONG $0x022ef9c5 // vucomisd xmm0, qword [rdx] LONG $0x08528d48 // lea rdx, [rdx + 8] + WORD $0x9b0f; BYTE $0xd1 // setnp cl WORD $0x940f; BYTE $0xd3 // sete bl + WORD $0xcb20 // and bl, cl WORD $0xdbf6 // neg bl LONG $0x07708d48 // lea rsi, [rax + 7] WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xf0490f48 // cmovns rsi, rax LONG $0x03fec148 // sar rsi, 3 - WORD $0x894d; BYTE $0xdf // mov r15, r11 - LONG $0x0cb60f45; BYTE $0x33 // movzx r9d, byte [r11 + rsi] + WORD $0x894d; BYTE $0xf7 // mov r15, r14 + LONG $0x0cb60f45; BYTE $0x36 // movzx r9d, byte [r14 + rsi] WORD $0x3044; BYTE $0xcb // xor bl, r9b QUAD $0x00000000f5048d44 // lea r8d, [8*rsi] WORD $0xc189 // mov ecx, eax @@ -10096,197 +10492,286 @@ LBB2_23: WORD $0xe7d3 // shl edi, cl WORD $0x2040; BYTE $0xdf // and dil, bl WORD $0x3044; BYTE $0xcf // xor dil, r9b - LONG $0x333c8841 // mov byte [r11 + rsi], dil + LONG $0x363c8841 // mov byte [r14 + rsi], dil LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 JNE LBB2_23 - LONG $0x01c38349 // add r11, 1 + LONG $0x01c68349 // add r14, 1 LBB2_25: - LONG $0x05fec149 // sar r14, 5 + LONG $0x05fbc149 // sar r11, 5 LONG $0x20fa8349 // cmp r10, 32 JL LBB2_29 QUAD $0x000001182494894c // mov qword [rsp + 280], r10 - QUAD $0x000000a824b4894c // mov qword [rsp + 168], r14 - QUAD $0x0000009824b4894c // mov qword [rsp + 152], r14 + QUAD $0x000000c0249c894c // mov qword [rsp + 192], r11 + QUAD $0x000000b8249c894c // mov qword [rsp + 184], r11 LBB2_27: - QUAD $0x00000110249c894c // mov qword [rsp + 272], r11 + QUAD $0x0000011024b4894c // mov qword [rsp + 272], r14 LONG $0x022ef9c5 // vucomisd xmm0, qword [rdx] - QUAD $0x000000a02494940f // sete byte [rsp + 160] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x38244c88 // mov byte [rsp + 56], cl LONG $0x422ef9c5; BYTE $0x08 // vucomisd xmm0, qword [rdx + 8] - LONG $0xd0940f41 // sete r8b + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd5940f41 // sete r13b + WORD $0x2041; BYTE $0xc5 // and r13b, al LONG $0x422ef9c5; BYTE $0x10 // vucomisd xmm0, qword [rdx + 16] - LONG $0xd6940f41 // sete r14b + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x20244c88 // mov byte [rsp + 32], cl LONG $0x422ef9c5; BYTE $0x18 // vucomisd xmm0, qword [rdx + 24] - LONG $0xd5940f41 // sete r13b + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x40248c88; WORD $0x0001; BYTE $0x00 // mov byte [rsp + 320], cl LONG $0x422ef9c5; BYTE $0x20 // vucomisd xmm0, qword [rdx + 32] - LONG $0x2454940f; BYTE $0x70 // sete byte [rsp + 112] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x28244c88 // mov byte [rsp + 40], cl LONG $0x422ef9c5; BYTE $0x28 // vucomisd xmm0, qword [rdx + 40] - QUAD $0x000000902494940f // sete byte [rsp + 144] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd4940f41 // sete r12b + WORD $0x2041; BYTE $0xc4 // and r12b, al LONG $0x422ef9c5; BYTE $0x30 // vucomisd xmm0, qword [rdx + 48] - WORD $0x940f; BYTE $0xd0 // sete al + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x80248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 128], cl LONG $0x422ef9c5; BYTE $0x38 // vucomisd xmm0, qword [rdx + 56] - LONG $0xd3940f41 // sete r11b + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x1c244c88 // mov byte [rsp + 28], cl LONG $0x422ef9c5; BYTE $0x40 // vucomisd xmm0, qword [rdx + 64] - LONG $0x2454940f; BYTE $0x58 // sete byte [rsp + 88] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x30244c88 // mov byte [rsp + 48], cl LONG $0x422ef9c5; BYTE $0x48 // vucomisd xmm0, qword [rdx + 72] - LONG $0xd6940f40 // sete sil + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x78244c88 // mov byte [rsp + 120], cl LONG $0x422ef9c5; BYTE $0x50 // vucomisd xmm0, qword [rdx + 80] - LONG $0xd7940f40 // sete dil + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x70244c88 // mov byte [rsp + 112], cl LONG $0x422ef9c5; BYTE $0x58 // vucomisd xmm0, qword [rdx + 88] - LONG $0xd1940f41 // sete r9b + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd3 // sete bl + WORD $0xc320 // and bl, al LONG $0x422ef9c5; BYTE $0x60 // vucomisd xmm0, qword [rdx + 96] - LONG $0xd2940f41 // sete r10b + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x20248c88; WORD $0x0001; BYTE $0x00 // mov byte [rsp + 288], cl LONG $0x422ef9c5; BYTE $0x68 // vucomisd xmm0, qword [rdx + 104] - LONG $0xd4940f41 // sete r12b + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x60244c88 // mov byte [rsp + 96], cl LONG $0x422ef9c5; BYTE $0x70 // vucomisd xmm0, qword [rdx + 112] - LONG $0x2454940f; BYTE $0x60 // sete byte [rsp + 96] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x58244c88 // mov byte [rsp + 88], cl LONG $0x422ef9c5; BYTE $0x78 // vucomisd xmm0, qword [rdx + 120] + WORD $0x9b0f; BYTE $0xd0 // setnp al WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x50244c88 // mov byte [rsp + 80], cl QUAD $0x00000080822ef9c5 // vucomisd xmm0, qword [rdx + 128] - QUAD $0x000000802494940f // sete byte [rsp + 128] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x68244c88 // mov byte [rsp + 104], cl QUAD $0x00000088822ef9c5 // vucomisd xmm0, qword [rdx + 136] - LONG $0x2454940f; BYTE $0x50 // sete byte [rsp + 80] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x48244c88 // mov byte [rsp + 72], cl QUAD $0x00000090822ef9c5 // vucomisd xmm0, qword [rdx + 144] - LONG $0x2454940f; BYTE $0x68 // sete byte [rsp + 104] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x40244c88 // mov byte [rsp + 64], cl QUAD $0x00000098822ef9c5 // vucomisd xmm0, qword [rdx + 152] - LONG $0x2454940f; BYTE $0x78 // sete byte [rsp + 120] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x98248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 152], cl QUAD $0x000000a0822ef9c5 // vucomisd xmm0, qword [rdx + 160] - QUAD $0x000000882494940f // sete byte [rsp + 136] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x90248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 144], cl QUAD $0x000000a8822ef9c5 // vucomisd xmm0, qword [rdx + 168] - LONG $0x2454940f; BYTE $0x30 // sete byte [rsp + 48] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x88248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 136], cl QUAD $0x000000b0822ef9c5 // vucomisd xmm0, qword [rdx + 176] - LONG $0x2454940f; BYTE $0x38 // sete byte [rsp + 56] - QUAD $0x000000b8822ef9c5 // vucomisd xmm0, qword [rdx + 184] + WORD $0x9b0f; BYTE $0xd0 // setnp al LONG $0xd7940f41 // sete r15b + WORD $0x2041; BYTE $0xc7 // and r15b, al + QUAD $0x000000b8822ef9c5 // vucomisd xmm0, qword [rdx + 184] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd0940f41 // sete r8b + WORD $0x2041; BYTE $0xc0 // and r8b, al QUAD $0x000000c0822ef9c5 // vucomisd xmm0, qword [rdx + 192] - LONG $0x2454940f; BYTE $0x20 // sete byte [rsp + 32] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0xa0248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 160], cl QUAD $0x000000c8822ef9c5 // vucomisd xmm0, qword [rdx + 200] - LONG $0x2454940f; BYTE $0x40 // sete byte [rsp + 64] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd3940f41 // sete r11b + WORD $0x2041; BYTE $0xc3 // and r11b, al QUAD $0x000000d0822ef9c5 // vucomisd xmm0, qword [rdx + 208] - LONG $0x2454940f; BYTE $0x48 // sete byte [rsp + 72] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd2940f41 // sete r10b + WORD $0x2041; BYTE $0xc2 // and r10b, al QUAD $0x000000d8822ef9c5 // vucomisd xmm0, qword [rdx + 216] - LONG $0x2454940f; BYTE $0x28 // sete byte [rsp + 40] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd1940f41 // sete r9b + WORD $0x2041; BYTE $0xc1 // and r9b, al QUAD $0x000000e0822ef9c5 // vucomisd xmm0, qword [rdx + 224] - QUAD $0x000001402494940f // sete byte [rsp + 320] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0xa8248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 168], cl QUAD $0x000000e8822ef9c5 // vucomisd xmm0, qword [rdx + 232] - QUAD $0x000001202494940f // sete byte [rsp + 288] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0xb0248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 176], cl QUAD $0x000000f0822ef9c5 // vucomisd xmm0, qword [rdx + 240] - LONG $0x2454940f; BYTE $0x1c // sete byte [rsp + 28] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd7940f40 // sete dil + WORD $0x2040; BYTE $0xc7 // and dil, al QUAD $0x000000f8822ef9c5 // vucomisd xmm0, qword [rdx + 248] - WORD $0x940f; BYTE $0xd3 // sete bl - WORD $0x0045; BYTE $0xc0 // add r8b, r8b - QUAD $0x000000a024840244 // add r8b, byte [rsp + 160] - WORD $0xe0c0; BYTE $0x06 // shl al, 6 - LONG $0x07e3c041 // shl r11b, 7 - WORD $0x0841; BYTE $0xc3 // or r11b, al - LONG $0x02e6c041 // shl r14b, 2 - WORD $0x0845; BYTE $0xc6 // or r14b, r8b - WORD $0x0040; BYTE $0xf6 // add sil, sil - LONG $0x24740240; BYTE $0x58 // add sil, byte [rsp + 88] - LONG $0x03e5c041 // shl r13b, 3 - WORD $0x0845; BYTE $0xf5 // or r13b, r14b - QUAD $0x0000011024b48b4c // mov r14, qword [rsp + 272] - LONG $0x02e7c040 // shl dil, 2 - WORD $0x0840; BYTE $0xf7 // or dil, sil - LONG $0x2444b60f; BYTE $0x70 // movzx eax, byte [rsp + 112] - WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0x0844; BYTE $0xe8 // or al, r13b - WORD $0x8941; BYTE $0xc0 // mov r8d, eax - LONG $0x03e1c041 // shl r9b, 3 - WORD $0x0841; BYTE $0xf9 // or r9b, dil - QUAD $0x000000902484b60f // movzx eax, byte [rsp + 144] - WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0x0844; BYTE $0xc0 // or al, r8b - LONG $0x04e2c041 // shl r10b, 4 - WORD $0x0845; BYTE $0xca // or r10b, r9b + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd6940f40 // sete sil + WORD $0x2040; BYTE $0xc6 // and sil, al + WORD $0x0045; BYTE $0xed // add r13b, r13b + LONG $0x246c0244; BYTE $0x38 // add r13b, byte [rsp + 56] + WORD $0x8944; BYTE $0xe8 // mov eax, r13d LONG $0x05e4c041 // shl r12b, 5 - WORD $0x0845; BYTE $0xd4 // or r12b, r10b - LONG $0x2474b60f; BYTE $0x60 // movzx esi, byte [rsp + 96] - LONG $0x06e6c040 // shl sil, 6 - WORD $0xe1c0; BYTE $0x07 // shl cl, 7 - WORD $0x0840; BYTE $0xf1 // or cl, sil - WORD $0x0841; BYTE $0xc3 // or r11b, al - WORD $0x0844; BYTE $0xe1 // or cl, r12b - LONG $0x2444b60f; BYTE $0x50 // movzx eax, byte [rsp + 80] - WORD $0xc000 // add al, al - LONG $0x80248402; WORD $0x0000; BYTE $0x00 // add al, byte [rsp + 128] - WORD $0xc689 // mov esi, eax - LONG $0x2444b60f; BYTE $0x68 // movzx eax, byte [rsp + 104] - WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0x0840; BYTE $0xf0 // or al, sil - WORD $0xc689 // mov esi, eax - LONG $0x2444b60f; BYTE $0x78 // movzx eax, byte [rsp + 120] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0x0840; BYTE $0xf0 // or al, sil - WORD $0xc689 // mov esi, eax - QUAD $0x000000882484b60f // movzx eax, byte [rsp + 136] - WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0x0840; BYTE $0xf0 // or al, sil - WORD $0xc689 // mov esi, eax - LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] - WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0x0840; BYTE $0xf0 // or al, sil - WORD $0x8845; BYTE $0x1e // mov byte [r14], r11b - LONG $0x2474b60f; BYTE $0x38 // movzx esi, byte [rsp + 56] - LONG $0x06e6c040 // shl sil, 6 - LONG $0x07e7c041 // shl r15b, 7 - WORD $0x0841; BYTE $0xf7 // or r15b, sil - LONG $0x014e8841 // mov byte [r14 + 1], cl - WORD $0x0841; BYTE $0xc7 // or r15b, al - LONG $0x2444b60f; BYTE $0x40 // movzx eax, byte [rsp + 64] - WORD $0xc000 // add al, al - LONG $0x20244402 // add al, byte [rsp + 32] - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x48 // movzx eax, byte [rsp + 72] + QUAD $0x00008024acb60f44; BYTE $0x00 // movzx r13d, byte [rsp + 128] + LONG $0x06e5c041 // shl r13b, 6 + WORD $0x0845; BYTE $0xe5 // or r13b, r12b + LONG $0x64b60f44; WORD $0x2024 // movzx r12d, byte [rsp + 32] + LONG $0x02e4c041 // shl r12b, 2 + WORD $0x0841; BYTE $0xc4 // or r12b, al + LONG $0x244cb60f; BYTE $0x78 // movzx ecx, byte [rsp + 120] + WORD $0xc900 // add cl, cl + LONG $0x30244c02 // add cl, byte [rsp + 48] + LONG $0x2444b60f; BYTE $0x1c // movzx eax, byte [rsp + 28] + WORD $0xe0c0; BYTE $0x07 // shl al, 7 + WORD $0x0844; BYTE $0xe8 // or al, r13b + LONG $0x1c244488 // mov byte [rsp + 28], al + LONG $0x2444b60f; BYTE $0x70 // movzx eax, byte [rsp + 112] WORD $0xe0c0; BYTE $0x02 // shl al, 2 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax QUAD $0x000001402484b60f // movzx eax, byte [rsp + 320] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0x0844; BYTE $0xe0 // or al, r12b + WORD $0xe3c0; BYTE $0x03 // shl bl, 3 + WORD $0xcb08 // or bl, cl + LONG $0x6cb60f44; WORD $0x2824 // movzx r13d, byte [rsp + 40] + LONG $0x04e5c041 // shl r13b, 4 + WORD $0x0841; BYTE $0xc5 // or r13b, al + QUAD $0x000001202484b60f // movzx eax, byte [rsp + 288] WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0xd808 // or al, bl + LONG $0x20248488; WORD $0x0001; BYTE $0x00 // mov byte [rsp + 288], al + LONG $0x244cb60f; BYTE $0x60 // movzx ecx, byte [rsp + 96] + WORD $0xe1c0; BYTE $0x05 // shl cl, 5 + LONG $0x2444b60f; BYTE $0x58 // movzx eax, byte [rsp + 88] + WORD $0xe0c0; BYTE $0x06 // shl al, 6 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - QUAD $0x000001202484b60f // movzx eax, byte [rsp + 288] - WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - LONG $0x244cb60f; BYTE $0x1c // movzx ecx, byte [rsp + 28] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 - WORD $0xe3c0; BYTE $0x07 // shl bl, 7 + LONG $0x74b60f44; WORD $0x5024 // movzx r14d, byte [rsp + 80] + LONG $0x07e6c041 // shl r14b, 7 + WORD $0x0841; BYTE $0xc6 // or r14b, al + LONG $0x244cb60f; BYTE $0x48 // movzx ecx, byte [rsp + 72] + WORD $0xc900 // add cl, cl + LONG $0x68244c02 // add cl, byte [rsp + 104] + LONG $0x245cb60f; BYTE $0x40 // movzx ebx, byte [rsp + 64] + WORD $0xe3c0; BYTE $0x02 // shl bl, 2 WORD $0xcb08 // or bl, cl - WORD $0xc308 // or bl, al - LONG $0x027e8845 // mov byte [r14 + 2], r15b - LONG $0x035e8841 // mov byte [r14 + 3], bl - LONG $0x00c28148; WORD $0x0001; BYTE $0x00 // add rdx, 256 - LONG $0x04c68349 // add r14, 4 - WORD $0x894d; BYTE $0xf3 // mov r11, r14 - QUAD $0x0000009824848348; BYTE $0xff // add qword [rsp + 152], -1 - JNE LBB2_27 - QUAD $0x0000011824948b4c // mov r10, qword [rsp + 280] - QUAD $0x000000a824b48b4c // mov r14, qword [rsp + 168] - -LBB2_29: - LONG $0x05e6c149 // shl r14, 5 - WORD $0x394d; BYTE $0xd6 // cmp r14, r10 - JGE LBB2_157 - WORD $0x894d; BYTE $0xd0 // mov r8, r10 - WORD $0x294d; BYTE $0xf0 // sub r8, r14 - WORD $0xf749; BYTE $0xd6 // not r14 - WORD $0x014d; BYTE $0xd6 // add r14, r10 - JNE LBB2_136 - WORD $0xff31 // xor edi, edi - JMP LBB2_138 - + QUAD $0x00000098248cb60f // movzx ecx, byte [rsp + 152] + WORD $0xe1c0; BYTE $0x03 // shl cl, 3 + WORD $0xd908 // or cl, bl + WORD $0xcb89 // mov ebx, ecx + QUAD $0x00000090248cb60f // movzx ecx, byte [rsp + 144] + WORD $0xe1c0; BYTE $0x04 // shl cl, 4 + WORD $0xd908 // or cl, bl + WORD $0x8941; BYTE $0xcc // mov r12d, ecx + QUAD $0x00000110248c8b48 // mov rcx, qword [rsp + 272] + LONG $0x2444b60f; BYTE $0x1c // movzx eax, byte [rsp + 28] + WORD $0x0844; BYTE $0xe8 // or al, r13b + QUAD $0x00000088249cb60f // movzx ebx, byte [rsp + 136] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + LONG $0x06e7c041 // shl r15b, 6 + WORD $0x0841; BYTE $0xdf // or r15b, bl + QUAD $0x0000012024b40a44 // or r14b, byte [rsp + 288] + LONG $0x07e0c041 // shl r8b, 7 + WORD $0x0845; BYTE $0xf8 // or r8b, r15b + WORD $0x0845; BYTE $0xe0 // or r8b, r12b + WORD $0x0045; BYTE $0xdb // add r11b, r11b + QUAD $0x000000a0249c0244 // add r11b, byte [rsp + 160] + LONG $0x02e2c041 // shl r10b, 2 + WORD $0x0845; BYTE $0xda // or r10b, r11b + LONG $0x03e1c041 // shl r9b, 3 + WORD $0x0845; BYTE $0xd1 // or r9b, r10b + QUAD $0x000000a8249cb60f // movzx ebx, byte [rsp + 168] + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0x0844; BYTE $0xcb // or bl, r9b + WORD $0x8941; BYTE $0xd9 // mov r9d, ebx + WORD $0x0188 // mov byte [rcx], al + QUAD $0x000000b0249cb60f // movzx ebx, byte [rsp + 176] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + LONG $0x06e7c040 // shl dil, 6 + WORD $0x0840; BYTE $0xdf // or dil, bl + LONG $0x01718844 // mov byte [rcx + 1], r14b + LONG $0x07e6c040 // shl sil, 7 + WORD $0x0840; BYTE $0xfe // or sil, dil + WORD $0x0844; BYTE $0xce // or sil, r9b + LONG $0x02418844 // mov byte [rcx + 2], r8b + LONG $0x03718840 // mov byte [rcx + 3], sil + LONG $0x00c28148; WORD $0x0001; BYTE $0x00 // add rdx, 256 + LONG $0x04c18348 // add rcx, 4 + WORD $0x8949; BYTE $0xce // mov r14, rcx + QUAD $0x000000b824848348; BYTE $0xff // add qword [rsp + 184], -1 + JNE LBB2_27 + QUAD $0x0000011824948b4c // mov r10, qword [rsp + 280] + QUAD $0x000000c0249c8b4c // mov r11, qword [rsp + 192] + +LBB2_29: + LONG $0x05e3c149 // shl r11, 5 + WORD $0x394d; BYTE $0xd3 // cmp r11, r10 + JGE LBB2_165 + WORD $0x894d; BYTE $0xd0 // mov r8, r10 + WORD $0x294d; BYTE $0xd8 // sub r8, r11 + WORD $0xf749; BYTE $0xd3 // not r11 + WORD $0x014d; BYTE $0xd3 // add r11, r10 + JNE LBB2_136 + WORD $0xff31 // xor edi, edi + JMP LBB2_138 + LBB2_32: WORD $0xff83; BYTE $0x02 // cmp edi, 2 JE LBB2_105 WORD $0xff83; BYTE $0x03 // cmp edi, 3 - JNE LBB2_157 - WORD $0x8a44; BYTE $0x36 // mov r14b, byte [rsi] + JNE LBB2_165 + WORD $0x8a44; BYTE $0x1e // mov r11b, byte [rsi] LONG $0x1f7a8d4d // lea r15, [r10 + 31] WORD $0x854d; BYTE $0xd2 // test r10, r10 LONG $0xfa490f4d // cmovns r15, r10 @@ -10299,7 +10784,7 @@ LBB2_32: WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d LBB2_36: - WORD $0x3a44; BYTE $0x32 // cmp r14b, byte [rdx] + WORD $0x3a44; BYTE $0x1a // cmp r11b, byte [rdx] LONG $0x01528d48 // lea rdx, [rdx + 1] WORD $0x940f; BYTE $0xd3 // sete bl WORD $0xdbf6 // neg bl @@ -10307,8 +10792,8 @@ LBB2_36: WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xf0490f48 // cmovns rsi, rax LONG $0x03fec148 // sar rsi, 3 - WORD $0x894d; BYTE $0xdc // mov r12, r11 - LONG $0x0cb60f45; BYTE $0x33 // movzx r9d, byte [r11 + rsi] + WORD $0x894d; BYTE $0xf4 // mov r12, r14 + LONG $0x0cb60f45; BYTE $0x36 // movzx r9d, byte [r14 + rsi] WORD $0x3044; BYTE $0xcb // xor bl, r9b QUAD $0x00000000f5048d44 // lea r8d, [8*rsi] WORD $0xc189 // mov ecx, eax @@ -10317,189 +10802,212 @@ LBB2_36: WORD $0xe7d3 // shl edi, cl WORD $0x2040; BYTE $0xdf // and dil, bl WORD $0x3044; BYTE $0xcf // xor dil, r9b - LONG $0x333c8841 // mov byte [r11 + rsi], dil + LONG $0x363c8841 // mov byte [r14 + rsi], dil LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 JNE LBB2_36 - LONG $0x01c38349 // add r11, 1 + LONG $0x01c68349 // add r14, 1 LBB2_38: LONG $0x05ffc149 // sar r15, 5 LONG $0x20fa8349 // cmp r10, 32 JL LBB2_128 LONG $0x20ff8349 // cmp r15, 32 - LONG $0x24748944; BYTE $0x1c // mov dword [rsp + 28], r14d + LONG $0x245c8944; BYTE $0x1c // mov dword [rsp + 28], r11d QUAD $0x000001182494894c // mov qword [rsp + 280], r10 QUAD $0x0000018824bc894c // mov qword [rsp + 392], r15 JB LBB2_42 WORD $0x894c; BYTE $0xf8 // mov rax, r15 LONG $0x05e0c148 // shl rax, 5 WORD $0x0148; BYTE $0xd0 // add rax, rdx - WORD $0x3949; BYTE $0xc3 // cmp r11, rax - JAE LBB2_165 - LONG $0xbb048d4b // lea rax, [r11 + 4*r15] + WORD $0x3949; BYTE $0xc6 // cmp r14, rax + JAE LBB2_166 + LONG $0xbe048d4b // lea rax, [r14 + 4*r15] WORD $0x3948; BYTE $0xc2 // cmp rdx, rax - JAE LBB2_165 + JAE LBB2_166 LBB2_42: WORD $0xc031 // xor eax, eax QUAD $0x0000018024848948 // mov qword [rsp + 384], rax WORD $0x8949; BYTE $0xd4 // mov r12, rdx - QUAD $0x00000178249c894c // mov qword [rsp + 376], r11 + QUAD $0x0000017824b4894c // mov qword [rsp + 376], r14 LBB2_43: QUAD $0x0000018024bc2b4c // sub r15, qword [rsp + 384] - QUAD $0x0000009824bc894c // mov qword [rsp + 152], r15 + QUAD $0x000000a024bc894c // mov qword [rsp + 160], r15 LBB2_44: WORD $0x894c; BYTE $0xe1 // mov rcx, r12 - LONG $0x24343a45 // cmp r14b, byte [r12] + LONG $0x241c3a45 // cmp r11b, byte [r12] QUAD $0x000001402494940f // sete byte [rsp + 320] - LONG $0x24743a45; BYTE $0x01 // cmp r14b, byte [r12 + 1] - LONG $0xd2940f41 // sete r10b - LONG $0x24743a45; BYTE $0x02 // cmp r14b, byte [r12 + 2] - WORD $0x940f; BYTE $0xd3 // sete bl - LONG $0x24743a45; BYTE $0x03 // cmp r14b, byte [r12 + 3] + LONG $0x245c3a45; BYTE $0x01 // cmp r11b, byte [r12 + 1] + LONG $0xd1940f41 // sete r9b + LONG $0x245c3a45; BYTE $0x02 // cmp r11b, byte [r12 + 2] + LONG $0xd3940f41 // sete r11b + LONG $0x1c24448b // mov eax, dword [rsp + 28] + LONG $0x24443a41; BYTE $0x03 // cmp al, byte [r12 + 3] LONG $0xd5940f41 // sete r13b - LONG $0x24743a45; BYTE $0x04 // cmp r14b, byte [r12 + 4] - LONG $0x2454940f; BYTE $0x50 // sete byte [rsp + 80] - LONG $0x24743a45; BYTE $0x05 // cmp r14b, byte [r12 + 5] - LONG $0x2454940f; BYTE $0x60 // sete byte [rsp + 96] - LONG $0x24743a45; BYTE $0x06 // cmp r14b, byte [r12 + 6] - WORD $0x940f; BYTE $0xd0 // sete al - LONG $0x24743a45; BYTE $0x07 // cmp r14b, byte [r12 + 7] + LONG $0x1c24448b // mov eax, dword [rsp + 28] + LONG $0x24443a41; BYTE $0x04 // cmp al, byte [r12 + 4] + LONG $0x2454940f; BYTE $0x30 // sete byte [rsp + 48] + LONG $0x1c24448b // mov eax, dword [rsp + 28] + LONG $0x24443a41; BYTE $0x05 // cmp al, byte [r12 + 5] + LONG $0x2454940f; BYTE $0x28 // sete byte [rsp + 40] + LONG $0x1c24448b // mov eax, dword [rsp + 28] + LONG $0x24443a41; BYTE $0x06 // cmp al, byte [r12 + 6] + WORD $0x940f; BYTE $0xd3 // sete bl + LONG $0x1c24448b // mov eax, dword [rsp + 28] + LONG $0x24443a41; BYTE $0x07 // cmp al, byte [r12 + 7] LONG $0xd4940f41 // sete r12b - LONG $0x08713a44 // cmp r14b, byte [rcx + 8] - QUAD $0x000000a02494940f // sete byte [rsp + 160] - LONG $0x09713a44 // cmp r14b, byte [rcx + 9] + LONG $0x1c24448b // mov eax, dword [rsp + 28] + WORD $0x413a; BYTE $0x08 // cmp al, byte [rcx + 8] + QUAD $0x000000882494940f // sete byte [rsp + 136] + LONG $0x1c24448b // mov eax, dword [rsp + 28] + WORD $0x413a; BYTE $0x09 // cmp al, byte [rcx + 9] LONG $0xd6940f40 // sete sil - LONG $0x0a713a44 // cmp r14b, byte [rcx + 10] + LONG $0x1c24448b // mov eax, dword [rsp + 28] + WORD $0x413a; BYTE $0x0a // cmp al, byte [rcx + 10] LONG $0xd7940f40 // sete dil - LONG $0x0b713a44 // cmp r14b, byte [rcx + 11] - LONG $0xd1940f41 // sete r9b - LONG $0x0c713a44 // cmp r14b, byte [rcx + 12] - LONG $0xd3940f41 // sete r11b - LONG $0x0d713a44 // cmp r14b, byte [rcx + 13] - LONG $0xd7940f41 // sete r15b - LONG $0x0e713a44 // cmp r14b, byte [rcx + 14] - LONG $0x2454940f; BYTE $0x58 // sete byte [rsp + 88] - LONG $0x0f713a44 // cmp r14b, byte [rcx + 15] + LONG $0x1c24448b // mov eax, dword [rsp + 28] + WORD $0x413a; BYTE $0x0b // cmp al, byte [rcx + 11] LONG $0xd0940f41 // sete r8b - LONG $0x10713a44 // cmp r14b, byte [rcx + 16] + LONG $0x1c24448b // mov eax, dword [rsp + 28] + WORD $0x413a; BYTE $0x0c // cmp al, byte [rcx + 12] + LONG $0xd2940f41 // sete r10b + LONG $0x1c24448b // mov eax, dword [rsp + 28] + WORD $0x413a; BYTE $0x0d // cmp al, byte [rcx + 13] + LONG $0xd7940f41 // sete r15b + LONG $0x1c24448b // mov eax, dword [rsp + 28] + WORD $0x413a; BYTE $0x0e // cmp al, byte [rcx + 14] + QUAD $0x000000902494940f // sete byte [rsp + 144] + LONG $0x1c24448b // mov eax, dword [rsp + 28] + WORD $0x413a; BYTE $0x0f // cmp al, byte [rcx + 15] + WORD $0x940f; BYTE $0xd0 // sete al + LONG $0x1c24548b // mov edx, dword [rsp + 28] + WORD $0x513a; BYTE $0x10 // cmp dl, byte [rcx + 16] QUAD $0x000001202494940f // sete byte [rsp + 288] - LONG $0x11713a44 // cmp r14b, byte [rcx + 17] + LONG $0x1c24548b // mov edx, dword [rsp + 28] + WORD $0x513a; BYTE $0x11 // cmp dl, byte [rcx + 17] + LONG $0x2454940f; BYTE $0x50 // sete byte [rsp + 80] + LONG $0x1c24548b // mov edx, dword [rsp + 28] + WORD $0x513a; BYTE $0x12 // cmp dl, byte [rcx + 18] + QUAD $0x000000982494940f // sete byte [rsp + 152] + LONG $0x1c24548b // mov edx, dword [rsp + 28] + WORD $0x513a; BYTE $0x13 // cmp dl, byte [rcx + 19] + LONG $0x2454940f; BYTE $0x40 // sete byte [rsp + 64] + LONG $0x1c24548b // mov edx, dword [rsp + 28] + WORD $0x513a; BYTE $0x14 // cmp dl, byte [rcx + 20] + LONG $0x2454940f; BYTE $0x48 // sete byte [rsp + 72] + LONG $0x1c24548b // mov edx, dword [rsp + 28] + WORD $0x513a; BYTE $0x15 // cmp dl, byte [rcx + 21] + LONG $0x2454940f; BYTE $0x58 // sete byte [rsp + 88] + LONG $0x1c24548b // mov edx, dword [rsp + 28] + WORD $0x513a; BYTE $0x16 // cmp dl, byte [rcx + 22] LONG $0x2454940f; BYTE $0x78 // sete byte [rsp + 120] - LONG $0x12713a44 // cmp r14b, byte [rcx + 18] - LONG $0x2454940f; BYTE $0x68 // sete byte [rsp + 104] - LONG $0x13713a44 // cmp r14b, byte [rcx + 19] - LONG $0x2454940f; BYTE $0x70 // sete byte [rsp + 112] - LONG $0x14713a44 // cmp r14b, byte [rcx + 20] - QUAD $0x000000802494940f // sete byte [rsp + 128] - LONG $0x15713a44 // cmp r14b, byte [rcx + 21] - QUAD $0x000000882494940f // sete byte [rsp + 136] - LONG $0x16713a44 // cmp r14b, byte [rcx + 22] - QUAD $0x000000902494940f // sete byte [rsp + 144] - LONG $0x17713a44 // cmp r14b, byte [rcx + 23] + LONG $0x1c24548b // mov edx, dword [rsp + 28] + WORD $0x513a; BYTE $0x17 // cmp dl, byte [rcx + 23] LONG $0xd6940f41 // sete r14b LONG $0x1c24548b // mov edx, dword [rsp + 28] WORD $0x513a; BYTE $0x18 // cmp dl, byte [rcx + 24] QUAD $0x000001102494940f // sete byte [rsp + 272] LONG $0x1c24548b // mov edx, dword [rsp + 28] WORD $0x513a; BYTE $0x19 // cmp dl, byte [rcx + 25] - LONG $0x2454940f; BYTE $0x30 // sete byte [rsp + 48] + LONG $0x2454940f; BYTE $0x68 // sete byte [rsp + 104] LONG $0x1c24548b // mov edx, dword [rsp + 28] WORD $0x513a; BYTE $0x1a // cmp dl, byte [rcx + 26] - LONG $0x2454940f; BYTE $0x38 // sete byte [rsp + 56] + LONG $0x2454940f; BYTE $0x60 // sete byte [rsp + 96] LONG $0x1c24548b // mov edx, dword [rsp + 28] WORD $0x513a; BYTE $0x1b // cmp dl, byte [rcx + 27] - LONG $0x2454940f; BYTE $0x40 // sete byte [rsp + 64] + LONG $0x2454940f; BYTE $0x70 // sete byte [rsp + 112] LONG $0x1c24548b // mov edx, dword [rsp + 28] WORD $0x513a; BYTE $0x1c // cmp dl, byte [rcx + 28] - LONG $0x2454940f; BYTE $0x48 // sete byte [rsp + 72] + QUAD $0x000000802494940f // sete byte [rsp + 128] LONG $0x1c24548b // mov edx, dword [rsp + 28] WORD $0x513a; BYTE $0x1d // cmp dl, byte [rcx + 29] - LONG $0x2454940f; BYTE $0x28 // sete byte [rsp + 40] + LONG $0x2454940f; BYTE $0x38 // sete byte [rsp + 56] LONG $0x1c24548b // mov edx, dword [rsp + 28] WORD $0x513a; BYTE $0x1e // cmp dl, byte [rcx + 30] LONG $0x2454940f; BYTE $0x20 // sete byte [rsp + 32] LONG $0x1c24548b // mov edx, dword [rsp + 28] WORD $0x513a; BYTE $0x1f // cmp dl, byte [rcx + 31] WORD $0x940f; BYTE $0xd2 // sete dl - WORD $0x0045; BYTE $0xd2 // add r10b, r10b - QUAD $0x0000014024940244 // add r10b, byte [rsp + 320] - WORD $0xe0c0; BYTE $0x06 // shl al, 6 + WORD $0x0045; BYTE $0xc9 // add r9b, r9b + QUAD $0x00000140248c0244 // add r9b, byte [rsp + 320] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e4c041 // shl r12b, 7 - WORD $0x0841; BYTE $0xc4 // or r12b, al - WORD $0xe3c0; BYTE $0x02 // shl bl, 2 - WORD $0x0844; BYTE $0xd3 // or bl, r10b + WORD $0x0841; BYTE $0xdc // or r12b, bl + LONG $0x02e3c041 // shl r11b, 2 + WORD $0x0845; BYTE $0xcb // or r11b, r9b WORD $0x0040; BYTE $0xf6 // add sil, sil - QUAD $0x000000a024b40240 // add sil, byte [rsp + 160] + QUAD $0x0000008824b40240 // add sil, byte [rsp + 136] LONG $0x03e5c041 // shl r13b, 3 - WORD $0x0841; BYTE $0xdd // or r13b, bl + WORD $0x0845; BYTE $0xdd // or r13b, r11b + LONG $0x245c8b44; BYTE $0x1c // mov r11d, dword [rsp + 28] LONG $0x02e7c040 // shl dil, 2 WORD $0x0840; BYTE $0xf7 // or dil, sil - LONG $0x245cb60f; BYTE $0x50 // movzx ebx, byte [rsp + 80] + LONG $0x245cb60f; BYTE $0x30 // movzx ebx, byte [rsp + 48] WORD $0xe3c0; BYTE $0x04 // shl bl, 4 WORD $0x0844; BYTE $0xeb // or bl, r13b WORD $0xde89 // mov esi, ebx - LONG $0x03e1c041 // shl r9b, 3 - WORD $0x0841; BYTE $0xf9 // or r9b, dil - LONG $0x245cb60f; BYTE $0x60 // movzx ebx, byte [rsp + 96] + LONG $0x03e0c041 // shl r8b, 3 + WORD $0x0841; BYTE $0xf8 // or r8b, dil + LONG $0x245cb60f; BYTE $0x28 // movzx ebx, byte [rsp + 40] WORD $0xe3c0; BYTE $0x05 // shl bl, 5 WORD $0x0840; BYTE $0xf3 // or bl, sil - LONG $0x04e3c041 // shl r11b, 4 - WORD $0x0845; BYTE $0xcb // or r11b, r9b + LONG $0x04e2c041 // shl r10b, 4 + WORD $0x0845; BYTE $0xc2 // or r10b, r8b LONG $0x05e7c041 // shl r15b, 5 - WORD $0x0845; BYTE $0xdf // or r15b, r11b - LONG $0x2474b60f; BYTE $0x58 // movzx esi, byte [rsp + 88] + WORD $0x0845; BYTE $0xd7 // or r15b, r10b + QUAD $0x0000009024b4b60f // movzx esi, byte [rsp + 144] LONG $0x06e6c040 // shl sil, 6 - LONG $0x07e0c041 // shl r8b, 7 - WORD $0x0841; BYTE $0xf0 // or r8b, sil + WORD $0xe0c0; BYTE $0x07 // shl al, 7 + WORD $0x0840; BYTE $0xf0 // or al, sil WORD $0x0841; BYTE $0xdc // or r12b, bl - WORD $0x0845; BYTE $0xf8 // or r8b, r15b - LONG $0x2444b60f; BYTE $0x78 // movzx eax, byte [rsp + 120] - WORD $0xc000 // add al, al - LONG $0x20248402; WORD $0x0001; BYTE $0x00 // add al, byte [rsp + 288] - LONG $0x245cb60f; BYTE $0x68 // movzx ebx, byte [rsp + 104] + WORD $0x0844; BYTE $0xf8 // or al, r15b + LONG $0x245cb60f; BYTE $0x50 // movzx ebx, byte [rsp + 80] + WORD $0xdb00 // add bl, bl + LONG $0x20249c02; WORD $0x0001; BYTE $0x00 // add bl, byte [rsp + 288] + WORD $0xde89 // mov esi, ebx + QUAD $0x00000098249cb60f // movzx ebx, byte [rsp + 152] WORD $0xe3c0; BYTE $0x02 // shl bl, 2 - WORD $0xc308 // or bl, al + WORD $0x0840; BYTE $0xf3 // or bl, sil WORD $0xde89 // mov esi, ebx - LONG $0x245cb60f; BYTE $0x70 // movzx ebx, byte [rsp + 112] + LONG $0x245cb60f; BYTE $0x40 // movzx ebx, byte [rsp + 64] WORD $0xe3c0; BYTE $0x03 // shl bl, 3 WORD $0x0840; BYTE $0xf3 // or bl, sil WORD $0xde89 // mov esi, ebx - QUAD $0x00000080249cb60f // movzx ebx, byte [rsp + 128] + LONG $0x245cb60f; BYTE $0x48 // movzx ebx, byte [rsp + 72] WORD $0xe3c0; BYTE $0x04 // shl bl, 4 WORD $0x0840; BYTE $0xf3 // or bl, sil WORD $0xde89 // mov esi, ebx - QUAD $0x00000088249cb60f // movzx ebx, byte [rsp + 136] + LONG $0x245cb60f; BYTE $0x58 // movzx ebx, byte [rsp + 88] WORD $0xe3c0; BYTE $0x05 // shl bl, 5 WORD $0x0840; BYTE $0xf3 // or bl, sil QUAD $0x0000017824b48b48 // mov rsi, qword [rsp + 376] WORD $0x8844; BYTE $0x26 // mov byte [rsi], r12b - QUAD $0x0000009024bcb60f // movzx edi, byte [rsp + 144] + LONG $0x247cb60f; BYTE $0x78 // movzx edi, byte [rsp + 120] LONG $0x06e7c040 // shl dil, 6 LONG $0x07e6c041 // shl r14b, 7 WORD $0x0841; BYTE $0xfe // or r14b, dil - LONG $0x01468844 // mov byte [rsi + 1], r8b + WORD $0x4688; BYTE $0x01 // mov byte [rsi + 1], al WORD $0x0841; BYTE $0xde // or r14b, bl - LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] + LONG $0x2444b60f; BYTE $0x68 // movzx eax, byte [rsp + 104] WORD $0xc000 // add al, al LONG $0x10248402; WORD $0x0001; BYTE $0x00 // add al, byte [rsp + 272] WORD $0xc389 // mov ebx, eax - LONG $0x2444b60f; BYTE $0x38 // movzx eax, byte [rsp + 56] + LONG $0x2444b60f; BYTE $0x60 // movzx eax, byte [rsp + 96] WORD $0xe0c0; BYTE $0x02 // shl al, 2 WORD $0xd808 // or al, bl WORD $0xc389 // mov ebx, eax - LONG $0x2444b60f; BYTE $0x40 // movzx eax, byte [rsp + 64] + LONG $0x2444b60f; BYTE $0x70 // movzx eax, byte [rsp + 112] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0xd808 // or al, bl WORD $0xc389 // mov ebx, eax - LONG $0x2444b60f; BYTE $0x48 // movzx eax, byte [rsp + 72] + QUAD $0x000000802484b60f // movzx eax, byte [rsp + 128] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0xd808 // or al, bl WORD $0xc389 // mov ebx, eax - LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] + LONG $0x2444b60f; BYTE $0x38 // movzx eax, byte [rsp + 56] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0xd808 // or al, bl LONG $0x245cb60f; BYTE $0x20 // movzx ebx, byte [rsp + 32] @@ -10508,12 +11016,11 @@ LBB2_44: WORD $0xda08 // or dl, bl WORD $0xc208 // or dl, al LONG $0x02768844 // mov byte [rsi + 2], r14b - LONG $0x24748b44; BYTE $0x1c // mov r14d, dword [rsp + 28] WORD $0x5688; BYTE $0x03 // mov byte [rsi + 3], dl LONG $0x20618d4c // lea r12, [rcx + 32] LONG $0x04c68348 // add rsi, 4 QUAD $0x0000017824b48948 // mov qword [rsp + 376], rsi - QUAD $0x0000009824848348; BYTE $0xff // add qword [rsp + 152], -1 + QUAD $0x000000a024848348; BYTE $0xff // add qword [rsp + 160], -1 JNE LBB2_44 QUAD $0x0000011824948b4c // mov r10, qword [rsp + 280] QUAD $0x0000018824bc8b4c // mov r15, qword [rsp + 392] @@ -10523,11 +11030,11 @@ LBB2_46: WORD $0xff83; BYTE $0x07 // cmp edi, 7 JE LBB2_117 WORD $0xff83; BYTE $0x08 // cmp edi, 8 - JNE LBB2_157 + JNE LBB2_165 WORD $0x8b4c; BYTE $0x2e // mov r13, qword [rsi] - LONG $0x1f728d4d // lea r14, [r10 + 31] + LONG $0x1f5a8d4d // lea r11, [r10 + 31] WORD $0x854d; BYTE $0xd2 // test r10, r10 - LONG $0xf2490f4d // cmovns r14, r10 + LONG $0xda490f4d // cmovns r11, r10 LONG $0x07418d41 // lea eax, [r9 + 7] WORD $0x8545; BYTE $0xc9 // test r9d, r9d LONG $0xc1490f41 // cmovns eax, r9d @@ -10545,8 +11052,8 @@ LBB2_50: WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xf0490f48 // cmovns rsi, rax LONG $0x03fec148 // sar rsi, 3 - WORD $0x894d; BYTE $0xd9 // mov r9, r11 - LONG $0x04b60f45; BYTE $0x33 // movzx r8d, byte [r11 + rsi] + WORD $0x894d; BYTE $0xf1 // mov r9, r14 + LONG $0x04b60f45; BYTE $0x36 // movzx r8d, byte [r14 + rsi] WORD $0x3044; BYTE $0xc3 // xor bl, r8b LONG $0x00f53c8d; WORD $0x0000; BYTE $0x00 // lea edi, [8*rsi] WORD $0xc189 // mov ecx, eax @@ -10555,40 +11062,40 @@ LBB2_50: WORD $0xe7d3 // shl edi, cl WORD $0x2040; BYTE $0xdf // and dil, bl WORD $0x3044; BYTE $0xc7 // xor dil, r8b - LONG $0x333c8841 // mov byte [r11 + rsi], dil + LONG $0x363c8841 // mov byte [r14 + rsi], dil LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 JNE LBB2_50 - LONG $0x01c38349 // add r11, 1 + LONG $0x01c68349 // add r14, 1 LBB2_52: - LONG $0x05fec149 // sar r14, 5 + LONG $0x05fbc149 // sar r11, 5 LONG $0x20fa8349 // cmp r10, 32 JL LBB2_56 QUAD $0x000001182494894c // mov qword [rsp + 280], r10 - QUAD $0x000000b024b4894c // mov qword [rsp + 176], r14 - QUAD $0x000000a824b4894c // mov qword [rsp + 168], r14 + QUAD $0x000000a8249c894c // mov qword [rsp + 168], r11 + QUAD $0x000000b0249c894c // mov qword [rsp + 176], r11 LBB2_54: - QUAD $0x00000110249c894c // mov qword [rsp + 272], r11 + QUAD $0x0000011024b4894c // mov qword [rsp + 272], r14 WORD $0x3b4c; BYTE $0x2a // cmp r13, qword [rdx] - QUAD $0x000000982494940f // sete byte [rsp + 152] + QUAD $0x000000a02494940f // sete byte [rsp + 160] LONG $0x086a3b4c // cmp r13, qword [rdx + 8] - LONG $0xd7940f40 // sete dil + LONG $0xd2940f41 // sete r10b LONG $0x106a3b4c // cmp r13, qword [rdx + 16] LONG $0xd6940f41 // sete r14b LONG $0x186a3b4c // cmp r13, qword [rdx + 24] - QUAD $0x000000a02494940f // sete byte [rsp + 160] + QUAD $0x000000882494940f // sete byte [rsp + 136] LONG $0x206a3b4c // cmp r13, qword [rdx + 32] - LONG $0x2454940f; BYTE $0x70 // sete byte [rsp + 112] + LONG $0x2454940f; BYTE $0x50 // sete byte [rsp + 80] LONG $0x286a3b4c // cmp r13, qword [rdx + 40] - QUAD $0x000000902494940f // sete byte [rsp + 144] + LONG $0x2454940f; BYTE $0x70 // sete byte [rsp + 112] LONG $0x306a3b4c // cmp r13, qword [rdx + 48] - WORD $0x940f; BYTE $0xd0 // sete al + WORD $0x940f; BYTE $0xd3 // sete bl LONG $0x386a3b4c // cmp r13, qword [rdx + 56] - LONG $0xd3940f41 // sete r11b + LONG $0xd7940f40 // sete dil LONG $0x406a3b4c // cmp r13, qword [rdx + 64] - LONG $0x2454940f; BYTE $0x50 // sete byte [rsp + 80] + QUAD $0x000000902494940f // sete byte [rsp + 144] LONG $0x486a3b4c // cmp r13, qword [rdx + 72] LONG $0xd6940f40 // sete sil LONG $0x506a3b4c // cmp r13, qword [rdx + 80] @@ -10596,37 +11103,37 @@ LBB2_54: LONG $0x586a3b4c // cmp r13, qword [rdx + 88] LONG $0xd1940f41 // sete r9b LONG $0x606a3b4c // cmp r13, qword [rdx + 96] - LONG $0xd2940f41 // sete r10b + LONG $0xd3940f41 // sete r11b LONG $0x686a3b4c // cmp r13, qword [rdx + 104] LONG $0xd4940f41 // sete r12b LONG $0x706a3b4c // cmp r13, qword [rdx + 112] - LONG $0x2454940f; BYTE $0x58 // sete byte [rsp + 88] + QUAD $0x000000982494940f // sete byte [rsp + 152] LONG $0x786a3b4c // cmp r13, qword [rdx + 120] - WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0x940f; BYTE $0xd0 // sete al LONG $0x80aa3b4c; WORD $0x0000; BYTE $0x00 // cmp r13, qword [rdx + 128] - QUAD $0x000000802494940f // sete byte [rsp + 128] - LONG $0x88aa3b4c; WORD $0x0000; BYTE $0x00 // cmp r13, qword [rdx + 136] LONG $0x2454940f; BYTE $0x60 // sete byte [rsp + 96] + LONG $0x88aa3b4c; WORD $0x0000; BYTE $0x00 // cmp r13, qword [rdx + 136] + LONG $0x2454940f; BYTE $0x40 // sete byte [rsp + 64] LONG $0x90aa3b4c; WORD $0x0000; BYTE $0x00 // cmp r13, qword [rdx + 144] - LONG $0x2454940f; BYTE $0x68 // sete byte [rsp + 104] + LONG $0x2454940f; BYTE $0x48 // sete byte [rsp + 72] LONG $0x98aa3b4c; WORD $0x0000; BYTE $0x00 // cmp r13, qword [rdx + 152] - LONG $0x2454940f; BYTE $0x78 // sete byte [rsp + 120] + LONG $0x2454940f; BYTE $0x58 // sete byte [rsp + 88] LONG $0xa0aa3b4c; WORD $0x0000; BYTE $0x00 // cmp r13, qword [rdx + 160] - QUAD $0x000000882494940f // sete byte [rsp + 136] + LONG $0x2454940f; BYTE $0x68 // sete byte [rsp + 104] LONG $0xa8aa3b4c; WORD $0x0000; BYTE $0x00 // cmp r13, qword [rdx + 168] - LONG $0x2454940f; BYTE $0x30 // sete byte [rsp + 48] + LONG $0x2454940f; BYTE $0x78 // sete byte [rsp + 120] LONG $0xb0aa3b4c; WORD $0x0000; BYTE $0x00 // cmp r13, qword [rdx + 176] - LONG $0x2454940f; BYTE $0x38 // sete byte [rsp + 56] + QUAD $0x000000802494940f // sete byte [rsp + 128] LONG $0xb8aa3b4c; WORD $0x0000; BYTE $0x00 // cmp r13, qword [rdx + 184] LONG $0xd7940f41 // sete r15b LONG $0xc0aa3b4c; WORD $0x0000; BYTE $0x00 // cmp r13, qword [rdx + 192] - LONG $0x2454940f; BYTE $0x20 // sete byte [rsp + 32] + LONG $0x2454940f; BYTE $0x28 // sete byte [rsp + 40] LONG $0xc8aa3b4c; WORD $0x0000; BYTE $0x00 // cmp r13, qword [rdx + 200] - LONG $0x2454940f; BYTE $0x40 // sete byte [rsp + 64] + LONG $0x2454940f; BYTE $0x30 // sete byte [rsp + 48] LONG $0xd0aa3b4c; WORD $0x0000; BYTE $0x00 // cmp r13, qword [rdx + 208] - LONG $0x2454940f; BYTE $0x48 // sete byte [rsp + 72] + LONG $0x2454940f; BYTE $0x38 // sete byte [rsp + 56] LONG $0xd8aa3b4c; WORD $0x0000; BYTE $0x00 // cmp r13, qword [rdx + 216] - LONG $0x2454940f; BYTE $0x28 // sete byte [rsp + 40] + LONG $0x2454940f; BYTE $0x20 // sete byte [rsp + 32] LONG $0xe0aa3b4c; WORD $0x0000; BYTE $0x00 // cmp r13, qword [rdx + 224] QUAD $0x000001402494940f // sete byte [rsp + 320] LONG $0xe8aa3b4c; WORD $0x0000; BYTE $0x00 // cmp r13, qword [rdx + 232] @@ -10634,111 +11141,109 @@ LBB2_54: LONG $0xf0aa3b4c; WORD $0x0000; BYTE $0x00 // cmp r13, qword [rdx + 240] LONG $0x2454940f; BYTE $0x1c // sete byte [rsp + 28] LONG $0xf8aa3b4c; WORD $0x0000; BYTE $0x00 // cmp r13, qword [rdx + 248] - WORD $0x940f; BYTE $0xd3 // sete bl - WORD $0x0040; BYTE $0xff // add dil, dil - QUAD $0x0000009824bc0240 // add dil, byte [rsp + 152] - WORD $0xe0c0; BYTE $0x06 // shl al, 6 - LONG $0x07e3c041 // shl r11b, 7 - WORD $0x0841; BYTE $0xc3 // or r11b, al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0x0045; BYTE $0xd2 // add r10b, r10b + QUAD $0x000000a024940244 // add r10b, byte [rsp + 160] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 + LONG $0x07e7c040 // shl dil, 7 + WORD $0x0840; BYTE $0xdf // or dil, bl LONG $0x02e6c041 // shl r14b, 2 - WORD $0x0841; BYTE $0xfe // or r14b, dil + WORD $0x0845; BYTE $0xd6 // or r14b, r10b WORD $0x0040; BYTE $0xf6 // add sil, sil - LONG $0x24740240; BYTE $0x50 // add sil, byte [rsp + 80] - QUAD $0x000000a02484b60f // movzx eax, byte [rsp + 160] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0x0844; BYTE $0xf0 // or al, r14b - WORD $0xc789 // mov edi, eax + QUAD $0x0000009024b40240 // add sil, byte [rsp + 144] + QUAD $0x00000088249cb60f // movzx ebx, byte [rsp + 136] + WORD $0xe3c0; BYTE $0x03 // shl bl, 3 + WORD $0x0844; BYTE $0xf3 // or bl, r14b + WORD $0x8941; BYTE $0xda // mov r10d, ebx + QUAD $0x0000011024b48b4c // mov r14, qword [rsp + 272] LONG $0x02e0c041 // shl r8b, 2 WORD $0x0841; BYTE $0xf0 // or r8b, sil - LONG $0x2444b60f; BYTE $0x70 // movzx eax, byte [rsp + 112] - WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0x0840; BYTE $0xf8 // or al, dil - WORD $0xc789 // mov edi, eax + LONG $0x245cb60f; BYTE $0x50 // movzx ebx, byte [rsp + 80] + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0x0844; BYTE $0xd3 // or bl, r10b + WORD $0xde89 // mov esi, ebx LONG $0x03e1c041 // shl r9b, 3 WORD $0x0845; BYTE $0xc1 // or r9b, r8b - QUAD $0x000000902484b60f // movzx eax, byte [rsp + 144] - WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0x0840; BYTE $0xf8 // or al, dil - LONG $0x04e2c041 // shl r10b, 4 - WORD $0x0845; BYTE $0xca // or r10b, r9b + LONG $0x245cb60f; BYTE $0x70 // movzx ebx, byte [rsp + 112] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + WORD $0x0840; BYTE $0xf3 // or bl, sil + LONG $0x04e3c041 // shl r11b, 4 + WORD $0x0845; BYTE $0xcb // or r11b, r9b LONG $0x05e4c041 // shl r12b, 5 - WORD $0x0845; BYTE $0xd4 // or r12b, r10b - LONG $0x2474b60f; BYTE $0x58 // movzx esi, byte [rsp + 88] + WORD $0x0845; BYTE $0xdc // or r12b, r11b + QUAD $0x0000009824b4b60f // movzx esi, byte [rsp + 152] LONG $0x06e6c040 // shl sil, 6 - WORD $0xe1c0; BYTE $0x07 // shl cl, 7 - WORD $0x0840; BYTE $0xf1 // or cl, sil - WORD $0x0841; BYTE $0xc3 // or r11b, al - WORD $0x0844; BYTE $0xe1 // or cl, r12b - LONG $0x2444b60f; BYTE $0x60 // movzx eax, byte [rsp + 96] - WORD $0xc000 // add al, al - LONG $0x80248402; WORD $0x0000; BYTE $0x00 // add al, byte [rsp + 128] - WORD $0xc689 // mov esi, eax - LONG $0x2444b60f; BYTE $0x68 // movzx eax, byte [rsp + 104] - WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0x0840; BYTE $0xf0 // or al, sil - WORD $0xc689 // mov esi, eax - LONG $0x2444b60f; BYTE $0x78 // movzx eax, byte [rsp + 120] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0x0840; BYTE $0xf0 // or al, sil - WORD $0xc689 // mov esi, eax - QUAD $0x000000882484b60f // movzx eax, byte [rsp + 136] - WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0x0840; BYTE $0xf0 // or al, sil - WORD $0xc689 // mov esi, eax - LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] - WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0xe0c0; BYTE $0x07 // shl al, 7 WORD $0x0840; BYTE $0xf0 // or al, sil - WORD $0xc689 // mov esi, eax - QUAD $0x0000011024848b48 // mov rax, qword [rsp + 272] - WORD $0x8844; BYTE $0x18 // mov byte [rax], r11b - QUAD $0x00000110249c8b4c // mov r11, qword [rsp + 272] - LONG $0x2444b60f; BYTE $0x38 // movzx eax, byte [rsp + 56] - WORD $0xe0c0; BYTE $0x06 // shl al, 6 + WORD $0x0840; BYTE $0xdf // or dil, bl + WORD $0x0844; BYTE $0xe0 // or al, r12b + LONG $0x245cb60f; BYTE $0x40 // movzx ebx, byte [rsp + 64] + WORD $0xdb00 // add bl, bl + LONG $0x60245c02 // add bl, byte [rsp + 96] + WORD $0xde89 // mov esi, ebx + LONG $0x245cb60f; BYTE $0x48 // movzx ebx, byte [rsp + 72] + WORD $0xe3c0; BYTE $0x02 // shl bl, 2 + WORD $0x0840; BYTE $0xf3 // or bl, sil + WORD $0xde89 // mov esi, ebx + LONG $0x245cb60f; BYTE $0x58 // movzx ebx, byte [rsp + 88] + WORD $0xe3c0; BYTE $0x03 // shl bl, 3 + WORD $0x0840; BYTE $0xf3 // or bl, sil + WORD $0xde89 // mov esi, ebx + LONG $0x245cb60f; BYTE $0x68 // movzx ebx, byte [rsp + 104] + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0x0840; BYTE $0xf3 // or bl, sil + WORD $0xde89 // mov esi, ebx + LONG $0x245cb60f; BYTE $0x78 // movzx ebx, byte [rsp + 120] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + WORD $0x0840; BYTE $0xf3 // or bl, sil + WORD $0x8841; BYTE $0x3e // mov byte [r14], dil + QUAD $0x0000008024b4b60f // movzx esi, byte [rsp + 128] + LONG $0x06e6c040 // shl sil, 6 LONG $0x07e7c041 // shl r15b, 7 - WORD $0x0841; BYTE $0xc7 // or r15b, al - LONG $0x014b8841 // mov byte [r11 + 1], cl WORD $0x0841; BYTE $0xf7 // or r15b, sil - LONG $0x2444b60f; BYTE $0x40 // movzx eax, byte [rsp + 64] + LONG $0x01468841 // mov byte [r14 + 1], al + WORD $0x0841; BYTE $0xdf // or r15b, bl + LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] WORD $0xc000 // add al, al - LONG $0x20244402 // add al, byte [rsp + 32] - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x48 // movzx eax, byte [rsp + 72] + LONG $0x28244402 // add al, byte [rsp + 40] + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x38 // movzx eax, byte [rsp + 56] WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax QUAD $0x000001402484b60f // movzx eax, byte [rsp + 320] WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax QUAD $0x000001202484b60f // movzx eax, byte [rsp + 288] WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - LONG $0x244cb60f; BYTE $0x1c // movzx ecx, byte [rsp + 28] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 - WORD $0xe3c0; BYTE $0x07 // shl bl, 7 - WORD $0xcb08 // or bl, cl - WORD $0xc308 // or bl, al - LONG $0x027b8845 // mov byte [r11 + 2], r15b - LONG $0x035b8841 // mov byte [r11 + 3], bl + WORD $0xd808 // or al, bl + LONG $0x245cb60f; BYTE $0x1c // movzx ebx, byte [rsp + 28] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 + WORD $0xe1c0; BYTE $0x07 // shl cl, 7 + WORD $0xd908 // or cl, bl + WORD $0xc108 // or cl, al + LONG $0x027e8845 // mov byte [r14 + 2], r15b + LONG $0x034e8841 // mov byte [r14 + 3], cl LONG $0x00c28148; WORD $0x0001; BYTE $0x00 // add rdx, 256 - LONG $0x04c38349 // add r11, 4 - QUAD $0x000000a824848348; BYTE $0xff // add qword [rsp + 168], -1 + LONG $0x04c68349 // add r14, 4 + QUAD $0x000000b024848348; BYTE $0xff // add qword [rsp + 176], -1 JNE LBB2_54 QUAD $0x0000011824948b4c // mov r10, qword [rsp + 280] - QUAD $0x000000b024b48b4c // mov r14, qword [rsp + 176] + QUAD $0x000000a8249c8b4c // mov r11, qword [rsp + 168] LBB2_56: - LONG $0x05e6c149 // shl r14, 5 - WORD $0x394d; BYTE $0xd6 // cmp r14, r10 - JGE LBB2_157 + LONG $0x05e3c149 // shl r11, 5 + WORD $0x394d; BYTE $0xd3 // cmp r11, r10 + JGE LBB2_165 WORD $0x894d; BYTE $0xd0 // mov r8, r10 - WORD $0x294d; BYTE $0xf0 // sub r8, r14 - WORD $0xf749; BYTE $0xd6 // not r14 - WORD $0x014d; BYTE $0xd6 // add r14, r10 + WORD $0x294d; BYTE $0xd8 // sub r8, r11 + WORD $0xf749; BYTE $0xd3 // not r11 + WORD $0x014d; BYTE $0xd3 // add r11, r10 JE LBB2_93 WORD $0x894d; BYTE $0xc2 // mov r10, r8 LONG $0xfee28349 // and r10, -2 @@ -10750,8 +11255,8 @@ LBB2_59: WORD $0xd8f6 // neg al WORD $0x8948; BYTE $0xfe // mov rsi, rdi LONG $0x03eec148 // shr rsi, 3 - WORD $0x894d; BYTE $0xde // mov r14, r11 - LONG $0x0cb60f45; BYTE $0x33 // movzx r9d, byte [r11 + rsi] + WORD $0x894d; BYTE $0xf3 // mov r11, r14 + LONG $0x0cb60f45; BYTE $0x36 // movzx r9d, byte [r14 + rsi] WORD $0xf989 // mov ecx, edi WORD $0xe180; BYTE $0x06 // and cl, 6 WORD $0x01b3 // mov bl, 1 @@ -10759,7 +11264,7 @@ LBB2_59: WORD $0x3044; BYTE $0xc8 // xor al, r9b WORD $0xc320 // and bl, al WORD $0x3044; BYTE $0xcb // xor bl, r9b - LONG $0x331c8841 // mov byte [r11 + rsi], bl + LONG $0x361c8841 // mov byte [r14 + rsi], bl LONG $0x02c78348 // add rdi, 2 LONG $0x086a3b4c // cmp r13, qword [rdx + 8] LONG $0x10528d48 // lea rdx, [rdx + 16] @@ -10771,16 +11276,16 @@ LBB2_59: WORD $0xe0d2 // shl al, cl WORD $0x2044; BYTE $0xc8 // and al, r9b WORD $0xd830 // xor al, bl - LONG $0x33048841 // mov byte [r11 + rsi], al + LONG $0x36048841 // mov byte [r14 + rsi], al WORD $0x3949; BYTE $0xfa // cmp r10, rdi JNE LBB2_59 JMP LBB2_146 LBB2_60: LONG $0x2eb70f44 // movzx r13d, word [rsi] - LONG $0x1f728d4d // lea r14, [r10 + 31] + LONG $0x1f5a8d4d // lea r11, [r10 + 31] WORD $0x854d; BYTE $0xd2 // test r10, r10 - LONG $0xf2490f4d // cmovns r14, r10 + LONG $0xda490f4d // cmovns r11, r10 LONG $0x07418d41 // lea eax, [r9 + 7] WORD $0x8545; BYTE $0xc9 // test r9d, r9d LONG $0xc1490f41 // cmovns eax, r9d @@ -10798,8 +11303,8 @@ LBB2_62: WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xf0490f48 // cmovns rsi, rax LONG $0x03fec148 // sar rsi, 3 - WORD $0x894d; BYTE $0xd9 // mov r9, r11 - LONG $0x04b60f45; BYTE $0x33 // movzx r8d, byte [r11 + rsi] + WORD $0x894d; BYTE $0xf1 // mov r9, r14 + LONG $0x04b60f45; BYTE $0x36 // movzx r8d, byte [r14 + rsi] WORD $0x3044; BYTE $0xc3 // xor bl, r8b LONG $0x00f53c8d; WORD $0x0000; BYTE $0x00 // lea edi, [8*rsi] WORD $0xc189 // mov ecx, eax @@ -10808,191 +11313,188 @@ LBB2_62: WORD $0xe7d3 // shl edi, cl WORD $0x2040; BYTE $0xdf // and dil, bl WORD $0x3044; BYTE $0xc7 // xor dil, r8b - LONG $0x333c8841 // mov byte [r11 + rsi], dil + LONG $0x363c8841 // mov byte [r14 + rsi], dil LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 JNE LBB2_62 - LONG $0x01c38349 // add r11, 1 + LONG $0x01c68349 // add r14, 1 LBB2_64: - LONG $0x05fec149 // sar r14, 5 + LONG $0x05fbc149 // sar r11, 5 LONG $0x20fa8349 // cmp r10, 32 JL LBB2_68 QUAD $0x000001182494894c // mov qword [rsp + 280], r10 - QUAD $0x000000b024b4894c // mov qword [rsp + 176], r14 - QUAD $0x000000a824b4894c // mov qword [rsp + 168], r14 + QUAD $0x000000a8249c894c // mov qword [rsp + 168], r11 + QUAD $0x000000b0249c894c // mov qword [rsp + 176], r11 LBB2_66: - QUAD $0x00000110249c894c // mov qword [rsp + 272], r11 - LONG $0x2a3b4466 // cmp r13w, word [rdx] - WORD $0x940f; BYTE $0xd0 // sete al - LONG $0x6a3b4466; BYTE $0x02 // cmp r13w, word [rdx + 2] - LONG $0xd7940f40 // sete dil - LONG $0x6a3b4466; BYTE $0x04 // cmp r13w, word [rdx + 4] - LONG $0xd6940f41 // sete r14b - LONG $0x6a3b4466; BYTE $0x06 // cmp r13w, word [rdx + 6] - QUAD $0x000000982494940f // sete byte [rsp + 152] - LONG $0x6a3b4466; BYTE $0x08 // cmp r13w, word [rdx + 8] - LONG $0x2454940f; BYTE $0x70 // sete byte [rsp + 112] - LONG $0x6a3b4466; BYTE $0x0a // cmp r13w, word [rdx + 10] - QUAD $0x000000902494940f // sete byte [rsp + 144] - LONG $0x6a3b4466; BYTE $0x0c // cmp r13w, word [rdx + 12] - QUAD $0x000000a02494940f // sete byte [rsp + 160] - LONG $0x6a3b4466; BYTE $0x0e // cmp r13w, word [rdx + 14] - LONG $0xd3940f41 // sete r11b - LONG $0x6a3b4466; BYTE $0x10 // cmp r13w, word [rdx + 16] - LONG $0x2454940f; BYTE $0x58 // sete byte [rsp + 88] - LONG $0x6a3b4466; BYTE $0x12 // cmp r13w, word [rdx + 18] - LONG $0xd6940f40 // sete sil - LONG $0x6a3b4466; BYTE $0x14 // cmp r13w, word [rdx + 20] - LONG $0xd0940f41 // sete r8b - LONG $0x6a3b4466; BYTE $0x16 // cmp r13w, word [rdx + 22] - LONG $0xd1940f41 // sete r9b - LONG $0x6a3b4466; BYTE $0x18 // cmp r13w, word [rdx + 24] - LONG $0xd2940f41 // sete r10b - LONG $0x6a3b4466; BYTE $0x1a // cmp r13w, word [rdx + 26] - LONG $0xd4940f41 // sete r12b - LONG $0x6a3b4466; BYTE $0x1c // cmp r13w, word [rdx + 28] - LONG $0x2454940f; BYTE $0x50 // sete byte [rsp + 80] - LONG $0x6a3b4466; BYTE $0x1e // cmp r13w, word [rdx + 30] - WORD $0x940f; BYTE $0xd1 // sete cl - LONG $0x6a3b4466; BYTE $0x20 // cmp r13w, word [rdx + 32] - QUAD $0x000000802494940f // sete byte [rsp + 128] - LONG $0x6a3b4466; BYTE $0x22 // cmp r13w, word [rdx + 34] - LONG $0x2454940f; BYTE $0x60 // sete byte [rsp + 96] - LONG $0x6a3b4466; BYTE $0x24 // cmp r13w, word [rdx + 36] - LONG $0x2454940f; BYTE $0x68 // sete byte [rsp + 104] - LONG $0x6a3b4466; BYTE $0x26 // cmp r13w, word [rdx + 38] - LONG $0x2454940f; BYTE $0x78 // sete byte [rsp + 120] - LONG $0x6a3b4466; BYTE $0x28 // cmp r13w, word [rdx + 40] - QUAD $0x000000882494940f // sete byte [rsp + 136] - LONG $0x6a3b4466; BYTE $0x2a // cmp r13w, word [rdx + 42] - LONG $0x2454940f; BYTE $0x30 // sete byte [rsp + 48] - LONG $0x6a3b4466; BYTE $0x2c // cmp r13w, word [rdx + 44] - LONG $0x2454940f; BYTE $0x38 // sete byte [rsp + 56] - LONG $0x6a3b4466; BYTE $0x2e // cmp r13w, word [rdx + 46] - LONG $0xd7940f41 // sete r15b - LONG $0x6a3b4466; BYTE $0x30 // cmp r13w, word [rdx + 48] - LONG $0x2454940f; BYTE $0x20 // sete byte [rsp + 32] - LONG $0x6a3b4466; BYTE $0x32 // cmp r13w, word [rdx + 50] - LONG $0x2454940f; BYTE $0x40 // sete byte [rsp + 64] - LONG $0x6a3b4466; BYTE $0x34 // cmp r13w, word [rdx + 52] - LONG $0x2454940f; BYTE $0x48 // sete byte [rsp + 72] - LONG $0x6a3b4466; BYTE $0x36 // cmp r13w, word [rdx + 54] - LONG $0x2454940f; BYTE $0x28 // sete byte [rsp + 40] - LONG $0x6a3b4466; BYTE $0x38 // cmp r13w, word [rdx + 56] - QUAD $0x000001402494940f // sete byte [rsp + 320] - LONG $0x6a3b4466; BYTE $0x3a // cmp r13w, word [rdx + 58] - QUAD $0x000001202494940f // sete byte [rsp + 288] - LONG $0x6a3b4466; BYTE $0x3c // cmp r13w, word [rdx + 60] - LONG $0x2454940f; BYTE $0x1c // sete byte [rsp + 28] - LONG $0x6a3b4466; BYTE $0x3e // cmp r13w, word [rdx + 62] - WORD $0x940f; BYTE $0xd3 // sete bl - WORD $0x0040; BYTE $0xff // add dil, dil - WORD $0x0840; BYTE $0xc7 // or dil, al - QUAD $0x000000a02484b60f // movzx eax, byte [rsp + 160] - WORD $0xe0c0; BYTE $0x06 // shl al, 6 - LONG $0x07e3c041 // shl r11b, 7 - WORD $0x0841; BYTE $0xc3 // or r11b, al - LONG $0x02e6c041 // shl r14b, 2 - WORD $0x0841; BYTE $0xfe // or r14b, dil - WORD $0x0040; BYTE $0xf6 // add sil, sil - LONG $0x24740240; BYTE $0x58 // add sil, byte [rsp + 88] - QUAD $0x000000982484b60f // movzx eax, byte [rsp + 152] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0x0844; BYTE $0xf0 // or al, r14b - WORD $0xc789 // mov edi, eax - LONG $0x02e0c041 // shl r8b, 2 - WORD $0x0841; BYTE $0xf0 // or r8b, sil - LONG $0x2444b60f; BYTE $0x70 // movzx eax, byte [rsp + 112] - WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0x0840; BYTE $0xf8 // or al, dil - WORD $0xc789 // mov edi, eax - LONG $0x03e1c041 // shl r9b, 3 - WORD $0x0845; BYTE $0xc1 // or r9b, r8b - QUAD $0x000000902484b60f // movzx eax, byte [rsp + 144] - WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0x0840; BYTE $0xf8 // or al, dil - LONG $0x04e2c041 // shl r10b, 4 - WORD $0x0845; BYTE $0xca // or r10b, r9b - LONG $0x05e4c041 // shl r12b, 5 - WORD $0x0845; BYTE $0xd4 // or r12b, r10b - LONG $0x2474b60f; BYTE $0x50 // movzx esi, byte [rsp + 80] - LONG $0x06e6c040 // shl sil, 6 - WORD $0xe1c0; BYTE $0x07 // shl cl, 7 - WORD $0x0840; BYTE $0xf1 // or cl, sil - WORD $0x0841; BYTE $0xc3 // or r11b, al - WORD $0x0844; BYTE $0xe1 // or cl, r12b - LONG $0x2444b60f; BYTE $0x60 // movzx eax, byte [rsp + 96] - WORD $0xc000 // add al, al - LONG $0x80248402; WORD $0x0000; BYTE $0x00 // add al, byte [rsp + 128] - WORD $0xc689 // mov esi, eax - LONG $0x2444b60f; BYTE $0x68 // movzx eax, byte [rsp + 104] - WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0x0840; BYTE $0xf0 // or al, sil - WORD $0xc689 // mov esi, eax - LONG $0x2444b60f; BYTE $0x78 // movzx eax, byte [rsp + 120] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0x0840; BYTE $0xf0 // or al, sil - WORD $0xc689 // mov esi, eax - QUAD $0x000000882484b60f // movzx eax, byte [rsp + 136] - WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0x0840; BYTE $0xf0 // or al, sil - WORD $0xc689 // mov esi, eax - LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] - WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0x0840; BYTE $0xf0 // or al, sil - WORD $0xc689 // mov esi, eax - QUAD $0x0000011024848b48 // mov rax, qword [rsp + 272] - WORD $0x8844; BYTE $0x18 // mov byte [rax], r11b - QUAD $0x00000110249c8b4c // mov r11, qword [rsp + 272] - LONG $0x2444b60f; BYTE $0x38 // movzx eax, byte [rsp + 56] - WORD $0xe0c0; BYTE $0x06 // shl al, 6 - LONG $0x07e7c041 // shl r15b, 7 - WORD $0x0841; BYTE $0xc7 // or r15b, al - LONG $0x014b8841 // mov byte [r11 + 1], cl - WORD $0x0841; BYTE $0xf7 // or r15b, sil - LONG $0x2444b60f; BYTE $0x40 // movzx eax, byte [rsp + 64] - WORD $0xc000 // add al, al - LONG $0x20244402 // add al, byte [rsp + 32] - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x48 // movzx eax, byte [rsp + 72] - WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax - QUAD $0x000001402484b60f // movzx eax, byte [rsp + 320] - WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax - QUAD $0x000001202484b60f // movzx eax, byte [rsp + 288] - WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - LONG $0x244cb60f; BYTE $0x1c // movzx ecx, byte [rsp + 28] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 - WORD $0xe3c0; BYTE $0x07 // shl bl, 7 - WORD $0xcb08 // or bl, cl - WORD $0xc308 // or bl, al - LONG $0x027b8845 // mov byte [r11 + 2], r15b - LONG $0x035b8841 // mov byte [r11 + 3], bl - LONG $0x40c28348 // add rdx, 64 - LONG $0x04c38349 // add r11, 4 - QUAD $0x000000a824848348; BYTE $0xff // add qword [rsp + 168], -1 + QUAD $0x0000011024b4894c // mov qword [rsp + 272], r14 + LONG $0x2a3b4466 // cmp r13w, word [rdx] + QUAD $0x000000902494940f // sete byte [rsp + 144] + LONG $0x6a3b4466; BYTE $0x02 // cmp r13w, word [rdx + 2] + LONG $0xd2940f41 // sete r10b + LONG $0x6a3b4466; BYTE $0x04 // cmp r13w, word [rdx + 4] + LONG $0xd6940f41 // sete r14b + LONG $0x6a3b4466; BYTE $0x06 // cmp r13w, word [rdx + 6] + QUAD $0x000000a02494940f // sete byte [rsp + 160] + LONG $0x6a3b4466; BYTE $0x08 // cmp r13w, word [rdx + 8] + LONG $0x2454940f; BYTE $0x48 // sete byte [rsp + 72] + LONG $0x6a3b4466; BYTE $0x0a // cmp r13w, word [rdx + 10] + LONG $0x2454940f; BYTE $0x70 // sete byte [rsp + 112] + LONG $0x6a3b4466; BYTE $0x0c // cmp r13w, word [rdx + 12] + WORD $0x940f; BYTE $0xd3 // sete bl + LONG $0x6a3b4466; BYTE $0x0e // cmp r13w, word [rdx + 14] + LONG $0xd7940f40 // sete dil + LONG $0x6a3b4466; BYTE $0x10 // cmp r13w, word [rdx + 16] + QUAD $0x000000982494940f // sete byte [rsp + 152] + LONG $0x6a3b4466; BYTE $0x12 // cmp r13w, word [rdx + 18] + LONG $0xd6940f40 // sete sil + LONG $0x6a3b4466; BYTE $0x14 // cmp r13w, word [rdx + 20] + LONG $0xd0940f41 // sete r8b + LONG $0x6a3b4466; BYTE $0x16 // cmp r13w, word [rdx + 22] + LONG $0xd1940f41 // sete r9b + LONG $0x6a3b4466; BYTE $0x18 // cmp r13w, word [rdx + 24] + LONG $0xd3940f41 // sete r11b + LONG $0x6a3b4466; BYTE $0x1a // cmp r13w, word [rdx + 26] + LONG $0xd4940f41 // sete r12b + LONG $0x6a3b4466; BYTE $0x1c // cmp r13w, word [rdx + 28] + QUAD $0x000000882494940f // sete byte [rsp + 136] + LONG $0x6a3b4466; BYTE $0x1e // cmp r13w, word [rdx + 30] + WORD $0x940f; BYTE $0xd0 // sete al + LONG $0x6a3b4466; BYTE $0x20 // cmp r13w, word [rdx + 32] + LONG $0x2454940f; BYTE $0x60 // sete byte [rsp + 96] + LONG $0x6a3b4466; BYTE $0x22 // cmp r13w, word [rdx + 34] + LONG $0x2454940f; BYTE $0x40 // sete byte [rsp + 64] + LONG $0x6a3b4466; BYTE $0x24 // cmp r13w, word [rdx + 36] + LONG $0x2454940f; BYTE $0x50 // sete byte [rsp + 80] + LONG $0x6a3b4466; BYTE $0x26 // cmp r13w, word [rdx + 38] + LONG $0x2454940f; BYTE $0x58 // sete byte [rsp + 88] + LONG $0x6a3b4466; BYTE $0x28 // cmp r13w, word [rdx + 40] + LONG $0x2454940f; BYTE $0x68 // sete byte [rsp + 104] + LONG $0x6a3b4466; BYTE $0x2a // cmp r13w, word [rdx + 42] + LONG $0x2454940f; BYTE $0x78 // sete byte [rsp + 120] + LONG $0x6a3b4466; BYTE $0x2c // cmp r13w, word [rdx + 44] + QUAD $0x000000802494940f // sete byte [rsp + 128] + LONG $0x6a3b4466; BYTE $0x2e // cmp r13w, word [rdx + 46] + LONG $0xd7940f41 // sete r15b + LONG $0x6a3b4466; BYTE $0x30 // cmp r13w, word [rdx + 48] + LONG $0x2454940f; BYTE $0x28 // sete byte [rsp + 40] + LONG $0x6a3b4466; BYTE $0x32 // cmp r13w, word [rdx + 50] + LONG $0x2454940f; BYTE $0x30 // sete byte [rsp + 48] + LONG $0x6a3b4466; BYTE $0x34 // cmp r13w, word [rdx + 52] + LONG $0x2454940f; BYTE $0x38 // sete byte [rsp + 56] + LONG $0x6a3b4466; BYTE $0x36 // cmp r13w, word [rdx + 54] + LONG $0x2454940f; BYTE $0x20 // sete byte [rsp + 32] + LONG $0x6a3b4466; BYTE $0x38 // cmp r13w, word [rdx + 56] + QUAD $0x000001402494940f // sete byte [rsp + 320] + LONG $0x6a3b4466; BYTE $0x3a // cmp r13w, word [rdx + 58] + QUAD $0x000001202494940f // sete byte [rsp + 288] + LONG $0x6a3b4466; BYTE $0x3c // cmp r13w, word [rdx + 60] + LONG $0x2454940f; BYTE $0x1c // sete byte [rsp + 28] + LONG $0x6a3b4466; BYTE $0x3e // cmp r13w, word [rdx + 62] + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0x0045; BYTE $0xd2 // add r10b, r10b + QUAD $0x0000009024940244 // add r10b, byte [rsp + 144] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 + LONG $0x07e7c040 // shl dil, 7 + WORD $0x0840; BYTE $0xdf // or dil, bl + LONG $0x02e6c041 // shl r14b, 2 + WORD $0x0845; BYTE $0xd6 // or r14b, r10b + WORD $0x0040; BYTE $0xf6 // add sil, sil + QUAD $0x0000009824b40240 // add sil, byte [rsp + 152] + QUAD $0x000000a0249cb60f // movzx ebx, byte [rsp + 160] + WORD $0xe3c0; BYTE $0x03 // shl bl, 3 + WORD $0x0844; BYTE $0xf3 // or bl, r14b + WORD $0x8941; BYTE $0xda // mov r10d, ebx + QUAD $0x0000011024b48b4c // mov r14, qword [rsp + 272] + LONG $0x02e0c041 // shl r8b, 2 + WORD $0x0841; BYTE $0xf0 // or r8b, sil + LONG $0x245cb60f; BYTE $0x48 // movzx ebx, byte [rsp + 72] + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0x0844; BYTE $0xd3 // or bl, r10b + WORD $0xde89 // mov esi, ebx + LONG $0x03e1c041 // shl r9b, 3 + WORD $0x0845; BYTE $0xc1 // or r9b, r8b + LONG $0x245cb60f; BYTE $0x70 // movzx ebx, byte [rsp + 112] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + WORD $0x0840; BYTE $0xf3 // or bl, sil + LONG $0x04e3c041 // shl r11b, 4 + WORD $0x0845; BYTE $0xcb // or r11b, r9b + LONG $0x05e4c041 // shl r12b, 5 + WORD $0x0845; BYTE $0xdc // or r12b, r11b + QUAD $0x0000008824b4b60f // movzx esi, byte [rsp + 136] + LONG $0x06e6c040 // shl sil, 6 + WORD $0xe0c0; BYTE $0x07 // shl al, 7 + WORD $0x0840; BYTE $0xf0 // or al, sil + WORD $0x0840; BYTE $0xdf // or dil, bl + WORD $0x0844; BYTE $0xe0 // or al, r12b + LONG $0x245cb60f; BYTE $0x40 // movzx ebx, byte [rsp + 64] + WORD $0xdb00 // add bl, bl + LONG $0x60245c02 // add bl, byte [rsp + 96] + WORD $0xde89 // mov esi, ebx + LONG $0x245cb60f; BYTE $0x50 // movzx ebx, byte [rsp + 80] + WORD $0xe3c0; BYTE $0x02 // shl bl, 2 + WORD $0x0840; BYTE $0xf3 // or bl, sil + WORD $0xde89 // mov esi, ebx + LONG $0x245cb60f; BYTE $0x58 // movzx ebx, byte [rsp + 88] + WORD $0xe3c0; BYTE $0x03 // shl bl, 3 + WORD $0x0840; BYTE $0xf3 // or bl, sil + WORD $0xde89 // mov esi, ebx + LONG $0x245cb60f; BYTE $0x68 // movzx ebx, byte [rsp + 104] + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0x0840; BYTE $0xf3 // or bl, sil + WORD $0xde89 // mov esi, ebx + LONG $0x245cb60f; BYTE $0x78 // movzx ebx, byte [rsp + 120] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + WORD $0x0840; BYTE $0xf3 // or bl, sil + WORD $0x8841; BYTE $0x3e // mov byte [r14], dil + QUAD $0x0000008024b4b60f // movzx esi, byte [rsp + 128] + LONG $0x06e6c040 // shl sil, 6 + LONG $0x07e7c041 // shl r15b, 7 + WORD $0x0841; BYTE $0xf7 // or r15b, sil + LONG $0x01468841 // mov byte [r14 + 1], al + WORD $0x0841; BYTE $0xdf // or r15b, bl + LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] + WORD $0xc000 // add al, al + LONG $0x28244402 // add al, byte [rsp + 40] + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x38 // movzx eax, byte [rsp + 56] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + QUAD $0x000001402484b60f // movzx eax, byte [rsp + 320] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + QUAD $0x000001202484b60f // movzx eax, byte [rsp + 288] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0xd808 // or al, bl + LONG $0x245cb60f; BYTE $0x1c // movzx ebx, byte [rsp + 28] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 + WORD $0xe1c0; BYTE $0x07 // shl cl, 7 + WORD $0xd908 // or cl, bl + WORD $0xc108 // or cl, al + LONG $0x027e8845 // mov byte [r14 + 2], r15b + LONG $0x034e8841 // mov byte [r14 + 3], cl + LONG $0x40c28348 // add rdx, 64 + LONG $0x04c68349 // add r14, 4 + QUAD $0x000000b024848348; BYTE $0xff // add qword [rsp + 176], -1 JNE LBB2_66 - QUAD $0x0000011824948b4c // mov r10, qword [rsp + 280] - QUAD $0x000000b024b48b4c // mov r14, qword [rsp + 176] + QUAD $0x0000011824948b4c // mov r10, qword [rsp + 280] + QUAD $0x000000a8249c8b4c // mov r11, qword [rsp + 168] LBB2_68: - LONG $0x05e6c149 // shl r14, 5 - WORD $0x394d; BYTE $0xd6 // cmp r14, r10 - JGE LBB2_157 + LONG $0x05e3c149 // shl r11, 5 + WORD $0x394d; BYTE $0xd3 // cmp r11, r10 + JGE LBB2_165 WORD $0x894d; BYTE $0xd0 // mov r8, r10 - WORD $0x294d; BYTE $0xf0 // sub r8, r14 - WORD $0xf749; BYTE $0xd6 // not r14 - WORD $0x014d; BYTE $0xd6 // add r14, r10 + WORD $0x294d; BYTE $0xd8 // sub r8, r11 + WORD $0xf749; BYTE $0xd3 // not r11 + WORD $0x014d; BYTE $0xd3 // add r11, r10 JE LBB2_82 WORD $0x894d; BYTE $0xc2 // mov r10, r8 LONG $0xfee28349 // and r10, -2 @@ -11004,8 +11506,8 @@ LBB2_71: WORD $0xd8f6 // neg al WORD $0x8948; BYTE $0xfe // mov rsi, rdi LONG $0x03eec148 // shr rsi, 3 - WORD $0x894d; BYTE $0xde // mov r14, r11 - LONG $0x0cb60f45; BYTE $0x33 // movzx r9d, byte [r11 + rsi] + WORD $0x894d; BYTE $0xf3 // mov r11, r14 + LONG $0x0cb60f45; BYTE $0x36 // movzx r9d, byte [r14 + rsi] WORD $0xf989 // mov ecx, edi WORD $0xe180; BYTE $0x06 // and cl, 6 WORD $0x01b3 // mov bl, 1 @@ -11013,7 +11515,7 @@ LBB2_71: WORD $0x3044; BYTE $0xc8 // xor al, r9b WORD $0xc320 // and bl, al WORD $0x3044; BYTE $0xcb // xor bl, r9b - LONG $0x331c8841 // mov byte [r11 + rsi], bl + LONG $0x361c8841 // mov byte [r14 + rsi], bl LONG $0x02c78348 // add rdi, 2 LONG $0x6a3b4466; BYTE $0x02 // cmp r13w, word [rdx + 2] LONG $0x04528d48 // lea rdx, [rdx + 4] @@ -11025,16 +11527,16 @@ LBB2_71: WORD $0xe0d2 // shl al, cl WORD $0x2044; BYTE $0xc8 // and al, r9b WORD $0xd830 // xor al, bl - LONG $0x33048841 // mov byte [r11 + rsi], al + LONG $0x36048841 // mov byte [r14 + rsi], al WORD $0x3949; BYTE $0xfa // cmp r10, rdi JNE LBB2_71 JMP LBB2_142 LBB2_72: LONG $0x2eb70f44 // movzx r13d, word [rsi] - LONG $0x1f728d4d // lea r14, [r10 + 31] + LONG $0x1f5a8d4d // lea r11, [r10 + 31] WORD $0x854d; BYTE $0xd2 // test r10, r10 - LONG $0xf2490f4d // cmovns r14, r10 + LONG $0xda490f4d // cmovns r11, r10 LONG $0x07418d41 // lea eax, [r9 + 7] WORD $0x8545; BYTE $0xc9 // test r9d, r9d LONG $0xc1490f41 // cmovns eax, r9d @@ -11052,8 +11554,8 @@ LBB2_74: WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xf0490f48 // cmovns rsi, rax LONG $0x03fec148 // sar rsi, 3 - WORD $0x894d; BYTE $0xd9 // mov r9, r11 - LONG $0x04b60f45; BYTE $0x33 // movzx r8d, byte [r11 + rsi] + WORD $0x894d; BYTE $0xf1 // mov r9, r14 + LONG $0x04b60f45; BYTE $0x36 // movzx r8d, byte [r14 + rsi] WORD $0x3044; BYTE $0xc3 // xor bl, r8b LONG $0x00f53c8d; WORD $0x0000; BYTE $0x00 // lea edi, [8*rsi] WORD $0xc189 // mov ecx, eax @@ -11062,190 +11564,188 @@ LBB2_74: WORD $0xe7d3 // shl edi, cl WORD $0x2040; BYTE $0xdf // and dil, bl WORD $0x3044; BYTE $0xc7 // xor dil, r8b - LONG $0x333c8841 // mov byte [r11 + rsi], dil + LONG $0x363c8841 // mov byte [r14 + rsi], dil LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 JNE LBB2_74 - LONG $0x01c38349 // add r11, 1 + LONG $0x01c68349 // add r14, 1 LBB2_76: - LONG $0x05fec149 // sar r14, 5 + LONG $0x05fbc149 // sar r11, 5 LONG $0x20fa8349 // cmp r10, 32 JL LBB2_80 QUAD $0x000001182494894c // mov qword [rsp + 280], r10 - QUAD $0x000000b024b4894c // mov qword [rsp + 176], r14 - QUAD $0x000000a824b4894c // mov qword [rsp + 168], r14 + QUAD $0x000000a8249c894c // mov qword [rsp + 168], r11 + QUAD $0x000000b0249c894c // mov qword [rsp + 176], r11 LBB2_78: - QUAD $0x00000110249c894c // mov qword [rsp + 272], r11 - LONG $0x2a3b4466 // cmp r13w, word [rdx] - QUAD $0x000000982494940f // sete byte [rsp + 152] - LONG $0x6a3b4466; BYTE $0x02 // cmp r13w, word [rdx + 2] - LONG $0xd7940f40 // sete dil - LONG $0x6a3b4466; BYTE $0x04 // cmp r13w, word [rdx + 4] - LONG $0xd6940f41 // sete r14b - LONG $0x6a3b4466; BYTE $0x06 // cmp r13w, word [rdx + 6] - QUAD $0x000000a02494940f // sete byte [rsp + 160] - LONG $0x6a3b4466; BYTE $0x08 // cmp r13w, word [rdx + 8] - LONG $0x2454940f; BYTE $0x70 // sete byte [rsp + 112] - LONG $0x6a3b4466; BYTE $0x0a // cmp r13w, word [rdx + 10] - QUAD $0x000000902494940f // sete byte [rsp + 144] - LONG $0x6a3b4466; BYTE $0x0c // cmp r13w, word [rdx + 12] - WORD $0x940f; BYTE $0xd0 // sete al - LONG $0x6a3b4466; BYTE $0x0e // cmp r13w, word [rdx + 14] - LONG $0xd3940f41 // sete r11b - LONG $0x6a3b4466; BYTE $0x10 // cmp r13w, word [rdx + 16] - LONG $0x2454940f; BYTE $0x50 // sete byte [rsp + 80] - LONG $0x6a3b4466; BYTE $0x12 // cmp r13w, word [rdx + 18] - LONG $0xd6940f40 // sete sil - LONG $0x6a3b4466; BYTE $0x14 // cmp r13w, word [rdx + 20] - LONG $0xd0940f41 // sete r8b - LONG $0x6a3b4466; BYTE $0x16 // cmp r13w, word [rdx + 22] - LONG $0xd1940f41 // sete r9b - LONG $0x6a3b4466; BYTE $0x18 // cmp r13w, word [rdx + 24] - LONG $0xd2940f41 // sete r10b - LONG $0x6a3b4466; BYTE $0x1a // cmp r13w, word [rdx + 26] - LONG $0xd4940f41 // sete r12b - LONG $0x6a3b4466; BYTE $0x1c // cmp r13w, word [rdx + 28] - LONG $0x2454940f; BYTE $0x58 // sete byte [rsp + 88] - LONG $0x6a3b4466; BYTE $0x1e // cmp r13w, word [rdx + 30] - WORD $0x940f; BYTE $0xd1 // sete cl - LONG $0x6a3b4466; BYTE $0x20 // cmp r13w, word [rdx + 32] - QUAD $0x000000802494940f // sete byte [rsp + 128] - LONG $0x6a3b4466; BYTE $0x22 // cmp r13w, word [rdx + 34] - LONG $0x2454940f; BYTE $0x60 // sete byte [rsp + 96] - LONG $0x6a3b4466; BYTE $0x24 // cmp r13w, word [rdx + 36] - LONG $0x2454940f; BYTE $0x68 // sete byte [rsp + 104] - LONG $0x6a3b4466; BYTE $0x26 // cmp r13w, word [rdx + 38] - LONG $0x2454940f; BYTE $0x78 // sete byte [rsp + 120] - LONG $0x6a3b4466; BYTE $0x28 // cmp r13w, word [rdx + 40] - QUAD $0x000000882494940f // sete byte [rsp + 136] - LONG $0x6a3b4466; BYTE $0x2a // cmp r13w, word [rdx + 42] - LONG $0x2454940f; BYTE $0x30 // sete byte [rsp + 48] - LONG $0x6a3b4466; BYTE $0x2c // cmp r13w, word [rdx + 44] - LONG $0x2454940f; BYTE $0x38 // sete byte [rsp + 56] - LONG $0x6a3b4466; BYTE $0x2e // cmp r13w, word [rdx + 46] - LONG $0xd7940f41 // sete r15b - LONG $0x6a3b4466; BYTE $0x30 // cmp r13w, word [rdx + 48] - LONG $0x2454940f; BYTE $0x20 // sete byte [rsp + 32] - LONG $0x6a3b4466; BYTE $0x32 // cmp r13w, word [rdx + 50] - LONG $0x2454940f; BYTE $0x40 // sete byte [rsp + 64] - LONG $0x6a3b4466; BYTE $0x34 // cmp r13w, word [rdx + 52] - LONG $0x2454940f; BYTE $0x48 // sete byte [rsp + 72] - LONG $0x6a3b4466; BYTE $0x36 // cmp r13w, word [rdx + 54] - LONG $0x2454940f; BYTE $0x28 // sete byte [rsp + 40] - LONG $0x6a3b4466; BYTE $0x38 // cmp r13w, word [rdx + 56] - QUAD $0x000001402494940f // sete byte [rsp + 320] - LONG $0x6a3b4466; BYTE $0x3a // cmp r13w, word [rdx + 58] - QUAD $0x000001202494940f // sete byte [rsp + 288] - LONG $0x6a3b4466; BYTE $0x3c // cmp r13w, word [rdx + 60] - LONG $0x2454940f; BYTE $0x1c // sete byte [rsp + 28] - LONG $0x6a3b4466; BYTE $0x3e // cmp r13w, word [rdx + 62] - WORD $0x940f; BYTE $0xd3 // sete bl - WORD $0x0040; BYTE $0xff // add dil, dil - QUAD $0x0000009824bc0240 // add dil, byte [rsp + 152] - WORD $0xe0c0; BYTE $0x06 // shl al, 6 - LONG $0x07e3c041 // shl r11b, 7 - WORD $0x0841; BYTE $0xc3 // or r11b, al - LONG $0x02e6c041 // shl r14b, 2 - WORD $0x0841; BYTE $0xfe // or r14b, dil - WORD $0x0040; BYTE $0xf6 // add sil, sil - LONG $0x24740240; BYTE $0x50 // add sil, byte [rsp + 80] - QUAD $0x000000a02484b60f // movzx eax, byte [rsp + 160] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0x0844; BYTE $0xf0 // or al, r14b - WORD $0xc789 // mov edi, eax - LONG $0x02e0c041 // shl r8b, 2 - WORD $0x0841; BYTE $0xf0 // or r8b, sil - LONG $0x2444b60f; BYTE $0x70 // movzx eax, byte [rsp + 112] - WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0x0840; BYTE $0xf8 // or al, dil - WORD $0xc789 // mov edi, eax - LONG $0x03e1c041 // shl r9b, 3 - WORD $0x0845; BYTE $0xc1 // or r9b, r8b - QUAD $0x000000902484b60f // movzx eax, byte [rsp + 144] - WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0x0840; BYTE $0xf8 // or al, dil - LONG $0x04e2c041 // shl r10b, 4 - WORD $0x0845; BYTE $0xca // or r10b, r9b - LONG $0x05e4c041 // shl r12b, 5 - WORD $0x0845; BYTE $0xd4 // or r12b, r10b - LONG $0x2474b60f; BYTE $0x58 // movzx esi, byte [rsp + 88] - LONG $0x06e6c040 // shl sil, 6 - WORD $0xe1c0; BYTE $0x07 // shl cl, 7 - WORD $0x0840; BYTE $0xf1 // or cl, sil - WORD $0x0841; BYTE $0xc3 // or r11b, al - WORD $0x0844; BYTE $0xe1 // or cl, r12b - LONG $0x2444b60f; BYTE $0x60 // movzx eax, byte [rsp + 96] - WORD $0xc000 // add al, al - LONG $0x80248402; WORD $0x0000; BYTE $0x00 // add al, byte [rsp + 128] - WORD $0xc689 // mov esi, eax - LONG $0x2444b60f; BYTE $0x68 // movzx eax, byte [rsp + 104] - WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0x0840; BYTE $0xf0 // or al, sil - WORD $0xc689 // mov esi, eax - LONG $0x2444b60f; BYTE $0x78 // movzx eax, byte [rsp + 120] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0x0840; BYTE $0xf0 // or al, sil - WORD $0xc689 // mov esi, eax - QUAD $0x000000882484b60f // movzx eax, byte [rsp + 136] - WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0x0840; BYTE $0xf0 // or al, sil - WORD $0xc689 // mov esi, eax - LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] - WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0x0840; BYTE $0xf0 // or al, sil - WORD $0xc689 // mov esi, eax - QUAD $0x0000011024848b48 // mov rax, qword [rsp + 272] - WORD $0x8844; BYTE $0x18 // mov byte [rax], r11b - QUAD $0x00000110249c8b4c // mov r11, qword [rsp + 272] - LONG $0x2444b60f; BYTE $0x38 // movzx eax, byte [rsp + 56] - WORD $0xe0c0; BYTE $0x06 // shl al, 6 - LONG $0x07e7c041 // shl r15b, 7 - WORD $0x0841; BYTE $0xc7 // or r15b, al - LONG $0x014b8841 // mov byte [r11 + 1], cl - WORD $0x0841; BYTE $0xf7 // or r15b, sil - LONG $0x2444b60f; BYTE $0x40 // movzx eax, byte [rsp + 64] - WORD $0xc000 // add al, al - LONG $0x20244402 // add al, byte [rsp + 32] - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x48 // movzx eax, byte [rsp + 72] - WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax - QUAD $0x000001402484b60f // movzx eax, byte [rsp + 320] - WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax - QUAD $0x000001202484b60f // movzx eax, byte [rsp + 288] - WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - LONG $0x244cb60f; BYTE $0x1c // movzx ecx, byte [rsp + 28] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 - WORD $0xe3c0; BYTE $0x07 // shl bl, 7 - WORD $0xcb08 // or bl, cl - WORD $0xc308 // or bl, al - LONG $0x027b8845 // mov byte [r11 + 2], r15b - LONG $0x035b8841 // mov byte [r11 + 3], bl - LONG $0x40c28348 // add rdx, 64 - LONG $0x04c38349 // add r11, 4 - QUAD $0x000000a824848348; BYTE $0xff // add qword [rsp + 168], -1 + QUAD $0x0000011024b4894c // mov qword [rsp + 272], r14 + LONG $0x2a3b4466 // cmp r13w, word [rdx] + QUAD $0x000000a02494940f // sete byte [rsp + 160] + LONG $0x6a3b4466; BYTE $0x02 // cmp r13w, word [rdx + 2] + LONG $0xd2940f41 // sete r10b + LONG $0x6a3b4466; BYTE $0x04 // cmp r13w, word [rdx + 4] + LONG $0xd6940f41 // sete r14b + LONG $0x6a3b4466; BYTE $0x06 // cmp r13w, word [rdx + 6] + QUAD $0x000000882494940f // sete byte [rsp + 136] + LONG $0x6a3b4466; BYTE $0x08 // cmp r13w, word [rdx + 8] + LONG $0x2454940f; BYTE $0x50 // sete byte [rsp + 80] + LONG $0x6a3b4466; BYTE $0x0a // cmp r13w, word [rdx + 10] + LONG $0x2454940f; BYTE $0x70 // sete byte [rsp + 112] + LONG $0x6a3b4466; BYTE $0x0c // cmp r13w, word [rdx + 12] + WORD $0x940f; BYTE $0xd3 // sete bl + LONG $0x6a3b4466; BYTE $0x0e // cmp r13w, word [rdx + 14] + LONG $0xd7940f40 // sete dil + LONG $0x6a3b4466; BYTE $0x10 // cmp r13w, word [rdx + 16] + QUAD $0x000000902494940f // sete byte [rsp + 144] + LONG $0x6a3b4466; BYTE $0x12 // cmp r13w, word [rdx + 18] + LONG $0xd6940f40 // sete sil + LONG $0x6a3b4466; BYTE $0x14 // cmp r13w, word [rdx + 20] + LONG $0xd0940f41 // sete r8b + LONG $0x6a3b4466; BYTE $0x16 // cmp r13w, word [rdx + 22] + LONG $0xd1940f41 // sete r9b + LONG $0x6a3b4466; BYTE $0x18 // cmp r13w, word [rdx + 24] + LONG $0xd3940f41 // sete r11b + LONG $0x6a3b4466; BYTE $0x1a // cmp r13w, word [rdx + 26] + LONG $0xd4940f41 // sete r12b + LONG $0x6a3b4466; BYTE $0x1c // cmp r13w, word [rdx + 28] + QUAD $0x000000982494940f // sete byte [rsp + 152] + LONG $0x6a3b4466; BYTE $0x1e // cmp r13w, word [rdx + 30] + WORD $0x940f; BYTE $0xd0 // sete al + LONG $0x6a3b4466; BYTE $0x20 // cmp r13w, word [rdx + 32] + LONG $0x2454940f; BYTE $0x60 // sete byte [rsp + 96] + LONG $0x6a3b4466; BYTE $0x22 // cmp r13w, word [rdx + 34] + LONG $0x2454940f; BYTE $0x40 // sete byte [rsp + 64] + LONG $0x6a3b4466; BYTE $0x24 // cmp r13w, word [rdx + 36] + LONG $0x2454940f; BYTE $0x48 // sete byte [rsp + 72] + LONG $0x6a3b4466; BYTE $0x26 // cmp r13w, word [rdx + 38] + LONG $0x2454940f; BYTE $0x58 // sete byte [rsp + 88] + LONG $0x6a3b4466; BYTE $0x28 // cmp r13w, word [rdx + 40] + LONG $0x2454940f; BYTE $0x68 // sete byte [rsp + 104] + LONG $0x6a3b4466; BYTE $0x2a // cmp r13w, word [rdx + 42] + LONG $0x2454940f; BYTE $0x78 // sete byte [rsp + 120] + LONG $0x6a3b4466; BYTE $0x2c // cmp r13w, word [rdx + 44] + QUAD $0x000000802494940f // sete byte [rsp + 128] + LONG $0x6a3b4466; BYTE $0x2e // cmp r13w, word [rdx + 46] + LONG $0xd7940f41 // sete r15b + LONG $0x6a3b4466; BYTE $0x30 // cmp r13w, word [rdx + 48] + LONG $0x2454940f; BYTE $0x28 // sete byte [rsp + 40] + LONG $0x6a3b4466; BYTE $0x32 // cmp r13w, word [rdx + 50] + LONG $0x2454940f; BYTE $0x30 // sete byte [rsp + 48] + LONG $0x6a3b4466; BYTE $0x34 // cmp r13w, word [rdx + 52] + LONG $0x2454940f; BYTE $0x38 // sete byte [rsp + 56] + LONG $0x6a3b4466; BYTE $0x36 // cmp r13w, word [rdx + 54] + LONG $0x2454940f; BYTE $0x20 // sete byte [rsp + 32] + LONG $0x6a3b4466; BYTE $0x38 // cmp r13w, word [rdx + 56] + QUAD $0x000001402494940f // sete byte [rsp + 320] + LONG $0x6a3b4466; BYTE $0x3a // cmp r13w, word [rdx + 58] + QUAD $0x000001202494940f // sete byte [rsp + 288] + LONG $0x6a3b4466; BYTE $0x3c // cmp r13w, word [rdx + 60] + LONG $0x2454940f; BYTE $0x1c // sete byte [rsp + 28] + LONG $0x6a3b4466; BYTE $0x3e // cmp r13w, word [rdx + 62] + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0x0045; BYTE $0xd2 // add r10b, r10b + QUAD $0x000000a024940244 // add r10b, byte [rsp + 160] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 + LONG $0x07e7c040 // shl dil, 7 + WORD $0x0840; BYTE $0xdf // or dil, bl + LONG $0x02e6c041 // shl r14b, 2 + WORD $0x0845; BYTE $0xd6 // or r14b, r10b + WORD $0x0040; BYTE $0xf6 // add sil, sil + QUAD $0x0000009024b40240 // add sil, byte [rsp + 144] + QUAD $0x00000088249cb60f // movzx ebx, byte [rsp + 136] + WORD $0xe3c0; BYTE $0x03 // shl bl, 3 + WORD $0x0844; BYTE $0xf3 // or bl, r14b + WORD $0x8941; BYTE $0xda // mov r10d, ebx + QUAD $0x0000011024b48b4c // mov r14, qword [rsp + 272] + LONG $0x02e0c041 // shl r8b, 2 + WORD $0x0841; BYTE $0xf0 // or r8b, sil + LONG $0x245cb60f; BYTE $0x50 // movzx ebx, byte [rsp + 80] + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0x0844; BYTE $0xd3 // or bl, r10b + WORD $0xde89 // mov esi, ebx + LONG $0x03e1c041 // shl r9b, 3 + WORD $0x0845; BYTE $0xc1 // or r9b, r8b + LONG $0x245cb60f; BYTE $0x70 // movzx ebx, byte [rsp + 112] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + WORD $0x0840; BYTE $0xf3 // or bl, sil + LONG $0x04e3c041 // shl r11b, 4 + WORD $0x0845; BYTE $0xcb // or r11b, r9b + LONG $0x05e4c041 // shl r12b, 5 + WORD $0x0845; BYTE $0xdc // or r12b, r11b + QUAD $0x0000009824b4b60f // movzx esi, byte [rsp + 152] + LONG $0x06e6c040 // shl sil, 6 + WORD $0xe0c0; BYTE $0x07 // shl al, 7 + WORD $0x0840; BYTE $0xf0 // or al, sil + WORD $0x0840; BYTE $0xdf // or dil, bl + WORD $0x0844; BYTE $0xe0 // or al, r12b + LONG $0x245cb60f; BYTE $0x40 // movzx ebx, byte [rsp + 64] + WORD $0xdb00 // add bl, bl + LONG $0x60245c02 // add bl, byte [rsp + 96] + WORD $0xde89 // mov esi, ebx + LONG $0x245cb60f; BYTE $0x48 // movzx ebx, byte [rsp + 72] + WORD $0xe3c0; BYTE $0x02 // shl bl, 2 + WORD $0x0840; BYTE $0xf3 // or bl, sil + WORD $0xde89 // mov esi, ebx + LONG $0x245cb60f; BYTE $0x58 // movzx ebx, byte [rsp + 88] + WORD $0xe3c0; BYTE $0x03 // shl bl, 3 + WORD $0x0840; BYTE $0xf3 // or bl, sil + WORD $0xde89 // mov esi, ebx + LONG $0x245cb60f; BYTE $0x68 // movzx ebx, byte [rsp + 104] + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0x0840; BYTE $0xf3 // or bl, sil + WORD $0xde89 // mov esi, ebx + LONG $0x245cb60f; BYTE $0x78 // movzx ebx, byte [rsp + 120] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + WORD $0x0840; BYTE $0xf3 // or bl, sil + WORD $0x8841; BYTE $0x3e // mov byte [r14], dil + QUAD $0x0000008024b4b60f // movzx esi, byte [rsp + 128] + LONG $0x06e6c040 // shl sil, 6 + LONG $0x07e7c041 // shl r15b, 7 + WORD $0x0841; BYTE $0xf7 // or r15b, sil + LONG $0x01468841 // mov byte [r14 + 1], al + WORD $0x0841; BYTE $0xdf // or r15b, bl + LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] + WORD $0xc000 // add al, al + LONG $0x28244402 // add al, byte [rsp + 40] + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x38 // movzx eax, byte [rsp + 56] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + QUAD $0x000001402484b60f // movzx eax, byte [rsp + 320] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + QUAD $0x000001202484b60f // movzx eax, byte [rsp + 288] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0xd808 // or al, bl + LONG $0x245cb60f; BYTE $0x1c // movzx ebx, byte [rsp + 28] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 + WORD $0xe1c0; BYTE $0x07 // shl cl, 7 + WORD $0xd908 // or cl, bl + WORD $0xc108 // or cl, al + LONG $0x027e8845 // mov byte [r14 + 2], r15b + LONG $0x034e8841 // mov byte [r14 + 3], cl + LONG $0x40c28348 // add rdx, 64 + LONG $0x04c68349 // add r14, 4 + QUAD $0x000000b024848348; BYTE $0xff // add qword [rsp + 176], -1 JNE LBB2_78 - QUAD $0x0000011824948b4c // mov r10, qword [rsp + 280] - QUAD $0x000000b024b48b4c // mov r14, qword [rsp + 176] + QUAD $0x0000011824948b4c // mov r10, qword [rsp + 280] + QUAD $0x000000a8249c8b4c // mov r11, qword [rsp + 168] LBB2_80: - LONG $0x05e6c149 // shl r14, 5 - WORD $0x394d; BYTE $0xd6 // cmp r14, r10 - JGE LBB2_157 + LONG $0x05e3c149 // shl r11, 5 + WORD $0x394d; BYTE $0xd3 // cmp r11, r10 + JGE LBB2_165 WORD $0x894d; BYTE $0xd0 // mov r8, r10 - WORD $0x294d; BYTE $0xf0 // sub r8, r14 - WORD $0xf749; BYTE $0xd6 // not r14 - WORD $0x014d; BYTE $0xd6 // add r14, r10 + WORD $0x294d; BYTE $0xd8 // sub r8, r11 + WORD $0xf749; BYTE $0xd3 // not r11 + WORD $0x014d; BYTE $0xd3 // add r11, r10 JNE LBB2_140 LBB2_82: @@ -11254,9 +11754,9 @@ LBB2_82: LBB2_83: WORD $0x8b4c; BYTE $0x2e // mov r13, qword [rsi] - LONG $0x1f728d4d // lea r14, [r10 + 31] + LONG $0x1f5a8d4d // lea r11, [r10 + 31] WORD $0x854d; BYTE $0xd2 // test r10, r10 - LONG $0xf2490f4d // cmovns r14, r10 + LONG $0xda490f4d // cmovns r11, r10 LONG $0x07418d41 // lea eax, [r9 + 7] WORD $0x8545; BYTE $0xc9 // test r9d, r9d LONG $0xc1490f41 // cmovns eax, r9d @@ -11274,8 +11774,8 @@ LBB2_85: WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xf0490f48 // cmovns rsi, rax LONG $0x03fec148 // sar rsi, 3 - WORD $0x894d; BYTE $0xd9 // mov r9, r11 - LONG $0x04b60f45; BYTE $0x33 // movzx r8d, byte [r11 + rsi] + WORD $0x894d; BYTE $0xf1 // mov r9, r14 + LONG $0x04b60f45; BYTE $0x36 // movzx r8d, byte [r14 + rsi] WORD $0x3044; BYTE $0xc3 // xor bl, r8b LONG $0x00f53c8d; WORD $0x0000; BYTE $0x00 // lea edi, [8*rsi] WORD $0xc189 // mov ecx, eax @@ -11284,40 +11784,40 @@ LBB2_85: WORD $0xe7d3 // shl edi, cl WORD $0x2040; BYTE $0xdf // and dil, bl WORD $0x3044; BYTE $0xc7 // xor dil, r8b - LONG $0x333c8841 // mov byte [r11 + rsi], dil + LONG $0x363c8841 // mov byte [r14 + rsi], dil LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 JNE LBB2_85 - LONG $0x01c38349 // add r11, 1 + LONG $0x01c68349 // add r14, 1 LBB2_87: - LONG $0x05fec149 // sar r14, 5 + LONG $0x05fbc149 // sar r11, 5 LONG $0x20fa8349 // cmp r10, 32 JL LBB2_91 QUAD $0x000001182494894c // mov qword [rsp + 280], r10 - QUAD $0x000000b024b4894c // mov qword [rsp + 176], r14 - QUAD $0x000000a824b4894c // mov qword [rsp + 168], r14 + QUAD $0x000000a8249c894c // mov qword [rsp + 168], r11 + QUAD $0x000000b0249c894c // mov qword [rsp + 176], r11 LBB2_89: - QUAD $0x00000110249c894c // mov qword [rsp + 272], r11 + QUAD $0x0000011024b4894c // mov qword [rsp + 272], r14 WORD $0x3b4c; BYTE $0x2a // cmp r13, qword [rdx] - QUAD $0x000000982494940f // sete byte [rsp + 152] + QUAD $0x000000a02494940f // sete byte [rsp + 160] LONG $0x086a3b4c // cmp r13, qword [rdx + 8] - LONG $0xd7940f40 // sete dil + LONG $0xd2940f41 // sete r10b LONG $0x106a3b4c // cmp r13, qword [rdx + 16] LONG $0xd6940f41 // sete r14b LONG $0x186a3b4c // cmp r13, qword [rdx + 24] - QUAD $0x000000a02494940f // sete byte [rsp + 160] + QUAD $0x000000882494940f // sete byte [rsp + 136] LONG $0x206a3b4c // cmp r13, qword [rdx + 32] - LONG $0x2454940f; BYTE $0x70 // sete byte [rsp + 112] + LONG $0x2454940f; BYTE $0x50 // sete byte [rsp + 80] LONG $0x286a3b4c // cmp r13, qword [rdx + 40] - QUAD $0x000000902494940f // sete byte [rsp + 144] + LONG $0x2454940f; BYTE $0x70 // sete byte [rsp + 112] LONG $0x306a3b4c // cmp r13, qword [rdx + 48] - WORD $0x940f; BYTE $0xd0 // sete al + WORD $0x940f; BYTE $0xd3 // sete bl LONG $0x386a3b4c // cmp r13, qword [rdx + 56] - LONG $0xd3940f41 // sete r11b + LONG $0xd7940f40 // sete dil LONG $0x406a3b4c // cmp r13, qword [rdx + 64] - LONG $0x2454940f; BYTE $0x50 // sete byte [rsp + 80] + QUAD $0x000000902494940f // sete byte [rsp + 144] LONG $0x486a3b4c // cmp r13, qword [rdx + 72] LONG $0xd6940f40 // sete sil LONG $0x506a3b4c // cmp r13, qword [rdx + 80] @@ -11325,37 +11825,37 @@ LBB2_89: LONG $0x586a3b4c // cmp r13, qword [rdx + 88] LONG $0xd1940f41 // sete r9b LONG $0x606a3b4c // cmp r13, qword [rdx + 96] - LONG $0xd2940f41 // sete r10b + LONG $0xd3940f41 // sete r11b LONG $0x686a3b4c // cmp r13, qword [rdx + 104] LONG $0xd4940f41 // sete r12b LONG $0x706a3b4c // cmp r13, qword [rdx + 112] - LONG $0x2454940f; BYTE $0x58 // sete byte [rsp + 88] + QUAD $0x000000982494940f // sete byte [rsp + 152] LONG $0x786a3b4c // cmp r13, qword [rdx + 120] - WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0x940f; BYTE $0xd0 // sete al LONG $0x80aa3b4c; WORD $0x0000; BYTE $0x00 // cmp r13, qword [rdx + 128] - QUAD $0x000000802494940f // sete byte [rsp + 128] - LONG $0x88aa3b4c; WORD $0x0000; BYTE $0x00 // cmp r13, qword [rdx + 136] LONG $0x2454940f; BYTE $0x60 // sete byte [rsp + 96] + LONG $0x88aa3b4c; WORD $0x0000; BYTE $0x00 // cmp r13, qword [rdx + 136] + LONG $0x2454940f; BYTE $0x40 // sete byte [rsp + 64] LONG $0x90aa3b4c; WORD $0x0000; BYTE $0x00 // cmp r13, qword [rdx + 144] - LONG $0x2454940f; BYTE $0x68 // sete byte [rsp + 104] + LONG $0x2454940f; BYTE $0x48 // sete byte [rsp + 72] LONG $0x98aa3b4c; WORD $0x0000; BYTE $0x00 // cmp r13, qword [rdx + 152] - LONG $0x2454940f; BYTE $0x78 // sete byte [rsp + 120] + LONG $0x2454940f; BYTE $0x58 // sete byte [rsp + 88] LONG $0xa0aa3b4c; WORD $0x0000; BYTE $0x00 // cmp r13, qword [rdx + 160] - QUAD $0x000000882494940f // sete byte [rsp + 136] + LONG $0x2454940f; BYTE $0x68 // sete byte [rsp + 104] LONG $0xa8aa3b4c; WORD $0x0000; BYTE $0x00 // cmp r13, qword [rdx + 168] - LONG $0x2454940f; BYTE $0x30 // sete byte [rsp + 48] + LONG $0x2454940f; BYTE $0x78 // sete byte [rsp + 120] LONG $0xb0aa3b4c; WORD $0x0000; BYTE $0x00 // cmp r13, qword [rdx + 176] - LONG $0x2454940f; BYTE $0x38 // sete byte [rsp + 56] + QUAD $0x000000802494940f // sete byte [rsp + 128] LONG $0xb8aa3b4c; WORD $0x0000; BYTE $0x00 // cmp r13, qword [rdx + 184] LONG $0xd7940f41 // sete r15b LONG $0xc0aa3b4c; WORD $0x0000; BYTE $0x00 // cmp r13, qword [rdx + 192] - LONG $0x2454940f; BYTE $0x20 // sete byte [rsp + 32] + LONG $0x2454940f; BYTE $0x28 // sete byte [rsp + 40] LONG $0xc8aa3b4c; WORD $0x0000; BYTE $0x00 // cmp r13, qword [rdx + 200] - LONG $0x2454940f; BYTE $0x40 // sete byte [rsp + 64] + LONG $0x2454940f; BYTE $0x30 // sete byte [rsp + 48] LONG $0xd0aa3b4c; WORD $0x0000; BYTE $0x00 // cmp r13, qword [rdx + 208] - LONG $0x2454940f; BYTE $0x48 // sete byte [rsp + 72] + LONG $0x2454940f; BYTE $0x38 // sete byte [rsp + 56] LONG $0xd8aa3b4c; WORD $0x0000; BYTE $0x00 // cmp r13, qword [rdx + 216] - LONG $0x2454940f; BYTE $0x28 // sete byte [rsp + 40] + LONG $0x2454940f; BYTE $0x20 // sete byte [rsp + 32] LONG $0xe0aa3b4c; WORD $0x0000; BYTE $0x00 // cmp r13, qword [rdx + 224] QUAD $0x000001402494940f // sete byte [rsp + 320] LONG $0xe8aa3b4c; WORD $0x0000; BYTE $0x00 // cmp r13, qword [rdx + 232] @@ -11363,111 +11863,109 @@ LBB2_89: LONG $0xf0aa3b4c; WORD $0x0000; BYTE $0x00 // cmp r13, qword [rdx + 240] LONG $0x2454940f; BYTE $0x1c // sete byte [rsp + 28] LONG $0xf8aa3b4c; WORD $0x0000; BYTE $0x00 // cmp r13, qword [rdx + 248] - WORD $0x940f; BYTE $0xd3 // sete bl - WORD $0x0040; BYTE $0xff // add dil, dil - QUAD $0x0000009824bc0240 // add dil, byte [rsp + 152] - WORD $0xe0c0; BYTE $0x06 // shl al, 6 - LONG $0x07e3c041 // shl r11b, 7 - WORD $0x0841; BYTE $0xc3 // or r11b, al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0x0045; BYTE $0xd2 // add r10b, r10b + QUAD $0x000000a024940244 // add r10b, byte [rsp + 160] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 + LONG $0x07e7c040 // shl dil, 7 + WORD $0x0840; BYTE $0xdf // or dil, bl LONG $0x02e6c041 // shl r14b, 2 - WORD $0x0841; BYTE $0xfe // or r14b, dil + WORD $0x0845; BYTE $0xd6 // or r14b, r10b WORD $0x0040; BYTE $0xf6 // add sil, sil - LONG $0x24740240; BYTE $0x50 // add sil, byte [rsp + 80] - QUAD $0x000000a02484b60f // movzx eax, byte [rsp + 160] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0x0844; BYTE $0xf0 // or al, r14b - WORD $0xc789 // mov edi, eax + QUAD $0x0000009024b40240 // add sil, byte [rsp + 144] + QUAD $0x00000088249cb60f // movzx ebx, byte [rsp + 136] + WORD $0xe3c0; BYTE $0x03 // shl bl, 3 + WORD $0x0844; BYTE $0xf3 // or bl, r14b + WORD $0x8941; BYTE $0xda // mov r10d, ebx + QUAD $0x0000011024b48b4c // mov r14, qword [rsp + 272] LONG $0x02e0c041 // shl r8b, 2 WORD $0x0841; BYTE $0xf0 // or r8b, sil - LONG $0x2444b60f; BYTE $0x70 // movzx eax, byte [rsp + 112] - WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0x0840; BYTE $0xf8 // or al, dil - WORD $0xc789 // mov edi, eax + LONG $0x245cb60f; BYTE $0x50 // movzx ebx, byte [rsp + 80] + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0x0844; BYTE $0xd3 // or bl, r10b + WORD $0xde89 // mov esi, ebx LONG $0x03e1c041 // shl r9b, 3 WORD $0x0845; BYTE $0xc1 // or r9b, r8b - QUAD $0x000000902484b60f // movzx eax, byte [rsp + 144] - WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0x0840; BYTE $0xf8 // or al, dil - LONG $0x04e2c041 // shl r10b, 4 - WORD $0x0845; BYTE $0xca // or r10b, r9b + LONG $0x245cb60f; BYTE $0x70 // movzx ebx, byte [rsp + 112] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + WORD $0x0840; BYTE $0xf3 // or bl, sil + LONG $0x04e3c041 // shl r11b, 4 + WORD $0x0845; BYTE $0xcb // or r11b, r9b LONG $0x05e4c041 // shl r12b, 5 - WORD $0x0845; BYTE $0xd4 // or r12b, r10b - LONG $0x2474b60f; BYTE $0x58 // movzx esi, byte [rsp + 88] + WORD $0x0845; BYTE $0xdc // or r12b, r11b + QUAD $0x0000009824b4b60f // movzx esi, byte [rsp + 152] LONG $0x06e6c040 // shl sil, 6 - WORD $0xe1c0; BYTE $0x07 // shl cl, 7 - WORD $0x0840; BYTE $0xf1 // or cl, sil - WORD $0x0841; BYTE $0xc3 // or r11b, al - WORD $0x0844; BYTE $0xe1 // or cl, r12b - LONG $0x2444b60f; BYTE $0x60 // movzx eax, byte [rsp + 96] + WORD $0xe0c0; BYTE $0x07 // shl al, 7 + WORD $0x0840; BYTE $0xf0 // or al, sil + WORD $0x0840; BYTE $0xdf // or dil, bl + WORD $0x0844; BYTE $0xe0 // or al, r12b + LONG $0x245cb60f; BYTE $0x40 // movzx ebx, byte [rsp + 64] + WORD $0xdb00 // add bl, bl + LONG $0x60245c02 // add bl, byte [rsp + 96] + WORD $0xde89 // mov esi, ebx + LONG $0x245cb60f; BYTE $0x48 // movzx ebx, byte [rsp + 72] + WORD $0xe3c0; BYTE $0x02 // shl bl, 2 + WORD $0x0840; BYTE $0xf3 // or bl, sil + WORD $0xde89 // mov esi, ebx + LONG $0x245cb60f; BYTE $0x58 // movzx ebx, byte [rsp + 88] + WORD $0xe3c0; BYTE $0x03 // shl bl, 3 + WORD $0x0840; BYTE $0xf3 // or bl, sil + WORD $0xde89 // mov esi, ebx + LONG $0x245cb60f; BYTE $0x68 // movzx ebx, byte [rsp + 104] + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0x0840; BYTE $0xf3 // or bl, sil + WORD $0xde89 // mov esi, ebx + LONG $0x245cb60f; BYTE $0x78 // movzx ebx, byte [rsp + 120] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + WORD $0x0840; BYTE $0xf3 // or bl, sil + WORD $0x8841; BYTE $0x3e // mov byte [r14], dil + QUAD $0x0000008024b4b60f // movzx esi, byte [rsp + 128] + LONG $0x06e6c040 // shl sil, 6 + LONG $0x07e7c041 // shl r15b, 7 + WORD $0x0841; BYTE $0xf7 // or r15b, sil + LONG $0x01468841 // mov byte [r14 + 1], al + WORD $0x0841; BYTE $0xdf // or r15b, bl + LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] WORD $0xc000 // add al, al - LONG $0x80248402; WORD $0x0000; BYTE $0x00 // add al, byte [rsp + 128] - WORD $0xc689 // mov esi, eax - LONG $0x2444b60f; BYTE $0x68 // movzx eax, byte [rsp + 104] + LONG $0x28244402 // add al, byte [rsp + 40] + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x38 // movzx eax, byte [rsp + 56] WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0x0840; BYTE $0xf0 // or al, sil - WORD $0xc689 // mov esi, eax - LONG $0x2444b60f; BYTE $0x78 // movzx eax, byte [rsp + 120] + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0x0840; BYTE $0xf0 // or al, sil - WORD $0xc689 // mov esi, eax - QUAD $0x000000882484b60f // movzx eax, byte [rsp + 136] - WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0x0840; BYTE $0xf0 // or al, sil - WORD $0xc689 // mov esi, eax - LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] - WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0x0840; BYTE $0xf0 // or al, sil - WORD $0xc689 // mov esi, eax - QUAD $0x0000011024848b48 // mov rax, qword [rsp + 272] - WORD $0x8844; BYTE $0x18 // mov byte [rax], r11b - QUAD $0x00000110249c8b4c // mov r11, qword [rsp + 272] - LONG $0x2444b60f; BYTE $0x38 // movzx eax, byte [rsp + 56] - WORD $0xe0c0; BYTE $0x06 // shl al, 6 - LONG $0x07e7c041 // shl r15b, 7 - WORD $0x0841; BYTE $0xc7 // or r15b, al - LONG $0x014b8841 // mov byte [r11 + 1], cl - WORD $0x0841; BYTE $0xf7 // or r15b, sil - LONG $0x2444b60f; BYTE $0x40 // movzx eax, byte [rsp + 64] - WORD $0xc000 // add al, al - LONG $0x20244402 // add al, byte [rsp + 32] - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x48 // movzx eax, byte [rsp + 72] - WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax QUAD $0x000001402484b60f // movzx eax, byte [rsp + 320] WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax QUAD $0x000001202484b60f // movzx eax, byte [rsp + 288] WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - LONG $0x244cb60f; BYTE $0x1c // movzx ecx, byte [rsp + 28] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 - WORD $0xe3c0; BYTE $0x07 // shl bl, 7 - WORD $0xcb08 // or bl, cl - WORD $0xc308 // or bl, al - LONG $0x027b8845 // mov byte [r11 + 2], r15b - LONG $0x035b8841 // mov byte [r11 + 3], bl + WORD $0xd808 // or al, bl + LONG $0x245cb60f; BYTE $0x1c // movzx ebx, byte [rsp + 28] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 + WORD $0xe1c0; BYTE $0x07 // shl cl, 7 + WORD $0xd908 // or cl, bl + WORD $0xc108 // or cl, al + LONG $0x027e8845 // mov byte [r14 + 2], r15b + LONG $0x034e8841 // mov byte [r14 + 3], cl LONG $0x00c28148; WORD $0x0001; BYTE $0x00 // add rdx, 256 - LONG $0x04c38349 // add r11, 4 - QUAD $0x000000a824848348; BYTE $0xff // add qword [rsp + 168], -1 + LONG $0x04c68349 // add r14, 4 + QUAD $0x000000b024848348; BYTE $0xff // add qword [rsp + 176], -1 JNE LBB2_89 QUAD $0x0000011824948b4c // mov r10, qword [rsp + 280] - QUAD $0x000000b024b48b4c // mov r14, qword [rsp + 176] + QUAD $0x000000a8249c8b4c // mov r11, qword [rsp + 168] LBB2_91: - LONG $0x05e6c149 // shl r14, 5 - WORD $0x394d; BYTE $0xd6 // cmp r14, r10 - JGE LBB2_157 + LONG $0x05e3c149 // shl r11, 5 + WORD $0x394d; BYTE $0xd3 // cmp r11, r10 + JGE LBB2_165 WORD $0x894d; BYTE $0xd0 // mov r8, r10 - WORD $0x294d; BYTE $0xf0 // sub r8, r14 - WORD $0xf749; BYTE $0xd6 // not r14 - WORD $0x014d; BYTE $0xd6 // add r14, r10 + WORD $0x294d; BYTE $0xd8 // sub r8, r11 + WORD $0xf749; BYTE $0xd3 // not r11 + WORD $0x014d; BYTE $0xd3 // add r11, r10 JNE LBB2_144 LBB2_93: @@ -11475,9 +11973,9 @@ LBB2_93: JMP LBB2_146 LBB2_94: - LONG $0x1f728d4d // lea r14, [r10 + 31] + LONG $0x1f5a8d4d // lea r11, [r10 + 31] WORD $0x854d; BYTE $0xd2 // test r10, r10 - LONG $0xf2490f4d // cmovns r14, r10 + LONG $0xda490f4d // cmovns r11, r10 LONG $0x07418d41 // lea eax, [r9 + 7] WORD $0x8545; BYTE $0xc9 // test r9d, r9d LONG $0xc1490f41 // cmovns eax, r9d @@ -11490,14 +11988,16 @@ LBB2_94: LBB2_96: LONG $0x022ef8c5 // vucomiss xmm0, dword [rdx] LONG $0x04528d48 // lea rdx, [rdx + 4] + WORD $0x9b0f; BYTE $0xd1 // setnp cl WORD $0x940f; BYTE $0xd3 // sete bl + WORD $0xcb20 // and bl, cl WORD $0xdbf6 // neg bl LONG $0x07708d48 // lea rsi, [rax + 7] WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xf0490f48 // cmovns rsi, rax LONG $0x03fec148 // sar rsi, 3 - WORD $0x894d; BYTE $0xdf // mov r15, r11 - LONG $0x0cb60f45; BYTE $0x33 // movzx r9d, byte [r11 + rsi] + WORD $0x894d; BYTE $0xf7 // mov r15, r14 + LONG $0x0cb60f45; BYTE $0x36 // movzx r9d, byte [r14 + rsi] WORD $0x3044; BYTE $0xcb // xor bl, r9b QUAD $0x00000000f5048d44 // lea r8d, [8*rsi] WORD $0xc189 // mov ecx, eax @@ -11506,192 +12006,276 @@ LBB2_96: WORD $0xe7d3 // shl edi, cl WORD $0x2040; BYTE $0xdf // and dil, bl WORD $0x3044; BYTE $0xcf // xor dil, r9b - LONG $0x333c8841 // mov byte [r11 + rsi], dil + LONG $0x363c8841 // mov byte [r14 + rsi], dil LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 JNE LBB2_96 - LONG $0x01c38349 // add r11, 1 + LONG $0x01c68349 // add r14, 1 LBB2_98: - LONG $0x05fec149 // sar r14, 5 + LONG $0x05fbc149 // sar r11, 5 LONG $0x20fa8349 // cmp r10, 32 JL LBB2_102 QUAD $0x000001182494894c // mov qword [rsp + 280], r10 - QUAD $0x000000a824b4894c // mov qword [rsp + 168], r14 - QUAD $0x0000009824b4894c // mov qword [rsp + 152], r14 + QUAD $0x000000b8249c894c // mov qword [rsp + 184], r11 + QUAD $0x000000a8249c894c // mov qword [rsp + 168], r11 LBB2_100: - QUAD $0x00000110249c894c // mov qword [rsp + 272], r11 + QUAD $0x0000011024b4894c // mov qword [rsp + 272], r14 LONG $0x022ef8c5 // vucomiss xmm0, dword [rdx] - QUAD $0x000000a02494940f // sete byte [rsp + 160] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x38244c88 // mov byte [rsp + 56], cl LONG $0x422ef8c5; BYTE $0x04 // vucomiss xmm0, dword [rdx + 4] - LONG $0xd0940f41 // sete r8b + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd5940f41 // sete r13b + WORD $0x2041; BYTE $0xc5 // and r13b, al LONG $0x422ef8c5; BYTE $0x08 // vucomiss xmm0, dword [rdx + 8] - LONG $0xd3940f41 // sete r11b + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x20244c88 // mov byte [rsp + 32], cl LONG $0x422ef8c5; BYTE $0x0c // vucomiss xmm0, dword [rdx + 12] - LONG $0xd5940f41 // sete r13b + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x40248c88; WORD $0x0001; BYTE $0x00 // mov byte [rsp + 320], cl LONG $0x422ef8c5; BYTE $0x10 // vucomiss xmm0, dword [rdx + 16] - LONG $0x2454940f; BYTE $0x70 // sete byte [rsp + 112] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x28244c88 // mov byte [rsp + 40], cl LONG $0x422ef8c5; BYTE $0x14 // vucomiss xmm0, dword [rdx + 20] - QUAD $0x000000902494940f // sete byte [rsp + 144] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd4940f41 // sete r12b + WORD $0x2041; BYTE $0xc4 // and r12b, al LONG $0x422ef8c5; BYTE $0x18 // vucomiss xmm0, dword [rdx + 24] - WORD $0x940f; BYTE $0xd0 // sete al + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x80248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 128], cl LONG $0x422ef8c5; BYTE $0x1c // vucomiss xmm0, dword [rdx + 28] - LONG $0xd6940f41 // sete r14b + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x1c244c88 // mov byte [rsp + 28], cl LONG $0x422ef8c5; BYTE $0x20 // vucomiss xmm0, dword [rdx + 32] - LONG $0x2454940f; BYTE $0x58 // sete byte [rsp + 88] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x30244c88 // mov byte [rsp + 48], cl LONG $0x422ef8c5; BYTE $0x24 // vucomiss xmm0, dword [rdx + 36] - LONG $0xd6940f40 // sete sil + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x78244c88 // mov byte [rsp + 120], cl LONG $0x422ef8c5; BYTE $0x28 // vucomiss xmm0, dword [rdx + 40] - LONG $0xd7940f40 // sete dil + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x70244c88 // mov byte [rsp + 112], cl LONG $0x422ef8c5; BYTE $0x2c // vucomiss xmm0, dword [rdx + 44] - LONG $0xd1940f41 // sete r9b + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd3 // sete bl + WORD $0xc320 // and bl, al LONG $0x422ef8c5; BYTE $0x30 // vucomiss xmm0, dword [rdx + 48] - LONG $0xd2940f41 // sete r10b + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x20248c88; WORD $0x0001; BYTE $0x00 // mov byte [rsp + 288], cl LONG $0x422ef8c5; BYTE $0x34 // vucomiss xmm0, dword [rdx + 52] - LONG $0xd4940f41 // sete r12b + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x60244c88 // mov byte [rsp + 96], cl LONG $0x422ef8c5; BYTE $0x38 // vucomiss xmm0, dword [rdx + 56] - LONG $0x2454940f; BYTE $0x60 // sete byte [rsp + 96] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x58244c88 // mov byte [rsp + 88], cl LONG $0x422ef8c5; BYTE $0x3c // vucomiss xmm0, dword [rdx + 60] + WORD $0x9b0f; BYTE $0xd0 // setnp al WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x50244c88 // mov byte [rsp + 80], cl LONG $0x422ef8c5; BYTE $0x40 // vucomiss xmm0, dword [rdx + 64] - QUAD $0x000000802494940f // sete byte [rsp + 128] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x68244c88 // mov byte [rsp + 104], cl LONG $0x422ef8c5; BYTE $0x44 // vucomiss xmm0, dword [rdx + 68] - LONG $0x2454940f; BYTE $0x50 // sete byte [rsp + 80] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x48244c88 // mov byte [rsp + 72], cl LONG $0x422ef8c5; BYTE $0x48 // vucomiss xmm0, dword [rdx + 72] - LONG $0x2454940f; BYTE $0x68 // sete byte [rsp + 104] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x40244c88 // mov byte [rsp + 64], cl LONG $0x422ef8c5; BYTE $0x4c // vucomiss xmm0, dword [rdx + 76] - LONG $0x2454940f; BYTE $0x78 // sete byte [rsp + 120] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd6940f41 // sete r14b + WORD $0x2041; BYTE $0xc6 // and r14b, al LONG $0x422ef8c5; BYTE $0x50 // vucomiss xmm0, dword [rdx + 80] - QUAD $0x000000882494940f // sete byte [rsp + 136] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x98248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 152], cl LONG $0x422ef8c5; BYTE $0x54 // vucomiss xmm0, dword [rdx + 84] - LONG $0x2454940f; BYTE $0x30 // sete byte [rsp + 48] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x90248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 144], cl LONG $0x422ef8c5; BYTE $0x58 // vucomiss xmm0, dword [rdx + 88] - LONG $0x2454940f; BYTE $0x38 // sete byte [rsp + 56] - LONG $0x422ef8c5; BYTE $0x5c // vucomiss xmm0, dword [rdx + 92] + WORD $0x9b0f; BYTE $0xd0 // setnp al LONG $0xd7940f41 // sete r15b + WORD $0x2041; BYTE $0xc7 // and r15b, al + LONG $0x422ef8c5; BYTE $0x5c // vucomiss xmm0, dword [rdx + 92] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd0940f41 // sete r8b + WORD $0x2041; BYTE $0xc0 // and r8b, al LONG $0x422ef8c5; BYTE $0x60 // vucomiss xmm0, dword [rdx + 96] - LONG $0x2454940f; BYTE $0x20 // sete byte [rsp + 32] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x88248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 136], cl LONG $0x422ef8c5; BYTE $0x64 // vucomiss xmm0, dword [rdx + 100] - LONG $0x2454940f; BYTE $0x40 // sete byte [rsp + 64] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd3940f41 // sete r11b + WORD $0x2041; BYTE $0xc3 // and r11b, al LONG $0x422ef8c5; BYTE $0x68 // vucomiss xmm0, dword [rdx + 104] - LONG $0x2454940f; BYTE $0x48 // sete byte [rsp + 72] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd2940f41 // sete r10b + WORD $0x2041; BYTE $0xc2 // and r10b, al LONG $0x422ef8c5; BYTE $0x6c // vucomiss xmm0, dword [rdx + 108] - LONG $0x2454940f; BYTE $0x28 // sete byte [rsp + 40] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd1940f41 // sete r9b + WORD $0x2041; BYTE $0xc1 // and r9b, al LONG $0x422ef8c5; BYTE $0x70 // vucomiss xmm0, dword [rdx + 112] - QUAD $0x000001402494940f // sete byte [rsp + 320] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0xa0248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 160], cl LONG $0x422ef8c5; BYTE $0x74 // vucomiss xmm0, dword [rdx + 116] - QUAD $0x000001202494940f // sete byte [rsp + 288] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0xb0248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 176], cl LONG $0x422ef8c5; BYTE $0x78 // vucomiss xmm0, dword [rdx + 120] - LONG $0x2454940f; BYTE $0x1c // sete byte [rsp + 28] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd7940f40 // sete dil + WORD $0x2040; BYTE $0xc7 // and dil, al LONG $0x422ef8c5; BYTE $0x7c // vucomiss xmm0, dword [rdx + 124] - WORD $0x940f; BYTE $0xd3 // sete bl - WORD $0x0045; BYTE $0xc0 // add r8b, r8b - QUAD $0x000000a024840244 // add r8b, byte [rsp + 160] - WORD $0xe0c0; BYTE $0x06 // shl al, 6 - LONG $0x07e6c041 // shl r14b, 7 - WORD $0x0841; BYTE $0xc6 // or r14b, al - LONG $0x02e3c041 // shl r11b, 2 - WORD $0x0845; BYTE $0xc3 // or r11b, r8b - WORD $0x0040; BYTE $0xf6 // add sil, sil - LONG $0x24740240; BYTE $0x58 // add sil, byte [rsp + 88] - LONG $0x03e5c041 // shl r13b, 3 - WORD $0x0845; BYTE $0xdd // or r13b, r11b - QUAD $0x00000110249c8b4c // mov r11, qword [rsp + 272] - LONG $0x02e7c040 // shl dil, 2 - WORD $0x0840; BYTE $0xf7 // or dil, sil - LONG $0x2444b60f; BYTE $0x70 // movzx eax, byte [rsp + 112] - WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0x0844; BYTE $0xe8 // or al, r13b - WORD $0x8941; BYTE $0xc0 // mov r8d, eax - LONG $0x03e1c041 // shl r9b, 3 - WORD $0x0841; BYTE $0xf9 // or r9b, dil - QUAD $0x000000902484b60f // movzx eax, byte [rsp + 144] - WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0x0844; BYTE $0xc0 // or al, r8b - LONG $0x04e2c041 // shl r10b, 4 - WORD $0x0845; BYTE $0xca // or r10b, r9b + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd6940f40 // sete sil + WORD $0x2040; BYTE $0xc6 // and sil, al + WORD $0x0045; BYTE $0xed // add r13b, r13b + LONG $0x246c0244; BYTE $0x38 // add r13b, byte [rsp + 56] + WORD $0x8944; BYTE $0xe8 // mov eax, r13d LONG $0x05e4c041 // shl r12b, 5 - WORD $0x0845; BYTE $0xd4 // or r12b, r10b - LONG $0x2474b60f; BYTE $0x60 // movzx esi, byte [rsp + 96] - LONG $0x06e6c040 // shl sil, 6 - WORD $0xe1c0; BYTE $0x07 // shl cl, 7 - WORD $0x0840; BYTE $0xf1 // or cl, sil - WORD $0x0841; BYTE $0xc6 // or r14b, al - WORD $0x0844; BYTE $0xe1 // or cl, r12b - LONG $0x2444b60f; BYTE $0x50 // movzx eax, byte [rsp + 80] - WORD $0xc000 // add al, al - LONG $0x80248402; WORD $0x0000; BYTE $0x00 // add al, byte [rsp + 128] - WORD $0xc689 // mov esi, eax - LONG $0x2444b60f; BYTE $0x68 // movzx eax, byte [rsp + 104] - WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0x0840; BYTE $0xf0 // or al, sil - WORD $0xc689 // mov esi, eax - LONG $0x2444b60f; BYTE $0x78 // movzx eax, byte [rsp + 120] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0x0840; BYTE $0xf0 // or al, sil - WORD $0xc689 // mov esi, eax - QUAD $0x000000882484b60f // movzx eax, byte [rsp + 136] - WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0x0840; BYTE $0xf0 // or al, sil - WORD $0xc689 // mov esi, eax - LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] - WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0x0840; BYTE $0xf0 // or al, sil - WORD $0x8845; BYTE $0x33 // mov byte [r11], r14b - LONG $0x2474b60f; BYTE $0x38 // movzx esi, byte [rsp + 56] - LONG $0x06e6c040 // shl sil, 6 - LONG $0x07e7c041 // shl r15b, 7 - WORD $0x0841; BYTE $0xf7 // or r15b, sil - LONG $0x014b8841 // mov byte [r11 + 1], cl - WORD $0x0841; BYTE $0xc7 // or r15b, al - LONG $0x2444b60f; BYTE $0x40 // movzx eax, byte [rsp + 64] - WORD $0xc000 // add al, al - LONG $0x20244402 // add al, byte [rsp + 32] - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x48 // movzx eax, byte [rsp + 72] + QUAD $0x00008024acb60f44; BYTE $0x00 // movzx r13d, byte [rsp + 128] + LONG $0x06e5c041 // shl r13b, 6 + WORD $0x0845; BYTE $0xe5 // or r13b, r12b + LONG $0x64b60f44; WORD $0x2024 // movzx r12d, byte [rsp + 32] + LONG $0x02e4c041 // shl r12b, 2 + WORD $0x0841; BYTE $0xc4 // or r12b, al + LONG $0x244cb60f; BYTE $0x78 // movzx ecx, byte [rsp + 120] + WORD $0xc900 // add cl, cl + LONG $0x30244c02 // add cl, byte [rsp + 48] + LONG $0x2444b60f; BYTE $0x1c // movzx eax, byte [rsp + 28] + WORD $0xe0c0; BYTE $0x07 // shl al, 7 + WORD $0x0844; BYTE $0xe8 // or al, r13b + LONG $0x1c244488 // mov byte [rsp + 28], al + LONG $0x2444b60f; BYTE $0x70 // movzx eax, byte [rsp + 112] WORD $0xe0c0; BYTE $0x02 // shl al, 2 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax QUAD $0x000001402484b60f // movzx eax, byte [rsp + 320] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0x0844; BYTE $0xe0 // or al, r12b + WORD $0xe3c0; BYTE $0x03 // shl bl, 3 + WORD $0xcb08 // or bl, cl + LONG $0x6cb60f44; WORD $0x2824 // movzx r13d, byte [rsp + 40] + LONG $0x04e5c041 // shl r13b, 4 + WORD $0x0841; BYTE $0xc5 // or r13b, al + QUAD $0x000001202484b60f // movzx eax, byte [rsp + 288] WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0xd808 // or al, bl + LONG $0x20248488; WORD $0x0001; BYTE $0x00 // mov byte [rsp + 288], al + LONG $0x244cb60f; BYTE $0x60 // movzx ecx, byte [rsp + 96] + WORD $0xe1c0; BYTE $0x05 // shl cl, 5 + LONG $0x2444b60f; BYTE $0x58 // movzx eax, byte [rsp + 88] + WORD $0xe0c0; BYTE $0x06 // shl al, 6 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - QUAD $0x000001202484b60f // movzx eax, byte [rsp + 288] - WORD $0xe0c0; BYTE $0x05 // shl al, 5 + LONG $0x2444b60f; BYTE $0x50 // movzx eax, byte [rsp + 80] + WORD $0xe0c0; BYTE $0x07 // shl al, 7 WORD $0xc808 // or al, cl - LONG $0x244cb60f; BYTE $0x1c // movzx ecx, byte [rsp + 28] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 - WORD $0xe3c0; BYTE $0x07 // shl bl, 7 + LONG $0x244cb60f; BYTE $0x48 // movzx ecx, byte [rsp + 72] + WORD $0xc900 // add cl, cl + LONG $0x68244c02 // add cl, byte [rsp + 104] + LONG $0x245cb60f; BYTE $0x40 // movzx ebx, byte [rsp + 64] + WORD $0xe3c0; BYTE $0x02 // shl bl, 2 WORD $0xcb08 // or bl, cl - WORD $0xc308 // or bl, al - LONG $0x027b8845 // mov byte [r11 + 2], r15b - LONG $0x035b8841 // mov byte [r11 + 3], bl + LONG $0x03e6c041 // shl r14b, 3 + WORD $0x0841; BYTE $0xde // or r14b, bl + QUAD $0x00000098248cb60f // movzx ecx, byte [rsp + 152] + WORD $0xe1c0; BYTE $0x04 // shl cl, 4 + WORD $0x0844; BYTE $0xf1 // or cl, r14b + QUAD $0x0000011024b48b4c // mov r14, qword [rsp + 272] + LONG $0x64b60f44; WORD $0x1c24 // movzx r12d, byte [rsp + 28] + WORD $0x0845; BYTE $0xec // or r12b, r13b + QUAD $0x00000090249cb60f // movzx ebx, byte [rsp + 144] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + LONG $0x06e7c041 // shl r15b, 6 + WORD $0x0841; BYTE $0xdf // or r15b, bl + LONG $0x2024840a; WORD $0x0001; BYTE $0x00 // or al, byte [rsp + 288] + LONG $0x07e0c041 // shl r8b, 7 + WORD $0x0845; BYTE $0xf8 // or r8b, r15b + WORD $0x0841; BYTE $0xc8 // or r8b, cl + WORD $0x0045; BYTE $0xdb // add r11b, r11b + QUAD $0x00000088249c0244 // add r11b, byte [rsp + 136] + LONG $0x02e2c041 // shl r10b, 2 + WORD $0x0845; BYTE $0xda // or r10b, r11b + LONG $0x03e1c041 // shl r9b, 3 + WORD $0x0845; BYTE $0xd1 // or r9b, r10b + QUAD $0x000000a0248cb60f // movzx ecx, byte [rsp + 160] + WORD $0xe1c0; BYTE $0x04 // shl cl, 4 + WORD $0x0844; BYTE $0xc9 // or cl, r9b + WORD $0x8845; BYTE $0x26 // mov byte [r14], r12b + QUAD $0x000000b0249cb60f // movzx ebx, byte [rsp + 176] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + LONG $0x06e7c040 // shl dil, 6 + WORD $0x0840; BYTE $0xdf // or dil, bl + LONG $0x01468841 // mov byte [r14 + 1], al + LONG $0x07e6c040 // shl sil, 7 + WORD $0x0840; BYTE $0xfe // or sil, dil + WORD $0x0840; BYTE $0xce // or sil, cl + LONG $0x02468845 // mov byte [r14 + 2], r8b + LONG $0x03768841 // mov byte [r14 + 3], sil LONG $0x80c28148; WORD $0x0000; BYTE $0x00 // add rdx, 128 - LONG $0x04c38349 // add r11, 4 - QUAD $0x0000009824848348; BYTE $0xff // add qword [rsp + 152], -1 + LONG $0x04c68349 // add r14, 4 + QUAD $0x000000a824848348; BYTE $0xff // add qword [rsp + 168], -1 JNE LBB2_100 QUAD $0x0000011824948b4c // mov r10, qword [rsp + 280] - QUAD $0x000000a824b48b4c // mov r14, qword [rsp + 168] + QUAD $0x000000b8249c8b4c // mov r11, qword [rsp + 184] LBB2_102: - LONG $0x05e6c149 // shl r14, 5 - WORD $0x394d; BYTE $0xd6 // cmp r14, r10 - JGE LBB2_157 + LONG $0x05e3c149 // shl r11, 5 + WORD $0x394d; BYTE $0xd3 // cmp r11, r10 + JGE LBB2_165 WORD $0x894d; BYTE $0xd0 // mov r8, r10 - WORD $0x294d; BYTE $0xf0 // sub r8, r14 - WORD $0xf749; BYTE $0xd6 // not r14 - WORD $0x014d; BYTE $0xd6 // add r14, r10 + WORD $0x294d; BYTE $0xd8 // sub r8, r11 + WORD $0xf749; BYTE $0xd3 // not r11 + WORD $0x014d; BYTE $0xd3 // add r11, r10 JNE LBB2_148 WORD $0xff31 // xor edi, edi JMP LBB2_150 LBB2_105: - WORD $0x8a44; BYTE $0x36 // mov r14b, byte [rsi] + WORD $0x8a44; BYTE $0x1e // mov r11b, byte [rsi] LONG $0x1f7a8d4d // lea r15, [r10 + 31] WORD $0x854d; BYTE $0xd2 // test r10, r10 LONG $0xfa490f4d // cmovns r15, r10 @@ -11704,7 +12288,7 @@ LBB2_105: WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d LBB2_107: - WORD $0x3a44; BYTE $0x32 // cmp r14b, byte [rdx] + WORD $0x3a44; BYTE $0x1a // cmp r11b, byte [rdx] LONG $0x01528d48 // lea rdx, [rdx + 1] WORD $0x940f; BYTE $0xd3 // sete bl WORD $0xdbf6 // neg bl @@ -11712,8 +12296,8 @@ LBB2_107: WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xf0490f48 // cmovns rsi, rax LONG $0x03fec148 // sar rsi, 3 - WORD $0x894d; BYTE $0xdc // mov r12, r11 - LONG $0x0cb60f45; BYTE $0x33 // movzx r9d, byte [r11 + rsi] + WORD $0x894d; BYTE $0xf4 // mov r12, r14 + LONG $0x0cb60f45; BYTE $0x36 // movzx r9d, byte [r14 + rsi] WORD $0x3044; BYTE $0xcb // xor bl, r9b QUAD $0x00000000f5048d44 // lea r8d, [8*rsi] WORD $0xc189 // mov ecx, eax @@ -11722,189 +12306,212 @@ LBB2_107: WORD $0xe7d3 // shl edi, cl WORD $0x2040; BYTE $0xdf // and dil, bl WORD $0x3044; BYTE $0xcf // xor dil, r9b - LONG $0x333c8841 // mov byte [r11 + rsi], dil + LONG $0x363c8841 // mov byte [r14 + rsi], dil LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 JNE LBB2_107 - LONG $0x01c38349 // add r11, 1 + LONG $0x01c68349 // add r14, 1 LBB2_109: LONG $0x05ffc149 // sar r15, 5 LONG $0x20fa8349 // cmp r10, 32 JL LBB2_132 LONG $0x20ff8349 // cmp r15, 32 - LONG $0x24748944; BYTE $0x1c // mov dword [rsp + 28], r14d + LONG $0x245c8944; BYTE $0x1c // mov dword [rsp + 28], r11d QUAD $0x000001182494894c // mov qword [rsp + 280], r10 QUAD $0x0000018824bc894c // mov qword [rsp + 392], r15 JB LBB2_113 WORD $0x894c; BYTE $0xf8 // mov rax, r15 LONG $0x05e0c148 // shl rax, 5 WORD $0x0148; BYTE $0xd0 // add rax, rdx - WORD $0x3949; BYTE $0xc3 // cmp r11, rax - JAE LBB2_168 - LONG $0xbb048d4b // lea rax, [r11 + 4*r15] + WORD $0x3949; BYTE $0xc6 // cmp r14, rax + JAE LBB2_169 + LONG $0xbe048d4b // lea rax, [r14 + 4*r15] WORD $0x3948; BYTE $0xc2 // cmp rdx, rax - JAE LBB2_168 + JAE LBB2_169 LBB2_113: WORD $0xc031 // xor eax, eax QUAD $0x0000018024848948 // mov qword [rsp + 384], rax WORD $0x8949; BYTE $0xd4 // mov r12, rdx - QUAD $0x00000178249c894c // mov qword [rsp + 376], r11 + QUAD $0x0000017824b4894c // mov qword [rsp + 376], r14 LBB2_114: QUAD $0x0000018024bc2b4c // sub r15, qword [rsp + 384] - QUAD $0x0000009824bc894c // mov qword [rsp + 152], r15 + QUAD $0x000000a024bc894c // mov qword [rsp + 160], r15 LBB2_115: WORD $0x894c; BYTE $0xe1 // mov rcx, r12 - LONG $0x24343a45 // cmp r14b, byte [r12] + LONG $0x241c3a45 // cmp r11b, byte [r12] QUAD $0x000001402494940f // sete byte [rsp + 320] - LONG $0x24743a45; BYTE $0x01 // cmp r14b, byte [r12 + 1] - LONG $0xd2940f41 // sete r10b - LONG $0x24743a45; BYTE $0x02 // cmp r14b, byte [r12 + 2] - WORD $0x940f; BYTE $0xd3 // sete bl - LONG $0x24743a45; BYTE $0x03 // cmp r14b, byte [r12 + 3] + LONG $0x245c3a45; BYTE $0x01 // cmp r11b, byte [r12 + 1] + LONG $0xd1940f41 // sete r9b + LONG $0x245c3a45; BYTE $0x02 // cmp r11b, byte [r12 + 2] + LONG $0xd3940f41 // sete r11b + LONG $0x1c24448b // mov eax, dword [rsp + 28] + LONG $0x24443a41; BYTE $0x03 // cmp al, byte [r12 + 3] LONG $0xd5940f41 // sete r13b - LONG $0x24743a45; BYTE $0x04 // cmp r14b, byte [r12 + 4] - LONG $0x2454940f; BYTE $0x50 // sete byte [rsp + 80] - LONG $0x24743a45; BYTE $0x05 // cmp r14b, byte [r12 + 5] - LONG $0x2454940f; BYTE $0x60 // sete byte [rsp + 96] - LONG $0x24743a45; BYTE $0x06 // cmp r14b, byte [r12 + 6] - WORD $0x940f; BYTE $0xd0 // sete al - LONG $0x24743a45; BYTE $0x07 // cmp r14b, byte [r12 + 7] + LONG $0x1c24448b // mov eax, dword [rsp + 28] + LONG $0x24443a41; BYTE $0x04 // cmp al, byte [r12 + 4] + LONG $0x2454940f; BYTE $0x30 // sete byte [rsp + 48] + LONG $0x1c24448b // mov eax, dword [rsp + 28] + LONG $0x24443a41; BYTE $0x05 // cmp al, byte [r12 + 5] + LONG $0x2454940f; BYTE $0x28 // sete byte [rsp + 40] + LONG $0x1c24448b // mov eax, dword [rsp + 28] + LONG $0x24443a41; BYTE $0x06 // cmp al, byte [r12 + 6] + WORD $0x940f; BYTE $0xd3 // sete bl + LONG $0x1c24448b // mov eax, dword [rsp + 28] + LONG $0x24443a41; BYTE $0x07 // cmp al, byte [r12 + 7] LONG $0xd4940f41 // sete r12b - LONG $0x08713a44 // cmp r14b, byte [rcx + 8] - QUAD $0x000000a02494940f // sete byte [rsp + 160] - LONG $0x09713a44 // cmp r14b, byte [rcx + 9] + LONG $0x1c24448b // mov eax, dword [rsp + 28] + WORD $0x413a; BYTE $0x08 // cmp al, byte [rcx + 8] + QUAD $0x000000882494940f // sete byte [rsp + 136] + LONG $0x1c24448b // mov eax, dword [rsp + 28] + WORD $0x413a; BYTE $0x09 // cmp al, byte [rcx + 9] LONG $0xd6940f40 // sete sil - LONG $0x0a713a44 // cmp r14b, byte [rcx + 10] + LONG $0x1c24448b // mov eax, dword [rsp + 28] + WORD $0x413a; BYTE $0x0a // cmp al, byte [rcx + 10] LONG $0xd7940f40 // sete dil - LONG $0x0b713a44 // cmp r14b, byte [rcx + 11] - LONG $0xd1940f41 // sete r9b - LONG $0x0c713a44 // cmp r14b, byte [rcx + 12] - LONG $0xd3940f41 // sete r11b - LONG $0x0d713a44 // cmp r14b, byte [rcx + 13] - LONG $0xd7940f41 // sete r15b - LONG $0x0e713a44 // cmp r14b, byte [rcx + 14] - LONG $0x2454940f; BYTE $0x58 // sete byte [rsp + 88] - LONG $0x0f713a44 // cmp r14b, byte [rcx + 15] + LONG $0x1c24448b // mov eax, dword [rsp + 28] + WORD $0x413a; BYTE $0x0b // cmp al, byte [rcx + 11] LONG $0xd0940f41 // sete r8b - LONG $0x10713a44 // cmp r14b, byte [rcx + 16] + LONG $0x1c24448b // mov eax, dword [rsp + 28] + WORD $0x413a; BYTE $0x0c // cmp al, byte [rcx + 12] + LONG $0xd2940f41 // sete r10b + LONG $0x1c24448b // mov eax, dword [rsp + 28] + WORD $0x413a; BYTE $0x0d // cmp al, byte [rcx + 13] + LONG $0xd7940f41 // sete r15b + LONG $0x1c24448b // mov eax, dword [rsp + 28] + WORD $0x413a; BYTE $0x0e // cmp al, byte [rcx + 14] + QUAD $0x000000902494940f // sete byte [rsp + 144] + LONG $0x1c24448b // mov eax, dword [rsp + 28] + WORD $0x413a; BYTE $0x0f // cmp al, byte [rcx + 15] + WORD $0x940f; BYTE $0xd0 // sete al + LONG $0x1c24548b // mov edx, dword [rsp + 28] + WORD $0x513a; BYTE $0x10 // cmp dl, byte [rcx + 16] QUAD $0x000001202494940f // sete byte [rsp + 288] - LONG $0x11713a44 // cmp r14b, byte [rcx + 17] + LONG $0x1c24548b // mov edx, dword [rsp + 28] + WORD $0x513a; BYTE $0x11 // cmp dl, byte [rcx + 17] + LONG $0x2454940f; BYTE $0x50 // sete byte [rsp + 80] + LONG $0x1c24548b // mov edx, dword [rsp + 28] + WORD $0x513a; BYTE $0x12 // cmp dl, byte [rcx + 18] + QUAD $0x000000982494940f // sete byte [rsp + 152] + LONG $0x1c24548b // mov edx, dword [rsp + 28] + WORD $0x513a; BYTE $0x13 // cmp dl, byte [rcx + 19] + LONG $0x2454940f; BYTE $0x40 // sete byte [rsp + 64] + LONG $0x1c24548b // mov edx, dword [rsp + 28] + WORD $0x513a; BYTE $0x14 // cmp dl, byte [rcx + 20] + LONG $0x2454940f; BYTE $0x48 // sete byte [rsp + 72] + LONG $0x1c24548b // mov edx, dword [rsp + 28] + WORD $0x513a; BYTE $0x15 // cmp dl, byte [rcx + 21] + LONG $0x2454940f; BYTE $0x58 // sete byte [rsp + 88] + LONG $0x1c24548b // mov edx, dword [rsp + 28] + WORD $0x513a; BYTE $0x16 // cmp dl, byte [rcx + 22] LONG $0x2454940f; BYTE $0x78 // sete byte [rsp + 120] - LONG $0x12713a44 // cmp r14b, byte [rcx + 18] - LONG $0x2454940f; BYTE $0x68 // sete byte [rsp + 104] - LONG $0x13713a44 // cmp r14b, byte [rcx + 19] - LONG $0x2454940f; BYTE $0x70 // sete byte [rsp + 112] - LONG $0x14713a44 // cmp r14b, byte [rcx + 20] - QUAD $0x000000802494940f // sete byte [rsp + 128] - LONG $0x15713a44 // cmp r14b, byte [rcx + 21] - QUAD $0x000000882494940f // sete byte [rsp + 136] - LONG $0x16713a44 // cmp r14b, byte [rcx + 22] - QUAD $0x000000902494940f // sete byte [rsp + 144] - LONG $0x17713a44 // cmp r14b, byte [rcx + 23] + LONG $0x1c24548b // mov edx, dword [rsp + 28] + WORD $0x513a; BYTE $0x17 // cmp dl, byte [rcx + 23] LONG $0xd6940f41 // sete r14b LONG $0x1c24548b // mov edx, dword [rsp + 28] WORD $0x513a; BYTE $0x18 // cmp dl, byte [rcx + 24] QUAD $0x000001102494940f // sete byte [rsp + 272] LONG $0x1c24548b // mov edx, dword [rsp + 28] WORD $0x513a; BYTE $0x19 // cmp dl, byte [rcx + 25] - LONG $0x2454940f; BYTE $0x30 // sete byte [rsp + 48] + LONG $0x2454940f; BYTE $0x68 // sete byte [rsp + 104] LONG $0x1c24548b // mov edx, dword [rsp + 28] WORD $0x513a; BYTE $0x1a // cmp dl, byte [rcx + 26] - LONG $0x2454940f; BYTE $0x38 // sete byte [rsp + 56] + LONG $0x2454940f; BYTE $0x60 // sete byte [rsp + 96] LONG $0x1c24548b // mov edx, dword [rsp + 28] WORD $0x513a; BYTE $0x1b // cmp dl, byte [rcx + 27] - LONG $0x2454940f; BYTE $0x40 // sete byte [rsp + 64] + LONG $0x2454940f; BYTE $0x70 // sete byte [rsp + 112] LONG $0x1c24548b // mov edx, dword [rsp + 28] WORD $0x513a; BYTE $0x1c // cmp dl, byte [rcx + 28] - LONG $0x2454940f; BYTE $0x48 // sete byte [rsp + 72] + QUAD $0x000000802494940f // sete byte [rsp + 128] LONG $0x1c24548b // mov edx, dword [rsp + 28] WORD $0x513a; BYTE $0x1d // cmp dl, byte [rcx + 29] - LONG $0x2454940f; BYTE $0x28 // sete byte [rsp + 40] + LONG $0x2454940f; BYTE $0x38 // sete byte [rsp + 56] LONG $0x1c24548b // mov edx, dword [rsp + 28] WORD $0x513a; BYTE $0x1e // cmp dl, byte [rcx + 30] LONG $0x2454940f; BYTE $0x20 // sete byte [rsp + 32] LONG $0x1c24548b // mov edx, dword [rsp + 28] WORD $0x513a; BYTE $0x1f // cmp dl, byte [rcx + 31] WORD $0x940f; BYTE $0xd2 // sete dl - WORD $0x0045; BYTE $0xd2 // add r10b, r10b - QUAD $0x0000014024940244 // add r10b, byte [rsp + 320] - WORD $0xe0c0; BYTE $0x06 // shl al, 6 + WORD $0x0045; BYTE $0xc9 // add r9b, r9b + QUAD $0x00000140248c0244 // add r9b, byte [rsp + 320] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e4c041 // shl r12b, 7 - WORD $0x0841; BYTE $0xc4 // or r12b, al - WORD $0xe3c0; BYTE $0x02 // shl bl, 2 - WORD $0x0844; BYTE $0xd3 // or bl, r10b + WORD $0x0841; BYTE $0xdc // or r12b, bl + LONG $0x02e3c041 // shl r11b, 2 + WORD $0x0845; BYTE $0xcb // or r11b, r9b WORD $0x0040; BYTE $0xf6 // add sil, sil - QUAD $0x000000a024b40240 // add sil, byte [rsp + 160] + QUAD $0x0000008824b40240 // add sil, byte [rsp + 136] LONG $0x03e5c041 // shl r13b, 3 - WORD $0x0841; BYTE $0xdd // or r13b, bl + WORD $0x0845; BYTE $0xdd // or r13b, r11b + LONG $0x245c8b44; BYTE $0x1c // mov r11d, dword [rsp + 28] LONG $0x02e7c040 // shl dil, 2 WORD $0x0840; BYTE $0xf7 // or dil, sil - LONG $0x245cb60f; BYTE $0x50 // movzx ebx, byte [rsp + 80] + LONG $0x245cb60f; BYTE $0x30 // movzx ebx, byte [rsp + 48] WORD $0xe3c0; BYTE $0x04 // shl bl, 4 WORD $0x0844; BYTE $0xeb // or bl, r13b WORD $0xde89 // mov esi, ebx - LONG $0x03e1c041 // shl r9b, 3 - WORD $0x0841; BYTE $0xf9 // or r9b, dil - LONG $0x245cb60f; BYTE $0x60 // movzx ebx, byte [rsp + 96] + LONG $0x03e0c041 // shl r8b, 3 + WORD $0x0841; BYTE $0xf8 // or r8b, dil + LONG $0x245cb60f; BYTE $0x28 // movzx ebx, byte [rsp + 40] WORD $0xe3c0; BYTE $0x05 // shl bl, 5 WORD $0x0840; BYTE $0xf3 // or bl, sil - LONG $0x04e3c041 // shl r11b, 4 - WORD $0x0845; BYTE $0xcb // or r11b, r9b + LONG $0x04e2c041 // shl r10b, 4 + WORD $0x0845; BYTE $0xc2 // or r10b, r8b LONG $0x05e7c041 // shl r15b, 5 - WORD $0x0845; BYTE $0xdf // or r15b, r11b - LONG $0x2474b60f; BYTE $0x58 // movzx esi, byte [rsp + 88] + WORD $0x0845; BYTE $0xd7 // or r15b, r10b + QUAD $0x0000009024b4b60f // movzx esi, byte [rsp + 144] LONG $0x06e6c040 // shl sil, 6 - LONG $0x07e0c041 // shl r8b, 7 - WORD $0x0841; BYTE $0xf0 // or r8b, sil + WORD $0xe0c0; BYTE $0x07 // shl al, 7 + WORD $0x0840; BYTE $0xf0 // or al, sil WORD $0x0841; BYTE $0xdc // or r12b, bl - WORD $0x0845; BYTE $0xf8 // or r8b, r15b - LONG $0x2444b60f; BYTE $0x78 // movzx eax, byte [rsp + 120] - WORD $0xc000 // add al, al - LONG $0x20248402; WORD $0x0001; BYTE $0x00 // add al, byte [rsp + 288] - LONG $0x245cb60f; BYTE $0x68 // movzx ebx, byte [rsp + 104] + WORD $0x0844; BYTE $0xf8 // or al, r15b + LONG $0x245cb60f; BYTE $0x50 // movzx ebx, byte [rsp + 80] + WORD $0xdb00 // add bl, bl + LONG $0x20249c02; WORD $0x0001; BYTE $0x00 // add bl, byte [rsp + 288] + WORD $0xde89 // mov esi, ebx + QUAD $0x00000098249cb60f // movzx ebx, byte [rsp + 152] WORD $0xe3c0; BYTE $0x02 // shl bl, 2 - WORD $0xc308 // or bl, al + WORD $0x0840; BYTE $0xf3 // or bl, sil WORD $0xde89 // mov esi, ebx - LONG $0x245cb60f; BYTE $0x70 // movzx ebx, byte [rsp + 112] + LONG $0x245cb60f; BYTE $0x40 // movzx ebx, byte [rsp + 64] WORD $0xe3c0; BYTE $0x03 // shl bl, 3 WORD $0x0840; BYTE $0xf3 // or bl, sil WORD $0xde89 // mov esi, ebx - QUAD $0x00000080249cb60f // movzx ebx, byte [rsp + 128] + LONG $0x245cb60f; BYTE $0x48 // movzx ebx, byte [rsp + 72] WORD $0xe3c0; BYTE $0x04 // shl bl, 4 WORD $0x0840; BYTE $0xf3 // or bl, sil WORD $0xde89 // mov esi, ebx - QUAD $0x00000088249cb60f // movzx ebx, byte [rsp + 136] + LONG $0x245cb60f; BYTE $0x58 // movzx ebx, byte [rsp + 88] WORD $0xe3c0; BYTE $0x05 // shl bl, 5 WORD $0x0840; BYTE $0xf3 // or bl, sil QUAD $0x0000017824b48b48 // mov rsi, qword [rsp + 376] WORD $0x8844; BYTE $0x26 // mov byte [rsi], r12b - QUAD $0x0000009024bcb60f // movzx edi, byte [rsp + 144] + LONG $0x247cb60f; BYTE $0x78 // movzx edi, byte [rsp + 120] LONG $0x06e7c040 // shl dil, 6 LONG $0x07e6c041 // shl r14b, 7 WORD $0x0841; BYTE $0xfe // or r14b, dil - LONG $0x01468844 // mov byte [rsi + 1], r8b + WORD $0x4688; BYTE $0x01 // mov byte [rsi + 1], al WORD $0x0841; BYTE $0xde // or r14b, bl - LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] + LONG $0x2444b60f; BYTE $0x68 // movzx eax, byte [rsp + 104] WORD $0xc000 // add al, al LONG $0x10248402; WORD $0x0001; BYTE $0x00 // add al, byte [rsp + 272] WORD $0xc389 // mov ebx, eax - LONG $0x2444b60f; BYTE $0x38 // movzx eax, byte [rsp + 56] + LONG $0x2444b60f; BYTE $0x60 // movzx eax, byte [rsp + 96] WORD $0xe0c0; BYTE $0x02 // shl al, 2 WORD $0xd808 // or al, bl WORD $0xc389 // mov ebx, eax - LONG $0x2444b60f; BYTE $0x40 // movzx eax, byte [rsp + 64] + LONG $0x2444b60f; BYTE $0x70 // movzx eax, byte [rsp + 112] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0xd808 // or al, bl WORD $0xc389 // mov ebx, eax - LONG $0x2444b60f; BYTE $0x48 // movzx eax, byte [rsp + 72] + QUAD $0x000000802484b60f // movzx eax, byte [rsp + 128] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0xd808 // or al, bl WORD $0xc389 // mov ebx, eax - LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] + LONG $0x2444b60f; BYTE $0x38 // movzx eax, byte [rsp + 56] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0xd808 // or al, bl LONG $0x245cb60f; BYTE $0x20 // movzx ebx, byte [rsp + 32] @@ -11913,12 +12520,11 @@ LBB2_115: WORD $0xda08 // or dl, bl WORD $0xc208 // or dl, al LONG $0x02768844 // mov byte [rsi + 2], r14b - LONG $0x24748b44; BYTE $0x1c // mov r14d, dword [rsp + 28] WORD $0x5688; BYTE $0x03 // mov byte [rsi + 3], dl LONG $0x20618d4c // lea r12, [rcx + 32] LONG $0x04c68348 // add rsi, 4 QUAD $0x0000017824b48948 // mov qword [rsp + 376], rsi - QUAD $0x0000009824848348; BYTE $0xff // add qword [rsp + 152], -1 + QUAD $0x000000a024848348; BYTE $0xff // add qword [rsp + 160], -1 JNE LBB2_115 QUAD $0x0000011824948b4c // mov r10, qword [rsp + 280] QUAD $0x0000018824bc8b4c // mov r15, qword [rsp + 392] @@ -11926,9 +12532,9 @@ LBB2_115: LBB2_117: WORD $0x8b44; BYTE $0x2e // mov r13d, dword [rsi] - LONG $0x1f728d4d // lea r14, [r10 + 31] + LONG $0x1f5a8d4d // lea r11, [r10 + 31] WORD $0x854d; BYTE $0xd2 // test r10, r10 - LONG $0xf2490f4d // cmovns r14, r10 + LONG $0xda490f4d // cmovns r11, r10 LONG $0x07418d41 // lea eax, [r9 + 7] WORD $0x8545; BYTE $0xc9 // test r9d, r9d LONG $0xc1490f41 // cmovns eax, r9d @@ -11946,8 +12552,8 @@ LBB2_119: WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xf0490f48 // cmovns rsi, rax LONG $0x03fec148 // sar rsi, 3 - WORD $0x894d; BYTE $0xd9 // mov r9, r11 - LONG $0x04b60f45; BYTE $0x33 // movzx r8d, byte [r11 + rsi] + WORD $0x894d; BYTE $0xf1 // mov r9, r14 + LONG $0x04b60f45; BYTE $0x36 // movzx r8d, byte [r14 + rsi] WORD $0x3044; BYTE $0xc3 // xor bl, r8b LONG $0x00f53c8d; WORD $0x0000; BYTE $0x00 // lea edi, [8*rsi] WORD $0xc189 // mov ecx, eax @@ -11956,40 +12562,40 @@ LBB2_119: WORD $0xe7d3 // shl edi, cl WORD $0x2040; BYTE $0xdf // and dil, bl WORD $0x3044; BYTE $0xc7 // xor dil, r8b - LONG $0x333c8841 // mov byte [r11 + rsi], dil + LONG $0x363c8841 // mov byte [r14 + rsi], dil LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 JNE LBB2_119 - LONG $0x01c38349 // add r11, 1 + LONG $0x01c68349 // add r14, 1 LBB2_121: - LONG $0x05fec149 // sar r14, 5 + LONG $0x05fbc149 // sar r11, 5 LONG $0x20fa8349 // cmp r10, 32 JL LBB2_125 QUAD $0x000001182494894c // mov qword [rsp + 280], r10 - QUAD $0x000000b024b4894c // mov qword [rsp + 176], r14 - QUAD $0x000000a824b4894c // mov qword [rsp + 168], r14 + QUAD $0x000000a8249c894c // mov qword [rsp + 168], r11 + QUAD $0x000000b0249c894c // mov qword [rsp + 176], r11 LBB2_123: - QUAD $0x00000110249c894c // mov qword [rsp + 272], r11 + QUAD $0x0000011024b4894c // mov qword [rsp + 272], r14 WORD $0x3b44; BYTE $0x2a // cmp r13d, dword [rdx] - QUAD $0x000000982494940f // sete byte [rsp + 152] + QUAD $0x000000a02494940f // sete byte [rsp + 160] LONG $0x046a3b44 // cmp r13d, dword [rdx + 4] - LONG $0xd7940f40 // sete dil + LONG $0xd2940f41 // sete r10b LONG $0x086a3b44 // cmp r13d, dword [rdx + 8] LONG $0xd6940f41 // sete r14b LONG $0x0c6a3b44 // cmp r13d, dword [rdx + 12] - QUAD $0x000000a02494940f // sete byte [rsp + 160] + QUAD $0x000000882494940f // sete byte [rsp + 136] LONG $0x106a3b44 // cmp r13d, dword [rdx + 16] - LONG $0x2454940f; BYTE $0x70 // sete byte [rsp + 112] + LONG $0x2454940f; BYTE $0x50 // sete byte [rsp + 80] LONG $0x146a3b44 // cmp r13d, dword [rdx + 20] - QUAD $0x000000902494940f // sete byte [rsp + 144] + LONG $0x2454940f; BYTE $0x70 // sete byte [rsp + 112] LONG $0x186a3b44 // cmp r13d, dword [rdx + 24] - WORD $0x940f; BYTE $0xd0 // sete al + WORD $0x940f; BYTE $0xd3 // sete bl LONG $0x1c6a3b44 // cmp r13d, dword [rdx + 28] - LONG $0xd3940f41 // sete r11b + LONG $0xd7940f40 // sete dil LONG $0x206a3b44 // cmp r13d, dword [rdx + 32] - LONG $0x2454940f; BYTE $0x50 // sete byte [rsp + 80] + QUAD $0x000000902494940f // sete byte [rsp + 144] LONG $0x246a3b44 // cmp r13d, dword [rdx + 36] LONG $0xd6940f40 // sete sil LONG $0x286a3b44 // cmp r13d, dword [rdx + 40] @@ -11997,37 +12603,37 @@ LBB2_123: LONG $0x2c6a3b44 // cmp r13d, dword [rdx + 44] LONG $0xd1940f41 // sete r9b LONG $0x306a3b44 // cmp r13d, dword [rdx + 48] - LONG $0xd2940f41 // sete r10b + LONG $0xd3940f41 // sete r11b LONG $0x346a3b44 // cmp r13d, dword [rdx + 52] LONG $0xd4940f41 // sete r12b LONG $0x386a3b44 // cmp r13d, dword [rdx + 56] - LONG $0x2454940f; BYTE $0x58 // sete byte [rsp + 88] + QUAD $0x000000982494940f // sete byte [rsp + 152] LONG $0x3c6a3b44 // cmp r13d, dword [rdx + 60] - WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0x940f; BYTE $0xd0 // sete al LONG $0x406a3b44 // cmp r13d, dword [rdx + 64] - QUAD $0x000000802494940f // sete byte [rsp + 128] - LONG $0x446a3b44 // cmp r13d, dword [rdx + 68] LONG $0x2454940f; BYTE $0x60 // sete byte [rsp + 96] + LONG $0x446a3b44 // cmp r13d, dword [rdx + 68] + LONG $0x2454940f; BYTE $0x40 // sete byte [rsp + 64] LONG $0x486a3b44 // cmp r13d, dword [rdx + 72] - LONG $0x2454940f; BYTE $0x68 // sete byte [rsp + 104] + LONG $0x2454940f; BYTE $0x48 // sete byte [rsp + 72] LONG $0x4c6a3b44 // cmp r13d, dword [rdx + 76] - LONG $0x2454940f; BYTE $0x78 // sete byte [rsp + 120] + LONG $0x2454940f; BYTE $0x58 // sete byte [rsp + 88] LONG $0x506a3b44 // cmp r13d, dword [rdx + 80] - QUAD $0x000000882494940f // sete byte [rsp + 136] + LONG $0x2454940f; BYTE $0x68 // sete byte [rsp + 104] LONG $0x546a3b44 // cmp r13d, dword [rdx + 84] - LONG $0x2454940f; BYTE $0x30 // sete byte [rsp + 48] + LONG $0x2454940f; BYTE $0x78 // sete byte [rsp + 120] LONG $0x586a3b44 // cmp r13d, dword [rdx + 88] - LONG $0x2454940f; BYTE $0x38 // sete byte [rsp + 56] + QUAD $0x000000802494940f // sete byte [rsp + 128] LONG $0x5c6a3b44 // cmp r13d, dword [rdx + 92] LONG $0xd7940f41 // sete r15b LONG $0x606a3b44 // cmp r13d, dword [rdx + 96] - LONG $0x2454940f; BYTE $0x20 // sete byte [rsp + 32] + LONG $0x2454940f; BYTE $0x28 // sete byte [rsp + 40] LONG $0x646a3b44 // cmp r13d, dword [rdx + 100] - LONG $0x2454940f; BYTE $0x40 // sete byte [rsp + 64] + LONG $0x2454940f; BYTE $0x30 // sete byte [rsp + 48] LONG $0x686a3b44 // cmp r13d, dword [rdx + 104] - LONG $0x2454940f; BYTE $0x48 // sete byte [rsp + 72] + LONG $0x2454940f; BYTE $0x38 // sete byte [rsp + 56] LONG $0x6c6a3b44 // cmp r13d, dword [rdx + 108] - LONG $0x2454940f; BYTE $0x28 // sete byte [rsp + 40] + LONG $0x2454940f; BYTE $0x20 // sete byte [rsp + 32] LONG $0x706a3b44 // cmp r13d, dword [rdx + 112] QUAD $0x000001402494940f // sete byte [rsp + 320] LONG $0x746a3b44 // cmp r13d, dword [rdx + 116] @@ -12035,125 +12641,123 @@ LBB2_123: LONG $0x786a3b44 // cmp r13d, dword [rdx + 120] LONG $0x2454940f; BYTE $0x1c // sete byte [rsp + 28] LONG $0x7c6a3b44 // cmp r13d, dword [rdx + 124] - WORD $0x940f; BYTE $0xd3 // sete bl - WORD $0x0040; BYTE $0xff // add dil, dil - QUAD $0x0000009824bc0240 // add dil, byte [rsp + 152] - WORD $0xe0c0; BYTE $0x06 // shl al, 6 - LONG $0x07e3c041 // shl r11b, 7 - WORD $0x0841; BYTE $0xc3 // or r11b, al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0x0045; BYTE $0xd2 // add r10b, r10b + QUAD $0x000000a024940244 // add r10b, byte [rsp + 160] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 + LONG $0x07e7c040 // shl dil, 7 + WORD $0x0840; BYTE $0xdf // or dil, bl LONG $0x02e6c041 // shl r14b, 2 - WORD $0x0841; BYTE $0xfe // or r14b, dil + WORD $0x0845; BYTE $0xd6 // or r14b, r10b WORD $0x0040; BYTE $0xf6 // add sil, sil - LONG $0x24740240; BYTE $0x50 // add sil, byte [rsp + 80] - QUAD $0x000000a02484b60f // movzx eax, byte [rsp + 160] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0x0844; BYTE $0xf0 // or al, r14b - WORD $0xc789 // mov edi, eax + QUAD $0x0000009024b40240 // add sil, byte [rsp + 144] + QUAD $0x00000088249cb60f // movzx ebx, byte [rsp + 136] + WORD $0xe3c0; BYTE $0x03 // shl bl, 3 + WORD $0x0844; BYTE $0xf3 // or bl, r14b + WORD $0x8941; BYTE $0xda // mov r10d, ebx + QUAD $0x0000011024b48b4c // mov r14, qword [rsp + 272] LONG $0x02e0c041 // shl r8b, 2 WORD $0x0841; BYTE $0xf0 // or r8b, sil - LONG $0x2444b60f; BYTE $0x70 // movzx eax, byte [rsp + 112] - WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0x0840; BYTE $0xf8 // or al, dil - WORD $0xc789 // mov edi, eax + LONG $0x245cb60f; BYTE $0x50 // movzx ebx, byte [rsp + 80] + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0x0844; BYTE $0xd3 // or bl, r10b + WORD $0xde89 // mov esi, ebx LONG $0x03e1c041 // shl r9b, 3 WORD $0x0845; BYTE $0xc1 // or r9b, r8b - QUAD $0x000000902484b60f // movzx eax, byte [rsp + 144] - WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0x0840; BYTE $0xf8 // or al, dil - LONG $0x04e2c041 // shl r10b, 4 - WORD $0x0845; BYTE $0xca // or r10b, r9b + LONG $0x245cb60f; BYTE $0x70 // movzx ebx, byte [rsp + 112] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + WORD $0x0840; BYTE $0xf3 // or bl, sil + LONG $0x04e3c041 // shl r11b, 4 + WORD $0x0845; BYTE $0xcb // or r11b, r9b LONG $0x05e4c041 // shl r12b, 5 - WORD $0x0845; BYTE $0xd4 // or r12b, r10b - LONG $0x2474b60f; BYTE $0x58 // movzx esi, byte [rsp + 88] + WORD $0x0845; BYTE $0xdc // or r12b, r11b + QUAD $0x0000009824b4b60f // movzx esi, byte [rsp + 152] LONG $0x06e6c040 // shl sil, 6 - WORD $0xe1c0; BYTE $0x07 // shl cl, 7 - WORD $0x0840; BYTE $0xf1 // or cl, sil - WORD $0x0841; BYTE $0xc3 // or r11b, al - WORD $0x0844; BYTE $0xe1 // or cl, r12b - LONG $0x2444b60f; BYTE $0x60 // movzx eax, byte [rsp + 96] - WORD $0xc000 // add al, al - LONG $0x80248402; WORD $0x0000; BYTE $0x00 // add al, byte [rsp + 128] - WORD $0xc689 // mov esi, eax - LONG $0x2444b60f; BYTE $0x68 // movzx eax, byte [rsp + 104] - WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0x0840; BYTE $0xf0 // or al, sil - WORD $0xc689 // mov esi, eax - LONG $0x2444b60f; BYTE $0x78 // movzx eax, byte [rsp + 120] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0x0840; BYTE $0xf0 // or al, sil - WORD $0xc689 // mov esi, eax - QUAD $0x000000882484b60f // movzx eax, byte [rsp + 136] - WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0x0840; BYTE $0xf0 // or al, sil - WORD $0xc689 // mov esi, eax - LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] - WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0xe0c0; BYTE $0x07 // shl al, 7 WORD $0x0840; BYTE $0xf0 // or al, sil - WORD $0xc689 // mov esi, eax - QUAD $0x0000011024848b48 // mov rax, qword [rsp + 272] - WORD $0x8844; BYTE $0x18 // mov byte [rax], r11b - QUAD $0x00000110249c8b4c // mov r11, qword [rsp + 272] - LONG $0x2444b60f; BYTE $0x38 // movzx eax, byte [rsp + 56] - WORD $0xe0c0; BYTE $0x06 // shl al, 6 + WORD $0x0840; BYTE $0xdf // or dil, bl + WORD $0x0844; BYTE $0xe0 // or al, r12b + LONG $0x245cb60f; BYTE $0x40 // movzx ebx, byte [rsp + 64] + WORD $0xdb00 // add bl, bl + LONG $0x60245c02 // add bl, byte [rsp + 96] + WORD $0xde89 // mov esi, ebx + LONG $0x245cb60f; BYTE $0x48 // movzx ebx, byte [rsp + 72] + WORD $0xe3c0; BYTE $0x02 // shl bl, 2 + WORD $0x0840; BYTE $0xf3 // or bl, sil + WORD $0xde89 // mov esi, ebx + LONG $0x245cb60f; BYTE $0x58 // movzx ebx, byte [rsp + 88] + WORD $0xe3c0; BYTE $0x03 // shl bl, 3 + WORD $0x0840; BYTE $0xf3 // or bl, sil + WORD $0xde89 // mov esi, ebx + LONG $0x245cb60f; BYTE $0x68 // movzx ebx, byte [rsp + 104] + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0x0840; BYTE $0xf3 // or bl, sil + WORD $0xde89 // mov esi, ebx + LONG $0x245cb60f; BYTE $0x78 // movzx ebx, byte [rsp + 120] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + WORD $0x0840; BYTE $0xf3 // or bl, sil + WORD $0x8841; BYTE $0x3e // mov byte [r14], dil + QUAD $0x0000008024b4b60f // movzx esi, byte [rsp + 128] + LONG $0x06e6c040 // shl sil, 6 LONG $0x07e7c041 // shl r15b, 7 - WORD $0x0841; BYTE $0xc7 // or r15b, al - LONG $0x014b8841 // mov byte [r11 + 1], cl WORD $0x0841; BYTE $0xf7 // or r15b, sil - LONG $0x2444b60f; BYTE $0x40 // movzx eax, byte [rsp + 64] + LONG $0x01468841 // mov byte [r14 + 1], al + WORD $0x0841; BYTE $0xdf // or r15b, bl + LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] WORD $0xc000 // add al, al - LONG $0x20244402 // add al, byte [rsp + 32] - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x48 // movzx eax, byte [rsp + 72] + LONG $0x28244402 // add al, byte [rsp + 40] + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x38 // movzx eax, byte [rsp + 56] WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax QUAD $0x000001402484b60f // movzx eax, byte [rsp + 320] WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax QUAD $0x000001202484b60f // movzx eax, byte [rsp + 288] WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - LONG $0x244cb60f; BYTE $0x1c // movzx ecx, byte [rsp + 28] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 - WORD $0xe3c0; BYTE $0x07 // shl bl, 7 - WORD $0xcb08 // or bl, cl - WORD $0xc308 // or bl, al - LONG $0x027b8845 // mov byte [r11 + 2], r15b - LONG $0x035b8841 // mov byte [r11 + 3], bl + WORD $0xd808 // or al, bl + LONG $0x245cb60f; BYTE $0x1c // movzx ebx, byte [rsp + 28] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 + WORD $0xe1c0; BYTE $0x07 // shl cl, 7 + WORD $0xd908 // or cl, bl + WORD $0xc108 // or cl, al + LONG $0x027e8845 // mov byte [r14 + 2], r15b + LONG $0x034e8841 // mov byte [r14 + 3], cl LONG $0x80c28148; WORD $0x0000; BYTE $0x00 // add rdx, 128 - LONG $0x04c38349 // add r11, 4 - QUAD $0x000000a824848348; BYTE $0xff // add qword [rsp + 168], -1 + LONG $0x04c68349 // add r14, 4 + QUAD $0x000000b024848348; BYTE $0xff // add qword [rsp + 176], -1 JNE LBB2_123 QUAD $0x0000011824948b4c // mov r10, qword [rsp + 280] - QUAD $0x000000b024b48b4c // mov r14, qword [rsp + 176] + QUAD $0x000000a8249c8b4c // mov r11, qword [rsp + 168] LBB2_125: - LONG $0x05e6c149 // shl r14, 5 - WORD $0x394d; BYTE $0xd6 // cmp r14, r10 - JGE LBB2_157 + LONG $0x05e3c149 // shl r11, 5 + WORD $0x394d; BYTE $0xd3 // cmp r11, r10 + JGE LBB2_165 WORD $0x894d; BYTE $0xd0 // mov r8, r10 - WORD $0x294d; BYTE $0xf0 // sub r8, r14 - WORD $0xf749; BYTE $0xd6 // not r14 - WORD $0x014d; BYTE $0xd6 // add r14, r10 - JNE LBB2_152 + WORD $0x294d; BYTE $0xd8 // sub r8, r11 + WORD $0xf749; BYTE $0xd3 // not r11 + WORD $0x014d; BYTE $0xd3 // add r11, r10 + JNE LBB2_153 LBB2_127: WORD $0xff31 // xor edi, edi - JMP LBB2_154 + JMP LBB2_155 LBB2_128: - QUAD $0x00000178249c894c // mov qword [rsp + 376], r11 + QUAD $0x0000017824b4894c // mov qword [rsp + 376], r14 WORD $0x8949; BYTE $0xd4 // mov r12, rdx LBB2_129: LONG $0x05e7c149 // shl r15, 5 WORD $0x394d; BYTE $0xd7 // cmp r15, r10 - JGE LBB2_157 + JGE LBB2_165 WORD $0x894d; BYTE $0xd0 // mov r8, r10 WORD $0x294d; BYTE $0xf8 // sub r8, r15 WORD $0xf749; BYTE $0xd7 // not r15 @@ -12162,10 +12766,10 @@ LBB2_129: WORD $0x894d; BYTE $0xc2 // mov r10, r8 LONG $0xfee28349 // and r10, -2 WORD $0xf631 // xor esi, esi - QUAD $0x00000178249c8b4c // mov r11, qword [rsp + 376] + QUAD $0x0000017824b48b4c // mov r14, qword [rsp + 376] LBB2_159: - LONG $0x34343a45 // cmp r14b, byte [r12 + rsi] + LONG $0x341c3a45 // cmp r11b, byte [r12 + rsi] WORD $0x940f; BYTE $0xd3 // sete bl WORD $0xdbf6 // neg bl WORD $0x8948; BYTE $0xf7 // mov rdi, rsi @@ -12174,12 +12778,12 @@ LBB2_159: WORD $0xe180; BYTE $0x06 // and cl, 6 WORD $0x01b2 // mov dl, 1 WORD $0xe2d2 // shl dl, cl - LONG $0x0cb60f45; BYTE $0x3b // movzx r9d, byte [r11 + rdi] + LONG $0x0cb60f45; BYTE $0x3e // movzx r9d, byte [r14 + rdi] WORD $0x3044; BYTE $0xcb // xor bl, r9b WORD $0xda20 // and dl, bl WORD $0x3044; BYTE $0xca // xor dl, r9b - LONG $0x3b148841 // mov byte [r11 + rdi], dl - LONG $0x34743a45; BYTE $0x01 // cmp r14b, byte [r12 + rsi + 1] + LONG $0x3e148841 // mov byte [r14 + rdi], dl + LONG $0x345c3a45; BYTE $0x01 // cmp r11b, byte [r12 + rsi + 1] LONG $0x02768d48 // lea rsi, [rsi + 2] WORD $0x940f; BYTE $0xd3 // sete bl WORD $0xdbf6 // neg bl @@ -12189,19 +12793,19 @@ LBB2_159: WORD $0xe0d2 // shl al, cl WORD $0xd820 // and al, bl WORD $0xd030 // xor al, dl - LONG $0x3b048841 // mov byte [r11 + rdi], al + LONG $0x3e048841 // mov byte [r14 + rdi], al WORD $0x3949; BYTE $0xf2 // cmp r10, rsi JNE LBB2_159 JMP LBB2_162 LBB2_132: - QUAD $0x00000178249c894c // mov qword [rsp + 376], r11 + QUAD $0x0000017824b4894c // mov qword [rsp + 376], r14 WORD $0x8949; BYTE $0xd4 // mov r12, rdx LBB2_133: LONG $0x05e7c149 // shl r15, 5 WORD $0x394d; BYTE $0xd7 // cmp r15, r10 - JGE LBB2_157 + JGE LBB2_165 WORD $0x894d; BYTE $0xd0 // mov r8, r10 WORD $0x294d; BYTE $0xf8 // sub r8, r15 WORD $0xf749; BYTE $0xd7 // not r15 @@ -12213,46 +12817,50 @@ LBB2_135: JMP LBB2_163 LBB2_136: - WORD $0x894d; BYTE $0xc2 // mov r10, r8 - LONG $0xfee28349 // and r10, -2 + WORD $0x894d; BYTE $0xc1 // mov r9, r8 + LONG $0xfee18349 // and r9, -2 WORD $0xff31 // xor edi, edi LBB2_137: LONG $0x022ef9c5 // vucomisd xmm0, qword [rdx] + WORD $0x9b0f; BYTE $0xd1 // setnp cl WORD $0x940f; BYTE $0xd0 // sete al + WORD $0xc820 // and al, cl WORD $0xd8f6 // neg al WORD $0x8948; BYTE $0xfe // mov rsi, rdi LONG $0x03eec148 // shr rsi, 3 - WORD $0x894d; BYTE $0xde // mov r14, r11 - LONG $0x0cb60f45; BYTE $0x33 // movzx r9d, byte [r11 + rsi] - WORD $0x3044; BYTE $0xc8 // xor al, r9b + WORD $0x894d; BYTE $0xf7 // mov r15, r14 + LONG $0x14b60f45; BYTE $0x36 // movzx r10d, byte [r14 + rsi] WORD $0xf989 // mov ecx, edi WORD $0xe180; BYTE $0x06 // and cl, 6 - WORD $0x01b3 // mov bl, 1 - WORD $0xe3d2 // shl bl, cl - WORD $0xc320 // and bl, al - WORD $0x3044; BYTE $0xcb // xor bl, r9b - LONG $0x331c8841 // mov byte [r11 + rsi], bl + WORD $0xb341; BYTE $0x01 // mov r11b, 1 + WORD $0xd241; BYTE $0xe3 // shl r11b, cl + WORD $0x3044; BYTE $0xd0 // xor al, r10b + WORD $0x2041; BYTE $0xc3 // and r11b, al + WORD $0x3045; BYTE $0xd3 // xor r11b, r10b + LONG $0x361c8845 // mov byte [r14 + rsi], r11b LONG $0x02c78348 // add rdi, 2 LONG $0x422ef9c5; BYTE $0x08 // vucomisd xmm0, qword [rdx + 8] LONG $0x10528d48 // lea rdx, [rdx + 16] - LONG $0xd1940f41 // sete r9b - WORD $0xf641; BYTE $0xd9 // neg r9b - WORD $0x3041; BYTE $0xd9 // xor r9b, bl + LONG $0xd29b0f41 // setnp r10b + WORD $0x940f; BYTE $0xd0 // sete al + WORD $0x2044; BYTE $0xd0 // and al, r10b + WORD $0xd8f6 // neg al + WORD $0x3044; BYTE $0xd8 // xor al, r11b WORD $0xc980; BYTE $0x01 // or cl, 1 - WORD $0x01b0 // mov al, 1 - WORD $0xe0d2 // shl al, cl - WORD $0x2044; BYTE $0xc8 // and al, r9b - WORD $0xd830 // xor al, bl - LONG $0x33048841 // mov byte [r11 + rsi], al - WORD $0x3949; BYTE $0xfa // cmp r10, rdi + WORD $0x01b3 // mov bl, 1 + WORD $0xe3d2 // shl bl, cl + WORD $0xc320 // and bl, al + WORD $0x3044; BYTE $0xdb // xor bl, r11b + LONG $0x361c8841 // mov byte [r14 + rsi], bl + WORD $0x3949; BYTE $0xf9 // cmp r9, rdi JNE LBB2_137 LBB2_138: LONG $0x01c0f641 // test r8b, 1 - JE LBB2_157 + JE LBB2_165 LONG $0x022ef9c5 // vucomisd xmm0, qword [rdx] - JMP LBB2_156 + JMP LBB2_152 LBB2_140: WORD $0x894d; BYTE $0xc2 // mov r10, r8 @@ -12265,8 +12873,8 @@ LBB2_141: WORD $0xd8f6 // neg al WORD $0x8948; BYTE $0xfe // mov rsi, rdi LONG $0x03eec148 // shr rsi, 3 - WORD $0x894d; BYTE $0xde // mov r14, r11 - LONG $0x0cb60f45; BYTE $0x33 // movzx r9d, byte [r11 + rsi] + WORD $0x894d; BYTE $0xf3 // mov r11, r14 + LONG $0x0cb60f45; BYTE $0x36 // movzx r9d, byte [r14 + rsi] WORD $0xf989 // mov ecx, edi WORD $0xe180; BYTE $0x06 // and cl, 6 WORD $0x01b3 // mov bl, 1 @@ -12274,7 +12882,7 @@ LBB2_141: WORD $0x3044; BYTE $0xc8 // xor al, r9b WORD $0xc320 // and bl, al WORD $0x3044; BYTE $0xcb // xor bl, r9b - LONG $0x331c8841 // mov byte [r11 + rsi], bl + LONG $0x361c8841 // mov byte [r14 + rsi], bl LONG $0x02c78348 // add rdi, 2 LONG $0x6a3b4466; BYTE $0x02 // cmp r13w, word [rdx + 2] LONG $0x04528d48 // lea rdx, [rdx + 4] @@ -12286,15 +12894,15 @@ LBB2_141: WORD $0xe0d2 // shl al, cl WORD $0x2044; BYTE $0xc8 // and al, r9b WORD $0xd830 // xor al, bl - LONG $0x33048841 // mov byte [r11 + rsi], al + LONG $0x36048841 // mov byte [r14 + rsi], al WORD $0x3949; BYTE $0xfa // cmp r10, rdi JNE LBB2_141 LBB2_142: LONG $0x01c0f641 // test r8b, 1 - JE LBB2_157 + JE LBB2_165 LONG $0x2a3b4466 // cmp r13w, word [rdx] - JMP LBB2_156 + JMP LBB2_157 LBB2_144: WORD $0x894d; BYTE $0xc2 // mov r10, r8 @@ -12307,8 +12915,8 @@ LBB2_145: WORD $0xd8f6 // neg al WORD $0x8948; BYTE $0xfe // mov rsi, rdi LONG $0x03eec148 // shr rsi, 3 - WORD $0x894d; BYTE $0xde // mov r14, r11 - LONG $0x0cb60f45; BYTE $0x33 // movzx r9d, byte [r11 + rsi] + WORD $0x894d; BYTE $0xf3 // mov r11, r14 + LONG $0x0cb60f45; BYTE $0x36 // movzx r9d, byte [r14 + rsi] WORD $0xf989 // mov ecx, edi WORD $0xe180; BYTE $0x06 // and cl, 6 WORD $0x01b3 // mov bl, 1 @@ -12316,7 +12924,7 @@ LBB2_145: WORD $0x3044; BYTE $0xc8 // xor al, r9b WORD $0xc320 // and bl, al WORD $0x3044; BYTE $0xcb // xor bl, r9b - LONG $0x331c8841 // mov byte [r11 + rsi], bl + LONG $0x361c8841 // mov byte [r14 + rsi], bl LONG $0x02c78348 // add rdi, 2 LONG $0x086a3b4c // cmp r13, qword [rdx + 8] LONG $0x10528d48 // lea rdx, [rdx + 16] @@ -12328,71 +12936,92 @@ LBB2_145: WORD $0xe0d2 // shl al, cl WORD $0x2044; BYTE $0xc8 // and al, r9b WORD $0xd830 // xor al, bl - LONG $0x33048841 // mov byte [r11 + rsi], al + LONG $0x36048841 // mov byte [r14 + rsi], al WORD $0x3949; BYTE $0xfa // cmp r10, rdi JNE LBB2_145 LBB2_146: LONG $0x01c0f641 // test r8b, 1 - JE LBB2_157 + JE LBB2_165 WORD $0x3b4c; BYTE $0x2a // cmp r13, qword [rdx] - JMP LBB2_156 + JMP LBB2_157 LBB2_148: - WORD $0x894d; BYTE $0xc2 // mov r10, r8 - LONG $0xfee28349 // and r10, -2 + WORD $0x894d; BYTE $0xc1 // mov r9, r8 + LONG $0xfee18349 // and r9, -2 WORD $0xff31 // xor edi, edi LBB2_149: LONG $0x022ef8c5 // vucomiss xmm0, dword [rdx] + WORD $0x9b0f; BYTE $0xd1 // setnp cl WORD $0x940f; BYTE $0xd0 // sete al + WORD $0xc820 // and al, cl WORD $0xd8f6 // neg al WORD $0x8948; BYTE $0xfe // mov rsi, rdi LONG $0x03eec148 // shr rsi, 3 - WORD $0x894d; BYTE $0xde // mov r14, r11 - LONG $0x0cb60f45; BYTE $0x33 // movzx r9d, byte [r11 + rsi] - WORD $0x3044; BYTE $0xc8 // xor al, r9b + WORD $0x894d; BYTE $0xf7 // mov r15, r14 + LONG $0x14b60f45; BYTE $0x36 // movzx r10d, byte [r14 + rsi] WORD $0xf989 // mov ecx, edi WORD $0xe180; BYTE $0x06 // and cl, 6 - WORD $0x01b3 // mov bl, 1 - WORD $0xe3d2 // shl bl, cl - WORD $0xc320 // and bl, al - WORD $0x3044; BYTE $0xcb // xor bl, r9b - LONG $0x331c8841 // mov byte [r11 + rsi], bl + WORD $0xb341; BYTE $0x01 // mov r11b, 1 + WORD $0xd241; BYTE $0xe3 // shl r11b, cl + WORD $0x3044; BYTE $0xd0 // xor al, r10b + WORD $0x2041; BYTE $0xc3 // and r11b, al + WORD $0x3045; BYTE $0xd3 // xor r11b, r10b + LONG $0x361c8845 // mov byte [r14 + rsi], r11b LONG $0x02c78348 // add rdi, 2 LONG $0x422ef8c5; BYTE $0x04 // vucomiss xmm0, dword [rdx + 4] LONG $0x08528d48 // lea rdx, [rdx + 8] - LONG $0xd1940f41 // sete r9b - WORD $0xf641; BYTE $0xd9 // neg r9b - WORD $0x3041; BYTE $0xd9 // xor r9b, bl + LONG $0xd29b0f41 // setnp r10b + WORD $0x940f; BYTE $0xd0 // sete al + WORD $0x2044; BYTE $0xd0 // and al, r10b + WORD $0xd8f6 // neg al + WORD $0x3044; BYTE $0xd8 // xor al, r11b WORD $0xc980; BYTE $0x01 // or cl, 1 - WORD $0x01b0 // mov al, 1 - WORD $0xe0d2 // shl al, cl - WORD $0x2044; BYTE $0xc8 // and al, r9b - WORD $0xd830 // xor al, bl - LONG $0x33048841 // mov byte [r11 + rsi], al - WORD $0x3949; BYTE $0xfa // cmp r10, rdi + WORD $0x01b3 // mov bl, 1 + WORD $0xe3d2 // shl bl, cl + WORD $0xc320 // and bl, al + WORD $0x3044; BYTE $0xdb // xor bl, r11b + LONG $0x361c8841 // mov byte [r14 + rsi], bl + WORD $0x3949; BYTE $0xf9 // cmp r9, rdi JNE LBB2_149 LBB2_150: LONG $0x01c0f641 // test r8b, 1 - JE LBB2_157 + JE LBB2_165 LONG $0x022ef8c5 // vucomiss xmm0, dword [rdx] - JMP LBB2_156 LBB2_152: + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd2 // sete dl + WORD $0xc220 // and dl, al + WORD $0xdaf6 // neg dl + WORD $0x8948; BYTE $0xf8 // mov rax, rdi + LONG $0x03e8c148 // shr rax, 3 + LONG $0x06348a41 // mov sil, byte [r14 + rax] + LONG $0x07e78040 // and dil, 7 + WORD $0x01b3 // mov bl, 1 + WORD $0xf989 // mov ecx, edi + WORD $0xe3d2 // shl bl, cl + WORD $0x3040; BYTE $0xf2 // xor dl, sil + WORD $0xd320 // and bl, dl + WORD $0x3040; BYTE $0xf3 // xor bl, sil + LONG $0x061c8841 // mov byte [r14 + rax], bl + JMP LBB2_165 + +LBB2_153: WORD $0x894d; BYTE $0xc2 // mov r10, r8 LONG $0xfee28349 // and r10, -2 WORD $0xff31 // xor edi, edi -LBB2_153: +LBB2_154: WORD $0x3b44; BYTE $0x2a // cmp r13d, dword [rdx] WORD $0x940f; BYTE $0xd0 // sete al WORD $0xd8f6 // neg al WORD $0x8948; BYTE $0xfe // mov rsi, rdi LONG $0x03eec148 // shr rsi, 3 - WORD $0x894d; BYTE $0xde // mov r14, r11 - LONG $0x0cb60f45; BYTE $0x33 // movzx r9d, byte [r11 + rsi] + WORD $0x894d; BYTE $0xf3 // mov r11, r14 + LONG $0x0cb60f45; BYTE $0x36 // movzx r9d, byte [r14 + rsi] WORD $0xf989 // mov ecx, edi WORD $0xe180; BYTE $0x06 // and cl, 6 WORD $0x01b3 // mov bl, 1 @@ -12400,7 +13029,7 @@ LBB2_153: WORD $0x3044; BYTE $0xc8 // xor al, r9b WORD $0xc320 // and bl, al WORD $0x3044; BYTE $0xcb // xor bl, r9b - LONG $0x331c8841 // mov byte [r11 + rsi], bl + LONG $0x361c8841 // mov byte [r14 + rsi], bl LONG $0x02c78348 // add rdi, 2 LONG $0x046a3b44 // cmp r13d, dword [rdx + 4] LONG $0x08528d48 // lea rdx, [rdx + 8] @@ -12412,21 +13041,21 @@ LBB2_153: WORD $0xe0d2 // shl al, cl WORD $0x2044; BYTE $0xc8 // and al, r9b WORD $0xd830 // xor al, bl - LONG $0x33048841 // mov byte [r11 + rsi], al + LONG $0x36048841 // mov byte [r14 + rsi], al WORD $0x3949; BYTE $0xfa // cmp r10, rdi - JNE LBB2_153 + JNE LBB2_154 -LBB2_154: +LBB2_155: LONG $0x01c0f641 // test r8b, 1 - JE LBB2_157 + JE LBB2_165 WORD $0x3b44; BYTE $0x2a // cmp r13d, dword [rdx] -LBB2_156: +LBB2_157: WORD $0x940f; BYTE $0xd0 // sete al WORD $0xd8f6 // neg al WORD $0x8948; BYTE $0xfa // mov rdx, rdi LONG $0x03eac148 // shr rdx, 3 - LONG $0x13348a41 // mov sil, byte [r11 + rdx] + LONG $0x16348a41 // mov sil, byte [r14 + rdx] LONG $0x07e78040 // and dil, 7 WORD $0x01b3 // mov bl, 1 WORD $0xf989 // mov ecx, edi @@ -12434,21 +13063,17 @@ LBB2_156: WORD $0x3040; BYTE $0xf0 // xor al, sil WORD $0xc320 // and bl, al WORD $0x3040; BYTE $0xf3 // xor bl, sil - LONG $0x131c8841 // mov byte [r11 + rdx], bl - -LBB2_157: - MOVQ 1280(SP), SP - VZEROUPPER - RET + LONG $0x161c8841 // mov byte [r14 + rdx], bl + JMP LBB2_165 LBB2_160: WORD $0x894d; BYTE $0xc2 // mov r10, r8 LONG $0xfee28349 // and r10, -2 WORD $0xf631 // xor esi, esi - QUAD $0x00000178249c8b4c // mov r11, qword [rsp + 376] + QUAD $0x0000017824b48b4c // mov r14, qword [rsp + 376] LBB2_161: - LONG $0x34343a45 // cmp r14b, byte [r12 + rsi] + LONG $0x341c3a45 // cmp r11b, byte [r12 + rsi] WORD $0x940f; BYTE $0xd3 // sete bl WORD $0xdbf6 // neg bl WORD $0x8948; BYTE $0xf7 // mov rdi, rsi @@ -12457,12 +13082,12 @@ LBB2_161: WORD $0xe180; BYTE $0x06 // and cl, 6 WORD $0x01b2 // mov dl, 1 WORD $0xe2d2 // shl dl, cl - LONG $0x0cb60f45; BYTE $0x3b // movzx r9d, byte [r11 + rdi] + LONG $0x0cb60f45; BYTE $0x3e // movzx r9d, byte [r14 + rdi] WORD $0x3044; BYTE $0xcb // xor bl, r9b WORD $0xda20 // and dl, bl WORD $0x3044; BYTE $0xca // xor dl, r9b - LONG $0x3b148841 // mov byte [r11 + rdi], dl - LONG $0x34743a45; BYTE $0x01 // cmp r14b, byte [r12 + rsi + 1] + LONG $0x3e148841 // mov byte [r14 + rdi], dl + LONG $0x345c3a45; BYTE $0x01 // cmp r11b, byte [r12 + rsi + 1] LONG $0x02768d48 // lea rsi, [rsi + 2] WORD $0x940f; BYTE $0xd3 // sete bl WORD $0xdbf6 // neg bl @@ -12472,7 +13097,7 @@ LBB2_161: WORD $0xe0d2 // shl al, cl WORD $0xd820 // and al, bl WORD $0xd030 // xor al, dl - LONG $0x3b048841 // mov byte [r11 + rdi], al + LONG $0x3e048841 // mov byte [r14 + rdi], al WORD $0x3949; BYTE $0xf2 // cmp r10, rsi JNE LBB2_161 @@ -12481,8 +13106,8 @@ LBB2_162: LBB2_163: LONG $0x01c0f641 // test r8b, 1 - JE LBB2_157 - LONG $0x24343a45 // cmp r14b, byte [r12] + JE LBB2_165 + LONG $0x241c3a45 // cmp r11b, byte [r12] WORD $0x940f; BYTE $0xd0 // sete al WORD $0xd8f6 // neg al WORD $0x8948; BYTE $0xf2 // mov rdx, rsi @@ -12497,57 +13122,61 @@ LBB2_163: WORD $0xc320 // and bl, al WORD $0x3040; BYTE $0xfb // xor bl, dil LONG $0x101c8841 // mov byte [r8 + rdx], bl - JMP LBB2_157 LBB2_165: + MOVQ 1280(SP), SP + VZEROUPPER + RET + +LBB2_166: LONG $0xe0e78349 // and r15, -32 WORD $0x894c; BYTE $0xf8 // mov rax, r15 LONG $0x05e0c148 // shl rax, 5 WORD $0x0148; BYTE $0xd0 // add rax, rdx QUAD $0x0000019024848948 // mov qword [rsp + 400], rax QUAD $0x0000018024bc894c // mov qword [rsp + 384], r15 - LONG $0xbb048d4b // lea rax, [r11 + 4*r15] + LONG $0xbe048d4b // lea rax, [r14 + 4*r15] QUAD $0x0000017824848948 // mov qword [rsp + 376], rax - LONG $0x6e79c1c4; BYTE $0xc6 // vmovd xmm0, r14d + LONG $0x6e79c1c4; BYTE $0xc3 // vmovd xmm0, r11d LONG $0x787de2c4; BYTE $0xc0 // vpbroadcastb ymm0, xmm0 QUAD $0x00020024847ffdc5; BYTE $0x00 // vmovdqa yword [rsp + 512], ymm0 WORD $0xc031 // xor eax, eax - QUAD $0x00000110249c894c // mov qword [rsp + 272], r11 + QUAD $0x0000011024b4894c // mov qword [rsp + 272], r14 -LBB2_166: +LBB2_167: WORD $0x8948; BYTE $0xc3 // mov rbx, rax QUAD $0x0000019824848948 // mov qword [rsp + 408], rax LONG $0x05e3c148 // shl rbx, 5 WORD $0x8948; BYTE $0xd8 // mov rax, rbx LONG $0x20c88348 // or rax, 32 - LONG $0x24448948; BYTE $0x78 // mov qword [rsp + 120], rax + QUAD $0x000000c024848948 // mov qword [rsp + 192], rax WORD $0x8948; BYTE $0xd8 // mov rax, rbx LONG $0x40c88348 // or rax, 64 - LONG $0x24448948; BYTE $0x40 // mov qword [rsp + 64], rax + LONG $0x24448948; BYTE $0x78 // mov qword [rsp + 120], rax WORD $0x8948; BYTE $0xd8 // mov rax, rbx LONG $0x60c88348 // or rax, 96 - QUAD $0x000000b024848948 // mov qword [rsp + 176], rax + LONG $0x24448948; BYTE $0x38 // mov qword [rsp + 56], rax WORD $0x8948; BYTE $0xd8 // mov rax, rbx LONG $0x00800d48; WORD $0x0000 // or rax, 128 - LONG $0x24448948; BYTE $0x68 // mov qword [rsp + 104], rax + QUAD $0x000000a824848948 // mov qword [rsp + 168], rax WORD $0x8948; BYTE $0xd8 // mov rax, rbx LONG $0x00a00d48; WORD $0x0000 // or rax, 160 - LONG $0x24448948; BYTE $0x60 // mov qword [rsp + 96], rax + QUAD $0x0000008824848948 // mov qword [rsp + 136], rax WORD $0x8948; BYTE $0xd8 // mov rax, rbx LONG $0x00c00d48; WORD $0x0000 // or rax, 192 - QUAD $0x000000a024848948 // mov qword [rsp + 160], rax + QUAD $0x0000009824848948 // mov qword [rsp + 152], rax WORD $0x8948; BYTE $0xd8 // mov rax, rbx LONG $0x00e00d48; WORD $0x0000 // or rax, 224 - QUAD $0x0000009024848948 // mov qword [rsp + 144], rax + QUAD $0x000000f824848948 // mov qword [rsp + 248], rax WORD $0x8948; BYTE $0xd8 // mov rax, rbx LONG $0x01000d48; WORD $0x0000 // or rax, 256 - QUAD $0x0000008824848948 // mov qword [rsp + 136], rax + QUAD $0x000000a024848948 // mov qword [rsp + 160], rax WORD $0x8948; BYTE $0xd8 // mov rax, rbx LONG $0x01200d48; WORD $0x0000 // or rax, 288 - QUAD $0x0000009824848948 // mov qword [rsp + 152], rax + QUAD $0x000000b024848948 // mov qword [rsp + 176], rax WORD $0x8948; BYTE $0xd8 // mov rax, rbx LONG $0x01400d48; WORD $0x0000 // or rax, 320 - QUAD $0x0000014024848948 // mov qword [rsp + 320], rax + LONG $0x24448948; BYTE $0x28 // mov qword [rsp + 40], rax WORD $0x8948; BYTE $0xd8 // mov rax, rbx LONG $0x02000d48; WORD $0x0000 // or rax, 512 WORD $0x8948; BYTE $0xc1 // mov rcx, rax @@ -12556,1918 +13185,1931 @@ LBB2_166: LONG $0x1a04b60f // movzx eax, byte [rdx + rbx] LONG $0xd86ef9c5 // vmovd xmm3, eax LONG $0x0a44b60f; BYTE $0x01 // movzx eax, byte [rdx + rcx + 1] + WORD $0x8948; BYTE $0xce // mov rsi, rcx LONG $0xe06ef9c5 // vmovd xmm4, eax + WORD $0x8948; BYTE $0xd9 // mov rcx, rbx LONG $0x1a44b60f; BYTE $0x01 // movzx eax, byte [rdx + rbx + 1] LONG $0xd06e79c5 // vmovd xmm10, eax - LONG $0x0a44b60f; BYTE $0x02 // movzx eax, byte [rdx + rcx + 2] - WORD $0x8948; BYTE $0xcf // mov rdi, rcx + LONG $0x3244b60f; BYTE $0x02 // movzx eax, byte [rdx + rsi + 2] LONG $0xc86ef9c5 // vmovd xmm1, eax QUAD $0x0001e0248c7ff9c5; BYTE $0x00 // vmovdqa oword [rsp + 480], xmm1 - WORD $0x8948; BYTE $0xd9 // mov rcx, rbx LONG $0x1a44b60f; BYTE $0x02 // movzx eax, byte [rdx + rbx + 2] LONG $0xc86ef9c5 // vmovd xmm1, eax QUAD $0x0001c0248c7ff9c5; BYTE $0x00 // vmovdqa oword [rsp + 448], xmm1 - LONG $0x3a44b60f; BYTE $0x03 // movzx eax, byte [rdx + rdi + 3] + LONG $0x3244b60f; BYTE $0x03 // movzx eax, byte [rdx + rsi + 3] LONG $0xd86e79c5 // vmovd xmm11, eax LONG $0x1a44b60f; BYTE $0x03 // movzx eax, byte [rdx + rbx + 3] LONG $0xc06e79c5 // vmovd xmm8, eax - LONG $0x3a44b60f; BYTE $0x04 // movzx eax, byte [rdx + rdi + 4] + LONG $0x3244b60f; BYTE $0x04 // movzx eax, byte [rdx + rsi + 4] LONG $0xc86ef9c5 // vmovd xmm1, eax QUAD $0x0001a0248c7ff9c5; BYTE $0x00 // vmovdqa oword [rsp + 416], xmm1 LONG $0x1a44b60f; BYTE $0x04 // movzx eax, byte [rdx + rbx + 4] LONG $0xe86e79c5 // vmovd xmm13, eax - LONG $0x3a44b60f; BYTE $0x05 // movzx eax, byte [rdx + rdi + 5] + LONG $0x3244b60f; BYTE $0x05 // movzx eax, byte [rdx + rsi + 5] LONG $0xf06e79c5 // vmovd xmm14, eax LONG $0x1a44b60f; BYTE $0x05 // movzx eax, byte [rdx + rbx + 5] LONG $0xf06ef9c5 // vmovd xmm6, eax - LONG $0x3a44b60f; BYTE $0x06 // movzx eax, byte [rdx + rdi + 6] - QUAD $0x0000010024bc8948 // mov qword [rsp + 256], rdi + LONG $0x3244b60f; BYTE $0x06 // movzx eax, byte [rdx + rsi + 6] + QUAD $0x000000f024b48948 // mov qword [rsp + 240], rsi LONG $0xe06e79c5 // vmovd xmm12, eax LONG $0x1a44b60f; BYTE $0x06 // movzx eax, byte [rdx + rbx + 6] LONG $0xf86ef9c5 // vmovd xmm7, eax - LONG $0x3a44b60f; BYTE $0x07 // movzx eax, byte [rdx + rdi + 7] + LONG $0x3244b60f; BYTE $0x07 // movzx eax, byte [rdx + rsi + 7] LONG $0xd06ef9c5 // vmovd xmm2, eax LONG $0x1a44b60f; BYTE $0x07 // movzx eax, byte [rdx + rbx + 7] LONG $0xc86ef9c5 // vmovd xmm1, eax WORD $0x8948; BYTE $0xd8 // mov rax, rbx LONG $0x01600d48; WORD $0x0000 // or rax, 352 - QUAD $0x000000d824848948 // mov qword [rsp + 216], rax + QUAD $0x0000008024848948 // mov qword [rsp + 128], rax WORD $0x8948; BYTE $0xd8 // mov rax, rbx LONG $0x01800d48; WORD $0x0000 // or rax, 384 - QUAD $0x0000012024848948 // mov qword [rsp + 288], rax + LONG $0x24448948; BYTE $0x30 // mov qword [rsp + 48], rax WORD $0x8948; BYTE $0xd8 // mov rax, rbx LONG $0x01a00d48; WORD $0x0000 // or rax, 416 LONG $0x24448948; BYTE $0x20 // mov qword [rsp + 32], rax WORD $0x8948; BYTE $0xd8 // mov rax, rbx LONG $0x01c00d48; WORD $0x0000 // or rax, 448 - LONG $0x24448948; BYTE $0x48 // mov qword [rsp + 72], rax + QUAD $0x0000012024848948 // mov qword [rsp + 288], rax WORD $0x8948; BYTE $0xd8 // mov rax, rbx LONG $0x01e00d48; WORD $0x0000 // or rax, 480 - LONG $0x24448948; BYTE $0x38 // mov qword [rsp + 56], rax + QUAD $0x0000014024848948 // mov qword [rsp + 320], rax WORD $0x8948; BYTE $0xd8 // mov rax, rbx LONG $0x02200d48; WORD $0x0000 // or rax, 544 - QUAD $0x000000e824848948 // mov qword [rsp + 232], rax - LONG $0x40cb8148; WORD $0x0002; BYTE $0x00 // or rbx, 576 - QUAD $0x000000a8249c8948 // mov qword [rsp + 168], rbx - WORD $0x8948; BYTE $0xc8 // mov rax, rcx + LONG $0x24448948; BYTE $0x68 // mov qword [rsp + 104], rax + WORD $0x8948; BYTE $0xd8 // mov rax, rbx + LONG $0x02400d48; WORD $0x0000 // or rax, 576 + QUAD $0x0000010824848948 // mov qword [rsp + 264], rax + WORD $0x8948; BYTE $0xd8 // mov rax, rbx LONG $0x02600d48; WORD $0x0000 // or rax, 608 - LONG $0x24448948; BYTE $0x70 // mov qword [rsp + 112], rax - WORD $0x8949; BYTE $0xcc // mov r12, rcx - LONG $0x80cc8149; WORD $0x0002; BYTE $0x00 // or r12, 640 - QUAD $0x000000f024a4894c // mov qword [rsp + 240], r12 - WORD $0x8949; BYTE $0xce // mov r14, rcx - LONG $0xa0ce8149; WORD $0x0002; BYTE $0x00 // or r14, 672 - QUAD $0x000000f824b4894c // mov qword [rsp + 248], r14 - WORD $0x8948; BYTE $0xc8 // mov rax, rcx - LONG $0x02c00d48; WORD $0x0000 // or rax, 704 - LONG $0x24448948; BYTE $0x28 // mov qword [rsp + 40], rax - WORD $0x8948; BYTE $0xc8 // mov rax, rcx - LONG $0x02e00d48; WORD $0x0000 // or rax, 736 - WORD $0x8948; BYTE $0xc7 // mov rdi, rax - WORD $0x8949; BYTE $0xc9 // mov r9, rcx - LONG $0x00c98149; WORD $0x0003; BYTE $0x00 // or r9, 768 - QUAD $0x000000c0248c894c // mov qword [rsp + 192], r9 - WORD $0x8949; BYTE $0xcf // mov r15, rcx - LONG $0x20cf8149; WORD $0x0003; BYTE $0x00 // or r15, 800 - QUAD $0x000000b824bc894c // mov qword [rsp + 184], r15 - WORD $0x8949; BYTE $0xcb // mov r11, rcx - LONG $0x40cb8149; WORD $0x0003; BYTE $0x00 // or r11, 832 - QUAD $0x000000e0249c894c // mov qword [rsp + 224], r11 - WORD $0x8949; BYTE $0xca // mov r10, rcx - LONG $0x60ca8149; WORD $0x0003; BYTE $0x00 // or r10, 864 - LONG $0x2454894c; BYTE $0x58 // mov qword [rsp + 88], r10 - WORD $0x8949; BYTE $0xc8 // mov r8, rcx - LONG $0x80c88149; WORD $0x0003; BYTE $0x00 // or r8, 896 - QUAD $0x000000802484894c // mov qword [rsp + 128], r8 - WORD $0x8948; BYTE $0xce // mov rsi, rcx - LONG $0xa0ce8148; WORD $0x0003; BYTE $0x00 // or rsi, 928 + QUAD $0x000000c824848948 // mov qword [rsp + 200], rax + WORD $0x8949; BYTE $0xdb // mov r11, rbx + LONG $0x80cb8149; WORD $0x0002; BYTE $0x00 // or r11, 640 + LONG $0x245c894c; BYTE $0x70 // mov qword [rsp + 112], r11 + WORD $0x8948; BYTE $0xd8 // mov rax, rbx + LONG $0x02a00d48; WORD $0x0000 // or rax, 672 + QUAD $0x000000b824848948 // mov qword [rsp + 184], rax + WORD $0x8949; BYTE $0xdc // mov r12, rbx + LONG $0xc0cc8149; WORD $0x0002; BYTE $0x00 // or r12, 704 + QUAD $0x0000009024a4894c // mov qword [rsp + 144], r12 + WORD $0x8948; BYTE $0xde // mov rsi, rbx + LONG $0xe0ce8148; WORD $0x0002; BYTE $0x00 // or rsi, 736 QUAD $0x000000d024b48948 // mov qword [rsp + 208], rsi - WORD $0x8948; BYTE $0xc8 // mov rax, rcx - QUAD $0x00000108248c8948 // mov qword [rsp + 264], rcx + WORD $0x8949; BYTE $0xdf // mov r15, rbx + LONG $0x00cf8149; WORD $0x0003; BYTE $0x00 // or r15, 768 + QUAD $0x000000e024bc894c // mov qword [rsp + 224], r15 + WORD $0x8949; BYTE $0xd9 // mov r9, rbx + LONG $0x20c98149; WORD $0x0003; BYTE $0x00 // or r9, 800 + QUAD $0x000000e8248c894c // mov qword [rsp + 232], r9 + WORD $0x8949; BYTE $0xd8 // mov r8, rbx + LONG $0x40c88149; WORD $0x0003; BYTE $0x00 // or r8, 832 + LONG $0x2444894c; BYTE $0x58 // mov qword [rsp + 88], r8 + WORD $0x8948; BYTE $0xdf // mov rdi, rbx + LONG $0x60cf8148; WORD $0x0003; BYTE $0x00 // or rdi, 864 + QUAD $0x000000d824bc8948 // mov qword [rsp + 216], rdi + WORD $0x8949; BYTE $0xde // mov r14, rbx + LONG $0x80ce8149; WORD $0x0003; BYTE $0x00 // or r14, 896 + LONG $0x2474894c; BYTE $0x50 // mov qword [rsp + 80], r14 + WORD $0x8949; BYTE $0xda // mov r10, rbx + LONG $0xa0ca8149; WORD $0x0003; BYTE $0x00 // or r10, 928 + LONG $0x2454894c; BYTE $0x48 // mov qword [rsp + 72], r10 + WORD $0x8948; BYTE $0xd8 // mov rax, rbx + QUAD $0x00000100249c8948 // mov qword [rsp + 256], rbx LONG $0x03c00d48; WORD $0x0000 // or rax, 960 - LONG $0x24448948; BYTE $0x30 // mov qword [rsp + 48], rax + LONG $0x24448948; BYTE $0x40 // mov qword [rsp + 64], rax LONG $0xe0c98148; WORD $0x0003; BYTE $0x00 // or rcx, 992 - LONG $0x244c8948; BYTE $0x50 // mov qword [rsp + 80], rcx - QUAD $0x000000e824ac8b4c // mov r13, qword [rsp + 232] + LONG $0x244c8948; BYTE $0x60 // mov qword [rsp + 96], rcx + LONG $0x246c8b4c; BYTE $0x68 // mov r13, qword [rsp + 104] LONG $0x207923c4; WORD $0x2a0c; BYTE $0x01 // vpinsrb xmm9, xmm0, byte [rdx + r13], 1 + QUAD $0x00000108249c8b48 // mov rbx, qword [rsp + 264] LONG $0x2031e3c4; WORD $0x1a04; BYTE $0x02 // vpinsrb xmm0, xmm9, byte [rdx + rbx], 2 - LONG $0x245c8b48; BYTE $0x70 // mov rbx, qword [rsp + 112] + QUAD $0x000000c8249c8b48 // mov rbx, qword [rsp + 200] LONG $0x2079e3c4; WORD $0x1a04; BYTE $0x03 // vpinsrb xmm0, xmm0, byte [rdx + rbx], 3 - LONG $0x2079a3c4; WORD $0x2204; BYTE $0x04 // vpinsrb xmm0, xmm0, byte [rdx + r12], 4 - LONG $0x2079a3c4; WORD $0x3204; BYTE $0x05 // vpinsrb xmm0, xmm0, byte [rdx + r14], 5 - LONG $0x245c8b48; BYTE $0x28 // mov rbx, qword [rsp + 40] - LONG $0x2079e3c4; WORD $0x1a04; BYTE $0x06 // vpinsrb xmm0, xmm0, byte [rdx + rbx], 6 - LONG $0x2079e3c4; WORD $0x3a04; BYTE $0x07 // vpinsrb xmm0, xmm0, byte [rdx + rdi], 7 - WORD $0x8949; BYTE $0xfd // mov r13, rdi - QUAD $0x000000c824bc8948 // mov qword [rsp + 200], rdi - LONG $0x2079a3c4; WORD $0x0a04; BYTE $0x08 // vpinsrb xmm0, xmm0, byte [rdx + r9], 8 - LONG $0x2079a3c4; WORD $0x3a04; BYTE $0x09 // vpinsrb xmm0, xmm0, byte [rdx + r15], 9 - LONG $0x2079a3c4; WORD $0x1a04; BYTE $0x0a // vpinsrb xmm0, xmm0, byte [rdx + r11], 10 - LONG $0x2079a3c4; WORD $0x1204; BYTE $0x0b // vpinsrb xmm0, xmm0, byte [rdx + r10], 11 - LONG $0x2079a3c4; WORD $0x0204; BYTE $0x0c // vpinsrb xmm0, xmm0, byte [rdx + r8], 12 - LONG $0x2079e3c4; WORD $0x3204; BYTE $0x0d // vpinsrb xmm0, xmm0, byte [rdx + rsi], 13 + LONG $0x2079a3c4; WORD $0x1a04; BYTE $0x04 // vpinsrb xmm0, xmm0, byte [rdx + r11], 4 + QUAD $0x000000b8249c8b48 // mov rbx, qword [rsp + 184] + LONG $0x2079e3c4; WORD $0x1a04; BYTE $0x05 // vpinsrb xmm0, xmm0, byte [rdx + rbx], 5 + LONG $0x2079a3c4; WORD $0x2204; BYTE $0x06 // vpinsrb xmm0, xmm0, byte [rdx + r12], 6 + LONG $0x2079e3c4; WORD $0x3204; BYTE $0x07 // vpinsrb xmm0, xmm0, byte [rdx + rsi], 7 + LONG $0x2079a3c4; WORD $0x3a04; BYTE $0x08 // vpinsrb xmm0, xmm0, byte [rdx + r15], 8 + LONG $0x2079a3c4; WORD $0x0a04; BYTE $0x09 // vpinsrb xmm0, xmm0, byte [rdx + r9], 9 + LONG $0x2079a3c4; WORD $0x0204; BYTE $0x0a // vpinsrb xmm0, xmm0, byte [rdx + r8], 10 + LONG $0x2079e3c4; WORD $0x3a04; BYTE $0x0b // vpinsrb xmm0, xmm0, byte [rdx + rdi], 11 + LONG $0x2079a3c4; WORD $0x3204; BYTE $0x0c // vpinsrb xmm0, xmm0, byte [rdx + r14], 12 + LONG $0x2079a3c4; WORD $0x1204; BYTE $0x0d // vpinsrb xmm0, xmm0, byte [rdx + r10], 13 LONG $0x2079e3c4; WORD $0x0204; BYTE $0x0e // vpinsrb xmm0, xmm0, byte [rdx + rax], 14 LONG $0x2079e3c4; WORD $0x0a04; BYTE $0x0f // vpinsrb xmm0, xmm0, byte [rdx + rcx], 15 - LONG $0x24748b4c; BYTE $0x78 // mov r14, qword [rsp + 120] + QUAD $0x000000c024b48b4c // mov r14, qword [rsp + 192] LONG $0x2061a3c4; WORD $0x321c; BYTE $0x01 // vpinsrb xmm3, xmm3, byte [rdx + r14], 1 - LONG $0x24548b4c; BYTE $0x40 // mov r10, qword [rsp + 64] - LONG $0x2061a3c4; WORD $0x121c; BYTE $0x02 // vpinsrb xmm3, xmm3, byte [rdx + r10], 2 - QUAD $0x000000b024a48b4c // mov r12, qword [rsp + 176] - LONG $0x2061a3c4; WORD $0x221c; BYTE $0x03 // vpinsrb xmm3, xmm3, byte [rdx + r12], 3 - LONG $0x24448b4c; BYTE $0x68 // mov r8, qword [rsp + 104] - LONG $0x2061a3c4; WORD $0x021c; BYTE $0x04 // vpinsrb xmm3, xmm3, byte [rdx + r8], 4 - LONG $0x245c8b4c; BYTE $0x60 // mov r11, qword [rsp + 96] + LONG $0x24648b4c; BYTE $0x78 // mov r12, qword [rsp + 120] + LONG $0x2061a3c4; WORD $0x221c; BYTE $0x02 // vpinsrb xmm3, xmm3, byte [rdx + r12], 2 + LONG $0x24448b4c; BYTE $0x38 // mov r8, qword [rsp + 56] + LONG $0x2061a3c4; WORD $0x021c; BYTE $0x03 // vpinsrb xmm3, xmm3, byte [rdx + r8], 3 + QUAD $0x000000a8248c8b4c // mov r9, qword [rsp + 168] + LONG $0x2061a3c4; WORD $0x0a1c; BYTE $0x04 // vpinsrb xmm3, xmm3, byte [rdx + r9], 4 + QUAD $0x00000088249c8b4c // mov r11, qword [rsp + 136] LONG $0x2061a3c4; WORD $0x1a1c; BYTE $0x05 // vpinsrb xmm3, xmm3, byte [rdx + r11], 5 - QUAD $0x000000a0248c8b4c // mov r9, qword [rsp + 160] - LONG $0x2061a3c4; WORD $0x0a1c; BYTE $0x06 // vpinsrb xmm3, xmm3, byte [rdx + r9], 6 - QUAD $0x0000009024bc8b4c // mov r15, qword [rsp + 144] + QUAD $0x0000009824948b4c // mov r10, qword [rsp + 152] + LONG $0x2061a3c4; WORD $0x121c; BYTE $0x06 // vpinsrb xmm3, xmm3, byte [rdx + r10], 6 + QUAD $0x000000f824bc8b4c // mov r15, qword [rsp + 248] LONG $0x2061a3c4; WORD $0x3a1c; BYTE $0x07 // vpinsrb xmm3, xmm3, byte [rdx + r15], 7 - QUAD $0x0000008824b48b48 // mov rsi, qword [rsp + 136] + QUAD $0x000000a024b48b48 // mov rsi, qword [rsp + 160] LONG $0x2061e3c4; WORD $0x321c; BYTE $0x08 // vpinsrb xmm3, xmm3, byte [rdx + rsi], 8 - QUAD $0x0000009824848b48 // mov rax, qword [rsp + 152] + QUAD $0x000000b024848b48 // mov rax, qword [rsp + 176] LONG $0x2061e3c4; WORD $0x021c; BYTE $0x09 // vpinsrb xmm3, xmm3, byte [rdx + rax], 9 - QUAD $0x00000140249c8b48 // mov rbx, qword [rsp + 320] + LONG $0x245c8b48; BYTE $0x28 // mov rbx, qword [rsp + 40] LONG $0x2061e3c4; WORD $0x1a1c; BYTE $0x0a // vpinsrb xmm3, xmm3, byte [rdx + rbx], 10 - QUAD $0x000000d8248c8b48 // mov rcx, qword [rsp + 216] + QUAD $0x00000080248c8b48 // mov rcx, qword [rsp + 128] LONG $0x2061e3c4; WORD $0x0a1c; BYTE $0x0b // vpinsrb xmm3, xmm3, byte [rdx + rcx], 11 - QUAD $0x0000012024bc8b48 // mov rdi, qword [rsp + 288] + LONG $0x247c8b48; BYTE $0x30 // mov rdi, qword [rsp + 48] LONG $0x2061e3c4; WORD $0x3a1c; BYTE $0x0c // vpinsrb xmm3, xmm3, byte [rdx + rdi], 12 LONG $0x247c8b48; BYTE $0x20 // mov rdi, qword [rsp + 32] LONG $0x2061e3c4; WORD $0x3a1c; BYTE $0x0d // vpinsrb xmm3, xmm3, byte [rdx + rdi], 13 - LONG $0x247c8b48; BYTE $0x48 // mov rdi, qword [rsp + 72] + QUAD $0x0000012024bc8b48 // mov rdi, qword [rsp + 288] LONG $0x2061e3c4; WORD $0x3a1c; BYTE $0x0e // vpinsrb xmm3, xmm3, byte [rdx + rdi], 14 - LONG $0x247c8b48; BYTE $0x38 // mov rdi, qword [rsp + 56] + QUAD $0x0000014024bc8b48 // mov rdi, qword [rsp + 320] LONG $0x2061e3c4; WORD $0x3a1c; BYTE $0x0f // vpinsrb xmm3, xmm3, byte [rdx + rdi], 15 - QUAD $0x000000e824bc8b48 // mov rdi, qword [rsp + 232] + LONG $0x247c8b48; BYTE $0x68 // mov rdi, qword [rsp + 104] QUAD $0x01013a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rdi + 1], 1 - QUAD $0x000000a824bc8b48 // mov rdi, qword [rsp + 168] - QUAD $0x02013a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rdi + 1], 2 - LONG $0x247c8b48; BYTE $0x70 // mov rdi, qword [rsp + 112] + QUAD $0x0000010824ac8b4c // mov r13, qword [rsp + 264] + QUAD $0x02012a642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r13 + 1], 2 + QUAD $0x000000c824bc8b48 // mov rdi, qword [rsp + 200] QUAD $0x03013a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rdi + 1], 3 - QUAD $0x000000f024bc8b48 // mov rdi, qword [rsp + 240] - QUAD $0x04013a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rdi + 1], 4 - QUAD $0x000000f824bc8b48 // mov rdi, qword [rsp + 248] + LONG $0x246c8b4c; BYTE $0x70 // mov r13, qword [rsp + 112] + QUAD $0x04012a642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r13 + 1], 4 + QUAD $0x000000b824bc8b48 // mov rdi, qword [rsp + 184] QUAD $0x05013a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rdi + 1], 5 - LONG $0x247c8b48; BYTE $0x28 // mov rdi, qword [rsp + 40] - QUAD $0x06013a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rdi + 1], 6 + QUAD $0x0000009024ac8b4c // mov r13, qword [rsp + 144] + QUAD $0x06012a642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r13 + 1], 6 + QUAD $0x000000d024ac8b4c // mov r13, qword [rsp + 208] QUAD $0x07012a642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r13 + 1], 7 - QUAD $0x000000c024ac8b4c // mov r13, qword [rsp + 192] - QUAD $0x08012a642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r13 + 1], 8 - QUAD $0x000000b824ac8b4c // mov r13, qword [rsp + 184] - QUAD $0x09012a642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r13 + 1], 9 QUAD $0x000000e024bc8b48 // mov rdi, qword [rsp + 224] - QUAD $0x0a013a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rdi + 1], 10 + QUAD $0x08013a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rdi + 1], 8 + QUAD $0x000000e824bc8b48 // mov rdi, qword [rsp + 232] + QUAD $0x09013a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rdi + 1], 9 LONG $0x247c8b48; BYTE $0x58 // mov rdi, qword [rsp + 88] + QUAD $0x0a013a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rdi + 1], 10 + QUAD $0x000000d824bc8b48 // mov rdi, qword [rsp + 216] QUAD $0x0b013a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rdi + 1], 11 - QUAD $0x0000008024bc8b48 // mov rdi, qword [rsp + 128] + LONG $0x247c8b48; BYTE $0x50 // mov rdi, qword [rsp + 80] QUAD $0x0c013a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rdi + 1], 12 - QUAD $0x000000d024bc8b48 // mov rdi, qword [rsp + 208] + LONG $0x247c8b48; BYTE $0x48 // mov rdi, qword [rsp + 72] QUAD $0x0d013a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rdi + 1], 13 - LONG $0x247c8b48; BYTE $0x30 // mov rdi, qword [rsp + 48] + LONG $0x247c8b48; BYTE $0x40 // mov rdi, qword [rsp + 64] QUAD $0x0e013a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rdi + 1], 14 - LONG $0x247c8b48; BYTE $0x50 // mov rdi, qword [rsp + 80] + LONG $0x247c8b48; BYTE $0x60 // mov rdi, qword [rsp + 96] QUAD $0x0f013a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rdi + 1], 15 QUAD $0x0101326c2029a3c4 // vpinsrb xmm5, xmm10, byte [rdx + r14 + 1], 1 - QUAD $0x0201126c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r10 + 1], 2 - QUAD $0x0301226c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r12 + 1], 3 - QUAD $0x0401026c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r8 + 1], 4 + QUAD $0x0201226c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r12 + 1], 2 + WORD $0x894c; BYTE $0xe7 // mov rdi, r12 + QUAD $0x0301026c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r8 + 1], 3 + QUAD $0x04010a6c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r9 + 1], 4 QUAD $0x05011a6c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r11 + 1], 5 - QUAD $0x06010a6c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r9 + 1], 6 + QUAD $0x0601126c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r10 + 1], 6 QUAD $0x07013a6c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r15 + 1], 7 QUAD $0x0801326c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rsi + 1], 8 QUAD $0x0901026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 1], 9 QUAD $0x0a011a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rbx + 1], 10 QUAD $0x0b010a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rcx + 1], 11 - QUAD $0x0000012024848b48 // mov rax, qword [rsp + 288] + LONG $0x24448b48; BYTE $0x30 // mov rax, qword [rsp + 48] QUAD $0x0c01026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 1], 12 LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] QUAD $0x0d01026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 1], 13 - LONG $0x24448b48; BYTE $0x48 // mov rax, qword [rsp + 72] + QUAD $0x0000012024848b48 // mov rax, qword [rsp + 288] QUAD $0x0e01026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 1], 14 LONG $0x386563c4; WORD $0x01f8 // vinserti128 ymm15, ymm3, xmm0, 1 - LONG $0x24448b48; BYTE $0x38 // mov rax, qword [rsp + 56] + QUAD $0x0000014024848b48 // mov rax, qword [rsp + 320] QUAD $0x0f0102442051e3c4 // vpinsrb xmm0, xmm5, byte [rdx + rax + 1], 15 - QUAD $0x0000010024848b48 // mov rax, qword [rsp + 256] + QUAD $0x000000f024848b48 // mov rax, qword [rsp + 240] LONG $0x0274b60f; BYTE $0x08 // movzx esi, byte [rdx + rax + 8] LONG $0xce6e79c5 // vmovd xmm9, esi LONG $0x387de3c4; WORD $0x01c4 // vinserti128 ymm0, ymm0, xmm4, 1 QUAD $0x0004c024847ffdc5; BYTE $0x00 // vmovdqa yword [rsp + 1216], ymm0 - QUAD $0x0000010824848b48 // mov rax, qword [rsp + 264] + QUAD $0x0000010024848b48 // mov rax, qword [rsp + 256] LONG $0x0274b60f; BYTE $0x08 // movzx esi, byte [rdx + rax + 8] LONG $0xd66e79c5 // vmovd xmm10, esi - QUAD $0x000000e824848b4c // mov r8, qword [rsp + 232] + LONG $0x24448b4c; BYTE $0x68 // mov r8, qword [rsp + 104] QUAD $0x0001e024846ff9c5; BYTE $0x00 // vmovdqa xmm0, oword [rsp + 480] QUAD $0x010202442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r8 + 2], 1 - QUAD $0x000000a8248c8b48 // mov rcx, qword [rsp + 168] - QUAD $0x02020a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 2], 2 - LONG $0x24548b4c; BYTE $0x70 // mov r10, qword [rsp + 112] + QUAD $0x00000108248c8b4c // mov r9, qword [rsp + 264] + QUAD $0x02020a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r9 + 2], 2 + QUAD $0x000000c824948b4c // mov r10, qword [rsp + 200] QUAD $0x030212442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r10 + 2], 3 - QUAD $0x000000f024848b48 // mov rax, qword [rsp + 240] + LONG $0x24448b48; BYTE $0x70 // mov rax, qword [rsp + 112] QUAD $0x040202442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 2], 4 - QUAD $0x000000f824848b48 // mov rax, qword [rsp + 248] + QUAD $0x000000b824848b48 // mov rax, qword [rsp + 184] QUAD $0x050202442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 2], 5 - LONG $0x244c8b4c; BYTE $0x28 // mov r9, qword [rsp + 40] - QUAD $0x06020a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r9 + 2], 6 - QUAD $0x000000c824bc8b48 // mov rdi, qword [rsp + 200] - QUAD $0x07023a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rdi + 2], 7 - QUAD $0x000000c024848b48 // mov rax, qword [rsp + 192] - QUAD $0x080202442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 2], 8 - WORD $0x894d; BYTE $0xec // mov r12, r13 - QUAD $0x09022a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r13 + 2], 9 - QUAD $0x000000e024ac8b4c // mov r13, qword [rsp + 224] + QUAD $0x0000009024848b48 // mov rax, qword [rsp + 144] + QUAD $0x060202442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 2], 6 + QUAD $0x07022a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r13 + 2], 7 + QUAD $0x000000e0248c8b48 // mov rcx, qword [rsp + 224] + QUAD $0x08020a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 2], 8 + QUAD $0x000000e824a48b4c // mov r12, qword [rsp + 232] + QUAD $0x090222442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r12 + 2], 9 + LONG $0x246c8b4c; BYTE $0x58 // mov r13, qword [rsp + 88] QUAD $0x0a022a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r13 + 2], 10 - LONG $0x245c8b4c; BYTE $0x58 // mov r11, qword [rsp + 88] + QUAD $0x000000d8249c8b4c // mov r11, qword [rsp + 216] QUAD $0x0b021a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r11 + 2], 11 - QUAD $0x0000008024b48b4c // mov r14, qword [rsp + 128] + LONG $0x24748b4c; BYTE $0x50 // mov r14, qword [rsp + 80] QUAD $0x0c0232442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r14 + 2], 12 - QUAD $0x000000d024bc8b4c // mov r15, qword [rsp + 208] + LONG $0x247c8b4c; BYTE $0x48 // mov r15, qword [rsp + 72] QUAD $0x0d023a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r15 + 2], 13 - LONG $0x24448b48; BYTE $0x30 // mov rax, qword [rsp + 48] + LONG $0x24448b48; BYTE $0x40 // mov rax, qword [rsp + 64] QUAD $0x0e0202442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 2], 14 - LONG $0x24448b48; BYTE $0x50 // mov rax, qword [rsp + 80] + LONG $0x24448b48; BYTE $0x60 // mov rax, qword [rsp + 96] QUAD $0x0f0202442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 2], 15 - LONG $0x24448b48; BYTE $0x78 // mov rax, qword [rsp + 120] + QUAD $0x000000c024848b48 // mov rax, qword [rsp + 192] QUAD $0x0001c0249c6ff9c5; BYTE $0x00 // vmovdqa xmm3, oword [rsp + 448] QUAD $0x0102025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 2], 1 - LONG $0x24748b48; BYTE $0x40 // mov rsi, qword [rsp + 64] - QUAD $0x0202325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 2], 2 - QUAD $0x000000b024b48b48 // mov rsi, qword [rsp + 176] + QUAD $0x02023a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 2], 2 + LONG $0x24748b48; BYTE $0x38 // mov rsi, qword [rsp + 56] QUAD $0x0302325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 2], 3 - LONG $0x24748b48; BYTE $0x68 // mov rsi, qword [rsp + 104] + QUAD $0x000000a824b48b48 // mov rsi, qword [rsp + 168] QUAD $0x0402325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 2], 4 - LONG $0x24748b48; BYTE $0x60 // mov rsi, qword [rsp + 96] + QUAD $0x0000008824b48b48 // mov rsi, qword [rsp + 136] QUAD $0x0502325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 2], 5 - QUAD $0x000000a024b48b48 // mov rsi, qword [rsp + 160] + QUAD $0x0000009824b48b48 // mov rsi, qword [rsp + 152] QUAD $0x0602325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 2], 6 - QUAD $0x0000009024b48b48 // mov rsi, qword [rsp + 144] + QUAD $0x000000f824b48b48 // mov rsi, qword [rsp + 248] QUAD $0x0702325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 2], 7 - QUAD $0x00000088249c8b48 // mov rbx, qword [rsp + 136] + QUAD $0x000000a0249c8b48 // mov rbx, qword [rsp + 160] QUAD $0x08021a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 2], 8 - QUAD $0x00000098249c8b48 // mov rbx, qword [rsp + 152] - QUAD $0x09021a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 2], 9 - QUAD $0x00000140249c8b48 // mov rbx, qword [rsp + 320] - QUAD $0x0a021a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 2], 10 - QUAD $0x000000d8249c8b48 // mov rbx, qword [rsp + 216] - QUAD $0x0b021a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 2], 11 - QUAD $0x00000120249c8b48 // mov rbx, qword [rsp + 288] - QUAD $0x0c021a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 2], 12 - LONG $0x245c8b48; BYTE $0x20 // mov rbx, qword [rsp + 32] - QUAD $0x0d021a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 2], 13 - LONG $0x245c8b48; BYTE $0x48 // mov rbx, qword [rsp + 72] - QUAD $0x0e021a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 2], 14 - LONG $0x245c8b48; BYTE $0x38 // mov rbx, qword [rsp + 56] - QUAD $0x0f021a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 2], 15 + QUAD $0x000000b024bc8b48 // mov rdi, qword [rsp + 176] + QUAD $0x09023a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 2], 9 + LONG $0x247c8b48; BYTE $0x28 // mov rdi, qword [rsp + 40] + QUAD $0x0a023a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 2], 10 + QUAD $0x0000008024bc8b48 // mov rdi, qword [rsp + 128] + QUAD $0x0b023a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 2], 11 + LONG $0x247c8b48; BYTE $0x30 // mov rdi, qword [rsp + 48] + QUAD $0x0c023a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 2], 12 + LONG $0x247c8b48; BYTE $0x20 // mov rdi, qword [rsp + 32] + QUAD $0x0d023a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 2], 13 + QUAD $0x0000012024bc8b48 // mov rdi, qword [rsp + 288] + QUAD $0x0e023a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 2], 14 + QUAD $0x0000014024bc8b48 // mov rdi, qword [rsp + 320] + QUAD $0x0f023a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 2], 15 QUAD $0x010302642021a3c4 // vpinsrb xmm4, xmm11, byte [rdx + r8 + 3], 1 - QUAD $0x02030a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rcx + 3], 2 + QUAD $0x02030a642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r9 + 3], 2 QUAD $0x030312642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r10 + 3], 3 - QUAD $0x000000f0249c8b48 // mov rbx, qword [rsp + 240] - QUAD $0x04031a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rbx + 3], 4 - QUAD $0x000000f8248c8b48 // mov rcx, qword [rsp + 248] - QUAD $0x05030a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rcx + 3], 5 - QUAD $0x06030a642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r9 + 3], 6 - QUAD $0x07033a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rdi + 3], 7 - QUAD $0x000000c024bc8b48 // mov rdi, qword [rsp + 192] - QUAD $0x08033a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rdi + 3], 8 + LONG $0x247c8b48; BYTE $0x70 // mov rdi, qword [rsp + 112] + QUAD $0x04033a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rdi + 3], 4 + QUAD $0x000000b824848b4c // mov r8, qword [rsp + 184] + QUAD $0x050302642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r8 + 3], 5 + QUAD $0x0000009024bc8b48 // mov rdi, qword [rsp + 144] + QUAD $0x06033a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rdi + 3], 6 + QUAD $0x000000d0248c8b4c // mov r9, qword [rsp + 208] + QUAD $0x07030a642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r9 + 3], 7 + QUAD $0x08030a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rcx + 3], 8 QUAD $0x090322642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r12 + 3], 9 QUAD $0x0a032a642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r13 + 3], 10 QUAD $0x0b031a642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r11 + 3], 11 + WORD $0x894d; BYTE $0xdc // mov r12, r11 QUAD $0x0c0332642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r14 + 3], 12 QUAD $0x0d033a642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r15 + 3], 13 - LONG $0x244c8b4c; BYTE $0x30 // mov r9, qword [rsp + 48] - QUAD $0x0e030a642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r9 + 3], 14 - LONG $0x247c8b4c; BYTE $0x50 // mov r15, qword [rsp + 80] - QUAD $0x0f033a642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r15 + 3], 15 - QUAD $0x0103026c2039e3c4 // vpinsrb xmm5, xmm8, byte [rdx + rax + 3], 1 LONG $0x245c8b4c; BYTE $0x40 // mov r11, qword [rsp + 64] - QUAD $0x02031a6c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r11 + 3], 2 - QUAD $0x000000b024848b48 // mov rax, qword [rsp + 176] + QUAD $0x0e031a642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r11 + 3], 14 + LONG $0x244c8b48; BYTE $0x60 // mov rcx, qword [rsp + 96] + QUAD $0x0f030a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rcx + 3], 15 + QUAD $0x0103026c2039e3c4 // vpinsrb xmm5, xmm8, byte [rdx + rax + 3], 1 + WORD $0x8949; BYTE $0xc5 // mov r13, rax + LONG $0x24448b48; BYTE $0x78 // mov rax, qword [rsp + 120] + QUAD $0x0203026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 3], 2 + LONG $0x24448b48; BYTE $0x38 // mov rax, qword [rsp + 56] QUAD $0x0303026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 3], 3 - LONG $0x24448b48; BYTE $0x68 // mov rax, qword [rsp + 104] + QUAD $0x000000a824848b48 // mov rax, qword [rsp + 168] QUAD $0x0403026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 3], 4 - LONG $0x24548b4c; BYTE $0x60 // mov r10, qword [rsp + 96] - QUAD $0x0503126c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r10 + 3], 5 - QUAD $0x000000a024b48b4c // mov r14, qword [rsp + 160] - QUAD $0x0603326c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r14 + 3], 6 - QUAD $0x0703326c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rsi + 3], 7 QUAD $0x0000008824848b48 // mov rax, qword [rsp + 136] - QUAD $0x0803026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 3], 8 - QUAD $0x00000098249c8b48 // mov rbx, qword [rsp + 152] - QUAD $0x09031a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rbx + 3], 9 - QUAD $0x0000014024848b48 // mov rax, qword [rsp + 320] + QUAD $0x0503026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 3], 5 + QUAD $0x0000009824848b48 // mov rax, qword [rsp + 152] + QUAD $0x0603026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 3], 6 + QUAD $0x0703326c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rsi + 3], 7 + QUAD $0x08031a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rbx + 3], 8 + QUAD $0x000000b024848b48 // mov rax, qword [rsp + 176] + QUAD $0x0903026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 3], 9 + LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] QUAD $0x0a03026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 3], 10 - QUAD $0x000000d824848b48 // mov rax, qword [rsp + 216] + QUAD $0x0000008024848b48 // mov rax, qword [rsp + 128] QUAD $0x0b03026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 3], 11 - QUAD $0x0000012024848b48 // mov rax, qword [rsp + 288] + LONG $0x24448b48; BYTE $0x30 // mov rax, qword [rsp + 48] QUAD $0x0c03026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 3], 12 LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] QUAD $0x0d03026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 3], 13 LONG $0x3865e3c4; WORD $0x01c0 // vinserti128 ymm0, ymm3, xmm0, 1 QUAD $0x0001e024847ffdc5; BYTE $0x00 // vmovdqa yword [rsp + 480], ymm0 - LONG $0x24448b48; BYTE $0x48 // mov rax, qword [rsp + 72] + QUAD $0x0000012024848b48 // mov rax, qword [rsp + 288] QUAD $0x0e0302442051e3c4 // vpinsrb xmm0, xmm5, byte [rdx + rax + 3], 14 - QUAD $0x0000010024848b48 // mov rax, qword [rsp + 256] - LONG $0x0274b60f; BYTE $0x09 // movzx esi, byte [rdx + rax + 9] + QUAD $0x000000f0248c8b48 // mov rcx, qword [rsp + 240] + LONG $0x0a74b60f; BYTE $0x09 // movzx esi, byte [rdx + rcx + 9] LONG $0xc66e79c5 // vmovd xmm8, esi - LONG $0x24648b4c; BYTE $0x38 // mov r12, qword [rsp + 56] - QUAD $0x0f0322442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r12 + 3], 15 + QUAD $0x0000014024848b48 // mov rax, qword [rsp + 320] + QUAD $0x0f0302442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 3], 15 LONG $0x387de3c4; WORD $0x01c4 // vinserti128 ymm0, ymm0, xmm4, 1 QUAD $0x0001c024847ffdc5; BYTE $0x00 // vmovdqa yword [rsp + 448], ymm0 - QUAD $0x0000010824848b48 // mov rax, qword [rsp + 264] - LONG $0x0274b60f; BYTE $0x09 // movzx esi, byte [rdx + rax + 9] + QUAD $0x00000100248c8b48 // mov rcx, qword [rsp + 256] + LONG $0x0a74b60f; BYTE $0x09 // movzx esi, byte [rdx + rcx + 9] LONG $0xde6e79c5 // vmovd xmm11, esi + LONG $0x24748b4c; BYTE $0x68 // mov r14, qword [rsp + 104] QUAD $0x0001a024846ff9c5; BYTE $0x00 // vmovdqa xmm0, oword [rsp + 416] - QUAD $0x010402442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r8 + 4], 1 - QUAD $0x000000a824848b48 // mov rax, qword [rsp + 168] - QUAD $0x020402442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 4], 2 - LONG $0x24448b48; BYTE $0x70 // mov rax, qword [rsp + 112] - QUAD $0x030402442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 4], 3 - QUAD $0x000000f024ac8b4c // mov r13, qword [rsp + 240] - QUAD $0x04042a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r13 + 4], 4 - QUAD $0x05040a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 4], 5 - LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] - QUAD $0x060402442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 4], 6 - QUAD $0x000000c824848b48 // mov rax, qword [rsp + 200] - QUAD $0x070402442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 4], 7 - QUAD $0x08043a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rdi + 4], 8 - QUAD $0x000000b824848b48 // mov rax, qword [rsp + 184] - QUAD $0x090402442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 4], 9 - QUAD $0x000000e024848b48 // mov rax, qword [rsp + 224] - QUAD $0x0a0402442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 4], 10 + QUAD $0x010432442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r14 + 4], 1 + QUAD $0x0000010824bc8b4c // mov r15, qword [rsp + 264] + QUAD $0x02043a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r15 + 4], 2 + QUAD $0x030412442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r10 + 4], 3 + LONG $0x247c8b48; BYTE $0x70 // mov rdi, qword [rsp + 112] + QUAD $0x04043a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rdi + 4], 4 + WORD $0x894c; BYTE $0xc1 // mov rcx, r8 + QUAD $0x050402442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r8 + 4], 5 + QUAD $0x00000090249c8b48 // mov rbx, qword [rsp + 144] + QUAD $0x06041a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rbx + 4], 6 + QUAD $0x07040a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r9 + 4], 7 + QUAD $0x000000e0248c8b4c // mov r9, qword [rsp + 224] + QUAD $0x08040a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r9 + 4], 8 + QUAD $0x000000e824848b4c // mov r8, qword [rsp + 232] + QUAD $0x090402442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r8 + 4], 9 LONG $0x24448b48; BYTE $0x58 // mov rax, qword [rsp + 88] - QUAD $0x0b0402442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 4], 11 - QUAD $0x0000008024848b48 // mov rax, qword [rsp + 128] - QUAD $0x0c0402442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 4], 12 - QUAD $0x000000d024848b48 // mov rax, qword [rsp + 208] - QUAD $0x0d0402442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 4], 13 - QUAD $0x0e040a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r9 + 4], 14 - QUAD $0x0f043a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r15 + 4], 15 - LONG $0x24448b48; BYTE $0x78 // mov rax, qword [rsp + 120] - QUAD $0x0104025c2011e3c4 // vpinsrb xmm3, xmm13, byte [rdx + rax + 4], 1 - QUAD $0x02041a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r11 + 4], 2 - QUAD $0x000000b0249c8b4c // mov r11, qword [rsp + 176] - QUAD $0x03041a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r11 + 4], 3 - LONG $0x24448b48; BYTE $0x68 // mov rax, qword [rsp + 104] - QUAD $0x0404025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 4], 4 - QUAD $0x0504125c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r10 + 4], 5 - WORD $0x894c; BYTE $0xf6 // mov rsi, r14 - QUAD $0x0604325c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r14 + 4], 6 - QUAD $0x0000009024948b4c // mov r10, qword [rsp + 144] - QUAD $0x0704125c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r10 + 4], 7 - QUAD $0x00000088248c8b4c // mov r9, qword [rsp + 136] - QUAD $0x08040a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r9 + 4], 8 - QUAD $0x09041a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 4], 9 - QUAD $0x00000140249c8b48 // mov rbx, qword [rsp + 320] - QUAD $0x0a041a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 4], 10 - QUAD $0x000000d824b48b4c // mov r14, qword [rsp + 216] - QUAD $0x0b04325c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r14 + 4], 11 - QUAD $0x00000120249c8b48 // mov rbx, qword [rsp + 288] - QUAD $0x0c041a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 4], 12 - LONG $0x245c8b48; BYTE $0x20 // mov rbx, qword [rsp + 32] - QUAD $0x0d041a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 4], 13 - LONG $0x247c8b4c; BYTE $0x48 // mov r15, qword [rsp + 72] - QUAD $0x0e043a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r15 + 4], 14 - QUAD $0x0f04225c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r12 + 4], 15 - QUAD $0x010502642009a3c4 // vpinsrb xmm4, xmm14, byte [rdx + r8 + 5], 1 - QUAD $0x000000a824bc8b4c // mov r15, qword [rsp + 168] + QUAD $0x0a0402442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 4], 10 + QUAD $0x0b0422442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r12 + 4], 11 + LONG $0x24748b48; BYTE $0x50 // mov rsi, qword [rsp + 80] + QUAD $0x0c0432442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 4], 12 + LONG $0x24748b48; BYTE $0x48 // mov rsi, qword [rsp + 72] + QUAD $0x0d0432442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 4], 13 + QUAD $0x0e041a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r11 + 4], 14 + LONG $0x24648b4c; BYTE $0x60 // mov r12, qword [rsp + 96] + QUAD $0x0f0422442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r12 + 4], 15 + QUAD $0x01042a5c2011a3c4 // vpinsrb xmm3, xmm13, byte [rdx + r13 + 4], 1 + LONG $0x24748b48; BYTE $0x78 // mov rsi, qword [rsp + 120] + QUAD $0x0204325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 4], 2 + LONG $0x24748b48; BYTE $0x38 // mov rsi, qword [rsp + 56] + QUAD $0x0304325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 4], 3 + QUAD $0x000000a824b48b48 // mov rsi, qword [rsp + 168] + QUAD $0x0404325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 4], 4 + QUAD $0x0000008824848b48 // mov rax, qword [rsp + 136] + QUAD $0x0504025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 4], 5 + QUAD $0x0000009824b48b48 // mov rsi, qword [rsp + 152] + QUAD $0x0604325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 4], 6 + QUAD $0x000000f824848b48 // mov rax, qword [rsp + 248] + QUAD $0x0704025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 4], 7 + QUAD $0x000000a024848b48 // mov rax, qword [rsp + 160] + QUAD $0x0804025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 4], 8 + QUAD $0x000000b024848b48 // mov rax, qword [rsp + 176] + QUAD $0x0904025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 4], 9 + LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] + QUAD $0x0a04025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 4], 10 + QUAD $0x00000080249c8b4c // mov r11, qword [rsp + 128] + QUAD $0x0b041a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r11 + 4], 11 + LONG $0x245c8b4c; BYTE $0x30 // mov r11, qword [rsp + 48] + QUAD $0x0c041a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r11 + 4], 12 + LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] + QUAD $0x0d04025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 4], 13 + QUAD $0x0000012024848b48 // mov rax, qword [rsp + 288] + QUAD $0x0e04025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 4], 14 + QUAD $0x0000014024848b48 // mov rax, qword [rsp + 320] + QUAD $0x0f04025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 4], 15 + QUAD $0x010532642009a3c4 // vpinsrb xmm4, xmm14, byte [rdx + r14 + 5], 1 QUAD $0x02053a642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r15 + 5], 2 - LONG $0x245c8b48; BYTE $0x70 // mov rbx, qword [rsp + 112] - QUAD $0x03051a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rbx + 5], 3 - QUAD $0x04052a642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r13 + 5], 4 + WORD $0x894d; BYTE $0xfe // mov r14, r15 + QUAD $0x030512642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r10 + 5], 3 + QUAD $0x04053a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rdi + 5], 4 QUAD $0x05050a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rcx + 5], 5 - LONG $0x244c8b48; BYTE $0x28 // mov rcx, qword [rsp + 40] - QUAD $0x06050a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rcx + 5], 6 - QUAD $0x000000c8248c8b48 // mov rcx, qword [rsp + 200] - QUAD $0x07050a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rcx + 5], 7 - QUAD $0x08053a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rdi + 5], 8 - QUAD $0x000000b8248c8b48 // mov rcx, qword [rsp + 184] - QUAD $0x09050a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rcx + 5], 9 - QUAD $0x000000e0248c8b48 // mov rcx, qword [rsp + 224] - QUAD $0x0a050a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rcx + 5], 10 - LONG $0x247c8b48; BYTE $0x58 // mov rdi, qword [rsp + 88] - QUAD $0x0b053a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rdi + 5], 11 - QUAD $0x0000008024bc8b48 // mov rdi, qword [rsp + 128] - QUAD $0x0c053a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rdi + 5], 12 - QUAD $0x000000d024ac8b4c // mov r13, qword [rsp + 208] - QUAD $0x0d052a642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r13 + 5], 13 - LONG $0x247c8b48; BYTE $0x30 // mov rdi, qword [rsp + 48] - QUAD $0x0e053a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rdi + 5], 14 - LONG $0x247c8b48; BYTE $0x50 // mov rdi, qword [rsp + 80] - QUAD $0x0f053a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rdi + 5], 15 - LONG $0x247c8b48; BYTE $0x78 // mov rdi, qword [rsp + 120] - QUAD $0x01053a6c2049e3c4 // vpinsrb xmm5, xmm6, byte [rdx + rdi + 5], 1 - LONG $0x247c8b48; BYTE $0x40 // mov rdi, qword [rsp + 64] - QUAD $0x02053a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rdi + 5], 2 - QUAD $0x03051a6c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r11 + 5], 3 + WORD $0x8949; BYTE $0xca // mov r10, rcx + QUAD $0x06051a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rbx + 5], 6 + QUAD $0x000000d024bc8b4c // mov r15, qword [rsp + 208] + QUAD $0x07053a642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r15 + 5], 7 + QUAD $0x08050a642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r9 + 5], 8 + QUAD $0x090502642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r8 + 5], 9 + LONG $0x24448b4c; BYTE $0x58 // mov r8, qword [rsp + 88] + QUAD $0x0a0502642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r8 + 5], 10 + QUAD $0x000000d8248c8b48 // mov rcx, qword [rsp + 216] + QUAD $0x0b050a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rcx + 5], 11 + LONG $0x24448b48; BYTE $0x50 // mov rax, qword [rsp + 80] + QUAD $0x0c0502642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rax + 5], 12 + LONG $0x24448b48; BYTE $0x48 // mov rax, qword [rsp + 72] + QUAD $0x0d0502642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rax + 5], 13 + LONG $0x24448b48; BYTE $0x40 // mov rax, qword [rsp + 64] + QUAD $0x0e0502642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rax + 5], 14 + QUAD $0x0f0522642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r12 + 5], 15 + QUAD $0x01052a6c2049a3c4 // vpinsrb xmm5, xmm6, byte [rdx + r13 + 5], 1 + LONG $0x24448b48; BYTE $0x78 // mov rax, qword [rsp + 120] + QUAD $0x0205026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 5], 2 + LONG $0x24448b48; BYTE $0x38 // mov rax, qword [rsp + 56] + QUAD $0x0305026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 5], 3 + QUAD $0x000000a824848b48 // mov rax, qword [rsp + 168] QUAD $0x0405026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 5], 4 - LONG $0x24448b48; BYTE $0x60 // mov rax, qword [rsp + 96] + QUAD $0x0000008824848b48 // mov rax, qword [rsp + 136] QUAD $0x0505026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 5], 5 QUAD $0x0605326c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rsi + 5], 6 - QUAD $0x0705126c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r10 + 5], 7 - QUAD $0x08050a6c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r9 + 5], 8 - QUAD $0x00000098248c8b4c // mov r9, qword [rsp + 152] - QUAD $0x09050a6c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r9 + 5], 9 - QUAD $0x0000014024848b48 // mov rax, qword [rsp + 320] + QUAD $0x000000f8249c8b48 // mov rbx, qword [rsp + 248] + QUAD $0x07051a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rbx + 5], 7 + QUAD $0x000000a024848b48 // mov rax, qword [rsp + 160] + QUAD $0x0805026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 5], 8 + QUAD $0x000000b024848b48 // mov rax, qword [rsp + 176] + QUAD $0x0905026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 5], 9 + LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] QUAD $0x0a05026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 5], 10 - QUAD $0x0b05326c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r14 + 5], 11 - QUAD $0x0000012024848b48 // mov rax, qword [rsp + 288] - QUAD $0x0c05026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 5], 12 + QUAD $0x0000008024ac8b4c // mov r13, qword [rsp + 128] + QUAD $0x0b052a6c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r13 + 5], 11 + QUAD $0x0c051a6c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r11 + 5], 12 + WORD $0x894d; BYTE $0xdc // mov r12, r11 LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] QUAD $0x0d05026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 5], 13 - LONG $0x24448b48; BYTE $0x48 // mov rax, qword [rsp + 72] + QUAD $0x0000012024848b48 // mov rax, qword [rsp + 288] QUAD $0x0e05026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 5], 14 LONG $0x386563c4; WORD $0x01f0 // vinserti128 ymm14, ymm3, xmm0, 1 - QUAD $0x0f0522442051a3c4 // vpinsrb xmm0, xmm5, byte [rdx + r12 + 5], 15 - QUAD $0x0000010024848b48 // mov rax, qword [rsp + 256] + QUAD $0x0000014024848b48 // mov rax, qword [rsp + 320] + QUAD $0x0f0502442051e3c4 // vpinsrb xmm0, xmm5, byte [rdx + rax + 5], 15 + QUAD $0x000000f024848b48 // mov rax, qword [rsp + 240] LONG $0x0274b60f; BYTE $0x0a // movzx esi, byte [rdx + rax + 10] LONG $0xde6ef9c5 // vmovd xmm3, esi LONG $0x387de3c4; WORD $0x01c4 // vinserti128 ymm0, ymm0, xmm4, 1 QUAD $0x0001a024847ffdc5; BYTE $0x00 // vmovdqa yword [rsp + 416], ymm0 - QUAD $0x0000010824848b48 // mov rax, qword [rsp + 264] - LONG $0x0274b60f; BYTE $0x0a // movzx esi, byte [rdx + rax + 10] + QUAD $0x0000010024b48b48 // mov rsi, qword [rsp + 256] + LONG $0x3274b60f; BYTE $0x0a // movzx esi, byte [rdx + rsi + 10] LONG $0xe66ef9c5 // vmovd xmm4, esi - WORD $0x894d; BYTE $0xc6 // mov r14, r8 - QUAD $0x010602442019a3c4 // vpinsrb xmm0, xmm12, byte [rdx + r8 + 6], 1 - QUAD $0x02063a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r15 + 6], 2 - QUAD $0x03061a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rbx + 6], 3 - QUAD $0x000000f0249c8b4c // mov r11, qword [rsp + 240] - QUAD $0x04061a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r11 + 6], 4 - QUAD $0x000000f824848b4c // mov r8, qword [rsp + 248] - QUAD $0x050602442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r8 + 6], 5 - LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] + LONG $0x247c8b48; BYTE $0x68 // mov rdi, qword [rsp + 104] + QUAD $0x01063a442019e3c4 // vpinsrb xmm0, xmm12, byte [rdx + rdi + 6], 1 + QUAD $0x020632442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r14 + 6], 2 + QUAD $0x000000c824848b48 // mov rax, qword [rsp + 200] + QUAD $0x030602442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 6], 3 + LONG $0x24748b4c; BYTE $0x70 // mov r14, qword [rsp + 112] + QUAD $0x040632442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r14 + 6], 4 + QUAD $0x050612442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r10 + 6], 5 + QUAD $0x0000009024848b48 // mov rax, qword [rsp + 144] QUAD $0x060602442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 6], 6 - QUAD $0x000000c824bc8b48 // mov rdi, qword [rsp + 200] - QUAD $0x07063a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rdi + 6], 7 - QUAD $0x000000c024848b48 // mov rax, qword [rsp + 192] - QUAD $0x080602442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 6], 8 - QUAD $0x000000b824848b48 // mov rax, qword [rsp + 184] - QUAD $0x090602442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 6], 9 - QUAD $0x0a060a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 6], 10 - LONG $0x24548b4c; BYTE $0x58 // mov r10, qword [rsp + 88] - QUAD $0x0b0612442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r10 + 6], 11 - QUAD $0x0000008024848b48 // mov rax, qword [rsp + 128] - QUAD $0x0c0602442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 6], 12 - QUAD $0x0d062a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r13 + 6], 13 - LONG $0x244c8b48; BYTE $0x30 // mov rcx, qword [rsp + 48] - QUAD $0x0e060a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 6], 14 - LONG $0x244c8b48; BYTE $0x50 // mov rcx, qword [rsp + 80] - QUAD $0x0f060a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 6], 15 - LONG $0x244c8b48; BYTE $0x78 // mov rcx, qword [rsp + 120] + QUAD $0x07063a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r15 + 6], 7 + QUAD $0x08060a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r9 + 6], 8 + QUAD $0x000000e824b48b48 // mov rsi, qword [rsp + 232] + QUAD $0x090632442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 6], 9 + QUAD $0x0a0602442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r8 + 6], 10 + QUAD $0x0b060a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 6], 11 + LONG $0x24448b4c; BYTE $0x50 // mov r8, qword [rsp + 80] + QUAD $0x0c0602442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r8 + 6], 12 + LONG $0x244c8b4c; BYTE $0x48 // mov r9, qword [rsp + 72] + QUAD $0x0d060a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r9 + 6], 13 + LONG $0x24748b48; BYTE $0x40 // mov rsi, qword [rsp + 64] + QUAD $0x0e0632442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 6], 14 + LONG $0x24548b4c; BYTE $0x60 // mov r10, qword [rsp + 96] + QUAD $0x0f0612442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r10 + 6], 15 + QUAD $0x000000c0248c8b48 // mov rcx, qword [rsp + 192] QUAD $0x01060a6c2041e3c4 // vpinsrb xmm5, xmm7, byte [rdx + rcx + 6], 1 - LONG $0x244c8b48; BYTE $0x40 // mov rcx, qword [rsp + 64] - QUAD $0x02060a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rcx + 6], 2 - QUAD $0x000000b0248c8b48 // mov rcx, qword [rsp + 176] - QUAD $0x03060a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rcx + 6], 3 - LONG $0x244c8b48; BYTE $0x68 // mov rcx, qword [rsp + 104] - QUAD $0x04060a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rcx + 6], 4 - LONG $0x24748b48; BYTE $0x60 // mov rsi, qword [rsp + 96] + LONG $0x24748b48; BYTE $0x78 // mov rsi, qword [rsp + 120] + QUAD $0x0206326c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rsi + 6], 2 + LONG $0x24748b48; BYTE $0x38 // mov rsi, qword [rsp + 56] + QUAD $0x0306326c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rsi + 6], 3 + QUAD $0x000000a824b48b48 // mov rsi, qword [rsp + 168] + QUAD $0x0406326c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rsi + 6], 4 + QUAD $0x0000008824b48b48 // mov rsi, qword [rsp + 136] QUAD $0x0506326c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rsi + 6], 5 - QUAD $0x000000a0249c8b48 // mov rbx, qword [rsp + 160] - QUAD $0x06061a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rbx + 6], 6 - QUAD $0x00000090248c8b48 // mov rcx, qword [rsp + 144] - QUAD $0x07060a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rcx + 6], 7 - QUAD $0x00000088248c8b48 // mov rcx, qword [rsp + 136] - QUAD $0x08060a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rcx + 6], 8 - QUAD $0x09060a6c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r9 + 6], 9 - QUAD $0x00000140248c8b48 // mov rcx, qword [rsp + 320] + QUAD $0x00000098248c8b48 // mov rcx, qword [rsp + 152] + QUAD $0x06060a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rcx + 6], 6 + QUAD $0x07061a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rbx + 6], 7 + QUAD $0x000000a0249c8b4c // mov r11, qword [rsp + 160] + QUAD $0x08061a6c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r11 + 6], 8 + QUAD $0x000000b0249c8b48 // mov rbx, qword [rsp + 176] + QUAD $0x09061a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rbx + 6], 9 + LONG $0x244c8b48; BYTE $0x28 // mov rcx, qword [rsp + 40] QUAD $0x0a060a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rcx + 6], 10 - QUAD $0x000000d824a48b4c // mov r12, qword [rsp + 216] - QUAD $0x0b06226c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r12 + 6], 11 - QUAD $0x00000120248c8b4c // mov r9, qword [rsp + 288] - QUAD $0x0c060a6c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r9 + 6], 12 - LONG $0x246c8b4c; BYTE $0x20 // mov r13, qword [rsp + 32] - QUAD $0x0d062a6c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r13 + 6], 13 - LONG $0x244c8b48; BYTE $0x48 // mov rcx, qword [rsp + 72] + WORD $0x894d; BYTE $0xef // mov r15, r13 + QUAD $0x0b062a6c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r13 + 6], 11 + QUAD $0x0c06226c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r12 + 6], 12 + LONG $0x244c8b48; BYTE $0x20 // mov rcx, qword [rsp + 32] + QUAD $0x0d060a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rcx + 6], 13 + QUAD $0x00000120248c8b48 // mov rcx, qword [rsp + 288] QUAD $0x0e060a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rcx + 6], 14 - LONG $0x246c8b4c; BYTE $0x38 // mov r13, qword [rsp + 56] + QUAD $0x0000014024ac8b4c // mov r13, qword [rsp + 320] QUAD $0x0f062a6c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r13 + 6], 15 - QUAD $0x010732542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r14 + 7], 1 - QUAD $0x02073a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r15 + 7], 2 - LONG $0x246c8b4c; BYTE $0x70 // mov r13, qword [rsp + 112] - QUAD $0x03072a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r13 + 7], 3 - QUAD $0x04071a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r11 + 7], 4 - QUAD $0x050702542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r8 + 7], 5 - LONG $0x244c8b48; BYTE $0x28 // mov rcx, qword [rsp + 40] - QUAD $0x06070a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 7], 6 - QUAD $0x07073a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 7], 7 - QUAD $0x000000c024b48b4c // mov r14, qword [rsp + 192] - QUAD $0x080732542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r14 + 7], 8 - QUAD $0x000000b8248c8b48 // mov rcx, qword [rsp + 184] - QUAD $0x09070a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 7], 9 - QUAD $0x000000e0248c8b48 // mov rcx, qword [rsp + 224] - QUAD $0x0a070a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 7], 10 - QUAD $0x0b0712542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r10 + 7], 11 - QUAD $0x0c0702542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 7], 12 + QUAD $0x01073a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 7], 1 + QUAD $0x0000010824ac8b4c // mov r13, qword [rsp + 264] + QUAD $0x02072a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r13 + 7], 2 + QUAD $0x000000c824bc8b48 // mov rdi, qword [rsp + 200] + QUAD $0x03073a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 7], 3 + QUAD $0x040732542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r14 + 7], 4 + QUAD $0x000000b824bc8b48 // mov rdi, qword [rsp + 184] + QUAD $0x05073a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 7], 5 + QUAD $0x060702542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 7], 6 QUAD $0x000000d024848b48 // mov rax, qword [rsp + 208] - QUAD $0x0d0702542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 7], 13 - LONG $0x247c8b4c; BYTE $0x30 // mov r15, qword [rsp + 48] - QUAD $0x0e073a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r15 + 7], 14 - LONG $0x244c8b48; BYTE $0x50 // mov rcx, qword [rsp + 80] - QUAD $0x0f070a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 7], 15 + QUAD $0x070702542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 7], 7 + QUAD $0x000000e0248c8b48 // mov rcx, qword [rsp + 224] + QUAD $0x08070a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 7], 8 + QUAD $0x000000e8248c8b48 // mov rcx, qword [rsp + 232] + QUAD $0x09070a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 7], 9 + LONG $0x247c8b48; BYTE $0x58 // mov rdi, qword [rsp + 88] + QUAD $0x0a073a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 7], 10 + QUAD $0x000000d824bc8b48 // mov rdi, qword [rsp + 216] + QUAD $0x0b073a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 7], 11 + QUAD $0x0c0702542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r8 + 7], 12 + QUAD $0x0d070a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r9 + 7], 13 + LONG $0x244c8b48; BYTE $0x40 // mov rcx, qword [rsp + 64] + QUAD $0x0e070a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 7], 14 + QUAD $0x0f0712542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r10 + 7], 15 + QUAD $0x000000c024b48b4c // mov r14, qword [rsp + 192] + QUAD $0x0107324c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r14 + 7], 1 LONG $0x244c8b48; BYTE $0x78 // mov rcx, qword [rsp + 120] - QUAD $0x01070a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 7], 1 - LONG $0x247c8b48; BYTE $0x40 // mov rdi, qword [rsp + 64] - QUAD $0x02073a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 7], 2 - QUAD $0x000000b0248c8b48 // mov rcx, qword [rsp + 176] + QUAD $0x02070a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 7], 2 + LONG $0x244c8b48; BYTE $0x38 // mov rcx, qword [rsp + 56] QUAD $0x03070a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 7], 3 - LONG $0x247c8b48; BYTE $0x68 // mov rdi, qword [rsp + 104] - QUAD $0x04073a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 7], 4 + QUAD $0x000000a8248c8b48 // mov rcx, qword [rsp + 168] + QUAD $0x04070a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 7], 4 QUAD $0x0507324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 7], 5 - QUAD $0x06071a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rbx + 7], 6 - QUAD $0x0000009024b48b48 // mov rsi, qword [rsp + 144] - QUAD $0x0707324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 7], 7 - QUAD $0x00000088248c8b48 // mov rcx, qword [rsp + 136] - QUAD $0x08070a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 7], 8 - QUAD $0x0000009824bc8b48 // mov rdi, qword [rsp + 152] - QUAD $0x09073a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 7], 9 - QUAD $0x00000140248c8b48 // mov rcx, qword [rsp + 320] + QUAD $0x00000098248c8b48 // mov rcx, qword [rsp + 152] + QUAD $0x06070a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 7], 6 + QUAD $0x000000f8248c8b48 // mov rcx, qword [rsp + 248] + QUAD $0x07070a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 7], 7 + QUAD $0x08071a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r11 + 7], 8 + QUAD $0x09071a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rbx + 7], 9 + LONG $0x244c8b48; BYTE $0x28 // mov rcx, qword [rsp + 40] QUAD $0x0a070a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 7], 10 - QUAD $0x0b07224c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r12 + 7], 11 - QUAD $0x0c070a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r9 + 7], 12 + QUAD $0x0b073a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r15 + 7], 11 + QUAD $0x0c07224c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r12 + 7], 12 LONG $0x244c8b48; BYTE $0x20 // mov rcx, qword [rsp + 32] QUAD $0x0d070a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 7], 13 LONG $0x3855e3c4; WORD $0x01c0 // vinserti128 ymm0, ymm5, xmm0, 1 QUAD $0x0004a024847ffdc5; BYTE $0x00 // vmovdqa yword [rsp + 1184], ymm0 - LONG $0x244c8b48; BYTE $0x48 // mov rcx, qword [rsp + 72] + QUAD $0x00000120248c8b48 // mov rcx, qword [rsp + 288] QUAD $0x0e070a442071e3c4 // vpinsrb xmm0, xmm1, byte [rdx + rcx + 7], 14 - QUAD $0x00000100248c8b48 // mov rcx, qword [rsp + 256] + QUAD $0x000000f0248c8b48 // mov rcx, qword [rsp + 240] LONG $0x0a74b60f; BYTE $0x0b // movzx esi, byte [rdx + rcx + 11] LONG $0xce6ef9c5 // vmovd xmm1, esi - LONG $0x24648b4c; BYTE $0x38 // mov r12, qword [rsp + 56] - QUAD $0x0f0722442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r12 + 7], 15 + QUAD $0x00000140248c8b48 // mov rcx, qword [rsp + 320] + QUAD $0x0f070a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 7], 15 LONG $0x387de3c4; WORD $0x01c2 // vinserti128 ymm0, ymm0, xmm2, 1 QUAD $0x00048024847ffdc5; BYTE $0x00 // vmovdqa yword [rsp + 1152], ymm0 - QUAD $0x00000108248c8b48 // mov rcx, qword [rsp + 264] + QUAD $0x00000100248c8b48 // mov rcx, qword [rsp + 256] LONG $0x0a74b60f; BYTE $0x0b // movzx esi, byte [rdx + rcx + 11] LONG $0xd66ef9c5 // vmovd xmm2, esi - QUAD $0x000000e8248c8b48 // mov rcx, qword [rsp + 232] + LONG $0x244c8b48; BYTE $0x68 // mov rcx, qword [rsp + 104] QUAD $0x01080a442031e3c4 // vpinsrb xmm0, xmm9, byte [rdx + rcx + 8], 1 - QUAD $0x000000a824848b4c // mov r8, qword [rsp + 168] - QUAD $0x020802442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r8 + 8], 2 - QUAD $0x03082a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r13 + 8], 3 - WORD $0x894d; BYTE $0xdd // mov r13, r11 - QUAD $0x04081a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r11 + 8], 4 - QUAD $0x000000f8249c8b4c // mov r11, qword [rsp + 248] - QUAD $0x05081a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r11 + 8], 5 - LONG $0x244c8b48; BYTE $0x28 // mov rcx, qword [rsp + 40] - QUAD $0x06080a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 8], 6 - QUAD $0x000000c824b48b48 // mov rsi, qword [rsp + 200] - QUAD $0x070832442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 8], 7 - QUAD $0x080832442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r14 + 8], 8 - QUAD $0x000000b824948b4c // mov r10, qword [rsp + 184] - QUAD $0x090812442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r10 + 8], 9 - QUAD $0x000000e0249c8b48 // mov rbx, qword [rsp + 224] + WORD $0x894d; BYTE $0xef // mov r15, r13 + QUAD $0x02082a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r13 + 8], 2 + QUAD $0x000000c8248c8b48 // mov rcx, qword [rsp + 200] + QUAD $0x03080a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 8], 3 + LONG $0x24748b48; BYTE $0x70 // mov rsi, qword [rsp + 112] + QUAD $0x040832442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 8], 4 + QUAD $0x000000b824ac8b4c // mov r13, qword [rsp + 184] + QUAD $0x05082a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r13 + 8], 5 + QUAD $0x0000009024b48b48 // mov rsi, qword [rsp + 144] + QUAD $0x060832442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 8], 6 + WORD $0x8949; BYTE $0xc0 // mov r8, rax + QUAD $0x070802442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 8], 7 + QUAD $0x000000e024bc8b48 // mov rdi, qword [rsp + 224] + QUAD $0x08083a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rdi + 8], 8 + QUAD $0x000000e824a48b4c // mov r12, qword [rsp + 232] + QUAD $0x090822442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r12 + 8], 9 + LONG $0x245c8b48; BYTE $0x58 // mov rbx, qword [rsp + 88] QUAD $0x0a081a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rbx + 8], 10 - LONG $0x24748b48; BYTE $0x58 // mov rsi, qword [rsp + 88] - QUAD $0x0b0832442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 8], 11 - QUAD $0x0000008024b48b48 // mov rsi, qword [rsp + 128] - QUAD $0x0c0832442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 8], 12 + QUAD $0x000000d8248c8b4c // mov r9, qword [rsp + 216] + QUAD $0x0b080a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r9 + 8], 11 + LONG $0x24548b4c; BYTE $0x50 // mov r10, qword [rsp + 80] + QUAD $0x0c0812442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r10 + 8], 12 + LONG $0x24448b48; BYTE $0x48 // mov rax, qword [rsp + 72] QUAD $0x0d0802442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 8], 13 - QUAD $0x0e083a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r15 + 8], 14 - LONG $0x24448b48; BYTE $0x50 // mov rax, qword [rsp + 80] + LONG $0x24448b48; BYTE $0x40 // mov rax, qword [rsp + 64] + QUAD $0x0e0802442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 8], 14 + LONG $0x24448b48; BYTE $0x60 // mov rax, qword [rsp + 96] QUAD $0x0f0802442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 8], 15 + QUAD $0x0108326c2029a3c4 // vpinsrb xmm5, xmm10, byte [rdx + r14 + 8], 1 LONG $0x24448b48; BYTE $0x78 // mov rax, qword [rsp + 120] - QUAD $0x0108026c2029e3c4 // vpinsrb xmm5, xmm10, byte [rdx + rax + 8], 1 - LONG $0x244c8b4c; BYTE $0x40 // mov r9, qword [rsp + 64] - QUAD $0x02080a6c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r9 + 8], 2 - QUAD $0x000000b024bc8b4c // mov r15, qword [rsp + 176] - QUAD $0x03083a6c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r15 + 8], 3 - LONG $0x24748b48; BYTE $0x68 // mov rsi, qword [rsp + 104] + QUAD $0x0208026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 8], 2 + LONG $0x24448b48; BYTE $0x38 // mov rax, qword [rsp + 56] + QUAD $0x0308026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 8], 3 + QUAD $0x000000a824b48b48 // mov rsi, qword [rsp + 168] QUAD $0x0408326c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rsi + 8], 4 - LONG $0x24448b48; BYTE $0x60 // mov rax, qword [rsp + 96] - QUAD $0x0508026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 8], 5 - QUAD $0x000000a024b48b4c // mov r14, qword [rsp + 160] - QUAD $0x0608326c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r14 + 8], 6 - QUAD $0x0000009024848b48 // mov rax, qword [rsp + 144] - QUAD $0x0708026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 8], 7 QUAD $0x0000008824848b48 // mov rax, qword [rsp + 136] - QUAD $0x0808026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 8], 8 - QUAD $0x09083a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rdi + 8], 9 - QUAD $0x0000014024848b48 // mov rax, qword [rsp + 320] + QUAD $0x0508026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 8], 5 + QUAD $0x0000009824848b48 // mov rax, qword [rsp + 152] + QUAD $0x0608026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 8], 6 + QUAD $0x000000f824b48b4c // mov r14, qword [rsp + 248] + QUAD $0x0708326c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r14 + 8], 7 + QUAD $0x08081a6c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r11 + 8], 8 + QUAD $0x000000b024848b48 // mov rax, qword [rsp + 176] + QUAD $0x0908026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 8], 9 + LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] QUAD $0x0a08026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 8], 10 - QUAD $0x000000d824848b48 // mov rax, qword [rsp + 216] + QUAD $0x0000008024848b48 // mov rax, qword [rsp + 128] QUAD $0x0b08026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 8], 11 - QUAD $0x0000012024bc8b48 // mov rdi, qword [rsp + 288] - QUAD $0x0c083a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rdi + 8], 12 - LONG $0x247c8b48; BYTE $0x20 // mov rdi, qword [rsp + 32] - QUAD $0x0d083a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rdi + 8], 13 - LONG $0x247c8b48; BYTE $0x48 // mov rdi, qword [rsp + 72] - QUAD $0x0e083a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rdi + 8], 14 - QUAD $0x0f08226c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r12 + 8], 15 - QUAD $0x000000e824a48b4c // mov r12, qword [rsp + 232] - QUAD $0x010922742039a3c4 // vpinsrb xmm6, xmm8, byte [rdx + r12 + 9], 1 - QUAD $0x020902742049a3c4 // vpinsrb xmm6, xmm6, byte [rdx + r8 + 9], 2 - LONG $0x247c8b48; BYTE $0x70 // mov rdi, qword [rsp + 112] - QUAD $0x03093a742049e3c4 // vpinsrb xmm6, xmm6, byte [rdx + rdi + 9], 3 - QUAD $0x04092a742049a3c4 // vpinsrb xmm6, xmm6, byte [rdx + r13 + 9], 4 - QUAD $0x05091a742049a3c4 // vpinsrb xmm6, xmm6, byte [rdx + r11 + 9], 5 - QUAD $0x06090a742049e3c4 // vpinsrb xmm6, xmm6, byte [rdx + rcx + 9], 6 - QUAD $0x000000c8248c8b48 // mov rcx, qword [rsp + 200] - QUAD $0x07090a742049e3c4 // vpinsrb xmm6, xmm6, byte [rdx + rcx + 9], 7 - QUAD $0x000000c0248c8b48 // mov rcx, qword [rsp + 192] - QUAD $0x08090a742049e3c4 // vpinsrb xmm6, xmm6, byte [rdx + rcx + 9], 8 - QUAD $0x090912742049a3c4 // vpinsrb xmm6, xmm6, byte [rdx + r10 + 9], 9 + LONG $0x24448b48; BYTE $0x30 // mov rax, qword [rsp + 48] + QUAD $0x0c08026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 8], 12 + LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] + QUAD $0x0d08026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 8], 13 + QUAD $0x0000012024848b48 // mov rax, qword [rsp + 288] + QUAD $0x0e08026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 8], 14 + QUAD $0x0000014024848b48 // mov rax, qword [rsp + 320] + QUAD $0x0f08026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 8], 15 + LONG $0x24448b48; BYTE $0x68 // mov rax, qword [rsp + 104] + QUAD $0x010902742039e3c4 // vpinsrb xmm6, xmm8, byte [rdx + rax + 9], 1 + QUAD $0x02093a742049a3c4 // vpinsrb xmm6, xmm6, byte [rdx + r15 + 9], 2 + QUAD $0x03090a742049e3c4 // vpinsrb xmm6, xmm6, byte [rdx + rcx + 9], 3 + LONG $0x24448b48; BYTE $0x70 // mov rax, qword [rsp + 112] + QUAD $0x040902742049e3c4 // vpinsrb xmm6, xmm6, byte [rdx + rax + 9], 4 + QUAD $0x05092a742049a3c4 // vpinsrb xmm6, xmm6, byte [rdx + r13 + 9], 5 + QUAD $0x0000009024848b48 // mov rax, qword [rsp + 144] + QUAD $0x060902742049e3c4 // vpinsrb xmm6, xmm6, byte [rdx + rax + 9], 6 + QUAD $0x070902742049a3c4 // vpinsrb xmm6, xmm6, byte [rdx + r8 + 9], 7 + QUAD $0x08093a742049e3c4 // vpinsrb xmm6, xmm6, byte [rdx + rdi + 9], 8 + QUAD $0x090922742049a3c4 // vpinsrb xmm6, xmm6, byte [rdx + r12 + 9], 9 QUAD $0x0a091a742049e3c4 // vpinsrb xmm6, xmm6, byte [rdx + rbx + 9], 10 - LONG $0x244c8b48; BYTE $0x58 // mov rcx, qword [rsp + 88] - QUAD $0x0b090a742049e3c4 // vpinsrb xmm6, xmm6, byte [rdx + rcx + 9], 11 - QUAD $0x00000080249c8b4c // mov r11, qword [rsp + 128] - QUAD $0x0c091a742049a3c4 // vpinsrb xmm6, xmm6, byte [rdx + r11 + 9], 12 - QUAD $0x000000d0248c8b48 // mov rcx, qword [rsp + 208] - QUAD $0x0d090a742049e3c4 // vpinsrb xmm6, xmm6, byte [rdx + rcx + 9], 13 - LONG $0x244c8b48; BYTE $0x30 // mov rcx, qword [rsp + 48] - QUAD $0x0e090a742049e3c4 // vpinsrb xmm6, xmm6, byte [rdx + rcx + 9], 14 - LONG $0x24648b4c; BYTE $0x50 // mov r12, qword [rsp + 80] - QUAD $0x0f0922742049a3c4 // vpinsrb xmm6, xmm6, byte [rdx + r12 + 9], 15 - LONG $0x244c8b48; BYTE $0x78 // mov rcx, qword [rsp + 120] - QUAD $0x01090a7c2021e3c4 // vpinsrb xmm7, xmm11, byte [rdx + rcx + 9], 1 - QUAD $0x02090a7c2041a3c4 // vpinsrb xmm7, xmm7, byte [rdx + r9 + 9], 2 - QUAD $0x03093a7c2041a3c4 // vpinsrb xmm7, xmm7, byte [rdx + r15 + 9], 3 + QUAD $0x0b090a742049a3c4 // vpinsrb xmm6, xmm6, byte [rdx + r9 + 9], 11 + QUAD $0x0c0912742049a3c4 // vpinsrb xmm6, xmm6, byte [rdx + r10 + 9], 12 + LONG $0x24548b4c; BYTE $0x48 // mov r10, qword [rsp + 72] + QUAD $0x0d0912742049a3c4 // vpinsrb xmm6, xmm6, byte [rdx + r10 + 9], 13 + LONG $0x24448b48; BYTE $0x40 // mov rax, qword [rsp + 64] + QUAD $0x0e0902742049e3c4 // vpinsrb xmm6, xmm6, byte [rdx + rax + 9], 14 + LONG $0x24448b48; BYTE $0x60 // mov rax, qword [rsp + 96] + QUAD $0x0f0902742049e3c4 // vpinsrb xmm6, xmm6, byte [rdx + rax + 9], 15 + QUAD $0x000000c024848b48 // mov rax, qword [rsp + 192] + QUAD $0x0109027c2021e3c4 // vpinsrb xmm7, xmm11, byte [rdx + rax + 9], 1 + LONG $0x246c8b4c; BYTE $0x78 // mov r13, qword [rsp + 120] + QUAD $0x02092a7c2041a3c4 // vpinsrb xmm7, xmm7, byte [rdx + r13 + 9], 2 + LONG $0x24448b48; BYTE $0x38 // mov rax, qword [rsp + 56] + QUAD $0x0309027c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rax + 9], 3 QUAD $0x0409327c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rsi + 9], 4 - LONG $0x246c8b4c; BYTE $0x60 // mov r13, qword [rsp + 96] - QUAD $0x05092a7c2041a3c4 // vpinsrb xmm7, xmm7, byte [rdx + r13 + 9], 5 - QUAD $0x0609327c2041a3c4 // vpinsrb xmm7, xmm7, byte [rdx + r14 + 9], 6 - QUAD $0x00000090249c8b48 // mov rbx, qword [rsp + 144] - QUAD $0x07091a7c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rbx + 9], 7 - QUAD $0x0000008824bc8b4c // mov r15, qword [rsp + 136] - QUAD $0x08093a7c2041a3c4 // vpinsrb xmm7, xmm7, byte [rdx + r15 + 9], 8 - QUAD $0x00000098248c8b48 // mov rcx, qword [rsp + 152] - QUAD $0x09090a7c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rcx + 9], 9 - QUAD $0x00000140248c8b48 // mov rcx, qword [rsp + 320] - QUAD $0x0a090a7c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rcx + 9], 10 + QUAD $0x00000088249c8b48 // mov rbx, qword [rsp + 136] + QUAD $0x05091a7c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rbx + 9], 5 + QUAD $0x0000009824848b48 // mov rax, qword [rsp + 152] + QUAD $0x0609027c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rax + 9], 6 + QUAD $0x0709327c2041a3c4 // vpinsrb xmm7, xmm7, byte [rdx + r14 + 9], 7 + QUAD $0x08091a7c2041a3c4 // vpinsrb xmm7, xmm7, byte [rdx + r11 + 9], 8 + WORD $0x894d; BYTE $0xde // mov r14, r11 + QUAD $0x000000b024848b48 // mov rax, qword [rsp + 176] + QUAD $0x0909027c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rax + 9], 9 + LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] + QUAD $0x0a09027c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rax + 9], 10 + QUAD $0x0000008024848b48 // mov rax, qword [rsp + 128] QUAD $0x0b09027c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rax + 9], 11 - QUAD $0x0000012024848b48 // mov rax, qword [rsp + 288] + LONG $0x24448b48; BYTE $0x30 // mov rax, qword [rsp + 48] QUAD $0x0c09027c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rax + 9], 12 LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] QUAD $0x0d09027c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rax + 9], 13 - LONG $0x24448b48; BYTE $0x48 // mov rax, qword [rsp + 72] + QUAD $0x0000012024848b48 // mov rax, qword [rsp + 288] QUAD $0x0e09027c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rax + 9], 14 LONG $0x3855e3c4; WORD $0x01c0 // vinserti128 ymm0, ymm5, xmm0, 1 QUAD $0x00046024847ffdc5; BYTE $0x00 // vmovdqa yword [rsp + 1120], ymm0 - LONG $0x24448b48; BYTE $0x38 // mov rax, qword [rsp + 56] + QUAD $0x0000014024848b48 // mov rax, qword [rsp + 320] QUAD $0x0f09026c2041e3c4 // vpinsrb xmm5, xmm7, byte [rdx + rax + 9], 15 - QUAD $0x0000010024848b48 // mov rax, qword [rsp + 256] + QUAD $0x000000f024848b48 // mov rax, qword [rsp + 240] LONG $0x0274b60f; BYTE $0x0c // movzx esi, byte [rdx + rax + 12] LONG $0xc66ef9c5 // vmovd xmm0, esi LONG $0x3855e3c4; WORD $0x01ee // vinserti128 ymm5, ymm5, xmm6, 1 QUAD $0x00044024ac7ffdc5; BYTE $0x00 // vmovdqa yword [rsp + 1088], ymm5 - QUAD $0x0000010824848b48 // mov rax, qword [rsp + 264] + QUAD $0x0000010024848b48 // mov rax, qword [rsp + 256] LONG $0x0274b60f; BYTE $0x0c // movzx esi, byte [rdx + rax + 12] LONG $0xee6ef9c5 // vmovd xmm5, esi - QUAD $0x000000e824bc8b48 // mov rdi, qword [rsp + 232] - QUAD $0x010a3a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 10], 1 - QUAD $0x020a025c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r8 + 10], 2 - LONG $0x244c8b48; BYTE $0x70 // mov rcx, qword [rsp + 112] + LONG $0x24448b48; BYTE $0x68 // mov rax, qword [rsp + 104] + QUAD $0x010a025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 10], 1 + QUAD $0x020a3a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r15 + 10], 2 QUAD $0x030a0a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 10], 3 - QUAD $0x000000f024848b48 // mov rax, qword [rsp + 240] - QUAD $0x040a025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 10], 4 - QUAD $0x000000f824848b48 // mov rax, qword [rsp + 248] - QUAD $0x050a025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 10], 5 - LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] - QUAD $0x060a025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 10], 6 - QUAD $0x000000c8248c8b4c // mov r9, qword [rsp + 200] - QUAD $0x070a0a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r9 + 10], 7 - QUAD $0x000000c024b48b4c // mov r14, qword [rsp + 192] - QUAD $0x080a325c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r14 + 10], 8 - QUAD $0x090a125c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r10 + 10], 9 - QUAD $0x000000e024848b48 // mov rax, qword [rsp + 224] - QUAD $0x0a0a025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 10], 10 - LONG $0x24448b48; BYTE $0x58 // mov rax, qword [rsp + 88] + LONG $0x247c8b48; BYTE $0x70 // mov rdi, qword [rsp + 112] + QUAD $0x040a3a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 10], 4 + QUAD $0x000000b824848b4c // mov r8, qword [rsp + 184] + QUAD $0x050a025c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r8 + 10], 5 + QUAD $0x0000009024b48b48 // mov rsi, qword [rsp + 144] + QUAD $0x060a325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 10], 6 + QUAD $0x000000d024b48b48 // mov rsi, qword [rsp + 208] + QUAD $0x070a325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 10], 7 + QUAD $0x000000e0248c8b4c // mov r9, qword [rsp + 224] + QUAD $0x080a0a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r9 + 10], 8 + QUAD $0x090a225c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r12 + 10], 9 + LONG $0x24748b48; BYTE $0x58 // mov rsi, qword [rsp + 88] + QUAD $0x0a0a325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 10], 10 + QUAD $0x000000d824848b48 // mov rax, qword [rsp + 216] QUAD $0x0b0a025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 10], 11 - QUAD $0x0c0a1a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r11 + 10], 12 - QUAD $0x000000d024948b4c // mov r10, qword [rsp + 208] + LONG $0x24448b48; BYTE $0x50 // mov rax, qword [rsp + 80] + QUAD $0x0c0a025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 10], 12 QUAD $0x0d0a125c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r10 + 10], 13 - LONG $0x245c8b4c; BYTE $0x30 // mov r11, qword [rsp + 48] - QUAD $0x0e0a1a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r11 + 10], 14 - QUAD $0x0f0a225c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r12 + 10], 15 - LONG $0x24448b48; BYTE $0x78 // mov rax, qword [rsp + 120] - QUAD $0x010a02642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rax + 10], 1 LONG $0x24448b48; BYTE $0x40 // mov rax, qword [rsp + 64] - QUAD $0x020a02642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rax + 10], 2 - QUAD $0x000000b024b48b48 // mov rsi, qword [rsp + 176] + QUAD $0x0e0a025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 10], 14 + LONG $0x24748b48; BYTE $0x60 // mov rsi, qword [rsp + 96] + QUAD $0x0f0a325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 10], 15 + QUAD $0x000000c024848b48 // mov rax, qword [rsp + 192] + QUAD $0x010a02642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rax + 10], 1 + QUAD $0x020a2a642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r13 + 10], 2 + LONG $0x24748b48; BYTE $0x38 // mov rsi, qword [rsp + 56] QUAD $0x030a32642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rsi + 10], 3 - LONG $0x24648b4c; BYTE $0x68 // mov r12, qword [rsp + 104] - QUAD $0x040a22642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r12 + 10], 4 - QUAD $0x050a2a642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r13 + 10], 5 - QUAD $0x000000a024848b48 // mov rax, qword [rsp + 160] - QUAD $0x060a02642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rax + 10], 6 + QUAD $0x000000a8249c8b4c // mov r11, qword [rsp + 168] + QUAD $0x040a1a642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r11 + 10], 4 + QUAD $0x050a1a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rbx + 10], 5 + QUAD $0x0000009824948b4c // mov r10, qword [rsp + 152] + QUAD $0x060a12642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r10 + 10], 6 + QUAD $0x000000f8249c8b48 // mov rbx, qword [rsp + 248] QUAD $0x070a1a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rbx + 10], 7 - QUAD $0x080a3a642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r15 + 10], 8 - QUAD $0x0000009824848b48 // mov rax, qword [rsp + 152] - QUAD $0x090a02642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rax + 10], 9 - QUAD $0x00000140249c8b48 // mov rbx, qword [rsp + 320] - QUAD $0x0a0a1a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rbx + 10], 10 - QUAD $0x000000d824bc8b4c // mov r15, qword [rsp + 216] - QUAD $0x0b0a3a642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r15 + 10], 11 + QUAD $0x080a32642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r14 + 10], 8 + QUAD $0x000000b024ac8b4c // mov r13, qword [rsp + 176] + QUAD $0x090a2a642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r13 + 10], 9 + LONG $0x24748b4c; BYTE $0x28 // mov r14, qword [rsp + 40] + QUAD $0x0a0a32642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r14 + 10], 10 + QUAD $0x00000080249c8b48 // mov rbx, qword [rsp + 128] + QUAD $0x0b0a1a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rbx + 10], 11 + LONG $0x24448b48; BYTE $0x30 // mov rax, qword [rsp + 48] + QUAD $0x0c0a02642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rax + 10], 12 + LONG $0x24648b4c; BYTE $0x20 // mov r12, qword [rsp + 32] + QUAD $0x0d0a22642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r12 + 10], 13 QUAD $0x00000120249c8b48 // mov rbx, qword [rsp + 288] - QUAD $0x0c0a1a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rbx + 10], 12 - LONG $0x245c8b48; BYTE $0x20 // mov rbx, qword [rsp + 32] - QUAD $0x0d0a1a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rbx + 10], 13 - LONG $0x246c8b4c; BYTE $0x48 // mov r13, qword [rsp + 72] - QUAD $0x0e0a2a642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r13 + 10], 14 - LONG $0x245c8b48; BYTE $0x38 // mov rbx, qword [rsp + 56] + QUAD $0x0e0a1a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rbx + 10], 14 + QUAD $0x00000140249c8b48 // mov rbx, qword [rsp + 320] QUAD $0x0f0a1a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rbx + 10], 15 - QUAD $0x010b3a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 11], 1 - QUAD $0x020b024c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r8 + 11], 2 + LONG $0x24448b48; BYTE $0x68 // mov rax, qword [rsp + 104] + QUAD $0x010b024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 11], 1 + QUAD $0x020b3a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r15 + 11], 2 QUAD $0x030b0a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 11], 3 - QUAD $0x000000f0248c8b48 // mov rcx, qword [rsp + 240] - QUAD $0x040b0a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 11], 4 - QUAD $0x000000f824bc8b48 // mov rdi, qword [rsp + 248] - QUAD $0x050b3a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 11], 5 - LONG $0x247c8b48; BYTE $0x28 // mov rdi, qword [rsp + 40] - QUAD $0x060b3a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 11], 6 - QUAD $0x070b0a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r9 + 11], 7 - QUAD $0x080b324c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r14 + 11], 8 - QUAD $0x000000b824bc8b48 // mov rdi, qword [rsp + 184] - QUAD $0x090b3a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 11], 9 - QUAD $0x000000e024b48b4c // mov r14, qword [rsp + 224] - QUAD $0x0a0b324c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r14 + 11], 10 - LONG $0x244c8b4c; BYTE $0x58 // mov r9, qword [rsp + 88] - QUAD $0x0b0b0a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r9 + 11], 11 - QUAD $0x0000008024bc8b48 // mov rdi, qword [rsp + 128] - QUAD $0x0c0b3a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 11], 12 - QUAD $0x0d0b124c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r10 + 11], 13 - QUAD $0x0e0b1a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r11 + 11], 14 - LONG $0x245c8b4c; BYTE $0x50 // mov r11, qword [rsp + 80] - QUAD $0x0f0b1a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r11 + 11], 15 + QUAD $0x040b3a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 11], 4 + QUAD $0x050b024c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r8 + 11], 5 + QUAD $0x00000090248c8b48 // mov rcx, qword [rsp + 144] + QUAD $0x060b0a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 11], 6 + QUAD $0x000000d024848b48 // mov rax, qword [rsp + 208] + QUAD $0x070b024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 11], 7 + QUAD $0x080b0a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r9 + 11], 8 + QUAD $0x000000e824848b48 // mov rax, qword [rsp + 232] + QUAD $0x090b024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 11], 9 + LONG $0x24448b48; BYTE $0x58 // mov rax, qword [rsp + 88] + QUAD $0x0a0b024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 11], 10 + QUAD $0x000000d824848b48 // mov rax, qword [rsp + 216] + QUAD $0x0b0b024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 11], 11 + LONG $0x24448b48; BYTE $0x50 // mov rax, qword [rsp + 80] + QUAD $0x0c0b024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 11], 12 + LONG $0x24448b48; BYTE $0x48 // mov rax, qword [rsp + 72] + QUAD $0x0d0b024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 11], 13 + LONG $0x24448b4c; BYTE $0x40 // mov r8, qword [rsp + 64] + QUAD $0x0e0b024c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r8 + 11], 14 + LONG $0x24448b48; BYTE $0x60 // mov rax, qword [rsp + 96] + QUAD $0x0f0b024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 11], 15 + QUAD $0x000000c024848b48 // mov rax, qword [rsp + 192] + QUAD $0x010b02542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 11], 1 LONG $0x247c8b48; BYTE $0x78 // mov rdi, qword [rsp + 120] - QUAD $0x010b3a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 11], 1 - LONG $0x245c8b48; BYTE $0x40 // mov rbx, qword [rsp + 64] - QUAD $0x020b1a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rbx + 11], 2 + QUAD $0x020b3a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 11], 2 QUAD $0x030b32542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 11], 3 - QUAD $0x040b22542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r12 + 11], 4 - LONG $0x24748b48; BYTE $0x60 // mov rsi, qword [rsp + 96] + QUAD $0x040b1a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r11 + 11], 4 + QUAD $0x0000008824b48b48 // mov rsi, qword [rsp + 136] QUAD $0x050b32542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 11], 5 - QUAD $0x000000a0249c8b48 // mov rbx, qword [rsp + 160] - QUAD $0x060b1a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rbx + 11], 6 - QUAD $0x0000009024848b4c // mov r8, qword [rsp + 144] - QUAD $0x070b02542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r8 + 11], 7 - QUAD $0x0000008824a48b4c // mov r12, qword [rsp + 136] - QUAD $0x080b22542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r12 + 11], 8 - QUAD $0x090b02542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 11], 9 - QUAD $0x0000014024848b48 // mov rax, qword [rsp + 320] - QUAD $0x0a0b02542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 11], 10 - QUAD $0x0b0b3a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r15 + 11], 11 - QUAD $0x0000012024848b48 // mov rax, qword [rsp + 288] - QUAD $0x0c0b02542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 11], 12 - LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] - QUAD $0x0d0b02542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 11], 13 + QUAD $0x060b12542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r10 + 11], 6 + QUAD $0x000000f824bc8b4c // mov r15, qword [rsp + 248] + QUAD $0x070b3a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r15 + 11], 7 + QUAD $0x000000a024b48b48 // mov rsi, qword [rsp + 160] + QUAD $0x080b32542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 11], 8 + QUAD $0x090b2a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r13 + 11], 9 + QUAD $0x0a0b32542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r14 + 11], 10 + QUAD $0x0000008024b48b48 // mov rsi, qword [rsp + 128] + QUAD $0x0b0b32542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 11], 11 + LONG $0x24748b48; BYTE $0x30 // mov rsi, qword [rsp + 48] + QUAD $0x0c0b32542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 11], 12 + QUAD $0x0d0b22542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r12 + 11], 13 LONG $0x385de3c4; WORD $0x01db // vinserti128 ymm3, ymm4, xmm3, 1 QUAD $0x000420249c7ffdc5; BYTE $0x00 // vmovdqa yword [rsp + 1056], ymm3 + QUAD $0x0000012024ac8b4c // mov r13, qword [rsp + 288] QUAD $0x0e0b2a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r13 + 11], 14 - QUAD $0x0000010024848b48 // mov rax, qword [rsp + 256] - LONG $0x0274b60f; BYTE $0x0d // movzx esi, byte [rdx + rax + 13] + QUAD $0x000000f024b48b48 // mov rsi, qword [rsp + 240] + LONG $0x3274b60f; BYTE $0x0d // movzx esi, byte [rdx + rsi + 13] LONG $0xde6ef9c5 // vmovd xmm3, esi - LONG $0x24448b48; BYTE $0x38 // mov rax, qword [rsp + 56] - QUAD $0x0f0b02542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 11], 15 + QUAD $0x0f0b1a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rbx + 11], 15 LONG $0x386de3c4; WORD $0x01c9 // vinserti128 ymm1, ymm2, xmm1, 1 QUAD $0x000400248c7ffdc5; BYTE $0x00 // vmovdqa yword [rsp + 1024], ymm1 - QUAD $0x0000010824848b48 // mov rax, qword [rsp + 264] - LONG $0x0274b60f; BYTE $0x0d // movzx esi, byte [rdx + rax + 13] + QUAD $0x0000010024b48b48 // mov rsi, qword [rsp + 256] + LONG $0x3274b60f; BYTE $0x0d // movzx esi, byte [rdx + rsi + 13] LONG $0xce6ef9c5 // vmovd xmm1, esi - QUAD $0x000000e824848b48 // mov rax, qword [rsp + 232] - QUAD $0x010c02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 12], 1 - QUAD $0x000000a824848b48 // mov rax, qword [rsp + 168] - QUAD $0x020c02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 12], 2 - LONG $0x24448b48; BYTE $0x70 // mov rax, qword [rsp + 112] - QUAD $0x030c02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 12], 3 - QUAD $0x040c0a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 12], 4 - QUAD $0x000000f824948b4c // mov r10, qword [rsp + 248] - QUAD $0x050c12442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r10 + 12], 5 - LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] - QUAD $0x060c02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 12], 6 - QUAD $0x000000c824848b48 // mov rax, qword [rsp + 200] - QUAD $0x070c02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 12], 7 - QUAD $0x000000c024848b48 // mov rax, qword [rsp + 192] - QUAD $0x080c02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 12], 8 - QUAD $0x000000b824848b48 // mov rax, qword [rsp + 184] - QUAD $0x090c02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 12], 9 + LONG $0x24748b48; BYTE $0x68 // mov rsi, qword [rsp + 104] + QUAD $0x010c32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 12], 1 + QUAD $0x0000010824a48b4c // mov r12, qword [rsp + 264] + QUAD $0x020c22442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r12 + 12], 2 + QUAD $0x000000c824bc8b48 // mov rdi, qword [rsp + 200] + QUAD $0x030c3a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rdi + 12], 3 + LONG $0x24748b48; BYTE $0x70 // mov rsi, qword [rsp + 112] + QUAD $0x040c32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 12], 4 + QUAD $0x000000b824b48b48 // mov rsi, qword [rsp + 184] + QUAD $0x050c32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 12], 5 + QUAD $0x060c0a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 12], 6 + QUAD $0x000000d0248c8b48 // mov rcx, qword [rsp + 208] + QUAD $0x070c0a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 12], 7 + QUAD $0x000000e024b48b48 // mov rsi, qword [rsp + 224] + QUAD $0x080c32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 12], 8 + QUAD $0x000000e8248c8b4c // mov r9, qword [rsp + 232] + QUAD $0x090c0a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r9 + 12], 9 + LONG $0x24748b4c; BYTE $0x58 // mov r14, qword [rsp + 88] QUAD $0x0a0c32442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r14 + 12], 10 - QUAD $0x0b0c0a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r9 + 12], 11 - QUAD $0x00000080248c8b48 // mov rcx, qword [rsp + 128] - QUAD $0x0c0c0a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 12], 12 - QUAD $0x000000d024848b48 // mov rax, qword [rsp + 208] - QUAD $0x0d0c02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 12], 13 - LONG $0x246c8b4c; BYTE $0x30 // mov r13, qword [rsp + 48] - QUAD $0x0e0c2a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r13 + 12], 14 - QUAD $0x0f0c1a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r11 + 12], 15 - QUAD $0x010c3a542051e3c4 // vpinsrb xmm2, xmm5, byte [rdx + rdi + 12], 1 - LONG $0x24748b48; BYTE $0x40 // mov rsi, qword [rsp + 64] - QUAD $0x020c32542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 12], 2 - QUAD $0x000000b024b48b4c // mov r14, qword [rsp + 176] - QUAD $0x030c32542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r14 + 12], 3 - LONG $0x247c8b48; BYTE $0x68 // mov rdi, qword [rsp + 104] - QUAD $0x040c3a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 12], 4 - LONG $0x247c8b4c; BYTE $0x60 // mov r15, qword [rsp + 96] - QUAD $0x050c3a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r15 + 12], 5 - QUAD $0x060c1a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rbx + 12], 6 - QUAD $0x070c02542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r8 + 12], 7 - WORD $0x894c; BYTE $0xe0 // mov rax, r12 - QUAD $0x080c22542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r12 + 12], 8 - QUAD $0x00000098249c8b4c // mov r11, qword [rsp + 152] - QUAD $0x090c1a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r11 + 12], 9 - QUAD $0x00000140249c8b48 // mov rbx, qword [rsp + 320] - QUAD $0x0a0c1a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rbx + 12], 10 QUAD $0x000000d8249c8b48 // mov rbx, qword [rsp + 216] - QUAD $0x0b0c1a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rbx + 12], 11 - QUAD $0x00000120249c8b48 // mov rbx, qword [rsp + 288] - QUAD $0x0c0c1a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rbx + 12], 12 - LONG $0x244c8b4c; BYTE $0x20 // mov r9, qword [rsp + 32] - QUAD $0x0d0c0a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r9 + 12], 13 - LONG $0x24448b4c; BYTE $0x48 // mov r8, qword [rsp + 72] - QUAD $0x0e0c02542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r8 + 12], 14 - LONG $0x24648b4c; BYTE $0x38 // mov r12, qword [rsp + 56] - QUAD $0x0f0c22542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r12 + 12], 15 - QUAD $0x000000e8249c8b48 // mov rbx, qword [rsp + 232] - QUAD $0x010d1a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 13], 1 - QUAD $0x000000a8249c8b48 // mov rbx, qword [rsp + 168] - QUAD $0x020d1a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 13], 2 - LONG $0x245c8b48; BYTE $0x70 // mov rbx, qword [rsp + 112] - QUAD $0x030d1a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 13], 3 - QUAD $0x000000f0249c8b48 // mov rbx, qword [rsp + 240] - QUAD $0x040d1a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 13], 4 - QUAD $0x050d125c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r10 + 13], 5 - LONG $0x245c8b48; BYTE $0x28 // mov rbx, qword [rsp + 40] - QUAD $0x060d1a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 13], 6 - QUAD $0x000000c8249c8b48 // mov rbx, qword [rsp + 200] - QUAD $0x070d1a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 13], 7 - QUAD $0x000000c0249c8b48 // mov rbx, qword [rsp + 192] - QUAD $0x080d1a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 13], 8 - QUAD $0x000000b824a48b4c // mov r12, qword [rsp + 184] - QUAD $0x090d225c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r12 + 13], 9 - QUAD $0x000000e0249c8b48 // mov rbx, qword [rsp + 224] - QUAD $0x0a0d1a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 13], 10 - LONG $0x245c8b48; BYTE $0x58 // mov rbx, qword [rsp + 88] + QUAD $0x0b0c1a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rbx + 12], 11 + LONG $0x24748b48; BYTE $0x50 // mov rsi, qword [rsp + 80] + QUAD $0x0c0c32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 12], 12 + LONG $0x24748b48; BYTE $0x48 // mov rsi, qword [rsp + 72] + QUAD $0x0d0c32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 12], 13 + QUAD $0x0e0c02442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r8 + 12], 14 + LONG $0x24748b48; BYTE $0x60 // mov rsi, qword [rsp + 96] + QUAD $0x0f0c32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 12], 15 + QUAD $0x010c02542051e3c4 // vpinsrb xmm2, xmm5, byte [rdx + rax + 12], 1 + LONG $0x24748b48; BYTE $0x78 // mov rsi, qword [rsp + 120] + QUAD $0x020c32542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 12], 2 + LONG $0x24448b48; BYTE $0x38 // mov rax, qword [rsp + 56] + QUAD $0x030c02542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 12], 3 + QUAD $0x000000a824848b48 // mov rax, qword [rsp + 168] + QUAD $0x040c02542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 12], 4 + QUAD $0x0000008824948b4c // mov r10, qword [rsp + 136] + QUAD $0x050c12542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r10 + 12], 5 + QUAD $0x0000009824848b48 // mov rax, qword [rsp + 152] + QUAD $0x060c02542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 12], 6 + QUAD $0x070c3a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r15 + 12], 7 + QUAD $0x000000a024848b48 // mov rax, qword [rsp + 160] + QUAD $0x080c02542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 12], 8 + QUAD $0x000000b024848b4c // mov r8, qword [rsp + 176] + QUAD $0x090c02542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r8 + 12], 9 + LONG $0x245c8b4c; BYTE $0x28 // mov r11, qword [rsp + 40] + QUAD $0x0a0c1a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r11 + 12], 10 + QUAD $0x0000008024848b48 // mov rax, qword [rsp + 128] + QUAD $0x0b0c02542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 12], 11 + LONG $0x24448b48; BYTE $0x30 // mov rax, qword [rsp + 48] + QUAD $0x0c0c02542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 12], 12 + LONG $0x247c8b4c; BYTE $0x20 // mov r15, qword [rsp + 32] + QUAD $0x0d0c3a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r15 + 12], 13 + QUAD $0x0e0c2a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r13 + 12], 14 + QUAD $0x0000014024848b48 // mov rax, qword [rsp + 320] + QUAD $0x0f0c02542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 12], 15 + LONG $0x246c8b4c; BYTE $0x68 // mov r13, qword [rsp + 104] + QUAD $0x010d2a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r13 + 13], 1 + QUAD $0x020d225c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r12 + 13], 2 + QUAD $0x030d3a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 13], 3 + LONG $0x24448b48; BYTE $0x70 // mov rax, qword [rsp + 112] + QUAD $0x040d025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 13], 4 + QUAD $0x000000b824bc8b48 // mov rdi, qword [rsp + 184] + QUAD $0x050d3a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 13], 5 + QUAD $0x0000009024a48b4c // mov r12, qword [rsp + 144] + QUAD $0x060d225c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r12 + 13], 6 + QUAD $0x070d0a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 13], 7 + QUAD $0x000000e024ac8b4c // mov r13, qword [rsp + 224] + QUAD $0x080d2a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r13 + 13], 8 + QUAD $0x090d0a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r9 + 13], 9 + QUAD $0x0a0d325c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r14 + 13], 10 QUAD $0x0b0d1a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 13], 11 + LONG $0x244c8b48; BYTE $0x50 // mov rcx, qword [rsp + 80] QUAD $0x0c0d0a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 13], 12 - QUAD $0x000000d024948b4c // mov r10, qword [rsp + 208] - QUAD $0x0d0d125c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r10 + 13], 13 - QUAD $0x0e0d2a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r13 + 13], 14 - LONG $0x245c8b48; BYTE $0x50 // mov rbx, qword [rsp + 80] - QUAD $0x0f0d1a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 13], 15 - LONG $0x244c8b48; BYTE $0x78 // mov rcx, qword [rsp + 120] + LONG $0x245c8b48; BYTE $0x48 // mov rbx, qword [rsp + 72] + QUAD $0x0d0d1a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 13], 13 + LONG $0x24448b48; BYTE $0x40 // mov rax, qword [rsp + 64] + QUAD $0x0e0d025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 13], 14 + LONG $0x244c8b48; BYTE $0x60 // mov rcx, qword [rsp + 96] + QUAD $0x0f0d0a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 13], 15 + QUAD $0x000000c0248c8b48 // mov rcx, qword [rsp + 192] QUAD $0x010d0a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 13], 1 QUAD $0x020d324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 13], 2 - QUAD $0x030d324c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r14 + 13], 3 - QUAD $0x040d3a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 13], 4 - QUAD $0x050d3a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r15 + 13], 5 - QUAD $0x000000a024b48b4c // mov r14, qword [rsp + 160] - QUAD $0x060d324c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r14 + 13], 6 - QUAD $0x00000090248c8b48 // mov rcx, qword [rsp + 144] - QUAD $0x070d0a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 13], 7 - QUAD $0x080d024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 13], 8 - QUAD $0x090d1a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r11 + 13], 9 - QUAD $0x0000014024848b48 // mov rax, qword [rsp + 320] - QUAD $0x0a0d024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 13], 10 - QUAD $0x000000d824848b48 // mov rax, qword [rsp + 216] + LONG $0x247c8b48; BYTE $0x38 // mov rdi, qword [rsp + 56] + QUAD $0x030d3a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 13], 3 + QUAD $0x000000a8248c8b48 // mov rcx, qword [rsp + 168] + QUAD $0x040d0a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 13], 4 + QUAD $0x050d124c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r10 + 13], 5 + QUAD $0x00000098248c8b48 // mov rcx, qword [rsp + 152] + QUAD $0x060d0a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 13], 6 + QUAD $0x000000f824b48b48 // mov rsi, qword [rsp + 248] + QUAD $0x070d324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 13], 7 + QUAD $0x000000a024b48b48 // mov rsi, qword [rsp + 160] + QUAD $0x080d324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 13], 8 + QUAD $0x090d024c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r8 + 13], 9 + QUAD $0x0a0d1a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r11 + 13], 10 + QUAD $0x0000008024848b48 // mov rax, qword [rsp + 128] QUAD $0x0b0d024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 13], 11 - QUAD $0x0000012024848b48 // mov rax, qword [rsp + 288] + LONG $0x24448b48; BYTE $0x30 // mov rax, qword [rsp + 48] QUAD $0x0c0d024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 13], 12 - QUAD $0x0d0d0a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r9 + 13], 13 - QUAD $0x0e0d024c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r8 + 13], 14 + QUAD $0x0d0d3a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r15 + 13], 13 + QUAD $0x0000012024b48b4c // mov r14, qword [rsp + 288] + QUAD $0x0e0d324c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r14 + 13], 14 LONG $0x386de3c4; WORD $0x01c0 // vinserti128 ymm0, ymm2, xmm0, 1 QUAD $0x0003e024847ffdc5; BYTE $0x00 // vmovdqa yword [rsp + 992], ymm0 - LONG $0x24448b48; BYTE $0x38 // mov rax, qword [rsp + 56] + QUAD $0x0000014024848b48 // mov rax, qword [rsp + 320] QUAD $0x0f0d02442071e3c4 // vpinsrb xmm0, xmm1, byte [rdx + rax + 13], 15 - QUAD $0x0000010024ac8b4c // mov r13, qword [rsp + 256] - LONG $0x74b60f42; WORD $0x0e2a // movzx esi, byte [rdx + r13 + 14] + QUAD $0x000000f024848b48 // mov rax, qword [rsp + 240] + LONG $0x0274b60f; BYTE $0x0e // movzx esi, byte [rdx + rax + 14] LONG $0xce6ef9c5 // vmovd xmm1, esi LONG $0x387de3c4; WORD $0x01c3 // vinserti128 ymm0, ymm0, xmm3, 1 QUAD $0x0003c024847ffdc5; BYTE $0x00 // vmovdqa yword [rsp + 960], ymm0 - QUAD $0x0000010824848b48 // mov rax, qword [rsp + 264] + QUAD $0x0000010024848b48 // mov rax, qword [rsp + 256] LONG $0x0274b60f; BYTE $0x0e // movzx esi, byte [rdx + rax + 14] LONG $0xc66ef9c5 // vmovd xmm0, esi - QUAD $0x000000e824848b48 // mov rax, qword [rsp + 232] + LONG $0x24448b48; BYTE $0x68 // mov rax, qword [rsp + 104] QUAD $0x010e024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 14], 1 - QUAD $0x000000a8248c8b48 // mov rcx, qword [rsp + 168] - QUAD $0x020e0a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 14], 2 - LONG $0x24448b4c; BYTE $0x70 // mov r8, qword [rsp + 112] - QUAD $0x030e024c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r8 + 14], 3 - QUAD $0x000000f0248c8b4c // mov r9, qword [rsp + 240] - QUAD $0x040e0a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r9 + 14], 4 - QUAD $0x000000f824bc8b48 // mov rdi, qword [rsp + 248] - QUAD $0x050e3a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 14], 5 - LONG $0x247c8b4c; BYTE $0x28 // mov r15, qword [rsp + 40] - QUAD $0x060e3a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r15 + 14], 6 - QUAD $0x000000c8248c8b48 // mov rcx, qword [rsp + 200] - QUAD $0x070e0a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 14], 7 - QUAD $0x000000c0248c8b48 // mov rcx, qword [rsp + 192] - QUAD $0x080e0a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 14], 8 - QUAD $0x090e224c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r12 + 14], 9 - QUAD $0x000000e0248c8b48 // mov rcx, qword [rsp + 224] - QUAD $0x0a0e0a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 14], 10 - LONG $0x244c8b48; BYTE $0x58 // mov rcx, qword [rsp + 88] - QUAD $0x0b0e0a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 14], 11 - QUAD $0x0000008024b48b48 // mov rsi, qword [rsp + 128] - QUAD $0x0c0e324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 14], 12 - QUAD $0x0d0e124c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r10 + 14], 13 + QUAD $0x0000010824948b4c // mov r10, qword [rsp + 264] + QUAD $0x020e124c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r10 + 14], 2 + QUAD $0x000000c824848b48 // mov rax, qword [rsp + 200] + QUAD $0x030e024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 14], 3 + LONG $0x24448b48; BYTE $0x70 // mov rax, qword [rsp + 112] + QUAD $0x040e024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 14], 4 + QUAD $0x000000b824bc8b4c // mov r15, qword [rsp + 184] + QUAD $0x050e3a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r15 + 14], 5 + QUAD $0x060e224c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r12 + 14], 6 + QUAD $0x000000d024848b48 // mov rax, qword [rsp + 208] + QUAD $0x070e024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 14], 7 + QUAD $0x080e2a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r13 + 14], 8 + QUAD $0x000000e824ac8b4c // mov r13, qword [rsp + 232] + QUAD $0x090e2a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r13 + 14], 9 + LONG $0x24448b48; BYTE $0x58 // mov rax, qword [rsp + 88] + QUAD $0x0a0e024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 14], 10 + QUAD $0x000000d824848b48 // mov rax, qword [rsp + 216] + QUAD $0x0b0e024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 14], 11 + LONG $0x24448b48; BYTE $0x50 // mov rax, qword [rsp + 80] + QUAD $0x0c0e024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 14], 12 + QUAD $0x0d0e1a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rbx + 14], 13 + LONG $0x24448b48; BYTE $0x40 // mov rax, qword [rsp + 64] + QUAD $0x0e0e024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 14], 14 + LONG $0x24448b48; BYTE $0x60 // mov rax, qword [rsp + 96] + QUAD $0x0f0e024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 14], 15 + QUAD $0x000000c024848b48 // mov rax, qword [rsp + 192] + QUAD $0x010e02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 14], 1 + LONG $0x245c8b4c; BYTE $0x78 // mov r11, qword [rsp + 120] + QUAD $0x020e1a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r11 + 14], 2 + QUAD $0x030e3a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rdi + 14], 3 + QUAD $0x000000a824848b48 // mov rax, qword [rsp + 168] + QUAD $0x040e02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 14], 4 + QUAD $0x00000088248c8b4c // mov r9, qword [rsp + 136] + QUAD $0x050e0a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r9 + 14], 5 + QUAD $0x060e0a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 14], 6 + QUAD $0x000000f824848b48 // mov rax, qword [rsp + 248] + QUAD $0x070e02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 14], 7 + QUAD $0x000000a0249c8b48 // mov rbx, qword [rsp + 160] + QUAD $0x080e1a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rbx + 14], 8 + QUAD $0x000000b0248c8b48 // mov rcx, qword [rsp + 176] + QUAD $0x090e0a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 14], 9 + LONG $0x244c8b48; BYTE $0x28 // mov rcx, qword [rsp + 40] + QUAD $0x0a0e0a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 14], 10 + QUAD $0x00000080248c8b48 // mov rcx, qword [rsp + 128] + QUAD $0x0b0e0a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 14], 11 LONG $0x24748b48; BYTE $0x30 // mov rsi, qword [rsp + 48] - QUAD $0x0e0e324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 14], 14 - QUAD $0x0f0e1a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rbx + 14], 15 - LONG $0x245c8b48; BYTE $0x78 // mov rbx, qword [rsp + 120] - QUAD $0x010e1a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rbx + 14], 1 - LONG $0x24748b48; BYTE $0x40 // mov rsi, qword [rsp + 64] - QUAD $0x020e32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 14], 2 - QUAD $0x000000b024b48b48 // mov rsi, qword [rsp + 176] - QUAD $0x030e32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 14], 3 - LONG $0x24748b48; BYTE $0x68 // mov rsi, qword [rsp + 104] - QUAD $0x040e32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 14], 4 - LONG $0x24748b48; BYTE $0x60 // mov rsi, qword [rsp + 96] - QUAD $0x050e32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 14], 5 - QUAD $0x060e32442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r14 + 14], 6 - QUAD $0x0000009024948b4c // mov r10, qword [rsp + 144] - QUAD $0x070e12442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r10 + 14], 7 - QUAD $0x0000008824b48b48 // mov rsi, qword [rsp + 136] - QUAD $0x080e32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 14], 8 - QUAD $0x0000009824a48b4c // mov r12, qword [rsp + 152] - QUAD $0x090e22442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r12 + 14], 9 - QUAD $0x0000014024b48b4c // mov r14, qword [rsp + 320] - QUAD $0x0a0e32442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r14 + 14], 10 - QUAD $0x000000d824b48b48 // mov rsi, qword [rsp + 216] - QUAD $0x0b0e32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 14], 11 - QUAD $0x0000012024b48b48 // mov rsi, qword [rsp + 288] QUAD $0x0c0e32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 14], 12 - LONG $0x245c8b4c; BYTE $0x20 // mov r11, qword [rsp + 32] - QUAD $0x0d0e1a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r11 + 14], 13 - LONG $0x24748b48; BYTE $0x48 // mov rsi, qword [rsp + 72] - QUAD $0x0e0e32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 14], 14 - LONG $0x24748b48; BYTE $0x38 // mov rsi, qword [rsp + 56] - QUAD $0x0f0e32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 14], 15 - LONG $0x74b60f42; WORD $0x0f2a // movzx esi, byte [rdx + r13 + 15] + LONG $0x24448b4c; BYTE $0x20 // mov r8, qword [rsp + 32] + QUAD $0x0d0e02442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r8 + 14], 13 + QUAD $0x0e0e32442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r14 + 14], 14 + QUAD $0x0000014024bc8b48 // mov rdi, qword [rsp + 320] + QUAD $0x0f0e3a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rdi + 14], 15 + QUAD $0x000000f024b48b4c // mov r14, qword [rsp + 240] + LONG $0x74b60f42; WORD $0x0f32 // movzx esi, byte [rdx + r14 + 15] LONG $0xd66ef9c5 // vmovd xmm2, esi - QUAD $0x010f02542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 15], 1 - QUAD $0x000000a824848b48 // mov rax, qword [rsp + 168] - QUAD $0x020f02542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 15], 2 - QUAD $0x030f02542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r8 + 15], 3 - QUAD $0x040f0a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r9 + 15], 4 - QUAD $0x050f3a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 15], 5 - QUAD $0x060f3a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r15 + 15], 6 - QUAD $0x000000c824ac8b4c // mov r13, qword [rsp + 200] - QUAD $0x070f2a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r13 + 15], 7 - QUAD $0x000000c024848b4c // mov r8, qword [rsp + 192] - QUAD $0x080f02542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r8 + 15], 8 - QUAD $0x000000b824848b48 // mov rax, qword [rsp + 184] - QUAD $0x090f02542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 15], 9 - QUAD $0x000000e024bc8b48 // mov rdi, qword [rsp + 224] - QUAD $0x0a0f3a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 15], 10 - QUAD $0x0b0f0a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 15], 11 - QUAD $0x0000008024848b48 // mov rax, qword [rsp + 128] - QUAD $0x0c0f02542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 15], 12 - QUAD $0x000000d024848b48 // mov rax, qword [rsp + 208] + LONG $0x24748b48; BYTE $0x68 // mov rsi, qword [rsp + 104] + QUAD $0x010f32542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 15], 1 + QUAD $0x020f12542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r10 + 15], 2 + QUAD $0x000000c824b48b48 // mov rsi, qword [rsp + 200] + QUAD $0x030f32542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 15], 3 + LONG $0x24548b4c; BYTE $0x70 // mov r10, qword [rsp + 112] + QUAD $0x040f12542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r10 + 15], 4 + QUAD $0x050f3a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r15 + 15], 5 + QUAD $0x060f22542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r12 + 15], 6 + QUAD $0x000000d024bc8b4c // mov r15, qword [rsp + 208] + QUAD $0x070f3a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r15 + 15], 7 + QUAD $0x000000e024b48b48 // mov rsi, qword [rsp + 224] + QUAD $0x080f32542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 15], 8 + QUAD $0x090f2a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r13 + 15], 9 + LONG $0x24648b4c; BYTE $0x58 // mov r12, qword [rsp + 88] + QUAD $0x0a0f22542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r12 + 15], 10 + QUAD $0x000000d824848b48 // mov rax, qword [rsp + 216] + QUAD $0x0b0f02542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 15], 11 + LONG $0x24748b48; BYTE $0x50 // mov rsi, qword [rsp + 80] + QUAD $0x0c0f32542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 15], 12 + LONG $0x24448b48; BYTE $0x48 // mov rax, qword [rsp + 72] QUAD $0x0d0f02542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 15], 13 - LONG $0x244c8b48; BYTE $0x30 // mov rcx, qword [rsp + 48] - QUAD $0x0e0f0a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 15], 14 - LONG $0x24448b48; BYTE $0x50 // mov rax, qword [rsp + 80] - QUAD $0x0f0f02542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 15], 15 - QUAD $0x0000010824848b48 // mov rax, qword [rsp + 264] + LONG $0x24748b48; BYTE $0x40 // mov rsi, qword [rsp + 64] + QUAD $0x0e0f32542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 15], 14 + LONG $0x24748b48; BYTE $0x60 // mov rsi, qword [rsp + 96] + QUAD $0x0f0f32542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 15], 15 + QUAD $0x0000010024848b48 // mov rax, qword [rsp + 256] LONG $0x0274b60f; BYTE $0x0f // movzx esi, byte [rdx + rax + 15] LONG $0xde6ef9c5 // vmovd xmm3, esi - QUAD $0x010f1a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 15], 1 - LONG $0x24448b48; BYTE $0x40 // mov rax, qword [rsp + 64] - QUAD $0x020f025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 15], 2 + QUAD $0x000000c024b48b48 // mov rsi, qword [rsp + 192] + QUAD $0x010f325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 15], 1 + QUAD $0x020f1a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r11 + 15], 2 + LONG $0x24748b48; BYTE $0x38 // mov rsi, qword [rsp + 56] + QUAD $0x030f325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 15], 3 + QUAD $0x000000a824b48b48 // mov rsi, qword [rsp + 168] + QUAD $0x040f325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 15], 4 + QUAD $0x050f0a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r9 + 15], 5 + QUAD $0x0000009824b48b48 // mov rsi, qword [rsp + 152] + QUAD $0x060f325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 15], 6 + QUAD $0x000000f824b48b48 // mov rsi, qword [rsp + 248] + QUAD $0x070f325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 15], 7 + QUAD $0x080f1a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 15], 8 QUAD $0x000000b024848b48 // mov rax, qword [rsp + 176] - QUAD $0x030f025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 15], 3 - LONG $0x24448b48; BYTE $0x68 // mov rax, qword [rsp + 104] - QUAD $0x040f025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 15], 4 - LONG $0x247c8b4c; BYTE $0x60 // mov r15, qword [rsp + 96] - QUAD $0x050f3a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r15 + 15], 5 - QUAD $0x000000a024848b48 // mov rax, qword [rsp + 160] - QUAD $0x060f025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 15], 6 - QUAD $0x070f125c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r10 + 15], 7 - QUAD $0x0000008824948b4c // mov r10, qword [rsp + 136] - QUAD $0x080f125c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r10 + 15], 8 - QUAD $0x090f225c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r12 + 15], 9 - QUAD $0x0a0f325c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r14 + 15], 10 - QUAD $0x000000d824b48b4c // mov r14, qword [rsp + 216] - QUAD $0x0b0f325c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r14 + 15], 11 - QUAD $0x0000012024848b48 // mov rax, qword [rsp + 288] + QUAD $0x090f025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 15], 9 + LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] + QUAD $0x0a0f025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 15], 10 + QUAD $0x0b0f0a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 15], 11 + LONG $0x24448b48; BYTE $0x30 // mov rax, qword [rsp + 48] QUAD $0x0c0f025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 15], 12 - QUAD $0x0d0f1a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r11 + 15], 13 - LONG $0x245c8b4c; BYTE $0x48 // mov r11, qword [rsp + 72] - QUAD $0x0e0f1a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r11 + 15], 14 - LONG $0x24648b4c; BYTE $0x38 // mov r12, qword [rsp + 56] - QUAD $0x0f0f225c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r12 + 15], 15 + QUAD $0x0d0f025c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r8 + 15], 13 + QUAD $0x0000012024848b48 // mov rax, qword [rsp + 288] + QUAD $0x0e0f025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 15], 14 + QUAD $0x0f0f3a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 15], 15 LONG $0x387de3c4; WORD $0x01c1 // vinserti128 ymm0, ymm0, xmm1, 1 QUAD $0x00038024847ffdc5; BYTE $0x00 // vmovdqa yword [rsp + 896], ymm0 LONG $0x3865e3c4; WORD $0x01c2 // vinserti128 ymm0, ymm3, xmm2, 1 QUAD $0x0003a024847ffdc5; BYTE $0x00 // vmovdqa yword [rsp + 928], ymm0 - QUAD $0x0000010024b48b48 // mov rsi, qword [rsp + 256] - LONG $0x3274b60f; BYTE $0x10 // movzx esi, byte [rdx + rsi + 16] + LONG $0x74b60f42; WORD $0x1032 // movzx esi, byte [rdx + r14 + 16] LONG $0xc66ef9c5 // vmovd xmm0, esi - QUAD $0x000000e8248c8b4c // mov r9, qword [rsp + 232] - QUAD $0x01100a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r9 + 16], 1 - QUAD $0x000000a824b48b48 // mov rsi, qword [rsp + 168] - QUAD $0x021032442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 16], 2 - LONG $0x24748b48; BYTE $0x70 // mov rsi, qword [rsp + 112] - QUAD $0x031032442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 16], 3 - QUAD $0x000000f024b48b48 // mov rsi, qword [rsp + 240] - QUAD $0x041032442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 16], 4 - QUAD $0x000000f824b48b48 // mov rsi, qword [rsp + 248] - QUAD $0x051032442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 16], 5 - LONG $0x24748b48; BYTE $0x28 // mov rsi, qword [rsp + 40] - QUAD $0x061032442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 16], 6 - QUAD $0x07102a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r13 + 16], 7 - QUAD $0x081002442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r8 + 16], 8 - QUAD $0x000000b824b48b48 // mov rsi, qword [rsp + 184] - QUAD $0x091032442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 16], 9 - QUAD $0x0a103a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rdi + 16], 10 - LONG $0x24748b48; BYTE $0x58 // mov rsi, qword [rsp + 88] - QUAD $0x0b1032442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 16], 11 - QUAD $0x0000008024b48b48 // mov rsi, qword [rsp + 128] - QUAD $0x0c1032442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 16], 12 - QUAD $0x000000d024b48b48 // mov rsi, qword [rsp + 208] + LONG $0x244c8b48; BYTE $0x68 // mov rcx, qword [rsp + 104] + QUAD $0x01100a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 16], 1 + QUAD $0x0000010824848b48 // mov rax, qword [rsp + 264] + QUAD $0x021002442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 16], 2 + QUAD $0x000000c824848b48 // mov rax, qword [rsp + 200] + QUAD $0x031002442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 16], 3 + QUAD $0x041012442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r10 + 16], 4 + QUAD $0x000000b824848b48 // mov rax, qword [rsp + 184] + QUAD $0x051002442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 16], 5 + QUAD $0x0000009024848b48 // mov rax, qword [rsp + 144] + QUAD $0x061002442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 16], 6 + QUAD $0x07103a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r15 + 16], 7 + QUAD $0x000000e0249c8b4c // mov r11, qword [rsp + 224] + QUAD $0x08101a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r11 + 16], 8 + QUAD $0x09102a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r13 + 16], 9 + QUAD $0x0a1022442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r12 + 16], 10 + QUAD $0x000000d824848b48 // mov rax, qword [rsp + 216] + QUAD $0x0b1002442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 16], 11 + LONG $0x24448b48; BYTE $0x50 // mov rax, qword [rsp + 80] + QUAD $0x0c1002442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 16], 12 + LONG $0x24748b48; BYTE $0x48 // mov rsi, qword [rsp + 72] QUAD $0x0d1032442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 16], 13 - QUAD $0x0e100a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 16], 14 - LONG $0x244c8b48; BYTE $0x50 // mov rcx, qword [rsp + 80] - QUAD $0x0f100a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 16], 15 - QUAD $0x00000108249c8b48 // mov rbx, qword [rsp + 264] + LONG $0x24748b4c; BYTE $0x40 // mov r14, qword [rsp + 64] + QUAD $0x0e1032442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r14 + 16], 14 + LONG $0x24448b4c; BYTE $0x60 // mov r8, qword [rsp + 96] + QUAD $0x0f1002442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r8 + 16], 15 + QUAD $0x00000100249c8b48 // mov rbx, qword [rsp + 256] LONG $0x1a74b60f; BYTE $0x10 // movzx esi, byte [rdx + rbx + 16] LONG $0xce6ef9c5 // vmovd xmm1, esi - LONG $0x24448b4c; BYTE $0x78 // mov r8, qword [rsp + 120] - QUAD $0x0110024c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r8 + 16], 1 - LONG $0x24748b48; BYTE $0x40 // mov rsi, qword [rsp + 64] + QUAD $0x000000c024948b4c // mov r10, qword [rsp + 192] + QUAD $0x0110124c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r10 + 16], 1 + LONG $0x24748b48; BYTE $0x78 // mov rsi, qword [rsp + 120] QUAD $0x0210324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 16], 2 - QUAD $0x000000b024b48b48 // mov rsi, qword [rsp + 176] - QUAD $0x0310324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 16], 3 - LONG $0x24748b48; BYTE $0x68 // mov rsi, qword [rsp + 104] + LONG $0x247c8b48; BYTE $0x38 // mov rdi, qword [rsp + 56] + QUAD $0x03103a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 16], 3 + QUAD $0x000000a824b48b48 // mov rsi, qword [rsp + 168] QUAD $0x0410324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 16], 4 + QUAD $0x0000008824bc8b4c // mov r15, qword [rsp + 136] QUAD $0x05103a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r15 + 16], 5 - QUAD $0x000000a024b48b48 // mov rsi, qword [rsp + 160] + QUAD $0x0000009824b48b48 // mov rsi, qword [rsp + 152] QUAD $0x0610324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 16], 6 - QUAD $0x0000009024b48b48 // mov rsi, qword [rsp + 144] - QUAD $0x0710324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 16], 7 - QUAD $0x0810124c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r10 + 16], 8 - QUAD $0x0000009824bc8b48 // mov rdi, qword [rsp + 152] - QUAD $0x09103a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 16], 9 - QUAD $0x0000014024b48b48 // mov rsi, qword [rsp + 320] + QUAD $0x000000f8248c8b4c // mov r9, qword [rsp + 248] + QUAD $0x07100a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r9 + 16], 7 + QUAD $0x000000a024ac8b4c // mov r13, qword [rsp + 160] + QUAD $0x08102a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r13 + 16], 8 + QUAD $0x000000b024b48b48 // mov rsi, qword [rsp + 176] + QUAD $0x0910324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 16], 9 + LONG $0x24748b48; BYTE $0x28 // mov rsi, qword [rsp + 40] QUAD $0x0a10324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 16], 10 - QUAD $0x0b10324c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r14 + 16], 11 - QUAD $0x0c10024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 16], 12 - LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] - QUAD $0x0d10024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 16], 13 - QUAD $0x0e101a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r11 + 16], 14 - QUAD $0x0f10224c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r12 + 16], 15 - QUAD $0x0000010024848b48 // mov rax, qword [rsp + 256] - LONG $0x0274b60f; BYTE $0x11 // movzx esi, byte [rdx + rax + 17] - LONG $0xd66ef9c5 // vmovd xmm2, esi - QUAD $0x01110a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r9 + 17], 1 - QUAD $0x000000a8249c8b4c // mov r11, qword [rsp + 168] - QUAD $0x02111a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r11 + 17], 2 - LONG $0x24548b4c; BYTE $0x70 // mov r10, qword [rsp + 112] - QUAD $0x031112542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r10 + 17], 3 - QUAD $0x000000f024848b48 // mov rax, qword [rsp + 240] - QUAD $0x041102542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 17], 4 - QUAD $0x000000f824ac8b4c // mov r13, qword [rsp + 248] - QUAD $0x05112a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r13 + 17], 5 - LONG $0x244c8b4c; BYTE $0x28 // mov r9, qword [rsp + 40] - QUAD $0x06110a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r9 + 17], 6 - QUAD $0x000000c824848b48 // mov rax, qword [rsp + 200] - QUAD $0x071102542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 17], 7 - QUAD $0x000000c024b48b4c // mov r14, qword [rsp + 192] - QUAD $0x081132542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r14 + 17], 8 - QUAD $0x000000b824bc8b4c // mov r15, qword [rsp + 184] - QUAD $0x09113a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r15 + 17], 9 - QUAD $0x000000e024848b48 // mov rax, qword [rsp + 224] - QUAD $0x0a1102542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 17], 10 - LONG $0x24448b48; BYTE $0x58 // mov rax, qword [rsp + 88] - QUAD $0x0b1102542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 17], 11 QUAD $0x0000008024a48b4c // mov r12, qword [rsp + 128] - QUAD $0x0c1122542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r12 + 17], 12 - QUAD $0x000000d024b48b48 // mov rsi, qword [rsp + 208] - QUAD $0x0d1132542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 17], 13 + QUAD $0x0b10224c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r12 + 16], 11 LONG $0x24748b48; BYTE $0x30 // mov rsi, qword [rsp + 48] - QUAD $0x0e1132542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 17], 14 - QUAD $0x0f110a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 17], 15 + QUAD $0x0c10324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 16], 12 + LONG $0x24748b48; BYTE $0x20 // mov rsi, qword [rsp + 32] + QUAD $0x0d10324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 16], 13 + QUAD $0x0000012024b48b48 // mov rsi, qword [rsp + 288] + QUAD $0x0e10324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 16], 14 + QUAD $0x0000014024b48b48 // mov rsi, qword [rsp + 320] + QUAD $0x0f10324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 16], 15 + QUAD $0x000000f024b48b48 // mov rsi, qword [rsp + 240] + LONG $0x3274b60f; BYTE $0x11 // movzx esi, byte [rdx + rsi + 17] + LONG $0xd66ef9c5 // vmovd xmm2, esi + QUAD $0x01110a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 17], 1 + QUAD $0x00000108248c8b48 // mov rcx, qword [rsp + 264] + QUAD $0x02110a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 17], 2 + QUAD $0x000000c8248c8b48 // mov rcx, qword [rsp + 200] + QUAD $0x03110a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 17], 3 + LONG $0x244c8b48; BYTE $0x70 // mov rcx, qword [rsp + 112] + QUAD $0x04110a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 17], 4 + QUAD $0x000000b8248c8b48 // mov rcx, qword [rsp + 184] + QUAD $0x05110a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 17], 5 + QUAD $0x00000090248c8b48 // mov rcx, qword [rsp + 144] + QUAD $0x06110a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 17], 6 + QUAD $0x000000d0248c8b48 // mov rcx, qword [rsp + 208] + QUAD $0x07110a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 17], 7 + QUAD $0x08111a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r11 + 17], 8 + QUAD $0x000000e8248c8b48 // mov rcx, qword [rsp + 232] + QUAD $0x09110a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 17], 9 + LONG $0x244c8b48; BYTE $0x58 // mov rcx, qword [rsp + 88] + QUAD $0x0a110a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 17], 10 + QUAD $0x000000d8248c8b48 // mov rcx, qword [rsp + 216] + QUAD $0x0b110a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 17], 11 + QUAD $0x0c1102542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 17], 12 + LONG $0x24448b48; BYTE $0x48 // mov rax, qword [rsp + 72] + QUAD $0x0d1102542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 17], 13 + QUAD $0x0e1132542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r14 + 17], 14 + QUAD $0x0f1102542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r8 + 17], 15 LONG $0x1a74b60f; BYTE $0x11 // movzx esi, byte [rdx + rbx + 17] LONG $0xde6ef9c5 // vmovd xmm3, esi - QUAD $0x0111025c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r8 + 17], 1 - LONG $0x244c8b48; BYTE $0x40 // mov rcx, qword [rsp + 64] - QUAD $0x02110a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 17], 2 + QUAD $0x0111125c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r10 + 17], 1 + LONG $0x24448b48; BYTE $0x78 // mov rax, qword [rsp + 120] + QUAD $0x0211025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 17], 2 + QUAD $0x03113a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 17], 3 + QUAD $0x000000a824bc8b48 // mov rdi, qword [rsp + 168] + QUAD $0x04113a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 17], 4 + QUAD $0x05113a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r15 + 17], 5 + QUAD $0x0000009824bc8b4c // mov r15, qword [rsp + 152] + QUAD $0x06113a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r15 + 17], 6 + QUAD $0x07110a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r9 + 17], 7 + QUAD $0x08112a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r13 + 17], 8 QUAD $0x000000b024848b4c // mov r8, qword [rsp + 176] - QUAD $0x0311025c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r8 + 17], 3 - LONG $0x24748b48; BYTE $0x68 // mov rsi, qword [rsp + 104] - QUAD $0x0411325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 17], 4 - LONG $0x24748b48; BYTE $0x60 // mov rsi, qword [rsp + 96] - QUAD $0x0511325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 17], 5 - QUAD $0x000000a024b48b48 // mov rsi, qword [rsp + 160] - QUAD $0x0611325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 17], 6 - QUAD $0x0000009024b48b48 // mov rsi, qword [rsp + 144] - QUAD $0x0711325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 17], 7 - QUAD $0x0000008824b48b48 // mov rsi, qword [rsp + 136] - QUAD $0x0811325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 17], 8 - QUAD $0x09113a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 17], 9 - QUAD $0x0000014024bc8b48 // mov rdi, qword [rsp + 320] - QUAD $0x0a113a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 17], 10 - QUAD $0x000000d824b48b48 // mov rsi, qword [rsp + 216] - QUAD $0x0b11325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 17], 11 - QUAD $0x0000012024b48b48 // mov rsi, qword [rsp + 288] - QUAD $0x0c11325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 17], 12 - LONG $0x24748b48; BYTE $0x20 // mov rsi, qword [rsp + 32] - QUAD $0x0d11325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 17], 13 - LONG $0x24748b48; BYTE $0x48 // mov rsi, qword [rsp + 72] - QUAD $0x0e11325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 17], 14 + QUAD $0x0911025c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r8 + 17], 9 + LONG $0x244c8b48; BYTE $0x28 // mov rcx, qword [rsp + 40] + QUAD $0x0a110a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 17], 10 + QUAD $0x0b11225c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r12 + 17], 11 + LONG $0x244c8b4c; BYTE $0x30 // mov r9, qword [rsp + 48] + QUAD $0x0c110a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r9 + 17], 12 + LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] + QUAD $0x0d11025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 17], 13 + QUAD $0x0000012024848b48 // mov rax, qword [rsp + 288] + QUAD $0x0e11025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 17], 14 LONG $0x3875e3c4; WORD $0x01c0 // vinserti128 ymm0, ymm1, xmm0, 1 QUAD $0x00036024847ffdc5; BYTE $0x00 // vmovdqa yword [rsp + 864], ymm0 - LONG $0x24748b48; BYTE $0x38 // mov rsi, qword [rsp + 56] - QUAD $0x0f1132442061e3c4 // vpinsrb xmm0, xmm3, byte [rdx + rsi + 17], 15 + QUAD $0x0000014024848b48 // mov rax, qword [rsp + 320] + QUAD $0x0f1102442061e3c4 // vpinsrb xmm0, xmm3, byte [rdx + rax + 17], 15 LONG $0x387de3c4; WORD $0x01c2 // vinserti128 ymm0, ymm0, xmm2, 1 QUAD $0x00034024847ffdc5; BYTE $0x00 // vmovdqa yword [rsp + 832], ymm0 - QUAD $0x0000010024b48b48 // mov rsi, qword [rsp + 256] - LONG $0x3274b60f; BYTE $0x12 // movzx esi, byte [rdx + rsi + 18] + QUAD $0x000000f0249c8b48 // mov rbx, qword [rsp + 240] + LONG $0x1a74b60f; BYTE $0x12 // movzx esi, byte [rdx + rbx + 18] LONG $0xc66ef9c5 // vmovd xmm0, esi - QUAD $0x000000e824b48b48 // mov rsi, qword [rsp + 232] - QUAD $0x011232442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 18], 1 - QUAD $0x02121a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r11 + 18], 2 + LONG $0x24448b48; BYTE $0x68 // mov rax, qword [rsp + 104] + QUAD $0x011202442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 18], 1 + QUAD $0x0000010824b48b4c // mov r14, qword [rsp + 264] + QUAD $0x021232442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r14 + 18], 2 + QUAD $0x000000c824948b4c // mov r10, qword [rsp + 200] QUAD $0x031212442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r10 + 18], 3 - QUAD $0x000000f024b48b48 // mov rsi, qword [rsp + 240] - QUAD $0x041232442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 18], 4 - QUAD $0x05122a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r13 + 18], 5 - QUAD $0x06120a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r9 + 18], 6 - QUAD $0x000000c824b48b48 // mov rsi, qword [rsp + 200] - QUAD $0x071232442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 18], 7 - QUAD $0x081232442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r14 + 18], 8 - QUAD $0x09123a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r15 + 18], 9 - QUAD $0x000000e024ac8b4c // mov r13, qword [rsp + 224] - QUAD $0x0a122a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r13 + 18], 10 + LONG $0x24448b48; BYTE $0x70 // mov rax, qword [rsp + 112] + QUAD $0x041202442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 18], 4 + QUAD $0x000000b8249c8b4c // mov r11, qword [rsp + 184] + QUAD $0x05121a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r11 + 18], 5 + QUAD $0x0000009024848b48 // mov rax, qword [rsp + 144] + QUAD $0x061202442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 18], 6 + QUAD $0x000000d024848b48 // mov rax, qword [rsp + 208] + QUAD $0x071202442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 18], 7 + QUAD $0x000000e024848b48 // mov rax, qword [rsp + 224] + QUAD $0x081202442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 18], 8 + QUAD $0x000000e824848b48 // mov rax, qword [rsp + 232] + QUAD $0x091202442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 18], 9 + LONG $0x24448b48; BYTE $0x58 // mov rax, qword [rsp + 88] + QUAD $0x0a1202442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 18], 10 + QUAD $0x000000d824848b48 // mov rax, qword [rsp + 216] QUAD $0x0b1202442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 18], 11 - QUAD $0x0c1222442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r12 + 18], 12 - QUAD $0x000000d0248c8b4c // mov r9, qword [rsp + 208] - QUAD $0x0d120a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r9 + 18], 13 - LONG $0x24448b48; BYTE $0x30 // mov rax, qword [rsp + 48] - QUAD $0x0e1202442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 18], 14 - LONG $0x24448b48; BYTE $0x50 // mov rax, qword [rsp + 80] - QUAD $0x0f1202442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 18], 15 - LONG $0x1a74b60f; BYTE $0x12 // movzx esi, byte [rdx + rbx + 18] - LONG $0xce6ef9c5 // vmovd xmm1, esi - LONG $0x24748b4c; BYTE $0x78 // mov r14, qword [rsp + 120] - QUAD $0x0112324c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r14 + 18], 1 - QUAD $0x02120a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 18], 2 - QUAD $0x0312024c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r8 + 18], 3 - LONG $0x24448b48; BYTE $0x68 // mov rax, qword [rsp + 104] - QUAD $0x0412024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 18], 4 - LONG $0x24448b48; BYTE $0x60 // mov rax, qword [rsp + 96] - QUAD $0x0512024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 18], 5 - QUAD $0x000000a024848b48 // mov rax, qword [rsp + 160] - QUAD $0x0612024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 18], 6 - QUAD $0x00000090249c8b4c // mov r11, qword [rsp + 144] - QUAD $0x07121a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r11 + 18], 7 - QUAD $0x00000088248c8b48 // mov rcx, qword [rsp + 136] - QUAD $0x08120a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 18], 8 - QUAD $0x0000009824848b48 // mov rax, qword [rsp + 152] - QUAD $0x0912024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 18], 9 - QUAD $0x0a123a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 18], 10 - QUAD $0x000000d824b48b48 // mov rsi, qword [rsp + 216] - QUAD $0x0b12324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 18], 11 - QUAD $0x0000012024b48b48 // mov rsi, qword [rsp + 288] - QUAD $0x0c12324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 18], 12 - LONG $0x24648b4c; BYTE $0x20 // mov r12, qword [rsp + 32] - QUAD $0x0d12224c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r12 + 18], 13 + LONG $0x24748b48; BYTE $0x50 // mov rsi, qword [rsp + 80] + QUAD $0x0c1232442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 18], 12 LONG $0x24748b48; BYTE $0x48 // mov rsi, qword [rsp + 72] - QUAD $0x0e12324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 18], 14 - LONG $0x24548b4c; BYTE $0x38 // mov r10, qword [rsp + 56] - QUAD $0x0f12124c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r10 + 18], 15 - QUAD $0x0000010024bc8b4c // mov r15, qword [rsp + 256] - LONG $0x74b60f42; WORD $0x133a // movzx esi, byte [rdx + r15 + 19] - LONG $0xd66ef9c5 // vmovd xmm2, esi - QUAD $0x000000e824b48b48 // mov rsi, qword [rsp + 232] - QUAD $0x011332542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 19], 1 - QUAD $0x000000a824b48b48 // mov rsi, qword [rsp + 168] - QUAD $0x021332542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 19], 2 - LONG $0x24748b48; BYTE $0x70 // mov rsi, qword [rsp + 112] - QUAD $0x031332542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 19], 3 - QUAD $0x000000f024b48b48 // mov rsi, qword [rsp + 240] - QUAD $0x041332542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 19], 4 - QUAD $0x000000f824b48b48 // mov rsi, qword [rsp + 248] - QUAD $0x051332542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 19], 5 - LONG $0x24748b48; BYTE $0x28 // mov rsi, qword [rsp + 40] - QUAD $0x061332542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 19], 6 - QUAD $0x000000c824b48b48 // mov rsi, qword [rsp + 200] - QUAD $0x071332542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 19], 7 + QUAD $0x0d1232442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 18], 13 + LONG $0x24648b4c; BYTE $0x40 // mov r12, qword [rsp + 64] + QUAD $0x0e1222442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r12 + 18], 14 + LONG $0x246c8b4c; BYTE $0x60 // mov r13, qword [rsp + 96] + QUAD $0x0f122a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r13 + 18], 15 + QUAD $0x0000010024b48b48 // mov rsi, qword [rsp + 256] + LONG $0x3274b60f; BYTE $0x12 // movzx esi, byte [rdx + rsi + 18] + LONG $0xce6ef9c5 // vmovd xmm1, esi QUAD $0x000000c024b48b48 // mov rsi, qword [rsp + 192] - QUAD $0x081332542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 19], 8 - QUAD $0x000000b824b48b48 // mov rsi, qword [rsp + 184] - QUAD $0x091332542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 19], 9 - QUAD $0x0a132a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r13 + 19], 10 - LONG $0x24748b48; BYTE $0x58 // mov rsi, qword [rsp + 88] - QUAD $0x0b1332542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 19], 11 - QUAD $0x0000008024b48b48 // mov rsi, qword [rsp + 128] - QUAD $0x0c1332542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 19], 12 - QUAD $0x0d130a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r9 + 19], 13 - LONG $0x247c8b48; BYTE $0x30 // mov rdi, qword [rsp + 48] - QUAD $0x0e133a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 19], 14 - LONG $0x24448b4c; BYTE $0x50 // mov r8, qword [rsp + 80] - QUAD $0x0f1302542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r8 + 19], 15 + QUAD $0x0112324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 18], 1 + LONG $0x24748b48; BYTE $0x78 // mov rsi, qword [rsp + 120] + QUAD $0x0212324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 18], 2 + LONG $0x24748b48; BYTE $0x38 // mov rsi, qword [rsp + 56] + QUAD $0x0312324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 18], 3 + QUAD $0x04123a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 18], 4 + QUAD $0x0000008824b48b48 // mov rsi, qword [rsp + 136] + QUAD $0x0512324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 18], 5 + QUAD $0x06123a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r15 + 18], 6 + QUAD $0x000000f824bc8b4c // mov r15, qword [rsp + 248] + QUAD $0x07123a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r15 + 18], 7 + QUAD $0x000000a024b48b48 // mov rsi, qword [rsp + 160] + QUAD $0x0812324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 18], 8 + QUAD $0x0912024c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r8 + 18], 9 + QUAD $0x0a120a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 18], 10 + QUAD $0x00000080248c8b48 // mov rcx, qword [rsp + 128] + QUAD $0x0b120a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 18], 11 + QUAD $0x0c120a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r9 + 18], 12 + LONG $0x244c8b48; BYTE $0x20 // mov rcx, qword [rsp + 32] + QUAD $0x0d120a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 18], 13 + QUAD $0x00000120248c8b48 // mov rcx, qword [rsp + 288] + QUAD $0x0e120a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 18], 14 + QUAD $0x00000140248c8b48 // mov rcx, qword [rsp + 320] + QUAD $0x0f120a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 18], 15 LONG $0x1a74b60f; BYTE $0x13 // movzx esi, byte [rdx + rbx + 19] + LONG $0xd66ef9c5 // vmovd xmm2, esi + LONG $0x244c8b48; BYTE $0x68 // mov rcx, qword [rsp + 104] + QUAD $0x01130a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 19], 1 + QUAD $0x021332542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r14 + 19], 2 + QUAD $0x031312542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r10 + 19], 3 + LONG $0x244c8b4c; BYTE $0x70 // mov r9, qword [rsp + 112] + QUAD $0x04130a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r9 + 19], 4 + QUAD $0x05131a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r11 + 19], 5 + QUAD $0x00000090248c8b48 // mov rcx, qword [rsp + 144] + QUAD $0x06130a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 19], 6 + QUAD $0x000000d024848b4c // mov r8, qword [rsp + 208] + QUAD $0x071302542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r8 + 19], 7 + QUAD $0x000000e024b48b4c // mov r14, qword [rsp + 224] + QUAD $0x081332542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r14 + 19], 8 + QUAD $0x000000e824948b4c // mov r10, qword [rsp + 232] + QUAD $0x091312542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r10 + 19], 9 + LONG $0x24748b48; BYTE $0x58 // mov rsi, qword [rsp + 88] + QUAD $0x0a1332542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 19], 10 + QUAD $0x0b1302542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 19], 11 + LONG $0x24448b48; BYTE $0x50 // mov rax, qword [rsp + 80] + QUAD $0x0c1302542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 19], 12 + LONG $0x245c8b48; BYTE $0x48 // mov rbx, qword [rsp + 72] + QUAD $0x0d131a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rbx + 19], 13 + QUAD $0x0e1322542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r12 + 19], 14 + QUAD $0x0f132a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r13 + 19], 15 + QUAD $0x0000010024848b48 // mov rax, qword [rsp + 256] + LONG $0x0274b60f; BYTE $0x13 // movzx esi, byte [rdx + rax + 19] LONG $0xde6ef9c5 // vmovd xmm3, esi - QUAD $0x0113325c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r14 + 19], 1 - LONG $0x24748b48; BYTE $0x40 // mov rsi, qword [rsp + 64] - QUAD $0x0213325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 19], 2 - QUAD $0x000000b0249c8b48 // mov rbx, qword [rsp + 176] - QUAD $0x03131a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 19], 3 - LONG $0x24748b48; BYTE $0x68 // mov rsi, qword [rsp + 104] - QUAD $0x0413325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 19], 4 - LONG $0x24748b48; BYTE $0x60 // mov rsi, qword [rsp + 96] - QUAD $0x0513325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 19], 5 - QUAD $0x000000a024ac8b4c // mov r13, qword [rsp + 160] - QUAD $0x06132a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r13 + 19], 6 - QUAD $0x07131a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r11 + 19], 7 - QUAD $0x08130a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 19], 8 + QUAD $0x000000c0249c8b4c // mov r11, qword [rsp + 192] + QUAD $0x01131a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r11 + 19], 1 + LONG $0x24448b48; BYTE $0x78 // mov rax, qword [rsp + 120] + QUAD $0x0213025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 19], 2 + LONG $0x24448b48; BYTE $0x38 // mov rax, qword [rsp + 56] + QUAD $0x0313025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 19], 3 + QUAD $0x04133a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 19], 4 + QUAD $0x0000008824848b48 // mov rax, qword [rsp + 136] + QUAD $0x0513025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 19], 5 + QUAD $0x0000009824bc8b48 // mov rdi, qword [rsp + 152] + QUAD $0x06133a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 19], 6 + QUAD $0x07133a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r15 + 19], 7 + QUAD $0x000000a024848b48 // mov rax, qword [rsp + 160] + QUAD $0x0813025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 19], 8 + QUAD $0x000000b024848b48 // mov rax, qword [rsp + 176] QUAD $0x0913025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 19], 9 - QUAD $0x0000014024848b48 // mov rax, qword [rsp + 320] + LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] QUAD $0x0a13025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 19], 10 - QUAD $0x000000d824848b48 // mov rax, qword [rsp + 216] + QUAD $0x0000008024848b48 // mov rax, qword [rsp + 128] QUAD $0x0b13025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 19], 11 - QUAD $0x00000120248c8b4c // mov r9, qword [rsp + 288] - QUAD $0x0c130a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r9 + 19], 12 - QUAD $0x0d13225c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r12 + 19], 13 - LONG $0x24748b4c; BYTE $0x48 // mov r14, qword [rsp + 72] - QUAD $0x0e13325c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r14 + 19], 14 - QUAD $0x0f13125c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r10 + 19], 15 + LONG $0x24448b48; BYTE $0x30 // mov rax, qword [rsp + 48] + QUAD $0x0c13025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 19], 12 + LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] + QUAD $0x0d13025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 19], 13 + QUAD $0x0000012024848b48 // mov rax, qword [rsp + 288] + QUAD $0x0e13025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 19], 14 + QUAD $0x0000014024848b48 // mov rax, qword [rsp + 320] + QUAD $0x0f13025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 19], 15 LONG $0x3875e3c4; WORD $0x01c0 // vinserti128 ymm0, ymm1, xmm0, 1 QUAD $0x00030024847ffdc5; BYTE $0x00 // vmovdqa yword [rsp + 768], ymm0 LONG $0x3865e3c4; WORD $0x01c2 // vinserti128 ymm0, ymm3, xmm2, 1 QUAD $0x00032024847ffdc5; BYTE $0x00 // vmovdqa yword [rsp + 800], ymm0 - LONG $0x74b60f42; WORD $0x143a // movzx esi, byte [rdx + r15 + 20] + QUAD $0x000000f024848b48 // mov rax, qword [rsp + 240] + LONG $0x0274b60f; BYTE $0x14 // movzx esi, byte [rdx + rax + 20] LONG $0xc66ef9c5 // vmovd xmm0, esi - QUAD $0x000000e8249c8b4c // mov r11, qword [rsp + 232] - QUAD $0x01141a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r11 + 20], 1 - QUAD $0x000000a824a48b4c // mov r12, qword [rsp + 168] - QUAD $0x021422442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r12 + 20], 2 - LONG $0x24448b48; BYTE $0x70 // mov rax, qword [rsp + 112] - QUAD $0x031402442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 20], 3 - QUAD $0x000000f0248c8b48 // mov rcx, qword [rsp + 240] - QUAD $0x04140a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 20], 4 - QUAD $0x000000f824948b4c // mov r10, qword [rsp + 248] - QUAD $0x051412442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r10 + 20], 5 - LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] - QUAD $0x061402442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 20], 6 + LONG $0x24648b4c; BYTE $0x68 // mov r12, qword [rsp + 104] + QUAD $0x011422442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r12 + 20], 1 + QUAD $0x0000010824848b48 // mov rax, qword [rsp + 264] + QUAD $0x021402442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 20], 2 QUAD $0x000000c824848b48 // mov rax, qword [rsp + 200] - QUAD $0x071402442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 20], 7 - QUAD $0x000000c024848b48 // mov rax, qword [rsp + 192] - QUAD $0x081402442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 20], 8 + QUAD $0x031402442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 20], 3 + QUAD $0x04140a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r9 + 20], 4 QUAD $0x000000b824848b48 // mov rax, qword [rsp + 184] - QUAD $0x091402442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 20], 9 - QUAD $0x000000e024848b48 // mov rax, qword [rsp + 224] - QUAD $0x0a1402442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 20], 10 + QUAD $0x051402442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 20], 5 + QUAD $0x06140a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 20], 6 + QUAD $0x071402442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r8 + 20], 7 + QUAD $0x081432442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r14 + 20], 8 + QUAD $0x091412442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r10 + 20], 9 LONG $0x24448b48; BYTE $0x58 // mov rax, qword [rsp + 88] - QUAD $0x0b1402442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 20], 11 - QUAD $0x0000008024848b48 // mov rax, qword [rsp + 128] - QUAD $0x0c1402442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 20], 12 - QUAD $0x000000d024848b48 // mov rax, qword [rsp + 208] - QUAD $0x0d1402442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 20], 13 - QUAD $0x0e143a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rdi + 20], 14 - QUAD $0x0f1402442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r8 + 20], 15 - QUAD $0x0000010824848b48 // mov rax, qword [rsp + 264] - LONG $0x0274b60f; BYTE $0x14 // movzx esi, byte [rdx + rax + 20] + QUAD $0x0a1402442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 20], 10 + QUAD $0x000000d8248c8b48 // mov rcx, qword [rsp + 216] + QUAD $0x0b140a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 20], 11 + LONG $0x246c8b4c; BYTE $0x50 // mov r13, qword [rsp + 80] + QUAD $0x0c142a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r13 + 20], 12 + QUAD $0x0d141a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rbx + 20], 13 + LONG $0x245c8b48; BYTE $0x40 // mov rbx, qword [rsp + 64] + QUAD $0x0e141a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rbx + 20], 14 + LONG $0x244c8b48; BYTE $0x60 // mov rcx, qword [rsp + 96] + QUAD $0x0f140a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 20], 15 + QUAD $0x00000100248c8b4c // mov r9, qword [rsp + 256] + LONG $0x74b60f42; WORD $0x140a // movzx esi, byte [rdx + r9 + 20] LONG $0xce6ef9c5 // vmovd xmm1, esi - LONG $0x24448b48; BYTE $0x78 // mov rax, qword [rsp + 120] - QUAD $0x0114024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 20], 1 - LONG $0x24448b48; BYTE $0x40 // mov rax, qword [rsp + 64] - QUAD $0x0214024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 20], 2 - QUAD $0x03141a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rbx + 20], 3 - LONG $0x24448b48; BYTE $0x68 // mov rax, qword [rsp + 104] - QUAD $0x0414024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 20], 4 - LONG $0x247c8b4c; BYTE $0x60 // mov r15, qword [rsp + 96] - QUAD $0x05143a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r15 + 20], 5 - QUAD $0x06142a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r13 + 20], 6 - QUAD $0x0000009024b48b48 // mov rsi, qword [rsp + 144] + QUAD $0x01141a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r11 + 20], 1 + LONG $0x24448b4c; BYTE $0x78 // mov r8, qword [rsp + 120] + QUAD $0x0214024c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r8 + 20], 2 + LONG $0x247c8b4c; BYTE $0x38 // mov r15, qword [rsp + 56] + QUAD $0x03143a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r15 + 20], 3 + QUAD $0x000000a8248c8b48 // mov rcx, qword [rsp + 168] + QUAD $0x04140a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 20], 4 + QUAD $0x00000088248c8b48 // mov rcx, qword [rsp + 136] + QUAD $0x05140a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 20], 5 + QUAD $0x06143a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 20], 6 + QUAD $0x000000f824b48b48 // mov rsi, qword [rsp + 248] QUAD $0x0714324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 20], 7 - QUAD $0x0000008824b48b48 // mov rsi, qword [rsp + 136] + QUAD $0x000000a024b48b48 // mov rsi, qword [rsp + 160] QUAD $0x0814324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 20], 8 - QUAD $0x0000009824b48b48 // mov rsi, qword [rsp + 152] + QUAD $0x000000b024b48b48 // mov rsi, qword [rsp + 176] QUAD $0x0914324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 20], 9 - QUAD $0x0000014024b48b48 // mov rsi, qword [rsp + 320] - QUAD $0x0a14324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 20], 10 - QUAD $0x000000d824848b4c // mov r8, qword [rsp + 216] - QUAD $0x0b14024c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r8 + 20], 11 - QUAD $0x0c140a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r9 + 20], 12 - LONG $0x246c8b4c; BYTE $0x20 // mov r13, qword [rsp + 32] - QUAD $0x0d142a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r13 + 20], 13 - QUAD $0x0e14324c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r14 + 20], 14 - LONG $0x24748b48; BYTE $0x38 // mov rsi, qword [rsp + 56] - QUAD $0x0f14324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 20], 15 - QUAD $0x0000010024b48b48 // mov rsi, qword [rsp + 256] + LONG $0x24548b4c; BYTE $0x28 // mov r10, qword [rsp + 40] + QUAD $0x0a14124c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r10 + 20], 10 + QUAD $0x0000008024b48b48 // mov rsi, qword [rsp + 128] + QUAD $0x0b14324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 20], 11 + LONG $0x24748b48; BYTE $0x30 // mov rsi, qword [rsp + 48] + QUAD $0x0c14324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 20], 12 + LONG $0x247c8b48; BYTE $0x20 // mov rdi, qword [rsp + 32] + QUAD $0x0d143a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 20], 13 + QUAD $0x0000012024b48b48 // mov rsi, qword [rsp + 288] + QUAD $0x0e14324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 20], 14 + QUAD $0x0000014024b48b4c // mov r14, qword [rsp + 320] + QUAD $0x0f14324c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r14 + 20], 15 + QUAD $0x000000f024b48b48 // mov rsi, qword [rsp + 240] LONG $0x3274b60f; BYTE $0x15 // movzx esi, byte [rdx + rsi + 21] LONG $0xd66ef9c5 // vmovd xmm2, esi - QUAD $0x01151a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r11 + 21], 1 - QUAD $0x021522542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r12 + 21], 2 - LONG $0x24748b48; BYTE $0x70 // mov rsi, qword [rsp + 112] - QUAD $0x031532542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 21], 3 - QUAD $0x04150a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 21], 4 - QUAD $0x051512542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r10 + 21], 5 - LONG $0x247c8b48; BYTE $0x28 // mov rdi, qword [rsp + 40] - QUAD $0x06153a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 21], 6 + QUAD $0x011522542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r12 + 21], 1 + QUAD $0x0000010824b48b48 // mov rsi, qword [rsp + 264] + QUAD $0x021532542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 21], 2 QUAD $0x000000c8249c8b4c // mov r11, qword [rsp + 200] - QUAD $0x07151a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r11 + 21], 7 - QUAD $0x000000c024a48b4c // mov r12, qword [rsp + 192] - QUAD $0x081522542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r12 + 21], 8 - QUAD $0x000000b824948b4c // mov r10, qword [rsp + 184] - QUAD $0x091512542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r10 + 21], 9 - QUAD $0x000000e0248c8b48 // mov rcx, qword [rsp + 224] - QUAD $0x0a150a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 21], 10 - LONG $0x24748b4c; BYTE $0x58 // mov r14, qword [rsp + 88] - QUAD $0x0b1532542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r14 + 21], 11 - QUAD $0x00000080248c8b48 // mov rcx, qword [rsp + 128] - QUAD $0x0c150a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 21], 12 - QUAD $0x000000d0249c8b48 // mov rbx, qword [rsp + 208] - QUAD $0x0d151a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rbx + 21], 13 - LONG $0x244c8b48; BYTE $0x30 // mov rcx, qword [rsp + 48] - QUAD $0x0e150a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 21], 14 - LONG $0x244c8b48; BYTE $0x50 // mov rcx, qword [rsp + 80] - QUAD $0x0f150a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 21], 15 - QUAD $0x00000108248c8b48 // mov rcx, qword [rsp + 264] - LONG $0x0a74b60f; BYTE $0x15 // movzx esi, byte [rdx + rcx + 21] + QUAD $0x03151a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r11 + 21], 3 + LONG $0x24748b48; BYTE $0x70 // mov rsi, qword [rsp + 112] + QUAD $0x041532542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 21], 4 + QUAD $0x000000b824b48b48 // mov rsi, qword [rsp + 184] + QUAD $0x051532542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 21], 5 + QUAD $0x0000009024b48b48 // mov rsi, qword [rsp + 144] + QUAD $0x061532542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 21], 6 + QUAD $0x000000d024b48b48 // mov rsi, qword [rsp + 208] + QUAD $0x071532542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 21], 7 + QUAD $0x000000e024b48b48 // mov rsi, qword [rsp + 224] + QUAD $0x081532542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 21], 8 + QUAD $0x000000e824b48b48 // mov rsi, qword [rsp + 232] + QUAD $0x091532542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 21], 9 + QUAD $0x0a1502542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 21], 10 + QUAD $0x000000d824848b48 // mov rax, qword [rsp + 216] + QUAD $0x0b1502542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 21], 11 + QUAD $0x0c152a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r13 + 21], 12 + LONG $0x24448b48; BYTE $0x48 // mov rax, qword [rsp + 72] + QUAD $0x0d1502542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 21], 13 + QUAD $0x0e151a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rbx + 21], 14 + LONG $0x246c8b4c; BYTE $0x60 // mov r13, qword [rsp + 96] + QUAD $0x0f152a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r13 + 21], 15 + LONG $0x74b60f42; WORD $0x150a // movzx esi, byte [rdx + r9 + 21] LONG $0xde6ef9c5 // vmovd xmm3, esi - LONG $0x244c8b48; BYTE $0x78 // mov rcx, qword [rsp + 120] - QUAD $0x01150a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 21], 1 - LONG $0x244c8b48; BYTE $0x40 // mov rcx, qword [rsp + 64] - QUAD $0x02150a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 21], 2 - QUAD $0x000000b0248c8b48 // mov rcx, qword [rsp + 176] - QUAD $0x03150a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 21], 3 - QUAD $0x0415025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 21], 4 - QUAD $0x05153a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r15 + 21], 5 - QUAD $0x000000a024848b48 // mov rax, qword [rsp + 160] - QUAD $0x0615025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 21], 6 - QUAD $0x0000009024bc8b4c // mov r15, qword [rsp + 144] - QUAD $0x07153a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r15 + 21], 7 - QUAD $0x00000088248c8b48 // mov rcx, qword [rsp + 136] - QUAD $0x08150a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 21], 8 + QUAD $0x000000c024848b48 // mov rax, qword [rsp + 192] + QUAD $0x0115025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 21], 1 + QUAD $0x0215025c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r8 + 21], 2 + QUAD $0x03153a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r15 + 21], 3 + QUAD $0x000000a8248c8b4c // mov r9, qword [rsp + 168] + QUAD $0x04150a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r9 + 21], 4 + QUAD $0x05150a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 21], 5 QUAD $0x0000009824848b48 // mov rax, qword [rsp + 152] - QUAD $0x0915025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 21], 9 - QUAD $0x0000014024848b48 // mov rax, qword [rsp + 320] - QUAD $0x0a15025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 21], 10 - QUAD $0x0b15025c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r8 + 21], 11 - QUAD $0x0c150a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r9 + 21], 12 - QUAD $0x0d152a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r13 + 21], 13 - LONG $0x24448b48; BYTE $0x48 // mov rax, qword [rsp + 72] - QUAD $0x0e15025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 21], 14 + QUAD $0x0615025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 21], 6 + QUAD $0x000000f824848b48 // mov rax, qword [rsp + 248] + QUAD $0x0715025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 21], 7 + QUAD $0x000000a024848b48 // mov rax, qword [rsp + 160] + QUAD $0x0815025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 21], 8 + QUAD $0x000000b024a48b4c // mov r12, qword [rsp + 176] + QUAD $0x0915225c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r12 + 21], 9 + QUAD $0x0a15125c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r10 + 21], 10 + QUAD $0x00000080249c8b48 // mov rbx, qword [rsp + 128] + QUAD $0x0b151a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 21], 11 + LONG $0x244c8b48; BYTE $0x30 // mov rcx, qword [rsp + 48] + QUAD $0x0c150a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 21], 12 + QUAD $0x0d153a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 21], 13 + QUAD $0x00000120248c8b48 // mov rcx, qword [rsp + 288] + QUAD $0x0e150a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 21], 14 LONG $0x3875e3c4; WORD $0x01c0 // vinserti128 ymm0, ymm1, xmm0, 1 QUAD $0x0002c024847ffdc5; BYTE $0x00 // vmovdqa yword [rsp + 704], ymm0 - LONG $0x24448b4c; BYTE $0x38 // mov r8, qword [rsp + 56] - QUAD $0x0f1502442061a3c4 // vpinsrb xmm0, xmm3, byte [rdx + r8 + 21], 15 + QUAD $0x0f1532442061a3c4 // vpinsrb xmm0, xmm3, byte [rdx + r14 + 21], 15 LONG $0x387de3c4; WORD $0x01c2 // vinserti128 ymm0, ymm0, xmm2, 1 QUAD $0x0002e024847ffdc5; BYTE $0x00 // vmovdqa yword [rsp + 736], ymm0 - QUAD $0x0000010024848b48 // mov rax, qword [rsp + 256] - LONG $0x0274b60f; BYTE $0x16 // movzx esi, byte [rdx + rax + 22] + QUAD $0x000000f024948b4c // mov r10, qword [rsp + 240] + LONG $0x74b60f42; WORD $0x1612 // movzx esi, byte [rdx + r10 + 22] LONG $0xc66ef9c5 // vmovd xmm0, esi - QUAD $0x000000e824b48b48 // mov rsi, qword [rsp + 232] - QUAD $0x011632442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 22], 1 - QUAD $0x000000a824b48b48 // mov rsi, qword [rsp + 168] - QUAD $0x021632442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 22], 2 - LONG $0x24748b48; BYTE $0x70 // mov rsi, qword [rsp + 112] - QUAD $0x031632442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 22], 3 - QUAD $0x000000f024b48b48 // mov rsi, qword [rsp + 240] - QUAD $0x041632442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 22], 4 - QUAD $0x000000f824ac8b4c // mov r13, qword [rsp + 248] - QUAD $0x05162a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r13 + 22], 5 - QUAD $0x06163a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rdi + 22], 6 + LONG $0x247c8b4c; BYTE $0x68 // mov r15, qword [rsp + 104] + QUAD $0x01163a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r15 + 22], 1 + QUAD $0x0000010824848b4c // mov r8, qword [rsp + 264] + QUAD $0x021602442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r8 + 22], 2 + QUAD $0x03161a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r11 + 22], 3 + LONG $0x244c8b48; BYTE $0x70 // mov rcx, qword [rsp + 112] + QUAD $0x04160a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 22], 4 + QUAD $0x000000b8248c8b48 // mov rcx, qword [rsp + 184] + QUAD $0x05160a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 22], 5 + QUAD $0x0000009024b48b4c // mov r14, qword [rsp + 144] + QUAD $0x061632442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r14 + 22], 6 + QUAD $0x000000d0249c8b4c // mov r11, qword [rsp + 208] QUAD $0x07161a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r11 + 22], 7 - QUAD $0x081622442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r12 + 22], 8 - QUAD $0x091612442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r10 + 22], 9 - QUAD $0x000000e024a48b4c // mov r12, qword [rsp + 224] - QUAD $0x0a1622442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r12 + 22], 10 - QUAD $0x0b1632442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r14 + 22], 11 - QUAD $0x00000080249c8b4c // mov r11, qword [rsp + 128] - QUAD $0x0c161a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r11 + 22], 12 - QUAD $0x0d161a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rbx + 22], 13 - LONG $0x24748b48; BYTE $0x30 // mov rsi, qword [rsp + 48] - QUAD $0x0e1632442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 22], 14 + QUAD $0x000000e024bc8b48 // mov rdi, qword [rsp + 224] + QUAD $0x08163a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rdi + 22], 8 + QUAD $0x000000e8248c8b48 // mov rcx, qword [rsp + 232] + QUAD $0x09160a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 22], 9 + LONG $0x244c8b48; BYTE $0x58 // mov rcx, qword [rsp + 88] + QUAD $0x0a160a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 22], 10 + QUAD $0x000000d8248c8b48 // mov rcx, qword [rsp + 216] + QUAD $0x0b160a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 22], 11 LONG $0x24748b48; BYTE $0x50 // mov rsi, qword [rsp + 80] - QUAD $0x0f1632442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 22], 15 - QUAD $0x0000010824948b4c // mov r10, qword [rsp + 264] - LONG $0x74b60f42; WORD $0x1612 // movzx esi, byte [rdx + r10 + 22] + QUAD $0x0c1632442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 22], 12 + LONG $0x24748b48; BYTE $0x48 // mov rsi, qword [rsp + 72] + QUAD $0x0d1632442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 22], 13 + LONG $0x24748b48; BYTE $0x40 // mov rsi, qword [rsp + 64] + QUAD $0x0e1632442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 22], 14 + QUAD $0x0f162a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r13 + 22], 15 + QUAD $0x0000010024b48b48 // mov rsi, qword [rsp + 256] + LONG $0x3274b60f; BYTE $0x16 // movzx esi, byte [rdx + rsi + 22] LONG $0xce6ef9c5 // vmovd xmm1, esi - LONG $0x24748b48; BYTE $0x78 // mov rsi, qword [rsp + 120] + QUAD $0x000000c024b48b48 // mov rsi, qword [rsp + 192] QUAD $0x0116324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 22], 1 - LONG $0x245c8b48; BYTE $0x40 // mov rbx, qword [rsp + 64] - QUAD $0x02161a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rbx + 22], 2 - QUAD $0x000000b024b48b48 // mov rsi, qword [rsp + 176] + LONG $0x24748b48; BYTE $0x78 // mov rsi, qword [rsp + 120] + QUAD $0x0216324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 22], 2 + LONG $0x24748b48; BYTE $0x38 // mov rsi, qword [rsp + 56] QUAD $0x0316324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 22], 3 - LONG $0x24748b48; BYTE $0x68 // mov rsi, qword [rsp + 104] - QUAD $0x0416324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 22], 4 - LONG $0x24748b4c; BYTE $0x60 // mov r14, qword [rsp + 96] - QUAD $0x0516324c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r14 + 22], 5 - QUAD $0x000000a024b48b48 // mov rsi, qword [rsp + 160] + QUAD $0x04160a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r9 + 22], 4 + QUAD $0x0000008824ac8b4c // mov r13, qword [rsp + 136] + QUAD $0x05162a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r13 + 22], 5 + QUAD $0x0000009824b48b48 // mov rsi, qword [rsp + 152] QUAD $0x0616324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 22], 6 - QUAD $0x07163a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r15 + 22], 7 - QUAD $0x08160a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 22], 8 - QUAD $0x00000098248c8b48 // mov rcx, qword [rsp + 152] - QUAD $0x09160a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 22], 9 - QUAD $0x00000140248c8b48 // mov rcx, qword [rsp + 320] - QUAD $0x0a160a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 22], 10 - QUAD $0x000000d8248c8b4c // mov r9, qword [rsp + 216] - QUAD $0x0b160a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r9 + 22], 11 - QUAD $0x00000120248c8b48 // mov rcx, qword [rsp + 288] - QUAD $0x0c160a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 22], 12 - LONG $0x244c8b48; BYTE $0x20 // mov rcx, qword [rsp + 32] - QUAD $0x0d160a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 22], 13 - LONG $0x247c8b48; BYTE $0x48 // mov rdi, qword [rsp + 72] - QUAD $0x0e163a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 22], 14 - QUAD $0x0f16024c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r8 + 22], 15 - LONG $0x0274b60f; BYTE $0x17 // movzx esi, byte [rdx + rax + 23] + QUAD $0x000000f8248c8b4c // mov r9, qword [rsp + 248] + QUAD $0x07160a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r9 + 22], 7 + QUAD $0x0816024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 22], 8 + QUAD $0x0916224c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r12 + 22], 9 + LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] + QUAD $0x0a16024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 22], 10 + QUAD $0x0b161a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rbx + 22], 11 + LONG $0x24648b4c; BYTE $0x30 // mov r12, qword [rsp + 48] + QUAD $0x0c16224c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r12 + 22], 12 + LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] + QUAD $0x0d16024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 22], 13 + QUAD $0x0000012024848b48 // mov rax, qword [rsp + 288] + QUAD $0x0e16024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 22], 14 + QUAD $0x0000014024848b48 // mov rax, qword [rsp + 320] + QUAD $0x0f16024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 22], 15 + LONG $0x74b60f42; WORD $0x1712 // movzx esi, byte [rdx + r10 + 23] LONG $0xd66ef9c5 // vmovd xmm2, esi - QUAD $0x000000e824848b48 // mov rax, qword [rsp + 232] - QUAD $0x011702542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 23], 1 - QUAD $0x000000a824848b48 // mov rax, qword [rsp + 168] - QUAD $0x021702542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 23], 2 - LONG $0x247c8b4c; BYTE $0x70 // mov r15, qword [rsp + 112] - QUAD $0x03173a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r15 + 23], 3 - QUAD $0x000000f024848b48 // mov rax, qword [rsp + 240] + QUAD $0x01173a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r15 + 23], 1 + QUAD $0x021702542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r8 + 23], 2 + QUAD $0x000000c824948b4c // mov r10, qword [rsp + 200] + QUAD $0x031712542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r10 + 23], 3 + LONG $0x24448b48; BYTE $0x70 // mov rax, qword [rsp + 112] QUAD $0x041702542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 23], 4 - QUAD $0x05172a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r13 + 23], 5 - LONG $0x244c8b48; BYTE $0x28 // mov rcx, qword [rsp + 40] - QUAD $0x06170a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 23], 6 - QUAD $0x000000c8248c8b48 // mov rcx, qword [rsp + 200] - QUAD $0x07170a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 23], 7 - QUAD $0x000000c0248c8b48 // mov rcx, qword [rsp + 192] - QUAD $0x08170a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 23], 8 - QUAD $0x000000b8248c8b48 // mov rcx, qword [rsp + 184] - QUAD $0x09170a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 23], 9 - QUAD $0x0a1722542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r12 + 23], 10 - LONG $0x244c8b48; BYTE $0x58 // mov rcx, qword [rsp + 88] + QUAD $0x000000b824848b48 // mov rax, qword [rsp + 184] + QUAD $0x051702542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 23], 5 + QUAD $0x061732542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r14 + 23], 6 + QUAD $0x07171a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r11 + 23], 7 + QUAD $0x08173a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 23], 8 + QUAD $0x000000e824b48b4c // mov r14, qword [rsp + 232] + QUAD $0x091732542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r14 + 23], 9 + LONG $0x247c8b48; BYTE $0x58 // mov rdi, qword [rsp + 88] + QUAD $0x0a173a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 23], 10 QUAD $0x0b170a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 23], 11 - QUAD $0x0c171a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r11 + 23], 12 - QUAD $0x000000d0248c8b48 // mov rcx, qword [rsp + 208] - QUAD $0x0d170a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 23], 13 - LONG $0x244c8b48; BYTE $0x30 // mov rcx, qword [rsp + 48] - QUAD $0x0e170a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 23], 14 - LONG $0x24648b4c; BYTE $0x50 // mov r12, qword [rsp + 80] - QUAD $0x0f1722542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r12 + 23], 15 - LONG $0x74b60f42; WORD $0x1712 // movzx esi, byte [rdx + r10 + 23] + LONG $0x24448b48; BYTE $0x50 // mov rax, qword [rsp + 80] + QUAD $0x0c1702542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 23], 12 + LONG $0x245c8b48; BYTE $0x48 // mov rbx, qword [rsp + 72] + QUAD $0x0d171a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rbx + 23], 13 + LONG $0x245c8b4c; BYTE $0x40 // mov r11, qword [rsp + 64] + QUAD $0x0e171a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r11 + 23], 14 + LONG $0x24448b48; BYTE $0x60 // mov rax, qword [rsp + 96] + QUAD $0x0f1702542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 23], 15 + QUAD $0x0000010024bc8b4c // mov r15, qword [rsp + 256] + LONG $0x74b60f42; WORD $0x173a // movzx esi, byte [rdx + r15 + 23] LONG $0xde6ef9c5 // vmovd xmm3, esi - LONG $0x245c8b4c; BYTE $0x78 // mov r11, qword [rsp + 120] - QUAD $0x01171a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r11 + 23], 1 - QUAD $0x02171a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 23], 2 - QUAD $0x000000b0248c8b48 // mov rcx, qword [rsp + 176] - QUAD $0x03170a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 23], 3 - LONG $0x245c8b48; BYTE $0x68 // mov rbx, qword [rsp + 104] - QUAD $0x04171a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 23], 4 - QUAD $0x0517325c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r14 + 23], 5 - QUAD $0x000000a024ac8b4c // mov r13, qword [rsp + 160] + QUAD $0x000000c0248c8b48 // mov rcx, qword [rsp + 192] + QUAD $0x01170a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 23], 1 + LONG $0x24448b48; BYTE $0x78 // mov rax, qword [rsp + 120] + QUAD $0x0217025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 23], 2 + LONG $0x24748b48; BYTE $0x38 // mov rsi, qword [rsp + 56] + QUAD $0x0317325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 23], 3 + QUAD $0x000000a824b48b48 // mov rsi, qword [rsp + 168] + QUAD $0x0417325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 23], 4 + QUAD $0x05172a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r13 + 23], 5 + QUAD $0x0000009824ac8b4c // mov r13, qword [rsp + 152] QUAD $0x06172a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r13 + 23], 6 - QUAD $0x0000009024b48b48 // mov rsi, qword [rsp + 144] - QUAD $0x0717325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 23], 7 - QUAD $0x0000008824b48b48 // mov rsi, qword [rsp + 136] + QUAD $0x07170a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r9 + 23], 7 + QUAD $0x000000a024b48b48 // mov rsi, qword [rsp + 160] QUAD $0x0817325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 23], 8 - QUAD $0x0000009824848b4c // mov r8, qword [rsp + 152] + QUAD $0x000000b024848b4c // mov r8, qword [rsp + 176] QUAD $0x0917025c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r8 + 23], 9 - QUAD $0x0000014024948b4c // mov r10, qword [rsp + 320] - QUAD $0x0a17125c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r10 + 23], 10 - QUAD $0x0b170a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r9 + 23], 11 + LONG $0x24748b48; BYTE $0x28 // mov rsi, qword [rsp + 40] + QUAD $0x0a17325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 23], 10 + QUAD $0x0000008024b48b48 // mov rsi, qword [rsp + 128] + QUAD $0x0b17325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 23], 11 + QUAD $0x0c17225c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r12 + 23], 12 + LONG $0x24748b48; BYTE $0x20 // mov rsi, qword [rsp + 32] + QUAD $0x0d17325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 23], 13 QUAD $0x0000012024b48b48 // mov rsi, qword [rsp + 288] - QUAD $0x0c17325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 23], 12 - LONG $0x24748b4c; BYTE $0x20 // mov r14, qword [rsp + 32] - QUAD $0x0d17325c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r14 + 23], 13 - QUAD $0x0e173a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 23], 14 - LONG $0x24748b48; BYTE $0x38 // mov rsi, qword [rsp + 56] + QUAD $0x0e17325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 23], 14 + QUAD $0x0000014024b48b48 // mov rsi, qword [rsp + 320] QUAD $0x0f17325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 23], 15 LONG $0x387563c4; WORD $0x01d0 // vinserti128 ymm10, ymm1, xmm0, 1 LONG $0x3865e3c4; WORD $0x01c2 // vinserti128 ymm0, ymm3, xmm2, 1 QUAD $0x0002a024847ffdc5; BYTE $0x00 // vmovdqa yword [rsp + 672], ymm0 - QUAD $0x00000100248c8b4c // mov r9, qword [rsp + 256] - LONG $0x74b60f42; WORD $0x180a // movzx esi, byte [rdx + r9 + 24] + QUAD $0x000000f024b48b48 // mov rsi, qword [rsp + 240] + LONG $0x3274b60f; BYTE $0x18 // movzx esi, byte [rdx + rsi + 24] LONG $0xc66ef9c5 // vmovd xmm0, esi - QUAD $0x000000e824b48b48 // mov rsi, qword [rsp + 232] + LONG $0x24748b48; BYTE $0x68 // mov rsi, qword [rsp + 104] QUAD $0x011832442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 24], 1 - QUAD $0x000000a824b48b48 // mov rsi, qword [rsp + 168] + QUAD $0x0000010824b48b48 // mov rsi, qword [rsp + 264] QUAD $0x021832442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 24], 2 - QUAD $0x03183a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r15 + 24], 3 - QUAD $0x041802442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 24], 4 - QUAD $0x000000f824848b48 // mov rax, qword [rsp + 248] - QUAD $0x051802442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 24], 5 - LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] - QUAD $0x061802442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 24], 6 - QUAD $0x000000c824848b48 // mov rax, qword [rsp + 200] - QUAD $0x071802442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 24], 7 - QUAD $0x000000c024bc8b48 // mov rdi, qword [rsp + 192] - QUAD $0x08183a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rdi + 24], 8 + QUAD $0x031812442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r10 + 24], 3 + LONG $0x24748b48; BYTE $0x70 // mov rsi, qword [rsp + 112] + QUAD $0x041832442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 24], 4 QUAD $0x000000b824b48b48 // mov rsi, qword [rsp + 184] - QUAD $0x091832442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 24], 9 + QUAD $0x051832442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 24], 5 + QUAD $0x0000009024b48b48 // mov rsi, qword [rsp + 144] + QUAD $0x061832442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 24], 6 + QUAD $0x000000d024b48b48 // mov rsi, qword [rsp + 208] + QUAD $0x071832442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 24], 7 QUAD $0x000000e024b48b48 // mov rsi, qword [rsp + 224] - QUAD $0x0a1832442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 24], 10 - LONG $0x24748b48; BYTE $0x58 // mov rsi, qword [rsp + 88] - QUAD $0x0b1832442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 24], 11 - QUAD $0x0000008024b48b48 // mov rsi, qword [rsp + 128] + QUAD $0x081832442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 24], 8 + QUAD $0x091832442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r14 + 24], 9 + QUAD $0x0a183a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rdi + 24], 10 + QUAD $0x000000d824b48b4c // mov r14, qword [rsp + 216] + QUAD $0x0b1832442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r14 + 24], 11 + LONG $0x24748b48; BYTE $0x50 // mov rsi, qword [rsp + 80] QUAD $0x0c1832442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 24], 12 - QUAD $0x000000d024b48b48 // mov rsi, qword [rsp + 208] - QUAD $0x0d1832442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 24], 13 - LONG $0x24748b48; BYTE $0x30 // mov rsi, qword [rsp + 48] - QUAD $0x0e1832442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 24], 14 - QUAD $0x0f1822442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r12 + 24], 15 - QUAD $0x0000010824b48b48 // mov rsi, qword [rsp + 264] - LONG $0x3274b60f; BYTE $0x18 // movzx esi, byte [rdx + rsi + 24] + QUAD $0x0d181a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rbx + 24], 13 + QUAD $0x0e181a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r11 + 24], 14 + LONG $0x24748b48; BYTE $0x60 // mov rsi, qword [rsp + 96] + QUAD $0x0f1832442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 24], 15 + LONG $0x74b60f42; WORD $0x183a // movzx esi, byte [rdx + r15 + 24] LONG $0xce6ef9c5 // vmovd xmm1, esi - QUAD $0x01181a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r11 + 24], 1 - LONG $0x24748b48; BYTE $0x40 // mov rsi, qword [rsp + 64] - QUAD $0x0218324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 24], 2 - QUAD $0x03180a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 24], 3 - QUAD $0x04181a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rbx + 24], 4 - LONG $0x244c8b48; BYTE $0x60 // mov rcx, qword [rsp + 96] - QUAD $0x05180a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 24], 5 + QUAD $0x01180a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 24], 1 + QUAD $0x0218024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 24], 2 + LONG $0x24448b48; BYTE $0x38 // mov rax, qword [rsp + 56] + QUAD $0x0318024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 24], 3 + QUAD $0x000000a824a48b4c // mov r12, qword [rsp + 168] + QUAD $0x0418224c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r12 + 24], 4 + QUAD $0x0000008824848b48 // mov rax, qword [rsp + 136] + QUAD $0x0518024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 24], 5 QUAD $0x06182a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r13 + 24], 6 - QUAD $0x00000090248c8b48 // mov rcx, qword [rsp + 144] - QUAD $0x07180a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 24], 7 - QUAD $0x0000008824bc8b4c // mov r15, qword [rsp + 136] + QUAD $0x07180a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r9 + 24], 7 + QUAD $0x000000a024bc8b4c // mov r15, qword [rsp + 160] QUAD $0x08183a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r15 + 24], 8 QUAD $0x0918024c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r8 + 24], 9 - QUAD $0x0a18124c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r10 + 24], 10 - QUAD $0x000000d8248c8b48 // mov rcx, qword [rsp + 216] - QUAD $0x0b180a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 24], 11 - QUAD $0x00000120248c8b48 // mov rcx, qword [rsp + 288] + LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] + QUAD $0x0a18024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 24], 10 + QUAD $0x0000008024848b4c // mov r8, qword [rsp + 128] + QUAD $0x0b18024c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r8 + 24], 11 + LONG $0x244c8b48; BYTE $0x30 // mov rcx, qword [rsp + 48] QUAD $0x0c180a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 24], 12 - QUAD $0x0d18324c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r14 + 24], 13 - LONG $0x24448b4c; BYTE $0x48 // mov r8, qword [rsp + 72] - QUAD $0x0e18024c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r8 + 24], 14 - LONG $0x244c8b48; BYTE $0x38 // mov rcx, qword [rsp + 56] - QUAD $0x0f180a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 24], 15 - LONG $0x74b60f42; WORD $0x190a // movzx esi, byte [rdx + r9 + 25] - LONG $0xd66ef9c5 // vmovd xmm2, esi - QUAD $0x000000e8248c8b48 // mov rcx, qword [rsp + 232] - QUAD $0x01190a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 25], 1 - QUAD $0x000000a8248c8b48 // mov rcx, qword [rsp + 168] - QUAD $0x02190a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 25], 2 - LONG $0x244c8b48; BYTE $0x70 // mov rcx, qword [rsp + 112] - QUAD $0x03190a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 25], 3 - QUAD $0x000000f0249c8b4c // mov r11, qword [rsp + 240] - QUAD $0x04191a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r11 + 25], 4 - QUAD $0x000000f8248c8b4c // mov r9, qword [rsp + 248] - QUAD $0x05190a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r9 + 25], 5 - LONG $0x24648b4c; BYTE $0x28 // mov r12, qword [rsp + 40] - QUAD $0x061922542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r12 + 25], 6 - QUAD $0x071902542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 25], 7 - QUAD $0x08193a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 25], 8 - QUAD $0x000000b824848b48 // mov rax, qword [rsp + 184] - QUAD $0x091902542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 25], 9 - QUAD $0x000000e024ac8b4c // mov r13, qword [rsp + 224] - QUAD $0x0a192a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r13 + 25], 10 - LONG $0x245c8b48; BYTE $0x58 // mov rbx, qword [rsp + 88] - QUAD $0x0b191a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rbx + 25], 11 - QUAD $0x0000008024b48b4c // mov r14, qword [rsp + 128] - QUAD $0x0c1932542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r14 + 25], 12 - QUAD $0x000000d0248c8b48 // mov rcx, qword [rsp + 208] - QUAD $0x0d190a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 25], 13 - LONG $0x24448b48; BYTE $0x30 // mov rax, qword [rsp + 48] - QUAD $0x0e1902542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 25], 14 - LONG $0x24448b48; BYTE $0x50 // mov rax, qword [rsp + 80] - QUAD $0x0f1902542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 25], 15 - QUAD $0x0000010824848b48 // mov rax, qword [rsp + 264] + LONG $0x24548b4c; BYTE $0x20 // mov r10, qword [rsp + 32] + QUAD $0x0d18124c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r10 + 24], 13 + QUAD $0x0000012024bc8b48 // mov rdi, qword [rsp + 288] + QUAD $0x0e183a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 24], 14 + QUAD $0x00000140249c8b48 // mov rbx, qword [rsp + 320] + QUAD $0x0f181a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rbx + 24], 15 + QUAD $0x000000f024848b48 // mov rax, qword [rsp + 240] LONG $0x0274b60f; BYTE $0x19 // movzx esi, byte [rdx + rax + 25] + LONG $0xd66ef9c5 // vmovd xmm2, esi + LONG $0x246c8b4c; BYTE $0x68 // mov r13, qword [rsp + 104] + QUAD $0x01192a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r13 + 25], 1 + QUAD $0x0000010824b48b48 // mov rsi, qword [rsp + 264] + QUAD $0x021932542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 25], 2 + QUAD $0x000000c824b48b48 // mov rsi, qword [rsp + 200] + QUAD $0x031932542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 25], 3 + LONG $0x24748b48; BYTE $0x70 // mov rsi, qword [rsp + 112] + QUAD $0x041932542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 25], 4 + QUAD $0x000000b8249c8b4c // mov r11, qword [rsp + 184] + QUAD $0x05191a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r11 + 25], 5 + QUAD $0x0000009024b48b48 // mov rsi, qword [rsp + 144] + QUAD $0x061932542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 25], 6 + QUAD $0x000000d024b48b48 // mov rsi, qword [rsp + 208] + QUAD $0x071932542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 25], 7 + QUAD $0x000000e024b48b48 // mov rsi, qword [rsp + 224] + QUAD $0x081932542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 25], 8 + QUAD $0x000000e824b48b48 // mov rsi, qword [rsp + 232] + QUAD $0x091932542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 25], 9 + LONG $0x24748b48; BYTE $0x58 // mov rsi, qword [rsp + 88] + QUAD $0x0a1932542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 25], 10 + QUAD $0x0b1932542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r14 + 25], 11 + LONG $0x24748b48; BYTE $0x50 // mov rsi, qword [rsp + 80] + QUAD $0x0c1932542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 25], 12 + LONG $0x24748b48; BYTE $0x48 // mov rsi, qword [rsp + 72] + QUAD $0x0d1932542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 25], 13 + LONG $0x24748b48; BYTE $0x40 // mov rsi, qword [rsp + 64] + QUAD $0x0e1932542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 25], 14 + LONG $0x24748b48; BYTE $0x60 // mov rsi, qword [rsp + 96] + QUAD $0x0f1932542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 25], 15 + QUAD $0x0000010024b48b48 // mov rsi, qword [rsp + 256] + LONG $0x3274b60f; BYTE $0x19 // movzx esi, byte [rdx + rsi + 25] LONG $0xde6ef9c5 // vmovd xmm3, esi - LONG $0x247c8b48; BYTE $0x78 // mov rdi, qword [rsp + 120] - QUAD $0x01193a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 25], 1 - LONG $0x24448b48; BYTE $0x40 // mov rax, qword [rsp + 64] - QUAD $0x0219025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 25], 2 - QUAD $0x000000b024848b48 // mov rax, qword [rsp + 176] - QUAD $0x0319025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 25], 3 - LONG $0x24448b48; BYTE $0x68 // mov rax, qword [rsp + 104] - QUAD $0x0419025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 25], 4 - LONG $0x24448b48; BYTE $0x60 // mov rax, qword [rsp + 96] - QUAD $0x0519025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 25], 5 - QUAD $0x000000a024848b48 // mov rax, qword [rsp + 160] - QUAD $0x0619025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 25], 6 - QUAD $0x0000009024848b48 // mov rax, qword [rsp + 144] - QUAD $0x0719025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 25], 7 + QUAD $0x000000c024b48b48 // mov rsi, qword [rsp + 192] + QUAD $0x0119325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 25], 1 + LONG $0x24748b48; BYTE $0x78 // mov rsi, qword [rsp + 120] + QUAD $0x0219325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 25], 2 + LONG $0x24748b48; BYTE $0x38 // mov rsi, qword [rsp + 56] + QUAD $0x0319325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 25], 3 + QUAD $0x0419225c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r12 + 25], 4 + QUAD $0x0000008824b48b48 // mov rsi, qword [rsp + 136] + QUAD $0x0519325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 25], 5 + QUAD $0x0000009824b48b48 // mov rsi, qword [rsp + 152] + QUAD $0x0619325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 25], 6 + QUAD $0x07190a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r9 + 25], 7 QUAD $0x08193a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r15 + 25], 8 - QUAD $0x0000009824848b48 // mov rax, qword [rsp + 152] - QUAD $0x0919025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 25], 9 - QUAD $0x0a19125c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r10 + 25], 10 - QUAD $0x000000d824848b48 // mov rax, qword [rsp + 216] - QUAD $0x0b19025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 25], 11 - QUAD $0x0000012024b48b48 // mov rsi, qword [rsp + 288] - QUAD $0x0c19325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 25], 12 - LONG $0x24548b4c; BYTE $0x20 // mov r10, qword [rsp + 32] + QUAD $0x000000b024bc8b4c // mov r15, qword [rsp + 176] + QUAD $0x09193a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r15 + 25], 9 + LONG $0x244c8b4c; BYTE $0x28 // mov r9, qword [rsp + 40] + QUAD $0x0a190a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r9 + 25], 10 + QUAD $0x0b19025c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r8 + 25], 11 + QUAD $0x0c190a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 25], 12 QUAD $0x0d19125c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r10 + 25], 13 - QUAD $0x0e19025c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r8 + 25], 14 + QUAD $0x0e193a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 25], 14 LONG $0x387563c4; WORD $0x01c8 // vinserti128 ymm9, ymm1, xmm0, 1 - LONG $0x24448b4c; BYTE $0x38 // mov r8, qword [rsp + 56] - QUAD $0x0f1902442061a3c4 // vpinsrb xmm0, xmm3, byte [rdx + r8 + 25], 15 + QUAD $0x0f191a442061e3c4 // vpinsrb xmm0, xmm3, byte [rdx + rbx + 25], 15 LONG $0x387d63c4; WORD $0x01c2 // vinserti128 ymm8, ymm0, xmm2, 1 - QUAD $0x0000010024b48b48 // mov rsi, qword [rsp + 256] - LONG $0x3274b60f; BYTE $0x1a // movzx esi, byte [rdx + rsi + 26] + LONG $0x0274b60f; BYTE $0x1a // movzx esi, byte [rdx + rax + 26] LONG $0xc66ef9c5 // vmovd xmm0, esi - QUAD $0x000000e824b48b48 // mov rsi, qword [rsp + 232] - QUAD $0x011a32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 26], 1 - QUAD $0x000000a824b48b48 // mov rsi, qword [rsp + 168] - QUAD $0x021a32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 26], 2 - LONG $0x247c8b4c; BYTE $0x70 // mov r15, qword [rsp + 112] - QUAD $0x031a3a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r15 + 26], 3 - QUAD $0x041a1a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r11 + 26], 4 - QUAD $0x051a0a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r9 + 26], 5 - QUAD $0x061a22442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r12 + 26], 6 - QUAD $0x000000c8249c8b4c // mov r11, qword [rsp + 200] - QUAD $0x071a1a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r11 + 26], 7 - QUAD $0x000000c0248c8b4c // mov r9, qword [rsp + 192] - QUAD $0x081a0a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r9 + 26], 8 - QUAD $0x000000b824b48b48 // mov rsi, qword [rsp + 184] - QUAD $0x091a32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 26], 9 - QUAD $0x0a1a2a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r13 + 26], 10 - QUAD $0x0b1a1a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rbx + 26], 11 - QUAD $0x0c1a32442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r14 + 26], 12 - QUAD $0x0d1a0a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 26], 13 - LONG $0x244c8b48; BYTE $0x30 // mov rcx, qword [rsp + 48] - QUAD $0x0e1a0a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 26], 14 - LONG $0x244c8b48; BYTE $0x50 // mov rcx, qword [rsp + 80] - QUAD $0x0f1a0a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 26], 15 - QUAD $0x00000108249c8b48 // mov rbx, qword [rsp + 264] - LONG $0x1a74b60f; BYTE $0x1a // movzx esi, byte [rdx + rbx + 26] + QUAD $0x011a2a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r13 + 26], 1 + QUAD $0x0000010824948b4c // mov r10, qword [rsp + 264] + QUAD $0x021a12442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r10 + 26], 2 + QUAD $0x000000c824848b48 // mov rax, qword [rsp + 200] + QUAD $0x031a02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 26], 3 + LONG $0x24448b48; BYTE $0x70 // mov rax, qword [rsp + 112] + QUAD $0x041a02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 26], 4 + QUAD $0x051a1a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r11 + 26], 5 + QUAD $0x00000090249c8b4c // mov r11, qword [rsp + 144] + QUAD $0x061a1a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r11 + 26], 6 + QUAD $0x000000d0248c8b48 // mov rcx, qword [rsp + 208] + QUAD $0x071a0a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 26], 7 + QUAD $0x000000e024b48b4c // mov r14, qword [rsp + 224] + QUAD $0x081a32442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r14 + 26], 8 + QUAD $0x000000e8248c8b48 // mov rcx, qword [rsp + 232] + QUAD $0x091a0a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 26], 9 + LONG $0x24748b48; BYTE $0x58 // mov rsi, qword [rsp + 88] + QUAD $0x0a1a32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 26], 10 + QUAD $0x000000d824b48b48 // mov rsi, qword [rsp + 216] + QUAD $0x0b1a32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 26], 11 + LONG $0x24748b48; BYTE $0x50 // mov rsi, qword [rsp + 80] + QUAD $0x0c1a32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 26], 12 + LONG $0x24748b48; BYTE $0x48 // mov rsi, qword [rsp + 72] + QUAD $0x0d1a32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 26], 13 + LONG $0x24748b48; BYTE $0x40 // mov rsi, qword [rsp + 64] + QUAD $0x0e1a32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 26], 14 + LONG $0x24748b48; BYTE $0x60 // mov rsi, qword [rsp + 96] + QUAD $0x0f1a32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 26], 15 + QUAD $0x0000010024bc8b48 // mov rdi, qword [rsp + 256] + LONG $0x3a74b60f; BYTE $0x1a // movzx esi, byte [rdx + rdi + 26] LONG $0xce6ef9c5 // vmovd xmm1, esi - QUAD $0x011a3a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 26], 1 - LONG $0x247c8b48; BYTE $0x40 // mov rdi, qword [rsp + 64] - QUAD $0x021a3a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 26], 2 - QUAD $0x000000b024a48b4c // mov r12, qword [rsp + 176] - QUAD $0x031a224c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r12 + 26], 3 - LONG $0x246c8b4c; BYTE $0x68 // mov r13, qword [rsp + 104] - QUAD $0x041a2a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r13 + 26], 4 - LONG $0x24748b4c; BYTE $0x60 // mov r14, qword [rsp + 96] - QUAD $0x051a324c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r14 + 26], 5 - QUAD $0x000000a024b48b48 // mov rsi, qword [rsp + 160] - QUAD $0x061a324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 26], 6 - QUAD $0x00000090248c8b48 // mov rcx, qword [rsp + 144] - QUAD $0x071a0a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 26], 7 - QUAD $0x00000088248c8b48 // mov rcx, qword [rsp + 136] - QUAD $0x081a0a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 26], 8 + QUAD $0x000000c024b48b48 // mov rsi, qword [rsp + 192] + QUAD $0x011a324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 26], 1 + LONG $0x24448b4c; BYTE $0x78 // mov r8, qword [rsp + 120] + QUAD $0x021a024c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r8 + 26], 2 + LONG $0x245c8b48; BYTE $0x38 // mov rbx, qword [rsp + 56] + QUAD $0x031a1a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rbx + 26], 3 + QUAD $0x041a224c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r12 + 26], 4 + QUAD $0x0000008824b48b48 // mov rsi, qword [rsp + 136] + QUAD $0x051a324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 26], 5 QUAD $0x0000009824b48b48 // mov rsi, qword [rsp + 152] - QUAD $0x091a324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 26], 9 - QUAD $0x00000140248c8b48 // mov rcx, qword [rsp + 320] - QUAD $0x0a1a0a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 26], 10 - QUAD $0x0b1a024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 26], 11 - QUAD $0x0000012024848b48 // mov rax, qword [rsp + 288] - QUAD $0x0c1a024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 26], 12 - QUAD $0x0d1a124c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r10 + 26], 13 - LONG $0x244c8b48; BYTE $0x48 // mov rcx, qword [rsp + 72] - QUAD $0x0e1a0a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 26], 14 - QUAD $0x0f1a024c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r8 + 26], 15 - QUAD $0x0000010024848b48 // mov rax, qword [rsp + 256] - LONG $0x0274b60f; BYTE $0x1b // movzx esi, byte [rdx + rax + 27] + QUAD $0x061a324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 26], 6 + QUAD $0x000000f824a48b4c // mov r12, qword [rsp + 248] + QUAD $0x071a224c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r12 + 26], 7 + QUAD $0x000000a024b48b48 // mov rsi, qword [rsp + 160] + QUAD $0x081a324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 26], 8 + QUAD $0x091a3a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r15 + 26], 9 + QUAD $0x0a1a0a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r9 + 26], 10 + QUAD $0x0000008024b48b48 // mov rsi, qword [rsp + 128] + QUAD $0x0b1a324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 26], 11 + LONG $0x24748b48; BYTE $0x30 // mov rsi, qword [rsp + 48] + QUAD $0x0c1a324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 26], 12 + LONG $0x24748b48; BYTE $0x20 // mov rsi, qword [rsp + 32] + QUAD $0x0d1a324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 26], 13 + QUAD $0x00000120248c8b4c // mov r9, qword [rsp + 288] + QUAD $0x0e1a0a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r9 + 26], 14 + QUAD $0x0000014024b48b48 // mov rsi, qword [rsp + 320] + QUAD $0x0f1a324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 26], 15 + QUAD $0x000000f024b48b48 // mov rsi, qword [rsp + 240] + LONG $0x3274b60f; BYTE $0x1b // movzx esi, byte [rdx + rsi + 27] LONG $0xd66ef9c5 // vmovd xmm2, esi - QUAD $0x000000e824848b4c // mov r8, qword [rsp + 232] - QUAD $0x011b02542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r8 + 27], 1 - QUAD $0x000000a824848b48 // mov rax, qword [rsp + 168] - QUAD $0x021b02542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 27], 2 - QUAD $0x031b3a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r15 + 27], 3 - QUAD $0x000000f024948b4c // mov r10, qword [rsp + 240] - QUAD $0x041b12542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r10 + 27], 4 - QUAD $0x000000f824848b48 // mov rax, qword [rsp + 248] - QUAD $0x051b02542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 27], 5 - LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] - QUAD $0x061b02542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 27], 6 - QUAD $0x071b1a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r11 + 27], 7 - QUAD $0x081b0a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r9 + 27], 8 - QUAD $0x000000b824bc8b4c // mov r15, qword [rsp + 184] - QUAD $0x091b3a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r15 + 27], 9 - QUAD $0x000000e0248c8b4c // mov r9, qword [rsp + 224] - QUAD $0x0a1b0a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r9 + 27], 10 - LONG $0x24448b48; BYTE $0x58 // mov rax, qword [rsp + 88] - QUAD $0x0b1b02542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 27], 11 - QUAD $0x0000008024848b48 // mov rax, qword [rsp + 128] - QUAD $0x0c1b02542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 27], 12 + QUAD $0x011b2a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r13 + 27], 1 + QUAD $0x021b12542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r10 + 27], 2 + WORD $0x894d; BYTE $0xd5 // mov r13, r10 + QUAD $0x000000c824b48b48 // mov rsi, qword [rsp + 200] + QUAD $0x031b32542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 27], 3 + QUAD $0x041b02542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 27], 4 + QUAD $0x000000b824948b4c // mov r10, qword [rsp + 184] + QUAD $0x051b12542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r10 + 27], 5 + QUAD $0x061b1a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r11 + 27], 6 QUAD $0x000000d024848b48 // mov rax, qword [rsp + 208] + QUAD $0x071b02542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 27], 7 + QUAD $0x081b32542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r14 + 27], 8 + QUAD $0x091b0a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 27], 9 + LONG $0x24448b48; BYTE $0x58 // mov rax, qword [rsp + 88] + QUAD $0x0a1b02542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 27], 10 + QUAD $0x000000d824b48b4c // mov r14, qword [rsp + 216] + QUAD $0x0b1b32542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r14 + 27], 11 + LONG $0x244c8b48; BYTE $0x50 // mov rcx, qword [rsp + 80] + QUAD $0x0c1b0a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 27], 12 + LONG $0x24448b48; BYTE $0x48 // mov rax, qword [rsp + 72] QUAD $0x0d1b02542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 27], 13 - LONG $0x24448b48; BYTE $0x30 // mov rax, qword [rsp + 48] + LONG $0x24448b48; BYTE $0x40 // mov rax, qword [rsp + 64] QUAD $0x0e1b02542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 27], 14 - LONG $0x24448b48; BYTE $0x50 // mov rax, qword [rsp + 80] - QUAD $0x0f1b02542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 27], 15 - LONG $0x1a74b60f; BYTE $0x1b // movzx esi, byte [rdx + rbx + 27] + LONG $0x245c8b4c; BYTE $0x60 // mov r11, qword [rsp + 96] + QUAD $0x0f1b1a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r11 + 27], 15 + LONG $0x3a74b60f; BYTE $0x1b // movzx esi, byte [rdx + rdi + 27] LONG $0xde6ef9c5 // vmovd xmm3, esi - LONG $0x24448b48; BYTE $0x78 // mov rax, qword [rsp + 120] - QUAD $0x011b025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 27], 1 - QUAD $0x021b3a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 27], 2 - QUAD $0x031b225c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r12 + 27], 3 - QUAD $0x041b2a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r13 + 27], 4 - QUAD $0x051b325c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r14 + 27], 5 - QUAD $0x000000a024a48b4c // mov r12, qword [rsp + 160] - QUAD $0x061b225c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r12 + 27], 6 - QUAD $0x0000009024848b48 // mov rax, qword [rsp + 144] - QUAD $0x071b025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 27], 7 - QUAD $0x0000008824b48b48 // mov rsi, qword [rsp + 136] + QUAD $0x000000c024b48b48 // mov rsi, qword [rsp + 192] + QUAD $0x011b325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 27], 1 + QUAD $0x021b025c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r8 + 27], 2 + QUAD $0x031b1a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 27], 3 + QUAD $0x000000a8249c8b48 // mov rbx, qword [rsp + 168] + QUAD $0x041b1a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 27], 4 + QUAD $0x0000008824bc8b48 // mov rdi, qword [rsp + 136] + QUAD $0x051b3a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 27], 5 + QUAD $0x0000009824bc8b4c // mov r15, qword [rsp + 152] + QUAD $0x061b3a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r15 + 27], 6 + QUAD $0x071b225c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r12 + 27], 7 + QUAD $0x000000a024b48b48 // mov rsi, qword [rsp + 160] QUAD $0x081b325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 27], 8 - QUAD $0x0000009824b48b48 // mov rsi, qword [rsp + 152] + QUAD $0x000000b024b48b48 // mov rsi, qword [rsp + 176] QUAD $0x091b325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 27], 9 - QUAD $0x0000014024b48b48 // mov rsi, qword [rsp + 320] + LONG $0x24748b48; BYTE $0x28 // mov rsi, qword [rsp + 40] QUAD $0x0a1b325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 27], 10 - QUAD $0x000000d824b48b48 // mov rsi, qword [rsp + 216] + QUAD $0x0000008024b48b48 // mov rsi, qword [rsp + 128] QUAD $0x0b1b325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 27], 11 - QUAD $0x0000012024b48b48 // mov rsi, qword [rsp + 288] + LONG $0x24748b48; BYTE $0x30 // mov rsi, qword [rsp + 48] QUAD $0x0c1b325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 27], 12 LONG $0x24748b48; BYTE $0x20 // mov rsi, qword [rsp + 32] QUAD $0x0d1b325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 27], 13 - QUAD $0x0e1b0a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 27], 14 - LONG $0x244c8b48; BYTE $0x38 // mov rcx, qword [rsp + 56] - QUAD $0x0f1b0a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 27], 15 + QUAD $0x0e1b0a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r9 + 27], 14 + QUAD $0x0000014024b48b48 // mov rsi, qword [rsp + 320] + QUAD $0x0f1b325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 27], 15 LONG $0x3875e3c4; WORD $0x01c0 // vinserti128 ymm0, ymm1, xmm0, 1 QUAD $0x00022024847ffdc5; BYTE $0x00 // vmovdqa yword [rsp + 544], ymm0 LONG $0x3865e3c4; WORD $0x01c2 // vinserti128 ymm0, ymm3, xmm2, 1 QUAD $0x00024024847ffdc5; BYTE $0x00 // vmovdqa yword [rsp + 576], ymm0 - QUAD $0x0000010024ac8b4c // mov r13, qword [rsp + 256] - LONG $0x74b60f42; WORD $0x1c2a // movzx esi, byte [rdx + r13 + 28] + QUAD $0x000000f024b48b48 // mov rsi, qword [rsp + 240] + LONG $0x3274b60f; BYTE $0x1c // movzx esi, byte [rdx + rsi + 28] LONG $0xc66ef9c5 // vmovd xmm0, esi - QUAD $0x011c02442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r8 + 28], 1 - QUAD $0x000000a8248c8b48 // mov rcx, qword [rsp + 168] - QUAD $0x021c0a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 28], 2 - LONG $0x245c8b4c; BYTE $0x70 // mov r11, qword [rsp + 112] - QUAD $0x031c1a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r11 + 28], 3 - QUAD $0x041c12442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r10 + 28], 4 - QUAD $0x000000f824b48b4c // mov r14, qword [rsp + 248] - QUAD $0x051c32442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r14 + 28], 5 - LONG $0x24748b48; BYTE $0x28 // mov rsi, qword [rsp + 40] + LONG $0x24748b48; BYTE $0x68 // mov rsi, qword [rsp + 104] + QUAD $0x011c32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 28], 1 + QUAD $0x021c2a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r13 + 28], 2 + QUAD $0x000000c824b48b48 // mov rsi, qword [rsp + 200] + QUAD $0x031c32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 28], 3 + LONG $0x244c8b4c; BYTE $0x70 // mov r9, qword [rsp + 112] + QUAD $0x041c0a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r9 + 28], 4 + QUAD $0x051c12442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r10 + 28], 5 + QUAD $0x0000009024b48b48 // mov rsi, qword [rsp + 144] QUAD $0x061c32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 28], 6 - QUAD $0x000000c8249c8b48 // mov rbx, qword [rsp + 200] - QUAD $0x071c1a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rbx + 28], 7 - QUAD $0x000000c024b48b48 // mov rsi, qword [rsp + 192] - QUAD $0x081c32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 28], 8 - QUAD $0x091c3a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r15 + 28], 9 - QUAD $0x0a1c0a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r9 + 28], 10 - LONG $0x24548b4c; BYTE $0x58 // mov r10, qword [rsp + 88] - QUAD $0x0b1c12442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r10 + 28], 11 - QUAD $0x0000008024bc8b4c // mov r15, qword [rsp + 128] - QUAD $0x0c1c3a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r15 + 28], 12 - QUAD $0x000000d024bc8b48 // mov rdi, qword [rsp + 208] - QUAD $0x0d1c3a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rdi + 28], 13 - LONG $0x24748b48; BYTE $0x30 // mov rsi, qword [rsp + 48] - QUAD $0x0e1c32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 28], 14 - LONG $0x24448b4c; BYTE $0x50 // mov r8, qword [rsp + 80] - QUAD $0x0f1c02442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r8 + 28], 15 - QUAD $0x0000010824b48b48 // mov rsi, qword [rsp + 264] - LONG $0x3274b60f; BYTE $0x1c // movzx esi, byte [rdx + rsi + 28] + QUAD $0x000000d024ac8b4c // mov r13, qword [rsp + 208] + QUAD $0x071c2a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r13 + 28], 7 + QUAD $0x000000e024a48b4c // mov r12, qword [rsp + 224] + QUAD $0x081c22442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r12 + 28], 8 + QUAD $0x000000e824848b4c // mov r8, qword [rsp + 232] + QUAD $0x091c02442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r8 + 28], 9 + LONG $0x24748b48; BYTE $0x58 // mov rsi, qword [rsp + 88] + QUAD $0x0a1c32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 28], 10 + QUAD $0x0b1c32442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r14 + 28], 11 + QUAD $0x0c1c0a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 28], 12 + LONG $0x24748b4c; BYTE $0x48 // mov r14, qword [rsp + 72] + QUAD $0x0d1c32442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r14 + 28], 13 + QUAD $0x0e1c02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 28], 14 + QUAD $0x0f1c1a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r11 + 28], 15 + QUAD $0x00000100249c8b4c // mov r11, qword [rsp + 256] + LONG $0x74b60f42; WORD $0x1c1a // movzx esi, byte [rdx + r11 + 28] LONG $0xce6ef9c5 // vmovd xmm1, esi - LONG $0x24748b48; BYTE $0x78 // mov rsi, qword [rsp + 120] - QUAD $0x011c324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 28], 1 - LONG $0x24748b48; BYTE $0x40 // mov rsi, qword [rsp + 64] - QUAD $0x021c324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 28], 2 - QUAD $0x000000b0248c8b4c // mov r9, qword [rsp + 176] - QUAD $0x031c0a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r9 + 28], 3 - LONG $0x24748b48; BYTE $0x68 // mov rsi, qword [rsp + 104] - QUAD $0x041c324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 28], 4 - LONG $0x24748b48; BYTE $0x60 // mov rsi, qword [rsp + 96] - QUAD $0x051c324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 28], 5 - QUAD $0x061c224c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r12 + 28], 6 - QUAD $0x071c024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 28], 7 - QUAD $0x0000008824848b48 // mov rax, qword [rsp + 136] - QUAD $0x081c024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 28], 8 - QUAD $0x0000009824848b48 // mov rax, qword [rsp + 152] - QUAD $0x091c024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 28], 9 - QUAD $0x0000014024848b48 // mov rax, qword [rsp + 320] - QUAD $0x0a1c024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 28], 10 - QUAD $0x000000d824848b48 // mov rax, qword [rsp + 216] - QUAD $0x0b1c024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 28], 11 - QUAD $0x0000012024b48b48 // mov rsi, qword [rsp + 288] - QUAD $0x0c1c324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 28], 12 + QUAD $0x000000c024848b48 // mov rax, qword [rsp + 192] + QUAD $0x011c024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 28], 1 + LONG $0x24448b48; BYTE $0x78 // mov rax, qword [rsp + 120] + QUAD $0x021c024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 28], 2 + LONG $0x24448b48; BYTE $0x38 // mov rax, qword [rsp + 56] + QUAD $0x031c024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 28], 3 + QUAD $0x041c1a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rbx + 28], 4 + QUAD $0x051c3a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 28], 5 + QUAD $0x061c3a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r15 + 28], 6 + QUAD $0x000000f824bc8b48 // mov rdi, qword [rsp + 248] + QUAD $0x071c3a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 28], 7 + QUAD $0x000000a0248c8b48 // mov rcx, qword [rsp + 160] + QUAD $0x081c0a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 28], 8 + QUAD $0x000000b0249c8b48 // mov rbx, qword [rsp + 176] + QUAD $0x091c1a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rbx + 28], 9 + LONG $0x244c8b48; BYTE $0x28 // mov rcx, qword [rsp + 40] + QUAD $0x0a1c0a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 28], 10 + QUAD $0x00000080248c8b48 // mov rcx, qword [rsp + 128] + QUAD $0x0b1c0a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 28], 11 + LONG $0x244c8b48; BYTE $0x30 // mov rcx, qword [rsp + 48] + QUAD $0x0c1c0a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 28], 12 LONG $0x24748b48; BYTE $0x20 // mov rsi, qword [rsp + 32] QUAD $0x0d1c324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 28], 13 - LONG $0x24648b4c; BYTE $0x48 // mov r12, qword [rsp + 72] - QUAD $0x0e1c224c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r12 + 28], 14 - LONG $0x24748b48; BYTE $0x38 // mov rsi, qword [rsp + 56] + QUAD $0x0000012024948b4c // mov r10, qword [rsp + 288] + QUAD $0x0e1c124c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r10 + 28], 14 + QUAD $0x0000014024b48b48 // mov rsi, qword [rsp + 320] QUAD $0x0f1c324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 28], 15 - LONG $0x74b60f42; WORD $0x1d2a // movzx esi, byte [rdx + r13 + 29] + QUAD $0x000000f024b48b48 // mov rsi, qword [rsp + 240] + LONG $0x3274b60f; BYTE $0x1d // movzx esi, byte [rdx + rsi + 29] LONG $0xd66ef9c5 // vmovd xmm2, esi - QUAD $0x000000e824ac8b4c // mov r13, qword [rsp + 232] - QUAD $0x011d2a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r13 + 29], 1 - QUAD $0x021d0a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 29], 2 - QUAD $0x031d1a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r11 + 29], 3 - QUAD $0x000000f0248c8b48 // mov rcx, qword [rsp + 240] - QUAD $0x041d0a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 29], 4 - QUAD $0x051d32542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r14 + 29], 5 - LONG $0x245c8b4c; BYTE $0x28 // mov r11, qword [rsp + 40] - QUAD $0x061d1a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r11 + 29], 6 - QUAD $0x071d1a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rbx + 29], 7 - QUAD $0x000000c0248c8b48 // mov rcx, qword [rsp + 192] - QUAD $0x081d0a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 29], 8 - QUAD $0x000000b8248c8b48 // mov rcx, qword [rsp + 184] - QUAD $0x091d0a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 29], 9 - QUAD $0x000000e024b48b4c // mov r14, qword [rsp + 224] - QUAD $0x0a1d32542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r14 + 29], 10 - QUAD $0x0b1d12542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r10 + 29], 11 - QUAD $0x0c1d3a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r15 + 29], 12 - QUAD $0x0d1d3a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 29], 13 - LONG $0x245c8b48; BYTE $0x30 // mov rbx, qword [rsp + 48] - QUAD $0x0e1d1a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rbx + 29], 14 - QUAD $0x0f1d02542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r8 + 29], 15 - QUAD $0x0000010824848b4c // mov r8, qword [rsp + 264] - LONG $0x74b60f42; WORD $0x1d02 // movzx esi, byte [rdx + r8 + 29] - LONG $0xde6ef9c5 // vmovd xmm3, esi - LONG $0x247c8b4c; BYTE $0x78 // mov r15, qword [rsp + 120] - QUAD $0x011d3a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r15 + 29], 1 - LONG $0x24548b4c; BYTE $0x40 // mov r10, qword [rsp + 64] - QUAD $0x021d125c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r10 + 29], 2 - QUAD $0x031d0a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r9 + 29], 3 - LONG $0x244c8b4c; BYTE $0x68 // mov r9, qword [rsp + 104] - QUAD $0x041d0a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r9 + 29], 4 - LONG $0x24748b48; BYTE $0x60 // mov rsi, qword [rsp + 96] - QUAD $0x051d325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 29], 5 - QUAD $0x000000a024b48b48 // mov rsi, qword [rsp + 160] - QUAD $0x061d325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 29], 6 + LONG $0x24748b48; BYTE $0x68 // mov rsi, qword [rsp + 104] + QUAD $0x011d32542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 29], 1 + QUAD $0x0000010824b48b48 // mov rsi, qword [rsp + 264] + QUAD $0x021d32542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 29], 2 + QUAD $0x000000c824b48b48 // mov rsi, qword [rsp + 200] + QUAD $0x031d32542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 29], 3 + QUAD $0x041d0a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r9 + 29], 4 + QUAD $0x000000b8248c8b4c // mov r9, qword [rsp + 184] + QUAD $0x051d0a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r9 + 29], 5 QUAD $0x0000009024b48b48 // mov rsi, qword [rsp + 144] - QUAD $0x071d325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 29], 7 - QUAD $0x0000008824b48b48 // mov rsi, qword [rsp + 136] - QUAD $0x081d325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 29], 8 - QUAD $0x0000009824b48b48 // mov rsi, qword [rsp + 152] - QUAD $0x091d325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 29], 9 - QUAD $0x0000014024b48b48 // mov rsi, qword [rsp + 320] - QUAD $0x0a1d325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 29], 10 - QUAD $0x0b1d025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 29], 11 - QUAD $0x0000012024848b48 // mov rax, qword [rsp + 288] - QUAD $0x0c1d025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 29], 12 - LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] - QUAD $0x0d1d025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 29], 13 - QUAD $0x0e1d22642061a3c4 // vpinsrb xmm4, xmm3, byte [rdx + r12 + 29], 14 + QUAD $0x061d32542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 29], 6 + QUAD $0x071d2a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r13 + 29], 7 + QUAD $0x081d22542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r12 + 29], 8 + QUAD $0x091d02542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r8 + 29], 9 + LONG $0x24748b48; BYTE $0x58 // mov rsi, qword [rsp + 88] + QUAD $0x0a1d32542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 29], 10 + QUAD $0x000000d824848b4c // mov r8, qword [rsp + 216] + QUAD $0x0b1d02542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r8 + 29], 11 + LONG $0x24648b4c; BYTE $0x50 // mov r12, qword [rsp + 80] + QUAD $0x0c1d22542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r12 + 29], 12 + QUAD $0x0d1d32542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r14 + 29], 13 + LONG $0x24748b48; BYTE $0x40 // mov rsi, qword [rsp + 64] + QUAD $0x0e1d32542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 29], 14 + LONG $0x24748b4c; BYTE $0x60 // mov r14, qword [rsp + 96] + QUAD $0x0f1d32542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r14 + 29], 15 + LONG $0x74b60f42; WORD $0x1d1a // movzx esi, byte [rdx + r11 + 29] + LONG $0xde6ef9c5 // vmovd xmm3, esi + QUAD $0x000000c0249c8b4c // mov r11, qword [rsp + 192] + QUAD $0x011d1a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r11 + 29], 1 + LONG $0x24748b48; BYTE $0x78 // mov rsi, qword [rsp + 120] + QUAD $0x021d325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 29], 2 + QUAD $0x031d025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 29], 3 + QUAD $0x000000a824ac8b4c // mov r13, qword [rsp + 168] + QUAD $0x041d2a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r13 + 29], 4 + QUAD $0x0000008824848b48 // mov rax, qword [rsp + 136] + QUAD $0x051d025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 29], 5 + QUAD $0x061d3a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r15 + 29], 6 + QUAD $0x071d3a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 29], 7 + QUAD $0x000000a024848b48 // mov rax, qword [rsp + 160] + QUAD $0x081d025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 29], 8 + QUAD $0x091d1a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 29], 9 + WORD $0x8949; BYTE $0xdf // mov r15, rbx + LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] + QUAD $0x0a1d025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 29], 10 + QUAD $0x0000008024bc8b48 // mov rdi, qword [rsp + 128] + QUAD $0x0b1d3a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 29], 11 + QUAD $0x0c1d0a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 29], 12 + LONG $0x244c8b48; BYTE $0x20 // mov rcx, qword [rsp + 32] + QUAD $0x0d1d0a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 29], 13 + QUAD $0x0e1d12642061a3c4 // vpinsrb xmm4, xmm3, byte [rdx + r10 + 29], 14 LONG $0x3875e3c4; WORD $0x01c0 // vinserti128 ymm0, ymm1, xmm0, 1 QUAD $0x00028024847ffdc5; BYTE $0x00 // vmovdqa yword [rsp + 640], ymm0 - LONG $0x24648b4c; BYTE $0x38 // mov r12, qword [rsp + 56] - QUAD $0x0f1d22442059a3c4 // vpinsrb xmm0, xmm4, byte [rdx + r12 + 29], 15 + QUAD $0x0000014024948b4c // mov r10, qword [rsp + 320] + QUAD $0x0f1d12442059a3c4 // vpinsrb xmm0, xmm4, byte [rdx + r10 + 29], 15 LONG $0x387de3c4; WORD $0x01c2 // vinserti128 ymm0, ymm0, xmm2, 1 QUAD $0x00026024847ffdc5; BYTE $0x00 // vmovdqa yword [rsp + 608], ymm0 - QUAD $0x0000010024bc8b48 // mov rdi, qword [rsp + 256] - LONG $0x3a74b60f; BYTE $0x1e // movzx esi, byte [rdx + rdi + 30] + QUAD $0x000000f024848b48 // mov rax, qword [rsp + 240] + LONG $0x0274b60f; BYTE $0x1e // movzx esi, byte [rdx + rax + 30] LONG $0xc66ef9c5 // vmovd xmm0, esi - QUAD $0x011e2a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r13 + 30], 1 - LONG $0x3a74b60f; BYTE $0x1f // movzx esi, byte [rdx + rdi + 31] + LONG $0x245c8b48; BYTE $0x68 // mov rbx, qword [rsp + 104] + QUAD $0x011e1a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rbx + 30], 1 + LONG $0x0274b60f; BYTE $0x1f // movzx esi, byte [rdx + rax + 31] LONG $0xce6ef9c5 // vmovd xmm1, esi - QUAD $0x011f2a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r13 + 31], 1 - QUAD $0x000000a824848b48 // mov rax, qword [rsp + 168] + QUAD $0x011f1a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rbx + 31], 1 + QUAD $0x0000010824848b48 // mov rax, qword [rsp + 264] QUAD $0x021e02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 30], 2 QUAD $0x021f024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 31], 2 - LONG $0x24448b48; BYTE $0x70 // mov rax, qword [rsp + 112] + QUAD $0x000000c824848b48 // mov rax, qword [rsp + 200] QUAD $0x031e02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 30], 3 QUAD $0x031f024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 31], 3 - QUAD $0x000000f024848b48 // mov rax, qword [rsp + 240] + LONG $0x24448b48; BYTE $0x70 // mov rax, qword [rsp + 112] QUAD $0x041e02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 30], 4 QUAD $0x041f024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 31], 4 - QUAD $0x000000f824848b48 // mov rax, qword [rsp + 248] - QUAD $0x051e02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 30], 5 - QUAD $0x051f024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 31], 5 - QUAD $0x061e1a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r11 + 30], 6 - QUAD $0x061f1a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r11 + 31], 6 - QUAD $0x0000011024bc8b48 // mov rdi, qword [rsp + 272] - QUAD $0x000000c824848b48 // mov rax, qword [rsp + 200] + WORD $0x894c; BYTE $0xc8 // mov rax, r9 + QUAD $0x051e0a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r9 + 30], 5 + QUAD $0x051f0a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r9 + 31], 5 + QUAD $0x0000009024848b48 // mov rax, qword [rsp + 144] + QUAD $0x061e02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 30], 6 + QUAD $0x061f024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 31], 6 + QUAD $0x000000d024848b48 // mov rax, qword [rsp + 208] QUAD $0x071e02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 30], 7 QUAD $0x071f024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 31], 7 - QUAD $0x000000c024848b48 // mov rax, qword [rsp + 192] + QUAD $0x00000110249c8b48 // mov rbx, qword [rsp + 272] + QUAD $0x000000e024848b48 // mov rax, qword [rsp + 224] QUAD $0x081e02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 30], 8 QUAD $0x081f024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 31], 8 - QUAD $0x091e0a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 30], 9 - QUAD $0x091f0a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 31], 9 - QUAD $0x0a1e32442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r14 + 30], 10 - QUAD $0x0a1f324c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r14 + 31], 10 + QUAD $0x000000e824848b48 // mov rax, qword [rsp + 232] + QUAD $0x091e02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 30], 9 + QUAD $0x091f024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 31], 9 LONG $0x24448b48; BYTE $0x58 // mov rax, qword [rsp + 88] - QUAD $0x0b1e02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 30], 11 - QUAD $0x0b1f024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 31], 11 - QUAD $0x0000008024848b48 // mov rax, qword [rsp + 128] - QUAD $0x0c1e02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 30], 12 - QUAD $0x0c1f024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 31], 12 - QUAD $0x000000d024848b48 // mov rax, qword [rsp + 208] + QUAD $0x0a1e02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 30], 10 + QUAD $0x0a1f024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 31], 10 + WORD $0x894c; BYTE $0xc0 // mov rax, r8 + QUAD $0x0b1e02442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r8 + 30], 11 + QUAD $0x0b1f024c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r8 + 31], 11 + QUAD $0x0c1e22442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r12 + 30], 12 + QUAD $0x0c1f224c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r12 + 31], 12 + LONG $0x24448b48; BYTE $0x48 // mov rax, qword [rsp + 72] QUAD $0x0d1e02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 30], 13 QUAD $0x0d1f024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 31], 13 - WORD $0x8948; BYTE $0xd8 // mov rax, rbx - QUAD $0x0e1e1a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rbx + 30], 14 - QUAD $0x0e1f1a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rbx + 31], 14 - LONG $0x24448b48; BYTE $0x50 // mov rax, qword [rsp + 80] - QUAD $0x0f1e02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 30], 15 - QUAD $0x0f1f02542071e3c4 // vpinsrb xmm2, xmm1, byte [rdx + rax + 31], 15 - WORD $0x894c; BYTE $0xc6 // mov rsi, r8 - LONG $0x44b60f42; WORD $0x1e02 // movzx eax, byte [rdx + r8 + 30] + LONG $0x24448b48; BYTE $0x40 // mov rax, qword [rsp + 64] + QUAD $0x0e1e02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 30], 14 + QUAD $0x0e1f024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 31], 14 + QUAD $0x0f1e32442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r14 + 30], 15 + QUAD $0x0f1f32542071a3c4 // vpinsrb xmm2, xmm1, byte [rdx + r14 + 31], 15 + QUAD $0x0000010024b48b48 // mov rsi, qword [rsp + 256] + LONG $0x3244b60f; BYTE $0x1e // movzx eax, byte [rdx + rsi + 30] LONG $0xc86ef9c5 // vmovd xmm1, eax - QUAD $0x011e3a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r15 + 30], 1 - LONG $0x44b60f42; WORD $0x1f02 // movzx eax, byte [rdx + r8 + 31] + QUAD $0x011e1a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r11 + 30], 1 + LONG $0x3244b60f; BYTE $0x1f // movzx eax, byte [rdx + rsi + 31] LONG $0xf86ef9c5 // vmovd xmm7, eax - QUAD $0x011f3a7c2041a3c4 // vpinsrb xmm7, xmm7, byte [rdx + r15 + 31], 1 - QUAD $0x021e124c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r10 + 30], 2 - QUAD $0x021f127c2041a3c4 // vpinsrb xmm7, xmm7, byte [rdx + r10 + 31], 2 - QUAD $0x000000b024848b48 // mov rax, qword [rsp + 176] + QUAD $0x011f1a7c2041a3c4 // vpinsrb xmm7, xmm7, byte [rdx + r11 + 31], 1 + LONG $0x24448b48; BYTE $0x78 // mov rax, qword [rsp + 120] + QUAD $0x021e024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 30], 2 + QUAD $0x021f027c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rax + 31], 2 + LONG $0x24448b48; BYTE $0x38 // mov rax, qword [rsp + 56] QUAD $0x031e024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 30], 3 QUAD $0x031f027c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rax + 31], 3 - QUAD $0x041e0a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r9 + 30], 4 - QUAD $0x041f0a7c2041a3c4 // vpinsrb xmm7, xmm7, byte [rdx + r9 + 31], 4 - LONG $0x24448b48; BYTE $0x60 // mov rax, qword [rsp + 96] + QUAD $0x041e2a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r13 + 30], 4 + QUAD $0x041f2a7c2041a3c4 // vpinsrb xmm7, xmm7, byte [rdx + r13 + 31], 4 + QUAD $0x0000008824848b48 // mov rax, qword [rsp + 136] QUAD $0x051e024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 30], 5 QUAD $0x051f027c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rax + 31], 5 - QUAD $0x000000a024848b48 // mov rax, qword [rsp + 160] + QUAD $0x0000009824848b48 // mov rax, qword [rsp + 152] QUAD $0x061e024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 30], 6 QUAD $0x061f027c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rax + 31], 6 - QUAD $0x0000009024848b48 // mov rax, qword [rsp + 144] + QUAD $0x000000f824848b48 // mov rax, qword [rsp + 248] QUAD $0x071e024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 30], 7 QUAD $0x071f027c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rax + 31], 7 - QUAD $0x0000008824848b48 // mov rax, qword [rsp + 136] + QUAD $0x000000a024848b48 // mov rax, qword [rsp + 160] QUAD $0x081e024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 30], 8 QUAD $0x081f027c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rax + 31], 8 - QUAD $0x0000009824848b48 // mov rax, qword [rsp + 152] - QUAD $0x091e024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 30], 9 - QUAD $0x091f027c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rax + 31], 9 - QUAD $0x0000014024848b48 // mov rax, qword [rsp + 320] + QUAD $0x091e3a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r15 + 30], 9 + QUAD $0x091f3a7c2041a3c4 // vpinsrb xmm7, xmm7, byte [rdx + r15 + 31], 9 + LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] QUAD $0x0a1e024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 30], 10 QUAD $0x0a1f027c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rax + 31], 10 - QUAD $0x000000d824848b48 // mov rax, qword [rsp + 216] - QUAD $0x0b1e024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 30], 11 - QUAD $0x0b1f027c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rax + 31], 11 - QUAD $0x0000012024848b48 // mov rax, qword [rsp + 288] + QUAD $0x0b1e3a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 30], 11 + QUAD $0x0b1f3a7c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rdi + 31], 11 + LONG $0x24448b48; BYTE $0x30 // mov rax, qword [rsp + 48] QUAD $0x0c1e024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 30], 12 QUAD $0x0c1f027c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rax + 31], 12 - LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] - QUAD $0x0d1e024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 30], 13 - QUAD $0x0d1f027c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rax + 31], 13 - LONG $0x24448b48; BYTE $0x48 // mov rax, qword [rsp + 72] + WORD $0x8948; BYTE $0xc8 // mov rax, rcx + QUAD $0x0d1e0a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 30], 13 + QUAD $0x0d1f0a7c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rcx + 31], 13 + QUAD $0x0000012024848b48 // mov rax, qword [rsp + 288] QUAD $0x0e1e024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 30], 14 QUAD $0x0e1f027c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rax + 31], 14 - WORD $0x894c; BYTE $0xe0 // mov rax, r12 - QUAD $0x0f1e224c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r12 + 30], 15 - QUAD $0x0f1f227c2041a3c4 // vpinsrb xmm7, xmm7, byte [rdx + r12 + 31], 15 + QUAD $0x0f1e124c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r10 + 30], 15 + QUAD $0x0f1f127c2041a3c4 // vpinsrb xmm7, xmm7, byte [rdx + r10 + 31], 15 LONG $0x3875e3c4; WORD $0x01c0 // vinserti128 ymm0, ymm1, xmm0, 1 QUAD $0x00014024847ffdc5; BYTE $0x00 // vmovdqa yword [rsp + 320], ymm0 LONG $0x3845e3c4; WORD $0x01c2 // vinserti128 ymm0, ymm7, xmm2, 1 @@ -14596,71 +15238,71 @@ LBB2_166: LONG $0x3865e3c4; WORD $0x01e0 // vinserti128 ymm4, ymm3, xmm0, 1 LONG $0x4665e3c4; WORD $0x31c0 // vperm2i128 ymm0, ymm3, ymm0, 49 QUAD $0x00000198248c8b48 // mov rcx, qword [rsp + 408] - LONG $0x447ffec5; WORD $0x608f // vmovdqu yword [rdi + 4*rcx + 96], ymm0 - LONG $0x547ffec5; WORD $0x408f // vmovdqu yword [rdi + 4*rcx + 64], ymm2 - LONG $0x647ffec5; WORD $0x208f // vmovdqu yword [rdi + 4*rcx + 32], ymm4 - LONG $0x0c7ffec5; BYTE $0x8f // vmovdqu yword [rdi + 4*rcx], ymm1 + LONG $0x447ffec5; WORD $0x608b // vmovdqu yword [rbx + 4*rcx + 96], ymm0 + LONG $0x547ffec5; WORD $0x408b // vmovdqu yword [rbx + 4*rcx + 64], ymm2 + LONG $0x647ffec5; WORD $0x208b // vmovdqu yword [rbx + 4*rcx + 32], ymm4 + LONG $0x0c7ffec5; BYTE $0x8b // vmovdqu yword [rbx + 4*rcx], ymm1 LONG $0x20c18348 // add rcx, 32 WORD $0x8948; BYTE $0xc8 // mov rax, rcx QUAD $0x00000180248c3b48 // cmp rcx, qword [rsp + 384] - JNE LBB2_166 + JNE LBB2_167 QUAD $0x0000018824bc8b4c // mov r15, qword [rsp + 392] QUAD $0x0000018024bc3b4c // cmp r15, qword [rsp + 384] QUAD $0x0000011824948b4c // mov r10, qword [rsp + 280] - LONG $0x24748b44; BYTE $0x1c // mov r14d, dword [rsp + 28] + LONG $0x245c8b44; BYTE $0x1c // mov r11d, dword [rsp + 28] QUAD $0x0000019024a48b4c // mov r12, qword [rsp + 400] JNE LBB2_43 JMP LBB2_129 -LBB2_168: +LBB2_169: LONG $0xe0e78349 // and r15, -32 WORD $0x894c; BYTE $0xf8 // mov rax, r15 LONG $0x05e0c148 // shl rax, 5 WORD $0x0148; BYTE $0xd0 // add rax, rdx QUAD $0x0000019024848948 // mov qword [rsp + 400], rax QUAD $0x0000018024bc894c // mov qword [rsp + 384], r15 - LONG $0xbb048d4b // lea rax, [r11 + 4*r15] + LONG $0xbe048d4b // lea rax, [r14 + 4*r15] QUAD $0x0000017824848948 // mov qword [rsp + 376], rax - LONG $0x6e79c1c4; BYTE $0xc6 // vmovd xmm0, r14d + LONG $0x6e79c1c4; BYTE $0xc3 // vmovd xmm0, r11d LONG $0x787de2c4; BYTE $0xc0 // vpbroadcastb ymm0, xmm0 QUAD $0x00020024847ffdc5; BYTE $0x00 // vmovdqa yword [rsp + 512], ymm0 WORD $0xc031 // xor eax, eax - QUAD $0x00000110249c894c // mov qword [rsp + 272], r11 + QUAD $0x0000011024b4894c // mov qword [rsp + 272], r14 -LBB2_169: +LBB2_170: WORD $0x8948; BYTE $0xc3 // mov rbx, rax QUAD $0x0000019824848948 // mov qword [rsp + 408], rax LONG $0x05e3c148 // shl rbx, 5 WORD $0x8948; BYTE $0xd8 // mov rax, rbx LONG $0x20c88348 // or rax, 32 - LONG $0x24448948; BYTE $0x78 // mov qword [rsp + 120], rax + QUAD $0x000000c024848948 // mov qword [rsp + 192], rax WORD $0x8948; BYTE $0xd8 // mov rax, rbx LONG $0x40c88348 // or rax, 64 - LONG $0x24448948; BYTE $0x40 // mov qword [rsp + 64], rax + LONG $0x24448948; BYTE $0x78 // mov qword [rsp + 120], rax WORD $0x8948; BYTE $0xd8 // mov rax, rbx LONG $0x60c88348 // or rax, 96 - QUAD $0x000000b024848948 // mov qword [rsp + 176], rax + LONG $0x24448948; BYTE $0x38 // mov qword [rsp + 56], rax WORD $0x8948; BYTE $0xd8 // mov rax, rbx LONG $0x00800d48; WORD $0x0000 // or rax, 128 - LONG $0x24448948; BYTE $0x68 // mov qword [rsp + 104], rax + QUAD $0x000000a824848948 // mov qword [rsp + 168], rax WORD $0x8948; BYTE $0xd8 // mov rax, rbx LONG $0x00a00d48; WORD $0x0000 // or rax, 160 - LONG $0x24448948; BYTE $0x60 // mov qword [rsp + 96], rax + QUAD $0x0000008824848948 // mov qword [rsp + 136], rax WORD $0x8948; BYTE $0xd8 // mov rax, rbx LONG $0x00c00d48; WORD $0x0000 // or rax, 192 - QUAD $0x000000a024848948 // mov qword [rsp + 160], rax + QUAD $0x0000009824848948 // mov qword [rsp + 152], rax WORD $0x8948; BYTE $0xd8 // mov rax, rbx LONG $0x00e00d48; WORD $0x0000 // or rax, 224 - QUAD $0x0000009024848948 // mov qword [rsp + 144], rax + QUAD $0x000000f824848948 // mov qword [rsp + 248], rax WORD $0x8948; BYTE $0xd8 // mov rax, rbx LONG $0x01000d48; WORD $0x0000 // or rax, 256 - QUAD $0x0000008824848948 // mov qword [rsp + 136], rax + QUAD $0x000000a024848948 // mov qword [rsp + 160], rax WORD $0x8948; BYTE $0xd8 // mov rax, rbx LONG $0x01200d48; WORD $0x0000 // or rax, 288 - QUAD $0x0000009824848948 // mov qword [rsp + 152], rax + QUAD $0x000000b024848948 // mov qword [rsp + 176], rax WORD $0x8948; BYTE $0xd8 // mov rax, rbx LONG $0x01400d48; WORD $0x0000 // or rax, 320 - QUAD $0x0000014024848948 // mov qword [rsp + 320], rax + LONG $0x24448948; BYTE $0x28 // mov qword [rsp + 40], rax WORD $0x8948; BYTE $0xd8 // mov rax, rbx LONG $0x02000d48; WORD $0x0000 // or rax, 512 WORD $0x8948; BYTE $0xc1 // mov rcx, rax @@ -14669,1918 +15311,1929 @@ LBB2_169: LONG $0x1a04b60f // movzx eax, byte [rdx + rbx] LONG $0xd86ef9c5 // vmovd xmm3, eax LONG $0x0a44b60f; BYTE $0x01 // movzx eax, byte [rdx + rcx + 1] + WORD $0x8948; BYTE $0xce // mov rsi, rcx LONG $0xe06ef9c5 // vmovd xmm4, eax + WORD $0x8948; BYTE $0xd9 // mov rcx, rbx LONG $0x1a44b60f; BYTE $0x01 // movzx eax, byte [rdx + rbx + 1] LONG $0xd06e79c5 // vmovd xmm10, eax - LONG $0x0a44b60f; BYTE $0x02 // movzx eax, byte [rdx + rcx + 2] - WORD $0x8948; BYTE $0xcf // mov rdi, rcx + LONG $0x3244b60f; BYTE $0x02 // movzx eax, byte [rdx + rsi + 2] LONG $0xc86ef9c5 // vmovd xmm1, eax QUAD $0x0001e0248c7ff9c5; BYTE $0x00 // vmovdqa oword [rsp + 480], xmm1 - WORD $0x8948; BYTE $0xd9 // mov rcx, rbx LONG $0x1a44b60f; BYTE $0x02 // movzx eax, byte [rdx + rbx + 2] LONG $0xc86ef9c5 // vmovd xmm1, eax QUAD $0x0001c0248c7ff9c5; BYTE $0x00 // vmovdqa oword [rsp + 448], xmm1 - LONG $0x3a44b60f; BYTE $0x03 // movzx eax, byte [rdx + rdi + 3] + LONG $0x3244b60f; BYTE $0x03 // movzx eax, byte [rdx + rsi + 3] LONG $0xd86e79c5 // vmovd xmm11, eax LONG $0x1a44b60f; BYTE $0x03 // movzx eax, byte [rdx + rbx + 3] LONG $0xc06e79c5 // vmovd xmm8, eax - LONG $0x3a44b60f; BYTE $0x04 // movzx eax, byte [rdx + rdi + 4] + LONG $0x3244b60f; BYTE $0x04 // movzx eax, byte [rdx + rsi + 4] LONG $0xc86ef9c5 // vmovd xmm1, eax QUAD $0x0001a0248c7ff9c5; BYTE $0x00 // vmovdqa oword [rsp + 416], xmm1 LONG $0x1a44b60f; BYTE $0x04 // movzx eax, byte [rdx + rbx + 4] LONG $0xe86e79c5 // vmovd xmm13, eax - LONG $0x3a44b60f; BYTE $0x05 // movzx eax, byte [rdx + rdi + 5] + LONG $0x3244b60f; BYTE $0x05 // movzx eax, byte [rdx + rsi + 5] LONG $0xf06e79c5 // vmovd xmm14, eax LONG $0x1a44b60f; BYTE $0x05 // movzx eax, byte [rdx + rbx + 5] LONG $0xf06ef9c5 // vmovd xmm6, eax - LONG $0x3a44b60f; BYTE $0x06 // movzx eax, byte [rdx + rdi + 6] - QUAD $0x0000010024bc8948 // mov qword [rsp + 256], rdi + LONG $0x3244b60f; BYTE $0x06 // movzx eax, byte [rdx + rsi + 6] + QUAD $0x000000f024b48948 // mov qword [rsp + 240], rsi LONG $0xe06e79c5 // vmovd xmm12, eax LONG $0x1a44b60f; BYTE $0x06 // movzx eax, byte [rdx + rbx + 6] LONG $0xf86ef9c5 // vmovd xmm7, eax - LONG $0x3a44b60f; BYTE $0x07 // movzx eax, byte [rdx + rdi + 7] + LONG $0x3244b60f; BYTE $0x07 // movzx eax, byte [rdx + rsi + 7] LONG $0xd06ef9c5 // vmovd xmm2, eax LONG $0x1a44b60f; BYTE $0x07 // movzx eax, byte [rdx + rbx + 7] LONG $0xc86ef9c5 // vmovd xmm1, eax WORD $0x8948; BYTE $0xd8 // mov rax, rbx LONG $0x01600d48; WORD $0x0000 // or rax, 352 - QUAD $0x000000d824848948 // mov qword [rsp + 216], rax + QUAD $0x0000008024848948 // mov qword [rsp + 128], rax WORD $0x8948; BYTE $0xd8 // mov rax, rbx LONG $0x01800d48; WORD $0x0000 // or rax, 384 - QUAD $0x0000012024848948 // mov qword [rsp + 288], rax + LONG $0x24448948; BYTE $0x30 // mov qword [rsp + 48], rax WORD $0x8948; BYTE $0xd8 // mov rax, rbx LONG $0x01a00d48; WORD $0x0000 // or rax, 416 LONG $0x24448948; BYTE $0x20 // mov qword [rsp + 32], rax WORD $0x8948; BYTE $0xd8 // mov rax, rbx LONG $0x01c00d48; WORD $0x0000 // or rax, 448 - LONG $0x24448948; BYTE $0x48 // mov qword [rsp + 72], rax + QUAD $0x0000012024848948 // mov qword [rsp + 288], rax WORD $0x8948; BYTE $0xd8 // mov rax, rbx LONG $0x01e00d48; WORD $0x0000 // or rax, 480 - LONG $0x24448948; BYTE $0x38 // mov qword [rsp + 56], rax + QUAD $0x0000014024848948 // mov qword [rsp + 320], rax WORD $0x8948; BYTE $0xd8 // mov rax, rbx LONG $0x02200d48; WORD $0x0000 // or rax, 544 - QUAD $0x000000e824848948 // mov qword [rsp + 232], rax + LONG $0x24448948; BYTE $0x68 // mov qword [rsp + 104], rax LONG $0x40cb8148; WORD $0x0002; BYTE $0x00 // or rbx, 576 - QUAD $0x000000a8249c8948 // mov qword [rsp + 168], rbx + QUAD $0x00000108249c8948 // mov qword [rsp + 264], rbx WORD $0x8948; BYTE $0xc8 // mov rax, rcx LONG $0x02600d48; WORD $0x0000 // or rax, 608 - LONG $0x24448948; BYTE $0x70 // mov qword [rsp + 112], rax - WORD $0x8949; BYTE $0xcc // mov r12, rcx - LONG $0x80cc8149; WORD $0x0002; BYTE $0x00 // or r12, 640 - QUAD $0x000000f024a4894c // mov qword [rsp + 240], r12 + QUAD $0x000000c824848948 // mov qword [rsp + 200], rax WORD $0x8949; BYTE $0xce // mov r14, rcx - LONG $0xa0ce8149; WORD $0x0002; BYTE $0x00 // or r14, 672 - QUAD $0x000000f824b4894c // mov qword [rsp + 248], r14 - WORD $0x8948; BYTE $0xc8 // mov rax, rcx - LONG $0x02c00d48; WORD $0x0000 // or rax, 704 - LONG $0x24448948; BYTE $0x28 // mov qword [rsp + 40], rax + LONG $0x80ce8149; WORD $0x0002; BYTE $0x00 // or r14, 640 + LONG $0x2474894c; BYTE $0x70 // mov qword [rsp + 112], r14 WORD $0x8948; BYTE $0xc8 // mov rax, rcx - LONG $0x02e00d48; WORD $0x0000 // or rax, 736 - WORD $0x8948; BYTE $0xc7 // mov rdi, rax - WORD $0x8949; BYTE $0xc9 // mov r9, rcx - LONG $0x00c98149; WORD $0x0003; BYTE $0x00 // or r9, 768 - QUAD $0x000000c0248c894c // mov qword [rsp + 192], r9 + LONG $0x02a00d48; WORD $0x0000 // or rax, 672 + QUAD $0x000000b824848948 // mov qword [rsp + 184], rax + WORD $0x8949; BYTE $0xcc // mov r12, rcx + LONG $0xc0cc8149; WORD $0x0002; BYTE $0x00 // or r12, 704 + QUAD $0x0000009024a4894c // mov qword [rsp + 144], r12 + WORD $0x8948; BYTE $0xcf // mov rdi, rcx + LONG $0xe0cf8148; WORD $0x0002; BYTE $0x00 // or rdi, 736 + QUAD $0x000000d024bc8948 // mov qword [rsp + 208], rdi WORD $0x8949; BYTE $0xcf // mov r15, rcx - LONG $0x20cf8149; WORD $0x0003; BYTE $0x00 // or r15, 800 - QUAD $0x000000b824bc894c // mov qword [rsp + 184], r15 + LONG $0x00cf8149; WORD $0x0003; BYTE $0x00 // or r15, 768 + QUAD $0x000000e024bc894c // mov qword [rsp + 224], r15 WORD $0x8949; BYTE $0xcb // mov r11, rcx - LONG $0x40cb8149; WORD $0x0003; BYTE $0x00 // or r11, 832 - QUAD $0x000000e0249c894c // mov qword [rsp + 224], r11 + LONG $0x20cb8149; WORD $0x0003; BYTE $0x00 // or r11, 800 + QUAD $0x000000e8249c894c // mov qword [rsp + 232], r11 WORD $0x8949; BYTE $0xca // mov r10, rcx - LONG $0x60ca8149; WORD $0x0003; BYTE $0x00 // or r10, 864 + LONG $0x40ca8149; WORD $0x0003; BYTE $0x00 // or r10, 832 LONG $0x2454894c; BYTE $0x58 // mov qword [rsp + 88], r10 + WORD $0x8949; BYTE $0xc9 // mov r9, rcx + LONG $0x60c98149; WORD $0x0003; BYTE $0x00 // or r9, 864 + QUAD $0x000000d8248c894c // mov qword [rsp + 216], r9 WORD $0x8949; BYTE $0xc8 // mov r8, rcx LONG $0x80c88149; WORD $0x0003; BYTE $0x00 // or r8, 896 - QUAD $0x000000802484894c // mov qword [rsp + 128], r8 + LONG $0x2444894c; BYTE $0x50 // mov qword [rsp + 80], r8 WORD $0x8948; BYTE $0xce // mov rsi, rcx LONG $0xa0ce8148; WORD $0x0003; BYTE $0x00 // or rsi, 928 - QUAD $0x000000d024b48948 // mov qword [rsp + 208], rsi + LONG $0x24748948; BYTE $0x48 // mov qword [rsp + 72], rsi WORD $0x8948; BYTE $0xc8 // mov rax, rcx - QUAD $0x00000108248c8948 // mov qword [rsp + 264], rcx + QUAD $0x00000100248c8948 // mov qword [rsp + 256], rcx LONG $0x03c00d48; WORD $0x0000 // or rax, 960 - LONG $0x24448948; BYTE $0x30 // mov qword [rsp + 48], rax + LONG $0x24448948; BYTE $0x40 // mov qword [rsp + 64], rax LONG $0xe0c98148; WORD $0x0003; BYTE $0x00 // or rcx, 992 - LONG $0x244c8948; BYTE $0x50 // mov qword [rsp + 80], rcx - QUAD $0x000000e824ac8b4c // mov r13, qword [rsp + 232] + LONG $0x244c8948; BYTE $0x60 // mov qword [rsp + 96], rcx + LONG $0x246c8b4c; BYTE $0x68 // mov r13, qword [rsp + 104] LONG $0x207923c4; WORD $0x2a0c; BYTE $0x01 // vpinsrb xmm9, xmm0, byte [rdx + r13], 1 LONG $0x2031e3c4; WORD $0x1a04; BYTE $0x02 // vpinsrb xmm0, xmm9, byte [rdx + rbx], 2 - LONG $0x245c8b48; BYTE $0x70 // mov rbx, qword [rsp + 112] + QUAD $0x000000c8249c8b48 // mov rbx, qword [rsp + 200] LONG $0x2079e3c4; WORD $0x1a04; BYTE $0x03 // vpinsrb xmm0, xmm0, byte [rdx + rbx], 3 - LONG $0x2079a3c4; WORD $0x2204; BYTE $0x04 // vpinsrb xmm0, xmm0, byte [rdx + r12], 4 - LONG $0x2079a3c4; WORD $0x3204; BYTE $0x05 // vpinsrb xmm0, xmm0, byte [rdx + r14], 5 - LONG $0x245c8b48; BYTE $0x28 // mov rbx, qword [rsp + 40] - LONG $0x2079e3c4; WORD $0x1a04; BYTE $0x06 // vpinsrb xmm0, xmm0, byte [rdx + rbx], 6 + LONG $0x2079a3c4; WORD $0x3204; BYTE $0x04 // vpinsrb xmm0, xmm0, byte [rdx + r14], 4 + QUAD $0x000000b8249c8b48 // mov rbx, qword [rsp + 184] + LONG $0x2079e3c4; WORD $0x1a04; BYTE $0x05 // vpinsrb xmm0, xmm0, byte [rdx + rbx], 5 + LONG $0x2079a3c4; WORD $0x2204; BYTE $0x06 // vpinsrb xmm0, xmm0, byte [rdx + r12], 6 LONG $0x2079e3c4; WORD $0x3a04; BYTE $0x07 // vpinsrb xmm0, xmm0, byte [rdx + rdi], 7 - WORD $0x8949; BYTE $0xfd // mov r13, rdi - QUAD $0x000000c824bc8948 // mov qword [rsp + 200], rdi - LONG $0x2079a3c4; WORD $0x0a04; BYTE $0x08 // vpinsrb xmm0, xmm0, byte [rdx + r9], 8 - LONG $0x2079a3c4; WORD $0x3a04; BYTE $0x09 // vpinsrb xmm0, xmm0, byte [rdx + r15], 9 - LONG $0x2079a3c4; WORD $0x1a04; BYTE $0x0a // vpinsrb xmm0, xmm0, byte [rdx + r11], 10 - LONG $0x2079a3c4; WORD $0x1204; BYTE $0x0b // vpinsrb xmm0, xmm0, byte [rdx + r10], 11 + LONG $0x2079a3c4; WORD $0x3a04; BYTE $0x08 // vpinsrb xmm0, xmm0, byte [rdx + r15], 8 + LONG $0x2079a3c4; WORD $0x1a04; BYTE $0x09 // vpinsrb xmm0, xmm0, byte [rdx + r11], 9 + LONG $0x2079a3c4; WORD $0x1204; BYTE $0x0a // vpinsrb xmm0, xmm0, byte [rdx + r10], 10 + LONG $0x2079a3c4; WORD $0x0a04; BYTE $0x0b // vpinsrb xmm0, xmm0, byte [rdx + r9], 11 LONG $0x2079a3c4; WORD $0x0204; BYTE $0x0c // vpinsrb xmm0, xmm0, byte [rdx + r8], 12 LONG $0x2079e3c4; WORD $0x3204; BYTE $0x0d // vpinsrb xmm0, xmm0, byte [rdx + rsi], 13 LONG $0x2079e3c4; WORD $0x0204; BYTE $0x0e // vpinsrb xmm0, xmm0, byte [rdx + rax], 14 LONG $0x2079e3c4; WORD $0x0a04; BYTE $0x0f // vpinsrb xmm0, xmm0, byte [rdx + rcx], 15 - LONG $0x24748b4c; BYTE $0x78 // mov r14, qword [rsp + 120] + QUAD $0x000000c024b48b4c // mov r14, qword [rsp + 192] LONG $0x2061a3c4; WORD $0x321c; BYTE $0x01 // vpinsrb xmm3, xmm3, byte [rdx + r14], 1 - LONG $0x24548b4c; BYTE $0x40 // mov r10, qword [rsp + 64] - LONG $0x2061a3c4; WORD $0x121c; BYTE $0x02 // vpinsrb xmm3, xmm3, byte [rdx + r10], 2 - QUAD $0x000000b024a48b4c // mov r12, qword [rsp + 176] - LONG $0x2061a3c4; WORD $0x221c; BYTE $0x03 // vpinsrb xmm3, xmm3, byte [rdx + r12], 3 - LONG $0x24448b4c; BYTE $0x68 // mov r8, qword [rsp + 104] - LONG $0x2061a3c4; WORD $0x021c; BYTE $0x04 // vpinsrb xmm3, xmm3, byte [rdx + r8], 4 - LONG $0x245c8b4c; BYTE $0x60 // mov r11, qword [rsp + 96] + LONG $0x24648b4c; BYTE $0x78 // mov r12, qword [rsp + 120] + LONG $0x2061a3c4; WORD $0x221c; BYTE $0x02 // vpinsrb xmm3, xmm3, byte [rdx + r12], 2 + LONG $0x24448b4c; BYTE $0x38 // mov r8, qword [rsp + 56] + LONG $0x2061a3c4; WORD $0x021c; BYTE $0x03 // vpinsrb xmm3, xmm3, byte [rdx + r8], 3 + QUAD $0x000000a8248c8b4c // mov r9, qword [rsp + 168] + LONG $0x2061a3c4; WORD $0x0a1c; BYTE $0x04 // vpinsrb xmm3, xmm3, byte [rdx + r9], 4 + QUAD $0x00000088249c8b4c // mov r11, qword [rsp + 136] LONG $0x2061a3c4; WORD $0x1a1c; BYTE $0x05 // vpinsrb xmm3, xmm3, byte [rdx + r11], 5 - QUAD $0x000000a0248c8b4c // mov r9, qword [rsp + 160] - LONG $0x2061a3c4; WORD $0x0a1c; BYTE $0x06 // vpinsrb xmm3, xmm3, byte [rdx + r9], 6 - QUAD $0x0000009024bc8b4c // mov r15, qword [rsp + 144] + QUAD $0x0000009824948b4c // mov r10, qword [rsp + 152] + LONG $0x2061a3c4; WORD $0x121c; BYTE $0x06 // vpinsrb xmm3, xmm3, byte [rdx + r10], 6 + QUAD $0x000000f824bc8b4c // mov r15, qword [rsp + 248] LONG $0x2061a3c4; WORD $0x3a1c; BYTE $0x07 // vpinsrb xmm3, xmm3, byte [rdx + r15], 7 - QUAD $0x0000008824b48b48 // mov rsi, qword [rsp + 136] + QUAD $0x000000a024b48b48 // mov rsi, qword [rsp + 160] LONG $0x2061e3c4; WORD $0x321c; BYTE $0x08 // vpinsrb xmm3, xmm3, byte [rdx + rsi], 8 - QUAD $0x0000009824848b48 // mov rax, qword [rsp + 152] + QUAD $0x000000b024848b48 // mov rax, qword [rsp + 176] LONG $0x2061e3c4; WORD $0x021c; BYTE $0x09 // vpinsrb xmm3, xmm3, byte [rdx + rax], 9 - QUAD $0x00000140249c8b48 // mov rbx, qword [rsp + 320] + LONG $0x245c8b48; BYTE $0x28 // mov rbx, qword [rsp + 40] LONG $0x2061e3c4; WORD $0x1a1c; BYTE $0x0a // vpinsrb xmm3, xmm3, byte [rdx + rbx], 10 - QUAD $0x000000d8248c8b48 // mov rcx, qword [rsp + 216] + QUAD $0x00000080248c8b48 // mov rcx, qword [rsp + 128] LONG $0x2061e3c4; WORD $0x0a1c; BYTE $0x0b // vpinsrb xmm3, xmm3, byte [rdx + rcx], 11 - QUAD $0x0000012024bc8b48 // mov rdi, qword [rsp + 288] + LONG $0x247c8b48; BYTE $0x30 // mov rdi, qword [rsp + 48] LONG $0x2061e3c4; WORD $0x3a1c; BYTE $0x0c // vpinsrb xmm3, xmm3, byte [rdx + rdi], 12 LONG $0x247c8b48; BYTE $0x20 // mov rdi, qword [rsp + 32] LONG $0x2061e3c4; WORD $0x3a1c; BYTE $0x0d // vpinsrb xmm3, xmm3, byte [rdx + rdi], 13 - LONG $0x247c8b48; BYTE $0x48 // mov rdi, qword [rsp + 72] + QUAD $0x0000012024bc8b48 // mov rdi, qword [rsp + 288] LONG $0x2061e3c4; WORD $0x3a1c; BYTE $0x0e // vpinsrb xmm3, xmm3, byte [rdx + rdi], 14 - LONG $0x247c8b48; BYTE $0x38 // mov rdi, qword [rsp + 56] + QUAD $0x0000014024bc8b48 // mov rdi, qword [rsp + 320] LONG $0x2061e3c4; WORD $0x3a1c; BYTE $0x0f // vpinsrb xmm3, xmm3, byte [rdx + rdi], 15 - QUAD $0x000000e824bc8b48 // mov rdi, qword [rsp + 232] + LONG $0x247c8b48; BYTE $0x68 // mov rdi, qword [rsp + 104] QUAD $0x01013a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rdi + 1], 1 - QUAD $0x000000a824bc8b48 // mov rdi, qword [rsp + 168] - QUAD $0x02013a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rdi + 1], 2 - LONG $0x247c8b48; BYTE $0x70 // mov rdi, qword [rsp + 112] + QUAD $0x0000010824ac8b4c // mov r13, qword [rsp + 264] + QUAD $0x02012a642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r13 + 1], 2 + QUAD $0x000000c824bc8b48 // mov rdi, qword [rsp + 200] QUAD $0x03013a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rdi + 1], 3 - QUAD $0x000000f024bc8b48 // mov rdi, qword [rsp + 240] - QUAD $0x04013a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rdi + 1], 4 - QUAD $0x000000f824bc8b48 // mov rdi, qword [rsp + 248] + LONG $0x246c8b4c; BYTE $0x70 // mov r13, qword [rsp + 112] + QUAD $0x04012a642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r13 + 1], 4 + QUAD $0x000000b824bc8b48 // mov rdi, qword [rsp + 184] QUAD $0x05013a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rdi + 1], 5 - LONG $0x247c8b48; BYTE $0x28 // mov rdi, qword [rsp + 40] - QUAD $0x06013a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rdi + 1], 6 + QUAD $0x0000009024ac8b4c // mov r13, qword [rsp + 144] + QUAD $0x06012a642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r13 + 1], 6 + QUAD $0x000000d024ac8b4c // mov r13, qword [rsp + 208] QUAD $0x07012a642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r13 + 1], 7 - QUAD $0x000000c024ac8b4c // mov r13, qword [rsp + 192] - QUAD $0x08012a642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r13 + 1], 8 - QUAD $0x000000b824ac8b4c // mov r13, qword [rsp + 184] - QUAD $0x09012a642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r13 + 1], 9 QUAD $0x000000e024bc8b48 // mov rdi, qword [rsp + 224] - QUAD $0x0a013a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rdi + 1], 10 + QUAD $0x08013a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rdi + 1], 8 + QUAD $0x000000e824bc8b48 // mov rdi, qword [rsp + 232] + QUAD $0x09013a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rdi + 1], 9 LONG $0x247c8b48; BYTE $0x58 // mov rdi, qword [rsp + 88] + QUAD $0x0a013a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rdi + 1], 10 + QUAD $0x000000d824bc8b48 // mov rdi, qword [rsp + 216] QUAD $0x0b013a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rdi + 1], 11 - QUAD $0x0000008024bc8b48 // mov rdi, qword [rsp + 128] + LONG $0x247c8b48; BYTE $0x50 // mov rdi, qword [rsp + 80] QUAD $0x0c013a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rdi + 1], 12 - QUAD $0x000000d024bc8b48 // mov rdi, qword [rsp + 208] + LONG $0x247c8b48; BYTE $0x48 // mov rdi, qword [rsp + 72] QUAD $0x0d013a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rdi + 1], 13 - LONG $0x247c8b48; BYTE $0x30 // mov rdi, qword [rsp + 48] + LONG $0x247c8b48; BYTE $0x40 // mov rdi, qword [rsp + 64] QUAD $0x0e013a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rdi + 1], 14 - LONG $0x247c8b48; BYTE $0x50 // mov rdi, qword [rsp + 80] + LONG $0x247c8b48; BYTE $0x60 // mov rdi, qword [rsp + 96] QUAD $0x0f013a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rdi + 1], 15 QUAD $0x0101326c2029a3c4 // vpinsrb xmm5, xmm10, byte [rdx + r14 + 1], 1 - QUAD $0x0201126c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r10 + 1], 2 - QUAD $0x0301226c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r12 + 1], 3 - QUAD $0x0401026c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r8 + 1], 4 + QUAD $0x0201226c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r12 + 1], 2 + WORD $0x894c; BYTE $0xe7 // mov rdi, r12 + QUAD $0x0301026c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r8 + 1], 3 + QUAD $0x04010a6c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r9 + 1], 4 QUAD $0x05011a6c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r11 + 1], 5 - QUAD $0x06010a6c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r9 + 1], 6 + QUAD $0x0601126c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r10 + 1], 6 QUAD $0x07013a6c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r15 + 1], 7 QUAD $0x0801326c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rsi + 1], 8 QUAD $0x0901026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 1], 9 QUAD $0x0a011a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rbx + 1], 10 QUAD $0x0b010a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rcx + 1], 11 - QUAD $0x0000012024848b48 // mov rax, qword [rsp + 288] + LONG $0x24448b48; BYTE $0x30 // mov rax, qword [rsp + 48] QUAD $0x0c01026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 1], 12 LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] QUAD $0x0d01026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 1], 13 - LONG $0x24448b48; BYTE $0x48 // mov rax, qword [rsp + 72] + QUAD $0x0000012024848b48 // mov rax, qword [rsp + 288] QUAD $0x0e01026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 1], 14 LONG $0x386563c4; WORD $0x01f8 // vinserti128 ymm15, ymm3, xmm0, 1 - LONG $0x24448b48; BYTE $0x38 // mov rax, qword [rsp + 56] + QUAD $0x0000014024848b48 // mov rax, qword [rsp + 320] QUAD $0x0f0102442051e3c4 // vpinsrb xmm0, xmm5, byte [rdx + rax + 1], 15 - QUAD $0x0000010024848b48 // mov rax, qword [rsp + 256] + QUAD $0x000000f024848b48 // mov rax, qword [rsp + 240] LONG $0x0274b60f; BYTE $0x08 // movzx esi, byte [rdx + rax + 8] LONG $0xce6e79c5 // vmovd xmm9, esi LONG $0x387de3c4; WORD $0x01c4 // vinserti128 ymm0, ymm0, xmm4, 1 QUAD $0x0004c024847ffdc5; BYTE $0x00 // vmovdqa yword [rsp + 1216], ymm0 - QUAD $0x0000010824848b48 // mov rax, qword [rsp + 264] + QUAD $0x0000010024848b48 // mov rax, qword [rsp + 256] LONG $0x0274b60f; BYTE $0x08 // movzx esi, byte [rdx + rax + 8] LONG $0xd66e79c5 // vmovd xmm10, esi - QUAD $0x000000e824848b4c // mov r8, qword [rsp + 232] + LONG $0x24448b4c; BYTE $0x68 // mov r8, qword [rsp + 104] QUAD $0x0001e024846ff9c5; BYTE $0x00 // vmovdqa xmm0, oword [rsp + 480] QUAD $0x010202442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r8 + 2], 1 - QUAD $0x000000a8248c8b48 // mov rcx, qword [rsp + 168] - QUAD $0x02020a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 2], 2 - LONG $0x24548b4c; BYTE $0x70 // mov r10, qword [rsp + 112] + QUAD $0x00000108248c8b4c // mov r9, qword [rsp + 264] + QUAD $0x02020a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r9 + 2], 2 + QUAD $0x000000c824948b4c // mov r10, qword [rsp + 200] QUAD $0x030212442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r10 + 2], 3 - QUAD $0x000000f024848b48 // mov rax, qword [rsp + 240] + LONG $0x24448b48; BYTE $0x70 // mov rax, qword [rsp + 112] QUAD $0x040202442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 2], 4 - QUAD $0x000000f824848b48 // mov rax, qword [rsp + 248] + QUAD $0x000000b824848b48 // mov rax, qword [rsp + 184] QUAD $0x050202442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 2], 5 - LONG $0x244c8b4c; BYTE $0x28 // mov r9, qword [rsp + 40] - QUAD $0x06020a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r9 + 2], 6 - QUAD $0x000000c824bc8b48 // mov rdi, qword [rsp + 200] - QUAD $0x07023a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rdi + 2], 7 - QUAD $0x000000c024848b48 // mov rax, qword [rsp + 192] - QUAD $0x080202442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 2], 8 - WORD $0x894d; BYTE $0xec // mov r12, r13 - QUAD $0x09022a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r13 + 2], 9 - QUAD $0x000000e024ac8b4c // mov r13, qword [rsp + 224] + QUAD $0x0000009024848b48 // mov rax, qword [rsp + 144] + QUAD $0x060202442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 2], 6 + QUAD $0x07022a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r13 + 2], 7 + QUAD $0x000000e0248c8b48 // mov rcx, qword [rsp + 224] + QUAD $0x08020a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 2], 8 + QUAD $0x000000e824a48b4c // mov r12, qword [rsp + 232] + QUAD $0x090222442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r12 + 2], 9 + LONG $0x246c8b4c; BYTE $0x58 // mov r13, qword [rsp + 88] QUAD $0x0a022a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r13 + 2], 10 - LONG $0x245c8b4c; BYTE $0x58 // mov r11, qword [rsp + 88] + QUAD $0x000000d8249c8b4c // mov r11, qword [rsp + 216] QUAD $0x0b021a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r11 + 2], 11 - QUAD $0x0000008024b48b4c // mov r14, qword [rsp + 128] + LONG $0x24748b4c; BYTE $0x50 // mov r14, qword [rsp + 80] QUAD $0x0c0232442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r14 + 2], 12 - QUAD $0x000000d024bc8b4c // mov r15, qword [rsp + 208] + LONG $0x247c8b4c; BYTE $0x48 // mov r15, qword [rsp + 72] QUAD $0x0d023a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r15 + 2], 13 - LONG $0x24448b48; BYTE $0x30 // mov rax, qword [rsp + 48] + LONG $0x24448b48; BYTE $0x40 // mov rax, qword [rsp + 64] QUAD $0x0e0202442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 2], 14 - LONG $0x24448b48; BYTE $0x50 // mov rax, qword [rsp + 80] + LONG $0x24448b48; BYTE $0x60 // mov rax, qword [rsp + 96] QUAD $0x0f0202442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 2], 15 - LONG $0x24448b48; BYTE $0x78 // mov rax, qword [rsp + 120] + QUAD $0x000000c024848b48 // mov rax, qword [rsp + 192] QUAD $0x0001c0249c6ff9c5; BYTE $0x00 // vmovdqa xmm3, oword [rsp + 448] QUAD $0x0102025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 2], 1 - LONG $0x24748b48; BYTE $0x40 // mov rsi, qword [rsp + 64] - QUAD $0x0202325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 2], 2 - QUAD $0x000000b024b48b48 // mov rsi, qword [rsp + 176] + QUAD $0x02023a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 2], 2 + LONG $0x24748b48; BYTE $0x38 // mov rsi, qword [rsp + 56] QUAD $0x0302325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 2], 3 - LONG $0x24748b48; BYTE $0x68 // mov rsi, qword [rsp + 104] + QUAD $0x000000a824b48b48 // mov rsi, qword [rsp + 168] QUAD $0x0402325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 2], 4 - LONG $0x24748b48; BYTE $0x60 // mov rsi, qword [rsp + 96] + QUAD $0x0000008824b48b48 // mov rsi, qword [rsp + 136] QUAD $0x0502325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 2], 5 - QUAD $0x000000a024b48b48 // mov rsi, qword [rsp + 160] + QUAD $0x0000009824b48b48 // mov rsi, qword [rsp + 152] QUAD $0x0602325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 2], 6 - QUAD $0x0000009024b48b48 // mov rsi, qword [rsp + 144] + QUAD $0x000000f824b48b48 // mov rsi, qword [rsp + 248] QUAD $0x0702325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 2], 7 - QUAD $0x00000088249c8b48 // mov rbx, qword [rsp + 136] + QUAD $0x000000a0249c8b48 // mov rbx, qword [rsp + 160] QUAD $0x08021a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 2], 8 - QUAD $0x00000098249c8b48 // mov rbx, qword [rsp + 152] - QUAD $0x09021a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 2], 9 - QUAD $0x00000140249c8b48 // mov rbx, qword [rsp + 320] - QUAD $0x0a021a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 2], 10 - QUAD $0x000000d8249c8b48 // mov rbx, qword [rsp + 216] - QUAD $0x0b021a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 2], 11 - QUAD $0x00000120249c8b48 // mov rbx, qword [rsp + 288] - QUAD $0x0c021a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 2], 12 - LONG $0x245c8b48; BYTE $0x20 // mov rbx, qword [rsp + 32] - QUAD $0x0d021a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 2], 13 - LONG $0x245c8b48; BYTE $0x48 // mov rbx, qword [rsp + 72] - QUAD $0x0e021a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 2], 14 - LONG $0x245c8b48; BYTE $0x38 // mov rbx, qword [rsp + 56] - QUAD $0x0f021a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 2], 15 + QUAD $0x000000b024bc8b48 // mov rdi, qword [rsp + 176] + QUAD $0x09023a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 2], 9 + LONG $0x247c8b48; BYTE $0x28 // mov rdi, qword [rsp + 40] + QUAD $0x0a023a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 2], 10 + QUAD $0x0000008024bc8b48 // mov rdi, qword [rsp + 128] + QUAD $0x0b023a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 2], 11 + LONG $0x247c8b48; BYTE $0x30 // mov rdi, qword [rsp + 48] + QUAD $0x0c023a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 2], 12 + LONG $0x247c8b48; BYTE $0x20 // mov rdi, qword [rsp + 32] + QUAD $0x0d023a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 2], 13 + QUAD $0x0000012024bc8b48 // mov rdi, qword [rsp + 288] + QUAD $0x0e023a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 2], 14 + QUAD $0x0000014024bc8b48 // mov rdi, qword [rsp + 320] + QUAD $0x0f023a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 2], 15 QUAD $0x010302642021a3c4 // vpinsrb xmm4, xmm11, byte [rdx + r8 + 3], 1 - QUAD $0x02030a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rcx + 3], 2 + QUAD $0x02030a642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r9 + 3], 2 QUAD $0x030312642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r10 + 3], 3 - QUAD $0x000000f0249c8b48 // mov rbx, qword [rsp + 240] - QUAD $0x04031a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rbx + 3], 4 - QUAD $0x000000f8248c8b48 // mov rcx, qword [rsp + 248] - QUAD $0x05030a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rcx + 3], 5 - QUAD $0x06030a642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r9 + 3], 6 - QUAD $0x07033a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rdi + 3], 7 - QUAD $0x000000c024bc8b48 // mov rdi, qword [rsp + 192] - QUAD $0x08033a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rdi + 3], 8 + LONG $0x247c8b48; BYTE $0x70 // mov rdi, qword [rsp + 112] + QUAD $0x04033a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rdi + 3], 4 + QUAD $0x000000b824848b4c // mov r8, qword [rsp + 184] + QUAD $0x050302642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r8 + 3], 5 + QUAD $0x0000009024bc8b48 // mov rdi, qword [rsp + 144] + QUAD $0x06033a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rdi + 3], 6 + QUAD $0x000000d0248c8b4c // mov r9, qword [rsp + 208] + QUAD $0x07030a642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r9 + 3], 7 + QUAD $0x08030a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rcx + 3], 8 QUAD $0x090322642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r12 + 3], 9 QUAD $0x0a032a642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r13 + 3], 10 QUAD $0x0b031a642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r11 + 3], 11 + WORD $0x894d; BYTE $0xdc // mov r12, r11 QUAD $0x0c0332642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r14 + 3], 12 QUAD $0x0d033a642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r15 + 3], 13 - LONG $0x244c8b4c; BYTE $0x30 // mov r9, qword [rsp + 48] - QUAD $0x0e030a642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r9 + 3], 14 - LONG $0x247c8b4c; BYTE $0x50 // mov r15, qword [rsp + 80] - QUAD $0x0f033a642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r15 + 3], 15 - QUAD $0x0103026c2039e3c4 // vpinsrb xmm5, xmm8, byte [rdx + rax + 3], 1 LONG $0x245c8b4c; BYTE $0x40 // mov r11, qword [rsp + 64] - QUAD $0x02031a6c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r11 + 3], 2 - QUAD $0x000000b024848b48 // mov rax, qword [rsp + 176] + QUAD $0x0e031a642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r11 + 3], 14 + LONG $0x244c8b48; BYTE $0x60 // mov rcx, qword [rsp + 96] + QUAD $0x0f030a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rcx + 3], 15 + QUAD $0x0103026c2039e3c4 // vpinsrb xmm5, xmm8, byte [rdx + rax + 3], 1 + WORD $0x8949; BYTE $0xc5 // mov r13, rax + LONG $0x24448b48; BYTE $0x78 // mov rax, qword [rsp + 120] + QUAD $0x0203026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 3], 2 + LONG $0x24448b48; BYTE $0x38 // mov rax, qword [rsp + 56] QUAD $0x0303026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 3], 3 - LONG $0x24448b48; BYTE $0x68 // mov rax, qword [rsp + 104] + QUAD $0x000000a824848b48 // mov rax, qword [rsp + 168] QUAD $0x0403026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 3], 4 - LONG $0x24548b4c; BYTE $0x60 // mov r10, qword [rsp + 96] - QUAD $0x0503126c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r10 + 3], 5 - QUAD $0x000000a024b48b4c // mov r14, qword [rsp + 160] - QUAD $0x0603326c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r14 + 3], 6 - QUAD $0x0703326c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rsi + 3], 7 QUAD $0x0000008824848b48 // mov rax, qword [rsp + 136] - QUAD $0x0803026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 3], 8 - QUAD $0x00000098249c8b48 // mov rbx, qword [rsp + 152] - QUAD $0x09031a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rbx + 3], 9 - QUAD $0x0000014024848b48 // mov rax, qword [rsp + 320] + QUAD $0x0503026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 3], 5 + QUAD $0x0000009824848b48 // mov rax, qword [rsp + 152] + QUAD $0x0603026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 3], 6 + QUAD $0x0703326c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rsi + 3], 7 + QUAD $0x08031a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rbx + 3], 8 + QUAD $0x000000b024848b48 // mov rax, qword [rsp + 176] + QUAD $0x0903026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 3], 9 + LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] QUAD $0x0a03026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 3], 10 - QUAD $0x000000d824848b48 // mov rax, qword [rsp + 216] + QUAD $0x0000008024848b48 // mov rax, qword [rsp + 128] QUAD $0x0b03026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 3], 11 - QUAD $0x0000012024848b48 // mov rax, qword [rsp + 288] + LONG $0x24448b48; BYTE $0x30 // mov rax, qword [rsp + 48] QUAD $0x0c03026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 3], 12 LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] QUAD $0x0d03026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 3], 13 LONG $0x3865e3c4; WORD $0x01c0 // vinserti128 ymm0, ymm3, xmm0, 1 QUAD $0x0001e024847ffdc5; BYTE $0x00 // vmovdqa yword [rsp + 480], ymm0 - LONG $0x24448b48; BYTE $0x48 // mov rax, qword [rsp + 72] + QUAD $0x0000012024848b48 // mov rax, qword [rsp + 288] QUAD $0x0e0302442051e3c4 // vpinsrb xmm0, xmm5, byte [rdx + rax + 3], 14 - QUAD $0x0000010024848b48 // mov rax, qword [rsp + 256] - LONG $0x0274b60f; BYTE $0x09 // movzx esi, byte [rdx + rax + 9] + QUAD $0x000000f0248c8b48 // mov rcx, qword [rsp + 240] + LONG $0x0a74b60f; BYTE $0x09 // movzx esi, byte [rdx + rcx + 9] LONG $0xc66e79c5 // vmovd xmm8, esi - LONG $0x24648b4c; BYTE $0x38 // mov r12, qword [rsp + 56] - QUAD $0x0f0322442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r12 + 3], 15 + QUAD $0x0000014024848b48 // mov rax, qword [rsp + 320] + QUAD $0x0f0302442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 3], 15 LONG $0x387de3c4; WORD $0x01c4 // vinserti128 ymm0, ymm0, xmm4, 1 QUAD $0x0001c024847ffdc5; BYTE $0x00 // vmovdqa yword [rsp + 448], ymm0 - QUAD $0x0000010824848b48 // mov rax, qword [rsp + 264] - LONG $0x0274b60f; BYTE $0x09 // movzx esi, byte [rdx + rax + 9] + QUAD $0x00000100248c8b48 // mov rcx, qword [rsp + 256] + LONG $0x0a74b60f; BYTE $0x09 // movzx esi, byte [rdx + rcx + 9] LONG $0xde6e79c5 // vmovd xmm11, esi + LONG $0x24748b4c; BYTE $0x68 // mov r14, qword [rsp + 104] QUAD $0x0001a024846ff9c5; BYTE $0x00 // vmovdqa xmm0, oword [rsp + 416] - QUAD $0x010402442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r8 + 4], 1 - QUAD $0x000000a824848b48 // mov rax, qword [rsp + 168] - QUAD $0x020402442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 4], 2 - LONG $0x24448b48; BYTE $0x70 // mov rax, qword [rsp + 112] - QUAD $0x030402442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 4], 3 - QUAD $0x000000f024ac8b4c // mov r13, qword [rsp + 240] - QUAD $0x04042a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r13 + 4], 4 - QUAD $0x05040a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 4], 5 - LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] - QUAD $0x060402442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 4], 6 - QUAD $0x000000c824848b48 // mov rax, qword [rsp + 200] - QUAD $0x070402442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 4], 7 - QUAD $0x08043a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rdi + 4], 8 - QUAD $0x000000b824848b48 // mov rax, qword [rsp + 184] - QUAD $0x090402442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 4], 9 - QUAD $0x000000e024848b48 // mov rax, qword [rsp + 224] - QUAD $0x0a0402442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 4], 10 + QUAD $0x010432442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r14 + 4], 1 + QUAD $0x0000010824bc8b4c // mov r15, qword [rsp + 264] + QUAD $0x02043a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r15 + 4], 2 + QUAD $0x030412442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r10 + 4], 3 + LONG $0x247c8b48; BYTE $0x70 // mov rdi, qword [rsp + 112] + QUAD $0x04043a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rdi + 4], 4 + WORD $0x894c; BYTE $0xc1 // mov rcx, r8 + QUAD $0x050402442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r8 + 4], 5 + QUAD $0x00000090249c8b48 // mov rbx, qword [rsp + 144] + QUAD $0x06041a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rbx + 4], 6 + QUAD $0x07040a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r9 + 4], 7 + QUAD $0x000000e0248c8b4c // mov r9, qword [rsp + 224] + QUAD $0x08040a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r9 + 4], 8 + QUAD $0x000000e824848b4c // mov r8, qword [rsp + 232] + QUAD $0x090402442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r8 + 4], 9 LONG $0x24448b48; BYTE $0x58 // mov rax, qword [rsp + 88] - QUAD $0x0b0402442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 4], 11 - QUAD $0x0000008024848b48 // mov rax, qword [rsp + 128] - QUAD $0x0c0402442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 4], 12 - QUAD $0x000000d024848b48 // mov rax, qword [rsp + 208] - QUAD $0x0d0402442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 4], 13 - QUAD $0x0e040a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r9 + 4], 14 - QUAD $0x0f043a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r15 + 4], 15 - LONG $0x24448b48; BYTE $0x78 // mov rax, qword [rsp + 120] - QUAD $0x0104025c2011e3c4 // vpinsrb xmm3, xmm13, byte [rdx + rax + 4], 1 - QUAD $0x02041a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r11 + 4], 2 - QUAD $0x000000b0249c8b4c // mov r11, qword [rsp + 176] - QUAD $0x03041a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r11 + 4], 3 - LONG $0x24448b48; BYTE $0x68 // mov rax, qword [rsp + 104] - QUAD $0x0404025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 4], 4 - QUAD $0x0504125c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r10 + 4], 5 - WORD $0x894c; BYTE $0xf6 // mov rsi, r14 - QUAD $0x0604325c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r14 + 4], 6 - QUAD $0x0000009024948b4c // mov r10, qword [rsp + 144] - QUAD $0x0704125c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r10 + 4], 7 - QUAD $0x00000088248c8b4c // mov r9, qword [rsp + 136] - QUAD $0x08040a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r9 + 4], 8 - QUAD $0x09041a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 4], 9 - QUAD $0x00000140249c8b48 // mov rbx, qword [rsp + 320] - QUAD $0x0a041a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 4], 10 - QUAD $0x000000d824b48b4c // mov r14, qword [rsp + 216] - QUAD $0x0b04325c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r14 + 4], 11 - QUAD $0x00000120249c8b48 // mov rbx, qword [rsp + 288] - QUAD $0x0c041a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 4], 12 - LONG $0x245c8b48; BYTE $0x20 // mov rbx, qword [rsp + 32] - QUAD $0x0d041a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 4], 13 - LONG $0x247c8b4c; BYTE $0x48 // mov r15, qword [rsp + 72] - QUAD $0x0e043a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r15 + 4], 14 - QUAD $0x0f04225c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r12 + 4], 15 - QUAD $0x010502642009a3c4 // vpinsrb xmm4, xmm14, byte [rdx + r8 + 5], 1 - QUAD $0x000000a824bc8b4c // mov r15, qword [rsp + 168] + QUAD $0x0a0402442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 4], 10 + QUAD $0x0b0422442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r12 + 4], 11 + LONG $0x24748b48; BYTE $0x50 // mov rsi, qword [rsp + 80] + QUAD $0x0c0432442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 4], 12 + LONG $0x24748b48; BYTE $0x48 // mov rsi, qword [rsp + 72] + QUAD $0x0d0432442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 4], 13 + QUAD $0x0e041a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r11 + 4], 14 + LONG $0x24648b4c; BYTE $0x60 // mov r12, qword [rsp + 96] + QUAD $0x0f0422442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r12 + 4], 15 + QUAD $0x01042a5c2011a3c4 // vpinsrb xmm3, xmm13, byte [rdx + r13 + 4], 1 + LONG $0x24748b48; BYTE $0x78 // mov rsi, qword [rsp + 120] + QUAD $0x0204325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 4], 2 + LONG $0x24748b48; BYTE $0x38 // mov rsi, qword [rsp + 56] + QUAD $0x0304325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 4], 3 + QUAD $0x000000a824b48b48 // mov rsi, qword [rsp + 168] + QUAD $0x0404325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 4], 4 + QUAD $0x0000008824848b48 // mov rax, qword [rsp + 136] + QUAD $0x0504025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 4], 5 + QUAD $0x0000009824b48b48 // mov rsi, qword [rsp + 152] + QUAD $0x0604325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 4], 6 + QUAD $0x000000f824848b48 // mov rax, qword [rsp + 248] + QUAD $0x0704025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 4], 7 + QUAD $0x000000a024848b48 // mov rax, qword [rsp + 160] + QUAD $0x0804025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 4], 8 + QUAD $0x000000b024848b48 // mov rax, qword [rsp + 176] + QUAD $0x0904025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 4], 9 + LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] + QUAD $0x0a04025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 4], 10 + QUAD $0x00000080249c8b4c // mov r11, qword [rsp + 128] + QUAD $0x0b041a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r11 + 4], 11 + LONG $0x245c8b4c; BYTE $0x30 // mov r11, qword [rsp + 48] + QUAD $0x0c041a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r11 + 4], 12 + LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] + QUAD $0x0d04025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 4], 13 + QUAD $0x0000012024848b48 // mov rax, qword [rsp + 288] + QUAD $0x0e04025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 4], 14 + QUAD $0x0000014024848b48 // mov rax, qword [rsp + 320] + QUAD $0x0f04025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 4], 15 + QUAD $0x010532642009a3c4 // vpinsrb xmm4, xmm14, byte [rdx + r14 + 5], 1 QUAD $0x02053a642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r15 + 5], 2 - LONG $0x245c8b48; BYTE $0x70 // mov rbx, qword [rsp + 112] - QUAD $0x03051a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rbx + 5], 3 - QUAD $0x04052a642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r13 + 5], 4 + WORD $0x894d; BYTE $0xfe // mov r14, r15 + QUAD $0x030512642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r10 + 5], 3 + QUAD $0x04053a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rdi + 5], 4 QUAD $0x05050a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rcx + 5], 5 - LONG $0x244c8b48; BYTE $0x28 // mov rcx, qword [rsp + 40] - QUAD $0x06050a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rcx + 5], 6 - QUAD $0x000000c8248c8b48 // mov rcx, qword [rsp + 200] - QUAD $0x07050a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rcx + 5], 7 - QUAD $0x08053a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rdi + 5], 8 - QUAD $0x000000b8248c8b48 // mov rcx, qword [rsp + 184] - QUAD $0x09050a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rcx + 5], 9 - QUAD $0x000000e0248c8b48 // mov rcx, qword [rsp + 224] - QUAD $0x0a050a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rcx + 5], 10 - LONG $0x247c8b48; BYTE $0x58 // mov rdi, qword [rsp + 88] - QUAD $0x0b053a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rdi + 5], 11 - QUAD $0x0000008024bc8b48 // mov rdi, qword [rsp + 128] - QUAD $0x0c053a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rdi + 5], 12 - QUAD $0x000000d024ac8b4c // mov r13, qword [rsp + 208] - QUAD $0x0d052a642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r13 + 5], 13 - LONG $0x247c8b48; BYTE $0x30 // mov rdi, qword [rsp + 48] - QUAD $0x0e053a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rdi + 5], 14 - LONG $0x247c8b48; BYTE $0x50 // mov rdi, qword [rsp + 80] - QUAD $0x0f053a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rdi + 5], 15 - LONG $0x247c8b48; BYTE $0x78 // mov rdi, qword [rsp + 120] - QUAD $0x01053a6c2049e3c4 // vpinsrb xmm5, xmm6, byte [rdx + rdi + 5], 1 - LONG $0x247c8b48; BYTE $0x40 // mov rdi, qword [rsp + 64] - QUAD $0x02053a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rdi + 5], 2 - QUAD $0x03051a6c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r11 + 5], 3 + WORD $0x8949; BYTE $0xca // mov r10, rcx + QUAD $0x06051a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rbx + 5], 6 + QUAD $0x000000d024bc8b4c // mov r15, qword [rsp + 208] + QUAD $0x07053a642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r15 + 5], 7 + QUAD $0x08050a642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r9 + 5], 8 + QUAD $0x090502642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r8 + 5], 9 + LONG $0x24448b4c; BYTE $0x58 // mov r8, qword [rsp + 88] + QUAD $0x0a0502642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r8 + 5], 10 + QUAD $0x000000d8248c8b48 // mov rcx, qword [rsp + 216] + QUAD $0x0b050a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rcx + 5], 11 + LONG $0x24448b48; BYTE $0x50 // mov rax, qword [rsp + 80] + QUAD $0x0c0502642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rax + 5], 12 + LONG $0x24448b48; BYTE $0x48 // mov rax, qword [rsp + 72] + QUAD $0x0d0502642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rax + 5], 13 + LONG $0x24448b48; BYTE $0x40 // mov rax, qword [rsp + 64] + QUAD $0x0e0502642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rax + 5], 14 + QUAD $0x0f0522642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r12 + 5], 15 + QUAD $0x01052a6c2049a3c4 // vpinsrb xmm5, xmm6, byte [rdx + r13 + 5], 1 + LONG $0x24448b48; BYTE $0x78 // mov rax, qword [rsp + 120] + QUAD $0x0205026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 5], 2 + LONG $0x24448b48; BYTE $0x38 // mov rax, qword [rsp + 56] + QUAD $0x0305026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 5], 3 + QUAD $0x000000a824848b48 // mov rax, qword [rsp + 168] QUAD $0x0405026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 5], 4 - LONG $0x24448b48; BYTE $0x60 // mov rax, qword [rsp + 96] + QUAD $0x0000008824848b48 // mov rax, qword [rsp + 136] QUAD $0x0505026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 5], 5 QUAD $0x0605326c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rsi + 5], 6 - QUAD $0x0705126c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r10 + 5], 7 - QUAD $0x08050a6c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r9 + 5], 8 - QUAD $0x00000098248c8b4c // mov r9, qword [rsp + 152] - QUAD $0x09050a6c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r9 + 5], 9 - QUAD $0x0000014024848b48 // mov rax, qword [rsp + 320] + QUAD $0x000000f8249c8b48 // mov rbx, qword [rsp + 248] + QUAD $0x07051a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rbx + 5], 7 + QUAD $0x000000a024848b48 // mov rax, qword [rsp + 160] + QUAD $0x0805026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 5], 8 + QUAD $0x000000b024848b48 // mov rax, qword [rsp + 176] + QUAD $0x0905026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 5], 9 + LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] QUAD $0x0a05026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 5], 10 - QUAD $0x0b05326c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r14 + 5], 11 - QUAD $0x0000012024848b48 // mov rax, qword [rsp + 288] - QUAD $0x0c05026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 5], 12 + QUAD $0x0000008024ac8b4c // mov r13, qword [rsp + 128] + QUAD $0x0b052a6c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r13 + 5], 11 + QUAD $0x0c051a6c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r11 + 5], 12 + WORD $0x894d; BYTE $0xdc // mov r12, r11 LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] QUAD $0x0d05026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 5], 13 - LONG $0x24448b48; BYTE $0x48 // mov rax, qword [rsp + 72] + QUAD $0x0000012024848b48 // mov rax, qword [rsp + 288] QUAD $0x0e05026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 5], 14 LONG $0x386563c4; WORD $0x01f0 // vinserti128 ymm14, ymm3, xmm0, 1 - QUAD $0x0f0522442051a3c4 // vpinsrb xmm0, xmm5, byte [rdx + r12 + 5], 15 - QUAD $0x0000010024848b48 // mov rax, qword [rsp + 256] + QUAD $0x0000014024848b48 // mov rax, qword [rsp + 320] + QUAD $0x0f0502442051e3c4 // vpinsrb xmm0, xmm5, byte [rdx + rax + 5], 15 + QUAD $0x000000f024848b48 // mov rax, qword [rsp + 240] LONG $0x0274b60f; BYTE $0x0a // movzx esi, byte [rdx + rax + 10] LONG $0xde6ef9c5 // vmovd xmm3, esi LONG $0x387de3c4; WORD $0x01c4 // vinserti128 ymm0, ymm0, xmm4, 1 QUAD $0x0001a024847ffdc5; BYTE $0x00 // vmovdqa yword [rsp + 416], ymm0 - QUAD $0x0000010824848b48 // mov rax, qword [rsp + 264] - LONG $0x0274b60f; BYTE $0x0a // movzx esi, byte [rdx + rax + 10] + QUAD $0x0000010024b48b48 // mov rsi, qword [rsp + 256] + LONG $0x3274b60f; BYTE $0x0a // movzx esi, byte [rdx + rsi + 10] LONG $0xe66ef9c5 // vmovd xmm4, esi - WORD $0x894d; BYTE $0xc6 // mov r14, r8 - QUAD $0x010602442019a3c4 // vpinsrb xmm0, xmm12, byte [rdx + r8 + 6], 1 - QUAD $0x02063a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r15 + 6], 2 - QUAD $0x03061a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rbx + 6], 3 - QUAD $0x000000f0249c8b4c // mov r11, qword [rsp + 240] - QUAD $0x04061a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r11 + 6], 4 - QUAD $0x000000f824848b4c // mov r8, qword [rsp + 248] - QUAD $0x050602442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r8 + 6], 5 - LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] + LONG $0x247c8b48; BYTE $0x68 // mov rdi, qword [rsp + 104] + QUAD $0x01063a442019e3c4 // vpinsrb xmm0, xmm12, byte [rdx + rdi + 6], 1 + QUAD $0x020632442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r14 + 6], 2 + QUAD $0x000000c824848b48 // mov rax, qword [rsp + 200] + QUAD $0x030602442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 6], 3 + LONG $0x24748b4c; BYTE $0x70 // mov r14, qword [rsp + 112] + QUAD $0x040632442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r14 + 6], 4 + QUAD $0x050612442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r10 + 6], 5 + QUAD $0x0000009024848b48 // mov rax, qword [rsp + 144] QUAD $0x060602442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 6], 6 - QUAD $0x000000c824bc8b48 // mov rdi, qword [rsp + 200] - QUAD $0x07063a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rdi + 6], 7 - QUAD $0x000000c024848b48 // mov rax, qword [rsp + 192] - QUAD $0x080602442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 6], 8 - QUAD $0x000000b824848b48 // mov rax, qword [rsp + 184] - QUAD $0x090602442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 6], 9 - QUAD $0x0a060a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 6], 10 - LONG $0x24548b4c; BYTE $0x58 // mov r10, qword [rsp + 88] - QUAD $0x0b0612442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r10 + 6], 11 - QUAD $0x0000008024848b48 // mov rax, qword [rsp + 128] - QUAD $0x0c0602442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 6], 12 - QUAD $0x0d062a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r13 + 6], 13 - LONG $0x244c8b48; BYTE $0x30 // mov rcx, qword [rsp + 48] - QUAD $0x0e060a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 6], 14 - LONG $0x244c8b48; BYTE $0x50 // mov rcx, qword [rsp + 80] - QUAD $0x0f060a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 6], 15 - LONG $0x244c8b48; BYTE $0x78 // mov rcx, qword [rsp + 120] + QUAD $0x07063a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r15 + 6], 7 + QUAD $0x08060a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r9 + 6], 8 + QUAD $0x000000e824b48b48 // mov rsi, qword [rsp + 232] + QUAD $0x090632442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 6], 9 + QUAD $0x0a0602442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r8 + 6], 10 + QUAD $0x0b060a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 6], 11 + LONG $0x24448b4c; BYTE $0x50 // mov r8, qword [rsp + 80] + QUAD $0x0c0602442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r8 + 6], 12 + LONG $0x244c8b4c; BYTE $0x48 // mov r9, qword [rsp + 72] + QUAD $0x0d060a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r9 + 6], 13 + LONG $0x24748b48; BYTE $0x40 // mov rsi, qword [rsp + 64] + QUAD $0x0e0632442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 6], 14 + LONG $0x24548b4c; BYTE $0x60 // mov r10, qword [rsp + 96] + QUAD $0x0f0612442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r10 + 6], 15 + QUAD $0x000000c0248c8b48 // mov rcx, qword [rsp + 192] QUAD $0x01060a6c2041e3c4 // vpinsrb xmm5, xmm7, byte [rdx + rcx + 6], 1 - LONG $0x244c8b48; BYTE $0x40 // mov rcx, qword [rsp + 64] - QUAD $0x02060a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rcx + 6], 2 - QUAD $0x000000b0248c8b48 // mov rcx, qword [rsp + 176] - QUAD $0x03060a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rcx + 6], 3 - LONG $0x244c8b48; BYTE $0x68 // mov rcx, qword [rsp + 104] - QUAD $0x04060a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rcx + 6], 4 - LONG $0x24748b48; BYTE $0x60 // mov rsi, qword [rsp + 96] + LONG $0x24748b48; BYTE $0x78 // mov rsi, qword [rsp + 120] + QUAD $0x0206326c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rsi + 6], 2 + LONG $0x24748b48; BYTE $0x38 // mov rsi, qword [rsp + 56] + QUAD $0x0306326c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rsi + 6], 3 + QUAD $0x000000a824b48b48 // mov rsi, qword [rsp + 168] + QUAD $0x0406326c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rsi + 6], 4 + QUAD $0x0000008824b48b48 // mov rsi, qword [rsp + 136] QUAD $0x0506326c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rsi + 6], 5 - QUAD $0x000000a0249c8b48 // mov rbx, qword [rsp + 160] - QUAD $0x06061a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rbx + 6], 6 - QUAD $0x00000090248c8b48 // mov rcx, qword [rsp + 144] - QUAD $0x07060a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rcx + 6], 7 - QUAD $0x00000088248c8b48 // mov rcx, qword [rsp + 136] - QUAD $0x08060a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rcx + 6], 8 - QUAD $0x09060a6c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r9 + 6], 9 - QUAD $0x00000140248c8b48 // mov rcx, qword [rsp + 320] + QUAD $0x00000098248c8b48 // mov rcx, qword [rsp + 152] + QUAD $0x06060a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rcx + 6], 6 + QUAD $0x07061a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rbx + 6], 7 + QUAD $0x000000a0249c8b4c // mov r11, qword [rsp + 160] + QUAD $0x08061a6c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r11 + 6], 8 + QUAD $0x000000b0249c8b48 // mov rbx, qword [rsp + 176] + QUAD $0x09061a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rbx + 6], 9 + LONG $0x244c8b48; BYTE $0x28 // mov rcx, qword [rsp + 40] QUAD $0x0a060a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rcx + 6], 10 - QUAD $0x000000d824a48b4c // mov r12, qword [rsp + 216] - QUAD $0x0b06226c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r12 + 6], 11 - QUAD $0x00000120248c8b4c // mov r9, qword [rsp + 288] - QUAD $0x0c060a6c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r9 + 6], 12 - LONG $0x246c8b4c; BYTE $0x20 // mov r13, qword [rsp + 32] - QUAD $0x0d062a6c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r13 + 6], 13 - LONG $0x244c8b48; BYTE $0x48 // mov rcx, qword [rsp + 72] + WORD $0x894d; BYTE $0xef // mov r15, r13 + QUAD $0x0b062a6c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r13 + 6], 11 + QUAD $0x0c06226c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r12 + 6], 12 + LONG $0x244c8b48; BYTE $0x20 // mov rcx, qword [rsp + 32] + QUAD $0x0d060a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rcx + 6], 13 + QUAD $0x00000120248c8b48 // mov rcx, qword [rsp + 288] QUAD $0x0e060a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rcx + 6], 14 - LONG $0x246c8b4c; BYTE $0x38 // mov r13, qword [rsp + 56] + QUAD $0x0000014024ac8b4c // mov r13, qword [rsp + 320] QUAD $0x0f062a6c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r13 + 6], 15 - QUAD $0x010732542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r14 + 7], 1 - QUAD $0x02073a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r15 + 7], 2 - LONG $0x246c8b4c; BYTE $0x70 // mov r13, qword [rsp + 112] - QUAD $0x03072a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r13 + 7], 3 - QUAD $0x04071a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r11 + 7], 4 - QUAD $0x050702542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r8 + 7], 5 - LONG $0x244c8b48; BYTE $0x28 // mov rcx, qword [rsp + 40] - QUAD $0x06070a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 7], 6 - QUAD $0x07073a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 7], 7 - QUAD $0x000000c024b48b4c // mov r14, qword [rsp + 192] - QUAD $0x080732542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r14 + 7], 8 - QUAD $0x000000b8248c8b48 // mov rcx, qword [rsp + 184] - QUAD $0x09070a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 7], 9 - QUAD $0x000000e0248c8b48 // mov rcx, qword [rsp + 224] - QUAD $0x0a070a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 7], 10 - QUAD $0x0b0712542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r10 + 7], 11 - QUAD $0x0c0702542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 7], 12 + QUAD $0x01073a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 7], 1 + QUAD $0x0000010824ac8b4c // mov r13, qword [rsp + 264] + QUAD $0x02072a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r13 + 7], 2 + QUAD $0x000000c824bc8b48 // mov rdi, qword [rsp + 200] + QUAD $0x03073a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 7], 3 + QUAD $0x040732542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r14 + 7], 4 + QUAD $0x000000b824bc8b48 // mov rdi, qword [rsp + 184] + QUAD $0x05073a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 7], 5 + QUAD $0x060702542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 7], 6 QUAD $0x000000d024848b48 // mov rax, qword [rsp + 208] - QUAD $0x0d0702542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 7], 13 - LONG $0x247c8b4c; BYTE $0x30 // mov r15, qword [rsp + 48] - QUAD $0x0e073a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r15 + 7], 14 - LONG $0x244c8b48; BYTE $0x50 // mov rcx, qword [rsp + 80] - QUAD $0x0f070a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 7], 15 + QUAD $0x070702542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 7], 7 + QUAD $0x000000e0248c8b48 // mov rcx, qword [rsp + 224] + QUAD $0x08070a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 7], 8 + QUAD $0x000000e8248c8b48 // mov rcx, qword [rsp + 232] + QUAD $0x09070a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 7], 9 + LONG $0x247c8b48; BYTE $0x58 // mov rdi, qword [rsp + 88] + QUAD $0x0a073a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 7], 10 + QUAD $0x000000d824bc8b48 // mov rdi, qword [rsp + 216] + QUAD $0x0b073a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 7], 11 + QUAD $0x0c0702542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r8 + 7], 12 + QUAD $0x0d070a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r9 + 7], 13 + LONG $0x244c8b48; BYTE $0x40 // mov rcx, qword [rsp + 64] + QUAD $0x0e070a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 7], 14 + QUAD $0x0f0712542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r10 + 7], 15 + QUAD $0x000000c024b48b4c // mov r14, qword [rsp + 192] + QUAD $0x0107324c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r14 + 7], 1 LONG $0x244c8b48; BYTE $0x78 // mov rcx, qword [rsp + 120] - QUAD $0x01070a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 7], 1 - LONG $0x247c8b48; BYTE $0x40 // mov rdi, qword [rsp + 64] - QUAD $0x02073a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 7], 2 - QUAD $0x000000b0248c8b48 // mov rcx, qword [rsp + 176] + QUAD $0x02070a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 7], 2 + LONG $0x244c8b48; BYTE $0x38 // mov rcx, qword [rsp + 56] QUAD $0x03070a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 7], 3 - LONG $0x247c8b48; BYTE $0x68 // mov rdi, qword [rsp + 104] - QUAD $0x04073a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 7], 4 + QUAD $0x000000a8248c8b48 // mov rcx, qword [rsp + 168] + QUAD $0x04070a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 7], 4 QUAD $0x0507324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 7], 5 - QUAD $0x06071a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rbx + 7], 6 - QUAD $0x0000009024b48b48 // mov rsi, qword [rsp + 144] - QUAD $0x0707324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 7], 7 - QUAD $0x00000088248c8b48 // mov rcx, qword [rsp + 136] - QUAD $0x08070a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 7], 8 - QUAD $0x0000009824bc8b48 // mov rdi, qword [rsp + 152] - QUAD $0x09073a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 7], 9 - QUAD $0x00000140248c8b48 // mov rcx, qword [rsp + 320] + QUAD $0x00000098248c8b48 // mov rcx, qword [rsp + 152] + QUAD $0x06070a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 7], 6 + QUAD $0x000000f8248c8b48 // mov rcx, qword [rsp + 248] + QUAD $0x07070a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 7], 7 + QUAD $0x08071a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r11 + 7], 8 + QUAD $0x09071a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rbx + 7], 9 + LONG $0x244c8b48; BYTE $0x28 // mov rcx, qword [rsp + 40] QUAD $0x0a070a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 7], 10 - QUAD $0x0b07224c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r12 + 7], 11 - QUAD $0x0c070a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r9 + 7], 12 + QUAD $0x0b073a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r15 + 7], 11 + QUAD $0x0c07224c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r12 + 7], 12 LONG $0x244c8b48; BYTE $0x20 // mov rcx, qword [rsp + 32] QUAD $0x0d070a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 7], 13 LONG $0x3855e3c4; WORD $0x01c0 // vinserti128 ymm0, ymm5, xmm0, 1 QUAD $0x0004a024847ffdc5; BYTE $0x00 // vmovdqa yword [rsp + 1184], ymm0 - LONG $0x244c8b48; BYTE $0x48 // mov rcx, qword [rsp + 72] + QUAD $0x00000120248c8b48 // mov rcx, qword [rsp + 288] QUAD $0x0e070a442071e3c4 // vpinsrb xmm0, xmm1, byte [rdx + rcx + 7], 14 - QUAD $0x00000100248c8b48 // mov rcx, qword [rsp + 256] + QUAD $0x000000f0248c8b48 // mov rcx, qword [rsp + 240] LONG $0x0a74b60f; BYTE $0x0b // movzx esi, byte [rdx + rcx + 11] LONG $0xce6ef9c5 // vmovd xmm1, esi - LONG $0x24648b4c; BYTE $0x38 // mov r12, qword [rsp + 56] - QUAD $0x0f0722442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r12 + 7], 15 + QUAD $0x00000140248c8b48 // mov rcx, qword [rsp + 320] + QUAD $0x0f070a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 7], 15 LONG $0x387de3c4; WORD $0x01c2 // vinserti128 ymm0, ymm0, xmm2, 1 QUAD $0x00048024847ffdc5; BYTE $0x00 // vmovdqa yword [rsp + 1152], ymm0 - QUAD $0x00000108248c8b48 // mov rcx, qword [rsp + 264] + QUAD $0x00000100248c8b48 // mov rcx, qword [rsp + 256] LONG $0x0a74b60f; BYTE $0x0b // movzx esi, byte [rdx + rcx + 11] LONG $0xd66ef9c5 // vmovd xmm2, esi - QUAD $0x000000e8248c8b48 // mov rcx, qword [rsp + 232] + LONG $0x244c8b48; BYTE $0x68 // mov rcx, qword [rsp + 104] QUAD $0x01080a442031e3c4 // vpinsrb xmm0, xmm9, byte [rdx + rcx + 8], 1 - QUAD $0x000000a824848b4c // mov r8, qword [rsp + 168] - QUAD $0x020802442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r8 + 8], 2 - QUAD $0x03082a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r13 + 8], 3 - WORD $0x894d; BYTE $0xdd // mov r13, r11 - QUAD $0x04081a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r11 + 8], 4 - QUAD $0x000000f8249c8b4c // mov r11, qword [rsp + 248] - QUAD $0x05081a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r11 + 8], 5 - LONG $0x244c8b48; BYTE $0x28 // mov rcx, qword [rsp + 40] - QUAD $0x06080a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 8], 6 - QUAD $0x000000c824b48b48 // mov rsi, qword [rsp + 200] - QUAD $0x070832442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 8], 7 - QUAD $0x080832442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r14 + 8], 8 - QUAD $0x000000b824948b4c // mov r10, qword [rsp + 184] - QUAD $0x090812442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r10 + 8], 9 - QUAD $0x000000e0249c8b48 // mov rbx, qword [rsp + 224] + WORD $0x894d; BYTE $0xef // mov r15, r13 + QUAD $0x02082a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r13 + 8], 2 + QUAD $0x000000c8248c8b48 // mov rcx, qword [rsp + 200] + QUAD $0x03080a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 8], 3 + LONG $0x24748b48; BYTE $0x70 // mov rsi, qword [rsp + 112] + QUAD $0x040832442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 8], 4 + QUAD $0x000000b824ac8b4c // mov r13, qword [rsp + 184] + QUAD $0x05082a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r13 + 8], 5 + QUAD $0x0000009024b48b48 // mov rsi, qword [rsp + 144] + QUAD $0x060832442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 8], 6 + WORD $0x8949; BYTE $0xc0 // mov r8, rax + QUAD $0x070802442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 8], 7 + QUAD $0x000000e024bc8b48 // mov rdi, qword [rsp + 224] + QUAD $0x08083a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rdi + 8], 8 + QUAD $0x000000e824a48b4c // mov r12, qword [rsp + 232] + QUAD $0x090822442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r12 + 8], 9 + LONG $0x245c8b48; BYTE $0x58 // mov rbx, qword [rsp + 88] QUAD $0x0a081a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rbx + 8], 10 - LONG $0x24748b48; BYTE $0x58 // mov rsi, qword [rsp + 88] - QUAD $0x0b0832442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 8], 11 - QUAD $0x0000008024b48b48 // mov rsi, qword [rsp + 128] - QUAD $0x0c0832442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 8], 12 + QUAD $0x000000d8248c8b4c // mov r9, qword [rsp + 216] + QUAD $0x0b080a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r9 + 8], 11 + LONG $0x24548b4c; BYTE $0x50 // mov r10, qword [rsp + 80] + QUAD $0x0c0812442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r10 + 8], 12 + LONG $0x24448b48; BYTE $0x48 // mov rax, qword [rsp + 72] QUAD $0x0d0802442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 8], 13 - QUAD $0x0e083a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r15 + 8], 14 - LONG $0x24448b48; BYTE $0x50 // mov rax, qword [rsp + 80] + LONG $0x24448b48; BYTE $0x40 // mov rax, qword [rsp + 64] + QUAD $0x0e0802442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 8], 14 + LONG $0x24448b48; BYTE $0x60 // mov rax, qword [rsp + 96] QUAD $0x0f0802442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 8], 15 + QUAD $0x0108326c2029a3c4 // vpinsrb xmm5, xmm10, byte [rdx + r14 + 8], 1 LONG $0x24448b48; BYTE $0x78 // mov rax, qword [rsp + 120] - QUAD $0x0108026c2029e3c4 // vpinsrb xmm5, xmm10, byte [rdx + rax + 8], 1 - LONG $0x244c8b4c; BYTE $0x40 // mov r9, qword [rsp + 64] - QUAD $0x02080a6c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r9 + 8], 2 - QUAD $0x000000b024bc8b4c // mov r15, qword [rsp + 176] - QUAD $0x03083a6c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r15 + 8], 3 - LONG $0x24748b48; BYTE $0x68 // mov rsi, qword [rsp + 104] + QUAD $0x0208026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 8], 2 + LONG $0x24448b48; BYTE $0x38 // mov rax, qword [rsp + 56] + QUAD $0x0308026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 8], 3 + QUAD $0x000000a824b48b48 // mov rsi, qword [rsp + 168] QUAD $0x0408326c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rsi + 8], 4 - LONG $0x24448b48; BYTE $0x60 // mov rax, qword [rsp + 96] - QUAD $0x0508026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 8], 5 - QUAD $0x000000a024b48b4c // mov r14, qword [rsp + 160] - QUAD $0x0608326c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r14 + 8], 6 - QUAD $0x0000009024848b48 // mov rax, qword [rsp + 144] - QUAD $0x0708026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 8], 7 QUAD $0x0000008824848b48 // mov rax, qword [rsp + 136] - QUAD $0x0808026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 8], 8 - QUAD $0x09083a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rdi + 8], 9 - QUAD $0x0000014024848b48 // mov rax, qword [rsp + 320] + QUAD $0x0508026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 8], 5 + QUAD $0x0000009824848b48 // mov rax, qword [rsp + 152] + QUAD $0x0608026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 8], 6 + QUAD $0x000000f824b48b4c // mov r14, qword [rsp + 248] + QUAD $0x0708326c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r14 + 8], 7 + QUAD $0x08081a6c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r11 + 8], 8 + QUAD $0x000000b024848b48 // mov rax, qword [rsp + 176] + QUAD $0x0908026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 8], 9 + LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] QUAD $0x0a08026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 8], 10 - QUAD $0x000000d824848b48 // mov rax, qword [rsp + 216] + QUAD $0x0000008024848b48 // mov rax, qword [rsp + 128] QUAD $0x0b08026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 8], 11 - QUAD $0x0000012024bc8b48 // mov rdi, qword [rsp + 288] - QUAD $0x0c083a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rdi + 8], 12 - LONG $0x247c8b48; BYTE $0x20 // mov rdi, qword [rsp + 32] - QUAD $0x0d083a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rdi + 8], 13 - LONG $0x247c8b48; BYTE $0x48 // mov rdi, qword [rsp + 72] - QUAD $0x0e083a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rdi + 8], 14 - QUAD $0x0f08226c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r12 + 8], 15 - QUAD $0x000000e824a48b4c // mov r12, qword [rsp + 232] - QUAD $0x010922742039a3c4 // vpinsrb xmm6, xmm8, byte [rdx + r12 + 9], 1 - QUAD $0x020902742049a3c4 // vpinsrb xmm6, xmm6, byte [rdx + r8 + 9], 2 - LONG $0x247c8b48; BYTE $0x70 // mov rdi, qword [rsp + 112] - QUAD $0x03093a742049e3c4 // vpinsrb xmm6, xmm6, byte [rdx + rdi + 9], 3 - QUAD $0x04092a742049a3c4 // vpinsrb xmm6, xmm6, byte [rdx + r13 + 9], 4 - QUAD $0x05091a742049a3c4 // vpinsrb xmm6, xmm6, byte [rdx + r11 + 9], 5 - QUAD $0x06090a742049e3c4 // vpinsrb xmm6, xmm6, byte [rdx + rcx + 9], 6 - QUAD $0x000000c8248c8b48 // mov rcx, qword [rsp + 200] - QUAD $0x07090a742049e3c4 // vpinsrb xmm6, xmm6, byte [rdx + rcx + 9], 7 - QUAD $0x000000c0248c8b48 // mov rcx, qword [rsp + 192] - QUAD $0x08090a742049e3c4 // vpinsrb xmm6, xmm6, byte [rdx + rcx + 9], 8 - QUAD $0x090912742049a3c4 // vpinsrb xmm6, xmm6, byte [rdx + r10 + 9], 9 + LONG $0x24448b48; BYTE $0x30 // mov rax, qword [rsp + 48] + QUAD $0x0c08026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 8], 12 + LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] + QUAD $0x0d08026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 8], 13 + QUAD $0x0000012024848b48 // mov rax, qword [rsp + 288] + QUAD $0x0e08026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 8], 14 + QUAD $0x0000014024848b48 // mov rax, qword [rsp + 320] + QUAD $0x0f08026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 8], 15 + LONG $0x24448b48; BYTE $0x68 // mov rax, qword [rsp + 104] + QUAD $0x010902742039e3c4 // vpinsrb xmm6, xmm8, byte [rdx + rax + 9], 1 + QUAD $0x02093a742049a3c4 // vpinsrb xmm6, xmm6, byte [rdx + r15 + 9], 2 + QUAD $0x03090a742049e3c4 // vpinsrb xmm6, xmm6, byte [rdx + rcx + 9], 3 + LONG $0x24448b48; BYTE $0x70 // mov rax, qword [rsp + 112] + QUAD $0x040902742049e3c4 // vpinsrb xmm6, xmm6, byte [rdx + rax + 9], 4 + QUAD $0x05092a742049a3c4 // vpinsrb xmm6, xmm6, byte [rdx + r13 + 9], 5 + QUAD $0x0000009024848b48 // mov rax, qword [rsp + 144] + QUAD $0x060902742049e3c4 // vpinsrb xmm6, xmm6, byte [rdx + rax + 9], 6 + QUAD $0x070902742049a3c4 // vpinsrb xmm6, xmm6, byte [rdx + r8 + 9], 7 + QUAD $0x08093a742049e3c4 // vpinsrb xmm6, xmm6, byte [rdx + rdi + 9], 8 + QUAD $0x090922742049a3c4 // vpinsrb xmm6, xmm6, byte [rdx + r12 + 9], 9 QUAD $0x0a091a742049e3c4 // vpinsrb xmm6, xmm6, byte [rdx + rbx + 9], 10 - LONG $0x244c8b48; BYTE $0x58 // mov rcx, qword [rsp + 88] - QUAD $0x0b090a742049e3c4 // vpinsrb xmm6, xmm6, byte [rdx + rcx + 9], 11 - QUAD $0x00000080249c8b4c // mov r11, qword [rsp + 128] - QUAD $0x0c091a742049a3c4 // vpinsrb xmm6, xmm6, byte [rdx + r11 + 9], 12 - QUAD $0x000000d0248c8b48 // mov rcx, qword [rsp + 208] - QUAD $0x0d090a742049e3c4 // vpinsrb xmm6, xmm6, byte [rdx + rcx + 9], 13 - LONG $0x244c8b48; BYTE $0x30 // mov rcx, qword [rsp + 48] - QUAD $0x0e090a742049e3c4 // vpinsrb xmm6, xmm6, byte [rdx + rcx + 9], 14 - LONG $0x24648b4c; BYTE $0x50 // mov r12, qword [rsp + 80] - QUAD $0x0f0922742049a3c4 // vpinsrb xmm6, xmm6, byte [rdx + r12 + 9], 15 - LONG $0x244c8b48; BYTE $0x78 // mov rcx, qword [rsp + 120] - QUAD $0x01090a7c2021e3c4 // vpinsrb xmm7, xmm11, byte [rdx + rcx + 9], 1 - QUAD $0x02090a7c2041a3c4 // vpinsrb xmm7, xmm7, byte [rdx + r9 + 9], 2 - QUAD $0x03093a7c2041a3c4 // vpinsrb xmm7, xmm7, byte [rdx + r15 + 9], 3 + QUAD $0x0b090a742049a3c4 // vpinsrb xmm6, xmm6, byte [rdx + r9 + 9], 11 + QUAD $0x0c0912742049a3c4 // vpinsrb xmm6, xmm6, byte [rdx + r10 + 9], 12 + LONG $0x24548b4c; BYTE $0x48 // mov r10, qword [rsp + 72] + QUAD $0x0d0912742049a3c4 // vpinsrb xmm6, xmm6, byte [rdx + r10 + 9], 13 + LONG $0x24448b48; BYTE $0x40 // mov rax, qword [rsp + 64] + QUAD $0x0e0902742049e3c4 // vpinsrb xmm6, xmm6, byte [rdx + rax + 9], 14 + LONG $0x24448b48; BYTE $0x60 // mov rax, qword [rsp + 96] + QUAD $0x0f0902742049e3c4 // vpinsrb xmm6, xmm6, byte [rdx + rax + 9], 15 + QUAD $0x000000c024848b48 // mov rax, qword [rsp + 192] + QUAD $0x0109027c2021e3c4 // vpinsrb xmm7, xmm11, byte [rdx + rax + 9], 1 + LONG $0x246c8b4c; BYTE $0x78 // mov r13, qword [rsp + 120] + QUAD $0x02092a7c2041a3c4 // vpinsrb xmm7, xmm7, byte [rdx + r13 + 9], 2 + LONG $0x24448b48; BYTE $0x38 // mov rax, qword [rsp + 56] + QUAD $0x0309027c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rax + 9], 3 QUAD $0x0409327c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rsi + 9], 4 - LONG $0x246c8b4c; BYTE $0x60 // mov r13, qword [rsp + 96] - QUAD $0x05092a7c2041a3c4 // vpinsrb xmm7, xmm7, byte [rdx + r13 + 9], 5 - QUAD $0x0609327c2041a3c4 // vpinsrb xmm7, xmm7, byte [rdx + r14 + 9], 6 - QUAD $0x00000090249c8b48 // mov rbx, qword [rsp + 144] - QUAD $0x07091a7c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rbx + 9], 7 - QUAD $0x0000008824bc8b4c // mov r15, qword [rsp + 136] - QUAD $0x08093a7c2041a3c4 // vpinsrb xmm7, xmm7, byte [rdx + r15 + 9], 8 - QUAD $0x00000098248c8b48 // mov rcx, qword [rsp + 152] - QUAD $0x09090a7c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rcx + 9], 9 - QUAD $0x00000140248c8b48 // mov rcx, qword [rsp + 320] - QUAD $0x0a090a7c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rcx + 9], 10 + QUAD $0x00000088249c8b48 // mov rbx, qword [rsp + 136] + QUAD $0x05091a7c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rbx + 9], 5 + QUAD $0x0000009824848b48 // mov rax, qword [rsp + 152] + QUAD $0x0609027c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rax + 9], 6 + QUAD $0x0709327c2041a3c4 // vpinsrb xmm7, xmm7, byte [rdx + r14 + 9], 7 + QUAD $0x08091a7c2041a3c4 // vpinsrb xmm7, xmm7, byte [rdx + r11 + 9], 8 + WORD $0x894d; BYTE $0xde // mov r14, r11 + QUAD $0x000000b024848b48 // mov rax, qword [rsp + 176] + QUAD $0x0909027c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rax + 9], 9 + LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] + QUAD $0x0a09027c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rax + 9], 10 + QUAD $0x0000008024848b48 // mov rax, qword [rsp + 128] QUAD $0x0b09027c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rax + 9], 11 - QUAD $0x0000012024848b48 // mov rax, qword [rsp + 288] + LONG $0x24448b48; BYTE $0x30 // mov rax, qword [rsp + 48] QUAD $0x0c09027c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rax + 9], 12 LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] QUAD $0x0d09027c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rax + 9], 13 - LONG $0x24448b48; BYTE $0x48 // mov rax, qword [rsp + 72] + QUAD $0x0000012024848b48 // mov rax, qword [rsp + 288] QUAD $0x0e09027c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rax + 9], 14 LONG $0x3855e3c4; WORD $0x01c0 // vinserti128 ymm0, ymm5, xmm0, 1 QUAD $0x00046024847ffdc5; BYTE $0x00 // vmovdqa yword [rsp + 1120], ymm0 - LONG $0x24448b48; BYTE $0x38 // mov rax, qword [rsp + 56] + QUAD $0x0000014024848b48 // mov rax, qword [rsp + 320] QUAD $0x0f09026c2041e3c4 // vpinsrb xmm5, xmm7, byte [rdx + rax + 9], 15 - QUAD $0x0000010024848b48 // mov rax, qword [rsp + 256] + QUAD $0x000000f024848b48 // mov rax, qword [rsp + 240] LONG $0x0274b60f; BYTE $0x0c // movzx esi, byte [rdx + rax + 12] LONG $0xc66ef9c5 // vmovd xmm0, esi LONG $0x3855e3c4; WORD $0x01ee // vinserti128 ymm5, ymm5, xmm6, 1 QUAD $0x00044024ac7ffdc5; BYTE $0x00 // vmovdqa yword [rsp + 1088], ymm5 - QUAD $0x0000010824848b48 // mov rax, qword [rsp + 264] + QUAD $0x0000010024848b48 // mov rax, qword [rsp + 256] LONG $0x0274b60f; BYTE $0x0c // movzx esi, byte [rdx + rax + 12] LONG $0xee6ef9c5 // vmovd xmm5, esi - QUAD $0x000000e824bc8b48 // mov rdi, qword [rsp + 232] - QUAD $0x010a3a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 10], 1 - QUAD $0x020a025c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r8 + 10], 2 - LONG $0x244c8b48; BYTE $0x70 // mov rcx, qword [rsp + 112] + LONG $0x24448b48; BYTE $0x68 // mov rax, qword [rsp + 104] + QUAD $0x010a025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 10], 1 + QUAD $0x020a3a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r15 + 10], 2 QUAD $0x030a0a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 10], 3 - QUAD $0x000000f024848b48 // mov rax, qword [rsp + 240] - QUAD $0x040a025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 10], 4 - QUAD $0x000000f824848b48 // mov rax, qword [rsp + 248] - QUAD $0x050a025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 10], 5 - LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] - QUAD $0x060a025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 10], 6 - QUAD $0x000000c8248c8b4c // mov r9, qword [rsp + 200] - QUAD $0x070a0a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r9 + 10], 7 - QUAD $0x000000c024b48b4c // mov r14, qword [rsp + 192] - QUAD $0x080a325c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r14 + 10], 8 - QUAD $0x090a125c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r10 + 10], 9 - QUAD $0x000000e024848b48 // mov rax, qword [rsp + 224] - QUAD $0x0a0a025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 10], 10 - LONG $0x24448b48; BYTE $0x58 // mov rax, qword [rsp + 88] + LONG $0x247c8b48; BYTE $0x70 // mov rdi, qword [rsp + 112] + QUAD $0x040a3a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 10], 4 + QUAD $0x000000b824848b4c // mov r8, qword [rsp + 184] + QUAD $0x050a025c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r8 + 10], 5 + QUAD $0x0000009024b48b48 // mov rsi, qword [rsp + 144] + QUAD $0x060a325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 10], 6 + QUAD $0x000000d024b48b48 // mov rsi, qword [rsp + 208] + QUAD $0x070a325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 10], 7 + QUAD $0x000000e0248c8b4c // mov r9, qword [rsp + 224] + QUAD $0x080a0a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r9 + 10], 8 + QUAD $0x090a225c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r12 + 10], 9 + LONG $0x24748b48; BYTE $0x58 // mov rsi, qword [rsp + 88] + QUAD $0x0a0a325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 10], 10 + QUAD $0x000000d824848b48 // mov rax, qword [rsp + 216] QUAD $0x0b0a025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 10], 11 - QUAD $0x0c0a1a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r11 + 10], 12 - QUAD $0x000000d024948b4c // mov r10, qword [rsp + 208] + LONG $0x24448b48; BYTE $0x50 // mov rax, qword [rsp + 80] + QUAD $0x0c0a025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 10], 12 QUAD $0x0d0a125c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r10 + 10], 13 - LONG $0x245c8b4c; BYTE $0x30 // mov r11, qword [rsp + 48] - QUAD $0x0e0a1a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r11 + 10], 14 - QUAD $0x0f0a225c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r12 + 10], 15 - LONG $0x24448b48; BYTE $0x78 // mov rax, qword [rsp + 120] - QUAD $0x010a02642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rax + 10], 1 LONG $0x24448b48; BYTE $0x40 // mov rax, qword [rsp + 64] - QUAD $0x020a02642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rax + 10], 2 - QUAD $0x000000b024b48b48 // mov rsi, qword [rsp + 176] + QUAD $0x0e0a025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 10], 14 + LONG $0x24748b48; BYTE $0x60 // mov rsi, qword [rsp + 96] + QUAD $0x0f0a325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 10], 15 + QUAD $0x000000c024848b48 // mov rax, qword [rsp + 192] + QUAD $0x010a02642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rax + 10], 1 + QUAD $0x020a2a642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r13 + 10], 2 + LONG $0x24748b48; BYTE $0x38 // mov rsi, qword [rsp + 56] QUAD $0x030a32642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rsi + 10], 3 - LONG $0x24648b4c; BYTE $0x68 // mov r12, qword [rsp + 104] - QUAD $0x040a22642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r12 + 10], 4 - QUAD $0x050a2a642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r13 + 10], 5 - QUAD $0x000000a024848b48 // mov rax, qword [rsp + 160] - QUAD $0x060a02642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rax + 10], 6 + QUAD $0x000000a8249c8b4c // mov r11, qword [rsp + 168] + QUAD $0x040a1a642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r11 + 10], 4 + QUAD $0x050a1a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rbx + 10], 5 + QUAD $0x0000009824948b4c // mov r10, qword [rsp + 152] + QUAD $0x060a12642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r10 + 10], 6 + QUAD $0x000000f8249c8b48 // mov rbx, qword [rsp + 248] QUAD $0x070a1a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rbx + 10], 7 - QUAD $0x080a3a642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r15 + 10], 8 - QUAD $0x0000009824848b48 // mov rax, qword [rsp + 152] - QUAD $0x090a02642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rax + 10], 9 - QUAD $0x00000140249c8b48 // mov rbx, qword [rsp + 320] - QUAD $0x0a0a1a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rbx + 10], 10 - QUAD $0x000000d824bc8b4c // mov r15, qword [rsp + 216] - QUAD $0x0b0a3a642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r15 + 10], 11 + QUAD $0x080a32642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r14 + 10], 8 + QUAD $0x000000b024ac8b4c // mov r13, qword [rsp + 176] + QUAD $0x090a2a642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r13 + 10], 9 + LONG $0x24748b4c; BYTE $0x28 // mov r14, qword [rsp + 40] + QUAD $0x0a0a32642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r14 + 10], 10 + QUAD $0x00000080249c8b48 // mov rbx, qword [rsp + 128] + QUAD $0x0b0a1a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rbx + 10], 11 + LONG $0x24448b48; BYTE $0x30 // mov rax, qword [rsp + 48] + QUAD $0x0c0a02642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rax + 10], 12 + LONG $0x24648b4c; BYTE $0x20 // mov r12, qword [rsp + 32] + QUAD $0x0d0a22642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r12 + 10], 13 QUAD $0x00000120249c8b48 // mov rbx, qword [rsp + 288] - QUAD $0x0c0a1a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rbx + 10], 12 - LONG $0x245c8b48; BYTE $0x20 // mov rbx, qword [rsp + 32] - QUAD $0x0d0a1a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rbx + 10], 13 - LONG $0x246c8b4c; BYTE $0x48 // mov r13, qword [rsp + 72] - QUAD $0x0e0a2a642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r13 + 10], 14 - LONG $0x245c8b48; BYTE $0x38 // mov rbx, qword [rsp + 56] + QUAD $0x0e0a1a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rbx + 10], 14 + QUAD $0x00000140249c8b48 // mov rbx, qword [rsp + 320] QUAD $0x0f0a1a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rbx + 10], 15 - QUAD $0x010b3a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 11], 1 - QUAD $0x020b024c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r8 + 11], 2 + LONG $0x24448b48; BYTE $0x68 // mov rax, qword [rsp + 104] + QUAD $0x010b024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 11], 1 + QUAD $0x020b3a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r15 + 11], 2 QUAD $0x030b0a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 11], 3 - QUAD $0x000000f0248c8b48 // mov rcx, qword [rsp + 240] - QUAD $0x040b0a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 11], 4 - QUAD $0x000000f824bc8b48 // mov rdi, qword [rsp + 248] - QUAD $0x050b3a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 11], 5 - LONG $0x247c8b48; BYTE $0x28 // mov rdi, qword [rsp + 40] - QUAD $0x060b3a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 11], 6 - QUAD $0x070b0a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r9 + 11], 7 - QUAD $0x080b324c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r14 + 11], 8 - QUAD $0x000000b824bc8b48 // mov rdi, qword [rsp + 184] - QUAD $0x090b3a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 11], 9 - QUAD $0x000000e024b48b4c // mov r14, qword [rsp + 224] - QUAD $0x0a0b324c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r14 + 11], 10 - LONG $0x244c8b4c; BYTE $0x58 // mov r9, qword [rsp + 88] - QUAD $0x0b0b0a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r9 + 11], 11 - QUAD $0x0000008024bc8b48 // mov rdi, qword [rsp + 128] - QUAD $0x0c0b3a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 11], 12 - QUAD $0x0d0b124c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r10 + 11], 13 - QUAD $0x0e0b1a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r11 + 11], 14 - LONG $0x245c8b4c; BYTE $0x50 // mov r11, qword [rsp + 80] - QUAD $0x0f0b1a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r11 + 11], 15 + QUAD $0x040b3a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 11], 4 + QUAD $0x050b024c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r8 + 11], 5 + QUAD $0x00000090248c8b48 // mov rcx, qword [rsp + 144] + QUAD $0x060b0a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 11], 6 + QUAD $0x000000d024848b48 // mov rax, qword [rsp + 208] + QUAD $0x070b024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 11], 7 + QUAD $0x080b0a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r9 + 11], 8 + QUAD $0x000000e824848b48 // mov rax, qword [rsp + 232] + QUAD $0x090b024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 11], 9 + LONG $0x24448b48; BYTE $0x58 // mov rax, qword [rsp + 88] + QUAD $0x0a0b024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 11], 10 + QUAD $0x000000d824848b48 // mov rax, qword [rsp + 216] + QUAD $0x0b0b024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 11], 11 + LONG $0x24448b48; BYTE $0x50 // mov rax, qword [rsp + 80] + QUAD $0x0c0b024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 11], 12 + LONG $0x24448b48; BYTE $0x48 // mov rax, qword [rsp + 72] + QUAD $0x0d0b024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 11], 13 + LONG $0x24448b4c; BYTE $0x40 // mov r8, qword [rsp + 64] + QUAD $0x0e0b024c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r8 + 11], 14 + LONG $0x24448b48; BYTE $0x60 // mov rax, qword [rsp + 96] + QUAD $0x0f0b024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 11], 15 + QUAD $0x000000c024848b48 // mov rax, qword [rsp + 192] + QUAD $0x010b02542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 11], 1 LONG $0x247c8b48; BYTE $0x78 // mov rdi, qword [rsp + 120] - QUAD $0x010b3a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 11], 1 - LONG $0x245c8b48; BYTE $0x40 // mov rbx, qword [rsp + 64] - QUAD $0x020b1a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rbx + 11], 2 + QUAD $0x020b3a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 11], 2 QUAD $0x030b32542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 11], 3 - QUAD $0x040b22542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r12 + 11], 4 - LONG $0x24748b48; BYTE $0x60 // mov rsi, qword [rsp + 96] + QUAD $0x040b1a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r11 + 11], 4 + QUAD $0x0000008824b48b48 // mov rsi, qword [rsp + 136] QUAD $0x050b32542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 11], 5 - QUAD $0x000000a0249c8b48 // mov rbx, qword [rsp + 160] - QUAD $0x060b1a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rbx + 11], 6 - QUAD $0x0000009024848b4c // mov r8, qword [rsp + 144] - QUAD $0x070b02542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r8 + 11], 7 - QUAD $0x0000008824a48b4c // mov r12, qword [rsp + 136] - QUAD $0x080b22542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r12 + 11], 8 - QUAD $0x090b02542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 11], 9 - QUAD $0x0000014024848b48 // mov rax, qword [rsp + 320] - QUAD $0x0a0b02542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 11], 10 - QUAD $0x0b0b3a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r15 + 11], 11 - QUAD $0x0000012024848b48 // mov rax, qword [rsp + 288] - QUAD $0x0c0b02542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 11], 12 - LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] - QUAD $0x0d0b02542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 11], 13 + QUAD $0x060b12542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r10 + 11], 6 + QUAD $0x000000f824bc8b4c // mov r15, qword [rsp + 248] + QUAD $0x070b3a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r15 + 11], 7 + QUAD $0x000000a024b48b48 // mov rsi, qword [rsp + 160] + QUAD $0x080b32542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 11], 8 + QUAD $0x090b2a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r13 + 11], 9 + QUAD $0x0a0b32542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r14 + 11], 10 + QUAD $0x0000008024b48b48 // mov rsi, qword [rsp + 128] + QUAD $0x0b0b32542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 11], 11 + LONG $0x24748b48; BYTE $0x30 // mov rsi, qword [rsp + 48] + QUAD $0x0c0b32542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 11], 12 + QUAD $0x0d0b22542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r12 + 11], 13 LONG $0x385de3c4; WORD $0x01db // vinserti128 ymm3, ymm4, xmm3, 1 QUAD $0x000420249c7ffdc5; BYTE $0x00 // vmovdqa yword [rsp + 1056], ymm3 + QUAD $0x0000012024ac8b4c // mov r13, qword [rsp + 288] QUAD $0x0e0b2a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r13 + 11], 14 - QUAD $0x0000010024848b48 // mov rax, qword [rsp + 256] - LONG $0x0274b60f; BYTE $0x0d // movzx esi, byte [rdx + rax + 13] + QUAD $0x000000f024b48b48 // mov rsi, qword [rsp + 240] + LONG $0x3274b60f; BYTE $0x0d // movzx esi, byte [rdx + rsi + 13] LONG $0xde6ef9c5 // vmovd xmm3, esi - LONG $0x24448b48; BYTE $0x38 // mov rax, qword [rsp + 56] - QUAD $0x0f0b02542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 11], 15 + QUAD $0x0f0b1a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rbx + 11], 15 LONG $0x386de3c4; WORD $0x01c9 // vinserti128 ymm1, ymm2, xmm1, 1 QUAD $0x000400248c7ffdc5; BYTE $0x00 // vmovdqa yword [rsp + 1024], ymm1 - QUAD $0x0000010824848b48 // mov rax, qword [rsp + 264] - LONG $0x0274b60f; BYTE $0x0d // movzx esi, byte [rdx + rax + 13] + QUAD $0x0000010024b48b48 // mov rsi, qword [rsp + 256] + LONG $0x3274b60f; BYTE $0x0d // movzx esi, byte [rdx + rsi + 13] LONG $0xce6ef9c5 // vmovd xmm1, esi - QUAD $0x000000e824848b48 // mov rax, qword [rsp + 232] - QUAD $0x010c02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 12], 1 - QUAD $0x000000a824848b48 // mov rax, qword [rsp + 168] - QUAD $0x020c02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 12], 2 - LONG $0x24448b48; BYTE $0x70 // mov rax, qword [rsp + 112] - QUAD $0x030c02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 12], 3 - QUAD $0x040c0a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 12], 4 - QUAD $0x000000f824948b4c // mov r10, qword [rsp + 248] - QUAD $0x050c12442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r10 + 12], 5 - LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] - QUAD $0x060c02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 12], 6 - QUAD $0x000000c824848b48 // mov rax, qword [rsp + 200] - QUAD $0x070c02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 12], 7 - QUAD $0x000000c024848b48 // mov rax, qword [rsp + 192] - QUAD $0x080c02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 12], 8 - QUAD $0x000000b824848b48 // mov rax, qword [rsp + 184] - QUAD $0x090c02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 12], 9 + LONG $0x24748b48; BYTE $0x68 // mov rsi, qword [rsp + 104] + QUAD $0x010c32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 12], 1 + QUAD $0x0000010824a48b4c // mov r12, qword [rsp + 264] + QUAD $0x020c22442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r12 + 12], 2 + QUAD $0x000000c824bc8b48 // mov rdi, qword [rsp + 200] + QUAD $0x030c3a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rdi + 12], 3 + LONG $0x24748b48; BYTE $0x70 // mov rsi, qword [rsp + 112] + QUAD $0x040c32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 12], 4 + QUAD $0x000000b824b48b48 // mov rsi, qword [rsp + 184] + QUAD $0x050c32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 12], 5 + QUAD $0x060c0a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 12], 6 + QUAD $0x000000d0248c8b48 // mov rcx, qword [rsp + 208] + QUAD $0x070c0a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 12], 7 + QUAD $0x000000e024b48b48 // mov rsi, qword [rsp + 224] + QUAD $0x080c32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 12], 8 + QUAD $0x000000e8248c8b4c // mov r9, qword [rsp + 232] + QUAD $0x090c0a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r9 + 12], 9 + LONG $0x24748b4c; BYTE $0x58 // mov r14, qword [rsp + 88] QUAD $0x0a0c32442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r14 + 12], 10 - QUAD $0x0b0c0a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r9 + 12], 11 - QUAD $0x00000080248c8b48 // mov rcx, qword [rsp + 128] - QUAD $0x0c0c0a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 12], 12 - QUAD $0x000000d024848b48 // mov rax, qword [rsp + 208] - QUAD $0x0d0c02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 12], 13 - LONG $0x246c8b4c; BYTE $0x30 // mov r13, qword [rsp + 48] - QUAD $0x0e0c2a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r13 + 12], 14 - QUAD $0x0f0c1a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r11 + 12], 15 - QUAD $0x010c3a542051e3c4 // vpinsrb xmm2, xmm5, byte [rdx + rdi + 12], 1 - LONG $0x24748b48; BYTE $0x40 // mov rsi, qword [rsp + 64] - QUAD $0x020c32542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 12], 2 - QUAD $0x000000b024b48b4c // mov r14, qword [rsp + 176] - QUAD $0x030c32542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r14 + 12], 3 - LONG $0x247c8b48; BYTE $0x68 // mov rdi, qword [rsp + 104] - QUAD $0x040c3a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 12], 4 - LONG $0x247c8b4c; BYTE $0x60 // mov r15, qword [rsp + 96] - QUAD $0x050c3a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r15 + 12], 5 - QUAD $0x060c1a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rbx + 12], 6 - QUAD $0x070c02542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r8 + 12], 7 - WORD $0x894c; BYTE $0xe0 // mov rax, r12 - QUAD $0x080c22542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r12 + 12], 8 - QUAD $0x00000098249c8b4c // mov r11, qword [rsp + 152] - QUAD $0x090c1a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r11 + 12], 9 - QUAD $0x00000140249c8b48 // mov rbx, qword [rsp + 320] - QUAD $0x0a0c1a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rbx + 12], 10 QUAD $0x000000d8249c8b48 // mov rbx, qword [rsp + 216] - QUAD $0x0b0c1a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rbx + 12], 11 - QUAD $0x00000120249c8b48 // mov rbx, qword [rsp + 288] - QUAD $0x0c0c1a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rbx + 12], 12 - LONG $0x244c8b4c; BYTE $0x20 // mov r9, qword [rsp + 32] - QUAD $0x0d0c0a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r9 + 12], 13 - LONG $0x24448b4c; BYTE $0x48 // mov r8, qword [rsp + 72] - QUAD $0x0e0c02542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r8 + 12], 14 - LONG $0x24648b4c; BYTE $0x38 // mov r12, qword [rsp + 56] - QUAD $0x0f0c22542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r12 + 12], 15 - QUAD $0x000000e8249c8b48 // mov rbx, qword [rsp + 232] - QUAD $0x010d1a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 13], 1 - QUAD $0x000000a8249c8b48 // mov rbx, qword [rsp + 168] - QUAD $0x020d1a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 13], 2 - LONG $0x245c8b48; BYTE $0x70 // mov rbx, qword [rsp + 112] - QUAD $0x030d1a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 13], 3 - QUAD $0x000000f0249c8b48 // mov rbx, qword [rsp + 240] - QUAD $0x040d1a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 13], 4 - QUAD $0x050d125c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r10 + 13], 5 - LONG $0x245c8b48; BYTE $0x28 // mov rbx, qword [rsp + 40] - QUAD $0x060d1a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 13], 6 - QUAD $0x000000c8249c8b48 // mov rbx, qword [rsp + 200] - QUAD $0x070d1a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 13], 7 - QUAD $0x000000c0249c8b48 // mov rbx, qword [rsp + 192] - QUAD $0x080d1a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 13], 8 - QUAD $0x000000b824a48b4c // mov r12, qword [rsp + 184] - QUAD $0x090d225c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r12 + 13], 9 - QUAD $0x000000e0249c8b48 // mov rbx, qword [rsp + 224] - QUAD $0x0a0d1a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 13], 10 - LONG $0x245c8b48; BYTE $0x58 // mov rbx, qword [rsp + 88] + QUAD $0x0b0c1a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rbx + 12], 11 + LONG $0x24748b48; BYTE $0x50 // mov rsi, qword [rsp + 80] + QUAD $0x0c0c32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 12], 12 + LONG $0x24748b48; BYTE $0x48 // mov rsi, qword [rsp + 72] + QUAD $0x0d0c32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 12], 13 + QUAD $0x0e0c02442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r8 + 12], 14 + LONG $0x24748b48; BYTE $0x60 // mov rsi, qword [rsp + 96] + QUAD $0x0f0c32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 12], 15 + QUAD $0x010c02542051e3c4 // vpinsrb xmm2, xmm5, byte [rdx + rax + 12], 1 + LONG $0x24748b48; BYTE $0x78 // mov rsi, qword [rsp + 120] + QUAD $0x020c32542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 12], 2 + LONG $0x24448b48; BYTE $0x38 // mov rax, qword [rsp + 56] + QUAD $0x030c02542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 12], 3 + QUAD $0x000000a824848b48 // mov rax, qword [rsp + 168] + QUAD $0x040c02542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 12], 4 + QUAD $0x0000008824948b4c // mov r10, qword [rsp + 136] + QUAD $0x050c12542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r10 + 12], 5 + QUAD $0x0000009824848b48 // mov rax, qword [rsp + 152] + QUAD $0x060c02542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 12], 6 + QUAD $0x070c3a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r15 + 12], 7 + QUAD $0x000000a024848b48 // mov rax, qword [rsp + 160] + QUAD $0x080c02542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 12], 8 + QUAD $0x000000b024848b4c // mov r8, qword [rsp + 176] + QUAD $0x090c02542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r8 + 12], 9 + LONG $0x245c8b4c; BYTE $0x28 // mov r11, qword [rsp + 40] + QUAD $0x0a0c1a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r11 + 12], 10 + QUAD $0x0000008024848b48 // mov rax, qword [rsp + 128] + QUAD $0x0b0c02542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 12], 11 + LONG $0x24448b48; BYTE $0x30 // mov rax, qword [rsp + 48] + QUAD $0x0c0c02542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 12], 12 + LONG $0x247c8b4c; BYTE $0x20 // mov r15, qword [rsp + 32] + QUAD $0x0d0c3a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r15 + 12], 13 + QUAD $0x0e0c2a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r13 + 12], 14 + QUAD $0x0000014024848b48 // mov rax, qword [rsp + 320] + QUAD $0x0f0c02542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 12], 15 + LONG $0x246c8b4c; BYTE $0x68 // mov r13, qword [rsp + 104] + QUAD $0x010d2a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r13 + 13], 1 + QUAD $0x020d225c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r12 + 13], 2 + QUAD $0x030d3a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 13], 3 + LONG $0x24448b48; BYTE $0x70 // mov rax, qword [rsp + 112] + QUAD $0x040d025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 13], 4 + QUAD $0x000000b824bc8b48 // mov rdi, qword [rsp + 184] + QUAD $0x050d3a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 13], 5 + QUAD $0x0000009024a48b4c // mov r12, qword [rsp + 144] + QUAD $0x060d225c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r12 + 13], 6 + QUAD $0x070d0a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 13], 7 + QUAD $0x000000e024ac8b4c // mov r13, qword [rsp + 224] + QUAD $0x080d2a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r13 + 13], 8 + QUAD $0x090d0a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r9 + 13], 9 + QUAD $0x0a0d325c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r14 + 13], 10 QUAD $0x0b0d1a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 13], 11 + LONG $0x244c8b48; BYTE $0x50 // mov rcx, qword [rsp + 80] QUAD $0x0c0d0a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 13], 12 - QUAD $0x000000d024948b4c // mov r10, qword [rsp + 208] - QUAD $0x0d0d125c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r10 + 13], 13 - QUAD $0x0e0d2a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r13 + 13], 14 - LONG $0x245c8b48; BYTE $0x50 // mov rbx, qword [rsp + 80] - QUAD $0x0f0d1a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 13], 15 - LONG $0x244c8b48; BYTE $0x78 // mov rcx, qword [rsp + 120] + LONG $0x245c8b48; BYTE $0x48 // mov rbx, qword [rsp + 72] + QUAD $0x0d0d1a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 13], 13 + LONG $0x24448b48; BYTE $0x40 // mov rax, qword [rsp + 64] + QUAD $0x0e0d025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 13], 14 + LONG $0x244c8b48; BYTE $0x60 // mov rcx, qword [rsp + 96] + QUAD $0x0f0d0a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 13], 15 + QUAD $0x000000c0248c8b48 // mov rcx, qword [rsp + 192] QUAD $0x010d0a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 13], 1 QUAD $0x020d324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 13], 2 - QUAD $0x030d324c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r14 + 13], 3 - QUAD $0x040d3a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 13], 4 - QUAD $0x050d3a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r15 + 13], 5 - QUAD $0x000000a024b48b4c // mov r14, qword [rsp + 160] - QUAD $0x060d324c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r14 + 13], 6 - QUAD $0x00000090248c8b48 // mov rcx, qword [rsp + 144] - QUAD $0x070d0a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 13], 7 - QUAD $0x080d024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 13], 8 - QUAD $0x090d1a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r11 + 13], 9 - QUAD $0x0000014024848b48 // mov rax, qword [rsp + 320] - QUAD $0x0a0d024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 13], 10 - QUAD $0x000000d824848b48 // mov rax, qword [rsp + 216] + LONG $0x247c8b48; BYTE $0x38 // mov rdi, qword [rsp + 56] + QUAD $0x030d3a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 13], 3 + QUAD $0x000000a8248c8b48 // mov rcx, qword [rsp + 168] + QUAD $0x040d0a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 13], 4 + QUAD $0x050d124c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r10 + 13], 5 + QUAD $0x00000098248c8b48 // mov rcx, qword [rsp + 152] + QUAD $0x060d0a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 13], 6 + QUAD $0x000000f824b48b48 // mov rsi, qword [rsp + 248] + QUAD $0x070d324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 13], 7 + QUAD $0x000000a024b48b48 // mov rsi, qword [rsp + 160] + QUAD $0x080d324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 13], 8 + QUAD $0x090d024c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r8 + 13], 9 + QUAD $0x0a0d1a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r11 + 13], 10 + QUAD $0x0000008024848b48 // mov rax, qword [rsp + 128] QUAD $0x0b0d024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 13], 11 - QUAD $0x0000012024848b48 // mov rax, qword [rsp + 288] + LONG $0x24448b48; BYTE $0x30 // mov rax, qword [rsp + 48] QUAD $0x0c0d024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 13], 12 - QUAD $0x0d0d0a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r9 + 13], 13 - QUAD $0x0e0d024c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r8 + 13], 14 + QUAD $0x0d0d3a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r15 + 13], 13 + QUAD $0x0000012024b48b4c // mov r14, qword [rsp + 288] + QUAD $0x0e0d324c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r14 + 13], 14 LONG $0x386de3c4; WORD $0x01c0 // vinserti128 ymm0, ymm2, xmm0, 1 QUAD $0x0003e024847ffdc5; BYTE $0x00 // vmovdqa yword [rsp + 992], ymm0 - LONG $0x24448b48; BYTE $0x38 // mov rax, qword [rsp + 56] + QUAD $0x0000014024848b48 // mov rax, qword [rsp + 320] QUAD $0x0f0d02442071e3c4 // vpinsrb xmm0, xmm1, byte [rdx + rax + 13], 15 - QUAD $0x0000010024ac8b4c // mov r13, qword [rsp + 256] - LONG $0x74b60f42; WORD $0x0e2a // movzx esi, byte [rdx + r13 + 14] + QUAD $0x000000f024848b48 // mov rax, qword [rsp + 240] + LONG $0x0274b60f; BYTE $0x0e // movzx esi, byte [rdx + rax + 14] LONG $0xce6ef9c5 // vmovd xmm1, esi LONG $0x387de3c4; WORD $0x01c3 // vinserti128 ymm0, ymm0, xmm3, 1 QUAD $0x0003c024847ffdc5; BYTE $0x00 // vmovdqa yword [rsp + 960], ymm0 - QUAD $0x0000010824848b48 // mov rax, qword [rsp + 264] + QUAD $0x0000010024848b48 // mov rax, qword [rsp + 256] LONG $0x0274b60f; BYTE $0x0e // movzx esi, byte [rdx + rax + 14] LONG $0xc66ef9c5 // vmovd xmm0, esi - QUAD $0x000000e824848b48 // mov rax, qword [rsp + 232] + LONG $0x24448b48; BYTE $0x68 // mov rax, qword [rsp + 104] QUAD $0x010e024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 14], 1 - QUAD $0x000000a8248c8b48 // mov rcx, qword [rsp + 168] - QUAD $0x020e0a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 14], 2 - LONG $0x24448b4c; BYTE $0x70 // mov r8, qword [rsp + 112] - QUAD $0x030e024c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r8 + 14], 3 - QUAD $0x000000f0248c8b4c // mov r9, qword [rsp + 240] - QUAD $0x040e0a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r9 + 14], 4 - QUAD $0x000000f824bc8b48 // mov rdi, qword [rsp + 248] - QUAD $0x050e3a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 14], 5 - LONG $0x247c8b4c; BYTE $0x28 // mov r15, qword [rsp + 40] - QUAD $0x060e3a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r15 + 14], 6 - QUAD $0x000000c8248c8b48 // mov rcx, qword [rsp + 200] - QUAD $0x070e0a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 14], 7 - QUAD $0x000000c0248c8b48 // mov rcx, qword [rsp + 192] - QUAD $0x080e0a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 14], 8 - QUAD $0x090e224c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r12 + 14], 9 - QUAD $0x000000e0248c8b48 // mov rcx, qword [rsp + 224] - QUAD $0x0a0e0a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 14], 10 - LONG $0x244c8b48; BYTE $0x58 // mov rcx, qword [rsp + 88] - QUAD $0x0b0e0a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 14], 11 - QUAD $0x0000008024b48b48 // mov rsi, qword [rsp + 128] - QUAD $0x0c0e324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 14], 12 - QUAD $0x0d0e124c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r10 + 14], 13 + QUAD $0x0000010824948b4c // mov r10, qword [rsp + 264] + QUAD $0x020e124c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r10 + 14], 2 + QUAD $0x000000c824848b48 // mov rax, qword [rsp + 200] + QUAD $0x030e024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 14], 3 + LONG $0x24448b48; BYTE $0x70 // mov rax, qword [rsp + 112] + QUAD $0x040e024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 14], 4 + QUAD $0x000000b824bc8b4c // mov r15, qword [rsp + 184] + QUAD $0x050e3a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r15 + 14], 5 + QUAD $0x060e224c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r12 + 14], 6 + QUAD $0x000000d024848b48 // mov rax, qword [rsp + 208] + QUAD $0x070e024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 14], 7 + QUAD $0x080e2a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r13 + 14], 8 + QUAD $0x000000e824ac8b4c // mov r13, qword [rsp + 232] + QUAD $0x090e2a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r13 + 14], 9 + LONG $0x24448b48; BYTE $0x58 // mov rax, qword [rsp + 88] + QUAD $0x0a0e024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 14], 10 + QUAD $0x000000d824848b48 // mov rax, qword [rsp + 216] + QUAD $0x0b0e024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 14], 11 + LONG $0x24448b48; BYTE $0x50 // mov rax, qword [rsp + 80] + QUAD $0x0c0e024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 14], 12 + QUAD $0x0d0e1a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rbx + 14], 13 + LONG $0x24448b48; BYTE $0x40 // mov rax, qword [rsp + 64] + QUAD $0x0e0e024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 14], 14 + LONG $0x24448b48; BYTE $0x60 // mov rax, qword [rsp + 96] + QUAD $0x0f0e024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 14], 15 + QUAD $0x000000c024848b48 // mov rax, qword [rsp + 192] + QUAD $0x010e02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 14], 1 + LONG $0x245c8b4c; BYTE $0x78 // mov r11, qword [rsp + 120] + QUAD $0x020e1a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r11 + 14], 2 + QUAD $0x030e3a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rdi + 14], 3 + QUAD $0x000000a824848b48 // mov rax, qword [rsp + 168] + QUAD $0x040e02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 14], 4 + QUAD $0x00000088248c8b4c // mov r9, qword [rsp + 136] + QUAD $0x050e0a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r9 + 14], 5 + QUAD $0x060e0a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 14], 6 + QUAD $0x000000f824848b48 // mov rax, qword [rsp + 248] + QUAD $0x070e02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 14], 7 + QUAD $0x000000a0249c8b48 // mov rbx, qword [rsp + 160] + QUAD $0x080e1a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rbx + 14], 8 + QUAD $0x000000b0248c8b48 // mov rcx, qword [rsp + 176] + QUAD $0x090e0a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 14], 9 + LONG $0x244c8b48; BYTE $0x28 // mov rcx, qword [rsp + 40] + QUAD $0x0a0e0a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 14], 10 + QUAD $0x00000080248c8b48 // mov rcx, qword [rsp + 128] + QUAD $0x0b0e0a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 14], 11 LONG $0x24748b48; BYTE $0x30 // mov rsi, qword [rsp + 48] - QUAD $0x0e0e324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 14], 14 - QUAD $0x0f0e1a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rbx + 14], 15 - LONG $0x245c8b48; BYTE $0x78 // mov rbx, qword [rsp + 120] - QUAD $0x010e1a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rbx + 14], 1 - LONG $0x24748b48; BYTE $0x40 // mov rsi, qword [rsp + 64] - QUAD $0x020e32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 14], 2 - QUAD $0x000000b024b48b48 // mov rsi, qword [rsp + 176] - QUAD $0x030e32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 14], 3 - LONG $0x24748b48; BYTE $0x68 // mov rsi, qword [rsp + 104] - QUAD $0x040e32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 14], 4 - LONG $0x24748b48; BYTE $0x60 // mov rsi, qword [rsp + 96] - QUAD $0x050e32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 14], 5 - QUAD $0x060e32442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r14 + 14], 6 - QUAD $0x0000009024948b4c // mov r10, qword [rsp + 144] - QUAD $0x070e12442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r10 + 14], 7 - QUAD $0x0000008824b48b48 // mov rsi, qword [rsp + 136] - QUAD $0x080e32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 14], 8 - QUAD $0x0000009824a48b4c // mov r12, qword [rsp + 152] - QUAD $0x090e22442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r12 + 14], 9 - QUAD $0x0000014024b48b4c // mov r14, qword [rsp + 320] - QUAD $0x0a0e32442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r14 + 14], 10 - QUAD $0x000000d824b48b48 // mov rsi, qword [rsp + 216] - QUAD $0x0b0e32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 14], 11 - QUAD $0x0000012024b48b48 // mov rsi, qword [rsp + 288] QUAD $0x0c0e32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 14], 12 - LONG $0x245c8b4c; BYTE $0x20 // mov r11, qword [rsp + 32] - QUAD $0x0d0e1a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r11 + 14], 13 - LONG $0x24748b48; BYTE $0x48 // mov rsi, qword [rsp + 72] - QUAD $0x0e0e32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 14], 14 - LONG $0x24748b48; BYTE $0x38 // mov rsi, qword [rsp + 56] - QUAD $0x0f0e32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 14], 15 - LONG $0x74b60f42; WORD $0x0f2a // movzx esi, byte [rdx + r13 + 15] + LONG $0x24448b4c; BYTE $0x20 // mov r8, qword [rsp + 32] + QUAD $0x0d0e02442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r8 + 14], 13 + QUAD $0x0e0e32442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r14 + 14], 14 + QUAD $0x0000014024bc8b48 // mov rdi, qword [rsp + 320] + QUAD $0x0f0e3a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rdi + 14], 15 + QUAD $0x000000f024b48b4c // mov r14, qword [rsp + 240] + LONG $0x74b60f42; WORD $0x0f32 // movzx esi, byte [rdx + r14 + 15] LONG $0xd66ef9c5 // vmovd xmm2, esi - QUAD $0x010f02542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 15], 1 - QUAD $0x000000a824848b48 // mov rax, qword [rsp + 168] - QUAD $0x020f02542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 15], 2 - QUAD $0x030f02542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r8 + 15], 3 - QUAD $0x040f0a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r9 + 15], 4 - QUAD $0x050f3a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 15], 5 - QUAD $0x060f3a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r15 + 15], 6 - QUAD $0x000000c824ac8b4c // mov r13, qword [rsp + 200] - QUAD $0x070f2a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r13 + 15], 7 - QUAD $0x000000c024848b4c // mov r8, qword [rsp + 192] - QUAD $0x080f02542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r8 + 15], 8 - QUAD $0x000000b824848b48 // mov rax, qword [rsp + 184] - QUAD $0x090f02542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 15], 9 - QUAD $0x000000e024bc8b48 // mov rdi, qword [rsp + 224] - QUAD $0x0a0f3a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 15], 10 - QUAD $0x0b0f0a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 15], 11 - QUAD $0x0000008024848b48 // mov rax, qword [rsp + 128] - QUAD $0x0c0f02542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 15], 12 - QUAD $0x000000d024848b48 // mov rax, qword [rsp + 208] + LONG $0x24748b48; BYTE $0x68 // mov rsi, qword [rsp + 104] + QUAD $0x010f32542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 15], 1 + QUAD $0x020f12542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r10 + 15], 2 + QUAD $0x000000c824b48b48 // mov rsi, qword [rsp + 200] + QUAD $0x030f32542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 15], 3 + LONG $0x24548b4c; BYTE $0x70 // mov r10, qword [rsp + 112] + QUAD $0x040f12542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r10 + 15], 4 + QUAD $0x050f3a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r15 + 15], 5 + QUAD $0x060f22542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r12 + 15], 6 + QUAD $0x000000d024bc8b4c // mov r15, qword [rsp + 208] + QUAD $0x070f3a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r15 + 15], 7 + QUAD $0x000000e024b48b48 // mov rsi, qword [rsp + 224] + QUAD $0x080f32542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 15], 8 + QUAD $0x090f2a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r13 + 15], 9 + LONG $0x24648b4c; BYTE $0x58 // mov r12, qword [rsp + 88] + QUAD $0x0a0f22542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r12 + 15], 10 + QUAD $0x000000d824848b48 // mov rax, qword [rsp + 216] + QUAD $0x0b0f02542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 15], 11 + LONG $0x24748b48; BYTE $0x50 // mov rsi, qword [rsp + 80] + QUAD $0x0c0f32542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 15], 12 + LONG $0x24448b48; BYTE $0x48 // mov rax, qword [rsp + 72] QUAD $0x0d0f02542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 15], 13 - LONG $0x244c8b48; BYTE $0x30 // mov rcx, qword [rsp + 48] - QUAD $0x0e0f0a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 15], 14 - LONG $0x24448b48; BYTE $0x50 // mov rax, qword [rsp + 80] - QUAD $0x0f0f02542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 15], 15 - QUAD $0x0000010824848b48 // mov rax, qword [rsp + 264] + LONG $0x24748b48; BYTE $0x40 // mov rsi, qword [rsp + 64] + QUAD $0x0e0f32542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 15], 14 + LONG $0x24748b48; BYTE $0x60 // mov rsi, qword [rsp + 96] + QUAD $0x0f0f32542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 15], 15 + QUAD $0x0000010024848b48 // mov rax, qword [rsp + 256] LONG $0x0274b60f; BYTE $0x0f // movzx esi, byte [rdx + rax + 15] LONG $0xde6ef9c5 // vmovd xmm3, esi - QUAD $0x010f1a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 15], 1 - LONG $0x24448b48; BYTE $0x40 // mov rax, qword [rsp + 64] - QUAD $0x020f025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 15], 2 + QUAD $0x000000c024b48b48 // mov rsi, qword [rsp + 192] + QUAD $0x010f325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 15], 1 + QUAD $0x020f1a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r11 + 15], 2 + LONG $0x24748b48; BYTE $0x38 // mov rsi, qword [rsp + 56] + QUAD $0x030f325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 15], 3 + QUAD $0x000000a824b48b48 // mov rsi, qword [rsp + 168] + QUAD $0x040f325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 15], 4 + QUAD $0x050f0a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r9 + 15], 5 + QUAD $0x0000009824b48b48 // mov rsi, qword [rsp + 152] + QUAD $0x060f325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 15], 6 + QUAD $0x000000f824b48b48 // mov rsi, qword [rsp + 248] + QUAD $0x070f325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 15], 7 + QUAD $0x080f1a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 15], 8 QUAD $0x000000b024848b48 // mov rax, qword [rsp + 176] - QUAD $0x030f025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 15], 3 - LONG $0x24448b48; BYTE $0x68 // mov rax, qword [rsp + 104] - QUAD $0x040f025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 15], 4 - LONG $0x247c8b4c; BYTE $0x60 // mov r15, qword [rsp + 96] - QUAD $0x050f3a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r15 + 15], 5 - QUAD $0x000000a024848b48 // mov rax, qword [rsp + 160] - QUAD $0x060f025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 15], 6 - QUAD $0x070f125c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r10 + 15], 7 - QUAD $0x0000008824948b4c // mov r10, qword [rsp + 136] - QUAD $0x080f125c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r10 + 15], 8 - QUAD $0x090f225c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r12 + 15], 9 - QUAD $0x0a0f325c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r14 + 15], 10 - QUAD $0x000000d824b48b4c // mov r14, qword [rsp + 216] - QUAD $0x0b0f325c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r14 + 15], 11 - QUAD $0x0000012024848b48 // mov rax, qword [rsp + 288] + QUAD $0x090f025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 15], 9 + LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] + QUAD $0x0a0f025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 15], 10 + QUAD $0x0b0f0a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 15], 11 + LONG $0x24448b48; BYTE $0x30 // mov rax, qword [rsp + 48] QUAD $0x0c0f025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 15], 12 - QUAD $0x0d0f1a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r11 + 15], 13 - LONG $0x245c8b4c; BYTE $0x48 // mov r11, qword [rsp + 72] - QUAD $0x0e0f1a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r11 + 15], 14 - LONG $0x24648b4c; BYTE $0x38 // mov r12, qword [rsp + 56] - QUAD $0x0f0f225c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r12 + 15], 15 + QUAD $0x0d0f025c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r8 + 15], 13 + QUAD $0x0000012024848b48 // mov rax, qword [rsp + 288] + QUAD $0x0e0f025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 15], 14 + QUAD $0x0f0f3a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 15], 15 LONG $0x387de3c4; WORD $0x01c1 // vinserti128 ymm0, ymm0, xmm1, 1 QUAD $0x00038024847ffdc5; BYTE $0x00 // vmovdqa yword [rsp + 896], ymm0 LONG $0x3865e3c4; WORD $0x01c2 // vinserti128 ymm0, ymm3, xmm2, 1 QUAD $0x0003a024847ffdc5; BYTE $0x00 // vmovdqa yword [rsp + 928], ymm0 - QUAD $0x0000010024b48b48 // mov rsi, qword [rsp + 256] - LONG $0x3274b60f; BYTE $0x10 // movzx esi, byte [rdx + rsi + 16] + LONG $0x74b60f42; WORD $0x1032 // movzx esi, byte [rdx + r14 + 16] LONG $0xc66ef9c5 // vmovd xmm0, esi - QUAD $0x000000e8248c8b4c // mov r9, qword [rsp + 232] - QUAD $0x01100a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r9 + 16], 1 - QUAD $0x000000a824b48b48 // mov rsi, qword [rsp + 168] - QUAD $0x021032442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 16], 2 - LONG $0x24748b48; BYTE $0x70 // mov rsi, qword [rsp + 112] - QUAD $0x031032442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 16], 3 - QUAD $0x000000f024b48b48 // mov rsi, qword [rsp + 240] - QUAD $0x041032442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 16], 4 - QUAD $0x000000f824b48b48 // mov rsi, qword [rsp + 248] - QUAD $0x051032442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 16], 5 - LONG $0x24748b48; BYTE $0x28 // mov rsi, qword [rsp + 40] - QUAD $0x061032442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 16], 6 - QUAD $0x07102a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r13 + 16], 7 - QUAD $0x081002442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r8 + 16], 8 - QUAD $0x000000b824b48b48 // mov rsi, qword [rsp + 184] - QUAD $0x091032442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 16], 9 - QUAD $0x0a103a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rdi + 16], 10 - LONG $0x24748b48; BYTE $0x58 // mov rsi, qword [rsp + 88] - QUAD $0x0b1032442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 16], 11 - QUAD $0x0000008024b48b48 // mov rsi, qword [rsp + 128] - QUAD $0x0c1032442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 16], 12 - QUAD $0x000000d024b48b48 // mov rsi, qword [rsp + 208] + LONG $0x244c8b48; BYTE $0x68 // mov rcx, qword [rsp + 104] + QUAD $0x01100a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 16], 1 + QUAD $0x0000010824848b48 // mov rax, qword [rsp + 264] + QUAD $0x021002442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 16], 2 + QUAD $0x000000c824848b48 // mov rax, qword [rsp + 200] + QUAD $0x031002442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 16], 3 + QUAD $0x041012442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r10 + 16], 4 + QUAD $0x000000b824848b48 // mov rax, qword [rsp + 184] + QUAD $0x051002442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 16], 5 + QUAD $0x0000009024848b48 // mov rax, qword [rsp + 144] + QUAD $0x061002442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 16], 6 + QUAD $0x07103a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r15 + 16], 7 + QUAD $0x000000e0249c8b4c // mov r11, qword [rsp + 224] + QUAD $0x08101a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r11 + 16], 8 + QUAD $0x09102a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r13 + 16], 9 + QUAD $0x0a1022442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r12 + 16], 10 + QUAD $0x000000d824848b48 // mov rax, qword [rsp + 216] + QUAD $0x0b1002442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 16], 11 + LONG $0x24448b48; BYTE $0x50 // mov rax, qword [rsp + 80] + QUAD $0x0c1002442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 16], 12 + LONG $0x24748b48; BYTE $0x48 // mov rsi, qword [rsp + 72] QUAD $0x0d1032442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 16], 13 - QUAD $0x0e100a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 16], 14 - LONG $0x244c8b48; BYTE $0x50 // mov rcx, qword [rsp + 80] - QUAD $0x0f100a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 16], 15 - QUAD $0x00000108249c8b48 // mov rbx, qword [rsp + 264] + LONG $0x24748b4c; BYTE $0x40 // mov r14, qword [rsp + 64] + QUAD $0x0e1032442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r14 + 16], 14 + LONG $0x24448b4c; BYTE $0x60 // mov r8, qword [rsp + 96] + QUAD $0x0f1002442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r8 + 16], 15 + QUAD $0x00000100249c8b48 // mov rbx, qword [rsp + 256] LONG $0x1a74b60f; BYTE $0x10 // movzx esi, byte [rdx + rbx + 16] LONG $0xce6ef9c5 // vmovd xmm1, esi - LONG $0x24448b4c; BYTE $0x78 // mov r8, qword [rsp + 120] - QUAD $0x0110024c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r8 + 16], 1 - LONG $0x24748b48; BYTE $0x40 // mov rsi, qword [rsp + 64] + QUAD $0x000000c024948b4c // mov r10, qword [rsp + 192] + QUAD $0x0110124c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r10 + 16], 1 + LONG $0x24748b48; BYTE $0x78 // mov rsi, qword [rsp + 120] QUAD $0x0210324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 16], 2 - QUAD $0x000000b024b48b48 // mov rsi, qword [rsp + 176] - QUAD $0x0310324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 16], 3 - LONG $0x24748b48; BYTE $0x68 // mov rsi, qword [rsp + 104] + LONG $0x247c8b48; BYTE $0x38 // mov rdi, qword [rsp + 56] + QUAD $0x03103a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 16], 3 + QUAD $0x000000a824b48b48 // mov rsi, qword [rsp + 168] QUAD $0x0410324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 16], 4 + QUAD $0x0000008824bc8b4c // mov r15, qword [rsp + 136] QUAD $0x05103a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r15 + 16], 5 - QUAD $0x000000a024b48b48 // mov rsi, qword [rsp + 160] + QUAD $0x0000009824b48b48 // mov rsi, qword [rsp + 152] QUAD $0x0610324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 16], 6 - QUAD $0x0000009024b48b48 // mov rsi, qword [rsp + 144] - QUAD $0x0710324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 16], 7 - QUAD $0x0810124c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r10 + 16], 8 - QUAD $0x0000009824bc8b48 // mov rdi, qword [rsp + 152] - QUAD $0x09103a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 16], 9 - QUAD $0x0000014024b48b48 // mov rsi, qword [rsp + 320] + QUAD $0x000000f8248c8b4c // mov r9, qword [rsp + 248] + QUAD $0x07100a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r9 + 16], 7 + QUAD $0x000000a024ac8b4c // mov r13, qword [rsp + 160] + QUAD $0x08102a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r13 + 16], 8 + QUAD $0x000000b024b48b48 // mov rsi, qword [rsp + 176] + QUAD $0x0910324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 16], 9 + LONG $0x24748b48; BYTE $0x28 // mov rsi, qword [rsp + 40] QUAD $0x0a10324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 16], 10 - QUAD $0x0b10324c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r14 + 16], 11 - QUAD $0x0c10024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 16], 12 - LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] - QUAD $0x0d10024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 16], 13 - QUAD $0x0e101a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r11 + 16], 14 - QUAD $0x0f10224c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r12 + 16], 15 - QUAD $0x0000010024848b48 // mov rax, qword [rsp + 256] - LONG $0x0274b60f; BYTE $0x11 // movzx esi, byte [rdx + rax + 17] - LONG $0xd66ef9c5 // vmovd xmm2, esi - QUAD $0x01110a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r9 + 17], 1 - QUAD $0x000000a8249c8b4c // mov r11, qword [rsp + 168] - QUAD $0x02111a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r11 + 17], 2 - LONG $0x24548b4c; BYTE $0x70 // mov r10, qword [rsp + 112] - QUAD $0x031112542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r10 + 17], 3 - QUAD $0x000000f024848b48 // mov rax, qword [rsp + 240] - QUAD $0x041102542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 17], 4 - QUAD $0x000000f824ac8b4c // mov r13, qword [rsp + 248] - QUAD $0x05112a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r13 + 17], 5 - LONG $0x244c8b4c; BYTE $0x28 // mov r9, qword [rsp + 40] - QUAD $0x06110a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r9 + 17], 6 - QUAD $0x000000c824848b48 // mov rax, qword [rsp + 200] - QUAD $0x071102542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 17], 7 - QUAD $0x000000c024b48b4c // mov r14, qword [rsp + 192] - QUAD $0x081132542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r14 + 17], 8 - QUAD $0x000000b824bc8b4c // mov r15, qword [rsp + 184] - QUAD $0x09113a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r15 + 17], 9 - QUAD $0x000000e024848b48 // mov rax, qword [rsp + 224] - QUAD $0x0a1102542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 17], 10 - LONG $0x24448b48; BYTE $0x58 // mov rax, qword [rsp + 88] - QUAD $0x0b1102542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 17], 11 QUAD $0x0000008024a48b4c // mov r12, qword [rsp + 128] - QUAD $0x0c1122542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r12 + 17], 12 - QUAD $0x000000d024b48b48 // mov rsi, qword [rsp + 208] - QUAD $0x0d1132542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 17], 13 + QUAD $0x0b10224c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r12 + 16], 11 LONG $0x24748b48; BYTE $0x30 // mov rsi, qword [rsp + 48] - QUAD $0x0e1132542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 17], 14 - QUAD $0x0f110a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 17], 15 + QUAD $0x0c10324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 16], 12 + LONG $0x24748b48; BYTE $0x20 // mov rsi, qword [rsp + 32] + QUAD $0x0d10324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 16], 13 + QUAD $0x0000012024b48b48 // mov rsi, qword [rsp + 288] + QUAD $0x0e10324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 16], 14 + QUAD $0x0000014024b48b48 // mov rsi, qword [rsp + 320] + QUAD $0x0f10324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 16], 15 + QUAD $0x000000f024b48b48 // mov rsi, qword [rsp + 240] + LONG $0x3274b60f; BYTE $0x11 // movzx esi, byte [rdx + rsi + 17] + LONG $0xd66ef9c5 // vmovd xmm2, esi + QUAD $0x01110a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 17], 1 + QUAD $0x00000108248c8b48 // mov rcx, qword [rsp + 264] + QUAD $0x02110a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 17], 2 + QUAD $0x000000c8248c8b48 // mov rcx, qword [rsp + 200] + QUAD $0x03110a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 17], 3 + LONG $0x244c8b48; BYTE $0x70 // mov rcx, qword [rsp + 112] + QUAD $0x04110a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 17], 4 + QUAD $0x000000b8248c8b48 // mov rcx, qword [rsp + 184] + QUAD $0x05110a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 17], 5 + QUAD $0x00000090248c8b48 // mov rcx, qword [rsp + 144] + QUAD $0x06110a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 17], 6 + QUAD $0x000000d0248c8b48 // mov rcx, qword [rsp + 208] + QUAD $0x07110a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 17], 7 + QUAD $0x08111a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r11 + 17], 8 + QUAD $0x000000e8248c8b48 // mov rcx, qword [rsp + 232] + QUAD $0x09110a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 17], 9 + LONG $0x244c8b48; BYTE $0x58 // mov rcx, qword [rsp + 88] + QUAD $0x0a110a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 17], 10 + QUAD $0x000000d8248c8b48 // mov rcx, qword [rsp + 216] + QUAD $0x0b110a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 17], 11 + QUAD $0x0c1102542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 17], 12 + LONG $0x24448b48; BYTE $0x48 // mov rax, qword [rsp + 72] + QUAD $0x0d1102542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 17], 13 + QUAD $0x0e1132542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r14 + 17], 14 + QUAD $0x0f1102542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r8 + 17], 15 LONG $0x1a74b60f; BYTE $0x11 // movzx esi, byte [rdx + rbx + 17] LONG $0xde6ef9c5 // vmovd xmm3, esi - QUAD $0x0111025c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r8 + 17], 1 - LONG $0x244c8b48; BYTE $0x40 // mov rcx, qword [rsp + 64] - QUAD $0x02110a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 17], 2 + QUAD $0x0111125c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r10 + 17], 1 + LONG $0x24448b48; BYTE $0x78 // mov rax, qword [rsp + 120] + QUAD $0x0211025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 17], 2 + QUAD $0x03113a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 17], 3 + QUAD $0x000000a824bc8b48 // mov rdi, qword [rsp + 168] + QUAD $0x04113a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 17], 4 + QUAD $0x05113a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r15 + 17], 5 + QUAD $0x0000009824bc8b4c // mov r15, qword [rsp + 152] + QUAD $0x06113a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r15 + 17], 6 + QUAD $0x07110a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r9 + 17], 7 + QUAD $0x08112a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r13 + 17], 8 QUAD $0x000000b024848b4c // mov r8, qword [rsp + 176] - QUAD $0x0311025c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r8 + 17], 3 - LONG $0x24748b48; BYTE $0x68 // mov rsi, qword [rsp + 104] - QUAD $0x0411325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 17], 4 - LONG $0x24748b48; BYTE $0x60 // mov rsi, qword [rsp + 96] - QUAD $0x0511325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 17], 5 - QUAD $0x000000a024b48b48 // mov rsi, qword [rsp + 160] - QUAD $0x0611325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 17], 6 - QUAD $0x0000009024b48b48 // mov rsi, qword [rsp + 144] - QUAD $0x0711325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 17], 7 - QUAD $0x0000008824b48b48 // mov rsi, qword [rsp + 136] - QUAD $0x0811325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 17], 8 - QUAD $0x09113a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 17], 9 - QUAD $0x0000014024bc8b48 // mov rdi, qword [rsp + 320] - QUAD $0x0a113a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 17], 10 - QUAD $0x000000d824b48b48 // mov rsi, qword [rsp + 216] - QUAD $0x0b11325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 17], 11 - QUAD $0x0000012024b48b48 // mov rsi, qword [rsp + 288] - QUAD $0x0c11325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 17], 12 - LONG $0x24748b48; BYTE $0x20 // mov rsi, qword [rsp + 32] - QUAD $0x0d11325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 17], 13 - LONG $0x24748b48; BYTE $0x48 // mov rsi, qword [rsp + 72] - QUAD $0x0e11325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 17], 14 + QUAD $0x0911025c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r8 + 17], 9 + LONG $0x244c8b48; BYTE $0x28 // mov rcx, qword [rsp + 40] + QUAD $0x0a110a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 17], 10 + QUAD $0x0b11225c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r12 + 17], 11 + LONG $0x244c8b4c; BYTE $0x30 // mov r9, qword [rsp + 48] + QUAD $0x0c110a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r9 + 17], 12 + LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] + QUAD $0x0d11025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 17], 13 + QUAD $0x0000012024848b48 // mov rax, qword [rsp + 288] + QUAD $0x0e11025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 17], 14 LONG $0x3875e3c4; WORD $0x01c0 // vinserti128 ymm0, ymm1, xmm0, 1 QUAD $0x00036024847ffdc5; BYTE $0x00 // vmovdqa yword [rsp + 864], ymm0 - LONG $0x24748b48; BYTE $0x38 // mov rsi, qword [rsp + 56] - QUAD $0x0f1132442061e3c4 // vpinsrb xmm0, xmm3, byte [rdx + rsi + 17], 15 + QUAD $0x0000014024848b48 // mov rax, qword [rsp + 320] + QUAD $0x0f1102442061e3c4 // vpinsrb xmm0, xmm3, byte [rdx + rax + 17], 15 LONG $0x387de3c4; WORD $0x01c2 // vinserti128 ymm0, ymm0, xmm2, 1 QUAD $0x00034024847ffdc5; BYTE $0x00 // vmovdqa yword [rsp + 832], ymm0 - QUAD $0x0000010024b48b48 // mov rsi, qword [rsp + 256] - LONG $0x3274b60f; BYTE $0x12 // movzx esi, byte [rdx + rsi + 18] - LONG $0xc66ef9c5 // vmovd xmm0, esi - QUAD $0x000000e824b48b48 // mov rsi, qword [rsp + 232] - QUAD $0x011232442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 18], 1 - QUAD $0x02121a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r11 + 18], 2 - QUAD $0x031212442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r10 + 18], 3 - QUAD $0x000000f024b48b48 // mov rsi, qword [rsp + 240] - QUAD $0x041232442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 18], 4 - QUAD $0x05122a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r13 + 18], 5 - QUAD $0x06120a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r9 + 18], 6 - QUAD $0x000000c824b48b48 // mov rsi, qword [rsp + 200] - QUAD $0x071232442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 18], 7 - QUAD $0x081232442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r14 + 18], 8 - QUAD $0x09123a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r15 + 18], 9 - QUAD $0x000000e024ac8b4c // mov r13, qword [rsp + 224] - QUAD $0x0a122a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r13 + 18], 10 - QUAD $0x0b1202442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 18], 11 - QUAD $0x0c1222442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r12 + 18], 12 - QUAD $0x000000d0248c8b4c // mov r9, qword [rsp + 208] - QUAD $0x0d120a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r9 + 18], 13 - LONG $0x24448b48; BYTE $0x30 // mov rax, qword [rsp + 48] - QUAD $0x0e1202442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 18], 14 - LONG $0x24448b48; BYTE $0x50 // mov rax, qword [rsp + 80] - QUAD $0x0f1202442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 18], 15 + QUAD $0x000000f0249c8b48 // mov rbx, qword [rsp + 240] LONG $0x1a74b60f; BYTE $0x12 // movzx esi, byte [rdx + rbx + 18] - LONG $0xce6ef9c5 // vmovd xmm1, esi - LONG $0x24748b4c; BYTE $0x78 // mov r14, qword [rsp + 120] - QUAD $0x0112324c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r14 + 18], 1 - QUAD $0x02120a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 18], 2 - QUAD $0x0312024c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r8 + 18], 3 + LONG $0xc66ef9c5 // vmovd xmm0, esi LONG $0x24448b48; BYTE $0x68 // mov rax, qword [rsp + 104] - QUAD $0x0412024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 18], 4 - LONG $0x24448b48; BYTE $0x60 // mov rax, qword [rsp + 96] - QUAD $0x0512024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 18], 5 - QUAD $0x000000a024848b48 // mov rax, qword [rsp + 160] - QUAD $0x0612024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 18], 6 - QUAD $0x00000090249c8b4c // mov r11, qword [rsp + 144] - QUAD $0x07121a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r11 + 18], 7 - QUAD $0x00000088248c8b48 // mov rcx, qword [rsp + 136] - QUAD $0x08120a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 18], 8 - QUAD $0x0000009824848b48 // mov rax, qword [rsp + 152] - QUAD $0x0912024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 18], 9 - QUAD $0x0a123a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 18], 10 - QUAD $0x000000d824b48b48 // mov rsi, qword [rsp + 216] - QUAD $0x0b12324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 18], 11 - QUAD $0x0000012024b48b48 // mov rsi, qword [rsp + 288] - QUAD $0x0c12324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 18], 12 - LONG $0x24648b4c; BYTE $0x20 // mov r12, qword [rsp + 32] - QUAD $0x0d12224c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r12 + 18], 13 - LONG $0x24748b48; BYTE $0x48 // mov rsi, qword [rsp + 72] - QUAD $0x0e12324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 18], 14 - LONG $0x24548b4c; BYTE $0x38 // mov r10, qword [rsp + 56] - QUAD $0x0f12124c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r10 + 18], 15 - QUAD $0x0000010024bc8b4c // mov r15, qword [rsp + 256] - LONG $0x74b60f42; WORD $0x133a // movzx esi, byte [rdx + r15 + 19] - LONG $0xd66ef9c5 // vmovd xmm2, esi - QUAD $0x000000e824b48b48 // mov rsi, qword [rsp + 232] - QUAD $0x011332542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 19], 1 - QUAD $0x000000a824b48b48 // mov rsi, qword [rsp + 168] - QUAD $0x021332542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 19], 2 - LONG $0x24748b48; BYTE $0x70 // mov rsi, qword [rsp + 112] - QUAD $0x031332542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 19], 3 - QUAD $0x000000f024b48b48 // mov rsi, qword [rsp + 240] - QUAD $0x041332542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 19], 4 - QUAD $0x000000f824b48b48 // mov rsi, qword [rsp + 248] - QUAD $0x051332542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 19], 5 - LONG $0x24748b48; BYTE $0x28 // mov rsi, qword [rsp + 40] - QUAD $0x061332542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 19], 6 - QUAD $0x000000c824b48b48 // mov rsi, qword [rsp + 200] - QUAD $0x071332542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 19], 7 + QUAD $0x011202442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 18], 1 + QUAD $0x0000010824b48b4c // mov r14, qword [rsp + 264] + QUAD $0x021232442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r14 + 18], 2 + QUAD $0x000000c824948b4c // mov r10, qword [rsp + 200] + QUAD $0x031212442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r10 + 18], 3 + LONG $0x24448b48; BYTE $0x70 // mov rax, qword [rsp + 112] + QUAD $0x041202442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 18], 4 + QUAD $0x000000b8249c8b4c // mov r11, qword [rsp + 184] + QUAD $0x05121a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r11 + 18], 5 + QUAD $0x0000009024848b48 // mov rax, qword [rsp + 144] + QUAD $0x061202442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 18], 6 + QUAD $0x000000d024848b48 // mov rax, qword [rsp + 208] + QUAD $0x071202442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 18], 7 + QUAD $0x000000e024848b48 // mov rax, qword [rsp + 224] + QUAD $0x081202442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 18], 8 + QUAD $0x000000e824848b48 // mov rax, qword [rsp + 232] + QUAD $0x091202442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 18], 9 + LONG $0x24448b48; BYTE $0x58 // mov rax, qword [rsp + 88] + QUAD $0x0a1202442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 18], 10 + QUAD $0x000000d824848b48 // mov rax, qword [rsp + 216] + QUAD $0x0b1202442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 18], 11 + LONG $0x24748b48; BYTE $0x50 // mov rsi, qword [rsp + 80] + QUAD $0x0c1232442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 18], 12 + LONG $0x24748b48; BYTE $0x48 // mov rsi, qword [rsp + 72] + QUAD $0x0d1232442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 18], 13 + LONG $0x24648b4c; BYTE $0x40 // mov r12, qword [rsp + 64] + QUAD $0x0e1222442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r12 + 18], 14 + LONG $0x246c8b4c; BYTE $0x60 // mov r13, qword [rsp + 96] + QUAD $0x0f122a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r13 + 18], 15 + QUAD $0x0000010024b48b48 // mov rsi, qword [rsp + 256] + LONG $0x3274b60f; BYTE $0x12 // movzx esi, byte [rdx + rsi + 18] + LONG $0xce6ef9c5 // vmovd xmm1, esi QUAD $0x000000c024b48b48 // mov rsi, qword [rsp + 192] - QUAD $0x081332542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 19], 8 - QUAD $0x000000b824b48b48 // mov rsi, qword [rsp + 184] - QUAD $0x091332542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 19], 9 - QUAD $0x0a132a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r13 + 19], 10 - LONG $0x24748b48; BYTE $0x58 // mov rsi, qword [rsp + 88] - QUAD $0x0b1332542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 19], 11 - QUAD $0x0000008024b48b48 // mov rsi, qword [rsp + 128] - QUAD $0x0c1332542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 19], 12 - QUAD $0x0d130a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r9 + 19], 13 - LONG $0x247c8b48; BYTE $0x30 // mov rdi, qword [rsp + 48] - QUAD $0x0e133a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 19], 14 - LONG $0x24448b4c; BYTE $0x50 // mov r8, qword [rsp + 80] - QUAD $0x0f1302542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r8 + 19], 15 + QUAD $0x0112324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 18], 1 + LONG $0x24748b48; BYTE $0x78 // mov rsi, qword [rsp + 120] + QUAD $0x0212324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 18], 2 + LONG $0x24748b48; BYTE $0x38 // mov rsi, qword [rsp + 56] + QUAD $0x0312324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 18], 3 + QUAD $0x04123a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 18], 4 + QUAD $0x0000008824b48b48 // mov rsi, qword [rsp + 136] + QUAD $0x0512324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 18], 5 + QUAD $0x06123a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r15 + 18], 6 + QUAD $0x000000f824bc8b4c // mov r15, qword [rsp + 248] + QUAD $0x07123a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r15 + 18], 7 + QUAD $0x000000a024b48b48 // mov rsi, qword [rsp + 160] + QUAD $0x0812324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 18], 8 + QUAD $0x0912024c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r8 + 18], 9 + QUAD $0x0a120a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 18], 10 + QUAD $0x00000080248c8b48 // mov rcx, qword [rsp + 128] + QUAD $0x0b120a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 18], 11 + QUAD $0x0c120a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r9 + 18], 12 + LONG $0x244c8b48; BYTE $0x20 // mov rcx, qword [rsp + 32] + QUAD $0x0d120a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 18], 13 + QUAD $0x00000120248c8b48 // mov rcx, qword [rsp + 288] + QUAD $0x0e120a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 18], 14 + QUAD $0x00000140248c8b48 // mov rcx, qword [rsp + 320] + QUAD $0x0f120a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 18], 15 LONG $0x1a74b60f; BYTE $0x13 // movzx esi, byte [rdx + rbx + 19] + LONG $0xd66ef9c5 // vmovd xmm2, esi + LONG $0x244c8b48; BYTE $0x68 // mov rcx, qword [rsp + 104] + QUAD $0x01130a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 19], 1 + QUAD $0x021332542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r14 + 19], 2 + QUAD $0x031312542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r10 + 19], 3 + LONG $0x244c8b4c; BYTE $0x70 // mov r9, qword [rsp + 112] + QUAD $0x04130a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r9 + 19], 4 + QUAD $0x05131a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r11 + 19], 5 + QUAD $0x00000090248c8b48 // mov rcx, qword [rsp + 144] + QUAD $0x06130a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 19], 6 + QUAD $0x000000d024848b4c // mov r8, qword [rsp + 208] + QUAD $0x071302542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r8 + 19], 7 + QUAD $0x000000e024b48b4c // mov r14, qword [rsp + 224] + QUAD $0x081332542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r14 + 19], 8 + QUAD $0x000000e824948b4c // mov r10, qword [rsp + 232] + QUAD $0x091312542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r10 + 19], 9 + LONG $0x24748b48; BYTE $0x58 // mov rsi, qword [rsp + 88] + QUAD $0x0a1332542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 19], 10 + QUAD $0x0b1302542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 19], 11 + LONG $0x24448b48; BYTE $0x50 // mov rax, qword [rsp + 80] + QUAD $0x0c1302542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 19], 12 + LONG $0x245c8b48; BYTE $0x48 // mov rbx, qword [rsp + 72] + QUAD $0x0d131a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rbx + 19], 13 + QUAD $0x0e1322542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r12 + 19], 14 + QUAD $0x0f132a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r13 + 19], 15 + QUAD $0x0000010024848b48 // mov rax, qword [rsp + 256] + LONG $0x0274b60f; BYTE $0x13 // movzx esi, byte [rdx + rax + 19] LONG $0xde6ef9c5 // vmovd xmm3, esi - QUAD $0x0113325c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r14 + 19], 1 - LONG $0x24748b48; BYTE $0x40 // mov rsi, qword [rsp + 64] - QUAD $0x0213325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 19], 2 - QUAD $0x000000b0249c8b48 // mov rbx, qword [rsp + 176] - QUAD $0x03131a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 19], 3 - LONG $0x24748b48; BYTE $0x68 // mov rsi, qword [rsp + 104] - QUAD $0x0413325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 19], 4 - LONG $0x24748b48; BYTE $0x60 // mov rsi, qword [rsp + 96] - QUAD $0x0513325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 19], 5 - QUAD $0x000000a024ac8b4c // mov r13, qword [rsp + 160] - QUAD $0x06132a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r13 + 19], 6 - QUAD $0x07131a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r11 + 19], 7 - QUAD $0x08130a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 19], 8 + QUAD $0x000000c0249c8b4c // mov r11, qword [rsp + 192] + QUAD $0x01131a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r11 + 19], 1 + LONG $0x24448b48; BYTE $0x78 // mov rax, qword [rsp + 120] + QUAD $0x0213025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 19], 2 + LONG $0x24448b48; BYTE $0x38 // mov rax, qword [rsp + 56] + QUAD $0x0313025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 19], 3 + QUAD $0x04133a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 19], 4 + QUAD $0x0000008824848b48 // mov rax, qword [rsp + 136] + QUAD $0x0513025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 19], 5 + QUAD $0x0000009824bc8b48 // mov rdi, qword [rsp + 152] + QUAD $0x06133a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 19], 6 + QUAD $0x07133a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r15 + 19], 7 + QUAD $0x000000a024848b48 // mov rax, qword [rsp + 160] + QUAD $0x0813025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 19], 8 + QUAD $0x000000b024848b48 // mov rax, qword [rsp + 176] QUAD $0x0913025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 19], 9 - QUAD $0x0000014024848b48 // mov rax, qword [rsp + 320] + LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] QUAD $0x0a13025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 19], 10 - QUAD $0x000000d824848b48 // mov rax, qword [rsp + 216] + QUAD $0x0000008024848b48 // mov rax, qword [rsp + 128] QUAD $0x0b13025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 19], 11 - QUAD $0x00000120248c8b4c // mov r9, qword [rsp + 288] - QUAD $0x0c130a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r9 + 19], 12 - QUAD $0x0d13225c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r12 + 19], 13 - LONG $0x24748b4c; BYTE $0x48 // mov r14, qword [rsp + 72] - QUAD $0x0e13325c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r14 + 19], 14 - QUAD $0x0f13125c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r10 + 19], 15 + LONG $0x24448b48; BYTE $0x30 // mov rax, qword [rsp + 48] + QUAD $0x0c13025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 19], 12 + LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] + QUAD $0x0d13025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 19], 13 + QUAD $0x0000012024848b48 // mov rax, qword [rsp + 288] + QUAD $0x0e13025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 19], 14 + QUAD $0x0000014024848b48 // mov rax, qword [rsp + 320] + QUAD $0x0f13025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 19], 15 LONG $0x3875e3c4; WORD $0x01c0 // vinserti128 ymm0, ymm1, xmm0, 1 QUAD $0x00030024847ffdc5; BYTE $0x00 // vmovdqa yword [rsp + 768], ymm0 LONG $0x3865e3c4; WORD $0x01c2 // vinserti128 ymm0, ymm3, xmm2, 1 QUAD $0x00032024847ffdc5; BYTE $0x00 // vmovdqa yword [rsp + 800], ymm0 - LONG $0x74b60f42; WORD $0x143a // movzx esi, byte [rdx + r15 + 20] + QUAD $0x000000f024848b48 // mov rax, qword [rsp + 240] + LONG $0x0274b60f; BYTE $0x14 // movzx esi, byte [rdx + rax + 20] LONG $0xc66ef9c5 // vmovd xmm0, esi - QUAD $0x000000e8249c8b4c // mov r11, qword [rsp + 232] - QUAD $0x01141a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r11 + 20], 1 - QUAD $0x000000a824a48b4c // mov r12, qword [rsp + 168] - QUAD $0x021422442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r12 + 20], 2 - LONG $0x24448b48; BYTE $0x70 // mov rax, qword [rsp + 112] - QUAD $0x031402442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 20], 3 - QUAD $0x000000f0248c8b48 // mov rcx, qword [rsp + 240] - QUAD $0x04140a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 20], 4 - QUAD $0x000000f824948b4c // mov r10, qword [rsp + 248] - QUAD $0x051412442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r10 + 20], 5 - LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] - QUAD $0x061402442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 20], 6 + LONG $0x24648b4c; BYTE $0x68 // mov r12, qword [rsp + 104] + QUAD $0x011422442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r12 + 20], 1 + QUAD $0x0000010824848b48 // mov rax, qword [rsp + 264] + QUAD $0x021402442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 20], 2 QUAD $0x000000c824848b48 // mov rax, qword [rsp + 200] - QUAD $0x071402442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 20], 7 - QUAD $0x000000c024848b48 // mov rax, qword [rsp + 192] - QUAD $0x081402442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 20], 8 + QUAD $0x031402442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 20], 3 + QUAD $0x04140a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r9 + 20], 4 QUAD $0x000000b824848b48 // mov rax, qword [rsp + 184] - QUAD $0x091402442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 20], 9 - QUAD $0x000000e024848b48 // mov rax, qword [rsp + 224] - QUAD $0x0a1402442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 20], 10 + QUAD $0x051402442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 20], 5 + QUAD $0x06140a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 20], 6 + QUAD $0x071402442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r8 + 20], 7 + QUAD $0x081432442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r14 + 20], 8 + QUAD $0x091412442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r10 + 20], 9 LONG $0x24448b48; BYTE $0x58 // mov rax, qword [rsp + 88] - QUAD $0x0b1402442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 20], 11 - QUAD $0x0000008024848b48 // mov rax, qword [rsp + 128] - QUAD $0x0c1402442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 20], 12 - QUAD $0x000000d024848b48 // mov rax, qword [rsp + 208] - QUAD $0x0d1402442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 20], 13 - QUAD $0x0e143a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rdi + 20], 14 - QUAD $0x0f1402442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r8 + 20], 15 - QUAD $0x0000010824848b48 // mov rax, qword [rsp + 264] - LONG $0x0274b60f; BYTE $0x14 // movzx esi, byte [rdx + rax + 20] + QUAD $0x0a1402442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 20], 10 + QUAD $0x000000d8248c8b48 // mov rcx, qword [rsp + 216] + QUAD $0x0b140a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 20], 11 + LONG $0x246c8b4c; BYTE $0x50 // mov r13, qword [rsp + 80] + QUAD $0x0c142a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r13 + 20], 12 + QUAD $0x0d141a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rbx + 20], 13 + LONG $0x245c8b48; BYTE $0x40 // mov rbx, qword [rsp + 64] + QUAD $0x0e141a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rbx + 20], 14 + LONG $0x244c8b48; BYTE $0x60 // mov rcx, qword [rsp + 96] + QUAD $0x0f140a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 20], 15 + QUAD $0x00000100248c8b4c // mov r9, qword [rsp + 256] + LONG $0x74b60f42; WORD $0x140a // movzx esi, byte [rdx + r9 + 20] LONG $0xce6ef9c5 // vmovd xmm1, esi - LONG $0x24448b48; BYTE $0x78 // mov rax, qword [rsp + 120] - QUAD $0x0114024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 20], 1 - LONG $0x24448b48; BYTE $0x40 // mov rax, qword [rsp + 64] - QUAD $0x0214024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 20], 2 - QUAD $0x03141a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rbx + 20], 3 - LONG $0x24448b48; BYTE $0x68 // mov rax, qword [rsp + 104] - QUAD $0x0414024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 20], 4 - LONG $0x247c8b4c; BYTE $0x60 // mov r15, qword [rsp + 96] - QUAD $0x05143a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r15 + 20], 5 - QUAD $0x06142a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r13 + 20], 6 - QUAD $0x0000009024b48b48 // mov rsi, qword [rsp + 144] + QUAD $0x01141a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r11 + 20], 1 + LONG $0x24448b4c; BYTE $0x78 // mov r8, qword [rsp + 120] + QUAD $0x0214024c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r8 + 20], 2 + LONG $0x247c8b4c; BYTE $0x38 // mov r15, qword [rsp + 56] + QUAD $0x03143a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r15 + 20], 3 + QUAD $0x000000a8248c8b48 // mov rcx, qword [rsp + 168] + QUAD $0x04140a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 20], 4 + QUAD $0x00000088248c8b48 // mov rcx, qword [rsp + 136] + QUAD $0x05140a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 20], 5 + QUAD $0x06143a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 20], 6 + QUAD $0x000000f824b48b48 // mov rsi, qword [rsp + 248] QUAD $0x0714324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 20], 7 - QUAD $0x0000008824b48b48 // mov rsi, qword [rsp + 136] + QUAD $0x000000a024b48b48 // mov rsi, qword [rsp + 160] QUAD $0x0814324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 20], 8 - QUAD $0x0000009824b48b48 // mov rsi, qword [rsp + 152] + QUAD $0x000000b024b48b48 // mov rsi, qword [rsp + 176] QUAD $0x0914324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 20], 9 - QUAD $0x0000014024b48b48 // mov rsi, qword [rsp + 320] - QUAD $0x0a14324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 20], 10 - QUAD $0x000000d824848b4c // mov r8, qword [rsp + 216] - QUAD $0x0b14024c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r8 + 20], 11 - QUAD $0x0c140a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r9 + 20], 12 - LONG $0x246c8b4c; BYTE $0x20 // mov r13, qword [rsp + 32] - QUAD $0x0d142a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r13 + 20], 13 - QUAD $0x0e14324c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r14 + 20], 14 - LONG $0x24748b48; BYTE $0x38 // mov rsi, qword [rsp + 56] - QUAD $0x0f14324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 20], 15 - QUAD $0x0000010024b48b48 // mov rsi, qword [rsp + 256] + LONG $0x24548b4c; BYTE $0x28 // mov r10, qword [rsp + 40] + QUAD $0x0a14124c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r10 + 20], 10 + QUAD $0x0000008024b48b48 // mov rsi, qword [rsp + 128] + QUAD $0x0b14324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 20], 11 + LONG $0x24748b48; BYTE $0x30 // mov rsi, qword [rsp + 48] + QUAD $0x0c14324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 20], 12 + LONG $0x247c8b48; BYTE $0x20 // mov rdi, qword [rsp + 32] + QUAD $0x0d143a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 20], 13 + QUAD $0x0000012024b48b48 // mov rsi, qword [rsp + 288] + QUAD $0x0e14324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 20], 14 + QUAD $0x0000014024b48b4c // mov r14, qword [rsp + 320] + QUAD $0x0f14324c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r14 + 20], 15 + QUAD $0x000000f024b48b48 // mov rsi, qword [rsp + 240] LONG $0x3274b60f; BYTE $0x15 // movzx esi, byte [rdx + rsi + 21] LONG $0xd66ef9c5 // vmovd xmm2, esi - QUAD $0x01151a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r11 + 21], 1 - QUAD $0x021522542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r12 + 21], 2 - LONG $0x24748b48; BYTE $0x70 // mov rsi, qword [rsp + 112] - QUAD $0x031532542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 21], 3 - QUAD $0x04150a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 21], 4 - QUAD $0x051512542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r10 + 21], 5 - LONG $0x247c8b48; BYTE $0x28 // mov rdi, qword [rsp + 40] - QUAD $0x06153a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 21], 6 + QUAD $0x011522542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r12 + 21], 1 + QUAD $0x0000010824b48b48 // mov rsi, qword [rsp + 264] + QUAD $0x021532542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 21], 2 QUAD $0x000000c8249c8b4c // mov r11, qword [rsp + 200] - QUAD $0x07151a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r11 + 21], 7 - QUAD $0x000000c024a48b4c // mov r12, qword [rsp + 192] - QUAD $0x081522542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r12 + 21], 8 - QUAD $0x000000b824948b4c // mov r10, qword [rsp + 184] - QUAD $0x091512542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r10 + 21], 9 - QUAD $0x000000e0248c8b48 // mov rcx, qword [rsp + 224] - QUAD $0x0a150a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 21], 10 - LONG $0x24748b4c; BYTE $0x58 // mov r14, qword [rsp + 88] - QUAD $0x0b1532542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r14 + 21], 11 - QUAD $0x00000080248c8b48 // mov rcx, qword [rsp + 128] - QUAD $0x0c150a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 21], 12 - QUAD $0x000000d0249c8b48 // mov rbx, qword [rsp + 208] - QUAD $0x0d151a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rbx + 21], 13 - LONG $0x244c8b48; BYTE $0x30 // mov rcx, qword [rsp + 48] - QUAD $0x0e150a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 21], 14 - LONG $0x244c8b48; BYTE $0x50 // mov rcx, qword [rsp + 80] - QUAD $0x0f150a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 21], 15 - QUAD $0x00000108248c8b48 // mov rcx, qword [rsp + 264] - LONG $0x0a74b60f; BYTE $0x15 // movzx esi, byte [rdx + rcx + 21] + QUAD $0x03151a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r11 + 21], 3 + LONG $0x24748b48; BYTE $0x70 // mov rsi, qword [rsp + 112] + QUAD $0x041532542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 21], 4 + QUAD $0x000000b824b48b48 // mov rsi, qword [rsp + 184] + QUAD $0x051532542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 21], 5 + QUAD $0x0000009024b48b48 // mov rsi, qword [rsp + 144] + QUAD $0x061532542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 21], 6 + QUAD $0x000000d024b48b48 // mov rsi, qword [rsp + 208] + QUAD $0x071532542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 21], 7 + QUAD $0x000000e024b48b48 // mov rsi, qword [rsp + 224] + QUAD $0x081532542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 21], 8 + QUAD $0x000000e824b48b48 // mov rsi, qword [rsp + 232] + QUAD $0x091532542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 21], 9 + QUAD $0x0a1502542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 21], 10 + QUAD $0x000000d824848b48 // mov rax, qword [rsp + 216] + QUAD $0x0b1502542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 21], 11 + QUAD $0x0c152a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r13 + 21], 12 + LONG $0x24448b48; BYTE $0x48 // mov rax, qword [rsp + 72] + QUAD $0x0d1502542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 21], 13 + QUAD $0x0e151a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rbx + 21], 14 + LONG $0x246c8b4c; BYTE $0x60 // mov r13, qword [rsp + 96] + QUAD $0x0f152a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r13 + 21], 15 + LONG $0x74b60f42; WORD $0x150a // movzx esi, byte [rdx + r9 + 21] LONG $0xde6ef9c5 // vmovd xmm3, esi - LONG $0x244c8b48; BYTE $0x78 // mov rcx, qword [rsp + 120] - QUAD $0x01150a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 21], 1 - LONG $0x244c8b48; BYTE $0x40 // mov rcx, qword [rsp + 64] - QUAD $0x02150a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 21], 2 - QUAD $0x000000b0248c8b48 // mov rcx, qword [rsp + 176] - QUAD $0x03150a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 21], 3 - QUAD $0x0415025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 21], 4 - QUAD $0x05153a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r15 + 21], 5 - QUAD $0x000000a024848b48 // mov rax, qword [rsp + 160] - QUAD $0x0615025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 21], 6 - QUAD $0x0000009024bc8b4c // mov r15, qword [rsp + 144] - QUAD $0x07153a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r15 + 21], 7 - QUAD $0x00000088248c8b48 // mov rcx, qword [rsp + 136] - QUAD $0x08150a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 21], 8 + QUAD $0x000000c024848b48 // mov rax, qword [rsp + 192] + QUAD $0x0115025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 21], 1 + QUAD $0x0215025c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r8 + 21], 2 + QUAD $0x03153a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r15 + 21], 3 + QUAD $0x000000a8248c8b4c // mov r9, qword [rsp + 168] + QUAD $0x04150a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r9 + 21], 4 + QUAD $0x05150a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 21], 5 QUAD $0x0000009824848b48 // mov rax, qword [rsp + 152] - QUAD $0x0915025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 21], 9 - QUAD $0x0000014024848b48 // mov rax, qword [rsp + 320] - QUAD $0x0a15025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 21], 10 - QUAD $0x0b15025c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r8 + 21], 11 - QUAD $0x0c150a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r9 + 21], 12 - QUAD $0x0d152a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r13 + 21], 13 - LONG $0x24448b48; BYTE $0x48 // mov rax, qword [rsp + 72] - QUAD $0x0e15025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 21], 14 + QUAD $0x0615025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 21], 6 + QUAD $0x000000f824848b48 // mov rax, qword [rsp + 248] + QUAD $0x0715025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 21], 7 + QUAD $0x000000a024848b48 // mov rax, qword [rsp + 160] + QUAD $0x0815025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 21], 8 + QUAD $0x000000b024a48b4c // mov r12, qword [rsp + 176] + QUAD $0x0915225c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r12 + 21], 9 + QUAD $0x0a15125c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r10 + 21], 10 + QUAD $0x00000080249c8b48 // mov rbx, qword [rsp + 128] + QUAD $0x0b151a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 21], 11 + LONG $0x244c8b48; BYTE $0x30 // mov rcx, qword [rsp + 48] + QUAD $0x0c150a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 21], 12 + QUAD $0x0d153a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 21], 13 + QUAD $0x00000120248c8b48 // mov rcx, qword [rsp + 288] + QUAD $0x0e150a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 21], 14 LONG $0x3875e3c4; WORD $0x01c0 // vinserti128 ymm0, ymm1, xmm0, 1 QUAD $0x0002c024847ffdc5; BYTE $0x00 // vmovdqa yword [rsp + 704], ymm0 - LONG $0x24448b4c; BYTE $0x38 // mov r8, qword [rsp + 56] - QUAD $0x0f1502442061a3c4 // vpinsrb xmm0, xmm3, byte [rdx + r8 + 21], 15 + QUAD $0x0f1532442061a3c4 // vpinsrb xmm0, xmm3, byte [rdx + r14 + 21], 15 LONG $0x387de3c4; WORD $0x01c2 // vinserti128 ymm0, ymm0, xmm2, 1 QUAD $0x0002e024847ffdc5; BYTE $0x00 // vmovdqa yword [rsp + 736], ymm0 - QUAD $0x0000010024848b48 // mov rax, qword [rsp + 256] - LONG $0x0274b60f; BYTE $0x16 // movzx esi, byte [rdx + rax + 22] + QUAD $0x000000f024948b4c // mov r10, qword [rsp + 240] + LONG $0x74b60f42; WORD $0x1612 // movzx esi, byte [rdx + r10 + 22] LONG $0xc66ef9c5 // vmovd xmm0, esi - QUAD $0x000000e824b48b48 // mov rsi, qword [rsp + 232] - QUAD $0x011632442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 22], 1 - QUAD $0x000000a824b48b48 // mov rsi, qword [rsp + 168] - QUAD $0x021632442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 22], 2 - LONG $0x24748b48; BYTE $0x70 // mov rsi, qword [rsp + 112] - QUAD $0x031632442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 22], 3 - QUAD $0x000000f024b48b48 // mov rsi, qword [rsp + 240] - QUAD $0x041632442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 22], 4 - QUAD $0x000000f824ac8b4c // mov r13, qword [rsp + 248] - QUAD $0x05162a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r13 + 22], 5 - QUAD $0x06163a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rdi + 22], 6 + LONG $0x247c8b4c; BYTE $0x68 // mov r15, qword [rsp + 104] + QUAD $0x01163a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r15 + 22], 1 + QUAD $0x0000010824848b4c // mov r8, qword [rsp + 264] + QUAD $0x021602442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r8 + 22], 2 + QUAD $0x03161a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r11 + 22], 3 + LONG $0x244c8b48; BYTE $0x70 // mov rcx, qword [rsp + 112] + QUAD $0x04160a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 22], 4 + QUAD $0x000000b8248c8b48 // mov rcx, qword [rsp + 184] + QUAD $0x05160a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 22], 5 + QUAD $0x0000009024b48b4c // mov r14, qword [rsp + 144] + QUAD $0x061632442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r14 + 22], 6 + QUAD $0x000000d0249c8b4c // mov r11, qword [rsp + 208] QUAD $0x07161a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r11 + 22], 7 - QUAD $0x081622442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r12 + 22], 8 - QUAD $0x091612442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r10 + 22], 9 - QUAD $0x000000e024a48b4c // mov r12, qword [rsp + 224] - QUAD $0x0a1622442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r12 + 22], 10 - QUAD $0x0b1632442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r14 + 22], 11 - QUAD $0x00000080249c8b4c // mov r11, qword [rsp + 128] - QUAD $0x0c161a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r11 + 22], 12 - QUAD $0x0d161a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rbx + 22], 13 - LONG $0x24748b48; BYTE $0x30 // mov rsi, qword [rsp + 48] - QUAD $0x0e1632442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 22], 14 + QUAD $0x000000e024bc8b48 // mov rdi, qword [rsp + 224] + QUAD $0x08163a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rdi + 22], 8 + QUAD $0x000000e8248c8b48 // mov rcx, qword [rsp + 232] + QUAD $0x09160a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 22], 9 + LONG $0x244c8b48; BYTE $0x58 // mov rcx, qword [rsp + 88] + QUAD $0x0a160a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 22], 10 + QUAD $0x000000d8248c8b48 // mov rcx, qword [rsp + 216] + QUAD $0x0b160a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 22], 11 LONG $0x24748b48; BYTE $0x50 // mov rsi, qword [rsp + 80] - QUAD $0x0f1632442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 22], 15 - QUAD $0x0000010824948b4c // mov r10, qword [rsp + 264] - LONG $0x74b60f42; WORD $0x1612 // movzx esi, byte [rdx + r10 + 22] + QUAD $0x0c1632442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 22], 12 + LONG $0x24748b48; BYTE $0x48 // mov rsi, qword [rsp + 72] + QUAD $0x0d1632442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 22], 13 + LONG $0x24748b48; BYTE $0x40 // mov rsi, qword [rsp + 64] + QUAD $0x0e1632442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 22], 14 + QUAD $0x0f162a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r13 + 22], 15 + QUAD $0x0000010024b48b48 // mov rsi, qword [rsp + 256] + LONG $0x3274b60f; BYTE $0x16 // movzx esi, byte [rdx + rsi + 22] LONG $0xce6ef9c5 // vmovd xmm1, esi - LONG $0x24748b48; BYTE $0x78 // mov rsi, qword [rsp + 120] + QUAD $0x000000c024b48b48 // mov rsi, qword [rsp + 192] QUAD $0x0116324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 22], 1 - LONG $0x245c8b48; BYTE $0x40 // mov rbx, qword [rsp + 64] - QUAD $0x02161a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rbx + 22], 2 - QUAD $0x000000b024b48b48 // mov rsi, qword [rsp + 176] + LONG $0x24748b48; BYTE $0x78 // mov rsi, qword [rsp + 120] + QUAD $0x0216324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 22], 2 + LONG $0x24748b48; BYTE $0x38 // mov rsi, qword [rsp + 56] QUAD $0x0316324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 22], 3 - LONG $0x24748b48; BYTE $0x68 // mov rsi, qword [rsp + 104] - QUAD $0x0416324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 22], 4 - LONG $0x24748b4c; BYTE $0x60 // mov r14, qword [rsp + 96] - QUAD $0x0516324c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r14 + 22], 5 - QUAD $0x000000a024b48b48 // mov rsi, qword [rsp + 160] + QUAD $0x04160a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r9 + 22], 4 + QUAD $0x0000008824ac8b4c // mov r13, qword [rsp + 136] + QUAD $0x05162a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r13 + 22], 5 + QUAD $0x0000009824b48b48 // mov rsi, qword [rsp + 152] QUAD $0x0616324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 22], 6 - QUAD $0x07163a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r15 + 22], 7 - QUAD $0x08160a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 22], 8 - QUAD $0x00000098248c8b48 // mov rcx, qword [rsp + 152] - QUAD $0x09160a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 22], 9 - QUAD $0x00000140248c8b48 // mov rcx, qword [rsp + 320] - QUAD $0x0a160a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 22], 10 - QUAD $0x000000d8248c8b4c // mov r9, qword [rsp + 216] - QUAD $0x0b160a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r9 + 22], 11 - QUAD $0x00000120248c8b48 // mov rcx, qword [rsp + 288] - QUAD $0x0c160a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 22], 12 - LONG $0x244c8b48; BYTE $0x20 // mov rcx, qword [rsp + 32] - QUAD $0x0d160a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 22], 13 - LONG $0x247c8b48; BYTE $0x48 // mov rdi, qword [rsp + 72] - QUAD $0x0e163a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 22], 14 - QUAD $0x0f16024c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r8 + 22], 15 - LONG $0x0274b60f; BYTE $0x17 // movzx esi, byte [rdx + rax + 23] + QUAD $0x000000f8248c8b4c // mov r9, qword [rsp + 248] + QUAD $0x07160a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r9 + 22], 7 + QUAD $0x0816024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 22], 8 + QUAD $0x0916224c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r12 + 22], 9 + LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] + QUAD $0x0a16024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 22], 10 + QUAD $0x0b161a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rbx + 22], 11 + LONG $0x24648b4c; BYTE $0x30 // mov r12, qword [rsp + 48] + QUAD $0x0c16224c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r12 + 22], 12 + LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] + QUAD $0x0d16024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 22], 13 + QUAD $0x0000012024848b48 // mov rax, qword [rsp + 288] + QUAD $0x0e16024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 22], 14 + QUAD $0x0000014024848b48 // mov rax, qword [rsp + 320] + QUAD $0x0f16024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 22], 15 + LONG $0x74b60f42; WORD $0x1712 // movzx esi, byte [rdx + r10 + 23] LONG $0xd66ef9c5 // vmovd xmm2, esi - QUAD $0x000000e824848b48 // mov rax, qword [rsp + 232] - QUAD $0x011702542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 23], 1 - QUAD $0x000000a824848b48 // mov rax, qword [rsp + 168] - QUAD $0x021702542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 23], 2 - LONG $0x247c8b4c; BYTE $0x70 // mov r15, qword [rsp + 112] - QUAD $0x03173a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r15 + 23], 3 - QUAD $0x000000f024848b48 // mov rax, qword [rsp + 240] + QUAD $0x01173a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r15 + 23], 1 + QUAD $0x021702542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r8 + 23], 2 + QUAD $0x000000c824948b4c // mov r10, qword [rsp + 200] + QUAD $0x031712542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r10 + 23], 3 + LONG $0x24448b48; BYTE $0x70 // mov rax, qword [rsp + 112] QUAD $0x041702542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 23], 4 - QUAD $0x05172a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r13 + 23], 5 - LONG $0x244c8b48; BYTE $0x28 // mov rcx, qword [rsp + 40] - QUAD $0x06170a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 23], 6 - QUAD $0x000000c8248c8b48 // mov rcx, qword [rsp + 200] - QUAD $0x07170a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 23], 7 - QUAD $0x000000c0248c8b48 // mov rcx, qword [rsp + 192] - QUAD $0x08170a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 23], 8 - QUAD $0x000000b8248c8b48 // mov rcx, qword [rsp + 184] - QUAD $0x09170a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 23], 9 - QUAD $0x0a1722542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r12 + 23], 10 - LONG $0x244c8b48; BYTE $0x58 // mov rcx, qword [rsp + 88] + QUAD $0x000000b824848b48 // mov rax, qword [rsp + 184] + QUAD $0x051702542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 23], 5 + QUAD $0x061732542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r14 + 23], 6 + QUAD $0x07171a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r11 + 23], 7 + QUAD $0x08173a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 23], 8 + QUAD $0x000000e824b48b4c // mov r14, qword [rsp + 232] + QUAD $0x091732542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r14 + 23], 9 + LONG $0x247c8b48; BYTE $0x58 // mov rdi, qword [rsp + 88] + QUAD $0x0a173a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 23], 10 QUAD $0x0b170a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 23], 11 - QUAD $0x0c171a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r11 + 23], 12 - QUAD $0x000000d0248c8b48 // mov rcx, qword [rsp + 208] - QUAD $0x0d170a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 23], 13 - LONG $0x244c8b48; BYTE $0x30 // mov rcx, qword [rsp + 48] - QUAD $0x0e170a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 23], 14 - LONG $0x24648b4c; BYTE $0x50 // mov r12, qword [rsp + 80] - QUAD $0x0f1722542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r12 + 23], 15 - LONG $0x74b60f42; WORD $0x1712 // movzx esi, byte [rdx + r10 + 23] + LONG $0x24448b48; BYTE $0x50 // mov rax, qword [rsp + 80] + QUAD $0x0c1702542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 23], 12 + LONG $0x245c8b48; BYTE $0x48 // mov rbx, qword [rsp + 72] + QUAD $0x0d171a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rbx + 23], 13 + LONG $0x245c8b4c; BYTE $0x40 // mov r11, qword [rsp + 64] + QUAD $0x0e171a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r11 + 23], 14 + LONG $0x24448b48; BYTE $0x60 // mov rax, qword [rsp + 96] + QUAD $0x0f1702542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 23], 15 + QUAD $0x0000010024bc8b4c // mov r15, qword [rsp + 256] + LONG $0x74b60f42; WORD $0x173a // movzx esi, byte [rdx + r15 + 23] LONG $0xde6ef9c5 // vmovd xmm3, esi - LONG $0x245c8b4c; BYTE $0x78 // mov r11, qword [rsp + 120] - QUAD $0x01171a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r11 + 23], 1 - QUAD $0x02171a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 23], 2 - QUAD $0x000000b0248c8b48 // mov rcx, qword [rsp + 176] - QUAD $0x03170a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 23], 3 - LONG $0x245c8b48; BYTE $0x68 // mov rbx, qword [rsp + 104] - QUAD $0x04171a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 23], 4 - QUAD $0x0517325c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r14 + 23], 5 - QUAD $0x000000a024ac8b4c // mov r13, qword [rsp + 160] + QUAD $0x000000c0248c8b48 // mov rcx, qword [rsp + 192] + QUAD $0x01170a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 23], 1 + LONG $0x24448b48; BYTE $0x78 // mov rax, qword [rsp + 120] + QUAD $0x0217025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 23], 2 + LONG $0x24748b48; BYTE $0x38 // mov rsi, qword [rsp + 56] + QUAD $0x0317325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 23], 3 + QUAD $0x000000a824b48b48 // mov rsi, qword [rsp + 168] + QUAD $0x0417325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 23], 4 + QUAD $0x05172a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r13 + 23], 5 + QUAD $0x0000009824ac8b4c // mov r13, qword [rsp + 152] QUAD $0x06172a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r13 + 23], 6 - QUAD $0x0000009024b48b48 // mov rsi, qword [rsp + 144] - QUAD $0x0717325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 23], 7 - QUAD $0x0000008824b48b48 // mov rsi, qword [rsp + 136] + QUAD $0x07170a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r9 + 23], 7 + QUAD $0x000000a024b48b48 // mov rsi, qword [rsp + 160] QUAD $0x0817325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 23], 8 - QUAD $0x0000009824848b4c // mov r8, qword [rsp + 152] + QUAD $0x000000b024848b4c // mov r8, qword [rsp + 176] QUAD $0x0917025c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r8 + 23], 9 - QUAD $0x0000014024948b4c // mov r10, qword [rsp + 320] - QUAD $0x0a17125c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r10 + 23], 10 - QUAD $0x0b170a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r9 + 23], 11 + LONG $0x24748b48; BYTE $0x28 // mov rsi, qword [rsp + 40] + QUAD $0x0a17325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 23], 10 + QUAD $0x0000008024b48b48 // mov rsi, qword [rsp + 128] + QUAD $0x0b17325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 23], 11 + QUAD $0x0c17225c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r12 + 23], 12 + LONG $0x24748b48; BYTE $0x20 // mov rsi, qword [rsp + 32] + QUAD $0x0d17325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 23], 13 QUAD $0x0000012024b48b48 // mov rsi, qword [rsp + 288] - QUAD $0x0c17325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 23], 12 - LONG $0x24748b4c; BYTE $0x20 // mov r14, qword [rsp + 32] - QUAD $0x0d17325c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r14 + 23], 13 - QUAD $0x0e173a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 23], 14 - LONG $0x24748b48; BYTE $0x38 // mov rsi, qword [rsp + 56] + QUAD $0x0e17325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 23], 14 + QUAD $0x0000014024b48b48 // mov rsi, qword [rsp + 320] QUAD $0x0f17325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 23], 15 LONG $0x387563c4; WORD $0x01d0 // vinserti128 ymm10, ymm1, xmm0, 1 LONG $0x3865e3c4; WORD $0x01c2 // vinserti128 ymm0, ymm3, xmm2, 1 QUAD $0x0002a024847ffdc5; BYTE $0x00 // vmovdqa yword [rsp + 672], ymm0 - QUAD $0x00000100248c8b4c // mov r9, qword [rsp + 256] - LONG $0x74b60f42; WORD $0x180a // movzx esi, byte [rdx + r9 + 24] + QUAD $0x000000f024b48b48 // mov rsi, qword [rsp + 240] + LONG $0x3274b60f; BYTE $0x18 // movzx esi, byte [rdx + rsi + 24] LONG $0xc66ef9c5 // vmovd xmm0, esi - QUAD $0x000000e824b48b48 // mov rsi, qword [rsp + 232] + LONG $0x24748b48; BYTE $0x68 // mov rsi, qword [rsp + 104] QUAD $0x011832442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 24], 1 - QUAD $0x000000a824b48b48 // mov rsi, qword [rsp + 168] + QUAD $0x0000010824b48b48 // mov rsi, qword [rsp + 264] QUAD $0x021832442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 24], 2 - QUAD $0x03183a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r15 + 24], 3 - QUAD $0x041802442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 24], 4 - QUAD $0x000000f824848b48 // mov rax, qword [rsp + 248] - QUAD $0x051802442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 24], 5 - LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] - QUAD $0x061802442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 24], 6 - QUAD $0x000000c824848b48 // mov rax, qword [rsp + 200] - QUAD $0x071802442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 24], 7 - QUAD $0x000000c024bc8b48 // mov rdi, qword [rsp + 192] - QUAD $0x08183a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rdi + 24], 8 + QUAD $0x031812442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r10 + 24], 3 + LONG $0x24748b48; BYTE $0x70 // mov rsi, qword [rsp + 112] + QUAD $0x041832442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 24], 4 QUAD $0x000000b824b48b48 // mov rsi, qword [rsp + 184] - QUAD $0x091832442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 24], 9 + QUAD $0x051832442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 24], 5 + QUAD $0x0000009024b48b48 // mov rsi, qword [rsp + 144] + QUAD $0x061832442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 24], 6 + QUAD $0x000000d024b48b48 // mov rsi, qword [rsp + 208] + QUAD $0x071832442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 24], 7 QUAD $0x000000e024b48b48 // mov rsi, qword [rsp + 224] - QUAD $0x0a1832442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 24], 10 - LONG $0x24748b48; BYTE $0x58 // mov rsi, qword [rsp + 88] - QUAD $0x0b1832442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 24], 11 - QUAD $0x0000008024b48b48 // mov rsi, qword [rsp + 128] + QUAD $0x081832442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 24], 8 + QUAD $0x091832442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r14 + 24], 9 + QUAD $0x0a183a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rdi + 24], 10 + QUAD $0x000000d824b48b4c // mov r14, qword [rsp + 216] + QUAD $0x0b1832442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r14 + 24], 11 + LONG $0x24748b48; BYTE $0x50 // mov rsi, qword [rsp + 80] QUAD $0x0c1832442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 24], 12 - QUAD $0x000000d024b48b48 // mov rsi, qword [rsp + 208] - QUAD $0x0d1832442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 24], 13 - LONG $0x24748b48; BYTE $0x30 // mov rsi, qword [rsp + 48] - QUAD $0x0e1832442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 24], 14 - QUAD $0x0f1822442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r12 + 24], 15 - QUAD $0x0000010824b48b48 // mov rsi, qword [rsp + 264] - LONG $0x3274b60f; BYTE $0x18 // movzx esi, byte [rdx + rsi + 24] + QUAD $0x0d181a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rbx + 24], 13 + QUAD $0x0e181a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r11 + 24], 14 + LONG $0x24748b48; BYTE $0x60 // mov rsi, qword [rsp + 96] + QUAD $0x0f1832442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 24], 15 + LONG $0x74b60f42; WORD $0x183a // movzx esi, byte [rdx + r15 + 24] LONG $0xce6ef9c5 // vmovd xmm1, esi - QUAD $0x01181a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r11 + 24], 1 - LONG $0x24748b48; BYTE $0x40 // mov rsi, qword [rsp + 64] - QUAD $0x0218324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 24], 2 - QUAD $0x03180a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 24], 3 - QUAD $0x04181a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rbx + 24], 4 - LONG $0x244c8b48; BYTE $0x60 // mov rcx, qword [rsp + 96] - QUAD $0x05180a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 24], 5 + QUAD $0x01180a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 24], 1 + QUAD $0x0218024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 24], 2 + LONG $0x24448b48; BYTE $0x38 // mov rax, qword [rsp + 56] + QUAD $0x0318024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 24], 3 + QUAD $0x000000a824a48b4c // mov r12, qword [rsp + 168] + QUAD $0x0418224c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r12 + 24], 4 + QUAD $0x0000008824848b48 // mov rax, qword [rsp + 136] + QUAD $0x0518024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 24], 5 QUAD $0x06182a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r13 + 24], 6 - QUAD $0x00000090248c8b48 // mov rcx, qword [rsp + 144] - QUAD $0x07180a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 24], 7 - QUAD $0x0000008824bc8b4c // mov r15, qword [rsp + 136] + QUAD $0x07180a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r9 + 24], 7 + QUAD $0x000000a024bc8b4c // mov r15, qword [rsp + 160] QUAD $0x08183a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r15 + 24], 8 QUAD $0x0918024c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r8 + 24], 9 - QUAD $0x0a18124c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r10 + 24], 10 - QUAD $0x000000d8248c8b48 // mov rcx, qword [rsp + 216] - QUAD $0x0b180a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 24], 11 - QUAD $0x00000120248c8b48 // mov rcx, qword [rsp + 288] + LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] + QUAD $0x0a18024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 24], 10 + QUAD $0x0000008024848b4c // mov r8, qword [rsp + 128] + QUAD $0x0b18024c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r8 + 24], 11 + LONG $0x244c8b48; BYTE $0x30 // mov rcx, qword [rsp + 48] QUAD $0x0c180a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 24], 12 - QUAD $0x0d18324c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r14 + 24], 13 - LONG $0x24448b4c; BYTE $0x48 // mov r8, qword [rsp + 72] - QUAD $0x0e18024c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r8 + 24], 14 - LONG $0x244c8b48; BYTE $0x38 // mov rcx, qword [rsp + 56] - QUAD $0x0f180a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 24], 15 - LONG $0x74b60f42; WORD $0x190a // movzx esi, byte [rdx + r9 + 25] - LONG $0xd66ef9c5 // vmovd xmm2, esi - QUAD $0x000000e8248c8b48 // mov rcx, qword [rsp + 232] - QUAD $0x01190a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 25], 1 - QUAD $0x000000a8248c8b48 // mov rcx, qword [rsp + 168] - QUAD $0x02190a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 25], 2 - LONG $0x244c8b48; BYTE $0x70 // mov rcx, qword [rsp + 112] - QUAD $0x03190a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 25], 3 - QUAD $0x000000f0249c8b4c // mov r11, qword [rsp + 240] - QUAD $0x04191a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r11 + 25], 4 - QUAD $0x000000f8248c8b4c // mov r9, qword [rsp + 248] - QUAD $0x05190a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r9 + 25], 5 - LONG $0x24648b4c; BYTE $0x28 // mov r12, qword [rsp + 40] - QUAD $0x061922542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r12 + 25], 6 - QUAD $0x071902542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 25], 7 - QUAD $0x08193a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 25], 8 - QUAD $0x000000b824848b48 // mov rax, qword [rsp + 184] - QUAD $0x091902542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 25], 9 - QUAD $0x000000e024ac8b4c // mov r13, qword [rsp + 224] - QUAD $0x0a192a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r13 + 25], 10 - LONG $0x245c8b48; BYTE $0x58 // mov rbx, qword [rsp + 88] - QUAD $0x0b191a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rbx + 25], 11 - QUAD $0x0000008024b48b4c // mov r14, qword [rsp + 128] - QUAD $0x0c1932542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r14 + 25], 12 - QUAD $0x000000d0248c8b48 // mov rcx, qword [rsp + 208] - QUAD $0x0d190a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 25], 13 - LONG $0x24448b48; BYTE $0x30 // mov rax, qword [rsp + 48] - QUAD $0x0e1902542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 25], 14 - LONG $0x24448b48; BYTE $0x50 // mov rax, qword [rsp + 80] - QUAD $0x0f1902542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 25], 15 - QUAD $0x0000010824848b48 // mov rax, qword [rsp + 264] + LONG $0x24548b4c; BYTE $0x20 // mov r10, qword [rsp + 32] + QUAD $0x0d18124c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r10 + 24], 13 + QUAD $0x0000012024bc8b48 // mov rdi, qword [rsp + 288] + QUAD $0x0e183a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 24], 14 + QUAD $0x00000140249c8b48 // mov rbx, qword [rsp + 320] + QUAD $0x0f181a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rbx + 24], 15 + QUAD $0x000000f024848b48 // mov rax, qword [rsp + 240] LONG $0x0274b60f; BYTE $0x19 // movzx esi, byte [rdx + rax + 25] + LONG $0xd66ef9c5 // vmovd xmm2, esi + LONG $0x246c8b4c; BYTE $0x68 // mov r13, qword [rsp + 104] + QUAD $0x01192a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r13 + 25], 1 + QUAD $0x0000010824b48b48 // mov rsi, qword [rsp + 264] + QUAD $0x021932542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 25], 2 + QUAD $0x000000c824b48b48 // mov rsi, qword [rsp + 200] + QUAD $0x031932542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 25], 3 + LONG $0x24748b48; BYTE $0x70 // mov rsi, qword [rsp + 112] + QUAD $0x041932542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 25], 4 + QUAD $0x000000b8249c8b4c // mov r11, qword [rsp + 184] + QUAD $0x05191a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r11 + 25], 5 + QUAD $0x0000009024b48b48 // mov rsi, qword [rsp + 144] + QUAD $0x061932542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 25], 6 + QUAD $0x000000d024b48b48 // mov rsi, qword [rsp + 208] + QUAD $0x071932542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 25], 7 + QUAD $0x000000e024b48b48 // mov rsi, qword [rsp + 224] + QUAD $0x081932542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 25], 8 + QUAD $0x000000e824b48b48 // mov rsi, qword [rsp + 232] + QUAD $0x091932542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 25], 9 + LONG $0x24748b48; BYTE $0x58 // mov rsi, qword [rsp + 88] + QUAD $0x0a1932542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 25], 10 + QUAD $0x0b1932542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r14 + 25], 11 + LONG $0x24748b48; BYTE $0x50 // mov rsi, qword [rsp + 80] + QUAD $0x0c1932542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 25], 12 + LONG $0x24748b48; BYTE $0x48 // mov rsi, qword [rsp + 72] + QUAD $0x0d1932542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 25], 13 + LONG $0x24748b48; BYTE $0x40 // mov rsi, qword [rsp + 64] + QUAD $0x0e1932542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 25], 14 + LONG $0x24748b48; BYTE $0x60 // mov rsi, qword [rsp + 96] + QUAD $0x0f1932542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 25], 15 + QUAD $0x0000010024b48b48 // mov rsi, qword [rsp + 256] + LONG $0x3274b60f; BYTE $0x19 // movzx esi, byte [rdx + rsi + 25] LONG $0xde6ef9c5 // vmovd xmm3, esi - LONG $0x247c8b48; BYTE $0x78 // mov rdi, qword [rsp + 120] - QUAD $0x01193a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 25], 1 - LONG $0x24448b48; BYTE $0x40 // mov rax, qword [rsp + 64] - QUAD $0x0219025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 25], 2 - QUAD $0x000000b024848b48 // mov rax, qword [rsp + 176] - QUAD $0x0319025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 25], 3 - LONG $0x24448b48; BYTE $0x68 // mov rax, qword [rsp + 104] - QUAD $0x0419025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 25], 4 - LONG $0x24448b48; BYTE $0x60 // mov rax, qword [rsp + 96] - QUAD $0x0519025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 25], 5 - QUAD $0x000000a024848b48 // mov rax, qword [rsp + 160] - QUAD $0x0619025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 25], 6 - QUAD $0x0000009024848b48 // mov rax, qword [rsp + 144] - QUAD $0x0719025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 25], 7 + QUAD $0x000000c024b48b48 // mov rsi, qword [rsp + 192] + QUAD $0x0119325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 25], 1 + LONG $0x24748b48; BYTE $0x78 // mov rsi, qword [rsp + 120] + QUAD $0x0219325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 25], 2 + LONG $0x24748b48; BYTE $0x38 // mov rsi, qword [rsp + 56] + QUAD $0x0319325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 25], 3 + QUAD $0x0419225c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r12 + 25], 4 + QUAD $0x0000008824b48b48 // mov rsi, qword [rsp + 136] + QUAD $0x0519325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 25], 5 + QUAD $0x0000009824b48b48 // mov rsi, qword [rsp + 152] + QUAD $0x0619325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 25], 6 + QUAD $0x07190a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r9 + 25], 7 QUAD $0x08193a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r15 + 25], 8 - QUAD $0x0000009824848b48 // mov rax, qword [rsp + 152] - QUAD $0x0919025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 25], 9 - QUAD $0x0a19125c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r10 + 25], 10 - QUAD $0x000000d824848b48 // mov rax, qword [rsp + 216] - QUAD $0x0b19025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 25], 11 - QUAD $0x0000012024b48b48 // mov rsi, qword [rsp + 288] - QUAD $0x0c19325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 25], 12 - LONG $0x24548b4c; BYTE $0x20 // mov r10, qword [rsp + 32] + QUAD $0x000000b024bc8b4c // mov r15, qword [rsp + 176] + QUAD $0x09193a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r15 + 25], 9 + LONG $0x244c8b4c; BYTE $0x28 // mov r9, qword [rsp + 40] + QUAD $0x0a190a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r9 + 25], 10 + QUAD $0x0b19025c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r8 + 25], 11 + QUAD $0x0c190a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 25], 12 QUAD $0x0d19125c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r10 + 25], 13 - QUAD $0x0e19025c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r8 + 25], 14 + QUAD $0x0e193a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 25], 14 LONG $0x387563c4; WORD $0x01c8 // vinserti128 ymm9, ymm1, xmm0, 1 - LONG $0x24448b4c; BYTE $0x38 // mov r8, qword [rsp + 56] - QUAD $0x0f1902442061a3c4 // vpinsrb xmm0, xmm3, byte [rdx + r8 + 25], 15 + QUAD $0x0f191a442061e3c4 // vpinsrb xmm0, xmm3, byte [rdx + rbx + 25], 15 LONG $0x387d63c4; WORD $0x01c2 // vinserti128 ymm8, ymm0, xmm2, 1 - QUAD $0x0000010024b48b48 // mov rsi, qword [rsp + 256] - LONG $0x3274b60f; BYTE $0x1a // movzx esi, byte [rdx + rsi + 26] + LONG $0x0274b60f; BYTE $0x1a // movzx esi, byte [rdx + rax + 26] LONG $0xc66ef9c5 // vmovd xmm0, esi - QUAD $0x000000e824b48b48 // mov rsi, qword [rsp + 232] - QUAD $0x011a32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 26], 1 - QUAD $0x000000a824b48b48 // mov rsi, qword [rsp + 168] - QUAD $0x021a32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 26], 2 - LONG $0x247c8b4c; BYTE $0x70 // mov r15, qword [rsp + 112] - QUAD $0x031a3a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r15 + 26], 3 - QUAD $0x041a1a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r11 + 26], 4 - QUAD $0x051a0a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r9 + 26], 5 - QUAD $0x061a22442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r12 + 26], 6 - QUAD $0x000000c8249c8b4c // mov r11, qword [rsp + 200] - QUAD $0x071a1a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r11 + 26], 7 - QUAD $0x000000c0248c8b4c // mov r9, qword [rsp + 192] - QUAD $0x081a0a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r9 + 26], 8 - QUAD $0x000000b824b48b48 // mov rsi, qword [rsp + 184] - QUAD $0x091a32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 26], 9 - QUAD $0x0a1a2a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r13 + 26], 10 - QUAD $0x0b1a1a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rbx + 26], 11 - QUAD $0x0c1a32442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r14 + 26], 12 - QUAD $0x0d1a0a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 26], 13 - LONG $0x244c8b48; BYTE $0x30 // mov rcx, qword [rsp + 48] - QUAD $0x0e1a0a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 26], 14 - LONG $0x244c8b48; BYTE $0x50 // mov rcx, qword [rsp + 80] - QUAD $0x0f1a0a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 26], 15 - QUAD $0x00000108249c8b48 // mov rbx, qword [rsp + 264] - LONG $0x1a74b60f; BYTE $0x1a // movzx esi, byte [rdx + rbx + 26] + QUAD $0x011a2a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r13 + 26], 1 + QUAD $0x0000010824948b4c // mov r10, qword [rsp + 264] + QUAD $0x021a12442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r10 + 26], 2 + QUAD $0x000000c824848b48 // mov rax, qword [rsp + 200] + QUAD $0x031a02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 26], 3 + LONG $0x24448b48; BYTE $0x70 // mov rax, qword [rsp + 112] + QUAD $0x041a02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 26], 4 + QUAD $0x051a1a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r11 + 26], 5 + QUAD $0x00000090249c8b4c // mov r11, qword [rsp + 144] + QUAD $0x061a1a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r11 + 26], 6 + QUAD $0x000000d0248c8b48 // mov rcx, qword [rsp + 208] + QUAD $0x071a0a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 26], 7 + QUAD $0x000000e024b48b4c // mov r14, qword [rsp + 224] + QUAD $0x081a32442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r14 + 26], 8 + QUAD $0x000000e8248c8b48 // mov rcx, qword [rsp + 232] + QUAD $0x091a0a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 26], 9 + LONG $0x24748b48; BYTE $0x58 // mov rsi, qword [rsp + 88] + QUAD $0x0a1a32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 26], 10 + QUAD $0x000000d824b48b48 // mov rsi, qword [rsp + 216] + QUAD $0x0b1a32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 26], 11 + LONG $0x24748b48; BYTE $0x50 // mov rsi, qword [rsp + 80] + QUAD $0x0c1a32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 26], 12 + LONG $0x24748b48; BYTE $0x48 // mov rsi, qword [rsp + 72] + QUAD $0x0d1a32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 26], 13 + LONG $0x24748b48; BYTE $0x40 // mov rsi, qword [rsp + 64] + QUAD $0x0e1a32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 26], 14 + LONG $0x24748b48; BYTE $0x60 // mov rsi, qword [rsp + 96] + QUAD $0x0f1a32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 26], 15 + QUAD $0x0000010024bc8b48 // mov rdi, qword [rsp + 256] + LONG $0x3a74b60f; BYTE $0x1a // movzx esi, byte [rdx + rdi + 26] LONG $0xce6ef9c5 // vmovd xmm1, esi - QUAD $0x011a3a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 26], 1 - LONG $0x247c8b48; BYTE $0x40 // mov rdi, qword [rsp + 64] - QUAD $0x021a3a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 26], 2 - QUAD $0x000000b024a48b4c // mov r12, qword [rsp + 176] - QUAD $0x031a224c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r12 + 26], 3 - LONG $0x246c8b4c; BYTE $0x68 // mov r13, qword [rsp + 104] - QUAD $0x041a2a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r13 + 26], 4 - LONG $0x24748b4c; BYTE $0x60 // mov r14, qword [rsp + 96] - QUAD $0x051a324c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r14 + 26], 5 - QUAD $0x000000a024b48b48 // mov rsi, qword [rsp + 160] - QUAD $0x061a324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 26], 6 - QUAD $0x00000090248c8b48 // mov rcx, qword [rsp + 144] - QUAD $0x071a0a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 26], 7 - QUAD $0x00000088248c8b48 // mov rcx, qword [rsp + 136] - QUAD $0x081a0a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 26], 8 - QUAD $0x0000009824b48b48 // mov rsi, qword [rsp + 152] - QUAD $0x091a324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 26], 9 - QUAD $0x00000140248c8b48 // mov rcx, qword [rsp + 320] - QUAD $0x0a1a0a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 26], 10 - QUAD $0x0b1a024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 26], 11 - QUAD $0x0000012024848b48 // mov rax, qword [rsp + 288] - QUAD $0x0c1a024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 26], 12 - QUAD $0x0d1a124c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r10 + 26], 13 - LONG $0x244c8b48; BYTE $0x48 // mov rcx, qword [rsp + 72] - QUAD $0x0e1a0a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 26], 14 - QUAD $0x0f1a024c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r8 + 26], 15 - QUAD $0x0000010024848b48 // mov rax, qword [rsp + 256] - LONG $0x0274b60f; BYTE $0x1b // movzx esi, byte [rdx + rax + 27] + QUAD $0x000000c024b48b48 // mov rsi, qword [rsp + 192] + QUAD $0x011a324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 26], 1 + LONG $0x24448b4c; BYTE $0x78 // mov r8, qword [rsp + 120] + QUAD $0x021a024c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r8 + 26], 2 + LONG $0x245c8b48; BYTE $0x38 // mov rbx, qword [rsp + 56] + QUAD $0x031a1a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rbx + 26], 3 + QUAD $0x041a224c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r12 + 26], 4 + QUAD $0x0000008824b48b48 // mov rsi, qword [rsp + 136] + QUAD $0x051a324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 26], 5 + QUAD $0x0000009824b48b48 // mov rsi, qword [rsp + 152] + QUAD $0x061a324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 26], 6 + QUAD $0x000000f824a48b4c // mov r12, qword [rsp + 248] + QUAD $0x071a224c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r12 + 26], 7 + QUAD $0x000000a024b48b48 // mov rsi, qword [rsp + 160] + QUAD $0x081a324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 26], 8 + QUAD $0x091a3a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r15 + 26], 9 + QUAD $0x0a1a0a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r9 + 26], 10 + QUAD $0x0000008024b48b48 // mov rsi, qword [rsp + 128] + QUAD $0x0b1a324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 26], 11 + LONG $0x24748b48; BYTE $0x30 // mov rsi, qword [rsp + 48] + QUAD $0x0c1a324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 26], 12 + LONG $0x24748b48; BYTE $0x20 // mov rsi, qword [rsp + 32] + QUAD $0x0d1a324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 26], 13 + QUAD $0x00000120248c8b4c // mov r9, qword [rsp + 288] + QUAD $0x0e1a0a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r9 + 26], 14 + QUAD $0x0000014024b48b48 // mov rsi, qword [rsp + 320] + QUAD $0x0f1a324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 26], 15 + QUAD $0x000000f024b48b48 // mov rsi, qword [rsp + 240] + LONG $0x3274b60f; BYTE $0x1b // movzx esi, byte [rdx + rsi + 27] LONG $0xd66ef9c5 // vmovd xmm2, esi - QUAD $0x000000e824848b4c // mov r8, qword [rsp + 232] - QUAD $0x011b02542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r8 + 27], 1 - QUAD $0x000000a824848b48 // mov rax, qword [rsp + 168] - QUAD $0x021b02542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 27], 2 - QUAD $0x031b3a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r15 + 27], 3 - QUAD $0x000000f024948b4c // mov r10, qword [rsp + 240] - QUAD $0x041b12542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r10 + 27], 4 - QUAD $0x000000f824848b48 // mov rax, qword [rsp + 248] - QUAD $0x051b02542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 27], 5 - LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] - QUAD $0x061b02542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 27], 6 - QUAD $0x071b1a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r11 + 27], 7 - QUAD $0x081b0a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r9 + 27], 8 - QUAD $0x000000b824bc8b4c // mov r15, qword [rsp + 184] - QUAD $0x091b3a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r15 + 27], 9 - QUAD $0x000000e0248c8b4c // mov r9, qword [rsp + 224] - QUAD $0x0a1b0a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r9 + 27], 10 - LONG $0x24448b48; BYTE $0x58 // mov rax, qword [rsp + 88] - QUAD $0x0b1b02542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 27], 11 - QUAD $0x0000008024848b48 // mov rax, qword [rsp + 128] - QUAD $0x0c1b02542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 27], 12 + QUAD $0x011b2a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r13 + 27], 1 + QUAD $0x021b12542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r10 + 27], 2 + WORD $0x894d; BYTE $0xd5 // mov r13, r10 + QUAD $0x000000c824b48b48 // mov rsi, qword [rsp + 200] + QUAD $0x031b32542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 27], 3 + QUAD $0x041b02542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 27], 4 + QUAD $0x000000b824948b4c // mov r10, qword [rsp + 184] + QUAD $0x051b12542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r10 + 27], 5 + QUAD $0x061b1a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r11 + 27], 6 QUAD $0x000000d024848b48 // mov rax, qword [rsp + 208] + QUAD $0x071b02542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 27], 7 + QUAD $0x081b32542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r14 + 27], 8 + QUAD $0x091b0a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 27], 9 + LONG $0x24448b48; BYTE $0x58 // mov rax, qword [rsp + 88] + QUAD $0x0a1b02542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 27], 10 + QUAD $0x000000d824b48b4c // mov r14, qword [rsp + 216] + QUAD $0x0b1b32542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r14 + 27], 11 + LONG $0x244c8b48; BYTE $0x50 // mov rcx, qword [rsp + 80] + QUAD $0x0c1b0a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 27], 12 + LONG $0x24448b48; BYTE $0x48 // mov rax, qword [rsp + 72] QUAD $0x0d1b02542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 27], 13 - LONG $0x24448b48; BYTE $0x30 // mov rax, qword [rsp + 48] + LONG $0x24448b48; BYTE $0x40 // mov rax, qword [rsp + 64] QUAD $0x0e1b02542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 27], 14 - LONG $0x24448b48; BYTE $0x50 // mov rax, qword [rsp + 80] - QUAD $0x0f1b02542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 27], 15 - LONG $0x1a74b60f; BYTE $0x1b // movzx esi, byte [rdx + rbx + 27] + LONG $0x245c8b4c; BYTE $0x60 // mov r11, qword [rsp + 96] + QUAD $0x0f1b1a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r11 + 27], 15 + LONG $0x3a74b60f; BYTE $0x1b // movzx esi, byte [rdx + rdi + 27] LONG $0xde6ef9c5 // vmovd xmm3, esi - LONG $0x24448b48; BYTE $0x78 // mov rax, qword [rsp + 120] - QUAD $0x011b025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 27], 1 - QUAD $0x021b3a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 27], 2 - QUAD $0x031b225c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r12 + 27], 3 - QUAD $0x041b2a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r13 + 27], 4 - QUAD $0x051b325c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r14 + 27], 5 - QUAD $0x000000a024a48b4c // mov r12, qword [rsp + 160] - QUAD $0x061b225c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r12 + 27], 6 - QUAD $0x0000009024848b48 // mov rax, qword [rsp + 144] - QUAD $0x071b025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 27], 7 - QUAD $0x0000008824b48b48 // mov rsi, qword [rsp + 136] + QUAD $0x000000c024b48b48 // mov rsi, qword [rsp + 192] + QUAD $0x011b325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 27], 1 + QUAD $0x021b025c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r8 + 27], 2 + QUAD $0x031b1a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 27], 3 + QUAD $0x000000a8249c8b48 // mov rbx, qword [rsp + 168] + QUAD $0x041b1a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 27], 4 + QUAD $0x0000008824bc8b48 // mov rdi, qword [rsp + 136] + QUAD $0x051b3a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 27], 5 + QUAD $0x0000009824bc8b4c // mov r15, qword [rsp + 152] + QUAD $0x061b3a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r15 + 27], 6 + QUAD $0x071b225c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r12 + 27], 7 + QUAD $0x000000a024b48b48 // mov rsi, qword [rsp + 160] QUAD $0x081b325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 27], 8 - QUAD $0x0000009824b48b48 // mov rsi, qword [rsp + 152] + QUAD $0x000000b024b48b48 // mov rsi, qword [rsp + 176] QUAD $0x091b325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 27], 9 - QUAD $0x0000014024b48b48 // mov rsi, qword [rsp + 320] + LONG $0x24748b48; BYTE $0x28 // mov rsi, qword [rsp + 40] QUAD $0x0a1b325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 27], 10 - QUAD $0x000000d824b48b48 // mov rsi, qword [rsp + 216] + QUAD $0x0000008024b48b48 // mov rsi, qword [rsp + 128] QUAD $0x0b1b325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 27], 11 - QUAD $0x0000012024b48b48 // mov rsi, qword [rsp + 288] + LONG $0x24748b48; BYTE $0x30 // mov rsi, qword [rsp + 48] QUAD $0x0c1b325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 27], 12 LONG $0x24748b48; BYTE $0x20 // mov rsi, qword [rsp + 32] QUAD $0x0d1b325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 27], 13 - QUAD $0x0e1b0a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 27], 14 - LONG $0x244c8b48; BYTE $0x38 // mov rcx, qword [rsp + 56] - QUAD $0x0f1b0a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 27], 15 + QUAD $0x0e1b0a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r9 + 27], 14 + QUAD $0x0000014024b48b48 // mov rsi, qword [rsp + 320] + QUAD $0x0f1b325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 27], 15 LONG $0x3875e3c4; WORD $0x01c0 // vinserti128 ymm0, ymm1, xmm0, 1 QUAD $0x00022024847ffdc5; BYTE $0x00 // vmovdqa yword [rsp + 544], ymm0 LONG $0x3865e3c4; WORD $0x01c2 // vinserti128 ymm0, ymm3, xmm2, 1 QUAD $0x00024024847ffdc5; BYTE $0x00 // vmovdqa yword [rsp + 576], ymm0 - QUAD $0x0000010024ac8b4c // mov r13, qword [rsp + 256] - LONG $0x74b60f42; WORD $0x1c2a // movzx esi, byte [rdx + r13 + 28] + QUAD $0x000000f024b48b48 // mov rsi, qword [rsp + 240] + LONG $0x3274b60f; BYTE $0x1c // movzx esi, byte [rdx + rsi + 28] LONG $0xc66ef9c5 // vmovd xmm0, esi - QUAD $0x011c02442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r8 + 28], 1 - QUAD $0x000000a8248c8b48 // mov rcx, qword [rsp + 168] - QUAD $0x021c0a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 28], 2 - LONG $0x245c8b4c; BYTE $0x70 // mov r11, qword [rsp + 112] - QUAD $0x031c1a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r11 + 28], 3 - QUAD $0x041c12442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r10 + 28], 4 - QUAD $0x000000f824b48b4c // mov r14, qword [rsp + 248] - QUAD $0x051c32442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r14 + 28], 5 - LONG $0x24748b48; BYTE $0x28 // mov rsi, qword [rsp + 40] + LONG $0x24748b48; BYTE $0x68 // mov rsi, qword [rsp + 104] + QUAD $0x011c32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 28], 1 + QUAD $0x021c2a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r13 + 28], 2 + QUAD $0x000000c824b48b48 // mov rsi, qword [rsp + 200] + QUAD $0x031c32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 28], 3 + LONG $0x244c8b4c; BYTE $0x70 // mov r9, qword [rsp + 112] + QUAD $0x041c0a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r9 + 28], 4 + QUAD $0x051c12442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r10 + 28], 5 + QUAD $0x0000009024b48b48 // mov rsi, qword [rsp + 144] QUAD $0x061c32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 28], 6 - QUAD $0x000000c8249c8b48 // mov rbx, qword [rsp + 200] - QUAD $0x071c1a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rbx + 28], 7 - QUAD $0x000000c024b48b48 // mov rsi, qword [rsp + 192] - QUAD $0x081c32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 28], 8 - QUAD $0x091c3a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r15 + 28], 9 - QUAD $0x0a1c0a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r9 + 28], 10 - LONG $0x24548b4c; BYTE $0x58 // mov r10, qword [rsp + 88] - QUAD $0x0b1c12442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r10 + 28], 11 - QUAD $0x0000008024bc8b4c // mov r15, qword [rsp + 128] - QUAD $0x0c1c3a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r15 + 28], 12 - QUAD $0x000000d024bc8b48 // mov rdi, qword [rsp + 208] - QUAD $0x0d1c3a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rdi + 28], 13 - LONG $0x24748b48; BYTE $0x30 // mov rsi, qword [rsp + 48] - QUAD $0x0e1c32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 28], 14 - LONG $0x24448b4c; BYTE $0x50 // mov r8, qword [rsp + 80] - QUAD $0x0f1c02442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r8 + 28], 15 - QUAD $0x0000010824b48b48 // mov rsi, qword [rsp + 264] - LONG $0x3274b60f; BYTE $0x1c // movzx esi, byte [rdx + rsi + 28] + QUAD $0x000000d024ac8b4c // mov r13, qword [rsp + 208] + QUAD $0x071c2a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r13 + 28], 7 + QUAD $0x000000e024a48b4c // mov r12, qword [rsp + 224] + QUAD $0x081c22442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r12 + 28], 8 + QUAD $0x000000e824848b4c // mov r8, qword [rsp + 232] + QUAD $0x091c02442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r8 + 28], 9 + LONG $0x24748b48; BYTE $0x58 // mov rsi, qword [rsp + 88] + QUAD $0x0a1c32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 28], 10 + QUAD $0x0b1c32442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r14 + 28], 11 + QUAD $0x0c1c0a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 28], 12 + LONG $0x24748b4c; BYTE $0x48 // mov r14, qword [rsp + 72] + QUAD $0x0d1c32442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r14 + 28], 13 + QUAD $0x0e1c02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 28], 14 + QUAD $0x0f1c1a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r11 + 28], 15 + QUAD $0x00000100249c8b4c // mov r11, qword [rsp + 256] + LONG $0x74b60f42; WORD $0x1c1a // movzx esi, byte [rdx + r11 + 28] LONG $0xce6ef9c5 // vmovd xmm1, esi - LONG $0x24748b48; BYTE $0x78 // mov rsi, qword [rsp + 120] - QUAD $0x011c324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 28], 1 - LONG $0x24748b48; BYTE $0x40 // mov rsi, qword [rsp + 64] - QUAD $0x021c324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 28], 2 - QUAD $0x000000b0248c8b4c // mov r9, qword [rsp + 176] - QUAD $0x031c0a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r9 + 28], 3 - LONG $0x24748b48; BYTE $0x68 // mov rsi, qword [rsp + 104] - QUAD $0x041c324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 28], 4 - LONG $0x24748b48; BYTE $0x60 // mov rsi, qword [rsp + 96] - QUAD $0x051c324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 28], 5 - QUAD $0x061c224c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r12 + 28], 6 - QUAD $0x071c024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 28], 7 - QUAD $0x0000008824848b48 // mov rax, qword [rsp + 136] - QUAD $0x081c024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 28], 8 - QUAD $0x0000009824848b48 // mov rax, qword [rsp + 152] - QUAD $0x091c024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 28], 9 - QUAD $0x0000014024848b48 // mov rax, qword [rsp + 320] - QUAD $0x0a1c024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 28], 10 - QUAD $0x000000d824848b48 // mov rax, qword [rsp + 216] - QUAD $0x0b1c024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 28], 11 - QUAD $0x0000012024b48b48 // mov rsi, qword [rsp + 288] - QUAD $0x0c1c324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 28], 12 + QUAD $0x000000c024848b48 // mov rax, qword [rsp + 192] + QUAD $0x011c024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 28], 1 + LONG $0x24448b48; BYTE $0x78 // mov rax, qword [rsp + 120] + QUAD $0x021c024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 28], 2 + LONG $0x24448b48; BYTE $0x38 // mov rax, qword [rsp + 56] + QUAD $0x031c024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 28], 3 + QUAD $0x041c1a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rbx + 28], 4 + QUAD $0x051c3a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 28], 5 + QUAD $0x061c3a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r15 + 28], 6 + QUAD $0x000000f824bc8b48 // mov rdi, qword [rsp + 248] + QUAD $0x071c3a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 28], 7 + QUAD $0x000000a0248c8b48 // mov rcx, qword [rsp + 160] + QUAD $0x081c0a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 28], 8 + QUAD $0x000000b0249c8b48 // mov rbx, qword [rsp + 176] + QUAD $0x091c1a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rbx + 28], 9 + LONG $0x244c8b48; BYTE $0x28 // mov rcx, qword [rsp + 40] + QUAD $0x0a1c0a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 28], 10 + QUAD $0x00000080248c8b48 // mov rcx, qword [rsp + 128] + QUAD $0x0b1c0a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 28], 11 + LONG $0x244c8b48; BYTE $0x30 // mov rcx, qword [rsp + 48] + QUAD $0x0c1c0a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 28], 12 LONG $0x24748b48; BYTE $0x20 // mov rsi, qword [rsp + 32] QUAD $0x0d1c324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 28], 13 - LONG $0x24648b4c; BYTE $0x48 // mov r12, qword [rsp + 72] - QUAD $0x0e1c224c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r12 + 28], 14 - LONG $0x24748b48; BYTE $0x38 // mov rsi, qword [rsp + 56] + QUAD $0x0000012024948b4c // mov r10, qword [rsp + 288] + QUAD $0x0e1c124c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r10 + 28], 14 + QUAD $0x0000014024b48b48 // mov rsi, qword [rsp + 320] QUAD $0x0f1c324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 28], 15 - LONG $0x74b60f42; WORD $0x1d2a // movzx esi, byte [rdx + r13 + 29] + QUAD $0x000000f024b48b48 // mov rsi, qword [rsp + 240] + LONG $0x3274b60f; BYTE $0x1d // movzx esi, byte [rdx + rsi + 29] LONG $0xd66ef9c5 // vmovd xmm2, esi - QUAD $0x000000e824ac8b4c // mov r13, qword [rsp + 232] - QUAD $0x011d2a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r13 + 29], 1 - QUAD $0x021d0a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 29], 2 - QUAD $0x031d1a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r11 + 29], 3 - QUAD $0x000000f0248c8b48 // mov rcx, qword [rsp + 240] - QUAD $0x041d0a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 29], 4 - QUAD $0x051d32542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r14 + 29], 5 - LONG $0x245c8b4c; BYTE $0x28 // mov r11, qword [rsp + 40] - QUAD $0x061d1a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r11 + 29], 6 - QUAD $0x071d1a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rbx + 29], 7 - QUAD $0x000000c0248c8b48 // mov rcx, qword [rsp + 192] - QUAD $0x081d0a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 29], 8 - QUAD $0x000000b8248c8b48 // mov rcx, qword [rsp + 184] - QUAD $0x091d0a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 29], 9 - QUAD $0x000000e024b48b4c // mov r14, qword [rsp + 224] - QUAD $0x0a1d32542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r14 + 29], 10 - QUAD $0x0b1d12542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r10 + 29], 11 - QUAD $0x0c1d3a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r15 + 29], 12 - QUAD $0x0d1d3a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 29], 13 - LONG $0x245c8b48; BYTE $0x30 // mov rbx, qword [rsp + 48] - QUAD $0x0e1d1a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rbx + 29], 14 - QUAD $0x0f1d02542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r8 + 29], 15 - QUAD $0x0000010824848b4c // mov r8, qword [rsp + 264] - LONG $0x74b60f42; WORD $0x1d02 // movzx esi, byte [rdx + r8 + 29] - LONG $0xde6ef9c5 // vmovd xmm3, esi - LONG $0x247c8b4c; BYTE $0x78 // mov r15, qword [rsp + 120] - QUAD $0x011d3a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r15 + 29], 1 - LONG $0x24548b4c; BYTE $0x40 // mov r10, qword [rsp + 64] - QUAD $0x021d125c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r10 + 29], 2 - QUAD $0x031d0a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r9 + 29], 3 - LONG $0x244c8b4c; BYTE $0x68 // mov r9, qword [rsp + 104] - QUAD $0x041d0a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r9 + 29], 4 - LONG $0x24748b48; BYTE $0x60 // mov rsi, qword [rsp + 96] - QUAD $0x051d325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 29], 5 - QUAD $0x000000a024b48b48 // mov rsi, qword [rsp + 160] - QUAD $0x061d325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 29], 6 + LONG $0x24748b48; BYTE $0x68 // mov rsi, qword [rsp + 104] + QUAD $0x011d32542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 29], 1 + QUAD $0x0000010824b48b48 // mov rsi, qword [rsp + 264] + QUAD $0x021d32542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 29], 2 + QUAD $0x000000c824b48b48 // mov rsi, qword [rsp + 200] + QUAD $0x031d32542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 29], 3 + QUAD $0x041d0a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r9 + 29], 4 + QUAD $0x000000b8248c8b4c // mov r9, qword [rsp + 184] + QUAD $0x051d0a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r9 + 29], 5 QUAD $0x0000009024b48b48 // mov rsi, qword [rsp + 144] - QUAD $0x071d325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 29], 7 - QUAD $0x0000008824b48b48 // mov rsi, qword [rsp + 136] - QUAD $0x081d325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 29], 8 - QUAD $0x0000009824b48b48 // mov rsi, qword [rsp + 152] - QUAD $0x091d325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 29], 9 - QUAD $0x0000014024b48b48 // mov rsi, qword [rsp + 320] - QUAD $0x0a1d325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 29], 10 - QUAD $0x0b1d025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 29], 11 - QUAD $0x0000012024848b48 // mov rax, qword [rsp + 288] - QUAD $0x0c1d025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 29], 12 - LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] - QUAD $0x0d1d025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 29], 13 - QUAD $0x0e1d22642061a3c4 // vpinsrb xmm4, xmm3, byte [rdx + r12 + 29], 14 + QUAD $0x061d32542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 29], 6 + QUAD $0x071d2a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r13 + 29], 7 + QUAD $0x081d22542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r12 + 29], 8 + QUAD $0x091d02542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r8 + 29], 9 + LONG $0x24748b48; BYTE $0x58 // mov rsi, qword [rsp + 88] + QUAD $0x0a1d32542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 29], 10 + QUAD $0x000000d824848b4c // mov r8, qword [rsp + 216] + QUAD $0x0b1d02542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r8 + 29], 11 + LONG $0x24648b4c; BYTE $0x50 // mov r12, qword [rsp + 80] + QUAD $0x0c1d22542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r12 + 29], 12 + QUAD $0x0d1d32542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r14 + 29], 13 + LONG $0x24748b48; BYTE $0x40 // mov rsi, qword [rsp + 64] + QUAD $0x0e1d32542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 29], 14 + LONG $0x24748b4c; BYTE $0x60 // mov r14, qword [rsp + 96] + QUAD $0x0f1d32542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r14 + 29], 15 + LONG $0x74b60f42; WORD $0x1d1a // movzx esi, byte [rdx + r11 + 29] + LONG $0xde6ef9c5 // vmovd xmm3, esi + QUAD $0x000000c0249c8b4c // mov r11, qword [rsp + 192] + QUAD $0x011d1a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r11 + 29], 1 + LONG $0x24748b48; BYTE $0x78 // mov rsi, qword [rsp + 120] + QUAD $0x021d325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 29], 2 + QUAD $0x031d025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 29], 3 + QUAD $0x000000a824ac8b4c // mov r13, qword [rsp + 168] + QUAD $0x041d2a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r13 + 29], 4 + QUAD $0x0000008824848b48 // mov rax, qword [rsp + 136] + QUAD $0x051d025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 29], 5 + QUAD $0x061d3a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r15 + 29], 6 + QUAD $0x071d3a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 29], 7 + QUAD $0x000000a024848b48 // mov rax, qword [rsp + 160] + QUAD $0x081d025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 29], 8 + QUAD $0x091d1a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 29], 9 + WORD $0x8949; BYTE $0xdf // mov r15, rbx + LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] + QUAD $0x0a1d025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 29], 10 + QUAD $0x0000008024bc8b48 // mov rdi, qword [rsp + 128] + QUAD $0x0b1d3a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 29], 11 + QUAD $0x0c1d0a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 29], 12 + LONG $0x244c8b48; BYTE $0x20 // mov rcx, qword [rsp + 32] + QUAD $0x0d1d0a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 29], 13 + QUAD $0x0e1d12642061a3c4 // vpinsrb xmm4, xmm3, byte [rdx + r10 + 29], 14 LONG $0x3875e3c4; WORD $0x01c0 // vinserti128 ymm0, ymm1, xmm0, 1 QUAD $0x00028024847ffdc5; BYTE $0x00 // vmovdqa yword [rsp + 640], ymm0 - LONG $0x24648b4c; BYTE $0x38 // mov r12, qword [rsp + 56] - QUAD $0x0f1d22442059a3c4 // vpinsrb xmm0, xmm4, byte [rdx + r12 + 29], 15 + QUAD $0x0000014024948b4c // mov r10, qword [rsp + 320] + QUAD $0x0f1d12442059a3c4 // vpinsrb xmm0, xmm4, byte [rdx + r10 + 29], 15 LONG $0x387de3c4; WORD $0x01c2 // vinserti128 ymm0, ymm0, xmm2, 1 QUAD $0x00026024847ffdc5; BYTE $0x00 // vmovdqa yword [rsp + 608], ymm0 - QUAD $0x0000010024bc8b48 // mov rdi, qword [rsp + 256] - LONG $0x3a74b60f; BYTE $0x1e // movzx esi, byte [rdx + rdi + 30] + QUAD $0x000000f024848b48 // mov rax, qword [rsp + 240] + LONG $0x0274b60f; BYTE $0x1e // movzx esi, byte [rdx + rax + 30] LONG $0xc66ef9c5 // vmovd xmm0, esi - QUAD $0x011e2a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r13 + 30], 1 - LONG $0x3a74b60f; BYTE $0x1f // movzx esi, byte [rdx + rdi + 31] + LONG $0x245c8b48; BYTE $0x68 // mov rbx, qword [rsp + 104] + QUAD $0x011e1a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rbx + 30], 1 + LONG $0x0274b60f; BYTE $0x1f // movzx esi, byte [rdx + rax + 31] LONG $0xce6ef9c5 // vmovd xmm1, esi - QUAD $0x011f2a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r13 + 31], 1 - QUAD $0x000000a824848b48 // mov rax, qword [rsp + 168] + QUAD $0x011f1a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rbx + 31], 1 + QUAD $0x0000010824848b48 // mov rax, qword [rsp + 264] QUAD $0x021e02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 30], 2 QUAD $0x021f024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 31], 2 - LONG $0x24448b48; BYTE $0x70 // mov rax, qword [rsp + 112] + QUAD $0x000000c824848b48 // mov rax, qword [rsp + 200] QUAD $0x031e02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 30], 3 QUAD $0x031f024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 31], 3 - QUAD $0x000000f024848b48 // mov rax, qword [rsp + 240] + LONG $0x24448b48; BYTE $0x70 // mov rax, qword [rsp + 112] QUAD $0x041e02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 30], 4 QUAD $0x041f024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 31], 4 - QUAD $0x000000f824848b48 // mov rax, qword [rsp + 248] - QUAD $0x051e02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 30], 5 - QUAD $0x051f024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 31], 5 - QUAD $0x061e1a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r11 + 30], 6 - QUAD $0x061f1a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r11 + 31], 6 - QUAD $0x0000011024bc8b48 // mov rdi, qword [rsp + 272] - QUAD $0x000000c824848b48 // mov rax, qword [rsp + 200] + WORD $0x894c; BYTE $0xc8 // mov rax, r9 + QUAD $0x051e0a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r9 + 30], 5 + QUAD $0x051f0a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r9 + 31], 5 + QUAD $0x0000009024848b48 // mov rax, qword [rsp + 144] + QUAD $0x061e02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 30], 6 + QUAD $0x061f024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 31], 6 + QUAD $0x000000d024848b48 // mov rax, qword [rsp + 208] QUAD $0x071e02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 30], 7 QUAD $0x071f024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 31], 7 - QUAD $0x000000c024848b48 // mov rax, qword [rsp + 192] + QUAD $0x00000110249c8b48 // mov rbx, qword [rsp + 272] + QUAD $0x000000e024848b48 // mov rax, qword [rsp + 224] QUAD $0x081e02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 30], 8 QUAD $0x081f024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 31], 8 - QUAD $0x091e0a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 30], 9 - QUAD $0x091f0a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 31], 9 - QUAD $0x0a1e32442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r14 + 30], 10 - QUAD $0x0a1f324c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r14 + 31], 10 + QUAD $0x000000e824848b48 // mov rax, qword [rsp + 232] + QUAD $0x091e02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 30], 9 + QUAD $0x091f024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 31], 9 LONG $0x24448b48; BYTE $0x58 // mov rax, qword [rsp + 88] - QUAD $0x0b1e02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 30], 11 - QUAD $0x0b1f024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 31], 11 - QUAD $0x0000008024848b48 // mov rax, qword [rsp + 128] - QUAD $0x0c1e02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 30], 12 - QUAD $0x0c1f024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 31], 12 - QUAD $0x000000d024848b48 // mov rax, qword [rsp + 208] + QUAD $0x0a1e02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 30], 10 + QUAD $0x0a1f024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 31], 10 + WORD $0x894c; BYTE $0xc0 // mov rax, r8 + QUAD $0x0b1e02442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r8 + 30], 11 + QUAD $0x0b1f024c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r8 + 31], 11 + QUAD $0x0c1e22442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r12 + 30], 12 + QUAD $0x0c1f224c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r12 + 31], 12 + LONG $0x24448b48; BYTE $0x48 // mov rax, qword [rsp + 72] QUAD $0x0d1e02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 30], 13 QUAD $0x0d1f024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 31], 13 - WORD $0x8948; BYTE $0xd8 // mov rax, rbx - QUAD $0x0e1e1a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rbx + 30], 14 - QUAD $0x0e1f1a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rbx + 31], 14 - LONG $0x24448b48; BYTE $0x50 // mov rax, qword [rsp + 80] - QUAD $0x0f1e02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 30], 15 - QUAD $0x0f1f02542071e3c4 // vpinsrb xmm2, xmm1, byte [rdx + rax + 31], 15 - WORD $0x894c; BYTE $0xc6 // mov rsi, r8 - LONG $0x44b60f42; WORD $0x1e02 // movzx eax, byte [rdx + r8 + 30] + LONG $0x24448b48; BYTE $0x40 // mov rax, qword [rsp + 64] + QUAD $0x0e1e02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 30], 14 + QUAD $0x0e1f024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 31], 14 + QUAD $0x0f1e32442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r14 + 30], 15 + QUAD $0x0f1f32542071a3c4 // vpinsrb xmm2, xmm1, byte [rdx + r14 + 31], 15 + QUAD $0x0000010024b48b48 // mov rsi, qword [rsp + 256] + LONG $0x3244b60f; BYTE $0x1e // movzx eax, byte [rdx + rsi + 30] LONG $0xc86ef9c5 // vmovd xmm1, eax - QUAD $0x011e3a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r15 + 30], 1 - LONG $0x44b60f42; WORD $0x1f02 // movzx eax, byte [rdx + r8 + 31] + QUAD $0x011e1a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r11 + 30], 1 + LONG $0x3244b60f; BYTE $0x1f // movzx eax, byte [rdx + rsi + 31] LONG $0xf86ef9c5 // vmovd xmm7, eax - QUAD $0x011f3a7c2041a3c4 // vpinsrb xmm7, xmm7, byte [rdx + r15 + 31], 1 - QUAD $0x021e124c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r10 + 30], 2 - QUAD $0x021f127c2041a3c4 // vpinsrb xmm7, xmm7, byte [rdx + r10 + 31], 2 - QUAD $0x000000b024848b48 // mov rax, qword [rsp + 176] + QUAD $0x011f1a7c2041a3c4 // vpinsrb xmm7, xmm7, byte [rdx + r11 + 31], 1 + LONG $0x24448b48; BYTE $0x78 // mov rax, qword [rsp + 120] + QUAD $0x021e024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 30], 2 + QUAD $0x021f027c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rax + 31], 2 + LONG $0x24448b48; BYTE $0x38 // mov rax, qword [rsp + 56] QUAD $0x031e024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 30], 3 QUAD $0x031f027c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rax + 31], 3 - QUAD $0x041e0a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r9 + 30], 4 - QUAD $0x041f0a7c2041a3c4 // vpinsrb xmm7, xmm7, byte [rdx + r9 + 31], 4 - LONG $0x24448b48; BYTE $0x60 // mov rax, qword [rsp + 96] + QUAD $0x041e2a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r13 + 30], 4 + QUAD $0x041f2a7c2041a3c4 // vpinsrb xmm7, xmm7, byte [rdx + r13 + 31], 4 + QUAD $0x0000008824848b48 // mov rax, qword [rsp + 136] QUAD $0x051e024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 30], 5 QUAD $0x051f027c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rax + 31], 5 - QUAD $0x000000a024848b48 // mov rax, qword [rsp + 160] + QUAD $0x0000009824848b48 // mov rax, qword [rsp + 152] QUAD $0x061e024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 30], 6 QUAD $0x061f027c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rax + 31], 6 - QUAD $0x0000009024848b48 // mov rax, qword [rsp + 144] + QUAD $0x000000f824848b48 // mov rax, qword [rsp + 248] QUAD $0x071e024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 30], 7 QUAD $0x071f027c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rax + 31], 7 - QUAD $0x0000008824848b48 // mov rax, qword [rsp + 136] + QUAD $0x000000a024848b48 // mov rax, qword [rsp + 160] QUAD $0x081e024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 30], 8 QUAD $0x081f027c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rax + 31], 8 - QUAD $0x0000009824848b48 // mov rax, qword [rsp + 152] - QUAD $0x091e024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 30], 9 - QUAD $0x091f027c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rax + 31], 9 - QUAD $0x0000014024848b48 // mov rax, qword [rsp + 320] + QUAD $0x091e3a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r15 + 30], 9 + QUAD $0x091f3a7c2041a3c4 // vpinsrb xmm7, xmm7, byte [rdx + r15 + 31], 9 + LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] QUAD $0x0a1e024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 30], 10 QUAD $0x0a1f027c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rax + 31], 10 - QUAD $0x000000d824848b48 // mov rax, qword [rsp + 216] - QUAD $0x0b1e024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 30], 11 - QUAD $0x0b1f027c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rax + 31], 11 - QUAD $0x0000012024848b48 // mov rax, qword [rsp + 288] + QUAD $0x0b1e3a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 30], 11 + QUAD $0x0b1f3a7c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rdi + 31], 11 + LONG $0x24448b48; BYTE $0x30 // mov rax, qword [rsp + 48] QUAD $0x0c1e024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 30], 12 QUAD $0x0c1f027c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rax + 31], 12 - LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] - QUAD $0x0d1e024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 30], 13 - QUAD $0x0d1f027c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rax + 31], 13 - LONG $0x24448b48; BYTE $0x48 // mov rax, qword [rsp + 72] + WORD $0x8948; BYTE $0xc8 // mov rax, rcx + QUAD $0x0d1e0a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 30], 13 + QUAD $0x0d1f0a7c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rcx + 31], 13 + QUAD $0x0000012024848b48 // mov rax, qword [rsp + 288] QUAD $0x0e1e024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 30], 14 QUAD $0x0e1f027c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rax + 31], 14 - WORD $0x894c; BYTE $0xe0 // mov rax, r12 - QUAD $0x0f1e224c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r12 + 30], 15 - QUAD $0x0f1f227c2041a3c4 // vpinsrb xmm7, xmm7, byte [rdx + r12 + 31], 15 + QUAD $0x0f1e124c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r10 + 30], 15 + QUAD $0x0f1f127c2041a3c4 // vpinsrb xmm7, xmm7, byte [rdx + r10 + 31], 15 LONG $0x3875e3c4; WORD $0x01c0 // vinserti128 ymm0, ymm1, xmm0, 1 QUAD $0x00014024847ffdc5; BYTE $0x00 // vmovdqa yword [rsp + 320], ymm0 LONG $0x3845e3c4; WORD $0x01c2 // vinserti128 ymm0, ymm7, xmm2, 1 @@ -16709,18 +17362,18 @@ LBB2_169: LONG $0x3865e3c4; WORD $0x01e0 // vinserti128 ymm4, ymm3, xmm0, 1 LONG $0x4665e3c4; WORD $0x31c0 // vperm2i128 ymm0, ymm3, ymm0, 49 QUAD $0x00000198248c8b48 // mov rcx, qword [rsp + 408] - LONG $0x447ffec5; WORD $0x608f // vmovdqu yword [rdi + 4*rcx + 96], ymm0 - LONG $0x547ffec5; WORD $0x408f // vmovdqu yword [rdi + 4*rcx + 64], ymm2 - LONG $0x647ffec5; WORD $0x208f // vmovdqu yword [rdi + 4*rcx + 32], ymm4 - LONG $0x0c7ffec5; BYTE $0x8f // vmovdqu yword [rdi + 4*rcx], ymm1 + LONG $0x447ffec5; WORD $0x608b // vmovdqu yword [rbx + 4*rcx + 96], ymm0 + LONG $0x547ffec5; WORD $0x408b // vmovdqu yword [rbx + 4*rcx + 64], ymm2 + LONG $0x647ffec5; WORD $0x208b // vmovdqu yword [rbx + 4*rcx + 32], ymm4 + LONG $0x0c7ffec5; BYTE $0x8b // vmovdqu yword [rbx + 4*rcx], ymm1 LONG $0x20c18348 // add rcx, 32 WORD $0x8948; BYTE $0xc8 // mov rax, rcx QUAD $0x00000180248c3b48 // cmp rcx, qword [rsp + 384] - JNE LBB2_169 + JNE LBB2_170 QUAD $0x0000018824bc8b4c // mov r15, qword [rsp + 392] QUAD $0x0000018024bc3b4c // cmp r15, qword [rsp + 384] QUAD $0x0000011824948b4c // mov r10, qword [rsp + 280] - LONG $0x24748b44; BYTE $0x1c // mov r14d, dword [rsp + 28] + LONG $0x245c8b44; BYTE $0x1c // mov r11d, dword [rsp + 28] QUAD $0x0000019024a48b4c // mov r12, qword [rsp + 400] JNE LBB2_114 JMP LBB2_133 @@ -16735,8 +17388,9 @@ TEXT ·_comparison_not_equal_arr_arr_avx2(SB), $80-48 MOVQ offset+40(FP), R9 ADDQ $8, SP - WORD $0x894d; BYTE $0xc3 // mov r11, r8 - WORD $0x8949; BYTE $0xce // mov r14, rcx + WORD $0x8944; BYTE $0xc8 // mov eax, r9d + WORD $0x894d; BYTE $0xc6 // mov r14, r8 + WORD $0x8949; BYTE $0xcc // mov r12, rcx WORD $0xff83; BYTE $0x06 // cmp edi, 6 JG LBB3_29 WORD $0xff83; BYTE $0x03 // cmp edi, 3 @@ -16747,16 +17401,16 @@ TEXT ·_comparison_not_equal_arr_arr_avx2(SB), $80-48 JE LBB3_79 WORD $0xff83; BYTE $0x06 // cmp edi, 6 JNE LBB3_123 - LONG $0x1f7b8d4d // lea r15, [r11 + 31] - WORD $0x854d; BYTE $0xdb // test r11, r11 - LONG $0xfb490f4d // cmovns r15, r11 - LONG $0x07418d41 // lea eax, [r9 + 7] - WORD $0x8545; BYTE $0xc9 // test r9d, r9d - LONG $0xc1490f41 // cmovns eax, r9d - WORD $0xe083; BYTE $0xf8 // and eax, -8 - WORD $0x2941; BYTE $0xc1 // sub r9d, eax + LONG $0x1f7e8d4d // lea r15, [r14 + 31] + WORD $0x854d; BYTE $0xf6 // test r14, r14 + LONG $0xfe490f4d // cmovns r15, r14 + WORD $0x488d; BYTE $0x07 // lea ecx, [rax + 7] + WORD $0xc085 // test eax, eax + WORD $0x490f; BYTE $0xc8 // cmovns ecx, eax + WORD $0xe183; BYTE $0xf8 // and ecx, -8 + WORD $0xc829 // sub eax, ecx JE LBB3_22 - WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d + WORD $0x9848 // cdqe LBB3_20: WORD $0x0e8b // mov ecx, dword [rsi] @@ -16769,7 +17423,7 @@ LBB3_20: WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xf8490f48 // cmovns rdi, rax LONG $0x03ffc148 // sar rdi, 3 - LONG $0x04b60f45; BYTE $0x3e // movzx r8d, byte [r14 + rdi] + LONG $0x04b60f45; BYTE $0x3c // movzx r8d, byte [r12 + rdi] WORD $0x3045; BYTE $0xc2 // xor r10b, r8b QUAD $0x00000000fd0c8d44 // lea r9d, [8*rdi] WORD $0xc189 // mov ecx, eax @@ -16778,49 +17432,49 @@ LBB3_20: WORD $0xe3d3 // shl ebx, cl WORD $0x2044; BYTE $0xd3 // and bl, r10b WORD $0x3044; BYTE $0xc3 // xor bl, r8b - LONG $0x3e1c8841 // mov byte [r14 + rdi], bl + LONG $0x3c1c8841 // mov byte [r12 + rdi], bl LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 JNE LBB3_20 - LONG $0x01c68349 // add r14, 1 + LONG $0x01c48349 // add r12, 1 LBB3_22: LONG $0x05ffc149 // sar r15, 5 - LONG $0x20fb8349 // cmp r11, 32 + LONG $0x20fe8349 // cmp r14, 32 JL LBB3_26 - LONG $0x245c894c; BYTE $0x18 // mov qword [rsp + 24], r11 - LONG $0x247c894c; BYTE $0x40 // mov qword [rsp + 64], r15 + LONG $0x2474894c; BYTE $0x18 // mov qword [rsp + 24], r14 LONG $0x247c894c; BYTE $0x38 // mov qword [rsp + 56], r15 + LONG $0x247c894c; BYTE $0x20 // mov qword [rsp + 32], r15 LBB3_24: - LONG $0x2474894c; BYTE $0x30 // mov qword [rsp + 48], r14 + LONG $0x2464894c; BYTE $0x30 // mov qword [rsp + 48], r12 WORD $0x068b // mov eax, dword [rsi] WORD $0x4e8b; BYTE $0x04 // mov ecx, dword [rsi + 4] WORD $0x023b // cmp eax, dword [rdx] - LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] + LONG $0x2454950f; BYTE $0x04 // setne byte [rsp + 4] WORD $0x4a3b; BYTE $0x04 // cmp ecx, dword [rdx + 4] - LONG $0x2454950f; BYTE $0x20 // setne byte [rsp + 32] + LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] WORD $0x468b; BYTE $0x08 // mov eax, dword [rsi + 8] WORD $0x423b; BYTE $0x08 // cmp eax, dword [rdx + 8] - LONG $0x2454950f; BYTE $0x14 // setne byte [rsp + 20] + LONG $0x2454950f; BYTE $0x15 // setne byte [rsp + 21] WORD $0x468b; BYTE $0x0c // mov eax, dword [rsi + 12] WORD $0x423b; BYTE $0x0c // cmp eax, dword [rdx + 12] - LONG $0x2454950f; BYTE $0x15 // setne byte [rsp + 21] + LONG $0x2454950f; BYTE $0x16 // setne byte [rsp + 22] WORD $0x468b; BYTE $0x10 // mov eax, dword [rsi + 16] WORD $0x423b; BYTE $0x10 // cmp eax, dword [rdx + 16] - LONG $0x2454950f; BYTE $0x16 // setne byte [rsp + 22] + LONG $0x2454950f; BYTE $0x17 // setne byte [rsp + 23] WORD $0x468b; BYTE $0x14 // mov eax, dword [rsi + 20] WORD $0x423b; BYTE $0x14 // cmp eax, dword [rdx + 20] - LONG $0x2454950f; BYTE $0x17 // setne byte [rsp + 23] + LONG $0x2454950f; BYTE $0x03 // setne byte [rsp + 3] WORD $0x468b; BYTE $0x18 // mov eax, dword [rsi + 24] WORD $0x423b; BYTE $0x18 // cmp eax, dword [rdx + 24] - LONG $0x2454950f; BYTE $0x04 // setne byte [rsp + 4] + LONG $0x2454950f; BYTE $0x05 // setne byte [rsp + 5] WORD $0x468b; BYTE $0x1c // mov eax, dword [rsi + 28] WORD $0x423b; BYTE $0x1c // cmp eax, dword [rdx + 28] LONG $0xd5950f41 // setne r13b WORD $0x468b; BYTE $0x20 // mov eax, dword [rsi + 32] WORD $0x423b; BYTE $0x20 // cmp eax, dword [rdx + 32] - LONG $0x2454950f; BYTE $0x09 // setne byte [rsp + 9] + LONG $0x2454950f; BYTE $0x0a // setne byte [rsp + 10] WORD $0x468b; BYTE $0x24 // mov eax, dword [rsi + 36] WORD $0x423b; BYTE $0x24 // cmp eax, dword [rdx + 36] LONG $0xd0950f41 // setne r8b @@ -16832,165 +17486,165 @@ LBB3_24: LONG $0xd7950f41 // setne r15b WORD $0x468b; BYTE $0x30 // mov eax, dword [rsi + 48] WORD $0x423b; BYTE $0x30 // cmp eax, dword [rdx + 48] - LONG $0x2454950f; BYTE $0x05 // setne byte [rsp + 5] + LONG $0x2454950f; BYTE $0x06 // setne byte [rsp + 6] WORD $0x468b; BYTE $0x34 // mov eax, dword [rsi + 52] WORD $0x423b; BYTE $0x34 // cmp eax, dword [rdx + 52] - LONG $0x2454950f; BYTE $0x06 // setne byte [rsp + 6] + LONG $0x2454950f; BYTE $0x07 // setne byte [rsp + 7] WORD $0x468b; BYTE $0x38 // mov eax, dword [rsi + 56] WORD $0x423b; BYTE $0x38 // cmp eax, dword [rdx + 56] - LONG $0x2454950f; BYTE $0x07 // setne byte [rsp + 7] + LONG $0x2454950f; BYTE $0x08 // setne byte [rsp + 8] WORD $0x468b; BYTE $0x3c // mov eax, dword [rsi + 60] WORD $0x423b; BYTE $0x3c // cmp eax, dword [rdx + 60] - WORD $0x950f; BYTE $0xd3 // setne bl + LONG $0xd7950f40 // setne dil WORD $0x468b; BYTE $0x40 // mov eax, dword [rsi + 64] - WORD $0x4e8b; BYTE $0x44 // mov ecx, dword [rsi + 68] + WORD $0x5e8b; BYTE $0x44 // mov ebx, dword [rsi + 68] WORD $0x423b; BYTE $0x40 // cmp eax, dword [rdx + 64] WORD $0x468b; BYTE $0x48 // mov eax, dword [rsi + 72] - LONG $0x2454950f; BYTE $0x0a // setne byte [rsp + 10] - WORD $0x4a3b; BYTE $0x44 // cmp ecx, dword [rdx + 68] - WORD $0x4e8b; BYTE $0x4c // mov ecx, dword [rsi + 76] + LONG $0x2454950f; BYTE $0x0b // setne byte [rsp + 11] + WORD $0x5a3b; BYTE $0x44 // cmp ebx, dword [rdx + 68] + WORD $0x5e8b; BYTE $0x4c // mov ebx, dword [rsi + 76] LONG $0xd2950f41 // setne r10b WORD $0x423b; BYTE $0x48 // cmp eax, dword [rdx + 72] WORD $0x468b; BYTE $0x50 // mov eax, dword [rsi + 80] LONG $0xd6950f41 // setne r14b - WORD $0x4a3b; BYTE $0x4c // cmp ecx, dword [rdx + 76] - WORD $0x4e8b; BYTE $0x54 // mov ecx, dword [rsi + 84] + WORD $0x5a3b; BYTE $0x4c // cmp ebx, dword [rdx + 76] + WORD $0x5e8b; BYTE $0x54 // mov ebx, dword [rsi + 84] LONG $0xd4950f41 // setne r12b WORD $0x423b; BYTE $0x50 // cmp eax, dword [rdx + 80] - LONG $0x2454950f; BYTE $0x08 // setne byte [rsp + 8] - WORD $0x4a3b; BYTE $0x54 // cmp ecx, dword [rdx + 84] + LONG $0x2454950f; BYTE $0x09 // setne byte [rsp + 9] + WORD $0x5a3b; BYTE $0x54 // cmp ebx, dword [rdx + 84] WORD $0x468b; BYTE $0x58 // mov eax, dword [rsi + 88] - LONG $0x2454950f; BYTE $0x0b // setne byte [rsp + 11] + LONG $0x2454950f; BYTE $0x0c // setne byte [rsp + 12] WORD $0x423b; BYTE $0x58 // cmp eax, dword [rdx + 88] WORD $0x468b; BYTE $0x5c // mov eax, dword [rsi + 92] - LONG $0x2454950f; BYTE $0x0c // setne byte [rsp + 12] + LONG $0x2454950f; BYTE $0x0d // setne byte [rsp + 13] WORD $0x423b; BYTE $0x5c // cmp eax, dword [rdx + 92] WORD $0x468b; BYTE $0x60 // mov eax, dword [rsi + 96] LONG $0xd1950f41 // setne r9b WORD $0x423b; BYTE $0x60 // cmp eax, dword [rdx + 96] WORD $0x468b; BYTE $0x64 // mov eax, dword [rsi + 100] - LONG $0x2454950f; BYTE $0x13 // setne byte [rsp + 19] + LONG $0x2454950f; BYTE $0x14 // setne byte [rsp + 20] WORD $0x423b; BYTE $0x64 // cmp eax, dword [rdx + 100] WORD $0x468b; BYTE $0x68 // mov eax, dword [rsi + 104] - LONG $0x2454950f; BYTE $0x0d // setne byte [rsp + 13] + LONG $0x2454950f; BYTE $0x0e // setne byte [rsp + 14] WORD $0x423b; BYTE $0x68 // cmp eax, dword [rdx + 104] WORD $0x468b; BYTE $0x6c // mov eax, dword [rsi + 108] - LONG $0x2454950f; BYTE $0x0e // setne byte [rsp + 14] + LONG $0x2454950f; BYTE $0x0f // setne byte [rsp + 15] WORD $0x423b; BYTE $0x6c // cmp eax, dword [rdx + 108] WORD $0x468b; BYTE $0x70 // mov eax, dword [rsi + 112] - LONG $0x2454950f; BYTE $0x0f // setne byte [rsp + 15] + LONG $0x2454950f; BYTE $0x10 // setne byte [rsp + 16] WORD $0x423b; BYTE $0x70 // cmp eax, dword [rdx + 112] WORD $0x468b; BYTE $0x74 // mov eax, dword [rsi + 116] - LONG $0x2454950f; BYTE $0x10 // setne byte [rsp + 16] + LONG $0x2454950f; BYTE $0x11 // setne byte [rsp + 17] WORD $0x423b; BYTE $0x74 // cmp eax, dword [rdx + 116] WORD $0x468b; BYTE $0x78 // mov eax, dword [rsi + 120] - LONG $0x2454950f; BYTE $0x12 // setne byte [rsp + 18] + LONG $0x2454950f; BYTE $0x13 // setne byte [rsp + 19] WORD $0x423b; BYTE $0x78 // cmp eax, dword [rdx + 120] WORD $0x468b; BYTE $0x7c // mov eax, dword [rsi + 124] - LONG $0x2454950f; BYTE $0x11 // setne byte [rsp + 17] + LONG $0x2454950f; BYTE $0x12 // setne byte [rsp + 18] LONG $0x80ee8348 // sub rsi, -128 WORD $0x423b; BYTE $0x7c // cmp eax, dword [rdx + 124] - LONG $0xd7950f40 // setne dil - LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] + WORD $0x950f; BYTE $0xd1 // setne cl + LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] WORD $0xc000 // add al, al - LONG $0x28244402 // add al, byte [rsp + 40] - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x04 // movzx eax, byte [rsp + 4] + LONG $0x04244402 // add al, byte [rsp + 4] + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x05 // movzx eax, byte [rsp + 5] WORD $0xe0c0; BYTE $0x06 // shl al, 6 LONG $0x07e5c041 // shl r13b, 7 WORD $0x0841; BYTE $0xc5 // or r13b, al - LONG $0x2444b60f; BYTE $0x14 // movzx eax, byte [rsp + 20] + LONG $0x2444b60f; BYTE $0x15 // movzx eax, byte [rsp + 21] WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xc808 // or al, cl + WORD $0xd808 // or al, bl WORD $0x0045; BYTE $0xc0 // add r8b, r8b - LONG $0x24440244; BYTE $0x09 // add r8b, byte [rsp + 9] - LONG $0x244cb60f; BYTE $0x15 // movzx ecx, byte [rsp + 21] - WORD $0xe1c0; BYTE $0x03 // shl cl, 3 - WORD $0xc108 // or cl, al - WORD $0xc889 // mov eax, ecx + LONG $0x24440244; BYTE $0x0a // add r8b, byte [rsp + 10] + LONG $0x245cb60f; BYTE $0x16 // movzx ebx, byte [rsp + 22] + WORD $0xe3c0; BYTE $0x03 // shl bl, 3 + WORD $0xc308 // or bl, al + WORD $0xd889 // mov eax, ebx LONG $0x02e3c041 // shl r11b, 2 WORD $0x0845; BYTE $0xc3 // or r11b, r8b - LONG $0x244cb60f; BYTE $0x16 // movzx ecx, byte [rsp + 22] - WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0xc108 // or cl, al - WORD $0x8941; BYTE $0xc8 // mov r8d, ecx + LONG $0x245cb60f; BYTE $0x17 // movzx ebx, byte [rsp + 23] + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0xc308 // or bl, al + WORD $0x8941; BYTE $0xd8 // mov r8d, ebx LONG $0x03e7c041 // shl r15b, 3 WORD $0x0845; BYTE $0xdf // or r15b, r11b - LONG $0x244cb60f; BYTE $0x17 // movzx ecx, byte [rsp + 23] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0x0844; BYTE $0xc1 // or cl, r8b - LONG $0x2444b60f; BYTE $0x05 // movzx eax, byte [rsp + 5] + LONG $0x245cb60f; BYTE $0x03 // movzx ebx, byte [rsp + 3] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + WORD $0x0844; BYTE $0xc3 // or bl, r8b + LONG $0x2444b60f; BYTE $0x06 // movzx eax, byte [rsp + 6] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0x0844; BYTE $0xf8 // or al, r15b WORD $0x8941; BYTE $0xc0 // mov r8d, eax - LONG $0x2444b60f; BYTE $0x06 // movzx eax, byte [rsp + 6] + LONG $0x2444b60f; BYTE $0x07 // movzx eax, byte [rsp + 7] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0x0844; BYTE $0xc0 // or al, r8b - LONG $0x44b60f44; WORD $0x0724 // movzx r8d, byte [rsp + 7] + LONG $0x44b60f44; WORD $0x0824 // movzx r8d, byte [rsp + 8] LONG $0x06e0c041 // shl r8b, 6 - WORD $0xe3c0; BYTE $0x07 // shl bl, 7 - WORD $0x0844; BYTE $0xc3 // or bl, r8b - WORD $0x0841; BYTE $0xcd // or r13b, cl - WORD $0xc308 // or bl, al + LONG $0x07e7c040 // shl dil, 7 + WORD $0x0844; BYTE $0xc7 // or dil, r8b + WORD $0x0841; BYTE $0xdd // or r13b, bl + WORD $0x0840; BYTE $0xc7 // or dil, al WORD $0x0045; BYTE $0xd2 // add r10b, r10b - LONG $0x24540244; BYTE $0x0a // add r10b, byte [rsp + 10] + LONG $0x24540244; BYTE $0x0b // add r10b, byte [rsp + 11] LONG $0x02e6c041 // shl r14b, 2 WORD $0x0845; BYTE $0xd6 // or r14b, r10b LONG $0x03e4c041 // shl r12b, 3 WORD $0x0845; BYTE $0xf4 // or r12b, r14b - LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + LONG $0x2444b60f; BYTE $0x09 // movzx eax, byte [rsp + 9] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0x0844; BYTE $0xe0 // or al, r12b - WORD $0xc189 // mov ecx, eax - LONG $0x24748b4c; BYTE $0x30 // mov r14, qword [rsp + 48] - LONG $0x2444b60f; BYTE $0x0b // movzx eax, byte [rsp + 11] + WORD $0xc389 // mov ebx, eax + LONG $0x24648b4c; BYTE $0x30 // mov r12, qword [rsp + 48] + LONG $0x2444b60f; BYTE $0x0c // movzx eax, byte [rsp + 12] WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - WORD $0x8845; BYTE $0x2e // mov byte [r14], r13b - LONG $0x244cb60f; BYTE $0x0c // movzx ecx, byte [rsp + 12] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 + WORD $0xd808 // or al, bl + LONG $0x242c8845 // mov byte [r12], r13b + LONG $0x245cb60f; BYTE $0x0d // movzx ebx, byte [rsp + 13] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e1c041 // shl r9b, 7 - WORD $0x0841; BYTE $0xc9 // or r9b, cl - LONG $0x015e8841 // mov byte [r14 + 1], bl + WORD $0x0841; BYTE $0xd9 // or r9b, bl + LONG $0x247c8841; BYTE $0x01 // mov byte [r12 + 1], dil WORD $0x0841; BYTE $0xc1 // or r9b, al - LONG $0x2444b60f; BYTE $0x0d // movzx eax, byte [rsp + 13] - WORD $0xc000 // add al, al - LONG $0x13244402 // add al, byte [rsp + 19] - WORD $0xc189 // mov ecx, eax LONG $0x2444b60f; BYTE $0x0e // movzx eax, byte [rsp + 14] - WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xc000 // add al, al + LONG $0x14244402 // add al, byte [rsp + 20] + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x0f // movzx eax, byte [rsp + 15] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x11 // movzx eax, byte [rsp + 17] WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x12 // movzx eax, byte [rsp + 18] + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x13 // movzx eax, byte [rsp + 19] WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - LONG $0x244cb60f; BYTE $0x11 // movzx ecx, byte [rsp + 17] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 - LONG $0x07e7c040 // shl dil, 7 - WORD $0x0840; BYTE $0xcf // or dil, cl - WORD $0x0840; BYTE $0xc7 // or dil, al - LONG $0x024e8845 // mov byte [r14 + 2], r9b - LONG $0x037e8841 // mov byte [r14 + 3], dil + WORD $0xd808 // or al, bl + LONG $0x245cb60f; BYTE $0x12 // movzx ebx, byte [rsp + 18] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 + WORD $0xe1c0; BYTE $0x07 // shl cl, 7 + WORD $0xd908 // or cl, bl + WORD $0xc108 // or cl, al + LONG $0x244c8845; BYTE $0x02 // mov byte [r12 + 2], r9b + LONG $0x244c8841; BYTE $0x03 // mov byte [r12 + 3], cl LONG $0x80c28148; WORD $0x0000; BYTE $0x00 // add rdx, 128 - LONG $0x04c68349 // add r14, 4 - LONG $0x24448348; WORD $0xff38 // add qword [rsp + 56], -1 + LONG $0x04c48349 // add r12, 4 + LONG $0x24448348; WORD $0xff20 // add qword [rsp + 32], -1 JNE LBB3_24 - LONG $0x245c8b4c; BYTE $0x18 // mov r11, qword [rsp + 24] - LONG $0x247c8b4c; BYTE $0x40 // mov r15, qword [rsp + 64] + LONG $0x24748b4c; BYTE $0x18 // mov r14, qword [rsp + 24] + LONG $0x247c8b4c; BYTE $0x38 // mov r15, qword [rsp + 56] LBB3_26: LONG $0x05e7c149 // shl r15, 5 - WORD $0x394d; BYTE $0xdf // cmp r15, r11 + WORD $0x394d; BYTE $0xf7 // cmp r15, r14 JGE LBB3_123 - WORD $0x294d; BYTE $0xfb // sub r11, r15 + WORD $0x294d; BYTE $0xfe // sub r14, r15 WORD $0xc931 // xor ecx, ecx LBB3_28: @@ -17001,16 +17655,16 @@ LBB3_28: WORD $0xdbf6 // neg bl WORD $0x8948; BYTE $0xcf // mov rdi, rcx LONG $0x03efc148 // shr rdi, 3 - LONG $0x0cb60f45; BYTE $0x3e // movzx r9d, byte [r14 + rdi] + LONG $0x0cb60f45; BYTE $0x3c // movzx r9d, byte [r12 + rdi] WORD $0x3044; BYTE $0xcb // xor bl, r9b WORD $0xe180; BYTE $0x07 // and cl, 7 WORD $0x01b0 // mov al, 1 WORD $0xe0d2 // shl al, cl WORD $0xd820 // and al, bl WORD $0x3044; BYTE $0xc8 // xor al, r9b - LONG $0x3e048841 // mov byte [r14 + rdi], al + LONG $0x3c048841 // mov byte [r12 + rdi], al WORD $0x894c; BYTE $0xc1 // mov rcx, r8 - WORD $0x394d; BYTE $0xc3 // cmp r11, r8 + WORD $0x394d; BYTE $0xc6 // cmp r14, r8 JNE LBB3_28 JMP LBB3_123 @@ -17023,266 +17677,361 @@ LBB3_29: JE LBB3_112 WORD $0xff83; BYTE $0x0c // cmp edi, 12 JNE LBB3_123 - LONG $0x1f7b8d4d // lea r15, [r11 + 31] - WORD $0x854d; BYTE $0xdb // test r11, r11 - LONG $0xfb490f4d // cmovns r15, r11 - LONG $0x07418d41 // lea eax, [r9 + 7] - WORD $0x8545; BYTE $0xc9 // test r9d, r9d - LONG $0xc1490f41 // cmovns eax, r9d - WORD $0xe083; BYTE $0xf8 // and eax, -8 - WORD $0x2941; BYTE $0xc1 // sub r9d, eax + LONG $0x1f7e8d4d // lea r15, [r14 + 31] + WORD $0x854d; BYTE $0xf6 // test r14, r14 + LONG $0xfe490f4d // cmovns r15, r14 + WORD $0x488d; BYTE $0x07 // lea ecx, [rax + 7] + WORD $0xc085 // test eax, eax + WORD $0x490f; BYTE $0xc8 // cmovns ecx, eax + WORD $0xe183; BYTE $0xf8 // and ecx, -8 + WORD $0xc829 // sub eax, ecx JE LBB3_50 - WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d + WORD $0x634c; BYTE $0xd0 // movsxd r10, eax LBB3_48: LONG $0x0610fbc5 // vmovsd xmm0, qword [rsi] LONG $0x08c68348 // add rsi, 8 LONG $0x022ef9c5 // vucomisd xmm0, qword [rdx] LONG $0x08528d48 // lea rdx, [rdx + 8] - LONG $0xd2950f41 // setne r10b - WORD $0xf641; BYTE $0xda // neg r10b - LONG $0x07788d48 // lea rdi, [rax + 7] - WORD $0x8548; BYTE $0xc0 // test rax, rax - LONG $0xf8490f48 // cmovns rdi, rax + WORD $0x9a0f; BYTE $0xd1 // setp cl + WORD $0x950f; BYTE $0xd3 // setne bl + WORD $0xcb08 // or bl, cl + WORD $0xdbf6 // neg bl + LONG $0x077a8d49 // lea rdi, [r10 + 7] + WORD $0x854d; BYTE $0xd2 // test r10, r10 + LONG $0xfa490f49 // cmovns rdi, r10 LONG $0x03ffc148 // sar rdi, 3 - LONG $0x04b60f45; BYTE $0x3e // movzx r8d, byte [r14 + rdi] - WORD $0x3045; BYTE $0xc2 // xor r10b, r8b + LONG $0x04b60f45; BYTE $0x3c // movzx r8d, byte [r12 + rdi] + WORD $0x3044; BYTE $0xc3 // xor bl, r8b QUAD $0x00000000fd0c8d44 // lea r9d, [8*rdi] - WORD $0xc189 // mov ecx, eax + WORD $0x8944; BYTE $0xd1 // mov ecx, r10d WORD $0x2944; BYTE $0xc9 // sub ecx, r9d - LONG $0x000001bb; BYTE $0x00 // mov ebx, 1 - WORD $0xe3d3 // shl ebx, cl - WORD $0x2044; BYTE $0xd3 // and bl, r10b - WORD $0x3044; BYTE $0xc3 // xor bl, r8b - LONG $0x3e1c8841 // mov byte [r14 + rdi], bl - LONG $0x01c08348 // add rax, 1 - LONG $0x08f88348 // cmp rax, 8 + LONG $0x000001b8; BYTE $0x00 // mov eax, 1 + WORD $0xe0d3 // shl eax, cl + WORD $0xd820 // and al, bl + WORD $0x3044; BYTE $0xc0 // xor al, r8b + LONG $0x3c048841 // mov byte [r12 + rdi], al + LONG $0x01c28349 // add r10, 1 + LONG $0x08fa8349 // cmp r10, 8 JNE LBB3_48 - LONG $0x01c68349 // add r14, 1 + LONG $0x01c48349 // add r12, 1 LBB3_50: LONG $0x05ffc149 // sar r15, 5 - LONG $0x20fb8349 // cmp r11, 32 + LONG $0x20fe8349 // cmp r14, 32 JL LBB3_54 - LONG $0x245c894c; BYTE $0x18 // mov qword [rsp + 24], r11 - LONG $0x247c894c; BYTE $0x20 // mov qword [rsp + 32], r15 - LONG $0x247c894c; BYTE $0x28 // mov qword [rsp + 40], r15 + LONG $0x2474894c; BYTE $0x18 // mov qword [rsp + 24], r14 + LONG $0x247c894c; BYTE $0x40 // mov qword [rsp + 64], r15 + LONG $0x247c894c; BYTE $0x38 // mov qword [rsp + 56], r15 LBB3_52: - LONG $0x2474894c; BYTE $0x30 // mov qword [rsp + 48], r14 + LONG $0x2464894c; BYTE $0x30 // mov qword [rsp + 48], r12 LONG $0x0610fbc5 // vmovsd xmm0, qword [rsi] - LONG $0x4e10fbc5; BYTE $0x08 // vmovsd xmm1, qword [rsi + 8] LONG $0x022ef9c5 // vucomisd xmm0, qword [rdx] - LONG $0x2454950f; BYTE $0x04 // setne byte [rsp + 4] - LONG $0x4a2ef9c5; BYTE $0x08 // vucomisd xmm1, qword [rdx + 8] - WORD $0x950f; BYTE $0xd0 // setne al + LONG $0x4610fbc5; BYTE $0x08 // vmovsd xmm0, qword [rsi + 8] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x15244c88 // mov byte [rsp + 21], cl + LONG $0x422ef9c5; BYTE $0x08 // vucomisd xmm0, qword [rdx + 8] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x0d244c88 // mov byte [rsp + 13], cl LONG $0x4610fbc5; BYTE $0x10 // vmovsd xmm0, qword [rsi + 16] LONG $0x422ef9c5; BYTE $0x10 // vucomisd xmm0, qword [rdx + 16] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x14244c88 // mov byte [rsp + 20], cl LONG $0x4610fbc5; BYTE $0x18 // vmovsd xmm0, qword [rsi + 24] - LONG $0x2454950f; BYTE $0x05 // setne byte [rsp + 5] LONG $0x422ef9c5; BYTE $0x18 // vucomisd xmm0, qword [rdx + 24] - LONG $0x2454950f; BYTE $0x16 // setne byte [rsp + 22] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x17244c88 // mov byte [rsp + 23], cl LONG $0x4610fbc5; BYTE $0x20 // vmovsd xmm0, qword [rsi + 32] LONG $0x422ef9c5; BYTE $0x20 // vucomisd xmm0, qword [rdx + 32] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x16244c88 // mov byte [rsp + 22], cl LONG $0x4610fbc5; BYTE $0x28 // vmovsd xmm0, qword [rsi + 40] - LONG $0x2454950f; BYTE $0x15 // setne byte [rsp + 21] LONG $0x422ef9c5; BYTE $0x28 // vucomisd xmm0, qword [rdx + 40] - LONG $0x2454950f; BYTE $0x17 // setne byte [rsp + 23] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd7950f40 // setne dil + WORD $0x0840; BYTE $0xc7 // or dil, al LONG $0x4610fbc5; BYTE $0x30 // vmovsd xmm0, qword [rsi + 48] LONG $0x422ef9c5; BYTE $0x30 // vucomisd xmm0, qword [rdx + 48] - LONG $0x4610fbc5; BYTE $0x38 // vmovsd xmm0, qword [rsi + 56] + WORD $0x9a0f; BYTE $0xd0 // setp al LONG $0xd5950f41 // setne r13b + WORD $0x0841; BYTE $0xc5 // or r13b, al + LONG $0x4610fbc5; BYTE $0x38 // vmovsd xmm0, qword [rsi + 56] LONG $0x422ef9c5; BYTE $0x38 // vucomisd xmm0, qword [rdx + 56] - LONG $0xd7950f41 // setne r15b + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x03244c88 // mov byte [rsp + 3], cl LONG $0x4610fbc5; BYTE $0x40 // vmovsd xmm0, qword [rsi + 64] LONG $0x422ef9c5; BYTE $0x40 // vucomisd xmm0, qword [rdx + 64] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x13244c88 // mov byte [rsp + 19], cl LONG $0x4610fbc5; BYTE $0x48 // vmovsd xmm0, qword [rsi + 72] - LONG $0x2454950f; BYTE $0x08 // setne byte [rsp + 8] LONG $0x422ef9c5; BYTE $0x48 // vucomisd xmm0, qword [rdx + 72] - WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd3 // setne bl + WORD $0xc308 // or bl, al LONG $0x4610fbc5; BYTE $0x50 // vmovsd xmm0, qword [rsi + 80] LONG $0x422ef9c5; BYTE $0x50 // vucomisd xmm0, qword [rdx + 80] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x12244c88 // mov byte [rsp + 18], cl LONG $0x4610fbc5; BYTE $0x58 // vmovsd xmm0, qword [rsi + 88] - LONG $0xd1950f41 // setne r9b LONG $0x422ef9c5; BYTE $0x58 // vucomisd xmm0, qword [rdx + 88] - LONG $0xd3950f41 // setne r11b + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x11244c88 // mov byte [rsp + 17], cl LONG $0x4610fbc5; BYTE $0x60 // vmovsd xmm0, qword [rsi + 96] LONG $0x422ef9c5; BYTE $0x60 // vucomisd xmm0, qword [rdx + 96] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x10244c88 // mov byte [rsp + 16], cl LONG $0x4610fbc5; BYTE $0x68 // vmovsd xmm0, qword [rsi + 104] - LONG $0xd2950f41 // setne r10b LONG $0x422ef9c5; BYTE $0x68 // vucomisd xmm0, qword [rdx + 104] - LONG $0x2454950f; BYTE $0x07 // setne byte [rsp + 7] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x0f244c88 // mov byte [rsp + 15], cl LONG $0x4610fbc5; BYTE $0x70 // vmovsd xmm0, qword [rsi + 112] LONG $0x422ef9c5; BYTE $0x70 // vucomisd xmm0, qword [rdx + 112] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x0c244c88 // mov byte [rsp + 12], cl LONG $0x4610fbc5; BYTE $0x78 // vmovsd xmm0, qword [rsi + 120] - LONG $0x2454950f; BYTE $0x06 // setne byte [rsp + 6] LONG $0x422ef9c5; BYTE $0x78 // vucomisd xmm0, qword [rdx + 120] - WORD $0x950f; BYTE $0xd3 // setne bl + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x0b244c88 // mov byte [rsp + 11], cl QUAD $0x000000808610fbc5 // vmovsd xmm0, qword [rsi + 128] QUAD $0x00000080822ef9c5 // vucomisd xmm0, qword [rdx + 128] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x0e244c88 // mov byte [rsp + 14], cl QUAD $0x000000888610fbc5 // vmovsd xmm0, qword [rsi + 136] - LONG $0x2454950f; BYTE $0x0e // setne byte [rsp + 14] QUAD $0x00000088822ef9c5 // vucomisd xmm0, qword [rdx + 136] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x0a244c88 // mov byte [rsp + 10], cl QUAD $0x000000908610fbc5 // vmovsd xmm0, qword [rsi + 144] - LONG $0xd6950f41 // setne r14b QUAD $0x00000090822ef9c5 // vucomisd xmm0, qword [rdx + 144] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x09244c88 // mov byte [rsp + 9], cl QUAD $0x000000988610fbc5 // vmovsd xmm0, qword [rsi + 152] - LONG $0xd4950f41 // setne r12b QUAD $0x00000098822ef9c5 // vucomisd xmm0, qword [rdx + 152] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd6950f41 // setne r14b + WORD $0x0841; BYTE $0xc6 // or r14b, al QUAD $0x000000a08610fbc5 // vmovsd xmm0, qword [rsi + 160] - LONG $0x2454950f; BYTE $0x09 // setne byte [rsp + 9] QUAD $0x000000a0822ef9c5 // vucomisd xmm0, qword [rdx + 160] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x08244c88 // mov byte [rsp + 8], cl QUAD $0x000000a88610fbc5 // vmovsd xmm0, qword [rsi + 168] - LONG $0x2454950f; BYTE $0x0a // setne byte [rsp + 10] QUAD $0x000000a8822ef9c5 // vucomisd xmm0, qword [rdx + 168] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x07244c88 // mov byte [rsp + 7], cl QUAD $0x000000b08610fbc5 // vmovsd xmm0, qword [rsi + 176] - LONG $0x2454950f; BYTE $0x0b // setne byte [rsp + 11] QUAD $0x000000b0822ef9c5 // vucomisd xmm0, qword [rdx + 176] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x05244c88 // mov byte [rsp + 5], cl QUAD $0x000000b88610fbc5 // vmovsd xmm0, qword [rsi + 184] - LONG $0x2454950f; BYTE $0x0c // setne byte [rsp + 12] QUAD $0x000000b8822ef9c5 // vucomisd xmm0, qword [rdx + 184] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd7950f41 // setne r15b + WORD $0x0841; BYTE $0xc7 // or r15b, al QUAD $0x000000c08610fbc5 // vmovsd xmm0, qword [rsi + 192] - LONG $0xd0950f41 // setne r8b QUAD $0x000000c0822ef9c5 // vucomisd xmm0, qword [rdx + 192] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x06244c88 // mov byte [rsp + 6], cl QUAD $0x000000c88610fbc5 // vmovsd xmm0, qword [rsi + 200] - LONG $0x2454950f; BYTE $0x14 // setne byte [rsp + 20] QUAD $0x000000c8822ef9c5 // vucomisd xmm0, qword [rdx + 200] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x20244c88 // mov byte [rsp + 32], cl QUAD $0x000000d08610fbc5 // vmovsd xmm0, qword [rsi + 208] - LONG $0x2454950f; BYTE $0x0d // setne byte [rsp + 13] QUAD $0x000000d0822ef9c5 // vucomisd xmm0, qword [rdx + 208] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd3950f41 // setne r11b + WORD $0x0841; BYTE $0xc3 // or r11b, al QUAD $0x000000d88610fbc5 // vmovsd xmm0, qword [rsi + 216] - LONG $0x2454950f; BYTE $0x0f // setne byte [rsp + 15] QUAD $0x000000d8822ef9c5 // vucomisd xmm0, qword [rdx + 216] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd2950f41 // setne r10b + WORD $0x0841; BYTE $0xc2 // or r10b, al QUAD $0x000000e08610fbc5 // vmovsd xmm0, qword [rsi + 224] - LONG $0x2454950f; BYTE $0x10 // setne byte [rsp + 16] QUAD $0x000000e0822ef9c5 // vucomisd xmm0, qword [rdx + 224] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x04244c88 // mov byte [rsp + 4], cl QUAD $0x000000e88610fbc5 // vmovsd xmm0, qword [rsi + 232] - LONG $0x2454950f; BYTE $0x11 // setne byte [rsp + 17] QUAD $0x000000e8822ef9c5 // vucomisd xmm0, qword [rdx + 232] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x28244c88 // mov byte [rsp + 40], cl QUAD $0x000000f08610fbc5 // vmovsd xmm0, qword [rsi + 240] - LONG $0x2454950f; BYTE $0x13 // setne byte [rsp + 19] QUAD $0x000000f0822ef9c5 // vucomisd xmm0, qword [rdx + 240] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd1950f41 // setne r9b + WORD $0x0841; BYTE $0xc1 // or r9b, al QUAD $0x000000f88610fbc5 // vmovsd xmm0, qword [rsi + 248] - LONG $0x2454950f; BYTE $0x12 // setne byte [rsp + 18] LONG $0x00c68148; WORD $0x0001; BYTE $0x00 // add rsi, 256 QUAD $0x000000f8822ef9c5 // vucomisd xmm0, qword [rdx + 248] - LONG $0xd7950f40 // setne dil + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd0950f41 // setne r8b + WORD $0x0841; BYTE $0xc0 // or r8b, al + LONG $0x2444b60f; BYTE $0x0d // movzx eax, byte [rsp + 13] WORD $0xc000 // add al, al - LONG $0x04244402 // add al, byte [rsp + 4] + LONG $0x15244402 // add al, byte [rsp + 21] + LONG $0x05e7c040 // shl dil, 5 LONG $0x06e5c041 // shl r13b, 6 - LONG $0x07e7c041 // shl r15b, 7 - WORD $0x0845; BYTE $0xef // or r15b, r13b - LONG $0x6cb60f44; WORD $0x0524 // movzx r13d, byte [rsp + 5] - LONG $0x02e5c041 // shl r13b, 2 - WORD $0x0841; BYTE $0xc5 // or r13b, al - WORD $0x8944; BYTE $0xe8 // mov eax, r13d - WORD $0xc900 // add cl, cl - LONG $0x08244c02 // add cl, byte [rsp + 8] + WORD $0x0841; BYTE $0xfd // or r13b, dil + WORD $0x8944; BYTE $0xef // mov edi, r13d + LONG $0x244cb60f; BYTE $0x14 // movzx ecx, byte [rsp + 20] + WORD $0xe1c0; BYTE $0x02 // shl cl, 2 + WORD $0xc108 // or cl, al + WORD $0xd889 // mov eax, ebx + WORD $0xd800 // add al, bl + LONG $0x13244402 // add al, byte [rsp + 19] + WORD $0x8941; BYTE $0xc5 // mov r13d, eax + LONG $0x2444b60f; BYTE $0x03 // movzx eax, byte [rsp + 3] + WORD $0xe0c0; BYTE $0x07 // shl al, 7 + WORD $0x0840; BYTE $0xf8 // or al, dil + LONG $0x03244488 // mov byte [rsp + 3], al + LONG $0x2444b60f; BYTE $0x12 // movzx eax, byte [rsp + 18] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0x0844; BYTE $0xe8 // or al, r13b + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x17 // movzx eax, byte [rsp + 23] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0xc808 // or al, cl + LONG $0x245cb60f; BYTE $0x11 // movzx ebx, byte [rsp + 17] + WORD $0xe3c0; BYTE $0x03 // shl bl, 3 + WORD $0x0840; BYTE $0xfb // or bl, dil LONG $0x6cb60f44; WORD $0x1624 // movzx r13d, byte [rsp + 22] - LONG $0x03e5c041 // shl r13b, 3 + LONG $0x04e5c041 // shl r13b, 4 WORD $0x0841; BYTE $0xc5 // or r13b, al - LONG $0x02e1c041 // shl r9b, 2 - WORD $0x0841; BYTE $0xc9 // or r9b, cl - LONG $0x244cb60f; BYTE $0x15 // movzx ecx, byte [rsp + 21] - WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0x0844; BYTE $0xe9 // or cl, r13b - WORD $0x8941; BYTE $0xcd // mov r13d, ecx - LONG $0x03e3c041 // shl r11b, 3 - WORD $0x0845; BYTE $0xcb // or r11b, r9b - LONG $0x244cb60f; BYTE $0x17 // movzx ecx, byte [rsp + 23] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0x0844; BYTE $0xe9 // or cl, r13b - LONG $0x04e2c041 // shl r10b, 4 - WORD $0x0845; BYTE $0xda // or r10b, r11b - LONG $0x2444b60f; BYTE $0x07 // movzx eax, byte [rsp + 7] - WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0x0844; BYTE $0xd0 // or al, r10b - LONG $0x4cb60f44; WORD $0x0624 // movzx r9d, byte [rsp + 6] - LONG $0x06e1c041 // shl r9b, 6 - WORD $0xe3c0; BYTE $0x07 // shl bl, 7 - WORD $0x0844; BYTE $0xcb // or bl, r9b - WORD $0x0841; BYTE $0xcf // or r15b, cl - WORD $0xc308 // or bl, al - WORD $0x0045; BYTE $0xf6 // add r14b, r14b - LONG $0x24740244; BYTE $0x0e // add r14b, byte [rsp + 14] - LONG $0x02e4c041 // shl r12b, 2 - WORD $0x0845; BYTE $0xf4 // or r12b, r14b - LONG $0x24748b4c; BYTE $0x30 // mov r14, qword [rsp + 48] - LONG $0x2444b60f; BYTE $0x09 // movzx eax, byte [rsp + 9] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0x0844; BYTE $0xe0 // or al, r12b - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x0a // movzx eax, byte [rsp + 10] + LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xd808 // or al, bl + WORD $0xc789 // mov edi, eax + LONG $0x245cb60f; BYTE $0x0f // movzx ebx, byte [rsp + 15] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + LONG $0x2444b60f; BYTE $0x0c // movzx eax, byte [rsp + 12] + WORD $0xe0c0; BYTE $0x06 // shl al, 6 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x0b // movzx eax, byte [rsp + 11] - WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - WORD $0x8845; BYTE $0x3e // mov byte [r14], r15b - LONG $0x244cb60f; BYTE $0x0c // movzx ecx, byte [rsp + 12] + WORD $0xe0c0; BYTE $0x07 // shl al, 7 + WORD $0xd808 // or al, bl + LONG $0x245cb60f; BYTE $0x0a // movzx ebx, byte [rsp + 10] + WORD $0xdb00 // add bl, bl + LONG $0x0e245c02 // add bl, byte [rsp + 14] + LONG $0x244cb60f; BYTE $0x09 // movzx ecx, byte [rsp + 9] + WORD $0xe1c0; BYTE $0x02 // shl cl, 2 + WORD $0xd908 // or cl, bl + LONG $0x03e6c041 // shl r14b, 3 + WORD $0x0841; BYTE $0xce // or r14b, cl + LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0x0844; BYTE $0xf3 // or bl, r14b + LONG $0x24648b4c; BYTE $0x30 // mov r12, qword [rsp + 48] + LONG $0x74b60f44; WORD $0x0324 // movzx r14d, byte [rsp + 3] + WORD $0x0845; BYTE $0xee // or r14b, r13b + LONG $0x6cb60f44; WORD $0x0724 // movzx r13d, byte [rsp + 7] + LONG $0x05e5c041 // shl r13b, 5 + LONG $0x244cb60f; BYTE $0x05 // movzx ecx, byte [rsp + 5] WORD $0xe1c0; BYTE $0x06 // shl cl, 6 + WORD $0x0844; BYTE $0xe9 // or cl, r13b + WORD $0x0840; BYTE $0xf8 // or al, dil + LONG $0x07e7c041 // shl r15b, 7 + WORD $0x0841; BYTE $0xcf // or r15b, cl + WORD $0x0841; BYTE $0xdf // or r15b, bl + LONG $0x244cb60f; BYTE $0x20 // movzx ecx, byte [rsp + 32] + WORD $0xc900 // add cl, cl + LONG $0x06244c02 // add cl, byte [rsp + 6] + LONG $0x02e3c041 // shl r11b, 2 + WORD $0x0841; BYTE $0xcb // or r11b, cl + LONG $0x03e2c041 // shl r10b, 3 + WORD $0x0845; BYTE $0xda // or r10b, r11b + LONG $0x244cb60f; BYTE $0x04 // movzx ecx, byte [rsp + 4] + WORD $0xe1c0; BYTE $0x04 // shl cl, 4 + WORD $0x0844; BYTE $0xd1 // or cl, r10b + LONG $0x24348845 // mov byte [r12], r14b + LONG $0x245cb60f; BYTE $0x28 // movzx ebx, byte [rsp + 40] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + LONG $0x06e1c041 // shl r9b, 6 + WORD $0x0841; BYTE $0xd9 // or r9b, bl + LONG $0x24448841; BYTE $0x01 // mov byte [r12 + 1], al LONG $0x07e0c041 // shl r8b, 7 + WORD $0x0845; BYTE $0xc8 // or r8b, r9b WORD $0x0841; BYTE $0xc8 // or r8b, cl - LONG $0x015e8841 // mov byte [r14 + 1], bl - WORD $0x0841; BYTE $0xc0 // or r8b, al - LONG $0x2444b60f; BYTE $0x0d // movzx eax, byte [rsp + 13] - WORD $0xc000 // add al, al - LONG $0x14244402 // add al, byte [rsp + 20] - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x0f // movzx eax, byte [rsp + 15] - WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x11 // movzx eax, byte [rsp + 17] - WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0xc808 // or al, cl - LONG $0x244cb60f; BYTE $0x13 // movzx ecx, byte [rsp + 19] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0xc108 // or cl, al - LONG $0x2444b60f; BYTE $0x12 // movzx eax, byte [rsp + 18] - WORD $0xe0c0; BYTE $0x06 // shl al, 6 - LONG $0x07e7c040 // shl dil, 7 - WORD $0x0840; BYTE $0xc7 // or dil, al - WORD $0x0840; BYTE $0xcf // or dil, cl - LONG $0x02468845 // mov byte [r14 + 2], r8b - LONG $0x037e8841 // mov byte [r14 + 3], dil + LONG $0x247c8845; BYTE $0x02 // mov byte [r12 + 2], r15b + LONG $0x24448845; BYTE $0x03 // mov byte [r12 + 3], r8b LONG $0x00c28148; WORD $0x0001; BYTE $0x00 // add rdx, 256 - LONG $0x04c68349 // add r14, 4 - LONG $0x24448348; WORD $0xff28 // add qword [rsp + 40], -1 + LONG $0x04c48349 // add r12, 4 + LONG $0x24448348; WORD $0xff38 // add qword [rsp + 56], -1 JNE LBB3_52 - LONG $0x245c8b4c; BYTE $0x18 // mov r11, qword [rsp + 24] - LONG $0x247c8b4c; BYTE $0x20 // mov r15, qword [rsp + 32] + LONG $0x24748b4c; BYTE $0x18 // mov r14, qword [rsp + 24] + LONG $0x247c8b4c; BYTE $0x40 // mov r15, qword [rsp + 64] LBB3_54: LONG $0x05e7c149 // shl r15, 5 - WORD $0x394d; BYTE $0xdf // cmp r15, r11 + WORD $0x394d; BYTE $0xf7 // cmp r15, r14 JGE LBB3_123 - WORD $0x294d; BYTE $0xfb // sub r11, r15 + WORD $0x294d; BYTE $0xfe // sub r14, r15 WORD $0xc931 // xor ecx, ecx LBB3_56: + LONG $0x01498d4c // lea r9, [rcx + 1] LONG $0x0410fbc5; BYTE $0xce // vmovsd xmm0, qword [rsi + 8*rcx] LONG $0x042ef9c5; BYTE $0xca // vucomisd xmm0, qword [rdx + 8*rcx] - LONG $0x01418d4c // lea r8, [rcx + 1] - WORD $0x950f; BYTE $0xd3 // setne bl - WORD $0xdbf6 // neg bl + WORD $0x9a0f; BYTE $0xd3 // setp bl + WORD $0x950f; BYTE $0xd0 // setne al + WORD $0xd808 // or al, bl + WORD $0xd8f6 // neg al WORD $0x8948; BYTE $0xcf // mov rdi, rcx LONG $0x03efc148 // shr rdi, 3 - LONG $0x0cb60f45; BYTE $0x3e // movzx r9d, byte [r14 + rdi] - WORD $0x3044; BYTE $0xcb // xor bl, r9b + LONG $0x04b60f45; BYTE $0x3c // movzx r8d, byte [r12 + rdi] + WORD $0x3044; BYTE $0xc0 // xor al, r8b WORD $0xe180; BYTE $0x07 // and cl, 7 - WORD $0x01b0 // mov al, 1 - WORD $0xe0d2 // shl al, cl - WORD $0xd820 // and al, bl - WORD $0x3044; BYTE $0xc8 // xor al, r9b - LONG $0x3e048841 // mov byte [r14 + rdi], al - WORD $0x894c; BYTE $0xc1 // mov rcx, r8 - WORD $0x394d; BYTE $0xc3 // cmp r11, r8 + WORD $0x01b3 // mov bl, 1 + WORD $0xe3d2 // shl bl, cl + WORD $0xc320 // and bl, al + WORD $0x3044; BYTE $0xc3 // xor bl, r8b + LONG $0x3c1c8841 // mov byte [r12 + rdi], bl + WORD $0x894c; BYTE $0xc9 // mov rcx, r9 + WORD $0x394d; BYTE $0xce // cmp r14, r9 JNE LBB3_56 JMP LBB3_123 @@ -17291,16 +18040,16 @@ LBB3_2: JE LBB3_57 WORD $0xff83; BYTE $0x03 // cmp edi, 3 JNE LBB3_123 - LONG $0x1f7b8d4d // lea r15, [r11 + 31] - WORD $0x854d; BYTE $0xdb // test r11, r11 - LONG $0xfb490f4d // cmovns r15, r11 - LONG $0x07418d41 // lea eax, [r9 + 7] - WORD $0x8545; BYTE $0xc9 // test r9d, r9d - LONG $0xc1490f41 // cmovns eax, r9d - WORD $0xe083; BYTE $0xf8 // and eax, -8 - WORD $0x2941; BYTE $0xc1 // sub r9d, eax + LONG $0x1f7e8d4d // lea r15, [r14 + 31] + WORD $0x854d; BYTE $0xf6 // test r14, r14 + LONG $0xfe490f4d // cmovns r15, r14 + WORD $0x488d; BYTE $0x07 // lea ecx, [rax + 7] + WORD $0xc085 // test eax, eax + WORD $0x490f; BYTE $0xc8 // cmovns ecx, eax + WORD $0xe183; BYTE $0xf8 // and ecx, -8 + WORD $0xc829 // sub eax, ecx JE LBB3_8 - WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d + WORD $0x9848 // cdqe LBB3_6: WORD $0xb60f; BYTE $0x0e // movzx ecx, byte [rsi] @@ -17313,7 +18062,7 @@ LBB3_6: WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xf8490f48 // cmovns rdi, rax LONG $0x03ffc148 // sar rdi, 3 - LONG $0x04b60f45; BYTE $0x3e // movzx r8d, byte [r14 + rdi] + LONG $0x04b60f45; BYTE $0x3c // movzx r8d, byte [r12 + rdi] WORD $0x3045; BYTE $0xc2 // xor r10b, r8b QUAD $0x00000000fd0c8d44 // lea r9d, [8*rdi] WORD $0xc189 // mov ecx, eax @@ -17322,49 +18071,49 @@ LBB3_6: WORD $0xe3d3 // shl ebx, cl WORD $0x2044; BYTE $0xd3 // and bl, r10b WORD $0x3044; BYTE $0xc3 // xor bl, r8b - LONG $0x3e1c8841 // mov byte [r14 + rdi], bl + LONG $0x3c1c8841 // mov byte [r12 + rdi], bl LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 JNE LBB3_6 - LONG $0x01c68349 // add r14, 1 + LONG $0x01c48349 // add r12, 1 LBB3_8: LONG $0x05ffc149 // sar r15, 5 - LONG $0x20fb8349 // cmp r11, 32 + LONG $0x20fe8349 // cmp r14, 32 JL LBB3_12 - LONG $0x245c894c; BYTE $0x18 // mov qword [rsp + 24], r11 - LONG $0x247c894c; BYTE $0x38 // mov qword [rsp + 56], r15 + LONG $0x2474894c; BYTE $0x18 // mov qword [rsp + 24], r14 LONG $0x247c894c; BYTE $0x20 // mov qword [rsp + 32], r15 + LONG $0x247c894c; BYTE $0x28 // mov qword [rsp + 40], r15 LBB3_10: - LONG $0x2474894c; BYTE $0x30 // mov qword [rsp + 48], r14 + LONG $0x2464894c; BYTE $0x30 // mov qword [rsp + 48], r12 WORD $0xb60f; BYTE $0x06 // movzx eax, byte [rsi] LONG $0x014eb60f // movzx ecx, byte [rsi + 1] WORD $0x023a // cmp al, byte [rdx] - LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] + LONG $0x2454950f; BYTE $0x04 // setne byte [rsp + 4] WORD $0x4a3a; BYTE $0x01 // cmp cl, byte [rdx + 1] - WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0x950f; BYTE $0xd3 // setne bl LONG $0x0246b60f // movzx eax, byte [rsi + 2] WORD $0x423a; BYTE $0x02 // cmp al, byte [rdx + 2] - LONG $0x2454950f; BYTE $0x14 // setne byte [rsp + 20] + LONG $0x2454950f; BYTE $0x15 // setne byte [rsp + 21] LONG $0x0346b60f // movzx eax, byte [rsi + 3] WORD $0x423a; BYTE $0x03 // cmp al, byte [rdx + 3] - LONG $0x2454950f; BYTE $0x15 // setne byte [rsp + 21] + LONG $0x2454950f; BYTE $0x16 // setne byte [rsp + 22] LONG $0x0446b60f // movzx eax, byte [rsi + 4] WORD $0x423a; BYTE $0x04 // cmp al, byte [rdx + 4] - LONG $0x2454950f; BYTE $0x16 // setne byte [rsp + 22] + LONG $0x2454950f; BYTE $0x17 // setne byte [rsp + 23] LONG $0x0546b60f // movzx eax, byte [rsi + 5] WORD $0x423a; BYTE $0x05 // cmp al, byte [rdx + 5] - LONG $0x2454950f; BYTE $0x17 // setne byte [rsp + 23] + LONG $0x2454950f; BYTE $0x03 // setne byte [rsp + 3] LONG $0x0646b60f // movzx eax, byte [rsi + 6] WORD $0x423a; BYTE $0x06 // cmp al, byte [rdx + 6] - LONG $0x2454950f; BYTE $0x04 // setne byte [rsp + 4] + LONG $0x2454950f; BYTE $0x05 // setne byte [rsp + 5] LONG $0x0746b60f // movzx eax, byte [rsi + 7] WORD $0x423a; BYTE $0x07 // cmp al, byte [rdx + 7] LONG $0xd7950f41 // setne r15b LONG $0x0846b60f // movzx eax, byte [rsi + 8] WORD $0x423a; BYTE $0x08 // cmp al, byte [rdx + 8] - LONG $0x2454950f; BYTE $0x07 // setne byte [rsp + 7] + LONG $0x2454950f; BYTE $0x08 // setne byte [rsp + 8] LONG $0x0946b60f // movzx eax, byte [rsi + 9] WORD $0x423a; BYTE $0x09 // cmp al, byte [rdx + 9] LONG $0xd7950f40 // setne dil @@ -17379,16 +18128,16 @@ LBB3_10: LONG $0xd6950f41 // setne r14b LONG $0x0d46b60f // movzx eax, byte [rsi + 13] WORD $0x423a; BYTE $0x0d // cmp al, byte [rdx + 13] - LONG $0x2454950f; BYTE $0x05 // setne byte [rsp + 5] + LONG $0x2454950f; BYTE $0x06 // setne byte [rsp + 6] LONG $0x0e46b60f // movzx eax, byte [rsi + 14] WORD $0x423a; BYTE $0x0e // cmp al, byte [rdx + 14] - LONG $0x2454950f; BYTE $0x06 // setne byte [rsp + 6] + LONG $0x2454950f; BYTE $0x07 // setne byte [rsp + 7] LONG $0x0f46b60f // movzx eax, byte [rsi + 15] WORD $0x423a; BYTE $0x0f // cmp al, byte [rdx + 15] - WORD $0x950f; BYTE $0xd3 // setne bl + LONG $0xd0950f41 // setne r8b LONG $0x1046b60f // movzx eax, byte [rsi + 16] WORD $0x423a; BYTE $0x10 // cmp al, byte [rdx + 16] - LONG $0x2454950f; BYTE $0x0d // setne byte [rsp + 13] + LONG $0x2454950f; BYTE $0x0e // setne byte [rsp + 14] LONG $0x1146b60f // movzx eax, byte [rsi + 17] WORD $0x423a; BYTE $0x11 // cmp al, byte [rdx + 17] LONG $0xd4950f41 // setne r12b @@ -17397,144 +18146,144 @@ LBB3_10: LONG $0xd5950f41 // setne r13b LONG $0x1346b60f // movzx eax, byte [rsi + 19] WORD $0x423a; BYTE $0x13 // cmp al, byte [rdx + 19] - LONG $0x2454950f; BYTE $0x08 // setne byte [rsp + 8] + LONG $0x2454950f; BYTE $0x09 // setne byte [rsp + 9] LONG $0x1446b60f // movzx eax, byte [rsi + 20] WORD $0x423a; BYTE $0x14 // cmp al, byte [rdx + 20] - LONG $0x2454950f; BYTE $0x09 // setne byte [rsp + 9] + LONG $0x2454950f; BYTE $0x0a // setne byte [rsp + 10] LONG $0x1546b60f // movzx eax, byte [rsi + 21] WORD $0x423a; BYTE $0x15 // cmp al, byte [rdx + 21] - LONG $0x2454950f; BYTE $0x0a // setne byte [rsp + 10] + LONG $0x2454950f; BYTE $0x0b // setne byte [rsp + 11] LONG $0x1646b60f // movzx eax, byte [rsi + 22] WORD $0x423a; BYTE $0x16 // cmp al, byte [rdx + 22] - LONG $0x2454950f; BYTE $0x0b // setne byte [rsp + 11] + LONG $0x2454950f; BYTE $0x0c // setne byte [rsp + 12] LONG $0x1746b60f // movzx eax, byte [rsi + 23] WORD $0x423a; BYTE $0x17 // cmp al, byte [rdx + 23] LONG $0xd1950f41 // setne r9b LONG $0x1846b60f // movzx eax, byte [rsi + 24] WORD $0x423a; BYTE $0x18 // cmp al, byte [rdx + 24] - LONG $0x2454950f; BYTE $0x13 // setne byte [rsp + 19] + LONG $0x2454950f; BYTE $0x14 // setne byte [rsp + 20] LONG $0x1946b60f // movzx eax, byte [rsi + 25] WORD $0x423a; BYTE $0x19 // cmp al, byte [rdx + 25] - LONG $0x2454950f; BYTE $0x0c // setne byte [rsp + 12] + LONG $0x2454950f; BYTE $0x0d // setne byte [rsp + 13] LONG $0x1a46b60f // movzx eax, byte [rsi + 26] WORD $0x423a; BYTE $0x1a // cmp al, byte [rdx + 26] - LONG $0x2454950f; BYTE $0x0e // setne byte [rsp + 14] + LONG $0x2454950f; BYTE $0x0f // setne byte [rsp + 15] LONG $0x1b46b60f // movzx eax, byte [rsi + 27] WORD $0x423a; BYTE $0x1b // cmp al, byte [rdx + 27] - LONG $0x2454950f; BYTE $0x0f // setne byte [rsp + 15] + LONG $0x2454950f; BYTE $0x10 // setne byte [rsp + 16] LONG $0x1c46b60f // movzx eax, byte [rsi + 28] WORD $0x423a; BYTE $0x1c // cmp al, byte [rdx + 28] - LONG $0x2454950f; BYTE $0x10 // setne byte [rsp + 16] + LONG $0x2454950f; BYTE $0x11 // setne byte [rsp + 17] LONG $0x1d46b60f // movzx eax, byte [rsi + 29] WORD $0x423a; BYTE $0x1d // cmp al, byte [rdx + 29] - LONG $0x2454950f; BYTE $0x11 // setne byte [rsp + 17] + LONG $0x2454950f; BYTE $0x12 // setne byte [rsp + 18] LONG $0x1e46b60f // movzx eax, byte [rsi + 30] WORD $0x423a; BYTE $0x1e // cmp al, byte [rdx + 30] - LONG $0x2454950f; BYTE $0x12 // setne byte [rsp + 18] + LONG $0x2454950f; BYTE $0x13 // setne byte [rsp + 19] LONG $0x1f46b60f // movzx eax, byte [rsi + 31] LONG $0x20c68348 // add rsi, 32 WORD $0x423a; BYTE $0x1f // cmp al, byte [rdx + 31] - LONG $0xd0950f41 // setne r8b - WORD $0xc900 // add cl, cl - LONG $0x28244c02 // add cl, byte [rsp + 40] - WORD $0xc889 // mov eax, ecx - LONG $0x244cb60f; BYTE $0x04 // movzx ecx, byte [rsp + 4] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xdb00 // add bl, bl + LONG $0x04245c02 // add bl, byte [rsp + 4] + WORD $0xd889 // mov eax, ebx + LONG $0x245cb60f; BYTE $0x05 // movzx ebx, byte [rsp + 5] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e7c041 // shl r15b, 7 - WORD $0x0841; BYTE $0xcf // or r15b, cl - LONG $0x244cb60f; BYTE $0x14 // movzx ecx, byte [rsp + 20] - WORD $0xe1c0; BYTE $0x02 // shl cl, 2 - WORD $0xc108 // or cl, al - WORD $0xc889 // mov eax, ecx + WORD $0x0841; BYTE $0xdf // or r15b, bl + LONG $0x245cb60f; BYTE $0x15 // movzx ebx, byte [rsp + 21] + WORD $0xe3c0; BYTE $0x02 // shl bl, 2 + WORD $0xc308 // or bl, al + WORD $0xd889 // mov eax, ebx WORD $0x0040; BYTE $0xff // add dil, dil - LONG $0x247c0240; BYTE $0x07 // add dil, byte [rsp + 7] - LONG $0x244cb60f; BYTE $0x15 // movzx ecx, byte [rsp + 21] - WORD $0xe1c0; BYTE $0x03 // shl cl, 3 - WORD $0xc108 // or cl, al - WORD $0xc889 // mov eax, ecx + LONG $0x247c0240; BYTE $0x08 // add dil, byte [rsp + 8] + LONG $0x245cb60f; BYTE $0x16 // movzx ebx, byte [rsp + 22] + WORD $0xe3c0; BYTE $0x03 // shl bl, 3 + WORD $0xc308 // or bl, al + WORD $0xd889 // mov eax, ebx LONG $0x02e2c041 // shl r10b, 2 WORD $0x0841; BYTE $0xfa // or r10b, dil - LONG $0x244cb60f; BYTE $0x16 // movzx ecx, byte [rsp + 22] - WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0xc108 // or cl, al - WORD $0xcf89 // mov edi, ecx + LONG $0x245cb60f; BYTE $0x17 // movzx ebx, byte [rsp + 23] + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0xc308 // or bl, al + WORD $0xdf89 // mov edi, ebx LONG $0x03e3c041 // shl r11b, 3 WORD $0x0845; BYTE $0xd3 // or r11b, r10b - LONG $0x244cb60f; BYTE $0x17 // movzx ecx, byte [rsp + 23] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0x0840; BYTE $0xf9 // or cl, dil + LONG $0x245cb60f; BYTE $0x03 // movzx ebx, byte [rsp + 3] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + WORD $0x0840; BYTE $0xfb // or bl, dil LONG $0x04e6c041 // shl r14b, 4 WORD $0x0845; BYTE $0xde // or r14b, r11b - LONG $0x2444b60f; BYTE $0x05 // movzx eax, byte [rsp + 5] + LONG $0x2444b60f; BYTE $0x06 // movzx eax, byte [rsp + 6] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0x0844; BYTE $0xf0 // or al, r14b - LONG $0x247cb60f; BYTE $0x06 // movzx edi, byte [rsp + 6] + LONG $0x247cb60f; BYTE $0x07 // movzx edi, byte [rsp + 7] LONG $0x06e7c040 // shl dil, 6 - WORD $0xe3c0; BYTE $0x07 // shl bl, 7 - WORD $0x0840; BYTE $0xfb // or bl, dil - WORD $0x0841; BYTE $0xcf // or r15b, cl - WORD $0xc308 // or bl, al + LONG $0x07e0c041 // shl r8b, 7 + WORD $0x0841; BYTE $0xf8 // or r8b, dil + WORD $0x0841; BYTE $0xdf // or r15b, bl + WORD $0x0841; BYTE $0xc0 // or r8b, al WORD $0x0045; BYTE $0xe4 // add r12b, r12b - LONG $0x24640244; BYTE $0x0d // add r12b, byte [rsp + 13] + LONG $0x24640244; BYTE $0x0e // add r12b, byte [rsp + 14] LONG $0x02e5c041 // shl r13b, 2 WORD $0x0845; BYTE $0xe5 // or r13b, r12b - LONG $0x24748b4c; BYTE $0x30 // mov r14, qword [rsp + 48] - LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + LONG $0x24648b4c; BYTE $0x30 // mov r12, qword [rsp + 48] + LONG $0x2444b60f; BYTE $0x09 // movzx eax, byte [rsp + 9] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0x0844; BYTE $0xe8 // or al, r13b - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x09 // movzx eax, byte [rsp + 9] - WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x0a // movzx eax, byte [rsp + 10] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x0b // movzx eax, byte [rsp + 11] WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - WORD $0x8845; BYTE $0x3e // mov byte [r14], r15b - LONG $0x244cb60f; BYTE $0x0b // movzx ecx, byte [rsp + 11] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 + WORD $0xd808 // or al, bl + LONG $0x243c8845 // mov byte [r12], r15b + LONG $0x245cb60f; BYTE $0x0c // movzx ebx, byte [rsp + 12] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e1c041 // shl r9b, 7 - WORD $0x0841; BYTE $0xc9 // or r9b, cl - LONG $0x015e8841 // mov byte [r14 + 1], bl + WORD $0x0841; BYTE $0xd9 // or r9b, bl + LONG $0x24448845; BYTE $0x01 // mov byte [r12 + 1], r8b WORD $0x0841; BYTE $0xc1 // or r9b, al - LONG $0x2444b60f; BYTE $0x0c // movzx eax, byte [rsp + 12] + LONG $0x2444b60f; BYTE $0x0d // movzx eax, byte [rsp + 13] WORD $0xc000 // add al, al - LONG $0x13244402 // add al, byte [rsp + 19] - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x0e // movzx eax, byte [rsp + 14] - WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + LONG $0x14244402 // add al, byte [rsp + 20] + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x0f // movzx eax, byte [rsp + 15] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] - WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x11 // movzx eax, byte [rsp + 17] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x12 // movzx eax, byte [rsp + 18] WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - LONG $0x244cb60f; BYTE $0x12 // movzx ecx, byte [rsp + 18] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 - LONG $0x07e0c041 // shl r8b, 7 - WORD $0x0841; BYTE $0xc8 // or r8b, cl - WORD $0x0841; BYTE $0xc0 // or r8b, al - LONG $0x024e8845 // mov byte [r14 + 2], r9b - LONG $0x03468845 // mov byte [r14 + 3], r8b + WORD $0xd808 // or al, bl + LONG $0x245cb60f; BYTE $0x13 // movzx ebx, byte [rsp + 19] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 + WORD $0xe1c0; BYTE $0x07 // shl cl, 7 + WORD $0xd908 // or cl, bl + WORD $0xc108 // or cl, al + LONG $0x244c8845; BYTE $0x02 // mov byte [r12 + 2], r9b + LONG $0x244c8841; BYTE $0x03 // mov byte [r12 + 3], cl LONG $0x20c28348 // add rdx, 32 - LONG $0x04c68349 // add r14, 4 - LONG $0x24448348; WORD $0xff20 // add qword [rsp + 32], -1 + LONG $0x04c48349 // add r12, 4 + LONG $0x24448348; WORD $0xff28 // add qword [rsp + 40], -1 JNE LBB3_10 - LONG $0x245c8b4c; BYTE $0x18 // mov r11, qword [rsp + 24] - LONG $0x247c8b4c; BYTE $0x38 // mov r15, qword [rsp + 56] + LONG $0x24748b4c; BYTE $0x18 // mov r14, qword [rsp + 24] + LONG $0x247c8b4c; BYTE $0x20 // mov r15, qword [rsp + 32] LBB3_12: LONG $0x05e7c149 // shl r15, 5 - WORD $0x394d; BYTE $0xdf // cmp r15, r11 + WORD $0x394d; BYTE $0xf7 // cmp r15, r14 JGE LBB3_123 - WORD $0x294d; BYTE $0xfb // sub r11, r15 + WORD $0x294d; BYTE $0xfe // sub r14, r15 WORD $0xc931 // xor ecx, ecx LBB3_14: @@ -17545,16 +18294,16 @@ LBB3_14: WORD $0xdbf6 // neg bl WORD $0x8948; BYTE $0xcf // mov rdi, rcx LONG $0x03efc148 // shr rdi, 3 - LONG $0x0cb60f45; BYTE $0x3e // movzx r9d, byte [r14 + rdi] + LONG $0x0cb60f45; BYTE $0x3c // movzx r9d, byte [r12 + rdi] WORD $0x3044; BYTE $0xcb // xor bl, r9b WORD $0xe180; BYTE $0x07 // and cl, 7 WORD $0x01b0 // mov al, 1 WORD $0xe0d2 // shl al, cl WORD $0xd820 // and al, bl WORD $0x3044; BYTE $0xc8 // xor al, r9b - LONG $0x3e048841 // mov byte [r14 + rdi], al + LONG $0x3c048841 // mov byte [r12 + rdi], al WORD $0x894c; BYTE $0xc1 // mov rcx, r8 - WORD $0x394d; BYTE $0xc3 // cmp r11, r8 + WORD $0x394d; BYTE $0xc6 // cmp r14, r8 JNE LBB3_14 JMP LBB3_123 @@ -17563,16 +18312,16 @@ LBB3_30: JE LBB3_90 WORD $0xff83; BYTE $0x08 // cmp edi, 8 JNE LBB3_123 - LONG $0x1f7b8d4d // lea r15, [r11 + 31] - WORD $0x854d; BYTE $0xdb // test r11, r11 - LONG $0xfb490f4d // cmovns r15, r11 - LONG $0x07418d41 // lea eax, [r9 + 7] - WORD $0x8545; BYTE $0xc9 // test r9d, r9d - LONG $0xc1490f41 // cmovns eax, r9d - WORD $0xe083; BYTE $0xf8 // and eax, -8 - WORD $0x2941; BYTE $0xc1 // sub r9d, eax + LONG $0x1f7e8d4d // lea r15, [r14 + 31] + WORD $0x854d; BYTE $0xf6 // test r14, r14 + LONG $0xfe490f4d // cmovns r15, r14 + WORD $0x488d; BYTE $0x07 // lea ecx, [rax + 7] + WORD $0xc085 // test eax, eax + WORD $0x490f; BYTE $0xc8 // cmovns ecx, eax + WORD $0xe183; BYTE $0xf8 // and ecx, -8 + WORD $0xc829 // sub eax, ecx JE LBB3_36 - WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d + WORD $0x9848 // cdqe LBB3_34: WORD $0x8b48; BYTE $0x0e // mov rcx, qword [rsi] @@ -17585,7 +18334,7 @@ LBB3_34: WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xf8490f48 // cmovns rdi, rax LONG $0x03ffc148 // sar rdi, 3 - LONG $0x04b60f45; BYTE $0x3e // movzx r8d, byte [r14 + rdi] + LONG $0x04b60f45; BYTE $0x3c // movzx r8d, byte [r12 + rdi] WORD $0x3045; BYTE $0xc2 // xor r10b, r8b QUAD $0x00000000fd0c8d44 // lea r9d, [8*rdi] WORD $0xc189 // mov ecx, eax @@ -17594,49 +18343,49 @@ LBB3_34: WORD $0xe3d3 // shl ebx, cl WORD $0x2044; BYTE $0xd3 // and bl, r10b WORD $0x3044; BYTE $0xc3 // xor bl, r8b - LONG $0x3e1c8841 // mov byte [r14 + rdi], bl + LONG $0x3c1c8841 // mov byte [r12 + rdi], bl LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 JNE LBB3_34 - LONG $0x01c68349 // add r14, 1 + LONG $0x01c48349 // add r12, 1 LBB3_36: LONG $0x05ffc149 // sar r15, 5 - LONG $0x20fb8349 // cmp r11, 32 + LONG $0x20fe8349 // cmp r14, 32 JL LBB3_40 - LONG $0x245c894c; BYTE $0x18 // mov qword [rsp + 24], r11 - LONG $0x247c894c; BYTE $0x40 // mov qword [rsp + 64], r15 + LONG $0x2474894c; BYTE $0x18 // mov qword [rsp + 24], r14 LONG $0x247c894c; BYTE $0x38 // mov qword [rsp + 56], r15 + LONG $0x247c894c; BYTE $0x20 // mov qword [rsp + 32], r15 LBB3_38: - LONG $0x2474894c; BYTE $0x30 // mov qword [rsp + 48], r14 + LONG $0x2464894c; BYTE $0x30 // mov qword [rsp + 48], r12 WORD $0x8b48; BYTE $0x06 // mov rax, qword [rsi] LONG $0x084e8b48 // mov rcx, qword [rsi + 8] WORD $0x3b48; BYTE $0x02 // cmp rax, qword [rdx] - LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] + LONG $0x2454950f; BYTE $0x04 // setne byte [rsp + 4] LONG $0x084a3b48 // cmp rcx, qword [rdx + 8] - LONG $0x2454950f; BYTE $0x20 // setne byte [rsp + 32] + LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] LONG $0x10468b48 // mov rax, qword [rsi + 16] LONG $0x10423b48 // cmp rax, qword [rdx + 16] - LONG $0x2454950f; BYTE $0x14 // setne byte [rsp + 20] + LONG $0x2454950f; BYTE $0x15 // setne byte [rsp + 21] LONG $0x18468b48 // mov rax, qword [rsi + 24] LONG $0x18423b48 // cmp rax, qword [rdx + 24] - LONG $0x2454950f; BYTE $0x15 // setne byte [rsp + 21] + LONG $0x2454950f; BYTE $0x16 // setne byte [rsp + 22] LONG $0x20468b48 // mov rax, qword [rsi + 32] LONG $0x20423b48 // cmp rax, qword [rdx + 32] - LONG $0x2454950f; BYTE $0x16 // setne byte [rsp + 22] + LONG $0x2454950f; BYTE $0x17 // setne byte [rsp + 23] LONG $0x28468b48 // mov rax, qword [rsi + 40] LONG $0x28423b48 // cmp rax, qword [rdx + 40] - LONG $0x2454950f; BYTE $0x17 // setne byte [rsp + 23] + LONG $0x2454950f; BYTE $0x03 // setne byte [rsp + 3] LONG $0x30468b48 // mov rax, qword [rsi + 48] LONG $0x30423b48 // cmp rax, qword [rdx + 48] - LONG $0x2454950f; BYTE $0x04 // setne byte [rsp + 4] + LONG $0x2454950f; BYTE $0x05 // setne byte [rsp + 5] LONG $0x38468b48 // mov rax, qword [rsi + 56] LONG $0x38423b48 // cmp rax, qword [rdx + 56] LONG $0xd5950f41 // setne r13b LONG $0x40468b48 // mov rax, qword [rsi + 64] LONG $0x40423b48 // cmp rax, qword [rdx + 64] - LONG $0x2454950f; BYTE $0x09 // setne byte [rsp + 9] + LONG $0x2454950f; BYTE $0x0a // setne byte [rsp + 10] LONG $0x48468b48 // mov rax, qword [rsi + 72] LONG $0x48423b48 // cmp rax, qword [rdx + 72] LONG $0xd0950f41 // setne r8b @@ -17648,165 +18397,165 @@ LBB3_38: LONG $0xd7950f41 // setne r15b LONG $0x60468b48 // mov rax, qword [rsi + 96] LONG $0x60423b48 // cmp rax, qword [rdx + 96] - LONG $0x2454950f; BYTE $0x05 // setne byte [rsp + 5] + LONG $0x2454950f; BYTE $0x06 // setne byte [rsp + 6] LONG $0x68468b48 // mov rax, qword [rsi + 104] LONG $0x68423b48 // cmp rax, qword [rdx + 104] - LONG $0x2454950f; BYTE $0x06 // setne byte [rsp + 6] + LONG $0x2454950f; BYTE $0x07 // setne byte [rsp + 7] LONG $0x70468b48 // mov rax, qword [rsi + 112] LONG $0x70423b48 // cmp rax, qword [rdx + 112] - LONG $0x2454950f; BYTE $0x07 // setne byte [rsp + 7] + LONG $0x2454950f; BYTE $0x08 // setne byte [rsp + 8] LONG $0x78468b48 // mov rax, qword [rsi + 120] LONG $0x78423b48 // cmp rax, qword [rdx + 120] - WORD $0x950f; BYTE $0xd3 // setne bl + LONG $0xd7950f40 // setne dil LONG $0x80868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 128] - LONG $0x888e8b48; WORD $0x0000; BYTE $0x00 // mov rcx, qword [rsi + 136] + LONG $0x889e8b48; WORD $0x0000; BYTE $0x00 // mov rbx, qword [rsi + 136] LONG $0x80823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 128] LONG $0x90868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 144] - LONG $0x2454950f; BYTE $0x0a // setne byte [rsp + 10] - LONG $0x888a3b48; WORD $0x0000; BYTE $0x00 // cmp rcx, qword [rdx + 136] - LONG $0x988e8b48; WORD $0x0000; BYTE $0x00 // mov rcx, qword [rsi + 152] + LONG $0x2454950f; BYTE $0x0b // setne byte [rsp + 11] + LONG $0x889a3b48; WORD $0x0000; BYTE $0x00 // cmp rbx, qword [rdx + 136] + LONG $0x989e8b48; WORD $0x0000; BYTE $0x00 // mov rbx, qword [rsi + 152] LONG $0xd2950f41 // setne r10b LONG $0x90823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 144] LONG $0xa0868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 160] LONG $0xd6950f41 // setne r14b - LONG $0x988a3b48; WORD $0x0000; BYTE $0x00 // cmp rcx, qword [rdx + 152] - LONG $0xa88e8b48; WORD $0x0000; BYTE $0x00 // mov rcx, qword [rsi + 168] + LONG $0x989a3b48; WORD $0x0000; BYTE $0x00 // cmp rbx, qword [rdx + 152] + LONG $0xa89e8b48; WORD $0x0000; BYTE $0x00 // mov rbx, qword [rsi + 168] LONG $0xd4950f41 // setne r12b LONG $0xa0823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 160] - LONG $0x2454950f; BYTE $0x08 // setne byte [rsp + 8] - LONG $0xa88a3b48; WORD $0x0000; BYTE $0x00 // cmp rcx, qword [rdx + 168] + LONG $0x2454950f; BYTE $0x09 // setne byte [rsp + 9] + LONG $0xa89a3b48; WORD $0x0000; BYTE $0x00 // cmp rbx, qword [rdx + 168] LONG $0xb0868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 176] - LONG $0x2454950f; BYTE $0x0b // setne byte [rsp + 11] + LONG $0x2454950f; BYTE $0x0c // setne byte [rsp + 12] LONG $0xb0823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 176] LONG $0xb8868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 184] - LONG $0x2454950f; BYTE $0x0c // setne byte [rsp + 12] + LONG $0x2454950f; BYTE $0x0d // setne byte [rsp + 13] LONG $0xb8823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 184] LONG $0xc0868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 192] LONG $0xd1950f41 // setne r9b LONG $0xc0823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 192] LONG $0xc8868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 200] - LONG $0x2454950f; BYTE $0x13 // setne byte [rsp + 19] + LONG $0x2454950f; BYTE $0x14 // setne byte [rsp + 20] LONG $0xc8823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 200] LONG $0xd0868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 208] - LONG $0x2454950f; BYTE $0x0d // setne byte [rsp + 13] + LONG $0x2454950f; BYTE $0x0e // setne byte [rsp + 14] LONG $0xd0823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 208] LONG $0xd8868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 216] - LONG $0x2454950f; BYTE $0x0e // setne byte [rsp + 14] + LONG $0x2454950f; BYTE $0x0f // setne byte [rsp + 15] LONG $0xd8823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 216] LONG $0xe0868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 224] - LONG $0x2454950f; BYTE $0x0f // setne byte [rsp + 15] + LONG $0x2454950f; BYTE $0x10 // setne byte [rsp + 16] LONG $0xe0823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 224] LONG $0xe8868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 232] - LONG $0x2454950f; BYTE $0x10 // setne byte [rsp + 16] + LONG $0x2454950f; BYTE $0x11 // setne byte [rsp + 17] LONG $0xe8823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 232] LONG $0xf0868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 240] - LONG $0x2454950f; BYTE $0x12 // setne byte [rsp + 18] + LONG $0x2454950f; BYTE $0x13 // setne byte [rsp + 19] LONG $0xf0823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 240] LONG $0xf8868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 248] - LONG $0x2454950f; BYTE $0x11 // setne byte [rsp + 17] + LONG $0x2454950f; BYTE $0x12 // setne byte [rsp + 18] LONG $0x00c68148; WORD $0x0001; BYTE $0x00 // add rsi, 256 LONG $0xf8823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 248] - LONG $0xd7950f40 // setne dil - LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] + WORD $0x950f; BYTE $0xd1 // setne cl + LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] WORD $0xc000 // add al, al - LONG $0x28244402 // add al, byte [rsp + 40] - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x04 // movzx eax, byte [rsp + 4] + LONG $0x04244402 // add al, byte [rsp + 4] + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x05 // movzx eax, byte [rsp + 5] WORD $0xe0c0; BYTE $0x06 // shl al, 6 LONG $0x07e5c041 // shl r13b, 7 WORD $0x0841; BYTE $0xc5 // or r13b, al - LONG $0x2444b60f; BYTE $0x14 // movzx eax, byte [rsp + 20] + LONG $0x2444b60f; BYTE $0x15 // movzx eax, byte [rsp + 21] WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xc808 // or al, cl + WORD $0xd808 // or al, bl WORD $0x0045; BYTE $0xc0 // add r8b, r8b - LONG $0x24440244; BYTE $0x09 // add r8b, byte [rsp + 9] - LONG $0x244cb60f; BYTE $0x15 // movzx ecx, byte [rsp + 21] - WORD $0xe1c0; BYTE $0x03 // shl cl, 3 - WORD $0xc108 // or cl, al - WORD $0xc889 // mov eax, ecx + LONG $0x24440244; BYTE $0x0a // add r8b, byte [rsp + 10] + LONG $0x245cb60f; BYTE $0x16 // movzx ebx, byte [rsp + 22] + WORD $0xe3c0; BYTE $0x03 // shl bl, 3 + WORD $0xc308 // or bl, al + WORD $0xd889 // mov eax, ebx LONG $0x02e3c041 // shl r11b, 2 WORD $0x0845; BYTE $0xc3 // or r11b, r8b - LONG $0x244cb60f; BYTE $0x16 // movzx ecx, byte [rsp + 22] - WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0xc108 // or cl, al - WORD $0x8941; BYTE $0xc8 // mov r8d, ecx + LONG $0x245cb60f; BYTE $0x17 // movzx ebx, byte [rsp + 23] + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0xc308 // or bl, al + WORD $0x8941; BYTE $0xd8 // mov r8d, ebx LONG $0x03e7c041 // shl r15b, 3 WORD $0x0845; BYTE $0xdf // or r15b, r11b - LONG $0x244cb60f; BYTE $0x17 // movzx ecx, byte [rsp + 23] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0x0844; BYTE $0xc1 // or cl, r8b - LONG $0x2444b60f; BYTE $0x05 // movzx eax, byte [rsp + 5] + LONG $0x245cb60f; BYTE $0x03 // movzx ebx, byte [rsp + 3] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + WORD $0x0844; BYTE $0xc3 // or bl, r8b + LONG $0x2444b60f; BYTE $0x06 // movzx eax, byte [rsp + 6] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0x0844; BYTE $0xf8 // or al, r15b WORD $0x8941; BYTE $0xc0 // mov r8d, eax - LONG $0x2444b60f; BYTE $0x06 // movzx eax, byte [rsp + 6] + LONG $0x2444b60f; BYTE $0x07 // movzx eax, byte [rsp + 7] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0x0844; BYTE $0xc0 // or al, r8b - LONG $0x44b60f44; WORD $0x0724 // movzx r8d, byte [rsp + 7] + LONG $0x44b60f44; WORD $0x0824 // movzx r8d, byte [rsp + 8] LONG $0x06e0c041 // shl r8b, 6 - WORD $0xe3c0; BYTE $0x07 // shl bl, 7 - WORD $0x0844; BYTE $0xc3 // or bl, r8b - WORD $0x0841; BYTE $0xcd // or r13b, cl - WORD $0xc308 // or bl, al + LONG $0x07e7c040 // shl dil, 7 + WORD $0x0844; BYTE $0xc7 // or dil, r8b + WORD $0x0841; BYTE $0xdd // or r13b, bl + WORD $0x0840; BYTE $0xc7 // or dil, al WORD $0x0045; BYTE $0xd2 // add r10b, r10b - LONG $0x24540244; BYTE $0x0a // add r10b, byte [rsp + 10] + LONG $0x24540244; BYTE $0x0b // add r10b, byte [rsp + 11] LONG $0x02e6c041 // shl r14b, 2 WORD $0x0845; BYTE $0xd6 // or r14b, r10b LONG $0x03e4c041 // shl r12b, 3 WORD $0x0845; BYTE $0xf4 // or r12b, r14b - LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + LONG $0x2444b60f; BYTE $0x09 // movzx eax, byte [rsp + 9] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0x0844; BYTE $0xe0 // or al, r12b - WORD $0xc189 // mov ecx, eax - LONG $0x24748b4c; BYTE $0x30 // mov r14, qword [rsp + 48] - LONG $0x2444b60f; BYTE $0x0b // movzx eax, byte [rsp + 11] + WORD $0xc389 // mov ebx, eax + LONG $0x24648b4c; BYTE $0x30 // mov r12, qword [rsp + 48] + LONG $0x2444b60f; BYTE $0x0c // movzx eax, byte [rsp + 12] WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - WORD $0x8845; BYTE $0x2e // mov byte [r14], r13b - LONG $0x244cb60f; BYTE $0x0c // movzx ecx, byte [rsp + 12] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 + WORD $0xd808 // or al, bl + LONG $0x242c8845 // mov byte [r12], r13b + LONG $0x245cb60f; BYTE $0x0d // movzx ebx, byte [rsp + 13] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e1c041 // shl r9b, 7 - WORD $0x0841; BYTE $0xc9 // or r9b, cl - LONG $0x015e8841 // mov byte [r14 + 1], bl + WORD $0x0841; BYTE $0xd9 // or r9b, bl + LONG $0x247c8841; BYTE $0x01 // mov byte [r12 + 1], dil WORD $0x0841; BYTE $0xc1 // or r9b, al - LONG $0x2444b60f; BYTE $0x0d // movzx eax, byte [rsp + 13] - WORD $0xc000 // add al, al - LONG $0x13244402 // add al, byte [rsp + 19] - WORD $0xc189 // mov ecx, eax LONG $0x2444b60f; BYTE $0x0e // movzx eax, byte [rsp + 14] - WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xc000 // add al, al + LONG $0x14244402 // add al, byte [rsp + 20] + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x0f // movzx eax, byte [rsp + 15] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x11 // movzx eax, byte [rsp + 17] WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x12 // movzx eax, byte [rsp + 18] + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x13 // movzx eax, byte [rsp + 19] WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - LONG $0x244cb60f; BYTE $0x11 // movzx ecx, byte [rsp + 17] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 - LONG $0x07e7c040 // shl dil, 7 - WORD $0x0840; BYTE $0xcf // or dil, cl - WORD $0x0840; BYTE $0xc7 // or dil, al - LONG $0x024e8845 // mov byte [r14 + 2], r9b - LONG $0x037e8841 // mov byte [r14 + 3], dil + WORD $0xd808 // or al, bl + LONG $0x245cb60f; BYTE $0x12 // movzx ebx, byte [rsp + 18] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 + WORD $0xe1c0; BYTE $0x07 // shl cl, 7 + WORD $0xd908 // or cl, bl + WORD $0xc108 // or cl, al + LONG $0x244c8845; BYTE $0x02 // mov byte [r12 + 2], r9b + LONG $0x244c8841; BYTE $0x03 // mov byte [r12 + 3], cl LONG $0x00c28148; WORD $0x0001; BYTE $0x00 // add rdx, 256 - LONG $0x04c68349 // add r14, 4 - LONG $0x24448348; WORD $0xff38 // add qword [rsp + 56], -1 + LONG $0x04c48349 // add r12, 4 + LONG $0x24448348; WORD $0xff20 // add qword [rsp + 32], -1 JNE LBB3_38 - LONG $0x245c8b4c; BYTE $0x18 // mov r11, qword [rsp + 24] - LONG $0x247c8b4c; BYTE $0x40 // mov r15, qword [rsp + 64] + LONG $0x24748b4c; BYTE $0x18 // mov r14, qword [rsp + 24] + LONG $0x247c8b4c; BYTE $0x38 // mov r15, qword [rsp + 56] LBB3_40: LONG $0x05e7c149 // shl r15, 5 - WORD $0x394d; BYTE $0xdf // cmp r15, r11 + WORD $0x394d; BYTE $0xf7 // cmp r15, r14 JGE LBB3_123 - WORD $0x294d; BYTE $0xfb // sub r11, r15 + WORD $0x294d; BYTE $0xfe // sub r14, r15 WORD $0xc931 // xor ecx, ecx LBB3_42: @@ -17817,30 +18566,30 @@ LBB3_42: WORD $0xdbf6 // neg bl WORD $0x8948; BYTE $0xcf // mov rdi, rcx LONG $0x03efc148 // shr rdi, 3 - LONG $0x0cb60f45; BYTE $0x3e // movzx r9d, byte [r14 + rdi] + LONG $0x0cb60f45; BYTE $0x3c // movzx r9d, byte [r12 + rdi] WORD $0x3044; BYTE $0xcb // xor bl, r9b WORD $0xe180; BYTE $0x07 // and cl, 7 WORD $0x01b0 // mov al, 1 WORD $0xe0d2 // shl al, cl WORD $0xd820 // and al, bl WORD $0x3044; BYTE $0xc8 // xor al, r9b - LONG $0x3e048841 // mov byte [r14 + rdi], al + LONG $0x3c048841 // mov byte [r12 + rdi], al WORD $0x894c; BYTE $0xc1 // mov rcx, r8 - WORD $0x394d; BYTE $0xc3 // cmp r11, r8 + WORD $0x394d; BYTE $0xc6 // cmp r14, r8 JNE LBB3_42 JMP LBB3_123 LBB3_68: - LONG $0x1f7b8d4d // lea r15, [r11 + 31] - WORD $0x854d; BYTE $0xdb // test r11, r11 - LONG $0xfb490f4d // cmovns r15, r11 - LONG $0x07418d41 // lea eax, [r9 + 7] - WORD $0x8545; BYTE $0xc9 // test r9d, r9d - LONG $0xc1490f41 // cmovns eax, r9d - WORD $0xe083; BYTE $0xf8 // and eax, -8 - WORD $0x2941; BYTE $0xc1 // sub r9d, eax + LONG $0x1f7e8d4d // lea r15, [r14 + 31] + WORD $0x854d; BYTE $0xf6 // test r14, r14 + LONG $0xfe490f4d // cmovns r15, r14 + WORD $0x488d; BYTE $0x07 // lea ecx, [rax + 7] + WORD $0xc085 // test eax, eax + WORD $0x490f; BYTE $0xc8 // cmovns ecx, eax + WORD $0xe183; BYTE $0xf8 // and ecx, -8 + WORD $0xc829 // sub eax, ecx JE LBB3_72 - WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d + WORD $0x9848 // cdqe LBB3_70: WORD $0xb70f; BYTE $0x0e // movzx ecx, word [rsi] @@ -17853,7 +18602,7 @@ LBB3_70: WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xf8490f48 // cmovns rdi, rax LONG $0x03ffc148 // sar rdi, 3 - LONG $0x04b60f45; BYTE $0x3e // movzx r8d, byte [r14 + rdi] + LONG $0x04b60f45; BYTE $0x3c // movzx r8d, byte [r12 + rdi] WORD $0x3045; BYTE $0xc2 // xor r10b, r8b QUAD $0x00000000fd0c8d44 // lea r9d, [8*rdi] WORD $0xc189 // mov ecx, eax @@ -17862,49 +18611,49 @@ LBB3_70: WORD $0xe3d3 // shl ebx, cl WORD $0x2044; BYTE $0xd3 // and bl, r10b WORD $0x3044; BYTE $0xc3 // xor bl, r8b - LONG $0x3e1c8841 // mov byte [r14 + rdi], bl + LONG $0x3c1c8841 // mov byte [r12 + rdi], bl LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 JNE LBB3_70 - LONG $0x01c68349 // add r14, 1 + LONG $0x01c48349 // add r12, 1 LBB3_72: LONG $0x05ffc149 // sar r15, 5 - LONG $0x20fb8349 // cmp r11, 32 + LONG $0x20fe8349 // cmp r14, 32 JL LBB3_76 - LONG $0x245c894c; BYTE $0x18 // mov qword [rsp + 24], r11 - LONG $0x247c894c; BYTE $0x40 // mov qword [rsp + 64], r15 + LONG $0x2474894c; BYTE $0x18 // mov qword [rsp + 24], r14 LONG $0x247c894c; BYTE $0x38 // mov qword [rsp + 56], r15 + LONG $0x247c894c; BYTE $0x20 // mov qword [rsp + 32], r15 LBB3_74: - LONG $0x2474894c; BYTE $0x30 // mov qword [rsp + 48], r14 + LONG $0x2464894c; BYTE $0x30 // mov qword [rsp + 48], r12 WORD $0xb70f; BYTE $0x06 // movzx eax, word [rsi] LONG $0x024eb70f // movzx ecx, word [rsi + 2] WORD $0x3b66; BYTE $0x02 // cmp ax, word [rdx] - LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] + LONG $0x2454950f; BYTE $0x04 // setne byte [rsp + 4] LONG $0x024a3b66 // cmp cx, word [rdx + 2] - LONG $0x2454950f; BYTE $0x20 // setne byte [rsp + 32] + LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] LONG $0x0446b70f // movzx eax, word [rsi + 4] LONG $0x04423b66 // cmp ax, word [rdx + 4] - LONG $0x2454950f; BYTE $0x14 // setne byte [rsp + 20] + LONG $0x2454950f; BYTE $0x15 // setne byte [rsp + 21] LONG $0x0646b70f // movzx eax, word [rsi + 6] LONG $0x06423b66 // cmp ax, word [rdx + 6] - LONG $0x2454950f; BYTE $0x15 // setne byte [rsp + 21] + LONG $0x2454950f; BYTE $0x16 // setne byte [rsp + 22] LONG $0x0846b70f // movzx eax, word [rsi + 8] LONG $0x08423b66 // cmp ax, word [rdx + 8] - LONG $0x2454950f; BYTE $0x16 // setne byte [rsp + 22] + LONG $0x2454950f; BYTE $0x17 // setne byte [rsp + 23] LONG $0x0a46b70f // movzx eax, word [rsi + 10] LONG $0x0a423b66 // cmp ax, word [rdx + 10] - LONG $0x2454950f; BYTE $0x17 // setne byte [rsp + 23] + LONG $0x2454950f; BYTE $0x03 // setne byte [rsp + 3] LONG $0x0c46b70f // movzx eax, word [rsi + 12] LONG $0x0c423b66 // cmp ax, word [rdx + 12] - LONG $0x2454950f; BYTE $0x04 // setne byte [rsp + 4] + LONG $0x2454950f; BYTE $0x05 // setne byte [rsp + 5] LONG $0x0e46b70f // movzx eax, word [rsi + 14] LONG $0x0e423b66 // cmp ax, word [rdx + 14] LONG $0xd5950f41 // setne r13b LONG $0x1046b70f // movzx eax, word [rsi + 16] LONG $0x10423b66 // cmp ax, word [rdx + 16] - LONG $0x2454950f; BYTE $0x09 // setne byte [rsp + 9] + LONG $0x2454950f; BYTE $0x0a // setne byte [rsp + 10] LONG $0x1246b70f // movzx eax, word [rsi + 18] LONG $0x12423b66 // cmp ax, word [rdx + 18] LONG $0xd0950f41 // setne r8b @@ -17916,165 +18665,165 @@ LBB3_74: LONG $0xd7950f41 // setne r15b LONG $0x1846b70f // movzx eax, word [rsi + 24] LONG $0x18423b66 // cmp ax, word [rdx + 24] - LONG $0x2454950f; BYTE $0x05 // setne byte [rsp + 5] + LONG $0x2454950f; BYTE $0x06 // setne byte [rsp + 6] LONG $0x1a46b70f // movzx eax, word [rsi + 26] LONG $0x1a423b66 // cmp ax, word [rdx + 26] - LONG $0x2454950f; BYTE $0x06 // setne byte [rsp + 6] + LONG $0x2454950f; BYTE $0x07 // setne byte [rsp + 7] LONG $0x1c46b70f // movzx eax, word [rsi + 28] LONG $0x1c423b66 // cmp ax, word [rdx + 28] - LONG $0x2454950f; BYTE $0x07 // setne byte [rsp + 7] + LONG $0x2454950f; BYTE $0x08 // setne byte [rsp + 8] LONG $0x1e46b70f // movzx eax, word [rsi + 30] LONG $0x1e423b66 // cmp ax, word [rdx + 30] - WORD $0x950f; BYTE $0xd3 // setne bl + LONG $0xd7950f40 // setne dil LONG $0x2046b70f // movzx eax, word [rsi + 32] - LONG $0x224eb70f // movzx ecx, word [rsi + 34] + LONG $0x225eb70f // movzx ebx, word [rsi + 34] LONG $0x20423b66 // cmp ax, word [rdx + 32] LONG $0x2446b70f // movzx eax, word [rsi + 36] - LONG $0x2454950f; BYTE $0x0a // setne byte [rsp + 10] - LONG $0x224a3b66 // cmp cx, word [rdx + 34] - LONG $0x264eb70f // movzx ecx, word [rsi + 38] + LONG $0x2454950f; BYTE $0x0b // setne byte [rsp + 11] + LONG $0x225a3b66 // cmp bx, word [rdx + 34] + LONG $0x265eb70f // movzx ebx, word [rsi + 38] LONG $0xd2950f41 // setne r10b LONG $0x24423b66 // cmp ax, word [rdx + 36] LONG $0x2846b70f // movzx eax, word [rsi + 40] LONG $0xd6950f41 // setne r14b - LONG $0x264a3b66 // cmp cx, word [rdx + 38] - LONG $0x2a4eb70f // movzx ecx, word [rsi + 42] + LONG $0x265a3b66 // cmp bx, word [rdx + 38] + LONG $0x2a5eb70f // movzx ebx, word [rsi + 42] LONG $0xd4950f41 // setne r12b LONG $0x28423b66 // cmp ax, word [rdx + 40] - LONG $0x2454950f; BYTE $0x08 // setne byte [rsp + 8] - LONG $0x2a4a3b66 // cmp cx, word [rdx + 42] + LONG $0x2454950f; BYTE $0x09 // setne byte [rsp + 9] + LONG $0x2a5a3b66 // cmp bx, word [rdx + 42] LONG $0x2c46b70f // movzx eax, word [rsi + 44] - LONG $0x2454950f; BYTE $0x0b // setne byte [rsp + 11] + LONG $0x2454950f; BYTE $0x0c // setne byte [rsp + 12] LONG $0x2c423b66 // cmp ax, word [rdx + 44] LONG $0x2e46b70f // movzx eax, word [rsi + 46] - LONG $0x2454950f; BYTE $0x0c // setne byte [rsp + 12] + LONG $0x2454950f; BYTE $0x0d // setne byte [rsp + 13] LONG $0x2e423b66 // cmp ax, word [rdx + 46] LONG $0x3046b70f // movzx eax, word [rsi + 48] LONG $0xd1950f41 // setne r9b LONG $0x30423b66 // cmp ax, word [rdx + 48] LONG $0x3246b70f // movzx eax, word [rsi + 50] - LONG $0x2454950f; BYTE $0x13 // setne byte [rsp + 19] + LONG $0x2454950f; BYTE $0x14 // setne byte [rsp + 20] LONG $0x32423b66 // cmp ax, word [rdx + 50] LONG $0x3446b70f // movzx eax, word [rsi + 52] - LONG $0x2454950f; BYTE $0x0d // setne byte [rsp + 13] + LONG $0x2454950f; BYTE $0x0e // setne byte [rsp + 14] LONG $0x34423b66 // cmp ax, word [rdx + 52] LONG $0x3646b70f // movzx eax, word [rsi + 54] - LONG $0x2454950f; BYTE $0x0e // setne byte [rsp + 14] + LONG $0x2454950f; BYTE $0x0f // setne byte [rsp + 15] LONG $0x36423b66 // cmp ax, word [rdx + 54] LONG $0x3846b70f // movzx eax, word [rsi + 56] - LONG $0x2454950f; BYTE $0x0f // setne byte [rsp + 15] + LONG $0x2454950f; BYTE $0x10 // setne byte [rsp + 16] LONG $0x38423b66 // cmp ax, word [rdx + 56] LONG $0x3a46b70f // movzx eax, word [rsi + 58] - LONG $0x2454950f; BYTE $0x10 // setne byte [rsp + 16] + LONG $0x2454950f; BYTE $0x11 // setne byte [rsp + 17] LONG $0x3a423b66 // cmp ax, word [rdx + 58] LONG $0x3c46b70f // movzx eax, word [rsi + 60] - LONG $0x2454950f; BYTE $0x12 // setne byte [rsp + 18] + LONG $0x2454950f; BYTE $0x13 // setne byte [rsp + 19] LONG $0x3c423b66 // cmp ax, word [rdx + 60] LONG $0x3e46b70f // movzx eax, word [rsi + 62] - LONG $0x2454950f; BYTE $0x11 // setne byte [rsp + 17] + LONG $0x2454950f; BYTE $0x12 // setne byte [rsp + 18] LONG $0x40c68348 // add rsi, 64 LONG $0x3e423b66 // cmp ax, word [rdx + 62] - LONG $0xd7950f40 // setne dil - LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] + WORD $0x950f; BYTE $0xd1 // setne cl + LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] WORD $0xc000 // add al, al - LONG $0x28244402 // add al, byte [rsp + 40] - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x04 // movzx eax, byte [rsp + 4] + LONG $0x04244402 // add al, byte [rsp + 4] + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x05 // movzx eax, byte [rsp + 5] WORD $0xe0c0; BYTE $0x06 // shl al, 6 LONG $0x07e5c041 // shl r13b, 7 WORD $0x0841; BYTE $0xc5 // or r13b, al - LONG $0x2444b60f; BYTE $0x14 // movzx eax, byte [rsp + 20] + LONG $0x2444b60f; BYTE $0x15 // movzx eax, byte [rsp + 21] WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xc808 // or al, cl + WORD $0xd808 // or al, bl WORD $0x0045; BYTE $0xc0 // add r8b, r8b - LONG $0x24440244; BYTE $0x09 // add r8b, byte [rsp + 9] - LONG $0x244cb60f; BYTE $0x15 // movzx ecx, byte [rsp + 21] - WORD $0xe1c0; BYTE $0x03 // shl cl, 3 - WORD $0xc108 // or cl, al - WORD $0xc889 // mov eax, ecx + LONG $0x24440244; BYTE $0x0a // add r8b, byte [rsp + 10] + LONG $0x245cb60f; BYTE $0x16 // movzx ebx, byte [rsp + 22] + WORD $0xe3c0; BYTE $0x03 // shl bl, 3 + WORD $0xc308 // or bl, al + WORD $0xd889 // mov eax, ebx LONG $0x02e3c041 // shl r11b, 2 WORD $0x0845; BYTE $0xc3 // or r11b, r8b - LONG $0x244cb60f; BYTE $0x16 // movzx ecx, byte [rsp + 22] - WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0xc108 // or cl, al - WORD $0x8941; BYTE $0xc8 // mov r8d, ecx + LONG $0x245cb60f; BYTE $0x17 // movzx ebx, byte [rsp + 23] + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0xc308 // or bl, al + WORD $0x8941; BYTE $0xd8 // mov r8d, ebx LONG $0x03e7c041 // shl r15b, 3 WORD $0x0845; BYTE $0xdf // or r15b, r11b - LONG $0x244cb60f; BYTE $0x17 // movzx ecx, byte [rsp + 23] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0x0844; BYTE $0xc1 // or cl, r8b - LONG $0x2444b60f; BYTE $0x05 // movzx eax, byte [rsp + 5] + LONG $0x245cb60f; BYTE $0x03 // movzx ebx, byte [rsp + 3] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + WORD $0x0844; BYTE $0xc3 // or bl, r8b + LONG $0x2444b60f; BYTE $0x06 // movzx eax, byte [rsp + 6] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0x0844; BYTE $0xf8 // or al, r15b WORD $0x8941; BYTE $0xc0 // mov r8d, eax - LONG $0x2444b60f; BYTE $0x06 // movzx eax, byte [rsp + 6] + LONG $0x2444b60f; BYTE $0x07 // movzx eax, byte [rsp + 7] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0x0844; BYTE $0xc0 // or al, r8b - LONG $0x44b60f44; WORD $0x0724 // movzx r8d, byte [rsp + 7] + LONG $0x44b60f44; WORD $0x0824 // movzx r8d, byte [rsp + 8] LONG $0x06e0c041 // shl r8b, 6 - WORD $0xe3c0; BYTE $0x07 // shl bl, 7 - WORD $0x0844; BYTE $0xc3 // or bl, r8b - WORD $0x0841; BYTE $0xcd // or r13b, cl - WORD $0xc308 // or bl, al + LONG $0x07e7c040 // shl dil, 7 + WORD $0x0844; BYTE $0xc7 // or dil, r8b + WORD $0x0841; BYTE $0xdd // or r13b, bl + WORD $0x0840; BYTE $0xc7 // or dil, al WORD $0x0045; BYTE $0xd2 // add r10b, r10b - LONG $0x24540244; BYTE $0x0a // add r10b, byte [rsp + 10] + LONG $0x24540244; BYTE $0x0b // add r10b, byte [rsp + 11] LONG $0x02e6c041 // shl r14b, 2 WORD $0x0845; BYTE $0xd6 // or r14b, r10b LONG $0x03e4c041 // shl r12b, 3 WORD $0x0845; BYTE $0xf4 // or r12b, r14b - LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + LONG $0x2444b60f; BYTE $0x09 // movzx eax, byte [rsp + 9] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0x0844; BYTE $0xe0 // or al, r12b - WORD $0xc189 // mov ecx, eax - LONG $0x24748b4c; BYTE $0x30 // mov r14, qword [rsp + 48] - LONG $0x2444b60f; BYTE $0x0b // movzx eax, byte [rsp + 11] + WORD $0xc389 // mov ebx, eax + LONG $0x24648b4c; BYTE $0x30 // mov r12, qword [rsp + 48] + LONG $0x2444b60f; BYTE $0x0c // movzx eax, byte [rsp + 12] WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - WORD $0x8845; BYTE $0x2e // mov byte [r14], r13b - LONG $0x244cb60f; BYTE $0x0c // movzx ecx, byte [rsp + 12] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 + WORD $0xd808 // or al, bl + LONG $0x242c8845 // mov byte [r12], r13b + LONG $0x245cb60f; BYTE $0x0d // movzx ebx, byte [rsp + 13] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e1c041 // shl r9b, 7 - WORD $0x0841; BYTE $0xc9 // or r9b, cl - LONG $0x015e8841 // mov byte [r14 + 1], bl + WORD $0x0841; BYTE $0xd9 // or r9b, bl + LONG $0x247c8841; BYTE $0x01 // mov byte [r12 + 1], dil WORD $0x0841; BYTE $0xc1 // or r9b, al - LONG $0x2444b60f; BYTE $0x0d // movzx eax, byte [rsp + 13] - WORD $0xc000 // add al, al - LONG $0x13244402 // add al, byte [rsp + 19] - WORD $0xc189 // mov ecx, eax LONG $0x2444b60f; BYTE $0x0e // movzx eax, byte [rsp + 14] - WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xc000 // add al, al + LONG $0x14244402 // add al, byte [rsp + 20] + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x0f // movzx eax, byte [rsp + 15] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x11 // movzx eax, byte [rsp + 17] WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x12 // movzx eax, byte [rsp + 18] + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x13 // movzx eax, byte [rsp + 19] WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - LONG $0x244cb60f; BYTE $0x11 // movzx ecx, byte [rsp + 17] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 - LONG $0x07e7c040 // shl dil, 7 - WORD $0x0840; BYTE $0xcf // or dil, cl - WORD $0x0840; BYTE $0xc7 // or dil, al - LONG $0x024e8845 // mov byte [r14 + 2], r9b - LONG $0x037e8841 // mov byte [r14 + 3], dil + WORD $0xd808 // or al, bl + LONG $0x245cb60f; BYTE $0x12 // movzx ebx, byte [rsp + 18] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 + WORD $0xe1c0; BYTE $0x07 // shl cl, 7 + WORD $0xd908 // or cl, bl + WORD $0xc108 // or cl, al + LONG $0x244c8845; BYTE $0x02 // mov byte [r12 + 2], r9b + LONG $0x244c8841; BYTE $0x03 // mov byte [r12 + 3], cl LONG $0x40c28348 // add rdx, 64 - LONG $0x04c68349 // add r14, 4 - LONG $0x24448348; WORD $0xff38 // add qword [rsp + 56], -1 + LONG $0x04c48349 // add r12, 4 + LONG $0x24448348; WORD $0xff20 // add qword [rsp + 32], -1 JNE LBB3_74 - LONG $0x245c8b4c; BYTE $0x18 // mov r11, qword [rsp + 24] - LONG $0x247c8b4c; BYTE $0x40 // mov r15, qword [rsp + 64] + LONG $0x24748b4c; BYTE $0x18 // mov r14, qword [rsp + 24] + LONG $0x247c8b4c; BYTE $0x38 // mov r15, qword [rsp + 56] LBB3_76: LONG $0x05e7c149 // shl r15, 5 - WORD $0x394d; BYTE $0xdf // cmp r15, r11 + WORD $0x394d; BYTE $0xf7 // cmp r15, r14 JGE LBB3_123 - WORD $0x294d; BYTE $0xfb // sub r11, r15 + WORD $0x294d; BYTE $0xfe // sub r14, r15 WORD $0xc931 // xor ecx, ecx LBB3_78: @@ -18085,30 +18834,30 @@ LBB3_78: WORD $0xdbf6 // neg bl WORD $0x8948; BYTE $0xcf // mov rdi, rcx LONG $0x03efc148 // shr rdi, 3 - LONG $0x0cb60f45; BYTE $0x3e // movzx r9d, byte [r14 + rdi] + LONG $0x0cb60f45; BYTE $0x3c // movzx r9d, byte [r12 + rdi] WORD $0x3044; BYTE $0xcb // xor bl, r9b WORD $0xe180; BYTE $0x07 // and cl, 7 WORD $0x01b0 // mov al, 1 WORD $0xe0d2 // shl al, cl WORD $0xd820 // and al, bl WORD $0x3044; BYTE $0xc8 // xor al, r9b - LONG $0x3e048841 // mov byte [r14 + rdi], al + LONG $0x3c048841 // mov byte [r12 + rdi], al WORD $0x894c; BYTE $0xc1 // mov rcx, r8 - WORD $0x394d; BYTE $0xc3 // cmp r11, r8 + WORD $0x394d; BYTE $0xc6 // cmp r14, r8 JNE LBB3_78 JMP LBB3_123 LBB3_79: - LONG $0x1f7b8d4d // lea r15, [r11 + 31] - WORD $0x854d; BYTE $0xdb // test r11, r11 - LONG $0xfb490f4d // cmovns r15, r11 - LONG $0x07418d41 // lea eax, [r9 + 7] - WORD $0x8545; BYTE $0xc9 // test r9d, r9d - LONG $0xc1490f41 // cmovns eax, r9d - WORD $0xe083; BYTE $0xf8 // and eax, -8 - WORD $0x2941; BYTE $0xc1 // sub r9d, eax + LONG $0x1f7e8d4d // lea r15, [r14 + 31] + WORD $0x854d; BYTE $0xf6 // test r14, r14 + LONG $0xfe490f4d // cmovns r15, r14 + WORD $0x488d; BYTE $0x07 // lea ecx, [rax + 7] + WORD $0xc085 // test eax, eax + WORD $0x490f; BYTE $0xc8 // cmovns ecx, eax + WORD $0xe183; BYTE $0xf8 // and ecx, -8 + WORD $0xc829 // sub eax, ecx JE LBB3_83 - WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d + WORD $0x9848 // cdqe LBB3_81: WORD $0xb70f; BYTE $0x0e // movzx ecx, word [rsi] @@ -18121,7 +18870,7 @@ LBB3_81: WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xf8490f48 // cmovns rdi, rax LONG $0x03ffc148 // sar rdi, 3 - LONG $0x04b60f45; BYTE $0x3e // movzx r8d, byte [r14 + rdi] + LONG $0x04b60f45; BYTE $0x3c // movzx r8d, byte [r12 + rdi] WORD $0x3045; BYTE $0xc2 // xor r10b, r8b QUAD $0x00000000fd0c8d44 // lea r9d, [8*rdi] WORD $0xc189 // mov ecx, eax @@ -18130,49 +18879,49 @@ LBB3_81: WORD $0xe3d3 // shl ebx, cl WORD $0x2044; BYTE $0xd3 // and bl, r10b WORD $0x3044; BYTE $0xc3 // xor bl, r8b - LONG $0x3e1c8841 // mov byte [r14 + rdi], bl + LONG $0x3c1c8841 // mov byte [r12 + rdi], bl LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 JNE LBB3_81 - LONG $0x01c68349 // add r14, 1 + LONG $0x01c48349 // add r12, 1 LBB3_83: LONG $0x05ffc149 // sar r15, 5 - LONG $0x20fb8349 // cmp r11, 32 + LONG $0x20fe8349 // cmp r14, 32 JL LBB3_87 - LONG $0x245c894c; BYTE $0x18 // mov qword [rsp + 24], r11 - LONG $0x247c894c; BYTE $0x40 // mov qword [rsp + 64], r15 + LONG $0x2474894c; BYTE $0x18 // mov qword [rsp + 24], r14 LONG $0x247c894c; BYTE $0x38 // mov qword [rsp + 56], r15 + LONG $0x247c894c; BYTE $0x20 // mov qword [rsp + 32], r15 LBB3_85: - LONG $0x2474894c; BYTE $0x30 // mov qword [rsp + 48], r14 + LONG $0x2464894c; BYTE $0x30 // mov qword [rsp + 48], r12 WORD $0xb70f; BYTE $0x06 // movzx eax, word [rsi] LONG $0x024eb70f // movzx ecx, word [rsi + 2] WORD $0x3b66; BYTE $0x02 // cmp ax, word [rdx] - LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] + LONG $0x2454950f; BYTE $0x04 // setne byte [rsp + 4] LONG $0x024a3b66 // cmp cx, word [rdx + 2] - LONG $0x2454950f; BYTE $0x20 // setne byte [rsp + 32] + LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] LONG $0x0446b70f // movzx eax, word [rsi + 4] LONG $0x04423b66 // cmp ax, word [rdx + 4] - LONG $0x2454950f; BYTE $0x14 // setne byte [rsp + 20] + LONG $0x2454950f; BYTE $0x15 // setne byte [rsp + 21] LONG $0x0646b70f // movzx eax, word [rsi + 6] LONG $0x06423b66 // cmp ax, word [rdx + 6] - LONG $0x2454950f; BYTE $0x15 // setne byte [rsp + 21] + LONG $0x2454950f; BYTE $0x16 // setne byte [rsp + 22] LONG $0x0846b70f // movzx eax, word [rsi + 8] LONG $0x08423b66 // cmp ax, word [rdx + 8] - LONG $0x2454950f; BYTE $0x16 // setne byte [rsp + 22] + LONG $0x2454950f; BYTE $0x17 // setne byte [rsp + 23] LONG $0x0a46b70f // movzx eax, word [rsi + 10] LONG $0x0a423b66 // cmp ax, word [rdx + 10] - LONG $0x2454950f; BYTE $0x17 // setne byte [rsp + 23] + LONG $0x2454950f; BYTE $0x03 // setne byte [rsp + 3] LONG $0x0c46b70f // movzx eax, word [rsi + 12] LONG $0x0c423b66 // cmp ax, word [rdx + 12] - LONG $0x2454950f; BYTE $0x04 // setne byte [rsp + 4] + LONG $0x2454950f; BYTE $0x05 // setne byte [rsp + 5] LONG $0x0e46b70f // movzx eax, word [rsi + 14] LONG $0x0e423b66 // cmp ax, word [rdx + 14] LONG $0xd5950f41 // setne r13b LONG $0x1046b70f // movzx eax, word [rsi + 16] LONG $0x10423b66 // cmp ax, word [rdx + 16] - LONG $0x2454950f; BYTE $0x09 // setne byte [rsp + 9] + LONG $0x2454950f; BYTE $0x0a // setne byte [rsp + 10] LONG $0x1246b70f // movzx eax, word [rsi + 18] LONG $0x12423b66 // cmp ax, word [rdx + 18] LONG $0xd0950f41 // setne r8b @@ -18184,165 +18933,165 @@ LBB3_85: LONG $0xd7950f41 // setne r15b LONG $0x1846b70f // movzx eax, word [rsi + 24] LONG $0x18423b66 // cmp ax, word [rdx + 24] - LONG $0x2454950f; BYTE $0x05 // setne byte [rsp + 5] + LONG $0x2454950f; BYTE $0x06 // setne byte [rsp + 6] LONG $0x1a46b70f // movzx eax, word [rsi + 26] LONG $0x1a423b66 // cmp ax, word [rdx + 26] - LONG $0x2454950f; BYTE $0x06 // setne byte [rsp + 6] + LONG $0x2454950f; BYTE $0x07 // setne byte [rsp + 7] LONG $0x1c46b70f // movzx eax, word [rsi + 28] LONG $0x1c423b66 // cmp ax, word [rdx + 28] - LONG $0x2454950f; BYTE $0x07 // setne byte [rsp + 7] + LONG $0x2454950f; BYTE $0x08 // setne byte [rsp + 8] LONG $0x1e46b70f // movzx eax, word [rsi + 30] LONG $0x1e423b66 // cmp ax, word [rdx + 30] - WORD $0x950f; BYTE $0xd3 // setne bl + LONG $0xd7950f40 // setne dil LONG $0x2046b70f // movzx eax, word [rsi + 32] - LONG $0x224eb70f // movzx ecx, word [rsi + 34] + LONG $0x225eb70f // movzx ebx, word [rsi + 34] LONG $0x20423b66 // cmp ax, word [rdx + 32] LONG $0x2446b70f // movzx eax, word [rsi + 36] - LONG $0x2454950f; BYTE $0x0a // setne byte [rsp + 10] - LONG $0x224a3b66 // cmp cx, word [rdx + 34] - LONG $0x264eb70f // movzx ecx, word [rsi + 38] + LONG $0x2454950f; BYTE $0x0b // setne byte [rsp + 11] + LONG $0x225a3b66 // cmp bx, word [rdx + 34] + LONG $0x265eb70f // movzx ebx, word [rsi + 38] LONG $0xd2950f41 // setne r10b LONG $0x24423b66 // cmp ax, word [rdx + 36] LONG $0x2846b70f // movzx eax, word [rsi + 40] LONG $0xd6950f41 // setne r14b - LONG $0x264a3b66 // cmp cx, word [rdx + 38] - LONG $0x2a4eb70f // movzx ecx, word [rsi + 42] + LONG $0x265a3b66 // cmp bx, word [rdx + 38] + LONG $0x2a5eb70f // movzx ebx, word [rsi + 42] LONG $0xd4950f41 // setne r12b LONG $0x28423b66 // cmp ax, word [rdx + 40] - LONG $0x2454950f; BYTE $0x08 // setne byte [rsp + 8] - LONG $0x2a4a3b66 // cmp cx, word [rdx + 42] + LONG $0x2454950f; BYTE $0x09 // setne byte [rsp + 9] + LONG $0x2a5a3b66 // cmp bx, word [rdx + 42] LONG $0x2c46b70f // movzx eax, word [rsi + 44] - LONG $0x2454950f; BYTE $0x0b // setne byte [rsp + 11] + LONG $0x2454950f; BYTE $0x0c // setne byte [rsp + 12] LONG $0x2c423b66 // cmp ax, word [rdx + 44] LONG $0x2e46b70f // movzx eax, word [rsi + 46] - LONG $0x2454950f; BYTE $0x0c // setne byte [rsp + 12] + LONG $0x2454950f; BYTE $0x0d // setne byte [rsp + 13] LONG $0x2e423b66 // cmp ax, word [rdx + 46] LONG $0x3046b70f // movzx eax, word [rsi + 48] LONG $0xd1950f41 // setne r9b LONG $0x30423b66 // cmp ax, word [rdx + 48] LONG $0x3246b70f // movzx eax, word [rsi + 50] - LONG $0x2454950f; BYTE $0x13 // setne byte [rsp + 19] + LONG $0x2454950f; BYTE $0x14 // setne byte [rsp + 20] LONG $0x32423b66 // cmp ax, word [rdx + 50] LONG $0x3446b70f // movzx eax, word [rsi + 52] - LONG $0x2454950f; BYTE $0x0d // setne byte [rsp + 13] + LONG $0x2454950f; BYTE $0x0e // setne byte [rsp + 14] LONG $0x34423b66 // cmp ax, word [rdx + 52] LONG $0x3646b70f // movzx eax, word [rsi + 54] - LONG $0x2454950f; BYTE $0x0e // setne byte [rsp + 14] + LONG $0x2454950f; BYTE $0x0f // setne byte [rsp + 15] LONG $0x36423b66 // cmp ax, word [rdx + 54] LONG $0x3846b70f // movzx eax, word [rsi + 56] - LONG $0x2454950f; BYTE $0x0f // setne byte [rsp + 15] + LONG $0x2454950f; BYTE $0x10 // setne byte [rsp + 16] LONG $0x38423b66 // cmp ax, word [rdx + 56] LONG $0x3a46b70f // movzx eax, word [rsi + 58] - LONG $0x2454950f; BYTE $0x10 // setne byte [rsp + 16] + LONG $0x2454950f; BYTE $0x11 // setne byte [rsp + 17] LONG $0x3a423b66 // cmp ax, word [rdx + 58] LONG $0x3c46b70f // movzx eax, word [rsi + 60] - LONG $0x2454950f; BYTE $0x12 // setne byte [rsp + 18] + LONG $0x2454950f; BYTE $0x13 // setne byte [rsp + 19] LONG $0x3c423b66 // cmp ax, word [rdx + 60] LONG $0x3e46b70f // movzx eax, word [rsi + 62] - LONG $0x2454950f; BYTE $0x11 // setne byte [rsp + 17] + LONG $0x2454950f; BYTE $0x12 // setne byte [rsp + 18] LONG $0x40c68348 // add rsi, 64 LONG $0x3e423b66 // cmp ax, word [rdx + 62] - LONG $0xd7950f40 // setne dil - LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] + WORD $0x950f; BYTE $0xd1 // setne cl + LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] WORD $0xc000 // add al, al - LONG $0x28244402 // add al, byte [rsp + 40] - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x04 // movzx eax, byte [rsp + 4] + LONG $0x04244402 // add al, byte [rsp + 4] + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x05 // movzx eax, byte [rsp + 5] WORD $0xe0c0; BYTE $0x06 // shl al, 6 LONG $0x07e5c041 // shl r13b, 7 WORD $0x0841; BYTE $0xc5 // or r13b, al - LONG $0x2444b60f; BYTE $0x14 // movzx eax, byte [rsp + 20] + LONG $0x2444b60f; BYTE $0x15 // movzx eax, byte [rsp + 21] WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xc808 // or al, cl + WORD $0xd808 // or al, bl WORD $0x0045; BYTE $0xc0 // add r8b, r8b - LONG $0x24440244; BYTE $0x09 // add r8b, byte [rsp + 9] - LONG $0x244cb60f; BYTE $0x15 // movzx ecx, byte [rsp + 21] - WORD $0xe1c0; BYTE $0x03 // shl cl, 3 - WORD $0xc108 // or cl, al - WORD $0xc889 // mov eax, ecx + LONG $0x24440244; BYTE $0x0a // add r8b, byte [rsp + 10] + LONG $0x245cb60f; BYTE $0x16 // movzx ebx, byte [rsp + 22] + WORD $0xe3c0; BYTE $0x03 // shl bl, 3 + WORD $0xc308 // or bl, al + WORD $0xd889 // mov eax, ebx LONG $0x02e3c041 // shl r11b, 2 WORD $0x0845; BYTE $0xc3 // or r11b, r8b - LONG $0x244cb60f; BYTE $0x16 // movzx ecx, byte [rsp + 22] - WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0xc108 // or cl, al - WORD $0x8941; BYTE $0xc8 // mov r8d, ecx + LONG $0x245cb60f; BYTE $0x17 // movzx ebx, byte [rsp + 23] + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0xc308 // or bl, al + WORD $0x8941; BYTE $0xd8 // mov r8d, ebx LONG $0x03e7c041 // shl r15b, 3 WORD $0x0845; BYTE $0xdf // or r15b, r11b - LONG $0x244cb60f; BYTE $0x17 // movzx ecx, byte [rsp + 23] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0x0844; BYTE $0xc1 // or cl, r8b - LONG $0x2444b60f; BYTE $0x05 // movzx eax, byte [rsp + 5] + LONG $0x245cb60f; BYTE $0x03 // movzx ebx, byte [rsp + 3] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + WORD $0x0844; BYTE $0xc3 // or bl, r8b + LONG $0x2444b60f; BYTE $0x06 // movzx eax, byte [rsp + 6] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0x0844; BYTE $0xf8 // or al, r15b WORD $0x8941; BYTE $0xc0 // mov r8d, eax - LONG $0x2444b60f; BYTE $0x06 // movzx eax, byte [rsp + 6] + LONG $0x2444b60f; BYTE $0x07 // movzx eax, byte [rsp + 7] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0x0844; BYTE $0xc0 // or al, r8b - LONG $0x44b60f44; WORD $0x0724 // movzx r8d, byte [rsp + 7] + LONG $0x44b60f44; WORD $0x0824 // movzx r8d, byte [rsp + 8] LONG $0x06e0c041 // shl r8b, 6 - WORD $0xe3c0; BYTE $0x07 // shl bl, 7 - WORD $0x0844; BYTE $0xc3 // or bl, r8b - WORD $0x0841; BYTE $0xcd // or r13b, cl - WORD $0xc308 // or bl, al + LONG $0x07e7c040 // shl dil, 7 + WORD $0x0844; BYTE $0xc7 // or dil, r8b + WORD $0x0841; BYTE $0xdd // or r13b, bl + WORD $0x0840; BYTE $0xc7 // or dil, al WORD $0x0045; BYTE $0xd2 // add r10b, r10b - LONG $0x24540244; BYTE $0x0a // add r10b, byte [rsp + 10] + LONG $0x24540244; BYTE $0x0b // add r10b, byte [rsp + 11] LONG $0x02e6c041 // shl r14b, 2 WORD $0x0845; BYTE $0xd6 // or r14b, r10b LONG $0x03e4c041 // shl r12b, 3 WORD $0x0845; BYTE $0xf4 // or r12b, r14b - LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + LONG $0x2444b60f; BYTE $0x09 // movzx eax, byte [rsp + 9] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0x0844; BYTE $0xe0 // or al, r12b - WORD $0xc189 // mov ecx, eax - LONG $0x24748b4c; BYTE $0x30 // mov r14, qword [rsp + 48] - LONG $0x2444b60f; BYTE $0x0b // movzx eax, byte [rsp + 11] + WORD $0xc389 // mov ebx, eax + LONG $0x24648b4c; BYTE $0x30 // mov r12, qword [rsp + 48] + LONG $0x2444b60f; BYTE $0x0c // movzx eax, byte [rsp + 12] WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - WORD $0x8845; BYTE $0x2e // mov byte [r14], r13b - LONG $0x244cb60f; BYTE $0x0c // movzx ecx, byte [rsp + 12] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 + WORD $0xd808 // or al, bl + LONG $0x242c8845 // mov byte [r12], r13b + LONG $0x245cb60f; BYTE $0x0d // movzx ebx, byte [rsp + 13] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e1c041 // shl r9b, 7 - WORD $0x0841; BYTE $0xc9 // or r9b, cl - LONG $0x015e8841 // mov byte [r14 + 1], bl + WORD $0x0841; BYTE $0xd9 // or r9b, bl + LONG $0x247c8841; BYTE $0x01 // mov byte [r12 + 1], dil WORD $0x0841; BYTE $0xc1 // or r9b, al - LONG $0x2444b60f; BYTE $0x0d // movzx eax, byte [rsp + 13] - WORD $0xc000 // add al, al - LONG $0x13244402 // add al, byte [rsp + 19] - WORD $0xc189 // mov ecx, eax LONG $0x2444b60f; BYTE $0x0e // movzx eax, byte [rsp + 14] - WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xc000 // add al, al + LONG $0x14244402 // add al, byte [rsp + 20] + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x0f // movzx eax, byte [rsp + 15] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x11 // movzx eax, byte [rsp + 17] WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x12 // movzx eax, byte [rsp + 18] + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x13 // movzx eax, byte [rsp + 19] WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - LONG $0x244cb60f; BYTE $0x11 // movzx ecx, byte [rsp + 17] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 - LONG $0x07e7c040 // shl dil, 7 - WORD $0x0840; BYTE $0xcf // or dil, cl - WORD $0x0840; BYTE $0xc7 // or dil, al - LONG $0x024e8845 // mov byte [r14 + 2], r9b - LONG $0x037e8841 // mov byte [r14 + 3], dil + WORD $0xd808 // or al, bl + LONG $0x245cb60f; BYTE $0x12 // movzx ebx, byte [rsp + 18] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 + WORD $0xe1c0; BYTE $0x07 // shl cl, 7 + WORD $0xd908 // or cl, bl + WORD $0xc108 // or cl, al + LONG $0x244c8845; BYTE $0x02 // mov byte [r12 + 2], r9b + LONG $0x244c8841; BYTE $0x03 // mov byte [r12 + 3], cl LONG $0x40c28348 // add rdx, 64 - LONG $0x04c68349 // add r14, 4 - LONG $0x24448348; WORD $0xff38 // add qword [rsp + 56], -1 + LONG $0x04c48349 // add r12, 4 + LONG $0x24448348; WORD $0xff20 // add qword [rsp + 32], -1 JNE LBB3_85 - LONG $0x245c8b4c; BYTE $0x18 // mov r11, qword [rsp + 24] - LONG $0x247c8b4c; BYTE $0x40 // mov r15, qword [rsp + 64] + LONG $0x24748b4c; BYTE $0x18 // mov r14, qword [rsp + 24] + LONG $0x247c8b4c; BYTE $0x38 // mov r15, qword [rsp + 56] LBB3_87: LONG $0x05e7c149 // shl r15, 5 - WORD $0x394d; BYTE $0xdf // cmp r15, r11 + WORD $0x394d; BYTE $0xf7 // cmp r15, r14 JGE LBB3_123 - WORD $0x294d; BYTE $0xfb // sub r11, r15 + WORD $0x294d; BYTE $0xfe // sub r14, r15 WORD $0xc931 // xor ecx, ecx LBB3_89: @@ -18353,30 +19102,30 @@ LBB3_89: WORD $0xdbf6 // neg bl WORD $0x8948; BYTE $0xcf // mov rdi, rcx LONG $0x03efc148 // shr rdi, 3 - LONG $0x0cb60f45; BYTE $0x3e // movzx r9d, byte [r14 + rdi] + LONG $0x0cb60f45; BYTE $0x3c // movzx r9d, byte [r12 + rdi] WORD $0x3044; BYTE $0xcb // xor bl, r9b WORD $0xe180; BYTE $0x07 // and cl, 7 WORD $0x01b0 // mov al, 1 WORD $0xe0d2 // shl al, cl WORD $0xd820 // and al, bl WORD $0x3044; BYTE $0xc8 // xor al, r9b - LONG $0x3e048841 // mov byte [r14 + rdi], al + LONG $0x3c048841 // mov byte [r12 + rdi], al WORD $0x894c; BYTE $0xc1 // mov rcx, r8 - WORD $0x394d; BYTE $0xc3 // cmp r11, r8 + WORD $0x394d; BYTE $0xc6 // cmp r14, r8 JNE LBB3_89 JMP LBB3_123 LBB3_101: - LONG $0x1f7b8d4d // lea r15, [r11 + 31] - WORD $0x854d; BYTE $0xdb // test r11, r11 - LONG $0xfb490f4d // cmovns r15, r11 - LONG $0x07418d41 // lea eax, [r9 + 7] - WORD $0x8545; BYTE $0xc9 // test r9d, r9d - LONG $0xc1490f41 // cmovns eax, r9d - WORD $0xe083; BYTE $0xf8 // and eax, -8 - WORD $0x2941; BYTE $0xc1 // sub r9d, eax + LONG $0x1f7e8d4d // lea r15, [r14 + 31] + WORD $0x854d; BYTE $0xf6 // test r14, r14 + LONG $0xfe490f4d // cmovns r15, r14 + WORD $0x488d; BYTE $0x07 // lea ecx, [rax + 7] + WORD $0xc085 // test eax, eax + WORD $0x490f; BYTE $0xc8 // cmovns ecx, eax + WORD $0xe183; BYTE $0xf8 // and ecx, -8 + WORD $0xc829 // sub eax, ecx JE LBB3_105 - WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d + WORD $0x9848 // cdqe LBB3_103: WORD $0x8b48; BYTE $0x0e // mov rcx, qword [rsi] @@ -18389,7 +19138,7 @@ LBB3_103: WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xf8490f48 // cmovns rdi, rax LONG $0x03ffc148 // sar rdi, 3 - LONG $0x04b60f45; BYTE $0x3e // movzx r8d, byte [r14 + rdi] + LONG $0x04b60f45; BYTE $0x3c // movzx r8d, byte [r12 + rdi] WORD $0x3045; BYTE $0xc2 // xor r10b, r8b QUAD $0x00000000fd0c8d44 // lea r9d, [8*rdi] WORD $0xc189 // mov ecx, eax @@ -18398,49 +19147,49 @@ LBB3_103: WORD $0xe3d3 // shl ebx, cl WORD $0x2044; BYTE $0xd3 // and bl, r10b WORD $0x3044; BYTE $0xc3 // xor bl, r8b - LONG $0x3e1c8841 // mov byte [r14 + rdi], bl + LONG $0x3c1c8841 // mov byte [r12 + rdi], bl LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 JNE LBB3_103 - LONG $0x01c68349 // add r14, 1 + LONG $0x01c48349 // add r12, 1 LBB3_105: LONG $0x05ffc149 // sar r15, 5 - LONG $0x20fb8349 // cmp r11, 32 + LONG $0x20fe8349 // cmp r14, 32 JL LBB3_109 - LONG $0x245c894c; BYTE $0x18 // mov qword [rsp + 24], r11 - LONG $0x247c894c; BYTE $0x40 // mov qword [rsp + 64], r15 + LONG $0x2474894c; BYTE $0x18 // mov qword [rsp + 24], r14 LONG $0x247c894c; BYTE $0x38 // mov qword [rsp + 56], r15 + LONG $0x247c894c; BYTE $0x20 // mov qword [rsp + 32], r15 LBB3_107: - LONG $0x2474894c; BYTE $0x30 // mov qword [rsp + 48], r14 + LONG $0x2464894c; BYTE $0x30 // mov qword [rsp + 48], r12 WORD $0x8b48; BYTE $0x06 // mov rax, qword [rsi] LONG $0x084e8b48 // mov rcx, qword [rsi + 8] WORD $0x3b48; BYTE $0x02 // cmp rax, qword [rdx] - LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] + LONG $0x2454950f; BYTE $0x04 // setne byte [rsp + 4] LONG $0x084a3b48 // cmp rcx, qword [rdx + 8] - LONG $0x2454950f; BYTE $0x20 // setne byte [rsp + 32] + LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] LONG $0x10468b48 // mov rax, qword [rsi + 16] LONG $0x10423b48 // cmp rax, qword [rdx + 16] - LONG $0x2454950f; BYTE $0x14 // setne byte [rsp + 20] + LONG $0x2454950f; BYTE $0x15 // setne byte [rsp + 21] LONG $0x18468b48 // mov rax, qword [rsi + 24] LONG $0x18423b48 // cmp rax, qword [rdx + 24] - LONG $0x2454950f; BYTE $0x15 // setne byte [rsp + 21] + LONG $0x2454950f; BYTE $0x16 // setne byte [rsp + 22] LONG $0x20468b48 // mov rax, qword [rsi + 32] LONG $0x20423b48 // cmp rax, qword [rdx + 32] - LONG $0x2454950f; BYTE $0x16 // setne byte [rsp + 22] + LONG $0x2454950f; BYTE $0x17 // setne byte [rsp + 23] LONG $0x28468b48 // mov rax, qword [rsi + 40] LONG $0x28423b48 // cmp rax, qword [rdx + 40] - LONG $0x2454950f; BYTE $0x17 // setne byte [rsp + 23] + LONG $0x2454950f; BYTE $0x03 // setne byte [rsp + 3] LONG $0x30468b48 // mov rax, qword [rsi + 48] LONG $0x30423b48 // cmp rax, qword [rdx + 48] - LONG $0x2454950f; BYTE $0x04 // setne byte [rsp + 4] + LONG $0x2454950f; BYTE $0x05 // setne byte [rsp + 5] LONG $0x38468b48 // mov rax, qword [rsi + 56] LONG $0x38423b48 // cmp rax, qword [rdx + 56] LONG $0xd5950f41 // setne r13b LONG $0x40468b48 // mov rax, qword [rsi + 64] LONG $0x40423b48 // cmp rax, qword [rdx + 64] - LONG $0x2454950f; BYTE $0x09 // setne byte [rsp + 9] + LONG $0x2454950f; BYTE $0x0a // setne byte [rsp + 10] LONG $0x48468b48 // mov rax, qword [rsi + 72] LONG $0x48423b48 // cmp rax, qword [rdx + 72] LONG $0xd0950f41 // setne r8b @@ -18452,165 +19201,165 @@ LBB3_107: LONG $0xd7950f41 // setne r15b LONG $0x60468b48 // mov rax, qword [rsi + 96] LONG $0x60423b48 // cmp rax, qword [rdx + 96] - LONG $0x2454950f; BYTE $0x05 // setne byte [rsp + 5] + LONG $0x2454950f; BYTE $0x06 // setne byte [rsp + 6] LONG $0x68468b48 // mov rax, qword [rsi + 104] LONG $0x68423b48 // cmp rax, qword [rdx + 104] - LONG $0x2454950f; BYTE $0x06 // setne byte [rsp + 6] + LONG $0x2454950f; BYTE $0x07 // setne byte [rsp + 7] LONG $0x70468b48 // mov rax, qword [rsi + 112] LONG $0x70423b48 // cmp rax, qword [rdx + 112] - LONG $0x2454950f; BYTE $0x07 // setne byte [rsp + 7] + LONG $0x2454950f; BYTE $0x08 // setne byte [rsp + 8] LONG $0x78468b48 // mov rax, qword [rsi + 120] LONG $0x78423b48 // cmp rax, qword [rdx + 120] - WORD $0x950f; BYTE $0xd3 // setne bl + LONG $0xd7950f40 // setne dil LONG $0x80868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 128] - LONG $0x888e8b48; WORD $0x0000; BYTE $0x00 // mov rcx, qword [rsi + 136] + LONG $0x889e8b48; WORD $0x0000; BYTE $0x00 // mov rbx, qword [rsi + 136] LONG $0x80823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 128] LONG $0x90868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 144] - LONG $0x2454950f; BYTE $0x0a // setne byte [rsp + 10] - LONG $0x888a3b48; WORD $0x0000; BYTE $0x00 // cmp rcx, qword [rdx + 136] - LONG $0x988e8b48; WORD $0x0000; BYTE $0x00 // mov rcx, qword [rsi + 152] + LONG $0x2454950f; BYTE $0x0b // setne byte [rsp + 11] + LONG $0x889a3b48; WORD $0x0000; BYTE $0x00 // cmp rbx, qword [rdx + 136] + LONG $0x989e8b48; WORD $0x0000; BYTE $0x00 // mov rbx, qword [rsi + 152] LONG $0xd2950f41 // setne r10b LONG $0x90823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 144] LONG $0xa0868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 160] LONG $0xd6950f41 // setne r14b - LONG $0x988a3b48; WORD $0x0000; BYTE $0x00 // cmp rcx, qword [rdx + 152] - LONG $0xa88e8b48; WORD $0x0000; BYTE $0x00 // mov rcx, qword [rsi + 168] + LONG $0x989a3b48; WORD $0x0000; BYTE $0x00 // cmp rbx, qword [rdx + 152] + LONG $0xa89e8b48; WORD $0x0000; BYTE $0x00 // mov rbx, qword [rsi + 168] LONG $0xd4950f41 // setne r12b LONG $0xa0823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 160] - LONG $0x2454950f; BYTE $0x08 // setne byte [rsp + 8] - LONG $0xa88a3b48; WORD $0x0000; BYTE $0x00 // cmp rcx, qword [rdx + 168] + LONG $0x2454950f; BYTE $0x09 // setne byte [rsp + 9] + LONG $0xa89a3b48; WORD $0x0000; BYTE $0x00 // cmp rbx, qword [rdx + 168] LONG $0xb0868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 176] - LONG $0x2454950f; BYTE $0x0b // setne byte [rsp + 11] + LONG $0x2454950f; BYTE $0x0c // setne byte [rsp + 12] LONG $0xb0823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 176] LONG $0xb8868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 184] - LONG $0x2454950f; BYTE $0x0c // setne byte [rsp + 12] + LONG $0x2454950f; BYTE $0x0d // setne byte [rsp + 13] LONG $0xb8823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 184] LONG $0xc0868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 192] LONG $0xd1950f41 // setne r9b LONG $0xc0823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 192] LONG $0xc8868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 200] - LONG $0x2454950f; BYTE $0x13 // setne byte [rsp + 19] + LONG $0x2454950f; BYTE $0x14 // setne byte [rsp + 20] LONG $0xc8823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 200] LONG $0xd0868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 208] - LONG $0x2454950f; BYTE $0x0d // setne byte [rsp + 13] + LONG $0x2454950f; BYTE $0x0e // setne byte [rsp + 14] LONG $0xd0823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 208] LONG $0xd8868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 216] - LONG $0x2454950f; BYTE $0x0e // setne byte [rsp + 14] + LONG $0x2454950f; BYTE $0x0f // setne byte [rsp + 15] LONG $0xd8823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 216] LONG $0xe0868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 224] - LONG $0x2454950f; BYTE $0x0f // setne byte [rsp + 15] + LONG $0x2454950f; BYTE $0x10 // setne byte [rsp + 16] LONG $0xe0823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 224] LONG $0xe8868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 232] - LONG $0x2454950f; BYTE $0x10 // setne byte [rsp + 16] + LONG $0x2454950f; BYTE $0x11 // setne byte [rsp + 17] LONG $0xe8823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 232] LONG $0xf0868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 240] - LONG $0x2454950f; BYTE $0x12 // setne byte [rsp + 18] + LONG $0x2454950f; BYTE $0x13 // setne byte [rsp + 19] LONG $0xf0823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 240] LONG $0xf8868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 248] - LONG $0x2454950f; BYTE $0x11 // setne byte [rsp + 17] + LONG $0x2454950f; BYTE $0x12 // setne byte [rsp + 18] LONG $0x00c68148; WORD $0x0001; BYTE $0x00 // add rsi, 256 LONG $0xf8823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 248] - LONG $0xd7950f40 // setne dil - LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] + WORD $0x950f; BYTE $0xd1 // setne cl + LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] WORD $0xc000 // add al, al - LONG $0x28244402 // add al, byte [rsp + 40] - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x04 // movzx eax, byte [rsp + 4] + LONG $0x04244402 // add al, byte [rsp + 4] + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x05 // movzx eax, byte [rsp + 5] WORD $0xe0c0; BYTE $0x06 // shl al, 6 LONG $0x07e5c041 // shl r13b, 7 WORD $0x0841; BYTE $0xc5 // or r13b, al - LONG $0x2444b60f; BYTE $0x14 // movzx eax, byte [rsp + 20] + LONG $0x2444b60f; BYTE $0x15 // movzx eax, byte [rsp + 21] WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xc808 // or al, cl + WORD $0xd808 // or al, bl WORD $0x0045; BYTE $0xc0 // add r8b, r8b - LONG $0x24440244; BYTE $0x09 // add r8b, byte [rsp + 9] - LONG $0x244cb60f; BYTE $0x15 // movzx ecx, byte [rsp + 21] - WORD $0xe1c0; BYTE $0x03 // shl cl, 3 - WORD $0xc108 // or cl, al - WORD $0xc889 // mov eax, ecx + LONG $0x24440244; BYTE $0x0a // add r8b, byte [rsp + 10] + LONG $0x245cb60f; BYTE $0x16 // movzx ebx, byte [rsp + 22] + WORD $0xe3c0; BYTE $0x03 // shl bl, 3 + WORD $0xc308 // or bl, al + WORD $0xd889 // mov eax, ebx LONG $0x02e3c041 // shl r11b, 2 WORD $0x0845; BYTE $0xc3 // or r11b, r8b - LONG $0x244cb60f; BYTE $0x16 // movzx ecx, byte [rsp + 22] - WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0xc108 // or cl, al - WORD $0x8941; BYTE $0xc8 // mov r8d, ecx + LONG $0x245cb60f; BYTE $0x17 // movzx ebx, byte [rsp + 23] + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0xc308 // or bl, al + WORD $0x8941; BYTE $0xd8 // mov r8d, ebx LONG $0x03e7c041 // shl r15b, 3 WORD $0x0845; BYTE $0xdf // or r15b, r11b - LONG $0x244cb60f; BYTE $0x17 // movzx ecx, byte [rsp + 23] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0x0844; BYTE $0xc1 // or cl, r8b - LONG $0x2444b60f; BYTE $0x05 // movzx eax, byte [rsp + 5] + LONG $0x245cb60f; BYTE $0x03 // movzx ebx, byte [rsp + 3] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + WORD $0x0844; BYTE $0xc3 // or bl, r8b + LONG $0x2444b60f; BYTE $0x06 // movzx eax, byte [rsp + 6] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0x0844; BYTE $0xf8 // or al, r15b WORD $0x8941; BYTE $0xc0 // mov r8d, eax - LONG $0x2444b60f; BYTE $0x06 // movzx eax, byte [rsp + 6] + LONG $0x2444b60f; BYTE $0x07 // movzx eax, byte [rsp + 7] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0x0844; BYTE $0xc0 // or al, r8b - LONG $0x44b60f44; WORD $0x0724 // movzx r8d, byte [rsp + 7] + LONG $0x44b60f44; WORD $0x0824 // movzx r8d, byte [rsp + 8] LONG $0x06e0c041 // shl r8b, 6 - WORD $0xe3c0; BYTE $0x07 // shl bl, 7 - WORD $0x0844; BYTE $0xc3 // or bl, r8b - WORD $0x0841; BYTE $0xcd // or r13b, cl - WORD $0xc308 // or bl, al + LONG $0x07e7c040 // shl dil, 7 + WORD $0x0844; BYTE $0xc7 // or dil, r8b + WORD $0x0841; BYTE $0xdd // or r13b, bl + WORD $0x0840; BYTE $0xc7 // or dil, al WORD $0x0045; BYTE $0xd2 // add r10b, r10b - LONG $0x24540244; BYTE $0x0a // add r10b, byte [rsp + 10] + LONG $0x24540244; BYTE $0x0b // add r10b, byte [rsp + 11] LONG $0x02e6c041 // shl r14b, 2 WORD $0x0845; BYTE $0xd6 // or r14b, r10b LONG $0x03e4c041 // shl r12b, 3 WORD $0x0845; BYTE $0xf4 // or r12b, r14b - LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + LONG $0x2444b60f; BYTE $0x09 // movzx eax, byte [rsp + 9] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0x0844; BYTE $0xe0 // or al, r12b - WORD $0xc189 // mov ecx, eax - LONG $0x24748b4c; BYTE $0x30 // mov r14, qword [rsp + 48] - LONG $0x2444b60f; BYTE $0x0b // movzx eax, byte [rsp + 11] + WORD $0xc389 // mov ebx, eax + LONG $0x24648b4c; BYTE $0x30 // mov r12, qword [rsp + 48] + LONG $0x2444b60f; BYTE $0x0c // movzx eax, byte [rsp + 12] WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - WORD $0x8845; BYTE $0x2e // mov byte [r14], r13b - LONG $0x244cb60f; BYTE $0x0c // movzx ecx, byte [rsp + 12] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 + WORD $0xd808 // or al, bl + LONG $0x242c8845 // mov byte [r12], r13b + LONG $0x245cb60f; BYTE $0x0d // movzx ebx, byte [rsp + 13] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e1c041 // shl r9b, 7 - WORD $0x0841; BYTE $0xc9 // or r9b, cl - LONG $0x015e8841 // mov byte [r14 + 1], bl + WORD $0x0841; BYTE $0xd9 // or r9b, bl + LONG $0x247c8841; BYTE $0x01 // mov byte [r12 + 1], dil WORD $0x0841; BYTE $0xc1 // or r9b, al - LONG $0x2444b60f; BYTE $0x0d // movzx eax, byte [rsp + 13] - WORD $0xc000 // add al, al - LONG $0x13244402 // add al, byte [rsp + 19] - WORD $0xc189 // mov ecx, eax LONG $0x2444b60f; BYTE $0x0e // movzx eax, byte [rsp + 14] - WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xc000 // add al, al + LONG $0x14244402 // add al, byte [rsp + 20] + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x0f // movzx eax, byte [rsp + 15] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x11 // movzx eax, byte [rsp + 17] WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x12 // movzx eax, byte [rsp + 18] + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x13 // movzx eax, byte [rsp + 19] WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - LONG $0x244cb60f; BYTE $0x11 // movzx ecx, byte [rsp + 17] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 - LONG $0x07e7c040 // shl dil, 7 - WORD $0x0840; BYTE $0xcf // or dil, cl - WORD $0x0840; BYTE $0xc7 // or dil, al - LONG $0x024e8845 // mov byte [r14 + 2], r9b - LONG $0x037e8841 // mov byte [r14 + 3], dil + WORD $0xd808 // or al, bl + LONG $0x245cb60f; BYTE $0x12 // movzx ebx, byte [rsp + 18] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 + WORD $0xe1c0; BYTE $0x07 // shl cl, 7 + WORD $0xd908 // or cl, bl + WORD $0xc108 // or cl, al + LONG $0x244c8845; BYTE $0x02 // mov byte [r12 + 2], r9b + LONG $0x244c8841; BYTE $0x03 // mov byte [r12 + 3], cl LONG $0x00c28148; WORD $0x0001; BYTE $0x00 // add rdx, 256 - LONG $0x04c68349 // add r14, 4 - LONG $0x24448348; WORD $0xff38 // add qword [rsp + 56], -1 + LONG $0x04c48349 // add r12, 4 + LONG $0x24448348; WORD $0xff20 // add qword [rsp + 32], -1 JNE LBB3_107 - LONG $0x245c8b4c; BYTE $0x18 // mov r11, qword [rsp + 24] - LONG $0x247c8b4c; BYTE $0x40 // mov r15, qword [rsp + 64] + LONG $0x24748b4c; BYTE $0x18 // mov r14, qword [rsp + 24] + LONG $0x247c8b4c; BYTE $0x38 // mov r15, qword [rsp + 56] LBB3_109: LONG $0x05e7c149 // shl r15, 5 - WORD $0x394d; BYTE $0xdf // cmp r15, r11 + WORD $0x394d; BYTE $0xf7 // cmp r15, r14 JGE LBB3_123 - WORD $0x294d; BYTE $0xfb // sub r11, r15 + WORD $0x294d; BYTE $0xfe // sub r14, r15 WORD $0xc931 // xor ecx, ecx LBB3_111: @@ -18621,294 +19370,389 @@ LBB3_111: WORD $0xdbf6 // neg bl WORD $0x8948; BYTE $0xcf // mov rdi, rcx LONG $0x03efc148 // shr rdi, 3 - LONG $0x0cb60f45; BYTE $0x3e // movzx r9d, byte [r14 + rdi] + LONG $0x0cb60f45; BYTE $0x3c // movzx r9d, byte [r12 + rdi] WORD $0x3044; BYTE $0xcb // xor bl, r9b WORD $0xe180; BYTE $0x07 // and cl, 7 WORD $0x01b0 // mov al, 1 WORD $0xe0d2 // shl al, cl WORD $0xd820 // and al, bl WORD $0x3044; BYTE $0xc8 // xor al, r9b - LONG $0x3e048841 // mov byte [r14 + rdi], al + LONG $0x3c048841 // mov byte [r12 + rdi], al WORD $0x894c; BYTE $0xc1 // mov rcx, r8 - WORD $0x394d; BYTE $0xc3 // cmp r11, r8 + WORD $0x394d; BYTE $0xc6 // cmp r14, r8 JNE LBB3_111 JMP LBB3_123 LBB3_112: - LONG $0x1f7b8d4d // lea r15, [r11 + 31] - WORD $0x854d; BYTE $0xdb // test r11, r11 - LONG $0xfb490f4d // cmovns r15, r11 - LONG $0x07418d41 // lea eax, [r9 + 7] - WORD $0x8545; BYTE $0xc9 // test r9d, r9d - LONG $0xc1490f41 // cmovns eax, r9d - WORD $0xe083; BYTE $0xf8 // and eax, -8 - WORD $0x2941; BYTE $0xc1 // sub r9d, eax + LONG $0x1f7e8d4d // lea r15, [r14 + 31] + WORD $0x854d; BYTE $0xf6 // test r14, r14 + LONG $0xfe490f4d // cmovns r15, r14 + WORD $0x488d; BYTE $0x07 // lea ecx, [rax + 7] + WORD $0xc085 // test eax, eax + WORD $0x490f; BYTE $0xc8 // cmovns ecx, eax + WORD $0xe183; BYTE $0xf8 // and ecx, -8 + WORD $0xc829 // sub eax, ecx JE LBB3_116 - WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d + WORD $0x634c; BYTE $0xd0 // movsxd r10, eax LBB3_114: LONG $0x0610fac5 // vmovss xmm0, dword [rsi] LONG $0x04c68348 // add rsi, 4 LONG $0x022ef8c5 // vucomiss xmm0, dword [rdx] LONG $0x04528d48 // lea rdx, [rdx + 4] - LONG $0xd2950f41 // setne r10b - WORD $0xf641; BYTE $0xda // neg r10b - LONG $0x07788d48 // lea rdi, [rax + 7] - WORD $0x8548; BYTE $0xc0 // test rax, rax - LONG $0xf8490f48 // cmovns rdi, rax + WORD $0x9a0f; BYTE $0xd1 // setp cl + WORD $0x950f; BYTE $0xd3 // setne bl + WORD $0xcb08 // or bl, cl + WORD $0xdbf6 // neg bl + LONG $0x077a8d49 // lea rdi, [r10 + 7] + WORD $0x854d; BYTE $0xd2 // test r10, r10 + LONG $0xfa490f49 // cmovns rdi, r10 LONG $0x03ffc148 // sar rdi, 3 - LONG $0x04b60f45; BYTE $0x3e // movzx r8d, byte [r14 + rdi] - WORD $0x3045; BYTE $0xc2 // xor r10b, r8b + LONG $0x04b60f45; BYTE $0x3c // movzx r8d, byte [r12 + rdi] + WORD $0x3044; BYTE $0xc3 // xor bl, r8b QUAD $0x00000000fd0c8d44 // lea r9d, [8*rdi] - WORD $0xc189 // mov ecx, eax + WORD $0x8944; BYTE $0xd1 // mov ecx, r10d WORD $0x2944; BYTE $0xc9 // sub ecx, r9d - LONG $0x000001bb; BYTE $0x00 // mov ebx, 1 - WORD $0xe3d3 // shl ebx, cl - WORD $0x2044; BYTE $0xd3 // and bl, r10b - WORD $0x3044; BYTE $0xc3 // xor bl, r8b - LONG $0x3e1c8841 // mov byte [r14 + rdi], bl - LONG $0x01c08348 // add rax, 1 - LONG $0x08f88348 // cmp rax, 8 + LONG $0x000001b8; BYTE $0x00 // mov eax, 1 + WORD $0xe0d3 // shl eax, cl + WORD $0xd820 // and al, bl + WORD $0x3044; BYTE $0xc0 // xor al, r8b + LONG $0x3c048841 // mov byte [r12 + rdi], al + LONG $0x01c28349 // add r10, 1 + LONG $0x08fa8349 // cmp r10, 8 JNE LBB3_114 - LONG $0x01c68349 // add r14, 1 + LONG $0x01c48349 // add r12, 1 LBB3_116: LONG $0x05ffc149 // sar r15, 5 - LONG $0x20fb8349 // cmp r11, 32 + LONG $0x20fe8349 // cmp r14, 32 JL LBB3_120 - LONG $0x245c894c; BYTE $0x18 // mov qword [rsp + 24], r11 - LONG $0x247c894c; BYTE $0x20 // mov qword [rsp + 32], r15 - LONG $0x247c894c; BYTE $0x28 // mov qword [rsp + 40], r15 + LONG $0x2474894c; BYTE $0x18 // mov qword [rsp + 24], r14 + LONG $0x247c894c; BYTE $0x40 // mov qword [rsp + 64], r15 + LONG $0x247c894c; BYTE $0x38 // mov qword [rsp + 56], r15 LBB3_118: - LONG $0x2474894c; BYTE $0x30 // mov qword [rsp + 48], r14 + LONG $0x2464894c; BYTE $0x30 // mov qword [rsp + 48], r12 LONG $0x0610fac5 // vmovss xmm0, dword [rsi] - LONG $0x4e10fac5; BYTE $0x04 // vmovss xmm1, dword [rsi + 4] LONG $0x022ef8c5 // vucomiss xmm0, dword [rdx] - LONG $0x2454950f; BYTE $0x04 // setne byte [rsp + 4] - LONG $0x4a2ef8c5; BYTE $0x04 // vucomiss xmm1, dword [rdx + 4] - WORD $0x950f; BYTE $0xd0 // setne al + LONG $0x4610fac5; BYTE $0x04 // vmovss xmm0, dword [rsi + 4] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x15244c88 // mov byte [rsp + 21], cl + LONG $0x422ef8c5; BYTE $0x04 // vucomiss xmm0, dword [rdx + 4] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x0d244c88 // mov byte [rsp + 13], cl LONG $0x4610fac5; BYTE $0x08 // vmovss xmm0, dword [rsi + 8] LONG $0x422ef8c5; BYTE $0x08 // vucomiss xmm0, dword [rdx + 8] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x14244c88 // mov byte [rsp + 20], cl LONG $0x4610fac5; BYTE $0x0c // vmovss xmm0, dword [rsi + 12] - LONG $0x2454950f; BYTE $0x05 // setne byte [rsp + 5] LONG $0x422ef8c5; BYTE $0x0c // vucomiss xmm0, dword [rdx + 12] - LONG $0x2454950f; BYTE $0x16 // setne byte [rsp + 22] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x17244c88 // mov byte [rsp + 23], cl LONG $0x4610fac5; BYTE $0x10 // vmovss xmm0, dword [rsi + 16] LONG $0x422ef8c5; BYTE $0x10 // vucomiss xmm0, dword [rdx + 16] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x16244c88 // mov byte [rsp + 22], cl LONG $0x4610fac5; BYTE $0x14 // vmovss xmm0, dword [rsi + 20] - LONG $0x2454950f; BYTE $0x15 // setne byte [rsp + 21] LONG $0x422ef8c5; BYTE $0x14 // vucomiss xmm0, dword [rdx + 20] - LONG $0x2454950f; BYTE $0x17 // setne byte [rsp + 23] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd7950f40 // setne dil + WORD $0x0840; BYTE $0xc7 // or dil, al LONG $0x4610fac5; BYTE $0x18 // vmovss xmm0, dword [rsi + 24] LONG $0x422ef8c5; BYTE $0x18 // vucomiss xmm0, dword [rdx + 24] - LONG $0x4610fac5; BYTE $0x1c // vmovss xmm0, dword [rsi + 28] + WORD $0x9a0f; BYTE $0xd0 // setp al LONG $0xd5950f41 // setne r13b + WORD $0x0841; BYTE $0xc5 // or r13b, al + LONG $0x4610fac5; BYTE $0x1c // vmovss xmm0, dword [rsi + 28] LONG $0x422ef8c5; BYTE $0x1c // vucomiss xmm0, dword [rdx + 28] - LONG $0xd7950f41 // setne r15b + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x03244c88 // mov byte [rsp + 3], cl LONG $0x4610fac5; BYTE $0x20 // vmovss xmm0, dword [rsi + 32] LONG $0x422ef8c5; BYTE $0x20 // vucomiss xmm0, dword [rdx + 32] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x13244c88 // mov byte [rsp + 19], cl LONG $0x4610fac5; BYTE $0x24 // vmovss xmm0, dword [rsi + 36] - LONG $0x2454950f; BYTE $0x08 // setne byte [rsp + 8] LONG $0x422ef8c5; BYTE $0x24 // vucomiss xmm0, dword [rdx + 36] - WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd3 // setne bl + WORD $0xc308 // or bl, al LONG $0x4610fac5; BYTE $0x28 // vmovss xmm0, dword [rsi + 40] LONG $0x422ef8c5; BYTE $0x28 // vucomiss xmm0, dword [rdx + 40] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x12244c88 // mov byte [rsp + 18], cl LONG $0x4610fac5; BYTE $0x2c // vmovss xmm0, dword [rsi + 44] - LONG $0xd1950f41 // setne r9b LONG $0x422ef8c5; BYTE $0x2c // vucomiss xmm0, dword [rdx + 44] - LONG $0xd3950f41 // setne r11b + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x11244c88 // mov byte [rsp + 17], cl LONG $0x4610fac5; BYTE $0x30 // vmovss xmm0, dword [rsi + 48] LONG $0x422ef8c5; BYTE $0x30 // vucomiss xmm0, dword [rdx + 48] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x10244c88 // mov byte [rsp + 16], cl LONG $0x4610fac5; BYTE $0x34 // vmovss xmm0, dword [rsi + 52] - LONG $0xd2950f41 // setne r10b LONG $0x422ef8c5; BYTE $0x34 // vucomiss xmm0, dword [rdx + 52] - LONG $0x2454950f; BYTE $0x07 // setne byte [rsp + 7] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x0f244c88 // mov byte [rsp + 15], cl LONG $0x4610fac5; BYTE $0x38 // vmovss xmm0, dword [rsi + 56] LONG $0x422ef8c5; BYTE $0x38 // vucomiss xmm0, dword [rdx + 56] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x0c244c88 // mov byte [rsp + 12], cl LONG $0x4610fac5; BYTE $0x3c // vmovss xmm0, dword [rsi + 60] - LONG $0x2454950f; BYTE $0x06 // setne byte [rsp + 6] LONG $0x422ef8c5; BYTE $0x3c // vucomiss xmm0, dword [rdx + 60] - WORD $0x950f; BYTE $0xd3 // setne bl + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x0b244c88 // mov byte [rsp + 11], cl LONG $0x4610fac5; BYTE $0x40 // vmovss xmm0, dword [rsi + 64] LONG $0x422ef8c5; BYTE $0x40 // vucomiss xmm0, dword [rdx + 64] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x0e244c88 // mov byte [rsp + 14], cl LONG $0x4610fac5; BYTE $0x44 // vmovss xmm0, dword [rsi + 68] - LONG $0x2454950f; BYTE $0x0e // setne byte [rsp + 14] LONG $0x422ef8c5; BYTE $0x44 // vucomiss xmm0, dword [rdx + 68] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x0a244c88 // mov byte [rsp + 10], cl LONG $0x4610fac5; BYTE $0x48 // vmovss xmm0, dword [rsi + 72] - LONG $0xd6950f41 // setne r14b LONG $0x422ef8c5; BYTE $0x48 // vucomiss xmm0, dword [rdx + 72] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x09244c88 // mov byte [rsp + 9], cl LONG $0x4610fac5; BYTE $0x4c // vmovss xmm0, dword [rsi + 76] - LONG $0xd4950f41 // setne r12b LONG $0x422ef8c5; BYTE $0x4c // vucomiss xmm0, dword [rdx + 76] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd3950f41 // setne r11b + WORD $0x0841; BYTE $0xc3 // or r11b, al LONG $0x4610fac5; BYTE $0x50 // vmovss xmm0, dword [rsi + 80] - LONG $0x2454950f; BYTE $0x09 // setne byte [rsp + 9] LONG $0x422ef8c5; BYTE $0x50 // vucomiss xmm0, dword [rdx + 80] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x08244c88 // mov byte [rsp + 8], cl LONG $0x4610fac5; BYTE $0x54 // vmovss xmm0, dword [rsi + 84] - LONG $0x2454950f; BYTE $0x0a // setne byte [rsp + 10] LONG $0x422ef8c5; BYTE $0x54 // vucomiss xmm0, dword [rdx + 84] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x07244c88 // mov byte [rsp + 7], cl LONG $0x4610fac5; BYTE $0x58 // vmovss xmm0, dword [rsi + 88] - LONG $0x2454950f; BYTE $0x0b // setne byte [rsp + 11] LONG $0x422ef8c5; BYTE $0x58 // vucomiss xmm0, dword [rdx + 88] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x05244c88 // mov byte [rsp + 5], cl LONG $0x4610fac5; BYTE $0x5c // vmovss xmm0, dword [rsi + 92] - LONG $0x2454950f; BYTE $0x0c // setne byte [rsp + 12] LONG $0x422ef8c5; BYTE $0x5c // vucomiss xmm0, dword [rdx + 92] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd2950f41 // setne r10b + WORD $0x0841; BYTE $0xc2 // or r10b, al LONG $0x4610fac5; BYTE $0x60 // vmovss xmm0, dword [rsi + 96] - LONG $0xd0950f41 // setne r8b LONG $0x422ef8c5; BYTE $0x60 // vucomiss xmm0, dword [rdx + 96] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x06244c88 // mov byte [rsp + 6], cl LONG $0x4610fac5; BYTE $0x64 // vmovss xmm0, dword [rsi + 100] - LONG $0x2454950f; BYTE $0x14 // setne byte [rsp + 20] LONG $0x422ef8c5; BYTE $0x64 // vucomiss xmm0, dword [rdx + 100] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x20244c88 // mov byte [rsp + 32], cl LONG $0x4610fac5; BYTE $0x68 // vmovss xmm0, dword [rsi + 104] - LONG $0x2454950f; BYTE $0x0d // setne byte [rsp + 13] LONG $0x422ef8c5; BYTE $0x68 // vucomiss xmm0, dword [rdx + 104] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd7950f41 // setne r15b + WORD $0x0841; BYTE $0xc7 // or r15b, al LONG $0x4610fac5; BYTE $0x6c // vmovss xmm0, dword [rsi + 108] - LONG $0x2454950f; BYTE $0x0f // setne byte [rsp + 15] LONG $0x422ef8c5; BYTE $0x6c // vucomiss xmm0, dword [rdx + 108] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd6950f41 // setne r14b + WORD $0x0841; BYTE $0xc6 // or r14b, al LONG $0x4610fac5; BYTE $0x70 // vmovss xmm0, dword [rsi + 112] - LONG $0x2454950f; BYTE $0x10 // setne byte [rsp + 16] LONG $0x422ef8c5; BYTE $0x70 // vucomiss xmm0, dword [rdx + 112] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x04244c88 // mov byte [rsp + 4], cl LONG $0x4610fac5; BYTE $0x74 // vmovss xmm0, dword [rsi + 116] - LONG $0x2454950f; BYTE $0x11 // setne byte [rsp + 17] LONG $0x422ef8c5; BYTE $0x74 // vucomiss xmm0, dword [rdx + 116] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x28244c88 // mov byte [rsp + 40], cl LONG $0x4610fac5; BYTE $0x78 // vmovss xmm0, dword [rsi + 120] - LONG $0x2454950f; BYTE $0x13 // setne byte [rsp + 19] LONG $0x422ef8c5; BYTE $0x78 // vucomiss xmm0, dword [rdx + 120] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd1950f41 // setne r9b + WORD $0x0841; BYTE $0xc1 // or r9b, al LONG $0x4610fac5; BYTE $0x7c // vmovss xmm0, dword [rsi + 124] - LONG $0x2454950f; BYTE $0x12 // setne byte [rsp + 18] LONG $0x80ee8348 // sub rsi, -128 LONG $0x422ef8c5; BYTE $0x7c // vucomiss xmm0, dword [rdx + 124] - LONG $0xd7950f40 // setne dil + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd0950f41 // setne r8b + WORD $0x0841; BYTE $0xc0 // or r8b, al + LONG $0x2444b60f; BYTE $0x0d // movzx eax, byte [rsp + 13] WORD $0xc000 // add al, al - LONG $0x04244402 // add al, byte [rsp + 4] + LONG $0x15244402 // add al, byte [rsp + 21] + LONG $0x05e7c040 // shl dil, 5 LONG $0x06e5c041 // shl r13b, 6 - LONG $0x07e7c041 // shl r15b, 7 - WORD $0x0845; BYTE $0xef // or r15b, r13b - LONG $0x6cb60f44; WORD $0x0524 // movzx r13d, byte [rsp + 5] - LONG $0x02e5c041 // shl r13b, 2 - WORD $0x0841; BYTE $0xc5 // or r13b, al - WORD $0x8944; BYTE $0xe8 // mov eax, r13d - WORD $0xc900 // add cl, cl - LONG $0x08244c02 // add cl, byte [rsp + 8] + WORD $0x0841; BYTE $0xfd // or r13b, dil + WORD $0x8944; BYTE $0xef // mov edi, r13d + LONG $0x244cb60f; BYTE $0x14 // movzx ecx, byte [rsp + 20] + WORD $0xe1c0; BYTE $0x02 // shl cl, 2 + WORD $0xc108 // or cl, al + WORD $0xd889 // mov eax, ebx + WORD $0xd800 // add al, bl + LONG $0x13244402 // add al, byte [rsp + 19] + WORD $0x8941; BYTE $0xc5 // mov r13d, eax + LONG $0x2444b60f; BYTE $0x03 // movzx eax, byte [rsp + 3] + WORD $0xe0c0; BYTE $0x07 // shl al, 7 + WORD $0x0840; BYTE $0xf8 // or al, dil + LONG $0x03244488 // mov byte [rsp + 3], al + LONG $0x2444b60f; BYTE $0x12 // movzx eax, byte [rsp + 18] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0x0844; BYTE $0xe8 // or al, r13b + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x17 // movzx eax, byte [rsp + 23] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0xc808 // or al, cl + LONG $0x245cb60f; BYTE $0x11 // movzx ebx, byte [rsp + 17] + WORD $0xe3c0; BYTE $0x03 // shl bl, 3 + WORD $0x0840; BYTE $0xfb // or bl, dil LONG $0x6cb60f44; WORD $0x1624 // movzx r13d, byte [rsp + 22] - LONG $0x03e5c041 // shl r13b, 3 + LONG $0x04e5c041 // shl r13b, 4 WORD $0x0841; BYTE $0xc5 // or r13b, al - LONG $0x02e1c041 // shl r9b, 2 - WORD $0x0841; BYTE $0xc9 // or r9b, cl - LONG $0x244cb60f; BYTE $0x15 // movzx ecx, byte [rsp + 21] - WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0x0844; BYTE $0xe9 // or cl, r13b - WORD $0x8941; BYTE $0xcd // mov r13d, ecx - LONG $0x03e3c041 // shl r11b, 3 - WORD $0x0845; BYTE $0xcb // or r11b, r9b - LONG $0x244cb60f; BYTE $0x17 // movzx ecx, byte [rsp + 23] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0x0844; BYTE $0xe9 // or cl, r13b - LONG $0x04e2c041 // shl r10b, 4 - WORD $0x0845; BYTE $0xda // or r10b, r11b - LONG $0x2444b60f; BYTE $0x07 // movzx eax, byte [rsp + 7] - WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0x0844; BYTE $0xd0 // or al, r10b - LONG $0x4cb60f44; WORD $0x0624 // movzx r9d, byte [rsp + 6] - LONG $0x06e1c041 // shl r9b, 6 - WORD $0xe3c0; BYTE $0x07 // shl bl, 7 - WORD $0x0844; BYTE $0xcb // or bl, r9b - WORD $0x0841; BYTE $0xcf // or r15b, cl - WORD $0xc308 // or bl, al - WORD $0x0045; BYTE $0xf6 // add r14b, r14b - LONG $0x24740244; BYTE $0x0e // add r14b, byte [rsp + 14] - LONG $0x02e4c041 // shl r12b, 2 - WORD $0x0845; BYTE $0xf4 // or r12b, r14b - LONG $0x24748b4c; BYTE $0x30 // mov r14, qword [rsp + 48] - LONG $0x2444b60f; BYTE $0x09 // movzx eax, byte [rsp + 9] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0x0844; BYTE $0xe0 // or al, r12b - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x0a // movzx eax, byte [rsp + 10] + LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xd808 // or al, bl + WORD $0xc789 // mov edi, eax + LONG $0x245cb60f; BYTE $0x0f // movzx ebx, byte [rsp + 15] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + LONG $0x2444b60f; BYTE $0x0c // movzx eax, byte [rsp + 12] + WORD $0xe0c0; BYTE $0x06 // shl al, 6 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x0b // movzx eax, byte [rsp + 11] - WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - WORD $0x8845; BYTE $0x3e // mov byte [r14], r15b - LONG $0x244cb60f; BYTE $0x0c // movzx ecx, byte [rsp + 12] + WORD $0xe0c0; BYTE $0x07 // shl al, 7 + WORD $0xd808 // or al, bl + LONG $0x245cb60f; BYTE $0x0a // movzx ebx, byte [rsp + 10] + WORD $0xdb00 // add bl, bl + LONG $0x0e245c02 // add bl, byte [rsp + 14] + LONG $0x244cb60f; BYTE $0x09 // movzx ecx, byte [rsp + 9] + WORD $0xe1c0; BYTE $0x02 // shl cl, 2 + WORD $0xd908 // or cl, bl + LONG $0x03e3c041 // shl r11b, 3 + WORD $0x0841; BYTE $0xcb // or r11b, cl + LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0x0844; BYTE $0xdb // or bl, r11b + LONG $0x24648b4c; BYTE $0x30 // mov r12, qword [rsp + 48] + LONG $0x5cb60f44; WORD $0x0324 // movzx r11d, byte [rsp + 3] + WORD $0x0845; BYTE $0xeb // or r11b, r13b + LONG $0x6cb60f44; WORD $0x0724 // movzx r13d, byte [rsp + 7] + LONG $0x05e5c041 // shl r13b, 5 + LONG $0x244cb60f; BYTE $0x05 // movzx ecx, byte [rsp + 5] WORD $0xe1c0; BYTE $0x06 // shl cl, 6 + WORD $0x0844; BYTE $0xe9 // or cl, r13b + WORD $0x0840; BYTE $0xf8 // or al, dil + LONG $0x07e2c041 // shl r10b, 7 + WORD $0x0841; BYTE $0xca // or r10b, cl + WORD $0x0841; BYTE $0xda // or r10b, bl + LONG $0x244cb60f; BYTE $0x20 // movzx ecx, byte [rsp + 32] + WORD $0xc900 // add cl, cl + LONG $0x06244c02 // add cl, byte [rsp + 6] + LONG $0x02e7c041 // shl r15b, 2 + WORD $0x0841; BYTE $0xcf // or r15b, cl + LONG $0x03e6c041 // shl r14b, 3 + WORD $0x0845; BYTE $0xfe // or r14b, r15b + LONG $0x244cb60f; BYTE $0x04 // movzx ecx, byte [rsp + 4] + WORD $0xe1c0; BYTE $0x04 // shl cl, 4 + WORD $0x0844; BYTE $0xf1 // or cl, r14b + LONG $0x241c8845 // mov byte [r12], r11b + LONG $0x245cb60f; BYTE $0x28 // movzx ebx, byte [rsp + 40] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + LONG $0x06e1c041 // shl r9b, 6 + WORD $0x0841; BYTE $0xd9 // or r9b, bl + LONG $0x24448841; BYTE $0x01 // mov byte [r12 + 1], al LONG $0x07e0c041 // shl r8b, 7 + WORD $0x0845; BYTE $0xc8 // or r8b, r9b WORD $0x0841; BYTE $0xc8 // or r8b, cl - LONG $0x015e8841 // mov byte [r14 + 1], bl - WORD $0x0841; BYTE $0xc0 // or r8b, al - LONG $0x2444b60f; BYTE $0x0d // movzx eax, byte [rsp + 13] - WORD $0xc000 // add al, al - LONG $0x14244402 // add al, byte [rsp + 20] - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x0f // movzx eax, byte [rsp + 15] - WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x11 // movzx eax, byte [rsp + 17] - WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0xc808 // or al, cl - LONG $0x244cb60f; BYTE $0x13 // movzx ecx, byte [rsp + 19] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0xc108 // or cl, al - LONG $0x2444b60f; BYTE $0x12 // movzx eax, byte [rsp + 18] - WORD $0xe0c0; BYTE $0x06 // shl al, 6 - LONG $0x07e7c040 // shl dil, 7 - WORD $0x0840; BYTE $0xc7 // or dil, al - WORD $0x0840; BYTE $0xcf // or dil, cl - LONG $0x02468845 // mov byte [r14 + 2], r8b - LONG $0x037e8841 // mov byte [r14 + 3], dil + LONG $0x24548845; BYTE $0x02 // mov byte [r12 + 2], r10b + LONG $0x24448845; BYTE $0x03 // mov byte [r12 + 3], r8b LONG $0x80c28148; WORD $0x0000; BYTE $0x00 // add rdx, 128 - LONG $0x04c68349 // add r14, 4 - LONG $0x24448348; WORD $0xff28 // add qword [rsp + 40], -1 + LONG $0x04c48349 // add r12, 4 + LONG $0x24448348; WORD $0xff38 // add qword [rsp + 56], -1 JNE LBB3_118 - LONG $0x245c8b4c; BYTE $0x18 // mov r11, qword [rsp + 24] - LONG $0x247c8b4c; BYTE $0x20 // mov r15, qword [rsp + 32] + LONG $0x24748b4c; BYTE $0x18 // mov r14, qword [rsp + 24] + LONG $0x247c8b4c; BYTE $0x40 // mov r15, qword [rsp + 64] LBB3_120: LONG $0x05e7c149 // shl r15, 5 - WORD $0x394d; BYTE $0xdf // cmp r15, r11 + WORD $0x394d; BYTE $0xf7 // cmp r15, r14 JGE LBB3_123 - WORD $0x294d; BYTE $0xfb // sub r11, r15 + WORD $0x294d; BYTE $0xfe // sub r14, r15 WORD $0xc931 // xor ecx, ecx LBB3_122: + LONG $0x01498d4c // lea r9, [rcx + 1] LONG $0x0410fac5; BYTE $0x8e // vmovss xmm0, dword [rsi + 4*rcx] LONG $0x042ef8c5; BYTE $0x8a // vucomiss xmm0, dword [rdx + 4*rcx] - LONG $0x01418d4c // lea r8, [rcx + 1] - WORD $0x950f; BYTE $0xd3 // setne bl - WORD $0xdbf6 // neg bl + WORD $0x9a0f; BYTE $0xd3 // setp bl + WORD $0x950f; BYTE $0xd0 // setne al + WORD $0xd808 // or al, bl + WORD $0xd8f6 // neg al WORD $0x8948; BYTE $0xcf // mov rdi, rcx LONG $0x03efc148 // shr rdi, 3 - LONG $0x0cb60f45; BYTE $0x3e // movzx r9d, byte [r14 + rdi] - WORD $0x3044; BYTE $0xcb // xor bl, r9b + LONG $0x04b60f45; BYTE $0x3c // movzx r8d, byte [r12 + rdi] + WORD $0x3044; BYTE $0xc0 // xor al, r8b WORD $0xe180; BYTE $0x07 // and cl, 7 - WORD $0x01b0 // mov al, 1 - WORD $0xe0d2 // shl al, cl - WORD $0xd820 // and al, bl - WORD $0x3044; BYTE $0xc8 // xor al, r9b - LONG $0x3e048841 // mov byte [r14 + rdi], al - WORD $0x894c; BYTE $0xc1 // mov rcx, r8 - WORD $0x394d; BYTE $0xc3 // cmp r11, r8 + WORD $0x01b3 // mov bl, 1 + WORD $0xe3d2 // shl bl, cl + WORD $0xc320 // and bl, al + WORD $0x3044; BYTE $0xc3 // xor bl, r8b + LONG $0x3c1c8841 // mov byte [r12 + rdi], bl + WORD $0x894c; BYTE $0xc9 // mov rcx, r9 + WORD $0x394d; BYTE $0xce // cmp r14, r9 JNE LBB3_122 JMP LBB3_123 LBB3_57: - LONG $0x1f7b8d4d // lea r15, [r11 + 31] - WORD $0x854d; BYTE $0xdb // test r11, r11 - LONG $0xfb490f4d // cmovns r15, r11 - LONG $0x07418d41 // lea eax, [r9 + 7] - WORD $0x8545; BYTE $0xc9 // test r9d, r9d - LONG $0xc1490f41 // cmovns eax, r9d - WORD $0xe083; BYTE $0xf8 // and eax, -8 - WORD $0x2941; BYTE $0xc1 // sub r9d, eax + LONG $0x1f7e8d4d // lea r15, [r14 + 31] + WORD $0x854d; BYTE $0xf6 // test r14, r14 + LONG $0xfe490f4d // cmovns r15, r14 + WORD $0x488d; BYTE $0x07 // lea ecx, [rax + 7] + WORD $0xc085 // test eax, eax + WORD $0x490f; BYTE $0xc8 // cmovns ecx, eax + WORD $0xe183; BYTE $0xf8 // and ecx, -8 + WORD $0xc829 // sub eax, ecx JE LBB3_61 - WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d + WORD $0x9848 // cdqe LBB3_59: WORD $0xb60f; BYTE $0x0e // movzx ecx, byte [rsi] @@ -18921,7 +19765,7 @@ LBB3_59: WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xf8490f48 // cmovns rdi, rax LONG $0x03ffc148 // sar rdi, 3 - LONG $0x04b60f45; BYTE $0x3e // movzx r8d, byte [r14 + rdi] + LONG $0x04b60f45; BYTE $0x3c // movzx r8d, byte [r12 + rdi] WORD $0x3045; BYTE $0xc2 // xor r10b, r8b QUAD $0x00000000fd0c8d44 // lea r9d, [8*rdi] WORD $0xc189 // mov ecx, eax @@ -18930,49 +19774,49 @@ LBB3_59: WORD $0xe3d3 // shl ebx, cl WORD $0x2044; BYTE $0xd3 // and bl, r10b WORD $0x3044; BYTE $0xc3 // xor bl, r8b - LONG $0x3e1c8841 // mov byte [r14 + rdi], bl + LONG $0x3c1c8841 // mov byte [r12 + rdi], bl LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 JNE LBB3_59 - LONG $0x01c68349 // add r14, 1 + LONG $0x01c48349 // add r12, 1 LBB3_61: LONG $0x05ffc149 // sar r15, 5 - LONG $0x20fb8349 // cmp r11, 32 + LONG $0x20fe8349 // cmp r14, 32 JL LBB3_65 - LONG $0x245c894c; BYTE $0x18 // mov qword [rsp + 24], r11 - LONG $0x247c894c; BYTE $0x38 // mov qword [rsp + 56], r15 + LONG $0x2474894c; BYTE $0x18 // mov qword [rsp + 24], r14 LONG $0x247c894c; BYTE $0x20 // mov qword [rsp + 32], r15 + LONG $0x247c894c; BYTE $0x28 // mov qword [rsp + 40], r15 LBB3_63: - LONG $0x2474894c; BYTE $0x30 // mov qword [rsp + 48], r14 + LONG $0x2464894c; BYTE $0x30 // mov qword [rsp + 48], r12 WORD $0xb60f; BYTE $0x06 // movzx eax, byte [rsi] LONG $0x014eb60f // movzx ecx, byte [rsi + 1] WORD $0x023a // cmp al, byte [rdx] - LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] + LONG $0x2454950f; BYTE $0x04 // setne byte [rsp + 4] WORD $0x4a3a; BYTE $0x01 // cmp cl, byte [rdx + 1] - WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0x950f; BYTE $0xd3 // setne bl LONG $0x0246b60f // movzx eax, byte [rsi + 2] WORD $0x423a; BYTE $0x02 // cmp al, byte [rdx + 2] - LONG $0x2454950f; BYTE $0x14 // setne byte [rsp + 20] + LONG $0x2454950f; BYTE $0x15 // setne byte [rsp + 21] LONG $0x0346b60f // movzx eax, byte [rsi + 3] WORD $0x423a; BYTE $0x03 // cmp al, byte [rdx + 3] - LONG $0x2454950f; BYTE $0x15 // setne byte [rsp + 21] + LONG $0x2454950f; BYTE $0x16 // setne byte [rsp + 22] LONG $0x0446b60f // movzx eax, byte [rsi + 4] WORD $0x423a; BYTE $0x04 // cmp al, byte [rdx + 4] - LONG $0x2454950f; BYTE $0x16 // setne byte [rsp + 22] + LONG $0x2454950f; BYTE $0x17 // setne byte [rsp + 23] LONG $0x0546b60f // movzx eax, byte [rsi + 5] WORD $0x423a; BYTE $0x05 // cmp al, byte [rdx + 5] - LONG $0x2454950f; BYTE $0x17 // setne byte [rsp + 23] + LONG $0x2454950f; BYTE $0x03 // setne byte [rsp + 3] LONG $0x0646b60f // movzx eax, byte [rsi + 6] WORD $0x423a; BYTE $0x06 // cmp al, byte [rdx + 6] - LONG $0x2454950f; BYTE $0x04 // setne byte [rsp + 4] + LONG $0x2454950f; BYTE $0x05 // setne byte [rsp + 5] LONG $0x0746b60f // movzx eax, byte [rsi + 7] WORD $0x423a; BYTE $0x07 // cmp al, byte [rdx + 7] LONG $0xd7950f41 // setne r15b LONG $0x0846b60f // movzx eax, byte [rsi + 8] WORD $0x423a; BYTE $0x08 // cmp al, byte [rdx + 8] - LONG $0x2454950f; BYTE $0x07 // setne byte [rsp + 7] + LONG $0x2454950f; BYTE $0x08 // setne byte [rsp + 8] LONG $0x0946b60f // movzx eax, byte [rsi + 9] WORD $0x423a; BYTE $0x09 // cmp al, byte [rdx + 9] LONG $0xd7950f40 // setne dil @@ -18987,16 +19831,16 @@ LBB3_63: LONG $0xd6950f41 // setne r14b LONG $0x0d46b60f // movzx eax, byte [rsi + 13] WORD $0x423a; BYTE $0x0d // cmp al, byte [rdx + 13] - LONG $0x2454950f; BYTE $0x05 // setne byte [rsp + 5] + LONG $0x2454950f; BYTE $0x06 // setne byte [rsp + 6] LONG $0x0e46b60f // movzx eax, byte [rsi + 14] WORD $0x423a; BYTE $0x0e // cmp al, byte [rdx + 14] - LONG $0x2454950f; BYTE $0x06 // setne byte [rsp + 6] + LONG $0x2454950f; BYTE $0x07 // setne byte [rsp + 7] LONG $0x0f46b60f // movzx eax, byte [rsi + 15] WORD $0x423a; BYTE $0x0f // cmp al, byte [rdx + 15] - WORD $0x950f; BYTE $0xd3 // setne bl + LONG $0xd0950f41 // setne r8b LONG $0x1046b60f // movzx eax, byte [rsi + 16] WORD $0x423a; BYTE $0x10 // cmp al, byte [rdx + 16] - LONG $0x2454950f; BYTE $0x0d // setne byte [rsp + 13] + LONG $0x2454950f; BYTE $0x0e // setne byte [rsp + 14] LONG $0x1146b60f // movzx eax, byte [rsi + 17] WORD $0x423a; BYTE $0x11 // cmp al, byte [rdx + 17] LONG $0xd4950f41 // setne r12b @@ -19005,144 +19849,144 @@ LBB3_63: LONG $0xd5950f41 // setne r13b LONG $0x1346b60f // movzx eax, byte [rsi + 19] WORD $0x423a; BYTE $0x13 // cmp al, byte [rdx + 19] - LONG $0x2454950f; BYTE $0x08 // setne byte [rsp + 8] + LONG $0x2454950f; BYTE $0x09 // setne byte [rsp + 9] LONG $0x1446b60f // movzx eax, byte [rsi + 20] WORD $0x423a; BYTE $0x14 // cmp al, byte [rdx + 20] - LONG $0x2454950f; BYTE $0x09 // setne byte [rsp + 9] + LONG $0x2454950f; BYTE $0x0a // setne byte [rsp + 10] LONG $0x1546b60f // movzx eax, byte [rsi + 21] WORD $0x423a; BYTE $0x15 // cmp al, byte [rdx + 21] - LONG $0x2454950f; BYTE $0x0a // setne byte [rsp + 10] + LONG $0x2454950f; BYTE $0x0b // setne byte [rsp + 11] LONG $0x1646b60f // movzx eax, byte [rsi + 22] WORD $0x423a; BYTE $0x16 // cmp al, byte [rdx + 22] - LONG $0x2454950f; BYTE $0x0b // setne byte [rsp + 11] + LONG $0x2454950f; BYTE $0x0c // setne byte [rsp + 12] LONG $0x1746b60f // movzx eax, byte [rsi + 23] WORD $0x423a; BYTE $0x17 // cmp al, byte [rdx + 23] LONG $0xd1950f41 // setne r9b LONG $0x1846b60f // movzx eax, byte [rsi + 24] WORD $0x423a; BYTE $0x18 // cmp al, byte [rdx + 24] - LONG $0x2454950f; BYTE $0x13 // setne byte [rsp + 19] + LONG $0x2454950f; BYTE $0x14 // setne byte [rsp + 20] LONG $0x1946b60f // movzx eax, byte [rsi + 25] WORD $0x423a; BYTE $0x19 // cmp al, byte [rdx + 25] - LONG $0x2454950f; BYTE $0x0c // setne byte [rsp + 12] + LONG $0x2454950f; BYTE $0x0d // setne byte [rsp + 13] LONG $0x1a46b60f // movzx eax, byte [rsi + 26] WORD $0x423a; BYTE $0x1a // cmp al, byte [rdx + 26] - LONG $0x2454950f; BYTE $0x0e // setne byte [rsp + 14] + LONG $0x2454950f; BYTE $0x0f // setne byte [rsp + 15] LONG $0x1b46b60f // movzx eax, byte [rsi + 27] WORD $0x423a; BYTE $0x1b // cmp al, byte [rdx + 27] - LONG $0x2454950f; BYTE $0x0f // setne byte [rsp + 15] + LONG $0x2454950f; BYTE $0x10 // setne byte [rsp + 16] LONG $0x1c46b60f // movzx eax, byte [rsi + 28] WORD $0x423a; BYTE $0x1c // cmp al, byte [rdx + 28] - LONG $0x2454950f; BYTE $0x10 // setne byte [rsp + 16] + LONG $0x2454950f; BYTE $0x11 // setne byte [rsp + 17] LONG $0x1d46b60f // movzx eax, byte [rsi + 29] WORD $0x423a; BYTE $0x1d // cmp al, byte [rdx + 29] - LONG $0x2454950f; BYTE $0x11 // setne byte [rsp + 17] + LONG $0x2454950f; BYTE $0x12 // setne byte [rsp + 18] LONG $0x1e46b60f // movzx eax, byte [rsi + 30] WORD $0x423a; BYTE $0x1e // cmp al, byte [rdx + 30] - LONG $0x2454950f; BYTE $0x12 // setne byte [rsp + 18] + LONG $0x2454950f; BYTE $0x13 // setne byte [rsp + 19] LONG $0x1f46b60f // movzx eax, byte [rsi + 31] LONG $0x20c68348 // add rsi, 32 WORD $0x423a; BYTE $0x1f // cmp al, byte [rdx + 31] - LONG $0xd0950f41 // setne r8b - WORD $0xc900 // add cl, cl - LONG $0x28244c02 // add cl, byte [rsp + 40] - WORD $0xc889 // mov eax, ecx - LONG $0x244cb60f; BYTE $0x04 // movzx ecx, byte [rsp + 4] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xdb00 // add bl, bl + LONG $0x04245c02 // add bl, byte [rsp + 4] + WORD $0xd889 // mov eax, ebx + LONG $0x245cb60f; BYTE $0x05 // movzx ebx, byte [rsp + 5] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e7c041 // shl r15b, 7 - WORD $0x0841; BYTE $0xcf // or r15b, cl - LONG $0x244cb60f; BYTE $0x14 // movzx ecx, byte [rsp + 20] - WORD $0xe1c0; BYTE $0x02 // shl cl, 2 - WORD $0xc108 // or cl, al - WORD $0xc889 // mov eax, ecx + WORD $0x0841; BYTE $0xdf // or r15b, bl + LONG $0x245cb60f; BYTE $0x15 // movzx ebx, byte [rsp + 21] + WORD $0xe3c0; BYTE $0x02 // shl bl, 2 + WORD $0xc308 // or bl, al + WORD $0xd889 // mov eax, ebx WORD $0x0040; BYTE $0xff // add dil, dil - LONG $0x247c0240; BYTE $0x07 // add dil, byte [rsp + 7] - LONG $0x244cb60f; BYTE $0x15 // movzx ecx, byte [rsp + 21] - WORD $0xe1c0; BYTE $0x03 // shl cl, 3 - WORD $0xc108 // or cl, al - WORD $0xc889 // mov eax, ecx + LONG $0x247c0240; BYTE $0x08 // add dil, byte [rsp + 8] + LONG $0x245cb60f; BYTE $0x16 // movzx ebx, byte [rsp + 22] + WORD $0xe3c0; BYTE $0x03 // shl bl, 3 + WORD $0xc308 // or bl, al + WORD $0xd889 // mov eax, ebx LONG $0x02e2c041 // shl r10b, 2 WORD $0x0841; BYTE $0xfa // or r10b, dil - LONG $0x244cb60f; BYTE $0x16 // movzx ecx, byte [rsp + 22] - WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0xc108 // or cl, al - WORD $0xcf89 // mov edi, ecx + LONG $0x245cb60f; BYTE $0x17 // movzx ebx, byte [rsp + 23] + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0xc308 // or bl, al + WORD $0xdf89 // mov edi, ebx LONG $0x03e3c041 // shl r11b, 3 WORD $0x0845; BYTE $0xd3 // or r11b, r10b - LONG $0x244cb60f; BYTE $0x17 // movzx ecx, byte [rsp + 23] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0x0840; BYTE $0xf9 // or cl, dil + LONG $0x245cb60f; BYTE $0x03 // movzx ebx, byte [rsp + 3] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + WORD $0x0840; BYTE $0xfb // or bl, dil LONG $0x04e6c041 // shl r14b, 4 WORD $0x0845; BYTE $0xde // or r14b, r11b - LONG $0x2444b60f; BYTE $0x05 // movzx eax, byte [rsp + 5] + LONG $0x2444b60f; BYTE $0x06 // movzx eax, byte [rsp + 6] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0x0844; BYTE $0xf0 // or al, r14b - LONG $0x247cb60f; BYTE $0x06 // movzx edi, byte [rsp + 6] + LONG $0x247cb60f; BYTE $0x07 // movzx edi, byte [rsp + 7] LONG $0x06e7c040 // shl dil, 6 - WORD $0xe3c0; BYTE $0x07 // shl bl, 7 - WORD $0x0840; BYTE $0xfb // or bl, dil - WORD $0x0841; BYTE $0xcf // or r15b, cl - WORD $0xc308 // or bl, al + LONG $0x07e0c041 // shl r8b, 7 + WORD $0x0841; BYTE $0xf8 // or r8b, dil + WORD $0x0841; BYTE $0xdf // or r15b, bl + WORD $0x0841; BYTE $0xc0 // or r8b, al WORD $0x0045; BYTE $0xe4 // add r12b, r12b - LONG $0x24640244; BYTE $0x0d // add r12b, byte [rsp + 13] + LONG $0x24640244; BYTE $0x0e // add r12b, byte [rsp + 14] LONG $0x02e5c041 // shl r13b, 2 WORD $0x0845; BYTE $0xe5 // or r13b, r12b - LONG $0x24748b4c; BYTE $0x30 // mov r14, qword [rsp + 48] - LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + LONG $0x24648b4c; BYTE $0x30 // mov r12, qword [rsp + 48] + LONG $0x2444b60f; BYTE $0x09 // movzx eax, byte [rsp + 9] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0x0844; BYTE $0xe8 // or al, r13b - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x09 // movzx eax, byte [rsp + 9] - WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x0a // movzx eax, byte [rsp + 10] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x0b // movzx eax, byte [rsp + 11] WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - WORD $0x8845; BYTE $0x3e // mov byte [r14], r15b - LONG $0x244cb60f; BYTE $0x0b // movzx ecx, byte [rsp + 11] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 + WORD $0xd808 // or al, bl + LONG $0x243c8845 // mov byte [r12], r15b + LONG $0x245cb60f; BYTE $0x0c // movzx ebx, byte [rsp + 12] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e1c041 // shl r9b, 7 - WORD $0x0841; BYTE $0xc9 // or r9b, cl - LONG $0x015e8841 // mov byte [r14 + 1], bl + WORD $0x0841; BYTE $0xd9 // or r9b, bl + LONG $0x24448845; BYTE $0x01 // mov byte [r12 + 1], r8b WORD $0x0841; BYTE $0xc1 // or r9b, al - LONG $0x2444b60f; BYTE $0x0c // movzx eax, byte [rsp + 12] + LONG $0x2444b60f; BYTE $0x0d // movzx eax, byte [rsp + 13] WORD $0xc000 // add al, al - LONG $0x13244402 // add al, byte [rsp + 19] - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x0e // movzx eax, byte [rsp + 14] - WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + LONG $0x14244402 // add al, byte [rsp + 20] + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x0f // movzx eax, byte [rsp + 15] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] - WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x11 // movzx eax, byte [rsp + 17] - WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - LONG $0x244cb60f; BYTE $0x12 // movzx ecx, byte [rsp + 18] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 - LONG $0x07e0c041 // shl r8b, 7 - WORD $0x0841; BYTE $0xc8 // or r8b, cl - WORD $0x0841; BYTE $0xc0 // or r8b, al - LONG $0x024e8845 // mov byte [r14 + 2], r9b - LONG $0x03468845 // mov byte [r14 + 3], r8b + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x12 // movzx eax, byte [rsp + 18] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0xd808 // or al, bl + LONG $0x245cb60f; BYTE $0x13 // movzx ebx, byte [rsp + 19] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 + WORD $0xe1c0; BYTE $0x07 // shl cl, 7 + WORD $0xd908 // or cl, bl + WORD $0xc108 // or cl, al + LONG $0x244c8845; BYTE $0x02 // mov byte [r12 + 2], r9b + LONG $0x244c8841; BYTE $0x03 // mov byte [r12 + 3], cl LONG $0x20c28348 // add rdx, 32 - LONG $0x04c68349 // add r14, 4 - LONG $0x24448348; WORD $0xff20 // add qword [rsp + 32], -1 + LONG $0x04c48349 // add r12, 4 + LONG $0x24448348; WORD $0xff28 // add qword [rsp + 40], -1 JNE LBB3_63 - LONG $0x245c8b4c; BYTE $0x18 // mov r11, qword [rsp + 24] - LONG $0x247c8b4c; BYTE $0x38 // mov r15, qword [rsp + 56] + LONG $0x24748b4c; BYTE $0x18 // mov r14, qword [rsp + 24] + LONG $0x247c8b4c; BYTE $0x20 // mov r15, qword [rsp + 32] LBB3_65: LONG $0x05e7c149 // shl r15, 5 - WORD $0x394d; BYTE $0xdf // cmp r15, r11 + WORD $0x394d; BYTE $0xf7 // cmp r15, r14 JGE LBB3_123 - WORD $0x294d; BYTE $0xfb // sub r11, r15 + WORD $0x294d; BYTE $0xfe // sub r14, r15 WORD $0xc931 // xor ecx, ecx LBB3_67: @@ -19153,30 +19997,30 @@ LBB3_67: WORD $0xdbf6 // neg bl WORD $0x8948; BYTE $0xcf // mov rdi, rcx LONG $0x03efc148 // shr rdi, 3 - LONG $0x0cb60f45; BYTE $0x3e // movzx r9d, byte [r14 + rdi] + LONG $0x0cb60f45; BYTE $0x3c // movzx r9d, byte [r12 + rdi] WORD $0x3044; BYTE $0xcb // xor bl, r9b WORD $0xe180; BYTE $0x07 // and cl, 7 WORD $0x01b0 // mov al, 1 WORD $0xe0d2 // shl al, cl WORD $0xd820 // and al, bl WORD $0x3044; BYTE $0xc8 // xor al, r9b - LONG $0x3e048841 // mov byte [r14 + rdi], al + LONG $0x3c048841 // mov byte [r12 + rdi], al WORD $0x894c; BYTE $0xc1 // mov rcx, r8 - WORD $0x394d; BYTE $0xc3 // cmp r11, r8 + WORD $0x394d; BYTE $0xc6 // cmp r14, r8 JNE LBB3_67 JMP LBB3_123 LBB3_90: - LONG $0x1f7b8d4d // lea r15, [r11 + 31] - WORD $0x854d; BYTE $0xdb // test r11, r11 - LONG $0xfb490f4d // cmovns r15, r11 - LONG $0x07418d41 // lea eax, [r9 + 7] - WORD $0x8545; BYTE $0xc9 // test r9d, r9d - LONG $0xc1490f41 // cmovns eax, r9d - WORD $0xe083; BYTE $0xf8 // and eax, -8 - WORD $0x2941; BYTE $0xc1 // sub r9d, eax + LONG $0x1f7e8d4d // lea r15, [r14 + 31] + WORD $0x854d; BYTE $0xf6 // test r14, r14 + LONG $0xfe490f4d // cmovns r15, r14 + WORD $0x488d; BYTE $0x07 // lea ecx, [rax + 7] + WORD $0xc085 // test eax, eax + WORD $0x490f; BYTE $0xc8 // cmovns ecx, eax + WORD $0xe183; BYTE $0xf8 // and ecx, -8 + WORD $0xc829 // sub eax, ecx JE LBB3_94 - WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d + WORD $0x9848 // cdqe LBB3_92: WORD $0x0e8b // mov ecx, dword [rsi] @@ -19189,7 +20033,7 @@ LBB3_92: WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xf8490f48 // cmovns rdi, rax LONG $0x03ffc148 // sar rdi, 3 - LONG $0x04b60f45; BYTE $0x3e // movzx r8d, byte [r14 + rdi] + LONG $0x04b60f45; BYTE $0x3c // movzx r8d, byte [r12 + rdi] WORD $0x3045; BYTE $0xc2 // xor r10b, r8b QUAD $0x00000000fd0c8d44 // lea r9d, [8*rdi] WORD $0xc189 // mov ecx, eax @@ -19198,49 +20042,49 @@ LBB3_92: WORD $0xe3d3 // shl ebx, cl WORD $0x2044; BYTE $0xd3 // and bl, r10b WORD $0x3044; BYTE $0xc3 // xor bl, r8b - LONG $0x3e1c8841 // mov byte [r14 + rdi], bl + LONG $0x3c1c8841 // mov byte [r12 + rdi], bl LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 JNE LBB3_92 - LONG $0x01c68349 // add r14, 1 + LONG $0x01c48349 // add r12, 1 LBB3_94: LONG $0x05ffc149 // sar r15, 5 - LONG $0x20fb8349 // cmp r11, 32 + LONG $0x20fe8349 // cmp r14, 32 JL LBB3_98 - LONG $0x245c894c; BYTE $0x18 // mov qword [rsp + 24], r11 - LONG $0x247c894c; BYTE $0x40 // mov qword [rsp + 64], r15 + LONG $0x2474894c; BYTE $0x18 // mov qword [rsp + 24], r14 LONG $0x247c894c; BYTE $0x38 // mov qword [rsp + 56], r15 + LONG $0x247c894c; BYTE $0x20 // mov qword [rsp + 32], r15 LBB3_96: - LONG $0x2474894c; BYTE $0x30 // mov qword [rsp + 48], r14 + LONG $0x2464894c; BYTE $0x30 // mov qword [rsp + 48], r12 WORD $0x068b // mov eax, dword [rsi] WORD $0x4e8b; BYTE $0x04 // mov ecx, dword [rsi + 4] WORD $0x023b // cmp eax, dword [rdx] - LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] + LONG $0x2454950f; BYTE $0x04 // setne byte [rsp + 4] WORD $0x4a3b; BYTE $0x04 // cmp ecx, dword [rdx + 4] - LONG $0x2454950f; BYTE $0x20 // setne byte [rsp + 32] + LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] WORD $0x468b; BYTE $0x08 // mov eax, dword [rsi + 8] WORD $0x423b; BYTE $0x08 // cmp eax, dword [rdx + 8] - LONG $0x2454950f; BYTE $0x14 // setne byte [rsp + 20] + LONG $0x2454950f; BYTE $0x15 // setne byte [rsp + 21] WORD $0x468b; BYTE $0x0c // mov eax, dword [rsi + 12] WORD $0x423b; BYTE $0x0c // cmp eax, dword [rdx + 12] - LONG $0x2454950f; BYTE $0x15 // setne byte [rsp + 21] + LONG $0x2454950f; BYTE $0x16 // setne byte [rsp + 22] WORD $0x468b; BYTE $0x10 // mov eax, dword [rsi + 16] WORD $0x423b; BYTE $0x10 // cmp eax, dword [rdx + 16] - LONG $0x2454950f; BYTE $0x16 // setne byte [rsp + 22] + LONG $0x2454950f; BYTE $0x17 // setne byte [rsp + 23] WORD $0x468b; BYTE $0x14 // mov eax, dword [rsi + 20] WORD $0x423b; BYTE $0x14 // cmp eax, dword [rdx + 20] - LONG $0x2454950f; BYTE $0x17 // setne byte [rsp + 23] + LONG $0x2454950f; BYTE $0x03 // setne byte [rsp + 3] WORD $0x468b; BYTE $0x18 // mov eax, dword [rsi + 24] WORD $0x423b; BYTE $0x18 // cmp eax, dword [rdx + 24] - LONG $0x2454950f; BYTE $0x04 // setne byte [rsp + 4] + LONG $0x2454950f; BYTE $0x05 // setne byte [rsp + 5] WORD $0x468b; BYTE $0x1c // mov eax, dword [rsi + 28] WORD $0x423b; BYTE $0x1c // cmp eax, dword [rdx + 28] LONG $0xd5950f41 // setne r13b WORD $0x468b; BYTE $0x20 // mov eax, dword [rsi + 32] WORD $0x423b; BYTE $0x20 // cmp eax, dword [rdx + 32] - LONG $0x2454950f; BYTE $0x09 // setne byte [rsp + 9] + LONG $0x2454950f; BYTE $0x0a // setne byte [rsp + 10] WORD $0x468b; BYTE $0x24 // mov eax, dword [rsi + 36] WORD $0x423b; BYTE $0x24 // cmp eax, dword [rdx + 36] LONG $0xd0950f41 // setne r8b @@ -19252,165 +20096,165 @@ LBB3_96: LONG $0xd7950f41 // setne r15b WORD $0x468b; BYTE $0x30 // mov eax, dword [rsi + 48] WORD $0x423b; BYTE $0x30 // cmp eax, dword [rdx + 48] - LONG $0x2454950f; BYTE $0x05 // setne byte [rsp + 5] + LONG $0x2454950f; BYTE $0x06 // setne byte [rsp + 6] WORD $0x468b; BYTE $0x34 // mov eax, dword [rsi + 52] WORD $0x423b; BYTE $0x34 // cmp eax, dword [rdx + 52] - LONG $0x2454950f; BYTE $0x06 // setne byte [rsp + 6] + LONG $0x2454950f; BYTE $0x07 // setne byte [rsp + 7] WORD $0x468b; BYTE $0x38 // mov eax, dword [rsi + 56] WORD $0x423b; BYTE $0x38 // cmp eax, dword [rdx + 56] - LONG $0x2454950f; BYTE $0x07 // setne byte [rsp + 7] + LONG $0x2454950f; BYTE $0x08 // setne byte [rsp + 8] WORD $0x468b; BYTE $0x3c // mov eax, dword [rsi + 60] WORD $0x423b; BYTE $0x3c // cmp eax, dword [rdx + 60] - WORD $0x950f; BYTE $0xd3 // setne bl + LONG $0xd7950f40 // setne dil WORD $0x468b; BYTE $0x40 // mov eax, dword [rsi + 64] - WORD $0x4e8b; BYTE $0x44 // mov ecx, dword [rsi + 68] + WORD $0x5e8b; BYTE $0x44 // mov ebx, dword [rsi + 68] WORD $0x423b; BYTE $0x40 // cmp eax, dword [rdx + 64] WORD $0x468b; BYTE $0x48 // mov eax, dword [rsi + 72] - LONG $0x2454950f; BYTE $0x0a // setne byte [rsp + 10] - WORD $0x4a3b; BYTE $0x44 // cmp ecx, dword [rdx + 68] - WORD $0x4e8b; BYTE $0x4c // mov ecx, dword [rsi + 76] + LONG $0x2454950f; BYTE $0x0b // setne byte [rsp + 11] + WORD $0x5a3b; BYTE $0x44 // cmp ebx, dword [rdx + 68] + WORD $0x5e8b; BYTE $0x4c // mov ebx, dword [rsi + 76] LONG $0xd2950f41 // setne r10b WORD $0x423b; BYTE $0x48 // cmp eax, dword [rdx + 72] WORD $0x468b; BYTE $0x50 // mov eax, dword [rsi + 80] LONG $0xd6950f41 // setne r14b - WORD $0x4a3b; BYTE $0x4c // cmp ecx, dword [rdx + 76] - WORD $0x4e8b; BYTE $0x54 // mov ecx, dword [rsi + 84] + WORD $0x5a3b; BYTE $0x4c // cmp ebx, dword [rdx + 76] + WORD $0x5e8b; BYTE $0x54 // mov ebx, dword [rsi + 84] LONG $0xd4950f41 // setne r12b WORD $0x423b; BYTE $0x50 // cmp eax, dword [rdx + 80] - LONG $0x2454950f; BYTE $0x08 // setne byte [rsp + 8] - WORD $0x4a3b; BYTE $0x54 // cmp ecx, dword [rdx + 84] + LONG $0x2454950f; BYTE $0x09 // setne byte [rsp + 9] + WORD $0x5a3b; BYTE $0x54 // cmp ebx, dword [rdx + 84] WORD $0x468b; BYTE $0x58 // mov eax, dword [rsi + 88] - LONG $0x2454950f; BYTE $0x0b // setne byte [rsp + 11] + LONG $0x2454950f; BYTE $0x0c // setne byte [rsp + 12] WORD $0x423b; BYTE $0x58 // cmp eax, dword [rdx + 88] WORD $0x468b; BYTE $0x5c // mov eax, dword [rsi + 92] - LONG $0x2454950f; BYTE $0x0c // setne byte [rsp + 12] + LONG $0x2454950f; BYTE $0x0d // setne byte [rsp + 13] WORD $0x423b; BYTE $0x5c // cmp eax, dword [rdx + 92] WORD $0x468b; BYTE $0x60 // mov eax, dword [rsi + 96] LONG $0xd1950f41 // setne r9b WORD $0x423b; BYTE $0x60 // cmp eax, dword [rdx + 96] WORD $0x468b; BYTE $0x64 // mov eax, dword [rsi + 100] - LONG $0x2454950f; BYTE $0x13 // setne byte [rsp + 19] + LONG $0x2454950f; BYTE $0x14 // setne byte [rsp + 20] WORD $0x423b; BYTE $0x64 // cmp eax, dword [rdx + 100] WORD $0x468b; BYTE $0x68 // mov eax, dword [rsi + 104] - LONG $0x2454950f; BYTE $0x0d // setne byte [rsp + 13] + LONG $0x2454950f; BYTE $0x0e // setne byte [rsp + 14] WORD $0x423b; BYTE $0x68 // cmp eax, dword [rdx + 104] WORD $0x468b; BYTE $0x6c // mov eax, dword [rsi + 108] - LONG $0x2454950f; BYTE $0x0e // setne byte [rsp + 14] + LONG $0x2454950f; BYTE $0x0f // setne byte [rsp + 15] WORD $0x423b; BYTE $0x6c // cmp eax, dword [rdx + 108] WORD $0x468b; BYTE $0x70 // mov eax, dword [rsi + 112] - LONG $0x2454950f; BYTE $0x0f // setne byte [rsp + 15] + LONG $0x2454950f; BYTE $0x10 // setne byte [rsp + 16] WORD $0x423b; BYTE $0x70 // cmp eax, dword [rdx + 112] WORD $0x468b; BYTE $0x74 // mov eax, dword [rsi + 116] - LONG $0x2454950f; BYTE $0x10 // setne byte [rsp + 16] + LONG $0x2454950f; BYTE $0x11 // setne byte [rsp + 17] WORD $0x423b; BYTE $0x74 // cmp eax, dword [rdx + 116] WORD $0x468b; BYTE $0x78 // mov eax, dword [rsi + 120] - LONG $0x2454950f; BYTE $0x12 // setne byte [rsp + 18] + LONG $0x2454950f; BYTE $0x13 // setne byte [rsp + 19] WORD $0x423b; BYTE $0x78 // cmp eax, dword [rdx + 120] WORD $0x468b; BYTE $0x7c // mov eax, dword [rsi + 124] - LONG $0x2454950f; BYTE $0x11 // setne byte [rsp + 17] + LONG $0x2454950f; BYTE $0x12 // setne byte [rsp + 18] LONG $0x80ee8348 // sub rsi, -128 WORD $0x423b; BYTE $0x7c // cmp eax, dword [rdx + 124] - LONG $0xd7950f40 // setne dil - LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] + WORD $0x950f; BYTE $0xd1 // setne cl + LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] WORD $0xc000 // add al, al - LONG $0x28244402 // add al, byte [rsp + 40] - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x04 // movzx eax, byte [rsp + 4] + LONG $0x04244402 // add al, byte [rsp + 4] + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x05 // movzx eax, byte [rsp + 5] WORD $0xe0c0; BYTE $0x06 // shl al, 6 LONG $0x07e5c041 // shl r13b, 7 WORD $0x0841; BYTE $0xc5 // or r13b, al - LONG $0x2444b60f; BYTE $0x14 // movzx eax, byte [rsp + 20] + LONG $0x2444b60f; BYTE $0x15 // movzx eax, byte [rsp + 21] WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xc808 // or al, cl + WORD $0xd808 // or al, bl WORD $0x0045; BYTE $0xc0 // add r8b, r8b - LONG $0x24440244; BYTE $0x09 // add r8b, byte [rsp + 9] - LONG $0x244cb60f; BYTE $0x15 // movzx ecx, byte [rsp + 21] - WORD $0xe1c0; BYTE $0x03 // shl cl, 3 - WORD $0xc108 // or cl, al - WORD $0xc889 // mov eax, ecx + LONG $0x24440244; BYTE $0x0a // add r8b, byte [rsp + 10] + LONG $0x245cb60f; BYTE $0x16 // movzx ebx, byte [rsp + 22] + WORD $0xe3c0; BYTE $0x03 // shl bl, 3 + WORD $0xc308 // or bl, al + WORD $0xd889 // mov eax, ebx LONG $0x02e3c041 // shl r11b, 2 WORD $0x0845; BYTE $0xc3 // or r11b, r8b - LONG $0x244cb60f; BYTE $0x16 // movzx ecx, byte [rsp + 22] - WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0xc108 // or cl, al - WORD $0x8941; BYTE $0xc8 // mov r8d, ecx + LONG $0x245cb60f; BYTE $0x17 // movzx ebx, byte [rsp + 23] + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0xc308 // or bl, al + WORD $0x8941; BYTE $0xd8 // mov r8d, ebx LONG $0x03e7c041 // shl r15b, 3 WORD $0x0845; BYTE $0xdf // or r15b, r11b - LONG $0x244cb60f; BYTE $0x17 // movzx ecx, byte [rsp + 23] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0x0844; BYTE $0xc1 // or cl, r8b - LONG $0x2444b60f; BYTE $0x05 // movzx eax, byte [rsp + 5] + LONG $0x245cb60f; BYTE $0x03 // movzx ebx, byte [rsp + 3] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + WORD $0x0844; BYTE $0xc3 // or bl, r8b + LONG $0x2444b60f; BYTE $0x06 // movzx eax, byte [rsp + 6] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0x0844; BYTE $0xf8 // or al, r15b WORD $0x8941; BYTE $0xc0 // mov r8d, eax - LONG $0x2444b60f; BYTE $0x06 // movzx eax, byte [rsp + 6] + LONG $0x2444b60f; BYTE $0x07 // movzx eax, byte [rsp + 7] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0x0844; BYTE $0xc0 // or al, r8b - LONG $0x44b60f44; WORD $0x0724 // movzx r8d, byte [rsp + 7] + LONG $0x44b60f44; WORD $0x0824 // movzx r8d, byte [rsp + 8] LONG $0x06e0c041 // shl r8b, 6 - WORD $0xe3c0; BYTE $0x07 // shl bl, 7 - WORD $0x0844; BYTE $0xc3 // or bl, r8b - WORD $0x0841; BYTE $0xcd // or r13b, cl - WORD $0xc308 // or bl, al + LONG $0x07e7c040 // shl dil, 7 + WORD $0x0844; BYTE $0xc7 // or dil, r8b + WORD $0x0841; BYTE $0xdd // or r13b, bl + WORD $0x0840; BYTE $0xc7 // or dil, al WORD $0x0045; BYTE $0xd2 // add r10b, r10b - LONG $0x24540244; BYTE $0x0a // add r10b, byte [rsp + 10] + LONG $0x24540244; BYTE $0x0b // add r10b, byte [rsp + 11] LONG $0x02e6c041 // shl r14b, 2 WORD $0x0845; BYTE $0xd6 // or r14b, r10b LONG $0x03e4c041 // shl r12b, 3 WORD $0x0845; BYTE $0xf4 // or r12b, r14b - LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + LONG $0x2444b60f; BYTE $0x09 // movzx eax, byte [rsp + 9] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0x0844; BYTE $0xe0 // or al, r12b - WORD $0xc189 // mov ecx, eax - LONG $0x24748b4c; BYTE $0x30 // mov r14, qword [rsp + 48] - LONG $0x2444b60f; BYTE $0x0b // movzx eax, byte [rsp + 11] + WORD $0xc389 // mov ebx, eax + LONG $0x24648b4c; BYTE $0x30 // mov r12, qword [rsp + 48] + LONG $0x2444b60f; BYTE $0x0c // movzx eax, byte [rsp + 12] WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - WORD $0x8845; BYTE $0x2e // mov byte [r14], r13b - LONG $0x244cb60f; BYTE $0x0c // movzx ecx, byte [rsp + 12] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 + WORD $0xd808 // or al, bl + LONG $0x242c8845 // mov byte [r12], r13b + LONG $0x245cb60f; BYTE $0x0d // movzx ebx, byte [rsp + 13] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e1c041 // shl r9b, 7 - WORD $0x0841; BYTE $0xc9 // or r9b, cl - LONG $0x015e8841 // mov byte [r14 + 1], bl + WORD $0x0841; BYTE $0xd9 // or r9b, bl + LONG $0x247c8841; BYTE $0x01 // mov byte [r12 + 1], dil WORD $0x0841; BYTE $0xc1 // or r9b, al - LONG $0x2444b60f; BYTE $0x0d // movzx eax, byte [rsp + 13] - WORD $0xc000 // add al, al - LONG $0x13244402 // add al, byte [rsp + 19] - WORD $0xc189 // mov ecx, eax LONG $0x2444b60f; BYTE $0x0e // movzx eax, byte [rsp + 14] - WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xc000 // add al, al + LONG $0x14244402 // add al, byte [rsp + 20] + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x0f // movzx eax, byte [rsp + 15] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x11 // movzx eax, byte [rsp + 17] WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x12 // movzx eax, byte [rsp + 18] + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x13 // movzx eax, byte [rsp + 19] WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - LONG $0x244cb60f; BYTE $0x11 // movzx ecx, byte [rsp + 17] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 - LONG $0x07e7c040 // shl dil, 7 - WORD $0x0840; BYTE $0xcf // or dil, cl - WORD $0x0840; BYTE $0xc7 // or dil, al - LONG $0x024e8845 // mov byte [r14 + 2], r9b - LONG $0x037e8841 // mov byte [r14 + 3], dil + WORD $0xd808 // or al, bl + LONG $0x245cb60f; BYTE $0x12 // movzx ebx, byte [rsp + 18] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 + WORD $0xe1c0; BYTE $0x07 // shl cl, 7 + WORD $0xd908 // or cl, bl + WORD $0xc108 // or cl, al + LONG $0x244c8845; BYTE $0x02 // mov byte [r12 + 2], r9b + LONG $0x244c8841; BYTE $0x03 // mov byte [r12 + 3], cl LONG $0x80c28148; WORD $0x0000; BYTE $0x00 // add rdx, 128 - LONG $0x04c68349 // add r14, 4 - LONG $0x24448348; WORD $0xff38 // add qword [rsp + 56], -1 + LONG $0x04c48349 // add r12, 4 + LONG $0x24448348; WORD $0xff20 // add qword [rsp + 32], -1 JNE LBB3_96 - LONG $0x245c8b4c; BYTE $0x18 // mov r11, qword [rsp + 24] - LONG $0x247c8b4c; BYTE $0x40 // mov r15, qword [rsp + 64] + LONG $0x24748b4c; BYTE $0x18 // mov r14, qword [rsp + 24] + LONG $0x247c8b4c; BYTE $0x38 // mov r15, qword [rsp + 56] LBB3_98: LONG $0x05e7c149 // shl r15, 5 - WORD $0x394d; BYTE $0xdf // cmp r15, r11 + WORD $0x394d; BYTE $0xf7 // cmp r15, r14 JGE LBB3_123 - WORD $0x294d; BYTE $0xfb // sub r11, r15 + WORD $0x294d; BYTE $0xfe // sub r14, r15 WORD $0xc931 // xor ecx, ecx LBB3_100: @@ -19421,16 +20265,16 @@ LBB3_100: WORD $0xdbf6 // neg bl WORD $0x8948; BYTE $0xcf // mov rdi, rcx LONG $0x03efc148 // shr rdi, 3 - LONG $0x0cb60f45; BYTE $0x3e // movzx r9d, byte [r14 + rdi] + LONG $0x0cb60f45; BYTE $0x3c // movzx r9d, byte [r12 + rdi] WORD $0x3044; BYTE $0xcb // xor bl, r9b WORD $0xe180; BYTE $0x07 // and cl, 7 WORD $0x01b0 // mov al, 1 WORD $0xe0d2 // shl al, cl WORD $0xd820 // and al, bl WORD $0x3044; BYTE $0xc8 // xor al, r9b - LONG $0x3e048841 // mov byte [r14 + rdi], al + LONG $0x3c048841 // mov byte [r12 + rdi], al WORD $0x894c; BYTE $0xc1 // mov rcx, r8 - WORD $0x394d; BYTE $0xc3 // cmp r11, r8 + WORD $0x394d; BYTE $0xc6 // cmp r14, r8 JNE LBB3_100 LBB3_123: @@ -19492,7 +20336,7 @@ TEXT ·_comparison_not_equal_arr_scalar_avx2(SB), $1320-48 WORD $0xff83; BYTE $0x05 // cmp edi, 5 JE LBB4_56 WORD $0xff83; BYTE $0x06 // cmp edi, 6 - JNE LBB4_159 + JNE LBB4_165 WORD $0x8b44; BYTE $0x2a // mov r13d, dword [rdx] LONG $0x1f7a8d4d // lea r15, [r10 + 31] WORD $0x854d; BYTE $0xd2 // test r10, r10 @@ -19542,7 +20386,7 @@ LBB4_11: WORD $0x3944; BYTE $0x2e // cmp dword [rsi], r13d QUAD $0x000000902494950f // setne byte [rsp + 144] LONG $0x046e3944 // cmp dword [rsi + 4], r13d - LONG $0xd7950f40 // setne dil + LONG $0xd2950f41 // setne r10b LONG $0x086e3944 // cmp dword [rsi + 8], r13d LONG $0xd6950f41 // setne r14b LONG $0x0c6e3944 // cmp dword [rsi + 12], r13d @@ -19558,11 +20402,11 @@ LBB4_11: LONG $0x206e3944 // cmp dword [rsi + 32], r13d QUAD $0x000000a02494950f // setne byte [rsp + 160] LONG $0x246e3944 // cmp dword [rsi + 36], r13d - WORD $0x950f; BYTE $0xd2 // setne dl + LONG $0xd7950f40 // setne dil LONG $0x286e3944 // cmp dword [rsi + 40], r13d - LONG $0xd1950f41 // setne r9b + LONG $0xd0950f41 // setne r8b LONG $0x2c6e3944 // cmp dword [rsi + 44], r13d - LONG $0xd2950f41 // setne r10b + LONG $0xd1950f41 // setne r9b LONG $0x306e3944 // cmp dword [rsi + 48], r13d LONG $0xd3950f41 // setne r11b LONG $0x346e3944 // cmp dword [rsi + 52], r13d @@ -19602,67 +20446,68 @@ LBB4_11: LONG $0x786e3944 // cmp dword [rsi + 120], r13d LONG $0x2454950f; BYTE $0x1c // setne byte [rsp + 28] LONG $0x7c6e3944 // cmp dword [rsi + 124], r13d - LONG $0xd0950f41 // setne r8b - WORD $0x0040; BYTE $0xff // add dil, dil - QUAD $0x0000009024bc0240 // add dil, byte [rsp + 144] + WORD $0x950f; BYTE $0xd2 // setne dl + WORD $0x0045; BYTE $0xd2 // add r10b, r10b + QUAD $0x0000009024940244 // add r10b, byte [rsp + 144] WORD $0xe0c0; BYTE $0x06 // shl al, 6 WORD $0xe3c0; BYTE $0x07 // shl bl, 7 WORD $0xc308 // or bl, al LONG $0x02e6c041 // shl r14b, 2 - WORD $0x0841; BYTE $0xfe // or r14b, dil - WORD $0xd200 // add dl, dl - LONG $0xa0249402; WORD $0x0000; BYTE $0x00 // add dl, byte [rsp + 160] + WORD $0x0845; BYTE $0xd6 // or r14b, r10b + WORD $0x0040; BYTE $0xff // add dil, dil + QUAD $0x000000a024bc0240 // add dil, byte [rsp + 160] QUAD $0x000000982484b60f // movzx eax, byte [rsp + 152] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0x0844; BYTE $0xf0 // or al, r14b - LONG $0x02e1c041 // shl r9b, 2 - WORD $0x0841; BYTE $0xd1 // or r9b, dl - QUAD $0x000000882494b60f // movzx edx, byte [rsp + 136] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0xc208 // or dl, al - WORD $0xd789 // mov edi, edx - LONG $0x03e2c041 // shl r10b, 3 - WORD $0x0845; BYTE $0xca // or r10b, r9b - LONG $0x2454b60f; BYTE $0x60 // movzx edx, byte [rsp + 96] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xfa // or dl, dil + WORD $0x8941; BYTE $0xc2 // mov r10d, eax + LONG $0x02e0c041 // shl r8b, 2 + WORD $0x0841; BYTE $0xf8 // or r8b, dil + QUAD $0x000000882484b60f // movzx eax, byte [rsp + 136] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0844; BYTE $0xd0 // or al, r10b + WORD $0xc789 // mov edi, eax + LONG $0x03e1c041 // shl r9b, 3 + WORD $0x0845; BYTE $0xc1 // or r9b, r8b + LONG $0x2444b60f; BYTE $0x60 // movzx eax, byte [rsp + 96] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0x0840; BYTE $0xf8 // or al, dil LONG $0x04e3c041 // shl r11b, 4 - WORD $0x0845; BYTE $0xd3 // or r11b, r10b + WORD $0x0845; BYTE $0xcb // or r11b, r9b LONG $0x05e4c041 // shl r12b, 5 WORD $0x0845; BYTE $0xdc // or r12b, r11b LONG $0x247cb60f; BYTE $0x70 // movzx edi, byte [rsp + 112] LONG $0x06e7c040 // shl dil, 6 WORD $0xe1c0; BYTE $0x07 // shl cl, 7 WORD $0x0840; BYTE $0xf9 // or cl, dil - WORD $0xd308 // or bl, dl + WORD $0xc308 // or bl, al WORD $0x0844; BYTE $0xe1 // or cl, r12b - LONG $0x2454b60f; BYTE $0x78 // movzx edx, byte [rsp + 120] - WORD $0xd200 // add dl, dl - LONG $0x50245402 // add dl, byte [rsp + 80] - WORD $0xd789 // mov edi, edx - QUAD $0x000000802494b60f // movzx edx, byte [rsp + 128] - WORD $0xe2c0; BYTE $0x02 // shl dl, 2 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x48 // movzx edx, byte [rsp + 72] - WORD $0xe2c0; BYTE $0x03 // shl dl, 3 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x58 // movzx edx, byte [rsp + 88] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x68 // movzx edx, byte [rsp + 104] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - QUAD $0x0000011024948b48 // mov rdx, qword [rsp + 272] - WORD $0x1a88 // mov byte [rdx], bl + LONG $0x2444b60f; BYTE $0x78 // movzx eax, byte [rsp + 120] + WORD $0xc000 // add al, al + LONG $0x50244402 // add al, byte [rsp + 80] + WORD $0xc789 // mov edi, eax + QUAD $0x000000802484b60f // movzx eax, byte [rsp + 128] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x48 // movzx eax, byte [rsp + 72] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x58 // movzx eax, byte [rsp + 88] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x68 // movzx eax, byte [rsp + 104] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + QUAD $0x0000011024848b48 // mov rax, qword [rsp + 272] + WORD $0x1888 // mov byte [rax], bl LONG $0x245cb60f; BYTE $0x40 // movzx ebx, byte [rsp + 64] WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e7c041 // shl r15b, 7 WORD $0x0841; BYTE $0xdf // or r15b, bl - WORD $0x4a88; BYTE $0x01 // mov byte [rdx + 1], cl + WORD $0x4888; BYTE $0x01 // mov byte [rax + 1], cl WORD $0x0841; BYTE $0xff // or r15b, dil LONG $0x244cb60f; BYTE $0x28 // movzx ecx, byte [rsp + 40] WORD $0xc900 // add cl, cl @@ -19685,14 +20530,14 @@ LBB4_11: WORD $0xd908 // or cl, bl LONG $0x245cb60f; BYTE $0x1c // movzx ebx, byte [rsp + 28] WORD $0xe3c0; BYTE $0x06 // shl bl, 6 - LONG $0x07e0c041 // shl r8b, 7 - WORD $0x0841; BYTE $0xd8 // or r8b, bl - WORD $0x0841; BYTE $0xc8 // or r8b, cl - LONG $0x027a8844 // mov byte [rdx + 2], r15b - LONG $0x03428844 // mov byte [rdx + 3], r8b + WORD $0xe2c0; BYTE $0x07 // shl dl, 7 + WORD $0xda08 // or dl, bl + WORD $0xca08 // or dl, cl + LONG $0x02788844 // mov byte [rax + 2], r15b + WORD $0x5088; BYTE $0x03 // mov byte [rax + 3], dl LONG $0x80c68148; WORD $0x0000; BYTE $0x00 // add rsi, 128 - LONG $0x04c28348 // add rdx, 4 - QUAD $0x0000011024948948 // mov qword [rsp + 272], rdx + LONG $0x04c08348 // add rax, 4 + QUAD $0x0000011024848948 // mov qword [rsp + 272], rax QUAD $0x000000a824848348; BYTE $0xff // add qword [rsp + 168], -1 JNE LBB4_11 QUAD $0x0000011024b48b4c // mov r14, qword [rsp + 272] @@ -19701,7 +20546,7 @@ LBB4_11: LONG $0x05e7c149 // shl r15, 5 WORD $0x394d; BYTE $0xd7 // cmp r15, r10 JL LBB4_101 - JMP LBB4_159 + JMP LBB4_165 LBB4_13: WORD $0xff83; BYTE $0x08 // cmp edi, 8 @@ -19711,7 +20556,7 @@ LBB4_13: WORD $0xff83; BYTE $0x0b // cmp edi, 11 JE LBB4_72 WORD $0xff83; BYTE $0x0c // cmp edi, 12 - JNE LBB4_159 + JNE LBB4_165 LONG $0x1f7a8d4d // lea r15, [r10 + 31] WORD $0x854d; BYTE $0xd2 // test r10, r10 LONG $0xfa490f4d // cmovns r15, r10 @@ -19727,7 +20572,9 @@ LBB4_13: LBB4_19: LONG $0x062ef9c5 // vucomisd xmm0, qword [rsi] LONG $0x08768d48 // lea rsi, [rsi + 8] + WORD $0x9a0f; BYTE $0xd1 // setp cl WORD $0x950f; BYTE $0xd2 // setne dl + WORD $0xca08 // or dl, cl WORD $0xdaf6 // neg dl LONG $0x07788d48 // lea rdi, [rax + 7] WORD $0x8548; BYTE $0xc0 // test rax, rax @@ -19753,178 +20600,263 @@ LBB4_21: LONG $0x20fa8349 // cmp r10, 32 JL LBB4_104 QUAD $0x000001182494894c // mov qword [rsp + 280], r10 + QUAD $0x000000b024bc894c // mov qword [rsp + 176], r15 QUAD $0x000000a824bc894c // mov qword [rsp + 168], r15 - QUAD $0x0000009024bc894c // mov qword [rsp + 144], r15 QUAD $0x00000110249c894c // mov qword [rsp + 272], r11 LBB4_23: LONG $0x062ef9c5 // vucomisd xmm0, qword [rsi] - QUAD $0x000000982494950f // setne byte [rsp + 152] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x20244c88 // mov byte [rsp + 32], cl LONG $0x462ef9c5; BYTE $0x08 // vucomisd xmm0, qword [rsi + 8] - LONG $0xd1950f41 // setne r9b + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd3 // setne bl + WORD $0xc308 // or bl, al LONG $0x462ef9c5; BYTE $0x10 // vucomisd xmm0, qword [rsi + 16] - LONG $0xd6950f41 // setne r14b - LONG $0x462ef9c5; BYTE $0x18 // vucomisd xmm0, qword [rsi + 24] + WORD $0x9a0f; BYTE $0xd0 // setp al LONG $0xd5950f41 // setne r13b + WORD $0x0841; BYTE $0xc5 // or r13b, al + LONG $0x462ef9c5; BYTE $0x18 // vucomisd xmm0, qword [rsi + 24] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x20248c88; WORD $0x0001; BYTE $0x00 // mov byte [rsp + 288], cl LONG $0x462ef9c5; BYTE $0x20 // vucomisd xmm0, qword [rsi + 32] - QUAD $0x000000882494950f // setne byte [rsp + 136] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x40248c88; WORD $0x0001; BYTE $0x00 // mov byte [rsp + 320], cl LONG $0x462ef9c5; BYTE $0x28 // vucomisd xmm0, qword [rsi + 40] - LONG $0x2454950f; BYTE $0x60 // setne byte [rsp + 96] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd7950f40 // setne dil + WORD $0x0840; BYTE $0xc7 // or dil, al LONG $0x462ef9c5; BYTE $0x30 // vucomisd xmm0, qword [rsi + 48] - WORD $0x950f; BYTE $0xd0 // setne al + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x30244c88 // mov byte [rsp + 48], cl LONG $0x462ef9c5; BYTE $0x38 // vucomisd xmm0, qword [rsi + 56] - WORD $0x950f; BYTE $0xd3 // setne bl + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x1c244c88 // mov byte [rsp + 28], cl LONG $0x462ef9c5; BYTE $0x40 // vucomisd xmm0, qword [rsi + 64] - LONG $0x2454950f; BYTE $0x70 // setne byte [rsp + 112] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x38244c88 // mov byte [rsp + 56], cl LONG $0x462ef9c5; BYTE $0x48 // vucomisd xmm0, qword [rsi + 72] - WORD $0x950f; BYTE $0xd2 // setne dl + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x28244c88 // mov byte [rsp + 40], cl LONG $0x462ef9c5; BYTE $0x50 // vucomisd xmm0, qword [rsi + 80] - LONG $0xd7950f40 // setne dil + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x40244c88 // mov byte [rsp + 64], cl LONG $0x462ef9c5; BYTE $0x58 // vucomisd xmm0, qword [rsi + 88] - LONG $0xd2950f41 // setne r10b + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x68244c88 // mov byte [rsp + 104], cl LONG $0x462ef9c5; BYTE $0x60 // vucomisd xmm0, qword [rsi + 96] - LONG $0xd3950f41 // setne r11b + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x60244c88 // mov byte [rsp + 96], cl LONG $0x462ef9c5; BYTE $0x68 // vucomisd xmm0, qword [rsi + 104] - LONG $0xd4950f41 // setne r12b + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x58244c88 // mov byte [rsp + 88], cl LONG $0x462ef9c5; BYTE $0x70 // vucomisd xmm0, qword [rsi + 112] - LONG $0x2454950f; BYTE $0x78 // setne byte [rsp + 120] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd2 // setne dl + WORD $0xc208 // or dl, al LONG $0x462ef9c5; BYTE $0x78 // vucomisd xmm0, qword [rsi + 120] + WORD $0x9a0f; BYTE $0xd0 // setp al WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x50244c88 // mov byte [rsp + 80], cl QUAD $0x00000080862ef9c5 // vucomisd xmm0, qword [rsi + 128] - LONG $0x2454950f; BYTE $0x50 // setne byte [rsp + 80] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x48244c88 // mov byte [rsp + 72], cl QUAD $0x00000088862ef9c5 // vucomisd xmm0, qword [rsi + 136] - QUAD $0x000000a02494950f // setne byte [rsp + 160] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x88248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 136], cl QUAD $0x00000090862ef9c5 // vucomisd xmm0, qword [rsi + 144] - QUAD $0x000000802494950f // setne byte [rsp + 128] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al QUAD $0x00000098862ef9c5 // vucomisd xmm0, qword [rsi + 152] - LONG $0x2454950f; BYTE $0x48 // setne byte [rsp + 72] + LONG $0xd09a0f41 // setp r8b + WORD $0x950f; BYTE $0xd0 // setne al + WORD $0x0844; BYTE $0xc0 // or al, r8b + LONG $0x80248488; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 128], al QUAD $0x000000a0862ef9c5 // vucomisd xmm0, qword [rsi + 160] - LONG $0x2454950f; BYTE $0x58 // setne byte [rsp + 88] + LONG $0xd09a0f41 // setp r8b + WORD $0x950f; BYTE $0xd0 // setne al + WORD $0x0844; BYTE $0xc0 // or al, r8b + LONG $0x78244488 // mov byte [rsp + 120], al QUAD $0x000000a8862ef9c5 // vucomisd xmm0, qword [rsi + 168] - LONG $0x2454950f; BYTE $0x68 // setne byte [rsp + 104] + LONG $0xd09a0f41 // setp r8b + WORD $0x950f; BYTE $0xd0 // setne al + WORD $0x0844; BYTE $0xc0 // or al, r8b + LONG $0xa0248488; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 160], al QUAD $0x000000b0862ef9c5 // vucomisd xmm0, qword [rsi + 176] - LONG $0x2454950f; BYTE $0x40 // setne byte [rsp + 64] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd4950f41 // setne r12b + WORD $0x0841; BYTE $0xc4 // or r12b, al QUAD $0x000000b8862ef9c5 // vucomisd xmm0, qword [rsi + 184] - LONG $0xd7950f41 // setne r15b + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd2950f41 // setne r10b + WORD $0x0841; BYTE $0xc2 // or r10b, al QUAD $0x000000c0862ef9c5 // vucomisd xmm0, qword [rsi + 192] - LONG $0x2454950f; BYTE $0x20 // setne byte [rsp + 32] + LONG $0xd09a0f41 // setp r8b + WORD $0x950f; BYTE $0xd0 // setne al + WORD $0x0844; BYTE $0xc0 // or al, r8b + LONG $0x70244488 // mov byte [rsp + 112], al QUAD $0x000000c8862ef9c5 // vucomisd xmm0, qword [rsi + 200] - LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd7950f41 // setne r15b + WORD $0x0841; BYTE $0xc7 // or r15b, al QUAD $0x000000d0862ef9c5 // vucomisd xmm0, qword [rsi + 208] - LONG $0x2454950f; BYTE $0x30 // setne byte [rsp + 48] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd6950f41 // setne r14b + WORD $0x0841; BYTE $0xc6 // or r14b, al QUAD $0x000000d8862ef9c5 // vucomisd xmm0, qword [rsi + 216] - LONG $0x2454950f; BYTE $0x38 // setne byte [rsp + 56] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd3950f41 // setne r11b + WORD $0x0841; BYTE $0xc3 // or r11b, al QUAD $0x000000e0862ef9c5 // vucomisd xmm0, qword [rsi + 224] - QUAD $0x000001202494950f // setne byte [rsp + 288] + LONG $0xd09a0f41 // setp r8b + WORD $0x950f; BYTE $0xd0 // setne al + WORD $0x0844; BYTE $0xc0 // or al, r8b + LONG $0x98248488; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 152], al QUAD $0x000000e8862ef9c5 // vucomisd xmm0, qword [rsi + 232] - QUAD $0x000001402494950f // setne byte [rsp + 320] + LONG $0xd09a0f41 // setp r8b + WORD $0x950f; BYTE $0xd0 // setne al + WORD $0x0844; BYTE $0xc0 // or al, r8b + LONG $0x90248488; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 144], al QUAD $0x000000f0862ef9c5 // vucomisd xmm0, qword [rsi + 240] - LONG $0x2454950f; BYTE $0x1c // setne byte [rsp + 28] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd1950f41 // setne r9b + WORD $0x0841; BYTE $0xc1 // or r9b, al QUAD $0x000000f8862ef9c5 // vucomisd xmm0, qword [rsi + 248] + WORD $0x9a0f; BYTE $0xd0 // setp al LONG $0xd0950f41 // setne r8b - WORD $0x0045; BYTE $0xc9 // add r9b, r9b - QUAD $0x00000098248c0244 // add r9b, byte [rsp + 152] + WORD $0x0841; BYTE $0xc0 // or r8b, al + WORD $0xdb00 // add bl, bl + LONG $0x20245c02 // add bl, byte [rsp + 32] + LONG $0x05e7c040 // shl dil, 5 + LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] WORD $0xe0c0; BYTE $0x06 // shl al, 6 - WORD $0xe3c0; BYTE $0x07 // shl bl, 7 - WORD $0xc308 // or bl, al - LONG $0x02e6c041 // shl r14b, 2 - WORD $0x0845; BYTE $0xce // or r14b, r9b - WORD $0xd200 // add dl, dl - LONG $0x70245402 // add dl, byte [rsp + 112] - LONG $0x03e5c041 // shl r13b, 3 - WORD $0x0845; BYTE $0xf5 // or r13b, r14b - LONG $0x02e7c040 // shl dil, 2 - WORD $0x0840; BYTE $0xd7 // or dil, dl - QUAD $0x000000882494b60f // movzx edx, byte [rsp + 136] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0x0844; BYTE $0xea // or dl, r13b - WORD $0x8941; BYTE $0xd1 // mov r9d, edx - LONG $0x03e2c041 // shl r10b, 3 - WORD $0x0841; BYTE $0xfa // or r10b, dil - LONG $0x2454b60f; BYTE $0x60 // movzx edx, byte [rsp + 96] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0844; BYTE $0xca // or dl, r9b - LONG $0x04e3c041 // shl r11b, 4 - WORD $0x0845; BYTE $0xd3 // or r11b, r10b - LONG $0x05e4c041 // shl r12b, 5 - WORD $0x0845; BYTE $0xdc // or r12b, r11b - LONG $0x247cb60f; BYTE $0x78 // movzx edi, byte [rsp + 120] - LONG $0x06e7c040 // shl dil, 6 - WORD $0xe1c0; BYTE $0x07 // shl cl, 7 - WORD $0x0840; BYTE $0xf9 // or cl, dil - WORD $0xd308 // or bl, dl - WORD $0x0844; BYTE $0xe1 // or cl, r12b - QUAD $0x000000a02484b60f // movzx eax, byte [rsp + 160] + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x02e5c041 // shl r13b, 2 + WORD $0x0841; BYTE $0xdd // or r13b, bl + LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] WORD $0xc000 // add al, al - LONG $0x50244402 // add al, byte [rsp + 80] + LONG $0x38244402 // add al, byte [rsp + 56] + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x1c // movzx eax, byte [rsp + 28] + WORD $0xe0c0; BYTE $0x07 // shl al, 7 + WORD $0x0840; BYTE $0xf8 // or al, dil + LONG $0x1c244488 // mov byte [rsp + 28], al + LONG $0x2444b60f; BYTE $0x40 // movzx eax, byte [rsp + 64] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + QUAD $0x000001202484b60f // movzx eax, byte [rsp + 288] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0x0844; BYTE $0xe8 // or al, r13b + WORD $0x8941; BYTE $0xc5 // mov r13d, eax + LONG $0x2444b60f; BYTE $0x68 // movzx eax, byte [rsp + 104] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0xd808 // or al, bl + WORD $0xc789 // mov edi, eax + QUAD $0x000001402484b60f // movzx eax, byte [rsp + 320] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0844; BYTE $0xe8 // or al, r13b + LONG $0x245cb60f; BYTE $0x60 // movzx ebx, byte [rsp + 96] + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0x0840; BYTE $0xfb // or bl, dil + LONG $0x247cb60f; BYTE $0x58 // movzx edi, byte [rsp + 88] + LONG $0x05e7c040 // shl dil, 5 + WORD $0xe2c0; BYTE $0x06 // shl dl, 6 + WORD $0x0840; BYTE $0xfa // or dl, dil + LONG $0x6cb60f44; WORD $0x5024 // movzx r13d, byte [rsp + 80] + LONG $0x07e5c041 // shl r13b, 7 + WORD $0x0841; BYTE $0xd5 // or r13b, dl + QUAD $0x000000882494b60f // movzx edx, byte [rsp + 136] + WORD $0xd200 // add dl, dl + LONG $0x48245402 // add dl, byte [rsp + 72] + WORD $0xe1c0; BYTE $0x02 // shl cl, 2 + WORD $0xd108 // or cl, dl QUAD $0x000000802494b60f // movzx edx, byte [rsp + 128] - WORD $0xe2c0; BYTE $0x02 // shl dl, 2 - WORD $0xc208 // or dl, al - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x48 // movzx edx, byte [rsp + 72] WORD $0xe2c0; BYTE $0x03 // shl dl, 3 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x58 // movzx edx, byte [rsp + 88] + WORD $0xca08 // or dl, cl + WORD $0xd189 // mov ecx, edx + LONG $0x2454b60f; BYTE $0x78 // movzx edx, byte [rsp + 120] WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x68 // movzx edx, byte [rsp + 104] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - QUAD $0x0000011024948b48 // mov rdx, qword [rsp + 272] - WORD $0x1a88 // mov byte [rdx], bl - LONG $0x245cb60f; BYTE $0x40 // movzx ebx, byte [rsp + 64] - WORD $0xe3c0; BYTE $0x06 // shl bl, 6 - LONG $0x07e7c041 // shl r15b, 7 - WORD $0x0841; BYTE $0xdf // or r15b, bl - WORD $0x4a88; BYTE $0x01 // mov byte [rdx + 1], cl - WORD $0x0841; BYTE $0xff // or r15b, dil - LONG $0x244cb60f; BYTE $0x28 // movzx ecx, byte [rsp + 40] - WORD $0xc900 // add cl, cl - LONG $0x20244c02 // add cl, byte [rsp + 32] - WORD $0xcb89 // mov ebx, ecx - LONG $0x244cb60f; BYTE $0x30 // movzx ecx, byte [rsp + 48] - WORD $0xe1c0; BYTE $0x02 // shl cl, 2 - WORD $0xd908 // or cl, bl - WORD $0xcb89 // mov ebx, ecx - LONG $0x244cb60f; BYTE $0x38 // movzx ecx, byte [rsp + 56] - WORD $0xe1c0; BYTE $0x03 // shl cl, 3 - WORD $0xd908 // or cl, bl - WORD $0xcb89 // mov ebx, ecx - QUAD $0x00000120248cb60f // movzx ecx, byte [rsp + 288] - WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0xd908 // or cl, bl - WORD $0xcb89 // mov ebx, ecx - QUAD $0x00000140248cb60f // movzx ecx, byte [rsp + 320] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0xd908 // or cl, bl - LONG $0x245cb60f; BYTE $0x1c // movzx ebx, byte [rsp + 28] - WORD $0xe3c0; BYTE $0x06 // shl bl, 6 + WORD $0xca08 // or dl, cl + LONG $0x244cb60f; BYTE $0x1c // movzx ecx, byte [rsp + 28] + WORD $0xc108 // or cl, al + QUAD $0x000000a02484b60f // movzx eax, byte [rsp + 160] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + LONG $0x06e4c041 // shl r12b, 6 + WORD $0x0841; BYTE $0xc4 // or r12b, al + WORD $0x0841; BYTE $0xdd // or r13b, bl + LONG $0x07e2c041 // shl r10b, 7 + WORD $0x0845; BYTE $0xe2 // or r10b, r12b + WORD $0x0841; BYTE $0xd2 // or r10b, dl + WORD $0x0045; BYTE $0xff // add r15b, r15b + LONG $0x247c0244; BYTE $0x70 // add r15b, byte [rsp + 112] + LONG $0x02e6c041 // shl r14b, 2 + WORD $0x0845; BYTE $0xfe // or r14b, r15b + LONG $0x03e3c041 // shl r11b, 3 + WORD $0x0845; BYTE $0xf3 // or r11b, r14b + QUAD $0x000000982484b60f // movzx eax, byte [rsp + 152] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0844; BYTE $0xd8 // or al, r11b + WORD $0xc389 // mov ebx, eax + QUAD $0x0000011024848b48 // mov rax, qword [rsp + 272] + WORD $0x0888 // mov byte [rax], cl + QUAD $0x000000902494b60f // movzx edx, byte [rsp + 144] + WORD $0xe2c0; BYTE $0x05 // shl dl, 5 + LONG $0x06e1c041 // shl r9b, 6 + WORD $0x0841; BYTE $0xd1 // or r9b, dl + LONG $0x01688844 // mov byte [rax + 1], r13b LONG $0x07e0c041 // shl r8b, 7 + WORD $0x0845; BYTE $0xc8 // or r8b, r9b WORD $0x0841; BYTE $0xd8 // or r8b, bl - WORD $0x0841; BYTE $0xc8 // or r8b, cl - LONG $0x027a8844 // mov byte [rdx + 2], r15b - LONG $0x03428844 // mov byte [rdx + 3], r8b + LONG $0x02508844 // mov byte [rax + 2], r10b + LONG $0x03408844 // mov byte [rax + 3], r8b LONG $0x00c68148; WORD $0x0001; BYTE $0x00 // add rsi, 256 - LONG $0x04c28348 // add rdx, 4 - QUAD $0x0000011024948948 // mov qword [rsp + 272], rdx - QUAD $0x0000009024848348; BYTE $0xff // add qword [rsp + 144], -1 + LONG $0x04c08348 // add rax, 4 + QUAD $0x0000011024848948 // mov qword [rsp + 272], rax + QUAD $0x000000a824848348; BYTE $0xff // add qword [rsp + 168], -1 JNE LBB4_23 QUAD $0x0000011024b48b4c // mov r14, qword [rsp + 272] QUAD $0x0000011824948b4c // mov r10, qword [rsp + 280] - QUAD $0x000000a824bc8b4c // mov r15, qword [rsp + 168] + QUAD $0x000000b024bc8b4c // mov r15, qword [rsp + 176] LONG $0x05e7c149 // shl r15, 5 WORD $0x394d; BYTE $0xd7 // cmp r15, r10 JL LBB4_105 - JMP LBB4_159 + JMP LBB4_165 LBB4_25: WORD $0xff83; BYTE $0x02 // cmp edi, 2 JE LBB4_80 WORD $0xff83; BYTE $0x03 // cmp edi, 3 - JNE LBB4_159 + JNE LBB4_165 WORD $0x8a44; BYTE $0x32 // mov r14b, byte [rdx] LONG $0x1f7a8d4d // lea r15, [r10 + 31] WORD $0x854d; BYTE $0xd2 // test r10, r10 @@ -19975,11 +20907,11 @@ LBB4_31: LONG $0x05e0c148 // shl rax, 5 WORD $0x0148; BYTE $0xf0 // add rax, rsi WORD $0x3949; BYTE $0xc5 // cmp r13, rax - JAE LBB4_165 + JAE LBB4_166 QUAD $0x00000000bd048d4a // lea rax, [4*r15] WORD $0x014c; BYTE $0xe8 // add rax, r13 WORD $0x3948; BYTE $0xc6 // cmp rsi, rax - JAE LBB4_165 + JAE LBB4_166 LBB4_34: WORD $0xc031 // xor eax, eax @@ -20164,7 +21096,7 @@ LBB4_38: WORD $0xff83; BYTE $0x07 // cmp edi, 7 JE LBB4_92 WORD $0xff83; BYTE $0x08 // cmp edi, 8 - JNE LBB4_159 + JNE LBB4_165 WORD $0x8b4c; BYTE $0x2a // mov r13, qword [rdx] LONG $0x1f7a8d4d // lea r15, [r10 + 31] WORD $0x854d; BYTE $0xd2 // test r10, r10 @@ -20214,7 +21146,7 @@ LBB4_46: WORD $0x394c; BYTE $0x2e // cmp qword [rsi], r13 QUAD $0x000000902494950f // setne byte [rsp + 144] LONG $0x086e394c // cmp qword [rsi + 8], r13 - LONG $0xd7950f40 // setne dil + LONG $0xd2950f41 // setne r10b LONG $0x106e394c // cmp qword [rsi + 16], r13 LONG $0xd6950f41 // setne r14b LONG $0x186e394c // cmp qword [rsi + 24], r13 @@ -20230,11 +21162,11 @@ LBB4_46: LONG $0x406e394c // cmp qword [rsi + 64], r13 QUAD $0x000000a02494950f // setne byte [rsp + 160] LONG $0x486e394c // cmp qword [rsi + 72], r13 - WORD $0x950f; BYTE $0xd2 // setne dl + LONG $0xd7950f40 // setne dil LONG $0x506e394c // cmp qword [rsi + 80], r13 - LONG $0xd1950f41 // setne r9b + LONG $0xd0950f41 // setne r8b LONG $0x586e394c // cmp qword [rsi + 88], r13 - LONG $0xd2950f41 // setne r10b + LONG $0xd1950f41 // setne r9b LONG $0x606e394c // cmp qword [rsi + 96], r13 LONG $0xd3950f41 // setne r11b LONG $0x686e394c // cmp qword [rsi + 104], r13 @@ -20274,32 +21206,33 @@ LBB4_46: LONG $0xf0ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 240], r13 LONG $0x2454950f; BYTE $0x1c // setne byte [rsp + 28] LONG $0xf8ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 248], r13 - LONG $0xd0950f41 // setne r8b - WORD $0x0040; BYTE $0xff // add dil, dil - QUAD $0x0000009024bc0240 // add dil, byte [rsp + 144] + WORD $0x950f; BYTE $0xd2 // setne dl + WORD $0x0045; BYTE $0xd2 // add r10b, r10b + QUAD $0x0000009024940244 // add r10b, byte [rsp + 144] WORD $0xe0c0; BYTE $0x06 // shl al, 6 WORD $0xe3c0; BYTE $0x07 // shl bl, 7 WORD $0xc308 // or bl, al LONG $0x02e6c041 // shl r14b, 2 - WORD $0x0841; BYTE $0xfe // or r14b, dil - WORD $0xd200 // add dl, dl - LONG $0xa0249402; WORD $0x0000; BYTE $0x00 // add dl, byte [rsp + 160] + WORD $0x0845; BYTE $0xd6 // or r14b, r10b + WORD $0x0040; BYTE $0xff // add dil, dil + QUAD $0x000000a024bc0240 // add dil, byte [rsp + 160] QUAD $0x000000982484b60f // movzx eax, byte [rsp + 152] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0x0844; BYTE $0xf0 // or al, r14b - LONG $0x02e1c041 // shl r9b, 2 - WORD $0x0841; BYTE $0xd1 // or r9b, dl - QUAD $0x000000882494b60f // movzx edx, byte [rsp + 136] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0xc208 // or dl, al - WORD $0xd789 // mov edi, edx - LONG $0x03e2c041 // shl r10b, 3 - WORD $0x0845; BYTE $0xca // or r10b, r9b - LONG $0x2454b60f; BYTE $0x60 // movzx edx, byte [rsp + 96] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xfa // or dl, dil + WORD $0x8941; BYTE $0xc2 // mov r10d, eax + LONG $0x02e0c041 // shl r8b, 2 + WORD $0x0841; BYTE $0xf8 // or r8b, dil + QUAD $0x000000882484b60f // movzx eax, byte [rsp + 136] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0844; BYTE $0xd0 // or al, r10b + WORD $0xc789 // mov edi, eax + LONG $0x03e1c041 // shl r9b, 3 + WORD $0x0845; BYTE $0xc1 // or r9b, r8b + LONG $0x2444b60f; BYTE $0x60 // movzx eax, byte [rsp + 96] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0x0840; BYTE $0xf8 // or al, dil LONG $0x04e3c041 // shl r11b, 4 - WORD $0x0845; BYTE $0xd3 // or r11b, r10b + WORD $0x0845; BYTE $0xcb // or r11b, r9b LONG $0x05e4c041 // shl r12b, 5 WORD $0x0845; BYTE $0xdc // or r12b, r11b QUAD $0x00000110249c8b4c // mov r11, qword [rsp + 272] @@ -20307,60 +21240,60 @@ LBB4_46: LONG $0x06e7c040 // shl dil, 6 WORD $0xe1c0; BYTE $0x07 // shl cl, 7 WORD $0x0840; BYTE $0xf9 // or cl, dil - WORD $0xd308 // or bl, dl + WORD $0xc308 // or bl, al WORD $0x0844; BYTE $0xe1 // or cl, r12b - LONG $0x2454b60f; BYTE $0x78 // movzx edx, byte [rsp + 120] - WORD $0xd200 // add dl, dl - LONG $0x50245402 // add dl, byte [rsp + 80] - WORD $0xd789 // mov edi, edx - QUAD $0x000000802494b60f // movzx edx, byte [rsp + 128] - WORD $0xe2c0; BYTE $0x02 // shl dl, 2 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x48 // movzx edx, byte [rsp + 72] - WORD $0xe2c0; BYTE $0x03 // shl dl, 3 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x58 // movzx edx, byte [rsp + 88] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x68 // movzx edx, byte [rsp + 104] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xfa // or dl, dil + LONG $0x2444b60f; BYTE $0x78 // movzx eax, byte [rsp + 120] + WORD $0xc000 // add al, al + LONG $0x50244402 // add al, byte [rsp + 80] + WORD $0xc789 // mov edi, eax + QUAD $0x000000802484b60f // movzx eax, byte [rsp + 128] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x48 // movzx eax, byte [rsp + 72] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x58 // movzx eax, byte [rsp + 88] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x68 // movzx eax, byte [rsp + 104] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0x0840; BYTE $0xf8 // or al, dil WORD $0x8841; BYTE $0x1b // mov byte [r11], bl LONG $0x245cb60f; BYTE $0x40 // movzx ebx, byte [rsp + 64] WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e7c041 // shl r15b, 7 WORD $0x0841; BYTE $0xdf // or r15b, bl LONG $0x014b8841 // mov byte [r11 + 1], cl - WORD $0x0841; BYTE $0xd7 // or r15b, dl - LONG $0x244cb60f; BYTE $0x28 // movzx ecx, byte [rsp + 40] - WORD $0xc900 // add cl, cl - LONG $0x20244c02 // add cl, byte [rsp + 32] - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x30 // movzx ecx, byte [rsp + 48] - WORD $0xe1c0; BYTE $0x02 // shl cl, 2 - WORD $0xd108 // or cl, dl - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x38 // movzx ecx, byte [rsp + 56] - WORD $0xe1c0; BYTE $0x03 // shl cl, 3 - WORD $0xd108 // or cl, dl - WORD $0xca89 // mov edx, ecx - QUAD $0x00000120248cb60f // movzx ecx, byte [rsp + 288] - WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0xd108 // or cl, dl - WORD $0xca89 // mov edx, ecx - QUAD $0x00000140248cb60f // movzx ecx, byte [rsp + 320] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0xd108 // or cl, dl - LONG $0x2454b60f; BYTE $0x1c // movzx edx, byte [rsp + 28] - WORD $0xe2c0; BYTE $0x06 // shl dl, 6 - LONG $0x07e0c041 // shl r8b, 7 - WORD $0x0841; BYTE $0xd0 // or r8b, dl - WORD $0x0841; BYTE $0xc8 // or r8b, cl + WORD $0x0841; BYTE $0xc7 // or r15b, al + LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] + WORD $0xc000 // add al, al + LONG $0x20244402 // add al, byte [rsp + 32] + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x38 // movzx eax, byte [rsp + 56] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax + QUAD $0x000001202484b60f // movzx eax, byte [rsp + 288] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax + QUAD $0x000001402484b60f // movzx eax, byte [rsp + 320] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0xc808 // or al, cl + LONG $0x244cb60f; BYTE $0x1c // movzx ecx, byte [rsp + 28] + WORD $0xe1c0; BYTE $0x06 // shl cl, 6 + WORD $0xe2c0; BYTE $0x07 // shl dl, 7 + WORD $0xca08 // or dl, cl + WORD $0xc208 // or dl, al LONG $0x027b8845 // mov byte [r11 + 2], r15b - LONG $0x03438845 // mov byte [r11 + 3], r8b + LONG $0x03538841 // mov byte [r11 + 3], dl LONG $0x00c68148; WORD $0x0001; BYTE $0x00 // add rsi, 256 LONG $0x04c38349 // add r11, 4 QUAD $0x000000a824848348; BYTE $0xff // add qword [rsp + 168], -1 @@ -20371,7 +21304,7 @@ LBB4_46: LONG $0x05e7c149 // shl r15, 5 WORD $0x394d; BYTE $0xd7 // cmp r15, r10 JL LBB4_108 - JMP LBB4_159 + JMP LBB4_165 LBB4_48: LONG $0x2ab70f44 // movzx r13d, word [rdx] @@ -20414,387 +21347,389 @@ LBB4_52: LONG $0x05ffc149 // sar r15, 5 LONG $0x20fa8349 // cmp r10, 32 JL LBB4_111 - QUAD $0x000001182494894c // mov qword [rsp + 280], r10 - QUAD $0x000000b024bc894c // mov qword [rsp + 176], r15 - QUAD $0x000000a824bc894c // mov qword [rsp + 168], r15 - QUAD $0x00000110249c894c // mov qword [rsp + 272], r11 - -LBB4_54: - LONG $0x2e394466 // cmp word [rsi], r13w - WORD $0x950f; BYTE $0xd0 // setne al - LONG $0x6e394466; BYTE $0x02 // cmp word [rsi + 2], r13w - LONG $0xd7950f40 // setne dil - LONG $0x6e394466; BYTE $0x04 // cmp word [rsi + 4], r13w - LONG $0xd6950f41 // setne r14b - LONG $0x6e394466; BYTE $0x06 // cmp word [rsi + 6], r13w - QUAD $0x000000982494950f // setne byte [rsp + 152] - LONG $0x6e394466; BYTE $0x08 // cmp word [rsi + 8], r13w - QUAD $0x000000882494950f // setne byte [rsp + 136] - LONG $0x6e394466; BYTE $0x0a // cmp word [rsi + 10], r13w - LONG $0x2454950f; BYTE $0x60 // setne byte [rsp + 96] - LONG $0x6e394466; BYTE $0x0c // cmp word [rsi + 12], r13w - QUAD $0x000000902494950f // setne byte [rsp + 144] - LONG $0x6e394466; BYTE $0x0e // cmp word [rsi + 14], r13w - WORD $0x950f; BYTE $0xd3 // setne bl - LONG $0x6e394466; BYTE $0x10 // cmp word [rsi + 16], r13w - QUAD $0x000000a02494950f // setne byte [rsp + 160] - LONG $0x6e394466; BYTE $0x12 // cmp word [rsi + 18], r13w - WORD $0x950f; BYTE $0xd2 // setne dl - LONG $0x6e394466; BYTE $0x14 // cmp word [rsi + 20], r13w - LONG $0xd1950f41 // setne r9b - LONG $0x6e394466; BYTE $0x16 // cmp word [rsi + 22], r13w - LONG $0xd2950f41 // setne r10b - LONG $0x6e394466; BYTE $0x18 // cmp word [rsi + 24], r13w - LONG $0xd3950f41 // setne r11b - LONG $0x6e394466; BYTE $0x1a // cmp word [rsi + 26], r13w - LONG $0xd4950f41 // setne r12b - LONG $0x6e394466; BYTE $0x1c // cmp word [rsi + 28], r13w - LONG $0x2454950f; BYTE $0x70 // setne byte [rsp + 112] - LONG $0x6e394466; BYTE $0x1e // cmp word [rsi + 30], r13w - WORD $0x950f; BYTE $0xd1 // setne cl - LONG $0x6e394466; BYTE $0x20 // cmp word [rsi + 32], r13w - LONG $0x2454950f; BYTE $0x50 // setne byte [rsp + 80] - LONG $0x6e394466; BYTE $0x22 // cmp word [rsi + 34], r13w - LONG $0x2454950f; BYTE $0x78 // setne byte [rsp + 120] - LONG $0x6e394466; BYTE $0x24 // cmp word [rsi + 36], r13w - QUAD $0x000000802494950f // setne byte [rsp + 128] - LONG $0x6e394466; BYTE $0x26 // cmp word [rsi + 38], r13w - LONG $0x2454950f; BYTE $0x48 // setne byte [rsp + 72] - LONG $0x6e394466; BYTE $0x28 // cmp word [rsi + 40], r13w - LONG $0x2454950f; BYTE $0x58 // setne byte [rsp + 88] - LONG $0x6e394466; BYTE $0x2a // cmp word [rsi + 42], r13w - LONG $0x2454950f; BYTE $0x68 // setne byte [rsp + 104] - LONG $0x6e394466; BYTE $0x2c // cmp word [rsi + 44], r13w - LONG $0x2454950f; BYTE $0x40 // setne byte [rsp + 64] - LONG $0x6e394466; BYTE $0x2e // cmp word [rsi + 46], r13w - LONG $0xd7950f41 // setne r15b - LONG $0x6e394466; BYTE $0x30 // cmp word [rsi + 48], r13w - LONG $0x2454950f; BYTE $0x20 // setne byte [rsp + 32] - LONG $0x6e394466; BYTE $0x32 // cmp word [rsi + 50], r13w - LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] - LONG $0x6e394466; BYTE $0x34 // cmp word [rsi + 52], r13w - LONG $0x2454950f; BYTE $0x30 // setne byte [rsp + 48] - LONG $0x6e394466; BYTE $0x36 // cmp word [rsi + 54], r13w - LONG $0x2454950f; BYTE $0x38 // setne byte [rsp + 56] - LONG $0x6e394466; BYTE $0x38 // cmp word [rsi + 56], r13w - QUAD $0x000001202494950f // setne byte [rsp + 288] - LONG $0x6e394466; BYTE $0x3a // cmp word [rsi + 58], r13w - QUAD $0x000001402494950f // setne byte [rsp + 320] - LONG $0x6e394466; BYTE $0x3c // cmp word [rsi + 60], r13w - LONG $0x2454950f; BYTE $0x1c // setne byte [rsp + 28] - LONG $0x6e394466; BYTE $0x3e // cmp word [rsi + 62], r13w - LONG $0xd0950f41 // setne r8b - WORD $0x0040; BYTE $0xff // add dil, dil - WORD $0x0840; BYTE $0xc7 // or dil, al - QUAD $0x000000902484b60f // movzx eax, byte [rsp + 144] - WORD $0xe0c0; BYTE $0x06 // shl al, 6 - WORD $0xe3c0; BYTE $0x07 // shl bl, 7 - WORD $0xc308 // or bl, al - LONG $0x02e6c041 // shl r14b, 2 - WORD $0x0841; BYTE $0xfe // or r14b, dil - WORD $0xd200 // add dl, dl - LONG $0xa0249402; WORD $0x0000; BYTE $0x00 // add dl, byte [rsp + 160] - QUAD $0x000000982484b60f // movzx eax, byte [rsp + 152] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0x0844; BYTE $0xf0 // or al, r14b - LONG $0x02e1c041 // shl r9b, 2 - WORD $0x0841; BYTE $0xd1 // or r9b, dl - QUAD $0x000000882494b60f // movzx edx, byte [rsp + 136] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0xc208 // or dl, al - WORD $0xd789 // mov edi, edx - LONG $0x03e2c041 // shl r10b, 3 - WORD $0x0845; BYTE $0xca // or r10b, r9b - LONG $0x2454b60f; BYTE $0x60 // movzx edx, byte [rsp + 96] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xfa // or dl, dil - LONG $0x04e3c041 // shl r11b, 4 - WORD $0x0845; BYTE $0xd3 // or r11b, r10b - LONG $0x05e4c041 // shl r12b, 5 - WORD $0x0845; BYTE $0xdc // or r12b, r11b - LONG $0x247cb60f; BYTE $0x70 // movzx edi, byte [rsp + 112] - LONG $0x06e7c040 // shl dil, 6 - WORD $0xe1c0; BYTE $0x07 // shl cl, 7 - WORD $0x0840; BYTE $0xf9 // or cl, dil - WORD $0xd308 // or bl, dl - WORD $0x0844; BYTE $0xe1 // or cl, r12b - LONG $0x2454b60f; BYTE $0x78 // movzx edx, byte [rsp + 120] - WORD $0xd200 // add dl, dl - LONG $0x50245402 // add dl, byte [rsp + 80] - WORD $0xd789 // mov edi, edx - QUAD $0x000000802494b60f // movzx edx, byte [rsp + 128] - WORD $0xe2c0; BYTE $0x02 // shl dl, 2 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x48 // movzx edx, byte [rsp + 72] - WORD $0xe2c0; BYTE $0x03 // shl dl, 3 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x58 // movzx edx, byte [rsp + 88] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x68 // movzx edx, byte [rsp + 104] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - QUAD $0x0000011024948b48 // mov rdx, qword [rsp + 272] - WORD $0x1a88 // mov byte [rdx], bl - LONG $0x245cb60f; BYTE $0x40 // movzx ebx, byte [rsp + 64] - WORD $0xe3c0; BYTE $0x06 // shl bl, 6 - LONG $0x07e7c041 // shl r15b, 7 - WORD $0x0841; BYTE $0xdf // or r15b, bl - WORD $0x4a88; BYTE $0x01 // mov byte [rdx + 1], cl - WORD $0x0841; BYTE $0xff // or r15b, dil - LONG $0x244cb60f; BYTE $0x28 // movzx ecx, byte [rsp + 40] - WORD $0xc900 // add cl, cl - LONG $0x20244c02 // add cl, byte [rsp + 32] - WORD $0xcb89 // mov ebx, ecx - LONG $0x244cb60f; BYTE $0x30 // movzx ecx, byte [rsp + 48] - WORD $0xe1c0; BYTE $0x02 // shl cl, 2 - WORD $0xd908 // or cl, bl - WORD $0xcb89 // mov ebx, ecx - LONG $0x244cb60f; BYTE $0x38 // movzx ecx, byte [rsp + 56] - WORD $0xe1c0; BYTE $0x03 // shl cl, 3 - WORD $0xd908 // or cl, bl - WORD $0xcb89 // mov ebx, ecx - QUAD $0x00000120248cb60f // movzx ecx, byte [rsp + 288] - WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0xd908 // or cl, bl - WORD $0xcb89 // mov ebx, ecx - QUAD $0x00000140248cb60f // movzx ecx, byte [rsp + 320] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0xd908 // or cl, bl - LONG $0x245cb60f; BYTE $0x1c // movzx ebx, byte [rsp + 28] - WORD $0xe3c0; BYTE $0x06 // shl bl, 6 - LONG $0x07e0c041 // shl r8b, 7 - WORD $0x0841; BYTE $0xd8 // or r8b, bl - WORD $0x0841; BYTE $0xc8 // or r8b, cl - LONG $0x027a8844 // mov byte [rdx + 2], r15b - LONG $0x03428844 // mov byte [rdx + 3], r8b - LONG $0x40c68348 // add rsi, 64 - LONG $0x04c28348 // add rdx, 4 - QUAD $0x0000011024948948 // mov qword [rsp + 272], rdx - QUAD $0x000000a824848348; BYTE $0xff // add qword [rsp + 168], -1 - JNE LBB4_54 - QUAD $0x0000011024b48b4c // mov r14, qword [rsp + 272] - QUAD $0x0000011824948b4c // mov r10, qword [rsp + 280] - QUAD $0x000000b024bc8b4c // mov r15, qword [rsp + 176] - LONG $0x05e7c149 // shl r15, 5 - WORD $0x394d; BYTE $0xd7 // cmp r15, r10 - JL LBB4_112 - JMP LBB4_159 - -LBB4_56: - LONG $0x2ab70f44 // movzx r13d, word [rdx] - LONG $0x1f7a8d4d // lea r15, [r10 + 31] - WORD $0x854d; BYTE $0xd2 // test r10, r10 - LONG $0xfa490f4d // cmovns r15, r10 - LONG $0x07418d41 // lea eax, [r9 + 7] - WORD $0x8545; BYTE $0xc9 // test r9d, r9d - LONG $0xc1490f41 // cmovns eax, r9d - WORD $0xe083; BYTE $0xf8 // and eax, -8 - WORD $0x2941; BYTE $0xc1 // sub r9d, eax - JE LBB4_60 - WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d - -LBB4_58: - LONG $0x2e394466 // cmp word [rsi], r13w - LONG $0x02768d48 // lea rsi, [rsi + 2] - WORD $0x950f; BYTE $0xd2 // setne dl - WORD $0xdaf6 // neg dl - LONG $0x07588d48 // lea rbx, [rax + 7] - WORD $0x8548; BYTE $0xc0 // test rax, rax - LONG $0xd8490f48 // cmovns rbx, rax - LONG $0x03fbc148 // sar rbx, 3 - LONG $0x04b60f45; BYTE $0x1b // movzx r8d, byte [r11 + rbx] - WORD $0x3044; BYTE $0xc2 // xor dl, r8b - LONG $0x00dd3c8d; WORD $0x0000; BYTE $0x00 // lea edi, [8*rbx] - WORD $0xc189 // mov ecx, eax - WORD $0xf929 // sub ecx, edi - LONG $0x000001bf; BYTE $0x00 // mov edi, 1 - WORD $0xe7d3 // shl edi, cl - WORD $0x2040; BYTE $0xd7 // and dil, dl - WORD $0x3044; BYTE $0xc7 // xor dil, r8b - LONG $0x1b3c8841 // mov byte [r11 + rbx], dil - LONG $0x01c08348 // add rax, 1 - LONG $0x08f88348 // cmp rax, 8 - JNE LBB4_58 - LONG $0x01c38349 // add r11, 1 - -LBB4_60: - LONG $0x05ffc149 // sar r15, 5 - LONG $0x20fa8349 // cmp r10, 32 - JL LBB4_115 - QUAD $0x000001182494894c // mov qword [rsp + 280], r10 - QUAD $0x000000b024bc894c // mov qword [rsp + 176], r15 - QUAD $0x000000a824bc894c // mov qword [rsp + 168], r15 - QUAD $0x00000110249c894c // mov qword [rsp + 272], r11 - -LBB4_62: - LONG $0x2e394466 // cmp word [rsi], r13w - QUAD $0x000000902494950f // setne byte [rsp + 144] - LONG $0x6e394466; BYTE $0x02 // cmp word [rsi + 2], r13w - LONG $0xd7950f40 // setne dil - LONG $0x6e394466; BYTE $0x04 // cmp word [rsi + 4], r13w - LONG $0xd6950f41 // setne r14b - LONG $0x6e394466; BYTE $0x06 // cmp word [rsi + 6], r13w - QUAD $0x000000982494950f // setne byte [rsp + 152] - LONG $0x6e394466; BYTE $0x08 // cmp word [rsi + 8], r13w - QUAD $0x000000882494950f // setne byte [rsp + 136] - LONG $0x6e394466; BYTE $0x0a // cmp word [rsi + 10], r13w - LONG $0x2454950f; BYTE $0x60 // setne byte [rsp + 96] - LONG $0x6e394466; BYTE $0x0c // cmp word [rsi + 12], r13w - WORD $0x950f; BYTE $0xd0 // setne al - LONG $0x6e394466; BYTE $0x0e // cmp word [rsi + 14], r13w - WORD $0x950f; BYTE $0xd3 // setne bl - LONG $0x6e394466; BYTE $0x10 // cmp word [rsi + 16], r13w - QUAD $0x000000a02494950f // setne byte [rsp + 160] - LONG $0x6e394466; BYTE $0x12 // cmp word [rsi + 18], r13w - WORD $0x950f; BYTE $0xd2 // setne dl - LONG $0x6e394466; BYTE $0x14 // cmp word [rsi + 20], r13w - LONG $0xd1950f41 // setne r9b - LONG $0x6e394466; BYTE $0x16 // cmp word [rsi + 22], r13w - LONG $0xd2950f41 // setne r10b - LONG $0x6e394466; BYTE $0x18 // cmp word [rsi + 24], r13w - LONG $0xd3950f41 // setne r11b - LONG $0x6e394466; BYTE $0x1a // cmp word [rsi + 26], r13w - LONG $0xd4950f41 // setne r12b - LONG $0x6e394466; BYTE $0x1c // cmp word [rsi + 28], r13w - LONG $0x2454950f; BYTE $0x70 // setne byte [rsp + 112] - LONG $0x6e394466; BYTE $0x1e // cmp word [rsi + 30], r13w - WORD $0x950f; BYTE $0xd1 // setne cl - LONG $0x6e394466; BYTE $0x20 // cmp word [rsi + 32], r13w - LONG $0x2454950f; BYTE $0x50 // setne byte [rsp + 80] - LONG $0x6e394466; BYTE $0x22 // cmp word [rsi + 34], r13w - LONG $0x2454950f; BYTE $0x78 // setne byte [rsp + 120] - LONG $0x6e394466; BYTE $0x24 // cmp word [rsi + 36], r13w - QUAD $0x000000802494950f // setne byte [rsp + 128] - LONG $0x6e394466; BYTE $0x26 // cmp word [rsi + 38], r13w - LONG $0x2454950f; BYTE $0x48 // setne byte [rsp + 72] - LONG $0x6e394466; BYTE $0x28 // cmp word [rsi + 40], r13w - LONG $0x2454950f; BYTE $0x58 // setne byte [rsp + 88] - LONG $0x6e394466; BYTE $0x2a // cmp word [rsi + 42], r13w - LONG $0x2454950f; BYTE $0x68 // setne byte [rsp + 104] - LONG $0x6e394466; BYTE $0x2c // cmp word [rsi + 44], r13w - LONG $0x2454950f; BYTE $0x40 // setne byte [rsp + 64] - LONG $0x6e394466; BYTE $0x2e // cmp word [rsi + 46], r13w - LONG $0xd7950f41 // setne r15b - LONG $0x6e394466; BYTE $0x30 // cmp word [rsi + 48], r13w - LONG $0x2454950f; BYTE $0x20 // setne byte [rsp + 32] - LONG $0x6e394466; BYTE $0x32 // cmp word [rsi + 50], r13w - LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] - LONG $0x6e394466; BYTE $0x34 // cmp word [rsi + 52], r13w - LONG $0x2454950f; BYTE $0x30 // setne byte [rsp + 48] - LONG $0x6e394466; BYTE $0x36 // cmp word [rsi + 54], r13w - LONG $0x2454950f; BYTE $0x38 // setne byte [rsp + 56] - LONG $0x6e394466; BYTE $0x38 // cmp word [rsi + 56], r13w - QUAD $0x000001202494950f // setne byte [rsp + 288] - LONG $0x6e394466; BYTE $0x3a // cmp word [rsi + 58], r13w - QUAD $0x000001402494950f // setne byte [rsp + 320] - LONG $0x6e394466; BYTE $0x3c // cmp word [rsi + 60], r13w - LONG $0x2454950f; BYTE $0x1c // setne byte [rsp + 28] - LONG $0x6e394466; BYTE $0x3e // cmp word [rsi + 62], r13w - LONG $0xd0950f41 // setne r8b - WORD $0x0040; BYTE $0xff // add dil, dil - QUAD $0x0000009024bc0240 // add dil, byte [rsp + 144] - WORD $0xe0c0; BYTE $0x06 // shl al, 6 - WORD $0xe3c0; BYTE $0x07 // shl bl, 7 - WORD $0xc308 // or bl, al - LONG $0x02e6c041 // shl r14b, 2 - WORD $0x0841; BYTE $0xfe // or r14b, dil - WORD $0xd200 // add dl, dl - LONG $0xa0249402; WORD $0x0000; BYTE $0x00 // add dl, byte [rsp + 160] - QUAD $0x000000982484b60f // movzx eax, byte [rsp + 152] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0x0844; BYTE $0xf0 // or al, r14b - LONG $0x02e1c041 // shl r9b, 2 - WORD $0x0841; BYTE $0xd1 // or r9b, dl - QUAD $0x000000882494b60f // movzx edx, byte [rsp + 136] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0xc208 // or dl, al - WORD $0xd789 // mov edi, edx - LONG $0x03e2c041 // shl r10b, 3 - WORD $0x0845; BYTE $0xca // or r10b, r9b - LONG $0x2454b60f; BYTE $0x60 // movzx edx, byte [rsp + 96] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xfa // or dl, dil - LONG $0x04e3c041 // shl r11b, 4 - WORD $0x0845; BYTE $0xd3 // or r11b, r10b - LONG $0x05e4c041 // shl r12b, 5 - WORD $0x0845; BYTE $0xdc // or r12b, r11b - LONG $0x247cb60f; BYTE $0x70 // movzx edi, byte [rsp + 112] - LONG $0x06e7c040 // shl dil, 6 - WORD $0xe1c0; BYTE $0x07 // shl cl, 7 - WORD $0x0840; BYTE $0xf9 // or cl, dil - WORD $0xd308 // or bl, dl - WORD $0x0844; BYTE $0xe1 // or cl, r12b - LONG $0x2454b60f; BYTE $0x78 // movzx edx, byte [rsp + 120] - WORD $0xd200 // add dl, dl - LONG $0x50245402 // add dl, byte [rsp + 80] - WORD $0xd789 // mov edi, edx - QUAD $0x000000802494b60f // movzx edx, byte [rsp + 128] - WORD $0xe2c0; BYTE $0x02 // shl dl, 2 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x48 // movzx edx, byte [rsp + 72] - WORD $0xe2c0; BYTE $0x03 // shl dl, 3 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x58 // movzx edx, byte [rsp + 88] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x68 // movzx edx, byte [rsp + 104] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - QUAD $0x0000011024948b48 // mov rdx, qword [rsp + 272] - WORD $0x1a88 // mov byte [rdx], bl - LONG $0x245cb60f; BYTE $0x40 // movzx ebx, byte [rsp + 64] - WORD $0xe3c0; BYTE $0x06 // shl bl, 6 - LONG $0x07e7c041 // shl r15b, 7 - WORD $0x0841; BYTE $0xdf // or r15b, bl - WORD $0x4a88; BYTE $0x01 // mov byte [rdx + 1], cl - WORD $0x0841; BYTE $0xff // or r15b, dil - LONG $0x244cb60f; BYTE $0x28 // movzx ecx, byte [rsp + 40] - WORD $0xc900 // add cl, cl - LONG $0x20244c02 // add cl, byte [rsp + 32] - WORD $0xcb89 // mov ebx, ecx - LONG $0x244cb60f; BYTE $0x30 // movzx ecx, byte [rsp + 48] - WORD $0xe1c0; BYTE $0x02 // shl cl, 2 - WORD $0xd908 // or cl, bl - WORD $0xcb89 // mov ebx, ecx - LONG $0x244cb60f; BYTE $0x38 // movzx ecx, byte [rsp + 56] - WORD $0xe1c0; BYTE $0x03 // shl cl, 3 - WORD $0xd908 // or cl, bl - WORD $0xcb89 // mov ebx, ecx - QUAD $0x00000120248cb60f // movzx ecx, byte [rsp + 288] - WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0xd908 // or cl, bl - WORD $0xcb89 // mov ebx, ecx - QUAD $0x00000140248cb60f // movzx ecx, byte [rsp + 320] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0xd908 // or cl, bl - LONG $0x245cb60f; BYTE $0x1c // movzx ebx, byte [rsp + 28] - WORD $0xe3c0; BYTE $0x06 // shl bl, 6 - LONG $0x07e0c041 // shl r8b, 7 - WORD $0x0841; BYTE $0xd8 // or r8b, bl - WORD $0x0841; BYTE $0xc8 // or r8b, cl - LONG $0x027a8844 // mov byte [rdx + 2], r15b - LONG $0x03428844 // mov byte [rdx + 3], r8b - LONG $0x40c68348 // add rsi, 64 - LONG $0x04c28348 // add rdx, 4 - QUAD $0x0000011024948948 // mov qword [rsp + 272], rdx - QUAD $0x000000a824848348; BYTE $0xff // add qword [rsp + 168], -1 + QUAD $0x000001182494894c // mov qword [rsp + 280], r10 + QUAD $0x000000b024bc894c // mov qword [rsp + 176], r15 + QUAD $0x000000a824bc894c // mov qword [rsp + 168], r15 + QUAD $0x00000110249c894c // mov qword [rsp + 272], r11 + +LBB4_54: + LONG $0x2e394466 // cmp word [rsi], r13w + WORD $0x950f; BYTE $0xd0 // setne al + LONG $0x6e394466; BYTE $0x02 // cmp word [rsi + 2], r13w + LONG $0xd2950f41 // setne r10b + LONG $0x6e394466; BYTE $0x04 // cmp word [rsi + 4], r13w + LONG $0xd6950f41 // setne r14b + LONG $0x6e394466; BYTE $0x06 // cmp word [rsi + 6], r13w + QUAD $0x000000982494950f // setne byte [rsp + 152] + LONG $0x6e394466; BYTE $0x08 // cmp word [rsi + 8], r13w + QUAD $0x000000882494950f // setne byte [rsp + 136] + LONG $0x6e394466; BYTE $0x0a // cmp word [rsi + 10], r13w + LONG $0x2454950f; BYTE $0x60 // setne byte [rsp + 96] + LONG $0x6e394466; BYTE $0x0c // cmp word [rsi + 12], r13w + QUAD $0x000000902494950f // setne byte [rsp + 144] + LONG $0x6e394466; BYTE $0x0e // cmp word [rsi + 14], r13w + WORD $0x950f; BYTE $0xd3 // setne bl + LONG $0x6e394466; BYTE $0x10 // cmp word [rsi + 16], r13w + QUAD $0x000000a02494950f // setne byte [rsp + 160] + LONG $0x6e394466; BYTE $0x12 // cmp word [rsi + 18], r13w + LONG $0xd7950f40 // setne dil + LONG $0x6e394466; BYTE $0x14 // cmp word [rsi + 20], r13w + LONG $0xd0950f41 // setne r8b + LONG $0x6e394466; BYTE $0x16 // cmp word [rsi + 22], r13w + LONG $0xd1950f41 // setne r9b + LONG $0x6e394466; BYTE $0x18 // cmp word [rsi + 24], r13w + LONG $0xd3950f41 // setne r11b + LONG $0x6e394466; BYTE $0x1a // cmp word [rsi + 26], r13w + LONG $0xd4950f41 // setne r12b + LONG $0x6e394466; BYTE $0x1c // cmp word [rsi + 28], r13w + LONG $0x2454950f; BYTE $0x70 // setne byte [rsp + 112] + LONG $0x6e394466; BYTE $0x1e // cmp word [rsi + 30], r13w + WORD $0x950f; BYTE $0xd1 // setne cl + LONG $0x6e394466; BYTE $0x20 // cmp word [rsi + 32], r13w + LONG $0x2454950f; BYTE $0x50 // setne byte [rsp + 80] + LONG $0x6e394466; BYTE $0x22 // cmp word [rsi + 34], r13w + LONG $0x2454950f; BYTE $0x78 // setne byte [rsp + 120] + LONG $0x6e394466; BYTE $0x24 // cmp word [rsi + 36], r13w + QUAD $0x000000802494950f // setne byte [rsp + 128] + LONG $0x6e394466; BYTE $0x26 // cmp word [rsi + 38], r13w + LONG $0x2454950f; BYTE $0x48 // setne byte [rsp + 72] + LONG $0x6e394466; BYTE $0x28 // cmp word [rsi + 40], r13w + LONG $0x2454950f; BYTE $0x58 // setne byte [rsp + 88] + LONG $0x6e394466; BYTE $0x2a // cmp word [rsi + 42], r13w + LONG $0x2454950f; BYTE $0x68 // setne byte [rsp + 104] + LONG $0x6e394466; BYTE $0x2c // cmp word [rsi + 44], r13w + LONG $0x2454950f; BYTE $0x40 // setne byte [rsp + 64] + LONG $0x6e394466; BYTE $0x2e // cmp word [rsi + 46], r13w + LONG $0xd7950f41 // setne r15b + LONG $0x6e394466; BYTE $0x30 // cmp word [rsi + 48], r13w + LONG $0x2454950f; BYTE $0x20 // setne byte [rsp + 32] + LONG $0x6e394466; BYTE $0x32 // cmp word [rsi + 50], r13w + LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] + LONG $0x6e394466; BYTE $0x34 // cmp word [rsi + 52], r13w + LONG $0x2454950f; BYTE $0x30 // setne byte [rsp + 48] + LONG $0x6e394466; BYTE $0x36 // cmp word [rsi + 54], r13w + LONG $0x2454950f; BYTE $0x38 // setne byte [rsp + 56] + LONG $0x6e394466; BYTE $0x38 // cmp word [rsi + 56], r13w + QUAD $0x000001202494950f // setne byte [rsp + 288] + LONG $0x6e394466; BYTE $0x3a // cmp word [rsi + 58], r13w + QUAD $0x000001402494950f // setne byte [rsp + 320] + LONG $0x6e394466; BYTE $0x3c // cmp word [rsi + 60], r13w + LONG $0x2454950f; BYTE $0x1c // setne byte [rsp + 28] + LONG $0x6e394466; BYTE $0x3e // cmp word [rsi + 62], r13w + WORD $0x950f; BYTE $0xd2 // setne dl + WORD $0x0045; BYTE $0xd2 // add r10b, r10b + WORD $0x0841; BYTE $0xc2 // or r10b, al + QUAD $0x000000902484b60f // movzx eax, byte [rsp + 144] + WORD $0xe0c0; BYTE $0x06 // shl al, 6 + WORD $0xe3c0; BYTE $0x07 // shl bl, 7 + WORD $0xc308 // or bl, al + LONG $0x02e6c041 // shl r14b, 2 + WORD $0x0845; BYTE $0xd6 // or r14b, r10b + WORD $0x0040; BYTE $0xff // add dil, dil + QUAD $0x000000a024bc0240 // add dil, byte [rsp + 160] + QUAD $0x000000982484b60f // movzx eax, byte [rsp + 152] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0x0844; BYTE $0xf0 // or al, r14b + WORD $0x8941; BYTE $0xc2 // mov r10d, eax + LONG $0x02e0c041 // shl r8b, 2 + WORD $0x0841; BYTE $0xf8 // or r8b, dil + QUAD $0x000000882484b60f // movzx eax, byte [rsp + 136] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0844; BYTE $0xd0 // or al, r10b + WORD $0xc789 // mov edi, eax + LONG $0x03e1c041 // shl r9b, 3 + WORD $0x0845; BYTE $0xc1 // or r9b, r8b + LONG $0x2444b60f; BYTE $0x60 // movzx eax, byte [rsp + 96] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0x0840; BYTE $0xf8 // or al, dil + LONG $0x04e3c041 // shl r11b, 4 + WORD $0x0845; BYTE $0xcb // or r11b, r9b + LONG $0x05e4c041 // shl r12b, 5 + WORD $0x0845; BYTE $0xdc // or r12b, r11b + LONG $0x247cb60f; BYTE $0x70 // movzx edi, byte [rsp + 112] + LONG $0x06e7c040 // shl dil, 6 + WORD $0xe1c0; BYTE $0x07 // shl cl, 7 + WORD $0x0840; BYTE $0xf9 // or cl, dil + WORD $0xc308 // or bl, al + WORD $0x0844; BYTE $0xe1 // or cl, r12b + LONG $0x2444b60f; BYTE $0x78 // movzx eax, byte [rsp + 120] + WORD $0xc000 // add al, al + LONG $0x50244402 // add al, byte [rsp + 80] + WORD $0xc789 // mov edi, eax + QUAD $0x000000802484b60f // movzx eax, byte [rsp + 128] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x48 // movzx eax, byte [rsp + 72] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x58 // movzx eax, byte [rsp + 88] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x68 // movzx eax, byte [rsp + 104] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + QUAD $0x0000011024848b48 // mov rax, qword [rsp + 272] + WORD $0x1888 // mov byte [rax], bl + LONG $0x245cb60f; BYTE $0x40 // movzx ebx, byte [rsp + 64] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 + LONG $0x07e7c041 // shl r15b, 7 + WORD $0x0841; BYTE $0xdf // or r15b, bl + WORD $0x4888; BYTE $0x01 // mov byte [rax + 1], cl + WORD $0x0841; BYTE $0xff // or r15b, dil + LONG $0x244cb60f; BYTE $0x28 // movzx ecx, byte [rsp + 40] + WORD $0xc900 // add cl, cl + LONG $0x20244c02 // add cl, byte [rsp + 32] + WORD $0xcb89 // mov ebx, ecx + LONG $0x244cb60f; BYTE $0x30 // movzx ecx, byte [rsp + 48] + WORD $0xe1c0; BYTE $0x02 // shl cl, 2 + WORD $0xd908 // or cl, bl + WORD $0xcb89 // mov ebx, ecx + LONG $0x244cb60f; BYTE $0x38 // movzx ecx, byte [rsp + 56] + WORD $0xe1c0; BYTE $0x03 // shl cl, 3 + WORD $0xd908 // or cl, bl + WORD $0xcb89 // mov ebx, ecx + QUAD $0x00000120248cb60f // movzx ecx, byte [rsp + 288] + WORD $0xe1c0; BYTE $0x04 // shl cl, 4 + WORD $0xd908 // or cl, bl + WORD $0xcb89 // mov ebx, ecx + QUAD $0x00000140248cb60f // movzx ecx, byte [rsp + 320] + WORD $0xe1c0; BYTE $0x05 // shl cl, 5 + WORD $0xd908 // or cl, bl + LONG $0x245cb60f; BYTE $0x1c // movzx ebx, byte [rsp + 28] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 + WORD $0xe2c0; BYTE $0x07 // shl dl, 7 + WORD $0xda08 // or dl, bl + WORD $0xca08 // or dl, cl + LONG $0x02788844 // mov byte [rax + 2], r15b + WORD $0x5088; BYTE $0x03 // mov byte [rax + 3], dl + LONG $0x40c68348 // add rsi, 64 + LONG $0x04c08348 // add rax, 4 + QUAD $0x0000011024848948 // mov qword [rsp + 272], rax + QUAD $0x000000a824848348; BYTE $0xff // add qword [rsp + 168], -1 + JNE LBB4_54 + QUAD $0x0000011024b48b4c // mov r14, qword [rsp + 272] + QUAD $0x0000011824948b4c // mov r10, qword [rsp + 280] + QUAD $0x000000b024bc8b4c // mov r15, qword [rsp + 176] + LONG $0x05e7c149 // shl r15, 5 + WORD $0x394d; BYTE $0xd7 // cmp r15, r10 + JL LBB4_112 + JMP LBB4_165 + +LBB4_56: + LONG $0x2ab70f44 // movzx r13d, word [rdx] + LONG $0x1f7a8d4d // lea r15, [r10 + 31] + WORD $0x854d; BYTE $0xd2 // test r10, r10 + LONG $0xfa490f4d // cmovns r15, r10 + LONG $0x07418d41 // lea eax, [r9 + 7] + WORD $0x8545; BYTE $0xc9 // test r9d, r9d + LONG $0xc1490f41 // cmovns eax, r9d + WORD $0xe083; BYTE $0xf8 // and eax, -8 + WORD $0x2941; BYTE $0xc1 // sub r9d, eax + JE LBB4_60 + WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d + +LBB4_58: + LONG $0x2e394466 // cmp word [rsi], r13w + LONG $0x02768d48 // lea rsi, [rsi + 2] + WORD $0x950f; BYTE $0xd2 // setne dl + WORD $0xdaf6 // neg dl + LONG $0x07588d48 // lea rbx, [rax + 7] + WORD $0x8548; BYTE $0xc0 // test rax, rax + LONG $0xd8490f48 // cmovns rbx, rax + LONG $0x03fbc148 // sar rbx, 3 + LONG $0x04b60f45; BYTE $0x1b // movzx r8d, byte [r11 + rbx] + WORD $0x3044; BYTE $0xc2 // xor dl, r8b + LONG $0x00dd3c8d; WORD $0x0000; BYTE $0x00 // lea edi, [8*rbx] + WORD $0xc189 // mov ecx, eax + WORD $0xf929 // sub ecx, edi + LONG $0x000001bf; BYTE $0x00 // mov edi, 1 + WORD $0xe7d3 // shl edi, cl + WORD $0x2040; BYTE $0xd7 // and dil, dl + WORD $0x3044; BYTE $0xc7 // xor dil, r8b + LONG $0x1b3c8841 // mov byte [r11 + rbx], dil + LONG $0x01c08348 // add rax, 1 + LONG $0x08f88348 // cmp rax, 8 + JNE LBB4_58 + LONG $0x01c38349 // add r11, 1 + +LBB4_60: + LONG $0x05ffc149 // sar r15, 5 + LONG $0x20fa8349 // cmp r10, 32 + JL LBB4_115 + QUAD $0x000001182494894c // mov qword [rsp + 280], r10 + QUAD $0x000000b024bc894c // mov qword [rsp + 176], r15 + QUAD $0x000000a824bc894c // mov qword [rsp + 168], r15 + QUAD $0x00000110249c894c // mov qword [rsp + 272], r11 + +LBB4_62: + LONG $0x2e394466 // cmp word [rsi], r13w + QUAD $0x000000902494950f // setne byte [rsp + 144] + LONG $0x6e394466; BYTE $0x02 // cmp word [rsi + 2], r13w + LONG $0xd2950f41 // setne r10b + LONG $0x6e394466; BYTE $0x04 // cmp word [rsi + 4], r13w + LONG $0xd6950f41 // setne r14b + LONG $0x6e394466; BYTE $0x06 // cmp word [rsi + 6], r13w + QUAD $0x000000982494950f // setne byte [rsp + 152] + LONG $0x6e394466; BYTE $0x08 // cmp word [rsi + 8], r13w + QUAD $0x000000882494950f // setne byte [rsp + 136] + LONG $0x6e394466; BYTE $0x0a // cmp word [rsi + 10], r13w + LONG $0x2454950f; BYTE $0x60 // setne byte [rsp + 96] + LONG $0x6e394466; BYTE $0x0c // cmp word [rsi + 12], r13w + WORD $0x950f; BYTE $0xd0 // setne al + LONG $0x6e394466; BYTE $0x0e // cmp word [rsi + 14], r13w + WORD $0x950f; BYTE $0xd3 // setne bl + LONG $0x6e394466; BYTE $0x10 // cmp word [rsi + 16], r13w + QUAD $0x000000a02494950f // setne byte [rsp + 160] + LONG $0x6e394466; BYTE $0x12 // cmp word [rsi + 18], r13w + LONG $0xd7950f40 // setne dil + LONG $0x6e394466; BYTE $0x14 // cmp word [rsi + 20], r13w + LONG $0xd0950f41 // setne r8b + LONG $0x6e394466; BYTE $0x16 // cmp word [rsi + 22], r13w + LONG $0xd1950f41 // setne r9b + LONG $0x6e394466; BYTE $0x18 // cmp word [rsi + 24], r13w + LONG $0xd3950f41 // setne r11b + LONG $0x6e394466; BYTE $0x1a // cmp word [rsi + 26], r13w + LONG $0xd4950f41 // setne r12b + LONG $0x6e394466; BYTE $0x1c // cmp word [rsi + 28], r13w + LONG $0x2454950f; BYTE $0x70 // setne byte [rsp + 112] + LONG $0x6e394466; BYTE $0x1e // cmp word [rsi + 30], r13w + WORD $0x950f; BYTE $0xd1 // setne cl + LONG $0x6e394466; BYTE $0x20 // cmp word [rsi + 32], r13w + LONG $0x2454950f; BYTE $0x50 // setne byte [rsp + 80] + LONG $0x6e394466; BYTE $0x22 // cmp word [rsi + 34], r13w + LONG $0x2454950f; BYTE $0x78 // setne byte [rsp + 120] + LONG $0x6e394466; BYTE $0x24 // cmp word [rsi + 36], r13w + QUAD $0x000000802494950f // setne byte [rsp + 128] + LONG $0x6e394466; BYTE $0x26 // cmp word [rsi + 38], r13w + LONG $0x2454950f; BYTE $0x48 // setne byte [rsp + 72] + LONG $0x6e394466; BYTE $0x28 // cmp word [rsi + 40], r13w + LONG $0x2454950f; BYTE $0x58 // setne byte [rsp + 88] + LONG $0x6e394466; BYTE $0x2a // cmp word [rsi + 42], r13w + LONG $0x2454950f; BYTE $0x68 // setne byte [rsp + 104] + LONG $0x6e394466; BYTE $0x2c // cmp word [rsi + 44], r13w + LONG $0x2454950f; BYTE $0x40 // setne byte [rsp + 64] + LONG $0x6e394466; BYTE $0x2e // cmp word [rsi + 46], r13w + LONG $0xd7950f41 // setne r15b + LONG $0x6e394466; BYTE $0x30 // cmp word [rsi + 48], r13w + LONG $0x2454950f; BYTE $0x20 // setne byte [rsp + 32] + LONG $0x6e394466; BYTE $0x32 // cmp word [rsi + 50], r13w + LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] + LONG $0x6e394466; BYTE $0x34 // cmp word [rsi + 52], r13w + LONG $0x2454950f; BYTE $0x30 // setne byte [rsp + 48] + LONG $0x6e394466; BYTE $0x36 // cmp word [rsi + 54], r13w + LONG $0x2454950f; BYTE $0x38 // setne byte [rsp + 56] + LONG $0x6e394466; BYTE $0x38 // cmp word [rsi + 56], r13w + QUAD $0x000001202494950f // setne byte [rsp + 288] + LONG $0x6e394466; BYTE $0x3a // cmp word [rsi + 58], r13w + QUAD $0x000001402494950f // setne byte [rsp + 320] + LONG $0x6e394466; BYTE $0x3c // cmp word [rsi + 60], r13w + LONG $0x2454950f; BYTE $0x1c // setne byte [rsp + 28] + LONG $0x6e394466; BYTE $0x3e // cmp word [rsi + 62], r13w + WORD $0x950f; BYTE $0xd2 // setne dl + WORD $0x0045; BYTE $0xd2 // add r10b, r10b + QUAD $0x0000009024940244 // add r10b, byte [rsp + 144] + WORD $0xe0c0; BYTE $0x06 // shl al, 6 + WORD $0xe3c0; BYTE $0x07 // shl bl, 7 + WORD $0xc308 // or bl, al + LONG $0x02e6c041 // shl r14b, 2 + WORD $0x0845; BYTE $0xd6 // or r14b, r10b + WORD $0x0040; BYTE $0xff // add dil, dil + QUAD $0x000000a024bc0240 // add dil, byte [rsp + 160] + QUAD $0x000000982484b60f // movzx eax, byte [rsp + 152] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0x0844; BYTE $0xf0 // or al, r14b + WORD $0x8941; BYTE $0xc2 // mov r10d, eax + LONG $0x02e0c041 // shl r8b, 2 + WORD $0x0841; BYTE $0xf8 // or r8b, dil + QUAD $0x000000882484b60f // movzx eax, byte [rsp + 136] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0844; BYTE $0xd0 // or al, r10b + WORD $0xc789 // mov edi, eax + LONG $0x03e1c041 // shl r9b, 3 + WORD $0x0845; BYTE $0xc1 // or r9b, r8b + LONG $0x2444b60f; BYTE $0x60 // movzx eax, byte [rsp + 96] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0x0840; BYTE $0xf8 // or al, dil + LONG $0x04e3c041 // shl r11b, 4 + WORD $0x0845; BYTE $0xcb // or r11b, r9b + LONG $0x05e4c041 // shl r12b, 5 + WORD $0x0845; BYTE $0xdc // or r12b, r11b + LONG $0x247cb60f; BYTE $0x70 // movzx edi, byte [rsp + 112] + LONG $0x06e7c040 // shl dil, 6 + WORD $0xe1c0; BYTE $0x07 // shl cl, 7 + WORD $0x0840; BYTE $0xf9 // or cl, dil + WORD $0xc308 // or bl, al + WORD $0x0844; BYTE $0xe1 // or cl, r12b + LONG $0x2444b60f; BYTE $0x78 // movzx eax, byte [rsp + 120] + WORD $0xc000 // add al, al + LONG $0x50244402 // add al, byte [rsp + 80] + WORD $0xc789 // mov edi, eax + QUAD $0x000000802484b60f // movzx eax, byte [rsp + 128] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x48 // movzx eax, byte [rsp + 72] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x58 // movzx eax, byte [rsp + 88] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x68 // movzx eax, byte [rsp + 104] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + QUAD $0x0000011024848b48 // mov rax, qword [rsp + 272] + WORD $0x1888 // mov byte [rax], bl + LONG $0x245cb60f; BYTE $0x40 // movzx ebx, byte [rsp + 64] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 + LONG $0x07e7c041 // shl r15b, 7 + WORD $0x0841; BYTE $0xdf // or r15b, bl + WORD $0x4888; BYTE $0x01 // mov byte [rax + 1], cl + WORD $0x0841; BYTE $0xff // or r15b, dil + LONG $0x244cb60f; BYTE $0x28 // movzx ecx, byte [rsp + 40] + WORD $0xc900 // add cl, cl + LONG $0x20244c02 // add cl, byte [rsp + 32] + WORD $0xcb89 // mov ebx, ecx + LONG $0x244cb60f; BYTE $0x30 // movzx ecx, byte [rsp + 48] + WORD $0xe1c0; BYTE $0x02 // shl cl, 2 + WORD $0xd908 // or cl, bl + WORD $0xcb89 // mov ebx, ecx + LONG $0x244cb60f; BYTE $0x38 // movzx ecx, byte [rsp + 56] + WORD $0xe1c0; BYTE $0x03 // shl cl, 3 + WORD $0xd908 // or cl, bl + WORD $0xcb89 // mov ebx, ecx + QUAD $0x00000120248cb60f // movzx ecx, byte [rsp + 288] + WORD $0xe1c0; BYTE $0x04 // shl cl, 4 + WORD $0xd908 // or cl, bl + WORD $0xcb89 // mov ebx, ecx + QUAD $0x00000140248cb60f // movzx ecx, byte [rsp + 320] + WORD $0xe1c0; BYTE $0x05 // shl cl, 5 + WORD $0xd908 // or cl, bl + LONG $0x245cb60f; BYTE $0x1c // movzx ebx, byte [rsp + 28] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 + WORD $0xe2c0; BYTE $0x07 // shl dl, 7 + WORD $0xda08 // or dl, bl + WORD $0xca08 // or dl, cl + LONG $0x02788844 // mov byte [rax + 2], r15b + WORD $0x5088; BYTE $0x03 // mov byte [rax + 3], dl + LONG $0x40c68348 // add rsi, 64 + LONG $0x04c08348 // add rax, 4 + QUAD $0x0000011024848948 // mov qword [rsp + 272], rax + QUAD $0x000000a824848348; BYTE $0xff // add qword [rsp + 168], -1 JNE LBB4_62 - QUAD $0x0000011024b48b4c // mov r14, qword [rsp + 272] - QUAD $0x0000011824948b4c // mov r10, qword [rsp + 280] - QUAD $0x000000b024bc8b4c // mov r15, qword [rsp + 176] - LONG $0x05e7c149 // shl r15, 5 - WORD $0x394d; BYTE $0xd7 // cmp r15, r10 + QUAD $0x0000011024b48b4c // mov r14, qword [rsp + 272] + QUAD $0x0000011824948b4c // mov r10, qword [rsp + 280] + QUAD $0x000000b024bc8b4c // mov r15, qword [rsp + 176] + LONG $0x05e7c149 // shl r15, 5 + WORD $0x394d; BYTE $0xd7 // cmp r15, r10 JL LBB4_116 - JMP LBB4_159 + JMP LBB4_165 LBB4_64: WORD $0x8b4c; BYTE $0x2a // mov r13, qword [rdx] @@ -20846,7 +21781,7 @@ LBB4_70: WORD $0x394c; BYTE $0x2e // cmp qword [rsi], r13 QUAD $0x000000902494950f // setne byte [rsp + 144] LONG $0x086e394c // cmp qword [rsi + 8], r13 - LONG $0xd7950f40 // setne dil + LONG $0xd2950f41 // setne r10b LONG $0x106e394c // cmp qword [rsi + 16], r13 LONG $0xd6950f41 // setne r14b LONG $0x186e394c // cmp qword [rsi + 24], r13 @@ -20862,11 +21797,11 @@ LBB4_70: LONG $0x406e394c // cmp qword [rsi + 64], r13 QUAD $0x000000a02494950f // setne byte [rsp + 160] LONG $0x486e394c // cmp qword [rsi + 72], r13 - WORD $0x950f; BYTE $0xd2 // setne dl + LONG $0xd7950f40 // setne dil LONG $0x506e394c // cmp qword [rsi + 80], r13 - LONG $0xd1950f41 // setne r9b + LONG $0xd0950f41 // setne r8b LONG $0x586e394c // cmp qword [rsi + 88], r13 - LONG $0xd2950f41 // setne r10b + LONG $0xd1950f41 // setne r9b LONG $0x606e394c // cmp qword [rsi + 96], r13 LONG $0xd3950f41 // setne r11b LONG $0x686e394c // cmp qword [rsi + 104], r13 @@ -20906,276 +21841,68 @@ LBB4_70: LONG $0xf0ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 240], r13 LONG $0x2454950f; BYTE $0x1c // setne byte [rsp + 28] LONG $0xf8ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 248], r13 - LONG $0xd0950f41 // setne r8b - WORD $0x0040; BYTE $0xff // add dil, dil - QUAD $0x0000009024bc0240 // add dil, byte [rsp + 144] + WORD $0x950f; BYTE $0xd2 // setne dl + WORD $0x0045; BYTE $0xd2 // add r10b, r10b + QUAD $0x0000009024940244 // add r10b, byte [rsp + 144] WORD $0xe0c0; BYTE $0x06 // shl al, 6 WORD $0xe3c0; BYTE $0x07 // shl bl, 7 WORD $0xc308 // or bl, al LONG $0x02e6c041 // shl r14b, 2 - WORD $0x0841; BYTE $0xfe // or r14b, dil - WORD $0xd200 // add dl, dl - LONG $0xa0249402; WORD $0x0000; BYTE $0x00 // add dl, byte [rsp + 160] + WORD $0x0845; BYTE $0xd6 // or r14b, r10b + WORD $0x0040; BYTE $0xff // add dil, dil + QUAD $0x000000a024bc0240 // add dil, byte [rsp + 160] QUAD $0x000000982484b60f // movzx eax, byte [rsp + 152] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0x0844; BYTE $0xf0 // or al, r14b - LONG $0x02e1c041 // shl r9b, 2 - WORD $0x0841; BYTE $0xd1 // or r9b, dl - QUAD $0x000000882494b60f // movzx edx, byte [rsp + 136] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0xc208 // or dl, al - WORD $0xd789 // mov edi, edx - LONG $0x03e2c041 // shl r10b, 3 - WORD $0x0845; BYTE $0xca // or r10b, r9b - LONG $0x2454b60f; BYTE $0x60 // movzx edx, byte [rsp + 96] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xfa // or dl, dil + WORD $0x8941; BYTE $0xc2 // mov r10d, eax + LONG $0x02e0c041 // shl r8b, 2 + WORD $0x0841; BYTE $0xf8 // or r8b, dil + QUAD $0x000000882484b60f // movzx eax, byte [rsp + 136] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0844; BYTE $0xd0 // or al, r10b + WORD $0xc789 // mov edi, eax + LONG $0x03e1c041 // shl r9b, 3 + WORD $0x0845; BYTE $0xc1 // or r9b, r8b + LONG $0x2444b60f; BYTE $0x60 // movzx eax, byte [rsp + 96] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0x0840; BYTE $0xf8 // or al, dil LONG $0x04e3c041 // shl r11b, 4 - WORD $0x0845; BYTE $0xd3 // or r11b, r10b + WORD $0x0845; BYTE $0xcb // or r11b, r9b LONG $0x05e4c041 // shl r12b, 5 WORD $0x0845; BYTE $0xdc // or r12b, r11b LONG $0x247cb60f; BYTE $0x70 // movzx edi, byte [rsp + 112] LONG $0x06e7c040 // shl dil, 6 WORD $0xe1c0; BYTE $0x07 // shl cl, 7 WORD $0x0840; BYTE $0xf9 // or cl, dil - WORD $0xd308 // or bl, dl - WORD $0x0844; BYTE $0xe1 // or cl, r12b - LONG $0x2454b60f; BYTE $0x78 // movzx edx, byte [rsp + 120] - WORD $0xd200 // add dl, dl - LONG $0x50245402 // add dl, byte [rsp + 80] - WORD $0xd789 // mov edi, edx - QUAD $0x000000802494b60f // movzx edx, byte [rsp + 128] - WORD $0xe2c0; BYTE $0x02 // shl dl, 2 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x48 // movzx edx, byte [rsp + 72] - WORD $0xe2c0; BYTE $0x03 // shl dl, 3 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x58 // movzx edx, byte [rsp + 88] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x68 // movzx edx, byte [rsp + 104] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - QUAD $0x0000011024948b48 // mov rdx, qword [rsp + 272] - WORD $0x1a88 // mov byte [rdx], bl - LONG $0x245cb60f; BYTE $0x40 // movzx ebx, byte [rsp + 64] - WORD $0xe3c0; BYTE $0x06 // shl bl, 6 - LONG $0x07e7c041 // shl r15b, 7 - WORD $0x0841; BYTE $0xdf // or r15b, bl - WORD $0x4a88; BYTE $0x01 // mov byte [rdx + 1], cl - WORD $0x0841; BYTE $0xff // or r15b, dil - LONG $0x244cb60f; BYTE $0x28 // movzx ecx, byte [rsp + 40] - WORD $0xc900 // add cl, cl - LONG $0x20244c02 // add cl, byte [rsp + 32] - WORD $0xcb89 // mov ebx, ecx - LONG $0x244cb60f; BYTE $0x30 // movzx ecx, byte [rsp + 48] - WORD $0xe1c0; BYTE $0x02 // shl cl, 2 - WORD $0xd908 // or cl, bl - WORD $0xcb89 // mov ebx, ecx - LONG $0x244cb60f; BYTE $0x38 // movzx ecx, byte [rsp + 56] - WORD $0xe1c0; BYTE $0x03 // shl cl, 3 - WORD $0xd908 // or cl, bl - WORD $0xcb89 // mov ebx, ecx - QUAD $0x00000120248cb60f // movzx ecx, byte [rsp + 288] - WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0xd908 // or cl, bl - WORD $0xcb89 // mov ebx, ecx - QUAD $0x00000140248cb60f // movzx ecx, byte [rsp + 320] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0xd908 // or cl, bl - LONG $0x245cb60f; BYTE $0x1c // movzx ebx, byte [rsp + 28] - WORD $0xe3c0; BYTE $0x06 // shl bl, 6 - LONG $0x07e0c041 // shl r8b, 7 - WORD $0x0841; BYTE $0xd8 // or r8b, bl - WORD $0x0841; BYTE $0xc8 // or r8b, cl - LONG $0x027a8844 // mov byte [rdx + 2], r15b - LONG $0x03428844 // mov byte [rdx + 3], r8b - LONG $0x00c68148; WORD $0x0001; BYTE $0x00 // add rsi, 256 - LONG $0x04c28348 // add rdx, 4 - QUAD $0x0000011024948948 // mov qword [rsp + 272], rdx - QUAD $0x000000a824848348; BYTE $0xff // add qword [rsp + 168], -1 - JNE LBB4_70 - QUAD $0x0000011024b48b4c // mov r14, qword [rsp + 272] - QUAD $0x0000011824948b4c // mov r10, qword [rsp + 280] - QUAD $0x000000b024bc8b4c // mov r15, qword [rsp + 176] - LONG $0x05e7c149 // shl r15, 5 - WORD $0x394d; BYTE $0xd7 // cmp r15, r10 - JL LBB4_119 - JMP LBB4_159 - -LBB4_72: - LONG $0x1f7a8d4d // lea r15, [r10 + 31] - WORD $0x854d; BYTE $0xd2 // test r10, r10 - LONG $0xfa490f4d // cmovns r15, r10 - LONG $0x07418d41 // lea eax, [r9 + 7] - WORD $0x8545; BYTE $0xc9 // test r9d, r9d - LONG $0xc1490f41 // cmovns eax, r9d - WORD $0xe083; BYTE $0xf8 // and eax, -8 - LONG $0x0210fac5 // vmovss xmm0, dword [rdx] - WORD $0x2941; BYTE $0xc1 // sub r9d, eax - JE LBB4_76 - WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d - -LBB4_74: - LONG $0x062ef8c5 // vucomiss xmm0, dword [rsi] - LONG $0x04768d48 // lea rsi, [rsi + 4] - WORD $0x950f; BYTE $0xd2 // setne dl - WORD $0xdaf6 // neg dl - LONG $0x07788d48 // lea rdi, [rax + 7] - WORD $0x8548; BYTE $0xc0 // test rax, rax - LONG $0xf8490f48 // cmovns rdi, rax - LONG $0x03ffc148 // sar rdi, 3 - LONG $0x0cb60f45; BYTE $0x3b // movzx r9d, byte [r11 + rdi] - WORD $0x3044; BYTE $0xca // xor dl, r9b - QUAD $0x00000000fd048d44 // lea r8d, [8*rdi] - WORD $0xc189 // mov ecx, eax - WORD $0x2944; BYTE $0xc1 // sub ecx, r8d - LONG $0x000001bb; BYTE $0x00 // mov ebx, 1 - WORD $0xe3d3 // shl ebx, cl - WORD $0xd320 // and bl, dl - WORD $0x3044; BYTE $0xcb // xor bl, r9b - LONG $0x3b1c8841 // mov byte [r11 + rdi], bl - LONG $0x01c08348 // add rax, 1 - LONG $0x08f88348 // cmp rax, 8 - JNE LBB4_74 - LONG $0x01c38349 // add r11, 1 - -LBB4_76: - LONG $0x05ffc149 // sar r15, 5 - LONG $0x20fa8349 // cmp r10, 32 - JL LBB4_121 - QUAD $0x000001182494894c // mov qword [rsp + 280], r10 - QUAD $0x000000a824bc894c // mov qword [rsp + 168], r15 - QUAD $0x0000009024bc894c // mov qword [rsp + 144], r15 - QUAD $0x00000110249c894c // mov qword [rsp + 272], r11 - -LBB4_78: - LONG $0x062ef8c5 // vucomiss xmm0, dword [rsi] - QUAD $0x000000982494950f // setne byte [rsp + 152] - LONG $0x462ef8c5; BYTE $0x04 // vucomiss xmm0, dword [rsi + 4] - LONG $0xd1950f41 // setne r9b - LONG $0x462ef8c5; BYTE $0x08 // vucomiss xmm0, dword [rsi + 8] - LONG $0xd6950f41 // setne r14b - LONG $0x462ef8c5; BYTE $0x0c // vucomiss xmm0, dword [rsi + 12] - LONG $0xd5950f41 // setne r13b - LONG $0x462ef8c5; BYTE $0x10 // vucomiss xmm0, dword [rsi + 16] - QUAD $0x000000882494950f // setne byte [rsp + 136] - LONG $0x462ef8c5; BYTE $0x14 // vucomiss xmm0, dword [rsi + 20] - LONG $0x2454950f; BYTE $0x60 // setne byte [rsp + 96] - LONG $0x462ef8c5; BYTE $0x18 // vucomiss xmm0, dword [rsi + 24] - WORD $0x950f; BYTE $0xd0 // setne al - LONG $0x462ef8c5; BYTE $0x1c // vucomiss xmm0, dword [rsi + 28] - WORD $0x950f; BYTE $0xd3 // setne bl - LONG $0x462ef8c5; BYTE $0x20 // vucomiss xmm0, dword [rsi + 32] - LONG $0x2454950f; BYTE $0x70 // setne byte [rsp + 112] - LONG $0x462ef8c5; BYTE $0x24 // vucomiss xmm0, dword [rsi + 36] - WORD $0x950f; BYTE $0xd2 // setne dl - LONG $0x462ef8c5; BYTE $0x28 // vucomiss xmm0, dword [rsi + 40] - LONG $0xd7950f40 // setne dil - LONG $0x462ef8c5; BYTE $0x2c // vucomiss xmm0, dword [rsi + 44] - LONG $0xd2950f41 // setne r10b - LONG $0x462ef8c5; BYTE $0x30 // vucomiss xmm0, dword [rsi + 48] - LONG $0xd3950f41 // setne r11b - LONG $0x462ef8c5; BYTE $0x34 // vucomiss xmm0, dword [rsi + 52] - LONG $0xd4950f41 // setne r12b - LONG $0x462ef8c5; BYTE $0x38 // vucomiss xmm0, dword [rsi + 56] - LONG $0x2454950f; BYTE $0x78 // setne byte [rsp + 120] - LONG $0x462ef8c5; BYTE $0x3c // vucomiss xmm0, dword [rsi + 60] - WORD $0x950f; BYTE $0xd1 // setne cl - LONG $0x462ef8c5; BYTE $0x40 // vucomiss xmm0, dword [rsi + 64] - LONG $0x2454950f; BYTE $0x50 // setne byte [rsp + 80] - LONG $0x462ef8c5; BYTE $0x44 // vucomiss xmm0, dword [rsi + 68] - QUAD $0x000000a02494950f // setne byte [rsp + 160] - LONG $0x462ef8c5; BYTE $0x48 // vucomiss xmm0, dword [rsi + 72] - QUAD $0x000000802494950f // setne byte [rsp + 128] - LONG $0x462ef8c5; BYTE $0x4c // vucomiss xmm0, dword [rsi + 76] - LONG $0x2454950f; BYTE $0x48 // setne byte [rsp + 72] - LONG $0x462ef8c5; BYTE $0x50 // vucomiss xmm0, dword [rsi + 80] - LONG $0x2454950f; BYTE $0x58 // setne byte [rsp + 88] - LONG $0x462ef8c5; BYTE $0x54 // vucomiss xmm0, dword [rsi + 84] - LONG $0x2454950f; BYTE $0x68 // setne byte [rsp + 104] - LONG $0x462ef8c5; BYTE $0x58 // vucomiss xmm0, dword [rsi + 88] - LONG $0x2454950f; BYTE $0x40 // setne byte [rsp + 64] - LONG $0x462ef8c5; BYTE $0x5c // vucomiss xmm0, dword [rsi + 92] - LONG $0xd7950f41 // setne r15b - LONG $0x462ef8c5; BYTE $0x60 // vucomiss xmm0, dword [rsi + 96] - LONG $0x2454950f; BYTE $0x20 // setne byte [rsp + 32] - LONG $0x462ef8c5; BYTE $0x64 // vucomiss xmm0, dword [rsi + 100] - LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] - LONG $0x462ef8c5; BYTE $0x68 // vucomiss xmm0, dword [rsi + 104] - LONG $0x2454950f; BYTE $0x30 // setne byte [rsp + 48] - LONG $0x462ef8c5; BYTE $0x6c // vucomiss xmm0, dword [rsi + 108] - LONG $0x2454950f; BYTE $0x38 // setne byte [rsp + 56] - LONG $0x462ef8c5; BYTE $0x70 // vucomiss xmm0, dword [rsi + 112] - QUAD $0x000001202494950f // setne byte [rsp + 288] - LONG $0x462ef8c5; BYTE $0x74 // vucomiss xmm0, dword [rsi + 116] - QUAD $0x000001402494950f // setne byte [rsp + 320] - LONG $0x462ef8c5; BYTE $0x78 // vucomiss xmm0, dword [rsi + 120] - LONG $0x2454950f; BYTE $0x1c // setne byte [rsp + 28] - LONG $0x462ef8c5; BYTE $0x7c // vucomiss xmm0, dword [rsi + 124] - LONG $0xd0950f41 // setne r8b - WORD $0x0045; BYTE $0xc9 // add r9b, r9b - QUAD $0x00000098248c0244 // add r9b, byte [rsp + 152] - WORD $0xe0c0; BYTE $0x06 // shl al, 6 - WORD $0xe3c0; BYTE $0x07 // shl bl, 7 WORD $0xc308 // or bl, al - LONG $0x02e6c041 // shl r14b, 2 - WORD $0x0845; BYTE $0xce // or r14b, r9b - WORD $0xd200 // add dl, dl - LONG $0x70245402 // add dl, byte [rsp + 112] - LONG $0x03e5c041 // shl r13b, 3 - WORD $0x0845; BYTE $0xf5 // or r13b, r14b - LONG $0x02e7c040 // shl dil, 2 - WORD $0x0840; BYTE $0xd7 // or dil, dl - QUAD $0x000000882494b60f // movzx edx, byte [rsp + 136] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0x0844; BYTE $0xea // or dl, r13b - WORD $0x8941; BYTE $0xd1 // mov r9d, edx - LONG $0x03e2c041 // shl r10b, 3 - WORD $0x0841; BYTE $0xfa // or r10b, dil - LONG $0x2454b60f; BYTE $0x60 // movzx edx, byte [rsp + 96] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0844; BYTE $0xca // or dl, r9b - LONG $0x04e3c041 // shl r11b, 4 - WORD $0x0845; BYTE $0xd3 // or r11b, r10b - LONG $0x05e4c041 // shl r12b, 5 - WORD $0x0845; BYTE $0xdc // or r12b, r11b - LONG $0x247cb60f; BYTE $0x78 // movzx edi, byte [rsp + 120] - LONG $0x06e7c040 // shl dil, 6 - WORD $0xe1c0; BYTE $0x07 // shl cl, 7 - WORD $0x0840; BYTE $0xf9 // or cl, dil - WORD $0xd308 // or bl, dl WORD $0x0844; BYTE $0xe1 // or cl, r12b - QUAD $0x000000a02484b60f // movzx eax, byte [rsp + 160] + LONG $0x2444b60f; BYTE $0x78 // movzx eax, byte [rsp + 120] WORD $0xc000 // add al, al LONG $0x50244402 // add al, byte [rsp + 80] - QUAD $0x000000802494b60f // movzx edx, byte [rsp + 128] - WORD $0xe2c0; BYTE $0x02 // shl dl, 2 - WORD $0xc208 // or dl, al - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x48 // movzx edx, byte [rsp + 72] - WORD $0xe2c0; BYTE $0x03 // shl dl, 3 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x58 // movzx edx, byte [rsp + 88] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x68 // movzx edx, byte [rsp + 104] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - QUAD $0x0000011024948b48 // mov rdx, qword [rsp + 272] - WORD $0x1a88 // mov byte [rdx], bl + WORD $0xc789 // mov edi, eax + QUAD $0x000000802484b60f // movzx eax, byte [rsp + 128] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x48 // movzx eax, byte [rsp + 72] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x58 // movzx eax, byte [rsp + 88] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x68 // movzx eax, byte [rsp + 104] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + QUAD $0x0000011024848b48 // mov rax, qword [rsp + 272] + WORD $0x1888 // mov byte [rax], bl LONG $0x245cb60f; BYTE $0x40 // movzx ebx, byte [rsp + 64] WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e7c041 // shl r15b, 7 WORD $0x0841; BYTE $0xdf // or r15b, bl - WORD $0x4a88; BYTE $0x01 // mov byte [rdx + 1], cl + WORD $0x4888; BYTE $0x01 // mov byte [rax + 1], cl WORD $0x0841; BYTE $0xff // or r15b, dil LONG $0x244cb60f; BYTE $0x28 // movzx ecx, byte [rsp + 40] WORD $0xc900 // add cl, cl @@ -21198,23 +21925,319 @@ LBB4_78: WORD $0xd908 // or cl, bl LONG $0x245cb60f; BYTE $0x1c // movzx ebx, byte [rsp + 28] WORD $0xe3c0; BYTE $0x06 // shl bl, 6 + WORD $0xe2c0; BYTE $0x07 // shl dl, 7 + WORD $0xda08 // or dl, bl + WORD $0xca08 // or dl, cl + LONG $0x02788844 // mov byte [rax + 2], r15b + WORD $0x5088; BYTE $0x03 // mov byte [rax + 3], dl + LONG $0x00c68148; WORD $0x0001; BYTE $0x00 // add rsi, 256 + LONG $0x04c08348 // add rax, 4 + QUAD $0x0000011024848948 // mov qword [rsp + 272], rax + QUAD $0x000000a824848348; BYTE $0xff // add qword [rsp + 168], -1 + JNE LBB4_70 + QUAD $0x0000011024b48b4c // mov r14, qword [rsp + 272] + QUAD $0x0000011824948b4c // mov r10, qword [rsp + 280] + QUAD $0x000000b024bc8b4c // mov r15, qword [rsp + 176] + LONG $0x05e7c149 // shl r15, 5 + WORD $0x394d; BYTE $0xd7 // cmp r15, r10 + JL LBB4_119 + JMP LBB4_165 + +LBB4_72: + LONG $0x1f7a8d4d // lea r15, [r10 + 31] + WORD $0x854d; BYTE $0xd2 // test r10, r10 + LONG $0xfa490f4d // cmovns r15, r10 + LONG $0x07418d41 // lea eax, [r9 + 7] + WORD $0x8545; BYTE $0xc9 // test r9d, r9d + LONG $0xc1490f41 // cmovns eax, r9d + WORD $0xe083; BYTE $0xf8 // and eax, -8 + LONG $0x0210fac5 // vmovss xmm0, dword [rdx] + WORD $0x2941; BYTE $0xc1 // sub r9d, eax + JE LBB4_76 + WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d + +LBB4_74: + LONG $0x062ef8c5 // vucomiss xmm0, dword [rsi] + LONG $0x04768d48 // lea rsi, [rsi + 4] + WORD $0x9a0f; BYTE $0xd1 // setp cl + WORD $0x950f; BYTE $0xd2 // setne dl + WORD $0xca08 // or dl, cl + WORD $0xdaf6 // neg dl + LONG $0x07788d48 // lea rdi, [rax + 7] + WORD $0x8548; BYTE $0xc0 // test rax, rax + LONG $0xf8490f48 // cmovns rdi, rax + LONG $0x03ffc148 // sar rdi, 3 + LONG $0x0cb60f45; BYTE $0x3b // movzx r9d, byte [r11 + rdi] + WORD $0x3044; BYTE $0xca // xor dl, r9b + QUAD $0x00000000fd048d44 // lea r8d, [8*rdi] + WORD $0xc189 // mov ecx, eax + WORD $0x2944; BYTE $0xc1 // sub ecx, r8d + LONG $0x000001bb; BYTE $0x00 // mov ebx, 1 + WORD $0xe3d3 // shl ebx, cl + WORD $0xd320 // and bl, dl + WORD $0x3044; BYTE $0xcb // xor bl, r9b + LONG $0x3b1c8841 // mov byte [r11 + rdi], bl + LONG $0x01c08348 // add rax, 1 + LONG $0x08f88348 // cmp rax, 8 + JNE LBB4_74 + LONG $0x01c38349 // add r11, 1 + +LBB4_76: + LONG $0x05ffc149 // sar r15, 5 + LONG $0x20fa8349 // cmp r10, 32 + JL LBB4_121 + QUAD $0x000001182494894c // mov qword [rsp + 280], r10 + QUAD $0x000000b024bc894c // mov qword [rsp + 176], r15 + QUAD $0x000000a824bc894c // mov qword [rsp + 168], r15 + QUAD $0x00000110249c894c // mov qword [rsp + 272], r11 + +LBB4_78: + LONG $0x062ef8c5 // vucomiss xmm0, dword [rsi] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x20244c88 // mov byte [rsp + 32], cl + LONG $0x462ef8c5; BYTE $0x04 // vucomiss xmm0, dword [rsi + 4] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd3 // setne bl + WORD $0xc308 // or bl, al + LONG $0x462ef8c5; BYTE $0x08 // vucomiss xmm0, dword [rsi + 8] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd5950f41 // setne r13b + WORD $0x0841; BYTE $0xc5 // or r13b, al + LONG $0x462ef8c5; BYTE $0x0c // vucomiss xmm0, dword [rsi + 12] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x20248c88; WORD $0x0001; BYTE $0x00 // mov byte [rsp + 288], cl + LONG $0x462ef8c5; BYTE $0x10 // vucomiss xmm0, dword [rsi + 16] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x40248c88; WORD $0x0001; BYTE $0x00 // mov byte [rsp + 320], cl + LONG $0x462ef8c5; BYTE $0x14 // vucomiss xmm0, dword [rsi + 20] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd7950f40 // setne dil + WORD $0x0840; BYTE $0xc7 // or dil, al + LONG $0x462ef8c5; BYTE $0x18 // vucomiss xmm0, dword [rsi + 24] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x30244c88 // mov byte [rsp + 48], cl + LONG $0x462ef8c5; BYTE $0x1c // vucomiss xmm0, dword [rsi + 28] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x1c244c88 // mov byte [rsp + 28], cl + LONG $0x462ef8c5; BYTE $0x20 // vucomiss xmm0, dword [rsi + 32] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x38244c88 // mov byte [rsp + 56], cl + LONG $0x462ef8c5; BYTE $0x24 // vucomiss xmm0, dword [rsi + 36] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x28244c88 // mov byte [rsp + 40], cl + LONG $0x462ef8c5; BYTE $0x28 // vucomiss xmm0, dword [rsi + 40] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x40244c88 // mov byte [rsp + 64], cl + LONG $0x462ef8c5; BYTE $0x2c // vucomiss xmm0, dword [rsi + 44] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x68244c88 // mov byte [rsp + 104], cl + LONG $0x462ef8c5; BYTE $0x30 // vucomiss xmm0, dword [rsi + 48] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x60244c88 // mov byte [rsp + 96], cl + LONG $0x462ef8c5; BYTE $0x34 // vucomiss xmm0, dword [rsi + 52] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x58244c88 // mov byte [rsp + 88], cl + LONG $0x462ef8c5; BYTE $0x38 // vucomiss xmm0, dword [rsi + 56] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd2 // setne dl + WORD $0xc208 // or dl, al + LONG $0x462ef8c5; BYTE $0x3c // vucomiss xmm0, dword [rsi + 60] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x50244c88 // mov byte [rsp + 80], cl + LONG $0x462ef8c5; BYTE $0x40 // vucomiss xmm0, dword [rsi + 64] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x48244c88 // mov byte [rsp + 72], cl + LONG $0x462ef8c5; BYTE $0x44 // vucomiss xmm0, dword [rsi + 68] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x88248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 136], cl + LONG $0x462ef8c5; BYTE $0x48 // vucomiss xmm0, dword [rsi + 72] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x462ef8c5; BYTE $0x4c // vucomiss xmm0, dword [rsi + 76] + LONG $0xd09a0f41 // setp r8b + WORD $0x950f; BYTE $0xd0 // setne al + WORD $0x0844; BYTE $0xc0 // or al, r8b + LONG $0x80248488; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 128], al + LONG $0x462ef8c5; BYTE $0x50 // vucomiss xmm0, dword [rsi + 80] + LONG $0xd09a0f41 // setp r8b + WORD $0x950f; BYTE $0xd0 // setne al + WORD $0x0844; BYTE $0xc0 // or al, r8b + LONG $0x78244488 // mov byte [rsp + 120], al + LONG $0x462ef8c5; BYTE $0x54 // vucomiss xmm0, dword [rsi + 84] + LONG $0xd09a0f41 // setp r8b + WORD $0x950f; BYTE $0xd0 // setne al + WORD $0x0844; BYTE $0xc0 // or al, r8b + LONG $0xa0248488; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 160], al + LONG $0x462ef8c5; BYTE $0x58 // vucomiss xmm0, dword [rsi + 88] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd4950f41 // setne r12b + WORD $0x0841; BYTE $0xc4 // or r12b, al + LONG $0x462ef8c5; BYTE $0x5c // vucomiss xmm0, dword [rsi + 92] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd2950f41 // setne r10b + WORD $0x0841; BYTE $0xc2 // or r10b, al + LONG $0x462ef8c5; BYTE $0x60 // vucomiss xmm0, dword [rsi + 96] + LONG $0xd09a0f41 // setp r8b + WORD $0x950f; BYTE $0xd0 // setne al + WORD $0x0844; BYTE $0xc0 // or al, r8b + LONG $0x70244488 // mov byte [rsp + 112], al + LONG $0x462ef8c5; BYTE $0x64 // vucomiss xmm0, dword [rsi + 100] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd7950f41 // setne r15b + WORD $0x0841; BYTE $0xc7 // or r15b, al + LONG $0x462ef8c5; BYTE $0x68 // vucomiss xmm0, dword [rsi + 104] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd6950f41 // setne r14b + WORD $0x0841; BYTE $0xc6 // or r14b, al + LONG $0x462ef8c5; BYTE $0x6c // vucomiss xmm0, dword [rsi + 108] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd3950f41 // setne r11b + WORD $0x0841; BYTE $0xc3 // or r11b, al + LONG $0x462ef8c5; BYTE $0x70 // vucomiss xmm0, dword [rsi + 112] + LONG $0xd09a0f41 // setp r8b + WORD $0x950f; BYTE $0xd0 // setne al + WORD $0x0844; BYTE $0xc0 // or al, r8b + LONG $0x98248488; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 152], al + LONG $0x462ef8c5; BYTE $0x74 // vucomiss xmm0, dword [rsi + 116] + LONG $0xd09a0f41 // setp r8b + WORD $0x950f; BYTE $0xd0 // setne al + WORD $0x0844; BYTE $0xc0 // or al, r8b + LONG $0x90248488; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 144], al + LONG $0x462ef8c5; BYTE $0x78 // vucomiss xmm0, dword [rsi + 120] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd1950f41 // setne r9b + WORD $0x0841; BYTE $0xc1 // or r9b, al + LONG $0x462ef8c5; BYTE $0x7c // vucomiss xmm0, dword [rsi + 124] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd0950f41 // setne r8b + WORD $0x0841; BYTE $0xc0 // or r8b, al + WORD $0xdb00 // add bl, bl + LONG $0x20245c02 // add bl, byte [rsp + 32] + LONG $0x05e7c040 // shl dil, 5 + LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] + WORD $0xe0c0; BYTE $0x06 // shl al, 6 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x02e5c041 // shl r13b, 2 + WORD $0x0841; BYTE $0xdd // or r13b, bl + LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] + WORD $0xc000 // add al, al + LONG $0x38244402 // add al, byte [rsp + 56] + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x1c // movzx eax, byte [rsp + 28] + WORD $0xe0c0; BYTE $0x07 // shl al, 7 + WORD $0x0840; BYTE $0xf8 // or al, dil + LONG $0x1c244488 // mov byte [rsp + 28], al + LONG $0x2444b60f; BYTE $0x40 // movzx eax, byte [rsp + 64] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + QUAD $0x000001202484b60f // movzx eax, byte [rsp + 288] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0x0844; BYTE $0xe8 // or al, r13b + WORD $0x8941; BYTE $0xc5 // mov r13d, eax + LONG $0x2444b60f; BYTE $0x68 // movzx eax, byte [rsp + 104] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0xd808 // or al, bl + WORD $0xc789 // mov edi, eax + QUAD $0x000001402484b60f // movzx eax, byte [rsp + 320] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0844; BYTE $0xe8 // or al, r13b + LONG $0x245cb60f; BYTE $0x60 // movzx ebx, byte [rsp + 96] + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0x0840; BYTE $0xfb // or bl, dil + LONG $0x247cb60f; BYTE $0x58 // movzx edi, byte [rsp + 88] + LONG $0x05e7c040 // shl dil, 5 + WORD $0xe2c0; BYTE $0x06 // shl dl, 6 + WORD $0x0840; BYTE $0xfa // or dl, dil + LONG $0x6cb60f44; WORD $0x5024 // movzx r13d, byte [rsp + 80] + LONG $0x07e5c041 // shl r13b, 7 + WORD $0x0841; BYTE $0xd5 // or r13b, dl + QUAD $0x000000882494b60f // movzx edx, byte [rsp + 136] + WORD $0xd200 // add dl, dl + LONG $0x48245402 // add dl, byte [rsp + 72] + WORD $0xe1c0; BYTE $0x02 // shl cl, 2 + WORD $0xd108 // or cl, dl + QUAD $0x000000802494b60f // movzx edx, byte [rsp + 128] + WORD $0xe2c0; BYTE $0x03 // shl dl, 3 + WORD $0xca08 // or dl, cl + WORD $0xd189 // mov ecx, edx + LONG $0x2454b60f; BYTE $0x78 // movzx edx, byte [rsp + 120] + WORD $0xe2c0; BYTE $0x04 // shl dl, 4 + WORD $0xca08 // or dl, cl + LONG $0x244cb60f; BYTE $0x1c // movzx ecx, byte [rsp + 28] + WORD $0xc108 // or cl, al + QUAD $0x000000a02484b60f // movzx eax, byte [rsp + 160] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + LONG $0x06e4c041 // shl r12b, 6 + WORD $0x0841; BYTE $0xc4 // or r12b, al + WORD $0x0841; BYTE $0xdd // or r13b, bl + LONG $0x07e2c041 // shl r10b, 7 + WORD $0x0845; BYTE $0xe2 // or r10b, r12b + WORD $0x0841; BYTE $0xd2 // or r10b, dl + WORD $0x0045; BYTE $0xff // add r15b, r15b + LONG $0x247c0244; BYTE $0x70 // add r15b, byte [rsp + 112] + LONG $0x02e6c041 // shl r14b, 2 + WORD $0x0845; BYTE $0xfe // or r14b, r15b + LONG $0x03e3c041 // shl r11b, 3 + WORD $0x0845; BYTE $0xf3 // or r11b, r14b + QUAD $0x000000982484b60f // movzx eax, byte [rsp + 152] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0844; BYTE $0xd8 // or al, r11b + WORD $0xc389 // mov ebx, eax + QUAD $0x0000011024848b48 // mov rax, qword [rsp + 272] + WORD $0x0888 // mov byte [rax], cl + QUAD $0x000000902494b60f // movzx edx, byte [rsp + 144] + WORD $0xe2c0; BYTE $0x05 // shl dl, 5 + LONG $0x06e1c041 // shl r9b, 6 + WORD $0x0841; BYTE $0xd1 // or r9b, dl + LONG $0x01688844 // mov byte [rax + 1], r13b LONG $0x07e0c041 // shl r8b, 7 + WORD $0x0845; BYTE $0xc8 // or r8b, r9b WORD $0x0841; BYTE $0xd8 // or r8b, bl - WORD $0x0841; BYTE $0xc8 // or r8b, cl - LONG $0x027a8844 // mov byte [rdx + 2], r15b - LONG $0x03428844 // mov byte [rdx + 3], r8b + LONG $0x02508844 // mov byte [rax + 2], r10b + LONG $0x03408844 // mov byte [rax + 3], r8b LONG $0x80c68148; WORD $0x0000; BYTE $0x00 // add rsi, 128 - LONG $0x04c28348 // add rdx, 4 - QUAD $0x0000011024948948 // mov qword [rsp + 272], rdx - QUAD $0x0000009024848348; BYTE $0xff // add qword [rsp + 144], -1 + LONG $0x04c08348 // add rax, 4 + QUAD $0x0000011024848948 // mov qword [rsp + 272], rax + QUAD $0x000000a824848348; BYTE $0xff // add qword [rsp + 168], -1 JNE LBB4_78 QUAD $0x0000011024b48b4c // mov r14, qword [rsp + 272] QUAD $0x0000011824948b4c // mov r10, qword [rsp + 280] - QUAD $0x000000a824bc8b4c // mov r15, qword [rsp + 168] + QUAD $0x000000b024bc8b4c // mov r15, qword [rsp + 176] LONG $0x05e7c149 // shl r15, 5 WORD $0x394d; BYTE $0xd7 // cmp r15, r10 JL LBB4_122 - JMP LBB4_159 + JMP LBB4_165 LBB4_80: WORD $0x8a44; BYTE $0x32 // mov r14b, byte [rdx] @@ -21266,10 +22289,10 @@ LBB4_84: LONG $0x05e0c148 // shl rax, 5 WORD $0x0148; BYTE $0xf0 // add rax, rsi WORD $0x3949; BYTE $0xc3 // cmp r11, rax - JAE LBB4_168 + JAE LBB4_169 LONG $0xbb048d4b // lea rax, [r11 + 4*r15] WORD $0x3948; BYTE $0xc6 // cmp rsi, rax - JAE LBB4_168 + JAE LBB4_169 LBB4_88: WORD $0xc031 // xor eax, eax @@ -21499,7 +22522,7 @@ LBB4_98: WORD $0x3944; BYTE $0x2e // cmp dword [rsi], r13d QUAD $0x000000902494950f // setne byte [rsp + 144] LONG $0x046e3944 // cmp dword [rsi + 4], r13d - LONG $0xd7950f40 // setne dil + LONG $0xd2950f41 // setne r10b LONG $0x086e3944 // cmp dword [rsi + 8], r13d LONG $0xd6950f41 // setne r14b LONG $0x0c6e3944 // cmp dword [rsi + 12], r13d @@ -21515,11 +22538,11 @@ LBB4_98: LONG $0x206e3944 // cmp dword [rsi + 32], r13d QUAD $0x000000a02494950f // setne byte [rsp + 160] LONG $0x246e3944 // cmp dword [rsi + 36], r13d - WORD $0x950f; BYTE $0xd2 // setne dl + LONG $0xd7950f40 // setne dil LONG $0x286e3944 // cmp dword [rsi + 40], r13d - LONG $0xd1950f41 // setne r9b + LONG $0xd0950f41 // setne r8b LONG $0x2c6e3944 // cmp dword [rsi + 44], r13d - LONG $0xd2950f41 // setne r10b + LONG $0xd1950f41 // setne r9b LONG $0x306e3944 // cmp dword [rsi + 48], r13d LONG $0xd3950f41 // setne r11b LONG $0x346e3944 // cmp dword [rsi + 52], r13d @@ -21559,32 +22582,33 @@ LBB4_98: LONG $0x786e3944 // cmp dword [rsi + 120], r13d LONG $0x2454950f; BYTE $0x1c // setne byte [rsp + 28] LONG $0x7c6e3944 // cmp dword [rsi + 124], r13d - LONG $0xd0950f41 // setne r8b - WORD $0x0040; BYTE $0xff // add dil, dil - QUAD $0x0000009024bc0240 // add dil, byte [rsp + 144] + WORD $0x950f; BYTE $0xd2 // setne dl + WORD $0x0045; BYTE $0xd2 // add r10b, r10b + QUAD $0x0000009024940244 // add r10b, byte [rsp + 144] WORD $0xe0c0; BYTE $0x06 // shl al, 6 WORD $0xe3c0; BYTE $0x07 // shl bl, 7 WORD $0xc308 // or bl, al LONG $0x02e6c041 // shl r14b, 2 - WORD $0x0841; BYTE $0xfe // or r14b, dil - WORD $0xd200 // add dl, dl - LONG $0xa0249402; WORD $0x0000; BYTE $0x00 // add dl, byte [rsp + 160] + WORD $0x0845; BYTE $0xd6 // or r14b, r10b + WORD $0x0040; BYTE $0xff // add dil, dil + QUAD $0x000000a024bc0240 // add dil, byte [rsp + 160] QUAD $0x000000982484b60f // movzx eax, byte [rsp + 152] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0x0844; BYTE $0xf0 // or al, r14b - LONG $0x02e1c041 // shl r9b, 2 - WORD $0x0841; BYTE $0xd1 // or r9b, dl - QUAD $0x000000882494b60f // movzx edx, byte [rsp + 136] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0xc208 // or dl, al - WORD $0xd789 // mov edi, edx - LONG $0x03e2c041 // shl r10b, 3 - WORD $0x0845; BYTE $0xca // or r10b, r9b - LONG $0x2454b60f; BYTE $0x60 // movzx edx, byte [rsp + 96] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xfa // or dl, dil + WORD $0x8941; BYTE $0xc2 // mov r10d, eax + LONG $0x02e0c041 // shl r8b, 2 + WORD $0x0841; BYTE $0xf8 // or r8b, dil + QUAD $0x000000882484b60f // movzx eax, byte [rsp + 136] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0844; BYTE $0xd0 // or al, r10b + WORD $0xc789 // mov edi, eax + LONG $0x03e1c041 // shl r9b, 3 + WORD $0x0845; BYTE $0xc1 // or r9b, r8b + LONG $0x2444b60f; BYTE $0x60 // movzx eax, byte [rsp + 96] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0x0840; BYTE $0xf8 // or al, dil LONG $0x04e3c041 // shl r11b, 4 - WORD $0x0845; BYTE $0xd3 // or r11b, r10b + WORD $0x0845; BYTE $0xcb // or r11b, r9b LONG $0x05e4c041 // shl r12b, 5 WORD $0x0845; BYTE $0xdc // or r12b, r11b QUAD $0x00000110249c8b4c // mov r11, qword [rsp + 272] @@ -21592,60 +22616,60 @@ LBB4_98: LONG $0x06e7c040 // shl dil, 6 WORD $0xe1c0; BYTE $0x07 // shl cl, 7 WORD $0x0840; BYTE $0xf9 // or cl, dil - WORD $0xd308 // or bl, dl + WORD $0xc308 // or bl, al WORD $0x0844; BYTE $0xe1 // or cl, r12b - LONG $0x2454b60f; BYTE $0x78 // movzx edx, byte [rsp + 120] - WORD $0xd200 // add dl, dl - LONG $0x50245402 // add dl, byte [rsp + 80] - WORD $0xd789 // mov edi, edx - QUAD $0x000000802494b60f // movzx edx, byte [rsp + 128] - WORD $0xe2c0; BYTE $0x02 // shl dl, 2 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x48 // movzx edx, byte [rsp + 72] - WORD $0xe2c0; BYTE $0x03 // shl dl, 3 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x58 // movzx edx, byte [rsp + 88] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x68 // movzx edx, byte [rsp + 104] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xfa // or dl, dil + LONG $0x2444b60f; BYTE $0x78 // movzx eax, byte [rsp + 120] + WORD $0xc000 // add al, al + LONG $0x50244402 // add al, byte [rsp + 80] + WORD $0xc789 // mov edi, eax + QUAD $0x000000802484b60f // movzx eax, byte [rsp + 128] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x48 // movzx eax, byte [rsp + 72] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x58 // movzx eax, byte [rsp + 88] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x68 // movzx eax, byte [rsp + 104] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0x0840; BYTE $0xf8 // or al, dil WORD $0x8841; BYTE $0x1b // mov byte [r11], bl LONG $0x245cb60f; BYTE $0x40 // movzx ebx, byte [rsp + 64] WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e7c041 // shl r15b, 7 WORD $0x0841; BYTE $0xdf // or r15b, bl LONG $0x014b8841 // mov byte [r11 + 1], cl - WORD $0x0841; BYTE $0xd7 // or r15b, dl - LONG $0x244cb60f; BYTE $0x28 // movzx ecx, byte [rsp + 40] - WORD $0xc900 // add cl, cl - LONG $0x20244c02 // add cl, byte [rsp + 32] - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x30 // movzx ecx, byte [rsp + 48] - WORD $0xe1c0; BYTE $0x02 // shl cl, 2 - WORD $0xd108 // or cl, dl - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x38 // movzx ecx, byte [rsp + 56] - WORD $0xe1c0; BYTE $0x03 // shl cl, 3 - WORD $0xd108 // or cl, dl - WORD $0xca89 // mov edx, ecx - QUAD $0x00000120248cb60f // movzx ecx, byte [rsp + 288] - WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0xd108 // or cl, dl - WORD $0xca89 // mov edx, ecx - QUAD $0x00000140248cb60f // movzx ecx, byte [rsp + 320] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0xd108 // or cl, dl - LONG $0x2454b60f; BYTE $0x1c // movzx edx, byte [rsp + 28] - WORD $0xe2c0; BYTE $0x06 // shl dl, 6 - LONG $0x07e0c041 // shl r8b, 7 - WORD $0x0841; BYTE $0xd0 // or r8b, dl - WORD $0x0841; BYTE $0xc8 // or r8b, cl + WORD $0x0841; BYTE $0xc7 // or r15b, al + LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] + WORD $0xc000 // add al, al + LONG $0x20244402 // add al, byte [rsp + 32] + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x38 // movzx eax, byte [rsp + 56] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax + QUAD $0x000001202484b60f // movzx eax, byte [rsp + 288] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax + QUAD $0x000001402484b60f // movzx eax, byte [rsp + 320] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0xc808 // or al, cl + LONG $0x244cb60f; BYTE $0x1c // movzx ecx, byte [rsp + 28] + WORD $0xe1c0; BYTE $0x06 // shl cl, 6 + WORD $0xe2c0; BYTE $0x07 // shl dl, 7 + WORD $0xca08 // or dl, cl + WORD $0xc208 // or dl, al LONG $0x027b8845 // mov byte [r11 + 2], r15b - LONG $0x03438845 // mov byte [r11 + 3], r8b + LONG $0x03538841 // mov byte [r11 + 3], dl LONG $0x80c68148; WORD $0x0000; BYTE $0x00 // add rsi, 128 LONG $0x04c38349 // add r11, 4 QUAD $0x000000a824848348; BYTE $0xff // add qword [rsp + 168], -1 @@ -21656,13 +22680,13 @@ LBB4_98: LONG $0x05e7c149 // shl r15, 5 WORD $0x394d; BYTE $0xd7 // cmp r15, r10 JL LBB4_129 - JMP LBB4_159 + JMP LBB4_165 LBB4_100: WORD $0x894d; BYTE $0xde // mov r14, r11 LONG $0x05e7c149 // shl r15, 5 WORD $0x394d; BYTE $0xd7 // cmp r15, r10 - JGE LBB4_159 + JGE LBB4_165 LBB4_101: WORD $0x894d; BYTE $0xd0 // mov r8, r10 @@ -21704,13 +22728,13 @@ LBB4_103: LONG $0x3f148841 // mov byte [r15 + rdi], dl WORD $0x394d; BYTE $0xda // cmp r10, r11 JNE LBB4_103 - JMP LBB4_156 + JMP LBB4_157 LBB4_104: WORD $0x894d; BYTE $0xde // mov r14, r11 LONG $0x05e7c149 // shl r15, 5 WORD $0x394d; BYTE $0xd7 // cmp r15, r10 - JGE LBB4_159 + JGE LBB4_165 LBB4_105: WORD $0x894d; BYTE $0xd0 // mov r8, r10 @@ -21725,7 +22749,7 @@ LBB4_107: WORD $0x894d; BYTE $0xde // mov r14, r11 LONG $0x05e7c149 // shl r15, 5 WORD $0x394d; BYTE $0xd7 // cmp r15, r10 - JGE LBB4_159 + JGE LBB4_165 LBB4_108: WORD $0x894d; BYTE $0xd0 // mov r8, r10 @@ -21773,7 +22797,7 @@ LBB4_111: WORD $0x894d; BYTE $0xde // mov r14, r11 LONG $0x05e7c149 // shl r15, 5 WORD $0x394d; BYTE $0xd7 // cmp r15, r10 - JGE LBB4_159 + JGE LBB4_165 LBB4_112: WORD $0x894d; BYTE $0xd0 // mov r8, r10 @@ -21821,7 +22845,7 @@ LBB4_115: WORD $0x894d; BYTE $0xde // mov r14, r11 LONG $0x05e7c149 // shl r15, 5 WORD $0x394d; BYTE $0xd7 // cmp r15, r10 - JGE LBB4_159 + JGE LBB4_165 LBB4_116: WORD $0x894d; BYTE $0xd0 // mov r8, r10 @@ -21838,7 +22862,7 @@ LBB4_118: WORD $0x894d; BYTE $0xde // mov r14, r11 LONG $0x05e7c149 // shl r15, 5 WORD $0x394d; BYTE $0xd7 // cmp r15, r10 - JGE LBB4_159 + JGE LBB4_165 LBB4_119: WORD $0x894d; BYTE $0xd0 // mov r8, r10 @@ -21855,7 +22879,7 @@ LBB4_121: WORD $0x894d; BYTE $0xde // mov r14, r11 LONG $0x05e7c149 // shl r15, 5 WORD $0x394d; BYTE $0xd7 // cmp r15, r10 - JGE LBB4_159 + JGE LBB4_165 LBB4_122: WORD $0x894d; BYTE $0xd0 // mov r8, r10 @@ -21873,7 +22897,7 @@ LBB4_124: LBB4_125: LONG $0x05e7c149 // shl r15, 5 WORD $0x394d; BYTE $0xd7 // cmp r15, r10 - JGE LBB4_159 + JGE LBB4_165 WORD $0x894d; BYTE $0xd0 // mov r8, r10 WORD $0x294d; BYTE $0xf8 // sub r8, r15 WORD $0xf749; BYTE $0xd7 // not r15 @@ -21884,7 +22908,7 @@ LBB4_125: WORD $0xf631 // xor esi, esi QUAD $0x00000178249c8b4c // mov r11, qword [rsp + 376] -LBB4_153: +LBB4_154: LONG $0x34343845 // cmp byte [r12 + rsi], r14b WORD $0x950f; BYTE $0xd3 // setne bl WORD $0xdbf6 // neg bl @@ -21911,25 +22935,25 @@ LBB4_153: WORD $0xd030 // xor al, dl LONG $0x3b048841 // mov byte [r11 + rdi], al WORD $0x3949; BYTE $0xf2 // cmp r10, rsi - JNE LBB4_153 + JNE LBB4_154 JMP LBB4_162 LBB4_128: WORD $0x894d; BYTE $0xde // mov r14, r11 LONG $0x05e7c149 // shl r15, 5 WORD $0x394d; BYTE $0xd7 // cmp r15, r10 - JGE LBB4_159 + JGE LBB4_165 LBB4_129: WORD $0x894d; BYTE $0xd0 // mov r8, r10 WORD $0x294d; BYTE $0xf8 // sub r8, r15 WORD $0xf749; BYTE $0xd7 // not r15 WORD $0x014d; BYTE $0xd7 // add r15, r10 - JNE LBB4_154 + JNE LBB4_155 LBB4_130: WORD $0x3145; BYTE $0xdb // xor r11d, r11d - JMP LBB4_156 + JMP LBB4_157 LBB4_131: WORD $0x894d; BYTE $0xdd // mov r13, r11 @@ -21944,7 +22968,7 @@ LBB4_132: LBB4_133: LONG $0x05e7c149 // shl r15, 5 WORD $0x394d; BYTE $0xd7 // cmp r15, r10 - JGE LBB4_159 + JGE LBB4_165 WORD $0x894d; BYTE $0xd0 // mov r8, r10 WORD $0x294d; BYTE $0xf8 // sub r8, r15 WORD $0xf749; BYTE $0xd7 // not r15 @@ -21956,30 +22980,34 @@ LBB4_127: JMP LBB4_163 LBB4_136: - WORD $0x894d; BYTE $0xc2 // mov r10, r8 - LONG $0xfee28349 // and r10, -2 + WORD $0x894d; BYTE $0xc1 // mov r9, r8 + LONG $0xfee18349 // and r9, -2 WORD $0x3145; BYTE $0xdb // xor r11d, r11d WORD $0x894d; BYTE $0xf7 // mov r15, r14 LBB4_137: LONG $0x062ef9c5 // vucomisd xmm0, qword [rsi] + WORD $0x9a0f; BYTE $0xd1 // setp cl WORD $0x950f; BYTE $0xd0 // setne al + WORD $0xc808 // or al, cl WORD $0xd8f6 // neg al WORD $0x894c; BYTE $0xdf // mov rdi, r11 LONG $0x03efc148 // shr rdi, 3 - LONG $0x0cb60f45; BYTE $0x3f // movzx r9d, byte [r15 + rdi] - WORD $0x3044; BYTE $0xc8 // xor al, r9b + LONG $0x14b60f45; BYTE $0x3f // movzx r10d, byte [r15 + rdi] WORD $0x8944; BYTE $0xd9 // mov ecx, r11d WORD $0xe180; BYTE $0x06 // and cl, 6 WORD $0x01b3 // mov bl, 1 WORD $0xe3d2 // shl bl, cl + WORD $0x3044; BYTE $0xd0 // xor al, r10b WORD $0xc320 // and bl, al - WORD $0x3044; BYTE $0xcb // xor bl, r9b + WORD $0x3044; BYTE $0xd3 // xor bl, r10b LONG $0x3f1c8841 // mov byte [r15 + rdi], bl LONG $0x02c38349 // add r11, 2 LONG $0x462ef9c5; BYTE $0x08 // vucomisd xmm0, qword [rsi + 8] LONG $0x10768d48 // lea rsi, [rsi + 16] + LONG $0xd29a0f41 // setp r10b WORD $0x950f; BYTE $0xd0 // setne al + WORD $0x0844; BYTE $0xd0 // or al, r10b WORD $0xd8f6 // neg al WORD $0xd830 // xor al, bl WORD $0xc980; BYTE $0x01 // or cl, 1 @@ -21988,14 +23016,14 @@ LBB4_137: WORD $0xc220 // and dl, al WORD $0xda30 // xor dl, bl LONG $0x3f148841 // mov byte [r15 + rdi], dl - WORD $0x394d; BYTE $0xda // cmp r10, r11 + WORD $0x394d; BYTE $0xd9 // cmp r9, r11 JNE LBB4_137 LBB4_138: LONG $0x01c0f641 // test r8b, 1 - JE LBB4_159 + JE LBB4_165 LONG $0x062ef9c5 // vucomisd xmm0, qword [rsi] - JMP LBB4_158 + JMP LBB4_152 LBB4_140: WORD $0x894d; BYTE $0xc2 // mov r10, r8 @@ -22035,9 +23063,9 @@ LBB4_141: LBB4_142: LONG $0x01c0f641 // test r8b, 1 - JE LBB4_159 + JE LBB4_165 LONG $0x2e394466 // cmp word [rsi], r13w - JMP LBB4_158 + JMP LBB4_159 LBB4_144: WORD $0x894d; BYTE $0xc2 // mov r10, r8 @@ -22077,35 +23105,39 @@ LBB4_145: LBB4_146: LONG $0x01c0f641 // test r8b, 1 - JE LBB4_159 + JE LBB4_165 WORD $0x394c; BYTE $0x2e // cmp qword [rsi], r13 - JMP LBB4_158 + JMP LBB4_159 LBB4_148: - WORD $0x894d; BYTE $0xc2 // mov r10, r8 - LONG $0xfee28349 // and r10, -2 + WORD $0x894d; BYTE $0xc1 // mov r9, r8 + LONG $0xfee18349 // and r9, -2 WORD $0x3145; BYTE $0xdb // xor r11d, r11d WORD $0x894d; BYTE $0xf7 // mov r15, r14 LBB4_149: LONG $0x062ef8c5 // vucomiss xmm0, dword [rsi] + WORD $0x9a0f; BYTE $0xd1 // setp cl WORD $0x950f; BYTE $0xd0 // setne al + WORD $0xc808 // or al, cl WORD $0xd8f6 // neg al WORD $0x894c; BYTE $0xdf // mov rdi, r11 LONG $0x03efc148 // shr rdi, 3 - LONG $0x0cb60f45; BYTE $0x3f // movzx r9d, byte [r15 + rdi] - WORD $0x3044; BYTE $0xc8 // xor al, r9b + LONG $0x14b60f45; BYTE $0x3f // movzx r10d, byte [r15 + rdi] WORD $0x8944; BYTE $0xd9 // mov ecx, r11d WORD $0xe180; BYTE $0x06 // and cl, 6 WORD $0x01b3 // mov bl, 1 WORD $0xe3d2 // shl bl, cl + WORD $0x3044; BYTE $0xd0 // xor al, r10b WORD $0xc320 // and bl, al - WORD $0x3044; BYTE $0xcb // xor bl, r9b + WORD $0x3044; BYTE $0xd3 // xor bl, r10b LONG $0x3f1c8841 // mov byte [r15 + rdi], bl LONG $0x02c38349 // add r11, 2 LONG $0x462ef8c5; BYTE $0x04 // vucomiss xmm0, dword [rsi + 4] LONG $0x08768d48 // lea rsi, [rsi + 8] + LONG $0xd29a0f41 // setp r10b WORD $0x950f; BYTE $0xd0 // setne al + WORD $0x0844; BYTE $0xd0 // or al, r10b WORD $0xd8f6 // neg al WORD $0xd830 // xor al, bl WORD $0xc980; BYTE $0x01 // or cl, 1 @@ -22114,22 +23146,39 @@ LBB4_149: WORD $0xc220 // and dl, al WORD $0xda30 // xor dl, bl LONG $0x3f148841 // mov byte [r15 + rdi], dl - WORD $0x394d; BYTE $0xda // cmp r10, r11 + WORD $0x394d; BYTE $0xd9 // cmp r9, r11 JNE LBB4_149 LBB4_150: LONG $0x01c0f641 // test r8b, 1 - JE LBB4_159 + JE LBB4_165 LONG $0x062ef8c5 // vucomiss xmm0, dword [rsi] - JMP LBB4_158 -LBB4_154: +LBB4_152: + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd2 // setne dl + WORD $0xc208 // or dl, al + WORD $0xdaf6 // neg dl + WORD $0x894c; BYTE $0xd8 // mov rax, r11 + LONG $0x03e8c148 // shr rax, 3 + LONG $0x06348a41 // mov sil, byte [r14 + rax] + LONG $0x07e38041 // and r11b, 7 + WORD $0x01b3 // mov bl, 1 + WORD $0x8944; BYTE $0xd9 // mov ecx, r11d + WORD $0xe3d2 // shl bl, cl + WORD $0x3040; BYTE $0xf2 // xor dl, sil + WORD $0xd320 // and bl, dl + WORD $0x3040; BYTE $0xf3 // xor bl, sil + LONG $0x061c8841 // mov byte [r14 + rax], bl + JMP LBB4_165 + +LBB4_155: WORD $0x894d; BYTE $0xc2 // mov r10, r8 LONG $0xfee28349 // and r10, -2 WORD $0x3145; BYTE $0xdb // xor r11d, r11d WORD $0x894d; BYTE $0xf7 // mov r15, r14 -LBB4_155: +LBB4_156: WORD $0x3944; BYTE $0x2e // cmp dword [rsi], r13d WORD $0x950f; BYTE $0xd0 // setne al WORD $0xd8f6 // neg al @@ -22157,14 +23206,14 @@ LBB4_155: WORD $0xda30 // xor dl, bl LONG $0x3f148841 // mov byte [r15 + rdi], dl WORD $0x394d; BYTE $0xda // cmp r10, r11 - JNE LBB4_155 + JNE LBB4_156 -LBB4_156: +LBB4_157: LONG $0x01c0f641 // test r8b, 1 - JE LBB4_159 + JE LBB4_165 WORD $0x3944; BYTE $0x2e // cmp dword [rsi], r13d -LBB4_158: +LBB4_159: WORD $0x950f; BYTE $0xd0 // setne al WORD $0xd8f6 // neg al WORD $0x894c; BYTE $0xda // mov rdx, r11 @@ -22178,11 +23227,7 @@ LBB4_158: WORD $0xc320 // and bl, al WORD $0x3040; BYTE $0xf3 // xor bl, sil LONG $0x161c8841 // mov byte [r14 + rdx], bl - -LBB4_159: - MOVQ 1280(SP), SP - VZEROUPPER - RET + JMP LBB4_165 LBB4_160: WORD $0x894d; BYTE $0xc2 // mov r10, r8 @@ -22224,7 +23269,7 @@ LBB4_162: LBB4_163: LONG $0x01c0f641 // test r8b, 1 - JE LBB4_159 + JE LBB4_165 LONG $0x24343845 // cmp byte [r12], r14b WORD $0x950f; BYTE $0xd0 // setne al WORD $0xd8f6 // neg al @@ -22240,9 +23285,13 @@ LBB4_163: WORD $0xc320 // and bl, al WORD $0x3040; BYTE $0xfb // xor bl, dil LONG $0x101c8841 // mov byte [r8 + rdx], bl - JMP LBB4_159 LBB4_165: + MOVQ 1280(SP), SP + VZEROUPPER + RET + +LBB4_166: LONG $0xe0e78349 // and r15, -32 WORD $0x894c; BYTE $0xf8 // mov rax, r15 LONG $0x05e0c148 // shl rax, 5 @@ -22258,7 +23307,7 @@ LBB4_165: WORD $0xc031 // xor eax, eax QUAD $0x0000011024ac894c // mov qword [rsp + 272], r13 -LBB4_166: +LBB4_167: WORD $0x8948; BYTE $0xc3 // mov rbx, rax QUAD $0x0000019824848948 // mov qword [rsp + 408], rax LONG $0x05e3c148 // shl rbx, 5 @@ -24350,7 +25399,7 @@ LBB4_166: LONG $0x20c18348 // add rcx, 32 WORD $0x8948; BYTE $0xc8 // mov rax, rcx QUAD $0x00000180248c3b48 // cmp rcx, qword [rsp + 384] - JNE LBB4_166 + JNE LBB4_167 QUAD $0x0000018824bc8b4c // mov r15, qword [rsp + 392] QUAD $0x0000018024bc3b4c // cmp r15, qword [rsp + 384] QUAD $0x0000011824948b4c // mov r10, qword [rsp + 280] @@ -24359,7 +25408,7 @@ LBB4_166: JNE LBB4_35 JMP LBB4_133 -LBB4_168: +LBB4_169: LONG $0xe0e78349 // and r15, -32 WORD $0x894c; BYTE $0xf8 // mov rax, r15 LONG $0x05e0c148 // shl rax, 5 @@ -24374,7 +25423,7 @@ LBB4_168: WORD $0xc031 // xor eax, eax QUAD $0x00000110249c894c // mov qword [rsp + 272], r11 -LBB4_169: +LBB4_170: WORD $0x8948; BYTE $0xc3 // mov rbx, rax QUAD $0x0000019824848948 // mov qword [rsp + 408], rax LONG $0x05e3c148 // shl rbx, 5 @@ -26471,7 +27520,7 @@ LBB4_169: LONG $0x20c18348 // add rcx, 32 WORD $0x8948; BYTE $0xc8 // mov rax, rcx QUAD $0x00000180248c3b48 // cmp rcx, qword [rsp + 384] - JNE LBB4_169 + JNE LBB4_170 QUAD $0x0000018824bc8b4c // mov r15, qword [rsp + 392] QUAD $0x0000018024bc3b4c // cmp r15, qword [rsp + 384] QUAD $0x0000011824948b4c // mov r10, qword [rsp + 280] @@ -26525,17 +27574,17 @@ TEXT ·_comparison_not_equal_scalar_arr_avx2(SB), $1320-48 LEAQ LCDATA4<>(SB), BP WORD $0x894d; BYTE $0xc2 // mov r10, r8 - WORD $0x8949; BYTE $0xcf // mov r15, rcx + WORD $0x8949; BYTE $0xcd // mov r13, rcx WORD $0xff83; BYTE $0x06 // cmp edi, 6 JG LBB5_17 WORD $0xff83; BYTE $0x03 // cmp edi, 3 JLE LBB5_32 WORD $0xff83; BYTE $0x04 // cmp edi, 4 - JE LBB5_60 + JE LBB5_63 WORD $0xff83; BYTE $0x05 // cmp edi, 5 - JE LBB5_72 + JE LBB5_75 WORD $0xff83; BYTE $0x06 // cmp edi, 6 - JNE LBB5_157 + JNE LBB5_164 WORD $0x8b44; BYTE $0x36 // mov r14d, dword [rsi] LONG $0x1f5a8d4d // lea r11, [r10 + 31] WORD $0x854d; BYTE $0xd2 // test r10, r10 @@ -26557,7 +27606,8 @@ LBB5_7: WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xf0490f48 // cmovns rsi, rax LONG $0x03fec148 // sar rsi, 3 - LONG $0x04b60f45; BYTE $0x37 // movzx r8d, byte [r15 + rsi] + WORD $0x894d; BYTE $0xe9 // mov r9, r13 + LONG $0x44b60f45; WORD $0x0035 // movzx r8d, byte [r13 + rsi] WORD $0x3044; BYTE $0xc3 // xor bl, r8b LONG $0x00f53c8d; WORD $0x0000; BYTE $0x00 // lea edi, [8*rsi] WORD $0xc189 // mov ecx, eax @@ -26566,22 +27616,22 @@ LBB5_7: WORD $0xe7d3 // shl edi, cl WORD $0x2040; BYTE $0xdf // and dil, bl WORD $0x3044; BYTE $0xc7 // xor dil, r8b - LONG $0x373c8841 // mov byte [r15 + rsi], dil + LONG $0x357c8841; BYTE $0x00 // mov byte [r13 + rsi], dil LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 JNE LBB5_7 - LONG $0x01c78349 // add r15, 1 + LONG $0x01c58349 // add r13, 1 LBB5_9: LONG $0x05fbc149 // sar r11, 5 LONG $0x20fa8349 // cmp r10, 32 JL LBB5_13 QUAD $0x000001182494894c // mov qword [rsp + 280], r10 - QUAD $0x000000b0249c894c // mov qword [rsp + 176], r11 QUAD $0x000000a0249c894c // mov qword [rsp + 160], r11 + QUAD $0x000000a8249c894c // mov qword [rsp + 168], r11 LBB5_11: - QUAD $0x0000011024bc894c // mov qword [rsp + 272], r15 + QUAD $0x0000011024ac894c // mov qword [rsp + 272], r13 LONG $0x7c723b44 // cmp r14d, dword [rdx + 124] LONG $0x2454950f; BYTE $0x1c // setne byte [rsp + 28] LONG $0x78723b44 // cmp r14d, dword [rdx + 120] @@ -26591,31 +27641,31 @@ LBB5_11: LONG $0x70723b44 // cmp r14d, dword [rdx + 112] LONG $0x2454950f; BYTE $0x20 // setne byte [rsp + 32] LONG $0x6c723b44 // cmp r14d, dword [rdx + 108] - LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] - LONG $0x68723b44 // cmp r14d, dword [rdx + 104] LONG $0x2454950f; BYTE $0x38 // setne byte [rsp + 56] - LONG $0x64723b44 // cmp r14d, dword [rdx + 100] + LONG $0x68723b44 // cmp r14d, dword [rdx + 104] LONG $0x2454950f; BYTE $0x30 // setne byte [rsp + 48] + LONG $0x64723b44 // cmp r14d, dword [rdx + 100] + LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] LONG $0x5c723b44 // cmp r14d, dword [rdx + 92] LONG $0x2454950f; BYTE $0x48 // setne byte [rsp + 72] LONG $0x58723b44 // cmp r14d, dword [rdx + 88] LONG $0x2454950f; BYTE $0x40 // setne byte [rsp + 64] LONG $0x54723b44 // cmp r14d, dword [rdx + 84] - LONG $0x2454950f; BYTE $0x68 // setne byte [rsp + 104] - LONG $0x50723b44 // cmp r14d, dword [rdx + 80] LONG $0x2454950f; BYTE $0x60 // setne byte [rsp + 96] - LONG $0x4c723b44 // cmp r14d, dword [rdx + 76] + LONG $0x50723b44 // cmp r14d, dword [rdx + 80] LONG $0x2454950f; BYTE $0x58 // setne byte [rsp + 88] - LONG $0x48723b44 // cmp r14d, dword [rdx + 72] + LONG $0x4c723b44 // cmp r14d, dword [rdx + 76] LONG $0x2454950f; BYTE $0x50 // setne byte [rsp + 80] - LONG $0x44723b44 // cmp r14d, dword [rdx + 68] + LONG $0x48723b44 // cmp r14d, dword [rdx + 72] QUAD $0x000000902494950f // setne byte [rsp + 144] + LONG $0x44723b44 // cmp r14d, dword [rdx + 68] + QUAD $0x000000882494950f // setne byte [rsp + 136] LONG $0x3c723b44 // cmp r14d, dword [rdx + 60] LONG $0xd0950f41 // setne r8b LONG $0x38723b44 // cmp r14d, dword [rdx + 56] - QUAD $0x000000802494950f // setne byte [rsp + 128] - LONG $0x34723b44 // cmp r14d, dword [rdx + 52] LONG $0x2454950f; BYTE $0x78 // setne byte [rsp + 120] + LONG $0x34723b44 // cmp r14d, dword [rdx + 52] + LONG $0x2454950f; BYTE $0x70 // setne byte [rsp + 112] LONG $0x30723b44 // cmp r14d, dword [rdx + 48] LONG $0xd3950f41 // setne r11b LONG $0x2c723b44 // cmp r14d, dword [rdx + 44] @@ -26633,28 +27683,28 @@ LBB5_11: LONG $0x10723b44 // cmp r14d, dword [rdx + 16] WORD $0x950f; BYTE $0xd1 // setne cl LONG $0x0c723b44 // cmp r14d, dword [rdx + 12] - LONG $0xd5950f41 // setne r13b - LONG $0x08723b44 // cmp r14d, dword [rdx + 8] LONG $0xd4950f41 // setne r12b + LONG $0x08723b44 // cmp r14d, dword [rdx + 8] + LONG $0xd5950f41 // setne r13b WORD $0x3b44; BYTE $0x32 // cmp r14d, dword [rdx] - QUAD $0x000000a82494950f // setne byte [rsp + 168] + QUAD $0x000000b02494950f // setne byte [rsp + 176] LONG $0x04723b44 // cmp r14d, dword [rdx + 4] LONG $0xd7950f41 // setne r15b LONG $0x20723b44 // cmp r14d, dword [rdx + 32] QUAD $0x000000982494950f // setne byte [rsp + 152] LONG $0x40723b44 // cmp r14d, dword [rdx + 64] - LONG $0x2454950f; BYTE $0x70 // setne byte [rsp + 112] + LONG $0x2454950f; BYTE $0x68 // setne byte [rsp + 104] LONG $0x60723b44 // cmp r14d, dword [rdx + 96] - QUAD $0x000000882494950f // setne byte [rsp + 136] + QUAD $0x000000802494950f // setne byte [rsp + 128] WORD $0x0045; BYTE $0xff // add r15b, r15b - QUAD $0x000000a824bc0244 // add r15b, byte [rsp + 168] - LONG $0x02e4c041 // shl r12b, 2 - WORD $0x0845; BYTE $0xfc // or r12b, r15b + QUAD $0x000000b024bc0244 // add r15b, byte [rsp + 176] + LONG $0x02e5c041 // shl r13b, 2 + WORD $0x0845; BYTE $0xfd // or r13b, r15b QUAD $0x0000011024bc8b4c // mov r15, qword [rsp + 272] - LONG $0x03e5c041 // shl r13b, 3 - WORD $0x0845; BYTE $0xe5 // or r13b, r12b + LONG $0x03e4c041 // shl r12b, 3 + WORD $0x0845; BYTE $0xec // or r12b, r13b WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0x0844; BYTE $0xe9 // or cl, r13b + WORD $0x0844; BYTE $0xe1 // or cl, r12b LONG $0x05e6c040 // shl sil, 5 WORD $0x0840; BYTE $0xce // or sil, cl WORD $0xe3c0; BYTE $0x06 // shl bl, 6 @@ -26670,32 +27720,32 @@ LBB5_11: WORD $0x0845; BYTE $0xca // or r10b, r9b LONG $0x04e3c041 // shl r11b, 4 WORD $0x0845; BYTE $0xd3 // or r11b, r10b - LONG $0x2444b60f; BYTE $0x78 // movzx eax, byte [rsp + 120] + LONG $0x2444b60f; BYTE $0x70 // movzx eax, byte [rsp + 112] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0x0844; BYTE $0xd8 // or al, r11b - QUAD $0x00000080248cb60f // movzx ecx, byte [rsp + 128] + LONG $0x244cb60f; BYTE $0x78 // movzx ecx, byte [rsp + 120] WORD $0xe1c0; BYTE $0x06 // shl cl, 6 LONG $0x07e0c041 // shl r8b, 7 WORD $0x0841; BYTE $0xc8 // or r8b, cl WORD $0x0841; BYTE $0xc0 // or r8b, al LONG $0x01478845 // mov byte [r15 + 1], r8b - QUAD $0x000000902484b60f // movzx eax, byte [rsp + 144] + QUAD $0x000000882484b60f // movzx eax, byte [rsp + 136] WORD $0xc000 // add al, al - LONG $0x70244402 // add al, byte [rsp + 112] + LONG $0x68244402 // add al, byte [rsp + 104] WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x50 // movzx eax, byte [rsp + 80] + QUAD $0x000000902484b60f // movzx eax, byte [rsp + 144] WORD $0xe0c0; BYTE $0x02 // shl al, 2 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x58 // movzx eax, byte [rsp + 88] + LONG $0x2444b60f; BYTE $0x50 // movzx eax, byte [rsp + 80] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x60 // movzx eax, byte [rsp + 96] + LONG $0x2444b60f; BYTE $0x58 // movzx eax, byte [rsp + 88] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x68 // movzx eax, byte [rsp + 104] + LONG $0x2444b60f; BYTE $0x60 // movzx eax, byte [rsp + 96] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax @@ -26706,15 +27756,15 @@ LBB5_11: WORD $0xd808 // or al, bl WORD $0xc808 // or al, cl LONG $0x02478841 // mov byte [r15 + 2], al - LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] + LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] WORD $0xc000 // add al, al - LONG $0x88248402; WORD $0x0000; BYTE $0x00 // add al, byte [rsp + 136] + LONG $0x80248402; WORD $0x0000; BYTE $0x00 // add al, byte [rsp + 128] WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x38 // movzx eax, byte [rsp + 56] + LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] WORD $0xe0c0; BYTE $0x02 // shl al, 2 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] + LONG $0x2444b60f; BYTE $0x38 // movzx eax, byte [rsp + 56] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax @@ -26735,64 +27785,66 @@ LBB5_11: LONG $0x03478841 // mov byte [r15 + 3], al LONG $0x80ea8348 // sub rdx, -128 LONG $0x04c78349 // add r15, 4 - QUAD $0x000000a024848348; BYTE $0xff // add qword [rsp + 160], -1 + WORD $0x894d; BYTE $0xfd // mov r13, r15 + QUAD $0x000000a824848348; BYTE $0xff // add qword [rsp + 168], -1 JNE LBB5_11 QUAD $0x0000011824948b4c // mov r10, qword [rsp + 280] - QUAD $0x000000b0249c8b4c // mov r11, qword [rsp + 176] + QUAD $0x000000a0249c8b4c // mov r11, qword [rsp + 160] LBB5_13: LONG $0x05e3c149 // shl r11, 5 WORD $0x394d; BYTE $0xd3 // cmp r11, r10 - JGE LBB5_157 + JGE LBB5_164 WORD $0x894d; BYTE $0xd0 // mov r8, r10 WORD $0x294d; BYTE $0xd8 // sub r8, r11 WORD $0xf749; BYTE $0xd3 // not r11 WORD $0x014d; BYTE $0xd3 // add r11, r10 - JE LBB5_127 + JE LBB5_133 WORD $0x894d; BYTE $0xc2 // mov r10, r8 LONG $0xfee28349 // and r10, -2 WORD $0xff31 // xor edi, edi LBB5_16: - WORD $0x3b44; BYTE $0x32 // cmp r14d, dword [rdx] - WORD $0x950f; BYTE $0xd0 // setne al - WORD $0xd8f6 // neg al - WORD $0x8948; BYTE $0xfe // mov rsi, rdi - LONG $0x03eec148 // shr rsi, 3 - LONG $0x0cb60f45; BYTE $0x37 // movzx r9d, byte [r15 + rsi] - WORD $0xf989 // mov ecx, edi - WORD $0xe180; BYTE $0x06 // and cl, 6 - WORD $0x01b3 // mov bl, 1 - WORD $0xe3d2 // shl bl, cl - WORD $0x3044; BYTE $0xc8 // xor al, r9b - WORD $0xc320 // and bl, al - WORD $0x3044; BYTE $0xcb // xor bl, r9b - LONG $0x371c8841 // mov byte [r15 + rsi], bl - LONG $0x02c78348 // add rdi, 2 - LONG $0x04723b44 // cmp r14d, dword [rdx + 4] - LONG $0x08528d48 // lea rdx, [rdx + 8] - LONG $0xd1950f41 // setne r9b - WORD $0xf641; BYTE $0xd9 // neg r9b - WORD $0x3041; BYTE $0xd9 // xor r9b, bl - WORD $0xc980; BYTE $0x01 // or cl, 1 - WORD $0x01b0 // mov al, 1 - WORD $0xe0d2 // shl al, cl - WORD $0x2044; BYTE $0xc8 // and al, r9b - WORD $0xd830 // xor al, bl - LONG $0x37048841 // mov byte [r15 + rsi], al - WORD $0x3949; BYTE $0xfa // cmp r10, rdi + WORD $0x3b44; BYTE $0x32 // cmp r14d, dword [rdx] + WORD $0x950f; BYTE $0xd0 // setne al + WORD $0xd8f6 // neg al + WORD $0x8948; BYTE $0xfe // mov rsi, rdi + LONG $0x03eec148 // shr rsi, 3 + WORD $0x894d; BYTE $0xeb // mov r11, r13 + LONG $0x4cb60f45; WORD $0x0035 // movzx r9d, byte [r13 + rsi] + WORD $0xf989 // mov ecx, edi + WORD $0xe180; BYTE $0x06 // and cl, 6 + WORD $0x01b3 // mov bl, 1 + WORD $0xe3d2 // shl bl, cl + WORD $0x3044; BYTE $0xc8 // xor al, r9b + WORD $0xc320 // and bl, al + WORD $0x3044; BYTE $0xcb // xor bl, r9b + LONG $0x355c8841; BYTE $0x00 // mov byte [r13 + rsi], bl + LONG $0x02c78348 // add rdi, 2 + LONG $0x04723b44 // cmp r14d, dword [rdx + 4] + LONG $0x08528d48 // lea rdx, [rdx + 8] + LONG $0xd1950f41 // setne r9b + WORD $0xf641; BYTE $0xd9 // neg r9b + WORD $0x3041; BYTE $0xd9 // xor r9b, bl + WORD $0xc980; BYTE $0x01 // or cl, 1 + WORD $0x01b0 // mov al, 1 + WORD $0xe0d2 // shl al, cl + WORD $0x2044; BYTE $0xc8 // and al, r9b + WORD $0xd830 // xor al, bl + LONG $0x35448841; BYTE $0x00 // mov byte [r13 + rsi], al + WORD $0x3949; BYTE $0xfa // cmp r10, rdi JNE LBB5_16 - JMP LBB5_154 + JMP LBB5_160 LBB5_17: WORD $0xff83; BYTE $0x08 // cmp edi, 8 - JLE LBB5_46 + JLE LBB5_49 WORD $0xff83; BYTE $0x09 // cmp edi, 9 - JE LBB5_83 + JE LBB5_86 WORD $0xff83; BYTE $0x0b // cmp edi, 11 - JE LBB5_94 + JE LBB5_97 WORD $0xff83; BYTE $0x0c // cmp edi, 12 - JNE LBB5_157 + JNE LBB5_164 LONG $0x1f5a8d4d // lea r11, [r10 + 31] WORD $0x854d; BYTE $0xd2 // test r10, r10 LONG $0xda490f4d // cmovns r11, r10 @@ -26806,212 +27858,304 @@ LBB5_17: WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d LBB5_23: - LONG $0x022ef9c5 // vucomisd xmm0, qword [rdx] - LONG $0x08528d48 // lea rdx, [rdx + 8] - WORD $0x950f; BYTE $0xd3 // setne bl - WORD $0xdbf6 // neg bl - LONG $0x07708d48 // lea rsi, [rax + 7] - WORD $0x8548; BYTE $0xc0 // test rax, rax - LONG $0xf0490f48 // cmovns rsi, rax - LONG $0x03fec148 // sar rsi, 3 - LONG $0x0cb60f45; BYTE $0x37 // movzx r9d, byte [r15 + rsi] - WORD $0x3044; BYTE $0xcb // xor bl, r9b - QUAD $0x00000000f5048d44 // lea r8d, [8*rsi] - WORD $0xc189 // mov ecx, eax - WORD $0x2944; BYTE $0xc1 // sub ecx, r8d - LONG $0x000001bf; BYTE $0x00 // mov edi, 1 - WORD $0xe7d3 // shl edi, cl - WORD $0x2040; BYTE $0xdf // and dil, bl - WORD $0x3044; BYTE $0xcf // xor dil, r9b - LONG $0x373c8841 // mov byte [r15 + rsi], dil - LONG $0x01c08348 // add rax, 1 - LONG $0x08f88348 // cmp rax, 8 + LONG $0x022ef9c5 // vucomisd xmm0, qword [rdx] + LONG $0x08528d48 // lea rdx, [rdx + 8] + WORD $0x9a0f; BYTE $0xd1 // setp cl + WORD $0x950f; BYTE $0xd3 // setne bl + WORD $0xcb08 // or bl, cl + WORD $0xdbf6 // neg bl + LONG $0x07708d48 // lea rsi, [rax + 7] + WORD $0x8548; BYTE $0xc0 // test rax, rax + LONG $0xf0490f48 // cmovns rsi, rax + LONG $0x03fec148 // sar rsi, 3 + WORD $0x894d; BYTE $0xee // mov r14, r13 + LONG $0x4cb60f45; WORD $0x0035 // movzx r9d, byte [r13 + rsi] + WORD $0x3044; BYTE $0xcb // xor bl, r9b + QUAD $0x00000000f5048d44 // lea r8d, [8*rsi] + WORD $0xc189 // mov ecx, eax + WORD $0x2944; BYTE $0xc1 // sub ecx, r8d + LONG $0x000001bf; BYTE $0x00 // mov edi, 1 + WORD $0xe7d3 // shl edi, cl + WORD $0x2040; BYTE $0xdf // and dil, bl + WORD $0x3044; BYTE $0xcf // xor dil, r9b + LONG $0x357c8841; BYTE $0x00 // mov byte [r13 + rsi], dil + LONG $0x01c08348 // add rax, 1 + LONG $0x08f88348 // cmp rax, 8 JNE LBB5_23 - LONG $0x01c78349 // add r15, 1 + LONG $0x01c58349 // add r13, 1 LBB5_25: LONG $0x05fbc149 // sar r11, 5 LONG $0x20fa8349 // cmp r10, 32 JL LBB5_29 QUAD $0x000001182494894c // mov qword [rsp + 280], r10 - QUAD $0x000000a0249c894c // mov qword [rsp + 160], r11 - QUAD $0x000000a8249c894c // mov qword [rsp + 168], r11 + QUAD $0x000000c0249c894c // mov qword [rsp + 192], r11 + QUAD $0x000000b8249c894c // mov qword [rsp + 184], r11 LBB5_27: - QUAD $0x0000011024bc894c // mov qword [rsp + 272], r15 + QUAD $0x0000011024ac894c // mov qword [rsp + 272], r13 LONG $0x022ef9c5 // vucomisd xmm0, qword [rdx] - QUAD $0x000000982494950f // setne byte [rsp + 152] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x30244c88 // mov byte [rsp + 48], cl LONG $0x422ef9c5; BYTE $0x08 // vucomisd xmm0, qword [rdx + 8] - LONG $0xd1950f41 // setne r9b + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd5950f41 // setne r13b + WORD $0x0841; BYTE $0xc5 // or r13b, al LONG $0x422ef9c5; BYTE $0x10 // vucomisd xmm0, qword [rdx + 16] - LONG $0xd3950f41 // setne r11b + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x38244c88 // mov byte [rsp + 56], cl LONG $0x422ef9c5; BYTE $0x18 // vucomisd xmm0, qword [rdx + 24] - LONG $0xd5950f41 // setne r13b + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x40248c88; WORD $0x0001; BYTE $0x00 // mov byte [rsp + 320], cl LONG $0x422ef9c5; BYTE $0x20 // vucomisd xmm0, qword [rdx + 32] - LONG $0x2454950f; BYTE $0x70 // setne byte [rsp + 112] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x20244c88 // mov byte [rsp + 32], cl LONG $0x422ef9c5; BYTE $0x28 // vucomisd xmm0, qword [rdx + 40] - LONG $0x2454950f; BYTE $0x68 // setne byte [rsp + 104] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd4950f41 // setne r12b + WORD $0x0841; BYTE $0xc4 // or r12b, al LONG $0x422ef9c5; BYTE $0x30 // vucomisd xmm0, qword [rdx + 48] - WORD $0x950f; BYTE $0xd3 // setne bl + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x48244c88 // mov byte [rsp + 72], cl LONG $0x422ef9c5; BYTE $0x38 // vucomisd xmm0, qword [rdx + 56] - LONG $0xd4950f41 // setne r12b + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x1c244c88 // mov byte [rsp + 28], cl LONG $0x422ef9c5; BYTE $0x40 // vucomisd xmm0, qword [rdx + 64] - LONG $0x2454950f; BYTE $0x78 // setne byte [rsp + 120] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x28244c88 // mov byte [rsp + 40], cl LONG $0x422ef9c5; BYTE $0x48 // vucomisd xmm0, qword [rdx + 72] - LONG $0xd6950f40 // setne sil + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x40244c88 // mov byte [rsp + 64], cl LONG $0x422ef9c5; BYTE $0x50 // vucomisd xmm0, qword [rdx + 80] - LONG $0xd7950f40 // setne dil + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x60244c88 // mov byte [rsp + 96], cl LONG $0x422ef9c5; BYTE $0x58 // vucomisd xmm0, qword [rdx + 88] - LONG $0xd0950f41 // setne r8b + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd3 // setne bl + WORD $0xc308 // or bl, al LONG $0x422ef9c5; BYTE $0x60 // vucomisd xmm0, qword [rdx + 96] - LONG $0xd2950f41 // setne r10b + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x20248c88; WORD $0x0001; BYTE $0x00 // mov byte [rsp + 288], cl LONG $0x422ef9c5; BYTE $0x68 // vucomisd xmm0, qword [rdx + 104] - LONG $0xd7950f41 // setne r15b + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x50244c88 // mov byte [rsp + 80], cl LONG $0x422ef9c5; BYTE $0x70 // vucomisd xmm0, qword [rdx + 112] - QUAD $0x000000802494950f // setne byte [rsp + 128] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x90248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 144], cl LONG $0x422ef9c5; BYTE $0x78 // vucomisd xmm0, qword [rdx + 120] + WORD $0x9a0f; BYTE $0xd0 // setp al WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x88248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 136], cl QUAD $0x00000080822ef9c5 // vucomisd xmm0, qword [rdx + 128] - LONG $0x2454950f; BYTE $0x58 // setne byte [rsp + 88] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x58244c88 // mov byte [rsp + 88], cl QUAD $0x00000088822ef9c5 // vucomisd xmm0, qword [rdx + 136] - QUAD $0x000000882494950f // setne byte [rsp + 136] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x80248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 128], cl QUAD $0x00000090822ef9c5 // vucomisd xmm0, qword [rdx + 144] - QUAD $0x000000902494950f // setne byte [rsp + 144] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x78244c88 // mov byte [rsp + 120], cl QUAD $0x00000098822ef9c5 // vucomisd xmm0, qword [rdx + 152] - LONG $0x2454950f; BYTE $0x50 // setne byte [rsp + 80] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x70244c88 // mov byte [rsp + 112], cl QUAD $0x000000a0822ef9c5 // vucomisd xmm0, qword [rdx + 160] - LONG $0x2454950f; BYTE $0x60 // setne byte [rsp + 96] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x68244c88 // mov byte [rsp + 104], cl QUAD $0x000000a8822ef9c5 // vucomisd xmm0, qword [rdx + 168] - LONG $0x2454950f; BYTE $0x40 // setne byte [rsp + 64] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0xb0248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 176], cl QUAD $0x000000b0822ef9c5 // vucomisd xmm0, qword [rdx + 176] - LONG $0x2454950f; BYTE $0x48 // setne byte [rsp + 72] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd7950f41 // setne r15b + WORD $0x0841; BYTE $0xc7 // or r15b, al QUAD $0x000000b8822ef9c5 // vucomisd xmm0, qword [rdx + 184] - LONG $0xd6950f41 // setne r14b + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd0950f41 // setne r8b + WORD $0x0841; BYTE $0xc0 // or r8b, al QUAD $0x000000c0822ef9c5 // vucomisd xmm0, qword [rdx + 192] - LONG $0x2454950f; BYTE $0x20 // setne byte [rsp + 32] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x98248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 152], cl QUAD $0x000000c8822ef9c5 // vucomisd xmm0, qword [rdx + 200] - LONG $0x2454950f; BYTE $0x30 // setne byte [rsp + 48] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd3950f41 // setne r11b + WORD $0x0841; BYTE $0xc3 // or r11b, al QUAD $0x000000d0822ef9c5 // vucomisd xmm0, qword [rdx + 208] - LONG $0x2454950f; BYTE $0x38 // setne byte [rsp + 56] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd2950f41 // setne r10b + WORD $0x0841; BYTE $0xc2 // or r10b, al QUAD $0x000000d8822ef9c5 // vucomisd xmm0, qword [rdx + 216] - LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd1950f41 // setne r9b + WORD $0x0841; BYTE $0xc1 // or r9b, al QUAD $0x000000e0822ef9c5 // vucomisd xmm0, qword [rdx + 224] - QUAD $0x000001402494950f // setne byte [rsp + 320] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0xa0248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 160], cl QUAD $0x000000e8822ef9c5 // vucomisd xmm0, qword [rdx + 232] - QUAD $0x000001202494950f // setne byte [rsp + 288] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0xa8248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 168], cl QUAD $0x000000f0822ef9c5 // vucomisd xmm0, qword [rdx + 240] - LONG $0x2454950f; BYTE $0x1c // setne byte [rsp + 28] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd7950f40 // setne dil + WORD $0x0840; BYTE $0xc7 // or dil, al QUAD $0x000000f8822ef9c5 // vucomisd xmm0, qword [rdx + 248] - WORD $0x950f; BYTE $0xd0 // setne al - WORD $0x0045; BYTE $0xc9 // add r9b, r9b - QUAD $0x00000098248c0244 // add r9b, byte [rsp + 152] - WORD $0xe3c0; BYTE $0x06 // shl bl, 6 - LONG $0x07e4c041 // shl r12b, 7 - WORD $0x0841; BYTE $0xdc // or r12b, bl - LONG $0x02e3c041 // shl r11b, 2 - WORD $0x0845; BYTE $0xcb // or r11b, r9b - WORD $0x0040; BYTE $0xf6 // add sil, sil - LONG $0x24740240; BYTE $0x78 // add sil, byte [rsp + 120] - LONG $0x03e5c041 // shl r13b, 3 - WORD $0x0845; BYTE $0xdd // or r13b, r11b - LONG $0x02e7c040 // shl dil, 2 - WORD $0x0840; BYTE $0xf7 // or dil, sil - LONG $0x245cb60f; BYTE $0x70 // movzx ebx, byte [rsp + 112] - WORD $0xe3c0; BYTE $0x04 // shl bl, 4 - WORD $0x0844; BYTE $0xeb // or bl, r13b - WORD $0xde89 // mov esi, ebx - LONG $0x03e0c041 // shl r8b, 3 - WORD $0x0841; BYTE $0xf8 // or r8b, dil - LONG $0x245cb60f; BYTE $0x68 // movzx ebx, byte [rsp + 104] - WORD $0xe3c0; BYTE $0x05 // shl bl, 5 - WORD $0x0840; BYTE $0xf3 // or bl, sil - LONG $0x04e2c041 // shl r10b, 4 - WORD $0x0845; BYTE $0xc2 // or r10b, r8b - LONG $0x05e7c041 // shl r15b, 5 - WORD $0x0845; BYTE $0xd7 // or r15b, r10b - QUAD $0x0000008024b4b60f // movzx esi, byte [rsp + 128] - LONG $0x06e6c040 // shl sil, 6 - WORD $0xe1c0; BYTE $0x07 // shl cl, 7 - WORD $0x0840; BYTE $0xf1 // or cl, sil - WORD $0x0841; BYTE $0xdc // or r12b, bl - WORD $0x0844; BYTE $0xf9 // or cl, r15b - QUAD $0x0000011024bc8b4c // mov r15, qword [rsp + 272] - QUAD $0x00000088249cb60f // movzx ebx, byte [rsp + 136] - WORD $0xdb00 // add bl, bl - LONG $0x58245c02 // add bl, byte [rsp + 88] - WORD $0xde89 // mov esi, ebx - QUAD $0x00000090249cb60f // movzx ebx, byte [rsp + 144] - WORD $0xe3c0; BYTE $0x02 // shl bl, 2 - WORD $0x0840; BYTE $0xf3 // or bl, sil - WORD $0xde89 // mov esi, ebx - LONG $0x245cb60f; BYTE $0x50 // movzx ebx, byte [rsp + 80] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd6950f40 // setne sil + WORD $0x0840; BYTE $0xc6 // or sil, al + WORD $0x0045; BYTE $0xed // add r13b, r13b + LONG $0x246c0244; BYTE $0x30 // add r13b, byte [rsp + 48] + WORD $0x8944; BYTE $0xe8 // mov eax, r13d + LONG $0x05e4c041 // shl r12b, 5 + LONG $0x6cb60f44; WORD $0x4824 // movzx r13d, byte [rsp + 72] + LONG $0x06e5c041 // shl r13b, 6 + WORD $0x0845; BYTE $0xe5 // or r13b, r12b + LONG $0x64b60f44; WORD $0x3824 // movzx r12d, byte [rsp + 56] + LONG $0x02e4c041 // shl r12b, 2 + WORD $0x0841; BYTE $0xc4 // or r12b, al + LONG $0x244cb60f; BYTE $0x40 // movzx ecx, byte [rsp + 64] + WORD $0xc900 // add cl, cl + LONG $0x28244c02 // add cl, byte [rsp + 40] + LONG $0x2444b60f; BYTE $0x1c // movzx eax, byte [rsp + 28] + WORD $0xe0c0; BYTE $0x07 // shl al, 7 + WORD $0x0844; BYTE $0xe8 // or al, r13b + LONG $0x1c244488 // mov byte [rsp + 28], al + LONG $0x2444b60f; BYTE $0x60 // movzx eax, byte [rsp + 96] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax + QUAD $0x000001402484b60f // movzx eax, byte [rsp + 320] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0x0844; BYTE $0xe0 // or al, r12b WORD $0xe3c0; BYTE $0x03 // shl bl, 3 - WORD $0x0840; BYTE $0xf3 // or bl, sil - WORD $0xde89 // mov esi, ebx - LONG $0x245cb60f; BYTE $0x60 // movzx ebx, byte [rsp + 96] - WORD $0xe3c0; BYTE $0x04 // shl bl, 4 - WORD $0x0840; BYTE $0xf3 // or bl, sil - WORD $0xde89 // mov esi, ebx - LONG $0x245cb60f; BYTE $0x40 // movzx ebx, byte [rsp + 64] - WORD $0xe3c0; BYTE $0x05 // shl bl, 5 - WORD $0x0840; BYTE $0xf3 // or bl, sil - WORD $0x8845; BYTE $0x27 // mov byte [r15], r12b - LONG $0x2474b60f; BYTE $0x48 // movzx esi, byte [rsp + 72] - LONG $0x06e6c040 // shl sil, 6 + WORD $0xcb08 // or bl, cl + LONG $0x6cb60f44; WORD $0x2024 // movzx r13d, byte [rsp + 32] + LONG $0x04e5c041 // shl r13b, 4 + WORD $0x0841; BYTE $0xc5 // or r13b, al + QUAD $0x000001202484b60f // movzx eax, byte [rsp + 288] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0xd808 // or al, bl + LONG $0x20248488; WORD $0x0001; BYTE $0x00 // mov byte [rsp + 288], al + LONG $0x244cb60f; BYTE $0x50 // movzx ecx, byte [rsp + 80] + WORD $0xe1c0; BYTE $0x05 // shl cl, 5 + QUAD $0x000000902484b60f // movzx eax, byte [rsp + 144] + WORD $0xe0c0; BYTE $0x06 // shl al, 6 + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax + QUAD $0x00008824b4b60f44; BYTE $0x00 // movzx r14d, byte [rsp + 136] LONG $0x07e6c041 // shl r14b, 7 - WORD $0x0841; BYTE $0xf6 // or r14b, sil - LONG $0x014f8841 // mov byte [r15 + 1], cl - WORD $0x0841; BYTE $0xde // or r14b, bl - LONG $0x244cb60f; BYTE $0x30 // movzx ecx, byte [rsp + 48] + WORD $0x0841; BYTE $0xc6 // or r14b, al + QUAD $0x00000080248cb60f // movzx ecx, byte [rsp + 128] WORD $0xc900 // add cl, cl - LONG $0x20244c02 // add cl, byte [rsp + 32] - WORD $0xcb89 // mov ebx, ecx - LONG $0x244cb60f; BYTE $0x38 // movzx ecx, byte [rsp + 56] - WORD $0xe1c0; BYTE $0x02 // shl cl, 2 - WORD $0xd908 // or cl, bl - WORD $0xcb89 // mov ebx, ecx - LONG $0x244cb60f; BYTE $0x28 // movzx ecx, byte [rsp + 40] + LONG $0x58244c02 // add cl, byte [rsp + 88] + LONG $0x245cb60f; BYTE $0x78 // movzx ebx, byte [rsp + 120] + WORD $0xe3c0; BYTE $0x02 // shl bl, 2 + WORD $0xcb08 // or bl, cl + LONG $0x244cb60f; BYTE $0x70 // movzx ecx, byte [rsp + 112] WORD $0xe1c0; BYTE $0x03 // shl cl, 3 WORD $0xd908 // or cl, bl - WORD $0xcb89 // mov ebx, ecx - QUAD $0x00000140248cb60f // movzx ecx, byte [rsp + 320] - WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0xd908 // or cl, bl - WORD $0xcb89 // mov ebx, ecx - QUAD $0x00000120248cb60f // movzx ecx, byte [rsp + 288] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0xd908 // or cl, bl - LONG $0x245cb60f; BYTE $0x1c // movzx ebx, byte [rsp + 28] - WORD $0xe3c0; BYTE $0x06 // shl bl, 6 - WORD $0xe0c0; BYTE $0x07 // shl al, 7 - WORD $0xd808 // or al, bl - WORD $0xc808 // or al, cl - LONG $0x02778845 // mov byte [r15 + 2], r14b - LONG $0x03478841 // mov byte [r15 + 3], al + WORD $0x8941; BYTE $0xcc // mov r12d, ecx + QUAD $0x00000110248c8b48 // mov rcx, qword [rsp + 272] + LONG $0x245cb60f; BYTE $0x68 // movzx ebx, byte [rsp + 104] + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0x0844; BYTE $0xe3 // or bl, r12b + LONG $0x2444b60f; BYTE $0x1c // movzx eax, byte [rsp + 28] + WORD $0x0844; BYTE $0xe8 // or al, r13b + QUAD $0x0000b024a4b60f44; BYTE $0x00 // movzx r12d, byte [rsp + 176] + LONG $0x05e4c041 // shl r12b, 5 + LONG $0x06e7c041 // shl r15b, 6 + WORD $0x0845; BYTE $0xe7 // or r15b, r12b + QUAD $0x0000012024b40a44 // or r14b, byte [rsp + 288] + LONG $0x07e0c041 // shl r8b, 7 + WORD $0x0845; BYTE $0xf8 // or r8b, r15b + WORD $0x0841; BYTE $0xd8 // or r8b, bl + WORD $0x0045; BYTE $0xdb // add r11b, r11b + QUAD $0x00000098249c0244 // add r11b, byte [rsp + 152] + LONG $0x02e2c041 // shl r10b, 2 + WORD $0x0845; BYTE $0xda // or r10b, r11b + LONG $0x03e1c041 // shl r9b, 3 + WORD $0x0845; BYTE $0xd1 // or r9b, r10b + QUAD $0x000000a0249cb60f // movzx ebx, byte [rsp + 160] + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0x0844; BYTE $0xcb // or bl, r9b + WORD $0x8941; BYTE $0xd9 // mov r9d, ebx + WORD $0x0188 // mov byte [rcx], al + QUAD $0x000000a8249cb60f // movzx ebx, byte [rsp + 168] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + LONG $0x06e7c040 // shl dil, 6 + WORD $0x0840; BYTE $0xdf // or dil, bl + LONG $0x01718844 // mov byte [rcx + 1], r14b + LONG $0x07e6c040 // shl sil, 7 + WORD $0x0840; BYTE $0xfe // or sil, dil + WORD $0x0844; BYTE $0xce // or sil, r9b + LONG $0x02418844 // mov byte [rcx + 2], r8b + LONG $0x03718840 // mov byte [rcx + 3], sil LONG $0x00c28148; WORD $0x0001; BYTE $0x00 // add rdx, 256 - LONG $0x04c78349 // add r15, 4 - QUAD $0x000000a824848348; BYTE $0xff // add qword [rsp + 168], -1 + LONG $0x04c18348 // add rcx, 4 + WORD $0x8949; BYTE $0xcd // mov r13, rcx + QUAD $0x000000b824848348; BYTE $0xff // add qword [rsp + 184], -1 JNE LBB5_27 QUAD $0x0000011824948b4c // mov r10, qword [rsp + 280] - QUAD $0x000000a0249c8b4c // mov r11, qword [rsp + 160] + QUAD $0x000000c0249c8b4c // mov r11, qword [rsp + 192] LBB5_29: LONG $0x05e3c149 // shl r11, 5 WORD $0x394d; BYTE $0xd3 // cmp r11, r10 - JGE LBB5_157 + JGE LBB5_164 WORD $0x894d; BYTE $0xd0 // mov r8, r10 WORD $0x294d; BYTE $0xd8 // sub r8, r11 WORD $0xf749; BYTE $0xd3 // not r11 WORD $0x014d; BYTE $0xd3 // add r11, r10 - JNE LBB5_136 + JNE LBB5_134 WORD $0xff31 // xor edi, edi - JMP LBB5_138 + JMP LBB5_136 LBB5_32: WORD $0xff83; BYTE $0x02 // cmp edi, 2 - JE LBB5_105 + JE LBB5_108 WORD $0xff83; BYTE $0x03 // cmp edi, 3 - JNE LBB5_157 + JNE LBB5_164 WORD $0x8a44; BYTE $0x1e // mov r11b, byte [rsi] LONG $0x1f728d4d // lea r14, [r10 + 31] WORD $0x854d; BYTE $0xd2 // test r10, r10 @@ -27025,33 +28169,34 @@ LBB5_32: WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d LBB5_36: - WORD $0x3a44; BYTE $0x1a // cmp r11b, byte [rdx] - LONG $0x01528d48 // lea rdx, [rdx + 1] - WORD $0x950f; BYTE $0xd3 // setne bl - WORD $0xdbf6 // neg bl - LONG $0x07708d48 // lea rsi, [rax + 7] - WORD $0x8548; BYTE $0xc0 // test rax, rax - LONG $0xf0490f48 // cmovns rsi, rax - LONG $0x03fec148 // sar rsi, 3 - LONG $0x0cb60f45; BYTE $0x37 // movzx r9d, byte [r15 + rsi] - WORD $0x3044; BYTE $0xcb // xor bl, r9b - QUAD $0x00000000f5048d44 // lea r8d, [8*rsi] - WORD $0xc189 // mov ecx, eax - WORD $0x2944; BYTE $0xc1 // sub ecx, r8d - LONG $0x000001bf; BYTE $0x00 // mov edi, 1 - WORD $0xe7d3 // shl edi, cl - WORD $0x2040; BYTE $0xdf // and dil, bl - WORD $0x3044; BYTE $0xcf // xor dil, r9b - LONG $0x373c8841 // mov byte [r15 + rsi], dil - LONG $0x01c08348 // add rax, 1 - LONG $0x08f88348 // cmp rax, 8 + WORD $0x3a44; BYTE $0x1a // cmp r11b, byte [rdx] + LONG $0x01528d48 // lea rdx, [rdx + 1] + WORD $0x950f; BYTE $0xd3 // setne bl + WORD $0xdbf6 // neg bl + LONG $0x07708d48 // lea rsi, [rax + 7] + WORD $0x8548; BYTE $0xc0 // test rax, rax + LONG $0xf0490f48 // cmovns rsi, rax + LONG $0x03fec148 // sar rsi, 3 + WORD $0x894d; BYTE $0xef // mov r15, r13 + LONG $0x4cb60f45; WORD $0x0035 // movzx r9d, byte [r13 + rsi] + WORD $0x3044; BYTE $0xcb // xor bl, r9b + QUAD $0x00000000f5048d44 // lea r8d, [8*rsi] + WORD $0xc189 // mov ecx, eax + WORD $0x2944; BYTE $0xc1 // sub ecx, r8d + LONG $0x000001bf; BYTE $0x00 // mov edi, 1 + WORD $0xe7d3 // shl edi, cl + WORD $0x2040; BYTE $0xdf // and dil, bl + WORD $0x3044; BYTE $0xcf // xor dil, r9b + LONG $0x357c8841; BYTE $0x00 // mov byte [r13 + rsi], dil + LONG $0x01c08348 // add rax, 1 + LONG $0x08f88348 // cmp rax, 8 JNE LBB5_36 - LONG $0x01c78349 // add r15, 1 + LONG $0x01c58349 // add r13, 1 LBB5_38: LONG $0x05fec149 // sar r14, 5 LONG $0x20fa8349 // cmp r10, 32 - JL LBB5_128 + JL LBB5_46 LONG $0x20fe8349 // cmp r14, 32 LONG $0x245c8944; BYTE $0x1c // mov dword [rsp + 28], r11d QUAD $0x000001182494894c // mov qword [rsp + 280], r10 @@ -27060,20 +28205,20 @@ LBB5_38: WORD $0x894c; BYTE $0xf0 // mov rax, r14 LONG $0x05e0c148 // shl rax, 5 WORD $0x0148; BYTE $0xd0 // add rax, rdx - WORD $0x3949; BYTE $0xc7 // cmp r15, rax + WORD $0x3949; BYTE $0xc5 // cmp r13, rax JAE LBB5_165 - LONG $0xb7048d4b // lea rax, [r15 + 4*r14] + QUAD $0x00000000b5048d4a // lea rax, [4*r14] + WORD $0x014c; BYTE $0xe8 // add rax, r13 WORD $0x3948; BYTE $0xc2 // cmp rdx, rax JAE LBB5_165 LBB5_42: WORD $0xc031 // xor eax, eax QUAD $0x0000017824848948 // mov qword [rsp + 376], rax - WORD $0x894d; BYTE $0xfd // mov r13, r15 LBB5_43: QUAD $0x0000017824b42b4c // sub r14, qword [rsp + 376] - QUAD $0x000000b024b4894c // mov qword [rsp + 176], r14 + QUAD $0x000000a024b4894c // mov qword [rsp + 160], r14 LBB5_44: LONG $0x1f5a3a44 // cmp r11b, byte [rdx + 31] @@ -27085,31 +28230,31 @@ LBB5_44: LONG $0x1c5a3a44 // cmp r11b, byte [rdx + 28] LONG $0x2454950f; BYTE $0x20 // setne byte [rsp + 32] LONG $0x1b5a3a44 // cmp r11b, byte [rdx + 27] - LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] - LONG $0x1a5a3a44 // cmp r11b, byte [rdx + 26] LONG $0x2454950f; BYTE $0x38 // setne byte [rsp + 56] - LONG $0x195a3a44 // cmp r11b, byte [rdx + 25] + LONG $0x1a5a3a44 // cmp r11b, byte [rdx + 26] LONG $0x2454950f; BYTE $0x30 // setne byte [rsp + 48] + LONG $0x195a3a44 // cmp r11b, byte [rdx + 25] + LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] LONG $0x175a3a44 // cmp r11b, byte [rdx + 23] LONG $0x2454950f; BYTE $0x48 // setne byte [rsp + 72] LONG $0x165a3a44 // cmp r11b, byte [rdx + 22] - LONG $0x2454950f; BYTE $0x68 // setne byte [rsp + 104] - LONG $0x155a3a44 // cmp r11b, byte [rdx + 21] LONG $0x2454950f; BYTE $0x60 // setne byte [rsp + 96] - LONG $0x145a3a44 // cmp r11b, byte [rdx + 20] + LONG $0x155a3a44 // cmp r11b, byte [rdx + 21] LONG $0x2454950f; BYTE $0x58 // setne byte [rsp + 88] + LONG $0x145a3a44 // cmp r11b, byte [rdx + 20] + LONG $0x2454950f; BYTE $0x50 // setne byte [rsp + 80] LONG $0x135a3a44 // cmp r11b, byte [rdx + 19] - QUAD $0x000000902494950f // setne byte [rsp + 144] - LONG $0x125a3a44 // cmp r11b, byte [rdx + 18] QUAD $0x000000882494950f // setne byte [rsp + 136] - LONG $0x115a3a44 // cmp r11b, byte [rdx + 17] + LONG $0x125a3a44 // cmp r11b, byte [rdx + 18] QUAD $0x000000802494950f // setne byte [rsp + 128] + LONG $0x115a3a44 // cmp r11b, byte [rdx + 17] + LONG $0x2454950f; BYTE $0x78 // setne byte [rsp + 120] LONG $0x0f5a3a44 // cmp r11b, byte [rdx + 15] LONG $0xd6950f41 // setne r14b LONG $0x0e5a3a44 // cmp r11b, byte [rdx + 14] - LONG $0x2454950f; BYTE $0x78 // setne byte [rsp + 120] - LONG $0x0d5a3a44 // cmp r11b, byte [rdx + 13] LONG $0x2454950f; BYTE $0x70 // setne byte [rsp + 112] + LONG $0x0d5a3a44 // cmp r11b, byte [rdx + 13] + LONG $0x2454950f; BYTE $0x68 // setne byte [rsp + 104] LONG $0x0c5a3a44 // cmp r11b, byte [rdx + 12] LONG $0xd4950f41 // setne r12b LONG $0x0b5a3a44 // cmp r11b, byte [rdx + 11] @@ -27124,7 +28269,7 @@ LBB5_44: LONG $0xd7950f40 // setne dil LONG $0x1c24448b // mov eax, dword [rsp + 28] WORD $0x423a; BYTE $0x06 // cmp al, byte [rdx + 6] - QUAD $0x000000a82494950f // setne byte [rsp + 168] + QUAD $0x000000b02494950f // setne byte [rsp + 176] LONG $0x1c24448b // mov eax, dword [rsp + 28] WORD $0x423a; BYTE $0x05 // cmp al, byte [rdx + 5] LONG $0xd1950f41 // setne r9b @@ -27139,7 +28284,7 @@ LBB5_44: WORD $0x950f; BYTE $0xd1 // setne cl LONG $0x1c24448b // mov eax, dword [rsp + 28] WORD $0x023a // cmp al, byte [rdx] - QUAD $0x000000a02494950f // setne byte [rsp + 160] + QUAD $0x000000a82494950f // setne byte [rsp + 168] LONG $0x1c24448b // mov eax, dword [rsp + 28] WORD $0x423a; BYTE $0x01 // cmp al, byte [rdx + 1] WORD $0x950f; BYTE $0xd0 // setne al @@ -27150,12 +28295,12 @@ LBB5_44: QUAD $0x000000982494950f // setne byte [rsp + 152] LONG $0x1c245c8b // mov ebx, dword [rsp + 28] WORD $0x5a3a; BYTE $0x10 // cmp bl, byte [rdx + 16] - LONG $0x2454950f; BYTE $0x50 // setne byte [rsp + 80] + QUAD $0x000000902494950f // setne byte [rsp + 144] LONG $0x1c245c8b // mov ebx, dword [rsp + 28] WORD $0x5a3a; BYTE $0x18 // cmp bl, byte [rdx + 24] LONG $0x2454950f; BYTE $0x40 // setne byte [rsp + 64] WORD $0xc000 // add al, al - LONG $0xa0248402; WORD $0x0000; BYTE $0x00 // add al, byte [rsp + 160] + LONG $0xa8248402; WORD $0x0000; BYTE $0x00 // add al, byte [rsp + 168] WORD $0xe1c0; BYTE $0x02 // shl cl, 2 WORD $0xc108 // or cl, al LONG $0x03e6c040 // shl sil, 3 @@ -27164,7 +28309,7 @@ LBB5_44: WORD $0x0841; BYTE $0xf0 // or r8b, sil LONG $0x05e1c041 // shl r9b, 5 WORD $0x0845; BYTE $0xc1 // or r9b, r8b - QUAD $0x000000a82484b60f // movzx eax, byte [rsp + 168] + QUAD $0x000000b02484b60f // movzx eax, byte [rsp + 176] WORD $0xe0c0; BYTE $0x06 // shl al, 6 LONG $0x07e7c040 // shl dil, 7 WORD $0x0840; BYTE $0xc7 // or dil, al @@ -27179,51 +28324,51 @@ LBB5_44: LONG $0x245c8b44; BYTE $0x1c // mov r11d, dword [rsp + 28] LONG $0x04e4c041 // shl r12b, 4 WORD $0x0845; BYTE $0xfc // or r12b, r15b - LONG $0x2444b60f; BYTE $0x70 // movzx eax, byte [rsp + 112] + LONG $0x2444b60f; BYTE $0x68 // movzx eax, byte [rsp + 104] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0x0844; BYTE $0xe0 // or al, r12b - LONG $0x244cb60f; BYTE $0x78 // movzx ecx, byte [rsp + 120] + LONG $0x244cb60f; BYTE $0x70 // movzx ecx, byte [rsp + 112] WORD $0xe1c0; BYTE $0x06 // shl cl, 6 LONG $0x07e6c041 // shl r14b, 7 WORD $0x0841; BYTE $0xce // or r14b, cl WORD $0x0841; BYTE $0xc6 // or r14b, al LONG $0x01758845 // mov byte [r13 + 1], r14b - QUAD $0x000000802484b60f // movzx eax, byte [rsp + 128] + LONG $0x2444b60f; BYTE $0x78 // movzx eax, byte [rsp + 120] WORD $0xc000 // add al, al - LONG $0x50244402 // add al, byte [rsp + 80] + LONG $0x90248402; WORD $0x0000; BYTE $0x00 // add al, byte [rsp + 144] WORD $0xc189 // mov ecx, eax - QUAD $0x000000882484b60f // movzx eax, byte [rsp + 136] + QUAD $0x000000802484b60f // movzx eax, byte [rsp + 128] WORD $0xe0c0; BYTE $0x02 // shl al, 2 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - QUAD $0x000000902484b60f // movzx eax, byte [rsp + 144] + QUAD $0x000000882484b60f // movzx eax, byte [rsp + 136] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x58 // movzx eax, byte [rsp + 88] + LONG $0x2444b60f; BYTE $0x50 // movzx eax, byte [rsp + 80] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x60 // movzx eax, byte [rsp + 96] + LONG $0x2444b60f; BYTE $0x58 // movzx eax, byte [rsp + 88] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - LONG $0x245cb60f; BYTE $0x68 // movzx ebx, byte [rsp + 104] + LONG $0x245cb60f; BYTE $0x60 // movzx ebx, byte [rsp + 96] WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x2444b60f; BYTE $0x48 // movzx eax, byte [rsp + 72] WORD $0xe0c0; BYTE $0x07 // shl al, 7 WORD $0xd808 // or al, bl WORD $0xc808 // or al, cl LONG $0x02458841 // mov byte [r13 + 2], al - LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] + LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] WORD $0xc000 // add al, al LONG $0x40244402 // add al, byte [rsp + 64] WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x38 // movzx eax, byte [rsp + 56] + LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] WORD $0xe0c0; BYTE $0x02 // shl al, 2 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] + LONG $0x2444b60f; BYTE $0x38 // movzx eax, byte [rsp + 56] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax @@ -27244,17 +28389,59 @@ LBB5_44: LONG $0x03458841 // mov byte [r13 + 3], al LONG $0x20c28348 // add rdx, 32 LONG $0x04c58349 // add r13, 4 - QUAD $0x000000b024848348; BYTE $0xff // add qword [rsp + 176], -1 + QUAD $0x000000a024848348; BYTE $0xff // add qword [rsp + 160], -1 JNE LBB5_44 QUAD $0x0000011824948b4c // mov r10, qword [rsp + 280] QUAD $0x0000018024b48b4c // mov r14, qword [rsp + 384] - JMP LBB5_129 LBB5_46: + LONG $0x05e6c149 // shl r14, 5 + WORD $0x394d; BYTE $0xd6 // cmp r14, r10 + JGE LBB5_164 + WORD $0x894d; BYTE $0xd0 // mov r8, r10 + WORD $0x294d; BYTE $0xf0 // sub r8, r14 + WORD $0xf749; BYTE $0xd6 // not r14 + WORD $0x014d; BYTE $0xd6 // add r14, r10 + JE LBB5_122 + WORD $0x894d; BYTE $0xc2 // mov r10, r8 + LONG $0xfee28349 // and r10, -2 + WORD $0xf631 // xor esi, esi + +LBB5_139: + LONG $0x321c3a44 // cmp r11b, byte [rdx + rsi] + WORD $0x950f; BYTE $0xd0 // setne al + WORD $0xd8f6 // neg al + WORD $0x8948; BYTE $0xf7 // mov rdi, rsi + LONG $0x03efc148 // shr rdi, 3 + WORD $0xf189 // mov ecx, esi + WORD $0xe180; BYTE $0x06 // and cl, 6 + WORD $0x01b3 // mov bl, 1 + WORD $0xe3d2 // shl bl, cl + LONG $0x4cb60f45; WORD $0x003d // movzx r9d, byte [r13 + rdi] + WORD $0x3044; BYTE $0xc8 // xor al, r9b + WORD $0xc320 // and bl, al + WORD $0x3044; BYTE $0xcb // xor bl, r9b + LONG $0x3d5c8841; BYTE $0x00 // mov byte [r13 + rdi], bl + LONG $0x325c3a44; BYTE $0x01 // cmp r11b, byte [rdx + rsi + 1] + LONG $0x02768d48 // lea rsi, [rsi + 2] + LONG $0xd1950f41 // setne r9b + WORD $0xf641; BYTE $0xd9 // neg r9b + WORD $0x3041; BYTE $0xd9 // xor r9b, bl + WORD $0xc980; BYTE $0x01 // or cl, 1 + WORD $0x01b0 // mov al, 1 + WORD $0xe0d2 // shl al, cl + WORD $0x2044; BYTE $0xc8 // and al, r9b + WORD $0xd830 // xor al, bl + LONG $0x3d448841; BYTE $0x00 // mov byte [r13 + rdi], al + WORD $0x3949; BYTE $0xf2 // cmp r10, rsi + JNE LBB5_139 + JMP LBB5_155 + +LBB5_49: WORD $0xff83; BYTE $0x07 // cmp edi, 7 - JE LBB5_117 + JE LBB5_123 WORD $0xff83; BYTE $0x08 // cmp edi, 8 - JNE LBB5_157 + JNE LBB5_164 WORD $0x8b4c; BYTE $0x36 // mov r14, qword [rsi] LONG $0x1f5a8d4d // lea r11, [r10 + 31] WORD $0x854d; BYTE $0xd2 // test r10, r10 @@ -27264,10 +28451,10 @@ LBB5_46: LONG $0xc1490f41 // cmovns eax, r9d WORD $0xe083; BYTE $0xf8 // and eax, -8 WORD $0x2941; BYTE $0xc1 // sub r9d, eax - JE LBB5_52 + JE LBB5_55 WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d -LBB5_50: +LBB5_53: WORD $0x3b4c; BYTE $0x32 // cmp r14, qword [rdx] LONG $0x08528d48 // lea rdx, [rdx + 8] WORD $0x950f; BYTE $0xd3 // setne bl @@ -27276,7 +28463,8 @@ LBB5_50: WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xf0490f48 // cmovns rsi, rax LONG $0x03fec148 // sar rsi, 3 - LONG $0x04b60f45; BYTE $0x37 // movzx r8d, byte [r15 + rsi] + WORD $0x894d; BYTE $0xe9 // mov r9, r13 + LONG $0x44b60f45; WORD $0x0035 // movzx r8d, byte [r13 + rsi] WORD $0x3044; BYTE $0xc3 // xor bl, r8b LONG $0x00f53c8d; WORD $0x0000; BYTE $0x00 // lea edi, [8*rsi] WORD $0xc189 // mov ecx, eax @@ -27285,22 +28473,22 @@ LBB5_50: WORD $0xe7d3 // shl edi, cl WORD $0x2040; BYTE $0xdf // and dil, bl WORD $0x3044; BYTE $0xc7 // xor dil, r8b - LONG $0x373c8841 // mov byte [r15 + rsi], dil + LONG $0x357c8841; BYTE $0x00 // mov byte [r13 + rsi], dil LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 - JNE LBB5_50 - LONG $0x01c78349 // add r15, 1 + JNE LBB5_53 + LONG $0x01c58349 // add r13, 1 -LBB5_52: +LBB5_55: LONG $0x05fbc149 // sar r11, 5 LONG $0x20fa8349 // cmp r10, 32 - JL LBB5_56 + JL LBB5_59 QUAD $0x000001182494894c // mov qword [rsp + 280], r10 - QUAD $0x000000b0249c894c // mov qword [rsp + 176], r11 QUAD $0x000000a0249c894c // mov qword [rsp + 160], r11 + QUAD $0x000000a8249c894c // mov qword [rsp + 168], r11 -LBB5_54: - QUAD $0x0000011024bc894c // mov qword [rsp + 272], r15 +LBB5_57: + QUAD $0x0000011024ac894c // mov qword [rsp + 272], r13 LONG $0xf8b23b4c; WORD $0x0000; BYTE $0x00 // cmp r14, qword [rdx + 248] LONG $0x2454950f; BYTE $0x1c // setne byte [rsp + 28] LONG $0xf0b23b4c; WORD $0x0000; BYTE $0x00 // cmp r14, qword [rdx + 240] @@ -27310,31 +28498,31 @@ LBB5_54: LONG $0xe0b23b4c; WORD $0x0000; BYTE $0x00 // cmp r14, qword [rdx + 224] LONG $0x2454950f; BYTE $0x20 // setne byte [rsp + 32] LONG $0xd8b23b4c; WORD $0x0000; BYTE $0x00 // cmp r14, qword [rdx + 216] - LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] - LONG $0xd0b23b4c; WORD $0x0000; BYTE $0x00 // cmp r14, qword [rdx + 208] LONG $0x2454950f; BYTE $0x38 // setne byte [rsp + 56] - LONG $0xc8b23b4c; WORD $0x0000; BYTE $0x00 // cmp r14, qword [rdx + 200] + LONG $0xd0b23b4c; WORD $0x0000; BYTE $0x00 // cmp r14, qword [rdx + 208] LONG $0x2454950f; BYTE $0x30 // setne byte [rsp + 48] + LONG $0xc8b23b4c; WORD $0x0000; BYTE $0x00 // cmp r14, qword [rdx + 200] + LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] LONG $0xb8b23b4c; WORD $0x0000; BYTE $0x00 // cmp r14, qword [rdx + 184] LONG $0x2454950f; BYTE $0x48 // setne byte [rsp + 72] LONG $0xb0b23b4c; WORD $0x0000; BYTE $0x00 // cmp r14, qword [rdx + 176] LONG $0x2454950f; BYTE $0x40 // setne byte [rsp + 64] LONG $0xa8b23b4c; WORD $0x0000; BYTE $0x00 // cmp r14, qword [rdx + 168] - LONG $0x2454950f; BYTE $0x68 // setne byte [rsp + 104] - LONG $0xa0b23b4c; WORD $0x0000; BYTE $0x00 // cmp r14, qword [rdx + 160] LONG $0x2454950f; BYTE $0x60 // setne byte [rsp + 96] - LONG $0x98b23b4c; WORD $0x0000; BYTE $0x00 // cmp r14, qword [rdx + 152] + LONG $0xa0b23b4c; WORD $0x0000; BYTE $0x00 // cmp r14, qword [rdx + 160] LONG $0x2454950f; BYTE $0x58 // setne byte [rsp + 88] - LONG $0x90b23b4c; WORD $0x0000; BYTE $0x00 // cmp r14, qword [rdx + 144] + LONG $0x98b23b4c; WORD $0x0000; BYTE $0x00 // cmp r14, qword [rdx + 152] LONG $0x2454950f; BYTE $0x50 // setne byte [rsp + 80] - LONG $0x88b23b4c; WORD $0x0000; BYTE $0x00 // cmp r14, qword [rdx + 136] + LONG $0x90b23b4c; WORD $0x0000; BYTE $0x00 // cmp r14, qword [rdx + 144] QUAD $0x000000902494950f // setne byte [rsp + 144] + LONG $0x88b23b4c; WORD $0x0000; BYTE $0x00 // cmp r14, qword [rdx + 136] + QUAD $0x000000882494950f // setne byte [rsp + 136] LONG $0x78723b4c // cmp r14, qword [rdx + 120] LONG $0xd0950f41 // setne r8b LONG $0x70723b4c // cmp r14, qword [rdx + 112] - QUAD $0x000000802494950f // setne byte [rsp + 128] - LONG $0x68723b4c // cmp r14, qword [rdx + 104] LONG $0x2454950f; BYTE $0x78 // setne byte [rsp + 120] + LONG $0x68723b4c // cmp r14, qword [rdx + 104] + LONG $0x2454950f; BYTE $0x70 // setne byte [rsp + 112] LONG $0x60723b4c // cmp r14, qword [rdx + 96] LONG $0xd3950f41 // setne r11b LONG $0x58723b4c // cmp r14, qword [rdx + 88] @@ -27352,28 +28540,28 @@ LBB5_54: LONG $0x20723b4c // cmp r14, qword [rdx + 32] WORD $0x950f; BYTE $0xd1 // setne cl LONG $0x18723b4c // cmp r14, qword [rdx + 24] - LONG $0xd5950f41 // setne r13b - LONG $0x10723b4c // cmp r14, qword [rdx + 16] LONG $0xd4950f41 // setne r12b + LONG $0x10723b4c // cmp r14, qword [rdx + 16] + LONG $0xd5950f41 // setne r13b WORD $0x3b4c; BYTE $0x32 // cmp r14, qword [rdx] - QUAD $0x000000a82494950f // setne byte [rsp + 168] + QUAD $0x000000b02494950f // setne byte [rsp + 176] LONG $0x08723b4c // cmp r14, qword [rdx + 8] LONG $0xd7950f41 // setne r15b LONG $0x40723b4c // cmp r14, qword [rdx + 64] QUAD $0x000000982494950f // setne byte [rsp + 152] LONG $0x80b23b4c; WORD $0x0000; BYTE $0x00 // cmp r14, qword [rdx + 128] - LONG $0x2454950f; BYTE $0x70 // setne byte [rsp + 112] + LONG $0x2454950f; BYTE $0x68 // setne byte [rsp + 104] LONG $0xc0b23b4c; WORD $0x0000; BYTE $0x00 // cmp r14, qword [rdx + 192] - QUAD $0x000000882494950f // setne byte [rsp + 136] + QUAD $0x000000802494950f // setne byte [rsp + 128] WORD $0x0045; BYTE $0xff // add r15b, r15b - QUAD $0x000000a824bc0244 // add r15b, byte [rsp + 168] - LONG $0x02e4c041 // shl r12b, 2 - WORD $0x0845; BYTE $0xfc // or r12b, r15b + QUAD $0x000000b024bc0244 // add r15b, byte [rsp + 176] + LONG $0x02e5c041 // shl r13b, 2 + WORD $0x0845; BYTE $0xfd // or r13b, r15b QUAD $0x0000011024bc8b4c // mov r15, qword [rsp + 272] - LONG $0x03e5c041 // shl r13b, 3 - WORD $0x0845; BYTE $0xe5 // or r13b, r12b + LONG $0x03e4c041 // shl r12b, 3 + WORD $0x0845; BYTE $0xec // or r12b, r13b WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0x0844; BYTE $0xe9 // or cl, r13b + WORD $0x0844; BYTE $0xe1 // or cl, r12b LONG $0x05e6c040 // shl sil, 5 WORD $0x0840; BYTE $0xce // or sil, cl WORD $0xe3c0; BYTE $0x06 // shl bl, 6 @@ -27389,32 +28577,32 @@ LBB5_54: WORD $0x0845; BYTE $0xca // or r10b, r9b LONG $0x04e3c041 // shl r11b, 4 WORD $0x0845; BYTE $0xd3 // or r11b, r10b - LONG $0x2444b60f; BYTE $0x78 // movzx eax, byte [rsp + 120] + LONG $0x2444b60f; BYTE $0x70 // movzx eax, byte [rsp + 112] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0x0844; BYTE $0xd8 // or al, r11b - QUAD $0x00000080248cb60f // movzx ecx, byte [rsp + 128] + LONG $0x244cb60f; BYTE $0x78 // movzx ecx, byte [rsp + 120] WORD $0xe1c0; BYTE $0x06 // shl cl, 6 LONG $0x07e0c041 // shl r8b, 7 WORD $0x0841; BYTE $0xc8 // or r8b, cl WORD $0x0841; BYTE $0xc0 // or r8b, al LONG $0x01478845 // mov byte [r15 + 1], r8b - QUAD $0x000000902484b60f // movzx eax, byte [rsp + 144] + QUAD $0x000000882484b60f // movzx eax, byte [rsp + 136] WORD $0xc000 // add al, al - LONG $0x70244402 // add al, byte [rsp + 112] + LONG $0x68244402 // add al, byte [rsp + 104] WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x50 // movzx eax, byte [rsp + 80] + QUAD $0x000000902484b60f // movzx eax, byte [rsp + 144] WORD $0xe0c0; BYTE $0x02 // shl al, 2 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x58 // movzx eax, byte [rsp + 88] + LONG $0x2444b60f; BYTE $0x50 // movzx eax, byte [rsp + 80] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x60 // movzx eax, byte [rsp + 96] + LONG $0x2444b60f; BYTE $0x58 // movzx eax, byte [rsp + 88] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x68 // movzx eax, byte [rsp + 104] + LONG $0x2444b60f; BYTE $0x60 // movzx eax, byte [rsp + 96] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax @@ -27425,15 +28613,15 @@ LBB5_54: WORD $0xd808 // or al, bl WORD $0xc808 // or al, cl LONG $0x02478841 // mov byte [r15 + 2], al - LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] + LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] WORD $0xc000 // add al, al - LONG $0x88248402; WORD $0x0000; BYTE $0x00 // add al, byte [rsp + 136] + LONG $0x80248402; WORD $0x0000; BYTE $0x00 // add al, byte [rsp + 128] WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x38 // movzx eax, byte [rsp + 56] + LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] WORD $0xe0c0; BYTE $0x02 // shl al, 2 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] + LONG $0x2444b60f; BYTE $0x38 // movzx eax, byte [rsp + 56] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax @@ -27454,56 +28642,58 @@ LBB5_54: LONG $0x03478841 // mov byte [r15 + 3], al LONG $0x00c28148; WORD $0x0001; BYTE $0x00 // add rdx, 256 LONG $0x04c78349 // add r15, 4 - QUAD $0x000000a024848348; BYTE $0xff // add qword [rsp + 160], -1 - JNE LBB5_54 + WORD $0x894d; BYTE $0xfd // mov r13, r15 + QUAD $0x000000a824848348; BYTE $0xff // add qword [rsp + 168], -1 + JNE LBB5_57 QUAD $0x0000011824948b4c // mov r10, qword [rsp + 280] - QUAD $0x000000b0249c8b4c // mov r11, qword [rsp + 176] + QUAD $0x000000a0249c8b4c // mov r11, qword [rsp + 160] -LBB5_56: +LBB5_59: LONG $0x05e3c149 // shl r11, 5 WORD $0x394d; BYTE $0xd3 // cmp r11, r10 - JGE LBB5_157 + JGE LBB5_164 WORD $0x894d; BYTE $0xd0 // mov r8, r10 WORD $0x294d; BYTE $0xd8 // sub r8, r11 WORD $0xf749; BYTE $0xd3 // not r11 WORD $0x014d; BYTE $0xd3 // add r11, r10 - JE LBB5_93 + JE LBB5_96 WORD $0x894d; BYTE $0xc2 // mov r10, r8 LONG $0xfee28349 // and r10, -2 WORD $0xff31 // xor edi, edi -LBB5_59: - WORD $0x3b4c; BYTE $0x32 // cmp r14, qword [rdx] - WORD $0x950f; BYTE $0xd0 // setne al - WORD $0xd8f6 // neg al - WORD $0x8948; BYTE $0xfe // mov rsi, rdi - LONG $0x03eec148 // shr rsi, 3 - LONG $0x0cb60f45; BYTE $0x37 // movzx r9d, byte [r15 + rsi] - WORD $0xf989 // mov ecx, edi - WORD $0xe180; BYTE $0x06 // and cl, 6 - WORD $0x01b3 // mov bl, 1 - WORD $0xe3d2 // shl bl, cl - WORD $0x3044; BYTE $0xc8 // xor al, r9b - WORD $0xc320 // and bl, al - WORD $0x3044; BYTE $0xcb // xor bl, r9b - LONG $0x371c8841 // mov byte [r15 + rsi], bl - LONG $0x02c78348 // add rdi, 2 - LONG $0x08723b4c // cmp r14, qword [rdx + 8] - LONG $0x10528d48 // lea rdx, [rdx + 16] - LONG $0xd1950f41 // setne r9b - WORD $0xf641; BYTE $0xd9 // neg r9b - WORD $0x3041; BYTE $0xd9 // xor r9b, bl - WORD $0xc980; BYTE $0x01 // or cl, 1 - WORD $0x01b0 // mov al, 1 - WORD $0xe0d2 // shl al, cl - WORD $0x2044; BYTE $0xc8 // and al, r9b - WORD $0xd830 // xor al, bl - LONG $0x37048841 // mov byte [r15 + rsi], al - WORD $0x3949; BYTE $0xfa // cmp r10, rdi - JNE LBB5_59 +LBB5_62: + WORD $0x3b4c; BYTE $0x32 // cmp r14, qword [rdx] + WORD $0x950f; BYTE $0xd0 // setne al + WORD $0xd8f6 // neg al + WORD $0x8948; BYTE $0xfe // mov rsi, rdi + LONG $0x03eec148 // shr rsi, 3 + WORD $0x894d; BYTE $0xeb // mov r11, r13 + LONG $0x4cb60f45; WORD $0x0035 // movzx r9d, byte [r13 + rsi] + WORD $0xf989 // mov ecx, edi + WORD $0xe180; BYTE $0x06 // and cl, 6 + WORD $0x01b3 // mov bl, 1 + WORD $0xe3d2 // shl bl, cl + WORD $0x3044; BYTE $0xc8 // xor al, r9b + WORD $0xc320 // and bl, al + WORD $0x3044; BYTE $0xcb // xor bl, r9b + LONG $0x355c8841; BYTE $0x00 // mov byte [r13 + rsi], bl + LONG $0x02c78348 // add rdi, 2 + LONG $0x08723b4c // cmp r14, qword [rdx + 8] + LONG $0x10528d48 // lea rdx, [rdx + 16] + LONG $0xd1950f41 // setne r9b + WORD $0xf641; BYTE $0xd9 // neg r9b + WORD $0x3041; BYTE $0xd9 // xor r9b, bl + WORD $0xc980; BYTE $0x01 // or cl, 1 + WORD $0x01b0 // mov al, 1 + WORD $0xe0d2 // shl al, cl + WORD $0x2044; BYTE $0xc8 // and al, r9b + WORD $0xd830 // xor al, bl + LONG $0x35448841; BYTE $0x00 // mov byte [r13 + rsi], al + WORD $0x3949; BYTE $0xfa // cmp r10, rdi + JNE LBB5_62 JMP LBB5_146 -LBB5_60: +LBB5_63: LONG $0x36b70f44 // movzx r14d, word [rsi] LONG $0x1f5a8d4d // lea r11, [r10 + 31] WORD $0x854d; BYTE $0xd2 // test r10, r10 @@ -27513,10 +28703,10 @@ LBB5_60: LONG $0xc1490f41 // cmovns eax, r9d WORD $0xe083; BYTE $0xf8 // and eax, -8 WORD $0x2941; BYTE $0xc1 // sub r9d, eax - JE LBB5_64 + JE LBB5_67 WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d -LBB5_62: +LBB5_65: LONG $0x323b4466 // cmp r14w, word [rdx] LONG $0x02528d48 // lea rdx, [rdx + 2] WORD $0x950f; BYTE $0xd3 // setne bl @@ -27525,7 +28715,8 @@ LBB5_62: WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xf0490f48 // cmovns rsi, rax LONG $0x03fec148 // sar rsi, 3 - LONG $0x04b60f45; BYTE $0x37 // movzx r8d, byte [r15 + rsi] + WORD $0x894d; BYTE $0xe9 // mov r9, r13 + LONG $0x44b60f45; WORD $0x0035 // movzx r8d, byte [r13 + rsi] WORD $0x3044; BYTE $0xc3 // xor bl, r8b LONG $0x00f53c8d; WORD $0x0000; BYTE $0x00 // lea edi, [8*rsi] WORD $0xc189 // mov ecx, eax @@ -27534,22 +28725,22 @@ LBB5_62: WORD $0xe7d3 // shl edi, cl WORD $0x2040; BYTE $0xdf // and dil, bl WORD $0x3044; BYTE $0xc7 // xor dil, r8b - LONG $0x373c8841 // mov byte [r15 + rsi], dil + LONG $0x357c8841; BYTE $0x00 // mov byte [r13 + rsi], dil LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 - JNE LBB5_62 - LONG $0x01c78349 // add r15, 1 + JNE LBB5_65 + LONG $0x01c58349 // add r13, 1 -LBB5_64: +LBB5_67: LONG $0x05fbc149 // sar r11, 5 LONG $0x20fa8349 // cmp r10, 32 - JL LBB5_68 + JL LBB5_71 QUAD $0x000001182494894c // mov qword [rsp + 280], r10 - QUAD $0x000000b0249c894c // mov qword [rsp + 176], r11 QUAD $0x000000a0249c894c // mov qword [rsp + 160], r11 + QUAD $0x000000a8249c894c // mov qword [rsp + 168], r11 -LBB5_66: - QUAD $0x0000011024bc894c // mov qword [rsp + 272], r15 +LBB5_69: + QUAD $0x0000011024ac894c // mov qword [rsp + 272], r13 LONG $0x723b4466; BYTE $0x3e // cmp r14w, word [rdx + 62] LONG $0x2454950f; BYTE $0x1c // setne byte [rsp + 28] LONG $0x723b4466; BYTE $0x3c // cmp r14w, word [rdx + 60] @@ -27559,31 +28750,31 @@ LBB5_66: LONG $0x723b4466; BYTE $0x38 // cmp r14w, word [rdx + 56] LONG $0x2454950f; BYTE $0x20 // setne byte [rsp + 32] LONG $0x723b4466; BYTE $0x36 // cmp r14w, word [rdx + 54] - LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] - LONG $0x723b4466; BYTE $0x34 // cmp r14w, word [rdx + 52] LONG $0x2454950f; BYTE $0x38 // setne byte [rsp + 56] - LONG $0x723b4466; BYTE $0x32 // cmp r14w, word [rdx + 50] + LONG $0x723b4466; BYTE $0x34 // cmp r14w, word [rdx + 52] LONG $0x2454950f; BYTE $0x30 // setne byte [rsp + 48] + LONG $0x723b4466; BYTE $0x32 // cmp r14w, word [rdx + 50] + LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] LONG $0x723b4466; BYTE $0x2e // cmp r14w, word [rdx + 46] LONG $0x2454950f; BYTE $0x48 // setne byte [rsp + 72] LONG $0x723b4466; BYTE $0x2c // cmp r14w, word [rdx + 44] LONG $0x2454950f; BYTE $0x40 // setne byte [rsp + 64] LONG $0x723b4466; BYTE $0x2a // cmp r14w, word [rdx + 42] - LONG $0x2454950f; BYTE $0x68 // setne byte [rsp + 104] - LONG $0x723b4466; BYTE $0x28 // cmp r14w, word [rdx + 40] LONG $0x2454950f; BYTE $0x60 // setne byte [rsp + 96] - LONG $0x723b4466; BYTE $0x26 // cmp r14w, word [rdx + 38] + LONG $0x723b4466; BYTE $0x28 // cmp r14w, word [rdx + 40] LONG $0x2454950f; BYTE $0x58 // setne byte [rsp + 88] - LONG $0x723b4466; BYTE $0x24 // cmp r14w, word [rdx + 36] + LONG $0x723b4466; BYTE $0x26 // cmp r14w, word [rdx + 38] LONG $0x2454950f; BYTE $0x50 // setne byte [rsp + 80] - LONG $0x723b4466; BYTE $0x22 // cmp r14w, word [rdx + 34] + LONG $0x723b4466; BYTE $0x24 // cmp r14w, word [rdx + 36] QUAD $0x000000902494950f // setne byte [rsp + 144] + LONG $0x723b4466; BYTE $0x22 // cmp r14w, word [rdx + 34] + QUAD $0x000000882494950f // setne byte [rsp + 136] LONG $0x723b4466; BYTE $0x1e // cmp r14w, word [rdx + 30] LONG $0xd0950f41 // setne r8b LONG $0x723b4466; BYTE $0x1c // cmp r14w, word [rdx + 28] - QUAD $0x000000802494950f // setne byte [rsp + 128] - LONG $0x723b4466; BYTE $0x1a // cmp r14w, word [rdx + 26] LONG $0x2454950f; BYTE $0x78 // setne byte [rsp + 120] + LONG $0x723b4466; BYTE $0x1a // cmp r14w, word [rdx + 26] + LONG $0x2454950f; BYTE $0x70 // setne byte [rsp + 112] LONG $0x723b4466; BYTE $0x18 // cmp r14w, word [rdx + 24] LONG $0xd3950f41 // setne r11b LONG $0x723b4466; BYTE $0x16 // cmp r14w, word [rdx + 22] @@ -27601,28 +28792,28 @@ LBB5_66: LONG $0x723b4466; BYTE $0x08 // cmp r14w, word [rdx + 8] WORD $0x950f; BYTE $0xd1 // setne cl LONG $0x723b4466; BYTE $0x06 // cmp r14w, word [rdx + 6] - LONG $0xd5950f41 // setne r13b - LONG $0x723b4466; BYTE $0x04 // cmp r14w, word [rdx + 4] LONG $0xd4950f41 // setne r12b + LONG $0x723b4466; BYTE $0x04 // cmp r14w, word [rdx + 4] + LONG $0xd5950f41 // setne r13b LONG $0x323b4466 // cmp r14w, word [rdx] - QUAD $0x000000a82494950f // setne byte [rsp + 168] + QUAD $0x000000b02494950f // setne byte [rsp + 176] LONG $0x723b4466; BYTE $0x02 // cmp r14w, word [rdx + 2] LONG $0xd7950f41 // setne r15b LONG $0x723b4466; BYTE $0x10 // cmp r14w, word [rdx + 16] QUAD $0x000000982494950f // setne byte [rsp + 152] LONG $0x723b4466; BYTE $0x20 // cmp r14w, word [rdx + 32] - LONG $0x2454950f; BYTE $0x70 // setne byte [rsp + 112] + LONG $0x2454950f; BYTE $0x68 // setne byte [rsp + 104] LONG $0x723b4466; BYTE $0x30 // cmp r14w, word [rdx + 48] - QUAD $0x000000882494950f // setne byte [rsp + 136] + QUAD $0x000000802494950f // setne byte [rsp + 128] WORD $0x0045; BYTE $0xff // add r15b, r15b - QUAD $0x000000a824bc0244 // add r15b, byte [rsp + 168] - LONG $0x02e4c041 // shl r12b, 2 - WORD $0x0845; BYTE $0xfc // or r12b, r15b + QUAD $0x000000b024bc0244 // add r15b, byte [rsp + 176] + LONG $0x02e5c041 // shl r13b, 2 + WORD $0x0845; BYTE $0xfd // or r13b, r15b QUAD $0x0000011024bc8b4c // mov r15, qword [rsp + 272] - LONG $0x03e5c041 // shl r13b, 3 - WORD $0x0845; BYTE $0xe5 // or r13b, r12b + LONG $0x03e4c041 // shl r12b, 3 + WORD $0x0845; BYTE $0xec // or r12b, r13b WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0x0844; BYTE $0xe9 // or cl, r13b + WORD $0x0844; BYTE $0xe1 // or cl, r12b LONG $0x05e6c040 // shl sil, 5 WORD $0x0840; BYTE $0xce // or sil, cl WORD $0xe3c0; BYTE $0x06 // shl bl, 6 @@ -27638,32 +28829,32 @@ LBB5_66: WORD $0x0845; BYTE $0xca // or r10b, r9b LONG $0x04e3c041 // shl r11b, 4 WORD $0x0845; BYTE $0xd3 // or r11b, r10b - LONG $0x2444b60f; BYTE $0x78 // movzx eax, byte [rsp + 120] + LONG $0x2444b60f; BYTE $0x70 // movzx eax, byte [rsp + 112] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0x0844; BYTE $0xd8 // or al, r11b - QUAD $0x00000080248cb60f // movzx ecx, byte [rsp + 128] + LONG $0x244cb60f; BYTE $0x78 // movzx ecx, byte [rsp + 120] WORD $0xe1c0; BYTE $0x06 // shl cl, 6 LONG $0x07e0c041 // shl r8b, 7 WORD $0x0841; BYTE $0xc8 // or r8b, cl WORD $0x0841; BYTE $0xc0 // or r8b, al LONG $0x01478845 // mov byte [r15 + 1], r8b - QUAD $0x000000902484b60f // movzx eax, byte [rsp + 144] + QUAD $0x000000882484b60f // movzx eax, byte [rsp + 136] WORD $0xc000 // add al, al - LONG $0x70244402 // add al, byte [rsp + 112] + LONG $0x68244402 // add al, byte [rsp + 104] WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x50 // movzx eax, byte [rsp + 80] + QUAD $0x000000902484b60f // movzx eax, byte [rsp + 144] WORD $0xe0c0; BYTE $0x02 // shl al, 2 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x58 // movzx eax, byte [rsp + 88] + LONG $0x2444b60f; BYTE $0x50 // movzx eax, byte [rsp + 80] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x60 // movzx eax, byte [rsp + 96] + LONG $0x2444b60f; BYTE $0x58 // movzx eax, byte [rsp + 88] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x68 // movzx eax, byte [rsp + 104] + LONG $0x2444b60f; BYTE $0x60 // movzx eax, byte [rsp + 96] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax @@ -27674,15 +28865,15 @@ LBB5_66: WORD $0xd808 // or al, bl WORD $0xc808 // or al, cl LONG $0x02478841 // mov byte [r15 + 2], al - LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] + LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] WORD $0xc000 // add al, al - LONG $0x88248402; WORD $0x0000; BYTE $0x00 // add al, byte [rsp + 136] + LONG $0x80248402; WORD $0x0000; BYTE $0x00 // add al, byte [rsp + 128] WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x38 // movzx eax, byte [rsp + 56] + LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] WORD $0xe0c0; BYTE $0x02 // shl al, 2 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] + LONG $0x2444b60f; BYTE $0x38 // movzx eax, byte [rsp + 56] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax @@ -27703,56 +28894,58 @@ LBB5_66: LONG $0x03478841 // mov byte [r15 + 3], al LONG $0x40c28348 // add rdx, 64 LONG $0x04c78349 // add r15, 4 - QUAD $0x000000a024848348; BYTE $0xff // add qword [rsp + 160], -1 - JNE LBB5_66 + WORD $0x894d; BYTE $0xfd // mov r13, r15 + QUAD $0x000000a824848348; BYTE $0xff // add qword [rsp + 168], -1 + JNE LBB5_69 QUAD $0x0000011824948b4c // mov r10, qword [rsp + 280] - QUAD $0x000000b0249c8b4c // mov r11, qword [rsp + 176] + QUAD $0x000000a0249c8b4c // mov r11, qword [rsp + 160] -LBB5_68: +LBB5_71: LONG $0x05e3c149 // shl r11, 5 WORD $0x394d; BYTE $0xd3 // cmp r11, r10 - JGE LBB5_157 + JGE LBB5_164 WORD $0x894d; BYTE $0xd0 // mov r8, r10 WORD $0x294d; BYTE $0xd8 // sub r8, r11 WORD $0xf749; BYTE $0xd3 // not r11 WORD $0x014d; BYTE $0xd3 // add r11, r10 - JE LBB5_82 + JE LBB5_85 WORD $0x894d; BYTE $0xc2 // mov r10, r8 LONG $0xfee28349 // and r10, -2 WORD $0xff31 // xor edi, edi -LBB5_71: - LONG $0x323b4466 // cmp r14w, word [rdx] - WORD $0x950f; BYTE $0xd0 // setne al - WORD $0xd8f6 // neg al - WORD $0x8948; BYTE $0xfe // mov rsi, rdi - LONG $0x03eec148 // shr rsi, 3 - LONG $0x0cb60f45; BYTE $0x37 // movzx r9d, byte [r15 + rsi] - WORD $0xf989 // mov ecx, edi - WORD $0xe180; BYTE $0x06 // and cl, 6 - WORD $0x01b3 // mov bl, 1 - WORD $0xe3d2 // shl bl, cl - WORD $0x3044; BYTE $0xc8 // xor al, r9b - WORD $0xc320 // and bl, al - WORD $0x3044; BYTE $0xcb // xor bl, r9b - LONG $0x371c8841 // mov byte [r15 + rsi], bl - LONG $0x02c78348 // add rdi, 2 - LONG $0x723b4466; BYTE $0x02 // cmp r14w, word [rdx + 2] - LONG $0x04528d48 // lea rdx, [rdx + 4] - LONG $0xd1950f41 // setne r9b - WORD $0xf641; BYTE $0xd9 // neg r9b - WORD $0x3041; BYTE $0xd9 // xor r9b, bl - WORD $0xc980; BYTE $0x01 // or cl, 1 - WORD $0x01b0 // mov al, 1 - WORD $0xe0d2 // shl al, cl - WORD $0x2044; BYTE $0xc8 // and al, r9b - WORD $0xd830 // xor al, bl - LONG $0x37048841 // mov byte [r15 + rsi], al - WORD $0x3949; BYTE $0xfa // cmp r10, rdi - JNE LBB5_71 +LBB5_74: + LONG $0x323b4466 // cmp r14w, word [rdx] + WORD $0x950f; BYTE $0xd0 // setne al + WORD $0xd8f6 // neg al + WORD $0x8948; BYTE $0xfe // mov rsi, rdi + LONG $0x03eec148 // shr rsi, 3 + WORD $0x894d; BYTE $0xeb // mov r11, r13 + LONG $0x4cb60f45; WORD $0x0035 // movzx r9d, byte [r13 + rsi] + WORD $0xf989 // mov ecx, edi + WORD $0xe180; BYTE $0x06 // and cl, 6 + WORD $0x01b3 // mov bl, 1 + WORD $0xe3d2 // shl bl, cl + WORD $0x3044; BYTE $0xc8 // xor al, r9b + WORD $0xc320 // and bl, al + WORD $0x3044; BYTE $0xcb // xor bl, r9b + LONG $0x355c8841; BYTE $0x00 // mov byte [r13 + rsi], bl + LONG $0x02c78348 // add rdi, 2 + LONG $0x723b4466; BYTE $0x02 // cmp r14w, word [rdx + 2] + LONG $0x04528d48 // lea rdx, [rdx + 4] + LONG $0xd1950f41 // setne r9b + WORD $0xf641; BYTE $0xd9 // neg r9b + WORD $0x3041; BYTE $0xd9 // xor r9b, bl + WORD $0xc980; BYTE $0x01 // or cl, 1 + WORD $0x01b0 // mov al, 1 + WORD $0xe0d2 // shl al, cl + WORD $0x2044; BYTE $0xc8 // and al, r9b + WORD $0xd830 // xor al, bl + LONG $0x35448841; BYTE $0x00 // mov byte [r13 + rsi], al + WORD $0x3949; BYTE $0xfa // cmp r10, rdi + JNE LBB5_74 JMP LBB5_142 -LBB5_72: +LBB5_75: LONG $0x36b70f44 // movzx r14d, word [rsi] LONG $0x1f5a8d4d // lea r11, [r10 + 31] WORD $0x854d; BYTE $0xd2 // test r10, r10 @@ -27762,10 +28955,10 @@ LBB5_72: LONG $0xc1490f41 // cmovns eax, r9d WORD $0xe083; BYTE $0xf8 // and eax, -8 WORD $0x2941; BYTE $0xc1 // sub r9d, eax - JE LBB5_76 + JE LBB5_79 WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d -LBB5_74: +LBB5_77: LONG $0x323b4466 // cmp r14w, word [rdx] LONG $0x02528d48 // lea rdx, [rdx + 2] WORD $0x950f; BYTE $0xd3 // setne bl @@ -27774,7 +28967,8 @@ LBB5_74: WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xf0490f48 // cmovns rsi, rax LONG $0x03fec148 // sar rsi, 3 - LONG $0x04b60f45; BYTE $0x37 // movzx r8d, byte [r15 + rsi] + WORD $0x894d; BYTE $0xe9 // mov r9, r13 + LONG $0x44b60f45; WORD $0x0035 // movzx r8d, byte [r13 + rsi] WORD $0x3044; BYTE $0xc3 // xor bl, r8b LONG $0x00f53c8d; WORD $0x0000; BYTE $0x00 // lea edi, [8*rsi] WORD $0xc189 // mov ecx, eax @@ -27783,22 +28977,22 @@ LBB5_74: WORD $0xe7d3 // shl edi, cl WORD $0x2040; BYTE $0xdf // and dil, bl WORD $0x3044; BYTE $0xc7 // xor dil, r8b - LONG $0x373c8841 // mov byte [r15 + rsi], dil + LONG $0x357c8841; BYTE $0x00 // mov byte [r13 + rsi], dil LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 - JNE LBB5_74 - LONG $0x01c78349 // add r15, 1 + JNE LBB5_77 + LONG $0x01c58349 // add r13, 1 -LBB5_76: +LBB5_79: LONG $0x05fbc149 // sar r11, 5 LONG $0x20fa8349 // cmp r10, 32 - JL LBB5_80 + JL LBB5_83 QUAD $0x000001182494894c // mov qword [rsp + 280], r10 - QUAD $0x000000b0249c894c // mov qword [rsp + 176], r11 QUAD $0x000000a0249c894c // mov qword [rsp + 160], r11 + QUAD $0x000000a8249c894c // mov qword [rsp + 168], r11 -LBB5_78: - QUAD $0x0000011024bc894c // mov qword [rsp + 272], r15 +LBB5_81: + QUAD $0x0000011024ac894c // mov qword [rsp + 272], r13 LONG $0x723b4466; BYTE $0x3e // cmp r14w, word [rdx + 62] LONG $0x2454950f; BYTE $0x1c // setne byte [rsp + 28] LONG $0x723b4466; BYTE $0x3c // cmp r14w, word [rdx + 60] @@ -27808,31 +29002,31 @@ LBB5_78: LONG $0x723b4466; BYTE $0x38 // cmp r14w, word [rdx + 56] LONG $0x2454950f; BYTE $0x20 // setne byte [rsp + 32] LONG $0x723b4466; BYTE $0x36 // cmp r14w, word [rdx + 54] - LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] - LONG $0x723b4466; BYTE $0x34 // cmp r14w, word [rdx + 52] LONG $0x2454950f; BYTE $0x38 // setne byte [rsp + 56] - LONG $0x723b4466; BYTE $0x32 // cmp r14w, word [rdx + 50] + LONG $0x723b4466; BYTE $0x34 // cmp r14w, word [rdx + 52] LONG $0x2454950f; BYTE $0x30 // setne byte [rsp + 48] + LONG $0x723b4466; BYTE $0x32 // cmp r14w, word [rdx + 50] + LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] LONG $0x723b4466; BYTE $0x2e // cmp r14w, word [rdx + 46] LONG $0x2454950f; BYTE $0x48 // setne byte [rsp + 72] LONG $0x723b4466; BYTE $0x2c // cmp r14w, word [rdx + 44] LONG $0x2454950f; BYTE $0x40 // setne byte [rsp + 64] LONG $0x723b4466; BYTE $0x2a // cmp r14w, word [rdx + 42] - LONG $0x2454950f; BYTE $0x68 // setne byte [rsp + 104] - LONG $0x723b4466; BYTE $0x28 // cmp r14w, word [rdx + 40] LONG $0x2454950f; BYTE $0x60 // setne byte [rsp + 96] - LONG $0x723b4466; BYTE $0x26 // cmp r14w, word [rdx + 38] + LONG $0x723b4466; BYTE $0x28 // cmp r14w, word [rdx + 40] LONG $0x2454950f; BYTE $0x58 // setne byte [rsp + 88] - LONG $0x723b4466; BYTE $0x24 // cmp r14w, word [rdx + 36] + LONG $0x723b4466; BYTE $0x26 // cmp r14w, word [rdx + 38] LONG $0x2454950f; BYTE $0x50 // setne byte [rsp + 80] - LONG $0x723b4466; BYTE $0x22 // cmp r14w, word [rdx + 34] + LONG $0x723b4466; BYTE $0x24 // cmp r14w, word [rdx + 36] QUAD $0x000000902494950f // setne byte [rsp + 144] + LONG $0x723b4466; BYTE $0x22 // cmp r14w, word [rdx + 34] + QUAD $0x000000882494950f // setne byte [rsp + 136] LONG $0x723b4466; BYTE $0x1e // cmp r14w, word [rdx + 30] LONG $0xd0950f41 // setne r8b LONG $0x723b4466; BYTE $0x1c // cmp r14w, word [rdx + 28] - QUAD $0x000000802494950f // setne byte [rsp + 128] - LONG $0x723b4466; BYTE $0x1a // cmp r14w, word [rdx + 26] LONG $0x2454950f; BYTE $0x78 // setne byte [rsp + 120] + LONG $0x723b4466; BYTE $0x1a // cmp r14w, word [rdx + 26] + LONG $0x2454950f; BYTE $0x70 // setne byte [rsp + 112] LONG $0x723b4466; BYTE $0x18 // cmp r14w, word [rdx + 24] LONG $0xd3950f41 // setne r11b LONG $0x723b4466; BYTE $0x16 // cmp r14w, word [rdx + 22] @@ -27850,28 +29044,28 @@ LBB5_78: LONG $0x723b4466; BYTE $0x08 // cmp r14w, word [rdx + 8] WORD $0x950f; BYTE $0xd1 // setne cl LONG $0x723b4466; BYTE $0x06 // cmp r14w, word [rdx + 6] - LONG $0xd5950f41 // setne r13b - LONG $0x723b4466; BYTE $0x04 // cmp r14w, word [rdx + 4] LONG $0xd4950f41 // setne r12b + LONG $0x723b4466; BYTE $0x04 // cmp r14w, word [rdx + 4] + LONG $0xd5950f41 // setne r13b LONG $0x323b4466 // cmp r14w, word [rdx] - QUAD $0x000000a82494950f // setne byte [rsp + 168] + QUAD $0x000000b02494950f // setne byte [rsp + 176] LONG $0x723b4466; BYTE $0x02 // cmp r14w, word [rdx + 2] LONG $0xd7950f41 // setne r15b LONG $0x723b4466; BYTE $0x10 // cmp r14w, word [rdx + 16] QUAD $0x000000982494950f // setne byte [rsp + 152] LONG $0x723b4466; BYTE $0x20 // cmp r14w, word [rdx + 32] - LONG $0x2454950f; BYTE $0x70 // setne byte [rsp + 112] + LONG $0x2454950f; BYTE $0x68 // setne byte [rsp + 104] LONG $0x723b4466; BYTE $0x30 // cmp r14w, word [rdx + 48] - QUAD $0x000000882494950f // setne byte [rsp + 136] + QUAD $0x000000802494950f // setne byte [rsp + 128] WORD $0x0045; BYTE $0xff // add r15b, r15b - QUAD $0x000000a824bc0244 // add r15b, byte [rsp + 168] - LONG $0x02e4c041 // shl r12b, 2 - WORD $0x0845; BYTE $0xfc // or r12b, r15b + QUAD $0x000000b024bc0244 // add r15b, byte [rsp + 176] + LONG $0x02e5c041 // shl r13b, 2 + WORD $0x0845; BYTE $0xfd // or r13b, r15b QUAD $0x0000011024bc8b4c // mov r15, qword [rsp + 272] - LONG $0x03e5c041 // shl r13b, 3 - WORD $0x0845; BYTE $0xe5 // or r13b, r12b + LONG $0x03e4c041 // shl r12b, 3 + WORD $0x0845; BYTE $0xec // or r12b, r13b WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0x0844; BYTE $0xe9 // or cl, r13b + WORD $0x0844; BYTE $0xe1 // or cl, r12b LONG $0x05e6c040 // shl sil, 5 WORD $0x0840; BYTE $0xce // or sil, cl WORD $0xe3c0; BYTE $0x06 // shl bl, 6 @@ -27887,32 +29081,32 @@ LBB5_78: WORD $0x0845; BYTE $0xca // or r10b, r9b LONG $0x04e3c041 // shl r11b, 4 WORD $0x0845; BYTE $0xd3 // or r11b, r10b - LONG $0x2444b60f; BYTE $0x78 // movzx eax, byte [rsp + 120] + LONG $0x2444b60f; BYTE $0x70 // movzx eax, byte [rsp + 112] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0x0844; BYTE $0xd8 // or al, r11b - QUAD $0x00000080248cb60f // movzx ecx, byte [rsp + 128] + LONG $0x244cb60f; BYTE $0x78 // movzx ecx, byte [rsp + 120] WORD $0xe1c0; BYTE $0x06 // shl cl, 6 LONG $0x07e0c041 // shl r8b, 7 WORD $0x0841; BYTE $0xc8 // or r8b, cl WORD $0x0841; BYTE $0xc0 // or r8b, al LONG $0x01478845 // mov byte [r15 + 1], r8b - QUAD $0x000000902484b60f // movzx eax, byte [rsp + 144] + QUAD $0x000000882484b60f // movzx eax, byte [rsp + 136] WORD $0xc000 // add al, al - LONG $0x70244402 // add al, byte [rsp + 112] + LONG $0x68244402 // add al, byte [rsp + 104] WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x50 // movzx eax, byte [rsp + 80] + QUAD $0x000000902484b60f // movzx eax, byte [rsp + 144] WORD $0xe0c0; BYTE $0x02 // shl al, 2 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x58 // movzx eax, byte [rsp + 88] + LONG $0x2444b60f; BYTE $0x50 // movzx eax, byte [rsp + 80] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x60 // movzx eax, byte [rsp + 96] + LONG $0x2444b60f; BYTE $0x58 // movzx eax, byte [rsp + 88] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x68 // movzx eax, byte [rsp + 104] + LONG $0x2444b60f; BYTE $0x60 // movzx eax, byte [rsp + 96] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax @@ -27923,15 +29117,15 @@ LBB5_78: WORD $0xd808 // or al, bl WORD $0xc808 // or al, cl LONG $0x02478841 // mov byte [r15 + 2], al - LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] + LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] WORD $0xc000 // add al, al - LONG $0x88248402; WORD $0x0000; BYTE $0x00 // add al, byte [rsp + 136] + LONG $0x80248402; WORD $0x0000; BYTE $0x00 // add al, byte [rsp + 128] WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x38 // movzx eax, byte [rsp + 56] + LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] WORD $0xe0c0; BYTE $0x02 // shl al, 2 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] + LONG $0x2444b60f; BYTE $0x38 // movzx eax, byte [rsp + 56] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax @@ -27952,26 +29146,27 @@ LBB5_78: LONG $0x03478841 // mov byte [r15 + 3], al LONG $0x40c28348 // add rdx, 64 LONG $0x04c78349 // add r15, 4 - QUAD $0x000000a024848348; BYTE $0xff // add qword [rsp + 160], -1 - JNE LBB5_78 + WORD $0x894d; BYTE $0xfd // mov r13, r15 + QUAD $0x000000a824848348; BYTE $0xff // add qword [rsp + 168], -1 + JNE LBB5_81 QUAD $0x0000011824948b4c // mov r10, qword [rsp + 280] - QUAD $0x000000b0249c8b4c // mov r11, qword [rsp + 176] + QUAD $0x000000a0249c8b4c // mov r11, qword [rsp + 160] -LBB5_80: +LBB5_83: LONG $0x05e3c149 // shl r11, 5 WORD $0x394d; BYTE $0xd3 // cmp r11, r10 - JGE LBB5_157 + JGE LBB5_164 WORD $0x894d; BYTE $0xd0 // mov r8, r10 WORD $0x294d; BYTE $0xd8 // sub r8, r11 WORD $0xf749; BYTE $0xd3 // not r11 WORD $0x014d; BYTE $0xd3 // add r11, r10 JNE LBB5_140 -LBB5_82: +LBB5_85: WORD $0xff31 // xor edi, edi JMP LBB5_142 -LBB5_83: +LBB5_86: WORD $0x8b4c; BYTE $0x36 // mov r14, qword [rsi] LONG $0x1f5a8d4d // lea r11, [r10 + 31] WORD $0x854d; BYTE $0xd2 // test r10, r10 @@ -27981,10 +29176,10 @@ LBB5_83: LONG $0xc1490f41 // cmovns eax, r9d WORD $0xe083; BYTE $0xf8 // and eax, -8 WORD $0x2941; BYTE $0xc1 // sub r9d, eax - JE LBB5_87 + JE LBB5_90 WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d -LBB5_85: +LBB5_88: WORD $0x3b4c; BYTE $0x32 // cmp r14, qword [rdx] LONG $0x08528d48 // lea rdx, [rdx + 8] WORD $0x950f; BYTE $0xd3 // setne bl @@ -27993,7 +29188,8 @@ LBB5_85: WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xf0490f48 // cmovns rsi, rax LONG $0x03fec148 // sar rsi, 3 - LONG $0x04b60f45; BYTE $0x37 // movzx r8d, byte [r15 + rsi] + WORD $0x894d; BYTE $0xe9 // mov r9, r13 + LONG $0x44b60f45; WORD $0x0035 // movzx r8d, byte [r13 + rsi] WORD $0x3044; BYTE $0xc3 // xor bl, r8b LONG $0x00f53c8d; WORD $0x0000; BYTE $0x00 // lea edi, [8*rsi] WORD $0xc189 // mov ecx, eax @@ -28002,22 +29198,22 @@ LBB5_85: WORD $0xe7d3 // shl edi, cl WORD $0x2040; BYTE $0xdf // and dil, bl WORD $0x3044; BYTE $0xc7 // xor dil, r8b - LONG $0x373c8841 // mov byte [r15 + rsi], dil + LONG $0x357c8841; BYTE $0x00 // mov byte [r13 + rsi], dil LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 - JNE LBB5_85 - LONG $0x01c78349 // add r15, 1 + JNE LBB5_88 + LONG $0x01c58349 // add r13, 1 -LBB5_87: +LBB5_90: LONG $0x05fbc149 // sar r11, 5 LONG $0x20fa8349 // cmp r10, 32 - JL LBB5_91 + JL LBB5_94 QUAD $0x000001182494894c // mov qword [rsp + 280], r10 - QUAD $0x000000b0249c894c // mov qword [rsp + 176], r11 QUAD $0x000000a0249c894c // mov qword [rsp + 160], r11 + QUAD $0x000000a8249c894c // mov qword [rsp + 168], r11 -LBB5_89: - QUAD $0x0000011024bc894c // mov qword [rsp + 272], r15 +LBB5_92: + QUAD $0x0000011024ac894c // mov qword [rsp + 272], r13 LONG $0xf8b23b4c; WORD $0x0000; BYTE $0x00 // cmp r14, qword [rdx + 248] LONG $0x2454950f; BYTE $0x1c // setne byte [rsp + 28] LONG $0xf0b23b4c; WORD $0x0000; BYTE $0x00 // cmp r14, qword [rdx + 240] @@ -28027,31 +29223,31 @@ LBB5_89: LONG $0xe0b23b4c; WORD $0x0000; BYTE $0x00 // cmp r14, qword [rdx + 224] LONG $0x2454950f; BYTE $0x20 // setne byte [rsp + 32] LONG $0xd8b23b4c; WORD $0x0000; BYTE $0x00 // cmp r14, qword [rdx + 216] - LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] - LONG $0xd0b23b4c; WORD $0x0000; BYTE $0x00 // cmp r14, qword [rdx + 208] LONG $0x2454950f; BYTE $0x38 // setne byte [rsp + 56] - LONG $0xc8b23b4c; WORD $0x0000; BYTE $0x00 // cmp r14, qword [rdx + 200] + LONG $0xd0b23b4c; WORD $0x0000; BYTE $0x00 // cmp r14, qword [rdx + 208] LONG $0x2454950f; BYTE $0x30 // setne byte [rsp + 48] + LONG $0xc8b23b4c; WORD $0x0000; BYTE $0x00 // cmp r14, qword [rdx + 200] + LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] LONG $0xb8b23b4c; WORD $0x0000; BYTE $0x00 // cmp r14, qword [rdx + 184] LONG $0x2454950f; BYTE $0x48 // setne byte [rsp + 72] LONG $0xb0b23b4c; WORD $0x0000; BYTE $0x00 // cmp r14, qword [rdx + 176] LONG $0x2454950f; BYTE $0x40 // setne byte [rsp + 64] LONG $0xa8b23b4c; WORD $0x0000; BYTE $0x00 // cmp r14, qword [rdx + 168] - LONG $0x2454950f; BYTE $0x68 // setne byte [rsp + 104] - LONG $0xa0b23b4c; WORD $0x0000; BYTE $0x00 // cmp r14, qword [rdx + 160] LONG $0x2454950f; BYTE $0x60 // setne byte [rsp + 96] - LONG $0x98b23b4c; WORD $0x0000; BYTE $0x00 // cmp r14, qword [rdx + 152] + LONG $0xa0b23b4c; WORD $0x0000; BYTE $0x00 // cmp r14, qword [rdx + 160] LONG $0x2454950f; BYTE $0x58 // setne byte [rsp + 88] - LONG $0x90b23b4c; WORD $0x0000; BYTE $0x00 // cmp r14, qword [rdx + 144] + LONG $0x98b23b4c; WORD $0x0000; BYTE $0x00 // cmp r14, qword [rdx + 152] LONG $0x2454950f; BYTE $0x50 // setne byte [rsp + 80] - LONG $0x88b23b4c; WORD $0x0000; BYTE $0x00 // cmp r14, qword [rdx + 136] + LONG $0x90b23b4c; WORD $0x0000; BYTE $0x00 // cmp r14, qword [rdx + 144] QUAD $0x000000902494950f // setne byte [rsp + 144] + LONG $0x88b23b4c; WORD $0x0000; BYTE $0x00 // cmp r14, qword [rdx + 136] + QUAD $0x000000882494950f // setne byte [rsp + 136] LONG $0x78723b4c // cmp r14, qword [rdx + 120] LONG $0xd0950f41 // setne r8b LONG $0x70723b4c // cmp r14, qword [rdx + 112] - QUAD $0x000000802494950f // setne byte [rsp + 128] - LONG $0x68723b4c // cmp r14, qword [rdx + 104] LONG $0x2454950f; BYTE $0x78 // setne byte [rsp + 120] + LONG $0x68723b4c // cmp r14, qword [rdx + 104] + LONG $0x2454950f; BYTE $0x70 // setne byte [rsp + 112] LONG $0x60723b4c // cmp r14, qword [rdx + 96] LONG $0xd3950f41 // setne r11b LONG $0x58723b4c // cmp r14, qword [rdx + 88] @@ -28069,28 +29265,28 @@ LBB5_89: LONG $0x20723b4c // cmp r14, qword [rdx + 32] WORD $0x950f; BYTE $0xd1 // setne cl LONG $0x18723b4c // cmp r14, qword [rdx + 24] - LONG $0xd5950f41 // setne r13b - LONG $0x10723b4c // cmp r14, qword [rdx + 16] LONG $0xd4950f41 // setne r12b + LONG $0x10723b4c // cmp r14, qword [rdx + 16] + LONG $0xd5950f41 // setne r13b WORD $0x3b4c; BYTE $0x32 // cmp r14, qword [rdx] - QUAD $0x000000a82494950f // setne byte [rsp + 168] + QUAD $0x000000b02494950f // setne byte [rsp + 176] LONG $0x08723b4c // cmp r14, qword [rdx + 8] LONG $0xd7950f41 // setne r15b LONG $0x40723b4c // cmp r14, qword [rdx + 64] QUAD $0x000000982494950f // setne byte [rsp + 152] LONG $0x80b23b4c; WORD $0x0000; BYTE $0x00 // cmp r14, qword [rdx + 128] - LONG $0x2454950f; BYTE $0x70 // setne byte [rsp + 112] + LONG $0x2454950f; BYTE $0x68 // setne byte [rsp + 104] LONG $0xc0b23b4c; WORD $0x0000; BYTE $0x00 // cmp r14, qword [rdx + 192] - QUAD $0x000000882494950f // setne byte [rsp + 136] + QUAD $0x000000802494950f // setne byte [rsp + 128] WORD $0x0045; BYTE $0xff // add r15b, r15b - QUAD $0x000000a824bc0244 // add r15b, byte [rsp + 168] - LONG $0x02e4c041 // shl r12b, 2 - WORD $0x0845; BYTE $0xfc // or r12b, r15b + QUAD $0x000000b024bc0244 // add r15b, byte [rsp + 176] + LONG $0x02e5c041 // shl r13b, 2 + WORD $0x0845; BYTE $0xfd // or r13b, r15b QUAD $0x0000011024bc8b4c // mov r15, qword [rsp + 272] - LONG $0x03e5c041 // shl r13b, 3 - WORD $0x0845; BYTE $0xe5 // or r13b, r12b + LONG $0x03e4c041 // shl r12b, 3 + WORD $0x0845; BYTE $0xec // or r12b, r13b WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0x0844; BYTE $0xe9 // or cl, r13b + WORD $0x0844; BYTE $0xe1 // or cl, r12b LONG $0x05e6c040 // shl sil, 5 WORD $0x0840; BYTE $0xce // or sil, cl WORD $0xe3c0; BYTE $0x06 // shl bl, 6 @@ -28106,32 +29302,32 @@ LBB5_89: WORD $0x0845; BYTE $0xca // or r10b, r9b LONG $0x04e3c041 // shl r11b, 4 WORD $0x0845; BYTE $0xd3 // or r11b, r10b - LONG $0x2444b60f; BYTE $0x78 // movzx eax, byte [rsp + 120] + LONG $0x2444b60f; BYTE $0x70 // movzx eax, byte [rsp + 112] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0x0844; BYTE $0xd8 // or al, r11b - QUAD $0x00000080248cb60f // movzx ecx, byte [rsp + 128] + LONG $0x244cb60f; BYTE $0x78 // movzx ecx, byte [rsp + 120] WORD $0xe1c0; BYTE $0x06 // shl cl, 6 LONG $0x07e0c041 // shl r8b, 7 WORD $0x0841; BYTE $0xc8 // or r8b, cl WORD $0x0841; BYTE $0xc0 // or r8b, al LONG $0x01478845 // mov byte [r15 + 1], r8b - QUAD $0x000000902484b60f // movzx eax, byte [rsp + 144] + QUAD $0x000000882484b60f // movzx eax, byte [rsp + 136] WORD $0xc000 // add al, al - LONG $0x70244402 // add al, byte [rsp + 112] + LONG $0x68244402 // add al, byte [rsp + 104] WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x50 // movzx eax, byte [rsp + 80] + QUAD $0x000000902484b60f // movzx eax, byte [rsp + 144] WORD $0xe0c0; BYTE $0x02 // shl al, 2 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x58 // movzx eax, byte [rsp + 88] + LONG $0x2444b60f; BYTE $0x50 // movzx eax, byte [rsp + 80] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x60 // movzx eax, byte [rsp + 96] + LONG $0x2444b60f; BYTE $0x58 // movzx eax, byte [rsp + 88] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x68 // movzx eax, byte [rsp + 104] + LONG $0x2444b60f; BYTE $0x60 // movzx eax, byte [rsp + 96] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax @@ -28142,15 +29338,15 @@ LBB5_89: WORD $0xd808 // or al, bl WORD $0xc808 // or al, cl LONG $0x02478841 // mov byte [r15 + 2], al - LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] + LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] WORD $0xc000 // add al, al - LONG $0x88248402; WORD $0x0000; BYTE $0x00 // add al, byte [rsp + 136] + LONG $0x80248402; WORD $0x0000; BYTE $0x00 // add al, byte [rsp + 128] WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x38 // movzx eax, byte [rsp + 56] + LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] WORD $0xe0c0; BYTE $0x02 // shl al, 2 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] + LONG $0x2444b60f; BYTE $0x38 // movzx eax, byte [rsp + 56] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax @@ -28171,26 +29367,27 @@ LBB5_89: LONG $0x03478841 // mov byte [r15 + 3], al LONG $0x00c28148; WORD $0x0001; BYTE $0x00 // add rdx, 256 LONG $0x04c78349 // add r15, 4 - QUAD $0x000000a024848348; BYTE $0xff // add qword [rsp + 160], -1 - JNE LBB5_89 + WORD $0x894d; BYTE $0xfd // mov r13, r15 + QUAD $0x000000a824848348; BYTE $0xff // add qword [rsp + 168], -1 + JNE LBB5_92 QUAD $0x0000011824948b4c // mov r10, qword [rsp + 280] - QUAD $0x000000b0249c8b4c // mov r11, qword [rsp + 176] + QUAD $0x000000a0249c8b4c // mov r11, qword [rsp + 160] -LBB5_91: +LBB5_94: LONG $0x05e3c149 // shl r11, 5 WORD $0x394d; BYTE $0xd3 // cmp r11, r10 - JGE LBB5_157 + JGE LBB5_164 WORD $0x894d; BYTE $0xd0 // mov r8, r10 WORD $0x294d; BYTE $0xd8 // sub r8, r11 WORD $0xf749; BYTE $0xd3 // not r11 WORD $0x014d; BYTE $0xd3 // add r11, r10 JNE LBB5_144 -LBB5_93: +LBB5_96: WORD $0xff31 // xor edi, edi JMP LBB5_146 -LBB5_94: +LBB5_97: LONG $0x1f5a8d4d // lea r11, [r10 + 31] WORD $0x854d; BYTE $0xd2 // test r10, r10 LONG $0xda490f4d // cmovns r11, r10 @@ -28200,203 +29397,292 @@ LBB5_94: WORD $0xe083; BYTE $0xf8 // and eax, -8 LONG $0x0610fac5 // vmovss xmm0, dword [rsi] WORD $0x2941; BYTE $0xc1 // sub r9d, eax - JE LBB5_98 + JE LBB5_101 WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d -LBB5_96: - LONG $0x022ef8c5 // vucomiss xmm0, dword [rdx] - LONG $0x04528d48 // lea rdx, [rdx + 4] - WORD $0x950f; BYTE $0xd3 // setne bl - WORD $0xdbf6 // neg bl - LONG $0x07708d48 // lea rsi, [rax + 7] - WORD $0x8548; BYTE $0xc0 // test rax, rax - LONG $0xf0490f48 // cmovns rsi, rax - LONG $0x03fec148 // sar rsi, 3 - LONG $0x0cb60f45; BYTE $0x37 // movzx r9d, byte [r15 + rsi] - WORD $0x3044; BYTE $0xcb // xor bl, r9b - QUAD $0x00000000f5048d44 // lea r8d, [8*rsi] - WORD $0xc189 // mov ecx, eax - WORD $0x2944; BYTE $0xc1 // sub ecx, r8d - LONG $0x000001bf; BYTE $0x00 // mov edi, 1 - WORD $0xe7d3 // shl edi, cl - WORD $0x2040; BYTE $0xdf // and dil, bl - WORD $0x3044; BYTE $0xcf // xor dil, r9b - LONG $0x373c8841 // mov byte [r15 + rsi], dil - LONG $0x01c08348 // add rax, 1 - LONG $0x08f88348 // cmp rax, 8 - JNE LBB5_96 - LONG $0x01c78349 // add r15, 1 +LBB5_99: + LONG $0x022ef8c5 // vucomiss xmm0, dword [rdx] + LONG $0x04528d48 // lea rdx, [rdx + 4] + WORD $0x9a0f; BYTE $0xd1 // setp cl + WORD $0x950f; BYTE $0xd3 // setne bl + WORD $0xcb08 // or bl, cl + WORD $0xdbf6 // neg bl + LONG $0x07708d48 // lea rsi, [rax + 7] + WORD $0x8548; BYTE $0xc0 // test rax, rax + LONG $0xf0490f48 // cmovns rsi, rax + LONG $0x03fec148 // sar rsi, 3 + WORD $0x894d; BYTE $0xee // mov r14, r13 + LONG $0x4cb60f45; WORD $0x0035 // movzx r9d, byte [r13 + rsi] + WORD $0x3044; BYTE $0xcb // xor bl, r9b + QUAD $0x00000000f5048d44 // lea r8d, [8*rsi] + WORD $0xc189 // mov ecx, eax + WORD $0x2944; BYTE $0xc1 // sub ecx, r8d + LONG $0x000001bf; BYTE $0x00 // mov edi, 1 + WORD $0xe7d3 // shl edi, cl + WORD $0x2040; BYTE $0xdf // and dil, bl + WORD $0x3044; BYTE $0xcf // xor dil, r9b + LONG $0x357c8841; BYTE $0x00 // mov byte [r13 + rsi], dil + LONG $0x01c08348 // add rax, 1 + LONG $0x08f88348 // cmp rax, 8 + JNE LBB5_99 + LONG $0x01c58349 // add r13, 1 -LBB5_98: +LBB5_101: LONG $0x05fbc149 // sar r11, 5 LONG $0x20fa8349 // cmp r10, 32 - JL LBB5_102 + JL LBB5_105 QUAD $0x000001182494894c // mov qword [rsp + 280], r10 + QUAD $0x000000b8249c894c // mov qword [rsp + 184], r11 QUAD $0x000000a0249c894c // mov qword [rsp + 160], r11 - QUAD $0x000000a8249c894c // mov qword [rsp + 168], r11 -LBB5_100: - QUAD $0x0000011024bc894c // mov qword [rsp + 272], r15 +LBB5_103: + QUAD $0x0000011024ac894c // mov qword [rsp + 272], r13 LONG $0x022ef8c5 // vucomiss xmm0, dword [rdx] - QUAD $0x000000982494950f // setne byte [rsp + 152] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x30244c88 // mov byte [rsp + 48], cl LONG $0x422ef8c5; BYTE $0x04 // vucomiss xmm0, dword [rdx + 4] - LONG $0xd1950f41 // setne r9b + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd5950f41 // setne r13b + WORD $0x0841; BYTE $0xc5 // or r13b, al LONG $0x422ef8c5; BYTE $0x08 // vucomiss xmm0, dword [rdx + 8] - LONG $0xd3950f41 // setne r11b + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x38244c88 // mov byte [rsp + 56], cl LONG $0x422ef8c5; BYTE $0x0c // vucomiss xmm0, dword [rdx + 12] - LONG $0xd5950f41 // setne r13b + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x40248c88; WORD $0x0001; BYTE $0x00 // mov byte [rsp + 320], cl LONG $0x422ef8c5; BYTE $0x10 // vucomiss xmm0, dword [rdx + 16] - LONG $0x2454950f; BYTE $0x70 // setne byte [rsp + 112] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x20244c88 // mov byte [rsp + 32], cl LONG $0x422ef8c5; BYTE $0x14 // vucomiss xmm0, dword [rdx + 20] - LONG $0x2454950f; BYTE $0x68 // setne byte [rsp + 104] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd4950f41 // setne r12b + WORD $0x0841; BYTE $0xc4 // or r12b, al LONG $0x422ef8c5; BYTE $0x18 // vucomiss xmm0, dword [rdx + 24] - WORD $0x950f; BYTE $0xd3 // setne bl + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x48244c88 // mov byte [rsp + 72], cl LONG $0x422ef8c5; BYTE $0x1c // vucomiss xmm0, dword [rdx + 28] - LONG $0xd4950f41 // setne r12b + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x1c244c88 // mov byte [rsp + 28], cl LONG $0x422ef8c5; BYTE $0x20 // vucomiss xmm0, dword [rdx + 32] - LONG $0x2454950f; BYTE $0x78 // setne byte [rsp + 120] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x28244c88 // mov byte [rsp + 40], cl LONG $0x422ef8c5; BYTE $0x24 // vucomiss xmm0, dword [rdx + 36] - LONG $0xd6950f40 // setne sil + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x40244c88 // mov byte [rsp + 64], cl LONG $0x422ef8c5; BYTE $0x28 // vucomiss xmm0, dword [rdx + 40] - LONG $0xd7950f40 // setne dil + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x60244c88 // mov byte [rsp + 96], cl LONG $0x422ef8c5; BYTE $0x2c // vucomiss xmm0, dword [rdx + 44] - LONG $0xd0950f41 // setne r8b + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd3 // setne bl + WORD $0xc308 // or bl, al LONG $0x422ef8c5; BYTE $0x30 // vucomiss xmm0, dword [rdx + 48] - LONG $0xd2950f41 // setne r10b + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x20248c88; WORD $0x0001; BYTE $0x00 // mov byte [rsp + 288], cl LONG $0x422ef8c5; BYTE $0x34 // vucomiss xmm0, dword [rdx + 52] - LONG $0xd7950f41 // setne r15b + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x50244c88 // mov byte [rsp + 80], cl LONG $0x422ef8c5; BYTE $0x38 // vucomiss xmm0, dword [rdx + 56] - QUAD $0x000000802494950f // setne byte [rsp + 128] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x90248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 144], cl LONG $0x422ef8c5; BYTE $0x3c // vucomiss xmm0, dword [rdx + 60] + WORD $0x9a0f; BYTE $0xd0 // setp al WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x88248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 136], cl LONG $0x422ef8c5; BYTE $0x40 // vucomiss xmm0, dword [rdx + 64] - LONG $0x2454950f; BYTE $0x58 // setne byte [rsp + 88] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x58244c88 // mov byte [rsp + 88], cl LONG $0x422ef8c5; BYTE $0x44 // vucomiss xmm0, dword [rdx + 68] - QUAD $0x000000882494950f // setne byte [rsp + 136] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x80248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 128], cl LONG $0x422ef8c5; BYTE $0x48 // vucomiss xmm0, dword [rdx + 72] - QUAD $0x000000902494950f // setne byte [rsp + 144] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd7950f41 // setne r15b + WORD $0x0841; BYTE $0xc7 // or r15b, al LONG $0x422ef8c5; BYTE $0x4c // vucomiss xmm0, dword [rdx + 76] - LONG $0x2454950f; BYTE $0x50 // setne byte [rsp + 80] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x78244c88 // mov byte [rsp + 120], cl LONG $0x422ef8c5; BYTE $0x50 // vucomiss xmm0, dword [rdx + 80] - LONG $0x2454950f; BYTE $0x60 // setne byte [rsp + 96] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x70244c88 // mov byte [rsp + 112], cl LONG $0x422ef8c5; BYTE $0x54 // vucomiss xmm0, dword [rdx + 84] - LONG $0x2454950f; BYTE $0x40 // setne byte [rsp + 64] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x98248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 152], cl LONG $0x422ef8c5; BYTE $0x58 // vucomiss xmm0, dword [rdx + 88] - LONG $0x2454950f; BYTE $0x48 // setne byte [rsp + 72] - LONG $0x422ef8c5; BYTE $0x5c // vucomiss xmm0, dword [rdx + 92] + WORD $0x9a0f; BYTE $0xd0 // setp al LONG $0xd6950f41 // setne r14b + WORD $0x0841; BYTE $0xc6 // or r14b, al + LONG $0x422ef8c5; BYTE $0x5c // vucomiss xmm0, dword [rdx + 92] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd0950f41 // setne r8b + WORD $0x0841; BYTE $0xc0 // or r8b, al LONG $0x422ef8c5; BYTE $0x60 // vucomiss xmm0, dword [rdx + 96] - LONG $0x2454950f; BYTE $0x20 // setne byte [rsp + 32] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x68244c88 // mov byte [rsp + 104], cl LONG $0x422ef8c5; BYTE $0x64 // vucomiss xmm0, dword [rdx + 100] - LONG $0x2454950f; BYTE $0x30 // setne byte [rsp + 48] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd3950f41 // setne r11b + WORD $0x0841; BYTE $0xc3 // or r11b, al LONG $0x422ef8c5; BYTE $0x68 // vucomiss xmm0, dword [rdx + 104] - LONG $0x2454950f; BYTE $0x38 // setne byte [rsp + 56] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd2950f41 // setne r10b + WORD $0x0841; BYTE $0xc2 // or r10b, al LONG $0x422ef8c5; BYTE $0x6c // vucomiss xmm0, dword [rdx + 108] - LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd1950f41 // setne r9b + WORD $0x0841; BYTE $0xc1 // or r9b, al LONG $0x422ef8c5; BYTE $0x70 // vucomiss xmm0, dword [rdx + 112] - QUAD $0x000001402494950f // setne byte [rsp + 320] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0xb0248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 176], cl LONG $0x422ef8c5; BYTE $0x74 // vucomiss xmm0, dword [rdx + 116] - QUAD $0x000001202494950f // setne byte [rsp + 288] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0xa8248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 168], cl LONG $0x422ef8c5; BYTE $0x78 // vucomiss xmm0, dword [rdx + 120] - LONG $0x2454950f; BYTE $0x1c // setne byte [rsp + 28] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd7950f40 // setne dil + WORD $0x0840; BYTE $0xc7 // or dil, al LONG $0x422ef8c5; BYTE $0x7c // vucomiss xmm0, dword [rdx + 124] - WORD $0x950f; BYTE $0xd0 // setne al - WORD $0x0045; BYTE $0xc9 // add r9b, r9b - QUAD $0x00000098248c0244 // add r9b, byte [rsp + 152] - WORD $0xe3c0; BYTE $0x06 // shl bl, 6 - LONG $0x07e4c041 // shl r12b, 7 - WORD $0x0841; BYTE $0xdc // or r12b, bl - LONG $0x02e3c041 // shl r11b, 2 - WORD $0x0845; BYTE $0xcb // or r11b, r9b - WORD $0x0040; BYTE $0xf6 // add sil, sil - LONG $0x24740240; BYTE $0x78 // add sil, byte [rsp + 120] - LONG $0x03e5c041 // shl r13b, 3 - WORD $0x0845; BYTE $0xdd // or r13b, r11b - LONG $0x02e7c040 // shl dil, 2 - WORD $0x0840; BYTE $0xf7 // or dil, sil - LONG $0x245cb60f; BYTE $0x70 // movzx ebx, byte [rsp + 112] - WORD $0xe3c0; BYTE $0x04 // shl bl, 4 - WORD $0x0844; BYTE $0xeb // or bl, r13b - WORD $0xde89 // mov esi, ebx - LONG $0x03e0c041 // shl r8b, 3 - WORD $0x0841; BYTE $0xf8 // or r8b, dil - LONG $0x245cb60f; BYTE $0x68 // movzx ebx, byte [rsp + 104] - WORD $0xe3c0; BYTE $0x05 // shl bl, 5 - WORD $0x0840; BYTE $0xf3 // or bl, sil - LONG $0x04e2c041 // shl r10b, 4 - WORD $0x0845; BYTE $0xc2 // or r10b, r8b - LONG $0x05e7c041 // shl r15b, 5 - WORD $0x0845; BYTE $0xd7 // or r15b, r10b - QUAD $0x0000008024b4b60f // movzx esi, byte [rsp + 128] - LONG $0x06e6c040 // shl sil, 6 - WORD $0xe1c0; BYTE $0x07 // shl cl, 7 - WORD $0x0840; BYTE $0xf1 // or cl, sil - WORD $0x0841; BYTE $0xdc // or r12b, bl - WORD $0x0844; BYTE $0xf9 // or cl, r15b - QUAD $0x0000011024bc8b4c // mov r15, qword [rsp + 272] - QUAD $0x00000088249cb60f // movzx ebx, byte [rsp + 136] - WORD $0xdb00 // add bl, bl - LONG $0x58245c02 // add bl, byte [rsp + 88] - WORD $0xde89 // mov esi, ebx - QUAD $0x00000090249cb60f // movzx ebx, byte [rsp + 144] - WORD $0xe3c0; BYTE $0x02 // shl bl, 2 - WORD $0x0840; BYTE $0xf3 // or bl, sil - WORD $0xde89 // mov esi, ebx - LONG $0x245cb60f; BYTE $0x50 // movzx ebx, byte [rsp + 80] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd6950f40 // setne sil + WORD $0x0840; BYTE $0xc6 // or sil, al + WORD $0x0045; BYTE $0xed // add r13b, r13b + LONG $0x246c0244; BYTE $0x30 // add r13b, byte [rsp + 48] + WORD $0x8944; BYTE $0xe8 // mov eax, r13d + LONG $0x05e4c041 // shl r12b, 5 + LONG $0x6cb60f44; WORD $0x4824 // movzx r13d, byte [rsp + 72] + LONG $0x06e5c041 // shl r13b, 6 + WORD $0x0845; BYTE $0xe5 // or r13b, r12b + LONG $0x64b60f44; WORD $0x3824 // movzx r12d, byte [rsp + 56] + LONG $0x02e4c041 // shl r12b, 2 + WORD $0x0841; BYTE $0xc4 // or r12b, al + LONG $0x244cb60f; BYTE $0x40 // movzx ecx, byte [rsp + 64] + WORD $0xc900 // add cl, cl + LONG $0x28244c02 // add cl, byte [rsp + 40] + LONG $0x2444b60f; BYTE $0x1c // movzx eax, byte [rsp + 28] + WORD $0xe0c0; BYTE $0x07 // shl al, 7 + WORD $0x0844; BYTE $0xe8 // or al, r13b + LONG $0x1c244488 // mov byte [rsp + 28], al + LONG $0x2444b60f; BYTE $0x60 // movzx eax, byte [rsp + 96] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax + QUAD $0x000001402484b60f // movzx eax, byte [rsp + 320] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0x0844; BYTE $0xe0 // or al, r12b WORD $0xe3c0; BYTE $0x03 // shl bl, 3 - WORD $0x0840; BYTE $0xf3 // or bl, sil - WORD $0xde89 // mov esi, ebx - LONG $0x245cb60f; BYTE $0x60 // movzx ebx, byte [rsp + 96] - WORD $0xe3c0; BYTE $0x04 // shl bl, 4 - WORD $0x0840; BYTE $0xf3 // or bl, sil - WORD $0xde89 // mov esi, ebx - LONG $0x245cb60f; BYTE $0x40 // movzx ebx, byte [rsp + 64] - WORD $0xe3c0; BYTE $0x05 // shl bl, 5 - WORD $0x0840; BYTE $0xf3 // or bl, sil - WORD $0x8845; BYTE $0x27 // mov byte [r15], r12b - LONG $0x2474b60f; BYTE $0x48 // movzx esi, byte [rsp + 72] - LONG $0x06e6c040 // shl sil, 6 - LONG $0x07e6c041 // shl r14b, 7 - WORD $0x0841; BYTE $0xf6 // or r14b, sil - LONG $0x014f8841 // mov byte [r15 + 1], cl - WORD $0x0841; BYTE $0xde // or r14b, bl - LONG $0x244cb60f; BYTE $0x30 // movzx ecx, byte [rsp + 48] + WORD $0xcb08 // or bl, cl + LONG $0x6cb60f44; WORD $0x2024 // movzx r13d, byte [rsp + 32] + LONG $0x04e5c041 // shl r13b, 4 + WORD $0x0841; BYTE $0xc5 // or r13b, al + QUAD $0x000001202484b60f // movzx eax, byte [rsp + 288] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0xd808 // or al, bl + LONG $0x20248488; WORD $0x0001; BYTE $0x00 // mov byte [rsp + 288], al + LONG $0x244cb60f; BYTE $0x50 // movzx ecx, byte [rsp + 80] + WORD $0xe1c0; BYTE $0x05 // shl cl, 5 + QUAD $0x000000902484b60f // movzx eax, byte [rsp + 144] + WORD $0xe0c0; BYTE $0x06 // shl al, 6 + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax + QUAD $0x000000882484b60f // movzx eax, byte [rsp + 136] + WORD $0xe0c0; BYTE $0x07 // shl al, 7 + WORD $0xc808 // or al, cl + QUAD $0x00000080248cb60f // movzx ecx, byte [rsp + 128] WORD $0xc900 // add cl, cl - LONG $0x20244c02 // add cl, byte [rsp + 32] - WORD $0xcb89 // mov ebx, ecx - LONG $0x244cb60f; BYTE $0x38 // movzx ecx, byte [rsp + 56] - WORD $0xe1c0; BYTE $0x02 // shl cl, 2 - WORD $0xd908 // or cl, bl - WORD $0xcb89 // mov ebx, ecx - LONG $0x244cb60f; BYTE $0x28 // movzx ecx, byte [rsp + 40] + LONG $0x58244c02 // add cl, byte [rsp + 88] + LONG $0x02e7c041 // shl r15b, 2 + WORD $0x0841; BYTE $0xcf // or r15b, cl + LONG $0x244cb60f; BYTE $0x78 // movzx ecx, byte [rsp + 120] WORD $0xe1c0; BYTE $0x03 // shl cl, 3 - WORD $0xd908 // or cl, bl + WORD $0x0844; BYTE $0xf9 // or cl, r15b WORD $0xcb89 // mov ebx, ecx - QUAD $0x00000140248cb60f // movzx ecx, byte [rsp + 320] + QUAD $0x0000011024bc8b4c // mov r15, qword [rsp + 272] + LONG $0x244cb60f; BYTE $0x70 // movzx ecx, byte [rsp + 112] WORD $0xe1c0; BYTE $0x04 // shl cl, 4 WORD $0xd908 // or cl, bl - WORD $0xcb89 // mov ebx, ecx - QUAD $0x00000120248cb60f // movzx ecx, byte [rsp + 288] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0xd908 // or cl, bl - LONG $0x245cb60f; BYTE $0x1c // movzx ebx, byte [rsp + 28] - WORD $0xe3c0; BYTE $0x06 // shl bl, 6 - WORD $0xe0c0; BYTE $0x07 // shl al, 7 - WORD $0xd808 // or al, bl - WORD $0xc808 // or al, cl - LONG $0x02778845 // mov byte [r15 + 2], r14b - LONG $0x03478841 // mov byte [r15 + 3], al + LONG $0x64b60f44; WORD $0x1c24 // movzx r12d, byte [rsp + 28] + WORD $0x0845; BYTE $0xec // or r12b, r13b + QUAD $0x00000098249cb60f // movzx ebx, byte [rsp + 152] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + LONG $0x06e6c041 // shl r14b, 6 + WORD $0x0841; BYTE $0xde // or r14b, bl + LONG $0x2024840a; WORD $0x0001; BYTE $0x00 // or al, byte [rsp + 288] + LONG $0x07e0c041 // shl r8b, 7 + WORD $0x0845; BYTE $0xf0 // or r8b, r14b + WORD $0x0841; BYTE $0xc8 // or r8b, cl + WORD $0x0045; BYTE $0xdb // add r11b, r11b + LONG $0x245c0244; BYTE $0x68 // add r11b, byte [rsp + 104] + LONG $0x02e2c041 // shl r10b, 2 + WORD $0x0845; BYTE $0xda // or r10b, r11b + LONG $0x03e1c041 // shl r9b, 3 + WORD $0x0845; BYTE $0xd1 // or r9b, r10b + QUAD $0x000000b0248cb60f // movzx ecx, byte [rsp + 176] + WORD $0xe1c0; BYTE $0x04 // shl cl, 4 + WORD $0x0844; BYTE $0xc9 // or cl, r9b + WORD $0x8845; BYTE $0x27 // mov byte [r15], r12b + QUAD $0x000000a8249cb60f // movzx ebx, byte [rsp + 168] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + LONG $0x06e7c040 // shl dil, 6 + WORD $0x0840; BYTE $0xdf // or dil, bl + LONG $0x01478841 // mov byte [r15 + 1], al + LONG $0x07e6c040 // shl sil, 7 + WORD $0x0840; BYTE $0xfe // or sil, dil + WORD $0x0840; BYTE $0xce // or sil, cl + LONG $0x02478845 // mov byte [r15 + 2], r8b + LONG $0x03778841 // mov byte [r15 + 3], sil LONG $0x80c28148; WORD $0x0000; BYTE $0x00 // add rdx, 128 LONG $0x04c78349 // add r15, 4 - QUAD $0x000000a824848348; BYTE $0xff // add qword [rsp + 168], -1 - JNE LBB5_100 + WORD $0x894d; BYTE $0xfd // mov r13, r15 + QUAD $0x000000a024848348; BYTE $0xff // add qword [rsp + 160], -1 + JNE LBB5_103 QUAD $0x0000011824948b4c // mov r10, qword [rsp + 280] - QUAD $0x000000a0249c8b4c // mov r11, qword [rsp + 160] + QUAD $0x000000b8249c8b4c // mov r11, qword [rsp + 184] -LBB5_102: +LBB5_105: LONG $0x05e3c149 // shl r11, 5 WORD $0x394d; BYTE $0xd3 // cmp r11, r10 - JGE LBB5_157 + JGE LBB5_164 WORD $0x894d; BYTE $0xd0 // mov r8, r10 WORD $0x294d; BYTE $0xd8 // sub r8, r11 WORD $0xf749; BYTE $0xd3 // not r11 @@ -28405,7 +29691,7 @@ LBB5_102: WORD $0xff31 // xor edi, edi JMP LBB5_150 -LBB5_105: +LBB5_108: WORD $0x8a44; BYTE $0x1e // mov r11b, byte [rsi] LONG $0x1f728d4d // lea r14, [r10 + 31] WORD $0x854d; BYTE $0xd2 // test r10, r10 @@ -28415,61 +29701,62 @@ LBB5_105: LONG $0xc1490f41 // cmovns eax, r9d WORD $0xe083; BYTE $0xf8 // and eax, -8 WORD $0x2941; BYTE $0xc1 // sub r9d, eax - JE LBB5_109 + JE LBB5_112 WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d -LBB5_107: - WORD $0x3a44; BYTE $0x1a // cmp r11b, byte [rdx] - LONG $0x01528d48 // lea rdx, [rdx + 1] - WORD $0x950f; BYTE $0xd3 // setne bl - WORD $0xdbf6 // neg bl - LONG $0x07708d48 // lea rsi, [rax + 7] - WORD $0x8548; BYTE $0xc0 // test rax, rax - LONG $0xf0490f48 // cmovns rsi, rax - LONG $0x03fec148 // sar rsi, 3 - LONG $0x0cb60f45; BYTE $0x37 // movzx r9d, byte [r15 + rsi] - WORD $0x3044; BYTE $0xcb // xor bl, r9b - QUAD $0x00000000f5048d44 // lea r8d, [8*rsi] - WORD $0xc189 // mov ecx, eax - WORD $0x2944; BYTE $0xc1 // sub ecx, r8d - LONG $0x000001bf; BYTE $0x00 // mov edi, 1 - WORD $0xe7d3 // shl edi, cl - WORD $0x2040; BYTE $0xdf // and dil, bl - WORD $0x3044; BYTE $0xcf // xor dil, r9b - LONG $0x373c8841 // mov byte [r15 + rsi], dil - LONG $0x01c08348 // add rax, 1 - LONG $0x08f88348 // cmp rax, 8 - JNE LBB5_107 - LONG $0x01c78349 // add r15, 1 +LBB5_110: + WORD $0x3a44; BYTE $0x1a // cmp r11b, byte [rdx] + LONG $0x01528d48 // lea rdx, [rdx + 1] + WORD $0x950f; BYTE $0xd3 // setne bl + WORD $0xdbf6 // neg bl + LONG $0x07708d48 // lea rsi, [rax + 7] + WORD $0x8548; BYTE $0xc0 // test rax, rax + LONG $0xf0490f48 // cmovns rsi, rax + LONG $0x03fec148 // sar rsi, 3 + WORD $0x894d; BYTE $0xef // mov r15, r13 + LONG $0x4cb60f45; WORD $0x0035 // movzx r9d, byte [r13 + rsi] + WORD $0x3044; BYTE $0xcb // xor bl, r9b + QUAD $0x00000000f5048d44 // lea r8d, [8*rsi] + WORD $0xc189 // mov ecx, eax + WORD $0x2944; BYTE $0xc1 // sub ecx, r8d + LONG $0x000001bf; BYTE $0x00 // mov edi, 1 + WORD $0xe7d3 // shl edi, cl + WORD $0x2040; BYTE $0xdf // and dil, bl + WORD $0x3044; BYTE $0xcf // xor dil, r9b + LONG $0x357c8841; BYTE $0x00 // mov byte [r13 + rsi], dil + LONG $0x01c08348 // add rax, 1 + LONG $0x08f88348 // cmp rax, 8 + JNE LBB5_110 + LONG $0x01c58349 // add r13, 1 -LBB5_109: +LBB5_112: LONG $0x05fec149 // sar r14, 5 LONG $0x20fa8349 // cmp r10, 32 - JL LBB5_132 + JL LBB5_120 LONG $0x20fe8349 // cmp r14, 32 LONG $0x245c8944; BYTE $0x1c // mov dword [rsp + 28], r11d QUAD $0x000001182494894c // mov qword [rsp + 280], r10 QUAD $0x0000018024b4894c // mov qword [rsp + 384], r14 - JB LBB5_113 + JB LBB5_116 WORD $0x894c; BYTE $0xf0 // mov rax, r14 LONG $0x05e0c148 // shl rax, 5 WORD $0x0148; BYTE $0xd0 // add rax, rdx - WORD $0x3949; BYTE $0xc7 // cmp r15, rax + WORD $0x3949; BYTE $0xc5 // cmp r13, rax JAE LBB5_168 - LONG $0xb7048d4b // lea rax, [r15 + 4*r14] + QUAD $0x00000000b5048d4a // lea rax, [4*r14] + WORD $0x014c; BYTE $0xe8 // add rax, r13 WORD $0x3948; BYTE $0xc2 // cmp rdx, rax JAE LBB5_168 -LBB5_113: +LBB5_116: WORD $0xc031 // xor eax, eax QUAD $0x0000017824848948 // mov qword [rsp + 376], rax - WORD $0x894d; BYTE $0xfd // mov r13, r15 -LBB5_114: +LBB5_117: QUAD $0x0000017824b42b4c // sub r14, qword [rsp + 376] - QUAD $0x000000b024b4894c // mov qword [rsp + 176], r14 + QUAD $0x000000a024b4894c // mov qword [rsp + 160], r14 -LBB5_115: +LBB5_118: LONG $0x1f5a3a44 // cmp r11b, byte [rdx + 31] QUAD $0x000001102494950f // setne byte [rsp + 272] LONG $0x1e5a3a44 // cmp r11b, byte [rdx + 30] @@ -28479,31 +29766,31 @@ LBB5_115: LONG $0x1c5a3a44 // cmp r11b, byte [rdx + 28] LONG $0x2454950f; BYTE $0x20 // setne byte [rsp + 32] LONG $0x1b5a3a44 // cmp r11b, byte [rdx + 27] - LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] - LONG $0x1a5a3a44 // cmp r11b, byte [rdx + 26] LONG $0x2454950f; BYTE $0x38 // setne byte [rsp + 56] - LONG $0x195a3a44 // cmp r11b, byte [rdx + 25] + LONG $0x1a5a3a44 // cmp r11b, byte [rdx + 26] LONG $0x2454950f; BYTE $0x30 // setne byte [rsp + 48] + LONG $0x195a3a44 // cmp r11b, byte [rdx + 25] + LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] LONG $0x175a3a44 // cmp r11b, byte [rdx + 23] LONG $0x2454950f; BYTE $0x48 // setne byte [rsp + 72] LONG $0x165a3a44 // cmp r11b, byte [rdx + 22] LONG $0x2454950f; BYTE $0x40 // setne byte [rsp + 64] LONG $0x155a3a44 // cmp r11b, byte [rdx + 21] - LONG $0x2454950f; BYTE $0x68 // setne byte [rsp + 104] + LONG $0x2454950f; BYTE $0x60 // setne byte [rsp + 96] LONG $0x145a3a44 // cmp r11b, byte [rdx + 20] - LONG $0x2454950f; BYTE $0x58 // setne byte [rsp + 88] + LONG $0x2454950f; BYTE $0x50 // setne byte [rsp + 80] LONG $0x135a3a44 // cmp r11b, byte [rdx + 19] - QUAD $0x000000902494950f // setne byte [rsp + 144] - LONG $0x125a3a44 // cmp r11b, byte [rdx + 18] QUAD $0x000000882494950f // setne byte [rsp + 136] - LONG $0x115a3a44 // cmp r11b, byte [rdx + 17] + LONG $0x125a3a44 // cmp r11b, byte [rdx + 18] QUAD $0x000000802494950f // setne byte [rsp + 128] + LONG $0x115a3a44 // cmp r11b, byte [rdx + 17] + LONG $0x2454950f; BYTE $0x78 // setne byte [rsp + 120] LONG $0x0f5a3a44 // cmp r11b, byte [rdx + 15] LONG $0xd6950f41 // setne r14b LONG $0x0e5a3a44 // cmp r11b, byte [rdx + 14] - LONG $0x2454950f; BYTE $0x78 // setne byte [rsp + 120] - LONG $0x0d5a3a44 // cmp r11b, byte [rdx + 13] LONG $0x2454950f; BYTE $0x70 // setne byte [rsp + 112] + LONG $0x0d5a3a44 // cmp r11b, byte [rdx + 13] + LONG $0x2454950f; BYTE $0x68 // setne byte [rsp + 104] LONG $0x0c5a3a44 // cmp r11b, byte [rdx + 12] LONG $0xd4950f41 // setne r12b LONG $0x0b5a3a44 // cmp r11b, byte [rdx + 11] @@ -28518,7 +29805,7 @@ LBB5_115: LONG $0xd7950f40 // setne dil LONG $0x1c24448b // mov eax, dword [rsp + 28] WORD $0x423a; BYTE $0x06 // cmp al, byte [rdx + 6] - QUAD $0x000000a82494950f // setne byte [rsp + 168] + QUAD $0x000000b02494950f // setne byte [rsp + 176] LONG $0x1c24448b // mov eax, dword [rsp + 28] WORD $0x423a; BYTE $0x05 // cmp al, byte [rdx + 5] LONG $0xd1950f41 // setne r9b @@ -28533,7 +29820,7 @@ LBB5_115: WORD $0x950f; BYTE $0xd1 // setne cl LONG $0x1c24448b // mov eax, dword [rsp + 28] WORD $0x023a // cmp al, byte [rdx] - QUAD $0x000000a02494950f // setne byte [rsp + 160] + QUAD $0x000000a82494950f // setne byte [rsp + 168] LONG $0x1c24448b // mov eax, dword [rsp + 28] WORD $0x423a; BYTE $0x01 // cmp al, byte [rdx + 1] WORD $0x950f; BYTE $0xd0 // setne al @@ -28544,12 +29831,12 @@ LBB5_115: QUAD $0x000000982494950f // setne byte [rsp + 152] LONG $0x1c245c8b // mov ebx, dword [rsp + 28] WORD $0x5a3a; BYTE $0x10 // cmp bl, byte [rdx + 16] - LONG $0x2454950f; BYTE $0x50 // setne byte [rsp + 80] + QUAD $0x000000902494950f // setne byte [rsp + 144] LONG $0x1c245c8b // mov ebx, dword [rsp + 28] WORD $0x5a3a; BYTE $0x18 // cmp bl, byte [rdx + 24] - LONG $0x2454950f; BYTE $0x60 // setne byte [rsp + 96] + LONG $0x2454950f; BYTE $0x58 // setne byte [rsp + 88] WORD $0xc000 // add al, al - LONG $0xa0248402; WORD $0x0000; BYTE $0x00 // add al, byte [rsp + 160] + LONG $0xa8248402; WORD $0x0000; BYTE $0x00 // add al, byte [rsp + 168] WORD $0xe1c0; BYTE $0x02 // shl cl, 2 WORD $0xc108 // or cl, al LONG $0x03e6c040 // shl sil, 3 @@ -28558,7 +29845,7 @@ LBB5_115: WORD $0x0841; BYTE $0xf0 // or r8b, sil LONG $0x05e1c041 // shl r9b, 5 WORD $0x0845; BYTE $0xc1 // or r9b, r8b - QUAD $0x000000a82484b60f // movzx eax, byte [rsp + 168] + QUAD $0x000000b02484b60f // movzx eax, byte [rsp + 176] WORD $0xe0c0; BYTE $0x06 // shl al, 6 LONG $0x07e7c040 // shl dil, 7 WORD $0x0840; BYTE $0xc7 // or dil, al @@ -28573,32 +29860,32 @@ LBB5_115: LONG $0x245c8b44; BYTE $0x1c // mov r11d, dword [rsp + 28] LONG $0x04e4c041 // shl r12b, 4 WORD $0x0845; BYTE $0xfc // or r12b, r15b - LONG $0x2444b60f; BYTE $0x70 // movzx eax, byte [rsp + 112] + LONG $0x2444b60f; BYTE $0x68 // movzx eax, byte [rsp + 104] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0x0844; BYTE $0xe0 // or al, r12b - LONG $0x244cb60f; BYTE $0x78 // movzx ecx, byte [rsp + 120] + LONG $0x244cb60f; BYTE $0x70 // movzx ecx, byte [rsp + 112] WORD $0xe1c0; BYTE $0x06 // shl cl, 6 LONG $0x07e6c041 // shl r14b, 7 WORD $0x0841; BYTE $0xce // or r14b, cl WORD $0x0841; BYTE $0xc6 // or r14b, al LONG $0x01758845 // mov byte [r13 + 1], r14b - QUAD $0x000000802484b60f // movzx eax, byte [rsp + 128] + LONG $0x2444b60f; BYTE $0x78 // movzx eax, byte [rsp + 120] WORD $0xc000 // add al, al - LONG $0x50244402 // add al, byte [rsp + 80] + LONG $0x90248402; WORD $0x0000; BYTE $0x00 // add al, byte [rsp + 144] WORD $0xc189 // mov ecx, eax - QUAD $0x000000882484b60f // movzx eax, byte [rsp + 136] + QUAD $0x000000802484b60f // movzx eax, byte [rsp + 128] WORD $0xe0c0; BYTE $0x02 // shl al, 2 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - QUAD $0x000000902484b60f // movzx eax, byte [rsp + 144] + QUAD $0x000000882484b60f // movzx eax, byte [rsp + 136] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x58 // movzx eax, byte [rsp + 88] + LONG $0x2444b60f; BYTE $0x50 // movzx eax, byte [rsp + 80] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x68 // movzx eax, byte [rsp + 104] + LONG $0x2444b60f; BYTE $0x60 // movzx eax, byte [rsp + 96] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax @@ -28609,15 +29896,15 @@ LBB5_115: WORD $0xd808 // or al, bl WORD $0xc808 // or al, cl LONG $0x02458841 // mov byte [r13 + 2], al - LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] + LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] WORD $0xc000 // add al, al - LONG $0x60244402 // add al, byte [rsp + 96] + LONG $0x58244402 // add al, byte [rsp + 88] WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x38 // movzx eax, byte [rsp + 56] + LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] WORD $0xe0c0; BYTE $0x02 // shl al, 2 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] + LONG $0x2444b60f; BYTE $0x38 // movzx eax, byte [rsp + 56] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax @@ -28638,13 +29925,26 @@ LBB5_115: LONG $0x03458841 // mov byte [r13 + 3], al LONG $0x20c28348 // add rdx, 32 LONG $0x04c58349 // add r13, 4 - QUAD $0x000000b024848348; BYTE $0xff // add qword [rsp + 176], -1 - JNE LBB5_115 + QUAD $0x000000a024848348; BYTE $0xff // add qword [rsp + 160], -1 + JNE LBB5_118 QUAD $0x0000011824948b4c // mov r10, qword [rsp + 280] QUAD $0x0000018024b48b4c // mov r14, qword [rsp + 384] - JMP LBB5_133 -LBB5_117: +LBB5_120: + LONG $0x05e6c149 // shl r14, 5 + WORD $0x394d; BYTE $0xd6 // cmp r14, r10 + JGE LBB5_164 + WORD $0x894d; BYTE $0xd0 // mov r8, r10 + WORD $0x294d; BYTE $0xf0 // sub r8, r14 + WORD $0xf749; BYTE $0xd6 // not r14 + WORD $0x014d; BYTE $0xd6 // add r14, r10 + JNE LBB5_153 + +LBB5_122: + WORD $0xf631 // xor esi, esi + JMP LBB5_156 + +LBB5_123: WORD $0x8b44; BYTE $0x36 // mov r14d, dword [rsi] LONG $0x1f5a8d4d // lea r11, [r10 + 31] WORD $0x854d; BYTE $0xd2 // test r10, r10 @@ -28654,10 +29954,10 @@ LBB5_117: LONG $0xc1490f41 // cmovns eax, r9d WORD $0xe083; BYTE $0xf8 // and eax, -8 WORD $0x2941; BYTE $0xc1 // sub r9d, eax - JE LBB5_121 + JE LBB5_127 WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d -LBB5_119: +LBB5_125: WORD $0x3b44; BYTE $0x32 // cmp r14d, dword [rdx] LONG $0x04528d48 // lea rdx, [rdx + 4] WORD $0x950f; BYTE $0xd3 // setne bl @@ -28666,7 +29966,8 @@ LBB5_119: WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xf0490f48 // cmovns rsi, rax LONG $0x03fec148 // sar rsi, 3 - LONG $0x04b60f45; BYTE $0x37 // movzx r8d, byte [r15 + rsi] + WORD $0x894d; BYTE $0xe9 // mov r9, r13 + LONG $0x44b60f45; WORD $0x0035 // movzx r8d, byte [r13 + rsi] WORD $0x3044; BYTE $0xc3 // xor bl, r8b LONG $0x00f53c8d; WORD $0x0000; BYTE $0x00 // lea edi, [8*rsi] WORD $0xc189 // mov ecx, eax @@ -28675,22 +29976,22 @@ LBB5_119: WORD $0xe7d3 // shl edi, cl WORD $0x2040; BYTE $0xdf // and dil, bl WORD $0x3044; BYTE $0xc7 // xor dil, r8b - LONG $0x373c8841 // mov byte [r15 + rsi], dil + LONG $0x357c8841; BYTE $0x00 // mov byte [r13 + rsi], dil LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 - JNE LBB5_119 - LONG $0x01c78349 // add r15, 1 + JNE LBB5_125 + LONG $0x01c58349 // add r13, 1 -LBB5_121: +LBB5_127: LONG $0x05fbc149 // sar r11, 5 LONG $0x20fa8349 // cmp r10, 32 - JL LBB5_125 + JL LBB5_131 QUAD $0x000001182494894c // mov qword [rsp + 280], r10 - QUAD $0x000000b0249c894c // mov qword [rsp + 176], r11 QUAD $0x000000a0249c894c // mov qword [rsp + 160], r11 + QUAD $0x000000a8249c894c // mov qword [rsp + 168], r11 -LBB5_123: - QUAD $0x0000011024bc894c // mov qword [rsp + 272], r15 +LBB5_129: + QUAD $0x0000011024ac894c // mov qword [rsp + 272], r13 LONG $0x7c723b44 // cmp r14d, dword [rdx + 124] LONG $0x2454950f; BYTE $0x1c // setne byte [rsp + 28] LONG $0x78723b44 // cmp r14d, dword [rdx + 120] @@ -28700,31 +30001,31 @@ LBB5_123: LONG $0x70723b44 // cmp r14d, dword [rdx + 112] LONG $0x2454950f; BYTE $0x20 // setne byte [rsp + 32] LONG $0x6c723b44 // cmp r14d, dword [rdx + 108] - LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] - LONG $0x68723b44 // cmp r14d, dword [rdx + 104] LONG $0x2454950f; BYTE $0x38 // setne byte [rsp + 56] - LONG $0x64723b44 // cmp r14d, dword [rdx + 100] + LONG $0x68723b44 // cmp r14d, dword [rdx + 104] LONG $0x2454950f; BYTE $0x30 // setne byte [rsp + 48] + LONG $0x64723b44 // cmp r14d, dword [rdx + 100] + LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] LONG $0x5c723b44 // cmp r14d, dword [rdx + 92] LONG $0x2454950f; BYTE $0x48 // setne byte [rsp + 72] LONG $0x58723b44 // cmp r14d, dword [rdx + 88] LONG $0x2454950f; BYTE $0x40 // setne byte [rsp + 64] LONG $0x54723b44 // cmp r14d, dword [rdx + 84] - LONG $0x2454950f; BYTE $0x68 // setne byte [rsp + 104] - LONG $0x50723b44 // cmp r14d, dword [rdx + 80] LONG $0x2454950f; BYTE $0x60 // setne byte [rsp + 96] - LONG $0x4c723b44 // cmp r14d, dword [rdx + 76] + LONG $0x50723b44 // cmp r14d, dword [rdx + 80] LONG $0x2454950f; BYTE $0x58 // setne byte [rsp + 88] - LONG $0x48723b44 // cmp r14d, dword [rdx + 72] + LONG $0x4c723b44 // cmp r14d, dword [rdx + 76] LONG $0x2454950f; BYTE $0x50 // setne byte [rsp + 80] - LONG $0x44723b44 // cmp r14d, dword [rdx + 68] + LONG $0x48723b44 // cmp r14d, dword [rdx + 72] QUAD $0x000000902494950f // setne byte [rsp + 144] + LONG $0x44723b44 // cmp r14d, dword [rdx + 68] + QUAD $0x000000882494950f // setne byte [rsp + 136] LONG $0x3c723b44 // cmp r14d, dword [rdx + 60] LONG $0xd0950f41 // setne r8b LONG $0x38723b44 // cmp r14d, dword [rdx + 56] - QUAD $0x000000802494950f // setne byte [rsp + 128] - LONG $0x34723b44 // cmp r14d, dword [rdx + 52] LONG $0x2454950f; BYTE $0x78 // setne byte [rsp + 120] + LONG $0x34723b44 // cmp r14d, dword [rdx + 52] + LONG $0x2454950f; BYTE $0x70 // setne byte [rsp + 112] LONG $0x30723b44 // cmp r14d, dword [rdx + 48] LONG $0xd3950f41 // setne r11b LONG $0x2c723b44 // cmp r14d, dword [rdx + 44] @@ -28742,28 +30043,28 @@ LBB5_123: LONG $0x10723b44 // cmp r14d, dword [rdx + 16] WORD $0x950f; BYTE $0xd1 // setne cl LONG $0x0c723b44 // cmp r14d, dword [rdx + 12] - LONG $0xd5950f41 // setne r13b - LONG $0x08723b44 // cmp r14d, dword [rdx + 8] LONG $0xd4950f41 // setne r12b + LONG $0x08723b44 // cmp r14d, dword [rdx + 8] + LONG $0xd5950f41 // setne r13b WORD $0x3b44; BYTE $0x32 // cmp r14d, dword [rdx] - QUAD $0x000000a82494950f // setne byte [rsp + 168] + QUAD $0x000000b02494950f // setne byte [rsp + 176] LONG $0x04723b44 // cmp r14d, dword [rdx + 4] LONG $0xd7950f41 // setne r15b LONG $0x20723b44 // cmp r14d, dword [rdx + 32] QUAD $0x000000982494950f // setne byte [rsp + 152] LONG $0x40723b44 // cmp r14d, dword [rdx + 64] - LONG $0x2454950f; BYTE $0x70 // setne byte [rsp + 112] + LONG $0x2454950f; BYTE $0x68 // setne byte [rsp + 104] LONG $0x60723b44 // cmp r14d, dword [rdx + 96] - QUAD $0x000000882494950f // setne byte [rsp + 136] + QUAD $0x000000802494950f // setne byte [rsp + 128] WORD $0x0045; BYTE $0xff // add r15b, r15b - QUAD $0x000000a824bc0244 // add r15b, byte [rsp + 168] - LONG $0x02e4c041 // shl r12b, 2 - WORD $0x0845; BYTE $0xfc // or r12b, r15b + QUAD $0x000000b024bc0244 // add r15b, byte [rsp + 176] + LONG $0x02e5c041 // shl r13b, 2 + WORD $0x0845; BYTE $0xfd // or r13b, r15b QUAD $0x0000011024bc8b4c // mov r15, qword [rsp + 272] - LONG $0x03e5c041 // shl r13b, 3 - WORD $0x0845; BYTE $0xe5 // or r13b, r12b + LONG $0x03e4c041 // shl r12b, 3 + WORD $0x0845; BYTE $0xec // or r12b, r13b WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0x0844; BYTE $0xe9 // or cl, r13b + WORD $0x0844; BYTE $0xe1 // or cl, r12b LONG $0x05e6c040 // shl sil, 5 WORD $0x0840; BYTE $0xce // or sil, cl WORD $0xe3c0; BYTE $0x06 // shl bl, 6 @@ -28779,32 +30080,32 @@ LBB5_123: WORD $0x0845; BYTE $0xca // or r10b, r9b LONG $0x04e3c041 // shl r11b, 4 WORD $0x0845; BYTE $0xd3 // or r11b, r10b - LONG $0x2444b60f; BYTE $0x78 // movzx eax, byte [rsp + 120] + LONG $0x2444b60f; BYTE $0x70 // movzx eax, byte [rsp + 112] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0x0844; BYTE $0xd8 // or al, r11b - QUAD $0x00000080248cb60f // movzx ecx, byte [rsp + 128] + LONG $0x244cb60f; BYTE $0x78 // movzx ecx, byte [rsp + 120] WORD $0xe1c0; BYTE $0x06 // shl cl, 6 LONG $0x07e0c041 // shl r8b, 7 WORD $0x0841; BYTE $0xc8 // or r8b, cl WORD $0x0841; BYTE $0xc0 // or r8b, al LONG $0x01478845 // mov byte [r15 + 1], r8b - QUAD $0x000000902484b60f // movzx eax, byte [rsp + 144] + QUAD $0x000000882484b60f // movzx eax, byte [rsp + 136] WORD $0xc000 // add al, al - LONG $0x70244402 // add al, byte [rsp + 112] + LONG $0x68244402 // add al, byte [rsp + 104] WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x50 // movzx eax, byte [rsp + 80] + QUAD $0x000000902484b60f // movzx eax, byte [rsp + 144] WORD $0xe0c0; BYTE $0x02 // shl al, 2 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x58 // movzx eax, byte [rsp + 88] + LONG $0x2444b60f; BYTE $0x50 // movzx eax, byte [rsp + 80] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x60 // movzx eax, byte [rsp + 96] + LONG $0x2444b60f; BYTE $0x58 // movzx eax, byte [rsp + 88] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x68 // movzx eax, byte [rsp + 104] + LONG $0x2444b60f; BYTE $0x60 // movzx eax, byte [rsp + 96] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax @@ -28815,15 +30116,15 @@ LBB5_123: WORD $0xd808 // or al, bl WORD $0xc808 // or al, cl LONG $0x02478841 // mov byte [r15 + 2], al - LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] + LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] WORD $0xc000 // add al, al - LONG $0x88248402; WORD $0x0000; BYTE $0x00 // add al, byte [rsp + 136] + LONG $0x80248402; WORD $0x0000; BYTE $0x00 // add al, byte [rsp + 128] WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x38 // movzx eax, byte [rsp + 56] + LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] WORD $0xe0c0; BYTE $0x02 // shl al, 2 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] + LONG $0x2444b60f; BYTE $0x38 // movzx eax, byte [rsp + 56] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax @@ -28844,58 +30145,96 @@ LBB5_123: LONG $0x03478841 // mov byte [r15 + 3], al LONG $0x80ea8348 // sub rdx, -128 LONG $0x04c78349 // add r15, 4 - QUAD $0x000000a024848348; BYTE $0xff // add qword [rsp + 160], -1 - JNE LBB5_123 + WORD $0x894d; BYTE $0xfd // mov r13, r15 + QUAD $0x000000a824848348; BYTE $0xff // add qword [rsp + 168], -1 + JNE LBB5_129 QUAD $0x0000011824948b4c // mov r10, qword [rsp + 280] - QUAD $0x000000b0249c8b4c // mov r11, qword [rsp + 176] + QUAD $0x000000a0249c8b4c // mov r11, qword [rsp + 160] -LBB5_125: +LBB5_131: LONG $0x05e3c149 // shl r11, 5 WORD $0x394d; BYTE $0xd3 // cmp r11, r10 - JGE LBB5_157 + JGE LBB5_164 WORD $0x894d; BYTE $0xd0 // mov r8, r10 WORD $0x294d; BYTE $0xd8 // sub r8, r11 WORD $0xf749; BYTE $0xd3 // not r11 WORD $0x014d; BYTE $0xd3 // add r11, r10 - JNE LBB5_152 + JNE LBB5_158 -LBB5_127: +LBB5_133: WORD $0xff31 // xor edi, edi - JMP LBB5_154 + JMP LBB5_160 -LBB5_128: - WORD $0x894d; BYTE $0xfd // mov r13, r15 +LBB5_134: + WORD $0x894d; BYTE $0xc1 // mov r9, r8 + LONG $0xfee18349 // and r9, -2 + WORD $0xff31 // xor edi, edi -LBB5_129: - LONG $0x05e6c149 // shl r14, 5 - WORD $0x394d; BYTE $0xd6 // cmp r14, r10 - JGE LBB5_157 - WORD $0x894d; BYTE $0xd0 // mov r8, r10 - WORD $0x294d; BYTE $0xf0 // sub r8, r14 - WORD $0xf749; BYTE $0xd6 // not r14 - WORD $0x014d; BYTE $0xd6 // add r14, r10 - JE LBB5_135 +LBB5_135: + LONG $0x022ef9c5 // vucomisd xmm0, qword [rdx] + WORD $0x9a0f; BYTE $0xd1 // setp cl + WORD $0x950f; BYTE $0xd0 // setne al + WORD $0xc808 // or al, cl + WORD $0xd8f6 // neg al + WORD $0x8948; BYTE $0xfe // mov rsi, rdi + LONG $0x03eec148 // shr rsi, 3 + WORD $0x894d; BYTE $0xee // mov r14, r13 + LONG $0x54b60f45; WORD $0x0035 // movzx r10d, byte [r13 + rsi] + WORD $0xf989 // mov ecx, edi + WORD $0xe180; BYTE $0x06 // and cl, 6 + WORD $0xb341; BYTE $0x01 // mov r11b, 1 + WORD $0xd241; BYTE $0xe3 // shl r11b, cl + WORD $0x3044; BYTE $0xd0 // xor al, r10b + WORD $0x2041; BYTE $0xc3 // and r11b, al + WORD $0x3045; BYTE $0xd3 // xor r11b, r10b + LONG $0x355c8845; BYTE $0x00 // mov byte [r13 + rsi], r11b + LONG $0x02c78348 // add rdi, 2 + LONG $0x422ef9c5; BYTE $0x08 // vucomisd xmm0, qword [rdx + 8] + LONG $0x10528d48 // lea rdx, [rdx + 16] + LONG $0xd29a0f41 // setp r10b + WORD $0x950f; BYTE $0xd0 // setne al + WORD $0x0844; BYTE $0xd0 // or al, r10b + WORD $0xd8f6 // neg al + WORD $0x3044; BYTE $0xd8 // xor al, r11b + WORD $0xc980; BYTE $0x01 // or cl, 1 + WORD $0x01b3 // mov bl, 1 + WORD $0xe3d2 // shl bl, cl + WORD $0xc320 // and bl, al + WORD $0x3044; BYTE $0xdb // xor bl, r11b + LONG $0x355c8841; BYTE $0x00 // mov byte [r13 + rsi], bl + WORD $0x3949; BYTE $0xf9 // cmp r9, rdi + JNE LBB5_135 + +LBB5_136: + LONG $0x01c0f641 // test r8b, 1 + JE LBB5_164 + LONG $0x022ef9c5 // vucomisd xmm0, qword [rdx] + JMP LBB5_152 + +LBB5_140: WORD $0x894d; BYTE $0xc2 // mov r10, r8 LONG $0xfee28349 // and r10, -2 - WORD $0xf631 // xor esi, esi + WORD $0xff31 // xor edi, edi -LBB5_159: - LONG $0x321c3a44 // cmp r11b, byte [rdx + rsi] +LBB5_141: + LONG $0x323b4466 // cmp r14w, word [rdx] WORD $0x950f; BYTE $0xd0 // setne al WORD $0xd8f6 // neg al - WORD $0x8948; BYTE $0xf7 // mov rdi, rsi - LONG $0x03efc148 // shr rdi, 3 - WORD $0xf189 // mov ecx, esi + WORD $0x8948; BYTE $0xfe // mov rsi, rdi + LONG $0x03eec148 // shr rsi, 3 + WORD $0x894d; BYTE $0xeb // mov r11, r13 + LONG $0x4cb60f45; WORD $0x0035 // movzx r9d, byte [r13 + rsi] + WORD $0xf989 // mov ecx, edi WORD $0xe180; BYTE $0x06 // and cl, 6 WORD $0x01b3 // mov bl, 1 WORD $0xe3d2 // shl bl, cl - LONG $0x4cb60f45; WORD $0x003d // movzx r9d, byte [r13 + rdi] WORD $0x3044; BYTE $0xc8 // xor al, r9b WORD $0xc320 // and bl, al WORD $0x3044; BYTE $0xcb // xor bl, r9b - LONG $0x3d5c8841; BYTE $0x00 // mov byte [r13 + rdi], bl - LONG $0x325c3a44; BYTE $0x01 // cmp r11b, byte [rdx + rsi + 1] - LONG $0x02768d48 // lea rsi, [rsi + 2] + LONG $0x355c8841; BYTE $0x00 // mov byte [r13 + rsi], bl + LONG $0x02c78348 // add rdi, 2 + LONG $0x723b4466; BYTE $0x02 // cmp r14w, word [rdx + 2] + LONG $0x04528d48 // lea rdx, [rdx + 4] LONG $0xd1950f41 // setne r9b WORD $0xf641; BYTE $0xd9 // neg r9b WORD $0x3041; BYTE $0xd9 // xor r9b, bl @@ -28904,109 +30243,15 @@ LBB5_159: WORD $0xe0d2 // shl al, cl WORD $0x2044; BYTE $0xc8 // and al, r9b WORD $0xd830 // xor al, bl - LONG $0x3d448841; BYTE $0x00 // mov byte [r13 + rdi], al - WORD $0x3949; BYTE $0xf2 // cmp r10, rsi - JNE LBB5_159 - JMP LBB5_162 - -LBB5_132: - WORD $0x894d; BYTE $0xfd // mov r13, r15 - -LBB5_133: - LONG $0x05e6c149 // shl r14, 5 - WORD $0x394d; BYTE $0xd6 // cmp r14, r10 - JGE LBB5_157 - WORD $0x894d; BYTE $0xd0 // mov r8, r10 - WORD $0x294d; BYTE $0xf0 // sub r8, r14 - WORD $0xf749; BYTE $0xd6 // not r14 - WORD $0x014d; BYTE $0xd6 // add r14, r10 - JNE LBB5_160 - -LBB5_135: - WORD $0xf631 // xor esi, esi - JMP LBB5_163 - -LBB5_136: - WORD $0x894d; BYTE $0xc2 // mov r10, r8 - LONG $0xfee28349 // and r10, -2 - WORD $0xff31 // xor edi, edi - -LBB5_137: - LONG $0x022ef9c5 // vucomisd xmm0, qword [rdx] - WORD $0x950f; BYTE $0xd0 // setne al - WORD $0xd8f6 // neg al - WORD $0x8948; BYTE $0xfe // mov rsi, rdi - LONG $0x03eec148 // shr rsi, 3 - LONG $0x0cb60f45; BYTE $0x37 // movzx r9d, byte [r15 + rsi] - WORD $0x3044; BYTE $0xc8 // xor al, r9b - WORD $0xf989 // mov ecx, edi - WORD $0xe180; BYTE $0x06 // and cl, 6 - WORD $0x01b3 // mov bl, 1 - WORD $0xe3d2 // shl bl, cl - WORD $0xc320 // and bl, al - WORD $0x3044; BYTE $0xcb // xor bl, r9b - LONG $0x371c8841 // mov byte [r15 + rsi], bl - LONG $0x02c78348 // add rdi, 2 - LONG $0x422ef9c5; BYTE $0x08 // vucomisd xmm0, qword [rdx + 8] - LONG $0x10528d48 // lea rdx, [rdx + 16] - LONG $0xd1950f41 // setne r9b - WORD $0xf641; BYTE $0xd9 // neg r9b - WORD $0x3041; BYTE $0xd9 // xor r9b, bl - WORD $0xc980; BYTE $0x01 // or cl, 1 - WORD $0x01b0 // mov al, 1 - WORD $0xe0d2 // shl al, cl - WORD $0x2044; BYTE $0xc8 // and al, r9b - WORD $0xd830 // xor al, bl - LONG $0x37048841 // mov byte [r15 + rsi], al - WORD $0x3949; BYTE $0xfa // cmp r10, rdi - JNE LBB5_137 - -LBB5_138: - LONG $0x01c0f641 // test r8b, 1 - JE LBB5_157 - LONG $0x022ef9c5 // vucomisd xmm0, qword [rdx] - JMP LBB5_156 - -LBB5_140: - WORD $0x894d; BYTE $0xc2 // mov r10, r8 - LONG $0xfee28349 // and r10, -2 - WORD $0xff31 // xor edi, edi - -LBB5_141: - LONG $0x323b4466 // cmp r14w, word [rdx] - WORD $0x950f; BYTE $0xd0 // setne al - WORD $0xd8f6 // neg al - WORD $0x8948; BYTE $0xfe // mov rsi, rdi - LONG $0x03eec148 // shr rsi, 3 - LONG $0x0cb60f45; BYTE $0x37 // movzx r9d, byte [r15 + rsi] - WORD $0xf989 // mov ecx, edi - WORD $0xe180; BYTE $0x06 // and cl, 6 - WORD $0x01b3 // mov bl, 1 - WORD $0xe3d2 // shl bl, cl - WORD $0x3044; BYTE $0xc8 // xor al, r9b - WORD $0xc320 // and bl, al - WORD $0x3044; BYTE $0xcb // xor bl, r9b - LONG $0x371c8841 // mov byte [r15 + rsi], bl - LONG $0x02c78348 // add rdi, 2 - LONG $0x723b4466; BYTE $0x02 // cmp r14w, word [rdx + 2] - LONG $0x04528d48 // lea rdx, [rdx + 4] - LONG $0xd1950f41 // setne r9b - WORD $0xf641; BYTE $0xd9 // neg r9b - WORD $0x3041; BYTE $0xd9 // xor r9b, bl - WORD $0xc980; BYTE $0x01 // or cl, 1 - WORD $0x01b0 // mov al, 1 - WORD $0xe0d2 // shl al, cl - WORD $0x2044; BYTE $0xc8 // and al, r9b - WORD $0xd830 // xor al, bl - LONG $0x37048841 // mov byte [r15 + rsi], al - WORD $0x3949; BYTE $0xfa // cmp r10, rdi + LONG $0x35448841; BYTE $0x00 // mov byte [r13 + rsi], al + WORD $0x3949; BYTE $0xfa // cmp r10, rdi JNE LBB5_141 LBB5_142: LONG $0x01c0f641 // test r8b, 1 - JE LBB5_157 + JE LBB5_164 LONG $0x323b4466 // cmp r14w, word [rdx] - JMP LBB5_156 + JMP LBB5_162 LBB5_144: WORD $0x894d; BYTE $0xc2 // mov r10, r8 @@ -29014,148 +30259,111 @@ LBB5_144: WORD $0xff31 // xor edi, edi LBB5_145: - WORD $0x3b4c; BYTE $0x32 // cmp r14, qword [rdx] - WORD $0x950f; BYTE $0xd0 // setne al - WORD $0xd8f6 // neg al - WORD $0x8948; BYTE $0xfe // mov rsi, rdi - LONG $0x03eec148 // shr rsi, 3 - LONG $0x0cb60f45; BYTE $0x37 // movzx r9d, byte [r15 + rsi] - WORD $0xf989 // mov ecx, edi - WORD $0xe180; BYTE $0x06 // and cl, 6 - WORD $0x01b3 // mov bl, 1 - WORD $0xe3d2 // shl bl, cl - WORD $0x3044; BYTE $0xc8 // xor al, r9b - WORD $0xc320 // and bl, al - WORD $0x3044; BYTE $0xcb // xor bl, r9b - LONG $0x371c8841 // mov byte [r15 + rsi], bl - LONG $0x02c78348 // add rdi, 2 - LONG $0x08723b4c // cmp r14, qword [rdx + 8] - LONG $0x10528d48 // lea rdx, [rdx + 16] - LONG $0xd1950f41 // setne r9b - WORD $0xf641; BYTE $0xd9 // neg r9b - WORD $0x3041; BYTE $0xd9 // xor r9b, bl - WORD $0xc980; BYTE $0x01 // or cl, 1 - WORD $0x01b0 // mov al, 1 - WORD $0xe0d2 // shl al, cl - WORD $0x2044; BYTE $0xc8 // and al, r9b - WORD $0xd830 // xor al, bl - LONG $0x37048841 // mov byte [r15 + rsi], al - WORD $0x3949; BYTE $0xfa // cmp r10, rdi + WORD $0x3b4c; BYTE $0x32 // cmp r14, qword [rdx] + WORD $0x950f; BYTE $0xd0 // setne al + WORD $0xd8f6 // neg al + WORD $0x8948; BYTE $0xfe // mov rsi, rdi + LONG $0x03eec148 // shr rsi, 3 + WORD $0x894d; BYTE $0xeb // mov r11, r13 + LONG $0x4cb60f45; WORD $0x0035 // movzx r9d, byte [r13 + rsi] + WORD $0xf989 // mov ecx, edi + WORD $0xe180; BYTE $0x06 // and cl, 6 + WORD $0x01b3 // mov bl, 1 + WORD $0xe3d2 // shl bl, cl + WORD $0x3044; BYTE $0xc8 // xor al, r9b + WORD $0xc320 // and bl, al + WORD $0x3044; BYTE $0xcb // xor bl, r9b + LONG $0x355c8841; BYTE $0x00 // mov byte [r13 + rsi], bl + LONG $0x02c78348 // add rdi, 2 + LONG $0x08723b4c // cmp r14, qword [rdx + 8] + LONG $0x10528d48 // lea rdx, [rdx + 16] + LONG $0xd1950f41 // setne r9b + WORD $0xf641; BYTE $0xd9 // neg r9b + WORD $0x3041; BYTE $0xd9 // xor r9b, bl + WORD $0xc980; BYTE $0x01 // or cl, 1 + WORD $0x01b0 // mov al, 1 + WORD $0xe0d2 // shl al, cl + WORD $0x2044; BYTE $0xc8 // and al, r9b + WORD $0xd830 // xor al, bl + LONG $0x35448841; BYTE $0x00 // mov byte [r13 + rsi], al + WORD $0x3949; BYTE $0xfa // cmp r10, rdi JNE LBB5_145 LBB5_146: LONG $0x01c0f641 // test r8b, 1 - JE LBB5_157 + JE LBB5_164 WORD $0x3b4c; BYTE $0x32 // cmp r14, qword [rdx] - JMP LBB5_156 + JMP LBB5_162 LBB5_148: - WORD $0x894d; BYTE $0xc2 // mov r10, r8 - LONG $0xfee28349 // and r10, -2 + WORD $0x894d; BYTE $0xc1 // mov r9, r8 + LONG $0xfee18349 // and r9, -2 WORD $0xff31 // xor edi, edi LBB5_149: - LONG $0x022ef8c5 // vucomiss xmm0, dword [rdx] - WORD $0x950f; BYTE $0xd0 // setne al - WORD $0xd8f6 // neg al - WORD $0x8948; BYTE $0xfe // mov rsi, rdi - LONG $0x03eec148 // shr rsi, 3 - LONG $0x0cb60f45; BYTE $0x37 // movzx r9d, byte [r15 + rsi] - WORD $0x3044; BYTE $0xc8 // xor al, r9b - WORD $0xf989 // mov ecx, edi - WORD $0xe180; BYTE $0x06 // and cl, 6 - WORD $0x01b3 // mov bl, 1 - WORD $0xe3d2 // shl bl, cl - WORD $0xc320 // and bl, al - WORD $0x3044; BYTE $0xcb // xor bl, r9b - LONG $0x371c8841 // mov byte [r15 + rsi], bl - LONG $0x02c78348 // add rdi, 2 - LONG $0x422ef8c5; BYTE $0x04 // vucomiss xmm0, dword [rdx + 4] - LONG $0x08528d48 // lea rdx, [rdx + 8] - LONG $0xd1950f41 // setne r9b - WORD $0xf641; BYTE $0xd9 // neg r9b - WORD $0x3041; BYTE $0xd9 // xor r9b, bl - WORD $0xc980; BYTE $0x01 // or cl, 1 - WORD $0x01b0 // mov al, 1 - WORD $0xe0d2 // shl al, cl - WORD $0x2044; BYTE $0xc8 // and al, r9b - WORD $0xd830 // xor al, bl - LONG $0x37048841 // mov byte [r15 + rsi], al - WORD $0x3949; BYTE $0xfa // cmp r10, rdi + LONG $0x022ef8c5 // vucomiss xmm0, dword [rdx] + WORD $0x9a0f; BYTE $0xd1 // setp cl + WORD $0x950f; BYTE $0xd0 // setne al + WORD $0xc808 // or al, cl + WORD $0xd8f6 // neg al + WORD $0x8948; BYTE $0xfe // mov rsi, rdi + LONG $0x03eec148 // shr rsi, 3 + WORD $0x894d; BYTE $0xee // mov r14, r13 + LONG $0x54b60f45; WORD $0x0035 // movzx r10d, byte [r13 + rsi] + WORD $0xf989 // mov ecx, edi + WORD $0xe180; BYTE $0x06 // and cl, 6 + WORD $0xb341; BYTE $0x01 // mov r11b, 1 + WORD $0xd241; BYTE $0xe3 // shl r11b, cl + WORD $0x3044; BYTE $0xd0 // xor al, r10b + WORD $0x2041; BYTE $0xc3 // and r11b, al + WORD $0x3045; BYTE $0xd3 // xor r11b, r10b + LONG $0x355c8845; BYTE $0x00 // mov byte [r13 + rsi], r11b + LONG $0x02c78348 // add rdi, 2 + LONG $0x422ef8c5; BYTE $0x04 // vucomiss xmm0, dword [rdx + 4] + LONG $0x08528d48 // lea rdx, [rdx + 8] + LONG $0xd29a0f41 // setp r10b + WORD $0x950f; BYTE $0xd0 // setne al + WORD $0x0844; BYTE $0xd0 // or al, r10b + WORD $0xd8f6 // neg al + WORD $0x3044; BYTE $0xd8 // xor al, r11b + WORD $0xc980; BYTE $0x01 // or cl, 1 + WORD $0x01b3 // mov bl, 1 + WORD $0xe3d2 // shl bl, cl + WORD $0xc320 // and bl, al + WORD $0x3044; BYTE $0xdb // xor bl, r11b + LONG $0x355c8841; BYTE $0x00 // mov byte [r13 + rsi], bl + WORD $0x3949; BYTE $0xf9 // cmp r9, rdi JNE LBB5_149 LBB5_150: LONG $0x01c0f641 // test r8b, 1 - JE LBB5_157 + JE LBB5_164 LONG $0x022ef8c5 // vucomiss xmm0, dword [rdx] - JMP LBB5_156 LBB5_152: - WORD $0x894d; BYTE $0xc2 // mov r10, r8 - LONG $0xfee28349 // and r10, -2 - WORD $0xff31 // xor edi, edi - -LBB5_153: - WORD $0x3b44; BYTE $0x32 // cmp r14d, dword [rdx] - WORD $0x950f; BYTE $0xd0 // setne al - WORD $0xd8f6 // neg al - WORD $0x8948; BYTE $0xfe // mov rsi, rdi - LONG $0x03eec148 // shr rsi, 3 - LONG $0x0cb60f45; BYTE $0x37 // movzx r9d, byte [r15 + rsi] - WORD $0xf989 // mov ecx, edi - WORD $0xe180; BYTE $0x06 // and cl, 6 + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd2 // setne dl + WORD $0xc208 // or dl, al + WORD $0xdaf6 // neg dl + WORD $0x8948; BYTE $0xf8 // mov rax, rdi + LONG $0x03e8c148 // shr rax, 3 + LONG $0x05748a41; BYTE $0x00 // mov sil, byte [r13 + rax] + LONG $0x07e78040 // and dil, 7 WORD $0x01b3 // mov bl, 1 + WORD $0xf989 // mov ecx, edi WORD $0xe3d2 // shl bl, cl - WORD $0x3044; BYTE $0xc8 // xor al, r9b - WORD $0xc320 // and bl, al - WORD $0x3044; BYTE $0xcb // xor bl, r9b - LONG $0x371c8841 // mov byte [r15 + rsi], bl - LONG $0x02c78348 // add rdi, 2 - LONG $0x04723b44 // cmp r14d, dword [rdx + 4] - LONG $0x08528d48 // lea rdx, [rdx + 8] - LONG $0xd1950f41 // setne r9b - WORD $0xf641; BYTE $0xd9 // neg r9b - WORD $0x3041; BYTE $0xd9 // xor r9b, bl - WORD $0xc980; BYTE $0x01 // or cl, 1 - WORD $0x01b0 // mov al, 1 - WORD $0xe0d2 // shl al, cl - WORD $0x2044; BYTE $0xc8 // and al, r9b - WORD $0xd830 // xor al, bl - LONG $0x37048841 // mov byte [r15 + rsi], al - WORD $0x3949; BYTE $0xfa // cmp r10, rdi - JNE LBB5_153 - -LBB5_154: - LONG $0x01c0f641 // test r8b, 1 - JE LBB5_157 - WORD $0x3b44; BYTE $0x32 // cmp r14d, dword [rdx] - -LBB5_156: - WORD $0x950f; BYTE $0xd0 // setne al - WORD $0xd8f6 // neg al - WORD $0x8948; BYTE $0xfa // mov rdx, rdi - LONG $0x03eac148 // shr rdx, 3 - LONG $0x17348a41 // mov sil, byte [r15 + rdx] - LONG $0x07e78040 // and dil, 7 - WORD $0x01b3 // mov bl, 1 - WORD $0xf989 // mov ecx, edi - WORD $0xe3d2 // shl bl, cl - WORD $0x3040; BYTE $0xf0 // xor al, sil - WORD $0xc320 // and bl, al - WORD $0x3040; BYTE $0xf3 // xor bl, sil - LONG $0x171c8841 // mov byte [r15 + rdx], bl - -LBB5_157: - MOVQ 1280(SP), SP - VZEROUPPER - RET + WORD $0x3040; BYTE $0xf2 // xor dl, sil + WORD $0xd320 // and bl, dl + WORD $0x3040; BYTE $0xf3 // xor bl, sil + LONG $0x055c8841; BYTE $0x00 // mov byte [r13 + rax], bl + JMP LBB5_164 -LBB5_160: +LBB5_153: WORD $0x894d; BYTE $0xc2 // mov r10, r8 LONG $0xfee28349 // and r10, -2 WORD $0xf631 // xor esi, esi -LBB5_161: +LBB5_154: LONG $0x321c3a44 // cmp r11b, byte [rdx + rsi] WORD $0x950f; BYTE $0xd0 // setne al WORD $0xd8f6 // neg al @@ -29182,14 +30390,14 @@ LBB5_161: WORD $0xd830 // xor al, bl LONG $0x3d448841; BYTE $0x00 // mov byte [r13 + rdi], al WORD $0x3949; BYTE $0xf2 // cmp r10, rsi - JNE LBB5_161 + JNE LBB5_154 -LBB5_162: +LBB5_155: WORD $0x0148; BYTE $0xf2 // add rdx, rsi -LBB5_163: +LBB5_156: LONG $0x01c0f641 // test r8b, 1 - JE LBB5_157 + JE LBB5_164 WORD $0x3a44; BYTE $0x1a // cmp r11b, byte [rdx] WORD $0x950f; BYTE $0xd0 // setne al WORD $0xd8f6 // neg al @@ -29203,8 +30411,70 @@ LBB5_163: WORD $0x3040; BYTE $0xf8 // xor al, dil WORD $0xc320 // and bl, al WORD $0x3040; BYTE $0xfb // xor bl, dil + JMP LBB5_163 + +LBB5_158: + WORD $0x894d; BYTE $0xc2 // mov r10, r8 + LONG $0xfee28349 // and r10, -2 + WORD $0xff31 // xor edi, edi + +LBB5_159: + WORD $0x3b44; BYTE $0x32 // cmp r14d, dword [rdx] + WORD $0x950f; BYTE $0xd0 // setne al + WORD $0xd8f6 // neg al + WORD $0x8948; BYTE $0xfe // mov rsi, rdi + LONG $0x03eec148 // shr rsi, 3 + WORD $0x894d; BYTE $0xeb // mov r11, r13 + LONG $0x4cb60f45; WORD $0x0035 // movzx r9d, byte [r13 + rsi] + WORD $0xf989 // mov ecx, edi + WORD $0xe180; BYTE $0x06 // and cl, 6 + WORD $0x01b3 // mov bl, 1 + WORD $0xe3d2 // shl bl, cl + WORD $0x3044; BYTE $0xc8 // xor al, r9b + WORD $0xc320 // and bl, al + WORD $0x3044; BYTE $0xcb // xor bl, r9b + LONG $0x355c8841; BYTE $0x00 // mov byte [r13 + rsi], bl + LONG $0x02c78348 // add rdi, 2 + LONG $0x04723b44 // cmp r14d, dword [rdx + 4] + LONG $0x08528d48 // lea rdx, [rdx + 8] + LONG $0xd1950f41 // setne r9b + WORD $0xf641; BYTE $0xd9 // neg r9b + WORD $0x3041; BYTE $0xd9 // xor r9b, bl + WORD $0xc980; BYTE $0x01 // or cl, 1 + WORD $0x01b0 // mov al, 1 + WORD $0xe0d2 // shl al, cl + WORD $0x2044; BYTE $0xc8 // and al, r9b + WORD $0xd830 // xor al, bl + LONG $0x35448841; BYTE $0x00 // mov byte [r13 + rsi], al + WORD $0x3949; BYTE $0xfa // cmp r10, rdi + JNE LBB5_159 + +LBB5_160: + LONG $0x01c0f641 // test r8b, 1 + JE LBB5_164 + WORD $0x3b44; BYTE $0x32 // cmp r14d, dword [rdx] + +LBB5_162: + WORD $0x950f; BYTE $0xd0 // setne al + WORD $0xd8f6 // neg al + WORD $0x8948; BYTE $0xfa // mov rdx, rdi + LONG $0x03eac148 // shr rdx, 3 + LONG $0x15748a41; BYTE $0x00 // mov sil, byte [r13 + rdx] + LONG $0x07e78040 // and dil, 7 + WORD $0x01b3 // mov bl, 1 + WORD $0xf989 // mov ecx, edi + WORD $0xe3d2 // shl bl, cl + WORD $0x3040; BYTE $0xf0 // xor al, sil + WORD $0xc320 // and bl, al + WORD $0x3040; BYTE $0xf3 // xor bl, sil + +LBB5_163: LONG $0x155c8841; BYTE $0x00 // mov byte [r13 + rdx], bl - JMP LBB5_157 + +LBB5_164: + MOVQ 1280(SP), SP + VZEROUPPER + RET LBB5_165: LONG $0xe0e68349 // and r14, -32 @@ -29213,13 +30483,14 @@ LBB5_165: WORD $0x0148; BYTE $0xd0 // add rax, rdx QUAD $0x0000018824848948 // mov qword [rsp + 392], rax QUAD $0x0000017824b4894c // mov qword [rsp + 376], r14 - LONG $0xb7048d4b // lea rax, [r15 + 4*r14] + QUAD $0x00000000b5048d4a // lea rax, [4*r14] + WORD $0x014c; BYTE $0xe8 // add rax, r13 QUAD $0x0000019024848948 // mov qword [rsp + 400], rax LONG $0x6e79c1c4; BYTE $0xc3 // vmovd xmm0, r11d LONG $0x787de2c4; BYTE $0xc0 // vpbroadcastb ymm0, xmm0 QUAD $0x00020024847ffdc5; BYTE $0x00 // vmovdqa yword [rsp + 512], ymm0 WORD $0xf631 // xor esi, esi - QUAD $0x0000011024bc894c // mov qword [rsp + 272], r15 + QUAD $0x0000011024ac894c // mov qword [rsp + 272], r13 LBB5_166: QUAD $0x0000019824b48948 // mov qword [rsp + 408], rsi @@ -29229,32 +30500,32 @@ LBB5_166: QUAD $0x000000e824848948 // mov qword [rsp + 232], rax WORD $0x8948; BYTE $0xf0 // mov rax, rsi LONG $0x40c88348 // or rax, 64 - QUAD $0x000000e024848948 // mov qword [rsp + 224], rax + QUAD $0x000000d824848948 // mov qword [rsp + 216], rax WORD $0x8948; BYTE $0xf0 // mov rax, rsi LONG $0x60c88348 // or rax, 96 - QUAD $0x000000d824848948 // mov qword [rsp + 216], rax + QUAD $0x000000a024848948 // mov qword [rsp + 160], rax WORD $0x8948; BYTE $0xf0 // mov rax, rsi LONG $0x00800d48; WORD $0x0000 // or rax, 128 - QUAD $0x0000014024848948 // mov qword [rsp + 320], rax + LONG $0x24448948; BYTE $0x20 // mov qword [rsp + 32], rax WORD $0x8948; BYTE $0xf0 // mov rax, rsi LONG $0x00a00d48; WORD $0x0000 // or rax, 160 - LONG $0x24448948; BYTE $0x38 // mov qword [rsp + 56], rax + LONG $0x24448948; BYTE $0x48 // mov qword [rsp + 72], rax WORD $0x8948; BYTE $0xf0 // mov rax, rsi LONG $0x00c00d48; WORD $0x0000 // or rax, 192 - QUAD $0x000000a824848948 // mov qword [rsp + 168], rax + QUAD $0x000000b024848948 // mov qword [rsp + 176], rax WORD $0x8948; BYTE $0xf0 // mov rax, rsi LONG $0x00e00d48; WORD $0x0000 // or rax, 224 - QUAD $0x000000a024848948 // mov qword [rsp + 160], rax + QUAD $0x000000a824848948 // mov qword [rsp + 168], rax WORD $0x8948; BYTE $0xf0 // mov rax, rsi LONG $0x01000d48; WORD $0x0000 // or rax, 256 QUAD $0x0000012024848948 // mov qword [rsp + 288], rax WORD $0x8948; BYTE $0xf0 // mov rax, rsi LONG $0x01200d48; WORD $0x0000 // or rax, 288 - LONG $0x24448948; BYTE $0x30 // mov qword [rsp + 48], rax + LONG $0x24448948; BYTE $0x40 // mov qword [rsp + 64], rax WORD $0x8948; BYTE $0xf0 // mov rax, rsi QUAD $0x0000010824b48948 // mov qword [rsp + 264], rsi LONG $0x01400d48; WORD $0x0000 // or rax, 320 - LONG $0x24448948; BYTE $0x68 // mov qword [rsp + 104], rax + LONG $0x24448948; BYTE $0x38 // mov qword [rsp + 56], rax WORD $0x8948; BYTE $0xf0 // mov rax, rsi LONG $0x02000d48; WORD $0x0000 // or rax, 512 WORD $0x8948; BYTE $0xc1 // mov rcx, rax @@ -29296,10 +30567,10 @@ LBB5_166: LONG $0xc86ef9c5 // vmovd xmm1, eax WORD $0x8948; BYTE $0xf0 // mov rax, rsi LONG $0x01600d48; WORD $0x0000 // or rax, 352 - LONG $0x24448948; BYTE $0x48 // mov qword [rsp + 72], rax + LONG $0x24448948; BYTE $0x30 // mov qword [rsp + 48], rax WORD $0x8948; BYTE $0xf0 // mov rax, rsi LONG $0x01800d48; WORD $0x0000 // or rax, 384 - LONG $0x24448948; BYTE $0x20 // mov qword [rsp + 32], rax + QUAD $0x0000014024848948 // mov qword [rsp + 320], rax WORD $0x8948; BYTE $0xf0 // mov rax, rsi LONG $0x01a00d48; WORD $0x0000 // or rax, 416 LONG $0x24448948; BYTE $0x28 // mov qword [rsp + 40], rax @@ -29312,10 +30583,10 @@ LBB5_166: WORD $0x8948; BYTE $0xf0 // mov rax, rsi LONG $0x02200d48; WORD $0x0000 // or rax, 544 WORD $0x8949; BYTE $0xc5 // mov r13, rax - QUAD $0x000000d024848948 // mov qword [rsp + 208], rax + QUAD $0x000000b824848948 // mov qword [rsp + 184], rax WORD $0x8949; BYTE $0xf4 // mov r12, rsi LONG $0x40cc8149; WORD $0x0002; BYTE $0x00 // or r12, 576 - QUAD $0x000000c824a4894c // mov qword [rsp + 200], r12 + QUAD $0x000000e024a4894c // mov qword [rsp + 224], r12 WORD $0x8948; BYTE $0xf0 // mov rax, rsi LONG $0x02600d48; WORD $0x0000 // or rax, 608 WORD $0x8949; BYTE $0xc6 // mov r14, rax @@ -29325,22 +30596,22 @@ LBB5_166: QUAD $0x0000010024bc894c // mov qword [rsp + 256], r15 WORD $0x8949; BYTE $0xf2 // mov r10, rsi LONG $0xa0ca8149; WORD $0x0002; BYTE $0x00 // or r10, 672 - LONG $0x2454894c; BYTE $0x70 // mov qword [rsp + 112], r10 + LONG $0x2454894c; BYTE $0x68 // mov qword [rsp + 104], r10 WORD $0x8948; BYTE $0xf0 // mov rax, rsi LONG $0x02c00d48; WORD $0x0000 // or rax, 704 QUAD $0x0000008024848948 // mov qword [rsp + 128], rax WORD $0x8949; BYTE $0xf0 // mov r8, rsi LONG $0xe0c88149; WORD $0x0002; BYTE $0x00 // or r8, 736 - LONG $0x2444894c; BYTE $0x40 // mov qword [rsp + 64], r8 + LONG $0x2444894c; BYTE $0x70 // mov qword [rsp + 112], r8 WORD $0x8948; BYTE $0xf0 // mov rax, rsi LONG $0x03000d48; WORD $0x0000 // or rax, 768 - QUAD $0x000000b824848948 // mov qword [rsp + 184], rax + QUAD $0x000000c824848948 // mov qword [rsp + 200], rax WORD $0x8948; BYTE $0xf0 // mov rax, rsi LONG $0x03200d48; WORD $0x0000 // or rax, 800 QUAD $0x0000009824848948 // mov qword [rsp + 152], rax WORD $0x8949; BYTE $0xf1 // mov r9, rsi LONG $0x40c98149; WORD $0x0003; BYTE $0x00 // or r9, 832 - QUAD $0x000000b0248c894c // mov qword [rsp + 176], r9 + QUAD $0x000000d0248c894c // mov qword [rsp + 208], r9 WORD $0x8948; BYTE $0xf7 // mov rdi, rsi LONG $0x60cf8148; WORD $0x0003; BYTE $0x00 // or rdi, 864 LONG $0x247c8948; BYTE $0x60 // mov qword [rsp + 96], rdi @@ -29363,7 +30634,7 @@ LBB5_166: QUAD $0x00000080249c8b48 // mov rbx, qword [rsp + 128] LONG $0x2079e3c4; WORD $0x1a04; BYTE $0x06 // vpinsrb xmm0, xmm0, byte [rdx + rbx], 6 LONG $0x2079a3c4; WORD $0x0204; BYTE $0x07 // vpinsrb xmm0, xmm0, byte [rdx + r8], 7 - QUAD $0x000000b8249c8b48 // mov rbx, qword [rsp + 184] + QUAD $0x000000c8249c8b48 // mov rbx, qword [rsp + 200] LONG $0x2079e3c4; WORD $0x1a04; BYTE $0x08 // vpinsrb xmm0, xmm0, byte [rdx + rbx], 8 QUAD $0x00000098249c8b48 // mov rbx, qword [rsp + 152] LONG $0x2079e3c4; WORD $0x1a04; BYTE $0x09 // vpinsrb xmm0, xmm0, byte [rdx + rbx], 9 @@ -29375,27 +30646,27 @@ LBB5_166: LONG $0x2079e3c4; WORD $0x3204; BYTE $0x0f // vpinsrb xmm0, xmm0, byte [rdx + rsi], 15 QUAD $0x000000e824a48b4c // mov r12, qword [rsp + 232] LONG $0x2061a3c4; WORD $0x221c; BYTE $0x01 // vpinsrb xmm3, xmm3, byte [rdx + r12], 1 - QUAD $0x000000e024b48b4c // mov r14, qword [rsp + 224] + QUAD $0x000000d824b48b4c // mov r14, qword [rsp + 216] LONG $0x2061a3c4; WORD $0x321c; BYTE $0x02 // vpinsrb xmm3, xmm3, byte [rdx + r14], 2 - QUAD $0x000000d8249c8b4c // mov r11, qword [rsp + 216] + QUAD $0x000000a0249c8b4c // mov r11, qword [rsp + 160] LONG $0x2061a3c4; WORD $0x1a1c; BYTE $0x03 // vpinsrb xmm3, xmm3, byte [rdx + r11], 3 - QUAD $0x0000014024848b4c // mov r8, qword [rsp + 320] + LONG $0x24448b4c; BYTE $0x20 // mov r8, qword [rsp + 32] LONG $0x2061a3c4; WORD $0x021c; BYTE $0x04 // vpinsrb xmm3, xmm3, byte [rdx + r8], 4 - LONG $0x244c8b4c; BYTE $0x38 // mov r9, qword [rsp + 56] + LONG $0x244c8b4c; BYTE $0x48 // mov r9, qword [rsp + 72] LONG $0x2061a3c4; WORD $0x0a1c; BYTE $0x05 // vpinsrb xmm3, xmm3, byte [rdx + r9], 5 - QUAD $0x000000a8249c8b48 // mov rbx, qword [rsp + 168] + QUAD $0x000000b0249c8b48 // mov rbx, qword [rsp + 176] LONG $0x2061e3c4; WORD $0x1a1c; BYTE $0x06 // vpinsrb xmm3, xmm3, byte [rdx + rbx], 6 - QUAD $0x000000a024b48b48 // mov rsi, qword [rsp + 160] + QUAD $0x000000a824b48b48 // mov rsi, qword [rsp + 168] LONG $0x2061e3c4; WORD $0x321c; BYTE $0x07 // vpinsrb xmm3, xmm3, byte [rdx + rsi], 7 QUAD $0x0000012024bc8b4c // mov r15, qword [rsp + 288] LONG $0x2061a3c4; WORD $0x3a1c; BYTE $0x08 // vpinsrb xmm3, xmm3, byte [rdx + r15], 8 - LONG $0x247c8b48; BYTE $0x30 // mov rdi, qword [rsp + 48] + LONG $0x247c8b48; BYTE $0x40 // mov rdi, qword [rsp + 64] LONG $0x2061e3c4; WORD $0x3a1c; BYTE $0x09 // vpinsrb xmm3, xmm3, byte [rdx + rdi], 9 - LONG $0x24448b48; BYTE $0x68 // mov rax, qword [rsp + 104] + LONG $0x24448b48; BYTE $0x38 // mov rax, qword [rsp + 56] LONG $0x2061e3c4; WORD $0x021c; BYTE $0x0a // vpinsrb xmm3, xmm3, byte [rdx + rax], 10 - LONG $0x24548b4c; BYTE $0x48 // mov r10, qword [rsp + 72] + LONG $0x24548b4c; BYTE $0x30 // mov r10, qword [rsp + 48] LONG $0x2061a3c4; WORD $0x121c; BYTE $0x0b // vpinsrb xmm3, xmm3, byte [rdx + r10], 11 - LONG $0x244c8b48; BYTE $0x20 // mov rcx, qword [rsp + 32] + QUAD $0x00000140248c8b48 // mov rcx, qword [rsp + 320] LONG $0x2061e3c4; WORD $0x0a1c; BYTE $0x0c // vpinsrb xmm3, xmm3, byte [rdx + rcx], 12 LONG $0x244c8b48; BYTE $0x28 // mov rcx, qword [rsp + 40] LONG $0x2061e3c4; WORD $0x0a1c; BYTE $0x0d // vpinsrb xmm3, xmm3, byte [rdx + rcx], 13 @@ -29403,25 +30674,25 @@ LBB5_166: LONG $0x2061e3c4; WORD $0x0a1c; BYTE $0x0e // vpinsrb xmm3, xmm3, byte [rdx + rcx], 14 QUAD $0x0000009024ac8b4c // mov r13, qword [rsp + 144] LONG $0x2061a3c4; WORD $0x2a1c; BYTE $0x0f // vpinsrb xmm3, xmm3, byte [rdx + r13], 15 - QUAD $0x000000d0248c8b48 // mov rcx, qword [rsp + 208] + QUAD $0x000000b8248c8b48 // mov rcx, qword [rsp + 184] QUAD $0x01010a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rcx + 1], 1 - QUAD $0x000000c8248c8b48 // mov rcx, qword [rsp + 200] + QUAD $0x000000e0248c8b48 // mov rcx, qword [rsp + 224] QUAD $0x02010a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rcx + 1], 2 QUAD $0x000000f8248c8b48 // mov rcx, qword [rsp + 248] QUAD $0x03010a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rcx + 1], 3 QUAD $0x00000100248c8b48 // mov rcx, qword [rsp + 256] QUAD $0x04010a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rcx + 1], 4 - LONG $0x244c8b48; BYTE $0x70 // mov rcx, qword [rsp + 112] + LONG $0x244c8b48; BYTE $0x68 // mov rcx, qword [rsp + 104] QUAD $0x05010a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rcx + 1], 5 QUAD $0x00000080248c8b48 // mov rcx, qword [rsp + 128] QUAD $0x06010a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rcx + 1], 6 - LONG $0x244c8b48; BYTE $0x40 // mov rcx, qword [rsp + 64] + LONG $0x244c8b48; BYTE $0x70 // mov rcx, qword [rsp + 112] QUAD $0x07010a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rcx + 1], 7 - QUAD $0x000000b8248c8b48 // mov rcx, qword [rsp + 184] + QUAD $0x000000c8248c8b48 // mov rcx, qword [rsp + 200] QUAD $0x08010a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rcx + 1], 8 QUAD $0x00000098248c8b48 // mov rcx, qword [rsp + 152] QUAD $0x09010a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rcx + 1], 9 - QUAD $0x000000b0248c8b48 // mov rcx, qword [rsp + 176] + QUAD $0x000000d0248c8b48 // mov rcx, qword [rsp + 208] QUAD $0x0a010a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rcx + 1], 10 LONG $0x244c8b48; BYTE $0x60 // mov rcx, qword [rsp + 96] QUAD $0x0b010a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rcx + 1], 11 @@ -29446,7 +30717,7 @@ LBB5_166: QUAD $0x0a01026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 1], 10 WORD $0x8949; BYTE $0xc3 // mov r11, rax QUAD $0x0b01126c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r10 + 1], 11 - LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] + QUAD $0x0000014024848b48 // mov rax, qword [rsp + 320] QUAD $0x0c01026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 1], 12 LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] QUAD $0x0d01026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 1], 13 @@ -29463,26 +30734,26 @@ LBB5_166: QUAD $0x0000010824848b48 // mov rax, qword [rsp + 264] LONG $0x027cb60f; BYTE $0x08 // movzx edi, byte [rdx + rax + 8] LONG $0xd76e79c5 // vmovd xmm10, edi - QUAD $0x000000d024b48b48 // mov rsi, qword [rsp + 208] + QUAD $0x000000b824b48b48 // mov rsi, qword [rsp + 184] QUAD $0x0001e024846ff9c5; BYTE $0x00 // vmovdqa xmm0, oword [rsp + 480] QUAD $0x010232442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 2], 1 - QUAD $0x000000c8249c8b48 // mov rbx, qword [rsp + 200] + QUAD $0x000000e0249c8b48 // mov rbx, qword [rsp + 224] QUAD $0x02021a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rbx + 2], 2 QUAD $0x000000f824848b4c // mov r8, qword [rsp + 248] QUAD $0x030202442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r8 + 2], 3 QUAD $0x00000100248c8b4c // mov r9, qword [rsp + 256] QUAD $0x04020a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r9 + 2], 4 - LONG $0x247c8b4c; BYTE $0x70 // mov r15, qword [rsp + 112] + LONG $0x247c8b4c; BYTE $0x68 // mov r15, qword [rsp + 104] QUAD $0x05023a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r15 + 2], 5 QUAD $0x0000008024848b48 // mov rax, qword [rsp + 128] QUAD $0x060202442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 2], 6 - LONG $0x24448b48; BYTE $0x40 // mov rax, qword [rsp + 64] + LONG $0x24448b48; BYTE $0x70 // mov rax, qword [rsp + 112] QUAD $0x070202442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 2], 7 - QUAD $0x000000b824848b48 // mov rax, qword [rsp + 184] + QUAD $0x000000c824848b48 // mov rax, qword [rsp + 200] QUAD $0x080202442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 2], 8 QUAD $0x0000009824848b48 // mov rax, qword [rsp + 152] QUAD $0x090202442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 2], 9 - QUAD $0x000000b024a48b4c // mov r12, qword [rsp + 176] + QUAD $0x000000d024a48b4c // mov r12, qword [rsp + 208] QUAD $0x0a0222442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r12 + 2], 10 LONG $0x246c8b4c; BYTE $0x60 // mov r13, qword [rsp + 96] QUAD $0x0b022a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r13 + 2], 11 @@ -29499,24 +30770,24 @@ LBB5_166: QUAD $0x0102025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 2], 1 WORD $0x8948; BYTE $0xc8 // mov rax, rcx QUAD $0x02020a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 2], 2 - QUAD $0x000000d8248c8b48 // mov rcx, qword [rsp + 216] + QUAD $0x000000a0248c8b48 // mov rcx, qword [rsp + 160] QUAD $0x03020a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 2], 3 - QUAD $0x00000140248c8b48 // mov rcx, qword [rsp + 320] + LONG $0x244c8b48; BYTE $0x20 // mov rcx, qword [rsp + 32] QUAD $0x04020a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 2], 4 - LONG $0x244c8b48; BYTE $0x38 // mov rcx, qword [rsp + 56] + LONG $0x244c8b48; BYTE $0x48 // mov rcx, qword [rsp + 72] QUAD $0x05020a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 2], 5 - QUAD $0x000000a8248c8b48 // mov rcx, qword [rsp + 168] + QUAD $0x000000b0248c8b48 // mov rcx, qword [rsp + 176] QUAD $0x06020a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 2], 6 - QUAD $0x000000a024bc8b48 // mov rdi, qword [rsp + 160] + QUAD $0x000000a824bc8b48 // mov rdi, qword [rsp + 168] QUAD $0x07023a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 2], 7 QUAD $0x0000012024bc8b48 // mov rdi, qword [rsp + 288] QUAD $0x08023a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 2], 8 - LONG $0x244c8b48; BYTE $0x30 // mov rcx, qword [rsp + 48] + LONG $0x244c8b48; BYTE $0x40 // mov rcx, qword [rsp + 64] QUAD $0x09020a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 2], 9 QUAD $0x0a021a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r11 + 2], 10 - LONG $0x244c8b48; BYTE $0x48 // mov rcx, qword [rsp + 72] + LONG $0x244c8b48; BYTE $0x30 // mov rcx, qword [rsp + 48] QUAD $0x0b020a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 2], 11 - LONG $0x244c8b48; BYTE $0x20 // mov rcx, qword [rsp + 32] + QUAD $0x00000140248c8b48 // mov rcx, qword [rsp + 320] QUAD $0x0c020a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 2], 12 LONG $0x244c8b48; BYTE $0x28 // mov rcx, qword [rsp + 40] QUAD $0x0d020a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 2], 13 @@ -29531,9 +30802,9 @@ LBB5_166: QUAD $0x05033a642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r15 + 3], 5 QUAD $0x00000080248c8b48 // mov rcx, qword [rsp + 128] QUAD $0x06030a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rcx + 3], 6 - LONG $0x247c8b4c; BYTE $0x40 // mov r15, qword [rsp + 64] + LONG $0x247c8b4c; BYTE $0x70 // mov r15, qword [rsp + 112] QUAD $0x07033a642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r15 + 3], 7 - QUAD $0x000000b8248c8b4c // mov r9, qword [rsp + 184] + QUAD $0x000000c8248c8b4c // mov r9, qword [rsp + 200] QUAD $0x08030a642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r9 + 3], 8 QUAD $0x00000098249c8b4c // mov r11, qword [rsp + 152] QUAD $0x09031a642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r11 + 3], 9 @@ -29548,24 +30819,24 @@ LBB5_166: QUAD $0x000000e8248c8b48 // mov rcx, qword [rsp + 232] QUAD $0x01030a6c2039e3c4 // vpinsrb xmm5, xmm8, byte [rdx + rcx + 3], 1 QUAD $0x0203026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 3], 2 - QUAD $0x000000d824848b48 // mov rax, qword [rsp + 216] + QUAD $0x000000a024848b48 // mov rax, qword [rsp + 160] QUAD $0x0303026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 3], 3 - QUAD $0x00000140248c8b48 // mov rcx, qword [rsp + 320] + LONG $0x244c8b48; BYTE $0x20 // mov rcx, qword [rsp + 32] QUAD $0x04030a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rcx + 3], 4 - LONG $0x244c8b48; BYTE $0x38 // mov rcx, qword [rsp + 56] + LONG $0x244c8b48; BYTE $0x48 // mov rcx, qword [rsp + 72] QUAD $0x05030a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rcx + 3], 5 - QUAD $0x000000a824b48b48 // mov rsi, qword [rsp + 168] + QUAD $0x000000b024b48b48 // mov rsi, qword [rsp + 176] QUAD $0x0603326c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rsi + 3], 6 - QUAD $0x000000a024b48b48 // mov rsi, qword [rsp + 160] + QUAD $0x000000a824b48b48 // mov rsi, qword [rsp + 168] QUAD $0x0703326c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rsi + 3], 7 QUAD $0x08033a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rdi + 3], 8 - LONG $0x24748b48; BYTE $0x30 // mov rsi, qword [rsp + 48] + LONG $0x24748b48; BYTE $0x40 // mov rsi, qword [rsp + 64] QUAD $0x0903326c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rsi + 3], 9 - LONG $0x247c8b48; BYTE $0x68 // mov rdi, qword [rsp + 104] + LONG $0x247c8b48; BYTE $0x38 // mov rdi, qword [rsp + 56] QUAD $0x0a033a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rdi + 3], 10 - LONG $0x247c8b48; BYTE $0x48 // mov rdi, qword [rsp + 72] + LONG $0x247c8b48; BYTE $0x30 // mov rdi, qword [rsp + 48] QUAD $0x0b033a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rdi + 3], 11 - LONG $0x247c8b48; BYTE $0x20 // mov rdi, qword [rsp + 32] + QUAD $0x0000014024bc8b48 // mov rdi, qword [rsp + 320] QUAD $0x0c033a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rdi + 3], 12 LONG $0x247c8b48; BYTE $0x28 // mov rdi, qword [rsp + 40] QUAD $0x0d033a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rdi + 3], 13 @@ -29584,22 +30855,22 @@ LBB5_166: LONG $0x3a7cb60f; BYTE $0x09 // movzx edi, byte [rdx + rdi + 9] LONG $0xdf6e79c5 // vmovd xmm11, edi QUAD $0x0001a024846ff9c5; BYTE $0x00 // vmovdqa xmm0, oword [rsp + 416] - QUAD $0x000000d024a48b4c // mov r12, qword [rsp + 208] + QUAD $0x000000b824a48b4c // mov r12, qword [rsp + 184] QUAD $0x010422442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r12 + 4], 1 - QUAD $0x000000c824848b4c // mov r8, qword [rsp + 200] + QUAD $0x000000e024848b4c // mov r8, qword [rsp + 224] QUAD $0x020402442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r8 + 4], 2 QUAD $0x000000f8249c8b48 // mov rbx, qword [rsp + 248] QUAD $0x03041a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rbx + 4], 3 QUAD $0x0000010024bc8b48 // mov rdi, qword [rsp + 256] QUAD $0x04043a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rdi + 4], 4 - LONG $0x247c8b48; BYTE $0x70 // mov rdi, qword [rsp + 112] + LONG $0x247c8b48; BYTE $0x68 // mov rdi, qword [rsp + 104] QUAD $0x05043a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rdi + 4], 5 QUAD $0x0000008024bc8b48 // mov rdi, qword [rsp + 128] QUAD $0x06043a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rdi + 4], 6 QUAD $0x07043a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r15 + 4], 7 QUAD $0x08040a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r9 + 4], 8 QUAD $0x09041a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r11 + 4], 9 - QUAD $0x000000b024bc8b4c // mov r15, qword [rsp + 176] + QUAD $0x000000d024bc8b4c // mov r15, qword [rsp + 208] QUAD $0x0a043a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r15 + 4], 10 LONG $0x245c8b4c; BYTE $0x60 // mov r11, qword [rsp + 96] QUAD $0x0b041a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r11 + 4], 11 @@ -29611,24 +30882,24 @@ LBB5_166: QUAD $0x0f0412442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r10 + 4], 15 QUAD $0x000000e824948b4c // mov r10, qword [rsp + 232] QUAD $0x0104125c2001a3c4 // vpinsrb xmm3, xmm15, byte [rdx + r10 + 4], 1 - QUAD $0x000000e024bc8b48 // mov rdi, qword [rsp + 224] + QUAD $0x000000d824bc8b48 // mov rdi, qword [rsp + 216] QUAD $0x02043a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 4], 2 QUAD $0x0304025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 4], 3 - QUAD $0x0000014024848b48 // mov rax, qword [rsp + 320] + LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] QUAD $0x0404025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 4], 4 QUAD $0x05040a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 4], 5 - QUAD $0x000000a824848b48 // mov rax, qword [rsp + 168] + QUAD $0x000000b024848b48 // mov rax, qword [rsp + 176] QUAD $0x0604025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 4], 6 - QUAD $0x000000a024bc8b48 // mov rdi, qword [rsp + 160] + QUAD $0x000000a824bc8b48 // mov rdi, qword [rsp + 168] QUAD $0x07043a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 4], 7 QUAD $0x0000012024848b48 // mov rax, qword [rsp + 288] QUAD $0x0804025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 4], 8 QUAD $0x0904325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 4], 9 - LONG $0x24748b48; BYTE $0x68 // mov rsi, qword [rsp + 104] + LONG $0x24748b48; BYTE $0x38 // mov rsi, qword [rsp + 56] QUAD $0x0a04325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 4], 10 - LONG $0x24448b48; BYTE $0x48 // mov rax, qword [rsp + 72] + LONG $0x24448b48; BYTE $0x30 // mov rax, qword [rsp + 48] QUAD $0x0b04025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 4], 11 - LONG $0x244c8b48; BYTE $0x20 // mov rcx, qword [rsp + 32] + QUAD $0x00000140248c8b48 // mov rcx, qword [rsp + 320] QUAD $0x0c040a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 4], 12 LONG $0x244c8b48; BYTE $0x28 // mov rcx, qword [rsp + 40] QUAD $0x0d040a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 4], 13 @@ -29640,13 +30911,13 @@ LBB5_166: QUAD $0x03051a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rbx + 5], 3 QUAD $0x0000010024a48b4c // mov r12, qword [rsp + 256] QUAD $0x040522642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r12 + 5], 4 - LONG $0x24448b4c; BYTE $0x70 // mov r8, qword [rsp + 112] + LONG $0x24448b4c; BYTE $0x68 // mov r8, qword [rsp + 104] QUAD $0x050502642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r8 + 5], 5 QUAD $0x00000080249c8b48 // mov rbx, qword [rsp + 128] QUAD $0x06051a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rbx + 5], 6 - LONG $0x245c8b48; BYTE $0x40 // mov rbx, qword [rsp + 64] + LONG $0x245c8b48; BYTE $0x70 // mov rbx, qword [rsp + 112] QUAD $0x07051a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rbx + 5], 7 - QUAD $0x000000b8249c8b48 // mov rbx, qword [rsp + 184] + QUAD $0x000000c8249c8b48 // mov rbx, qword [rsp + 200] QUAD $0x08051a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rbx + 5], 8 QUAD $0x00000098249c8b48 // mov rbx, qword [rsp + 152] QUAD $0x09051a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rbx + 5], 9 @@ -29660,24 +30931,24 @@ LBB5_166: LONG $0x245c8b48; BYTE $0x50 // mov rbx, qword [rsp + 80] QUAD $0x0f051a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rbx + 5], 15 QUAD $0x0105126c2049a3c4 // vpinsrb xmm5, xmm6, byte [rdx + r10 + 5], 1 - QUAD $0x000000e0249c8b48 // mov rbx, qword [rsp + 224] - QUAD $0x02051a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rbx + 5], 2 QUAD $0x000000d8249c8b48 // mov rbx, qword [rsp + 216] + QUAD $0x02051a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rbx + 5], 2 + QUAD $0x000000a0249c8b48 // mov rbx, qword [rsp + 160] QUAD $0x03051a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rbx + 5], 3 - QUAD $0x00000140249c8b48 // mov rbx, qword [rsp + 320] + LONG $0x245c8b48; BYTE $0x20 // mov rbx, qword [rsp + 32] QUAD $0x04051a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rbx + 5], 4 - LONG $0x244c8b4c; BYTE $0x38 // mov r9, qword [rsp + 56] + LONG $0x244c8b4c; BYTE $0x48 // mov r9, qword [rsp + 72] QUAD $0x05050a6c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r9 + 5], 5 - QUAD $0x000000a8249c8b48 // mov rbx, qword [rsp + 168] + QUAD $0x000000b0249c8b48 // mov rbx, qword [rsp + 176] QUAD $0x06051a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rbx + 5], 6 QUAD $0x07053a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rdi + 5], 7 QUAD $0x0000012024bc8b48 // mov rdi, qword [rsp + 288] QUAD $0x08053a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rdi + 5], 8 - LONG $0x247c8b48; BYTE $0x30 // mov rdi, qword [rsp + 48] + LONG $0x247c8b48; BYTE $0x40 // mov rdi, qword [rsp + 64] QUAD $0x09053a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rdi + 5], 9 QUAD $0x0a05326c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rsi + 5], 10 QUAD $0x0b05026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 5], 11 - LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] + QUAD $0x0000014024848b48 // mov rax, qword [rsp + 320] QUAD $0x0c05026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 5], 12 LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] QUAD $0x0d05026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 5], 13 @@ -29691,9 +30962,9 @@ LBB5_166: QUAD $0x0000010824848b48 // mov rax, qword [rsp + 264] LONG $0x027cb60f; BYTE $0x0a // movzx edi, byte [rdx + rax + 10] LONG $0xe76ef9c5 // vmovd xmm4, edi - QUAD $0x000000d0249c8b4c // mov r11, qword [rsp + 208] + QUAD $0x000000b8249c8b4c // mov r11, qword [rsp + 184] QUAD $0x01061a442019a3c4 // vpinsrb xmm0, xmm12, byte [rdx + r11 + 6], 1 - QUAD $0x000000c824848b48 // mov rax, qword [rsp + 200] + QUAD $0x000000e024848b48 // mov rax, qword [rsp + 224] QUAD $0x020602442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 6], 2 QUAD $0x000000f824848b48 // mov rax, qword [rsp + 248] QUAD $0x030602442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 6], 3 @@ -29701,13 +30972,13 @@ LBB5_166: QUAD $0x050602442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r8 + 6], 5 QUAD $0x0000008024848b48 // mov rax, qword [rsp + 128] QUAD $0x060602442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 6], 6 - LONG $0x244c8b48; BYTE $0x40 // mov rcx, qword [rsp + 64] + LONG $0x244c8b48; BYTE $0x70 // mov rcx, qword [rsp + 112] QUAD $0x07060a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 6], 7 - QUAD $0x000000b824848b48 // mov rax, qword [rsp + 184] + QUAD $0x000000c824848b48 // mov rax, qword [rsp + 200] QUAD $0x080602442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 6], 8 QUAD $0x0000009824848b48 // mov rax, qword [rsp + 152] QUAD $0x090602442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 6], 9 - QUAD $0x000000b024848b48 // mov rax, qword [rsp + 176] + QUAD $0x000000d024848b48 // mov rax, qword [rsp + 208] QUAD $0x0a0602442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 6], 10 QUAD $0x0b063a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r15 + 6], 11 QUAD $0x0000008824bc8b4c // mov r15, qword [rsp + 136] @@ -29719,26 +30990,26 @@ LBB5_166: LONG $0x24448b48; BYTE $0x50 // mov rax, qword [rsp + 80] QUAD $0x0f0602442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 6], 15 QUAD $0x0106126c2041a3c4 // vpinsrb xmm5, xmm7, byte [rdx + r10 + 6], 1 - QUAD $0x000000e024848b48 // mov rax, qword [rsp + 224] + QUAD $0x000000d824848b48 // mov rax, qword [rsp + 216] QUAD $0x0206026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 6], 2 - QUAD $0x000000d824848b4c // mov r8, qword [rsp + 216] + QUAD $0x000000a024848b4c // mov r8, qword [rsp + 160] QUAD $0x0306026c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r8 + 6], 3 - QUAD $0x0000014024848b48 // mov rax, qword [rsp + 320] + LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] QUAD $0x0406026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 6], 4 QUAD $0x05060a6c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r9 + 6], 5 - QUAD $0x000000a824bc8b48 // mov rdi, qword [rsp + 168] + QUAD $0x000000b024bc8b48 // mov rdi, qword [rsp + 176] QUAD $0x06063a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rdi + 6], 6 - QUAD $0x000000a024848b48 // mov rax, qword [rsp + 160] + QUAD $0x000000a824848b48 // mov rax, qword [rsp + 168] QUAD $0x0706026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 6], 7 QUAD $0x0000012024ac8b4c // mov r13, qword [rsp + 288] QUAD $0x08062a6c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r13 + 6], 8 - LONG $0x24448b48; BYTE $0x30 // mov rax, qword [rsp + 48] + LONG $0x24448b48; BYTE $0x40 // mov rax, qword [rsp + 64] QUAD $0x0906026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 6], 9 - LONG $0x24748b48; BYTE $0x68 // mov rsi, qword [rsp + 104] + LONG $0x24748b48; BYTE $0x38 // mov rsi, qword [rsp + 56] QUAD $0x0a06326c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rsi + 6], 10 - LONG $0x244c8b4c; BYTE $0x48 // mov r9, qword [rsp + 72] + LONG $0x244c8b4c; BYTE $0x30 // mov r9, qword [rsp + 48] QUAD $0x0b060a6c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r9 + 6], 11 - LONG $0x24648b4c; BYTE $0x20 // mov r12, qword [rsp + 32] + QUAD $0x0000014024a48b4c // mov r12, qword [rsp + 320] QUAD $0x0c06226c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r12 + 6], 12 LONG $0x24748b48; BYTE $0x28 // mov rsi, qword [rsp + 40] QUAD $0x0d06326c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rsi + 6], 13 @@ -29747,22 +31018,22 @@ LBB5_166: QUAD $0x0000009024a48b4c // mov r12, qword [rsp + 144] QUAD $0x0f06226c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r12 + 6], 15 QUAD $0x01071a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r11 + 7], 1 - QUAD $0x000000c824b48b48 // mov rsi, qword [rsp + 200] + QUAD $0x000000e024b48b48 // mov rsi, qword [rsp + 224] QUAD $0x020732542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 7], 2 QUAD $0x000000f824b48b48 // mov rsi, qword [rsp + 248] QUAD $0x030732542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 7], 3 QUAD $0x0000010024b48b48 // mov rsi, qword [rsp + 256] QUAD $0x040732542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 7], 4 - LONG $0x24748b48; BYTE $0x70 // mov rsi, qword [rsp + 112] + LONG $0x24748b48; BYTE $0x68 // mov rsi, qword [rsp + 104] QUAD $0x050732542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 7], 5 QUAD $0x0000008024b48b48 // mov rsi, qword [rsp + 128] QUAD $0x060732542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 7], 6 QUAD $0x07070a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 7], 7 - QUAD $0x000000b824a48b4c // mov r12, qword [rsp + 184] + QUAD $0x000000c824a48b4c // mov r12, qword [rsp + 200] QUAD $0x080722542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r12 + 7], 8 QUAD $0x00000098248c8b48 // mov rcx, qword [rsp + 152] QUAD $0x09070a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 7], 9 - QUAD $0x000000b0248c8b48 // mov rcx, qword [rsp + 176] + QUAD $0x000000d0248c8b48 // mov rcx, qword [rsp + 208] QUAD $0x0a070a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 7], 10 LONG $0x244c8b48; BYTE $0x60 // mov rcx, qword [rsp + 96] QUAD $0x0b070a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 7], 11 @@ -29772,22 +31043,22 @@ LBB5_166: LONG $0x247c8b4c; BYTE $0x50 // mov r15, qword [rsp + 80] QUAD $0x0f073a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r15 + 7], 15 QUAD $0x0107124c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r10 + 7], 1 - QUAD $0x000000e0249c8b48 // mov rbx, qword [rsp + 224] + QUAD $0x000000d8249c8b48 // mov rbx, qword [rsp + 216] QUAD $0x02071a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rbx + 7], 2 QUAD $0x0307024c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r8 + 7], 3 - QUAD $0x00000140248c8b48 // mov rcx, qword [rsp + 320] + LONG $0x244c8b48; BYTE $0x20 // mov rcx, qword [rsp + 32] QUAD $0x04070a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 7], 4 - LONG $0x244c8b48; BYTE $0x38 // mov rcx, qword [rsp + 56] + LONG $0x244c8b48; BYTE $0x48 // mov rcx, qword [rsp + 72] QUAD $0x05070a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 7], 5 QUAD $0x06073a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 7], 6 - QUAD $0x000000a0248c8b48 // mov rcx, qword [rsp + 160] + QUAD $0x000000a8248c8b48 // mov rcx, qword [rsp + 168] QUAD $0x07070a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 7], 7 QUAD $0x08072a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r13 + 7], 8 QUAD $0x0907024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 7], 9 - LONG $0x24748b4c; BYTE $0x68 // mov r14, qword [rsp + 104] + LONG $0x24748b4c; BYTE $0x38 // mov r14, qword [rsp + 56] QUAD $0x0a07324c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r14 + 7], 10 QUAD $0x0b070a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r9 + 7], 11 - LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] + QUAD $0x0000014024848b48 // mov rax, qword [rsp + 320] QUAD $0x0c07024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 7], 12 LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] QUAD $0x0d07024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 7], 13 @@ -29805,24 +31076,24 @@ LBB5_166: QUAD $0x0000010824848b48 // mov rax, qword [rsp + 264] LONG $0x027cb60f; BYTE $0x0b // movzx edi, byte [rdx + rax + 11] LONG $0xd76ef9c5 // vmovd xmm2, edi - QUAD $0x000000d024848b48 // mov rax, qword [rsp + 208] + QUAD $0x000000b824848b48 // mov rax, qword [rsp + 184] QUAD $0x010802442031e3c4 // vpinsrb xmm0, xmm9, byte [rdx + rax + 8], 1 - QUAD $0x000000c824848b48 // mov rax, qword [rsp + 200] + QUAD $0x000000e024848b48 // mov rax, qword [rsp + 224] QUAD $0x020802442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 8], 2 QUAD $0x000000f8248c8b48 // mov rcx, qword [rsp + 248] QUAD $0x03080a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 8], 3 QUAD $0x0000010024948b4c // mov r10, qword [rsp + 256] QUAD $0x040812442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r10 + 8], 4 - LONG $0x24448b48; BYTE $0x70 // mov rax, qword [rsp + 112] + LONG $0x24448b48; BYTE $0x68 // mov rax, qword [rsp + 104] QUAD $0x050802442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 8], 5 QUAD $0x0000008024b48b48 // mov rsi, qword [rsp + 128] QUAD $0x060832442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 8], 6 - LONG $0x24448b4c; BYTE $0x40 // mov r8, qword [rsp + 64] + LONG $0x24448b4c; BYTE $0x70 // mov r8, qword [rsp + 112] QUAD $0x070802442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r8 + 8], 7 QUAD $0x080822442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r12 + 8], 8 QUAD $0x0000009824848b48 // mov rax, qword [rsp + 152] QUAD $0x090802442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 8], 9 - QUAD $0x000000b024a48b4c // mov r12, qword [rsp + 176] + QUAD $0x000000d024a48b4c // mov r12, qword [rsp + 208] QUAD $0x0a0822442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r12 + 8], 10 LONG $0x247c8b48; BYTE $0x60 // mov rdi, qword [rsp + 96] QUAD $0x0b083a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rdi + 8], 11 @@ -29836,42 +31107,42 @@ LBB5_166: QUAD $0x000000e824bc8b4c // mov r15, qword [rsp + 232] QUAD $0x01083a6c2029a3c4 // vpinsrb xmm5, xmm10, byte [rdx + r15 + 8], 1 QUAD $0x02081a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rbx + 8], 2 - QUAD $0x000000d824bc8b48 // mov rdi, qword [rsp + 216] + QUAD $0x000000a024bc8b48 // mov rdi, qword [rsp + 160] QUAD $0x03083a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rdi + 8], 3 - QUAD $0x0000014024bc8b48 // mov rdi, qword [rsp + 320] + LONG $0x247c8b48; BYTE $0x20 // mov rdi, qword [rsp + 32] QUAD $0x04083a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rdi + 8], 4 - LONG $0x247c8b48; BYTE $0x38 // mov rdi, qword [rsp + 56] + LONG $0x247c8b48; BYTE $0x48 // mov rdi, qword [rsp + 72] QUAD $0x05083a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rdi + 8], 5 - QUAD $0x000000a8248c8b4c // mov r9, qword [rsp + 168] + QUAD $0x000000b0248c8b4c // mov r9, qword [rsp + 176] QUAD $0x06080a6c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r9 + 8], 6 - QUAD $0x000000a024ac8b4c // mov r13, qword [rsp + 160] + QUAD $0x000000a824ac8b4c // mov r13, qword [rsp + 168] QUAD $0x07082a6c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r13 + 8], 7 QUAD $0x00000120249c8b48 // mov rbx, qword [rsp + 288] QUAD $0x08081a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rbx + 8], 8 - LONG $0x245c8b48; BYTE $0x30 // mov rbx, qword [rsp + 48] + LONG $0x245c8b48; BYTE $0x40 // mov rbx, qword [rsp + 64] QUAD $0x09081a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rbx + 8], 9 QUAD $0x0a08326c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r14 + 8], 10 - LONG $0x24748b4c; BYTE $0x48 // mov r14, qword [rsp + 72] + LONG $0x24748b4c; BYTE $0x30 // mov r14, qword [rsp + 48] QUAD $0x0b08326c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r14 + 8], 11 - LONG $0x245c8b48; BYTE $0x20 // mov rbx, qword [rsp + 32] + QUAD $0x00000140249c8b48 // mov rbx, qword [rsp + 320] QUAD $0x0c081a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rbx + 8], 12 LONG $0x245c8b48; BYTE $0x28 // mov rbx, qword [rsp + 40] QUAD $0x0d081a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rbx + 8], 13 LONG $0x24748b4c; BYTE $0x58 // mov r14, qword [rsp + 88] QUAD $0x0e08326c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r14 + 8], 14 QUAD $0x0f081a6c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r11 + 8], 15 - QUAD $0x000000d0249c8b4c // mov r11, qword [rsp + 208] + QUAD $0x000000b8249c8b4c // mov r11, qword [rsp + 184] QUAD $0x01091a742039a3c4 // vpinsrb xmm6, xmm8, byte [rdx + r11 + 9], 1 - QUAD $0x000000c8249c8b48 // mov rbx, qword [rsp + 200] + QUAD $0x000000e0249c8b48 // mov rbx, qword [rsp + 224] QUAD $0x02091a742049e3c4 // vpinsrb xmm6, xmm6, byte [rdx + rbx + 9], 2 QUAD $0x03090a742049e3c4 // vpinsrb xmm6, xmm6, byte [rdx + rcx + 9], 3 WORD $0x8948; BYTE $0xcb // mov rbx, rcx QUAD $0x040912742049a3c4 // vpinsrb xmm6, xmm6, byte [rdx + r10 + 9], 4 - LONG $0x24548b4c; BYTE $0x70 // mov r10, qword [rsp + 112] + LONG $0x24548b4c; BYTE $0x68 // mov r10, qword [rsp + 104] QUAD $0x050912742049a3c4 // vpinsrb xmm6, xmm6, byte [rdx + r10 + 9], 5 QUAD $0x060932742049e3c4 // vpinsrb xmm6, xmm6, byte [rdx + rsi + 9], 6 QUAD $0x070902742049a3c4 // vpinsrb xmm6, xmm6, byte [rdx + r8 + 9], 7 - QUAD $0x000000b824848b4c // mov r8, qword [rsp + 184] + QUAD $0x000000c824848b4c // mov r8, qword [rsp + 200] QUAD $0x080902742049a3c4 // vpinsrb xmm6, xmm6, byte [rdx + r8 + 9], 8 QUAD $0x090902742049e3c4 // vpinsrb xmm6, xmm6, byte [rdx + rax + 9], 9 QUAD $0x0a0922742049a3c4 // vpinsrb xmm6, xmm6, byte [rdx + r12 + 9], 10 @@ -29887,24 +31158,24 @@ LBB5_166: QUAD $0x0f0902742049e3c4 // vpinsrb xmm6, xmm6, byte [rdx + rax + 9], 15 QUAD $0x01093a7c2021a3c4 // vpinsrb xmm7, xmm11, byte [rdx + r15 + 9], 1 WORD $0x894d; BYTE $0xfc // mov r12, r15 - QUAD $0x000000e024848b48 // mov rax, qword [rsp + 224] - QUAD $0x0209027c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rax + 9], 2 QUAD $0x000000d824848b48 // mov rax, qword [rsp + 216] + QUAD $0x0209027c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rax + 9], 2 + QUAD $0x000000a024848b48 // mov rax, qword [rsp + 160] QUAD $0x0309027c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rax + 9], 3 - QUAD $0x0000014024848b48 // mov rax, qword [rsp + 320] + LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] QUAD $0x0409027c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rax + 9], 4 QUAD $0x05093a7c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rdi + 9], 5 QUAD $0x06090a7c2041a3c4 // vpinsrb xmm7, xmm7, byte [rdx + r9 + 9], 6 QUAD $0x07092a7c2041a3c4 // vpinsrb xmm7, xmm7, byte [rdx + r13 + 9], 7 QUAD $0x0000012024848b48 // mov rax, qword [rsp + 288] QUAD $0x0809027c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rax + 9], 8 - LONG $0x247c8b4c; BYTE $0x30 // mov r15, qword [rsp + 48] + LONG $0x247c8b4c; BYTE $0x40 // mov r15, qword [rsp + 64] QUAD $0x09093a7c2041a3c4 // vpinsrb xmm7, xmm7, byte [rdx + r15 + 9], 9 - LONG $0x24448b48; BYTE $0x68 // mov rax, qword [rsp + 104] + LONG $0x24448b48; BYTE $0x38 // mov rax, qword [rsp + 56] QUAD $0x0a09027c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rax + 9], 10 - LONG $0x24448b48; BYTE $0x48 // mov rax, qword [rsp + 72] + LONG $0x24448b48; BYTE $0x30 // mov rax, qword [rsp + 48] QUAD $0x0b09027c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rax + 9], 11 - LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] + QUAD $0x0000014024848b48 // mov rax, qword [rsp + 320] QUAD $0x0c09027c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rax + 9], 12 LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] QUAD $0x0d09027c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rax + 9], 13 @@ -29921,21 +31192,21 @@ LBB5_166: QUAD $0x0000010824848b48 // mov rax, qword [rsp + 264] LONG $0x027cb60f; BYTE $0x0c // movzx edi, byte [rdx + rax + 12] LONG $0xef6ef9c5 // vmovd xmm5, edi - QUAD $0x000000d0249c8b4c // mov r11, qword [rsp + 208] + QUAD $0x000000b8249c8b4c // mov r11, qword [rsp + 184] QUAD $0x010a1a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r11 + 10], 1 - QUAD $0x000000c824848b48 // mov rax, qword [rsp + 200] + QUAD $0x000000e024848b48 // mov rax, qword [rsp + 224] QUAD $0x020a025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 10], 2 QUAD $0x030a1a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 10], 3 QUAD $0x0000010024ac8b4c // mov r13, qword [rsp + 256] QUAD $0x040a2a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r13 + 10], 4 QUAD $0x050a125c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r10 + 10], 5 QUAD $0x060a325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 10], 6 - LONG $0x247c8b48; BYTE $0x40 // mov rdi, qword [rsp + 64] + LONG $0x247c8b48; BYTE $0x70 // mov rdi, qword [rsp + 112] QUAD $0x070a3a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 10], 7 QUAD $0x080a025c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r8 + 10], 8 QUAD $0x0000009824948b4c // mov r10, qword [rsp + 152] QUAD $0x090a125c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r10 + 10], 9 - QUAD $0x000000b024bc8b48 // mov rdi, qword [rsp + 176] + QUAD $0x000000d024bc8b48 // mov rdi, qword [rsp + 208] QUAD $0x0a0a3a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 10], 10 LONG $0x24448b4c; BYTE $0x60 // mov r8, qword [rsp + 96] QUAD $0x0b0a025c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r8 + 10], 11 @@ -29947,26 +31218,26 @@ LBB5_166: LONG $0x247c8b48; BYTE $0x50 // mov rdi, qword [rsp + 80] QUAD $0x0f0a3a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 10], 15 QUAD $0x010a22642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r12 + 10], 1 - QUAD $0x000000e024b48b4c // mov r14, qword [rsp + 224] + QUAD $0x000000d824b48b4c // mov r14, qword [rsp + 216] QUAD $0x020a32642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r14 + 10], 2 - QUAD $0x000000d824bc8b48 // mov rdi, qword [rsp + 216] + QUAD $0x000000a024bc8b48 // mov rdi, qword [rsp + 160] QUAD $0x030a3a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rdi + 10], 3 - QUAD $0x0000014024bc8b48 // mov rdi, qword [rsp + 320] + LONG $0x247c8b48; BYTE $0x20 // mov rdi, qword [rsp + 32] QUAD $0x040a3a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rdi + 10], 4 - LONG $0x244c8b48; BYTE $0x38 // mov rcx, qword [rsp + 56] + LONG $0x244c8b48; BYTE $0x48 // mov rcx, qword [rsp + 72] QUAD $0x050a0a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rcx + 10], 5 - QUAD $0x000000a8248c8b48 // mov rcx, qword [rsp + 168] + QUAD $0x000000b0248c8b48 // mov rcx, qword [rsp + 176] QUAD $0x060a0a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rcx + 10], 6 - QUAD $0x000000a024a48b4c // mov r12, qword [rsp + 160] + QUAD $0x000000a824a48b4c // mov r12, qword [rsp + 168] QUAD $0x070a22642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r12 + 10], 7 QUAD $0x00000120248c8b48 // mov rcx, qword [rsp + 288] QUAD $0x080a0a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rcx + 10], 8 QUAD $0x090a3a642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r15 + 10], 9 - LONG $0x244c8b48; BYTE $0x68 // mov rcx, qword [rsp + 104] + LONG $0x244c8b48; BYTE $0x38 // mov rcx, qword [rsp + 56] QUAD $0x0a0a0a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rcx + 10], 10 - LONG $0x247c8b4c; BYTE $0x48 // mov r15, qword [rsp + 72] + LONG $0x247c8b4c; BYTE $0x30 // mov r15, qword [rsp + 48] QUAD $0x0b0a3a642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r15 + 10], 11 - LONG $0x244c8b48; BYTE $0x20 // mov rcx, qword [rsp + 32] + QUAD $0x00000140248c8b48 // mov rcx, qword [rsp + 320] QUAD $0x0c0a0a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rcx + 10], 12 LONG $0x244c8b48; BYTE $0x28 // mov rcx, qword [rsp + 40] QUAD $0x0d0a0a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rcx + 10], 13 @@ -29980,15 +31251,15 @@ LBB5_166: WORD $0x8948; BYTE $0xd8 // mov rax, rbx QUAD $0x040b2a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r13 + 11], 4 WORD $0x894d; BYTE $0xeb // mov r11, r13 - LONG $0x244c8b48; BYTE $0x70 // mov rcx, qword [rsp + 112] + LONG $0x244c8b48; BYTE $0x68 // mov rcx, qword [rsp + 104] QUAD $0x050b0a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 11], 5 QUAD $0x060b324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 11], 6 - LONG $0x244c8b48; BYTE $0x40 // mov rcx, qword [rsp + 64] + LONG $0x244c8b48; BYTE $0x70 // mov rcx, qword [rsp + 112] QUAD $0x070b0a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 11], 7 - QUAD $0x000000b8248c8b48 // mov rcx, qword [rsp + 184] + QUAD $0x000000c8248c8b48 // mov rcx, qword [rsp + 200] QUAD $0x080b0a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 11], 8 QUAD $0x090b124c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r10 + 11], 9 - QUAD $0x000000b024948b4c // mov r10, qword [rsp + 176] + QUAD $0x000000d024948b4c // mov r10, qword [rsp + 208] QUAD $0x0a0b124c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r10 + 11], 10 QUAD $0x0b0b024c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r8 + 11], 11 QUAD $0x0c0b0a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r9 + 11], 12 @@ -30001,22 +31272,22 @@ LBB5_166: QUAD $0x000000e8249c8b48 // mov rbx, qword [rsp + 232] QUAD $0x010b1a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rbx + 11], 1 QUAD $0x020b32542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r14 + 11], 2 - QUAD $0x000000d8248c8b48 // mov rcx, qword [rsp + 216] + QUAD $0x000000a0248c8b48 // mov rcx, qword [rsp + 160] QUAD $0x030b0a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 11], 3 QUAD $0x040b3a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 11], 4 - LONG $0x244c8b48; BYTE $0x38 // mov rcx, qword [rsp + 56] + LONG $0x244c8b48; BYTE $0x48 // mov rcx, qword [rsp + 72] QUAD $0x050b0a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 11], 5 - QUAD $0x000000a824ac8b4c // mov r13, qword [rsp + 168] + QUAD $0x000000b024ac8b4c // mov r13, qword [rsp + 176] QUAD $0x060b2a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r13 + 11], 6 QUAD $0x070b22542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r12 + 11], 7 QUAD $0x00000120248c8b48 // mov rcx, qword [rsp + 288] QUAD $0x080b0a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 11], 8 - LONG $0x244c8b48; BYTE $0x30 // mov rcx, qword [rsp + 48] + LONG $0x244c8b48; BYTE $0x40 // mov rcx, qword [rsp + 64] QUAD $0x090b0a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 11], 9 - LONG $0x244c8b48; BYTE $0x68 // mov rcx, qword [rsp + 104] + LONG $0x244c8b48; BYTE $0x38 // mov rcx, qword [rsp + 56] QUAD $0x0a0b0a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 11], 10 QUAD $0x0b0b3a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r15 + 11], 11 - LONG $0x244c8b48; BYTE $0x20 // mov rcx, qword [rsp + 32] + QUAD $0x00000140248c8b48 // mov rcx, qword [rsp + 320] QUAD $0x0c0b0a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 11], 12 LONG $0x244c8b48; BYTE $0x28 // mov rcx, qword [rsp + 40] QUAD $0x0d0b0a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 11], 13 @@ -30034,19 +31305,19 @@ LBB5_166: QUAD $0x00000108248c8b48 // mov rcx, qword [rsp + 264] LONG $0x0a7cb60f; BYTE $0x0d // movzx edi, byte [rdx + rcx + 13] LONG $0xcf6ef9c5 // vmovd xmm1, edi - QUAD $0x000000d0248c8b48 // mov rcx, qword [rsp + 208] + QUAD $0x000000b8248c8b48 // mov rcx, qword [rsp + 184] QUAD $0x010c0a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 12], 1 - QUAD $0x000000c824b48b48 // mov rsi, qword [rsp + 200] + QUAD $0x000000e024b48b48 // mov rsi, qword [rsp + 224] QUAD $0x020c32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 12], 2 QUAD $0x030c02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 12], 3 QUAD $0x040c1a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r11 + 12], 4 - LONG $0x244c8b4c; BYTE $0x70 // mov r9, qword [rsp + 112] + LONG $0x244c8b4c; BYTE $0x68 // mov r9, qword [rsp + 104] QUAD $0x050c0a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r9 + 12], 5 QUAD $0x0000008024848b4c // mov r8, qword [rsp + 128] QUAD $0x060c02442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r8 + 12], 6 - LONG $0x245c8b4c; BYTE $0x40 // mov r11, qword [rsp + 64] + LONG $0x245c8b4c; BYTE $0x70 // mov r11, qword [rsp + 112] QUAD $0x070c1a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r11 + 12], 7 - QUAD $0x000000b824848b48 // mov rax, qword [rsp + 184] + QUAD $0x000000c824848b48 // mov rax, qword [rsp + 200] QUAD $0x080c02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 12], 8 QUAD $0x0000009824b48b4c // mov r14, qword [rsp + 152] QUAD $0x090c32442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r14 + 12], 9 @@ -30062,26 +31333,26 @@ LBB5_166: LONG $0x24648b4c; BYTE $0x50 // mov r12, qword [rsp + 80] QUAD $0x0f0c22442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r12 + 12], 15 QUAD $0x010c1a542051e3c4 // vpinsrb xmm2, xmm5, byte [rdx + rbx + 12], 1 - QUAD $0x000000e024bc8b4c // mov r15, qword [rsp + 224] + QUAD $0x000000d824bc8b4c // mov r15, qword [rsp + 216] QUAD $0x020c3a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r15 + 12], 2 - QUAD $0x000000d824bc8b48 // mov rdi, qword [rsp + 216] + QUAD $0x000000a024bc8b48 // mov rdi, qword [rsp + 160] QUAD $0x030c3a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 12], 3 - QUAD $0x00000140249c8b48 // mov rbx, qword [rsp + 320] + LONG $0x245c8b48; BYTE $0x20 // mov rbx, qword [rsp + 32] QUAD $0x040c1a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rbx + 12], 4 - LONG $0x245c8b48; BYTE $0x38 // mov rbx, qword [rsp + 56] + LONG $0x245c8b48; BYTE $0x48 // mov rbx, qword [rsp + 72] QUAD $0x050c1a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rbx + 12], 5 QUAD $0x060c2a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r13 + 12], 6 - QUAD $0x000000a0249c8b48 // mov rbx, qword [rsp + 160] + QUAD $0x000000a8249c8b48 // mov rbx, qword [rsp + 168] QUAD $0x070c1a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rbx + 12], 7 QUAD $0x00000120249c8b48 // mov rbx, qword [rsp + 288] QUAD $0x080c1a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rbx + 12], 8 - LONG $0x245c8b48; BYTE $0x30 // mov rbx, qword [rsp + 48] + LONG $0x245c8b48; BYTE $0x40 // mov rbx, qword [rsp + 64] QUAD $0x090c1a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rbx + 12], 9 - LONG $0x245c8b48; BYTE $0x68 // mov rbx, qword [rsp + 104] + LONG $0x245c8b48; BYTE $0x38 // mov rbx, qword [rsp + 56] QUAD $0x0a0c1a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rbx + 12], 10 - LONG $0x245c8b48; BYTE $0x48 // mov rbx, qword [rsp + 72] + LONG $0x245c8b48; BYTE $0x30 // mov rbx, qword [rsp + 48] QUAD $0x0b0c1a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rbx + 12], 11 - LONG $0x245c8b48; BYTE $0x20 // mov rbx, qword [rsp + 32] + QUAD $0x00000140249c8b48 // mov rbx, qword [rsp + 320] QUAD $0x0c0c1a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rbx + 12], 12 LONG $0x245c8b48; BYTE $0x28 // mov rbx, qword [rsp + 40] QUAD $0x0d0c1a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rbx + 12], 13 @@ -30101,7 +31372,7 @@ LBB5_166: QUAD $0x070d1a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r11 + 13], 7 QUAD $0x080d025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 13], 8 QUAD $0x090d325c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r14 + 13], 9 - QUAD $0x000000b024848b4c // mov r8, qword [rsp + 176] + QUAD $0x000000d024848b4c // mov r8, qword [rsp + 208] QUAD $0x0a0d025c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r8 + 13], 10 LONG $0x24448b48; BYTE $0x60 // mov rax, qword [rsp + 96] QUAD $0x0b0d025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 13], 11 @@ -30116,23 +31387,23 @@ LBB5_166: QUAD $0x010d0a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 13], 1 QUAD $0x020d3a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r15 + 13], 2 QUAD $0x030d3a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 13], 3 - QUAD $0x00000140248c8b48 // mov rcx, qword [rsp + 320] + LONG $0x244c8b48; BYTE $0x20 // mov rcx, qword [rsp + 32] QUAD $0x040d0a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 13], 4 - LONG $0x247c8b48; BYTE $0x38 // mov rdi, qword [rsp + 56] + LONG $0x247c8b48; BYTE $0x48 // mov rdi, qword [rsp + 72] QUAD $0x050d3a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 13], 5 - QUAD $0x000000a824bc8b48 // mov rdi, qword [rsp + 168] + QUAD $0x000000b024bc8b48 // mov rdi, qword [rsp + 176] QUAD $0x060d3a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 13], 6 - QUAD $0x000000a024bc8b48 // mov rdi, qword [rsp + 160] + QUAD $0x000000a824bc8b48 // mov rdi, qword [rsp + 168] QUAD $0x070d3a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 13], 7 QUAD $0x0000012024948b4c // mov r10, qword [rsp + 288] QUAD $0x080d124c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r10 + 13], 8 - LONG $0x24648b4c; BYTE $0x30 // mov r12, qword [rsp + 48] + LONG $0x24648b4c; BYTE $0x40 // mov r12, qword [rsp + 64] QUAD $0x090d224c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r12 + 13], 9 - LONG $0x247c8b48; BYTE $0x68 // mov rdi, qword [rsp + 104] + LONG $0x247c8b48; BYTE $0x38 // mov rdi, qword [rsp + 56] QUAD $0x0a0d3a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 13], 10 - LONG $0x247c8b48; BYTE $0x48 // mov rdi, qword [rsp + 72] + LONG $0x247c8b48; BYTE $0x30 // mov rdi, qword [rsp + 48] QUAD $0x0b0d3a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 13], 11 - LONG $0x247c8b48; BYTE $0x20 // mov rdi, qword [rsp + 32] + QUAD $0x0000014024bc8b48 // mov rdi, qword [rsp + 320] QUAD $0x0c0d3a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 13], 12 LONG $0x247c8b48; BYTE $0x28 // mov rdi, qword [rsp + 40] QUAD $0x0d0d3a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 13], 13 @@ -30150,18 +31421,18 @@ LBB5_166: QUAD $0x0000010824bc8b48 // mov rdi, qword [rsp + 264] LONG $0x3a7cb60f; BYTE $0x0e // movzx edi, byte [rdx + rdi + 14] LONG $0xc76ef9c5 // vmovd xmm0, edi - QUAD $0x000000d0248c8b4c // mov r9, qword [rsp + 208] + QUAD $0x000000b8248c8b4c // mov r9, qword [rsp + 184] QUAD $0x010e0a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r9 + 14], 1 QUAD $0x020e2a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r13 + 14], 2 QUAD $0x030e324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 14], 3 QUAD $0x0000010024b48b48 // mov rsi, qword [rsp + 256] QUAD $0x040e324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 14], 4 - LONG $0x247c8b48; BYTE $0x70 // mov rdi, qword [rsp + 112] + LONG $0x247c8b48; BYTE $0x68 // mov rdi, qword [rsp + 104] QUAD $0x050e3a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 14], 5 QUAD $0x0000008024bc8b48 // mov rdi, qword [rsp + 128] QUAD $0x060e3a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 14], 6 QUAD $0x070e1a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r11 + 14], 7 - QUAD $0x000000b8249c8b4c // mov r11, qword [rsp + 184] + QUAD $0x000000c8249c8b4c // mov r11, qword [rsp + 200] QUAD $0x080e1a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r11 + 14], 8 QUAD $0x0000009824bc8b48 // mov rdi, qword [rsp + 152] QUAD $0x090e3a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 14], 9 @@ -30176,24 +31447,24 @@ LBB5_166: QUAD $0x0f0e324c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r14 + 14], 15 QUAD $0x000000e824848b4c // mov r8, qword [rsp + 232] QUAD $0x010e02442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r8 + 14], 1 - QUAD $0x000000e024bc8b48 // mov rdi, qword [rsp + 224] + QUAD $0x000000d824bc8b48 // mov rdi, qword [rsp + 216] QUAD $0x020e3a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rdi + 14], 2 - QUAD $0x000000d824b48b4c // mov r14, qword [rsp + 216] + QUAD $0x000000a024b48b4c // mov r14, qword [rsp + 160] QUAD $0x030e32442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r14 + 14], 3 QUAD $0x040e0a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 14], 4 - LONG $0x244c8b48; BYTE $0x38 // mov rcx, qword [rsp + 56] + LONG $0x244c8b48; BYTE $0x48 // mov rcx, qword [rsp + 72] QUAD $0x050e0a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 14], 5 - QUAD $0x000000a8248c8b48 // mov rcx, qword [rsp + 168] + QUAD $0x000000b0248c8b48 // mov rcx, qword [rsp + 176] QUAD $0x060e0a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 14], 6 - QUAD $0x000000a0248c8b48 // mov rcx, qword [rsp + 160] + QUAD $0x000000a8248c8b48 // mov rcx, qword [rsp + 168] QUAD $0x070e0a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 14], 7 QUAD $0x080e12442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r10 + 14], 8 QUAD $0x090e22442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r12 + 14], 9 - LONG $0x244c8b48; BYTE $0x68 // mov rcx, qword [rsp + 104] + LONG $0x244c8b48; BYTE $0x38 // mov rcx, qword [rsp + 56] QUAD $0x0a0e0a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 14], 10 - LONG $0x244c8b48; BYTE $0x48 // mov rcx, qword [rsp + 72] + LONG $0x244c8b48; BYTE $0x30 // mov rcx, qword [rsp + 48] QUAD $0x0b0e0a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 14], 11 - LONG $0x244c8b48; BYTE $0x20 // mov rcx, qword [rsp + 32] + QUAD $0x00000140248c8b48 // mov rcx, qword [rsp + 320] QUAD $0x0c0e0a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 14], 12 LONG $0x244c8b48; BYTE $0x28 // mov rcx, qword [rsp + 40] QUAD $0x0d0e0a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 14], 13 @@ -30204,21 +31475,21 @@ LBB5_166: LONG $0x3a7cb60f; BYTE $0x0f // movzx edi, byte [rdx + rdi + 15] LONG $0xd76ef9c5 // vmovd xmm2, edi QUAD $0x010f0a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r9 + 15], 1 - QUAD $0x000000c824bc8b48 // mov rdi, qword [rsp + 200] + QUAD $0x000000e024bc8b48 // mov rdi, qword [rsp + 224] QUAD $0x020f3a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 15], 2 QUAD $0x000000f824bc8b48 // mov rdi, qword [rsp + 248] QUAD $0x030f3a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 15], 3 QUAD $0x040f32542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 15], 4 - LONG $0x24748b48; BYTE $0x70 // mov rsi, qword [rsp + 112] + LONG $0x24748b48; BYTE $0x68 // mov rsi, qword [rsp + 104] QUAD $0x050f32542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 15], 5 QUAD $0x0000008024a48b4c // mov r12, qword [rsp + 128] QUAD $0x060f22542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r12 + 15], 6 - LONG $0x24748b48; BYTE $0x40 // mov rsi, qword [rsp + 64] + LONG $0x24748b48; BYTE $0x70 // mov rsi, qword [rsp + 112] QUAD $0x070f32542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 15], 7 QUAD $0x080f1a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r11 + 15], 8 QUAD $0x00000098249c8b4c // mov r11, qword [rsp + 152] QUAD $0x090f1a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r11 + 15], 9 - QUAD $0x000000b024b48b48 // mov rsi, qword [rsp + 176] + QUAD $0x000000d024b48b48 // mov rsi, qword [rsp + 208] QUAD $0x0a0f32542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 15], 10 QUAD $0x0b0f02542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 15], 11 QUAD $0x0c0f1a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rbx + 15], 12 @@ -30231,26 +31502,26 @@ LBB5_166: LONG $0x7cb60f42; WORD $0x0f12 // movzx edi, byte [rdx + r10 + 15] LONG $0xdf6ef9c5 // vmovd xmm3, edi QUAD $0x010f025c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r8 + 15], 1 - QUAD $0x000000e024ac8b4c // mov r13, qword [rsp + 224] + QUAD $0x000000d824ac8b4c // mov r13, qword [rsp + 216] QUAD $0x020f2a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r13 + 15], 2 QUAD $0x030f325c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r14 + 15], 3 - QUAD $0x0000014024848b48 // mov rax, qword [rsp + 320] + LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] QUAD $0x040f025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 15], 4 - LONG $0x24448b48; BYTE $0x38 // mov rax, qword [rsp + 56] + LONG $0x24448b48; BYTE $0x48 // mov rax, qword [rsp + 72] QUAD $0x050f025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 15], 5 - QUAD $0x000000a824848b48 // mov rax, qword [rsp + 168] + QUAD $0x000000b024848b48 // mov rax, qword [rsp + 176] QUAD $0x060f025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 15], 6 - QUAD $0x000000a024848b48 // mov rax, qword [rsp + 160] + QUAD $0x000000a824848b48 // mov rax, qword [rsp + 168] QUAD $0x070f025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 15], 7 QUAD $0x0000012024bc8b48 // mov rdi, qword [rsp + 288] QUAD $0x080f3a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 15], 8 - LONG $0x247c8b48; BYTE $0x30 // mov rdi, qword [rsp + 48] + LONG $0x247c8b48; BYTE $0x40 // mov rdi, qword [rsp + 64] QUAD $0x090f3a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 15], 9 - LONG $0x247c8b4c; BYTE $0x68 // mov r15, qword [rsp + 104] + LONG $0x247c8b4c; BYTE $0x38 // mov r15, qword [rsp + 56] QUAD $0x0a0f3a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r15 + 15], 10 - LONG $0x245c8b48; BYTE $0x48 // mov rbx, qword [rsp + 72] + LONG $0x245c8b48; BYTE $0x30 // mov rbx, qword [rsp + 48] QUAD $0x0b0f1a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 15], 11 - LONG $0x247c8b48; BYTE $0x20 // mov rdi, qword [rsp + 32] + QUAD $0x0000014024bc8b48 // mov rdi, qword [rsp + 320] QUAD $0x0c0f3a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 15], 12 QUAD $0x0d0f0a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 15], 13 LONG $0x244c8b48; BYTE $0x58 // mov rcx, qword [rsp + 88] @@ -30264,23 +31535,23 @@ LBB5_166: QUAD $0x000000f0248c8b4c // mov r9, qword [rsp + 240] LONG $0x7cb60f42; WORD $0x100a // movzx edi, byte [rdx + r9 + 16] LONG $0xc76ef9c5 // vmovd xmm0, edi - QUAD $0x000000d0248c8b48 // mov rcx, qword [rsp + 208] + QUAD $0x000000b8248c8b48 // mov rcx, qword [rsp + 184] QUAD $0x01100a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 16], 1 - QUAD $0x000000c8248c8b48 // mov rcx, qword [rsp + 200] + QUAD $0x000000e0248c8b48 // mov rcx, qword [rsp + 224] QUAD $0x02100a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 16], 2 QUAD $0x000000f824848b4c // mov r8, qword [rsp + 248] QUAD $0x031002442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r8 + 16], 3 QUAD $0x0000010024bc8b48 // mov rdi, qword [rsp + 256] QUAD $0x04103a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rdi + 16], 4 - LONG $0x247c8b48; BYTE $0x70 // mov rdi, qword [rsp + 112] + LONG $0x247c8b48; BYTE $0x68 // mov rdi, qword [rsp + 104] QUAD $0x05103a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rdi + 16], 5 QUAD $0x061022442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r12 + 16], 6 - LONG $0x247c8b48; BYTE $0x40 // mov rdi, qword [rsp + 64] + LONG $0x247c8b48; BYTE $0x70 // mov rdi, qword [rsp + 112] QUAD $0x07103a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rdi + 16], 7 - QUAD $0x000000b824bc8b48 // mov rdi, qword [rsp + 184] + QUAD $0x000000c824bc8b48 // mov rdi, qword [rsp + 200] QUAD $0x08103a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rdi + 16], 8 QUAD $0x09101a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r11 + 16], 9 - QUAD $0x000000b024a48b4c // mov r12, qword [rsp + 176] + QUAD $0x000000d024a48b4c // mov r12, qword [rsp + 208] QUAD $0x0a1022442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r12 + 16], 10 LONG $0x247c8b48; BYTE $0x60 // mov rdi, qword [rsp + 96] QUAD $0x0b103a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rdi + 16], 11 @@ -30296,22 +31567,22 @@ LBB5_166: QUAD $0x000000e824b48b48 // mov rsi, qword [rsp + 232] QUAD $0x0110324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 16], 1 QUAD $0x02102a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r13 + 16], 2 - QUAD $0x000000d824b48b48 // mov rsi, qword [rsp + 216] + QUAD $0x000000a024b48b48 // mov rsi, qword [rsp + 160] QUAD $0x0310324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 16], 3 - QUAD $0x0000014024b48b48 // mov rsi, qword [rsp + 320] + LONG $0x24748b48; BYTE $0x20 // mov rsi, qword [rsp + 32] QUAD $0x0410324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 16], 4 - LONG $0x24748b48; BYTE $0x38 // mov rsi, qword [rsp + 56] + LONG $0x24748b48; BYTE $0x48 // mov rsi, qword [rsp + 72] QUAD $0x0510324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 16], 5 - QUAD $0x000000a8249c8b4c // mov r11, qword [rsp + 168] + QUAD $0x000000b0249c8b4c // mov r11, qword [rsp + 176] QUAD $0x06101a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r11 + 16], 6 QUAD $0x0710024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 16], 7 QUAD $0x0000012024848b48 // mov rax, qword [rsp + 288] QUAD $0x0810024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 16], 8 - LONG $0x24448b48; BYTE $0x30 // mov rax, qword [rsp + 48] + LONG $0x24448b48; BYTE $0x40 // mov rax, qword [rsp + 64] QUAD $0x0910024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 16], 9 QUAD $0x0a103a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r15 + 16], 10 QUAD $0x0b101a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rbx + 16], 11 - LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] + QUAD $0x0000014024848b48 // mov rax, qword [rsp + 320] QUAD $0x0c10024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 16], 12 LONG $0x245c8b48; BYTE $0x28 // mov rbx, qword [rsp + 40] QUAD $0x0d101a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rbx + 16], 13 @@ -30320,19 +31591,19 @@ LBB5_166: QUAD $0x0f10324c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r14 + 16], 15 LONG $0x7cb60f42; WORD $0x110a // movzx edi, byte [rdx + r9 + 17] LONG $0xd76ef9c5 // vmovd xmm2, edi - QUAD $0x000000d024848b48 // mov rax, qword [rsp + 208] + QUAD $0x000000b824848b48 // mov rax, qword [rsp + 184] QUAD $0x011102542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 17], 1 QUAD $0x02110a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 17], 2 QUAD $0x031102542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r8 + 17], 3 QUAD $0x0000010024848b48 // mov rax, qword [rsp + 256] QUAD $0x041102542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 17], 4 - LONG $0x24748b4c; BYTE $0x70 // mov r14, qword [rsp + 112] + LONG $0x24748b4c; BYTE $0x68 // mov r14, qword [rsp + 104] QUAD $0x051132542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r14 + 17], 5 QUAD $0x0000008024b48b48 // mov rsi, qword [rsp + 128] QUAD $0x061132542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 17], 6 - LONG $0x24448b48; BYTE $0x40 // mov rax, qword [rsp + 64] + LONG $0x24448b48; BYTE $0x70 // mov rax, qword [rsp + 112] QUAD $0x071102542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 17], 7 - QUAD $0x000000b824bc8b4c // mov r15, qword [rsp + 184] + QUAD $0x000000c824bc8b4c // mov r15, qword [rsp + 200] QUAD $0x08113a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r15 + 17], 8 QUAD $0x0000009824848b48 // mov rax, qword [rsp + 152] QUAD $0x091102542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 17], 9 @@ -30351,26 +31622,26 @@ LBB5_166: LONG $0xdf6ef9c5 // vmovd xmm3, edi QUAD $0x000000e824a48b4c // mov r12, qword [rsp + 232] QUAD $0x0111225c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r12 + 17], 1 - QUAD $0x000000e0248c8b48 // mov rcx, qword [rsp + 224] + QUAD $0x000000d8248c8b48 // mov rcx, qword [rsp + 216] QUAD $0x02110a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 17], 2 - QUAD $0x000000d824848b4c // mov r8, qword [rsp + 216] + QUAD $0x000000a024848b4c // mov r8, qword [rsp + 160] QUAD $0x0311025c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r8 + 17], 3 - QUAD $0x00000140248c8b48 // mov rcx, qword [rsp + 320] + LONG $0x244c8b48; BYTE $0x20 // mov rcx, qword [rsp + 32] QUAD $0x04110a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 17], 4 - LONG $0x244c8b48; BYTE $0x38 // mov rcx, qword [rsp + 56] + LONG $0x244c8b48; BYTE $0x48 // mov rcx, qword [rsp + 72] QUAD $0x05110a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 17], 5 QUAD $0x06111a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r11 + 17], 6 - QUAD $0x000000a0248c8b48 // mov rcx, qword [rsp + 160] + QUAD $0x000000a8248c8b48 // mov rcx, qword [rsp + 168] QUAD $0x07110a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 17], 7 QUAD $0x00000120248c8b4c // mov r9, qword [rsp + 288] QUAD $0x08110a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r9 + 17], 8 - LONG $0x244c8b48; BYTE $0x30 // mov rcx, qword [rsp + 48] + LONG $0x244c8b48; BYTE $0x40 // mov rcx, qword [rsp + 64] QUAD $0x09110a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 17], 9 - LONG $0x244c8b48; BYTE $0x68 // mov rcx, qword [rsp + 104] + LONG $0x244c8b48; BYTE $0x38 // mov rcx, qword [rsp + 56] QUAD $0x0a110a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 17], 10 - LONG $0x247c8b48; BYTE $0x48 // mov rdi, qword [rsp + 72] + LONG $0x247c8b48; BYTE $0x30 // mov rdi, qword [rsp + 48] QUAD $0x0b113a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 17], 11 - LONG $0x247c8b48; BYTE $0x20 // mov rdi, qword [rsp + 32] + QUAD $0x0000014024bc8b48 // mov rdi, qword [rsp + 320] QUAD $0x0c113a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 17], 12 WORD $0x8949; BYTE $0xdb // mov r11, rbx QUAD $0x0d111a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 17], 13 @@ -30385,9 +31656,9 @@ LBB5_166: QUAD $0x000000f024bc8b48 // mov rdi, qword [rsp + 240] LONG $0x3a7cb60f; BYTE $0x12 // movzx edi, byte [rdx + rdi + 18] LONG $0xc76ef9c5 // vmovd xmm0, edi - QUAD $0x000000d024bc8b48 // mov rdi, qword [rsp + 208] + QUAD $0x000000b824bc8b48 // mov rdi, qword [rsp + 184] QUAD $0x01123a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rdi + 18], 1 - QUAD $0x000000c824bc8b48 // mov rdi, qword [rsp + 200] + QUAD $0x000000e024bc8b48 // mov rdi, qword [rsp + 224] QUAD $0x02123a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rdi + 18], 2 QUAD $0x000000f824bc8b48 // mov rdi, qword [rsp + 248] QUAD $0x03123a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rdi + 18], 3 @@ -30395,12 +31666,12 @@ LBB5_166: QUAD $0x04123a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rdi + 18], 4 QUAD $0x051232442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r14 + 18], 5 QUAD $0x061232442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 18], 6 - LONG $0x24748b48; BYTE $0x40 // mov rsi, qword [rsp + 64] + LONG $0x24748b48; BYTE $0x70 // mov rsi, qword [rsp + 112] QUAD $0x071232442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 18], 7 QUAD $0x08123a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r15 + 18], 8 QUAD $0x0000009824b48b48 // mov rsi, qword [rsp + 152] QUAD $0x091232442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 18], 9 - QUAD $0x000000b024b48b48 // mov rsi, qword [rsp + 176] + QUAD $0x000000d024b48b48 // mov rsi, qword [rsp + 208] QUAD $0x0a1232442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 18], 10 LONG $0x24748b48; BYTE $0x60 // mov rsi, qword [rsp + 96] QUAD $0x0b1232442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 18], 11 @@ -30413,25 +31684,25 @@ LBB5_166: LONG $0x7cb60f42; WORD $0x1212 // movzx edi, byte [rdx + r10 + 18] LONG $0xcf6ef9c5 // vmovd xmm1, edi QUAD $0x0112224c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r12 + 18], 1 - QUAD $0x000000e024948b4c // mov r10, qword [rsp + 224] + QUAD $0x000000d824948b4c // mov r10, qword [rsp + 216] QUAD $0x0212124c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r10 + 18], 2 QUAD $0x0312024c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r8 + 18], 3 WORD $0x894d; BYTE $0xc4 // mov r12, r8 - QUAD $0x0000014024b48b48 // mov rsi, qword [rsp + 320] + LONG $0x24748b48; BYTE $0x20 // mov rsi, qword [rsp + 32] QUAD $0x0412324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 18], 4 - LONG $0x24748b4c; BYTE $0x38 // mov r14, qword [rsp + 56] + LONG $0x24748b4c; BYTE $0x48 // mov r14, qword [rsp + 72] QUAD $0x0512324c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r14 + 18], 5 - QUAD $0x000000a824848b4c // mov r8, qword [rsp + 168] + QUAD $0x000000b024848b4c // mov r8, qword [rsp + 176] QUAD $0x0612024c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r8 + 18], 6 - QUAD $0x000000a024ac8b4c // mov r13, qword [rsp + 160] + QUAD $0x000000a824ac8b4c // mov r13, qword [rsp + 168] QUAD $0x07122a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r13 + 18], 7 QUAD $0x08120a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r9 + 18], 8 - LONG $0x24448b48; BYTE $0x30 // mov rax, qword [rsp + 48] + LONG $0x24448b48; BYTE $0x40 // mov rax, qword [rsp + 64] QUAD $0x0912024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 18], 9 QUAD $0x0a120a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 18], 10 - LONG $0x244c8b48; BYTE $0x48 // mov rcx, qword [rsp + 72] + LONG $0x244c8b48; BYTE $0x30 // mov rcx, qword [rsp + 48] QUAD $0x0b120a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 18], 11 - LONG $0x244c8b48; BYTE $0x20 // mov rcx, qword [rsp + 32] + QUAD $0x00000140248c8b48 // mov rcx, qword [rsp + 320] QUAD $0x0c120a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 18], 12 QUAD $0x0d121a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r11 + 18], 13 LONG $0x244c8b48; BYTE $0x58 // mov rcx, qword [rsp + 88] @@ -30440,25 +31711,25 @@ LBB5_166: QUAD $0x000000f024bc8b4c // mov r15, qword [rsp + 240] LONG $0x7cb60f42; WORD $0x133a // movzx edi, byte [rdx + r15 + 19] LONG $0xd76ef9c5 // vmovd xmm2, edi - QUAD $0x000000d0248c8b48 // mov rcx, qword [rsp + 208] + QUAD $0x000000b8248c8b48 // mov rcx, qword [rsp + 184] QUAD $0x01130a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 19], 1 - QUAD $0x000000c8248c8b4c // mov r9, qword [rsp + 200] + QUAD $0x000000e0248c8b4c // mov r9, qword [rsp + 224] QUAD $0x02130a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r9 + 19], 2 QUAD $0x000000f8248c8b48 // mov rcx, qword [rsp + 248] QUAD $0x03130a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 19], 3 QUAD $0x00000100249c8b48 // mov rbx, qword [rsp + 256] QUAD $0x04131a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rbx + 19], 4 - LONG $0x244c8b48; BYTE $0x70 // mov rcx, qword [rsp + 112] + LONG $0x244c8b48; BYTE $0x68 // mov rcx, qword [rsp + 104] QUAD $0x05130a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 19], 5 QUAD $0x00000080248c8b48 // mov rcx, qword [rsp + 128] QUAD $0x06130a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 19], 6 - LONG $0x244c8b48; BYTE $0x40 // mov rcx, qword [rsp + 64] + LONG $0x244c8b48; BYTE $0x70 // mov rcx, qword [rsp + 112] QUAD $0x07130a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 19], 7 - QUAD $0x000000b8248c8b48 // mov rcx, qword [rsp + 184] + QUAD $0x000000c8248c8b48 // mov rcx, qword [rsp + 200] QUAD $0x08130a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 19], 8 QUAD $0x00000098249c8b4c // mov r11, qword [rsp + 152] QUAD $0x09131a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r11 + 19], 9 - QUAD $0x000000b0248c8b48 // mov rcx, qword [rsp + 176] + QUAD $0x000000d0248c8b48 // mov rcx, qword [rsp + 208] QUAD $0x0a130a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 19], 10 LONG $0x244c8b48; BYTE $0x60 // mov rcx, qword [rsp + 96] QUAD $0x0b130a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 19], 11 @@ -30485,11 +31756,11 @@ LBB5_166: QUAD $0x0000012024b48b48 // mov rsi, qword [rsp + 288] QUAD $0x0813325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 19], 8 QUAD $0x0913025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 19], 9 - LONG $0x24448b48; BYTE $0x68 // mov rax, qword [rsp + 104] + LONG $0x24448b48; BYTE $0x38 // mov rax, qword [rsp + 56] QUAD $0x0a13025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 19], 10 - LONG $0x24448b48; BYTE $0x48 // mov rax, qword [rsp + 72] + LONG $0x24448b48; BYTE $0x30 // mov rax, qword [rsp + 48] QUAD $0x0b13025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 19], 11 - LONG $0x24548b4c; BYTE $0x20 // mov r10, qword [rsp + 32] + QUAD $0x0000014024948b4c // mov r10, qword [rsp + 320] QUAD $0x0c13125c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r10 + 19], 12 LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] QUAD $0x0d13025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 19], 13 @@ -30503,22 +31774,22 @@ LBB5_166: QUAD $0x00034024847ffdc5; BYTE $0x00 // vmovdqa yword [rsp + 832], ymm0 LONG $0x7cb60f42; WORD $0x143a // movzx edi, byte [rdx + r15 + 20] LONG $0xc76ef9c5 // vmovd xmm0, edi - QUAD $0x000000d024848b4c // mov r8, qword [rsp + 208] + QUAD $0x000000b824848b4c // mov r8, qword [rsp + 184] QUAD $0x011402442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r8 + 20], 1 QUAD $0x02140a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r9 + 20], 2 QUAD $0x000000f824bc8b4c // mov r15, qword [rsp + 248] QUAD $0x03143a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r15 + 20], 3 QUAD $0x04141a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rbx + 20], 4 - LONG $0x24748b48; BYTE $0x70 // mov rsi, qword [rsp + 112] + LONG $0x24748b48; BYTE $0x68 // mov rsi, qword [rsp + 104] QUAD $0x051432442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 20], 5 QUAD $0x0000008024848b48 // mov rax, qword [rsp + 128] QUAD $0x061402442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 20], 6 - LONG $0x244c8b4c; BYTE $0x40 // mov r9, qword [rsp + 64] + LONG $0x244c8b4c; BYTE $0x70 // mov r9, qword [rsp + 112] QUAD $0x07140a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r9 + 20], 7 - QUAD $0x000000b824848b48 // mov rax, qword [rsp + 184] + QUAD $0x000000c824848b48 // mov rax, qword [rsp + 200] QUAD $0x081402442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 20], 8 QUAD $0x09141a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r11 + 20], 9 - QUAD $0x000000b024848b48 // mov rax, qword [rsp + 176] + QUAD $0x000000d024848b48 // mov rax, qword [rsp + 208] QUAD $0x0a1402442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 20], 10 LONG $0x24448b48; BYTE $0x60 // mov rax, qword [rsp + 96] QUAD $0x0b1402442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 20], 11 @@ -30534,23 +31805,23 @@ LBB5_166: LONG $0xcf6ef9c5 // vmovd xmm1, edi QUAD $0x000000e8248c8b48 // mov rcx, qword [rsp + 232] QUAD $0x01140a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 20], 1 - QUAD $0x000000e0248c8b48 // mov rcx, qword [rsp + 224] + QUAD $0x000000d8248c8b48 // mov rcx, qword [rsp + 216] QUAD $0x02140a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 20], 2 QUAD $0x0314224c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r12 + 20], 3 - QUAD $0x0000014024bc8b48 // mov rdi, qword [rsp + 320] + LONG $0x247c8b48; BYTE $0x20 // mov rdi, qword [rsp + 32] QUAD $0x04143a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 20], 4 - LONG $0x245c8b4c; BYTE $0x38 // mov r11, qword [rsp + 56] + LONG $0x245c8b4c; BYTE $0x48 // mov r11, qword [rsp + 72] QUAD $0x05141a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r11 + 20], 5 QUAD $0x0614324c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r14 + 20], 6 - QUAD $0x000000a024bc8b48 // mov rdi, qword [rsp + 160] + QUAD $0x000000a824bc8b48 // mov rdi, qword [rsp + 168] QUAD $0x07143a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 20], 7 QUAD $0x0000012024bc8b48 // mov rdi, qword [rsp + 288] QUAD $0x08143a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 20], 8 - LONG $0x245c8b48; BYTE $0x30 // mov rbx, qword [rsp + 48] + LONG $0x245c8b48; BYTE $0x40 // mov rbx, qword [rsp + 64] QUAD $0x09141a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rbx + 20], 9 - LONG $0x247c8b48; BYTE $0x68 // mov rdi, qword [rsp + 104] + LONG $0x247c8b48; BYTE $0x38 // mov rdi, qword [rsp + 56] QUAD $0x0a143a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 20], 10 - LONG $0x247c8b48; BYTE $0x48 // mov rdi, qword [rsp + 72] + LONG $0x247c8b48; BYTE $0x30 // mov rdi, qword [rsp + 48] QUAD $0x0b143a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 20], 11 QUAD $0x0c14124c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r10 + 20], 12 LONG $0x247c8b48; BYTE $0x28 // mov rdi, qword [rsp + 40] @@ -30562,7 +31833,7 @@ LBB5_166: LONG $0x3a7cb60f; BYTE $0x15 // movzx edi, byte [rdx + rdi + 21] LONG $0xd76ef9c5 // vmovd xmm2, edi QUAD $0x011502542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r8 + 21], 1 - QUAD $0x000000c824ac8b4c // mov r13, qword [rsp + 200] + QUAD $0x000000e024ac8b4c // mov r13, qword [rsp + 224] QUAD $0x02152a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r13 + 21], 2 QUAD $0x03153a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r15 + 21], 3 QUAD $0x0000010024bc8b4c // mov r15, qword [rsp + 256] @@ -30571,11 +31842,11 @@ LBB5_166: QUAD $0x0000008024b48b48 // mov rsi, qword [rsp + 128] QUAD $0x061532542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 21], 6 QUAD $0x07150a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r9 + 21], 7 - QUAD $0x000000b8248c8b4c // mov r9, qword [rsp + 184] + QUAD $0x000000c8248c8b4c // mov r9, qword [rsp + 200] QUAD $0x08150a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r9 + 21], 8 QUAD $0x0000009824bc8b48 // mov rdi, qword [rsp + 152] QUAD $0x09153a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 21], 9 - QUAD $0x000000b024bc8b48 // mov rdi, qword [rsp + 176] + QUAD $0x000000d024bc8b48 // mov rdi, qword [rsp + 208] QUAD $0x0a153a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 21], 10 LONG $0x24548b4c; BYTE $0x60 // mov r10, qword [rsp + 96] QUAD $0x0b1512542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r10 + 21], 11 @@ -30592,22 +31863,22 @@ LBB5_166: QUAD $0x000000e824848b48 // mov rax, qword [rsp + 232] QUAD $0x0115025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 21], 1 QUAD $0x02150a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 21], 2 - QUAD $0x000000d824848b48 // mov rax, qword [rsp + 216] + QUAD $0x000000a024848b48 // mov rax, qword [rsp + 160] QUAD $0x0315025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 21], 3 - QUAD $0x0000014024848b48 // mov rax, qword [rsp + 320] + LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] QUAD $0x0415025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 21], 4 QUAD $0x05151a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r11 + 21], 5 QUAD $0x0615325c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r14 + 21], 6 - QUAD $0x000000a024848b48 // mov rax, qword [rsp + 160] + QUAD $0x000000a824848b48 // mov rax, qword [rsp + 168] QUAD $0x0715025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 21], 7 QUAD $0x0000012024848b48 // mov rax, qword [rsp + 288] QUAD $0x0815025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 21], 8 QUAD $0x09151a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 21], 9 - LONG $0x24448b48; BYTE $0x68 // mov rax, qword [rsp + 104] + LONG $0x24448b48; BYTE $0x38 // mov rax, qword [rsp + 56] QUAD $0x0a15025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 21], 10 - LONG $0x245c8b48; BYTE $0x48 // mov rbx, qword [rsp + 72] + LONG $0x245c8b48; BYTE $0x30 // mov rbx, qword [rsp + 48] QUAD $0x0b151a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 21], 11 - LONG $0x24748b4c; BYTE $0x20 // mov r14, qword [rsp + 32] + QUAD $0x0000014024b48b4c // mov r14, qword [rsp + 320] QUAD $0x0c15325c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r14 + 21], 12 LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] QUAD $0x0d15025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 21], 13 @@ -30621,21 +31892,21 @@ LBB5_166: QUAD $0x000000f024848b48 // mov rax, qword [rsp + 240] LONG $0x027cb60f; BYTE $0x16 // movzx edi, byte [rdx + rax + 22] LONG $0xc76ef9c5 // vmovd xmm0, edi - QUAD $0x000000d024848b48 // mov rax, qword [rsp + 208] + QUAD $0x000000b824848b48 // mov rax, qword [rsp + 184] QUAD $0x011602442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 22], 1 QUAD $0x02162a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r13 + 22], 2 QUAD $0x000000f824848b48 // mov rax, qword [rsp + 248] QUAD $0x031602442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 22], 3 QUAD $0x04163a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r15 + 22], 4 - LONG $0x247c8b48; BYTE $0x70 // mov rdi, qword [rsp + 112] + LONG $0x247c8b48; BYTE $0x68 // mov rdi, qword [rsp + 104] QUAD $0x05163a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rdi + 22], 5 QUAD $0x061632442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 22], 6 - LONG $0x24748b48; BYTE $0x40 // mov rsi, qword [rsp + 64] + LONG $0x24748b48; BYTE $0x70 // mov rsi, qword [rsp + 112] QUAD $0x071632442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 22], 7 QUAD $0x08160a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r9 + 22], 8 QUAD $0x0000009824b48b48 // mov rsi, qword [rsp + 152] QUAD $0x091632442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 22], 9 - QUAD $0x000000b024b48b48 // mov rsi, qword [rsp + 176] + QUAD $0x000000d024b48b48 // mov rsi, qword [rsp + 208] QUAD $0x0a1632442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 22], 10 QUAD $0x0b1612442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r10 + 22], 11 QUAD $0x0c1602442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r8 + 22], 12 @@ -30650,23 +31921,23 @@ LBB5_166: LONG $0xcf6ef9c5 // vmovd xmm1, edi QUAD $0x000000e824bc8b4c // mov r15, qword [rsp + 232] QUAD $0x01163a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r15 + 22], 1 - QUAD $0x000000e024bc8b48 // mov rdi, qword [rsp + 224] - QUAD $0x02163a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 22], 2 QUAD $0x000000d824bc8b48 // mov rdi, qword [rsp + 216] + QUAD $0x02163a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 22], 2 + QUAD $0x000000a024bc8b48 // mov rdi, qword [rsp + 160] QUAD $0x03163a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 22], 3 - QUAD $0x0000014024bc8b48 // mov rdi, qword [rsp + 320] + LONG $0x247c8b48; BYTE $0x20 // mov rdi, qword [rsp + 32] QUAD $0x04163a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 22], 4 - LONG $0x247c8b48; BYTE $0x38 // mov rdi, qword [rsp + 56] + LONG $0x247c8b48; BYTE $0x48 // mov rdi, qword [rsp + 72] QUAD $0x05163a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 22], 5 - QUAD $0x000000a824bc8b48 // mov rdi, qword [rsp + 168] + QUAD $0x000000b024bc8b48 // mov rdi, qword [rsp + 176] QUAD $0x06163a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 22], 6 - QUAD $0x000000a024a48b4c // mov r12, qword [rsp + 160] + QUAD $0x000000a824a48b4c // mov r12, qword [rsp + 168] QUAD $0x0716224c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r12 + 22], 7 QUAD $0x0000012024bc8b48 // mov rdi, qword [rsp + 288] QUAD $0x08163a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 22], 8 - LONG $0x247c8b48; BYTE $0x30 // mov rdi, qword [rsp + 48] + LONG $0x247c8b48; BYTE $0x40 // mov rdi, qword [rsp + 64] QUAD $0x09163a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 22], 9 - LONG $0x247c8b48; BYTE $0x68 // mov rdi, qword [rsp + 104] + LONG $0x247c8b48; BYTE $0x38 // mov rdi, qword [rsp + 56] QUAD $0x0a163a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 22], 10 QUAD $0x0b161a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rbx + 22], 11 QUAD $0x0c16324c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r14 + 22], 12 @@ -30678,18 +31949,18 @@ LBB5_166: QUAD $0x000000f0249c8b48 // mov rbx, qword [rsp + 240] LONG $0x1a7cb60f; BYTE $0x17 // movzx edi, byte [rdx + rbx + 23] LONG $0xd76ef9c5 // vmovd xmm2, edi - QUAD $0x000000d024bc8b48 // mov rdi, qword [rsp + 208] + QUAD $0x000000b824bc8b48 // mov rdi, qword [rsp + 184] QUAD $0x01173a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 23], 1 - QUAD $0x000000c824bc8b48 // mov rdi, qword [rsp + 200] + QUAD $0x000000e024bc8b48 // mov rdi, qword [rsp + 224] QUAD $0x02173a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 23], 2 QUAD $0x031702542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 23], 3 QUAD $0x0000010024848b48 // mov rax, qword [rsp + 256] QUAD $0x041702542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 23], 4 - LONG $0x247c8b48; BYTE $0x70 // mov rdi, qword [rsp + 112] + LONG $0x247c8b48; BYTE $0x68 // mov rdi, qword [rsp + 104] QUAD $0x05173a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 23], 5 QUAD $0x0000008024b48b4c // mov r14, qword [rsp + 128] QUAD $0x061732542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r14 + 23], 6 - LONG $0x247c8b48; BYTE $0x40 // mov rdi, qword [rsp + 64] + LONG $0x247c8b48; BYTE $0x70 // mov rdi, qword [rsp + 112] QUAD $0x07173a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 23], 7 QUAD $0x08170a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r9 + 23], 8 QUAD $0x00000098248c8b4c // mov r9, qword [rsp + 152] @@ -30706,27 +31977,27 @@ LBB5_166: LONG $0x7cb60f42; WORD $0x171a // movzx edi, byte [rdx + r11 + 23] LONG $0xdf6ef9c5 // vmovd xmm3, edi QUAD $0x01173a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r15 + 23], 1 - QUAD $0x000000e024b48b48 // mov rsi, qword [rsp + 224] + QUAD $0x000000d824b48b48 // mov rsi, qword [rsp + 216] QUAD $0x0217325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 23], 2 - QUAD $0x000000d824bc8b48 // mov rdi, qword [rsp + 216] + QUAD $0x000000a024bc8b48 // mov rdi, qword [rsp + 160] QUAD $0x03173a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 23], 3 - QUAD $0x0000014024bc8b4c // mov r15, qword [rsp + 320] + LONG $0x247c8b4c; BYTE $0x20 // mov r15, qword [rsp + 32] QUAD $0x04173a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r15 + 23], 4 - LONG $0x247c8b48; BYTE $0x38 // mov rdi, qword [rsp + 56] + LONG $0x247c8b48; BYTE $0x48 // mov rdi, qword [rsp + 72] QUAD $0x05173a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 23], 5 - QUAD $0x000000a824bc8b48 // mov rdi, qword [rsp + 168] + QUAD $0x000000b024bc8b48 // mov rdi, qword [rsp + 176] QUAD $0x06173a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 23], 6 QUAD $0x0717225c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r12 + 23], 7 QUAD $0x0000012024bc8b48 // mov rdi, qword [rsp + 288] QUAD $0x08173a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 23], 8 - LONG $0x247c8b48; BYTE $0x30 // mov rdi, qword [rsp + 48] + LONG $0x247c8b48; BYTE $0x40 // mov rdi, qword [rsp + 64] QUAD $0x09173a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 23], 9 - LONG $0x24648b4c; BYTE $0x68 // mov r12, qword [rsp + 104] - QUAD $0x0a17225c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r12 + 23], 10 - LONG $0x247c8b48; BYTE $0x48 // mov rdi, qword [rsp + 72] + LONG $0x247c8b48; BYTE $0x38 // mov rdi, qword [rsp + 56] + QUAD $0x0a173a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 23], 10 + LONG $0x247c8b48; BYTE $0x30 // mov rdi, qword [rsp + 48] QUAD $0x0b173a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 23], 11 - LONG $0x24548b4c; BYTE $0x20 // mov r10, qword [rsp + 32] - QUAD $0x0c17125c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r10 + 23], 12 + QUAD $0x0000014024a48b4c // mov r12, qword [rsp + 320] + QUAD $0x0c17225c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r12 + 23], 12 QUAD $0x0d17025c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r8 + 23], 13 LONG $0x247c8b48; BYTE $0x58 // mov rdi, qword [rsp + 88] QUAD $0x0e173a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 23], 14 @@ -30735,22 +32006,22 @@ LBB5_166: LONG $0x386563c4; WORD $0x01da // vinserti128 ymm11, ymm3, xmm2, 1 LONG $0x1a7cb60f; BYTE $0x18 // movzx edi, byte [rdx + rbx + 24] LONG $0xc76ef9c5 // vmovd xmm0, edi - QUAD $0x000000d0248c8b48 // mov rcx, qword [rsp + 208] + QUAD $0x000000b8248c8b48 // mov rcx, qword [rsp + 184] QUAD $0x01180a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 24], 1 - QUAD $0x000000c8248c8b48 // mov rcx, qword [rsp + 200] + QUAD $0x000000e0248c8b48 // mov rcx, qword [rsp + 224] QUAD $0x02180a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 24], 2 - QUAD $0x000000f824848b4c // mov r8, qword [rsp + 248] - QUAD $0x031802442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r8 + 24], 3 + QUAD $0x000000f824948b4c // mov r10, qword [rsp + 248] + QUAD $0x031812442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r10 + 24], 3 QUAD $0x041802442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 24], 4 - LONG $0x24448b48; BYTE $0x70 // mov rax, qword [rsp + 112] + LONG $0x24448b48; BYTE $0x68 // mov rax, qword [rsp + 104] QUAD $0x051802442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 24], 5 QUAD $0x061832442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r14 + 24], 6 - LONG $0x245c8b4c; BYTE $0x40 // mov r11, qword [rsp + 64] + LONG $0x245c8b4c; BYTE $0x70 // mov r11, qword [rsp + 112] QUAD $0x07181a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r11 + 24], 7 - QUAD $0x000000b8248c8b48 // mov rcx, qword [rsp + 184] - QUAD $0x08180a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 24], 8 + QUAD $0x000000c824b48b4c // mov r14, qword [rsp + 200] + QUAD $0x081832442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r14 + 24], 8 QUAD $0x09180a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r9 + 24], 9 - QUAD $0x000000b0248c8b4c // mov r9, qword [rsp + 176] + QUAD $0x000000d0248c8b4c // mov r9, qword [rsp + 208] QUAD $0x0a180a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r9 + 24], 10 LONG $0x244c8b48; BYTE $0x60 // mov rcx, qword [rsp + 96] QUAD $0x0b180a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 24], 11 @@ -30764,50 +32035,50 @@ LBB5_166: QUAD $0x0000010824bc8b48 // mov rdi, qword [rsp + 264] LONG $0x3a7cb60f; BYTE $0x18 // movzx edi, byte [rdx + rdi + 24] LONG $0xcf6ef9c5 // vmovd xmm1, edi - QUAD $0x000000e824b48b4c // mov r14, qword [rsp + 232] - QUAD $0x0118324c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r14 + 24], 1 + QUAD $0x000000e8249c8b48 // mov rbx, qword [rsp + 232] + QUAD $0x01181a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rbx + 24], 1 QUAD $0x0218324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 24], 2 - QUAD $0x000000d824ac8b4c // mov r13, qword [rsp + 216] - QUAD $0x03182a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r13 + 24], 3 + QUAD $0x000000a024b48b48 // mov rsi, qword [rsp + 160] + QUAD $0x0318324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 24], 3 QUAD $0x04183a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r15 + 24], 4 - LONG $0x24748b48; BYTE $0x38 // mov rsi, qword [rsp + 56] + LONG $0x24748b48; BYTE $0x48 // mov rsi, qword [rsp + 72] QUAD $0x0518324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 24], 5 - QUAD $0x000000a824b48b48 // mov rsi, qword [rsp + 168] + QUAD $0x000000b024b48b48 // mov rsi, qword [rsp + 176] QUAD $0x0618324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 24], 6 - QUAD $0x000000a0249c8b48 // mov rbx, qword [rsp + 160] - QUAD $0x07181a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rbx + 24], 7 + QUAD $0x000000a824848b4c // mov r8, qword [rsp + 168] + QUAD $0x0718024c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r8 + 24], 7 QUAD $0x0000012024b48b48 // mov rsi, qword [rsp + 288] QUAD $0x0818324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 24], 8 - LONG $0x24748b48; BYTE $0x30 // mov rsi, qword [rsp + 48] + LONG $0x24748b48; BYTE $0x40 // mov rsi, qword [rsp + 64] QUAD $0x0918324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 24], 9 - QUAD $0x0a18224c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r12 + 24], 10 - LONG $0x24748b48; BYTE $0x48 // mov rsi, qword [rsp + 72] + LONG $0x24748b48; BYTE $0x38 // mov rsi, qword [rsp + 56] + QUAD $0x0a18324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 24], 10 + LONG $0x24748b48; BYTE $0x30 // mov rsi, qword [rsp + 48] QUAD $0x0b18324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 24], 11 - QUAD $0x0c18124c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r10 + 24], 12 + QUAD $0x0c18224c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r12 + 24], 12 LONG $0x24748b48; BYTE $0x28 // mov rsi, qword [rsp + 40] QUAD $0x0d18324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 24], 13 - LONG $0x247c8b4c; BYTE $0x58 // mov r15, qword [rsp + 88] - QUAD $0x0e183a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r15 + 24], 14 + LONG $0x246c8b4c; BYTE $0x58 // mov r13, qword [rsp + 88] + QUAD $0x0e182a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r13 + 24], 14 QUAD $0x0000009024b48b48 // mov rsi, qword [rsp + 144] QUAD $0x0f18324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 24], 15 QUAD $0x000000f024b48b48 // mov rsi, qword [rsp + 240] LONG $0x327cb60f; BYTE $0x19 // movzx edi, byte [rdx + rsi + 25] LONG $0xd76ef9c5 // vmovd xmm2, edi - QUAD $0x000000d024948b4c // mov r10, qword [rsp + 208] - QUAD $0x011912542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r10 + 25], 1 - QUAD $0x000000c824b48b48 // mov rsi, qword [rsp + 200] + QUAD $0x000000b824a48b4c // mov r12, qword [rsp + 184] + QUAD $0x011922542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r12 + 25], 1 + QUAD $0x000000e024b48b48 // mov rsi, qword [rsp + 224] QUAD $0x021932542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 25], 2 - QUAD $0x031902542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r8 + 25], 3 + QUAD $0x031912542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r10 + 25], 3 QUAD $0x0000010024bc8b48 // mov rdi, qword [rsp + 256] QUAD $0x04193a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 25], 4 QUAD $0x051902542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 25], 5 QUAD $0x0000008024848b48 // mov rax, qword [rsp + 128] QUAD $0x061902542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 25], 6 QUAD $0x07191a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r11 + 25], 7 - QUAD $0x000000b824bc8b48 // mov rdi, qword [rsp + 184] - QUAD $0x08193a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 25], 8 - QUAD $0x0000009824848b4c // mov r8, qword [rsp + 152] - QUAD $0x091902542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r8 + 25], 9 + QUAD $0x081932542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r14 + 25], 8 + QUAD $0x0000009824948b4c // mov r10, qword [rsp + 152] + QUAD $0x091912542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r10 + 25], 9 QUAD $0x0a190a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r9 + 25], 10 QUAD $0x0b190a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 25], 11 QUAD $0x00000088248c8b4c // mov r9, qword [rsp + 136] @@ -30821,29 +32092,30 @@ LBB5_166: QUAD $0x00000108248c8b48 // mov rcx, qword [rsp + 264] LONG $0x0a7cb60f; BYTE $0x19 // movzx edi, byte [rdx + rcx + 25] LONG $0xdf6ef9c5 // vmovd xmm3, edi - QUAD $0x0119325c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r14 + 25], 1 - QUAD $0x000000e024bc8b48 // mov rdi, qword [rsp + 224] + QUAD $0x01191a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 25], 1 + QUAD $0x000000d824bc8b48 // mov rdi, qword [rsp + 216] QUAD $0x02193a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 25], 2 - QUAD $0x03192a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r13 + 25], 3 - QUAD $0x0000014024b48b4c // mov r14, qword [rsp + 320] - QUAD $0x0419325c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r14 + 25], 4 - LONG $0x246c8b4c; BYTE $0x38 // mov r13, qword [rsp + 56] - QUAD $0x05192a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r13 + 25], 5 - QUAD $0x000000a824bc8b48 // mov rdi, qword [rsp + 168] + QUAD $0x000000a024bc8b48 // mov rdi, qword [rsp + 160] + QUAD $0x03193a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 25], 3 + QUAD $0x04193a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r15 + 25], 4 + LONG $0x247c8b48; BYTE $0x48 // mov rdi, qword [rsp + 72] + QUAD $0x05193a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 25], 5 + QUAD $0x000000b024bc8b48 // mov rdi, qword [rsp + 176] QUAD $0x06193a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 25], 6 - QUAD $0x07191a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 25], 7 + QUAD $0x0719025c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r8 + 25], 7 QUAD $0x0000012024bc8b48 // mov rdi, qword [rsp + 288] QUAD $0x08193a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 25], 8 - LONG $0x247c8b48; BYTE $0x30 // mov rdi, qword [rsp + 48] + LONG $0x247c8b48; BYTE $0x40 // mov rdi, qword [rsp + 64] QUAD $0x09193a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 25], 9 - QUAD $0x0a19225c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r12 + 25], 10 - LONG $0x24648b4c; BYTE $0x48 // mov r12, qword [rsp + 72] - QUAD $0x0b19225c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r12 + 25], 11 - LONG $0x245c8b48; BYTE $0x20 // mov rbx, qword [rsp + 32] + LONG $0x24748b4c; BYTE $0x38 // mov r14, qword [rsp + 56] + QUAD $0x0a19325c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r14 + 25], 10 + LONG $0x247c8b48; BYTE $0x30 // mov rdi, qword [rsp + 48] + QUAD $0x0b193a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 25], 11 + QUAD $0x00000140249c8b48 // mov rbx, qword [rsp + 320] QUAD $0x0c191a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 25], 12 LONG $0x247c8b48; BYTE $0x28 // mov rdi, qword [rsp + 40] QUAD $0x0d193a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 25], 13 - QUAD $0x0e193a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r15 + 25], 14 + QUAD $0x0e192a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r13 + 25], 14 LONG $0x3875e3c4; WORD $0x01c0 // vinserti128 ymm0, ymm1, xmm0, 1 QUAD $0x00022024847ffdc5; BYTE $0x00 // vmovdqa yword [rsp + 544], ymm0 QUAD $0x0000009024bc8b48 // mov rdi, qword [rsp + 144] @@ -30853,21 +32125,21 @@ LBB5_166: QUAD $0x000000f024bc8b48 // mov rdi, qword [rsp + 240] LONG $0x3a7cb60f; BYTE $0x1a // movzx edi, byte [rdx + rdi + 26] LONG $0xc76ef9c5 // vmovd xmm0, edi - QUAD $0x011a12442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r10 + 26], 1 + QUAD $0x011a22442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r12 + 26], 1 QUAD $0x021a32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 26], 2 QUAD $0x000000f824b48b48 // mov rsi, qword [rsp + 248] QUAD $0x031a32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 26], 3 - QUAD $0x0000010024bc8b4c // mov r15, qword [rsp + 256] - QUAD $0x041a3a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r15 + 26], 4 - LONG $0x24748b48; BYTE $0x70 // mov rsi, qword [rsp + 112] + QUAD $0x0000010024a48b4c // mov r12, qword [rsp + 256] + QUAD $0x041a22442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r12 + 26], 4 + LONG $0x24748b48; BYTE $0x68 // mov rsi, qword [rsp + 104] QUAD $0x051a32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 26], 5 QUAD $0x061a02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 26], 6 - LONG $0x24448b48; BYTE $0x40 // mov rax, qword [rsp + 64] + LONG $0x24448b48; BYTE $0x70 // mov rax, qword [rsp + 112] QUAD $0x071a02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 26], 7 - QUAD $0x000000b824848b48 // mov rax, qword [rsp + 184] + QUAD $0x000000c824848b48 // mov rax, qword [rsp + 200] QUAD $0x081a02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 26], 8 - QUAD $0x091a02442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r8 + 26], 9 - QUAD $0x000000b024848b4c // mov r8, qword [rsp + 176] + QUAD $0x091a12442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r10 + 26], 9 + QUAD $0x000000d024848b4c // mov r8, qword [rsp + 208] QUAD $0x0a1a02442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r8 + 26], 10 LONG $0x24748b48; BYTE $0x60 // mov rsi, qword [rsp + 96] QUAD $0x0b1a32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 26], 11 @@ -30881,26 +32153,27 @@ LBB5_166: LONG $0xcf6ef9c5 // vmovd xmm1, edi QUAD $0x000000e8248c8b48 // mov rcx, qword [rsp + 232] QUAD $0x011a0a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 26], 1 - QUAD $0x000000e024bc8b48 // mov rdi, qword [rsp + 224] + QUAD $0x000000d824bc8b48 // mov rdi, qword [rsp + 216] QUAD $0x021a3a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 26], 2 - QUAD $0x000000d824948b4c // mov r10, qword [rsp + 216] + QUAD $0x000000a024948b4c // mov r10, qword [rsp + 160] QUAD $0x031a124c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r10 + 26], 3 - QUAD $0x041a324c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r14 + 26], 4 - QUAD $0x051a2a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r13 + 26], 5 - QUAD $0x000000a8249c8b4c // mov r11, qword [rsp + 168] + QUAD $0x041a3a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r15 + 26], 4 + LONG $0x247c8b4c; BYTE $0x48 // mov r15, qword [rsp + 72] + QUAD $0x051a3a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r15 + 26], 5 + QUAD $0x000000b0249c8b4c // mov r11, qword [rsp + 176] QUAD $0x061a1a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r11 + 26], 6 - QUAD $0x000000a024ac8b4c // mov r13, qword [rsp + 160] + QUAD $0x000000a824ac8b4c // mov r13, qword [rsp + 168] QUAD $0x071a2a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r13 + 26], 7 QUAD $0x0000012024bc8b48 // mov rdi, qword [rsp + 288] QUAD $0x081a3a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 26], 8 - LONG $0x247c8b48; BYTE $0x30 // mov rdi, qword [rsp + 48] + LONG $0x247c8b48; BYTE $0x40 // mov rdi, qword [rsp + 64] QUAD $0x091a3a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 26], 9 - LONG $0x24748b4c; BYTE $0x68 // mov r14, qword [rsp + 104] QUAD $0x0a1a324c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r14 + 26], 10 - QUAD $0x0b1a224c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r12 + 26], 11 + LONG $0x247c8b48; BYTE $0x30 // mov rdi, qword [rsp + 48] + QUAD $0x0b1a3a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 26], 11 QUAD $0x0c1a1a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rbx + 26], 12 - LONG $0x247c8b48; BYTE $0x28 // mov rdi, qword [rsp + 40] - QUAD $0x0d1a3a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 26], 13 + LONG $0x24748b4c; BYTE $0x28 // mov r14, qword [rsp + 40] + QUAD $0x0d1a324c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r14 + 26], 13 LONG $0x247c8b48; BYTE $0x58 // mov rdi, qword [rsp + 88] QUAD $0x0e1a3a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 26], 14 QUAD $0x0000009024bc8b48 // mov rdi, qword [rsp + 144] @@ -30908,18 +32181,18 @@ LBB5_166: QUAD $0x000000f024bc8b48 // mov rdi, qword [rsp + 240] LONG $0x3a7cb60f; BYTE $0x1b // movzx edi, byte [rdx + rdi + 27] LONG $0xd76ef9c5 // vmovd xmm2, edi - QUAD $0x000000d0249c8b48 // mov rbx, qword [rsp + 208] + QUAD $0x000000b8249c8b48 // mov rbx, qword [rsp + 184] QUAD $0x011b1a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rbx + 27], 1 - QUAD $0x000000c824bc8b48 // mov rdi, qword [rsp + 200] + QUAD $0x000000e024bc8b48 // mov rdi, qword [rsp + 224] QUAD $0x021b3a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 27], 2 QUAD $0x000000f824bc8b48 // mov rdi, qword [rsp + 248] QUAD $0x031b3a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 27], 3 - QUAD $0x041b3a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r15 + 27], 4 - LONG $0x247c8b48; BYTE $0x70 // mov rdi, qword [rsp + 112] + QUAD $0x041b22542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r12 + 27], 4 + LONG $0x247c8b48; BYTE $0x68 // mov rdi, qword [rsp + 104] QUAD $0x051b3a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 27], 5 QUAD $0x0000008024bc8b48 // mov rdi, qword [rsp + 128] QUAD $0x061b3a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 27], 6 - LONG $0x247c8b48; BYTE $0x40 // mov rdi, qword [rsp + 64] + LONG $0x247c8b48; BYTE $0x70 // mov rdi, qword [rsp + 112] QUAD $0x071b3a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 27], 7 QUAD $0x081b02542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 27], 8 QUAD $0x0000009824a48b4c // mov r12, qword [rsp + 152] @@ -30937,26 +32210,25 @@ LBB5_166: LONG $0x327cb60f; BYTE $0x1b // movzx edi, byte [rdx + rsi + 27] LONG $0xdf6ef9c5 // vmovd xmm3, edi QUAD $0x011b0a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 27], 1 - QUAD $0x000000e024848b48 // mov rax, qword [rsp + 224] + QUAD $0x000000d824848b48 // mov rax, qword [rsp + 216] QUAD $0x021b025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 27], 2 QUAD $0x031b125c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r10 + 27], 3 - QUAD $0x0000014024848b48 // mov rax, qword [rsp + 320] + LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] QUAD $0x041b025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 27], 4 - LONG $0x24448b48; BYTE $0x38 // mov rax, qword [rsp + 56] - QUAD $0x051b025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 27], 5 + QUAD $0x051b3a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r15 + 27], 5 QUAD $0x061b1a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r11 + 27], 6 QUAD $0x071b2a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r13 + 27], 7 QUAD $0x0000012024848b48 // mov rax, qword [rsp + 288] QUAD $0x081b025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 27], 8 - LONG $0x24448b48; BYTE $0x30 // mov rax, qword [rsp + 48] + LONG $0x24448b48; BYTE $0x40 // mov rax, qword [rsp + 64] QUAD $0x091b025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 27], 9 - QUAD $0x0a1b325c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r14 + 27], 10 - LONG $0x244c8b48; BYTE $0x48 // mov rcx, qword [rsp + 72] + LONG $0x244c8b48; BYTE $0x38 // mov rcx, qword [rsp + 56] + QUAD $0x0a1b0a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 27], 10 + LONG $0x244c8b48; BYTE $0x30 // mov rcx, qword [rsp + 48] QUAD $0x0b1b0a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 27], 11 - LONG $0x244c8b4c; BYTE $0x20 // mov r9, qword [rsp + 32] - QUAD $0x0c1b0a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r9 + 27], 12 - LONG $0x245c8b4c; BYTE $0x28 // mov r11, qword [rsp + 40] - QUAD $0x0d1b1a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r11 + 27], 13 + QUAD $0x00000140249c8b4c // mov r11, qword [rsp + 320] + QUAD $0x0c1b1a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r11 + 27], 12 + QUAD $0x0d1b325c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r14 + 27], 13 LONG $0x247c8b4c; BYTE $0x58 // mov r15, qword [rsp + 88] QUAD $0x0e1b3a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r15 + 27], 14 QUAD $0x0000009024bc8b48 // mov rdi, qword [rsp + 144] @@ -30969,23 +32241,23 @@ LBB5_166: LONG $0x3a7cb60f; BYTE $0x1c // movzx edi, byte [rdx + rdi + 28] LONG $0xc76ef9c5 // vmovd xmm0, edi QUAD $0x011c1a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rbx + 28], 1 - QUAD $0x000000c824948b4c // mov r10, qword [rsp + 200] - QUAD $0x021c12442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r10 + 28], 2 + QUAD $0x000000e0248c8b4c // mov r9, qword [rsp + 224] + QUAD $0x021c0a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r9 + 28], 2 QUAD $0x000000f824bc8b48 // mov rdi, qword [rsp + 248] QUAD $0x031c3a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rdi + 28], 3 - QUAD $0x0000010024b48b4c // mov r14, qword [rsp + 256] - QUAD $0x041c32442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r14 + 28], 4 - LONG $0x247c8b48; BYTE $0x70 // mov rdi, qword [rsp + 112] + QUAD $0x0000010024948b4c // mov r10, qword [rsp + 256] + QUAD $0x041c12442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r10 + 28], 4 + LONG $0x247c8b48; BYTE $0x68 // mov rdi, qword [rsp + 104] QUAD $0x051c3a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rdi + 28], 5 QUAD $0x0000008024bc8b48 // mov rdi, qword [rsp + 128] QUAD $0x061c3a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rdi + 28], 6 - LONG $0x247c8b48; BYTE $0x40 // mov rdi, qword [rsp + 64] + LONG $0x247c8b48; BYTE $0x70 // mov rdi, qword [rsp + 112] QUAD $0x071c3a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rdi + 28], 7 - QUAD $0x000000b824848b4c // mov r8, qword [rsp + 184] + QUAD $0x000000c824848b4c // mov r8, qword [rsp + 200] QUAD $0x081c02442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r8 + 28], 8 QUAD $0x091c22442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r12 + 28], 9 - QUAD $0x000000b024bc8b48 // mov rdi, qword [rsp + 176] - QUAD $0x0a1c3a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rdi + 28], 10 + QUAD $0x000000d024b48b4c // mov r14, qword [rsp + 208] + QUAD $0x0a1c32442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r14 + 28], 10 LONG $0x247c8b48; BYTE $0x60 // mov rdi, qword [rsp + 96] QUAD $0x0b1c3a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rdi + 28], 11 QUAD $0x0000008824a48b4c // mov r12, qword [rsp + 136] @@ -31000,50 +32272,49 @@ LBB5_166: LONG $0xcf6ef9c5 // vmovd xmm1, edi QUAD $0x000000e824b48b48 // mov rsi, qword [rsp + 232] QUAD $0x011c324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 28], 1 - QUAD $0x000000e024b48b48 // mov rsi, qword [rsp + 224] - QUAD $0x021c324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 28], 2 QUAD $0x000000d824b48b48 // mov rsi, qword [rsp + 216] + QUAD $0x021c324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 28], 2 + QUAD $0x000000a024b48b48 // mov rsi, qword [rsp + 160] QUAD $0x031c324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 28], 3 - QUAD $0x0000014024bc8b48 // mov rdi, qword [rsp + 320] + LONG $0x247c8b48; BYTE $0x20 // mov rdi, qword [rsp + 32] QUAD $0x041c3a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 28], 4 - LONG $0x247c8b48; BYTE $0x38 // mov rdi, qword [rsp + 56] + LONG $0x247c8b48; BYTE $0x48 // mov rdi, qword [rsp + 72] QUAD $0x051c3a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 28], 5 - QUAD $0x000000a8249c8b48 // mov rbx, qword [rsp + 168] + QUAD $0x000000b0249c8b48 // mov rbx, qword [rsp + 176] QUAD $0x061c1a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rbx + 28], 6 - QUAD $0x000000a024bc8b48 // mov rdi, qword [rsp + 160] + QUAD $0x000000a824bc8b48 // mov rdi, qword [rsp + 168] QUAD $0x071c3a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 28], 7 QUAD $0x0000012024bc8b48 // mov rdi, qword [rsp + 288] QUAD $0x081c3a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 28], 8 QUAD $0x091c024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 28], 9 - LONG $0x24448b48; BYTE $0x68 // mov rax, qword [rsp + 104] + LONG $0x24448b48; BYTE $0x38 // mov rax, qword [rsp + 56] QUAD $0x0a1c024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 28], 10 QUAD $0x0b1c0a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 28], 11 - QUAD $0x0c1c0a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r9 + 28], 12 - WORD $0x894c; BYTE $0xd9 // mov rcx, r11 - QUAD $0x0d1c1a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r11 + 28], 13 + QUAD $0x0c1c1a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r11 + 28], 12 + LONG $0x244c8b48; BYTE $0x28 // mov rcx, qword [rsp + 40] + QUAD $0x0d1c0a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 28], 13 QUAD $0x0e1c3a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r15 + 28], 14 QUAD $0x00000090249c8b4c // mov r11, qword [rsp + 144] QUAD $0x0f1c1a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r11 + 28], 15 QUAD $0x000000f024848b48 // mov rax, qword [rsp + 240] LONG $0x027cb60f; BYTE $0x1d // movzx edi, byte [rdx + rax + 29] LONG $0xd76ef9c5 // vmovd xmm2, edi - QUAD $0x000000d0248c8b4c // mov r9, qword [rsp + 208] - QUAD $0x011d0a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r9 + 29], 1 - QUAD $0x021d12542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r10 + 29], 2 + QUAD $0x000000b824bc8b48 // mov rdi, qword [rsp + 184] + QUAD $0x011d3a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 29], 1 + QUAD $0x021d0a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r9 + 29], 2 QUAD $0x000000f824bc8b48 // mov rdi, qword [rsp + 248] QUAD $0x031d3a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 29], 3 - QUAD $0x041d32542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r14 + 29], 4 - LONG $0x24548b4c; BYTE $0x70 // mov r10, qword [rsp + 112] + QUAD $0x041d12542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r10 + 29], 4 + LONG $0x24548b4c; BYTE $0x68 // mov r10, qword [rsp + 104] QUAD $0x051d12542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r10 + 29], 5 QUAD $0x0000008024bc8b48 // mov rdi, qword [rsp + 128] QUAD $0x061d3a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 29], 6 - LONG $0x247c8b48; BYTE $0x40 // mov rdi, qword [rsp + 64] - QUAD $0x071d3a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 29], 7 + LONG $0x244c8b4c; BYTE $0x70 // mov r9, qword [rsp + 112] + QUAD $0x071d0a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r9 + 29], 7 QUAD $0x081d02542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r8 + 29], 8 QUAD $0x0000009824bc8b48 // mov rdi, qword [rsp + 152] QUAD $0x091d3a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 29], 9 - QUAD $0x000000b024bc8b48 // mov rdi, qword [rsp + 176] - QUAD $0x0a1d3a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 29], 10 + QUAD $0x0a1d32542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r14 + 29], 10 LONG $0x247c8b48; BYTE $0x60 // mov rdi, qword [rsp + 96] QUAD $0x0b1d3a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 29], 11 QUAD $0x0c1d22542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r12 + 29], 12 @@ -31057,25 +32328,25 @@ LBB5_166: LONG $0xdf6ef9c5 // vmovd xmm3, edi QUAD $0x000000e824bc8b48 // mov rdi, qword [rsp + 232] QUAD $0x011d3a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 29], 1 - QUAD $0x000000e024ac8b4c // mov r13, qword [rsp + 224] + QUAD $0x000000d824ac8b4c // mov r13, qword [rsp + 216] QUAD $0x021d2a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r13 + 29], 2 QUAD $0x031d325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 29], 3 - QUAD $0x0000014024b48b48 // mov rsi, qword [rsp + 320] + LONG $0x24748b48; BYTE $0x20 // mov rsi, qword [rsp + 32] QUAD $0x041d325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 29], 4 - LONG $0x24648b4c; BYTE $0x38 // mov r12, qword [rsp + 56] + LONG $0x24648b4c; BYTE $0x48 // mov r12, qword [rsp + 72] QUAD $0x051d225c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r12 + 29], 5 QUAD $0x061d1a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 29], 6 - QUAD $0x000000a024b48b48 // mov rsi, qword [rsp + 160] + QUAD $0x000000a824b48b48 // mov rsi, qword [rsp + 168] QUAD $0x071d325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 29], 7 QUAD $0x0000012024bc8b48 // mov rdi, qword [rsp + 288] QUAD $0x081d3a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 29], 8 - LONG $0x247c8b48; BYTE $0x30 // mov rdi, qword [rsp + 48] + LONG $0x247c8b48; BYTE $0x40 // mov rdi, qword [rsp + 64] QUAD $0x091d3a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 29], 9 - LONG $0x247c8b48; BYTE $0x68 // mov rdi, qword [rsp + 104] + LONG $0x247c8b48; BYTE $0x38 // mov rdi, qword [rsp + 56] QUAD $0x0a1d3a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 29], 10 - LONG $0x247c8b48; BYTE $0x48 // mov rdi, qword [rsp + 72] + LONG $0x247c8b48; BYTE $0x30 // mov rdi, qword [rsp + 48] QUAD $0x0b1d3a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 29], 11 - LONG $0x245c8b48; BYTE $0x20 // mov rbx, qword [rsp + 32] + QUAD $0x00000140249c8b48 // mov rbx, qword [rsp + 320] QUAD $0x0c1d1a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 29], 12 QUAD $0x0d1d0a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 29], 13 QUAD $0x0e1d3a642061a3c4 // vpinsrb xmm4, xmm3, byte [rdx + r15 + 29], 14 @@ -31086,11 +32357,12 @@ LBB5_166: QUAD $0x0002c024847ffdc5; BYTE $0x00 // vmovdqa yword [rsp + 704], ymm0 LONG $0x027cb60f; BYTE $0x1e // movzx edi, byte [rdx + rax + 30] LONG $0xc76ef9c5 // vmovd xmm0, edi - QUAD $0x011e0a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r9 + 30], 1 + QUAD $0x000000b824bc8b4c // mov r15, qword [rsp + 184] + QUAD $0x011e3a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r15 + 30], 1 LONG $0x027cb60f; BYTE $0x1f // movzx edi, byte [rdx + rax + 31] LONG $0xcf6ef9c5 // vmovd xmm1, edi - QUAD $0x011f0a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r9 + 31], 1 - QUAD $0x000000c824848b48 // mov rax, qword [rsp + 200] + QUAD $0x011f3a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r15 + 31], 1 + QUAD $0x000000e024848b48 // mov rax, qword [rsp + 224] QUAD $0x021e02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 30], 2 QUAD $0x021f024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 31], 2 QUAD $0x000000f824848b48 // mov rax, qword [rsp + 248] @@ -31105,17 +32377,16 @@ LBB5_166: QUAD $0x0000008024848b48 // mov rax, qword [rsp + 128] QUAD $0x061e02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 30], 6 QUAD $0x061f024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 31], 6 - LONG $0x24448b48; BYTE $0x40 // mov rax, qword [rsp + 64] - QUAD $0x071e02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 30], 7 - QUAD $0x071f024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 31], 7 - QUAD $0x0000011024bc8b4c // mov r15, qword [rsp + 272] - QUAD $0x000000b824848b48 // mov rax, qword [rsp + 184] + QUAD $0x071e0a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r9 + 30], 7 + QUAD $0x071f0a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r9 + 31], 7 + QUAD $0x00000110248c8b4c // mov r9, qword [rsp + 272] + QUAD $0x000000c824848b48 // mov rax, qword [rsp + 200] QUAD $0x081e02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 30], 8 QUAD $0x081f024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 31], 8 QUAD $0x0000009824848b48 // mov rax, qword [rsp + 152] QUAD $0x091e02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 30], 9 QUAD $0x091f024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 31], 9 - QUAD $0x000000b024848b48 // mov rax, qword [rsp + 176] + QUAD $0x000000d024848b48 // mov rax, qword [rsp + 208] QUAD $0x0a1e02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 30], 10 QUAD $0x0a1f024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 31], 10 LONG $0x24448b48; BYTE $0x60 // mov rax, qword [rsp + 96] @@ -31141,15 +32412,15 @@ LBB5_166: QUAD $0x011f127c2041a3c4 // vpinsrb xmm7, xmm7, byte [rdx + r10 + 31], 1 QUAD $0x021e2a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r13 + 30], 2 QUAD $0x021f2a7c2041a3c4 // vpinsrb xmm7, xmm7, byte [rdx + r13 + 31], 2 - QUAD $0x000000d824848b48 // mov rax, qword [rsp + 216] + QUAD $0x000000a024848b48 // mov rax, qword [rsp + 160] QUAD $0x031e024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 30], 3 QUAD $0x031f027c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rax + 31], 3 - QUAD $0x0000014024848b48 // mov rax, qword [rsp + 320] + LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] QUAD $0x041e024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 30], 4 QUAD $0x041f027c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rax + 31], 4 QUAD $0x051e224c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r12 + 30], 5 QUAD $0x051f227c2041a3c4 // vpinsrb xmm7, xmm7, byte [rdx + r12 + 31], 5 - QUAD $0x000000a824848b48 // mov rax, qword [rsp + 168] + QUAD $0x000000b024848b48 // mov rax, qword [rsp + 176] QUAD $0x061e024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 30], 6 QUAD $0x061f027c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rax + 31], 6 QUAD $0x071e324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 30], 7 @@ -31157,13 +32428,13 @@ LBB5_166: QUAD $0x0000012024848b48 // mov rax, qword [rsp + 288] QUAD $0x081e024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 30], 8 QUAD $0x081f027c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rax + 31], 8 - LONG $0x24448b48; BYTE $0x30 // mov rax, qword [rsp + 48] + LONG $0x24448b48; BYTE $0x40 // mov rax, qword [rsp + 64] QUAD $0x091e024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 30], 9 QUAD $0x091f027c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rax + 31], 9 - LONG $0x24448b48; BYTE $0x68 // mov rax, qword [rsp + 104] + LONG $0x24448b48; BYTE $0x38 // mov rax, qword [rsp + 56] QUAD $0x0a1e024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 30], 10 QUAD $0x0a1f027c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rax + 31], 10 - LONG $0x24448b48; BYTE $0x48 // mov rax, qword [rsp + 72] + LONG $0x24448b48; BYTE $0x30 // mov rax, qword [rsp + 48] QUAD $0x0b1e024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 30], 11 QUAD $0x0b1f027c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rax + 31], 11 WORD $0x8948; BYTE $0xd8 // mov rax, rbx @@ -31297,10 +32568,10 @@ LBB5_166: LONG $0x3865e3c4; WORD $0x01e0 // vinserti128 ymm4, ymm3, xmm0, 1 LONG $0x4665e3c4; WORD $0x31c0 // vperm2i128 ymm0, ymm3, ymm0, 49 QUAD $0x00000198248c8b48 // mov rcx, qword [rsp + 408] - LONG $0x7f7ec1c4; WORD $0x8f44; BYTE $0x60 // vmovdqu yword [r15 + 4*rcx + 96], ymm0 - LONG $0x7f7ec1c4; WORD $0x8f54; BYTE $0x40 // vmovdqu yword [r15 + 4*rcx + 64], ymm2 - LONG $0x7f7ec1c4; WORD $0x8f64; BYTE $0x20 // vmovdqu yword [r15 + 4*rcx + 32], ymm4 - LONG $0x7f7ec1c4; WORD $0x8f0c // vmovdqu yword [r15 + 4*rcx], ymm1 + LONG $0x7f7ec1c4; WORD $0x8944; BYTE $0x60 // vmovdqu yword [r9 + 4*rcx + 96], ymm0 + LONG $0x7f7ec1c4; WORD $0x8954; BYTE $0x40 // vmovdqu yword [r9 + 4*rcx + 64], ymm2 + LONG $0x7f7ec1c4; WORD $0x8964; BYTE $0x20 // vmovdqu yword [r9 + 4*rcx + 32], ymm4 + LONG $0x7f7ec1c4; WORD $0x890c // vmovdqu yword [r9 + 4*rcx], ymm1 LONG $0x20c18348 // add rcx, 32 WORD $0x8948; BYTE $0xce // mov rsi, rcx QUAD $0x00000178248c3b48 // cmp rcx, qword [rsp + 376] @@ -31312,7 +32583,7 @@ LBB5_166: QUAD $0x0000018824948b48 // mov rdx, qword [rsp + 392] QUAD $0x0000011824948b4c // mov r10, qword [rsp + 280] JNE LBB5_43 - JMP LBB5_129 + JMP LBB5_46 LBB5_168: LONG $0xe0e68349 // and r14, -32 @@ -31321,13 +32592,14 @@ LBB5_168: WORD $0x0148; BYTE $0xd0 // add rax, rdx QUAD $0x0000018824848948 // mov qword [rsp + 392], rax QUAD $0x0000017824b4894c // mov qword [rsp + 376], r14 - LONG $0xb7048d4b // lea rax, [r15 + 4*r14] + QUAD $0x00000000b5048d4a // lea rax, [4*r14] + WORD $0x014c; BYTE $0xe8 // add rax, r13 QUAD $0x0000019024848948 // mov qword [rsp + 400], rax LONG $0x6e79c1c4; BYTE $0xc3 // vmovd xmm0, r11d LONG $0x787de2c4; BYTE $0xc0 // vpbroadcastb ymm0, xmm0 QUAD $0x00020024847ffdc5; BYTE $0x00 // vmovdqa yword [rsp + 512], ymm0 WORD $0xdb31 // xor ebx, ebx - QUAD $0x0000011024bc894c // mov qword [rsp + 272], r15 + QUAD $0x0000011024ac894c // mov qword [rsp + 272], r13 LBB5_169: QUAD $0x00000198249c8948 // mov qword [rsp + 408], rbx @@ -31337,7 +32609,7 @@ LBB5_169: QUAD $0x000000e024848948 // mov qword [rsp + 224], rax WORD $0x8948; BYTE $0xd8 // mov rax, rbx LONG $0x40c88348 // or rax, 64 - QUAD $0x000000d824848948 // mov qword [rsp + 216], rax + QUAD $0x000000c824848948 // mov qword [rsp + 200], rax WORD $0x8948; BYTE $0xd8 // mov rax, rbx LONG $0x60c88348 // or rax, 96 QUAD $0x0000008824848948 // mov qword [rsp + 136], rax @@ -31349,13 +32621,13 @@ LBB5_169: LONG $0x24448948; BYTE $0x48 // mov qword [rsp + 72], rax WORD $0x8948; BYTE $0xd8 // mov rax, rbx LONG $0x00c00d48; WORD $0x0000 // or rax, 192 - QUAD $0x000000d024848948 // mov qword [rsp + 208], rax + QUAD $0x0000009824848948 // mov qword [rsp + 152], rax WORD $0x8948; BYTE $0xd8 // mov rax, rbx LONG $0x00e00d48; WORD $0x0000 // or rax, 224 QUAD $0x0000009024848948 // mov qword [rsp + 144], rax WORD $0x8948; BYTE $0xd8 // mov rax, rbx LONG $0x01000d48; WORD $0x0000 // or rax, 256 - QUAD $0x000000b824848948 // mov qword [rsp + 184], rax + QUAD $0x000000d024848948 // mov qword [rsp + 208], rax WORD $0x8948; BYTE $0xd8 // mov rax, rbx LONG $0x01200d48; WORD $0x0000 // or rax, 288 QUAD $0x0000010824848948 // mov qword [rsp + 264], rax @@ -31394,7 +32666,7 @@ LBB5_169: LONG $0x1a44b60f; BYTE $0x05 // movzx eax, byte [rdx + rbx + 5] LONG $0xf06ef9c5 // vmovd xmm6, eax LONG $0x0a44b60f; BYTE $0x06 // movzx eax, byte [rdx + rcx + 6] - QUAD $0x000000f0248c8948 // mov qword [rsp + 240], rcx + QUAD $0x000000d8248c8948 // mov qword [rsp + 216], rcx LONG $0xe06e79c5 // vmovd xmm12, eax LONG $0x1a44b60f; BYTE $0x06 // movzx eax, byte [rdx + rbx + 6] LONG $0xf86ef9c5 // vmovd xmm7, eax @@ -31404,7 +32676,7 @@ LBB5_169: LONG $0xc86ef9c5 // vmovd xmm1, eax WORD $0x8948; BYTE $0xd8 // mov rax, rbx LONG $0x01600d48; WORD $0x0000 // or rax, 352 - LONG $0x24448948; BYTE $0x28 // mov qword [rsp + 40], rax + LONG $0x24448948; BYTE $0x38 // mov qword [rsp + 56], rax WORD $0x8948; BYTE $0xd8 // mov rax, rbx LONG $0x01800d48; WORD $0x0000 // or rax, 384 LONG $0x24448948; BYTE $0x20 // mov qword [rsp + 32], rax @@ -31413,7 +32685,7 @@ LBB5_169: QUAD $0x0000014024848948 // mov qword [rsp + 320], rax WORD $0x8948; BYTE $0xd8 // mov rax, rbx LONG $0x01c00d48; WORD $0x0000 // or rax, 448 - LONG $0x24448948; BYTE $0x30 // mov qword [rsp + 48], rax + LONG $0x24448948; BYTE $0x28 // mov qword [rsp + 40], rax WORD $0x8948; BYTE $0xd8 // mov rax, rbx LONG $0x01e00d48; WORD $0x0000 // or rax, 480 QUAD $0x0000012024848948 // mov qword [rsp + 288], rax @@ -31422,11 +32694,11 @@ LBB5_169: QUAD $0x0000008024b4894c // mov qword [rsp + 128], r14 WORD $0x8948; BYTE $0xd9 // mov rcx, rbx LONG $0x40c98148; WORD $0x0002; BYTE $0x00 // or rcx, 576 - QUAD $0x000000b0248c8948 // mov qword [rsp + 176], rcx + QUAD $0x000000b8248c8948 // mov qword [rsp + 184], rcx WORD $0x8948; BYTE $0xd8 // mov rax, rbx LONG $0x02600d48; WORD $0x0000 // or rax, 608 WORD $0x8949; BYTE $0xc5 // mov r13, rax - QUAD $0x000000c824848948 // mov qword [rsp + 200], rax + QUAD $0x000000f024848948 // mov qword [rsp + 240], rax WORD $0x8948; BYTE $0xd8 // mov rax, rbx LONG $0x02800d48; WORD $0x0000 // or rax, 640 QUAD $0x000000a024848948 // mov qword [rsp + 160], rax @@ -31438,13 +32710,13 @@ LBB5_169: QUAD $0x000000e8248c894c // mov qword [rsp + 232], r9 WORD $0x8949; BYTE $0xdb // mov r11, rbx LONG $0xe0cb8149; WORD $0x0002; BYTE $0x00 // or r11, 736 - LONG $0x245c894c; BYTE $0x60 // mov qword [rsp + 96], r11 + LONG $0x245c894c; BYTE $0x68 // mov qword [rsp + 104], r11 WORD $0x8949; BYTE $0xdc // mov r12, rbx LONG $0x00cc8149; WORD $0x0003; BYTE $0x00 // or r12, 768 LONG $0x2464894c; BYTE $0x70 // mov qword [rsp + 112], r12 WORD $0x8949; BYTE $0xd8 // mov r8, rbx LONG $0x20c88149; WORD $0x0003; BYTE $0x00 // or r8, 800 - LONG $0x2444894c; BYTE $0x38 // mov qword [rsp + 56], r8 + LONG $0x2444894c; BYTE $0x30 // mov qword [rsp + 48], r8 WORD $0x8949; BYTE $0xdf // mov r15, rbx LONG $0x40cf8149; WORD $0x0003; BYTE $0x00 // or r15, 832 LONG $0x247c894c; BYTE $0x78 // mov qword [rsp + 120], r15 @@ -31454,7 +32726,7 @@ LBB5_169: WORD $0x8948; BYTE $0xd8 // mov rax, rbx LONG $0x03800d48; WORD $0x0000 // or rax, 896 WORD $0x8948; BYTE $0xc7 // mov rdi, rax - LONG $0x24448948; BYTE $0x68 // mov qword [rsp + 104], rax + LONG $0x24448948; BYTE $0x60 // mov qword [rsp + 96], rax WORD $0x8948; BYTE $0xd8 // mov rax, rbx LONG $0x03a00d48; WORD $0x0000 // or rax, 928 WORD $0x8948; BYTE $0xc6 // mov rsi, rax @@ -31481,10 +32753,10 @@ LBB5_169: LONG $0x2079e3c4; WORD $0x0204; BYTE $0x0e // vpinsrb xmm0, xmm0, byte [rdx + rax], 14 LONG $0x2079e3c4; WORD $0x1a04; BYTE $0x0f // vpinsrb xmm0, xmm0, byte [rdx + rbx], 15 WORD $0x8949; BYTE $0xdc // mov r12, rbx - QUAD $0x00000098249c8948 // mov qword [rsp + 152], rbx + QUAD $0x000000b0249c8948 // mov qword [rsp + 176], rbx QUAD $0x000000e0249c8b4c // mov r11, qword [rsp + 224] LONG $0x2061a3c4; WORD $0x1a1c; BYTE $0x01 // vpinsrb xmm3, xmm3, byte [rdx + r11], 1 - QUAD $0x000000d824848b48 // mov rax, qword [rsp + 216] + QUAD $0x000000c824848b48 // mov rax, qword [rsp + 200] LONG $0x2061e3c4; WORD $0x021c; BYTE $0x02 // vpinsrb xmm3, xmm3, byte [rdx + rax], 2 QUAD $0x0000008824848b48 // mov rax, qword [rsp + 136] LONG $0x2061e3c4; WORD $0x021c; BYTE $0x03 // vpinsrb xmm3, xmm3, byte [rdx + rax], 3 @@ -31492,47 +32764,47 @@ LBB5_169: LONG $0x2061a3c4; WORD $0x021c; BYTE $0x04 // vpinsrb xmm3, xmm3, byte [rdx + r8], 4 LONG $0x244c8b4c; BYTE $0x48 // mov r9, qword [rsp + 72] LONG $0x2061a3c4; WORD $0x0a1c; BYTE $0x05 // vpinsrb xmm3, xmm3, byte [rdx + r9], 5 - QUAD $0x000000d024848b48 // mov rax, qword [rsp + 208] + QUAD $0x0000009824848b48 // mov rax, qword [rsp + 152] LONG $0x2061e3c4; WORD $0x021c; BYTE $0x06 // vpinsrb xmm3, xmm3, byte [rdx + rax], 6 QUAD $0x0000009024b48b48 // mov rsi, qword [rsp + 144] LONG $0x2061e3c4; WORD $0x321c; BYTE $0x07 // vpinsrb xmm3, xmm3, byte [rdx + rsi], 7 - QUAD $0x000000b824bc8b4c // mov r15, qword [rsp + 184] + QUAD $0x000000d024bc8b4c // mov r15, qword [rsp + 208] LONG $0x2061a3c4; WORD $0x3a1c; BYTE $0x08 // vpinsrb xmm3, xmm3, byte [rdx + r15], 8 QUAD $0x0000010824bc8b48 // mov rdi, qword [rsp + 264] LONG $0x2061e3c4; WORD $0x3a1c; BYTE $0x09 // vpinsrb xmm3, xmm3, byte [rdx + rdi], 9 LONG $0x24448b48; BYTE $0x40 // mov rax, qword [rsp + 64] LONG $0x2061e3c4; WORD $0x021c; BYTE $0x0a // vpinsrb xmm3, xmm3, byte [rdx + rax], 10 - LONG $0x245c8b48; BYTE $0x28 // mov rbx, qword [rsp + 40] + LONG $0x245c8b48; BYTE $0x38 // mov rbx, qword [rsp + 56] LONG $0x2061e3c4; WORD $0x1a1c; BYTE $0x0b // vpinsrb xmm3, xmm3, byte [rdx + rbx], 11 LONG $0x245c8b48; BYTE $0x20 // mov rbx, qword [rsp + 32] LONG $0x2061e3c4; WORD $0x1a1c; BYTE $0x0c // vpinsrb xmm3, xmm3, byte [rdx + rbx], 12 QUAD $0x00000140249c8b48 // mov rbx, qword [rsp + 320] LONG $0x2061e3c4; WORD $0x1a1c; BYTE $0x0d // vpinsrb xmm3, xmm3, byte [rdx + rbx], 13 - LONG $0x245c8b48; BYTE $0x30 // mov rbx, qword [rsp + 48] + LONG $0x245c8b48; BYTE $0x28 // mov rbx, qword [rsp + 40] LONG $0x2061e3c4; WORD $0x1a1c; BYTE $0x0e // vpinsrb xmm3, xmm3, byte [rdx + rbx], 14 QUAD $0x0000012024b48b4c // mov r14, qword [rsp + 288] LONG $0x2061a3c4; WORD $0x321c; BYTE $0x0f // vpinsrb xmm3, xmm3, byte [rdx + r14], 15 QUAD $0x00000080249c8b48 // mov rbx, qword [rsp + 128] QUAD $0x01011a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rbx + 1], 1 - QUAD $0x000000b0249c8b48 // mov rbx, qword [rsp + 176] + QUAD $0x000000b8249c8b48 // mov rbx, qword [rsp + 184] QUAD $0x02011a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rbx + 1], 2 - QUAD $0x000000c824ac8b4c // mov r13, qword [rsp + 200] + QUAD $0x000000f024ac8b4c // mov r13, qword [rsp + 240] QUAD $0x03012a642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r13 + 1], 3 QUAD $0x04010a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rcx + 1], 4 QUAD $0x000000f8248c8b48 // mov rcx, qword [rsp + 248] QUAD $0x05010a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rcx + 1], 5 QUAD $0x000000e8248c8b48 // mov rcx, qword [rsp + 232] QUAD $0x06010a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rcx + 1], 6 - LONG $0x244c8b48; BYTE $0x60 // mov rcx, qword [rsp + 96] + LONG $0x244c8b48; BYTE $0x68 // mov rcx, qword [rsp + 104] QUAD $0x07010a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rcx + 1], 7 LONG $0x244c8b48; BYTE $0x70 // mov rcx, qword [rsp + 112] QUAD $0x08010a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rcx + 1], 8 - LONG $0x244c8b48; BYTE $0x38 // mov rcx, qword [rsp + 56] + LONG $0x244c8b48; BYTE $0x30 // mov rcx, qword [rsp + 48] QUAD $0x09010a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rcx + 1], 9 LONG $0x244c8b48; BYTE $0x78 // mov rcx, qword [rsp + 120] QUAD $0x0a010a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rcx + 1], 10 QUAD $0x0b0112642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r10 + 1], 11 - LONG $0x245c8b48; BYTE $0x68 // mov rbx, qword [rsp + 104] + LONG $0x245c8b48; BYTE $0x60 // mov rbx, qword [rsp + 96] QUAD $0x0c011a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rbx + 1], 12 QUAD $0x000000a824948b4c // mov r10, qword [rsp + 168] QUAD $0x0d0112642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r10 + 1], 13 @@ -31540,30 +32812,30 @@ LBB5_169: QUAD $0x0e010a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rcx + 1], 14 QUAD $0x0f0122642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r12 + 1], 15 QUAD $0x01011a6c2029a3c4 // vpinsrb xmm5, xmm10, byte [rdx + r11 + 1], 1 - QUAD $0x000000d8248c8b48 // mov rcx, qword [rsp + 216] + QUAD $0x000000c8248c8b48 // mov rcx, qword [rsp + 200] QUAD $0x02010a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rcx + 1], 2 QUAD $0x0000008824a48b4c // mov r12, qword [rsp + 136] QUAD $0x0301226c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r12 + 1], 3 QUAD $0x0401026c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r8 + 1], 4 QUAD $0x05010a6c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r9 + 1], 5 - QUAD $0x000000d0248c8b48 // mov rcx, qword [rsp + 208] + QUAD $0x00000098248c8b48 // mov rcx, qword [rsp + 152] QUAD $0x06010a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rcx + 1], 6 QUAD $0x0701326c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rsi + 1], 7 QUAD $0x08013a6c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r15 + 1], 8 QUAD $0x09013a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rdi + 1], 9 WORD $0x8949; BYTE $0xfd // mov r13, rdi QUAD $0x0a01026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 1], 10 - LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] + LONG $0x24448b48; BYTE $0x38 // mov rax, qword [rsp + 56] QUAD $0x0b01026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 1], 11 LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] QUAD $0x0c01026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 1], 12 QUAD $0x0000014024848b48 // mov rax, qword [rsp + 320] QUAD $0x0d01026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 1], 13 - LONG $0x24448b48; BYTE $0x30 // mov rax, qword [rsp + 48] + LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] QUAD $0x0e01026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 1], 14 LONG $0x386563c4; WORD $0x01e8 // vinserti128 ymm13, ymm3, xmm0, 1 QUAD $0x0f0132442051a3c4 // vpinsrb xmm0, xmm5, byte [rdx + r14 + 1], 15 - QUAD $0x000000f024848b48 // mov rax, qword [rsp + 240] + QUAD $0x000000d824848b48 // mov rax, qword [rsp + 216] LONG $0x027cb60f; BYTE $0x08 // movzx edi, byte [rdx + rax + 8] LONG $0xcf6e79c5 // vmovd xmm9, edi LONG $0x387de3c4; WORD $0x01c4 // vinserti128 ymm0, ymm0, xmm4, 1 @@ -31574,9 +32846,9 @@ LBB5_169: QUAD $0x0001e024846ff9c5; BYTE $0x00 // vmovdqa xmm0, oword [rsp + 480] QUAD $0x0000008024bc8b4c // mov r15, qword [rsp + 128] QUAD $0x01023a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r15 + 2], 1 - QUAD $0x000000b024848b48 // mov rax, qword [rsp + 176] + QUAD $0x000000b824848b48 // mov rax, qword [rsp + 184] QUAD $0x020202442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 2], 2 - QUAD $0x000000c824848b48 // mov rax, qword [rsp + 200] + QUAD $0x000000f024848b48 // mov rax, qword [rsp + 240] QUAD $0x030202442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 2], 3 QUAD $0x000000a024848b48 // mov rax, qword [rsp + 160] QUAD $0x040202442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 2], 4 @@ -31584,11 +32856,11 @@ LBB5_169: QUAD $0x050202442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 2], 5 QUAD $0x000000e824848b4c // mov r8, qword [rsp + 232] QUAD $0x060202442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r8 + 2], 6 - LONG $0x244c8b4c; BYTE $0x60 // mov r9, qword [rsp + 96] + LONG $0x244c8b4c; BYTE $0x68 // mov r9, qword [rsp + 104] QUAD $0x07020a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r9 + 2], 7 LONG $0x245c8b4c; BYTE $0x70 // mov r11, qword [rsp + 112] QUAD $0x08021a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r11 + 2], 8 - LONG $0x24448b48; BYTE $0x38 // mov rax, qword [rsp + 56] + LONG $0x24448b48; BYTE $0x30 // mov rax, qword [rsp + 48] QUAD $0x090202442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 2], 9 LONG $0x24448b48; BYTE $0x78 // mov rax, qword [rsp + 120] QUAD $0x0a0202442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 2], 10 @@ -31598,12 +32870,12 @@ LBB5_169: QUAD $0x0d0212442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r10 + 2], 13 LONG $0x24448b48; BYTE $0x50 // mov rax, qword [rsp + 80] QUAD $0x0e0202442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 2], 14 - QUAD $0x0000009824848b48 // mov rax, qword [rsp + 152] + QUAD $0x000000b024848b48 // mov rax, qword [rsp + 176] QUAD $0x0f0202442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 2], 15 QUAD $0x000000e024948b4c // mov r10, qword [rsp + 224] QUAD $0x0001c0249c6ff9c5; BYTE $0x00 // vmovdqa xmm3, oword [rsp + 448] QUAD $0x0102125c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r10 + 2], 1 - QUAD $0x000000d824848b48 // mov rax, qword [rsp + 216] + QUAD $0x000000c824848b48 // mov rax, qword [rsp + 200] QUAD $0x0202025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 2], 2 QUAD $0x0302225c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r12 + 2], 3 QUAD $0x000000c024b48b4c // mov r14, qword [rsp + 192] @@ -31612,26 +32884,26 @@ LBB5_169: QUAD $0x0502225c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r12 + 2], 5 QUAD $0x06020a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 2], 6 QUAD $0x0702325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 2], 7 - QUAD $0x000000b824bc8b48 // mov rdi, qword [rsp + 184] + QUAD $0x000000d024bc8b48 // mov rdi, qword [rsp + 208] QUAD $0x08023a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 2], 8 WORD $0x894c; BYTE $0xe9 // mov rcx, r13 QUAD $0x09022a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r13 + 2], 9 LONG $0x24748b48; BYTE $0x40 // mov rsi, qword [rsp + 64] QUAD $0x0a02325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 2], 10 - LONG $0x246c8b4c; BYTE $0x28 // mov r13, qword [rsp + 40] + LONG $0x246c8b4c; BYTE $0x38 // mov r13, qword [rsp + 56] QUAD $0x0b022a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r13 + 2], 11 LONG $0x245c8b48; BYTE $0x20 // mov rbx, qword [rsp + 32] QUAD $0x0c021a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 2], 12 QUAD $0x00000140249c8b48 // mov rbx, qword [rsp + 320] QUAD $0x0d021a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 2], 13 - LONG $0x245c8b48; BYTE $0x30 // mov rbx, qword [rsp + 48] + LONG $0x245c8b48; BYTE $0x28 // mov rbx, qword [rsp + 40] QUAD $0x0e021a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 2], 14 QUAD $0x0000012024ac8b4c // mov r13, qword [rsp + 288] QUAD $0x0f022a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r13 + 2], 15 QUAD $0x01033a642021a3c4 // vpinsrb xmm4, xmm11, byte [rdx + r15 + 3], 1 - QUAD $0x000000b0249c8b48 // mov rbx, qword [rsp + 176] + QUAD $0x000000b8249c8b48 // mov rbx, qword [rsp + 184] QUAD $0x02031a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rbx + 3], 2 - QUAD $0x000000c8249c8b48 // mov rbx, qword [rsp + 200] + QUAD $0x000000f0249c8b48 // mov rbx, qword [rsp + 240] QUAD $0x03031a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rbx + 3], 3 QUAD $0x000000a0249c8b48 // mov rbx, qword [rsp + 160] QUAD $0x04031a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rbx + 3], 4 @@ -31640,19 +32912,19 @@ LBB5_169: QUAD $0x060302642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r8 + 3], 6 QUAD $0x07030a642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r9 + 3], 7 QUAD $0x08031a642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r11 + 3], 8 - LONG $0x244c8b4c; BYTE $0x38 // mov r9, qword [rsp + 56] + LONG $0x244c8b4c; BYTE $0x30 // mov r9, qword [rsp + 48] QUAD $0x09030a642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r9 + 3], 9 LONG $0x245c8b48; BYTE $0x78 // mov rbx, qword [rsp + 120] QUAD $0x0a031a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rbx + 3], 10 LONG $0x245c8b48; BYTE $0x58 // mov rbx, qword [rsp + 88] QUAD $0x0b031a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rbx + 3], 11 - LONG $0x245c8b48; BYTE $0x68 // mov rbx, qword [rsp + 104] + LONG $0x245c8b48; BYTE $0x60 // mov rbx, qword [rsp + 96] QUAD $0x0c031a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rbx + 3], 12 QUAD $0x000000a824ac8b4c // mov r13, qword [rsp + 168] QUAD $0x0d032a642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r13 + 3], 13 LONG $0x245c8b48; BYTE $0x50 // mov rbx, qword [rsp + 80] QUAD $0x0e031a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rbx + 3], 14 - QUAD $0x00000098249c8b48 // mov rbx, qword [rsp + 152] + QUAD $0x000000b0249c8b48 // mov rbx, qword [rsp + 176] QUAD $0x0f031a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rbx + 3], 15 QUAD $0x0103126c2039a3c4 // vpinsrb xmm5, xmm8, byte [rdx + r10 + 3], 1 WORD $0x894c; BYTE $0xd3 // mov rbx, r10 @@ -31661,14 +32933,14 @@ LBB5_169: QUAD $0x0303026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 3], 3 QUAD $0x0403326c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r14 + 3], 4 QUAD $0x0503226c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r12 + 3], 5 - QUAD $0x000000d024848b48 // mov rax, qword [rsp + 208] + QUAD $0x0000009824848b48 // mov rax, qword [rsp + 152] QUAD $0x0603026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 3], 6 QUAD $0x0000009024848b48 // mov rax, qword [rsp + 144] QUAD $0x0703026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 3], 7 QUAD $0x08033a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rdi + 3], 8 QUAD $0x09030a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rcx + 3], 9 QUAD $0x0a03326c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rsi + 3], 10 - LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] + LONG $0x24448b48; BYTE $0x38 // mov rax, qword [rsp + 56] QUAD $0x0b03026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 3], 11 LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] QUAD $0x0c03026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 3], 12 @@ -31676,9 +32948,9 @@ LBB5_169: QUAD $0x0d03026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 3], 13 LONG $0x3865e3c4; WORD $0x01c0 // vinserti128 ymm0, ymm3, xmm0, 1 QUAD $0x0001e024847ffdc5; BYTE $0x00 // vmovdqa yword [rsp + 480], ymm0 - LONG $0x24448b48; BYTE $0x30 // mov rax, qword [rsp + 48] + LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] QUAD $0x0e0302442051e3c4 // vpinsrb xmm0, xmm5, byte [rdx + rax + 3], 14 - QUAD $0x000000f024848b48 // mov rax, qword [rsp + 240] + QUAD $0x000000d824848b48 // mov rax, qword [rsp + 216] LONG $0x027cb60f; BYTE $0x09 // movzx edi, byte [rdx + rax + 9] LONG $0xc76e79c5 // vmovd xmm8, edi QUAD $0x0000012024848b48 // mov rax, qword [rsp + 288] @@ -31690,9 +32962,9 @@ LBB5_169: LONG $0xdf6e79c5 // vmovd xmm11, edi QUAD $0x0001a024846ff9c5; BYTE $0x00 // vmovdqa xmm0, oword [rsp + 416] QUAD $0x01043a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r15 + 4], 1 - QUAD $0x000000b024bc8b4c // mov r15, qword [rsp + 176] + QUAD $0x000000b824bc8b4c // mov r15, qword [rsp + 184] QUAD $0x02043a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r15 + 4], 2 - QUAD $0x000000c824a48b4c // mov r12, qword [rsp + 200] + QUAD $0x000000f024a48b4c // mov r12, qword [rsp + 240] QUAD $0x030422442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r12 + 4], 3 QUAD $0x000000a024b48b48 // mov rsi, qword [rsp + 160] QUAD $0x040432442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 4], 4 @@ -31700,7 +32972,7 @@ LBB5_169: QUAD $0x050402442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r8 + 4], 5 QUAD $0x000000e824848b48 // mov rax, qword [rsp + 232] QUAD $0x060402442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 4], 6 - LONG $0x24448b48; BYTE $0x60 // mov rax, qword [rsp + 96] + LONG $0x24448b48; BYTE $0x68 // mov rax, qword [rsp + 104] QUAD $0x070402442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 4], 7 QUAD $0x08041a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r11 + 4], 8 QUAD $0x09040a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r9 + 4], 9 @@ -31708,37 +32980,37 @@ LBB5_169: QUAD $0x0a0402442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 4], 10 LONG $0x244c8b4c; BYTE $0x58 // mov r9, qword [rsp + 88] QUAD $0x0b040a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r9 + 4], 11 - LONG $0x24448b48; BYTE $0x68 // mov rax, qword [rsp + 104] + LONG $0x24448b48; BYTE $0x60 // mov rax, qword [rsp + 96] QUAD $0x0c0402442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 4], 12 QUAD $0x0d042a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r13 + 4], 13 LONG $0x24448b48; BYTE $0x50 // mov rax, qword [rsp + 80] QUAD $0x0e0402442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 4], 14 - QUAD $0x0000009824948b4c // mov r10, qword [rsp + 152] + QUAD $0x000000b024948b4c // mov r10, qword [rsp + 176] QUAD $0x0f0412442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r10 + 4], 15 QUAD $0x01041a5c2001e3c4 // vpinsrb xmm3, xmm15, byte [rdx + rbx + 4], 1 - QUAD $0x000000d824bc8b48 // mov rdi, qword [rsp + 216] + QUAD $0x000000c824bc8b48 // mov rdi, qword [rsp + 200] QUAD $0x02043a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 4], 2 QUAD $0x0000008824ac8b4c // mov r13, qword [rsp + 136] QUAD $0x03042a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r13 + 4], 3 QUAD $0x0404325c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r14 + 4], 4 LONG $0x24448b48; BYTE $0x48 // mov rax, qword [rsp + 72] QUAD $0x0504025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 4], 5 - QUAD $0x000000d024bc8b48 // mov rdi, qword [rsp + 208] + QUAD $0x0000009824bc8b48 // mov rdi, qword [rsp + 152] QUAD $0x06043a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 4], 6 QUAD $0x0000009024bc8b48 // mov rdi, qword [rsp + 144] QUAD $0x07043a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 4], 7 - QUAD $0x000000b824848b48 // mov rax, qword [rsp + 184] + QUAD $0x000000d024848b48 // mov rax, qword [rsp + 208] QUAD $0x0804025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 4], 8 QUAD $0x09040a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 4], 9 LONG $0x24448b48; BYTE $0x40 // mov rax, qword [rsp + 64] QUAD $0x0a04025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 4], 10 - LONG $0x244c8b48; BYTE $0x28 // mov rcx, qword [rsp + 40] + LONG $0x244c8b48; BYTE $0x38 // mov rcx, qword [rsp + 56] QUAD $0x0b040a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 4], 11 LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] QUAD $0x0c04025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 4], 12 QUAD $0x0000014024848b48 // mov rax, qword [rsp + 320] QUAD $0x0d04025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 4], 13 - LONG $0x24448b48; BYTE $0x30 // mov rax, qword [rsp + 48] + LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] QUAD $0x0e04025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 4], 14 QUAD $0x0000012024848b48 // mov rax, qword [rsp + 288] QUAD $0x0f04025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 4], 15 @@ -31750,15 +33022,15 @@ LBB5_169: QUAD $0x050502642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r8 + 5], 5 QUAD $0x000000e824848b48 // mov rax, qword [rsp + 232] QUAD $0x060502642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rax + 5], 6 - LONG $0x247c8b4c; BYTE $0x60 // mov r15, qword [rsp + 96] + LONG $0x247c8b4c; BYTE $0x68 // mov r15, qword [rsp + 104] QUAD $0x07053a642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r15 + 5], 7 QUAD $0x08051a642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r11 + 5], 8 - LONG $0x24448b48; BYTE $0x38 // mov rax, qword [rsp + 56] + LONG $0x24448b48; BYTE $0x30 // mov rax, qword [rsp + 48] QUAD $0x090502642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rax + 5], 9 LONG $0x24448b48; BYTE $0x78 // mov rax, qword [rsp + 120] QUAD $0x0a0502642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rax + 5], 10 QUAD $0x0b050a642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r9 + 5], 11 - LONG $0x245c8b4c; BYTE $0x68 // mov r11, qword [rsp + 104] + LONG $0x245c8b4c; BYTE $0x60 // mov r11, qword [rsp + 96] QUAD $0x0c051a642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r11 + 5], 12 QUAD $0x000000a824b48b48 // mov rsi, qword [rsp + 168] QUAD $0x0d0532642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rsi + 5], 13 @@ -31766,17 +33038,17 @@ LBB5_169: QUAD $0x0e0502642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rax + 5], 14 QUAD $0x0f0512642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r10 + 5], 15 QUAD $0x01051a6c2049e3c4 // vpinsrb xmm5, xmm6, byte [rdx + rbx + 5], 1 - QUAD $0x000000d824848b48 // mov rax, qword [rsp + 216] + QUAD $0x000000c824848b48 // mov rax, qword [rsp + 200] QUAD $0x0205026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 5], 2 QUAD $0x03052a6c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r13 + 5], 3 QUAD $0x0405326c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r14 + 5], 4 WORD $0x894d; BYTE $0xf1 // mov r9, r14 LONG $0x24448b48; BYTE $0x48 // mov rax, qword [rsp + 72] QUAD $0x0505026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 5], 5 - QUAD $0x000000d024848b48 // mov rax, qword [rsp + 208] + QUAD $0x0000009824848b48 // mov rax, qword [rsp + 152] QUAD $0x0605026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 5], 6 QUAD $0x07053a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rdi + 5], 7 - QUAD $0x000000b824b48b4c // mov r14, qword [rsp + 184] + QUAD $0x000000d024b48b4c // mov r14, qword [rsp + 208] QUAD $0x0805326c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r14 + 5], 8 QUAD $0x0000010824a48b4c // mov r12, qword [rsp + 264] QUAD $0x0905226c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r12 + 5], 9 @@ -31787,12 +33059,12 @@ LBB5_169: QUAD $0x0c05026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 5], 12 QUAD $0x0000014024848b48 // mov rax, qword [rsp + 320] QUAD $0x0d05026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 5], 13 - LONG $0x24448b48; BYTE $0x30 // mov rax, qword [rsp + 48] + LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] QUAD $0x0e05026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 5], 14 LONG $0x386563c4; WORD $0x01f0 // vinserti128 ymm14, ymm3, xmm0, 1 QUAD $0x0000012024848b48 // mov rax, qword [rsp + 288] QUAD $0x0f0502442051e3c4 // vpinsrb xmm0, xmm5, byte [rdx + rax + 5], 15 - QUAD $0x000000f024848b48 // mov rax, qword [rsp + 240] + QUAD $0x000000d824848b48 // mov rax, qword [rsp + 216] LONG $0x027cb60f; BYTE $0x0a // movzx edi, byte [rdx + rax + 10] LONG $0xdf6ef9c5 // vmovd xmm3, edi LONG $0x387d63c4; WORD $0x01fc // vinserti128 ymm15, ymm0, xmm4, 1 @@ -31801,9 +33073,9 @@ LBB5_169: LONG $0xe76ef9c5 // vmovd xmm4, edi QUAD $0x0000008024848b48 // mov rax, qword [rsp + 128] QUAD $0x010602442019e3c4 // vpinsrb xmm0, xmm12, byte [rdx + rax + 6], 1 - QUAD $0x000000b024848b48 // mov rax, qword [rsp + 176] + QUAD $0x000000b824848b48 // mov rax, qword [rsp + 184] QUAD $0x020602442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 6], 2 - QUAD $0x000000c8249c8b48 // mov rbx, qword [rsp + 200] + QUAD $0x000000f0249c8b48 // mov rbx, qword [rsp + 240] QUAD $0x03061a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rbx + 6], 3 QUAD $0x000000a024848b4c // mov r8, qword [rsp + 160] QUAD $0x040602442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r8 + 6], 4 @@ -31814,7 +33086,7 @@ LBB5_169: QUAD $0x07063a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r15 + 6], 7 LONG $0x24448b48; BYTE $0x70 // mov rax, qword [rsp + 112] QUAD $0x080602442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 6], 8 - LONG $0x247c8b4c; BYTE $0x38 // mov r15, qword [rsp + 56] + LONG $0x247c8b4c; BYTE $0x30 // mov r15, qword [rsp + 48] QUAD $0x09063a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r15 + 6], 9 LONG $0x24448b48; BYTE $0x78 // mov rax, qword [rsp + 120] QUAD $0x0a0602442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 6], 10 @@ -31824,18 +33096,18 @@ LBB5_169: QUAD $0x0d0632442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 6], 13 LONG $0x24748b48; BYTE $0x50 // mov rsi, qword [rsp + 80] QUAD $0x0e0632442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 6], 14 - QUAD $0x0000009824ac8b4c // mov r13, qword [rsp + 152] + QUAD $0x000000b024ac8b4c // mov r13, qword [rsp + 176] QUAD $0x0f062a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r13 + 6], 15 QUAD $0x000000e0249c8b4c // mov r11, qword [rsp + 224] QUAD $0x01061a6c2041a3c4 // vpinsrb xmm5, xmm7, byte [rdx + r11 + 6], 1 - QUAD $0x000000d8248c8b48 // mov rcx, qword [rsp + 216] + QUAD $0x000000c8248c8b48 // mov rcx, qword [rsp + 200] QUAD $0x02060a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rcx + 6], 2 QUAD $0x00000088248c8b48 // mov rcx, qword [rsp + 136] QUAD $0x03060a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rcx + 6], 3 QUAD $0x04060a6c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r9 + 6], 4 LONG $0x244c8b48; BYTE $0x48 // mov rcx, qword [rsp + 72] QUAD $0x05060a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rcx + 6], 5 - QUAD $0x000000d024bc8b48 // mov rdi, qword [rsp + 208] + QUAD $0x0000009824bc8b48 // mov rdi, qword [rsp + 152] QUAD $0x06063a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rdi + 6], 6 QUAD $0x00000090248c8b48 // mov rcx, qword [rsp + 144] QUAD $0x07060a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rcx + 6], 7 @@ -31843,26 +33115,26 @@ LBB5_169: QUAD $0x0906226c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r12 + 6], 9 LONG $0x244c8b48; BYTE $0x40 // mov rcx, qword [rsp + 64] QUAD $0x0a060a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rcx + 6], 10 - LONG $0x24748b4c; BYTE $0x28 // mov r14, qword [rsp + 40] + LONG $0x24748b4c; BYTE $0x38 // mov r14, qword [rsp + 56] QUAD $0x0b06326c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r14 + 6], 11 LONG $0x244c8b4c; BYTE $0x20 // mov r9, qword [rsp + 32] QUAD $0x0c060a6c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r9 + 6], 12 QUAD $0x00000140248c8b48 // mov rcx, qword [rsp + 320] QUAD $0x0d060a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rcx + 6], 13 - LONG $0x244c8b48; BYTE $0x30 // mov rcx, qword [rsp + 48] + LONG $0x244c8b48; BYTE $0x28 // mov rcx, qword [rsp + 40] QUAD $0x0e060a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rcx + 6], 14 QUAD $0x0000012024a48b4c // mov r12, qword [rsp + 288] QUAD $0x0f06226c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r12 + 6], 15 QUAD $0x00000080248c8b48 // mov rcx, qword [rsp + 128] QUAD $0x01070a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 7], 1 - QUAD $0x000000b0248c8b48 // mov rcx, qword [rsp + 176] + QUAD $0x000000b8248c8b48 // mov rcx, qword [rsp + 184] QUAD $0x02070a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 7], 2 QUAD $0x03071a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rbx + 7], 3 QUAD $0x040702542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r8 + 7], 4 QUAD $0x050712542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r10 + 7], 5 QUAD $0x000000e824848b4c // mov r8, qword [rsp + 232] QUAD $0x060702542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r8 + 7], 6 - LONG $0x244c8b48; BYTE $0x60 // mov rcx, qword [rsp + 96] + LONG $0x244c8b48; BYTE $0x68 // mov rcx, qword [rsp + 104] QUAD $0x07070a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 7], 7 LONG $0x24548b4c; BYTE $0x70 // mov r10, qword [rsp + 112] QUAD $0x080712542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r10 + 7], 8 @@ -31870,7 +33142,7 @@ LBB5_169: QUAD $0x0a0702542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 7], 10 LONG $0x24448b48; BYTE $0x58 // mov rax, qword [rsp + 88] QUAD $0x0b0702542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 7], 11 - LONG $0x24448b48; BYTE $0x68 // mov rax, qword [rsp + 104] + LONG $0x24448b48; BYTE $0x60 // mov rax, qword [rsp + 96] QUAD $0x0c0702542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 7], 12 QUAD $0x000000a8249c8b48 // mov rbx, qword [rsp + 168] QUAD $0x0d071a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rbx + 7], 13 @@ -31878,7 +33150,7 @@ LBB5_169: QUAD $0x0f072a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r13 + 7], 15 QUAD $0x01071a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r11 + 7], 1 WORD $0x894d; BYTE $0xdd // mov r13, r11 - QUAD $0x000000d824b48b48 // mov rsi, qword [rsp + 216] + QUAD $0x000000c824b48b48 // mov rsi, qword [rsp + 200] QUAD $0x0207324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 7], 2 QUAD $0x0000008824848b48 // mov rax, qword [rsp + 136] QUAD $0x0307024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 7], 3 @@ -31889,7 +33161,7 @@ LBB5_169: QUAD $0x06073a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 7], 6 QUAD $0x0000009024bc8b48 // mov rdi, qword [rsp + 144] QUAD $0x07073a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 7], 7 - QUAD $0x000000b8249c8b4c // mov r11, qword [rsp + 184] + QUAD $0x000000d0249c8b4c // mov r11, qword [rsp + 208] QUAD $0x08071a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r11 + 7], 8 QUAD $0x00000108248c8b48 // mov rcx, qword [rsp + 264] QUAD $0x09070a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 7], 9 @@ -31901,9 +33173,9 @@ LBB5_169: QUAD $0x0d070a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 7], 13 LONG $0x3855e3c4; WORD $0x01c0 // vinserti128 ymm0, ymm5, xmm0, 1 QUAD $0x0001a024847ffdc5; BYTE $0x00 // vmovdqa yword [rsp + 416], ymm0 - LONG $0x247c8b48; BYTE $0x30 // mov rdi, qword [rsp + 48] + LONG $0x247c8b48; BYTE $0x28 // mov rdi, qword [rsp + 40] QUAD $0x0e073a442071e3c4 // vpinsrb xmm0, xmm1, byte [rdx + rdi + 7], 14 - QUAD $0x000000f0248c8b48 // mov rcx, qword [rsp + 240] + QUAD $0x000000d8248c8b48 // mov rcx, qword [rsp + 216] LONG $0x0a7cb60f; BYTE $0x0b // movzx edi, byte [rdx + rcx + 11] LONG $0xcf6ef9c5 // vmovd xmm1, edi QUAD $0x00000120248c8b48 // mov rcx, qword [rsp + 288] @@ -31915,30 +33187,30 @@ LBB5_169: LONG $0xd76ef9c5 // vmovd xmm2, edi QUAD $0x0000008024bc8b48 // mov rdi, qword [rsp + 128] QUAD $0x01083a442031e3c4 // vpinsrb xmm0, xmm9, byte [rdx + rdi + 8], 1 - QUAD $0x000000b024bc8b48 // mov rdi, qword [rsp + 176] + QUAD $0x000000b824bc8b48 // mov rdi, qword [rsp + 184] QUAD $0x02083a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rdi + 8], 2 - QUAD $0x000000c824bc8b4c // mov r15, qword [rsp + 200] + QUAD $0x000000f024bc8b4c // mov r15, qword [rsp + 240] QUAD $0x03083a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r15 + 8], 3 QUAD $0x000000a0248c8b48 // mov rcx, qword [rsp + 160] QUAD $0x04080a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 8], 4 QUAD $0x000000f8248c8b4c // mov r9, qword [rsp + 248] QUAD $0x05080a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r9 + 8], 5 QUAD $0x060802442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r8 + 8], 6 - LONG $0x244c8b48; BYTE $0x60 // mov rcx, qword [rsp + 96] + LONG $0x244c8b48; BYTE $0x68 // mov rcx, qword [rsp + 104] QUAD $0x07080a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 8], 7 QUAD $0x080812442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r10 + 8], 8 - LONG $0x244c8b48; BYTE $0x38 // mov rcx, qword [rsp + 56] + LONG $0x244c8b48; BYTE $0x30 // mov rcx, qword [rsp + 48] QUAD $0x09080a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 8], 9 LONG $0x244c8b48; BYTE $0x78 // mov rcx, qword [rsp + 120] QUAD $0x0a080a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 8], 10 LONG $0x24548b4c; BYTE $0x58 // mov r10, qword [rsp + 88] QUAD $0x0b0812442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r10 + 8], 11 - LONG $0x244c8b48; BYTE $0x68 // mov rcx, qword [rsp + 104] + LONG $0x244c8b48; BYTE $0x60 // mov rcx, qword [rsp + 96] QUAD $0x0c080a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 8], 12 QUAD $0x0d081a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rbx + 8], 13 LONG $0x244c8b48; BYTE $0x50 // mov rcx, qword [rsp + 80] QUAD $0x0e080a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 8], 14 - QUAD $0x00000098248c8b48 // mov rcx, qword [rsp + 152] + QUAD $0x000000b0248c8b48 // mov rcx, qword [rsp + 176] QUAD $0x0f080a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 8], 15 QUAD $0x01082a6c2029a3c4 // vpinsrb xmm5, xmm10, byte [rdx + r13 + 8], 1 WORD $0x8949; BYTE $0xf6 // mov r14, rsi @@ -31948,7 +33220,7 @@ LBB5_169: QUAD $0x04080a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rcx + 8], 4 WORD $0x894c; BYTE $0xe7 // mov rdi, r12 QUAD $0x0508226c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r12 + 8], 5 - QUAD $0x000000d024b48b48 // mov rsi, qword [rsp + 208] + QUAD $0x0000009824b48b48 // mov rsi, qword [rsp + 152] QUAD $0x0608326c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rsi + 8], 6 QUAD $0x0000009024a48b4c // mov r12, qword [rsp + 144] QUAD $0x0708226c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r12 + 8], 7 @@ -31957,41 +33229,41 @@ LBB5_169: QUAD $0x0908026c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rax + 8], 9 LONG $0x245c8b4c; BYTE $0x40 // mov r11, qword [rsp + 64] QUAD $0x0a081a6c2051a3c4 // vpinsrb xmm5, xmm5, byte [rdx + r11 + 8], 10 - LONG $0x245c8b48; BYTE $0x28 // mov rbx, qword [rsp + 40] + LONG $0x245c8b48; BYTE $0x38 // mov rbx, qword [rsp + 56] QUAD $0x0b081a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rbx + 8], 11 LONG $0x245c8b48; BYTE $0x20 // mov rbx, qword [rsp + 32] QUAD $0x0c081a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rbx + 8], 12 QUAD $0x00000140249c8b48 // mov rbx, qword [rsp + 320] QUAD $0x0d081a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rbx + 8], 13 - LONG $0x245c8b48; BYTE $0x30 // mov rbx, qword [rsp + 48] + LONG $0x245c8b48; BYTE $0x28 // mov rbx, qword [rsp + 40] QUAD $0x0e081a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rbx + 8], 14 QUAD $0x00000120249c8b48 // mov rbx, qword [rsp + 288] QUAD $0x0f081a6c2051e3c4 // vpinsrb xmm5, xmm5, byte [rdx + rbx + 8], 15 QUAD $0x00000080249c8b48 // mov rbx, qword [rsp + 128] QUAD $0x01091a742039e3c4 // vpinsrb xmm6, xmm8, byte [rdx + rbx + 9], 1 - QUAD $0x000000b0249c8b48 // mov rbx, qword [rsp + 176] + QUAD $0x000000b8249c8b48 // mov rbx, qword [rsp + 184] QUAD $0x02091a742049e3c4 // vpinsrb xmm6, xmm6, byte [rdx + rbx + 9], 2 QUAD $0x03093a742049a3c4 // vpinsrb xmm6, xmm6, byte [rdx + r15 + 9], 3 QUAD $0x000000a0249c8b48 // mov rbx, qword [rsp + 160] QUAD $0x04091a742049e3c4 // vpinsrb xmm6, xmm6, byte [rdx + rbx + 9], 4 QUAD $0x05090a742049a3c4 // vpinsrb xmm6, xmm6, byte [rdx + r9 + 9], 5 QUAD $0x060902742049a3c4 // vpinsrb xmm6, xmm6, byte [rdx + r8 + 9], 6 - LONG $0x247c8b4c; BYTE $0x60 // mov r15, qword [rsp + 96] + LONG $0x247c8b4c; BYTE $0x68 // mov r15, qword [rsp + 104] QUAD $0x07093a742049a3c4 // vpinsrb xmm6, xmm6, byte [rdx + r15 + 9], 7 LONG $0x245c8b48; BYTE $0x70 // mov rbx, qword [rsp + 112] QUAD $0x08091a742049e3c4 // vpinsrb xmm6, xmm6, byte [rdx + rbx + 9], 8 - LONG $0x245c8b48; BYTE $0x38 // mov rbx, qword [rsp + 56] + LONG $0x245c8b48; BYTE $0x30 // mov rbx, qword [rsp + 48] QUAD $0x09091a742049e3c4 // vpinsrb xmm6, xmm6, byte [rdx + rbx + 9], 9 LONG $0x245c8b48; BYTE $0x78 // mov rbx, qword [rsp + 120] QUAD $0x0a091a742049e3c4 // vpinsrb xmm6, xmm6, byte [rdx + rbx + 9], 10 QUAD $0x0b0912742049a3c4 // vpinsrb xmm6, xmm6, byte [rdx + r10 + 9], 11 - LONG $0x245c8b48; BYTE $0x68 // mov rbx, qword [rsp + 104] + LONG $0x245c8b48; BYTE $0x60 // mov rbx, qword [rsp + 96] QUAD $0x0c091a742049e3c4 // vpinsrb xmm6, xmm6, byte [rdx + rbx + 9], 12 QUAD $0x000000a824848b4c // mov r8, qword [rsp + 168] QUAD $0x0d0902742049a3c4 // vpinsrb xmm6, xmm6, byte [rdx + r8 + 9], 13 LONG $0x245c8b48; BYTE $0x50 // mov rbx, qword [rsp + 80] QUAD $0x0e091a742049e3c4 // vpinsrb xmm6, xmm6, byte [rdx + rbx + 9], 14 - QUAD $0x00000098249c8b48 // mov rbx, qword [rsp + 152] + QUAD $0x000000b0249c8b48 // mov rbx, qword [rsp + 176] QUAD $0x0f091a742049e3c4 // vpinsrb xmm6, xmm6, byte [rdx + rbx + 9], 15 QUAD $0x01092a7c2021a3c4 // vpinsrb xmm7, xmm11, byte [rdx + r13 + 9], 1 QUAD $0x0209327c2041a3c4 // vpinsrb xmm7, xmm7, byte [rdx + r14 + 9], 2 @@ -32002,23 +33274,23 @@ LBB5_169: QUAD $0x0609327c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rsi + 9], 6 WORD $0x8949; BYTE $0xf6 // mov r14, rsi QUAD $0x0709227c2041a3c4 // vpinsrb xmm7, xmm7, byte [rdx + r12 + 9], 7 - QUAD $0x000000b8248c8b48 // mov rcx, qword [rsp + 184] + QUAD $0x000000d0248c8b48 // mov rcx, qword [rsp + 208] QUAD $0x08090a7c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rcx + 9], 8 QUAD $0x0909027c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rax + 9], 9 QUAD $0x0a091a7c2041a3c4 // vpinsrb xmm7, xmm7, byte [rdx + r11 + 9], 10 - LONG $0x245c8b4c; BYTE $0x28 // mov r11, qword [rsp + 40] + LONG $0x245c8b4c; BYTE $0x38 // mov r11, qword [rsp + 56] QUAD $0x0b091a7c2041a3c4 // vpinsrb xmm7, xmm7, byte [rdx + r11 + 9], 11 LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] QUAD $0x0c09027c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rax + 9], 12 QUAD $0x0000014024848b48 // mov rax, qword [rsp + 320] QUAD $0x0d09027c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rax + 9], 13 - LONG $0x24448b48; BYTE $0x30 // mov rax, qword [rsp + 48] + LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] QUAD $0x0e09027c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rax + 9], 14 LONG $0x3855e3c4; WORD $0x01c0 // vinserti128 ymm0, ymm5, xmm0, 1 QUAD $0x00048024847ffdc5; BYTE $0x00 // vmovdqa yword [rsp + 1152], ymm0 QUAD $0x0000012024848b48 // mov rax, qword [rsp + 288] QUAD $0x0f09026c2041e3c4 // vpinsrb xmm5, xmm7, byte [rdx + rax + 9], 15 - QUAD $0x000000f024848b48 // mov rax, qword [rsp + 240] + QUAD $0x000000d824848b48 // mov rax, qword [rsp + 216] LONG $0x027cb60f; BYTE $0x0c // movzx edi, byte [rdx + rax + 12] LONG $0xc76ef9c5 // vmovd xmm0, edi LONG $0x3855e3c4; WORD $0x01ee // vinserti128 ymm5, ymm5, xmm6, 1 @@ -32028,9 +33300,9 @@ LBB5_169: LONG $0xef6ef9c5 // vmovd xmm5, edi QUAD $0x0000008024ac8b4c // mov r13, qword [rsp + 128] QUAD $0x010a2a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r13 + 10], 1 - QUAD $0x000000b024a48b4c // mov r12, qword [rsp + 176] + QUAD $0x000000b824a48b4c // mov r12, qword [rsp + 184] QUAD $0x020a225c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r12 + 10], 2 - QUAD $0x000000c824848b48 // mov rax, qword [rsp + 200] + QUAD $0x000000f024848b48 // mov rax, qword [rsp + 240] QUAD $0x030a025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 10], 3 QUAD $0x000000a024948b4c // mov r10, qword [rsp + 160] QUAD $0x040a125c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r10 + 10], 4 @@ -32040,22 +33312,22 @@ LBB5_169: QUAD $0x070a3a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r15 + 10], 7 LONG $0x24448b48; BYTE $0x70 // mov rax, qword [rsp + 112] QUAD $0x080a025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 10], 8 - LONG $0x24448b48; BYTE $0x38 // mov rax, qword [rsp + 56] + LONG $0x24448b48; BYTE $0x30 // mov rax, qword [rsp + 48] QUAD $0x090a025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 10], 9 LONG $0x24748b48; BYTE $0x78 // mov rsi, qword [rsp + 120] QUAD $0x0a0a325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 10], 10 LONG $0x24448b48; BYTE $0x58 // mov rax, qword [rsp + 88] QUAD $0x0b0a025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 10], 11 - LONG $0x24448b48; BYTE $0x68 // mov rax, qword [rsp + 104] + LONG $0x24448b48; BYTE $0x60 // mov rax, qword [rsp + 96] QUAD $0x0c0a025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 10], 12 QUAD $0x0d0a025c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r8 + 10], 13 LONG $0x24448b48; BYTE $0x50 // mov rax, qword [rsp + 80] QUAD $0x0e0a025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 10], 14 - QUAD $0x0000009824848b48 // mov rax, qword [rsp + 152] + QUAD $0x000000b024848b48 // mov rax, qword [rsp + 176] QUAD $0x0f0a025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 10], 15 QUAD $0x000000e024848b48 // mov rax, qword [rsp + 224] QUAD $0x010a02642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rax + 10], 1 - QUAD $0x000000d8248c8b48 // mov rcx, qword [rsp + 216] + QUAD $0x000000c8248c8b48 // mov rcx, qword [rsp + 200] QUAD $0x020a0a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rcx + 10], 2 QUAD $0x030a1a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rbx + 10], 3 QUAD $0x000000c024bc8b48 // mov rdi, qword [rsp + 192] @@ -32065,7 +33337,7 @@ LBB5_169: QUAD $0x060a32642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r14 + 10], 6 QUAD $0x00000090249c8b48 // mov rbx, qword [rsp + 144] QUAD $0x070a1a642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rbx + 10], 7 - QUAD $0x000000b824848b4c // mov r8, qword [rsp + 184] + QUAD $0x000000d024848b4c // mov r8, qword [rsp + 208] QUAD $0x080a02642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r8 + 10], 8 QUAD $0x0000010824848b48 // mov rax, qword [rsp + 264] QUAD $0x090a02642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rax + 10], 9 @@ -32076,34 +33348,34 @@ LBB5_169: QUAD $0x0c0a02642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rax + 10], 12 QUAD $0x00000140249c8b4c // mov r11, qword [rsp + 320] QUAD $0x0d0a1a642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r11 + 10], 13 - LONG $0x24748b4c; BYTE $0x30 // mov r14, qword [rsp + 48] + LONG $0x24748b4c; BYTE $0x28 // mov r14, qword [rsp + 40] QUAD $0x0e0a32642059a3c4 // vpinsrb xmm4, xmm4, byte [rdx + r14 + 10], 14 QUAD $0x0000012024848b48 // mov rax, qword [rsp + 288] QUAD $0x0f0a02642059e3c4 // vpinsrb xmm4, xmm4, byte [rdx + rax + 10], 15 QUAD $0x010b2a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r13 + 11], 1 QUAD $0x020b224c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r12 + 11], 2 - QUAD $0x000000c824848b48 // mov rax, qword [rsp + 200] + QUAD $0x000000f024848b48 // mov rax, qword [rsp + 240] QUAD $0x030b024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 11], 3 QUAD $0x040b124c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r10 + 11], 4 QUAD $0x000000f824a48b4c // mov r12, qword [rsp + 248] QUAD $0x050b224c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r12 + 11], 5 QUAD $0x060b0a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r9 + 11], 6 - LONG $0x24448b48; BYTE $0x60 // mov rax, qword [rsp + 96] + LONG $0x24448b48; BYTE $0x68 // mov rax, qword [rsp + 104] QUAD $0x070b024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 11], 7 LONG $0x24448b48; BYTE $0x70 // mov rax, qword [rsp + 112] QUAD $0x080b024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 11], 8 - LONG $0x24448b48; BYTE $0x38 // mov rax, qword [rsp + 56] + LONG $0x24448b48; BYTE $0x30 // mov rax, qword [rsp + 48] QUAD $0x090b024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 11], 9 QUAD $0x0a0b324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 11], 10 LONG $0x24448b48; BYTE $0x58 // mov rax, qword [rsp + 88] QUAD $0x0b0b024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 11], 11 - LONG $0x24448b48; BYTE $0x68 // mov rax, qword [rsp + 104] + LONG $0x24448b48; BYTE $0x60 // mov rax, qword [rsp + 96] QUAD $0x0c0b024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 11], 12 QUAD $0x000000a824848b48 // mov rax, qword [rsp + 168] QUAD $0x0d0b024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 11], 13 LONG $0x246c8b4c; BYTE $0x50 // mov r13, qword [rsp + 80] QUAD $0x0e0b2a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r13 + 11], 14 - QUAD $0x0000009824b48b48 // mov rsi, qword [rsp + 152] + QUAD $0x000000b024b48b48 // mov rsi, qword [rsp + 176] QUAD $0x0f0b324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 11], 15 QUAD $0x000000e0248c8b4c // mov r9, qword [rsp + 224] QUAD $0x010b0a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r9 + 11], 1 @@ -32112,7 +33384,7 @@ LBB5_169: QUAD $0x030b02542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 11], 3 QUAD $0x040b3a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 11], 4 QUAD $0x050b3a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r15 + 11], 5 - QUAD $0x000000d024848b48 // mov rax, qword [rsp + 208] + QUAD $0x0000009824848b48 // mov rax, qword [rsp + 152] QUAD $0x060b02542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 11], 6 QUAD $0x070b1a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rbx + 11], 7 QUAD $0x080b02542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r8 + 11], 8 @@ -32120,7 +33392,7 @@ LBB5_169: QUAD $0x090b1a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rbx + 11], 9 LONG $0x24448b48; BYTE $0x40 // mov rax, qword [rsp + 64] QUAD $0x0a0b02542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 11], 10 - LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] + LONG $0x24448b48; BYTE $0x38 // mov rax, qword [rsp + 56] QUAD $0x0b0b02542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 11], 11 LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] QUAD $0x0c0b02542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 11], 12 @@ -32128,7 +33400,7 @@ LBB5_169: LONG $0x385de3c4; WORD $0x01db // vinserti128 ymm3, ymm4, xmm3, 1 QUAD $0x000440249c7ffdc5; BYTE $0x00 // vmovdqa yword [rsp + 1088], ymm3 QUAD $0x0e0b32542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r14 + 11], 14 - QUAD $0x000000f024848b48 // mov rax, qword [rsp + 240] + QUAD $0x000000d824848b48 // mov rax, qword [rsp + 216] LONG $0x027cb60f; BYTE $0x0d // movzx edi, byte [rdx + rax + 13] LONG $0xdf6ef9c5 // vmovd xmm3, edi QUAD $0x0000012024848b48 // mov rax, qword [rsp + 288] @@ -32140,32 +33412,32 @@ LBB5_169: LONG $0xcf6ef9c5 // vmovd xmm1, edi QUAD $0x00000080248c8b48 // mov rcx, qword [rsp + 128] QUAD $0x010c0a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 12], 1 - QUAD $0x000000b024848b4c // mov r8, qword [rsp + 176] + QUAD $0x000000b824848b4c // mov r8, qword [rsp + 184] QUAD $0x020c02442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r8 + 12], 2 - QUAD $0x000000c824bc8b4c // mov r15, qword [rsp + 200] + QUAD $0x000000f024bc8b4c // mov r15, qword [rsp + 240] QUAD $0x030c3a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r15 + 12], 3 QUAD $0x040c12442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r10 + 12], 4 QUAD $0x050c22442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r12 + 12], 5 QUAD $0x000000e824848b48 // mov rax, qword [rsp + 232] QUAD $0x060c02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 12], 6 - LONG $0x24448b48; BYTE $0x60 // mov rax, qword [rsp + 96] + LONG $0x24448b48; BYTE $0x68 // mov rax, qword [rsp + 104] QUAD $0x070c02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 12], 7 LONG $0x24448b48; BYTE $0x70 // mov rax, qword [rsp + 112] QUAD $0x080c02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 12], 8 - LONG $0x24448b48; BYTE $0x38 // mov rax, qword [rsp + 56] + LONG $0x24448b48; BYTE $0x30 // mov rax, qword [rsp + 48] QUAD $0x090c02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 12], 9 LONG $0x24448b48; BYTE $0x78 // mov rax, qword [rsp + 120] QUAD $0x0a0c02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 12], 10 LONG $0x24448b48; BYTE $0x58 // mov rax, qword [rsp + 88] QUAD $0x0b0c02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 12], 11 - LONG $0x24448b48; BYTE $0x68 // mov rax, qword [rsp + 104] + LONG $0x24448b48; BYTE $0x60 // mov rax, qword [rsp + 96] QUAD $0x0c0c02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 12], 12 QUAD $0x000000a824848b48 // mov rax, qword [rsp + 168] QUAD $0x0d0c02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 12], 13 QUAD $0x0e0c2a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r13 + 12], 14 QUAD $0x0f0c32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 12], 15 QUAD $0x010c0a542051a3c4 // vpinsrb xmm2, xmm5, byte [rdx + r9 + 12], 1 - QUAD $0x000000d824b48b48 // mov rsi, qword [rsp + 216] + QUAD $0x000000c824b48b48 // mov rsi, qword [rsp + 200] QUAD $0x020c32542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 12], 2 QUAD $0x0000008824bc8b48 // mov rdi, qword [rsp + 136] QUAD $0x030c3a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 12], 3 @@ -32173,16 +33445,16 @@ LBB5_169: QUAD $0x040c02542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 12], 4 LONG $0x246c8b4c; BYTE $0x48 // mov r13, qword [rsp + 72] QUAD $0x050c2a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r13 + 12], 5 - QUAD $0x000000d0248c8b4c // mov r9, qword [rsp + 208] + QUAD $0x00000098248c8b4c // mov r9, qword [rsp + 152] QUAD $0x060c0a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r9 + 12], 6 QUAD $0x0000009024848b48 // mov rax, qword [rsp + 144] QUAD $0x070c02542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 12], 7 - QUAD $0x000000b8249c8b4c // mov r11, qword [rsp + 184] + QUAD $0x000000d0249c8b4c // mov r11, qword [rsp + 208] QUAD $0x080c1a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r11 + 12], 8 QUAD $0x090c1a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rbx + 12], 9 LONG $0x24448b48; BYTE $0x40 // mov rax, qword [rsp + 64] QUAD $0x0a0c02542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 12], 10 - LONG $0x245c8b48; BYTE $0x28 // mov rbx, qword [rsp + 40] + LONG $0x245c8b48; BYTE $0x38 // mov rbx, qword [rsp + 56] QUAD $0x0b0c1a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rbx + 12], 11 LONG $0x245c8b48; BYTE $0x20 // mov rbx, qword [rsp + 32] QUAD $0x0c0c1a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rbx + 12], 12 @@ -32199,23 +33471,23 @@ LBB5_169: WORD $0x894d; BYTE $0xe2 // mov r10, r12 QUAD $0x000000e8249c8b48 // mov rbx, qword [rsp + 232] QUAD $0x060d1a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 13], 6 - LONG $0x24448b4c; BYTE $0x60 // mov r8, qword [rsp + 96] + LONG $0x24448b4c; BYTE $0x68 // mov r8, qword [rsp + 104] QUAD $0x070d025c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r8 + 13], 7 LONG $0x245c8b48; BYTE $0x70 // mov rbx, qword [rsp + 112] QUAD $0x080d1a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 13], 8 - LONG $0x245c8b48; BYTE $0x38 // mov rbx, qword [rsp + 56] + LONG $0x245c8b48; BYTE $0x30 // mov rbx, qword [rsp + 48] QUAD $0x090d1a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 13], 9 LONG $0x245c8b48; BYTE $0x78 // mov rbx, qword [rsp + 120] QUAD $0x0a0d1a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 13], 10 LONG $0x245c8b48; BYTE $0x58 // mov rbx, qword [rsp + 88] QUAD $0x0b0d1a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 13], 11 - LONG $0x247c8b4c; BYTE $0x68 // mov r15, qword [rsp + 104] + LONG $0x247c8b4c; BYTE $0x60 // mov r15, qword [rsp + 96] QUAD $0x0c0d3a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r15 + 13], 12 QUAD $0x000000a8249c8b48 // mov rbx, qword [rsp + 168] QUAD $0x0d0d1a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 13], 13 LONG $0x245c8b48; BYTE $0x50 // mov rbx, qword [rsp + 80] QUAD $0x0e0d1a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 13], 14 - QUAD $0x0000009824a48b4c // mov r12, qword [rsp + 152] + QUAD $0x000000b024a48b4c // mov r12, qword [rsp + 176] QUAD $0x0f0d225c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r12 + 13], 15 QUAD $0x000000e0249c8b48 // mov rbx, qword [rsp + 224] QUAD $0x010d1a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rbx + 13], 1 @@ -32231,7 +33503,7 @@ LBB5_169: QUAD $0x0000010824b48b48 // mov rsi, qword [rsp + 264] QUAD $0x090d324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 13], 9 QUAD $0x0a0d024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 13], 10 - LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] + LONG $0x24448b48; BYTE $0x38 // mov rax, qword [rsp + 56] QUAD $0x0b0d024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 13], 11 LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] QUAD $0x0c0d024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 13], 12 @@ -32242,7 +33514,7 @@ LBB5_169: QUAD $0x0003e024847ffdc5; BYTE $0x00 // vmovdqa yword [rsp + 992], ymm0 QUAD $0x0000012024848b48 // mov rax, qword [rsp + 288] QUAD $0x0f0d02442071e3c4 // vpinsrb xmm0, xmm1, byte [rdx + rax + 13], 15 - QUAD $0x000000f024848b48 // mov rax, qword [rsp + 240] + QUAD $0x000000d824848b48 // mov rax, qword [rsp + 216] LONG $0x027cb60f; BYTE $0x0e // movzx edi, byte [rdx + rax + 14] LONG $0xcf6ef9c5 // vmovd xmm1, edi LONG $0x387de3c4; WORD $0x01c3 // vinserti128 ymm0, ymm0, xmm3, 1 @@ -32251,9 +33523,9 @@ LBB5_169: LONG $0x027cb60f; BYTE $0x0e // movzx edi, byte [rdx + rax + 14] LONG $0xc76ef9c5 // vmovd xmm0, edi QUAD $0x010e0a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 14], 1 - QUAD $0x000000b0248c8b4c // mov r9, qword [rsp + 176] + QUAD $0x000000b8248c8b4c // mov r9, qword [rsp + 184] QUAD $0x020e0a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r9 + 14], 2 - QUAD $0x000000c8248c8b48 // mov rcx, qword [rsp + 200] + QUAD $0x000000f0248c8b48 // mov rcx, qword [rsp + 240] QUAD $0x030e0a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 14], 3 QUAD $0x000000a024848b48 // mov rax, qword [rsp + 160] QUAD $0x040e024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 14], 4 @@ -32263,7 +33535,7 @@ LBB5_169: QUAD $0x070e024c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r8 + 14], 7 LONG $0x245c8b48; BYTE $0x70 // mov rbx, qword [rsp + 112] QUAD $0x080e1a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rbx + 14], 8 - LONG $0x24448b48; BYTE $0x38 // mov rax, qword [rsp + 56] + LONG $0x24448b48; BYTE $0x30 // mov rax, qword [rsp + 48] QUAD $0x090e024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 14], 9 LONG $0x24548b4c; BYTE $0x78 // mov r10, qword [rsp + 120] QUAD $0x0a0e124c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r10 + 14], 10 @@ -32277,7 +33549,7 @@ LBB5_169: QUAD $0x0f0e224c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r12 + 14], 15 QUAD $0x000000e024bc8b48 // mov rdi, qword [rsp + 224] QUAD $0x010e3a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rdi + 14], 1 - QUAD $0x000000d824bc8b48 // mov rdi, qword [rsp + 216] + QUAD $0x000000c824bc8b48 // mov rdi, qword [rsp + 200] QUAD $0x020e3a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rdi + 14], 2 QUAD $0x0000008824bc8b48 // mov rdi, qword [rsp + 136] QUAD $0x030e3a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rdi + 14], 3 @@ -32285,26 +33557,26 @@ LBB5_169: QUAD $0x040e3a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rdi + 14], 4 LONG $0x247c8b48; BYTE $0x48 // mov rdi, qword [rsp + 72] QUAD $0x050e3a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rdi + 14], 5 - QUAD $0x000000d024bc8b48 // mov rdi, qword [rsp + 208] + QUAD $0x0000009824bc8b48 // mov rdi, qword [rsp + 152] QUAD $0x060e3a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rdi + 14], 6 QUAD $0x0000009024bc8b48 // mov rdi, qword [rsp + 144] QUAD $0x070e3a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rdi + 14], 7 - QUAD $0x000000b824bc8b48 // mov rdi, qword [rsp + 184] + QUAD $0x000000d024bc8b48 // mov rdi, qword [rsp + 208] QUAD $0x080e3a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rdi + 14], 8 QUAD $0x090e32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 14], 9 LONG $0x24748b48; BYTE $0x40 // mov rsi, qword [rsp + 64] QUAD $0x0a0e32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 14], 10 - LONG $0x24748b48; BYTE $0x28 // mov rsi, qword [rsp + 40] + LONG $0x24748b48; BYTE $0x38 // mov rsi, qword [rsp + 56] QUAD $0x0b0e32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 14], 11 LONG $0x24648b4c; BYTE $0x20 // mov r12, qword [rsp + 32] QUAD $0x0c0e22442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r12 + 14], 12 QUAD $0x0000014024b48b48 // mov rsi, qword [rsp + 320] QUAD $0x0d0e32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 14], 13 - LONG $0x247c8b48; BYTE $0x30 // mov rdi, qword [rsp + 48] + LONG $0x247c8b48; BYTE $0x28 // mov rdi, qword [rsp + 40] QUAD $0x0e0e3a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rdi + 14], 14 QUAD $0x0000012024bc8b48 // mov rdi, qword [rsp + 288] QUAD $0x0f0e3a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rdi + 14], 15 - QUAD $0x000000f024848b4c // mov r8, qword [rsp + 240] + QUAD $0x000000d824848b4c // mov r8, qword [rsp + 216] LONG $0x7cb60f42; WORD $0x0f02 // movzx edi, byte [rdx + r8 + 15] LONG $0xd76ef9c5 // vmovd xmm2, edi QUAD $0x0000008024bc8b48 // mov rdi, qword [rsp + 128] @@ -32316,24 +33588,24 @@ LBB5_169: QUAD $0x000000f8248c8b48 // mov rcx, qword [rsp + 248] QUAD $0x050f0a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 15], 5 QUAD $0x060f2a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r13 + 15], 6 - LONG $0x244c8b48; BYTE $0x60 // mov rcx, qword [rsp + 96] + LONG $0x244c8b48; BYTE $0x68 // mov rcx, qword [rsp + 104] QUAD $0x070f0a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 15], 7 QUAD $0x080f1a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rbx + 15], 8 QUAD $0x090f02542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 15], 9 QUAD $0x0a0f12542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r10 + 15], 10 QUAD $0x0b0f1a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r11 + 15], 11 - LONG $0x24448b48; BYTE $0x68 // mov rax, qword [rsp + 104] + LONG $0x24448b48; BYTE $0x60 // mov rax, qword [rsp + 96] QUAD $0x0c0f02542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 15], 12 QUAD $0x0d0f3a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r15 + 15], 13 QUAD $0x0e0f32542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r14 + 15], 14 - QUAD $0x00000098248c8b4c // mov r9, qword [rsp + 152] + QUAD $0x000000b0248c8b4c // mov r9, qword [rsp + 176] QUAD $0x0f0f0a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r9 + 15], 15 QUAD $0x00000100249c8b48 // mov rbx, qword [rsp + 256] LONG $0x1a7cb60f; BYTE $0x0f // movzx edi, byte [rdx + rbx + 15] LONG $0xdf6ef9c5 // vmovd xmm3, edi QUAD $0x000000e0249c8b4c // mov r11, qword [rsp + 224] QUAD $0x010f1a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r11 + 15], 1 - QUAD $0x000000d8248c8b48 // mov rcx, qword [rsp + 216] + QUAD $0x000000c8248c8b48 // mov rcx, qword [rsp + 200] QUAD $0x020f0a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 15], 2 QUAD $0x0000008824948b4c // mov r10, qword [rsp + 136] QUAD $0x030f125c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r10 + 15], 3 @@ -32341,21 +33613,21 @@ LBB5_169: QUAD $0x040f0a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 15], 4 LONG $0x244c8b48; BYTE $0x48 // mov rcx, qword [rsp + 72] QUAD $0x050f0a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 15], 5 - QUAD $0x000000d0248c8b48 // mov rcx, qword [rsp + 208] + QUAD $0x00000098248c8b48 // mov rcx, qword [rsp + 152] QUAD $0x060f0a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 15], 6 QUAD $0x0000009024b48b4c // mov r14, qword [rsp + 144] QUAD $0x070f325c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r14 + 15], 7 - QUAD $0x000000b824bc8b48 // mov rdi, qword [rsp + 184] + QUAD $0x000000d024bc8b48 // mov rdi, qword [rsp + 208] QUAD $0x080f3a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 15], 8 QUAD $0x0000010824bc8b48 // mov rdi, qword [rsp + 264] QUAD $0x090f3a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 15], 9 LONG $0x247c8b48; BYTE $0x40 // mov rdi, qword [rsp + 64] QUAD $0x0a0f3a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 15], 10 - LONG $0x247c8b48; BYTE $0x28 // mov rdi, qword [rsp + 40] + LONG $0x247c8b48; BYTE $0x38 // mov rdi, qword [rsp + 56] QUAD $0x0b0f3a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 15], 11 QUAD $0x0c0f225c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r12 + 15], 12 QUAD $0x0d0f325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 15], 13 - LONG $0x24748b48; BYTE $0x30 // mov rsi, qword [rsp + 48] + LONG $0x24748b48; BYTE $0x28 // mov rsi, qword [rsp + 40] QUAD $0x0e0f325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 15], 14 QUAD $0x0000012024bc8b4c // mov r15, qword [rsp + 288] QUAD $0x0f0f3a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r15 + 15], 15 @@ -32367,9 +33639,9 @@ LBB5_169: LONG $0xc76ef9c5 // vmovd xmm0, edi QUAD $0x0000008024b48b48 // mov rsi, qword [rsp + 128] QUAD $0x011032442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 16], 1 - QUAD $0x000000b024b48b48 // mov rsi, qword [rsp + 176] + QUAD $0x000000b824b48b48 // mov rsi, qword [rsp + 184] QUAD $0x021032442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 16], 2 - QUAD $0x000000c824b48b48 // mov rsi, qword [rsp + 200] + QUAD $0x000000f024b48b48 // mov rsi, qword [rsp + 240] QUAD $0x031032442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 16], 3 QUAD $0x000000a024b48b48 // mov rsi, qword [rsp + 160] QUAD $0x041032442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 16], 4 @@ -32377,11 +33649,11 @@ LBB5_169: QUAD $0x051032442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 16], 5 QUAD $0x06102a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r13 + 16], 6 WORD $0x894d; BYTE $0xec // mov r12, r13 - LONG $0x24748b48; BYTE $0x60 // mov rsi, qword [rsp + 96] + LONG $0x24748b48; BYTE $0x68 // mov rsi, qword [rsp + 104] QUAD $0x071032442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 16], 7 LONG $0x24748b48; BYTE $0x70 // mov rsi, qword [rsp + 112] QUAD $0x081032442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 16], 8 - LONG $0x24748b48; BYTE $0x38 // mov rsi, qword [rsp + 56] + LONG $0x24748b48; BYTE $0x30 // mov rsi, qword [rsp + 48] QUAD $0x091032442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 16], 9 LONG $0x24748b48; BYTE $0x78 // mov rsi, qword [rsp + 120] QUAD $0x0a1032442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 16], 10 @@ -32396,7 +33668,7 @@ LBB5_169: LONG $0x1a7cb60f; BYTE $0x10 // movzx edi, byte [rdx + rbx + 16] LONG $0xcf6ef9c5 // vmovd xmm1, edi QUAD $0x01101a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r11 + 16], 1 - QUAD $0x000000d8248c8b4c // mov r9, qword [rsp + 216] + QUAD $0x000000c8248c8b4c // mov r9, qword [rsp + 200] QUAD $0x02100a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r9 + 16], 2 QUAD $0x0310124c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r10 + 16], 3 QUAD $0x000000c024848b48 // mov rax, qword [rsp + 192] @@ -32405,51 +33677,51 @@ LBB5_169: QUAD $0x0510024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 16], 5 QUAD $0x06100a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 16], 6 QUAD $0x0710324c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r14 + 16], 7 - QUAD $0x000000b824b48b48 // mov rsi, qword [rsp + 184] + QUAD $0x000000d024b48b48 // mov rsi, qword [rsp + 208] QUAD $0x0810324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 16], 8 QUAD $0x0000010824848b48 // mov rax, qword [rsp + 264] QUAD $0x0910024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 16], 9 LONG $0x246c8b4c; BYTE $0x40 // mov r13, qword [rsp + 64] QUAD $0x0a102a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r13 + 16], 10 - LONG $0x247c8b48; BYTE $0x28 // mov rdi, qword [rsp + 40] + LONG $0x247c8b48; BYTE $0x38 // mov rdi, qword [rsp + 56] QUAD $0x0b103a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 16], 11 LONG $0x247c8b48; BYTE $0x20 // mov rdi, qword [rsp + 32] QUAD $0x0c103a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 16], 12 QUAD $0x0000014024bc8b48 // mov rdi, qword [rsp + 320] QUAD $0x0d103a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 16], 13 - LONG $0x24748b4c; BYTE $0x30 // mov r14, qword [rsp + 48] + LONG $0x24748b4c; BYTE $0x28 // mov r14, qword [rsp + 40] QUAD $0x0e10324c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r14 + 16], 14 QUAD $0x0f103a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r15 + 16], 15 - QUAD $0x000000f024bc8b48 // mov rdi, qword [rsp + 240] + QUAD $0x000000d824bc8b48 // mov rdi, qword [rsp + 216] LONG $0x3a7cb60f; BYTE $0x11 // movzx edi, byte [rdx + rdi + 17] LONG $0xd76ef9c5 // vmovd xmm2, edi QUAD $0x0000008024bc8b48 // mov rdi, qword [rsp + 128] QUAD $0x01113a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 17], 1 - QUAD $0x000000b0248c8b48 // mov rcx, qword [rsp + 176] + QUAD $0x000000b8248c8b48 // mov rcx, qword [rsp + 184] QUAD $0x02110a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 17], 2 - QUAD $0x000000c824bc8b48 // mov rdi, qword [rsp + 200] + QUAD $0x000000f024bc8b48 // mov rdi, qword [rsp + 240] QUAD $0x03113a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 17], 3 QUAD $0x000000a024bc8b48 // mov rdi, qword [rsp + 160] QUAD $0x04113a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 17], 4 QUAD $0x000000f824948b4c // mov r10, qword [rsp + 248] QUAD $0x051112542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r10 + 17], 5 QUAD $0x061122542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r12 + 17], 6 - LONG $0x24648b4c; BYTE $0x60 // mov r12, qword [rsp + 96] + LONG $0x24648b4c; BYTE $0x68 // mov r12, qword [rsp + 104] QUAD $0x071122542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r12 + 17], 7 LONG $0x247c8b48; BYTE $0x70 // mov rdi, qword [rsp + 112] QUAD $0x08113a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 17], 8 - LONG $0x247c8b48; BYTE $0x38 // mov rdi, qword [rsp + 56] + LONG $0x247c8b48; BYTE $0x30 // mov rdi, qword [rsp + 48] QUAD $0x09113a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 17], 9 LONG $0x245c8b48; BYTE $0x78 // mov rbx, qword [rsp + 120] QUAD $0x0a111a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rbx + 17], 10 LONG $0x247c8b48; BYTE $0x58 // mov rdi, qword [rsp + 88] QUAD $0x0b113a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 17], 11 - LONG $0x247c8b48; BYTE $0x68 // mov rdi, qword [rsp + 104] + LONG $0x247c8b48; BYTE $0x60 // mov rdi, qword [rsp + 96] QUAD $0x0c113a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 17], 12 QUAD $0x000000a8249c8b4c // mov r11, qword [rsp + 168] QUAD $0x0d111a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r11 + 17], 13 QUAD $0x0e1102542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r8 + 17], 14 - QUAD $0x0000009824bc8b48 // mov rdi, qword [rsp + 152] + QUAD $0x000000b024bc8b48 // mov rdi, qword [rsp + 176] QUAD $0x0f113a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 17], 15 QUAD $0x0000010024bc8b48 // mov rdi, qword [rsp + 256] LONG $0x3a7cb60f; BYTE $0x11 // movzx edi, byte [rdx + rdi + 17] @@ -32463,14 +33735,14 @@ LBB5_169: QUAD $0x04113a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 17], 4 LONG $0x247c8b48; BYTE $0x48 // mov rdi, qword [rsp + 72] QUAD $0x05113a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 17], 5 - QUAD $0x000000d024bc8b4c // mov r15, qword [rsp + 208] + QUAD $0x0000009824bc8b4c // mov r15, qword [rsp + 152] QUAD $0x06113a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r15 + 17], 6 QUAD $0x0000009024848b4c // mov r8, qword [rsp + 144] QUAD $0x0711025c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r8 + 17], 7 QUAD $0x0811325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 17], 8 QUAD $0x0911025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 17], 9 QUAD $0x0a112a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r13 + 17], 10 - LONG $0x244c8b4c; BYTE $0x28 // mov r9, qword [rsp + 40] + LONG $0x244c8b4c; BYTE $0x38 // mov r9, qword [rsp + 56] QUAD $0x0b110a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r9 + 17], 11 LONG $0x24748b48; BYTE $0x20 // mov rsi, qword [rsp + 32] QUAD $0x0c11325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 17], 12 @@ -32483,13 +33755,13 @@ LBB5_169: QUAD $0x0f1102442061e3c4 // vpinsrb xmm0, xmm3, byte [rdx + rax + 17], 15 LONG $0x387de3c4; WORD $0x01c2 // vinserti128 ymm0, ymm0, xmm2, 1 QUAD $0x00036024847ffdc5; BYTE $0x00 // vmovdqa yword [rsp + 864], ymm0 - QUAD $0x000000f024848b48 // mov rax, qword [rsp + 240] + QUAD $0x000000d824848b48 // mov rax, qword [rsp + 216] LONG $0x027cb60f; BYTE $0x12 // movzx edi, byte [rdx + rax + 18] LONG $0xc76ef9c5 // vmovd xmm0, edi QUAD $0x0000008024848b48 // mov rax, qword [rsp + 128] QUAD $0x011202442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 18], 1 QUAD $0x02120a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 18], 2 - QUAD $0x000000c8248c8b48 // mov rcx, qword [rsp + 200] + QUAD $0x000000f0248c8b48 // mov rcx, qword [rsp + 240] QUAD $0x03120a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 18], 3 QUAD $0x000000a024ac8b4c // mov r13, qword [rsp + 160] QUAD $0x04122a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r13 + 18], 4 @@ -32499,24 +33771,24 @@ LBB5_169: QUAD $0x071222442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r12 + 18], 7 LONG $0x244c8b48; BYTE $0x70 // mov rcx, qword [rsp + 112] QUAD $0x08120a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 18], 8 - LONG $0x24548b4c; BYTE $0x38 // mov r10, qword [rsp + 56] + LONG $0x24548b4c; BYTE $0x30 // mov r10, qword [rsp + 48] QUAD $0x091212442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r10 + 18], 9 QUAD $0x0a121a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rbx + 18], 10 LONG $0x247c8b48; BYTE $0x58 // mov rdi, qword [rsp + 88] QUAD $0x0b123a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rdi + 18], 11 - LONG $0x247c8b48; BYTE $0x68 // mov rdi, qword [rsp + 104] + LONG $0x247c8b48; BYTE $0x60 // mov rdi, qword [rsp + 96] QUAD $0x0c123a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rdi + 18], 12 QUAD $0x0d121a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r11 + 18], 13 LONG $0x247c8b48; BYTE $0x50 // mov rdi, qword [rsp + 80] QUAD $0x0e123a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rdi + 18], 14 - QUAD $0x0000009824bc8b48 // mov rdi, qword [rsp + 152] + QUAD $0x000000b024bc8b48 // mov rdi, qword [rsp + 176] QUAD $0x0f123a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rdi + 18], 15 QUAD $0x00000100249c8b4c // mov r11, qword [rsp + 256] LONG $0x7cb60f42; WORD $0x121a // movzx edi, byte [rdx + r11 + 18] LONG $0xcf6ef9c5 // vmovd xmm1, edi QUAD $0x000000e024bc8b48 // mov rdi, qword [rsp + 224] QUAD $0x01123a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 18], 1 - QUAD $0x000000d824b48b4c // mov r14, qword [rsp + 216] + QUAD $0x000000c824b48b4c // mov r14, qword [rsp + 200] QUAD $0x0212324c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r14 + 18], 2 QUAD $0x0000008824a48b4c // mov r12, qword [rsp + 136] QUAD $0x0312224c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r12 + 18], 3 @@ -32526,7 +33798,7 @@ LBB5_169: QUAD $0x05123a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 18], 5 QUAD $0x06123a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r15 + 18], 6 QUAD $0x0712024c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r8 + 18], 7 - QUAD $0x000000b824bc8b48 // mov rdi, qword [rsp + 184] + QUAD $0x000000d024bc8b48 // mov rdi, qword [rsp + 208] QUAD $0x08123a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 18], 8 QUAD $0x0000010824bc8b48 // mov rdi, qword [rsp + 264] QUAD $0x09123a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 18], 9 @@ -32536,37 +33808,37 @@ LBB5_169: QUAD $0x0c12324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 18], 12 QUAD $0x00000140248c8b4c // mov r9, qword [rsp + 320] QUAD $0x0d120a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r9 + 18], 13 - LONG $0x247c8b48; BYTE $0x30 // mov rdi, qword [rsp + 48] + LONG $0x247c8b48; BYTE $0x28 // mov rdi, qword [rsp + 40] QUAD $0x0e123a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 18], 14 QUAD $0x0000012024848b4c // mov r8, qword [rsp + 288] QUAD $0x0f12024c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r8 + 18], 15 - QUAD $0x000000f024bc8b48 // mov rdi, qword [rsp + 240] + QUAD $0x000000d824bc8b48 // mov rdi, qword [rsp + 216] LONG $0x3a7cb60f; BYTE $0x13 // movzx edi, byte [rdx + rdi + 19] LONG $0xd76ef9c5 // vmovd xmm2, edi QUAD $0x011302542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 19], 1 - QUAD $0x000000b024848b48 // mov rax, qword [rsp + 176] + QUAD $0x000000b824848b48 // mov rax, qword [rsp + 184] QUAD $0x021302542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 19], 2 - QUAD $0x000000c824bc8b48 // mov rdi, qword [rsp + 200] + QUAD $0x000000f024bc8b48 // mov rdi, qword [rsp + 240] QUAD $0x03133a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 19], 3 QUAD $0x04132a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r13 + 19], 4 QUAD $0x000000f824848b48 // mov rax, qword [rsp + 248] QUAD $0x051302542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 19], 5 QUAD $0x000000e824848b48 // mov rax, qword [rsp + 232] QUAD $0x061302542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 19], 6 - LONG $0x24448b48; BYTE $0x60 // mov rax, qword [rsp + 96] + LONG $0x24448b48; BYTE $0x68 // mov rax, qword [rsp + 104] QUAD $0x071302542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 19], 7 QUAD $0x08130a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 19], 8 QUAD $0x091312542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r10 + 19], 9 QUAD $0x0a131a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rbx + 19], 10 LONG $0x245c8b48; BYTE $0x58 // mov rbx, qword [rsp + 88] QUAD $0x0b131a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rbx + 19], 11 - LONG $0x246c8b4c; BYTE $0x68 // mov r13, qword [rsp + 104] + LONG $0x246c8b4c; BYTE $0x60 // mov r13, qword [rsp + 96] QUAD $0x0c132a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r13 + 19], 12 QUAD $0x000000a824848b48 // mov rax, qword [rsp + 168] QUAD $0x0d1302542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 19], 13 LONG $0x24448b48; BYTE $0x50 // mov rax, qword [rsp + 80] QUAD $0x0e1302542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 19], 14 - QUAD $0x0000009824848b48 // mov rax, qword [rsp + 152] + QUAD $0x000000b024848b48 // mov rax, qword [rsp + 176] QUAD $0x0f1302542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 19], 15 LONG $0x7cb60f42; WORD $0x131a // movzx edi, byte [rdx + r11 + 19] LONG $0xdf6ef9c5 // vmovd xmm3, edi @@ -32581,31 +33853,31 @@ LBB5_169: QUAD $0x06133a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r15 + 19], 6 QUAD $0x0000009024848b48 // mov rax, qword [rsp + 144] QUAD $0x0713025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 19], 7 - QUAD $0x000000b8248c8b48 // mov rcx, qword [rsp + 184] + QUAD $0x000000d0248c8b48 // mov rcx, qword [rsp + 208] QUAD $0x08130a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 19], 8 QUAD $0x0000010824848b48 // mov rax, qword [rsp + 264] QUAD $0x0913025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 19], 9 LONG $0x24548b4c; BYTE $0x40 // mov r10, qword [rsp + 64] QUAD $0x0a13125c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r10 + 19], 10 - LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] + LONG $0x24448b48; BYTE $0x38 // mov rax, qword [rsp + 56] QUAD $0x0b13025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 19], 11 QUAD $0x0c13325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 19], 12 QUAD $0x0d130a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r9 + 19], 13 - LONG $0x244c8b4c; BYTE $0x30 // mov r9, qword [rsp + 48] + LONG $0x244c8b4c; BYTE $0x28 // mov r9, qword [rsp + 40] QUAD $0x0e130a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r9 + 19], 14 QUAD $0x0f13025c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r8 + 19], 15 LONG $0x3875e3c4; WORD $0x01c0 // vinserti128 ymm0, ymm1, xmm0, 1 QUAD $0x00032024847ffdc5; BYTE $0x00 // vmovdqa yword [rsp + 800], ymm0 LONG $0x3865e3c4; WORD $0x01c2 // vinserti128 ymm0, ymm3, xmm2, 1 QUAD $0x00034024847ffdc5; BYTE $0x00 // vmovdqa yword [rsp + 832], ymm0 - QUAD $0x000000f024848b48 // mov rax, qword [rsp + 240] + QUAD $0x000000d824848b48 // mov rax, qword [rsp + 216] LONG $0x027cb60f; BYTE $0x14 // movzx edi, byte [rdx + rax + 20] LONG $0xc76ef9c5 // vmovd xmm0, edi QUAD $0x0000008024b48b48 // mov rsi, qword [rsp + 128] QUAD $0x011432442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 20], 1 - QUAD $0x000000b0249c8b4c // mov r11, qword [rsp + 176] + QUAD $0x000000b8249c8b4c // mov r11, qword [rsp + 184] QUAD $0x02141a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r11 + 20], 2 - QUAD $0x000000c824a48b4c // mov r12, qword [rsp + 200] + QUAD $0x000000f024a48b4c // mov r12, qword [rsp + 240] QUAD $0x031422442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r12 + 20], 3 QUAD $0x000000a024b48b48 // mov rsi, qword [rsp + 160] QUAD $0x041432442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 20], 4 @@ -32613,11 +33885,11 @@ LBB5_169: QUAD $0x051402442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r8 + 20], 5 QUAD $0x000000e824bc8b4c // mov r15, qword [rsp + 232] QUAD $0x06143a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r15 + 20], 6 - LONG $0x24748b48; BYTE $0x60 // mov rsi, qword [rsp + 96] + LONG $0x24748b48; BYTE $0x68 // mov rsi, qword [rsp + 104] QUAD $0x071432442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 20], 7 LONG $0x24748b48; BYTE $0x70 // mov rsi, qword [rsp + 112] QUAD $0x081432442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 20], 8 - LONG $0x24748b48; BYTE $0x38 // mov rsi, qword [rsp + 56] + LONG $0x24748b48; BYTE $0x30 // mov rsi, qword [rsp + 48] QUAD $0x091432442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 20], 9 LONG $0x24748b48; BYTE $0x78 // mov rsi, qword [rsp + 120] QUAD $0x0a1432442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 20], 10 @@ -32627,14 +33899,14 @@ LBB5_169: QUAD $0x0d1432442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r14 + 20], 13 LONG $0x24748b48; BYTE $0x50 // mov rsi, qword [rsp + 80] QUAD $0x0e1432442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 20], 14 - QUAD $0x0000009824b48b48 // mov rsi, qword [rsp + 152] + QUAD $0x000000b024b48b48 // mov rsi, qword [rsp + 176] QUAD $0x0f1432442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 20], 15 QUAD $0x0000010024bc8b48 // mov rdi, qword [rsp + 256] LONG $0x3a7cb60f; BYTE $0x14 // movzx edi, byte [rdx + rdi + 20] LONG $0xcf6ef9c5 // vmovd xmm1, edi QUAD $0x000000e024bc8b48 // mov rdi, qword [rsp + 224] QUAD $0x01143a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 20], 1 - QUAD $0x000000d824bc8b48 // mov rdi, qword [rsp + 216] + QUAD $0x000000c824bc8b48 // mov rdi, qword [rsp + 200] QUAD $0x02143a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 20], 2 QUAD $0x00000088249c8b48 // mov rbx, qword [rsp + 136] QUAD $0x03141a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rbx + 20], 3 @@ -32642,7 +33914,7 @@ LBB5_169: QUAD $0x04143a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 20], 4 LONG $0x247c8b48; BYTE $0x48 // mov rdi, qword [rsp + 72] QUAD $0x05143a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 20], 5 - QUAD $0x000000d024bc8b48 // mov rdi, qword [rsp + 208] + QUAD $0x0000009824bc8b48 // mov rdi, qword [rsp + 152] QUAD $0x06143a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 20], 6 QUAD $0x0000009024bc8b48 // mov rdi, qword [rsp + 144] QUAD $0x07143a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 20], 7 @@ -32650,7 +33922,7 @@ LBB5_169: QUAD $0x00000108248c8b48 // mov rcx, qword [rsp + 264] QUAD $0x09140a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 20], 9 QUAD $0x0a14124c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r10 + 20], 10 - LONG $0x244c8b48; BYTE $0x28 // mov rcx, qword [rsp + 40] + LONG $0x244c8b48; BYTE $0x38 // mov rcx, qword [rsp + 56] QUAD $0x0b140a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 20], 11 LONG $0x244c8b48; BYTE $0x20 // mov rcx, qword [rsp + 32] QUAD $0x0c140a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 20], 12 @@ -32670,17 +33942,17 @@ LBB5_169: QUAD $0x041502542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 21], 4 QUAD $0x051502542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r8 + 21], 5 QUAD $0x06153a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r15 + 21], 6 - LONG $0x24448b4c; BYTE $0x60 // mov r8, qword [rsp + 96] + LONG $0x24448b4c; BYTE $0x68 // mov r8, qword [rsp + 104] QUAD $0x071502542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r8 + 21], 7 LONG $0x247c8b4c; BYTE $0x70 // mov r15, qword [rsp + 112] QUAD $0x08153a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r15 + 21], 8 - LONG $0x24448b48; BYTE $0x38 // mov rax, qword [rsp + 56] + LONG $0x24448b48; BYTE $0x30 // mov rax, qword [rsp + 48] QUAD $0x091502542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 21], 9 LONG $0x24648b4c; BYTE $0x78 // mov r12, qword [rsp + 120] QUAD $0x0a1522542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r12 + 21], 10 LONG $0x24448b48; BYTE $0x58 // mov rax, qword [rsp + 88] QUAD $0x0b1502542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 21], 11 - LONG $0x24448b48; BYTE $0x68 // mov rax, qword [rsp + 104] + LONG $0x24448b48; BYTE $0x60 // mov rax, qword [rsp + 96] QUAD $0x0c1502542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 21], 12 QUAD $0x0d1532542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r14 + 21], 13 LONG $0x24448b48; BYTE $0x50 // mov rax, qword [rsp + 80] @@ -32691,42 +33963,42 @@ LBB5_169: LONG $0xdf6ef9c5 // vmovd xmm3, edi QUAD $0x000000e024b48b4c // mov r14, qword [rsp + 224] QUAD $0x0115325c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r14 + 21], 1 - QUAD $0x000000d824948b4c // mov r10, qword [rsp + 216] + QUAD $0x000000c824948b4c // mov r10, qword [rsp + 200] QUAD $0x0215125c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r10 + 21], 2 QUAD $0x03151a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 21], 3 QUAD $0x000000c0249c8b48 // mov rbx, qword [rsp + 192] QUAD $0x04151a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 21], 4 LONG $0x244c8b48; BYTE $0x48 // mov rcx, qword [rsp + 72] QUAD $0x05150a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 21], 5 - QUAD $0x000000d024b48b48 // mov rsi, qword [rsp + 208] + QUAD $0x0000009824b48b48 // mov rsi, qword [rsp + 152] QUAD $0x0615325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 21], 6 QUAD $0x0000009024b48b48 // mov rsi, qword [rsp + 144] QUAD $0x0715325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 21], 7 - QUAD $0x000000b824b48b48 // mov rsi, qword [rsp + 184] + QUAD $0x000000d024b48b48 // mov rsi, qword [rsp + 208] QUAD $0x0815325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 21], 8 QUAD $0x0000010824b48b48 // mov rsi, qword [rsp + 264] QUAD $0x0915325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 21], 9 LONG $0x247c8b48; BYTE $0x40 // mov rdi, qword [rsp + 64] QUAD $0x0a153a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 21], 10 - LONG $0x247c8b48; BYTE $0x28 // mov rdi, qword [rsp + 40] + LONG $0x247c8b48; BYTE $0x38 // mov rdi, qword [rsp + 56] QUAD $0x0b153a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 21], 11 LONG $0x247c8b48; BYTE $0x20 // mov rdi, qword [rsp + 32] QUAD $0x0c153a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 21], 12 QUAD $0x0000014024bc8b48 // mov rdi, qword [rsp + 320] QUAD $0x0d153a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 21], 13 - LONG $0x247c8b48; BYTE $0x30 // mov rdi, qword [rsp + 48] + LONG $0x247c8b48; BYTE $0x28 // mov rdi, qword [rsp + 40] QUAD $0x0e153a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 21], 14 LONG $0x3875e3c4; WORD $0x01c0 // vinserti128 ymm0, ymm1, xmm0, 1 QUAD $0x0002e024847ffdc5; BYTE $0x00 // vmovdqa yword [rsp + 736], ymm0 QUAD $0x0f150a442061a3c4 // vpinsrb xmm0, xmm3, byte [rdx + r9 + 21], 15 LONG $0x387de3c4; WORD $0x01c2 // vinserti128 ymm0, ymm0, xmm2, 1 QUAD $0x00030024847ffdc5; BYTE $0x00 // vmovdqa yword [rsp + 768], ymm0 - QUAD $0x000000f024bc8b48 // mov rdi, qword [rsp + 240] + QUAD $0x000000d824bc8b48 // mov rdi, qword [rsp + 216] LONG $0x3a7cb60f; BYTE $0x16 // movzx edi, byte [rdx + rdi + 22] LONG $0xc76ef9c5 // vmovd xmm0, edi QUAD $0x0000008024bc8b48 // mov rdi, qword [rsp + 128] QUAD $0x01163a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rdi + 22], 1 - QUAD $0x000000b024bc8b48 // mov rdi, qword [rsp + 176] + QUAD $0x000000b824bc8b48 // mov rdi, qword [rsp + 184] QUAD $0x02163a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rdi + 22], 2 QUAD $0x03162a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r13 + 22], 3 QUAD $0x000000a0248c8b4c // mov r9, qword [rsp + 160] @@ -32737,17 +34009,17 @@ LBB5_169: QUAD $0x06163a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rdi + 22], 6 QUAD $0x071602442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r8 + 22], 7 QUAD $0x08163a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r15 + 22], 8 - LONG $0x247c8b48; BYTE $0x38 // mov rdi, qword [rsp + 56] + LONG $0x247c8b48; BYTE $0x30 // mov rdi, qword [rsp + 48] QUAD $0x09163a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rdi + 22], 9 QUAD $0x0a1622442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r12 + 22], 10 LONG $0x247c8b48; BYTE $0x58 // mov rdi, qword [rsp + 88] QUAD $0x0b163a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rdi + 22], 11 - LONG $0x247c8b48; BYTE $0x68 // mov rdi, qword [rsp + 104] + LONG $0x247c8b48; BYTE $0x60 // mov rdi, qword [rsp + 96] QUAD $0x0c163a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rdi + 22], 12 QUAD $0x000000a824bc8b48 // mov rdi, qword [rsp + 168] QUAD $0x0d163a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rdi + 22], 13 QUAD $0x0e1602442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 22], 14 - QUAD $0x0000009824bc8b4c // mov r15, qword [rsp + 152] + QUAD $0x000000b024bc8b4c // mov r15, qword [rsp + 176] QUAD $0x0f163a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r15 + 22], 15 LONG $0x7cb60f42; WORD $0x161a // movzx edi, byte [rdx + r11 + 22] LONG $0xcf6ef9c5 // vmovd xmm1, edi @@ -32757,31 +34029,31 @@ LBB5_169: QUAD $0x0316024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 22], 3 QUAD $0x04161a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rbx + 22], 4 QUAD $0x05160a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 22], 5 - QUAD $0x000000d024a48b4c // mov r12, qword [rsp + 208] + QUAD $0x0000009824a48b4c // mov r12, qword [rsp + 152] QUAD $0x0616224c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r12 + 22], 6 QUAD $0x00000090249c8b48 // mov rbx, qword [rsp + 144] QUAD $0x07161a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rbx + 22], 7 - QUAD $0x000000b824948b4c // mov r10, qword [rsp + 184] + QUAD $0x000000d024948b4c // mov r10, qword [rsp + 208] QUAD $0x0816124c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r10 + 22], 8 QUAD $0x0916324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 22], 9 LONG $0x24448b48; BYTE $0x40 // mov rax, qword [rsp + 64] QUAD $0x0a16024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 22], 10 - LONG $0x24448b4c; BYTE $0x28 // mov r8, qword [rsp + 40] + LONG $0x24448b4c; BYTE $0x38 // mov r8, qword [rsp + 56] QUAD $0x0b16024c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r8 + 22], 11 LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] QUAD $0x0c16024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 22], 12 QUAD $0x0000014024848b48 // mov rax, qword [rsp + 320] QUAD $0x0d16024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 22], 13 - LONG $0x24448b48; BYTE $0x30 // mov rax, qword [rsp + 48] + LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] QUAD $0x0e16024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 22], 14 QUAD $0x0000012024848b48 // mov rax, qword [rsp + 288] QUAD $0x0f16024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 22], 15 - QUAD $0x000000f024848b48 // mov rax, qword [rsp + 240] + QUAD $0x000000d824848b48 // mov rax, qword [rsp + 216] LONG $0x027cb60f; BYTE $0x17 // movzx edi, byte [rdx + rax + 23] LONG $0xd76ef9c5 // vmovd xmm2, edi QUAD $0x0000008024848b48 // mov rax, qword [rsp + 128] QUAD $0x011702542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 23], 1 - QUAD $0x000000b024848b48 // mov rax, qword [rsp + 176] + QUAD $0x000000b824848b48 // mov rax, qword [rsp + 184] QUAD $0x021702542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 23], 2 WORD $0x894d; BYTE $0xee // mov r14, r13 QUAD $0x03172a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r13 + 23], 3 @@ -32790,17 +34062,17 @@ LBB5_169: QUAD $0x05172a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r13 + 23], 5 QUAD $0x000000e824b48b48 // mov rsi, qword [rsp + 232] QUAD $0x061732542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 23], 6 - LONG $0x244c8b4c; BYTE $0x60 // mov r9, qword [rsp + 96] + LONG $0x244c8b4c; BYTE $0x68 // mov r9, qword [rsp + 104] QUAD $0x07170a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r9 + 23], 7 LONG $0x24448b48; BYTE $0x70 // mov rax, qword [rsp + 112] QUAD $0x081702542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 23], 8 - LONG $0x24448b48; BYTE $0x38 // mov rax, qword [rsp + 56] + LONG $0x24448b48; BYTE $0x30 // mov rax, qword [rsp + 48] QUAD $0x091702542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 23], 9 LONG $0x244c8b48; BYTE $0x78 // mov rcx, qword [rsp + 120] QUAD $0x0a170a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 23], 10 LONG $0x244c8b48; BYTE $0x58 // mov rcx, qword [rsp + 88] QUAD $0x0b170a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 23], 11 - LONG $0x244c8b48; BYTE $0x68 // mov rcx, qword [rsp + 104] + LONG $0x244c8b48; BYTE $0x60 // mov rcx, qword [rsp + 96] QUAD $0x0c170a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 23], 12 QUAD $0x000000a8249c8b4c // mov r11, qword [rsp + 168] QUAD $0x0d171a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r11 + 23], 13 @@ -32812,7 +34084,7 @@ LBB5_169: LONG $0xdf6ef9c5 // vmovd xmm3, edi QUAD $0x000000e024bc8b48 // mov rdi, qword [rsp + 224] QUAD $0x01173a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 23], 1 - QUAD $0x000000d824bc8b48 // mov rdi, qword [rsp + 216] + QUAD $0x000000c824bc8b48 // mov rdi, qword [rsp + 200] QUAD $0x02173a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 23], 2 QUAD $0x0000008824bc8b48 // mov rdi, qword [rsp + 136] QUAD $0x03173a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 23], 3 @@ -32832,18 +34104,18 @@ LBB5_169: QUAD $0x0c173a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 23], 12 QUAD $0x0000014024bc8b48 // mov rdi, qword [rsp + 320] QUAD $0x0d173a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 23], 13 - LONG $0x247c8b48; BYTE $0x30 // mov rdi, qword [rsp + 48] + LONG $0x247c8b48; BYTE $0x28 // mov rdi, qword [rsp + 40] QUAD $0x0e173a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 23], 14 QUAD $0x0000012024bc8b48 // mov rdi, qword [rsp + 288] QUAD $0x0f173a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 23], 15 LONG $0x387563c4; WORD $0x01d0 // vinserti128 ymm10, ymm1, xmm0, 1 LONG $0x386563c4; WORD $0x01da // vinserti128 ymm11, ymm3, xmm2, 1 - QUAD $0x000000f024bc8b48 // mov rdi, qword [rsp + 240] + QUAD $0x000000d824bc8b48 // mov rdi, qword [rsp + 216] LONG $0x3a7cb60f; BYTE $0x18 // movzx edi, byte [rdx + rdi + 24] LONG $0xc76ef9c5 // vmovd xmm0, edi QUAD $0x0000008024bc8b48 // mov rdi, qword [rsp + 128] QUAD $0x01183a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rdi + 24], 1 - QUAD $0x000000b024bc8b4c // mov r15, qword [rsp + 176] + QUAD $0x000000b824bc8b4c // mov r15, qword [rsp + 184] QUAD $0x02183a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r15 + 24], 2 QUAD $0x031832442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r14 + 24], 3 QUAD $0x000000a024bc8b48 // mov rdi, qword [rsp + 160] @@ -32862,14 +34134,14 @@ LBB5_169: QUAD $0x0d181a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r11 + 24], 13 LONG $0x24448b48; BYTE $0x50 // mov rax, qword [rsp + 80] QUAD $0x0e1802442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 24], 14 - QUAD $0x0000009824848b48 // mov rax, qword [rsp + 152] + QUAD $0x000000b024848b48 // mov rax, qword [rsp + 176] QUAD $0x0f1802442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 24], 15 QUAD $0x0000010024b48b4c // mov r14, qword [rsp + 256] LONG $0x7cb60f42; WORD $0x1832 // movzx edi, byte [rdx + r14 + 24] LONG $0xcf6ef9c5 // vmovd xmm1, edi QUAD $0x000000e0248c8b4c // mov r9, qword [rsp + 224] QUAD $0x01180a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r9 + 24], 1 - QUAD $0x000000d824848b48 // mov rax, qword [rsp + 216] + QUAD $0x000000c824848b48 // mov rax, qword [rsp + 200] QUAD $0x0218024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 24], 2 QUAD $0x0000008824848b48 // mov rax, qword [rsp + 136] QUAD $0x0318024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 24], 3 @@ -32877,7 +34149,7 @@ LBB5_169: QUAD $0x04181a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r11 + 24], 4 LONG $0x24448b4c; BYTE $0x48 // mov r8, qword [rsp + 72] QUAD $0x0518024c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r8 + 24], 5 - QUAD $0x000000d024848b48 // mov rax, qword [rsp + 208] + QUAD $0x0000009824848b48 // mov rax, qword [rsp + 152] QUAD $0x0618024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 24], 6 QUAD $0x0000009024848b48 // mov rax, qword [rsp + 144] QUAD $0x0718024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 24], 7 @@ -32886,23 +34158,23 @@ LBB5_169: QUAD $0x09181a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rbx + 24], 9 LONG $0x246c8b4c; BYTE $0x40 // mov r13, qword [rsp + 64] QUAD $0x0a182a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r13 + 24], 10 - LONG $0x244c8b48; BYTE $0x28 // mov rcx, qword [rsp + 40] + LONG $0x244c8b48; BYTE $0x38 // mov rcx, qword [rsp + 56] QUAD $0x0b180a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 24], 11 LONG $0x24748b48; BYTE $0x20 // mov rsi, qword [rsp + 32] QUAD $0x0c18324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 24], 12 QUAD $0x0000014024848b48 // mov rax, qword [rsp + 320] QUAD $0x0d18024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 24], 13 - LONG $0x245c8b48; BYTE $0x30 // mov rbx, qword [rsp + 48] + LONG $0x245c8b48; BYTE $0x28 // mov rbx, qword [rsp + 40] QUAD $0x0e181a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rbx + 24], 14 QUAD $0x0000012024848b48 // mov rax, qword [rsp + 288] QUAD $0x0f18024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 24], 15 - QUAD $0x000000f024848b48 // mov rax, qword [rsp + 240] + QUAD $0x000000d824848b48 // mov rax, qword [rsp + 216] LONG $0x027cb60f; BYTE $0x19 // movzx edi, byte [rdx + rax + 25] LONG $0xd76ef9c5 // vmovd xmm2, edi QUAD $0x0000008024848b48 // mov rax, qword [rsp + 128] QUAD $0x011902542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 25], 1 QUAD $0x02193a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r15 + 25], 2 - QUAD $0x000000c824848b48 // mov rax, qword [rsp + 200] + QUAD $0x000000f024848b48 // mov rax, qword [rsp + 240] QUAD $0x031902542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 25], 3 QUAD $0x000000a024848b48 // mov rax, qword [rsp + 160] QUAD $0x041902542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rax + 25], 4 @@ -32910,37 +34182,37 @@ LBB5_169: QUAD $0x05193a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 25], 5 QUAD $0x000000e824bc8b48 // mov rdi, qword [rsp + 232] QUAD $0x06193a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 25], 6 - LONG $0x247c8b48; BYTE $0x60 // mov rdi, qword [rsp + 96] + LONG $0x247c8b48; BYTE $0x68 // mov rdi, qword [rsp + 104] QUAD $0x07193a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 25], 7 LONG $0x247c8b48; BYTE $0x70 // mov rdi, qword [rsp + 112] QUAD $0x08193a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 25], 8 - LONG $0x247c8b48; BYTE $0x38 // mov rdi, qword [rsp + 56] + LONG $0x247c8b48; BYTE $0x30 // mov rdi, qword [rsp + 48] QUAD $0x09193a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 25], 9 LONG $0x247c8b48; BYTE $0x78 // mov rdi, qword [rsp + 120] QUAD $0x0a193a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 25], 10 QUAD $0x0b1922542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r12 + 25], 11 - LONG $0x247c8b48; BYTE $0x68 // mov rdi, qword [rsp + 104] + LONG $0x247c8b48; BYTE $0x60 // mov rdi, qword [rsp + 96] QUAD $0x0c193a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 25], 12 QUAD $0x000000a824bc8b48 // mov rdi, qword [rsp + 168] QUAD $0x0d193a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 25], 13 LONG $0x247c8b48; BYTE $0x50 // mov rdi, qword [rsp + 80] QUAD $0x0e193a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 25], 14 - QUAD $0x0000009824bc8b4c // mov r15, qword [rsp + 152] + QUAD $0x000000b024bc8b4c // mov r15, qword [rsp + 176] QUAD $0x0f193a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r15 + 25], 15 LONG $0x7cb60f42; WORD $0x1932 // movzx edi, byte [rdx + r14 + 25] LONG $0xdf6ef9c5 // vmovd xmm3, edi QUAD $0x01190a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r9 + 25], 1 - QUAD $0x000000d8248c8b4c // mov r9, qword [rsp + 216] + QUAD $0x000000c8248c8b4c // mov r9, qword [rsp + 200] QUAD $0x02190a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r9 + 25], 2 QUAD $0x0000008824bc8b48 // mov rdi, qword [rsp + 136] QUAD $0x03193a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 25], 3 QUAD $0x04191a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r11 + 25], 4 QUAD $0x0519025c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r8 + 25], 5 - QUAD $0x000000d024bc8b48 // mov rdi, qword [rsp + 208] + QUAD $0x0000009824bc8b48 // mov rdi, qword [rsp + 152] QUAD $0x06193a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 25], 6 QUAD $0x0000009024bc8b48 // mov rdi, qword [rsp + 144] QUAD $0x07193a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 25], 7 - QUAD $0x000000b824bc8b48 // mov rdi, qword [rsp + 184] + QUAD $0x000000d024bc8b48 // mov rdi, qword [rsp + 208] QUAD $0x08193a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 25], 8 QUAD $0x0919125c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r10 + 25], 9 QUAD $0x0a192a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r13 + 25], 10 @@ -32955,31 +34227,31 @@ LBB5_169: QUAD $0x0f190a442061e3c4 // vpinsrb xmm0, xmm3, byte [rdx + rcx + 25], 15 LONG $0x387de3c4; WORD $0x01c2 // vinserti128 ymm0, ymm0, xmm2, 1 QUAD $0x00024024847ffdc5; BYTE $0x00 // vmovdqa yword [rsp + 576], ymm0 - QUAD $0x000000f0249c8b4c // mov r11, qword [rsp + 240] + QUAD $0x000000d8249c8b4c // mov r11, qword [rsp + 216] LONG $0x7cb60f42; WORD $0x1a1a // movzx edi, byte [rdx + r11 + 26] LONG $0xc76ef9c5 // vmovd xmm0, edi QUAD $0x00000080248c8b48 // mov rcx, qword [rsp + 128] QUAD $0x011a0a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 26], 1 - QUAD $0x000000b024848b4c // mov r8, qword [rsp + 176] + QUAD $0x000000b824848b4c // mov r8, qword [rsp + 184] QUAD $0x021a02442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r8 + 26], 2 - QUAD $0x000000c8248c8b48 // mov rcx, qword [rsp + 200] + QUAD $0x000000f0248c8b48 // mov rcx, qword [rsp + 240] QUAD $0x031a0a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 26], 3 QUAD $0x041a02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 26], 4 QUAD $0x000000f824b48b48 // mov rsi, qword [rsp + 248] QUAD $0x051a32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 26], 5 QUAD $0x000000e824848b48 // mov rax, qword [rsp + 232] QUAD $0x061a02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 26], 6 - LONG $0x24448b48; BYTE $0x60 // mov rax, qword [rsp + 96] + LONG $0x24448b48; BYTE $0x68 // mov rax, qword [rsp + 104] QUAD $0x071a02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 26], 7 LONG $0x24448b48; BYTE $0x70 // mov rax, qword [rsp + 112] QUAD $0x081a02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 26], 8 - LONG $0x24448b48; BYTE $0x38 // mov rax, qword [rsp + 56] + LONG $0x24448b48; BYTE $0x30 // mov rax, qword [rsp + 48] QUAD $0x091a02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 26], 9 LONG $0x24648b4c; BYTE $0x78 // mov r12, qword [rsp + 120] QUAD $0x0a1a22442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r12 + 26], 10 LONG $0x24448b48; BYTE $0x58 // mov rax, qword [rsp + 88] QUAD $0x0b1a02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 26], 11 - LONG $0x24448b48; BYTE $0x68 // mov rax, qword [rsp + 104] + LONG $0x24448b48; BYTE $0x60 // mov rax, qword [rsp + 96] QUAD $0x0c1a02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 26], 12 QUAD $0x000000a824848b48 // mov rax, qword [rsp + 168] QUAD $0x0d1a02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 26], 13 @@ -32999,21 +34271,21 @@ LBB5_169: QUAD $0x041a3a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 26], 4 LONG $0x247c8b48; BYTE $0x48 // mov rdi, qword [rsp + 72] QUAD $0x051a3a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 26], 5 - QUAD $0x000000d024bc8b48 // mov rdi, qword [rsp + 208] + QUAD $0x0000009824bc8b48 // mov rdi, qword [rsp + 152] QUAD $0x061a3a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 26], 6 QUAD $0x00000090248c8b4c // mov r9, qword [rsp + 144] QUAD $0x071a0a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r9 + 26], 7 - QUAD $0x000000b824bc8b4c // mov r15, qword [rsp + 184] + QUAD $0x000000d024bc8b4c // mov r15, qword [rsp + 208] QUAD $0x081a3a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r15 + 26], 8 QUAD $0x091a124c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r10 + 26], 9 LONG $0x245c8b48; BYTE $0x40 // mov rbx, qword [rsp + 64] QUAD $0x0a1a1a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rbx + 26], 10 - LONG $0x247c8b48; BYTE $0x28 // mov rdi, qword [rsp + 40] + LONG $0x247c8b48; BYTE $0x38 // mov rdi, qword [rsp + 56] QUAD $0x0b1a3a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 26], 11 LONG $0x247c8b48; BYTE $0x20 // mov rdi, qword [rsp + 32] QUAD $0x0c1a3a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 26], 12 QUAD $0x0d1a2a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r13 + 26], 13 - LONG $0x247c8b48; BYTE $0x30 // mov rdi, qword [rsp + 48] + LONG $0x247c8b48; BYTE $0x28 // mov rdi, qword [rsp + 40] QUAD $0x0e1a3a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 26], 14 QUAD $0x0000012024bc8b48 // mov rdi, qword [rsp + 288] QUAD $0x0f1a3a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 26], 15 @@ -33023,32 +34295,32 @@ LBB5_169: QUAD $0x011b1a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r11 + 27], 1 QUAD $0x021b02542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r8 + 27], 2 QUAD $0x031b0a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 27], 3 - QUAD $0x000000a024848b4c // mov r8, qword [rsp + 160] - QUAD $0x041b02542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r8 + 27], 4 + QUAD $0x000000a0248c8b48 // mov rcx, qword [rsp + 160] + QUAD $0x041b0a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 27], 4 QUAD $0x051b32542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 27], 5 - QUAD $0x000000e824b48b48 // mov rsi, qword [rsp + 232] - QUAD $0x061b32542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 27], 6 - LONG $0x244c8b48; BYTE $0x60 // mov rcx, qword [rsp + 96] - QUAD $0x071b0a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 27], 7 - LONG $0x244c8b48; BYTE $0x70 // mov rcx, qword [rsp + 112] - QUAD $0x081b0a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 27], 8 - LONG $0x244c8b48; BYTE $0x38 // mov rcx, qword [rsp + 56] - QUAD $0x091b0a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 27], 9 + QUAD $0x000000e824ac8b4c // mov r13, qword [rsp + 232] + QUAD $0x061b2a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r13 + 27], 6 + LONG $0x24448b4c; BYTE $0x68 // mov r8, qword [rsp + 104] + QUAD $0x071b02542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r8 + 27], 7 + LONG $0x24748b48; BYTE $0x70 // mov rsi, qword [rsp + 112] + QUAD $0x081b32542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 27], 8 + LONG $0x24748b48; BYTE $0x30 // mov rsi, qword [rsp + 48] + QUAD $0x091b32542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 27], 9 QUAD $0x0a1b22542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r12 + 27], 10 - LONG $0x246c8b4c; BYTE $0x58 // mov r13, qword [rsp + 88] - QUAD $0x0b1b2a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r13 + 27], 11 - LONG $0x244c8b48; BYTE $0x68 // mov rcx, qword [rsp + 104] - QUAD $0x0c1b0a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 27], 12 - QUAD $0x000000a8248c8b48 // mov rcx, qword [rsp + 168] - QUAD $0x0d1b0a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 27], 13 + LONG $0x24748b48; BYTE $0x58 // mov rsi, qword [rsp + 88] + QUAD $0x0b1b32542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rsi + 27], 11 + LONG $0x247c8b48; BYTE $0x60 // mov rdi, qword [rsp + 96] + QUAD $0x0c1b3a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 27], 12 + QUAD $0x000000a824bc8b48 // mov rdi, qword [rsp + 168] + QUAD $0x0d1b3a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 27], 13 QUAD $0x0e1b32542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r14 + 27], 14 - QUAD $0x00000098248c8b48 // mov rcx, qword [rsp + 152] - QUAD $0x0f1b0a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 27], 15 - QUAD $0x00000100248c8b48 // mov rcx, qword [rsp + 256] - LONG $0x0a7cb60f; BYTE $0x1b // movzx edi, byte [rdx + rcx + 27] + QUAD $0x000000b024bc8b48 // mov rdi, qword [rsp + 176] + QUAD $0x0f1b3a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 27], 15 + QUAD $0x0000010024bc8b48 // mov rdi, qword [rsp + 256] + LONG $0x3a7cb60f; BYTE $0x1b // movzx edi, byte [rdx + rdi + 27] LONG $0xdf6ef9c5 // vmovd xmm3, edi - QUAD $0x000000e0248c8b48 // mov rcx, qword [rsp + 224] - QUAD $0x011b0a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 27], 1 + QUAD $0x000000e024bc8b48 // mov rdi, qword [rsp + 224] + QUAD $0x011b3a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 27], 1 QUAD $0x021b025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 27], 2 QUAD $0x0000008824848b48 // mov rax, qword [rsp + 136] QUAD $0x031b025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 27], 3 @@ -33056,155 +34328,154 @@ LBB5_169: QUAD $0x041b325c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r14 + 27], 4 LONG $0x24448b48; BYTE $0x48 // mov rax, qword [rsp + 72] QUAD $0x051b025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 27], 5 - QUAD $0x000000d024848b48 // mov rax, qword [rsp + 208] + QUAD $0x0000009824848b48 // mov rax, qword [rsp + 152] QUAD $0x061b025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 27], 6 QUAD $0x071b0a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r9 + 27], 7 QUAD $0x081b3a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r15 + 27], 8 QUAD $0x091b125c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r10 + 27], 9 QUAD $0x0a1b1a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rbx + 27], 10 - LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] + LONG $0x24448b48; BYTE $0x38 // mov rax, qword [rsp + 56] QUAD $0x0b1b025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 27], 11 LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] QUAD $0x0c1b025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 27], 12 - QUAD $0x00000140248c8b48 // mov rcx, qword [rsp + 320] - QUAD $0x0d1b0a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 27], 13 - LONG $0x24448b48; BYTE $0x30 // mov rax, qword [rsp + 48] - QUAD $0x0e1b025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 27], 14 - QUAD $0x0000012024848b48 // mov rax, qword [rsp + 288] - QUAD $0x0f1b025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 27], 15 + QUAD $0x0000014024848b48 // mov rax, qword [rsp + 320] + QUAD $0x0d1b025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 27], 13 + LONG $0x247c8b48; BYTE $0x28 // mov rdi, qword [rsp + 40] + QUAD $0x0e1b3a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 27], 14 + QUAD $0x0000012024bc8b48 // mov rdi, qword [rsp + 288] + QUAD $0x0f1b3a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rdi + 27], 15 LONG $0x3875e3c4; WORD $0x01c0 // vinserti128 ymm0, ymm1, xmm0, 1 QUAD $0x00026024847ffdc5; BYTE $0x00 // vmovdqa yword [rsp + 608], ymm0 LONG $0x3865e3c4; WORD $0x01c2 // vinserti128 ymm0, ymm3, xmm2, 1 QUAD $0x00028024847ffdc5; BYTE $0x00 // vmovdqa yword [rsp + 640], ymm0 - QUAD $0x000000f024948b4c // mov r10, qword [rsp + 240] - LONG $0x7cb60f42; WORD $0x1c12 // movzx edi, byte [rdx + r10 + 28] + QUAD $0x000000d8248c8b4c // mov r9, qword [rsp + 216] + LONG $0x7cb60f42; WORD $0x1c0a // movzx edi, byte [rdx + r9 + 28] LONG $0xc76ef9c5 // vmovd xmm0, edi QUAD $0x011c1a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r11 + 28], 1 - QUAD $0x000000b024bc8b4c // mov r15, qword [rsp + 176] + QUAD $0x000000b824bc8b4c // mov r15, qword [rsp + 184] QUAD $0x021c3a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r15 + 28], 2 - QUAD $0x000000c824848b48 // mov rax, qword [rsp + 200] - QUAD $0x031c02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 28], 3 - QUAD $0x041c02442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r8 + 28], 4 + QUAD $0x000000f0249c8b4c // mov r11, qword [rsp + 240] + QUAD $0x031c1a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r11 + 28], 3 + QUAD $0x041c0a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 28], 4 QUAD $0x000000f824a48b4c // mov r12, qword [rsp + 248] QUAD $0x051c22442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r12 + 28], 5 - QUAD $0x061c32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 28], 6 - LONG $0x24448b48; BYTE $0x60 // mov rax, qword [rsp + 96] - QUAD $0x071c02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 28], 7 - LONG $0x244c8b4c; BYTE $0x70 // mov r9, qword [rsp + 112] - QUAD $0x081c0a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r9 + 28], 8 - LONG $0x24448b4c; BYTE $0x38 // mov r8, qword [rsp + 56] - QUAD $0x091c02442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r8 + 28], 9 - LONG $0x24448b48; BYTE $0x78 // mov rax, qword [rsp + 120] - QUAD $0x0a1c02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 28], 10 - QUAD $0x0b1c2a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r13 + 28], 11 - LONG $0x245c8b4c; BYTE $0x68 // mov r11, qword [rsp + 104] - QUAD $0x0c1c1a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r11 + 28], 12 - QUAD $0x000000a824848b48 // mov rax, qword [rsp + 168] - QUAD $0x0d1c02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 28], 13 - LONG $0x245c8b48; BYTE $0x50 // mov rbx, qword [rsp + 80] - QUAD $0x0e1c1a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rbx + 28], 14 - QUAD $0x0000009824848b48 // mov rax, qword [rsp + 152] - QUAD $0x0f1c02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 28], 15 - QUAD $0x0000010024848b48 // mov rax, qword [rsp + 256] - LONG $0x027cb60f; BYTE $0x1c // movzx edi, byte [rdx + rax + 28] + QUAD $0x061c2a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r13 + 28], 6 + QUAD $0x071c02442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r8 + 28], 7 + LONG $0x24448b4c; BYTE $0x70 // mov r8, qword [rsp + 112] + QUAD $0x081c02442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r8 + 28], 8 + LONG $0x24548b4c; BYTE $0x30 // mov r10, qword [rsp + 48] + QUAD $0x091c12442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r10 + 28], 9 + LONG $0x244c8b48; BYTE $0x78 // mov rcx, qword [rsp + 120] + QUAD $0x0a1c0a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 28], 10 + QUAD $0x0b1c32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 28], 11 + LONG $0x245c8b48; BYTE $0x60 // mov rbx, qword [rsp + 96] + QUAD $0x0c1c1a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rbx + 28], 12 + QUAD $0x000000a8248c8b48 // mov rcx, qword [rsp + 168] + QUAD $0x0d1c0a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 28], 13 + LONG $0x244c8b48; BYTE $0x50 // mov rcx, qword [rsp + 80] + QUAD $0x0e1c0a442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rcx + 28], 14 + QUAD $0x000000b024b48b48 // mov rsi, qword [rsp + 176] + QUAD $0x0f1c32442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rsi + 28], 15 + QUAD $0x0000010024b48b48 // mov rsi, qword [rsp + 256] + LONG $0x327cb60f; BYTE $0x1c // movzx edi, byte [rdx + rsi + 28] LONG $0xcf6ef9c5 // vmovd xmm1, edi - QUAD $0x000000e024848b48 // mov rax, qword [rsp + 224] - QUAD $0x011c024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 28], 1 - QUAD $0x000000d824848b48 // mov rax, qword [rsp + 216] - QUAD $0x021c024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 28], 2 + QUAD $0x000000e024b48b48 // mov rsi, qword [rsp + 224] + QUAD $0x011c324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 28], 1 + QUAD $0x000000c824b48b48 // mov rsi, qword [rsp + 200] + QUAD $0x021c324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 28], 2 QUAD $0x0000008824b48b48 // mov rsi, qword [rsp + 136] QUAD $0x031c324c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rsi + 28], 3 QUAD $0x041c324c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r14 + 28], 4 LONG $0x247c8b48; BYTE $0x48 // mov rdi, qword [rsp + 72] QUAD $0x051c3a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 28], 5 - QUAD $0x000000d024b48b4c // mov r14, qword [rsp + 208] + QUAD $0x0000009824b48b4c // mov r14, qword [rsp + 152] QUAD $0x061c324c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r14 + 28], 6 QUAD $0x0000009024bc8b48 // mov rdi, qword [rsp + 144] QUAD $0x071c3a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 28], 7 - QUAD $0x000000b824bc8b48 // mov rdi, qword [rsp + 184] + QUAD $0x000000d024bc8b48 // mov rdi, qword [rsp + 208] QUAD $0x081c3a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 28], 8 QUAD $0x0000010824bc8b48 // mov rdi, qword [rsp + 264] QUAD $0x091c3a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 28], 9 LONG $0x247c8b48; BYTE $0x40 // mov rdi, qword [rsp + 64] QUAD $0x0a1c3a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 28], 10 - LONG $0x246c8b4c; BYTE $0x28 // mov r13, qword [rsp + 40] + LONG $0x246c8b4c; BYTE $0x38 // mov r13, qword [rsp + 56] QUAD $0x0b1c2a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r13 + 28], 11 LONG $0x247c8b48; BYTE $0x20 // mov rdi, qword [rsp + 32] QUAD $0x0c1c3a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 28], 12 - QUAD $0x0d1c0a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 28], 13 - LONG $0x244c8b48; BYTE $0x30 // mov rcx, qword [rsp + 48] - QUAD $0x0e1c0a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rcx + 28], 14 + QUAD $0x0d1c024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 28], 13 + LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] + QUAD $0x0e1c024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 28], 14 QUAD $0x0000012024bc8b48 // mov rdi, qword [rsp + 288] QUAD $0x0f1c3a4c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rdi + 28], 15 - LONG $0x7cb60f42; WORD $0x1d12 // movzx edi, byte [rdx + r10 + 29] + LONG $0x7cb60f42; WORD $0x1d0a // movzx edi, byte [rdx + r9 + 29] LONG $0xd76ef9c5 // vmovd xmm2, edi - QUAD $0x0000008024948b4c // mov r10, qword [rsp + 128] - QUAD $0x011d12542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r10 + 29], 1 + QUAD $0x00000080248c8b4c // mov r9, qword [rsp + 128] + QUAD $0x011d0a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r9 + 29], 1 QUAD $0x021d3a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r15 + 29], 2 - QUAD $0x000000c824bc8b48 // mov rdi, qword [rsp + 200] - QUAD $0x031d3a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 29], 3 + QUAD $0x031d1a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r11 + 29], 3 QUAD $0x000000a024bc8b48 // mov rdi, qword [rsp + 160] QUAD $0x041d3a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 29], 4 QUAD $0x051d22542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r12 + 29], 5 QUAD $0x000000e824bc8b4c // mov r15, qword [rsp + 232] QUAD $0x061d3a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r15 + 29], 6 - LONG $0x247c8b48; BYTE $0x60 // mov rdi, qword [rsp + 96] + LONG $0x247c8b48; BYTE $0x68 // mov rdi, qword [rsp + 104] QUAD $0x071d3a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 29], 7 - QUAD $0x081d0a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r9 + 29], 8 - QUAD $0x091d02542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r8 + 29], 9 - LONG $0x24648b4c; BYTE $0x78 // mov r12, qword [rsp + 120] - QUAD $0x0a1d22542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r12 + 29], 10 - LONG $0x244c8b4c; BYTE $0x58 // mov r9, qword [rsp + 88] - QUAD $0x0b1d0a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r9 + 29], 11 - QUAD $0x0c1d1a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r11 + 29], 12 + QUAD $0x081d02542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r8 + 29], 8 + QUAD $0x091d12542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r10 + 29], 9 + LONG $0x245c8b4c; BYTE $0x78 // mov r11, qword [rsp + 120] + QUAD $0x0a1d1a542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r11 + 29], 10 + LONG $0x24448b4c; BYTE $0x58 // mov r8, qword [rsp + 88] + QUAD $0x0b1d02542069a3c4 // vpinsrb xmm2, xmm2, byte [rdx + r8 + 29], 11 + QUAD $0x0c1d1a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rbx + 29], 12 QUAD $0x000000a824bc8b48 // mov rdi, qword [rsp + 168] QUAD $0x0d1d3a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 29], 13 - QUAD $0x0e1d1a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rbx + 29], 14 - QUAD $0x0000009824bc8b48 // mov rdi, qword [rsp + 152] - QUAD $0x0f1d3a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rdi + 29], 15 - QUAD $0x0000010024848b4c // mov r8, qword [rsp + 256] - LONG $0x7cb60f42; WORD $0x1d02 // movzx edi, byte [rdx + r8 + 29] + QUAD $0x0e1d0a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 29], 14 + QUAD $0x000000b0248c8b48 // mov rcx, qword [rsp + 176] + QUAD $0x0f1d0a542069e3c4 // vpinsrb xmm2, xmm2, byte [rdx + rcx + 29], 15 + QUAD $0x00000100249c8b48 // mov rbx, qword [rsp + 256] + LONG $0x1a7cb60f; BYTE $0x1d // movzx edi, byte [rdx + rbx + 29] LONG $0xdf6ef9c5 // vmovd xmm3, edi - QUAD $0x000000e0249c8b4c // mov r11, qword [rsp + 224] - QUAD $0x011d1a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r11 + 29], 1 - QUAD $0x021d025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 29], 2 + QUAD $0x000000e024a48b4c // mov r12, qword [rsp + 224] + QUAD $0x011d225c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r12 + 29], 1 + QUAD $0x000000c824948b4c // mov r10, qword [rsp + 200] + QUAD $0x021d125c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r10 + 29], 2 QUAD $0x031d325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 29], 3 QUAD $0x000000c024b48b48 // mov rsi, qword [rsp + 192] QUAD $0x041d325c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rsi + 29], 4 - LONG $0x24448b48; BYTE $0x48 // mov rax, qword [rsp + 72] - QUAD $0x051d025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 29], 5 + LONG $0x244c8b48; BYTE $0x48 // mov rcx, qword [rsp + 72] + QUAD $0x051d0a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 29], 5 QUAD $0x061d325c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r14 + 29], 6 - QUAD $0x0000009024848b48 // mov rax, qword [rsp + 144] - QUAD $0x071d025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 29], 7 - QUAD $0x000000b824848b48 // mov rax, qword [rsp + 184] - QUAD $0x081d025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 29], 8 - QUAD $0x0000010824848b48 // mov rax, qword [rsp + 264] - QUAD $0x091d025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 29], 9 - LONG $0x24448b48; BYTE $0x40 // mov rax, qword [rsp + 64] - QUAD $0x0a1d025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 29], 10 + QUAD $0x00000090248c8b48 // mov rcx, qword [rsp + 144] + QUAD $0x071d0a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 29], 7 + QUAD $0x000000d0248c8b48 // mov rcx, qword [rsp + 208] + QUAD $0x081d0a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 29], 8 + QUAD $0x00000108248c8b48 // mov rcx, qword [rsp + 264] + QUAD $0x091d0a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 29], 9 + LONG $0x244c8b48; BYTE $0x40 // mov rcx, qword [rsp + 64] + QUAD $0x0a1d0a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 29], 10 QUAD $0x0b1d2a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r13 + 29], 11 LONG $0x246c8b4c; BYTE $0x20 // mov r13, qword [rsp + 32] QUAD $0x0c1d2a5c2061a3c4 // vpinsrb xmm3, xmm3, byte [rdx + r13 + 29], 12 - QUAD $0x0000014024848b48 // mov rax, qword [rsp + 320] - QUAD $0x0d1d025c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rax + 29], 13 - QUAD $0x0e1d0a642061e3c4 // vpinsrb xmm4, xmm3, byte [rdx + rcx + 29], 14 + QUAD $0x00000140248c8b48 // mov rcx, qword [rsp + 320] + QUAD $0x0d1d0a5c2061e3c4 // vpinsrb xmm3, xmm3, byte [rdx + rcx + 29], 13 + QUAD $0x0e1d02642061e3c4 // vpinsrb xmm4, xmm3, byte [rdx + rax + 29], 14 LONG $0x3875e3c4; WORD $0x01c0 // vinserti128 ymm0, ymm1, xmm0, 1 QUAD $0x0002a024847ffdc5; BYTE $0x00 // vmovdqa yword [rsp + 672], ymm0 QUAD $0x0000012024848b48 // mov rax, qword [rsp + 288] QUAD $0x0f1d02442059e3c4 // vpinsrb xmm0, xmm4, byte [rdx + rax + 29], 15 LONG $0x387de3c4; WORD $0x01c2 // vinserti128 ymm0, ymm0, xmm2, 1 QUAD $0x0002c024847ffdc5; BYTE $0x00 // vmovdqa yword [rsp + 704], ymm0 - QUAD $0x000000f0248c8b48 // mov rcx, qword [rsp + 240] + QUAD $0x000000d8248c8b48 // mov rcx, qword [rsp + 216] LONG $0x0a7cb60f; BYTE $0x1e // movzx edi, byte [rdx + rcx + 30] LONG $0xc76ef9c5 // vmovd xmm0, edi - QUAD $0x011e12442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r10 + 30], 1 + QUAD $0x011e0a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r9 + 30], 1 LONG $0x0a7cb60f; BYTE $0x1f // movzx edi, byte [rdx + rcx + 31] LONG $0xcf6ef9c5 // vmovd xmm1, edi - QUAD $0x011f124c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r10 + 31], 1 - QUAD $0x000000b024848b48 // mov rax, qword [rsp + 176] + QUAD $0x011f0a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r9 + 31], 1 + QUAD $0x000000b824848b48 // mov rax, qword [rsp + 184] QUAD $0x021e02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 30], 2 QUAD $0x021f024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 31], 2 - QUAD $0x000000c824848b48 // mov rax, qword [rsp + 200] + QUAD $0x000000f024848b48 // mov rax, qword [rsp + 240] QUAD $0x031e02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 30], 3 QUAD $0x031f024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 31], 3 QUAD $0x000000a024848b48 // mov rax, qword [rsp + 160] @@ -33215,21 +34486,21 @@ LBB5_169: QUAD $0x051f024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 31], 5 QUAD $0x061e3a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r15 + 30], 6 QUAD $0x061f3a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r15 + 31], 6 - LONG $0x24448b48; BYTE $0x60 // mov rax, qword [rsp + 96] + LONG $0x24448b48; BYTE $0x68 // mov rax, qword [rsp + 104] QUAD $0x071e02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 30], 7 QUAD $0x071f024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 31], 7 - QUAD $0x0000011024bc8b4c // mov r15, qword [rsp + 272] + QUAD $0x0000011024bc8b48 // mov rdi, qword [rsp + 272] LONG $0x24448b48; BYTE $0x70 // mov rax, qword [rsp + 112] QUAD $0x081e02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 30], 8 QUAD $0x081f024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 31], 8 - LONG $0x24448b48; BYTE $0x38 // mov rax, qword [rsp + 56] + LONG $0x24448b48; BYTE $0x30 // mov rax, qword [rsp + 48] QUAD $0x091e02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 30], 9 QUAD $0x091f024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 31], 9 - QUAD $0x0a1e22442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r12 + 30], 10 - QUAD $0x0a1f224c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r12 + 31], 10 - QUAD $0x0b1e0a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r9 + 30], 11 - QUAD $0x0b1f0a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r9 + 31], 11 - LONG $0x24448b48; BYTE $0x68 // mov rax, qword [rsp + 104] + QUAD $0x0a1e1a442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r11 + 30], 10 + QUAD $0x0a1f1a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r11 + 31], 10 + QUAD $0x0b1e02442079a3c4 // vpinsrb xmm0, xmm0, byte [rdx + r8 + 30], 11 + QUAD $0x0b1f024c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r8 + 31], 11 + LONG $0x24448b48; BYTE $0x60 // mov rax, qword [rsp + 96] QUAD $0x0c1e02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 30], 12 QUAD $0x0c1f024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 31], 12 QUAD $0x000000a824848b48 // mov rax, qword [rsp + 168] @@ -33238,17 +34509,15 @@ LBB5_169: LONG $0x24448b48; BYTE $0x50 // mov rax, qword [rsp + 80] QUAD $0x0e1e02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 30], 14 QUAD $0x0e1f024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 31], 14 - QUAD $0x0000009824848b48 // mov rax, qword [rsp + 152] + QUAD $0x000000b024848b48 // mov rax, qword [rsp + 176] QUAD $0x0f1e02442079e3c4 // vpinsrb xmm0, xmm0, byte [rdx + rax + 30], 15 QUAD $0x0f1f02542071e3c4 // vpinsrb xmm2, xmm1, byte [rdx + rax + 31], 15 - WORD $0x894c; BYTE $0xc1 // mov rcx, r8 - LONG $0x44b60f42; WORD $0x1e02 // movzx eax, byte [rdx + r8 + 30] + LONG $0x1a44b60f; BYTE $0x1e // movzx eax, byte [rdx + rbx + 30] LONG $0xc86ef9c5 // vmovd xmm1, eax - QUAD $0x011e1a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r11 + 30], 1 - LONG $0x44b60f42; WORD $0x1f02 // movzx eax, byte [rdx + r8 + 31] + QUAD $0x011e224c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r12 + 30], 1 + LONG $0x1a44b60f; BYTE $0x1f // movzx eax, byte [rdx + rbx + 31] LONG $0xf86ef9c5 // vmovd xmm7, eax - QUAD $0x011f1a7c2041a3c4 // vpinsrb xmm7, xmm7, byte [rdx + r11 + 31], 1 - QUAD $0x000000d824948b4c // mov r10, qword [rsp + 216] + QUAD $0x011f227c2041a3c4 // vpinsrb xmm7, xmm7, byte [rdx + r12 + 31], 1 QUAD $0x021e124c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r10 + 30], 2 QUAD $0x021f127c2041a3c4 // vpinsrb xmm7, xmm7, byte [rdx + r10 + 31], 2 QUAD $0x0000008824848b48 // mov rax, qword [rsp + 136] @@ -33259,12 +34528,13 @@ LBB5_169: LONG $0x24448b48; BYTE $0x48 // mov rax, qword [rsp + 72] QUAD $0x051e024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 30], 5 QUAD $0x051f027c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rax + 31], 5 - QUAD $0x061e324c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r14 + 30], 6 - QUAD $0x061f327c2041a3c4 // vpinsrb xmm7, xmm7, byte [rdx + r14 + 31], 6 + QUAD $0x0000009824848b48 // mov rax, qword [rsp + 152] + QUAD $0x061e024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 30], 6 + QUAD $0x061f027c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rax + 31], 6 QUAD $0x0000009024848b48 // mov rax, qword [rsp + 144] QUAD $0x071e024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 30], 7 QUAD $0x071f027c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rax + 31], 7 - QUAD $0x000000b824848b48 // mov rax, qword [rsp + 184] + QUAD $0x000000d024848b48 // mov rax, qword [rsp + 208] QUAD $0x081e024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 30], 8 QUAD $0x081f027c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rax + 31], 8 QUAD $0x0000010824848b48 // mov rax, qword [rsp + 264] @@ -33273,7 +34543,7 @@ LBB5_169: LONG $0x24448b48; BYTE $0x40 // mov rax, qword [rsp + 64] QUAD $0x0a1e024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 30], 10 QUAD $0x0a1f027c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rax + 31], 10 - LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] + LONG $0x24448b48; BYTE $0x38 // mov rax, qword [rsp + 56] QUAD $0x0b1e024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 30], 11 QUAD $0x0b1f027c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rax + 31], 11 QUAD $0x0c1e2a4c2071a3c4 // vpinsrb xmm1, xmm1, byte [rdx + r13 + 30], 12 @@ -33281,7 +34551,7 @@ LBB5_169: QUAD $0x0000014024848b48 // mov rax, qword [rsp + 320] QUAD $0x0d1e024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 30], 13 QUAD $0x0d1f027c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rax + 31], 13 - LONG $0x24448b48; BYTE $0x30 // mov rax, qword [rsp + 48] + LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] QUAD $0x0e1e024c2071e3c4 // vpinsrb xmm1, xmm1, byte [rdx + rax + 30], 14 QUAD $0x0e1f027c2041e3c4 // vpinsrb xmm7, xmm7, byte [rdx + rax + 31], 14 QUAD $0x0000012024848b48 // mov rax, qword [rsp + 288] @@ -33407,10 +34677,10 @@ LBB5_169: LONG $0x3865e3c4; WORD $0x01e0 // vinserti128 ymm4, ymm3, xmm0, 1 LONG $0x4665e3c4; WORD $0x31c0 // vperm2i128 ymm0, ymm3, ymm0, 49 QUAD $0x00000198248c8b48 // mov rcx, qword [rsp + 408] - LONG $0x7f7ec1c4; WORD $0x8f44; BYTE $0x60 // vmovdqu yword [r15 + 4*rcx + 96], ymm0 - LONG $0x7f7ec1c4; WORD $0x8f54; BYTE $0x40 // vmovdqu yword [r15 + 4*rcx + 64], ymm2 - LONG $0x7f7ec1c4; WORD $0x8f64; BYTE $0x20 // vmovdqu yword [r15 + 4*rcx + 32], ymm4 - LONG $0x7f7ec1c4; WORD $0x8f0c // vmovdqu yword [r15 + 4*rcx], ymm1 + LONG $0x447ffec5; WORD $0x608f // vmovdqu yword [rdi + 4*rcx + 96], ymm0 + LONG $0x547ffec5; WORD $0x408f // vmovdqu yword [rdi + 4*rcx + 64], ymm2 + LONG $0x647ffec5; WORD $0x208f // vmovdqu yword [rdi + 4*rcx + 32], ymm4 + LONG $0x0c7ffec5; BYTE $0x8f // vmovdqu yword [rdi + 4*rcx], ymm1 LONG $0x20c18348 // add rcx, 32 WORD $0x8948; BYTE $0xcb // mov rbx, rcx QUAD $0x00000178248c3b48 // cmp rcx, qword [rsp + 376] @@ -33421,8 +34691,8 @@ LBB5_169: QUAD $0x0000019024ac8b4c // mov r13, qword [rsp + 400] QUAD $0x0000018824948b48 // mov rdx, qword [rsp + 392] QUAD $0x0000011824948b4c // mov r10, qword [rsp + 280] - JNE LBB5_114 - JMP LBB5_133 + JNE LBB5_117 + JMP LBB5_120 TEXT ·_comparison_greater_arr_arr_avx2(SB), $80-48 @@ -36157,11 +37427,11 @@ TEXT ·_comparison_greater_arr_scalar_avx2(SB), $1384-48 WORD $0xff83; BYTE $0x03 // cmp edi, 3 JLE LBB7_2 WORD $0xff83; BYTE $0x04 // cmp edi, 4 - JE LBB7_79 + JE LBB7_84 WORD $0xff83; BYTE $0x05 // cmp edi, 5 - JE LBB7_95 + JE LBB7_102 WORD $0xff83; BYTE $0x06 // cmp edi, 6 - JNE LBB7_192 + JNE LBB7_191 WORD $0x8b44; BYTE $0x2a // mov r13d, dword [rdx] LONG $0x1f7a8d4d // lea r15, [r10 + 31] WORD $0x854d; BYTE $0xd2 // test r10, r10 @@ -36206,7 +37476,7 @@ LBB7_17: QUAD $0x0000008824bc894c // mov qword [rsp + 136], r15 QUAD $0x000000f0249c894c // mov qword [rsp + 240], r11 -LBB7_113: +LBB7_120: WORD $0x3944; BYTE $0x2e // cmp dword [rsi], r13d LONG $0x2454970f; BYTE $0x78 // seta byte [rsp + 120] LONG $0x046e3944 // cmp dword [rsi + 4], r13d @@ -36358,240 +37628,278 @@ LBB7_113: WORD $0x0841; BYTE $0xc8 // or r8b, cl LONG $0x027a8844 // mov byte [rdx + 2], r15b LONG $0x03428844 // mov byte [rdx + 3], r8b - LONG $0x80c68148; WORD $0x0000; BYTE $0x00 // add rsi, 128 - LONG $0x04c28348 // add rdx, 4 - QUAD $0x000000f024948948 // mov qword [rsp + 240], rdx - QUAD $0x0000008824848348; BYTE $0xff // add qword [rsp + 136], -1 - JNE LBB7_113 - QUAD $0x000000f024b48b4c // mov r14, qword [rsp + 240] - QUAD $0x000000f824948b4c // mov r10, qword [rsp + 248] - QUAD $0x0000009024bc8b4c // mov r15, qword [rsp + 144] - LONG $0x05e7c149 // shl r15, 5 - WORD $0x394d; BYTE $0xd7 // cmp r15, r10 - JL LBB7_116 - JMP LBB7_192 - -LBB7_19: - WORD $0xff83; BYTE $0x08 // cmp edi, 8 - JLE LBB7_20 - WORD $0xff83; BYTE $0x09 // cmp edi, 9 - JE LBB7_148 - WORD $0xff83; BYTE $0x0b // cmp edi, 11 - JE LBB7_164 - WORD $0xff83; BYTE $0x0c // cmp edi, 12 - JNE LBB7_192 - LONG $0x1f7a8d4d // lea r15, [r10 + 31] - WORD $0x854d; BYTE $0xd2 // test r10, r10 - LONG $0xfa490f4d // cmovns r15, r10 - LONG $0x07418d41 // lea eax, [r9 + 7] - WORD $0x8545; BYTE $0xc9 // test r9d, r9d - LONG $0xc1490f41 // cmovns eax, r9d - WORD $0xe083; BYTE $0xf8 // and eax, -8 - LONG $0x0210fbc5 // vmovsd xmm0, qword [rdx] - WORD $0x2941; BYTE $0xc1 // sub r9d, eax - JE LBB7_35 - WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d - -LBB7_33: - LONG $0x062ef9c5 // vucomisd xmm0, qword [rsi] - LONG $0x08768d48 // lea rsi, [rsi + 8] - WORD $0xd219 // sbb edx, edx - LONG $0x07788d48 // lea rdi, [rax + 7] - WORD $0x8548; BYTE $0xc0 // test rax, rax - LONG $0xf8490f48 // cmovns rdi, rax - LONG $0x03ffc148 // sar rdi, 3 - LONG $0x0cb60f45; BYTE $0x3b // movzx r9d, byte [r11 + rdi] - WORD $0x3044; BYTE $0xca // xor dl, r9b - QUAD $0x00000000fd048d44 // lea r8d, [8*rdi] - WORD $0xc189 // mov ecx, eax - WORD $0x2944; BYTE $0xc1 // sub ecx, r8d - LONG $0x000001bb; BYTE $0x00 // mov ebx, 1 - WORD $0xe3d3 // shl ebx, cl - WORD $0xd320 // and bl, dl - WORD $0x3044; BYTE $0xcb // xor bl, r9b - LONG $0x3b1c8841 // mov byte [r11 + rdi], bl - LONG $0x01c08348 // add rax, 1 - LONG $0x08f88348 // cmp rax, 8 - JNE LBB7_33 - LONG $0x01c38349 // add r11, 1 - -LBB7_35: - LONG $0x05ffc149 // sar r15, 5 - LONG $0x20fa8349 // cmp r10, 32 - JL LBB7_36 - QUAD $0x000000f82494894c // mov qword [rsp + 248], r10 - QUAD $0x0000008824bc894c // mov qword [rsp + 136], r15 - LONG $0x247c894c; BYTE $0x78 // mov qword [rsp + 120], r15 - QUAD $0x000000f0249c894c // mov qword [rsp + 240], r11 - -LBB7_181: - LONG $0x062ef9c5 // vucomisd xmm0, qword [rsi] - QUAD $0x000000802494920f // setb byte [rsp + 128] - LONG $0x462ef9c5; BYTE $0x08 // vucomisd xmm0, qword [rsi + 8] - LONG $0xd1920f41 // setb r9b - LONG $0x462ef9c5; BYTE $0x10 // vucomisd xmm0, qword [rsi + 16] - LONG $0xd6920f41 // setb r14b - LONG $0x462ef9c5; BYTE $0x18 // vucomisd xmm0, qword [rsi + 24] - LONG $0xd5920f41 // setb r13b - LONG $0x462ef9c5; BYTE $0x20 // vucomisd xmm0, qword [rsi + 32] - LONG $0x2454920f; BYTE $0x58 // setb byte [rsp + 88] - LONG $0x462ef9c5; BYTE $0x28 // vucomisd xmm0, qword [rsi + 40] - LONG $0x2454920f; BYTE $0x30 // setb byte [rsp + 48] - LONG $0x462ef9c5; BYTE $0x30 // vucomisd xmm0, qword [rsi + 48] - WORD $0x920f; BYTE $0xd0 // setb al - LONG $0x462ef9c5; BYTE $0x38 // vucomisd xmm0, qword [rsi + 56] - WORD $0x920f; BYTE $0xd3 // setb bl - LONG $0x462ef9c5; BYTE $0x40 // vucomisd xmm0, qword [rsi + 64] - LONG $0x2454920f; BYTE $0x70 // setb byte [rsp + 112] - LONG $0x462ef9c5; BYTE $0x48 // vucomisd xmm0, qword [rsi + 72] - WORD $0x920f; BYTE $0xd2 // setb dl - LONG $0x462ef9c5; BYTE $0x50 // vucomisd xmm0, qword [rsi + 80] - LONG $0xd7920f40 // setb dil - LONG $0x462ef9c5; BYTE $0x58 // vucomisd xmm0, qword [rsi + 88] - LONG $0xd2920f41 // setb r10b - LONG $0x462ef9c5; BYTE $0x60 // vucomisd xmm0, qword [rsi + 96] - LONG $0xd3920f41 // setb r11b - LONG $0x462ef9c5; BYTE $0x68 // vucomisd xmm0, qword [rsi + 104] - LONG $0xd4920f41 // setb r12b - LONG $0x462ef9c5; BYTE $0x70 // vucomisd xmm0, qword [rsi + 112] - LONG $0x2454920f; BYTE $0x48 // setb byte [rsp + 72] - LONG $0x462ef9c5; BYTE $0x78 // vucomisd xmm0, qword [rsi + 120] - WORD $0x920f; BYTE $0xd1 // setb cl - QUAD $0x00000080862ef9c5 // vucomisd xmm0, qword [rsi + 128] - LONG $0x2454920f; BYTE $0x40 // setb byte [rsp + 64] - QUAD $0x00000088862ef9c5 // vucomisd xmm0, qword [rsi + 136] - LONG $0x2454920f; BYTE $0x68 // setb byte [rsp + 104] - QUAD $0x00000090862ef9c5 // vucomisd xmm0, qword [rsi + 144] - LONG $0x2454920f; BYTE $0x50 // setb byte [rsp + 80] - QUAD $0x00000098862ef9c5 // vucomisd xmm0, qword [rsi + 152] - LONG $0x2454920f; BYTE $0x60 // setb byte [rsp + 96] - QUAD $0x000000a0862ef9c5 // vucomisd xmm0, qword [rsi + 160] - LONG $0x2454920f; BYTE $0x28 // setb byte [rsp + 40] - QUAD $0x000000a8862ef9c5 // vucomisd xmm0, qword [rsi + 168] - LONG $0x2454920f; BYTE $0x38 // setb byte [rsp + 56] - QUAD $0x000000b0862ef9c5 // vucomisd xmm0, qword [rsi + 176] - LONG $0x2454920f; BYTE $0x18 // setb byte [rsp + 24] - QUAD $0x000000b8862ef9c5 // vucomisd xmm0, qword [rsi + 184] - LONG $0xd7920f41 // setb r15b - QUAD $0x000000c0862ef9c5 // vucomisd xmm0, qword [rsi + 192] - QUAD $0x000001402494920f // setb byte [rsp + 320] - QUAD $0x000000c8862ef9c5 // vucomisd xmm0, qword [rsi + 200] - LONG $0x2454920f; BYTE $0x20 // setb byte [rsp + 32] - QUAD $0x000000d0862ef9c5 // vucomisd xmm0, qword [rsi + 208] - LONG $0x2454920f; BYTE $0x10 // setb byte [rsp + 16] - QUAD $0x000000d8862ef9c5 // vucomisd xmm0, qword [rsi + 216] - LONG $0x2454920f; BYTE $0x08 // setb byte [rsp + 8] - QUAD $0x000000e0862ef9c5 // vucomisd xmm0, qword [rsi + 224] - QUAD $0x000001202494920f // setb byte [rsp + 288] - QUAD $0x000000e8862ef9c5 // vucomisd xmm0, qword [rsi + 232] - QUAD $0x000001002494920f // setb byte [rsp + 256] - QUAD $0x000000f0862ef9c5 // vucomisd xmm0, qword [rsi + 240] - LONG $0x2454920f; BYTE $0x04 // setb byte [rsp + 4] - QUAD $0x000000f8862ef9c5 // vucomisd xmm0, qword [rsi + 248] - LONG $0xd0920f41 // setb r8b - WORD $0x0045; BYTE $0xc9 // add r9b, r9b - QUAD $0x00000080248c0244 // add r9b, byte [rsp + 128] - WORD $0xe0c0; BYTE $0x06 // shl al, 6 - WORD $0xe3c0; BYTE $0x07 // shl bl, 7 - WORD $0xc308 // or bl, al - LONG $0x02e6c041 // shl r14b, 2 - WORD $0x0845; BYTE $0xce // or r14b, r9b - WORD $0xd200 // add dl, dl - LONG $0x70245402 // add dl, byte [rsp + 112] - LONG $0x03e5c041 // shl r13b, 3 - WORD $0x0845; BYTE $0xf5 // or r13b, r14b - LONG $0x02e7c040 // shl dil, 2 - WORD $0x0840; BYTE $0xd7 // or dil, dl - LONG $0x2454b60f; BYTE $0x58 // movzx edx, byte [rsp + 88] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0x0844; BYTE $0xea // or dl, r13b - WORD $0x8941; BYTE $0xd1 // mov r9d, edx - LONG $0x03e2c041 // shl r10b, 3 - WORD $0x0841; BYTE $0xfa // or r10b, dil - LONG $0x2454b60f; BYTE $0x30 // movzx edx, byte [rsp + 48] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0844; BYTE $0xca // or dl, r9b - LONG $0x04e3c041 // shl r11b, 4 - WORD $0x0845; BYTE $0xd3 // or r11b, r10b - LONG $0x05e4c041 // shl r12b, 5 - WORD $0x0845; BYTE $0xdc // or r12b, r11b - LONG $0x247cb60f; BYTE $0x48 // movzx edi, byte [rsp + 72] - LONG $0x06e7c040 // shl dil, 6 - WORD $0xe1c0; BYTE $0x07 // shl cl, 7 - WORD $0x0840; BYTE $0xf9 // or cl, dil - WORD $0xd308 // or bl, dl - WORD $0x0844; BYTE $0xe1 // or cl, r12b - LONG $0x2444b60f; BYTE $0x68 // movzx eax, byte [rsp + 104] - WORD $0xc000 // add al, al - LONG $0x40244402 // add al, byte [rsp + 64] - LONG $0x2454b60f; BYTE $0x50 // movzx edx, byte [rsp + 80] - WORD $0xe2c0; BYTE $0x02 // shl dl, 2 - WORD $0xc208 // or dl, al - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x60 // movzx edx, byte [rsp + 96] - WORD $0xe2c0; BYTE $0x03 // shl dl, 3 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x28 // movzx edx, byte [rsp + 40] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x38 // movzx edx, byte [rsp + 56] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - QUAD $0x000000f024948b48 // mov rdx, qword [rsp + 240] - WORD $0x1a88 // mov byte [rdx], bl - LONG $0x245cb60f; BYTE $0x18 // movzx ebx, byte [rsp + 24] - WORD $0xe3c0; BYTE $0x06 // shl bl, 6 - LONG $0x07e7c041 // shl r15b, 7 - WORD $0x0841; BYTE $0xdf // or r15b, bl - WORD $0x4a88; BYTE $0x01 // mov byte [rdx + 1], cl - WORD $0x0841; BYTE $0xff // or r15b, dil - LONG $0x244cb60f; BYTE $0x20 // movzx ecx, byte [rsp + 32] - WORD $0xc900 // add cl, cl - LONG $0x40248c02; WORD $0x0001; BYTE $0x00 // add cl, byte [rsp + 320] - WORD $0xcb89 // mov ebx, ecx - LONG $0x244cb60f; BYTE $0x10 // movzx ecx, byte [rsp + 16] - WORD $0xe1c0; BYTE $0x02 // shl cl, 2 - WORD $0xd908 // or cl, bl - WORD $0xcb89 // mov ebx, ecx - LONG $0x244cb60f; BYTE $0x08 // movzx ecx, byte [rsp + 8] - WORD $0xe1c0; BYTE $0x03 // shl cl, 3 - WORD $0xd908 // or cl, bl - WORD $0xcb89 // mov ebx, ecx - QUAD $0x00000120248cb60f // movzx ecx, byte [rsp + 288] - WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0xd908 // or cl, bl - WORD $0xcb89 // mov ebx, ecx - QUAD $0x00000100248cb60f // movzx ecx, byte [rsp + 256] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0xd908 // or cl, bl - LONG $0x245cb60f; BYTE $0x04 // movzx ebx, byte [rsp + 4] - WORD $0xe3c0; BYTE $0x06 // shl bl, 6 - LONG $0x07e0c041 // shl r8b, 7 - WORD $0x0841; BYTE $0xd8 // or r8b, bl - WORD $0x0841; BYTE $0xc8 // or r8b, cl - LONG $0x027a8844 // mov byte [rdx + 2], r15b - LONG $0x03428844 // mov byte [rdx + 3], r8b - LONG $0x00c68148; WORD $0x0001; BYTE $0x00 // add rsi, 256 + LONG $0x80c68148; WORD $0x0000; BYTE $0x00 // add rsi, 128 LONG $0x04c28348 // add rdx, 4 QUAD $0x000000f024948948 // mov qword [rsp + 240], rdx - LONG $0x24448348; WORD $0xff78 // add qword [rsp + 120], -1 - JNE LBB7_181 + QUAD $0x0000008824848348; BYTE $0xff // add qword [rsp + 136], -1 + JNE LBB7_120 QUAD $0x000000f024b48b4c // mov r14, qword [rsp + 240] QUAD $0x000000f824948b4c // mov r10, qword [rsp + 248] - QUAD $0x0000008824bc8b4c // mov r15, qword [rsp + 136] + QUAD $0x0000009024bc8b4c // mov r15, qword [rsp + 144] LONG $0x05e7c149 // shl r15, 5 WORD $0x394d; BYTE $0xd7 // cmp r15, r10 - JL LBB7_184 - JMP LBB7_192 + JL LBB7_123 + JMP LBB7_191 + +LBB7_19: + WORD $0xff83; BYTE $0x08 // cmp edi, 8 + JLE LBB7_20 + WORD $0xff83; BYTE $0x09 // cmp edi, 9 + JE LBB7_155 + WORD $0xff83; BYTE $0x0b // cmp edi, 11 + JE LBB7_171 + WORD $0xff83; BYTE $0x0c // cmp edi, 12 + JNE LBB7_191 + LONG $0x1f728d4d // lea r14, [r10 + 31] + WORD $0x854d; BYTE $0xd2 // test r10, r10 + LONG $0xf2490f4d // cmovns r14, r10 + LONG $0x07418d41 // lea eax, [r9 + 7] + WORD $0x8545; BYTE $0xc9 // test r9d, r9d + LONG $0xc1490f41 // cmovns eax, r9d + WORD $0xe083; BYTE $0xf8 // and eax, -8 + LONG $0x0210fbc5 // vmovsd xmm0, qword [rdx] + WORD $0x2941; BYTE $0xc1 // sub r9d, eax + JE LBB7_35 + WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d + +LBB7_33: + LONG $0x0e10fbc5 // vmovsd xmm1, qword [rsi] + LONG $0x08c68348 // add rsi, 8 + LONG $0xc82ef9c5 // vucomisd xmm1, xmm0 + WORD $0x970f; BYTE $0xd2 // seta dl + WORD $0xdaf6 // neg dl + LONG $0x07788d48 // lea rdi, [rax + 7] + WORD $0x8548; BYTE $0xc0 // test rax, rax + LONG $0xf8490f48 // cmovns rdi, rax + LONG $0x03ffc148 // sar rdi, 3 + LONG $0x0cb60f45; BYTE $0x3b // movzx r9d, byte [r11 + rdi] + WORD $0x3044; BYTE $0xca // xor dl, r9b + QUAD $0x00000000fd048d44 // lea r8d, [8*rdi] + WORD $0xc189 // mov ecx, eax + WORD $0x2944; BYTE $0xc1 // sub ecx, r8d + LONG $0x000001bb; BYTE $0x00 // mov ebx, 1 + WORD $0xe3d3 // shl ebx, cl + WORD $0xd320 // and bl, dl + WORD $0x3044; BYTE $0xcb // xor bl, r9b + LONG $0x3b1c8841 // mov byte [r11 + rdi], bl + LONG $0x01c08348 // add rax, 1 + LONG $0x08f88348 // cmp rax, 8 + JNE LBB7_33 + LONG $0x01c38349 // add r11, 1 + +LBB7_35: + LONG $0x05fec149 // sar r14, 5 + LONG $0x20fa8349 // cmp r10, 32 + JL LBB7_39 + QUAD $0x000000f82494894c // mov qword [rsp + 248], r10 + QUAD $0x0000008824b4894c // mov qword [rsp + 136], r14 + LONG $0x2474894c; BYTE $0x78 // mov qword [rsp + 120], r14 + QUAD $0x000000f0249c894c // mov qword [rsp + 240], r11 + +LBB7_37: + LONG $0x0e10fbc5 // vmovsd xmm1, qword [rsi] + LONG $0x5610fbc5; BYTE $0x08 // vmovsd xmm2, qword [rsi + 8] + LONG $0xc82ef9c5 // vucomisd xmm1, xmm0 + QUAD $0x000001202494970f // seta byte [rsp + 288] + LONG $0xd02ef9c5 // vucomisd xmm2, xmm0 + WORD $0x970f; BYTE $0xd3 // seta bl + LONG $0x4e10fbc5; BYTE $0x10 // vmovsd xmm1, qword [rsi + 16] + LONG $0xc82ef9c5 // vucomisd xmm1, xmm0 + LONG $0x4e10fbc5; BYTE $0x18 // vmovsd xmm1, qword [rsi + 24] + LONG $0xd5970f41 // seta r13b + LONG $0xc82ef9c5 // vucomisd xmm1, xmm0 + LONG $0xd4970f41 // seta r12b + LONG $0x4e10fbc5; BYTE $0x20 // vmovsd xmm1, qword [rsi + 32] + LONG $0xc82ef9c5 // vucomisd xmm1, xmm0 + LONG $0x4e10fbc5; BYTE $0x28 // vmovsd xmm1, qword [rsi + 40] + LONG $0x2454970f; BYTE $0x28 // seta byte [rsp + 40] + LONG $0xc82ef9c5 // vucomisd xmm1, xmm0 + LONG $0x2454970f; BYTE $0x38 // seta byte [rsp + 56] + LONG $0x4e10fbc5; BYTE $0x30 // vmovsd xmm1, qword [rsi + 48] + LONG $0xc82ef9c5 // vucomisd xmm1, xmm0 + LONG $0x4e10fbc5; BYTE $0x38 // vmovsd xmm1, qword [rsi + 56] + LONG $0x2454970f; BYTE $0x30 // seta byte [rsp + 48] + LONG $0xc82ef9c5 // vucomisd xmm1, xmm0 + LONG $0x2454970f; BYTE $0x18 // seta byte [rsp + 24] + LONG $0x4e10fbc5; BYTE $0x40 // vmovsd xmm1, qword [rsi + 64] + LONG $0xc82ef9c5 // vucomisd xmm1, xmm0 + LONG $0x4e10fbc5; BYTE $0x48 // vmovsd xmm1, qword [rsi + 72] + QUAD $0x000001002494970f // seta byte [rsp + 256] + LONG $0xc82ef9c5 // vucomisd xmm1, xmm0 + WORD $0x970f; BYTE $0xd0 // seta al + LONG $0x4e10fbc5; BYTE $0x50 // vmovsd xmm1, qword [rsi + 80] + LONG $0xc82ef9c5 // vucomisd xmm1, xmm0 + LONG $0x4e10fbc5; BYTE $0x58 // vmovsd xmm1, qword [rsi + 88] + LONG $0x2454970f; BYTE $0x10 // seta byte [rsp + 16] + LONG $0xc82ef9c5 // vucomisd xmm1, xmm0 + QUAD $0x000001402494970f // seta byte [rsp + 320] + LONG $0x4e10fbc5; BYTE $0x60 // vmovsd xmm1, qword [rsi + 96] + LONG $0x5e10fbc5; BYTE $0x68 // vmovsd xmm3, qword [rsi + 104] + LONG $0xc82ef9c5 // vucomisd xmm1, xmm0 + LONG $0x6e10fbc5; BYTE $0x70 // vmovsd xmm5, qword [rsi + 112] + LONG $0x7610fbc5; BYTE $0x78 // vmovsd xmm6, qword [rsi + 120] + LONG $0x2454970f; BYTE $0x60 // seta byte [rsp + 96] + QUAD $0x0000008086107bc5 // vmovsd xmm8, qword [rsi + 128] + QUAD $0x000000888e107bc5 // vmovsd xmm9, qword [rsi + 136] + LONG $0xd82ef9c5 // vucomisd xmm3, xmm0 + QUAD $0x0000009096107bc5 // vmovsd xmm10, qword [rsi + 144] + QUAD $0x000000989e107bc5 // vmovsd xmm11, qword [rsi + 152] + LONG $0x2454970f; BYTE $0x48 // seta byte [rsp + 72] + QUAD $0x000000a0a6107bc5 // vmovsd xmm12, qword [rsi + 160] + QUAD $0x000000a8ae107bc5 // vmovsd xmm13, qword [rsi + 168] + LONG $0xe82ef9c5 // vucomisd xmm5, xmm0 + QUAD $0x000000b0b6107bc5 // vmovsd xmm14, qword [rsi + 176] + QUAD $0x000000b89610fbc5 // vmovsd xmm2, qword [rsi + 184] + LONG $0x2454970f; BYTE $0x68 // seta byte [rsp + 104] + QUAD $0x000000c09e10fbc5 // vmovsd xmm3, qword [rsi + 192] + QUAD $0x000000c8a610fbc5 // vmovsd xmm4, qword [rsi + 200] + LONG $0xf02ef9c5 // vucomisd xmm6, xmm0 + QUAD $0x000000d0b610fbc5 // vmovsd xmm6, qword [rsi + 208] + QUAD $0x000000d8be10fbc5 // vmovsd xmm7, qword [rsi + 216] + LONG $0xd3970f41 // seta r11b + QUAD $0x000000e08e10fbc5 // vmovsd xmm1, qword [rsi + 224] + QUAD $0x000000e8ae10fbc5 // vmovsd xmm5, qword [rsi + 232] + LONG $0xc02e79c5 // vucomisd xmm8, xmm0 + QUAD $0x000000802494970f // seta byte [rsp + 128] + LONG $0xc82e79c5 // vucomisd xmm9, xmm0 + WORD $0x970f; BYTE $0xd1 // seta cl + LONG $0xd02e79c5 // vucomisd xmm10, xmm0 + LONG $0xd7970f40 // seta dil + LONG $0xd82e79c5 // vucomisd xmm11, xmm0 + LONG $0xd0970f41 // seta r8b + LONG $0xe02e79c5 // vucomisd xmm12, xmm0 + LONG $0xd2970f41 // seta r10b + LONG $0xe82e79c5 // vucomisd xmm13, xmm0 + LONG $0xd6970f41 // seta r14b + LONG $0xf02e79c5 // vucomisd xmm14, xmm0 + LONG $0x2454970f; BYTE $0x70 // seta byte [rsp + 112] + LONG $0xd02ef9c5 // vucomisd xmm2, xmm0 + LONG $0xd1970f41 // seta r9b + LONG $0xd82ef9c5 // vucomisd xmm3, xmm0 + LONG $0x2454970f; BYTE $0x58 // seta byte [rsp + 88] + LONG $0xe02ef9c5 // vucomisd xmm4, xmm0 + LONG $0xd7970f41 // seta r15b + LONG $0xf02ef9c5 // vucomisd xmm6, xmm0 + LONG $0x2454970f; BYTE $0x50 // seta byte [rsp + 80] + LONG $0xf82ef9c5 // vucomisd xmm7, xmm0 + LONG $0x2454970f; BYTE $0x40 // seta byte [rsp + 64] + LONG $0xc82ef9c5 // vucomisd xmm1, xmm0 + LONG $0x2454970f; BYTE $0x20 // seta byte [rsp + 32] + LONG $0xe82ef9c5 // vucomisd xmm5, xmm0 + QUAD $0x000000f08e10fbc5 // vmovsd xmm1, qword [rsi + 240] + LONG $0x2454970f; BYTE $0x08 // seta byte [rsp + 8] + LONG $0xc82ef9c5 // vucomisd xmm1, xmm0 + LONG $0x2454970f; BYTE $0x04 // seta byte [rsp + 4] + QUAD $0x000000f88e10fbc5 // vmovsd xmm1, qword [rsi + 248] + LONG $0x00c68148; WORD $0x0001; BYTE $0x00 // add rsi, 256 + LONG $0xc82ef9c5 // vucomisd xmm1, xmm0 + WORD $0x970f; BYTE $0xd2 // seta dl + WORD $0xdb00 // add bl, bl + LONG $0x20249c02; WORD $0x0001; BYTE $0x00 // add bl, byte [rsp + 288] + LONG $0x02e5c041 // shl r13b, 2 + WORD $0x0841; BYTE $0xdd // or r13b, bl + LONG $0x03e4c041 // shl r12b, 3 + WORD $0x0845; BYTE $0xec // or r12b, r13b + LONG $0x245cb60f; BYTE $0x28 // movzx ebx, byte [rsp + 40] + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0x0844; BYTE $0xe3 // or bl, r12b + WORD $0x8941; BYTE $0xdc // mov r12d, ebx + LONG $0x245cb60f; BYTE $0x38 // movzx ebx, byte [rsp + 56] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + WORD $0x0844; BYTE $0xe3 // or bl, r12b + LONG $0x64b60f44; WORD $0x3024 // movzx r12d, byte [rsp + 48] + LONG $0x06e4c041 // shl r12b, 6 + LONG $0x6cb60f44; WORD $0x1824 // movzx r13d, byte [rsp + 24] + LONG $0x07e5c041 // shl r13b, 7 + WORD $0x0845; BYTE $0xe5 // or r13b, r12b + WORD $0xc000 // add al, al + LONG $0x00248402; WORD $0x0001; BYTE $0x00 // add al, byte [rsp + 256] + LONG $0x64b60f44; WORD $0x1024 // movzx r12d, byte [rsp + 16] + LONG $0x02e4c041 // shl r12b, 2 + WORD $0x0841; BYTE $0xc4 // or r12b, al + WORD $0x8944; BYTE $0xe0 // mov eax, r12d + QUAD $0x00014024a4b60f44; BYTE $0x00 // movzx r12d, byte [rsp + 320] + LONG $0x03e4c041 // shl r12b, 3 + WORD $0x0841; BYTE $0xc4 // or r12b, al + LONG $0x2444b60f; BYTE $0x60 // movzx eax, byte [rsp + 96] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0844; BYTE $0xe0 // or al, r12b + WORD $0x0841; BYTE $0xdd // or r13b, bl + LONG $0x245cb60f; BYTE $0x48 // movzx ebx, byte [rsp + 72] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + WORD $0xc308 // or bl, al + LONG $0x2444b60f; BYTE $0x68 // movzx eax, byte [rsp + 104] + WORD $0xe0c0; BYTE $0x06 // shl al, 6 + LONG $0x07e3c041 // shl r11b, 7 + WORD $0x0841; BYTE $0xc3 // or r11b, al + WORD $0xc900 // add cl, cl + LONG $0x80248c02; WORD $0x0000; BYTE $0x00 // add cl, byte [rsp + 128] + LONG $0x02e7c040 // shl dil, 2 + WORD $0x0840; BYTE $0xcf // or dil, cl + LONG $0x03e0c041 // shl r8b, 3 + WORD $0x0841; BYTE $0xf8 // or r8b, dil + LONG $0x04e2c041 // shl r10b, 4 + WORD $0x0845; BYTE $0xc2 // or r10b, r8b + LONG $0x05e6c041 // shl r14b, 5 + WORD $0x0845; BYTE $0xd6 // or r14b, r10b + WORD $0x0841; BYTE $0xdb // or r11b, bl + LONG $0x2444b60f; BYTE $0x70 // movzx eax, byte [rsp + 112] + WORD $0xe0c0; BYTE $0x06 // shl al, 6 + LONG $0x07e1c041 // shl r9b, 7 + WORD $0x0841; BYTE $0xc1 // or r9b, al + QUAD $0x000000f024848b48 // mov rax, qword [rsp + 240] + WORD $0x8844; BYTE $0x28 // mov byte [rax], r13b + WORD $0x0845; BYTE $0xf1 // or r9b, r14b + WORD $0x0045; BYTE $0xff // add r15b, r15b + LONG $0x247c0244; BYTE $0x58 // add r15b, byte [rsp + 88] + LONG $0x244cb60f; BYTE $0x50 // movzx ecx, byte [rsp + 80] + WORD $0xe1c0; BYTE $0x02 // shl cl, 2 + WORD $0x0844; BYTE $0xf9 // or cl, r15b + WORD $0xcb89 // mov ebx, ecx + LONG $0x244cb60f; BYTE $0x40 // movzx ecx, byte [rsp + 64] + WORD $0xe1c0; BYTE $0x03 // shl cl, 3 + WORD $0xd908 // or cl, bl + WORD $0xcb89 // mov ebx, ecx + LONG $0x244cb60f; BYTE $0x20 // movzx ecx, byte [rsp + 32] + WORD $0xe1c0; BYTE $0x04 // shl cl, 4 + WORD $0xd908 // or cl, bl + WORD $0xcb89 // mov ebx, ecx + LONG $0x244cb60f; BYTE $0x08 // movzx ecx, byte [rsp + 8] + WORD $0xe1c0; BYTE $0x05 // shl cl, 5 + WORD $0xd908 // or cl, bl + LONG $0x01588844 // mov byte [rax + 1], r11b + LONG $0x245cb60f; BYTE $0x04 // movzx ebx, byte [rsp + 4] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 + WORD $0xe2c0; BYTE $0x07 // shl dl, 7 + WORD $0xda08 // or dl, bl + LONG $0x02488844 // mov byte [rax + 2], r9b + WORD $0xca08 // or dl, cl + WORD $0x5088; BYTE $0x03 // mov byte [rax + 3], dl + LONG $0x04c08348 // add rax, 4 + QUAD $0x000000f024848948 // mov qword [rsp + 240], rax + LONG $0x24448348; WORD $0xff78 // add qword [rsp + 120], -1 + JNE LBB7_37 + QUAD $0x000000f0249c8b4c // mov r11, qword [rsp + 240] + QUAD $0x000000f824948b4c // mov r10, qword [rsp + 248] + QUAD $0x0000008824b48b4c // mov r14, qword [rsp + 136] + +LBB7_39: + LONG $0x05e6c149 // shl r14, 5 + WORD $0x394d; BYTE $0xd6 // cmp r14, r10 + JGE LBB7_191 + WORD $0x894d; BYTE $0xd0 // mov r8, r10 + WORD $0x294d; BYTE $0xf0 // sub r8, r14 + WORD $0xf749; BYTE $0xd6 // not r14 + WORD $0x014d; BYTE $0xd6 // add r14, r10 + JNE LBB7_186 + WORD $0x3145; BYTE $0xd2 // xor r10d, r10d + JMP LBB7_188 LBB7_2: WORD $0xff83; BYTE $0x02 // cmp edi, 2 - JE LBB7_37 + JE LBB7_42 WORD $0xff83; BYTE $0x03 // cmp edi, 3 - JNE LBB7_192 + JNE LBB7_191 WORD $0x8a44; BYTE $0x32 // mov r14b, byte [rdx] LONG $0x1f6a8d4d // lea r13, [r10 + 31] WORD $0x854d; BYTE $0xd2 // test r10, r10 @@ -36637,27 +37945,27 @@ LBB7_8: LONG $0x24748944; BYTE $0x04 // mov dword [rsp + 4], r14d QUAD $0x000000f824bc894c // mov qword [rsp + 248], r15 QUAD $0x0000016824ac894c // mov qword [rsp + 360], r13 - JB LBB7_62 + JB LBB7_67 WORD $0x894c; BYTE $0xe8 // mov rax, r13 LONG $0x05e0c148 // shl rax, 5 WORD $0x0148; BYTE $0xf0 // add rax, rsi WORD $0x3949; BYTE $0xc3 // cmp r11, rax - JAE LBB7_65 + JAE LBB7_70 LONG $0xab048d4b // lea rax, [r11 + 4*r13] WORD $0x3948; BYTE $0xc6 // cmp rsi, rax - JAE LBB7_65 + JAE LBB7_70 -LBB7_62: +LBB7_67: WORD $0xc031 // xor eax, eax QUAD $0x0000018024848948 // mov qword [rsp + 384], rax WORD $0x8949; BYTE $0xf4 // mov r12, rsi QUAD $0x00000160249c894c // mov qword [rsp + 352], r11 -LBB7_68: +LBB7_73: QUAD $0x0000018024ac2b4c // sub r13, qword [rsp + 384] LONG $0x246c894c; BYTE $0x78 // mov qword [rsp + 120], r13 -LBB7_69: +LBB7_74: WORD $0x894c; BYTE $0xe1 // mov rcx, r12 LONG $0x24343845 // cmp byte [r12], r14b QUAD $0x0000014024949f0f // setg byte [rsp + 320] @@ -36820,16 +38128,16 @@ LBB7_69: LONG $0x04c68348 // add rsi, 4 QUAD $0x0000016024b48948 // mov qword [rsp + 352], rsi LONG $0x24448348; WORD $0xff78 // add qword [rsp + 120], -1 - JNE LBB7_69 + JNE LBB7_74 QUAD $0x000000f824bc8b4c // mov r15, qword [rsp + 248] QUAD $0x0000016824ac8b4c // mov r13, qword [rsp + 360] - JMP LBB7_71 + JMP LBB7_76 LBB7_20: WORD $0xff83; BYTE $0x07 // cmp edi, 7 - JE LBB7_122 + JE LBB7_129 WORD $0xff83; BYTE $0x08 // cmp edi, 8 - JNE LBB7_192 + JNE LBB7_191 WORD $0x8b4c; BYTE $0x2a // mov r13, qword [rdx] LONG $0x1f7a8d4d // lea r15, [r10 + 31] WORD $0x854d; BYTE $0xd2 // test r10, r10 @@ -36873,7 +38181,7 @@ LBB7_26: QUAD $0x0000009024bc894c // mov qword [rsp + 144], r15 QUAD $0x0000008824bc894c // mov qword [rsp + 136], r15 -LBB7_139: +LBB7_146: QUAD $0x000000f0249c894c // mov qword [rsp + 240], r11 WORD $0x394c; BYTE $0x2e // cmp qword [rsi], r13 LONG $0x2454970f; BYTE $0x78 // seta byte [rsp + 120] @@ -37028,16 +38336,16 @@ LBB7_139: LONG $0x00c68148; WORD $0x0001; BYTE $0x00 // add rsi, 256 LONG $0x04c38349 // add r11, 4 QUAD $0x0000008824848348; BYTE $0xff // add qword [rsp + 136], -1 - JNE LBB7_139 + JNE LBB7_146 WORD $0x894d; BYTE $0xde // mov r14, r11 QUAD $0x000000f824948b4c // mov r10, qword [rsp + 248] QUAD $0x0000009024bc8b4c // mov r15, qword [rsp + 144] LONG $0x05e7c149 // shl r15, 5 WORD $0x394d; BYTE $0xd7 // cmp r15, r10 - JL LBB7_142 - JMP LBB7_192 + JL LBB7_149 + JMP LBB7_191 -LBB7_79: +LBB7_84: LONG $0x2ab70f44 // movzx r13d, word [rdx] LONG $0x1f7a8d4d // lea r15, [r10 + 31] WORD $0x854d; BYTE $0xd2 // test r10, r10 @@ -37047,10 +38355,10 @@ LBB7_79: LONG $0xc1490f41 // cmovns eax, r9d WORD $0xe083; BYTE $0xf8 // and eax, -8 WORD $0x2941; BYTE $0xc1 // sub r9d, eax - JE LBB7_83 + JE LBB7_88 WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d -LBB7_81: +LBB7_86: LONG $0x2e3b4466 // cmp r13w, word [rsi] LONG $0x02768d48 // lea rsi, [rsi + 2] WORD $0xd219 // sbb edx, edx @@ -37070,19 +38378,19 @@ LBB7_81: LONG $0x1b3c8841 // mov byte [r11 + rbx], dil LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 - JNE LBB7_81 + JNE LBB7_86 LONG $0x01c38349 // add r11, 1 -LBB7_83: +LBB7_88: LONG $0x05ffc149 // sar r15, 5 LONG $0x20fa8349 // cmp r10, 32 - JL LBB7_84 + JL LBB7_89 QUAD $0x000000f82494894c // mov qword [rsp + 248], r10 QUAD $0x0000009024bc894c // mov qword [rsp + 144], r15 QUAD $0x0000008824bc894c // mov qword [rsp + 136], r15 QUAD $0x000000f0249c894c // mov qword [rsp + 240], r11 -LBB7_86: +LBB7_91: LONG $0x2e394466 // cmp word [rsi], r13w WORD $0x970f; BYTE $0xd0 // seta al LONG $0x6e394466; BYTE $0x02 // cmp word [rsi + 2], r13w @@ -37239,16 +38547,16 @@ LBB7_86: LONG $0x04c28348 // add rdx, 4 QUAD $0x000000f024948948 // mov qword [rsp + 240], rdx QUAD $0x0000008824848348; BYTE $0xff // add qword [rsp + 136], -1 - JNE LBB7_86 + JNE LBB7_91 QUAD $0x000000f024b48b4c // mov r14, qword [rsp + 240] QUAD $0x000000f824948b4c // mov r10, qword [rsp + 248] QUAD $0x0000009024bc8b4c // mov r15, qword [rsp + 144] LONG $0x05e7c149 // shl r15, 5 WORD $0x394d; BYTE $0xd7 // cmp r15, r10 - JL LBB7_89 - JMP LBB7_192 + JL LBB7_94 + JMP LBB7_191 -LBB7_95: +LBB7_102: LONG $0x2ab70f44 // movzx r13d, word [rdx] LONG $0x1f7a8d4d // lea r15, [r10 + 31] WORD $0x854d; BYTE $0xd2 // test r10, r10 @@ -37258,10 +38566,10 @@ LBB7_95: LONG $0xc1490f41 // cmovns eax, r9d WORD $0xe083; BYTE $0xf8 // and eax, -8 WORD $0x2941; BYTE $0xc1 // sub r9d, eax - JE LBB7_99 + JE LBB7_106 WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d -LBB7_97: +LBB7_104: LONG $0x2e394466 // cmp word [rsi], r13w LONG $0x02768d48 // lea rsi, [rsi + 2] WORD $0x9f0f; BYTE $0xd2 // setg dl @@ -37282,19 +38590,19 @@ LBB7_97: LONG $0x1b3c8841 // mov byte [r11 + rbx], dil LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 - JNE LBB7_97 + JNE LBB7_104 LONG $0x01c38349 // add r11, 1 -LBB7_99: +LBB7_106: LONG $0x05ffc149 // sar r15, 5 LONG $0x20fa8349 // cmp r10, 32 - JL LBB7_100 + JL LBB7_107 QUAD $0x000000f82494894c // mov qword [rsp + 248], r10 QUAD $0x0000009024bc894c // mov qword [rsp + 144], r15 QUAD $0x0000008824bc894c // mov qword [rsp + 136], r15 QUAD $0x000000f0249c894c // mov qword [rsp + 240], r11 -LBB7_102: +LBB7_109: LONG $0x2e394466 // cmp word [rsi], r13w LONG $0x24549f0f; BYTE $0x78 // setg byte [rsp + 120] LONG $0x6e394466; BYTE $0x02 // cmp word [rsi + 2], r13w @@ -37450,16 +38758,16 @@ LBB7_102: LONG $0x04c28348 // add rdx, 4 QUAD $0x000000f024948948 // mov qword [rsp + 240], rdx QUAD $0x0000008824848348; BYTE $0xff // add qword [rsp + 136], -1 - JNE LBB7_102 + JNE LBB7_109 QUAD $0x000000f024b48b4c // mov r14, qword [rsp + 240] QUAD $0x000000f824948b4c // mov r10, qword [rsp + 248] QUAD $0x0000009024bc8b4c // mov r15, qword [rsp + 144] LONG $0x05e7c149 // shl r15, 5 WORD $0x394d; BYTE $0xd7 // cmp r15, r10 - JL LBB7_105 - JMP LBB7_192 + JL LBB7_112 + JMP LBB7_191 -LBB7_148: +LBB7_155: WORD $0x8b4c; BYTE $0x2a // mov r13, qword [rdx] LONG $0x1f7a8d4d // lea r15, [r10 + 31] WORD $0x854d; BYTE $0xd2 // test r10, r10 @@ -37469,10 +38777,10 @@ LBB7_148: LONG $0xc1490f41 // cmovns eax, r9d WORD $0xe083; BYTE $0xf8 // and eax, -8 WORD $0x2941; BYTE $0xc1 // sub r9d, eax - JE LBB7_152 + JE LBB7_159 WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d -LBB7_150: +LBB7_157: WORD $0x394c; BYTE $0x2e // cmp qword [rsi], r13 LONG $0x08768d48 // lea rsi, [rsi + 8] WORD $0x9f0f; BYTE $0xd2 // setg dl @@ -37493,19 +38801,19 @@ LBB7_150: LONG $0x1b3c8841 // mov byte [r11 + rbx], dil LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 - JNE LBB7_150 + JNE LBB7_157 LONG $0x01c38349 // add r11, 1 -LBB7_152: +LBB7_159: LONG $0x05ffc149 // sar r15, 5 LONG $0x20fa8349 // cmp r10, 32 - JL LBB7_153 + JL LBB7_160 QUAD $0x000000f82494894c // mov qword [rsp + 248], r10 QUAD $0x0000009024bc894c // mov qword [rsp + 144], r15 QUAD $0x0000008824bc894c // mov qword [rsp + 136], r15 QUAD $0x000000f0249c894c // mov qword [rsp + 240], r11 -LBB7_155: +LBB7_162: WORD $0x394c; BYTE $0x2e // cmp qword [rsi], r13 LONG $0x24549f0f; BYTE $0x78 // setg byte [rsp + 120] LONG $0x086e394c // cmp qword [rsi + 8], r13 @@ -37657,228 +38965,266 @@ LBB7_155: WORD $0x0841; BYTE $0xc8 // or r8b, cl LONG $0x027a8844 // mov byte [rdx + 2], r15b LONG $0x03428844 // mov byte [rdx + 3], r8b - LONG $0x00c68148; WORD $0x0001; BYTE $0x00 // add rsi, 256 - LONG $0x04c28348 // add rdx, 4 - QUAD $0x000000f024948948 // mov qword [rsp + 240], rdx - QUAD $0x0000008824848348; BYTE $0xff // add qword [rsp + 136], -1 - JNE LBB7_155 - QUAD $0x000000f024b48b4c // mov r14, qword [rsp + 240] - QUAD $0x000000f824948b4c // mov r10, qword [rsp + 248] - QUAD $0x0000009024bc8b4c // mov r15, qword [rsp + 144] - LONG $0x05e7c149 // shl r15, 5 - WORD $0x394d; BYTE $0xd7 // cmp r15, r10 - JL LBB7_158 - JMP LBB7_192 - -LBB7_164: - LONG $0x1f7a8d4d // lea r15, [r10 + 31] - WORD $0x854d; BYTE $0xd2 // test r10, r10 - LONG $0xfa490f4d // cmovns r15, r10 - LONG $0x07418d41 // lea eax, [r9 + 7] - WORD $0x8545; BYTE $0xc9 // test r9d, r9d - LONG $0xc1490f41 // cmovns eax, r9d - WORD $0xe083; BYTE $0xf8 // and eax, -8 - LONG $0x0210fac5 // vmovss xmm0, dword [rdx] - WORD $0x2941; BYTE $0xc1 // sub r9d, eax - JE LBB7_168 - WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d - -LBB7_166: - LONG $0x062ef8c5 // vucomiss xmm0, dword [rsi] - LONG $0x04768d48 // lea rsi, [rsi + 4] - WORD $0xd219 // sbb edx, edx - LONG $0x07788d48 // lea rdi, [rax + 7] - WORD $0x8548; BYTE $0xc0 // test rax, rax - LONG $0xf8490f48 // cmovns rdi, rax - LONG $0x03ffc148 // sar rdi, 3 - LONG $0x0cb60f45; BYTE $0x3b // movzx r9d, byte [r11 + rdi] - WORD $0x3044; BYTE $0xca // xor dl, r9b - QUAD $0x00000000fd048d44 // lea r8d, [8*rdi] - WORD $0xc189 // mov ecx, eax - WORD $0x2944; BYTE $0xc1 // sub ecx, r8d - LONG $0x000001bb; BYTE $0x00 // mov ebx, 1 - WORD $0xe3d3 // shl ebx, cl - WORD $0xd320 // and bl, dl - WORD $0x3044; BYTE $0xcb // xor bl, r9b - LONG $0x3b1c8841 // mov byte [r11 + rdi], bl - LONG $0x01c08348 // add rax, 1 - LONG $0x08f88348 // cmp rax, 8 - JNE LBB7_166 - LONG $0x01c38349 // add r11, 1 - -LBB7_168: - LONG $0x05ffc149 // sar r15, 5 - LONG $0x20fa8349 // cmp r10, 32 - JL LBB7_169 - QUAD $0x000000f82494894c // mov qword [rsp + 248], r10 - QUAD $0x0000008824bc894c // mov qword [rsp + 136], r15 - LONG $0x247c894c; BYTE $0x78 // mov qword [rsp + 120], r15 - QUAD $0x000000f0249c894c // mov qword [rsp + 240], r11 - -LBB7_171: - LONG $0x062ef8c5 // vucomiss xmm0, dword [rsi] - QUAD $0x000000802494920f // setb byte [rsp + 128] - LONG $0x462ef8c5; BYTE $0x04 // vucomiss xmm0, dword [rsi + 4] - LONG $0xd1920f41 // setb r9b - LONG $0x462ef8c5; BYTE $0x08 // vucomiss xmm0, dword [rsi + 8] - LONG $0xd6920f41 // setb r14b - LONG $0x462ef8c5; BYTE $0x0c // vucomiss xmm0, dword [rsi + 12] - LONG $0xd5920f41 // setb r13b - LONG $0x462ef8c5; BYTE $0x10 // vucomiss xmm0, dword [rsi + 16] - LONG $0x2454920f; BYTE $0x58 // setb byte [rsp + 88] - LONG $0x462ef8c5; BYTE $0x14 // vucomiss xmm0, dword [rsi + 20] - LONG $0x2454920f; BYTE $0x30 // setb byte [rsp + 48] - LONG $0x462ef8c5; BYTE $0x18 // vucomiss xmm0, dword [rsi + 24] - WORD $0x920f; BYTE $0xd0 // setb al - LONG $0x462ef8c5; BYTE $0x1c // vucomiss xmm0, dword [rsi + 28] - WORD $0x920f; BYTE $0xd3 // setb bl - LONG $0x462ef8c5; BYTE $0x20 // vucomiss xmm0, dword [rsi + 32] - LONG $0x2454920f; BYTE $0x70 // setb byte [rsp + 112] - LONG $0x462ef8c5; BYTE $0x24 // vucomiss xmm0, dword [rsi + 36] - WORD $0x920f; BYTE $0xd2 // setb dl - LONG $0x462ef8c5; BYTE $0x28 // vucomiss xmm0, dword [rsi + 40] - LONG $0xd7920f40 // setb dil - LONG $0x462ef8c5; BYTE $0x2c // vucomiss xmm0, dword [rsi + 44] - LONG $0xd2920f41 // setb r10b - LONG $0x462ef8c5; BYTE $0x30 // vucomiss xmm0, dword [rsi + 48] - LONG $0xd3920f41 // setb r11b - LONG $0x462ef8c5; BYTE $0x34 // vucomiss xmm0, dword [rsi + 52] - LONG $0xd4920f41 // setb r12b - LONG $0x462ef8c5; BYTE $0x38 // vucomiss xmm0, dword [rsi + 56] - LONG $0x2454920f; BYTE $0x48 // setb byte [rsp + 72] - LONG $0x462ef8c5; BYTE $0x3c // vucomiss xmm0, dword [rsi + 60] - WORD $0x920f; BYTE $0xd1 // setb cl - LONG $0x462ef8c5; BYTE $0x40 // vucomiss xmm0, dword [rsi + 64] - LONG $0x2454920f; BYTE $0x40 // setb byte [rsp + 64] - LONG $0x462ef8c5; BYTE $0x44 // vucomiss xmm0, dword [rsi + 68] - LONG $0x2454920f; BYTE $0x68 // setb byte [rsp + 104] - LONG $0x462ef8c5; BYTE $0x48 // vucomiss xmm0, dword [rsi + 72] - LONG $0x2454920f; BYTE $0x50 // setb byte [rsp + 80] - LONG $0x462ef8c5; BYTE $0x4c // vucomiss xmm0, dword [rsi + 76] - LONG $0x2454920f; BYTE $0x60 // setb byte [rsp + 96] - LONG $0x462ef8c5; BYTE $0x50 // vucomiss xmm0, dword [rsi + 80] - LONG $0x2454920f; BYTE $0x28 // setb byte [rsp + 40] - LONG $0x462ef8c5; BYTE $0x54 // vucomiss xmm0, dword [rsi + 84] - LONG $0x2454920f; BYTE $0x38 // setb byte [rsp + 56] - LONG $0x462ef8c5; BYTE $0x58 // vucomiss xmm0, dword [rsi + 88] - LONG $0x2454920f; BYTE $0x18 // setb byte [rsp + 24] - LONG $0x462ef8c5; BYTE $0x5c // vucomiss xmm0, dword [rsi + 92] - LONG $0xd7920f41 // setb r15b - LONG $0x462ef8c5; BYTE $0x60 // vucomiss xmm0, dword [rsi + 96] - QUAD $0x000001402494920f // setb byte [rsp + 320] - LONG $0x462ef8c5; BYTE $0x64 // vucomiss xmm0, dword [rsi + 100] - LONG $0x2454920f; BYTE $0x20 // setb byte [rsp + 32] - LONG $0x462ef8c5; BYTE $0x68 // vucomiss xmm0, dword [rsi + 104] - LONG $0x2454920f; BYTE $0x10 // setb byte [rsp + 16] - LONG $0x462ef8c5; BYTE $0x6c // vucomiss xmm0, dword [rsi + 108] - LONG $0x2454920f; BYTE $0x08 // setb byte [rsp + 8] - LONG $0x462ef8c5; BYTE $0x70 // vucomiss xmm0, dword [rsi + 112] - QUAD $0x000001202494920f // setb byte [rsp + 288] - LONG $0x462ef8c5; BYTE $0x74 // vucomiss xmm0, dword [rsi + 116] - QUAD $0x000001002494920f // setb byte [rsp + 256] - LONG $0x462ef8c5; BYTE $0x78 // vucomiss xmm0, dword [rsi + 120] - LONG $0x2454920f; BYTE $0x04 // setb byte [rsp + 4] - LONG $0x462ef8c5; BYTE $0x7c // vucomiss xmm0, dword [rsi + 124] - LONG $0xd0920f41 // setb r8b - WORD $0x0045; BYTE $0xc9 // add r9b, r9b - QUAD $0x00000080248c0244 // add r9b, byte [rsp + 128] - WORD $0xe0c0; BYTE $0x06 // shl al, 6 - WORD $0xe3c0; BYTE $0x07 // shl bl, 7 - WORD $0xc308 // or bl, al - LONG $0x02e6c041 // shl r14b, 2 - WORD $0x0845; BYTE $0xce // or r14b, r9b - WORD $0xd200 // add dl, dl - LONG $0x70245402 // add dl, byte [rsp + 112] - LONG $0x03e5c041 // shl r13b, 3 - WORD $0x0845; BYTE $0xf5 // or r13b, r14b - LONG $0x02e7c040 // shl dil, 2 - WORD $0x0840; BYTE $0xd7 // or dil, dl - LONG $0x2454b60f; BYTE $0x58 // movzx edx, byte [rsp + 88] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0x0844; BYTE $0xea // or dl, r13b - WORD $0x8941; BYTE $0xd1 // mov r9d, edx - LONG $0x03e2c041 // shl r10b, 3 - WORD $0x0841; BYTE $0xfa // or r10b, dil - LONG $0x2454b60f; BYTE $0x30 // movzx edx, byte [rsp + 48] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0844; BYTE $0xca // or dl, r9b - LONG $0x04e3c041 // shl r11b, 4 - WORD $0x0845; BYTE $0xd3 // or r11b, r10b - LONG $0x05e4c041 // shl r12b, 5 - WORD $0x0845; BYTE $0xdc // or r12b, r11b - LONG $0x247cb60f; BYTE $0x48 // movzx edi, byte [rsp + 72] - LONG $0x06e7c040 // shl dil, 6 - WORD $0xe1c0; BYTE $0x07 // shl cl, 7 - WORD $0x0840; BYTE $0xf9 // or cl, dil - WORD $0xd308 // or bl, dl - WORD $0x0844; BYTE $0xe1 // or cl, r12b - LONG $0x2444b60f; BYTE $0x68 // movzx eax, byte [rsp + 104] - WORD $0xc000 // add al, al - LONG $0x40244402 // add al, byte [rsp + 64] - LONG $0x2454b60f; BYTE $0x50 // movzx edx, byte [rsp + 80] - WORD $0xe2c0; BYTE $0x02 // shl dl, 2 - WORD $0xc208 // or dl, al - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x60 // movzx edx, byte [rsp + 96] - WORD $0xe2c0; BYTE $0x03 // shl dl, 3 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x28 // movzx edx, byte [rsp + 40] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x38 // movzx edx, byte [rsp + 56] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - QUAD $0x000000f024948b48 // mov rdx, qword [rsp + 240] - WORD $0x1a88 // mov byte [rdx], bl - LONG $0x245cb60f; BYTE $0x18 // movzx ebx, byte [rsp + 24] - WORD $0xe3c0; BYTE $0x06 // shl bl, 6 - LONG $0x07e7c041 // shl r15b, 7 - WORD $0x0841; BYTE $0xdf // or r15b, bl - WORD $0x4a88; BYTE $0x01 // mov byte [rdx + 1], cl - WORD $0x0841; BYTE $0xff // or r15b, dil - LONG $0x244cb60f; BYTE $0x20 // movzx ecx, byte [rsp + 32] - WORD $0xc900 // add cl, cl - LONG $0x40248c02; WORD $0x0001; BYTE $0x00 // add cl, byte [rsp + 320] - WORD $0xcb89 // mov ebx, ecx - LONG $0x244cb60f; BYTE $0x10 // movzx ecx, byte [rsp + 16] - WORD $0xe1c0; BYTE $0x02 // shl cl, 2 - WORD $0xd908 // or cl, bl - WORD $0xcb89 // mov ebx, ecx - LONG $0x244cb60f; BYTE $0x08 // movzx ecx, byte [rsp + 8] - WORD $0xe1c0; BYTE $0x03 // shl cl, 3 - WORD $0xd908 // or cl, bl - WORD $0xcb89 // mov ebx, ecx - QUAD $0x00000120248cb60f // movzx ecx, byte [rsp + 288] - WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0xd908 // or cl, bl - WORD $0xcb89 // mov ebx, ecx - QUAD $0x00000100248cb60f // movzx ecx, byte [rsp + 256] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0xd908 // or cl, bl - LONG $0x245cb60f; BYTE $0x04 // movzx ebx, byte [rsp + 4] - WORD $0xe3c0; BYTE $0x06 // shl bl, 6 - LONG $0x07e0c041 // shl r8b, 7 - WORD $0x0841; BYTE $0xd8 // or r8b, bl - WORD $0x0841; BYTE $0xc8 // or r8b, cl - LONG $0x027a8844 // mov byte [rdx + 2], r15b - LONG $0x03428844 // mov byte [rdx + 3], r8b - LONG $0x80c68148; WORD $0x0000; BYTE $0x00 // add rsi, 128 + LONG $0x00c68148; WORD $0x0001; BYTE $0x00 // add rsi, 256 LONG $0x04c28348 // add rdx, 4 QUAD $0x000000f024948948 // mov qword [rsp + 240], rdx - LONG $0x24448348; WORD $0xff78 // add qword [rsp + 120], -1 - JNE LBB7_171 + QUAD $0x0000008824848348; BYTE $0xff // add qword [rsp + 136], -1 + JNE LBB7_162 QUAD $0x000000f024b48b4c // mov r14, qword [rsp + 240] QUAD $0x000000f824948b4c // mov r10, qword [rsp + 248] - QUAD $0x0000008824bc8b4c // mov r15, qword [rsp + 136] + QUAD $0x0000009024bc8b4c // mov r15, qword [rsp + 144] LONG $0x05e7c149 // shl r15, 5 WORD $0x394d; BYTE $0xd7 // cmp r15, r10 - JL LBB7_174 - JMP LBB7_192 + JL LBB7_165 + JMP LBB7_191 -LBB7_37: +LBB7_171: + LONG $0x1f728d4d // lea r14, [r10 + 31] + WORD $0x854d; BYTE $0xd2 // test r10, r10 + LONG $0xf2490f4d // cmovns r14, r10 + LONG $0x07418d41 // lea eax, [r9 + 7] + WORD $0x8545; BYTE $0xc9 // test r9d, r9d + LONG $0xc1490f41 // cmovns eax, r9d + WORD $0xe083; BYTE $0xf8 // and eax, -8 + LONG $0x0210fac5 // vmovss xmm0, dword [rdx] + WORD $0x2941; BYTE $0xc1 // sub r9d, eax + JE LBB7_175 + WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d + +LBB7_173: + LONG $0x0e10fac5 // vmovss xmm1, dword [rsi] + LONG $0x04c68348 // add rsi, 4 + LONG $0xc82ef8c5 // vucomiss xmm1, xmm0 + WORD $0x970f; BYTE $0xd2 // seta dl + WORD $0xdaf6 // neg dl + LONG $0x07788d48 // lea rdi, [rax + 7] + WORD $0x8548; BYTE $0xc0 // test rax, rax + LONG $0xf8490f48 // cmovns rdi, rax + LONG $0x03ffc148 // sar rdi, 3 + LONG $0x0cb60f45; BYTE $0x3b // movzx r9d, byte [r11 + rdi] + WORD $0x3044; BYTE $0xca // xor dl, r9b + QUAD $0x00000000fd048d44 // lea r8d, [8*rdi] + WORD $0xc189 // mov ecx, eax + WORD $0x2944; BYTE $0xc1 // sub ecx, r8d + LONG $0x000001bb; BYTE $0x00 // mov ebx, 1 + WORD $0xe3d3 // shl ebx, cl + WORD $0xd320 // and bl, dl + WORD $0x3044; BYTE $0xcb // xor bl, r9b + LONG $0x3b1c8841 // mov byte [r11 + rdi], bl + LONG $0x01c08348 // add rax, 1 + LONG $0x08f88348 // cmp rax, 8 + JNE LBB7_173 + LONG $0x01c38349 // add r11, 1 + +LBB7_175: + LONG $0x05fec149 // sar r14, 5 + LONG $0x20fa8349 // cmp r10, 32 + JL LBB7_179 + QUAD $0x000000f82494894c // mov qword [rsp + 248], r10 + QUAD $0x0000008824b4894c // mov qword [rsp + 136], r14 + LONG $0x2474894c; BYTE $0x78 // mov qword [rsp + 120], r14 + QUAD $0x000000f0249c894c // mov qword [rsp + 240], r11 + +LBB7_177: + LONG $0x0e10fac5 // vmovss xmm1, dword [rsi] + LONG $0x5610fac5; BYTE $0x04 // vmovss xmm2, dword [rsi + 4] + LONG $0xc82ef8c5 // vucomiss xmm1, xmm0 + QUAD $0x000001202494970f // seta byte [rsp + 288] + LONG $0xd02ef8c5 // vucomiss xmm2, xmm0 + WORD $0x970f; BYTE $0xd3 // seta bl + LONG $0x4e10fac5; BYTE $0x08 // vmovss xmm1, dword [rsi + 8] + LONG $0xc82ef8c5 // vucomiss xmm1, xmm0 + LONG $0x4e10fac5; BYTE $0x0c // vmovss xmm1, dword [rsi + 12] + LONG $0xd5970f41 // seta r13b + LONG $0xc82ef8c5 // vucomiss xmm1, xmm0 + LONG $0xd4970f41 // seta r12b + LONG $0x4e10fac5; BYTE $0x10 // vmovss xmm1, dword [rsi + 16] + LONG $0xc82ef8c5 // vucomiss xmm1, xmm0 + LONG $0x4e10fac5; BYTE $0x14 // vmovss xmm1, dword [rsi + 20] + LONG $0x2454970f; BYTE $0x28 // seta byte [rsp + 40] + LONG $0xc82ef8c5 // vucomiss xmm1, xmm0 + LONG $0x2454970f; BYTE $0x38 // seta byte [rsp + 56] + LONG $0x4e10fac5; BYTE $0x18 // vmovss xmm1, dword [rsi + 24] + LONG $0xc82ef8c5 // vucomiss xmm1, xmm0 + LONG $0x4e10fac5; BYTE $0x1c // vmovss xmm1, dword [rsi + 28] + LONG $0x2454970f; BYTE $0x30 // seta byte [rsp + 48] + LONG $0xc82ef8c5 // vucomiss xmm1, xmm0 + LONG $0x2454970f; BYTE $0x18 // seta byte [rsp + 24] + LONG $0x4e10fac5; BYTE $0x20 // vmovss xmm1, dword [rsi + 32] + LONG $0xc82ef8c5 // vucomiss xmm1, xmm0 + LONG $0x4e10fac5; BYTE $0x24 // vmovss xmm1, dword [rsi + 36] + QUAD $0x000001002494970f // seta byte [rsp + 256] + LONG $0xc82ef8c5 // vucomiss xmm1, xmm0 + WORD $0x970f; BYTE $0xd0 // seta al + LONG $0x4e10fac5; BYTE $0x28 // vmovss xmm1, dword [rsi + 40] + LONG $0xc82ef8c5 // vucomiss xmm1, xmm0 + LONG $0x4e10fac5; BYTE $0x2c // vmovss xmm1, dword [rsi + 44] + LONG $0x2454970f; BYTE $0x10 // seta byte [rsp + 16] + LONG $0xc82ef8c5 // vucomiss xmm1, xmm0 + QUAD $0x000001402494970f // seta byte [rsp + 320] + LONG $0x4e10fac5; BYTE $0x30 // vmovss xmm1, dword [rsi + 48] + LONG $0x5e10fac5; BYTE $0x34 // vmovss xmm3, dword [rsi + 52] + LONG $0xc82ef8c5 // vucomiss xmm1, xmm0 + LONG $0x6e10fac5; BYTE $0x38 // vmovss xmm5, dword [rsi + 56] + LONG $0x7610fac5; BYTE $0x3c // vmovss xmm6, dword [rsi + 60] + LONG $0x2454970f; BYTE $0x60 // seta byte [rsp + 96] + LONG $0x46107ac5; BYTE $0x40 // vmovss xmm8, dword [rsi + 64] + LONG $0x4e107ac5; BYTE $0x44 // vmovss xmm9, dword [rsi + 68] + LONG $0xd82ef8c5 // vucomiss xmm3, xmm0 + LONG $0x56107ac5; BYTE $0x48 // vmovss xmm10, dword [rsi + 72] + LONG $0x5e107ac5; BYTE $0x4c // vmovss xmm11, dword [rsi + 76] + LONG $0x2454970f; BYTE $0x48 // seta byte [rsp + 72] + LONG $0x66107ac5; BYTE $0x50 // vmovss xmm12, dword [rsi + 80] + LONG $0x6e107ac5; BYTE $0x54 // vmovss xmm13, dword [rsi + 84] + LONG $0xe82ef8c5 // vucomiss xmm5, xmm0 + LONG $0x76107ac5; BYTE $0x58 // vmovss xmm14, dword [rsi + 88] + LONG $0x5610fac5; BYTE $0x5c // vmovss xmm2, dword [rsi + 92] + LONG $0x2454970f; BYTE $0x68 // seta byte [rsp + 104] + LONG $0x5e10fac5; BYTE $0x60 // vmovss xmm3, dword [rsi + 96] + LONG $0x6610fac5; BYTE $0x64 // vmovss xmm4, dword [rsi + 100] + LONG $0xf02ef8c5 // vucomiss xmm6, xmm0 + LONG $0x7610fac5; BYTE $0x68 // vmovss xmm6, dword [rsi + 104] + LONG $0x7e10fac5; BYTE $0x6c // vmovss xmm7, dword [rsi + 108] + LONG $0xd3970f41 // seta r11b + LONG $0x4e10fac5; BYTE $0x70 // vmovss xmm1, dword [rsi + 112] + LONG $0x6e10fac5; BYTE $0x74 // vmovss xmm5, dword [rsi + 116] + LONG $0xc02e78c5 // vucomiss xmm8, xmm0 + QUAD $0x000000802494970f // seta byte [rsp + 128] + LONG $0xc82e78c5 // vucomiss xmm9, xmm0 + WORD $0x970f; BYTE $0xd1 // seta cl + LONG $0xd02e78c5 // vucomiss xmm10, xmm0 + LONG $0xd7970f40 // seta dil + LONG $0xd82e78c5 // vucomiss xmm11, xmm0 + LONG $0xd0970f41 // seta r8b + LONG $0xe02e78c5 // vucomiss xmm12, xmm0 + LONG $0xd2970f41 // seta r10b + LONG $0xe82e78c5 // vucomiss xmm13, xmm0 + LONG $0xd6970f41 // seta r14b + LONG $0xf02e78c5 // vucomiss xmm14, xmm0 + LONG $0x2454970f; BYTE $0x70 // seta byte [rsp + 112] + LONG $0xd02ef8c5 // vucomiss xmm2, xmm0 + LONG $0xd1970f41 // seta r9b + LONG $0xd82ef8c5 // vucomiss xmm3, xmm0 + LONG $0x2454970f; BYTE $0x58 // seta byte [rsp + 88] + LONG $0xe02ef8c5 // vucomiss xmm4, xmm0 + LONG $0xd7970f41 // seta r15b + LONG $0xf02ef8c5 // vucomiss xmm6, xmm0 + LONG $0x2454970f; BYTE $0x50 // seta byte [rsp + 80] + LONG $0xf82ef8c5 // vucomiss xmm7, xmm0 + LONG $0x2454970f; BYTE $0x40 // seta byte [rsp + 64] + LONG $0xc82ef8c5 // vucomiss xmm1, xmm0 + LONG $0x2454970f; BYTE $0x20 // seta byte [rsp + 32] + LONG $0xe82ef8c5 // vucomiss xmm5, xmm0 + LONG $0x4e10fac5; BYTE $0x78 // vmovss xmm1, dword [rsi + 120] + LONG $0x2454970f; BYTE $0x08 // seta byte [rsp + 8] + LONG $0xc82ef8c5 // vucomiss xmm1, xmm0 + LONG $0x2454970f; BYTE $0x04 // seta byte [rsp + 4] + LONG $0x4e10fac5; BYTE $0x7c // vmovss xmm1, dword [rsi + 124] + LONG $0x80ee8348 // sub rsi, -128 + LONG $0xc82ef8c5 // vucomiss xmm1, xmm0 + WORD $0x970f; BYTE $0xd2 // seta dl + WORD $0xdb00 // add bl, bl + LONG $0x20249c02; WORD $0x0001; BYTE $0x00 // add bl, byte [rsp + 288] + LONG $0x02e5c041 // shl r13b, 2 + WORD $0x0841; BYTE $0xdd // or r13b, bl + LONG $0x03e4c041 // shl r12b, 3 + WORD $0x0845; BYTE $0xec // or r12b, r13b + LONG $0x245cb60f; BYTE $0x28 // movzx ebx, byte [rsp + 40] + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0x0844; BYTE $0xe3 // or bl, r12b + WORD $0x8941; BYTE $0xdc // mov r12d, ebx + LONG $0x245cb60f; BYTE $0x38 // movzx ebx, byte [rsp + 56] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + WORD $0x0844; BYTE $0xe3 // or bl, r12b + LONG $0x64b60f44; WORD $0x3024 // movzx r12d, byte [rsp + 48] + LONG $0x06e4c041 // shl r12b, 6 + LONG $0x6cb60f44; WORD $0x1824 // movzx r13d, byte [rsp + 24] + LONG $0x07e5c041 // shl r13b, 7 + WORD $0x0845; BYTE $0xe5 // or r13b, r12b + WORD $0xc000 // add al, al + LONG $0x00248402; WORD $0x0001; BYTE $0x00 // add al, byte [rsp + 256] + LONG $0x64b60f44; WORD $0x1024 // movzx r12d, byte [rsp + 16] + LONG $0x02e4c041 // shl r12b, 2 + WORD $0x0841; BYTE $0xc4 // or r12b, al + WORD $0x8944; BYTE $0xe0 // mov eax, r12d + QUAD $0x00014024a4b60f44; BYTE $0x00 // movzx r12d, byte [rsp + 320] + LONG $0x03e4c041 // shl r12b, 3 + WORD $0x0841; BYTE $0xc4 // or r12b, al + LONG $0x2444b60f; BYTE $0x60 // movzx eax, byte [rsp + 96] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0844; BYTE $0xe0 // or al, r12b + WORD $0x0841; BYTE $0xdd // or r13b, bl + LONG $0x245cb60f; BYTE $0x48 // movzx ebx, byte [rsp + 72] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + WORD $0xc308 // or bl, al + LONG $0x2444b60f; BYTE $0x68 // movzx eax, byte [rsp + 104] + WORD $0xe0c0; BYTE $0x06 // shl al, 6 + LONG $0x07e3c041 // shl r11b, 7 + WORD $0x0841; BYTE $0xc3 // or r11b, al + WORD $0xc900 // add cl, cl + LONG $0x80248c02; WORD $0x0000; BYTE $0x00 // add cl, byte [rsp + 128] + LONG $0x02e7c040 // shl dil, 2 + WORD $0x0840; BYTE $0xcf // or dil, cl + LONG $0x03e0c041 // shl r8b, 3 + WORD $0x0841; BYTE $0xf8 // or r8b, dil + LONG $0x04e2c041 // shl r10b, 4 + WORD $0x0845; BYTE $0xc2 // or r10b, r8b + LONG $0x05e6c041 // shl r14b, 5 + WORD $0x0845; BYTE $0xd6 // or r14b, r10b + WORD $0x0841; BYTE $0xdb // or r11b, bl + LONG $0x2444b60f; BYTE $0x70 // movzx eax, byte [rsp + 112] + WORD $0xe0c0; BYTE $0x06 // shl al, 6 + LONG $0x07e1c041 // shl r9b, 7 + WORD $0x0841; BYTE $0xc1 // or r9b, al + QUAD $0x000000f024848b48 // mov rax, qword [rsp + 240] + WORD $0x8844; BYTE $0x28 // mov byte [rax], r13b + WORD $0x0845; BYTE $0xf1 // or r9b, r14b + WORD $0x0045; BYTE $0xff // add r15b, r15b + LONG $0x247c0244; BYTE $0x58 // add r15b, byte [rsp + 88] + LONG $0x244cb60f; BYTE $0x50 // movzx ecx, byte [rsp + 80] + WORD $0xe1c0; BYTE $0x02 // shl cl, 2 + WORD $0x0844; BYTE $0xf9 // or cl, r15b + WORD $0xcb89 // mov ebx, ecx + LONG $0x244cb60f; BYTE $0x40 // movzx ecx, byte [rsp + 64] + WORD $0xe1c0; BYTE $0x03 // shl cl, 3 + WORD $0xd908 // or cl, bl + WORD $0xcb89 // mov ebx, ecx + LONG $0x244cb60f; BYTE $0x20 // movzx ecx, byte [rsp + 32] + WORD $0xe1c0; BYTE $0x04 // shl cl, 4 + WORD $0xd908 // or cl, bl + WORD $0xcb89 // mov ebx, ecx + LONG $0x244cb60f; BYTE $0x08 // movzx ecx, byte [rsp + 8] + WORD $0xe1c0; BYTE $0x05 // shl cl, 5 + WORD $0xd908 // or cl, bl + LONG $0x01588844 // mov byte [rax + 1], r11b + LONG $0x245cb60f; BYTE $0x04 // movzx ebx, byte [rsp + 4] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 + WORD $0xe2c0; BYTE $0x07 // shl dl, 7 + WORD $0xda08 // or dl, bl + LONG $0x02488844 // mov byte [rax + 2], r9b + WORD $0xca08 // or dl, cl + WORD $0x5088; BYTE $0x03 // mov byte [rax + 3], dl + LONG $0x04c08348 // add rax, 4 + QUAD $0x000000f024848948 // mov qword [rsp + 240], rax + LONG $0x24448348; WORD $0xff78 // add qword [rsp + 120], -1 + JNE LBB7_177 + QUAD $0x000000f0249c8b4c // mov r11, qword [rsp + 240] + QUAD $0x000000f824948b4c // mov r10, qword [rsp + 248] + QUAD $0x0000008824b48b4c // mov r14, qword [rsp + 136] + +LBB7_179: + LONG $0x05e6c149 // shl r14, 5 + WORD $0x394d; BYTE $0xd6 // cmp r14, r10 + JGE LBB7_191 + WORD $0x894d; BYTE $0xd0 // mov r8, r10 + WORD $0x294d; BYTE $0xf0 // sub r8, r14 + WORD $0xf749; BYTE $0xd6 // not r14 + WORD $0x014d; BYTE $0xd6 // add r14, r10 + JNE LBB7_184 + WORD $0x3145; BYTE $0xd2 // xor r10d, r10d + JMP LBB7_182 + +LBB7_42: WORD $0x8a44; BYTE $0x32 // mov r14b, byte [rdx] LONG $0x1f7a8d4d // lea r15, [r10 + 31] WORD $0x854d; BYTE $0xd2 // test r10, r10 @@ -37888,10 +39234,10 @@ LBB7_37: LONG $0xc1490f41 // cmovns eax, r9d WORD $0xe083; BYTE $0xf8 // and eax, -8 WORD $0x2941; BYTE $0xc1 // sub r9d, eax - JE LBB7_41 + JE LBB7_46 WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d -LBB7_39: +LBB7_44: WORD $0x3a44; BYTE $0x36 // cmp r14b, byte [rsi] LONG $0x01768d48 // lea rsi, [rsi + 1] WORD $0xd219 // sbb edx, edx @@ -37911,38 +39257,38 @@ LBB7_39: LONG $0x3b1c8841 // mov byte [r11 + rdi], bl LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 - JNE LBB7_39 + JNE LBB7_44 LONG $0x01c38349 // add r11, 1 -LBB7_41: +LBB7_46: LONG $0x05ffc149 // sar r15, 5 LONG $0x20fa8349 // cmp r10, 32 - JL LBB7_42 + JL LBB7_47 LONG $0x20ff8349 // cmp r15, 32 LONG $0x24748944; BYTE $0x04 // mov dword [rsp + 4], r14d QUAD $0x000000f82494894c // mov qword [rsp + 248], r10 QUAD $0x0000017824bc894c // mov qword [rsp + 376], r15 - JB LBB7_44 + JB LBB7_49 WORD $0x894c; BYTE $0xf8 // mov rax, r15 LONG $0x05e0c148 // shl rax, 5 WORD $0x0148; BYTE $0xf0 // add rax, rsi WORD $0x3949; BYTE $0xc3 // cmp r11, rax - JAE LBB7_47 + JAE LBB7_52 LONG $0xbb048d4b // lea rax, [r11 + 4*r15] WORD $0x3948; BYTE $0xc6 // cmp rsi, rax - JAE LBB7_47 + JAE LBB7_52 -LBB7_44: +LBB7_49: WORD $0xc031 // xor eax, eax QUAD $0x0000016824848948 // mov qword [rsp + 360], rax WORD $0x8949; BYTE $0xf4 // mov r12, rsi QUAD $0x00000160249c894c // mov qword [rsp + 352], r11 -LBB7_50: +LBB7_55: QUAD $0x0000016824bc2b4c // sub r15, qword [rsp + 360] LONG $0x247c894c; BYTE $0x78 // mov qword [rsp + 120], r15 -LBB7_51: +LBB7_56: WORD $0x894c; BYTE $0xe1 // mov rcx, r12 LONG $0x24343845 // cmp byte [r12], r14b QUAD $0x000001402494970f // seta byte [rsp + 320] @@ -38105,12 +39451,12 @@ LBB7_51: LONG $0x04c68348 // add rsi, 4 QUAD $0x0000016024b48948 // mov qword [rsp + 352], rsi LONG $0x24448348; WORD $0xff78 // add qword [rsp + 120], -1 - JNE LBB7_51 + JNE LBB7_56 QUAD $0x000000f824948b4c // mov r10, qword [rsp + 248] QUAD $0x0000017824bc8b4c // mov r15, qword [rsp + 376] - JMP LBB7_53 + JMP LBB7_58 -LBB7_122: +LBB7_129: WORD $0x8b44; BYTE $0x2a // mov r13d, dword [rdx] LONG $0x1f7a8d4d // lea r15, [r10 + 31] WORD $0x854d; BYTE $0xd2 // test r10, r10 @@ -38120,10 +39466,10 @@ LBB7_122: LONG $0xc1490f41 // cmovns eax, r9d WORD $0xe083; BYTE $0xf8 // and eax, -8 WORD $0x2941; BYTE $0xc1 // sub r9d, eax - JE LBB7_126 + JE LBB7_133 WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d -LBB7_124: +LBB7_131: WORD $0x3944; BYTE $0x2e // cmp dword [rsi], r13d LONG $0x04768d48 // lea rsi, [rsi + 4] WORD $0x9f0f; BYTE $0xd2 // setg dl @@ -38144,18 +39490,18 @@ LBB7_124: LONG $0x1b3c8841 // mov byte [r11 + rbx], dil LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 - JNE LBB7_124 + JNE LBB7_131 LONG $0x01c38349 // add r11, 1 -LBB7_126: +LBB7_133: LONG $0x05ffc149 // sar r15, 5 LONG $0x20fa8349 // cmp r10, 32 - JL LBB7_127 + JL LBB7_134 QUAD $0x000000f82494894c // mov qword [rsp + 248], r10 QUAD $0x0000009024bc894c // mov qword [rsp + 144], r15 QUAD $0x0000008824bc894c // mov qword [rsp + 136], r15 -LBB7_129: +LBB7_136: QUAD $0x000000f0249c894c // mov qword [rsp + 240], r11 WORD $0x3944; BYTE $0x2e // cmp dword [rsi], r13d LONG $0x24549f0f; BYTE $0x78 // setg byte [rsp + 120] @@ -38310,174 +39656,249 @@ LBB7_129: LONG $0x80c68148; WORD $0x0000; BYTE $0x00 // add rsi, 128 LONG $0x04c38349 // add r11, 4 QUAD $0x0000008824848348; BYTE $0xff // add qword [rsp + 136], -1 - JNE LBB7_129 + JNE LBB7_136 WORD $0x894d; BYTE $0xde // mov r14, r11 QUAD $0x000000f824948b4c // mov r10, qword [rsp + 248] QUAD $0x0000009024bc8b4c // mov r15, qword [rsp + 144] LONG $0x05e7c149 // shl r15, 5 WORD $0x394d; BYTE $0xd7 // cmp r15, r10 - JL LBB7_132 - JMP LBB7_192 + JL LBB7_139 + JMP LBB7_191 LBB7_18: WORD $0x894d; BYTE $0xde // mov r14, r11 LONG $0x05e7c149 // shl r15, 5 WORD $0x394d; BYTE $0xd7 // cmp r15, r10 - JGE LBB7_192 - -LBB7_116: - WORD $0x894d; BYTE $0xd0 // mov r8, r10 - WORD $0x294d; BYTE $0xf8 // sub r8, r15 - WORD $0xf749; BYTE $0xd7 // not r15 - WORD $0x014d; BYTE $0xd7 // add r15, r10 - JNE LBB7_120 - WORD $0x3145; BYTE $0xdb // xor r11d, r11d - JMP LBB7_118 - -LBB7_36: - WORD $0x894d; BYTE $0xde // mov r14, r11 - LONG $0x05e7c149 // shl r15, 5 - WORD $0x394d; BYTE $0xd7 // cmp r15, r10 - JGE LBB7_192 + JGE LBB7_191 -LBB7_184: +LBB7_123: WORD $0x894d; BYTE $0xd0 // mov r8, r10 WORD $0x294d; BYTE $0xf8 // sub r8, r15 WORD $0xf749; BYTE $0xd7 // not r15 WORD $0x014d; BYTE $0xd7 // add r15, r10 - JNE LBB7_186 + JNE LBB7_127 WORD $0x3145; BYTE $0xdb // xor r11d, r11d - JMP LBB7_188 + JMP LBB7_125 LBB7_9: QUAD $0x00000160249c894c // mov qword [rsp + 352], r11 WORD $0x8949; BYTE $0xf4 // mov r12, rsi -LBB7_71: +LBB7_76: LONG $0x05e5c149 // shl r13, 5 WORD $0x394d; BYTE $0xfd // cmp r13, r15 - JGE LBB7_192 + JGE LBB7_191 WORD $0x894d; BYTE $0xf8 // mov r8, r15 WORD $0x294d; BYTE $0xe8 // sub r8, r13 WORD $0xf749; BYTE $0xd5 // not r13 WORD $0x014d; BYTE $0xfd // add r13, r15 - JNE LBB7_74 + JNE LBB7_79 WORD $0xf631 // xor esi, esi - JMP LBB7_77 + JMP LBB7_82 LBB7_27: WORD $0x894d; BYTE $0xde // mov r14, r11 LONG $0x05e7c149 // shl r15, 5 WORD $0x394d; BYTE $0xd7 // cmp r15, r10 - JGE LBB7_192 + JGE LBB7_191 -LBB7_142: +LBB7_149: WORD $0x894d; BYTE $0xd0 // mov r8, r10 WORD $0x294d; BYTE $0xf8 // sub r8, r15 WORD $0xf749; BYTE $0xd7 // not r15 WORD $0x014d; BYTE $0xd7 // add r15, r10 - JNE LBB7_146 + JNE LBB7_153 WORD $0x3145; BYTE $0xdb // xor r11d, r11d - JMP LBB7_144 - -LBB7_84: - WORD $0x894d; BYTE $0xde // mov r14, r11 - LONG $0x05e7c149 // shl r15, 5 - WORD $0x394d; BYTE $0xd7 // cmp r15, r10 - JGE LBB7_192 + JMP LBB7_151 LBB7_89: - WORD $0x894d; BYTE $0xd0 // mov r8, r10 - WORD $0x294d; BYTE $0xf8 // sub r8, r15 - WORD $0xf749; BYTE $0xd7 // not r15 - WORD $0x014d; BYTE $0xd7 // add r15, r10 - JNE LBB7_93 - WORD $0x3145; BYTE $0xdb // xor r11d, r11d - JMP LBB7_91 - -LBB7_100: WORD $0x894d; BYTE $0xde // mov r14, r11 LONG $0x05e7c149 // shl r15, 5 WORD $0x394d; BYTE $0xd7 // cmp r15, r10 - JGE LBB7_192 + JGE LBB7_191 -LBB7_105: +LBB7_94: WORD $0x894d; BYTE $0xd0 // mov r8, r10 WORD $0x294d; BYTE $0xf8 // sub r8, r15 WORD $0xf749; BYTE $0xd7 // not r15 WORD $0x014d; BYTE $0xd7 // add r15, r10 - JNE LBB7_110 + JNE LBB7_100 WORD $0x3145; BYTE $0xdb // xor r11d, r11d - JMP LBB7_107 + JMP LBB7_96 -LBB7_153: +LBB7_107: WORD $0x894d; BYTE $0xde // mov r14, r11 LONG $0x05e7c149 // shl r15, 5 WORD $0x394d; BYTE $0xd7 // cmp r15, r10 - JGE LBB7_192 + JGE LBB7_191 -LBB7_158: +LBB7_112: WORD $0x894d; BYTE $0xd0 // mov r8, r10 WORD $0x294d; BYTE $0xf8 // sub r8, r15 WORD $0xf749; BYTE $0xd7 // not r15 WORD $0x014d; BYTE $0xd7 // add r15, r10 - JNE LBB7_162 + JNE LBB7_117 WORD $0x3145; BYTE $0xdb // xor r11d, r11d - JMP LBB7_160 + JMP LBB7_114 -LBB7_169: +LBB7_160: WORD $0x894d; BYTE $0xde // mov r14, r11 LONG $0x05e7c149 // shl r15, 5 WORD $0x394d; BYTE $0xd7 // cmp r15, r10 - JGE LBB7_192 + JGE LBB7_191 -LBB7_174: +LBB7_165: WORD $0x894d; BYTE $0xd0 // mov r8, r10 WORD $0x294d; BYTE $0xf8 // sub r8, r15 WORD $0xf749; BYTE $0xd7 // not r15 WORD $0x014d; BYTE $0xd7 // add r15, r10 - JNE LBB7_178 + JNE LBB7_169 WORD $0x3145; BYTE $0xdb // xor r11d, r11d - JMP LBB7_176 + JMP LBB7_167 -LBB7_42: +LBB7_47: QUAD $0x00000160249c894c // mov qword [rsp + 352], r11 WORD $0x8949; BYTE $0xf4 // mov r12, rsi -LBB7_53: +LBB7_58: LONG $0x05e7c149 // shl r15, 5 WORD $0x394d; BYTE $0xd7 // cmp r15, r10 - JGE LBB7_192 + JGE LBB7_191 WORD $0x894d; BYTE $0xd0 // mov r8, r10 WORD $0x294d; BYTE $0xf8 // sub r8, r15 WORD $0xf749; BYTE $0xd7 // not r15 WORD $0x014d; BYTE $0xd7 // add r15, r10 - JNE LBB7_56 + JNE LBB7_61 WORD $0xc031 // xor eax, eax - JMP LBB7_59 + JMP LBB7_64 -LBB7_127: +LBB7_134: WORD $0x894d; BYTE $0xde // mov r14, r11 LONG $0x05e7c149 // shl r15, 5 WORD $0x394d; BYTE $0xd7 // cmp r15, r10 - JGE LBB7_192 + JGE LBB7_191 -LBB7_132: +LBB7_139: WORD $0x894d; BYTE $0xd0 // mov r8, r10 WORD $0x294d; BYTE $0xf8 // sub r8, r15 WORD $0xf749; BYTE $0xd7 // not r15 WORD $0x014d; BYTE $0xd7 // add r15, r10 - JNE LBB7_136 + JNE LBB7_143 WORD $0x3145; BYTE $0xdb // xor r11d, r11d - JMP LBB7_134 + JMP LBB7_141 -LBB7_120: +LBB7_186: + WORD $0x894d; BYTE $0xc1 // mov r9, r8 + LONG $0xfee18349 // and r9, -2 + WORD $0x3145; BYTE $0xd2 // xor r10d, r10d + WORD $0x894d; BYTE $0xde // mov r14, r11 + +LBB7_187: + LONG $0x0e10fbc5 // vmovsd xmm1, qword [rsi] + LONG $0xc82ef9c5 // vucomisd xmm1, xmm0 + WORD $0x970f; BYTE $0xd0 // seta al + WORD $0xd8f6 // neg al + WORD $0x894c; BYTE $0xd7 // mov rdi, r10 + LONG $0x03efc148 // shr rdi, 3 + WORD $0x8944; BYTE $0xd1 // mov ecx, r10d + WORD $0xe180; BYTE $0x06 // and cl, 6 + WORD $0x01b3 // mov bl, 1 + WORD $0xe3d2 // shl bl, cl + LONG $0x14b60f41; BYTE $0x3e // movzx edx, byte [r14 + rdi] + WORD $0xd030 // xor al, dl + WORD $0xc320 // and bl, al + WORD $0xd330 // xor bl, dl + LONG $0x3e1c8841 // mov byte [r14 + rdi], bl + LONG $0x02c28349 // add r10, 2 + LONG $0x4e10fbc5; BYTE $0x08 // vmovsd xmm1, qword [rsi + 8] + LONG $0x10c68348 // add rsi, 16 + LONG $0xc82ef9c5 // vucomisd xmm1, xmm0 + WORD $0x970f; BYTE $0xd0 // seta al + WORD $0xd8f6 // neg al + WORD $0xd830 // xor al, bl + WORD $0xc980; BYTE $0x01 // or cl, 1 + WORD $0x01b2 // mov dl, 1 + WORD $0xe2d2 // shl dl, cl + WORD $0xc220 // and dl, al + WORD $0xda30 // xor dl, bl + LONG $0x3e148841 // mov byte [r14 + rdi], dl + WORD $0x394d; BYTE $0xd1 // cmp r9, r10 + JNE LBB7_187 + +LBB7_188: + LONG $0x01c0f641 // test r8b, 1 + JE LBB7_191 + LONG $0x0e10fbc5 // vmovsd xmm1, qword [rsi] + LONG $0xc82ef9c5 // vucomisd xmm1, xmm0 + JMP LBB7_190 + +LBB7_184: + WORD $0x894d; BYTE $0xc1 // mov r9, r8 + LONG $0xfee18349 // and r9, -2 + WORD $0x3145; BYTE $0xd2 // xor r10d, r10d + WORD $0x894d; BYTE $0xde // mov r14, r11 + +LBB7_185: + LONG $0x0e10fac5 // vmovss xmm1, dword [rsi] + LONG $0xc82ef8c5 // vucomiss xmm1, xmm0 + WORD $0x970f; BYTE $0xd0 // seta al + WORD $0xd8f6 // neg al + WORD $0x894c; BYTE $0xd7 // mov rdi, r10 + LONG $0x03efc148 // shr rdi, 3 + WORD $0x8944; BYTE $0xd1 // mov ecx, r10d + WORD $0xe180; BYTE $0x06 // and cl, 6 + WORD $0x01b3 // mov bl, 1 + WORD $0xe3d2 // shl bl, cl + LONG $0x14b60f41; BYTE $0x3e // movzx edx, byte [r14 + rdi] + WORD $0xd030 // xor al, dl + WORD $0xc320 // and bl, al + WORD $0xd330 // xor bl, dl + LONG $0x3e1c8841 // mov byte [r14 + rdi], bl + LONG $0x02c28349 // add r10, 2 + LONG $0x4e10fac5; BYTE $0x04 // vmovss xmm1, dword [rsi + 4] + LONG $0x08c68348 // add rsi, 8 + LONG $0xc82ef8c5 // vucomiss xmm1, xmm0 + WORD $0x970f; BYTE $0xd0 // seta al + WORD $0xd8f6 // neg al + WORD $0xd830 // xor al, bl + WORD $0xc980; BYTE $0x01 // or cl, 1 + WORD $0x01b2 // mov dl, 1 + WORD $0xe2d2 // shl dl, cl + WORD $0xc220 // and dl, al + WORD $0xda30 // xor dl, bl + LONG $0x3e148841 // mov byte [r14 + rdi], dl + WORD $0x394d; BYTE $0xd1 // cmp r9, r10 + JNE LBB7_185 + +LBB7_182: + LONG $0x01c0f641 // test r8b, 1 + JE LBB7_191 + LONG $0x0e10fac5 // vmovss xmm1, dword [rsi] + LONG $0xc82ef8c5 // vucomiss xmm1, xmm0 + +LBB7_190: + WORD $0x970f; BYTE $0xd0 // seta al + WORD $0xd8f6 // neg al + WORD $0x894c; BYTE $0xd2 // mov rdx, r10 + LONG $0x03eac148 // shr rdx, 3 + LONG $0x13348a41 // mov sil, byte [r11 + rdx] + LONG $0x07e28041 // and r10b, 7 + WORD $0x01b3 // mov bl, 1 + WORD $0x8944; BYTE $0xd1 // mov ecx, r10d + WORD $0xe3d2 // shl bl, cl + WORD $0x3040; BYTE $0xf0 // xor al, sil + WORD $0xc320 // and bl, al + WORD $0x3040; BYTE $0xf3 // xor bl, sil + LONG $0x131c8841 // mov byte [r11 + rdx], bl + JMP LBB7_191 + +LBB7_127: WORD $0x894d; BYTE $0xc1 // mov r9, r8 LONG $0xfee18349 // and r9, -2 WORD $0x3145; BYTE $0xdb // xor r11d, r11d WORD $0x894d; BYTE $0xf7 // mov r15, r14 -LBB7_121: +LBB7_128: WORD $0x3b44; BYTE $0x2e // cmp r13d, dword [rsi] WORD $0xff19 // sbb edi, edi WORD $0x894c; BYTE $0xda // mov rdx, r11 @@ -38503,61 +39924,21 @@ LBB7_121: WORD $0xc330 // xor bl, al LONG $0x171c8841 // mov byte [r15 + rdx], bl WORD $0x394d; BYTE $0xd9 // cmp r9, r11 - JNE LBB7_121 + JNE LBB7_128 -LBB7_118: +LBB7_125: LONG $0x01c0f641 // test r8b, 1 - JE LBB7_192 + JE LBB7_191 WORD $0x3b44; BYTE $0x2e // cmp r13d, dword [rsi] - JMP LBB7_190 + JMP LBB7_98 -LBB7_186: - WORD $0x894d; BYTE $0xc2 // mov r10, r8 - LONG $0xfee28349 // and r10, -2 - WORD $0x3145; BYTE $0xdb // xor r11d, r11d - WORD $0x894d; BYTE $0xf7 // mov r15, r14 - -LBB7_187: - LONG $0x062ef9c5 // vucomisd xmm0, qword [rsi] - WORD $0xc019 // sbb eax, eax - WORD $0x894c; BYTE $0xdf // mov rdi, r11 - LONG $0x03efc148 // shr rdi, 3 - LONG $0x0cb60f45; BYTE $0x3f // movzx r9d, byte [r15 + rdi] - WORD $0x3044; BYTE $0xc8 // xor al, r9b - WORD $0x8944; BYTE $0xd9 // mov ecx, r11d - WORD $0xe180; BYTE $0x06 // and cl, 6 - WORD $0x01b3 // mov bl, 1 - WORD $0xe3d2 // shl bl, cl - WORD $0xc320 // and bl, al - WORD $0x3044; BYTE $0xcb // xor bl, r9b - LONG $0x3f1c8841 // mov byte [r15 + rdi], bl - LONG $0x02c38349 // add r11, 2 - LONG $0x462ef9c5; BYTE $0x08 // vucomisd xmm0, qword [rsi + 8] - LONG $0x10768d48 // lea rsi, [rsi + 16] - WORD $0xc019 // sbb eax, eax - WORD $0xd830 // xor al, bl - WORD $0xc980; BYTE $0x01 // or cl, 1 - WORD $0x01b2 // mov dl, 1 - WORD $0xe2d2 // shl dl, cl - WORD $0xc220 // and dl, al - WORD $0xda30 // xor dl, bl - LONG $0x3f148841 // mov byte [r15 + rdi], dl - WORD $0x394d; BYTE $0xda // cmp r10, r11 - JNE LBB7_187 - -LBB7_188: - LONG $0x01c0f641 // test r8b, 1 - JE LBB7_192 - LONG $0x062ef9c5 // vucomisd xmm0, qword [rsi] - JMP LBB7_190 - -LBB7_74: +LBB7_79: WORD $0x894d; BYTE $0xc2 // mov r10, r8 LONG $0xfee28349 // and r10, -2 WORD $0xf631 // xor esi, esi QUAD $0x00000160249c8b4c // mov r11, qword [rsp + 352] -LBB7_75: +LBB7_80: LONG $0x34343845 // cmp byte [r12 + rsi], r14b WORD $0x9f0f; BYTE $0xd3 // setg bl WORD $0xdbf6 // neg bl @@ -38584,12 +39965,12 @@ LBB7_75: WORD $0xd030 // xor al, dl LONG $0x3b048841 // mov byte [r11 + rdi], al WORD $0x3949; BYTE $0xf2 // cmp r10, rsi - JNE LBB7_75 + JNE LBB7_80 WORD $0x0149; BYTE $0xf4 // add r12, rsi -LBB7_77: +LBB7_82: LONG $0x01c0f641 // test r8b, 1 - JE LBB7_192 + JE LBB7_191 LONG $0x24343845 // cmp byte [r12], r14b WORD $0x9f0f; BYTE $0xd0 // setg al WORD $0xd8f6 // neg al @@ -38605,15 +39986,15 @@ LBB7_77: WORD $0xc320 // and bl, al WORD $0x3040; BYTE $0xfb // xor bl, dil LONG $0x101c8841 // mov byte [r8 + rdx], bl - JMP LBB7_192 + JMP LBB7_191 -LBB7_146: +LBB7_153: WORD $0x894d; BYTE $0xc1 // mov r9, r8 LONG $0xfee18349 // and r9, -2 WORD $0x3145; BYTE $0xdb // xor r11d, r11d WORD $0x894d; BYTE $0xf7 // mov r15, r14 -LBB7_147: +LBB7_154: WORD $0x3b4c; BYTE $0x2e // cmp r13, qword [rsi] WORD $0xff19 // sbb edi, edi WORD $0x894c; BYTE $0xda // mov rdx, r11 @@ -38639,21 +40020,21 @@ LBB7_147: WORD $0xc330 // xor bl, al LONG $0x171c8841 // mov byte [r15 + rdx], bl WORD $0x394d; BYTE $0xd9 // cmp r9, r11 - JNE LBB7_147 + JNE LBB7_154 -LBB7_144: +LBB7_151: LONG $0x01c0f641 // test r8b, 1 - JE LBB7_192 + JE LBB7_191 WORD $0x3b4c; BYTE $0x2e // cmp r13, qword [rsi] - JMP LBB7_190 + JMP LBB7_98 -LBB7_93: +LBB7_100: WORD $0x894d; BYTE $0xc1 // mov r9, r8 LONG $0xfee18349 // and r9, -2 WORD $0x3145; BYTE $0xdb // xor r11d, r11d WORD $0x894d; BYTE $0xf7 // mov r15, r14 -LBB7_94: +LBB7_101: LONG $0x2e3b4466 // cmp r13w, word [rsi] WORD $0xff19 // sbb edi, edi WORD $0x894c; BYTE $0xda // mov rdx, r11 @@ -38679,21 +40060,33 @@ LBB7_94: WORD $0xc330 // xor bl, al LONG $0x171c8841 // mov byte [r15 + rdx], bl WORD $0x394d; BYTE $0xd9 // cmp r9, r11 - JNE LBB7_94 + JNE LBB7_101 -LBB7_91: +LBB7_96: LONG $0x01c0f641 // test r8b, 1 - JE LBB7_192 + JE LBB7_191 LONG $0x2e3b4466 // cmp r13w, word [rsi] - JMP LBB7_190 -LBB7_110: +LBB7_98: + WORD $0xc019 // sbb eax, eax + WORD $0x894c; BYTE $0xda // mov rdx, r11 + LONG $0x03eac148 // shr rdx, 3 + LONG $0x16348a41 // mov sil, byte [r14 + rdx] + LONG $0x07e38041 // and r11b, 7 + WORD $0x01b3 // mov bl, 1 + WORD $0x8944; BYTE $0xd9 // mov ecx, r11d + WORD $0xe3d2 // shl bl, cl + WORD $0x3040; BYTE $0xf0 // xor al, sil + WORD $0xc320 // and bl, al + JMP LBB7_99 + +LBB7_117: WORD $0x894d; BYTE $0xc2 // mov r10, r8 LONG $0xfee28349 // and r10, -2 WORD $0x3145; BYTE $0xdb // xor r11d, r11d WORD $0x894d; BYTE $0xf7 // mov r15, r14 -LBB7_111: +LBB7_118: LONG $0x2e394466 // cmp word [rsi], r13w WORD $0x9f0f; BYTE $0xd0 // setg al WORD $0xd8f6 // neg al @@ -38721,21 +40114,21 @@ LBB7_111: WORD $0xda30 // xor dl, bl LONG $0x3f148841 // mov byte [r15 + rdi], dl WORD $0x394d; BYTE $0xda // cmp r10, r11 - JNE LBB7_111 + JNE LBB7_118 -LBB7_107: +LBB7_114: LONG $0x01c0f641 // test r8b, 1 - JE LBB7_192 + JE LBB7_191 LONG $0x2e394466 // cmp word [rsi], r13w - JMP LBB7_109 + JMP LBB7_116 -LBB7_162: +LBB7_169: WORD $0x894d; BYTE $0xc2 // mov r10, r8 LONG $0xfee28349 // and r10, -2 WORD $0x3145; BYTE $0xdb // xor r11d, r11d WORD $0x894d; BYTE $0xf7 // mov r15, r14 -LBB7_163: +LBB7_170: WORD $0x394c; BYTE $0x2e // cmp qword [rsi], r13 WORD $0x9f0f; BYTE $0xd0 // setg al WORD $0xd8f6 // neg al @@ -38763,73 +40156,21 @@ LBB7_163: WORD $0xda30 // xor dl, bl LONG $0x3f148841 // mov byte [r15 + rdi], dl WORD $0x394d; BYTE $0xda // cmp r10, r11 - JNE LBB7_163 + JNE LBB7_170 -LBB7_160: +LBB7_167: LONG $0x01c0f641 // test r8b, 1 - JE LBB7_192 + JE LBB7_191 WORD $0x394c; BYTE $0x2e // cmp qword [rsi], r13 - JMP LBB7_109 - -LBB7_178: - WORD $0x894d; BYTE $0xc2 // mov r10, r8 - LONG $0xfee28349 // and r10, -2 - WORD $0x3145; BYTE $0xdb // xor r11d, r11d - WORD $0x894d; BYTE $0xf7 // mov r15, r14 + JMP LBB7_116 -LBB7_179: - LONG $0x062ef8c5 // vucomiss xmm0, dword [rsi] - WORD $0xc019 // sbb eax, eax - WORD $0x894c; BYTE $0xdf // mov rdi, r11 - LONG $0x03efc148 // shr rdi, 3 - LONG $0x0cb60f45; BYTE $0x3f // movzx r9d, byte [r15 + rdi] - WORD $0x3044; BYTE $0xc8 // xor al, r9b - WORD $0x8944; BYTE $0xd9 // mov ecx, r11d - WORD $0xe180; BYTE $0x06 // and cl, 6 - WORD $0x01b3 // mov bl, 1 - WORD $0xe3d2 // shl bl, cl - WORD $0xc320 // and bl, al - WORD $0x3044; BYTE $0xcb // xor bl, r9b - LONG $0x3f1c8841 // mov byte [r15 + rdi], bl - LONG $0x02c38349 // add r11, 2 - LONG $0x462ef8c5; BYTE $0x04 // vucomiss xmm0, dword [rsi + 4] - LONG $0x08768d48 // lea rsi, [rsi + 8] - WORD $0xc019 // sbb eax, eax - WORD $0xd830 // xor al, bl - WORD $0xc980; BYTE $0x01 // or cl, 1 - WORD $0x01b2 // mov dl, 1 - WORD $0xe2d2 // shl dl, cl - WORD $0xc220 // and dl, al - WORD $0xda30 // xor dl, bl - LONG $0x3f148841 // mov byte [r15 + rdi], dl - WORD $0x394d; BYTE $0xda // cmp r10, r11 - JNE LBB7_179 - -LBB7_176: - LONG $0x01c0f641 // test r8b, 1 - JE LBB7_192 - LONG $0x062ef8c5 // vucomiss xmm0, dword [rsi] - -LBB7_190: - WORD $0xc019 // sbb eax, eax - WORD $0x894c; BYTE $0xda // mov rdx, r11 - LONG $0x03eac148 // shr rdx, 3 - LONG $0x16348a41 // mov sil, byte [r14 + rdx] - LONG $0x07e38041 // and r11b, 7 - WORD $0x01b3 // mov bl, 1 - WORD $0x8944; BYTE $0xd9 // mov ecx, r11d - WORD $0xe3d2 // shl bl, cl - WORD $0x3040; BYTE $0xf0 // xor al, sil - WORD $0xc320 // and bl, al - JMP LBB7_191 - -LBB7_56: +LBB7_61: WORD $0x894d; BYTE $0xc1 // mov r9, r8 LONG $0xfee18349 // and r9, -2 WORD $0xc031 // xor eax, eax QUAD $0x0000016024948b4c // mov r10, qword [rsp + 352] -LBB7_57: +LBB7_62: LONG $0x04343a45 // cmp r14b, byte [r12 + rax] WORD $0xf619 // sbb esi, esi WORD $0x8948; BYTE $0xc7 // mov rdi, rax @@ -38854,12 +40195,12 @@ LBB7_57: WORD $0xd330 // xor bl, dl LONG $0x3a1c8841 // mov byte [r10 + rdi], bl WORD $0x3949; BYTE $0xc1 // cmp r9, rax - JNE LBB7_57 + JNE LBB7_62 WORD $0x0149; BYTE $0xc4 // add r12, rax -LBB7_59: +LBB7_64: LONG $0x01c0f641 // test r8b, 1 - JE LBB7_192 + JE LBB7_191 LONG $0x24343a45 // cmp r14b, byte [r12] WORD $0xd219 // sbb edx, edx WORD $0x8948; BYTE $0xc6 // mov rsi, rax @@ -38874,15 +40215,15 @@ LBB7_59: WORD $0xd320 // and bl, dl WORD $0x3040; BYTE $0xfb // xor bl, dil LONG $0x301c8841 // mov byte [r8 + rsi], bl - JMP LBB7_192 + JMP LBB7_191 -LBB7_136: +LBB7_143: WORD $0x894d; BYTE $0xc2 // mov r10, r8 LONG $0xfee28349 // and r10, -2 WORD $0x3145; BYTE $0xdb // xor r11d, r11d WORD $0x894d; BYTE $0xf7 // mov r15, r14 -LBB7_137: +LBB7_144: WORD $0x3944; BYTE $0x2e // cmp dword [rsi], r13d WORD $0x9f0f; BYTE $0xd0 // setg al WORD $0xd8f6 // neg al @@ -38910,14 +40251,14 @@ LBB7_137: WORD $0xda30 // xor dl, bl LONG $0x3f148841 // mov byte [r15 + rdi], dl WORD $0x394d; BYTE $0xda // cmp r10, r11 - JNE LBB7_137 + JNE LBB7_144 -LBB7_134: +LBB7_141: LONG $0x01c0f641 // test r8b, 1 - JE LBB7_192 + JE LBB7_191 WORD $0x3944; BYTE $0x2e // cmp dword [rsi], r13d -LBB7_109: +LBB7_116: WORD $0x9f0f; BYTE $0xd0 // setg al WORD $0xd8f6 // neg al WORD $0x894c; BYTE $0xda // mov rdx, r11 @@ -38930,16 +40271,16 @@ LBB7_109: WORD $0x3040; BYTE $0xf0 // xor al, sil WORD $0xc320 // and bl, al -LBB7_191: +LBB7_99: WORD $0x3040; BYTE $0xf3 // xor bl, sil LONG $0x161c8841 // mov byte [r14 + rdx], bl -LBB7_192: +LBB7_191: MOVQ 1344(SP), SP VZEROUPPER RET -LBB7_65: +LBB7_70: LONG $0xe0e58349 // and r13, -32 WORD $0x894c; BYTE $0xe8 // mov rax, r13 LONG $0x05e0c148 // shl rax, 5 @@ -38954,7 +40295,7 @@ LBB7_65: WORD $0xc031 // xor eax, eax QUAD $0x000000f0249c894c // mov qword [rsp + 240], r11 -LBB7_66: +LBB7_71: WORD $0x8948; BYTE $0xc3 // mov rbx, rax QUAD $0x0000017024848948 // mov qword [rsp + 368], rax LONG $0x05e3c148 // shl rbx, 5 @@ -41078,16 +42419,16 @@ LBB7_66: LONG $0x20c18348 // add rcx, 32 WORD $0x8948; BYTE $0xc8 // mov rax, rcx QUAD $0x00000180248c3b48 // cmp rcx, qword [rsp + 384] - JNE LBB7_66 + JNE LBB7_71 QUAD $0x0000016824ac8b4c // mov r13, qword [rsp + 360] QUAD $0x0000018024ac3b4c // cmp r13, qword [rsp + 384] QUAD $0x000000f824bc8b4c // mov r15, qword [rsp + 248] LONG $0x24748b44; BYTE $0x04 // mov r14d, dword [rsp + 4] QUAD $0x0000024024a48b4c // mov r12, qword [rsp + 576] - JNE LBB7_68 - JMP LBB7_71 + JNE LBB7_73 + JMP LBB7_76 -LBB7_47: +LBB7_52: LONG $0xe0e78349 // and r15, -32 WORD $0x894c; BYTE $0xf8 // mov rax, r15 LONG $0x05e0c148 // shl rax, 5 @@ -41103,7 +42444,7 @@ LBB7_47: QUAD $0x000000f0249c894c // mov qword [rsp + 240], r11 QUAD $0x00024024b46f7dc5; BYTE $0x00 // vmovdqa ymm14, yword [rsp + 576] -LBB7_48: +LBB7_53: WORD $0x8948; BYTE $0xc3 // mov rbx, rax QUAD $0x0000017024848948 // mov qword [rsp + 368], rax LONG $0x05e3c148 // shl rbx, 5 @@ -43275,14 +44616,14 @@ LBB7_48: LONG $0x20c18348 // add rcx, 32 WORD $0x8948; BYTE $0xc8 // mov rax, rcx QUAD $0x00000168248c3b48 // cmp rcx, qword [rsp + 360] - JNE LBB7_48 + JNE LBB7_53 QUAD $0x0000017824bc8b4c // mov r15, qword [rsp + 376] QUAD $0x0000016824bc3b4c // cmp r15, qword [rsp + 360] QUAD $0x000000f824948b4c // mov r10, qword [rsp + 248] LONG $0x24748b44; BYTE $0x04 // mov r14d, dword [rsp + 4] QUAD $0x000001f824a48b4c // mov r12, qword [rsp + 504] - JNE LBB7_50 - JMP LBB7_53 + JNE LBB7_55 + JMP LBB7_58 DATA LCDATA6<>+0x000(SB)/8, $0x0101010101010101 DATA LCDATA6<>+0x008(SB)/8, $0x0101010101010101 @@ -53149,15 +54490,15 @@ TEXT ·_comparison_greater_equal_arr_scalar_avx2(SB), $1384-48 WORD $0x894d; BYTE $0xc2 // mov r10, r8 WORD $0x8949; BYTE $0xcb // mov r11, rcx WORD $0xff83; BYTE $0x06 // cmp edi, 6 - JG LBB10_13 + JG LBB10_15 WORD $0xff83; BYTE $0x03 // cmp edi, 3 - JLE LBB10_25 + JLE LBB10_2 WORD $0xff83; BYTE $0x04 // cmp edi, 4 - JE LBB10_48 + JE LBB10_81 WORD $0xff83; BYTE $0x05 // cmp edi, 5 - JE LBB10_56 + JE LBB10_97 WORD $0xff83; BYTE $0x06 // cmp edi, 6 - JNE LBB10_175 + JNE LBB10_194 WORD $0x8b44; BYTE $0x2a // mov r13d, dword [rdx] LONG $0x1f7a8d4d // lea r15, [r10 + 31] WORD $0x854d; BYTE $0xd2 // test r10, r10 @@ -53167,10 +54508,10 @@ TEXT ·_comparison_greater_equal_arr_scalar_avx2(SB), $1384-48 LONG $0xc1490f41 // cmovns eax, r9d WORD $0xe083; BYTE $0xf8 // and eax, -8 WORD $0x2941; BYTE $0xc1 // sub r9d, eax - JE LBB10_9 + JE LBB10_13 WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d -LBB10_7: +LBB10_11: WORD $0x3944; BYTE $0x2e // cmp dword [rsi], r13d LONG $0x04768d48 // lea rsi, [rsi + 4] LONG $0x000000ba; BYTE $0x00 // mov edx, 0 @@ -53191,23 +54532,23 @@ LBB10_7: LONG $0x1b3c8841 // mov byte [r11 + rbx], dil LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 - JNE LBB10_7 + JNE LBB10_11 LONG $0x01c38349 // add r11, 1 -LBB10_9: +LBB10_13: LONG $0x05ffc149 // sar r15, 5 LONG $0x20fa8349 // cmp r10, 32 - JL LBB10_100 + JL LBB10_14 QUAD $0x000001182494894c // mov qword [rsp + 280], r10 QUAD $0x000000b024bc894c // mov qword [rsp + 176], r15 QUAD $0x000000a824bc894c // mov qword [rsp + 168], r15 QUAD $0x00000110249c894c // mov qword [rsp + 272], r11 -LBB10_11: +LBB10_115: WORD $0x3944; BYTE $0x2e // cmp dword [rsi], r13d QUAD $0x000000982494930f // setae byte [rsp + 152] LONG $0x046e3944 // cmp dword [rsi + 4], r13d - LONG $0xd7930f40 // setae dil + LONG $0xd2930f41 // setae r10b LONG $0x086e3944 // cmp dword [rsi + 8], r13d LONG $0xd6930f41 // setae r14b LONG $0x0c6e3944 // cmp dword [rsi + 12], r13d @@ -53223,11 +54564,11 @@ LBB10_11: LONG $0x206e3944 // cmp dword [rsi + 32], r13d LONG $0x2454930f; BYTE $0x70 // setae byte [rsp + 112] LONG $0x246e3944 // cmp dword [rsi + 36], r13d - WORD $0x930f; BYTE $0xd2 // setae dl + LONG $0xd7930f40 // setae dil LONG $0x286e3944 // cmp dword [rsi + 40], r13d - LONG $0xd1930f41 // setae r9b + LONG $0xd0930f41 // setae r8b LONG $0x2c6e3944 // cmp dword [rsi + 44], r13d - LONG $0xd2930f41 // setae r10b + LONG $0xd1930f41 // setae r9b LONG $0x306e3944 // cmp dword [rsi + 48], r13d LONG $0xd3930f41 // setae r11b LONG $0x346e3944 // cmp dword [rsi + 52], r13d @@ -53267,67 +54608,68 @@ LBB10_11: LONG $0x786e3944 // cmp dword [rsi + 120], r13d LONG $0x2454930f; BYTE $0x1c // setae byte [rsp + 28] LONG $0x7c6e3944 // cmp dword [rsi + 124], r13d - LONG $0xd0930f41 // setae r8b - WORD $0x0040; BYTE $0xff // add dil, dil - QUAD $0x0000009824bc0240 // add dil, byte [rsp + 152] + WORD $0x930f; BYTE $0xd2 // setae dl + WORD $0x0045; BYTE $0xd2 // add r10b, r10b + QUAD $0x0000009824940244 // add r10b, byte [rsp + 152] WORD $0xe0c0; BYTE $0x06 // shl al, 6 WORD $0xe3c0; BYTE $0x07 // shl bl, 7 WORD $0xc308 // or bl, al LONG $0x02e6c041 // shl r14b, 2 - WORD $0x0841; BYTE $0xfe // or r14b, dil - WORD $0xd200 // add dl, dl - LONG $0x70245402 // add dl, byte [rsp + 112] + WORD $0x0845; BYTE $0xd6 // or r14b, r10b + WORD $0x0040; BYTE $0xff // add dil, dil + LONG $0x247c0240; BYTE $0x70 // add dil, byte [rsp + 112] QUAD $0x000000a02484b60f // movzx eax, byte [rsp + 160] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0x0844; BYTE $0xf0 // or al, r14b - LONG $0x02e1c041 // shl r9b, 2 - WORD $0x0841; BYTE $0xd1 // or r9b, dl - QUAD $0x000000902494b60f // movzx edx, byte [rsp + 144] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0xc208 // or dl, al - WORD $0xd789 // mov edi, edx - LONG $0x03e2c041 // shl r10b, 3 - WORD $0x0845; BYTE $0xca // or r10b, r9b - LONG $0x2454b60f; BYTE $0x60 // movzx edx, byte [rsp + 96] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xfa // or dl, dil + WORD $0x8941; BYTE $0xc2 // mov r10d, eax + LONG $0x02e0c041 // shl r8b, 2 + WORD $0x0841; BYTE $0xf8 // or r8b, dil + QUAD $0x000000902484b60f // movzx eax, byte [rsp + 144] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0844; BYTE $0xd0 // or al, r10b + WORD $0xc789 // mov edi, eax + LONG $0x03e1c041 // shl r9b, 3 + WORD $0x0845; BYTE $0xc1 // or r9b, r8b + LONG $0x2444b60f; BYTE $0x60 // movzx eax, byte [rsp + 96] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0x0840; BYTE $0xf8 // or al, dil LONG $0x04e3c041 // shl r11b, 4 - WORD $0x0845; BYTE $0xd3 // or r11b, r10b + WORD $0x0845; BYTE $0xcb // or r11b, r9b LONG $0x05e4c041 // shl r12b, 5 WORD $0x0845; BYTE $0xdc // or r12b, r11b LONG $0x247cb60f; BYTE $0x78 // movzx edi, byte [rsp + 120] LONG $0x06e7c040 // shl dil, 6 WORD $0xe1c0; BYTE $0x07 // shl cl, 7 WORD $0x0840; BYTE $0xf9 // or cl, dil - WORD $0xd308 // or bl, dl + WORD $0xc308 // or bl, al WORD $0x0844; BYTE $0xe1 // or cl, r12b - QUAD $0x000000802494b60f // movzx edx, byte [rsp + 128] - WORD $0xd200 // add dl, dl - LONG $0x50245402 // add dl, byte [rsp + 80] - WORD $0xd789 // mov edi, edx - QUAD $0x000000882494b60f // movzx edx, byte [rsp + 136] - WORD $0xe2c0; BYTE $0x02 // shl dl, 2 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x48 // movzx edx, byte [rsp + 72] - WORD $0xe2c0; BYTE $0x03 // shl dl, 3 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x58 // movzx edx, byte [rsp + 88] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x68 // movzx edx, byte [rsp + 104] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - QUAD $0x0000011024948b48 // mov rdx, qword [rsp + 272] - WORD $0x1a88 // mov byte [rdx], bl + QUAD $0x000000802484b60f // movzx eax, byte [rsp + 128] + WORD $0xc000 // add al, al + LONG $0x50244402 // add al, byte [rsp + 80] + WORD $0xc789 // mov edi, eax + QUAD $0x000000882484b60f // movzx eax, byte [rsp + 136] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x48 // movzx eax, byte [rsp + 72] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x58 // movzx eax, byte [rsp + 88] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x68 // movzx eax, byte [rsp + 104] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + QUAD $0x0000011024848b48 // mov rax, qword [rsp + 272] + WORD $0x1888 // mov byte [rax], bl LONG $0x245cb60f; BYTE $0x40 // movzx ebx, byte [rsp + 64] WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e7c041 // shl r15b, 7 WORD $0x0841; BYTE $0xdf // or r15b, bl - WORD $0x4a88; BYTE $0x01 // mov byte [rdx + 1], cl + WORD $0x4888; BYTE $0x01 // mov byte [rax + 1], cl WORD $0x0841; BYTE $0xff // or r15b, dil LONG $0x244cb60f; BYTE $0x28 // movzx ecx, byte [rsp + 40] WORD $0xc900 // add cl, cl @@ -53350,33 +54692,33 @@ LBB10_11: WORD $0xd908 // or cl, bl LONG $0x245cb60f; BYTE $0x1c // movzx ebx, byte [rsp + 28] WORD $0xe3c0; BYTE $0x06 // shl bl, 6 - LONG $0x07e0c041 // shl r8b, 7 - WORD $0x0841; BYTE $0xd8 // or r8b, bl - WORD $0x0841; BYTE $0xc8 // or r8b, cl - LONG $0x027a8844 // mov byte [rdx + 2], r15b - LONG $0x03428844 // mov byte [rdx + 3], r8b + WORD $0xe2c0; BYTE $0x07 // shl dl, 7 + WORD $0xda08 // or dl, bl + WORD $0xca08 // or dl, cl + LONG $0x02788844 // mov byte [rax + 2], r15b + WORD $0x5088; BYTE $0x03 // mov byte [rax + 3], dl LONG $0x80c68148; WORD $0x0000; BYTE $0x00 // add rsi, 128 - LONG $0x04c28348 // add rdx, 4 - QUAD $0x0000011024948948 // mov qword [rsp + 272], rdx + LONG $0x04c08348 // add rax, 4 + QUAD $0x0000011024848948 // mov qword [rsp + 272], rax QUAD $0x000000a824848348; BYTE $0xff // add qword [rsp + 168], -1 - JNE LBB10_11 + JNE LBB10_115 QUAD $0x0000011024b48b4c // mov r14, qword [rsp + 272] QUAD $0x0000011824948b4c // mov r10, qword [rsp + 280] QUAD $0x000000b024bc8b4c // mov r15, qword [rsp + 176] LONG $0x05e7c149 // shl r15, 5 WORD $0x394d; BYTE $0xd7 // cmp r15, r10 - JL LBB10_101 - JMP LBB10_175 + JL LBB10_118 + JMP LBB10_194 -LBB10_13: +LBB10_15: WORD $0xff83; BYTE $0x08 // cmp edi, 8 - JLE LBB10_38 + JLE LBB10_16 WORD $0xff83; BYTE $0x09 // cmp edi, 9 - JE LBB10_64 + JE LBB10_150 WORD $0xff83; BYTE $0x0b // cmp edi, 11 - JE LBB10_72 + JE LBB10_166 WORD $0xff83; BYTE $0x0c // cmp edi, 12 - JNE LBB10_175 + JNE LBB10_194 LONG $0x1f7a8d4d // lea r15, [r10 + 31] WORD $0x854d; BYTE $0xd2 // test r10, r10 LONG $0xfa490f4d // cmovns r15, r10 @@ -53386,14 +54728,15 @@ LBB10_13: WORD $0xe083; BYTE $0xf8 // and eax, -8 LONG $0x0210fbc5 // vmovsd xmm0, qword [rdx] WORD $0x2941; BYTE $0xc1 // sub r9d, eax - JE LBB10_21 + JE LBB10_31 WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d -LBB10_19: - LONG $0x062ef9c5 // vucomisd xmm0, qword [rsi] - WORD $0x960f; BYTE $0xd2 // setbe dl +LBB10_29: + LONG $0x0e10fbc5 // vmovsd xmm1, qword [rsi] LONG $0x08c68348 // add rsi, 8 - WORD $0xdaf6 // neg dl + LONG $0xc82ef9c5 // vucomisd xmm1, xmm0 + LONG $0x000000ba; BYTE $0x00 // mov edx, 0 + WORD $0xd280; BYTE $0xff // adc dl, -1 LONG $0x07788d48 // lea rdi, [rax + 7] WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xf8490f48 // cmovns rdi, rax @@ -53410,186 +54753,214 @@ LBB10_19: LONG $0x3b1c8841 // mov byte [r11 + rdi], bl LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 - JNE LBB10_19 + JNE LBB10_29 LONG $0x01c38349 // add r11, 1 -LBB10_21: +LBB10_31: LONG $0x05ffc149 // sar r15, 5 LONG $0x20fa8349 // cmp r10, 32 - JL LBB10_103 + JL LBB10_32 QUAD $0x000001182494894c // mov qword [rsp + 280], r10 QUAD $0x000000a824bc894c // mov qword [rsp + 168], r15 QUAD $0x0000009824bc894c // mov qword [rsp + 152], r15 QUAD $0x00000110249c894c // mov qword [rsp + 272], r11 -LBB10_23: - LONG $0x062ef9c5 // vucomisd xmm0, qword [rsi] - QUAD $0x000000a02494960f // setbe byte [rsp + 160] - LONG $0x462ef9c5; BYTE $0x08 // vucomisd xmm0, qword [rsi + 8] - LONG $0xd1960f41 // setbe r9b - LONG $0x462ef9c5; BYTE $0x10 // vucomisd xmm0, qword [rsi + 16] - LONG $0xd6960f41 // setbe r14b - LONG $0x462ef9c5; BYTE $0x18 // vucomisd xmm0, qword [rsi + 24] - LONG $0xd5960f41 // setbe r13b - LONG $0x462ef9c5; BYTE $0x20 // vucomisd xmm0, qword [rsi + 32] - QUAD $0x000000902494960f // setbe byte [rsp + 144] - LONG $0x462ef9c5; BYTE $0x28 // vucomisd xmm0, qword [rsi + 40] - LONG $0x2454960f; BYTE $0x60 // setbe byte [rsp + 96] - LONG $0x462ef9c5; BYTE $0x30 // vucomisd xmm0, qword [rsi + 48] - WORD $0x960f; BYTE $0xd0 // setbe al - LONG $0x462ef9c5; BYTE $0x38 // vucomisd xmm0, qword [rsi + 56] - WORD $0x960f; BYTE $0xd3 // setbe bl - LONG $0x462ef9c5; BYTE $0x40 // vucomisd xmm0, qword [rsi + 64] - LONG $0x2454960f; BYTE $0x78 // setbe byte [rsp + 120] - LONG $0x462ef9c5; BYTE $0x48 // vucomisd xmm0, qword [rsi + 72] - WORD $0x960f; BYTE $0xd2 // setbe dl - LONG $0x462ef9c5; BYTE $0x50 // vucomisd xmm0, qword [rsi + 80] - LONG $0xd7960f40 // setbe dil - LONG $0x462ef9c5; BYTE $0x58 // vucomisd xmm0, qword [rsi + 88] - LONG $0xd2960f41 // setbe r10b - LONG $0x462ef9c5; BYTE $0x60 // vucomisd xmm0, qword [rsi + 96] - LONG $0xd3960f41 // setbe r11b - LONG $0x462ef9c5; BYTE $0x68 // vucomisd xmm0, qword [rsi + 104] - LONG $0xd4960f41 // setbe r12b - LONG $0x462ef9c5; BYTE $0x70 // vucomisd xmm0, qword [rsi + 112] - QUAD $0x000000802494960f // setbe byte [rsp + 128] - LONG $0x462ef9c5; BYTE $0x78 // vucomisd xmm0, qword [rsi + 120] - WORD $0x960f; BYTE $0xd1 // setbe cl - QUAD $0x00000080862ef9c5 // vucomisd xmm0, qword [rsi + 128] - LONG $0x2454960f; BYTE $0x50 // setbe byte [rsp + 80] - QUAD $0x00000088862ef9c5 // vucomisd xmm0, qword [rsi + 136] - LONG $0x2454960f; BYTE $0x70 // setbe byte [rsp + 112] - QUAD $0x00000090862ef9c5 // vucomisd xmm0, qword [rsi + 144] - QUAD $0x000000882494960f // setbe byte [rsp + 136] - QUAD $0x00000098862ef9c5 // vucomisd xmm0, qword [rsi + 152] - LONG $0x2454960f; BYTE $0x48 // setbe byte [rsp + 72] - QUAD $0x000000a0862ef9c5 // vucomisd xmm0, qword [rsi + 160] - LONG $0x2454960f; BYTE $0x58 // setbe byte [rsp + 88] - QUAD $0x000000a8862ef9c5 // vucomisd xmm0, qword [rsi + 168] - LONG $0x2454960f; BYTE $0x68 // setbe byte [rsp + 104] - QUAD $0x000000b0862ef9c5 // vucomisd xmm0, qword [rsi + 176] - LONG $0x2454960f; BYTE $0x40 // setbe byte [rsp + 64] - QUAD $0x000000b8862ef9c5 // vucomisd xmm0, qword [rsi + 184] - LONG $0xd7960f41 // setbe r15b - QUAD $0x000000c0862ef9c5 // vucomisd xmm0, qword [rsi + 192] - LONG $0x2454960f; BYTE $0x20 // setbe byte [rsp + 32] - QUAD $0x000000c8862ef9c5 // vucomisd xmm0, qword [rsi + 200] - LONG $0x2454960f; BYTE $0x28 // setbe byte [rsp + 40] - QUAD $0x000000d0862ef9c5 // vucomisd xmm0, qword [rsi + 208] - LONG $0x2454960f; BYTE $0x30 // setbe byte [rsp + 48] - QUAD $0x000000d8862ef9c5 // vucomisd xmm0, qword [rsi + 216] - LONG $0x2454960f; BYTE $0x38 // setbe byte [rsp + 56] - QUAD $0x000000e0862ef9c5 // vucomisd xmm0, qword [rsi + 224] - QUAD $0x000001402494960f // setbe byte [rsp + 320] - QUAD $0x000000e8862ef9c5 // vucomisd xmm0, qword [rsi + 232] - QUAD $0x000001202494960f // setbe byte [rsp + 288] - QUAD $0x000000f0862ef9c5 // vucomisd xmm0, qword [rsi + 240] - LONG $0x2454960f; BYTE $0x1c // setbe byte [rsp + 28] - QUAD $0x000000f8862ef9c5 // vucomisd xmm0, qword [rsi + 248] - LONG $0xd0960f41 // setbe r8b - WORD $0x0045; BYTE $0xc9 // add r9b, r9b - QUAD $0x000000a0248c0244 // add r9b, byte [rsp + 160] - WORD $0xe0c0; BYTE $0x06 // shl al, 6 - WORD $0xe3c0; BYTE $0x07 // shl bl, 7 - WORD $0xc308 // or bl, al - LONG $0x02e6c041 // shl r14b, 2 - WORD $0x0845; BYTE $0xce // or r14b, r9b +LBB10_183: + LONG $0x0e10fbc5 // vmovsd xmm1, qword [rsi] + LONG $0x5610fbc5; BYTE $0x08 // vmovsd xmm2, qword [rsi + 8] + LONG $0xc82ef9c5 // vucomisd xmm1, xmm0 + LONG $0x2454930f; BYTE $0x78 // setae byte [rsp + 120] + LONG $0xd02ef9c5 // vucomisd xmm2, xmm0 + WORD $0x930f; BYTE $0xd2 // setae dl + LONG $0x4e10fbc5; BYTE $0x10 // vmovsd xmm1, qword [rsi + 16] + LONG $0xc82ef9c5 // vucomisd xmm1, xmm0 + LONG $0xd7930f40 // setae dil + LONG $0x4e10fbc5; BYTE $0x18 // vmovsd xmm1, qword [rsi + 24] + LONG $0xc82ef9c5 // vucomisd xmm1, xmm0 + LONG $0xd0930f41 // setae r8b + LONG $0x4e10fbc5; BYTE $0x20 // vmovsd xmm1, qword [rsi + 32] + LONG $0xc82ef9c5 // vucomisd xmm1, xmm0 + LONG $0xd1930f41 // setae r9b + LONG $0x4e10fbc5; BYTE $0x28 // vmovsd xmm1, qword [rsi + 40] + LONG $0xc82ef9c5 // vucomisd xmm1, xmm0 + QUAD $0x000000a02494930f // setae byte [rsp + 160] + LONG $0x4e10fbc5; BYTE $0x30 // vmovsd xmm1, qword [rsi + 48] + LONG $0xc82ef9c5 // vucomisd xmm1, xmm0 + QUAD $0x000000802494930f // setae byte [rsp + 128] + LONG $0x4e10fbc5; BYTE $0x38 // vmovsd xmm1, qword [rsi + 56] + LONG $0xc82ef9c5 // vucomisd xmm1, xmm0 + LONG $0x2454930f; BYTE $0x70 // setae byte [rsp + 112] + LONG $0x4e10fbc5; BYTE $0x40 // vmovsd xmm1, qword [rsi + 64] + LONG $0xc82ef9c5 // vucomisd xmm1, xmm0 + LONG $0x2454930f; BYTE $0x60 // setae byte [rsp + 96] + LONG $0x4e10fbc5; BYTE $0x48 // vmovsd xmm1, qword [rsi + 72] + LONG $0xc82ef9c5 // vucomisd xmm1, xmm0 + LONG $0xd2930f41 // setae r10b + LONG $0x4e10fbc5; BYTE $0x50 // vmovsd xmm1, qword [rsi + 80] + LONG $0xc82ef9c5 // vucomisd xmm1, xmm0 + WORD $0x930f; BYTE $0xd3 // setae bl + LONG $0x4e10fbc5; BYTE $0x58 // vmovsd xmm1, qword [rsi + 88] + LONG $0xc82ef9c5 // vucomisd xmm1, xmm0 + LONG $0xd7930f41 // setae r15b + LONG $0x4e10fbc5; BYTE $0x60 // vmovsd xmm1, qword [rsi + 96] + LONG $0xc82ef9c5 // vucomisd xmm1, xmm0 + WORD $0x930f; BYTE $0xd0 // setae al + LONG $0x4e10fbc5; BYTE $0x68 // vmovsd xmm1, qword [rsi + 104] + LONG $0xc82ef9c5 // vucomisd xmm1, xmm0 + QUAD $0x000000902494930f // setae byte [rsp + 144] + LONG $0x4e10fbc5; BYTE $0x70 // vmovsd xmm1, qword [rsi + 112] + LONG $0xc82ef9c5 // vucomisd xmm1, xmm0 + LONG $0x2454930f; BYTE $0x58 // setae byte [rsp + 88] + LONG $0x4e10fbc5; BYTE $0x78 // vmovsd xmm1, qword [rsi + 120] + LONG $0xc82ef9c5 // vucomisd xmm1, xmm0 + LONG $0x2454930f; BYTE $0x48 // setae byte [rsp + 72] + QUAD $0x000000808e10fbc5 // vmovsd xmm1, qword [rsi + 128] + QUAD $0x000000889610fbc5 // vmovsd xmm2, qword [rsi + 136] + LONG $0xc82ef9c5 // vucomisd xmm1, xmm0 + QUAD $0x000000908e10fbc5 // vmovsd xmm1, qword [rsi + 144] + LONG $0x2454930f; BYTE $0x28 // setae byte [rsp + 40] + LONG $0xd02ef9c5 // vucomisd xmm2, xmm0 + QUAD $0x000000989610fbc5 // vmovsd xmm2, qword [rsi + 152] + LONG $0xd3930f41 // setae r11b + LONG $0xc82ef9c5 // vucomisd xmm1, xmm0 + QUAD $0x000000a08e10fbc5 // vmovsd xmm1, qword [rsi + 160] + LONG $0xd6930f41 // setae r14b + LONG $0xd02ef9c5 // vucomisd xmm2, xmm0 + QUAD $0x000000a89610fbc5 // vmovsd xmm2, qword [rsi + 168] + LONG $0xd4930f41 // setae r12b + LONG $0xc82ef9c5 // vucomisd xmm1, xmm0 + QUAD $0x000000b08e10fbc5 // vmovsd xmm1, qword [rsi + 176] + QUAD $0x000000882494930f // setae byte [rsp + 136] + LONG $0xd02ef9c5 // vucomisd xmm2, xmm0 + QUAD $0x000000b89610fbc5 // vmovsd xmm2, qword [rsi + 184] + LONG $0x2454930f; BYTE $0x50 // setae byte [rsp + 80] + LONG $0xc82ef9c5 // vucomisd xmm1, xmm0 + QUAD $0x000000c08e10fbc5 // vmovsd xmm1, qword [rsi + 192] + LONG $0x2454930f; BYTE $0x68 // setae byte [rsp + 104] + LONG $0xd02ef9c5 // vucomisd xmm2, xmm0 + QUAD $0x000000c89610fbc5 // vmovsd xmm2, qword [rsi + 200] + LONG $0xd5930f41 // setae r13b + LONG $0xc82ef9c5 // vucomisd xmm1, xmm0 + QUAD $0x000000d08e10fbc5 // vmovsd xmm1, qword [rsi + 208] + QUAD $0x000001202494930f // setae byte [rsp + 288] + LONG $0xd02ef9c5 // vucomisd xmm2, xmm0 + QUAD $0x000000d89610fbc5 // vmovsd xmm2, qword [rsi + 216] + LONG $0x2454930f; BYTE $0x40 // setae byte [rsp + 64] + LONG $0xc82ef9c5 // vucomisd xmm1, xmm0 + QUAD $0x000000e08e10fbc5 // vmovsd xmm1, qword [rsi + 224] + LONG $0x2454930f; BYTE $0x30 // setae byte [rsp + 48] + LONG $0xd02ef9c5 // vucomisd xmm2, xmm0 + QUAD $0x000000e89610fbc5 // vmovsd xmm2, qword [rsi + 232] + LONG $0x2454930f; BYTE $0x38 // setae byte [rsp + 56] + LONG $0xc82ef9c5 // vucomisd xmm1, xmm0 + QUAD $0x000000f08e10fbc5 // vmovsd xmm1, qword [rsi + 240] + LONG $0x2454930f; BYTE $0x20 // setae byte [rsp + 32] + LONG $0xd02ef9c5 // vucomisd xmm2, xmm0 + QUAD $0x000000f89610fbc5 // vmovsd xmm2, qword [rsi + 248] + QUAD $0x000001402494930f // setae byte [rsp + 320] + LONG $0xc82ef9c5 // vucomisd xmm1, xmm0 + LONG $0x2454930f; BYTE $0x1c // setae byte [rsp + 28] + LONG $0x00c68148; WORD $0x0001; BYTE $0x00 // add rsi, 256 + LONG $0xd02ef9c5 // vucomisd xmm2, xmm0 + WORD $0x930f; BYTE $0xd1 // setae cl WORD $0xd200 // add dl, dl LONG $0x78245402 // add dl, byte [rsp + 120] - LONG $0x03e5c041 // shl r13b, 3 - WORD $0x0845; BYTE $0xf5 // or r13b, r14b LONG $0x02e7c040 // shl dil, 2 WORD $0x0840; BYTE $0xd7 // or dil, dl - QUAD $0x000000902494b60f // movzx edx, byte [rsp + 144] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0x0844; BYTE $0xea // or dl, r13b - WORD $0x8941; BYTE $0xd1 // mov r9d, edx - LONG $0x03e2c041 // shl r10b, 3 - WORD $0x0841; BYTE $0xfa // or r10b, dil - LONG $0x2454b60f; BYTE $0x60 // movzx edx, byte [rsp + 96] + LONG $0x03e0c041 // shl r8b, 3 + WORD $0x0841; BYTE $0xf8 // or r8b, dil + LONG $0x04e1c041 // shl r9b, 4 + WORD $0x0845; BYTE $0xc1 // or r9b, r8b + QUAD $0x000000a02494b60f // movzx edx, byte [rsp + 160] WORD $0xe2c0; BYTE $0x05 // shl dl, 5 WORD $0x0844; BYTE $0xca // or dl, r9b - LONG $0x04e3c041 // shl r11b, 4 - WORD $0x0845; BYTE $0xd3 // or r11b, r10b - LONG $0x05e4c041 // shl r12b, 5 - WORD $0x0845; BYTE $0xdc // or r12b, r11b - QUAD $0x0000008024bcb60f // movzx edi, byte [rsp + 128] - LONG $0x06e7c040 // shl dil, 6 - WORD $0xe1c0; BYTE $0x07 // shl cl, 7 - WORD $0x0840; BYTE $0xf9 // or cl, dil - WORD $0xd308 // or bl, dl - WORD $0x0844; BYTE $0xe1 // or cl, r12b - LONG $0x2444b60f; BYTE $0x70 // movzx eax, byte [rsp + 112] - WORD $0xc000 // add al, al - LONG $0x50244402 // add al, byte [rsp + 80] - QUAD $0x000000882494b60f // movzx edx, byte [rsp + 136] - WORD $0xe2c0; BYTE $0x02 // shl dl, 2 + QUAD $0x0000802484b60f44; BYTE $0x00 // movzx r8d, byte [rsp + 128] + LONG $0x06e0c041 // shl r8b, 6 + LONG $0x247cb60f; BYTE $0x70 // movzx edi, byte [rsp + 112] + LONG $0x07e7c040 // shl dil, 7 + WORD $0x0844; BYTE $0xc7 // or dil, r8b + WORD $0x0045; BYTE $0xd2 // add r10b, r10b + LONG $0x24540244; BYTE $0x60 // add r10b, byte [rsp + 96] + WORD $0xe3c0; BYTE $0x02 // shl bl, 2 + WORD $0x0844; BYTE $0xd3 // or bl, r10b + LONG $0x03e7c041 // shl r15b, 3 + WORD $0x0841; BYTE $0xdf // or r15b, bl + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0844; BYTE $0xf8 // or al, r15b + WORD $0x0840; BYTE $0xd7 // or dil, dl + QUAD $0x000000902494b60f // movzx edx, byte [rsp + 144] + WORD $0xe2c0; BYTE $0x05 // shl dl, 5 WORD $0xc208 // or dl, al - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x48 // movzx edx, byte [rsp + 72] - WORD $0xe2c0; BYTE $0x03 // shl dl, 3 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x58 // movzx edx, byte [rsp + 88] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx + LONG $0x2444b60f; BYTE $0x58 // movzx eax, byte [rsp + 88] + WORD $0xe0c0; BYTE $0x06 // shl al, 6 + LONG $0x245cb60f; BYTE $0x48 // movzx ebx, byte [rsp + 72] + WORD $0xe3c0; BYTE $0x07 // shl bl, 7 + WORD $0xc308 // or bl, al + WORD $0x0045; BYTE $0xdb // add r11b, r11b + LONG $0x245c0244; BYTE $0x28 // add r11b, byte [rsp + 40] + LONG $0x02e6c041 // shl r14b, 2 + WORD $0x0845; BYTE $0xde // or r14b, r11b + LONG $0x03e4c041 // shl r12b, 3 + WORD $0x0845; BYTE $0xf4 // or r12b, r14b + QUAD $0x000000882484b60f // movzx eax, byte [rsp + 136] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0844; BYTE $0xe0 // or al, r12b + WORD $0x8941; BYTE $0xc0 // mov r8d, eax + LONG $0x2444b60f; BYTE $0x50 // movzx eax, byte [rsp + 80] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0x0844; BYTE $0xc0 // or al, r8b + WORD $0xd308 // or bl, dl LONG $0x2454b60f; BYTE $0x68 // movzx edx, byte [rsp + 104] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx + WORD $0xe2c0; BYTE $0x06 // shl dl, 6 + LONG $0x07e5c041 // shl r13b, 7 + WORD $0x0841; BYTE $0xd5 // or r13b, dl QUAD $0x0000011024948b48 // mov rdx, qword [rsp + 272] - WORD $0x1a88 // mov byte [rdx], bl - LONG $0x245cb60f; BYTE $0x40 // movzx ebx, byte [rsp + 64] - WORD $0xe3c0; BYTE $0x06 // shl bl, 6 - LONG $0x07e7c041 // shl r15b, 7 - WORD $0x0841; BYTE $0xdf // or r15b, bl - WORD $0x4a88; BYTE $0x01 // mov byte [rdx + 1], cl - WORD $0x0841; BYTE $0xff // or r15b, dil - LONG $0x244cb60f; BYTE $0x28 // movzx ecx, byte [rsp + 40] - WORD $0xc900 // add cl, cl - LONG $0x20244c02 // add cl, byte [rsp + 32] - WORD $0xcb89 // mov ebx, ecx - LONG $0x244cb60f; BYTE $0x30 // movzx ecx, byte [rsp + 48] - WORD $0xe1c0; BYTE $0x02 // shl cl, 2 - WORD $0xd908 // or cl, bl - WORD $0xcb89 // mov ebx, ecx - LONG $0x244cb60f; BYTE $0x38 // movzx ecx, byte [rsp + 56] - WORD $0xe1c0; BYTE $0x03 // shl cl, 3 - WORD $0xd908 // or cl, bl - WORD $0xcb89 // mov ebx, ecx - QUAD $0x00000140248cb60f // movzx ecx, byte [rsp + 320] - WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0xd908 // or cl, bl - WORD $0xcb89 // mov ebx, ecx - QUAD $0x00000120248cb60f // movzx ecx, byte [rsp + 288] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0xd908 // or cl, bl + WORD $0x8840; BYTE $0x3a // mov byte [rdx], dil + WORD $0x0841; BYTE $0xc5 // or r13b, al + LONG $0x2444b60f; BYTE $0x40 // movzx eax, byte [rsp + 64] + WORD $0xc000 // add al, al + LONG $0x20248402; WORD $0x0001; BYTE $0x00 // add al, byte [rsp + 288] + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x38 // movzx eax, byte [rsp + 56] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + QUAD $0x000001402484b60f // movzx eax, byte [rsp + 320] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0x5a88; BYTE $0x01 // mov byte [rdx + 1], bl LONG $0x245cb60f; BYTE $0x1c // movzx ebx, byte [rsp + 28] WORD $0xe3c0; BYTE $0x06 // shl bl, 6 - LONG $0x07e0c041 // shl r8b, 7 - WORD $0x0841; BYTE $0xd8 // or r8b, bl - WORD $0x0841; BYTE $0xc8 // or r8b, cl - LONG $0x027a8844 // mov byte [rdx + 2], r15b - LONG $0x03428844 // mov byte [rdx + 3], r8b - LONG $0x00c68148; WORD $0x0001; BYTE $0x00 // add rsi, 256 + WORD $0xe1c0; BYTE $0x07 // shl cl, 7 + WORD $0xd908 // or cl, bl + LONG $0x026a8844 // mov byte [rdx + 2], r13b + WORD $0xc108 // or cl, al + WORD $0x4a88; BYTE $0x03 // mov byte [rdx + 3], cl LONG $0x04c28348 // add rdx, 4 QUAD $0x0000011024948948 // mov qword [rsp + 272], rdx QUAD $0x0000009824848348; BYTE $0xff // add qword [rsp + 152], -1 - JNE LBB10_23 + JNE LBB10_183 QUAD $0x0000011024b48b4c // mov r14, qword [rsp + 272] QUAD $0x0000011824948b4c // mov r10, qword [rsp + 280] QUAD $0x000000a824bc8b4c // mov r15, qword [rsp + 168] LONG $0x05e7c149 // shl r15, 5 WORD $0x394d; BYTE $0xd7 // cmp r15, r10 - JL LBB10_104 - JMP LBB10_175 + JL LBB10_186 + JMP LBB10_194 -LBB10_25: +LBB10_2: WORD $0xff83; BYTE $0x02 // cmp edi, 2 - JE LBB10_80 + JE LBB10_33 WORD $0xff83; BYTE $0x03 // cmp edi, 3 - JNE LBB10_175 + JNE LBB10_194 WORD $0x8a44; BYTE $0x32 // mov r14b, byte [rdx] LONG $0x1f7a8d4d // lea r15, [r10 + 31] WORD $0x854d; BYTE $0xd2 // test r10, r10 @@ -53599,11 +54970,11 @@ LBB10_25: LONG $0xc1490f41 // cmovns eax, r9d WORD $0xe083; BYTE $0xf8 // and eax, -8 WORD $0x2941; BYTE $0xc1 // sub r9d, eax - JE LBB10_128 + JE LBB10_5 WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d WORD $0x894d; BYTE $0xdd // mov r13, r11 -LBB10_29: +LBB10_59: WORD $0x3844; BYTE $0x36 // cmp byte [rsi], r14b LONG $0x01768d48 // lea rsi, [rsi + 1] WORD $0x9d0f; BYTE $0xd2 // setge dl @@ -53624,40 +54995,40 @@ LBB10_29: LONG $0x3d5c8841; BYTE $0x00 // mov byte [r13 + rdi], bl LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 - JNE LBB10_29 + JNE LBB10_59 LONG $0x01c58349 // add r13, 1 LONG $0x05ffc149 // sar r15, 5 LONG $0x20fa8349 // cmp r10, 32 - JL LBB10_129 + JL LBB10_62 -LBB10_31: +LBB10_63: LONG $0x20ff8349 // cmp r15, 32 LONG $0x24748944; BYTE $0x1c // mov dword [rsp + 28], r14d QUAD $0x000001182494894c // mov qword [rsp + 280], r10 QUAD $0x0000026024bc894c // mov qword [rsp + 608], r15 - JB LBB10_34 + JB LBB10_64 WORD $0x894c; BYTE $0xf8 // mov rax, r15 LONG $0x05e0c148 // shl rax, 5 WORD $0x0148; BYTE $0xf0 // add rax, rsi WORD $0x3949; BYTE $0xc5 // cmp r13, rax - JAE LBB10_182 + JAE LBB10_67 QUAD $0x00000000bd048d4a // lea rax, [4*r15] WORD $0x014c; BYTE $0xe8 // add rax, r13 WORD $0x3948; BYTE $0xc6 // cmp rsi, rax - JAE LBB10_182 + JAE LBB10_67 -LBB10_34: +LBB10_64: WORD $0xc031 // xor eax, eax QUAD $0x000001a024848948 // mov qword [rsp + 416], rax WORD $0x8949; BYTE $0xf4 // mov r12, rsi QUAD $0x0000016824ac894c // mov qword [rsp + 360], r13 -LBB10_35: +LBB10_70: WORD $0x894d; BYTE $0xfd // mov r13, r15 QUAD $0x000001a024ac2b4c // sub r13, qword [rsp + 416] QUAD $0x0000009824ac894c // mov qword [rsp + 152], r13 -LBB10_36: +LBB10_71: WORD $0x894c; BYTE $0xe1 // mov rcx, r12 LONG $0x24343845 // cmp byte [r12], r14b LONG $0x24549d0f; BYTE $0x20 // setge byte [rsp + 32] @@ -53820,16 +55191,16 @@ LBB10_36: LONG $0x04c68348 // add rsi, 4 QUAD $0x0000016824b48948 // mov qword [rsp + 360], rsi QUAD $0x0000009824848348; BYTE $0xff // add qword [rsp + 152], -1 - JNE LBB10_36 + JNE LBB10_71 QUAD $0x0000011824948b4c // mov r10, qword [rsp + 280] QUAD $0x0000026024bc8b4c // mov r15, qword [rsp + 608] - JMP LBB10_130 + JMP LBB10_73 -LBB10_38: +LBB10_16: WORD $0xff83; BYTE $0x07 // cmp edi, 7 - JE LBB10_92 + JE LBB10_124 WORD $0xff83; BYTE $0x08 // cmp edi, 8 - JNE LBB10_175 + JNE LBB10_194 WORD $0x8b4c; BYTE $0x2a // mov r13, qword [rdx] LONG $0x1f7a8d4d // lea r15, [r10 + 31] WORD $0x854d; BYTE $0xd2 // test r10, r10 @@ -53839,10 +55210,10 @@ LBB10_38: LONG $0xc1490f41 // cmovns eax, r9d WORD $0xe083; BYTE $0xf8 // and eax, -8 WORD $0x2941; BYTE $0xc1 // sub r9d, eax - JE LBB10_44 + JE LBB10_22 WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d -LBB10_42: +LBB10_20: WORD $0x394c; BYTE $0x2e // cmp qword [rsi], r13 LONG $0x08768d48 // lea rsi, [rsi + 8] LONG $0x000000ba; BYTE $0x00 // mov edx, 0 @@ -53863,23 +55234,23 @@ LBB10_42: LONG $0x1b3c8841 // mov byte [r11 + rbx], dil LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 - JNE LBB10_42 + JNE LBB10_20 LONG $0x01c38349 // add r11, 1 -LBB10_44: +LBB10_22: LONG $0x05ffc149 // sar r15, 5 LONG $0x20fa8349 // cmp r10, 32 - JL LBB10_106 + JL LBB10_23 QUAD $0x000001182494894c // mov qword [rsp + 280], r10 QUAD $0x000000b024bc894c // mov qword [rsp + 176], r15 QUAD $0x000000a824bc894c // mov qword [rsp + 168], r15 -LBB10_46: +LBB10_141: QUAD $0x00000110249c894c // mov qword [rsp + 272], r11 WORD $0x394c; BYTE $0x2e // cmp qword [rsi], r13 QUAD $0x000000982494930f // setae byte [rsp + 152] LONG $0x086e394c // cmp qword [rsi + 8], r13 - LONG $0xd7930f40 // setae dil + LONG $0xd2930f41 // setae r10b LONG $0x106e394c // cmp qword [rsi + 16], r13 LONG $0xd6930f41 // setae r14b LONG $0x186e394c // cmp qword [rsi + 24], r13 @@ -53895,11 +55266,11 @@ LBB10_46: LONG $0x406e394c // cmp qword [rsi + 64], r13 LONG $0x2454930f; BYTE $0x70 // setae byte [rsp + 112] LONG $0x486e394c // cmp qword [rsi + 72], r13 - WORD $0x930f; BYTE $0xd2 // setae dl + LONG $0xd7930f40 // setae dil LONG $0x506e394c // cmp qword [rsi + 80], r13 - LONG $0xd1930f41 // setae r9b + LONG $0xd0930f41 // setae r8b LONG $0x586e394c // cmp qword [rsi + 88], r13 - LONG $0xd2930f41 // setae r10b + LONG $0xd1930f41 // setae r9b LONG $0x606e394c // cmp qword [rsi + 96], r13 LONG $0xd3930f41 // setae r11b LONG $0x686e394c // cmp qword [rsi + 104], r13 @@ -53939,32 +55310,33 @@ LBB10_46: LONG $0xf0ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 240], r13 LONG $0x2454930f; BYTE $0x1c // setae byte [rsp + 28] LONG $0xf8ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 248], r13 - LONG $0xd0930f41 // setae r8b - WORD $0x0040; BYTE $0xff // add dil, dil - QUAD $0x0000009824bc0240 // add dil, byte [rsp + 152] + WORD $0x930f; BYTE $0xd2 // setae dl + WORD $0x0045; BYTE $0xd2 // add r10b, r10b + QUAD $0x0000009824940244 // add r10b, byte [rsp + 152] WORD $0xe0c0; BYTE $0x06 // shl al, 6 WORD $0xe3c0; BYTE $0x07 // shl bl, 7 WORD $0xc308 // or bl, al LONG $0x02e6c041 // shl r14b, 2 - WORD $0x0841; BYTE $0xfe // or r14b, dil - WORD $0xd200 // add dl, dl - LONG $0x70245402 // add dl, byte [rsp + 112] + WORD $0x0845; BYTE $0xd6 // or r14b, r10b + WORD $0x0040; BYTE $0xff // add dil, dil + LONG $0x247c0240; BYTE $0x70 // add dil, byte [rsp + 112] QUAD $0x000000a02484b60f // movzx eax, byte [rsp + 160] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0x0844; BYTE $0xf0 // or al, r14b - LONG $0x02e1c041 // shl r9b, 2 - WORD $0x0841; BYTE $0xd1 // or r9b, dl - QUAD $0x000000902494b60f // movzx edx, byte [rsp + 144] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0xc208 // or dl, al - WORD $0xd789 // mov edi, edx - LONG $0x03e2c041 // shl r10b, 3 - WORD $0x0845; BYTE $0xca // or r10b, r9b - LONG $0x2454b60f; BYTE $0x60 // movzx edx, byte [rsp + 96] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xfa // or dl, dil + WORD $0x8941; BYTE $0xc2 // mov r10d, eax + LONG $0x02e0c041 // shl r8b, 2 + WORD $0x0841; BYTE $0xf8 // or r8b, dil + QUAD $0x000000902484b60f // movzx eax, byte [rsp + 144] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0844; BYTE $0xd0 // or al, r10b + WORD $0xc789 // mov edi, eax + LONG $0x03e1c041 // shl r9b, 3 + WORD $0x0845; BYTE $0xc1 // or r9b, r8b + LONG $0x2444b60f; BYTE $0x60 // movzx eax, byte [rsp + 96] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0x0840; BYTE $0xf8 // or al, dil LONG $0x04e3c041 // shl r11b, 4 - WORD $0x0845; BYTE $0xd3 // or r11b, r10b + WORD $0x0845; BYTE $0xcb // or r11b, r9b LONG $0x05e4c041 // shl r12b, 5 WORD $0x0845; BYTE $0xdc // or r12b, r11b QUAD $0x00000110249c8b4c // mov r11, qword [rsp + 272] @@ -53972,73 +55344,73 @@ LBB10_46: LONG $0x06e7c040 // shl dil, 6 WORD $0xe1c0; BYTE $0x07 // shl cl, 7 WORD $0x0840; BYTE $0xf9 // or cl, dil - WORD $0xd308 // or bl, dl + WORD $0xc308 // or bl, al WORD $0x0844; BYTE $0xe1 // or cl, r12b - QUAD $0x000000802494b60f // movzx edx, byte [rsp + 128] - WORD $0xd200 // add dl, dl - LONG $0x50245402 // add dl, byte [rsp + 80] - WORD $0xd789 // mov edi, edx - QUAD $0x000000882494b60f // movzx edx, byte [rsp + 136] - WORD $0xe2c0; BYTE $0x02 // shl dl, 2 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x48 // movzx edx, byte [rsp + 72] - WORD $0xe2c0; BYTE $0x03 // shl dl, 3 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x58 // movzx edx, byte [rsp + 88] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x68 // movzx edx, byte [rsp + 104] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xfa // or dl, dil + QUAD $0x000000802484b60f // movzx eax, byte [rsp + 128] + WORD $0xc000 // add al, al + LONG $0x50244402 // add al, byte [rsp + 80] + WORD $0xc789 // mov edi, eax + QUAD $0x000000882484b60f // movzx eax, byte [rsp + 136] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x48 // movzx eax, byte [rsp + 72] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x58 // movzx eax, byte [rsp + 88] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x68 // movzx eax, byte [rsp + 104] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0x0840; BYTE $0xf8 // or al, dil WORD $0x8841; BYTE $0x1b // mov byte [r11], bl LONG $0x245cb60f; BYTE $0x40 // movzx ebx, byte [rsp + 64] WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e7c041 // shl r15b, 7 WORD $0x0841; BYTE $0xdf // or r15b, bl LONG $0x014b8841 // mov byte [r11 + 1], cl - WORD $0x0841; BYTE $0xd7 // or r15b, dl - LONG $0x244cb60f; BYTE $0x28 // movzx ecx, byte [rsp + 40] - WORD $0xc900 // add cl, cl - LONG $0x20244c02 // add cl, byte [rsp + 32] - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x30 // movzx ecx, byte [rsp + 48] - WORD $0xe1c0; BYTE $0x02 // shl cl, 2 - WORD $0xd108 // or cl, dl - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x38 // movzx ecx, byte [rsp + 56] - WORD $0xe1c0; BYTE $0x03 // shl cl, 3 - WORD $0xd108 // or cl, dl - WORD $0xca89 // mov edx, ecx - QUAD $0x00000140248cb60f // movzx ecx, byte [rsp + 320] - WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0xd108 // or cl, dl - WORD $0xca89 // mov edx, ecx - QUAD $0x00000120248cb60f // movzx ecx, byte [rsp + 288] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0xd108 // or cl, dl - LONG $0x2454b60f; BYTE $0x1c // movzx edx, byte [rsp + 28] - WORD $0xe2c0; BYTE $0x06 // shl dl, 6 - LONG $0x07e0c041 // shl r8b, 7 - WORD $0x0841; BYTE $0xd0 // or r8b, dl - WORD $0x0841; BYTE $0xc8 // or r8b, cl + WORD $0x0841; BYTE $0xc7 // or r15b, al + LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] + WORD $0xc000 // add al, al + LONG $0x20244402 // add al, byte [rsp + 32] + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x38 // movzx eax, byte [rsp + 56] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax + QUAD $0x000001402484b60f // movzx eax, byte [rsp + 320] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax + QUAD $0x000001202484b60f // movzx eax, byte [rsp + 288] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0xc808 // or al, cl + LONG $0x244cb60f; BYTE $0x1c // movzx ecx, byte [rsp + 28] + WORD $0xe1c0; BYTE $0x06 // shl cl, 6 + WORD $0xe2c0; BYTE $0x07 // shl dl, 7 + WORD $0xca08 // or dl, cl + WORD $0xc208 // or dl, al LONG $0x027b8845 // mov byte [r11 + 2], r15b - LONG $0x03438845 // mov byte [r11 + 3], r8b + LONG $0x03538841 // mov byte [r11 + 3], dl LONG $0x00c68148; WORD $0x0001; BYTE $0x00 // add rsi, 256 LONG $0x04c38349 // add r11, 4 QUAD $0x000000a824848348; BYTE $0xff // add qword [rsp + 168], -1 - JNE LBB10_46 + JNE LBB10_141 WORD $0x894d; BYTE $0xde // mov r14, r11 QUAD $0x0000011824948b4c // mov r10, qword [rsp + 280] QUAD $0x000000b024bc8b4c // mov r15, qword [rsp + 176] LONG $0x05e7c149 // shl r15, 5 WORD $0x394d; BYTE $0xd7 // cmp r15, r10 - JL LBB10_107 - JMP LBB10_175 + JL LBB10_144 + JMP LBB10_194 -LBB10_48: +LBB10_81: LONG $0x2ab70f44 // movzx r13d, word [rdx] LONG $0x1f7a8d4d // lea r15, [r10 + 31] WORD $0x854d; BYTE $0xd2 // test r10, r10 @@ -54048,10 +55420,10 @@ LBB10_48: LONG $0xc1490f41 // cmovns eax, r9d WORD $0xe083; BYTE $0xf8 // and eax, -8 WORD $0x2941; BYTE $0xc1 // sub r9d, eax - JE LBB10_52 + JE LBB10_85 WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d -LBB10_50: +LBB10_83: LONG $0x2e394466 // cmp word [rsi], r13w LONG $0x02768d48 // lea rsi, [rsi + 2] LONG $0x000000ba; BYTE $0x00 // mov edx, 0 @@ -54072,23 +55444,23 @@ LBB10_50: LONG $0x1b3c8841 // mov byte [r11 + rbx], dil LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 - JNE LBB10_50 + JNE LBB10_83 LONG $0x01c38349 // add r11, 1 -LBB10_52: +LBB10_85: LONG $0x05ffc149 // sar r15, 5 LONG $0x20fa8349 // cmp r10, 32 - JL LBB10_109 + JL LBB10_86 QUAD $0x000001182494894c // mov qword [rsp + 280], r10 QUAD $0x000000b024bc894c // mov qword [rsp + 176], r15 QUAD $0x000000a824bc894c // mov qword [rsp + 168], r15 QUAD $0x00000110249c894c // mov qword [rsp + 272], r11 -LBB10_54: +LBB10_88: LONG $0x2e394466 // cmp word [rsi], r13w WORD $0x930f; BYTE $0xd0 // setae al LONG $0x6e394466; BYTE $0x02 // cmp word [rsi + 2], r13w - LONG $0xd7930f40 // setae dil + LONG $0xd2930f41 // setae r10b LONG $0x6e394466; BYTE $0x04 // cmp word [rsi + 4], r13w LONG $0xd6930f41 // setae r14b LONG $0x6e394466; BYTE $0x06 // cmp word [rsi + 6], r13w @@ -54104,11 +55476,11 @@ LBB10_54: LONG $0x6e394466; BYTE $0x10 // cmp word [rsi + 16], r13w LONG $0x2454930f; BYTE $0x70 // setae byte [rsp + 112] LONG $0x6e394466; BYTE $0x12 // cmp word [rsi + 18], r13w - WORD $0x930f; BYTE $0xd2 // setae dl + LONG $0xd7930f40 // setae dil LONG $0x6e394466; BYTE $0x14 // cmp word [rsi + 20], r13w - LONG $0xd1930f41 // setae r9b + LONG $0xd0930f41 // setae r8b LONG $0x6e394466; BYTE $0x16 // cmp word [rsi + 22], r13w - LONG $0xd2930f41 // setae r10b + LONG $0xd1930f41 // setae r9b LONG $0x6e394466; BYTE $0x18 // cmp word [rsi + 24], r13w LONG $0xd3930f41 // setae r11b LONG $0x6e394466; BYTE $0x1a // cmp word [rsi + 26], r13w @@ -54148,68 +55520,69 @@ LBB10_54: LONG $0x6e394466; BYTE $0x3c // cmp word [rsi + 60], r13w LONG $0x2454930f; BYTE $0x1c // setae byte [rsp + 28] LONG $0x6e394466; BYTE $0x3e // cmp word [rsi + 62], r13w - LONG $0xd0930f41 // setae r8b - WORD $0x0040; BYTE $0xff // add dil, dil - WORD $0x0840; BYTE $0xc7 // or dil, al + WORD $0x930f; BYTE $0xd2 // setae dl + WORD $0x0045; BYTE $0xd2 // add r10b, r10b + WORD $0x0841; BYTE $0xc2 // or r10b, al QUAD $0x000000982484b60f // movzx eax, byte [rsp + 152] WORD $0xe0c0; BYTE $0x06 // shl al, 6 WORD $0xe3c0; BYTE $0x07 // shl bl, 7 WORD $0xc308 // or bl, al LONG $0x02e6c041 // shl r14b, 2 - WORD $0x0841; BYTE $0xfe // or r14b, dil - WORD $0xd200 // add dl, dl - LONG $0x70245402 // add dl, byte [rsp + 112] + WORD $0x0845; BYTE $0xd6 // or r14b, r10b + WORD $0x0040; BYTE $0xff // add dil, dil + LONG $0x247c0240; BYTE $0x70 // add dil, byte [rsp + 112] QUAD $0x000000a02484b60f // movzx eax, byte [rsp + 160] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0x0844; BYTE $0xf0 // or al, r14b - LONG $0x02e1c041 // shl r9b, 2 - WORD $0x0841; BYTE $0xd1 // or r9b, dl - QUAD $0x000000902494b60f // movzx edx, byte [rsp + 144] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0xc208 // or dl, al - WORD $0xd789 // mov edi, edx - LONG $0x03e2c041 // shl r10b, 3 - WORD $0x0845; BYTE $0xca // or r10b, r9b - LONG $0x2454b60f; BYTE $0x60 // movzx edx, byte [rsp + 96] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xfa // or dl, dil + WORD $0x8941; BYTE $0xc2 // mov r10d, eax + LONG $0x02e0c041 // shl r8b, 2 + WORD $0x0841; BYTE $0xf8 // or r8b, dil + QUAD $0x000000902484b60f // movzx eax, byte [rsp + 144] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0844; BYTE $0xd0 // or al, r10b + WORD $0xc789 // mov edi, eax + LONG $0x03e1c041 // shl r9b, 3 + WORD $0x0845; BYTE $0xc1 // or r9b, r8b + LONG $0x2444b60f; BYTE $0x60 // movzx eax, byte [rsp + 96] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0x0840; BYTE $0xf8 // or al, dil LONG $0x04e3c041 // shl r11b, 4 - WORD $0x0845; BYTE $0xd3 // or r11b, r10b + WORD $0x0845; BYTE $0xcb // or r11b, r9b LONG $0x05e4c041 // shl r12b, 5 WORD $0x0845; BYTE $0xdc // or r12b, r11b LONG $0x247cb60f; BYTE $0x78 // movzx edi, byte [rsp + 120] LONG $0x06e7c040 // shl dil, 6 WORD $0xe1c0; BYTE $0x07 // shl cl, 7 WORD $0x0840; BYTE $0xf9 // or cl, dil - WORD $0xd308 // or bl, dl + WORD $0xc308 // or bl, al WORD $0x0844; BYTE $0xe1 // or cl, r12b - QUAD $0x000000802494b60f // movzx edx, byte [rsp + 128] - WORD $0xd200 // add dl, dl - LONG $0x50245402 // add dl, byte [rsp + 80] - WORD $0xd789 // mov edi, edx - QUAD $0x000000882494b60f // movzx edx, byte [rsp + 136] - WORD $0xe2c0; BYTE $0x02 // shl dl, 2 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x48 // movzx edx, byte [rsp + 72] - WORD $0xe2c0; BYTE $0x03 // shl dl, 3 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x58 // movzx edx, byte [rsp + 88] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x68 // movzx edx, byte [rsp + 104] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - QUAD $0x0000011024948b48 // mov rdx, qword [rsp + 272] - WORD $0x1a88 // mov byte [rdx], bl + QUAD $0x000000802484b60f // movzx eax, byte [rsp + 128] + WORD $0xc000 // add al, al + LONG $0x50244402 // add al, byte [rsp + 80] + WORD $0xc789 // mov edi, eax + QUAD $0x000000882484b60f // movzx eax, byte [rsp + 136] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x48 // movzx eax, byte [rsp + 72] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x58 // movzx eax, byte [rsp + 88] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x68 // movzx eax, byte [rsp + 104] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + QUAD $0x0000011024848b48 // mov rax, qword [rsp + 272] + WORD $0x1888 // mov byte [rax], bl LONG $0x245cb60f; BYTE $0x40 // movzx ebx, byte [rsp + 64] WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e7c041 // shl r15b, 7 WORD $0x0841; BYTE $0xdf // or r15b, bl - WORD $0x4a88; BYTE $0x01 // mov byte [rdx + 1], cl + WORD $0x4888; BYTE $0x01 // mov byte [rax + 1], cl WORD $0x0841; BYTE $0xff // or r15b, dil LONG $0x244cb60f; BYTE $0x28 // movzx ecx, byte [rsp + 40] WORD $0xc900 // add cl, cl @@ -54232,25 +55605,25 @@ LBB10_54: WORD $0xd908 // or cl, bl LONG $0x245cb60f; BYTE $0x1c // movzx ebx, byte [rsp + 28] WORD $0xe3c0; BYTE $0x06 // shl bl, 6 - LONG $0x07e0c041 // shl r8b, 7 - WORD $0x0841; BYTE $0xd8 // or r8b, bl - WORD $0x0841; BYTE $0xc8 // or r8b, cl - LONG $0x027a8844 // mov byte [rdx + 2], r15b - LONG $0x03428844 // mov byte [rdx + 3], r8b + WORD $0xe2c0; BYTE $0x07 // shl dl, 7 + WORD $0xda08 // or dl, bl + WORD $0xca08 // or dl, cl + LONG $0x02788844 // mov byte [rax + 2], r15b + WORD $0x5088; BYTE $0x03 // mov byte [rax + 3], dl LONG $0x40c68348 // add rsi, 64 - LONG $0x04c28348 // add rdx, 4 - QUAD $0x0000011024948948 // mov qword [rsp + 272], rdx + LONG $0x04c08348 // add rax, 4 + QUAD $0x0000011024848948 // mov qword [rsp + 272], rax QUAD $0x000000a824848348; BYTE $0xff // add qword [rsp + 168], -1 - JNE LBB10_54 + JNE LBB10_88 QUAD $0x0000011024b48b4c // mov r14, qword [rsp + 272] QUAD $0x0000011824948b4c // mov r10, qword [rsp + 280] QUAD $0x000000b024bc8b4c // mov r15, qword [rsp + 176] LONG $0x05e7c149 // shl r15, 5 WORD $0x394d; BYTE $0xd7 // cmp r15, r10 - JL LBB10_110 - JMP LBB10_175 + JL LBB10_91 + JMP LBB10_194 -LBB10_56: +LBB10_97: LONG $0x2ab70f44 // movzx r13d, word [rdx] LONG $0x1f7a8d4d // lea r15, [r10 + 31] WORD $0x854d; BYTE $0xd2 // test r10, r10 @@ -54260,10 +55633,10 @@ LBB10_56: LONG $0xc1490f41 // cmovns eax, r9d WORD $0xe083; BYTE $0xf8 // and eax, -8 WORD $0x2941; BYTE $0xc1 // sub r9d, eax - JE LBB10_60 + JE LBB10_101 WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d -LBB10_58: +LBB10_99: LONG $0x2e394466 // cmp word [rsi], r13w LONG $0x02768d48 // lea rsi, [rsi + 2] WORD $0x9d0f; BYTE $0xd2 // setge dl @@ -54284,23 +55657,23 @@ LBB10_58: LONG $0x1b3c8841 // mov byte [r11 + rbx], dil LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 - JNE LBB10_58 + JNE LBB10_99 LONG $0x01c38349 // add r11, 1 -LBB10_60: +LBB10_101: LONG $0x05ffc149 // sar r15, 5 LONG $0x20fa8349 // cmp r10, 32 - JL LBB10_112 + JL LBB10_102 QUAD $0x000001182494894c // mov qword [rsp + 280], r10 QUAD $0x000000b024bc894c // mov qword [rsp + 176], r15 QUAD $0x000000a824bc894c // mov qword [rsp + 168], r15 QUAD $0x00000110249c894c // mov qword [rsp + 272], r11 -LBB10_62: +LBB10_104: LONG $0x2e394466 // cmp word [rsi], r13w QUAD $0x0000009824949d0f // setge byte [rsp + 152] LONG $0x6e394466; BYTE $0x02 // cmp word [rsi + 2], r13w - LONG $0xd79d0f40 // setge dil + LONG $0xd29d0f41 // setge r10b LONG $0x6e394466; BYTE $0x04 // cmp word [rsi + 4], r13w LONG $0xd69d0f41 // setge r14b LONG $0x6e394466; BYTE $0x06 // cmp word [rsi + 6], r13w @@ -54316,11 +55689,11 @@ LBB10_62: LONG $0x6e394466; BYTE $0x10 // cmp word [rsi + 16], r13w LONG $0x24549d0f; BYTE $0x70 // setge byte [rsp + 112] LONG $0x6e394466; BYTE $0x12 // cmp word [rsi + 18], r13w - WORD $0x9d0f; BYTE $0xd2 // setge dl + LONG $0xd79d0f40 // setge dil LONG $0x6e394466; BYTE $0x14 // cmp word [rsi + 20], r13w - LONG $0xd19d0f41 // setge r9b + LONG $0xd09d0f41 // setge r8b LONG $0x6e394466; BYTE $0x16 // cmp word [rsi + 22], r13w - LONG $0xd29d0f41 // setge r10b + LONG $0xd19d0f41 // setge r9b LONG $0x6e394466; BYTE $0x18 // cmp word [rsi + 24], r13w LONG $0xd39d0f41 // setge r11b LONG $0x6e394466; BYTE $0x1a // cmp word [rsi + 26], r13w @@ -54360,67 +55733,68 @@ LBB10_62: LONG $0x6e394466; BYTE $0x3c // cmp word [rsi + 60], r13w LONG $0x24549d0f; BYTE $0x1c // setge byte [rsp + 28] LONG $0x6e394466; BYTE $0x3e // cmp word [rsi + 62], r13w - LONG $0xd09d0f41 // setge r8b - WORD $0x0040; BYTE $0xff // add dil, dil - QUAD $0x0000009824bc0240 // add dil, byte [rsp + 152] + WORD $0x9d0f; BYTE $0xd2 // setge dl + WORD $0x0045; BYTE $0xd2 // add r10b, r10b + QUAD $0x0000009824940244 // add r10b, byte [rsp + 152] WORD $0xe0c0; BYTE $0x06 // shl al, 6 WORD $0xe3c0; BYTE $0x07 // shl bl, 7 WORD $0xc308 // or bl, al LONG $0x02e6c041 // shl r14b, 2 - WORD $0x0841; BYTE $0xfe // or r14b, dil - WORD $0xd200 // add dl, dl - LONG $0x70245402 // add dl, byte [rsp + 112] + WORD $0x0845; BYTE $0xd6 // or r14b, r10b + WORD $0x0040; BYTE $0xff // add dil, dil + LONG $0x247c0240; BYTE $0x70 // add dil, byte [rsp + 112] QUAD $0x000000a02484b60f // movzx eax, byte [rsp + 160] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0x0844; BYTE $0xf0 // or al, r14b - LONG $0x02e1c041 // shl r9b, 2 - WORD $0x0841; BYTE $0xd1 // or r9b, dl - QUAD $0x000000902494b60f // movzx edx, byte [rsp + 144] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0xc208 // or dl, al - WORD $0xd789 // mov edi, edx - LONG $0x03e2c041 // shl r10b, 3 - WORD $0x0845; BYTE $0xca // or r10b, r9b - LONG $0x2454b60f; BYTE $0x60 // movzx edx, byte [rsp + 96] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xfa // or dl, dil + WORD $0x8941; BYTE $0xc2 // mov r10d, eax + LONG $0x02e0c041 // shl r8b, 2 + WORD $0x0841; BYTE $0xf8 // or r8b, dil + QUAD $0x000000902484b60f // movzx eax, byte [rsp + 144] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0844; BYTE $0xd0 // or al, r10b + WORD $0xc789 // mov edi, eax + LONG $0x03e1c041 // shl r9b, 3 + WORD $0x0845; BYTE $0xc1 // or r9b, r8b + LONG $0x2444b60f; BYTE $0x60 // movzx eax, byte [rsp + 96] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0x0840; BYTE $0xf8 // or al, dil LONG $0x04e3c041 // shl r11b, 4 - WORD $0x0845; BYTE $0xd3 // or r11b, r10b + WORD $0x0845; BYTE $0xcb // or r11b, r9b LONG $0x05e4c041 // shl r12b, 5 WORD $0x0845; BYTE $0xdc // or r12b, r11b LONG $0x247cb60f; BYTE $0x78 // movzx edi, byte [rsp + 120] LONG $0x06e7c040 // shl dil, 6 WORD $0xe1c0; BYTE $0x07 // shl cl, 7 WORD $0x0840; BYTE $0xf9 // or cl, dil - WORD $0xd308 // or bl, dl + WORD $0xc308 // or bl, al WORD $0x0844; BYTE $0xe1 // or cl, r12b - QUAD $0x000000802494b60f // movzx edx, byte [rsp + 128] - WORD $0xd200 // add dl, dl - LONG $0x50245402 // add dl, byte [rsp + 80] - WORD $0xd789 // mov edi, edx - QUAD $0x000000882494b60f // movzx edx, byte [rsp + 136] - WORD $0xe2c0; BYTE $0x02 // shl dl, 2 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x48 // movzx edx, byte [rsp + 72] - WORD $0xe2c0; BYTE $0x03 // shl dl, 3 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x58 // movzx edx, byte [rsp + 88] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x68 // movzx edx, byte [rsp + 104] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - QUAD $0x0000011024948b48 // mov rdx, qword [rsp + 272] - WORD $0x1a88 // mov byte [rdx], bl + QUAD $0x000000802484b60f // movzx eax, byte [rsp + 128] + WORD $0xc000 // add al, al + LONG $0x50244402 // add al, byte [rsp + 80] + WORD $0xc789 // mov edi, eax + QUAD $0x000000882484b60f // movzx eax, byte [rsp + 136] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x48 // movzx eax, byte [rsp + 72] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x58 // movzx eax, byte [rsp + 88] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x68 // movzx eax, byte [rsp + 104] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + QUAD $0x0000011024848b48 // mov rax, qword [rsp + 272] + WORD $0x1888 // mov byte [rax], bl LONG $0x245cb60f; BYTE $0x40 // movzx ebx, byte [rsp + 64] WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e7c041 // shl r15b, 7 WORD $0x0841; BYTE $0xdf // or r15b, bl - WORD $0x4a88; BYTE $0x01 // mov byte [rdx + 1], cl + WORD $0x4888; BYTE $0x01 // mov byte [rax + 1], cl WORD $0x0841; BYTE $0xff // or r15b, dil LONG $0x244cb60f; BYTE $0x28 // movzx ecx, byte [rsp + 40] WORD $0xc900 // add cl, cl @@ -54443,25 +55817,25 @@ LBB10_62: WORD $0xd908 // or cl, bl LONG $0x245cb60f; BYTE $0x1c // movzx ebx, byte [rsp + 28] WORD $0xe3c0; BYTE $0x06 // shl bl, 6 - LONG $0x07e0c041 // shl r8b, 7 - WORD $0x0841; BYTE $0xd8 // or r8b, bl - WORD $0x0841; BYTE $0xc8 // or r8b, cl - LONG $0x027a8844 // mov byte [rdx + 2], r15b - LONG $0x03428844 // mov byte [rdx + 3], r8b + WORD $0xe2c0; BYTE $0x07 // shl dl, 7 + WORD $0xda08 // or dl, bl + WORD $0xca08 // or dl, cl + LONG $0x02788844 // mov byte [rax + 2], r15b + WORD $0x5088; BYTE $0x03 // mov byte [rax + 3], dl LONG $0x40c68348 // add rsi, 64 - LONG $0x04c28348 // add rdx, 4 - QUAD $0x0000011024948948 // mov qword [rsp + 272], rdx + LONG $0x04c08348 // add rax, 4 + QUAD $0x0000011024848948 // mov qword [rsp + 272], rax QUAD $0x000000a824848348; BYTE $0xff // add qword [rsp + 168], -1 - JNE LBB10_62 + JNE LBB10_104 QUAD $0x0000011024b48b4c // mov r14, qword [rsp + 272] QUAD $0x0000011824948b4c // mov r10, qword [rsp + 280] QUAD $0x000000b024bc8b4c // mov r15, qword [rsp + 176] LONG $0x05e7c149 // shl r15, 5 WORD $0x394d; BYTE $0xd7 // cmp r15, r10 - JL LBB10_113 - JMP LBB10_175 + JL LBB10_107 + JMP LBB10_194 -LBB10_64: +LBB10_150: WORD $0x8b4c; BYTE $0x2a // mov r13, qword [rdx] LONG $0x1f7a8d4d // lea r15, [r10 + 31] WORD $0x854d; BYTE $0xd2 // test r10, r10 @@ -54471,10 +55845,10 @@ LBB10_64: LONG $0xc1490f41 // cmovns eax, r9d WORD $0xe083; BYTE $0xf8 // and eax, -8 WORD $0x2941; BYTE $0xc1 // sub r9d, eax - JE LBB10_68 + JE LBB10_154 WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d -LBB10_66: +LBB10_152: WORD $0x394c; BYTE $0x2e // cmp qword [rsi], r13 LONG $0x08768d48 // lea rsi, [rsi + 8] WORD $0x9d0f; BYTE $0xd2 // setge dl @@ -54495,23 +55869,23 @@ LBB10_66: LONG $0x1b3c8841 // mov byte [r11 + rbx], dil LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 - JNE LBB10_66 + JNE LBB10_152 LONG $0x01c38349 // add r11, 1 -LBB10_68: +LBB10_154: LONG $0x05ffc149 // sar r15, 5 LONG $0x20fa8349 // cmp r10, 32 - JL LBB10_115 + JL LBB10_155 QUAD $0x000001182494894c // mov qword [rsp + 280], r10 QUAD $0x000000b024bc894c // mov qword [rsp + 176], r15 QUAD $0x000000a824bc894c // mov qword [rsp + 168], r15 QUAD $0x00000110249c894c // mov qword [rsp + 272], r11 -LBB10_70: +LBB10_157: WORD $0x394c; BYTE $0x2e // cmp qword [rsi], r13 QUAD $0x0000009824949d0f // setge byte [rsp + 152] LONG $0x086e394c // cmp qword [rsi + 8], r13 - LONG $0xd79d0f40 // setge dil + LONG $0xd29d0f41 // setge r10b LONG $0x106e394c // cmp qword [rsi + 16], r13 LONG $0xd69d0f41 // setge r14b LONG $0x186e394c // cmp qword [rsi + 24], r13 @@ -54527,11 +55901,11 @@ LBB10_70: LONG $0x406e394c // cmp qword [rsi + 64], r13 LONG $0x24549d0f; BYTE $0x70 // setge byte [rsp + 112] LONG $0x486e394c // cmp qword [rsi + 72], r13 - WORD $0x9d0f; BYTE $0xd2 // setge dl + LONG $0xd79d0f40 // setge dil LONG $0x506e394c // cmp qword [rsi + 80], r13 - LONG $0xd19d0f41 // setge r9b + LONG $0xd09d0f41 // setge r8b LONG $0x586e394c // cmp qword [rsi + 88], r13 - LONG $0xd29d0f41 // setge r10b + LONG $0xd19d0f41 // setge r9b LONG $0x606e394c // cmp qword [rsi + 96], r13 LONG $0xd39d0f41 // setge r11b LONG $0x686e394c // cmp qword [rsi + 104], r13 @@ -54571,67 +55945,68 @@ LBB10_70: LONG $0xf0ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 240], r13 LONG $0x24549d0f; BYTE $0x1c // setge byte [rsp + 28] LONG $0xf8ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 248], r13 - LONG $0xd09d0f41 // setge r8b - WORD $0x0040; BYTE $0xff // add dil, dil - QUAD $0x0000009824bc0240 // add dil, byte [rsp + 152] + WORD $0x9d0f; BYTE $0xd2 // setge dl + WORD $0x0045; BYTE $0xd2 // add r10b, r10b + QUAD $0x0000009824940244 // add r10b, byte [rsp + 152] WORD $0xe0c0; BYTE $0x06 // shl al, 6 WORD $0xe3c0; BYTE $0x07 // shl bl, 7 WORD $0xc308 // or bl, al LONG $0x02e6c041 // shl r14b, 2 - WORD $0x0841; BYTE $0xfe // or r14b, dil - WORD $0xd200 // add dl, dl - LONG $0x70245402 // add dl, byte [rsp + 112] + WORD $0x0845; BYTE $0xd6 // or r14b, r10b + WORD $0x0040; BYTE $0xff // add dil, dil + LONG $0x247c0240; BYTE $0x70 // add dil, byte [rsp + 112] QUAD $0x000000a02484b60f // movzx eax, byte [rsp + 160] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0x0844; BYTE $0xf0 // or al, r14b - LONG $0x02e1c041 // shl r9b, 2 - WORD $0x0841; BYTE $0xd1 // or r9b, dl - QUAD $0x000000902494b60f // movzx edx, byte [rsp + 144] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0xc208 // or dl, al - WORD $0xd789 // mov edi, edx - LONG $0x03e2c041 // shl r10b, 3 - WORD $0x0845; BYTE $0xca // or r10b, r9b - LONG $0x2454b60f; BYTE $0x60 // movzx edx, byte [rsp + 96] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xfa // or dl, dil + WORD $0x8941; BYTE $0xc2 // mov r10d, eax + LONG $0x02e0c041 // shl r8b, 2 + WORD $0x0841; BYTE $0xf8 // or r8b, dil + QUAD $0x000000902484b60f // movzx eax, byte [rsp + 144] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0844; BYTE $0xd0 // or al, r10b + WORD $0xc789 // mov edi, eax + LONG $0x03e1c041 // shl r9b, 3 + WORD $0x0845; BYTE $0xc1 // or r9b, r8b + LONG $0x2444b60f; BYTE $0x60 // movzx eax, byte [rsp + 96] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0x0840; BYTE $0xf8 // or al, dil LONG $0x04e3c041 // shl r11b, 4 - WORD $0x0845; BYTE $0xd3 // or r11b, r10b + WORD $0x0845; BYTE $0xcb // or r11b, r9b LONG $0x05e4c041 // shl r12b, 5 WORD $0x0845; BYTE $0xdc // or r12b, r11b LONG $0x247cb60f; BYTE $0x78 // movzx edi, byte [rsp + 120] LONG $0x06e7c040 // shl dil, 6 WORD $0xe1c0; BYTE $0x07 // shl cl, 7 WORD $0x0840; BYTE $0xf9 // or cl, dil - WORD $0xd308 // or bl, dl + WORD $0xc308 // or bl, al WORD $0x0844; BYTE $0xe1 // or cl, r12b - QUAD $0x000000802494b60f // movzx edx, byte [rsp + 128] - WORD $0xd200 // add dl, dl - LONG $0x50245402 // add dl, byte [rsp + 80] - WORD $0xd789 // mov edi, edx - QUAD $0x000000882494b60f // movzx edx, byte [rsp + 136] - WORD $0xe2c0; BYTE $0x02 // shl dl, 2 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x48 // movzx edx, byte [rsp + 72] - WORD $0xe2c0; BYTE $0x03 // shl dl, 3 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x58 // movzx edx, byte [rsp + 88] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x68 // movzx edx, byte [rsp + 104] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - QUAD $0x0000011024948b48 // mov rdx, qword [rsp + 272] - WORD $0x1a88 // mov byte [rdx], bl + QUAD $0x000000802484b60f // movzx eax, byte [rsp + 128] + WORD $0xc000 // add al, al + LONG $0x50244402 // add al, byte [rsp + 80] + WORD $0xc789 // mov edi, eax + QUAD $0x000000882484b60f // movzx eax, byte [rsp + 136] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x48 // movzx eax, byte [rsp + 72] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x58 // movzx eax, byte [rsp + 88] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x68 // movzx eax, byte [rsp + 104] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + QUAD $0x0000011024848b48 // mov rax, qword [rsp + 272] + WORD $0x1888 // mov byte [rax], bl LONG $0x245cb60f; BYTE $0x40 // movzx ebx, byte [rsp + 64] WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e7c041 // shl r15b, 7 WORD $0x0841; BYTE $0xdf // or r15b, bl - WORD $0x4a88; BYTE $0x01 // mov byte [rdx + 1], cl + WORD $0x4888; BYTE $0x01 // mov byte [rax + 1], cl WORD $0x0841; BYTE $0xff // or r15b, dil LONG $0x244cb60f; BYTE $0x28 // movzx ecx, byte [rsp + 40] WORD $0xc900 // add cl, cl @@ -54654,25 +56029,25 @@ LBB10_70: WORD $0xd908 // or cl, bl LONG $0x245cb60f; BYTE $0x1c // movzx ebx, byte [rsp + 28] WORD $0xe3c0; BYTE $0x06 // shl bl, 6 - LONG $0x07e0c041 // shl r8b, 7 - WORD $0x0841; BYTE $0xd8 // or r8b, bl - WORD $0x0841; BYTE $0xc8 // or r8b, cl - LONG $0x027a8844 // mov byte [rdx + 2], r15b - LONG $0x03428844 // mov byte [rdx + 3], r8b + WORD $0xe2c0; BYTE $0x07 // shl dl, 7 + WORD $0xda08 // or dl, bl + WORD $0xca08 // or dl, cl + LONG $0x02788844 // mov byte [rax + 2], r15b + WORD $0x5088; BYTE $0x03 // mov byte [rax + 3], dl LONG $0x00c68148; WORD $0x0001; BYTE $0x00 // add rsi, 256 - LONG $0x04c28348 // add rdx, 4 - QUAD $0x0000011024948948 // mov qword [rsp + 272], rdx + LONG $0x04c08348 // add rax, 4 + QUAD $0x0000011024848948 // mov qword [rsp + 272], rax QUAD $0x000000a824848348; BYTE $0xff // add qword [rsp + 168], -1 - JNE LBB10_70 + JNE LBB10_157 QUAD $0x0000011024b48b4c // mov r14, qword [rsp + 272] QUAD $0x0000011824948b4c // mov r10, qword [rsp + 280] QUAD $0x000000b024bc8b4c // mov r15, qword [rsp + 176] LONG $0x05e7c149 // shl r15, 5 WORD $0x394d; BYTE $0xd7 // cmp r15, r10 - JL LBB10_116 - JMP LBB10_175 + JL LBB10_160 + JMP LBB10_194 -LBB10_72: +LBB10_166: LONG $0x1f7a8d4d // lea r15, [r10 + 31] WORD $0x854d; BYTE $0xd2 // test r10, r10 LONG $0xfa490f4d // cmovns r15, r10 @@ -54682,14 +56057,15 @@ LBB10_72: WORD $0xe083; BYTE $0xf8 // and eax, -8 LONG $0x0210fac5 // vmovss xmm0, dword [rdx] WORD $0x2941; BYTE $0xc1 // sub r9d, eax - JE LBB10_76 + JE LBB10_170 WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d -LBB10_74: - LONG $0x062ef8c5 // vucomiss xmm0, dword [rsi] - WORD $0x960f; BYTE $0xd2 // setbe dl +LBB10_168: + LONG $0x0e10fac5 // vmovss xmm1, dword [rsi] LONG $0x04c68348 // add rsi, 4 - WORD $0xdaf6 // neg dl + LONG $0xc82ef8c5 // vucomiss xmm1, xmm0 + LONG $0x000000ba; BYTE $0x00 // mov edx, 0 + WORD $0xd280; BYTE $0xff // adc dl, -1 LONG $0x07788d48 // lea rdi, [rax + 7] WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xf8490f48 // cmovns rdi, rax @@ -54706,182 +56082,210 @@ LBB10_74: LONG $0x3b1c8841 // mov byte [r11 + rdi], bl LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 - JNE LBB10_74 + JNE LBB10_168 LONG $0x01c38349 // add r11, 1 -LBB10_76: +LBB10_170: LONG $0x05ffc149 // sar r15, 5 LONG $0x20fa8349 // cmp r10, 32 - JL LBB10_118 + JL LBB10_171 QUAD $0x000001182494894c // mov qword [rsp + 280], r10 QUAD $0x000000a824bc894c // mov qword [rsp + 168], r15 QUAD $0x0000009824bc894c // mov qword [rsp + 152], r15 QUAD $0x00000110249c894c // mov qword [rsp + 272], r11 -LBB10_78: - LONG $0x062ef8c5 // vucomiss xmm0, dword [rsi] - QUAD $0x000000a02494960f // setbe byte [rsp + 160] - LONG $0x462ef8c5; BYTE $0x04 // vucomiss xmm0, dword [rsi + 4] - LONG $0xd1960f41 // setbe r9b - LONG $0x462ef8c5; BYTE $0x08 // vucomiss xmm0, dword [rsi + 8] - LONG $0xd6960f41 // setbe r14b - LONG $0x462ef8c5; BYTE $0x0c // vucomiss xmm0, dword [rsi + 12] - LONG $0xd5960f41 // setbe r13b - LONG $0x462ef8c5; BYTE $0x10 // vucomiss xmm0, dword [rsi + 16] - QUAD $0x000000902494960f // setbe byte [rsp + 144] - LONG $0x462ef8c5; BYTE $0x14 // vucomiss xmm0, dword [rsi + 20] - LONG $0x2454960f; BYTE $0x60 // setbe byte [rsp + 96] - LONG $0x462ef8c5; BYTE $0x18 // vucomiss xmm0, dword [rsi + 24] - WORD $0x960f; BYTE $0xd0 // setbe al - LONG $0x462ef8c5; BYTE $0x1c // vucomiss xmm0, dword [rsi + 28] - WORD $0x960f; BYTE $0xd3 // setbe bl - LONG $0x462ef8c5; BYTE $0x20 // vucomiss xmm0, dword [rsi + 32] - LONG $0x2454960f; BYTE $0x78 // setbe byte [rsp + 120] - LONG $0x462ef8c5; BYTE $0x24 // vucomiss xmm0, dword [rsi + 36] - WORD $0x960f; BYTE $0xd2 // setbe dl - LONG $0x462ef8c5; BYTE $0x28 // vucomiss xmm0, dword [rsi + 40] - LONG $0xd7960f40 // setbe dil - LONG $0x462ef8c5; BYTE $0x2c // vucomiss xmm0, dword [rsi + 44] - LONG $0xd2960f41 // setbe r10b - LONG $0x462ef8c5; BYTE $0x30 // vucomiss xmm0, dword [rsi + 48] - LONG $0xd3960f41 // setbe r11b - LONG $0x462ef8c5; BYTE $0x34 // vucomiss xmm0, dword [rsi + 52] - LONG $0xd4960f41 // setbe r12b - LONG $0x462ef8c5; BYTE $0x38 // vucomiss xmm0, dword [rsi + 56] - QUAD $0x000000802494960f // setbe byte [rsp + 128] - LONG $0x462ef8c5; BYTE $0x3c // vucomiss xmm0, dword [rsi + 60] - WORD $0x960f; BYTE $0xd1 // setbe cl - LONG $0x462ef8c5; BYTE $0x40 // vucomiss xmm0, dword [rsi + 64] - LONG $0x2454960f; BYTE $0x50 // setbe byte [rsp + 80] - LONG $0x462ef8c5; BYTE $0x44 // vucomiss xmm0, dword [rsi + 68] - LONG $0x2454960f; BYTE $0x70 // setbe byte [rsp + 112] - LONG $0x462ef8c5; BYTE $0x48 // vucomiss xmm0, dword [rsi + 72] - QUAD $0x000000882494960f // setbe byte [rsp + 136] - LONG $0x462ef8c5; BYTE $0x4c // vucomiss xmm0, dword [rsi + 76] - LONG $0x2454960f; BYTE $0x48 // setbe byte [rsp + 72] - LONG $0x462ef8c5; BYTE $0x50 // vucomiss xmm0, dword [rsi + 80] - LONG $0x2454960f; BYTE $0x58 // setbe byte [rsp + 88] - LONG $0x462ef8c5; BYTE $0x54 // vucomiss xmm0, dword [rsi + 84] - LONG $0x2454960f; BYTE $0x68 // setbe byte [rsp + 104] - LONG $0x462ef8c5; BYTE $0x58 // vucomiss xmm0, dword [rsi + 88] - LONG $0x2454960f; BYTE $0x40 // setbe byte [rsp + 64] - LONG $0x462ef8c5; BYTE $0x5c // vucomiss xmm0, dword [rsi + 92] - LONG $0xd7960f41 // setbe r15b - LONG $0x462ef8c5; BYTE $0x60 // vucomiss xmm0, dword [rsi + 96] - LONG $0x2454960f; BYTE $0x20 // setbe byte [rsp + 32] - LONG $0x462ef8c5; BYTE $0x64 // vucomiss xmm0, dword [rsi + 100] - LONG $0x2454960f; BYTE $0x28 // setbe byte [rsp + 40] - LONG $0x462ef8c5; BYTE $0x68 // vucomiss xmm0, dword [rsi + 104] - LONG $0x2454960f; BYTE $0x30 // setbe byte [rsp + 48] - LONG $0x462ef8c5; BYTE $0x6c // vucomiss xmm0, dword [rsi + 108] - LONG $0x2454960f; BYTE $0x38 // setbe byte [rsp + 56] - LONG $0x462ef8c5; BYTE $0x70 // vucomiss xmm0, dword [rsi + 112] - QUAD $0x000001402494960f // setbe byte [rsp + 320] - LONG $0x462ef8c5; BYTE $0x74 // vucomiss xmm0, dword [rsi + 116] - QUAD $0x000001202494960f // setbe byte [rsp + 288] - LONG $0x462ef8c5; BYTE $0x78 // vucomiss xmm0, dword [rsi + 120] - LONG $0x2454960f; BYTE $0x1c // setbe byte [rsp + 28] - LONG $0x462ef8c5; BYTE $0x7c // vucomiss xmm0, dword [rsi + 124] - LONG $0xd0960f41 // setbe r8b - WORD $0x0045; BYTE $0xc9 // add r9b, r9b - QUAD $0x000000a0248c0244 // add r9b, byte [rsp + 160] - WORD $0xe0c0; BYTE $0x06 // shl al, 6 - WORD $0xe3c0; BYTE $0x07 // shl bl, 7 - WORD $0xc308 // or bl, al - LONG $0x02e6c041 // shl r14b, 2 - WORD $0x0845; BYTE $0xce // or r14b, r9b +LBB10_173: + LONG $0x0e10fac5 // vmovss xmm1, dword [rsi] + LONG $0x5610fac5; BYTE $0x04 // vmovss xmm2, dword [rsi + 4] + LONG $0xc82ef8c5 // vucomiss xmm1, xmm0 + LONG $0x2454930f; BYTE $0x78 // setae byte [rsp + 120] + LONG $0xd02ef8c5 // vucomiss xmm2, xmm0 + WORD $0x930f; BYTE $0xd2 // setae dl + LONG $0x4e10fac5; BYTE $0x08 // vmovss xmm1, dword [rsi + 8] + LONG $0xc82ef8c5 // vucomiss xmm1, xmm0 + LONG $0xd7930f40 // setae dil + LONG $0x4e10fac5; BYTE $0x0c // vmovss xmm1, dword [rsi + 12] + LONG $0xc82ef8c5 // vucomiss xmm1, xmm0 + LONG $0xd0930f41 // setae r8b + LONG $0x4e10fac5; BYTE $0x10 // vmovss xmm1, dword [rsi + 16] + LONG $0xc82ef8c5 // vucomiss xmm1, xmm0 + LONG $0xd1930f41 // setae r9b + LONG $0x4e10fac5; BYTE $0x14 // vmovss xmm1, dword [rsi + 20] + LONG $0xc82ef8c5 // vucomiss xmm1, xmm0 + QUAD $0x000000a02494930f // setae byte [rsp + 160] + LONG $0x4e10fac5; BYTE $0x18 // vmovss xmm1, dword [rsi + 24] + LONG $0xc82ef8c5 // vucomiss xmm1, xmm0 + QUAD $0x000000802494930f // setae byte [rsp + 128] + LONG $0x4e10fac5; BYTE $0x1c // vmovss xmm1, dword [rsi + 28] + LONG $0xc82ef8c5 // vucomiss xmm1, xmm0 + LONG $0x2454930f; BYTE $0x70 // setae byte [rsp + 112] + LONG $0x4e10fac5; BYTE $0x20 // vmovss xmm1, dword [rsi + 32] + LONG $0xc82ef8c5 // vucomiss xmm1, xmm0 + LONG $0x2454930f; BYTE $0x60 // setae byte [rsp + 96] + LONG $0x4e10fac5; BYTE $0x24 // vmovss xmm1, dword [rsi + 36] + LONG $0xc82ef8c5 // vucomiss xmm1, xmm0 + LONG $0xd2930f41 // setae r10b + LONG $0x4e10fac5; BYTE $0x28 // vmovss xmm1, dword [rsi + 40] + LONG $0xc82ef8c5 // vucomiss xmm1, xmm0 + WORD $0x930f; BYTE $0xd3 // setae bl + LONG $0x4e10fac5; BYTE $0x2c // vmovss xmm1, dword [rsi + 44] + LONG $0xc82ef8c5 // vucomiss xmm1, xmm0 + LONG $0xd7930f41 // setae r15b + LONG $0x4e10fac5; BYTE $0x30 // vmovss xmm1, dword [rsi + 48] + LONG $0xc82ef8c5 // vucomiss xmm1, xmm0 + WORD $0x930f; BYTE $0xd0 // setae al + LONG $0x4e10fac5; BYTE $0x34 // vmovss xmm1, dword [rsi + 52] + LONG $0xc82ef8c5 // vucomiss xmm1, xmm0 + QUAD $0x000000902494930f // setae byte [rsp + 144] + LONG $0x4e10fac5; BYTE $0x38 // vmovss xmm1, dword [rsi + 56] + LONG $0xc82ef8c5 // vucomiss xmm1, xmm0 + LONG $0x2454930f; BYTE $0x58 // setae byte [rsp + 88] + LONG $0x4e10fac5; BYTE $0x3c // vmovss xmm1, dword [rsi + 60] + LONG $0xc82ef8c5 // vucomiss xmm1, xmm0 + LONG $0x2454930f; BYTE $0x48 // setae byte [rsp + 72] + LONG $0x4e10fac5; BYTE $0x40 // vmovss xmm1, dword [rsi + 64] + LONG $0x5610fac5; BYTE $0x44 // vmovss xmm2, dword [rsi + 68] + LONG $0xc82ef8c5 // vucomiss xmm1, xmm0 + LONG $0x4e10fac5; BYTE $0x48 // vmovss xmm1, dword [rsi + 72] + LONG $0x2454930f; BYTE $0x28 // setae byte [rsp + 40] + LONG $0xd02ef8c5 // vucomiss xmm2, xmm0 + LONG $0x5610fac5; BYTE $0x4c // vmovss xmm2, dword [rsi + 76] + LONG $0xd3930f41 // setae r11b + LONG $0xc82ef8c5 // vucomiss xmm1, xmm0 + LONG $0x4e10fac5; BYTE $0x50 // vmovss xmm1, dword [rsi + 80] + LONG $0xd6930f41 // setae r14b + LONG $0xd02ef8c5 // vucomiss xmm2, xmm0 + LONG $0x5610fac5; BYTE $0x54 // vmovss xmm2, dword [rsi + 84] + LONG $0xd4930f41 // setae r12b + LONG $0xc82ef8c5 // vucomiss xmm1, xmm0 + LONG $0x4e10fac5; BYTE $0x58 // vmovss xmm1, dword [rsi + 88] + QUAD $0x000000882494930f // setae byte [rsp + 136] + LONG $0xd02ef8c5 // vucomiss xmm2, xmm0 + LONG $0x5610fac5; BYTE $0x5c // vmovss xmm2, dword [rsi + 92] + LONG $0x2454930f; BYTE $0x50 // setae byte [rsp + 80] + LONG $0xc82ef8c5 // vucomiss xmm1, xmm0 + LONG $0x4e10fac5; BYTE $0x60 // vmovss xmm1, dword [rsi + 96] + LONG $0x2454930f; BYTE $0x68 // setae byte [rsp + 104] + LONG $0xd02ef8c5 // vucomiss xmm2, xmm0 + LONG $0x5610fac5; BYTE $0x64 // vmovss xmm2, dword [rsi + 100] + LONG $0xd5930f41 // setae r13b + LONG $0xc82ef8c5 // vucomiss xmm1, xmm0 + LONG $0x4e10fac5; BYTE $0x68 // vmovss xmm1, dword [rsi + 104] + QUAD $0x000001202494930f // setae byte [rsp + 288] + LONG $0xd02ef8c5 // vucomiss xmm2, xmm0 + LONG $0x5610fac5; BYTE $0x6c // vmovss xmm2, dword [rsi + 108] + LONG $0x2454930f; BYTE $0x40 // setae byte [rsp + 64] + LONG $0xc82ef8c5 // vucomiss xmm1, xmm0 + LONG $0x4e10fac5; BYTE $0x70 // vmovss xmm1, dword [rsi + 112] + LONG $0x2454930f; BYTE $0x30 // setae byte [rsp + 48] + LONG $0xd02ef8c5 // vucomiss xmm2, xmm0 + LONG $0x5610fac5; BYTE $0x74 // vmovss xmm2, dword [rsi + 116] + LONG $0x2454930f; BYTE $0x38 // setae byte [rsp + 56] + LONG $0xc82ef8c5 // vucomiss xmm1, xmm0 + LONG $0x4e10fac5; BYTE $0x78 // vmovss xmm1, dword [rsi + 120] + LONG $0x2454930f; BYTE $0x20 // setae byte [rsp + 32] + LONG $0xd02ef8c5 // vucomiss xmm2, xmm0 + LONG $0x5610fac5; BYTE $0x7c // vmovss xmm2, dword [rsi + 124] + QUAD $0x000001402494930f // setae byte [rsp + 320] + LONG $0xc82ef8c5 // vucomiss xmm1, xmm0 + LONG $0x2454930f; BYTE $0x1c // setae byte [rsp + 28] + LONG $0x80ee8348 // sub rsi, -128 + LONG $0xd02ef8c5 // vucomiss xmm2, xmm0 + WORD $0x930f; BYTE $0xd1 // setae cl WORD $0xd200 // add dl, dl LONG $0x78245402 // add dl, byte [rsp + 120] - LONG $0x03e5c041 // shl r13b, 3 - WORD $0x0845; BYTE $0xf5 // or r13b, r14b LONG $0x02e7c040 // shl dil, 2 WORD $0x0840; BYTE $0xd7 // or dil, dl - QUAD $0x000000902494b60f // movzx edx, byte [rsp + 144] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0x0844; BYTE $0xea // or dl, r13b - WORD $0x8941; BYTE $0xd1 // mov r9d, edx - LONG $0x03e2c041 // shl r10b, 3 - WORD $0x0841; BYTE $0xfa // or r10b, dil - LONG $0x2454b60f; BYTE $0x60 // movzx edx, byte [rsp + 96] + LONG $0x03e0c041 // shl r8b, 3 + WORD $0x0841; BYTE $0xf8 // or r8b, dil + LONG $0x04e1c041 // shl r9b, 4 + WORD $0x0845; BYTE $0xc1 // or r9b, r8b + QUAD $0x000000a02494b60f // movzx edx, byte [rsp + 160] WORD $0xe2c0; BYTE $0x05 // shl dl, 5 WORD $0x0844; BYTE $0xca // or dl, r9b - LONG $0x04e3c041 // shl r11b, 4 - WORD $0x0845; BYTE $0xd3 // or r11b, r10b - LONG $0x05e4c041 // shl r12b, 5 - WORD $0x0845; BYTE $0xdc // or r12b, r11b - QUAD $0x0000008024bcb60f // movzx edi, byte [rsp + 128] - LONG $0x06e7c040 // shl dil, 6 - WORD $0xe1c0; BYTE $0x07 // shl cl, 7 - WORD $0x0840; BYTE $0xf9 // or cl, dil - WORD $0xd308 // or bl, dl - WORD $0x0844; BYTE $0xe1 // or cl, r12b - LONG $0x2444b60f; BYTE $0x70 // movzx eax, byte [rsp + 112] - WORD $0xc000 // add al, al - LONG $0x50244402 // add al, byte [rsp + 80] - QUAD $0x000000882494b60f // movzx edx, byte [rsp + 136] - WORD $0xe2c0; BYTE $0x02 // shl dl, 2 + QUAD $0x0000802484b60f44; BYTE $0x00 // movzx r8d, byte [rsp + 128] + LONG $0x06e0c041 // shl r8b, 6 + LONG $0x247cb60f; BYTE $0x70 // movzx edi, byte [rsp + 112] + LONG $0x07e7c040 // shl dil, 7 + WORD $0x0844; BYTE $0xc7 // or dil, r8b + WORD $0x0045; BYTE $0xd2 // add r10b, r10b + LONG $0x24540244; BYTE $0x60 // add r10b, byte [rsp + 96] + WORD $0xe3c0; BYTE $0x02 // shl bl, 2 + WORD $0x0844; BYTE $0xd3 // or bl, r10b + LONG $0x03e7c041 // shl r15b, 3 + WORD $0x0841; BYTE $0xdf // or r15b, bl + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0844; BYTE $0xf8 // or al, r15b + WORD $0x0840; BYTE $0xd7 // or dil, dl + QUAD $0x000000902494b60f // movzx edx, byte [rsp + 144] + WORD $0xe2c0; BYTE $0x05 // shl dl, 5 WORD $0xc208 // or dl, al - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x48 // movzx edx, byte [rsp + 72] - WORD $0xe2c0; BYTE $0x03 // shl dl, 3 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x58 // movzx edx, byte [rsp + 88] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx + LONG $0x2444b60f; BYTE $0x58 // movzx eax, byte [rsp + 88] + WORD $0xe0c0; BYTE $0x06 // shl al, 6 + LONG $0x245cb60f; BYTE $0x48 // movzx ebx, byte [rsp + 72] + WORD $0xe3c0; BYTE $0x07 // shl bl, 7 + WORD $0xc308 // or bl, al + WORD $0x0045; BYTE $0xdb // add r11b, r11b + LONG $0x245c0244; BYTE $0x28 // add r11b, byte [rsp + 40] + LONG $0x02e6c041 // shl r14b, 2 + WORD $0x0845; BYTE $0xde // or r14b, r11b + LONG $0x03e4c041 // shl r12b, 3 + WORD $0x0845; BYTE $0xf4 // or r12b, r14b + QUAD $0x000000882484b60f // movzx eax, byte [rsp + 136] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0844; BYTE $0xe0 // or al, r12b + WORD $0x8941; BYTE $0xc0 // mov r8d, eax + LONG $0x2444b60f; BYTE $0x50 // movzx eax, byte [rsp + 80] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0x0844; BYTE $0xc0 // or al, r8b + WORD $0xd308 // or bl, dl LONG $0x2454b60f; BYTE $0x68 // movzx edx, byte [rsp + 104] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx + WORD $0xe2c0; BYTE $0x06 // shl dl, 6 + LONG $0x07e5c041 // shl r13b, 7 + WORD $0x0841; BYTE $0xd5 // or r13b, dl QUAD $0x0000011024948b48 // mov rdx, qword [rsp + 272] - WORD $0x1a88 // mov byte [rdx], bl - LONG $0x245cb60f; BYTE $0x40 // movzx ebx, byte [rsp + 64] - WORD $0xe3c0; BYTE $0x06 // shl bl, 6 - LONG $0x07e7c041 // shl r15b, 7 - WORD $0x0841; BYTE $0xdf // or r15b, bl - WORD $0x4a88; BYTE $0x01 // mov byte [rdx + 1], cl - WORD $0x0841; BYTE $0xff // or r15b, dil - LONG $0x244cb60f; BYTE $0x28 // movzx ecx, byte [rsp + 40] - WORD $0xc900 // add cl, cl - LONG $0x20244c02 // add cl, byte [rsp + 32] - WORD $0xcb89 // mov ebx, ecx - LONG $0x244cb60f; BYTE $0x30 // movzx ecx, byte [rsp + 48] - WORD $0xe1c0; BYTE $0x02 // shl cl, 2 - WORD $0xd908 // or cl, bl - WORD $0xcb89 // mov ebx, ecx - LONG $0x244cb60f; BYTE $0x38 // movzx ecx, byte [rsp + 56] - WORD $0xe1c0; BYTE $0x03 // shl cl, 3 - WORD $0xd908 // or cl, bl - WORD $0xcb89 // mov ebx, ecx - QUAD $0x00000140248cb60f // movzx ecx, byte [rsp + 320] - WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0xd908 // or cl, bl - WORD $0xcb89 // mov ebx, ecx - QUAD $0x00000120248cb60f // movzx ecx, byte [rsp + 288] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0xd908 // or cl, bl + WORD $0x8840; BYTE $0x3a // mov byte [rdx], dil + WORD $0x0841; BYTE $0xc5 // or r13b, al + LONG $0x2444b60f; BYTE $0x40 // movzx eax, byte [rsp + 64] + WORD $0xc000 // add al, al + LONG $0x20248402; WORD $0x0001; BYTE $0x00 // add al, byte [rsp + 288] + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x38 // movzx eax, byte [rsp + 56] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + QUAD $0x000001402484b60f // movzx eax, byte [rsp + 320] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0x5a88; BYTE $0x01 // mov byte [rdx + 1], bl LONG $0x245cb60f; BYTE $0x1c // movzx ebx, byte [rsp + 28] WORD $0xe3c0; BYTE $0x06 // shl bl, 6 - LONG $0x07e0c041 // shl r8b, 7 - WORD $0x0841; BYTE $0xd8 // or r8b, bl - WORD $0x0841; BYTE $0xc8 // or r8b, cl - LONG $0x027a8844 // mov byte [rdx + 2], r15b - LONG $0x03428844 // mov byte [rdx + 3], r8b - LONG $0x80c68148; WORD $0x0000; BYTE $0x00 // add rsi, 128 + WORD $0xe1c0; BYTE $0x07 // shl cl, 7 + WORD $0xd908 // or cl, bl + LONG $0x026a8844 // mov byte [rdx + 2], r13b + WORD $0xc108 // or cl, al + WORD $0x4a88; BYTE $0x03 // mov byte [rdx + 3], cl LONG $0x04c28348 // add rdx, 4 QUAD $0x0000011024948948 // mov qword [rsp + 272], rdx QUAD $0x0000009824848348; BYTE $0xff // add qword [rsp + 152], -1 - JNE LBB10_78 + JNE LBB10_173 QUAD $0x0000011024b48b4c // mov r14, qword [rsp + 272] QUAD $0x0000011824948b4c // mov r10, qword [rsp + 280] QUAD $0x000000a824bc8b4c // mov r15, qword [rsp + 168] LONG $0x05e7c149 // shl r15, 5 WORD $0x394d; BYTE $0xd7 // cmp r15, r10 - JL LBB10_119 - JMP LBB10_175 + JL LBB10_176 + JMP LBB10_194 -LBB10_80: +LBB10_33: WORD $0x8a44; BYTE $0x32 // mov r14b, byte [rdx] LONG $0x1f7a8d4d // lea r15, [r10 + 31] WORD $0x854d; BYTE $0xd2 // test r10, r10 @@ -54891,10 +56295,10 @@ LBB10_80: LONG $0xc1490f41 // cmovns eax, r9d WORD $0xe083; BYTE $0xf8 // and eax, -8 WORD $0x2941; BYTE $0xc1 // sub r9d, eax - JE LBB10_84 + JE LBB10_37 WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d -LBB10_82: +LBB10_35: WORD $0x3844; BYTE $0x36 // cmp byte [rsi], r14b LONG $0x01768d48 // lea rsi, [rsi + 1] LONG $0x000000ba; BYTE $0x00 // mov edx, 0 @@ -54915,38 +56319,38 @@ LBB10_82: LONG $0x3b1c8841 // mov byte [r11 + rdi], bl LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 - JNE LBB10_82 + JNE LBB10_35 LONG $0x01c38349 // add r11, 1 -LBB10_84: +LBB10_37: LONG $0x05ffc149 // sar r15, 5 LONG $0x20fa8349 // cmp r10, 32 - JL LBB10_121 + JL LBB10_38 LONG $0x20ff8349 // cmp r15, 32 LONG $0x24748944; BYTE $0x1c // mov dword [rsp + 28], r14d QUAD $0x000001182494894c // mov qword [rsp + 280], r10 QUAD $0x0000017024bc894c // mov qword [rsp + 368], r15 - JB LBB10_88 + JB LBB10_40 WORD $0x894c; BYTE $0xf8 // mov rax, r15 LONG $0x05e0c148 // shl rax, 5 WORD $0x0148; BYTE $0xf0 // add rax, rsi WORD $0x3949; BYTE $0xc3 // cmp r11, rax - JAE LBB10_185 + JAE LBB10_43 LONG $0xbb048d4b // lea rax, [r11 + 4*r15] WORD $0x3948; BYTE $0xc6 // cmp rsi, rax - JAE LBB10_185 + JAE LBB10_43 -LBB10_88: +LBB10_40: WORD $0xc031 // xor eax, eax QUAD $0x0000018024848948 // mov qword [rsp + 384], rax WORD $0x8949; BYTE $0xf4 // mov r12, rsi QUAD $0x00000168249c894c // mov qword [rsp + 360], r11 -LBB10_89: +LBB10_46: QUAD $0x0000018024bc2b4c // sub r15, qword [rsp + 384] QUAD $0x0000009824bc894c // mov qword [rsp + 152], r15 -LBB10_90: +LBB10_47: WORD $0x894c; BYTE $0xe1 // mov rcx, r12 LONG $0x24343845 // cmp byte [r12], r14b LONG $0x2454930f; BYTE $0x20 // setae byte [rsp + 32] @@ -55109,12 +56513,12 @@ LBB10_90: LONG $0x04c68348 // add rsi, 4 QUAD $0x0000016824b48948 // mov qword [rsp + 360], rsi QUAD $0x0000009824848348; BYTE $0xff // add qword [rsp + 152], -1 - JNE LBB10_90 + JNE LBB10_47 QUAD $0x0000011824948b4c // mov r10, qword [rsp + 280] QUAD $0x0000017024bc8b4c // mov r15, qword [rsp + 368] - JMP LBB10_122 + JMP LBB10_49 -LBB10_92: +LBB10_124: WORD $0x8b44; BYTE $0x2a // mov r13d, dword [rdx] LONG $0x1f7a8d4d // lea r15, [r10 + 31] WORD $0x854d; BYTE $0xd2 // test r10, r10 @@ -55124,10 +56528,10 @@ LBB10_92: LONG $0xc1490f41 // cmovns eax, r9d WORD $0xe083; BYTE $0xf8 // and eax, -8 WORD $0x2941; BYTE $0xc1 // sub r9d, eax - JE LBB10_96 + JE LBB10_128 WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d -LBB10_94: +LBB10_126: WORD $0x3944; BYTE $0x2e // cmp dword [rsi], r13d LONG $0x04768d48 // lea rsi, [rsi + 4] WORD $0x9d0f; BYTE $0xd2 // setge dl @@ -55148,23 +56552,23 @@ LBB10_94: LONG $0x1b3c8841 // mov byte [r11 + rbx], dil LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 - JNE LBB10_94 + JNE LBB10_126 LONG $0x01c38349 // add r11, 1 -LBB10_96: +LBB10_128: LONG $0x05ffc149 // sar r15, 5 LONG $0x20fa8349 // cmp r10, 32 - JL LBB10_125 + JL LBB10_129 QUAD $0x000001182494894c // mov qword [rsp + 280], r10 QUAD $0x000000b024bc894c // mov qword [rsp + 176], r15 QUAD $0x000000a824bc894c // mov qword [rsp + 168], r15 -LBB10_98: +LBB10_131: QUAD $0x00000110249c894c // mov qword [rsp + 272], r11 WORD $0x3944; BYTE $0x2e // cmp dword [rsi], r13d QUAD $0x0000009824949d0f // setge byte [rsp + 152] LONG $0x046e3944 // cmp dword [rsi + 4], r13d - LONG $0xd79d0f40 // setge dil + LONG $0xd29d0f41 // setge r10b LONG $0x086e3944 // cmp dword [rsi + 8], r13d LONG $0xd69d0f41 // setge r14b LONG $0x0c6e3944 // cmp dword [rsi + 12], r13d @@ -55180,11 +56584,11 @@ LBB10_98: LONG $0x206e3944 // cmp dword [rsi + 32], r13d LONG $0x24549d0f; BYTE $0x70 // setge byte [rsp + 112] LONG $0x246e3944 // cmp dword [rsi + 36], r13d - WORD $0x9d0f; BYTE $0xd2 // setge dl + LONG $0xd79d0f40 // setge dil LONG $0x286e3944 // cmp dword [rsi + 40], r13d - LONG $0xd19d0f41 // setge r9b + LONG $0xd09d0f41 // setge r8b LONG $0x2c6e3944 // cmp dword [rsi + 44], r13d - LONG $0xd29d0f41 // setge r10b + LONG $0xd19d0f41 // setge r9b LONG $0x306e3944 // cmp dword [rsi + 48], r13d LONG $0xd39d0f41 // setge r11b LONG $0x346e3944 // cmp dword [rsi + 52], r13d @@ -55224,32 +56628,33 @@ LBB10_98: LONG $0x786e3944 // cmp dword [rsi + 120], r13d LONG $0x24549d0f; BYTE $0x1c // setge byte [rsp + 28] LONG $0x7c6e3944 // cmp dword [rsi + 124], r13d - LONG $0xd09d0f41 // setge r8b - WORD $0x0040; BYTE $0xff // add dil, dil - QUAD $0x0000009824bc0240 // add dil, byte [rsp + 152] + WORD $0x9d0f; BYTE $0xd2 // setge dl + WORD $0x0045; BYTE $0xd2 // add r10b, r10b + QUAD $0x0000009824940244 // add r10b, byte [rsp + 152] WORD $0xe0c0; BYTE $0x06 // shl al, 6 WORD $0xe3c0; BYTE $0x07 // shl bl, 7 WORD $0xc308 // or bl, al LONG $0x02e6c041 // shl r14b, 2 - WORD $0x0841; BYTE $0xfe // or r14b, dil - WORD $0xd200 // add dl, dl - LONG $0x70245402 // add dl, byte [rsp + 112] + WORD $0x0845; BYTE $0xd6 // or r14b, r10b + WORD $0x0040; BYTE $0xff // add dil, dil + LONG $0x247c0240; BYTE $0x70 // add dil, byte [rsp + 112] QUAD $0x000000a02484b60f // movzx eax, byte [rsp + 160] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0x0844; BYTE $0xf0 // or al, r14b - LONG $0x02e1c041 // shl r9b, 2 - WORD $0x0841; BYTE $0xd1 // or r9b, dl - QUAD $0x000000902494b60f // movzx edx, byte [rsp + 144] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0xc208 // or dl, al - WORD $0xd789 // mov edi, edx - LONG $0x03e2c041 // shl r10b, 3 - WORD $0x0845; BYTE $0xca // or r10b, r9b - LONG $0x2454b60f; BYTE $0x60 // movzx edx, byte [rsp + 96] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xfa // or dl, dil + WORD $0x8941; BYTE $0xc2 // mov r10d, eax + LONG $0x02e0c041 // shl r8b, 2 + WORD $0x0841; BYTE $0xf8 // or r8b, dil + QUAD $0x000000902484b60f // movzx eax, byte [rsp + 144] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0844; BYTE $0xd0 // or al, r10b + WORD $0xc789 // mov edi, eax + LONG $0x03e1c041 // shl r9b, 3 + WORD $0x0845; BYTE $0xc1 // or r9b, r8b + LONG $0x2444b60f; BYTE $0x60 // movzx eax, byte [rsp + 96] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0x0840; BYTE $0xf8 // or al, dil LONG $0x04e3c041 // shl r11b, 4 - WORD $0x0845; BYTE $0xd3 // or r11b, r10b + WORD $0x0845; BYTE $0xcb // or r11b, r9b LONG $0x05e4c041 // shl r12b, 5 WORD $0x0845; BYTE $0xdc // or r12b, r11b QUAD $0x00000110249c8b4c // mov r11, qword [rsp + 272] @@ -55257,237 +56662,237 @@ LBB10_98: LONG $0x06e7c040 // shl dil, 6 WORD $0xe1c0; BYTE $0x07 // shl cl, 7 WORD $0x0840; BYTE $0xf9 // or cl, dil - WORD $0xd308 // or bl, dl + WORD $0xc308 // or bl, al WORD $0x0844; BYTE $0xe1 // or cl, r12b - QUAD $0x000000802494b60f // movzx edx, byte [rsp + 128] - WORD $0xd200 // add dl, dl - LONG $0x50245402 // add dl, byte [rsp + 80] - WORD $0xd789 // mov edi, edx - QUAD $0x000000882494b60f // movzx edx, byte [rsp + 136] - WORD $0xe2c0; BYTE $0x02 // shl dl, 2 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x48 // movzx edx, byte [rsp + 72] - WORD $0xe2c0; BYTE $0x03 // shl dl, 3 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x58 // movzx edx, byte [rsp + 88] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x68 // movzx edx, byte [rsp + 104] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xfa // or dl, dil + QUAD $0x000000802484b60f // movzx eax, byte [rsp + 128] + WORD $0xc000 // add al, al + LONG $0x50244402 // add al, byte [rsp + 80] + WORD $0xc789 // mov edi, eax + QUAD $0x000000882484b60f // movzx eax, byte [rsp + 136] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x48 // movzx eax, byte [rsp + 72] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x58 // movzx eax, byte [rsp + 88] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x68 // movzx eax, byte [rsp + 104] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0x0840; BYTE $0xf8 // or al, dil WORD $0x8841; BYTE $0x1b // mov byte [r11], bl LONG $0x245cb60f; BYTE $0x40 // movzx ebx, byte [rsp + 64] WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e7c041 // shl r15b, 7 WORD $0x0841; BYTE $0xdf // or r15b, bl LONG $0x014b8841 // mov byte [r11 + 1], cl - WORD $0x0841; BYTE $0xd7 // or r15b, dl - LONG $0x244cb60f; BYTE $0x28 // movzx ecx, byte [rsp + 40] - WORD $0xc900 // add cl, cl - LONG $0x20244c02 // add cl, byte [rsp + 32] - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x30 // movzx ecx, byte [rsp + 48] - WORD $0xe1c0; BYTE $0x02 // shl cl, 2 - WORD $0xd108 // or cl, dl - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x38 // movzx ecx, byte [rsp + 56] - WORD $0xe1c0; BYTE $0x03 // shl cl, 3 - WORD $0xd108 // or cl, dl - WORD $0xca89 // mov edx, ecx - QUAD $0x00000140248cb60f // movzx ecx, byte [rsp + 320] - WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0xd108 // or cl, dl - WORD $0xca89 // mov edx, ecx - QUAD $0x00000120248cb60f // movzx ecx, byte [rsp + 288] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0xd108 // or cl, dl - LONG $0x2454b60f; BYTE $0x1c // movzx edx, byte [rsp + 28] - WORD $0xe2c0; BYTE $0x06 // shl dl, 6 - LONG $0x07e0c041 // shl r8b, 7 - WORD $0x0841; BYTE $0xd0 // or r8b, dl - WORD $0x0841; BYTE $0xc8 // or r8b, cl + WORD $0x0841; BYTE $0xc7 // or r15b, al + LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] + WORD $0xc000 // add al, al + LONG $0x20244402 // add al, byte [rsp + 32] + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x38 // movzx eax, byte [rsp + 56] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax + QUAD $0x000001402484b60f // movzx eax, byte [rsp + 320] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax + QUAD $0x000001202484b60f // movzx eax, byte [rsp + 288] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0xc808 // or al, cl + LONG $0x244cb60f; BYTE $0x1c // movzx ecx, byte [rsp + 28] + WORD $0xe1c0; BYTE $0x06 // shl cl, 6 + WORD $0xe2c0; BYTE $0x07 // shl dl, 7 + WORD $0xca08 // or dl, cl + WORD $0xc208 // or dl, al LONG $0x027b8845 // mov byte [r11 + 2], r15b - LONG $0x03438845 // mov byte [r11 + 3], r8b + LONG $0x03538841 // mov byte [r11 + 3], dl LONG $0x80c68148; WORD $0x0000; BYTE $0x00 // add rsi, 128 LONG $0x04c38349 // add r11, 4 QUAD $0x000000a824848348; BYTE $0xff // add qword [rsp + 168], -1 - JNE LBB10_98 + JNE LBB10_131 WORD $0x894d; BYTE $0xde // mov r14, r11 QUAD $0x0000011824948b4c // mov r10, qword [rsp + 280] QUAD $0x000000b024bc8b4c // mov r15, qword [rsp + 176] LONG $0x05e7c149 // shl r15, 5 WORD $0x394d; BYTE $0xd7 // cmp r15, r10 - JL LBB10_126 - JMP LBB10_175 + JL LBB10_134 + JMP LBB10_194 -LBB10_100: +LBB10_14: WORD $0x894d; BYTE $0xde // mov r14, r11 LONG $0x05e7c149 // shl r15, 5 WORD $0x394d; BYTE $0xd7 // cmp r15, r10 - JGE LBB10_175 + JGE LBB10_194 -LBB10_101: +LBB10_118: WORD $0x894d; BYTE $0xd0 // mov r8, r10 WORD $0x294d; BYTE $0xf8 // sub r8, r15 WORD $0xf749; BYTE $0xd7 // not r15 WORD $0x014d; BYTE $0xd7 // add r15, r10 - JNE LBB10_133 + JNE LBB10_122 WORD $0x3145; BYTE $0xdb // xor r11d, r11d - JMP LBB10_135 + JMP LBB10_120 -LBB10_103: +LBB10_32: WORD $0x894d; BYTE $0xde // mov r14, r11 LONG $0x05e7c149 // shl r15, 5 WORD $0x394d; BYTE $0xd7 // cmp r15, r10 - JGE LBB10_175 + JGE LBB10_194 -LBB10_104: +LBB10_186: WORD $0x894d; BYTE $0xd0 // mov r8, r10 WORD $0x294d; BYTE $0xf8 // sub r8, r15 WORD $0xf749; BYTE $0xd7 // not r15 WORD $0x014d; BYTE $0xd7 // add r15, r10 - JNE LBB10_137 + JNE LBB10_188 WORD $0x3145; BYTE $0xdb // xor r11d, r11d - JMP LBB10_139 + JMP LBB10_190 -LBB10_106: +LBB10_23: WORD $0x894d; BYTE $0xde // mov r14, r11 LONG $0x05e7c149 // shl r15, 5 WORD $0x394d; BYTE $0xd7 // cmp r15, r10 - JGE LBB10_175 + JGE LBB10_194 -LBB10_107: +LBB10_144: WORD $0x894d; BYTE $0xd0 // mov r8, r10 WORD $0x294d; BYTE $0xf8 // sub r8, r15 WORD $0xf749; BYTE $0xd7 // not r15 WORD $0x014d; BYTE $0xd7 // add r15, r10 - JNE LBB10_141 + JNE LBB10_148 WORD $0x3145; BYTE $0xdb // xor r11d, r11d - JMP LBB10_143 + JMP LBB10_146 -LBB10_109: +LBB10_86: WORD $0x894d; BYTE $0xde // mov r14, r11 LONG $0x05e7c149 // shl r15, 5 WORD $0x394d; BYTE $0xd7 // cmp r15, r10 - JGE LBB10_175 + JGE LBB10_194 -LBB10_110: +LBB10_91: WORD $0x894d; BYTE $0xd0 // mov r8, r10 WORD $0x294d; BYTE $0xf8 // sub r8, r15 WORD $0xf749; BYTE $0xd7 // not r15 WORD $0x014d; BYTE $0xd7 // add r15, r10 - JNE LBB10_145 + JNE LBB10_95 WORD $0x3145; BYTE $0xdb // xor r11d, r11d - JMP LBB10_147 + JMP LBB10_93 -LBB10_112: +LBB10_102: WORD $0x894d; BYTE $0xde // mov r14, r11 LONG $0x05e7c149 // shl r15, 5 WORD $0x394d; BYTE $0xd7 // cmp r15, r10 - JGE LBB10_175 + JGE LBB10_194 -LBB10_113: +LBB10_107: WORD $0x894d; BYTE $0xd0 // mov r8, r10 WORD $0x294d; BYTE $0xf8 // sub r8, r15 WORD $0xf749; BYTE $0xd7 // not r15 WORD $0x014d; BYTE $0xd7 // add r15, r10 - JNE LBB10_150 + JNE LBB10_112 WORD $0x3145; BYTE $0xdb // xor r11d, r11d - JMP LBB10_152 + JMP LBB10_109 -LBB10_115: +LBB10_155: WORD $0x894d; BYTE $0xde // mov r14, r11 LONG $0x05e7c149 // shl r15, 5 WORD $0x394d; BYTE $0xd7 // cmp r15, r10 - JGE LBB10_175 + JGE LBB10_194 -LBB10_116: +LBB10_160: WORD $0x894d; BYTE $0xd0 // mov r8, r10 WORD $0x294d; BYTE $0xf8 // sub r8, r15 WORD $0xf749; BYTE $0xd7 // not r15 WORD $0x014d; BYTE $0xd7 // add r15, r10 - JNE LBB10_154 + JNE LBB10_164 WORD $0x3145; BYTE $0xdb // xor r11d, r11d - JMP LBB10_156 + JMP LBB10_162 -LBB10_118: +LBB10_171: WORD $0x894d; BYTE $0xde // mov r14, r11 LONG $0x05e7c149 // shl r15, 5 WORD $0x394d; BYTE $0xd7 // cmp r15, r10 - JGE LBB10_175 + JGE LBB10_194 -LBB10_119: +LBB10_176: WORD $0x894d; BYTE $0xd0 // mov r8, r10 WORD $0x294d; BYTE $0xf8 // sub r8, r15 WORD $0xf749; BYTE $0xd7 // not r15 WORD $0x014d; BYTE $0xd7 // add r15, r10 - JNE LBB10_158 + JNE LBB10_180 WORD $0x3145; BYTE $0xdb // xor r11d, r11d - JMP LBB10_160 + JMP LBB10_178 -LBB10_121: +LBB10_38: QUAD $0x00000168249c894c // mov qword [rsp + 360], r11 WORD $0x8949; BYTE $0xf4 // mov r12, rsi -LBB10_122: +LBB10_49: LONG $0x05e7c149 // shl r15, 5 WORD $0x394d; BYTE $0xd7 // cmp r15, r10 - JGE LBB10_175 + JGE LBB10_194 WORD $0x894d; BYTE $0xd0 // mov r8, r10 WORD $0x294d; BYTE $0xf8 // sub r8, r15 WORD $0xf749; BYTE $0xd7 // not r15 WORD $0x014d; BYTE $0xd7 // add r15, r10 - JNE LBB10_163 + JNE LBB10_52 WORD $0xf631 // xor esi, esi - JMP LBB10_166 + JMP LBB10_55 -LBB10_125: +LBB10_129: WORD $0x894d; BYTE $0xde // mov r14, r11 LONG $0x05e7c149 // shl r15, 5 WORD $0x394d; BYTE $0xd7 // cmp r15, r10 - JGE LBB10_175 + JGE LBB10_194 -LBB10_126: +LBB10_134: WORD $0x894d; BYTE $0xd0 // mov r8, r10 WORD $0x294d; BYTE $0xf8 // sub r8, r15 WORD $0xf749; BYTE $0xd7 // not r15 WORD $0x014d; BYTE $0xd7 // add r15, r10 - JNE LBB10_168 + JNE LBB10_138 WORD $0x3145; BYTE $0xdb // xor r11d, r11d - JMP LBB10_170 + JMP LBB10_136 -LBB10_128: +LBB10_5: WORD $0x894d; BYTE $0xdd // mov r13, r11 LONG $0x05ffc149 // sar r15, 5 LONG $0x20fa8349 // cmp r10, 32 - JGE LBB10_31 + JGE LBB10_63 -LBB10_129: +LBB10_62: QUAD $0x0000016824ac894c // mov qword [rsp + 360], r13 WORD $0x8949; BYTE $0xf4 // mov r12, rsi -LBB10_130: +LBB10_73: LONG $0x05e7c149 // shl r15, 5 WORD $0x394d; BYTE $0xd7 // cmp r15, r10 - JGE LBB10_175 + JGE LBB10_194 WORD $0x894d; BYTE $0xd0 // mov r8, r10 WORD $0x294d; BYTE $0xf8 // sub r8, r15 WORD $0xf749; BYTE $0xd7 // not r15 WORD $0x014d; BYTE $0xd7 // add r15, r10 - JNE LBB10_176 + JNE LBB10_76 WORD $0xf631 // xor esi, esi - JMP LBB10_179 + JMP LBB10_79 -LBB10_133: +LBB10_122: WORD $0x894d; BYTE $0xc1 // mov r9, r8 LONG $0xfee18349 // and r9, -2 WORD $0x3145; BYTE $0xdb // xor r11d, r11d WORD $0x894d; BYTE $0xf7 // mov r15, r14 -LBB10_134: +LBB10_123: WORD $0x3944; BYTE $0x2e // cmp dword [rsi], r13d LONG $0x000000bf; BYTE $0x00 // mov edi, 0 LONG $0xffd78040 // adc dil, -1 @@ -55515,41 +56920,43 @@ LBB10_134: WORD $0xc330 // xor bl, al LONG $0x171c8841 // mov byte [r15 + rdx], bl WORD $0x394d; BYTE $0xd9 // cmp r9, r11 - JNE LBB10_134 + JNE LBB10_123 -LBB10_135: +LBB10_120: LONG $0x01c0f641 // test r8b, 1 - JE LBB10_175 + JE LBB10_194 WORD $0xc031 // xor eax, eax WORD $0x3944; BYTE $0x2e // cmp dword [rsi], r13d - JMP LBB10_149 + JMP LBB10_192 -LBB10_137: +LBB10_188: WORD $0x894d; BYTE $0xc2 // mov r10, r8 LONG $0xfee28349 // and r10, -2 WORD $0x3145; BYTE $0xdb // xor r11d, r11d WORD $0x894d; BYTE $0xf7 // mov r15, r14 -LBB10_138: - LONG $0x062ef9c5 // vucomisd xmm0, qword [rsi] - WORD $0x960f; BYTE $0xd0 // setbe al - WORD $0xd8f6 // neg al +LBB10_189: + LONG $0x0e10fbc5 // vmovsd xmm1, qword [rsi] + LONG $0xc82ef9c5 // vucomisd xmm1, xmm0 + LONG $0x000000b8; BYTE $0x00 // mov eax, 0 + WORD $0xff14 // adc al, -1 WORD $0x894c; BYTE $0xdf // mov rdi, r11 LONG $0x03efc148 // shr rdi, 3 LONG $0x0cb60f45; BYTE $0x3f // movzx r9d, byte [r15 + rdi] + WORD $0x3044; BYTE $0xc8 // xor al, r9b WORD $0x8944; BYTE $0xd9 // mov ecx, r11d WORD $0xe180; BYTE $0x06 // and cl, 6 WORD $0x01b3 // mov bl, 1 WORD $0xe3d2 // shl bl, cl - WORD $0x3044; BYTE $0xc8 // xor al, r9b WORD $0xc320 // and bl, al WORD $0x3044; BYTE $0xcb // xor bl, r9b LONG $0x3f1c8841 // mov byte [r15 + rdi], bl LONG $0x02c38349 // add r11, 2 - LONG $0x462ef9c5; BYTE $0x08 // vucomisd xmm0, qword [rsi + 8] - WORD $0x960f; BYTE $0xd0 // setbe al + LONG $0x4e10fbc5; BYTE $0x08 // vmovsd xmm1, qword [rsi + 8] LONG $0x10c68348 // add rsi, 16 - WORD $0xd8f6 // neg al + LONG $0xc82ef9c5 // vucomisd xmm1, xmm0 + LONG $0x000000b8; BYTE $0x00 // mov eax, 0 + WORD $0xff14 // adc al, -1 WORD $0xd830 // xor al, bl WORD $0xc980; BYTE $0x01 // or cl, 1 WORD $0x01b2 // mov dl, 1 @@ -55558,21 +56965,23 @@ LBB10_138: WORD $0xda30 // xor dl, bl LONG $0x3f148841 // mov byte [r15 + rdi], dl WORD $0x394d; BYTE $0xda // cmp r10, r11 - JNE LBB10_138 + JNE LBB10_189 -LBB10_139: +LBB10_190: LONG $0x01c0f641 // test r8b, 1 - JE LBB10_175 - LONG $0x062ef9c5 // vucomisd xmm0, qword [rsi] - JMP LBB10_162 + JE LBB10_194 + LONG $0x0e10fbc5 // vmovsd xmm1, qword [rsi] + WORD $0xc031 // xor eax, eax + LONG $0xc82ef9c5 // vucomisd xmm1, xmm0 + JMP LBB10_192 -LBB10_141: +LBB10_148: WORD $0x894d; BYTE $0xc1 // mov r9, r8 LONG $0xfee18349 // and r9, -2 WORD $0x3145; BYTE $0xdb // xor r11d, r11d WORD $0x894d; BYTE $0xf7 // mov r15, r14 -LBB10_142: +LBB10_149: WORD $0x394c; BYTE $0x2e // cmp qword [rsi], r13 LONG $0x000000bf; BYTE $0x00 // mov edi, 0 LONG $0xffd78040 // adc dil, -1 @@ -55600,22 +57009,22 @@ LBB10_142: WORD $0xc330 // xor bl, al LONG $0x171c8841 // mov byte [r15 + rdx], bl WORD $0x394d; BYTE $0xd9 // cmp r9, r11 - JNE LBB10_142 + JNE LBB10_149 -LBB10_143: +LBB10_146: LONG $0x01c0f641 // test r8b, 1 - JE LBB10_175 + JE LBB10_194 WORD $0xc031 // xor eax, eax WORD $0x394c; BYTE $0x2e // cmp qword [rsi], r13 - JMP LBB10_149 + JMP LBB10_192 -LBB10_145: +LBB10_95: WORD $0x894d; BYTE $0xc1 // mov r9, r8 LONG $0xfee18349 // and r9, -2 WORD $0x3145; BYTE $0xdb // xor r11d, r11d WORD $0x894d; BYTE $0xf7 // mov r15, r14 -LBB10_146: +LBB10_96: LONG $0x2e394466 // cmp word [rsi], r13w LONG $0x000000bf; BYTE $0x00 // mov edi, 0 LONG $0xffd78040 // adc dil, -1 @@ -55643,34 +57052,22 @@ LBB10_146: WORD $0xc330 // xor bl, al LONG $0x171c8841 // mov byte [r15 + rdx], bl WORD $0x394d; BYTE $0xd9 // cmp r9, r11 - JNE LBB10_146 + JNE LBB10_96 -LBB10_147: +LBB10_93: LONG $0x01c0f641 // test r8b, 1 - JE LBB10_175 + JE LBB10_194 WORD $0xc031 // xor eax, eax LONG $0x2e394466 // cmp word [rsi], r13w + JMP LBB10_192 -LBB10_149: - WORD $0xff14 // adc al, -1 - WORD $0x894c; BYTE $0xda // mov rdx, r11 - LONG $0x03eac148 // shr rdx, 3 - LONG $0x16348a41 // mov sil, byte [r14 + rdx] - LONG $0x07e38041 // and r11b, 7 - WORD $0x01b3 // mov bl, 1 - WORD $0x8944; BYTE $0xd9 // mov ecx, r11d - WORD $0xe3d2 // shl bl, cl - WORD $0x3040; BYTE $0xf0 // xor al, sil - WORD $0xc320 // and bl, al - JMP LBB10_174 - -LBB10_150: +LBB10_112: WORD $0x894d; BYTE $0xc2 // mov r10, r8 LONG $0xfee28349 // and r10, -2 WORD $0x3145; BYTE $0xdb // xor r11d, r11d WORD $0x894d; BYTE $0xf7 // mov r15, r14 -LBB10_151: +LBB10_113: LONG $0x2e394466 // cmp word [rsi], r13w WORD $0x9d0f; BYTE $0xd0 // setge al WORD $0xd8f6 // neg al @@ -55698,21 +57095,21 @@ LBB10_151: WORD $0xda30 // xor dl, bl LONG $0x3f148841 // mov byte [r15 + rdi], dl WORD $0x394d; BYTE $0xda // cmp r10, r11 - JNE LBB10_151 + JNE LBB10_113 -LBB10_152: +LBB10_109: LONG $0x01c0f641 // test r8b, 1 - JE LBB10_175 + JE LBB10_194 LONG $0x2e394466 // cmp word [rsi], r13w - JMP LBB10_172 + JMP LBB10_111 -LBB10_154: +LBB10_164: WORD $0x894d; BYTE $0xc2 // mov r10, r8 LONG $0xfee28349 // and r10, -2 WORD $0x3145; BYTE $0xdb // xor r11d, r11d WORD $0x894d; BYTE $0xf7 // mov r15, r14 -LBB10_155: +LBB10_165: WORD $0x394c; BYTE $0x2e // cmp qword [rsi], r13 WORD $0x9d0f; BYTE $0xd0 // setge al WORD $0xd8f6 // neg al @@ -55740,40 +57137,42 @@ LBB10_155: WORD $0xda30 // xor dl, bl LONG $0x3f148841 // mov byte [r15 + rdi], dl WORD $0x394d; BYTE $0xda // cmp r10, r11 - JNE LBB10_155 + JNE LBB10_165 -LBB10_156: +LBB10_162: LONG $0x01c0f641 // test r8b, 1 - JE LBB10_175 + JE LBB10_194 WORD $0x394c; BYTE $0x2e // cmp qword [rsi], r13 - JMP LBB10_172 + JMP LBB10_111 -LBB10_158: +LBB10_180: WORD $0x894d; BYTE $0xc2 // mov r10, r8 LONG $0xfee28349 // and r10, -2 WORD $0x3145; BYTE $0xdb // xor r11d, r11d WORD $0x894d; BYTE $0xf7 // mov r15, r14 -LBB10_159: - LONG $0x062ef8c5 // vucomiss xmm0, dword [rsi] - WORD $0x960f; BYTE $0xd0 // setbe al - WORD $0xd8f6 // neg al +LBB10_181: + LONG $0x0e10fac5 // vmovss xmm1, dword [rsi] + LONG $0xc82ef8c5 // vucomiss xmm1, xmm0 + LONG $0x000000b8; BYTE $0x00 // mov eax, 0 + WORD $0xff14 // adc al, -1 WORD $0x894c; BYTE $0xdf // mov rdi, r11 LONG $0x03efc148 // shr rdi, 3 LONG $0x0cb60f45; BYTE $0x3f // movzx r9d, byte [r15 + rdi] + WORD $0x3044; BYTE $0xc8 // xor al, r9b WORD $0x8944; BYTE $0xd9 // mov ecx, r11d WORD $0xe180; BYTE $0x06 // and cl, 6 WORD $0x01b3 // mov bl, 1 WORD $0xe3d2 // shl bl, cl - WORD $0x3044; BYTE $0xc8 // xor al, r9b WORD $0xc320 // and bl, al WORD $0x3044; BYTE $0xcb // xor bl, r9b LONG $0x3f1c8841 // mov byte [r15 + rdi], bl LONG $0x02c38349 // add r11, 2 - LONG $0x462ef8c5; BYTE $0x04 // vucomiss xmm0, dword [rsi + 4] - WORD $0x960f; BYTE $0xd0 // setbe al + LONG $0x4e10fac5; BYTE $0x04 // vmovss xmm1, dword [rsi + 4] LONG $0x08c68348 // add rsi, 8 - WORD $0xd8f6 // neg al + LONG $0xc82ef8c5 // vucomiss xmm1, xmm0 + LONG $0x000000b8; BYTE $0x00 // mov eax, 0 + WORD $0xff14 // adc al, -1 WORD $0xd830 // xor al, bl WORD $0xc980; BYTE $0x01 // or cl, 1 WORD $0x01b2 // mov dl, 1 @@ -55782,24 +57181,35 @@ LBB10_159: WORD $0xda30 // xor dl, bl LONG $0x3f148841 // mov byte [r15 + rdi], dl WORD $0x394d; BYTE $0xda // cmp r10, r11 - JNE LBB10_159 + JNE LBB10_181 -LBB10_160: +LBB10_178: LONG $0x01c0f641 // test r8b, 1 - JE LBB10_175 - LONG $0x062ef8c5 // vucomiss xmm0, dword [rsi] + JE LBB10_194 + LONG $0x0e10fac5 // vmovss xmm1, dword [rsi] + WORD $0xc031 // xor eax, eax + LONG $0xc82ef8c5 // vucomiss xmm1, xmm0 -LBB10_162: - WORD $0x960f; BYTE $0xd0 // setbe al - JMP LBB10_173 +LBB10_192: + WORD $0xff14 // adc al, -1 + WORD $0x894c; BYTE $0xda // mov rdx, r11 + LONG $0x03eac148 // shr rdx, 3 + LONG $0x16348a41 // mov sil, byte [r14 + rdx] + LONG $0x07e38041 // and r11b, 7 + WORD $0x01b3 // mov bl, 1 + WORD $0x8944; BYTE $0xd9 // mov ecx, r11d + WORD $0xe3d2 // shl bl, cl + WORD $0x3040; BYTE $0xf0 // xor al, sil + WORD $0xc320 // and bl, al + JMP LBB10_193 -LBB10_163: +LBB10_52: WORD $0x894d; BYTE $0xc2 // mov r10, r8 LONG $0xfee28349 // and r10, -2 WORD $0xf631 // xor esi, esi QUAD $0x00000168249c8b4c // mov r11, qword [rsp + 360] -LBB10_164: +LBB10_53: LONG $0x34343845 // cmp byte [r12 + rsi], r14b LONG $0x000000bb; BYTE $0x00 // mov ebx, 0 WORD $0xd380; BYTE $0xff // adc bl, -1 @@ -55826,12 +57236,12 @@ LBB10_164: WORD $0xd030 // xor al, dl LONG $0x3b048841 // mov byte [r11 + rdi], al WORD $0x3949; BYTE $0xf2 // cmp r10, rsi - JNE LBB10_164 + JNE LBB10_53 WORD $0x0149; BYTE $0xf4 // add r12, rsi -LBB10_166: +LBB10_55: LONG $0x01c0f641 // test r8b, 1 - JE LBB10_175 + JE LBB10_194 WORD $0xc031 // xor eax, eax LONG $0x24343845 // cmp byte [r12], r14b WORD $0xff14 // adc al, -1 @@ -55845,15 +57255,15 @@ LBB10_166: WORD $0xe3d2 // shl bl, cl WORD $0x3040; BYTE $0xf8 // xor al, dil WORD $0xc320 // and bl, al - JMP LBB10_181 + JMP LBB10_57 -LBB10_168: +LBB10_138: WORD $0x894d; BYTE $0xc2 // mov r10, r8 LONG $0xfee28349 // and r10, -2 WORD $0x3145; BYTE $0xdb // xor r11d, r11d WORD $0x894d; BYTE $0xf7 // mov r15, r14 -LBB10_169: +LBB10_139: WORD $0x3944; BYTE $0x2e // cmp dword [rsi], r13d WORD $0x9d0f; BYTE $0xd0 // setge al WORD $0xd8f6 // neg al @@ -55881,17 +57291,15 @@ LBB10_169: WORD $0xda30 // xor dl, bl LONG $0x3f148841 // mov byte [r15 + rdi], dl WORD $0x394d; BYTE $0xda // cmp r10, r11 - JNE LBB10_169 + JNE LBB10_139 -LBB10_170: +LBB10_136: LONG $0x01c0f641 // test r8b, 1 - JE LBB10_175 + JE LBB10_194 WORD $0x3944; BYTE $0x2e // cmp dword [rsi], r13d -LBB10_172: +LBB10_111: WORD $0x9d0f; BYTE $0xd0 // setge al - -LBB10_173: WORD $0xd8f6 // neg al WORD $0x894c; BYTE $0xda // mov rdx, r11 LONG $0x03eac148 // shr rdx, 3 @@ -55903,22 +57311,22 @@ LBB10_173: WORD $0x3040; BYTE $0xf0 // xor al, sil WORD $0xc320 // and bl, al -LBB10_174: +LBB10_193: WORD $0x3040; BYTE $0xf3 // xor bl, sil LONG $0x161c8841 // mov byte [r14 + rdx], bl -LBB10_175: +LBB10_194: MOVQ 1344(SP), SP VZEROUPPER RET -LBB10_176: +LBB10_76: WORD $0x894d; BYTE $0xc2 // mov r10, r8 LONG $0xfee28349 // and r10, -2 WORD $0xf631 // xor esi, esi QUAD $0x00000168249c8b4c // mov r11, qword [rsp + 360] -LBB10_177: +LBB10_77: LONG $0x34343845 // cmp byte [r12 + rsi], r14b WORD $0x9d0f; BYTE $0xd3 // setge bl WORD $0xdbf6 // neg bl @@ -55945,12 +57353,12 @@ LBB10_177: WORD $0xd030 // xor al, dl LONG $0x3b048841 // mov byte [r11 + rdi], al WORD $0x3949; BYTE $0xf2 // cmp r10, rsi - JNE LBB10_177 + JNE LBB10_77 WORD $0x0149; BYTE $0xf4 // add r12, rsi -LBB10_179: +LBB10_79: LONG $0x01c0f641 // test r8b, 1 - JE LBB10_175 + JE LBB10_194 LONG $0x24343845 // cmp byte [r12], r14b WORD $0x9d0f; BYTE $0xd0 // setge al WORD $0xd8f6 // neg al @@ -55965,12 +57373,12 @@ LBB10_179: WORD $0x3040; BYTE $0xf8 // xor al, dil WORD $0xc320 // and bl, al -LBB10_181: +LBB10_57: WORD $0x3040; BYTE $0xfb // xor bl, dil LONG $0x101c8841 // mov byte [r8 + rdx], bl - JMP LBB10_175 + JMP LBB10_194 -LBB10_182: +LBB10_67: LONG $0xe0e78349 // and r15, -32 WORD $0x894c; BYTE $0xf8 // mov rax, r15 LONG $0x05e0c148 // shl rax, 5 @@ -55986,7 +57394,7 @@ LBB10_182: WORD $0xc031 // xor eax, eax QUAD $0x0000011024ac894c // mov qword [rsp + 272], r13 -LBB10_183: +LBB10_68: WORD $0x8948; BYTE $0xc3 // mov rbx, rax QUAD $0x0000017824848948 // mov qword [rsp + 376], rax LONG $0x05e3c148 // shl rbx, 5 @@ -58077,16 +59485,16 @@ LBB10_183: LONG $0x20c18348 // add rcx, 32 WORD $0x8948; BYTE $0xc8 // mov rax, rcx QUAD $0x000001a0248c3b48 // cmp rcx, qword [rsp + 416] - JNE LBB10_183 + JNE LBB10_68 QUAD $0x0000026024bc8b4c // mov r15, qword [rsp + 608] QUAD $0x000001a024bc3b4c // cmp r15, qword [rsp + 416] QUAD $0x0000011824948b4c // mov r10, qword [rsp + 280] LONG $0x24748b44; BYTE $0x1c // mov r14d, dword [rsp + 28] QUAD $0x0000017024a48b4c // mov r12, qword [rsp + 368] - JNE LBB10_35 - JMP LBB10_130 + JNE LBB10_70 + JMP LBB10_73 -LBB10_185: +LBB10_43: LONG $0xe0e78349 // and r15, -32 WORD $0x894c; BYTE $0xf8 // mov rax, r15 LONG $0x05e0c148 // shl rax, 5 @@ -58101,7 +59509,7 @@ LBB10_185: WORD $0xc031 // xor eax, eax QUAD $0x00000110249c894c // mov qword [rsp + 272], r11 -LBB10_186: +LBB10_44: WORD $0x8948; BYTE $0xc3 // mov rbx, rax QUAD $0x0000017824848948 // mov qword [rsp + 376], rax LONG $0x05e3c148 // shl rbx, 5 @@ -60238,14 +61646,14 @@ LBB10_186: LONG $0x20c18348 // add rcx, 32 WORD $0x8948; BYTE $0xc8 // mov rax, rcx QUAD $0x00000180248c3b48 // cmp rcx, qword [rsp + 384] - JNE LBB10_186 + JNE LBB10_44 QUAD $0x0000017024bc8b4c // mov r15, qword [rsp + 368] QUAD $0x0000018024bc3b4c // cmp r15, qword [rsp + 384] QUAD $0x0000011824948b4c // mov r10, qword [rsp + 280] LONG $0x24748b44; BYTE $0x1c // mov r14d, dword [rsp + 28] QUAD $0x0000021824a48b4c // mov r12, qword [rsp + 536] - JNE LBB10_89 - JMP LBB10_122 + JNE LBB10_46 + JMP LBB10_49 DATA LCDATA8<>+0x000(SB)/8, $0x0202020202020202 DATA LCDATA8<>+0x008(SB)/8, $0x0202020202020202 diff --git a/arrow/compute/internal/kernels/scalar_comparison_sse4_amd64.s b/arrow/compute/internal/kernels/scalar_comparison_sse4_amd64.s index 00fdac38..635738a7 100644 --- a/arrow/compute/internal/kernels/scalar_comparison_sse4_amd64.s +++ b/arrow/compute/internal/kernels/scalar_comparison_sse4_amd64.s @@ -1,4 +1,4 @@ -//go:build go1.18 && !noasm && !appengine +//+build !noasm !appengine // AUTO-GENERATED BY C2GOASM -- DO NOT EDIT TEXT ·_comparison_equal_arr_arr_sse4(SB), $80-48 @@ -11,8 +11,9 @@ TEXT ·_comparison_equal_arr_arr_sse4(SB), $80-48 MOVQ offset+40(FP), R9 ADDQ $8, SP - WORD $0x894d; BYTE $0xc3 // mov r11, r8 - WORD $0x8949; BYTE $0xce // mov r14, rcx + WORD $0x8944; BYTE $0xc8 // mov eax, r9d + WORD $0x894d; BYTE $0xc6 // mov r14, r8 + WORD $0x8949; BYTE $0xcc // mov r12, rcx WORD $0xff83; BYTE $0x06 // cmp edi, 6 JG LBB0_29 WORD $0xff83; BYTE $0x03 // cmp edi, 3 @@ -23,16 +24,16 @@ TEXT ·_comparison_equal_arr_arr_sse4(SB), $80-48 JE LBB0_79 WORD $0xff83; BYTE $0x06 // cmp edi, 6 JNE LBB0_123 - LONG $0x1f7b8d4d // lea r15, [r11 + 31] - WORD $0x854d; BYTE $0xdb // test r11, r11 - LONG $0xfb490f4d // cmovns r15, r11 - LONG $0x07418d41 // lea eax, [r9 + 7] - WORD $0x8545; BYTE $0xc9 // test r9d, r9d - LONG $0xc1490f41 // cmovns eax, r9d - WORD $0xe083; BYTE $0xf8 // and eax, -8 - WORD $0x2941; BYTE $0xc1 // sub r9d, eax + LONG $0x1f7e8d4d // lea r15, [r14 + 31] + WORD $0x854d; BYTE $0xf6 // test r14, r14 + LONG $0xfe490f4d // cmovns r15, r14 + WORD $0x488d; BYTE $0x07 // lea ecx, [rax + 7] + WORD $0xc085 // test eax, eax + WORD $0x490f; BYTE $0xc8 // cmovns ecx, eax + WORD $0xe183; BYTE $0xf8 // and ecx, -8 + WORD $0xc829 // sub eax, ecx JE LBB0_22 - WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d + WORD $0x9848 // cdqe LBB0_20: WORD $0x0e8b // mov ecx, dword [rsi] @@ -45,7 +46,7 @@ LBB0_20: WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xf8490f48 // cmovns rdi, rax LONG $0x03ffc148 // sar rdi, 3 - LONG $0x04b60f45; BYTE $0x3e // movzx r8d, byte [r14 + rdi] + LONG $0x04b60f45; BYTE $0x3c // movzx r8d, byte [r12 + rdi] WORD $0x3045; BYTE $0xc2 // xor r10b, r8b QUAD $0x00000000fd0c8d44 // lea r9d, [8*rdi] WORD $0xc189 // mov ecx, eax @@ -54,49 +55,49 @@ LBB0_20: WORD $0xe3d3 // shl ebx, cl WORD $0x2044; BYTE $0xd3 // and bl, r10b WORD $0x3044; BYTE $0xc3 // xor bl, r8b - LONG $0x3e1c8841 // mov byte [r14 + rdi], bl + LONG $0x3c1c8841 // mov byte [r12 + rdi], bl LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 JNE LBB0_20 - LONG $0x01c68349 // add r14, 1 + LONG $0x01c48349 // add r12, 1 LBB0_22: LONG $0x05ffc149 // sar r15, 5 - LONG $0x20fb8349 // cmp r11, 32 + LONG $0x20fe8349 // cmp r14, 32 JL LBB0_26 - LONG $0x245c894c; BYTE $0x18 // mov qword [rsp + 24], r11 - LONG $0x247c894c; BYTE $0x40 // mov qword [rsp + 64], r15 + LONG $0x2474894c; BYTE $0x18 // mov qword [rsp + 24], r14 LONG $0x247c894c; BYTE $0x38 // mov qword [rsp + 56], r15 + LONG $0x247c894c; BYTE $0x20 // mov qword [rsp + 32], r15 LBB0_24: - LONG $0x2474894c; BYTE $0x30 // mov qword [rsp + 48], r14 + LONG $0x2464894c; BYTE $0x30 // mov qword [rsp + 48], r12 WORD $0x068b // mov eax, dword [rsi] WORD $0x4e8b; BYTE $0x04 // mov ecx, dword [rsi + 4] WORD $0x023b // cmp eax, dword [rdx] - LONG $0x2454940f; BYTE $0x28 // sete byte [rsp + 40] + LONG $0x2454940f; BYTE $0x04 // sete byte [rsp + 4] WORD $0x4a3b; BYTE $0x04 // cmp ecx, dword [rdx + 4] - LONG $0x2454940f; BYTE $0x20 // sete byte [rsp + 32] + LONG $0x2454940f; BYTE $0x28 // sete byte [rsp + 40] WORD $0x468b; BYTE $0x08 // mov eax, dword [rsi + 8] WORD $0x423b; BYTE $0x08 // cmp eax, dword [rdx + 8] - LONG $0x2454940f; BYTE $0x14 // sete byte [rsp + 20] + LONG $0x2454940f; BYTE $0x15 // sete byte [rsp + 21] WORD $0x468b; BYTE $0x0c // mov eax, dword [rsi + 12] WORD $0x423b; BYTE $0x0c // cmp eax, dword [rdx + 12] - LONG $0x2454940f; BYTE $0x15 // sete byte [rsp + 21] + LONG $0x2454940f; BYTE $0x16 // sete byte [rsp + 22] WORD $0x468b; BYTE $0x10 // mov eax, dword [rsi + 16] WORD $0x423b; BYTE $0x10 // cmp eax, dword [rdx + 16] - LONG $0x2454940f; BYTE $0x16 // sete byte [rsp + 22] + LONG $0x2454940f; BYTE $0x17 // sete byte [rsp + 23] WORD $0x468b; BYTE $0x14 // mov eax, dword [rsi + 20] WORD $0x423b; BYTE $0x14 // cmp eax, dword [rdx + 20] - LONG $0x2454940f; BYTE $0x17 // sete byte [rsp + 23] + LONG $0x2454940f; BYTE $0x03 // sete byte [rsp + 3] WORD $0x468b; BYTE $0x18 // mov eax, dword [rsi + 24] WORD $0x423b; BYTE $0x18 // cmp eax, dword [rdx + 24] - LONG $0x2454940f; BYTE $0x04 // sete byte [rsp + 4] + LONG $0x2454940f; BYTE $0x05 // sete byte [rsp + 5] WORD $0x468b; BYTE $0x1c // mov eax, dword [rsi + 28] WORD $0x423b; BYTE $0x1c // cmp eax, dword [rdx + 28] LONG $0xd5940f41 // sete r13b WORD $0x468b; BYTE $0x20 // mov eax, dword [rsi + 32] WORD $0x423b; BYTE $0x20 // cmp eax, dword [rdx + 32] - LONG $0x2454940f; BYTE $0x09 // sete byte [rsp + 9] + LONG $0x2454940f; BYTE $0x0a // sete byte [rsp + 10] WORD $0x468b; BYTE $0x24 // mov eax, dword [rsi + 36] WORD $0x423b; BYTE $0x24 // cmp eax, dword [rdx + 36] LONG $0xd0940f41 // sete r8b @@ -108,165 +109,165 @@ LBB0_24: LONG $0xd7940f41 // sete r15b WORD $0x468b; BYTE $0x30 // mov eax, dword [rsi + 48] WORD $0x423b; BYTE $0x30 // cmp eax, dword [rdx + 48] - LONG $0x2454940f; BYTE $0x05 // sete byte [rsp + 5] + LONG $0x2454940f; BYTE $0x06 // sete byte [rsp + 6] WORD $0x468b; BYTE $0x34 // mov eax, dword [rsi + 52] WORD $0x423b; BYTE $0x34 // cmp eax, dword [rdx + 52] - LONG $0x2454940f; BYTE $0x06 // sete byte [rsp + 6] + LONG $0x2454940f; BYTE $0x07 // sete byte [rsp + 7] WORD $0x468b; BYTE $0x38 // mov eax, dword [rsi + 56] WORD $0x423b; BYTE $0x38 // cmp eax, dword [rdx + 56] - LONG $0x2454940f; BYTE $0x07 // sete byte [rsp + 7] + LONG $0x2454940f; BYTE $0x08 // sete byte [rsp + 8] WORD $0x468b; BYTE $0x3c // mov eax, dword [rsi + 60] WORD $0x423b; BYTE $0x3c // cmp eax, dword [rdx + 60] - WORD $0x940f; BYTE $0xd3 // sete bl + LONG $0xd7940f40 // sete dil WORD $0x468b; BYTE $0x40 // mov eax, dword [rsi + 64] - WORD $0x4e8b; BYTE $0x44 // mov ecx, dword [rsi + 68] + WORD $0x5e8b; BYTE $0x44 // mov ebx, dword [rsi + 68] WORD $0x423b; BYTE $0x40 // cmp eax, dword [rdx + 64] WORD $0x468b; BYTE $0x48 // mov eax, dword [rsi + 72] - LONG $0x2454940f; BYTE $0x0a // sete byte [rsp + 10] - WORD $0x4a3b; BYTE $0x44 // cmp ecx, dword [rdx + 68] - WORD $0x4e8b; BYTE $0x4c // mov ecx, dword [rsi + 76] + LONG $0x2454940f; BYTE $0x0b // sete byte [rsp + 11] + WORD $0x5a3b; BYTE $0x44 // cmp ebx, dword [rdx + 68] + WORD $0x5e8b; BYTE $0x4c // mov ebx, dword [rsi + 76] LONG $0xd2940f41 // sete r10b WORD $0x423b; BYTE $0x48 // cmp eax, dword [rdx + 72] WORD $0x468b; BYTE $0x50 // mov eax, dword [rsi + 80] LONG $0xd6940f41 // sete r14b - WORD $0x4a3b; BYTE $0x4c // cmp ecx, dword [rdx + 76] - WORD $0x4e8b; BYTE $0x54 // mov ecx, dword [rsi + 84] + WORD $0x5a3b; BYTE $0x4c // cmp ebx, dword [rdx + 76] + WORD $0x5e8b; BYTE $0x54 // mov ebx, dword [rsi + 84] LONG $0xd4940f41 // sete r12b WORD $0x423b; BYTE $0x50 // cmp eax, dword [rdx + 80] - LONG $0x2454940f; BYTE $0x08 // sete byte [rsp + 8] - WORD $0x4a3b; BYTE $0x54 // cmp ecx, dword [rdx + 84] + LONG $0x2454940f; BYTE $0x09 // sete byte [rsp + 9] + WORD $0x5a3b; BYTE $0x54 // cmp ebx, dword [rdx + 84] WORD $0x468b; BYTE $0x58 // mov eax, dword [rsi + 88] - LONG $0x2454940f; BYTE $0x0b // sete byte [rsp + 11] + LONG $0x2454940f; BYTE $0x0c // sete byte [rsp + 12] WORD $0x423b; BYTE $0x58 // cmp eax, dword [rdx + 88] WORD $0x468b; BYTE $0x5c // mov eax, dword [rsi + 92] - LONG $0x2454940f; BYTE $0x0c // sete byte [rsp + 12] + LONG $0x2454940f; BYTE $0x0d // sete byte [rsp + 13] WORD $0x423b; BYTE $0x5c // cmp eax, dword [rdx + 92] WORD $0x468b; BYTE $0x60 // mov eax, dword [rsi + 96] LONG $0xd1940f41 // sete r9b WORD $0x423b; BYTE $0x60 // cmp eax, dword [rdx + 96] WORD $0x468b; BYTE $0x64 // mov eax, dword [rsi + 100] - LONG $0x2454940f; BYTE $0x13 // sete byte [rsp + 19] + LONG $0x2454940f; BYTE $0x14 // sete byte [rsp + 20] WORD $0x423b; BYTE $0x64 // cmp eax, dword [rdx + 100] WORD $0x468b; BYTE $0x68 // mov eax, dword [rsi + 104] - LONG $0x2454940f; BYTE $0x0d // sete byte [rsp + 13] + LONG $0x2454940f; BYTE $0x0e // sete byte [rsp + 14] WORD $0x423b; BYTE $0x68 // cmp eax, dword [rdx + 104] WORD $0x468b; BYTE $0x6c // mov eax, dword [rsi + 108] - LONG $0x2454940f; BYTE $0x0e // sete byte [rsp + 14] + LONG $0x2454940f; BYTE $0x0f // sete byte [rsp + 15] WORD $0x423b; BYTE $0x6c // cmp eax, dword [rdx + 108] WORD $0x468b; BYTE $0x70 // mov eax, dword [rsi + 112] - LONG $0x2454940f; BYTE $0x0f // sete byte [rsp + 15] + LONG $0x2454940f; BYTE $0x10 // sete byte [rsp + 16] WORD $0x423b; BYTE $0x70 // cmp eax, dword [rdx + 112] WORD $0x468b; BYTE $0x74 // mov eax, dword [rsi + 116] - LONG $0x2454940f; BYTE $0x10 // sete byte [rsp + 16] + LONG $0x2454940f; BYTE $0x11 // sete byte [rsp + 17] WORD $0x423b; BYTE $0x74 // cmp eax, dword [rdx + 116] WORD $0x468b; BYTE $0x78 // mov eax, dword [rsi + 120] - LONG $0x2454940f; BYTE $0x12 // sete byte [rsp + 18] + LONG $0x2454940f; BYTE $0x13 // sete byte [rsp + 19] WORD $0x423b; BYTE $0x78 // cmp eax, dword [rdx + 120] WORD $0x468b; BYTE $0x7c // mov eax, dword [rsi + 124] - LONG $0x2454940f; BYTE $0x11 // sete byte [rsp + 17] + LONG $0x2454940f; BYTE $0x12 // sete byte [rsp + 18] LONG $0x80ee8348 // sub rsi, -128 WORD $0x423b; BYTE $0x7c // cmp eax, dword [rdx + 124] - LONG $0xd7940f40 // sete dil - LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] + WORD $0x940f; BYTE $0xd1 // sete cl + LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] WORD $0xc000 // add al, al - LONG $0x28244402 // add al, byte [rsp + 40] - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x04 // movzx eax, byte [rsp + 4] + LONG $0x04244402 // add al, byte [rsp + 4] + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x05 // movzx eax, byte [rsp + 5] WORD $0xe0c0; BYTE $0x06 // shl al, 6 LONG $0x07e5c041 // shl r13b, 7 WORD $0x0841; BYTE $0xc5 // or r13b, al - LONG $0x2444b60f; BYTE $0x14 // movzx eax, byte [rsp + 20] + LONG $0x2444b60f; BYTE $0x15 // movzx eax, byte [rsp + 21] WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xc808 // or al, cl + WORD $0xd808 // or al, bl WORD $0x0045; BYTE $0xc0 // add r8b, r8b - LONG $0x24440244; BYTE $0x09 // add r8b, byte [rsp + 9] - LONG $0x244cb60f; BYTE $0x15 // movzx ecx, byte [rsp + 21] - WORD $0xe1c0; BYTE $0x03 // shl cl, 3 - WORD $0xc108 // or cl, al - WORD $0xc889 // mov eax, ecx + LONG $0x24440244; BYTE $0x0a // add r8b, byte [rsp + 10] + LONG $0x245cb60f; BYTE $0x16 // movzx ebx, byte [rsp + 22] + WORD $0xe3c0; BYTE $0x03 // shl bl, 3 + WORD $0xc308 // or bl, al + WORD $0xd889 // mov eax, ebx LONG $0x02e3c041 // shl r11b, 2 WORD $0x0845; BYTE $0xc3 // or r11b, r8b - LONG $0x244cb60f; BYTE $0x16 // movzx ecx, byte [rsp + 22] - WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0xc108 // or cl, al - WORD $0x8941; BYTE $0xc8 // mov r8d, ecx + LONG $0x245cb60f; BYTE $0x17 // movzx ebx, byte [rsp + 23] + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0xc308 // or bl, al + WORD $0x8941; BYTE $0xd8 // mov r8d, ebx LONG $0x03e7c041 // shl r15b, 3 WORD $0x0845; BYTE $0xdf // or r15b, r11b - LONG $0x244cb60f; BYTE $0x17 // movzx ecx, byte [rsp + 23] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0x0844; BYTE $0xc1 // or cl, r8b - LONG $0x2444b60f; BYTE $0x05 // movzx eax, byte [rsp + 5] + LONG $0x245cb60f; BYTE $0x03 // movzx ebx, byte [rsp + 3] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + WORD $0x0844; BYTE $0xc3 // or bl, r8b + LONG $0x2444b60f; BYTE $0x06 // movzx eax, byte [rsp + 6] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0x0844; BYTE $0xf8 // or al, r15b WORD $0x8941; BYTE $0xc0 // mov r8d, eax - LONG $0x2444b60f; BYTE $0x06 // movzx eax, byte [rsp + 6] + LONG $0x2444b60f; BYTE $0x07 // movzx eax, byte [rsp + 7] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0x0844; BYTE $0xc0 // or al, r8b - LONG $0x44b60f44; WORD $0x0724 // movzx r8d, byte [rsp + 7] + LONG $0x44b60f44; WORD $0x0824 // movzx r8d, byte [rsp + 8] LONG $0x06e0c041 // shl r8b, 6 - WORD $0xe3c0; BYTE $0x07 // shl bl, 7 - WORD $0x0844; BYTE $0xc3 // or bl, r8b - WORD $0x0841; BYTE $0xcd // or r13b, cl - WORD $0xc308 // or bl, al + LONG $0x07e7c040 // shl dil, 7 + WORD $0x0844; BYTE $0xc7 // or dil, r8b + WORD $0x0841; BYTE $0xdd // or r13b, bl + WORD $0x0840; BYTE $0xc7 // or dil, al WORD $0x0045; BYTE $0xd2 // add r10b, r10b - LONG $0x24540244; BYTE $0x0a // add r10b, byte [rsp + 10] + LONG $0x24540244; BYTE $0x0b // add r10b, byte [rsp + 11] LONG $0x02e6c041 // shl r14b, 2 WORD $0x0845; BYTE $0xd6 // or r14b, r10b LONG $0x03e4c041 // shl r12b, 3 WORD $0x0845; BYTE $0xf4 // or r12b, r14b - LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + LONG $0x2444b60f; BYTE $0x09 // movzx eax, byte [rsp + 9] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0x0844; BYTE $0xe0 // or al, r12b - WORD $0xc189 // mov ecx, eax - LONG $0x24748b4c; BYTE $0x30 // mov r14, qword [rsp + 48] - LONG $0x2444b60f; BYTE $0x0b // movzx eax, byte [rsp + 11] + WORD $0xc389 // mov ebx, eax + LONG $0x24648b4c; BYTE $0x30 // mov r12, qword [rsp + 48] + LONG $0x2444b60f; BYTE $0x0c // movzx eax, byte [rsp + 12] WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - WORD $0x8845; BYTE $0x2e // mov byte [r14], r13b - LONG $0x244cb60f; BYTE $0x0c // movzx ecx, byte [rsp + 12] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 + WORD $0xd808 // or al, bl + LONG $0x242c8845 // mov byte [r12], r13b + LONG $0x245cb60f; BYTE $0x0d // movzx ebx, byte [rsp + 13] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e1c041 // shl r9b, 7 - WORD $0x0841; BYTE $0xc9 // or r9b, cl - LONG $0x015e8841 // mov byte [r14 + 1], bl + WORD $0x0841; BYTE $0xd9 // or r9b, bl + LONG $0x247c8841; BYTE $0x01 // mov byte [r12 + 1], dil WORD $0x0841; BYTE $0xc1 // or r9b, al - LONG $0x2444b60f; BYTE $0x0d // movzx eax, byte [rsp + 13] - WORD $0xc000 // add al, al - LONG $0x13244402 // add al, byte [rsp + 19] - WORD $0xc189 // mov ecx, eax LONG $0x2444b60f; BYTE $0x0e // movzx eax, byte [rsp + 14] - WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xc000 // add al, al + LONG $0x14244402 // add al, byte [rsp + 20] + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x0f // movzx eax, byte [rsp + 15] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x11 // movzx eax, byte [rsp + 17] WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x12 // movzx eax, byte [rsp + 18] + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x13 // movzx eax, byte [rsp + 19] WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - LONG $0x244cb60f; BYTE $0x11 // movzx ecx, byte [rsp + 17] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 - LONG $0x07e7c040 // shl dil, 7 - WORD $0x0840; BYTE $0xcf // or dil, cl - WORD $0x0840; BYTE $0xc7 // or dil, al - LONG $0x024e8845 // mov byte [r14 + 2], r9b - LONG $0x037e8841 // mov byte [r14 + 3], dil + WORD $0xd808 // or al, bl + LONG $0x245cb60f; BYTE $0x12 // movzx ebx, byte [rsp + 18] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 + WORD $0xe1c0; BYTE $0x07 // shl cl, 7 + WORD $0xd908 // or cl, bl + WORD $0xc108 // or cl, al + LONG $0x244c8845; BYTE $0x02 // mov byte [r12 + 2], r9b + LONG $0x244c8841; BYTE $0x03 // mov byte [r12 + 3], cl LONG $0x80c28148; WORD $0x0000; BYTE $0x00 // add rdx, 128 - LONG $0x04c68349 // add r14, 4 - LONG $0x24448348; WORD $0xff38 // add qword [rsp + 56], -1 + LONG $0x04c48349 // add r12, 4 + LONG $0x24448348; WORD $0xff20 // add qword [rsp + 32], -1 JNE LBB0_24 - LONG $0x245c8b4c; BYTE $0x18 // mov r11, qword [rsp + 24] - LONG $0x247c8b4c; BYTE $0x40 // mov r15, qword [rsp + 64] + LONG $0x24748b4c; BYTE $0x18 // mov r14, qword [rsp + 24] + LONG $0x247c8b4c; BYTE $0x38 // mov r15, qword [rsp + 56] LBB0_26: LONG $0x05e7c149 // shl r15, 5 - WORD $0x394d; BYTE $0xdf // cmp r15, r11 + WORD $0x394d; BYTE $0xf7 // cmp r15, r14 JGE LBB0_123 - WORD $0x294d; BYTE $0xfb // sub r11, r15 + WORD $0x294d; BYTE $0xfe // sub r14, r15 WORD $0xc931 // xor ecx, ecx LBB0_28: @@ -277,16 +278,16 @@ LBB0_28: WORD $0xdbf6 // neg bl WORD $0x8948; BYTE $0xcf // mov rdi, rcx LONG $0x03efc148 // shr rdi, 3 - LONG $0x0cb60f45; BYTE $0x3e // movzx r9d, byte [r14 + rdi] + LONG $0x0cb60f45; BYTE $0x3c // movzx r9d, byte [r12 + rdi] WORD $0x3044; BYTE $0xcb // xor bl, r9b WORD $0xe180; BYTE $0x07 // and cl, 7 WORD $0x01b0 // mov al, 1 WORD $0xe0d2 // shl al, cl WORD $0xd820 // and al, bl WORD $0x3044; BYTE $0xc8 // xor al, r9b - LONG $0x3e048841 // mov byte [r14 + rdi], al + LONG $0x3c048841 // mov byte [r12 + rdi], al WORD $0x894c; BYTE $0xc1 // mov rcx, r8 - WORD $0x394d; BYTE $0xc3 // cmp r11, r8 + WORD $0x394d; BYTE $0xc6 // cmp r14, r8 JNE LBB0_28 JMP LBB0_123 @@ -299,266 +300,361 @@ LBB0_29: JE LBB0_112 WORD $0xff83; BYTE $0x0c // cmp edi, 12 JNE LBB0_123 - LONG $0x1f7b8d4d // lea r15, [r11 + 31] - WORD $0x854d; BYTE $0xdb // test r11, r11 - LONG $0xfb490f4d // cmovns r15, r11 - LONG $0x07418d41 // lea eax, [r9 + 7] - WORD $0x8545; BYTE $0xc9 // test r9d, r9d - LONG $0xc1490f41 // cmovns eax, r9d - WORD $0xe083; BYTE $0xf8 // and eax, -8 - WORD $0x2941; BYTE $0xc1 // sub r9d, eax + LONG $0x1f7e8d4d // lea r15, [r14 + 31] + WORD $0x854d; BYTE $0xf6 // test r14, r14 + LONG $0xfe490f4d // cmovns r15, r14 + WORD $0x488d; BYTE $0x07 // lea ecx, [rax + 7] + WORD $0xc085 // test eax, eax + WORD $0x490f; BYTE $0xc8 // cmovns ecx, eax + WORD $0xe183; BYTE $0xf8 // and ecx, -8 + WORD $0xc829 // sub eax, ecx JE LBB0_50 - WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d + WORD $0x634c; BYTE $0xd0 // movsxd r10, eax LBB0_48: LONG $0x06100ff2 // movsd xmm0, qword [rsi] LONG $0x08c68348 // add rsi, 8 LONG $0x022e0f66 // ucomisd xmm0, qword [rdx] LONG $0x08528d48 // lea rdx, [rdx + 8] - LONG $0xd2940f41 // sete r10b - WORD $0xf641; BYTE $0xda // neg r10b - LONG $0x07788d48 // lea rdi, [rax + 7] - WORD $0x8548; BYTE $0xc0 // test rax, rax - LONG $0xf8490f48 // cmovns rdi, rax + WORD $0x9b0f; BYTE $0xd1 // setnp cl + WORD $0x940f; BYTE $0xd3 // sete bl + WORD $0xcb20 // and bl, cl + WORD $0xdbf6 // neg bl + LONG $0x077a8d49 // lea rdi, [r10 + 7] + WORD $0x854d; BYTE $0xd2 // test r10, r10 + LONG $0xfa490f49 // cmovns rdi, r10 LONG $0x03ffc148 // sar rdi, 3 - LONG $0x04b60f45; BYTE $0x3e // movzx r8d, byte [r14 + rdi] - WORD $0x3045; BYTE $0xc2 // xor r10b, r8b + LONG $0x04b60f45; BYTE $0x3c // movzx r8d, byte [r12 + rdi] + WORD $0x3044; BYTE $0xc3 // xor bl, r8b QUAD $0x00000000fd0c8d44 // lea r9d, [8*rdi] - WORD $0xc189 // mov ecx, eax + WORD $0x8944; BYTE $0xd1 // mov ecx, r10d WORD $0x2944; BYTE $0xc9 // sub ecx, r9d - LONG $0x000001bb; BYTE $0x00 // mov ebx, 1 - WORD $0xe3d3 // shl ebx, cl - WORD $0x2044; BYTE $0xd3 // and bl, r10b - WORD $0x3044; BYTE $0xc3 // xor bl, r8b - LONG $0x3e1c8841 // mov byte [r14 + rdi], bl - LONG $0x01c08348 // add rax, 1 - LONG $0x08f88348 // cmp rax, 8 + LONG $0x000001b8; BYTE $0x00 // mov eax, 1 + WORD $0xe0d3 // shl eax, cl + WORD $0xd820 // and al, bl + WORD $0x3044; BYTE $0xc0 // xor al, r8b + LONG $0x3c048841 // mov byte [r12 + rdi], al + LONG $0x01c28349 // add r10, 1 + LONG $0x08fa8349 // cmp r10, 8 JNE LBB0_48 - LONG $0x01c68349 // add r14, 1 + LONG $0x01c48349 // add r12, 1 LBB0_50: LONG $0x05ffc149 // sar r15, 5 - LONG $0x20fb8349 // cmp r11, 32 + LONG $0x20fe8349 // cmp r14, 32 JL LBB0_54 - LONG $0x245c894c; BYTE $0x18 // mov qword [rsp + 24], r11 - LONG $0x247c894c; BYTE $0x20 // mov qword [rsp + 32], r15 - LONG $0x247c894c; BYTE $0x28 // mov qword [rsp + 40], r15 + LONG $0x2474894c; BYTE $0x18 // mov qword [rsp + 24], r14 + LONG $0x247c894c; BYTE $0x40 // mov qword [rsp + 64], r15 + LONG $0x247c894c; BYTE $0x38 // mov qword [rsp + 56], r15 LBB0_52: - LONG $0x2474894c; BYTE $0x30 // mov qword [rsp + 48], r14 + LONG $0x2464894c; BYTE $0x30 // mov qword [rsp + 48], r12 LONG $0x06100ff2 // movsd xmm0, qword [rsi] - LONG $0x4e100ff2; BYTE $0x08 // movsd xmm1, qword [rsi + 8] LONG $0x022e0f66 // ucomisd xmm0, qword [rdx] - LONG $0x2454940f; BYTE $0x04 // sete byte [rsp + 4] - LONG $0x4a2e0f66; BYTE $0x08 // ucomisd xmm1, qword [rdx + 8] - WORD $0x940f; BYTE $0xd0 // sete al + LONG $0x46100ff2; BYTE $0x08 // movsd xmm0, qword [rsi + 8] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x15244c88 // mov byte [rsp + 21], cl + LONG $0x422e0f66; BYTE $0x08 // ucomisd xmm0, qword [rdx + 8] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x0d244c88 // mov byte [rsp + 13], cl LONG $0x46100ff2; BYTE $0x10 // movsd xmm0, qword [rsi + 16] LONG $0x422e0f66; BYTE $0x10 // ucomisd xmm0, qword [rdx + 16] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x14244c88 // mov byte [rsp + 20], cl LONG $0x46100ff2; BYTE $0x18 // movsd xmm0, qword [rsi + 24] - LONG $0x2454940f; BYTE $0x05 // sete byte [rsp + 5] LONG $0x422e0f66; BYTE $0x18 // ucomisd xmm0, qword [rdx + 24] - LONG $0x2454940f; BYTE $0x16 // sete byte [rsp + 22] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x17244c88 // mov byte [rsp + 23], cl LONG $0x46100ff2; BYTE $0x20 // movsd xmm0, qword [rsi + 32] LONG $0x422e0f66; BYTE $0x20 // ucomisd xmm0, qword [rdx + 32] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x16244c88 // mov byte [rsp + 22], cl LONG $0x46100ff2; BYTE $0x28 // movsd xmm0, qword [rsi + 40] - LONG $0x2454940f; BYTE $0x15 // sete byte [rsp + 21] LONG $0x422e0f66; BYTE $0x28 // ucomisd xmm0, qword [rdx + 40] - LONG $0x2454940f; BYTE $0x17 // sete byte [rsp + 23] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd7940f40 // sete dil + WORD $0x2040; BYTE $0xc7 // and dil, al LONG $0x46100ff2; BYTE $0x30 // movsd xmm0, qword [rsi + 48] LONG $0x422e0f66; BYTE $0x30 // ucomisd xmm0, qword [rdx + 48] - LONG $0x46100ff2; BYTE $0x38 // movsd xmm0, qword [rsi + 56] + WORD $0x9b0f; BYTE $0xd0 // setnp al LONG $0xd5940f41 // sete r13b + WORD $0x2041; BYTE $0xc5 // and r13b, al + LONG $0x46100ff2; BYTE $0x38 // movsd xmm0, qword [rsi + 56] LONG $0x422e0f66; BYTE $0x38 // ucomisd xmm0, qword [rdx + 56] - LONG $0xd7940f41 // sete r15b + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x03244c88 // mov byte [rsp + 3], cl LONG $0x46100ff2; BYTE $0x40 // movsd xmm0, qword [rsi + 64] LONG $0x422e0f66; BYTE $0x40 // ucomisd xmm0, qword [rdx + 64] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x13244c88 // mov byte [rsp + 19], cl LONG $0x46100ff2; BYTE $0x48 // movsd xmm0, qword [rsi + 72] - LONG $0x2454940f; BYTE $0x08 // sete byte [rsp + 8] LONG $0x422e0f66; BYTE $0x48 // ucomisd xmm0, qword [rdx + 72] - WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd3 // sete bl + WORD $0xc320 // and bl, al LONG $0x46100ff2; BYTE $0x50 // movsd xmm0, qword [rsi + 80] LONG $0x422e0f66; BYTE $0x50 // ucomisd xmm0, qword [rdx + 80] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x12244c88 // mov byte [rsp + 18], cl LONG $0x46100ff2; BYTE $0x58 // movsd xmm0, qword [rsi + 88] - LONG $0xd1940f41 // sete r9b LONG $0x422e0f66; BYTE $0x58 // ucomisd xmm0, qword [rdx + 88] - LONG $0xd3940f41 // sete r11b + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x11244c88 // mov byte [rsp + 17], cl LONG $0x46100ff2; BYTE $0x60 // movsd xmm0, qword [rsi + 96] LONG $0x422e0f66; BYTE $0x60 // ucomisd xmm0, qword [rdx + 96] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x10244c88 // mov byte [rsp + 16], cl LONG $0x46100ff2; BYTE $0x68 // movsd xmm0, qword [rsi + 104] - LONG $0xd2940f41 // sete r10b LONG $0x422e0f66; BYTE $0x68 // ucomisd xmm0, qword [rdx + 104] - LONG $0x2454940f; BYTE $0x07 // sete byte [rsp + 7] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x0f244c88 // mov byte [rsp + 15], cl LONG $0x46100ff2; BYTE $0x70 // movsd xmm0, qword [rsi + 112] LONG $0x422e0f66; BYTE $0x70 // ucomisd xmm0, qword [rdx + 112] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x0c244c88 // mov byte [rsp + 12], cl LONG $0x46100ff2; BYTE $0x78 // movsd xmm0, qword [rsi + 120] - LONG $0x2454940f; BYTE $0x06 // sete byte [rsp + 6] LONG $0x422e0f66; BYTE $0x78 // ucomisd xmm0, qword [rdx + 120] - WORD $0x940f; BYTE $0xd3 // sete bl + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x0b244c88 // mov byte [rsp + 11], cl QUAD $0x0000008086100ff2 // movsd xmm0, qword [rsi + 128] QUAD $0x00000080822e0f66 // ucomisd xmm0, qword [rdx + 128] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x0e244c88 // mov byte [rsp + 14], cl QUAD $0x0000008886100ff2 // movsd xmm0, qword [rsi + 136] - LONG $0x2454940f; BYTE $0x0e // sete byte [rsp + 14] QUAD $0x00000088822e0f66 // ucomisd xmm0, qword [rdx + 136] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x0a244c88 // mov byte [rsp + 10], cl QUAD $0x0000009086100ff2 // movsd xmm0, qword [rsi + 144] - LONG $0xd6940f41 // sete r14b QUAD $0x00000090822e0f66 // ucomisd xmm0, qword [rdx + 144] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x09244c88 // mov byte [rsp + 9], cl QUAD $0x0000009886100ff2 // movsd xmm0, qword [rsi + 152] - LONG $0xd4940f41 // sete r12b QUAD $0x00000098822e0f66 // ucomisd xmm0, qword [rdx + 152] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd6940f41 // sete r14b + WORD $0x2041; BYTE $0xc6 // and r14b, al QUAD $0x000000a086100ff2 // movsd xmm0, qword [rsi + 160] - LONG $0x2454940f; BYTE $0x09 // sete byte [rsp + 9] QUAD $0x000000a0822e0f66 // ucomisd xmm0, qword [rdx + 160] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x08244c88 // mov byte [rsp + 8], cl QUAD $0x000000a886100ff2 // movsd xmm0, qword [rsi + 168] - LONG $0x2454940f; BYTE $0x0a // sete byte [rsp + 10] QUAD $0x000000a8822e0f66 // ucomisd xmm0, qword [rdx + 168] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x07244c88 // mov byte [rsp + 7], cl QUAD $0x000000b086100ff2 // movsd xmm0, qword [rsi + 176] - LONG $0x2454940f; BYTE $0x0b // sete byte [rsp + 11] QUAD $0x000000b0822e0f66 // ucomisd xmm0, qword [rdx + 176] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x05244c88 // mov byte [rsp + 5], cl QUAD $0x000000b886100ff2 // movsd xmm0, qword [rsi + 184] - LONG $0x2454940f; BYTE $0x0c // sete byte [rsp + 12] QUAD $0x000000b8822e0f66 // ucomisd xmm0, qword [rdx + 184] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd7940f41 // sete r15b + WORD $0x2041; BYTE $0xc7 // and r15b, al QUAD $0x000000c086100ff2 // movsd xmm0, qword [rsi + 192] - LONG $0xd0940f41 // sete r8b QUAD $0x000000c0822e0f66 // ucomisd xmm0, qword [rdx + 192] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x06244c88 // mov byte [rsp + 6], cl QUAD $0x000000c886100ff2 // movsd xmm0, qword [rsi + 200] - LONG $0x2454940f; BYTE $0x14 // sete byte [rsp + 20] QUAD $0x000000c8822e0f66 // ucomisd xmm0, qword [rdx + 200] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x20244c88 // mov byte [rsp + 32], cl QUAD $0x000000d086100ff2 // movsd xmm0, qword [rsi + 208] - LONG $0x2454940f; BYTE $0x0d // sete byte [rsp + 13] QUAD $0x000000d0822e0f66 // ucomisd xmm0, qword [rdx + 208] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd3940f41 // sete r11b + WORD $0x2041; BYTE $0xc3 // and r11b, al QUAD $0x000000d886100ff2 // movsd xmm0, qword [rsi + 216] - LONG $0x2454940f; BYTE $0x0f // sete byte [rsp + 15] QUAD $0x000000d8822e0f66 // ucomisd xmm0, qword [rdx + 216] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd2940f41 // sete r10b + WORD $0x2041; BYTE $0xc2 // and r10b, al QUAD $0x000000e086100ff2 // movsd xmm0, qword [rsi + 224] - LONG $0x2454940f; BYTE $0x10 // sete byte [rsp + 16] QUAD $0x000000e0822e0f66 // ucomisd xmm0, qword [rdx + 224] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x04244c88 // mov byte [rsp + 4], cl QUAD $0x000000e886100ff2 // movsd xmm0, qword [rsi + 232] - LONG $0x2454940f; BYTE $0x11 // sete byte [rsp + 17] QUAD $0x000000e8822e0f66 // ucomisd xmm0, qword [rdx + 232] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x28244c88 // mov byte [rsp + 40], cl QUAD $0x000000f086100ff2 // movsd xmm0, qword [rsi + 240] - LONG $0x2454940f; BYTE $0x13 // sete byte [rsp + 19] QUAD $0x000000f0822e0f66 // ucomisd xmm0, qword [rdx + 240] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd1940f41 // sete r9b + WORD $0x2041; BYTE $0xc1 // and r9b, al QUAD $0x000000f886100ff2 // movsd xmm0, qword [rsi + 248] - LONG $0x2454940f; BYTE $0x12 // sete byte [rsp + 18] LONG $0x00c68148; WORD $0x0001; BYTE $0x00 // add rsi, 256 QUAD $0x000000f8822e0f66 // ucomisd xmm0, qword [rdx + 248] - LONG $0xd7940f40 // sete dil + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd0940f41 // sete r8b + WORD $0x2041; BYTE $0xc0 // and r8b, al + LONG $0x2444b60f; BYTE $0x0d // movzx eax, byte [rsp + 13] WORD $0xc000 // add al, al - LONG $0x04244402 // add al, byte [rsp + 4] + LONG $0x15244402 // add al, byte [rsp + 21] + LONG $0x05e7c040 // shl dil, 5 LONG $0x06e5c041 // shl r13b, 6 - LONG $0x07e7c041 // shl r15b, 7 - WORD $0x0845; BYTE $0xef // or r15b, r13b - LONG $0x6cb60f44; WORD $0x0524 // movzx r13d, byte [rsp + 5] - LONG $0x02e5c041 // shl r13b, 2 - WORD $0x0841; BYTE $0xc5 // or r13b, al - WORD $0x8944; BYTE $0xe8 // mov eax, r13d - WORD $0xc900 // add cl, cl - LONG $0x08244c02 // add cl, byte [rsp + 8] + WORD $0x0841; BYTE $0xfd // or r13b, dil + WORD $0x8944; BYTE $0xef // mov edi, r13d + LONG $0x244cb60f; BYTE $0x14 // movzx ecx, byte [rsp + 20] + WORD $0xe1c0; BYTE $0x02 // shl cl, 2 + WORD $0xc108 // or cl, al + WORD $0xd889 // mov eax, ebx + WORD $0xd800 // add al, bl + LONG $0x13244402 // add al, byte [rsp + 19] + WORD $0x8941; BYTE $0xc5 // mov r13d, eax + LONG $0x2444b60f; BYTE $0x03 // movzx eax, byte [rsp + 3] + WORD $0xe0c0; BYTE $0x07 // shl al, 7 + WORD $0x0840; BYTE $0xf8 // or al, dil + LONG $0x03244488 // mov byte [rsp + 3], al + LONG $0x2444b60f; BYTE $0x12 // movzx eax, byte [rsp + 18] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0x0844; BYTE $0xe8 // or al, r13b + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x17 // movzx eax, byte [rsp + 23] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0xc808 // or al, cl + LONG $0x245cb60f; BYTE $0x11 // movzx ebx, byte [rsp + 17] + WORD $0xe3c0; BYTE $0x03 // shl bl, 3 + WORD $0x0840; BYTE $0xfb // or bl, dil LONG $0x6cb60f44; WORD $0x1624 // movzx r13d, byte [rsp + 22] - LONG $0x03e5c041 // shl r13b, 3 + LONG $0x04e5c041 // shl r13b, 4 WORD $0x0841; BYTE $0xc5 // or r13b, al - LONG $0x02e1c041 // shl r9b, 2 - WORD $0x0841; BYTE $0xc9 // or r9b, cl - LONG $0x244cb60f; BYTE $0x15 // movzx ecx, byte [rsp + 21] - WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0x0844; BYTE $0xe9 // or cl, r13b - WORD $0x8941; BYTE $0xcd // mov r13d, ecx - LONG $0x03e3c041 // shl r11b, 3 - WORD $0x0845; BYTE $0xcb // or r11b, r9b - LONG $0x244cb60f; BYTE $0x17 // movzx ecx, byte [rsp + 23] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0x0844; BYTE $0xe9 // or cl, r13b - LONG $0x04e2c041 // shl r10b, 4 - WORD $0x0845; BYTE $0xda // or r10b, r11b - LONG $0x2444b60f; BYTE $0x07 // movzx eax, byte [rsp + 7] - WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0x0844; BYTE $0xd0 // or al, r10b - LONG $0x4cb60f44; WORD $0x0624 // movzx r9d, byte [rsp + 6] - LONG $0x06e1c041 // shl r9b, 6 - WORD $0xe3c0; BYTE $0x07 // shl bl, 7 - WORD $0x0844; BYTE $0xcb // or bl, r9b - WORD $0x0841; BYTE $0xcf // or r15b, cl - WORD $0xc308 // or bl, al - WORD $0x0045; BYTE $0xf6 // add r14b, r14b - LONG $0x24740244; BYTE $0x0e // add r14b, byte [rsp + 14] - LONG $0x02e4c041 // shl r12b, 2 - WORD $0x0845; BYTE $0xf4 // or r12b, r14b - LONG $0x24748b4c; BYTE $0x30 // mov r14, qword [rsp + 48] - LONG $0x2444b60f; BYTE $0x09 // movzx eax, byte [rsp + 9] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0x0844; BYTE $0xe0 // or al, r12b - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x0a // movzx eax, byte [rsp + 10] + LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xd808 // or al, bl + WORD $0xc789 // mov edi, eax + LONG $0x245cb60f; BYTE $0x0f // movzx ebx, byte [rsp + 15] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + LONG $0x2444b60f; BYTE $0x0c // movzx eax, byte [rsp + 12] + WORD $0xe0c0; BYTE $0x06 // shl al, 6 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x0b // movzx eax, byte [rsp + 11] - WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - WORD $0x8845; BYTE $0x3e // mov byte [r14], r15b - LONG $0x244cb60f; BYTE $0x0c // movzx ecx, byte [rsp + 12] + WORD $0xe0c0; BYTE $0x07 // shl al, 7 + WORD $0xd808 // or al, bl + LONG $0x245cb60f; BYTE $0x0a // movzx ebx, byte [rsp + 10] + WORD $0xdb00 // add bl, bl + LONG $0x0e245c02 // add bl, byte [rsp + 14] + LONG $0x244cb60f; BYTE $0x09 // movzx ecx, byte [rsp + 9] + WORD $0xe1c0; BYTE $0x02 // shl cl, 2 + WORD $0xd908 // or cl, bl + LONG $0x03e6c041 // shl r14b, 3 + WORD $0x0841; BYTE $0xce // or r14b, cl + LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0x0844; BYTE $0xf3 // or bl, r14b + LONG $0x24648b4c; BYTE $0x30 // mov r12, qword [rsp + 48] + LONG $0x74b60f44; WORD $0x0324 // movzx r14d, byte [rsp + 3] + WORD $0x0845; BYTE $0xee // or r14b, r13b + LONG $0x6cb60f44; WORD $0x0724 // movzx r13d, byte [rsp + 7] + LONG $0x05e5c041 // shl r13b, 5 + LONG $0x244cb60f; BYTE $0x05 // movzx ecx, byte [rsp + 5] WORD $0xe1c0; BYTE $0x06 // shl cl, 6 + WORD $0x0844; BYTE $0xe9 // or cl, r13b + WORD $0x0840; BYTE $0xf8 // or al, dil + LONG $0x07e7c041 // shl r15b, 7 + WORD $0x0841; BYTE $0xcf // or r15b, cl + WORD $0x0841; BYTE $0xdf // or r15b, bl + LONG $0x244cb60f; BYTE $0x20 // movzx ecx, byte [rsp + 32] + WORD $0xc900 // add cl, cl + LONG $0x06244c02 // add cl, byte [rsp + 6] + LONG $0x02e3c041 // shl r11b, 2 + WORD $0x0841; BYTE $0xcb // or r11b, cl + LONG $0x03e2c041 // shl r10b, 3 + WORD $0x0845; BYTE $0xda // or r10b, r11b + LONG $0x244cb60f; BYTE $0x04 // movzx ecx, byte [rsp + 4] + WORD $0xe1c0; BYTE $0x04 // shl cl, 4 + WORD $0x0844; BYTE $0xd1 // or cl, r10b + LONG $0x24348845 // mov byte [r12], r14b + LONG $0x245cb60f; BYTE $0x28 // movzx ebx, byte [rsp + 40] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + LONG $0x06e1c041 // shl r9b, 6 + WORD $0x0841; BYTE $0xd9 // or r9b, bl + LONG $0x24448841; BYTE $0x01 // mov byte [r12 + 1], al LONG $0x07e0c041 // shl r8b, 7 + WORD $0x0845; BYTE $0xc8 // or r8b, r9b WORD $0x0841; BYTE $0xc8 // or r8b, cl - LONG $0x015e8841 // mov byte [r14 + 1], bl - WORD $0x0841; BYTE $0xc0 // or r8b, al - LONG $0x2444b60f; BYTE $0x0d // movzx eax, byte [rsp + 13] - WORD $0xc000 // add al, al - LONG $0x14244402 // add al, byte [rsp + 20] - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x0f // movzx eax, byte [rsp + 15] - WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x11 // movzx eax, byte [rsp + 17] - WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0xc808 // or al, cl - LONG $0x244cb60f; BYTE $0x13 // movzx ecx, byte [rsp + 19] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0xc108 // or cl, al - LONG $0x2444b60f; BYTE $0x12 // movzx eax, byte [rsp + 18] - WORD $0xe0c0; BYTE $0x06 // shl al, 6 - LONG $0x07e7c040 // shl dil, 7 - WORD $0x0840; BYTE $0xc7 // or dil, al - WORD $0x0840; BYTE $0xcf // or dil, cl - LONG $0x02468845 // mov byte [r14 + 2], r8b - LONG $0x037e8841 // mov byte [r14 + 3], dil + LONG $0x247c8845; BYTE $0x02 // mov byte [r12 + 2], r15b + LONG $0x24448845; BYTE $0x03 // mov byte [r12 + 3], r8b LONG $0x00c28148; WORD $0x0001; BYTE $0x00 // add rdx, 256 - LONG $0x04c68349 // add r14, 4 - LONG $0x24448348; WORD $0xff28 // add qword [rsp + 40], -1 + LONG $0x04c48349 // add r12, 4 + LONG $0x24448348; WORD $0xff38 // add qword [rsp + 56], -1 JNE LBB0_52 - LONG $0x245c8b4c; BYTE $0x18 // mov r11, qword [rsp + 24] - LONG $0x247c8b4c; BYTE $0x20 // mov r15, qword [rsp + 32] + LONG $0x24748b4c; BYTE $0x18 // mov r14, qword [rsp + 24] + LONG $0x247c8b4c; BYTE $0x40 // mov r15, qword [rsp + 64] LBB0_54: LONG $0x05e7c149 // shl r15, 5 - WORD $0x394d; BYTE $0xdf // cmp r15, r11 + WORD $0x394d; BYTE $0xf7 // cmp r15, r14 JGE LBB0_123 - WORD $0x294d; BYTE $0xfb // sub r11, r15 + WORD $0x294d; BYTE $0xfe // sub r14, r15 WORD $0xc931 // xor ecx, ecx LBB0_56: + LONG $0x01498d4c // lea r9, [rcx + 1] LONG $0x04100ff2; BYTE $0xce // movsd xmm0, qword [rsi + 8*rcx] LONG $0x042e0f66; BYTE $0xca // ucomisd xmm0, qword [rdx + 8*rcx] - LONG $0x01418d4c // lea r8, [rcx + 1] - WORD $0x940f; BYTE $0xd3 // sete bl - WORD $0xdbf6 // neg bl + WORD $0x9b0f; BYTE $0xd3 // setnp bl + WORD $0x940f; BYTE $0xd0 // sete al + WORD $0xd820 // and al, bl + WORD $0xd8f6 // neg al WORD $0x8948; BYTE $0xcf // mov rdi, rcx LONG $0x03efc148 // shr rdi, 3 - LONG $0x0cb60f45; BYTE $0x3e // movzx r9d, byte [r14 + rdi] - WORD $0x3044; BYTE $0xcb // xor bl, r9b + LONG $0x04b60f45; BYTE $0x3c // movzx r8d, byte [r12 + rdi] + WORD $0x3044; BYTE $0xc0 // xor al, r8b WORD $0xe180; BYTE $0x07 // and cl, 7 - WORD $0x01b0 // mov al, 1 - WORD $0xe0d2 // shl al, cl - WORD $0xd820 // and al, bl - WORD $0x3044; BYTE $0xc8 // xor al, r9b - LONG $0x3e048841 // mov byte [r14 + rdi], al - WORD $0x894c; BYTE $0xc1 // mov rcx, r8 - WORD $0x394d; BYTE $0xc3 // cmp r11, r8 + WORD $0x01b3 // mov bl, 1 + WORD $0xe3d2 // shl bl, cl + WORD $0xc320 // and bl, al + WORD $0x3044; BYTE $0xc3 // xor bl, r8b + LONG $0x3c1c8841 // mov byte [r12 + rdi], bl + WORD $0x894c; BYTE $0xc9 // mov rcx, r9 + WORD $0x394d; BYTE $0xce // cmp r14, r9 JNE LBB0_56 JMP LBB0_123 @@ -567,16 +663,16 @@ LBB0_2: JE LBB0_57 WORD $0xff83; BYTE $0x03 // cmp edi, 3 JNE LBB0_123 - LONG $0x1f7b8d4d // lea r15, [r11 + 31] - WORD $0x854d; BYTE $0xdb // test r11, r11 - LONG $0xfb490f4d // cmovns r15, r11 - LONG $0x07418d41 // lea eax, [r9 + 7] - WORD $0x8545; BYTE $0xc9 // test r9d, r9d - LONG $0xc1490f41 // cmovns eax, r9d - WORD $0xe083; BYTE $0xf8 // and eax, -8 - WORD $0x2941; BYTE $0xc1 // sub r9d, eax + LONG $0x1f7e8d4d // lea r15, [r14 + 31] + WORD $0x854d; BYTE $0xf6 // test r14, r14 + LONG $0xfe490f4d // cmovns r15, r14 + WORD $0x488d; BYTE $0x07 // lea ecx, [rax + 7] + WORD $0xc085 // test eax, eax + WORD $0x490f; BYTE $0xc8 // cmovns ecx, eax + WORD $0xe183; BYTE $0xf8 // and ecx, -8 + WORD $0xc829 // sub eax, ecx JE LBB0_8 - WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d + WORD $0x9848 // cdqe LBB0_6: WORD $0xb60f; BYTE $0x0e // movzx ecx, byte [rsi] @@ -589,7 +685,7 @@ LBB0_6: WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xf8490f48 // cmovns rdi, rax LONG $0x03ffc148 // sar rdi, 3 - LONG $0x04b60f45; BYTE $0x3e // movzx r8d, byte [r14 + rdi] + LONG $0x04b60f45; BYTE $0x3c // movzx r8d, byte [r12 + rdi] WORD $0x3045; BYTE $0xc2 // xor r10b, r8b QUAD $0x00000000fd0c8d44 // lea r9d, [8*rdi] WORD $0xc189 // mov ecx, eax @@ -598,49 +694,49 @@ LBB0_6: WORD $0xe3d3 // shl ebx, cl WORD $0x2044; BYTE $0xd3 // and bl, r10b WORD $0x3044; BYTE $0xc3 // xor bl, r8b - LONG $0x3e1c8841 // mov byte [r14 + rdi], bl + LONG $0x3c1c8841 // mov byte [r12 + rdi], bl LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 JNE LBB0_6 - LONG $0x01c68349 // add r14, 1 + LONG $0x01c48349 // add r12, 1 LBB0_8: LONG $0x05ffc149 // sar r15, 5 - LONG $0x20fb8349 // cmp r11, 32 + LONG $0x20fe8349 // cmp r14, 32 JL LBB0_12 - LONG $0x245c894c; BYTE $0x18 // mov qword [rsp + 24], r11 - LONG $0x247c894c; BYTE $0x38 // mov qword [rsp + 56], r15 + LONG $0x2474894c; BYTE $0x18 // mov qword [rsp + 24], r14 LONG $0x247c894c; BYTE $0x20 // mov qword [rsp + 32], r15 + LONG $0x247c894c; BYTE $0x28 // mov qword [rsp + 40], r15 LBB0_10: - LONG $0x2474894c; BYTE $0x30 // mov qword [rsp + 48], r14 + LONG $0x2464894c; BYTE $0x30 // mov qword [rsp + 48], r12 WORD $0xb60f; BYTE $0x06 // movzx eax, byte [rsi] LONG $0x014eb60f // movzx ecx, byte [rsi + 1] WORD $0x023a // cmp al, byte [rdx] - LONG $0x2454940f; BYTE $0x28 // sete byte [rsp + 40] + LONG $0x2454940f; BYTE $0x04 // sete byte [rsp + 4] WORD $0x4a3a; BYTE $0x01 // cmp cl, byte [rdx + 1] - WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0x940f; BYTE $0xd3 // sete bl LONG $0x0246b60f // movzx eax, byte [rsi + 2] WORD $0x423a; BYTE $0x02 // cmp al, byte [rdx + 2] - LONG $0x2454940f; BYTE $0x14 // sete byte [rsp + 20] + LONG $0x2454940f; BYTE $0x15 // sete byte [rsp + 21] LONG $0x0346b60f // movzx eax, byte [rsi + 3] WORD $0x423a; BYTE $0x03 // cmp al, byte [rdx + 3] - LONG $0x2454940f; BYTE $0x15 // sete byte [rsp + 21] + LONG $0x2454940f; BYTE $0x16 // sete byte [rsp + 22] LONG $0x0446b60f // movzx eax, byte [rsi + 4] WORD $0x423a; BYTE $0x04 // cmp al, byte [rdx + 4] - LONG $0x2454940f; BYTE $0x16 // sete byte [rsp + 22] + LONG $0x2454940f; BYTE $0x17 // sete byte [rsp + 23] LONG $0x0546b60f // movzx eax, byte [rsi + 5] WORD $0x423a; BYTE $0x05 // cmp al, byte [rdx + 5] - LONG $0x2454940f; BYTE $0x17 // sete byte [rsp + 23] + LONG $0x2454940f; BYTE $0x03 // sete byte [rsp + 3] LONG $0x0646b60f // movzx eax, byte [rsi + 6] WORD $0x423a; BYTE $0x06 // cmp al, byte [rdx + 6] - LONG $0x2454940f; BYTE $0x04 // sete byte [rsp + 4] + LONG $0x2454940f; BYTE $0x05 // sete byte [rsp + 5] LONG $0x0746b60f // movzx eax, byte [rsi + 7] WORD $0x423a; BYTE $0x07 // cmp al, byte [rdx + 7] LONG $0xd7940f41 // sete r15b LONG $0x0846b60f // movzx eax, byte [rsi + 8] WORD $0x423a; BYTE $0x08 // cmp al, byte [rdx + 8] - LONG $0x2454940f; BYTE $0x07 // sete byte [rsp + 7] + LONG $0x2454940f; BYTE $0x08 // sete byte [rsp + 8] LONG $0x0946b60f // movzx eax, byte [rsi + 9] WORD $0x423a; BYTE $0x09 // cmp al, byte [rdx + 9] LONG $0xd7940f40 // sete dil @@ -655,16 +751,16 @@ LBB0_10: LONG $0xd6940f41 // sete r14b LONG $0x0d46b60f // movzx eax, byte [rsi + 13] WORD $0x423a; BYTE $0x0d // cmp al, byte [rdx + 13] - LONG $0x2454940f; BYTE $0x05 // sete byte [rsp + 5] + LONG $0x2454940f; BYTE $0x06 // sete byte [rsp + 6] LONG $0x0e46b60f // movzx eax, byte [rsi + 14] WORD $0x423a; BYTE $0x0e // cmp al, byte [rdx + 14] - LONG $0x2454940f; BYTE $0x06 // sete byte [rsp + 6] + LONG $0x2454940f; BYTE $0x07 // sete byte [rsp + 7] LONG $0x0f46b60f // movzx eax, byte [rsi + 15] WORD $0x423a; BYTE $0x0f // cmp al, byte [rdx + 15] - WORD $0x940f; BYTE $0xd3 // sete bl + LONG $0xd0940f41 // sete r8b LONG $0x1046b60f // movzx eax, byte [rsi + 16] WORD $0x423a; BYTE $0x10 // cmp al, byte [rdx + 16] - LONG $0x2454940f; BYTE $0x0d // sete byte [rsp + 13] + LONG $0x2454940f; BYTE $0x0e // sete byte [rsp + 14] LONG $0x1146b60f // movzx eax, byte [rsi + 17] WORD $0x423a; BYTE $0x11 // cmp al, byte [rdx + 17] LONG $0xd4940f41 // sete r12b @@ -673,144 +769,144 @@ LBB0_10: LONG $0xd5940f41 // sete r13b LONG $0x1346b60f // movzx eax, byte [rsi + 19] WORD $0x423a; BYTE $0x13 // cmp al, byte [rdx + 19] - LONG $0x2454940f; BYTE $0x08 // sete byte [rsp + 8] + LONG $0x2454940f; BYTE $0x09 // sete byte [rsp + 9] LONG $0x1446b60f // movzx eax, byte [rsi + 20] WORD $0x423a; BYTE $0x14 // cmp al, byte [rdx + 20] - LONG $0x2454940f; BYTE $0x09 // sete byte [rsp + 9] + LONG $0x2454940f; BYTE $0x0a // sete byte [rsp + 10] LONG $0x1546b60f // movzx eax, byte [rsi + 21] WORD $0x423a; BYTE $0x15 // cmp al, byte [rdx + 21] - LONG $0x2454940f; BYTE $0x0a // sete byte [rsp + 10] + LONG $0x2454940f; BYTE $0x0b // sete byte [rsp + 11] LONG $0x1646b60f // movzx eax, byte [rsi + 22] WORD $0x423a; BYTE $0x16 // cmp al, byte [rdx + 22] - LONG $0x2454940f; BYTE $0x0b // sete byte [rsp + 11] + LONG $0x2454940f; BYTE $0x0c // sete byte [rsp + 12] LONG $0x1746b60f // movzx eax, byte [rsi + 23] WORD $0x423a; BYTE $0x17 // cmp al, byte [rdx + 23] LONG $0xd1940f41 // sete r9b LONG $0x1846b60f // movzx eax, byte [rsi + 24] WORD $0x423a; BYTE $0x18 // cmp al, byte [rdx + 24] - LONG $0x2454940f; BYTE $0x13 // sete byte [rsp + 19] + LONG $0x2454940f; BYTE $0x14 // sete byte [rsp + 20] LONG $0x1946b60f // movzx eax, byte [rsi + 25] WORD $0x423a; BYTE $0x19 // cmp al, byte [rdx + 25] - LONG $0x2454940f; BYTE $0x0c // sete byte [rsp + 12] + LONG $0x2454940f; BYTE $0x0d // sete byte [rsp + 13] LONG $0x1a46b60f // movzx eax, byte [rsi + 26] WORD $0x423a; BYTE $0x1a // cmp al, byte [rdx + 26] - LONG $0x2454940f; BYTE $0x0e // sete byte [rsp + 14] + LONG $0x2454940f; BYTE $0x0f // sete byte [rsp + 15] LONG $0x1b46b60f // movzx eax, byte [rsi + 27] WORD $0x423a; BYTE $0x1b // cmp al, byte [rdx + 27] - LONG $0x2454940f; BYTE $0x0f // sete byte [rsp + 15] + LONG $0x2454940f; BYTE $0x10 // sete byte [rsp + 16] LONG $0x1c46b60f // movzx eax, byte [rsi + 28] WORD $0x423a; BYTE $0x1c // cmp al, byte [rdx + 28] - LONG $0x2454940f; BYTE $0x10 // sete byte [rsp + 16] + LONG $0x2454940f; BYTE $0x11 // sete byte [rsp + 17] LONG $0x1d46b60f // movzx eax, byte [rsi + 29] WORD $0x423a; BYTE $0x1d // cmp al, byte [rdx + 29] - LONG $0x2454940f; BYTE $0x11 // sete byte [rsp + 17] + LONG $0x2454940f; BYTE $0x12 // sete byte [rsp + 18] LONG $0x1e46b60f // movzx eax, byte [rsi + 30] WORD $0x423a; BYTE $0x1e // cmp al, byte [rdx + 30] - LONG $0x2454940f; BYTE $0x12 // sete byte [rsp + 18] + LONG $0x2454940f; BYTE $0x13 // sete byte [rsp + 19] LONG $0x1f46b60f // movzx eax, byte [rsi + 31] LONG $0x20c68348 // add rsi, 32 WORD $0x423a; BYTE $0x1f // cmp al, byte [rdx + 31] - LONG $0xd0940f41 // sete r8b - WORD $0xc900 // add cl, cl - LONG $0x28244c02 // add cl, byte [rsp + 40] - WORD $0xc889 // mov eax, ecx - LONG $0x244cb60f; BYTE $0x04 // movzx ecx, byte [rsp + 4] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xdb00 // add bl, bl + LONG $0x04245c02 // add bl, byte [rsp + 4] + WORD $0xd889 // mov eax, ebx + LONG $0x245cb60f; BYTE $0x05 // movzx ebx, byte [rsp + 5] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e7c041 // shl r15b, 7 - WORD $0x0841; BYTE $0xcf // or r15b, cl - LONG $0x244cb60f; BYTE $0x14 // movzx ecx, byte [rsp + 20] - WORD $0xe1c0; BYTE $0x02 // shl cl, 2 - WORD $0xc108 // or cl, al - WORD $0xc889 // mov eax, ecx + WORD $0x0841; BYTE $0xdf // or r15b, bl + LONG $0x245cb60f; BYTE $0x15 // movzx ebx, byte [rsp + 21] + WORD $0xe3c0; BYTE $0x02 // shl bl, 2 + WORD $0xc308 // or bl, al + WORD $0xd889 // mov eax, ebx WORD $0x0040; BYTE $0xff // add dil, dil - LONG $0x247c0240; BYTE $0x07 // add dil, byte [rsp + 7] - LONG $0x244cb60f; BYTE $0x15 // movzx ecx, byte [rsp + 21] - WORD $0xe1c0; BYTE $0x03 // shl cl, 3 - WORD $0xc108 // or cl, al - WORD $0xc889 // mov eax, ecx + LONG $0x247c0240; BYTE $0x08 // add dil, byte [rsp + 8] + LONG $0x245cb60f; BYTE $0x16 // movzx ebx, byte [rsp + 22] + WORD $0xe3c0; BYTE $0x03 // shl bl, 3 + WORD $0xc308 // or bl, al + WORD $0xd889 // mov eax, ebx LONG $0x02e2c041 // shl r10b, 2 WORD $0x0841; BYTE $0xfa // or r10b, dil - LONG $0x244cb60f; BYTE $0x16 // movzx ecx, byte [rsp + 22] - WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0xc108 // or cl, al - WORD $0xcf89 // mov edi, ecx + LONG $0x245cb60f; BYTE $0x17 // movzx ebx, byte [rsp + 23] + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0xc308 // or bl, al + WORD $0xdf89 // mov edi, ebx LONG $0x03e3c041 // shl r11b, 3 WORD $0x0845; BYTE $0xd3 // or r11b, r10b - LONG $0x244cb60f; BYTE $0x17 // movzx ecx, byte [rsp + 23] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0x0840; BYTE $0xf9 // or cl, dil + LONG $0x245cb60f; BYTE $0x03 // movzx ebx, byte [rsp + 3] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + WORD $0x0840; BYTE $0xfb // or bl, dil LONG $0x04e6c041 // shl r14b, 4 WORD $0x0845; BYTE $0xde // or r14b, r11b - LONG $0x2444b60f; BYTE $0x05 // movzx eax, byte [rsp + 5] + LONG $0x2444b60f; BYTE $0x06 // movzx eax, byte [rsp + 6] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0x0844; BYTE $0xf0 // or al, r14b - LONG $0x247cb60f; BYTE $0x06 // movzx edi, byte [rsp + 6] + LONG $0x247cb60f; BYTE $0x07 // movzx edi, byte [rsp + 7] LONG $0x06e7c040 // shl dil, 6 - WORD $0xe3c0; BYTE $0x07 // shl bl, 7 - WORD $0x0840; BYTE $0xfb // or bl, dil - WORD $0x0841; BYTE $0xcf // or r15b, cl - WORD $0xc308 // or bl, al + LONG $0x07e0c041 // shl r8b, 7 + WORD $0x0841; BYTE $0xf8 // or r8b, dil + WORD $0x0841; BYTE $0xdf // or r15b, bl + WORD $0x0841; BYTE $0xc0 // or r8b, al WORD $0x0045; BYTE $0xe4 // add r12b, r12b - LONG $0x24640244; BYTE $0x0d // add r12b, byte [rsp + 13] + LONG $0x24640244; BYTE $0x0e // add r12b, byte [rsp + 14] LONG $0x02e5c041 // shl r13b, 2 WORD $0x0845; BYTE $0xe5 // or r13b, r12b - LONG $0x24748b4c; BYTE $0x30 // mov r14, qword [rsp + 48] - LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + LONG $0x24648b4c; BYTE $0x30 // mov r12, qword [rsp + 48] + LONG $0x2444b60f; BYTE $0x09 // movzx eax, byte [rsp + 9] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0x0844; BYTE $0xe8 // or al, r13b - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x09 // movzx eax, byte [rsp + 9] - WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x0a // movzx eax, byte [rsp + 10] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x0b // movzx eax, byte [rsp + 11] WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - WORD $0x8845; BYTE $0x3e // mov byte [r14], r15b - LONG $0x244cb60f; BYTE $0x0b // movzx ecx, byte [rsp + 11] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 + WORD $0xd808 // or al, bl + LONG $0x243c8845 // mov byte [r12], r15b + LONG $0x245cb60f; BYTE $0x0c // movzx ebx, byte [rsp + 12] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e1c041 // shl r9b, 7 - WORD $0x0841; BYTE $0xc9 // or r9b, cl - LONG $0x015e8841 // mov byte [r14 + 1], bl + WORD $0x0841; BYTE $0xd9 // or r9b, bl + LONG $0x24448845; BYTE $0x01 // mov byte [r12 + 1], r8b WORD $0x0841; BYTE $0xc1 // or r9b, al - LONG $0x2444b60f; BYTE $0x0c // movzx eax, byte [rsp + 12] + LONG $0x2444b60f; BYTE $0x0d // movzx eax, byte [rsp + 13] WORD $0xc000 // add al, al - LONG $0x13244402 // add al, byte [rsp + 19] - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x0e // movzx eax, byte [rsp + 14] - WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + LONG $0x14244402 // add al, byte [rsp + 20] + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x0f // movzx eax, byte [rsp + 15] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] - WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x11 // movzx eax, byte [rsp + 17] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x12 // movzx eax, byte [rsp + 18] WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - LONG $0x244cb60f; BYTE $0x12 // movzx ecx, byte [rsp + 18] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 - LONG $0x07e0c041 // shl r8b, 7 - WORD $0x0841; BYTE $0xc8 // or r8b, cl - WORD $0x0841; BYTE $0xc0 // or r8b, al - LONG $0x024e8845 // mov byte [r14 + 2], r9b - LONG $0x03468845 // mov byte [r14 + 3], r8b + WORD $0xd808 // or al, bl + LONG $0x245cb60f; BYTE $0x13 // movzx ebx, byte [rsp + 19] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 + WORD $0xe1c0; BYTE $0x07 // shl cl, 7 + WORD $0xd908 // or cl, bl + WORD $0xc108 // or cl, al + LONG $0x244c8845; BYTE $0x02 // mov byte [r12 + 2], r9b + LONG $0x244c8841; BYTE $0x03 // mov byte [r12 + 3], cl LONG $0x20c28348 // add rdx, 32 - LONG $0x04c68349 // add r14, 4 - LONG $0x24448348; WORD $0xff20 // add qword [rsp + 32], -1 + LONG $0x04c48349 // add r12, 4 + LONG $0x24448348; WORD $0xff28 // add qword [rsp + 40], -1 JNE LBB0_10 - LONG $0x245c8b4c; BYTE $0x18 // mov r11, qword [rsp + 24] - LONG $0x247c8b4c; BYTE $0x38 // mov r15, qword [rsp + 56] + LONG $0x24748b4c; BYTE $0x18 // mov r14, qword [rsp + 24] + LONG $0x247c8b4c; BYTE $0x20 // mov r15, qword [rsp + 32] LBB0_12: LONG $0x05e7c149 // shl r15, 5 - WORD $0x394d; BYTE $0xdf // cmp r15, r11 + WORD $0x394d; BYTE $0xf7 // cmp r15, r14 JGE LBB0_123 - WORD $0x294d; BYTE $0xfb // sub r11, r15 + WORD $0x294d; BYTE $0xfe // sub r14, r15 WORD $0xc931 // xor ecx, ecx LBB0_14: @@ -821,16 +917,16 @@ LBB0_14: WORD $0xdbf6 // neg bl WORD $0x8948; BYTE $0xcf // mov rdi, rcx LONG $0x03efc148 // shr rdi, 3 - LONG $0x0cb60f45; BYTE $0x3e // movzx r9d, byte [r14 + rdi] + LONG $0x0cb60f45; BYTE $0x3c // movzx r9d, byte [r12 + rdi] WORD $0x3044; BYTE $0xcb // xor bl, r9b WORD $0xe180; BYTE $0x07 // and cl, 7 WORD $0x01b0 // mov al, 1 WORD $0xe0d2 // shl al, cl WORD $0xd820 // and al, bl WORD $0x3044; BYTE $0xc8 // xor al, r9b - LONG $0x3e048841 // mov byte [r14 + rdi], al + LONG $0x3c048841 // mov byte [r12 + rdi], al WORD $0x894c; BYTE $0xc1 // mov rcx, r8 - WORD $0x394d; BYTE $0xc3 // cmp r11, r8 + WORD $0x394d; BYTE $0xc6 // cmp r14, r8 JNE LBB0_14 JMP LBB0_123 @@ -839,16 +935,16 @@ LBB0_30: JE LBB0_90 WORD $0xff83; BYTE $0x08 // cmp edi, 8 JNE LBB0_123 - LONG $0x1f7b8d4d // lea r15, [r11 + 31] - WORD $0x854d; BYTE $0xdb // test r11, r11 - LONG $0xfb490f4d // cmovns r15, r11 - LONG $0x07418d41 // lea eax, [r9 + 7] - WORD $0x8545; BYTE $0xc9 // test r9d, r9d - LONG $0xc1490f41 // cmovns eax, r9d - WORD $0xe083; BYTE $0xf8 // and eax, -8 - WORD $0x2941; BYTE $0xc1 // sub r9d, eax + LONG $0x1f7e8d4d // lea r15, [r14 + 31] + WORD $0x854d; BYTE $0xf6 // test r14, r14 + LONG $0xfe490f4d // cmovns r15, r14 + WORD $0x488d; BYTE $0x07 // lea ecx, [rax + 7] + WORD $0xc085 // test eax, eax + WORD $0x490f; BYTE $0xc8 // cmovns ecx, eax + WORD $0xe183; BYTE $0xf8 // and ecx, -8 + WORD $0xc829 // sub eax, ecx JE LBB0_36 - WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d + WORD $0x9848 // cdqe LBB0_34: WORD $0x8b48; BYTE $0x0e // mov rcx, qword [rsi] @@ -861,7 +957,7 @@ LBB0_34: WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xf8490f48 // cmovns rdi, rax LONG $0x03ffc148 // sar rdi, 3 - LONG $0x04b60f45; BYTE $0x3e // movzx r8d, byte [r14 + rdi] + LONG $0x04b60f45; BYTE $0x3c // movzx r8d, byte [r12 + rdi] WORD $0x3045; BYTE $0xc2 // xor r10b, r8b QUAD $0x00000000fd0c8d44 // lea r9d, [8*rdi] WORD $0xc189 // mov ecx, eax @@ -870,49 +966,49 @@ LBB0_34: WORD $0xe3d3 // shl ebx, cl WORD $0x2044; BYTE $0xd3 // and bl, r10b WORD $0x3044; BYTE $0xc3 // xor bl, r8b - LONG $0x3e1c8841 // mov byte [r14 + rdi], bl + LONG $0x3c1c8841 // mov byte [r12 + rdi], bl LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 JNE LBB0_34 - LONG $0x01c68349 // add r14, 1 + LONG $0x01c48349 // add r12, 1 LBB0_36: LONG $0x05ffc149 // sar r15, 5 - LONG $0x20fb8349 // cmp r11, 32 + LONG $0x20fe8349 // cmp r14, 32 JL LBB0_40 - LONG $0x245c894c; BYTE $0x18 // mov qword [rsp + 24], r11 - LONG $0x247c894c; BYTE $0x40 // mov qword [rsp + 64], r15 + LONG $0x2474894c; BYTE $0x18 // mov qword [rsp + 24], r14 LONG $0x247c894c; BYTE $0x38 // mov qword [rsp + 56], r15 + LONG $0x247c894c; BYTE $0x20 // mov qword [rsp + 32], r15 LBB0_38: - LONG $0x2474894c; BYTE $0x30 // mov qword [rsp + 48], r14 + LONG $0x2464894c; BYTE $0x30 // mov qword [rsp + 48], r12 WORD $0x8b48; BYTE $0x06 // mov rax, qword [rsi] LONG $0x084e8b48 // mov rcx, qword [rsi + 8] WORD $0x3b48; BYTE $0x02 // cmp rax, qword [rdx] - LONG $0x2454940f; BYTE $0x28 // sete byte [rsp + 40] + LONG $0x2454940f; BYTE $0x04 // sete byte [rsp + 4] LONG $0x084a3b48 // cmp rcx, qword [rdx + 8] - LONG $0x2454940f; BYTE $0x20 // sete byte [rsp + 32] + LONG $0x2454940f; BYTE $0x28 // sete byte [rsp + 40] LONG $0x10468b48 // mov rax, qword [rsi + 16] LONG $0x10423b48 // cmp rax, qword [rdx + 16] - LONG $0x2454940f; BYTE $0x14 // sete byte [rsp + 20] + LONG $0x2454940f; BYTE $0x15 // sete byte [rsp + 21] LONG $0x18468b48 // mov rax, qword [rsi + 24] LONG $0x18423b48 // cmp rax, qword [rdx + 24] - LONG $0x2454940f; BYTE $0x15 // sete byte [rsp + 21] + LONG $0x2454940f; BYTE $0x16 // sete byte [rsp + 22] LONG $0x20468b48 // mov rax, qword [rsi + 32] LONG $0x20423b48 // cmp rax, qword [rdx + 32] - LONG $0x2454940f; BYTE $0x16 // sete byte [rsp + 22] + LONG $0x2454940f; BYTE $0x17 // sete byte [rsp + 23] LONG $0x28468b48 // mov rax, qword [rsi + 40] LONG $0x28423b48 // cmp rax, qword [rdx + 40] - LONG $0x2454940f; BYTE $0x17 // sete byte [rsp + 23] + LONG $0x2454940f; BYTE $0x03 // sete byte [rsp + 3] LONG $0x30468b48 // mov rax, qword [rsi + 48] LONG $0x30423b48 // cmp rax, qword [rdx + 48] - LONG $0x2454940f; BYTE $0x04 // sete byte [rsp + 4] + LONG $0x2454940f; BYTE $0x05 // sete byte [rsp + 5] LONG $0x38468b48 // mov rax, qword [rsi + 56] LONG $0x38423b48 // cmp rax, qword [rdx + 56] LONG $0xd5940f41 // sete r13b LONG $0x40468b48 // mov rax, qword [rsi + 64] LONG $0x40423b48 // cmp rax, qword [rdx + 64] - LONG $0x2454940f; BYTE $0x09 // sete byte [rsp + 9] + LONG $0x2454940f; BYTE $0x0a // sete byte [rsp + 10] LONG $0x48468b48 // mov rax, qword [rsi + 72] LONG $0x48423b48 // cmp rax, qword [rdx + 72] LONG $0xd0940f41 // sete r8b @@ -924,165 +1020,165 @@ LBB0_38: LONG $0xd7940f41 // sete r15b LONG $0x60468b48 // mov rax, qword [rsi + 96] LONG $0x60423b48 // cmp rax, qword [rdx + 96] - LONG $0x2454940f; BYTE $0x05 // sete byte [rsp + 5] + LONG $0x2454940f; BYTE $0x06 // sete byte [rsp + 6] LONG $0x68468b48 // mov rax, qword [rsi + 104] LONG $0x68423b48 // cmp rax, qword [rdx + 104] - LONG $0x2454940f; BYTE $0x06 // sete byte [rsp + 6] + LONG $0x2454940f; BYTE $0x07 // sete byte [rsp + 7] LONG $0x70468b48 // mov rax, qword [rsi + 112] LONG $0x70423b48 // cmp rax, qword [rdx + 112] - LONG $0x2454940f; BYTE $0x07 // sete byte [rsp + 7] + LONG $0x2454940f; BYTE $0x08 // sete byte [rsp + 8] LONG $0x78468b48 // mov rax, qword [rsi + 120] LONG $0x78423b48 // cmp rax, qword [rdx + 120] - WORD $0x940f; BYTE $0xd3 // sete bl + LONG $0xd7940f40 // sete dil LONG $0x80868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 128] - LONG $0x888e8b48; WORD $0x0000; BYTE $0x00 // mov rcx, qword [rsi + 136] + LONG $0x889e8b48; WORD $0x0000; BYTE $0x00 // mov rbx, qword [rsi + 136] LONG $0x80823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 128] LONG $0x90868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 144] - LONG $0x2454940f; BYTE $0x0a // sete byte [rsp + 10] - LONG $0x888a3b48; WORD $0x0000; BYTE $0x00 // cmp rcx, qword [rdx + 136] - LONG $0x988e8b48; WORD $0x0000; BYTE $0x00 // mov rcx, qword [rsi + 152] + LONG $0x2454940f; BYTE $0x0b // sete byte [rsp + 11] + LONG $0x889a3b48; WORD $0x0000; BYTE $0x00 // cmp rbx, qword [rdx + 136] + LONG $0x989e8b48; WORD $0x0000; BYTE $0x00 // mov rbx, qword [rsi + 152] LONG $0xd2940f41 // sete r10b LONG $0x90823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 144] LONG $0xa0868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 160] LONG $0xd6940f41 // sete r14b - LONG $0x988a3b48; WORD $0x0000; BYTE $0x00 // cmp rcx, qword [rdx + 152] - LONG $0xa88e8b48; WORD $0x0000; BYTE $0x00 // mov rcx, qword [rsi + 168] + LONG $0x989a3b48; WORD $0x0000; BYTE $0x00 // cmp rbx, qword [rdx + 152] + LONG $0xa89e8b48; WORD $0x0000; BYTE $0x00 // mov rbx, qword [rsi + 168] LONG $0xd4940f41 // sete r12b LONG $0xa0823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 160] - LONG $0x2454940f; BYTE $0x08 // sete byte [rsp + 8] - LONG $0xa88a3b48; WORD $0x0000; BYTE $0x00 // cmp rcx, qword [rdx + 168] + LONG $0x2454940f; BYTE $0x09 // sete byte [rsp + 9] + LONG $0xa89a3b48; WORD $0x0000; BYTE $0x00 // cmp rbx, qword [rdx + 168] LONG $0xb0868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 176] - LONG $0x2454940f; BYTE $0x0b // sete byte [rsp + 11] + LONG $0x2454940f; BYTE $0x0c // sete byte [rsp + 12] LONG $0xb0823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 176] LONG $0xb8868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 184] - LONG $0x2454940f; BYTE $0x0c // sete byte [rsp + 12] + LONG $0x2454940f; BYTE $0x0d // sete byte [rsp + 13] LONG $0xb8823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 184] LONG $0xc0868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 192] LONG $0xd1940f41 // sete r9b LONG $0xc0823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 192] LONG $0xc8868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 200] - LONG $0x2454940f; BYTE $0x13 // sete byte [rsp + 19] + LONG $0x2454940f; BYTE $0x14 // sete byte [rsp + 20] LONG $0xc8823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 200] LONG $0xd0868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 208] - LONG $0x2454940f; BYTE $0x0d // sete byte [rsp + 13] + LONG $0x2454940f; BYTE $0x0e // sete byte [rsp + 14] LONG $0xd0823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 208] LONG $0xd8868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 216] - LONG $0x2454940f; BYTE $0x0e // sete byte [rsp + 14] + LONG $0x2454940f; BYTE $0x0f // sete byte [rsp + 15] LONG $0xd8823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 216] LONG $0xe0868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 224] - LONG $0x2454940f; BYTE $0x0f // sete byte [rsp + 15] + LONG $0x2454940f; BYTE $0x10 // sete byte [rsp + 16] LONG $0xe0823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 224] LONG $0xe8868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 232] - LONG $0x2454940f; BYTE $0x10 // sete byte [rsp + 16] + LONG $0x2454940f; BYTE $0x11 // sete byte [rsp + 17] LONG $0xe8823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 232] LONG $0xf0868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 240] - LONG $0x2454940f; BYTE $0x12 // sete byte [rsp + 18] + LONG $0x2454940f; BYTE $0x13 // sete byte [rsp + 19] LONG $0xf0823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 240] LONG $0xf8868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 248] - LONG $0x2454940f; BYTE $0x11 // sete byte [rsp + 17] + LONG $0x2454940f; BYTE $0x12 // sete byte [rsp + 18] LONG $0x00c68148; WORD $0x0001; BYTE $0x00 // add rsi, 256 LONG $0xf8823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 248] - LONG $0xd7940f40 // sete dil - LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] + WORD $0x940f; BYTE $0xd1 // sete cl + LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] WORD $0xc000 // add al, al - LONG $0x28244402 // add al, byte [rsp + 40] - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x04 // movzx eax, byte [rsp + 4] + LONG $0x04244402 // add al, byte [rsp + 4] + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x05 // movzx eax, byte [rsp + 5] WORD $0xe0c0; BYTE $0x06 // shl al, 6 LONG $0x07e5c041 // shl r13b, 7 WORD $0x0841; BYTE $0xc5 // or r13b, al - LONG $0x2444b60f; BYTE $0x14 // movzx eax, byte [rsp + 20] + LONG $0x2444b60f; BYTE $0x15 // movzx eax, byte [rsp + 21] WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xc808 // or al, cl + WORD $0xd808 // or al, bl WORD $0x0045; BYTE $0xc0 // add r8b, r8b - LONG $0x24440244; BYTE $0x09 // add r8b, byte [rsp + 9] - LONG $0x244cb60f; BYTE $0x15 // movzx ecx, byte [rsp + 21] - WORD $0xe1c0; BYTE $0x03 // shl cl, 3 - WORD $0xc108 // or cl, al - WORD $0xc889 // mov eax, ecx + LONG $0x24440244; BYTE $0x0a // add r8b, byte [rsp + 10] + LONG $0x245cb60f; BYTE $0x16 // movzx ebx, byte [rsp + 22] + WORD $0xe3c0; BYTE $0x03 // shl bl, 3 + WORD $0xc308 // or bl, al + WORD $0xd889 // mov eax, ebx LONG $0x02e3c041 // shl r11b, 2 WORD $0x0845; BYTE $0xc3 // or r11b, r8b - LONG $0x244cb60f; BYTE $0x16 // movzx ecx, byte [rsp + 22] - WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0xc108 // or cl, al - WORD $0x8941; BYTE $0xc8 // mov r8d, ecx + LONG $0x245cb60f; BYTE $0x17 // movzx ebx, byte [rsp + 23] + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0xc308 // or bl, al + WORD $0x8941; BYTE $0xd8 // mov r8d, ebx LONG $0x03e7c041 // shl r15b, 3 WORD $0x0845; BYTE $0xdf // or r15b, r11b - LONG $0x244cb60f; BYTE $0x17 // movzx ecx, byte [rsp + 23] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0x0844; BYTE $0xc1 // or cl, r8b - LONG $0x2444b60f; BYTE $0x05 // movzx eax, byte [rsp + 5] + LONG $0x245cb60f; BYTE $0x03 // movzx ebx, byte [rsp + 3] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + WORD $0x0844; BYTE $0xc3 // or bl, r8b + LONG $0x2444b60f; BYTE $0x06 // movzx eax, byte [rsp + 6] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0x0844; BYTE $0xf8 // or al, r15b WORD $0x8941; BYTE $0xc0 // mov r8d, eax - LONG $0x2444b60f; BYTE $0x06 // movzx eax, byte [rsp + 6] + LONG $0x2444b60f; BYTE $0x07 // movzx eax, byte [rsp + 7] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0x0844; BYTE $0xc0 // or al, r8b - LONG $0x44b60f44; WORD $0x0724 // movzx r8d, byte [rsp + 7] + LONG $0x44b60f44; WORD $0x0824 // movzx r8d, byte [rsp + 8] LONG $0x06e0c041 // shl r8b, 6 - WORD $0xe3c0; BYTE $0x07 // shl bl, 7 - WORD $0x0844; BYTE $0xc3 // or bl, r8b - WORD $0x0841; BYTE $0xcd // or r13b, cl - WORD $0xc308 // or bl, al + LONG $0x07e7c040 // shl dil, 7 + WORD $0x0844; BYTE $0xc7 // or dil, r8b + WORD $0x0841; BYTE $0xdd // or r13b, bl + WORD $0x0840; BYTE $0xc7 // or dil, al WORD $0x0045; BYTE $0xd2 // add r10b, r10b - LONG $0x24540244; BYTE $0x0a // add r10b, byte [rsp + 10] + LONG $0x24540244; BYTE $0x0b // add r10b, byte [rsp + 11] LONG $0x02e6c041 // shl r14b, 2 WORD $0x0845; BYTE $0xd6 // or r14b, r10b LONG $0x03e4c041 // shl r12b, 3 WORD $0x0845; BYTE $0xf4 // or r12b, r14b - LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + LONG $0x2444b60f; BYTE $0x09 // movzx eax, byte [rsp + 9] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0x0844; BYTE $0xe0 // or al, r12b - WORD $0xc189 // mov ecx, eax - LONG $0x24748b4c; BYTE $0x30 // mov r14, qword [rsp + 48] - LONG $0x2444b60f; BYTE $0x0b // movzx eax, byte [rsp + 11] + WORD $0xc389 // mov ebx, eax + LONG $0x24648b4c; BYTE $0x30 // mov r12, qword [rsp + 48] + LONG $0x2444b60f; BYTE $0x0c // movzx eax, byte [rsp + 12] WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - WORD $0x8845; BYTE $0x2e // mov byte [r14], r13b - LONG $0x244cb60f; BYTE $0x0c // movzx ecx, byte [rsp + 12] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 + WORD $0xd808 // or al, bl + LONG $0x242c8845 // mov byte [r12], r13b + LONG $0x245cb60f; BYTE $0x0d // movzx ebx, byte [rsp + 13] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e1c041 // shl r9b, 7 - WORD $0x0841; BYTE $0xc9 // or r9b, cl - LONG $0x015e8841 // mov byte [r14 + 1], bl + WORD $0x0841; BYTE $0xd9 // or r9b, bl + LONG $0x247c8841; BYTE $0x01 // mov byte [r12 + 1], dil WORD $0x0841; BYTE $0xc1 // or r9b, al - LONG $0x2444b60f; BYTE $0x0d // movzx eax, byte [rsp + 13] - WORD $0xc000 // add al, al - LONG $0x13244402 // add al, byte [rsp + 19] - WORD $0xc189 // mov ecx, eax LONG $0x2444b60f; BYTE $0x0e // movzx eax, byte [rsp + 14] - WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xc000 // add al, al + LONG $0x14244402 // add al, byte [rsp + 20] + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x0f // movzx eax, byte [rsp + 15] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x11 // movzx eax, byte [rsp + 17] WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x12 // movzx eax, byte [rsp + 18] + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x13 // movzx eax, byte [rsp + 19] WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - LONG $0x244cb60f; BYTE $0x11 // movzx ecx, byte [rsp + 17] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 - LONG $0x07e7c040 // shl dil, 7 - WORD $0x0840; BYTE $0xcf // or dil, cl - WORD $0x0840; BYTE $0xc7 // or dil, al - LONG $0x024e8845 // mov byte [r14 + 2], r9b - LONG $0x037e8841 // mov byte [r14 + 3], dil + WORD $0xd808 // or al, bl + LONG $0x245cb60f; BYTE $0x12 // movzx ebx, byte [rsp + 18] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 + WORD $0xe1c0; BYTE $0x07 // shl cl, 7 + WORD $0xd908 // or cl, bl + WORD $0xc108 // or cl, al + LONG $0x244c8845; BYTE $0x02 // mov byte [r12 + 2], r9b + LONG $0x244c8841; BYTE $0x03 // mov byte [r12 + 3], cl LONG $0x00c28148; WORD $0x0001; BYTE $0x00 // add rdx, 256 - LONG $0x04c68349 // add r14, 4 - LONG $0x24448348; WORD $0xff38 // add qword [rsp + 56], -1 + LONG $0x04c48349 // add r12, 4 + LONG $0x24448348; WORD $0xff20 // add qword [rsp + 32], -1 JNE LBB0_38 - LONG $0x245c8b4c; BYTE $0x18 // mov r11, qword [rsp + 24] - LONG $0x247c8b4c; BYTE $0x40 // mov r15, qword [rsp + 64] + LONG $0x24748b4c; BYTE $0x18 // mov r14, qword [rsp + 24] + LONG $0x247c8b4c; BYTE $0x38 // mov r15, qword [rsp + 56] LBB0_40: LONG $0x05e7c149 // shl r15, 5 - WORD $0x394d; BYTE $0xdf // cmp r15, r11 + WORD $0x394d; BYTE $0xf7 // cmp r15, r14 JGE LBB0_123 - WORD $0x294d; BYTE $0xfb // sub r11, r15 + WORD $0x294d; BYTE $0xfe // sub r14, r15 WORD $0xc931 // xor ecx, ecx LBB0_42: @@ -1093,30 +1189,30 @@ LBB0_42: WORD $0xdbf6 // neg bl WORD $0x8948; BYTE $0xcf // mov rdi, rcx LONG $0x03efc148 // shr rdi, 3 - LONG $0x0cb60f45; BYTE $0x3e // movzx r9d, byte [r14 + rdi] + LONG $0x0cb60f45; BYTE $0x3c // movzx r9d, byte [r12 + rdi] WORD $0x3044; BYTE $0xcb // xor bl, r9b WORD $0xe180; BYTE $0x07 // and cl, 7 WORD $0x01b0 // mov al, 1 WORD $0xe0d2 // shl al, cl WORD $0xd820 // and al, bl WORD $0x3044; BYTE $0xc8 // xor al, r9b - LONG $0x3e048841 // mov byte [r14 + rdi], al + LONG $0x3c048841 // mov byte [r12 + rdi], al WORD $0x894c; BYTE $0xc1 // mov rcx, r8 - WORD $0x394d; BYTE $0xc3 // cmp r11, r8 + WORD $0x394d; BYTE $0xc6 // cmp r14, r8 JNE LBB0_42 JMP LBB0_123 LBB0_68: - LONG $0x1f7b8d4d // lea r15, [r11 + 31] - WORD $0x854d; BYTE $0xdb // test r11, r11 - LONG $0xfb490f4d // cmovns r15, r11 - LONG $0x07418d41 // lea eax, [r9 + 7] - WORD $0x8545; BYTE $0xc9 // test r9d, r9d - LONG $0xc1490f41 // cmovns eax, r9d - WORD $0xe083; BYTE $0xf8 // and eax, -8 - WORD $0x2941; BYTE $0xc1 // sub r9d, eax + LONG $0x1f7e8d4d // lea r15, [r14 + 31] + WORD $0x854d; BYTE $0xf6 // test r14, r14 + LONG $0xfe490f4d // cmovns r15, r14 + WORD $0x488d; BYTE $0x07 // lea ecx, [rax + 7] + WORD $0xc085 // test eax, eax + WORD $0x490f; BYTE $0xc8 // cmovns ecx, eax + WORD $0xe183; BYTE $0xf8 // and ecx, -8 + WORD $0xc829 // sub eax, ecx JE LBB0_72 - WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d + WORD $0x9848 // cdqe LBB0_70: WORD $0xb70f; BYTE $0x0e // movzx ecx, word [rsi] @@ -1129,7 +1225,7 @@ LBB0_70: WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xf8490f48 // cmovns rdi, rax LONG $0x03ffc148 // sar rdi, 3 - LONG $0x04b60f45; BYTE $0x3e // movzx r8d, byte [r14 + rdi] + LONG $0x04b60f45; BYTE $0x3c // movzx r8d, byte [r12 + rdi] WORD $0x3045; BYTE $0xc2 // xor r10b, r8b QUAD $0x00000000fd0c8d44 // lea r9d, [8*rdi] WORD $0xc189 // mov ecx, eax @@ -1138,49 +1234,49 @@ LBB0_70: WORD $0xe3d3 // shl ebx, cl WORD $0x2044; BYTE $0xd3 // and bl, r10b WORD $0x3044; BYTE $0xc3 // xor bl, r8b - LONG $0x3e1c8841 // mov byte [r14 + rdi], bl + LONG $0x3c1c8841 // mov byte [r12 + rdi], bl LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 JNE LBB0_70 - LONG $0x01c68349 // add r14, 1 + LONG $0x01c48349 // add r12, 1 LBB0_72: LONG $0x05ffc149 // sar r15, 5 - LONG $0x20fb8349 // cmp r11, 32 + LONG $0x20fe8349 // cmp r14, 32 JL LBB0_76 - LONG $0x245c894c; BYTE $0x18 // mov qword [rsp + 24], r11 - LONG $0x247c894c; BYTE $0x40 // mov qword [rsp + 64], r15 + LONG $0x2474894c; BYTE $0x18 // mov qword [rsp + 24], r14 LONG $0x247c894c; BYTE $0x38 // mov qword [rsp + 56], r15 + LONG $0x247c894c; BYTE $0x20 // mov qword [rsp + 32], r15 LBB0_74: - LONG $0x2474894c; BYTE $0x30 // mov qword [rsp + 48], r14 + LONG $0x2464894c; BYTE $0x30 // mov qword [rsp + 48], r12 WORD $0xb70f; BYTE $0x06 // movzx eax, word [rsi] LONG $0x024eb70f // movzx ecx, word [rsi + 2] WORD $0x3b66; BYTE $0x02 // cmp ax, word [rdx] - LONG $0x2454940f; BYTE $0x28 // sete byte [rsp + 40] + LONG $0x2454940f; BYTE $0x04 // sete byte [rsp + 4] LONG $0x024a3b66 // cmp cx, word [rdx + 2] - LONG $0x2454940f; BYTE $0x20 // sete byte [rsp + 32] + LONG $0x2454940f; BYTE $0x28 // sete byte [rsp + 40] LONG $0x0446b70f // movzx eax, word [rsi + 4] LONG $0x04423b66 // cmp ax, word [rdx + 4] - LONG $0x2454940f; BYTE $0x14 // sete byte [rsp + 20] + LONG $0x2454940f; BYTE $0x15 // sete byte [rsp + 21] LONG $0x0646b70f // movzx eax, word [rsi + 6] LONG $0x06423b66 // cmp ax, word [rdx + 6] - LONG $0x2454940f; BYTE $0x15 // sete byte [rsp + 21] + LONG $0x2454940f; BYTE $0x16 // sete byte [rsp + 22] LONG $0x0846b70f // movzx eax, word [rsi + 8] LONG $0x08423b66 // cmp ax, word [rdx + 8] - LONG $0x2454940f; BYTE $0x16 // sete byte [rsp + 22] + LONG $0x2454940f; BYTE $0x17 // sete byte [rsp + 23] LONG $0x0a46b70f // movzx eax, word [rsi + 10] LONG $0x0a423b66 // cmp ax, word [rdx + 10] - LONG $0x2454940f; BYTE $0x17 // sete byte [rsp + 23] + LONG $0x2454940f; BYTE $0x03 // sete byte [rsp + 3] LONG $0x0c46b70f // movzx eax, word [rsi + 12] LONG $0x0c423b66 // cmp ax, word [rdx + 12] - LONG $0x2454940f; BYTE $0x04 // sete byte [rsp + 4] + LONG $0x2454940f; BYTE $0x05 // sete byte [rsp + 5] LONG $0x0e46b70f // movzx eax, word [rsi + 14] LONG $0x0e423b66 // cmp ax, word [rdx + 14] LONG $0xd5940f41 // sete r13b LONG $0x1046b70f // movzx eax, word [rsi + 16] LONG $0x10423b66 // cmp ax, word [rdx + 16] - LONG $0x2454940f; BYTE $0x09 // sete byte [rsp + 9] + LONG $0x2454940f; BYTE $0x0a // sete byte [rsp + 10] LONG $0x1246b70f // movzx eax, word [rsi + 18] LONG $0x12423b66 // cmp ax, word [rdx + 18] LONG $0xd0940f41 // sete r8b @@ -1192,165 +1288,165 @@ LBB0_74: LONG $0xd7940f41 // sete r15b LONG $0x1846b70f // movzx eax, word [rsi + 24] LONG $0x18423b66 // cmp ax, word [rdx + 24] - LONG $0x2454940f; BYTE $0x05 // sete byte [rsp + 5] + LONG $0x2454940f; BYTE $0x06 // sete byte [rsp + 6] LONG $0x1a46b70f // movzx eax, word [rsi + 26] LONG $0x1a423b66 // cmp ax, word [rdx + 26] - LONG $0x2454940f; BYTE $0x06 // sete byte [rsp + 6] + LONG $0x2454940f; BYTE $0x07 // sete byte [rsp + 7] LONG $0x1c46b70f // movzx eax, word [rsi + 28] LONG $0x1c423b66 // cmp ax, word [rdx + 28] - LONG $0x2454940f; BYTE $0x07 // sete byte [rsp + 7] + LONG $0x2454940f; BYTE $0x08 // sete byte [rsp + 8] LONG $0x1e46b70f // movzx eax, word [rsi + 30] LONG $0x1e423b66 // cmp ax, word [rdx + 30] - WORD $0x940f; BYTE $0xd3 // sete bl + LONG $0xd7940f40 // sete dil LONG $0x2046b70f // movzx eax, word [rsi + 32] - LONG $0x224eb70f // movzx ecx, word [rsi + 34] + LONG $0x225eb70f // movzx ebx, word [rsi + 34] LONG $0x20423b66 // cmp ax, word [rdx + 32] LONG $0x2446b70f // movzx eax, word [rsi + 36] - LONG $0x2454940f; BYTE $0x0a // sete byte [rsp + 10] - LONG $0x224a3b66 // cmp cx, word [rdx + 34] - LONG $0x264eb70f // movzx ecx, word [rsi + 38] + LONG $0x2454940f; BYTE $0x0b // sete byte [rsp + 11] + LONG $0x225a3b66 // cmp bx, word [rdx + 34] + LONG $0x265eb70f // movzx ebx, word [rsi + 38] LONG $0xd2940f41 // sete r10b LONG $0x24423b66 // cmp ax, word [rdx + 36] LONG $0x2846b70f // movzx eax, word [rsi + 40] LONG $0xd6940f41 // sete r14b - LONG $0x264a3b66 // cmp cx, word [rdx + 38] - LONG $0x2a4eb70f // movzx ecx, word [rsi + 42] + LONG $0x265a3b66 // cmp bx, word [rdx + 38] + LONG $0x2a5eb70f // movzx ebx, word [rsi + 42] LONG $0xd4940f41 // sete r12b LONG $0x28423b66 // cmp ax, word [rdx + 40] - LONG $0x2454940f; BYTE $0x08 // sete byte [rsp + 8] - LONG $0x2a4a3b66 // cmp cx, word [rdx + 42] + LONG $0x2454940f; BYTE $0x09 // sete byte [rsp + 9] + LONG $0x2a5a3b66 // cmp bx, word [rdx + 42] LONG $0x2c46b70f // movzx eax, word [rsi + 44] - LONG $0x2454940f; BYTE $0x0b // sete byte [rsp + 11] + LONG $0x2454940f; BYTE $0x0c // sete byte [rsp + 12] LONG $0x2c423b66 // cmp ax, word [rdx + 44] LONG $0x2e46b70f // movzx eax, word [rsi + 46] - LONG $0x2454940f; BYTE $0x0c // sete byte [rsp + 12] + LONG $0x2454940f; BYTE $0x0d // sete byte [rsp + 13] LONG $0x2e423b66 // cmp ax, word [rdx + 46] LONG $0x3046b70f // movzx eax, word [rsi + 48] LONG $0xd1940f41 // sete r9b LONG $0x30423b66 // cmp ax, word [rdx + 48] LONG $0x3246b70f // movzx eax, word [rsi + 50] - LONG $0x2454940f; BYTE $0x13 // sete byte [rsp + 19] + LONG $0x2454940f; BYTE $0x14 // sete byte [rsp + 20] LONG $0x32423b66 // cmp ax, word [rdx + 50] LONG $0x3446b70f // movzx eax, word [rsi + 52] - LONG $0x2454940f; BYTE $0x0d // sete byte [rsp + 13] + LONG $0x2454940f; BYTE $0x0e // sete byte [rsp + 14] LONG $0x34423b66 // cmp ax, word [rdx + 52] LONG $0x3646b70f // movzx eax, word [rsi + 54] - LONG $0x2454940f; BYTE $0x0e // sete byte [rsp + 14] + LONG $0x2454940f; BYTE $0x0f // sete byte [rsp + 15] LONG $0x36423b66 // cmp ax, word [rdx + 54] LONG $0x3846b70f // movzx eax, word [rsi + 56] - LONG $0x2454940f; BYTE $0x0f // sete byte [rsp + 15] + LONG $0x2454940f; BYTE $0x10 // sete byte [rsp + 16] LONG $0x38423b66 // cmp ax, word [rdx + 56] LONG $0x3a46b70f // movzx eax, word [rsi + 58] - LONG $0x2454940f; BYTE $0x10 // sete byte [rsp + 16] + LONG $0x2454940f; BYTE $0x11 // sete byte [rsp + 17] LONG $0x3a423b66 // cmp ax, word [rdx + 58] LONG $0x3c46b70f // movzx eax, word [rsi + 60] - LONG $0x2454940f; BYTE $0x12 // sete byte [rsp + 18] + LONG $0x2454940f; BYTE $0x13 // sete byte [rsp + 19] LONG $0x3c423b66 // cmp ax, word [rdx + 60] LONG $0x3e46b70f // movzx eax, word [rsi + 62] - LONG $0x2454940f; BYTE $0x11 // sete byte [rsp + 17] + LONG $0x2454940f; BYTE $0x12 // sete byte [rsp + 18] LONG $0x40c68348 // add rsi, 64 LONG $0x3e423b66 // cmp ax, word [rdx + 62] - LONG $0xd7940f40 // sete dil - LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] + WORD $0x940f; BYTE $0xd1 // sete cl + LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] WORD $0xc000 // add al, al - LONG $0x28244402 // add al, byte [rsp + 40] - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x04 // movzx eax, byte [rsp + 4] + LONG $0x04244402 // add al, byte [rsp + 4] + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x05 // movzx eax, byte [rsp + 5] WORD $0xe0c0; BYTE $0x06 // shl al, 6 LONG $0x07e5c041 // shl r13b, 7 WORD $0x0841; BYTE $0xc5 // or r13b, al - LONG $0x2444b60f; BYTE $0x14 // movzx eax, byte [rsp + 20] + LONG $0x2444b60f; BYTE $0x15 // movzx eax, byte [rsp + 21] WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xc808 // or al, cl + WORD $0xd808 // or al, bl WORD $0x0045; BYTE $0xc0 // add r8b, r8b - LONG $0x24440244; BYTE $0x09 // add r8b, byte [rsp + 9] - LONG $0x244cb60f; BYTE $0x15 // movzx ecx, byte [rsp + 21] - WORD $0xe1c0; BYTE $0x03 // shl cl, 3 - WORD $0xc108 // or cl, al - WORD $0xc889 // mov eax, ecx + LONG $0x24440244; BYTE $0x0a // add r8b, byte [rsp + 10] + LONG $0x245cb60f; BYTE $0x16 // movzx ebx, byte [rsp + 22] + WORD $0xe3c0; BYTE $0x03 // shl bl, 3 + WORD $0xc308 // or bl, al + WORD $0xd889 // mov eax, ebx LONG $0x02e3c041 // shl r11b, 2 WORD $0x0845; BYTE $0xc3 // or r11b, r8b - LONG $0x244cb60f; BYTE $0x16 // movzx ecx, byte [rsp + 22] - WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0xc108 // or cl, al - WORD $0x8941; BYTE $0xc8 // mov r8d, ecx + LONG $0x245cb60f; BYTE $0x17 // movzx ebx, byte [rsp + 23] + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0xc308 // or bl, al + WORD $0x8941; BYTE $0xd8 // mov r8d, ebx LONG $0x03e7c041 // shl r15b, 3 WORD $0x0845; BYTE $0xdf // or r15b, r11b - LONG $0x244cb60f; BYTE $0x17 // movzx ecx, byte [rsp + 23] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0x0844; BYTE $0xc1 // or cl, r8b - LONG $0x2444b60f; BYTE $0x05 // movzx eax, byte [rsp + 5] + LONG $0x245cb60f; BYTE $0x03 // movzx ebx, byte [rsp + 3] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + WORD $0x0844; BYTE $0xc3 // or bl, r8b + LONG $0x2444b60f; BYTE $0x06 // movzx eax, byte [rsp + 6] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0x0844; BYTE $0xf8 // or al, r15b WORD $0x8941; BYTE $0xc0 // mov r8d, eax - LONG $0x2444b60f; BYTE $0x06 // movzx eax, byte [rsp + 6] + LONG $0x2444b60f; BYTE $0x07 // movzx eax, byte [rsp + 7] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0x0844; BYTE $0xc0 // or al, r8b - LONG $0x44b60f44; WORD $0x0724 // movzx r8d, byte [rsp + 7] + LONG $0x44b60f44; WORD $0x0824 // movzx r8d, byte [rsp + 8] LONG $0x06e0c041 // shl r8b, 6 - WORD $0xe3c0; BYTE $0x07 // shl bl, 7 - WORD $0x0844; BYTE $0xc3 // or bl, r8b - WORD $0x0841; BYTE $0xcd // or r13b, cl - WORD $0xc308 // or bl, al + LONG $0x07e7c040 // shl dil, 7 + WORD $0x0844; BYTE $0xc7 // or dil, r8b + WORD $0x0841; BYTE $0xdd // or r13b, bl + WORD $0x0840; BYTE $0xc7 // or dil, al WORD $0x0045; BYTE $0xd2 // add r10b, r10b - LONG $0x24540244; BYTE $0x0a // add r10b, byte [rsp + 10] + LONG $0x24540244; BYTE $0x0b // add r10b, byte [rsp + 11] LONG $0x02e6c041 // shl r14b, 2 WORD $0x0845; BYTE $0xd6 // or r14b, r10b LONG $0x03e4c041 // shl r12b, 3 WORD $0x0845; BYTE $0xf4 // or r12b, r14b - LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + LONG $0x2444b60f; BYTE $0x09 // movzx eax, byte [rsp + 9] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0x0844; BYTE $0xe0 // or al, r12b - WORD $0xc189 // mov ecx, eax - LONG $0x24748b4c; BYTE $0x30 // mov r14, qword [rsp + 48] - LONG $0x2444b60f; BYTE $0x0b // movzx eax, byte [rsp + 11] + WORD $0xc389 // mov ebx, eax + LONG $0x24648b4c; BYTE $0x30 // mov r12, qword [rsp + 48] + LONG $0x2444b60f; BYTE $0x0c // movzx eax, byte [rsp + 12] WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - WORD $0x8845; BYTE $0x2e // mov byte [r14], r13b - LONG $0x244cb60f; BYTE $0x0c // movzx ecx, byte [rsp + 12] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 + WORD $0xd808 // or al, bl + LONG $0x242c8845 // mov byte [r12], r13b + LONG $0x245cb60f; BYTE $0x0d // movzx ebx, byte [rsp + 13] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e1c041 // shl r9b, 7 - WORD $0x0841; BYTE $0xc9 // or r9b, cl - LONG $0x015e8841 // mov byte [r14 + 1], bl + WORD $0x0841; BYTE $0xd9 // or r9b, bl + LONG $0x247c8841; BYTE $0x01 // mov byte [r12 + 1], dil WORD $0x0841; BYTE $0xc1 // or r9b, al - LONG $0x2444b60f; BYTE $0x0d // movzx eax, byte [rsp + 13] - WORD $0xc000 // add al, al - LONG $0x13244402 // add al, byte [rsp + 19] - WORD $0xc189 // mov ecx, eax LONG $0x2444b60f; BYTE $0x0e // movzx eax, byte [rsp + 14] - WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xc000 // add al, al + LONG $0x14244402 // add al, byte [rsp + 20] + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x0f // movzx eax, byte [rsp + 15] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x11 // movzx eax, byte [rsp + 17] WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x12 // movzx eax, byte [rsp + 18] + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x13 // movzx eax, byte [rsp + 19] WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - LONG $0x244cb60f; BYTE $0x11 // movzx ecx, byte [rsp + 17] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 - LONG $0x07e7c040 // shl dil, 7 - WORD $0x0840; BYTE $0xcf // or dil, cl - WORD $0x0840; BYTE $0xc7 // or dil, al - LONG $0x024e8845 // mov byte [r14 + 2], r9b - LONG $0x037e8841 // mov byte [r14 + 3], dil + WORD $0xd808 // or al, bl + LONG $0x245cb60f; BYTE $0x12 // movzx ebx, byte [rsp + 18] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 + WORD $0xe1c0; BYTE $0x07 // shl cl, 7 + WORD $0xd908 // or cl, bl + WORD $0xc108 // or cl, al + LONG $0x244c8845; BYTE $0x02 // mov byte [r12 + 2], r9b + LONG $0x244c8841; BYTE $0x03 // mov byte [r12 + 3], cl LONG $0x40c28348 // add rdx, 64 - LONG $0x04c68349 // add r14, 4 - LONG $0x24448348; WORD $0xff38 // add qword [rsp + 56], -1 + LONG $0x04c48349 // add r12, 4 + LONG $0x24448348; WORD $0xff20 // add qword [rsp + 32], -1 JNE LBB0_74 - LONG $0x245c8b4c; BYTE $0x18 // mov r11, qword [rsp + 24] - LONG $0x247c8b4c; BYTE $0x40 // mov r15, qword [rsp + 64] + LONG $0x24748b4c; BYTE $0x18 // mov r14, qword [rsp + 24] + LONG $0x247c8b4c; BYTE $0x38 // mov r15, qword [rsp + 56] LBB0_76: LONG $0x05e7c149 // shl r15, 5 - WORD $0x394d; BYTE $0xdf // cmp r15, r11 + WORD $0x394d; BYTE $0xf7 // cmp r15, r14 JGE LBB0_123 - WORD $0x294d; BYTE $0xfb // sub r11, r15 + WORD $0x294d; BYTE $0xfe // sub r14, r15 WORD $0xc931 // xor ecx, ecx LBB0_78: @@ -1361,30 +1457,30 @@ LBB0_78: WORD $0xdbf6 // neg bl WORD $0x8948; BYTE $0xcf // mov rdi, rcx LONG $0x03efc148 // shr rdi, 3 - LONG $0x0cb60f45; BYTE $0x3e // movzx r9d, byte [r14 + rdi] + LONG $0x0cb60f45; BYTE $0x3c // movzx r9d, byte [r12 + rdi] WORD $0x3044; BYTE $0xcb // xor bl, r9b WORD $0xe180; BYTE $0x07 // and cl, 7 WORD $0x01b0 // mov al, 1 WORD $0xe0d2 // shl al, cl WORD $0xd820 // and al, bl WORD $0x3044; BYTE $0xc8 // xor al, r9b - LONG $0x3e048841 // mov byte [r14 + rdi], al + LONG $0x3c048841 // mov byte [r12 + rdi], al WORD $0x894c; BYTE $0xc1 // mov rcx, r8 - WORD $0x394d; BYTE $0xc3 // cmp r11, r8 + WORD $0x394d; BYTE $0xc6 // cmp r14, r8 JNE LBB0_78 JMP LBB0_123 LBB0_79: - LONG $0x1f7b8d4d // lea r15, [r11 + 31] - WORD $0x854d; BYTE $0xdb // test r11, r11 - LONG $0xfb490f4d // cmovns r15, r11 - LONG $0x07418d41 // lea eax, [r9 + 7] - WORD $0x8545; BYTE $0xc9 // test r9d, r9d - LONG $0xc1490f41 // cmovns eax, r9d - WORD $0xe083; BYTE $0xf8 // and eax, -8 - WORD $0x2941; BYTE $0xc1 // sub r9d, eax + LONG $0x1f7e8d4d // lea r15, [r14 + 31] + WORD $0x854d; BYTE $0xf6 // test r14, r14 + LONG $0xfe490f4d // cmovns r15, r14 + WORD $0x488d; BYTE $0x07 // lea ecx, [rax + 7] + WORD $0xc085 // test eax, eax + WORD $0x490f; BYTE $0xc8 // cmovns ecx, eax + WORD $0xe183; BYTE $0xf8 // and ecx, -8 + WORD $0xc829 // sub eax, ecx JE LBB0_83 - WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d + WORD $0x9848 // cdqe LBB0_81: WORD $0xb70f; BYTE $0x0e // movzx ecx, word [rsi] @@ -1397,7 +1493,7 @@ LBB0_81: WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xf8490f48 // cmovns rdi, rax LONG $0x03ffc148 // sar rdi, 3 - LONG $0x04b60f45; BYTE $0x3e // movzx r8d, byte [r14 + rdi] + LONG $0x04b60f45; BYTE $0x3c // movzx r8d, byte [r12 + rdi] WORD $0x3045; BYTE $0xc2 // xor r10b, r8b QUAD $0x00000000fd0c8d44 // lea r9d, [8*rdi] WORD $0xc189 // mov ecx, eax @@ -1406,49 +1502,49 @@ LBB0_81: WORD $0xe3d3 // shl ebx, cl WORD $0x2044; BYTE $0xd3 // and bl, r10b WORD $0x3044; BYTE $0xc3 // xor bl, r8b - LONG $0x3e1c8841 // mov byte [r14 + rdi], bl + LONG $0x3c1c8841 // mov byte [r12 + rdi], bl LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 JNE LBB0_81 - LONG $0x01c68349 // add r14, 1 + LONG $0x01c48349 // add r12, 1 LBB0_83: LONG $0x05ffc149 // sar r15, 5 - LONG $0x20fb8349 // cmp r11, 32 + LONG $0x20fe8349 // cmp r14, 32 JL LBB0_87 - LONG $0x245c894c; BYTE $0x18 // mov qword [rsp + 24], r11 - LONG $0x247c894c; BYTE $0x40 // mov qword [rsp + 64], r15 + LONG $0x2474894c; BYTE $0x18 // mov qword [rsp + 24], r14 LONG $0x247c894c; BYTE $0x38 // mov qword [rsp + 56], r15 + LONG $0x247c894c; BYTE $0x20 // mov qword [rsp + 32], r15 LBB0_85: - LONG $0x2474894c; BYTE $0x30 // mov qword [rsp + 48], r14 + LONG $0x2464894c; BYTE $0x30 // mov qword [rsp + 48], r12 WORD $0xb70f; BYTE $0x06 // movzx eax, word [rsi] LONG $0x024eb70f // movzx ecx, word [rsi + 2] WORD $0x3b66; BYTE $0x02 // cmp ax, word [rdx] - LONG $0x2454940f; BYTE $0x28 // sete byte [rsp + 40] + LONG $0x2454940f; BYTE $0x04 // sete byte [rsp + 4] LONG $0x024a3b66 // cmp cx, word [rdx + 2] - LONG $0x2454940f; BYTE $0x20 // sete byte [rsp + 32] + LONG $0x2454940f; BYTE $0x28 // sete byte [rsp + 40] LONG $0x0446b70f // movzx eax, word [rsi + 4] LONG $0x04423b66 // cmp ax, word [rdx + 4] - LONG $0x2454940f; BYTE $0x14 // sete byte [rsp + 20] + LONG $0x2454940f; BYTE $0x15 // sete byte [rsp + 21] LONG $0x0646b70f // movzx eax, word [rsi + 6] LONG $0x06423b66 // cmp ax, word [rdx + 6] - LONG $0x2454940f; BYTE $0x15 // sete byte [rsp + 21] + LONG $0x2454940f; BYTE $0x16 // sete byte [rsp + 22] LONG $0x0846b70f // movzx eax, word [rsi + 8] LONG $0x08423b66 // cmp ax, word [rdx + 8] - LONG $0x2454940f; BYTE $0x16 // sete byte [rsp + 22] + LONG $0x2454940f; BYTE $0x17 // sete byte [rsp + 23] LONG $0x0a46b70f // movzx eax, word [rsi + 10] LONG $0x0a423b66 // cmp ax, word [rdx + 10] - LONG $0x2454940f; BYTE $0x17 // sete byte [rsp + 23] + LONG $0x2454940f; BYTE $0x03 // sete byte [rsp + 3] LONG $0x0c46b70f // movzx eax, word [rsi + 12] LONG $0x0c423b66 // cmp ax, word [rdx + 12] - LONG $0x2454940f; BYTE $0x04 // sete byte [rsp + 4] + LONG $0x2454940f; BYTE $0x05 // sete byte [rsp + 5] LONG $0x0e46b70f // movzx eax, word [rsi + 14] LONG $0x0e423b66 // cmp ax, word [rdx + 14] LONG $0xd5940f41 // sete r13b LONG $0x1046b70f // movzx eax, word [rsi + 16] LONG $0x10423b66 // cmp ax, word [rdx + 16] - LONG $0x2454940f; BYTE $0x09 // sete byte [rsp + 9] + LONG $0x2454940f; BYTE $0x0a // sete byte [rsp + 10] LONG $0x1246b70f // movzx eax, word [rsi + 18] LONG $0x12423b66 // cmp ax, word [rdx + 18] LONG $0xd0940f41 // sete r8b @@ -1460,165 +1556,165 @@ LBB0_85: LONG $0xd7940f41 // sete r15b LONG $0x1846b70f // movzx eax, word [rsi + 24] LONG $0x18423b66 // cmp ax, word [rdx + 24] - LONG $0x2454940f; BYTE $0x05 // sete byte [rsp + 5] + LONG $0x2454940f; BYTE $0x06 // sete byte [rsp + 6] LONG $0x1a46b70f // movzx eax, word [rsi + 26] LONG $0x1a423b66 // cmp ax, word [rdx + 26] - LONG $0x2454940f; BYTE $0x06 // sete byte [rsp + 6] + LONG $0x2454940f; BYTE $0x07 // sete byte [rsp + 7] LONG $0x1c46b70f // movzx eax, word [rsi + 28] LONG $0x1c423b66 // cmp ax, word [rdx + 28] - LONG $0x2454940f; BYTE $0x07 // sete byte [rsp + 7] + LONG $0x2454940f; BYTE $0x08 // sete byte [rsp + 8] LONG $0x1e46b70f // movzx eax, word [rsi + 30] LONG $0x1e423b66 // cmp ax, word [rdx + 30] - WORD $0x940f; BYTE $0xd3 // sete bl + LONG $0xd7940f40 // sete dil LONG $0x2046b70f // movzx eax, word [rsi + 32] - LONG $0x224eb70f // movzx ecx, word [rsi + 34] + LONG $0x225eb70f // movzx ebx, word [rsi + 34] LONG $0x20423b66 // cmp ax, word [rdx + 32] LONG $0x2446b70f // movzx eax, word [rsi + 36] - LONG $0x2454940f; BYTE $0x0a // sete byte [rsp + 10] - LONG $0x224a3b66 // cmp cx, word [rdx + 34] - LONG $0x264eb70f // movzx ecx, word [rsi + 38] + LONG $0x2454940f; BYTE $0x0b // sete byte [rsp + 11] + LONG $0x225a3b66 // cmp bx, word [rdx + 34] + LONG $0x265eb70f // movzx ebx, word [rsi + 38] LONG $0xd2940f41 // sete r10b LONG $0x24423b66 // cmp ax, word [rdx + 36] LONG $0x2846b70f // movzx eax, word [rsi + 40] LONG $0xd6940f41 // sete r14b - LONG $0x264a3b66 // cmp cx, word [rdx + 38] - LONG $0x2a4eb70f // movzx ecx, word [rsi + 42] + LONG $0x265a3b66 // cmp bx, word [rdx + 38] + LONG $0x2a5eb70f // movzx ebx, word [rsi + 42] LONG $0xd4940f41 // sete r12b LONG $0x28423b66 // cmp ax, word [rdx + 40] - LONG $0x2454940f; BYTE $0x08 // sete byte [rsp + 8] - LONG $0x2a4a3b66 // cmp cx, word [rdx + 42] + LONG $0x2454940f; BYTE $0x09 // sete byte [rsp + 9] + LONG $0x2a5a3b66 // cmp bx, word [rdx + 42] LONG $0x2c46b70f // movzx eax, word [rsi + 44] - LONG $0x2454940f; BYTE $0x0b // sete byte [rsp + 11] + LONG $0x2454940f; BYTE $0x0c // sete byte [rsp + 12] LONG $0x2c423b66 // cmp ax, word [rdx + 44] LONG $0x2e46b70f // movzx eax, word [rsi + 46] - LONG $0x2454940f; BYTE $0x0c // sete byte [rsp + 12] + LONG $0x2454940f; BYTE $0x0d // sete byte [rsp + 13] LONG $0x2e423b66 // cmp ax, word [rdx + 46] LONG $0x3046b70f // movzx eax, word [rsi + 48] LONG $0xd1940f41 // sete r9b LONG $0x30423b66 // cmp ax, word [rdx + 48] LONG $0x3246b70f // movzx eax, word [rsi + 50] - LONG $0x2454940f; BYTE $0x13 // sete byte [rsp + 19] + LONG $0x2454940f; BYTE $0x14 // sete byte [rsp + 20] LONG $0x32423b66 // cmp ax, word [rdx + 50] LONG $0x3446b70f // movzx eax, word [rsi + 52] - LONG $0x2454940f; BYTE $0x0d // sete byte [rsp + 13] + LONG $0x2454940f; BYTE $0x0e // sete byte [rsp + 14] LONG $0x34423b66 // cmp ax, word [rdx + 52] LONG $0x3646b70f // movzx eax, word [rsi + 54] - LONG $0x2454940f; BYTE $0x0e // sete byte [rsp + 14] + LONG $0x2454940f; BYTE $0x0f // sete byte [rsp + 15] LONG $0x36423b66 // cmp ax, word [rdx + 54] LONG $0x3846b70f // movzx eax, word [rsi + 56] - LONG $0x2454940f; BYTE $0x0f // sete byte [rsp + 15] + LONG $0x2454940f; BYTE $0x10 // sete byte [rsp + 16] LONG $0x38423b66 // cmp ax, word [rdx + 56] LONG $0x3a46b70f // movzx eax, word [rsi + 58] - LONG $0x2454940f; BYTE $0x10 // sete byte [rsp + 16] + LONG $0x2454940f; BYTE $0x11 // sete byte [rsp + 17] LONG $0x3a423b66 // cmp ax, word [rdx + 58] LONG $0x3c46b70f // movzx eax, word [rsi + 60] - LONG $0x2454940f; BYTE $0x12 // sete byte [rsp + 18] + LONG $0x2454940f; BYTE $0x13 // sete byte [rsp + 19] LONG $0x3c423b66 // cmp ax, word [rdx + 60] LONG $0x3e46b70f // movzx eax, word [rsi + 62] - LONG $0x2454940f; BYTE $0x11 // sete byte [rsp + 17] + LONG $0x2454940f; BYTE $0x12 // sete byte [rsp + 18] LONG $0x40c68348 // add rsi, 64 LONG $0x3e423b66 // cmp ax, word [rdx + 62] - LONG $0xd7940f40 // sete dil - LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] + WORD $0x940f; BYTE $0xd1 // sete cl + LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] WORD $0xc000 // add al, al - LONG $0x28244402 // add al, byte [rsp + 40] - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x04 // movzx eax, byte [rsp + 4] + LONG $0x04244402 // add al, byte [rsp + 4] + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x05 // movzx eax, byte [rsp + 5] WORD $0xe0c0; BYTE $0x06 // shl al, 6 LONG $0x07e5c041 // shl r13b, 7 WORD $0x0841; BYTE $0xc5 // or r13b, al - LONG $0x2444b60f; BYTE $0x14 // movzx eax, byte [rsp + 20] + LONG $0x2444b60f; BYTE $0x15 // movzx eax, byte [rsp + 21] WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xc808 // or al, cl + WORD $0xd808 // or al, bl WORD $0x0045; BYTE $0xc0 // add r8b, r8b - LONG $0x24440244; BYTE $0x09 // add r8b, byte [rsp + 9] - LONG $0x244cb60f; BYTE $0x15 // movzx ecx, byte [rsp + 21] - WORD $0xe1c0; BYTE $0x03 // shl cl, 3 - WORD $0xc108 // or cl, al - WORD $0xc889 // mov eax, ecx + LONG $0x24440244; BYTE $0x0a // add r8b, byte [rsp + 10] + LONG $0x245cb60f; BYTE $0x16 // movzx ebx, byte [rsp + 22] + WORD $0xe3c0; BYTE $0x03 // shl bl, 3 + WORD $0xc308 // or bl, al + WORD $0xd889 // mov eax, ebx LONG $0x02e3c041 // shl r11b, 2 WORD $0x0845; BYTE $0xc3 // or r11b, r8b - LONG $0x244cb60f; BYTE $0x16 // movzx ecx, byte [rsp + 22] - WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0xc108 // or cl, al - WORD $0x8941; BYTE $0xc8 // mov r8d, ecx + LONG $0x245cb60f; BYTE $0x17 // movzx ebx, byte [rsp + 23] + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0xc308 // or bl, al + WORD $0x8941; BYTE $0xd8 // mov r8d, ebx LONG $0x03e7c041 // shl r15b, 3 WORD $0x0845; BYTE $0xdf // or r15b, r11b - LONG $0x244cb60f; BYTE $0x17 // movzx ecx, byte [rsp + 23] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0x0844; BYTE $0xc1 // or cl, r8b - LONG $0x2444b60f; BYTE $0x05 // movzx eax, byte [rsp + 5] + LONG $0x245cb60f; BYTE $0x03 // movzx ebx, byte [rsp + 3] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + WORD $0x0844; BYTE $0xc3 // or bl, r8b + LONG $0x2444b60f; BYTE $0x06 // movzx eax, byte [rsp + 6] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0x0844; BYTE $0xf8 // or al, r15b WORD $0x8941; BYTE $0xc0 // mov r8d, eax - LONG $0x2444b60f; BYTE $0x06 // movzx eax, byte [rsp + 6] + LONG $0x2444b60f; BYTE $0x07 // movzx eax, byte [rsp + 7] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0x0844; BYTE $0xc0 // or al, r8b - LONG $0x44b60f44; WORD $0x0724 // movzx r8d, byte [rsp + 7] + LONG $0x44b60f44; WORD $0x0824 // movzx r8d, byte [rsp + 8] LONG $0x06e0c041 // shl r8b, 6 - WORD $0xe3c0; BYTE $0x07 // shl bl, 7 - WORD $0x0844; BYTE $0xc3 // or bl, r8b - WORD $0x0841; BYTE $0xcd // or r13b, cl - WORD $0xc308 // or bl, al + LONG $0x07e7c040 // shl dil, 7 + WORD $0x0844; BYTE $0xc7 // or dil, r8b + WORD $0x0841; BYTE $0xdd // or r13b, bl + WORD $0x0840; BYTE $0xc7 // or dil, al WORD $0x0045; BYTE $0xd2 // add r10b, r10b - LONG $0x24540244; BYTE $0x0a // add r10b, byte [rsp + 10] + LONG $0x24540244; BYTE $0x0b // add r10b, byte [rsp + 11] LONG $0x02e6c041 // shl r14b, 2 WORD $0x0845; BYTE $0xd6 // or r14b, r10b LONG $0x03e4c041 // shl r12b, 3 WORD $0x0845; BYTE $0xf4 // or r12b, r14b - LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + LONG $0x2444b60f; BYTE $0x09 // movzx eax, byte [rsp + 9] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0x0844; BYTE $0xe0 // or al, r12b - WORD $0xc189 // mov ecx, eax - LONG $0x24748b4c; BYTE $0x30 // mov r14, qword [rsp + 48] - LONG $0x2444b60f; BYTE $0x0b // movzx eax, byte [rsp + 11] + WORD $0xc389 // mov ebx, eax + LONG $0x24648b4c; BYTE $0x30 // mov r12, qword [rsp + 48] + LONG $0x2444b60f; BYTE $0x0c // movzx eax, byte [rsp + 12] WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - WORD $0x8845; BYTE $0x2e // mov byte [r14], r13b - LONG $0x244cb60f; BYTE $0x0c // movzx ecx, byte [rsp + 12] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 + WORD $0xd808 // or al, bl + LONG $0x242c8845 // mov byte [r12], r13b + LONG $0x245cb60f; BYTE $0x0d // movzx ebx, byte [rsp + 13] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e1c041 // shl r9b, 7 - WORD $0x0841; BYTE $0xc9 // or r9b, cl - LONG $0x015e8841 // mov byte [r14 + 1], bl + WORD $0x0841; BYTE $0xd9 // or r9b, bl + LONG $0x247c8841; BYTE $0x01 // mov byte [r12 + 1], dil WORD $0x0841; BYTE $0xc1 // or r9b, al - LONG $0x2444b60f; BYTE $0x0d // movzx eax, byte [rsp + 13] - WORD $0xc000 // add al, al - LONG $0x13244402 // add al, byte [rsp + 19] - WORD $0xc189 // mov ecx, eax LONG $0x2444b60f; BYTE $0x0e // movzx eax, byte [rsp + 14] - WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xc000 // add al, al + LONG $0x14244402 // add al, byte [rsp + 20] + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x0f // movzx eax, byte [rsp + 15] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x11 // movzx eax, byte [rsp + 17] WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x12 // movzx eax, byte [rsp + 18] + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x13 // movzx eax, byte [rsp + 19] WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - LONG $0x244cb60f; BYTE $0x11 // movzx ecx, byte [rsp + 17] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 - LONG $0x07e7c040 // shl dil, 7 - WORD $0x0840; BYTE $0xcf // or dil, cl - WORD $0x0840; BYTE $0xc7 // or dil, al - LONG $0x024e8845 // mov byte [r14 + 2], r9b - LONG $0x037e8841 // mov byte [r14 + 3], dil + WORD $0xd808 // or al, bl + LONG $0x245cb60f; BYTE $0x12 // movzx ebx, byte [rsp + 18] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 + WORD $0xe1c0; BYTE $0x07 // shl cl, 7 + WORD $0xd908 // or cl, bl + WORD $0xc108 // or cl, al + LONG $0x244c8845; BYTE $0x02 // mov byte [r12 + 2], r9b + LONG $0x244c8841; BYTE $0x03 // mov byte [r12 + 3], cl LONG $0x40c28348 // add rdx, 64 - LONG $0x04c68349 // add r14, 4 - LONG $0x24448348; WORD $0xff38 // add qword [rsp + 56], -1 + LONG $0x04c48349 // add r12, 4 + LONG $0x24448348; WORD $0xff20 // add qword [rsp + 32], -1 JNE LBB0_85 - LONG $0x245c8b4c; BYTE $0x18 // mov r11, qword [rsp + 24] - LONG $0x247c8b4c; BYTE $0x40 // mov r15, qword [rsp + 64] + LONG $0x24748b4c; BYTE $0x18 // mov r14, qword [rsp + 24] + LONG $0x247c8b4c; BYTE $0x38 // mov r15, qword [rsp + 56] LBB0_87: LONG $0x05e7c149 // shl r15, 5 - WORD $0x394d; BYTE $0xdf // cmp r15, r11 + WORD $0x394d; BYTE $0xf7 // cmp r15, r14 JGE LBB0_123 - WORD $0x294d; BYTE $0xfb // sub r11, r15 + WORD $0x294d; BYTE $0xfe // sub r14, r15 WORD $0xc931 // xor ecx, ecx LBB0_89: @@ -1629,30 +1725,30 @@ LBB0_89: WORD $0xdbf6 // neg bl WORD $0x8948; BYTE $0xcf // mov rdi, rcx LONG $0x03efc148 // shr rdi, 3 - LONG $0x0cb60f45; BYTE $0x3e // movzx r9d, byte [r14 + rdi] + LONG $0x0cb60f45; BYTE $0x3c // movzx r9d, byte [r12 + rdi] WORD $0x3044; BYTE $0xcb // xor bl, r9b WORD $0xe180; BYTE $0x07 // and cl, 7 WORD $0x01b0 // mov al, 1 WORD $0xe0d2 // shl al, cl WORD $0xd820 // and al, bl WORD $0x3044; BYTE $0xc8 // xor al, r9b - LONG $0x3e048841 // mov byte [r14 + rdi], al + LONG $0x3c048841 // mov byte [r12 + rdi], al WORD $0x894c; BYTE $0xc1 // mov rcx, r8 - WORD $0x394d; BYTE $0xc3 // cmp r11, r8 + WORD $0x394d; BYTE $0xc6 // cmp r14, r8 JNE LBB0_89 JMP LBB0_123 LBB0_101: - LONG $0x1f7b8d4d // lea r15, [r11 + 31] - WORD $0x854d; BYTE $0xdb // test r11, r11 - LONG $0xfb490f4d // cmovns r15, r11 - LONG $0x07418d41 // lea eax, [r9 + 7] - WORD $0x8545; BYTE $0xc9 // test r9d, r9d - LONG $0xc1490f41 // cmovns eax, r9d - WORD $0xe083; BYTE $0xf8 // and eax, -8 - WORD $0x2941; BYTE $0xc1 // sub r9d, eax + LONG $0x1f7e8d4d // lea r15, [r14 + 31] + WORD $0x854d; BYTE $0xf6 // test r14, r14 + LONG $0xfe490f4d // cmovns r15, r14 + WORD $0x488d; BYTE $0x07 // lea ecx, [rax + 7] + WORD $0xc085 // test eax, eax + WORD $0x490f; BYTE $0xc8 // cmovns ecx, eax + WORD $0xe183; BYTE $0xf8 // and ecx, -8 + WORD $0xc829 // sub eax, ecx JE LBB0_105 - WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d + WORD $0x9848 // cdqe LBB0_103: WORD $0x8b48; BYTE $0x0e // mov rcx, qword [rsi] @@ -1665,7 +1761,7 @@ LBB0_103: WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xf8490f48 // cmovns rdi, rax LONG $0x03ffc148 // sar rdi, 3 - LONG $0x04b60f45; BYTE $0x3e // movzx r8d, byte [r14 + rdi] + LONG $0x04b60f45; BYTE $0x3c // movzx r8d, byte [r12 + rdi] WORD $0x3045; BYTE $0xc2 // xor r10b, r8b QUAD $0x00000000fd0c8d44 // lea r9d, [8*rdi] WORD $0xc189 // mov ecx, eax @@ -1674,49 +1770,49 @@ LBB0_103: WORD $0xe3d3 // shl ebx, cl WORD $0x2044; BYTE $0xd3 // and bl, r10b WORD $0x3044; BYTE $0xc3 // xor bl, r8b - LONG $0x3e1c8841 // mov byte [r14 + rdi], bl + LONG $0x3c1c8841 // mov byte [r12 + rdi], bl LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 JNE LBB0_103 - LONG $0x01c68349 // add r14, 1 + LONG $0x01c48349 // add r12, 1 LBB0_105: LONG $0x05ffc149 // sar r15, 5 - LONG $0x20fb8349 // cmp r11, 32 + LONG $0x20fe8349 // cmp r14, 32 JL LBB0_109 - LONG $0x245c894c; BYTE $0x18 // mov qword [rsp + 24], r11 - LONG $0x247c894c; BYTE $0x40 // mov qword [rsp + 64], r15 + LONG $0x2474894c; BYTE $0x18 // mov qword [rsp + 24], r14 LONG $0x247c894c; BYTE $0x38 // mov qword [rsp + 56], r15 + LONG $0x247c894c; BYTE $0x20 // mov qword [rsp + 32], r15 LBB0_107: - LONG $0x2474894c; BYTE $0x30 // mov qword [rsp + 48], r14 + LONG $0x2464894c; BYTE $0x30 // mov qword [rsp + 48], r12 WORD $0x8b48; BYTE $0x06 // mov rax, qword [rsi] LONG $0x084e8b48 // mov rcx, qword [rsi + 8] WORD $0x3b48; BYTE $0x02 // cmp rax, qword [rdx] - LONG $0x2454940f; BYTE $0x28 // sete byte [rsp + 40] + LONG $0x2454940f; BYTE $0x04 // sete byte [rsp + 4] LONG $0x084a3b48 // cmp rcx, qword [rdx + 8] - LONG $0x2454940f; BYTE $0x20 // sete byte [rsp + 32] + LONG $0x2454940f; BYTE $0x28 // sete byte [rsp + 40] LONG $0x10468b48 // mov rax, qword [rsi + 16] LONG $0x10423b48 // cmp rax, qword [rdx + 16] - LONG $0x2454940f; BYTE $0x14 // sete byte [rsp + 20] + LONG $0x2454940f; BYTE $0x15 // sete byte [rsp + 21] LONG $0x18468b48 // mov rax, qword [rsi + 24] LONG $0x18423b48 // cmp rax, qword [rdx + 24] - LONG $0x2454940f; BYTE $0x15 // sete byte [rsp + 21] + LONG $0x2454940f; BYTE $0x16 // sete byte [rsp + 22] LONG $0x20468b48 // mov rax, qword [rsi + 32] LONG $0x20423b48 // cmp rax, qword [rdx + 32] - LONG $0x2454940f; BYTE $0x16 // sete byte [rsp + 22] + LONG $0x2454940f; BYTE $0x17 // sete byte [rsp + 23] LONG $0x28468b48 // mov rax, qword [rsi + 40] LONG $0x28423b48 // cmp rax, qword [rdx + 40] - LONG $0x2454940f; BYTE $0x17 // sete byte [rsp + 23] + LONG $0x2454940f; BYTE $0x03 // sete byte [rsp + 3] LONG $0x30468b48 // mov rax, qword [rsi + 48] LONG $0x30423b48 // cmp rax, qword [rdx + 48] - LONG $0x2454940f; BYTE $0x04 // sete byte [rsp + 4] + LONG $0x2454940f; BYTE $0x05 // sete byte [rsp + 5] LONG $0x38468b48 // mov rax, qword [rsi + 56] LONG $0x38423b48 // cmp rax, qword [rdx + 56] LONG $0xd5940f41 // sete r13b LONG $0x40468b48 // mov rax, qword [rsi + 64] LONG $0x40423b48 // cmp rax, qword [rdx + 64] - LONG $0x2454940f; BYTE $0x09 // sete byte [rsp + 9] + LONG $0x2454940f; BYTE $0x0a // sete byte [rsp + 10] LONG $0x48468b48 // mov rax, qword [rsi + 72] LONG $0x48423b48 // cmp rax, qword [rdx + 72] LONG $0xd0940f41 // sete r8b @@ -1728,165 +1824,165 @@ LBB0_107: LONG $0xd7940f41 // sete r15b LONG $0x60468b48 // mov rax, qword [rsi + 96] LONG $0x60423b48 // cmp rax, qword [rdx + 96] - LONG $0x2454940f; BYTE $0x05 // sete byte [rsp + 5] + LONG $0x2454940f; BYTE $0x06 // sete byte [rsp + 6] LONG $0x68468b48 // mov rax, qword [rsi + 104] LONG $0x68423b48 // cmp rax, qword [rdx + 104] - LONG $0x2454940f; BYTE $0x06 // sete byte [rsp + 6] + LONG $0x2454940f; BYTE $0x07 // sete byte [rsp + 7] LONG $0x70468b48 // mov rax, qword [rsi + 112] LONG $0x70423b48 // cmp rax, qword [rdx + 112] - LONG $0x2454940f; BYTE $0x07 // sete byte [rsp + 7] + LONG $0x2454940f; BYTE $0x08 // sete byte [rsp + 8] LONG $0x78468b48 // mov rax, qword [rsi + 120] LONG $0x78423b48 // cmp rax, qword [rdx + 120] - WORD $0x940f; BYTE $0xd3 // sete bl + LONG $0xd7940f40 // sete dil LONG $0x80868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 128] - LONG $0x888e8b48; WORD $0x0000; BYTE $0x00 // mov rcx, qword [rsi + 136] + LONG $0x889e8b48; WORD $0x0000; BYTE $0x00 // mov rbx, qword [rsi + 136] LONG $0x80823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 128] LONG $0x90868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 144] - LONG $0x2454940f; BYTE $0x0a // sete byte [rsp + 10] - LONG $0x888a3b48; WORD $0x0000; BYTE $0x00 // cmp rcx, qword [rdx + 136] - LONG $0x988e8b48; WORD $0x0000; BYTE $0x00 // mov rcx, qword [rsi + 152] + LONG $0x2454940f; BYTE $0x0b // sete byte [rsp + 11] + LONG $0x889a3b48; WORD $0x0000; BYTE $0x00 // cmp rbx, qword [rdx + 136] + LONG $0x989e8b48; WORD $0x0000; BYTE $0x00 // mov rbx, qword [rsi + 152] LONG $0xd2940f41 // sete r10b LONG $0x90823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 144] LONG $0xa0868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 160] LONG $0xd6940f41 // sete r14b - LONG $0x988a3b48; WORD $0x0000; BYTE $0x00 // cmp rcx, qword [rdx + 152] - LONG $0xa88e8b48; WORD $0x0000; BYTE $0x00 // mov rcx, qword [rsi + 168] + LONG $0x989a3b48; WORD $0x0000; BYTE $0x00 // cmp rbx, qword [rdx + 152] + LONG $0xa89e8b48; WORD $0x0000; BYTE $0x00 // mov rbx, qword [rsi + 168] LONG $0xd4940f41 // sete r12b LONG $0xa0823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 160] - LONG $0x2454940f; BYTE $0x08 // sete byte [rsp + 8] - LONG $0xa88a3b48; WORD $0x0000; BYTE $0x00 // cmp rcx, qword [rdx + 168] + LONG $0x2454940f; BYTE $0x09 // sete byte [rsp + 9] + LONG $0xa89a3b48; WORD $0x0000; BYTE $0x00 // cmp rbx, qword [rdx + 168] LONG $0xb0868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 176] - LONG $0x2454940f; BYTE $0x0b // sete byte [rsp + 11] + LONG $0x2454940f; BYTE $0x0c // sete byte [rsp + 12] LONG $0xb0823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 176] LONG $0xb8868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 184] - LONG $0x2454940f; BYTE $0x0c // sete byte [rsp + 12] + LONG $0x2454940f; BYTE $0x0d // sete byte [rsp + 13] LONG $0xb8823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 184] LONG $0xc0868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 192] LONG $0xd1940f41 // sete r9b LONG $0xc0823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 192] LONG $0xc8868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 200] - LONG $0x2454940f; BYTE $0x13 // sete byte [rsp + 19] + LONG $0x2454940f; BYTE $0x14 // sete byte [rsp + 20] LONG $0xc8823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 200] LONG $0xd0868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 208] - LONG $0x2454940f; BYTE $0x0d // sete byte [rsp + 13] + LONG $0x2454940f; BYTE $0x0e // sete byte [rsp + 14] LONG $0xd0823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 208] LONG $0xd8868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 216] - LONG $0x2454940f; BYTE $0x0e // sete byte [rsp + 14] + LONG $0x2454940f; BYTE $0x0f // sete byte [rsp + 15] LONG $0xd8823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 216] LONG $0xe0868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 224] - LONG $0x2454940f; BYTE $0x0f // sete byte [rsp + 15] + LONG $0x2454940f; BYTE $0x10 // sete byte [rsp + 16] LONG $0xe0823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 224] LONG $0xe8868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 232] - LONG $0x2454940f; BYTE $0x10 // sete byte [rsp + 16] + LONG $0x2454940f; BYTE $0x11 // sete byte [rsp + 17] LONG $0xe8823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 232] LONG $0xf0868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 240] - LONG $0x2454940f; BYTE $0x12 // sete byte [rsp + 18] + LONG $0x2454940f; BYTE $0x13 // sete byte [rsp + 19] LONG $0xf0823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 240] LONG $0xf8868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 248] - LONG $0x2454940f; BYTE $0x11 // sete byte [rsp + 17] + LONG $0x2454940f; BYTE $0x12 // sete byte [rsp + 18] LONG $0x00c68148; WORD $0x0001; BYTE $0x00 // add rsi, 256 LONG $0xf8823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 248] - LONG $0xd7940f40 // sete dil - LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] + WORD $0x940f; BYTE $0xd1 // sete cl + LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] WORD $0xc000 // add al, al - LONG $0x28244402 // add al, byte [rsp + 40] - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x04 // movzx eax, byte [rsp + 4] + LONG $0x04244402 // add al, byte [rsp + 4] + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x05 // movzx eax, byte [rsp + 5] WORD $0xe0c0; BYTE $0x06 // shl al, 6 LONG $0x07e5c041 // shl r13b, 7 WORD $0x0841; BYTE $0xc5 // or r13b, al - LONG $0x2444b60f; BYTE $0x14 // movzx eax, byte [rsp + 20] + LONG $0x2444b60f; BYTE $0x15 // movzx eax, byte [rsp + 21] WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xc808 // or al, cl + WORD $0xd808 // or al, bl WORD $0x0045; BYTE $0xc0 // add r8b, r8b - LONG $0x24440244; BYTE $0x09 // add r8b, byte [rsp + 9] - LONG $0x244cb60f; BYTE $0x15 // movzx ecx, byte [rsp + 21] - WORD $0xe1c0; BYTE $0x03 // shl cl, 3 - WORD $0xc108 // or cl, al - WORD $0xc889 // mov eax, ecx + LONG $0x24440244; BYTE $0x0a // add r8b, byte [rsp + 10] + LONG $0x245cb60f; BYTE $0x16 // movzx ebx, byte [rsp + 22] + WORD $0xe3c0; BYTE $0x03 // shl bl, 3 + WORD $0xc308 // or bl, al + WORD $0xd889 // mov eax, ebx LONG $0x02e3c041 // shl r11b, 2 WORD $0x0845; BYTE $0xc3 // or r11b, r8b - LONG $0x244cb60f; BYTE $0x16 // movzx ecx, byte [rsp + 22] - WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0xc108 // or cl, al - WORD $0x8941; BYTE $0xc8 // mov r8d, ecx + LONG $0x245cb60f; BYTE $0x17 // movzx ebx, byte [rsp + 23] + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0xc308 // or bl, al + WORD $0x8941; BYTE $0xd8 // mov r8d, ebx LONG $0x03e7c041 // shl r15b, 3 WORD $0x0845; BYTE $0xdf // or r15b, r11b - LONG $0x244cb60f; BYTE $0x17 // movzx ecx, byte [rsp + 23] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0x0844; BYTE $0xc1 // or cl, r8b - LONG $0x2444b60f; BYTE $0x05 // movzx eax, byte [rsp + 5] + LONG $0x245cb60f; BYTE $0x03 // movzx ebx, byte [rsp + 3] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + WORD $0x0844; BYTE $0xc3 // or bl, r8b + LONG $0x2444b60f; BYTE $0x06 // movzx eax, byte [rsp + 6] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0x0844; BYTE $0xf8 // or al, r15b WORD $0x8941; BYTE $0xc0 // mov r8d, eax - LONG $0x2444b60f; BYTE $0x06 // movzx eax, byte [rsp + 6] + LONG $0x2444b60f; BYTE $0x07 // movzx eax, byte [rsp + 7] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0x0844; BYTE $0xc0 // or al, r8b - LONG $0x44b60f44; WORD $0x0724 // movzx r8d, byte [rsp + 7] + LONG $0x44b60f44; WORD $0x0824 // movzx r8d, byte [rsp + 8] LONG $0x06e0c041 // shl r8b, 6 - WORD $0xe3c0; BYTE $0x07 // shl bl, 7 - WORD $0x0844; BYTE $0xc3 // or bl, r8b - WORD $0x0841; BYTE $0xcd // or r13b, cl - WORD $0xc308 // or bl, al + LONG $0x07e7c040 // shl dil, 7 + WORD $0x0844; BYTE $0xc7 // or dil, r8b + WORD $0x0841; BYTE $0xdd // or r13b, bl + WORD $0x0840; BYTE $0xc7 // or dil, al WORD $0x0045; BYTE $0xd2 // add r10b, r10b - LONG $0x24540244; BYTE $0x0a // add r10b, byte [rsp + 10] + LONG $0x24540244; BYTE $0x0b // add r10b, byte [rsp + 11] LONG $0x02e6c041 // shl r14b, 2 WORD $0x0845; BYTE $0xd6 // or r14b, r10b LONG $0x03e4c041 // shl r12b, 3 WORD $0x0845; BYTE $0xf4 // or r12b, r14b - LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + LONG $0x2444b60f; BYTE $0x09 // movzx eax, byte [rsp + 9] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0x0844; BYTE $0xe0 // or al, r12b - WORD $0xc189 // mov ecx, eax - LONG $0x24748b4c; BYTE $0x30 // mov r14, qword [rsp + 48] - LONG $0x2444b60f; BYTE $0x0b // movzx eax, byte [rsp + 11] + WORD $0xc389 // mov ebx, eax + LONG $0x24648b4c; BYTE $0x30 // mov r12, qword [rsp + 48] + LONG $0x2444b60f; BYTE $0x0c // movzx eax, byte [rsp + 12] WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - WORD $0x8845; BYTE $0x2e // mov byte [r14], r13b - LONG $0x244cb60f; BYTE $0x0c // movzx ecx, byte [rsp + 12] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 + WORD $0xd808 // or al, bl + LONG $0x242c8845 // mov byte [r12], r13b + LONG $0x245cb60f; BYTE $0x0d // movzx ebx, byte [rsp + 13] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e1c041 // shl r9b, 7 - WORD $0x0841; BYTE $0xc9 // or r9b, cl - LONG $0x015e8841 // mov byte [r14 + 1], bl + WORD $0x0841; BYTE $0xd9 // or r9b, bl + LONG $0x247c8841; BYTE $0x01 // mov byte [r12 + 1], dil WORD $0x0841; BYTE $0xc1 // or r9b, al - LONG $0x2444b60f; BYTE $0x0d // movzx eax, byte [rsp + 13] - WORD $0xc000 // add al, al - LONG $0x13244402 // add al, byte [rsp + 19] - WORD $0xc189 // mov ecx, eax LONG $0x2444b60f; BYTE $0x0e // movzx eax, byte [rsp + 14] - WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xc000 // add al, al + LONG $0x14244402 // add al, byte [rsp + 20] + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x0f // movzx eax, byte [rsp + 15] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x11 // movzx eax, byte [rsp + 17] WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x12 // movzx eax, byte [rsp + 18] + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x13 // movzx eax, byte [rsp + 19] WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - LONG $0x244cb60f; BYTE $0x11 // movzx ecx, byte [rsp + 17] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 - LONG $0x07e7c040 // shl dil, 7 - WORD $0x0840; BYTE $0xcf // or dil, cl - WORD $0x0840; BYTE $0xc7 // or dil, al - LONG $0x024e8845 // mov byte [r14 + 2], r9b - LONG $0x037e8841 // mov byte [r14 + 3], dil + WORD $0xd808 // or al, bl + LONG $0x245cb60f; BYTE $0x12 // movzx ebx, byte [rsp + 18] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 + WORD $0xe1c0; BYTE $0x07 // shl cl, 7 + WORD $0xd908 // or cl, bl + WORD $0xc108 // or cl, al + LONG $0x244c8845; BYTE $0x02 // mov byte [r12 + 2], r9b + LONG $0x244c8841; BYTE $0x03 // mov byte [r12 + 3], cl LONG $0x00c28148; WORD $0x0001; BYTE $0x00 // add rdx, 256 - LONG $0x04c68349 // add r14, 4 - LONG $0x24448348; WORD $0xff38 // add qword [rsp + 56], -1 + LONG $0x04c48349 // add r12, 4 + LONG $0x24448348; WORD $0xff20 // add qword [rsp + 32], -1 JNE LBB0_107 - LONG $0x245c8b4c; BYTE $0x18 // mov r11, qword [rsp + 24] - LONG $0x247c8b4c; BYTE $0x40 // mov r15, qword [rsp + 64] + LONG $0x24748b4c; BYTE $0x18 // mov r14, qword [rsp + 24] + LONG $0x247c8b4c; BYTE $0x38 // mov r15, qword [rsp + 56] LBB0_109: LONG $0x05e7c149 // shl r15, 5 - WORD $0x394d; BYTE $0xdf // cmp r15, r11 + WORD $0x394d; BYTE $0xf7 // cmp r15, r14 JGE LBB0_123 - WORD $0x294d; BYTE $0xfb // sub r11, r15 + WORD $0x294d; BYTE $0xfe // sub r14, r15 WORD $0xc931 // xor ecx, ecx LBB0_111: @@ -1897,294 +1993,389 @@ LBB0_111: WORD $0xdbf6 // neg bl WORD $0x8948; BYTE $0xcf // mov rdi, rcx LONG $0x03efc148 // shr rdi, 3 - LONG $0x0cb60f45; BYTE $0x3e // movzx r9d, byte [r14 + rdi] + LONG $0x0cb60f45; BYTE $0x3c // movzx r9d, byte [r12 + rdi] WORD $0x3044; BYTE $0xcb // xor bl, r9b WORD $0xe180; BYTE $0x07 // and cl, 7 WORD $0x01b0 // mov al, 1 WORD $0xe0d2 // shl al, cl WORD $0xd820 // and al, bl WORD $0x3044; BYTE $0xc8 // xor al, r9b - LONG $0x3e048841 // mov byte [r14 + rdi], al + LONG $0x3c048841 // mov byte [r12 + rdi], al WORD $0x894c; BYTE $0xc1 // mov rcx, r8 - WORD $0x394d; BYTE $0xc3 // cmp r11, r8 + WORD $0x394d; BYTE $0xc6 // cmp r14, r8 JNE LBB0_111 JMP LBB0_123 LBB0_112: - LONG $0x1f7b8d4d // lea r15, [r11 + 31] - WORD $0x854d; BYTE $0xdb // test r11, r11 - LONG $0xfb490f4d // cmovns r15, r11 - LONG $0x07418d41 // lea eax, [r9 + 7] - WORD $0x8545; BYTE $0xc9 // test r9d, r9d - LONG $0xc1490f41 // cmovns eax, r9d - WORD $0xe083; BYTE $0xf8 // and eax, -8 - WORD $0x2941; BYTE $0xc1 // sub r9d, eax + LONG $0x1f7e8d4d // lea r15, [r14 + 31] + WORD $0x854d; BYTE $0xf6 // test r14, r14 + LONG $0xfe490f4d // cmovns r15, r14 + WORD $0x488d; BYTE $0x07 // lea ecx, [rax + 7] + WORD $0xc085 // test eax, eax + WORD $0x490f; BYTE $0xc8 // cmovns ecx, eax + WORD $0xe183; BYTE $0xf8 // and ecx, -8 + WORD $0xc829 // sub eax, ecx JE LBB0_116 - WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d + WORD $0x634c; BYTE $0xd0 // movsxd r10, eax LBB0_114: LONG $0x06100ff3 // movss xmm0, dword [rsi] LONG $0x04c68348 // add rsi, 4 WORD $0x2e0f; BYTE $0x02 // ucomiss xmm0, dword [rdx] LONG $0x04528d48 // lea rdx, [rdx + 4] - LONG $0xd2940f41 // sete r10b - WORD $0xf641; BYTE $0xda // neg r10b - LONG $0x07788d48 // lea rdi, [rax + 7] - WORD $0x8548; BYTE $0xc0 // test rax, rax - LONG $0xf8490f48 // cmovns rdi, rax + WORD $0x9b0f; BYTE $0xd1 // setnp cl + WORD $0x940f; BYTE $0xd3 // sete bl + WORD $0xcb20 // and bl, cl + WORD $0xdbf6 // neg bl + LONG $0x077a8d49 // lea rdi, [r10 + 7] + WORD $0x854d; BYTE $0xd2 // test r10, r10 + LONG $0xfa490f49 // cmovns rdi, r10 LONG $0x03ffc148 // sar rdi, 3 - LONG $0x04b60f45; BYTE $0x3e // movzx r8d, byte [r14 + rdi] - WORD $0x3045; BYTE $0xc2 // xor r10b, r8b + LONG $0x04b60f45; BYTE $0x3c // movzx r8d, byte [r12 + rdi] + WORD $0x3044; BYTE $0xc3 // xor bl, r8b QUAD $0x00000000fd0c8d44 // lea r9d, [8*rdi] - WORD $0xc189 // mov ecx, eax + WORD $0x8944; BYTE $0xd1 // mov ecx, r10d WORD $0x2944; BYTE $0xc9 // sub ecx, r9d - LONG $0x000001bb; BYTE $0x00 // mov ebx, 1 - WORD $0xe3d3 // shl ebx, cl - WORD $0x2044; BYTE $0xd3 // and bl, r10b - WORD $0x3044; BYTE $0xc3 // xor bl, r8b - LONG $0x3e1c8841 // mov byte [r14 + rdi], bl - LONG $0x01c08348 // add rax, 1 - LONG $0x08f88348 // cmp rax, 8 + LONG $0x000001b8; BYTE $0x00 // mov eax, 1 + WORD $0xe0d3 // shl eax, cl + WORD $0xd820 // and al, bl + WORD $0x3044; BYTE $0xc0 // xor al, r8b + LONG $0x3c048841 // mov byte [r12 + rdi], al + LONG $0x01c28349 // add r10, 1 + LONG $0x08fa8349 // cmp r10, 8 JNE LBB0_114 - LONG $0x01c68349 // add r14, 1 + LONG $0x01c48349 // add r12, 1 LBB0_116: LONG $0x05ffc149 // sar r15, 5 - LONG $0x20fb8349 // cmp r11, 32 + LONG $0x20fe8349 // cmp r14, 32 JL LBB0_120 - LONG $0x245c894c; BYTE $0x18 // mov qword [rsp + 24], r11 - LONG $0x247c894c; BYTE $0x20 // mov qword [rsp + 32], r15 - LONG $0x247c894c; BYTE $0x28 // mov qword [rsp + 40], r15 + LONG $0x2474894c; BYTE $0x18 // mov qword [rsp + 24], r14 + LONG $0x247c894c; BYTE $0x40 // mov qword [rsp + 64], r15 + LONG $0x247c894c; BYTE $0x38 // mov qword [rsp + 56], r15 LBB0_118: - LONG $0x2474894c; BYTE $0x30 // mov qword [rsp + 48], r14 + LONG $0x2464894c; BYTE $0x30 // mov qword [rsp + 48], r12 LONG $0x06100ff3 // movss xmm0, dword [rsi] - LONG $0x4e100ff3; BYTE $0x04 // movss xmm1, dword [rsi + 4] WORD $0x2e0f; BYTE $0x02 // ucomiss xmm0, dword [rdx] - LONG $0x2454940f; BYTE $0x04 // sete byte [rsp + 4] - LONG $0x044a2e0f // ucomiss xmm1, dword [rdx + 4] - WORD $0x940f; BYTE $0xd0 // sete al + LONG $0x46100ff3; BYTE $0x04 // movss xmm0, dword [rsi + 4] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x15244c88 // mov byte [rsp + 21], cl + LONG $0x04422e0f // ucomiss xmm0, dword [rdx + 4] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x0d244c88 // mov byte [rsp + 13], cl LONG $0x46100ff3; BYTE $0x08 // movss xmm0, dword [rsi + 8] LONG $0x08422e0f // ucomiss xmm0, dword [rdx + 8] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x14244c88 // mov byte [rsp + 20], cl LONG $0x46100ff3; BYTE $0x0c // movss xmm0, dword [rsi + 12] - LONG $0x2454940f; BYTE $0x05 // sete byte [rsp + 5] LONG $0x0c422e0f // ucomiss xmm0, dword [rdx + 12] - LONG $0x2454940f; BYTE $0x16 // sete byte [rsp + 22] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x17244c88 // mov byte [rsp + 23], cl LONG $0x46100ff3; BYTE $0x10 // movss xmm0, dword [rsi + 16] LONG $0x10422e0f // ucomiss xmm0, dword [rdx + 16] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x16244c88 // mov byte [rsp + 22], cl LONG $0x46100ff3; BYTE $0x14 // movss xmm0, dword [rsi + 20] - LONG $0x2454940f; BYTE $0x15 // sete byte [rsp + 21] LONG $0x14422e0f // ucomiss xmm0, dword [rdx + 20] - LONG $0x2454940f; BYTE $0x17 // sete byte [rsp + 23] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd7940f40 // sete dil + WORD $0x2040; BYTE $0xc7 // and dil, al LONG $0x46100ff3; BYTE $0x18 // movss xmm0, dword [rsi + 24] LONG $0x18422e0f // ucomiss xmm0, dword [rdx + 24] - LONG $0x46100ff3; BYTE $0x1c // movss xmm0, dword [rsi + 28] + WORD $0x9b0f; BYTE $0xd0 // setnp al LONG $0xd5940f41 // sete r13b + WORD $0x2041; BYTE $0xc5 // and r13b, al + LONG $0x46100ff3; BYTE $0x1c // movss xmm0, dword [rsi + 28] LONG $0x1c422e0f // ucomiss xmm0, dword [rdx + 28] - LONG $0xd7940f41 // sete r15b + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x03244c88 // mov byte [rsp + 3], cl LONG $0x46100ff3; BYTE $0x20 // movss xmm0, dword [rsi + 32] LONG $0x20422e0f // ucomiss xmm0, dword [rdx + 32] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x13244c88 // mov byte [rsp + 19], cl LONG $0x46100ff3; BYTE $0x24 // movss xmm0, dword [rsi + 36] - LONG $0x2454940f; BYTE $0x08 // sete byte [rsp + 8] LONG $0x24422e0f // ucomiss xmm0, dword [rdx + 36] - WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd3 // sete bl + WORD $0xc320 // and bl, al LONG $0x46100ff3; BYTE $0x28 // movss xmm0, dword [rsi + 40] LONG $0x28422e0f // ucomiss xmm0, dword [rdx + 40] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x12244c88 // mov byte [rsp + 18], cl LONG $0x46100ff3; BYTE $0x2c // movss xmm0, dword [rsi + 44] - LONG $0xd1940f41 // sete r9b LONG $0x2c422e0f // ucomiss xmm0, dword [rdx + 44] - LONG $0xd3940f41 // sete r11b + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x11244c88 // mov byte [rsp + 17], cl LONG $0x46100ff3; BYTE $0x30 // movss xmm0, dword [rsi + 48] LONG $0x30422e0f // ucomiss xmm0, dword [rdx + 48] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x10244c88 // mov byte [rsp + 16], cl LONG $0x46100ff3; BYTE $0x34 // movss xmm0, dword [rsi + 52] - LONG $0xd2940f41 // sete r10b LONG $0x34422e0f // ucomiss xmm0, dword [rdx + 52] - LONG $0x2454940f; BYTE $0x07 // sete byte [rsp + 7] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x0f244c88 // mov byte [rsp + 15], cl LONG $0x46100ff3; BYTE $0x38 // movss xmm0, dword [rsi + 56] LONG $0x38422e0f // ucomiss xmm0, dword [rdx + 56] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x0c244c88 // mov byte [rsp + 12], cl LONG $0x46100ff3; BYTE $0x3c // movss xmm0, dword [rsi + 60] - LONG $0x2454940f; BYTE $0x06 // sete byte [rsp + 6] LONG $0x3c422e0f // ucomiss xmm0, dword [rdx + 60] - WORD $0x940f; BYTE $0xd3 // sete bl + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x0b244c88 // mov byte [rsp + 11], cl LONG $0x46100ff3; BYTE $0x40 // movss xmm0, dword [rsi + 64] LONG $0x40422e0f // ucomiss xmm0, dword [rdx + 64] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x0e244c88 // mov byte [rsp + 14], cl LONG $0x46100ff3; BYTE $0x44 // movss xmm0, dword [rsi + 68] - LONG $0x2454940f; BYTE $0x0e // sete byte [rsp + 14] LONG $0x44422e0f // ucomiss xmm0, dword [rdx + 68] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x0a244c88 // mov byte [rsp + 10], cl LONG $0x46100ff3; BYTE $0x48 // movss xmm0, dword [rsi + 72] - LONG $0xd6940f41 // sete r14b LONG $0x48422e0f // ucomiss xmm0, dword [rdx + 72] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x09244c88 // mov byte [rsp + 9], cl LONG $0x46100ff3; BYTE $0x4c // movss xmm0, dword [rsi + 76] - LONG $0xd4940f41 // sete r12b LONG $0x4c422e0f // ucomiss xmm0, dword [rdx + 76] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd3940f41 // sete r11b + WORD $0x2041; BYTE $0xc3 // and r11b, al LONG $0x46100ff3; BYTE $0x50 // movss xmm0, dword [rsi + 80] - LONG $0x2454940f; BYTE $0x09 // sete byte [rsp + 9] LONG $0x50422e0f // ucomiss xmm0, dword [rdx + 80] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x08244c88 // mov byte [rsp + 8], cl LONG $0x46100ff3; BYTE $0x54 // movss xmm0, dword [rsi + 84] - LONG $0x2454940f; BYTE $0x0a // sete byte [rsp + 10] LONG $0x54422e0f // ucomiss xmm0, dword [rdx + 84] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x07244c88 // mov byte [rsp + 7], cl LONG $0x46100ff3; BYTE $0x58 // movss xmm0, dword [rsi + 88] - LONG $0x2454940f; BYTE $0x0b // sete byte [rsp + 11] LONG $0x58422e0f // ucomiss xmm0, dword [rdx + 88] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x05244c88 // mov byte [rsp + 5], cl LONG $0x46100ff3; BYTE $0x5c // movss xmm0, dword [rsi + 92] - LONG $0x2454940f; BYTE $0x0c // sete byte [rsp + 12] LONG $0x5c422e0f // ucomiss xmm0, dword [rdx + 92] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd2940f41 // sete r10b + WORD $0x2041; BYTE $0xc2 // and r10b, al LONG $0x46100ff3; BYTE $0x60 // movss xmm0, dword [rsi + 96] - LONG $0xd0940f41 // sete r8b LONG $0x60422e0f // ucomiss xmm0, dword [rdx + 96] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x06244c88 // mov byte [rsp + 6], cl LONG $0x46100ff3; BYTE $0x64 // movss xmm0, dword [rsi + 100] - LONG $0x2454940f; BYTE $0x14 // sete byte [rsp + 20] LONG $0x64422e0f // ucomiss xmm0, dword [rdx + 100] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x20244c88 // mov byte [rsp + 32], cl LONG $0x46100ff3; BYTE $0x68 // movss xmm0, dword [rsi + 104] - LONG $0x2454940f; BYTE $0x0d // sete byte [rsp + 13] LONG $0x68422e0f // ucomiss xmm0, dword [rdx + 104] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd7940f41 // sete r15b + WORD $0x2041; BYTE $0xc7 // and r15b, al LONG $0x46100ff3; BYTE $0x6c // movss xmm0, dword [rsi + 108] - LONG $0x2454940f; BYTE $0x0f // sete byte [rsp + 15] LONG $0x6c422e0f // ucomiss xmm0, dword [rdx + 108] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd6940f41 // sete r14b + WORD $0x2041; BYTE $0xc6 // and r14b, al LONG $0x46100ff3; BYTE $0x70 // movss xmm0, dword [rsi + 112] - LONG $0x2454940f; BYTE $0x10 // sete byte [rsp + 16] LONG $0x70422e0f // ucomiss xmm0, dword [rdx + 112] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x04244c88 // mov byte [rsp + 4], cl LONG $0x46100ff3; BYTE $0x74 // movss xmm0, dword [rsi + 116] - LONG $0x2454940f; BYTE $0x11 // sete byte [rsp + 17] LONG $0x74422e0f // ucomiss xmm0, dword [rdx + 116] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x28244c88 // mov byte [rsp + 40], cl LONG $0x46100ff3; BYTE $0x78 // movss xmm0, dword [rsi + 120] - LONG $0x2454940f; BYTE $0x13 // sete byte [rsp + 19] LONG $0x78422e0f // ucomiss xmm0, dword [rdx + 120] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd1940f41 // sete r9b + WORD $0x2041; BYTE $0xc1 // and r9b, al LONG $0x46100ff3; BYTE $0x7c // movss xmm0, dword [rsi + 124] - LONG $0x2454940f; BYTE $0x12 // sete byte [rsp + 18] LONG $0x80ee8348 // sub rsi, -128 LONG $0x7c422e0f // ucomiss xmm0, dword [rdx + 124] - LONG $0xd7940f40 // sete dil - WORD $0xc000 // add al, al - LONG $0x04244402 // add al, byte [rsp + 4] - LONG $0x06e5c041 // shl r13b, 6 - LONG $0x07e7c041 // shl r15b, 7 - WORD $0x0845; BYTE $0xef // or r15b, r13b - LONG $0x6cb60f44; WORD $0x0524 // movzx r13d, byte [rsp + 5] - LONG $0x02e5c041 // shl r13b, 2 - WORD $0x0841; BYTE $0xc5 // or r13b, al - WORD $0x8944; BYTE $0xe8 // mov eax, r13d - WORD $0xc900 // add cl, cl - LONG $0x08244c02 // add cl, byte [rsp + 8] - LONG $0x6cb60f44; WORD $0x1624 // movzx r13d, byte [rsp + 22] - LONG $0x03e5c041 // shl r13b, 3 - WORD $0x0841; BYTE $0xc5 // or r13b, al - LONG $0x02e1c041 // shl r9b, 2 - WORD $0x0841; BYTE $0xc9 // or r9b, cl - LONG $0x244cb60f; BYTE $0x15 // movzx ecx, byte [rsp + 21] - WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0x0844; BYTE $0xe9 // or cl, r13b - WORD $0x8941; BYTE $0xcd // mov r13d, ecx - LONG $0x03e3c041 // shl r11b, 3 - WORD $0x0845; BYTE $0xcb // or r11b, r9b - LONG $0x244cb60f; BYTE $0x17 // movzx ecx, byte [rsp + 23] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0x0844; BYTE $0xe9 // or cl, r13b - LONG $0x04e2c041 // shl r10b, 4 - WORD $0x0845; BYTE $0xda // or r10b, r11b - LONG $0x2444b60f; BYTE $0x07 // movzx eax, byte [rsp + 7] - WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0x0844; BYTE $0xd0 // or al, r10b - LONG $0x4cb60f44; WORD $0x0624 // movzx r9d, byte [rsp + 6] - LONG $0x06e1c041 // shl r9b, 6 - WORD $0xe3c0; BYTE $0x07 // shl bl, 7 - WORD $0x0844; BYTE $0xcb // or bl, r9b - WORD $0x0841; BYTE $0xcf // or r15b, cl - WORD $0xc308 // or bl, al - WORD $0x0045; BYTE $0xf6 // add r14b, r14b - LONG $0x24740244; BYTE $0x0e // add r14b, byte [rsp + 14] - LONG $0x02e4c041 // shl r12b, 2 - WORD $0x0845; BYTE $0xf4 // or r12b, r14b - LONG $0x24748b4c; BYTE $0x30 // mov r14, qword [rsp + 48] - LONG $0x2444b60f; BYTE $0x09 // movzx eax, byte [rsp + 9] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0x0844; BYTE $0xe0 // or al, r12b - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x0a // movzx eax, byte [rsp + 10] - WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x0b // movzx eax, byte [rsp + 11] - WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - WORD $0x8845; BYTE $0x3e // mov byte [r14], r15b - LONG $0x244cb60f; BYTE $0x0c // movzx ecx, byte [rsp + 12] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 - LONG $0x07e0c041 // shl r8b, 7 - WORD $0x0841; BYTE $0xc8 // or r8b, cl - LONG $0x015e8841 // mov byte [r14 + 1], bl - WORD $0x0841; BYTE $0xc0 // or r8b, al + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd0940f41 // sete r8b + WORD $0x2041; BYTE $0xc0 // and r8b, al LONG $0x2444b60f; BYTE $0x0d // movzx eax, byte [rsp + 13] WORD $0xc000 // add al, al - LONG $0x14244402 // add al, byte [rsp + 20] - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x0f // movzx eax, byte [rsp + 15] + LONG $0x15244402 // add al, byte [rsp + 21] + LONG $0x05e7c040 // shl dil, 5 + LONG $0x06e5c041 // shl r13b, 6 + WORD $0x0841; BYTE $0xfd // or r13b, dil + WORD $0x8944; BYTE $0xef // mov edi, r13d + LONG $0x244cb60f; BYTE $0x14 // movzx ecx, byte [rsp + 20] + WORD $0xe1c0; BYTE $0x02 // shl cl, 2 + WORD $0xc108 // or cl, al + WORD $0xd889 // mov eax, ebx + WORD $0xd800 // add al, bl + LONG $0x13244402 // add al, byte [rsp + 19] + WORD $0x8941; BYTE $0xc5 // mov r13d, eax + LONG $0x2444b60f; BYTE $0x03 // movzx eax, byte [rsp + 3] + WORD $0xe0c0; BYTE $0x07 // shl al, 7 + WORD $0x0840; BYTE $0xf8 // or al, dil + LONG $0x03244488 // mov byte [rsp + 3], al + LONG $0x2444b60f; BYTE $0x12 // movzx eax, byte [rsp + 18] WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] + WORD $0x0844; BYTE $0xe8 // or al, r13b + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x17 // movzx eax, byte [rsp + 23] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x11 // movzx eax, byte [rsp + 17] + LONG $0x245cb60f; BYTE $0x11 // movzx ebx, byte [rsp + 17] + WORD $0xe3c0; BYTE $0x03 // shl bl, 3 + WORD $0x0840; BYTE $0xfb // or bl, dil + LONG $0x6cb60f44; WORD $0x1624 // movzx r13d, byte [rsp + 22] + LONG $0x04e5c041 // shl r13b, 4 + WORD $0x0841; BYTE $0xc5 // or r13b, al + LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0xc808 // or al, cl - LONG $0x244cb60f; BYTE $0x13 // movzx ecx, byte [rsp + 19] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0xc108 // or cl, al - LONG $0x2444b60f; BYTE $0x12 // movzx eax, byte [rsp + 18] + WORD $0xd808 // or al, bl + WORD $0xc789 // mov edi, eax + LONG $0x245cb60f; BYTE $0x0f // movzx ebx, byte [rsp + 15] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + LONG $0x2444b60f; BYTE $0x0c // movzx eax, byte [rsp + 12] WORD $0xe0c0; BYTE $0x06 // shl al, 6 - LONG $0x07e7c040 // shl dil, 7 - WORD $0x0840; BYTE $0xc7 // or dil, al - WORD $0x0840; BYTE $0xcf // or dil, cl - LONG $0x02468845 // mov byte [r14 + 2], r8b - LONG $0x037e8841 // mov byte [r14 + 3], dil + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x0b // movzx eax, byte [rsp + 11] + WORD $0xe0c0; BYTE $0x07 // shl al, 7 + WORD $0xd808 // or al, bl + LONG $0x245cb60f; BYTE $0x0a // movzx ebx, byte [rsp + 10] + WORD $0xdb00 // add bl, bl + LONG $0x0e245c02 // add bl, byte [rsp + 14] + LONG $0x244cb60f; BYTE $0x09 // movzx ecx, byte [rsp + 9] + WORD $0xe1c0; BYTE $0x02 // shl cl, 2 + WORD $0xd908 // or cl, bl + LONG $0x03e3c041 // shl r11b, 3 + WORD $0x0841; BYTE $0xcb // or r11b, cl + LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0x0844; BYTE $0xdb // or bl, r11b + LONG $0x24648b4c; BYTE $0x30 // mov r12, qword [rsp + 48] + LONG $0x5cb60f44; WORD $0x0324 // movzx r11d, byte [rsp + 3] + WORD $0x0845; BYTE $0xeb // or r11b, r13b + LONG $0x6cb60f44; WORD $0x0724 // movzx r13d, byte [rsp + 7] + LONG $0x05e5c041 // shl r13b, 5 + LONG $0x244cb60f; BYTE $0x05 // movzx ecx, byte [rsp + 5] + WORD $0xe1c0; BYTE $0x06 // shl cl, 6 + WORD $0x0844; BYTE $0xe9 // or cl, r13b + WORD $0x0840; BYTE $0xf8 // or al, dil + LONG $0x07e2c041 // shl r10b, 7 + WORD $0x0841; BYTE $0xca // or r10b, cl + WORD $0x0841; BYTE $0xda // or r10b, bl + LONG $0x244cb60f; BYTE $0x20 // movzx ecx, byte [rsp + 32] + WORD $0xc900 // add cl, cl + LONG $0x06244c02 // add cl, byte [rsp + 6] + LONG $0x02e7c041 // shl r15b, 2 + WORD $0x0841; BYTE $0xcf // or r15b, cl + LONG $0x03e6c041 // shl r14b, 3 + WORD $0x0845; BYTE $0xfe // or r14b, r15b + LONG $0x244cb60f; BYTE $0x04 // movzx ecx, byte [rsp + 4] + WORD $0xe1c0; BYTE $0x04 // shl cl, 4 + WORD $0x0844; BYTE $0xf1 // or cl, r14b + LONG $0x241c8845 // mov byte [r12], r11b + LONG $0x245cb60f; BYTE $0x28 // movzx ebx, byte [rsp + 40] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + LONG $0x06e1c041 // shl r9b, 6 + WORD $0x0841; BYTE $0xd9 // or r9b, bl + LONG $0x24448841; BYTE $0x01 // mov byte [r12 + 1], al + LONG $0x07e0c041 // shl r8b, 7 + WORD $0x0845; BYTE $0xc8 // or r8b, r9b + WORD $0x0841; BYTE $0xc8 // or r8b, cl + LONG $0x24548845; BYTE $0x02 // mov byte [r12 + 2], r10b + LONG $0x24448845; BYTE $0x03 // mov byte [r12 + 3], r8b LONG $0x80c28148; WORD $0x0000; BYTE $0x00 // add rdx, 128 - LONG $0x04c68349 // add r14, 4 - LONG $0x24448348; WORD $0xff28 // add qword [rsp + 40], -1 + LONG $0x04c48349 // add r12, 4 + LONG $0x24448348; WORD $0xff38 // add qword [rsp + 56], -1 JNE LBB0_118 - LONG $0x245c8b4c; BYTE $0x18 // mov r11, qword [rsp + 24] - LONG $0x247c8b4c; BYTE $0x20 // mov r15, qword [rsp + 32] + LONG $0x24748b4c; BYTE $0x18 // mov r14, qword [rsp + 24] + LONG $0x247c8b4c; BYTE $0x40 // mov r15, qword [rsp + 64] LBB0_120: LONG $0x05e7c149 // shl r15, 5 - WORD $0x394d; BYTE $0xdf // cmp r15, r11 + WORD $0x394d; BYTE $0xf7 // cmp r15, r14 JGE LBB0_123 - WORD $0x294d; BYTE $0xfb // sub r11, r15 + WORD $0x294d; BYTE $0xfe // sub r14, r15 WORD $0xc931 // xor ecx, ecx LBB0_122: + LONG $0x01498d4c // lea r9, [rcx + 1] LONG $0x04100ff3; BYTE $0x8e // movss xmm0, dword [rsi + 4*rcx] LONG $0x8a042e0f // ucomiss xmm0, dword [rdx + 4*rcx] - LONG $0x01418d4c // lea r8, [rcx + 1] - WORD $0x940f; BYTE $0xd3 // sete bl - WORD $0xdbf6 // neg bl + WORD $0x9b0f; BYTE $0xd3 // setnp bl + WORD $0x940f; BYTE $0xd0 // sete al + WORD $0xd820 // and al, bl + WORD $0xd8f6 // neg al WORD $0x8948; BYTE $0xcf // mov rdi, rcx LONG $0x03efc148 // shr rdi, 3 - LONG $0x0cb60f45; BYTE $0x3e // movzx r9d, byte [r14 + rdi] - WORD $0x3044; BYTE $0xcb // xor bl, r9b + LONG $0x04b60f45; BYTE $0x3c // movzx r8d, byte [r12 + rdi] + WORD $0x3044; BYTE $0xc0 // xor al, r8b WORD $0xe180; BYTE $0x07 // and cl, 7 - WORD $0x01b0 // mov al, 1 - WORD $0xe0d2 // shl al, cl - WORD $0xd820 // and al, bl - WORD $0x3044; BYTE $0xc8 // xor al, r9b - LONG $0x3e048841 // mov byte [r14 + rdi], al - WORD $0x894c; BYTE $0xc1 // mov rcx, r8 - WORD $0x394d; BYTE $0xc3 // cmp r11, r8 + WORD $0x01b3 // mov bl, 1 + WORD $0xe3d2 // shl bl, cl + WORD $0xc320 // and bl, al + WORD $0x3044; BYTE $0xc3 // xor bl, r8b + LONG $0x3c1c8841 // mov byte [r12 + rdi], bl + WORD $0x894c; BYTE $0xc9 // mov rcx, r9 + WORD $0x394d; BYTE $0xce // cmp r14, r9 JNE LBB0_122 JMP LBB0_123 LBB0_57: - LONG $0x1f7b8d4d // lea r15, [r11 + 31] - WORD $0x854d; BYTE $0xdb // test r11, r11 - LONG $0xfb490f4d // cmovns r15, r11 - LONG $0x07418d41 // lea eax, [r9 + 7] - WORD $0x8545; BYTE $0xc9 // test r9d, r9d - LONG $0xc1490f41 // cmovns eax, r9d - WORD $0xe083; BYTE $0xf8 // and eax, -8 - WORD $0x2941; BYTE $0xc1 // sub r9d, eax + LONG $0x1f7e8d4d // lea r15, [r14 + 31] + WORD $0x854d; BYTE $0xf6 // test r14, r14 + LONG $0xfe490f4d // cmovns r15, r14 + WORD $0x488d; BYTE $0x07 // lea ecx, [rax + 7] + WORD $0xc085 // test eax, eax + WORD $0x490f; BYTE $0xc8 // cmovns ecx, eax + WORD $0xe183; BYTE $0xf8 // and ecx, -8 + WORD $0xc829 // sub eax, ecx JE LBB0_61 - WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d + WORD $0x9848 // cdqe LBB0_59: WORD $0xb60f; BYTE $0x0e // movzx ecx, byte [rsi] @@ -2197,7 +2388,7 @@ LBB0_59: WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xf8490f48 // cmovns rdi, rax LONG $0x03ffc148 // sar rdi, 3 - LONG $0x04b60f45; BYTE $0x3e // movzx r8d, byte [r14 + rdi] + LONG $0x04b60f45; BYTE $0x3c // movzx r8d, byte [r12 + rdi] WORD $0x3045; BYTE $0xc2 // xor r10b, r8b QUAD $0x00000000fd0c8d44 // lea r9d, [8*rdi] WORD $0xc189 // mov ecx, eax @@ -2206,49 +2397,49 @@ LBB0_59: WORD $0xe3d3 // shl ebx, cl WORD $0x2044; BYTE $0xd3 // and bl, r10b WORD $0x3044; BYTE $0xc3 // xor bl, r8b - LONG $0x3e1c8841 // mov byte [r14 + rdi], bl + LONG $0x3c1c8841 // mov byte [r12 + rdi], bl LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 JNE LBB0_59 - LONG $0x01c68349 // add r14, 1 + LONG $0x01c48349 // add r12, 1 LBB0_61: LONG $0x05ffc149 // sar r15, 5 - LONG $0x20fb8349 // cmp r11, 32 + LONG $0x20fe8349 // cmp r14, 32 JL LBB0_65 - LONG $0x245c894c; BYTE $0x18 // mov qword [rsp + 24], r11 - LONG $0x247c894c; BYTE $0x38 // mov qword [rsp + 56], r15 + LONG $0x2474894c; BYTE $0x18 // mov qword [rsp + 24], r14 LONG $0x247c894c; BYTE $0x20 // mov qword [rsp + 32], r15 + LONG $0x247c894c; BYTE $0x28 // mov qword [rsp + 40], r15 LBB0_63: - LONG $0x2474894c; BYTE $0x30 // mov qword [rsp + 48], r14 + LONG $0x2464894c; BYTE $0x30 // mov qword [rsp + 48], r12 WORD $0xb60f; BYTE $0x06 // movzx eax, byte [rsi] LONG $0x014eb60f // movzx ecx, byte [rsi + 1] WORD $0x023a // cmp al, byte [rdx] - LONG $0x2454940f; BYTE $0x28 // sete byte [rsp + 40] + LONG $0x2454940f; BYTE $0x04 // sete byte [rsp + 4] WORD $0x4a3a; BYTE $0x01 // cmp cl, byte [rdx + 1] - WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0x940f; BYTE $0xd3 // sete bl LONG $0x0246b60f // movzx eax, byte [rsi + 2] WORD $0x423a; BYTE $0x02 // cmp al, byte [rdx + 2] - LONG $0x2454940f; BYTE $0x14 // sete byte [rsp + 20] + LONG $0x2454940f; BYTE $0x15 // sete byte [rsp + 21] LONG $0x0346b60f // movzx eax, byte [rsi + 3] WORD $0x423a; BYTE $0x03 // cmp al, byte [rdx + 3] - LONG $0x2454940f; BYTE $0x15 // sete byte [rsp + 21] + LONG $0x2454940f; BYTE $0x16 // sete byte [rsp + 22] LONG $0x0446b60f // movzx eax, byte [rsi + 4] WORD $0x423a; BYTE $0x04 // cmp al, byte [rdx + 4] - LONG $0x2454940f; BYTE $0x16 // sete byte [rsp + 22] + LONG $0x2454940f; BYTE $0x17 // sete byte [rsp + 23] LONG $0x0546b60f // movzx eax, byte [rsi + 5] WORD $0x423a; BYTE $0x05 // cmp al, byte [rdx + 5] - LONG $0x2454940f; BYTE $0x17 // sete byte [rsp + 23] + LONG $0x2454940f; BYTE $0x03 // sete byte [rsp + 3] LONG $0x0646b60f // movzx eax, byte [rsi + 6] WORD $0x423a; BYTE $0x06 // cmp al, byte [rdx + 6] - LONG $0x2454940f; BYTE $0x04 // sete byte [rsp + 4] + LONG $0x2454940f; BYTE $0x05 // sete byte [rsp + 5] LONG $0x0746b60f // movzx eax, byte [rsi + 7] WORD $0x423a; BYTE $0x07 // cmp al, byte [rdx + 7] LONG $0xd7940f41 // sete r15b LONG $0x0846b60f // movzx eax, byte [rsi + 8] WORD $0x423a; BYTE $0x08 // cmp al, byte [rdx + 8] - LONG $0x2454940f; BYTE $0x07 // sete byte [rsp + 7] + LONG $0x2454940f; BYTE $0x08 // sete byte [rsp + 8] LONG $0x0946b60f // movzx eax, byte [rsi + 9] WORD $0x423a; BYTE $0x09 // cmp al, byte [rdx + 9] LONG $0xd7940f40 // sete dil @@ -2263,16 +2454,16 @@ LBB0_63: LONG $0xd6940f41 // sete r14b LONG $0x0d46b60f // movzx eax, byte [rsi + 13] WORD $0x423a; BYTE $0x0d // cmp al, byte [rdx + 13] - LONG $0x2454940f; BYTE $0x05 // sete byte [rsp + 5] + LONG $0x2454940f; BYTE $0x06 // sete byte [rsp + 6] LONG $0x0e46b60f // movzx eax, byte [rsi + 14] WORD $0x423a; BYTE $0x0e // cmp al, byte [rdx + 14] - LONG $0x2454940f; BYTE $0x06 // sete byte [rsp + 6] + LONG $0x2454940f; BYTE $0x07 // sete byte [rsp + 7] LONG $0x0f46b60f // movzx eax, byte [rsi + 15] WORD $0x423a; BYTE $0x0f // cmp al, byte [rdx + 15] - WORD $0x940f; BYTE $0xd3 // sete bl + LONG $0xd0940f41 // sete r8b LONG $0x1046b60f // movzx eax, byte [rsi + 16] WORD $0x423a; BYTE $0x10 // cmp al, byte [rdx + 16] - LONG $0x2454940f; BYTE $0x0d // sete byte [rsp + 13] + LONG $0x2454940f; BYTE $0x0e // sete byte [rsp + 14] LONG $0x1146b60f // movzx eax, byte [rsi + 17] WORD $0x423a; BYTE $0x11 // cmp al, byte [rdx + 17] LONG $0xd4940f41 // sete r12b @@ -2281,144 +2472,144 @@ LBB0_63: LONG $0xd5940f41 // sete r13b LONG $0x1346b60f // movzx eax, byte [rsi + 19] WORD $0x423a; BYTE $0x13 // cmp al, byte [rdx + 19] - LONG $0x2454940f; BYTE $0x08 // sete byte [rsp + 8] + LONG $0x2454940f; BYTE $0x09 // sete byte [rsp + 9] LONG $0x1446b60f // movzx eax, byte [rsi + 20] WORD $0x423a; BYTE $0x14 // cmp al, byte [rdx + 20] - LONG $0x2454940f; BYTE $0x09 // sete byte [rsp + 9] + LONG $0x2454940f; BYTE $0x0a // sete byte [rsp + 10] LONG $0x1546b60f // movzx eax, byte [rsi + 21] WORD $0x423a; BYTE $0x15 // cmp al, byte [rdx + 21] - LONG $0x2454940f; BYTE $0x0a // sete byte [rsp + 10] + LONG $0x2454940f; BYTE $0x0b // sete byte [rsp + 11] LONG $0x1646b60f // movzx eax, byte [rsi + 22] WORD $0x423a; BYTE $0x16 // cmp al, byte [rdx + 22] - LONG $0x2454940f; BYTE $0x0b // sete byte [rsp + 11] + LONG $0x2454940f; BYTE $0x0c // sete byte [rsp + 12] LONG $0x1746b60f // movzx eax, byte [rsi + 23] WORD $0x423a; BYTE $0x17 // cmp al, byte [rdx + 23] LONG $0xd1940f41 // sete r9b LONG $0x1846b60f // movzx eax, byte [rsi + 24] WORD $0x423a; BYTE $0x18 // cmp al, byte [rdx + 24] - LONG $0x2454940f; BYTE $0x13 // sete byte [rsp + 19] + LONG $0x2454940f; BYTE $0x14 // sete byte [rsp + 20] LONG $0x1946b60f // movzx eax, byte [rsi + 25] WORD $0x423a; BYTE $0x19 // cmp al, byte [rdx + 25] - LONG $0x2454940f; BYTE $0x0c // sete byte [rsp + 12] + LONG $0x2454940f; BYTE $0x0d // sete byte [rsp + 13] LONG $0x1a46b60f // movzx eax, byte [rsi + 26] WORD $0x423a; BYTE $0x1a // cmp al, byte [rdx + 26] - LONG $0x2454940f; BYTE $0x0e // sete byte [rsp + 14] + LONG $0x2454940f; BYTE $0x0f // sete byte [rsp + 15] LONG $0x1b46b60f // movzx eax, byte [rsi + 27] WORD $0x423a; BYTE $0x1b // cmp al, byte [rdx + 27] - LONG $0x2454940f; BYTE $0x0f // sete byte [rsp + 15] + LONG $0x2454940f; BYTE $0x10 // sete byte [rsp + 16] LONG $0x1c46b60f // movzx eax, byte [rsi + 28] WORD $0x423a; BYTE $0x1c // cmp al, byte [rdx + 28] - LONG $0x2454940f; BYTE $0x10 // sete byte [rsp + 16] + LONG $0x2454940f; BYTE $0x11 // sete byte [rsp + 17] LONG $0x1d46b60f // movzx eax, byte [rsi + 29] WORD $0x423a; BYTE $0x1d // cmp al, byte [rdx + 29] - LONG $0x2454940f; BYTE $0x11 // sete byte [rsp + 17] + LONG $0x2454940f; BYTE $0x12 // sete byte [rsp + 18] LONG $0x1e46b60f // movzx eax, byte [rsi + 30] WORD $0x423a; BYTE $0x1e // cmp al, byte [rdx + 30] - LONG $0x2454940f; BYTE $0x12 // sete byte [rsp + 18] + LONG $0x2454940f; BYTE $0x13 // sete byte [rsp + 19] LONG $0x1f46b60f // movzx eax, byte [rsi + 31] LONG $0x20c68348 // add rsi, 32 WORD $0x423a; BYTE $0x1f // cmp al, byte [rdx + 31] - LONG $0xd0940f41 // sete r8b - WORD $0xc900 // add cl, cl - LONG $0x28244c02 // add cl, byte [rsp + 40] - WORD $0xc889 // mov eax, ecx - LONG $0x244cb60f; BYTE $0x04 // movzx ecx, byte [rsp + 4] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xdb00 // add bl, bl + LONG $0x04245c02 // add bl, byte [rsp + 4] + WORD $0xd889 // mov eax, ebx + LONG $0x245cb60f; BYTE $0x05 // movzx ebx, byte [rsp + 5] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e7c041 // shl r15b, 7 - WORD $0x0841; BYTE $0xcf // or r15b, cl - LONG $0x244cb60f; BYTE $0x14 // movzx ecx, byte [rsp + 20] - WORD $0xe1c0; BYTE $0x02 // shl cl, 2 - WORD $0xc108 // or cl, al - WORD $0xc889 // mov eax, ecx + WORD $0x0841; BYTE $0xdf // or r15b, bl + LONG $0x245cb60f; BYTE $0x15 // movzx ebx, byte [rsp + 21] + WORD $0xe3c0; BYTE $0x02 // shl bl, 2 + WORD $0xc308 // or bl, al + WORD $0xd889 // mov eax, ebx WORD $0x0040; BYTE $0xff // add dil, dil - LONG $0x247c0240; BYTE $0x07 // add dil, byte [rsp + 7] - LONG $0x244cb60f; BYTE $0x15 // movzx ecx, byte [rsp + 21] - WORD $0xe1c0; BYTE $0x03 // shl cl, 3 - WORD $0xc108 // or cl, al - WORD $0xc889 // mov eax, ecx + LONG $0x247c0240; BYTE $0x08 // add dil, byte [rsp + 8] + LONG $0x245cb60f; BYTE $0x16 // movzx ebx, byte [rsp + 22] + WORD $0xe3c0; BYTE $0x03 // shl bl, 3 + WORD $0xc308 // or bl, al + WORD $0xd889 // mov eax, ebx LONG $0x02e2c041 // shl r10b, 2 WORD $0x0841; BYTE $0xfa // or r10b, dil - LONG $0x244cb60f; BYTE $0x16 // movzx ecx, byte [rsp + 22] - WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0xc108 // or cl, al - WORD $0xcf89 // mov edi, ecx + LONG $0x245cb60f; BYTE $0x17 // movzx ebx, byte [rsp + 23] + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0xc308 // or bl, al + WORD $0xdf89 // mov edi, ebx LONG $0x03e3c041 // shl r11b, 3 WORD $0x0845; BYTE $0xd3 // or r11b, r10b - LONG $0x244cb60f; BYTE $0x17 // movzx ecx, byte [rsp + 23] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0x0840; BYTE $0xf9 // or cl, dil + LONG $0x245cb60f; BYTE $0x03 // movzx ebx, byte [rsp + 3] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + WORD $0x0840; BYTE $0xfb // or bl, dil LONG $0x04e6c041 // shl r14b, 4 WORD $0x0845; BYTE $0xde // or r14b, r11b - LONG $0x2444b60f; BYTE $0x05 // movzx eax, byte [rsp + 5] + LONG $0x2444b60f; BYTE $0x06 // movzx eax, byte [rsp + 6] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0x0844; BYTE $0xf0 // or al, r14b - LONG $0x247cb60f; BYTE $0x06 // movzx edi, byte [rsp + 6] + LONG $0x247cb60f; BYTE $0x07 // movzx edi, byte [rsp + 7] LONG $0x06e7c040 // shl dil, 6 - WORD $0xe3c0; BYTE $0x07 // shl bl, 7 - WORD $0x0840; BYTE $0xfb // or bl, dil - WORD $0x0841; BYTE $0xcf // or r15b, cl - WORD $0xc308 // or bl, al + LONG $0x07e0c041 // shl r8b, 7 + WORD $0x0841; BYTE $0xf8 // or r8b, dil + WORD $0x0841; BYTE $0xdf // or r15b, bl + WORD $0x0841; BYTE $0xc0 // or r8b, al WORD $0x0045; BYTE $0xe4 // add r12b, r12b - LONG $0x24640244; BYTE $0x0d // add r12b, byte [rsp + 13] + LONG $0x24640244; BYTE $0x0e // add r12b, byte [rsp + 14] LONG $0x02e5c041 // shl r13b, 2 WORD $0x0845; BYTE $0xe5 // or r13b, r12b - LONG $0x24748b4c; BYTE $0x30 // mov r14, qword [rsp + 48] - LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + LONG $0x24648b4c; BYTE $0x30 // mov r12, qword [rsp + 48] + LONG $0x2444b60f; BYTE $0x09 // movzx eax, byte [rsp + 9] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0x0844; BYTE $0xe8 // or al, r13b - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x09 // movzx eax, byte [rsp + 9] - WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x0a // movzx eax, byte [rsp + 10] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x0b // movzx eax, byte [rsp + 11] WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - WORD $0x8845; BYTE $0x3e // mov byte [r14], r15b - LONG $0x244cb60f; BYTE $0x0b // movzx ecx, byte [rsp + 11] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 + WORD $0xd808 // or al, bl + LONG $0x243c8845 // mov byte [r12], r15b + LONG $0x245cb60f; BYTE $0x0c // movzx ebx, byte [rsp + 12] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e1c041 // shl r9b, 7 - WORD $0x0841; BYTE $0xc9 // or r9b, cl - LONG $0x015e8841 // mov byte [r14 + 1], bl + WORD $0x0841; BYTE $0xd9 // or r9b, bl + LONG $0x24448845; BYTE $0x01 // mov byte [r12 + 1], r8b WORD $0x0841; BYTE $0xc1 // or r9b, al - LONG $0x2444b60f; BYTE $0x0c // movzx eax, byte [rsp + 12] + LONG $0x2444b60f; BYTE $0x0d // movzx eax, byte [rsp + 13] WORD $0xc000 // add al, al - LONG $0x13244402 // add al, byte [rsp + 19] - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x0e // movzx eax, byte [rsp + 14] - WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + LONG $0x14244402 // add al, byte [rsp + 20] + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x0f // movzx eax, byte [rsp + 15] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] - WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x11 // movzx eax, byte [rsp + 17] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x12 // movzx eax, byte [rsp + 18] WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - LONG $0x244cb60f; BYTE $0x12 // movzx ecx, byte [rsp + 18] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 - LONG $0x07e0c041 // shl r8b, 7 - WORD $0x0841; BYTE $0xc8 // or r8b, cl - WORD $0x0841; BYTE $0xc0 // or r8b, al - LONG $0x024e8845 // mov byte [r14 + 2], r9b - LONG $0x03468845 // mov byte [r14 + 3], r8b + WORD $0xd808 // or al, bl + LONG $0x245cb60f; BYTE $0x13 // movzx ebx, byte [rsp + 19] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 + WORD $0xe1c0; BYTE $0x07 // shl cl, 7 + WORD $0xd908 // or cl, bl + WORD $0xc108 // or cl, al + LONG $0x244c8845; BYTE $0x02 // mov byte [r12 + 2], r9b + LONG $0x244c8841; BYTE $0x03 // mov byte [r12 + 3], cl LONG $0x20c28348 // add rdx, 32 - LONG $0x04c68349 // add r14, 4 - LONG $0x24448348; WORD $0xff20 // add qword [rsp + 32], -1 + LONG $0x04c48349 // add r12, 4 + LONG $0x24448348; WORD $0xff28 // add qword [rsp + 40], -1 JNE LBB0_63 - LONG $0x245c8b4c; BYTE $0x18 // mov r11, qword [rsp + 24] - LONG $0x247c8b4c; BYTE $0x38 // mov r15, qword [rsp + 56] + LONG $0x24748b4c; BYTE $0x18 // mov r14, qword [rsp + 24] + LONG $0x247c8b4c; BYTE $0x20 // mov r15, qword [rsp + 32] LBB0_65: LONG $0x05e7c149 // shl r15, 5 - WORD $0x394d; BYTE $0xdf // cmp r15, r11 + WORD $0x394d; BYTE $0xf7 // cmp r15, r14 JGE LBB0_123 - WORD $0x294d; BYTE $0xfb // sub r11, r15 + WORD $0x294d; BYTE $0xfe // sub r14, r15 WORD $0xc931 // xor ecx, ecx LBB0_67: @@ -2429,30 +2620,30 @@ LBB0_67: WORD $0xdbf6 // neg bl WORD $0x8948; BYTE $0xcf // mov rdi, rcx LONG $0x03efc148 // shr rdi, 3 - LONG $0x0cb60f45; BYTE $0x3e // movzx r9d, byte [r14 + rdi] + LONG $0x0cb60f45; BYTE $0x3c // movzx r9d, byte [r12 + rdi] WORD $0x3044; BYTE $0xcb // xor bl, r9b WORD $0xe180; BYTE $0x07 // and cl, 7 WORD $0x01b0 // mov al, 1 WORD $0xe0d2 // shl al, cl WORD $0xd820 // and al, bl WORD $0x3044; BYTE $0xc8 // xor al, r9b - LONG $0x3e048841 // mov byte [r14 + rdi], al + LONG $0x3c048841 // mov byte [r12 + rdi], al WORD $0x894c; BYTE $0xc1 // mov rcx, r8 - WORD $0x394d; BYTE $0xc3 // cmp r11, r8 + WORD $0x394d; BYTE $0xc6 // cmp r14, r8 JNE LBB0_67 JMP LBB0_123 LBB0_90: - LONG $0x1f7b8d4d // lea r15, [r11 + 31] - WORD $0x854d; BYTE $0xdb // test r11, r11 - LONG $0xfb490f4d // cmovns r15, r11 - LONG $0x07418d41 // lea eax, [r9 + 7] - WORD $0x8545; BYTE $0xc9 // test r9d, r9d - LONG $0xc1490f41 // cmovns eax, r9d - WORD $0xe083; BYTE $0xf8 // and eax, -8 - WORD $0x2941; BYTE $0xc1 // sub r9d, eax + LONG $0x1f7e8d4d // lea r15, [r14 + 31] + WORD $0x854d; BYTE $0xf6 // test r14, r14 + LONG $0xfe490f4d // cmovns r15, r14 + WORD $0x488d; BYTE $0x07 // lea ecx, [rax + 7] + WORD $0xc085 // test eax, eax + WORD $0x490f; BYTE $0xc8 // cmovns ecx, eax + WORD $0xe183; BYTE $0xf8 // and ecx, -8 + WORD $0xc829 // sub eax, ecx JE LBB0_94 - WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d + WORD $0x9848 // cdqe LBB0_92: WORD $0x0e8b // mov ecx, dword [rsi] @@ -2465,7 +2656,7 @@ LBB0_92: WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xf8490f48 // cmovns rdi, rax LONG $0x03ffc148 // sar rdi, 3 - LONG $0x04b60f45; BYTE $0x3e // movzx r8d, byte [r14 + rdi] + LONG $0x04b60f45; BYTE $0x3c // movzx r8d, byte [r12 + rdi] WORD $0x3045; BYTE $0xc2 // xor r10b, r8b QUAD $0x00000000fd0c8d44 // lea r9d, [8*rdi] WORD $0xc189 // mov ecx, eax @@ -2474,49 +2665,49 @@ LBB0_92: WORD $0xe3d3 // shl ebx, cl WORD $0x2044; BYTE $0xd3 // and bl, r10b WORD $0x3044; BYTE $0xc3 // xor bl, r8b - LONG $0x3e1c8841 // mov byte [r14 + rdi], bl + LONG $0x3c1c8841 // mov byte [r12 + rdi], bl LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 JNE LBB0_92 - LONG $0x01c68349 // add r14, 1 + LONG $0x01c48349 // add r12, 1 LBB0_94: LONG $0x05ffc149 // sar r15, 5 - LONG $0x20fb8349 // cmp r11, 32 + LONG $0x20fe8349 // cmp r14, 32 JL LBB0_98 - LONG $0x245c894c; BYTE $0x18 // mov qword [rsp + 24], r11 - LONG $0x247c894c; BYTE $0x40 // mov qword [rsp + 64], r15 + LONG $0x2474894c; BYTE $0x18 // mov qword [rsp + 24], r14 LONG $0x247c894c; BYTE $0x38 // mov qword [rsp + 56], r15 + LONG $0x247c894c; BYTE $0x20 // mov qword [rsp + 32], r15 LBB0_96: - LONG $0x2474894c; BYTE $0x30 // mov qword [rsp + 48], r14 + LONG $0x2464894c; BYTE $0x30 // mov qword [rsp + 48], r12 WORD $0x068b // mov eax, dword [rsi] WORD $0x4e8b; BYTE $0x04 // mov ecx, dword [rsi + 4] WORD $0x023b // cmp eax, dword [rdx] - LONG $0x2454940f; BYTE $0x28 // sete byte [rsp + 40] + LONG $0x2454940f; BYTE $0x04 // sete byte [rsp + 4] WORD $0x4a3b; BYTE $0x04 // cmp ecx, dword [rdx + 4] - LONG $0x2454940f; BYTE $0x20 // sete byte [rsp + 32] + LONG $0x2454940f; BYTE $0x28 // sete byte [rsp + 40] WORD $0x468b; BYTE $0x08 // mov eax, dword [rsi + 8] WORD $0x423b; BYTE $0x08 // cmp eax, dword [rdx + 8] - LONG $0x2454940f; BYTE $0x14 // sete byte [rsp + 20] + LONG $0x2454940f; BYTE $0x15 // sete byte [rsp + 21] WORD $0x468b; BYTE $0x0c // mov eax, dword [rsi + 12] WORD $0x423b; BYTE $0x0c // cmp eax, dword [rdx + 12] - LONG $0x2454940f; BYTE $0x15 // sete byte [rsp + 21] + LONG $0x2454940f; BYTE $0x16 // sete byte [rsp + 22] WORD $0x468b; BYTE $0x10 // mov eax, dword [rsi + 16] WORD $0x423b; BYTE $0x10 // cmp eax, dword [rdx + 16] - LONG $0x2454940f; BYTE $0x16 // sete byte [rsp + 22] + LONG $0x2454940f; BYTE $0x17 // sete byte [rsp + 23] WORD $0x468b; BYTE $0x14 // mov eax, dword [rsi + 20] WORD $0x423b; BYTE $0x14 // cmp eax, dword [rdx + 20] - LONG $0x2454940f; BYTE $0x17 // sete byte [rsp + 23] + LONG $0x2454940f; BYTE $0x03 // sete byte [rsp + 3] WORD $0x468b; BYTE $0x18 // mov eax, dword [rsi + 24] WORD $0x423b; BYTE $0x18 // cmp eax, dword [rdx + 24] - LONG $0x2454940f; BYTE $0x04 // sete byte [rsp + 4] + LONG $0x2454940f; BYTE $0x05 // sete byte [rsp + 5] WORD $0x468b; BYTE $0x1c // mov eax, dword [rsi + 28] WORD $0x423b; BYTE $0x1c // cmp eax, dword [rdx + 28] LONG $0xd5940f41 // sete r13b WORD $0x468b; BYTE $0x20 // mov eax, dword [rsi + 32] WORD $0x423b; BYTE $0x20 // cmp eax, dword [rdx + 32] - LONG $0x2454940f; BYTE $0x09 // sete byte [rsp + 9] + LONG $0x2454940f; BYTE $0x0a // sete byte [rsp + 10] WORD $0x468b; BYTE $0x24 // mov eax, dword [rsi + 36] WORD $0x423b; BYTE $0x24 // cmp eax, dword [rdx + 36] LONG $0xd0940f41 // sete r8b @@ -2528,165 +2719,165 @@ LBB0_96: LONG $0xd7940f41 // sete r15b WORD $0x468b; BYTE $0x30 // mov eax, dword [rsi + 48] WORD $0x423b; BYTE $0x30 // cmp eax, dword [rdx + 48] - LONG $0x2454940f; BYTE $0x05 // sete byte [rsp + 5] + LONG $0x2454940f; BYTE $0x06 // sete byte [rsp + 6] WORD $0x468b; BYTE $0x34 // mov eax, dword [rsi + 52] WORD $0x423b; BYTE $0x34 // cmp eax, dword [rdx + 52] - LONG $0x2454940f; BYTE $0x06 // sete byte [rsp + 6] + LONG $0x2454940f; BYTE $0x07 // sete byte [rsp + 7] WORD $0x468b; BYTE $0x38 // mov eax, dword [rsi + 56] WORD $0x423b; BYTE $0x38 // cmp eax, dword [rdx + 56] - LONG $0x2454940f; BYTE $0x07 // sete byte [rsp + 7] + LONG $0x2454940f; BYTE $0x08 // sete byte [rsp + 8] WORD $0x468b; BYTE $0x3c // mov eax, dword [rsi + 60] WORD $0x423b; BYTE $0x3c // cmp eax, dword [rdx + 60] - WORD $0x940f; BYTE $0xd3 // sete bl + LONG $0xd7940f40 // sete dil WORD $0x468b; BYTE $0x40 // mov eax, dword [rsi + 64] - WORD $0x4e8b; BYTE $0x44 // mov ecx, dword [rsi + 68] + WORD $0x5e8b; BYTE $0x44 // mov ebx, dword [rsi + 68] WORD $0x423b; BYTE $0x40 // cmp eax, dword [rdx + 64] WORD $0x468b; BYTE $0x48 // mov eax, dword [rsi + 72] - LONG $0x2454940f; BYTE $0x0a // sete byte [rsp + 10] - WORD $0x4a3b; BYTE $0x44 // cmp ecx, dword [rdx + 68] - WORD $0x4e8b; BYTE $0x4c // mov ecx, dword [rsi + 76] + LONG $0x2454940f; BYTE $0x0b // sete byte [rsp + 11] + WORD $0x5a3b; BYTE $0x44 // cmp ebx, dword [rdx + 68] + WORD $0x5e8b; BYTE $0x4c // mov ebx, dword [rsi + 76] LONG $0xd2940f41 // sete r10b WORD $0x423b; BYTE $0x48 // cmp eax, dword [rdx + 72] WORD $0x468b; BYTE $0x50 // mov eax, dword [rsi + 80] LONG $0xd6940f41 // sete r14b - WORD $0x4a3b; BYTE $0x4c // cmp ecx, dword [rdx + 76] - WORD $0x4e8b; BYTE $0x54 // mov ecx, dword [rsi + 84] + WORD $0x5a3b; BYTE $0x4c // cmp ebx, dword [rdx + 76] + WORD $0x5e8b; BYTE $0x54 // mov ebx, dword [rsi + 84] LONG $0xd4940f41 // sete r12b WORD $0x423b; BYTE $0x50 // cmp eax, dword [rdx + 80] - LONG $0x2454940f; BYTE $0x08 // sete byte [rsp + 8] - WORD $0x4a3b; BYTE $0x54 // cmp ecx, dword [rdx + 84] + LONG $0x2454940f; BYTE $0x09 // sete byte [rsp + 9] + WORD $0x5a3b; BYTE $0x54 // cmp ebx, dword [rdx + 84] WORD $0x468b; BYTE $0x58 // mov eax, dword [rsi + 88] - LONG $0x2454940f; BYTE $0x0b // sete byte [rsp + 11] + LONG $0x2454940f; BYTE $0x0c // sete byte [rsp + 12] WORD $0x423b; BYTE $0x58 // cmp eax, dword [rdx + 88] WORD $0x468b; BYTE $0x5c // mov eax, dword [rsi + 92] - LONG $0x2454940f; BYTE $0x0c // sete byte [rsp + 12] + LONG $0x2454940f; BYTE $0x0d // sete byte [rsp + 13] WORD $0x423b; BYTE $0x5c // cmp eax, dword [rdx + 92] WORD $0x468b; BYTE $0x60 // mov eax, dword [rsi + 96] LONG $0xd1940f41 // sete r9b WORD $0x423b; BYTE $0x60 // cmp eax, dword [rdx + 96] WORD $0x468b; BYTE $0x64 // mov eax, dword [rsi + 100] - LONG $0x2454940f; BYTE $0x13 // sete byte [rsp + 19] + LONG $0x2454940f; BYTE $0x14 // sete byte [rsp + 20] WORD $0x423b; BYTE $0x64 // cmp eax, dword [rdx + 100] WORD $0x468b; BYTE $0x68 // mov eax, dword [rsi + 104] - LONG $0x2454940f; BYTE $0x0d // sete byte [rsp + 13] + LONG $0x2454940f; BYTE $0x0e // sete byte [rsp + 14] WORD $0x423b; BYTE $0x68 // cmp eax, dword [rdx + 104] WORD $0x468b; BYTE $0x6c // mov eax, dword [rsi + 108] - LONG $0x2454940f; BYTE $0x0e // sete byte [rsp + 14] + LONG $0x2454940f; BYTE $0x0f // sete byte [rsp + 15] WORD $0x423b; BYTE $0x6c // cmp eax, dword [rdx + 108] WORD $0x468b; BYTE $0x70 // mov eax, dword [rsi + 112] - LONG $0x2454940f; BYTE $0x0f // sete byte [rsp + 15] + LONG $0x2454940f; BYTE $0x10 // sete byte [rsp + 16] WORD $0x423b; BYTE $0x70 // cmp eax, dword [rdx + 112] WORD $0x468b; BYTE $0x74 // mov eax, dword [rsi + 116] - LONG $0x2454940f; BYTE $0x10 // sete byte [rsp + 16] + LONG $0x2454940f; BYTE $0x11 // sete byte [rsp + 17] WORD $0x423b; BYTE $0x74 // cmp eax, dword [rdx + 116] WORD $0x468b; BYTE $0x78 // mov eax, dword [rsi + 120] - LONG $0x2454940f; BYTE $0x12 // sete byte [rsp + 18] + LONG $0x2454940f; BYTE $0x13 // sete byte [rsp + 19] WORD $0x423b; BYTE $0x78 // cmp eax, dword [rdx + 120] WORD $0x468b; BYTE $0x7c // mov eax, dword [rsi + 124] - LONG $0x2454940f; BYTE $0x11 // sete byte [rsp + 17] + LONG $0x2454940f; BYTE $0x12 // sete byte [rsp + 18] LONG $0x80ee8348 // sub rsi, -128 WORD $0x423b; BYTE $0x7c // cmp eax, dword [rdx + 124] - LONG $0xd7940f40 // sete dil - LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] + WORD $0x940f; BYTE $0xd1 // sete cl + LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] WORD $0xc000 // add al, al - LONG $0x28244402 // add al, byte [rsp + 40] - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x04 // movzx eax, byte [rsp + 4] + LONG $0x04244402 // add al, byte [rsp + 4] + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x05 // movzx eax, byte [rsp + 5] WORD $0xe0c0; BYTE $0x06 // shl al, 6 LONG $0x07e5c041 // shl r13b, 7 WORD $0x0841; BYTE $0xc5 // or r13b, al - LONG $0x2444b60f; BYTE $0x14 // movzx eax, byte [rsp + 20] + LONG $0x2444b60f; BYTE $0x15 // movzx eax, byte [rsp + 21] WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xc808 // or al, cl + WORD $0xd808 // or al, bl WORD $0x0045; BYTE $0xc0 // add r8b, r8b - LONG $0x24440244; BYTE $0x09 // add r8b, byte [rsp + 9] - LONG $0x244cb60f; BYTE $0x15 // movzx ecx, byte [rsp + 21] - WORD $0xe1c0; BYTE $0x03 // shl cl, 3 - WORD $0xc108 // or cl, al - WORD $0xc889 // mov eax, ecx + LONG $0x24440244; BYTE $0x0a // add r8b, byte [rsp + 10] + LONG $0x245cb60f; BYTE $0x16 // movzx ebx, byte [rsp + 22] + WORD $0xe3c0; BYTE $0x03 // shl bl, 3 + WORD $0xc308 // or bl, al + WORD $0xd889 // mov eax, ebx LONG $0x02e3c041 // shl r11b, 2 WORD $0x0845; BYTE $0xc3 // or r11b, r8b - LONG $0x244cb60f; BYTE $0x16 // movzx ecx, byte [rsp + 22] - WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0xc108 // or cl, al - WORD $0x8941; BYTE $0xc8 // mov r8d, ecx + LONG $0x245cb60f; BYTE $0x17 // movzx ebx, byte [rsp + 23] + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0xc308 // or bl, al + WORD $0x8941; BYTE $0xd8 // mov r8d, ebx LONG $0x03e7c041 // shl r15b, 3 WORD $0x0845; BYTE $0xdf // or r15b, r11b - LONG $0x244cb60f; BYTE $0x17 // movzx ecx, byte [rsp + 23] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0x0844; BYTE $0xc1 // or cl, r8b - LONG $0x2444b60f; BYTE $0x05 // movzx eax, byte [rsp + 5] + LONG $0x245cb60f; BYTE $0x03 // movzx ebx, byte [rsp + 3] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + WORD $0x0844; BYTE $0xc3 // or bl, r8b + LONG $0x2444b60f; BYTE $0x06 // movzx eax, byte [rsp + 6] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0x0844; BYTE $0xf8 // or al, r15b WORD $0x8941; BYTE $0xc0 // mov r8d, eax - LONG $0x2444b60f; BYTE $0x06 // movzx eax, byte [rsp + 6] + LONG $0x2444b60f; BYTE $0x07 // movzx eax, byte [rsp + 7] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0x0844; BYTE $0xc0 // or al, r8b - LONG $0x44b60f44; WORD $0x0724 // movzx r8d, byte [rsp + 7] + LONG $0x44b60f44; WORD $0x0824 // movzx r8d, byte [rsp + 8] LONG $0x06e0c041 // shl r8b, 6 - WORD $0xe3c0; BYTE $0x07 // shl bl, 7 - WORD $0x0844; BYTE $0xc3 // or bl, r8b - WORD $0x0841; BYTE $0xcd // or r13b, cl - WORD $0xc308 // or bl, al + LONG $0x07e7c040 // shl dil, 7 + WORD $0x0844; BYTE $0xc7 // or dil, r8b + WORD $0x0841; BYTE $0xdd // or r13b, bl + WORD $0x0840; BYTE $0xc7 // or dil, al WORD $0x0045; BYTE $0xd2 // add r10b, r10b - LONG $0x24540244; BYTE $0x0a // add r10b, byte [rsp + 10] + LONG $0x24540244; BYTE $0x0b // add r10b, byte [rsp + 11] LONG $0x02e6c041 // shl r14b, 2 WORD $0x0845; BYTE $0xd6 // or r14b, r10b LONG $0x03e4c041 // shl r12b, 3 WORD $0x0845; BYTE $0xf4 // or r12b, r14b - LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + LONG $0x2444b60f; BYTE $0x09 // movzx eax, byte [rsp + 9] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0x0844; BYTE $0xe0 // or al, r12b - WORD $0xc189 // mov ecx, eax - LONG $0x24748b4c; BYTE $0x30 // mov r14, qword [rsp + 48] - LONG $0x2444b60f; BYTE $0x0b // movzx eax, byte [rsp + 11] + WORD $0xc389 // mov ebx, eax + LONG $0x24648b4c; BYTE $0x30 // mov r12, qword [rsp + 48] + LONG $0x2444b60f; BYTE $0x0c // movzx eax, byte [rsp + 12] WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - WORD $0x8845; BYTE $0x2e // mov byte [r14], r13b - LONG $0x244cb60f; BYTE $0x0c // movzx ecx, byte [rsp + 12] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 + WORD $0xd808 // or al, bl + LONG $0x242c8845 // mov byte [r12], r13b + LONG $0x245cb60f; BYTE $0x0d // movzx ebx, byte [rsp + 13] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e1c041 // shl r9b, 7 - WORD $0x0841; BYTE $0xc9 // or r9b, cl - LONG $0x015e8841 // mov byte [r14 + 1], bl + WORD $0x0841; BYTE $0xd9 // or r9b, bl + LONG $0x247c8841; BYTE $0x01 // mov byte [r12 + 1], dil WORD $0x0841; BYTE $0xc1 // or r9b, al - LONG $0x2444b60f; BYTE $0x0d // movzx eax, byte [rsp + 13] - WORD $0xc000 // add al, al - LONG $0x13244402 // add al, byte [rsp + 19] - WORD $0xc189 // mov ecx, eax LONG $0x2444b60f; BYTE $0x0e // movzx eax, byte [rsp + 14] - WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xc000 // add al, al + LONG $0x14244402 // add al, byte [rsp + 20] + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x0f // movzx eax, byte [rsp + 15] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x11 // movzx eax, byte [rsp + 17] WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x12 // movzx eax, byte [rsp + 18] + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x13 // movzx eax, byte [rsp + 19] WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - LONG $0x244cb60f; BYTE $0x11 // movzx ecx, byte [rsp + 17] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 - LONG $0x07e7c040 // shl dil, 7 - WORD $0x0840; BYTE $0xcf // or dil, cl - WORD $0x0840; BYTE $0xc7 // or dil, al - LONG $0x024e8845 // mov byte [r14 + 2], r9b - LONG $0x037e8841 // mov byte [r14 + 3], dil + WORD $0xd808 // or al, bl + LONG $0x245cb60f; BYTE $0x12 // movzx ebx, byte [rsp + 18] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 + WORD $0xe1c0; BYTE $0x07 // shl cl, 7 + WORD $0xd908 // or cl, bl + WORD $0xc108 // or cl, al + LONG $0x244c8845; BYTE $0x02 // mov byte [r12 + 2], r9b + LONG $0x244c8841; BYTE $0x03 // mov byte [r12 + 3], cl LONG $0x80c28148; WORD $0x0000; BYTE $0x00 // add rdx, 128 - LONG $0x04c68349 // add r14, 4 - LONG $0x24448348; WORD $0xff38 // add qword [rsp + 56], -1 + LONG $0x04c48349 // add r12, 4 + LONG $0x24448348; WORD $0xff20 // add qword [rsp + 32], -1 JNE LBB0_96 - LONG $0x245c8b4c; BYTE $0x18 // mov r11, qword [rsp + 24] - LONG $0x247c8b4c; BYTE $0x40 // mov r15, qword [rsp + 64] + LONG $0x24748b4c; BYTE $0x18 // mov r14, qword [rsp + 24] + LONG $0x247c8b4c; BYTE $0x38 // mov r15, qword [rsp + 56] LBB0_98: LONG $0x05e7c149 // shl r15, 5 - WORD $0x394d; BYTE $0xdf // cmp r15, r11 + WORD $0x394d; BYTE $0xf7 // cmp r15, r14 JGE LBB0_123 - WORD $0x294d; BYTE $0xfb // sub r11, r15 + WORD $0x294d; BYTE $0xfe // sub r14, r15 WORD $0xc931 // xor ecx, ecx LBB0_100: @@ -2697,16 +2888,16 @@ LBB0_100: WORD $0xdbf6 // neg bl WORD $0x8948; BYTE $0xcf // mov rdi, rcx LONG $0x03efc148 // shr rdi, 3 - LONG $0x0cb60f45; BYTE $0x3e // movzx r9d, byte [r14 + rdi] + LONG $0x0cb60f45; BYTE $0x3c // movzx r9d, byte [r12 + rdi] WORD $0x3044; BYTE $0xcb // xor bl, r9b WORD $0xe180; BYTE $0x07 // and cl, 7 WORD $0x01b0 // mov al, 1 WORD $0xe0d2 // shl al, cl WORD $0xd820 // and al, bl WORD $0x3044; BYTE $0xc8 // xor al, r9b - LONG $0x3e048841 // mov byte [r14 + rdi], al + LONG $0x3c048841 // mov byte [r12 + rdi], al WORD $0x894c; BYTE $0xc1 // mov rcx, r8 - WORD $0x394d; BYTE $0xc3 // cmp r11, r8 + WORD $0x394d; BYTE $0xc6 // cmp r14, r8 JNE LBB0_100 LBB0_123: @@ -2747,7 +2938,7 @@ DATA LCDATA1<>+0x0f0(SB)/8, $0x4040404040404040 DATA LCDATA1<>+0x0f8(SB)/8, $0x4040404040404040 GLOBL LCDATA1<>(SB), 8, $256 -TEXT ·_comparison_equal_arr_scalar_sse4(SB), $344-48 +TEXT ·_comparison_equal_arr_scalar_sse4(SB), $328-48 MOVQ typ+0(FP), DI MOVQ left+8(FP), SI @@ -2758,21 +2949,21 @@ TEXT ·_comparison_equal_arr_scalar_sse4(SB), $344-48 MOVQ SP, BP ADDQ $16, SP ANDQ $-16, SP - MOVQ BP, 320(SP) + MOVQ BP, 304(SP) LEAQ LCDATA1<>(SB), BP WORD $0x894d; BYTE $0xc2 // mov r10, r8 WORD $0x8949; BYTE $0xce // mov r14, rcx WORD $0xff83; BYTE $0x06 // cmp edi, 6 - JG LBB1_26 + JG LBB1_27 WORD $0xff83; BYTE $0x03 // cmp edi, 3 JLE LBB1_2 WORD $0xff83; BYTE $0x04 // cmp edi, 4 - JE LBB1_100 + JE LBB1_101 WORD $0xff83; BYTE $0x05 // cmp edi, 5 - JE LBB1_123 + JE LBB1_124 WORD $0xff83; BYTE $0x06 // cmp edi, 6 - JNE LBB1_202 + JNE LBB1_199 WORD $0x8b44; BYTE $0x2a // mov r13d, dword [rdx] LONG $0x1f5a8d4d // lea r11, [r10 + 31] WORD $0x854d; BYTE $0xd2 // test r10, r10 @@ -2794,6 +2985,7 @@ LBB1_15: WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xd8490f48 // cmovns rbx, rax LONG $0x03fbc148 // sar rbx, 3 + WORD $0x894d; BYTE $0xf1 // mov r9, r14 LONG $0x04b60f45; BYTE $0x1e // movzx r8d, byte [r14 + rbx] WORD $0x3044; BYTE $0xc2 // xor dl, r8b LONG $0x00dd3c8d; WORD $0x0000; BYTE $0x00 // lea edi, [8*rbx] @@ -2815,20 +3007,20 @@ LBB1_17: JL LBB1_21 QUAD $0x000000902494894c // mov qword [rsp + 144], r10 QUAD $0x00000098249c894c // mov qword [rsp + 152], r11 - QUAD $0x000000c0249c894c // mov qword [rsp + 192], r11 + QUAD $0x000000a0249c894c // mov qword [rsp + 160], r11 LBB1_19: QUAD $0x0000008824b4894c // mov qword [rsp + 136], r14 WORD $0x3944; BYTE $0x2e // cmp dword [rsi], r13d - QUAD $0x000000e02494940f // sete byte [rsp + 224] + QUAD $0x000000d02494940f // sete byte [rsp + 208] LONG $0x046e3944 // cmp dword [rsi + 4], r13d - LONG $0xd7940f40 // sete dil + LONG $0xd2940f41 // sete r10b LONG $0x086e3944 // cmp dword [rsi + 8], r13d LONG $0xd6940f41 // sete r14b LONG $0x0c6e3944 // cmp dword [rsi + 12], r13d - QUAD $0x000000d02494940f // sete byte [rsp + 208] + QUAD $0x000000b02494940f // sete byte [rsp + 176] LONG $0x106e3944 // cmp dword [rsi + 16], r13d - LONG $0x2454940f; BYTE $0x58 // sete byte [rsp + 88] + LONG $0x2454940f; BYTE $0x60 // sete byte [rsp + 96] LONG $0x146e3944 // cmp dword [rsi + 20], r13d LONG $0x2454940f; BYTE $0x48 // sete byte [rsp + 72] LONG $0x186e3944 // cmp dword [rsi + 24], r13d @@ -2836,142 +3028,143 @@ LBB1_19: LONG $0x1c6e3944 // cmp dword [rsi + 28], r13d WORD $0x940f; BYTE $0xd3 // sete bl LONG $0x206e3944 // cmp dword [rsi + 32], r13d - QUAD $0x000000a02494940f // sete byte [rsp + 160] + QUAD $0x000000c02494940f // sete byte [rsp + 192] LONG $0x246e3944 // cmp dword [rsi + 36], r13d - WORD $0x940f; BYTE $0xd2 // sete dl + LONG $0xd7940f40 // sete dil LONG $0x286e3944 // cmp dword [rsi + 40], r13d - LONG $0xd1940f41 // sete r9b + LONG $0xd0940f41 // sete r8b LONG $0x2c6e3944 // cmp dword [rsi + 44], r13d - LONG $0xd2940f41 // sete r10b + LONG $0xd1940f41 // sete r9b LONG $0x306e3944 // cmp dword [rsi + 48], r13d LONG $0xd3940f41 // sete r11b LONG $0x346e3944 // cmp dword [rsi + 52], r13d LONG $0xd4940f41 // sete r12b LONG $0x386e3944 // cmp dword [rsi + 56], r13d - QUAD $0x000000b02494940f // sete byte [rsp + 176] + LONG $0x2454940f; BYTE $0x70 // sete byte [rsp + 112] LONG $0x3c6e3944 // cmp dword [rsi + 60], r13d WORD $0x940f; BYTE $0xd1 // sete cl LONG $0x406e3944 // cmp dword [rsi + 64], r13d - LONG $0x2454940f; BYTE $0x68 // sete byte [rsp + 104] + LONG $0x2454940f; BYTE $0x50 // sete byte [rsp + 80] LONG $0x446e3944 // cmp dword [rsi + 68], r13d - QUAD $0x000000802494940f // sete byte [rsp + 128] + LONG $0x2454940f; BYTE $0x78 // sete byte [rsp + 120] LONG $0x486e3944 // cmp dword [rsi + 72], r13d - LONG $0x2454940f; BYTE $0x70 // sete byte [rsp + 112] + QUAD $0x000000802494940f // sete byte [rsp + 128] LONG $0x4c6e3944 // cmp dword [rsi + 76], r13d - LONG $0x2454940f; BYTE $0x60 // sete byte [rsp + 96] + LONG $0x2454940f; BYTE $0x68 // sete byte [rsp + 104] LONG $0x506e3944 // cmp dword [rsi + 80], r13d - LONG $0x2454940f; BYTE $0x78 // sete byte [rsp + 120] + LONG $0x2454940f; BYTE $0x58 // sete byte [rsp + 88] LONG $0x546e3944 // cmp dword [rsi + 84], r13d - LONG $0x2454940f; BYTE $0x50 // sete byte [rsp + 80] - LONG $0x586e3944 // cmp dword [rsi + 88], r13d LONG $0x2454940f; BYTE $0x40 // sete byte [rsp + 64] + LONG $0x586e3944 // cmp dword [rsi + 88], r13d + LONG $0x2454940f; BYTE $0x38 // sete byte [rsp + 56] LONG $0x5c6e3944 // cmp dword [rsi + 92], r13d LONG $0xd7940f41 // sete r15b LONG $0x606e3944 // cmp dword [rsi + 96], r13d - LONG $0x2454940f; BYTE $0x20 // sete byte [rsp + 32] + LONG $0x2454940f; BYTE $0x10 // sete byte [rsp + 16] LONG $0x646e3944 // cmp dword [rsi + 100], r13d - LONG $0x2454940f; BYTE $0x38 // sete byte [rsp + 56] + LONG $0x2454940f; BYTE $0x20 // sete byte [rsp + 32] LONG $0x686e3944 // cmp dword [rsi + 104], r13d - LONG $0x2454940f; BYTE $0x10 // sete byte [rsp + 16] - LONG $0x6c6e3944 // cmp dword [rsi + 108], r13d LONG $0x2454940f; BYTE $0x30 // sete byte [rsp + 48] - LONG $0x706e3944 // cmp dword [rsi + 112], r13d + LONG $0x6c6e3944 // cmp dword [rsi + 108], r13d LONG $0x2454940f; BYTE $0x18 // sete byte [rsp + 24] - LONG $0x746e3944 // cmp dword [rsi + 116], r13d + LONG $0x706e3944 // cmp dword [rsi + 112], r13d LONG $0x2454940f; BYTE $0x28 // sete byte [rsp + 40] - LONG $0x786e3944 // cmp dword [rsi + 120], r13d + LONG $0x746e3944 // cmp dword [rsi + 116], r13d LONG $0x2454940f; BYTE $0x08 // sete byte [rsp + 8] + LONG $0x786e3944 // cmp dword [rsi + 120], r13d + LONG $0x2454940f; BYTE $0x04 // sete byte [rsp + 4] LONG $0x7c6e3944 // cmp dword [rsi + 124], r13d - LONG $0xd0940f41 // sete r8b - WORD $0x0040; BYTE $0xff // add dil, dil - QUAD $0x000000e024bc0240 // add dil, byte [rsp + 224] + WORD $0x940f; BYTE $0xd2 // sete dl + WORD $0x0045; BYTE $0xd2 // add r10b, r10b + QUAD $0x000000d024940244 // add r10b, byte [rsp + 208] WORD $0xe0c0; BYTE $0x06 // shl al, 6 WORD $0xe3c0; BYTE $0x07 // shl bl, 7 WORD $0xc308 // or bl, al LONG $0x02e6c041 // shl r14b, 2 - WORD $0x0841; BYTE $0xfe // or r14b, dil - WORD $0xd200 // add dl, dl - LONG $0xa0249402; WORD $0x0000; BYTE $0x00 // add dl, byte [rsp + 160] - QUAD $0x000000d02484b60f // movzx eax, byte [rsp + 208] + WORD $0x0845; BYTE $0xd6 // or r14b, r10b + WORD $0x0040; BYTE $0xff // add dil, dil + QUAD $0x000000c024bc0240 // add dil, byte [rsp + 192] + QUAD $0x000000b02484b60f // movzx eax, byte [rsp + 176] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0x0844; BYTE $0xf0 // or al, r14b - LONG $0x02e1c041 // shl r9b, 2 - WORD $0x0841; BYTE $0xd1 // or r9b, dl - LONG $0x2454b60f; BYTE $0x58 // movzx edx, byte [rsp + 88] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0xc208 // or dl, al - WORD $0xd789 // mov edi, edx - LONG $0x03e2c041 // shl r10b, 3 - WORD $0x0845; BYTE $0xca // or r10b, r9b - LONG $0x2454b60f; BYTE $0x48 // movzx edx, byte [rsp + 72] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xfa // or dl, dil + WORD $0x8941; BYTE $0xc2 // mov r10d, eax + QUAD $0x0000008824b48b4c // mov r14, qword [rsp + 136] + LONG $0x02e0c041 // shl r8b, 2 + WORD $0x0841; BYTE $0xf8 // or r8b, dil + LONG $0x2444b60f; BYTE $0x60 // movzx eax, byte [rsp + 96] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0844; BYTE $0xd0 // or al, r10b + WORD $0xc789 // mov edi, eax + LONG $0x03e1c041 // shl r9b, 3 + WORD $0x0845; BYTE $0xc1 // or r9b, r8b + LONG $0x2444b60f; BYTE $0x48 // movzx eax, byte [rsp + 72] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0x0840; BYTE $0xf8 // or al, dil LONG $0x04e3c041 // shl r11b, 4 - WORD $0x0845; BYTE $0xd3 // or r11b, r10b + WORD $0x0845; BYTE $0xcb // or r11b, r9b LONG $0x05e4c041 // shl r12b, 5 WORD $0x0845; BYTE $0xdc // or r12b, r11b - QUAD $0x000000b024bcb60f // movzx edi, byte [rsp + 176] + LONG $0x247cb60f; BYTE $0x70 // movzx edi, byte [rsp + 112] LONG $0x06e7c040 // shl dil, 6 WORD $0xe1c0; BYTE $0x07 // shl cl, 7 WORD $0x0840; BYTE $0xf9 // or cl, dil - WORD $0xd308 // or bl, dl + WORD $0xc308 // or bl, al WORD $0x0844; BYTE $0xe1 // or cl, r12b - QUAD $0x0000008824b48b4c // mov r14, qword [rsp + 136] - QUAD $0x000000802494b60f // movzx edx, byte [rsp + 128] - WORD $0xd200 // add dl, dl - LONG $0x68245402 // add dl, byte [rsp + 104] - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x70 // movzx edx, byte [rsp + 112] - WORD $0xe2c0; BYTE $0x02 // shl dl, 2 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x60 // movzx edx, byte [rsp + 96] - WORD $0xe2c0; BYTE $0x03 // shl dl, 3 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x78 // movzx edx, byte [rsp + 120] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x50 // movzx edx, byte [rsp + 80] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xfa // or dl, dil + LONG $0x2444b60f; BYTE $0x78 // movzx eax, byte [rsp + 120] + WORD $0xc000 // add al, al + LONG $0x50244402 // add al, byte [rsp + 80] + WORD $0xc789 // mov edi, eax + QUAD $0x000000802484b60f // movzx eax, byte [rsp + 128] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x68 // movzx eax, byte [rsp + 104] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x58 // movzx eax, byte [rsp + 88] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x40 // movzx eax, byte [rsp + 64] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0x0840; BYTE $0xf8 // or al, dil WORD $0x8841; BYTE $0x1e // mov byte [r14], bl - LONG $0x245cb60f; BYTE $0x40 // movzx ebx, byte [rsp + 64] + LONG $0x245cb60f; BYTE $0x38 // movzx ebx, byte [rsp + 56] WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e7c041 // shl r15b, 7 WORD $0x0841; BYTE $0xdf // or r15b, bl LONG $0x014e8841 // mov byte [r14 + 1], cl - WORD $0x0841; BYTE $0xd7 // or r15b, dl - LONG $0x244cb60f; BYTE $0x38 // movzx ecx, byte [rsp + 56] - WORD $0xc900 // add cl, cl - LONG $0x20244c02 // add cl, byte [rsp + 32] - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x10 // movzx ecx, byte [rsp + 16] - WORD $0xe1c0; BYTE $0x02 // shl cl, 2 - WORD $0xd108 // or cl, dl - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x30 // movzx ecx, byte [rsp + 48] - WORD $0xe1c0; BYTE $0x03 // shl cl, 3 - WORD $0xd108 // or cl, dl - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x18 // movzx ecx, byte [rsp + 24] - WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0xd108 // or cl, dl - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x28 // movzx ecx, byte [rsp + 40] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0xd108 // or cl, dl - LONG $0x2454b60f; BYTE $0x08 // movzx edx, byte [rsp + 8] - WORD $0xe2c0; BYTE $0x06 // shl dl, 6 - LONG $0x07e0c041 // shl r8b, 7 - WORD $0x0841; BYTE $0xd0 // or r8b, dl - WORD $0x0841; BYTE $0xc8 // or r8b, cl + WORD $0x0841; BYTE $0xc7 // or r15b, al + LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] + WORD $0xc000 // add al, al + LONG $0x10244402 // add al, byte [rsp + 16] + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x18 // movzx eax, byte [rsp + 24] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0xc808 // or al, cl + LONG $0x244cb60f; BYTE $0x04 // movzx ecx, byte [rsp + 4] + WORD $0xe1c0; BYTE $0x06 // shl cl, 6 + WORD $0xe2c0; BYTE $0x07 // shl dl, 7 + WORD $0xca08 // or dl, cl + WORD $0xc208 // or dl, al LONG $0x027e8845 // mov byte [r14 + 2], r15b - LONG $0x03468845 // mov byte [r14 + 3], r8b + LONG $0x03568841 // mov byte [r14 + 3], dl LONG $0x80c68148; WORD $0x0000; BYTE $0x00 // add rsi, 128 LONG $0x04c68349 // add r14, 4 - QUAD $0x000000c024848348; BYTE $0xff // add qword [rsp + 192], -1 + QUAD $0x000000a024848348; BYTE $0xff // add qword [rsp + 160], -1 JNE LBB1_19 QUAD $0x0000009024948b4c // mov r10, qword [rsp + 144] QUAD $0x00000098249c8b4c // mov r11, qword [rsp + 152] @@ -2979,7 +3172,7 @@ LBB1_19: LBB1_21: LONG $0x05e3c149 // shl r11, 5 WORD $0x394d; BYTE $0xd3 // cmp r11, r10 - JGE LBB1_202 + JGE LBB1_199 WORD $0x894d; BYTE $0xd0 // mov r8, r10 WORD $0x294d; BYTE $0xd8 // sub r8, r11 WORD $0xf749; BYTE $0xd3 // not r11 @@ -2989,12 +3182,13 @@ LBB1_21: LONG $0xfee28349 // and r10, -2 WORD $0x3145; BYTE $0xdb // xor r11d, r11d -LBB1_147: +LBB1_145: WORD $0x3944; BYTE $0x2e // cmp dword [rsi], r13d WORD $0x940f; BYTE $0xd0 // sete al WORD $0xd8f6 // neg al WORD $0x894c; BYTE $0xdf // mov rdi, r11 LONG $0x03efc148 // shr rdi, 3 + WORD $0x894d; BYTE $0xf7 // mov r15, r14 LONG $0x0cb60f45; BYTE $0x3e // movzx r9d, byte [r14 + rdi] WORD $0x8944; BYTE $0xd9 // mov ecx, r11d WORD $0xe180; BYTE $0x06 // and cl, 6 @@ -3017,18 +3211,18 @@ LBB1_147: WORD $0xda30 // xor dl, bl LONG $0x3e148841 // mov byte [r14 + rdi], dl WORD $0x394d; BYTE $0xda // cmp r10, r11 - JNE LBB1_147 + JNE LBB1_145 JMP LBB1_24 -LBB1_26: +LBB1_27: WORD $0xff83; BYTE $0x08 // cmp edi, 8 - JLE LBB1_27 + JLE LBB1_28 WORD $0xff83; BYTE $0x09 // cmp edi, 9 - JE LBB1_162 + JE LBB1_160 WORD $0xff83; BYTE $0x0b // cmp edi, 11 - JE LBB1_174 + JE LBB1_172 WORD $0xff83; BYTE $0x0c // cmp edi, 12 - JNE LBB1_202 + JNE LBB1_199 LONG $0x1f5a8d4d // lea r11, [r10 + 31] WORD $0x854d; BYTE $0xd2 // test r10, r10 LONG $0xda490f4d // cmovns r11, r10 @@ -3038,18 +3232,21 @@ LBB1_26: WORD $0xe083; BYTE $0xf8 // and eax, -8 LONG $0x02100ff2 // movsd xmm0, qword [rdx] WORD $0x2941; BYTE $0xc1 // sub r9d, eax - JE LBB1_49 + JE LBB1_50 WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d -LBB1_47: +LBB1_48: LONG $0x062e0f66 // ucomisd xmm0, qword [rsi] LONG $0x08768d48 // lea rsi, [rsi + 8] + WORD $0x9b0f; BYTE $0xd1 // setnp cl WORD $0x940f; BYTE $0xd2 // sete dl + WORD $0xca20 // and dl, cl WORD $0xdaf6 // neg dl LONG $0x07788d48 // lea rdi, [rax + 7] WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xf8490f48 // cmovns rdi, rax LONG $0x03ffc148 // sar rdi, 3 + WORD $0x894d; BYTE $0xf7 // mov r15, r14 LONG $0x0cb60f45; BYTE $0x3e // movzx r9d, byte [r14 + rdi] WORD $0x3044; BYTE $0xca // xor dl, r9b QUAD $0x00000000fd048d44 // lea r8d, [8*rdi] @@ -3062,191 +3259,282 @@ LBB1_47: LONG $0x3e1c8841 // mov byte [r14 + rdi], bl LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 - JNE LBB1_47 + JNE LBB1_48 LONG $0x01c68349 // add r14, 1 -LBB1_49: +LBB1_50: LONG $0x05fbc149 // sar r11, 5 LONG $0x20fa8349 // cmp r10, 32 - JL LBB1_53 + JL LBB1_54 QUAD $0x000000902494894c // mov qword [rsp + 144], r10 - QUAD $0x000000c0249c894c // mov qword [rsp + 192], r11 - QUAD $0x000000e0249c894c // mov qword [rsp + 224], r11 + QUAD $0x00000110249c894c // mov qword [rsp + 272], r11 + QUAD $0x000000f0249c894c // mov qword [rsp + 240], r11 -LBB1_51: +LBB1_52: QUAD $0x0000008824b4894c // mov qword [rsp + 136], r14 LONG $0x062e0f66 // ucomisd xmm0, qword [rsi] - QUAD $0x000000d02494940f // sete byte [rsp + 208] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x30244c88 // mov byte [rsp + 48], cl LONG $0x462e0f66; BYTE $0x08 // ucomisd xmm0, qword [rsi + 8] - LONG $0xd1940f41 // sete r9b + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd5940f41 // sete r13b + WORD $0x2041; BYTE $0xc5 // and r13b, al LONG $0x462e0f66; BYTE $0x10 // ucomisd xmm0, qword [rsi + 16] - LONG $0xd6940f41 // sete r14b + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x18244c88 // mov byte [rsp + 24], cl LONG $0x462e0f66; BYTE $0x18 // ucomisd xmm0, qword [rsi + 24] - LONG $0xd5940f41 // sete r13b + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x28244c88 // mov byte [rsp + 40], cl LONG $0x462e0f66; BYTE $0x20 // ucomisd xmm0, qword [rsi + 32] - LONG $0x2454940f; BYTE $0x58 // sete byte [rsp + 88] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x10244c88 // mov byte [rsp + 16], cl LONG $0x462e0f66; BYTE $0x28 // ucomisd xmm0, qword [rsi + 40] - LONG $0x2454940f; BYTE $0x48 // sete byte [rsp + 72] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd4940f41 // sete r12b + WORD $0x2041; BYTE $0xc4 // and r12b, al LONG $0x462e0f66; BYTE $0x30 // ucomisd xmm0, qword [rsi + 48] - WORD $0x940f; BYTE $0xd0 // sete al + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x38244c88 // mov byte [rsp + 56], cl LONG $0x462e0f66; BYTE $0x38 // ucomisd xmm0, qword [rsi + 56] - WORD $0x940f; BYTE $0xd3 // sete bl + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x04244c88 // mov byte [rsp + 4], cl LONG $0x462e0f66; BYTE $0x40 // ucomisd xmm0, qword [rsi + 64] - QUAD $0x000000b02494940f // sete byte [rsp + 176] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x20244c88 // mov byte [rsp + 32], cl LONG $0x462e0f66; BYTE $0x48 // ucomisd xmm0, qword [rsi + 72] - WORD $0x940f; BYTE $0xd2 // sete dl + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x40244c88 // mov byte [rsp + 64], cl LONG $0x462e0f66; BYTE $0x50 // ucomisd xmm0, qword [rsi + 80] - LONG $0xd7940f40 // sete dil + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x48244c88 // mov byte [rsp + 72], cl LONG $0x462e0f66; BYTE $0x58 // ucomisd xmm0, qword [rsi + 88] - LONG $0xd2940f41 // sete r10b + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd3 // sete bl + WORD $0xc320 // and bl, al LONG $0x462e0f66; BYTE $0x60 // ucomisd xmm0, qword [rsi + 96] - LONG $0xd3940f41 // sete r11b + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x08244c88 // mov byte [rsp + 8], cl LONG $0x462e0f66; BYTE $0x68 // ucomisd xmm0, qword [rsi + 104] - LONG $0xd4940f41 // sete r12b + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x50244c88 // mov byte [rsp + 80], cl LONG $0x462e0f66; BYTE $0x70 // ucomisd xmm0, qword [rsi + 112] - QUAD $0x000000802494940f // sete byte [rsp + 128] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x68244c88 // mov byte [rsp + 104], cl LONG $0x462e0f66; BYTE $0x78 // ucomisd xmm0, qword [rsi + 120] + WORD $0x9b0f; BYTE $0xd0 // setnp al WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x60244c88 // mov byte [rsp + 96], cl QUAD $0x00000080862e0f66 // ucomisd xmm0, qword [rsi + 128] - LONG $0x2454940f; BYTE $0x68 // sete byte [rsp + 104] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x58244c88 // mov byte [rsp + 88], cl QUAD $0x00000088862e0f66 // ucomisd xmm0, qword [rsi + 136] - QUAD $0x000000a02494940f // sete byte [rsp + 160] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x80248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 128], cl QUAD $0x00000090862e0f66 // ucomisd xmm0, qword [rsi + 144] - LONG $0x2454940f; BYTE $0x70 // sete byte [rsp + 112] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x78244c88 // mov byte [rsp + 120], cl QUAD $0x00000098862e0f66 // ucomisd xmm0, qword [rsi + 152] - LONG $0x2454940f; BYTE $0x60 // sete byte [rsp + 96] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x70244c88 // mov byte [rsp + 112], cl QUAD $0x000000a0862e0f66 // ucomisd xmm0, qword [rsi + 160] - LONG $0x2454940f; BYTE $0x78 // sete byte [rsp + 120] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0xc0248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 192], cl QUAD $0x000000a8862e0f66 // ucomisd xmm0, qword [rsi + 168] - LONG $0x2454940f; BYTE $0x50 // sete byte [rsp + 80] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0xb0248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 176], cl QUAD $0x000000b0862e0f66 // ucomisd xmm0, qword [rsi + 176] - LONG $0x2454940f; BYTE $0x40 // sete byte [rsp + 64] - QUAD $0x000000b8862e0f66 // ucomisd xmm0, qword [rsi + 184] + WORD $0x9b0f; BYTE $0xd0 // setnp al LONG $0xd7940f41 // sete r15b + WORD $0x2041; BYTE $0xc7 // and r15b, al + QUAD $0x000000b8862e0f66 // ucomisd xmm0, qword [rsi + 184] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd0940f41 // sete r8b + WORD $0x2041; BYTE $0xc0 // and r8b, al QUAD $0x000000c0862e0f66 // ucomisd xmm0, qword [rsi + 192] - LONG $0x2454940f; BYTE $0x20 // sete byte [rsp + 32] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0xd0248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 208], cl QUAD $0x000000c8862e0f66 // ucomisd xmm0, qword [rsi + 200] - LONG $0x2454940f; BYTE $0x38 // sete byte [rsp + 56] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd3940f41 // sete r11b + WORD $0x2041; BYTE $0xc3 // and r11b, al QUAD $0x000000d0862e0f66 // ucomisd xmm0, qword [rsi + 208] - LONG $0x2454940f; BYTE $0x10 // sete byte [rsp + 16] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd2940f41 // sete r10b + WORD $0x2041; BYTE $0xc2 // and r10b, al QUAD $0x000000d8862e0f66 // ucomisd xmm0, qword [rsi + 216] - LONG $0x2454940f; BYTE $0x30 // sete byte [rsp + 48] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd1940f41 // sete r9b + WORD $0x2041; BYTE $0xc1 // and r9b, al QUAD $0x000000e0862e0f66 // ucomisd xmm0, qword [rsi + 224] - LONG $0x2454940f; BYTE $0x18 // sete byte [rsp + 24] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x98248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 152], cl QUAD $0x000000e8862e0f66 // ucomisd xmm0, qword [rsi + 232] - LONG $0x2454940f; BYTE $0x28 // sete byte [rsp + 40] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0xa0248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 160], cl QUAD $0x000000f0862e0f66 // ucomisd xmm0, qword [rsi + 240] - LONG $0x2454940f; BYTE $0x08 // sete byte [rsp + 8] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd7940f40 // sete dil + WORD $0x2040; BYTE $0xc7 // and dil, al QUAD $0x000000f8862e0f66 // ucomisd xmm0, qword [rsi + 248] - LONG $0xd0940f41 // sete r8b - WORD $0x0045; BYTE $0xc9 // add r9b, r9b - QUAD $0x000000d0248c0244 // add r9b, byte [rsp + 208] - WORD $0xe0c0; BYTE $0x06 // shl al, 6 - WORD $0xe3c0; BYTE $0x07 // shl bl, 7 - WORD $0xc308 // or bl, al - LONG $0x02e6c041 // shl r14b, 2 - WORD $0x0845; BYTE $0xce // or r14b, r9b - WORD $0xd200 // add dl, dl - LONG $0xb0249402; WORD $0x0000; BYTE $0x00 // add dl, byte [rsp + 176] - LONG $0x03e5c041 // shl r13b, 3 - WORD $0x0845; BYTE $0xf5 // or r13b, r14b - LONG $0x02e7c040 // shl dil, 2 - WORD $0x0840; BYTE $0xd7 // or dil, dl - LONG $0x2454b60f; BYTE $0x58 // movzx edx, byte [rsp + 88] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0x0844; BYTE $0xea // or dl, r13b - WORD $0x8941; BYTE $0xd1 // mov r9d, edx - QUAD $0x0000008824b48b4c // mov r14, qword [rsp + 136] - LONG $0x03e2c041 // shl r10b, 3 - WORD $0x0841; BYTE $0xfa // or r10b, dil - LONG $0x2454b60f; BYTE $0x48 // movzx edx, byte [rsp + 72] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0844; BYTE $0xca // or dl, r9b - LONG $0x04e3c041 // shl r11b, 4 - WORD $0x0845; BYTE $0xd3 // or r11b, r10b + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd2 // sete dl + WORD $0xc220 // and dl, al + WORD $0x0045; BYTE $0xed // add r13b, r13b + LONG $0x246c0244; BYTE $0x30 // add r13b, byte [rsp + 48] + WORD $0x8944; BYTE $0xe8 // mov eax, r13d LONG $0x05e4c041 // shl r12b, 5 - WORD $0x0845; BYTE $0xdc // or r12b, r11b - QUAD $0x0000008024bcb60f // movzx edi, byte [rsp + 128] - LONG $0x06e7c040 // shl dil, 6 - WORD $0xe1c0; BYTE $0x07 // shl cl, 7 - WORD $0x0840; BYTE $0xf9 // or cl, dil - WORD $0xd308 // or bl, dl - WORD $0x0844; BYTE $0xe1 // or cl, r12b - QUAD $0x000000a02484b60f // movzx eax, byte [rsp + 160] - WORD $0xc000 // add al, al - LONG $0x68244402 // add al, byte [rsp + 104] - LONG $0x2454b60f; BYTE $0x70 // movzx edx, byte [rsp + 112] - WORD $0xe2c0; BYTE $0x02 // shl dl, 2 - WORD $0xc208 // or dl, al - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x60 // movzx edx, byte [rsp + 96] - WORD $0xe2c0; BYTE $0x03 // shl dl, 3 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x78 // movzx edx, byte [rsp + 120] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x50 // movzx edx, byte [rsp + 80] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0x8841; BYTE $0x1e // mov byte [r14], bl - LONG $0x245cb60f; BYTE $0x40 // movzx ebx, byte [rsp + 64] - WORD $0xe3c0; BYTE $0x06 // shl bl, 6 - LONG $0x07e7c041 // shl r15b, 7 - WORD $0x0841; BYTE $0xdf // or r15b, bl - LONG $0x014e8841 // mov byte [r14 + 1], cl - WORD $0x0841; BYTE $0xd7 // or r15b, dl - LONG $0x244cb60f; BYTE $0x38 // movzx ecx, byte [rsp + 56] + LONG $0x6cb60f44; WORD $0x3824 // movzx r13d, byte [rsp + 56] + LONG $0x06e5c041 // shl r13b, 6 + WORD $0x0845; BYTE $0xe5 // or r13b, r12b + LONG $0x64b60f44; WORD $0x1824 // movzx r12d, byte [rsp + 24] + LONG $0x02e4c041 // shl r12b, 2 + WORD $0x0841; BYTE $0xc4 // or r12b, al + LONG $0x244cb60f; BYTE $0x40 // movzx ecx, byte [rsp + 64] WORD $0xc900 // add cl, cl LONG $0x20244c02 // add cl, byte [rsp + 32] - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x10 // movzx ecx, byte [rsp + 16] - WORD $0xe1c0; BYTE $0x02 // shl cl, 2 - WORD $0xd108 // or cl, dl - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x30 // movzx ecx, byte [rsp + 48] + LONG $0x2444b60f; BYTE $0x04 // movzx eax, byte [rsp + 4] + WORD $0xe0c0; BYTE $0x07 // shl al, 7 + WORD $0x0844; BYTE $0xe8 // or al, r13b + LONG $0x04244488 // mov byte [rsp + 4], al + LONG $0x2444b60f; BYTE $0x48 // movzx eax, byte [rsp + 72] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0x0844; BYTE $0xe0 // or al, r12b + WORD $0xe3c0; BYTE $0x03 // shl bl, 3 + WORD $0xcb08 // or bl, cl + LONG $0x6cb60f44; WORD $0x1024 // movzx r13d, byte [rsp + 16] + LONG $0x04e5c041 // shl r13b, 4 + WORD $0x0841; BYTE $0xc5 // or r13b, al + LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0xd808 // or al, bl + LONG $0x08244488 // mov byte [rsp + 8], al + LONG $0x244cb60f; BYTE $0x50 // movzx ecx, byte [rsp + 80] + WORD $0xe1c0; BYTE $0x05 // shl cl, 5 + LONG $0x2444b60f; BYTE $0x68 // movzx eax, byte [rsp + 104] + WORD $0xe0c0; BYTE $0x06 // shl al, 6 + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax + LONG $0x74b60f44; WORD $0x6024 // movzx r14d, byte [rsp + 96] + LONG $0x07e6c041 // shl r14b, 7 + WORD $0x0841; BYTE $0xc6 // or r14b, al + QUAD $0x00000080248cb60f // movzx ecx, byte [rsp + 128] + WORD $0xc900 // add cl, cl + LONG $0x58244c02 // add cl, byte [rsp + 88] + LONG $0x245cb60f; BYTE $0x78 // movzx ebx, byte [rsp + 120] + WORD $0xe3c0; BYTE $0x02 // shl bl, 2 + WORD $0xcb08 // or bl, cl + LONG $0x244cb60f; BYTE $0x70 // movzx ecx, byte [rsp + 112] WORD $0xe1c0; BYTE $0x03 // shl cl, 3 - WORD $0xd108 // or cl, dl - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x18 // movzx ecx, byte [rsp + 24] + WORD $0xd908 // or cl, bl + WORD $0xcb89 // mov ebx, ecx + QUAD $0x000000c0248cb60f // movzx ecx, byte [rsp + 192] WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0xd108 // or cl, dl - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x28 // movzx ecx, byte [rsp + 40] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0xd108 // or cl, dl - LONG $0x2454b60f; BYTE $0x08 // movzx edx, byte [rsp + 8] - WORD $0xe2c0; BYTE $0x06 // shl dl, 6 + WORD $0xd908 // or cl, bl + WORD $0x8941; BYTE $0xcc // mov r12d, ecx + QUAD $0x00000088248c8b48 // mov rcx, qword [rsp + 136] + LONG $0x2444b60f; BYTE $0x04 // movzx eax, byte [rsp + 4] + WORD $0x0844; BYTE $0xe8 // or al, r13b + QUAD $0x000000b0249cb60f // movzx ebx, byte [rsp + 176] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + LONG $0x06e7c041 // shl r15b, 6 + WORD $0x0841; BYTE $0xdf // or r15b, bl + LONG $0x24740a44; BYTE $0x08 // or r14b, byte [rsp + 8] LONG $0x07e0c041 // shl r8b, 7 - WORD $0x0841; BYTE $0xd0 // or r8b, dl - WORD $0x0841; BYTE $0xc8 // or r8b, cl - LONG $0x027e8845 // mov byte [r14 + 2], r15b - LONG $0x03468845 // mov byte [r14 + 3], r8b + WORD $0x0845; BYTE $0xf8 // or r8b, r15b + WORD $0x0845; BYTE $0xe0 // or r8b, r12b + WORD $0x0045; BYTE $0xdb // add r11b, r11b + QUAD $0x000000d0249c0244 // add r11b, byte [rsp + 208] + LONG $0x02e2c041 // shl r10b, 2 + WORD $0x0845; BYTE $0xda // or r10b, r11b + LONG $0x03e1c041 // shl r9b, 3 + WORD $0x0845; BYTE $0xd1 // or r9b, r10b + QUAD $0x00000098249cb60f // movzx ebx, byte [rsp + 152] + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0x0844; BYTE $0xcb // or bl, r9b + WORD $0x8941; BYTE $0xd9 // mov r9d, ebx + WORD $0x0188 // mov byte [rcx], al + QUAD $0x000000a0249cb60f // movzx ebx, byte [rsp + 160] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + LONG $0x06e7c040 // shl dil, 6 + WORD $0x0840; BYTE $0xdf // or dil, bl + LONG $0x01718844 // mov byte [rcx + 1], r14b + WORD $0xe2c0; BYTE $0x07 // shl dl, 7 + WORD $0x0840; BYTE $0xfa // or dl, dil + WORD $0x0844; BYTE $0xca // or dl, r9b + LONG $0x02418844 // mov byte [rcx + 2], r8b + WORD $0x5188; BYTE $0x03 // mov byte [rcx + 3], dl LONG $0x00c68148; WORD $0x0001; BYTE $0x00 // add rsi, 256 - LONG $0x04c68349 // add r14, 4 - QUAD $0x000000e024848348; BYTE $0xff // add qword [rsp + 224], -1 - JNE LBB1_51 + LONG $0x04c18348 // add rcx, 4 + WORD $0x8949; BYTE $0xce // mov r14, rcx + QUAD $0x000000f024848348; BYTE $0xff // add qword [rsp + 240], -1 + JNE LBB1_52 QUAD $0x0000009024948b4c // mov r10, qword [rsp + 144] - QUAD $0x000000c0249c8b4c // mov r11, qword [rsp + 192] + QUAD $0x00000110249c8b4c // mov r11, qword [rsp + 272] -LBB1_53: +LBB1_54: LONG $0x05e3c149 // shl r11, 5 WORD $0x394d; BYTE $0xd3 // cmp r11, r10 - JGE LBB1_202 + JGE LBB1_199 WORD $0x894d; BYTE $0xd0 // mov r8, r10 WORD $0x294d; BYTE $0xd8 // sub r8, r11 WORD $0xf749; BYTE $0xd3 // not r11 WORD $0x014d; BYTE $0xd3 // add r11, r10 - JNE LBB1_197 + JNE LBB1_195 WORD $0x3145; BYTE $0xdb // xor r11d, r11d - JMP LBB1_199 + JMP LBB1_197 LBB1_2: WORD $0xff83; BYTE $0x02 // cmp edi, 2 - JE LBB1_56 + JE LBB1_57 WORD $0xff83; BYTE $0x03 // cmp edi, 3 - JNE LBB1_202 + JNE LBB1_199 WORD $0x8a44; BYTE $0x1a // mov r11b, byte [rdx] LONG $0x1f7a8d4d // lea r15, [r10 + 31] WORD $0x854d; BYTE $0xd2 // test r10, r10 @@ -3268,6 +3556,7 @@ LBB1_6: WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xf8490f48 // cmovns rdi, rax LONG $0x03ffc148 // sar rdi, 3 + WORD $0x894d; BYTE $0xf4 // mov r12, r14 LONG $0x0cb60f45; BYTE $0x3e // movzx r9d, byte [r14 + rdi] WORD $0x3044; BYTE $0xca // xor dl, r9b QUAD $0x00000000fd048d44 // lea r8d, [8*rdi] @@ -3288,178 +3577,177 @@ LBB1_8: LONG $0x20fa8349 // cmp r10, 32 JL LBB1_9 LONG $0x10ff8349 // cmp r15, 16 - LONG $0x245c8844; BYTE $0x08 // mov byte [rsp + 8], r11b + LONG $0x245c8844; BYTE $0x04 // mov byte [rsp + 4], r11b QUAD $0x000000902494894c // mov qword [rsp + 144], r10 QUAD $0x0000010024bc894c // mov qword [rsp + 256], r15 - JB LBB1_83 + JB LBB1_84 WORD $0x894c; BYTE $0xf8 // mov rax, r15 LONG $0x05e0c148 // shl rax, 5 WORD $0x0148; BYTE $0xf0 // add rax, rsi WORD $0x3949; BYTE $0xc6 // cmp r14, rax - JAE LBB1_86 + JAE LBB1_87 LONG $0xbe048d4b // lea rax, [r14 + 4*r15] WORD $0x3948; BYTE $0xc6 // cmp rsi, rax - JAE LBB1_86 + JAE LBB1_87 -LBB1_83: +LBB1_84: WORD $0xc031 // xor eax, eax - QUAD $0x000000f824848948 // mov qword [rsp + 248], rax - LONG $0x2474894c; BYTE $0x78 // mov qword [rsp + 120], r14 - -LBB1_89: - WORD $0x894d; BYTE $0xfe // mov r14, r15 - QUAD $0x000000f824b42b4c // sub r14, qword [rsp + 248] - QUAD $0x0000009824b4894c // mov qword [rsp + 152], r14 + QUAD $0x000000e824848948 // mov qword [rsp + 232], rax + LONG $0x2474894c; BYTE $0x58 // mov qword [rsp + 88], r14 LBB1_90: + QUAD $0x000000e824bc2b4c // sub r15, qword [rsp + 232] + QUAD $0x0000009824bc894c // mov qword [rsp + 152], r15 + +LBB1_91: WORD $0x8948; BYTE $0xf1 // mov rcx, rsi WORD $0x3844; BYTE $0x1e // cmp byte [rsi], r11b - QUAD $0x000000c02494940f // sete byte [rsp + 192] + QUAD $0x000000a02494940f // sete byte [rsp + 160] LONG $0x015e3844 // cmp byte [rsi + 1], r11b LONG $0xd6940f40 // sete sil LONG $0x02593844 // cmp byte [rcx + 2], r11b LONG $0xd7940f41 // sete r15b - LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + LONG $0x2444b60f; BYTE $0x04 // movzx eax, byte [rsp + 4] WORD $0x4138; BYTE $0x03 // cmp byte [rcx + 3], al LONG $0xd4940f41 // sete r12b - LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + LONG $0x2444b60f; BYTE $0x04 // movzx eax, byte [rsp + 4] WORD $0x4138; BYTE $0x04 // cmp byte [rcx + 4], al - QUAD $0x000000d02494940f // sete byte [rsp + 208] - LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + QUAD $0x000000b02494940f // sete byte [rsp + 176] + LONG $0x2444b60f; BYTE $0x04 // movzx eax, byte [rsp + 4] WORD $0x4138; BYTE $0x05 // cmp byte [rcx + 5], al - LONG $0x2454940f; BYTE $0x40 // sete byte [rsp + 64] - LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + LONG $0x2454940f; BYTE $0x38 // sete byte [rsp + 56] + LONG $0x2444b60f; BYTE $0x04 // movzx eax, byte [rsp + 4] WORD $0x4138; BYTE $0x06 // cmp byte [rcx + 6], al - QUAD $0x000000e02494940f // sete byte [rsp + 224] - LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + QUAD $0x000000d02494940f // sete byte [rsp + 208] + LONG $0x2444b60f; BYTE $0x04 // movzx eax, byte [rsp + 4] WORD $0x4138; BYTE $0x07 // cmp byte [rcx + 7], al LONG $0xd1940f41 // sete r9b - LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + LONG $0x2444b60f; BYTE $0x04 // movzx eax, byte [rsp + 4] WORD $0x4138; BYTE $0x08 // cmp byte [rcx + 8], al - QUAD $0x000000a02494940f // sete byte [rsp + 160] - LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + QUAD $0x000000c02494940f // sete byte [rsp + 192] + LONG $0x2444b60f; BYTE $0x04 // movzx eax, byte [rsp + 4] WORD $0x4138; BYTE $0x09 // cmp byte [rcx + 9], al WORD $0x940f; BYTE $0xd2 // sete dl - LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + LONG $0x2444b60f; BYTE $0x04 // movzx eax, byte [rsp + 4] WORD $0x4138; BYTE $0x0a // cmp byte [rcx + 10], al LONG $0xd7940f40 // sete dil - LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + LONG $0x2444b60f; BYTE $0x04 // movzx eax, byte [rsp + 4] WORD $0x4138; BYTE $0x0b // cmp byte [rcx + 11], al LONG $0xd2940f41 // sete r10b - LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + LONG $0x2444b60f; BYTE $0x04 // movzx eax, byte [rsp + 4] WORD $0x4138; BYTE $0x0c // cmp byte [rcx + 12], al LONG $0xd6940f41 // sete r14b - LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + LONG $0x2444b60f; BYTE $0x04 // movzx eax, byte [rsp + 4] WORD $0x4138; BYTE $0x0d // cmp byte [rcx + 13], al LONG $0xd5940f41 // sete r13b - LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + LONG $0x2444b60f; BYTE $0x04 // movzx eax, byte [rsp + 4] WORD $0x4138; BYTE $0x0e // cmp byte [rcx + 14], al - QUAD $0x000000b02494940f // sete byte [rsp + 176] - LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + LONG $0x2454940f; BYTE $0x70 // sete byte [rsp + 112] + LONG $0x2444b60f; BYTE $0x04 // movzx eax, byte [rsp + 4] WORD $0x4138; BYTE $0x0f // cmp byte [rcx + 15], al LONG $0xd0940f41 // sete r8b - LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] + LONG $0x245cb60f; BYTE $0x04 // movzx ebx, byte [rsp + 4] WORD $0x5938; BYTE $0x10 // cmp byte [rcx + 16], bl - QUAD $0x000000802494940f // sete byte [rsp + 128] - LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] + LONG $0x2454940f; BYTE $0x78 // sete byte [rsp + 120] + LONG $0x245cb60f; BYTE $0x04 // movzx ebx, byte [rsp + 4] WORD $0x5938; BYTE $0x11 // cmp byte [rcx + 17], bl - LONG $0x2454940f; BYTE $0x70 // sete byte [rsp + 112] - LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] + QUAD $0x000000802494940f // sete byte [rsp + 128] + LONG $0x245cb60f; BYTE $0x04 // movzx ebx, byte [rsp + 4] WORD $0x5938; BYTE $0x12 // cmp byte [rcx + 18], bl - LONG $0x2454940f; BYTE $0x58 // sete byte [rsp + 88] - LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] - WORD $0x5938; BYTE $0x13 // cmp byte [rcx + 19], bl LONG $0x2454940f; BYTE $0x60 // sete byte [rsp + 96] - LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] - WORD $0x5938; BYTE $0x14 // cmp byte [rcx + 20], bl + LONG $0x245cb60f; BYTE $0x04 // movzx ebx, byte [rsp + 4] + WORD $0x5938; BYTE $0x13 // cmp byte [rcx + 19], bl LONG $0x2454940f; BYTE $0x68 // sete byte [rsp + 104] - LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] - WORD $0x5938; BYTE $0x15 // cmp byte [rcx + 21], bl + LONG $0x245cb60f; BYTE $0x04 // movzx ebx, byte [rsp + 4] + WORD $0x5938; BYTE $0x14 // cmp byte [rcx + 20], bl LONG $0x2454940f; BYTE $0x50 // sete byte [rsp + 80] - LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] + LONG $0x245cb60f; BYTE $0x04 // movzx ebx, byte [rsp + 4] + WORD $0x5938; BYTE $0x15 // cmp byte [rcx + 21], bl + LONG $0x2454940f; BYTE $0x40 // sete byte [rsp + 64] + LONG $0x245cb60f; BYTE $0x04 // movzx ebx, byte [rsp + 4] WORD $0x5938; BYTE $0x16 // cmp byte [rcx + 22], bl LONG $0x2454940f; BYTE $0x48 // sete byte [rsp + 72] - LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] + LONG $0x245cb60f; BYTE $0x04 // movzx ebx, byte [rsp + 4] WORD $0x5938; BYTE $0x17 // cmp byte [rcx + 23], bl LONG $0xd3940f41 // sete r11b - LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] + LONG $0x245cb60f; BYTE $0x04 // movzx ebx, byte [rsp + 4] WORD $0x5938; BYTE $0x18 // cmp byte [rcx + 24], bl - LONG $0x2454940f; BYTE $0x38 // sete byte [rsp + 56] - LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] + LONG $0x2454940f; BYTE $0x20 // sete byte [rsp + 32] + LONG $0x245cb60f; BYTE $0x04 // movzx ebx, byte [rsp + 4] WORD $0x5938; BYTE $0x19 // cmp byte [rcx + 25], bl - LONG $0x2454940f; BYTE $0x10 // sete byte [rsp + 16] - LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] - WORD $0x5938; BYTE $0x1a // cmp byte [rcx + 26], bl LONG $0x2454940f; BYTE $0x30 // sete byte [rsp + 48] - LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] + LONG $0x245cb60f; BYTE $0x04 // movzx ebx, byte [rsp + 4] + WORD $0x5938; BYTE $0x1a // cmp byte [rcx + 26], bl + LONG $0x2454940f; BYTE $0x18 // sete byte [rsp + 24] + LONG $0x245cb60f; BYTE $0x04 // movzx ebx, byte [rsp + 4] WORD $0x5938; BYTE $0x1b // cmp byte [rcx + 27], bl - LONG $0x2454940f; BYTE $0x20 // sete byte [rsp + 32] - LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] + LONG $0x2454940f; BYTE $0x10 // sete byte [rsp + 16] + LONG $0x245cb60f; BYTE $0x04 // movzx ebx, byte [rsp + 4] WORD $0x5938; BYTE $0x1c // cmp byte [rcx + 28], bl - LONG $0x2454940f; BYTE $0x18 // sete byte [rsp + 24] - LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] - WORD $0x5938; BYTE $0x1d // cmp byte [rcx + 29], bl LONG $0x2454940f; BYTE $0x28 // sete byte [rsp + 40] - LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] + LONG $0x245cb60f; BYTE $0x04 // movzx ebx, byte [rsp + 4] + WORD $0x5938; BYTE $0x1d // cmp byte [rcx + 29], bl + LONG $0x2454940f; BYTE $0x08 // sete byte [rsp + 8] + LONG $0x245cb60f; BYTE $0x04 // movzx ebx, byte [rsp + 4] WORD $0x5938; BYTE $0x1e // cmp byte [rcx + 30], bl QUAD $0x000000882494940f // sete byte [rsp + 136] - LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] + LONG $0x245cb60f; BYTE $0x04 // movzx ebx, byte [rsp + 4] WORD $0x5938; BYTE $0x1f // cmp byte [rcx + 31], bl WORD $0x940f; BYTE $0xd3 // sete bl WORD $0x0040; BYTE $0xf6 // add sil, sil - QUAD $0x000000c024b40240 // add sil, byte [rsp + 192] - QUAD $0x000000e02484b60f // movzx eax, byte [rsp + 224] + QUAD $0x000000a024b40240 // add sil, byte [rsp + 160] + QUAD $0x000000d02484b60f // movzx eax, byte [rsp + 208] WORD $0xe0c0; BYTE $0x06 // shl al, 6 LONG $0x07e1c041 // shl r9b, 7 WORD $0x0841; BYTE $0xc1 // or r9b, al LONG $0x02e7c041 // shl r15b, 2 WORD $0x0841; BYTE $0xf7 // or r15b, sil WORD $0xd200 // add dl, dl - LONG $0xa0249402; WORD $0x0000; BYTE $0x00 // add dl, byte [rsp + 160] + LONG $0xc0249402; WORD $0x0000; BYTE $0x00 // add dl, byte [rsp + 192] LONG $0x03e4c041 // shl r12b, 3 WORD $0x0845; BYTE $0xfc // or r12b, r15b - LONG $0x7cb60f44; WORD $0x0824 // movzx r15d, byte [rsp + 8] + LONG $0x7cb60f44; WORD $0x0424 // movzx r15d, byte [rsp + 4] LONG $0x02e7c040 // shl dil, 2 WORD $0x0840; BYTE $0xd7 // or dil, dl - QUAD $0x000000d02484b60f // movzx eax, byte [rsp + 208] + QUAD $0x000000b02484b60f // movzx eax, byte [rsp + 176] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0x0844; BYTE $0xe0 // or al, r12b LONG $0x03e2c041 // shl r10b, 3 WORD $0x0841; BYTE $0xfa // or r10b, dil - LONG $0x2454b60f; BYTE $0x40 // movzx edx, byte [rsp + 64] + LONG $0x2454b60f; BYTE $0x38 // movzx edx, byte [rsp + 56] WORD $0xe2c0; BYTE $0x05 // shl dl, 5 WORD $0xc208 // or dl, al LONG $0x04e6c041 // shl r14b, 4 WORD $0x0845; BYTE $0xd6 // or r14b, r10b LONG $0x05e5c041 // shl r13b, 5 WORD $0x0845; BYTE $0xf5 // or r13b, r14b - QUAD $0x000000b024b4b60f // movzx esi, byte [rsp + 176] + LONG $0x2474b60f; BYTE $0x70 // movzx esi, byte [rsp + 112] LONG $0x06e6c040 // shl sil, 6 LONG $0x07e0c041 // shl r8b, 7 WORD $0x0841; BYTE $0xf0 // or r8b, sil WORD $0x0841; BYTE $0xd1 // or r9b, dl WORD $0x0845; BYTE $0xe8 // or r8b, r13b - LONG $0x2454b60f; BYTE $0x70 // movzx edx, byte [rsp + 112] + QUAD $0x000000802494b60f // movzx edx, byte [rsp + 128] WORD $0xd200 // add dl, dl - LONG $0x80249402; WORD $0x0000; BYTE $0x00 // add dl, byte [rsp + 128] + LONG $0x78245402 // add dl, byte [rsp + 120] WORD $0xd689 // mov esi, edx - LONG $0x2454b60f; BYTE $0x58 // movzx edx, byte [rsp + 88] + LONG $0x2454b60f; BYTE $0x60 // movzx edx, byte [rsp + 96] WORD $0xe2c0; BYTE $0x02 // shl dl, 2 WORD $0x0840; BYTE $0xf2 // or dl, sil WORD $0xd689 // mov esi, edx - LONG $0x2454b60f; BYTE $0x60 // movzx edx, byte [rsp + 96] + LONG $0x2454b60f; BYTE $0x68 // movzx edx, byte [rsp + 104] WORD $0xe2c0; BYTE $0x03 // shl dl, 3 WORD $0x0840; BYTE $0xf2 // or dl, sil WORD $0xd689 // mov esi, edx - LONG $0x2454b60f; BYTE $0x68 // movzx edx, byte [rsp + 104] + LONG $0x2454b60f; BYTE $0x50 // movzx edx, byte [rsp + 80] WORD $0xe2c0; BYTE $0x04 // shl dl, 4 WORD $0x0840; BYTE $0xf2 // or dl, sil WORD $0xd689 // mov esi, edx - LONG $0x2454b60f; BYTE $0x50 // movzx edx, byte [rsp + 80] + LONG $0x2454b60f; BYTE $0x40 // movzx edx, byte [rsp + 64] WORD $0xe2c0; BYTE $0x05 // shl dl, 5 WORD $0x0840; BYTE $0xf2 // or dl, sil WORD $0xd689 // mov esi, edx - LONG $0x24548b48; BYTE $0x78 // mov rdx, qword [rsp + 120] + LONG $0x24548b48; BYTE $0x58 // mov rdx, qword [rsp + 88] WORD $0x8844; BYTE $0x0a // mov byte [rdx], r9b LONG $0x247cb60f; BYTE $0x48 // movzx edi, byte [rsp + 72] LONG $0x06e7c040 // shl dil, 6 @@ -3467,23 +3755,23 @@ LBB1_90: WORD $0x0841; BYTE $0xfb // or r11b, dil LONG $0x01428844 // mov byte [rdx + 1], r8b WORD $0x0841; BYTE $0xf3 // or r11b, sil - LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] + LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] WORD $0xc000 // add al, al - LONG $0x38244402 // add al, byte [rsp + 56] + LONG $0x20244402 // add al, byte [rsp + 32] WORD $0xc689 // mov esi, eax - LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] + LONG $0x2444b60f; BYTE $0x18 // movzx eax, byte [rsp + 24] WORD $0xe0c0; BYTE $0x02 // shl al, 2 WORD $0x0840; BYTE $0xf0 // or al, sil WORD $0xc689 // mov esi, eax - LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] + LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0x0840; BYTE $0xf0 // or al, sil WORD $0xc689 // mov esi, eax - LONG $0x2444b60f; BYTE $0x18 // movzx eax, byte [rsp + 24] + LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0x0840; BYTE $0xf0 // or al, sil WORD $0xc689 // mov esi, eax - LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] + LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0x0840; BYTE $0xf0 // or al, sil QUAD $0x0000008824b4b60f // movzx esi, byte [rsp + 136] @@ -3496,18 +3784,18 @@ LBB1_90: WORD $0x5a88; BYTE $0x03 // mov byte [rdx + 3], bl LONG $0x20718d48 // lea rsi, [rcx + 32] LONG $0x04c28348 // add rdx, 4 - LONG $0x24548948; BYTE $0x78 // mov qword [rsp + 120], rdx + LONG $0x24548948; BYTE $0x58 // mov qword [rsp + 88], rdx QUAD $0x0000009824848348; BYTE $0xff // add qword [rsp + 152], -1 - JNE LBB1_90 + JNE LBB1_91 QUAD $0x0000009024948b4c // mov r10, qword [rsp + 144] QUAD $0x0000010024bc8b4c // mov r15, qword [rsp + 256] - JMP LBB1_92 + JMP LBB1_93 -LBB1_27: +LBB1_28: WORD $0xff83; BYTE $0x07 // cmp edi, 7 - JE LBB1_148 + JE LBB1_146 WORD $0xff83; BYTE $0x08 // cmp edi, 8 - JNE LBB1_202 + JNE LBB1_199 WORD $0x8b4c; BYTE $0x2a // mov r13, qword [rdx] LONG $0x1f5a8d4d // lea r11, [r10 + 31] WORD $0x854d; BYTE $0xd2 // test r10, r10 @@ -3517,10 +3805,10 @@ LBB1_27: LONG $0xc1490f41 // cmovns eax, r9d WORD $0xe083; BYTE $0xf8 // and eax, -8 WORD $0x2941; BYTE $0xc1 // sub r9d, eax - JE LBB1_33 + JE LBB1_34 WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d -LBB1_31: +LBB1_32: WORD $0x394c; BYTE $0x2e // cmp qword [rsi], r13 LONG $0x08768d48 // lea rsi, [rsi + 8] WORD $0x940f; BYTE $0xd2 // sete dl @@ -3529,6 +3817,7 @@ LBB1_31: WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xd8490f48 // cmovns rbx, rax LONG $0x03fbc148 // sar rbx, 3 + WORD $0x894d; BYTE $0xf1 // mov r9, r14 LONG $0x04b60f45; BYTE $0x1e // movzx r8d, byte [r14 + rbx] WORD $0x3044; BYTE $0xc2 // xor dl, r8b LONG $0x00dd3c8d; WORD $0x0000; BYTE $0x00 // lea edi, [8*rbx] @@ -3541,29 +3830,29 @@ LBB1_31: LONG $0x1e3c8841 // mov byte [r14 + rbx], dil LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 - JNE LBB1_31 + JNE LBB1_32 LONG $0x01c68349 // add r14, 1 -LBB1_33: +LBB1_34: LONG $0x05fbc149 // sar r11, 5 LONG $0x20fa8349 // cmp r10, 32 - JL LBB1_37 + JL LBB1_38 QUAD $0x000000902494894c // mov qword [rsp + 144], r10 QUAD $0x00000098249c894c // mov qword [rsp + 152], r11 - QUAD $0x000000c0249c894c // mov qword [rsp + 192], r11 + QUAD $0x000000a0249c894c // mov qword [rsp + 160], r11 -LBB1_35: +LBB1_36: QUAD $0x0000008824b4894c // mov qword [rsp + 136], r14 WORD $0x394c; BYTE $0x2e // cmp qword [rsi], r13 - QUAD $0x000000e02494940f // sete byte [rsp + 224] + QUAD $0x000000d02494940f // sete byte [rsp + 208] LONG $0x086e394c // cmp qword [rsi + 8], r13 - LONG $0xd7940f40 // sete dil + LONG $0xd2940f41 // sete r10b LONG $0x106e394c // cmp qword [rsi + 16], r13 LONG $0xd6940f41 // sete r14b LONG $0x186e394c // cmp qword [rsi + 24], r13 - QUAD $0x000000d02494940f // sete byte [rsp + 208] + QUAD $0x000000b02494940f // sete byte [rsp + 176] LONG $0x206e394c // cmp qword [rsi + 32], r13 - LONG $0x2454940f; BYTE $0x58 // sete byte [rsp + 88] + LONG $0x2454940f; BYTE $0x60 // sete byte [rsp + 96] LONG $0x286e394c // cmp qword [rsi + 40], r13 LONG $0x2454940f; BYTE $0x48 // sete byte [rsp + 72] LONG $0x306e394c // cmp qword [rsi + 48], r13 @@ -3571,165 +3860,167 @@ LBB1_35: LONG $0x386e394c // cmp qword [rsi + 56], r13 WORD $0x940f; BYTE $0xd3 // sete bl LONG $0x406e394c // cmp qword [rsi + 64], r13 - QUAD $0x000000a02494940f // sete byte [rsp + 160] + QUAD $0x000000c02494940f // sete byte [rsp + 192] LONG $0x486e394c // cmp qword [rsi + 72], r13 - WORD $0x940f; BYTE $0xd2 // sete dl + LONG $0xd7940f40 // sete dil LONG $0x506e394c // cmp qword [rsi + 80], r13 - LONG $0xd1940f41 // sete r9b + LONG $0xd0940f41 // sete r8b LONG $0x586e394c // cmp qword [rsi + 88], r13 - LONG $0xd2940f41 // sete r10b + LONG $0xd1940f41 // sete r9b LONG $0x606e394c // cmp qword [rsi + 96], r13 LONG $0xd3940f41 // sete r11b LONG $0x686e394c // cmp qword [rsi + 104], r13 LONG $0xd4940f41 // sete r12b LONG $0x706e394c // cmp qword [rsi + 112], r13 - QUAD $0x000000b02494940f // sete byte [rsp + 176] + LONG $0x2454940f; BYTE $0x70 // sete byte [rsp + 112] LONG $0x786e394c // cmp qword [rsi + 120], r13 WORD $0x940f; BYTE $0xd1 // sete cl LONG $0x80ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 128], r13 - LONG $0x2454940f; BYTE $0x68 // sete byte [rsp + 104] + LONG $0x2454940f; BYTE $0x50 // sete byte [rsp + 80] LONG $0x88ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 136], r13 - QUAD $0x000000802494940f // sete byte [rsp + 128] + LONG $0x2454940f; BYTE $0x78 // sete byte [rsp + 120] LONG $0x90ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 144], r13 - LONG $0x2454940f; BYTE $0x70 // sete byte [rsp + 112] + QUAD $0x000000802494940f // sete byte [rsp + 128] LONG $0x98ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 152], r13 - LONG $0x2454940f; BYTE $0x60 // sete byte [rsp + 96] + LONG $0x2454940f; BYTE $0x68 // sete byte [rsp + 104] LONG $0xa0ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 160], r13 - LONG $0x2454940f; BYTE $0x78 // sete byte [rsp + 120] + LONG $0x2454940f; BYTE $0x58 // sete byte [rsp + 88] LONG $0xa8ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 168], r13 - LONG $0x2454940f; BYTE $0x50 // sete byte [rsp + 80] - LONG $0xb0ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 176], r13 LONG $0x2454940f; BYTE $0x40 // sete byte [rsp + 64] + LONG $0xb0ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 176], r13 + LONG $0x2454940f; BYTE $0x38 // sete byte [rsp + 56] LONG $0xb8ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 184], r13 LONG $0xd7940f41 // sete r15b LONG $0xc0ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 192], r13 - LONG $0x2454940f; BYTE $0x20 // sete byte [rsp + 32] + LONG $0x2454940f; BYTE $0x10 // sete byte [rsp + 16] LONG $0xc8ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 200], r13 - LONG $0x2454940f; BYTE $0x38 // sete byte [rsp + 56] + LONG $0x2454940f; BYTE $0x20 // sete byte [rsp + 32] LONG $0xd0ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 208], r13 - LONG $0x2454940f; BYTE $0x10 // sete byte [rsp + 16] - LONG $0xd8ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 216], r13 LONG $0x2454940f; BYTE $0x30 // sete byte [rsp + 48] - LONG $0xe0ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 224], r13 + LONG $0xd8ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 216], r13 LONG $0x2454940f; BYTE $0x18 // sete byte [rsp + 24] - LONG $0xe8ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 232], r13 + LONG $0xe0ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 224], r13 LONG $0x2454940f; BYTE $0x28 // sete byte [rsp + 40] - LONG $0xf0ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 240], r13 + LONG $0xe8ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 232], r13 LONG $0x2454940f; BYTE $0x08 // sete byte [rsp + 8] + LONG $0xf0ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 240], r13 + LONG $0x2454940f; BYTE $0x04 // sete byte [rsp + 4] LONG $0xf8ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 248], r13 - LONG $0xd0940f41 // sete r8b - WORD $0x0040; BYTE $0xff // add dil, dil - QUAD $0x000000e024bc0240 // add dil, byte [rsp + 224] + WORD $0x940f; BYTE $0xd2 // sete dl + WORD $0x0045; BYTE $0xd2 // add r10b, r10b + QUAD $0x000000d024940244 // add r10b, byte [rsp + 208] WORD $0xe0c0; BYTE $0x06 // shl al, 6 WORD $0xe3c0; BYTE $0x07 // shl bl, 7 WORD $0xc308 // or bl, al LONG $0x02e6c041 // shl r14b, 2 - WORD $0x0841; BYTE $0xfe // or r14b, dil - WORD $0xd200 // add dl, dl - LONG $0xa0249402; WORD $0x0000; BYTE $0x00 // add dl, byte [rsp + 160] - QUAD $0x000000d02484b60f // movzx eax, byte [rsp + 208] + WORD $0x0845; BYTE $0xd6 // or r14b, r10b + WORD $0x0040; BYTE $0xff // add dil, dil + QUAD $0x000000c024bc0240 // add dil, byte [rsp + 192] + QUAD $0x000000b02484b60f // movzx eax, byte [rsp + 176] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0x0844; BYTE $0xf0 // or al, r14b - LONG $0x02e1c041 // shl r9b, 2 - WORD $0x0841; BYTE $0xd1 // or r9b, dl - LONG $0x2454b60f; BYTE $0x58 // movzx edx, byte [rsp + 88] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0xc208 // or dl, al - WORD $0xd789 // mov edi, edx - LONG $0x03e2c041 // shl r10b, 3 - WORD $0x0845; BYTE $0xca // or r10b, r9b - LONG $0x2454b60f; BYTE $0x48 // movzx edx, byte [rsp + 72] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xfa // or dl, dil - LONG $0x04e3c041 // shl r11b, 4 - WORD $0x0845; BYTE $0xd3 // or r11b, r10b - LONG $0x05e4c041 // shl r12b, 5 - WORD $0x0845; BYTE $0xdc // or r12b, r11b - QUAD $0x000000b024bcb60f // movzx edi, byte [rsp + 176] - LONG $0x06e7c040 // shl dil, 6 - WORD $0xe1c0; BYTE $0x07 // shl cl, 7 - WORD $0x0840; BYTE $0xf9 // or cl, dil - WORD $0xd308 // or bl, dl - WORD $0x0844; BYTE $0xe1 // or cl, r12b + WORD $0x8941; BYTE $0xc2 // mov r10d, eax QUAD $0x0000008824b48b4c // mov r14, qword [rsp + 136] - QUAD $0x000000802494b60f // movzx edx, byte [rsp + 128] - WORD $0xd200 // add dl, dl - LONG $0x68245402 // add dl, byte [rsp + 104] - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x70 // movzx edx, byte [rsp + 112] - WORD $0xe2c0; BYTE $0x02 // shl dl, 2 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x60 // movzx edx, byte [rsp + 96] - WORD $0xe2c0; BYTE $0x03 // shl dl, 3 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x78 // movzx edx, byte [rsp + 120] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x50 // movzx edx, byte [rsp + 80] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xfa // or dl, dil + LONG $0x02e0c041 // shl r8b, 2 + WORD $0x0841; BYTE $0xf8 // or r8b, dil + LONG $0x2444b60f; BYTE $0x60 // movzx eax, byte [rsp + 96] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0844; BYTE $0xd0 // or al, r10b + WORD $0xc789 // mov edi, eax + LONG $0x03e1c041 // shl r9b, 3 + WORD $0x0845; BYTE $0xc1 // or r9b, r8b + LONG $0x2444b60f; BYTE $0x48 // movzx eax, byte [rsp + 72] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0x0840; BYTE $0xf8 // or al, dil + LONG $0x04e3c041 // shl r11b, 4 + WORD $0x0845; BYTE $0xcb // or r11b, r9b + LONG $0x05e4c041 // shl r12b, 5 + WORD $0x0845; BYTE $0xdc // or r12b, r11b + LONG $0x247cb60f; BYTE $0x70 // movzx edi, byte [rsp + 112] + LONG $0x06e7c040 // shl dil, 6 + WORD $0xe1c0; BYTE $0x07 // shl cl, 7 + WORD $0x0840; BYTE $0xf9 // or cl, dil + WORD $0xc308 // or bl, al + WORD $0x0844; BYTE $0xe1 // or cl, r12b + LONG $0x2444b60f; BYTE $0x78 // movzx eax, byte [rsp + 120] + WORD $0xc000 // add al, al + LONG $0x50244402 // add al, byte [rsp + 80] + WORD $0xc789 // mov edi, eax + QUAD $0x000000802484b60f // movzx eax, byte [rsp + 128] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x68 // movzx eax, byte [rsp + 104] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x58 // movzx eax, byte [rsp + 88] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x40 // movzx eax, byte [rsp + 64] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0x0840; BYTE $0xf8 // or al, dil WORD $0x8841; BYTE $0x1e // mov byte [r14], bl - LONG $0x245cb60f; BYTE $0x40 // movzx ebx, byte [rsp + 64] + LONG $0x245cb60f; BYTE $0x38 // movzx ebx, byte [rsp + 56] WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e7c041 // shl r15b, 7 WORD $0x0841; BYTE $0xdf // or r15b, bl LONG $0x014e8841 // mov byte [r14 + 1], cl - WORD $0x0841; BYTE $0xd7 // or r15b, dl - LONG $0x244cb60f; BYTE $0x38 // movzx ecx, byte [rsp + 56] - WORD $0xc900 // add cl, cl - LONG $0x20244c02 // add cl, byte [rsp + 32] - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x10 // movzx ecx, byte [rsp + 16] - WORD $0xe1c0; BYTE $0x02 // shl cl, 2 - WORD $0xd108 // or cl, dl - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x30 // movzx ecx, byte [rsp + 48] - WORD $0xe1c0; BYTE $0x03 // shl cl, 3 - WORD $0xd108 // or cl, dl - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x18 // movzx ecx, byte [rsp + 24] - WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0xd108 // or cl, dl - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x28 // movzx ecx, byte [rsp + 40] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0xd108 // or cl, dl - LONG $0x2454b60f; BYTE $0x08 // movzx edx, byte [rsp + 8] - WORD $0xe2c0; BYTE $0x06 // shl dl, 6 - LONG $0x07e0c041 // shl r8b, 7 - WORD $0x0841; BYTE $0xd0 // or r8b, dl - WORD $0x0841; BYTE $0xc8 // or r8b, cl + WORD $0x0841; BYTE $0xc7 // or r15b, al + LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] + WORD $0xc000 // add al, al + LONG $0x10244402 // add al, byte [rsp + 16] + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x18 // movzx eax, byte [rsp + 24] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0xc808 // or al, cl + LONG $0x244cb60f; BYTE $0x04 // movzx ecx, byte [rsp + 4] + WORD $0xe1c0; BYTE $0x06 // shl cl, 6 + WORD $0xe2c0; BYTE $0x07 // shl dl, 7 + WORD $0xca08 // or dl, cl + WORD $0xc208 // or dl, al LONG $0x027e8845 // mov byte [r14 + 2], r15b - LONG $0x03468845 // mov byte [r14 + 3], r8b + LONG $0x03568841 // mov byte [r14 + 3], dl LONG $0x00c68148; WORD $0x0001; BYTE $0x00 // add rsi, 256 LONG $0x04c68349 // add r14, 4 - QUAD $0x000000c024848348; BYTE $0xff // add qword [rsp + 192], -1 - JNE LBB1_35 + QUAD $0x000000a024848348; BYTE $0xff // add qword [rsp + 160], -1 + JNE LBB1_36 QUAD $0x0000009024948b4c // mov r10, qword [rsp + 144] QUAD $0x00000098249c8b4c // mov r11, qword [rsp + 152] -LBB1_37: +LBB1_38: LONG $0x05e3c149 // shl r11, 5 WORD $0x394d; BYTE $0xd3 // cmp r11, r10 - JGE LBB1_202 + JGE LBB1_199 WORD $0x894d; BYTE $0xd0 // mov r8, r10 WORD $0x294d; BYTE $0xd8 // sub r8, r11 WORD $0xf749; BYTE $0xd3 // not r11 WORD $0x014d; BYTE $0xd3 // add r11, r10 - JE LBB1_39 + JE LBB1_40 WORD $0x894d; BYTE $0xc2 // mov r10, r8 LONG $0xfee28349 // and r10, -2 WORD $0x3145; BYTE $0xdb // xor r11d, r11d -LBB1_161: +LBB1_159: WORD $0x394c; BYTE $0x2e // cmp qword [rsi], r13 WORD $0x940f; BYTE $0xd0 // sete al WORD $0xd8f6 // neg al WORD $0x894c; BYTE $0xdf // mov rdi, r11 LONG $0x03efc148 // shr rdi, 3 + WORD $0x894d; BYTE $0xf7 // mov r15, r14 LONG $0x0cb60f45; BYTE $0x3e // movzx r9d, byte [r14 + rdi] WORD $0x8944; BYTE $0xd9 // mov ecx, r11d WORD $0xe180; BYTE $0x06 // and cl, 6 @@ -3752,10 +4043,10 @@ LBB1_161: WORD $0xda30 // xor dl, bl LONG $0x3e148841 // mov byte [r14 + rdi], dl WORD $0x394d; BYTE $0xda // cmp r10, r11 - JNE LBB1_161 - JMP LBB1_40 + JNE LBB1_159 + JMP LBB1_41 -LBB1_56: +LBB1_57: WORD $0x8a44; BYTE $0x1a // mov r11b, byte [rdx] LONG $0x1f7a8d4d // lea r15, [r10 + 31] WORD $0x854d; BYTE $0xd2 // test r10, r10 @@ -3765,10 +4056,10 @@ LBB1_56: LONG $0xc1490f41 // cmovns eax, r9d WORD $0xe083; BYTE $0xf8 // and eax, -8 WORD $0x2941; BYTE $0xc1 // sub r9d, eax - JE LBB1_60 + JE LBB1_61 WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d -LBB1_58: +LBB1_59: WORD $0x3844; BYTE $0x1e // cmp byte [rsi], r11b LONG $0x01768d48 // lea rsi, [rsi + 1] WORD $0x940f; BYTE $0xd2 // sete dl @@ -3777,6 +4068,7 @@ LBB1_58: WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xf8490f48 // cmovns rdi, rax LONG $0x03ffc148 // sar rdi, 3 + WORD $0x894d; BYTE $0xf4 // mov r12, r14 LONG $0x0cb60f45; BYTE $0x3e // movzx r9d, byte [r14 + rdi] WORD $0x3044; BYTE $0xca // xor dl, r9b QUAD $0x00000000fd048d44 // lea r8d, [8*rdi] @@ -3789,148 +4081,147 @@ LBB1_58: LONG $0x3e1c8841 // mov byte [r14 + rdi], bl LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 - JNE LBB1_58 + JNE LBB1_59 LONG $0x01c68349 // add r14, 1 -LBB1_60: +LBB1_61: LONG $0x05ffc149 // sar r15, 5 LONG $0x20fa8349 // cmp r10, 32 - JL LBB1_61 + JL LBB1_62 LONG $0x10ff8349 // cmp r15, 16 - LONG $0x245c8844; BYTE $0x08 // mov byte [rsp + 8], r11b + LONG $0x245c8844; BYTE $0x04 // mov byte [rsp + 4], r11b QUAD $0x000000902494894c // mov qword [rsp + 144], r10 QUAD $0x0000010024bc894c // mov qword [rsp + 256], r15 - JB LBB1_63 + JB LBB1_64 WORD $0x894c; BYTE $0xf8 // mov rax, r15 LONG $0x05e0c148 // shl rax, 5 WORD $0x0148; BYTE $0xf0 // add rax, rsi WORD $0x3949; BYTE $0xc6 // cmp r14, rax - JAE LBB1_66 + JAE LBB1_67 LONG $0xbe048d4b // lea rax, [r14 + 4*r15] WORD $0x3948; BYTE $0xc6 // cmp rsi, rax - JAE LBB1_66 + JAE LBB1_67 -LBB1_63: +LBB1_64: WORD $0xc031 // xor eax, eax - QUAD $0x000000f824848948 // mov qword [rsp + 248], rax - LONG $0x2474894c; BYTE $0x50 // mov qword [rsp + 80], r14 - -LBB1_69: - WORD $0x894d; BYTE $0xfe // mov r14, r15 - QUAD $0x000000f824b42b4c // sub r14, qword [rsp + 248] - QUAD $0x0000009824b4894c // mov qword [rsp + 152], r14 + QUAD $0x000000e824848948 // mov qword [rsp + 232], rax + LONG $0x2474894c; BYTE $0x38 // mov qword [rsp + 56], r14 LBB1_70: + QUAD $0x000000e824bc2b4c // sub r15, qword [rsp + 232] + QUAD $0x0000009824bc894c // mov qword [rsp + 152], r15 + +LBB1_71: WORD $0x8948; BYTE $0xf1 // mov rcx, rsi WORD $0x3844; BYTE $0x1e // cmp byte [rsi], r11b - QUAD $0x000000c02494940f // sete byte [rsp + 192] + QUAD $0x000000a02494940f // sete byte [rsp + 160] LONG $0x015e3844 // cmp byte [rsi + 1], r11b LONG $0xd6940f40 // sete sil LONG $0x02593844 // cmp byte [rcx + 2], r11b LONG $0xd7940f41 // sete r15b - LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + LONG $0x2444b60f; BYTE $0x04 // movzx eax, byte [rsp + 4] WORD $0x4138; BYTE $0x03 // cmp byte [rcx + 3], al LONG $0xd4940f41 // sete r12b - LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + LONG $0x2444b60f; BYTE $0x04 // movzx eax, byte [rsp + 4] WORD $0x4138; BYTE $0x04 // cmp byte [rcx + 4], al - QUAD $0x000000d02494940f // sete byte [rsp + 208] - LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + QUAD $0x000000b02494940f // sete byte [rsp + 176] + LONG $0x2444b60f; BYTE $0x04 // movzx eax, byte [rsp + 4] WORD $0x4138; BYTE $0x05 // cmp byte [rcx + 5], al LONG $0x2454940f; BYTE $0x40 // sete byte [rsp + 64] - LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + LONG $0x2444b60f; BYTE $0x04 // movzx eax, byte [rsp + 4] WORD $0x4138; BYTE $0x06 // cmp byte [rcx + 6], al - QUAD $0x000000e02494940f // sete byte [rsp + 224] - LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + QUAD $0x000000d02494940f // sete byte [rsp + 208] + LONG $0x2444b60f; BYTE $0x04 // movzx eax, byte [rsp + 4] WORD $0x4138; BYTE $0x07 // cmp byte [rcx + 7], al LONG $0xd1940f41 // sete r9b - LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + LONG $0x2444b60f; BYTE $0x04 // movzx eax, byte [rsp + 4] WORD $0x4138; BYTE $0x08 // cmp byte [rcx + 8], al - QUAD $0x000000a02494940f // sete byte [rsp + 160] - LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + QUAD $0x000000c02494940f // sete byte [rsp + 192] + LONG $0x2444b60f; BYTE $0x04 // movzx eax, byte [rsp + 4] WORD $0x4138; BYTE $0x09 // cmp byte [rcx + 9], al WORD $0x940f; BYTE $0xd2 // sete dl - LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + LONG $0x2444b60f; BYTE $0x04 // movzx eax, byte [rsp + 4] WORD $0x4138; BYTE $0x0a // cmp byte [rcx + 10], al LONG $0xd7940f40 // sete dil - LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + LONG $0x2444b60f; BYTE $0x04 // movzx eax, byte [rsp + 4] WORD $0x4138; BYTE $0x0b // cmp byte [rcx + 11], al LONG $0xd2940f41 // sete r10b - LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + LONG $0x2444b60f; BYTE $0x04 // movzx eax, byte [rsp + 4] WORD $0x4138; BYTE $0x0c // cmp byte [rcx + 12], al LONG $0xd6940f41 // sete r14b - LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + LONG $0x2444b60f; BYTE $0x04 // movzx eax, byte [rsp + 4] WORD $0x4138; BYTE $0x0d // cmp byte [rcx + 13], al LONG $0xd5940f41 // sete r13b - LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + LONG $0x2444b60f; BYTE $0x04 // movzx eax, byte [rsp + 4] WORD $0x4138; BYTE $0x0e // cmp byte [rcx + 14], al - QUAD $0x000000b02494940f // sete byte [rsp + 176] - LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + LONG $0x2454940f; BYTE $0x70 // sete byte [rsp + 112] + LONG $0x2444b60f; BYTE $0x04 // movzx eax, byte [rsp + 4] WORD $0x4138; BYTE $0x0f // cmp byte [rcx + 15], al LONG $0xd0940f41 // sete r8b - LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] + LONG $0x245cb60f; BYTE $0x04 // movzx ebx, byte [rsp + 4] WORD $0x5938; BYTE $0x10 // cmp byte [rcx + 16], bl - QUAD $0x000000802494940f // sete byte [rsp + 128] - LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] + LONG $0x2454940f; BYTE $0x78 // sete byte [rsp + 120] + LONG $0x245cb60f; BYTE $0x04 // movzx ebx, byte [rsp + 4] WORD $0x5938; BYTE $0x11 // cmp byte [rcx + 17], bl - LONG $0x2454940f; BYTE $0x70 // sete byte [rsp + 112] - LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] + QUAD $0x000000802494940f // sete byte [rsp + 128] + LONG $0x245cb60f; BYTE $0x04 // movzx ebx, byte [rsp + 4] WORD $0x5938; BYTE $0x12 // cmp byte [rcx + 18], bl - LONG $0x2454940f; BYTE $0x58 // sete byte [rsp + 88] - LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] - WORD $0x5938; BYTE $0x13 // cmp byte [rcx + 19], bl LONG $0x2454940f; BYTE $0x60 // sete byte [rsp + 96] - LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] - WORD $0x5938; BYTE $0x14 // cmp byte [rcx + 20], bl + LONG $0x245cb60f; BYTE $0x04 // movzx ebx, byte [rsp + 4] + WORD $0x5938; BYTE $0x13 // cmp byte [rcx + 19], bl LONG $0x2454940f; BYTE $0x68 // sete byte [rsp + 104] - LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] + LONG $0x245cb60f; BYTE $0x04 // movzx ebx, byte [rsp + 4] + WORD $0x5938; BYTE $0x14 // cmp byte [rcx + 20], bl + LONG $0x2454940f; BYTE $0x50 // sete byte [rsp + 80] + LONG $0x245cb60f; BYTE $0x04 // movzx ebx, byte [rsp + 4] WORD $0x5938; BYTE $0x15 // cmp byte [rcx + 21], bl LONG $0x2454940f; BYTE $0x48 // sete byte [rsp + 72] - LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] + LONG $0x245cb60f; BYTE $0x04 // movzx ebx, byte [rsp + 4] WORD $0x5938; BYTE $0x16 // cmp byte [rcx + 22], bl - LONG $0x2454940f; BYTE $0x78 // sete byte [rsp + 120] - LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] + LONG $0x2454940f; BYTE $0x58 // sete byte [rsp + 88] + LONG $0x245cb60f; BYTE $0x04 // movzx ebx, byte [rsp + 4] WORD $0x5938; BYTE $0x17 // cmp byte [rcx + 23], bl LONG $0xd3940f41 // sete r11b - LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] + LONG $0x245cb60f; BYTE $0x04 // movzx ebx, byte [rsp + 4] WORD $0x5938; BYTE $0x18 // cmp byte [rcx + 24], bl - LONG $0x2454940f; BYTE $0x38 // sete byte [rsp + 56] - LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] + LONG $0x2454940f; BYTE $0x20 // sete byte [rsp + 32] + LONG $0x245cb60f; BYTE $0x04 // movzx ebx, byte [rsp + 4] WORD $0x5938; BYTE $0x19 // cmp byte [rcx + 25], bl - LONG $0x2454940f; BYTE $0x10 // sete byte [rsp + 16] - LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] - WORD $0x5938; BYTE $0x1a // cmp byte [rcx + 26], bl LONG $0x2454940f; BYTE $0x30 // sete byte [rsp + 48] - LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] + LONG $0x245cb60f; BYTE $0x04 // movzx ebx, byte [rsp + 4] + WORD $0x5938; BYTE $0x1a // cmp byte [rcx + 26], bl + LONG $0x2454940f; BYTE $0x18 // sete byte [rsp + 24] + LONG $0x245cb60f; BYTE $0x04 // movzx ebx, byte [rsp + 4] WORD $0x5938; BYTE $0x1b // cmp byte [rcx + 27], bl - LONG $0x2454940f; BYTE $0x20 // sete byte [rsp + 32] - LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] + LONG $0x2454940f; BYTE $0x10 // sete byte [rsp + 16] + LONG $0x245cb60f; BYTE $0x04 // movzx ebx, byte [rsp + 4] WORD $0x5938; BYTE $0x1c // cmp byte [rcx + 28], bl - LONG $0x2454940f; BYTE $0x18 // sete byte [rsp + 24] - LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] - WORD $0x5938; BYTE $0x1d // cmp byte [rcx + 29], bl LONG $0x2454940f; BYTE $0x28 // sete byte [rsp + 40] - LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] + LONG $0x245cb60f; BYTE $0x04 // movzx ebx, byte [rsp + 4] + WORD $0x5938; BYTE $0x1d // cmp byte [rcx + 29], bl + LONG $0x2454940f; BYTE $0x08 // sete byte [rsp + 8] + LONG $0x245cb60f; BYTE $0x04 // movzx ebx, byte [rsp + 4] WORD $0x5938; BYTE $0x1e // cmp byte [rcx + 30], bl QUAD $0x000000882494940f // sete byte [rsp + 136] - LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] + LONG $0x245cb60f; BYTE $0x04 // movzx ebx, byte [rsp + 4] WORD $0x5938; BYTE $0x1f // cmp byte [rcx + 31], bl WORD $0x940f; BYTE $0xd3 // sete bl WORD $0x0040; BYTE $0xf6 // add sil, sil - QUAD $0x000000c024b40240 // add sil, byte [rsp + 192] - QUAD $0x000000e02484b60f // movzx eax, byte [rsp + 224] + QUAD $0x000000a024b40240 // add sil, byte [rsp + 160] + QUAD $0x000000d02484b60f // movzx eax, byte [rsp + 208] WORD $0xe0c0; BYTE $0x06 // shl al, 6 LONG $0x07e1c041 // shl r9b, 7 WORD $0x0841; BYTE $0xc1 // or r9b, al LONG $0x02e7c041 // shl r15b, 2 WORD $0x0841; BYTE $0xf7 // or r15b, sil WORD $0xd200 // add dl, dl - LONG $0xa0249402; WORD $0x0000; BYTE $0x00 // add dl, byte [rsp + 160] + LONG $0xc0249402; WORD $0x0000; BYTE $0x00 // add dl, byte [rsp + 192] LONG $0x03e4c041 // shl r12b, 3 WORD $0x0845; BYTE $0xfc // or r12b, r15b - LONG $0x7cb60f44; WORD $0x0824 // movzx r15d, byte [rsp + 8] + LONG $0x7cb60f44; WORD $0x0424 // movzx r15d, byte [rsp + 4] LONG $0x02e7c040 // shl dil, 2 WORD $0x0840; BYTE $0xd7 // or dil, dl - QUAD $0x000000d02484b60f // movzx eax, byte [rsp + 208] + QUAD $0x000000b02484b60f // movzx eax, byte [rsp + 176] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0x0844; BYTE $0xe0 // or al, r12b LONG $0x03e2c041 // shl r10b, 3 @@ -3942,25 +4233,25 @@ LBB1_70: WORD $0x0845; BYTE $0xd6 // or r14b, r10b LONG $0x05e5c041 // shl r13b, 5 WORD $0x0845; BYTE $0xf5 // or r13b, r14b - QUAD $0x000000b024b4b60f // movzx esi, byte [rsp + 176] + LONG $0x2474b60f; BYTE $0x70 // movzx esi, byte [rsp + 112] LONG $0x06e6c040 // shl sil, 6 LONG $0x07e0c041 // shl r8b, 7 WORD $0x0841; BYTE $0xf0 // or r8b, sil WORD $0x0841; BYTE $0xd1 // or r9b, dl WORD $0x0845; BYTE $0xe8 // or r8b, r13b - LONG $0x2454b60f; BYTE $0x70 // movzx edx, byte [rsp + 112] + QUAD $0x000000802494b60f // movzx edx, byte [rsp + 128] WORD $0xd200 // add dl, dl - LONG $0x80249402; WORD $0x0000; BYTE $0x00 // add dl, byte [rsp + 128] + LONG $0x78245402 // add dl, byte [rsp + 120] WORD $0xd689 // mov esi, edx - LONG $0x2454b60f; BYTE $0x58 // movzx edx, byte [rsp + 88] + LONG $0x2454b60f; BYTE $0x60 // movzx edx, byte [rsp + 96] WORD $0xe2c0; BYTE $0x02 // shl dl, 2 WORD $0x0840; BYTE $0xf2 // or dl, sil WORD $0xd689 // mov esi, edx - LONG $0x2454b60f; BYTE $0x60 // movzx edx, byte [rsp + 96] + LONG $0x2454b60f; BYTE $0x68 // movzx edx, byte [rsp + 104] WORD $0xe2c0; BYTE $0x03 // shl dl, 3 WORD $0x0840; BYTE $0xf2 // or dl, sil WORD $0xd689 // mov esi, edx - LONG $0x2454b60f; BYTE $0x68 // movzx edx, byte [rsp + 104] + LONG $0x2454b60f; BYTE $0x50 // movzx edx, byte [rsp + 80] WORD $0xe2c0; BYTE $0x04 // shl dl, 4 WORD $0x0840; BYTE $0xf2 // or dl, sil WORD $0xd689 // mov esi, edx @@ -3968,31 +4259,31 @@ LBB1_70: WORD $0xe2c0; BYTE $0x05 // shl dl, 5 WORD $0x0840; BYTE $0xf2 // or dl, sil WORD $0xd689 // mov esi, edx - LONG $0x24548b48; BYTE $0x50 // mov rdx, qword [rsp + 80] + LONG $0x24548b48; BYTE $0x38 // mov rdx, qword [rsp + 56] WORD $0x8844; BYTE $0x0a // mov byte [rdx], r9b - LONG $0x247cb60f; BYTE $0x78 // movzx edi, byte [rsp + 120] + LONG $0x247cb60f; BYTE $0x58 // movzx edi, byte [rsp + 88] LONG $0x06e7c040 // shl dil, 6 LONG $0x07e3c041 // shl r11b, 7 WORD $0x0841; BYTE $0xfb // or r11b, dil LONG $0x01428844 // mov byte [rdx + 1], r8b WORD $0x0841; BYTE $0xf3 // or r11b, sil - LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] + LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] WORD $0xc000 // add al, al - LONG $0x38244402 // add al, byte [rsp + 56] + LONG $0x20244402 // add al, byte [rsp + 32] WORD $0xc689 // mov esi, eax - LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] + LONG $0x2444b60f; BYTE $0x18 // movzx eax, byte [rsp + 24] WORD $0xe0c0; BYTE $0x02 // shl al, 2 WORD $0x0840; BYTE $0xf0 // or al, sil WORD $0xc689 // mov esi, eax - LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] + LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0x0840; BYTE $0xf0 // or al, sil WORD $0xc689 // mov esi, eax - LONG $0x2444b60f; BYTE $0x18 // movzx eax, byte [rsp + 24] + LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0x0840; BYTE $0xf0 // or al, sil WORD $0xc689 // mov esi, eax - LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] + LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0x0840; BYTE $0xf0 // or al, sil QUAD $0x0000008824b4b60f // movzx esi, byte [rsp + 136] @@ -4005,14 +4296,14 @@ LBB1_70: WORD $0x5a88; BYTE $0x03 // mov byte [rdx + 3], bl LONG $0x20718d48 // lea rsi, [rcx + 32] LONG $0x04c28348 // add rdx, 4 - LONG $0x24548948; BYTE $0x50 // mov qword [rsp + 80], rdx + LONG $0x24548948; BYTE $0x38 // mov qword [rsp + 56], rdx QUAD $0x0000009824848348; BYTE $0xff // add qword [rsp + 152], -1 - JNE LBB1_70 + JNE LBB1_71 QUAD $0x0000009024948b4c // mov r10, qword [rsp + 144] QUAD $0x0000010024bc8b4c // mov r15, qword [rsp + 256] - JMP LBB1_72 + JMP LBB1_73 -LBB1_148: +LBB1_146: WORD $0x8b44; BYTE $0x2a // mov r13d, dword [rdx] LONG $0x1f5a8d4d // lea r11, [r10 + 31] WORD $0x854d; BYTE $0xd2 // test r10, r10 @@ -4022,10 +4313,10 @@ LBB1_148: LONG $0xc1490f41 // cmovns eax, r9d WORD $0xe083; BYTE $0xf8 // and eax, -8 WORD $0x2941; BYTE $0xc1 // sub r9d, eax - JE LBB1_152 + JE LBB1_150 WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d -LBB1_150: +LBB1_148: WORD $0x3944; BYTE $0x2e // cmp dword [rsi], r13d LONG $0x04768d48 // lea rsi, [rsi + 4] WORD $0x940f; BYTE $0xd2 // sete dl @@ -4034,6 +4325,7 @@ LBB1_150: WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xd8490f48 // cmovns rbx, rax LONG $0x03fbc148 // sar rbx, 3 + WORD $0x894d; BYTE $0xf1 // mov r9, r14 LONG $0x04b60f45; BYTE $0x1e // movzx r8d, byte [r14 + rbx] WORD $0x3044; BYTE $0xc2 // xor dl, r8b LONG $0x00dd3c8d; WORD $0x0000; BYTE $0x00 // lea edi, [8*rbx] @@ -4046,29 +4338,29 @@ LBB1_150: LONG $0x1e3c8841 // mov byte [r14 + rbx], dil LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 - JNE LBB1_150 + JNE LBB1_148 LONG $0x01c68349 // add r14, 1 -LBB1_152: +LBB1_150: LONG $0x05fbc149 // sar r11, 5 LONG $0x20fa8349 // cmp r10, 32 - JL LBB1_156 + JL LBB1_154 QUAD $0x000000902494894c // mov qword [rsp + 144], r10 QUAD $0x00000098249c894c // mov qword [rsp + 152], r11 - QUAD $0x000000c0249c894c // mov qword [rsp + 192], r11 + QUAD $0x000000a0249c894c // mov qword [rsp + 160], r11 -LBB1_154: +LBB1_152: QUAD $0x0000008824b4894c // mov qword [rsp + 136], r14 WORD $0x3944; BYTE $0x2e // cmp dword [rsi], r13d - QUAD $0x000000e02494940f // sete byte [rsp + 224] + QUAD $0x000000d02494940f // sete byte [rsp + 208] LONG $0x046e3944 // cmp dword [rsi + 4], r13d - LONG $0xd7940f40 // sete dil + LONG $0xd2940f41 // sete r10b LONG $0x086e3944 // cmp dword [rsi + 8], r13d LONG $0xd6940f41 // sete r14b LONG $0x0c6e3944 // cmp dword [rsi + 12], r13d - QUAD $0x000000d02494940f // sete byte [rsp + 208] + QUAD $0x000000b02494940f // sete byte [rsp + 176] LONG $0x106e3944 // cmp dword [rsi + 16], r13d - LONG $0x2454940f; BYTE $0x58 // sete byte [rsp + 88] + LONG $0x2454940f; BYTE $0x60 // sete byte [rsp + 96] LONG $0x146e3944 // cmp dword [rsi + 20], r13d LONG $0x2454940f; BYTE $0x48 // sete byte [rsp + 72] LONG $0x186e3944 // cmp dword [rsi + 24], r13d @@ -4076,175 +4368,176 @@ LBB1_154: LONG $0x1c6e3944 // cmp dword [rsi + 28], r13d WORD $0x940f; BYTE $0xd3 // sete bl LONG $0x206e3944 // cmp dword [rsi + 32], r13d - QUAD $0x000000a02494940f // sete byte [rsp + 160] + QUAD $0x000000c02494940f // sete byte [rsp + 192] LONG $0x246e3944 // cmp dword [rsi + 36], r13d - WORD $0x940f; BYTE $0xd2 // sete dl + LONG $0xd7940f40 // sete dil LONG $0x286e3944 // cmp dword [rsi + 40], r13d - LONG $0xd1940f41 // sete r9b + LONG $0xd0940f41 // sete r8b LONG $0x2c6e3944 // cmp dword [rsi + 44], r13d - LONG $0xd2940f41 // sete r10b + LONG $0xd1940f41 // sete r9b LONG $0x306e3944 // cmp dword [rsi + 48], r13d LONG $0xd3940f41 // sete r11b LONG $0x346e3944 // cmp dword [rsi + 52], r13d LONG $0xd4940f41 // sete r12b LONG $0x386e3944 // cmp dword [rsi + 56], r13d - QUAD $0x000000b02494940f // sete byte [rsp + 176] + LONG $0x2454940f; BYTE $0x70 // sete byte [rsp + 112] LONG $0x3c6e3944 // cmp dword [rsi + 60], r13d WORD $0x940f; BYTE $0xd1 // sete cl LONG $0x406e3944 // cmp dword [rsi + 64], r13d - LONG $0x2454940f; BYTE $0x68 // sete byte [rsp + 104] + LONG $0x2454940f; BYTE $0x50 // sete byte [rsp + 80] LONG $0x446e3944 // cmp dword [rsi + 68], r13d - QUAD $0x000000802494940f // sete byte [rsp + 128] + LONG $0x2454940f; BYTE $0x78 // sete byte [rsp + 120] LONG $0x486e3944 // cmp dword [rsi + 72], r13d - LONG $0x2454940f; BYTE $0x70 // sete byte [rsp + 112] + QUAD $0x000000802494940f // sete byte [rsp + 128] LONG $0x4c6e3944 // cmp dword [rsi + 76], r13d - LONG $0x2454940f; BYTE $0x60 // sete byte [rsp + 96] + LONG $0x2454940f; BYTE $0x68 // sete byte [rsp + 104] LONG $0x506e3944 // cmp dword [rsi + 80], r13d - LONG $0x2454940f; BYTE $0x78 // sete byte [rsp + 120] + LONG $0x2454940f; BYTE $0x58 // sete byte [rsp + 88] LONG $0x546e3944 // cmp dword [rsi + 84], r13d - LONG $0x2454940f; BYTE $0x50 // sete byte [rsp + 80] - LONG $0x586e3944 // cmp dword [rsi + 88], r13d LONG $0x2454940f; BYTE $0x40 // sete byte [rsp + 64] + LONG $0x586e3944 // cmp dword [rsi + 88], r13d + LONG $0x2454940f; BYTE $0x38 // sete byte [rsp + 56] LONG $0x5c6e3944 // cmp dword [rsi + 92], r13d LONG $0xd7940f41 // sete r15b LONG $0x606e3944 // cmp dword [rsi + 96], r13d - LONG $0x2454940f; BYTE $0x20 // sete byte [rsp + 32] + LONG $0x2454940f; BYTE $0x10 // sete byte [rsp + 16] LONG $0x646e3944 // cmp dword [rsi + 100], r13d - LONG $0x2454940f; BYTE $0x38 // sete byte [rsp + 56] + LONG $0x2454940f; BYTE $0x20 // sete byte [rsp + 32] LONG $0x686e3944 // cmp dword [rsi + 104], r13d - LONG $0x2454940f; BYTE $0x10 // sete byte [rsp + 16] - LONG $0x6c6e3944 // cmp dword [rsi + 108], r13d LONG $0x2454940f; BYTE $0x30 // sete byte [rsp + 48] - LONG $0x706e3944 // cmp dword [rsi + 112], r13d + LONG $0x6c6e3944 // cmp dword [rsi + 108], r13d LONG $0x2454940f; BYTE $0x18 // sete byte [rsp + 24] - LONG $0x746e3944 // cmp dword [rsi + 116], r13d + LONG $0x706e3944 // cmp dword [rsi + 112], r13d LONG $0x2454940f; BYTE $0x28 // sete byte [rsp + 40] - LONG $0x786e3944 // cmp dword [rsi + 120], r13d + LONG $0x746e3944 // cmp dword [rsi + 116], r13d LONG $0x2454940f; BYTE $0x08 // sete byte [rsp + 8] + LONG $0x786e3944 // cmp dword [rsi + 120], r13d + LONG $0x2454940f; BYTE $0x04 // sete byte [rsp + 4] LONG $0x7c6e3944 // cmp dword [rsi + 124], r13d - LONG $0xd0940f41 // sete r8b - WORD $0x0040; BYTE $0xff // add dil, dil - QUAD $0x000000e024bc0240 // add dil, byte [rsp + 224] + WORD $0x940f; BYTE $0xd2 // sete dl + WORD $0x0045; BYTE $0xd2 // add r10b, r10b + QUAD $0x000000d024940244 // add r10b, byte [rsp + 208] WORD $0xe0c0; BYTE $0x06 // shl al, 6 WORD $0xe3c0; BYTE $0x07 // shl bl, 7 WORD $0xc308 // or bl, al LONG $0x02e6c041 // shl r14b, 2 - WORD $0x0841; BYTE $0xfe // or r14b, dil - WORD $0xd200 // add dl, dl - LONG $0xa0249402; WORD $0x0000; BYTE $0x00 // add dl, byte [rsp + 160] - QUAD $0x000000d02484b60f // movzx eax, byte [rsp + 208] + WORD $0x0845; BYTE $0xd6 // or r14b, r10b + WORD $0x0040; BYTE $0xff // add dil, dil + QUAD $0x000000c024bc0240 // add dil, byte [rsp + 192] + QUAD $0x000000b02484b60f // movzx eax, byte [rsp + 176] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0x0844; BYTE $0xf0 // or al, r14b - LONG $0x02e1c041 // shl r9b, 2 - WORD $0x0841; BYTE $0xd1 // or r9b, dl - LONG $0x2454b60f; BYTE $0x58 // movzx edx, byte [rsp + 88] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0xc208 // or dl, al - WORD $0xd789 // mov edi, edx - LONG $0x03e2c041 // shl r10b, 3 - WORD $0x0845; BYTE $0xca // or r10b, r9b - LONG $0x2454b60f; BYTE $0x48 // movzx edx, byte [rsp + 72] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xfa // or dl, dil + WORD $0x8941; BYTE $0xc2 // mov r10d, eax + QUAD $0x0000008824b48b4c // mov r14, qword [rsp + 136] + LONG $0x02e0c041 // shl r8b, 2 + WORD $0x0841; BYTE $0xf8 // or r8b, dil + LONG $0x2444b60f; BYTE $0x60 // movzx eax, byte [rsp + 96] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0844; BYTE $0xd0 // or al, r10b + WORD $0xc789 // mov edi, eax + LONG $0x03e1c041 // shl r9b, 3 + WORD $0x0845; BYTE $0xc1 // or r9b, r8b + LONG $0x2444b60f; BYTE $0x48 // movzx eax, byte [rsp + 72] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0x0840; BYTE $0xf8 // or al, dil LONG $0x04e3c041 // shl r11b, 4 - WORD $0x0845; BYTE $0xd3 // or r11b, r10b + WORD $0x0845; BYTE $0xcb // or r11b, r9b LONG $0x05e4c041 // shl r12b, 5 WORD $0x0845; BYTE $0xdc // or r12b, r11b - QUAD $0x000000b024bcb60f // movzx edi, byte [rsp + 176] + LONG $0x247cb60f; BYTE $0x70 // movzx edi, byte [rsp + 112] LONG $0x06e7c040 // shl dil, 6 WORD $0xe1c0; BYTE $0x07 // shl cl, 7 WORD $0x0840; BYTE $0xf9 // or cl, dil - WORD $0xd308 // or bl, dl + WORD $0xc308 // or bl, al WORD $0x0844; BYTE $0xe1 // or cl, r12b - QUAD $0x0000008824b48b4c // mov r14, qword [rsp + 136] - QUAD $0x000000802494b60f // movzx edx, byte [rsp + 128] - WORD $0xd200 // add dl, dl - LONG $0x68245402 // add dl, byte [rsp + 104] - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x70 // movzx edx, byte [rsp + 112] - WORD $0xe2c0; BYTE $0x02 // shl dl, 2 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x60 // movzx edx, byte [rsp + 96] - WORD $0xe2c0; BYTE $0x03 // shl dl, 3 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x78 // movzx edx, byte [rsp + 120] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x50 // movzx edx, byte [rsp + 80] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xfa // or dl, dil + LONG $0x2444b60f; BYTE $0x78 // movzx eax, byte [rsp + 120] + WORD $0xc000 // add al, al + LONG $0x50244402 // add al, byte [rsp + 80] + WORD $0xc789 // mov edi, eax + QUAD $0x000000802484b60f // movzx eax, byte [rsp + 128] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x68 // movzx eax, byte [rsp + 104] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x58 // movzx eax, byte [rsp + 88] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x40 // movzx eax, byte [rsp + 64] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0x0840; BYTE $0xf8 // or al, dil WORD $0x8841; BYTE $0x1e // mov byte [r14], bl - LONG $0x245cb60f; BYTE $0x40 // movzx ebx, byte [rsp + 64] + LONG $0x245cb60f; BYTE $0x38 // movzx ebx, byte [rsp + 56] WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e7c041 // shl r15b, 7 WORD $0x0841; BYTE $0xdf // or r15b, bl LONG $0x014e8841 // mov byte [r14 + 1], cl - WORD $0x0841; BYTE $0xd7 // or r15b, dl - LONG $0x244cb60f; BYTE $0x38 // movzx ecx, byte [rsp + 56] - WORD $0xc900 // add cl, cl - LONG $0x20244c02 // add cl, byte [rsp + 32] - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x10 // movzx ecx, byte [rsp + 16] - WORD $0xe1c0; BYTE $0x02 // shl cl, 2 - WORD $0xd108 // or cl, dl - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x30 // movzx ecx, byte [rsp + 48] - WORD $0xe1c0; BYTE $0x03 // shl cl, 3 - WORD $0xd108 // or cl, dl - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x18 // movzx ecx, byte [rsp + 24] - WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0xd108 // or cl, dl - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x28 // movzx ecx, byte [rsp + 40] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0xd108 // or cl, dl - LONG $0x2454b60f; BYTE $0x08 // movzx edx, byte [rsp + 8] - WORD $0xe2c0; BYTE $0x06 // shl dl, 6 - LONG $0x07e0c041 // shl r8b, 7 - WORD $0x0841; BYTE $0xd0 // or r8b, dl - WORD $0x0841; BYTE $0xc8 // or r8b, cl + WORD $0x0841; BYTE $0xc7 // or r15b, al + LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] + WORD $0xc000 // add al, al + LONG $0x10244402 // add al, byte [rsp + 16] + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x18 // movzx eax, byte [rsp + 24] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0xc808 // or al, cl + LONG $0x244cb60f; BYTE $0x04 // movzx ecx, byte [rsp + 4] + WORD $0xe1c0; BYTE $0x06 // shl cl, 6 + WORD $0xe2c0; BYTE $0x07 // shl dl, 7 + WORD $0xca08 // or dl, cl + WORD $0xc208 // or dl, al LONG $0x027e8845 // mov byte [r14 + 2], r15b - LONG $0x03468845 // mov byte [r14 + 3], r8b + LONG $0x03568841 // mov byte [r14 + 3], dl LONG $0x80c68148; WORD $0x0000; BYTE $0x00 // add rsi, 128 LONG $0x04c68349 // add r14, 4 - QUAD $0x000000c024848348; BYTE $0xff // add qword [rsp + 192], -1 - JNE LBB1_154 + QUAD $0x000000a024848348; BYTE $0xff // add qword [rsp + 160], -1 + JNE LBB1_152 QUAD $0x0000009024948b4c // mov r10, qword [rsp + 144] QUAD $0x00000098249c8b4c // mov r11, qword [rsp + 152] -LBB1_156: +LBB1_154: LONG $0x05e3c149 // shl r11, 5 WORD $0x394d; BYTE $0xd3 // cmp r11, r10 - JGE LBB1_202 + JGE LBB1_199 WORD $0x894d; BYTE $0xd0 // mov r8, r10 WORD $0x294d; BYTE $0xd8 // sub r8, r11 WORD $0xf749; BYTE $0xd3 // not r11 WORD $0x014d; BYTE $0xd3 // add r11, r10 - JNE LBB1_158 + JNE LBB1_156 LBB1_23: WORD $0x3145; BYTE $0xdb // xor r11d, r11d JMP LBB1_24 -LBB1_100: - LONG $0x2ab70f44 // movzx r13d, word [rdx] - LONG $0x1f5a8d4d // lea r11, [r10 + 31] +LBB1_101: + LONG $0x1ab70f44 // movzx r11d, word [rdx] + LONG $0x1f7a8d4d // lea r15, [r10 + 31] WORD $0x854d; BYTE $0xd2 // test r10, r10 - LONG $0xda490f4d // cmovns r11, r10 + LONG $0xfa490f4d // cmovns r15, r10 LONG $0x07418d41 // lea eax, [r9 + 7] WORD $0x8545; BYTE $0xc9 // test r9d, r9d LONG $0xc1490f41 // cmovns eax, r9d WORD $0xe083; BYTE $0xf8 // and eax, -8 WORD $0x2941; BYTE $0xc1 // sub r9d, eax - JE LBB1_104 + JE LBB1_105 WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d -LBB1_102: - LONG $0x2e394466 // cmp word [rsi], r13w +LBB1_103: + LONG $0x1e394466 // cmp word [rsi], r11w LONG $0x02768d48 // lea rsi, [rsi + 2] WORD $0x940f; BYTE $0xd2 // sete dl WORD $0xdaf6 // neg dl @@ -4252,6 +4545,7 @@ LBB1_102: WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xf8490f48 // cmovns rdi, rax LONG $0x03ffc148 // sar rdi, 3 + WORD $0x894d; BYTE $0xf4 // mov r12, r14 LONG $0x0cb60f45; BYTE $0x3e // movzx r9d, byte [r14 + rdi] WORD $0x3044; BYTE $0xca // xor dl, r9b QUAD $0x00000000fd048d44 // lea r8d, [8*rdi] @@ -4264,151 +4558,182 @@ LBB1_102: LONG $0x3e1c8841 // mov byte [r14 + rdi], bl LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 - JNE LBB1_102 + JNE LBB1_103 LONG $0x01c68349 // add r14, 1 -LBB1_104: - LONG $0x05fbc149 // sar r11, 5 - LONG $0x20fa8349 // cmp r10, 32 - JL LBB1_105 - LONG $0x08fb8349 // cmp r11, 8 - QUAD $0x000000902494894c // mov qword [rsp + 144], r10 - QUAD $0x00000098249c894c // mov qword [rsp + 152], r11 - JB LBB1_107 - WORD $0x894c; BYTE $0xd8 // mov rax, r11 - LONG $0x06e0c148 // shl rax, 6 - WORD $0x0148; BYTE $0xf0 // add rax, rsi - WORD $0x3949; BYTE $0xc6 // cmp r14, rax - JAE LBB1_110 - LONG $0x9e048d4b // lea rax, [r14 + 4*r11] - WORD $0x3948; BYTE $0xf0 // cmp rax, rsi - JBE LBB1_110 +LBB1_105: + LONG $0x05ffc149 // sar r15, 5 + LONG $0x20fa8349 // cmp r10, 32 + JL LBB1_106 + LONG $0x08ff8349 // cmp r15, 8 + LONG $0x245c8944; BYTE $0x04 // mov dword [rsp + 4], r11d + QUAD $0x000000902494894c // mov qword [rsp + 144], r10 + QUAD $0x000000f024bc894c // mov qword [rsp + 240], r15 + JB LBB1_108 + WORD $0x894c; BYTE $0xf8 // mov rax, r15 + LONG $0x06e0c148 // shl rax, 6 + WORD $0x0148; BYTE $0xf0 // add rax, rsi + WORD $0x3949; BYTE $0xc6 // cmp r14, rax + JAE LBB1_111 + LONG $0xbe048d4b // lea rax, [r14 + 4*r15] + WORD $0x3948; BYTE $0xf0 // cmp rax, rsi + JBE LBB1_111 -LBB1_107: +LBB1_108: WORD $0xc031 // xor eax, eax - LONG $0x24448948; BYTE $0x10 // mov qword [rsp + 16], rax + LONG $0x24448948; BYTE $0x20 // mov qword [rsp + 32], rax LONG $0x2474894c; BYTE $0x08 // mov qword [rsp + 8], r14 -LBB1_113: - LONG $0x245c2b4c; BYTE $0x10 // sub r11, qword [rsp + 16] - QUAD $0x000000c0249c894c // mov qword [rsp + 192], r11 - LBB1_114: - WORD $0x8949; BYTE $0xf3 // mov r11, rsi - LONG $0x2e394466 // cmp word [rsi], r13w - QUAD $0x000000e02494940f // sete byte [rsp + 224] - LONG $0x6e394466; BYTE $0x02 // cmp word [rsi + 2], r13w + LONG $0x247c2b4c; BYTE $0x20 // sub r15, qword [rsp + 32] + QUAD $0x0000009824bc894c // mov qword [rsp + 152], r15 + +LBB1_115: + WORD $0x8949; BYTE $0xf2 // mov r10, rsi + LONG $0x1e394466 // cmp word [rsi], r11w + QUAD $0x000000a02494940f // sete byte [rsp + 160] + LONG $0x5e394466; BYTE $0x02 // cmp word [rsi + 2], r11w LONG $0xd0940f41 // sete r8b - LONG $0x6e394466; BYTE $0x04 // cmp word [rsi + 4], r13w + LONG $0x5e394466; BYTE $0x04 // cmp word [rsi + 4], r11w LONG $0xd6940f41 // sete r14b - LONG $0x6e394466; BYTE $0x06 // cmp word [rsi + 6], r13w - QUAD $0x000000d02494940f // sete byte [rsp + 208] - LONG $0x6e394466; BYTE $0x08 // cmp word [rsi + 8], r13w + LONG $0x0424448b // mov eax, dword [rsp + 4] + LONG $0x06463966 // cmp word [rsi + 6], ax + LONG $0xd5940f41 // sete r13b + LONG $0x0424448b // mov eax, dword [rsp + 4] + LONG $0x08463966 // cmp word [rsi + 8], ax + QUAD $0x000000802494940f // sete byte [rsp + 128] + LONG $0x0424448b // mov eax, dword [rsp + 4] + LONG $0x0a463966 // cmp word [rsi + 10], ax LONG $0x2454940f; BYTE $0x58 // sete byte [rsp + 88] - LONG $0x6e394466; BYTE $0x0a // cmp word [rsi + 10], r13w - LONG $0x2454940f; BYTE $0x48 // sete byte [rsp + 72] - LONG $0x6e394466; BYTE $0x0c // cmp word [rsi + 12], r13w - WORD $0x940f; BYTE $0xd0 // sete al - LONG $0x6e394466; BYTE $0x0e // cmp word [rsi + 14], r13w + LONG $0x0424448b // mov eax, dword [rsp + 4] + LONG $0x0c463966 // cmp word [rsi + 12], ax + QUAD $0x000000d02494940f // sete byte [rsp + 208] + LONG $0x0424448b // mov eax, dword [rsp + 4] + LONG $0x0e463966 // cmp word [rsi + 14], ax WORD $0x940f; BYTE $0xd3 // sete bl - LONG $0x6e394466; BYTE $0x10 // cmp word [rsi + 16], r13w - QUAD $0x000000a02494940f // sete byte [rsp + 160] - LONG $0x6e394466; BYTE $0x12 // cmp word [rsi + 18], r13w + LONG $0x0424448b // mov eax, dword [rsp + 4] + LONG $0x10463966 // cmp word [rsi + 16], ax + QUAD $0x000000c02494940f // sete byte [rsp + 192] + LONG $0x0424448b // mov eax, dword [rsp + 4] + LONG $0x12463966 // cmp word [rsi + 18], ax WORD $0x940f; BYTE $0xd1 // sete cl - LONG $0x6e394466; BYTE $0x14 // cmp word [rsi + 20], r13w + LONG $0x0424448b // mov eax, dword [rsp + 4] + LONG $0x14463966 // cmp word [rsi + 20], ax LONG $0xd6940f40 // sete sil - LONG $0x6b394566; BYTE $0x16 // cmp word [r11 + 22], r13w + LONG $0x0424448b // mov eax, dword [rsp + 4] + LONG $0x42394166; BYTE $0x16 // cmp word [r10 + 22], ax LONG $0xd1940f41 // sete r9b - LONG $0x6b394566; BYTE $0x18 // cmp word [r11 + 24], r13w - LONG $0xd2940f41 // sete r10b - LONG $0x6b394566; BYTE $0x1a // cmp word [r11 + 26], r13w + LONG $0x0424448b // mov eax, dword [rsp + 4] + LONG $0x42394166; BYTE $0x18 // cmp word [r10 + 24], ax + LONG $0xd3940f41 // sete r11b + LONG $0x0424448b // mov eax, dword [rsp + 4] + LONG $0x42394166; BYTE $0x1a // cmp word [r10 + 26], ax LONG $0xd4940f41 // sete r12b - LONG $0x6b394566; BYTE $0x1c // cmp word [r11 + 28], r13w - QUAD $0x000000b02494940f // sete byte [rsp + 176] - LONG $0x6b394566; BYTE $0x1e // cmp word [r11 + 30], r13w + LONG $0x0424448b // mov eax, dword [rsp + 4] + LONG $0x42394166; BYTE $0x1c // cmp word [r10 + 28], ax + LONG $0x2454940f; BYTE $0x70 // sete byte [rsp + 112] + LONG $0x0424448b // mov eax, dword [rsp + 4] + LONG $0x42394166; BYTE $0x1e // cmp word [r10 + 30], ax LONG $0xd7940f40 // sete dil - LONG $0x6b394566; BYTE $0x20 // cmp word [r11 + 32], r13w + LONG $0x0424548b // mov edx, dword [rsp + 4] + LONG $0x52394166; BYTE $0x20 // cmp word [r10 + 32], dx LONG $0x2454940f; BYTE $0x68 // sete byte [rsp + 104] - LONG $0x6b394566; BYTE $0x22 // cmp word [r11 + 34], r13w - QUAD $0x000000802494940f // sete byte [rsp + 128] - LONG $0x6b394566; BYTE $0x24 // cmp word [r11 + 36], r13w - LONG $0x2454940f; BYTE $0x70 // sete byte [rsp + 112] - LONG $0x6b394566; BYTE $0x26 // cmp word [r11 + 38], r13w - LONG $0x2454940f; BYTE $0x60 // sete byte [rsp + 96] - LONG $0x6b394566; BYTE $0x28 // cmp word [r11 + 40], r13w + LONG $0x0424548b // mov edx, dword [rsp + 4] + LONG $0x52394166; BYTE $0x22 // cmp word [r10 + 34], dx + QUAD $0x000000b02494940f // sete byte [rsp + 176] + LONG $0x0424548b // mov edx, dword [rsp + 4] + LONG $0x52394166; BYTE $0x24 // cmp word [r10 + 36], dx LONG $0x2454940f; BYTE $0x78 // sete byte [rsp + 120] - LONG $0x6b394566; BYTE $0x2a // cmp word [r11 + 42], r13w + LONG $0x0424548b // mov edx, dword [rsp + 4] + LONG $0x52394166; BYTE $0x26 // cmp word [r10 + 38], dx + LONG $0x2454940f; BYTE $0x60 // sete byte [rsp + 96] + LONG $0x0424548b // mov edx, dword [rsp + 4] + LONG $0x52394166; BYTE $0x28 // cmp word [r10 + 40], dx LONG $0x2454940f; BYTE $0x50 // sete byte [rsp + 80] - LONG $0x6b394566; BYTE $0x2c // cmp word [r11 + 44], r13w + LONG $0x0424548b // mov edx, dword [rsp + 4] + LONG $0x52394166; BYTE $0x2a // cmp word [r10 + 42], dx + LONG $0x2454940f; BYTE $0x48 // sete byte [rsp + 72] + LONG $0x0424548b // mov edx, dword [rsp + 4] + LONG $0x52394166; BYTE $0x2c // cmp word [r10 + 44], dx LONG $0x2454940f; BYTE $0x40 // sete byte [rsp + 64] - LONG $0x6b394566; BYTE $0x2e // cmp word [r11 + 46], r13w + LONG $0x0424548b // mov edx, dword [rsp + 4] + LONG $0x52394166; BYTE $0x2e // cmp word [r10 + 46], dx LONG $0xd7940f41 // sete r15b - LONG $0x6b394566; BYTE $0x30 // cmp word [r11 + 48], r13w - LONG $0x2454940f; BYTE $0x20 // sete byte [rsp + 32] - LONG $0x6b394566; BYTE $0x32 // cmp word [r11 + 50], r13w + LONG $0x0424548b // mov edx, dword [rsp + 4] + LONG $0x52394166; BYTE $0x30 // cmp word [r10 + 48], dx + LONG $0x2454940f; BYTE $0x18 // sete byte [rsp + 24] + LONG $0x0424548b // mov edx, dword [rsp + 4] + LONG $0x52394166; BYTE $0x32 // cmp word [r10 + 50], dx LONG $0x2454940f; BYTE $0x38 // sete byte [rsp + 56] - LONG $0x6b394566; BYTE $0x34 // cmp word [r11 + 52], r13w - LONG $0x2454940f; BYTE $0x10 // sete byte [rsp + 16] - LONG $0x6b394566; BYTE $0x36 // cmp word [r11 + 54], r13w + LONG $0x0424548b // mov edx, dword [rsp + 4] + LONG $0x52394166; BYTE $0x34 // cmp word [r10 + 52], dx + LONG $0x2454940f; BYTE $0x20 // sete byte [rsp + 32] + LONG $0x0424548b // mov edx, dword [rsp + 4] + LONG $0x52394166; BYTE $0x36 // cmp word [r10 + 54], dx LONG $0x2454940f; BYTE $0x30 // sete byte [rsp + 48] - LONG $0x6b394566; BYTE $0x38 // cmp word [r11 + 56], r13w - LONG $0x2454940f; BYTE $0x18 // sete byte [rsp + 24] - LONG $0x6b394566; BYTE $0x3a // cmp word [r11 + 58], r13w + LONG $0x0424548b // mov edx, dword [rsp + 4] + LONG $0x52394166; BYTE $0x38 // cmp word [r10 + 56], dx + LONG $0x2454940f; BYTE $0x10 // sete byte [rsp + 16] + LONG $0x0424548b // mov edx, dword [rsp + 4] + LONG $0x52394166; BYTE $0x3a // cmp word [r10 + 58], dx LONG $0x2454940f; BYTE $0x28 // sete byte [rsp + 40] - LONG $0x6b394566; BYTE $0x3c // cmp word [r11 + 60], r13w + LONG $0x0424548b // mov edx, dword [rsp + 4] + LONG $0x52394166; BYTE $0x3c // cmp word [r10 + 60], dx QUAD $0x000000882494940f // sete byte [rsp + 136] - LONG $0x6b394566; BYTE $0x3e // cmp word [r11 + 62], r13w + LONG $0x0424548b // mov edx, dword [rsp + 4] + LONG $0x52394166; BYTE $0x3e // cmp word [r10 + 62], dx WORD $0x940f; BYTE $0xd2 // sete dl WORD $0x0045; BYTE $0xc0 // add r8b, r8b - QUAD $0x000000e024840244 // add r8b, byte [rsp + 224] + QUAD $0x000000a024840244 // add r8b, byte [rsp + 160] + QUAD $0x000000d02484b60f // movzx eax, byte [rsp + 208] WORD $0xe0c0; BYTE $0x06 // shl al, 6 WORD $0xe3c0; BYTE $0x07 // shl bl, 7 WORD $0xc308 // or bl, al LONG $0x02e6c041 // shl r14b, 2 WORD $0x0845; BYTE $0xc6 // or r14b, r8b WORD $0xc900 // add cl, cl - LONG $0xa0248c02; WORD $0x0000; BYTE $0x00 // add cl, byte [rsp + 160] - QUAD $0x000000d02484b60f // movzx eax, byte [rsp + 208] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0x0844; BYTE $0xf0 // or al, r14b + LONG $0xc0248c02; WORD $0x0000; BYTE $0x00 // add cl, byte [rsp + 192] + LONG $0x03e5c041 // shl r13b, 3 + WORD $0x0845; BYTE $0xf5 // or r13b, r14b + LONG $0x0424448b // mov eax, dword [rsp + 4] LONG $0x02e6c040 // shl sil, 2 WORD $0x0840; BYTE $0xce // or sil, cl - LONG $0x244cb60f; BYTE $0x58 // movzx ecx, byte [rsp + 88] + QUAD $0x00000080248cb60f // movzx ecx, byte [rsp + 128] WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0xc108 // or cl, al + WORD $0x0844; BYTE $0xe9 // or cl, r13b WORD $0x8941; BYTE $0xc8 // mov r8d, ecx LONG $0x03e1c041 // shl r9b, 3 WORD $0x0841; BYTE $0xf1 // or r9b, sil - LONG $0x244cb60f; BYTE $0x48 // movzx ecx, byte [rsp + 72] + LONG $0x244cb60f; BYTE $0x58 // movzx ecx, byte [rsp + 88] WORD $0xe1c0; BYTE $0x05 // shl cl, 5 WORD $0x0844; BYTE $0xc1 // or cl, r8b - LONG $0x04e2c041 // shl r10b, 4 - WORD $0x0845; BYTE $0xca // or r10b, r9b + LONG $0x04e3c041 // shl r11b, 4 + WORD $0x0845; BYTE $0xcb // or r11b, r9b LONG $0x05e4c041 // shl r12b, 5 - WORD $0x0845; BYTE $0xd4 // or r12b, r10b - QUAD $0x000000b024b4b60f // movzx esi, byte [rsp + 176] + WORD $0x0845; BYTE $0xdc // or r12b, r11b + WORD $0x8941; BYTE $0xc3 // mov r11d, eax + LONG $0x2474b60f; BYTE $0x70 // movzx esi, byte [rsp + 112] LONG $0x06e6c040 // shl sil, 6 LONG $0x07e7c040 // shl dil, 7 WORD $0x0840; BYTE $0xf7 // or dil, sil WORD $0xcb08 // or bl, cl WORD $0x0844; BYTE $0xe7 // or dil, r12b - QUAD $0x00000080248cb60f // movzx ecx, byte [rsp + 128] - WORD $0xc900 // add cl, cl - LONG $0x68244c02 // add cl, byte [rsp + 104] - WORD $0xce89 // mov esi, ecx - LONG $0x244cb60f; BYTE $0x70 // movzx ecx, byte [rsp + 112] + QUAD $0x000000b02484b60f // movzx eax, byte [rsp + 176] + WORD $0xc000 // add al, al + LONG $0x68244402 // add al, byte [rsp + 104] + LONG $0x244cb60f; BYTE $0x78 // movzx ecx, byte [rsp + 120] WORD $0xe1c0; BYTE $0x02 // shl cl, 2 - WORD $0x0840; BYTE $0xf1 // or cl, sil + WORD $0xc108 // or cl, al WORD $0xce89 // mov esi, ecx LONG $0x244cb60f; BYTE $0x60 // movzx ecx, byte [rsp + 96] WORD $0xe1c0; BYTE $0x03 // shl cl, 3 WORD $0x0840; BYTE $0xf1 // or cl, sil WORD $0xce89 // mov esi, ecx - LONG $0x244cb60f; BYTE $0x78 // movzx ecx, byte [rsp + 120] + LONG $0x244cb60f; BYTE $0x50 // movzx ecx, byte [rsp + 80] WORD $0xe1c0; BYTE $0x04 // shl cl, 4 WORD $0x0840; BYTE $0xf1 // or cl, sil WORD $0xce89 // mov esi, ecx - LONG $0x244cb60f; BYTE $0x50 // movzx ecx, byte [rsp + 80] + LONG $0x244cb60f; BYTE $0x48 // movzx ecx, byte [rsp + 72] WORD $0xe1c0; BYTE $0x05 // shl cl, 5 WORD $0x0840; BYTE $0xf1 // or cl, sil WORD $0xce89 // mov esi, ecx @@ -4422,9 +4747,9 @@ LBB1_114: WORD $0x0841; BYTE $0xf7 // or r15b, sil LONG $0x2444b60f; BYTE $0x38 // movzx eax, byte [rsp + 56] WORD $0xc000 // add al, al - LONG $0x20244402 // add al, byte [rsp + 32] + LONG $0x18244402 // add al, byte [rsp + 24] WORD $0xc389 // mov ebx, eax - LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] + LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] WORD $0xe0c0; BYTE $0x02 // shl al, 2 WORD $0xd808 // or al, bl WORD $0xc389 // mov ebx, eax @@ -4432,7 +4757,7 @@ LBB1_114: WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0xd808 // or al, bl WORD $0xc389 // mov ebx, eax - LONG $0x2444b60f; BYTE $0x18 // movzx eax, byte [rsp + 24] + LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0xd808 // or al, bl WORD $0xc389 // mov ebx, eax @@ -4446,17 +4771,17 @@ LBB1_114: WORD $0xc208 // or dl, al LONG $0x02798844 // mov byte [rcx + 2], r15b WORD $0x5188; BYTE $0x03 // mov byte [rcx + 3], dl - LONG $0x40738d49 // lea rsi, [r11 + 64] + LONG $0x40728d49 // lea rsi, [r10 + 64] LONG $0x04c18348 // add rcx, 4 LONG $0x244c8948; BYTE $0x08 // mov qword [rsp + 8], rcx - QUAD $0x000000c024848348; BYTE $0xff // add qword [rsp + 192], -1 - JNE LBB1_114 + QUAD $0x0000009824848348; BYTE $0xff // add qword [rsp + 152], -1 + JNE LBB1_115 QUAD $0x0000009024948b4c // mov r10, qword [rsp + 144] - QUAD $0x00000098249c8b4c // mov r11, qword [rsp + 152] - JMP LBB1_116 + QUAD $0x000000f024bc8b4c // mov r15, qword [rsp + 240] + JMP LBB1_117 -LBB1_123: - LONG $0x2ab70f44 // movzx r13d, word [rdx] +LBB1_124: + LONG $0x1ab70f44 // movzx r11d, word [rdx] LONG $0x1f7a8d4d // lea r15, [r10 + 31] WORD $0x854d; BYTE $0xd2 // test r10, r10 LONG $0xfa490f4d // cmovns r15, r10 @@ -4465,11 +4790,11 @@ LBB1_123: LONG $0xc1490f41 // cmovns eax, r9d WORD $0xe083; BYTE $0xf8 // and eax, -8 WORD $0x2941; BYTE $0xc1 // sub r9d, eax - JE LBB1_127 + JE LBB1_128 WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d -LBB1_125: - LONG $0x2e394466 // cmp word [rsi], r13w +LBB1_126: + LONG $0x1e394466 // cmp word [rsi], r11w LONG $0x02768d48 // lea rsi, [rsi + 2] WORD $0x940f; BYTE $0xd2 // sete dl WORD $0xdaf6 // neg dl @@ -4477,6 +4802,7 @@ LBB1_125: WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xf8490f48 // cmovns rdi, rax LONG $0x03ffc148 // sar rdi, 3 + WORD $0x894d; BYTE $0xf4 // mov r12, r14 LONG $0x0cb60f45; BYTE $0x3e // movzx r9d, byte [r14 + rdi] WORD $0x3044; BYTE $0xca // xor dl, r9b QUAD $0x00000000fd048d44 // lea r8d, [8*rdi] @@ -4489,153 +4815,182 @@ LBB1_125: LONG $0x3e1c8841 // mov byte [r14 + rdi], bl LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 - JNE LBB1_125 + JNE LBB1_126 LONG $0x01c68349 // add r14, 1 -LBB1_127: - LONG $0x05ffc149 // sar r15, 5 - LONG $0x20fa8349 // cmp r10, 32 - JL LBB1_128 - LONG $0x08ff8349 // cmp r15, 8 - QUAD $0x000000902494894c // mov qword [rsp + 144], r10 - QUAD $0x0000009824bc894c // mov qword [rsp + 152], r15 - JB LBB1_130 - WORD $0x894c; BYTE $0xf8 // mov rax, r15 - LONG $0x06e0c148 // shl rax, 6 - WORD $0x0148; BYTE $0xf0 // add rax, rsi - WORD $0x3949; BYTE $0xc6 // cmp r14, rax - JAE LBB1_133 - LONG $0xbe048d4b // lea rax, [r14 + 4*r15] - WORD $0x3948; BYTE $0xf0 // cmp rax, rsi - JBE LBB1_133 +LBB1_128: + LONG $0x05ffc149 // sar r15, 5 + LONG $0x20fa8349 // cmp r10, 32 + JL LBB1_129 + LONG $0x08ff8349 // cmp r15, 8 + LONG $0x245c8944; BYTE $0x04 // mov dword [rsp + 4], r11d + QUAD $0x000000902494894c // mov qword [rsp + 144], r10 + QUAD $0x000000f024bc894c // mov qword [rsp + 240], r15 + JB LBB1_131 + WORD $0x894c; BYTE $0xf8 // mov rax, r15 + LONG $0x06e0c148 // shl rax, 6 + WORD $0x0148; BYTE $0xf0 // add rax, rsi + WORD $0x3949; BYTE $0xc6 // cmp r14, rax + JAE LBB1_134 + LONG $0xbe048d4b // lea rax, [r14 + 4*r15] + WORD $0x3948; BYTE $0xf0 // cmp rax, rsi + JBE LBB1_134 -LBB1_130: +LBB1_131: WORD $0xc031 // xor eax, eax - LONG $0x24448948; BYTE $0x10 // mov qword [rsp + 16], rax - WORD $0x894d; BYTE $0xf4 // mov r12, r14 - -LBB1_136: - LONG $0x2464894c; BYTE $0x08 // mov qword [rsp + 8], r12 - WORD $0x894d; BYTE $0xfe // mov r14, r15 - LONG $0x24742b4c; BYTE $0x10 // sub r14, qword [rsp + 16] - QUAD $0x000000c024b4894c // mov qword [rsp + 192], r14 + LONG $0x24448948; BYTE $0x20 // mov qword [rsp + 32], rax + LONG $0x2474894c; BYTE $0x08 // mov qword [rsp + 8], r14 LBB1_137: - WORD $0x8949; BYTE $0xf3 // mov r11, rsi - LONG $0x2e394466 // cmp word [rsi], r13w - QUAD $0x000000e02494940f // sete byte [rsp + 224] - LONG $0x6e394466; BYTE $0x02 // cmp word [rsi + 2], r13w + LONG $0x247c2b4c; BYTE $0x20 // sub r15, qword [rsp + 32] + QUAD $0x0000009824bc894c // mov qword [rsp + 152], r15 + +LBB1_138: + WORD $0x8949; BYTE $0xf2 // mov r10, rsi + LONG $0x1e394466 // cmp word [rsi], r11w + QUAD $0x000000a02494940f // sete byte [rsp + 160] + LONG $0x5e394466; BYTE $0x02 // cmp word [rsi + 2], r11w LONG $0xd0940f41 // sete r8b - LONG $0x6e394466; BYTE $0x04 // cmp word [rsi + 4], r13w + LONG $0x5e394466; BYTE $0x04 // cmp word [rsi + 4], r11w LONG $0xd6940f41 // sete r14b - LONG $0x6e394466; BYTE $0x06 // cmp word [rsi + 6], r13w - QUAD $0x000000d02494940f // sete byte [rsp + 208] - LONG $0x6e394466; BYTE $0x08 // cmp word [rsi + 8], r13w + LONG $0x0424448b // mov eax, dword [rsp + 4] + LONG $0x06463966 // cmp word [rsi + 6], ax + LONG $0xd5940f41 // sete r13b + LONG $0x0424448b // mov eax, dword [rsp + 4] + LONG $0x08463966 // cmp word [rsi + 8], ax + QUAD $0x000000802494940f // sete byte [rsp + 128] + LONG $0x0424448b // mov eax, dword [rsp + 4] + LONG $0x0a463966 // cmp word [rsi + 10], ax LONG $0x2454940f; BYTE $0x58 // sete byte [rsp + 88] - LONG $0x6e394466; BYTE $0x0a // cmp word [rsi + 10], r13w - LONG $0x2454940f; BYTE $0x48 // sete byte [rsp + 72] - LONG $0x6e394466; BYTE $0x0c // cmp word [rsi + 12], r13w - WORD $0x940f; BYTE $0xd0 // sete al - LONG $0x6e394466; BYTE $0x0e // cmp word [rsi + 14], r13w + LONG $0x0424448b // mov eax, dword [rsp + 4] + LONG $0x0c463966 // cmp word [rsi + 12], ax + QUAD $0x000000d02494940f // sete byte [rsp + 208] + LONG $0x0424448b // mov eax, dword [rsp + 4] + LONG $0x0e463966 // cmp word [rsi + 14], ax WORD $0x940f; BYTE $0xd3 // sete bl - LONG $0x6e394466; BYTE $0x10 // cmp word [rsi + 16], r13w - QUAD $0x000000a02494940f // sete byte [rsp + 160] - LONG $0x6e394466; BYTE $0x12 // cmp word [rsi + 18], r13w + LONG $0x0424448b // mov eax, dword [rsp + 4] + LONG $0x10463966 // cmp word [rsi + 16], ax + QUAD $0x000000c02494940f // sete byte [rsp + 192] + LONG $0x0424448b // mov eax, dword [rsp + 4] + LONG $0x12463966 // cmp word [rsi + 18], ax WORD $0x940f; BYTE $0xd1 // sete cl - LONG $0x6e394466; BYTE $0x14 // cmp word [rsi + 20], r13w + LONG $0x0424448b // mov eax, dword [rsp + 4] + LONG $0x14463966 // cmp word [rsi + 20], ax LONG $0xd6940f40 // sete sil - LONG $0x6b394566; BYTE $0x16 // cmp word [r11 + 22], r13w + LONG $0x0424448b // mov eax, dword [rsp + 4] + LONG $0x42394166; BYTE $0x16 // cmp word [r10 + 22], ax LONG $0xd1940f41 // sete r9b - LONG $0x6b394566; BYTE $0x18 // cmp word [r11 + 24], r13w - LONG $0xd2940f41 // sete r10b - LONG $0x6b394566; BYTE $0x1a // cmp word [r11 + 26], r13w + LONG $0x0424448b // mov eax, dword [rsp + 4] + LONG $0x42394166; BYTE $0x18 // cmp word [r10 + 24], ax + LONG $0xd3940f41 // sete r11b + LONG $0x0424448b // mov eax, dword [rsp + 4] + LONG $0x42394166; BYTE $0x1a // cmp word [r10 + 26], ax LONG $0xd4940f41 // sete r12b - LONG $0x6b394566; BYTE $0x1c // cmp word [r11 + 28], r13w - QUAD $0x000000b02494940f // sete byte [rsp + 176] - LONG $0x6b394566; BYTE $0x1e // cmp word [r11 + 30], r13w + LONG $0x0424448b // mov eax, dword [rsp + 4] + LONG $0x42394166; BYTE $0x1c // cmp word [r10 + 28], ax + LONG $0x2454940f; BYTE $0x70 // sete byte [rsp + 112] + LONG $0x0424448b // mov eax, dword [rsp + 4] + LONG $0x42394166; BYTE $0x1e // cmp word [r10 + 30], ax LONG $0xd7940f40 // sete dil - LONG $0x6b394566; BYTE $0x20 // cmp word [r11 + 32], r13w + LONG $0x0424548b // mov edx, dword [rsp + 4] + LONG $0x52394166; BYTE $0x20 // cmp word [r10 + 32], dx LONG $0x2454940f; BYTE $0x68 // sete byte [rsp + 104] - LONG $0x6b394566; BYTE $0x22 // cmp word [r11 + 34], r13w - QUAD $0x000000802494940f // sete byte [rsp + 128] - LONG $0x6b394566; BYTE $0x24 // cmp word [r11 + 36], r13w - LONG $0x2454940f; BYTE $0x70 // sete byte [rsp + 112] - LONG $0x6b394566; BYTE $0x26 // cmp word [r11 + 38], r13w - LONG $0x2454940f; BYTE $0x60 // sete byte [rsp + 96] - LONG $0x6b394566; BYTE $0x28 // cmp word [r11 + 40], r13w + LONG $0x0424548b // mov edx, dword [rsp + 4] + LONG $0x52394166; BYTE $0x22 // cmp word [r10 + 34], dx + QUAD $0x000000b02494940f // sete byte [rsp + 176] + LONG $0x0424548b // mov edx, dword [rsp + 4] + LONG $0x52394166; BYTE $0x24 // cmp word [r10 + 36], dx LONG $0x2454940f; BYTE $0x78 // sete byte [rsp + 120] - LONG $0x6b394566; BYTE $0x2a // cmp word [r11 + 42], r13w + LONG $0x0424548b // mov edx, dword [rsp + 4] + LONG $0x52394166; BYTE $0x26 // cmp word [r10 + 38], dx + LONG $0x2454940f; BYTE $0x60 // sete byte [rsp + 96] + LONG $0x0424548b // mov edx, dword [rsp + 4] + LONG $0x52394166; BYTE $0x28 // cmp word [r10 + 40], dx LONG $0x2454940f; BYTE $0x50 // sete byte [rsp + 80] - LONG $0x6b394566; BYTE $0x2c // cmp word [r11 + 44], r13w + LONG $0x0424548b // mov edx, dword [rsp + 4] + LONG $0x52394166; BYTE $0x2a // cmp word [r10 + 42], dx + LONG $0x2454940f; BYTE $0x48 // sete byte [rsp + 72] + LONG $0x0424548b // mov edx, dword [rsp + 4] + LONG $0x52394166; BYTE $0x2c // cmp word [r10 + 44], dx LONG $0x2454940f; BYTE $0x40 // sete byte [rsp + 64] - LONG $0x6b394566; BYTE $0x2e // cmp word [r11 + 46], r13w + LONG $0x0424548b // mov edx, dword [rsp + 4] + LONG $0x52394166; BYTE $0x2e // cmp word [r10 + 46], dx LONG $0xd7940f41 // sete r15b - LONG $0x6b394566; BYTE $0x30 // cmp word [r11 + 48], r13w - LONG $0x2454940f; BYTE $0x20 // sete byte [rsp + 32] - LONG $0x6b394566; BYTE $0x32 // cmp word [r11 + 50], r13w + LONG $0x0424548b // mov edx, dword [rsp + 4] + LONG $0x52394166; BYTE $0x30 // cmp word [r10 + 48], dx + LONG $0x2454940f; BYTE $0x18 // sete byte [rsp + 24] + LONG $0x0424548b // mov edx, dword [rsp + 4] + LONG $0x52394166; BYTE $0x32 // cmp word [r10 + 50], dx LONG $0x2454940f; BYTE $0x38 // sete byte [rsp + 56] - LONG $0x6b394566; BYTE $0x34 // cmp word [r11 + 52], r13w - LONG $0x2454940f; BYTE $0x10 // sete byte [rsp + 16] - LONG $0x6b394566; BYTE $0x36 // cmp word [r11 + 54], r13w + LONG $0x0424548b // mov edx, dword [rsp + 4] + LONG $0x52394166; BYTE $0x34 // cmp word [r10 + 52], dx + LONG $0x2454940f; BYTE $0x20 // sete byte [rsp + 32] + LONG $0x0424548b // mov edx, dword [rsp + 4] + LONG $0x52394166; BYTE $0x36 // cmp word [r10 + 54], dx LONG $0x2454940f; BYTE $0x30 // sete byte [rsp + 48] - LONG $0x6b394566; BYTE $0x38 // cmp word [r11 + 56], r13w - LONG $0x2454940f; BYTE $0x18 // sete byte [rsp + 24] - LONG $0x6b394566; BYTE $0x3a // cmp word [r11 + 58], r13w + LONG $0x0424548b // mov edx, dword [rsp + 4] + LONG $0x52394166; BYTE $0x38 // cmp word [r10 + 56], dx + LONG $0x2454940f; BYTE $0x10 // sete byte [rsp + 16] + LONG $0x0424548b // mov edx, dword [rsp + 4] + LONG $0x52394166; BYTE $0x3a // cmp word [r10 + 58], dx LONG $0x2454940f; BYTE $0x28 // sete byte [rsp + 40] - LONG $0x6b394566; BYTE $0x3c // cmp word [r11 + 60], r13w + LONG $0x0424548b // mov edx, dword [rsp + 4] + LONG $0x52394166; BYTE $0x3c // cmp word [r10 + 60], dx QUAD $0x000000882494940f // sete byte [rsp + 136] - LONG $0x6b394566; BYTE $0x3e // cmp word [r11 + 62], r13w + LONG $0x0424548b // mov edx, dword [rsp + 4] + LONG $0x52394166; BYTE $0x3e // cmp word [r10 + 62], dx WORD $0x940f; BYTE $0xd2 // sete dl WORD $0x0045; BYTE $0xc0 // add r8b, r8b - QUAD $0x000000e024840244 // add r8b, byte [rsp + 224] + QUAD $0x000000a024840244 // add r8b, byte [rsp + 160] + QUAD $0x000000d02484b60f // movzx eax, byte [rsp + 208] WORD $0xe0c0; BYTE $0x06 // shl al, 6 WORD $0xe3c0; BYTE $0x07 // shl bl, 7 WORD $0xc308 // or bl, al LONG $0x02e6c041 // shl r14b, 2 WORD $0x0845; BYTE $0xc6 // or r14b, r8b WORD $0xc900 // add cl, cl - LONG $0xa0248c02; WORD $0x0000; BYTE $0x00 // add cl, byte [rsp + 160] - QUAD $0x000000d02484b60f // movzx eax, byte [rsp + 208] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0x0844; BYTE $0xf0 // or al, r14b + LONG $0xc0248c02; WORD $0x0000; BYTE $0x00 // add cl, byte [rsp + 192] + LONG $0x03e5c041 // shl r13b, 3 + WORD $0x0845; BYTE $0xf5 // or r13b, r14b + LONG $0x0424448b // mov eax, dword [rsp + 4] LONG $0x02e6c040 // shl sil, 2 WORD $0x0840; BYTE $0xce // or sil, cl - LONG $0x244cb60f; BYTE $0x58 // movzx ecx, byte [rsp + 88] + QUAD $0x00000080248cb60f // movzx ecx, byte [rsp + 128] WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0xc108 // or cl, al + WORD $0x0844; BYTE $0xe9 // or cl, r13b WORD $0x8941; BYTE $0xc8 // mov r8d, ecx LONG $0x03e1c041 // shl r9b, 3 WORD $0x0841; BYTE $0xf1 // or r9b, sil - LONG $0x244cb60f; BYTE $0x48 // movzx ecx, byte [rsp + 72] + LONG $0x244cb60f; BYTE $0x58 // movzx ecx, byte [rsp + 88] WORD $0xe1c0; BYTE $0x05 // shl cl, 5 WORD $0x0844; BYTE $0xc1 // or cl, r8b - LONG $0x04e2c041 // shl r10b, 4 - WORD $0x0845; BYTE $0xca // or r10b, r9b + LONG $0x04e3c041 // shl r11b, 4 + WORD $0x0845; BYTE $0xcb // or r11b, r9b LONG $0x05e4c041 // shl r12b, 5 - WORD $0x0845; BYTE $0xd4 // or r12b, r10b - QUAD $0x000000b024b4b60f // movzx esi, byte [rsp + 176] + WORD $0x0845; BYTE $0xdc // or r12b, r11b + WORD $0x8941; BYTE $0xc3 // mov r11d, eax + LONG $0x2474b60f; BYTE $0x70 // movzx esi, byte [rsp + 112] LONG $0x06e6c040 // shl sil, 6 LONG $0x07e7c040 // shl dil, 7 WORD $0x0840; BYTE $0xf7 // or dil, sil WORD $0xcb08 // or bl, cl WORD $0x0844; BYTE $0xe7 // or dil, r12b - QUAD $0x00000080248cb60f // movzx ecx, byte [rsp + 128] - WORD $0xc900 // add cl, cl - LONG $0x68244c02 // add cl, byte [rsp + 104] - WORD $0xce89 // mov esi, ecx - LONG $0x244cb60f; BYTE $0x70 // movzx ecx, byte [rsp + 112] + QUAD $0x000000b02484b60f // movzx eax, byte [rsp + 176] + WORD $0xc000 // add al, al + LONG $0x68244402 // add al, byte [rsp + 104] + LONG $0x244cb60f; BYTE $0x78 // movzx ecx, byte [rsp + 120] WORD $0xe1c0; BYTE $0x02 // shl cl, 2 - WORD $0x0840; BYTE $0xf1 // or cl, sil + WORD $0xc108 // or cl, al WORD $0xce89 // mov esi, ecx LONG $0x244cb60f; BYTE $0x60 // movzx ecx, byte [rsp + 96] WORD $0xe1c0; BYTE $0x03 // shl cl, 3 WORD $0x0840; BYTE $0xf1 // or cl, sil WORD $0xce89 // mov esi, ecx - LONG $0x244cb60f; BYTE $0x78 // movzx ecx, byte [rsp + 120] + LONG $0x244cb60f; BYTE $0x50 // movzx ecx, byte [rsp + 80] WORD $0xe1c0; BYTE $0x04 // shl cl, 4 WORD $0x0840; BYTE $0xf1 // or cl, sil WORD $0xce89 // mov esi, ecx - LONG $0x244cb60f; BYTE $0x50 // movzx ecx, byte [rsp + 80] + LONG $0x244cb60f; BYTE $0x48 // movzx ecx, byte [rsp + 72] WORD $0xe1c0; BYTE $0x05 // shl cl, 5 WORD $0x0840; BYTE $0xf1 // or cl, sil WORD $0xce89 // mov esi, ecx @@ -4649,9 +5004,9 @@ LBB1_137: WORD $0x0841; BYTE $0xf7 // or r15b, sil LONG $0x2444b60f; BYTE $0x38 // movzx eax, byte [rsp + 56] WORD $0xc000 // add al, al - LONG $0x20244402 // add al, byte [rsp + 32] + LONG $0x18244402 // add al, byte [rsp + 24] WORD $0xc389 // mov ebx, eax - LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] + LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] WORD $0xe0c0; BYTE $0x02 // shl al, 2 WORD $0xd808 // or al, bl WORD $0xc389 // mov ebx, eax @@ -4659,7 +5014,7 @@ LBB1_137: WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0xd808 // or al, bl WORD $0xc389 // mov ebx, eax - LONG $0x2444b60f; BYTE $0x18 // movzx eax, byte [rsp + 24] + LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0xd808 // or al, bl WORD $0xc389 // mov ebx, eax @@ -4673,17 +5028,16 @@ LBB1_137: WORD $0xc208 // or dl, al LONG $0x02798844 // mov byte [rcx + 2], r15b WORD $0x5188; BYTE $0x03 // mov byte [rcx + 3], dl - LONG $0x40738d49 // lea rsi, [r11 + 64] + LONG $0x40728d49 // lea rsi, [r10 + 64] LONG $0x04c18348 // add rcx, 4 LONG $0x244c8948; BYTE $0x08 // mov qword [rsp + 8], rcx - QUAD $0x000000c024848348; BYTE $0xff // add qword [rsp + 192], -1 - JNE LBB1_137 + QUAD $0x0000009824848348; BYTE $0xff // add qword [rsp + 152], -1 + JNE LBB1_138 QUAD $0x0000009024948b4c // mov r10, qword [rsp + 144] - QUAD $0x0000009824bc8b4c // mov r15, qword [rsp + 152] - LONG $0x24648b4c; BYTE $0x08 // mov r12, qword [rsp + 8] - JMP LBB1_139 + QUAD $0x000000f024bc8b4c // mov r15, qword [rsp + 240] + JMP LBB1_140 -LBB1_162: +LBB1_160: WORD $0x8b4c; BYTE $0x2a // mov r13, qword [rdx] LONG $0x1f5a8d4d // lea r11, [r10 + 31] WORD $0x854d; BYTE $0xd2 // test r10, r10 @@ -4693,10 +5047,10 @@ LBB1_162: LONG $0xc1490f41 // cmovns eax, r9d WORD $0xe083; BYTE $0xf8 // and eax, -8 WORD $0x2941; BYTE $0xc1 // sub r9d, eax - JE LBB1_166 + JE LBB1_164 WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d -LBB1_164: +LBB1_162: WORD $0x394c; BYTE $0x2e // cmp qword [rsi], r13 LONG $0x08768d48 // lea rsi, [rsi + 8] WORD $0x940f; BYTE $0xd2 // sete dl @@ -4705,6 +5059,7 @@ LBB1_164: WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xd8490f48 // cmovns rbx, rax LONG $0x03fbc148 // sar rbx, 3 + WORD $0x894d; BYTE $0xf1 // mov r9, r14 LONG $0x04b60f45; BYTE $0x1e // movzx r8d, byte [r14 + rbx] WORD $0x3044; BYTE $0xc2 // xor dl, r8b LONG $0x00dd3c8d; WORD $0x0000; BYTE $0x00 // lea edi, [8*rbx] @@ -4717,29 +5072,29 @@ LBB1_164: LONG $0x1e3c8841 // mov byte [r14 + rbx], dil LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 - JNE LBB1_164 + JNE LBB1_162 LONG $0x01c68349 // add r14, 1 -LBB1_166: +LBB1_164: LONG $0x05fbc149 // sar r11, 5 LONG $0x20fa8349 // cmp r10, 32 - JL LBB1_170 + JL LBB1_168 QUAD $0x000000902494894c // mov qword [rsp + 144], r10 QUAD $0x00000098249c894c // mov qword [rsp + 152], r11 - QUAD $0x000000c0249c894c // mov qword [rsp + 192], r11 + QUAD $0x000000a0249c894c // mov qword [rsp + 160], r11 -LBB1_168: +LBB1_166: QUAD $0x0000008824b4894c // mov qword [rsp + 136], r14 WORD $0x394c; BYTE $0x2e // cmp qword [rsi], r13 - QUAD $0x000000e02494940f // sete byte [rsp + 224] + QUAD $0x000000d02494940f // sete byte [rsp + 208] LONG $0x086e394c // cmp qword [rsi + 8], r13 - LONG $0xd7940f40 // sete dil + LONG $0xd2940f41 // sete r10b LONG $0x106e394c // cmp qword [rsi + 16], r13 LONG $0xd6940f41 // sete r14b LONG $0x186e394c // cmp qword [rsi + 24], r13 - QUAD $0x000000d02494940f // sete byte [rsp + 208] + QUAD $0x000000b02494940f // sete byte [rsp + 176] LONG $0x206e394c // cmp qword [rsi + 32], r13 - LONG $0x2454940f; BYTE $0x58 // sete byte [rsp + 88] + LONG $0x2454940f; BYTE $0x60 // sete byte [rsp + 96] LONG $0x286e394c // cmp qword [rsi + 40], r13 LONG $0x2454940f; BYTE $0x48 // sete byte [rsp + 72] LONG $0x306e394c // cmp qword [rsi + 48], r13 @@ -4747,161 +5102,162 @@ LBB1_168: LONG $0x386e394c // cmp qword [rsi + 56], r13 WORD $0x940f; BYTE $0xd3 // sete bl LONG $0x406e394c // cmp qword [rsi + 64], r13 - QUAD $0x000000a02494940f // sete byte [rsp + 160] + QUAD $0x000000c02494940f // sete byte [rsp + 192] LONG $0x486e394c // cmp qword [rsi + 72], r13 - WORD $0x940f; BYTE $0xd2 // sete dl + LONG $0xd7940f40 // sete dil LONG $0x506e394c // cmp qword [rsi + 80], r13 - LONG $0xd1940f41 // sete r9b + LONG $0xd0940f41 // sete r8b LONG $0x586e394c // cmp qword [rsi + 88], r13 - LONG $0xd2940f41 // sete r10b + LONG $0xd1940f41 // sete r9b LONG $0x606e394c // cmp qword [rsi + 96], r13 LONG $0xd3940f41 // sete r11b LONG $0x686e394c // cmp qword [rsi + 104], r13 LONG $0xd4940f41 // sete r12b LONG $0x706e394c // cmp qword [rsi + 112], r13 - QUAD $0x000000b02494940f // sete byte [rsp + 176] + LONG $0x2454940f; BYTE $0x70 // sete byte [rsp + 112] LONG $0x786e394c // cmp qword [rsi + 120], r13 WORD $0x940f; BYTE $0xd1 // sete cl LONG $0x80ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 128], r13 - LONG $0x2454940f; BYTE $0x68 // sete byte [rsp + 104] + LONG $0x2454940f; BYTE $0x50 // sete byte [rsp + 80] LONG $0x88ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 136], r13 - QUAD $0x000000802494940f // sete byte [rsp + 128] + LONG $0x2454940f; BYTE $0x78 // sete byte [rsp + 120] LONG $0x90ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 144], r13 - LONG $0x2454940f; BYTE $0x70 // sete byte [rsp + 112] + QUAD $0x000000802494940f // sete byte [rsp + 128] LONG $0x98ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 152], r13 - LONG $0x2454940f; BYTE $0x60 // sete byte [rsp + 96] + LONG $0x2454940f; BYTE $0x68 // sete byte [rsp + 104] LONG $0xa0ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 160], r13 - LONG $0x2454940f; BYTE $0x78 // sete byte [rsp + 120] + LONG $0x2454940f; BYTE $0x58 // sete byte [rsp + 88] LONG $0xa8ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 168], r13 - LONG $0x2454940f; BYTE $0x50 // sete byte [rsp + 80] - LONG $0xb0ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 176], r13 LONG $0x2454940f; BYTE $0x40 // sete byte [rsp + 64] + LONG $0xb0ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 176], r13 + LONG $0x2454940f; BYTE $0x38 // sete byte [rsp + 56] LONG $0xb8ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 184], r13 LONG $0xd7940f41 // sete r15b LONG $0xc0ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 192], r13 - LONG $0x2454940f; BYTE $0x20 // sete byte [rsp + 32] + LONG $0x2454940f; BYTE $0x10 // sete byte [rsp + 16] LONG $0xc8ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 200], r13 - LONG $0x2454940f; BYTE $0x38 // sete byte [rsp + 56] + LONG $0x2454940f; BYTE $0x20 // sete byte [rsp + 32] LONG $0xd0ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 208], r13 - LONG $0x2454940f; BYTE $0x10 // sete byte [rsp + 16] - LONG $0xd8ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 216], r13 LONG $0x2454940f; BYTE $0x30 // sete byte [rsp + 48] - LONG $0xe0ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 224], r13 + LONG $0xd8ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 216], r13 LONG $0x2454940f; BYTE $0x18 // sete byte [rsp + 24] - LONG $0xe8ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 232], r13 + LONG $0xe0ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 224], r13 LONG $0x2454940f; BYTE $0x28 // sete byte [rsp + 40] - LONG $0xf0ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 240], r13 + LONG $0xe8ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 232], r13 LONG $0x2454940f; BYTE $0x08 // sete byte [rsp + 8] + LONG $0xf0ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 240], r13 + LONG $0x2454940f; BYTE $0x04 // sete byte [rsp + 4] LONG $0xf8ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 248], r13 - LONG $0xd0940f41 // sete r8b - WORD $0x0040; BYTE $0xff // add dil, dil - QUAD $0x000000e024bc0240 // add dil, byte [rsp + 224] + WORD $0x940f; BYTE $0xd2 // sete dl + WORD $0x0045; BYTE $0xd2 // add r10b, r10b + QUAD $0x000000d024940244 // add r10b, byte [rsp + 208] WORD $0xe0c0; BYTE $0x06 // shl al, 6 WORD $0xe3c0; BYTE $0x07 // shl bl, 7 WORD $0xc308 // or bl, al LONG $0x02e6c041 // shl r14b, 2 - WORD $0x0841; BYTE $0xfe // or r14b, dil - WORD $0xd200 // add dl, dl - LONG $0xa0249402; WORD $0x0000; BYTE $0x00 // add dl, byte [rsp + 160] - QUAD $0x000000d02484b60f // movzx eax, byte [rsp + 208] + WORD $0x0845; BYTE $0xd6 // or r14b, r10b + WORD $0x0040; BYTE $0xff // add dil, dil + QUAD $0x000000c024bc0240 // add dil, byte [rsp + 192] + QUAD $0x000000b02484b60f // movzx eax, byte [rsp + 176] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0x0844; BYTE $0xf0 // or al, r14b - LONG $0x02e1c041 // shl r9b, 2 - WORD $0x0841; BYTE $0xd1 // or r9b, dl - LONG $0x2454b60f; BYTE $0x58 // movzx edx, byte [rsp + 88] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0xc208 // or dl, al - WORD $0xd789 // mov edi, edx - LONG $0x03e2c041 // shl r10b, 3 - WORD $0x0845; BYTE $0xca // or r10b, r9b - LONG $0x2454b60f; BYTE $0x48 // movzx edx, byte [rsp + 72] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xfa // or dl, dil + WORD $0x8941; BYTE $0xc2 // mov r10d, eax + QUAD $0x0000008824b48b4c // mov r14, qword [rsp + 136] + LONG $0x02e0c041 // shl r8b, 2 + WORD $0x0841; BYTE $0xf8 // or r8b, dil + LONG $0x2444b60f; BYTE $0x60 // movzx eax, byte [rsp + 96] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0844; BYTE $0xd0 // or al, r10b + WORD $0xc789 // mov edi, eax + LONG $0x03e1c041 // shl r9b, 3 + WORD $0x0845; BYTE $0xc1 // or r9b, r8b + LONG $0x2444b60f; BYTE $0x48 // movzx eax, byte [rsp + 72] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0x0840; BYTE $0xf8 // or al, dil LONG $0x04e3c041 // shl r11b, 4 - WORD $0x0845; BYTE $0xd3 // or r11b, r10b + WORD $0x0845; BYTE $0xcb // or r11b, r9b LONG $0x05e4c041 // shl r12b, 5 WORD $0x0845; BYTE $0xdc // or r12b, r11b - QUAD $0x000000b024bcb60f // movzx edi, byte [rsp + 176] + LONG $0x247cb60f; BYTE $0x70 // movzx edi, byte [rsp + 112] LONG $0x06e7c040 // shl dil, 6 WORD $0xe1c0; BYTE $0x07 // shl cl, 7 WORD $0x0840; BYTE $0xf9 // or cl, dil - WORD $0xd308 // or bl, dl + WORD $0xc308 // or bl, al WORD $0x0844; BYTE $0xe1 // or cl, r12b - QUAD $0x0000008824b48b4c // mov r14, qword [rsp + 136] - QUAD $0x000000802494b60f // movzx edx, byte [rsp + 128] - WORD $0xd200 // add dl, dl - LONG $0x68245402 // add dl, byte [rsp + 104] - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x70 // movzx edx, byte [rsp + 112] - WORD $0xe2c0; BYTE $0x02 // shl dl, 2 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x60 // movzx edx, byte [rsp + 96] - WORD $0xe2c0; BYTE $0x03 // shl dl, 3 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x78 // movzx edx, byte [rsp + 120] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x50 // movzx edx, byte [rsp + 80] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xfa // or dl, dil + LONG $0x2444b60f; BYTE $0x78 // movzx eax, byte [rsp + 120] + WORD $0xc000 // add al, al + LONG $0x50244402 // add al, byte [rsp + 80] + WORD $0xc789 // mov edi, eax + QUAD $0x000000802484b60f // movzx eax, byte [rsp + 128] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x68 // movzx eax, byte [rsp + 104] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x58 // movzx eax, byte [rsp + 88] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x40 // movzx eax, byte [rsp + 64] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0x0840; BYTE $0xf8 // or al, dil WORD $0x8841; BYTE $0x1e // mov byte [r14], bl - LONG $0x245cb60f; BYTE $0x40 // movzx ebx, byte [rsp + 64] + LONG $0x245cb60f; BYTE $0x38 // movzx ebx, byte [rsp + 56] WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e7c041 // shl r15b, 7 WORD $0x0841; BYTE $0xdf // or r15b, bl LONG $0x014e8841 // mov byte [r14 + 1], cl - WORD $0x0841; BYTE $0xd7 // or r15b, dl - LONG $0x244cb60f; BYTE $0x38 // movzx ecx, byte [rsp + 56] - WORD $0xc900 // add cl, cl - LONG $0x20244c02 // add cl, byte [rsp + 32] - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x10 // movzx ecx, byte [rsp + 16] - WORD $0xe1c0; BYTE $0x02 // shl cl, 2 - WORD $0xd108 // or cl, dl - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x30 // movzx ecx, byte [rsp + 48] - WORD $0xe1c0; BYTE $0x03 // shl cl, 3 - WORD $0xd108 // or cl, dl - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x18 // movzx ecx, byte [rsp + 24] - WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0xd108 // or cl, dl - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x28 // movzx ecx, byte [rsp + 40] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0xd108 // or cl, dl - LONG $0x2454b60f; BYTE $0x08 // movzx edx, byte [rsp + 8] - WORD $0xe2c0; BYTE $0x06 // shl dl, 6 - LONG $0x07e0c041 // shl r8b, 7 - WORD $0x0841; BYTE $0xd0 // or r8b, dl - WORD $0x0841; BYTE $0xc8 // or r8b, cl + WORD $0x0841; BYTE $0xc7 // or r15b, al + LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] + WORD $0xc000 // add al, al + LONG $0x10244402 // add al, byte [rsp + 16] + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x18 // movzx eax, byte [rsp + 24] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0xc808 // or al, cl + LONG $0x244cb60f; BYTE $0x04 // movzx ecx, byte [rsp + 4] + WORD $0xe1c0; BYTE $0x06 // shl cl, 6 + WORD $0xe2c0; BYTE $0x07 // shl dl, 7 + WORD $0xca08 // or dl, cl + WORD $0xc208 // or dl, al LONG $0x027e8845 // mov byte [r14 + 2], r15b - LONG $0x03468845 // mov byte [r14 + 3], r8b + LONG $0x03568841 // mov byte [r14 + 3], dl LONG $0x00c68148; WORD $0x0001; BYTE $0x00 // add rsi, 256 LONG $0x04c68349 // add r14, 4 - QUAD $0x000000c024848348; BYTE $0xff // add qword [rsp + 192], -1 - JNE LBB1_168 + QUAD $0x000000a024848348; BYTE $0xff // add qword [rsp + 160], -1 + JNE LBB1_166 QUAD $0x0000009024948b4c // mov r10, qword [rsp + 144] QUAD $0x00000098249c8b4c // mov r11, qword [rsp + 152] -LBB1_170: +LBB1_168: LONG $0x05e3c149 // shl r11, 5 WORD $0x394d; BYTE $0xd3 // cmp r11, r10 - JGE LBB1_202 + JGE LBB1_199 WORD $0x894d; BYTE $0xd0 // mov r8, r10 WORD $0x294d; BYTE $0xd8 // sub r8, r11 WORD $0xf749; BYTE $0xd3 // not r11 WORD $0x014d; BYTE $0xd3 // add r11, r10 - JNE LBB1_172 + JNE LBB1_170 -LBB1_39: +LBB1_40: WORD $0x3145; BYTE $0xdb // xor r11d, r11d - JMP LBB1_40 + JMP LBB1_41 -LBB1_174: +LBB1_172: LONG $0x1f5a8d4d // lea r11, [r10 + 31] WORD $0x854d; BYTE $0xd2 // test r10, r10 LONG $0xda490f4d // cmovns r11, r10 @@ -4911,18 +5267,21 @@ LBB1_174: WORD $0xe083; BYTE $0xf8 // and eax, -8 LONG $0x02100ff3 // movss xmm0, dword [rdx] WORD $0x2941; BYTE $0xc1 // sub r9d, eax - JE LBB1_178 + JE LBB1_176 WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d -LBB1_176: +LBB1_174: WORD $0x2e0f; BYTE $0x06 // ucomiss xmm0, dword [rsi] LONG $0x04768d48 // lea rsi, [rsi + 4] + WORD $0x9b0f; BYTE $0xd1 // setnp cl WORD $0x940f; BYTE $0xd2 // sete dl + WORD $0xca20 // and dl, cl WORD $0xdaf6 // neg dl LONG $0x07788d48 // lea rdi, [rax + 7] WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xf8490f48 // cmovns rdi, rax LONG $0x03ffc148 // sar rdi, 3 + WORD $0x894d; BYTE $0xf7 // mov r15, r14 LONG $0x0cb60f45; BYTE $0x3e // movzx r9d, byte [r14 + rdi] WORD $0x3044; BYTE $0xca // xor dl, r9b QUAD $0x00000000fd048d44 // lea r8d, [8*rdi] @@ -4935,282 +5294,410 @@ LBB1_176: LONG $0x3e1c8841 // mov byte [r14 + rdi], bl LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 - JNE LBB1_176 + JNE LBB1_174 LONG $0x01c68349 // add r14, 1 -LBB1_178: +LBB1_176: LONG $0x05fbc149 // sar r11, 5 LONG $0x20fa8349 // cmp r10, 32 - JL LBB1_179 + JL LBB1_177 LONG $0x04fb8349 // cmp r11, 4 - JB LBB1_181 + JB LBB1_179 WORD $0x894c; BYTE $0xd8 // mov rax, r11 LONG $0x07e0c148 // shl rax, 7 WORD $0x0148; BYTE $0xf0 // add rax, rsi WORD $0x3949; BYTE $0xc6 // cmp r14, rax - JAE LBB1_184 + JAE LBB1_182 LONG $0x9e048d4b // lea rax, [r14 + 4*r11] WORD $0x3948; BYTE $0xf0 // cmp rax, rsi - JBE LBB1_184 + JBE LBB1_182 -LBB1_181: +LBB1_179: WORD $0x3145; BYTE $0xc0 // xor r8d, r8d WORD $0x8948; BYTE $0xf3 // mov rbx, rsi WORD $0x894d; BYTE $0xf7 // mov r15, r14 -LBB1_187: - LONG $0x247c894c; BYTE $0x08 // mov qword [rsp + 8], r15 - QUAD $0x000000902494894c // mov qword [rsp + 144], r10 - QUAD $0x000000c0249c894c // mov qword [rsp + 192], r11 - WORD $0x294d; BYTE $0xc3 // sub r11, r8 - QUAD $0x000000e0249c894c // mov qword [rsp + 224], r11 +LBB1_185: + QUAD $0x0000008824bc894c // mov qword [rsp + 136], r15 + QUAD $0x000000902494894c // mov qword [rsp + 144], r10 + QUAD $0x000000f0249c894c // mov qword [rsp + 240], r11 + WORD $0x294d; BYTE $0xc3 // sub r11, r8 + QUAD $0x00000098249c894c // mov qword [rsp + 152], r11 -LBB1_188: +LBB1_186: WORD $0x2e0f; BYTE $0x03 // ucomiss xmm0, dword [rbx] - QUAD $0x000000d02494940f // sete byte [rsp + 208] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + WORD $0x8941; BYTE $0xcd // mov r13d, ecx LONG $0x04432e0f // ucomiss xmm0, dword [rbx + 4] - LONG $0xd0940f41 // sete r8b + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd2 // sete dl + WORD $0xc220 // and dl, al LONG $0x08432e0f // ucomiss xmm0, dword [rbx + 8] - LONG $0xd6940f41 // sete r14b + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x10244c88 // mov byte [rsp + 16], cl LONG $0x0c432e0f // ucomiss xmm0, dword [rbx + 12] - LONG $0xd5940f41 // sete r13b + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x28244c88 // mov byte [rsp + 40], cl LONG $0x10432e0f // ucomiss xmm0, dword [rbx + 16] - LONG $0x2454940f; BYTE $0x58 // sete byte [rsp + 88] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x08244c88 // mov byte [rsp + 8], cl LONG $0x14432e0f // ucomiss xmm0, dword [rbx + 20] - LONG $0x2454940f; BYTE $0x48 // sete byte [rsp + 72] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x30244c88 // mov byte [rsp + 48], cl LONG $0x18432e0f // ucomiss xmm0, dword [rbx + 24] - WORD $0x940f; BYTE $0xd0 // sete al + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x20244c88 // mov byte [rsp + 32], cl LONG $0x1c432e0f // ucomiss xmm0, dword [rbx + 28] - LONG $0xd3940f41 // sete r11b + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x04244c88 // mov byte [rsp + 4], cl LONG $0x20432e0f // ucomiss xmm0, dword [rbx + 32] - QUAD $0x000000b02494940f // sete byte [rsp + 176] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x18244c88 // mov byte [rsp + 24], cl LONG $0x24432e0f // ucomiss xmm0, dword [rbx + 36] - WORD $0x940f; BYTE $0xd2 // sete dl + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x38244c88 // mov byte [rsp + 56], cl LONG $0x28432e0f // ucomiss xmm0, dword [rbx + 40] - LONG $0xd6940f40 // sete sil + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x40244c88 // mov byte [rsp + 64], cl LONG $0x2c432e0f // ucomiss xmm0, dword [rbx + 44] - LONG $0xd7940f40 // sete dil + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x48244c88 // mov byte [rsp + 72], cl LONG $0x30432e0f // ucomiss xmm0, dword [rbx + 48] - LONG $0xd2940f41 // sete r10b + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x58244c88 // mov byte [rsp + 88], cl LONG $0x34432e0f // ucomiss xmm0, dword [rbx + 52] - LONG $0xd4940f41 // sete r12b + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x68244c88 // mov byte [rsp + 104], cl LONG $0x38432e0f // ucomiss xmm0, dword [rbx + 56] - QUAD $0x000000802494940f // sete byte [rsp + 128] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x80248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 128], cl LONG $0x3c432e0f // ucomiss xmm0, dword [rbx + 60] - LONG $0xd1940f41 // sete r9b + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x60244c88 // mov byte [rsp + 96], cl LONG $0x40432e0f // ucomiss xmm0, dword [rbx + 64] - LONG $0x2454940f; BYTE $0x68 // sete byte [rsp + 104] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x50244c88 // mov byte [rsp + 80], cl LONG $0x44432e0f // ucomiss xmm0, dword [rbx + 68] - QUAD $0x000000a02494940f // sete byte [rsp + 160] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd4940f41 // sete r12b + WORD $0x2041; BYTE $0xc4 // and r12b, al LONG $0x48432e0f // ucomiss xmm0, dword [rbx + 72] - LONG $0x2454940f; BYTE $0x70 // sete byte [rsp + 112] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x78244c88 // mov byte [rsp + 120], cl LONG $0x4c432e0f // ucomiss xmm0, dword [rbx + 76] - LONG $0x2454940f; BYTE $0x60 // sete byte [rsp + 96] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x70244c88 // mov byte [rsp + 112], cl LONG $0x50432e0f // ucomiss xmm0, dword [rbx + 80] - LONG $0x2454940f; BYTE $0x78 // sete byte [rsp + 120] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0xc0248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 192], cl LONG $0x54432e0f // ucomiss xmm0, dword [rbx + 84] - LONG $0x2454940f; BYTE $0x50 // sete byte [rsp + 80] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0xd0248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 208], cl LONG $0x58432e0f // ucomiss xmm0, dword [rbx + 88] - LONG $0x2454940f; BYTE $0x40 // sete byte [rsp + 64] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd6940f41 // sete r14b + WORD $0x2041; BYTE $0xc6 // and r14b, al LONG $0x5c432e0f // ucomiss xmm0, dword [rbx + 92] - LONG $0xd7940f41 // sete r15b + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd0940f41 // sete r8b + WORD $0x2041; BYTE $0xc0 // and r8b, al LONG $0x60432e0f // ucomiss xmm0, dword [rbx + 96] - LONG $0x2454940f; BYTE $0x20 // sete byte [rsp + 32] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0xb0248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 176], cl LONG $0x64432e0f // ucomiss xmm0, dword [rbx + 100] - LONG $0x2454940f; BYTE $0x38 // sete byte [rsp + 56] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd3940f41 // sete r11b + WORD $0x2041; BYTE $0xc3 // and r11b, al LONG $0x68432e0f // ucomiss xmm0, dword [rbx + 104] - LONG $0x2454940f; BYTE $0x10 // sete byte [rsp + 16] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd2940f41 // sete r10b + WORD $0x2041; BYTE $0xc2 // and r10b, al LONG $0x6c432e0f // ucomiss xmm0, dword [rbx + 108] - LONG $0x2454940f; BYTE $0x30 // sete byte [rsp + 48] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd1940f41 // sete r9b + WORD $0x2041; BYTE $0xc1 // and r9b, al LONG $0x70432e0f // ucomiss xmm0, dword [rbx + 112] - LONG $0x2454940f; BYTE $0x18 // sete byte [rsp + 24] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd7940f41 // sete r15b + WORD $0x2041; BYTE $0xc7 // and r15b, al LONG $0x74432e0f // ucomiss xmm0, dword [rbx + 116] - LONG $0x2454940f; BYTE $0x28 // sete byte [rsp + 40] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0xa0248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 160], cl LONG $0x78432e0f // ucomiss xmm0, dword [rbx + 120] - QUAD $0x000000882494940f // sete byte [rsp + 136] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd7940f40 // sete dil + WORD $0x2040; BYTE $0xc7 // and dil, al LONG $0x7c432e0f // ucomiss xmm0, dword [rbx + 124] - WORD $0x940f; BYTE $0xd1 // sete cl - WORD $0x0045; BYTE $0xc0 // add r8b, r8b - QUAD $0x000000d024840244 // add r8b, byte [rsp + 208] - WORD $0xe0c0; BYTE $0x06 // shl al, 6 - LONG $0x07e3c041 // shl r11b, 7 - WORD $0x0841; BYTE $0xc3 // or r11b, al - LONG $0x02e6c041 // shl r14b, 2 - WORD $0x0845; BYTE $0xc6 // or r14b, r8b + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd6940f40 // sete sil + WORD $0x2040; BYTE $0xc6 // and sil, al WORD $0xd200 // add dl, dl - LONG $0xb0249402; WORD $0x0000; BYTE $0x00 // add dl, byte [rsp + 176] - LONG $0x03e5c041 // shl r13b, 3 - WORD $0x0845; BYTE $0xf5 // or r13b, r14b - LONG $0x02e6c040 // shl sil, 2 - WORD $0x0840; BYTE $0xd6 // or sil, dl - LONG $0x2454b60f; BYTE $0x58 // movzx edx, byte [rsp + 88] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 WORD $0x0844; BYTE $0xea // or dl, r13b - WORD $0x8941; BYTE $0xd0 // mov r8d, edx - LONG $0x03e7c040 // shl dil, 3 - WORD $0x0840; BYTE $0xf7 // or dil, sil - LONG $0x2454b60f; BYTE $0x48 // movzx edx, byte [rsp + 72] + WORD $0x8941; BYTE $0xd5 // mov r13d, edx + LONG $0x2454b60f; BYTE $0x30 // movzx edx, byte [rsp + 48] WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0844; BYTE $0xc2 // or dl, r8b - LONG $0x04e2c041 // shl r10b, 4 - WORD $0x0841; BYTE $0xfa // or r10b, dil - LONG $0x05e4c041 // shl r12b, 5 - WORD $0x0845; BYTE $0xd4 // or r12b, r10b - QUAD $0x0000008024b4b60f // movzx esi, byte [rsp + 128] - LONG $0x06e6c040 // shl sil, 6 - LONG $0x07e1c041 // shl r9b, 7 - WORD $0x0841; BYTE $0xf1 // or r9b, sil - WORD $0x0841; BYTE $0xd3 // or r11b, dl - WORD $0x0845; BYTE $0xe1 // or r9b, r12b - QUAD $0x000000a02484b60f // movzx eax, byte [rsp + 160] - WORD $0xc000 // add al, al - LONG $0x68244402 // add al, byte [rsp + 104] - LONG $0x2454b60f; BYTE $0x70 // movzx edx, byte [rsp + 112] - WORD $0xe2c0; BYTE $0x02 // shl dl, 2 - WORD $0xc208 // or dl, al - WORD $0xd689 // mov esi, edx - LONG $0x2454b60f; BYTE $0x60 // movzx edx, byte [rsp + 96] - WORD $0xe2c0; BYTE $0x03 // shl dl, 3 - WORD $0x0840; BYTE $0xf2 // or dl, sil - WORD $0xd689 // mov esi, edx - LONG $0x2454b60f; BYTE $0x78 // movzx edx, byte [rsp + 120] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0x0840; BYTE $0xf2 // or dl, sil - WORD $0xd689 // mov esi, edx - LONG $0x2454b60f; BYTE $0x50 // movzx edx, byte [rsp + 80] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xf2 // or dl, sil - LONG $0x24748b48; BYTE $0x08 // mov rsi, qword [rsp + 8] - WORD $0x8844; BYTE $0x1e // mov byte [rsi], r11b - LONG $0x247cb60f; BYTE $0x40 // movzx edi, byte [rsp + 64] - LONG $0x06e7c040 // shl dil, 6 - LONG $0x07e7c041 // shl r15b, 7 - WORD $0x0841; BYTE $0xff // or r15b, dil - LONG $0x014e8844 // mov byte [rsi + 1], r9b - WORD $0x0841; BYTE $0xd7 // or r15b, dl - LONG $0x2444b60f; BYTE $0x38 // movzx eax, byte [rsp + 56] - WORD $0xc000 // add al, al - LONG $0x20244402 // add al, byte [rsp + 32] + LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] + WORD $0xe0c0; BYTE $0x06 // shl al, 6 + WORD $0xd008 // or al, dl WORD $0xc289 // mov edx, eax LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0x0844; BYTE $0xe8 // or al, r13b + WORD $0x8941; BYTE $0xc5 // mov r13d, eax + LONG $0x244cb60f; BYTE $0x38 // movzx ecx, byte [rsp + 56] + WORD $0xc900 // add cl, cl + LONG $0x18244c02 // add cl, byte [rsp + 24] + LONG $0x2444b60f; BYTE $0x04 // movzx eax, byte [rsp + 4] + WORD $0xe0c0; BYTE $0x07 // shl al, 7 WORD $0xd008 // or al, dl - WORD $0xc289 // mov edx, eax - LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] + LONG $0x04244488 // mov byte [rsp + 4], al + LONG $0x2444b60f; BYTE $0x40 // movzx eax, byte [rsp + 64] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0xd008 // or al, dl - WORD $0xc289 // mov edx, eax - LONG $0x2444b60f; BYTE $0x18 // movzx eax, byte [rsp + 24] + WORD $0x0844; BYTE $0xe8 // or al, r13b + WORD $0x8941; BYTE $0xc5 // mov r13d, eax + LONG $0x2444b60f; BYTE $0x48 // movzx eax, byte [rsp + 72] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0xd008 // or al, dl - WORD $0xc289 // mov edx, eax - LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] + WORD $0x0844; BYTE $0xe8 // or al, r13b + LONG $0x2454b60f; BYTE $0x58 // movzx edx, byte [rsp + 88] + WORD $0xe2c0; BYTE $0x04 // shl dl, 4 + WORD $0xca08 // or dl, cl + LONG $0x6cb60f44; WORD $0x6824 // movzx r13d, byte [rsp + 104] + LONG $0x05e5c041 // shl r13b, 5 + QUAD $0x00000080248cb60f // movzx ecx, byte [rsp + 128] + WORD $0xe1c0; BYTE $0x06 // shl cl, 6 + WORD $0x0844; BYTE $0xe9 // or cl, r13b + LONG $0x6cb60f44; WORD $0x6024 // movzx r13d, byte [rsp + 96] + LONG $0x07e5c041 // shl r13b, 7 + WORD $0x0841; BYTE $0xcd // or r13b, cl + WORD $0x0045; BYTE $0xe4 // add r12b, r12b + LONG $0x24640244; BYTE $0x50 // add r12b, byte [rsp + 80] + WORD $0x8944; BYTE $0xe1 // mov ecx, r12d + LONG $0x64b60f44; WORD $0x7824 // movzx r12d, byte [rsp + 120] + LONG $0x02e4c041 // shl r12b, 2 + WORD $0x0841; BYTE $0xcc // or r12b, cl + LONG $0x244cb60f; BYTE $0x70 // movzx ecx, byte [rsp + 112] + WORD $0xe1c0; BYTE $0x03 // shl cl, 3 + WORD $0x0844; BYTE $0xe1 // or cl, r12b + WORD $0x8941; BYTE $0xcc // mov r12d, ecx + QUAD $0x000000c0248cb60f // movzx ecx, byte [rsp + 192] + WORD $0xe1c0; BYTE $0x04 // shl cl, 4 + WORD $0x0844; BYTE $0xe1 // or cl, r12b + LONG $0x64b60f44; WORD $0x0424 // movzx r12d, byte [rsp + 4] + WORD $0x0841; BYTE $0xc4 // or r12b, al + QUAD $0x000000d02484b60f // movzx eax, byte [rsp + 208] WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xd008 // or al, dl - QUAD $0x000000882494b60f // movzx edx, byte [rsp + 136] - WORD $0xe2c0; BYTE $0x06 // shl dl, 6 - WORD $0xe1c0; BYTE $0x07 // shl cl, 7 - WORD $0xd108 // or cl, dl - WORD $0xc108 // or cl, al - LONG $0x027e8844 // mov byte [rsi + 2], r15b - WORD $0x4e88; BYTE $0x03 // mov byte [rsi + 3], cl + LONG $0x06e6c041 // shl r14b, 6 + WORD $0x0841; BYTE $0xc6 // or r14b, al + WORD $0x0841; BYTE $0xd5 // or r13b, dl + LONG $0x07e0c041 // shl r8b, 7 + WORD $0x0845; BYTE $0xf0 // or r8b, r14b + WORD $0x0841; BYTE $0xc8 // or r8b, cl + WORD $0x0045; BYTE $0xdb // add r11b, r11b + QUAD $0x000000b0249c0244 // add r11b, byte [rsp + 176] + LONG $0x02e2c041 // shl r10b, 2 + WORD $0x0845; BYTE $0xda // or r10b, r11b + LONG $0x03e1c041 // shl r9b, 3 + WORD $0x0845; BYTE $0xd1 // or r9b, r10b + LONG $0x04e7c041 // shl r15b, 4 + WORD $0x0845; BYTE $0xcf // or r15b, r9b + QUAD $0x0000008824848b48 // mov rax, qword [rsp + 136] + WORD $0x8844; BYTE $0x20 // mov byte [rax], r12b + QUAD $0x000000a0248cb60f // movzx ecx, byte [rsp + 160] + WORD $0xe1c0; BYTE $0x05 // shl cl, 5 + LONG $0x06e7c040 // shl dil, 6 + WORD $0x0840; BYTE $0xcf // or dil, cl + LONG $0x01688844 // mov byte [rax + 1], r13b + LONG $0x07e6c040 // shl sil, 7 + WORD $0x0840; BYTE $0xfe // or sil, dil + WORD $0x0844; BYTE $0xfe // or sil, r15b + LONG $0x02408844 // mov byte [rax + 2], r8b + LONG $0x03708840 // mov byte [rax + 3], sil LONG $0x80c38148; WORD $0x0000; BYTE $0x00 // add rbx, 128 - LONG $0x04c68348 // add rsi, 4 - LONG $0x24748948; BYTE $0x08 // mov qword [rsp + 8], rsi - QUAD $0x000000e024848348; BYTE $0xff // add qword [rsp + 224], -1 - JNE LBB1_188 - LONG $0x247c8b4c; BYTE $0x08 // mov r15, qword [rsp + 8] + LONG $0x04c08348 // add rax, 4 + QUAD $0x0000008824848948 // mov qword [rsp + 136], rax + QUAD $0x0000009824848348; BYTE $0xff // add qword [rsp + 152], -1 + JNE LBB1_186 + QUAD $0x0000008824bc8b4c // mov r15, qword [rsp + 136] QUAD $0x0000009024948b4c // mov r10, qword [rsp + 144] - QUAD $0x000000c0249c8b4c // mov r11, qword [rsp + 192] - JMP LBB1_190 + QUAD $0x000000f0249c8b4c // mov r11, qword [rsp + 240] + JMP LBB1_188 LBB1_9: - LONG $0x2474894c; BYTE $0x78 // mov qword [rsp + 120], r14 + LONG $0x2474894c; BYTE $0x58 // mov qword [rsp + 88], r14 -LBB1_92: +LBB1_93: LONG $0x05e7c149 // shl r15, 5 WORD $0x394d; BYTE $0xd7 // cmp r15, r10 - JGE LBB1_202 + JGE LBB1_199 WORD $0x894d; BYTE $0xd0 // mov r8, r10 WORD $0x294d; BYTE $0xf8 // sub r8, r15 WORD $0xf749; BYTE $0xd7 // not r15 WORD $0x014d; BYTE $0xd7 // add r15, r10 - JNE LBB1_95 + JNE LBB1_96 WORD $0x3145; BYTE $0xc9 // xor r9d, r9d - JMP LBB1_98 + JMP LBB1_99 -LBB1_61: - LONG $0x2474894c; BYTE $0x50 // mov qword [rsp + 80], r14 +LBB1_62: + LONG $0x2474894c; BYTE $0x38 // mov qword [rsp + 56], r14 -LBB1_72: +LBB1_73: LONG $0x05e7c149 // shl r15, 5 WORD $0x394d; BYTE $0xd7 // cmp r15, r10 - JGE LBB1_202 + JGE LBB1_199 WORD $0x894d; BYTE $0xd0 // mov r8, r10 WORD $0x294d; BYTE $0xf8 // sub r8, r15 WORD $0xf749; BYTE $0xd7 // not r15 WORD $0x014d; BYTE $0xd7 // add r15, r10 - JNE LBB1_75 + JNE LBB1_76 WORD $0x3145; BYTE $0xc9 // xor r9d, r9d - JMP LBB1_78 + JMP LBB1_79 -LBB1_105: +LBB1_106: LONG $0x2474894c; BYTE $0x08 // mov qword [rsp + 8], r14 -LBB1_116: - LONG $0x05e3c149 // shl r11, 5 - WORD $0x394d; BYTE $0xd3 // cmp r11, r10 - JGE LBB1_202 - WORD $0x894d; BYTE $0xd0 // mov r8, r10 - WORD $0x294d; BYTE $0xd8 // sub r8, r11 - WORD $0xf749; BYTE $0xd3 // not r11 - WORD $0x014d; BYTE $0xd3 // add r11, r10 - JNE LBB1_121 - WORD $0x3145; BYTE $0xf6 // xor r14d, r14d - JMP LBB1_119 +LBB1_117: + LONG $0x05e7c149 // shl r15, 5 + WORD $0x394d; BYTE $0xd7 // cmp r15, r10 + JGE LBB1_199 + WORD $0x894d; BYTE $0xd0 // mov r8, r10 + WORD $0x294d; BYTE $0xf8 // sub r8, r15 + WORD $0xf749; BYTE $0xd7 // not r15 + WORD $0x014d; BYTE $0xd7 // add r15, r10 + JE LBB1_119 + WORD $0x894d; BYTE $0xc1 // mov r9, r8 + LONG $0xfee18349 // and r9, -2 + WORD $0x3145; BYTE $0xff // xor r15d, r15d + LONG $0x24748b4c; BYTE $0x08 // mov r14, qword [rsp + 8] -LBB1_128: - WORD $0x894d; BYTE $0xf4 // mov r12, r14 +LBB1_123: + WORD $0x8948; BYTE $0xf0 // mov rax, rsi + LONG $0x1e394466 // cmp word [rsi], r11w + WORD $0x940f; BYTE $0xd2 // sete dl + WORD $0xdaf6 // neg dl + WORD $0x894c; BYTE $0xff // mov rdi, r15 + LONG $0x03efc148 // shr rdi, 3 + LONG $0x14b60f45; BYTE $0x3e // movzx r10d, byte [r14 + rdi] + WORD $0x8944; BYTE $0xf9 // mov ecx, r15d + WORD $0xe180; BYTE $0x06 // and cl, 6 + WORD $0x01b3 // mov bl, 1 + WORD $0xe3d2 // shl bl, cl + WORD $0x3044; BYTE $0xd2 // xor dl, r10b + WORD $0xd320 // and bl, dl + WORD $0x3044; BYTE $0xd3 // xor bl, r10b + LONG $0x3e1c8841 // mov byte [r14 + rdi], bl + LONG $0x02c78349 // add r15, 2 + LONG $0x5e394466; BYTE $0x02 // cmp word [rsi + 2], r11w + LONG $0x04768d48 // lea rsi, [rsi + 4] + WORD $0x940f; BYTE $0xd2 // sete dl + WORD $0xdaf6 // neg dl + WORD $0xda30 // xor dl, bl + WORD $0xc980; BYTE $0x01 // or cl, 1 + WORD $0x01b0 // mov al, 1 + WORD $0xe0d2 // shl al, cl + WORD $0xd020 // and al, dl + WORD $0xd830 // xor al, bl + LONG $0x3e048841 // mov byte [r14 + rdi], al + WORD $0x394d; BYTE $0xf9 // cmp r9, r15 + JNE LBB1_123 + JMP LBB1_120 + +LBB1_129: + LONG $0x2474894c; BYTE $0x08 // mov qword [rsp + 8], r14 -LBB1_139: +LBB1_140: LONG $0x05e7c149 // shl r15, 5 WORD $0x394d; BYTE $0xd7 // cmp r15, r10 - JGE LBB1_202 + JGE LBB1_199 WORD $0x894d; BYTE $0xd0 // mov r8, r10 WORD $0x294d; BYTE $0xf8 // sub r8, r15 WORD $0xf749; BYTE $0xd7 // not r15 WORD $0x014d; BYTE $0xd7 // add r15, r10 - JNE LBB1_144 - WORD $0x3145; BYTE $0xf6 // xor r14d, r14d - JMP LBB1_142 + JNE LBB1_142 -LBB1_179: +LBB1_119: + WORD $0x3145; BYTE $0xff // xor r15d, r15d + JMP LBB1_120 + +LBB1_177: WORD $0x894d; BYTE $0xf7 // mov r15, r14 WORD $0x8948; BYTE $0xf3 // mov rbx, rsi -LBB1_190: +LBB1_188: LONG $0x05e3c149 // shl r11, 5 WORD $0x394d; BYTE $0xd3 // cmp r11, r10 - JGE LBB1_202 + JGE LBB1_199 WORD $0x894d; BYTE $0xd0 // mov r8, r10 WORD $0x294d; BYTE $0xd8 // sub r8, r11 WORD $0xf749; BYTE $0xd3 // not r11 WORD $0x014d; BYTE $0xd3 // add r11, r10 - JNE LBB1_195 + JNE LBB1_193 WORD $0xf631 // xor esi, esi - JMP LBB1_193 + JMP LBB1_191 -LBB1_158: +LBB1_156: WORD $0x894d; BYTE $0xc2 // mov r10, r8 LONG $0xfee28349 // and r10, -2 WORD $0x3145; BYTE $0xdb // xor r11d, r11d -LBB1_159: +LBB1_157: WORD $0x3944; BYTE $0x2e // cmp dword [rsi], r13d WORD $0x940f; BYTE $0xd0 // sete al WORD $0xd8f6 // neg al WORD $0x894c; BYTE $0xdf // mov rdi, r11 LONG $0x03efc148 // shr rdi, 3 + WORD $0x894d; BYTE $0xf7 // mov r15, r14 LONG $0x0cb60f45; BYTE $0x3e // movzx r9d, byte [r14 + rdi] WORD $0x8944; BYTE $0xd9 // mov ecx, r11d WORD $0xe180; BYTE $0x06 // and cl, 6 @@ -5233,21 +5720,21 @@ LBB1_159: WORD $0xda30 // xor dl, bl LONG $0x3e148841 // mov byte [r14 + rdi], dl WORD $0x394d; BYTE $0xda // cmp r10, r11 - JNE LBB1_159 + JNE LBB1_157 LBB1_24: LONG $0x01c0f641 // test r8b, 1 - JE LBB1_202 + JE LBB1_199 WORD $0x3944; BYTE $0x2e // cmp dword [rsi], r13d - JMP LBB1_201 + JMP LBB1_26 -LBB1_95: +LBB1_96: WORD $0x894d; BYTE $0xc2 // mov r10, r8 LONG $0xfee28349 // and r10, -2 WORD $0x3145; BYTE $0xc9 // xor r9d, r9d - LONG $0x24748b4c; BYTE $0x78 // mov r14, qword [rsp + 120] + LONG $0x24748b4c; BYTE $0x58 // mov r14, qword [rsp + 88] -LBB1_96: +LBB1_97: WORD $0x894c; BYTE $0xc8 // mov rax, r9 LONG $0x0e1c3846 // cmp byte [rsi + r9], r11b WORD $0x940f; BYTE $0xd3 // sete bl @@ -5275,27 +5762,27 @@ LBB1_96: WORD $0xd030 // xor al, dl LONG $0x3e048841 // mov byte [r14 + rdi], al WORD $0x394d; BYTE $0xca // cmp r10, r9 - JNE LBB1_96 + JNE LBB1_97 WORD $0x014c; BYTE $0xce // add rsi, r9 -LBB1_98: +LBB1_99: LONG $0x01c0f641 // test r8b, 1 - JE LBB1_202 + JE LBB1_199 WORD $0x3844; BYTE $0x1e // cmp byte [rsi], r11b WORD $0x940f; BYTE $0xd0 // sete al WORD $0xd8f6 // neg al WORD $0x894c; BYTE $0xca // mov rdx, r9 LONG $0x03eac148 // shr rdx, 3 - LONG $0x24448b4c; BYTE $0x78 // mov r8, qword [rsp + 120] - JMP LBB1_80 + LONG $0x24448b4c; BYTE $0x58 // mov r8, qword [rsp + 88] + JMP LBB1_81 -LBB1_75: +LBB1_76: WORD $0x894d; BYTE $0xc2 // mov r10, r8 LONG $0xfee28349 // and r10, -2 WORD $0x3145; BYTE $0xc9 // xor r9d, r9d - LONG $0x24748b4c; BYTE $0x50 // mov r14, qword [rsp + 80] + LONG $0x24748b4c; BYTE $0x38 // mov r14, qword [rsp + 56] -LBB1_76: +LBB1_77: WORD $0x894c; BYTE $0xc8 // mov rax, r9 LONG $0x0e1c3846 // cmp byte [rsi + r9], r11b WORD $0x940f; BYTE $0xd3 // sete bl @@ -5323,50 +5810,55 @@ LBB1_76: WORD $0xd030 // xor al, dl LONG $0x3e048841 // mov byte [r14 + rdi], al WORD $0x394d; BYTE $0xca // cmp r10, r9 - JNE LBB1_76 + JNE LBB1_77 WORD $0x014c; BYTE $0xce // add rsi, r9 -LBB1_78: +LBB1_79: LONG $0x01c0f641 // test r8b, 1 - JE LBB1_202 + JE LBB1_199 WORD $0x3844; BYTE $0x1e // cmp byte [rsi], r11b WORD $0x940f; BYTE $0xd0 // sete al WORD $0xd8f6 // neg al WORD $0x894c; BYTE $0xca // mov rdx, r9 LONG $0x03eac148 // shr rdx, 3 - LONG $0x24448b4c; BYTE $0x50 // mov r8, qword [rsp + 80] + LONG $0x24448b4c; BYTE $0x38 // mov r8, qword [rsp + 56] -LBB1_80: +LBB1_81: LONG $0x103c8a41 // mov dil, byte [r8 + rdx] LONG $0x07e18041 // and r9b, 7 WORD $0x01b3 // mov bl, 1 WORD $0x8944; BYTE $0xc9 // mov ecx, r9d - JMP LBB1_81 + JMP LBB1_82 -LBB1_197: - WORD $0x894d; BYTE $0xc2 // mov r10, r8 - LONG $0xfee28349 // and r10, -2 +LBB1_195: + WORD $0x894d; BYTE $0xc1 // mov r9, r8 + LONG $0xfee18349 // and r9, -2 WORD $0x3145; BYTE $0xdb // xor r11d, r11d -LBB1_198: +LBB1_196: LONG $0x062e0f66 // ucomisd xmm0, qword [rsi] + WORD $0x9b0f; BYTE $0xd1 // setnp cl WORD $0x940f; BYTE $0xd0 // sete al + WORD $0xc820 // and al, cl WORD $0xd8f6 // neg al WORD $0x894c; BYTE $0xdf // mov rdi, r11 LONG $0x03efc148 // shr rdi, 3 - LONG $0x0cb60f45; BYTE $0x3e // movzx r9d, byte [r14 + rdi] - WORD $0x3044; BYTE $0xc8 // xor al, r9b + WORD $0x894d; BYTE $0xf7 // mov r15, r14 + LONG $0x14b60f45; BYTE $0x3e // movzx r10d, byte [r14 + rdi] WORD $0x8944; BYTE $0xd9 // mov ecx, r11d WORD $0xe180; BYTE $0x06 // and cl, 6 WORD $0x01b3 // mov bl, 1 WORD $0xe3d2 // shl bl, cl + WORD $0x3044; BYTE $0xd0 // xor al, r10b WORD $0xc320 // and bl, al - WORD $0x3044; BYTE $0xcb // xor bl, r9b + WORD $0x3044; BYTE $0xd3 // xor bl, r10b LONG $0x3e1c8841 // mov byte [r14 + rdi], bl LONG $0x02c38349 // add r11, 2 LONG $0x462e0f66; BYTE $0x08 // ucomisd xmm0, qword [rsi + 8] LONG $0x10768d48 // lea rsi, [rsi + 16] + LONG $0xd29b0f41 // setnp r10b WORD $0x940f; BYTE $0xd0 // sete al + WORD $0x2044; BYTE $0xd0 // and al, r10b WORD $0xd8f6 // neg al WORD $0xd830 // xor al, bl WORD $0xc980; BYTE $0x01 // or cl, 1 @@ -5375,26 +5867,42 @@ LBB1_198: WORD $0xc220 // and dl, al WORD $0xda30 // xor dl, bl LONG $0x3e148841 // mov byte [r14 + rdi], dl - WORD $0x394d; BYTE $0xda // cmp r10, r11 - JNE LBB1_198 + WORD $0x394d; BYTE $0xd9 // cmp r9, r11 + JNE LBB1_196 -LBB1_199: - LONG $0x01c0f641 // test r8b, 1 - JE LBB1_202 - LONG $0x062e0f66 // ucomisd xmm0, qword [rsi] - JMP LBB1_201 +LBB1_197: + LONG $0x01c0f641 // test r8b, 1 + JE LBB1_199 + LONG $0x062e0f66 // ucomisd xmm0, qword [rsi] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd2 // sete dl + WORD $0xc220 // and dl, al + WORD $0xdaf6 // neg dl + WORD $0x894c; BYTE $0xd8 // mov rax, r11 + LONG $0x03e8c148 // shr rax, 3 + LONG $0x06348a41 // mov sil, byte [r14 + rax] + LONG $0x07e38041 // and r11b, 7 + WORD $0x01b3 // mov bl, 1 + WORD $0x8944; BYTE $0xd9 // mov ecx, r11d + WORD $0xe3d2 // shl bl, cl + WORD $0x3040; BYTE $0xf2 // xor dl, sil + WORD $0xd320 // and bl, dl + WORD $0x3040; BYTE $0xf3 // xor bl, sil + LONG $0x061c8841 // mov byte [r14 + rax], bl + JMP LBB1_199 -LBB1_172: +LBB1_170: WORD $0x894d; BYTE $0xc2 // mov r10, r8 LONG $0xfee28349 // and r10, -2 WORD $0x3145; BYTE $0xdb // xor r11d, r11d -LBB1_173: +LBB1_171: WORD $0x394c; BYTE $0x2e // cmp qword [rsi], r13 WORD $0x940f; BYTE $0xd0 // sete al WORD $0xd8f6 // neg al WORD $0x894c; BYTE $0xdf // mov rdi, r11 LONG $0x03efc148 // shr rdi, 3 + WORD $0x894d; BYTE $0xf7 // mov r15, r14 LONG $0x0cb60f45; BYTE $0x3e // movzx r9d, byte [r14 + rdi] WORD $0x8944; BYTE $0xd9 // mov ecx, r11d WORD $0xe180; BYTE $0x06 // and cl, 6 @@ -5417,14 +5925,14 @@ LBB1_173: WORD $0xda30 // xor dl, bl LONG $0x3e148841 // mov byte [r14 + rdi], dl WORD $0x394d; BYTE $0xda // cmp r10, r11 - JNE LBB1_173 + JNE LBB1_171 -LBB1_40: +LBB1_41: LONG $0x01c0f641 // test r8b, 1 - JE LBB1_202 + JE LBB1_199 WORD $0x394c; BYTE $0x2e // cmp qword [rsi], r13 -LBB1_201: +LBB1_26: WORD $0x940f; BYTE $0xd0 // sete al WORD $0xd8f6 // neg al WORD $0x894c; BYTE $0xda // mov rdx, r11 @@ -5438,32 +5946,32 @@ LBB1_201: WORD $0xc320 // and bl, al WORD $0x3040; BYTE $0xf3 // xor bl, sil LONG $0x161c8841 // mov byte [r14 + rdx], bl - JMP LBB1_202 + JMP LBB1_199 -LBB1_121: +LBB1_142: WORD $0x894d; BYTE $0xc1 // mov r9, r8 LONG $0xfee18349 // and r9, -2 - WORD $0x3145; BYTE $0xf6 // xor r14d, r14d - LONG $0x245c8b4c; BYTE $0x08 // mov r11, qword [rsp + 8] + WORD $0x3145; BYTE $0xff // xor r15d, r15d + LONG $0x24748b4c; BYTE $0x08 // mov r14, qword [rsp + 8] -LBB1_122: +LBB1_143: WORD $0x8948; BYTE $0xf0 // mov rax, rsi - LONG $0x2e394466 // cmp word [rsi], r13w + LONG $0x1e394466 // cmp word [rsi], r11w WORD $0x940f; BYTE $0xd2 // sete dl WORD $0xdaf6 // neg dl - WORD $0x894c; BYTE $0xf7 // mov rdi, r14 + WORD $0x894c; BYTE $0xff // mov rdi, r15 LONG $0x03efc148 // shr rdi, 3 - LONG $0x14b60f45; BYTE $0x3b // movzx r10d, byte [r11 + rdi] - WORD $0x8944; BYTE $0xf1 // mov ecx, r14d + LONG $0x14b60f45; BYTE $0x3e // movzx r10d, byte [r14 + rdi] + WORD $0x8944; BYTE $0xf9 // mov ecx, r15d WORD $0xe180; BYTE $0x06 // and cl, 6 WORD $0x01b3 // mov bl, 1 WORD $0xe3d2 // shl bl, cl WORD $0x3044; BYTE $0xd2 // xor dl, r10b WORD $0xd320 // and bl, dl WORD $0x3044; BYTE $0xd3 // xor bl, r10b - LONG $0x3b1c8841 // mov byte [r11 + rdi], bl - LONG $0x02c68349 // add r14, 2 - LONG $0x6e394466; BYTE $0x02 // cmp word [rsi + 2], r13w + LONG $0x3e1c8841 // mov byte [r14 + rdi], bl + LONG $0x02c78349 // add r15, 2 + LONG $0x5e394466; BYTE $0x02 // cmp word [rsi + 2], r11w LONG $0x04768d48 // lea rsi, [rsi + 4] WORD $0x940f; BYTE $0xd2 // sete dl WORD $0xdaf6 // neg dl @@ -5473,178 +5981,128 @@ LBB1_122: WORD $0xe0d2 // shl al, cl WORD $0xd020 // and al, dl WORD $0xd830 // xor al, bl - LONG $0x3b048841 // mov byte [r11 + rdi], al - WORD $0x394d; BYTE $0xf1 // cmp r9, r14 - JNE LBB1_122 + LONG $0x3e048841 // mov byte [r14 + rdi], al + WORD $0x394d; BYTE $0xf9 // cmp r9, r15 + JNE LBB1_143 -LBB1_119: +LBB1_120: LONG $0x01c0f641 // test r8b, 1 - JE LBB1_202 - LONG $0x2e394466 // cmp word [rsi], r13w + JE LBB1_199 + LONG $0x1e394466 // cmp word [rsi], r11w WORD $0x940f; BYTE $0xd0 // sete al WORD $0xd8f6 // neg al - WORD $0x894c; BYTE $0xf2 // mov rdx, r14 + WORD $0x894c; BYTE $0xfa // mov rdx, r15 LONG $0x03eac148 // shr rdx, 3 LONG $0x24448b4c; BYTE $0x08 // mov r8, qword [rsp + 8] LONG $0x103c8a41 // mov dil, byte [r8 + rdx] - LONG $0x07e68041 // and r14b, 7 + LONG $0x07e78041 // and r15b, 7 WORD $0x01b3 // mov bl, 1 - WORD $0x8944; BYTE $0xf1 // mov ecx, r14d + WORD $0x8944; BYTE $0xf9 // mov ecx, r15d -LBB1_81: +LBB1_82: WORD $0xe3d2 // shl bl, cl WORD $0x3040; BYTE $0xf8 // xor al, dil WORD $0xc320 // and bl, al WORD $0x3040; BYTE $0xfb // xor bl, dil LONG $0x101c8841 // mov byte [r8 + rdx], bl - JMP LBB1_202 -LBB1_144: +LBB1_199: + MOVQ 304(SP), SP + RET + +LBB1_193: WORD $0x894d; BYTE $0xc1 // mov r9, r8 LONG $0xfee18349 // and r9, -2 - WORD $0x3145; BYTE $0xf6 // xor r14d, r14d - -LBB1_145: - WORD $0x8948; BYTE $0xf0 // mov rax, rsi - LONG $0x2e394466 // cmp word [rsi], r13w - WORD $0x940f; BYTE $0xd2 // sete dl - WORD $0xdaf6 // neg dl - WORD $0x894c; BYTE $0xf7 // mov rdi, r14 - LONG $0x03efc148 // shr rdi, 3 - LONG $0x14b60f45; BYTE $0x3c // movzx r10d, byte [r12 + rdi] - WORD $0x8944; BYTE $0xf1 // mov ecx, r14d - WORD $0xe180; BYTE $0x06 // and cl, 6 - WORD $0x01b3 // mov bl, 1 - WORD $0xe3d2 // shl bl, cl - WORD $0x3044; BYTE $0xd2 // xor dl, r10b - WORD $0xd320 // and bl, dl - WORD $0x3044; BYTE $0xd3 // xor bl, r10b - LONG $0x3c1c8841 // mov byte [r12 + rdi], bl - LONG $0x02c68349 // add r14, 2 - LONG $0x6e394466; BYTE $0x02 // cmp word [rsi + 2], r13w - LONG $0x04768d48 // lea rsi, [rsi + 4] - WORD $0x940f; BYTE $0xd2 // sete dl - WORD $0xdaf6 // neg dl - WORD $0xda30 // xor dl, bl - WORD $0xc980; BYTE $0x01 // or cl, 1 - WORD $0x01b0 // mov al, 1 - WORD $0xe0d2 // shl al, cl - WORD $0xd020 // and al, dl - WORD $0xd830 // xor al, bl - LONG $0x3c048841 // mov byte [r12 + rdi], al - WORD $0x394d; BYTE $0xf1 // cmp r9, r14 - JNE LBB1_145 - -LBB1_142: - LONG $0x01c0f641 // test r8b, 1 - JE LBB1_202 - LONG $0x2e394466 // cmp word [rsi], r13w - WORD $0x940f; BYTE $0xd0 // sete al - WORD $0xd8f6 // neg al - WORD $0x894c; BYTE $0xf2 // mov rdx, r14 - LONG $0x03eac148 // shr rdx, 3 - LONG $0x143c8a41 // mov dil, byte [r12 + rdx] - LONG $0x07e68041 // and r14b, 7 - WORD $0x01b3 // mov bl, 1 - WORD $0x8944; BYTE $0xf1 // mov ecx, r14d - WORD $0xe3d2 // shl bl, cl - WORD $0x3040; BYTE $0xf8 // xor al, dil - WORD $0xc320 // and bl, al - WORD $0x3040; BYTE $0xfb // xor bl, dil - LONG $0x141c8841 // mov byte [r12 + rdx], bl - JMP LBB1_202 - -LBB1_195: - WORD $0x894d; BYTE $0xc2 // mov r10, r8 - LONG $0xfee28349 // and r10, -2 WORD $0xf631 // xor esi, esi - WORD $0x894d; BYTE $0xfb // mov r11, r15 -LBB1_196: +LBB1_194: WORD $0x2e0f; BYTE $0x03 // ucomiss xmm0, dword [rbx] + WORD $0x9b0f; BYTE $0xd1 // setnp cl WORD $0x940f; BYTE $0xd2 // sete dl + WORD $0xca20 // and dl, cl WORD $0xdaf6 // neg dl WORD $0x8948; BYTE $0xf7 // mov rdi, rsi LONG $0x03efc148 // shr rdi, 3 - LONG $0x0cb60f45; BYTE $0x3b // movzx r9d, byte [r11 + rdi] - WORD $0x3044; BYTE $0xca // xor dl, r9b + LONG $0x14b60f45; BYTE $0x3f // movzx r10d, byte [r15 + rdi] WORD $0xf189 // mov ecx, esi WORD $0xe180; BYTE $0x06 // and cl, 6 - WORD $0x01b0 // mov al, 1 - WORD $0xe0d2 // shl al, cl - WORD $0xd020 // and al, dl - WORD $0x3044; BYTE $0xc8 // xor al, r9b - LONG $0x3b048841 // mov byte [r11 + rdi], al + WORD $0xb341; BYTE $0x01 // mov r11b, 1 + WORD $0xd241; BYTE $0xe3 // shl r11b, cl + WORD $0x3044; BYTE $0xd2 // xor dl, r10b + WORD $0x2041; BYTE $0xd3 // and r11b, dl + WORD $0x3045; BYTE $0xd3 // xor r11b, r10b + LONG $0x3f1c8845 // mov byte [r15 + rdi], r11b LONG $0x02c68348 // add rsi, 2 LONG $0x04432e0f // ucomiss xmm0, dword [rbx + 4] LONG $0x085b8d48 // lea rbx, [rbx + 8] - LONG $0xd1940f41 // sete r9b - WORD $0xf641; BYTE $0xd9 // neg r9b - WORD $0x3041; BYTE $0xc1 // xor r9b, al + LONG $0xd29b0f41 // setnp r10b + WORD $0x940f; BYTE $0xd2 // sete dl + WORD $0x2044; BYTE $0xd2 // and dl, r10b + WORD $0x894d; BYTE $0xfa // mov r10, r15 + WORD $0xdaf6 // neg dl + WORD $0x3044; BYTE $0xda // xor dl, r11b WORD $0xc980; BYTE $0x01 // or cl, 1 - WORD $0x01b2 // mov dl, 1 - WORD $0xe2d2 // shl dl, cl - WORD $0x2044; BYTE $0xca // and dl, r9b - WORD $0xc230 // xor dl, al - LONG $0x3b148841 // mov byte [r11 + rdi], dl - WORD $0x3949; BYTE $0xf2 // cmp r10, rsi - JNE LBB1_196 + WORD $0x01b0 // mov al, 1 + WORD $0xe0d2 // shl al, cl + WORD $0xd020 // and al, dl + WORD $0x3044; BYTE $0xd8 // xor al, r11b + LONG $0x3f048841 // mov byte [r15 + rdi], al + WORD $0x3949; BYTE $0xf1 // cmp r9, rsi + JNE LBB1_194 -LBB1_193: +LBB1_191: LONG $0x01c0f641 // test r8b, 1 - JE LBB1_202 + JE LBB1_199 WORD $0x2e0f; BYTE $0x03 // ucomiss xmm0, dword [rbx] - WORD $0x940f; BYTE $0xd0 // sete al - WORD $0xd8f6 // neg al - WORD $0x8948; BYTE $0xf2 // mov rdx, rsi - LONG $0x03eac148 // shr rdx, 3 - WORD $0x894d; BYTE $0xfe // mov r14, r15 - LONG $0x173c8a41 // mov dil, byte [r15 + rdx] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd2 // sete dl + WORD $0xc220 // and dl, al + WORD $0xdaf6 // neg dl + WORD $0x8948; BYTE $0xf0 // mov rax, rsi + LONG $0x03e8c148 // shr rax, 3 + LONG $0x073c8a41 // mov dil, byte [r15 + rax] LONG $0x07e68040 // and sil, 7 WORD $0x01b3 // mov bl, 1 WORD $0xf189 // mov ecx, esi WORD $0xe3d2 // shl bl, cl - WORD $0x3040; BYTE $0xf8 // xor al, dil - WORD $0xc320 // and bl, al + WORD $0x3040; BYTE $0xfa // xor dl, dil + WORD $0xd320 // and bl, dl WORD $0x3040; BYTE $0xfb // xor bl, dil - LONG $0x171c8841 // mov byte [r15 + rdx], bl - -LBB1_202: - MOVQ 320(SP), SP - RET + LONG $0x071c8841 // mov byte [r15 + rax], bl + JMP LBB1_199 -LBB1_86: +LBB1_87: LONG $0xf0e78349 // and r15, -16 WORD $0x894c; BYTE $0xf8 // mov rax, r15 LONG $0x05e0c148 // shl rax, 5 WORD $0x0148; BYTE $0xf0 // add rax, rsi QUAD $0x0000010824848948 // mov qword [rsp + 264], rax - QUAD $0x000000f824bc894c // mov qword [rsp + 248], r15 + QUAD $0x000000e824bc894c // mov qword [rsp + 232], r15 LONG $0xbe048d4b // lea rax, [r14 + 4*r15] - LONG $0x24448948; BYTE $0x78 // mov qword [rsp + 120], rax + LONG $0x24448948; BYTE $0x58 // mov qword [rsp + 88], rax LONG $0xc3b60f41 // movzx eax, r11b LONG $0xc86e0f66 // movd xmm1, eax LONG $0xc0ef0f66 // pxor xmm0, xmm0 LONG $0x00380f66; BYTE $0xc8 // pshufb xmm1, xmm0 - QUAD $0x0000d0248c7f0f66; BYTE $0x00 // movdqa oword [rsp + 208], xmm1 + QUAD $0x0000c0248c7f0f66; BYTE $0x00 // movdqa oword [rsp + 192], xmm1 WORD $0xc031 // xor eax, eax QUAD $0x0000008824b4894c // mov qword [rsp + 136], r14 -LBB1_87: +LBB1_88: WORD $0x8948; BYTE $0xc7 // mov rdi, rax QUAD $0x0000009824848948 // mov qword [rsp + 152], rax LONG $0x05e7c148 // shl rdi, 5 WORD $0x8949; BYTE $0xfb // mov r11, rdi - WORD $0x8949; BYTE $0xfe // mov r14, rdi - WORD $0x8948; BYTE $0xfb // mov rbx, rdi WORD $0x8949; BYTE $0xff // mov r15, rdi + WORD $0x8948; BYTE $0xfb // mov rbx, rdi + WORD $0x8949; BYTE $0xfc // mov r12, rdi WORD $0x8949; BYTE $0xfa // mov r10, rdi + WORD $0x8949; BYTE $0xfe // mov r14, rdi WORD $0x8949; BYTE $0xf8 // mov r8, rdi - WORD $0x8949; BYTE $0xfc // mov r12, rdi WORD $0x8949; BYTE $0xf9 // mov r9, rdi + WORD $0x8948; BYTE $0xf8 // mov rax, rdi WORD $0x8948; BYTE $0xfa // mov rdx, rdi - LONG $0x247c8948; BYTE $0x58 // mov qword [rsp + 88], rdi - LONG $0x247c8948; BYTE $0x38 // mov qword [rsp + 56], rdi + LONG $0x247c8948; BYTE $0x68 // mov qword [rsp + 104], rdi LONG $0x3e0cb60f // movzx ecx, byte [rsi + rdi] LONG $0x6e0f4466; BYTE $0xf9 // movd xmm15, ecx LONG $0x3e4cb60f; BYTE $0x01 // movzx ecx, byte [rsi + rdi + 1] @@ -5661,7 +6119,7 @@ LBB1_87: LONG $0xd96e0f66 // movd xmm3, ecx LONG $0x3e4cb60f; BYTE $0x07 // movzx ecx, byte [rsi + rdi + 7] LONG $0xc16e0f66 // movd xmm0, ecx - QUAD $0x0000e024847f0f66; BYTE $0x00 // movdqa oword [rsp + 224], xmm0 + QUAD $0x0000b024847f0f66; BYTE $0x00 // movdqa oword [rsp + 176], xmm0 LONG $0x3e4cb60f; BYTE $0x08 // movzx ecx, byte [rsi + rdi + 8] LONG $0xc16e0f66 // movd xmm0, ecx QUAD $0x00011024847f0f66; BYTE $0x00 // movdqa oword [rsp + 272], xmm0 @@ -5669,7 +6127,7 @@ LBB1_87: LONG $0x6e0f4466; BYTE $0xd1 // movd xmm10, ecx LONG $0x3e4cb60f; BYTE $0x0a // movzx ecx, byte [rsi + rdi + 10] LONG $0xc16e0f66 // movd xmm0, ecx - QUAD $0x0000c024847f0f66; BYTE $0x00 // movdqa oword [rsp + 192], xmm0 + QUAD $0x0000a024847f0f66; BYTE $0x00 // movdqa oword [rsp + 160], xmm0 LONG $0x3e4cb60f; BYTE $0x0b // movzx ecx, byte [rsi + rdi + 11] LONG $0x6e0f4466; BYTE $0xd9 // movd xmm11, ecx LONG $0x3e4cb60f; BYTE $0x0c // movzx ecx, byte [rsi + rdi + 12] @@ -5678,172 +6136,170 @@ LBB1_87: LONG $0x6e0f4466; BYTE $0xe1 // movd xmm12, ecx LONG $0x3e4cb60f; BYTE $0x0e // movzx ecx, byte [rsi + rdi + 14] LONG $0xc16e0f66 // movd xmm0, ecx - QUAD $0x00012024847f0f66; BYTE $0x00 // movdqa oword [rsp + 288], xmm0 - LONG $0x247c8948; BYTE $0x20 // mov qword [rsp + 32], rdi + QUAD $0x0000f024847f0f66; BYTE $0x00 // movdqa oword [rsp + 240], xmm0 + LONG $0x247c8948; BYTE $0x28 // mov qword [rsp + 40], rdi WORD $0x8949; BYTE $0xfd // mov r13, rdi LONG $0x20cd8349 // or r13, 32 - LONG $0x246c894c; BYTE $0x28 // mov qword [rsp + 40], r13 + LONG $0x246c894c; BYTE $0x08 // mov qword [rsp + 8], r13 WORD $0x8948; BYTE $0xf9 // mov rcx, rdi LONG $0x40c98348 // or rcx, 64 - LONG $0x244c8948; BYTE $0x40 // mov qword [rsp + 64], rcx + LONG $0x244c8948; BYTE $0x50 // mov qword [rsp + 80], rcx LONG $0x60cb8349 // or r11, 96 LONG $0x80cb8148; WORD $0x0000; BYTE $0x00 // or rbx, 128 - LONG $0xa0ce8149; WORD $0x0000; BYTE $0x00 // or r14, 160 - LONG $0xc0cf8149; WORD $0x0000; BYTE $0x00 // or r15, 192 + LONG $0xa0cf8149; WORD $0x0000; BYTE $0x00 // or r15, 160 + LONG $0xc0cc8149; WORD $0x0000; BYTE $0x00 // or r12, 192 LONG $0xe0ca8149; WORD $0x0000; BYTE $0x00 // or r10, 224 - LONG $0x00cc8149; WORD $0x0001; BYTE $0x00 // or r12, 256 + LONG $0x00ce8149; WORD $0x0001; BYTE $0x00 // or r14, 256 LONG $0x20c98149; WORD $0x0001; BYTE $0x00 // or r9, 288 - QUAD $0x00000080248c894c // mov qword [rsp + 128], r9 - LONG $0x40ca8148; WORD $0x0001; BYTE $0x00 // or rdx, 320 - LONG $0x24548948; BYTE $0x30 // mov qword [rsp + 48], rdx - LONG $0x24548b48; BYTE $0x58 // mov rdx, qword [rsp + 88] + LONG $0x244c894c; BYTE $0x78 // mov qword [rsp + 120], r9 + LONG $0x01400d48; WORD $0x0000 // or rax, 320 + LONG $0x24448948; BYTE $0x10 // mov qword [rsp + 16], rax LONG $0x60ca8148; WORD $0x0001; BYTE $0x00 // or rdx, 352 - LONG $0x24548948; BYTE $0x58 // mov qword [rsp + 88], rdx - LONG $0x24448b4c; BYTE $0x38 // mov r8, qword [rsp + 56] + QUAD $0x000000d024948948 // mov qword [rsp + 208], rdx + LONG $0x24448b4c; BYTE $0x68 // mov r8, qword [rsp + 104] LONG $0x80c88149; WORD $0x0001; BYTE $0x00 // or r8, 384 WORD $0x8948; BYTE $0xf8 // mov rax, rdi LONG $0x01a00d48; WORD $0x0000 // or rax, 416 - LONG $0x24448948; BYTE $0x70 // mov qword [rsp + 112], rax + LONG $0x24448948; BYTE $0x18 // mov qword [rsp + 24], rax WORD $0x8948; BYTE $0xf8 // mov rax, rdi LONG $0x01c00d48; WORD $0x0000 // or rax, 448 - LONG $0x24448948; BYTE $0x18 // mov qword [rsp + 24], rax + LONG $0x24448948; BYTE $0x48 // mov qword [rsp + 72], rax WORD $0x8948; BYTE $0xf8 // mov rax, rdi LONG $0x01e00d48; WORD $0x0000 // or rax, 480 - LONG $0x24448948; BYTE $0x10 // mov qword [rsp + 16], rax QUAD $0x012e3c203a0f4666 // pinsrb xmm15, byte [rsi + r13], 1 QUAD $0x020e3c203a0f4466 // pinsrb xmm15, byte [rsi + rcx], 2 - LONG $0x245c894c; BYTE $0x68 // mov qword [rsp + 104], r11 QUAD $0x031e3c203a0f4666 // pinsrb xmm15, byte [rsi + r11], 3 - LONG $0x245c8948; BYTE $0x50 // mov qword [rsp + 80], rbx + LONG $0x245c8948; BYTE $0x30 // mov qword [rsp + 48], rbx QUAD $0x041e3c203a0f4466 // pinsrb xmm15, byte [rsi + rbx], 4 - LONG $0x2474894c; BYTE $0x60 // mov qword [rsp + 96], r14 - QUAD $0x05363c203a0f4666 // pinsrb xmm15, byte [rsi + r14], 5 - QUAD $0x063e3c203a0f4666 // pinsrb xmm15, byte [rsi + r15], 6 + LONG $0x247c894c; BYTE $0x20 // mov qword [rsp + 32], r15 + QUAD $0x053e3c203a0f4666 // pinsrb xmm15, byte [rsi + r15], 5 + QUAD $0x06263c203a0f4666 // pinsrb xmm15, byte [rsi + r12], 6 WORD $0x894c; BYTE $0xd7 // mov rdi, r10 + QUAD $0x000000802494894c // mov qword [rsp + 128], r10 QUAD $0x07163c203a0f4666 // pinsrb xmm15, byte [rsi + r10], 7 - QUAD $0x08263c203a0f4666 // pinsrb xmm15, byte [rsi + r12], 8 + WORD $0x894d; BYTE $0xf2 // mov r10, r14 + QUAD $0x08363c203a0f4666 // pinsrb xmm15, byte [rsi + r14], 8 QUAD $0x090e3c203a0f4666 // pinsrb xmm15, byte [rsi + r9], 9 - LONG $0x246c8b4c; BYTE $0x30 // mov r13, qword [rsp + 48] + LONG $0x246c8b4c; BYTE $0x10 // mov r13, qword [rsp + 16] QUAD $0x0a2e3c203a0f4666 // pinsrb xmm15, byte [rsi + r13], 10 QUAD $0x0b163c203a0f4466 // pinsrb xmm15, byte [rsi + rdx], 11 QUAD $0x0c063c203a0f4666 // pinsrb xmm15, byte [rsi + r8], 12 - LONG $0x244c8b4c; BYTE $0x70 // mov r9, qword [rsp + 112] - QUAD $0x0d0e3c203a0f4666 // pinsrb xmm15, byte [rsi + r9], 13 - LONG $0x244c8b48; BYTE $0x18 // mov rcx, qword [rsp + 24] - QUAD $0x0e0e3c203a0f4466 // pinsrb xmm15, byte [rsi + rcx], 14 + LONG $0x24748b4c; BYTE $0x18 // mov r14, qword [rsp + 24] + QUAD $0x0d363c203a0f4666 // pinsrb xmm15, byte [rsi + r14], 13 + LONG $0x244c8b4c; BYTE $0x48 // mov r9, qword [rsp + 72] + QUAD $0x0e0e3c203a0f4666 // pinsrb xmm15, byte [rsi + r9], 14 QUAD $0x0f063c203a0f4466 // pinsrb xmm15, byte [rsi + rax], 15 - LONG $0x24548b4c; BYTE $0x28 // mov r10, qword [rsp + 40] - QUAD $0x01166c203a0f4266; BYTE $0x01 // pinsrb xmm5, byte [rsi + r10 + 1], 1 - LONG $0x244c8b48; BYTE $0x40 // mov rcx, qword [rsp + 64] + LONG $0x244c8b48; BYTE $0x08 // mov rcx, qword [rsp + 8] + QUAD $0x01010e6c203a0f66 // pinsrb xmm5, byte [rsi + rcx + 1], 1 + LONG $0x244c8b48; BYTE $0x50 // mov rcx, qword [rsp + 80] QUAD $0x02010e6c203a0f66 // pinsrb xmm5, byte [rsi + rcx + 1], 2 QUAD $0x011e6c203a0f4266; BYTE $0x03 // pinsrb xmm5, byte [rsi + r11 + 1], 3 + WORD $0x894c; BYTE $0xd9 // mov rcx, r11 QUAD $0x04011e6c203a0f66 // pinsrb xmm5, byte [rsi + rbx + 1], 4 - QUAD $0x01366c203a0f4266; BYTE $0x05 // pinsrb xmm5, byte [rsi + r14 + 1], 5 - QUAD $0x013e6c203a0f4266; BYTE $0x06 // pinsrb xmm5, byte [rsi + r15 + 1], 6 - QUAD $0x000000b024bc894c // mov qword [rsp + 176], r15 + QUAD $0x013e6c203a0f4266; BYTE $0x05 // pinsrb xmm5, byte [rsi + r15 + 1], 5 + QUAD $0x01266c203a0f4266; BYTE $0x06 // pinsrb xmm5, byte [rsi + r12 + 1], 6 + LONG $0x2464894c; BYTE $0x70 // mov qword [rsp + 112], r12 QUAD $0x07013e6c203a0f66 // pinsrb xmm5, byte [rsi + rdi + 1], 7 - WORD $0x8949; BYTE $0xfe // mov r14, rdi - QUAD $0x000000a024bc8948 // mov qword [rsp + 160], rdi - QUAD $0x01266c203a0f4266; BYTE $0x08 // pinsrb xmm5, byte [rsi + r12 + 1], 8 - WORD $0x894c; BYTE $0xe3 // mov rbx, r12 - LONG $0x2464894c; BYTE $0x48 // mov qword [rsp + 72], r12 - QUAD $0x00000080248c8b48 // mov rcx, qword [rsp + 128] - QUAD $0x09010e6c203a0f66 // pinsrb xmm5, byte [rsi + rcx + 1], 9 + QUAD $0x01166c203a0f4266; BYTE $0x08 // pinsrb xmm5, byte [rsi + r10 + 1], 8 + WORD $0x894c; BYTE $0xd3 // mov rbx, r10 + LONG $0x2454894c; BYTE $0x38 // mov qword [rsp + 56], r10 + LONG $0x247c8b4c; BYTE $0x78 // mov r15, qword [rsp + 120] + QUAD $0x013e6c203a0f4266; BYTE $0x09 // pinsrb xmm5, byte [rsi + r15 + 1], 9 QUAD $0x012e6c203a0f4266; BYTE $0x0a // pinsrb xmm5, byte [rsi + r13 + 1], 10 QUAD $0x0b01166c203a0f66 // pinsrb xmm5, byte [rsi + rdx + 1], 11 QUAD $0x01066c203a0f4266; BYTE $0x0c // pinsrb xmm5, byte [rsi + r8 + 1], 12 WORD $0x894d; BYTE $0xc2 // mov r10, r8 - LONG $0x2444894c; BYTE $0x38 // mov qword [rsp + 56], r8 - QUAD $0x010e6c203a0f4266; BYTE $0x0d // pinsrb xmm5, byte [rsi + r9 + 1], 13 - LONG $0x24648b4c; BYTE $0x18 // mov r12, qword [rsp + 24] - QUAD $0x01266c203a0f4266; BYTE $0x0e // pinsrb xmm5, byte [rsi + r12 + 1], 14 + LONG $0x2444894c; BYTE $0x68 // mov qword [rsp + 104], r8 + QUAD $0x01366c203a0f4266; BYTE $0x0d // pinsrb xmm5, byte [rsi + r14 + 1], 13 + QUAD $0x010e6c203a0f4266; BYTE $0x0e // pinsrb xmm5, byte [rsi + r9 + 1], 14 + WORD $0x894d; BYTE $0xce // mov r14, r9 QUAD $0x0f01066c203a0f66 // pinsrb xmm5, byte [rsi + rax + 1], 15 - QUAD $0x00d0248c6f0f4466; WORD $0x0000 // movdqa xmm9, oword [rsp + 208] + WORD $0x8949; BYTE $0xc1 // mov r9, rax + QUAD $0x00c0248c6f0f4466; WORD $0x0000 // movdqa xmm9, oword [rsp + 192] LONG $0x740f4166; BYTE $0xe9 // pcmpeqb xmm5, xmm9 LONG $0xfd6f0f66 // movdqa xmm7, xmm5 QUAD $0x000000a0a56f0f66 // movdqa xmm4, oword 160[rbp] /* [rip + .LCPI1_10] */ LONG $0xfcdb0f66 // pand xmm7, xmm4 LONG $0xfdf80f66 // psubb xmm7, xmm5 - LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] - LONG $0x0654b60f; BYTE $0x0f // movzx edx, byte [rsi + rax + 15] + LONG $0x24448b4c; BYTE $0x28 // mov r8, qword [rsp + 40] + LONG $0x54b60f42; WORD $0x0f06 // movzx edx, byte [rsi + r8 + 15] LONG $0x6e0f4466; BYTE $0xf2 // movd xmm14, edx LONG $0x740f4566; BYTE $0xf9 // pcmpeqb xmm15, xmm9 - LONG $0x24448b4c; BYTE $0x28 // mov r8, qword [rsp + 40] - QUAD $0x020674203a0f4266; BYTE $0x01 // pinsrb xmm6, byte [rsi + r8 + 2], 1 - LONG $0x245c8b4c; BYTE $0x40 // mov r11, qword [rsp + 64] - QUAD $0x021e74203a0f4266; BYTE $0x02 // pinsrb xmm6, byte [rsi + r11 + 2], 2 - LONG $0x246c8b4c; BYTE $0x68 // mov r13, qword [rsp + 104] - QUAD $0x022e74203a0f4266; BYTE $0x03 // pinsrb xmm6, byte [rsi + r13 + 2], 3 - LONG $0x244c8b48; BYTE $0x50 // mov rcx, qword [rsp + 80] + LONG $0x245c8b4c; BYTE $0x08 // mov r11, qword [rsp + 8] + QUAD $0x021e74203a0f4266; BYTE $0x01 // pinsrb xmm6, byte [rsi + r11 + 2], 1 + LONG $0x24448b48; BYTE $0x50 // mov rax, qword [rsp + 80] + QUAD $0x02020674203a0f66 // pinsrb xmm6, byte [rsi + rax + 2], 2 + WORD $0x8949; BYTE $0xcd // mov r13, rcx + QUAD $0x03020e74203a0f66 // pinsrb xmm6, byte [rsi + rcx + 2], 3 + LONG $0x244c8b48; BYTE $0x30 // mov rcx, qword [rsp + 48] QUAD $0x04020e74203a0f66 // pinsrb xmm6, byte [rsi + rcx + 2], 4 - LONG $0x247c8b48; BYTE $0x60 // mov rdi, qword [rsp + 96] + LONG $0x247c8b48; BYTE $0x20 // mov rdi, qword [rsp + 32] QUAD $0x05023e74203a0f66 // pinsrb xmm6, byte [rsi + rdi + 2], 5 - QUAD $0x023e74203a0f4266; BYTE $0x06 // pinsrb xmm6, byte [rsi + r15 + 2], 6 - QUAD $0x023674203a0f4266; BYTE $0x07 // pinsrb xmm6, byte [rsi + r14 + 2], 7 + QUAD $0x022674203a0f4266; BYTE $0x06 // pinsrb xmm6, byte [rsi + r12 + 2], 6 + QUAD $0x0000008024948b48 // mov rdx, qword [rsp + 128] + QUAD $0x07021674203a0f66 // pinsrb xmm6, byte [rsi + rdx + 2], 7 QUAD $0x08021e74203a0f66 // pinsrb xmm6, byte [rsi + rbx + 2], 8 - QUAD $0x00000080249c8b48 // mov rbx, qword [rsp + 128] - QUAD $0x09021e74203a0f66 // pinsrb xmm6, byte [rsi + rbx + 2], 9 - LONG $0x24748b4c; BYTE $0x30 // mov r14, qword [rsp + 48] - QUAD $0x023674203a0f4266; BYTE $0x0a // pinsrb xmm6, byte [rsi + r14 + 2], 10 - LONG $0x247c8b4c; BYTE $0x58 // mov r15, qword [rsp + 88] - QUAD $0x023e74203a0f4266; BYTE $0x0b // pinsrb xmm6, byte [rsi + r15 + 2], 11 + WORD $0x894c; BYTE $0xfb // mov rbx, r15 + QUAD $0x023e74203a0f4266; BYTE $0x09 // pinsrb xmm6, byte [rsi + r15 + 2], 9 + LONG $0x247c8b4c; BYTE $0x10 // mov r15, qword [rsp + 16] + QUAD $0x023e74203a0f4266; BYTE $0x0a // pinsrb xmm6, byte [rsi + r15 + 2], 10 + QUAD $0x000000d024a48b4c // mov r12, qword [rsp + 208] + QUAD $0x022674203a0f4266; BYTE $0x0b // pinsrb xmm6, byte [rsi + r12 + 2], 11 QUAD $0x021674203a0f4266; BYTE $0x0c // pinsrb xmm6, byte [rsi + r10 + 2], 12 - WORD $0x894d; BYTE $0xca // mov r10, r9 - QUAD $0x020e74203a0f4266; BYTE $0x0d // pinsrb xmm6, byte [rsi + r9 + 2], 13 - QUAD $0x022674203a0f4266; BYTE $0x0e // pinsrb xmm6, byte [rsi + r12 + 2], 14 - LONG $0x244c8b4c; BYTE $0x10 // mov r9, qword [rsp + 16] + LONG $0x24548b4c; BYTE $0x18 // mov r10, qword [rsp + 24] + QUAD $0x021674203a0f4266; BYTE $0x0d // pinsrb xmm6, byte [rsi + r10 + 2], 13 + QUAD $0x023674203a0f4266; BYTE $0x0e // pinsrb xmm6, byte [rsi + r14 + 2], 14 + LONG $0x244c894c; BYTE $0x40 // mov qword [rsp + 64], r9 QUAD $0x020e74203a0f4266; BYTE $0x0f // pinsrb xmm6, byte [rsi + r9 + 2], 15 LONG $0xdb0f4466; BYTE $0xfc // pand xmm15, xmm4 LONG $0x740f4166; BYTE $0xf1 // pcmpeqb xmm6, xmm9 QUAD $0x000000b0856f0f66 // movdqa xmm0, oword 176[rbp] /* [rip + .LCPI1_11] */ LONG $0xf0db0f66 // pand xmm6, xmm0 LONG $0xeb0f4166; BYTE $0xf7 // por xmm6, xmm15 - LONG $0x0654b60f; BYTE $0x10 // movzx edx, byte [rsi + rax + 16] + LONG $0x54b60f42; WORD $0x1006 // movzx edx, byte [rsi + r8 + 16] LONG $0x6e0f4466; BYTE $0xfa // movd xmm15, edx - WORD $0x894c; BYTE $0xc2 // mov rdx, r8 - QUAD $0x030654203a0f4266; BYTE $0x01 // pinsrb xmm2, byte [rsi + r8 + 3], 1 - WORD $0x894c; BYTE $0xd8 // mov rax, r11 - QUAD $0x031e54203a0f4266; BYTE $0x02 // pinsrb xmm2, byte [rsi + r11 + 3], 2 + WORD $0x894c; BYTE $0xda // mov rdx, r11 + QUAD $0x031e54203a0f4266; BYTE $0x01 // pinsrb xmm2, byte [rsi + r11 + 3], 1 + QUAD $0x02030654203a0f66 // pinsrb xmm2, byte [rsi + rax + 3], 2 QUAD $0x032e54203a0f4266; BYTE $0x03 // pinsrb xmm2, byte [rsi + r13 + 3], 3 QUAD $0x04030e54203a0f66 // pinsrb xmm2, byte [rsi + rcx + 3], 4 WORD $0x8949; BYTE $0xcb // mov r11, rcx QUAD $0x05033e54203a0f66 // pinsrb xmm2, byte [rsi + rdi + 3], 5 - QUAD $0x000000b0248c8b48 // mov rcx, qword [rsp + 176] + LONG $0x244c8b48; BYTE $0x70 // mov rcx, qword [rsp + 112] QUAD $0x06030e54203a0f66 // pinsrb xmm2, byte [rsi + rcx + 3], 6 - QUAD $0x000000a024bc8b48 // mov rdi, qword [rsp + 160] + QUAD $0x0000008024bc8b48 // mov rdi, qword [rsp + 128] QUAD $0x07033e54203a0f66 // pinsrb xmm2, byte [rsi + rdi + 3], 7 - LONG $0x24448b4c; BYTE $0x48 // mov r8, qword [rsp + 72] + LONG $0x24448b4c; BYTE $0x38 // mov r8, qword [rsp + 56] QUAD $0x030654203a0f4266; BYTE $0x08 // pinsrb xmm2, byte [rsi + r8 + 3], 8 QUAD $0x09031e54203a0f66 // pinsrb xmm2, byte [rsi + rbx + 3], 9 - QUAD $0x033654203a0f4266; BYTE $0x0a // pinsrb xmm2, byte [rsi + r14 + 3], 10 - WORD $0x894d; BYTE $0xfe // mov r14, r15 - QUAD $0x033e54203a0f4266; BYTE $0x0b // pinsrb xmm2, byte [rsi + r15 + 3], 11 - LONG $0x247c8b4c; BYTE $0x38 // mov r15, qword [rsp + 56] - QUAD $0x033e54203a0f4266; BYTE $0x0c // pinsrb xmm2, byte [rsi + r15 + 3], 12 + QUAD $0x033e54203a0f4266; BYTE $0x0a // pinsrb xmm2, byte [rsi + r15 + 3], 10 + WORD $0x894d; BYTE $0xe7 // mov r15, r12 + QUAD $0x032654203a0f4266; BYTE $0x0b // pinsrb xmm2, byte [rsi + r12 + 3], 11 + LONG $0x24648b4c; BYTE $0x68 // mov r12, qword [rsp + 104] + QUAD $0x032654203a0f4266; BYTE $0x0c // pinsrb xmm2, byte [rsi + r12 + 3], 12 QUAD $0x031654203a0f4266; BYTE $0x0d // pinsrb xmm2, byte [rsi + r10 + 3], 13 - QUAD $0x032654203a0f4266; BYTE $0x0e // pinsrb xmm2, byte [rsi + r12 + 3], 14 + QUAD $0x033654203a0f4266; BYTE $0x0e // pinsrb xmm2, byte [rsi + r14 + 3], 14 QUAD $0x030e54203a0f4266; BYTE $0x0f // pinsrb xmm2, byte [rsi + r9 + 3], 15 QUAD $0x0104164c203a0f66 // pinsrb xmm1, byte [rsi + rdx + 4], 1 QUAD $0x0204064c203a0f66 // pinsrb xmm1, byte [rsi + rax + 4], 2 QUAD $0x042e4c203a0f4266; BYTE $0x03 // pinsrb xmm1, byte [rsi + r13 + 4], 3 QUAD $0x041e4c203a0f4266; BYTE $0x04 // pinsrb xmm1, byte [rsi + r11 + 4], 4 - LONG $0x245c8b4c; BYTE $0x60 // mov r11, qword [rsp + 96] + LONG $0x245c8b4c; BYTE $0x20 // mov r11, qword [rsp + 32] QUAD $0x041e4c203a0f4266; BYTE $0x05 // pinsrb xmm1, byte [rsi + r11 + 4], 5 QUAD $0x06040e4c203a0f66 // pinsrb xmm1, byte [rsi + rcx + 4], 6 QUAD $0x07043e4c203a0f66 // pinsrb xmm1, byte [rsi + rdi + 4], 7 QUAD $0x04064c203a0f4266; BYTE $0x08 // pinsrb xmm1, byte [rsi + r8 + 4], 8 QUAD $0x09041e4c203a0f66 // pinsrb xmm1, byte [rsi + rbx + 4], 9 - LONG $0x244c8b48; BYTE $0x30 // mov rcx, qword [rsp + 48] + LONG $0x244c8b48; BYTE $0x10 // mov rcx, qword [rsp + 16] QUAD $0x0a040e4c203a0f66 // pinsrb xmm1, byte [rsi + rcx + 4], 10 - QUAD $0x04364c203a0f4266; BYTE $0x0b // pinsrb xmm1, byte [rsi + r14 + 4], 11 - QUAD $0x043e4c203a0f4266; BYTE $0x0c // pinsrb xmm1, byte [rsi + r15 + 4], 12 + QUAD $0x043e4c203a0f4266; BYTE $0x0b // pinsrb xmm1, byte [rsi + r15 + 4], 11 + QUAD $0x04264c203a0f4266; BYTE $0x0c // pinsrb xmm1, byte [rsi + r12 + 4], 12 QUAD $0x04164c203a0f4266; BYTE $0x0d // pinsrb xmm1, byte [rsi + r10 + 4], 13 - WORD $0x894d; BYTE $0xd7 // mov r15, r10 - QUAD $0x04264c203a0f4266; BYTE $0x0e // pinsrb xmm1, byte [rsi + r12 + 4], 14 - WORD $0x894d; BYTE $0xe2 // mov r10, r12 + QUAD $0x04364c203a0f4266; BYTE $0x0e // pinsrb xmm1, byte [rsi + r14 + 4], 14 + WORD $0x894d; BYTE $0xf0 // mov r8, r14 QUAD $0x040e4c203a0f4266; BYTE $0x0f // pinsrb xmm1, byte [rsi + r9 + 4], 15 LONG $0xf7eb0f66 // por xmm6, xmm7 - LONG $0x247c8b48; BYTE $0x20 // mov rdi, qword [rsp + 32] + LONG $0x247c8b48; BYTE $0x28 // mov rdi, qword [rsp + 40] LONG $0x3e54b60f; BYTE $0x11 // movzx edx, byte [rsi + rdi + 17] LONG $0xc26e0f66 // movd xmm0, edx LONG $0x740f4166; BYTE $0xd1 // pcmpeqb xmm2, xmm9 @@ -5855,34 +6311,35 @@ LBB1_87: LONG $0xcaeb0f66 // por xmm1, xmm2 LONG $0x3e54b60f; BYTE $0x12 // movzx edx, byte [rsi + rdi + 18] LONG $0xea6e0f66 // movd xmm5, edx - LONG $0x244c8b4c; BYTE $0x28 // mov r9, qword [rsp + 40] + LONG $0x244c8b4c; BYTE $0x08 // mov r9, qword [rsp + 8] QUAD $0x050e44203a0f4666; BYTE $0x01 // pinsrb xmm8, byte [rsi + r9 + 5], 1 QUAD $0x050644203a0f4466; BYTE $0x02 // pinsrb xmm8, byte [rsi + rax + 5], 2 QUAD $0x052e44203a0f4666; BYTE $0x03 // pinsrb xmm8, byte [rsi + r13 + 5], 3 - LONG $0x24548b48; BYTE $0x50 // mov rdx, qword [rsp + 80] + LONG $0x246c894c; BYTE $0x60 // mov qword [rsp + 96], r13 + LONG $0x24548b48; BYTE $0x30 // mov rdx, qword [rsp + 48] QUAD $0x051644203a0f4466; BYTE $0x04 // pinsrb xmm8, byte [rsi + rdx + 5], 4 QUAD $0x051e44203a0f4666; BYTE $0x05 // pinsrb xmm8, byte [rsi + r11 + 5], 5 - QUAD $0x000000b024bc8b48 // mov rdi, qword [rsp + 176] + LONG $0x247c8b48; BYTE $0x70 // mov rdi, qword [rsp + 112] QUAD $0x053e44203a0f4466; BYTE $0x06 // pinsrb xmm8, byte [rsi + rdi + 5], 6 - QUAD $0x000000a024848b4c // mov r8, qword [rsp + 160] - QUAD $0x050644203a0f4666; BYTE $0x07 // pinsrb xmm8, byte [rsi + r8 + 5], 7 - LONG $0x24548b48; BYTE $0x48 // mov rdx, qword [rsp + 72] + QUAD $0x0000008024a48b4c // mov r12, qword [rsp + 128] + QUAD $0x052644203a0f4666; BYTE $0x07 // pinsrb xmm8, byte [rsi + r12 + 5], 7 + LONG $0x24548b48; BYTE $0x38 // mov rdx, qword [rsp + 56] QUAD $0x051644203a0f4466; BYTE $0x08 // pinsrb xmm8, byte [rsi + rdx + 5], 8 QUAD $0x051e44203a0f4466; BYTE $0x09 // pinsrb xmm8, byte [rsi + rbx + 5], 9 QUAD $0x050e44203a0f4466; BYTE $0x0a // pinsrb xmm8, byte [rsi + rcx + 5], 10 - QUAD $0x053644203a0f4666; BYTE $0x0b // pinsrb xmm8, byte [rsi + r14 + 5], 11 - LONG $0x244c8b48; BYTE $0x38 // mov rcx, qword [rsp + 56] + QUAD $0x053e44203a0f4666; BYTE $0x0b // pinsrb xmm8, byte [rsi + r15 + 5], 11 + LONG $0x244c8b48; BYTE $0x68 // mov rcx, qword [rsp + 104] QUAD $0x050e44203a0f4466; BYTE $0x0c // pinsrb xmm8, byte [rsi + rcx + 5], 12 - QUAD $0x053e44203a0f4666; BYTE $0x0d // pinsrb xmm8, byte [rsi + r15 + 5], 13 - WORD $0x894d; BYTE $0xfc // mov r12, r15 - QUAD $0x051644203a0f4666; BYTE $0x0e // pinsrb xmm8, byte [rsi + r10 + 5], 14 - LONG $0x24548b4c; BYTE $0x10 // mov r10, qword [rsp + 16] + QUAD $0x051644203a0f4666; BYTE $0x0d // pinsrb xmm8, byte [rsi + r10 + 5], 13 + WORD $0x894d; BYTE $0xd6 // mov r14, r10 + QUAD $0x050644203a0f4666; BYTE $0x0e // pinsrb xmm8, byte [rsi + r8 + 5], 14 + LONG $0x24548b4c; BYTE $0x40 // mov r10, qword [rsp + 64] QUAD $0x051644203a0f4666; BYTE $0x0f // pinsrb xmm8, byte [rsi + r10 + 5], 15 LONG $0x740f4566; BYTE $0xc1 // pcmpeqb xmm8, xmm9 QUAD $0x000000e0956f0f66 // movdqa xmm2, oword 224[rbp] /* [rip + .LCPI1_14] */ LONG $0xdb0f4466; BYTE $0xc2 // pand xmm8, xmm2 LONG $0xeb0f4466; BYTE $0xc1 // por xmm8, xmm1 - LONG $0x244c8b48; BYTE $0x20 // mov rcx, qword [rsp + 32] + LONG $0x244c8b48; BYTE $0x28 // mov rcx, qword [rsp + 40] LONG $0x0e54b60f; BYTE $0x13 // movzx edx, byte [rsi + rcx + 19] LONG $0xfa6e0f66 // movd xmm7, edx LONG $0xeb0f4466; BYTE $0xc6 // por xmm8, xmm6 @@ -5891,47 +6348,48 @@ LBB1_87: QUAD $0x060e5c203a0f4266; BYTE $0x01 // pinsrb xmm3, byte [rsi + r9 + 6], 1 QUAD $0x0206065c203a0f66 // pinsrb xmm3, byte [rsi + rax + 6], 2 QUAD $0x062e5c203a0f4266; BYTE $0x03 // pinsrb xmm3, byte [rsi + r13 + 6], 3 - LONG $0x245c8b4c; BYTE $0x50 // mov r11, qword [rsp + 80] + LONG $0x245c8b4c; BYTE $0x30 // mov r11, qword [rsp + 48] QUAD $0x061e5c203a0f4266; BYTE $0x04 // pinsrb xmm3, byte [rsi + r11 + 6], 4 - LONG $0x247c8b4c; BYTE $0x60 // mov r15, qword [rsp + 96] - QUAD $0x063e5c203a0f4266; BYTE $0x05 // pinsrb xmm3, byte [rsi + r15 + 6], 5 + LONG $0x24448b4c; BYTE $0x20 // mov r8, qword [rsp + 32] + QUAD $0x06065c203a0f4266; BYTE $0x05 // pinsrb xmm3, byte [rsi + r8 + 6], 5 WORD $0x8948; BYTE $0xf9 // mov rcx, rdi QUAD $0x06063e5c203a0f66 // pinsrb xmm3, byte [rsi + rdi + 6], 6 - WORD $0x894c; BYTE $0xc7 // mov rdi, r8 - QUAD $0x06065c203a0f4266; BYTE $0x07 // pinsrb xmm3, byte [rsi + r8 + 6], 7 - LONG $0x24548b48; BYTE $0x48 // mov rdx, qword [rsp + 72] + WORD $0x894c; BYTE $0xe7 // mov rdi, r12 + QUAD $0x06265c203a0f4266; BYTE $0x07 // pinsrb xmm3, byte [rsi + r12 + 6], 7 + LONG $0x24548b48; BYTE $0x38 // mov rdx, qword [rsp + 56] QUAD $0x0806165c203a0f66 // pinsrb xmm3, byte [rsi + rdx + 6], 8 QUAD $0x09061e5c203a0f66 // pinsrb xmm3, byte [rsi + rbx + 6], 9 - LONG $0x24448b4c; BYTE $0x30 // mov r8, qword [rsp + 48] - QUAD $0x06065c203a0f4266; BYTE $0x0a // pinsrb xmm3, byte [rsi + r8 + 6], 10 - QUAD $0x06365c203a0f4266; BYTE $0x0b // pinsrb xmm3, byte [rsi + r14 + 6], 11 - LONG $0x24448b48; BYTE $0x38 // mov rax, qword [rsp + 56] - QUAD $0x0c06065c203a0f66 // pinsrb xmm3, byte [rsi + rax + 6], 12 - QUAD $0x06265c203a0f4266; BYTE $0x0d // pinsrb xmm3, byte [rsi + r12 + 6], 13 - WORD $0x894d; BYTE $0xe5 // mov r13, r12 - LONG $0x24548b48; BYTE $0x18 // mov rdx, qword [rsp + 24] - QUAD $0x0e06165c203a0f66 // pinsrb xmm3, byte [rsi + rdx + 6], 14 + LONG $0x24548b48; BYTE $0x10 // mov rdx, qword [rsp + 16] + QUAD $0x0a06165c203a0f66 // pinsrb xmm3, byte [rsi + rdx + 6], 10 + QUAD $0x063e5c203a0f4266; BYTE $0x0b // pinsrb xmm3, byte [rsi + r15 + 6], 11 + LONG $0x24648b4c; BYTE $0x68 // mov r12, qword [rsp + 104] + QUAD $0x06265c203a0f4266; BYTE $0x0c // pinsrb xmm3, byte [rsi + r12 + 6], 12 + QUAD $0x06365c203a0f4266; BYTE $0x0d // pinsrb xmm3, byte [rsi + r14 + 6], 13 + WORD $0x894d; BYTE $0xf5 // mov r13, r14 + LONG $0x24748b4c; BYTE $0x48 // mov r14, qword [rsp + 72] + QUAD $0x06365c203a0f4266; BYTE $0x0e // pinsrb xmm3, byte [rsi + r14 + 6], 14 QUAD $0x06165c203a0f4266; BYTE $0x0f // pinsrb xmm3, byte [rsi + r10 + 6], 15 - QUAD $0x0000e024946f0f66; BYTE $0x00 // movdqa xmm2, oword [rsp + 224] + QUAD $0x0000b024946f0f66; BYTE $0x00 // movdqa xmm2, oword [rsp + 176] QUAD $0x070e54203a0f4266; BYTE $0x01 // pinsrb xmm2, byte [rsi + r9 + 7], 1 - LONG $0x24648b4c; BYTE $0x40 // mov r12, qword [rsp + 64] - QUAD $0x072654203a0f4266; BYTE $0x02 // pinsrb xmm2, byte [rsi + r12 + 7], 2 - LONG $0x24548b48; BYTE $0x68 // mov rdx, qword [rsp + 104] - QUAD $0x03071654203a0f66 // pinsrb xmm2, byte [rsi + rdx + 7], 3 + WORD $0x8949; BYTE $0xc2 // mov r10, rax + QUAD $0x02070654203a0f66 // pinsrb xmm2, byte [rsi + rax + 7], 2 + LONG $0x24448b48; BYTE $0x60 // mov rax, qword [rsp + 96] + QUAD $0x03070654203a0f66 // pinsrb xmm2, byte [rsi + rax + 7], 3 QUAD $0x071e54203a0f4266; BYTE $0x04 // pinsrb xmm2, byte [rsi + r11 + 7], 4 - QUAD $0x073e54203a0f4266; BYTE $0x05 // pinsrb xmm2, byte [rsi + r15 + 7], 5 + QUAD $0x070654203a0f4266; BYTE $0x05 // pinsrb xmm2, byte [rsi + r8 + 7], 5 QUAD $0x06070e54203a0f66 // pinsrb xmm2, byte [rsi + rcx + 7], 6 QUAD $0x07073e54203a0f66 // pinsrb xmm2, byte [rsi + rdi + 7], 7 - LONG $0x24548b4c; BYTE $0x48 // mov r10, qword [rsp + 72] - QUAD $0x071654203a0f4266; BYTE $0x08 // pinsrb xmm2, byte [rsi + r10 + 7], 8 + WORD $0x8948; BYTE $0xf8 // mov rax, rdi + LONG $0x24448b4c; BYTE $0x38 // mov r8, qword [rsp + 56] + QUAD $0x070654203a0f4266; BYTE $0x08 // pinsrb xmm2, byte [rsi + r8 + 7], 8 QUAD $0x09071e54203a0f66 // pinsrb xmm2, byte [rsi + rbx + 7], 9 - QUAD $0x070654203a0f4266; BYTE $0x0a // pinsrb xmm2, byte [rsi + r8 + 7], 10 - QUAD $0x073654203a0f4266; BYTE $0x0b // pinsrb xmm2, byte [rsi + r14 + 7], 11 - QUAD $0x0c070654203a0f66 // pinsrb xmm2, byte [rsi + rax + 7], 12 + QUAD $0x0a071654203a0f66 // pinsrb xmm2, byte [rsi + rdx + 7], 10 + QUAD $0x073e54203a0f4266; BYTE $0x0b // pinsrb xmm2, byte [rsi + r15 + 7], 11 + QUAD $0x072654203a0f4266; BYTE $0x0c // pinsrb xmm2, byte [rsi + r12 + 7], 12 QUAD $0x072e54203a0f4266; BYTE $0x0d // pinsrb xmm2, byte [rsi + r13 + 7], 13 - LONG $0x247c8b48; BYTE $0x18 // mov rdi, qword [rsp + 24] - QUAD $0x0e073e54203a0f66 // pinsrb xmm2, byte [rsi + rdi + 7], 14 - LONG $0x244c8b4c; BYTE $0x10 // mov r9, qword [rsp + 16] + WORD $0x894c; BYTE $0xf7 // mov rdi, r14 + QUAD $0x073654203a0f4266; BYTE $0x0e // pinsrb xmm2, byte [rsi + r14 + 7], 14 + LONG $0x244c8b4c; BYTE $0x40 // mov r9, qword [rsp + 64] QUAD $0x070e54203a0f4266; BYTE $0x0f // pinsrb xmm2, byte [rsi + r9 + 7], 15 LONG $0x740f4166; BYTE $0xd9 // pcmpeqb xmm3, xmm9 QUAD $0x000000f08d6f0f66 // movdqa xmm1, oword 240[rbp] /* [rip + .LCPI1_15] */ @@ -5942,38 +6400,36 @@ LBB1_87: LONG $0xd1db0f66 // pand xmm2, xmm1 LONG $0xd3eb0f66 // por xmm2, xmm3 LONG $0xca6f0f66 // movdqa xmm1, xmm2 - LONG $0x245c8b48; BYTE $0x20 // mov rbx, qword [rsp + 32] + LONG $0x245c8b48; BYTE $0x28 // mov rbx, qword [rsp + 40] LONG $0x1e54b60f; BYTE $0x15 // movzx edx, byte [rsi + rbx + 21] LONG $0xd26e0f66 // movd xmm2, edx - LONG $0x245c8b4c; BYTE $0x28 // mov r11, qword [rsp + 40] + LONG $0x245c8b4c; BYTE $0x08 // mov r11, qword [rsp + 8] QUAD $0x091e54203a0f4666; BYTE $0x01 // pinsrb xmm10, byte [rsi + r11 + 9], 1 - QUAD $0x092654203a0f4666; BYTE $0x02 // pinsrb xmm10, byte [rsi + r12 + 9], 2 - LONG $0x24448b48; BYTE $0x68 // mov rax, qword [rsp + 104] - QUAD $0x090654203a0f4466; BYTE $0x03 // pinsrb xmm10, byte [rsi + rax + 9], 3 - LONG $0x244c8b48; BYTE $0x50 // mov rcx, qword [rsp + 80] + QUAD $0x091654203a0f4666; BYTE $0x02 // pinsrb xmm10, byte [rsi + r10 + 9], 2 + LONG $0x244c8b48; BYTE $0x60 // mov rcx, qword [rsp + 96] + QUAD $0x090e54203a0f4466; BYTE $0x03 // pinsrb xmm10, byte [rsi + rcx + 9], 3 + LONG $0x244c8b48; BYTE $0x30 // mov rcx, qword [rsp + 48] QUAD $0x090e54203a0f4466; BYTE $0x04 // pinsrb xmm10, byte [rsi + rcx + 9], 4 - LONG $0x247c8b4c; BYTE $0x60 // mov r15, qword [rsp + 96] - QUAD $0x093e54203a0f4666; BYTE $0x05 // pinsrb xmm10, byte [rsi + r15 + 9], 5 - QUAD $0x000000b024a48b4c // mov r12, qword [rsp + 176] - QUAD $0x092654203a0f4666; BYTE $0x06 // pinsrb xmm10, byte [rsi + r12 + 9], 6 - QUAD $0x000000a024848b48 // mov rax, qword [rsp + 160] + LONG $0x24548b48; BYTE $0x20 // mov rdx, qword [rsp + 32] + QUAD $0x091654203a0f4466; BYTE $0x05 // pinsrb xmm10, byte [rsi + rdx + 9], 5 + LONG $0x24748b4c; BYTE $0x70 // mov r14, qword [rsp + 112] + QUAD $0x093654203a0f4666; BYTE $0x06 // pinsrb xmm10, byte [rsi + r14 + 9], 6 QUAD $0x090654203a0f4466; BYTE $0x07 // pinsrb xmm10, byte [rsi + rax + 9], 7 - QUAD $0x091654203a0f4666; BYTE $0x08 // pinsrb xmm10, byte [rsi + r10 + 9], 8 - WORD $0x894d; BYTE $0xd6 // mov r14, r10 - QUAD $0x0000008024848b48 // mov rax, qword [rsp + 128] + QUAD $0x090654203a0f4666; BYTE $0x08 // pinsrb xmm10, byte [rsi + r8 + 9], 8 + WORD $0x894d; BYTE $0xc7 // mov r15, r8 + LONG $0x24448b48; BYTE $0x78 // mov rax, qword [rsp + 120] QUAD $0x090654203a0f4466; BYTE $0x09 // pinsrb xmm10, byte [rsi + rax + 9], 9 - LONG $0x24448b48; BYTE $0x30 // mov rax, qword [rsp + 48] - QUAD $0x090654203a0f4466; BYTE $0x0a // pinsrb xmm10, byte [rsi + rax + 9], 10 - LONG $0x24548b48; BYTE $0x58 // mov rdx, qword [rsp + 88] + LONG $0x24548b4c; BYTE $0x10 // mov r10, qword [rsp + 16] + QUAD $0x091654203a0f4666; BYTE $0x0a // pinsrb xmm10, byte [rsi + r10 + 9], 10 + QUAD $0x000000d024948b48 // mov rdx, qword [rsp + 208] QUAD $0x091654203a0f4466; BYTE $0x0b // pinsrb xmm10, byte [rsi + rdx + 9], 11 - LONG $0x24548b48; BYTE $0x38 // mov rdx, qword [rsp + 56] - QUAD $0x091654203a0f4466; BYTE $0x0c // pinsrb xmm10, byte [rsi + rdx + 9], 12 - WORD $0x894d; BYTE $0xea // mov r10, r13 + QUAD $0x092654203a0f4666; BYTE $0x0c // pinsrb xmm10, byte [rsi + r12 + 9], 12 + WORD $0x894c; BYTE $0xe8 // mov rax, r13 QUAD $0x092e54203a0f4666; BYTE $0x0d // pinsrb xmm10, byte [rsi + r13 + 9], 13 QUAD $0x093e54203a0f4466; BYTE $0x0e // pinsrb xmm10, byte [rsi + rdi + 9], 14 QUAD $0x090e54203a0f4666; BYTE $0x0f // pinsrb xmm10, byte [rsi + r9 + 9], 15 LONG $0xeb0f4166; BYTE $0xc8 // por xmm1, xmm8 - QUAD $0x0000e0248c7f0f66; BYTE $0x00 // movdqa oword [rsp + 224], xmm1 + QUAD $0x0000b0248c7f0f66; BYTE $0x00 // movdqa oword [rsp + 176], xmm1 LONG $0x740f4566; BYTE $0xd1 // pcmpeqb xmm10, xmm9 LONG $0x6f0f4166; BYTE $0xca // movdqa xmm1, xmm10 LONG $0x6f0f4466; BYTE $0xc4 // movdqa xmm8, xmm4 @@ -5983,130 +6439,128 @@ LBB1_87: LONG $0xda6e0f66 // movd xmm3, edx QUAD $0x00011024a46f0f66; BYTE $0x00 // movdqa xmm4, oword [rsp + 272] QUAD $0x081e64203a0f4266; BYTE $0x01 // pinsrb xmm4, byte [rsi + r11 + 8], 1 - LONG $0x246c8b4c; BYTE $0x40 // mov r13, qword [rsp + 64] + LONG $0x246c8b4c; BYTE $0x50 // mov r13, qword [rsp + 80] QUAD $0x082e64203a0f4266; BYTE $0x02 // pinsrb xmm4, byte [rsi + r13 + 8], 2 - LONG $0x24448b4c; BYTE $0x68 // mov r8, qword [rsp + 104] + LONG $0x24448b4c; BYTE $0x60 // mov r8, qword [rsp + 96] QUAD $0x080664203a0f4266; BYTE $0x03 // pinsrb xmm4, byte [rsi + r8 + 8], 3 QUAD $0x04080e64203a0f66 // pinsrb xmm4, byte [rsi + rcx + 8], 4 - WORD $0x894d; BYTE $0xf9 // mov r9, r15 - QUAD $0x083e64203a0f4266; BYTE $0x05 // pinsrb xmm4, byte [rsi + r15 + 8], 5 - QUAD $0x082664203a0f4266; BYTE $0x06 // pinsrb xmm4, byte [rsi + r12 + 8], 6 - QUAD $0x000000a024bc8b4c // mov r15, qword [rsp + 160] - QUAD $0x083e64203a0f4266; BYTE $0x07 // pinsrb xmm4, byte [rsi + r15 + 8], 7 - QUAD $0x083664203a0f4266; BYTE $0x08 // pinsrb xmm4, byte [rsi + r14 + 8], 8 - WORD $0x894c; BYTE $0xf3 // mov rbx, r14 - QUAD $0x0000008024948b48 // mov rdx, qword [rsp + 128] + LONG $0x244c8b4c; BYTE $0x20 // mov r9, qword [rsp + 32] + QUAD $0x080e64203a0f4266; BYTE $0x05 // pinsrb xmm4, byte [rsi + r9 + 8], 5 + QUAD $0x083664203a0f4266; BYTE $0x06 // pinsrb xmm4, byte [rsi + r14 + 8], 6 + QUAD $0x0000008024b48b4c // mov r14, qword [rsp + 128] + QUAD $0x083664203a0f4266; BYTE $0x07 // pinsrb xmm4, byte [rsi + r14 + 8], 7 + QUAD $0x083e64203a0f4266; BYTE $0x08 // pinsrb xmm4, byte [rsi + r15 + 8], 8 + WORD $0x894c; BYTE $0xfb // mov rbx, r15 + LONG $0x24548b48; BYTE $0x78 // mov rdx, qword [rsp + 120] QUAD $0x09081664203a0f66 // pinsrb xmm4, byte [rsi + rdx + 8], 9 - QUAD $0x0a080664203a0f66 // pinsrb xmm4, byte [rsi + rax + 8], 10 - LONG $0x24448b48; BYTE $0x58 // mov rax, qword [rsp + 88] - QUAD $0x0b080664203a0f66 // pinsrb xmm4, byte [rsi + rax + 8], 11 - LONG $0x24748b4c; BYTE $0x38 // mov r14, qword [rsp + 56] - QUAD $0x083664203a0f4266; BYTE $0x0c // pinsrb xmm4, byte [rsi + r14 + 8], 12 - QUAD $0x081664203a0f4266; BYTE $0x0d // pinsrb xmm4, byte [rsi + r10 + 8], 13 + QUAD $0x081664203a0f4266; BYTE $0x0a // pinsrb xmm4, byte [rsi + r10 + 8], 10 + QUAD $0x000000d024bc8b4c // mov r15, qword [rsp + 208] + QUAD $0x083e64203a0f4266; BYTE $0x0b // pinsrb xmm4, byte [rsi + r15 + 8], 11 + QUAD $0x082664203a0f4266; BYTE $0x0c // pinsrb xmm4, byte [rsi + r12 + 8], 12 + QUAD $0x0d080664203a0f66 // pinsrb xmm4, byte [rsi + rax + 8], 13 QUAD $0x0e083e64203a0f66 // pinsrb xmm4, byte [rsi + rdi + 8], 14 - LONG $0x24448b48; BYTE $0x10 // mov rax, qword [rsp + 16] + LONG $0x24448b48; BYTE $0x40 // mov rax, qword [rsp + 64] QUAD $0x0f080664203a0f66 // pinsrb xmm4, byte [rsi + rax + 8], 15 LONG $0x740f4166; BYTE $0xe1 // pcmpeqb xmm4, xmm9 LONG $0xdb0f4166; BYTE $0xe0 // pand xmm4, xmm8 - QUAD $0x00c024946f0f4466; WORD $0x0000 // movdqa xmm10, oword [rsp + 192] + QUAD $0x00a024946f0f4466; WORD $0x0000 // movdqa xmm10, oword [rsp + 160] QUAD $0x0a1e54203a0f4666; BYTE $0x01 // pinsrb xmm10, byte [rsi + r11 + 10], 1 QUAD $0x0a2e54203a0f4666; BYTE $0x02 // pinsrb xmm10, byte [rsi + r13 + 10], 2 QUAD $0x0a0654203a0f4666; BYTE $0x03 // pinsrb xmm10, byte [rsi + r8 + 10], 3 - WORD $0x894d; BYTE $0xc4 // mov r12, r8 + WORD $0x894d; BYTE $0xc2 // mov r10, r8 QUAD $0x0a0e54203a0f4466; BYTE $0x04 // pinsrb xmm10, byte [rsi + rcx + 10], 4 QUAD $0x0a0e54203a0f4666; BYTE $0x05 // pinsrb xmm10, byte [rsi + r9 + 10], 5 - QUAD $0x000000b0248c8b48 // mov rcx, qword [rsp + 176] + LONG $0x244c8b48; BYTE $0x70 // mov rcx, qword [rsp + 112] QUAD $0x0a0e54203a0f4466; BYTE $0x06 // pinsrb xmm10, byte [rsi + rcx + 10], 6 - WORD $0x894d; BYTE $0xf8 // mov r8, r15 - QUAD $0x0a3e54203a0f4666; BYTE $0x07 // pinsrb xmm10, byte [rsi + r15 + 10], 7 + WORD $0x894d; BYTE $0xf0 // mov r8, r14 + QUAD $0x0a3654203a0f4666; BYTE $0x07 // pinsrb xmm10, byte [rsi + r14 + 10], 7 QUAD $0x0a1e54203a0f4466; BYTE $0x08 // pinsrb xmm10, byte [rsi + rbx + 10], 8 QUAD $0x0a1654203a0f4466; BYTE $0x09 // pinsrb xmm10, byte [rsi + rdx + 10], 9 - LONG $0x24548b48; BYTE $0x30 // mov rdx, qword [rsp + 48] + LONG $0x24548b48; BYTE $0x10 // mov rdx, qword [rsp + 16] QUAD $0x0a1654203a0f4466; BYTE $0x0a // pinsrb xmm10, byte [rsi + rdx + 10], 10 WORD $0x8948; BYTE $0xd3 // mov rbx, rdx - LONG $0x247c8b4c; BYTE $0x58 // mov r15, qword [rsp + 88] QUAD $0x0a3e54203a0f4666; BYTE $0x0b // pinsrb xmm10, byte [rsi + r15 + 10], 11 - QUAD $0x0a3654203a0f4666; BYTE $0x0c // pinsrb xmm10, byte [rsi + r14 + 10], 12 - QUAD $0x0a1654203a0f4666; BYTE $0x0d // pinsrb xmm10, byte [rsi + r10 + 10], 13 + QUAD $0x0a2654203a0f4666; BYTE $0x0c // pinsrb xmm10, byte [rsi + r12 + 10], 12 + LONG $0x24748b4c; BYTE $0x18 // mov r14, qword [rsp + 24] + QUAD $0x0a3654203a0f4666; BYTE $0x0d // pinsrb xmm10, byte [rsi + r14 + 10], 13 QUAD $0x0a3e54203a0f4466; BYTE $0x0e // pinsrb xmm10, byte [rsi + rdi + 10], 14 QUAD $0x0a0654203a0f4466; BYTE $0x0f // pinsrb xmm10, byte [rsi + rax + 10], 15 LONG $0x740f4566; BYTE $0xd1 // pcmpeqb xmm10, xmm9 QUAD $0x0000b095db0f4466; BYTE $0x00 // pand xmm10, oword 176[rbp] /* [rip + .LCPI1_11] */ LONG $0xeb0f4466; BYTE $0xd4 // por xmm10, xmm4 - LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] + LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] LONG $0x0654b60f; BYTE $0x17 // movzx edx, byte [rsi + rax + 23] LONG $0x6e0f4466; BYTE $0xc2 // movd xmm8, edx LONG $0xeb0f4466; BYTE $0xd1 // por xmm10, xmm1 - QUAD $0x00c024947f0f4466; WORD $0x0000 // movdqa oword [rsp + 192], xmm10 + QUAD $0x00a024947f0f4466; WORD $0x0000 // movdqa oword [rsp + 160], xmm10 LONG $0x0654b60f; BYTE $0x18 // movzx edx, byte [rsi + rax + 24] LONG $0x6e0f4466; BYTE $0xd2 // movd xmm10, edx QUAD $0x0b1e5c203a0f4666; BYTE $0x01 // pinsrb xmm11, byte [rsi + r11 + 11], 1 QUAD $0x0b2e5c203a0f4666; BYTE $0x02 // pinsrb xmm11, byte [rsi + r13 + 11], 2 - QUAD $0x0b265c203a0f4666; BYTE $0x03 // pinsrb xmm11, byte [rsi + r12 + 11], 3 - LONG $0x24448b48; BYTE $0x50 // mov rax, qword [rsp + 80] + QUAD $0x0b165c203a0f4666; BYTE $0x03 // pinsrb xmm11, byte [rsi + r10 + 11], 3 + LONG $0x24448b48; BYTE $0x30 // mov rax, qword [rsp + 48] QUAD $0x0b065c203a0f4466; BYTE $0x04 // pinsrb xmm11, byte [rsi + rax + 11], 4 QUAD $0x0b0e5c203a0f4666; BYTE $0x05 // pinsrb xmm11, byte [rsi + r9 + 11], 5 QUAD $0x0b0e5c203a0f4466; BYTE $0x06 // pinsrb xmm11, byte [rsi + rcx + 11], 6 WORD $0x894c; BYTE $0xc7 // mov rdi, r8 QUAD $0x0b065c203a0f4666; BYTE $0x07 // pinsrb xmm11, byte [rsi + r8 + 11], 7 - LONG $0x24448b4c; BYTE $0x48 // mov r8, qword [rsp + 72] + LONG $0x24448b4c; BYTE $0x38 // mov r8, qword [rsp + 56] QUAD $0x0b065c203a0f4666; BYTE $0x08 // pinsrb xmm11, byte [rsi + r8 + 11], 8 - QUAD $0x00000080248c8b4c // mov r9, qword [rsp + 128] + LONG $0x244c8b4c; BYTE $0x78 // mov r9, qword [rsp + 120] QUAD $0x0b0e5c203a0f4666; BYTE $0x09 // pinsrb xmm11, byte [rsi + r9 + 11], 9 QUAD $0x0b1e5c203a0f4466; BYTE $0x0a // pinsrb xmm11, byte [rsi + rbx + 11], 10 - WORD $0x894d; BYTE $0xfe // mov r14, r15 QUAD $0x0b3e5c203a0f4666; BYTE $0x0b // pinsrb xmm11, byte [rsi + r15 + 11], 11 - LONG $0x247c8b4c; BYTE $0x38 // mov r15, qword [rsp + 56] - QUAD $0x0b3e5c203a0f4666; BYTE $0x0c // pinsrb xmm11, byte [rsi + r15 + 11], 12 - QUAD $0x0b165c203a0f4666; BYTE $0x0d // pinsrb xmm11, byte [rsi + r10 + 11], 13 - LONG $0x24648b4c; BYTE $0x18 // mov r12, qword [rsp + 24] - QUAD $0x0b265c203a0f4666; BYTE $0x0e // pinsrb xmm11, byte [rsi + r12 + 11], 14 - LONG $0x24548b48; BYTE $0x10 // mov rdx, qword [rsp + 16] + QUAD $0x0b265c203a0f4666; BYTE $0x0c // pinsrb xmm11, byte [rsi + r12 + 11], 12 + WORD $0x894d; BYTE $0xf2 // mov r10, r14 + QUAD $0x0b365c203a0f4666; BYTE $0x0d // pinsrb xmm11, byte [rsi + r14 + 11], 13 + LONG $0x24748b4c; BYTE $0x48 // mov r14, qword [rsp + 72] + QUAD $0x0b365c203a0f4666; BYTE $0x0e // pinsrb xmm11, byte [rsi + r14 + 11], 14 + LONG $0x24548b48; BYTE $0x40 // mov rdx, qword [rsp + 64] QUAD $0x0b165c203a0f4466; BYTE $0x0f // pinsrb xmm11, byte [rsi + rdx + 11], 15 QUAD $0x0c1e6c203a0f4666; BYTE $0x01 // pinsrb xmm13, byte [rsi + r11 + 12], 1 QUAD $0x0c2e6c203a0f4666; BYTE $0x02 // pinsrb xmm13, byte [rsi + r13 + 12], 2 - LONG $0x245c8b48; BYTE $0x68 // mov rbx, qword [rsp + 104] + LONG $0x245c8b48; BYTE $0x60 // mov rbx, qword [rsp + 96] QUAD $0x0c1e6c203a0f4466; BYTE $0x03 // pinsrb xmm13, byte [rsi + rbx + 12], 3 QUAD $0x0c066c203a0f4466; BYTE $0x04 // pinsrb xmm13, byte [rsi + rax + 12], 4 - LONG $0x24448b48; BYTE $0x60 // mov rax, qword [rsp + 96] + LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] QUAD $0x0c066c203a0f4466; BYTE $0x05 // pinsrb xmm13, byte [rsi + rax + 12], 5 QUAD $0x0c0e6c203a0f4466; BYTE $0x06 // pinsrb xmm13, byte [rsi + rcx + 12], 6 QUAD $0x0c3e6c203a0f4466; BYTE $0x07 // pinsrb xmm13, byte [rsi + rdi + 12], 7 QUAD $0x0c066c203a0f4666; BYTE $0x08 // pinsrb xmm13, byte [rsi + r8 + 12], 8 QUAD $0x0c0e6c203a0f4666; BYTE $0x09 // pinsrb xmm13, byte [rsi + r9 + 12], 9 - LONG $0x245c8b48; BYTE $0x30 // mov rbx, qword [rsp + 48] + LONG $0x245c8b48; BYTE $0x10 // mov rbx, qword [rsp + 16] QUAD $0x0c1e6c203a0f4466; BYTE $0x0a // pinsrb xmm13, byte [rsi + rbx + 12], 10 - QUAD $0x0c366c203a0f4666; BYTE $0x0b // pinsrb xmm13, byte [rsi + r14 + 12], 11 - QUAD $0x0c3e6c203a0f4666; BYTE $0x0c // pinsrb xmm13, byte [rsi + r15 + 12], 12 + QUAD $0x0c3e6c203a0f4666; BYTE $0x0b // pinsrb xmm13, byte [rsi + r15 + 12], 11 + QUAD $0x0c266c203a0f4666; BYTE $0x0c // pinsrb xmm13, byte [rsi + r12 + 12], 12 QUAD $0x0c166c203a0f4666; BYTE $0x0d // pinsrb xmm13, byte [rsi + r10 + 12], 13 WORD $0x894d; BYTE $0xd3 // mov r11, r10 - QUAD $0x0c266c203a0f4666; BYTE $0x0e // pinsrb xmm13, byte [rsi + r12 + 12], 14 + QUAD $0x0c366c203a0f4666; BYTE $0x0e // pinsrb xmm13, byte [rsi + r14 + 12], 14 QUAD $0x0c166c203a0f4466; BYTE $0x0f // pinsrb xmm13, byte [rsi + rdx + 12], 15 - LONG $0x24548b4c; BYTE $0x28 // mov r10, qword [rsp + 40] + LONG $0x24548b4c; BYTE $0x08 // mov r10, qword [rsp + 8] QUAD $0x0d1664203a0f4666; BYTE $0x01 // pinsrb xmm12, byte [rsi + r10 + 13], 1 QUAD $0x0d2e64203a0f4666; BYTE $0x02 // pinsrb xmm12, byte [rsi + r13 + 13], 2 - LONG $0x246c8b4c; BYTE $0x68 // mov r13, qword [rsp + 104] + LONG $0x246c8b4c; BYTE $0x60 // mov r13, qword [rsp + 96] QUAD $0x0d2e64203a0f4666; BYTE $0x03 // pinsrb xmm12, byte [rsi + r13 + 13], 3 - LONG $0x245c8b48; BYTE $0x50 // mov rbx, qword [rsp + 80] + LONG $0x245c8b48; BYTE $0x30 // mov rbx, qword [rsp + 48] QUAD $0x0d1e64203a0f4466; BYTE $0x04 // pinsrb xmm12, byte [rsi + rbx + 13], 4 QUAD $0x0d0664203a0f4466; BYTE $0x05 // pinsrb xmm12, byte [rsi + rax + 13], 5 QUAD $0x0d0e64203a0f4466; BYTE $0x06 // pinsrb xmm12, byte [rsi + rcx + 13], 6 QUAD $0x0d3e64203a0f4466; BYTE $0x07 // pinsrb xmm12, byte [rsi + rdi + 13], 7 QUAD $0x0d0664203a0f4666; BYTE $0x08 // pinsrb xmm12, byte [rsi + r8 + 13], 8 QUAD $0x0d0e64203a0f4666; BYTE $0x09 // pinsrb xmm12, byte [rsi + r9 + 13], 9 - LONG $0x245c8b48; BYTE $0x30 // mov rbx, qword [rsp + 48] + LONG $0x245c8b48; BYTE $0x10 // mov rbx, qword [rsp + 16] QUAD $0x0d1e64203a0f4466; BYTE $0x0a // pinsrb xmm12, byte [rsi + rbx + 13], 10 - QUAD $0x0d3664203a0f4666; BYTE $0x0b // pinsrb xmm12, byte [rsi + r14 + 13], 11 - QUAD $0x0d3e64203a0f4666; BYTE $0x0c // pinsrb xmm12, byte [rsi + r15 + 13], 12 + QUAD $0x0d3e64203a0f4666; BYTE $0x0b // pinsrb xmm12, byte [rsi + r15 + 13], 11 + QUAD $0x0d2664203a0f4666; BYTE $0x0c // pinsrb xmm12, byte [rsi + r12 + 13], 12 QUAD $0x0d1e64203a0f4666; BYTE $0x0d // pinsrb xmm12, byte [rsi + r11 + 13], 13 - QUAD $0x0d2664203a0f4666; BYTE $0x0e // pinsrb xmm12, byte [rsi + r12 + 13], 14 + QUAD $0x0d3664203a0f4666; BYTE $0x0e // pinsrb xmm12, byte [rsi + r14 + 13], 14 QUAD $0x0d1664203a0f4466; BYTE $0x0f // pinsrb xmm12, byte [rsi + rdx + 13], 15 LONG $0x740f4566; BYTE $0xd9 // pcmpeqb xmm11, xmm9 QUAD $0x0000c09ddb0f4466; BYTE $0x00 // pand xmm11, oword 192[rbp] /* [rip + .LCPI1_12] */ LONG $0x740f4566; BYTE $0xe9 // pcmpeqb xmm13, xmm9 QUAD $0x0000d0addb0f4466; BYTE $0x00 // pand xmm13, oword 208[rbp] /* [rip + .LCPI1_13] */ LONG $0xeb0f4566; BYTE $0xeb // por xmm13, xmm11 - LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] + LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] LONG $0x0654b60f; BYTE $0x19 // movzx edx, byte [rsi + rax + 25] LONG $0xca6e0f66 // movd xmm1, edx LONG $0x740f4566; BYTE $0xe1 // pcmpeqb xmm12, xmm9 @@ -6114,32 +6568,32 @@ LBB1_87: LONG $0xeb0f4566; BYTE $0xe5 // por xmm12, xmm13 LONG $0x0654b60f; BYTE $0x1a // movzx edx, byte [rsi + rax + 26] LONG $0x6e0f4466; BYTE $0xda // movd xmm11, edx - QUAD $0x00012024a46f0f66; BYTE $0x00 // movdqa xmm4, oword [rsp + 288] + QUAD $0x0000f024a46f0f66; BYTE $0x00 // movdqa xmm4, oword [rsp + 240] QUAD $0x0e1664203a0f4266; BYTE $0x01 // pinsrb xmm4, byte [rsi + r10 + 14], 1 - LONG $0x24648b4c; BYTE $0x40 // mov r12, qword [rsp + 64] - QUAD $0x0e2664203a0f4266; BYTE $0x02 // pinsrb xmm4, byte [rsi + r12 + 14], 2 + LONG $0x24748b4c; BYTE $0x50 // mov r14, qword [rsp + 80] + QUAD $0x0e3664203a0f4266; BYTE $0x02 // pinsrb xmm4, byte [rsi + r14 + 14], 2 WORD $0x894d; BYTE $0xea // mov r10, r13 QUAD $0x0e2e64203a0f4266; BYTE $0x03 // pinsrb xmm4, byte [rsi + r13 + 14], 3 - LONG $0x245c8b4c; BYTE $0x50 // mov r11, qword [rsp + 80] + LONG $0x245c8b4c; BYTE $0x30 // mov r11, qword [rsp + 48] QUAD $0x0e1e64203a0f4266; BYTE $0x04 // pinsrb xmm4, byte [rsi + r11 + 14], 4 - LONG $0x24448b48; BYTE $0x60 // mov rax, qword [rsp + 96] + LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] QUAD $0x050e0664203a0f66 // pinsrb xmm4, byte [rsi + rax + 14], 5 QUAD $0x060e0e64203a0f66 // pinsrb xmm4, byte [rsi + rcx + 14], 6 QUAD $0x070e3e64203a0f66 // pinsrb xmm4, byte [rsi + rdi + 14], 7 QUAD $0x0e0664203a0f4266; BYTE $0x08 // pinsrb xmm4, byte [rsi + r8 + 14], 8 QUAD $0x0e0e64203a0f4266; BYTE $0x09 // pinsrb xmm4, byte [rsi + r9 + 14], 9 QUAD $0x0a0e1e64203a0f66 // pinsrb xmm4, byte [rsi + rbx + 14], 10 - QUAD $0x0e3664203a0f4266; BYTE $0x0b // pinsrb xmm4, byte [rsi + r14 + 14], 11 - QUAD $0x0e3e64203a0f4266; BYTE $0x0c // pinsrb xmm4, byte [rsi + r15 + 14], 12 - LONG $0x24548b48; BYTE $0x70 // mov rdx, qword [rsp + 112] + QUAD $0x0e3e64203a0f4266; BYTE $0x0b // pinsrb xmm4, byte [rsi + r15 + 14], 11 + QUAD $0x0e2664203a0f4266; BYTE $0x0c // pinsrb xmm4, byte [rsi + r12 + 14], 12 + LONG $0x24548b48; BYTE $0x18 // mov rdx, qword [rsp + 24] QUAD $0x0d0e1664203a0f66 // pinsrb xmm4, byte [rsi + rdx + 14], 13 - LONG $0x246c8b4c; BYTE $0x18 // mov r13, qword [rsp + 24] + LONG $0x246c8b4c; BYTE $0x48 // mov r13, qword [rsp + 72] QUAD $0x0e2e64203a0f4266; BYTE $0x0e // pinsrb xmm4, byte [rsi + r13 + 14], 14 - LONG $0x24548b48; BYTE $0x10 // mov rdx, qword [rsp + 16] + LONG $0x24548b48; BYTE $0x40 // mov rdx, qword [rsp + 64] QUAD $0x0f0e1664203a0f66 // pinsrb xmm4, byte [rsi + rdx + 14], 15 - LONG $0x24548b48; BYTE $0x28 // mov rdx, qword [rsp + 40] + LONG $0x24548b48; BYTE $0x08 // mov rdx, qword [rsp + 8] QUAD $0x0f1674203a0f4466; BYTE $0x01 // pinsrb xmm14, byte [rsi + rdx + 15], 1 - QUAD $0x0f2674203a0f4666; BYTE $0x02 // pinsrb xmm14, byte [rsi + r12 + 15], 2 + QUAD $0x0f3674203a0f4666; BYTE $0x02 // pinsrb xmm14, byte [rsi + r14 + 15], 2 QUAD $0x0f1674203a0f4666; BYTE $0x03 // pinsrb xmm14, byte [rsi + r10 + 15], 3 QUAD $0x0f1e74203a0f4666; BYTE $0x04 // pinsrb xmm14, byte [rsi + r11 + 15], 4 QUAD $0x0f0674203a0f4466; BYTE $0x05 // pinsrb xmm14, byte [rsi + rax + 15], 5 @@ -6148,16 +6602,16 @@ LBB1_87: QUAD $0x0f0674203a0f4666; BYTE $0x08 // pinsrb xmm14, byte [rsi + r8 + 15], 8 QUAD $0x0f0e74203a0f4666; BYTE $0x09 // pinsrb xmm14, byte [rsi + r9 + 15], 9 QUAD $0x0f1e74203a0f4466; BYTE $0x0a // pinsrb xmm14, byte [rsi + rbx + 15], 10 - QUAD $0x0f3674203a0f4666; BYTE $0x0b // pinsrb xmm14, byte [rsi + r14 + 15], 11 - QUAD $0x0f3e74203a0f4666; BYTE $0x0c // pinsrb xmm14, byte [rsi + r15 + 15], 12 - LONG $0x24548b48; BYTE $0x70 // mov rdx, qword [rsp + 112] + QUAD $0x0f3e74203a0f4666; BYTE $0x0b // pinsrb xmm14, byte [rsi + r15 + 15], 11 + QUAD $0x0f2674203a0f4666; BYTE $0x0c // pinsrb xmm14, byte [rsi + r12 + 15], 12 + LONG $0x24548b48; BYTE $0x18 // mov rdx, qword [rsp + 24] QUAD $0x0f1674203a0f4466; BYTE $0x0d // pinsrb xmm14, byte [rsi + rdx + 15], 13 QUAD $0x0f2e74203a0f4666; BYTE $0x0e // pinsrb xmm14, byte [rsi + r13 + 15], 14 - LONG $0x24548b48; BYTE $0x10 // mov rdx, qword [rsp + 16] + LONG $0x24548b48; BYTE $0x40 // mov rdx, qword [rsp + 64] QUAD $0x0f1674203a0f4466; BYTE $0x0f // pinsrb xmm14, byte [rsi + rdx + 15], 15 - LONG $0x24548b48; BYTE $0x28 // mov rdx, qword [rsp + 40] + LONG $0x24548b48; BYTE $0x08 // mov rdx, qword [rsp + 8] QUAD $0x10167c203a0f4466; BYTE $0x01 // pinsrb xmm15, byte [rsi + rdx + 16], 1 - QUAD $0x10267c203a0f4666; BYTE $0x02 // pinsrb xmm15, byte [rsi + r12 + 16], 2 + QUAD $0x10367c203a0f4666; BYTE $0x02 // pinsrb xmm15, byte [rsi + r14 + 16], 2 QUAD $0x10167c203a0f4666; BYTE $0x03 // pinsrb xmm15, byte [rsi + r10 + 16], 3 QUAD $0x101e7c203a0f4666; BYTE $0x04 // pinsrb xmm15, byte [rsi + r11 + 16], 4 QUAD $0x10067c203a0f4466; BYTE $0x05 // pinsrb xmm15, byte [rsi + rax + 16], 5 @@ -6166,14 +6620,14 @@ LBB1_87: QUAD $0x10067c203a0f4666; BYTE $0x08 // pinsrb xmm15, byte [rsi + r8 + 16], 8 QUAD $0x100e7c203a0f4666; BYTE $0x09 // pinsrb xmm15, byte [rsi + r9 + 16], 9 QUAD $0x101e7c203a0f4466; BYTE $0x0a // pinsrb xmm15, byte [rsi + rbx + 16], 10 - QUAD $0x10367c203a0f4666; BYTE $0x0b // pinsrb xmm15, byte [rsi + r14 + 16], 11 - QUAD $0x103e7c203a0f4666; BYTE $0x0c // pinsrb xmm15, byte [rsi + r15 + 16], 12 - LONG $0x24548b48; BYTE $0x70 // mov rdx, qword [rsp + 112] + QUAD $0x103e7c203a0f4666; BYTE $0x0b // pinsrb xmm15, byte [rsi + r15 + 16], 11 + QUAD $0x10267c203a0f4666; BYTE $0x0c // pinsrb xmm15, byte [rsi + r12 + 16], 12 + LONG $0x24548b48; BYTE $0x18 // mov rdx, qword [rsp + 24] QUAD $0x10167c203a0f4466; BYTE $0x0d // pinsrb xmm15, byte [rsi + rdx + 16], 13 QUAD $0x102e7c203a0f4666; BYTE $0x0e // pinsrb xmm15, byte [rsi + r13 + 16], 14 - LONG $0x24548b48; BYTE $0x28 // mov rdx, qword [rsp + 40] + LONG $0x24548b48; BYTE $0x08 // mov rdx, qword [rsp + 8] QUAD $0x01111644203a0f66 // pinsrb xmm0, byte [rsi + rdx + 17], 1 - QUAD $0x112644203a0f4266; BYTE $0x02 // pinsrb xmm0, byte [rsi + r12 + 17], 2 + QUAD $0x113644203a0f4266; BYTE $0x02 // pinsrb xmm0, byte [rsi + r14 + 17], 2 QUAD $0x111644203a0f4266; BYTE $0x03 // pinsrb xmm0, byte [rsi + r10 + 17], 3 QUAD $0x111e44203a0f4266; BYTE $0x04 // pinsrb xmm0, byte [rsi + r11 + 17], 4 QUAD $0x05110644203a0f66 // pinsrb xmm0, byte [rsi + rax + 17], 5 @@ -6183,26 +6637,26 @@ LBB1_87: QUAD $0x110644203a0f4266; BYTE $0x08 // pinsrb xmm0, byte [rsi + r8 + 17], 8 QUAD $0x110e44203a0f4266; BYTE $0x09 // pinsrb xmm0, byte [rsi + r9 + 17], 9 QUAD $0x0a111e44203a0f66 // pinsrb xmm0, byte [rsi + rbx + 17], 10 - QUAD $0x113644203a0f4266; BYTE $0x0b // pinsrb xmm0, byte [rsi + r14 + 17], 11 - QUAD $0x113e44203a0f4266; BYTE $0x0c // pinsrb xmm0, byte [rsi + r15 + 17], 12 - LONG $0x24448b48; BYTE $0x70 // mov rax, qword [rsp + 112] + QUAD $0x113e44203a0f4266; BYTE $0x0b // pinsrb xmm0, byte [rsi + r15 + 17], 11 + QUAD $0x112644203a0f4266; BYTE $0x0c // pinsrb xmm0, byte [rsi + r12 + 17], 12 + LONG $0x24448b48; BYTE $0x18 // mov rax, qword [rsp + 24] QUAD $0x0d110644203a0f66 // pinsrb xmm0, byte [rsi + rax + 17], 13 - LONG $0x24548b48; BYTE $0x18 // mov rdx, qword [rsp + 24] + LONG $0x24548b48; BYTE $0x48 // mov rdx, qword [rsp + 72] QUAD $0x0e111644203a0f66 // pinsrb xmm0, byte [rsi + rdx + 17], 14 - QUAD $0x00c024a4eb0f4466; WORD $0x0000 // por xmm12, oword [rsp + 192] - LONG $0x24648b4c; BYTE $0x20 // mov r12, qword [rsp + 32] - LONG $0x54b60f42; WORD $0x1b26 // movzx edx, byte [rsi + r12 + 27] + QUAD $0x00a024a4eb0f4466; WORD $0x0000 // por xmm12, oword [rsp + 160] + LONG $0x24748b4c; BYTE $0x28 // mov r14, qword [rsp + 40] + LONG $0x54b60f42; WORD $0x1b36 // movzx edx, byte [rsi + r14 + 27] LONG $0x6e0f4466; BYTE $0xca // movd xmm9, edx - QUAD $0x00d024ac6f0f4466; WORD $0x0000 // movdqa xmm13, oword [rsp + 208] + QUAD $0x00c024ac6f0f4466; WORD $0x0000 // movdqa xmm13, oword [rsp + 192] LONG $0x740f4166; BYTE $0xe5 // pcmpeqb xmm4, xmm13 QUAD $0x000000f0a5db0f66 // pand xmm4, oword 240[rbp] /* [rip + .LCPI1_15] */ LONG $0x740f4566; BYTE $0xf5 // pcmpeqb xmm14, xmm13 LONG $0x710f4166; WORD $0x07f6 // psllw xmm14, 7 LONG $0xdb0f4466; WORD $0x6075 // pand xmm14, oword 96[rbp] /* [rip + .LCPI1_6] */ LONG $0xeb0f4466; BYTE $0xf4 // por xmm14, xmm4 - LONG $0x54b60f42; WORD $0x1c26 // movzx edx, byte [rsi + r12 + 28] + LONG $0x54b60f42; WORD $0x1c36 // movzx edx, byte [rsi + r14 + 28] LONG $0xe26e0f66 // movd xmm4, edx - LONG $0x24448b4c; BYTE $0x10 // mov r8, qword [rsp + 16] + LONG $0x24448b4c; BYTE $0x40 // mov r8, qword [rsp + 64] QUAD $0x110644203a0f4266; BYTE $0x0f // pinsrb xmm0, byte [rsi + r8 + 17], 15 LONG $0xeb0f4566; BYTE $0xf4 // por xmm14, xmm12 LONG $0x740f4166; BYTE $0xc5 // pcmpeqb xmm0, xmm13 @@ -6210,54 +6664,54 @@ LBB1_87: QUAD $0x0000a0a56f0f4466; BYTE $0x00 // movdqa xmm12, oword 160[rbp] /* [rip + .LCPI1_10] */ LONG $0xdb0f4566; BYTE $0xec // pand xmm13, xmm12 LONG $0xf80f4466; BYTE $0xe8 // psubb xmm13, xmm0 - QUAD $0x00c024ac7f0f4466; WORD $0x0000 // movdqa oword [rsp + 192], xmm13 - LONG $0x54b60f42; WORD $0x1d26 // movzx edx, byte [rsi + r12 + 29] + QUAD $0x00a024ac7f0f4466; WORD $0x0000 // movdqa oword [rsp + 160], xmm13 + LONG $0x54b60f42; WORD $0x1d36 // movzx edx, byte [rsi + r14 + 29] LONG $0x6e0f4466; BYTE $0xea // movd xmm13, edx QUAD $0x10067c203a0f4666; BYTE $0x0f // pinsrb xmm15, byte [rsi + r8 + 16], 15 - QUAD $0x0000d024846f0f66; BYTE $0x00 // movdqa xmm0, oword [rsp + 208] + QUAD $0x0000c024846f0f66; BYTE $0x00 // movdqa xmm0, oword [rsp + 192] LONG $0x740f4466; BYTE $0xf8 // pcmpeqb xmm15, xmm0 - LONG $0x24648b4c; BYTE $0x28 // mov r12, qword [rsp + 40] - QUAD $0x12266c203a0f4266; BYTE $0x01 // pinsrb xmm5, byte [rsi + r12 + 18], 1 - LONG $0x24548b48; BYTE $0x40 // mov rdx, qword [rsp + 64] + LONG $0x24748b4c; BYTE $0x08 // mov r14, qword [rsp + 8] + QUAD $0x12366c203a0f4266; BYTE $0x01 // pinsrb xmm5, byte [rsi + r14 + 18], 1 + LONG $0x24548b48; BYTE $0x50 // mov rdx, qword [rsp + 80] QUAD $0x0212166c203a0f66 // pinsrb xmm5, byte [rsi + rdx + 18], 2 QUAD $0x12166c203a0f4266; BYTE $0x03 // pinsrb xmm5, byte [rsi + r10 + 18], 3 QUAD $0x121e6c203a0f4266; BYTE $0x04 // pinsrb xmm5, byte [rsi + r11 + 18], 4 QUAD $0x122e6c203a0f4266; BYTE $0x05 // pinsrb xmm5, byte [rsi + r13 + 18], 5 QUAD $0x06120e6c203a0f66 // pinsrb xmm5, byte [rsi + rcx + 18], 6 QUAD $0x07123e6c203a0f66 // pinsrb xmm5, byte [rsi + rdi + 18], 7 - LONG $0x24548b48; BYTE $0x48 // mov rdx, qword [rsp + 72] + LONG $0x24548b48; BYTE $0x38 // mov rdx, qword [rsp + 56] QUAD $0x0812166c203a0f66 // pinsrb xmm5, byte [rsi + rdx + 18], 8 QUAD $0x120e6c203a0f4266; BYTE $0x09 // pinsrb xmm5, byte [rsi + r9 + 18], 9 QUAD $0x0a121e6c203a0f66 // pinsrb xmm5, byte [rsi + rbx + 18], 10 - QUAD $0x12366c203a0f4266; BYTE $0x0b // pinsrb xmm5, byte [rsi + r14 + 18], 11 - QUAD $0x123e6c203a0f4266; BYTE $0x0c // pinsrb xmm5, byte [rsi + r15 + 18], 12 + QUAD $0x123e6c203a0f4266; BYTE $0x0b // pinsrb xmm5, byte [rsi + r15 + 18], 11 + QUAD $0x12266c203a0f4266; BYTE $0x0c // pinsrb xmm5, byte [rsi + r12 + 18], 12 QUAD $0x0d12066c203a0f66 // pinsrb xmm5, byte [rsi + rax + 18], 13 - LONG $0x24448b48; BYTE $0x18 // mov rax, qword [rsp + 24] + LONG $0x24448b48; BYTE $0x48 // mov rax, qword [rsp + 72] QUAD $0x0e12066c203a0f66 // pinsrb xmm5, byte [rsi + rax + 18], 14 LONG $0xdb0f4566; BYTE $0xfc // pand xmm15, xmm12 QUAD $0x12066c203a0f4266; BYTE $0x0f // pinsrb xmm5, byte [rsi + r8 + 18], 15 LONG $0xe8740f66 // pcmpeqb xmm5, xmm0 QUAD $0x000000b0addb0f66 // pand xmm5, oword 176[rbp] /* [rip + .LCPI1_11] */ LONG $0xeb0f4166; BYTE $0xef // por xmm5, xmm15 - LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] + LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] LONG $0x0654b60f; BYTE $0x1e // movzx edx, byte [rsi + rax + 30] LONG $0x6e0f4466; BYTE $0xe2 // movd xmm12, edx - QUAD $0x13267c203a0f4266; BYTE $0x01 // pinsrb xmm7, byte [rsi + r12 + 19], 1 - QUAD $0x142674203a0f4266; BYTE $0x01 // pinsrb xmm6, byte [rsi + r12 + 20], 1 - QUAD $0x152654203a0f4266; BYTE $0x01 // pinsrb xmm2, byte [rsi + r12 + 21], 1 - QUAD $0x16265c203a0f4266; BYTE $0x01 // pinsrb xmm3, byte [rsi + r12 + 22], 1 - QUAD $0x172644203a0f4666; BYTE $0x01 // pinsrb xmm8, byte [rsi + r12 + 23], 1 - QUAD $0x182654203a0f4666; BYTE $0x01 // pinsrb xmm10, byte [rsi + r12 + 24], 1 - QUAD $0x19264c203a0f4266; BYTE $0x01 // pinsrb xmm1, byte [rsi + r12 + 25], 1 - QUAD $0x1a265c203a0f4666; BYTE $0x01 // pinsrb xmm11, byte [rsi + r12 + 26], 1 - QUAD $0x1b264c203a0f4666; BYTE $0x01 // pinsrb xmm9, byte [rsi + r12 + 27], 1 - QUAD $0x1c2664203a0f4266; BYTE $0x01 // pinsrb xmm4, byte [rsi + r12 + 28], 1 - QUAD $0x1d266c203a0f4666; BYTE $0x01 // pinsrb xmm13, byte [rsi + r12 + 29], 1 - QUAD $0x1e2664203a0f4666; BYTE $0x01 // pinsrb xmm12, byte [rsi + r12 + 30], 1 + QUAD $0x13367c203a0f4266; BYTE $0x01 // pinsrb xmm7, byte [rsi + r14 + 19], 1 + QUAD $0x143674203a0f4266; BYTE $0x01 // pinsrb xmm6, byte [rsi + r14 + 20], 1 + QUAD $0x153654203a0f4266; BYTE $0x01 // pinsrb xmm2, byte [rsi + r14 + 21], 1 + QUAD $0x16365c203a0f4266; BYTE $0x01 // pinsrb xmm3, byte [rsi + r14 + 22], 1 + QUAD $0x173644203a0f4666; BYTE $0x01 // pinsrb xmm8, byte [rsi + r14 + 23], 1 + QUAD $0x183654203a0f4666; BYTE $0x01 // pinsrb xmm10, byte [rsi + r14 + 24], 1 + QUAD $0x19364c203a0f4266; BYTE $0x01 // pinsrb xmm1, byte [rsi + r14 + 25], 1 + QUAD $0x1a365c203a0f4666; BYTE $0x01 // pinsrb xmm11, byte [rsi + r14 + 26], 1 + QUAD $0x1b364c203a0f4666; BYTE $0x01 // pinsrb xmm9, byte [rsi + r14 + 27], 1 + QUAD $0x1c3664203a0f4266; BYTE $0x01 // pinsrb xmm4, byte [rsi + r14 + 28], 1 + QUAD $0x1d366c203a0f4666; BYTE $0x01 // pinsrb xmm13, byte [rsi + r14 + 29], 1 + QUAD $0x1e3664203a0f4666; BYTE $0x01 // pinsrb xmm12, byte [rsi + r14 + 30], 1 LONG $0x0654b60f; BYTE $0x1f // movzx edx, byte [rsi + rax + 31] LONG $0xc26e0f66 // movd xmm0, edx - QUAD $0x1f2644203a0f4266; BYTE $0x01 // pinsrb xmm0, byte [rsi + r12 + 31], 1 - LONG $0x24548b48; BYTE $0x40 // mov rdx, qword [rsp + 64] + QUAD $0x1f3644203a0f4266; BYTE $0x01 // pinsrb xmm0, byte [rsi + r14 + 31], 1 + LONG $0x24548b48; BYTE $0x50 // mov rdx, qword [rsp + 80] QUAD $0x0213167c203a0f66 // pinsrb xmm7, byte [rsi + rdx + 19], 2 QUAD $0x02141674203a0f66 // pinsrb xmm6, byte [rsi + rdx + 20], 2 QUAD $0x02151654203a0f66 // pinsrb xmm2, byte [rsi + rdx + 21], 2 @@ -6276,15 +6730,15 @@ LBB1_87: QUAD $0x132e7c203a0f4266; BYTE $0x05 // pinsrb xmm7, byte [rsi + r13 + 19], 5 QUAD $0x06130e7c203a0f66 // pinsrb xmm7, byte [rsi + rcx + 19], 6 QUAD $0x07133e7c203a0f66 // pinsrb xmm7, byte [rsi + rdi + 19], 7 - LONG $0x24648b4c; BYTE $0x48 // mov r12, qword [rsp + 72] - QUAD $0x13267c203a0f4266; BYTE $0x08 // pinsrb xmm7, byte [rsi + r12 + 19], 8 + LONG $0x24748b4c; BYTE $0x38 // mov r14, qword [rsp + 56] + QUAD $0x13367c203a0f4266; BYTE $0x08 // pinsrb xmm7, byte [rsi + r14 + 19], 8 QUAD $0x130e7c203a0f4266; BYTE $0x09 // pinsrb xmm7, byte [rsi + r9 + 19], 9 QUAD $0x0a131e7c203a0f66 // pinsrb xmm7, byte [rsi + rbx + 19], 10 - QUAD $0x13367c203a0f4266; BYTE $0x0b // pinsrb xmm7, byte [rsi + r14 + 19], 11 - QUAD $0x133e7c203a0f4266; BYTE $0x0c // pinsrb xmm7, byte [rsi + r15 + 19], 12 - LONG $0x24548b48; BYTE $0x70 // mov rdx, qword [rsp + 112] + QUAD $0x133e7c203a0f4266; BYTE $0x0b // pinsrb xmm7, byte [rsi + r15 + 19], 11 + QUAD $0x13267c203a0f4266; BYTE $0x0c // pinsrb xmm7, byte [rsi + r12 + 19], 12 + LONG $0x24548b48; BYTE $0x18 // mov rdx, qword [rsp + 24] QUAD $0x0d13167c203a0f66 // pinsrb xmm7, byte [rsi + rdx + 19], 13 - LONG $0x24448b48; BYTE $0x18 // mov rax, qword [rsp + 24] + LONG $0x24448b48; BYTE $0x48 // mov rax, qword [rsp + 72] QUAD $0x0e13067c203a0f66 // pinsrb xmm7, byte [rsi + rax + 19], 14 QUAD $0x13067c203a0f4266; BYTE $0x0f // pinsrb xmm7, byte [rsi + r8 + 19], 15 QUAD $0x141674203a0f4266; BYTE $0x03 // pinsrb xmm6, byte [rsi + r10 + 20], 3 @@ -6292,16 +6746,16 @@ LBB1_87: QUAD $0x142e74203a0f4266; BYTE $0x05 // pinsrb xmm6, byte [rsi + r13 + 20], 5 QUAD $0x06140e74203a0f66 // pinsrb xmm6, byte [rsi + rcx + 20], 6 QUAD $0x07143e74203a0f66 // pinsrb xmm6, byte [rsi + rdi + 20], 7 - QUAD $0x142674203a0f4266; BYTE $0x08 // pinsrb xmm6, byte [rsi + r12 + 20], 8 + QUAD $0x143674203a0f4266; BYTE $0x08 // pinsrb xmm6, byte [rsi + r14 + 20], 8 QUAD $0x140e74203a0f4266; BYTE $0x09 // pinsrb xmm6, byte [rsi + r9 + 20], 9 QUAD $0x0a141e74203a0f66 // pinsrb xmm6, byte [rsi + rbx + 20], 10 - QUAD $0x143674203a0f4266; BYTE $0x0b // pinsrb xmm6, byte [rsi + r14 + 20], 11 - QUAD $0x143e74203a0f4266; BYTE $0x0c // pinsrb xmm6, byte [rsi + r15 + 20], 12 + QUAD $0x143e74203a0f4266; BYTE $0x0b // pinsrb xmm6, byte [rsi + r15 + 20], 11 + QUAD $0x142674203a0f4266; BYTE $0x0c // pinsrb xmm6, byte [rsi + r12 + 20], 12 QUAD $0x0d141674203a0f66 // pinsrb xmm6, byte [rsi + rdx + 20], 13 QUAD $0x0e140674203a0f66 // pinsrb xmm6, byte [rsi + rax + 20], 14 - QUAD $0x0000c024aceb0f66; BYTE $0x00 // por xmm5, oword [rsp + 192] + QUAD $0x0000a024aceb0f66; BYTE $0x00 // por xmm5, oword [rsp + 160] QUAD $0x140674203a0f4266; BYTE $0x0f // pinsrb xmm6, byte [rsi + r8 + 20], 15 - QUAD $0x00d024bc6f0f4466; WORD $0x0000 // movdqa xmm15, oword [rsp + 208] + QUAD $0x00c024bc6f0f4466; WORD $0x0000 // movdqa xmm15, oword [rsp + 192] LONG $0x740f4166; BYTE $0xff // pcmpeqb xmm7, xmm15 QUAD $0x000000c0bddb0f66 // pand xmm7, oword 192[rbp] /* [rip + .LCPI1_12] */ LONG $0x740f4166; BYTE $0xf7 // pcmpeqb xmm6, xmm15 @@ -6312,11 +6766,11 @@ LBB1_87: QUAD $0x152e54203a0f4266; BYTE $0x05 // pinsrb xmm2, byte [rsi + r13 + 21], 5 QUAD $0x06150e54203a0f66 // pinsrb xmm2, byte [rsi + rcx + 21], 6 QUAD $0x07153e54203a0f66 // pinsrb xmm2, byte [rsi + rdi + 21], 7 - QUAD $0x152654203a0f4266; BYTE $0x08 // pinsrb xmm2, byte [rsi + r12 + 21], 8 + QUAD $0x153654203a0f4266; BYTE $0x08 // pinsrb xmm2, byte [rsi + r14 + 21], 8 QUAD $0x150e54203a0f4266; BYTE $0x09 // pinsrb xmm2, byte [rsi + r9 + 21], 9 QUAD $0x0a151e54203a0f66 // pinsrb xmm2, byte [rsi + rbx + 21], 10 - QUAD $0x153654203a0f4266; BYTE $0x0b // pinsrb xmm2, byte [rsi + r14 + 21], 11 - QUAD $0x153e54203a0f4266; BYTE $0x0c // pinsrb xmm2, byte [rsi + r15 + 21], 12 + QUAD $0x153e54203a0f4266; BYTE $0x0b // pinsrb xmm2, byte [rsi + r15 + 21], 11 + QUAD $0x152654203a0f4266; BYTE $0x0c // pinsrb xmm2, byte [rsi + r12 + 21], 12 QUAD $0x0d151654203a0f66 // pinsrb xmm2, byte [rsi + rdx + 21], 13 QUAD $0x0e150654203a0f66 // pinsrb xmm2, byte [rsi + rax + 21], 14 QUAD $0x150654203a0f4266; BYTE $0x0f // pinsrb xmm2, byte [rsi + r8 + 21], 15 @@ -6330,11 +6784,11 @@ LBB1_87: QUAD $0x162e5c203a0f4266; BYTE $0x05 // pinsrb xmm3, byte [rsi + r13 + 22], 5 QUAD $0x06160e5c203a0f66 // pinsrb xmm3, byte [rsi + rcx + 22], 6 QUAD $0x07163e5c203a0f66 // pinsrb xmm3, byte [rsi + rdi + 22], 7 - QUAD $0x16265c203a0f4266; BYTE $0x08 // pinsrb xmm3, byte [rsi + r12 + 22], 8 + QUAD $0x16365c203a0f4266; BYTE $0x08 // pinsrb xmm3, byte [rsi + r14 + 22], 8 QUAD $0x160e5c203a0f4266; BYTE $0x09 // pinsrb xmm3, byte [rsi + r9 + 22], 9 QUAD $0x0a161e5c203a0f66 // pinsrb xmm3, byte [rsi + rbx + 22], 10 - QUAD $0x16365c203a0f4266; BYTE $0x0b // pinsrb xmm3, byte [rsi + r14 + 22], 11 - QUAD $0x163e5c203a0f4266; BYTE $0x0c // pinsrb xmm3, byte [rsi + r15 + 22], 12 + QUAD $0x163e5c203a0f4266; BYTE $0x0b // pinsrb xmm3, byte [rsi + r15 + 22], 11 + QUAD $0x16265c203a0f4266; BYTE $0x0c // pinsrb xmm3, byte [rsi + r12 + 22], 12 QUAD $0x0d16165c203a0f66 // pinsrb xmm3, byte [rsi + rdx + 22], 13 QUAD $0x0e16065c203a0f66 // pinsrb xmm3, byte [rsi + rax + 22], 14 QUAD $0x16065c203a0f4266; BYTE $0x0f // pinsrb xmm3, byte [rsi + r8 + 22], 15 @@ -6343,11 +6797,11 @@ LBB1_87: QUAD $0x172e44203a0f4666; BYTE $0x05 // pinsrb xmm8, byte [rsi + r13 + 23], 5 QUAD $0x170e44203a0f4466; BYTE $0x06 // pinsrb xmm8, byte [rsi + rcx + 23], 6 QUAD $0x173e44203a0f4466; BYTE $0x07 // pinsrb xmm8, byte [rsi + rdi + 23], 7 - QUAD $0x172644203a0f4666; BYTE $0x08 // pinsrb xmm8, byte [rsi + r12 + 23], 8 + QUAD $0x173644203a0f4666; BYTE $0x08 // pinsrb xmm8, byte [rsi + r14 + 23], 8 QUAD $0x170e44203a0f4666; BYTE $0x09 // pinsrb xmm8, byte [rsi + r9 + 23], 9 QUAD $0x171e44203a0f4466; BYTE $0x0a // pinsrb xmm8, byte [rsi + rbx + 23], 10 - QUAD $0x173644203a0f4666; BYTE $0x0b // pinsrb xmm8, byte [rsi + r14 + 23], 11 - QUAD $0x173e44203a0f4666; BYTE $0x0c // pinsrb xmm8, byte [rsi + r15 + 23], 12 + QUAD $0x173e44203a0f4666; BYTE $0x0b // pinsrb xmm8, byte [rsi + r15 + 23], 11 + QUAD $0x172644203a0f4666; BYTE $0x0c // pinsrb xmm8, byte [rsi + r12 + 23], 12 QUAD $0x171644203a0f4466; BYTE $0x0d // pinsrb xmm8, byte [rsi + rdx + 23], 13 QUAD $0x170644203a0f4466; BYTE $0x0e // pinsrb xmm8, byte [rsi + rax + 23], 14 QUAD $0x170644203a0f4666; BYTE $0x0f // pinsrb xmm8, byte [rsi + r8 + 23], 15 @@ -6364,11 +6818,11 @@ LBB1_87: QUAD $0x192e4c203a0f4266; BYTE $0x05 // pinsrb xmm1, byte [rsi + r13 + 25], 5 QUAD $0x06190e4c203a0f66 // pinsrb xmm1, byte [rsi + rcx + 25], 6 QUAD $0x07193e4c203a0f66 // pinsrb xmm1, byte [rsi + rdi + 25], 7 - QUAD $0x19264c203a0f4266; BYTE $0x08 // pinsrb xmm1, byte [rsi + r12 + 25], 8 + QUAD $0x19364c203a0f4266; BYTE $0x08 // pinsrb xmm1, byte [rsi + r14 + 25], 8 QUAD $0x190e4c203a0f4266; BYTE $0x09 // pinsrb xmm1, byte [rsi + r9 + 25], 9 QUAD $0x0a191e4c203a0f66 // pinsrb xmm1, byte [rsi + rbx + 25], 10 - QUAD $0x19364c203a0f4266; BYTE $0x0b // pinsrb xmm1, byte [rsi + r14 + 25], 11 - QUAD $0x193e4c203a0f4266; BYTE $0x0c // pinsrb xmm1, byte [rsi + r15 + 25], 12 + QUAD $0x193e4c203a0f4266; BYTE $0x0b // pinsrb xmm1, byte [rsi + r15 + 25], 11 + QUAD $0x19264c203a0f4266; BYTE $0x0c // pinsrb xmm1, byte [rsi + r12 + 25], 12 QUAD $0x0d19164c203a0f66 // pinsrb xmm1, byte [rsi + rdx + 25], 13 QUAD $0x0e19064c203a0f66 // pinsrb xmm1, byte [rsi + rax + 25], 14 QUAD $0x19064c203a0f4266; BYTE $0x0f // pinsrb xmm1, byte [rsi + r8 + 25], 15 @@ -6383,11 +6837,11 @@ LBB1_87: QUAD $0x182e54203a0f4666; BYTE $0x05 // pinsrb xmm10, byte [rsi + r13 + 24], 5 QUAD $0x180e54203a0f4466; BYTE $0x06 // pinsrb xmm10, byte [rsi + rcx + 24], 6 QUAD $0x183e54203a0f4466; BYTE $0x07 // pinsrb xmm10, byte [rsi + rdi + 24], 7 - QUAD $0x182654203a0f4666; BYTE $0x08 // pinsrb xmm10, byte [rsi + r12 + 24], 8 + QUAD $0x183654203a0f4666; BYTE $0x08 // pinsrb xmm10, byte [rsi + r14 + 24], 8 QUAD $0x180e54203a0f4666; BYTE $0x09 // pinsrb xmm10, byte [rsi + r9 + 24], 9 QUAD $0x181e54203a0f4466; BYTE $0x0a // pinsrb xmm10, byte [rsi + rbx + 24], 10 - QUAD $0x183654203a0f4666; BYTE $0x0b // pinsrb xmm10, byte [rsi + r14 + 24], 11 - QUAD $0x183e54203a0f4666; BYTE $0x0c // pinsrb xmm10, byte [rsi + r15 + 24], 12 + QUAD $0x183e54203a0f4666; BYTE $0x0b // pinsrb xmm10, byte [rsi + r15 + 24], 11 + QUAD $0x182654203a0f4666; BYTE $0x0c // pinsrb xmm10, byte [rsi + r12 + 24], 12 QUAD $0x181654203a0f4466; BYTE $0x0d // pinsrb xmm10, byte [rsi + rdx + 24], 13 QUAD $0x180654203a0f4466; BYTE $0x0e // pinsrb xmm10, byte [rsi + rax + 24], 14 QUAD $0x180654203a0f4666; BYTE $0x0f // pinsrb xmm10, byte [rsi + r8 + 24], 15 @@ -6398,11 +6852,11 @@ LBB1_87: QUAD $0x1a2e5c203a0f4666; BYTE $0x05 // pinsrb xmm11, byte [rsi + r13 + 26], 5 QUAD $0x1a0e5c203a0f4466; BYTE $0x06 // pinsrb xmm11, byte [rsi + rcx + 26], 6 QUAD $0x1a3e5c203a0f4466; BYTE $0x07 // pinsrb xmm11, byte [rsi + rdi + 26], 7 - QUAD $0x1a265c203a0f4666; BYTE $0x08 // pinsrb xmm11, byte [rsi + r12 + 26], 8 + QUAD $0x1a365c203a0f4666; BYTE $0x08 // pinsrb xmm11, byte [rsi + r14 + 26], 8 QUAD $0x1a0e5c203a0f4666; BYTE $0x09 // pinsrb xmm11, byte [rsi + r9 + 26], 9 QUAD $0x1a1e5c203a0f4466; BYTE $0x0a // pinsrb xmm11, byte [rsi + rbx + 26], 10 - QUAD $0x1a365c203a0f4666; BYTE $0x0b // pinsrb xmm11, byte [rsi + r14 + 26], 11 - QUAD $0x1a3e5c203a0f4666; BYTE $0x0c // pinsrb xmm11, byte [rsi + r15 + 26], 12 + QUAD $0x1a3e5c203a0f4666; BYTE $0x0b // pinsrb xmm11, byte [rsi + r15 + 26], 11 + QUAD $0x1a265c203a0f4666; BYTE $0x0c // pinsrb xmm11, byte [rsi + r12 + 26], 12 QUAD $0x1a165c203a0f4466; BYTE $0x0d // pinsrb xmm11, byte [rsi + rdx + 26], 13 QUAD $0x1a065c203a0f4466; BYTE $0x0e // pinsrb xmm11, byte [rsi + rax + 26], 14 QUAD $0x1a065c203a0f4666; BYTE $0x0f // pinsrb xmm11, byte [rsi + r8 + 26], 15 @@ -6415,11 +6869,11 @@ LBB1_87: QUAD $0x1b2e4c203a0f4666; BYTE $0x05 // pinsrb xmm9, byte [rsi + r13 + 27], 5 QUAD $0x1b0e4c203a0f4466; BYTE $0x06 // pinsrb xmm9, byte [rsi + rcx + 27], 6 QUAD $0x1b3e4c203a0f4466; BYTE $0x07 // pinsrb xmm9, byte [rsi + rdi + 27], 7 - QUAD $0x1b264c203a0f4666; BYTE $0x08 // pinsrb xmm9, byte [rsi + r12 + 27], 8 + QUAD $0x1b364c203a0f4666; BYTE $0x08 // pinsrb xmm9, byte [rsi + r14 + 27], 8 QUAD $0x1b0e4c203a0f4666; BYTE $0x09 // pinsrb xmm9, byte [rsi + r9 + 27], 9 QUAD $0x1b1e4c203a0f4466; BYTE $0x0a // pinsrb xmm9, byte [rsi + rbx + 27], 10 - QUAD $0x1b364c203a0f4666; BYTE $0x0b // pinsrb xmm9, byte [rsi + r14 + 27], 11 - QUAD $0x1b3e4c203a0f4666; BYTE $0x0c // pinsrb xmm9, byte [rsi + r15 + 27], 12 + QUAD $0x1b3e4c203a0f4666; BYTE $0x0b // pinsrb xmm9, byte [rsi + r15 + 27], 11 + QUAD $0x1b264c203a0f4666; BYTE $0x0c // pinsrb xmm9, byte [rsi + r12 + 27], 12 QUAD $0x1b164c203a0f4466; BYTE $0x0d // pinsrb xmm9, byte [rsi + rdx + 27], 13 QUAD $0x1b064c203a0f4466; BYTE $0x0e // pinsrb xmm9, byte [rsi + rax + 27], 14 QUAD $0x1b064c203a0f4666; BYTE $0x0f // pinsrb xmm9, byte [rsi + r8 + 27], 15 @@ -6428,11 +6882,11 @@ LBB1_87: QUAD $0x1c2e64203a0f4266; BYTE $0x05 // pinsrb xmm4, byte [rsi + r13 + 28], 5 QUAD $0x061c0e64203a0f66 // pinsrb xmm4, byte [rsi + rcx + 28], 6 QUAD $0x071c3e64203a0f66 // pinsrb xmm4, byte [rsi + rdi + 28], 7 - QUAD $0x1c2664203a0f4266; BYTE $0x08 // pinsrb xmm4, byte [rsi + r12 + 28], 8 + QUAD $0x1c3664203a0f4266; BYTE $0x08 // pinsrb xmm4, byte [rsi + r14 + 28], 8 QUAD $0x1c0e64203a0f4266; BYTE $0x09 // pinsrb xmm4, byte [rsi + r9 + 28], 9 QUAD $0x0a1c1e64203a0f66 // pinsrb xmm4, byte [rsi + rbx + 28], 10 - QUAD $0x1c3664203a0f4266; BYTE $0x0b // pinsrb xmm4, byte [rsi + r14 + 28], 11 - QUAD $0x1c3e64203a0f4266; BYTE $0x0c // pinsrb xmm4, byte [rsi + r15 + 28], 12 + QUAD $0x1c3e64203a0f4266; BYTE $0x0b // pinsrb xmm4, byte [rsi + r15 + 28], 11 + QUAD $0x1c2664203a0f4266; BYTE $0x0c // pinsrb xmm4, byte [rsi + r12 + 28], 12 QUAD $0x0d1c1664203a0f66 // pinsrb xmm4, byte [rsi + rdx + 28], 13 QUAD $0x0e1c0664203a0f66 // pinsrb xmm4, byte [rsi + rax + 28], 14 QUAD $0x1c0664203a0f4266; BYTE $0x0f // pinsrb xmm4, byte [rsi + r8 + 28], 15 @@ -6441,11 +6895,11 @@ LBB1_87: QUAD $0x1d2e6c203a0f4666; BYTE $0x05 // pinsrb xmm13, byte [rsi + r13 + 29], 5 QUAD $0x1d0e6c203a0f4466; BYTE $0x06 // pinsrb xmm13, byte [rsi + rcx + 29], 6 QUAD $0x1d3e6c203a0f4466; BYTE $0x07 // pinsrb xmm13, byte [rsi + rdi + 29], 7 - QUAD $0x1d266c203a0f4666; BYTE $0x08 // pinsrb xmm13, byte [rsi + r12 + 29], 8 + QUAD $0x1d366c203a0f4666; BYTE $0x08 // pinsrb xmm13, byte [rsi + r14 + 29], 8 QUAD $0x1d0e6c203a0f4666; BYTE $0x09 // pinsrb xmm13, byte [rsi + r9 + 29], 9 QUAD $0x1d1e6c203a0f4466; BYTE $0x0a // pinsrb xmm13, byte [rsi + rbx + 29], 10 - QUAD $0x1d366c203a0f4666; BYTE $0x0b // pinsrb xmm13, byte [rsi + r14 + 29], 11 - QUAD $0x1d3e6c203a0f4666; BYTE $0x0c // pinsrb xmm13, byte [rsi + r15 + 29], 12 + QUAD $0x1d3e6c203a0f4666; BYTE $0x0b // pinsrb xmm13, byte [rsi + r15 + 29], 11 + QUAD $0x1d266c203a0f4666; BYTE $0x0c // pinsrb xmm13, byte [rsi + r12 + 29], 12 QUAD $0x1d166c203a0f4466; BYTE $0x0d // pinsrb xmm13, byte [rsi + rdx + 29], 13 QUAD $0x1d066c203a0f4466; BYTE $0x0e // pinsrb xmm13, byte [rsi + rax + 29], 14 LONG $0x6f0f4166; BYTE $0xcf // movdqa xmm1, xmm15 @@ -6468,19 +6922,19 @@ LBB1_87: QUAD $0x061f0e44203a0f66 // pinsrb xmm0, byte [rsi + rcx + 31], 6 QUAD $0x1e3e64203a0f4466; BYTE $0x07 // pinsrb xmm12, byte [rsi + rdi + 30], 7 QUAD $0x071f3e44203a0f66 // pinsrb xmm0, byte [rsi + rdi + 31], 7 - QUAD $0x1e2664203a0f4666; BYTE $0x08 // pinsrb xmm12, byte [rsi + r12 + 30], 8 - QUAD $0x1f2644203a0f4266; BYTE $0x08 // pinsrb xmm0, byte [rsi + r12 + 31], 8 + QUAD $0x1e3664203a0f4666; BYTE $0x08 // pinsrb xmm12, byte [rsi + r14 + 30], 8 + QUAD $0x1f3644203a0f4266; BYTE $0x08 // pinsrb xmm0, byte [rsi + r14 + 31], 8 QUAD $0x1e0e64203a0f4666; BYTE $0x09 // pinsrb xmm12, byte [rsi + r9 + 30], 9 QUAD $0x1f0e44203a0f4266; BYTE $0x09 // pinsrb xmm0, byte [rsi + r9 + 31], 9 QUAD $0x1e1e64203a0f4466; BYTE $0x0a // pinsrb xmm12, byte [rsi + rbx + 30], 10 QUAD $0x0a1f1e44203a0f66 // pinsrb xmm0, byte [rsi + rbx + 31], 10 - QUAD $0x1e3664203a0f4666; BYTE $0x0b // pinsrb xmm12, byte [rsi + r14 + 30], 11 - QUAD $0x1f3644203a0f4266; BYTE $0x0b // pinsrb xmm0, byte [rsi + r14 + 31], 11 - QUAD $0x1e3e64203a0f4666; BYTE $0x0c // pinsrb xmm12, byte [rsi + r15 + 30], 12 - QUAD $0x1f3e44203a0f4266; BYTE $0x0c // pinsrb xmm0, byte [rsi + r15 + 31], 12 + QUAD $0x0000008824bc8b48 // mov rdi, qword [rsp + 136] + QUAD $0x1e3e64203a0f4666; BYTE $0x0b // pinsrb xmm12, byte [rsi + r15 + 30], 11 + QUAD $0x1f3e44203a0f4266; BYTE $0x0b // pinsrb xmm0, byte [rsi + r15 + 31], 11 + QUAD $0x1e2664203a0f4666; BYTE $0x0c // pinsrb xmm12, byte [rsi + r12 + 30], 12 + QUAD $0x1f2644203a0f4266; BYTE $0x0c // pinsrb xmm0, byte [rsi + r12 + 31], 12 QUAD $0x1e1664203a0f4466; BYTE $0x0d // pinsrb xmm12, byte [rsi + rdx + 30], 13 QUAD $0x0d1f1644203a0f66 // pinsrb xmm0, byte [rsi + rdx + 31], 13 - QUAD $0x0000008824b48b4c // mov r14, qword [rsp + 136] QUAD $0x1e0664203a0f4466; BYTE $0x0e // pinsrb xmm12, byte [rsi + rax + 30], 14 QUAD $0x0e1f0644203a0f66 // pinsrb xmm0, byte [rsi + rax + 31], 14 QUAD $0x1e0664203a0f4666; BYTE $0x0f // pinsrb xmm12, byte [rsi + r8 + 30], 15 @@ -6495,7 +6949,7 @@ LBB1_87: LONG $0xeb0f4166; BYTE $0xc5 // por xmm0, xmm13 LONG $0x6f0f4166; BYTE $0xc8 // movdqa xmm1, xmm8 LONG $0xc8600f66 // punpcklbw xmm1, xmm0 - QUAD $0x0000e024a46f0f66; BYTE $0x00 // movdqa xmm4, oword [rsp + 224] + QUAD $0x0000b024a46f0f66; BYTE $0x00 // movdqa xmm4, oword [rsp + 176] LONG $0xd46f0f66 // movdqa xmm2, xmm4 LONG $0x600f4166; BYTE $0xd6 // punpcklbw xmm2, xmm14 LONG $0xda6f0f66 // movdqa xmm3, xmm2 @@ -6507,40 +6961,40 @@ LBB1_87: LONG $0x610f4166; BYTE $0xc0 // punpcklwd xmm0, xmm8 LONG $0x690f4166; BYTE $0xe0 // punpckhwd xmm4, xmm8 QUAD $0x00000098248c8b48 // mov rcx, qword [rsp + 152] - LONG $0x7f0f41f3; WORD $0x8e64; BYTE $0x30 // movdqu oword [r14 + 4*rcx + 48], xmm4 - LONG $0x7f0f41f3; WORD $0x8e44; BYTE $0x20 // movdqu oword [r14 + 4*rcx + 32], xmm0 - LONG $0x7f0f41f3; WORD $0x8e54; BYTE $0x10 // movdqu oword [r14 + 4*rcx + 16], xmm2 - LONG $0x7f0f41f3; WORD $0x8e1c // movdqu oword [r14 + 4*rcx], xmm3 + LONG $0x647f0ff3; WORD $0x308f // movdqu oword [rdi + 4*rcx + 48], xmm4 + LONG $0x447f0ff3; WORD $0x208f // movdqu oword [rdi + 4*rcx + 32], xmm0 + LONG $0x547f0ff3; WORD $0x108f // movdqu oword [rdi + 4*rcx + 16], xmm2 + LONG $0x1c7f0ff3; BYTE $0x8f // movdqu oword [rdi + 4*rcx], xmm3 LONG $0x10c18348 // add rcx, 16 WORD $0x8948; BYTE $0xc8 // mov rax, rcx - QUAD $0x000000f8248c3b48 // cmp rcx, qword [rsp + 248] - JNE LBB1_87 + QUAD $0x000000e8248c3b48 // cmp rcx, qword [rsp + 232] + JNE LBB1_88 QUAD $0x0000010024bc8b4c // mov r15, qword [rsp + 256] - QUAD $0x000000f824bc3b4c // cmp r15, qword [rsp + 248] - LONG $0x245c8a44; BYTE $0x08 // mov r11b, byte [rsp + 8] + QUAD $0x000000e824bc3b4c // cmp r15, qword [rsp + 232] + LONG $0x245c8a44; BYTE $0x04 // mov r11b, byte [rsp + 4] QUAD $0x0000010824b48b48 // mov rsi, qword [rsp + 264] QUAD $0x0000009024948b4c // mov r10, qword [rsp + 144] - JNE LBB1_89 - JMP LBB1_92 + JNE LBB1_90 + JMP LBB1_93 -LBB1_66: +LBB1_67: LONG $0xf0e78349 // and r15, -16 WORD $0x894c; BYTE $0xf8 // mov rax, r15 LONG $0x05e0c148 // shl rax, 5 WORD $0x0148; BYTE $0xf0 // add rax, rsi QUAD $0x0000010824848948 // mov qword [rsp + 264], rax - QUAD $0x000000f824bc894c // mov qword [rsp + 248], r15 + QUAD $0x000000e824bc894c // mov qword [rsp + 232], r15 LONG $0xbe048d4b // lea rax, [r14 + 4*r15] - LONG $0x24448948; BYTE $0x50 // mov qword [rsp + 80], rax + LONG $0x24448948; BYTE $0x38 // mov qword [rsp + 56], rax LONG $0xc3b60f41 // movzx eax, r11b LONG $0xc86e0f66 // movd xmm1, eax LONG $0xc0ef0f66 // pxor xmm0, xmm0 LONG $0x00380f66; BYTE $0xc8 // pshufb xmm1, xmm0 - QUAD $0x0000b0248c7f0f66; BYTE $0x00 // movdqa oword [rsp + 176], xmm1 + QUAD $0x0000c0248c7f0f66; BYTE $0x00 // movdqa oword [rsp + 192], xmm1 WORD $0xc031 // xor eax, eax QUAD $0x0000008824b4894c // mov qword [rsp + 136], r14 -LBB1_67: +LBB1_68: WORD $0x8949; BYTE $0xc7 // mov r15, rax QUAD $0x0000009824848948 // mov qword [rsp + 152], rax LONG $0x05e7c149 // shl r15, 5 @@ -6554,7 +7008,7 @@ LBB1_67: WORD $0x894c; BYTE $0xfb // mov rbx, r15 WORD $0x894d; BYTE $0xfe // mov r14, r15 WORD $0x894c; BYTE $0xf8 // mov rax, r15 - LONG $0x247c894c; BYTE $0x70 // mov qword [rsp + 112], r15 + LONG $0x247c894c; BYTE $0x68 // mov qword [rsp + 104], r15 LONG $0x14b60f42; BYTE $0x3e // movzx edx, byte [rsi + r15] LONG $0x6e0f4466; BYTE $0xfa // movd xmm15, edx LONG $0x54b60f42; WORD $0x013e // movzx edx, byte [rsi + r15 + 1] @@ -6574,12 +7028,12 @@ LBB1_67: QUAD $0x0000d024847f0f66; BYTE $0x00 // movdqa oword [rsp + 208], xmm0 LONG $0x54b60f42; WORD $0x083e // movzx edx, byte [rsi + r15 + 8] LONG $0xc26e0f66 // movd xmm0, edx - QUAD $0x00012024847f0f66; BYTE $0x00 // movdqa oword [rsp + 288], xmm0 + QUAD $0x0000f024847f0f66; BYTE $0x00 // movdqa oword [rsp + 240], xmm0 LONG $0x54b60f42; WORD $0x093e // movzx edx, byte [rsi + r15 + 9] LONG $0x6e0f4466; BYTE $0xd2 // movd xmm10, edx LONG $0x54b60f42; WORD $0x0a3e // movzx edx, byte [rsi + r15 + 10] LONG $0xc26e0f66 // movd xmm0, edx - QUAD $0x0000a024847f0f66; BYTE $0x00 // movdqa oword [rsp + 160], xmm0 + QUAD $0x0000b024847f0f66; BYTE $0x00 // movdqa oword [rsp + 176], xmm0 LONG $0x54b60f42; WORD $0x0b3e // movzx edx, byte [rsi + r15 + 11] LONG $0x6e0f4466; BYTE $0xda // movd xmm11, edx LONG $0x54b60f42; WORD $0x0c3e // movzx edx, byte [rsi + r15 + 12] @@ -6589,13 +7043,13 @@ LBB1_67: LONG $0x54b60f42; WORD $0x0e3e // movzx edx, byte [rsi + r15 + 14] LONG $0xc26e0f66 // movd xmm0, edx QUAD $0x00011024847f0f66; BYTE $0x00 // movdqa oword [rsp + 272], xmm0 - LONG $0x247c894c; BYTE $0x38 // mov qword [rsp + 56], r15 + LONG $0x247c894c; BYTE $0x30 // mov qword [rsp + 48], r15 WORD $0x894d; BYTE $0xfd // mov r13, r15 LONG $0x20cd8349 // or r13, 32 - LONG $0x246c894c; BYTE $0x18 // mov qword [rsp + 24], r13 + LONG $0x246c894c; BYTE $0x28 // mov qword [rsp + 40], r13 LONG $0x40cf8348 // or rdi, 64 LONG $0x60c98348 // or rcx, 96 - QUAD $0x00000080248c8948 // mov qword [rsp + 128], rcx + LONG $0x244c8948; BYTE $0x78 // mov qword [rsp + 120], rcx LONG $0x80ca8149; WORD $0x0000; BYTE $0x00 // or r10, 128 LONG $0xa0c88149; WORD $0x0000; BYTE $0x00 // or r8, 160 LONG $0xc0cc8149; WORD $0x0000; BYTE $0x00 // or r12, 192 @@ -6604,52 +7058,52 @@ LBB1_67: LONG $0x20cb8148; WORD $0x0001; BYTE $0x00 // or rbx, 288 LONG $0x40ce8149; WORD $0x0001; BYTE $0x00 // or r14, 320 LONG $0x01600d48; WORD $0x0000 // or rax, 352 - LONG $0x24448948; BYTE $0x48 // mov qword [rsp + 72], rax - LONG $0x24548b48; BYTE $0x70 // mov rdx, qword [rsp + 112] + QUAD $0x0000008024848948 // mov qword [rsp + 128], rax + LONG $0x24548b48; BYTE $0x68 // mov rdx, qword [rsp + 104] LONG $0x80ca8148; WORD $0x0001; BYTE $0x00 // or rdx, 384 - LONG $0x24548948; BYTE $0x70 // mov qword [rsp + 112], rdx + LONG $0x24548948; BYTE $0x68 // mov qword [rsp + 104], rdx WORD $0x894c; BYTE $0xf8 // mov rax, r15 LONG $0x01a00d48; WORD $0x0000 // or rax, 416 - LONG $0x24448948; BYTE $0x28 // mov qword [rsp + 40], rax + LONG $0x24448948; BYTE $0x08 // mov qword [rsp + 8], rax WORD $0x894c; BYTE $0xf8 // mov rax, r15 LONG $0x01c00d48; WORD $0x0000 // or rax, 448 - LONG $0x24448948; BYTE $0x30 // mov qword [rsp + 48], rax + LONG $0x24448948; BYTE $0x20 // mov qword [rsp + 32], rax WORD $0x894c; BYTE $0xf8 // mov rax, r15 LONG $0x01e00d48; WORD $0x0000 // or rax, 480 - LONG $0x24448948; BYTE $0x20 // mov qword [rsp + 32], rax + LONG $0x24448948; BYTE $0x10 // mov qword [rsp + 16], rax QUAD $0x012e3c203a0f4666 // pinsrb xmm15, byte [rsi + r13], 1 QUAD $0x023e3c203a0f4466 // pinsrb xmm15, byte [rsi + rdi], 2 QUAD $0x030e3c203a0f4466 // pinsrb xmm15, byte [rsi + rcx], 3 QUAD $0x04163c203a0f4666 // pinsrb xmm15, byte [rsi + r10], 4 WORD $0x894d; BYTE $0xc7 // mov r15, r8 - LONG $0x2444894c; BYTE $0x78 // mov qword [rsp + 120], r8 + LONG $0x2444894c; BYTE $0x48 // mov qword [rsp + 72], r8 QUAD $0x05063c203a0f4666 // pinsrb xmm15, byte [rsi + r8], 5 - LONG $0x2464894c; BYTE $0x68 // mov qword [rsp + 104], r12 + LONG $0x2464894c; BYTE $0x60 // mov qword [rsp + 96], r12 QUAD $0x06263c203a0f4666 // pinsrb xmm15, byte [rsi + r12], 6 WORD $0x894d; BYTE $0xc8 // mov r8, r9 QUAD $0x070e3c203a0f4666 // pinsrb xmm15, byte [rsi + r9], 7 WORD $0x894d; BYTE $0xd9 // mov r9, r11 - LONG $0x245c894c; BYTE $0x10 // mov qword [rsp + 16], r11 + LONG $0x245c894c; BYTE $0x18 // mov qword [rsp + 24], r11 QUAD $0x081e3c203a0f4666 // pinsrb xmm15, byte [rsi + r11], 8 LONG $0x245c8948; BYTE $0x40 // mov qword [rsp + 64], rbx QUAD $0x091e3c203a0f4466 // pinsrb xmm15, byte [rsi + rbx], 9 - LONG $0x2474894c; BYTE $0x60 // mov qword [rsp + 96], r14 + LONG $0x2474894c; BYTE $0x58 // mov qword [rsp + 88], r14 QUAD $0x0a363c203a0f4666 // pinsrb xmm15, byte [rsi + r14], 10 - LONG $0x246c8b4c; BYTE $0x48 // mov r13, qword [rsp + 72] + QUAD $0x0000008024ac8b4c // mov r13, qword [rsp + 128] QUAD $0x0b2e3c203a0f4666 // pinsrb xmm15, byte [rsi + r13], 11 QUAD $0x0c163c203a0f4466 // pinsrb xmm15, byte [rsi + rdx], 12 - LONG $0x244c8b48; BYTE $0x28 // mov rcx, qword [rsp + 40] + LONG $0x244c8b48; BYTE $0x08 // mov rcx, qword [rsp + 8] QUAD $0x0d0e3c203a0f4466 // pinsrb xmm15, byte [rsi + rcx], 13 - LONG $0x244c8b48; BYTE $0x30 // mov rcx, qword [rsp + 48] + LONG $0x244c8b48; BYTE $0x20 // mov rcx, qword [rsp + 32] QUAD $0x0e0e3c203a0f4466 // pinsrb xmm15, byte [rsi + rcx], 14 QUAD $0x0f063c203a0f4466 // pinsrb xmm15, byte [rsi + rax], 15 - LONG $0x245c8b4c; BYTE $0x18 // mov r11, qword [rsp + 24] + LONG $0x245c8b4c; BYTE $0x28 // mov r11, qword [rsp + 40] QUAD $0x011e6c203a0f4266; BYTE $0x01 // pinsrb xmm5, byte [rsi + r11 + 1], 1 QUAD $0x02013e6c203a0f66 // pinsrb xmm5, byte [rsi + rdi + 1], 2 - QUAD $0x00000080249c8b4c // mov r11, qword [rsp + 128] + LONG $0x245c8b4c; BYTE $0x78 // mov r11, qword [rsp + 120] QUAD $0x011e6c203a0f4266; BYTE $0x03 // pinsrb xmm5, byte [rsi + r11 + 1], 3 QUAD $0x01166c203a0f4266; BYTE $0x04 // pinsrb xmm5, byte [rsi + r10 + 1], 4 - LONG $0x2454894c; BYTE $0x58 // mov qword [rsp + 88], r10 + LONG $0x2454894c; BYTE $0x50 // mov qword [rsp + 80], r10 QUAD $0x013e6c203a0f4266; BYTE $0x05 // pinsrb xmm5, byte [rsi + r15 + 1], 5 QUAD $0x01266c203a0f4266; BYTE $0x06 // pinsrb xmm5, byte [rsi + r12 + 1], 6 QUAD $0x01066c203a0f4266; BYTE $0x07 // pinsrb xmm5, byte [rsi + r8 + 1], 7 @@ -6660,46 +7114,46 @@ LBB1_67: QUAD $0x012e6c203a0f4266; BYTE $0x0b // pinsrb xmm5, byte [rsi + r13 + 1], 11 WORD $0x894d; BYTE $0xe8 // mov r8, r13 QUAD $0x0c01166c203a0f66 // pinsrb xmm5, byte [rsi + rdx + 1], 12 - LONG $0x24548b48; BYTE $0x28 // mov rdx, qword [rsp + 40] + LONG $0x24548b48; BYTE $0x08 // mov rdx, qword [rsp + 8] QUAD $0x0d01166c203a0f66 // pinsrb xmm5, byte [rsi + rdx + 1], 13 QUAD $0x0e010e6c203a0f66 // pinsrb xmm5, byte [rsi + rcx + 1], 14 QUAD $0x0f01066c203a0f66 // pinsrb xmm5, byte [rsi + rax + 1], 15 - QUAD $0x00b0248c6f0f4466; WORD $0x0000 // movdqa xmm9, oword [rsp + 176] + QUAD $0x00c0248c6f0f4466; WORD $0x0000 // movdqa xmm9, oword [rsp + 192] LONG $0x740f4166; BYTE $0xe9 // pcmpeqb xmm5, xmm9 LONG $0xfd6f0f66 // movdqa xmm7, xmm5 QUAD $0x000000a0a56f0f66 // movdqa xmm4, oword 160[rbp] /* [rip + .LCPI1_10] */ LONG $0xfcdb0f66 // pand xmm7, xmm4 LONG $0xfdf80f66 // psubb xmm7, xmm5 - LONG $0x24448b48; BYTE $0x38 // mov rax, qword [rsp + 56] + LONG $0x24448b48; BYTE $0x30 // mov rax, qword [rsp + 48] LONG $0x0654b60f; BYTE $0x0f // movzx edx, byte [rsi + rax + 15] LONG $0x6e0f4466; BYTE $0xf2 // movd xmm14, edx LONG $0x740f4566; BYTE $0xf9 // pcmpeqb xmm15, xmm9 - LONG $0x245c8b48; BYTE $0x18 // mov rbx, qword [rsp + 24] + LONG $0x245c8b48; BYTE $0x28 // mov rbx, qword [rsp + 40] QUAD $0x01021e74203a0f66 // pinsrb xmm6, byte [rsi + rbx + 2], 1 QUAD $0x02023e74203a0f66 // pinsrb xmm6, byte [rsi + rdi + 2], 2 WORD $0x894d; BYTE $0xdc // mov r12, r11 QUAD $0x021e74203a0f4266; BYTE $0x03 // pinsrb xmm6, byte [rsi + r11 + 2], 3 QUAD $0x021674203a0f4266; BYTE $0x04 // pinsrb xmm6, byte [rsi + r10 + 2], 4 - LONG $0x244c8b48; BYTE $0x78 // mov rcx, qword [rsp + 120] + LONG $0x244c8b48; BYTE $0x48 // mov rcx, qword [rsp + 72] QUAD $0x05020e74203a0f66 // pinsrb xmm6, byte [rsi + rcx + 2], 5 - LONG $0x245c8b4c; BYTE $0x68 // mov r11, qword [rsp + 104] + LONG $0x245c8b4c; BYTE $0x60 // mov r11, qword [rsp + 96] QUAD $0x021e74203a0f4266; BYTE $0x06 // pinsrb xmm6, byte [rsi + r11 + 2], 6 - QUAD $0x000000c024bc894c // mov qword [rsp + 192], r15 + LONG $0x247c894c; BYTE $0x70 // mov qword [rsp + 112], r15 QUAD $0x023e74203a0f4266; BYTE $0x07 // pinsrb xmm6, byte [rsi + r15 + 2], 7 - LONG $0x246c8b4c; BYTE $0x10 // mov r13, qword [rsp + 16] + LONG $0x246c8b4c; BYTE $0x18 // mov r13, qword [rsp + 24] QUAD $0x022e74203a0f4266; BYTE $0x08 // pinsrb xmm6, byte [rsi + r13 + 2], 8 LONG $0x24748b4c; BYTE $0x40 // mov r14, qword [rsp + 64] QUAD $0x023674203a0f4266; BYTE $0x09 // pinsrb xmm6, byte [rsi + r14 + 2], 9 - LONG $0x244c8b4c; BYTE $0x60 // mov r9, qword [rsp + 96] + LONG $0x244c8b4c; BYTE $0x58 // mov r9, qword [rsp + 88] QUAD $0x020e74203a0f4266; BYTE $0x0a // pinsrb xmm6, byte [rsi + r9 + 2], 10 QUAD $0x020674203a0f4266; BYTE $0x0b // pinsrb xmm6, byte [rsi + r8 + 2], 11 - LONG $0x24548b48; BYTE $0x70 // mov rdx, qword [rsp + 112] + LONG $0x24548b48; BYTE $0x68 // mov rdx, qword [rsp + 104] QUAD $0x0c021674203a0f66 // pinsrb xmm6, byte [rsi + rdx + 2], 12 - LONG $0x24548b4c; BYTE $0x28 // mov r10, qword [rsp + 40] + LONG $0x24548b4c; BYTE $0x08 // mov r10, qword [rsp + 8] QUAD $0x021674203a0f4266; BYTE $0x0d // pinsrb xmm6, byte [rsi + r10 + 2], 13 - LONG $0x24548b48; BYTE $0x30 // mov rdx, qword [rsp + 48] - QUAD $0x0e021674203a0f66 // pinsrb xmm6, byte [rsi + rdx + 2], 14 LONG $0x24548b48; BYTE $0x20 // mov rdx, qword [rsp + 32] + QUAD $0x0e021674203a0f66 // pinsrb xmm6, byte [rsi + rdx + 2], 14 + LONG $0x24548b48; BYTE $0x10 // mov rdx, qword [rsp + 16] QUAD $0x0f021674203a0f66 // pinsrb xmm6, byte [rsi + rdx + 2], 15 LONG $0xdb0f4466; BYTE $0xfc // pand xmm15, xmm4 LONG $0x740f4166; BYTE $0xf1 // pcmpeqb xmm6, xmm9 @@ -6712,7 +7166,7 @@ LBB1_67: QUAD $0x02033e54203a0f66 // pinsrb xmm2, byte [rsi + rdi + 3], 2 WORD $0x894c; BYTE $0xe0 // mov rax, r12 QUAD $0x032654203a0f4266; BYTE $0x03 // pinsrb xmm2, byte [rsi + r12 + 3], 3 - LONG $0x24648b4c; BYTE $0x58 // mov r12, qword [rsp + 88] + LONG $0x24648b4c; BYTE $0x50 // mov r12, qword [rsp + 80] QUAD $0x032654203a0f4266; BYTE $0x04 // pinsrb xmm2, byte [rsi + r12 + 3], 4 QUAD $0x05030e54203a0f66 // pinsrb xmm2, byte [rsi + rcx + 3], 5 QUAD $0x031e54203a0f4266; BYTE $0x06 // pinsrb xmm2, byte [rsi + r11 + 3], 6 @@ -6722,12 +7176,12 @@ LBB1_67: QUAD $0x030e54203a0f4266; BYTE $0x0a // pinsrb xmm2, byte [rsi + r9 + 3], 10 WORD $0x894d; BYTE $0xce // mov r14, r9 QUAD $0x030654203a0f4266; BYTE $0x0b // pinsrb xmm2, byte [rsi + r8 + 3], 11 - LONG $0x247c8b4c; BYTE $0x70 // mov r15, qword [rsp + 112] + LONG $0x247c8b4c; BYTE $0x68 // mov r15, qword [rsp + 104] QUAD $0x033e54203a0f4266; BYTE $0x0c // pinsrb xmm2, byte [rsi + r15 + 3], 12 QUAD $0x031654203a0f4266; BYTE $0x0d // pinsrb xmm2, byte [rsi + r10 + 3], 13 - LONG $0x246c8b4c; BYTE $0x30 // mov r13, qword [rsp + 48] + LONG $0x246c8b4c; BYTE $0x20 // mov r13, qword [rsp + 32] QUAD $0x032e54203a0f4266; BYTE $0x0e // pinsrb xmm2, byte [rsi + r13 + 3], 14 - LONG $0x24548b48; BYTE $0x20 // mov rdx, qword [rsp + 32] + LONG $0x24548b48; BYTE $0x10 // mov rdx, qword [rsp + 16] QUAD $0x0f031654203a0f66 // pinsrb xmm2, byte [rsi + rdx + 3], 15 QUAD $0x01041e4c203a0f66 // pinsrb xmm1, byte [rsi + rbx + 4], 1 QUAD $0x02043e4c203a0f66 // pinsrb xmm1, byte [rsi + rdi + 4], 2 @@ -6736,9 +7190,9 @@ LBB1_67: QUAD $0x05040e4c203a0f66 // pinsrb xmm1, byte [rsi + rcx + 4], 5 WORD $0x894c; BYTE $0xd9 // mov rcx, r11 QUAD $0x041e4c203a0f4266; BYTE $0x06 // pinsrb xmm1, byte [rsi + r11 + 4], 6 - QUAD $0x000000c0249c8b4c // mov r11, qword [rsp + 192] + LONG $0x245c8b4c; BYTE $0x70 // mov r11, qword [rsp + 112] QUAD $0x041e4c203a0f4266; BYTE $0x07 // pinsrb xmm1, byte [rsi + r11 + 4], 7 - LONG $0x244c8b4c; BYTE $0x10 // mov r9, qword [rsp + 16] + LONG $0x244c8b4c; BYTE $0x18 // mov r9, qword [rsp + 24] QUAD $0x040e4c203a0f4266; BYTE $0x08 // pinsrb xmm1, byte [rsi + r9 + 4], 8 LONG $0x245c8b48; BYTE $0x40 // mov rbx, qword [rsp + 64] QUAD $0x09041e4c203a0f66 // pinsrb xmm1, byte [rsi + rbx + 4], 9 @@ -6752,7 +7206,7 @@ LBB1_67: QUAD $0x0f04164c203a0f66 // pinsrb xmm1, byte [rsi + rdx + 4], 15 WORD $0x8949; BYTE $0xd2 // mov r10, rdx LONG $0xf7eb0f66 // por xmm6, xmm7 - LONG $0x245c8b48; BYTE $0x38 // mov rbx, qword [rsp + 56] + LONG $0x245c8b48; BYTE $0x30 // mov rbx, qword [rsp + 48] LONG $0x1e54b60f; BYTE $0x11 // movzx edx, byte [rsi + rbx + 17] LONG $0xc26e0f66 // movd xmm0, edx LONG $0x740f4166; BYTE $0xd1 // pcmpeqb xmm2, xmm9 @@ -6764,13 +7218,13 @@ LBB1_67: LONG $0xcaeb0f66 // por xmm1, xmm2 LONG $0x1e54b60f; BYTE $0x12 // movzx edx, byte [rsi + rbx + 18] LONG $0xea6e0f66 // movd xmm5, edx - LONG $0x24448b4c; BYTE $0x18 // mov r8, qword [rsp + 24] + LONG $0x24448b4c; BYTE $0x28 // mov r8, qword [rsp + 40] QUAD $0x050644203a0f4666; BYTE $0x01 // pinsrb xmm8, byte [rsi + r8 + 5], 1 QUAD $0x053e44203a0f4466; BYTE $0x02 // pinsrb xmm8, byte [rsi + rdi + 5], 2 QUAD $0x050644203a0f4466; BYTE $0x03 // pinsrb xmm8, byte [rsi + rax + 5], 3 - LONG $0x24548b48; BYTE $0x58 // mov rdx, qword [rsp + 88] + LONG $0x24548b48; BYTE $0x50 // mov rdx, qword [rsp + 80] QUAD $0x051644203a0f4466; BYTE $0x04 // pinsrb xmm8, byte [rsi + rdx + 5], 4 - LONG $0x24548b48; BYTE $0x78 // mov rdx, qword [rsp + 120] + LONG $0x24548b48; BYTE $0x48 // mov rdx, qword [rsp + 72] QUAD $0x051644203a0f4466; BYTE $0x05 // pinsrb xmm8, byte [rsi + rdx + 5], 5 QUAD $0x050e44203a0f4466; BYTE $0x06 // pinsrb xmm8, byte [rsi + rcx + 5], 6 QUAD $0x051e44203a0f4666; BYTE $0x07 // pinsrb xmm8, byte [rsi + r11 + 5], 7 @@ -6780,7 +7234,7 @@ LBB1_67: QUAD $0x052644203a0f4666; BYTE $0x0a // pinsrb xmm8, byte [rsi + r12 + 5], 10 QUAD $0x053644203a0f4666; BYTE $0x0b // pinsrb xmm8, byte [rsi + r14 + 5], 11 QUAD $0x053e44203a0f4666; BYTE $0x0c // pinsrb xmm8, byte [rsi + r15 + 5], 12 - LONG $0x244c8b48; BYTE $0x28 // mov rcx, qword [rsp + 40] + LONG $0x244c8b48; BYTE $0x08 // mov rcx, qword [rsp + 8] QUAD $0x050e44203a0f4466; BYTE $0x0d // pinsrb xmm8, byte [rsi + rcx + 5], 13 QUAD $0x052e44203a0f4666; BYTE $0x0e // pinsrb xmm8, byte [rsi + r13 + 5], 14 QUAD $0x051644203a0f4666; BYTE $0x0f // pinsrb xmm8, byte [rsi + r10 + 5], 15 @@ -6797,33 +7251,33 @@ LBB1_67: QUAD $0x06065c203a0f4266; BYTE $0x01 // pinsrb xmm3, byte [rsi + r8 + 6], 1 QUAD $0x02063e5c203a0f66 // pinsrb xmm3, byte [rsi + rdi + 6], 2 QUAD $0x0306065c203a0f66 // pinsrb xmm3, byte [rsi + rax + 6], 3 - LONG $0x245c8b4c; BYTE $0x58 // mov r11, qword [rsp + 88] + LONG $0x245c8b4c; BYTE $0x50 // mov r11, qword [rsp + 80] QUAD $0x061e5c203a0f4266; BYTE $0x04 // pinsrb xmm3, byte [rsi + r11 + 6], 4 - LONG $0x244c8b4c; BYTE $0x78 // mov r9, qword [rsp + 120] + LONG $0x244c8b4c; BYTE $0x48 // mov r9, qword [rsp + 72] QUAD $0x060e5c203a0f4266; BYTE $0x05 // pinsrb xmm3, byte [rsi + r9 + 6], 5 - LONG $0x24448b4c; BYTE $0x68 // mov r8, qword [rsp + 104] + LONG $0x24448b4c; BYTE $0x60 // mov r8, qword [rsp + 96] QUAD $0x06065c203a0f4266; BYTE $0x06 // pinsrb xmm3, byte [rsi + r8 + 6], 6 - QUAD $0x000000c024a48b4c // mov r12, qword [rsp + 192] + LONG $0x24648b4c; BYTE $0x70 // mov r12, qword [rsp + 112] QUAD $0x06265c203a0f4266; BYTE $0x07 // pinsrb xmm3, byte [rsi + r12 + 6], 7 - LONG $0x24448b48; BYTE $0x10 // mov rax, qword [rsp + 16] + LONG $0x24448b48; BYTE $0x18 // mov rax, qword [rsp + 24] QUAD $0x0806065c203a0f66 // pinsrb xmm3, byte [rsi + rax + 6], 8 LONG $0x245c8b48; BYTE $0x40 // mov rbx, qword [rsp + 64] QUAD $0x09061e5c203a0f66 // pinsrb xmm3, byte [rsi + rbx + 6], 9 - LONG $0x24748b4c; BYTE $0x60 // mov r14, qword [rsp + 96] + LONG $0x24748b4c; BYTE $0x58 // mov r14, qword [rsp + 88] QUAD $0x06365c203a0f4266; BYTE $0x0a // pinsrb xmm3, byte [rsi + r14 + 6], 10 - LONG $0x244c8b48; BYTE $0x48 // mov rcx, qword [rsp + 72] + QUAD $0x00000080248c8b48 // mov rcx, qword [rsp + 128] QUAD $0x0b060e5c203a0f66 // pinsrb xmm3, byte [rsi + rcx + 6], 11 QUAD $0x063e5c203a0f4266; BYTE $0x0c // pinsrb xmm3, byte [rsi + r15 + 6], 12 - LONG $0x24548b4c; BYTE $0x28 // mov r10, qword [rsp + 40] + LONG $0x24548b4c; BYTE $0x08 // mov r10, qword [rsp + 8] QUAD $0x06165c203a0f4266; BYTE $0x0d // pinsrb xmm3, byte [rsi + r10 + 6], 13 QUAD $0x062e5c203a0f4266; BYTE $0x0e // pinsrb xmm3, byte [rsi + r13 + 6], 14 - LONG $0x244c8b48; BYTE $0x20 // mov rcx, qword [rsp + 32] + LONG $0x244c8b48; BYTE $0x10 // mov rcx, qword [rsp + 16] QUAD $0x0f060e5c203a0f66 // pinsrb xmm3, byte [rsi + rcx + 6], 15 QUAD $0x0000d024946f0f66; BYTE $0x00 // movdqa xmm2, oword [rsp + 208] QUAD $0x01071654203a0f66 // pinsrb xmm2, byte [rsi + rdx + 7], 1 QUAD $0x02073e54203a0f66 // pinsrb xmm2, byte [rsi + rdi + 7], 2 - QUAD $0x000000e024bc8948 // mov qword [rsp + 224], rdi - QUAD $0x00000080248c8b48 // mov rcx, qword [rsp + 128] + QUAD $0x000000a024bc8948 // mov qword [rsp + 160], rdi + LONG $0x244c8b48; BYTE $0x78 // mov rcx, qword [rsp + 120] QUAD $0x03070e54203a0f66 // pinsrb xmm2, byte [rsi + rcx + 7], 3 QUAD $0x071e54203a0f4266; BYTE $0x04 // pinsrb xmm2, byte [rsi + r11 + 7], 4 QUAD $0x070e54203a0f4266; BYTE $0x05 // pinsrb xmm2, byte [rsi + r9 + 7], 5 @@ -6834,12 +7288,12 @@ LBB1_67: QUAD $0x09071e54203a0f66 // pinsrb xmm2, byte [rsi + rbx + 7], 9 QUAD $0x073654203a0f4266; BYTE $0x0a // pinsrb xmm2, byte [rsi + r14 + 7], 10 WORD $0x894d; BYTE $0xf4 // mov r12, r14 - LONG $0x24448b48; BYTE $0x48 // mov rax, qword [rsp + 72] + QUAD $0x0000008024848b48 // mov rax, qword [rsp + 128] QUAD $0x0b070654203a0f66 // pinsrb xmm2, byte [rsi + rax + 7], 11 QUAD $0x073e54203a0f4266; BYTE $0x0c // pinsrb xmm2, byte [rsi + r15 + 7], 12 QUAD $0x071654203a0f4266; BYTE $0x0d // pinsrb xmm2, byte [rsi + r10 + 7], 13 QUAD $0x072e54203a0f4266; BYTE $0x0e // pinsrb xmm2, byte [rsi + r13 + 7], 14 - LONG $0x24748b4c; BYTE $0x20 // mov r14, qword [rsp + 32] + LONG $0x24748b4c; BYTE $0x10 // mov r14, qword [rsp + 16] QUAD $0x073654203a0f4266; BYTE $0x0f // pinsrb xmm2, byte [rsi + r14 + 7], 15 LONG $0x740f4166; BYTE $0xd9 // pcmpeqb xmm3, xmm9 QUAD $0x000000f08d6f0f66 // movdqa xmm1, oword 240[rbp] /* [rip + .LCPI1_15] */ @@ -6850,19 +7304,19 @@ LBB1_67: LONG $0xd1db0f66 // pand xmm2, xmm1 LONG $0xd3eb0f66 // por xmm2, xmm3 LONG $0xca6f0f66 // movdqa xmm1, xmm2 - LONG $0x245c8b48; BYTE $0x38 // mov rbx, qword [rsp + 56] + LONG $0x245c8b48; BYTE $0x30 // mov rbx, qword [rsp + 48] LONG $0x1e54b60f; BYTE $0x15 // movzx edx, byte [rsi + rbx + 21] LONG $0xd26e0f66 // movd xmm2, edx - LONG $0x24548b48; BYTE $0x18 // mov rdx, qword [rsp + 24] + LONG $0x24548b48; BYTE $0x28 // mov rdx, qword [rsp + 40] QUAD $0x091654203a0f4466; BYTE $0x01 // pinsrb xmm10, byte [rsi + rdx + 9], 1 QUAD $0x093e54203a0f4466; BYTE $0x02 // pinsrb xmm10, byte [rsi + rdi + 9], 2 QUAD $0x090e54203a0f4466; BYTE $0x03 // pinsrb xmm10, byte [rsi + rcx + 9], 3 - LONG $0x247c8b48; BYTE $0x58 // mov rdi, qword [rsp + 88] + LONG $0x247c8b48; BYTE $0x50 // mov rdi, qword [rsp + 80] QUAD $0x093e54203a0f4466; BYTE $0x04 // pinsrb xmm10, byte [rsi + rdi + 9], 4 QUAD $0x090e54203a0f4666; BYTE $0x05 // pinsrb xmm10, byte [rsi + r9 + 9], 5 QUAD $0x090654203a0f4666; BYTE $0x06 // pinsrb xmm10, byte [rsi + r8 + 9], 6 QUAD $0x091e54203a0f4666; BYTE $0x07 // pinsrb xmm10, byte [rsi + r11 + 9], 7 - LONG $0x244c8b48; BYTE $0x10 // mov rcx, qword [rsp + 16] + LONG $0x244c8b48; BYTE $0x18 // mov rcx, qword [rsp + 24] QUAD $0x090e54203a0f4466; BYTE $0x08 // pinsrb xmm10, byte [rsi + rcx + 9], 8 LONG $0x244c8b48; BYTE $0x40 // mov rcx, qword [rsp + 64] QUAD $0x090e54203a0f4466; BYTE $0x09 // pinsrb xmm10, byte [rsi + rcx + 9], 9 @@ -6881,132 +7335,130 @@ LBB1_67: LONG $0xf80f4166; BYTE $0xca // psubb xmm1, xmm10 LONG $0x1e54b60f; BYTE $0x16 // movzx edx, byte [rsi + rbx + 22] LONG $0xda6e0f66 // movd xmm3, edx - QUAD $0x00012024a46f0f66; BYTE $0x00 // movdqa xmm4, oword [rsp + 288] - LONG $0x24548b4c; BYTE $0x18 // mov r10, qword [rsp + 24] + QUAD $0x0000f024a46f0f66; BYTE $0x00 // movdqa xmm4, oword [rsp + 240] + LONG $0x24548b4c; BYTE $0x28 // mov r10, qword [rsp + 40] QUAD $0x081664203a0f4266; BYTE $0x01 // pinsrb xmm4, byte [rsi + r10 + 8], 1 - QUAD $0x000000e024a48b4c // mov r12, qword [rsp + 224] + QUAD $0x000000a024a48b4c // mov r12, qword [rsp + 160] QUAD $0x082664203a0f4266; BYTE $0x02 // pinsrb xmm4, byte [rsi + r12 + 8], 2 - QUAD $0x0000008024848b48 // mov rax, qword [rsp + 128] + LONG $0x24448b48; BYTE $0x78 // mov rax, qword [rsp + 120] QUAD $0x03080664203a0f66 // pinsrb xmm4, byte [rsi + rax + 8], 3 QUAD $0x04083e64203a0f66 // pinsrb xmm4, byte [rsi + rdi + 8], 4 QUAD $0x080e64203a0f4266; BYTE $0x05 // pinsrb xmm4, byte [rsi + r9 + 8], 5 QUAD $0x080664203a0f4266; BYTE $0x06 // pinsrb xmm4, byte [rsi + r8 + 8], 6 WORD $0x894c; BYTE $0xdb // mov rbx, r11 QUAD $0x081e64203a0f4266; BYTE $0x07 // pinsrb xmm4, byte [rsi + r11 + 8], 7 - LONG $0x24548b48; BYTE $0x10 // mov rdx, qword [rsp + 16] + LONG $0x24548b48; BYTE $0x18 // mov rdx, qword [rsp + 24] QUAD $0x08081664203a0f66 // pinsrb xmm4, byte [rsi + rdx + 8], 8 QUAD $0x09080e64203a0f66 // pinsrb xmm4, byte [rsi + rcx + 8], 9 - LONG $0x244c8b48; BYTE $0x60 // mov rcx, qword [rsp + 96] + LONG $0x244c8b48; BYTE $0x58 // mov rcx, qword [rsp + 88] QUAD $0x0a080e64203a0f66 // pinsrb xmm4, byte [rsi + rcx + 8], 10 - LONG $0x24748b4c; BYTE $0x48 // mov r14, qword [rsp + 72] + QUAD $0x0000008024b48b4c // mov r14, qword [rsp + 128] QUAD $0x083664203a0f4266; BYTE $0x0b // pinsrb xmm4, byte [rsi + r14 + 8], 11 QUAD $0x083e64203a0f4266; BYTE $0x0c // pinsrb xmm4, byte [rsi + r15 + 8], 12 - LONG $0x247c8b48; BYTE $0x28 // mov rdi, qword [rsp + 40] + LONG $0x247c8b48; BYTE $0x08 // mov rdi, qword [rsp + 8] QUAD $0x0d083e64203a0f66 // pinsrb xmm4, byte [rsi + rdi + 8], 13 QUAD $0x082e64203a0f4266; BYTE $0x0e // pinsrb xmm4, byte [rsi + r13 + 8], 14 - LONG $0x247c8b48; BYTE $0x20 // mov rdi, qword [rsp + 32] + LONG $0x247c8b48; BYTE $0x10 // mov rdi, qword [rsp + 16] QUAD $0x0f083e64203a0f66 // pinsrb xmm4, byte [rsi + rdi + 8], 15 LONG $0x740f4166; BYTE $0xe1 // pcmpeqb xmm4, xmm9 LONG $0xdb0f4166; BYTE $0xe0 // pand xmm4, xmm8 - QUAD $0x00a024946f0f4466; WORD $0x0000 // movdqa xmm10, oword [rsp + 160] + QUAD $0x00b024946f0f4466; WORD $0x0000 // movdqa xmm10, oword [rsp + 176] QUAD $0x0a1654203a0f4666; BYTE $0x01 // pinsrb xmm10, byte [rsi + r10 + 10], 1 QUAD $0x0a2654203a0f4666; BYTE $0x02 // pinsrb xmm10, byte [rsi + r12 + 10], 2 QUAD $0x0a0654203a0f4466; BYTE $0x03 // pinsrb xmm10, byte [rsi + rax + 10], 3 - LONG $0x245c8b4c; BYTE $0x58 // mov r11, qword [rsp + 88] + LONG $0x245c8b4c; BYTE $0x50 // mov r11, qword [rsp + 80] QUAD $0x0a1e54203a0f4666; BYTE $0x04 // pinsrb xmm10, byte [rsi + r11 + 10], 4 QUAD $0x0a0e54203a0f4666; BYTE $0x05 // pinsrb xmm10, byte [rsi + r9 + 10], 5 QUAD $0x0a0654203a0f4666; BYTE $0x06 // pinsrb xmm10, byte [rsi + r8 + 10], 6 + WORD $0x894d; BYTE $0xc2 // mov r10, r8 QUAD $0x0a1e54203a0f4466; BYTE $0x07 // pinsrb xmm10, byte [rsi + rbx + 10], 7 - WORD $0x8949; BYTE $0xda // mov r10, rbx + WORD $0x8949; BYTE $0xd8 // mov r8, rbx QUAD $0x0a1654203a0f4466; BYTE $0x08 // pinsrb xmm10, byte [rsi + rdx + 10], 8 - LONG $0x24448b4c; BYTE $0x40 // mov r8, qword [rsp + 64] - QUAD $0x0a0654203a0f4666; BYTE $0x09 // pinsrb xmm10, byte [rsi + r8 + 10], 9 + LONG $0x245c8b48; BYTE $0x40 // mov rbx, qword [rsp + 64] + QUAD $0x0a1e54203a0f4466; BYTE $0x09 // pinsrb xmm10, byte [rsi + rbx + 10], 9 QUAD $0x0a0e54203a0f4466; BYTE $0x0a // pinsrb xmm10, byte [rsi + rcx + 10], 10 QUAD $0x0a3654203a0f4666; BYTE $0x0b // pinsrb xmm10, byte [rsi + r14 + 10], 11 - WORD $0x894d; BYTE $0xf5 // mov r13, r14 QUAD $0x0a3e54203a0f4666; BYTE $0x0c // pinsrb xmm10, byte [rsi + r15 + 10], 12 - LONG $0x244c8b48; BYTE $0x28 // mov rcx, qword [rsp + 40] + LONG $0x244c8b48; BYTE $0x08 // mov rcx, qword [rsp + 8] QUAD $0x0a0e54203a0f4466; BYTE $0x0d // pinsrb xmm10, byte [rsi + rcx + 10], 13 - LONG $0x24548b48; BYTE $0x30 // mov rdx, qword [rsp + 48] - QUAD $0x0a1654203a0f4466; BYTE $0x0e // pinsrb xmm10, byte [rsi + rdx + 10], 14 + QUAD $0x0a2e54203a0f4666; BYTE $0x0e // pinsrb xmm10, byte [rsi + r13 + 10], 14 QUAD $0x0a3e54203a0f4466; BYTE $0x0f // pinsrb xmm10, byte [rsi + rdi + 10], 15 LONG $0x740f4566; BYTE $0xd1 // pcmpeqb xmm10, xmm9 QUAD $0x0000b095db0f4466; BYTE $0x00 // pand xmm10, oword 176[rbp] /* [rip + .LCPI1_11] */ LONG $0xeb0f4466; BYTE $0xd4 // por xmm10, xmm4 - LONG $0x247c8b48; BYTE $0x38 // mov rdi, qword [rsp + 56] + LONG $0x247c8b48; BYTE $0x30 // mov rdi, qword [rsp + 48] LONG $0x3e54b60f; BYTE $0x17 // movzx edx, byte [rsi + rdi + 23] LONG $0x6e0f4466; BYTE $0xc2 // movd xmm8, edx LONG $0xeb0f4466; BYTE $0xd1 // por xmm10, xmm1 - QUAD $0x00a024947f0f4466; WORD $0x0000 // movdqa oword [rsp + 160], xmm10 + QUAD $0x00b024947f0f4466; WORD $0x0000 // movdqa oword [rsp + 176], xmm10 LONG $0x3e54b60f; BYTE $0x18 // movzx edx, byte [rsi + rdi + 24] LONG $0x6e0f4466; BYTE $0xd2 // movd xmm10, edx - LONG $0x24548b48; BYTE $0x18 // mov rdx, qword [rsp + 24] + LONG $0x24548b48; BYTE $0x28 // mov rdx, qword [rsp + 40] QUAD $0x0b165c203a0f4466; BYTE $0x01 // pinsrb xmm11, byte [rsi + rdx + 11], 1 QUAD $0x0b265c203a0f4666; BYTE $0x02 // pinsrb xmm11, byte [rsi + r12 + 11], 2 QUAD $0x0b065c203a0f4466; BYTE $0x03 // pinsrb xmm11, byte [rsi + rax + 11], 3 QUAD $0x0b1e5c203a0f4666; BYTE $0x04 // pinsrb xmm11, byte [rsi + r11 + 11], 4 QUAD $0x0b0e5c203a0f4666; BYTE $0x05 // pinsrb xmm11, byte [rsi + r9 + 11], 5 - LONG $0x245c8b48; BYTE $0x68 // mov rbx, qword [rsp + 104] - QUAD $0x0b1e5c203a0f4466; BYTE $0x06 // pinsrb xmm11, byte [rsi + rbx + 11], 6 - WORD $0x894d; BYTE $0xd6 // mov r14, r10 - QUAD $0x0b165c203a0f4666; BYTE $0x07 // pinsrb xmm11, byte [rsi + r10 + 11], 7 - LONG $0x24548b4c; BYTE $0x10 // mov r10, qword [rsp + 16] - QUAD $0x0b165c203a0f4666; BYTE $0x08 // pinsrb xmm11, byte [rsi + r10 + 11], 8 - QUAD $0x0b065c203a0f4666; BYTE $0x09 // pinsrb xmm11, byte [rsi + r8 + 11], 9 - LONG $0x244c8b4c; BYTE $0x60 // mov r9, qword [rsp + 96] - QUAD $0x0b0e5c203a0f4666; BYTE $0x0a // pinsrb xmm11, byte [rsi + r9 + 11], 10 - QUAD $0x0b2e5c203a0f4666; BYTE $0x0b // pinsrb xmm11, byte [rsi + r13 + 11], 11 + QUAD $0x0b165c203a0f4666; BYTE $0x06 // pinsrb xmm11, byte [rsi + r10 + 11], 6 + QUAD $0x0b065c203a0f4666; BYTE $0x07 // pinsrb xmm11, byte [rsi + r8 + 11], 7 + LONG $0x244c8b4c; BYTE $0x18 // mov r9, qword [rsp + 24] + QUAD $0x0b0e5c203a0f4666; BYTE $0x08 // pinsrb xmm11, byte [rsi + r9 + 11], 8 + WORD $0x8949; BYTE $0xd8 // mov r8, rbx + QUAD $0x0b1e5c203a0f4466; BYTE $0x09 // pinsrb xmm11, byte [rsi + rbx + 11], 9 + LONG $0x247c8b48; BYTE $0x58 // mov rdi, qword [rsp + 88] + QUAD $0x0b3e5c203a0f4466; BYTE $0x0a // pinsrb xmm11, byte [rsi + rdi + 11], 10 + QUAD $0x0b365c203a0f4666; BYTE $0x0b // pinsrb xmm11, byte [rsi + r14 + 11], 11 QUAD $0x0b3e5c203a0f4666; BYTE $0x0c // pinsrb xmm11, byte [rsi + r15 + 11], 12 QUAD $0x0b0e5c203a0f4466; BYTE $0x0d // pinsrb xmm11, byte [rsi + rcx + 11], 13 - LONG $0x247c8b48; BYTE $0x30 // mov rdi, qword [rsp + 48] - QUAD $0x0b3e5c203a0f4466; BYTE $0x0e // pinsrb xmm11, byte [rsi + rdi + 11], 14 - LONG $0x247c8b48; BYTE $0x20 // mov rdi, qword [rsp + 32] - QUAD $0x0b3e5c203a0f4466; BYTE $0x0f // pinsrb xmm11, byte [rsi + rdi + 11], 15 + QUAD $0x0b2e5c203a0f4666; BYTE $0x0e // pinsrb xmm11, byte [rsi + r13 + 11], 14 + LONG $0x245c8b48; BYTE $0x10 // mov rbx, qword [rsp + 16] + QUAD $0x0b1e5c203a0f4466; BYTE $0x0f // pinsrb xmm11, byte [rsi + rbx + 11], 15 QUAD $0x0c166c203a0f4466; BYTE $0x01 // pinsrb xmm13, byte [rsi + rdx + 12], 1 QUAD $0x0c266c203a0f4666; BYTE $0x02 // pinsrb xmm13, byte [rsi + r12 + 12], 2 QUAD $0x0c066c203a0f4466; BYTE $0x03 // pinsrb xmm13, byte [rsi + rax + 12], 3 QUAD $0x0c1e6c203a0f4666; BYTE $0x04 // pinsrb xmm13, byte [rsi + r11 + 12], 4 - LONG $0x246c8b4c; BYTE $0x78 // mov r13, qword [rsp + 120] + LONG $0x246c8b4c; BYTE $0x48 // mov r13, qword [rsp + 72] QUAD $0x0c2e6c203a0f4666; BYTE $0x05 // pinsrb xmm13, byte [rsi + r13 + 12], 5 - QUAD $0x0c1e6c203a0f4466; BYTE $0x06 // pinsrb xmm13, byte [rsi + rbx + 12], 6 - QUAD $0x0c366c203a0f4666; BYTE $0x07 // pinsrb xmm13, byte [rsi + r14 + 12], 7 - QUAD $0x0c166c203a0f4666; BYTE $0x08 // pinsrb xmm13, byte [rsi + r10 + 12], 8 + QUAD $0x0c166c203a0f4666; BYTE $0x06 // pinsrb xmm13, byte [rsi + r10 + 12], 6 + LONG $0x245c8b48; BYTE $0x70 // mov rbx, qword [rsp + 112] + QUAD $0x0c1e6c203a0f4466; BYTE $0x07 // pinsrb xmm13, byte [rsi + rbx + 12], 7 + QUAD $0x0c0e6c203a0f4666; BYTE $0x08 // pinsrb xmm13, byte [rsi + r9 + 12], 8 + WORD $0x894d; BYTE $0xca // mov r10, r9 QUAD $0x0c066c203a0f4666; BYTE $0x09 // pinsrb xmm13, byte [rsi + r8 + 12], 9 - WORD $0x894c; BYTE $0xc3 // mov rbx, r8 - QUAD $0x0c0e6c203a0f4666; BYTE $0x0a // pinsrb xmm13, byte [rsi + r9 + 12], 10 - WORD $0x894d; BYTE $0xc8 // mov r8, r9 - LONG $0x246c8b4c; BYTE $0x48 // mov r13, qword [rsp + 72] - QUAD $0x0c2e6c203a0f4666; BYTE $0x0b // pinsrb xmm13, byte [rsi + r13 + 12], 11 + WORD $0x894d; BYTE $0xc1 // mov r9, r8 + QUAD $0x0c3e6c203a0f4466; BYTE $0x0a // pinsrb xmm13, byte [rsi + rdi + 12], 10 + WORD $0x8949; BYTE $0xf8 // mov r8, rdi + QUAD $0x0c366c203a0f4666; BYTE $0x0b // pinsrb xmm13, byte [rsi + r14 + 12], 11 QUAD $0x0c3e6c203a0f4666; BYTE $0x0c // pinsrb xmm13, byte [rsi + r15 + 12], 12 QUAD $0x0c0e6c203a0f4466; BYTE $0x0d // pinsrb xmm13, byte [rsi + rcx + 12], 13 - LONG $0x244c8b4c; BYTE $0x30 // mov r9, qword [rsp + 48] - QUAD $0x0c0e6c203a0f4666; BYTE $0x0e // pinsrb xmm13, byte [rsi + r9 + 12], 14 - LONG $0x247c8b48; BYTE $0x20 // mov rdi, qword [rsp + 32] + LONG $0x246c8b4c; BYTE $0x20 // mov r13, qword [rsp + 32] + QUAD $0x0c2e6c203a0f4666; BYTE $0x0e // pinsrb xmm13, byte [rsi + r13 + 12], 14 + LONG $0x247c8b48; BYTE $0x10 // mov rdi, qword [rsp + 16] QUAD $0x0c3e6c203a0f4466; BYTE $0x0f // pinsrb xmm13, byte [rsi + rdi + 12], 15 QUAD $0x0d1664203a0f4466; BYTE $0x01 // pinsrb xmm12, byte [rsi + rdx + 13], 1 QUAD $0x0d2664203a0f4666; BYTE $0x02 // pinsrb xmm12, byte [rsi + r12 + 13], 2 QUAD $0x0d0664203a0f4466; BYTE $0x03 // pinsrb xmm12, byte [rsi + rax + 13], 3 QUAD $0x0d1e64203a0f4666; BYTE $0x04 // pinsrb xmm12, byte [rsi + r11 + 13], 4 - LONG $0x24448b48; BYTE $0x78 // mov rax, qword [rsp + 120] + LONG $0x24448b48; BYTE $0x48 // mov rax, qword [rsp + 72] QUAD $0x0d0664203a0f4466; BYTE $0x05 // pinsrb xmm12, byte [rsi + rax + 13], 5 - LONG $0x24548b48; BYTE $0x68 // mov rdx, qword [rsp + 104] + LONG $0x24548b48; BYTE $0x60 // mov rdx, qword [rsp + 96] QUAD $0x0d1664203a0f4466; BYTE $0x06 // pinsrb xmm12, byte [rsi + rdx + 13], 6 - QUAD $0x0d3664203a0f4666; BYTE $0x07 // pinsrb xmm12, byte [rsi + r14 + 13], 7 + LONG $0x245c8b48; BYTE $0x70 // mov rbx, qword [rsp + 112] + QUAD $0x0d1e64203a0f4466; BYTE $0x07 // pinsrb xmm12, byte [rsi + rbx + 13], 7 QUAD $0x0d1664203a0f4666; BYTE $0x08 // pinsrb xmm12, byte [rsi + r10 + 13], 8 - QUAD $0x0d1e64203a0f4466; BYTE $0x09 // pinsrb xmm12, byte [rsi + rbx + 13], 9 + QUAD $0x0d0e64203a0f4666; BYTE $0x09 // pinsrb xmm12, byte [rsi + r9 + 13], 9 QUAD $0x0d0664203a0f4666; BYTE $0x0a // pinsrb xmm12, byte [rsi + r8 + 13], 10 - QUAD $0x0d2e64203a0f4666; BYTE $0x0b // pinsrb xmm12, byte [rsi + r13 + 13], 11 + QUAD $0x0d3664203a0f4666; BYTE $0x0b // pinsrb xmm12, byte [rsi + r14 + 13], 11 QUAD $0x0d3e64203a0f4666; BYTE $0x0c // pinsrb xmm12, byte [rsi + r15 + 13], 12 QUAD $0x0d0e64203a0f4466; BYTE $0x0d // pinsrb xmm12, byte [rsi + rcx + 13], 13 - WORD $0x894d; BYTE $0xcd // mov r13, r9 - QUAD $0x0d0e64203a0f4666; BYTE $0x0e // pinsrb xmm12, byte [rsi + r9 + 13], 14 + QUAD $0x0d2e64203a0f4666; BYTE $0x0e // pinsrb xmm12, byte [rsi + r13 + 13], 14 QUAD $0x0d3e64203a0f4466; BYTE $0x0f // pinsrb xmm12, byte [rsi + rdi + 13], 15 LONG $0x740f4566; BYTE $0xd9 // pcmpeqb xmm11, xmm9 QUAD $0x0000c09ddb0f4466; BYTE $0x00 // pand xmm11, oword 192[rbp] /* [rip + .LCPI1_12] */ LONG $0x740f4566; BYTE $0xe9 // pcmpeqb xmm13, xmm9 QUAD $0x0000d0addb0f4466; BYTE $0x00 // pand xmm13, oword 208[rbp] /* [rip + .LCPI1_13] */ LONG $0xeb0f4566; BYTE $0xeb // por xmm13, xmm11 - LONG $0x244c8b48; BYTE $0x38 // mov rcx, qword [rsp + 56] + LONG $0x244c8b48; BYTE $0x30 // mov rcx, qword [rsp + 48] LONG $0x0e54b60f; BYTE $0x19 // movzx edx, byte [rsi + rcx + 25] LONG $0xca6e0f66 // movd xmm1, edx LONG $0x740f4566; BYTE $0xe1 // pcmpeqb xmm12, xmm9 @@ -7015,32 +7467,30 @@ LBB1_67: LONG $0x0e54b60f; BYTE $0x1a // movzx edx, byte [rsi + rcx + 26] LONG $0x6e0f4466; BYTE $0xda // movd xmm11, edx QUAD $0x00011024a46f0f66; BYTE $0x00 // movdqa xmm4, oword [rsp + 272] - LONG $0x244c8b48; BYTE $0x18 // mov rcx, qword [rsp + 24] + LONG $0x244c8b48; BYTE $0x28 // mov rcx, qword [rsp + 40] QUAD $0x010e0e64203a0f66 // pinsrb xmm4, byte [rsi + rcx + 14], 1 QUAD $0x0e2664203a0f4266; BYTE $0x02 // pinsrb xmm4, byte [rsi + r12 + 14], 2 - QUAD $0x0000008024948b4c // mov r10, qword [rsp + 128] + LONG $0x24548b4c; BYTE $0x78 // mov r10, qword [rsp + 120] QUAD $0x0e1664203a0f4266; BYTE $0x03 // pinsrb xmm4, byte [rsi + r10 + 14], 3 QUAD $0x0e1e64203a0f4266; BYTE $0x04 // pinsrb xmm4, byte [rsi + r11 + 14], 4 QUAD $0x050e0664203a0f66 // pinsrb xmm4, byte [rsi + rax + 14], 5 - LONG $0x244c8b48; BYTE $0x68 // mov rcx, qword [rsp + 104] + LONG $0x244c8b48; BYTE $0x60 // mov rcx, qword [rsp + 96] QUAD $0x060e0e64203a0f66 // pinsrb xmm4, byte [rsi + rcx + 14], 6 - WORD $0x894c; BYTE $0xf7 // mov rdi, r14 - QUAD $0x0e3664203a0f4266; BYTE $0x07 // pinsrb xmm4, byte [rsi + r14 + 14], 7 - LONG $0x24448b4c; BYTE $0x10 // mov r8, qword [rsp + 16] + WORD $0x8948; BYTE $0xdf // mov rdi, rbx + QUAD $0x070e1e64203a0f66 // pinsrb xmm4, byte [rsi + rbx + 14], 7 + LONG $0x24448b4c; BYTE $0x18 // mov r8, qword [rsp + 24] QUAD $0x0e0664203a0f4266; BYTE $0x08 // pinsrb xmm4, byte [rsi + r8 + 14], 8 - LONG $0x244c8b4c; BYTE $0x40 // mov r9, qword [rsp + 64] QUAD $0x0e0e64203a0f4266; BYTE $0x09 // pinsrb xmm4, byte [rsi + r9 + 14], 9 - LONG $0x245c8b48; BYTE $0x60 // mov rbx, qword [rsp + 96] + LONG $0x245c8b48; BYTE $0x58 // mov rbx, qword [rsp + 88] QUAD $0x0a0e1e64203a0f66 // pinsrb xmm4, byte [rsi + rbx + 14], 10 - LONG $0x24748b4c; BYTE $0x48 // mov r14, qword [rsp + 72] QUAD $0x0e3664203a0f4266; BYTE $0x0b // pinsrb xmm4, byte [rsi + r14 + 14], 11 QUAD $0x0e3e64203a0f4266; BYTE $0x0c // pinsrb xmm4, byte [rsi + r15 + 14], 12 - LONG $0x24548b48; BYTE $0x28 // mov rdx, qword [rsp + 40] + LONG $0x24548b48; BYTE $0x08 // mov rdx, qword [rsp + 8] QUAD $0x0d0e1664203a0f66 // pinsrb xmm4, byte [rsi + rdx + 14], 13 QUAD $0x0e2e64203a0f4266; BYTE $0x0e // pinsrb xmm4, byte [rsi + r13 + 14], 14 - LONG $0x24548b48; BYTE $0x20 // mov rdx, qword [rsp + 32] + LONG $0x24548b48; BYTE $0x10 // mov rdx, qword [rsp + 16] QUAD $0x0f0e1664203a0f66 // pinsrb xmm4, byte [rsi + rdx + 14], 15 - LONG $0x24548b48; BYTE $0x18 // mov rdx, qword [rsp + 24] + LONG $0x24548b48; BYTE $0x28 // mov rdx, qword [rsp + 40] QUAD $0x0f1674203a0f4466; BYTE $0x01 // pinsrb xmm14, byte [rsi + rdx + 15], 1 QUAD $0x0f2674203a0f4666; BYTE $0x02 // pinsrb xmm14, byte [rsi + r12 + 15], 2 QUAD $0x0f1674203a0f4666; BYTE $0x03 // pinsrb xmm14, byte [rsi + r10 + 15], 3 @@ -7053,12 +7503,12 @@ LBB1_67: QUAD $0x0f1e74203a0f4466; BYTE $0x0a // pinsrb xmm14, byte [rsi + rbx + 15], 10 QUAD $0x0f3674203a0f4666; BYTE $0x0b // pinsrb xmm14, byte [rsi + r14 + 15], 11 QUAD $0x0f3e74203a0f4666; BYTE $0x0c // pinsrb xmm14, byte [rsi + r15 + 15], 12 - LONG $0x24548b48; BYTE $0x28 // mov rdx, qword [rsp + 40] + LONG $0x24548b48; BYTE $0x08 // mov rdx, qword [rsp + 8] QUAD $0x0f1674203a0f4466; BYTE $0x0d // pinsrb xmm14, byte [rsi + rdx + 15], 13 QUAD $0x0f2e74203a0f4666; BYTE $0x0e // pinsrb xmm14, byte [rsi + r13 + 15], 14 - LONG $0x24548b48; BYTE $0x20 // mov rdx, qword [rsp + 32] + LONG $0x24548b48; BYTE $0x10 // mov rdx, qword [rsp + 16] QUAD $0x0f1674203a0f4466; BYTE $0x0f // pinsrb xmm14, byte [rsi + rdx + 15], 15 - LONG $0x24548b48; BYTE $0x18 // mov rdx, qword [rsp + 24] + LONG $0x24548b48; BYTE $0x28 // mov rdx, qword [rsp + 40] QUAD $0x10167c203a0f4466; BYTE $0x01 // pinsrb xmm15, byte [rsi + rdx + 16], 1 QUAD $0x10267c203a0f4666; BYTE $0x02 // pinsrb xmm15, byte [rsi + r12 + 16], 2 QUAD $0x10167c203a0f4666; BYTE $0x03 // pinsrb xmm15, byte [rsi + r10 + 16], 3 @@ -7071,10 +7521,10 @@ LBB1_67: QUAD $0x101e7c203a0f4466; BYTE $0x0a // pinsrb xmm15, byte [rsi + rbx + 16], 10 QUAD $0x10367c203a0f4666; BYTE $0x0b // pinsrb xmm15, byte [rsi + r14 + 16], 11 QUAD $0x103e7c203a0f4666; BYTE $0x0c // pinsrb xmm15, byte [rsi + r15 + 16], 12 - LONG $0x24548b48; BYTE $0x28 // mov rdx, qword [rsp + 40] + LONG $0x24548b48; BYTE $0x08 // mov rdx, qword [rsp + 8] QUAD $0x10167c203a0f4466; BYTE $0x0d // pinsrb xmm15, byte [rsi + rdx + 16], 13 QUAD $0x102e7c203a0f4666; BYTE $0x0e // pinsrb xmm15, byte [rsi + r13 + 16], 14 - LONG $0x24548b48; BYTE $0x18 // mov rdx, qword [rsp + 24] + LONG $0x24548b48; BYTE $0x28 // mov rdx, qword [rsp + 40] QUAD $0x01111644203a0f66 // pinsrb xmm0, byte [rsi + rdx + 17], 1 QUAD $0x112644203a0f4266; BYTE $0x02 // pinsrb xmm0, byte [rsi + r12 + 17], 2 QUAD $0x111644203a0f4266; BYTE $0x03 // pinsrb xmm0, byte [rsi + r10 + 17], 3 @@ -7084,19 +7534,20 @@ LBB1_67: QUAD $0x06110e44203a0f66 // pinsrb xmm0, byte [rsi + rcx + 17], 6 QUAD $0x07113e44203a0f66 // pinsrb xmm0, byte [rsi + rdi + 17], 7 QUAD $0x110644203a0f4266; BYTE $0x08 // pinsrb xmm0, byte [rsi + r8 + 17], 8 + WORD $0x894c; BYTE $0xc0 // mov rax, r8 QUAD $0x110e44203a0f4266; BYTE $0x09 // pinsrb xmm0, byte [rsi + r9 + 17], 9 QUAD $0x0a111e44203a0f66 // pinsrb xmm0, byte [rsi + rbx + 17], 10 QUAD $0x113644203a0f4266; BYTE $0x0b // pinsrb xmm0, byte [rsi + r14 + 17], 11 QUAD $0x113e44203a0f4266; BYTE $0x0c // pinsrb xmm0, byte [rsi + r15 + 17], 12 - LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] - QUAD $0x0d110644203a0f66 // pinsrb xmm0, byte [rsi + rax + 17], 13 - LONG $0x24548b48; BYTE $0x30 // mov rdx, qword [rsp + 48] + LONG $0x24548b48; BYTE $0x08 // mov rdx, qword [rsp + 8] + QUAD $0x0d111644203a0f66 // pinsrb xmm0, byte [rsi + rdx + 17], 13 + LONG $0x24548b48; BYTE $0x20 // mov rdx, qword [rsp + 32] QUAD $0x0e111644203a0f66 // pinsrb xmm0, byte [rsi + rdx + 17], 14 - QUAD $0x00a024a4eb0f4466; WORD $0x0000 // por xmm12, oword [rsp + 160] - LONG $0x24648b4c; BYTE $0x38 // mov r12, qword [rsp + 56] + QUAD $0x00b024a4eb0f4466; WORD $0x0000 // por xmm12, oword [rsp + 176] + LONG $0x24648b4c; BYTE $0x30 // mov r12, qword [rsp + 48] LONG $0x54b60f42; WORD $0x1b26 // movzx edx, byte [rsi + r12 + 27] LONG $0x6e0f4466; BYTE $0xca // movd xmm9, edx - QUAD $0x00b024ac6f0f4466; WORD $0x0000 // movdqa xmm13, oword [rsp + 176] + QUAD $0x00c024ac6f0f4466; WORD $0x0000 // movdqa xmm13, oword [rsp + 192] LONG $0x740f4166; BYTE $0xe5 // pcmpeqb xmm4, xmm13 QUAD $0x000000f0a5db0f66 // pand xmm4, oword 240[rbp] /* [rip + .LCPI1_15] */ LONG $0x740f4566; BYTE $0xf5 // pcmpeqb xmm14, xmm13 @@ -7105,7 +7556,7 @@ LBB1_67: LONG $0xeb0f4466; BYTE $0xf4 // por xmm14, xmm4 LONG $0x54b60f42; WORD $0x1c26 // movzx edx, byte [rsi + r12 + 28] LONG $0xe26e0f66 // movd xmm4, edx - LONG $0x24448b4c; BYTE $0x20 // mov r8, qword [rsp + 32] + LONG $0x24448b4c; BYTE $0x10 // mov r8, qword [rsp + 16] QUAD $0x110644203a0f4266; BYTE $0x0f // pinsrb xmm0, byte [rsi + r8 + 17], 15 LONG $0xeb0f4566; BYTE $0xf4 // por xmm14, xmm12 LONG $0x740f4166; BYTE $0xc5 // pcmpeqb xmm0, xmm13 @@ -7113,36 +7564,36 @@ LBB1_67: QUAD $0x0000a0a56f0f4466; BYTE $0x00 // movdqa xmm12, oword 160[rbp] /* [rip + .LCPI1_10] */ LONG $0xdb0f4566; BYTE $0xec // pand xmm13, xmm12 LONG $0xf80f4466; BYTE $0xe8 // psubb xmm13, xmm0 - QUAD $0x00a024ac7f0f4466; WORD $0x0000 // movdqa oword [rsp + 160], xmm13 + QUAD $0x00b024ac7f0f4466; WORD $0x0000 // movdqa oword [rsp + 176], xmm13 LONG $0x54b60f42; WORD $0x1d26 // movzx edx, byte [rsi + r12 + 29] LONG $0x6e0f4466; BYTE $0xea // movd xmm13, edx QUAD $0x10067c203a0f4666; BYTE $0x0f // pinsrb xmm15, byte [rsi + r8 + 16], 15 - QUAD $0x0000b024846f0f66; BYTE $0x00 // movdqa xmm0, oword [rsp + 176] + QUAD $0x0000c024846f0f66; BYTE $0x00 // movdqa xmm0, oword [rsp + 192] LONG $0x740f4466; BYTE $0xf8 // pcmpeqb xmm15, xmm0 - LONG $0x24648b4c; BYTE $0x18 // mov r12, qword [rsp + 24] + LONG $0x24648b4c; BYTE $0x28 // mov r12, qword [rsp + 40] QUAD $0x12266c203a0f4266; BYTE $0x01 // pinsrb xmm5, byte [rsi + r12 + 18], 1 - QUAD $0x000000e024948b48 // mov rdx, qword [rsp + 224] + QUAD $0x000000a024948b48 // mov rdx, qword [rsp + 160] QUAD $0x0212166c203a0f66 // pinsrb xmm5, byte [rsi + rdx + 18], 2 QUAD $0x12166c203a0f4266; BYTE $0x03 // pinsrb xmm5, byte [rsi + r10 + 18], 3 QUAD $0x121e6c203a0f4266; BYTE $0x04 // pinsrb xmm5, byte [rsi + r11 + 18], 4 QUAD $0x122e6c203a0f4266; BYTE $0x05 // pinsrb xmm5, byte [rsi + r13 + 18], 5 QUAD $0x06120e6c203a0f66 // pinsrb xmm5, byte [rsi + rcx + 18], 6 QUAD $0x07123e6c203a0f66 // pinsrb xmm5, byte [rsi + rdi + 18], 7 - LONG $0x24548b48; BYTE $0x10 // mov rdx, qword [rsp + 16] - QUAD $0x0812166c203a0f66 // pinsrb xmm5, byte [rsi + rdx + 18], 8 + QUAD $0x0812066c203a0f66 // pinsrb xmm5, byte [rsi + rax + 18], 8 QUAD $0x120e6c203a0f4266; BYTE $0x09 // pinsrb xmm5, byte [rsi + r9 + 18], 9 QUAD $0x0a121e6c203a0f66 // pinsrb xmm5, byte [rsi + rbx + 18], 10 QUAD $0x12366c203a0f4266; BYTE $0x0b // pinsrb xmm5, byte [rsi + r14 + 18], 11 QUAD $0x123e6c203a0f4266; BYTE $0x0c // pinsrb xmm5, byte [rsi + r15 + 18], 12 - QUAD $0x0d12066c203a0f66 // pinsrb xmm5, byte [rsi + rax + 18], 13 - LONG $0x24448b48; BYTE $0x30 // mov rax, qword [rsp + 48] - QUAD $0x0e12066c203a0f66 // pinsrb xmm5, byte [rsi + rax + 18], 14 + LONG $0x24548b48; BYTE $0x08 // mov rdx, qword [rsp + 8] + QUAD $0x0d12166c203a0f66 // pinsrb xmm5, byte [rsi + rdx + 18], 13 + LONG $0x24548b48; BYTE $0x20 // mov rdx, qword [rsp + 32] + QUAD $0x0e12166c203a0f66 // pinsrb xmm5, byte [rsi + rdx + 18], 14 LONG $0xdb0f4566; BYTE $0xfc // pand xmm15, xmm12 QUAD $0x12066c203a0f4266; BYTE $0x0f // pinsrb xmm5, byte [rsi + r8 + 18], 15 LONG $0xe8740f66 // pcmpeqb xmm5, xmm0 QUAD $0x000000b0addb0f66 // pand xmm5, oword 176[rbp] /* [rip + .LCPI1_11] */ LONG $0xeb0f4166; BYTE $0xef // por xmm5, xmm15 - LONG $0x24448b48; BYTE $0x38 // mov rax, qword [rsp + 56] + LONG $0x24448b48; BYTE $0x30 // mov rax, qword [rsp + 48] LONG $0x0654b60f; BYTE $0x1e // movzx edx, byte [rsi + rax + 30] LONG $0x6e0f4466; BYTE $0xe2 // movd xmm12, edx QUAD $0x13267c203a0f4266; BYTE $0x01 // pinsrb xmm7, byte [rsi + r12 + 19], 1 @@ -7160,7 +7611,7 @@ LBB1_67: LONG $0x0654b60f; BYTE $0x1f // movzx edx, byte [rsi + rax + 31] LONG $0xc26e0f66 // movd xmm0, edx QUAD $0x1f2644203a0f4266; BYTE $0x01 // pinsrb xmm0, byte [rsi + r12 + 31], 1 - QUAD $0x000000e024948b48 // mov rdx, qword [rsp + 224] + QUAD $0x000000a024948b48 // mov rdx, qword [rsp + 160] QUAD $0x0213167c203a0f66 // pinsrb xmm7, byte [rsi + rdx + 19], 2 QUAD $0x02141674203a0f66 // pinsrb xmm6, byte [rsi + rdx + 20], 2 QUAD $0x02151654203a0f66 // pinsrb xmm2, byte [rsi + rdx + 21], 2 @@ -7179,32 +7630,32 @@ LBB1_67: QUAD $0x132e7c203a0f4266; BYTE $0x05 // pinsrb xmm7, byte [rsi + r13 + 19], 5 QUAD $0x06130e7c203a0f66 // pinsrb xmm7, byte [rsi + rcx + 19], 6 QUAD $0x07133e7c203a0f66 // pinsrb xmm7, byte [rsi + rdi + 19], 7 - LONG $0x24648b4c; BYTE $0x10 // mov r12, qword [rsp + 16] - QUAD $0x13267c203a0f4266; BYTE $0x08 // pinsrb xmm7, byte [rsi + r12 + 19], 8 + LONG $0x24448b48; BYTE $0x18 // mov rax, qword [rsp + 24] + QUAD $0x0813067c203a0f66 // pinsrb xmm7, byte [rsi + rax + 19], 8 QUAD $0x130e7c203a0f4266; BYTE $0x09 // pinsrb xmm7, byte [rsi + r9 + 19], 9 QUAD $0x0a131e7c203a0f66 // pinsrb xmm7, byte [rsi + rbx + 19], 10 QUAD $0x13367c203a0f4266; BYTE $0x0b // pinsrb xmm7, byte [rsi + r14 + 19], 11 QUAD $0x133e7c203a0f4266; BYTE $0x0c // pinsrb xmm7, byte [rsi + r15 + 19], 12 - LONG $0x24548b48; BYTE $0x28 // mov rdx, qword [rsp + 40] + LONG $0x24548b48; BYTE $0x08 // mov rdx, qword [rsp + 8] QUAD $0x0d13167c203a0f66 // pinsrb xmm7, byte [rsi + rdx + 19], 13 - LONG $0x24448b48; BYTE $0x30 // mov rax, qword [rsp + 48] - QUAD $0x0e13067c203a0f66 // pinsrb xmm7, byte [rsi + rax + 19], 14 + LONG $0x24648b4c; BYTE $0x20 // mov r12, qword [rsp + 32] + QUAD $0x13267c203a0f4266; BYTE $0x0e // pinsrb xmm7, byte [rsi + r12 + 19], 14 QUAD $0x13067c203a0f4266; BYTE $0x0f // pinsrb xmm7, byte [rsi + r8 + 19], 15 QUAD $0x141674203a0f4266; BYTE $0x03 // pinsrb xmm6, byte [rsi + r10 + 20], 3 QUAD $0x141e74203a0f4266; BYTE $0x04 // pinsrb xmm6, byte [rsi + r11 + 20], 4 QUAD $0x142e74203a0f4266; BYTE $0x05 // pinsrb xmm6, byte [rsi + r13 + 20], 5 QUAD $0x06140e74203a0f66 // pinsrb xmm6, byte [rsi + rcx + 20], 6 QUAD $0x07143e74203a0f66 // pinsrb xmm6, byte [rsi + rdi + 20], 7 - QUAD $0x142674203a0f4266; BYTE $0x08 // pinsrb xmm6, byte [rsi + r12 + 20], 8 + QUAD $0x08140674203a0f66 // pinsrb xmm6, byte [rsi + rax + 20], 8 QUAD $0x140e74203a0f4266; BYTE $0x09 // pinsrb xmm6, byte [rsi + r9 + 20], 9 QUAD $0x0a141e74203a0f66 // pinsrb xmm6, byte [rsi + rbx + 20], 10 QUAD $0x143674203a0f4266; BYTE $0x0b // pinsrb xmm6, byte [rsi + r14 + 20], 11 QUAD $0x143e74203a0f4266; BYTE $0x0c // pinsrb xmm6, byte [rsi + r15 + 20], 12 QUAD $0x0d141674203a0f66 // pinsrb xmm6, byte [rsi + rdx + 20], 13 - QUAD $0x0e140674203a0f66 // pinsrb xmm6, byte [rsi + rax + 20], 14 - QUAD $0x0000a024aceb0f66; BYTE $0x00 // por xmm5, oword [rsp + 160] + QUAD $0x142674203a0f4266; BYTE $0x0e // pinsrb xmm6, byte [rsi + r12 + 20], 14 + QUAD $0x0000b024aceb0f66; BYTE $0x00 // por xmm5, oword [rsp + 176] QUAD $0x140674203a0f4266; BYTE $0x0f // pinsrb xmm6, byte [rsi + r8 + 20], 15 - QUAD $0x00b024bc6f0f4466; WORD $0x0000 // movdqa xmm15, oword [rsp + 176] + QUAD $0x00c024bc6f0f4466; WORD $0x0000 // movdqa xmm15, oword [rsp + 192] LONG $0x740f4166; BYTE $0xff // pcmpeqb xmm7, xmm15 QUAD $0x000000c0bddb0f66 // pand xmm7, oword 192[rbp] /* [rip + .LCPI1_12] */ LONG $0x740f4166; BYTE $0xf7 // pcmpeqb xmm6, xmm15 @@ -7215,13 +7666,13 @@ LBB1_67: QUAD $0x152e54203a0f4266; BYTE $0x05 // pinsrb xmm2, byte [rsi + r13 + 21], 5 QUAD $0x06150e54203a0f66 // pinsrb xmm2, byte [rsi + rcx + 21], 6 QUAD $0x07153e54203a0f66 // pinsrb xmm2, byte [rsi + rdi + 21], 7 - QUAD $0x152654203a0f4266; BYTE $0x08 // pinsrb xmm2, byte [rsi + r12 + 21], 8 + QUAD $0x08150654203a0f66 // pinsrb xmm2, byte [rsi + rax + 21], 8 QUAD $0x150e54203a0f4266; BYTE $0x09 // pinsrb xmm2, byte [rsi + r9 + 21], 9 QUAD $0x0a151e54203a0f66 // pinsrb xmm2, byte [rsi + rbx + 21], 10 QUAD $0x153654203a0f4266; BYTE $0x0b // pinsrb xmm2, byte [rsi + r14 + 21], 11 QUAD $0x153e54203a0f4266; BYTE $0x0c // pinsrb xmm2, byte [rsi + r15 + 21], 12 QUAD $0x0d151654203a0f66 // pinsrb xmm2, byte [rsi + rdx + 21], 13 - QUAD $0x0e150654203a0f66 // pinsrb xmm2, byte [rsi + rax + 21], 14 + QUAD $0x152654203a0f4266; BYTE $0x0e // pinsrb xmm2, byte [rsi + r12 + 21], 14 QUAD $0x150654203a0f4266; BYTE $0x0f // pinsrb xmm2, byte [rsi + r8 + 21], 15 LONG $0x740f4166; BYTE $0xd7 // pcmpeqb xmm2, xmm15 QUAD $0x000000e0bd6f0f66 // movdqa xmm7, oword 224[rbp] /* [rip + .LCPI1_14] */ @@ -7233,26 +7684,26 @@ LBB1_67: QUAD $0x162e5c203a0f4266; BYTE $0x05 // pinsrb xmm3, byte [rsi + r13 + 22], 5 QUAD $0x06160e5c203a0f66 // pinsrb xmm3, byte [rsi + rcx + 22], 6 QUAD $0x07163e5c203a0f66 // pinsrb xmm3, byte [rsi + rdi + 22], 7 - QUAD $0x16265c203a0f4266; BYTE $0x08 // pinsrb xmm3, byte [rsi + r12 + 22], 8 + QUAD $0x0816065c203a0f66 // pinsrb xmm3, byte [rsi + rax + 22], 8 QUAD $0x160e5c203a0f4266; BYTE $0x09 // pinsrb xmm3, byte [rsi + r9 + 22], 9 QUAD $0x0a161e5c203a0f66 // pinsrb xmm3, byte [rsi + rbx + 22], 10 QUAD $0x16365c203a0f4266; BYTE $0x0b // pinsrb xmm3, byte [rsi + r14 + 22], 11 QUAD $0x163e5c203a0f4266; BYTE $0x0c // pinsrb xmm3, byte [rsi + r15 + 22], 12 QUAD $0x0d16165c203a0f66 // pinsrb xmm3, byte [rsi + rdx + 22], 13 - QUAD $0x0e16065c203a0f66 // pinsrb xmm3, byte [rsi + rax + 22], 14 + QUAD $0x16265c203a0f4266; BYTE $0x0e // pinsrb xmm3, byte [rsi + r12 + 22], 14 QUAD $0x16065c203a0f4266; BYTE $0x0f // pinsrb xmm3, byte [rsi + r8 + 22], 15 QUAD $0x171644203a0f4666; BYTE $0x03 // pinsrb xmm8, byte [rsi + r10 + 23], 3 QUAD $0x171e44203a0f4666; BYTE $0x04 // pinsrb xmm8, byte [rsi + r11 + 23], 4 QUAD $0x172e44203a0f4666; BYTE $0x05 // pinsrb xmm8, byte [rsi + r13 + 23], 5 QUAD $0x170e44203a0f4466; BYTE $0x06 // pinsrb xmm8, byte [rsi + rcx + 23], 6 QUAD $0x173e44203a0f4466; BYTE $0x07 // pinsrb xmm8, byte [rsi + rdi + 23], 7 - QUAD $0x172644203a0f4666; BYTE $0x08 // pinsrb xmm8, byte [rsi + r12 + 23], 8 + QUAD $0x170644203a0f4466; BYTE $0x08 // pinsrb xmm8, byte [rsi + rax + 23], 8 QUAD $0x170e44203a0f4666; BYTE $0x09 // pinsrb xmm8, byte [rsi + r9 + 23], 9 QUAD $0x171e44203a0f4466; BYTE $0x0a // pinsrb xmm8, byte [rsi + rbx + 23], 10 QUAD $0x173644203a0f4666; BYTE $0x0b // pinsrb xmm8, byte [rsi + r14 + 23], 11 QUAD $0x173e44203a0f4666; BYTE $0x0c // pinsrb xmm8, byte [rsi + r15 + 23], 12 QUAD $0x171644203a0f4466; BYTE $0x0d // pinsrb xmm8, byte [rsi + rdx + 23], 13 - QUAD $0x170644203a0f4466; BYTE $0x0e // pinsrb xmm8, byte [rsi + rax + 23], 14 + QUAD $0x172644203a0f4666; BYTE $0x0e // pinsrb xmm8, byte [rsi + r12 + 23], 14 QUAD $0x170644203a0f4666; BYTE $0x0f // pinsrb xmm8, byte [rsi + r8 + 23], 15 LONG $0x740f4166; BYTE $0xdf // pcmpeqb xmm3, xmm15 QUAD $0x000000f0ad6f0f66 // movdqa xmm5, oword 240[rbp] /* [rip + .LCPI1_15] */ @@ -7267,13 +7718,13 @@ LBB1_67: QUAD $0x192e4c203a0f4266; BYTE $0x05 // pinsrb xmm1, byte [rsi + r13 + 25], 5 QUAD $0x06190e4c203a0f66 // pinsrb xmm1, byte [rsi + rcx + 25], 6 QUAD $0x07193e4c203a0f66 // pinsrb xmm1, byte [rsi + rdi + 25], 7 - QUAD $0x19264c203a0f4266; BYTE $0x08 // pinsrb xmm1, byte [rsi + r12 + 25], 8 + QUAD $0x0819064c203a0f66 // pinsrb xmm1, byte [rsi + rax + 25], 8 QUAD $0x190e4c203a0f4266; BYTE $0x09 // pinsrb xmm1, byte [rsi + r9 + 25], 9 QUAD $0x0a191e4c203a0f66 // pinsrb xmm1, byte [rsi + rbx + 25], 10 QUAD $0x19364c203a0f4266; BYTE $0x0b // pinsrb xmm1, byte [rsi + r14 + 25], 11 QUAD $0x193e4c203a0f4266; BYTE $0x0c // pinsrb xmm1, byte [rsi + r15 + 25], 12 QUAD $0x0d19164c203a0f66 // pinsrb xmm1, byte [rsi + rdx + 25], 13 - QUAD $0x0e19064c203a0f66 // pinsrb xmm1, byte [rsi + rax + 25], 14 + QUAD $0x19264c203a0f4266; BYTE $0x0e // pinsrb xmm1, byte [rsi + r12 + 25], 14 QUAD $0x19064c203a0f4266; BYTE $0x0f // pinsrb xmm1, byte [rsi + r8 + 25], 15 LONG $0xeb0f4466; BYTE $0xc2 // por xmm8, xmm2 LONG $0x740f4166; BYTE $0xcf // pcmpeqb xmm1, xmm15 @@ -7286,13 +7737,13 @@ LBB1_67: QUAD $0x182e54203a0f4666; BYTE $0x05 // pinsrb xmm10, byte [rsi + r13 + 24], 5 QUAD $0x180e54203a0f4466; BYTE $0x06 // pinsrb xmm10, byte [rsi + rcx + 24], 6 QUAD $0x183e54203a0f4466; BYTE $0x07 // pinsrb xmm10, byte [rsi + rdi + 24], 7 - QUAD $0x182654203a0f4666; BYTE $0x08 // pinsrb xmm10, byte [rsi + r12 + 24], 8 + QUAD $0x180654203a0f4466; BYTE $0x08 // pinsrb xmm10, byte [rsi + rax + 24], 8 QUAD $0x180e54203a0f4666; BYTE $0x09 // pinsrb xmm10, byte [rsi + r9 + 24], 9 QUAD $0x181e54203a0f4466; BYTE $0x0a // pinsrb xmm10, byte [rsi + rbx + 24], 10 QUAD $0x183654203a0f4666; BYTE $0x0b // pinsrb xmm10, byte [rsi + r14 + 24], 11 QUAD $0x183e54203a0f4666; BYTE $0x0c // pinsrb xmm10, byte [rsi + r15 + 24], 12 QUAD $0x181654203a0f4466; BYTE $0x0d // pinsrb xmm10, byte [rsi + rdx + 24], 13 - QUAD $0x180654203a0f4466; BYTE $0x0e // pinsrb xmm10, byte [rsi + rax + 24], 14 + QUAD $0x182654203a0f4666; BYTE $0x0e // pinsrb xmm10, byte [rsi + r12 + 24], 14 QUAD $0x180654203a0f4666; BYTE $0x0f // pinsrb xmm10, byte [rsi + r8 + 24], 15 LONG $0x740f4566; BYTE $0xd7 // pcmpeqb xmm10, xmm15 LONG $0xdb0f4466; BYTE $0xd3 // pand xmm10, xmm3 @@ -7301,13 +7752,13 @@ LBB1_67: QUAD $0x1a2e5c203a0f4666; BYTE $0x05 // pinsrb xmm11, byte [rsi + r13 + 26], 5 QUAD $0x1a0e5c203a0f4466; BYTE $0x06 // pinsrb xmm11, byte [rsi + rcx + 26], 6 QUAD $0x1a3e5c203a0f4466; BYTE $0x07 // pinsrb xmm11, byte [rsi + rdi + 26], 7 - QUAD $0x1a265c203a0f4666; BYTE $0x08 // pinsrb xmm11, byte [rsi + r12 + 26], 8 + QUAD $0x1a065c203a0f4466; BYTE $0x08 // pinsrb xmm11, byte [rsi + rax + 26], 8 QUAD $0x1a0e5c203a0f4666; BYTE $0x09 // pinsrb xmm11, byte [rsi + r9 + 26], 9 QUAD $0x1a1e5c203a0f4466; BYTE $0x0a // pinsrb xmm11, byte [rsi + rbx + 26], 10 QUAD $0x1a365c203a0f4666; BYTE $0x0b // pinsrb xmm11, byte [rsi + r14 + 26], 11 QUAD $0x1a3e5c203a0f4666; BYTE $0x0c // pinsrb xmm11, byte [rsi + r15 + 26], 12 QUAD $0x1a165c203a0f4466; BYTE $0x0d // pinsrb xmm11, byte [rsi + rdx + 26], 13 - QUAD $0x1a065c203a0f4466; BYTE $0x0e // pinsrb xmm11, byte [rsi + rax + 26], 14 + QUAD $0x1a265c203a0f4666; BYTE $0x0e // pinsrb xmm11, byte [rsi + r12 + 26], 14 QUAD $0x1a065c203a0f4666; BYTE $0x0f // pinsrb xmm11, byte [rsi + r8 + 26], 15 LONG $0x740f4566; BYTE $0xdf // pcmpeqb xmm11, xmm15 QUAD $0x0000b09ddb0f4466; BYTE $0x00 // pand xmm11, oword 176[rbp] /* [rip + .LCPI1_11] */ @@ -7318,39 +7769,39 @@ LBB1_67: QUAD $0x1b2e4c203a0f4666; BYTE $0x05 // pinsrb xmm9, byte [rsi + r13 + 27], 5 QUAD $0x1b0e4c203a0f4466; BYTE $0x06 // pinsrb xmm9, byte [rsi + rcx + 27], 6 QUAD $0x1b3e4c203a0f4466; BYTE $0x07 // pinsrb xmm9, byte [rsi + rdi + 27], 7 - QUAD $0x1b264c203a0f4666; BYTE $0x08 // pinsrb xmm9, byte [rsi + r12 + 27], 8 + QUAD $0x1b064c203a0f4466; BYTE $0x08 // pinsrb xmm9, byte [rsi + rax + 27], 8 QUAD $0x1b0e4c203a0f4666; BYTE $0x09 // pinsrb xmm9, byte [rsi + r9 + 27], 9 QUAD $0x1b1e4c203a0f4466; BYTE $0x0a // pinsrb xmm9, byte [rsi + rbx + 27], 10 QUAD $0x1b364c203a0f4666; BYTE $0x0b // pinsrb xmm9, byte [rsi + r14 + 27], 11 QUAD $0x1b3e4c203a0f4666; BYTE $0x0c // pinsrb xmm9, byte [rsi + r15 + 27], 12 QUAD $0x1b164c203a0f4466; BYTE $0x0d // pinsrb xmm9, byte [rsi + rdx + 27], 13 - QUAD $0x1b064c203a0f4466; BYTE $0x0e // pinsrb xmm9, byte [rsi + rax + 27], 14 + QUAD $0x1b264c203a0f4666; BYTE $0x0e // pinsrb xmm9, byte [rsi + r12 + 27], 14 QUAD $0x1b064c203a0f4666; BYTE $0x0f // pinsrb xmm9, byte [rsi + r8 + 27], 15 QUAD $0x1c1664203a0f4266; BYTE $0x03 // pinsrb xmm4, byte [rsi + r10 + 28], 3 QUAD $0x1c1e64203a0f4266; BYTE $0x04 // pinsrb xmm4, byte [rsi + r11 + 28], 4 QUAD $0x1c2e64203a0f4266; BYTE $0x05 // pinsrb xmm4, byte [rsi + r13 + 28], 5 QUAD $0x061c0e64203a0f66 // pinsrb xmm4, byte [rsi + rcx + 28], 6 QUAD $0x071c3e64203a0f66 // pinsrb xmm4, byte [rsi + rdi + 28], 7 - QUAD $0x1c2664203a0f4266; BYTE $0x08 // pinsrb xmm4, byte [rsi + r12 + 28], 8 + QUAD $0x081c0664203a0f66 // pinsrb xmm4, byte [rsi + rax + 28], 8 QUAD $0x1c0e64203a0f4266; BYTE $0x09 // pinsrb xmm4, byte [rsi + r9 + 28], 9 QUAD $0x0a1c1e64203a0f66 // pinsrb xmm4, byte [rsi + rbx + 28], 10 QUAD $0x1c3664203a0f4266; BYTE $0x0b // pinsrb xmm4, byte [rsi + r14 + 28], 11 QUAD $0x1c3e64203a0f4266; BYTE $0x0c // pinsrb xmm4, byte [rsi + r15 + 28], 12 QUAD $0x0d1c1664203a0f66 // pinsrb xmm4, byte [rsi + rdx + 28], 13 - QUAD $0x0e1c0664203a0f66 // pinsrb xmm4, byte [rsi + rax + 28], 14 + QUAD $0x1c2664203a0f4266; BYTE $0x0e // pinsrb xmm4, byte [rsi + r12 + 28], 14 QUAD $0x1c0664203a0f4266; BYTE $0x0f // pinsrb xmm4, byte [rsi + r8 + 28], 15 QUAD $0x1d166c203a0f4666; BYTE $0x03 // pinsrb xmm13, byte [rsi + r10 + 29], 3 QUAD $0x1d1e6c203a0f4666; BYTE $0x04 // pinsrb xmm13, byte [rsi + r11 + 29], 4 QUAD $0x1d2e6c203a0f4666; BYTE $0x05 // pinsrb xmm13, byte [rsi + r13 + 29], 5 QUAD $0x1d0e6c203a0f4466; BYTE $0x06 // pinsrb xmm13, byte [rsi + rcx + 29], 6 QUAD $0x1d3e6c203a0f4466; BYTE $0x07 // pinsrb xmm13, byte [rsi + rdi + 29], 7 - QUAD $0x1d266c203a0f4666; BYTE $0x08 // pinsrb xmm13, byte [rsi + r12 + 29], 8 + QUAD $0x1d066c203a0f4466; BYTE $0x08 // pinsrb xmm13, byte [rsi + rax + 29], 8 QUAD $0x1d0e6c203a0f4666; BYTE $0x09 // pinsrb xmm13, byte [rsi + r9 + 29], 9 QUAD $0x1d1e6c203a0f4466; BYTE $0x0a // pinsrb xmm13, byte [rsi + rbx + 29], 10 QUAD $0x1d366c203a0f4666; BYTE $0x0b // pinsrb xmm13, byte [rsi + r14 + 29], 11 QUAD $0x1d3e6c203a0f4666; BYTE $0x0c // pinsrb xmm13, byte [rsi + r15 + 29], 12 QUAD $0x1d166c203a0f4466; BYTE $0x0d // pinsrb xmm13, byte [rsi + rdx + 29], 13 - QUAD $0x1d066c203a0f4466; BYTE $0x0e // pinsrb xmm13, byte [rsi + rax + 29], 14 + QUAD $0x1d266c203a0f4666; BYTE $0x0e // pinsrb xmm13, byte [rsi + r12 + 29], 14 LONG $0x6f0f4166; BYTE $0xcf // movdqa xmm1, xmm15 LONG $0x740f4566; BYTE $0xcf // pcmpeqb xmm9, xmm15 QUAD $0x0000c08ddb0f4466; BYTE $0x00 // pand xmm9, oword 192[rbp] /* [rip + .LCPI1_12] */ @@ -7371,21 +7822,21 @@ LBB1_67: QUAD $0x061f0e44203a0f66 // pinsrb xmm0, byte [rsi + rcx + 31], 6 QUAD $0x1e3e64203a0f4466; BYTE $0x07 // pinsrb xmm12, byte [rsi + rdi + 30], 7 QUAD $0x071f3e44203a0f66 // pinsrb xmm0, byte [rsi + rdi + 31], 7 - QUAD $0x1e2664203a0f4666; BYTE $0x08 // pinsrb xmm12, byte [rsi + r12 + 30], 8 - QUAD $0x1f2644203a0f4266; BYTE $0x08 // pinsrb xmm0, byte [rsi + r12 + 31], 8 + QUAD $0x1e0664203a0f4466; BYTE $0x08 // pinsrb xmm12, byte [rsi + rax + 30], 8 + QUAD $0x081f0644203a0f66 // pinsrb xmm0, byte [rsi + rax + 31], 8 QUAD $0x1e0e64203a0f4666; BYTE $0x09 // pinsrb xmm12, byte [rsi + r9 + 30], 9 QUAD $0x1f0e44203a0f4266; BYTE $0x09 // pinsrb xmm0, byte [rsi + r9 + 31], 9 QUAD $0x1e1e64203a0f4466; BYTE $0x0a // pinsrb xmm12, byte [rsi + rbx + 30], 10 QUAD $0x0a1f1e44203a0f66 // pinsrb xmm0, byte [rsi + rbx + 31], 10 QUAD $0x1e3664203a0f4666; BYTE $0x0b // pinsrb xmm12, byte [rsi + r14 + 30], 11 QUAD $0x1f3644203a0f4266; BYTE $0x0b // pinsrb xmm0, byte [rsi + r14 + 31], 11 + QUAD $0x0000008824848b48 // mov rax, qword [rsp + 136] QUAD $0x1e3e64203a0f4666; BYTE $0x0c // pinsrb xmm12, byte [rsi + r15 + 30], 12 QUAD $0x1f3e44203a0f4266; BYTE $0x0c // pinsrb xmm0, byte [rsi + r15 + 31], 12 QUAD $0x1e1664203a0f4466; BYTE $0x0d // pinsrb xmm12, byte [rsi + rdx + 30], 13 QUAD $0x0d1f1644203a0f66 // pinsrb xmm0, byte [rsi + rdx + 31], 13 - QUAD $0x0000008824b48b4c // mov r14, qword [rsp + 136] - QUAD $0x1e0664203a0f4466; BYTE $0x0e // pinsrb xmm12, byte [rsi + rax + 30], 14 - QUAD $0x0e1f0644203a0f66 // pinsrb xmm0, byte [rsi + rax + 31], 14 + QUAD $0x1e2664203a0f4666; BYTE $0x0e // pinsrb xmm12, byte [rsi + r12 + 30], 14 + QUAD $0x1f2644203a0f4266; BYTE $0x0e // pinsrb xmm0, byte [rsi + r12 + 31], 14 QUAD $0x1e0664203a0f4666; BYTE $0x0f // pinsrb xmm12, byte [rsi + r8 + 30], 15 QUAD $0x1f0644203a0f4266; BYTE $0x0f // pinsrb xmm0, byte [rsi + r8 + 31], 15 LONG $0xeb0f4566; BYTE $0xeb // por xmm13, xmm11 @@ -7410,33 +7861,32 @@ LBB1_67: LONG $0x610f4166; BYTE $0xc0 // punpcklwd xmm0, xmm8 LONG $0x690f4166; BYTE $0xe0 // punpckhwd xmm4, xmm8 QUAD $0x00000098248c8b48 // mov rcx, qword [rsp + 152] - LONG $0x7f0f41f3; WORD $0x8e64; BYTE $0x30 // movdqu oword [r14 + 4*rcx + 48], xmm4 - LONG $0x7f0f41f3; WORD $0x8e44; BYTE $0x20 // movdqu oword [r14 + 4*rcx + 32], xmm0 - LONG $0x7f0f41f3; WORD $0x8e54; BYTE $0x10 // movdqu oword [r14 + 4*rcx + 16], xmm2 - LONG $0x7f0f41f3; WORD $0x8e1c // movdqu oword [r14 + 4*rcx], xmm3 + LONG $0x647f0ff3; WORD $0x3088 // movdqu oword [rax + 4*rcx + 48], xmm4 + LONG $0x447f0ff3; WORD $0x2088 // movdqu oword [rax + 4*rcx + 32], xmm0 + LONG $0x547f0ff3; WORD $0x1088 // movdqu oword [rax + 4*rcx + 16], xmm2 + LONG $0x1c7f0ff3; BYTE $0x88 // movdqu oword [rax + 4*rcx], xmm3 LONG $0x10c18348 // add rcx, 16 WORD $0x8948; BYTE $0xc8 // mov rax, rcx - QUAD $0x000000f8248c3b48 // cmp rcx, qword [rsp + 248] - JNE LBB1_67 + QUAD $0x000000e8248c3b48 // cmp rcx, qword [rsp + 232] + JNE LBB1_68 QUAD $0x0000010024bc8b4c // mov r15, qword [rsp + 256] - QUAD $0x000000f824bc3b4c // cmp r15, qword [rsp + 248] - LONG $0x245c8a44; BYTE $0x08 // mov r11b, byte [rsp + 8] + QUAD $0x000000e824bc3b4c // cmp r15, qword [rsp + 232] + LONG $0x245c8a44; BYTE $0x04 // mov r11b, byte [rsp + 4] QUAD $0x0000010824b48b48 // mov rsi, qword [rsp + 264] QUAD $0x0000009024948b4c // mov r10, qword [rsp + 144] - JNE LBB1_69 - JMP LBB1_72 + JNE LBB1_70 + JMP LBB1_73 -LBB1_110: - LONG $0xf8e38349 // and r11, -8 - WORD $0x894c; BYTE $0xd8 // mov rax, r11 +LBB1_111: + LONG $0xf8e78349 // and r15, -8 + WORD $0x894c; BYTE $0xf8 // mov rax, r15 LONG $0x06e0c148 // shl rax, 6 WORD $0x0148; BYTE $0xf0 // add rax, rsi - LONG $0x24448948; BYTE $0x40 // mov qword [rsp + 64], rax - LONG $0x245c894c; BYTE $0x10 // mov qword [rsp + 16], r11 - LONG $0x9e048d4b // lea rax, [r14 + 4*r11] + LONG $0x24448948; BYTE $0x38 // mov qword [rsp + 56], rax + LONG $0x247c894c; BYTE $0x20 // mov qword [rsp + 32], r15 + LONG $0xbe048d4b // lea rax, [r14 + 4*r15] LONG $0x24448948; BYTE $0x08 // mov qword [rsp + 8], rax - LONG $0x246c8944; BYTE $0x38 // mov dword [rsp + 56], r13d - LONG $0x6e0f4166; BYTE $0xc5 // movd xmm0, r13d + LONG $0x6e0f4166; BYTE $0xc3 // movd xmm0, r11d LONG $0xc0700ff2; BYTE $0xe0 // pshuflw xmm0, xmm0, 224 LONG $0xc0700f66; BYTE $0x00 // pshufd xmm0, xmm0, 0 WORD $0x3145; BYTE $0xff // xor r15d, r15d @@ -7449,27 +7899,27 @@ LBB1_110: LONG $0x6f0f4466; WORD $0x6075 // movdqa xmm14, oword 96[rbp] /* [rip + .LCPI1_6] */ QUAD $0x0000008824b4894c // mov qword [rsp + 136], r14 -LBB1_111: +LBB1_112: LONG $0x247c894c; BYTE $0x28 // mov qword [rsp + 40], r15 LONG $0x06e7c149 // shl r15, 6 WORD $0x894d; BYTE $0xf9 // mov r9, r15 WORD $0x894d; BYTE $0xfc // mov r12, r15 WORD $0x894d; BYTE $0xfd // mov r13, r15 WORD $0x894c; BYTE $0xf9 // mov rcx, r15 - WORD $0x894c; BYTE $0xff // mov rdi, r15 + WORD $0x894c; BYTE $0xfa // mov rdx, r15 WORD $0x894c; BYTE $0xfb // mov rbx, r15 LONG $0x34b70f46; BYTE $0x3e // movzx r14d, word [rsi + r15] LONG $0x44b70f42; WORD $0x023e // movzx eax, word [rsi + r15 + 2] - LONG $0x54b70f42; WORD $0x043e // movzx edx, word [rsi + r15 + 4] - LONG $0x5cb70f46; WORD $0x063e // movzx r11d, word [rsi + r15 + 6] - LONG $0x54b70f46; WORD $0x083e // movzx r10d, word [rsi + r15 + 8] + LONG $0x54b70f46; WORD $0x043e // movzx r10d, word [rsi + r15 + 4] + LONG $0x7cb70f42; WORD $0x063e // movzx edi, word [rsi + r15 + 6] + LONG $0x5cb70f46; WORD $0x083e // movzx r11d, word [rsi + r15 + 8] WORD $0x894d; BYTE $0xf8 // mov r8, r15 LONG $0x40c88349 // or r8, 64 LONG $0x80c98149; WORD $0x0000; BYTE $0x00 // or r9, 128 LONG $0xc0cc8149; WORD $0x0000; BYTE $0x00 // or r12, 192 LONG $0x00cd8149; WORD $0x0001; BYTE $0x00 // or r13, 256 LONG $0x40c98148; WORD $0x0001; BYTE $0x00 // or rcx, 320 - LONG $0x80cf8148; WORD $0x0001; BYTE $0x00 // or rdi, 384 + LONG $0x80ca8148; WORD $0x0001; BYTE $0x00 // or rdx, 384 LONG $0xc0cb8148; WORD $0x0001; BYTE $0x00 // or rbx, 448 LONG $0x6e0f4166; BYTE $0xe6 // movd xmm4, r14d LONG $0xc40f4266; WORD $0x0624; BYTE $0x01 // pinsrw xmm4, word [rsi + r8], 1 @@ -7477,7 +7927,7 @@ LBB1_111: LONG $0xc40f4266; WORD $0x2624; BYTE $0x03 // pinsrw xmm4, word [rsi + r12], 3 LONG $0xc40f4266; WORD $0x2e24; BYTE $0x04 // pinsrw xmm4, word [rsi + r13], 4 LONG $0x24c40f66; WORD $0x050e // pinsrw xmm4, word [rsi + rcx], 5 - LONG $0x24c40f66; WORD $0x063e // pinsrw xmm4, word [rsi + rdi], 6 + LONG $0x24c40f66; WORD $0x0616 // pinsrw xmm4, word [rsi + rdx], 6 LONG $0x24c40f66; WORD $0x071e // pinsrw xmm4, word [rsi + rbx], 7 LONG $0x74b70f46; WORD $0x0a3e // movzx r14d, word [rsi + r15 + 10] LONG $0xf06e0f66 // movd xmm6, eax @@ -7485,16 +7935,16 @@ LBB1_111: QUAD $0x02020e74c40f4266 // pinsrw xmm6, word [rsi + r9 + 2], 2 QUAD $0x03022674c40f4266 // pinsrw xmm6, word [rsi + r12 + 2], 3 LONG $0x44b70f42; WORD $0x0c3e // movzx eax, word [rsi + r15 + 12] - LONG $0x20244489 // mov dword [rsp + 32], eax + LONG $0x18244489 // mov dword [rsp + 24], eax QUAD $0x04022e74c40f4266 // pinsrw xmm6, word [rsi + r13 + 2], 4 - LONG $0xd26e0f66 // movd xmm2, edx - LONG $0x54b70f42; WORD $0x0e3e // movzx edx, word [rsi + r15 + 14] + LONG $0x6e0f4166; BYTE $0xd2 // movd xmm2, r10d + LONG $0x44b70f42; WORD $0x0e3e // movzx eax, word [rsi + r15 + 14] + LONG $0x10244489 // mov dword [rsp + 16], eax LONG $0x74c40f66; WORD $0x020e; BYTE $0x05 // pinsrw xmm6, word [rsi + rcx + 2], 5 - LONG $0x6e0f4166; BYTE $0xeb // movd xmm5, r11d - LONG $0x44b70f42; WORD $0x103e // movzx eax, word [rsi + r15 + 16] - LONG $0x18244489 // mov dword [rsp + 24], eax - LONG $0x74c40f66; WORD $0x023e; BYTE $0x06 // pinsrw xmm6, word [rsi + rdi + 2], 6 - LONG $0x6e0f4166; BYTE $0xda // movd xmm3, r10d + LONG $0xef6e0f66 // movd xmm5, edi + LONG $0x7cb70f42; WORD $0x103e // movzx edi, word [rsi + r15 + 16] + LONG $0x74c40f66; WORD $0x0216; BYTE $0x06 // pinsrw xmm6, word [rsi + rdx + 2], 6 + LONG $0x6e0f4166; BYTE $0xdb // movd xmm3, r11d LONG $0x44b70f42; WORD $0x123e // movzx eax, word [rsi + r15 + 18] LONG $0x30244489 // mov dword [rsp + 48], eax LONG $0x74c40f66; WORD $0x021e; BYTE $0x07 // pinsrw xmm6, word [rsi + rbx + 2], 7 @@ -7504,7 +7954,7 @@ LBB1_111: LONG $0xdb0f4166; BYTE $0xcf // pand xmm1, xmm15 LONG $0xcef80f66 // psubb xmm1, xmm6 LONG $0x6e0f4166; BYTE $0xf6 // movd xmm6, r14d - LONG $0x5cb70f46; WORD $0x143e // movzx r11d, word [rsi + r15 + 20] + LONG $0x54b70f46; WORD $0x143e // movzx r10d, word [rsi + r15 + 20] LONG $0xe0750f66 // pcmpeqw xmm4, xmm0 LONG $0xe4630f66 // packsswb xmm4, xmm4 LONG $0xdb0f4166; BYTE $0xe7 // pand xmm4, xmm15 @@ -7513,24 +7963,24 @@ LBB1_111: QUAD $0x03042654c40f4266 // pinsrw xmm2, word [rsi + r12 + 4], 3 QUAD $0x04042e54c40f4266 // pinsrw xmm2, word [rsi + r13 + 4], 4 LONG $0x54c40f66; WORD $0x040e; BYTE $0x05 // pinsrw xmm2, word [rsi + rcx + 4], 5 - LONG $0x54c40f66; WORD $0x043e; BYTE $0x06 // pinsrw xmm2, word [rsi + rdi + 4], 6 + LONG $0x54c40f66; WORD $0x0416; BYTE $0x06 // pinsrw xmm2, word [rsi + rdx + 4], 6 LONG $0x54c40f66; WORD $0x041e; BYTE $0x07 // pinsrw xmm2, word [rsi + rbx + 4], 7 QUAD $0x0106066cc40f4266 // pinsrw xmm5, word [rsi + r8 + 6], 1 QUAD $0x02060e6cc40f4266 // pinsrw xmm5, word [rsi + r9 + 6], 2 QUAD $0x0306266cc40f4266 // pinsrw xmm5, word [rsi + r12 + 6], 3 QUAD $0x04062e6cc40f4266 // pinsrw xmm5, word [rsi + r13 + 6], 4 LONG $0x6cc40f66; WORD $0x060e; BYTE $0x05 // pinsrw xmm5, word [rsi + rcx + 6], 5 - LONG $0x6cc40f66; WORD $0x063e; BYTE $0x06 // pinsrw xmm5, word [rsi + rdi + 6], 6 + LONG $0x6cc40f66; WORD $0x0616; BYTE $0x06 // pinsrw xmm5, word [rsi + rdx + 6], 6 LONG $0x6cc40f66; WORD $0x061e; BYTE $0x07 // pinsrw xmm5, word [rsi + rbx + 6], 7 QUAD $0x0108065cc40f4266 // pinsrw xmm3, word [rsi + r8 + 8], 1 QUAD $0x02080e5cc40f4266 // pinsrw xmm3, word [rsi + r9 + 8], 2 QUAD $0x0308265cc40f4266 // pinsrw xmm3, word [rsi + r12 + 8], 3 QUAD $0x04082e5cc40f4266 // pinsrw xmm3, word [rsi + r13 + 8], 4 LONG $0x5cc40f66; WORD $0x080e; BYTE $0x05 // pinsrw xmm3, word [rsi + rcx + 8], 5 - LONG $0x5cc40f66; WORD $0x083e; BYTE $0x06 // pinsrw xmm3, word [rsi + rdi + 8], 6 + LONG $0x5cc40f66; WORD $0x0816; BYTE $0x06 // pinsrw xmm3, word [rsi + rdx + 8], 6 LONG $0x5cc40f66; WORD $0x081e; BYTE $0x07 // pinsrw xmm3, word [rsi + rbx + 8], 7 LONG $0xcceb0f66 // por xmm1, xmm4 - LONG $0x7c6e0f66; WORD $0x2024 // movd xmm7, dword [rsp + 32] + LONG $0x7c6e0f66; WORD $0x1824 // movd xmm7, dword [rsp + 24] LONG $0x44b70f42; WORD $0x163e // movzx eax, word [rsi + r15 + 22] LONG $0xd0750f66 // pcmpeqw xmm2, xmm0 LONG $0xd2630f66 // packsswb xmm2, xmm2 @@ -7538,8 +7988,8 @@ LBB1_111: LONG $0xf2710f66; BYTE $0x02 // psllw xmm2, 2 LONG $0xdb0f4166; BYTE $0xd1 // pand xmm2, xmm9 LONG $0xd1eb0f66 // por xmm2, xmm1 - LONG $0xe26e0f66 // movd xmm4, edx - LONG $0x54b70f42; WORD $0x183e // movzx edx, word [rsi + r15 + 24] + LONG $0x646e0f66; WORD $0x1024 // movd xmm4, dword [rsp + 16] + LONG $0x5cb70f46; WORD $0x183e // movzx r11d, word [rsi + r15 + 24] LONG $0xe8750f66 // pcmpeqw xmm5, xmm0 LONG $0xed630f66 // packsswb xmm5, xmm5 LONG $0xdb0f4166; BYTE $0xef // pand xmm5, xmm15 @@ -7551,21 +8001,21 @@ LBB1_111: LONG $0xf3710f66; BYTE $0x04 // psllw xmm3, 4 LONG $0xdb0f4166; BYTE $0xdb // pand xmm3, xmm11 LONG $0xddeb0f66 // por xmm3, xmm5 - LONG $0x4c6e0f66; WORD $0x1824 // movd xmm1, dword [rsp + 24] - LONG $0x54b70f46; WORD $0x1a3e // movzx r10d, word [rsi + r15 + 26] + LONG $0xcf6e0f66 // movd xmm1, edi + LONG $0x7cb70f42; WORD $0x1a3e // movzx edi, word [rsi + r15 + 26] QUAD $0x010a0674c40f4266 // pinsrw xmm6, word [rsi + r8 + 10], 1 QUAD $0x020a0e74c40f4266 // pinsrw xmm6, word [rsi + r9 + 10], 2 QUAD $0x030a2674c40f4266 // pinsrw xmm6, word [rsi + r12 + 10], 3 QUAD $0x040a2e74c40f4266 // pinsrw xmm6, word [rsi + r13 + 10], 4 LONG $0x74c40f66; WORD $0x0a0e; BYTE $0x05 // pinsrw xmm6, word [rsi + rcx + 10], 5 - LONG $0x74c40f66; WORD $0x0a3e; BYTE $0x06 // pinsrw xmm6, word [rsi + rdi + 10], 6 + LONG $0x74c40f66; WORD $0x0a16; BYTE $0x06 // pinsrw xmm6, word [rsi + rdx + 10], 6 LONG $0x74c40f66; WORD $0x0a1e; BYTE $0x07 // pinsrw xmm6, word [rsi + rbx + 10], 7 QUAD $0x010c067cc40f4266 // pinsrw xmm7, word [rsi + r8 + 12], 1 QUAD $0x020c0e7cc40f4266 // pinsrw xmm7, word [rsi + r9 + 12], 2 QUAD $0x030c267cc40f4266 // pinsrw xmm7, word [rsi + r12 + 12], 3 QUAD $0x040c2e7cc40f4266 // pinsrw xmm7, word [rsi + r13 + 12], 4 LONG $0x7cc40f66; WORD $0x0c0e; BYTE $0x05 // pinsrw xmm7, word [rsi + rcx + 12], 5 - LONG $0x7cc40f66; WORD $0x0c3e; BYTE $0x06 // pinsrw xmm7, word [rsi + rdi + 12], 6 + LONG $0x7cc40f66; WORD $0x0c16; BYTE $0x06 // pinsrw xmm7, word [rsi + rdx + 12], 6 LONG $0x7cc40f66; WORD $0x0c1e; BYTE $0x07 // pinsrw xmm7, word [rsi + rbx + 12], 7 LONG $0xdaeb0f66 // por xmm3, xmm2 LONG $0x6e0f4466; WORD $0x2444; BYTE $0x30 // movd xmm8, dword [rsp + 48] @@ -7581,21 +8031,21 @@ LBB1_111: LONG $0xf7710f66; BYTE $0x06 // psllw xmm7, 6 LONG $0xdb0f4166; BYTE $0xfd // pand xmm7, xmm13 LONG $0xfeeb0f66 // por xmm7, xmm6 - LONG $0x6e0f4166; BYTE $0xeb // movd xmm5, r11d - LONG $0x5cb70f46; WORD $0x1e3e // movzx r11d, word [rsi + r15 + 30] + LONG $0x6e0f4166; BYTE $0xea // movd xmm5, r10d + LONG $0x54b70f46; WORD $0x1e3e // movzx r10d, word [rsi + r15 + 30] QUAD $0x010e0664c40f4266 // pinsrw xmm4, word [rsi + r8 + 14], 1 QUAD $0x020e0e64c40f4266 // pinsrw xmm4, word [rsi + r9 + 14], 2 QUAD $0x030e2664c40f4266 // pinsrw xmm4, word [rsi + r12 + 14], 3 QUAD $0x040e2e64c40f4266 // pinsrw xmm4, word [rsi + r13 + 14], 4 LONG $0x64c40f66; WORD $0x0e0e; BYTE $0x05 // pinsrw xmm4, word [rsi + rcx + 14], 5 - LONG $0x64c40f66; WORD $0x0e3e; BYTE $0x06 // pinsrw xmm4, word [rsi + rdi + 14], 6 + LONG $0x64c40f66; WORD $0x0e16; BYTE $0x06 // pinsrw xmm4, word [rsi + rdx + 14], 6 LONG $0x64c40f66; WORD $0x0e1e; BYTE $0x07 // pinsrw xmm4, word [rsi + rbx + 14], 7 QUAD $0x01120644c40f4666 // pinsrw xmm8, word [rsi + r8 + 18], 1 QUAD $0x02120e44c40f4666 // pinsrw xmm8, word [rsi + r9 + 18], 2 QUAD $0x03122644c40f4666 // pinsrw xmm8, word [rsi + r12 + 18], 3 QUAD $0x04122e44c40f4666 // pinsrw xmm8, word [rsi + r13 + 18], 4 QUAD $0x05120e44c40f4466 // pinsrw xmm8, word [rsi + rcx + 18], 5 - QUAD $0x06123e44c40f4466 // pinsrw xmm8, word [rsi + rdi + 18], 6 + QUAD $0x06121644c40f4466 // pinsrw xmm8, word [rsi + rdx + 18], 6 QUAD $0x07121e44c40f4466 // pinsrw xmm8, word [rsi + rbx + 18], 7 LONG $0xe0750f66 // pcmpeqw xmm4, xmm0 LONG $0xe4630f66 // packsswb xmm4, xmm4 @@ -7610,28 +8060,28 @@ LBB1_111: LONG $0x6f0f4166; BYTE $0xf8 // movdqa xmm7, xmm8 LONG $0xdb0f4166; BYTE $0xff // pand xmm7, xmm15 LONG $0xf80f4166; BYTE $0xf8 // psubb xmm7, xmm8 - LONG $0xda6e0f66 // movd xmm3, edx - LONG $0x54b70f42; WORD $0x223e // movzx edx, word [rsi + r15 + 34] - LONG $0x20245489 // mov dword [rsp + 32], edx + LONG $0x6e0f4166; BYTE $0xdb // movd xmm3, r11d + LONG $0x5cb70f46; WORD $0x223e // movzx r11d, word [rsi + r15 + 34] QUAD $0x0110064cc40f4266 // pinsrw xmm1, word [rsi + r8 + 16], 1 QUAD $0x02100e4cc40f4266 // pinsrw xmm1, word [rsi + r9 + 16], 2 QUAD $0x0310264cc40f4266 // pinsrw xmm1, word [rsi + r12 + 16], 3 QUAD $0x04102e4cc40f4266 // pinsrw xmm1, word [rsi + r13 + 16], 4 LONG $0x4cc40f66; WORD $0x100e; BYTE $0x05 // pinsrw xmm1, word [rsi + rcx + 16], 5 - LONG $0x4cc40f66; WORD $0x103e; BYTE $0x06 // pinsrw xmm1, word [rsi + rdi + 16], 6 + LONG $0x4cc40f66; WORD $0x1016; BYTE $0x06 // pinsrw xmm1, word [rsi + rdx + 16], 6 LONG $0x4cc40f66; WORD $0x101e; BYTE $0x07 // pinsrw xmm1, word [rsi + rbx + 16], 7 LONG $0xc8750f66 // pcmpeqw xmm1, xmm0 LONG $0xc9630f66 // packsswb xmm1, xmm1 LONG $0xdb0f4166; BYTE $0xcf // pand xmm1, xmm15 LONG $0xf9eb0f66 // por xmm7, xmm1 - LONG $0x6e0f4166; BYTE $0xf2 // movd xmm6, r10d - LONG $0x54b70f46; WORD $0x243e // movzx r10d, word [rsi + r15 + 36] + LONG $0xf76e0f66 // movd xmm6, edi + LONG $0x7cb70f42; WORD $0x243e // movzx edi, word [rsi + r15 + 36] + LONG $0x30247c89 // mov dword [rsp + 48], edi QUAD $0x0114066cc40f4266 // pinsrw xmm5, word [rsi + r8 + 20], 1 QUAD $0x02140e6cc40f4266 // pinsrw xmm5, word [rsi + r9 + 20], 2 QUAD $0x0314266cc40f4266 // pinsrw xmm5, word [rsi + r12 + 20], 3 QUAD $0x04142e6cc40f4266 // pinsrw xmm5, word [rsi + r13 + 20], 4 LONG $0x6cc40f66; WORD $0x140e; BYTE $0x05 // pinsrw xmm5, word [rsi + rcx + 20], 5 - LONG $0x6cc40f66; WORD $0x143e; BYTE $0x06 // pinsrw xmm5, word [rsi + rdi + 20], 6 + LONG $0x6cc40f66; WORD $0x1416; BYTE $0x06 // pinsrw xmm5, word [rsi + rdx + 20], 6 LONG $0x6cc40f66; WORD $0x141e; BYTE $0x07 // pinsrw xmm5, word [rsi + rbx + 20], 7 LONG $0xe8750f66 // pcmpeqw xmm5, xmm0 LONG $0xed630f66 // packsswb xmm5, xmm5 @@ -7640,21 +8090,21 @@ LBB1_111: LONG $0xdb0f4166; BYTE $0xe9 // pand xmm5, xmm9 LONG $0xefeb0f66 // por xmm5, xmm7 LONG $0x6e0f4166; BYTE $0xfe // movd xmm7, r14d - LONG $0x54b70f42; WORD $0x263e // movzx edx, word [rsi + r15 + 38] - LONG $0x18245489 // mov dword [rsp + 24], edx + LONG $0x7cb70f42; WORD $0x263e // movzx edi, word [rsi + r15 + 38] + LONG $0x10247c89 // mov dword [rsp + 16], edi QUAD $0x01160654c40f4266 // pinsrw xmm2, word [rsi + r8 + 22], 1 QUAD $0x02160e54c40f4266 // pinsrw xmm2, word [rsi + r9 + 22], 2 QUAD $0x03162654c40f4266 // pinsrw xmm2, word [rsi + r12 + 22], 3 QUAD $0x04162e54c40f4266 // pinsrw xmm2, word [rsi + r13 + 22], 4 LONG $0x54c40f66; WORD $0x160e; BYTE $0x05 // pinsrw xmm2, word [rsi + rcx + 22], 5 - LONG $0x54c40f66; WORD $0x163e; BYTE $0x06 // pinsrw xmm2, word [rsi + rdi + 22], 6 + LONG $0x54c40f66; WORD $0x1616; BYTE $0x06 // pinsrw xmm2, word [rsi + rdx + 22], 6 LONG $0x54c40f66; WORD $0x161e; BYTE $0x07 // pinsrw xmm2, word [rsi + rbx + 22], 7 QUAD $0x0118065cc40f4266 // pinsrw xmm3, word [rsi + r8 + 24], 1 QUAD $0x02180e5cc40f4266 // pinsrw xmm3, word [rsi + r9 + 24], 2 QUAD $0x0318265cc40f4266 // pinsrw xmm3, word [rsi + r12 + 24], 3 QUAD $0x04182e5cc40f4266 // pinsrw xmm3, word [rsi + r13 + 24], 4 LONG $0x5cc40f66; WORD $0x180e; BYTE $0x05 // pinsrw xmm3, word [rsi + rcx + 24], 5 - LONG $0x5cc40f66; WORD $0x183e; BYTE $0x06 // pinsrw xmm3, word [rsi + rdi + 24], 6 + LONG $0x5cc40f66; WORD $0x1816; BYTE $0x06 // pinsrw xmm3, word [rsi + rdx + 24], 6 LONG $0x5cc40f66; WORD $0x181e; BYTE $0x07 // pinsrw xmm3, word [rsi + rbx + 24], 7 LONG $0xd0750f66 // pcmpeqw xmm2, xmm0 LONG $0xd2630f66 // packsswb xmm2, xmm2 @@ -7667,31 +8117,32 @@ LBB1_111: LONG $0xf3710f66; BYTE $0x04 // psllw xmm3, 4 LONG $0xdb0f4166; BYTE $0xdb // pand xmm3, xmm11 LONG $0xdaeb0f66 // por xmm3, xmm2 - LONG $0x6e0f4166; BYTE $0xd3 // movd xmm2, r11d - LONG $0x74b70f46; WORD $0x283e // movzx r14d, word [rsi + r15 + 40] + LONG $0x6e0f4166; BYTE $0xd2 // movd xmm2, r10d + LONG $0x7cb70f42; WORD $0x283e // movzx edi, word [rsi + r15 + 40] LONG $0xddeb0f66 // por xmm3, xmm5 LONG $0xe86e0f66 // movd xmm5, eax - LONG $0x5cb70f46; WORD $0x2a3e // movzx r11d, word [rsi + r15 + 42] + LONG $0x44b70f42; WORD $0x2a3e // movzx eax, word [rsi + r15 + 42] + LONG $0x18244489 // mov dword [rsp + 24], eax QUAD $0x011a0674c40f4266 // pinsrw xmm6, word [rsi + r8 + 26], 1 QUAD $0x021a0e74c40f4266 // pinsrw xmm6, word [rsi + r9 + 26], 2 QUAD $0x031a2674c40f4266 // pinsrw xmm6, word [rsi + r12 + 26], 3 QUAD $0x041a2e74c40f4266 // pinsrw xmm6, word [rsi + r13 + 26], 4 LONG $0x74c40f66; WORD $0x1a0e; BYTE $0x05 // pinsrw xmm6, word [rsi + rcx + 26], 5 - LONG $0x74c40f66; WORD $0x1a3e; BYTE $0x06 // pinsrw xmm6, word [rsi + rdi + 26], 6 + LONG $0x74c40f66; WORD $0x1a16; BYTE $0x06 // pinsrw xmm6, word [rsi + rdx + 26], 6 LONG $0x74c40f66; WORD $0x1a1e; BYTE $0x07 // pinsrw xmm6, word [rsi + rbx + 26], 7 QUAD $0x011c067cc40f4266 // pinsrw xmm7, word [rsi + r8 + 28], 1 QUAD $0x021c0e7cc40f4266 // pinsrw xmm7, word [rsi + r9 + 28], 2 QUAD $0x031c267cc40f4266 // pinsrw xmm7, word [rsi + r12 + 28], 3 QUAD $0x041c2e7cc40f4266 // pinsrw xmm7, word [rsi + r13 + 28], 4 LONG $0x7cc40f66; WORD $0x1c0e; BYTE $0x05 // pinsrw xmm7, word [rsi + rcx + 28], 5 - LONG $0x7cc40f66; WORD $0x1c3e; BYTE $0x06 // pinsrw xmm7, word [rsi + rdi + 28], 6 + LONG $0x7cc40f66; WORD $0x1c16; BYTE $0x06 // pinsrw xmm7, word [rsi + rdx + 28], 6 LONG $0x7cc40f66; WORD $0x1c1e; BYTE $0x07 // pinsrw xmm7, word [rsi + rbx + 28], 7 QUAD $0x011e0654c40f4266 // pinsrw xmm2, word [rsi + r8 + 30], 1 QUAD $0x021e0e54c40f4266 // pinsrw xmm2, word [rsi + r9 + 30], 2 QUAD $0x031e2654c40f4266 // pinsrw xmm2, word [rsi + r12 + 30], 3 QUAD $0x041e2e54c40f4266 // pinsrw xmm2, word [rsi + r13 + 30], 4 LONG $0x54c40f66; WORD $0x1e0e; BYTE $0x05 // pinsrw xmm2, word [rsi + rcx + 30], 5 - LONG $0x54c40f66; WORD $0x1e3e; BYTE $0x06 // pinsrw xmm2, word [rsi + rdi + 30], 6 + LONG $0x54c40f66; WORD $0x1e16; BYTE $0x06 // pinsrw xmm2, word [rsi + rdx + 30], 6 LONG $0x54c40f66; WORD $0x1e1e; BYTE $0x07 // pinsrw xmm2, word [rsi + rbx + 30], 7 LONG $0xf0750f66 // pcmpeqw xmm6, xmm0 LONG $0xf6630f66 // packsswb xmm6, xmm6 @@ -7704,27 +8155,27 @@ LBB1_111: LONG $0xf7710f66; BYTE $0x06 // psllw xmm7, 6 LONG $0xdb0f4166; BYTE $0xfd // pand xmm7, xmm13 LONG $0xfeeb0f66 // por xmm7, xmm6 - LONG $0x4c6e0f66; WORD $0x2024 // movd xmm1, dword [rsp + 32] - LONG $0x54b70f42; WORD $0x2c3e // movzx edx, word [rsi + r15 + 44] + LONG $0x6e0f4166; BYTE $0xcb // movd xmm1, r11d + LONG $0x54b70f46; WORD $0x2c3e // movzx r10d, word [rsi + r15 + 44] LONG $0xd0750f66 // pcmpeqw xmm2, xmm0 LONG $0xd2630f66 // packsswb xmm2, xmm2 LONG $0xf2710f66; BYTE $0x07 // psllw xmm2, 7 LONG $0xdb0f4166; BYTE $0xd6 // pand xmm2, xmm14 LONG $0xd7eb0f66 // por xmm2, xmm7 - LONG $0x6e0f4166; BYTE $0xf2 // movd xmm6, r10d - LONG $0x44b70f42; WORD $0x2e3e // movzx eax, word [rsi + r15 + 46] + LONG $0x746e0f66; WORD $0x3024 // movd xmm6, dword [rsp + 48] + LONG $0x74b70f46; WORD $0x2e3e // movzx r14d, word [rsi + r15 + 46] QUAD $0x0120066cc40f4266 // pinsrw xmm5, word [rsi + r8 + 32], 1 QUAD $0x02200e6cc40f4266 // pinsrw xmm5, word [rsi + r9 + 32], 2 QUAD $0x0320266cc40f4266 // pinsrw xmm5, word [rsi + r12 + 32], 3 QUAD $0x04202e6cc40f4266 // pinsrw xmm5, word [rsi + r13 + 32], 4 LONG $0x6cc40f66; WORD $0x200e; BYTE $0x05 // pinsrw xmm5, word [rsi + rcx + 32], 5 - LONG $0x6cc40f66; WORD $0x203e; BYTE $0x06 // pinsrw xmm5, word [rsi + rdi + 32], 6 + LONG $0x6cc40f66; WORD $0x2016; BYTE $0x06 // pinsrw xmm5, word [rsi + rdx + 32], 6 QUAD $0x0122064cc40f4266 // pinsrw xmm1, word [rsi + r8 + 34], 1 QUAD $0x02220e4cc40f4266 // pinsrw xmm1, word [rsi + r9 + 34], 2 QUAD $0x0322264cc40f4266 // pinsrw xmm1, word [rsi + r12 + 34], 3 QUAD $0x04222e4cc40f4266 // pinsrw xmm1, word [rsi + r13 + 34], 4 LONG $0x4cc40f66; WORD $0x220e; BYTE $0x05 // pinsrw xmm1, word [rsi + rcx + 34], 5 - LONG $0x4cc40f66; WORD $0x223e; BYTE $0x06 // pinsrw xmm1, word [rsi + rdi + 34], 6 + LONG $0x4cc40f66; WORD $0x2216; BYTE $0x06 // pinsrw xmm1, word [rsi + rdx + 34], 6 LONG $0x4cc40f66; WORD $0x221e; BYTE $0x07 // pinsrw xmm1, word [rsi + rbx + 34], 7 LONG $0xd3eb0f66 // por xmm2, xmm3 LONG $0xc8750f66 // pcmpeqw xmm1, xmm0 @@ -7732,8 +8183,9 @@ LBB1_111: LONG $0xf96f0f66 // movdqa xmm7, xmm1 LONG $0xdb0f4166; BYTE $0xff // pand xmm7, xmm15 LONG $0xf9f80f66 // psubb xmm7, xmm1 - LONG $0x5c6e0f66; WORD $0x1824 // movd xmm3, dword [rsp + 24] - LONG $0x54b70f46; WORD $0x303e // movzx r10d, word [rsi + r15 + 48] + LONG $0x5c6e0f66; WORD $0x1024 // movd xmm3, dword [rsp + 16] + LONG $0x44b70f42; WORD $0x303e // movzx eax, word [rsi + r15 + 48] + LONG $0x10244489 // mov dword [rsp + 16], eax LONG $0x6cc40f66; WORD $0x201e; BYTE $0x07 // pinsrw xmm5, word [rsi + rbx + 32], 7 LONG $0xe8750f66 // pcmpeqw xmm5, xmm0 LONG $0xed630f66 // packsswb xmm5, xmm5 @@ -7743,32 +8195,33 @@ LBB1_111: QUAD $0x03242674c40f4266 // pinsrw xmm6, word [rsi + r12 + 36], 3 QUAD $0x04242e74c40f4266 // pinsrw xmm6, word [rsi + r13 + 36], 4 LONG $0x74c40f66; WORD $0x240e; BYTE $0x05 // pinsrw xmm6, word [rsi + rcx + 36], 5 - LONG $0x74c40f66; WORD $0x243e; BYTE $0x06 // pinsrw xmm6, word [rsi + rdi + 36], 6 + LONG $0x74c40f66; WORD $0x2416; BYTE $0x06 // pinsrw xmm6, word [rsi + rdx + 36], 6 LONG $0x74c40f66; WORD $0x241e; BYTE $0x07 // pinsrw xmm6, word [rsi + rbx + 36], 7 QUAD $0x0126065cc40f4266 // pinsrw xmm3, word [rsi + r8 + 38], 1 QUAD $0x02260e5cc40f4266 // pinsrw xmm3, word [rsi + r9 + 38], 2 QUAD $0x0326265cc40f4266 // pinsrw xmm3, word [rsi + r12 + 38], 3 QUAD $0x04262e5cc40f4266 // pinsrw xmm3, word [rsi + r13 + 38], 4 LONG $0x5cc40f66; WORD $0x260e; BYTE $0x05 // pinsrw xmm3, word [rsi + rcx + 38], 5 - LONG $0x5cc40f66; WORD $0x263e; BYTE $0x06 // pinsrw xmm3, word [rsi + rdi + 38], 6 + LONG $0x5cc40f66; WORD $0x2616; BYTE $0x06 // pinsrw xmm3, word [rsi + rdx + 38], 6 LONG $0x5cc40f66; WORD $0x261e; BYTE $0x07 // pinsrw xmm3, word [rsi + rbx + 38], 7 LONG $0xfdeb0f66 // por xmm7, xmm5 - LONG $0x6e0f4166; BYTE $0xee // movd xmm5, r14d + LONG $0xef6e0f66 // movd xmm5, edi QUAD $0x0128066cc40f4266 // pinsrw xmm5, word [rsi + r8 + 40], 1 QUAD $0x02280e6cc40f4266 // pinsrw xmm5, word [rsi + r9 + 40], 2 QUAD $0x0328266cc40f4266 // pinsrw xmm5, word [rsi + r12 + 40], 3 QUAD $0x04282e6cc40f4266 // pinsrw xmm5, word [rsi + r13 + 40], 4 LONG $0x6cc40f66; WORD $0x280e; BYTE $0x05 // pinsrw xmm5, word [rsi + rcx + 40], 5 - LONG $0x6cc40f66; WORD $0x283e; BYTE $0x06 // pinsrw xmm5, word [rsi + rdi + 40], 6 - LONG $0x74b70f46; WORD $0x323e // movzx r14d, word [rsi + r15 + 50] + LONG $0x6cc40f66; WORD $0x2816; BYTE $0x06 // pinsrw xmm5, word [rsi + rdx + 40], 6 + LONG $0x44b70f42; WORD $0x323e // movzx eax, word [rsi + r15 + 50] LONG $0xf0750f66 // pcmpeqw xmm6, xmm0 LONG $0xf6630f66 // packsswb xmm6, xmm6 LONG $0xdb0f4166; BYTE $0xf7 // pand xmm6, xmm15 LONG $0xf6710f66; BYTE $0x02 // psllw xmm6, 2 LONG $0xdb0f4166; BYTE $0xf1 // pand xmm6, xmm9 LONG $0xf7eb0f66 // por xmm6, xmm7 - LONG $0x6e0f4166; BYTE $0xcb // movd xmm1, r11d - LONG $0x5cb70f46; WORD $0x343e // movzx r11d, word [rsi + r15 + 52] + LONG $0x4c6e0f66; WORD $0x1824 // movd xmm1, dword [rsp + 24] + LONG $0x7cb70f42; WORD $0x343e // movzx edi, word [rsi + r15 + 52] + LONG $0x18247c89 // mov dword [rsp + 24], edi LONG $0x6cc40f66; WORD $0x281e; BYTE $0x07 // pinsrw xmm5, word [rsi + rbx + 40], 7 LONG $0xd8750f66 // pcmpeqw xmm3, xmm0 LONG $0xdb630f66 // packsswb xmm3, xmm3 @@ -7781,24 +8234,24 @@ LBB1_111: LONG $0xf5710f66; BYTE $0x04 // psllw xmm5, 4 LONG $0xdb0f4166; BYTE $0xeb // pand xmm5, xmm11 LONG $0xebeb0f66 // por xmm5, xmm3 - LONG $0xfa6e0f66 // movd xmm7, edx - LONG $0x54b70f42; WORD $0x363e // movzx edx, word [rsi + r15 + 54] + LONG $0x6e0f4166; BYTE $0xfa // movd xmm7, r10d + LONG $0x5cb70f46; WORD $0x363e // movzx r11d, word [rsi + r15 + 54] QUAD $0x012a064cc40f4266 // pinsrw xmm1, word [rsi + r8 + 42], 1 QUAD $0x022a0e4cc40f4266 // pinsrw xmm1, word [rsi + r9 + 42], 2 QUAD $0x032a264cc40f4266 // pinsrw xmm1, word [rsi + r12 + 42], 3 QUAD $0x042a2e4cc40f4266 // pinsrw xmm1, word [rsi + r13 + 42], 4 LONG $0x4cc40f66; WORD $0x2a0e; BYTE $0x05 // pinsrw xmm1, word [rsi + rcx + 42], 5 - LONG $0x4cc40f66; WORD $0x2a3e; BYTE $0x06 // pinsrw xmm1, word [rsi + rdi + 42], 6 + LONG $0x4cc40f66; WORD $0x2a16; BYTE $0x06 // pinsrw xmm1, word [rsi + rdx + 42], 6 LONG $0x4cc40f66; WORD $0x2a1e; BYTE $0x07 // pinsrw xmm1, word [rsi + rbx + 42], 7 QUAD $0x012c067cc40f4266 // pinsrw xmm7, word [rsi + r8 + 44], 1 QUAD $0x022c0e7cc40f4266 // pinsrw xmm7, word [rsi + r9 + 44], 2 QUAD $0x032c267cc40f4266 // pinsrw xmm7, word [rsi + r12 + 44], 3 QUAD $0x042c2e7cc40f4266 // pinsrw xmm7, word [rsi + r13 + 44], 4 LONG $0x7cc40f66; WORD $0x2c0e; BYTE $0x05 // pinsrw xmm7, word [rsi + rcx + 44], 5 - LONG $0x7cc40f66; WORD $0x2c3e; BYTE $0x06 // pinsrw xmm7, word [rsi + rdi + 44], 6 + LONG $0x7cc40f66; WORD $0x2c16; BYTE $0x06 // pinsrw xmm7, word [rsi + rdx + 44], 6 LONG $0xeeeb0f66 // por xmm5, xmm6 - LONG $0xd86e0f66 // movd xmm3, eax - LONG $0x44b70f42; WORD $0x383e // movzx eax, word [rsi + r15 + 56] + LONG $0x6e0f4166; BYTE $0xde // movd xmm3, r14d + LONG $0x54b70f46; WORD $0x383e // movzx r10d, word [rsi + r15 + 56] LONG $0x7cc40f66; WORD $0x2c1e; BYTE $0x07 // pinsrw xmm7, word [rsi + rbx + 44], 7 LONG $0xc8750f66 // pcmpeqw xmm1, xmm0 LONG $0xc9630f66 // packsswb xmm1, xmm1 @@ -7811,29 +8264,29 @@ LBB1_111: LONG $0xf7710f66; BYTE $0x06 // psllw xmm7, 6 LONG $0xdb0f4166; BYTE $0xfd // pand xmm7, xmm13 LONG $0xf9eb0f66 // por xmm7, xmm1 - LONG $0x6e0f4166; BYTE $0xf2 // movd xmm6, r10d - LONG $0x54b70f46; WORD $0x3a3e // movzx r10d, word [rsi + r15 + 58] + LONG $0x746e0f66; WORD $0x1024 // movd xmm6, dword [rsp + 16] + LONG $0x74b70f46; WORD $0x3a3e // movzx r14d, word [rsi + r15 + 58] QUAD $0x012e065cc40f4266 // pinsrw xmm3, word [rsi + r8 + 46], 1 QUAD $0x022e0e5cc40f4266 // pinsrw xmm3, word [rsi + r9 + 46], 2 QUAD $0x032e265cc40f4266 // pinsrw xmm3, word [rsi + r12 + 46], 3 QUAD $0x042e2e5cc40f4266 // pinsrw xmm3, word [rsi + r13 + 46], 4 LONG $0x5cc40f66; WORD $0x2e0e; BYTE $0x05 // pinsrw xmm3, word [rsi + rcx + 46], 5 - LONG $0x5cc40f66; WORD $0x2e3e; BYTE $0x06 // pinsrw xmm3, word [rsi + rdi + 46], 6 + LONG $0x5cc40f66; WORD $0x2e16; BYTE $0x06 // pinsrw xmm3, word [rsi + rdx + 46], 6 LONG $0x5cc40f66; WORD $0x2e1e; BYTE $0x07 // pinsrw xmm3, word [rsi + rbx + 46], 7 LONG $0xd8750f66 // pcmpeqw xmm3, xmm0 LONG $0xdb630f66 // packsswb xmm3, xmm3 LONG $0xf3710f66; BYTE $0x07 // psllw xmm3, 7 LONG $0xdb0f4166; BYTE $0xde // pand xmm3, xmm14 LONG $0xdfeb0f66 // por xmm3, xmm7 - LONG $0x6e0f4166; BYTE $0xce // movd xmm1, r14d - LONG $0x74b70f46; WORD $0x3c3e // movzx r14d, word [rsi + r15 + 60] + LONG $0xc86e0f66 // movd xmm1, eax + LONG $0x7cb70f42; WORD $0x3c3e // movzx edi, word [rsi + r15 + 60] LONG $0x7cb70f46; WORD $0x3e3e // movzx r15d, word [rsi + r15 + 62] QUAD $0x0132064cc40f4266 // pinsrw xmm1, word [rsi + r8 + 50], 1 QUAD $0x02320e4cc40f4266 // pinsrw xmm1, word [rsi + r9 + 50], 2 QUAD $0x0332264cc40f4266 // pinsrw xmm1, word [rsi + r12 + 50], 3 QUAD $0x04322e4cc40f4266 // pinsrw xmm1, word [rsi + r13 + 50], 4 LONG $0x4cc40f66; WORD $0x320e; BYTE $0x05 // pinsrw xmm1, word [rsi + rcx + 50], 5 - LONG $0x4cc40f66; WORD $0x323e; BYTE $0x06 // pinsrw xmm1, word [rsi + rdi + 50], 6 + LONG $0x4cc40f66; WORD $0x3216; BYTE $0x06 // pinsrw xmm1, word [rsi + rdx + 50], 6 LONG $0x4cc40f66; WORD $0x321e; BYTE $0x07 // pinsrw xmm1, word [rsi + rbx + 50], 7 LONG $0xddeb0f66 // por xmm3, xmm5 LONG $0xc8750f66 // pcmpeqw xmm1, xmm0 @@ -7841,13 +8294,14 @@ LBB1_111: LONG $0xe96f0f66 // movdqa xmm5, xmm1 LONG $0xdb0f4166; BYTE $0xef // pand xmm5, xmm15 LONG $0xe9f80f66 // psubb xmm5, xmm1 - LONG $0x6e0f4166; BYTE $0xcb // movd xmm1, r11d + LONG $0x4c6e0f66; WORD $0x1824 // movd xmm1, dword [rsp + 24] + QUAD $0x0000008824848b48 // mov rax, qword [rsp + 136] QUAD $0x01300674c40f4266 // pinsrw xmm6, word [rsi + r8 + 48], 1 QUAD $0x02300e74c40f4266 // pinsrw xmm6, word [rsi + r9 + 48], 2 QUAD $0x03302674c40f4266 // pinsrw xmm6, word [rsi + r12 + 48], 3 QUAD $0x04302e74c40f4266 // pinsrw xmm6, word [rsi + r13 + 48], 4 LONG $0x74c40f66; WORD $0x300e; BYTE $0x05 // pinsrw xmm6, word [rsi + rcx + 48], 5 - LONG $0x74c40f66; WORD $0x303e; BYTE $0x06 // pinsrw xmm6, word [rsi + rdi + 48], 6 + LONG $0x74c40f66; WORD $0x3016; BYTE $0x06 // pinsrw xmm6, word [rsi + rdx + 48], 6 LONG $0x74c40f66; WORD $0x301e; BYTE $0x07 // pinsrw xmm6, word [rsi + rbx + 48], 7 LONG $0xf0750f66 // pcmpeqw xmm6, xmm0 LONG $0xf6630f66 // packsswb xmm6, xmm6 @@ -7857,9 +8311,9 @@ LBB1_111: QUAD $0x04342e4cc40f4266 // pinsrw xmm1, word [rsi + r13 + 52], 4 LONG $0x4cc40f66; WORD $0x340e; BYTE $0x05 // pinsrw xmm1, word [rsi + rcx + 52], 5 LONG $0xdb0f4166; BYTE $0xf7 // pand xmm6, xmm15 - LONG $0x4cc40f66; WORD $0x343e; BYTE $0x06 // pinsrw xmm1, word [rsi + rdi + 52], 6 + LONG $0x4cc40f66; WORD $0x3416; BYTE $0x06 // pinsrw xmm1, word [rsi + rdx + 52], 6 LONG $0xeeeb0f66 // por xmm5, xmm6 - LONG $0xf26e0f66 // movd xmm6, edx + LONG $0x6e0f4166; BYTE $0xf3 // movd xmm6, r11d LONG $0x4cc40f66; WORD $0x341e; BYTE $0x07 // pinsrw xmm1, word [rsi + rbx + 52], 7 LONG $0xc8750f66 // pcmpeqw xmm1, xmm0 LONG $0xc9630f66 // packsswb xmm1, xmm1 @@ -7867,20 +8321,20 @@ LBB1_111: LONG $0xf1710f66; BYTE $0x02 // psllw xmm1, 2 LONG $0xdb0f4166; BYTE $0xc9 // pand xmm1, xmm9 LONG $0xcdeb0f66 // por xmm1, xmm5 - LONG $0xe86e0f66 // movd xmm5, eax + LONG $0x6e0f4166; BYTE $0xea // movd xmm5, r10d QUAD $0x01360674c40f4266 // pinsrw xmm6, word [rsi + r8 + 54], 1 QUAD $0x02360e74c40f4266 // pinsrw xmm6, word [rsi + r9 + 54], 2 QUAD $0x03362674c40f4266 // pinsrw xmm6, word [rsi + r12 + 54], 3 QUAD $0x04362e74c40f4266 // pinsrw xmm6, word [rsi + r13 + 54], 4 LONG $0x74c40f66; WORD $0x360e; BYTE $0x05 // pinsrw xmm6, word [rsi + rcx + 54], 5 - LONG $0x74c40f66; WORD $0x363e; BYTE $0x06 // pinsrw xmm6, word [rsi + rdi + 54], 6 + LONG $0x74c40f66; WORD $0x3616; BYTE $0x06 // pinsrw xmm6, word [rsi + rdx + 54], 6 LONG $0x74c40f66; WORD $0x361e; BYTE $0x07 // pinsrw xmm6, word [rsi + rbx + 54], 7 QUAD $0x0138066cc40f4266 // pinsrw xmm5, word [rsi + r8 + 56], 1 QUAD $0x02380e6cc40f4266 // pinsrw xmm5, word [rsi + r9 + 56], 2 QUAD $0x0338266cc40f4266 // pinsrw xmm5, word [rsi + r12 + 56], 3 QUAD $0x04382e6cc40f4266 // pinsrw xmm5, word [rsi + r13 + 56], 4 LONG $0x6cc40f66; WORD $0x380e; BYTE $0x05 // pinsrw xmm5, word [rsi + rcx + 56], 5 - LONG $0x6cc40f66; WORD $0x383e; BYTE $0x06 // pinsrw xmm5, word [rsi + rdi + 56], 6 + LONG $0x6cc40f66; WORD $0x3816; BYTE $0x06 // pinsrw xmm5, word [rsi + rdx + 56], 6 LONG $0x6cc40f66; WORD $0x381e; BYTE $0x07 // pinsrw xmm5, word [rsi + rbx + 56], 7 LONG $0xf0750f66 // pcmpeqw xmm6, xmm0 LONG $0xf6630f66 // packsswb xmm6, xmm6 @@ -7893,22 +8347,22 @@ LBB1_111: LONG $0xf5710f66; BYTE $0x04 // psllw xmm5, 4 LONG $0xdb0f4166; BYTE $0xeb // pand xmm5, xmm11 LONG $0xeeeb0f66 // por xmm5, xmm6 - LONG $0x6e0f4166; BYTE $0xf2 // movd xmm6, r10d + LONG $0x6e0f4166; BYTE $0xf6 // movd xmm6, r14d QUAD $0x013a0674c40f4266 // pinsrw xmm6, word [rsi + r8 + 58], 1 QUAD $0x023a0e74c40f4266 // pinsrw xmm6, word [rsi + r9 + 58], 2 QUAD $0x033a2674c40f4266 // pinsrw xmm6, word [rsi + r12 + 58], 3 QUAD $0x043a2e74c40f4266 // pinsrw xmm6, word [rsi + r13 + 58], 4 LONG $0x74c40f66; WORD $0x3a0e; BYTE $0x05 // pinsrw xmm6, word [rsi + rcx + 58], 5 - LONG $0x74c40f66; WORD $0x3a3e; BYTE $0x06 // pinsrw xmm6, word [rsi + rdi + 58], 6 + LONG $0x74c40f66; WORD $0x3a16; BYTE $0x06 // pinsrw xmm6, word [rsi + rdx + 58], 6 LONG $0x74c40f66; WORD $0x3a1e; BYTE $0x07 // pinsrw xmm6, word [rsi + rbx + 58], 7 LONG $0xe9eb0f66 // por xmm5, xmm1 - LONG $0x6e0f4166; BYTE $0xce // movd xmm1, r14d + LONG $0xcf6e0f66 // movd xmm1, edi QUAD $0x013c064cc40f4266 // pinsrw xmm1, word [rsi + r8 + 60], 1 QUAD $0x023c0e4cc40f4266 // pinsrw xmm1, word [rsi + r9 + 60], 2 QUAD $0x033c264cc40f4266 // pinsrw xmm1, word [rsi + r12 + 60], 3 QUAD $0x043c2e4cc40f4266 // pinsrw xmm1, word [rsi + r13 + 60], 4 LONG $0x4cc40f66; WORD $0x3c0e; BYTE $0x05 // pinsrw xmm1, word [rsi + rcx + 60], 5 - LONG $0x4cc40f66; WORD $0x3c3e; BYTE $0x06 // pinsrw xmm1, word [rsi + rdi + 60], 6 + LONG $0x4cc40f66; WORD $0x3c16; BYTE $0x06 // pinsrw xmm1, word [rsi + rdx + 60], 6 LONG $0x4cc40f66; WORD $0x3c1e; BYTE $0x07 // pinsrw xmm1, word [rsi + rbx + 60], 7 LONG $0xf0750f66 // pcmpeqw xmm6, xmm0 LONG $0xf6630f66 // packsswb xmm6, xmm6 @@ -7925,10 +8379,9 @@ LBB1_111: QUAD $0x013e0674c40f4266 // pinsrw xmm6, word [rsi + r8 + 62], 1 QUAD $0x023e0e74c40f4266 // pinsrw xmm6, word [rsi + r9 + 62], 2 QUAD $0x033e2674c40f4266 // pinsrw xmm6, word [rsi + r12 + 62], 3 - QUAD $0x0000008824b48b4c // mov r14, qword [rsp + 136] QUAD $0x043e2e74c40f4266 // pinsrw xmm6, word [rsi + r13 + 62], 4 LONG $0x74c40f66; WORD $0x3e0e; BYTE $0x05 // pinsrw xmm6, word [rsi + rcx + 62], 5 - LONG $0x74c40f66; WORD $0x3e3e; BYTE $0x06 // pinsrw xmm6, word [rsi + rdi + 62], 6 + LONG $0x74c40f66; WORD $0x3e16; BYTE $0x06 // pinsrw xmm6, word [rsi + rdx + 62], 6 LONG $0x74c40f66; WORD $0x3e1e; BYTE $0x07 // pinsrw xmm6, word [rsi + rbx + 62], 7 LONG $0xf0750f66 // pcmpeqw xmm6, xmm0 LONG $0xf6630f66 // packsswb xmm6, xmm6 @@ -7948,31 +8401,30 @@ LBB1_111: LONG $0xe2600f66 // punpcklbw xmm4, xmm2 LONG $0xe3610f66 // punpcklwd xmm4, xmm3 LONG $0x244c8b48; BYTE $0x28 // mov rcx, qword [rsp + 40] - LONG $0x7f0f41f3; WORD $0x8e24 // movdqu oword [r14 + 4*rcx], xmm4 - LONG $0x7f0f41f3; WORD $0x8e4c; BYTE $0x10 // movdqu oword [r14 + 4*rcx + 16], xmm1 + LONG $0x247f0ff3; BYTE $0x88 // movdqu oword [rax + 4*rcx], xmm4 + LONG $0x4c7f0ff3; WORD $0x1088 // movdqu oword [rax + 4*rcx + 16], xmm1 LONG $0x08c18348 // add rcx, 8 WORD $0x8949; BYTE $0xcf // mov r15, rcx - LONG $0x244c3b48; BYTE $0x10 // cmp rcx, qword [rsp + 16] - JNE LBB1_111 - QUAD $0x00000098249c8b4c // mov r11, qword [rsp + 152] - LONG $0x245c3b4c; BYTE $0x10 // cmp r11, qword [rsp + 16] + LONG $0x244c3b48; BYTE $0x20 // cmp rcx, qword [rsp + 32] + JNE LBB1_112 + QUAD $0x000000f024bc8b4c // mov r15, qword [rsp + 240] + LONG $0x247c3b4c; BYTE $0x20 // cmp r15, qword [rsp + 32] QUAD $0x0000009024948b4c // mov r10, qword [rsp + 144] - LONG $0x246c8b44; BYTE $0x38 // mov r13d, dword [rsp + 56] - LONG $0x24748b48; BYTE $0x40 // mov rsi, qword [rsp + 64] - JNE LBB1_113 - JMP LBB1_116 + LONG $0x245c8b44; BYTE $0x04 // mov r11d, dword [rsp + 4] + LONG $0x24748b48; BYTE $0x38 // mov rsi, qword [rsp + 56] + JNE LBB1_114 + JMP LBB1_117 -LBB1_133: +LBB1_134: LONG $0xf8e78349 // and r15, -8 WORD $0x894c; BYTE $0xf8 // mov rax, r15 LONG $0x06e0c148 // shl rax, 6 WORD $0x0148; BYTE $0xf0 // add rax, rsi - LONG $0x24448948; BYTE $0x40 // mov qword [rsp + 64], rax - LONG $0x247c894c; BYTE $0x10 // mov qword [rsp + 16], r15 + LONG $0x24448948; BYTE $0x38 // mov qword [rsp + 56], rax + LONG $0x247c894c; BYTE $0x20 // mov qword [rsp + 32], r15 LONG $0xbe048d4b // lea rax, [r14 + 4*r15] LONG $0x24448948; BYTE $0x08 // mov qword [rsp + 8], rax - LONG $0x246c8944; BYTE $0x38 // mov dword [rsp + 56], r13d - LONG $0x6e0f4166; BYTE $0xc5 // movd xmm0, r13d + LONG $0x6e0f4166; BYTE $0xc3 // movd xmm0, r11d LONG $0xc0700ff2; BYTE $0xe0 // pshuflw xmm0, xmm0, 224 LONG $0xc0700f66; BYTE $0x00 // pshufd xmm0, xmm0, 0 WORD $0x3145; BYTE $0xff // xor r15d, r15d @@ -7985,27 +8437,27 @@ LBB1_133: LONG $0x6f0f4466; WORD $0x6075 // movdqa xmm14, oword 96[rbp] /* [rip + .LCPI1_6] */ QUAD $0x0000008824b4894c // mov qword [rsp + 136], r14 -LBB1_134: +LBB1_135: LONG $0x247c894c; BYTE $0x28 // mov qword [rsp + 40], r15 LONG $0x06e7c149 // shl r15, 6 WORD $0x894d; BYTE $0xf9 // mov r9, r15 WORD $0x894d; BYTE $0xfc // mov r12, r15 WORD $0x894d; BYTE $0xfd // mov r13, r15 WORD $0x894c; BYTE $0xf9 // mov rcx, r15 - WORD $0x894c; BYTE $0xff // mov rdi, r15 + WORD $0x894c; BYTE $0xfa // mov rdx, r15 WORD $0x894c; BYTE $0xfb // mov rbx, r15 LONG $0x34b70f46; BYTE $0x3e // movzx r14d, word [rsi + r15] LONG $0x44b70f42; WORD $0x023e // movzx eax, word [rsi + r15 + 2] - LONG $0x54b70f42; WORD $0x043e // movzx edx, word [rsi + r15 + 4] - LONG $0x5cb70f46; WORD $0x063e // movzx r11d, word [rsi + r15 + 6] - LONG $0x54b70f46; WORD $0x083e // movzx r10d, word [rsi + r15 + 8] + LONG $0x54b70f46; WORD $0x043e // movzx r10d, word [rsi + r15 + 4] + LONG $0x7cb70f42; WORD $0x063e // movzx edi, word [rsi + r15 + 6] + LONG $0x5cb70f46; WORD $0x083e // movzx r11d, word [rsi + r15 + 8] WORD $0x894d; BYTE $0xf8 // mov r8, r15 LONG $0x40c88349 // or r8, 64 LONG $0x80c98149; WORD $0x0000; BYTE $0x00 // or r9, 128 LONG $0xc0cc8149; WORD $0x0000; BYTE $0x00 // or r12, 192 LONG $0x00cd8149; WORD $0x0001; BYTE $0x00 // or r13, 256 LONG $0x40c98148; WORD $0x0001; BYTE $0x00 // or rcx, 320 - LONG $0x80cf8148; WORD $0x0001; BYTE $0x00 // or rdi, 384 + LONG $0x80ca8148; WORD $0x0001; BYTE $0x00 // or rdx, 384 LONG $0xc0cb8148; WORD $0x0001; BYTE $0x00 // or rbx, 448 LONG $0x6e0f4166; BYTE $0xe6 // movd xmm4, r14d LONG $0xc40f4266; WORD $0x0624; BYTE $0x01 // pinsrw xmm4, word [rsi + r8], 1 @@ -8013,7 +8465,7 @@ LBB1_134: LONG $0xc40f4266; WORD $0x2624; BYTE $0x03 // pinsrw xmm4, word [rsi + r12], 3 LONG $0xc40f4266; WORD $0x2e24; BYTE $0x04 // pinsrw xmm4, word [rsi + r13], 4 LONG $0x24c40f66; WORD $0x050e // pinsrw xmm4, word [rsi + rcx], 5 - LONG $0x24c40f66; WORD $0x063e // pinsrw xmm4, word [rsi + rdi], 6 + LONG $0x24c40f66; WORD $0x0616 // pinsrw xmm4, word [rsi + rdx], 6 LONG $0x24c40f66; WORD $0x071e // pinsrw xmm4, word [rsi + rbx], 7 LONG $0x74b70f46; WORD $0x0a3e // movzx r14d, word [rsi + r15 + 10] LONG $0xf06e0f66 // movd xmm6, eax @@ -8021,16 +8473,16 @@ LBB1_134: QUAD $0x02020e74c40f4266 // pinsrw xmm6, word [rsi + r9 + 2], 2 QUAD $0x03022674c40f4266 // pinsrw xmm6, word [rsi + r12 + 2], 3 LONG $0x44b70f42; WORD $0x0c3e // movzx eax, word [rsi + r15 + 12] - LONG $0x20244489 // mov dword [rsp + 32], eax + LONG $0x18244489 // mov dword [rsp + 24], eax QUAD $0x04022e74c40f4266 // pinsrw xmm6, word [rsi + r13 + 2], 4 - LONG $0xd26e0f66 // movd xmm2, edx - LONG $0x54b70f42; WORD $0x0e3e // movzx edx, word [rsi + r15 + 14] + LONG $0x6e0f4166; BYTE $0xd2 // movd xmm2, r10d + LONG $0x44b70f42; WORD $0x0e3e // movzx eax, word [rsi + r15 + 14] + LONG $0x10244489 // mov dword [rsp + 16], eax LONG $0x74c40f66; WORD $0x020e; BYTE $0x05 // pinsrw xmm6, word [rsi + rcx + 2], 5 - LONG $0x6e0f4166; BYTE $0xeb // movd xmm5, r11d - LONG $0x44b70f42; WORD $0x103e // movzx eax, word [rsi + r15 + 16] - LONG $0x18244489 // mov dword [rsp + 24], eax - LONG $0x74c40f66; WORD $0x023e; BYTE $0x06 // pinsrw xmm6, word [rsi + rdi + 2], 6 - LONG $0x6e0f4166; BYTE $0xda // movd xmm3, r10d + LONG $0xef6e0f66 // movd xmm5, edi + LONG $0x7cb70f42; WORD $0x103e // movzx edi, word [rsi + r15 + 16] + LONG $0x74c40f66; WORD $0x0216; BYTE $0x06 // pinsrw xmm6, word [rsi + rdx + 2], 6 + LONG $0x6e0f4166; BYTE $0xdb // movd xmm3, r11d LONG $0x44b70f42; WORD $0x123e // movzx eax, word [rsi + r15 + 18] LONG $0x30244489 // mov dword [rsp + 48], eax LONG $0x74c40f66; WORD $0x021e; BYTE $0x07 // pinsrw xmm6, word [rsi + rbx + 2], 7 @@ -8040,7 +8492,7 @@ LBB1_134: LONG $0xdb0f4166; BYTE $0xcf // pand xmm1, xmm15 LONG $0xcef80f66 // psubb xmm1, xmm6 LONG $0x6e0f4166; BYTE $0xf6 // movd xmm6, r14d - LONG $0x5cb70f46; WORD $0x143e // movzx r11d, word [rsi + r15 + 20] + LONG $0x54b70f46; WORD $0x143e // movzx r10d, word [rsi + r15 + 20] LONG $0xe0750f66 // pcmpeqw xmm4, xmm0 LONG $0xe4630f66 // packsswb xmm4, xmm4 LONG $0xdb0f4166; BYTE $0xe7 // pand xmm4, xmm15 @@ -8049,24 +8501,24 @@ LBB1_134: QUAD $0x03042654c40f4266 // pinsrw xmm2, word [rsi + r12 + 4], 3 QUAD $0x04042e54c40f4266 // pinsrw xmm2, word [rsi + r13 + 4], 4 LONG $0x54c40f66; WORD $0x040e; BYTE $0x05 // pinsrw xmm2, word [rsi + rcx + 4], 5 - LONG $0x54c40f66; WORD $0x043e; BYTE $0x06 // pinsrw xmm2, word [rsi + rdi + 4], 6 + LONG $0x54c40f66; WORD $0x0416; BYTE $0x06 // pinsrw xmm2, word [rsi + rdx + 4], 6 LONG $0x54c40f66; WORD $0x041e; BYTE $0x07 // pinsrw xmm2, word [rsi + rbx + 4], 7 QUAD $0x0106066cc40f4266 // pinsrw xmm5, word [rsi + r8 + 6], 1 QUAD $0x02060e6cc40f4266 // pinsrw xmm5, word [rsi + r9 + 6], 2 QUAD $0x0306266cc40f4266 // pinsrw xmm5, word [rsi + r12 + 6], 3 QUAD $0x04062e6cc40f4266 // pinsrw xmm5, word [rsi + r13 + 6], 4 LONG $0x6cc40f66; WORD $0x060e; BYTE $0x05 // pinsrw xmm5, word [rsi + rcx + 6], 5 - LONG $0x6cc40f66; WORD $0x063e; BYTE $0x06 // pinsrw xmm5, word [rsi + rdi + 6], 6 + LONG $0x6cc40f66; WORD $0x0616; BYTE $0x06 // pinsrw xmm5, word [rsi + rdx + 6], 6 LONG $0x6cc40f66; WORD $0x061e; BYTE $0x07 // pinsrw xmm5, word [rsi + rbx + 6], 7 QUAD $0x0108065cc40f4266 // pinsrw xmm3, word [rsi + r8 + 8], 1 QUAD $0x02080e5cc40f4266 // pinsrw xmm3, word [rsi + r9 + 8], 2 QUAD $0x0308265cc40f4266 // pinsrw xmm3, word [rsi + r12 + 8], 3 QUAD $0x04082e5cc40f4266 // pinsrw xmm3, word [rsi + r13 + 8], 4 LONG $0x5cc40f66; WORD $0x080e; BYTE $0x05 // pinsrw xmm3, word [rsi + rcx + 8], 5 - LONG $0x5cc40f66; WORD $0x083e; BYTE $0x06 // pinsrw xmm3, word [rsi + rdi + 8], 6 + LONG $0x5cc40f66; WORD $0x0816; BYTE $0x06 // pinsrw xmm3, word [rsi + rdx + 8], 6 LONG $0x5cc40f66; WORD $0x081e; BYTE $0x07 // pinsrw xmm3, word [rsi + rbx + 8], 7 LONG $0xcceb0f66 // por xmm1, xmm4 - LONG $0x7c6e0f66; WORD $0x2024 // movd xmm7, dword [rsp + 32] + LONG $0x7c6e0f66; WORD $0x1824 // movd xmm7, dword [rsp + 24] LONG $0x44b70f42; WORD $0x163e // movzx eax, word [rsi + r15 + 22] LONG $0xd0750f66 // pcmpeqw xmm2, xmm0 LONG $0xd2630f66 // packsswb xmm2, xmm2 @@ -8074,8 +8526,8 @@ LBB1_134: LONG $0xf2710f66; BYTE $0x02 // psllw xmm2, 2 LONG $0xdb0f4166; BYTE $0xd1 // pand xmm2, xmm9 LONG $0xd1eb0f66 // por xmm2, xmm1 - LONG $0xe26e0f66 // movd xmm4, edx - LONG $0x54b70f42; WORD $0x183e // movzx edx, word [rsi + r15 + 24] + LONG $0x646e0f66; WORD $0x1024 // movd xmm4, dword [rsp + 16] + LONG $0x5cb70f46; WORD $0x183e // movzx r11d, word [rsi + r15 + 24] LONG $0xe8750f66 // pcmpeqw xmm5, xmm0 LONG $0xed630f66 // packsswb xmm5, xmm5 LONG $0xdb0f4166; BYTE $0xef // pand xmm5, xmm15 @@ -8087,21 +8539,21 @@ LBB1_134: LONG $0xf3710f66; BYTE $0x04 // psllw xmm3, 4 LONG $0xdb0f4166; BYTE $0xdb // pand xmm3, xmm11 LONG $0xddeb0f66 // por xmm3, xmm5 - LONG $0x4c6e0f66; WORD $0x1824 // movd xmm1, dword [rsp + 24] - LONG $0x54b70f46; WORD $0x1a3e // movzx r10d, word [rsi + r15 + 26] + LONG $0xcf6e0f66 // movd xmm1, edi + LONG $0x7cb70f42; WORD $0x1a3e // movzx edi, word [rsi + r15 + 26] QUAD $0x010a0674c40f4266 // pinsrw xmm6, word [rsi + r8 + 10], 1 QUAD $0x020a0e74c40f4266 // pinsrw xmm6, word [rsi + r9 + 10], 2 QUAD $0x030a2674c40f4266 // pinsrw xmm6, word [rsi + r12 + 10], 3 QUAD $0x040a2e74c40f4266 // pinsrw xmm6, word [rsi + r13 + 10], 4 LONG $0x74c40f66; WORD $0x0a0e; BYTE $0x05 // pinsrw xmm6, word [rsi + rcx + 10], 5 - LONG $0x74c40f66; WORD $0x0a3e; BYTE $0x06 // pinsrw xmm6, word [rsi + rdi + 10], 6 + LONG $0x74c40f66; WORD $0x0a16; BYTE $0x06 // pinsrw xmm6, word [rsi + rdx + 10], 6 LONG $0x74c40f66; WORD $0x0a1e; BYTE $0x07 // pinsrw xmm6, word [rsi + rbx + 10], 7 QUAD $0x010c067cc40f4266 // pinsrw xmm7, word [rsi + r8 + 12], 1 QUAD $0x020c0e7cc40f4266 // pinsrw xmm7, word [rsi + r9 + 12], 2 QUAD $0x030c267cc40f4266 // pinsrw xmm7, word [rsi + r12 + 12], 3 QUAD $0x040c2e7cc40f4266 // pinsrw xmm7, word [rsi + r13 + 12], 4 LONG $0x7cc40f66; WORD $0x0c0e; BYTE $0x05 // pinsrw xmm7, word [rsi + rcx + 12], 5 - LONG $0x7cc40f66; WORD $0x0c3e; BYTE $0x06 // pinsrw xmm7, word [rsi + rdi + 12], 6 + LONG $0x7cc40f66; WORD $0x0c16; BYTE $0x06 // pinsrw xmm7, word [rsi + rdx + 12], 6 LONG $0x7cc40f66; WORD $0x0c1e; BYTE $0x07 // pinsrw xmm7, word [rsi + rbx + 12], 7 LONG $0xdaeb0f66 // por xmm3, xmm2 LONG $0x6e0f4466; WORD $0x2444; BYTE $0x30 // movd xmm8, dword [rsp + 48] @@ -8117,21 +8569,21 @@ LBB1_134: LONG $0xf7710f66; BYTE $0x06 // psllw xmm7, 6 LONG $0xdb0f4166; BYTE $0xfd // pand xmm7, xmm13 LONG $0xfeeb0f66 // por xmm7, xmm6 - LONG $0x6e0f4166; BYTE $0xeb // movd xmm5, r11d - LONG $0x5cb70f46; WORD $0x1e3e // movzx r11d, word [rsi + r15 + 30] + LONG $0x6e0f4166; BYTE $0xea // movd xmm5, r10d + LONG $0x54b70f46; WORD $0x1e3e // movzx r10d, word [rsi + r15 + 30] QUAD $0x010e0664c40f4266 // pinsrw xmm4, word [rsi + r8 + 14], 1 QUAD $0x020e0e64c40f4266 // pinsrw xmm4, word [rsi + r9 + 14], 2 QUAD $0x030e2664c40f4266 // pinsrw xmm4, word [rsi + r12 + 14], 3 QUAD $0x040e2e64c40f4266 // pinsrw xmm4, word [rsi + r13 + 14], 4 LONG $0x64c40f66; WORD $0x0e0e; BYTE $0x05 // pinsrw xmm4, word [rsi + rcx + 14], 5 - LONG $0x64c40f66; WORD $0x0e3e; BYTE $0x06 // pinsrw xmm4, word [rsi + rdi + 14], 6 + LONG $0x64c40f66; WORD $0x0e16; BYTE $0x06 // pinsrw xmm4, word [rsi + rdx + 14], 6 LONG $0x64c40f66; WORD $0x0e1e; BYTE $0x07 // pinsrw xmm4, word [rsi + rbx + 14], 7 QUAD $0x01120644c40f4666 // pinsrw xmm8, word [rsi + r8 + 18], 1 QUAD $0x02120e44c40f4666 // pinsrw xmm8, word [rsi + r9 + 18], 2 QUAD $0x03122644c40f4666 // pinsrw xmm8, word [rsi + r12 + 18], 3 QUAD $0x04122e44c40f4666 // pinsrw xmm8, word [rsi + r13 + 18], 4 QUAD $0x05120e44c40f4466 // pinsrw xmm8, word [rsi + rcx + 18], 5 - QUAD $0x06123e44c40f4466 // pinsrw xmm8, word [rsi + rdi + 18], 6 + QUAD $0x06121644c40f4466 // pinsrw xmm8, word [rsi + rdx + 18], 6 QUAD $0x07121e44c40f4466 // pinsrw xmm8, word [rsi + rbx + 18], 7 LONG $0xe0750f66 // pcmpeqw xmm4, xmm0 LONG $0xe4630f66 // packsswb xmm4, xmm4 @@ -8146,28 +8598,28 @@ LBB1_134: LONG $0x6f0f4166; BYTE $0xf8 // movdqa xmm7, xmm8 LONG $0xdb0f4166; BYTE $0xff // pand xmm7, xmm15 LONG $0xf80f4166; BYTE $0xf8 // psubb xmm7, xmm8 - LONG $0xda6e0f66 // movd xmm3, edx - LONG $0x54b70f42; WORD $0x223e // movzx edx, word [rsi + r15 + 34] - LONG $0x20245489 // mov dword [rsp + 32], edx + LONG $0x6e0f4166; BYTE $0xdb // movd xmm3, r11d + LONG $0x5cb70f46; WORD $0x223e // movzx r11d, word [rsi + r15 + 34] QUAD $0x0110064cc40f4266 // pinsrw xmm1, word [rsi + r8 + 16], 1 QUAD $0x02100e4cc40f4266 // pinsrw xmm1, word [rsi + r9 + 16], 2 QUAD $0x0310264cc40f4266 // pinsrw xmm1, word [rsi + r12 + 16], 3 QUAD $0x04102e4cc40f4266 // pinsrw xmm1, word [rsi + r13 + 16], 4 LONG $0x4cc40f66; WORD $0x100e; BYTE $0x05 // pinsrw xmm1, word [rsi + rcx + 16], 5 - LONG $0x4cc40f66; WORD $0x103e; BYTE $0x06 // pinsrw xmm1, word [rsi + rdi + 16], 6 + LONG $0x4cc40f66; WORD $0x1016; BYTE $0x06 // pinsrw xmm1, word [rsi + rdx + 16], 6 LONG $0x4cc40f66; WORD $0x101e; BYTE $0x07 // pinsrw xmm1, word [rsi + rbx + 16], 7 LONG $0xc8750f66 // pcmpeqw xmm1, xmm0 LONG $0xc9630f66 // packsswb xmm1, xmm1 LONG $0xdb0f4166; BYTE $0xcf // pand xmm1, xmm15 LONG $0xf9eb0f66 // por xmm7, xmm1 - LONG $0x6e0f4166; BYTE $0xf2 // movd xmm6, r10d - LONG $0x54b70f46; WORD $0x243e // movzx r10d, word [rsi + r15 + 36] + LONG $0xf76e0f66 // movd xmm6, edi + LONG $0x7cb70f42; WORD $0x243e // movzx edi, word [rsi + r15 + 36] + LONG $0x30247c89 // mov dword [rsp + 48], edi QUAD $0x0114066cc40f4266 // pinsrw xmm5, word [rsi + r8 + 20], 1 QUAD $0x02140e6cc40f4266 // pinsrw xmm5, word [rsi + r9 + 20], 2 QUAD $0x0314266cc40f4266 // pinsrw xmm5, word [rsi + r12 + 20], 3 QUAD $0x04142e6cc40f4266 // pinsrw xmm5, word [rsi + r13 + 20], 4 LONG $0x6cc40f66; WORD $0x140e; BYTE $0x05 // pinsrw xmm5, word [rsi + rcx + 20], 5 - LONG $0x6cc40f66; WORD $0x143e; BYTE $0x06 // pinsrw xmm5, word [rsi + rdi + 20], 6 + LONG $0x6cc40f66; WORD $0x1416; BYTE $0x06 // pinsrw xmm5, word [rsi + rdx + 20], 6 LONG $0x6cc40f66; WORD $0x141e; BYTE $0x07 // pinsrw xmm5, word [rsi + rbx + 20], 7 LONG $0xe8750f66 // pcmpeqw xmm5, xmm0 LONG $0xed630f66 // packsswb xmm5, xmm5 @@ -8176,21 +8628,21 @@ LBB1_134: LONG $0xdb0f4166; BYTE $0xe9 // pand xmm5, xmm9 LONG $0xefeb0f66 // por xmm5, xmm7 LONG $0x6e0f4166; BYTE $0xfe // movd xmm7, r14d - LONG $0x54b70f42; WORD $0x263e // movzx edx, word [rsi + r15 + 38] - LONG $0x18245489 // mov dword [rsp + 24], edx + LONG $0x7cb70f42; WORD $0x263e // movzx edi, word [rsi + r15 + 38] + LONG $0x10247c89 // mov dword [rsp + 16], edi QUAD $0x01160654c40f4266 // pinsrw xmm2, word [rsi + r8 + 22], 1 QUAD $0x02160e54c40f4266 // pinsrw xmm2, word [rsi + r9 + 22], 2 QUAD $0x03162654c40f4266 // pinsrw xmm2, word [rsi + r12 + 22], 3 QUAD $0x04162e54c40f4266 // pinsrw xmm2, word [rsi + r13 + 22], 4 LONG $0x54c40f66; WORD $0x160e; BYTE $0x05 // pinsrw xmm2, word [rsi + rcx + 22], 5 - LONG $0x54c40f66; WORD $0x163e; BYTE $0x06 // pinsrw xmm2, word [rsi + rdi + 22], 6 + LONG $0x54c40f66; WORD $0x1616; BYTE $0x06 // pinsrw xmm2, word [rsi + rdx + 22], 6 LONG $0x54c40f66; WORD $0x161e; BYTE $0x07 // pinsrw xmm2, word [rsi + rbx + 22], 7 QUAD $0x0118065cc40f4266 // pinsrw xmm3, word [rsi + r8 + 24], 1 QUAD $0x02180e5cc40f4266 // pinsrw xmm3, word [rsi + r9 + 24], 2 QUAD $0x0318265cc40f4266 // pinsrw xmm3, word [rsi + r12 + 24], 3 QUAD $0x04182e5cc40f4266 // pinsrw xmm3, word [rsi + r13 + 24], 4 LONG $0x5cc40f66; WORD $0x180e; BYTE $0x05 // pinsrw xmm3, word [rsi + rcx + 24], 5 - LONG $0x5cc40f66; WORD $0x183e; BYTE $0x06 // pinsrw xmm3, word [rsi + rdi + 24], 6 + LONG $0x5cc40f66; WORD $0x1816; BYTE $0x06 // pinsrw xmm3, word [rsi + rdx + 24], 6 LONG $0x5cc40f66; WORD $0x181e; BYTE $0x07 // pinsrw xmm3, word [rsi + rbx + 24], 7 LONG $0xd0750f66 // pcmpeqw xmm2, xmm0 LONG $0xd2630f66 // packsswb xmm2, xmm2 @@ -8203,31 +8655,32 @@ LBB1_134: LONG $0xf3710f66; BYTE $0x04 // psllw xmm3, 4 LONG $0xdb0f4166; BYTE $0xdb // pand xmm3, xmm11 LONG $0xdaeb0f66 // por xmm3, xmm2 - LONG $0x6e0f4166; BYTE $0xd3 // movd xmm2, r11d - LONG $0x74b70f46; WORD $0x283e // movzx r14d, word [rsi + r15 + 40] + LONG $0x6e0f4166; BYTE $0xd2 // movd xmm2, r10d + LONG $0x7cb70f42; WORD $0x283e // movzx edi, word [rsi + r15 + 40] LONG $0xddeb0f66 // por xmm3, xmm5 LONG $0xe86e0f66 // movd xmm5, eax - LONG $0x5cb70f46; WORD $0x2a3e // movzx r11d, word [rsi + r15 + 42] + LONG $0x44b70f42; WORD $0x2a3e // movzx eax, word [rsi + r15 + 42] + LONG $0x18244489 // mov dword [rsp + 24], eax QUAD $0x011a0674c40f4266 // pinsrw xmm6, word [rsi + r8 + 26], 1 QUAD $0x021a0e74c40f4266 // pinsrw xmm6, word [rsi + r9 + 26], 2 QUAD $0x031a2674c40f4266 // pinsrw xmm6, word [rsi + r12 + 26], 3 QUAD $0x041a2e74c40f4266 // pinsrw xmm6, word [rsi + r13 + 26], 4 LONG $0x74c40f66; WORD $0x1a0e; BYTE $0x05 // pinsrw xmm6, word [rsi + rcx + 26], 5 - LONG $0x74c40f66; WORD $0x1a3e; BYTE $0x06 // pinsrw xmm6, word [rsi + rdi + 26], 6 + LONG $0x74c40f66; WORD $0x1a16; BYTE $0x06 // pinsrw xmm6, word [rsi + rdx + 26], 6 LONG $0x74c40f66; WORD $0x1a1e; BYTE $0x07 // pinsrw xmm6, word [rsi + rbx + 26], 7 QUAD $0x011c067cc40f4266 // pinsrw xmm7, word [rsi + r8 + 28], 1 QUAD $0x021c0e7cc40f4266 // pinsrw xmm7, word [rsi + r9 + 28], 2 QUAD $0x031c267cc40f4266 // pinsrw xmm7, word [rsi + r12 + 28], 3 QUAD $0x041c2e7cc40f4266 // pinsrw xmm7, word [rsi + r13 + 28], 4 LONG $0x7cc40f66; WORD $0x1c0e; BYTE $0x05 // pinsrw xmm7, word [rsi + rcx + 28], 5 - LONG $0x7cc40f66; WORD $0x1c3e; BYTE $0x06 // pinsrw xmm7, word [rsi + rdi + 28], 6 + LONG $0x7cc40f66; WORD $0x1c16; BYTE $0x06 // pinsrw xmm7, word [rsi + rdx + 28], 6 LONG $0x7cc40f66; WORD $0x1c1e; BYTE $0x07 // pinsrw xmm7, word [rsi + rbx + 28], 7 QUAD $0x011e0654c40f4266 // pinsrw xmm2, word [rsi + r8 + 30], 1 QUAD $0x021e0e54c40f4266 // pinsrw xmm2, word [rsi + r9 + 30], 2 QUAD $0x031e2654c40f4266 // pinsrw xmm2, word [rsi + r12 + 30], 3 QUAD $0x041e2e54c40f4266 // pinsrw xmm2, word [rsi + r13 + 30], 4 LONG $0x54c40f66; WORD $0x1e0e; BYTE $0x05 // pinsrw xmm2, word [rsi + rcx + 30], 5 - LONG $0x54c40f66; WORD $0x1e3e; BYTE $0x06 // pinsrw xmm2, word [rsi + rdi + 30], 6 + LONG $0x54c40f66; WORD $0x1e16; BYTE $0x06 // pinsrw xmm2, word [rsi + rdx + 30], 6 LONG $0x54c40f66; WORD $0x1e1e; BYTE $0x07 // pinsrw xmm2, word [rsi + rbx + 30], 7 LONG $0xf0750f66 // pcmpeqw xmm6, xmm0 LONG $0xf6630f66 // packsswb xmm6, xmm6 @@ -8240,27 +8693,27 @@ LBB1_134: LONG $0xf7710f66; BYTE $0x06 // psllw xmm7, 6 LONG $0xdb0f4166; BYTE $0xfd // pand xmm7, xmm13 LONG $0xfeeb0f66 // por xmm7, xmm6 - LONG $0x4c6e0f66; WORD $0x2024 // movd xmm1, dword [rsp + 32] - LONG $0x54b70f42; WORD $0x2c3e // movzx edx, word [rsi + r15 + 44] + LONG $0x6e0f4166; BYTE $0xcb // movd xmm1, r11d + LONG $0x54b70f46; WORD $0x2c3e // movzx r10d, word [rsi + r15 + 44] LONG $0xd0750f66 // pcmpeqw xmm2, xmm0 LONG $0xd2630f66 // packsswb xmm2, xmm2 LONG $0xf2710f66; BYTE $0x07 // psllw xmm2, 7 LONG $0xdb0f4166; BYTE $0xd6 // pand xmm2, xmm14 LONG $0xd7eb0f66 // por xmm2, xmm7 - LONG $0x6e0f4166; BYTE $0xf2 // movd xmm6, r10d - LONG $0x44b70f42; WORD $0x2e3e // movzx eax, word [rsi + r15 + 46] + LONG $0x746e0f66; WORD $0x3024 // movd xmm6, dword [rsp + 48] + LONG $0x74b70f46; WORD $0x2e3e // movzx r14d, word [rsi + r15 + 46] QUAD $0x0120066cc40f4266 // pinsrw xmm5, word [rsi + r8 + 32], 1 QUAD $0x02200e6cc40f4266 // pinsrw xmm5, word [rsi + r9 + 32], 2 QUAD $0x0320266cc40f4266 // pinsrw xmm5, word [rsi + r12 + 32], 3 QUAD $0x04202e6cc40f4266 // pinsrw xmm5, word [rsi + r13 + 32], 4 LONG $0x6cc40f66; WORD $0x200e; BYTE $0x05 // pinsrw xmm5, word [rsi + rcx + 32], 5 - LONG $0x6cc40f66; WORD $0x203e; BYTE $0x06 // pinsrw xmm5, word [rsi + rdi + 32], 6 + LONG $0x6cc40f66; WORD $0x2016; BYTE $0x06 // pinsrw xmm5, word [rsi + rdx + 32], 6 QUAD $0x0122064cc40f4266 // pinsrw xmm1, word [rsi + r8 + 34], 1 QUAD $0x02220e4cc40f4266 // pinsrw xmm1, word [rsi + r9 + 34], 2 QUAD $0x0322264cc40f4266 // pinsrw xmm1, word [rsi + r12 + 34], 3 QUAD $0x04222e4cc40f4266 // pinsrw xmm1, word [rsi + r13 + 34], 4 LONG $0x4cc40f66; WORD $0x220e; BYTE $0x05 // pinsrw xmm1, word [rsi + rcx + 34], 5 - LONG $0x4cc40f66; WORD $0x223e; BYTE $0x06 // pinsrw xmm1, word [rsi + rdi + 34], 6 + LONG $0x4cc40f66; WORD $0x2216; BYTE $0x06 // pinsrw xmm1, word [rsi + rdx + 34], 6 LONG $0x4cc40f66; WORD $0x221e; BYTE $0x07 // pinsrw xmm1, word [rsi + rbx + 34], 7 LONG $0xd3eb0f66 // por xmm2, xmm3 LONG $0xc8750f66 // pcmpeqw xmm1, xmm0 @@ -8268,8 +8721,9 @@ LBB1_134: LONG $0xf96f0f66 // movdqa xmm7, xmm1 LONG $0xdb0f4166; BYTE $0xff // pand xmm7, xmm15 LONG $0xf9f80f66 // psubb xmm7, xmm1 - LONG $0x5c6e0f66; WORD $0x1824 // movd xmm3, dword [rsp + 24] - LONG $0x54b70f46; WORD $0x303e // movzx r10d, word [rsi + r15 + 48] + LONG $0x5c6e0f66; WORD $0x1024 // movd xmm3, dword [rsp + 16] + LONG $0x44b70f42; WORD $0x303e // movzx eax, word [rsi + r15 + 48] + LONG $0x10244489 // mov dword [rsp + 16], eax LONG $0x6cc40f66; WORD $0x201e; BYTE $0x07 // pinsrw xmm5, word [rsi + rbx + 32], 7 LONG $0xe8750f66 // pcmpeqw xmm5, xmm0 LONG $0xed630f66 // packsswb xmm5, xmm5 @@ -8279,32 +8733,33 @@ LBB1_134: QUAD $0x03242674c40f4266 // pinsrw xmm6, word [rsi + r12 + 36], 3 QUAD $0x04242e74c40f4266 // pinsrw xmm6, word [rsi + r13 + 36], 4 LONG $0x74c40f66; WORD $0x240e; BYTE $0x05 // pinsrw xmm6, word [rsi + rcx + 36], 5 - LONG $0x74c40f66; WORD $0x243e; BYTE $0x06 // pinsrw xmm6, word [rsi + rdi + 36], 6 + LONG $0x74c40f66; WORD $0x2416; BYTE $0x06 // pinsrw xmm6, word [rsi + rdx + 36], 6 LONG $0x74c40f66; WORD $0x241e; BYTE $0x07 // pinsrw xmm6, word [rsi + rbx + 36], 7 QUAD $0x0126065cc40f4266 // pinsrw xmm3, word [rsi + r8 + 38], 1 QUAD $0x02260e5cc40f4266 // pinsrw xmm3, word [rsi + r9 + 38], 2 QUAD $0x0326265cc40f4266 // pinsrw xmm3, word [rsi + r12 + 38], 3 QUAD $0x04262e5cc40f4266 // pinsrw xmm3, word [rsi + r13 + 38], 4 LONG $0x5cc40f66; WORD $0x260e; BYTE $0x05 // pinsrw xmm3, word [rsi + rcx + 38], 5 - LONG $0x5cc40f66; WORD $0x263e; BYTE $0x06 // pinsrw xmm3, word [rsi + rdi + 38], 6 + LONG $0x5cc40f66; WORD $0x2616; BYTE $0x06 // pinsrw xmm3, word [rsi + rdx + 38], 6 LONG $0x5cc40f66; WORD $0x261e; BYTE $0x07 // pinsrw xmm3, word [rsi + rbx + 38], 7 LONG $0xfdeb0f66 // por xmm7, xmm5 - LONG $0x6e0f4166; BYTE $0xee // movd xmm5, r14d + LONG $0xef6e0f66 // movd xmm5, edi QUAD $0x0128066cc40f4266 // pinsrw xmm5, word [rsi + r8 + 40], 1 QUAD $0x02280e6cc40f4266 // pinsrw xmm5, word [rsi + r9 + 40], 2 QUAD $0x0328266cc40f4266 // pinsrw xmm5, word [rsi + r12 + 40], 3 QUAD $0x04282e6cc40f4266 // pinsrw xmm5, word [rsi + r13 + 40], 4 LONG $0x6cc40f66; WORD $0x280e; BYTE $0x05 // pinsrw xmm5, word [rsi + rcx + 40], 5 - LONG $0x6cc40f66; WORD $0x283e; BYTE $0x06 // pinsrw xmm5, word [rsi + rdi + 40], 6 - LONG $0x74b70f46; WORD $0x323e // movzx r14d, word [rsi + r15 + 50] + LONG $0x6cc40f66; WORD $0x2816; BYTE $0x06 // pinsrw xmm5, word [rsi + rdx + 40], 6 + LONG $0x44b70f42; WORD $0x323e // movzx eax, word [rsi + r15 + 50] LONG $0xf0750f66 // pcmpeqw xmm6, xmm0 LONG $0xf6630f66 // packsswb xmm6, xmm6 LONG $0xdb0f4166; BYTE $0xf7 // pand xmm6, xmm15 LONG $0xf6710f66; BYTE $0x02 // psllw xmm6, 2 LONG $0xdb0f4166; BYTE $0xf1 // pand xmm6, xmm9 LONG $0xf7eb0f66 // por xmm6, xmm7 - LONG $0x6e0f4166; BYTE $0xcb // movd xmm1, r11d - LONG $0x5cb70f46; WORD $0x343e // movzx r11d, word [rsi + r15 + 52] + LONG $0x4c6e0f66; WORD $0x1824 // movd xmm1, dword [rsp + 24] + LONG $0x7cb70f42; WORD $0x343e // movzx edi, word [rsi + r15 + 52] + LONG $0x18247c89 // mov dword [rsp + 24], edi LONG $0x6cc40f66; WORD $0x281e; BYTE $0x07 // pinsrw xmm5, word [rsi + rbx + 40], 7 LONG $0xd8750f66 // pcmpeqw xmm3, xmm0 LONG $0xdb630f66 // packsswb xmm3, xmm3 @@ -8317,24 +8772,24 @@ LBB1_134: LONG $0xf5710f66; BYTE $0x04 // psllw xmm5, 4 LONG $0xdb0f4166; BYTE $0xeb // pand xmm5, xmm11 LONG $0xebeb0f66 // por xmm5, xmm3 - LONG $0xfa6e0f66 // movd xmm7, edx - LONG $0x54b70f42; WORD $0x363e // movzx edx, word [rsi + r15 + 54] + LONG $0x6e0f4166; BYTE $0xfa // movd xmm7, r10d + LONG $0x5cb70f46; WORD $0x363e // movzx r11d, word [rsi + r15 + 54] QUAD $0x012a064cc40f4266 // pinsrw xmm1, word [rsi + r8 + 42], 1 QUAD $0x022a0e4cc40f4266 // pinsrw xmm1, word [rsi + r9 + 42], 2 QUAD $0x032a264cc40f4266 // pinsrw xmm1, word [rsi + r12 + 42], 3 QUAD $0x042a2e4cc40f4266 // pinsrw xmm1, word [rsi + r13 + 42], 4 LONG $0x4cc40f66; WORD $0x2a0e; BYTE $0x05 // pinsrw xmm1, word [rsi + rcx + 42], 5 - LONG $0x4cc40f66; WORD $0x2a3e; BYTE $0x06 // pinsrw xmm1, word [rsi + rdi + 42], 6 + LONG $0x4cc40f66; WORD $0x2a16; BYTE $0x06 // pinsrw xmm1, word [rsi + rdx + 42], 6 LONG $0x4cc40f66; WORD $0x2a1e; BYTE $0x07 // pinsrw xmm1, word [rsi + rbx + 42], 7 QUAD $0x012c067cc40f4266 // pinsrw xmm7, word [rsi + r8 + 44], 1 QUAD $0x022c0e7cc40f4266 // pinsrw xmm7, word [rsi + r9 + 44], 2 QUAD $0x032c267cc40f4266 // pinsrw xmm7, word [rsi + r12 + 44], 3 QUAD $0x042c2e7cc40f4266 // pinsrw xmm7, word [rsi + r13 + 44], 4 LONG $0x7cc40f66; WORD $0x2c0e; BYTE $0x05 // pinsrw xmm7, word [rsi + rcx + 44], 5 - LONG $0x7cc40f66; WORD $0x2c3e; BYTE $0x06 // pinsrw xmm7, word [rsi + rdi + 44], 6 + LONG $0x7cc40f66; WORD $0x2c16; BYTE $0x06 // pinsrw xmm7, word [rsi + rdx + 44], 6 LONG $0xeeeb0f66 // por xmm5, xmm6 - LONG $0xd86e0f66 // movd xmm3, eax - LONG $0x44b70f42; WORD $0x383e // movzx eax, word [rsi + r15 + 56] + LONG $0x6e0f4166; BYTE $0xde // movd xmm3, r14d + LONG $0x54b70f46; WORD $0x383e // movzx r10d, word [rsi + r15 + 56] LONG $0x7cc40f66; WORD $0x2c1e; BYTE $0x07 // pinsrw xmm7, word [rsi + rbx + 44], 7 LONG $0xc8750f66 // pcmpeqw xmm1, xmm0 LONG $0xc9630f66 // packsswb xmm1, xmm1 @@ -8347,29 +8802,29 @@ LBB1_134: LONG $0xf7710f66; BYTE $0x06 // psllw xmm7, 6 LONG $0xdb0f4166; BYTE $0xfd // pand xmm7, xmm13 LONG $0xf9eb0f66 // por xmm7, xmm1 - LONG $0x6e0f4166; BYTE $0xf2 // movd xmm6, r10d - LONG $0x54b70f46; WORD $0x3a3e // movzx r10d, word [rsi + r15 + 58] + LONG $0x746e0f66; WORD $0x1024 // movd xmm6, dword [rsp + 16] + LONG $0x74b70f46; WORD $0x3a3e // movzx r14d, word [rsi + r15 + 58] QUAD $0x012e065cc40f4266 // pinsrw xmm3, word [rsi + r8 + 46], 1 QUAD $0x022e0e5cc40f4266 // pinsrw xmm3, word [rsi + r9 + 46], 2 QUAD $0x032e265cc40f4266 // pinsrw xmm3, word [rsi + r12 + 46], 3 QUAD $0x042e2e5cc40f4266 // pinsrw xmm3, word [rsi + r13 + 46], 4 LONG $0x5cc40f66; WORD $0x2e0e; BYTE $0x05 // pinsrw xmm3, word [rsi + rcx + 46], 5 - LONG $0x5cc40f66; WORD $0x2e3e; BYTE $0x06 // pinsrw xmm3, word [rsi + rdi + 46], 6 + LONG $0x5cc40f66; WORD $0x2e16; BYTE $0x06 // pinsrw xmm3, word [rsi + rdx + 46], 6 LONG $0x5cc40f66; WORD $0x2e1e; BYTE $0x07 // pinsrw xmm3, word [rsi + rbx + 46], 7 LONG $0xd8750f66 // pcmpeqw xmm3, xmm0 LONG $0xdb630f66 // packsswb xmm3, xmm3 LONG $0xf3710f66; BYTE $0x07 // psllw xmm3, 7 LONG $0xdb0f4166; BYTE $0xde // pand xmm3, xmm14 LONG $0xdfeb0f66 // por xmm3, xmm7 - LONG $0x6e0f4166; BYTE $0xce // movd xmm1, r14d - LONG $0x74b70f46; WORD $0x3c3e // movzx r14d, word [rsi + r15 + 60] + LONG $0xc86e0f66 // movd xmm1, eax + LONG $0x7cb70f42; WORD $0x3c3e // movzx edi, word [rsi + r15 + 60] LONG $0x7cb70f46; WORD $0x3e3e // movzx r15d, word [rsi + r15 + 62] QUAD $0x0132064cc40f4266 // pinsrw xmm1, word [rsi + r8 + 50], 1 QUAD $0x02320e4cc40f4266 // pinsrw xmm1, word [rsi + r9 + 50], 2 QUAD $0x0332264cc40f4266 // pinsrw xmm1, word [rsi + r12 + 50], 3 QUAD $0x04322e4cc40f4266 // pinsrw xmm1, word [rsi + r13 + 50], 4 LONG $0x4cc40f66; WORD $0x320e; BYTE $0x05 // pinsrw xmm1, word [rsi + rcx + 50], 5 - LONG $0x4cc40f66; WORD $0x323e; BYTE $0x06 // pinsrw xmm1, word [rsi + rdi + 50], 6 + LONG $0x4cc40f66; WORD $0x3216; BYTE $0x06 // pinsrw xmm1, word [rsi + rdx + 50], 6 LONG $0x4cc40f66; WORD $0x321e; BYTE $0x07 // pinsrw xmm1, word [rsi + rbx + 50], 7 LONG $0xddeb0f66 // por xmm3, xmm5 LONG $0xc8750f66 // pcmpeqw xmm1, xmm0 @@ -8377,13 +8832,14 @@ LBB1_134: LONG $0xe96f0f66 // movdqa xmm5, xmm1 LONG $0xdb0f4166; BYTE $0xef // pand xmm5, xmm15 LONG $0xe9f80f66 // psubb xmm5, xmm1 - LONG $0x6e0f4166; BYTE $0xcb // movd xmm1, r11d + LONG $0x4c6e0f66; WORD $0x1824 // movd xmm1, dword [rsp + 24] + QUAD $0x0000008824848b48 // mov rax, qword [rsp + 136] QUAD $0x01300674c40f4266 // pinsrw xmm6, word [rsi + r8 + 48], 1 QUAD $0x02300e74c40f4266 // pinsrw xmm6, word [rsi + r9 + 48], 2 QUAD $0x03302674c40f4266 // pinsrw xmm6, word [rsi + r12 + 48], 3 QUAD $0x04302e74c40f4266 // pinsrw xmm6, word [rsi + r13 + 48], 4 LONG $0x74c40f66; WORD $0x300e; BYTE $0x05 // pinsrw xmm6, word [rsi + rcx + 48], 5 - LONG $0x74c40f66; WORD $0x303e; BYTE $0x06 // pinsrw xmm6, word [rsi + rdi + 48], 6 + LONG $0x74c40f66; WORD $0x3016; BYTE $0x06 // pinsrw xmm6, word [rsi + rdx + 48], 6 LONG $0x74c40f66; WORD $0x301e; BYTE $0x07 // pinsrw xmm6, word [rsi + rbx + 48], 7 LONG $0xf0750f66 // pcmpeqw xmm6, xmm0 LONG $0xf6630f66 // packsswb xmm6, xmm6 @@ -8393,9 +8849,9 @@ LBB1_134: QUAD $0x04342e4cc40f4266 // pinsrw xmm1, word [rsi + r13 + 52], 4 LONG $0x4cc40f66; WORD $0x340e; BYTE $0x05 // pinsrw xmm1, word [rsi + rcx + 52], 5 LONG $0xdb0f4166; BYTE $0xf7 // pand xmm6, xmm15 - LONG $0x4cc40f66; WORD $0x343e; BYTE $0x06 // pinsrw xmm1, word [rsi + rdi + 52], 6 + LONG $0x4cc40f66; WORD $0x3416; BYTE $0x06 // pinsrw xmm1, word [rsi + rdx + 52], 6 LONG $0xeeeb0f66 // por xmm5, xmm6 - LONG $0xf26e0f66 // movd xmm6, edx + LONG $0x6e0f4166; BYTE $0xf3 // movd xmm6, r11d LONG $0x4cc40f66; WORD $0x341e; BYTE $0x07 // pinsrw xmm1, word [rsi + rbx + 52], 7 LONG $0xc8750f66 // pcmpeqw xmm1, xmm0 LONG $0xc9630f66 // packsswb xmm1, xmm1 @@ -8403,20 +8859,20 @@ LBB1_134: LONG $0xf1710f66; BYTE $0x02 // psllw xmm1, 2 LONG $0xdb0f4166; BYTE $0xc9 // pand xmm1, xmm9 LONG $0xcdeb0f66 // por xmm1, xmm5 - LONG $0xe86e0f66 // movd xmm5, eax + LONG $0x6e0f4166; BYTE $0xea // movd xmm5, r10d QUAD $0x01360674c40f4266 // pinsrw xmm6, word [rsi + r8 + 54], 1 QUAD $0x02360e74c40f4266 // pinsrw xmm6, word [rsi + r9 + 54], 2 QUAD $0x03362674c40f4266 // pinsrw xmm6, word [rsi + r12 + 54], 3 QUAD $0x04362e74c40f4266 // pinsrw xmm6, word [rsi + r13 + 54], 4 LONG $0x74c40f66; WORD $0x360e; BYTE $0x05 // pinsrw xmm6, word [rsi + rcx + 54], 5 - LONG $0x74c40f66; WORD $0x363e; BYTE $0x06 // pinsrw xmm6, word [rsi + rdi + 54], 6 + LONG $0x74c40f66; WORD $0x3616; BYTE $0x06 // pinsrw xmm6, word [rsi + rdx + 54], 6 LONG $0x74c40f66; WORD $0x361e; BYTE $0x07 // pinsrw xmm6, word [rsi + rbx + 54], 7 QUAD $0x0138066cc40f4266 // pinsrw xmm5, word [rsi + r8 + 56], 1 QUAD $0x02380e6cc40f4266 // pinsrw xmm5, word [rsi + r9 + 56], 2 QUAD $0x0338266cc40f4266 // pinsrw xmm5, word [rsi + r12 + 56], 3 QUAD $0x04382e6cc40f4266 // pinsrw xmm5, word [rsi + r13 + 56], 4 LONG $0x6cc40f66; WORD $0x380e; BYTE $0x05 // pinsrw xmm5, word [rsi + rcx + 56], 5 - LONG $0x6cc40f66; WORD $0x383e; BYTE $0x06 // pinsrw xmm5, word [rsi + rdi + 56], 6 + LONG $0x6cc40f66; WORD $0x3816; BYTE $0x06 // pinsrw xmm5, word [rsi + rdx + 56], 6 LONG $0x6cc40f66; WORD $0x381e; BYTE $0x07 // pinsrw xmm5, word [rsi + rbx + 56], 7 LONG $0xf0750f66 // pcmpeqw xmm6, xmm0 LONG $0xf6630f66 // packsswb xmm6, xmm6 @@ -8429,22 +8885,22 @@ LBB1_134: LONG $0xf5710f66; BYTE $0x04 // psllw xmm5, 4 LONG $0xdb0f4166; BYTE $0xeb // pand xmm5, xmm11 LONG $0xeeeb0f66 // por xmm5, xmm6 - LONG $0x6e0f4166; BYTE $0xf2 // movd xmm6, r10d + LONG $0x6e0f4166; BYTE $0xf6 // movd xmm6, r14d QUAD $0x013a0674c40f4266 // pinsrw xmm6, word [rsi + r8 + 58], 1 QUAD $0x023a0e74c40f4266 // pinsrw xmm6, word [rsi + r9 + 58], 2 QUAD $0x033a2674c40f4266 // pinsrw xmm6, word [rsi + r12 + 58], 3 QUAD $0x043a2e74c40f4266 // pinsrw xmm6, word [rsi + r13 + 58], 4 LONG $0x74c40f66; WORD $0x3a0e; BYTE $0x05 // pinsrw xmm6, word [rsi + rcx + 58], 5 - LONG $0x74c40f66; WORD $0x3a3e; BYTE $0x06 // pinsrw xmm6, word [rsi + rdi + 58], 6 + LONG $0x74c40f66; WORD $0x3a16; BYTE $0x06 // pinsrw xmm6, word [rsi + rdx + 58], 6 LONG $0x74c40f66; WORD $0x3a1e; BYTE $0x07 // pinsrw xmm6, word [rsi + rbx + 58], 7 LONG $0xe9eb0f66 // por xmm5, xmm1 - LONG $0x6e0f4166; BYTE $0xce // movd xmm1, r14d + LONG $0xcf6e0f66 // movd xmm1, edi QUAD $0x013c064cc40f4266 // pinsrw xmm1, word [rsi + r8 + 60], 1 QUAD $0x023c0e4cc40f4266 // pinsrw xmm1, word [rsi + r9 + 60], 2 QUAD $0x033c264cc40f4266 // pinsrw xmm1, word [rsi + r12 + 60], 3 QUAD $0x043c2e4cc40f4266 // pinsrw xmm1, word [rsi + r13 + 60], 4 LONG $0x4cc40f66; WORD $0x3c0e; BYTE $0x05 // pinsrw xmm1, word [rsi + rcx + 60], 5 - LONG $0x4cc40f66; WORD $0x3c3e; BYTE $0x06 // pinsrw xmm1, word [rsi + rdi + 60], 6 + LONG $0x4cc40f66; WORD $0x3c16; BYTE $0x06 // pinsrw xmm1, word [rsi + rdx + 60], 6 LONG $0x4cc40f66; WORD $0x3c1e; BYTE $0x07 // pinsrw xmm1, word [rsi + rbx + 60], 7 LONG $0xf0750f66 // pcmpeqw xmm6, xmm0 LONG $0xf6630f66 // packsswb xmm6, xmm6 @@ -8461,10 +8917,9 @@ LBB1_134: QUAD $0x013e0674c40f4266 // pinsrw xmm6, word [rsi + r8 + 62], 1 QUAD $0x023e0e74c40f4266 // pinsrw xmm6, word [rsi + r9 + 62], 2 QUAD $0x033e2674c40f4266 // pinsrw xmm6, word [rsi + r12 + 62], 3 - QUAD $0x0000008824b48b4c // mov r14, qword [rsp + 136] QUAD $0x043e2e74c40f4266 // pinsrw xmm6, word [rsi + r13 + 62], 4 LONG $0x74c40f66; WORD $0x3e0e; BYTE $0x05 // pinsrw xmm6, word [rsi + rcx + 62], 5 - LONG $0x74c40f66; WORD $0x3e3e; BYTE $0x06 // pinsrw xmm6, word [rsi + rdi + 62], 6 + LONG $0x74c40f66; WORD $0x3e16; BYTE $0x06 // pinsrw xmm6, word [rsi + rdx + 62], 6 LONG $0x74c40f66; WORD $0x3e1e; BYTE $0x07 // pinsrw xmm6, word [rsi + rbx + 62], 7 LONG $0xf0750f66 // pcmpeqw xmm6, xmm0 LONG $0xf6630f66 // packsswb xmm6, xmm6 @@ -8484,22 +8939,21 @@ LBB1_134: LONG $0xe2600f66 // punpcklbw xmm4, xmm2 LONG $0xe3610f66 // punpcklwd xmm4, xmm3 LONG $0x244c8b48; BYTE $0x28 // mov rcx, qword [rsp + 40] - LONG $0x7f0f41f3; WORD $0x8e24 // movdqu oword [r14 + 4*rcx], xmm4 - LONG $0x7f0f41f3; WORD $0x8e4c; BYTE $0x10 // movdqu oword [r14 + 4*rcx + 16], xmm1 + LONG $0x247f0ff3; BYTE $0x88 // movdqu oword [rax + 4*rcx], xmm4 + LONG $0x4c7f0ff3; WORD $0x1088 // movdqu oword [rax + 4*rcx + 16], xmm1 LONG $0x08c18348 // add rcx, 8 WORD $0x8949; BYTE $0xcf // mov r15, rcx - LONG $0x244c3b48; BYTE $0x10 // cmp rcx, qword [rsp + 16] - JNE LBB1_134 - QUAD $0x0000009824bc8b4c // mov r15, qword [rsp + 152] - LONG $0x247c3b4c; BYTE $0x10 // cmp r15, qword [rsp + 16] + LONG $0x244c3b48; BYTE $0x20 // cmp rcx, qword [rsp + 32] + JNE LBB1_135 + QUAD $0x000000f024bc8b4c // mov r15, qword [rsp + 240] + LONG $0x247c3b4c; BYTE $0x20 // cmp r15, qword [rsp + 32] QUAD $0x0000009024948b4c // mov r10, qword [rsp + 144] - LONG $0x246c8b44; BYTE $0x38 // mov r13d, dword [rsp + 56] - LONG $0x24648b4c; BYTE $0x08 // mov r12, qword [rsp + 8] - LONG $0x24748b48; BYTE $0x40 // mov rsi, qword [rsp + 64] - JNE LBB1_136 - JMP LBB1_139 + LONG $0x245c8b44; BYTE $0x04 // mov r11d, dword [rsp + 4] + LONG $0x24748b48; BYTE $0x38 // mov rsi, qword [rsp + 56] + JNE LBB1_137 + JMP LBB1_140 -LBB1_184: +LBB1_182: WORD $0x894d; BYTE $0xd8 // mov r8, r11 LONG $0xfce08349 // and r8, -4 WORD $0x894c; BYTE $0xc3 // mov rbx, r8 @@ -8519,7 +8973,7 @@ LBB1_184: LONG $0x6f0f4466; WORD $0x6075 // movdqa xmm14, oword 96[rbp] /* [rip + .LCPI1_6] */ LONG $0x6f0f4466; WORD $0x704d // movdqa xmm9, oword 112[rbp] /* [rip + .LCPI1_7] */ -LBB1_185: +LBB1_183: QUAD $0xfffffe04b6100ff3 // movss xmm6, dword [rsi - 508] QUAD $0xfffffe08be100ff3 // movss xmm7, dword [rsi - 504] QUAD $0xfffffe0cae100ff3 // movss xmm5, dword [rsi - 500] @@ -8864,10 +9318,10 @@ LBB1_185: LONG $0x04c18348 // add rcx, 4 LONG $0x00c68148; WORD $0x0002; BYTE $0x00 // add rsi, 512 WORD $0x3949; BYTE $0xc8 // cmp r8, rcx - JNE LBB1_185 + JNE LBB1_183 WORD $0x394d; BYTE $0xc3 // cmp r11, r8 - JNE LBB1_187 - JMP LBB1_190 + JNE LBB1_185 + JMP LBB1_188 DATA LCDATA2<>+0x000(SB)/8, $0x0000000001010101 DATA LCDATA2<>+0x008(SB)/8, $0x0000000000000000 @@ -8928,7 +9382,7 @@ TEXT ·_comparison_equal_scalar_arr_sse4(SB), $328-48 WORD $0xff83; BYTE $0x05 // cmp edi, 5 JE LBB2_95 WORD $0xff83; BYTE $0x06 // cmp edi, 6 - JNE LBB2_176 + JNE LBB2_177 WORD $0x8b44; BYTE $0x2e // mov r13d, dword [rsi] LONG $0x1f5a8d4d // lea r11, [r10 + 31] WORD $0x854d; BYTE $0xd2 // test r10, r10 @@ -8978,7 +9432,7 @@ LBB2_11: WORD $0x3b44; BYTE $0x2a // cmp r13d, dword [rdx] QUAD $0x000000c02494940f // sete byte [rsp + 192] LONG $0x046a3b44 // cmp r13d, dword [rdx + 4] - LONG $0xd7940f40 // sete dil + LONG $0xd2940f41 // sete r10b LONG $0x086a3b44 // cmp r13d, dword [rdx + 8] LONG $0xd6940f41 // sete r14b LONG $0x0c6a3b44 // cmp r13d, dword [rdx + 12] @@ -8988,9 +9442,9 @@ LBB2_11: LONG $0x146a3b44 // cmp r13d, dword [rdx + 20] LONG $0x2454940f; BYTE $0x58 // sete byte [rsp + 88] LONG $0x186a3b44 // cmp r13d, dword [rdx + 24] - WORD $0x940f; BYTE $0xd0 // sete al + WORD $0x940f; BYTE $0xd3 // sete bl LONG $0x1c6a3b44 // cmp r13d, dword [rdx + 28] - LONG $0xd3940f41 // sete r11b + LONG $0xd7940f40 // sete dil LONG $0x206a3b44 // cmp r13d, dword [rdx + 32] QUAD $0x000000d02494940f // sete byte [rsp + 208] LONG $0x246a3b44 // cmp r13d, dword [rdx + 36] @@ -9000,13 +9454,13 @@ LBB2_11: LONG $0x2c6a3b44 // cmp r13d, dword [rdx + 44] LONG $0xd1940f41 // sete r9b LONG $0x306a3b44 // cmp r13d, dword [rdx + 48] - LONG $0xd2940f41 // sete r10b + LONG $0xd3940f41 // sete r11b LONG $0x346a3b44 // cmp r13d, dword [rdx + 52] LONG $0xd4940f41 // sete r12b LONG $0x386a3b44 // cmp r13d, dword [rdx + 56] QUAD $0x000000b02494940f // sete byte [rsp + 176] LONG $0x3c6a3b44 // cmp r13d, dword [rdx + 60] - WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0x940f; BYTE $0xd0 // sete al LONG $0x406a3b44 // cmp r13d, dword [rdx + 64] LONG $0x2454940f; BYTE $0x48 // sete byte [rsp + 72] LONG $0x446a3b44 // cmp r13d, dword [rdx + 68] @@ -9026,107 +9480,106 @@ LBB2_11: LONG $0x606a3b44 // cmp r13d, dword [rdx + 96] LONG $0x2454940f; BYTE $0x18 // sete byte [rsp + 24] LONG $0x646a3b44 // cmp r13d, dword [rdx + 100] - LONG $0x2454940f; BYTE $0x38 // sete byte [rsp + 56] - LONG $0x686a3b44 // cmp r13d, dword [rdx + 104] LONG $0x2454940f; BYTE $0x20 // sete byte [rsp + 32] + LONG $0x686a3b44 // cmp r13d, dword [rdx + 104] + LONG $0x2454940f; BYTE $0x38 // sete byte [rsp + 56] LONG $0x6c6a3b44 // cmp r13d, dword [rdx + 108] LONG $0x2454940f; BYTE $0x28 // sete byte [rsp + 40] LONG $0x706a3b44 // cmp r13d, dword [rdx + 112] - LONG $0x2454940f; BYTE $0x10 // sete byte [rsp + 16] - LONG $0x746a3b44 // cmp r13d, dword [rdx + 116] LONG $0x2454940f; BYTE $0x30 // sete byte [rsp + 48] + LONG $0x746a3b44 // cmp r13d, dword [rdx + 116] + LONG $0x2454940f; BYTE $0x10 // sete byte [rsp + 16] LONG $0x786a3b44 // cmp r13d, dword [rdx + 120] LONG $0x2454940f; BYTE $0x08 // sete byte [rsp + 8] LONG $0x7c6a3b44 // cmp r13d, dword [rdx + 124] - WORD $0x940f; BYTE $0xd3 // sete bl - WORD $0x0040; BYTE $0xff // add dil, dil - QUAD $0x000000c024bc0240 // add dil, byte [rsp + 192] - WORD $0xe0c0; BYTE $0x06 // shl al, 6 - LONG $0x07e3c041 // shl r11b, 7 - WORD $0x0841; BYTE $0xc3 // or r11b, al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0x0045; BYTE $0xd2 // add r10b, r10b + QUAD $0x000000c024940244 // add r10b, byte [rsp + 192] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 + LONG $0x07e7c040 // shl dil, 7 + WORD $0x0840; BYTE $0xdf // or dil, bl LONG $0x02e6c041 // shl r14b, 2 - WORD $0x0841; BYTE $0xfe // or r14b, dil + WORD $0x0845; BYTE $0xd6 // or r14b, r10b WORD $0x0040; BYTE $0xf6 // add sil, sil QUAD $0x000000d024b40240 // add sil, byte [rsp + 208] - QUAD $0x000000a02484b60f // movzx eax, byte [rsp + 160] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0x0844; BYTE $0xf0 // or al, r14b - WORD $0xc789 // mov edi, eax + QUAD $0x000000a0249cb60f // movzx ebx, byte [rsp + 160] + WORD $0xe3c0; BYTE $0x03 // shl bl, 3 + WORD $0x0844; BYTE $0xf3 // or bl, r14b + WORD $0x8941; BYTE $0xda // mov r10d, ebx LONG $0x02e0c041 // shl r8b, 2 WORD $0x0841; BYTE $0xf0 // or r8b, sil - LONG $0x2444b60f; BYTE $0x70 // movzx eax, byte [rsp + 112] - WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0x0840; BYTE $0xf8 // or al, dil - WORD $0xc789 // mov edi, eax + LONG $0x245cb60f; BYTE $0x70 // movzx ebx, byte [rsp + 112] + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0x0844; BYTE $0xd3 // or bl, r10b + WORD $0xde89 // mov esi, ebx LONG $0x03e1c041 // shl r9b, 3 WORD $0x0845; BYTE $0xc1 // or r9b, r8b - LONG $0x2444b60f; BYTE $0x58 // movzx eax, byte [rsp + 88] - WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0x0840; BYTE $0xf8 // or al, dil - LONG $0x04e2c041 // shl r10b, 4 - WORD $0x0845; BYTE $0xca // or r10b, r9b + LONG $0x245cb60f; BYTE $0x58 // movzx ebx, byte [rsp + 88] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + WORD $0x0840; BYTE $0xf3 // or bl, sil + LONG $0x04e3c041 // shl r11b, 4 + WORD $0x0845; BYTE $0xcb // or r11b, r9b LONG $0x05e4c041 // shl r12b, 5 - WORD $0x0845; BYTE $0xd4 // or r12b, r10b - QUAD $0x000000b024b4b60f // movzx esi, byte [rsp + 176] - LONG $0x06e6c040 // shl sil, 6 - WORD $0xe1c0; BYTE $0x07 // shl cl, 7 - WORD $0x0840; BYTE $0xf1 // or cl, sil - WORD $0x0841; BYTE $0xc3 // or r11b, al - WORD $0x0844; BYTE $0xe1 // or cl, r12b - LONG $0x2444b60f; BYTE $0x78 // movzx eax, byte [rsp + 120] - WORD $0xc000 // add al, al - LONG $0x48244402 // add al, byte [rsp + 72] - WORD $0xc689 // mov esi, eax - QUAD $0x000000802484b60f // movzx eax, byte [rsp + 128] - WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0x0840; BYTE $0xf0 // or al, sil - WORD $0xc689 // mov esi, eax - LONG $0x2444b60f; BYTE $0x60 // movzx eax, byte [rsp + 96] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0x0840; BYTE $0xf0 // or al, sil - WORD $0xc689 // mov esi, eax - LONG $0x2444b60f; BYTE $0x50 // movzx eax, byte [rsp + 80] - WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0x0840; BYTE $0xf0 // or al, sil - WORD $0xc689 // mov esi, eax - LONG $0x2444b60f; BYTE $0x68 // movzx eax, byte [rsp + 104] - WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0x0840; BYTE $0xf0 // or al, sil - WORD $0xc789 // mov edi, eax - LONG $0x24048b48 // mov rax, qword [rsp] - WORD $0x8844; BYTE $0x18 // mov byte [rax], r11b + WORD $0x0845; BYTE $0xdc // or r12b, r11b LONG $0x24348b48 // mov rsi, qword [rsp] - LONG $0x2444b60f; BYTE $0x40 // movzx eax, byte [rsp + 64] - WORD $0xe0c0; BYTE $0x06 // shl al, 6 + QUAD $0x0000b02484b60f44; BYTE $0x00 // movzx r8d, byte [rsp + 176] + LONG $0x06e0c041 // shl r8b, 6 + WORD $0xe0c0; BYTE $0x07 // shl al, 7 + WORD $0x0844; BYTE $0xc0 // or al, r8b + WORD $0x0840; BYTE $0xdf // or dil, bl + WORD $0x0844; BYTE $0xe0 // or al, r12b + LONG $0x245cb60f; BYTE $0x78 // movzx ebx, byte [rsp + 120] + WORD $0xdb00 // add bl, bl + LONG $0x48245c02 // add bl, byte [rsp + 72] + WORD $0x8941; BYTE $0xd8 // mov r8d, ebx + QUAD $0x00000080249cb60f // movzx ebx, byte [rsp + 128] + WORD $0xe3c0; BYTE $0x02 // shl bl, 2 + WORD $0x0844; BYTE $0xc3 // or bl, r8b + WORD $0x8941; BYTE $0xd8 // mov r8d, ebx + LONG $0x245cb60f; BYTE $0x60 // movzx ebx, byte [rsp + 96] + WORD $0xe3c0; BYTE $0x03 // shl bl, 3 + WORD $0x0844; BYTE $0xc3 // or bl, r8b + WORD $0x8941; BYTE $0xd8 // mov r8d, ebx + LONG $0x245cb60f; BYTE $0x50 // movzx ebx, byte [rsp + 80] + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0x0844; BYTE $0xc3 // or bl, r8b + WORD $0x8941; BYTE $0xd8 // mov r8d, ebx + LONG $0x245cb60f; BYTE $0x68 // movzx ebx, byte [rsp + 104] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + WORD $0x0844; BYTE $0xc3 // or bl, r8b + WORD $0x8840; BYTE $0x3e // mov byte [rsi], dil + LONG $0x247cb60f; BYTE $0x40 // movzx edi, byte [rsp + 64] + LONG $0x06e7c040 // shl dil, 6 LONG $0x07e7c041 // shl r15b, 7 - WORD $0x0841; BYTE $0xc7 // or r15b, al - WORD $0x4e88; BYTE $0x01 // mov byte [rsi + 1], cl WORD $0x0841; BYTE $0xff // or r15b, dil - LONG $0x2444b60f; BYTE $0x38 // movzx eax, byte [rsp + 56] + WORD $0x4688; BYTE $0x01 // mov byte [rsi + 1], al + WORD $0x0841; BYTE $0xdf // or r15b, bl + LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] WORD $0xc000 // add al, al LONG $0x18244402 // add al, byte [rsp + 24] - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x38 // movzx eax, byte [rsp + 56] WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0xc808 // or al, cl - LONG $0x244cb60f; BYTE $0x30 // movzx ecx, byte [rsp + 48] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0xd808 // or al, bl + LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 + WORD $0xe1c0; BYTE $0x07 // shl cl, 7 + WORD $0xd908 // or cl, bl WORD $0xc108 // or cl, al - LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] - WORD $0xe0c0; BYTE $0x06 // shl al, 6 - WORD $0xe3c0; BYTE $0x07 // shl bl, 7 - WORD $0xc308 // or bl, al - WORD $0xcb08 // or bl, cl LONG $0x027e8844 // mov byte [rsi + 2], r15b - WORD $0x5e88; BYTE $0x03 // mov byte [rsi + 3], bl + WORD $0x4e88; BYTE $0x03 // mov byte [rsi + 3], cl LONG $0x80c28148; WORD $0x0000; BYTE $0x00 // add rdx, 128 LONG $0x04c68348 // add rsi, 4 LONG $0x24348948 // mov qword [rsp], rsi @@ -9138,7 +9591,7 @@ LBB2_11: LBB2_13: LONG $0x05e3c149 // shl r11, 5 WORD $0x394d; BYTE $0xd3 // cmp r11, r10 - JGE LBB2_176 + JGE LBB2_177 WORD $0x894d; BYTE $0xd0 // mov r8, r10 WORD $0x294d; BYTE $0xd8 // sub r8, r11 WORD $0xf749; BYTE $0xd3 // not r11 @@ -9178,7 +9631,7 @@ LBB2_16: LONG $0x33048841 // mov byte [r11 + rsi], al WORD $0x3949; BYTE $0xfa // cmp r10, rdi JNE LBB2_16 - JMP LBB2_152 + JMP LBB2_153 LBB2_17: WORD $0xff83; BYTE $0x08 // cmp edi, 8 @@ -9188,7 +9641,7 @@ LBB2_17: WORD $0xff83; BYTE $0x0b // cmp edi, 11 JE LBB2_118 WORD $0xff83; BYTE $0x0c // cmp edi, 12 - JNE LBB2_176 + JNE LBB2_177 LONG $0x1f728d4d // lea r14, [r10 + 31] WORD $0x854d; BYTE $0xd2 // test r10, r10 LONG $0xf2490f4d // cmovns r14, r10 @@ -9205,7 +9658,9 @@ LBB2_17: LBB2_23: LONG $0x022e0f66 // ucomisd xmm0, qword [rdx] LONG $0x08528d48 // lea rdx, [rdx + 8] + WORD $0x9b0f; BYTE $0xd1 // setnp cl WORD $0x940f; BYTE $0xd3 // sete bl + WORD $0xcb20 // and bl, cl WORD $0xdbf6 // neg bl LONG $0x07708d48 // lea rsi, [rax + 7] WORD $0x8548; BYTE $0xc0 // test rax, rax @@ -9231,184 +9686,270 @@ LBB2_25: LONG $0x20fa8349 // cmp r10, 32 JL LBB2_29 QUAD $0x000000902494894c // mov qword [rsp + 144], r10 - QUAD $0x0000008824b4894c // mov qword [rsp + 136], r14 - QUAD $0x000000c024b4894c // mov qword [rsp + 192], r14 + QUAD $0x000000f024b4894c // mov qword [rsp + 240], r14 + QUAD $0x0000009824b4894c // mov qword [rsp + 152], r14 LBB2_27: LONG $0x022e0f66 // ucomisd xmm0, qword [rdx] - QUAD $0x000000a02494940f // sete byte [rsp + 160] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x18244c88 // mov byte [rsp + 24], cl LONG $0x422e0f66; BYTE $0x08 // ucomisd xmm0, qword [rdx + 8] - LONG $0xd0940f41 // sete r8b + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd3 // sete bl + WORD $0xc320 // and bl, al LONG $0x422e0f66; BYTE $0x10 // ucomisd xmm0, qword [rdx + 16] - LONG $0xd3940f41 // sete r11b - LONG $0x422e0f66; BYTE $0x18 // ucomisd xmm0, qword [rdx + 24] + WORD $0x9b0f; BYTE $0xd0 // setnp al LONG $0xd5940f41 // sete r13b + WORD $0x2041; BYTE $0xc5 // and r13b, al + LONG $0x422e0f66; BYTE $0x18 // ucomisd xmm0, qword [rdx + 24] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x30244c88 // mov byte [rsp + 48], cl LONG $0x422e0f66; BYTE $0x20 // ucomisd xmm0, qword [rdx + 32] - LONG $0x2454940f; BYTE $0x70 // sete byte [rsp + 112] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x10244c88 // mov byte [rsp + 16], cl LONG $0x422e0f66; BYTE $0x28 // ucomisd xmm0, qword [rdx + 40] - LONG $0x2454940f; BYTE $0x58 // sete byte [rsp + 88] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd7940f40 // sete dil + WORD $0x2040; BYTE $0xc7 // and dil, al LONG $0x422e0f66; BYTE $0x30 // ucomisd xmm0, qword [rdx + 48] - WORD $0x940f; BYTE $0xd0 // sete al + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x38244c88 // mov byte [rsp + 56], cl LONG $0x422e0f66; BYTE $0x38 // ucomisd xmm0, qword [rdx + 56] - LONG $0xd6940f41 // sete r14b + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x08244c88 // mov byte [rsp + 8], cl LONG $0x422e0f66; BYTE $0x40 // ucomisd xmm0, qword [rdx + 64] - QUAD $0x000000b02494940f // sete byte [rsp + 176] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x28244c88 // mov byte [rsp + 40], cl LONG $0x422e0f66; BYTE $0x48 // ucomisd xmm0, qword [rdx + 72] - LONG $0xd6940f40 // sete sil + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x20244c88 // mov byte [rsp + 32], cl LONG $0x422e0f66; BYTE $0x50 // ucomisd xmm0, qword [rdx + 80] - LONG $0xd7940f40 // sete dil + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x40244c88 // mov byte [rsp + 64], cl LONG $0x422e0f66; BYTE $0x58 // ucomisd xmm0, qword [rdx + 88] - LONG $0xd1940f41 // sete r9b + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x68244c88 // mov byte [rsp + 104], cl LONG $0x422e0f66; BYTE $0x60 // ucomisd xmm0, qword [rdx + 96] - LONG $0xd2940f41 // sete r10b + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x58244c88 // mov byte [rsp + 88], cl LONG $0x422e0f66; BYTE $0x68 // ucomisd xmm0, qword [rdx + 104] - LONG $0xd4940f41 // sete r12b + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x48244c88 // mov byte [rsp + 72], cl LONG $0x422e0f66; BYTE $0x70 // ucomisd xmm0, qword [rdx + 112] - LONG $0x2454940f; BYTE $0x78 // sete byte [rsp + 120] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x60244c88 // mov byte [rsp + 96], cl LONG $0x422e0f66; BYTE $0x78 // ucomisd xmm0, qword [rdx + 120] + WORD $0x9b0f; BYTE $0xd0 // setnp al WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x70244c88 // mov byte [rsp + 112], cl QUAD $0x00000080822e0f66 // ucomisd xmm0, qword [rdx + 128] - LONG $0x2454940f; BYTE $0x48 // sete byte [rsp + 72] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x50244c88 // mov byte [rsp + 80], cl QUAD $0x00000088822e0f66 // ucomisd xmm0, qword [rdx + 136] - QUAD $0x000000d02494940f // sete byte [rsp + 208] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x80248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 128], cl QUAD $0x00000090822e0f66 // ucomisd xmm0, qword [rdx + 144] - QUAD $0x000000802494940f // sete byte [rsp + 128] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x78244c88 // mov byte [rsp + 120], cl QUAD $0x00000098822e0f66 // ucomisd xmm0, qword [rdx + 152] - LONG $0x2454940f; BYTE $0x60 // sete byte [rsp + 96] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0xb0248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 176], cl QUAD $0x000000a0822e0f66 // ucomisd xmm0, qword [rdx + 160] - LONG $0x2454940f; BYTE $0x50 // sete byte [rsp + 80] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0xd0248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 208], cl QUAD $0x000000a8822e0f66 // ucomisd xmm0, qword [rdx + 168] - LONG $0x2454940f; BYTE $0x68 // sete byte [rsp + 104] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0xc0248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 192], cl QUAD $0x000000b0822e0f66 // ucomisd xmm0, qword [rdx + 176] - LONG $0x2454940f; BYTE $0x40 // sete byte [rsp + 64] - QUAD $0x000000b8822e0f66 // ucomisd xmm0, qword [rdx + 184] + WORD $0x9b0f; BYTE $0xd0 // setnp al LONG $0xd7940f41 // sete r15b + WORD $0x2041; BYTE $0xc7 // and r15b, al + QUAD $0x000000b8822e0f66 // ucomisd xmm0, qword [rdx + 184] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd1940f41 // sete r9b + WORD $0x2041; BYTE $0xc1 // and r9b, al QUAD $0x000000c0822e0f66 // ucomisd xmm0, qword [rdx + 192] - LONG $0x2454940f; BYTE $0x18 // sete byte [rsp + 24] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0xa0248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 160], cl QUAD $0x000000c8822e0f66 // ucomisd xmm0, qword [rdx + 200] - LONG $0x2454940f; BYTE $0x38 // sete byte [rsp + 56] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd6940f41 // sete r14b + WORD $0x2041; BYTE $0xc6 // and r14b, al QUAD $0x000000d0822e0f66 // ucomisd xmm0, qword [rdx + 208] - LONG $0x2454940f; BYTE $0x20 // sete byte [rsp + 32] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd3940f41 // sete r11b + WORD $0x2041; BYTE $0xc3 // and r11b, al QUAD $0x000000d8822e0f66 // ucomisd xmm0, qword [rdx + 216] - LONG $0x2454940f; BYTE $0x28 // sete byte [rsp + 40] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd2940f41 // sete r10b + WORD $0x2041; BYTE $0xc2 // and r10b, al QUAD $0x000000e0822e0f66 // ucomisd xmm0, qword [rdx + 224] - LONG $0x2454940f; BYTE $0x10 // sete byte [rsp + 16] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd4940f41 // sete r12b + WORD $0x2041; BYTE $0xc4 // and r12b, al QUAD $0x000000e8822e0f66 // ucomisd xmm0, qword [rdx + 232] - LONG $0x2454940f; BYTE $0x30 // sete byte [rsp + 48] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x88248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 136], cl QUAD $0x000000f0822e0f66 // ucomisd xmm0, qword [rdx + 240] - LONG $0x2454940f; BYTE $0x08 // sete byte [rsp + 8] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd0940f41 // sete r8b + WORD $0x2041; BYTE $0xc0 // and r8b, al QUAD $0x000000f8822e0f66 // ucomisd xmm0, qword [rdx + 248] - WORD $0x940f; BYTE $0xd3 // sete bl - WORD $0x0045; BYTE $0xc0 // add r8b, r8b - QUAD $0x000000a024840244 // add r8b, byte [rsp + 160] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd6940f40 // sete sil + WORD $0x2040; BYTE $0xc6 // and sil, al + WORD $0xdb00 // add bl, bl + LONG $0x18245c02 // add bl, byte [rsp + 24] + LONG $0x05e7c040 // shl dil, 5 + LONG $0x2444b60f; BYTE $0x38 // movzx eax, byte [rsp + 56] WORD $0xe0c0; BYTE $0x06 // shl al, 6 - LONG $0x07e6c041 // shl r14b, 7 - WORD $0x0841; BYTE $0xc6 // or r14b, al - LONG $0x02e3c041 // shl r11b, 2 - WORD $0x0845; BYTE $0xc3 // or r11b, r8b - WORD $0x0040; BYTE $0xf6 // add sil, sil - QUAD $0x000000b024b40240 // add sil, byte [rsp + 176] - LONG $0x03e5c041 // shl r13b, 3 - WORD $0x0845; BYTE $0xdd // or r13b, r11b - LONG $0x24048b4c // mov r8, qword [rsp] - LONG $0x02e7c040 // shl dil, 2 - WORD $0x0840; BYTE $0xf7 // or dil, sil - LONG $0x2444b60f; BYTE $0x70 // movzx eax, byte [rsp + 112] - WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0x0844; BYTE $0xe8 // or al, r13b - WORD $0x8941; BYTE $0xc3 // mov r11d, eax - LONG $0x03e1c041 // shl r9b, 3 - WORD $0x0841; BYTE $0xf9 // or r9b, dil - LONG $0x2444b60f; BYTE $0x58 // movzx eax, byte [rsp + 88] - WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0x0844; BYTE $0xd8 // or al, r11b - LONG $0x04e2c041 // shl r10b, 4 - WORD $0x0845; BYTE $0xca // or r10b, r9b - LONG $0x05e4c041 // shl r12b, 5 - WORD $0x0845; BYTE $0xd4 // or r12b, r10b - LONG $0x2474b60f; BYTE $0x78 // movzx esi, byte [rsp + 120] - LONG $0x06e6c040 // shl sil, 6 - WORD $0xe1c0; BYTE $0x07 // shl cl, 7 - WORD $0x0840; BYTE $0xf1 // or cl, sil - WORD $0x0841; BYTE $0xc6 // or r14b, al - WORD $0x0844; BYTE $0xe1 // or cl, r12b - QUAD $0x000000d02484b60f // movzx eax, byte [rsp + 208] + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x02e5c041 // shl r13b, 2 + WORD $0x0841; BYTE $0xdd // or r13b, bl + LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] WORD $0xc000 // add al, al - LONG $0x48244402 // add al, byte [rsp + 72] - WORD $0xc689 // mov esi, eax - QUAD $0x000000802484b60f // movzx eax, byte [rsp + 128] + LONG $0x28244402 // add al, byte [rsp + 40] + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + WORD $0xe0c0; BYTE $0x07 // shl al, 7 + WORD $0x0840; BYTE $0xf8 // or al, dil + LONG $0x08244488 // mov byte [rsp + 8], al + LONG $0x2444b60f; BYTE $0x40 // movzx eax, byte [rsp + 64] WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0x0840; BYTE $0xf0 // or al, sil - WORD $0xc689 // mov esi, eax - LONG $0x2444b60f; BYTE $0x60 // movzx eax, byte [rsp + 96] + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0x0840; BYTE $0xf0 // or al, sil - WORD $0xc689 // mov esi, eax - LONG $0x2444b60f; BYTE $0x50 // movzx eax, byte [rsp + 80] - WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0x0840; BYTE $0xf0 // or al, sil - WORD $0xc689 // mov esi, eax + WORD $0x0844; BYTE $0xe8 // or al, r13b + WORD $0x8941; BYTE $0xc5 // mov r13d, eax LONG $0x2444b60f; BYTE $0x68 // movzx eax, byte [rsp + 104] - WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0x0840; BYTE $0xf0 // or al, sil - WORD $0x8845; BYTE $0x30 // mov byte [r8], r14b - LONG $0x2474b60f; BYTE $0x40 // movzx esi, byte [rsp + 64] - LONG $0x06e6c040 // shl sil, 6 - LONG $0x07e7c041 // shl r15b, 7 - WORD $0x0841; BYTE $0xf7 // or r15b, sil - LONG $0x01488841 // mov byte [r8 + 1], cl - WORD $0x0841; BYTE $0xc7 // or r15b, al - LONG $0x2444b60f; BYTE $0x38 // movzx eax, byte [rsp + 56] - WORD $0xc000 // add al, al - LONG $0x18244402 // add al, byte [rsp + 24] - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] - WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xd808 // or al, bl + WORD $0xc789 // mov edi, eax LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] - WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - LONG $0x244cb60f; BYTE $0x08 // movzx ecx, byte [rsp + 8] + WORD $0x0844; BYTE $0xe8 // or al, r13b + LONG $0x245cb60f; BYTE $0x58 // movzx ebx, byte [rsp + 88] + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0x0840; BYTE $0xfb // or bl, dil + LONG $0x247cb60f; BYTE $0x48 // movzx edi, byte [rsp + 72] + LONG $0x05e7c040 // shl dil, 5 + LONG $0x244cb60f; BYTE $0x60 // movzx ecx, byte [rsp + 96] WORD $0xe1c0; BYTE $0x06 // shl cl, 6 - WORD $0xe3c0; BYTE $0x07 // shl bl, 7 - WORD $0xcb08 // or bl, cl - WORD $0xc308 // or bl, al - LONG $0x02788845 // mov byte [r8 + 2], r15b - LONG $0x03588841 // mov byte [r8 + 3], bl + WORD $0x0840; BYTE $0xf9 // or cl, dil + LONG $0x6cb60f44; WORD $0x7024 // movzx r13d, byte [rsp + 112] + LONG $0x07e5c041 // shl r13b, 7 + WORD $0x0841; BYTE $0xcd // or r13b, cl + QUAD $0x00000080248cb60f // movzx ecx, byte [rsp + 128] + WORD $0xc900 // add cl, cl + LONG $0x50244c02 // add cl, byte [rsp + 80] + LONG $0x247cb60f; BYTE $0x78 // movzx edi, byte [rsp + 120] + LONG $0x02e7c040 // shl dil, 2 + WORD $0x0840; BYTE $0xcf // or dil, cl + QUAD $0x000000b0248cb60f // movzx ecx, byte [rsp + 176] + WORD $0xe1c0; BYTE $0x03 // shl cl, 3 + WORD $0x0840; BYTE $0xf9 // or cl, dil + WORD $0xcf89 // mov edi, ecx + QUAD $0x000000d0248cb60f // movzx ecx, byte [rsp + 208] + WORD $0xe1c0; BYTE $0x04 // shl cl, 4 + WORD $0x0840; BYTE $0xf9 // or cl, dil + LONG $0x247cb60f; BYTE $0x08 // movzx edi, byte [rsp + 8] + WORD $0x0840; BYTE $0xc7 // or dil, al + QUAD $0x000000c02484b60f // movzx eax, byte [rsp + 192] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + LONG $0x06e7c041 // shl r15b, 6 + WORD $0x0841; BYTE $0xc7 // or r15b, al + WORD $0x0841; BYTE $0xdd // or r13b, bl + LONG $0x07e1c041 // shl r9b, 7 + WORD $0x0845; BYTE $0xf9 // or r9b, r15b + LONG $0x24048b48 // mov rax, qword [rsp] + WORD $0x0841; BYTE $0xc9 // or r9b, cl + WORD $0x0045; BYTE $0xf6 // add r14b, r14b + QUAD $0x000000a024b40244 // add r14b, byte [rsp + 160] + LONG $0x02e3c041 // shl r11b, 2 + WORD $0x0845; BYTE $0xf3 // or r11b, r14b + LONG $0x03e2c041 // shl r10b, 3 + WORD $0x0845; BYTE $0xda // or r10b, r11b + LONG $0x04e4c041 // shl r12b, 4 + WORD $0x0845; BYTE $0xd4 // or r12b, r10b + WORD $0x8840; BYTE $0x38 // mov byte [rax], dil + QUAD $0x00000088248cb60f // movzx ecx, byte [rsp + 136] + WORD $0xe1c0; BYTE $0x05 // shl cl, 5 + LONG $0x06e0c041 // shl r8b, 6 + WORD $0x0841; BYTE $0xc8 // or r8b, cl + LONG $0x01688844 // mov byte [rax + 1], r13b + LONG $0x07e6c040 // shl sil, 7 + WORD $0x0844; BYTE $0xc6 // or sil, r8b + WORD $0x0844; BYTE $0xe6 // or sil, r12b + LONG $0x02488844 // mov byte [rax + 2], r9b + LONG $0x03708840 // mov byte [rax + 3], sil LONG $0x00c28148; WORD $0x0001; BYTE $0x00 // add rdx, 256 - LONG $0x04c08349 // add r8, 4 - LONG $0x2404894c // mov qword [rsp], r8 - QUAD $0x000000c024848348; BYTE $0xff // add qword [rsp + 192], -1 + LONG $0x04c08348 // add rax, 4 + LONG $0x24048948 // mov qword [rsp], rax + QUAD $0x0000009824848348; BYTE $0xff // add qword [rsp + 152], -1 JNE LBB2_27 QUAD $0x0000009024948b4c // mov r10, qword [rsp + 144] - QUAD $0x0000008824b48b4c // mov r14, qword [rsp + 136] + QUAD $0x000000f024b48b4c // mov r14, qword [rsp + 240] LBB2_29: LONG $0x05e6c149 // shl r14, 5 WORD $0x394d; BYTE $0xd6 // cmp r14, r10 - JGE LBB2_176 + JGE LBB2_177 WORD $0x894d; BYTE $0xd0 // mov r8, r10 WORD $0x294d; BYTE $0xf0 // sub r8, r14 WORD $0xf749; BYTE $0xd6 // not r14 WORD $0x014d; BYTE $0xd6 // add r14, r10 - JNE LBB2_161 + JNE LBB2_162 WORD $0xff31 // xor edi, edi - JMP LBB2_163 + JMP LBB2_164 LBB2_32: WORD $0xff83; BYTE $0x02 // cmp edi, 2 JE LBB2_60 WORD $0xff83; BYTE $0x03 // cmp edi, 3 - JNE LBB2_176 + JNE LBB2_177 WORD $0x8a44; BYTE $0x36 // mov r14b, byte [rsi] LONG $0x1f7a8d4d // lea r15, [r10 + 31] WORD $0x854d; BYTE $0xd2 // test r10, r10 @@ -9453,27 +9994,27 @@ LBB2_38: LONG $0x10ff8349 // cmp r15, 16 LONG $0x24748844; BYTE $0x08 // mov byte [rsp + 8], r14b QUAD $0x000000902494894c // mov qword [rsp + 144], r10 - QUAD $0x000000f024bc894c // mov qword [rsp + 240], r15 + QUAD $0x000000e824bc894c // mov qword [rsp + 232], r15 JB LBB2_42 WORD $0x894c; BYTE $0xf8 // mov rax, r15 LONG $0x05e0c148 // shl rax, 5 WORD $0x0148; BYTE $0xd0 // add rax, rdx LONG $0x24043948 // cmp qword [rsp], rax - JAE LBB2_185 + JAE LBB2_182 LONG $0x24048b48 // mov rax, qword [rsp] LONG $0xb8048d4a // lea rax, [rax + 4*r15] WORD $0x3948; BYTE $0xc2 // cmp rdx, rax - JAE LBB2_185 + JAE LBB2_182 LBB2_42: WORD $0xc031 // xor eax, eax - QUAD $0x000000e824848948 // mov qword [rsp + 232], rax + QUAD $0x000000e024848948 // mov qword [rsp + 224], rax WORD $0x8948; BYTE $0xd6 // mov rsi, rdx LONG $0x24048b48 // mov rax, qword [rsp] LONG $0x24448948; BYTE $0x68 // mov qword [rsp + 104], rax LBB2_43: - QUAD $0x000000e824bc2b4c // sub r15, qword [rsp + 232] + QUAD $0x000000e024bc2b4c // sub r15, qword [rsp + 224] QUAD $0x0000008824bc894c // mov qword [rsp + 136], r15 LBB2_44: @@ -9539,10 +10080,10 @@ LBB2_44: LONG $0xd2940f41 // sete r10b LONG $0x2454b60f; BYTE $0x08 // movzx edx, byte [rsp + 8] WORD $0x513a; BYTE $0x18 // cmp dl, byte [rcx + 24] - LONG $0x2454940f; BYTE $0x38 // sete byte [rsp + 56] + LONG $0x2454940f; BYTE $0x20 // sete byte [rsp + 32] LONG $0x2454b60f; BYTE $0x08 // movzx edx, byte [rsp + 8] WORD $0x513a; BYTE $0x19 // cmp dl, byte [rcx + 25] - LONG $0x2454940f; BYTE $0x20 // sete byte [rsp + 32] + LONG $0x2454940f; BYTE $0x38 // sete byte [rsp + 56] LONG $0x2454b60f; BYTE $0x08 // movzx edx, byte [rsp + 8] WORD $0x513a; BYTE $0x1a // cmp dl, byte [rcx + 26] LONG $0x2454940f; BYTE $0x28 // sete byte [rsp + 40] @@ -9551,10 +10092,10 @@ LBB2_44: LONG $0x2454940f; BYTE $0x18 // sete byte [rsp + 24] LONG $0x2454b60f; BYTE $0x08 // movzx edx, byte [rsp + 8] WORD $0x513a; BYTE $0x1c // cmp dl, byte [rcx + 28] - LONG $0x2454940f; BYTE $0x10 // sete byte [rsp + 16] + LONG $0x2454940f; BYTE $0x30 // sete byte [rsp + 48] LONG $0x2454b60f; BYTE $0x08 // movzx edx, byte [rsp + 8] WORD $0x513a; BYTE $0x1d // cmp dl, byte [rcx + 29] - LONG $0x2454940f; BYTE $0x30 // sete byte [rsp + 48] + LONG $0x2454940f; BYTE $0x10 // sete byte [rsp + 16] LONG $0x2454b60f; BYTE $0x08 // movzx edx, byte [rsp + 8] WORD $0x513a; BYTE $0x1e // cmp dl, byte [rcx + 30] LONG $0x2414940f // sete byte [rsp] @@ -9621,9 +10162,9 @@ LBB2_44: WORD $0x0841; BYTE $0xf2 // or r10b, sil WORD $0x4788; BYTE $0x01 // mov byte [rdi + 1], al WORD $0x0841; BYTE $0xda // or r10b, bl - LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] + LONG $0x2444b60f; BYTE $0x38 // movzx eax, byte [rsp + 56] WORD $0xc000 // add al, al - LONG $0x38244402 // add al, byte [rsp + 56] + LONG $0x20244402 // add al, byte [rsp + 32] WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] WORD $0xe0c0; BYTE $0x02 // shl al, 2 @@ -9633,11 +10174,11 @@ LBB2_44: WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0xd808 // or al, bl WORD $0xc389 // mov ebx, eax - LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] + LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0xd808 // or al, bl WORD $0xc389 // mov ebx, eax - LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] + LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0xd808 // or al, bl LONG $0x241cb60f // movzx ebx, byte [rsp] @@ -9653,14 +10194,14 @@ LBB2_44: QUAD $0x0000008824848348; BYTE $0xff // add qword [rsp + 136], -1 JNE LBB2_44 QUAD $0x0000009024948b4c // mov r10, qword [rsp + 144] - QUAD $0x000000f024bc8b4c // mov r15, qword [rsp + 240] + QUAD $0x000000e824bc8b4c // mov r15, qword [rsp + 232] JMP LBB2_131 LBB2_46: WORD $0xff83; BYTE $0x07 // cmp edi, 7 JE LBB2_72 WORD $0xff83; BYTE $0x08 // cmp edi, 8 - JNE LBB2_176 + JNE LBB2_177 WORD $0x8b4c; BYTE $0x2e // mov r13, qword [rsi] LONG $0x1f5a8d4d // lea r11, [r10 + 31] WORD $0x854d; BYTE $0xd2 // test r10, r10 @@ -9710,7 +10251,7 @@ LBB2_54: WORD $0x3b4c; BYTE $0x2a // cmp r13, qword [rdx] QUAD $0x000000c02494940f // sete byte [rsp + 192] LONG $0x086a3b4c // cmp r13, qword [rdx + 8] - LONG $0xd7940f40 // sete dil + LONG $0xd2940f41 // sete r10b LONG $0x106a3b4c // cmp r13, qword [rdx + 16] LONG $0xd6940f41 // sete r14b LONG $0x186a3b4c // cmp r13, qword [rdx + 24] @@ -9720,9 +10261,9 @@ LBB2_54: LONG $0x286a3b4c // cmp r13, qword [rdx + 40] LONG $0x2454940f; BYTE $0x58 // sete byte [rsp + 88] LONG $0x306a3b4c // cmp r13, qword [rdx + 48] - WORD $0x940f; BYTE $0xd0 // sete al + WORD $0x940f; BYTE $0xd3 // sete bl LONG $0x386a3b4c // cmp r13, qword [rdx + 56] - LONG $0xd3940f41 // sete r11b + LONG $0xd7940f40 // sete dil LONG $0x406a3b4c // cmp r13, qword [rdx + 64] QUAD $0x000000d02494940f // sete byte [rsp + 208] LONG $0x486a3b4c // cmp r13, qword [rdx + 72] @@ -9732,13 +10273,13 @@ LBB2_54: LONG $0x586a3b4c // cmp r13, qword [rdx + 88] LONG $0xd1940f41 // sete r9b LONG $0x606a3b4c // cmp r13, qword [rdx + 96] - LONG $0xd2940f41 // sete r10b + LONG $0xd3940f41 // sete r11b LONG $0x686a3b4c // cmp r13, qword [rdx + 104] LONG $0xd4940f41 // sete r12b LONG $0x706a3b4c // cmp r13, qword [rdx + 112] QUAD $0x000000b02494940f // sete byte [rsp + 176] LONG $0x786a3b4c // cmp r13, qword [rdx + 120] - WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0x940f; BYTE $0xd0 // sete al LONG $0x80aa3b4c; WORD $0x0000; BYTE $0x00 // cmp r13, qword [rdx + 128] LONG $0x2454940f; BYTE $0x48 // sete byte [rsp + 72] LONG $0x88aa3b4c; WORD $0x0000; BYTE $0x00 // cmp r13, qword [rdx + 136] @@ -9758,107 +10299,106 @@ LBB2_54: LONG $0xc0aa3b4c; WORD $0x0000; BYTE $0x00 // cmp r13, qword [rdx + 192] LONG $0x2454940f; BYTE $0x18 // sete byte [rsp + 24] LONG $0xc8aa3b4c; WORD $0x0000; BYTE $0x00 // cmp r13, qword [rdx + 200] - LONG $0x2454940f; BYTE $0x38 // sete byte [rsp + 56] - LONG $0xd0aa3b4c; WORD $0x0000; BYTE $0x00 // cmp r13, qword [rdx + 208] LONG $0x2454940f; BYTE $0x20 // sete byte [rsp + 32] + LONG $0xd0aa3b4c; WORD $0x0000; BYTE $0x00 // cmp r13, qword [rdx + 208] + LONG $0x2454940f; BYTE $0x38 // sete byte [rsp + 56] LONG $0xd8aa3b4c; WORD $0x0000; BYTE $0x00 // cmp r13, qword [rdx + 216] LONG $0x2454940f; BYTE $0x28 // sete byte [rsp + 40] LONG $0xe0aa3b4c; WORD $0x0000; BYTE $0x00 // cmp r13, qword [rdx + 224] - LONG $0x2454940f; BYTE $0x10 // sete byte [rsp + 16] - LONG $0xe8aa3b4c; WORD $0x0000; BYTE $0x00 // cmp r13, qword [rdx + 232] LONG $0x2454940f; BYTE $0x30 // sete byte [rsp + 48] + LONG $0xe8aa3b4c; WORD $0x0000; BYTE $0x00 // cmp r13, qword [rdx + 232] + LONG $0x2454940f; BYTE $0x10 // sete byte [rsp + 16] LONG $0xf0aa3b4c; WORD $0x0000; BYTE $0x00 // cmp r13, qword [rdx + 240] LONG $0x2454940f; BYTE $0x08 // sete byte [rsp + 8] LONG $0xf8aa3b4c; WORD $0x0000; BYTE $0x00 // cmp r13, qword [rdx + 248] - WORD $0x940f; BYTE $0xd3 // sete bl - WORD $0x0040; BYTE $0xff // add dil, dil - QUAD $0x000000c024bc0240 // add dil, byte [rsp + 192] - WORD $0xe0c0; BYTE $0x06 // shl al, 6 - LONG $0x07e3c041 // shl r11b, 7 - WORD $0x0841; BYTE $0xc3 // or r11b, al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0x0045; BYTE $0xd2 // add r10b, r10b + QUAD $0x000000c024940244 // add r10b, byte [rsp + 192] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 + LONG $0x07e7c040 // shl dil, 7 + WORD $0x0840; BYTE $0xdf // or dil, bl LONG $0x02e6c041 // shl r14b, 2 - WORD $0x0841; BYTE $0xfe // or r14b, dil + WORD $0x0845; BYTE $0xd6 // or r14b, r10b WORD $0x0040; BYTE $0xf6 // add sil, sil QUAD $0x000000d024b40240 // add sil, byte [rsp + 208] - QUAD $0x000000a02484b60f // movzx eax, byte [rsp + 160] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0x0844; BYTE $0xf0 // or al, r14b - WORD $0xc789 // mov edi, eax + QUAD $0x000000a0249cb60f // movzx ebx, byte [rsp + 160] + WORD $0xe3c0; BYTE $0x03 // shl bl, 3 + WORD $0x0844; BYTE $0xf3 // or bl, r14b + WORD $0x8941; BYTE $0xda // mov r10d, ebx LONG $0x02e0c041 // shl r8b, 2 WORD $0x0841; BYTE $0xf0 // or r8b, sil - LONG $0x2444b60f; BYTE $0x70 // movzx eax, byte [rsp + 112] - WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0x0840; BYTE $0xf8 // or al, dil - WORD $0xc789 // mov edi, eax + LONG $0x245cb60f; BYTE $0x70 // movzx ebx, byte [rsp + 112] + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0x0844; BYTE $0xd3 // or bl, r10b + WORD $0xde89 // mov esi, ebx LONG $0x03e1c041 // shl r9b, 3 WORD $0x0845; BYTE $0xc1 // or r9b, r8b - LONG $0x2444b60f; BYTE $0x58 // movzx eax, byte [rsp + 88] - WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0x0840; BYTE $0xf8 // or al, dil - LONG $0x04e2c041 // shl r10b, 4 - WORD $0x0845; BYTE $0xca // or r10b, r9b + LONG $0x245cb60f; BYTE $0x58 // movzx ebx, byte [rsp + 88] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + WORD $0x0840; BYTE $0xf3 // or bl, sil + LONG $0x04e3c041 // shl r11b, 4 + WORD $0x0845; BYTE $0xcb // or r11b, r9b LONG $0x05e4c041 // shl r12b, 5 - WORD $0x0845; BYTE $0xd4 // or r12b, r10b - QUAD $0x000000b024b4b60f // movzx esi, byte [rsp + 176] - LONG $0x06e6c040 // shl sil, 6 - WORD $0xe1c0; BYTE $0x07 // shl cl, 7 - WORD $0x0840; BYTE $0xf1 // or cl, sil - WORD $0x0841; BYTE $0xc3 // or r11b, al - WORD $0x0844; BYTE $0xe1 // or cl, r12b - LONG $0x2444b60f; BYTE $0x78 // movzx eax, byte [rsp + 120] - WORD $0xc000 // add al, al - LONG $0x48244402 // add al, byte [rsp + 72] - WORD $0xc689 // mov esi, eax - QUAD $0x000000802484b60f // movzx eax, byte [rsp + 128] - WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0x0840; BYTE $0xf0 // or al, sil - WORD $0xc689 // mov esi, eax - LONG $0x2444b60f; BYTE $0x60 // movzx eax, byte [rsp + 96] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0x0840; BYTE $0xf0 // or al, sil - WORD $0xc689 // mov esi, eax - LONG $0x2444b60f; BYTE $0x50 // movzx eax, byte [rsp + 80] - WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0x0840; BYTE $0xf0 // or al, sil - WORD $0xc689 // mov esi, eax - LONG $0x2444b60f; BYTE $0x68 // movzx eax, byte [rsp + 104] - WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0x0840; BYTE $0xf0 // or al, sil - WORD $0xc789 // mov edi, eax - LONG $0x24048b48 // mov rax, qword [rsp] - WORD $0x8844; BYTE $0x18 // mov byte [rax], r11b + WORD $0x0845; BYTE $0xdc // or r12b, r11b LONG $0x24348b48 // mov rsi, qword [rsp] - LONG $0x2444b60f; BYTE $0x40 // movzx eax, byte [rsp + 64] - WORD $0xe0c0; BYTE $0x06 // shl al, 6 + QUAD $0x0000b02484b60f44; BYTE $0x00 // movzx r8d, byte [rsp + 176] + LONG $0x06e0c041 // shl r8b, 6 + WORD $0xe0c0; BYTE $0x07 // shl al, 7 + WORD $0x0844; BYTE $0xc0 // or al, r8b + WORD $0x0840; BYTE $0xdf // or dil, bl + WORD $0x0844; BYTE $0xe0 // or al, r12b + LONG $0x245cb60f; BYTE $0x78 // movzx ebx, byte [rsp + 120] + WORD $0xdb00 // add bl, bl + LONG $0x48245c02 // add bl, byte [rsp + 72] + WORD $0x8941; BYTE $0xd8 // mov r8d, ebx + QUAD $0x00000080249cb60f // movzx ebx, byte [rsp + 128] + WORD $0xe3c0; BYTE $0x02 // shl bl, 2 + WORD $0x0844; BYTE $0xc3 // or bl, r8b + WORD $0x8941; BYTE $0xd8 // mov r8d, ebx + LONG $0x245cb60f; BYTE $0x60 // movzx ebx, byte [rsp + 96] + WORD $0xe3c0; BYTE $0x03 // shl bl, 3 + WORD $0x0844; BYTE $0xc3 // or bl, r8b + WORD $0x8941; BYTE $0xd8 // mov r8d, ebx + LONG $0x245cb60f; BYTE $0x50 // movzx ebx, byte [rsp + 80] + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0x0844; BYTE $0xc3 // or bl, r8b + WORD $0x8941; BYTE $0xd8 // mov r8d, ebx + LONG $0x245cb60f; BYTE $0x68 // movzx ebx, byte [rsp + 104] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + WORD $0x0844; BYTE $0xc3 // or bl, r8b + WORD $0x8840; BYTE $0x3e // mov byte [rsi], dil + LONG $0x247cb60f; BYTE $0x40 // movzx edi, byte [rsp + 64] + LONG $0x06e7c040 // shl dil, 6 LONG $0x07e7c041 // shl r15b, 7 - WORD $0x0841; BYTE $0xc7 // or r15b, al - WORD $0x4e88; BYTE $0x01 // mov byte [rsi + 1], cl WORD $0x0841; BYTE $0xff // or r15b, dil - LONG $0x2444b60f; BYTE $0x38 // movzx eax, byte [rsp + 56] + WORD $0x4688; BYTE $0x01 // mov byte [rsi + 1], al + WORD $0x0841; BYTE $0xdf // or r15b, bl + LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] WORD $0xc000 // add al, al LONG $0x18244402 // add al, byte [rsp + 24] - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x38 // movzx eax, byte [rsp + 56] WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0xc808 // or al, cl - LONG $0x244cb60f; BYTE $0x30 // movzx ecx, byte [rsp + 48] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0xd808 // or al, bl + LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 + WORD $0xe1c0; BYTE $0x07 // shl cl, 7 + WORD $0xd908 // or cl, bl WORD $0xc108 // or cl, al - LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] - WORD $0xe0c0; BYTE $0x06 // shl al, 6 - WORD $0xe3c0; BYTE $0x07 // shl bl, 7 - WORD $0xc308 // or bl, al - WORD $0xcb08 // or bl, cl LONG $0x027e8844 // mov byte [rsi + 2], r15b - WORD $0x5e88; BYTE $0x03 // mov byte [rsi + 3], bl + WORD $0x4e88; BYTE $0x03 // mov byte [rsi + 3], cl LONG $0x00c28148; WORD $0x0001; BYTE $0x00 // add rdx, 256 LONG $0x04c68348 // add rsi, 4 LONG $0x24348948 // mov qword [rsp], rsi @@ -9870,7 +10410,7 @@ LBB2_54: LBB2_56: LONG $0x05e3c149 // shl r11, 5 WORD $0x394d; BYTE $0xd3 // cmp r11, r10 - JGE LBB2_176 + JGE LBB2_177 WORD $0x894d; BYTE $0xd0 // mov r8, r10 WORD $0x294d; BYTE $0xd8 // sub r8, r11 WORD $0xf749; BYTE $0xd3 // not r11 @@ -9910,7 +10450,7 @@ LBB2_59: LONG $0x33048841 // mov byte [r11 + rsi], al WORD $0x3949; BYTE $0xfa // cmp r10, rdi JNE LBB2_59 - JMP LBB2_167 + JMP LBB2_168 LBB2_60: WORD $0x8a44; BYTE $0x36 // mov r14b, byte [rsi] @@ -9957,27 +10497,27 @@ LBB2_64: LONG $0x10ff8349 // cmp r15, 16 LONG $0x24748844; BYTE $0x08 // mov byte [rsp + 8], r14b QUAD $0x000000902494894c // mov qword [rsp + 144], r10 - QUAD $0x000000f024bc894c // mov qword [rsp + 240], r15 + QUAD $0x000000e824bc894c // mov qword [rsp + 232], r15 JB LBB2_68 WORD $0x894c; BYTE $0xf8 // mov rax, r15 LONG $0x05e0c148 // shl rax, 5 WORD $0x0148; BYTE $0xd0 // add rax, rdx LONG $0x24043948 // cmp qword [rsp], rax - JAE LBB2_188 + JAE LBB2_185 LONG $0x24048b48 // mov rax, qword [rsp] LONG $0xb8048d4a // lea rax, [rax + 4*r15] WORD $0x3948; BYTE $0xc2 // cmp rdx, rax - JAE LBB2_188 + JAE LBB2_185 LBB2_68: WORD $0xc031 // xor eax, eax - QUAD $0x000000e824848948 // mov qword [rsp + 232], rax + QUAD $0x000000e024848948 // mov qword [rsp + 224], rax WORD $0x8948; BYTE $0xd6 // mov rsi, rdx LONG $0x24048b48 // mov rax, qword [rsp] LONG $0x24448948; BYTE $0x68 // mov qword [rsp + 104], rax LBB2_69: - QUAD $0x000000e824bc2b4c // sub r15, qword [rsp + 232] + QUAD $0x000000e024bc2b4c // sub r15, qword [rsp + 224] QUAD $0x0000008824bc894c // mov qword [rsp + 136], r15 LBB2_70: @@ -10043,10 +10583,10 @@ LBB2_70: LONG $0xd2940f41 // sete r10b LONG $0x2454b60f; BYTE $0x08 // movzx edx, byte [rsp + 8] WORD $0x513a; BYTE $0x18 // cmp dl, byte [rcx + 24] - LONG $0x2454940f; BYTE $0x38 // sete byte [rsp + 56] + LONG $0x2454940f; BYTE $0x20 // sete byte [rsp + 32] LONG $0x2454b60f; BYTE $0x08 // movzx edx, byte [rsp + 8] WORD $0x513a; BYTE $0x19 // cmp dl, byte [rcx + 25] - LONG $0x2454940f; BYTE $0x20 // sete byte [rsp + 32] + LONG $0x2454940f; BYTE $0x38 // sete byte [rsp + 56] LONG $0x2454b60f; BYTE $0x08 // movzx edx, byte [rsp + 8] WORD $0x513a; BYTE $0x1a // cmp dl, byte [rcx + 26] LONG $0x2454940f; BYTE $0x28 // sete byte [rsp + 40] @@ -10055,10 +10595,10 @@ LBB2_70: LONG $0x2454940f; BYTE $0x18 // sete byte [rsp + 24] LONG $0x2454b60f; BYTE $0x08 // movzx edx, byte [rsp + 8] WORD $0x513a; BYTE $0x1c // cmp dl, byte [rcx + 28] - LONG $0x2454940f; BYTE $0x10 // sete byte [rsp + 16] + LONG $0x2454940f; BYTE $0x30 // sete byte [rsp + 48] LONG $0x2454b60f; BYTE $0x08 // movzx edx, byte [rsp + 8] WORD $0x513a; BYTE $0x1d // cmp dl, byte [rcx + 29] - LONG $0x2454940f; BYTE $0x30 // sete byte [rsp + 48] + LONG $0x2454940f; BYTE $0x10 // sete byte [rsp + 16] LONG $0x2454b60f; BYTE $0x08 // movzx edx, byte [rsp + 8] WORD $0x513a; BYTE $0x1e // cmp dl, byte [rcx + 30] LONG $0x2414940f // sete byte [rsp] @@ -10125,9 +10665,9 @@ LBB2_70: WORD $0x0841; BYTE $0xf2 // or r10b, sil WORD $0x4788; BYTE $0x01 // mov byte [rdi + 1], al WORD $0x0841; BYTE $0xda // or r10b, bl - LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] + LONG $0x2444b60f; BYTE $0x38 // movzx eax, byte [rsp + 56] WORD $0xc000 // add al, al - LONG $0x38244402 // add al, byte [rsp + 56] + LONG $0x20244402 // add al, byte [rsp + 32] WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] WORD $0xe0c0; BYTE $0x02 // shl al, 2 @@ -10137,11 +10677,11 @@ LBB2_70: WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0xd808 // or al, bl WORD $0xc389 // mov ebx, eax - LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] + LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0xd808 // or al, bl WORD $0xc389 // mov ebx, eax - LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] + LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0xd808 // or al, bl LONG $0x241cb60f // movzx ebx, byte [rsp] @@ -10157,7 +10697,7 @@ LBB2_70: QUAD $0x0000008824848348; BYTE $0xff // add qword [rsp + 136], -1 JNE LBB2_70 QUAD $0x0000009024948b4c // mov r10, qword [rsp + 144] - QUAD $0x000000f024bc8b4c // mov r15, qword [rsp + 240] + QUAD $0x000000e824bc8b4c // mov r15, qword [rsp + 232] JMP LBB2_135 LBB2_72: @@ -10210,7 +10750,7 @@ LBB2_78: WORD $0x3b44; BYTE $0x2a // cmp r13d, dword [rdx] QUAD $0x000000c02494940f // sete byte [rsp + 192] LONG $0x046a3b44 // cmp r13d, dword [rdx + 4] - LONG $0xd7940f40 // sete dil + LONG $0xd2940f41 // sete r10b LONG $0x086a3b44 // cmp r13d, dword [rdx + 8] LONG $0xd6940f41 // sete r14b LONG $0x0c6a3b44 // cmp r13d, dword [rdx + 12] @@ -10220,9 +10760,9 @@ LBB2_78: LONG $0x146a3b44 // cmp r13d, dword [rdx + 20] LONG $0x2454940f; BYTE $0x58 // sete byte [rsp + 88] LONG $0x186a3b44 // cmp r13d, dword [rdx + 24] - WORD $0x940f; BYTE $0xd0 // sete al + WORD $0x940f; BYTE $0xd3 // sete bl LONG $0x1c6a3b44 // cmp r13d, dword [rdx + 28] - LONG $0xd3940f41 // sete r11b + LONG $0xd7940f40 // sete dil LONG $0x206a3b44 // cmp r13d, dword [rdx + 32] QUAD $0x000000d02494940f // sete byte [rsp + 208] LONG $0x246a3b44 // cmp r13d, dword [rdx + 36] @@ -10232,13 +10772,13 @@ LBB2_78: LONG $0x2c6a3b44 // cmp r13d, dword [rdx + 44] LONG $0xd1940f41 // sete r9b LONG $0x306a3b44 // cmp r13d, dword [rdx + 48] - LONG $0xd2940f41 // sete r10b + LONG $0xd3940f41 // sete r11b LONG $0x346a3b44 // cmp r13d, dword [rdx + 52] LONG $0xd4940f41 // sete r12b LONG $0x386a3b44 // cmp r13d, dword [rdx + 56] QUAD $0x000000b02494940f // sete byte [rsp + 176] LONG $0x3c6a3b44 // cmp r13d, dword [rdx + 60] - WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0x940f; BYTE $0xd0 // sete al LONG $0x406a3b44 // cmp r13d, dword [rdx + 64] LONG $0x2454940f; BYTE $0x48 // sete byte [rsp + 72] LONG $0x446a3b44 // cmp r13d, dword [rdx + 68] @@ -10258,107 +10798,106 @@ LBB2_78: LONG $0x606a3b44 // cmp r13d, dword [rdx + 96] LONG $0x2454940f; BYTE $0x18 // sete byte [rsp + 24] LONG $0x646a3b44 // cmp r13d, dword [rdx + 100] - LONG $0x2454940f; BYTE $0x38 // sete byte [rsp + 56] - LONG $0x686a3b44 // cmp r13d, dword [rdx + 104] LONG $0x2454940f; BYTE $0x20 // sete byte [rsp + 32] + LONG $0x686a3b44 // cmp r13d, dword [rdx + 104] + LONG $0x2454940f; BYTE $0x38 // sete byte [rsp + 56] LONG $0x6c6a3b44 // cmp r13d, dword [rdx + 108] LONG $0x2454940f; BYTE $0x28 // sete byte [rsp + 40] LONG $0x706a3b44 // cmp r13d, dword [rdx + 112] - LONG $0x2454940f; BYTE $0x10 // sete byte [rsp + 16] - LONG $0x746a3b44 // cmp r13d, dword [rdx + 116] LONG $0x2454940f; BYTE $0x30 // sete byte [rsp + 48] + LONG $0x746a3b44 // cmp r13d, dword [rdx + 116] + LONG $0x2454940f; BYTE $0x10 // sete byte [rsp + 16] LONG $0x786a3b44 // cmp r13d, dword [rdx + 120] LONG $0x2454940f; BYTE $0x08 // sete byte [rsp + 8] LONG $0x7c6a3b44 // cmp r13d, dword [rdx + 124] - WORD $0x940f; BYTE $0xd3 // sete bl - WORD $0x0040; BYTE $0xff // add dil, dil - QUAD $0x000000c024bc0240 // add dil, byte [rsp + 192] - WORD $0xe0c0; BYTE $0x06 // shl al, 6 - LONG $0x07e3c041 // shl r11b, 7 - WORD $0x0841; BYTE $0xc3 // or r11b, al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0x0045; BYTE $0xd2 // add r10b, r10b + QUAD $0x000000c024940244 // add r10b, byte [rsp + 192] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 + LONG $0x07e7c040 // shl dil, 7 + WORD $0x0840; BYTE $0xdf // or dil, bl LONG $0x02e6c041 // shl r14b, 2 - WORD $0x0841; BYTE $0xfe // or r14b, dil + WORD $0x0845; BYTE $0xd6 // or r14b, r10b WORD $0x0040; BYTE $0xf6 // add sil, sil QUAD $0x000000d024b40240 // add sil, byte [rsp + 208] - QUAD $0x000000a02484b60f // movzx eax, byte [rsp + 160] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0x0844; BYTE $0xf0 // or al, r14b - WORD $0xc789 // mov edi, eax + QUAD $0x000000a0249cb60f // movzx ebx, byte [rsp + 160] + WORD $0xe3c0; BYTE $0x03 // shl bl, 3 + WORD $0x0844; BYTE $0xf3 // or bl, r14b + WORD $0x8941; BYTE $0xda // mov r10d, ebx LONG $0x02e0c041 // shl r8b, 2 WORD $0x0841; BYTE $0xf0 // or r8b, sil - LONG $0x2444b60f; BYTE $0x70 // movzx eax, byte [rsp + 112] - WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0x0840; BYTE $0xf8 // or al, dil - WORD $0xc789 // mov edi, eax + LONG $0x245cb60f; BYTE $0x70 // movzx ebx, byte [rsp + 112] + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0x0844; BYTE $0xd3 // or bl, r10b + WORD $0xde89 // mov esi, ebx LONG $0x03e1c041 // shl r9b, 3 WORD $0x0845; BYTE $0xc1 // or r9b, r8b - LONG $0x2444b60f; BYTE $0x58 // movzx eax, byte [rsp + 88] - WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0x0840; BYTE $0xf8 // or al, dil - LONG $0x04e2c041 // shl r10b, 4 - WORD $0x0845; BYTE $0xca // or r10b, r9b + LONG $0x245cb60f; BYTE $0x58 // movzx ebx, byte [rsp + 88] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + WORD $0x0840; BYTE $0xf3 // or bl, sil + LONG $0x04e3c041 // shl r11b, 4 + WORD $0x0845; BYTE $0xcb // or r11b, r9b LONG $0x05e4c041 // shl r12b, 5 - WORD $0x0845; BYTE $0xd4 // or r12b, r10b - QUAD $0x000000b024b4b60f // movzx esi, byte [rsp + 176] - LONG $0x06e6c040 // shl sil, 6 - WORD $0xe1c0; BYTE $0x07 // shl cl, 7 - WORD $0x0840; BYTE $0xf1 // or cl, sil - WORD $0x0841; BYTE $0xc3 // or r11b, al - WORD $0x0844; BYTE $0xe1 // or cl, r12b - LONG $0x2444b60f; BYTE $0x78 // movzx eax, byte [rsp + 120] - WORD $0xc000 // add al, al - LONG $0x48244402 // add al, byte [rsp + 72] - WORD $0xc689 // mov esi, eax - QUAD $0x000000802484b60f // movzx eax, byte [rsp + 128] - WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0x0840; BYTE $0xf0 // or al, sil - WORD $0xc689 // mov esi, eax - LONG $0x2444b60f; BYTE $0x60 // movzx eax, byte [rsp + 96] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0x0840; BYTE $0xf0 // or al, sil - WORD $0xc689 // mov esi, eax - LONG $0x2444b60f; BYTE $0x50 // movzx eax, byte [rsp + 80] - WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0x0840; BYTE $0xf0 // or al, sil - WORD $0xc689 // mov esi, eax - LONG $0x2444b60f; BYTE $0x68 // movzx eax, byte [rsp + 104] - WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0x0840; BYTE $0xf0 // or al, sil - WORD $0xc789 // mov edi, eax - LONG $0x24048b48 // mov rax, qword [rsp] - WORD $0x8844; BYTE $0x18 // mov byte [rax], r11b + WORD $0x0845; BYTE $0xdc // or r12b, r11b LONG $0x24348b48 // mov rsi, qword [rsp] - LONG $0x2444b60f; BYTE $0x40 // movzx eax, byte [rsp + 64] - WORD $0xe0c0; BYTE $0x06 // shl al, 6 + QUAD $0x0000b02484b60f44; BYTE $0x00 // movzx r8d, byte [rsp + 176] + LONG $0x06e0c041 // shl r8b, 6 + WORD $0xe0c0; BYTE $0x07 // shl al, 7 + WORD $0x0844; BYTE $0xc0 // or al, r8b + WORD $0x0840; BYTE $0xdf // or dil, bl + WORD $0x0844; BYTE $0xe0 // or al, r12b + LONG $0x245cb60f; BYTE $0x78 // movzx ebx, byte [rsp + 120] + WORD $0xdb00 // add bl, bl + LONG $0x48245c02 // add bl, byte [rsp + 72] + WORD $0x8941; BYTE $0xd8 // mov r8d, ebx + QUAD $0x00000080249cb60f // movzx ebx, byte [rsp + 128] + WORD $0xe3c0; BYTE $0x02 // shl bl, 2 + WORD $0x0844; BYTE $0xc3 // or bl, r8b + WORD $0x8941; BYTE $0xd8 // mov r8d, ebx + LONG $0x245cb60f; BYTE $0x60 // movzx ebx, byte [rsp + 96] + WORD $0xe3c0; BYTE $0x03 // shl bl, 3 + WORD $0x0844; BYTE $0xc3 // or bl, r8b + WORD $0x8941; BYTE $0xd8 // mov r8d, ebx + LONG $0x245cb60f; BYTE $0x50 // movzx ebx, byte [rsp + 80] + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0x0844; BYTE $0xc3 // or bl, r8b + WORD $0x8941; BYTE $0xd8 // mov r8d, ebx + LONG $0x245cb60f; BYTE $0x68 // movzx ebx, byte [rsp + 104] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + WORD $0x0844; BYTE $0xc3 // or bl, r8b + WORD $0x8840; BYTE $0x3e // mov byte [rsi], dil + LONG $0x247cb60f; BYTE $0x40 // movzx edi, byte [rsp + 64] + LONG $0x06e7c040 // shl dil, 6 LONG $0x07e7c041 // shl r15b, 7 - WORD $0x0841; BYTE $0xc7 // or r15b, al - WORD $0x4e88; BYTE $0x01 // mov byte [rsi + 1], cl WORD $0x0841; BYTE $0xff // or r15b, dil - LONG $0x2444b60f; BYTE $0x38 // movzx eax, byte [rsp + 56] + WORD $0x4688; BYTE $0x01 // mov byte [rsi + 1], al + WORD $0x0841; BYTE $0xdf // or r15b, bl + LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] WORD $0xc000 // add al, al LONG $0x18244402 // add al, byte [rsp + 24] - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x38 // movzx eax, byte [rsp + 56] WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0xc808 // or al, cl - LONG $0x244cb60f; BYTE $0x30 // movzx ecx, byte [rsp + 48] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0xd808 // or al, bl + LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 + WORD $0xe1c0; BYTE $0x07 // shl cl, 7 + WORD $0xd908 // or cl, bl WORD $0xc108 // or cl, al - LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] - WORD $0xe0c0; BYTE $0x06 // shl al, 6 - WORD $0xe3c0; BYTE $0x07 // shl bl, 7 - WORD $0xc308 // or bl, al - WORD $0xcb08 // or bl, cl LONG $0x027e8844 // mov byte [rsi + 2], r15b - WORD $0x5e88; BYTE $0x03 // mov byte [rsi + 3], bl + WORD $0x4e88; BYTE $0x03 // mov byte [rsi + 3], cl LONG $0x80c28148; WORD $0x0000; BYTE $0x00 // add rdx, 128 LONG $0x04c68348 // add rsi, 4 LONG $0x24348948 // mov qword [rsp], rsi @@ -10370,22 +10909,22 @@ LBB2_78: LBB2_80: LONG $0x05e3c149 // shl r11, 5 WORD $0x394d; BYTE $0xd3 // cmp r11, r10 - JGE LBB2_176 + JGE LBB2_177 WORD $0x894d; BYTE $0xd0 // mov r8, r10 WORD $0x294d; BYTE $0xd8 // sub r8, r11 WORD $0xf749; BYTE $0xd3 // not r11 WORD $0x014d; BYTE $0xd3 // add r11, r10 - JNE LBB2_150 + JNE LBB2_151 LBB2_82: WORD $0xff31 // xor edi, edi - JMP LBB2_152 + JMP LBB2_153 LBB2_83: - LONG $0x2eb70f44 // movzx r13d, word [rsi] - LONG $0x1f728d4d // lea r14, [r10 + 31] + LONG $0x36b70f44 // movzx r14d, word [rsi] + LONG $0x1f7a8d4d // lea r15, [r10 + 31] WORD $0x854d; BYTE $0xd2 // test r10, r10 - LONG $0xf2490f4d // cmovns r14, r10 + LONG $0xfa490f4d // cmovns r15, r10 LONG $0x07418d41 // lea eax, [r9 + 7] WORD $0x8545; BYTE $0xc9 // test r9d, r9d LONG $0xc1490f41 // cmovns eax, r9d @@ -10396,7 +10935,7 @@ LBB2_83: LONG $0x241c8b4c // mov r11, qword [rsp] LBB2_85: - LONG $0x2a3b4466 // cmp r13w, word [rdx] + LONG $0x323b4466 // cmp r14w, word [rdx] LONG $0x02528d48 // lea rdx, [rdx + 2] WORD $0x940f; BYTE $0xd3 // sete bl WORD $0xdbf6 // neg bl @@ -10420,121 +10959,129 @@ LBB2_85: LONG $0x24048348; BYTE $0x01 // add qword [rsp], 1 LBB2_87: - LONG $0x05fec149 // sar r14, 5 - LONG $0x20fa8349 // cmp r10, 32 + LONG $0x05ffc149 // sar r15, 5 + LONG $0x20fa8349 // cmp r10, 32 JL LBB2_138 - LONG $0x08fe8349 // cmp r14, 8 - QUAD $0x000000902494894c // mov qword [rsp + 144], r10 - QUAD $0x0000009824b4894c // mov qword [rsp + 152], r14 + LONG $0x08ff8349 // cmp r15, 8 + LONG $0x24748944; BYTE $0x08 // mov dword [rsp + 8], r14d + QUAD $0x000000902494894c // mov qword [rsp + 144], r10 + QUAD $0x0000009824bc894c // mov qword [rsp + 152], r15 JB LBB2_91 - WORD $0x894c; BYTE $0xf0 // mov rax, r14 - LONG $0x06e0c148 // shl rax, 6 - WORD $0x0148; BYTE $0xd0 // add rax, rdx - LONG $0x24043948 // cmp qword [rsp], rax - JAE LBB2_191 - LONG $0x24048b48 // mov rax, qword [rsp] - LONG $0xb0048d4a // lea rax, [rax + 4*r14] - WORD $0x3948; BYTE $0xd0 // cmp rax, rdx - JBE LBB2_191 + WORD $0x894c; BYTE $0xf8 // mov rax, r15 + LONG $0x06e0c148 // shl rax, 6 + WORD $0x0148; BYTE $0xd0 // add rax, rdx + LONG $0x24043948 // cmp qword [rsp], rax + JAE LBB2_188 + LONG $0x24048b48 // mov rax, qword [rsp] + LONG $0xb8048d4a // lea rax, [rax + 4*r15] + WORD $0x3948; BYTE $0xd0 // cmp rax, rdx + JBE LBB2_188 LBB2_91: WORD $0xc031 // xor eax, eax LONG $0x24448948; BYTE $0x20 // mov qword [rsp + 32], rax WORD $0x8948; BYTE $0xd6 // mov rsi, rdx LONG $0x24048b48 // mov rax, qword [rsp] - LONG $0x24448948; BYTE $0x08 // mov qword [rsp + 8], rax + LONG $0x24448948; BYTE $0x10 // mov qword [rsp + 16], rax LBB2_92: - LONG $0x24742b4c; BYTE $0x20 // sub r14, qword [rsp + 32] - QUAD $0x0000008824b4894c // mov qword [rsp + 136], r14 + LONG $0x247c2b4c; BYTE $0x20 // sub r15, qword [rsp + 32] + QUAD $0x0000008824bc894c // mov qword [rsp + 136], r15 LBB2_93: - WORD $0x8949; BYTE $0xf3 // mov r11, rsi - LONG $0x2e3b4466 // cmp r13w, word [rsi] + WORD $0x8949; BYTE $0xf2 // mov r10, rsi + LONG $0x363b4466 // cmp r14w, word [rsi] QUAD $0x000000c02494940f // sete byte [rsp + 192] - LONG $0x6e3b4466; BYTE $0x02 // cmp r13w, word [rsi + 2] + LONG $0x763b4466; BYTE $0x02 // cmp r14w, word [rsi + 2] LONG $0xd7940f40 // sete dil - LONG $0x6e3b4466; BYTE $0x04 // cmp r13w, word [rsi + 4] - LONG $0xd6940f41 // sete r14b - LONG $0x6e3b4466; BYTE $0x06 // cmp r13w, word [rsi + 6] - QUAD $0x000000a02494940f // sete byte [rsp + 160] - LONG $0x6e3b4466; BYTE $0x08 // cmp r13w, word [rsi + 8] - LONG $0x2454940f; BYTE $0x70 // sete byte [rsp + 112] - LONG $0x6e3b4466; BYTE $0x0a // cmp r13w, word [rsi + 10] - LONG $0x2454940f; BYTE $0x58 // sete byte [rsp + 88] - LONG $0x6e3b4466; BYTE $0x0c // cmp r13w, word [rsi + 12] + LONG $0x763b4466; BYTE $0x04 // cmp r14w, word [rsi + 4] + LONG $0xd7940f41 // sete r15b + LONG $0x763b4466; BYTE $0x06 // cmp r14w, word [rsi + 6] + LONG $0xd5940f41 // sete r13b + LONG $0x763b4466; BYTE $0x08 // cmp r14w, word [rsi + 8] + QUAD $0x000000802494940f // sete byte [rsp + 128] + LONG $0x763b4466; BYTE $0x0a // cmp r14w, word [rsi + 10] + LONG $0x2454940f; BYTE $0x50 // sete byte [rsp + 80] + LONG $0x763b4466; BYTE $0x0c // cmp r14w, word [rsi + 12] WORD $0x940f; BYTE $0xd0 // sete al - LONG $0x6e3b4466; BYTE $0x0e // cmp r13w, word [rsi + 14] - LONG $0xd2940f41 // sete r10b - LONG $0x6e3b4466; BYTE $0x10 // cmp r13w, word [rsi + 16] + LONG $0x763b4466; BYTE $0x0e // cmp r14w, word [rsi + 14] + LONG $0xd3940f41 // sete r11b + LONG $0x763b4466; BYTE $0x10 // cmp r14w, word [rsi + 16] QUAD $0x000000d02494940f // sete byte [rsp + 208] - LONG $0x6e3b4466; BYTE $0x12 // cmp r13w, word [rsi + 18] + LONG $0x763b4466; BYTE $0x12 // cmp r14w, word [rsi + 18] WORD $0x940f; BYTE $0xd1 // sete cl - LONG $0x6e3b4466; BYTE $0x14 // cmp r13w, word [rsi + 20] + LONG $0x763b4466; BYTE $0x14 // cmp r14w, word [rsi + 20] WORD $0x940f; BYTE $0xd2 // sete dl - LONG $0x6e3b4466; BYTE $0x16 // cmp r13w, word [rsi + 22] + LONG $0x763b4466; BYTE $0x16 // cmp r14w, word [rsi + 22] LONG $0xd6940f40 // sete sil - LONG $0x6b3b4566; BYTE $0x18 // cmp r13w, word [r11 + 24] + LONG $0x723b4566; BYTE $0x18 // cmp r14w, word [r10 + 24] LONG $0xd1940f41 // sete r9b - LONG $0x6b3b4566; BYTE $0x1a // cmp r13w, word [r11 + 26] + LONG $0x723b4566; BYTE $0x1a // cmp r14w, word [r10 + 26] LONG $0xd4940f41 // sete r12b - LONG $0x6b3b4566; BYTE $0x1c // cmp r13w, word [r11 + 28] + LONG $0x723b4566; BYTE $0x1c // cmp r14w, word [r10 + 28] QUAD $0x000000b02494940f // sete byte [rsp + 176] - LONG $0x6b3b4566; BYTE $0x1e // cmp r13w, word [r11 + 30] + LONG $0x723b4566; BYTE $0x1e // cmp r14w, word [r10 + 30] LONG $0xd0940f41 // sete r8b - LONG $0x6b3b4566; BYTE $0x20 // cmp r13w, word [r11 + 32] - LONG $0x2454940f; BYTE $0x48 // sete byte [rsp + 72] - LONG $0x6b3b4566; BYTE $0x22 // cmp r13w, word [r11 + 34] - LONG $0x2454940f; BYTE $0x78 // sete byte [rsp + 120] - LONG $0x6b3b4566; BYTE $0x24 // cmp r13w, word [r11 + 36] - QUAD $0x000000802494940f // sete byte [rsp + 128] - LONG $0x6b3b4566; BYTE $0x26 // cmp r13w, word [r11 + 38] + LONG $0x723b4566; BYTE $0x20 // cmp r14w, word [r10 + 32] LONG $0x2454940f; BYTE $0x60 // sete byte [rsp + 96] - LONG $0x6b3b4566; BYTE $0x28 // cmp r13w, word [r11 + 40] - LONG $0x2454940f; BYTE $0x50 // sete byte [rsp + 80] - LONG $0x6b3b4566; BYTE $0x2a // cmp r13w, word [r11 + 42] + LONG $0x723b4566; BYTE $0x22 // cmp r14w, word [r10 + 34] + QUAD $0x000000a02494940f // sete byte [rsp + 160] + LONG $0x723b4566; BYTE $0x24 // cmp r14w, word [r10 + 36] + LONG $0x2454940f; BYTE $0x78 // sete byte [rsp + 120] + LONG $0x723b4566; BYTE $0x26 // cmp r14w, word [r10 + 38] + LONG $0x2454940f; BYTE $0x70 // sete byte [rsp + 112] + LONG $0x723b4566; BYTE $0x28 // cmp r14w, word [r10 + 40] + LONG $0x2454940f; BYTE $0x48 // sete byte [rsp + 72] + LONG $0x723b4566; BYTE $0x2a // cmp r14w, word [r10 + 42] + LONG $0x2454940f; BYTE $0x58 // sete byte [rsp + 88] + LONG $0x723b4566; BYTE $0x2c // cmp r14w, word [r10 + 44] LONG $0x2454940f; BYTE $0x68 // sete byte [rsp + 104] - LONG $0x6b3b4566; BYTE $0x2c // cmp r13w, word [r11 + 44] + LONG $0x723b4566; BYTE $0x2e // cmp r14w, word [r10 + 46] + LONG $0xd6940f41 // sete r14b + LONG $0x08245c8b // mov ebx, dword [rsp + 8] + LONG $0x5a3b4166; BYTE $0x30 // cmp bx, word [r10 + 48] + LONG $0x2454940f; BYTE $0x28 // sete byte [rsp + 40] + LONG $0x08245c8b // mov ebx, dword [rsp + 8] + LONG $0x5a3b4166; BYTE $0x32 // cmp bx, word [r10 + 50] LONG $0x2454940f; BYTE $0x40 // sete byte [rsp + 64] - LONG $0x6b3b4566; BYTE $0x2e // cmp r13w, word [r11 + 46] - LONG $0xd7940f41 // sete r15b - LONG $0x6b3b4566; BYTE $0x30 // cmp r13w, word [r11 + 48] - LONG $0x2454940f; BYTE $0x18 // sete byte [rsp + 24] - LONG $0x6b3b4566; BYTE $0x32 // cmp r13w, word [r11 + 50] - LONG $0x2454940f; BYTE $0x38 // sete byte [rsp + 56] - LONG $0x6b3b4566; BYTE $0x34 // cmp r13w, word [r11 + 52] + LONG $0x08245c8b // mov ebx, dword [rsp + 8] + LONG $0x5a3b4166; BYTE $0x34 // cmp bx, word [r10 + 52] LONG $0x2454940f; BYTE $0x20 // sete byte [rsp + 32] - LONG $0x6b3b4566; BYTE $0x36 // cmp r13w, word [r11 + 54] - LONG $0x2454940f; BYTE $0x28 // sete byte [rsp + 40] - LONG $0x6b3b4566; BYTE $0x38 // cmp r13w, word [r11 + 56] - LONG $0x2454940f; BYTE $0x10 // sete byte [rsp + 16] - LONG $0x6b3b4566; BYTE $0x3a // cmp r13w, word [r11 + 58] + LONG $0x08245c8b // mov ebx, dword [rsp + 8] + LONG $0x5a3b4166; BYTE $0x36 // cmp bx, word [r10 + 54] + LONG $0x2454940f; BYTE $0x38 // sete byte [rsp + 56] + LONG $0x08245c8b // mov ebx, dword [rsp + 8] + LONG $0x5a3b4166; BYTE $0x38 // cmp bx, word [r10 + 56] + LONG $0x2454940f; BYTE $0x18 // sete byte [rsp + 24] + LONG $0x08245c8b // mov ebx, dword [rsp + 8] + LONG $0x5a3b4166; BYTE $0x3a // cmp bx, word [r10 + 58] LONG $0x2454940f; BYTE $0x30 // sete byte [rsp + 48] - LONG $0x6b3b4566; BYTE $0x3c // cmp r13w, word [r11 + 60] + LONG $0x08245c8b // mov ebx, dword [rsp + 8] + LONG $0x5a3b4166; BYTE $0x3c // cmp bx, word [r10 + 60] LONG $0x2414940f // sete byte [rsp] - LONG $0x6b3b4566; BYTE $0x3e // cmp r13w, word [r11 + 62] + LONG $0x08245c8b // mov ebx, dword [rsp + 8] + LONG $0x5a3b4166; BYTE $0x3e // cmp bx, word [r10 + 62] WORD $0x940f; BYTE $0xd3 // sete bl WORD $0x0040; BYTE $0xff // add dil, dil QUAD $0x000000c024bc0240 // add dil, byte [rsp + 192] WORD $0xe0c0; BYTE $0x06 // shl al, 6 - LONG $0x07e2c041 // shl r10b, 7 - WORD $0x0841; BYTE $0xc2 // or r10b, al - LONG $0x02e6c041 // shl r14b, 2 - WORD $0x0841; BYTE $0xfe // or r14b, dil + LONG $0x07e3c041 // shl r11b, 7 + WORD $0x0841; BYTE $0xc3 // or r11b, al + LONG $0x02e7c041 // shl r15b, 2 + WORD $0x0841; BYTE $0xff // or r15b, dil WORD $0xc900 // add cl, cl LONG $0xd0248c02; WORD $0x0000; BYTE $0x00 // add cl, byte [rsp + 208] - QUAD $0x000000a02484b60f // movzx eax, byte [rsp + 160] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0x0844; BYTE $0xf0 // or al, r14b + LONG $0x03e5c041 // shl r13b, 3 + WORD $0x0845; BYTE $0xfd // or r13b, r15b WORD $0xe2c0; BYTE $0x02 // shl dl, 2 WORD $0xca08 // or dl, cl - LONG $0x244cb60f; BYTE $0x70 // movzx ecx, byte [rsp + 112] + QUAD $0x00000080248cb60f // movzx ecx, byte [rsp + 128] WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0xc108 // or cl, al + WORD $0x0844; BYTE $0xe9 // or cl, r13b WORD $0xcf89 // mov edi, ecx LONG $0x03e6c040 // shl sil, 3 WORD $0x0840; BYTE $0xd6 // or sil, dl - LONG $0x244cb60f; BYTE $0x58 // movzx ecx, byte [rsp + 88] + LONG $0x244cb60f; BYTE $0x50 // movzx ecx, byte [rsp + 80] WORD $0xe1c0; BYTE $0x05 // shl cl, 5 WORD $0x0840; BYTE $0xf9 // or cl, dil LONG $0x04e1c041 // shl r9b, 4 @@ -10545,49 +11092,48 @@ LBB2_93: WORD $0xe2c0; BYTE $0x06 // shl dl, 6 LONG $0x07e0c041 // shl r8b, 7 WORD $0x0841; BYTE $0xd0 // or r8b, dl - WORD $0x0841; BYTE $0xca // or r10b, cl + WORD $0x0841; BYTE $0xcb // or r11b, cl WORD $0x0845; BYTE $0xe0 // or r8b, r12b + QUAD $0x000000a02484b60f // movzx eax, byte [rsp + 160] + WORD $0xc000 // add al, al + LONG $0x60244402 // add al, byte [rsp + 96] LONG $0x244cb60f; BYTE $0x78 // movzx ecx, byte [rsp + 120] - WORD $0xc900 // add cl, cl - LONG $0x48244c02 // add cl, byte [rsp + 72] - WORD $0xca89 // mov edx, ecx - QUAD $0x00000080248cb60f // movzx ecx, byte [rsp + 128] WORD $0xe1c0; BYTE $0x02 // shl cl, 2 - WORD $0xd108 // or cl, dl + WORD $0xc108 // or cl, al WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x60 // movzx ecx, byte [rsp + 96] + LONG $0x244cb60f; BYTE $0x70 // movzx ecx, byte [rsp + 112] WORD $0xe1c0; BYTE $0x03 // shl cl, 3 WORD $0xd108 // or cl, dl WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x50 // movzx ecx, byte [rsp + 80] + LONG $0x244cb60f; BYTE $0x48 // movzx ecx, byte [rsp + 72] WORD $0xe1c0; BYTE $0x04 // shl cl, 4 WORD $0xd108 // or cl, dl WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x68 // movzx ecx, byte [rsp + 104] + LONG $0x244cb60f; BYTE $0x58 // movzx ecx, byte [rsp + 88] WORD $0xe1c0; BYTE $0x05 // shl cl, 5 WORD $0xd108 // or cl, dl WORD $0xce89 // mov esi, ecx - LONG $0x244c8b48; BYTE $0x08 // mov rcx, qword [rsp + 8] - WORD $0x8844; BYTE $0x11 // mov byte [rcx], r10b - LONG $0x2454b60f; BYTE $0x40 // movzx edx, byte [rsp + 64] + LONG $0x244c8b48; BYTE $0x10 // mov rcx, qword [rsp + 16] + WORD $0x8844; BYTE $0x19 // mov byte [rcx], r11b + LONG $0x2454b60f; BYTE $0x68 // movzx edx, byte [rsp + 104] WORD $0xe2c0; BYTE $0x06 // shl dl, 6 - LONG $0x07e7c041 // shl r15b, 7 - WORD $0x0841; BYTE $0xd7 // or r15b, dl + LONG $0x07e6c041 // shl r14b, 7 + WORD $0x0841; BYTE $0xd6 // or r14b, dl LONG $0x01418844 // mov byte [rcx + 1], r8b - WORD $0x0841; BYTE $0xf7 // or r15b, sil - LONG $0x2444b60f; BYTE $0x38 // movzx eax, byte [rsp + 56] + WORD $0x0841; BYTE $0xf6 // or r14b, sil + LONG $0x2444b60f; BYTE $0x40 // movzx eax, byte [rsp + 64] WORD $0xc000 // add al, al - LONG $0x18244402 // add al, byte [rsp + 24] + LONG $0x28244402 // add al, byte [rsp + 40] WORD $0xc289 // mov edx, eax LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] WORD $0xe0c0; BYTE $0x02 // shl al, 2 WORD $0xd008 // or al, dl WORD $0xc289 // mov edx, eax - LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] + LONG $0x2444b60f; BYTE $0x38 // movzx eax, byte [rsp + 56] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0xd008 // or al, dl WORD $0xc289 // mov edx, eax - LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] + LONG $0x2444b60f; BYTE $0x18 // movzx eax, byte [rsp + 24] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0xd008 // or al, dl WORD $0xc289 // mov edx, eax @@ -10599,19 +11145,20 @@ LBB2_93: WORD $0xe3c0; BYTE $0x07 // shl bl, 7 WORD $0xd308 // or bl, dl WORD $0xc308 // or bl, al - LONG $0x02798844 // mov byte [rcx + 2], r15b + LONG $0x02718844 // mov byte [rcx + 2], r14b + LONG $0x24748b44; BYTE $0x08 // mov r14d, dword [rsp + 8] WORD $0x5988; BYTE $0x03 // mov byte [rcx + 3], bl - LONG $0x40738d49 // lea rsi, [r11 + 64] + LONG $0x40728d49 // lea rsi, [r10 + 64] LONG $0x04c18348 // add rcx, 4 - LONG $0x244c8948; BYTE $0x08 // mov qword [rsp + 8], rcx + LONG $0x244c8948; BYTE $0x10 // mov qword [rsp + 16], rcx QUAD $0x0000008824848348; BYTE $0xff // add qword [rsp + 136], -1 JNE LBB2_93 QUAD $0x0000009024948b4c // mov r10, qword [rsp + 144] - QUAD $0x0000009824b48b4c // mov r14, qword [rsp + 152] + QUAD $0x0000009824bc8b4c // mov r15, qword [rsp + 152] JMP LBB2_139 LBB2_95: - LONG $0x2eb70f44 // movzx r13d, word [rsi] + LONG $0x36b70f44 // movzx r14d, word [rsi] LONG $0x1f7a8d4d // lea r15, [r10 + 31] WORD $0x854d; BYTE $0xd2 // test r10, r10 LONG $0xfa490f4d // cmovns r15, r10 @@ -10625,7 +11172,7 @@ LBB2_95: LONG $0x241c8b4c // mov r11, qword [rsp] LBB2_97: - LONG $0x2a3b4466 // cmp r13w, word [rdx] + LONG $0x323b4466 // cmp r14w, word [rdx] LONG $0x02528d48 // lea rdx, [rdx + 2] WORD $0x940f; BYTE $0xd3 // sete bl WORD $0xdbf6 // neg bl @@ -10649,121 +11196,129 @@ LBB2_97: LONG $0x24048348; BYTE $0x01 // add qword [rsp], 1 LBB2_99: - LONG $0x05ffc149 // sar r15, 5 - LONG $0x20fa8349 // cmp r10, 32 - JL LBB2_142 - LONG $0x08ff8349 // cmp r15, 8 - QUAD $0x000000902494894c // mov qword [rsp + 144], r10 - QUAD $0x0000009824bc894c // mov qword [rsp + 152], r15 + LONG $0x05ffc149 // sar r15, 5 + LONG $0x20fa8349 // cmp r10, 32 + JL LBB2_143 + LONG $0x08ff8349 // cmp r15, 8 + LONG $0x24748944; BYTE $0x08 // mov dword [rsp + 8], r14d + QUAD $0x000000902494894c // mov qword [rsp + 144], r10 + QUAD $0x0000009824bc894c // mov qword [rsp + 152], r15 JB LBB2_103 - WORD $0x894c; BYTE $0xf8 // mov rax, r15 - LONG $0x06e0c148 // shl rax, 6 - WORD $0x0148; BYTE $0xd0 // add rax, rdx - LONG $0x24043948 // cmp qword [rsp], rax - JAE LBB2_194 - LONG $0x24048b48 // mov rax, qword [rsp] - LONG $0xb8048d4a // lea rax, [rax + 4*r15] - WORD $0x3948; BYTE $0xd0 // cmp rax, rdx - JBE LBB2_194 + WORD $0x894c; BYTE $0xf8 // mov rax, r15 + LONG $0x06e0c148 // shl rax, 6 + WORD $0x0148; BYTE $0xd0 // add rax, rdx + LONG $0x24043948 // cmp qword [rsp], rax + JAE LBB2_191 + LONG $0x24048b48 // mov rax, qword [rsp] + LONG $0xb8048d4a // lea rax, [rax + 4*r15] + WORD $0x3948; BYTE $0xd0 // cmp rax, rdx + JBE LBB2_191 LBB2_103: WORD $0xc031 // xor eax, eax LONG $0x24448948; BYTE $0x20 // mov qword [rsp + 32], rax WORD $0x8948; BYTE $0xd6 // mov rsi, rdx - LONG $0x24348b4c // mov r14, qword [rsp] + LONG $0x24048b48 // mov rax, qword [rsp] + LONG $0x24448948; BYTE $0x10 // mov qword [rsp + 16], rax LBB2_104: - LONG $0x2474894c; BYTE $0x08 // mov qword [rsp + 8], r14 LONG $0x247c2b4c; BYTE $0x20 // sub r15, qword [rsp + 32] QUAD $0x0000008824bc894c // mov qword [rsp + 136], r15 LBB2_105: - WORD $0x8949; BYTE $0xf3 // mov r11, rsi - LONG $0x2e3b4466 // cmp r13w, word [rsi] + WORD $0x8949; BYTE $0xf2 // mov r10, rsi + LONG $0x363b4466 // cmp r14w, word [rsi] QUAD $0x000000c02494940f // sete byte [rsp + 192] - LONG $0x6e3b4466; BYTE $0x02 // cmp r13w, word [rsi + 2] + LONG $0x763b4466; BYTE $0x02 // cmp r14w, word [rsi + 2] LONG $0xd7940f40 // sete dil - LONG $0x6e3b4466; BYTE $0x04 // cmp r13w, word [rsi + 4] - LONG $0xd6940f41 // sete r14b - LONG $0x6e3b4466; BYTE $0x06 // cmp r13w, word [rsi + 6] - QUAD $0x000000a02494940f // sete byte [rsp + 160] - LONG $0x6e3b4466; BYTE $0x08 // cmp r13w, word [rsi + 8] - LONG $0x2454940f; BYTE $0x70 // sete byte [rsp + 112] - LONG $0x6e3b4466; BYTE $0x0a // cmp r13w, word [rsi + 10] - LONG $0x2454940f; BYTE $0x58 // sete byte [rsp + 88] - LONG $0x6e3b4466; BYTE $0x0c // cmp r13w, word [rsi + 12] + LONG $0x763b4466; BYTE $0x04 // cmp r14w, word [rsi + 4] + LONG $0xd7940f41 // sete r15b + LONG $0x763b4466; BYTE $0x06 // cmp r14w, word [rsi + 6] + LONG $0xd5940f41 // sete r13b + LONG $0x763b4466; BYTE $0x08 // cmp r14w, word [rsi + 8] + QUAD $0x000000802494940f // sete byte [rsp + 128] + LONG $0x763b4466; BYTE $0x0a // cmp r14w, word [rsi + 10] + LONG $0x2454940f; BYTE $0x50 // sete byte [rsp + 80] + LONG $0x763b4466; BYTE $0x0c // cmp r14w, word [rsi + 12] WORD $0x940f; BYTE $0xd0 // sete al - LONG $0x6e3b4466; BYTE $0x0e // cmp r13w, word [rsi + 14] - LONG $0xd2940f41 // sete r10b - LONG $0x6e3b4466; BYTE $0x10 // cmp r13w, word [rsi + 16] + LONG $0x763b4466; BYTE $0x0e // cmp r14w, word [rsi + 14] + LONG $0xd3940f41 // sete r11b + LONG $0x763b4466; BYTE $0x10 // cmp r14w, word [rsi + 16] QUAD $0x000000d02494940f // sete byte [rsp + 208] - LONG $0x6e3b4466; BYTE $0x12 // cmp r13w, word [rsi + 18] + LONG $0x763b4466; BYTE $0x12 // cmp r14w, word [rsi + 18] WORD $0x940f; BYTE $0xd1 // sete cl - LONG $0x6e3b4466; BYTE $0x14 // cmp r13w, word [rsi + 20] + LONG $0x763b4466; BYTE $0x14 // cmp r14w, word [rsi + 20] WORD $0x940f; BYTE $0xd2 // sete dl - LONG $0x6e3b4466; BYTE $0x16 // cmp r13w, word [rsi + 22] + LONG $0x763b4466; BYTE $0x16 // cmp r14w, word [rsi + 22] LONG $0xd6940f40 // sete sil - LONG $0x6b3b4566; BYTE $0x18 // cmp r13w, word [r11 + 24] + LONG $0x723b4566; BYTE $0x18 // cmp r14w, word [r10 + 24] LONG $0xd1940f41 // sete r9b - LONG $0x6b3b4566; BYTE $0x1a // cmp r13w, word [r11 + 26] + LONG $0x723b4566; BYTE $0x1a // cmp r14w, word [r10 + 26] LONG $0xd4940f41 // sete r12b - LONG $0x6b3b4566; BYTE $0x1c // cmp r13w, word [r11 + 28] + LONG $0x723b4566; BYTE $0x1c // cmp r14w, word [r10 + 28] QUAD $0x000000b02494940f // sete byte [rsp + 176] - LONG $0x6b3b4566; BYTE $0x1e // cmp r13w, word [r11 + 30] + LONG $0x723b4566; BYTE $0x1e // cmp r14w, word [r10 + 30] LONG $0xd0940f41 // sete r8b - LONG $0x6b3b4566; BYTE $0x20 // cmp r13w, word [r11 + 32] - LONG $0x2454940f; BYTE $0x48 // sete byte [rsp + 72] - LONG $0x6b3b4566; BYTE $0x22 // cmp r13w, word [r11 + 34] - LONG $0x2454940f; BYTE $0x78 // sete byte [rsp + 120] - LONG $0x6b3b4566; BYTE $0x24 // cmp r13w, word [r11 + 36] - QUAD $0x000000802494940f // sete byte [rsp + 128] - LONG $0x6b3b4566; BYTE $0x26 // cmp r13w, word [r11 + 38] + LONG $0x723b4566; BYTE $0x20 // cmp r14w, word [r10 + 32] LONG $0x2454940f; BYTE $0x60 // sete byte [rsp + 96] - LONG $0x6b3b4566; BYTE $0x28 // cmp r13w, word [r11 + 40] - LONG $0x2454940f; BYTE $0x50 // sete byte [rsp + 80] - LONG $0x6b3b4566; BYTE $0x2a // cmp r13w, word [r11 + 42] + LONG $0x723b4566; BYTE $0x22 // cmp r14w, word [r10 + 34] + QUAD $0x000000a02494940f // sete byte [rsp + 160] + LONG $0x723b4566; BYTE $0x24 // cmp r14w, word [r10 + 36] + LONG $0x2454940f; BYTE $0x78 // sete byte [rsp + 120] + LONG $0x723b4566; BYTE $0x26 // cmp r14w, word [r10 + 38] + LONG $0x2454940f; BYTE $0x70 // sete byte [rsp + 112] + LONG $0x723b4566; BYTE $0x28 // cmp r14w, word [r10 + 40] + LONG $0x2454940f; BYTE $0x48 // sete byte [rsp + 72] + LONG $0x723b4566; BYTE $0x2a // cmp r14w, word [r10 + 42] + LONG $0x2454940f; BYTE $0x58 // sete byte [rsp + 88] + LONG $0x723b4566; BYTE $0x2c // cmp r14w, word [r10 + 44] LONG $0x2454940f; BYTE $0x68 // sete byte [rsp + 104] - LONG $0x6b3b4566; BYTE $0x2c // cmp r13w, word [r11 + 44] + LONG $0x723b4566; BYTE $0x2e // cmp r14w, word [r10 + 46] + LONG $0xd6940f41 // sete r14b + LONG $0x08245c8b // mov ebx, dword [rsp + 8] + LONG $0x5a3b4166; BYTE $0x30 // cmp bx, word [r10 + 48] + LONG $0x2454940f; BYTE $0x28 // sete byte [rsp + 40] + LONG $0x08245c8b // mov ebx, dword [rsp + 8] + LONG $0x5a3b4166; BYTE $0x32 // cmp bx, word [r10 + 50] LONG $0x2454940f; BYTE $0x40 // sete byte [rsp + 64] - LONG $0x6b3b4566; BYTE $0x2e // cmp r13w, word [r11 + 46] - LONG $0xd7940f41 // sete r15b - LONG $0x6b3b4566; BYTE $0x30 // cmp r13w, word [r11 + 48] - LONG $0x2454940f; BYTE $0x18 // sete byte [rsp + 24] - LONG $0x6b3b4566; BYTE $0x32 // cmp r13w, word [r11 + 50] - LONG $0x2454940f; BYTE $0x38 // sete byte [rsp + 56] - LONG $0x6b3b4566; BYTE $0x34 // cmp r13w, word [r11 + 52] + LONG $0x08245c8b // mov ebx, dword [rsp + 8] + LONG $0x5a3b4166; BYTE $0x34 // cmp bx, word [r10 + 52] LONG $0x2454940f; BYTE $0x20 // sete byte [rsp + 32] - LONG $0x6b3b4566; BYTE $0x36 // cmp r13w, word [r11 + 54] - LONG $0x2454940f; BYTE $0x28 // sete byte [rsp + 40] - LONG $0x6b3b4566; BYTE $0x38 // cmp r13w, word [r11 + 56] - LONG $0x2454940f; BYTE $0x10 // sete byte [rsp + 16] - LONG $0x6b3b4566; BYTE $0x3a // cmp r13w, word [r11 + 58] + LONG $0x08245c8b // mov ebx, dword [rsp + 8] + LONG $0x5a3b4166; BYTE $0x36 // cmp bx, word [r10 + 54] + LONG $0x2454940f; BYTE $0x38 // sete byte [rsp + 56] + LONG $0x08245c8b // mov ebx, dword [rsp + 8] + LONG $0x5a3b4166; BYTE $0x38 // cmp bx, word [r10 + 56] + LONG $0x2454940f; BYTE $0x18 // sete byte [rsp + 24] + LONG $0x08245c8b // mov ebx, dword [rsp + 8] + LONG $0x5a3b4166; BYTE $0x3a // cmp bx, word [r10 + 58] LONG $0x2454940f; BYTE $0x30 // sete byte [rsp + 48] - LONG $0x6b3b4566; BYTE $0x3c // cmp r13w, word [r11 + 60] + LONG $0x08245c8b // mov ebx, dword [rsp + 8] + LONG $0x5a3b4166; BYTE $0x3c // cmp bx, word [r10 + 60] LONG $0x2414940f // sete byte [rsp] - LONG $0x6b3b4566; BYTE $0x3e // cmp r13w, word [r11 + 62] + LONG $0x08245c8b // mov ebx, dword [rsp + 8] + LONG $0x5a3b4166; BYTE $0x3e // cmp bx, word [r10 + 62] WORD $0x940f; BYTE $0xd3 // sete bl WORD $0x0040; BYTE $0xff // add dil, dil QUAD $0x000000c024bc0240 // add dil, byte [rsp + 192] WORD $0xe0c0; BYTE $0x06 // shl al, 6 - LONG $0x07e2c041 // shl r10b, 7 - WORD $0x0841; BYTE $0xc2 // or r10b, al - LONG $0x02e6c041 // shl r14b, 2 - WORD $0x0841; BYTE $0xfe // or r14b, dil + LONG $0x07e3c041 // shl r11b, 7 + WORD $0x0841; BYTE $0xc3 // or r11b, al + LONG $0x02e7c041 // shl r15b, 2 + WORD $0x0841; BYTE $0xff // or r15b, dil WORD $0xc900 // add cl, cl LONG $0xd0248c02; WORD $0x0000; BYTE $0x00 // add cl, byte [rsp + 208] - QUAD $0x000000a02484b60f // movzx eax, byte [rsp + 160] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0x0844; BYTE $0xf0 // or al, r14b + LONG $0x03e5c041 // shl r13b, 3 + WORD $0x0845; BYTE $0xfd // or r13b, r15b WORD $0xe2c0; BYTE $0x02 // shl dl, 2 WORD $0xca08 // or dl, cl - LONG $0x244cb60f; BYTE $0x70 // movzx ecx, byte [rsp + 112] + QUAD $0x00000080248cb60f // movzx ecx, byte [rsp + 128] WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0xc108 // or cl, al + WORD $0x0844; BYTE $0xe9 // or cl, r13b WORD $0xcf89 // mov edi, ecx LONG $0x03e6c040 // shl sil, 3 WORD $0x0840; BYTE $0xd6 // or sil, dl - LONG $0x244cb60f; BYTE $0x58 // movzx ecx, byte [rsp + 88] + LONG $0x244cb60f; BYTE $0x50 // movzx ecx, byte [rsp + 80] WORD $0xe1c0; BYTE $0x05 // shl cl, 5 WORD $0x0840; BYTE $0xf9 // or cl, dil LONG $0x04e1c041 // shl r9b, 4 @@ -10774,49 +11329,48 @@ LBB2_105: WORD $0xe2c0; BYTE $0x06 // shl dl, 6 LONG $0x07e0c041 // shl r8b, 7 WORD $0x0841; BYTE $0xd0 // or r8b, dl - WORD $0x0841; BYTE $0xca // or r10b, cl + WORD $0x0841; BYTE $0xcb // or r11b, cl WORD $0x0845; BYTE $0xe0 // or r8b, r12b + QUAD $0x000000a02484b60f // movzx eax, byte [rsp + 160] + WORD $0xc000 // add al, al + LONG $0x60244402 // add al, byte [rsp + 96] LONG $0x244cb60f; BYTE $0x78 // movzx ecx, byte [rsp + 120] - WORD $0xc900 // add cl, cl - LONG $0x48244c02 // add cl, byte [rsp + 72] - WORD $0xca89 // mov edx, ecx - QUAD $0x00000080248cb60f // movzx ecx, byte [rsp + 128] WORD $0xe1c0; BYTE $0x02 // shl cl, 2 - WORD $0xd108 // or cl, dl + WORD $0xc108 // or cl, al WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x60 // movzx ecx, byte [rsp + 96] + LONG $0x244cb60f; BYTE $0x70 // movzx ecx, byte [rsp + 112] WORD $0xe1c0; BYTE $0x03 // shl cl, 3 WORD $0xd108 // or cl, dl WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x50 // movzx ecx, byte [rsp + 80] + LONG $0x244cb60f; BYTE $0x48 // movzx ecx, byte [rsp + 72] WORD $0xe1c0; BYTE $0x04 // shl cl, 4 WORD $0xd108 // or cl, dl WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x68 // movzx ecx, byte [rsp + 104] + LONG $0x244cb60f; BYTE $0x58 // movzx ecx, byte [rsp + 88] WORD $0xe1c0; BYTE $0x05 // shl cl, 5 WORD $0xd108 // or cl, dl WORD $0xce89 // mov esi, ecx - LONG $0x244c8b48; BYTE $0x08 // mov rcx, qword [rsp + 8] - WORD $0x8844; BYTE $0x11 // mov byte [rcx], r10b - LONG $0x2454b60f; BYTE $0x40 // movzx edx, byte [rsp + 64] + LONG $0x244c8b48; BYTE $0x10 // mov rcx, qword [rsp + 16] + WORD $0x8844; BYTE $0x19 // mov byte [rcx], r11b + LONG $0x2454b60f; BYTE $0x68 // movzx edx, byte [rsp + 104] WORD $0xe2c0; BYTE $0x06 // shl dl, 6 - LONG $0x07e7c041 // shl r15b, 7 - WORD $0x0841; BYTE $0xd7 // or r15b, dl + LONG $0x07e6c041 // shl r14b, 7 + WORD $0x0841; BYTE $0xd6 // or r14b, dl LONG $0x01418844 // mov byte [rcx + 1], r8b - WORD $0x0841; BYTE $0xf7 // or r15b, sil - LONG $0x2444b60f; BYTE $0x38 // movzx eax, byte [rsp + 56] + WORD $0x0841; BYTE $0xf6 // or r14b, sil + LONG $0x2444b60f; BYTE $0x40 // movzx eax, byte [rsp + 64] WORD $0xc000 // add al, al - LONG $0x18244402 // add al, byte [rsp + 24] + LONG $0x28244402 // add al, byte [rsp + 40] WORD $0xc289 // mov edx, eax LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] WORD $0xe0c0; BYTE $0x02 // shl al, 2 WORD $0xd008 // or al, dl WORD $0xc289 // mov edx, eax - LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] + LONG $0x2444b60f; BYTE $0x38 // movzx eax, byte [rsp + 56] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0xd008 // or al, dl WORD $0xc289 // mov edx, eax - LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] + LONG $0x2444b60f; BYTE $0x18 // movzx eax, byte [rsp + 24] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0xd008 // or al, dl WORD $0xc289 // mov edx, eax @@ -10828,17 +11382,17 @@ LBB2_105: WORD $0xe3c0; BYTE $0x07 // shl bl, 7 WORD $0xd308 // or bl, dl WORD $0xc308 // or bl, al - LONG $0x02798844 // mov byte [rcx + 2], r15b + LONG $0x02718844 // mov byte [rcx + 2], r14b + LONG $0x24748b44; BYTE $0x08 // mov r14d, dword [rsp + 8] WORD $0x5988; BYTE $0x03 // mov byte [rcx + 3], bl - LONG $0x40738d49 // lea rsi, [r11 + 64] + LONG $0x40728d49 // lea rsi, [r10 + 64] LONG $0x04c18348 // add rcx, 4 - LONG $0x244c8948; BYTE $0x08 // mov qword [rsp + 8], rcx + LONG $0x244c8948; BYTE $0x10 // mov qword [rsp + 16], rcx QUAD $0x0000008824848348; BYTE $0xff // add qword [rsp + 136], -1 JNE LBB2_105 QUAD $0x0000009024948b4c // mov r10, qword [rsp + 144] QUAD $0x0000009824bc8b4c // mov r15, qword [rsp + 152] - LONG $0x24748b4c; BYTE $0x08 // mov r14, qword [rsp + 8] - JMP LBB2_143 + JMP LBB2_144 LBB2_107: WORD $0x8b4c; BYTE $0x2e // mov r13, qword [rsi] @@ -10890,7 +11444,7 @@ LBB2_113: WORD $0x3b4c; BYTE $0x2a // cmp r13, qword [rdx] QUAD $0x000000c02494940f // sete byte [rsp + 192] LONG $0x086a3b4c // cmp r13, qword [rdx + 8] - LONG $0xd7940f40 // sete dil + LONG $0xd2940f41 // sete r10b LONG $0x106a3b4c // cmp r13, qword [rdx + 16] LONG $0xd6940f41 // sete r14b LONG $0x186a3b4c // cmp r13, qword [rdx + 24] @@ -10900,9 +11454,9 @@ LBB2_113: LONG $0x286a3b4c // cmp r13, qword [rdx + 40] LONG $0x2454940f; BYTE $0x58 // sete byte [rsp + 88] LONG $0x306a3b4c // cmp r13, qword [rdx + 48] - WORD $0x940f; BYTE $0xd0 // sete al + WORD $0x940f; BYTE $0xd3 // sete bl LONG $0x386a3b4c // cmp r13, qword [rdx + 56] - LONG $0xd3940f41 // sete r11b + LONG $0xd7940f40 // sete dil LONG $0x406a3b4c // cmp r13, qword [rdx + 64] QUAD $0x000000d02494940f // sete byte [rsp + 208] LONG $0x486a3b4c // cmp r13, qword [rdx + 72] @@ -10912,13 +11466,13 @@ LBB2_113: LONG $0x586a3b4c // cmp r13, qword [rdx + 88] LONG $0xd1940f41 // sete r9b LONG $0x606a3b4c // cmp r13, qword [rdx + 96] - LONG $0xd2940f41 // sete r10b + LONG $0xd3940f41 // sete r11b LONG $0x686a3b4c // cmp r13, qword [rdx + 104] LONG $0xd4940f41 // sete r12b LONG $0x706a3b4c // cmp r13, qword [rdx + 112] QUAD $0x000000b02494940f // sete byte [rsp + 176] LONG $0x786a3b4c // cmp r13, qword [rdx + 120] - WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0x940f; BYTE $0xd0 // sete al LONG $0x80aa3b4c; WORD $0x0000; BYTE $0x00 // cmp r13, qword [rdx + 128] LONG $0x2454940f; BYTE $0x48 // sete byte [rsp + 72] LONG $0x88aa3b4c; WORD $0x0000; BYTE $0x00 // cmp r13, qword [rdx + 136] @@ -10938,107 +11492,106 @@ LBB2_113: LONG $0xc0aa3b4c; WORD $0x0000; BYTE $0x00 // cmp r13, qword [rdx + 192] LONG $0x2454940f; BYTE $0x18 // sete byte [rsp + 24] LONG $0xc8aa3b4c; WORD $0x0000; BYTE $0x00 // cmp r13, qword [rdx + 200] - LONG $0x2454940f; BYTE $0x38 // sete byte [rsp + 56] - LONG $0xd0aa3b4c; WORD $0x0000; BYTE $0x00 // cmp r13, qword [rdx + 208] LONG $0x2454940f; BYTE $0x20 // sete byte [rsp + 32] + LONG $0xd0aa3b4c; WORD $0x0000; BYTE $0x00 // cmp r13, qword [rdx + 208] + LONG $0x2454940f; BYTE $0x38 // sete byte [rsp + 56] LONG $0xd8aa3b4c; WORD $0x0000; BYTE $0x00 // cmp r13, qword [rdx + 216] LONG $0x2454940f; BYTE $0x28 // sete byte [rsp + 40] LONG $0xe0aa3b4c; WORD $0x0000; BYTE $0x00 // cmp r13, qword [rdx + 224] - LONG $0x2454940f; BYTE $0x10 // sete byte [rsp + 16] - LONG $0xe8aa3b4c; WORD $0x0000; BYTE $0x00 // cmp r13, qword [rdx + 232] LONG $0x2454940f; BYTE $0x30 // sete byte [rsp + 48] + LONG $0xe8aa3b4c; WORD $0x0000; BYTE $0x00 // cmp r13, qword [rdx + 232] + LONG $0x2454940f; BYTE $0x10 // sete byte [rsp + 16] LONG $0xf0aa3b4c; WORD $0x0000; BYTE $0x00 // cmp r13, qword [rdx + 240] LONG $0x2454940f; BYTE $0x08 // sete byte [rsp + 8] LONG $0xf8aa3b4c; WORD $0x0000; BYTE $0x00 // cmp r13, qword [rdx + 248] - WORD $0x940f; BYTE $0xd3 // sete bl - WORD $0x0040; BYTE $0xff // add dil, dil - QUAD $0x000000c024bc0240 // add dil, byte [rsp + 192] - WORD $0xe0c0; BYTE $0x06 // shl al, 6 - LONG $0x07e3c041 // shl r11b, 7 - WORD $0x0841; BYTE $0xc3 // or r11b, al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0x0045; BYTE $0xd2 // add r10b, r10b + QUAD $0x000000c024940244 // add r10b, byte [rsp + 192] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 + LONG $0x07e7c040 // shl dil, 7 + WORD $0x0840; BYTE $0xdf // or dil, bl LONG $0x02e6c041 // shl r14b, 2 - WORD $0x0841; BYTE $0xfe // or r14b, dil + WORD $0x0845; BYTE $0xd6 // or r14b, r10b WORD $0x0040; BYTE $0xf6 // add sil, sil QUAD $0x000000d024b40240 // add sil, byte [rsp + 208] - QUAD $0x000000a02484b60f // movzx eax, byte [rsp + 160] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0x0844; BYTE $0xf0 // or al, r14b - WORD $0xc789 // mov edi, eax + QUAD $0x000000a0249cb60f // movzx ebx, byte [rsp + 160] + WORD $0xe3c0; BYTE $0x03 // shl bl, 3 + WORD $0x0844; BYTE $0xf3 // or bl, r14b + WORD $0x8941; BYTE $0xda // mov r10d, ebx LONG $0x02e0c041 // shl r8b, 2 WORD $0x0841; BYTE $0xf0 // or r8b, sil - LONG $0x2444b60f; BYTE $0x70 // movzx eax, byte [rsp + 112] - WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0x0840; BYTE $0xf8 // or al, dil - WORD $0xc789 // mov edi, eax + LONG $0x245cb60f; BYTE $0x70 // movzx ebx, byte [rsp + 112] + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0x0844; BYTE $0xd3 // or bl, r10b + WORD $0xde89 // mov esi, ebx LONG $0x03e1c041 // shl r9b, 3 WORD $0x0845; BYTE $0xc1 // or r9b, r8b - LONG $0x2444b60f; BYTE $0x58 // movzx eax, byte [rsp + 88] - WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0x0840; BYTE $0xf8 // or al, dil - LONG $0x04e2c041 // shl r10b, 4 - WORD $0x0845; BYTE $0xca // or r10b, r9b + LONG $0x245cb60f; BYTE $0x58 // movzx ebx, byte [rsp + 88] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + WORD $0x0840; BYTE $0xf3 // or bl, sil + LONG $0x04e3c041 // shl r11b, 4 + WORD $0x0845; BYTE $0xcb // or r11b, r9b LONG $0x05e4c041 // shl r12b, 5 - WORD $0x0845; BYTE $0xd4 // or r12b, r10b - QUAD $0x000000b024b4b60f // movzx esi, byte [rsp + 176] - LONG $0x06e6c040 // shl sil, 6 - WORD $0xe1c0; BYTE $0x07 // shl cl, 7 - WORD $0x0840; BYTE $0xf1 // or cl, sil - WORD $0x0841; BYTE $0xc3 // or r11b, al - WORD $0x0844; BYTE $0xe1 // or cl, r12b - LONG $0x2444b60f; BYTE $0x78 // movzx eax, byte [rsp + 120] + WORD $0x0845; BYTE $0xdc // or r12b, r11b + LONG $0x24348b48 // mov rsi, qword [rsp] + QUAD $0x0000b02484b60f44; BYTE $0x00 // movzx r8d, byte [rsp + 176] + LONG $0x06e0c041 // shl r8b, 6 + WORD $0xe0c0; BYTE $0x07 // shl al, 7 + WORD $0x0844; BYTE $0xc0 // or al, r8b + WORD $0x0840; BYTE $0xdf // or dil, bl + WORD $0x0844; BYTE $0xe0 // or al, r12b + LONG $0x245cb60f; BYTE $0x78 // movzx ebx, byte [rsp + 120] + WORD $0xdb00 // add bl, bl + LONG $0x48245c02 // add bl, byte [rsp + 72] + WORD $0x8941; BYTE $0xd8 // mov r8d, ebx + QUAD $0x00000080249cb60f // movzx ebx, byte [rsp + 128] + WORD $0xe3c0; BYTE $0x02 // shl bl, 2 + WORD $0x0844; BYTE $0xc3 // or bl, r8b + WORD $0x8941; BYTE $0xd8 // mov r8d, ebx + LONG $0x245cb60f; BYTE $0x60 // movzx ebx, byte [rsp + 96] + WORD $0xe3c0; BYTE $0x03 // shl bl, 3 + WORD $0x0844; BYTE $0xc3 // or bl, r8b + WORD $0x8941; BYTE $0xd8 // mov r8d, ebx + LONG $0x245cb60f; BYTE $0x50 // movzx ebx, byte [rsp + 80] + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0x0844; BYTE $0xc3 // or bl, r8b + WORD $0x8941; BYTE $0xd8 // mov r8d, ebx + LONG $0x245cb60f; BYTE $0x68 // movzx ebx, byte [rsp + 104] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + WORD $0x0844; BYTE $0xc3 // or bl, r8b + WORD $0x8840; BYTE $0x3e // mov byte [rsi], dil + LONG $0x247cb60f; BYTE $0x40 // movzx edi, byte [rsp + 64] + LONG $0x06e7c040 // shl dil, 6 + LONG $0x07e7c041 // shl r15b, 7 + WORD $0x0841; BYTE $0xff // or r15b, dil + WORD $0x4688; BYTE $0x01 // mov byte [rsi + 1], al + WORD $0x0841; BYTE $0xdf // or r15b, bl + LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] WORD $0xc000 // add al, al - LONG $0x48244402 // add al, byte [rsp + 72] - WORD $0xc689 // mov esi, eax - QUAD $0x000000802484b60f // movzx eax, byte [rsp + 128] + LONG $0x18244402 // add al, byte [rsp + 24] + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x38 // movzx eax, byte [rsp + 56] WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0x0840; BYTE $0xf0 // or al, sil - WORD $0xc689 // mov esi, eax - LONG $0x2444b60f; BYTE $0x60 // movzx eax, byte [rsp + 96] + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0x0840; BYTE $0xf0 // or al, sil - WORD $0xc689 // mov esi, eax - LONG $0x2444b60f; BYTE $0x50 // movzx eax, byte [rsp + 80] + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0x0840; BYTE $0xf0 // or al, sil - WORD $0xc689 // mov esi, eax - LONG $0x2444b60f; BYTE $0x68 // movzx eax, byte [rsp + 104] - WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0x0840; BYTE $0xf0 // or al, sil - WORD $0xc789 // mov edi, eax - LONG $0x24048b48 // mov rax, qword [rsp] - WORD $0x8844; BYTE $0x18 // mov byte [rax], r11b - LONG $0x24348b48 // mov rsi, qword [rsp] - LONG $0x2444b60f; BYTE $0x40 // movzx eax, byte [rsp + 64] - WORD $0xe0c0; BYTE $0x06 // shl al, 6 - LONG $0x07e7c041 // shl r15b, 7 - WORD $0x0841; BYTE $0xc7 // or r15b, al - WORD $0x4e88; BYTE $0x01 // mov byte [rsi + 1], cl - WORD $0x0841; BYTE $0xff // or r15b, dil - LONG $0x2444b60f; BYTE $0x38 // movzx eax, byte [rsp + 56] - WORD $0xc000 // add al, al - LONG $0x18244402 // add al, byte [rsp + 24] - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] - WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] - WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0xc808 // or al, cl - LONG $0x244cb60f; BYTE $0x30 // movzx ecx, byte [rsp + 48] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0xd808 // or al, bl + LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 + WORD $0xe1c0; BYTE $0x07 // shl cl, 7 + WORD $0xd908 // or cl, bl WORD $0xc108 // or cl, al - LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] - WORD $0xe0c0; BYTE $0x06 // shl al, 6 - WORD $0xe3c0; BYTE $0x07 // shl bl, 7 - WORD $0xc308 // or bl, al - WORD $0xcb08 // or bl, cl LONG $0x027e8844 // mov byte [rsi + 2], r15b - WORD $0x5e88; BYTE $0x03 // mov byte [rsi + 3], bl + WORD $0x4e88; BYTE $0x03 // mov byte [rsi + 3], cl LONG $0x00c28148; WORD $0x0001; BYTE $0x00 // add rdx, 256 LONG $0x04c68348 // add rsi, 4 LONG $0x24348948 // mov qword [rsp], rsi @@ -11050,16 +11603,16 @@ LBB2_113: LBB2_115: LONG $0x05e3c149 // shl r11, 5 WORD $0x394d; BYTE $0xd3 // cmp r11, r10 - JGE LBB2_176 + JGE LBB2_177 WORD $0x894d; BYTE $0xd0 // mov r8, r10 WORD $0x294d; BYTE $0xd8 // sub r8, r11 WORD $0xf749; BYTE $0xd3 // not r11 WORD $0x014d; BYTE $0xd3 // add r11, r10 - JNE LBB2_165 + JNE LBB2_166 LBB2_117: WORD $0xff31 // xor edi, edi - JMP LBB2_167 + JMP LBB2_168 LBB2_118: LONG $0x1f728d4d // lea r14, [r10 + 31] @@ -11078,7 +11631,9 @@ LBB2_118: LBB2_120: WORD $0x2e0f; BYTE $0x02 // ucomiss xmm0, dword [rdx] LONG $0x04528d48 // lea rdx, [rdx + 4] + WORD $0x9b0f; BYTE $0xd1 // setnp cl WORD $0x940f; BYTE $0xd3 // sete bl + WORD $0xcb20 // and bl, cl WORD $0xdbf6 // neg bl LONG $0x07708d48 // lea rsi, [rax + 7] WORD $0x8548; BYTE $0xc0 // test rax, rax @@ -11102,189 +11657,280 @@ LBB2_120: LBB2_122: LONG $0x05fec149 // sar r14, 5 LONG $0x20fa8349 // cmp r10, 32 - JL LBB2_146 + JL LBB2_147 LONG $0x04fe8349 // cmp r14, 4 JB LBB2_126 WORD $0x894c; BYTE $0xf0 // mov rax, r14 LONG $0x07e0c148 // shl rax, 7 WORD $0x0148; BYTE $0xd0 // add rax, rdx LONG $0x24043948 // cmp qword [rsp], rax - JAE LBB2_197 + JAE LBB2_194 LONG $0x24048b48 // mov rax, qword [rsp] LONG $0xb0048d4a // lea rax, [rax + 4*r14] WORD $0x3948; BYTE $0xd0 // cmp rax, rdx - JBE LBB2_197 + JBE LBB2_194 LBB2_126: WORD $0x3145; BYTE $0xc0 // xor r8d, r8d WORD $0x8948; BYTE $0xd3 // mov rbx, rdx - LONG $0x241c8b4c // mov r11, qword [rsp] + LONG $0x243c8b4c // mov r15, qword [rsp] LBB2_127: - LONG $0x241c894c // mov qword [rsp], r11 - QUAD $0x000000902494894c // mov qword [rsp + 144], r10 - QUAD $0x0000008824b4894c // mov qword [rsp + 136], r14 - WORD $0x294d; BYTE $0xc6 // sub r14, r8 - QUAD $0x000000c024b4894c // mov qword [rsp + 192], r14 + LONG $0x247c894c; BYTE $0x08 // mov qword [rsp + 8], r15 + QUAD $0x000000902494894c // mov qword [rsp + 144], r10 + QUAD $0x000000f024b4894c // mov qword [rsp + 240], r14 + WORD $0x294d; BYTE $0xc6 // sub r14, r8 + QUAD $0x0000009824b4894c // mov qword [rsp + 152], r14 LBB2_128: WORD $0x2e0f; BYTE $0x03 // ucomiss xmm0, dword [rbx] - QUAD $0x000000a02494940f // sete byte [rsp + 160] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + WORD $0x8941; BYTE $0xcd // mov r13d, ecx LONG $0x04432e0f // ucomiss xmm0, dword [rbx + 4] - LONG $0xd0940f41 // sete r8b + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd2 // sete dl + WORD $0xc220 // and dl, al LONG $0x08432e0f // ucomiss xmm0, dword [rbx + 8] - LONG $0xd6940f41 // sete r14b + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x18244c88 // mov byte [rsp + 24], cl LONG $0x0c432e0f // ucomiss xmm0, dword [rbx + 12] - LONG $0xd5940f41 // sete r13b + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x30244c88 // mov byte [rsp + 48], cl LONG $0x10432e0f // ucomiss xmm0, dword [rbx + 16] - LONG $0x2454940f; BYTE $0x70 // sete byte [rsp + 112] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x10244c88 // mov byte [rsp + 16], cl LONG $0x14432e0f // ucomiss xmm0, dword [rbx + 20] - LONG $0x2454940f; BYTE $0x58 // sete byte [rsp + 88] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x38244c88 // mov byte [rsp + 56], cl LONG $0x18432e0f // ucomiss xmm0, dword [rbx + 24] - WORD $0x940f; BYTE $0xd0 // sete al + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x20244c88 // mov byte [rsp + 32], cl LONG $0x1c432e0f // ucomiss xmm0, dword [rbx + 28] - LONG $0xd3940f41 // sete r11b + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + WORD $0x0c88; BYTE $0x24 // mov byte [rsp], cl LONG $0x20432e0f // ucomiss xmm0, dword [rbx + 32] - QUAD $0x000000b02494940f // sete byte [rsp + 176] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x28244c88 // mov byte [rsp + 40], cl LONG $0x24432e0f // ucomiss xmm0, dword [rbx + 36] - WORD $0x940f; BYTE $0xd2 // sete dl + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x40244c88 // mov byte [rsp + 64], cl LONG $0x28432e0f // ucomiss xmm0, dword [rbx + 40] - LONG $0xd6940f40 // sete sil + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x68244c88 // mov byte [rsp + 104], cl LONG $0x2c432e0f // ucomiss xmm0, dword [rbx + 44] - LONG $0xd7940f40 // sete dil + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x58244c88 // mov byte [rsp + 88], cl LONG $0x30432e0f // ucomiss xmm0, dword [rbx + 48] - LONG $0xd2940f41 // sete r10b + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x50244c88 // mov byte [rsp + 80], cl LONG $0x34432e0f // ucomiss xmm0, dword [rbx + 52] - LONG $0xd4940f41 // sete r12b + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x60244c88 // mov byte [rsp + 96], cl LONG $0x38432e0f // ucomiss xmm0, dword [rbx + 56] - LONG $0x2454940f; BYTE $0x78 // sete byte [rsp + 120] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x80248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 128], cl LONG $0x3c432e0f // ucomiss xmm0, dword [rbx + 60] - LONG $0xd1940f41 // sete r9b + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x70244c88 // mov byte [rsp + 112], cl LONG $0x40432e0f // ucomiss xmm0, dword [rbx + 64] - LONG $0x2454940f; BYTE $0x48 // sete byte [rsp + 72] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x48244c88 // mov byte [rsp + 72], cl LONG $0x44432e0f // ucomiss xmm0, dword [rbx + 68] - QUAD $0x000000d02494940f // sete byte [rsp + 208] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd4940f41 // sete r12b + WORD $0x2041; BYTE $0xc4 // and r12b, al LONG $0x48432e0f // ucomiss xmm0, dword [rbx + 72] - QUAD $0x000000802494940f // sete byte [rsp + 128] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x78244c88 // mov byte [rsp + 120], cl LONG $0x4c432e0f // ucomiss xmm0, dword [rbx + 76] - LONG $0x2454940f; BYTE $0x60 // sete byte [rsp + 96] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0xb0248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 176], cl LONG $0x50432e0f // ucomiss xmm0, dword [rbx + 80] - LONG $0x2454940f; BYTE $0x50 // sete byte [rsp + 80] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0xd0248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 208], cl LONG $0x54432e0f // ucomiss xmm0, dword [rbx + 84] - LONG $0x2454940f; BYTE $0x68 // sete byte [rsp + 104] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0xc0248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 192], cl LONG $0x58432e0f // ucomiss xmm0, dword [rbx + 88] - LONG $0x2454940f; BYTE $0x40 // sete byte [rsp + 64] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd6940f41 // sete r14b + WORD $0x2041; BYTE $0xc6 // and r14b, al LONG $0x5c432e0f // ucomiss xmm0, dword [rbx + 92] - LONG $0xd7940f41 // sete r15b + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd0940f41 // sete r8b + WORD $0x2041; BYTE $0xc0 // and r8b, al LONG $0x60432e0f // ucomiss xmm0, dword [rbx + 96] - LONG $0x2454940f; BYTE $0x18 // sete byte [rsp + 24] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0xa0248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 160], cl LONG $0x64432e0f // ucomiss xmm0, dword [rbx + 100] - LONG $0x2454940f; BYTE $0x38 // sete byte [rsp + 56] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd3940f41 // sete r11b + WORD $0x2041; BYTE $0xc3 // and r11b, al LONG $0x68432e0f // ucomiss xmm0, dword [rbx + 104] - LONG $0x2454940f; BYTE $0x20 // sete byte [rsp + 32] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd2940f41 // sete r10b + WORD $0x2041; BYTE $0xc2 // and r10b, al LONG $0x6c432e0f // ucomiss xmm0, dword [rbx + 108] - LONG $0x2454940f; BYTE $0x28 // sete byte [rsp + 40] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd1940f41 // sete r9b + WORD $0x2041; BYTE $0xc1 // and r9b, al LONG $0x70432e0f // ucomiss xmm0, dword [rbx + 112] - LONG $0x2454940f; BYTE $0x10 // sete byte [rsp + 16] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd7940f41 // sete r15b + WORD $0x2041; BYTE $0xc7 // and r15b, al LONG $0x74432e0f // ucomiss xmm0, dword [rbx + 116] - LONG $0x2454940f; BYTE $0x30 // sete byte [rsp + 48] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd1 // sete cl + WORD $0xc120 // and cl, al + LONG $0x88248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 136], cl LONG $0x78432e0f // ucomiss xmm0, dword [rbx + 120] - LONG $0x2454940f; BYTE $0x08 // sete byte [rsp + 8] + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd7940f40 // sete dil + WORD $0x2040; BYTE $0xc7 // and dil, al LONG $0x7c432e0f // ucomiss xmm0, dword [rbx + 124] - WORD $0x940f; BYTE $0xd1 // sete cl - WORD $0x0045; BYTE $0xc0 // add r8b, r8b - QUAD $0x000000a024840244 // add r8b, byte [rsp + 160] - WORD $0xe0c0; BYTE $0x06 // shl al, 6 - LONG $0x07e3c041 // shl r11b, 7 - WORD $0x0841; BYTE $0xc3 // or r11b, al - LONG $0x02e6c041 // shl r14b, 2 - WORD $0x0845; BYTE $0xc6 // or r14b, r8b + WORD $0x9b0f; BYTE $0xd0 // setnp al + LONG $0xd6940f40 // sete sil + WORD $0x2040; BYTE $0xc6 // and sil, al WORD $0xd200 // add dl, dl - LONG $0xb0249402; WORD $0x0000; BYTE $0x00 // add dl, byte [rsp + 176] - LONG $0x03e5c041 // shl r13b, 3 - WORD $0x0845; BYTE $0xf5 // or r13b, r14b - LONG $0x02e6c040 // shl sil, 2 - WORD $0x0840; BYTE $0xd6 // or sil, dl - LONG $0x2454b60f; BYTE $0x70 // movzx edx, byte [rsp + 112] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 WORD $0x0844; BYTE $0xea // or dl, r13b - WORD $0x8941; BYTE $0xd0 // mov r8d, edx - LONG $0x03e7c040 // shl dil, 3 - WORD $0x0840; BYTE $0xf7 // or dil, sil - LONG $0x2454b60f; BYTE $0x58 // movzx edx, byte [rsp + 88] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0844; BYTE $0xc2 // or dl, r8b - LONG $0x04e2c041 // shl r10b, 4 - WORD $0x0841; BYTE $0xfa // or r10b, dil - LONG $0x05e4c041 // shl r12b, 5 - WORD $0x0845; BYTE $0xd4 // or r12b, r10b - LONG $0x2474b60f; BYTE $0x78 // movzx esi, byte [rsp + 120] - LONG $0x06e6c040 // shl sil, 6 - LONG $0x07e1c041 // shl r9b, 7 - WORD $0x0841; BYTE $0xf1 // or r9b, sil - WORD $0x0841; BYTE $0xd3 // or r11b, dl - WORD $0x0845; BYTE $0xe1 // or r9b, r12b - QUAD $0x000000d02484b60f // movzx eax, byte [rsp + 208] - WORD $0xc000 // add al, al - LONG $0x48244402 // add al, byte [rsp + 72] - QUAD $0x000000802494b60f // movzx edx, byte [rsp + 128] - WORD $0xe2c0; BYTE $0x02 // shl dl, 2 - WORD $0xc208 // or dl, al - WORD $0xd689 // mov esi, edx - LONG $0x2454b60f; BYTE $0x60 // movzx edx, byte [rsp + 96] - WORD $0xe2c0; BYTE $0x03 // shl dl, 3 - WORD $0x0840; BYTE $0xf2 // or dl, sil - WORD $0xd689 // mov esi, edx - LONG $0x2454b60f; BYTE $0x50 // movzx edx, byte [rsp + 80] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0x0840; BYTE $0xf2 // or dl, sil - WORD $0xd689 // mov esi, edx - LONG $0x2454b60f; BYTE $0x68 // movzx edx, byte [rsp + 104] + WORD $0x8941; BYTE $0xd5 // mov r13d, edx + LONG $0x2454b60f; BYTE $0x38 // movzx edx, byte [rsp + 56] WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xf2 // or dl, sil - LONG $0x24348b48 // mov rsi, qword [rsp] - WORD $0x8844; BYTE $0x1e // mov byte [rsi], r11b - LONG $0x247cb60f; BYTE $0x40 // movzx edi, byte [rsp + 64] - LONG $0x06e7c040 // shl dil, 6 - LONG $0x07e7c041 // shl r15b, 7 - WORD $0x0841; BYTE $0xff // or r15b, dil - LONG $0x014e8844 // mov byte [rsi + 1], r9b - WORD $0x0841; BYTE $0xd7 // or r15b, dl - LONG $0x2444b60f; BYTE $0x38 // movzx eax, byte [rsp + 56] - WORD $0xc000 // add al, al - LONG $0x18244402 // add al, byte [rsp + 24] - WORD $0xc289 // mov edx, eax LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] - WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0xe0c0; BYTE $0x06 // shl al, 6 WORD $0xd008 // or al, dl WORD $0xc289 // mov edx, eax - LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 + LONG $0x2444b60f; BYTE $0x18 // movzx eax, byte [rsp + 24] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0x0844; BYTE $0xe8 // or al, r13b + WORD $0x8941; BYTE $0xc5 // mov r13d, eax + LONG $0x244cb60f; BYTE $0x40 // movzx ecx, byte [rsp + 64] + WORD $0xc900 // add cl, cl + LONG $0x28244c02 // add cl, byte [rsp + 40] + LONG $0x2404b60f // movzx eax, byte [rsp] + WORD $0xe0c0; BYTE $0x07 // shl al, 7 WORD $0xd008 // or al, dl - WORD $0xc289 // mov edx, eax + WORD $0x0488; BYTE $0x24 // mov byte [rsp], al + LONG $0x2444b60f; BYTE $0x68 // movzx eax, byte [rsp + 104] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0x0844; BYTE $0xe8 // or al, r13b + WORD $0x8941; BYTE $0xc5 // mov r13d, eax + LONG $0x2444b60f; BYTE $0x58 // movzx eax, byte [rsp + 88] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0xd008 // or al, dl - WORD $0xc289 // mov edx, eax - LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] + WORD $0x0844; BYTE $0xe8 // or al, r13b + LONG $0x2454b60f; BYTE $0x50 // movzx edx, byte [rsp + 80] + WORD $0xe2c0; BYTE $0x04 // shl dl, 4 + WORD $0xca08 // or dl, cl + LONG $0x6cb60f44; WORD $0x6024 // movzx r13d, byte [rsp + 96] + LONG $0x05e5c041 // shl r13b, 5 + QUAD $0x00000080248cb60f // movzx ecx, byte [rsp + 128] + WORD $0xe1c0; BYTE $0x06 // shl cl, 6 + WORD $0x0844; BYTE $0xe9 // or cl, r13b + LONG $0x6cb60f44; WORD $0x7024 // movzx r13d, byte [rsp + 112] + LONG $0x07e5c041 // shl r13b, 7 + WORD $0x0841; BYTE $0xcd // or r13b, cl + WORD $0x0045; BYTE $0xe4 // add r12b, r12b + LONG $0x24640244; BYTE $0x48 // add r12b, byte [rsp + 72] + WORD $0x8944; BYTE $0xe1 // mov ecx, r12d + LONG $0x64b60f44; WORD $0x7824 // movzx r12d, byte [rsp + 120] + LONG $0x02e4c041 // shl r12b, 2 + WORD $0x0841; BYTE $0xcc // or r12b, cl + QUAD $0x000000b0248cb60f // movzx ecx, byte [rsp + 176] + WORD $0xe1c0; BYTE $0x03 // shl cl, 3 + WORD $0x0844; BYTE $0xe1 // or cl, r12b + WORD $0x8941; BYTE $0xcc // mov r12d, ecx + QUAD $0x000000d0248cb60f // movzx ecx, byte [rsp + 208] + WORD $0xe1c0; BYTE $0x04 // shl cl, 4 + WORD $0x0844; BYTE $0xe1 // or cl, r12b + LONG $0x24b60f44; BYTE $0x24 // movzx r12d, byte [rsp] + WORD $0x0841; BYTE $0xc4 // or r12b, al + QUAD $0x000000c02484b60f // movzx eax, byte [rsp + 192] WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xd008 // or al, dl - LONG $0x2454b60f; BYTE $0x08 // movzx edx, byte [rsp + 8] - WORD $0xe2c0; BYTE $0x06 // shl dl, 6 - WORD $0xe1c0; BYTE $0x07 // shl cl, 7 - WORD $0xd108 // or cl, dl - WORD $0xc108 // or cl, al - LONG $0x027e8844 // mov byte [rsi + 2], r15b - WORD $0x4e88; BYTE $0x03 // mov byte [rsi + 3], cl + LONG $0x06e6c041 // shl r14b, 6 + WORD $0x0841; BYTE $0xc6 // or r14b, al + WORD $0x0841; BYTE $0xd5 // or r13b, dl + LONG $0x07e0c041 // shl r8b, 7 + WORD $0x0845; BYTE $0xf0 // or r8b, r14b + WORD $0x0841; BYTE $0xc8 // or r8b, cl + WORD $0x0045; BYTE $0xdb // add r11b, r11b + QUAD $0x000000a0249c0244 // add r11b, byte [rsp + 160] + LONG $0x02e2c041 // shl r10b, 2 + WORD $0x0845; BYTE $0xda // or r10b, r11b + LONG $0x03e1c041 // shl r9b, 3 + WORD $0x0845; BYTE $0xd1 // or r9b, r10b + LONG $0x04e7c041 // shl r15b, 4 + WORD $0x0845; BYTE $0xcf // or r15b, r9b + LONG $0x24448b48; BYTE $0x08 // mov rax, qword [rsp + 8] + WORD $0x8844; BYTE $0x20 // mov byte [rax], r12b + QUAD $0x00000088248cb60f // movzx ecx, byte [rsp + 136] + WORD $0xe1c0; BYTE $0x05 // shl cl, 5 + LONG $0x06e7c040 // shl dil, 6 + WORD $0x0840; BYTE $0xcf // or dil, cl + LONG $0x01688844 // mov byte [rax + 1], r13b + LONG $0x07e6c040 // shl sil, 7 + WORD $0x0840; BYTE $0xfe // or sil, dil + WORD $0x0844; BYTE $0xfe // or sil, r15b + LONG $0x02408844 // mov byte [rax + 2], r8b + LONG $0x03708840 // mov byte [rax + 3], sil LONG $0x80c38148; WORD $0x0000; BYTE $0x00 // add rbx, 128 - LONG $0x04c68348 // add rsi, 4 - LONG $0x24348948 // mov qword [rsp], rsi - QUAD $0x000000c024848348; BYTE $0xff // add qword [rsp + 192], -1 + LONG $0x04c08348 // add rax, 4 + LONG $0x24448948; BYTE $0x08 // mov qword [rsp + 8], rax + QUAD $0x0000009824848348; BYTE $0xff // add qword [rsp + 152], -1 JNE LBB2_128 - LONG $0x241c8b4c // mov r11, qword [rsp] + LONG $0x247c8b4c; BYTE $0x08 // mov r15, qword [rsp + 8] QUAD $0x0000009024948b4c // mov r10, qword [rsp + 144] - QUAD $0x0000008824b48b4c // mov r14, qword [rsp + 136] - JMP LBB2_147 + QUAD $0x000000f024b48b4c // mov r14, qword [rsp + 240] + JMP LBB2_148 LBB2_130: LONG $0x24048b48 // mov rax, qword [rsp] @@ -11294,7 +11940,7 @@ LBB2_130: LBB2_131: LONG $0x05e7c149 // shl r15, 5 WORD $0x394d; BYTE $0xd7 // cmp r15, r10 - JGE LBB2_176 + JGE LBB2_177 WORD $0x894d; BYTE $0xd0 // mov r8, r10 WORD $0x294d; BYTE $0xf8 // sub r8, r15 WORD $0xf749; BYTE $0xd7 // not r15 @@ -11305,7 +11951,7 @@ LBB2_131: WORD $0x3145; BYTE $0xc9 // xor r9d, r9d LONG $0x245c8b4c; BYTE $0x68 // mov r11, qword [rsp + 104] -LBB2_155: +LBB2_156: WORD $0x894c; BYTE $0xc8 // mov rax, r9 LONG $0x0e343a46 // cmp r14b, byte [rsi + r9] WORD $0x940f; BYTE $0xd3 // sete bl @@ -11333,8 +11979,8 @@ LBB2_155: WORD $0xd030 // xor al, dl LONG $0x3b048841 // mov byte [r11 + rdi], al WORD $0x394d; BYTE $0xca // cmp r10, r9 - JNE LBB2_155 - JMP LBB2_158 + JNE LBB2_156 + JMP LBB2_159 LBB2_134: LONG $0x24048b48 // mov rax, qword [rsp] @@ -11344,75 +11990,112 @@ LBB2_134: LBB2_135: LONG $0x05e7c149 // shl r15, 5 WORD $0x394d; BYTE $0xd7 // cmp r15, r10 - JGE LBB2_176 + JGE LBB2_177 WORD $0x894d; BYTE $0xd0 // mov r8, r10 WORD $0x294d; BYTE $0xf8 // sub r8, r15 WORD $0xf749; BYTE $0xd7 // not r15 WORD $0x014d; BYTE $0xd7 // add r15, r10 - JNE LBB2_156 + JNE LBB2_157 LBB2_137: WORD $0x3145; BYTE $0xc9 // xor r9d, r9d LONG $0x01c0f641 // test r8b, 1 - JE LBB2_176 - JMP LBB2_160 + JE LBB2_177 + JMP LBB2_161 LBB2_138: LONG $0x24048b48 // mov rax, qword [rsp] - LONG $0x24448948; BYTE $0x08 // mov qword [rsp + 8], rax + LONG $0x24448948; BYTE $0x10 // mov qword [rsp + 16], rax WORD $0x8948; BYTE $0xd6 // mov rsi, rdx LBB2_139: - LONG $0x05e6c149 // shl r14, 5 - WORD $0x394d; BYTE $0xd6 // cmp r14, r10 - JGE LBB2_176 - WORD $0x894d; BYTE $0xd0 // mov r8, r10 - WORD $0x294d; BYTE $0xf0 // sub r8, r14 - WORD $0xf749; BYTE $0xd6 // not r14 - WORD $0x014d; BYTE $0xd6 // add r14, r10 - JNE LBB2_170 - WORD $0x3145; BYTE $0xf6 // xor r14d, r14d - JMP LBB2_172 + LONG $0x05e7c149 // shl r15, 5 + WORD $0x394d; BYTE $0xd7 // cmp r15, r10 + JGE LBB2_177 + WORD $0x894d; BYTE $0xd0 // mov r8, r10 + WORD $0x294d; BYTE $0xf8 // sub r8, r15 + WORD $0xf749; BYTE $0xd7 // not r15 + WORD $0x014d; BYTE $0xd7 // add r15, r10 + JE LBB2_146 + WORD $0x894d; BYTE $0xc1 // mov r9, r8 + LONG $0xfee18349 // and r9, -2 + WORD $0x3145; BYTE $0xff // xor r15d, r15d + LONG $0x245c8b4c; BYTE $0x10 // mov r11, qword [rsp + 16] LBB2_142: - LONG $0x24348b4c // mov r14, qword [rsp] - WORD $0x8948; BYTE $0xd6 // mov rsi, rdx + WORD $0x8948; BYTE $0xf0 // mov rax, rsi + LONG $0x363b4466 // cmp r14w, word [rsi] + WORD $0x940f; BYTE $0xd2 // sete dl + WORD $0xdaf6 // neg dl + WORD $0x894c; BYTE $0xff // mov rdi, r15 + LONG $0x03efc148 // shr rdi, 3 + LONG $0x14b60f45; BYTE $0x3b // movzx r10d, byte [r11 + rdi] + WORD $0x8944; BYTE $0xf9 // mov ecx, r15d + WORD $0xe180; BYTE $0x06 // and cl, 6 + WORD $0x01b3 // mov bl, 1 + WORD $0xe3d2 // shl bl, cl + WORD $0x3044; BYTE $0xd2 // xor dl, r10b + WORD $0xd320 // and bl, dl + WORD $0x3044; BYTE $0xd3 // xor bl, r10b + LONG $0x3b1c8841 // mov byte [r11 + rdi], bl + LONG $0x02c78349 // add r15, 2 + LONG $0x763b4466; BYTE $0x02 // cmp r14w, word [rsi + 2] + LONG $0x04768d48 // lea rsi, [rsi + 4] + WORD $0x940f; BYTE $0xd2 // sete dl + WORD $0xdaf6 // neg dl + WORD $0xda30 // xor dl, bl + WORD $0xc980; BYTE $0x01 // or cl, 1 + WORD $0x01b0 // mov al, 1 + WORD $0xe0d2 // shl al, cl + WORD $0xd020 // and al, dl + WORD $0xd830 // xor al, bl + LONG $0x3b048841 // mov byte [r11 + rdi], al + WORD $0x394d; BYTE $0xf9 // cmp r9, r15 + JNE LBB2_142 + JMP LBB2_173 LBB2_143: + LONG $0x24048b48 // mov rax, qword [rsp] + LONG $0x24448948; BYTE $0x10 // mov qword [rsp + 16], rax + WORD $0x8948; BYTE $0xd6 // mov rsi, rdx + +LBB2_144: LONG $0x05e7c149 // shl r15, 5 WORD $0x394d; BYTE $0xd7 // cmp r15, r10 - JGE LBB2_176 + JGE LBB2_177 WORD $0x894d; BYTE $0xd0 // mov r8, r10 WORD $0x294d; BYTE $0xf8 // sub r8, r15 WORD $0xf749; BYTE $0xd7 // not r15 WORD $0x014d; BYTE $0xd7 // add r15, r10 - JNE LBB2_177 - WORD $0x3145; BYTE $0xff // xor r15d, r15d - JMP LBB2_179 + JNE LBB2_171 LBB2_146: - LONG $0x241c8b4c // mov r11, qword [rsp] - WORD $0x8948; BYTE $0xd3 // mov rbx, rdx + WORD $0x3145; BYTE $0xff // xor r15d, r15d + JMP LBB2_173 LBB2_147: + LONG $0x243c8b4c // mov r15, qword [rsp] + WORD $0x8948; BYTE $0xd3 // mov rbx, rdx + +LBB2_148: LONG $0x05e6c149 // shl r14, 5 WORD $0x394d; BYTE $0xd6 // cmp r14, r10 - JGE LBB2_176 + JGE LBB2_177 WORD $0x894d; BYTE $0xd0 // mov r8, r10 WORD $0x294d; BYTE $0xf0 // sub r8, r14 WORD $0xf749; BYTE $0xd6 // not r14 WORD $0x014d; BYTE $0xd6 // add r14, r10 - JNE LBB2_181 + JNE LBB2_178 WORD $0xf631 // xor esi, esi - JMP LBB2_183 + JMP LBB2_180 -LBB2_150: +LBB2_151: WORD $0x894d; BYTE $0xc2 // mov r10, r8 LONG $0xfee28349 // and r10, -2 WORD $0xff31 // xor edi, edi LONG $0x241c8b4c // mov r11, qword [rsp] -LBB2_151: +LBB2_152: WORD $0x3b44; BYTE $0x2a // cmp r13d, dword [rdx] WORD $0x940f; BYTE $0xd0 // sete al WORD $0xd8f6 // neg al @@ -11440,21 +12123,21 @@ LBB2_151: WORD $0xd830 // xor al, bl LONG $0x33048841 // mov byte [r11 + rsi], al WORD $0x3949; BYTE $0xfa // cmp r10, rdi - JNE LBB2_151 + JNE LBB2_152 -LBB2_152: +LBB2_153: LONG $0x01c0f641 // test r8b, 1 - JE LBB2_176 + JE LBB2_177 WORD $0x3b44; BYTE $0x2a // cmp r13d, dword [rdx] - JMP LBB2_169 + JMP LBB2_170 -LBB2_156: +LBB2_157: WORD $0x894d; BYTE $0xc2 // mov r10, r8 LONG $0xfee28349 // and r10, -2 WORD $0x3145; BYTE $0xc9 // xor r9d, r9d LONG $0x245c8b4c; BYTE $0x68 // mov r11, qword [rsp + 104] -LBB2_157: +LBB2_158: WORD $0x894c; BYTE $0xc8 // mov rax, r9 LONG $0x0e343a46 // cmp r14b, byte [rsi + r9] WORD $0x940f; BYTE $0xd3 // sete bl @@ -11482,14 +12165,14 @@ LBB2_157: WORD $0xd030 // xor al, dl LONG $0x3b048841 // mov byte [r11 + rdi], al WORD $0x394d; BYTE $0xca // cmp r10, r9 - JNE LBB2_157 + JNE LBB2_158 -LBB2_158: +LBB2_159: WORD $0x014c; BYTE $0xce // add rsi, r9 LONG $0x01c0f641 // test r8b, 1 - JE LBB2_176 + JE LBB2_177 -LBB2_160: +LBB2_161: WORD $0x3a44; BYTE $0x36 // cmp r14b, byte [rsi] WORD $0x940f; BYTE $0xd0 // sete al WORD $0xd8f6 // neg al @@ -11500,57 +12183,77 @@ LBB2_160: LONG $0x07e18041 // and r9b, 7 WORD $0x01b3 // mov bl, 1 WORD $0x8944; BYTE $0xc9 // mov ecx, r9d - JMP LBB2_174 + JMP LBB2_175 -LBB2_161: - WORD $0x894d; BYTE $0xc2 // mov r10, r8 - LONG $0xfee28349 // and r10, -2 +LBB2_162: + WORD $0x894d; BYTE $0xc1 // mov r9, r8 + LONG $0xfee18349 // and r9, -2 WORD $0xff31 // xor edi, edi - LONG $0x241c8b4c // mov r11, qword [rsp] + LONG $0x24348b4c // mov r14, qword [rsp] -LBB2_162: +LBB2_163: LONG $0x022e0f66 // ucomisd xmm0, qword [rdx] + WORD $0x9b0f; BYTE $0xd1 // setnp cl WORD $0x940f; BYTE $0xd0 // sete al + WORD $0xc820 // and al, cl WORD $0xd8f6 // neg al WORD $0x8948; BYTE $0xfe // mov rsi, rdi LONG $0x03eec148 // shr rsi, 3 - LONG $0x0cb60f45; BYTE $0x33 // movzx r9d, byte [r11 + rsi] - WORD $0x3044; BYTE $0xc8 // xor al, r9b + LONG $0x14b60f45; BYTE $0x36 // movzx r10d, byte [r14 + rsi] WORD $0xf989 // mov ecx, edi WORD $0xe180; BYTE $0x06 // and cl, 6 - WORD $0x01b3 // mov bl, 1 - WORD $0xe3d2 // shl bl, cl - WORD $0xc320 // and bl, al - WORD $0x3044; BYTE $0xcb // xor bl, r9b - LONG $0x331c8841 // mov byte [r11 + rsi], bl + WORD $0xb341; BYTE $0x01 // mov r11b, 1 + WORD $0xd241; BYTE $0xe3 // shl r11b, cl + WORD $0x3044; BYTE $0xd0 // xor al, r10b + WORD $0x2041; BYTE $0xc3 // and r11b, al + WORD $0x3045; BYTE $0xd3 // xor r11b, r10b + LONG $0x361c8845 // mov byte [r14 + rsi], r11b LONG $0x02c78348 // add rdi, 2 LONG $0x422e0f66; BYTE $0x08 // ucomisd xmm0, qword [rdx + 8] LONG $0x10528d48 // lea rdx, [rdx + 16] - LONG $0xd1940f41 // sete r9b - WORD $0xf641; BYTE $0xd9 // neg r9b - WORD $0x3041; BYTE $0xd9 // xor r9b, bl + LONG $0xd29b0f41 // setnp r10b + WORD $0x940f; BYTE $0xd0 // sete al + WORD $0x2044; BYTE $0xd0 // and al, r10b + WORD $0xd8f6 // neg al + WORD $0x3044; BYTE $0xd8 // xor al, r11b WORD $0xc980; BYTE $0x01 // or cl, 1 - WORD $0x01b0 // mov al, 1 - WORD $0xe0d2 // shl al, cl - WORD $0x2044; BYTE $0xc8 // and al, r9b - WORD $0xd830 // xor al, bl - LONG $0x33048841 // mov byte [r11 + rsi], al - WORD $0x3949; BYTE $0xfa // cmp r10, rdi - JNE LBB2_162 + WORD $0x01b3 // mov bl, 1 + WORD $0xe3d2 // shl bl, cl + WORD $0xc320 // and bl, al + WORD $0x3044; BYTE $0xdb // xor bl, r11b + LONG $0x361c8841 // mov byte [r14 + rsi], bl + WORD $0x3949; BYTE $0xf9 // cmp r9, rdi + JNE LBB2_163 -LBB2_163: - LONG $0x01c0f641 // test r8b, 1 - JE LBB2_176 - LONG $0x022e0f66 // ucomisd xmm0, qword [rdx] - JMP LBB2_169 +LBB2_164: + LONG $0x01c0f641 // test r8b, 1 + JE LBB2_177 + LONG $0x022e0f66 // ucomisd xmm0, qword [rdx] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd2 // sete dl + WORD $0xc220 // and dl, al + WORD $0xdaf6 // neg dl + WORD $0x8948; BYTE $0xf8 // mov rax, rdi + LONG $0x03e8c148 // shr rax, 3 + LONG $0x24048b4c // mov r8, qword [rsp] + LONG $0x00348a41 // mov sil, byte [r8 + rax] + LONG $0x07e78040 // and dil, 7 + WORD $0x01b3 // mov bl, 1 + WORD $0xf989 // mov ecx, edi + WORD $0xe3d2 // shl bl, cl + WORD $0x3040; BYTE $0xf2 // xor dl, sil + WORD $0xd320 // and bl, dl + WORD $0x3040; BYTE $0xf3 // xor bl, sil + LONG $0x001c8841 // mov byte [r8 + rax], bl + JMP LBB2_177 -LBB2_165: +LBB2_166: WORD $0x894d; BYTE $0xc2 // mov r10, r8 LONG $0xfee28349 // and r10, -2 WORD $0xff31 // xor edi, edi LONG $0x241c8b4c // mov r11, qword [rsp] -LBB2_166: +LBB2_167: WORD $0x3b4c; BYTE $0x2a // cmp r13, qword [rdx] WORD $0x940f; BYTE $0xd0 // sete al WORD $0xd8f6 // neg al @@ -11578,14 +12281,14 @@ LBB2_166: WORD $0xd830 // xor al, bl LONG $0x33048841 // mov byte [r11 + rsi], al WORD $0x3949; BYTE $0xfa // cmp r10, rdi - JNE LBB2_166 + JNE LBB2_167 -LBB2_167: +LBB2_168: LONG $0x01c0f641 // test r8b, 1 - JE LBB2_176 + JE LBB2_177 WORD $0x3b4c; BYTE $0x2a // cmp r13, qword [rdx] -LBB2_169: +LBB2_170: WORD $0x940f; BYTE $0xd0 // sete al WORD $0xd8f6 // neg al WORD $0x8948; BYTE $0xfa // mov rdx, rdi @@ -11599,23 +12302,23 @@ LBB2_169: WORD $0x3040; BYTE $0xf0 // xor al, sil WORD $0xc320 // and bl, al WORD $0x3040; BYTE $0xf3 // xor bl, sil - JMP LBB2_175 + JMP LBB2_176 -LBB2_170: +LBB2_171: WORD $0x894d; BYTE $0xc1 // mov r9, r8 LONG $0xfee18349 // and r9, -2 - WORD $0x3145; BYTE $0xf6 // xor r14d, r14d - LONG $0x245c8b4c; BYTE $0x08 // mov r11, qword [rsp + 8] + WORD $0x3145; BYTE $0xff // xor r15d, r15d + LONG $0x245c8b4c; BYTE $0x10 // mov r11, qword [rsp + 16] -LBB2_171: +LBB2_172: WORD $0x8948; BYTE $0xf0 // mov rax, rsi - LONG $0x2e3b4466 // cmp r13w, word [rsi] + LONG $0x363b4466 // cmp r14w, word [rsi] WORD $0x940f; BYTE $0xd2 // sete dl WORD $0xdaf6 // neg dl - WORD $0x894c; BYTE $0xf7 // mov rdi, r14 + WORD $0x894c; BYTE $0xff // mov rdi, r15 LONG $0x03efc148 // shr rdi, 3 LONG $0x14b60f45; BYTE $0x3b // movzx r10d, byte [r11 + rdi] - WORD $0x8944; BYTE $0xf1 // mov ecx, r14d + WORD $0x8944; BYTE $0xf9 // mov ecx, r15d WORD $0xe180; BYTE $0x06 // and cl, 6 WORD $0x01b3 // mov bl, 1 WORD $0xe3d2 // shl bl, cl @@ -11623,8 +12326,8 @@ LBB2_171: WORD $0xd320 // and bl, dl WORD $0x3044; BYTE $0xd3 // xor bl, r10b LONG $0x3b1c8841 // mov byte [r11 + rdi], bl - LONG $0x02c68349 // add r14, 2 - LONG $0x6e3b4466; BYTE $0x02 // cmp r13w, word [rsi + 2] + LONG $0x02c78349 // add r15, 2 + LONG $0x763b4466; BYTE $0x02 // cmp r14w, word [rsi + 2] LONG $0x04768d48 // lea rsi, [rsi + 4] WORD $0x940f; BYTE $0xd2 // sete dl WORD $0xdaf6 // neg dl @@ -11635,153 +12338,104 @@ LBB2_171: WORD $0xd020 // and al, dl WORD $0xd830 // xor al, bl LONG $0x3b048841 // mov byte [r11 + rdi], al - WORD $0x394d; BYTE $0xf1 // cmp r9, r14 - JNE LBB2_171 + WORD $0x394d; BYTE $0xf9 // cmp r9, r15 + JNE LBB2_172 -LBB2_172: +LBB2_173: LONG $0x01c0f641 // test r8b, 1 - JE LBB2_176 - LONG $0x2e3b4466 // cmp r13w, word [rsi] + JE LBB2_177 + LONG $0x363b4466 // cmp r14w, word [rsi] WORD $0x940f; BYTE $0xd0 // sete al WORD $0xd8f6 // neg al - WORD $0x894c; BYTE $0xf2 // mov rdx, r14 + WORD $0x894c; BYTE $0xfa // mov rdx, r15 LONG $0x03eac148 // shr rdx, 3 - LONG $0x24448b4c; BYTE $0x08 // mov r8, qword [rsp + 8] + LONG $0x24448b4c; BYTE $0x10 // mov r8, qword [rsp + 16] LONG $0x103c8a41 // mov dil, byte [r8 + rdx] - LONG $0x07e68041 // and r14b, 7 + LONG $0x07e78041 // and r15b, 7 WORD $0x01b3 // mov bl, 1 - WORD $0x8944; BYTE $0xf1 // mov ecx, r14d + WORD $0x8944; BYTE $0xf9 // mov ecx, r15d -LBB2_174: +LBB2_175: WORD $0xe3d2 // shl bl, cl WORD $0x3040; BYTE $0xf8 // xor al, dil WORD $0xc320 // and bl, al WORD $0x3040; BYTE $0xfb // xor bl, dil -LBB2_175: +LBB2_176: LONG $0x101c8841 // mov byte [r8 + rdx], bl -LBB2_176: +LBB2_177: MOVQ 304(SP), SP RET -LBB2_177: +LBB2_178: WORD $0x894d; BYTE $0xc1 // mov r9, r8 LONG $0xfee18349 // and r9, -2 - WORD $0x3145; BYTE $0xff // xor r15d, r15d + WORD $0xf631 // xor esi, esi + WORD $0x894d; BYTE $0xfe // mov r14, r15 -LBB2_178: - WORD $0x8948; BYTE $0xf0 // mov rax, rsi - LONG $0x2e3b4466 // cmp r13w, word [rsi] +LBB2_179: + WORD $0x2e0f; BYTE $0x03 // ucomiss xmm0, dword [rbx] + WORD $0x9b0f; BYTE $0xd1 // setnp cl WORD $0x940f; BYTE $0xd2 // sete dl + WORD $0xca20 // and dl, cl WORD $0xdaf6 // neg dl - WORD $0x894c; BYTE $0xff // mov rdi, r15 + WORD $0x8948; BYTE $0xf7 // mov rdi, rsi LONG $0x03efc148 // shr rdi, 3 LONG $0x14b60f45; BYTE $0x3e // movzx r10d, byte [r14 + rdi] - WORD $0x8944; BYTE $0xf9 // mov ecx, r15d + WORD $0xf189 // mov ecx, esi WORD $0xe180; BYTE $0x06 // and cl, 6 - WORD $0x01b3 // mov bl, 1 - WORD $0xe3d2 // shl bl, cl + WORD $0xb341; BYTE $0x01 // mov r11b, 1 + WORD $0xd241; BYTE $0xe3 // shl r11b, cl WORD $0x3044; BYTE $0xd2 // xor dl, r10b - WORD $0xd320 // and bl, dl - WORD $0x3044; BYTE $0xd3 // xor bl, r10b - LONG $0x3e1c8841 // mov byte [r14 + rdi], bl - LONG $0x02c78349 // add r15, 2 - LONG $0x6e3b4466; BYTE $0x02 // cmp r13w, word [rsi + 2] - LONG $0x04768d48 // lea rsi, [rsi + 4] + WORD $0x2041; BYTE $0xd3 // and r11b, dl + WORD $0x3045; BYTE $0xd3 // xor r11b, r10b + LONG $0x3e1c8845 // mov byte [r14 + rdi], r11b + LONG $0x02c68348 // add rsi, 2 + LONG $0x04432e0f // ucomiss xmm0, dword [rbx + 4] + LONG $0x085b8d48 // lea rbx, [rbx + 8] + LONG $0xd29b0f41 // setnp r10b WORD $0x940f; BYTE $0xd2 // sete dl + WORD $0x2044; BYTE $0xd2 // and dl, r10b WORD $0xdaf6 // neg dl - WORD $0xda30 // xor dl, bl + WORD $0x3044; BYTE $0xda // xor dl, r11b WORD $0xc980; BYTE $0x01 // or cl, 1 WORD $0x01b0 // mov al, 1 WORD $0xe0d2 // shl al, cl WORD $0xd020 // and al, dl - WORD $0xd830 // xor al, bl - LONG $0x3e048841 // mov byte [r14 + rdi], al - WORD $0x394d; BYTE $0xf9 // cmp r9, r15 - JNE LBB2_178 - -LBB2_179: - LONG $0x01c0f641 // test r8b, 1 - JE LBB2_176 - LONG $0x2e3b4466 // cmp r13w, word [rsi] - WORD $0x940f; BYTE $0xd0 // sete al - WORD $0xd8f6 // neg al - WORD $0x894c; BYTE $0xfa // mov rdx, r15 - LONG $0x03eac148 // shr rdx, 3 - LONG $0x163c8a41 // mov dil, byte [r14 + rdx] - LONG $0x07e78041 // and r15b, 7 - WORD $0x01b3 // mov bl, 1 - WORD $0x8944; BYTE $0xf9 // mov ecx, r15d - WORD $0xe3d2 // shl bl, cl - WORD $0x3040; BYTE $0xf8 // xor al, dil - WORD $0xc320 // and bl, al - WORD $0x3040; BYTE $0xfb // xor bl, dil - LONG $0x161c8841 // mov byte [r14 + rdx], bl - JMP LBB2_176 - -LBB2_181: - WORD $0x894d; BYTE $0xc2 // mov r10, r8 - LONG $0xfee28349 // and r10, -2 - WORD $0xf631 // xor esi, esi - WORD $0x894d; BYTE $0xde // mov r14, r11 - -LBB2_182: - WORD $0x2e0f; BYTE $0x03 // ucomiss xmm0, dword [rbx] - WORD $0x940f; BYTE $0xd2 // sete dl - WORD $0xdaf6 // neg dl - WORD $0x8948; BYTE $0xf7 // mov rdi, rsi - LONG $0x03efc148 // shr rdi, 3 - LONG $0x0cb60f45; BYTE $0x3e // movzx r9d, byte [r14 + rdi] - WORD $0x3044; BYTE $0xca // xor dl, r9b - WORD $0xf189 // mov ecx, esi - WORD $0xe180; BYTE $0x06 // and cl, 6 - WORD $0x01b0 // mov al, 1 - WORD $0xe0d2 // shl al, cl - WORD $0xd020 // and al, dl - WORD $0x3044; BYTE $0xc8 // xor al, r9b + WORD $0x3044; BYTE $0xd8 // xor al, r11b LONG $0x3e048841 // mov byte [r14 + rdi], al - LONG $0x02c68348 // add rsi, 2 - LONG $0x04432e0f // ucomiss xmm0, dword [rbx + 4] - LONG $0x085b8d48 // lea rbx, [rbx + 8] - LONG $0xd1940f41 // sete r9b - WORD $0xf641; BYTE $0xd9 // neg r9b - WORD $0x3041; BYTE $0xc1 // xor r9b, al - WORD $0xc980; BYTE $0x01 // or cl, 1 - WORD $0x01b2 // mov dl, 1 - WORD $0xe2d2 // shl dl, cl - WORD $0x2044; BYTE $0xca // and dl, r9b - WORD $0xc230 // xor dl, al - LONG $0x3e148841 // mov byte [r14 + rdi], dl - WORD $0x3949; BYTE $0xf2 // cmp r10, rsi - JNE LBB2_182 + WORD $0x3949; BYTE $0xf1 // cmp r9, rsi + JNE LBB2_179 -LBB2_183: +LBB2_180: LONG $0x01c0f641 // test r8b, 1 - JE LBB2_176 + JE LBB2_177 WORD $0x2e0f; BYTE $0x03 // ucomiss xmm0, dword [rbx] - WORD $0x940f; BYTE $0xd0 // sete al - WORD $0xd8f6 // neg al - WORD $0x8948; BYTE $0xf2 // mov rdx, rsi - LONG $0x03eac148 // shr rdx, 3 - LONG $0x133c8a41 // mov dil, byte [r11 + rdx] + WORD $0x9b0f; BYTE $0xd0 // setnp al + WORD $0x940f; BYTE $0xd2 // sete dl + WORD $0xc220 // and dl, al + WORD $0xdaf6 // neg dl + WORD $0x8948; BYTE $0xf0 // mov rax, rsi + LONG $0x03e8c148 // shr rax, 3 + LONG $0x073c8a41 // mov dil, byte [r15 + rax] LONG $0x07e68040 // and sil, 7 WORD $0x01b3 // mov bl, 1 WORD $0xf189 // mov ecx, esi WORD $0xe3d2 // shl bl, cl - WORD $0x3040; BYTE $0xf8 // xor al, dil - WORD $0xc320 // and bl, al + WORD $0x3040; BYTE $0xfa // xor dl, dil + WORD $0xd320 // and bl, dl WORD $0x3040; BYTE $0xfb // xor bl, dil - LONG $0x131c8841 // mov byte [r11 + rdx], bl - JMP LBB2_176 + LONG $0x071c8841 // mov byte [r15 + rax], bl + JMP LBB2_177 -LBB2_185: +LBB2_182: LONG $0xf0e78349 // and r15, -16 WORD $0x894c; BYTE $0xf8 // mov rax, r15 LONG $0x05e0c148 // shl rax, 5 WORD $0x0148; BYTE $0xd0 // add rax, rdx - QUAD $0x000000f824848948 // mov qword [rsp + 248], rax - QUAD $0x000000e824bc894c // mov qword [rsp + 232], r15 + QUAD $0x0000010824848948 // mov qword [rsp + 264], rax + QUAD $0x000000e024bc894c // mov qword [rsp + 224], r15 LONG $0x24048b48 // mov rax, qword [rsp] LONG $0xb8048d4a // lea rax, [rax + 4*r15] LONG $0x24448948; BYTE $0x68 // mov qword [rsp + 104], rax @@ -11792,7 +12446,7 @@ LBB2_185: QUAD $0x0000b0248c7f0f66; BYTE $0x00 // movdqa oword [rsp + 176], xmm1 WORD $0xc031 // xor eax, eax -LBB2_186: +LBB2_183: WORD $0x8948; BYTE $0xc7 // mov rdi, rax QUAD $0x0000009824848948 // mov qword [rsp + 152], rax LONG $0x05e7c148 // shl rdi, 5 @@ -11826,7 +12480,7 @@ LBB2_186: QUAD $0x0000d024847f0f66; BYTE $0x00 // movdqa oword [rsp + 208], xmm0 LONG $0x3a4cb60f; BYTE $0x08 // movzx ecx, byte [rdx + rdi + 8] LONG $0xc16e0f66 // movd xmm0, ecx - QUAD $0x00010024847f0f66; BYTE $0x00 // movdqa oword [rsp + 256], xmm0 + QUAD $0x00011024847f0f66; BYTE $0x00 // movdqa oword [rsp + 272], xmm0 LONG $0x3a4cb60f; BYTE $0x09 // movzx ecx, byte [rdx + rdi + 9] LONG $0x6e0f4466; BYTE $0xd1 // movd xmm10, ecx LONG $0x3a4cb60f; BYTE $0x0a // movzx ecx, byte [rdx + rdi + 10] @@ -11840,7 +12494,7 @@ LBB2_186: LONG $0x6e0f4466; BYTE $0xe1 // movd xmm12, ecx LONG $0x3a4cb60f; BYTE $0x0e // movzx ecx, byte [rdx + rdi + 14] LONG $0xc16e0f66 // movd xmm0, ecx - QUAD $0x00011024847f0f66; BYTE $0x00 // movdqa oword [rsp + 272], xmm0 + QUAD $0x0000f024847f0f66; BYTE $0x00 // movdqa oword [rsp + 240], xmm0 LONG $0x247c8948; BYTE $0x40 // mov qword [rsp + 64], rdi WORD $0x8949; BYTE $0xfd // mov r13, rdi LONG $0x20cd8349 // or r13, 32 @@ -11865,15 +12519,15 @@ LBB2_186: LONG $0x80c88149; WORD $0x0001; BYTE $0x00 // or r8, 384 LONG $0x2444894c; BYTE $0x60 // mov qword [rsp + 96], r8 LONG $0x01a00d48; WORD $0x0000 // or rax, 416 - LONG $0x24448948; BYTE $0x30 // mov qword [rsp + 48], rax + LONG $0x24448948; BYTE $0x10 // mov qword [rsp + 16], rax WORD $0x8948; BYTE $0xf8 // mov rax, rdi LONG $0x01c00d48; WORD $0x0000 // or rax, 448 - LONG $0x24448948; BYTE $0x10 // mov qword [rsp + 16], rax + LONG $0x24448948; BYTE $0x30 // mov qword [rsp + 48], rax WORD $0x8948; BYTE $0xf8 // mov rax, rdi LONG $0x01e00d48; WORD $0x0000 // or rax, 480 QUAD $0x012a3c203a0f4666 // pinsrb xmm15, byte [rdx + r13], 1 QUAD $0x02323c203a0f4466 // pinsrb xmm15, byte [rdx + rsi], 2 - LONG $0x244c8948; BYTE $0x20 // mov qword [rsp + 32], rcx + LONG $0x244c8948; BYTE $0x38 // mov qword [rsp + 56], rcx QUAD $0x030a3c203a0f4466 // pinsrb xmm15, byte [rdx + rcx], 3 LONG $0x2474894c; BYTE $0x70 // mov qword [rsp + 112], r14 QUAD $0x04323c203a0f4666 // pinsrb xmm15, byte [rdx + r14], 4 @@ -11890,9 +12544,9 @@ LBB2_186: QUAD $0x0a2a3c203a0f4666 // pinsrb xmm15, byte [rdx + r13], 10 QUAD $0x0b1a3c203a0f4466 // pinsrb xmm15, byte [rdx + rbx], 11 QUAD $0x0c023c203a0f4666 // pinsrb xmm15, byte [rdx + r8], 12 - LONG $0x24748b48; BYTE $0x30 // mov rsi, qword [rsp + 48] - QUAD $0x0d323c203a0f4466 // pinsrb xmm15, byte [rdx + rsi], 13 LONG $0x24748b48; BYTE $0x10 // mov rsi, qword [rsp + 16] + QUAD $0x0d323c203a0f4466 // pinsrb xmm15, byte [rdx + rsi], 13 + LONG $0x24748b48; BYTE $0x30 // mov rsi, qword [rsp + 48] QUAD $0x0e323c203a0f4466 // pinsrb xmm15, byte [rdx + rsi], 14 QUAD $0x0f023c203a0f4466 // pinsrb xmm15, byte [rdx + rax], 15 LONG $0x245c8b4c; BYTE $0x18 // mov r11, qword [rsp + 24] @@ -11912,9 +12566,9 @@ LBB2_186: WORD $0x894d; BYTE $0xef // mov r15, r13 QUAD $0x0b011a6c203a0f66 // pinsrb xmm5, byte [rdx + rbx + 1], 11 QUAD $0x01026c203a0f4266; BYTE $0x0c // pinsrb xmm5, byte [rdx + r8 + 1], 12 - LONG $0x244c8b4c; BYTE $0x30 // mov r9, qword [rsp + 48] + LONG $0x244c8b4c; BYTE $0x10 // mov r9, qword [rsp + 16] QUAD $0x010a6c203a0f4266; BYTE $0x0d // pinsrb xmm5, byte [rdx + r9 + 1], 13 - LONG $0x245c8b4c; BYTE $0x10 // mov r11, qword [rsp + 16] + LONG $0x245c8b4c; BYTE $0x30 // mov r11, qword [rsp + 48] QUAD $0x011a6c203a0f4266; BYTE $0x0e // pinsrb xmm5, byte [rdx + r11 + 1], 14 QUAD $0x0f01026c203a0f66 // pinsrb xmm5, byte [rdx + rax + 1], 15 QUAD $0x00b0248c6f0f4466; WORD $0x0000 // movdqa xmm9, oword [rsp + 176] @@ -11931,7 +12585,7 @@ LBB2_186: QUAD $0x020274203a0f4266; BYTE $0x01 // pinsrb xmm6, byte [rdx + r8 + 2], 1 LONG $0x24548b4c; BYTE $0x28 // mov r10, qword [rsp + 40] QUAD $0x021274203a0f4266; BYTE $0x02 // pinsrb xmm6, byte [rdx + r10 + 2], 2 - LONG $0x244c8b48; BYTE $0x20 // mov rcx, qword [rsp + 32] + LONG $0x244c8b48; BYTE $0x38 // mov rcx, qword [rsp + 56] QUAD $0x03020a74203a0f66 // pinsrb xmm6, byte [rdx + rcx + 2], 3 LONG $0x245c8b48; BYTE $0x70 // mov rbx, qword [rsp + 112] QUAD $0x04021a74203a0f66 // pinsrb xmm6, byte [rdx + rbx + 2], 4 @@ -11978,13 +12632,13 @@ LBB2_186: QUAD $0x0a031a54203a0f66 // pinsrb xmm2, byte [rdx + rbx + 3], 10 QUAD $0x033254203a0f4266; BYTE $0x0b // pinsrb xmm2, byte [rdx + r14 + 3], 11 QUAD $0x033a54203a0f4266; BYTE $0x0c // pinsrb xmm2, byte [rdx + r15 + 3], 12 - LONG $0x24648b4c; BYTE $0x30 // mov r12, qword [rsp + 48] + LONG $0x24648b4c; BYTE $0x10 // mov r12, qword [rsp + 16] QUAD $0x032254203a0f4266; BYTE $0x0d // pinsrb xmm2, byte [rdx + r12 + 3], 13 QUAD $0x031a54203a0f4266; BYTE $0x0e // pinsrb xmm2, byte [rdx + r11 + 3], 14 QUAD $0x030a54203a0f4266; BYTE $0x0f // pinsrb xmm2, byte [rdx + r9 + 3], 15 QUAD $0x0104324c203a0f66 // pinsrb xmm1, byte [rdx + rsi + 4], 1 QUAD $0x0204024c203a0f66 // pinsrb xmm1, byte [rdx + rax + 4], 2 - LONG $0x24748b48; BYTE $0x20 // mov rsi, qword [rsp + 32] + LONG $0x24748b48; BYTE $0x38 // mov rsi, qword [rsp + 56] QUAD $0x0304324c203a0f66 // pinsrb xmm1, byte [rdx + rsi + 4], 3 LONG $0x24748b48; BYTE $0x70 // mov rsi, qword [rsp + 112] QUAD $0x0404324c203a0f66 // pinsrb xmm1, byte [rdx + rsi + 4], 4 @@ -12000,7 +12654,7 @@ LBB2_186: QUAD $0x041a4c203a0f4266; BYTE $0x0e // pinsrb xmm1, byte [rdx + r11 + 4], 14 QUAD $0x040a4c203a0f4266; BYTE $0x0f // pinsrb xmm1, byte [rdx + r9 + 4], 15 WORD $0x894c; BYTE $0xc9 // mov rcx, r9 - LONG $0x244c894c; BYTE $0x38 // mov qword [rsp + 56], r9 + LONG $0x244c894c; BYTE $0x20 // mov qword [rsp + 32], r9 LONG $0xf7eb0f66 // por xmm6, xmm7 LONG $0x244c8b4c; BYTE $0x40 // mov r9, qword [rsp + 64] LONG $0x74b60f42; WORD $0x110a // movzx esi, byte [rdx + r9 + 17] @@ -12017,7 +12671,7 @@ LBB2_186: LONG $0x246c8b4c; BYTE $0x18 // mov r13, qword [rsp + 24] QUAD $0x052a44203a0f4666; BYTE $0x01 // pinsrb xmm8, byte [rdx + r13 + 5], 1 QUAD $0x050244203a0f4466; BYTE $0x02 // pinsrb xmm8, byte [rdx + rax + 5], 2 - LONG $0x245c8b4c; BYTE $0x20 // mov r11, qword [rsp + 32] + LONG $0x245c8b4c; BYTE $0x38 // mov r11, qword [rsp + 56] QUAD $0x051a44203a0f4666; BYTE $0x03 // pinsrb xmm8, byte [rdx + r11 + 5], 3 LONG $0x24448b48; BYTE $0x70 // mov rax, qword [rsp + 112] QUAD $0x050244203a0f4466; BYTE $0x04 // pinsrb xmm8, byte [rdx + rax + 5], 4 @@ -12037,9 +12691,9 @@ LBB2_186: QUAD $0x053a44203a0f4666; BYTE $0x0b // pinsrb xmm8, byte [rdx + r15 + 5], 11 LONG $0x24648b4c; BYTE $0x60 // mov r12, qword [rsp + 96] QUAD $0x052244203a0f4666; BYTE $0x0c // pinsrb xmm8, byte [rdx + r12 + 5], 12 - LONG $0x24748b48; BYTE $0x30 // mov rsi, qword [rsp + 48] - QUAD $0x053244203a0f4466; BYTE $0x0d // pinsrb xmm8, byte [rdx + rsi + 5], 13 LONG $0x24748b48; BYTE $0x10 // mov rsi, qword [rsp + 16] + QUAD $0x053244203a0f4466; BYTE $0x0d // pinsrb xmm8, byte [rdx + rsi + 5], 13 + LONG $0x24748b48; BYTE $0x30 // mov rsi, qword [rsp + 48] QUAD $0x053244203a0f4466; BYTE $0x0e // pinsrb xmm8, byte [rdx + rsi + 5], 14 QUAD $0x050a44203a0f4466; BYTE $0x0f // pinsrb xmm8, byte [rdx + rcx + 5], 15 LONG $0x740f4566; BYTE $0xc1 // pcmpeqb xmm8, xmm9 @@ -12071,11 +12725,11 @@ LBB2_186: QUAD $0x063a5c203a0f4266; BYTE $0x0b // pinsrb xmm3, byte [rdx + r15 + 6], 11 WORD $0x894d; BYTE $0xe7 // mov r15, r12 QUAD $0x06225c203a0f4266; BYTE $0x0c // pinsrb xmm3, byte [rdx + r12 + 6], 12 - LONG $0x24648b4c; BYTE $0x30 // mov r12, qword [rsp + 48] + LONG $0x24648b4c; BYTE $0x10 // mov r12, qword [rsp + 16] QUAD $0x06225c203a0f4266; BYTE $0x0d // pinsrb xmm3, byte [rdx + r12 + 6], 13 - LONG $0x24748b4c; BYTE $0x10 // mov r14, qword [rsp + 16] + LONG $0x24748b4c; BYTE $0x30 // mov r14, qword [rsp + 48] QUAD $0x06325c203a0f4266; BYTE $0x0e // pinsrb xmm3, byte [rdx + r14 + 6], 14 - LONG $0x24448b4c; BYTE $0x38 // mov r8, qword [rsp + 56] + LONG $0x24448b4c; BYTE $0x20 // mov r8, qword [rsp + 32] QUAD $0x06025c203a0f4266; BYTE $0x0f // pinsrb xmm3, byte [rdx + r8 + 6], 15 QUAD $0x0000d024946f0f66; BYTE $0x00 // movdqa xmm2, oword [rsp + 208] QUAD $0x072a54203a0f4266; BYTE $0x01 // pinsrb xmm2, byte [rdx + r13 + 7], 1 @@ -12131,9 +12785,9 @@ LBB2_186: LONG $0x245c8b48; BYTE $0x60 // mov rbx, qword [rsp + 96] QUAD $0x091a54203a0f4466; BYTE $0x0c // pinsrb xmm10, byte [rdx + rbx + 9], 12 QUAD $0x093a54203a0f4666; BYTE $0x0d // pinsrb xmm10, byte [rdx + r15 + 9], 13 - LONG $0x247c8b48; BYTE $0x10 // mov rdi, qword [rsp + 16] + LONG $0x247c8b48; BYTE $0x30 // mov rdi, qword [rsp + 48] QUAD $0x093a54203a0f4466; BYTE $0x0e // pinsrb xmm10, byte [rdx + rdi + 9], 14 - LONG $0x24748b48; BYTE $0x38 // mov rsi, qword [rsp + 56] + LONG $0x24748b48; BYTE $0x20 // mov rsi, qword [rsp + 32] QUAD $0x093254203a0f4466; BYTE $0x0f // pinsrb xmm10, byte [rdx + rsi + 9], 15 LONG $0xeb0f4166; BYTE $0xc8 // por xmm1, xmm8 QUAD $0x0000d0248c7f0f66; BYTE $0x00 // movdqa oword [rsp + 208], xmm1 @@ -12144,10 +12798,10 @@ LBB2_186: LONG $0xf80f4166; BYTE $0xca // psubb xmm1, xmm10 LONG $0x0274b60f; BYTE $0x16 // movzx esi, byte [rdx + rax + 22] LONG $0xde6e0f66 // movd xmm3, esi - QUAD $0x00010024a46f0f66; BYTE $0x00 // movdqa xmm4, oword [rsp + 256] + QUAD $0x00011024a46f0f66; BYTE $0x00 // movdqa xmm4, oword [rsp + 272] QUAD $0x01080a64203a0f66 // pinsrb xmm4, byte [rdx + rcx + 8], 1 QUAD $0x081a64203a0f4266; BYTE $0x02 // pinsrb xmm4, byte [rdx + r11 + 8], 2 - LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] + LONG $0x24448b48; BYTE $0x38 // mov rax, qword [rsp + 56] QUAD $0x03080264203a0f66 // pinsrb xmm4, byte [rdx + rax + 8], 3 QUAD $0x080a64203a0f4266; BYTE $0x04 // pinsrb xmm4, byte [rdx + r9 + 8], 4 QUAD $0x082a64203a0f4266; BYTE $0x05 // pinsrb xmm4, byte [rdx + r13 + 8], 5 @@ -12160,11 +12814,11 @@ LBB2_186: QUAD $0x082264203a0f4266; BYTE $0x0a // pinsrb xmm4, byte [rdx + r12 + 8], 10 QUAD $0x081264203a0f4266; BYTE $0x0b // pinsrb xmm4, byte [rdx + r10 + 8], 11 QUAD $0x0c081a64203a0f66 // pinsrb xmm4, byte [rdx + rbx + 8], 12 - LONG $0x245c8b48; BYTE $0x30 // mov rbx, qword [rsp + 48] + LONG $0x245c8b48; BYTE $0x10 // mov rbx, qword [rsp + 16] QUAD $0x0d081a64203a0f66 // pinsrb xmm4, byte [rdx + rbx + 8], 13 QUAD $0x0e083a64203a0f66 // pinsrb xmm4, byte [rdx + rdi + 8], 14 WORD $0x8949; BYTE $0xfa // mov r10, rdi - LONG $0x244c8b48; BYTE $0x38 // mov rcx, qword [rsp + 56] + LONG $0x244c8b48; BYTE $0x20 // mov rcx, qword [rsp + 32] QUAD $0x0f080a64203a0f66 // pinsrb xmm4, byte [rdx + rcx + 8], 15 LONG $0x740f4166; BYTE $0xe1 // pcmpeqb xmm4, xmm9 LONG $0xdb0f4166; BYTE $0xe0 // pand xmm4, xmm8 @@ -12204,7 +12858,7 @@ LBB2_186: QUAD $0x0b3a5c203a0f4466; BYTE $0x01 // pinsrb xmm11, byte [rdx + rdi + 11], 1 LONG $0x244c8b48; BYTE $0x28 // mov rcx, qword [rsp + 40] QUAD $0x0b0a5c203a0f4466; BYTE $0x02 // pinsrb xmm11, byte [rdx + rcx + 11], 2 - LONG $0x244c8b48; BYTE $0x20 // mov rcx, qword [rsp + 32] + LONG $0x244c8b48; BYTE $0x38 // mov rcx, qword [rsp + 56] QUAD $0x0b0a5c203a0f4466; BYTE $0x03 // pinsrb xmm11, byte [rdx + rcx + 11], 3 QUAD $0x0b025c203a0f4466; BYTE $0x04 // pinsrb xmm11, byte [rdx + rax + 11], 4 WORD $0x894c; BYTE $0xd9 // mov rcx, r11 @@ -12221,15 +12875,15 @@ LBB2_186: QUAD $0x0b3a5c203a0f4666; BYTE $0x0c // pinsrb xmm11, byte [rdx + r15 + 11], 12 WORD $0x8949; BYTE $0xda // mov r10, rbx QUAD $0x0b1a5c203a0f4466; BYTE $0x0d // pinsrb xmm11, byte [rdx + rbx + 11], 13 - LONG $0x24648b4c; BYTE $0x10 // mov r12, qword [rsp + 16] + LONG $0x24648b4c; BYTE $0x30 // mov r12, qword [rsp + 48] QUAD $0x0b225c203a0f4666; BYTE $0x0e // pinsrb xmm11, byte [rdx + r12 + 11], 14 - LONG $0x24748b48; BYTE $0x38 // mov rsi, qword [rsp + 56] + LONG $0x24748b48; BYTE $0x20 // mov rsi, qword [rsp + 32] QUAD $0x0b325c203a0f4466; BYTE $0x0f // pinsrb xmm11, byte [rdx + rsi + 11], 15 LONG $0x246c8b4c; BYTE $0x18 // mov r13, qword [rsp + 24] QUAD $0x0c2a6c203a0f4666; BYTE $0x01 // pinsrb xmm13, byte [rdx + r13 + 12], 1 LONG $0x245c8b48; BYTE $0x28 // mov rbx, qword [rsp + 40] QUAD $0x0c1a6c203a0f4466; BYTE $0x02 // pinsrb xmm13, byte [rdx + rbx + 12], 2 - LONG $0x245c8b48; BYTE $0x20 // mov rbx, qword [rsp + 32] + LONG $0x245c8b48; BYTE $0x38 // mov rbx, qword [rsp + 56] QUAD $0x0c1a6c203a0f4466; BYTE $0x03 // pinsrb xmm13, byte [rdx + rbx + 12], 3 QUAD $0x0c026c203a0f4466; BYTE $0x04 // pinsrb xmm13, byte [rdx + rax + 12], 4 QUAD $0x0c0a6c203a0f4466; BYTE $0x05 // pinsrb xmm13, byte [rdx + rcx + 12], 5 @@ -12249,7 +12903,7 @@ LBB2_186: QUAD $0x0d1264203a0f4666; BYTE $0x01 // pinsrb xmm12, byte [rdx + r10 + 13], 1 LONG $0x24748b48; BYTE $0x28 // mov rsi, qword [rsp + 40] QUAD $0x0d3264203a0f4466; BYTE $0x02 // pinsrb xmm12, byte [rdx + rsi + 13], 2 - LONG $0x24748b48; BYTE $0x20 // mov rsi, qword [rsp + 32] + LONG $0x24748b48; BYTE $0x38 // mov rsi, qword [rsp + 56] QUAD $0x0d3264203a0f4466; BYTE $0x03 // pinsrb xmm12, byte [rdx + rsi + 13], 3 QUAD $0x0d0264203a0f4466; BYTE $0x04 // pinsrb xmm12, byte [rdx + rax + 13], 4 QUAD $0x0d0a64203a0f4466; BYTE $0x05 // pinsrb xmm12, byte [rdx + rcx + 13], 5 @@ -12262,7 +12916,7 @@ LBB2_186: QUAD $0x0d3a64203a0f4666; BYTE $0x0c // pinsrb xmm12, byte [rdx + r15 + 13], 12 QUAD $0x0d2a64203a0f4666; BYTE $0x0d // pinsrb xmm12, byte [rdx + r13 + 13], 13 QUAD $0x0d2264203a0f4666; BYTE $0x0e // pinsrb xmm12, byte [rdx + r12 + 13], 14 - LONG $0x24448b48; BYTE $0x38 // mov rax, qword [rsp + 56] + LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] QUAD $0x0d0264203a0f4466; BYTE $0x0f // pinsrb xmm12, byte [rdx + rax + 13], 15 LONG $0x740f4566; BYTE $0xd9 // pcmpeqb xmm11, xmm9 QUAD $0x0000c09ddb0f4466; BYTE $0x00 // pand xmm11, oword 192[rbp] /* [rip + .LCPI2_12] */ @@ -12277,12 +12931,12 @@ LBB2_186: LONG $0xeb0f4566; BYTE $0xe5 // por xmm12, xmm13 LONG $0x0274b60f; BYTE $0x1a // movzx esi, byte [rdx + rax + 26] LONG $0x6e0f4466; BYTE $0xde // movd xmm11, esi - QUAD $0x00011024a46f0f66; BYTE $0x00 // movdqa xmm4, oword [rsp + 272] + QUAD $0x0000f024a46f0f66; BYTE $0x00 // movdqa xmm4, oword [rsp + 240] QUAD $0x0e1264203a0f4266; BYTE $0x01 // pinsrb xmm4, byte [rdx + r10 + 14], 1 WORD $0x894c; BYTE $0xd6 // mov rsi, r10 LONG $0x24648b4c; BYTE $0x28 // mov r12, qword [rsp + 40] QUAD $0x0e2264203a0f4266; BYTE $0x02 // pinsrb xmm4, byte [rdx + r12 + 14], 2 - LONG $0x24548b4c; BYTE $0x20 // mov r10, qword [rsp + 32] + LONG $0x24548b4c; BYTE $0x38 // mov r10, qword [rsp + 56] QUAD $0x0e1264203a0f4266; BYTE $0x03 // pinsrb xmm4, byte [rdx + r10 + 14], 3 LONG $0x246c8b4c; BYTE $0x70 // mov r13, qword [rsp + 112] QUAD $0x0e2a64203a0f4266; BYTE $0x04 // pinsrb xmm4, byte [rdx + r13 + 14], 4 @@ -12294,11 +12948,11 @@ LBB2_186: QUAD $0x0a0e1a64203a0f66 // pinsrb xmm4, byte [rdx + rbx + 14], 10 QUAD $0x0e3264203a0f4266; BYTE $0x0b // pinsrb xmm4, byte [rdx + r14 + 14], 11 QUAD $0x0e3a64203a0f4266; BYTE $0x0c // pinsrb xmm4, byte [rdx + r15 + 14], 12 - LONG $0x24448b48; BYTE $0x30 // mov rax, qword [rsp + 48] - QUAD $0x0d0e0264203a0f66 // pinsrb xmm4, byte [rdx + rax + 14], 13 LONG $0x24448b48; BYTE $0x10 // mov rax, qword [rsp + 16] + QUAD $0x0d0e0264203a0f66 // pinsrb xmm4, byte [rdx + rax + 14], 13 + LONG $0x24448b48; BYTE $0x30 // mov rax, qword [rsp + 48] QUAD $0x0e0e0264203a0f66 // pinsrb xmm4, byte [rdx + rax + 14], 14 - LONG $0x24448b48; BYTE $0x38 // mov rax, qword [rsp + 56] + LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] QUAD $0x0f0e0264203a0f66 // pinsrb xmm4, byte [rdx + rax + 14], 15 QUAD $0x0f3274203a0f4466; BYTE $0x01 // pinsrb xmm14, byte [rdx + rsi + 15], 1 QUAD $0x0f2274203a0f4666; BYTE $0x02 // pinsrb xmm14, byte [rdx + r12 + 15], 2 @@ -12312,11 +12966,11 @@ LBB2_186: QUAD $0x0f1a74203a0f4466; BYTE $0x0a // pinsrb xmm14, byte [rdx + rbx + 15], 10 QUAD $0x0f3274203a0f4666; BYTE $0x0b // pinsrb xmm14, byte [rdx + r14 + 15], 11 QUAD $0x0f3a74203a0f4666; BYTE $0x0c // pinsrb xmm14, byte [rdx + r15 + 15], 12 - LONG $0x24748b48; BYTE $0x30 // mov rsi, qword [rsp + 48] + LONG $0x24748b48; BYTE $0x10 // mov rsi, qword [rsp + 16] QUAD $0x0f3274203a0f4466; BYTE $0x0d // pinsrb xmm14, byte [rdx + rsi + 15], 13 - LONG $0x24448b48; BYTE $0x10 // mov rax, qword [rsp + 16] + LONG $0x24448b48; BYTE $0x30 // mov rax, qword [rsp + 48] QUAD $0x0f0274203a0f4466; BYTE $0x0e // pinsrb xmm14, byte [rdx + rax + 15], 14 - LONG $0x24748b48; BYTE $0x38 // mov rsi, qword [rsp + 56] + LONG $0x24748b48; BYTE $0x20 // mov rsi, qword [rsp + 32] QUAD $0x0f3274203a0f4466; BYTE $0x0f // pinsrb xmm14, byte [rdx + rsi + 15], 15 LONG $0x24748b48; BYTE $0x18 // mov rsi, qword [rsp + 24] QUAD $0x10327c203a0f4466; BYTE $0x01 // pinsrb xmm15, byte [rdx + rsi + 16], 1 @@ -12331,7 +12985,7 @@ LBB2_186: QUAD $0x101a7c203a0f4466; BYTE $0x0a // pinsrb xmm15, byte [rdx + rbx + 16], 10 QUAD $0x10327c203a0f4666; BYTE $0x0b // pinsrb xmm15, byte [rdx + r14 + 16], 11 QUAD $0x103a7c203a0f4666; BYTE $0x0c // pinsrb xmm15, byte [rdx + r15 + 16], 12 - LONG $0x24748b48; BYTE $0x30 // mov rsi, qword [rsp + 48] + LONG $0x24748b48; BYTE $0x10 // mov rsi, qword [rsp + 16] QUAD $0x10327c203a0f4466; BYTE $0x0d // pinsrb xmm15, byte [rdx + rsi + 16], 13 QUAD $0x10027c203a0f4466; BYTE $0x0e // pinsrb xmm15, byte [rdx + rax + 16], 14 LONG $0x24448b48; BYTE $0x18 // mov rax, qword [rsp + 24] @@ -12348,9 +13002,9 @@ LBB2_186: QUAD $0x0a111a44203a0f66 // pinsrb xmm0, byte [rdx + rbx + 17], 10 QUAD $0x113244203a0f4266; BYTE $0x0b // pinsrb xmm0, byte [rdx + r14 + 17], 11 QUAD $0x113a44203a0f4266; BYTE $0x0c // pinsrb xmm0, byte [rdx + r15 + 17], 12 - LONG $0x24748b48; BYTE $0x30 // mov rsi, qword [rsp + 48] - QUAD $0x0d113244203a0f66 // pinsrb xmm0, byte [rdx + rsi + 17], 13 LONG $0x24748b48; BYTE $0x10 // mov rsi, qword [rsp + 16] + QUAD $0x0d113244203a0f66 // pinsrb xmm0, byte [rdx + rsi + 17], 13 + LONG $0x24748b48; BYTE $0x30 // mov rsi, qword [rsp + 48] QUAD $0x0e113244203a0f66 // pinsrb xmm0, byte [rdx + rsi + 17], 14 QUAD $0x00a024a4eb0f4466; WORD $0x0000 // por xmm12, oword [rsp + 160] LONG $0x24648b4c; BYTE $0x40 // mov r12, qword [rsp + 64] @@ -12365,7 +13019,7 @@ LBB2_186: LONG $0xeb0f4466; BYTE $0xf4 // por xmm14, xmm4 LONG $0x74b60f42; WORD $0x1c22 // movzx esi, byte [rdx + r12 + 28] LONG $0xe66e0f66 // movd xmm4, esi - LONG $0x24448b4c; BYTE $0x38 // mov r8, qword [rsp + 56] + LONG $0x24448b4c; BYTE $0x20 // mov r8, qword [rsp + 32] QUAD $0x110244203a0f4266; BYTE $0x0f // pinsrb xmm0, byte [rdx + r8 + 17], 15 LONG $0xeb0f4566; BYTE $0xf4 // por xmm14, xmm12 LONG $0x740f4166; BYTE $0xc5 // pcmpeqb xmm0, xmm13 @@ -12393,9 +13047,9 @@ LBB2_186: QUAD $0x0a121a6c203a0f66 // pinsrb xmm5, byte [rdx + rbx + 18], 10 QUAD $0x12326c203a0f4266; BYTE $0x0b // pinsrb xmm5, byte [rdx + r14 + 18], 11 QUAD $0x123a6c203a0f4266; BYTE $0x0c // pinsrb xmm5, byte [rdx + r15 + 18], 12 - LONG $0x24748b48; BYTE $0x30 // mov rsi, qword [rsp + 48] - QUAD $0x0d12326c203a0f66 // pinsrb xmm5, byte [rdx + rsi + 18], 13 LONG $0x24748b48; BYTE $0x10 // mov rsi, qword [rsp + 16] + QUAD $0x0d12326c203a0f66 // pinsrb xmm5, byte [rdx + rsi + 18], 13 + LONG $0x24748b48; BYTE $0x30 // mov rsi, qword [rsp + 48] QUAD $0x0e12326c203a0f66 // pinsrb xmm5, byte [rdx + rsi + 18], 14 LONG $0xdb0f4566; BYTE $0xfc // pand xmm15, xmm12 QUAD $0x12026c203a0f4266; BYTE $0x0f // pinsrb xmm5, byte [rdx + r8 + 18], 15 @@ -12445,9 +13099,9 @@ LBB2_186: QUAD $0x0a131a7c203a0f66 // pinsrb xmm7, byte [rdx + rbx + 19], 10 QUAD $0x13327c203a0f4266; BYTE $0x0b // pinsrb xmm7, byte [rdx + r14 + 19], 11 QUAD $0x133a7c203a0f4266; BYTE $0x0c // pinsrb xmm7, byte [rdx + r15 + 19], 12 - LONG $0x24748b48; BYTE $0x30 // mov rsi, qword [rsp + 48] + LONG $0x24748b48; BYTE $0x10 // mov rsi, qword [rsp + 16] QUAD $0x0d13327c203a0f66 // pinsrb xmm7, byte [rdx + rsi + 19], 13 - LONG $0x24648b4c; BYTE $0x10 // mov r12, qword [rsp + 16] + LONG $0x24648b4c; BYTE $0x30 // mov r12, qword [rsp + 48] QUAD $0x13227c203a0f4266; BYTE $0x0e // pinsrb xmm7, byte [rdx + r12 + 19], 14 QUAD $0x13027c203a0f4266; BYTE $0x0f // pinsrb xmm7, byte [rdx + r8 + 19], 15 QUAD $0x141274203a0f4266; BYTE $0x03 // pinsrb xmm6, byte [rdx + r10 + 20], 3 @@ -12676,23 +13330,23 @@ LBB2_186: LONG $0x1c7f0ff3; BYTE $0x88 // movdqu oword [rax + 4*rcx], xmm3 LONG $0x10c18348 // add rcx, 16 WORD $0x8948; BYTE $0xc8 // mov rax, rcx - QUAD $0x000000e8248c3b48 // cmp rcx, qword [rsp + 232] - JNE LBB2_186 - QUAD $0x000000f024bc8b4c // mov r15, qword [rsp + 240] - QUAD $0x000000e824bc3b4c // cmp r15, qword [rsp + 232] + QUAD $0x000000e0248c3b48 // cmp rcx, qword [rsp + 224] + JNE LBB2_183 + QUAD $0x000000e824bc8b4c // mov r15, qword [rsp + 232] + QUAD $0x000000e024bc3b4c // cmp r15, qword [rsp + 224] LONG $0x24748a44; BYTE $0x08 // mov r14b, byte [rsp + 8] - QUAD $0x000000f824b48b48 // mov rsi, qword [rsp + 248] + QUAD $0x0000010824b48b48 // mov rsi, qword [rsp + 264] QUAD $0x0000009024948b4c // mov r10, qword [rsp + 144] JNE LBB2_43 JMP LBB2_131 -LBB2_188: +LBB2_185: LONG $0xf0e78349 // and r15, -16 WORD $0x894c; BYTE $0xf8 // mov rax, r15 LONG $0x05e0c148 // shl rax, 5 WORD $0x0148; BYTE $0xd0 // add rax, rdx - QUAD $0x000000f824848948 // mov qword [rsp + 248], rax - QUAD $0x000000e824bc894c // mov qword [rsp + 232], r15 + QUAD $0x0000010824848948 // mov qword [rsp + 264], rax + QUAD $0x000000e024bc894c // mov qword [rsp + 224], r15 LONG $0x24048b48 // mov rax, qword [rsp] LONG $0xb8048d4a // lea rax, [rax + 4*r15] LONG $0x24448948; BYTE $0x68 // mov qword [rsp + 104], rax @@ -12703,7 +13357,7 @@ LBB2_188: QUAD $0x0000b0248c7f0f66; BYTE $0x00 // movdqa oword [rsp + 176], xmm1 WORD $0xc031 // xor eax, eax -LBB2_189: +LBB2_186: WORD $0x8949; BYTE $0xc7 // mov r15, rax QUAD $0x0000009824848948 // mov qword [rsp + 152], rax LONG $0x05e7c149 // shl r15, 5 @@ -12717,7 +13371,7 @@ LBB2_189: WORD $0x894d; BYTE $0xfc // mov r12, r15 WORD $0x894d; BYTE $0xfa // mov r10, r15 WORD $0x894d; BYTE $0xfd // mov r13, r15 - LONG $0x247c894c; BYTE $0x20 // mov qword [rsp + 32], r15 + LONG $0x247c894c; BYTE $0x38 // mov qword [rsp + 56], r15 LONG $0x34b60f42; BYTE $0x3a // movzx esi, byte [rdx + r15] LONG $0x6e0f4466; BYTE $0xfe // movd xmm15, esi LONG $0x74b60f42; WORD $0x013a // movzx esi, byte [rdx + r15 + 1] @@ -12737,7 +13391,7 @@ LBB2_189: QUAD $0x0000c024847f0f66; BYTE $0x00 // movdqa oword [rsp + 192], xmm0 LONG $0x74b60f42; WORD $0x083a // movzx esi, byte [rdx + r15 + 8] LONG $0xc66e0f66 // movd xmm0, esi - QUAD $0x00011024847f0f66; BYTE $0x00 // movdqa oword [rsp + 272], xmm0 + QUAD $0x0000f024847f0f66; BYTE $0x00 // movdqa oword [rsp + 240], xmm0 LONG $0x74b60f42; WORD $0x093a // movzx esi, byte [rdx + r15 + 9] LONG $0x6e0f4466; BYTE $0xd6 // movd xmm10, esi LONG $0x74b60f42; WORD $0x0a3a // movzx esi, byte [rdx + r15 + 10] @@ -12751,11 +13405,11 @@ LBB2_189: LONG $0x6e0f4466; BYTE $0xe6 // movd xmm12, esi LONG $0x74b60f42; WORD $0x0e3a // movzx esi, byte [rdx + r15 + 14] LONG $0xc66e0f66 // movd xmm0, esi - QUAD $0x00010024847f0f66; BYTE $0x00 // movdqa oword [rsp + 256], xmm0 - LONG $0x247c894c; BYTE $0x38 // mov qword [rsp + 56], r15 + QUAD $0x00011024847f0f66; BYTE $0x00 // movdqa oword [rsp + 272], xmm0 + LONG $0x247c894c; BYTE $0x20 // mov qword [rsp + 32], r15 WORD $0x894d; BYTE $0xfe // mov r14, r15 LONG $0x20ce8349 // or r14, 32 - LONG $0x2474894c; BYTE $0x30 // mov qword [rsp + 48], r14 + LONG $0x2474894c; BYTE $0x10 // mov qword [rsp + 16], r14 LONG $0x40cb8348 // or rbx, 64 LONG $0x245c8948; BYTE $0x48 // mov qword [rsp + 72], rbx LONG $0x60c88348 // or rax, 96 @@ -12772,11 +13426,11 @@ LBB2_189: WORD $0x894d; BYTE $0xfa // mov r10, r15 LONG $0x60ca8149; WORD $0x0001; BYTE $0x00 // or r10, 352 LONG $0x2454894c; BYTE $0x50 // mov qword [rsp + 80], r10 - LONG $0x24648b4c; BYTE $0x20 // mov r12, qword [rsp + 32] + LONG $0x24648b4c; BYTE $0x38 // mov r12, qword [rsp + 56] LONG $0x80cc8149; WORD $0x0001; BYTE $0x00 // or r12, 384 WORD $0x894c; BYTE $0xfe // mov rsi, r15 LONG $0xa0ce8148; WORD $0x0001; BYTE $0x00 // or rsi, 416 - LONG $0x24748948; BYTE $0x10 // mov qword [rsp + 16], rsi + LONG $0x24748948; BYTE $0x30 // mov qword [rsp + 48], rsi LONG $0xc0cd8149; WORD $0x0001; BYTE $0x00 // or r13, 448 LONG $0x246c894c; BYTE $0x18 // mov qword [rsp + 24], r13 WORD $0x894c; BYTE $0xfe // mov rsi, r15 @@ -12799,13 +13453,13 @@ LBB2_189: LONG $0x247c8b4c; BYTE $0x58 // mov r15, qword [rsp + 88] QUAD $0x0a3a3c203a0f4666 // pinsrb xmm15, byte [rdx + r15], 10 QUAD $0x0b123c203a0f4666 // pinsrb xmm15, byte [rdx + r10], 11 - LONG $0x2464894c; BYTE $0x20 // mov qword [rsp + 32], r12 + LONG $0x2464894c; BYTE $0x38 // mov qword [rsp + 56], r12 QUAD $0x0c223c203a0f4666 // pinsrb xmm15, byte [rdx + r12], 12 - LONG $0x24548b4c; BYTE $0x10 // mov r10, qword [rsp + 16] + LONG $0x24548b4c; BYTE $0x30 // mov r10, qword [rsp + 48] QUAD $0x0d123c203a0f4666 // pinsrb xmm15, byte [rdx + r10], 13 QUAD $0x0e2a3c203a0f4666 // pinsrb xmm15, byte [rdx + r13], 14 QUAD $0x0f323c203a0f4466 // pinsrb xmm15, byte [rdx + rsi], 15 - LONG $0x245c8b48; BYTE $0x30 // mov rbx, qword [rsp + 48] + LONG $0x245c8b48; BYTE $0x10 // mov rbx, qword [rsp + 16] QUAD $0x01011a6c203a0f66 // pinsrb xmm5, byte [rdx + rbx + 1], 1 LONG $0x245c8b48; BYTE $0x48 // mov rbx, qword [rsp + 72] QUAD $0x02011a6c203a0f66 // pinsrb xmm5, byte [rdx + rbx + 1], 2 @@ -12830,11 +13484,11 @@ LBB2_189: QUAD $0x000000a0a56f0f66 // movdqa xmm4, oword 160[rbp] /* [rip + .LCPI2_10] */ LONG $0xfcdb0f66 // pand xmm7, xmm4 LONG $0xfdf80f66 // psubb xmm7, xmm5 - LONG $0x246c8b4c; BYTE $0x38 // mov r13, qword [rsp + 56] + LONG $0x246c8b4c; BYTE $0x20 // mov r13, qword [rsp + 32] LONG $0x74b60f42; WORD $0x0f2a // movzx esi, byte [rdx + r13 + 15] LONG $0x6e0f4466; BYTE $0xf6 // movd xmm14, esi LONG $0x740f4566; BYTE $0xf9 // pcmpeqb xmm15, xmm9 - LONG $0x244c8b48; BYTE $0x30 // mov rcx, qword [rsp + 48] + LONG $0x244c8b48; BYTE $0x10 // mov rcx, qword [rsp + 16] QUAD $0x01020a74203a0f66 // pinsrb xmm6, byte [rdx + rcx + 2], 1 QUAD $0x02021a74203a0f66 // pinsrb xmm6, byte [rdx + rbx + 2], 2 LONG $0x245c8b4c; BYTE $0x70 // mov r11, qword [rsp + 112] @@ -12853,9 +13507,9 @@ LBB2_189: QUAD $0x0a023274203a0f66 // pinsrb xmm6, byte [rdx + rsi + 2], 10 LONG $0x24548b4c; BYTE $0x50 // mov r10, qword [rsp + 80] QUAD $0x021274203a0f4266; BYTE $0x0b // pinsrb xmm6, byte [rdx + r10 + 2], 11 - LONG $0x244c8b4c; BYTE $0x20 // mov r9, qword [rsp + 32] + LONG $0x244c8b4c; BYTE $0x38 // mov r9, qword [rsp + 56] QUAD $0x020a74203a0f4266; BYTE $0x0c // pinsrb xmm6, byte [rdx + r9 + 2], 12 - LONG $0x24748b48; BYTE $0x10 // mov rsi, qword [rsp + 16] + LONG $0x24748b48; BYTE $0x30 // mov rsi, qword [rsp + 48] QUAD $0x0d023274203a0f66 // pinsrb xmm6, byte [rdx + rsi + 2], 13 LONG $0x24748b48; BYTE $0x18 // mov rsi, qword [rsp + 24] QUAD $0x0e023274203a0f66 // pinsrb xmm6, byte [rdx + rsi + 2], 14 @@ -12885,13 +13539,13 @@ LBB2_189: QUAD $0x033a54203a0f4266; BYTE $0x0a // pinsrb xmm2, byte [rdx + r15 + 3], 10 QUAD $0x031254203a0f4266; BYTE $0x0b // pinsrb xmm2, byte [rdx + r10 + 3], 11 QUAD $0x030a54203a0f4266; BYTE $0x0c // pinsrb xmm2, byte [rdx + r9 + 3], 12 - LONG $0x24648b4c; BYTE $0x10 // mov r12, qword [rsp + 16] + LONG $0x24648b4c; BYTE $0x30 // mov r12, qword [rsp + 48] QUAD $0x032254203a0f4266; BYTE $0x0d // pinsrb xmm2, byte [rdx + r12 + 3], 13 LONG $0x24448b48; BYTE $0x18 // mov rax, qword [rsp + 24] QUAD $0x0e030254203a0f66 // pinsrb xmm2, byte [rdx + rax + 3], 14 LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] QUAD $0x0f030254203a0f66 // pinsrb xmm2, byte [rdx + rax + 3], 15 - LONG $0x246c8b4c; BYTE $0x30 // mov r13, qword [rsp + 48] + LONG $0x246c8b4c; BYTE $0x10 // mov r13, qword [rsp + 16] QUAD $0x042a4c203a0f4266; BYTE $0x01 // pinsrb xmm1, byte [rdx + r13 + 4], 1 LONG $0x245c8b48; BYTE $0x48 // mov rbx, qword [rsp + 72] QUAD $0x02041a4c203a0f66 // pinsrb xmm1, byte [rdx + rbx + 4], 2 @@ -12914,7 +13568,7 @@ LBB2_189: QUAD $0x0f04024c203a0f66 // pinsrb xmm1, byte [rdx + rax + 4], 15 WORD $0x8949; BYTE $0xc2 // mov r10, rax LONG $0xf7eb0f66 // por xmm6, xmm7 - LONG $0x247c8b48; BYTE $0x38 // mov rdi, qword [rsp + 56] + LONG $0x247c8b48; BYTE $0x20 // mov rdi, qword [rsp + 32] LONG $0x3a74b60f; BYTE $0x11 // movzx esi, byte [rdx + rdi + 17] LONG $0xc66e0f66 // movd xmm0, esi LONG $0x740f4166; BYTE $0xd1 // pcmpeqb xmm2, xmm9 @@ -12926,7 +13580,7 @@ LBB2_189: LONG $0xcaeb0f66 // por xmm1, xmm2 LONG $0x3a74b60f; BYTE $0x12 // movzx esi, byte [rdx + rdi + 18] LONG $0xee6e0f66 // movd xmm5, esi - LONG $0x246c8b4c; BYTE $0x30 // mov r13, qword [rsp + 48] + LONG $0x246c8b4c; BYTE $0x10 // mov r13, qword [rsp + 16] QUAD $0x052a44203a0f4666; BYTE $0x01 // pinsrb xmm8, byte [rdx + r13 + 5], 1 LONG $0x245c8b4c; BYTE $0x48 // mov r11, qword [rsp + 72] QUAD $0x051a44203a0f4666; BYTE $0x02 // pinsrb xmm8, byte [rdx + r11 + 5], 2 @@ -12946,9 +13600,9 @@ LBB2_189: LONG $0x24748b48; BYTE $0x58 // mov rsi, qword [rsp + 88] QUAD $0x053244203a0f4466; BYTE $0x0a // pinsrb xmm8, byte [rdx + rsi + 5], 10 QUAD $0x053a44203a0f4666; BYTE $0x0b // pinsrb xmm8, byte [rdx + r15 + 5], 11 - LONG $0x24648b4c; BYTE $0x20 // mov r12, qword [rsp + 32] + LONG $0x24648b4c; BYTE $0x38 // mov r12, qword [rsp + 56] QUAD $0x052244203a0f4666; BYTE $0x0c // pinsrb xmm8, byte [rdx + r12 + 5], 12 - LONG $0x24748b48; BYTE $0x10 // mov rsi, qword [rsp + 16] + LONG $0x24748b48; BYTE $0x30 // mov rsi, qword [rsp + 48] QUAD $0x053244203a0f4466; BYTE $0x0d // pinsrb xmm8, byte [rdx + rsi + 5], 13 QUAD $0x051a44203a0f4466; BYTE $0x0e // pinsrb xmm8, byte [rdx + rbx + 5], 14 QUAD $0x051244203a0f4666; BYTE $0x0f // pinsrb xmm8, byte [rdx + r10 + 5], 15 @@ -12981,7 +13635,7 @@ LBB2_189: QUAD $0x0b06025c203a0f66 // pinsrb xmm3, byte [rdx + rax + 6], 11 WORD $0x894c; BYTE $0xe3 // mov rbx, r12 QUAD $0x06225c203a0f4266; BYTE $0x0c // pinsrb xmm3, byte [rdx + r12 + 6], 12 - LONG $0x24648b4c; BYTE $0x10 // mov r12, qword [rsp + 16] + LONG $0x24648b4c; BYTE $0x30 // mov r12, qword [rsp + 48] QUAD $0x06225c203a0f4266; BYTE $0x0d // pinsrb xmm3, byte [rdx + r12 + 6], 13 LONG $0x244c8b48; BYTE $0x18 // mov rcx, qword [rsp + 24] QUAD $0x0e060a5c203a0f66 // pinsrb xmm3, byte [rdx + rcx + 6], 14 @@ -13019,10 +13673,10 @@ LBB2_189: LONG $0xd1db0f66 // pand xmm2, xmm1 LONG $0xd3eb0f66 // por xmm2, xmm3 LONG $0xca6f0f66 // movdqa xmm1, xmm2 - LONG $0x24448b48; BYTE $0x38 // mov rax, qword [rsp + 56] + LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] LONG $0x0274b60f; BYTE $0x15 // movzx esi, byte [rdx + rax + 21] LONG $0xd66e0f66 // movd xmm2, esi - LONG $0x244c8b4c; BYTE $0x30 // mov r9, qword [rsp + 48] + LONG $0x244c8b4c; BYTE $0x10 // mov r9, qword [rsp + 16] QUAD $0x090a54203a0f4666; BYTE $0x01 // pinsrb xmm10, byte [rdx + r9 + 9], 1 QUAD $0x092a54203a0f4666; BYTE $0x02 // pinsrb xmm10, byte [rdx + r13 + 9], 2 LONG $0x24448b4c; BYTE $0x70 // mov r8, qword [rsp + 112] @@ -13039,7 +13693,7 @@ LBB2_189: QUAD $0x093a54203a0f4666; BYTE $0x0a // pinsrb xmm10, byte [rdx + r15 + 9], 10 LONG $0x24748b48; BYTE $0x50 // mov rsi, qword [rsp + 80] QUAD $0x093254203a0f4466; BYTE $0x0b // pinsrb xmm10, byte [rdx + rsi + 9], 11 - LONG $0x24748b48; BYTE $0x20 // mov rsi, qword [rsp + 32] + LONG $0x24748b48; BYTE $0x38 // mov rsi, qword [rsp + 56] QUAD $0x093254203a0f4466; BYTE $0x0c // pinsrb xmm10, byte [rdx + rsi + 9], 12 QUAD $0x091a54203a0f4666; BYTE $0x0d // pinsrb xmm10, byte [rdx + r11 + 9], 13 QUAD $0x092254203a0f4666; BYTE $0x0e // pinsrb xmm10, byte [rdx + r12 + 9], 14 @@ -13053,7 +13707,7 @@ LBB2_189: LONG $0xf80f4166; BYTE $0xca // psubb xmm1, xmm10 LONG $0x0274b60f; BYTE $0x16 // movzx esi, byte [rdx + rax + 22] LONG $0xde6e0f66 // movd xmm3, esi - QUAD $0x00011024a46f0f66; BYTE $0x00 // movdqa xmm4, oword [rsp + 272] + QUAD $0x0000f024a46f0f66; BYTE $0x00 // movdqa xmm4, oword [rsp + 240] QUAD $0x080a64203a0f4266; BYTE $0x01 // pinsrb xmm4, byte [rdx + r9 + 8], 1 LONG $0x24648b4c; BYTE $0x48 // mov r12, qword [rsp + 72] QUAD $0x082264203a0f4266; BYTE $0x02 // pinsrb xmm4, byte [rdx + r12 + 8], 2 @@ -13069,7 +13723,7 @@ LBB2_189: QUAD $0x083a64203a0f4266; BYTE $0x0a // pinsrb xmm4, byte [rdx + r15 + 8], 10 LONG $0x24448b48; BYTE $0x50 // mov rax, qword [rsp + 80] QUAD $0x0b080264203a0f66 // pinsrb xmm4, byte [rdx + rax + 8], 11 - LONG $0x24748b48; BYTE $0x20 // mov rsi, qword [rsp + 32] + LONG $0x24748b48; BYTE $0x38 // mov rsi, qword [rsp + 56] QUAD $0x0c083264203a0f66 // pinsrb xmm4, byte [rdx + rsi + 8], 12 QUAD $0x081a64203a0f4266; BYTE $0x0d // pinsrb xmm4, byte [rdx + r11 + 8], 13 LONG $0x24548b4c; BYTE $0x18 // mov r10, qword [rsp + 24] @@ -13102,14 +13756,14 @@ LBB2_189: LONG $0x740f4566; BYTE $0xd1 // pcmpeqb xmm10, xmm9 QUAD $0x0000b095db0f4466; BYTE $0x00 // pand xmm10, oword 176[rbp] /* [rip + .LCPI2_11] */ LONG $0xeb0f4466; BYTE $0xd4 // por xmm10, xmm4 - LONG $0x244c8b48; BYTE $0x38 // mov rcx, qword [rsp + 56] + LONG $0x244c8b48; BYTE $0x20 // mov rcx, qword [rsp + 32] LONG $0x0a74b60f; BYTE $0x17 // movzx esi, byte [rdx + rcx + 23] LONG $0x6e0f4466; BYTE $0xc6 // movd xmm8, esi LONG $0xeb0f4466; BYTE $0xd1 // por xmm10, xmm1 QUAD $0x00a024947f0f4466; WORD $0x0000 // movdqa oword [rsp + 160], xmm10 LONG $0x0a74b60f; BYTE $0x18 // movzx esi, byte [rdx + rcx + 24] LONG $0x6e0f4466; BYTE $0xd6 // movd xmm10, esi - LONG $0x24548b4c; BYTE $0x30 // mov r10, qword [rsp + 48] + LONG $0x24548b4c; BYTE $0x10 // mov r10, qword [rsp + 16] QUAD $0x0b125c203a0f4666; BYTE $0x01 // pinsrb xmm11, byte [rdx + r10 + 11], 1 QUAD $0x0b225c203a0f4666; BYTE $0x02 // pinsrb xmm11, byte [rdx + r12 + 11], 2 WORD $0x894c; BYTE $0xc9 // mov rcx, r9 @@ -13126,9 +13780,9 @@ LBB2_189: QUAD $0x0b1a5c203a0f4466; BYTE $0x0a // pinsrb xmm11, byte [rdx + rbx + 11], 10 WORD $0x8948; BYTE $0xc3 // mov rbx, rax QUAD $0x0b025c203a0f4466; BYTE $0x0b // pinsrb xmm11, byte [rdx + rax + 11], 11 - LONG $0x246c8b4c; BYTE $0x20 // mov r13, qword [rsp + 32] + LONG $0x246c8b4c; BYTE $0x38 // mov r13, qword [rsp + 56] QUAD $0x0b2a5c203a0f4666; BYTE $0x0c // pinsrb xmm11, byte [rdx + r13 + 11], 12 - LONG $0x244c8b4c; BYTE $0x10 // mov r9, qword [rsp + 16] + LONG $0x244c8b4c; BYTE $0x30 // mov r9, qword [rsp + 48] QUAD $0x0b0a5c203a0f4666; BYTE $0x0d // pinsrb xmm11, byte [rdx + r9 + 11], 13 LONG $0x24748b48; BYTE $0x18 // mov rsi, qword [rsp + 24] QUAD $0x0b325c203a0f4466; BYTE $0x0e // pinsrb xmm11, byte [rdx + rsi + 11], 14 @@ -13176,7 +13830,7 @@ LBB2_189: LONG $0x740f4566; BYTE $0xe9 // pcmpeqb xmm13, xmm9 QUAD $0x0000d0addb0f4466; BYTE $0x00 // pand xmm13, oword 208[rbp] /* [rip + .LCPI2_13] */ LONG $0xeb0f4566; BYTE $0xeb // por xmm13, xmm11 - LONG $0x245c8b48; BYTE $0x38 // mov rbx, qword [rsp + 56] + LONG $0x245c8b48; BYTE $0x20 // mov rbx, qword [rsp + 32] LONG $0x1a74b60f; BYTE $0x19 // movzx esi, byte [rdx + rbx + 25] LONG $0xce6e0f66 // movd xmm1, esi LONG $0x740f4566; BYTE $0xe1 // pcmpeqb xmm12, xmm9 @@ -13184,8 +13838,8 @@ LBB2_189: LONG $0xeb0f4566; BYTE $0xe5 // por xmm12, xmm13 LONG $0x1a74b60f; BYTE $0x1a // movzx esi, byte [rdx + rbx + 26] LONG $0x6e0f4466; BYTE $0xde // movd xmm11, esi - QUAD $0x00010024a46f0f66; BYTE $0x00 // movdqa xmm4, oword [rsp + 256] - LONG $0x24448b48; BYTE $0x30 // mov rax, qword [rsp + 48] + QUAD $0x00011024a46f0f66; BYTE $0x00 // movdqa xmm4, oword [rsp + 272] + LONG $0x24448b48; BYTE $0x10 // mov rax, qword [rsp + 16] QUAD $0x010e0264203a0f66 // pinsrb xmm4, byte [rdx + rax + 14], 1 QUAD $0x0e2264203a0f4266; BYTE $0x02 // pinsrb xmm4, byte [rdx + r12 + 14], 2 QUAD $0x0e1264203a0f4266; BYTE $0x03 // pinsrb xmm4, byte [rdx + r10 + 14], 3 @@ -13204,14 +13858,14 @@ LBB2_189: QUAD $0x0e3a64203a0f4266; BYTE $0x0a // pinsrb xmm4, byte [rdx + r15 + 14], 10 LONG $0x24748b4c; BYTE $0x50 // mov r14, qword [rsp + 80] QUAD $0x0e3264203a0f4266; BYTE $0x0b // pinsrb xmm4, byte [rdx + r14 + 14], 11 - LONG $0x247c8b4c; BYTE $0x20 // mov r15, qword [rsp + 32] + LONG $0x247c8b4c; BYTE $0x38 // mov r15, qword [rsp + 56] QUAD $0x0e3a64203a0f4266; BYTE $0x0c // pinsrb xmm4, byte [rdx + r15 + 14], 12 QUAD $0x0e2a64203a0f4266; BYTE $0x0d // pinsrb xmm4, byte [rdx + r13 + 14], 13 LONG $0x246c8b4c; BYTE $0x18 // mov r13, qword [rsp + 24] QUAD $0x0e2a64203a0f4266; BYTE $0x0e // pinsrb xmm4, byte [rdx + r13 + 14], 14 LONG $0x24748b48; BYTE $0x28 // mov rsi, qword [rsp + 40] QUAD $0x0f0e3264203a0f66 // pinsrb xmm4, byte [rdx + rsi + 14], 15 - LONG $0x24748b48; BYTE $0x30 // mov rsi, qword [rsp + 48] + LONG $0x24748b48; BYTE $0x10 // mov rsi, qword [rsp + 16] QUAD $0x0f3274203a0f4466; BYTE $0x01 // pinsrb xmm14, byte [rdx + rsi + 15], 1 QUAD $0x0f2274203a0f4666; BYTE $0x02 // pinsrb xmm14, byte [rdx + r12 + 15], 2 QUAD $0x0f1274203a0f4666; BYTE $0x03 // pinsrb xmm14, byte [rdx + r10 + 15], 3 @@ -13224,12 +13878,12 @@ LBB2_189: QUAD $0x0f1a74203a0f4666; BYTE $0x0a // pinsrb xmm14, byte [rdx + r11 + 15], 10 QUAD $0x0f3274203a0f4666; BYTE $0x0b // pinsrb xmm14, byte [rdx + r14 + 15], 11 QUAD $0x0f3a74203a0f4666; BYTE $0x0c // pinsrb xmm14, byte [rdx + r15 + 15], 12 - LONG $0x24748b48; BYTE $0x10 // mov rsi, qword [rsp + 16] + LONG $0x24748b48; BYTE $0x30 // mov rsi, qword [rsp + 48] QUAD $0x0f3274203a0f4466; BYTE $0x0d // pinsrb xmm14, byte [rdx + rsi + 15], 13 QUAD $0x0f2a74203a0f4666; BYTE $0x0e // pinsrb xmm14, byte [rdx + r13 + 15], 14 LONG $0x24748b48; BYTE $0x28 // mov rsi, qword [rsp + 40] QUAD $0x0f3274203a0f4466; BYTE $0x0f // pinsrb xmm14, byte [rdx + rsi + 15], 15 - LONG $0x24748b48; BYTE $0x30 // mov rsi, qword [rsp + 48] + LONG $0x24748b48; BYTE $0x10 // mov rsi, qword [rsp + 16] QUAD $0x10327c203a0f4466; BYTE $0x01 // pinsrb xmm15, byte [rdx + rsi + 16], 1 QUAD $0x10227c203a0f4666; BYTE $0x02 // pinsrb xmm15, byte [rdx + r12 + 16], 2 QUAD $0x10127c203a0f4666; BYTE $0x03 // pinsrb xmm15, byte [rdx + r10 + 16], 3 @@ -13242,10 +13896,10 @@ LBB2_189: QUAD $0x101a7c203a0f4666; BYTE $0x0a // pinsrb xmm15, byte [rdx + r11 + 16], 10 QUAD $0x10327c203a0f4666; BYTE $0x0b // pinsrb xmm15, byte [rdx + r14 + 16], 11 QUAD $0x103a7c203a0f4666; BYTE $0x0c // pinsrb xmm15, byte [rdx + r15 + 16], 12 - LONG $0x24748b48; BYTE $0x10 // mov rsi, qword [rsp + 16] + LONG $0x24748b48; BYTE $0x30 // mov rsi, qword [rsp + 48] QUAD $0x10327c203a0f4466; BYTE $0x0d // pinsrb xmm15, byte [rdx + rsi + 16], 13 QUAD $0x102a7c203a0f4666; BYTE $0x0e // pinsrb xmm15, byte [rdx + r13 + 16], 14 - LONG $0x24748b48; BYTE $0x30 // mov rsi, qword [rsp + 48] + LONG $0x24748b48; BYTE $0x10 // mov rsi, qword [rsp + 16] QUAD $0x01113244203a0f66 // pinsrb xmm0, byte [rdx + rsi + 17], 1 QUAD $0x112244203a0f4266; BYTE $0x02 // pinsrb xmm0, byte [rdx + r12 + 17], 2 QUAD $0x111244203a0f4266; BYTE $0x03 // pinsrb xmm0, byte [rdx + r10 + 17], 3 @@ -13260,12 +13914,12 @@ LBB2_189: QUAD $0x111a44203a0f4266; BYTE $0x0a // pinsrb xmm0, byte [rdx + r11 + 17], 10 QUAD $0x113244203a0f4266; BYTE $0x0b // pinsrb xmm0, byte [rdx + r14 + 17], 11 QUAD $0x113a44203a0f4266; BYTE $0x0c // pinsrb xmm0, byte [rdx + r15 + 17], 12 - LONG $0x24748b48; BYTE $0x10 // mov rsi, qword [rsp + 16] + LONG $0x24748b48; BYTE $0x30 // mov rsi, qword [rsp + 48] QUAD $0x0d113244203a0f66 // pinsrb xmm0, byte [rdx + rsi + 17], 13 LONG $0x24748b48; BYTE $0x18 // mov rsi, qword [rsp + 24] QUAD $0x0e113244203a0f66 // pinsrb xmm0, byte [rdx + rsi + 17], 14 QUAD $0x00a024a4eb0f4466; WORD $0x0000 // por xmm12, oword [rsp + 160] - LONG $0x24648b4c; BYTE $0x38 // mov r12, qword [rsp + 56] + LONG $0x24648b4c; BYTE $0x20 // mov r12, qword [rsp + 32] LONG $0x74b60f42; WORD $0x1b22 // movzx esi, byte [rdx + r12 + 27] LONG $0x6e0f4466; BYTE $0xce // movd xmm9, esi QUAD $0x00b024ac6f0f4466; WORD $0x0000 // movdqa xmm13, oword [rsp + 176] @@ -13291,7 +13945,7 @@ LBB2_189: QUAD $0x10027c203a0f4666; BYTE $0x0f // pinsrb xmm15, byte [rdx + r8 + 16], 15 QUAD $0x0000b024846f0f66; BYTE $0x00 // movdqa xmm0, oword [rsp + 176] LONG $0x740f4466; BYTE $0xf8 // pcmpeqb xmm15, xmm0 - LONG $0x24648b4c; BYTE $0x30 // mov r12, qword [rsp + 48] + LONG $0x24648b4c; BYTE $0x10 // mov r12, qword [rsp + 16] QUAD $0x12226c203a0f4266; BYTE $0x01 // pinsrb xmm5, byte [rdx + r12 + 18], 1 LONG $0x24748b48; BYTE $0x48 // mov rsi, qword [rsp + 72] QUAD $0x0212326c203a0f66 // pinsrb xmm5, byte [rdx + rsi + 18], 2 @@ -13305,7 +13959,7 @@ LBB2_189: QUAD $0x121a6c203a0f4266; BYTE $0x0a // pinsrb xmm5, byte [rdx + r11 + 18], 10 QUAD $0x12326c203a0f4266; BYTE $0x0b // pinsrb xmm5, byte [rdx + r14 + 18], 11 QUAD $0x123a6c203a0f4266; BYTE $0x0c // pinsrb xmm5, byte [rdx + r15 + 18], 12 - LONG $0x24748b48; BYTE $0x10 // mov rsi, qword [rsp + 16] + LONG $0x24748b48; BYTE $0x30 // mov rsi, qword [rsp + 48] QUAD $0x0d12326c203a0f66 // pinsrb xmm5, byte [rdx + rsi + 18], 13 LONG $0x24748b48; BYTE $0x18 // mov rsi, qword [rsp + 24] QUAD $0x0e12326c203a0f66 // pinsrb xmm5, byte [rdx + rsi + 18], 14 @@ -13314,7 +13968,7 @@ LBB2_189: LONG $0xe8740f66 // pcmpeqb xmm5, xmm0 QUAD $0x000000b0addb0f66 // pand xmm5, oword 176[rbp] /* [rip + .LCPI2_11] */ LONG $0xeb0f4166; BYTE $0xef // por xmm5, xmm15 - LONG $0x24448b48; BYTE $0x38 // mov rax, qword [rsp + 56] + LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] LONG $0x0274b60f; BYTE $0x1e // movzx esi, byte [rdx + rax + 30] LONG $0x6e0f4466; BYTE $0xe6 // movd xmm12, esi QUAD $0x13227c203a0f4266; BYTE $0x01 // pinsrb xmm7, byte [rdx + r12 + 19], 1 @@ -13357,7 +14011,7 @@ LBB2_189: QUAD $0x131a7c203a0f4266; BYTE $0x0a // pinsrb xmm7, byte [rdx + r11 + 19], 10 QUAD $0x13327c203a0f4266; BYTE $0x0b // pinsrb xmm7, byte [rdx + r14 + 19], 11 QUAD $0x133a7c203a0f4266; BYTE $0x0c // pinsrb xmm7, byte [rdx + r15 + 19], 12 - LONG $0x24748b48; BYTE $0x10 // mov rsi, qword [rsp + 16] + LONG $0x24748b48; BYTE $0x30 // mov rsi, qword [rsp + 48] QUAD $0x0d13327c203a0f66 // pinsrb xmm7, byte [rdx + rsi + 19], 13 LONG $0x24648b4c; BYTE $0x18 // mov r12, qword [rsp + 24] QUAD $0x13227c203a0f4266; BYTE $0x0e // pinsrb xmm7, byte [rdx + r12 + 19], 14 @@ -13588,28 +14242,27 @@ LBB2_189: LONG $0x1c7f0ff3; BYTE $0x88 // movdqu oword [rax + 4*rcx], xmm3 LONG $0x10c18348 // add rcx, 16 WORD $0x8948; BYTE $0xc8 // mov rax, rcx - QUAD $0x000000e8248c3b48 // cmp rcx, qword [rsp + 232] - JNE LBB2_189 - QUAD $0x000000f024bc8b4c // mov r15, qword [rsp + 240] - QUAD $0x000000e824bc3b4c // cmp r15, qword [rsp + 232] + QUAD $0x000000e0248c3b48 // cmp rcx, qword [rsp + 224] + JNE LBB2_186 + QUAD $0x000000e824bc8b4c // mov r15, qword [rsp + 232] + QUAD $0x000000e024bc3b4c // cmp r15, qword [rsp + 224] LONG $0x24748a44; BYTE $0x08 // mov r14b, byte [rsp + 8] - QUAD $0x000000f824b48b48 // mov rsi, qword [rsp + 248] + QUAD $0x0000010824b48b48 // mov rsi, qword [rsp + 264] QUAD $0x0000009024948b4c // mov r10, qword [rsp + 144] JNE LBB2_69 JMP LBB2_135 -LBB2_191: - LONG $0xf8e68349 // and r14, -8 - WORD $0x894c; BYTE $0xf0 // mov rax, r14 +LBB2_188: + LONG $0xf8e78349 // and r15, -8 + WORD $0x894c; BYTE $0xf8 // mov rax, r15 LONG $0x06e0c148 // shl rax, 6 WORD $0x0148; BYTE $0xd0 // add rax, rdx LONG $0x24448948; BYTE $0x40 // mov qword [rsp + 64], rax LONG $0x24048b48 // mov rax, qword [rsp] - LONG $0x2474894c; BYTE $0x20 // mov qword [rsp + 32], r14 - LONG $0xb0048d4a // lea rax, [rax + 4*r14] - LONG $0x24448948; BYTE $0x08 // mov qword [rsp + 8], rax - LONG $0x246c8944; BYTE $0x38 // mov dword [rsp + 56], r13d - LONG $0x6e0f4166; BYTE $0xc5 // movd xmm0, r13d + LONG $0x247c894c; BYTE $0x20 // mov qword [rsp + 32], r15 + LONG $0xb8048d4a // lea rax, [rax + 4*r15] + LONG $0x24448948; BYTE $0x10 // mov qword [rsp + 16], rax + LONG $0x6e0f4166; BYTE $0xc6 // movd xmm0, r14d LONG $0xc0700ff2; BYTE $0xe0 // pshuflw xmm0, xmm0, 224 LONG $0xc0700f66; BYTE $0x00 // pshufd xmm0, xmm0, 0 WORD $0x3145; BYTE $0xff // xor r15d, r15d @@ -13621,7 +14274,7 @@ LBB2_191: LONG $0x6f0f4466; WORD $0x506d // movdqa xmm13, oword 80[rbp] /* [rip + .LCPI2_5] */ LONG $0x6f0f4466; WORD $0x6075 // movdqa xmm14, oword 96[rbp] /* [rip + .LCPI2_6] */ -LBB2_192: +LBB2_189: LONG $0x247c894c; BYTE $0x30 // mov qword [rsp + 48], r15 LONG $0x06e7c149 // shl r15, 6 WORD $0x894d; BYTE $0xf9 // mov r9, r15 @@ -13630,9 +14283,9 @@ LBB2_192: WORD $0x894c; BYTE $0xf9 // mov rcx, r15 WORD $0x894c; BYTE $0xff // mov rdi, r15 WORD $0x894c; BYTE $0xfb // mov rbx, r15 - LONG $0x04b70f42; BYTE $0x3a // movzx eax, word [rdx + r15] - LONG $0x54b70f46; WORD $0x023a // movzx r10d, word [rdx + r15 + 2] - LONG $0x74b70f46; WORD $0x043a // movzx r14d, word [rdx + r15 + 4] + LONG $0x34b70f46; BYTE $0x3a // movzx r14d, word [rdx + r15] + LONG $0x44b70f42; WORD $0x023a // movzx eax, word [rdx + r15 + 2] + LONG $0x54b70f46; WORD $0x043a // movzx r10d, word [rdx + r15 + 4] LONG $0x74b70f42; WORD $0x063a // movzx esi, word [rdx + r15 + 6] LONG $0x5cb70f46; WORD $0x083a // movzx r11d, word [rdx + r15 + 8] WORD $0x894d; BYTE $0xf8 // mov r8, r15 @@ -13643,7 +14296,7 @@ LBB2_192: LONG $0x40c98148; WORD $0x0001; BYTE $0x00 // or rcx, 320 LONG $0x80cf8148; WORD $0x0001; BYTE $0x00 // or rdi, 384 LONG $0xc0cb8148; WORD $0x0001; BYTE $0x00 // or rbx, 448 - LONG $0xe06e0f66 // movd xmm4, eax + LONG $0x6e0f4166; BYTE $0xe6 // movd xmm4, r14d LONG $0xc40f4266; WORD $0x0224; BYTE $0x01 // pinsrw xmm4, word [rdx + r8], 1 LONG $0xc40f4266; WORD $0x0a24; BYTE $0x02 // pinsrw xmm4, word [rdx + r9], 2 LONG $0xc40f4266; WORD $0x2224; BYTE $0x03 // pinsrw xmm4, word [rdx + r12], 3 @@ -13651,31 +14304,31 @@ LBB2_192: LONG $0x24c40f66; WORD $0x050a // pinsrw xmm4, word [rdx + rcx], 5 LONG $0x24c40f66; WORD $0x063a // pinsrw xmm4, word [rdx + rdi], 6 LONG $0x24c40f66; WORD $0x071a // pinsrw xmm4, word [rdx + rbx], 7 - LONG $0x44b70f42; WORD $0x0a3a // movzx eax, word [rdx + r15 + 10] - LONG $0x18244489 // mov dword [rsp + 24], eax - LONG $0x6e0f4166; BYTE $0xf2 // movd xmm6, r10d + LONG $0x74b70f46; WORD $0x0a3a // movzx r14d, word [rdx + r15 + 10] + LONG $0xf06e0f66 // movd xmm6, eax QUAD $0x01020274c40f4266 // pinsrw xmm6, word [rdx + r8 + 2], 1 QUAD $0x02020a74c40f4266 // pinsrw xmm6, word [rdx + r9 + 2], 2 QUAD $0x03022274c40f4266 // pinsrw xmm6, word [rdx + r12 + 2], 3 LONG $0x44b70f42; WORD $0x0c3a // movzx eax, word [rdx + r15 + 12] - LONG $0x10244489 // mov dword [rsp + 16], eax + LONG $0x28244489 // mov dword [rsp + 40], eax QUAD $0x04022a74c40f4266 // pinsrw xmm6, word [rdx + r13 + 2], 4 - LONG $0x6e0f4166; BYTE $0xd6 // movd xmm2, r14d - LONG $0x74b70f46; WORD $0x0e3a // movzx r14d, word [rdx + r15 + 14] + LONG $0x6e0f4166; BYTE $0xd2 // movd xmm2, r10d + LONG $0x44b70f42; WORD $0x0e3a // movzx eax, word [rdx + r15 + 14] + LONG $0x18244489 // mov dword [rsp + 24], eax LONG $0x74c40f66; WORD $0x020a; BYTE $0x05 // pinsrw xmm6, word [rdx + rcx + 2], 5 LONG $0xee6e0f66 // movd xmm5, esi LONG $0x74b70f42; WORD $0x103a // movzx esi, word [rdx + r15 + 16] LONG $0x74c40f66; WORD $0x023a; BYTE $0x06 // pinsrw xmm6, word [rdx + rdi + 2], 6 LONG $0x6e0f4166; BYTE $0xdb // movd xmm3, r11d LONG $0x44b70f42; WORD $0x123a // movzx eax, word [rdx + r15 + 18] - LONG $0x28244489 // mov dword [rsp + 40], eax + LONG $0x38244489 // mov dword [rsp + 56], eax LONG $0x74c40f66; WORD $0x021a; BYTE $0x07 // pinsrw xmm6, word [rdx + rbx + 2], 7 LONG $0xf0750f66 // pcmpeqw xmm6, xmm0 LONG $0xf6630f66 // packsswb xmm6, xmm6 LONG $0xce6f0f66 // movdqa xmm1, xmm6 LONG $0xdb0f4166; BYTE $0xcf // pand xmm1, xmm15 LONG $0xcef80f66 // psubb xmm1, xmm6 - LONG $0x746e0f66; WORD $0x1824 // movd xmm6, dword [rsp + 24] + LONG $0x6e0f4166; BYTE $0xf6 // movd xmm6, r14d LONG $0x54b70f46; WORD $0x143a // movzx r10d, word [rdx + r15 + 20] LONG $0xe0750f66 // pcmpeqw xmm4, xmm0 LONG $0xe4630f66 // packsswb xmm4, xmm4 @@ -13702,7 +14355,7 @@ LBB2_192: LONG $0x5cc40f66; WORD $0x083a; BYTE $0x06 // pinsrw xmm3, word [rdx + rdi + 8], 6 LONG $0x5cc40f66; WORD $0x081a; BYTE $0x07 // pinsrw xmm3, word [rdx + rbx + 8], 7 LONG $0xcceb0f66 // por xmm1, xmm4 - LONG $0x7c6e0f66; WORD $0x1024 // movd xmm7, dword [rsp + 16] + LONG $0x7c6e0f66; WORD $0x2824 // movd xmm7, dword [rsp + 40] LONG $0x44b70f42; WORD $0x163a // movzx eax, word [rdx + r15 + 22] LONG $0xd0750f66 // pcmpeqw xmm2, xmm0 LONG $0xd2630f66 // packsswb xmm2, xmm2 @@ -13710,7 +14363,7 @@ LBB2_192: LONG $0xf2710f66; BYTE $0x02 // psllw xmm2, 2 LONG $0xdb0f4166; BYTE $0xd1 // pand xmm2, xmm9 LONG $0xd1eb0f66 // por xmm2, xmm1 - LONG $0x6e0f4166; BYTE $0xe6 // movd xmm4, r14d + LONG $0x646e0f66; WORD $0x1824 // movd xmm4, dword [rsp + 24] LONG $0x5cb70f46; WORD $0x183a // movzx r11d, word [rdx + r15 + 24] LONG $0xe8750f66 // pcmpeqw xmm5, xmm0 LONG $0xed630f66 // packsswb xmm5, xmm5 @@ -13740,7 +14393,7 @@ LBB2_192: LONG $0x7cc40f66; WORD $0x0c3a; BYTE $0x06 // pinsrw xmm7, word [rdx + rdi + 12], 6 LONG $0x7cc40f66; WORD $0x0c1a; BYTE $0x07 // pinsrw xmm7, word [rdx + rbx + 12], 7 LONG $0xdaeb0f66 // por xmm3, xmm2 - LONG $0x6e0f4466; WORD $0x2444; BYTE $0x28 // movd xmm8, dword [rsp + 40] + LONG $0x6e0f4466; WORD $0x2444; BYTE $0x38 // movd xmm8, dword [rsp + 56] LONG $0x74b70f46; WORD $0x1c3a // movzx r14d, word [rdx + r15 + 28] LONG $0xf0750f66 // pcmpeqw xmm6, xmm0 LONG $0xf6630f66 // packsswb xmm6, xmm6 @@ -13797,7 +14450,7 @@ LBB2_192: LONG $0xf9eb0f66 // por xmm7, xmm1 LONG $0xf66e0f66 // movd xmm6, esi LONG $0x74b70f42; WORD $0x243a // movzx esi, word [rdx + r15 + 36] - LONG $0x28247489 // mov dword [rsp + 40], esi + LONG $0x38247489 // mov dword [rsp + 56], esi QUAD $0x0114026cc40f4266 // pinsrw xmm5, word [rdx + r8 + 20], 1 QUAD $0x02140a6cc40f4266 // pinsrw xmm5, word [rdx + r9 + 20], 2 QUAD $0x0314226cc40f4266 // pinsrw xmm5, word [rdx + r12 + 20], 3 @@ -13813,7 +14466,7 @@ LBB2_192: LONG $0xefeb0f66 // por xmm5, xmm7 LONG $0x6e0f4166; BYTE $0xfe // movd xmm7, r14d LONG $0x74b70f42; WORD $0x263a // movzx esi, word [rdx + r15 + 38] - LONG $0x10247489 // mov dword [rsp + 16], esi + LONG $0x18247489 // mov dword [rsp + 24], esi QUAD $0x01160254c40f4266 // pinsrw xmm2, word [rdx + r8 + 22], 1 QUAD $0x02160a54c40f4266 // pinsrw xmm2, word [rdx + r9 + 22], 2 QUAD $0x03162254c40f4266 // pinsrw xmm2, word [rdx + r12 + 22], 3 @@ -13844,7 +14497,7 @@ LBB2_192: LONG $0xddeb0f66 // por xmm3, xmm5 LONG $0xe86e0f66 // movd xmm5, eax LONG $0x44b70f42; WORD $0x2a3a // movzx eax, word [rdx + r15 + 42] - LONG $0x18244489 // mov dword [rsp + 24], eax + LONG $0x28244489 // mov dword [rsp + 40], eax QUAD $0x011a0274c40f4266 // pinsrw xmm6, word [rdx + r8 + 26], 1 QUAD $0x021a0a74c40f4266 // pinsrw xmm6, word [rdx + r9 + 26], 2 QUAD $0x031a2274c40f4266 // pinsrw xmm6, word [rdx + r12 + 26], 3 @@ -13884,7 +14537,7 @@ LBB2_192: LONG $0xf2710f66; BYTE $0x07 // psllw xmm2, 7 LONG $0xdb0f4166; BYTE $0xd6 // pand xmm2, xmm14 LONG $0xd7eb0f66 // por xmm2, xmm7 - LONG $0x746e0f66; WORD $0x2824 // movd xmm6, dword [rsp + 40] + LONG $0x746e0f66; WORD $0x3824 // movd xmm6, dword [rsp + 56] LONG $0x74b70f42; WORD $0x2e3a // movzx esi, word [rdx + r15 + 46] QUAD $0x0120026cc40f4266 // pinsrw xmm5, word [rdx + r8 + 32], 1 QUAD $0x02200a6cc40f4266 // pinsrw xmm5, word [rdx + r9 + 32], 2 @@ -13905,7 +14558,7 @@ LBB2_192: LONG $0xf96f0f66 // movdqa xmm7, xmm1 LONG $0xdb0f4166; BYTE $0xff // pand xmm7, xmm15 LONG $0xf9f80f66 // psubb xmm7, xmm1 - LONG $0x5c6e0f66; WORD $0x1024 // movd xmm3, dword [rsp + 16] + LONG $0x5c6e0f66; WORD $0x1824 // movd xmm3, dword [rsp + 24] LONG $0x5cb70f46; WORD $0x303a // movzx r11d, word [rdx + r15 + 48] LONG $0x6cc40f66; WORD $0x201a; BYTE $0x07 // pinsrw xmm5, word [rdx + rbx + 32], 7 LONG $0xe8750f66 // pcmpeqw xmm5, xmm0 @@ -13940,7 +14593,7 @@ LBB2_192: LONG $0xf6710f66; BYTE $0x02 // psllw xmm6, 2 LONG $0xdb0f4166; BYTE $0xf1 // pand xmm6, xmm9 LONG $0xf7eb0f66 // por xmm6, xmm7 - LONG $0x4c6e0f66; WORD $0x1824 // movd xmm1, dword [rsp + 24] + LONG $0x4c6e0f66; WORD $0x2824 // movd xmm1, dword [rsp + 40] LONG $0x74b70f46; WORD $0x343a // movzx r14d, word [rdx + r15 + 52] LONG $0x6cc40f66; WORD $0x281a; BYTE $0x07 // pinsrw xmm5, word [rdx + rbx + 40], 7 LONG $0xd8750f66 // pcmpeqw xmm3, xmm0 @@ -14127,16 +14780,16 @@ LBB2_192: LONG $0x08c18348 // add rcx, 8 WORD $0x8949; BYTE $0xcf // mov r15, rcx LONG $0x244c3b48; BYTE $0x20 // cmp rcx, qword [rsp + 32] - JNE LBB2_192 - QUAD $0x0000009824b48b4c // mov r14, qword [rsp + 152] - LONG $0x24743b4c; BYTE $0x20 // cmp r14, qword [rsp + 32] + JNE LBB2_189 + QUAD $0x0000009824bc8b4c // mov r15, qword [rsp + 152] + LONG $0x247c3b4c; BYTE $0x20 // cmp r15, qword [rsp + 32] QUAD $0x0000009024948b4c // mov r10, qword [rsp + 144] - LONG $0x246c8b44; BYTE $0x38 // mov r13d, dword [rsp + 56] + LONG $0x24748b44; BYTE $0x08 // mov r14d, dword [rsp + 8] LONG $0x24748b48; BYTE $0x40 // mov rsi, qword [rsp + 64] JNE LBB2_92 JMP LBB2_139 -LBB2_194: +LBB2_191: LONG $0xf8e78349 // and r15, -8 WORD $0x894c; BYTE $0xf8 // mov rax, r15 LONG $0x06e0c148 // shl rax, 6 @@ -14145,9 +14798,8 @@ LBB2_194: LONG $0x24048b48 // mov rax, qword [rsp] LONG $0x247c894c; BYTE $0x20 // mov qword [rsp + 32], r15 LONG $0xb8048d4a // lea rax, [rax + 4*r15] - LONG $0x24448948; BYTE $0x08 // mov qword [rsp + 8], rax - LONG $0x246c8944; BYTE $0x38 // mov dword [rsp + 56], r13d - LONG $0x6e0f4166; BYTE $0xc5 // movd xmm0, r13d + LONG $0x24448948; BYTE $0x10 // mov qword [rsp + 16], rax + LONG $0x6e0f4166; BYTE $0xc6 // movd xmm0, r14d LONG $0xc0700ff2; BYTE $0xe0 // pshuflw xmm0, xmm0, 224 LONG $0xc0700f66; BYTE $0x00 // pshufd xmm0, xmm0, 0 WORD $0x3145; BYTE $0xff // xor r15d, r15d @@ -14159,7 +14811,7 @@ LBB2_194: LONG $0x6f0f4466; WORD $0x506d // movdqa xmm13, oword 80[rbp] /* [rip + .LCPI2_5] */ LONG $0x6f0f4466; WORD $0x6075 // movdqa xmm14, oword 96[rbp] /* [rip + .LCPI2_6] */ -LBB2_195: +LBB2_192: LONG $0x247c894c; BYTE $0x30 // mov qword [rsp + 48], r15 LONG $0x06e7c149 // shl r15, 6 WORD $0x894d; BYTE $0xf9 // mov r9, r15 @@ -14168,9 +14820,9 @@ LBB2_195: WORD $0x894c; BYTE $0xf9 // mov rcx, r15 WORD $0x894c; BYTE $0xff // mov rdi, r15 WORD $0x894c; BYTE $0xfb // mov rbx, r15 - LONG $0x04b70f42; BYTE $0x3a // movzx eax, word [rdx + r15] - LONG $0x54b70f46; WORD $0x023a // movzx r10d, word [rdx + r15 + 2] - LONG $0x74b70f46; WORD $0x043a // movzx r14d, word [rdx + r15 + 4] + LONG $0x34b70f46; BYTE $0x3a // movzx r14d, word [rdx + r15] + LONG $0x44b70f42; WORD $0x023a // movzx eax, word [rdx + r15 + 2] + LONG $0x54b70f46; WORD $0x043a // movzx r10d, word [rdx + r15 + 4] LONG $0x74b70f42; WORD $0x063a // movzx esi, word [rdx + r15 + 6] LONG $0x5cb70f46; WORD $0x083a // movzx r11d, word [rdx + r15 + 8] WORD $0x894d; BYTE $0xf8 // mov r8, r15 @@ -14181,7 +14833,7 @@ LBB2_195: LONG $0x40c98148; WORD $0x0001; BYTE $0x00 // or rcx, 320 LONG $0x80cf8148; WORD $0x0001; BYTE $0x00 // or rdi, 384 LONG $0xc0cb8148; WORD $0x0001; BYTE $0x00 // or rbx, 448 - LONG $0xe06e0f66 // movd xmm4, eax + LONG $0x6e0f4166; BYTE $0xe6 // movd xmm4, r14d LONG $0xc40f4266; WORD $0x0224; BYTE $0x01 // pinsrw xmm4, word [rdx + r8], 1 LONG $0xc40f4266; WORD $0x0a24; BYTE $0x02 // pinsrw xmm4, word [rdx + r9], 2 LONG $0xc40f4266; WORD $0x2224; BYTE $0x03 // pinsrw xmm4, word [rdx + r12], 3 @@ -14189,31 +14841,31 @@ LBB2_195: LONG $0x24c40f66; WORD $0x050a // pinsrw xmm4, word [rdx + rcx], 5 LONG $0x24c40f66; WORD $0x063a // pinsrw xmm4, word [rdx + rdi], 6 LONG $0x24c40f66; WORD $0x071a // pinsrw xmm4, word [rdx + rbx], 7 - LONG $0x44b70f42; WORD $0x0a3a // movzx eax, word [rdx + r15 + 10] - LONG $0x18244489 // mov dword [rsp + 24], eax - LONG $0x6e0f4166; BYTE $0xf2 // movd xmm6, r10d + LONG $0x74b70f46; WORD $0x0a3a // movzx r14d, word [rdx + r15 + 10] + LONG $0xf06e0f66 // movd xmm6, eax QUAD $0x01020274c40f4266 // pinsrw xmm6, word [rdx + r8 + 2], 1 QUAD $0x02020a74c40f4266 // pinsrw xmm6, word [rdx + r9 + 2], 2 QUAD $0x03022274c40f4266 // pinsrw xmm6, word [rdx + r12 + 2], 3 LONG $0x44b70f42; WORD $0x0c3a // movzx eax, word [rdx + r15 + 12] - LONG $0x10244489 // mov dword [rsp + 16], eax + LONG $0x28244489 // mov dword [rsp + 40], eax QUAD $0x04022a74c40f4266 // pinsrw xmm6, word [rdx + r13 + 2], 4 - LONG $0x6e0f4166; BYTE $0xd6 // movd xmm2, r14d - LONG $0x74b70f46; WORD $0x0e3a // movzx r14d, word [rdx + r15 + 14] + LONG $0x6e0f4166; BYTE $0xd2 // movd xmm2, r10d + LONG $0x44b70f42; WORD $0x0e3a // movzx eax, word [rdx + r15 + 14] + LONG $0x18244489 // mov dword [rsp + 24], eax LONG $0x74c40f66; WORD $0x020a; BYTE $0x05 // pinsrw xmm6, word [rdx + rcx + 2], 5 LONG $0xee6e0f66 // movd xmm5, esi LONG $0x74b70f42; WORD $0x103a // movzx esi, word [rdx + r15 + 16] LONG $0x74c40f66; WORD $0x023a; BYTE $0x06 // pinsrw xmm6, word [rdx + rdi + 2], 6 LONG $0x6e0f4166; BYTE $0xdb // movd xmm3, r11d LONG $0x44b70f42; WORD $0x123a // movzx eax, word [rdx + r15 + 18] - LONG $0x28244489 // mov dword [rsp + 40], eax + LONG $0x38244489 // mov dword [rsp + 56], eax LONG $0x74c40f66; WORD $0x021a; BYTE $0x07 // pinsrw xmm6, word [rdx + rbx + 2], 7 LONG $0xf0750f66 // pcmpeqw xmm6, xmm0 LONG $0xf6630f66 // packsswb xmm6, xmm6 LONG $0xce6f0f66 // movdqa xmm1, xmm6 LONG $0xdb0f4166; BYTE $0xcf // pand xmm1, xmm15 LONG $0xcef80f66 // psubb xmm1, xmm6 - LONG $0x746e0f66; WORD $0x1824 // movd xmm6, dword [rsp + 24] + LONG $0x6e0f4166; BYTE $0xf6 // movd xmm6, r14d LONG $0x54b70f46; WORD $0x143a // movzx r10d, word [rdx + r15 + 20] LONG $0xe0750f66 // pcmpeqw xmm4, xmm0 LONG $0xe4630f66 // packsswb xmm4, xmm4 @@ -14240,7 +14892,7 @@ LBB2_195: LONG $0x5cc40f66; WORD $0x083a; BYTE $0x06 // pinsrw xmm3, word [rdx + rdi + 8], 6 LONG $0x5cc40f66; WORD $0x081a; BYTE $0x07 // pinsrw xmm3, word [rdx + rbx + 8], 7 LONG $0xcceb0f66 // por xmm1, xmm4 - LONG $0x7c6e0f66; WORD $0x1024 // movd xmm7, dword [rsp + 16] + LONG $0x7c6e0f66; WORD $0x2824 // movd xmm7, dword [rsp + 40] LONG $0x44b70f42; WORD $0x163a // movzx eax, word [rdx + r15 + 22] LONG $0xd0750f66 // pcmpeqw xmm2, xmm0 LONG $0xd2630f66 // packsswb xmm2, xmm2 @@ -14248,7 +14900,7 @@ LBB2_195: LONG $0xf2710f66; BYTE $0x02 // psllw xmm2, 2 LONG $0xdb0f4166; BYTE $0xd1 // pand xmm2, xmm9 LONG $0xd1eb0f66 // por xmm2, xmm1 - LONG $0x6e0f4166; BYTE $0xe6 // movd xmm4, r14d + LONG $0x646e0f66; WORD $0x1824 // movd xmm4, dword [rsp + 24] LONG $0x5cb70f46; WORD $0x183a // movzx r11d, word [rdx + r15 + 24] LONG $0xe8750f66 // pcmpeqw xmm5, xmm0 LONG $0xed630f66 // packsswb xmm5, xmm5 @@ -14278,7 +14930,7 @@ LBB2_195: LONG $0x7cc40f66; WORD $0x0c3a; BYTE $0x06 // pinsrw xmm7, word [rdx + rdi + 12], 6 LONG $0x7cc40f66; WORD $0x0c1a; BYTE $0x07 // pinsrw xmm7, word [rdx + rbx + 12], 7 LONG $0xdaeb0f66 // por xmm3, xmm2 - LONG $0x6e0f4466; WORD $0x2444; BYTE $0x28 // movd xmm8, dword [rsp + 40] + LONG $0x6e0f4466; WORD $0x2444; BYTE $0x38 // movd xmm8, dword [rsp + 56] LONG $0x74b70f46; WORD $0x1c3a // movzx r14d, word [rdx + r15 + 28] LONG $0xf0750f66 // pcmpeqw xmm6, xmm0 LONG $0xf6630f66 // packsswb xmm6, xmm6 @@ -14335,7 +14987,7 @@ LBB2_195: LONG $0xf9eb0f66 // por xmm7, xmm1 LONG $0xf66e0f66 // movd xmm6, esi LONG $0x74b70f42; WORD $0x243a // movzx esi, word [rdx + r15 + 36] - LONG $0x28247489 // mov dword [rsp + 40], esi + LONG $0x38247489 // mov dword [rsp + 56], esi QUAD $0x0114026cc40f4266 // pinsrw xmm5, word [rdx + r8 + 20], 1 QUAD $0x02140a6cc40f4266 // pinsrw xmm5, word [rdx + r9 + 20], 2 QUAD $0x0314226cc40f4266 // pinsrw xmm5, word [rdx + r12 + 20], 3 @@ -14351,7 +15003,7 @@ LBB2_195: LONG $0xefeb0f66 // por xmm5, xmm7 LONG $0x6e0f4166; BYTE $0xfe // movd xmm7, r14d LONG $0x74b70f42; WORD $0x263a // movzx esi, word [rdx + r15 + 38] - LONG $0x10247489 // mov dword [rsp + 16], esi + LONG $0x18247489 // mov dword [rsp + 24], esi QUAD $0x01160254c40f4266 // pinsrw xmm2, word [rdx + r8 + 22], 1 QUAD $0x02160a54c40f4266 // pinsrw xmm2, word [rdx + r9 + 22], 2 QUAD $0x03162254c40f4266 // pinsrw xmm2, word [rdx + r12 + 22], 3 @@ -14382,7 +15034,7 @@ LBB2_195: LONG $0xddeb0f66 // por xmm3, xmm5 LONG $0xe86e0f66 // movd xmm5, eax LONG $0x44b70f42; WORD $0x2a3a // movzx eax, word [rdx + r15 + 42] - LONG $0x18244489 // mov dword [rsp + 24], eax + LONG $0x28244489 // mov dword [rsp + 40], eax QUAD $0x011a0274c40f4266 // pinsrw xmm6, word [rdx + r8 + 26], 1 QUAD $0x021a0a74c40f4266 // pinsrw xmm6, word [rdx + r9 + 26], 2 QUAD $0x031a2274c40f4266 // pinsrw xmm6, word [rdx + r12 + 26], 3 @@ -14422,7 +15074,7 @@ LBB2_195: LONG $0xf2710f66; BYTE $0x07 // psllw xmm2, 7 LONG $0xdb0f4166; BYTE $0xd6 // pand xmm2, xmm14 LONG $0xd7eb0f66 // por xmm2, xmm7 - LONG $0x746e0f66; WORD $0x2824 // movd xmm6, dword [rsp + 40] + LONG $0x746e0f66; WORD $0x3824 // movd xmm6, dword [rsp + 56] LONG $0x74b70f42; WORD $0x2e3a // movzx esi, word [rdx + r15 + 46] QUAD $0x0120026cc40f4266 // pinsrw xmm5, word [rdx + r8 + 32], 1 QUAD $0x02200a6cc40f4266 // pinsrw xmm5, word [rdx + r9 + 32], 2 @@ -14443,7 +15095,7 @@ LBB2_195: LONG $0xf96f0f66 // movdqa xmm7, xmm1 LONG $0xdb0f4166; BYTE $0xff // pand xmm7, xmm15 LONG $0xf9f80f66 // psubb xmm7, xmm1 - LONG $0x5c6e0f66; WORD $0x1024 // movd xmm3, dword [rsp + 16] + LONG $0x5c6e0f66; WORD $0x1824 // movd xmm3, dword [rsp + 24] LONG $0x5cb70f46; WORD $0x303a // movzx r11d, word [rdx + r15 + 48] LONG $0x6cc40f66; WORD $0x201a; BYTE $0x07 // pinsrw xmm5, word [rdx + rbx + 32], 7 LONG $0xe8750f66 // pcmpeqw xmm5, xmm0 @@ -14478,7 +15130,7 @@ LBB2_195: LONG $0xf6710f66; BYTE $0x02 // psllw xmm6, 2 LONG $0xdb0f4166; BYTE $0xf1 // pand xmm6, xmm9 LONG $0xf7eb0f66 // por xmm6, xmm7 - LONG $0x4c6e0f66; WORD $0x1824 // movd xmm1, dword [rsp + 24] + LONG $0x4c6e0f66; WORD $0x2824 // movd xmm1, dword [rsp + 40] LONG $0x74b70f46; WORD $0x343a // movzx r14d, word [rdx + r15 + 52] LONG $0x6cc40f66; WORD $0x281a; BYTE $0x07 // pinsrw xmm5, word [rdx + rbx + 40], 7 LONG $0xd8750f66 // pcmpeqw xmm3, xmm0 @@ -14665,24 +15317,23 @@ LBB2_195: LONG $0x08c18348 // add rcx, 8 WORD $0x8949; BYTE $0xcf // mov r15, rcx LONG $0x244c3b48; BYTE $0x20 // cmp rcx, qword [rsp + 32] - JNE LBB2_195 + JNE LBB2_192 QUAD $0x0000009824bc8b4c // mov r15, qword [rsp + 152] LONG $0x247c3b4c; BYTE $0x20 // cmp r15, qword [rsp + 32] QUAD $0x0000009024948b4c // mov r10, qword [rsp + 144] - LONG $0x246c8b44; BYTE $0x38 // mov r13d, dword [rsp + 56] - LONG $0x24748b4c; BYTE $0x08 // mov r14, qword [rsp + 8] + LONG $0x24748b44; BYTE $0x08 // mov r14d, dword [rsp + 8] LONG $0x24748b48; BYTE $0x40 // mov rsi, qword [rsp + 64] JNE LBB2_104 - JMP LBB2_143 + JMP LBB2_144 -LBB2_197: +LBB2_194: WORD $0x894d; BYTE $0xf0 // mov r8, r14 LONG $0xfce08349 // and r8, -4 WORD $0x894c; BYTE $0xc3 // mov rbx, r8 LONG $0x07e3c148 // shl rbx, 7 WORD $0x0148; BYTE $0xd3 // add rbx, rdx LONG $0x24048b48 // mov rax, qword [rsp] - LONG $0x801c8d4e // lea r11, [rax + 4*r8] + LONG $0x803c8d4e // lea r15, [rax + 4*r8] WORD $0x280f; BYTE $0xc8 // movaps xmm1, xmm0 LONG $0x00c8c60f // shufps xmm1, xmm0, 0 LONG $0xfcc28148; WORD $0x0001; BYTE $0x00 // add rdx, 508 @@ -14697,7 +15348,7 @@ LBB2_197: LONG $0x6f0f4466; WORD $0x704d // movdqa xmm9, oword 112[rbp] /* [rip + .LCPI2_7] */ LONG $0x24048b48 // mov rax, qword [rsp] -LBB2_198: +LBB2_195: QUAD $0xfffffe04b2100ff3 // movss xmm6, dword [rdx - 508] QUAD $0xfffffe08ba100ff3 // movss xmm7, dword [rdx - 504] QUAD $0xfffffe0caa100ff3 // movss xmm5, dword [rdx - 500] @@ -15042,10 +15693,10 @@ LBB2_198: LONG $0x04c18348 // add rcx, 4 LONG $0x00c28148; WORD $0x0002; BYTE $0x00 // add rdx, 512 WORD $0x3949; BYTE $0xc8 // cmp r8, rcx - JNE LBB2_198 + JNE LBB2_195 WORD $0x394d; BYTE $0xc6 // cmp r14, r8 JNE LBB2_127 - JMP LBB2_147 + JMP LBB2_148 TEXT ·_comparison_not_equal_arr_arr_sse4(SB), $80-48 @@ -15057,8 +15708,9 @@ TEXT ·_comparison_not_equal_arr_arr_sse4(SB), $80-48 MOVQ offset+40(FP), R9 ADDQ $8, SP - WORD $0x894d; BYTE $0xc3 // mov r11, r8 - WORD $0x8949; BYTE $0xce // mov r14, rcx + WORD $0x8944; BYTE $0xc8 // mov eax, r9d + WORD $0x894d; BYTE $0xc6 // mov r14, r8 + WORD $0x8949; BYTE $0xcc // mov r12, rcx WORD $0xff83; BYTE $0x06 // cmp edi, 6 JG LBB3_29 WORD $0xff83; BYTE $0x03 // cmp edi, 3 @@ -15069,16 +15721,16 @@ TEXT ·_comparison_not_equal_arr_arr_sse4(SB), $80-48 JE LBB3_79 WORD $0xff83; BYTE $0x06 // cmp edi, 6 JNE LBB3_123 - LONG $0x1f7b8d4d // lea r15, [r11 + 31] - WORD $0x854d; BYTE $0xdb // test r11, r11 - LONG $0xfb490f4d // cmovns r15, r11 - LONG $0x07418d41 // lea eax, [r9 + 7] - WORD $0x8545; BYTE $0xc9 // test r9d, r9d - LONG $0xc1490f41 // cmovns eax, r9d - WORD $0xe083; BYTE $0xf8 // and eax, -8 - WORD $0x2941; BYTE $0xc1 // sub r9d, eax + LONG $0x1f7e8d4d // lea r15, [r14 + 31] + WORD $0x854d; BYTE $0xf6 // test r14, r14 + LONG $0xfe490f4d // cmovns r15, r14 + WORD $0x488d; BYTE $0x07 // lea ecx, [rax + 7] + WORD $0xc085 // test eax, eax + WORD $0x490f; BYTE $0xc8 // cmovns ecx, eax + WORD $0xe183; BYTE $0xf8 // and ecx, -8 + WORD $0xc829 // sub eax, ecx JE LBB3_22 - WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d + WORD $0x9848 // cdqe LBB3_20: WORD $0x0e8b // mov ecx, dword [rsi] @@ -15091,7 +15743,7 @@ LBB3_20: WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xf8490f48 // cmovns rdi, rax LONG $0x03ffc148 // sar rdi, 3 - LONG $0x04b60f45; BYTE $0x3e // movzx r8d, byte [r14 + rdi] + LONG $0x04b60f45; BYTE $0x3c // movzx r8d, byte [r12 + rdi] WORD $0x3045; BYTE $0xc2 // xor r10b, r8b QUAD $0x00000000fd0c8d44 // lea r9d, [8*rdi] WORD $0xc189 // mov ecx, eax @@ -15100,49 +15752,49 @@ LBB3_20: WORD $0xe3d3 // shl ebx, cl WORD $0x2044; BYTE $0xd3 // and bl, r10b WORD $0x3044; BYTE $0xc3 // xor bl, r8b - LONG $0x3e1c8841 // mov byte [r14 + rdi], bl + LONG $0x3c1c8841 // mov byte [r12 + rdi], bl LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 JNE LBB3_20 - LONG $0x01c68349 // add r14, 1 + LONG $0x01c48349 // add r12, 1 LBB3_22: LONG $0x05ffc149 // sar r15, 5 - LONG $0x20fb8349 // cmp r11, 32 + LONG $0x20fe8349 // cmp r14, 32 JL LBB3_26 - LONG $0x245c894c; BYTE $0x18 // mov qword [rsp + 24], r11 - LONG $0x247c894c; BYTE $0x40 // mov qword [rsp + 64], r15 + LONG $0x2474894c; BYTE $0x18 // mov qword [rsp + 24], r14 LONG $0x247c894c; BYTE $0x38 // mov qword [rsp + 56], r15 + LONG $0x247c894c; BYTE $0x20 // mov qword [rsp + 32], r15 LBB3_24: - LONG $0x2474894c; BYTE $0x30 // mov qword [rsp + 48], r14 + LONG $0x2464894c; BYTE $0x30 // mov qword [rsp + 48], r12 WORD $0x068b // mov eax, dword [rsi] WORD $0x4e8b; BYTE $0x04 // mov ecx, dword [rsi + 4] WORD $0x023b // cmp eax, dword [rdx] - LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] + LONG $0x2454950f; BYTE $0x04 // setne byte [rsp + 4] WORD $0x4a3b; BYTE $0x04 // cmp ecx, dword [rdx + 4] - LONG $0x2454950f; BYTE $0x20 // setne byte [rsp + 32] + LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] WORD $0x468b; BYTE $0x08 // mov eax, dword [rsi + 8] WORD $0x423b; BYTE $0x08 // cmp eax, dword [rdx + 8] - LONG $0x2454950f; BYTE $0x14 // setne byte [rsp + 20] + LONG $0x2454950f; BYTE $0x15 // setne byte [rsp + 21] WORD $0x468b; BYTE $0x0c // mov eax, dword [rsi + 12] WORD $0x423b; BYTE $0x0c // cmp eax, dword [rdx + 12] - LONG $0x2454950f; BYTE $0x15 // setne byte [rsp + 21] + LONG $0x2454950f; BYTE $0x16 // setne byte [rsp + 22] WORD $0x468b; BYTE $0x10 // mov eax, dword [rsi + 16] WORD $0x423b; BYTE $0x10 // cmp eax, dword [rdx + 16] - LONG $0x2454950f; BYTE $0x16 // setne byte [rsp + 22] + LONG $0x2454950f; BYTE $0x17 // setne byte [rsp + 23] WORD $0x468b; BYTE $0x14 // mov eax, dword [rsi + 20] WORD $0x423b; BYTE $0x14 // cmp eax, dword [rdx + 20] - LONG $0x2454950f; BYTE $0x17 // setne byte [rsp + 23] + LONG $0x2454950f; BYTE $0x03 // setne byte [rsp + 3] WORD $0x468b; BYTE $0x18 // mov eax, dword [rsi + 24] WORD $0x423b; BYTE $0x18 // cmp eax, dword [rdx + 24] - LONG $0x2454950f; BYTE $0x04 // setne byte [rsp + 4] + LONG $0x2454950f; BYTE $0x05 // setne byte [rsp + 5] WORD $0x468b; BYTE $0x1c // mov eax, dword [rsi + 28] WORD $0x423b; BYTE $0x1c // cmp eax, dword [rdx + 28] LONG $0xd5950f41 // setne r13b WORD $0x468b; BYTE $0x20 // mov eax, dword [rsi + 32] WORD $0x423b; BYTE $0x20 // cmp eax, dword [rdx + 32] - LONG $0x2454950f; BYTE $0x09 // setne byte [rsp + 9] + LONG $0x2454950f; BYTE $0x0a // setne byte [rsp + 10] WORD $0x468b; BYTE $0x24 // mov eax, dword [rsi + 36] WORD $0x423b; BYTE $0x24 // cmp eax, dword [rdx + 36] LONG $0xd0950f41 // setne r8b @@ -15154,165 +15806,165 @@ LBB3_24: LONG $0xd7950f41 // setne r15b WORD $0x468b; BYTE $0x30 // mov eax, dword [rsi + 48] WORD $0x423b; BYTE $0x30 // cmp eax, dword [rdx + 48] - LONG $0x2454950f; BYTE $0x05 // setne byte [rsp + 5] + LONG $0x2454950f; BYTE $0x06 // setne byte [rsp + 6] WORD $0x468b; BYTE $0x34 // mov eax, dword [rsi + 52] WORD $0x423b; BYTE $0x34 // cmp eax, dword [rdx + 52] - LONG $0x2454950f; BYTE $0x06 // setne byte [rsp + 6] + LONG $0x2454950f; BYTE $0x07 // setne byte [rsp + 7] WORD $0x468b; BYTE $0x38 // mov eax, dword [rsi + 56] WORD $0x423b; BYTE $0x38 // cmp eax, dword [rdx + 56] - LONG $0x2454950f; BYTE $0x07 // setne byte [rsp + 7] + LONG $0x2454950f; BYTE $0x08 // setne byte [rsp + 8] WORD $0x468b; BYTE $0x3c // mov eax, dword [rsi + 60] WORD $0x423b; BYTE $0x3c // cmp eax, dword [rdx + 60] - WORD $0x950f; BYTE $0xd3 // setne bl + LONG $0xd7950f40 // setne dil WORD $0x468b; BYTE $0x40 // mov eax, dword [rsi + 64] - WORD $0x4e8b; BYTE $0x44 // mov ecx, dword [rsi + 68] + WORD $0x5e8b; BYTE $0x44 // mov ebx, dword [rsi + 68] WORD $0x423b; BYTE $0x40 // cmp eax, dword [rdx + 64] WORD $0x468b; BYTE $0x48 // mov eax, dword [rsi + 72] - LONG $0x2454950f; BYTE $0x0a // setne byte [rsp + 10] - WORD $0x4a3b; BYTE $0x44 // cmp ecx, dword [rdx + 68] - WORD $0x4e8b; BYTE $0x4c // mov ecx, dword [rsi + 76] + LONG $0x2454950f; BYTE $0x0b // setne byte [rsp + 11] + WORD $0x5a3b; BYTE $0x44 // cmp ebx, dword [rdx + 68] + WORD $0x5e8b; BYTE $0x4c // mov ebx, dword [rsi + 76] LONG $0xd2950f41 // setne r10b WORD $0x423b; BYTE $0x48 // cmp eax, dword [rdx + 72] WORD $0x468b; BYTE $0x50 // mov eax, dword [rsi + 80] LONG $0xd6950f41 // setne r14b - WORD $0x4a3b; BYTE $0x4c // cmp ecx, dword [rdx + 76] - WORD $0x4e8b; BYTE $0x54 // mov ecx, dword [rsi + 84] + WORD $0x5a3b; BYTE $0x4c // cmp ebx, dword [rdx + 76] + WORD $0x5e8b; BYTE $0x54 // mov ebx, dword [rsi + 84] LONG $0xd4950f41 // setne r12b WORD $0x423b; BYTE $0x50 // cmp eax, dword [rdx + 80] - LONG $0x2454950f; BYTE $0x08 // setne byte [rsp + 8] - WORD $0x4a3b; BYTE $0x54 // cmp ecx, dword [rdx + 84] + LONG $0x2454950f; BYTE $0x09 // setne byte [rsp + 9] + WORD $0x5a3b; BYTE $0x54 // cmp ebx, dword [rdx + 84] WORD $0x468b; BYTE $0x58 // mov eax, dword [rsi + 88] - LONG $0x2454950f; BYTE $0x0b // setne byte [rsp + 11] + LONG $0x2454950f; BYTE $0x0c // setne byte [rsp + 12] WORD $0x423b; BYTE $0x58 // cmp eax, dword [rdx + 88] WORD $0x468b; BYTE $0x5c // mov eax, dword [rsi + 92] - LONG $0x2454950f; BYTE $0x0c // setne byte [rsp + 12] + LONG $0x2454950f; BYTE $0x0d // setne byte [rsp + 13] WORD $0x423b; BYTE $0x5c // cmp eax, dword [rdx + 92] WORD $0x468b; BYTE $0x60 // mov eax, dword [rsi + 96] LONG $0xd1950f41 // setne r9b WORD $0x423b; BYTE $0x60 // cmp eax, dword [rdx + 96] WORD $0x468b; BYTE $0x64 // mov eax, dword [rsi + 100] - LONG $0x2454950f; BYTE $0x13 // setne byte [rsp + 19] + LONG $0x2454950f; BYTE $0x14 // setne byte [rsp + 20] WORD $0x423b; BYTE $0x64 // cmp eax, dword [rdx + 100] WORD $0x468b; BYTE $0x68 // mov eax, dword [rsi + 104] - LONG $0x2454950f; BYTE $0x0d // setne byte [rsp + 13] + LONG $0x2454950f; BYTE $0x0e // setne byte [rsp + 14] WORD $0x423b; BYTE $0x68 // cmp eax, dword [rdx + 104] WORD $0x468b; BYTE $0x6c // mov eax, dword [rsi + 108] - LONG $0x2454950f; BYTE $0x0e // setne byte [rsp + 14] + LONG $0x2454950f; BYTE $0x0f // setne byte [rsp + 15] WORD $0x423b; BYTE $0x6c // cmp eax, dword [rdx + 108] WORD $0x468b; BYTE $0x70 // mov eax, dword [rsi + 112] - LONG $0x2454950f; BYTE $0x0f // setne byte [rsp + 15] + LONG $0x2454950f; BYTE $0x10 // setne byte [rsp + 16] WORD $0x423b; BYTE $0x70 // cmp eax, dword [rdx + 112] WORD $0x468b; BYTE $0x74 // mov eax, dword [rsi + 116] - LONG $0x2454950f; BYTE $0x10 // setne byte [rsp + 16] + LONG $0x2454950f; BYTE $0x11 // setne byte [rsp + 17] WORD $0x423b; BYTE $0x74 // cmp eax, dword [rdx + 116] WORD $0x468b; BYTE $0x78 // mov eax, dword [rsi + 120] - LONG $0x2454950f; BYTE $0x12 // setne byte [rsp + 18] + LONG $0x2454950f; BYTE $0x13 // setne byte [rsp + 19] WORD $0x423b; BYTE $0x78 // cmp eax, dword [rdx + 120] WORD $0x468b; BYTE $0x7c // mov eax, dword [rsi + 124] - LONG $0x2454950f; BYTE $0x11 // setne byte [rsp + 17] + LONG $0x2454950f; BYTE $0x12 // setne byte [rsp + 18] LONG $0x80ee8348 // sub rsi, -128 WORD $0x423b; BYTE $0x7c // cmp eax, dword [rdx + 124] - LONG $0xd7950f40 // setne dil - LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] + WORD $0x950f; BYTE $0xd1 // setne cl + LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] WORD $0xc000 // add al, al - LONG $0x28244402 // add al, byte [rsp + 40] - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x04 // movzx eax, byte [rsp + 4] + LONG $0x04244402 // add al, byte [rsp + 4] + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x05 // movzx eax, byte [rsp + 5] WORD $0xe0c0; BYTE $0x06 // shl al, 6 LONG $0x07e5c041 // shl r13b, 7 WORD $0x0841; BYTE $0xc5 // or r13b, al - LONG $0x2444b60f; BYTE $0x14 // movzx eax, byte [rsp + 20] + LONG $0x2444b60f; BYTE $0x15 // movzx eax, byte [rsp + 21] WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xc808 // or al, cl + WORD $0xd808 // or al, bl WORD $0x0045; BYTE $0xc0 // add r8b, r8b - LONG $0x24440244; BYTE $0x09 // add r8b, byte [rsp + 9] - LONG $0x244cb60f; BYTE $0x15 // movzx ecx, byte [rsp + 21] - WORD $0xe1c0; BYTE $0x03 // shl cl, 3 - WORD $0xc108 // or cl, al - WORD $0xc889 // mov eax, ecx + LONG $0x24440244; BYTE $0x0a // add r8b, byte [rsp + 10] + LONG $0x245cb60f; BYTE $0x16 // movzx ebx, byte [rsp + 22] + WORD $0xe3c0; BYTE $0x03 // shl bl, 3 + WORD $0xc308 // or bl, al + WORD $0xd889 // mov eax, ebx LONG $0x02e3c041 // shl r11b, 2 WORD $0x0845; BYTE $0xc3 // or r11b, r8b - LONG $0x244cb60f; BYTE $0x16 // movzx ecx, byte [rsp + 22] - WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0xc108 // or cl, al - WORD $0x8941; BYTE $0xc8 // mov r8d, ecx + LONG $0x245cb60f; BYTE $0x17 // movzx ebx, byte [rsp + 23] + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0xc308 // or bl, al + WORD $0x8941; BYTE $0xd8 // mov r8d, ebx LONG $0x03e7c041 // shl r15b, 3 WORD $0x0845; BYTE $0xdf // or r15b, r11b - LONG $0x244cb60f; BYTE $0x17 // movzx ecx, byte [rsp + 23] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0x0844; BYTE $0xc1 // or cl, r8b - LONG $0x2444b60f; BYTE $0x05 // movzx eax, byte [rsp + 5] + LONG $0x245cb60f; BYTE $0x03 // movzx ebx, byte [rsp + 3] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + WORD $0x0844; BYTE $0xc3 // or bl, r8b + LONG $0x2444b60f; BYTE $0x06 // movzx eax, byte [rsp + 6] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0x0844; BYTE $0xf8 // or al, r15b WORD $0x8941; BYTE $0xc0 // mov r8d, eax - LONG $0x2444b60f; BYTE $0x06 // movzx eax, byte [rsp + 6] + LONG $0x2444b60f; BYTE $0x07 // movzx eax, byte [rsp + 7] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0x0844; BYTE $0xc0 // or al, r8b - LONG $0x44b60f44; WORD $0x0724 // movzx r8d, byte [rsp + 7] + LONG $0x44b60f44; WORD $0x0824 // movzx r8d, byte [rsp + 8] LONG $0x06e0c041 // shl r8b, 6 - WORD $0xe3c0; BYTE $0x07 // shl bl, 7 - WORD $0x0844; BYTE $0xc3 // or bl, r8b - WORD $0x0841; BYTE $0xcd // or r13b, cl - WORD $0xc308 // or bl, al + LONG $0x07e7c040 // shl dil, 7 + WORD $0x0844; BYTE $0xc7 // or dil, r8b + WORD $0x0841; BYTE $0xdd // or r13b, bl + WORD $0x0840; BYTE $0xc7 // or dil, al WORD $0x0045; BYTE $0xd2 // add r10b, r10b - LONG $0x24540244; BYTE $0x0a // add r10b, byte [rsp + 10] + LONG $0x24540244; BYTE $0x0b // add r10b, byte [rsp + 11] LONG $0x02e6c041 // shl r14b, 2 WORD $0x0845; BYTE $0xd6 // or r14b, r10b LONG $0x03e4c041 // shl r12b, 3 WORD $0x0845; BYTE $0xf4 // or r12b, r14b - LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + LONG $0x2444b60f; BYTE $0x09 // movzx eax, byte [rsp + 9] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0x0844; BYTE $0xe0 // or al, r12b - WORD $0xc189 // mov ecx, eax - LONG $0x24748b4c; BYTE $0x30 // mov r14, qword [rsp + 48] - LONG $0x2444b60f; BYTE $0x0b // movzx eax, byte [rsp + 11] + WORD $0xc389 // mov ebx, eax + LONG $0x24648b4c; BYTE $0x30 // mov r12, qword [rsp + 48] + LONG $0x2444b60f; BYTE $0x0c // movzx eax, byte [rsp + 12] WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - WORD $0x8845; BYTE $0x2e // mov byte [r14], r13b - LONG $0x244cb60f; BYTE $0x0c // movzx ecx, byte [rsp + 12] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 + WORD $0xd808 // or al, bl + LONG $0x242c8845 // mov byte [r12], r13b + LONG $0x245cb60f; BYTE $0x0d // movzx ebx, byte [rsp + 13] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e1c041 // shl r9b, 7 - WORD $0x0841; BYTE $0xc9 // or r9b, cl - LONG $0x015e8841 // mov byte [r14 + 1], bl + WORD $0x0841; BYTE $0xd9 // or r9b, bl + LONG $0x247c8841; BYTE $0x01 // mov byte [r12 + 1], dil WORD $0x0841; BYTE $0xc1 // or r9b, al - LONG $0x2444b60f; BYTE $0x0d // movzx eax, byte [rsp + 13] - WORD $0xc000 // add al, al - LONG $0x13244402 // add al, byte [rsp + 19] - WORD $0xc189 // mov ecx, eax LONG $0x2444b60f; BYTE $0x0e // movzx eax, byte [rsp + 14] - WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xc000 // add al, al + LONG $0x14244402 // add al, byte [rsp + 20] + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x0f // movzx eax, byte [rsp + 15] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x11 // movzx eax, byte [rsp + 17] WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x12 // movzx eax, byte [rsp + 18] + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x13 // movzx eax, byte [rsp + 19] WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - LONG $0x244cb60f; BYTE $0x11 // movzx ecx, byte [rsp + 17] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 - LONG $0x07e7c040 // shl dil, 7 - WORD $0x0840; BYTE $0xcf // or dil, cl - WORD $0x0840; BYTE $0xc7 // or dil, al - LONG $0x024e8845 // mov byte [r14 + 2], r9b - LONG $0x037e8841 // mov byte [r14 + 3], dil + WORD $0xd808 // or al, bl + LONG $0x245cb60f; BYTE $0x12 // movzx ebx, byte [rsp + 18] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 + WORD $0xe1c0; BYTE $0x07 // shl cl, 7 + WORD $0xd908 // or cl, bl + WORD $0xc108 // or cl, al + LONG $0x244c8845; BYTE $0x02 // mov byte [r12 + 2], r9b + LONG $0x244c8841; BYTE $0x03 // mov byte [r12 + 3], cl LONG $0x80c28148; WORD $0x0000; BYTE $0x00 // add rdx, 128 - LONG $0x04c68349 // add r14, 4 - LONG $0x24448348; WORD $0xff38 // add qword [rsp + 56], -1 + LONG $0x04c48349 // add r12, 4 + LONG $0x24448348; WORD $0xff20 // add qword [rsp + 32], -1 JNE LBB3_24 - LONG $0x245c8b4c; BYTE $0x18 // mov r11, qword [rsp + 24] - LONG $0x247c8b4c; BYTE $0x40 // mov r15, qword [rsp + 64] + LONG $0x24748b4c; BYTE $0x18 // mov r14, qword [rsp + 24] + LONG $0x247c8b4c; BYTE $0x38 // mov r15, qword [rsp + 56] LBB3_26: LONG $0x05e7c149 // shl r15, 5 - WORD $0x394d; BYTE $0xdf // cmp r15, r11 + WORD $0x394d; BYTE $0xf7 // cmp r15, r14 JGE LBB3_123 - WORD $0x294d; BYTE $0xfb // sub r11, r15 + WORD $0x294d; BYTE $0xfe // sub r14, r15 WORD $0xc931 // xor ecx, ecx LBB3_28: @@ -15323,16 +15975,16 @@ LBB3_28: WORD $0xdbf6 // neg bl WORD $0x8948; BYTE $0xcf // mov rdi, rcx LONG $0x03efc148 // shr rdi, 3 - LONG $0x0cb60f45; BYTE $0x3e // movzx r9d, byte [r14 + rdi] + LONG $0x0cb60f45; BYTE $0x3c // movzx r9d, byte [r12 + rdi] WORD $0x3044; BYTE $0xcb // xor bl, r9b WORD $0xe180; BYTE $0x07 // and cl, 7 WORD $0x01b0 // mov al, 1 WORD $0xe0d2 // shl al, cl WORD $0xd820 // and al, bl WORD $0x3044; BYTE $0xc8 // xor al, r9b - LONG $0x3e048841 // mov byte [r14 + rdi], al + LONG $0x3c048841 // mov byte [r12 + rdi], al WORD $0x894c; BYTE $0xc1 // mov rcx, r8 - WORD $0x394d; BYTE $0xc3 // cmp r11, r8 + WORD $0x394d; BYTE $0xc6 // cmp r14, r8 JNE LBB3_28 JMP LBB3_123 @@ -15345,266 +15997,361 @@ LBB3_29: JE LBB3_112 WORD $0xff83; BYTE $0x0c // cmp edi, 12 JNE LBB3_123 - LONG $0x1f7b8d4d // lea r15, [r11 + 31] - WORD $0x854d; BYTE $0xdb // test r11, r11 - LONG $0xfb490f4d // cmovns r15, r11 - LONG $0x07418d41 // lea eax, [r9 + 7] - WORD $0x8545; BYTE $0xc9 // test r9d, r9d - LONG $0xc1490f41 // cmovns eax, r9d - WORD $0xe083; BYTE $0xf8 // and eax, -8 - WORD $0x2941; BYTE $0xc1 // sub r9d, eax + LONG $0x1f7e8d4d // lea r15, [r14 + 31] + WORD $0x854d; BYTE $0xf6 // test r14, r14 + LONG $0xfe490f4d // cmovns r15, r14 + WORD $0x488d; BYTE $0x07 // lea ecx, [rax + 7] + WORD $0xc085 // test eax, eax + WORD $0x490f; BYTE $0xc8 // cmovns ecx, eax + WORD $0xe183; BYTE $0xf8 // and ecx, -8 + WORD $0xc829 // sub eax, ecx JE LBB3_50 - WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d + WORD $0x634c; BYTE $0xd0 // movsxd r10, eax LBB3_48: LONG $0x06100ff2 // movsd xmm0, qword [rsi] LONG $0x08c68348 // add rsi, 8 LONG $0x022e0f66 // ucomisd xmm0, qword [rdx] LONG $0x08528d48 // lea rdx, [rdx + 8] - LONG $0xd2950f41 // setne r10b - WORD $0xf641; BYTE $0xda // neg r10b - LONG $0x07788d48 // lea rdi, [rax + 7] - WORD $0x8548; BYTE $0xc0 // test rax, rax - LONG $0xf8490f48 // cmovns rdi, rax + WORD $0x9a0f; BYTE $0xd1 // setp cl + WORD $0x950f; BYTE $0xd3 // setne bl + WORD $0xcb08 // or bl, cl + WORD $0xdbf6 // neg bl + LONG $0x077a8d49 // lea rdi, [r10 + 7] + WORD $0x854d; BYTE $0xd2 // test r10, r10 + LONG $0xfa490f49 // cmovns rdi, r10 LONG $0x03ffc148 // sar rdi, 3 - LONG $0x04b60f45; BYTE $0x3e // movzx r8d, byte [r14 + rdi] - WORD $0x3045; BYTE $0xc2 // xor r10b, r8b + LONG $0x04b60f45; BYTE $0x3c // movzx r8d, byte [r12 + rdi] + WORD $0x3044; BYTE $0xc3 // xor bl, r8b QUAD $0x00000000fd0c8d44 // lea r9d, [8*rdi] - WORD $0xc189 // mov ecx, eax + WORD $0x8944; BYTE $0xd1 // mov ecx, r10d WORD $0x2944; BYTE $0xc9 // sub ecx, r9d - LONG $0x000001bb; BYTE $0x00 // mov ebx, 1 - WORD $0xe3d3 // shl ebx, cl - WORD $0x2044; BYTE $0xd3 // and bl, r10b - WORD $0x3044; BYTE $0xc3 // xor bl, r8b - LONG $0x3e1c8841 // mov byte [r14 + rdi], bl - LONG $0x01c08348 // add rax, 1 - LONG $0x08f88348 // cmp rax, 8 + LONG $0x000001b8; BYTE $0x00 // mov eax, 1 + WORD $0xe0d3 // shl eax, cl + WORD $0xd820 // and al, bl + WORD $0x3044; BYTE $0xc0 // xor al, r8b + LONG $0x3c048841 // mov byte [r12 + rdi], al + LONG $0x01c28349 // add r10, 1 + LONG $0x08fa8349 // cmp r10, 8 JNE LBB3_48 - LONG $0x01c68349 // add r14, 1 + LONG $0x01c48349 // add r12, 1 LBB3_50: LONG $0x05ffc149 // sar r15, 5 - LONG $0x20fb8349 // cmp r11, 32 + LONG $0x20fe8349 // cmp r14, 32 JL LBB3_54 - LONG $0x245c894c; BYTE $0x18 // mov qword [rsp + 24], r11 - LONG $0x247c894c; BYTE $0x20 // mov qword [rsp + 32], r15 - LONG $0x247c894c; BYTE $0x28 // mov qword [rsp + 40], r15 + LONG $0x2474894c; BYTE $0x18 // mov qword [rsp + 24], r14 + LONG $0x247c894c; BYTE $0x40 // mov qword [rsp + 64], r15 + LONG $0x247c894c; BYTE $0x38 // mov qword [rsp + 56], r15 LBB3_52: - LONG $0x2474894c; BYTE $0x30 // mov qword [rsp + 48], r14 + LONG $0x2464894c; BYTE $0x30 // mov qword [rsp + 48], r12 LONG $0x06100ff2 // movsd xmm0, qword [rsi] - LONG $0x4e100ff2; BYTE $0x08 // movsd xmm1, qword [rsi + 8] LONG $0x022e0f66 // ucomisd xmm0, qword [rdx] - LONG $0x2454950f; BYTE $0x04 // setne byte [rsp + 4] - LONG $0x4a2e0f66; BYTE $0x08 // ucomisd xmm1, qword [rdx + 8] - WORD $0x950f; BYTE $0xd0 // setne al + LONG $0x46100ff2; BYTE $0x08 // movsd xmm0, qword [rsi + 8] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x15244c88 // mov byte [rsp + 21], cl + LONG $0x422e0f66; BYTE $0x08 // ucomisd xmm0, qword [rdx + 8] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x0d244c88 // mov byte [rsp + 13], cl LONG $0x46100ff2; BYTE $0x10 // movsd xmm0, qword [rsi + 16] LONG $0x422e0f66; BYTE $0x10 // ucomisd xmm0, qword [rdx + 16] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x14244c88 // mov byte [rsp + 20], cl LONG $0x46100ff2; BYTE $0x18 // movsd xmm0, qword [rsi + 24] - LONG $0x2454950f; BYTE $0x05 // setne byte [rsp + 5] LONG $0x422e0f66; BYTE $0x18 // ucomisd xmm0, qword [rdx + 24] - LONG $0x2454950f; BYTE $0x16 // setne byte [rsp + 22] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x17244c88 // mov byte [rsp + 23], cl LONG $0x46100ff2; BYTE $0x20 // movsd xmm0, qword [rsi + 32] LONG $0x422e0f66; BYTE $0x20 // ucomisd xmm0, qword [rdx + 32] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x16244c88 // mov byte [rsp + 22], cl LONG $0x46100ff2; BYTE $0x28 // movsd xmm0, qword [rsi + 40] - LONG $0x2454950f; BYTE $0x15 // setne byte [rsp + 21] LONG $0x422e0f66; BYTE $0x28 // ucomisd xmm0, qword [rdx + 40] - LONG $0x2454950f; BYTE $0x17 // setne byte [rsp + 23] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd7950f40 // setne dil + WORD $0x0840; BYTE $0xc7 // or dil, al LONG $0x46100ff2; BYTE $0x30 // movsd xmm0, qword [rsi + 48] LONG $0x422e0f66; BYTE $0x30 // ucomisd xmm0, qword [rdx + 48] - LONG $0x46100ff2; BYTE $0x38 // movsd xmm0, qword [rsi + 56] + WORD $0x9a0f; BYTE $0xd0 // setp al LONG $0xd5950f41 // setne r13b + WORD $0x0841; BYTE $0xc5 // or r13b, al + LONG $0x46100ff2; BYTE $0x38 // movsd xmm0, qword [rsi + 56] LONG $0x422e0f66; BYTE $0x38 // ucomisd xmm0, qword [rdx + 56] - LONG $0xd7950f41 // setne r15b + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x03244c88 // mov byte [rsp + 3], cl LONG $0x46100ff2; BYTE $0x40 // movsd xmm0, qword [rsi + 64] LONG $0x422e0f66; BYTE $0x40 // ucomisd xmm0, qword [rdx + 64] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x13244c88 // mov byte [rsp + 19], cl LONG $0x46100ff2; BYTE $0x48 // movsd xmm0, qword [rsi + 72] - LONG $0x2454950f; BYTE $0x08 // setne byte [rsp + 8] LONG $0x422e0f66; BYTE $0x48 // ucomisd xmm0, qword [rdx + 72] - WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd3 // setne bl + WORD $0xc308 // or bl, al LONG $0x46100ff2; BYTE $0x50 // movsd xmm0, qword [rsi + 80] LONG $0x422e0f66; BYTE $0x50 // ucomisd xmm0, qword [rdx + 80] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x12244c88 // mov byte [rsp + 18], cl LONG $0x46100ff2; BYTE $0x58 // movsd xmm0, qword [rsi + 88] - LONG $0xd1950f41 // setne r9b LONG $0x422e0f66; BYTE $0x58 // ucomisd xmm0, qword [rdx + 88] - LONG $0xd3950f41 // setne r11b + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x11244c88 // mov byte [rsp + 17], cl LONG $0x46100ff2; BYTE $0x60 // movsd xmm0, qword [rsi + 96] LONG $0x422e0f66; BYTE $0x60 // ucomisd xmm0, qword [rdx + 96] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x10244c88 // mov byte [rsp + 16], cl LONG $0x46100ff2; BYTE $0x68 // movsd xmm0, qword [rsi + 104] - LONG $0xd2950f41 // setne r10b LONG $0x422e0f66; BYTE $0x68 // ucomisd xmm0, qword [rdx + 104] - LONG $0x2454950f; BYTE $0x07 // setne byte [rsp + 7] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x0f244c88 // mov byte [rsp + 15], cl LONG $0x46100ff2; BYTE $0x70 // movsd xmm0, qword [rsi + 112] LONG $0x422e0f66; BYTE $0x70 // ucomisd xmm0, qword [rdx + 112] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x0c244c88 // mov byte [rsp + 12], cl LONG $0x46100ff2; BYTE $0x78 // movsd xmm0, qword [rsi + 120] - LONG $0x2454950f; BYTE $0x06 // setne byte [rsp + 6] LONG $0x422e0f66; BYTE $0x78 // ucomisd xmm0, qword [rdx + 120] - WORD $0x950f; BYTE $0xd3 // setne bl + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x0b244c88 // mov byte [rsp + 11], cl QUAD $0x0000008086100ff2 // movsd xmm0, qword [rsi + 128] QUAD $0x00000080822e0f66 // ucomisd xmm0, qword [rdx + 128] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x0e244c88 // mov byte [rsp + 14], cl QUAD $0x0000008886100ff2 // movsd xmm0, qword [rsi + 136] - LONG $0x2454950f; BYTE $0x0e // setne byte [rsp + 14] QUAD $0x00000088822e0f66 // ucomisd xmm0, qword [rdx + 136] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x0a244c88 // mov byte [rsp + 10], cl QUAD $0x0000009086100ff2 // movsd xmm0, qword [rsi + 144] - LONG $0xd6950f41 // setne r14b QUAD $0x00000090822e0f66 // ucomisd xmm0, qword [rdx + 144] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x09244c88 // mov byte [rsp + 9], cl QUAD $0x0000009886100ff2 // movsd xmm0, qword [rsi + 152] - LONG $0xd4950f41 // setne r12b QUAD $0x00000098822e0f66 // ucomisd xmm0, qword [rdx + 152] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd6950f41 // setne r14b + WORD $0x0841; BYTE $0xc6 // or r14b, al QUAD $0x000000a086100ff2 // movsd xmm0, qword [rsi + 160] - LONG $0x2454950f; BYTE $0x09 // setne byte [rsp + 9] QUAD $0x000000a0822e0f66 // ucomisd xmm0, qword [rdx + 160] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x08244c88 // mov byte [rsp + 8], cl QUAD $0x000000a886100ff2 // movsd xmm0, qword [rsi + 168] - LONG $0x2454950f; BYTE $0x0a // setne byte [rsp + 10] QUAD $0x000000a8822e0f66 // ucomisd xmm0, qword [rdx + 168] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x07244c88 // mov byte [rsp + 7], cl QUAD $0x000000b086100ff2 // movsd xmm0, qword [rsi + 176] - LONG $0x2454950f; BYTE $0x0b // setne byte [rsp + 11] QUAD $0x000000b0822e0f66 // ucomisd xmm0, qword [rdx + 176] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x05244c88 // mov byte [rsp + 5], cl QUAD $0x000000b886100ff2 // movsd xmm0, qword [rsi + 184] - LONG $0x2454950f; BYTE $0x0c // setne byte [rsp + 12] QUAD $0x000000b8822e0f66 // ucomisd xmm0, qword [rdx + 184] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd7950f41 // setne r15b + WORD $0x0841; BYTE $0xc7 // or r15b, al QUAD $0x000000c086100ff2 // movsd xmm0, qword [rsi + 192] - LONG $0xd0950f41 // setne r8b QUAD $0x000000c0822e0f66 // ucomisd xmm0, qword [rdx + 192] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x06244c88 // mov byte [rsp + 6], cl QUAD $0x000000c886100ff2 // movsd xmm0, qword [rsi + 200] - LONG $0x2454950f; BYTE $0x14 // setne byte [rsp + 20] QUAD $0x000000c8822e0f66 // ucomisd xmm0, qword [rdx + 200] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x20244c88 // mov byte [rsp + 32], cl QUAD $0x000000d086100ff2 // movsd xmm0, qword [rsi + 208] - LONG $0x2454950f; BYTE $0x0d // setne byte [rsp + 13] QUAD $0x000000d0822e0f66 // ucomisd xmm0, qword [rdx + 208] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd3950f41 // setne r11b + WORD $0x0841; BYTE $0xc3 // or r11b, al QUAD $0x000000d886100ff2 // movsd xmm0, qword [rsi + 216] - LONG $0x2454950f; BYTE $0x0f // setne byte [rsp + 15] QUAD $0x000000d8822e0f66 // ucomisd xmm0, qword [rdx + 216] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd2950f41 // setne r10b + WORD $0x0841; BYTE $0xc2 // or r10b, al QUAD $0x000000e086100ff2 // movsd xmm0, qword [rsi + 224] - LONG $0x2454950f; BYTE $0x10 // setne byte [rsp + 16] QUAD $0x000000e0822e0f66 // ucomisd xmm0, qword [rdx + 224] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x04244c88 // mov byte [rsp + 4], cl QUAD $0x000000e886100ff2 // movsd xmm0, qword [rsi + 232] - LONG $0x2454950f; BYTE $0x11 // setne byte [rsp + 17] QUAD $0x000000e8822e0f66 // ucomisd xmm0, qword [rdx + 232] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x28244c88 // mov byte [rsp + 40], cl QUAD $0x000000f086100ff2 // movsd xmm0, qword [rsi + 240] - LONG $0x2454950f; BYTE $0x13 // setne byte [rsp + 19] QUAD $0x000000f0822e0f66 // ucomisd xmm0, qword [rdx + 240] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd1950f41 // setne r9b + WORD $0x0841; BYTE $0xc1 // or r9b, al QUAD $0x000000f886100ff2 // movsd xmm0, qword [rsi + 248] - LONG $0x2454950f; BYTE $0x12 // setne byte [rsp + 18] LONG $0x00c68148; WORD $0x0001; BYTE $0x00 // add rsi, 256 QUAD $0x000000f8822e0f66 // ucomisd xmm0, qword [rdx + 248] - LONG $0xd7950f40 // setne dil + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd0950f41 // setne r8b + WORD $0x0841; BYTE $0xc0 // or r8b, al + LONG $0x2444b60f; BYTE $0x0d // movzx eax, byte [rsp + 13] WORD $0xc000 // add al, al - LONG $0x04244402 // add al, byte [rsp + 4] + LONG $0x15244402 // add al, byte [rsp + 21] + LONG $0x05e7c040 // shl dil, 5 LONG $0x06e5c041 // shl r13b, 6 - LONG $0x07e7c041 // shl r15b, 7 - WORD $0x0845; BYTE $0xef // or r15b, r13b - LONG $0x6cb60f44; WORD $0x0524 // movzx r13d, byte [rsp + 5] - LONG $0x02e5c041 // shl r13b, 2 - WORD $0x0841; BYTE $0xc5 // or r13b, al - WORD $0x8944; BYTE $0xe8 // mov eax, r13d - WORD $0xc900 // add cl, cl - LONG $0x08244c02 // add cl, byte [rsp + 8] + WORD $0x0841; BYTE $0xfd // or r13b, dil + WORD $0x8944; BYTE $0xef // mov edi, r13d + LONG $0x244cb60f; BYTE $0x14 // movzx ecx, byte [rsp + 20] + WORD $0xe1c0; BYTE $0x02 // shl cl, 2 + WORD $0xc108 // or cl, al + WORD $0xd889 // mov eax, ebx + WORD $0xd800 // add al, bl + LONG $0x13244402 // add al, byte [rsp + 19] + WORD $0x8941; BYTE $0xc5 // mov r13d, eax + LONG $0x2444b60f; BYTE $0x03 // movzx eax, byte [rsp + 3] + WORD $0xe0c0; BYTE $0x07 // shl al, 7 + WORD $0x0840; BYTE $0xf8 // or al, dil + LONG $0x03244488 // mov byte [rsp + 3], al + LONG $0x2444b60f; BYTE $0x12 // movzx eax, byte [rsp + 18] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0x0844; BYTE $0xe8 // or al, r13b + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x17 // movzx eax, byte [rsp + 23] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0xc808 // or al, cl + LONG $0x245cb60f; BYTE $0x11 // movzx ebx, byte [rsp + 17] + WORD $0xe3c0; BYTE $0x03 // shl bl, 3 + WORD $0x0840; BYTE $0xfb // or bl, dil LONG $0x6cb60f44; WORD $0x1624 // movzx r13d, byte [rsp + 22] - LONG $0x03e5c041 // shl r13b, 3 + LONG $0x04e5c041 // shl r13b, 4 WORD $0x0841; BYTE $0xc5 // or r13b, al - LONG $0x02e1c041 // shl r9b, 2 - WORD $0x0841; BYTE $0xc9 // or r9b, cl - LONG $0x244cb60f; BYTE $0x15 // movzx ecx, byte [rsp + 21] - WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0x0844; BYTE $0xe9 // or cl, r13b - WORD $0x8941; BYTE $0xcd // mov r13d, ecx - LONG $0x03e3c041 // shl r11b, 3 - WORD $0x0845; BYTE $0xcb // or r11b, r9b - LONG $0x244cb60f; BYTE $0x17 // movzx ecx, byte [rsp + 23] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0x0844; BYTE $0xe9 // or cl, r13b - LONG $0x04e2c041 // shl r10b, 4 - WORD $0x0845; BYTE $0xda // or r10b, r11b - LONG $0x2444b60f; BYTE $0x07 // movzx eax, byte [rsp + 7] - WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0x0844; BYTE $0xd0 // or al, r10b - LONG $0x4cb60f44; WORD $0x0624 // movzx r9d, byte [rsp + 6] - LONG $0x06e1c041 // shl r9b, 6 - WORD $0xe3c0; BYTE $0x07 // shl bl, 7 - WORD $0x0844; BYTE $0xcb // or bl, r9b - WORD $0x0841; BYTE $0xcf // or r15b, cl - WORD $0xc308 // or bl, al - WORD $0x0045; BYTE $0xf6 // add r14b, r14b - LONG $0x24740244; BYTE $0x0e // add r14b, byte [rsp + 14] - LONG $0x02e4c041 // shl r12b, 2 - WORD $0x0845; BYTE $0xf4 // or r12b, r14b - LONG $0x24748b4c; BYTE $0x30 // mov r14, qword [rsp + 48] - LONG $0x2444b60f; BYTE $0x09 // movzx eax, byte [rsp + 9] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0x0844; BYTE $0xe0 // or al, r12b - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x0a // movzx eax, byte [rsp + 10] + LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xd808 // or al, bl + WORD $0xc789 // mov edi, eax + LONG $0x245cb60f; BYTE $0x0f // movzx ebx, byte [rsp + 15] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + LONG $0x2444b60f; BYTE $0x0c // movzx eax, byte [rsp + 12] + WORD $0xe0c0; BYTE $0x06 // shl al, 6 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x0b // movzx eax, byte [rsp + 11] - WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - WORD $0x8845; BYTE $0x3e // mov byte [r14], r15b - LONG $0x244cb60f; BYTE $0x0c // movzx ecx, byte [rsp + 12] + WORD $0xe0c0; BYTE $0x07 // shl al, 7 + WORD $0xd808 // or al, bl + LONG $0x245cb60f; BYTE $0x0a // movzx ebx, byte [rsp + 10] + WORD $0xdb00 // add bl, bl + LONG $0x0e245c02 // add bl, byte [rsp + 14] + LONG $0x244cb60f; BYTE $0x09 // movzx ecx, byte [rsp + 9] + WORD $0xe1c0; BYTE $0x02 // shl cl, 2 + WORD $0xd908 // or cl, bl + LONG $0x03e6c041 // shl r14b, 3 + WORD $0x0841; BYTE $0xce // or r14b, cl + LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0x0844; BYTE $0xf3 // or bl, r14b + LONG $0x24648b4c; BYTE $0x30 // mov r12, qword [rsp + 48] + LONG $0x74b60f44; WORD $0x0324 // movzx r14d, byte [rsp + 3] + WORD $0x0845; BYTE $0xee // or r14b, r13b + LONG $0x6cb60f44; WORD $0x0724 // movzx r13d, byte [rsp + 7] + LONG $0x05e5c041 // shl r13b, 5 + LONG $0x244cb60f; BYTE $0x05 // movzx ecx, byte [rsp + 5] WORD $0xe1c0; BYTE $0x06 // shl cl, 6 + WORD $0x0844; BYTE $0xe9 // or cl, r13b + WORD $0x0840; BYTE $0xf8 // or al, dil + LONG $0x07e7c041 // shl r15b, 7 + WORD $0x0841; BYTE $0xcf // or r15b, cl + WORD $0x0841; BYTE $0xdf // or r15b, bl + LONG $0x244cb60f; BYTE $0x20 // movzx ecx, byte [rsp + 32] + WORD $0xc900 // add cl, cl + LONG $0x06244c02 // add cl, byte [rsp + 6] + LONG $0x02e3c041 // shl r11b, 2 + WORD $0x0841; BYTE $0xcb // or r11b, cl + LONG $0x03e2c041 // shl r10b, 3 + WORD $0x0845; BYTE $0xda // or r10b, r11b + LONG $0x244cb60f; BYTE $0x04 // movzx ecx, byte [rsp + 4] + WORD $0xe1c0; BYTE $0x04 // shl cl, 4 + WORD $0x0844; BYTE $0xd1 // or cl, r10b + LONG $0x24348845 // mov byte [r12], r14b + LONG $0x245cb60f; BYTE $0x28 // movzx ebx, byte [rsp + 40] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + LONG $0x06e1c041 // shl r9b, 6 + WORD $0x0841; BYTE $0xd9 // or r9b, bl + LONG $0x24448841; BYTE $0x01 // mov byte [r12 + 1], al LONG $0x07e0c041 // shl r8b, 7 + WORD $0x0845; BYTE $0xc8 // or r8b, r9b WORD $0x0841; BYTE $0xc8 // or r8b, cl - LONG $0x015e8841 // mov byte [r14 + 1], bl - WORD $0x0841; BYTE $0xc0 // or r8b, al - LONG $0x2444b60f; BYTE $0x0d // movzx eax, byte [rsp + 13] - WORD $0xc000 // add al, al - LONG $0x14244402 // add al, byte [rsp + 20] - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x0f // movzx eax, byte [rsp + 15] - WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x11 // movzx eax, byte [rsp + 17] - WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0xc808 // or al, cl - LONG $0x244cb60f; BYTE $0x13 // movzx ecx, byte [rsp + 19] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0xc108 // or cl, al - LONG $0x2444b60f; BYTE $0x12 // movzx eax, byte [rsp + 18] - WORD $0xe0c0; BYTE $0x06 // shl al, 6 - LONG $0x07e7c040 // shl dil, 7 - WORD $0x0840; BYTE $0xc7 // or dil, al - WORD $0x0840; BYTE $0xcf // or dil, cl - LONG $0x02468845 // mov byte [r14 + 2], r8b - LONG $0x037e8841 // mov byte [r14 + 3], dil + LONG $0x247c8845; BYTE $0x02 // mov byte [r12 + 2], r15b + LONG $0x24448845; BYTE $0x03 // mov byte [r12 + 3], r8b LONG $0x00c28148; WORD $0x0001; BYTE $0x00 // add rdx, 256 - LONG $0x04c68349 // add r14, 4 - LONG $0x24448348; WORD $0xff28 // add qword [rsp + 40], -1 + LONG $0x04c48349 // add r12, 4 + LONG $0x24448348; WORD $0xff38 // add qword [rsp + 56], -1 JNE LBB3_52 - LONG $0x245c8b4c; BYTE $0x18 // mov r11, qword [rsp + 24] - LONG $0x247c8b4c; BYTE $0x20 // mov r15, qword [rsp + 32] + LONG $0x24748b4c; BYTE $0x18 // mov r14, qword [rsp + 24] + LONG $0x247c8b4c; BYTE $0x40 // mov r15, qword [rsp + 64] LBB3_54: LONG $0x05e7c149 // shl r15, 5 - WORD $0x394d; BYTE $0xdf // cmp r15, r11 + WORD $0x394d; BYTE $0xf7 // cmp r15, r14 JGE LBB3_123 - WORD $0x294d; BYTE $0xfb // sub r11, r15 + WORD $0x294d; BYTE $0xfe // sub r14, r15 WORD $0xc931 // xor ecx, ecx LBB3_56: + LONG $0x01498d4c // lea r9, [rcx + 1] LONG $0x04100ff2; BYTE $0xce // movsd xmm0, qword [rsi + 8*rcx] LONG $0x042e0f66; BYTE $0xca // ucomisd xmm0, qword [rdx + 8*rcx] - LONG $0x01418d4c // lea r8, [rcx + 1] - WORD $0x950f; BYTE $0xd3 // setne bl - WORD $0xdbf6 // neg bl + WORD $0x9a0f; BYTE $0xd3 // setp bl + WORD $0x950f; BYTE $0xd0 // setne al + WORD $0xd808 // or al, bl + WORD $0xd8f6 // neg al WORD $0x8948; BYTE $0xcf // mov rdi, rcx LONG $0x03efc148 // shr rdi, 3 - LONG $0x0cb60f45; BYTE $0x3e // movzx r9d, byte [r14 + rdi] - WORD $0x3044; BYTE $0xcb // xor bl, r9b + LONG $0x04b60f45; BYTE $0x3c // movzx r8d, byte [r12 + rdi] + WORD $0x3044; BYTE $0xc0 // xor al, r8b WORD $0xe180; BYTE $0x07 // and cl, 7 - WORD $0x01b0 // mov al, 1 - WORD $0xe0d2 // shl al, cl - WORD $0xd820 // and al, bl - WORD $0x3044; BYTE $0xc8 // xor al, r9b - LONG $0x3e048841 // mov byte [r14 + rdi], al - WORD $0x894c; BYTE $0xc1 // mov rcx, r8 - WORD $0x394d; BYTE $0xc3 // cmp r11, r8 + WORD $0x01b3 // mov bl, 1 + WORD $0xe3d2 // shl bl, cl + WORD $0xc320 // and bl, al + WORD $0x3044; BYTE $0xc3 // xor bl, r8b + LONG $0x3c1c8841 // mov byte [r12 + rdi], bl + WORD $0x894c; BYTE $0xc9 // mov rcx, r9 + WORD $0x394d; BYTE $0xce // cmp r14, r9 JNE LBB3_56 JMP LBB3_123 @@ -15613,16 +16360,16 @@ LBB3_2: JE LBB3_57 WORD $0xff83; BYTE $0x03 // cmp edi, 3 JNE LBB3_123 - LONG $0x1f7b8d4d // lea r15, [r11 + 31] - WORD $0x854d; BYTE $0xdb // test r11, r11 - LONG $0xfb490f4d // cmovns r15, r11 - LONG $0x07418d41 // lea eax, [r9 + 7] - WORD $0x8545; BYTE $0xc9 // test r9d, r9d - LONG $0xc1490f41 // cmovns eax, r9d - WORD $0xe083; BYTE $0xf8 // and eax, -8 - WORD $0x2941; BYTE $0xc1 // sub r9d, eax + LONG $0x1f7e8d4d // lea r15, [r14 + 31] + WORD $0x854d; BYTE $0xf6 // test r14, r14 + LONG $0xfe490f4d // cmovns r15, r14 + WORD $0x488d; BYTE $0x07 // lea ecx, [rax + 7] + WORD $0xc085 // test eax, eax + WORD $0x490f; BYTE $0xc8 // cmovns ecx, eax + WORD $0xe183; BYTE $0xf8 // and ecx, -8 + WORD $0xc829 // sub eax, ecx JE LBB3_8 - WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d + WORD $0x9848 // cdqe LBB3_6: WORD $0xb60f; BYTE $0x0e // movzx ecx, byte [rsi] @@ -15635,7 +16382,7 @@ LBB3_6: WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xf8490f48 // cmovns rdi, rax LONG $0x03ffc148 // sar rdi, 3 - LONG $0x04b60f45; BYTE $0x3e // movzx r8d, byte [r14 + rdi] + LONG $0x04b60f45; BYTE $0x3c // movzx r8d, byte [r12 + rdi] WORD $0x3045; BYTE $0xc2 // xor r10b, r8b QUAD $0x00000000fd0c8d44 // lea r9d, [8*rdi] WORD $0xc189 // mov ecx, eax @@ -15644,49 +16391,49 @@ LBB3_6: WORD $0xe3d3 // shl ebx, cl WORD $0x2044; BYTE $0xd3 // and bl, r10b WORD $0x3044; BYTE $0xc3 // xor bl, r8b - LONG $0x3e1c8841 // mov byte [r14 + rdi], bl + LONG $0x3c1c8841 // mov byte [r12 + rdi], bl LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 JNE LBB3_6 - LONG $0x01c68349 // add r14, 1 + LONG $0x01c48349 // add r12, 1 LBB3_8: LONG $0x05ffc149 // sar r15, 5 - LONG $0x20fb8349 // cmp r11, 32 + LONG $0x20fe8349 // cmp r14, 32 JL LBB3_12 - LONG $0x245c894c; BYTE $0x18 // mov qword [rsp + 24], r11 - LONG $0x247c894c; BYTE $0x38 // mov qword [rsp + 56], r15 + LONG $0x2474894c; BYTE $0x18 // mov qword [rsp + 24], r14 LONG $0x247c894c; BYTE $0x20 // mov qword [rsp + 32], r15 + LONG $0x247c894c; BYTE $0x28 // mov qword [rsp + 40], r15 LBB3_10: - LONG $0x2474894c; BYTE $0x30 // mov qword [rsp + 48], r14 + LONG $0x2464894c; BYTE $0x30 // mov qword [rsp + 48], r12 WORD $0xb60f; BYTE $0x06 // movzx eax, byte [rsi] LONG $0x014eb60f // movzx ecx, byte [rsi + 1] WORD $0x023a // cmp al, byte [rdx] - LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] + LONG $0x2454950f; BYTE $0x04 // setne byte [rsp + 4] WORD $0x4a3a; BYTE $0x01 // cmp cl, byte [rdx + 1] - WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0x950f; BYTE $0xd3 // setne bl LONG $0x0246b60f // movzx eax, byte [rsi + 2] WORD $0x423a; BYTE $0x02 // cmp al, byte [rdx + 2] - LONG $0x2454950f; BYTE $0x14 // setne byte [rsp + 20] + LONG $0x2454950f; BYTE $0x15 // setne byte [rsp + 21] LONG $0x0346b60f // movzx eax, byte [rsi + 3] WORD $0x423a; BYTE $0x03 // cmp al, byte [rdx + 3] - LONG $0x2454950f; BYTE $0x15 // setne byte [rsp + 21] + LONG $0x2454950f; BYTE $0x16 // setne byte [rsp + 22] LONG $0x0446b60f // movzx eax, byte [rsi + 4] WORD $0x423a; BYTE $0x04 // cmp al, byte [rdx + 4] - LONG $0x2454950f; BYTE $0x16 // setne byte [rsp + 22] + LONG $0x2454950f; BYTE $0x17 // setne byte [rsp + 23] LONG $0x0546b60f // movzx eax, byte [rsi + 5] WORD $0x423a; BYTE $0x05 // cmp al, byte [rdx + 5] - LONG $0x2454950f; BYTE $0x17 // setne byte [rsp + 23] + LONG $0x2454950f; BYTE $0x03 // setne byte [rsp + 3] LONG $0x0646b60f // movzx eax, byte [rsi + 6] WORD $0x423a; BYTE $0x06 // cmp al, byte [rdx + 6] - LONG $0x2454950f; BYTE $0x04 // setne byte [rsp + 4] + LONG $0x2454950f; BYTE $0x05 // setne byte [rsp + 5] LONG $0x0746b60f // movzx eax, byte [rsi + 7] WORD $0x423a; BYTE $0x07 // cmp al, byte [rdx + 7] LONG $0xd7950f41 // setne r15b LONG $0x0846b60f // movzx eax, byte [rsi + 8] WORD $0x423a; BYTE $0x08 // cmp al, byte [rdx + 8] - LONG $0x2454950f; BYTE $0x07 // setne byte [rsp + 7] + LONG $0x2454950f; BYTE $0x08 // setne byte [rsp + 8] LONG $0x0946b60f // movzx eax, byte [rsi + 9] WORD $0x423a; BYTE $0x09 // cmp al, byte [rdx + 9] LONG $0xd7950f40 // setne dil @@ -15701,16 +16448,16 @@ LBB3_10: LONG $0xd6950f41 // setne r14b LONG $0x0d46b60f // movzx eax, byte [rsi + 13] WORD $0x423a; BYTE $0x0d // cmp al, byte [rdx + 13] - LONG $0x2454950f; BYTE $0x05 // setne byte [rsp + 5] + LONG $0x2454950f; BYTE $0x06 // setne byte [rsp + 6] LONG $0x0e46b60f // movzx eax, byte [rsi + 14] WORD $0x423a; BYTE $0x0e // cmp al, byte [rdx + 14] - LONG $0x2454950f; BYTE $0x06 // setne byte [rsp + 6] + LONG $0x2454950f; BYTE $0x07 // setne byte [rsp + 7] LONG $0x0f46b60f // movzx eax, byte [rsi + 15] WORD $0x423a; BYTE $0x0f // cmp al, byte [rdx + 15] - WORD $0x950f; BYTE $0xd3 // setne bl + LONG $0xd0950f41 // setne r8b LONG $0x1046b60f // movzx eax, byte [rsi + 16] WORD $0x423a; BYTE $0x10 // cmp al, byte [rdx + 16] - LONG $0x2454950f; BYTE $0x0d // setne byte [rsp + 13] + LONG $0x2454950f; BYTE $0x0e // setne byte [rsp + 14] LONG $0x1146b60f // movzx eax, byte [rsi + 17] WORD $0x423a; BYTE $0x11 // cmp al, byte [rdx + 17] LONG $0xd4950f41 // setne r12b @@ -15719,144 +16466,144 @@ LBB3_10: LONG $0xd5950f41 // setne r13b LONG $0x1346b60f // movzx eax, byte [rsi + 19] WORD $0x423a; BYTE $0x13 // cmp al, byte [rdx + 19] - LONG $0x2454950f; BYTE $0x08 // setne byte [rsp + 8] + LONG $0x2454950f; BYTE $0x09 // setne byte [rsp + 9] LONG $0x1446b60f // movzx eax, byte [rsi + 20] WORD $0x423a; BYTE $0x14 // cmp al, byte [rdx + 20] - LONG $0x2454950f; BYTE $0x09 // setne byte [rsp + 9] + LONG $0x2454950f; BYTE $0x0a // setne byte [rsp + 10] LONG $0x1546b60f // movzx eax, byte [rsi + 21] WORD $0x423a; BYTE $0x15 // cmp al, byte [rdx + 21] - LONG $0x2454950f; BYTE $0x0a // setne byte [rsp + 10] + LONG $0x2454950f; BYTE $0x0b // setne byte [rsp + 11] LONG $0x1646b60f // movzx eax, byte [rsi + 22] WORD $0x423a; BYTE $0x16 // cmp al, byte [rdx + 22] - LONG $0x2454950f; BYTE $0x0b // setne byte [rsp + 11] + LONG $0x2454950f; BYTE $0x0c // setne byte [rsp + 12] LONG $0x1746b60f // movzx eax, byte [rsi + 23] WORD $0x423a; BYTE $0x17 // cmp al, byte [rdx + 23] LONG $0xd1950f41 // setne r9b LONG $0x1846b60f // movzx eax, byte [rsi + 24] WORD $0x423a; BYTE $0x18 // cmp al, byte [rdx + 24] - LONG $0x2454950f; BYTE $0x13 // setne byte [rsp + 19] + LONG $0x2454950f; BYTE $0x14 // setne byte [rsp + 20] LONG $0x1946b60f // movzx eax, byte [rsi + 25] WORD $0x423a; BYTE $0x19 // cmp al, byte [rdx + 25] - LONG $0x2454950f; BYTE $0x0c // setne byte [rsp + 12] + LONG $0x2454950f; BYTE $0x0d // setne byte [rsp + 13] LONG $0x1a46b60f // movzx eax, byte [rsi + 26] WORD $0x423a; BYTE $0x1a // cmp al, byte [rdx + 26] - LONG $0x2454950f; BYTE $0x0e // setne byte [rsp + 14] + LONG $0x2454950f; BYTE $0x0f // setne byte [rsp + 15] LONG $0x1b46b60f // movzx eax, byte [rsi + 27] WORD $0x423a; BYTE $0x1b // cmp al, byte [rdx + 27] - LONG $0x2454950f; BYTE $0x0f // setne byte [rsp + 15] + LONG $0x2454950f; BYTE $0x10 // setne byte [rsp + 16] LONG $0x1c46b60f // movzx eax, byte [rsi + 28] WORD $0x423a; BYTE $0x1c // cmp al, byte [rdx + 28] - LONG $0x2454950f; BYTE $0x10 // setne byte [rsp + 16] + LONG $0x2454950f; BYTE $0x11 // setne byte [rsp + 17] LONG $0x1d46b60f // movzx eax, byte [rsi + 29] WORD $0x423a; BYTE $0x1d // cmp al, byte [rdx + 29] - LONG $0x2454950f; BYTE $0x11 // setne byte [rsp + 17] + LONG $0x2454950f; BYTE $0x12 // setne byte [rsp + 18] LONG $0x1e46b60f // movzx eax, byte [rsi + 30] WORD $0x423a; BYTE $0x1e // cmp al, byte [rdx + 30] - LONG $0x2454950f; BYTE $0x12 // setne byte [rsp + 18] + LONG $0x2454950f; BYTE $0x13 // setne byte [rsp + 19] LONG $0x1f46b60f // movzx eax, byte [rsi + 31] LONG $0x20c68348 // add rsi, 32 WORD $0x423a; BYTE $0x1f // cmp al, byte [rdx + 31] - LONG $0xd0950f41 // setne r8b - WORD $0xc900 // add cl, cl - LONG $0x28244c02 // add cl, byte [rsp + 40] - WORD $0xc889 // mov eax, ecx - LONG $0x244cb60f; BYTE $0x04 // movzx ecx, byte [rsp + 4] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xdb00 // add bl, bl + LONG $0x04245c02 // add bl, byte [rsp + 4] + WORD $0xd889 // mov eax, ebx + LONG $0x245cb60f; BYTE $0x05 // movzx ebx, byte [rsp + 5] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e7c041 // shl r15b, 7 - WORD $0x0841; BYTE $0xcf // or r15b, cl - LONG $0x244cb60f; BYTE $0x14 // movzx ecx, byte [rsp + 20] - WORD $0xe1c0; BYTE $0x02 // shl cl, 2 - WORD $0xc108 // or cl, al - WORD $0xc889 // mov eax, ecx + WORD $0x0841; BYTE $0xdf // or r15b, bl + LONG $0x245cb60f; BYTE $0x15 // movzx ebx, byte [rsp + 21] + WORD $0xe3c0; BYTE $0x02 // shl bl, 2 + WORD $0xc308 // or bl, al + WORD $0xd889 // mov eax, ebx WORD $0x0040; BYTE $0xff // add dil, dil - LONG $0x247c0240; BYTE $0x07 // add dil, byte [rsp + 7] - LONG $0x244cb60f; BYTE $0x15 // movzx ecx, byte [rsp + 21] - WORD $0xe1c0; BYTE $0x03 // shl cl, 3 - WORD $0xc108 // or cl, al - WORD $0xc889 // mov eax, ecx + LONG $0x247c0240; BYTE $0x08 // add dil, byte [rsp + 8] + LONG $0x245cb60f; BYTE $0x16 // movzx ebx, byte [rsp + 22] + WORD $0xe3c0; BYTE $0x03 // shl bl, 3 + WORD $0xc308 // or bl, al + WORD $0xd889 // mov eax, ebx LONG $0x02e2c041 // shl r10b, 2 WORD $0x0841; BYTE $0xfa // or r10b, dil - LONG $0x244cb60f; BYTE $0x16 // movzx ecx, byte [rsp + 22] - WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0xc108 // or cl, al - WORD $0xcf89 // mov edi, ecx + LONG $0x245cb60f; BYTE $0x17 // movzx ebx, byte [rsp + 23] + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0xc308 // or bl, al + WORD $0xdf89 // mov edi, ebx LONG $0x03e3c041 // shl r11b, 3 WORD $0x0845; BYTE $0xd3 // or r11b, r10b - LONG $0x244cb60f; BYTE $0x17 // movzx ecx, byte [rsp + 23] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0x0840; BYTE $0xf9 // or cl, dil + LONG $0x245cb60f; BYTE $0x03 // movzx ebx, byte [rsp + 3] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + WORD $0x0840; BYTE $0xfb // or bl, dil LONG $0x04e6c041 // shl r14b, 4 WORD $0x0845; BYTE $0xde // or r14b, r11b - LONG $0x2444b60f; BYTE $0x05 // movzx eax, byte [rsp + 5] + LONG $0x2444b60f; BYTE $0x06 // movzx eax, byte [rsp + 6] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0x0844; BYTE $0xf0 // or al, r14b - LONG $0x247cb60f; BYTE $0x06 // movzx edi, byte [rsp + 6] + LONG $0x247cb60f; BYTE $0x07 // movzx edi, byte [rsp + 7] LONG $0x06e7c040 // shl dil, 6 - WORD $0xe3c0; BYTE $0x07 // shl bl, 7 - WORD $0x0840; BYTE $0xfb // or bl, dil - WORD $0x0841; BYTE $0xcf // or r15b, cl - WORD $0xc308 // or bl, al + LONG $0x07e0c041 // shl r8b, 7 + WORD $0x0841; BYTE $0xf8 // or r8b, dil + WORD $0x0841; BYTE $0xdf // or r15b, bl + WORD $0x0841; BYTE $0xc0 // or r8b, al WORD $0x0045; BYTE $0xe4 // add r12b, r12b - LONG $0x24640244; BYTE $0x0d // add r12b, byte [rsp + 13] + LONG $0x24640244; BYTE $0x0e // add r12b, byte [rsp + 14] LONG $0x02e5c041 // shl r13b, 2 WORD $0x0845; BYTE $0xe5 // or r13b, r12b - LONG $0x24748b4c; BYTE $0x30 // mov r14, qword [rsp + 48] - LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + LONG $0x24648b4c; BYTE $0x30 // mov r12, qword [rsp + 48] + LONG $0x2444b60f; BYTE $0x09 // movzx eax, byte [rsp + 9] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0x0844; BYTE $0xe8 // or al, r13b - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x09 // movzx eax, byte [rsp + 9] - WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x0a // movzx eax, byte [rsp + 10] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x0b // movzx eax, byte [rsp + 11] WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - WORD $0x8845; BYTE $0x3e // mov byte [r14], r15b - LONG $0x244cb60f; BYTE $0x0b // movzx ecx, byte [rsp + 11] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 + WORD $0xd808 // or al, bl + LONG $0x243c8845 // mov byte [r12], r15b + LONG $0x245cb60f; BYTE $0x0c // movzx ebx, byte [rsp + 12] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e1c041 // shl r9b, 7 - WORD $0x0841; BYTE $0xc9 // or r9b, cl - LONG $0x015e8841 // mov byte [r14 + 1], bl + WORD $0x0841; BYTE $0xd9 // or r9b, bl + LONG $0x24448845; BYTE $0x01 // mov byte [r12 + 1], r8b WORD $0x0841; BYTE $0xc1 // or r9b, al - LONG $0x2444b60f; BYTE $0x0c // movzx eax, byte [rsp + 12] + LONG $0x2444b60f; BYTE $0x0d // movzx eax, byte [rsp + 13] WORD $0xc000 // add al, al - LONG $0x13244402 // add al, byte [rsp + 19] - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x0e // movzx eax, byte [rsp + 14] - WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + LONG $0x14244402 // add al, byte [rsp + 20] + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x0f // movzx eax, byte [rsp + 15] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] - WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x11 // movzx eax, byte [rsp + 17] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x12 // movzx eax, byte [rsp + 18] WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - LONG $0x244cb60f; BYTE $0x12 // movzx ecx, byte [rsp + 18] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 - LONG $0x07e0c041 // shl r8b, 7 - WORD $0x0841; BYTE $0xc8 // or r8b, cl - WORD $0x0841; BYTE $0xc0 // or r8b, al - LONG $0x024e8845 // mov byte [r14 + 2], r9b - LONG $0x03468845 // mov byte [r14 + 3], r8b + WORD $0xd808 // or al, bl + LONG $0x245cb60f; BYTE $0x13 // movzx ebx, byte [rsp + 19] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 + WORD $0xe1c0; BYTE $0x07 // shl cl, 7 + WORD $0xd908 // or cl, bl + WORD $0xc108 // or cl, al + LONG $0x244c8845; BYTE $0x02 // mov byte [r12 + 2], r9b + LONG $0x244c8841; BYTE $0x03 // mov byte [r12 + 3], cl LONG $0x20c28348 // add rdx, 32 - LONG $0x04c68349 // add r14, 4 - LONG $0x24448348; WORD $0xff20 // add qword [rsp + 32], -1 + LONG $0x04c48349 // add r12, 4 + LONG $0x24448348; WORD $0xff28 // add qword [rsp + 40], -1 JNE LBB3_10 - LONG $0x245c8b4c; BYTE $0x18 // mov r11, qword [rsp + 24] - LONG $0x247c8b4c; BYTE $0x38 // mov r15, qword [rsp + 56] + LONG $0x24748b4c; BYTE $0x18 // mov r14, qword [rsp + 24] + LONG $0x247c8b4c; BYTE $0x20 // mov r15, qword [rsp + 32] LBB3_12: LONG $0x05e7c149 // shl r15, 5 - WORD $0x394d; BYTE $0xdf // cmp r15, r11 + WORD $0x394d; BYTE $0xf7 // cmp r15, r14 JGE LBB3_123 - WORD $0x294d; BYTE $0xfb // sub r11, r15 + WORD $0x294d; BYTE $0xfe // sub r14, r15 WORD $0xc931 // xor ecx, ecx LBB3_14: @@ -15867,16 +16614,16 @@ LBB3_14: WORD $0xdbf6 // neg bl WORD $0x8948; BYTE $0xcf // mov rdi, rcx LONG $0x03efc148 // shr rdi, 3 - LONG $0x0cb60f45; BYTE $0x3e // movzx r9d, byte [r14 + rdi] + LONG $0x0cb60f45; BYTE $0x3c // movzx r9d, byte [r12 + rdi] WORD $0x3044; BYTE $0xcb // xor bl, r9b WORD $0xe180; BYTE $0x07 // and cl, 7 WORD $0x01b0 // mov al, 1 WORD $0xe0d2 // shl al, cl WORD $0xd820 // and al, bl WORD $0x3044; BYTE $0xc8 // xor al, r9b - LONG $0x3e048841 // mov byte [r14 + rdi], al + LONG $0x3c048841 // mov byte [r12 + rdi], al WORD $0x894c; BYTE $0xc1 // mov rcx, r8 - WORD $0x394d; BYTE $0xc3 // cmp r11, r8 + WORD $0x394d; BYTE $0xc6 // cmp r14, r8 JNE LBB3_14 JMP LBB3_123 @@ -15885,16 +16632,16 @@ LBB3_30: JE LBB3_90 WORD $0xff83; BYTE $0x08 // cmp edi, 8 JNE LBB3_123 - LONG $0x1f7b8d4d // lea r15, [r11 + 31] - WORD $0x854d; BYTE $0xdb // test r11, r11 - LONG $0xfb490f4d // cmovns r15, r11 - LONG $0x07418d41 // lea eax, [r9 + 7] - WORD $0x8545; BYTE $0xc9 // test r9d, r9d - LONG $0xc1490f41 // cmovns eax, r9d - WORD $0xe083; BYTE $0xf8 // and eax, -8 - WORD $0x2941; BYTE $0xc1 // sub r9d, eax + LONG $0x1f7e8d4d // lea r15, [r14 + 31] + WORD $0x854d; BYTE $0xf6 // test r14, r14 + LONG $0xfe490f4d // cmovns r15, r14 + WORD $0x488d; BYTE $0x07 // lea ecx, [rax + 7] + WORD $0xc085 // test eax, eax + WORD $0x490f; BYTE $0xc8 // cmovns ecx, eax + WORD $0xe183; BYTE $0xf8 // and ecx, -8 + WORD $0xc829 // sub eax, ecx JE LBB3_36 - WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d + WORD $0x9848 // cdqe LBB3_34: WORD $0x8b48; BYTE $0x0e // mov rcx, qword [rsi] @@ -15907,7 +16654,7 @@ LBB3_34: WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xf8490f48 // cmovns rdi, rax LONG $0x03ffc148 // sar rdi, 3 - LONG $0x04b60f45; BYTE $0x3e // movzx r8d, byte [r14 + rdi] + LONG $0x04b60f45; BYTE $0x3c // movzx r8d, byte [r12 + rdi] WORD $0x3045; BYTE $0xc2 // xor r10b, r8b QUAD $0x00000000fd0c8d44 // lea r9d, [8*rdi] WORD $0xc189 // mov ecx, eax @@ -15916,49 +16663,49 @@ LBB3_34: WORD $0xe3d3 // shl ebx, cl WORD $0x2044; BYTE $0xd3 // and bl, r10b WORD $0x3044; BYTE $0xc3 // xor bl, r8b - LONG $0x3e1c8841 // mov byte [r14 + rdi], bl + LONG $0x3c1c8841 // mov byte [r12 + rdi], bl LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 JNE LBB3_34 - LONG $0x01c68349 // add r14, 1 + LONG $0x01c48349 // add r12, 1 LBB3_36: LONG $0x05ffc149 // sar r15, 5 - LONG $0x20fb8349 // cmp r11, 32 + LONG $0x20fe8349 // cmp r14, 32 JL LBB3_40 - LONG $0x245c894c; BYTE $0x18 // mov qword [rsp + 24], r11 - LONG $0x247c894c; BYTE $0x40 // mov qword [rsp + 64], r15 + LONG $0x2474894c; BYTE $0x18 // mov qword [rsp + 24], r14 LONG $0x247c894c; BYTE $0x38 // mov qword [rsp + 56], r15 + LONG $0x247c894c; BYTE $0x20 // mov qword [rsp + 32], r15 LBB3_38: - LONG $0x2474894c; BYTE $0x30 // mov qword [rsp + 48], r14 + LONG $0x2464894c; BYTE $0x30 // mov qword [rsp + 48], r12 WORD $0x8b48; BYTE $0x06 // mov rax, qword [rsi] LONG $0x084e8b48 // mov rcx, qword [rsi + 8] WORD $0x3b48; BYTE $0x02 // cmp rax, qword [rdx] - LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] + LONG $0x2454950f; BYTE $0x04 // setne byte [rsp + 4] LONG $0x084a3b48 // cmp rcx, qword [rdx + 8] - LONG $0x2454950f; BYTE $0x20 // setne byte [rsp + 32] + LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] LONG $0x10468b48 // mov rax, qword [rsi + 16] LONG $0x10423b48 // cmp rax, qword [rdx + 16] - LONG $0x2454950f; BYTE $0x14 // setne byte [rsp + 20] + LONG $0x2454950f; BYTE $0x15 // setne byte [rsp + 21] LONG $0x18468b48 // mov rax, qword [rsi + 24] LONG $0x18423b48 // cmp rax, qword [rdx + 24] - LONG $0x2454950f; BYTE $0x15 // setne byte [rsp + 21] + LONG $0x2454950f; BYTE $0x16 // setne byte [rsp + 22] LONG $0x20468b48 // mov rax, qword [rsi + 32] LONG $0x20423b48 // cmp rax, qword [rdx + 32] - LONG $0x2454950f; BYTE $0x16 // setne byte [rsp + 22] + LONG $0x2454950f; BYTE $0x17 // setne byte [rsp + 23] LONG $0x28468b48 // mov rax, qword [rsi + 40] LONG $0x28423b48 // cmp rax, qword [rdx + 40] - LONG $0x2454950f; BYTE $0x17 // setne byte [rsp + 23] + LONG $0x2454950f; BYTE $0x03 // setne byte [rsp + 3] LONG $0x30468b48 // mov rax, qword [rsi + 48] LONG $0x30423b48 // cmp rax, qword [rdx + 48] - LONG $0x2454950f; BYTE $0x04 // setne byte [rsp + 4] + LONG $0x2454950f; BYTE $0x05 // setne byte [rsp + 5] LONG $0x38468b48 // mov rax, qword [rsi + 56] LONG $0x38423b48 // cmp rax, qword [rdx + 56] LONG $0xd5950f41 // setne r13b LONG $0x40468b48 // mov rax, qword [rsi + 64] LONG $0x40423b48 // cmp rax, qword [rdx + 64] - LONG $0x2454950f; BYTE $0x09 // setne byte [rsp + 9] + LONG $0x2454950f; BYTE $0x0a // setne byte [rsp + 10] LONG $0x48468b48 // mov rax, qword [rsi + 72] LONG $0x48423b48 // cmp rax, qword [rdx + 72] LONG $0xd0950f41 // setne r8b @@ -15970,165 +16717,165 @@ LBB3_38: LONG $0xd7950f41 // setne r15b LONG $0x60468b48 // mov rax, qword [rsi + 96] LONG $0x60423b48 // cmp rax, qword [rdx + 96] - LONG $0x2454950f; BYTE $0x05 // setne byte [rsp + 5] + LONG $0x2454950f; BYTE $0x06 // setne byte [rsp + 6] LONG $0x68468b48 // mov rax, qword [rsi + 104] LONG $0x68423b48 // cmp rax, qword [rdx + 104] - LONG $0x2454950f; BYTE $0x06 // setne byte [rsp + 6] + LONG $0x2454950f; BYTE $0x07 // setne byte [rsp + 7] LONG $0x70468b48 // mov rax, qword [rsi + 112] LONG $0x70423b48 // cmp rax, qword [rdx + 112] - LONG $0x2454950f; BYTE $0x07 // setne byte [rsp + 7] + LONG $0x2454950f; BYTE $0x08 // setne byte [rsp + 8] LONG $0x78468b48 // mov rax, qword [rsi + 120] LONG $0x78423b48 // cmp rax, qword [rdx + 120] - WORD $0x950f; BYTE $0xd3 // setne bl + LONG $0xd7950f40 // setne dil LONG $0x80868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 128] - LONG $0x888e8b48; WORD $0x0000; BYTE $0x00 // mov rcx, qword [rsi + 136] + LONG $0x889e8b48; WORD $0x0000; BYTE $0x00 // mov rbx, qword [rsi + 136] LONG $0x80823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 128] LONG $0x90868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 144] - LONG $0x2454950f; BYTE $0x0a // setne byte [rsp + 10] - LONG $0x888a3b48; WORD $0x0000; BYTE $0x00 // cmp rcx, qword [rdx + 136] - LONG $0x988e8b48; WORD $0x0000; BYTE $0x00 // mov rcx, qword [rsi + 152] + LONG $0x2454950f; BYTE $0x0b // setne byte [rsp + 11] + LONG $0x889a3b48; WORD $0x0000; BYTE $0x00 // cmp rbx, qword [rdx + 136] + LONG $0x989e8b48; WORD $0x0000; BYTE $0x00 // mov rbx, qword [rsi + 152] LONG $0xd2950f41 // setne r10b LONG $0x90823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 144] LONG $0xa0868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 160] LONG $0xd6950f41 // setne r14b - LONG $0x988a3b48; WORD $0x0000; BYTE $0x00 // cmp rcx, qword [rdx + 152] - LONG $0xa88e8b48; WORD $0x0000; BYTE $0x00 // mov rcx, qword [rsi + 168] + LONG $0x989a3b48; WORD $0x0000; BYTE $0x00 // cmp rbx, qword [rdx + 152] + LONG $0xa89e8b48; WORD $0x0000; BYTE $0x00 // mov rbx, qword [rsi + 168] LONG $0xd4950f41 // setne r12b LONG $0xa0823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 160] - LONG $0x2454950f; BYTE $0x08 // setne byte [rsp + 8] - LONG $0xa88a3b48; WORD $0x0000; BYTE $0x00 // cmp rcx, qword [rdx + 168] + LONG $0x2454950f; BYTE $0x09 // setne byte [rsp + 9] + LONG $0xa89a3b48; WORD $0x0000; BYTE $0x00 // cmp rbx, qword [rdx + 168] LONG $0xb0868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 176] - LONG $0x2454950f; BYTE $0x0b // setne byte [rsp + 11] + LONG $0x2454950f; BYTE $0x0c // setne byte [rsp + 12] LONG $0xb0823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 176] LONG $0xb8868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 184] - LONG $0x2454950f; BYTE $0x0c // setne byte [rsp + 12] + LONG $0x2454950f; BYTE $0x0d // setne byte [rsp + 13] LONG $0xb8823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 184] LONG $0xc0868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 192] LONG $0xd1950f41 // setne r9b LONG $0xc0823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 192] LONG $0xc8868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 200] - LONG $0x2454950f; BYTE $0x13 // setne byte [rsp + 19] + LONG $0x2454950f; BYTE $0x14 // setne byte [rsp + 20] LONG $0xc8823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 200] LONG $0xd0868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 208] - LONG $0x2454950f; BYTE $0x0d // setne byte [rsp + 13] + LONG $0x2454950f; BYTE $0x0e // setne byte [rsp + 14] LONG $0xd0823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 208] LONG $0xd8868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 216] - LONG $0x2454950f; BYTE $0x0e // setne byte [rsp + 14] + LONG $0x2454950f; BYTE $0x0f // setne byte [rsp + 15] LONG $0xd8823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 216] LONG $0xe0868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 224] - LONG $0x2454950f; BYTE $0x0f // setne byte [rsp + 15] + LONG $0x2454950f; BYTE $0x10 // setne byte [rsp + 16] LONG $0xe0823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 224] LONG $0xe8868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 232] - LONG $0x2454950f; BYTE $0x10 // setne byte [rsp + 16] + LONG $0x2454950f; BYTE $0x11 // setne byte [rsp + 17] LONG $0xe8823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 232] LONG $0xf0868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 240] - LONG $0x2454950f; BYTE $0x12 // setne byte [rsp + 18] + LONG $0x2454950f; BYTE $0x13 // setne byte [rsp + 19] LONG $0xf0823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 240] LONG $0xf8868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 248] - LONG $0x2454950f; BYTE $0x11 // setne byte [rsp + 17] + LONG $0x2454950f; BYTE $0x12 // setne byte [rsp + 18] LONG $0x00c68148; WORD $0x0001; BYTE $0x00 // add rsi, 256 LONG $0xf8823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 248] - LONG $0xd7950f40 // setne dil - LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] + WORD $0x950f; BYTE $0xd1 // setne cl + LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] WORD $0xc000 // add al, al - LONG $0x28244402 // add al, byte [rsp + 40] - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x04 // movzx eax, byte [rsp + 4] + LONG $0x04244402 // add al, byte [rsp + 4] + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x05 // movzx eax, byte [rsp + 5] WORD $0xe0c0; BYTE $0x06 // shl al, 6 LONG $0x07e5c041 // shl r13b, 7 WORD $0x0841; BYTE $0xc5 // or r13b, al - LONG $0x2444b60f; BYTE $0x14 // movzx eax, byte [rsp + 20] + LONG $0x2444b60f; BYTE $0x15 // movzx eax, byte [rsp + 21] WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xc808 // or al, cl + WORD $0xd808 // or al, bl WORD $0x0045; BYTE $0xc0 // add r8b, r8b - LONG $0x24440244; BYTE $0x09 // add r8b, byte [rsp + 9] - LONG $0x244cb60f; BYTE $0x15 // movzx ecx, byte [rsp + 21] - WORD $0xe1c0; BYTE $0x03 // shl cl, 3 - WORD $0xc108 // or cl, al - WORD $0xc889 // mov eax, ecx + LONG $0x24440244; BYTE $0x0a // add r8b, byte [rsp + 10] + LONG $0x245cb60f; BYTE $0x16 // movzx ebx, byte [rsp + 22] + WORD $0xe3c0; BYTE $0x03 // shl bl, 3 + WORD $0xc308 // or bl, al + WORD $0xd889 // mov eax, ebx LONG $0x02e3c041 // shl r11b, 2 WORD $0x0845; BYTE $0xc3 // or r11b, r8b - LONG $0x244cb60f; BYTE $0x16 // movzx ecx, byte [rsp + 22] - WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0xc108 // or cl, al - WORD $0x8941; BYTE $0xc8 // mov r8d, ecx + LONG $0x245cb60f; BYTE $0x17 // movzx ebx, byte [rsp + 23] + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0xc308 // or bl, al + WORD $0x8941; BYTE $0xd8 // mov r8d, ebx LONG $0x03e7c041 // shl r15b, 3 WORD $0x0845; BYTE $0xdf // or r15b, r11b - LONG $0x244cb60f; BYTE $0x17 // movzx ecx, byte [rsp + 23] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0x0844; BYTE $0xc1 // or cl, r8b - LONG $0x2444b60f; BYTE $0x05 // movzx eax, byte [rsp + 5] + LONG $0x245cb60f; BYTE $0x03 // movzx ebx, byte [rsp + 3] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + WORD $0x0844; BYTE $0xc3 // or bl, r8b + LONG $0x2444b60f; BYTE $0x06 // movzx eax, byte [rsp + 6] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0x0844; BYTE $0xf8 // or al, r15b WORD $0x8941; BYTE $0xc0 // mov r8d, eax - LONG $0x2444b60f; BYTE $0x06 // movzx eax, byte [rsp + 6] + LONG $0x2444b60f; BYTE $0x07 // movzx eax, byte [rsp + 7] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0x0844; BYTE $0xc0 // or al, r8b - LONG $0x44b60f44; WORD $0x0724 // movzx r8d, byte [rsp + 7] + LONG $0x44b60f44; WORD $0x0824 // movzx r8d, byte [rsp + 8] LONG $0x06e0c041 // shl r8b, 6 - WORD $0xe3c0; BYTE $0x07 // shl bl, 7 - WORD $0x0844; BYTE $0xc3 // or bl, r8b - WORD $0x0841; BYTE $0xcd // or r13b, cl - WORD $0xc308 // or bl, al + LONG $0x07e7c040 // shl dil, 7 + WORD $0x0844; BYTE $0xc7 // or dil, r8b + WORD $0x0841; BYTE $0xdd // or r13b, bl + WORD $0x0840; BYTE $0xc7 // or dil, al WORD $0x0045; BYTE $0xd2 // add r10b, r10b - LONG $0x24540244; BYTE $0x0a // add r10b, byte [rsp + 10] + LONG $0x24540244; BYTE $0x0b // add r10b, byte [rsp + 11] LONG $0x02e6c041 // shl r14b, 2 WORD $0x0845; BYTE $0xd6 // or r14b, r10b LONG $0x03e4c041 // shl r12b, 3 WORD $0x0845; BYTE $0xf4 // or r12b, r14b - LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + LONG $0x2444b60f; BYTE $0x09 // movzx eax, byte [rsp + 9] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0x0844; BYTE $0xe0 // or al, r12b - WORD $0xc189 // mov ecx, eax - LONG $0x24748b4c; BYTE $0x30 // mov r14, qword [rsp + 48] - LONG $0x2444b60f; BYTE $0x0b // movzx eax, byte [rsp + 11] + WORD $0xc389 // mov ebx, eax + LONG $0x24648b4c; BYTE $0x30 // mov r12, qword [rsp + 48] + LONG $0x2444b60f; BYTE $0x0c // movzx eax, byte [rsp + 12] WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - WORD $0x8845; BYTE $0x2e // mov byte [r14], r13b - LONG $0x244cb60f; BYTE $0x0c // movzx ecx, byte [rsp + 12] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 + WORD $0xd808 // or al, bl + LONG $0x242c8845 // mov byte [r12], r13b + LONG $0x245cb60f; BYTE $0x0d // movzx ebx, byte [rsp + 13] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e1c041 // shl r9b, 7 - WORD $0x0841; BYTE $0xc9 // or r9b, cl - LONG $0x015e8841 // mov byte [r14 + 1], bl + WORD $0x0841; BYTE $0xd9 // or r9b, bl + LONG $0x247c8841; BYTE $0x01 // mov byte [r12 + 1], dil WORD $0x0841; BYTE $0xc1 // or r9b, al - LONG $0x2444b60f; BYTE $0x0d // movzx eax, byte [rsp + 13] - WORD $0xc000 // add al, al - LONG $0x13244402 // add al, byte [rsp + 19] - WORD $0xc189 // mov ecx, eax LONG $0x2444b60f; BYTE $0x0e // movzx eax, byte [rsp + 14] - WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xc000 // add al, al + LONG $0x14244402 // add al, byte [rsp + 20] + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x0f // movzx eax, byte [rsp + 15] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x11 // movzx eax, byte [rsp + 17] WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x12 // movzx eax, byte [rsp + 18] + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x13 // movzx eax, byte [rsp + 19] WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - LONG $0x244cb60f; BYTE $0x11 // movzx ecx, byte [rsp + 17] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 - LONG $0x07e7c040 // shl dil, 7 - WORD $0x0840; BYTE $0xcf // or dil, cl - WORD $0x0840; BYTE $0xc7 // or dil, al - LONG $0x024e8845 // mov byte [r14 + 2], r9b - LONG $0x037e8841 // mov byte [r14 + 3], dil + WORD $0xd808 // or al, bl + LONG $0x245cb60f; BYTE $0x12 // movzx ebx, byte [rsp + 18] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 + WORD $0xe1c0; BYTE $0x07 // shl cl, 7 + WORD $0xd908 // or cl, bl + WORD $0xc108 // or cl, al + LONG $0x244c8845; BYTE $0x02 // mov byte [r12 + 2], r9b + LONG $0x244c8841; BYTE $0x03 // mov byte [r12 + 3], cl LONG $0x00c28148; WORD $0x0001; BYTE $0x00 // add rdx, 256 - LONG $0x04c68349 // add r14, 4 - LONG $0x24448348; WORD $0xff38 // add qword [rsp + 56], -1 + LONG $0x04c48349 // add r12, 4 + LONG $0x24448348; WORD $0xff20 // add qword [rsp + 32], -1 JNE LBB3_38 - LONG $0x245c8b4c; BYTE $0x18 // mov r11, qword [rsp + 24] - LONG $0x247c8b4c; BYTE $0x40 // mov r15, qword [rsp + 64] + LONG $0x24748b4c; BYTE $0x18 // mov r14, qword [rsp + 24] + LONG $0x247c8b4c; BYTE $0x38 // mov r15, qword [rsp + 56] LBB3_40: LONG $0x05e7c149 // shl r15, 5 - WORD $0x394d; BYTE $0xdf // cmp r15, r11 + WORD $0x394d; BYTE $0xf7 // cmp r15, r14 JGE LBB3_123 - WORD $0x294d; BYTE $0xfb // sub r11, r15 + WORD $0x294d; BYTE $0xfe // sub r14, r15 WORD $0xc931 // xor ecx, ecx LBB3_42: @@ -16139,30 +16886,30 @@ LBB3_42: WORD $0xdbf6 // neg bl WORD $0x8948; BYTE $0xcf // mov rdi, rcx LONG $0x03efc148 // shr rdi, 3 - LONG $0x0cb60f45; BYTE $0x3e // movzx r9d, byte [r14 + rdi] + LONG $0x0cb60f45; BYTE $0x3c // movzx r9d, byte [r12 + rdi] WORD $0x3044; BYTE $0xcb // xor bl, r9b WORD $0xe180; BYTE $0x07 // and cl, 7 WORD $0x01b0 // mov al, 1 WORD $0xe0d2 // shl al, cl WORD $0xd820 // and al, bl WORD $0x3044; BYTE $0xc8 // xor al, r9b - LONG $0x3e048841 // mov byte [r14 + rdi], al + LONG $0x3c048841 // mov byte [r12 + rdi], al WORD $0x894c; BYTE $0xc1 // mov rcx, r8 - WORD $0x394d; BYTE $0xc3 // cmp r11, r8 + WORD $0x394d; BYTE $0xc6 // cmp r14, r8 JNE LBB3_42 JMP LBB3_123 LBB3_68: - LONG $0x1f7b8d4d // lea r15, [r11 + 31] - WORD $0x854d; BYTE $0xdb // test r11, r11 - LONG $0xfb490f4d // cmovns r15, r11 - LONG $0x07418d41 // lea eax, [r9 + 7] - WORD $0x8545; BYTE $0xc9 // test r9d, r9d - LONG $0xc1490f41 // cmovns eax, r9d - WORD $0xe083; BYTE $0xf8 // and eax, -8 - WORD $0x2941; BYTE $0xc1 // sub r9d, eax + LONG $0x1f7e8d4d // lea r15, [r14 + 31] + WORD $0x854d; BYTE $0xf6 // test r14, r14 + LONG $0xfe490f4d // cmovns r15, r14 + WORD $0x488d; BYTE $0x07 // lea ecx, [rax + 7] + WORD $0xc085 // test eax, eax + WORD $0x490f; BYTE $0xc8 // cmovns ecx, eax + WORD $0xe183; BYTE $0xf8 // and ecx, -8 + WORD $0xc829 // sub eax, ecx JE LBB3_72 - WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d + WORD $0x9848 // cdqe LBB3_70: WORD $0xb70f; BYTE $0x0e // movzx ecx, word [rsi] @@ -16175,7 +16922,7 @@ LBB3_70: WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xf8490f48 // cmovns rdi, rax LONG $0x03ffc148 // sar rdi, 3 - LONG $0x04b60f45; BYTE $0x3e // movzx r8d, byte [r14 + rdi] + LONG $0x04b60f45; BYTE $0x3c // movzx r8d, byte [r12 + rdi] WORD $0x3045; BYTE $0xc2 // xor r10b, r8b QUAD $0x00000000fd0c8d44 // lea r9d, [8*rdi] WORD $0xc189 // mov ecx, eax @@ -16184,49 +16931,49 @@ LBB3_70: WORD $0xe3d3 // shl ebx, cl WORD $0x2044; BYTE $0xd3 // and bl, r10b WORD $0x3044; BYTE $0xc3 // xor bl, r8b - LONG $0x3e1c8841 // mov byte [r14 + rdi], bl + LONG $0x3c1c8841 // mov byte [r12 + rdi], bl LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 JNE LBB3_70 - LONG $0x01c68349 // add r14, 1 + LONG $0x01c48349 // add r12, 1 LBB3_72: LONG $0x05ffc149 // sar r15, 5 - LONG $0x20fb8349 // cmp r11, 32 + LONG $0x20fe8349 // cmp r14, 32 JL LBB3_76 - LONG $0x245c894c; BYTE $0x18 // mov qword [rsp + 24], r11 - LONG $0x247c894c; BYTE $0x40 // mov qword [rsp + 64], r15 + LONG $0x2474894c; BYTE $0x18 // mov qword [rsp + 24], r14 LONG $0x247c894c; BYTE $0x38 // mov qword [rsp + 56], r15 + LONG $0x247c894c; BYTE $0x20 // mov qword [rsp + 32], r15 LBB3_74: - LONG $0x2474894c; BYTE $0x30 // mov qword [rsp + 48], r14 + LONG $0x2464894c; BYTE $0x30 // mov qword [rsp + 48], r12 WORD $0xb70f; BYTE $0x06 // movzx eax, word [rsi] LONG $0x024eb70f // movzx ecx, word [rsi + 2] WORD $0x3b66; BYTE $0x02 // cmp ax, word [rdx] - LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] + LONG $0x2454950f; BYTE $0x04 // setne byte [rsp + 4] LONG $0x024a3b66 // cmp cx, word [rdx + 2] - LONG $0x2454950f; BYTE $0x20 // setne byte [rsp + 32] + LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] LONG $0x0446b70f // movzx eax, word [rsi + 4] LONG $0x04423b66 // cmp ax, word [rdx + 4] - LONG $0x2454950f; BYTE $0x14 // setne byte [rsp + 20] + LONG $0x2454950f; BYTE $0x15 // setne byte [rsp + 21] LONG $0x0646b70f // movzx eax, word [rsi + 6] LONG $0x06423b66 // cmp ax, word [rdx + 6] - LONG $0x2454950f; BYTE $0x15 // setne byte [rsp + 21] + LONG $0x2454950f; BYTE $0x16 // setne byte [rsp + 22] LONG $0x0846b70f // movzx eax, word [rsi + 8] LONG $0x08423b66 // cmp ax, word [rdx + 8] - LONG $0x2454950f; BYTE $0x16 // setne byte [rsp + 22] + LONG $0x2454950f; BYTE $0x17 // setne byte [rsp + 23] LONG $0x0a46b70f // movzx eax, word [rsi + 10] LONG $0x0a423b66 // cmp ax, word [rdx + 10] - LONG $0x2454950f; BYTE $0x17 // setne byte [rsp + 23] + LONG $0x2454950f; BYTE $0x03 // setne byte [rsp + 3] LONG $0x0c46b70f // movzx eax, word [rsi + 12] LONG $0x0c423b66 // cmp ax, word [rdx + 12] - LONG $0x2454950f; BYTE $0x04 // setne byte [rsp + 4] + LONG $0x2454950f; BYTE $0x05 // setne byte [rsp + 5] LONG $0x0e46b70f // movzx eax, word [rsi + 14] LONG $0x0e423b66 // cmp ax, word [rdx + 14] LONG $0xd5950f41 // setne r13b LONG $0x1046b70f // movzx eax, word [rsi + 16] LONG $0x10423b66 // cmp ax, word [rdx + 16] - LONG $0x2454950f; BYTE $0x09 // setne byte [rsp + 9] + LONG $0x2454950f; BYTE $0x0a // setne byte [rsp + 10] LONG $0x1246b70f // movzx eax, word [rsi + 18] LONG $0x12423b66 // cmp ax, word [rdx + 18] LONG $0xd0950f41 // setne r8b @@ -16238,165 +16985,165 @@ LBB3_74: LONG $0xd7950f41 // setne r15b LONG $0x1846b70f // movzx eax, word [rsi + 24] LONG $0x18423b66 // cmp ax, word [rdx + 24] - LONG $0x2454950f; BYTE $0x05 // setne byte [rsp + 5] + LONG $0x2454950f; BYTE $0x06 // setne byte [rsp + 6] LONG $0x1a46b70f // movzx eax, word [rsi + 26] LONG $0x1a423b66 // cmp ax, word [rdx + 26] - LONG $0x2454950f; BYTE $0x06 // setne byte [rsp + 6] + LONG $0x2454950f; BYTE $0x07 // setne byte [rsp + 7] LONG $0x1c46b70f // movzx eax, word [rsi + 28] LONG $0x1c423b66 // cmp ax, word [rdx + 28] - LONG $0x2454950f; BYTE $0x07 // setne byte [rsp + 7] + LONG $0x2454950f; BYTE $0x08 // setne byte [rsp + 8] LONG $0x1e46b70f // movzx eax, word [rsi + 30] LONG $0x1e423b66 // cmp ax, word [rdx + 30] - WORD $0x950f; BYTE $0xd3 // setne bl + LONG $0xd7950f40 // setne dil LONG $0x2046b70f // movzx eax, word [rsi + 32] - LONG $0x224eb70f // movzx ecx, word [rsi + 34] + LONG $0x225eb70f // movzx ebx, word [rsi + 34] LONG $0x20423b66 // cmp ax, word [rdx + 32] LONG $0x2446b70f // movzx eax, word [rsi + 36] - LONG $0x2454950f; BYTE $0x0a // setne byte [rsp + 10] - LONG $0x224a3b66 // cmp cx, word [rdx + 34] - LONG $0x264eb70f // movzx ecx, word [rsi + 38] + LONG $0x2454950f; BYTE $0x0b // setne byte [rsp + 11] + LONG $0x225a3b66 // cmp bx, word [rdx + 34] + LONG $0x265eb70f // movzx ebx, word [rsi + 38] LONG $0xd2950f41 // setne r10b LONG $0x24423b66 // cmp ax, word [rdx + 36] LONG $0x2846b70f // movzx eax, word [rsi + 40] LONG $0xd6950f41 // setne r14b - LONG $0x264a3b66 // cmp cx, word [rdx + 38] - LONG $0x2a4eb70f // movzx ecx, word [rsi + 42] + LONG $0x265a3b66 // cmp bx, word [rdx + 38] + LONG $0x2a5eb70f // movzx ebx, word [rsi + 42] LONG $0xd4950f41 // setne r12b LONG $0x28423b66 // cmp ax, word [rdx + 40] - LONG $0x2454950f; BYTE $0x08 // setne byte [rsp + 8] - LONG $0x2a4a3b66 // cmp cx, word [rdx + 42] + LONG $0x2454950f; BYTE $0x09 // setne byte [rsp + 9] + LONG $0x2a5a3b66 // cmp bx, word [rdx + 42] LONG $0x2c46b70f // movzx eax, word [rsi + 44] - LONG $0x2454950f; BYTE $0x0b // setne byte [rsp + 11] + LONG $0x2454950f; BYTE $0x0c // setne byte [rsp + 12] LONG $0x2c423b66 // cmp ax, word [rdx + 44] LONG $0x2e46b70f // movzx eax, word [rsi + 46] - LONG $0x2454950f; BYTE $0x0c // setne byte [rsp + 12] + LONG $0x2454950f; BYTE $0x0d // setne byte [rsp + 13] LONG $0x2e423b66 // cmp ax, word [rdx + 46] LONG $0x3046b70f // movzx eax, word [rsi + 48] LONG $0xd1950f41 // setne r9b LONG $0x30423b66 // cmp ax, word [rdx + 48] LONG $0x3246b70f // movzx eax, word [rsi + 50] - LONG $0x2454950f; BYTE $0x13 // setne byte [rsp + 19] + LONG $0x2454950f; BYTE $0x14 // setne byte [rsp + 20] LONG $0x32423b66 // cmp ax, word [rdx + 50] LONG $0x3446b70f // movzx eax, word [rsi + 52] - LONG $0x2454950f; BYTE $0x0d // setne byte [rsp + 13] + LONG $0x2454950f; BYTE $0x0e // setne byte [rsp + 14] LONG $0x34423b66 // cmp ax, word [rdx + 52] LONG $0x3646b70f // movzx eax, word [rsi + 54] - LONG $0x2454950f; BYTE $0x0e // setne byte [rsp + 14] + LONG $0x2454950f; BYTE $0x0f // setne byte [rsp + 15] LONG $0x36423b66 // cmp ax, word [rdx + 54] LONG $0x3846b70f // movzx eax, word [rsi + 56] - LONG $0x2454950f; BYTE $0x0f // setne byte [rsp + 15] + LONG $0x2454950f; BYTE $0x10 // setne byte [rsp + 16] LONG $0x38423b66 // cmp ax, word [rdx + 56] LONG $0x3a46b70f // movzx eax, word [rsi + 58] - LONG $0x2454950f; BYTE $0x10 // setne byte [rsp + 16] + LONG $0x2454950f; BYTE $0x11 // setne byte [rsp + 17] LONG $0x3a423b66 // cmp ax, word [rdx + 58] LONG $0x3c46b70f // movzx eax, word [rsi + 60] - LONG $0x2454950f; BYTE $0x12 // setne byte [rsp + 18] + LONG $0x2454950f; BYTE $0x13 // setne byte [rsp + 19] LONG $0x3c423b66 // cmp ax, word [rdx + 60] LONG $0x3e46b70f // movzx eax, word [rsi + 62] - LONG $0x2454950f; BYTE $0x11 // setne byte [rsp + 17] + LONG $0x2454950f; BYTE $0x12 // setne byte [rsp + 18] LONG $0x40c68348 // add rsi, 64 LONG $0x3e423b66 // cmp ax, word [rdx + 62] - LONG $0xd7950f40 // setne dil - LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] + WORD $0x950f; BYTE $0xd1 // setne cl + LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] WORD $0xc000 // add al, al - LONG $0x28244402 // add al, byte [rsp + 40] - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x04 // movzx eax, byte [rsp + 4] + LONG $0x04244402 // add al, byte [rsp + 4] + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x05 // movzx eax, byte [rsp + 5] WORD $0xe0c0; BYTE $0x06 // shl al, 6 LONG $0x07e5c041 // shl r13b, 7 WORD $0x0841; BYTE $0xc5 // or r13b, al - LONG $0x2444b60f; BYTE $0x14 // movzx eax, byte [rsp + 20] + LONG $0x2444b60f; BYTE $0x15 // movzx eax, byte [rsp + 21] WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xc808 // or al, cl + WORD $0xd808 // or al, bl WORD $0x0045; BYTE $0xc0 // add r8b, r8b - LONG $0x24440244; BYTE $0x09 // add r8b, byte [rsp + 9] - LONG $0x244cb60f; BYTE $0x15 // movzx ecx, byte [rsp + 21] - WORD $0xe1c0; BYTE $0x03 // shl cl, 3 - WORD $0xc108 // or cl, al - WORD $0xc889 // mov eax, ecx + LONG $0x24440244; BYTE $0x0a // add r8b, byte [rsp + 10] + LONG $0x245cb60f; BYTE $0x16 // movzx ebx, byte [rsp + 22] + WORD $0xe3c0; BYTE $0x03 // shl bl, 3 + WORD $0xc308 // or bl, al + WORD $0xd889 // mov eax, ebx LONG $0x02e3c041 // shl r11b, 2 WORD $0x0845; BYTE $0xc3 // or r11b, r8b - LONG $0x244cb60f; BYTE $0x16 // movzx ecx, byte [rsp + 22] - WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0xc108 // or cl, al - WORD $0x8941; BYTE $0xc8 // mov r8d, ecx + LONG $0x245cb60f; BYTE $0x17 // movzx ebx, byte [rsp + 23] + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0xc308 // or bl, al + WORD $0x8941; BYTE $0xd8 // mov r8d, ebx LONG $0x03e7c041 // shl r15b, 3 WORD $0x0845; BYTE $0xdf // or r15b, r11b - LONG $0x244cb60f; BYTE $0x17 // movzx ecx, byte [rsp + 23] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0x0844; BYTE $0xc1 // or cl, r8b - LONG $0x2444b60f; BYTE $0x05 // movzx eax, byte [rsp + 5] + LONG $0x245cb60f; BYTE $0x03 // movzx ebx, byte [rsp + 3] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + WORD $0x0844; BYTE $0xc3 // or bl, r8b + LONG $0x2444b60f; BYTE $0x06 // movzx eax, byte [rsp + 6] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0x0844; BYTE $0xf8 // or al, r15b WORD $0x8941; BYTE $0xc0 // mov r8d, eax - LONG $0x2444b60f; BYTE $0x06 // movzx eax, byte [rsp + 6] + LONG $0x2444b60f; BYTE $0x07 // movzx eax, byte [rsp + 7] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0x0844; BYTE $0xc0 // or al, r8b - LONG $0x44b60f44; WORD $0x0724 // movzx r8d, byte [rsp + 7] + LONG $0x44b60f44; WORD $0x0824 // movzx r8d, byte [rsp + 8] LONG $0x06e0c041 // shl r8b, 6 - WORD $0xe3c0; BYTE $0x07 // shl bl, 7 - WORD $0x0844; BYTE $0xc3 // or bl, r8b - WORD $0x0841; BYTE $0xcd // or r13b, cl - WORD $0xc308 // or bl, al + LONG $0x07e7c040 // shl dil, 7 + WORD $0x0844; BYTE $0xc7 // or dil, r8b + WORD $0x0841; BYTE $0xdd // or r13b, bl + WORD $0x0840; BYTE $0xc7 // or dil, al WORD $0x0045; BYTE $0xd2 // add r10b, r10b - LONG $0x24540244; BYTE $0x0a // add r10b, byte [rsp + 10] + LONG $0x24540244; BYTE $0x0b // add r10b, byte [rsp + 11] LONG $0x02e6c041 // shl r14b, 2 WORD $0x0845; BYTE $0xd6 // or r14b, r10b LONG $0x03e4c041 // shl r12b, 3 WORD $0x0845; BYTE $0xf4 // or r12b, r14b - LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + LONG $0x2444b60f; BYTE $0x09 // movzx eax, byte [rsp + 9] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0x0844; BYTE $0xe0 // or al, r12b - WORD $0xc189 // mov ecx, eax - LONG $0x24748b4c; BYTE $0x30 // mov r14, qword [rsp + 48] - LONG $0x2444b60f; BYTE $0x0b // movzx eax, byte [rsp + 11] + WORD $0xc389 // mov ebx, eax + LONG $0x24648b4c; BYTE $0x30 // mov r12, qword [rsp + 48] + LONG $0x2444b60f; BYTE $0x0c // movzx eax, byte [rsp + 12] WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - WORD $0x8845; BYTE $0x2e // mov byte [r14], r13b - LONG $0x244cb60f; BYTE $0x0c // movzx ecx, byte [rsp + 12] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 + WORD $0xd808 // or al, bl + LONG $0x242c8845 // mov byte [r12], r13b + LONG $0x245cb60f; BYTE $0x0d // movzx ebx, byte [rsp + 13] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e1c041 // shl r9b, 7 - WORD $0x0841; BYTE $0xc9 // or r9b, cl - LONG $0x015e8841 // mov byte [r14 + 1], bl + WORD $0x0841; BYTE $0xd9 // or r9b, bl + LONG $0x247c8841; BYTE $0x01 // mov byte [r12 + 1], dil WORD $0x0841; BYTE $0xc1 // or r9b, al - LONG $0x2444b60f; BYTE $0x0d // movzx eax, byte [rsp + 13] - WORD $0xc000 // add al, al - LONG $0x13244402 // add al, byte [rsp + 19] - WORD $0xc189 // mov ecx, eax LONG $0x2444b60f; BYTE $0x0e // movzx eax, byte [rsp + 14] - WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xc000 // add al, al + LONG $0x14244402 // add al, byte [rsp + 20] + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x0f // movzx eax, byte [rsp + 15] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x11 // movzx eax, byte [rsp + 17] WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x12 // movzx eax, byte [rsp + 18] + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x13 // movzx eax, byte [rsp + 19] WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - LONG $0x244cb60f; BYTE $0x11 // movzx ecx, byte [rsp + 17] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 - LONG $0x07e7c040 // shl dil, 7 - WORD $0x0840; BYTE $0xcf // or dil, cl - WORD $0x0840; BYTE $0xc7 // or dil, al - LONG $0x024e8845 // mov byte [r14 + 2], r9b - LONG $0x037e8841 // mov byte [r14 + 3], dil + WORD $0xd808 // or al, bl + LONG $0x245cb60f; BYTE $0x12 // movzx ebx, byte [rsp + 18] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 + WORD $0xe1c0; BYTE $0x07 // shl cl, 7 + WORD $0xd908 // or cl, bl + WORD $0xc108 // or cl, al + LONG $0x244c8845; BYTE $0x02 // mov byte [r12 + 2], r9b + LONG $0x244c8841; BYTE $0x03 // mov byte [r12 + 3], cl LONG $0x40c28348 // add rdx, 64 - LONG $0x04c68349 // add r14, 4 - LONG $0x24448348; WORD $0xff38 // add qword [rsp + 56], -1 + LONG $0x04c48349 // add r12, 4 + LONG $0x24448348; WORD $0xff20 // add qword [rsp + 32], -1 JNE LBB3_74 - LONG $0x245c8b4c; BYTE $0x18 // mov r11, qword [rsp + 24] - LONG $0x247c8b4c; BYTE $0x40 // mov r15, qword [rsp + 64] + LONG $0x24748b4c; BYTE $0x18 // mov r14, qword [rsp + 24] + LONG $0x247c8b4c; BYTE $0x38 // mov r15, qword [rsp + 56] LBB3_76: LONG $0x05e7c149 // shl r15, 5 - WORD $0x394d; BYTE $0xdf // cmp r15, r11 + WORD $0x394d; BYTE $0xf7 // cmp r15, r14 JGE LBB3_123 - WORD $0x294d; BYTE $0xfb // sub r11, r15 + WORD $0x294d; BYTE $0xfe // sub r14, r15 WORD $0xc931 // xor ecx, ecx LBB3_78: @@ -16407,30 +17154,30 @@ LBB3_78: WORD $0xdbf6 // neg bl WORD $0x8948; BYTE $0xcf // mov rdi, rcx LONG $0x03efc148 // shr rdi, 3 - LONG $0x0cb60f45; BYTE $0x3e // movzx r9d, byte [r14 + rdi] + LONG $0x0cb60f45; BYTE $0x3c // movzx r9d, byte [r12 + rdi] WORD $0x3044; BYTE $0xcb // xor bl, r9b WORD $0xe180; BYTE $0x07 // and cl, 7 WORD $0x01b0 // mov al, 1 WORD $0xe0d2 // shl al, cl WORD $0xd820 // and al, bl WORD $0x3044; BYTE $0xc8 // xor al, r9b - LONG $0x3e048841 // mov byte [r14 + rdi], al + LONG $0x3c048841 // mov byte [r12 + rdi], al WORD $0x894c; BYTE $0xc1 // mov rcx, r8 - WORD $0x394d; BYTE $0xc3 // cmp r11, r8 + WORD $0x394d; BYTE $0xc6 // cmp r14, r8 JNE LBB3_78 JMP LBB3_123 LBB3_79: - LONG $0x1f7b8d4d // lea r15, [r11 + 31] - WORD $0x854d; BYTE $0xdb // test r11, r11 - LONG $0xfb490f4d // cmovns r15, r11 - LONG $0x07418d41 // lea eax, [r9 + 7] - WORD $0x8545; BYTE $0xc9 // test r9d, r9d - LONG $0xc1490f41 // cmovns eax, r9d - WORD $0xe083; BYTE $0xf8 // and eax, -8 - WORD $0x2941; BYTE $0xc1 // sub r9d, eax + LONG $0x1f7e8d4d // lea r15, [r14 + 31] + WORD $0x854d; BYTE $0xf6 // test r14, r14 + LONG $0xfe490f4d // cmovns r15, r14 + WORD $0x488d; BYTE $0x07 // lea ecx, [rax + 7] + WORD $0xc085 // test eax, eax + WORD $0x490f; BYTE $0xc8 // cmovns ecx, eax + WORD $0xe183; BYTE $0xf8 // and ecx, -8 + WORD $0xc829 // sub eax, ecx JE LBB3_83 - WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d + WORD $0x9848 // cdqe LBB3_81: WORD $0xb70f; BYTE $0x0e // movzx ecx, word [rsi] @@ -16443,7 +17190,7 @@ LBB3_81: WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xf8490f48 // cmovns rdi, rax LONG $0x03ffc148 // sar rdi, 3 - LONG $0x04b60f45; BYTE $0x3e // movzx r8d, byte [r14 + rdi] + LONG $0x04b60f45; BYTE $0x3c // movzx r8d, byte [r12 + rdi] WORD $0x3045; BYTE $0xc2 // xor r10b, r8b QUAD $0x00000000fd0c8d44 // lea r9d, [8*rdi] WORD $0xc189 // mov ecx, eax @@ -16452,49 +17199,49 @@ LBB3_81: WORD $0xe3d3 // shl ebx, cl WORD $0x2044; BYTE $0xd3 // and bl, r10b WORD $0x3044; BYTE $0xc3 // xor bl, r8b - LONG $0x3e1c8841 // mov byte [r14 + rdi], bl + LONG $0x3c1c8841 // mov byte [r12 + rdi], bl LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 JNE LBB3_81 - LONG $0x01c68349 // add r14, 1 + LONG $0x01c48349 // add r12, 1 LBB3_83: LONG $0x05ffc149 // sar r15, 5 - LONG $0x20fb8349 // cmp r11, 32 + LONG $0x20fe8349 // cmp r14, 32 JL LBB3_87 - LONG $0x245c894c; BYTE $0x18 // mov qword [rsp + 24], r11 - LONG $0x247c894c; BYTE $0x40 // mov qword [rsp + 64], r15 + LONG $0x2474894c; BYTE $0x18 // mov qword [rsp + 24], r14 LONG $0x247c894c; BYTE $0x38 // mov qword [rsp + 56], r15 + LONG $0x247c894c; BYTE $0x20 // mov qword [rsp + 32], r15 LBB3_85: - LONG $0x2474894c; BYTE $0x30 // mov qword [rsp + 48], r14 + LONG $0x2464894c; BYTE $0x30 // mov qword [rsp + 48], r12 WORD $0xb70f; BYTE $0x06 // movzx eax, word [rsi] LONG $0x024eb70f // movzx ecx, word [rsi + 2] WORD $0x3b66; BYTE $0x02 // cmp ax, word [rdx] - LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] + LONG $0x2454950f; BYTE $0x04 // setne byte [rsp + 4] LONG $0x024a3b66 // cmp cx, word [rdx + 2] - LONG $0x2454950f; BYTE $0x20 // setne byte [rsp + 32] + LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] LONG $0x0446b70f // movzx eax, word [rsi + 4] LONG $0x04423b66 // cmp ax, word [rdx + 4] - LONG $0x2454950f; BYTE $0x14 // setne byte [rsp + 20] + LONG $0x2454950f; BYTE $0x15 // setne byte [rsp + 21] LONG $0x0646b70f // movzx eax, word [rsi + 6] LONG $0x06423b66 // cmp ax, word [rdx + 6] - LONG $0x2454950f; BYTE $0x15 // setne byte [rsp + 21] + LONG $0x2454950f; BYTE $0x16 // setne byte [rsp + 22] LONG $0x0846b70f // movzx eax, word [rsi + 8] LONG $0x08423b66 // cmp ax, word [rdx + 8] - LONG $0x2454950f; BYTE $0x16 // setne byte [rsp + 22] + LONG $0x2454950f; BYTE $0x17 // setne byte [rsp + 23] LONG $0x0a46b70f // movzx eax, word [rsi + 10] LONG $0x0a423b66 // cmp ax, word [rdx + 10] - LONG $0x2454950f; BYTE $0x17 // setne byte [rsp + 23] + LONG $0x2454950f; BYTE $0x03 // setne byte [rsp + 3] LONG $0x0c46b70f // movzx eax, word [rsi + 12] LONG $0x0c423b66 // cmp ax, word [rdx + 12] - LONG $0x2454950f; BYTE $0x04 // setne byte [rsp + 4] + LONG $0x2454950f; BYTE $0x05 // setne byte [rsp + 5] LONG $0x0e46b70f // movzx eax, word [rsi + 14] LONG $0x0e423b66 // cmp ax, word [rdx + 14] LONG $0xd5950f41 // setne r13b LONG $0x1046b70f // movzx eax, word [rsi + 16] LONG $0x10423b66 // cmp ax, word [rdx + 16] - LONG $0x2454950f; BYTE $0x09 // setne byte [rsp + 9] + LONG $0x2454950f; BYTE $0x0a // setne byte [rsp + 10] LONG $0x1246b70f // movzx eax, word [rsi + 18] LONG $0x12423b66 // cmp ax, word [rdx + 18] LONG $0xd0950f41 // setne r8b @@ -16506,165 +17253,165 @@ LBB3_85: LONG $0xd7950f41 // setne r15b LONG $0x1846b70f // movzx eax, word [rsi + 24] LONG $0x18423b66 // cmp ax, word [rdx + 24] - LONG $0x2454950f; BYTE $0x05 // setne byte [rsp + 5] + LONG $0x2454950f; BYTE $0x06 // setne byte [rsp + 6] LONG $0x1a46b70f // movzx eax, word [rsi + 26] LONG $0x1a423b66 // cmp ax, word [rdx + 26] - LONG $0x2454950f; BYTE $0x06 // setne byte [rsp + 6] + LONG $0x2454950f; BYTE $0x07 // setne byte [rsp + 7] LONG $0x1c46b70f // movzx eax, word [rsi + 28] LONG $0x1c423b66 // cmp ax, word [rdx + 28] - LONG $0x2454950f; BYTE $0x07 // setne byte [rsp + 7] + LONG $0x2454950f; BYTE $0x08 // setne byte [rsp + 8] LONG $0x1e46b70f // movzx eax, word [rsi + 30] LONG $0x1e423b66 // cmp ax, word [rdx + 30] - WORD $0x950f; BYTE $0xd3 // setne bl + LONG $0xd7950f40 // setne dil LONG $0x2046b70f // movzx eax, word [rsi + 32] - LONG $0x224eb70f // movzx ecx, word [rsi + 34] + LONG $0x225eb70f // movzx ebx, word [rsi + 34] LONG $0x20423b66 // cmp ax, word [rdx + 32] LONG $0x2446b70f // movzx eax, word [rsi + 36] - LONG $0x2454950f; BYTE $0x0a // setne byte [rsp + 10] - LONG $0x224a3b66 // cmp cx, word [rdx + 34] - LONG $0x264eb70f // movzx ecx, word [rsi + 38] + LONG $0x2454950f; BYTE $0x0b // setne byte [rsp + 11] + LONG $0x225a3b66 // cmp bx, word [rdx + 34] + LONG $0x265eb70f // movzx ebx, word [rsi + 38] LONG $0xd2950f41 // setne r10b LONG $0x24423b66 // cmp ax, word [rdx + 36] LONG $0x2846b70f // movzx eax, word [rsi + 40] LONG $0xd6950f41 // setne r14b - LONG $0x264a3b66 // cmp cx, word [rdx + 38] - LONG $0x2a4eb70f // movzx ecx, word [rsi + 42] + LONG $0x265a3b66 // cmp bx, word [rdx + 38] + LONG $0x2a5eb70f // movzx ebx, word [rsi + 42] LONG $0xd4950f41 // setne r12b LONG $0x28423b66 // cmp ax, word [rdx + 40] - LONG $0x2454950f; BYTE $0x08 // setne byte [rsp + 8] - LONG $0x2a4a3b66 // cmp cx, word [rdx + 42] + LONG $0x2454950f; BYTE $0x09 // setne byte [rsp + 9] + LONG $0x2a5a3b66 // cmp bx, word [rdx + 42] LONG $0x2c46b70f // movzx eax, word [rsi + 44] - LONG $0x2454950f; BYTE $0x0b // setne byte [rsp + 11] + LONG $0x2454950f; BYTE $0x0c // setne byte [rsp + 12] LONG $0x2c423b66 // cmp ax, word [rdx + 44] LONG $0x2e46b70f // movzx eax, word [rsi + 46] - LONG $0x2454950f; BYTE $0x0c // setne byte [rsp + 12] + LONG $0x2454950f; BYTE $0x0d // setne byte [rsp + 13] LONG $0x2e423b66 // cmp ax, word [rdx + 46] LONG $0x3046b70f // movzx eax, word [rsi + 48] LONG $0xd1950f41 // setne r9b LONG $0x30423b66 // cmp ax, word [rdx + 48] LONG $0x3246b70f // movzx eax, word [rsi + 50] - LONG $0x2454950f; BYTE $0x13 // setne byte [rsp + 19] + LONG $0x2454950f; BYTE $0x14 // setne byte [rsp + 20] LONG $0x32423b66 // cmp ax, word [rdx + 50] LONG $0x3446b70f // movzx eax, word [rsi + 52] - LONG $0x2454950f; BYTE $0x0d // setne byte [rsp + 13] + LONG $0x2454950f; BYTE $0x0e // setne byte [rsp + 14] LONG $0x34423b66 // cmp ax, word [rdx + 52] LONG $0x3646b70f // movzx eax, word [rsi + 54] - LONG $0x2454950f; BYTE $0x0e // setne byte [rsp + 14] + LONG $0x2454950f; BYTE $0x0f // setne byte [rsp + 15] LONG $0x36423b66 // cmp ax, word [rdx + 54] LONG $0x3846b70f // movzx eax, word [rsi + 56] - LONG $0x2454950f; BYTE $0x0f // setne byte [rsp + 15] + LONG $0x2454950f; BYTE $0x10 // setne byte [rsp + 16] LONG $0x38423b66 // cmp ax, word [rdx + 56] LONG $0x3a46b70f // movzx eax, word [rsi + 58] - LONG $0x2454950f; BYTE $0x10 // setne byte [rsp + 16] + LONG $0x2454950f; BYTE $0x11 // setne byte [rsp + 17] LONG $0x3a423b66 // cmp ax, word [rdx + 58] LONG $0x3c46b70f // movzx eax, word [rsi + 60] - LONG $0x2454950f; BYTE $0x12 // setne byte [rsp + 18] + LONG $0x2454950f; BYTE $0x13 // setne byte [rsp + 19] LONG $0x3c423b66 // cmp ax, word [rdx + 60] LONG $0x3e46b70f // movzx eax, word [rsi + 62] - LONG $0x2454950f; BYTE $0x11 // setne byte [rsp + 17] + LONG $0x2454950f; BYTE $0x12 // setne byte [rsp + 18] LONG $0x40c68348 // add rsi, 64 LONG $0x3e423b66 // cmp ax, word [rdx + 62] - LONG $0xd7950f40 // setne dil - LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] + WORD $0x950f; BYTE $0xd1 // setne cl + LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] WORD $0xc000 // add al, al - LONG $0x28244402 // add al, byte [rsp + 40] - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x04 // movzx eax, byte [rsp + 4] + LONG $0x04244402 // add al, byte [rsp + 4] + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x05 // movzx eax, byte [rsp + 5] WORD $0xe0c0; BYTE $0x06 // shl al, 6 LONG $0x07e5c041 // shl r13b, 7 WORD $0x0841; BYTE $0xc5 // or r13b, al - LONG $0x2444b60f; BYTE $0x14 // movzx eax, byte [rsp + 20] + LONG $0x2444b60f; BYTE $0x15 // movzx eax, byte [rsp + 21] WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xc808 // or al, cl + WORD $0xd808 // or al, bl WORD $0x0045; BYTE $0xc0 // add r8b, r8b - LONG $0x24440244; BYTE $0x09 // add r8b, byte [rsp + 9] - LONG $0x244cb60f; BYTE $0x15 // movzx ecx, byte [rsp + 21] - WORD $0xe1c0; BYTE $0x03 // shl cl, 3 - WORD $0xc108 // or cl, al - WORD $0xc889 // mov eax, ecx + LONG $0x24440244; BYTE $0x0a // add r8b, byte [rsp + 10] + LONG $0x245cb60f; BYTE $0x16 // movzx ebx, byte [rsp + 22] + WORD $0xe3c0; BYTE $0x03 // shl bl, 3 + WORD $0xc308 // or bl, al + WORD $0xd889 // mov eax, ebx LONG $0x02e3c041 // shl r11b, 2 WORD $0x0845; BYTE $0xc3 // or r11b, r8b - LONG $0x244cb60f; BYTE $0x16 // movzx ecx, byte [rsp + 22] - WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0xc108 // or cl, al - WORD $0x8941; BYTE $0xc8 // mov r8d, ecx + LONG $0x245cb60f; BYTE $0x17 // movzx ebx, byte [rsp + 23] + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0xc308 // or bl, al + WORD $0x8941; BYTE $0xd8 // mov r8d, ebx LONG $0x03e7c041 // shl r15b, 3 WORD $0x0845; BYTE $0xdf // or r15b, r11b - LONG $0x244cb60f; BYTE $0x17 // movzx ecx, byte [rsp + 23] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0x0844; BYTE $0xc1 // or cl, r8b - LONG $0x2444b60f; BYTE $0x05 // movzx eax, byte [rsp + 5] + LONG $0x245cb60f; BYTE $0x03 // movzx ebx, byte [rsp + 3] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + WORD $0x0844; BYTE $0xc3 // or bl, r8b + LONG $0x2444b60f; BYTE $0x06 // movzx eax, byte [rsp + 6] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0x0844; BYTE $0xf8 // or al, r15b WORD $0x8941; BYTE $0xc0 // mov r8d, eax - LONG $0x2444b60f; BYTE $0x06 // movzx eax, byte [rsp + 6] + LONG $0x2444b60f; BYTE $0x07 // movzx eax, byte [rsp + 7] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0x0844; BYTE $0xc0 // or al, r8b - LONG $0x44b60f44; WORD $0x0724 // movzx r8d, byte [rsp + 7] + LONG $0x44b60f44; WORD $0x0824 // movzx r8d, byte [rsp + 8] LONG $0x06e0c041 // shl r8b, 6 - WORD $0xe3c0; BYTE $0x07 // shl bl, 7 - WORD $0x0844; BYTE $0xc3 // or bl, r8b - WORD $0x0841; BYTE $0xcd // or r13b, cl - WORD $0xc308 // or bl, al + LONG $0x07e7c040 // shl dil, 7 + WORD $0x0844; BYTE $0xc7 // or dil, r8b + WORD $0x0841; BYTE $0xdd // or r13b, bl + WORD $0x0840; BYTE $0xc7 // or dil, al WORD $0x0045; BYTE $0xd2 // add r10b, r10b - LONG $0x24540244; BYTE $0x0a // add r10b, byte [rsp + 10] + LONG $0x24540244; BYTE $0x0b // add r10b, byte [rsp + 11] LONG $0x02e6c041 // shl r14b, 2 WORD $0x0845; BYTE $0xd6 // or r14b, r10b LONG $0x03e4c041 // shl r12b, 3 WORD $0x0845; BYTE $0xf4 // or r12b, r14b - LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + LONG $0x2444b60f; BYTE $0x09 // movzx eax, byte [rsp + 9] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0x0844; BYTE $0xe0 // or al, r12b - WORD $0xc189 // mov ecx, eax - LONG $0x24748b4c; BYTE $0x30 // mov r14, qword [rsp + 48] - LONG $0x2444b60f; BYTE $0x0b // movzx eax, byte [rsp + 11] + WORD $0xc389 // mov ebx, eax + LONG $0x24648b4c; BYTE $0x30 // mov r12, qword [rsp + 48] + LONG $0x2444b60f; BYTE $0x0c // movzx eax, byte [rsp + 12] WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - WORD $0x8845; BYTE $0x2e // mov byte [r14], r13b - LONG $0x244cb60f; BYTE $0x0c // movzx ecx, byte [rsp + 12] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 + WORD $0xd808 // or al, bl + LONG $0x242c8845 // mov byte [r12], r13b + LONG $0x245cb60f; BYTE $0x0d // movzx ebx, byte [rsp + 13] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e1c041 // shl r9b, 7 - WORD $0x0841; BYTE $0xc9 // or r9b, cl - LONG $0x015e8841 // mov byte [r14 + 1], bl + WORD $0x0841; BYTE $0xd9 // or r9b, bl + LONG $0x247c8841; BYTE $0x01 // mov byte [r12 + 1], dil WORD $0x0841; BYTE $0xc1 // or r9b, al - LONG $0x2444b60f; BYTE $0x0d // movzx eax, byte [rsp + 13] - WORD $0xc000 // add al, al - LONG $0x13244402 // add al, byte [rsp + 19] - WORD $0xc189 // mov ecx, eax LONG $0x2444b60f; BYTE $0x0e // movzx eax, byte [rsp + 14] - WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xc000 // add al, al + LONG $0x14244402 // add al, byte [rsp + 20] + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x0f // movzx eax, byte [rsp + 15] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x11 // movzx eax, byte [rsp + 17] WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x12 // movzx eax, byte [rsp + 18] + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x13 // movzx eax, byte [rsp + 19] WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - LONG $0x244cb60f; BYTE $0x11 // movzx ecx, byte [rsp + 17] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 - LONG $0x07e7c040 // shl dil, 7 - WORD $0x0840; BYTE $0xcf // or dil, cl - WORD $0x0840; BYTE $0xc7 // or dil, al - LONG $0x024e8845 // mov byte [r14 + 2], r9b - LONG $0x037e8841 // mov byte [r14 + 3], dil + WORD $0xd808 // or al, bl + LONG $0x245cb60f; BYTE $0x12 // movzx ebx, byte [rsp + 18] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 + WORD $0xe1c0; BYTE $0x07 // shl cl, 7 + WORD $0xd908 // or cl, bl + WORD $0xc108 // or cl, al + LONG $0x244c8845; BYTE $0x02 // mov byte [r12 + 2], r9b + LONG $0x244c8841; BYTE $0x03 // mov byte [r12 + 3], cl LONG $0x40c28348 // add rdx, 64 - LONG $0x04c68349 // add r14, 4 - LONG $0x24448348; WORD $0xff38 // add qword [rsp + 56], -1 + LONG $0x04c48349 // add r12, 4 + LONG $0x24448348; WORD $0xff20 // add qword [rsp + 32], -1 JNE LBB3_85 - LONG $0x245c8b4c; BYTE $0x18 // mov r11, qword [rsp + 24] - LONG $0x247c8b4c; BYTE $0x40 // mov r15, qword [rsp + 64] + LONG $0x24748b4c; BYTE $0x18 // mov r14, qword [rsp + 24] + LONG $0x247c8b4c; BYTE $0x38 // mov r15, qword [rsp + 56] LBB3_87: LONG $0x05e7c149 // shl r15, 5 - WORD $0x394d; BYTE $0xdf // cmp r15, r11 + WORD $0x394d; BYTE $0xf7 // cmp r15, r14 JGE LBB3_123 - WORD $0x294d; BYTE $0xfb // sub r11, r15 + WORD $0x294d; BYTE $0xfe // sub r14, r15 WORD $0xc931 // xor ecx, ecx LBB3_89: @@ -16675,30 +17422,30 @@ LBB3_89: WORD $0xdbf6 // neg bl WORD $0x8948; BYTE $0xcf // mov rdi, rcx LONG $0x03efc148 // shr rdi, 3 - LONG $0x0cb60f45; BYTE $0x3e // movzx r9d, byte [r14 + rdi] + LONG $0x0cb60f45; BYTE $0x3c // movzx r9d, byte [r12 + rdi] WORD $0x3044; BYTE $0xcb // xor bl, r9b WORD $0xe180; BYTE $0x07 // and cl, 7 WORD $0x01b0 // mov al, 1 WORD $0xe0d2 // shl al, cl WORD $0xd820 // and al, bl WORD $0x3044; BYTE $0xc8 // xor al, r9b - LONG $0x3e048841 // mov byte [r14 + rdi], al + LONG $0x3c048841 // mov byte [r12 + rdi], al WORD $0x894c; BYTE $0xc1 // mov rcx, r8 - WORD $0x394d; BYTE $0xc3 // cmp r11, r8 + WORD $0x394d; BYTE $0xc6 // cmp r14, r8 JNE LBB3_89 JMP LBB3_123 LBB3_101: - LONG $0x1f7b8d4d // lea r15, [r11 + 31] - WORD $0x854d; BYTE $0xdb // test r11, r11 - LONG $0xfb490f4d // cmovns r15, r11 - LONG $0x07418d41 // lea eax, [r9 + 7] - WORD $0x8545; BYTE $0xc9 // test r9d, r9d - LONG $0xc1490f41 // cmovns eax, r9d - WORD $0xe083; BYTE $0xf8 // and eax, -8 - WORD $0x2941; BYTE $0xc1 // sub r9d, eax + LONG $0x1f7e8d4d // lea r15, [r14 + 31] + WORD $0x854d; BYTE $0xf6 // test r14, r14 + LONG $0xfe490f4d // cmovns r15, r14 + WORD $0x488d; BYTE $0x07 // lea ecx, [rax + 7] + WORD $0xc085 // test eax, eax + WORD $0x490f; BYTE $0xc8 // cmovns ecx, eax + WORD $0xe183; BYTE $0xf8 // and ecx, -8 + WORD $0xc829 // sub eax, ecx JE LBB3_105 - WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d + WORD $0x9848 // cdqe LBB3_103: WORD $0x8b48; BYTE $0x0e // mov rcx, qword [rsi] @@ -16711,7 +17458,7 @@ LBB3_103: WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xf8490f48 // cmovns rdi, rax LONG $0x03ffc148 // sar rdi, 3 - LONG $0x04b60f45; BYTE $0x3e // movzx r8d, byte [r14 + rdi] + LONG $0x04b60f45; BYTE $0x3c // movzx r8d, byte [r12 + rdi] WORD $0x3045; BYTE $0xc2 // xor r10b, r8b QUAD $0x00000000fd0c8d44 // lea r9d, [8*rdi] WORD $0xc189 // mov ecx, eax @@ -16720,49 +17467,49 @@ LBB3_103: WORD $0xe3d3 // shl ebx, cl WORD $0x2044; BYTE $0xd3 // and bl, r10b WORD $0x3044; BYTE $0xc3 // xor bl, r8b - LONG $0x3e1c8841 // mov byte [r14 + rdi], bl + LONG $0x3c1c8841 // mov byte [r12 + rdi], bl LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 JNE LBB3_103 - LONG $0x01c68349 // add r14, 1 + LONG $0x01c48349 // add r12, 1 LBB3_105: LONG $0x05ffc149 // sar r15, 5 - LONG $0x20fb8349 // cmp r11, 32 + LONG $0x20fe8349 // cmp r14, 32 JL LBB3_109 - LONG $0x245c894c; BYTE $0x18 // mov qword [rsp + 24], r11 - LONG $0x247c894c; BYTE $0x40 // mov qword [rsp + 64], r15 + LONG $0x2474894c; BYTE $0x18 // mov qword [rsp + 24], r14 LONG $0x247c894c; BYTE $0x38 // mov qword [rsp + 56], r15 + LONG $0x247c894c; BYTE $0x20 // mov qword [rsp + 32], r15 LBB3_107: - LONG $0x2474894c; BYTE $0x30 // mov qword [rsp + 48], r14 + LONG $0x2464894c; BYTE $0x30 // mov qword [rsp + 48], r12 WORD $0x8b48; BYTE $0x06 // mov rax, qword [rsi] LONG $0x084e8b48 // mov rcx, qword [rsi + 8] WORD $0x3b48; BYTE $0x02 // cmp rax, qword [rdx] - LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] + LONG $0x2454950f; BYTE $0x04 // setne byte [rsp + 4] LONG $0x084a3b48 // cmp rcx, qword [rdx + 8] - LONG $0x2454950f; BYTE $0x20 // setne byte [rsp + 32] + LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] LONG $0x10468b48 // mov rax, qword [rsi + 16] LONG $0x10423b48 // cmp rax, qword [rdx + 16] - LONG $0x2454950f; BYTE $0x14 // setne byte [rsp + 20] + LONG $0x2454950f; BYTE $0x15 // setne byte [rsp + 21] LONG $0x18468b48 // mov rax, qword [rsi + 24] LONG $0x18423b48 // cmp rax, qword [rdx + 24] - LONG $0x2454950f; BYTE $0x15 // setne byte [rsp + 21] + LONG $0x2454950f; BYTE $0x16 // setne byte [rsp + 22] LONG $0x20468b48 // mov rax, qword [rsi + 32] LONG $0x20423b48 // cmp rax, qword [rdx + 32] - LONG $0x2454950f; BYTE $0x16 // setne byte [rsp + 22] + LONG $0x2454950f; BYTE $0x17 // setne byte [rsp + 23] LONG $0x28468b48 // mov rax, qword [rsi + 40] LONG $0x28423b48 // cmp rax, qword [rdx + 40] - LONG $0x2454950f; BYTE $0x17 // setne byte [rsp + 23] + LONG $0x2454950f; BYTE $0x03 // setne byte [rsp + 3] LONG $0x30468b48 // mov rax, qword [rsi + 48] LONG $0x30423b48 // cmp rax, qword [rdx + 48] - LONG $0x2454950f; BYTE $0x04 // setne byte [rsp + 4] + LONG $0x2454950f; BYTE $0x05 // setne byte [rsp + 5] LONG $0x38468b48 // mov rax, qword [rsi + 56] LONG $0x38423b48 // cmp rax, qword [rdx + 56] LONG $0xd5950f41 // setne r13b LONG $0x40468b48 // mov rax, qword [rsi + 64] LONG $0x40423b48 // cmp rax, qword [rdx + 64] - LONG $0x2454950f; BYTE $0x09 // setne byte [rsp + 9] + LONG $0x2454950f; BYTE $0x0a // setne byte [rsp + 10] LONG $0x48468b48 // mov rax, qword [rsi + 72] LONG $0x48423b48 // cmp rax, qword [rdx + 72] LONG $0xd0950f41 // setne r8b @@ -16774,165 +17521,165 @@ LBB3_107: LONG $0xd7950f41 // setne r15b LONG $0x60468b48 // mov rax, qword [rsi + 96] LONG $0x60423b48 // cmp rax, qword [rdx + 96] - LONG $0x2454950f; BYTE $0x05 // setne byte [rsp + 5] + LONG $0x2454950f; BYTE $0x06 // setne byte [rsp + 6] LONG $0x68468b48 // mov rax, qword [rsi + 104] LONG $0x68423b48 // cmp rax, qword [rdx + 104] - LONG $0x2454950f; BYTE $0x06 // setne byte [rsp + 6] + LONG $0x2454950f; BYTE $0x07 // setne byte [rsp + 7] LONG $0x70468b48 // mov rax, qword [rsi + 112] LONG $0x70423b48 // cmp rax, qword [rdx + 112] - LONG $0x2454950f; BYTE $0x07 // setne byte [rsp + 7] + LONG $0x2454950f; BYTE $0x08 // setne byte [rsp + 8] LONG $0x78468b48 // mov rax, qword [rsi + 120] LONG $0x78423b48 // cmp rax, qword [rdx + 120] - WORD $0x950f; BYTE $0xd3 // setne bl + LONG $0xd7950f40 // setne dil LONG $0x80868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 128] - LONG $0x888e8b48; WORD $0x0000; BYTE $0x00 // mov rcx, qword [rsi + 136] + LONG $0x889e8b48; WORD $0x0000; BYTE $0x00 // mov rbx, qword [rsi + 136] LONG $0x80823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 128] LONG $0x90868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 144] - LONG $0x2454950f; BYTE $0x0a // setne byte [rsp + 10] - LONG $0x888a3b48; WORD $0x0000; BYTE $0x00 // cmp rcx, qword [rdx + 136] - LONG $0x988e8b48; WORD $0x0000; BYTE $0x00 // mov rcx, qword [rsi + 152] + LONG $0x2454950f; BYTE $0x0b // setne byte [rsp + 11] + LONG $0x889a3b48; WORD $0x0000; BYTE $0x00 // cmp rbx, qword [rdx + 136] + LONG $0x989e8b48; WORD $0x0000; BYTE $0x00 // mov rbx, qword [rsi + 152] LONG $0xd2950f41 // setne r10b LONG $0x90823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 144] LONG $0xa0868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 160] LONG $0xd6950f41 // setne r14b - LONG $0x988a3b48; WORD $0x0000; BYTE $0x00 // cmp rcx, qword [rdx + 152] - LONG $0xa88e8b48; WORD $0x0000; BYTE $0x00 // mov rcx, qword [rsi + 168] + LONG $0x989a3b48; WORD $0x0000; BYTE $0x00 // cmp rbx, qword [rdx + 152] + LONG $0xa89e8b48; WORD $0x0000; BYTE $0x00 // mov rbx, qword [rsi + 168] LONG $0xd4950f41 // setne r12b LONG $0xa0823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 160] - LONG $0x2454950f; BYTE $0x08 // setne byte [rsp + 8] - LONG $0xa88a3b48; WORD $0x0000; BYTE $0x00 // cmp rcx, qword [rdx + 168] + LONG $0x2454950f; BYTE $0x09 // setne byte [rsp + 9] + LONG $0xa89a3b48; WORD $0x0000; BYTE $0x00 // cmp rbx, qword [rdx + 168] LONG $0xb0868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 176] - LONG $0x2454950f; BYTE $0x0b // setne byte [rsp + 11] + LONG $0x2454950f; BYTE $0x0c // setne byte [rsp + 12] LONG $0xb0823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 176] LONG $0xb8868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 184] - LONG $0x2454950f; BYTE $0x0c // setne byte [rsp + 12] + LONG $0x2454950f; BYTE $0x0d // setne byte [rsp + 13] LONG $0xb8823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 184] LONG $0xc0868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 192] LONG $0xd1950f41 // setne r9b LONG $0xc0823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 192] LONG $0xc8868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 200] - LONG $0x2454950f; BYTE $0x13 // setne byte [rsp + 19] + LONG $0x2454950f; BYTE $0x14 // setne byte [rsp + 20] LONG $0xc8823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 200] LONG $0xd0868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 208] - LONG $0x2454950f; BYTE $0x0d // setne byte [rsp + 13] + LONG $0x2454950f; BYTE $0x0e // setne byte [rsp + 14] LONG $0xd0823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 208] LONG $0xd8868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 216] - LONG $0x2454950f; BYTE $0x0e // setne byte [rsp + 14] + LONG $0x2454950f; BYTE $0x0f // setne byte [rsp + 15] LONG $0xd8823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 216] LONG $0xe0868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 224] - LONG $0x2454950f; BYTE $0x0f // setne byte [rsp + 15] + LONG $0x2454950f; BYTE $0x10 // setne byte [rsp + 16] LONG $0xe0823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 224] LONG $0xe8868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 232] - LONG $0x2454950f; BYTE $0x10 // setne byte [rsp + 16] + LONG $0x2454950f; BYTE $0x11 // setne byte [rsp + 17] LONG $0xe8823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 232] LONG $0xf0868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 240] - LONG $0x2454950f; BYTE $0x12 // setne byte [rsp + 18] + LONG $0x2454950f; BYTE $0x13 // setne byte [rsp + 19] LONG $0xf0823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 240] LONG $0xf8868b48; WORD $0x0000; BYTE $0x00 // mov rax, qword [rsi + 248] - LONG $0x2454950f; BYTE $0x11 // setne byte [rsp + 17] + LONG $0x2454950f; BYTE $0x12 // setne byte [rsp + 18] LONG $0x00c68148; WORD $0x0001; BYTE $0x00 // add rsi, 256 LONG $0xf8823b48; WORD $0x0000; BYTE $0x00 // cmp rax, qword [rdx + 248] - LONG $0xd7950f40 // setne dil - LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] + WORD $0x950f; BYTE $0xd1 // setne cl + LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] WORD $0xc000 // add al, al - LONG $0x28244402 // add al, byte [rsp + 40] - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x04 // movzx eax, byte [rsp + 4] + LONG $0x04244402 // add al, byte [rsp + 4] + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x05 // movzx eax, byte [rsp + 5] WORD $0xe0c0; BYTE $0x06 // shl al, 6 LONG $0x07e5c041 // shl r13b, 7 WORD $0x0841; BYTE $0xc5 // or r13b, al - LONG $0x2444b60f; BYTE $0x14 // movzx eax, byte [rsp + 20] + LONG $0x2444b60f; BYTE $0x15 // movzx eax, byte [rsp + 21] WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xc808 // or al, cl + WORD $0xd808 // or al, bl WORD $0x0045; BYTE $0xc0 // add r8b, r8b - LONG $0x24440244; BYTE $0x09 // add r8b, byte [rsp + 9] - LONG $0x244cb60f; BYTE $0x15 // movzx ecx, byte [rsp + 21] - WORD $0xe1c0; BYTE $0x03 // shl cl, 3 - WORD $0xc108 // or cl, al - WORD $0xc889 // mov eax, ecx + LONG $0x24440244; BYTE $0x0a // add r8b, byte [rsp + 10] + LONG $0x245cb60f; BYTE $0x16 // movzx ebx, byte [rsp + 22] + WORD $0xe3c0; BYTE $0x03 // shl bl, 3 + WORD $0xc308 // or bl, al + WORD $0xd889 // mov eax, ebx LONG $0x02e3c041 // shl r11b, 2 WORD $0x0845; BYTE $0xc3 // or r11b, r8b - LONG $0x244cb60f; BYTE $0x16 // movzx ecx, byte [rsp + 22] - WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0xc108 // or cl, al - WORD $0x8941; BYTE $0xc8 // mov r8d, ecx + LONG $0x245cb60f; BYTE $0x17 // movzx ebx, byte [rsp + 23] + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0xc308 // or bl, al + WORD $0x8941; BYTE $0xd8 // mov r8d, ebx LONG $0x03e7c041 // shl r15b, 3 WORD $0x0845; BYTE $0xdf // or r15b, r11b - LONG $0x244cb60f; BYTE $0x17 // movzx ecx, byte [rsp + 23] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0x0844; BYTE $0xc1 // or cl, r8b - LONG $0x2444b60f; BYTE $0x05 // movzx eax, byte [rsp + 5] + LONG $0x245cb60f; BYTE $0x03 // movzx ebx, byte [rsp + 3] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + WORD $0x0844; BYTE $0xc3 // or bl, r8b + LONG $0x2444b60f; BYTE $0x06 // movzx eax, byte [rsp + 6] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0x0844; BYTE $0xf8 // or al, r15b WORD $0x8941; BYTE $0xc0 // mov r8d, eax - LONG $0x2444b60f; BYTE $0x06 // movzx eax, byte [rsp + 6] + LONG $0x2444b60f; BYTE $0x07 // movzx eax, byte [rsp + 7] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0x0844; BYTE $0xc0 // or al, r8b - LONG $0x44b60f44; WORD $0x0724 // movzx r8d, byte [rsp + 7] + LONG $0x44b60f44; WORD $0x0824 // movzx r8d, byte [rsp + 8] LONG $0x06e0c041 // shl r8b, 6 - WORD $0xe3c0; BYTE $0x07 // shl bl, 7 - WORD $0x0844; BYTE $0xc3 // or bl, r8b - WORD $0x0841; BYTE $0xcd // or r13b, cl - WORD $0xc308 // or bl, al + LONG $0x07e7c040 // shl dil, 7 + WORD $0x0844; BYTE $0xc7 // or dil, r8b + WORD $0x0841; BYTE $0xdd // or r13b, bl + WORD $0x0840; BYTE $0xc7 // or dil, al WORD $0x0045; BYTE $0xd2 // add r10b, r10b - LONG $0x24540244; BYTE $0x0a // add r10b, byte [rsp + 10] + LONG $0x24540244; BYTE $0x0b // add r10b, byte [rsp + 11] LONG $0x02e6c041 // shl r14b, 2 WORD $0x0845; BYTE $0xd6 // or r14b, r10b LONG $0x03e4c041 // shl r12b, 3 WORD $0x0845; BYTE $0xf4 // or r12b, r14b - LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + LONG $0x2444b60f; BYTE $0x09 // movzx eax, byte [rsp + 9] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0x0844; BYTE $0xe0 // or al, r12b - WORD $0xc189 // mov ecx, eax - LONG $0x24748b4c; BYTE $0x30 // mov r14, qword [rsp + 48] - LONG $0x2444b60f; BYTE $0x0b // movzx eax, byte [rsp + 11] + WORD $0xc389 // mov ebx, eax + LONG $0x24648b4c; BYTE $0x30 // mov r12, qword [rsp + 48] + LONG $0x2444b60f; BYTE $0x0c // movzx eax, byte [rsp + 12] WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - WORD $0x8845; BYTE $0x2e // mov byte [r14], r13b - LONG $0x244cb60f; BYTE $0x0c // movzx ecx, byte [rsp + 12] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 + WORD $0xd808 // or al, bl + LONG $0x242c8845 // mov byte [r12], r13b + LONG $0x245cb60f; BYTE $0x0d // movzx ebx, byte [rsp + 13] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e1c041 // shl r9b, 7 - WORD $0x0841; BYTE $0xc9 // or r9b, cl - LONG $0x015e8841 // mov byte [r14 + 1], bl + WORD $0x0841; BYTE $0xd9 // or r9b, bl + LONG $0x247c8841; BYTE $0x01 // mov byte [r12 + 1], dil WORD $0x0841; BYTE $0xc1 // or r9b, al - LONG $0x2444b60f; BYTE $0x0d // movzx eax, byte [rsp + 13] - WORD $0xc000 // add al, al - LONG $0x13244402 // add al, byte [rsp + 19] - WORD $0xc189 // mov ecx, eax LONG $0x2444b60f; BYTE $0x0e // movzx eax, byte [rsp + 14] - WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xc000 // add al, al + LONG $0x14244402 // add al, byte [rsp + 20] + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x0f // movzx eax, byte [rsp + 15] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x11 // movzx eax, byte [rsp + 17] WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x12 // movzx eax, byte [rsp + 18] + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x13 // movzx eax, byte [rsp + 19] WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - LONG $0x244cb60f; BYTE $0x11 // movzx ecx, byte [rsp + 17] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 - LONG $0x07e7c040 // shl dil, 7 - WORD $0x0840; BYTE $0xcf // or dil, cl - WORD $0x0840; BYTE $0xc7 // or dil, al - LONG $0x024e8845 // mov byte [r14 + 2], r9b - LONG $0x037e8841 // mov byte [r14 + 3], dil + WORD $0xd808 // or al, bl + LONG $0x245cb60f; BYTE $0x12 // movzx ebx, byte [rsp + 18] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 + WORD $0xe1c0; BYTE $0x07 // shl cl, 7 + WORD $0xd908 // or cl, bl + WORD $0xc108 // or cl, al + LONG $0x244c8845; BYTE $0x02 // mov byte [r12 + 2], r9b + LONG $0x244c8841; BYTE $0x03 // mov byte [r12 + 3], cl LONG $0x00c28148; WORD $0x0001; BYTE $0x00 // add rdx, 256 - LONG $0x04c68349 // add r14, 4 - LONG $0x24448348; WORD $0xff38 // add qword [rsp + 56], -1 + LONG $0x04c48349 // add r12, 4 + LONG $0x24448348; WORD $0xff20 // add qword [rsp + 32], -1 JNE LBB3_107 - LONG $0x245c8b4c; BYTE $0x18 // mov r11, qword [rsp + 24] - LONG $0x247c8b4c; BYTE $0x40 // mov r15, qword [rsp + 64] + LONG $0x24748b4c; BYTE $0x18 // mov r14, qword [rsp + 24] + LONG $0x247c8b4c; BYTE $0x38 // mov r15, qword [rsp + 56] LBB3_109: LONG $0x05e7c149 // shl r15, 5 - WORD $0x394d; BYTE $0xdf // cmp r15, r11 + WORD $0x394d; BYTE $0xf7 // cmp r15, r14 JGE LBB3_123 - WORD $0x294d; BYTE $0xfb // sub r11, r15 + WORD $0x294d; BYTE $0xfe // sub r14, r15 WORD $0xc931 // xor ecx, ecx LBB3_111: @@ -16943,294 +17690,389 @@ LBB3_111: WORD $0xdbf6 // neg bl WORD $0x8948; BYTE $0xcf // mov rdi, rcx LONG $0x03efc148 // shr rdi, 3 - LONG $0x0cb60f45; BYTE $0x3e // movzx r9d, byte [r14 + rdi] + LONG $0x0cb60f45; BYTE $0x3c // movzx r9d, byte [r12 + rdi] WORD $0x3044; BYTE $0xcb // xor bl, r9b WORD $0xe180; BYTE $0x07 // and cl, 7 WORD $0x01b0 // mov al, 1 WORD $0xe0d2 // shl al, cl WORD $0xd820 // and al, bl WORD $0x3044; BYTE $0xc8 // xor al, r9b - LONG $0x3e048841 // mov byte [r14 + rdi], al + LONG $0x3c048841 // mov byte [r12 + rdi], al WORD $0x894c; BYTE $0xc1 // mov rcx, r8 - WORD $0x394d; BYTE $0xc3 // cmp r11, r8 + WORD $0x394d; BYTE $0xc6 // cmp r14, r8 JNE LBB3_111 JMP LBB3_123 LBB3_112: - LONG $0x1f7b8d4d // lea r15, [r11 + 31] - WORD $0x854d; BYTE $0xdb // test r11, r11 - LONG $0xfb490f4d // cmovns r15, r11 - LONG $0x07418d41 // lea eax, [r9 + 7] - WORD $0x8545; BYTE $0xc9 // test r9d, r9d - LONG $0xc1490f41 // cmovns eax, r9d - WORD $0xe083; BYTE $0xf8 // and eax, -8 - WORD $0x2941; BYTE $0xc1 // sub r9d, eax + LONG $0x1f7e8d4d // lea r15, [r14 + 31] + WORD $0x854d; BYTE $0xf6 // test r14, r14 + LONG $0xfe490f4d // cmovns r15, r14 + WORD $0x488d; BYTE $0x07 // lea ecx, [rax + 7] + WORD $0xc085 // test eax, eax + WORD $0x490f; BYTE $0xc8 // cmovns ecx, eax + WORD $0xe183; BYTE $0xf8 // and ecx, -8 + WORD $0xc829 // sub eax, ecx JE LBB3_116 - WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d + WORD $0x634c; BYTE $0xd0 // movsxd r10, eax LBB3_114: LONG $0x06100ff3 // movss xmm0, dword [rsi] LONG $0x04c68348 // add rsi, 4 WORD $0x2e0f; BYTE $0x02 // ucomiss xmm0, dword [rdx] LONG $0x04528d48 // lea rdx, [rdx + 4] - LONG $0xd2950f41 // setne r10b - WORD $0xf641; BYTE $0xda // neg r10b - LONG $0x07788d48 // lea rdi, [rax + 7] - WORD $0x8548; BYTE $0xc0 // test rax, rax - LONG $0xf8490f48 // cmovns rdi, rax + WORD $0x9a0f; BYTE $0xd1 // setp cl + WORD $0x950f; BYTE $0xd3 // setne bl + WORD $0xcb08 // or bl, cl + WORD $0xdbf6 // neg bl + LONG $0x077a8d49 // lea rdi, [r10 + 7] + WORD $0x854d; BYTE $0xd2 // test r10, r10 + LONG $0xfa490f49 // cmovns rdi, r10 LONG $0x03ffc148 // sar rdi, 3 - LONG $0x04b60f45; BYTE $0x3e // movzx r8d, byte [r14 + rdi] - WORD $0x3045; BYTE $0xc2 // xor r10b, r8b + LONG $0x04b60f45; BYTE $0x3c // movzx r8d, byte [r12 + rdi] + WORD $0x3044; BYTE $0xc3 // xor bl, r8b QUAD $0x00000000fd0c8d44 // lea r9d, [8*rdi] - WORD $0xc189 // mov ecx, eax + WORD $0x8944; BYTE $0xd1 // mov ecx, r10d WORD $0x2944; BYTE $0xc9 // sub ecx, r9d - LONG $0x000001bb; BYTE $0x00 // mov ebx, 1 - WORD $0xe3d3 // shl ebx, cl - WORD $0x2044; BYTE $0xd3 // and bl, r10b - WORD $0x3044; BYTE $0xc3 // xor bl, r8b - LONG $0x3e1c8841 // mov byte [r14 + rdi], bl - LONG $0x01c08348 // add rax, 1 - LONG $0x08f88348 // cmp rax, 8 + LONG $0x000001b8; BYTE $0x00 // mov eax, 1 + WORD $0xe0d3 // shl eax, cl + WORD $0xd820 // and al, bl + WORD $0x3044; BYTE $0xc0 // xor al, r8b + LONG $0x3c048841 // mov byte [r12 + rdi], al + LONG $0x01c28349 // add r10, 1 + LONG $0x08fa8349 // cmp r10, 8 JNE LBB3_114 - LONG $0x01c68349 // add r14, 1 + LONG $0x01c48349 // add r12, 1 LBB3_116: LONG $0x05ffc149 // sar r15, 5 - LONG $0x20fb8349 // cmp r11, 32 + LONG $0x20fe8349 // cmp r14, 32 JL LBB3_120 - LONG $0x245c894c; BYTE $0x18 // mov qword [rsp + 24], r11 - LONG $0x247c894c; BYTE $0x20 // mov qword [rsp + 32], r15 - LONG $0x247c894c; BYTE $0x28 // mov qword [rsp + 40], r15 + LONG $0x2474894c; BYTE $0x18 // mov qword [rsp + 24], r14 + LONG $0x247c894c; BYTE $0x40 // mov qword [rsp + 64], r15 + LONG $0x247c894c; BYTE $0x38 // mov qword [rsp + 56], r15 LBB3_118: - LONG $0x2474894c; BYTE $0x30 // mov qword [rsp + 48], r14 + LONG $0x2464894c; BYTE $0x30 // mov qword [rsp + 48], r12 LONG $0x06100ff3 // movss xmm0, dword [rsi] - LONG $0x4e100ff3; BYTE $0x04 // movss xmm1, dword [rsi + 4] WORD $0x2e0f; BYTE $0x02 // ucomiss xmm0, dword [rdx] - LONG $0x2454950f; BYTE $0x04 // setne byte [rsp + 4] - LONG $0x044a2e0f // ucomiss xmm1, dword [rdx + 4] - WORD $0x950f; BYTE $0xd0 // setne al + LONG $0x46100ff3; BYTE $0x04 // movss xmm0, dword [rsi + 4] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x15244c88 // mov byte [rsp + 21], cl + LONG $0x04422e0f // ucomiss xmm0, dword [rdx + 4] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x0d244c88 // mov byte [rsp + 13], cl LONG $0x46100ff3; BYTE $0x08 // movss xmm0, dword [rsi + 8] LONG $0x08422e0f // ucomiss xmm0, dword [rdx + 8] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x14244c88 // mov byte [rsp + 20], cl LONG $0x46100ff3; BYTE $0x0c // movss xmm0, dword [rsi + 12] - LONG $0x2454950f; BYTE $0x05 // setne byte [rsp + 5] LONG $0x0c422e0f // ucomiss xmm0, dword [rdx + 12] - LONG $0x2454950f; BYTE $0x16 // setne byte [rsp + 22] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x17244c88 // mov byte [rsp + 23], cl LONG $0x46100ff3; BYTE $0x10 // movss xmm0, dword [rsi + 16] LONG $0x10422e0f // ucomiss xmm0, dword [rdx + 16] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x16244c88 // mov byte [rsp + 22], cl LONG $0x46100ff3; BYTE $0x14 // movss xmm0, dword [rsi + 20] - LONG $0x2454950f; BYTE $0x15 // setne byte [rsp + 21] LONG $0x14422e0f // ucomiss xmm0, dword [rdx + 20] - LONG $0x2454950f; BYTE $0x17 // setne byte [rsp + 23] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd7950f40 // setne dil + WORD $0x0840; BYTE $0xc7 // or dil, al LONG $0x46100ff3; BYTE $0x18 // movss xmm0, dword [rsi + 24] LONG $0x18422e0f // ucomiss xmm0, dword [rdx + 24] - LONG $0x46100ff3; BYTE $0x1c // movss xmm0, dword [rsi + 28] + WORD $0x9a0f; BYTE $0xd0 // setp al LONG $0xd5950f41 // setne r13b + WORD $0x0841; BYTE $0xc5 // or r13b, al + LONG $0x46100ff3; BYTE $0x1c // movss xmm0, dword [rsi + 28] LONG $0x1c422e0f // ucomiss xmm0, dword [rdx + 28] - LONG $0xd7950f41 // setne r15b + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x03244c88 // mov byte [rsp + 3], cl LONG $0x46100ff3; BYTE $0x20 // movss xmm0, dword [rsi + 32] LONG $0x20422e0f // ucomiss xmm0, dword [rdx + 32] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x13244c88 // mov byte [rsp + 19], cl LONG $0x46100ff3; BYTE $0x24 // movss xmm0, dword [rsi + 36] - LONG $0x2454950f; BYTE $0x08 // setne byte [rsp + 8] LONG $0x24422e0f // ucomiss xmm0, dword [rdx + 36] - WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd3 // setne bl + WORD $0xc308 // or bl, al LONG $0x46100ff3; BYTE $0x28 // movss xmm0, dword [rsi + 40] LONG $0x28422e0f // ucomiss xmm0, dword [rdx + 40] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x12244c88 // mov byte [rsp + 18], cl LONG $0x46100ff3; BYTE $0x2c // movss xmm0, dword [rsi + 44] - LONG $0xd1950f41 // setne r9b LONG $0x2c422e0f // ucomiss xmm0, dword [rdx + 44] - LONG $0xd3950f41 // setne r11b + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x11244c88 // mov byte [rsp + 17], cl LONG $0x46100ff3; BYTE $0x30 // movss xmm0, dword [rsi + 48] LONG $0x30422e0f // ucomiss xmm0, dword [rdx + 48] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x10244c88 // mov byte [rsp + 16], cl LONG $0x46100ff3; BYTE $0x34 // movss xmm0, dword [rsi + 52] - LONG $0xd2950f41 // setne r10b LONG $0x34422e0f // ucomiss xmm0, dword [rdx + 52] - LONG $0x2454950f; BYTE $0x07 // setne byte [rsp + 7] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x0f244c88 // mov byte [rsp + 15], cl LONG $0x46100ff3; BYTE $0x38 // movss xmm0, dword [rsi + 56] LONG $0x38422e0f // ucomiss xmm0, dword [rdx + 56] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x0c244c88 // mov byte [rsp + 12], cl LONG $0x46100ff3; BYTE $0x3c // movss xmm0, dword [rsi + 60] - LONG $0x2454950f; BYTE $0x06 // setne byte [rsp + 6] LONG $0x3c422e0f // ucomiss xmm0, dword [rdx + 60] - WORD $0x950f; BYTE $0xd3 // setne bl + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x0b244c88 // mov byte [rsp + 11], cl LONG $0x46100ff3; BYTE $0x40 // movss xmm0, dword [rsi + 64] LONG $0x40422e0f // ucomiss xmm0, dword [rdx + 64] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x0e244c88 // mov byte [rsp + 14], cl LONG $0x46100ff3; BYTE $0x44 // movss xmm0, dword [rsi + 68] - LONG $0x2454950f; BYTE $0x0e // setne byte [rsp + 14] LONG $0x44422e0f // ucomiss xmm0, dword [rdx + 68] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x0a244c88 // mov byte [rsp + 10], cl LONG $0x46100ff3; BYTE $0x48 // movss xmm0, dword [rsi + 72] - LONG $0xd6950f41 // setne r14b LONG $0x48422e0f // ucomiss xmm0, dword [rdx + 72] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x09244c88 // mov byte [rsp + 9], cl LONG $0x46100ff3; BYTE $0x4c // movss xmm0, dword [rsi + 76] - LONG $0xd4950f41 // setne r12b LONG $0x4c422e0f // ucomiss xmm0, dword [rdx + 76] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd3950f41 // setne r11b + WORD $0x0841; BYTE $0xc3 // or r11b, al LONG $0x46100ff3; BYTE $0x50 // movss xmm0, dword [rsi + 80] - LONG $0x2454950f; BYTE $0x09 // setne byte [rsp + 9] LONG $0x50422e0f // ucomiss xmm0, dword [rdx + 80] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x08244c88 // mov byte [rsp + 8], cl LONG $0x46100ff3; BYTE $0x54 // movss xmm0, dword [rsi + 84] - LONG $0x2454950f; BYTE $0x0a // setne byte [rsp + 10] LONG $0x54422e0f // ucomiss xmm0, dword [rdx + 84] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x07244c88 // mov byte [rsp + 7], cl LONG $0x46100ff3; BYTE $0x58 // movss xmm0, dword [rsi + 88] - LONG $0x2454950f; BYTE $0x0b // setne byte [rsp + 11] LONG $0x58422e0f // ucomiss xmm0, dword [rdx + 88] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x05244c88 // mov byte [rsp + 5], cl LONG $0x46100ff3; BYTE $0x5c // movss xmm0, dword [rsi + 92] - LONG $0x2454950f; BYTE $0x0c // setne byte [rsp + 12] LONG $0x5c422e0f // ucomiss xmm0, dword [rdx + 92] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd2950f41 // setne r10b + WORD $0x0841; BYTE $0xc2 // or r10b, al LONG $0x46100ff3; BYTE $0x60 // movss xmm0, dword [rsi + 96] - LONG $0xd0950f41 // setne r8b LONG $0x60422e0f // ucomiss xmm0, dword [rdx + 96] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x06244c88 // mov byte [rsp + 6], cl LONG $0x46100ff3; BYTE $0x64 // movss xmm0, dword [rsi + 100] - LONG $0x2454950f; BYTE $0x14 // setne byte [rsp + 20] LONG $0x64422e0f // ucomiss xmm0, dword [rdx + 100] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x20244c88 // mov byte [rsp + 32], cl LONG $0x46100ff3; BYTE $0x68 // movss xmm0, dword [rsi + 104] - LONG $0x2454950f; BYTE $0x0d // setne byte [rsp + 13] LONG $0x68422e0f // ucomiss xmm0, dword [rdx + 104] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd7950f41 // setne r15b + WORD $0x0841; BYTE $0xc7 // or r15b, al LONG $0x46100ff3; BYTE $0x6c // movss xmm0, dword [rsi + 108] - LONG $0x2454950f; BYTE $0x0f // setne byte [rsp + 15] LONG $0x6c422e0f // ucomiss xmm0, dword [rdx + 108] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd6950f41 // setne r14b + WORD $0x0841; BYTE $0xc6 // or r14b, al LONG $0x46100ff3; BYTE $0x70 // movss xmm0, dword [rsi + 112] - LONG $0x2454950f; BYTE $0x10 // setne byte [rsp + 16] LONG $0x70422e0f // ucomiss xmm0, dword [rdx + 112] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x04244c88 // mov byte [rsp + 4], cl LONG $0x46100ff3; BYTE $0x74 // movss xmm0, dword [rsi + 116] - LONG $0x2454950f; BYTE $0x11 // setne byte [rsp + 17] LONG $0x74422e0f // ucomiss xmm0, dword [rdx + 116] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x28244c88 // mov byte [rsp + 40], cl LONG $0x46100ff3; BYTE $0x78 // movss xmm0, dword [rsi + 120] - LONG $0x2454950f; BYTE $0x13 // setne byte [rsp + 19] LONG $0x78422e0f // ucomiss xmm0, dword [rdx + 120] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd1950f41 // setne r9b + WORD $0x0841; BYTE $0xc1 // or r9b, al LONG $0x46100ff3; BYTE $0x7c // movss xmm0, dword [rsi + 124] - LONG $0x2454950f; BYTE $0x12 // setne byte [rsp + 18] LONG $0x80ee8348 // sub rsi, -128 LONG $0x7c422e0f // ucomiss xmm0, dword [rdx + 124] - LONG $0xd7950f40 // setne dil + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd0950f41 // setne r8b + WORD $0x0841; BYTE $0xc0 // or r8b, al + LONG $0x2444b60f; BYTE $0x0d // movzx eax, byte [rsp + 13] WORD $0xc000 // add al, al - LONG $0x04244402 // add al, byte [rsp + 4] + LONG $0x15244402 // add al, byte [rsp + 21] + LONG $0x05e7c040 // shl dil, 5 LONG $0x06e5c041 // shl r13b, 6 - LONG $0x07e7c041 // shl r15b, 7 - WORD $0x0845; BYTE $0xef // or r15b, r13b - LONG $0x6cb60f44; WORD $0x0524 // movzx r13d, byte [rsp + 5] - LONG $0x02e5c041 // shl r13b, 2 - WORD $0x0841; BYTE $0xc5 // or r13b, al - WORD $0x8944; BYTE $0xe8 // mov eax, r13d - WORD $0xc900 // add cl, cl - LONG $0x08244c02 // add cl, byte [rsp + 8] + WORD $0x0841; BYTE $0xfd // or r13b, dil + WORD $0x8944; BYTE $0xef // mov edi, r13d + LONG $0x244cb60f; BYTE $0x14 // movzx ecx, byte [rsp + 20] + WORD $0xe1c0; BYTE $0x02 // shl cl, 2 + WORD $0xc108 // or cl, al + WORD $0xd889 // mov eax, ebx + WORD $0xd800 // add al, bl + LONG $0x13244402 // add al, byte [rsp + 19] + WORD $0x8941; BYTE $0xc5 // mov r13d, eax + LONG $0x2444b60f; BYTE $0x03 // movzx eax, byte [rsp + 3] + WORD $0xe0c0; BYTE $0x07 // shl al, 7 + WORD $0x0840; BYTE $0xf8 // or al, dil + LONG $0x03244488 // mov byte [rsp + 3], al + LONG $0x2444b60f; BYTE $0x12 // movzx eax, byte [rsp + 18] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0x0844; BYTE $0xe8 // or al, r13b + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x17 // movzx eax, byte [rsp + 23] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0xc808 // or al, cl + LONG $0x245cb60f; BYTE $0x11 // movzx ebx, byte [rsp + 17] + WORD $0xe3c0; BYTE $0x03 // shl bl, 3 + WORD $0x0840; BYTE $0xfb // or bl, dil LONG $0x6cb60f44; WORD $0x1624 // movzx r13d, byte [rsp + 22] - LONG $0x03e5c041 // shl r13b, 3 + LONG $0x04e5c041 // shl r13b, 4 WORD $0x0841; BYTE $0xc5 // or r13b, al - LONG $0x02e1c041 // shl r9b, 2 - WORD $0x0841; BYTE $0xc9 // or r9b, cl - LONG $0x244cb60f; BYTE $0x15 // movzx ecx, byte [rsp + 21] - WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0x0844; BYTE $0xe9 // or cl, r13b - WORD $0x8941; BYTE $0xcd // mov r13d, ecx - LONG $0x03e3c041 // shl r11b, 3 - WORD $0x0845; BYTE $0xcb // or r11b, r9b - LONG $0x244cb60f; BYTE $0x17 // movzx ecx, byte [rsp + 23] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0x0844; BYTE $0xe9 // or cl, r13b - LONG $0x04e2c041 // shl r10b, 4 - WORD $0x0845; BYTE $0xda // or r10b, r11b - LONG $0x2444b60f; BYTE $0x07 // movzx eax, byte [rsp + 7] - WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0x0844; BYTE $0xd0 // or al, r10b - LONG $0x4cb60f44; WORD $0x0624 // movzx r9d, byte [rsp + 6] - LONG $0x06e1c041 // shl r9b, 6 - WORD $0xe3c0; BYTE $0x07 // shl bl, 7 - WORD $0x0844; BYTE $0xcb // or bl, r9b - WORD $0x0841; BYTE $0xcf // or r15b, cl - WORD $0xc308 // or bl, al - WORD $0x0045; BYTE $0xf6 // add r14b, r14b - LONG $0x24740244; BYTE $0x0e // add r14b, byte [rsp + 14] - LONG $0x02e4c041 // shl r12b, 2 - WORD $0x0845; BYTE $0xf4 // or r12b, r14b - LONG $0x24748b4c; BYTE $0x30 // mov r14, qword [rsp + 48] - LONG $0x2444b60f; BYTE $0x09 // movzx eax, byte [rsp + 9] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0x0844; BYTE $0xe0 // or al, r12b - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x0a // movzx eax, byte [rsp + 10] + LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xd808 // or al, bl + WORD $0xc789 // mov edi, eax + LONG $0x245cb60f; BYTE $0x0f // movzx ebx, byte [rsp + 15] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + LONG $0x2444b60f; BYTE $0x0c // movzx eax, byte [rsp + 12] + WORD $0xe0c0; BYTE $0x06 // shl al, 6 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x0b // movzx eax, byte [rsp + 11] - WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - WORD $0x8845; BYTE $0x3e // mov byte [r14], r15b - LONG $0x244cb60f; BYTE $0x0c // movzx ecx, byte [rsp + 12] + WORD $0xe0c0; BYTE $0x07 // shl al, 7 + WORD $0xd808 // or al, bl + LONG $0x245cb60f; BYTE $0x0a // movzx ebx, byte [rsp + 10] + WORD $0xdb00 // add bl, bl + LONG $0x0e245c02 // add bl, byte [rsp + 14] + LONG $0x244cb60f; BYTE $0x09 // movzx ecx, byte [rsp + 9] + WORD $0xe1c0; BYTE $0x02 // shl cl, 2 + WORD $0xd908 // or cl, bl + LONG $0x03e3c041 // shl r11b, 3 + WORD $0x0841; BYTE $0xcb // or r11b, cl + LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0x0844; BYTE $0xdb // or bl, r11b + LONG $0x24648b4c; BYTE $0x30 // mov r12, qword [rsp + 48] + LONG $0x5cb60f44; WORD $0x0324 // movzx r11d, byte [rsp + 3] + WORD $0x0845; BYTE $0xeb // or r11b, r13b + LONG $0x6cb60f44; WORD $0x0724 // movzx r13d, byte [rsp + 7] + LONG $0x05e5c041 // shl r13b, 5 + LONG $0x244cb60f; BYTE $0x05 // movzx ecx, byte [rsp + 5] WORD $0xe1c0; BYTE $0x06 // shl cl, 6 + WORD $0x0844; BYTE $0xe9 // or cl, r13b + WORD $0x0840; BYTE $0xf8 // or al, dil + LONG $0x07e2c041 // shl r10b, 7 + WORD $0x0841; BYTE $0xca // or r10b, cl + WORD $0x0841; BYTE $0xda // or r10b, bl + LONG $0x244cb60f; BYTE $0x20 // movzx ecx, byte [rsp + 32] + WORD $0xc900 // add cl, cl + LONG $0x06244c02 // add cl, byte [rsp + 6] + LONG $0x02e7c041 // shl r15b, 2 + WORD $0x0841; BYTE $0xcf // or r15b, cl + LONG $0x03e6c041 // shl r14b, 3 + WORD $0x0845; BYTE $0xfe // or r14b, r15b + LONG $0x244cb60f; BYTE $0x04 // movzx ecx, byte [rsp + 4] + WORD $0xe1c0; BYTE $0x04 // shl cl, 4 + WORD $0x0844; BYTE $0xf1 // or cl, r14b + LONG $0x241c8845 // mov byte [r12], r11b + LONG $0x245cb60f; BYTE $0x28 // movzx ebx, byte [rsp + 40] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + LONG $0x06e1c041 // shl r9b, 6 + WORD $0x0841; BYTE $0xd9 // or r9b, bl + LONG $0x24448841; BYTE $0x01 // mov byte [r12 + 1], al LONG $0x07e0c041 // shl r8b, 7 + WORD $0x0845; BYTE $0xc8 // or r8b, r9b WORD $0x0841; BYTE $0xc8 // or r8b, cl - LONG $0x015e8841 // mov byte [r14 + 1], bl - WORD $0x0841; BYTE $0xc0 // or r8b, al - LONG $0x2444b60f; BYTE $0x0d // movzx eax, byte [rsp + 13] - WORD $0xc000 // add al, al - LONG $0x14244402 // add al, byte [rsp + 20] - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x0f // movzx eax, byte [rsp + 15] - WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x11 // movzx eax, byte [rsp + 17] - WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0xc808 // or al, cl - LONG $0x244cb60f; BYTE $0x13 // movzx ecx, byte [rsp + 19] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0xc108 // or cl, al - LONG $0x2444b60f; BYTE $0x12 // movzx eax, byte [rsp + 18] - WORD $0xe0c0; BYTE $0x06 // shl al, 6 - LONG $0x07e7c040 // shl dil, 7 - WORD $0x0840; BYTE $0xc7 // or dil, al - WORD $0x0840; BYTE $0xcf // or dil, cl - LONG $0x02468845 // mov byte [r14 + 2], r8b - LONG $0x037e8841 // mov byte [r14 + 3], dil + LONG $0x24548845; BYTE $0x02 // mov byte [r12 + 2], r10b + LONG $0x24448845; BYTE $0x03 // mov byte [r12 + 3], r8b LONG $0x80c28148; WORD $0x0000; BYTE $0x00 // add rdx, 128 - LONG $0x04c68349 // add r14, 4 - LONG $0x24448348; WORD $0xff28 // add qword [rsp + 40], -1 + LONG $0x04c48349 // add r12, 4 + LONG $0x24448348; WORD $0xff38 // add qword [rsp + 56], -1 JNE LBB3_118 - LONG $0x245c8b4c; BYTE $0x18 // mov r11, qword [rsp + 24] - LONG $0x247c8b4c; BYTE $0x20 // mov r15, qword [rsp + 32] + LONG $0x24748b4c; BYTE $0x18 // mov r14, qword [rsp + 24] + LONG $0x247c8b4c; BYTE $0x40 // mov r15, qword [rsp + 64] LBB3_120: LONG $0x05e7c149 // shl r15, 5 - WORD $0x394d; BYTE $0xdf // cmp r15, r11 + WORD $0x394d; BYTE $0xf7 // cmp r15, r14 JGE LBB3_123 - WORD $0x294d; BYTE $0xfb // sub r11, r15 + WORD $0x294d; BYTE $0xfe // sub r14, r15 WORD $0xc931 // xor ecx, ecx LBB3_122: + LONG $0x01498d4c // lea r9, [rcx + 1] LONG $0x04100ff3; BYTE $0x8e // movss xmm0, dword [rsi + 4*rcx] LONG $0x8a042e0f // ucomiss xmm0, dword [rdx + 4*rcx] - LONG $0x01418d4c // lea r8, [rcx + 1] - WORD $0x950f; BYTE $0xd3 // setne bl - WORD $0xdbf6 // neg bl + WORD $0x9a0f; BYTE $0xd3 // setp bl + WORD $0x950f; BYTE $0xd0 // setne al + WORD $0xd808 // or al, bl + WORD $0xd8f6 // neg al WORD $0x8948; BYTE $0xcf // mov rdi, rcx LONG $0x03efc148 // shr rdi, 3 - LONG $0x0cb60f45; BYTE $0x3e // movzx r9d, byte [r14 + rdi] - WORD $0x3044; BYTE $0xcb // xor bl, r9b + LONG $0x04b60f45; BYTE $0x3c // movzx r8d, byte [r12 + rdi] + WORD $0x3044; BYTE $0xc0 // xor al, r8b WORD $0xe180; BYTE $0x07 // and cl, 7 - WORD $0x01b0 // mov al, 1 - WORD $0xe0d2 // shl al, cl - WORD $0xd820 // and al, bl - WORD $0x3044; BYTE $0xc8 // xor al, r9b - LONG $0x3e048841 // mov byte [r14 + rdi], al - WORD $0x894c; BYTE $0xc1 // mov rcx, r8 - WORD $0x394d; BYTE $0xc3 // cmp r11, r8 + WORD $0x01b3 // mov bl, 1 + WORD $0xe3d2 // shl bl, cl + WORD $0xc320 // and bl, al + WORD $0x3044; BYTE $0xc3 // xor bl, r8b + LONG $0x3c1c8841 // mov byte [r12 + rdi], bl + WORD $0x894c; BYTE $0xc9 // mov rcx, r9 + WORD $0x394d; BYTE $0xce // cmp r14, r9 JNE LBB3_122 JMP LBB3_123 LBB3_57: - LONG $0x1f7b8d4d // lea r15, [r11 + 31] - WORD $0x854d; BYTE $0xdb // test r11, r11 - LONG $0xfb490f4d // cmovns r15, r11 - LONG $0x07418d41 // lea eax, [r9 + 7] - WORD $0x8545; BYTE $0xc9 // test r9d, r9d - LONG $0xc1490f41 // cmovns eax, r9d - WORD $0xe083; BYTE $0xf8 // and eax, -8 - WORD $0x2941; BYTE $0xc1 // sub r9d, eax + LONG $0x1f7e8d4d // lea r15, [r14 + 31] + WORD $0x854d; BYTE $0xf6 // test r14, r14 + LONG $0xfe490f4d // cmovns r15, r14 + WORD $0x488d; BYTE $0x07 // lea ecx, [rax + 7] + WORD $0xc085 // test eax, eax + WORD $0x490f; BYTE $0xc8 // cmovns ecx, eax + WORD $0xe183; BYTE $0xf8 // and ecx, -8 + WORD $0xc829 // sub eax, ecx JE LBB3_61 - WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d + WORD $0x9848 // cdqe LBB3_59: WORD $0xb60f; BYTE $0x0e // movzx ecx, byte [rsi] @@ -17243,7 +18085,7 @@ LBB3_59: WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xf8490f48 // cmovns rdi, rax LONG $0x03ffc148 // sar rdi, 3 - LONG $0x04b60f45; BYTE $0x3e // movzx r8d, byte [r14 + rdi] + LONG $0x04b60f45; BYTE $0x3c // movzx r8d, byte [r12 + rdi] WORD $0x3045; BYTE $0xc2 // xor r10b, r8b QUAD $0x00000000fd0c8d44 // lea r9d, [8*rdi] WORD $0xc189 // mov ecx, eax @@ -17252,49 +18094,49 @@ LBB3_59: WORD $0xe3d3 // shl ebx, cl WORD $0x2044; BYTE $0xd3 // and bl, r10b WORD $0x3044; BYTE $0xc3 // xor bl, r8b - LONG $0x3e1c8841 // mov byte [r14 + rdi], bl + LONG $0x3c1c8841 // mov byte [r12 + rdi], bl LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 JNE LBB3_59 - LONG $0x01c68349 // add r14, 1 + LONG $0x01c48349 // add r12, 1 LBB3_61: LONG $0x05ffc149 // sar r15, 5 - LONG $0x20fb8349 // cmp r11, 32 + LONG $0x20fe8349 // cmp r14, 32 JL LBB3_65 - LONG $0x245c894c; BYTE $0x18 // mov qword [rsp + 24], r11 - LONG $0x247c894c; BYTE $0x38 // mov qword [rsp + 56], r15 + LONG $0x2474894c; BYTE $0x18 // mov qword [rsp + 24], r14 LONG $0x247c894c; BYTE $0x20 // mov qword [rsp + 32], r15 + LONG $0x247c894c; BYTE $0x28 // mov qword [rsp + 40], r15 LBB3_63: - LONG $0x2474894c; BYTE $0x30 // mov qword [rsp + 48], r14 + LONG $0x2464894c; BYTE $0x30 // mov qword [rsp + 48], r12 WORD $0xb60f; BYTE $0x06 // movzx eax, byte [rsi] LONG $0x014eb60f // movzx ecx, byte [rsi + 1] WORD $0x023a // cmp al, byte [rdx] - LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] + LONG $0x2454950f; BYTE $0x04 // setne byte [rsp + 4] WORD $0x4a3a; BYTE $0x01 // cmp cl, byte [rdx + 1] - WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0x950f; BYTE $0xd3 // setne bl LONG $0x0246b60f // movzx eax, byte [rsi + 2] WORD $0x423a; BYTE $0x02 // cmp al, byte [rdx + 2] - LONG $0x2454950f; BYTE $0x14 // setne byte [rsp + 20] + LONG $0x2454950f; BYTE $0x15 // setne byte [rsp + 21] LONG $0x0346b60f // movzx eax, byte [rsi + 3] WORD $0x423a; BYTE $0x03 // cmp al, byte [rdx + 3] - LONG $0x2454950f; BYTE $0x15 // setne byte [rsp + 21] + LONG $0x2454950f; BYTE $0x16 // setne byte [rsp + 22] LONG $0x0446b60f // movzx eax, byte [rsi + 4] WORD $0x423a; BYTE $0x04 // cmp al, byte [rdx + 4] - LONG $0x2454950f; BYTE $0x16 // setne byte [rsp + 22] + LONG $0x2454950f; BYTE $0x17 // setne byte [rsp + 23] LONG $0x0546b60f // movzx eax, byte [rsi + 5] WORD $0x423a; BYTE $0x05 // cmp al, byte [rdx + 5] - LONG $0x2454950f; BYTE $0x17 // setne byte [rsp + 23] + LONG $0x2454950f; BYTE $0x03 // setne byte [rsp + 3] LONG $0x0646b60f // movzx eax, byte [rsi + 6] WORD $0x423a; BYTE $0x06 // cmp al, byte [rdx + 6] - LONG $0x2454950f; BYTE $0x04 // setne byte [rsp + 4] + LONG $0x2454950f; BYTE $0x05 // setne byte [rsp + 5] LONG $0x0746b60f // movzx eax, byte [rsi + 7] WORD $0x423a; BYTE $0x07 // cmp al, byte [rdx + 7] LONG $0xd7950f41 // setne r15b LONG $0x0846b60f // movzx eax, byte [rsi + 8] WORD $0x423a; BYTE $0x08 // cmp al, byte [rdx + 8] - LONG $0x2454950f; BYTE $0x07 // setne byte [rsp + 7] + LONG $0x2454950f; BYTE $0x08 // setne byte [rsp + 8] LONG $0x0946b60f // movzx eax, byte [rsi + 9] WORD $0x423a; BYTE $0x09 // cmp al, byte [rdx + 9] LONG $0xd7950f40 // setne dil @@ -17309,16 +18151,16 @@ LBB3_63: LONG $0xd6950f41 // setne r14b LONG $0x0d46b60f // movzx eax, byte [rsi + 13] WORD $0x423a; BYTE $0x0d // cmp al, byte [rdx + 13] - LONG $0x2454950f; BYTE $0x05 // setne byte [rsp + 5] + LONG $0x2454950f; BYTE $0x06 // setne byte [rsp + 6] LONG $0x0e46b60f // movzx eax, byte [rsi + 14] WORD $0x423a; BYTE $0x0e // cmp al, byte [rdx + 14] - LONG $0x2454950f; BYTE $0x06 // setne byte [rsp + 6] + LONG $0x2454950f; BYTE $0x07 // setne byte [rsp + 7] LONG $0x0f46b60f // movzx eax, byte [rsi + 15] WORD $0x423a; BYTE $0x0f // cmp al, byte [rdx + 15] - WORD $0x950f; BYTE $0xd3 // setne bl + LONG $0xd0950f41 // setne r8b LONG $0x1046b60f // movzx eax, byte [rsi + 16] WORD $0x423a; BYTE $0x10 // cmp al, byte [rdx + 16] - LONG $0x2454950f; BYTE $0x0d // setne byte [rsp + 13] + LONG $0x2454950f; BYTE $0x0e // setne byte [rsp + 14] LONG $0x1146b60f // movzx eax, byte [rsi + 17] WORD $0x423a; BYTE $0x11 // cmp al, byte [rdx + 17] LONG $0xd4950f41 // setne r12b @@ -17327,144 +18169,144 @@ LBB3_63: LONG $0xd5950f41 // setne r13b LONG $0x1346b60f // movzx eax, byte [rsi + 19] WORD $0x423a; BYTE $0x13 // cmp al, byte [rdx + 19] - LONG $0x2454950f; BYTE $0x08 // setne byte [rsp + 8] + LONG $0x2454950f; BYTE $0x09 // setne byte [rsp + 9] LONG $0x1446b60f // movzx eax, byte [rsi + 20] WORD $0x423a; BYTE $0x14 // cmp al, byte [rdx + 20] - LONG $0x2454950f; BYTE $0x09 // setne byte [rsp + 9] + LONG $0x2454950f; BYTE $0x0a // setne byte [rsp + 10] LONG $0x1546b60f // movzx eax, byte [rsi + 21] WORD $0x423a; BYTE $0x15 // cmp al, byte [rdx + 21] - LONG $0x2454950f; BYTE $0x0a // setne byte [rsp + 10] + LONG $0x2454950f; BYTE $0x0b // setne byte [rsp + 11] LONG $0x1646b60f // movzx eax, byte [rsi + 22] WORD $0x423a; BYTE $0x16 // cmp al, byte [rdx + 22] - LONG $0x2454950f; BYTE $0x0b // setne byte [rsp + 11] + LONG $0x2454950f; BYTE $0x0c // setne byte [rsp + 12] LONG $0x1746b60f // movzx eax, byte [rsi + 23] WORD $0x423a; BYTE $0x17 // cmp al, byte [rdx + 23] LONG $0xd1950f41 // setne r9b LONG $0x1846b60f // movzx eax, byte [rsi + 24] WORD $0x423a; BYTE $0x18 // cmp al, byte [rdx + 24] - LONG $0x2454950f; BYTE $0x13 // setne byte [rsp + 19] + LONG $0x2454950f; BYTE $0x14 // setne byte [rsp + 20] LONG $0x1946b60f // movzx eax, byte [rsi + 25] WORD $0x423a; BYTE $0x19 // cmp al, byte [rdx + 25] - LONG $0x2454950f; BYTE $0x0c // setne byte [rsp + 12] + LONG $0x2454950f; BYTE $0x0d // setne byte [rsp + 13] LONG $0x1a46b60f // movzx eax, byte [rsi + 26] WORD $0x423a; BYTE $0x1a // cmp al, byte [rdx + 26] - LONG $0x2454950f; BYTE $0x0e // setne byte [rsp + 14] + LONG $0x2454950f; BYTE $0x0f // setne byte [rsp + 15] LONG $0x1b46b60f // movzx eax, byte [rsi + 27] WORD $0x423a; BYTE $0x1b // cmp al, byte [rdx + 27] - LONG $0x2454950f; BYTE $0x0f // setne byte [rsp + 15] + LONG $0x2454950f; BYTE $0x10 // setne byte [rsp + 16] LONG $0x1c46b60f // movzx eax, byte [rsi + 28] WORD $0x423a; BYTE $0x1c // cmp al, byte [rdx + 28] - LONG $0x2454950f; BYTE $0x10 // setne byte [rsp + 16] + LONG $0x2454950f; BYTE $0x11 // setne byte [rsp + 17] LONG $0x1d46b60f // movzx eax, byte [rsi + 29] WORD $0x423a; BYTE $0x1d // cmp al, byte [rdx + 29] - LONG $0x2454950f; BYTE $0x11 // setne byte [rsp + 17] + LONG $0x2454950f; BYTE $0x12 // setne byte [rsp + 18] LONG $0x1e46b60f // movzx eax, byte [rsi + 30] WORD $0x423a; BYTE $0x1e // cmp al, byte [rdx + 30] - LONG $0x2454950f; BYTE $0x12 // setne byte [rsp + 18] + LONG $0x2454950f; BYTE $0x13 // setne byte [rsp + 19] LONG $0x1f46b60f // movzx eax, byte [rsi + 31] LONG $0x20c68348 // add rsi, 32 WORD $0x423a; BYTE $0x1f // cmp al, byte [rdx + 31] - LONG $0xd0950f41 // setne r8b - WORD $0xc900 // add cl, cl - LONG $0x28244c02 // add cl, byte [rsp + 40] - WORD $0xc889 // mov eax, ecx - LONG $0x244cb60f; BYTE $0x04 // movzx ecx, byte [rsp + 4] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xdb00 // add bl, bl + LONG $0x04245c02 // add bl, byte [rsp + 4] + WORD $0xd889 // mov eax, ebx + LONG $0x245cb60f; BYTE $0x05 // movzx ebx, byte [rsp + 5] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e7c041 // shl r15b, 7 - WORD $0x0841; BYTE $0xcf // or r15b, cl - LONG $0x244cb60f; BYTE $0x14 // movzx ecx, byte [rsp + 20] - WORD $0xe1c0; BYTE $0x02 // shl cl, 2 - WORD $0xc108 // or cl, al - WORD $0xc889 // mov eax, ecx + WORD $0x0841; BYTE $0xdf // or r15b, bl + LONG $0x245cb60f; BYTE $0x15 // movzx ebx, byte [rsp + 21] + WORD $0xe3c0; BYTE $0x02 // shl bl, 2 + WORD $0xc308 // or bl, al + WORD $0xd889 // mov eax, ebx WORD $0x0040; BYTE $0xff // add dil, dil - LONG $0x247c0240; BYTE $0x07 // add dil, byte [rsp + 7] - LONG $0x244cb60f; BYTE $0x15 // movzx ecx, byte [rsp + 21] - WORD $0xe1c0; BYTE $0x03 // shl cl, 3 - WORD $0xc108 // or cl, al - WORD $0xc889 // mov eax, ecx + LONG $0x247c0240; BYTE $0x08 // add dil, byte [rsp + 8] + LONG $0x245cb60f; BYTE $0x16 // movzx ebx, byte [rsp + 22] + WORD $0xe3c0; BYTE $0x03 // shl bl, 3 + WORD $0xc308 // or bl, al + WORD $0xd889 // mov eax, ebx LONG $0x02e2c041 // shl r10b, 2 WORD $0x0841; BYTE $0xfa // or r10b, dil - LONG $0x244cb60f; BYTE $0x16 // movzx ecx, byte [rsp + 22] - WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0xc108 // or cl, al - WORD $0xcf89 // mov edi, ecx + LONG $0x245cb60f; BYTE $0x17 // movzx ebx, byte [rsp + 23] + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0xc308 // or bl, al + WORD $0xdf89 // mov edi, ebx LONG $0x03e3c041 // shl r11b, 3 WORD $0x0845; BYTE $0xd3 // or r11b, r10b - LONG $0x244cb60f; BYTE $0x17 // movzx ecx, byte [rsp + 23] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0x0840; BYTE $0xf9 // or cl, dil + LONG $0x245cb60f; BYTE $0x03 // movzx ebx, byte [rsp + 3] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + WORD $0x0840; BYTE $0xfb // or bl, dil LONG $0x04e6c041 // shl r14b, 4 WORD $0x0845; BYTE $0xde // or r14b, r11b - LONG $0x2444b60f; BYTE $0x05 // movzx eax, byte [rsp + 5] + LONG $0x2444b60f; BYTE $0x06 // movzx eax, byte [rsp + 6] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0x0844; BYTE $0xf0 // or al, r14b - LONG $0x247cb60f; BYTE $0x06 // movzx edi, byte [rsp + 6] + LONG $0x247cb60f; BYTE $0x07 // movzx edi, byte [rsp + 7] LONG $0x06e7c040 // shl dil, 6 - WORD $0xe3c0; BYTE $0x07 // shl bl, 7 - WORD $0x0840; BYTE $0xfb // or bl, dil - WORD $0x0841; BYTE $0xcf // or r15b, cl - WORD $0xc308 // or bl, al + LONG $0x07e0c041 // shl r8b, 7 + WORD $0x0841; BYTE $0xf8 // or r8b, dil + WORD $0x0841; BYTE $0xdf // or r15b, bl + WORD $0x0841; BYTE $0xc0 // or r8b, al WORD $0x0045; BYTE $0xe4 // add r12b, r12b - LONG $0x24640244; BYTE $0x0d // add r12b, byte [rsp + 13] + LONG $0x24640244; BYTE $0x0e // add r12b, byte [rsp + 14] LONG $0x02e5c041 // shl r13b, 2 WORD $0x0845; BYTE $0xe5 // or r13b, r12b - LONG $0x24748b4c; BYTE $0x30 // mov r14, qword [rsp + 48] - LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + LONG $0x24648b4c; BYTE $0x30 // mov r12, qword [rsp + 48] + LONG $0x2444b60f; BYTE $0x09 // movzx eax, byte [rsp + 9] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0x0844; BYTE $0xe8 // or al, r13b - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x09 // movzx eax, byte [rsp + 9] - WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x0a // movzx eax, byte [rsp + 10] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x0b // movzx eax, byte [rsp + 11] WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - WORD $0x8845; BYTE $0x3e // mov byte [r14], r15b - LONG $0x244cb60f; BYTE $0x0b // movzx ecx, byte [rsp + 11] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 + WORD $0xd808 // or al, bl + LONG $0x243c8845 // mov byte [r12], r15b + LONG $0x245cb60f; BYTE $0x0c // movzx ebx, byte [rsp + 12] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e1c041 // shl r9b, 7 - WORD $0x0841; BYTE $0xc9 // or r9b, cl - LONG $0x015e8841 // mov byte [r14 + 1], bl + WORD $0x0841; BYTE $0xd9 // or r9b, bl + LONG $0x24448845; BYTE $0x01 // mov byte [r12 + 1], r8b WORD $0x0841; BYTE $0xc1 // or r9b, al - LONG $0x2444b60f; BYTE $0x0c // movzx eax, byte [rsp + 12] + LONG $0x2444b60f; BYTE $0x0d // movzx eax, byte [rsp + 13] WORD $0xc000 // add al, al - LONG $0x13244402 // add al, byte [rsp + 19] - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x0e // movzx eax, byte [rsp + 14] - WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + LONG $0x14244402 // add al, byte [rsp + 20] + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x0f // movzx eax, byte [rsp + 15] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] - WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x11 // movzx eax, byte [rsp + 17] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x12 // movzx eax, byte [rsp + 18] WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - LONG $0x244cb60f; BYTE $0x12 // movzx ecx, byte [rsp + 18] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 - LONG $0x07e0c041 // shl r8b, 7 - WORD $0x0841; BYTE $0xc8 // or r8b, cl - WORD $0x0841; BYTE $0xc0 // or r8b, al - LONG $0x024e8845 // mov byte [r14 + 2], r9b - LONG $0x03468845 // mov byte [r14 + 3], r8b + WORD $0xd808 // or al, bl + LONG $0x245cb60f; BYTE $0x13 // movzx ebx, byte [rsp + 19] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 + WORD $0xe1c0; BYTE $0x07 // shl cl, 7 + WORD $0xd908 // or cl, bl + WORD $0xc108 // or cl, al + LONG $0x244c8845; BYTE $0x02 // mov byte [r12 + 2], r9b + LONG $0x244c8841; BYTE $0x03 // mov byte [r12 + 3], cl LONG $0x20c28348 // add rdx, 32 - LONG $0x04c68349 // add r14, 4 - LONG $0x24448348; WORD $0xff20 // add qword [rsp + 32], -1 + LONG $0x04c48349 // add r12, 4 + LONG $0x24448348; WORD $0xff28 // add qword [rsp + 40], -1 JNE LBB3_63 - LONG $0x245c8b4c; BYTE $0x18 // mov r11, qword [rsp + 24] - LONG $0x247c8b4c; BYTE $0x38 // mov r15, qword [rsp + 56] + LONG $0x24748b4c; BYTE $0x18 // mov r14, qword [rsp + 24] + LONG $0x247c8b4c; BYTE $0x20 // mov r15, qword [rsp + 32] LBB3_65: LONG $0x05e7c149 // shl r15, 5 - WORD $0x394d; BYTE $0xdf // cmp r15, r11 + WORD $0x394d; BYTE $0xf7 // cmp r15, r14 JGE LBB3_123 - WORD $0x294d; BYTE $0xfb // sub r11, r15 + WORD $0x294d; BYTE $0xfe // sub r14, r15 WORD $0xc931 // xor ecx, ecx LBB3_67: @@ -17475,30 +18317,30 @@ LBB3_67: WORD $0xdbf6 // neg bl WORD $0x8948; BYTE $0xcf // mov rdi, rcx LONG $0x03efc148 // shr rdi, 3 - LONG $0x0cb60f45; BYTE $0x3e // movzx r9d, byte [r14 + rdi] + LONG $0x0cb60f45; BYTE $0x3c // movzx r9d, byte [r12 + rdi] WORD $0x3044; BYTE $0xcb // xor bl, r9b WORD $0xe180; BYTE $0x07 // and cl, 7 WORD $0x01b0 // mov al, 1 WORD $0xe0d2 // shl al, cl WORD $0xd820 // and al, bl WORD $0x3044; BYTE $0xc8 // xor al, r9b - LONG $0x3e048841 // mov byte [r14 + rdi], al + LONG $0x3c048841 // mov byte [r12 + rdi], al WORD $0x894c; BYTE $0xc1 // mov rcx, r8 - WORD $0x394d; BYTE $0xc3 // cmp r11, r8 + WORD $0x394d; BYTE $0xc6 // cmp r14, r8 JNE LBB3_67 JMP LBB3_123 LBB3_90: - LONG $0x1f7b8d4d // lea r15, [r11 + 31] - WORD $0x854d; BYTE $0xdb // test r11, r11 - LONG $0xfb490f4d // cmovns r15, r11 - LONG $0x07418d41 // lea eax, [r9 + 7] - WORD $0x8545; BYTE $0xc9 // test r9d, r9d - LONG $0xc1490f41 // cmovns eax, r9d - WORD $0xe083; BYTE $0xf8 // and eax, -8 - WORD $0x2941; BYTE $0xc1 // sub r9d, eax + LONG $0x1f7e8d4d // lea r15, [r14 + 31] + WORD $0x854d; BYTE $0xf6 // test r14, r14 + LONG $0xfe490f4d // cmovns r15, r14 + WORD $0x488d; BYTE $0x07 // lea ecx, [rax + 7] + WORD $0xc085 // test eax, eax + WORD $0x490f; BYTE $0xc8 // cmovns ecx, eax + WORD $0xe183; BYTE $0xf8 // and ecx, -8 + WORD $0xc829 // sub eax, ecx JE LBB3_94 - WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d + WORD $0x9848 // cdqe LBB3_92: WORD $0x0e8b // mov ecx, dword [rsi] @@ -17511,7 +18353,7 @@ LBB3_92: WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xf8490f48 // cmovns rdi, rax LONG $0x03ffc148 // sar rdi, 3 - LONG $0x04b60f45; BYTE $0x3e // movzx r8d, byte [r14 + rdi] + LONG $0x04b60f45; BYTE $0x3c // movzx r8d, byte [r12 + rdi] WORD $0x3045; BYTE $0xc2 // xor r10b, r8b QUAD $0x00000000fd0c8d44 // lea r9d, [8*rdi] WORD $0xc189 // mov ecx, eax @@ -17520,49 +18362,49 @@ LBB3_92: WORD $0xe3d3 // shl ebx, cl WORD $0x2044; BYTE $0xd3 // and bl, r10b WORD $0x3044; BYTE $0xc3 // xor bl, r8b - LONG $0x3e1c8841 // mov byte [r14 + rdi], bl + LONG $0x3c1c8841 // mov byte [r12 + rdi], bl LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 JNE LBB3_92 - LONG $0x01c68349 // add r14, 1 + LONG $0x01c48349 // add r12, 1 LBB3_94: LONG $0x05ffc149 // sar r15, 5 - LONG $0x20fb8349 // cmp r11, 32 + LONG $0x20fe8349 // cmp r14, 32 JL LBB3_98 - LONG $0x245c894c; BYTE $0x18 // mov qword [rsp + 24], r11 - LONG $0x247c894c; BYTE $0x40 // mov qword [rsp + 64], r15 + LONG $0x2474894c; BYTE $0x18 // mov qword [rsp + 24], r14 LONG $0x247c894c; BYTE $0x38 // mov qword [rsp + 56], r15 + LONG $0x247c894c; BYTE $0x20 // mov qword [rsp + 32], r15 LBB3_96: - LONG $0x2474894c; BYTE $0x30 // mov qword [rsp + 48], r14 + LONG $0x2464894c; BYTE $0x30 // mov qword [rsp + 48], r12 WORD $0x068b // mov eax, dword [rsi] WORD $0x4e8b; BYTE $0x04 // mov ecx, dword [rsi + 4] WORD $0x023b // cmp eax, dword [rdx] - LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] + LONG $0x2454950f; BYTE $0x04 // setne byte [rsp + 4] WORD $0x4a3b; BYTE $0x04 // cmp ecx, dword [rdx + 4] - LONG $0x2454950f; BYTE $0x20 // setne byte [rsp + 32] + LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] WORD $0x468b; BYTE $0x08 // mov eax, dword [rsi + 8] WORD $0x423b; BYTE $0x08 // cmp eax, dword [rdx + 8] - LONG $0x2454950f; BYTE $0x14 // setne byte [rsp + 20] + LONG $0x2454950f; BYTE $0x15 // setne byte [rsp + 21] WORD $0x468b; BYTE $0x0c // mov eax, dword [rsi + 12] WORD $0x423b; BYTE $0x0c // cmp eax, dword [rdx + 12] - LONG $0x2454950f; BYTE $0x15 // setne byte [rsp + 21] + LONG $0x2454950f; BYTE $0x16 // setne byte [rsp + 22] WORD $0x468b; BYTE $0x10 // mov eax, dword [rsi + 16] WORD $0x423b; BYTE $0x10 // cmp eax, dword [rdx + 16] - LONG $0x2454950f; BYTE $0x16 // setne byte [rsp + 22] + LONG $0x2454950f; BYTE $0x17 // setne byte [rsp + 23] WORD $0x468b; BYTE $0x14 // mov eax, dword [rsi + 20] WORD $0x423b; BYTE $0x14 // cmp eax, dword [rdx + 20] - LONG $0x2454950f; BYTE $0x17 // setne byte [rsp + 23] + LONG $0x2454950f; BYTE $0x03 // setne byte [rsp + 3] WORD $0x468b; BYTE $0x18 // mov eax, dword [rsi + 24] WORD $0x423b; BYTE $0x18 // cmp eax, dword [rdx + 24] - LONG $0x2454950f; BYTE $0x04 // setne byte [rsp + 4] + LONG $0x2454950f; BYTE $0x05 // setne byte [rsp + 5] WORD $0x468b; BYTE $0x1c // mov eax, dword [rsi + 28] WORD $0x423b; BYTE $0x1c // cmp eax, dword [rdx + 28] LONG $0xd5950f41 // setne r13b WORD $0x468b; BYTE $0x20 // mov eax, dword [rsi + 32] WORD $0x423b; BYTE $0x20 // cmp eax, dword [rdx + 32] - LONG $0x2454950f; BYTE $0x09 // setne byte [rsp + 9] + LONG $0x2454950f; BYTE $0x0a // setne byte [rsp + 10] WORD $0x468b; BYTE $0x24 // mov eax, dword [rsi + 36] WORD $0x423b; BYTE $0x24 // cmp eax, dword [rdx + 36] LONG $0xd0950f41 // setne r8b @@ -17574,165 +18416,165 @@ LBB3_96: LONG $0xd7950f41 // setne r15b WORD $0x468b; BYTE $0x30 // mov eax, dword [rsi + 48] WORD $0x423b; BYTE $0x30 // cmp eax, dword [rdx + 48] - LONG $0x2454950f; BYTE $0x05 // setne byte [rsp + 5] + LONG $0x2454950f; BYTE $0x06 // setne byte [rsp + 6] WORD $0x468b; BYTE $0x34 // mov eax, dword [rsi + 52] WORD $0x423b; BYTE $0x34 // cmp eax, dword [rdx + 52] - LONG $0x2454950f; BYTE $0x06 // setne byte [rsp + 6] + LONG $0x2454950f; BYTE $0x07 // setne byte [rsp + 7] WORD $0x468b; BYTE $0x38 // mov eax, dword [rsi + 56] WORD $0x423b; BYTE $0x38 // cmp eax, dword [rdx + 56] - LONG $0x2454950f; BYTE $0x07 // setne byte [rsp + 7] + LONG $0x2454950f; BYTE $0x08 // setne byte [rsp + 8] WORD $0x468b; BYTE $0x3c // mov eax, dword [rsi + 60] WORD $0x423b; BYTE $0x3c // cmp eax, dword [rdx + 60] - WORD $0x950f; BYTE $0xd3 // setne bl + LONG $0xd7950f40 // setne dil WORD $0x468b; BYTE $0x40 // mov eax, dword [rsi + 64] - WORD $0x4e8b; BYTE $0x44 // mov ecx, dword [rsi + 68] + WORD $0x5e8b; BYTE $0x44 // mov ebx, dword [rsi + 68] WORD $0x423b; BYTE $0x40 // cmp eax, dword [rdx + 64] WORD $0x468b; BYTE $0x48 // mov eax, dword [rsi + 72] - LONG $0x2454950f; BYTE $0x0a // setne byte [rsp + 10] - WORD $0x4a3b; BYTE $0x44 // cmp ecx, dword [rdx + 68] - WORD $0x4e8b; BYTE $0x4c // mov ecx, dword [rsi + 76] + LONG $0x2454950f; BYTE $0x0b // setne byte [rsp + 11] + WORD $0x5a3b; BYTE $0x44 // cmp ebx, dword [rdx + 68] + WORD $0x5e8b; BYTE $0x4c // mov ebx, dword [rsi + 76] LONG $0xd2950f41 // setne r10b WORD $0x423b; BYTE $0x48 // cmp eax, dword [rdx + 72] WORD $0x468b; BYTE $0x50 // mov eax, dword [rsi + 80] LONG $0xd6950f41 // setne r14b - WORD $0x4a3b; BYTE $0x4c // cmp ecx, dword [rdx + 76] - WORD $0x4e8b; BYTE $0x54 // mov ecx, dword [rsi + 84] + WORD $0x5a3b; BYTE $0x4c // cmp ebx, dword [rdx + 76] + WORD $0x5e8b; BYTE $0x54 // mov ebx, dword [rsi + 84] LONG $0xd4950f41 // setne r12b WORD $0x423b; BYTE $0x50 // cmp eax, dword [rdx + 80] - LONG $0x2454950f; BYTE $0x08 // setne byte [rsp + 8] - WORD $0x4a3b; BYTE $0x54 // cmp ecx, dword [rdx + 84] + LONG $0x2454950f; BYTE $0x09 // setne byte [rsp + 9] + WORD $0x5a3b; BYTE $0x54 // cmp ebx, dword [rdx + 84] WORD $0x468b; BYTE $0x58 // mov eax, dword [rsi + 88] - LONG $0x2454950f; BYTE $0x0b // setne byte [rsp + 11] + LONG $0x2454950f; BYTE $0x0c // setne byte [rsp + 12] WORD $0x423b; BYTE $0x58 // cmp eax, dword [rdx + 88] WORD $0x468b; BYTE $0x5c // mov eax, dword [rsi + 92] - LONG $0x2454950f; BYTE $0x0c // setne byte [rsp + 12] + LONG $0x2454950f; BYTE $0x0d // setne byte [rsp + 13] WORD $0x423b; BYTE $0x5c // cmp eax, dword [rdx + 92] WORD $0x468b; BYTE $0x60 // mov eax, dword [rsi + 96] LONG $0xd1950f41 // setne r9b WORD $0x423b; BYTE $0x60 // cmp eax, dword [rdx + 96] WORD $0x468b; BYTE $0x64 // mov eax, dword [rsi + 100] - LONG $0x2454950f; BYTE $0x13 // setne byte [rsp + 19] + LONG $0x2454950f; BYTE $0x14 // setne byte [rsp + 20] WORD $0x423b; BYTE $0x64 // cmp eax, dword [rdx + 100] WORD $0x468b; BYTE $0x68 // mov eax, dword [rsi + 104] - LONG $0x2454950f; BYTE $0x0d // setne byte [rsp + 13] + LONG $0x2454950f; BYTE $0x0e // setne byte [rsp + 14] WORD $0x423b; BYTE $0x68 // cmp eax, dword [rdx + 104] WORD $0x468b; BYTE $0x6c // mov eax, dword [rsi + 108] - LONG $0x2454950f; BYTE $0x0e // setne byte [rsp + 14] + LONG $0x2454950f; BYTE $0x0f // setne byte [rsp + 15] WORD $0x423b; BYTE $0x6c // cmp eax, dword [rdx + 108] WORD $0x468b; BYTE $0x70 // mov eax, dword [rsi + 112] - LONG $0x2454950f; BYTE $0x0f // setne byte [rsp + 15] + LONG $0x2454950f; BYTE $0x10 // setne byte [rsp + 16] WORD $0x423b; BYTE $0x70 // cmp eax, dword [rdx + 112] WORD $0x468b; BYTE $0x74 // mov eax, dword [rsi + 116] - LONG $0x2454950f; BYTE $0x10 // setne byte [rsp + 16] + LONG $0x2454950f; BYTE $0x11 // setne byte [rsp + 17] WORD $0x423b; BYTE $0x74 // cmp eax, dword [rdx + 116] WORD $0x468b; BYTE $0x78 // mov eax, dword [rsi + 120] - LONG $0x2454950f; BYTE $0x12 // setne byte [rsp + 18] + LONG $0x2454950f; BYTE $0x13 // setne byte [rsp + 19] WORD $0x423b; BYTE $0x78 // cmp eax, dword [rdx + 120] WORD $0x468b; BYTE $0x7c // mov eax, dword [rsi + 124] - LONG $0x2454950f; BYTE $0x11 // setne byte [rsp + 17] + LONG $0x2454950f; BYTE $0x12 // setne byte [rsp + 18] LONG $0x80ee8348 // sub rsi, -128 WORD $0x423b; BYTE $0x7c // cmp eax, dword [rdx + 124] - LONG $0xd7950f40 // setne dil - LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] + WORD $0x950f; BYTE $0xd1 // setne cl + LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] WORD $0xc000 // add al, al - LONG $0x28244402 // add al, byte [rsp + 40] - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x04 // movzx eax, byte [rsp + 4] + LONG $0x04244402 // add al, byte [rsp + 4] + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x05 // movzx eax, byte [rsp + 5] WORD $0xe0c0; BYTE $0x06 // shl al, 6 LONG $0x07e5c041 // shl r13b, 7 WORD $0x0841; BYTE $0xc5 // or r13b, al - LONG $0x2444b60f; BYTE $0x14 // movzx eax, byte [rsp + 20] + LONG $0x2444b60f; BYTE $0x15 // movzx eax, byte [rsp + 21] WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xc808 // or al, cl + WORD $0xd808 // or al, bl WORD $0x0045; BYTE $0xc0 // add r8b, r8b - LONG $0x24440244; BYTE $0x09 // add r8b, byte [rsp + 9] - LONG $0x244cb60f; BYTE $0x15 // movzx ecx, byte [rsp + 21] - WORD $0xe1c0; BYTE $0x03 // shl cl, 3 - WORD $0xc108 // or cl, al - WORD $0xc889 // mov eax, ecx + LONG $0x24440244; BYTE $0x0a // add r8b, byte [rsp + 10] + LONG $0x245cb60f; BYTE $0x16 // movzx ebx, byte [rsp + 22] + WORD $0xe3c0; BYTE $0x03 // shl bl, 3 + WORD $0xc308 // or bl, al + WORD $0xd889 // mov eax, ebx LONG $0x02e3c041 // shl r11b, 2 WORD $0x0845; BYTE $0xc3 // or r11b, r8b - LONG $0x244cb60f; BYTE $0x16 // movzx ecx, byte [rsp + 22] - WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0xc108 // or cl, al - WORD $0x8941; BYTE $0xc8 // mov r8d, ecx + LONG $0x245cb60f; BYTE $0x17 // movzx ebx, byte [rsp + 23] + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0xc308 // or bl, al + WORD $0x8941; BYTE $0xd8 // mov r8d, ebx LONG $0x03e7c041 // shl r15b, 3 WORD $0x0845; BYTE $0xdf // or r15b, r11b - LONG $0x244cb60f; BYTE $0x17 // movzx ecx, byte [rsp + 23] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0x0844; BYTE $0xc1 // or cl, r8b - LONG $0x2444b60f; BYTE $0x05 // movzx eax, byte [rsp + 5] + LONG $0x245cb60f; BYTE $0x03 // movzx ebx, byte [rsp + 3] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + WORD $0x0844; BYTE $0xc3 // or bl, r8b + LONG $0x2444b60f; BYTE $0x06 // movzx eax, byte [rsp + 6] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0x0844; BYTE $0xf8 // or al, r15b WORD $0x8941; BYTE $0xc0 // mov r8d, eax - LONG $0x2444b60f; BYTE $0x06 // movzx eax, byte [rsp + 6] + LONG $0x2444b60f; BYTE $0x07 // movzx eax, byte [rsp + 7] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0x0844; BYTE $0xc0 // or al, r8b - LONG $0x44b60f44; WORD $0x0724 // movzx r8d, byte [rsp + 7] + LONG $0x44b60f44; WORD $0x0824 // movzx r8d, byte [rsp + 8] LONG $0x06e0c041 // shl r8b, 6 - WORD $0xe3c0; BYTE $0x07 // shl bl, 7 - WORD $0x0844; BYTE $0xc3 // or bl, r8b - WORD $0x0841; BYTE $0xcd // or r13b, cl - WORD $0xc308 // or bl, al + LONG $0x07e7c040 // shl dil, 7 + WORD $0x0844; BYTE $0xc7 // or dil, r8b + WORD $0x0841; BYTE $0xdd // or r13b, bl + WORD $0x0840; BYTE $0xc7 // or dil, al WORD $0x0045; BYTE $0xd2 // add r10b, r10b - LONG $0x24540244; BYTE $0x0a // add r10b, byte [rsp + 10] + LONG $0x24540244; BYTE $0x0b // add r10b, byte [rsp + 11] LONG $0x02e6c041 // shl r14b, 2 WORD $0x0845; BYTE $0xd6 // or r14b, r10b LONG $0x03e4c041 // shl r12b, 3 WORD $0x0845; BYTE $0xf4 // or r12b, r14b - LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + LONG $0x2444b60f; BYTE $0x09 // movzx eax, byte [rsp + 9] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0x0844; BYTE $0xe0 // or al, r12b - WORD $0xc189 // mov ecx, eax - LONG $0x24748b4c; BYTE $0x30 // mov r14, qword [rsp + 48] - LONG $0x2444b60f; BYTE $0x0b // movzx eax, byte [rsp + 11] + WORD $0xc389 // mov ebx, eax + LONG $0x24648b4c; BYTE $0x30 // mov r12, qword [rsp + 48] + LONG $0x2444b60f; BYTE $0x0c // movzx eax, byte [rsp + 12] WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - WORD $0x8845; BYTE $0x2e // mov byte [r14], r13b - LONG $0x244cb60f; BYTE $0x0c // movzx ecx, byte [rsp + 12] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 + WORD $0xd808 // or al, bl + LONG $0x242c8845 // mov byte [r12], r13b + LONG $0x245cb60f; BYTE $0x0d // movzx ebx, byte [rsp + 13] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e1c041 // shl r9b, 7 - WORD $0x0841; BYTE $0xc9 // or r9b, cl - LONG $0x015e8841 // mov byte [r14 + 1], bl + WORD $0x0841; BYTE $0xd9 // or r9b, bl + LONG $0x247c8841; BYTE $0x01 // mov byte [r12 + 1], dil WORD $0x0841; BYTE $0xc1 // or r9b, al - LONG $0x2444b60f; BYTE $0x0d // movzx eax, byte [rsp + 13] - WORD $0xc000 // add al, al - LONG $0x13244402 // add al, byte [rsp + 19] - WORD $0xc189 // mov ecx, eax LONG $0x2444b60f; BYTE $0x0e // movzx eax, byte [rsp + 14] - WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xc000 // add al, al + LONG $0x14244402 // add al, byte [rsp + 20] + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x0f // movzx eax, byte [rsp + 15] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x11 // movzx eax, byte [rsp + 17] WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0xc808 // or al, cl - WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x12 // movzx eax, byte [rsp + 18] + WORD $0xd808 // or al, bl + WORD $0xc389 // mov ebx, eax + LONG $0x2444b60f; BYTE $0x13 // movzx eax, byte [rsp + 19] WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xc808 // or al, cl - LONG $0x244cb60f; BYTE $0x11 // movzx ecx, byte [rsp + 17] - WORD $0xe1c0; BYTE $0x06 // shl cl, 6 - LONG $0x07e7c040 // shl dil, 7 - WORD $0x0840; BYTE $0xcf // or dil, cl - WORD $0x0840; BYTE $0xc7 // or dil, al - LONG $0x024e8845 // mov byte [r14 + 2], r9b - LONG $0x037e8841 // mov byte [r14 + 3], dil + WORD $0xd808 // or al, bl + LONG $0x245cb60f; BYTE $0x12 // movzx ebx, byte [rsp + 18] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 + WORD $0xe1c0; BYTE $0x07 // shl cl, 7 + WORD $0xd908 // or cl, bl + WORD $0xc108 // or cl, al + LONG $0x244c8845; BYTE $0x02 // mov byte [r12 + 2], r9b + LONG $0x244c8841; BYTE $0x03 // mov byte [r12 + 3], cl LONG $0x80c28148; WORD $0x0000; BYTE $0x00 // add rdx, 128 - LONG $0x04c68349 // add r14, 4 - LONG $0x24448348; WORD $0xff38 // add qword [rsp + 56], -1 + LONG $0x04c48349 // add r12, 4 + LONG $0x24448348; WORD $0xff20 // add qword [rsp + 32], -1 JNE LBB3_96 - LONG $0x245c8b4c; BYTE $0x18 // mov r11, qword [rsp + 24] - LONG $0x247c8b4c; BYTE $0x40 // mov r15, qword [rsp + 64] + LONG $0x24748b4c; BYTE $0x18 // mov r14, qword [rsp + 24] + LONG $0x247c8b4c; BYTE $0x38 // mov r15, qword [rsp + 56] LBB3_98: LONG $0x05e7c149 // shl r15, 5 - WORD $0x394d; BYTE $0xdf // cmp r15, r11 + WORD $0x394d; BYTE $0xf7 // cmp r15, r14 JGE LBB3_123 - WORD $0x294d; BYTE $0xfb // sub r11, r15 + WORD $0x294d; BYTE $0xfe // sub r14, r15 WORD $0xc931 // xor ecx, ecx LBB3_100: @@ -17743,16 +18585,16 @@ LBB3_100: WORD $0xdbf6 // neg bl WORD $0x8948; BYTE $0xcf // mov rdi, rcx LONG $0x03efc148 // shr rdi, 3 - LONG $0x0cb60f45; BYTE $0x3e // movzx r9d, byte [r14 + rdi] + LONG $0x0cb60f45; BYTE $0x3c // movzx r9d, byte [r12 + rdi] WORD $0x3044; BYTE $0xcb // xor bl, r9b WORD $0xe180; BYTE $0x07 // and cl, 7 WORD $0x01b0 // mov al, 1 WORD $0xe0d2 // shl al, cl WORD $0xd820 // and al, bl WORD $0x3044; BYTE $0xc8 // xor al, r9b - LONG $0x3e048841 // mov byte [r14 + rdi], al + LONG $0x3c048841 // mov byte [r12 + rdi], al WORD $0x894c; BYTE $0xc1 // mov rcx, r8 - WORD $0x394d; BYTE $0xc3 // cmp r11, r8 + WORD $0x394d; BYTE $0xc6 // cmp r14, r8 JNE LBB3_100 LBB3_123: @@ -17807,7 +18649,7 @@ DATA LCDATA3<>+0x160(SB)/8, $0xffffffffffffffff DATA LCDATA3<>+0x168(SB)/8, $0xffffffffffffffff GLOBL LCDATA3<>(SB), 8, $368 -TEXT ·_comparison_not_equal_arr_scalar_sse4(SB), $328-48 +TEXT ·_comparison_not_equal_arr_scalar_sse4(SB), $344-48 MOVQ typ+0(FP), DI MOVQ left+8(FP), SI @@ -17818,11 +18660,11 @@ TEXT ·_comparison_not_equal_arr_scalar_sse4(SB), $328-48 MOVQ SP, BP ADDQ $16, SP ANDQ $-16, SP - MOVQ BP, 304(SP) + MOVQ BP, 320(SP) LEAQ LCDATA3<>(SB), BP - WORD $0x894d; BYTE $0xc7 // mov r15, r8 - WORD $0x8949; BYTE $0xce // mov r14, rcx + WORD $0x894d; BYTE $0xc6 // mov r14, r8 + WORD $0x8949; BYTE $0xcc // mov r12, rcx WORD $0xff83; BYTE $0x06 // cmp edi, 6 JG LBB4_17 WORD $0xff83; BYTE $0x03 // cmp edi, 3 @@ -17830,13 +18672,13 @@ TEXT ·_comparison_not_equal_arr_scalar_sse4(SB), $328-48 WORD $0xff83; BYTE $0x04 // cmp edi, 4 JE LBB4_83 WORD $0xff83; BYTE $0x05 // cmp edi, 5 - JE LBB4_95 + JE LBB4_99 WORD $0xff83; BYTE $0x06 // cmp edi, 6 - JNE LBB4_179 + JNE LBB4_174 WORD $0x8b44; BYTE $0x2a // mov r13d, dword [rdx] - LONG $0x1f578d4d // lea r10, [r15 + 31] - WORD $0x854d; BYTE $0xff // test r15, r15 - LONG $0xd7490f4d // cmovns r10, r15 + LONG $0x1f568d4d // lea r10, [r14 + 31] + WORD $0x854d; BYTE $0xf6 // test r14, r14 + LONG $0xd6490f4d // cmovns r10, r14 LONG $0x07418d41 // lea eax, [r9 + 7] WORD $0x8545; BYTE $0xc9 // test r9d, r9d LONG $0xc1490f41 // cmovns eax, r9d @@ -17854,7 +18696,8 @@ LBB4_7: WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xd8490f48 // cmovns rbx, rax LONG $0x03fbc148 // sar rbx, 3 - LONG $0x04b60f45; BYTE $0x1e // movzx r8d, byte [r14 + rbx] + WORD $0x894d; BYTE $0xe1 // mov r9, r12 + LONG $0x04b60f45; BYTE $0x1c // movzx r8d, byte [r12 + rbx] WORD $0x3044; BYTE $0xc2 // xor dl, r8b LONG $0x00dd3c8d; WORD $0x0000; BYTE $0x00 // lea edi, [8*rbx] WORD $0xc189 // mov ecx, eax @@ -17863,26 +18706,26 @@ LBB4_7: WORD $0xe7d3 // shl edi, cl WORD $0x2040; BYTE $0xd7 // and dil, dl WORD $0x3044; BYTE $0xc7 // xor dil, r8b - LONG $0x1e3c8841 // mov byte [r14 + rbx], dil + LONG $0x1c3c8841 // mov byte [r12 + rbx], dil LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 JNE LBB4_7 - LONG $0x01c68349 // add r14, 1 + LONG $0x01c48349 // add r12, 1 LBB4_9: LONG $0x05fac149 // sar r10, 5 - LONG $0x20ff8349 // cmp r15, 32 + LONG $0x20fe8349 // cmp r14, 32 JL LBB4_13 - QUAD $0x0000009024bc894c // mov qword [rsp + 144], r15 - QUAD $0x000000d02494894c // mov qword [rsp + 208], r10 - QUAD $0x000000e02494894c // mov qword [rsp + 224], r10 + QUAD $0x0000009024b4894c // mov qword [rsp + 144], r14 + QUAD $0x000000c02494894c // mov qword [rsp + 192], r10 + QUAD $0x000000f02494894c // mov qword [rsp + 240], r10 LBB4_11: - QUAD $0x0000008024b4894c // mov qword [rsp + 128], r14 + QUAD $0x0000008024a4894c // mov qword [rsp + 128], r12 WORD $0x3944; BYTE $0x2e // cmp dword [rsi], r13d QUAD $0x000000982494950f // setne byte [rsp + 152] LONG $0x046e3944 // cmp dword [rsi + 4], r13d - LONG $0xd7950f40 // setne dil + LONG $0xd2950f41 // setne r10b LONG $0x086e3944 // cmp dword [rsi + 8], r13d LONG $0xd6950f41 // setne r14b LONG $0x0c6e3944 // cmp dword [rsi + 12], r13d @@ -17896,13 +18739,13 @@ LBB4_11: LONG $0x1c6e3944 // cmp dword [rsi + 28], r13d WORD $0x950f; BYTE $0xd3 // setne bl LONG $0x206e3944 // cmp dword [rsi + 32], r13d - QUAD $0x000000c02494950f // setne byte [rsp + 192] + QUAD $0x000000e02494950f // setne byte [rsp + 224] LONG $0x246e3944 // cmp dword [rsi + 36], r13d - WORD $0x950f; BYTE $0xd2 // setne dl + LONG $0xd7950f40 // setne dil LONG $0x286e3944 // cmp dword [rsi + 40], r13d - LONG $0xd1950f41 // setne r9b + LONG $0xd0950f41 // setne r8b LONG $0x2c6e3944 // cmp dword [rsi + 44], r13d - LONG $0xd2950f41 // setne r10b + LONG $0xd1950f41 // setne r9b LONG $0x306e3944 // cmp dword [rsi + 48], r13d LONG $0xd3950f41 // setne r11b LONG $0x346e3944 // cmp dword [rsi + 52], r13d @@ -17928,122 +18771,123 @@ LBB4_11: LONG $0x5c6e3944 // cmp dword [rsi + 92], r13d LONG $0xd7950f41 // setne r15b LONG $0x606e3944 // cmp dword [rsi + 96], r13d - LONG $0x2454950f; BYTE $0x20 // setne byte [rsp + 32] + LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] LONG $0x646e3944 // cmp dword [rsi + 100], r13d LONG $0x2454950f; BYTE $0x40 // setne byte [rsp + 64] LONG $0x686e3944 // cmp dword [rsi + 104], r13d - LONG $0x2454950f; BYTE $0x18 // setne byte [rsp + 24] + LONG $0x2454950f; BYTE $0x20 // setne byte [rsp + 32] LONG $0x6c6e3944 // cmp dword [rsi + 108], r13d LONG $0x2454950f; BYTE $0x30 // setne byte [rsp + 48] LONG $0x706e3944 // cmp dword [rsi + 112], r13d LONG $0x2454950f; BYTE $0x10 // setne byte [rsp + 16] LONG $0x746e3944 // cmp dword [rsi + 116], r13d - LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] + LONG $0x2454950f; BYTE $0x18 // setne byte [rsp + 24] LONG $0x786e3944 // cmp dword [rsi + 120], r13d LONG $0x2454950f; BYTE $0x08 // setne byte [rsp + 8] LONG $0x7c6e3944 // cmp dword [rsi + 124], r13d - LONG $0xd0950f41 // setne r8b - WORD $0x0040; BYTE $0xff // add dil, dil - QUAD $0x0000009824bc0240 // add dil, byte [rsp + 152] + WORD $0x950f; BYTE $0xd2 // setne dl + WORD $0x0045; BYTE $0xd2 // add r10b, r10b + QUAD $0x0000009824940244 // add r10b, byte [rsp + 152] WORD $0xe0c0; BYTE $0x06 // shl al, 6 WORD $0xe3c0; BYTE $0x07 // shl bl, 7 WORD $0xc308 // or bl, al LONG $0x02e6c041 // shl r14b, 2 - WORD $0x0841; BYTE $0xfe // or r14b, dil - WORD $0xd200 // add dl, dl - LONG $0xc0249402; WORD $0x0000; BYTE $0x00 // add dl, byte [rsp + 192] + WORD $0x0845; BYTE $0xd6 // or r14b, r10b + WORD $0x0040; BYTE $0xff // add dil, dil + QUAD $0x000000e024bc0240 // add dil, byte [rsp + 224] QUAD $0x000000882484b60f // movzx eax, byte [rsp + 136] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0x0844; BYTE $0xf0 // or al, r14b - LONG $0x02e1c041 // shl r9b, 2 - WORD $0x0841; BYTE $0xd1 // or r9b, dl - LONG $0x2454b60f; BYTE $0x70 // movzx edx, byte [rsp + 112] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0xc208 // or dl, al - WORD $0xd789 // mov edi, edx - LONG $0x03e2c041 // shl r10b, 3 - WORD $0x0845; BYTE $0xca // or r10b, r9b - LONG $0x2454b60f; BYTE $0x48 // movzx edx, byte [rsp + 72] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xfa // or dl, dil + WORD $0x8941; BYTE $0xc2 // mov r10d, eax + LONG $0x02e0c041 // shl r8b, 2 + WORD $0x0841; BYTE $0xf8 // or r8b, dil + LONG $0x2444b60f; BYTE $0x70 // movzx eax, byte [rsp + 112] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0844; BYTE $0xd0 // or al, r10b + WORD $0xc789 // mov edi, eax + LONG $0x03e1c041 // shl r9b, 3 + WORD $0x0845; BYTE $0xc1 // or r9b, r8b + LONG $0x2444b60f; BYTE $0x48 // movzx eax, byte [rsp + 72] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0x0840; BYTE $0xf8 // or al, dil LONG $0x04e3c041 // shl r11b, 4 - WORD $0x0845; BYTE $0xd3 // or r11b, r10b + WORD $0x0845; BYTE $0xcb // or r11b, r9b LONG $0x05e4c041 // shl r12b, 5 WORD $0x0845; BYTE $0xdc // or r12b, r11b QUAD $0x000000a024bcb60f // movzx edi, byte [rsp + 160] LONG $0x06e7c040 // shl dil, 6 WORD $0xe1c0; BYTE $0x07 // shl cl, 7 WORD $0x0840; BYTE $0xf9 // or cl, dil - WORD $0xd308 // or bl, dl + WORD $0xc308 // or bl, al WORD $0x0844; BYTE $0xe1 // or cl, r12b - QUAD $0x0000008024b48b4c // mov r14, qword [rsp + 128] - QUAD $0x000000b02494b60f // movzx edx, byte [rsp + 176] - WORD $0xd200 // add dl, dl - LONG $0x60245402 // add dl, byte [rsp + 96] - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x78 // movzx edx, byte [rsp + 120] - WORD $0xe2c0; BYTE $0x02 // shl dl, 2 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x58 // movzx edx, byte [rsp + 88] - WORD $0xe2c0; BYTE $0x03 // shl dl, 3 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x50 // movzx edx, byte [rsp + 80] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x68 // movzx edx, byte [rsp + 104] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0x8841; BYTE $0x1e // mov byte [r14], bl + QUAD $0x0000008024a48b4c // mov r12, qword [rsp + 128] + QUAD $0x000000b02484b60f // movzx eax, byte [rsp + 176] + WORD $0xc000 // add al, al + LONG $0x60244402 // add al, byte [rsp + 96] + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x78 // movzx eax, byte [rsp + 120] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x58 // movzx eax, byte [rsp + 88] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x50 // movzx eax, byte [rsp + 80] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x68 // movzx eax, byte [rsp + 104] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0x0840; BYTE $0xf8 // or al, dil + LONG $0x241c8841 // mov byte [r12], bl LONG $0x245cb60f; BYTE $0x38 // movzx ebx, byte [rsp + 56] WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e7c041 // shl r15b, 7 WORD $0x0841; BYTE $0xdf // or r15b, bl - LONG $0x014e8841 // mov byte [r14 + 1], cl - WORD $0x0841; BYTE $0xd7 // or r15b, dl - LONG $0x244cb60f; BYTE $0x40 // movzx ecx, byte [rsp + 64] - WORD $0xc900 // add cl, cl - LONG $0x20244c02 // add cl, byte [rsp + 32] - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x18 // movzx ecx, byte [rsp + 24] - WORD $0xe1c0; BYTE $0x02 // shl cl, 2 - WORD $0xd108 // or cl, dl - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x30 // movzx ecx, byte [rsp + 48] - WORD $0xe1c0; BYTE $0x03 // shl cl, 3 - WORD $0xd108 // or cl, dl - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x10 // movzx ecx, byte [rsp + 16] - WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0xd108 // or cl, dl - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x28 // movzx ecx, byte [rsp + 40] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0xd108 // or cl, dl - LONG $0x2454b60f; BYTE $0x08 // movzx edx, byte [rsp + 8] - WORD $0xe2c0; BYTE $0x06 // shl dl, 6 - LONG $0x07e0c041 // shl r8b, 7 - WORD $0x0841; BYTE $0xd0 // or r8b, dl - WORD $0x0841; BYTE $0xc8 // or r8b, cl - LONG $0x027e8845 // mov byte [r14 + 2], r15b - LONG $0x03468845 // mov byte [r14 + 3], r8b + LONG $0x244c8841; BYTE $0x01 // mov byte [r12 + 1], cl + WORD $0x0841; BYTE $0xc7 // or r15b, al + LONG $0x2444b60f; BYTE $0x40 // movzx eax, byte [rsp + 64] + WORD $0xc000 // add al, al + LONG $0x28244402 // add al, byte [rsp + 40] + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x18 // movzx eax, byte [rsp + 24] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0xc808 // or al, cl + LONG $0x244cb60f; BYTE $0x08 // movzx ecx, byte [rsp + 8] + WORD $0xe1c0; BYTE $0x06 // shl cl, 6 + WORD $0xe2c0; BYTE $0x07 // shl dl, 7 + WORD $0xca08 // or dl, cl + WORD $0xc208 // or dl, al + LONG $0x247c8845; BYTE $0x02 // mov byte [r12 + 2], r15b + LONG $0x24548841; BYTE $0x03 // mov byte [r12 + 3], dl LONG $0x80c68148; WORD $0x0000; BYTE $0x00 // add rsi, 128 - LONG $0x04c68349 // add r14, 4 - QUAD $0x000000e024848348; BYTE $0xff // add qword [rsp + 224], -1 + LONG $0x04c48349 // add r12, 4 + QUAD $0x000000f024848348; BYTE $0xff // add qword [rsp + 240], -1 JNE LBB4_11 - QUAD $0x0000009024bc8b4c // mov r15, qword [rsp + 144] - QUAD $0x000000d024948b4c // mov r10, qword [rsp + 208] + QUAD $0x0000009024b48b4c // mov r14, qword [rsp + 144] + QUAD $0x000000c024948b4c // mov r10, qword [rsp + 192] LBB4_13: LONG $0x05e2c149 // shl r10, 5 - WORD $0x394d; BYTE $0xfa // cmp r10, r15 - JGE LBB4_179 - WORD $0x894d; BYTE $0xf8 // mov r8, r15 + WORD $0x394d; BYTE $0xf2 // cmp r10, r14 + JGE LBB4_174 + WORD $0x894d; BYTE $0xf0 // mov r8, r14 WORD $0x294d; BYTE $0xd0 // sub r8, r10 WORD $0xf749; BYTE $0xd2 // not r10 - WORD $0x014d; BYTE $0xfa // add r10, r15 + WORD $0x014d; BYTE $0xf2 // add r10, r14 JE LBB4_82 WORD $0x894d; BYTE $0xc2 // mov r10, r8 LONG $0xfee28349 // and r10, -2 @@ -18055,7 +18899,8 @@ LBB4_16: WORD $0xd8f6 // neg al WORD $0x894c; BYTE $0xdf // mov rdi, r11 LONG $0x03efc148 // shr rdi, 3 - LONG $0x0cb60f45; BYTE $0x3e // movzx r9d, byte [r14 + rdi] + WORD $0x894d; BYTE $0xe6 // mov r14, r12 + LONG $0x0cb60f45; BYTE $0x3c // movzx r9d, byte [r12 + rdi] WORD $0x8944; BYTE $0xd9 // mov ecx, r11d WORD $0xe180; BYTE $0x06 // and cl, 6 WORD $0x01b3 // mov bl, 1 @@ -18063,7 +18908,7 @@ LBB4_16: WORD $0x3044; BYTE $0xc8 // xor al, r9b WORD $0xc320 // and bl, al WORD $0x3044; BYTE $0xcb // xor bl, r9b - LONG $0x3e1c8841 // mov byte [r14 + rdi], bl + LONG $0x3c1c8841 // mov byte [r12 + rdi], bl LONG $0x02c38349 // add r11, 2 LONG $0x046e3944 // cmp dword [rsi + 4], r13d LONG $0x08768d48 // lea rsi, [rsi + 8] @@ -18075,23 +18920,23 @@ LBB4_16: WORD $0xe2d2 // shl dl, cl WORD $0xc220 // and dl, al WORD $0xda30 // xor dl, bl - LONG $0x3e148841 // mov byte [r14 + rdi], dl + LONG $0x3c148841 // mov byte [r12 + rdi], dl WORD $0x394d; BYTE $0xda // cmp r10, r11 JNE LBB4_16 - JMP LBB4_153 + JMP LBB4_151 LBB4_17: WORD $0xff83; BYTE $0x08 // cmp edi, 8 JLE LBB4_46 WORD $0xff83; BYTE $0x09 // cmp edi, 9 - JE LBB4_107 + JE LBB4_114 WORD $0xff83; BYTE $0x0b // cmp edi, 11 - JE LBB4_118 + JE LBB4_125 WORD $0xff83; BYTE $0x0c // cmp edi, 12 - JNE LBB4_179 - LONG $0x1f578d4d // lea r10, [r15 + 31] - WORD $0x854d; BYTE $0xff // test r15, r15 - LONG $0xd7490f4d // cmovns r10, r15 + JNE LBB4_174 + LONG $0x1f568d4d // lea r10, [r14 + 31] + WORD $0x854d; BYTE $0xf6 // test r14, r14 + LONG $0xd6490f4d // cmovns r10, r14 LONG $0x07418d41 // lea eax, [r9 + 7] WORD $0x8545; BYTE $0xc9 // test r9d, r9d LONG $0xc1490f41 // cmovns eax, r9d @@ -18104,13 +18949,16 @@ LBB4_17: LBB4_23: LONG $0x062e0f66 // ucomisd xmm0, qword [rsi] LONG $0x08768d48 // lea rsi, [rsi + 8] + WORD $0x9a0f; BYTE $0xd1 // setp cl WORD $0x950f; BYTE $0xd2 // setne dl + WORD $0xca08 // or dl, cl WORD $0xdaf6 // neg dl LONG $0x07788d48 // lea rdi, [rax + 7] WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xf8490f48 // cmovns rdi, rax LONG $0x03ffc148 // sar rdi, 3 - LONG $0x0cb60f45; BYTE $0x3e // movzx r9d, byte [r14 + rdi] + WORD $0x894d; BYTE $0xe3 // mov r11, r12 + LONG $0x0cb60f45; BYTE $0x3c // movzx r9d, byte [r12 + rdi] WORD $0x3044; BYTE $0xca // xor dl, r9b QUAD $0x00000000fd048d44 // lea r8d, [8*rdi] WORD $0xc189 // mov ecx, eax @@ -18119,198 +18967,287 @@ LBB4_23: WORD $0xe3d3 // shl ebx, cl WORD $0xd320 // and bl, dl WORD $0x3044; BYTE $0xcb // xor bl, r9b - LONG $0x3e1c8841 // mov byte [r14 + rdi], bl + LONG $0x3c1c8841 // mov byte [r12 + rdi], bl LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 JNE LBB4_23 - LONG $0x01c68349 // add r14, 1 + LONG $0x01c48349 // add r12, 1 LBB4_25: LONG $0x05fac149 // sar r10, 5 - LONG $0x20ff8349 // cmp r15, 32 + LONG $0x20fe8349 // cmp r14, 32 JL LBB4_29 - QUAD $0x0000009024bc894c // mov qword [rsp + 144], r15 - QUAD $0x000000e02494894c // mov qword [rsp + 224], r10 - QUAD $0x000000982494894c // mov qword [rsp + 152], r10 + QUAD $0x0000009024b4894c // mov qword [rsp + 144], r14 + QUAD $0x000000d82494894c // mov qword [rsp + 216], r10 + QUAD $0x000001102494894c // mov qword [rsp + 272], r10 LBB4_27: - QUAD $0x0000008024b4894c // mov qword [rsp + 128], r14 + QUAD $0x0000008024a4894c // mov qword [rsp + 128], r12 LONG $0x062e0f66 // ucomisd xmm0, qword [rsi] - QUAD $0x000000882494950f // setne byte [rsp + 136] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x20244c88 // mov byte [rsp + 32], cl LONG $0x462e0f66; BYTE $0x08 // ucomisd xmm0, qword [rsi + 8] - LONG $0xd1950f41 // setne r9b + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd5950f41 // setne r13b + WORD $0x0841; BYTE $0xc5 // or r13b, al LONG $0x462e0f66; BYTE $0x10 // ucomisd xmm0, qword [rsi + 16] - LONG $0xd6950f41 // setne r14b + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x30244c88 // mov byte [rsp + 48], cl LONG $0x462e0f66; BYTE $0x18 // ucomisd xmm0, qword [rsi + 24] - LONG $0xd5950f41 // setne r13b + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x10244c88 // mov byte [rsp + 16], cl LONG $0x462e0f66; BYTE $0x20 // ucomisd xmm0, qword [rsi + 32] - LONG $0x2454950f; BYTE $0x70 // setne byte [rsp + 112] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x28244c88 // mov byte [rsp + 40], cl LONG $0x462e0f66; BYTE $0x28 // ucomisd xmm0, qword [rsi + 40] - LONG $0x2454950f; BYTE $0x48 // setne byte [rsp + 72] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd4950f41 // setne r12b + WORD $0x0841; BYTE $0xc4 // or r12b, al LONG $0x462e0f66; BYTE $0x30 // ucomisd xmm0, qword [rsi + 48] - WORD $0x950f; BYTE $0xd0 // setne al + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x38244c88 // mov byte [rsp + 56], cl LONG $0x462e0f66; BYTE $0x38 // ucomisd xmm0, qword [rsi + 56] - WORD $0x950f; BYTE $0xd3 // setne bl + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x08244c88 // mov byte [rsp + 8], cl LONG $0x462e0f66; BYTE $0x40 // ucomisd xmm0, qword [rsi + 64] - QUAD $0x000000a02494950f // setne byte [rsp + 160] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x40244c88 // mov byte [rsp + 64], cl LONG $0x462e0f66; BYTE $0x48 // ucomisd xmm0, qword [rsi + 72] - WORD $0x950f; BYTE $0xd2 // setne dl + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x68244c88 // mov byte [rsp + 104], cl LONG $0x462e0f66; BYTE $0x50 // ucomisd xmm0, qword [rsi + 80] - LONG $0xd7950f40 // setne dil + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x48244c88 // mov byte [rsp + 72], cl LONG $0x462e0f66; BYTE $0x58 // ucomisd xmm0, qword [rsi + 88] - LONG $0xd2950f41 // setne r10b + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd3 // setne bl + WORD $0xc308 // or bl, al LONG $0x462e0f66; BYTE $0x60 // ucomisd xmm0, qword [rsi + 96] - LONG $0xd3950f41 // setne r11b + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x18244c88 // mov byte [rsp + 24], cl LONG $0x462e0f66; BYTE $0x68 // ucomisd xmm0, qword [rsi + 104] - LONG $0xd4950f41 // setne r12b + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x60244c88 // mov byte [rsp + 96], cl LONG $0x462e0f66; BYTE $0x70 // ucomisd xmm0, qword [rsi + 112] - QUAD $0x000000b02494950f // setne byte [rsp + 176] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x58244c88 // mov byte [rsp + 88], cl LONG $0x462e0f66; BYTE $0x78 // ucomisd xmm0, qword [rsi + 120] + WORD $0x9a0f; BYTE $0xd0 // setp al WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x70244c88 // mov byte [rsp + 112], cl QUAD $0x00000080862e0f66 // ucomisd xmm0, qword [rsi + 128] - LONG $0x2454950f; BYTE $0x60 // setne byte [rsp + 96] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x50244c88 // mov byte [rsp + 80], cl QUAD $0x00000088862e0f66 // ucomisd xmm0, qword [rsi + 136] - QUAD $0x000000c02494950f // setne byte [rsp + 192] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x78244c88 // mov byte [rsp + 120], cl QUAD $0x00000090862e0f66 // ucomisd xmm0, qword [rsi + 144] - LONG $0x2454950f; BYTE $0x78 // setne byte [rsp + 120] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0xb0248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 176], cl QUAD $0x00000098862e0f66 // ucomisd xmm0, qword [rsi + 152] - LONG $0x2454950f; BYTE $0x58 // setne byte [rsp + 88] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0xa0248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 160], cl QUAD $0x000000a0862e0f66 // ucomisd xmm0, qword [rsi + 160] - LONG $0x2454950f; BYTE $0x50 // setne byte [rsp + 80] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0xe0248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 224], cl QUAD $0x000000a8862e0f66 // ucomisd xmm0, qword [rsi + 168] - LONG $0x2454950f; BYTE $0x68 // setne byte [rsp + 104] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x98248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 152], cl QUAD $0x000000b0862e0f66 // ucomisd xmm0, qword [rsi + 176] - LONG $0x2454950f; BYTE $0x38 // setne byte [rsp + 56] - QUAD $0x000000b8862e0f66 // ucomisd xmm0, qword [rsi + 184] + WORD $0x9a0f; BYTE $0xd0 // setp al LONG $0xd7950f41 // setne r15b + WORD $0x0841; BYTE $0xc7 // or r15b, al + QUAD $0x000000b8862e0f66 // ucomisd xmm0, qword [rsi + 184] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd0950f41 // setne r8b + WORD $0x0841; BYTE $0xc0 // or r8b, al QUAD $0x000000c0862e0f66 // ucomisd xmm0, qword [rsi + 192] - LONG $0x2454950f; BYTE $0x20 // setne byte [rsp + 32] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x88248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 136], cl QUAD $0x000000c8862e0f66 // ucomisd xmm0, qword [rsi + 200] - LONG $0x2454950f; BYTE $0x40 // setne byte [rsp + 64] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd3950f41 // setne r11b + WORD $0x0841; BYTE $0xc3 // or r11b, al QUAD $0x000000d0862e0f66 // ucomisd xmm0, qword [rsi + 208] - LONG $0x2454950f; BYTE $0x18 // setne byte [rsp + 24] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd2950f41 // setne r10b + WORD $0x0841; BYTE $0xc2 // or r10b, al QUAD $0x000000d8862e0f66 // ucomisd xmm0, qword [rsi + 216] - LONG $0x2454950f; BYTE $0x30 // setne byte [rsp + 48] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd1950f41 // setne r9b + WORD $0x0841; BYTE $0xc1 // or r9b, al QUAD $0x000000e0862e0f66 // ucomisd xmm0, qword [rsi + 224] - LONG $0x2454950f; BYTE $0x10 // setne byte [rsp + 16] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0xc0248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 192], cl QUAD $0x000000e8862e0f66 // ucomisd xmm0, qword [rsi + 232] - LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0xf0248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 240], cl QUAD $0x000000f0862e0f66 // ucomisd xmm0, qword [rsi + 240] - LONG $0x2454950f; BYTE $0x08 // setne byte [rsp + 8] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd7950f40 // setne dil + WORD $0x0840; BYTE $0xc7 // or dil, al QUAD $0x000000f8862e0f66 // ucomisd xmm0, qword [rsi + 248] - LONG $0xd0950f41 // setne r8b - WORD $0x0045; BYTE $0xc9 // add r9b, r9b - QUAD $0x00000088248c0244 // add r9b, byte [rsp + 136] - WORD $0xe0c0; BYTE $0x06 // shl al, 6 - WORD $0xe3c0; BYTE $0x07 // shl bl, 7 - WORD $0xc308 // or bl, al - LONG $0x02e6c041 // shl r14b, 2 - WORD $0x0845; BYTE $0xce // or r14b, r9b - WORD $0xd200 // add dl, dl - LONG $0xa0249402; WORD $0x0000; BYTE $0x00 // add dl, byte [rsp + 160] - LONG $0x03e5c041 // shl r13b, 3 - WORD $0x0845; BYTE $0xf5 // or r13b, r14b - LONG $0x02e7c040 // shl dil, 2 - WORD $0x0840; BYTE $0xd7 // or dil, dl - LONG $0x2454b60f; BYTE $0x70 // movzx edx, byte [rsp + 112] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0x0844; BYTE $0xea // or dl, r13b - WORD $0x8941; BYTE $0xd1 // mov r9d, edx - QUAD $0x0000008024b48b4c // mov r14, qword [rsp + 128] - LONG $0x03e2c041 // shl r10b, 3 - WORD $0x0841; BYTE $0xfa // or r10b, dil - LONG $0x2454b60f; BYTE $0x48 // movzx edx, byte [rsp + 72] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0844; BYTE $0xca // or dl, r9b - LONG $0x04e3c041 // shl r11b, 4 - WORD $0x0845; BYTE $0xd3 // or r11b, r10b - LONG $0x05e4c041 // shl r12b, 5 - WORD $0x0845; BYTE $0xdc // or r12b, r11b - QUAD $0x000000b024bcb60f // movzx edi, byte [rsp + 176] - LONG $0x06e7c040 // shl dil, 6 - WORD $0xe1c0; BYTE $0x07 // shl cl, 7 - WORD $0x0840; BYTE $0xf9 // or cl, dil - WORD $0xd308 // or bl, dl - WORD $0x0844; BYTE $0xe1 // or cl, r12b - QUAD $0x000000c02484b60f // movzx eax, byte [rsp + 192] - WORD $0xc000 // add al, al - LONG $0x60244402 // add al, byte [rsp + 96] - LONG $0x2454b60f; BYTE $0x78 // movzx edx, byte [rsp + 120] - WORD $0xe2c0; BYTE $0x02 // shl dl, 2 + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd2 // setne dl WORD $0xc208 // or dl, al - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x58 // movzx edx, byte [rsp + 88] - WORD $0xe2c0; BYTE $0x03 // shl dl, 3 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x50 // movzx edx, byte [rsp + 80] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x68 // movzx edx, byte [rsp + 104] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0x8841; BYTE $0x1e // mov byte [r14], bl - LONG $0x245cb60f; BYTE $0x38 // movzx ebx, byte [rsp + 56] - WORD $0xe3c0; BYTE $0x06 // shl bl, 6 - LONG $0x07e7c041 // shl r15b, 7 - WORD $0x0841; BYTE $0xdf // or r15b, bl - LONG $0x014e8841 // mov byte [r14 + 1], cl - WORD $0x0841; BYTE $0xd7 // or r15b, dl - LONG $0x244cb60f; BYTE $0x40 // movzx ecx, byte [rsp + 64] + WORD $0x0045; BYTE $0xed // add r13b, r13b + LONG $0x246c0244; BYTE $0x20 // add r13b, byte [rsp + 32] + WORD $0x8944; BYTE $0xe8 // mov eax, r13d + LONG $0x05e4c041 // shl r12b, 5 + LONG $0x6cb60f44; WORD $0x3824 // movzx r13d, byte [rsp + 56] + LONG $0x06e5c041 // shl r13b, 6 + WORD $0x0845; BYTE $0xe5 // or r13b, r12b + LONG $0x64b60f44; WORD $0x3024 // movzx r12d, byte [rsp + 48] + LONG $0x02e4c041 // shl r12b, 2 + WORD $0x0841; BYTE $0xc4 // or r12b, al + LONG $0x244cb60f; BYTE $0x68 // movzx ecx, byte [rsp + 104] WORD $0xc900 // add cl, cl - LONG $0x20244c02 // add cl, byte [rsp + 32] - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x18 // movzx ecx, byte [rsp + 24] - WORD $0xe1c0; BYTE $0x02 // shl cl, 2 - WORD $0xd108 // or cl, dl - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x30 // movzx ecx, byte [rsp + 48] + LONG $0x40244c02 // add cl, byte [rsp + 64] + LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + WORD $0xe0c0; BYTE $0x07 // shl al, 7 + WORD $0x0844; BYTE $0xe8 // or al, r13b + LONG $0x08244488 // mov byte [rsp + 8], al + LONG $0x2444b60f; BYTE $0x48 // movzx eax, byte [rsp + 72] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0x0844; BYTE $0xe0 // or al, r12b + WORD $0xe3c0; BYTE $0x03 // shl bl, 3 + WORD $0xcb08 // or bl, cl + LONG $0x6cb60f44; WORD $0x2824 // movzx r13d, byte [rsp + 40] + LONG $0x04e5c041 // shl r13b, 4 + WORD $0x0841; BYTE $0xc5 // or r13b, al + LONG $0x2444b60f; BYTE $0x18 // movzx eax, byte [rsp + 24] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0xd808 // or al, bl + LONG $0x18244488 // mov byte [rsp + 24], al + LONG $0x244cb60f; BYTE $0x60 // movzx ecx, byte [rsp + 96] + WORD $0xe1c0; BYTE $0x05 // shl cl, 5 + LONG $0x2444b60f; BYTE $0x58 // movzx eax, byte [rsp + 88] + WORD $0xe0c0; BYTE $0x06 // shl al, 6 + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax + LONG $0x74b60f44; WORD $0x7024 // movzx r14d, byte [rsp + 112] + LONG $0x07e6c041 // shl r14b, 7 + WORD $0x0841; BYTE $0xc6 // or r14b, al + LONG $0x244cb60f; BYTE $0x78 // movzx ecx, byte [rsp + 120] + WORD $0xc900 // add cl, cl + LONG $0x50244c02 // add cl, byte [rsp + 80] + QUAD $0x000000b0249cb60f // movzx ebx, byte [rsp + 176] + WORD $0xe3c0; BYTE $0x02 // shl bl, 2 + WORD $0xcb08 // or bl, cl + QUAD $0x0000008024a48b4c // mov r12, qword [rsp + 128] + QUAD $0x000000a0248cb60f // movzx ecx, byte [rsp + 160] WORD $0xe1c0; BYTE $0x03 // shl cl, 3 - WORD $0xd108 // or cl, dl - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x10 // movzx ecx, byte [rsp + 16] + WORD $0xd908 // or cl, bl + WORD $0xcb89 // mov ebx, ecx + QUAD $0x000000e0248cb60f // movzx ecx, byte [rsp + 224] WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0xd108 // or cl, dl - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x28 // movzx ecx, byte [rsp + 40] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0xd108 // or cl, dl - LONG $0x2454b60f; BYTE $0x08 // movzx edx, byte [rsp + 8] - WORD $0xe2c0; BYTE $0x06 // shl dl, 6 + WORD $0xd908 // or cl, bl + LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + WORD $0x0844; BYTE $0xe8 // or al, r13b + QUAD $0x00000098249cb60f // movzx ebx, byte [rsp + 152] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + LONG $0x06e7c041 // shl r15b, 6 + WORD $0x0841; BYTE $0xdf // or r15b, bl + LONG $0x24740a44; BYTE $0x18 // or r14b, byte [rsp + 24] LONG $0x07e0c041 // shl r8b, 7 - WORD $0x0841; BYTE $0xd0 // or r8b, dl + WORD $0x0845; BYTE $0xf8 // or r8b, r15b WORD $0x0841; BYTE $0xc8 // or r8b, cl - LONG $0x027e8845 // mov byte [r14 + 2], r15b - LONG $0x03468845 // mov byte [r14 + 3], r8b + WORD $0x0045; BYTE $0xdb // add r11b, r11b + QUAD $0x00000088249c0244 // add r11b, byte [rsp + 136] + LONG $0x02e2c041 // shl r10b, 2 + WORD $0x0845; BYTE $0xda // or r10b, r11b + LONG $0x03e1c041 // shl r9b, 3 + WORD $0x0845; BYTE $0xd1 // or r9b, r10b + QUAD $0x000000c0248cb60f // movzx ecx, byte [rsp + 192] + WORD $0xe1c0; BYTE $0x04 // shl cl, 4 + WORD $0x0844; BYTE $0xc9 // or cl, r9b + WORD $0xcb89 // mov ebx, ecx + LONG $0x24048841 // mov byte [r12], al + QUAD $0x000000f0248cb60f // movzx ecx, byte [rsp + 240] + WORD $0xe1c0; BYTE $0x05 // shl cl, 5 + LONG $0x06e7c040 // shl dil, 6 + WORD $0x0840; BYTE $0xcf // or dil, cl + LONG $0x24748845; BYTE $0x01 // mov byte [r12 + 1], r14b + WORD $0xe2c0; BYTE $0x07 // shl dl, 7 + WORD $0x0840; BYTE $0xfa // or dl, dil + WORD $0xda08 // or dl, bl + LONG $0x24448845; BYTE $0x02 // mov byte [r12 + 2], r8b + LONG $0x24548841; BYTE $0x03 // mov byte [r12 + 3], dl LONG $0x00c68148; WORD $0x0001; BYTE $0x00 // add rsi, 256 - LONG $0x04c68349 // add r14, 4 - QUAD $0x0000009824848348; BYTE $0xff // add qword [rsp + 152], -1 + LONG $0x04c48349 // add r12, 4 + QUAD $0x0000011024848348; BYTE $0xff // add qword [rsp + 272], -1 JNE LBB4_27 - QUAD $0x0000009024bc8b4c // mov r15, qword [rsp + 144] - QUAD $0x000000e024948b4c // mov r10, qword [rsp + 224] + QUAD $0x0000009024b48b4c // mov r14, qword [rsp + 144] + QUAD $0x000000d824948b4c // mov r10, qword [rsp + 216] LBB4_29: LONG $0x05e2c149 // shl r10, 5 - WORD $0x394d; BYTE $0xfa // cmp r10, r15 - JGE LBB4_179 - WORD $0x894d; BYTE $0xf8 // mov r8, r15 + WORD $0x394d; BYTE $0xf2 // cmp r10, r14 + JGE LBB4_174 + WORD $0x894d; BYTE $0xf0 // mov r8, r14 WORD $0x294d; BYTE $0xd0 // sub r8, r10 WORD $0xf749; BYTE $0xd2 // not r10 - WORD $0x014d; BYTE $0xfa // add r10, r15 - JNE LBB4_162 + WORD $0x014d; BYTE $0xf2 // add r10, r14 + JNE LBB4_160 WORD $0x3145; BYTE $0xdb // xor r11d, r11d - JMP LBB4_164 + JMP LBB4_162 LBB4_32: WORD $0xff83; BYTE $0x02 // cmp edi, 2 JE LBB4_60 WORD $0xff83; BYTE $0x03 // cmp edi, 3 - JNE LBB4_179 + JNE LBB4_174 WORD $0x8a44; BYTE $0x1a // mov r11b, byte [rdx] - LONG $0x1f578d4d // lea r10, [r15 + 31] - WORD $0x854d; BYTE $0xff // test r15, r15 - LONG $0xd7490f4d // cmovns r10, r15 + LONG $0x1f568d4d // lea r10, [r14 + 31] + WORD $0x854d; BYTE $0xf6 // test r14, r14 + LONG $0xd6490f4d // cmovns r10, r14 LONG $0x07418d41 // lea eax, [r9 + 7] WORD $0x8545; BYTE $0xc9 // test r9d, r9d LONG $0xc1490f41 // cmovns eax, r9d @@ -18328,7 +19265,8 @@ LBB4_36: WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xf8490f48 // cmovns rdi, rax LONG $0x03ffc148 // sar rdi, 3 - LONG $0x0cb60f45; BYTE $0x3e // movzx r9d, byte [r14 + rdi] + WORD $0x894d; BYTE $0xe7 // mov r15, r12 + LONG $0x0cb60f45; BYTE $0x3c // movzx r9d, byte [r12 + rdi] WORD $0x3044; BYTE $0xca // xor dl, r9b QUAD $0x00000000fd048d44 // lea r8d, [8*rdi] WORD $0xc189 // mov ecx, eax @@ -18337,43 +19275,43 @@ LBB4_36: WORD $0xe3d3 // shl ebx, cl WORD $0xd320 // and bl, dl WORD $0x3044; BYTE $0xcb // xor bl, r9b - LONG $0x3e1c8841 // mov byte [r14 + rdi], bl + LONG $0x3c1c8841 // mov byte [r12 + rdi], bl LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 JNE LBB4_36 - LONG $0x01c68349 // add r14, 1 + LONG $0x01c48349 // add r12, 1 LBB4_38: LONG $0x05fac149 // sar r10, 5 - LONG $0x20ff8349 // cmp r15, 32 - JL LBB4_130 + LONG $0x20fe8349 // cmp r14, 32 + JL LBB4_137 LONG $0x10fa8349 // cmp r10, 16 LONG $0x245c8844; BYTE $0x08 // mov byte [rsp + 8], r11b - QUAD $0x0000009024bc894c // mov qword [rsp + 144], r15 - QUAD $0x000000f82494894c // mov qword [rsp + 248], r10 + QUAD $0x0000009024b4894c // mov qword [rsp + 144], r14 + QUAD $0x000001082494894c // mov qword [rsp + 264], r10 JB LBB4_42 WORD $0x894c; BYTE $0xd0 // mov rax, r10 LONG $0x05e0c148 // shl rax, 5 WORD $0x0148; BYTE $0xf0 // add rax, rsi - WORD $0x3949; BYTE $0xc6 // cmp r14, rax - JAE LBB4_180 - LONG $0x96048d4b // lea rax, [r14 + 4*r10] + WORD $0x3949; BYTE $0xc4 // cmp r12, rax + JAE LBB4_179 + LONG $0x94048d4b // lea rax, [r12 + 4*r10] WORD $0x3948; BYTE $0xc6 // cmp rsi, rax - JAE LBB4_180 + JAE LBB4_179 LBB4_42: WORD $0xc031 // xor eax, eax - QUAD $0x000000f024848948 // mov qword [rsp + 240], rax - LONG $0x2474894c; BYTE $0x68 // mov qword [rsp + 104], r14 + QUAD $0x000000d824848948 // mov qword [rsp + 216], rax + LONG $0x2464894c; BYTE $0x68 // mov qword [rsp + 104], r12 LBB4_43: - QUAD $0x000000f024942b4c // sub r10, qword [rsp + 240] - QUAD $0x000000d02494894c // mov qword [rsp + 208], r10 + QUAD $0x000000d824942b4c // sub r10, qword [rsp + 216] + QUAD $0x000000c02494894c // mov qword [rsp + 192], r10 LBB4_44: WORD $0x8948; BYTE $0xf1 // mov rcx, rsi WORD $0x3844; BYTE $0x1e // cmp byte [rsi], r11b - QUAD $0x000000e02494950f // setne byte [rsp + 224] + QUAD $0x000000f02494950f // setne byte [rsp + 240] LONG $0x015e3844 // cmp byte [rsi + 1], r11b LONG $0xd6950f40 // setne sil LONG $0x02593844 // cmp byte [rcx + 2], r11b @@ -18395,7 +19333,7 @@ LBB4_44: LONG $0xd1950f41 // setne r9b LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] WORD $0x4138; BYTE $0x08 // cmp byte [rcx + 8], al - QUAD $0x000000c02494950f // setne byte [rsp + 192] + QUAD $0x000000e02494950f // setne byte [rsp + 224] LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] WORD $0x4138; BYTE $0x09 // cmp byte [rcx + 9], al WORD $0x950f; BYTE $0xd2 // setne dl @@ -18446,19 +19384,19 @@ LBB4_44: LONG $0x2454950f; BYTE $0x40 // setne byte [rsp + 64] LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] WORD $0x5938; BYTE $0x19 // cmp byte [rcx + 25], bl - LONG $0x2454950f; BYTE $0x18 // setne byte [rsp + 24] + LONG $0x2454950f; BYTE $0x20 // setne byte [rsp + 32] LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] WORD $0x5938; BYTE $0x1a // cmp byte [rcx + 26], bl LONG $0x2454950f; BYTE $0x30 // setne byte [rsp + 48] LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] WORD $0x5938; BYTE $0x1b // cmp byte [rcx + 27], bl - LONG $0x2454950f; BYTE $0x20 // setne byte [rsp + 32] + LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] WORD $0x5938; BYTE $0x1c // cmp byte [rcx + 28], bl LONG $0x2454950f; BYTE $0x10 // setne byte [rsp + 16] LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] WORD $0x5938; BYTE $0x1d // cmp byte [rcx + 29], bl - LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] + LONG $0x2454950f; BYTE $0x18 // setne byte [rsp + 24] LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] WORD $0x5938; BYTE $0x1e // cmp byte [rcx + 30], bl QUAD $0x000000802494950f // setne byte [rsp + 128] @@ -18466,7 +19404,7 @@ LBB4_44: WORD $0x5938; BYTE $0x1f // cmp byte [rcx + 31], bl WORD $0x950f; BYTE $0xd3 // setne bl WORD $0x0040; BYTE $0xf6 // add sil, sil - QUAD $0x000000e024b40240 // add sil, byte [rsp + 224] + QUAD $0x000000f024b40240 // add sil, byte [rsp + 240] QUAD $0x000000982484b60f // movzx eax, byte [rsp + 152] WORD $0xe0c0; BYTE $0x06 // shl al, 6 LONG $0x07e1c041 // shl r9b, 7 @@ -18474,7 +19412,7 @@ LBB4_44: LONG $0x02e7c041 // shl r15b, 2 WORD $0x0841; BYTE $0xf7 // or r15b, sil WORD $0xd200 // add dl, dl - LONG $0xc0249402; WORD $0x0000; BYTE $0x00 // add dl, byte [rsp + 192] + LONG $0xe0249402; WORD $0x0000; BYTE $0x00 // add dl, byte [rsp + 224] LONG $0x03e4c041 // shl r12b, 3 WORD $0x0845; BYTE $0xfc // or r12b, r15b LONG $0x7cb60f44; WORD $0x0824 // movzx r15d, byte [rsp + 8] @@ -18526,7 +19464,7 @@ LBB4_44: WORD $0x0841; BYTE $0xfb // or r11b, dil LONG $0x01428844 // mov byte [rdx + 1], r8b WORD $0x0841; BYTE $0xf3 // or r11b, sil - LONG $0x2444b60f; BYTE $0x18 // movzx eax, byte [rsp + 24] + LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] WORD $0xc000 // add al, al LONG $0x40244402 // add al, byte [rsp + 64] WORD $0xc689 // mov esi, eax @@ -18534,7 +19472,7 @@ LBB4_44: WORD $0xe0c0; BYTE $0x02 // shl al, 2 WORD $0x0840; BYTE $0xf0 // or al, sil WORD $0xc689 // mov esi, eax - LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] + LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0x0840; BYTE $0xf0 // or al, sil WORD $0xc689 // mov esi, eax @@ -18542,7 +19480,7 @@ LBB4_44: WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0x0840; BYTE $0xf0 // or al, sil WORD $0xc689 // mov esi, eax - LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] + LONG $0x2444b60f; BYTE $0x18 // movzx eax, byte [rsp + 24] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0x0840; BYTE $0xf0 // or al, sil QUAD $0x0000008024b4b60f // movzx esi, byte [rsp + 128] @@ -18556,21 +19494,21 @@ LBB4_44: LONG $0x20718d48 // lea rsi, [rcx + 32] LONG $0x04c28348 // add rdx, 4 LONG $0x24548948; BYTE $0x68 // mov qword [rsp + 104], rdx - QUAD $0x000000d024848348; BYTE $0xff // add qword [rsp + 208], -1 + QUAD $0x000000c024848348; BYTE $0xff // add qword [rsp + 192], -1 JNE LBB4_44 - QUAD $0x0000009024bc8b4c // mov r15, qword [rsp + 144] - QUAD $0x000000f824948b4c // mov r10, qword [rsp + 248] - JMP LBB4_131 + QUAD $0x0000009024b48b4c // mov r14, qword [rsp + 144] + QUAD $0x0000010824948b4c // mov r10, qword [rsp + 264] + JMP LBB4_138 LBB4_46: WORD $0xff83; BYTE $0x07 // cmp edi, 7 JE LBB4_72 WORD $0xff83; BYTE $0x08 // cmp edi, 8 - JNE LBB4_179 + JNE LBB4_174 WORD $0x8b4c; BYTE $0x2a // mov r13, qword [rdx] - LONG $0x1f578d4d // lea r10, [r15 + 31] - WORD $0x854d; BYTE $0xff // test r15, r15 - LONG $0xd7490f4d // cmovns r10, r15 + LONG $0x1f568d4d // lea r10, [r14 + 31] + WORD $0x854d; BYTE $0xf6 // test r14, r14 + LONG $0xd6490f4d // cmovns r10, r14 LONG $0x07418d41 // lea eax, [r9 + 7] WORD $0x8545; BYTE $0xc9 // test r9d, r9d LONG $0xc1490f41 // cmovns eax, r9d @@ -18588,7 +19526,8 @@ LBB4_50: WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xd8490f48 // cmovns rbx, rax LONG $0x03fbc148 // sar rbx, 3 - LONG $0x04b60f45; BYTE $0x1e // movzx r8d, byte [r14 + rbx] + WORD $0x894d; BYTE $0xe1 // mov r9, r12 + LONG $0x04b60f45; BYTE $0x1c // movzx r8d, byte [r12 + rbx] WORD $0x3044; BYTE $0xc2 // xor dl, r8b LONG $0x00dd3c8d; WORD $0x0000; BYTE $0x00 // lea edi, [8*rbx] WORD $0xc189 // mov ecx, eax @@ -18597,26 +19536,26 @@ LBB4_50: WORD $0xe7d3 // shl edi, cl WORD $0x2040; BYTE $0xd7 // and dil, dl WORD $0x3044; BYTE $0xc7 // xor dil, r8b - LONG $0x1e3c8841 // mov byte [r14 + rbx], dil + LONG $0x1c3c8841 // mov byte [r12 + rbx], dil LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 JNE LBB4_50 - LONG $0x01c68349 // add r14, 1 + LONG $0x01c48349 // add r12, 1 LBB4_52: LONG $0x05fac149 // sar r10, 5 - LONG $0x20ff8349 // cmp r15, 32 + LONG $0x20fe8349 // cmp r14, 32 JL LBB4_56 - QUAD $0x0000009024bc894c // mov qword [rsp + 144], r15 - QUAD $0x000000d02494894c // mov qword [rsp + 208], r10 - QUAD $0x000000e02494894c // mov qword [rsp + 224], r10 + QUAD $0x0000009024b4894c // mov qword [rsp + 144], r14 + QUAD $0x000000c02494894c // mov qword [rsp + 192], r10 + QUAD $0x000000f02494894c // mov qword [rsp + 240], r10 LBB4_54: - QUAD $0x0000008024b4894c // mov qword [rsp + 128], r14 + QUAD $0x0000008024a4894c // mov qword [rsp + 128], r12 WORD $0x394c; BYTE $0x2e // cmp qword [rsi], r13 QUAD $0x000000982494950f // setne byte [rsp + 152] LONG $0x086e394c // cmp qword [rsi + 8], r13 - LONG $0xd7950f40 // setne dil + LONG $0xd2950f41 // setne r10b LONG $0x106e394c // cmp qword [rsi + 16], r13 LONG $0xd6950f41 // setne r14b LONG $0x186e394c // cmp qword [rsi + 24], r13 @@ -18630,13 +19569,13 @@ LBB4_54: LONG $0x386e394c // cmp qword [rsi + 56], r13 WORD $0x950f; BYTE $0xd3 // setne bl LONG $0x406e394c // cmp qword [rsi + 64], r13 - QUAD $0x000000c02494950f // setne byte [rsp + 192] + QUAD $0x000000e02494950f // setne byte [rsp + 224] LONG $0x486e394c // cmp qword [rsi + 72], r13 - WORD $0x950f; BYTE $0xd2 // setne dl + LONG $0xd7950f40 // setne dil LONG $0x506e394c // cmp qword [rsi + 80], r13 - LONG $0xd1950f41 // setne r9b + LONG $0xd0950f41 // setne r8b LONG $0x586e394c // cmp qword [rsi + 88], r13 - LONG $0xd2950f41 // setne r10b + LONG $0xd1950f41 // setne r9b LONG $0x606e394c // cmp qword [rsi + 96], r13 LONG $0xd3950f41 // setne r11b LONG $0x686e394c // cmp qword [rsi + 104], r13 @@ -18662,123 +19601,124 @@ LBB4_54: LONG $0xb8ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 184], r13 LONG $0xd7950f41 // setne r15b LONG $0xc0ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 192], r13 - LONG $0x2454950f; BYTE $0x20 // setne byte [rsp + 32] + LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] LONG $0xc8ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 200], r13 LONG $0x2454950f; BYTE $0x40 // setne byte [rsp + 64] LONG $0xd0ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 208], r13 - LONG $0x2454950f; BYTE $0x18 // setne byte [rsp + 24] + LONG $0x2454950f; BYTE $0x20 // setne byte [rsp + 32] LONG $0xd8ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 216], r13 LONG $0x2454950f; BYTE $0x30 // setne byte [rsp + 48] LONG $0xe0ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 224], r13 LONG $0x2454950f; BYTE $0x10 // setne byte [rsp + 16] LONG $0xe8ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 232], r13 - LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] + LONG $0x2454950f; BYTE $0x18 // setne byte [rsp + 24] LONG $0xf0ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 240], r13 LONG $0x2454950f; BYTE $0x08 // setne byte [rsp + 8] LONG $0xf8ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 248], r13 - LONG $0xd0950f41 // setne r8b - WORD $0x0040; BYTE $0xff // add dil, dil - QUAD $0x0000009824bc0240 // add dil, byte [rsp + 152] + WORD $0x950f; BYTE $0xd2 // setne dl + WORD $0x0045; BYTE $0xd2 // add r10b, r10b + QUAD $0x0000009824940244 // add r10b, byte [rsp + 152] WORD $0xe0c0; BYTE $0x06 // shl al, 6 WORD $0xe3c0; BYTE $0x07 // shl bl, 7 WORD $0xc308 // or bl, al LONG $0x02e6c041 // shl r14b, 2 - WORD $0x0841; BYTE $0xfe // or r14b, dil - WORD $0xd200 // add dl, dl - LONG $0xc0249402; WORD $0x0000; BYTE $0x00 // add dl, byte [rsp + 192] + WORD $0x0845; BYTE $0xd6 // or r14b, r10b + WORD $0x0040; BYTE $0xff // add dil, dil + QUAD $0x000000e024bc0240 // add dil, byte [rsp + 224] QUAD $0x000000882484b60f // movzx eax, byte [rsp + 136] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0x0844; BYTE $0xf0 // or al, r14b - LONG $0x02e1c041 // shl r9b, 2 - WORD $0x0841; BYTE $0xd1 // or r9b, dl - LONG $0x2454b60f; BYTE $0x70 // movzx edx, byte [rsp + 112] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0xc208 // or dl, al - WORD $0xd789 // mov edi, edx - LONG $0x03e2c041 // shl r10b, 3 - WORD $0x0845; BYTE $0xca // or r10b, r9b - LONG $0x2454b60f; BYTE $0x48 // movzx edx, byte [rsp + 72] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xfa // or dl, dil + WORD $0x8941; BYTE $0xc2 // mov r10d, eax + LONG $0x02e0c041 // shl r8b, 2 + WORD $0x0841; BYTE $0xf8 // or r8b, dil + LONG $0x2444b60f; BYTE $0x70 // movzx eax, byte [rsp + 112] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0844; BYTE $0xd0 // or al, r10b + WORD $0xc789 // mov edi, eax + LONG $0x03e1c041 // shl r9b, 3 + WORD $0x0845; BYTE $0xc1 // or r9b, r8b + LONG $0x2444b60f; BYTE $0x48 // movzx eax, byte [rsp + 72] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0x0840; BYTE $0xf8 // or al, dil LONG $0x04e3c041 // shl r11b, 4 - WORD $0x0845; BYTE $0xd3 // or r11b, r10b + WORD $0x0845; BYTE $0xcb // or r11b, r9b LONG $0x05e4c041 // shl r12b, 5 WORD $0x0845; BYTE $0xdc // or r12b, r11b QUAD $0x000000a024bcb60f // movzx edi, byte [rsp + 160] LONG $0x06e7c040 // shl dil, 6 WORD $0xe1c0; BYTE $0x07 // shl cl, 7 WORD $0x0840; BYTE $0xf9 // or cl, dil - WORD $0xd308 // or bl, dl + WORD $0xc308 // or bl, al WORD $0x0844; BYTE $0xe1 // or cl, r12b - QUAD $0x0000008024b48b4c // mov r14, qword [rsp + 128] - QUAD $0x000000b02494b60f // movzx edx, byte [rsp + 176] - WORD $0xd200 // add dl, dl - LONG $0x60245402 // add dl, byte [rsp + 96] - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x78 // movzx edx, byte [rsp + 120] - WORD $0xe2c0; BYTE $0x02 // shl dl, 2 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x58 // movzx edx, byte [rsp + 88] - WORD $0xe2c0; BYTE $0x03 // shl dl, 3 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x50 // movzx edx, byte [rsp + 80] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x68 // movzx edx, byte [rsp + 104] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0x8841; BYTE $0x1e // mov byte [r14], bl + QUAD $0x0000008024a48b4c // mov r12, qword [rsp + 128] + QUAD $0x000000b02484b60f // movzx eax, byte [rsp + 176] + WORD $0xc000 // add al, al + LONG $0x60244402 // add al, byte [rsp + 96] + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x78 // movzx eax, byte [rsp + 120] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x58 // movzx eax, byte [rsp + 88] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x50 // movzx eax, byte [rsp + 80] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x68 // movzx eax, byte [rsp + 104] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0x0840; BYTE $0xf8 // or al, dil + LONG $0x241c8841 // mov byte [r12], bl LONG $0x245cb60f; BYTE $0x38 // movzx ebx, byte [rsp + 56] WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e7c041 // shl r15b, 7 WORD $0x0841; BYTE $0xdf // or r15b, bl - LONG $0x014e8841 // mov byte [r14 + 1], cl - WORD $0x0841; BYTE $0xd7 // or r15b, dl - LONG $0x244cb60f; BYTE $0x40 // movzx ecx, byte [rsp + 64] - WORD $0xc900 // add cl, cl - LONG $0x20244c02 // add cl, byte [rsp + 32] - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x18 // movzx ecx, byte [rsp + 24] - WORD $0xe1c0; BYTE $0x02 // shl cl, 2 - WORD $0xd108 // or cl, dl - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x30 // movzx ecx, byte [rsp + 48] - WORD $0xe1c0; BYTE $0x03 // shl cl, 3 - WORD $0xd108 // or cl, dl - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x10 // movzx ecx, byte [rsp + 16] - WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0xd108 // or cl, dl - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x28 // movzx ecx, byte [rsp + 40] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0xd108 // or cl, dl - LONG $0x2454b60f; BYTE $0x08 // movzx edx, byte [rsp + 8] - WORD $0xe2c0; BYTE $0x06 // shl dl, 6 - LONG $0x07e0c041 // shl r8b, 7 - WORD $0x0841; BYTE $0xd0 // or r8b, dl - WORD $0x0841; BYTE $0xc8 // or r8b, cl - LONG $0x027e8845 // mov byte [r14 + 2], r15b - LONG $0x03468845 // mov byte [r14 + 3], r8b + LONG $0x244c8841; BYTE $0x01 // mov byte [r12 + 1], cl + WORD $0x0841; BYTE $0xc7 // or r15b, al + LONG $0x2444b60f; BYTE $0x40 // movzx eax, byte [rsp + 64] + WORD $0xc000 // add al, al + LONG $0x28244402 // add al, byte [rsp + 40] + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x18 // movzx eax, byte [rsp + 24] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0xc808 // or al, cl + LONG $0x244cb60f; BYTE $0x08 // movzx ecx, byte [rsp + 8] + WORD $0xe1c0; BYTE $0x06 // shl cl, 6 + WORD $0xe2c0; BYTE $0x07 // shl dl, 7 + WORD $0xca08 // or dl, cl + WORD $0xc208 // or dl, al + LONG $0x247c8845; BYTE $0x02 // mov byte [r12 + 2], r15b + LONG $0x24548841; BYTE $0x03 // mov byte [r12 + 3], dl LONG $0x00c68148; WORD $0x0001; BYTE $0x00 // add rsi, 256 - LONG $0x04c68349 // add r14, 4 - QUAD $0x000000e024848348; BYTE $0xff // add qword [rsp + 224], -1 + LONG $0x04c48349 // add r12, 4 + QUAD $0x000000f024848348; BYTE $0xff // add qword [rsp + 240], -1 JNE LBB4_54 - QUAD $0x0000009024bc8b4c // mov r15, qword [rsp + 144] - QUAD $0x000000d024948b4c // mov r10, qword [rsp + 208] + QUAD $0x0000009024b48b4c // mov r14, qword [rsp + 144] + QUAD $0x000000c024948b4c // mov r10, qword [rsp + 192] LBB4_56: LONG $0x05e2c149 // shl r10, 5 - WORD $0x394d; BYTE $0xfa // cmp r10, r15 - JGE LBB4_179 - WORD $0x894d; BYTE $0xf8 // mov r8, r15 + WORD $0x394d; BYTE $0xf2 // cmp r10, r14 + JGE LBB4_174 + WORD $0x894d; BYTE $0xf0 // mov r8, r14 WORD $0x294d; BYTE $0xd0 // sub r8, r10 WORD $0xf749; BYTE $0xd2 // not r10 - WORD $0x014d; BYTE $0xfa // add r10, r15 - JE LBB4_117 + WORD $0x014d; BYTE $0xf2 // add r10, r14 + JE LBB4_124 WORD $0x894d; BYTE $0xc2 // mov r10, r8 LONG $0xfee28349 // and r10, -2 WORD $0x3145; BYTE $0xdb // xor r11d, r11d @@ -18789,7 +19729,8 @@ LBB4_59: WORD $0xd8f6 // neg al WORD $0x894c; BYTE $0xdf // mov rdi, r11 LONG $0x03efc148 // shr rdi, 3 - LONG $0x0cb60f45; BYTE $0x3e // movzx r9d, byte [r14 + rdi] + WORD $0x894d; BYTE $0xe6 // mov r14, r12 + LONG $0x0cb60f45; BYTE $0x3c // movzx r9d, byte [r12 + rdi] WORD $0x8944; BYTE $0xd9 // mov ecx, r11d WORD $0xe180; BYTE $0x06 // and cl, 6 WORD $0x01b3 // mov bl, 1 @@ -18797,7 +19738,7 @@ LBB4_59: WORD $0x3044; BYTE $0xc8 // xor al, r9b WORD $0xc320 // and bl, al WORD $0x3044; BYTE $0xcb // xor bl, r9b - LONG $0x3e1c8841 // mov byte [r14 + rdi], bl + LONG $0x3c1c8841 // mov byte [r12 + rdi], bl LONG $0x02c38349 // add r11, 2 LONG $0x086e394c // cmp qword [rsi + 8], r13 LONG $0x10768d48 // lea rsi, [rsi + 16] @@ -18809,16 +19750,16 @@ LBB4_59: WORD $0xe2d2 // shl dl, cl WORD $0xc220 // and dl, al WORD $0xda30 // xor dl, bl - LONG $0x3e148841 // mov byte [r14 + rdi], dl + LONG $0x3c148841 // mov byte [r12 + rdi], dl WORD $0x394d; BYTE $0xda // cmp r10, r11 JNE LBB4_59 - JMP LBB4_168 + JMP LBB4_170 LBB4_60: WORD $0x8a44; BYTE $0x1a // mov r11b, byte [rdx] - LONG $0x1f578d4d // lea r10, [r15 + 31] - WORD $0x854d; BYTE $0xff // test r15, r15 - LONG $0xd7490f4d // cmovns r10, r15 + LONG $0x1f568d4d // lea r10, [r14 + 31] + WORD $0x854d; BYTE $0xf6 // test r14, r14 + LONG $0xd6490f4d // cmovns r10, r14 LONG $0x07418d41 // lea eax, [r9 + 7] WORD $0x8545; BYTE $0xc9 // test r9d, r9d LONG $0xc1490f41 // cmovns eax, r9d @@ -18836,7 +19777,8 @@ LBB4_62: WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xf8490f48 // cmovns rdi, rax LONG $0x03ffc148 // sar rdi, 3 - LONG $0x0cb60f45; BYTE $0x3e // movzx r9d, byte [r14 + rdi] + WORD $0x894d; BYTE $0xe7 // mov r15, r12 + LONG $0x0cb60f45; BYTE $0x3c // movzx r9d, byte [r12 + rdi] WORD $0x3044; BYTE $0xca // xor dl, r9b QUAD $0x00000000fd048d44 // lea r8d, [8*rdi] WORD $0xc189 // mov ecx, eax @@ -18845,43 +19787,43 @@ LBB4_62: WORD $0xe3d3 // shl ebx, cl WORD $0xd320 // and bl, dl WORD $0x3044; BYTE $0xcb // xor bl, r9b - LONG $0x3e1c8841 // mov byte [r14 + rdi], bl + LONG $0x3c1c8841 // mov byte [r12 + rdi], bl LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 JNE LBB4_62 - LONG $0x01c68349 // add r14, 1 + LONG $0x01c48349 // add r12, 1 LBB4_64: LONG $0x05fac149 // sar r10, 5 - LONG $0x20ff8349 // cmp r15, 32 - JL LBB4_134 + LONG $0x20fe8349 // cmp r14, 32 + JL LBB4_141 LONG $0x10fa8349 // cmp r10, 16 LONG $0x245c8844; BYTE $0x08 // mov byte [rsp + 8], r11b - QUAD $0x0000009024bc894c // mov qword [rsp + 144], r15 - QUAD $0x000001002494894c // mov qword [rsp + 256], r10 + QUAD $0x0000009024b4894c // mov qword [rsp + 144], r14 + QUAD $0x000001202494894c // mov qword [rsp + 288], r10 JB LBB4_68 WORD $0x894c; BYTE $0xd0 // mov rax, r10 LONG $0x05e0c148 // shl rax, 5 WORD $0x0148; BYTE $0xf0 // add rax, rsi - WORD $0x3949; BYTE $0xc6 // cmp r14, rax - JAE LBB4_183 - LONG $0x96048d4b // lea rax, [r14 + 4*r10] + WORD $0x3949; BYTE $0xc4 // cmp r12, rax + JAE LBB4_182 + LONG $0x94048d4b // lea rax, [r12 + 4*r10] WORD $0x3948; BYTE $0xc6 // cmp rsi, rax - JAE LBB4_183 + JAE LBB4_182 LBB4_68: WORD $0xc031 // xor eax, eax - QUAD $0x000000f024848948 // mov qword [rsp + 240], rax - LONG $0x2474894c; BYTE $0x68 // mov qword [rsp + 104], r14 + QUAD $0x000000d824848948 // mov qword [rsp + 216], rax + LONG $0x2464894c; BYTE $0x68 // mov qword [rsp + 104], r12 LBB4_69: - QUAD $0x000000f024942b4c // sub r10, qword [rsp + 240] - QUAD $0x000000d02494894c // mov qword [rsp + 208], r10 + QUAD $0x000000d824942b4c // sub r10, qword [rsp + 216] + QUAD $0x000000c02494894c // mov qword [rsp + 192], r10 LBB4_70: WORD $0x8948; BYTE $0xf1 // mov rcx, rsi WORD $0x3844; BYTE $0x1e // cmp byte [rsi], r11b - QUAD $0x000000e02494950f // setne byte [rsp + 224] + QUAD $0x000000f02494950f // setne byte [rsp + 240] LONG $0x015e3844 // cmp byte [rsi + 1], r11b LONG $0xd6950f40 // setne sil LONG $0x02593844 // cmp byte [rcx + 2], r11b @@ -18903,7 +19845,7 @@ LBB4_70: LONG $0xd1950f41 // setne r9b LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] WORD $0x4138; BYTE $0x08 // cmp byte [rcx + 8], al - QUAD $0x000000c02494950f // setne byte [rsp + 192] + QUAD $0x000000e02494950f // setne byte [rsp + 224] LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] WORD $0x4138; BYTE $0x09 // cmp byte [rcx + 9], al WORD $0x950f; BYTE $0xd2 // setne dl @@ -18954,19 +19896,19 @@ LBB4_70: LONG $0x2454950f; BYTE $0x40 // setne byte [rsp + 64] LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] WORD $0x5938; BYTE $0x19 // cmp byte [rcx + 25], bl - LONG $0x2454950f; BYTE $0x18 // setne byte [rsp + 24] + LONG $0x2454950f; BYTE $0x20 // setne byte [rsp + 32] LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] WORD $0x5938; BYTE $0x1a // cmp byte [rcx + 26], bl LONG $0x2454950f; BYTE $0x30 // setne byte [rsp + 48] LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] WORD $0x5938; BYTE $0x1b // cmp byte [rcx + 27], bl - LONG $0x2454950f; BYTE $0x20 // setne byte [rsp + 32] + LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] WORD $0x5938; BYTE $0x1c // cmp byte [rcx + 28], bl LONG $0x2454950f; BYTE $0x10 // setne byte [rsp + 16] LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] WORD $0x5938; BYTE $0x1d // cmp byte [rcx + 29], bl - LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] + LONG $0x2454950f; BYTE $0x18 // setne byte [rsp + 24] LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] WORD $0x5938; BYTE $0x1e // cmp byte [rcx + 30], bl QUAD $0x000000802494950f // setne byte [rsp + 128] @@ -18974,7 +19916,7 @@ LBB4_70: WORD $0x5938; BYTE $0x1f // cmp byte [rcx + 31], bl WORD $0x950f; BYTE $0xd3 // setne bl WORD $0x0040; BYTE $0xf6 // add sil, sil - QUAD $0x000000e024b40240 // add sil, byte [rsp + 224] + QUAD $0x000000f024b40240 // add sil, byte [rsp + 240] QUAD $0x000000982484b60f // movzx eax, byte [rsp + 152] WORD $0xe0c0; BYTE $0x06 // shl al, 6 LONG $0x07e1c041 // shl r9b, 7 @@ -18982,7 +19924,7 @@ LBB4_70: LONG $0x02e7c041 // shl r15b, 2 WORD $0x0841; BYTE $0xf7 // or r15b, sil WORD $0xd200 // add dl, dl - LONG $0xc0249402; WORD $0x0000; BYTE $0x00 // add dl, byte [rsp + 192] + LONG $0xe0249402; WORD $0x0000; BYTE $0x00 // add dl, byte [rsp + 224] LONG $0x03e4c041 // shl r12b, 3 WORD $0x0845; BYTE $0xfc // or r12b, r15b LONG $0x7cb60f44; WORD $0x0824 // movzx r15d, byte [rsp + 8] @@ -19034,7 +19976,7 @@ LBB4_70: WORD $0x0841; BYTE $0xfb // or r11b, dil LONG $0x01428844 // mov byte [rdx + 1], r8b WORD $0x0841; BYTE $0xf3 // or r11b, sil - LONG $0x2444b60f; BYTE $0x18 // movzx eax, byte [rsp + 24] + LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] WORD $0xc000 // add al, al LONG $0x40244402 // add al, byte [rsp + 64] WORD $0xc689 // mov esi, eax @@ -19042,7 +19984,7 @@ LBB4_70: WORD $0xe0c0; BYTE $0x02 // shl al, 2 WORD $0x0840; BYTE $0xf0 // or al, sil WORD $0xc689 // mov esi, eax - LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] + LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0x0840; BYTE $0xf0 // or al, sil WORD $0xc689 // mov esi, eax @@ -19050,7 +19992,7 @@ LBB4_70: WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0x0840; BYTE $0xf0 // or al, sil WORD $0xc689 // mov esi, eax - LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] + LONG $0x2444b60f; BYTE $0x18 // movzx eax, byte [rsp + 24] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0x0840; BYTE $0xf0 // or al, sil QUAD $0x0000008024b4b60f // movzx esi, byte [rsp + 128] @@ -19064,17 +20006,17 @@ LBB4_70: LONG $0x20718d48 // lea rsi, [rcx + 32] LONG $0x04c28348 // add rdx, 4 LONG $0x24548948; BYTE $0x68 // mov qword [rsp + 104], rdx - QUAD $0x000000d024848348; BYTE $0xff // add qword [rsp + 208], -1 + QUAD $0x000000c024848348; BYTE $0xff // add qword [rsp + 192], -1 JNE LBB4_70 - QUAD $0x0000009024bc8b4c // mov r15, qword [rsp + 144] - QUAD $0x0000010024948b4c // mov r10, qword [rsp + 256] - JMP LBB4_135 + QUAD $0x0000009024b48b4c // mov r14, qword [rsp + 144] + QUAD $0x0000012024948b4c // mov r10, qword [rsp + 288] + JMP LBB4_142 LBB4_72: WORD $0x8b44; BYTE $0x2a // mov r13d, dword [rdx] - LONG $0x1f578d4d // lea r10, [r15 + 31] - WORD $0x854d; BYTE $0xff // test r15, r15 - LONG $0xd7490f4d // cmovns r10, r15 + LONG $0x1f568d4d // lea r10, [r14 + 31] + WORD $0x854d; BYTE $0xf6 // test r14, r14 + LONG $0xd6490f4d // cmovns r10, r14 LONG $0x07418d41 // lea eax, [r9 + 7] WORD $0x8545; BYTE $0xc9 // test r9d, r9d LONG $0xc1490f41 // cmovns eax, r9d @@ -19092,7 +20034,8 @@ LBB4_74: WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xd8490f48 // cmovns rbx, rax LONG $0x03fbc148 // sar rbx, 3 - LONG $0x04b60f45; BYTE $0x1e // movzx r8d, byte [r14 + rbx] + WORD $0x894d; BYTE $0xe1 // mov r9, r12 + LONG $0x04b60f45; BYTE $0x1c // movzx r8d, byte [r12 + rbx] WORD $0x3044; BYTE $0xc2 // xor dl, r8b LONG $0x00dd3c8d; WORD $0x0000; BYTE $0x00 // lea edi, [8*rbx] WORD $0xc189 // mov ecx, eax @@ -19101,26 +20044,26 @@ LBB4_74: WORD $0xe7d3 // shl edi, cl WORD $0x2040; BYTE $0xd7 // and dil, dl WORD $0x3044; BYTE $0xc7 // xor dil, r8b - LONG $0x1e3c8841 // mov byte [r14 + rbx], dil + LONG $0x1c3c8841 // mov byte [r12 + rbx], dil LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 JNE LBB4_74 - LONG $0x01c68349 // add r14, 1 + LONG $0x01c48349 // add r12, 1 LBB4_76: LONG $0x05fac149 // sar r10, 5 - LONG $0x20ff8349 // cmp r15, 32 + LONG $0x20fe8349 // cmp r14, 32 JL LBB4_80 - QUAD $0x0000009024bc894c // mov qword [rsp + 144], r15 - QUAD $0x000000d02494894c // mov qword [rsp + 208], r10 - QUAD $0x000000e02494894c // mov qword [rsp + 224], r10 + QUAD $0x0000009024b4894c // mov qword [rsp + 144], r14 + QUAD $0x000000c02494894c // mov qword [rsp + 192], r10 + QUAD $0x000000f02494894c // mov qword [rsp + 240], r10 LBB4_78: - QUAD $0x0000008024b4894c // mov qword [rsp + 128], r14 + QUAD $0x0000008024a4894c // mov qword [rsp + 128], r12 WORD $0x3944; BYTE $0x2e // cmp dword [rsi], r13d QUAD $0x000000982494950f // setne byte [rsp + 152] LONG $0x046e3944 // cmp dword [rsi + 4], r13d - LONG $0xd7950f40 // setne dil + LONG $0xd2950f41 // setne r10b LONG $0x086e3944 // cmp dword [rsi + 8], r13d LONG $0xd6950f41 // setne r14b LONG $0x0c6e3944 // cmp dword [rsi + 12], r13d @@ -19134,13 +20077,13 @@ LBB4_78: LONG $0x1c6e3944 // cmp dword [rsi + 28], r13d WORD $0x950f; BYTE $0xd3 // setne bl LONG $0x206e3944 // cmp dword [rsi + 32], r13d - QUAD $0x000000c02494950f // setne byte [rsp + 192] + QUAD $0x000000e02494950f // setne byte [rsp + 224] LONG $0x246e3944 // cmp dword [rsi + 36], r13d - WORD $0x950f; BYTE $0xd2 // setne dl + LONG $0xd7950f40 // setne dil LONG $0x286e3944 // cmp dword [rsi + 40], r13d - LONG $0xd1950f41 // setne r9b + LONG $0xd0950f41 // setne r8b LONG $0x2c6e3944 // cmp dword [rsi + 44], r13d - LONG $0xd2950f41 // setne r10b + LONG $0xd1950f41 // setne r9b LONG $0x306e3944 // cmp dword [rsi + 48], r13d LONG $0xd3950f41 // setne r11b LONG $0x346e3944 // cmp dword [rsi + 52], r13d @@ -19166,133 +20109,134 @@ LBB4_78: LONG $0x5c6e3944 // cmp dword [rsi + 92], r13d LONG $0xd7950f41 // setne r15b LONG $0x606e3944 // cmp dword [rsi + 96], r13d - LONG $0x2454950f; BYTE $0x20 // setne byte [rsp + 32] + LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] LONG $0x646e3944 // cmp dword [rsi + 100], r13d LONG $0x2454950f; BYTE $0x40 // setne byte [rsp + 64] LONG $0x686e3944 // cmp dword [rsi + 104], r13d - LONG $0x2454950f; BYTE $0x18 // setne byte [rsp + 24] + LONG $0x2454950f; BYTE $0x20 // setne byte [rsp + 32] LONG $0x6c6e3944 // cmp dword [rsi + 108], r13d LONG $0x2454950f; BYTE $0x30 // setne byte [rsp + 48] LONG $0x706e3944 // cmp dword [rsi + 112], r13d LONG $0x2454950f; BYTE $0x10 // setne byte [rsp + 16] LONG $0x746e3944 // cmp dword [rsi + 116], r13d - LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] + LONG $0x2454950f; BYTE $0x18 // setne byte [rsp + 24] LONG $0x786e3944 // cmp dword [rsi + 120], r13d LONG $0x2454950f; BYTE $0x08 // setne byte [rsp + 8] LONG $0x7c6e3944 // cmp dword [rsi + 124], r13d - LONG $0xd0950f41 // setne r8b - WORD $0x0040; BYTE $0xff // add dil, dil - QUAD $0x0000009824bc0240 // add dil, byte [rsp + 152] + WORD $0x950f; BYTE $0xd2 // setne dl + WORD $0x0045; BYTE $0xd2 // add r10b, r10b + QUAD $0x0000009824940244 // add r10b, byte [rsp + 152] WORD $0xe0c0; BYTE $0x06 // shl al, 6 WORD $0xe3c0; BYTE $0x07 // shl bl, 7 WORD $0xc308 // or bl, al LONG $0x02e6c041 // shl r14b, 2 - WORD $0x0841; BYTE $0xfe // or r14b, dil - WORD $0xd200 // add dl, dl - LONG $0xc0249402; WORD $0x0000; BYTE $0x00 // add dl, byte [rsp + 192] + WORD $0x0845; BYTE $0xd6 // or r14b, r10b + WORD $0x0040; BYTE $0xff // add dil, dil + QUAD $0x000000e024bc0240 // add dil, byte [rsp + 224] QUAD $0x000000882484b60f // movzx eax, byte [rsp + 136] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0x0844; BYTE $0xf0 // or al, r14b - LONG $0x02e1c041 // shl r9b, 2 - WORD $0x0841; BYTE $0xd1 // or r9b, dl - LONG $0x2454b60f; BYTE $0x70 // movzx edx, byte [rsp + 112] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0xc208 // or dl, al - WORD $0xd789 // mov edi, edx - LONG $0x03e2c041 // shl r10b, 3 - WORD $0x0845; BYTE $0xca // or r10b, r9b - LONG $0x2454b60f; BYTE $0x48 // movzx edx, byte [rsp + 72] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xfa // or dl, dil + WORD $0x8941; BYTE $0xc2 // mov r10d, eax + LONG $0x02e0c041 // shl r8b, 2 + WORD $0x0841; BYTE $0xf8 // or r8b, dil + LONG $0x2444b60f; BYTE $0x70 // movzx eax, byte [rsp + 112] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0844; BYTE $0xd0 // or al, r10b + WORD $0xc789 // mov edi, eax + LONG $0x03e1c041 // shl r9b, 3 + WORD $0x0845; BYTE $0xc1 // or r9b, r8b + LONG $0x2444b60f; BYTE $0x48 // movzx eax, byte [rsp + 72] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0x0840; BYTE $0xf8 // or al, dil LONG $0x04e3c041 // shl r11b, 4 - WORD $0x0845; BYTE $0xd3 // or r11b, r10b + WORD $0x0845; BYTE $0xcb // or r11b, r9b LONG $0x05e4c041 // shl r12b, 5 WORD $0x0845; BYTE $0xdc // or r12b, r11b QUAD $0x000000a024bcb60f // movzx edi, byte [rsp + 160] LONG $0x06e7c040 // shl dil, 6 WORD $0xe1c0; BYTE $0x07 // shl cl, 7 WORD $0x0840; BYTE $0xf9 // or cl, dil - WORD $0xd308 // or bl, dl + WORD $0xc308 // or bl, al WORD $0x0844; BYTE $0xe1 // or cl, r12b - QUAD $0x0000008024b48b4c // mov r14, qword [rsp + 128] - QUAD $0x000000b02494b60f // movzx edx, byte [rsp + 176] - WORD $0xd200 // add dl, dl - LONG $0x60245402 // add dl, byte [rsp + 96] - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x78 // movzx edx, byte [rsp + 120] - WORD $0xe2c0; BYTE $0x02 // shl dl, 2 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x58 // movzx edx, byte [rsp + 88] - WORD $0xe2c0; BYTE $0x03 // shl dl, 3 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x50 // movzx edx, byte [rsp + 80] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x68 // movzx edx, byte [rsp + 104] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0x8841; BYTE $0x1e // mov byte [r14], bl + QUAD $0x0000008024a48b4c // mov r12, qword [rsp + 128] + QUAD $0x000000b02484b60f // movzx eax, byte [rsp + 176] + WORD $0xc000 // add al, al + LONG $0x60244402 // add al, byte [rsp + 96] + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x78 // movzx eax, byte [rsp + 120] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x58 // movzx eax, byte [rsp + 88] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x50 // movzx eax, byte [rsp + 80] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x68 // movzx eax, byte [rsp + 104] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0x0840; BYTE $0xf8 // or al, dil + LONG $0x241c8841 // mov byte [r12], bl LONG $0x245cb60f; BYTE $0x38 // movzx ebx, byte [rsp + 56] WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e7c041 // shl r15b, 7 WORD $0x0841; BYTE $0xdf // or r15b, bl - LONG $0x014e8841 // mov byte [r14 + 1], cl - WORD $0x0841; BYTE $0xd7 // or r15b, dl - LONG $0x244cb60f; BYTE $0x40 // movzx ecx, byte [rsp + 64] - WORD $0xc900 // add cl, cl - LONG $0x20244c02 // add cl, byte [rsp + 32] - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x18 // movzx ecx, byte [rsp + 24] - WORD $0xe1c0; BYTE $0x02 // shl cl, 2 - WORD $0xd108 // or cl, dl - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x30 // movzx ecx, byte [rsp + 48] - WORD $0xe1c0; BYTE $0x03 // shl cl, 3 - WORD $0xd108 // or cl, dl - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x10 // movzx ecx, byte [rsp + 16] - WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0xd108 // or cl, dl - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x28 // movzx ecx, byte [rsp + 40] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0xd108 // or cl, dl - LONG $0x2454b60f; BYTE $0x08 // movzx edx, byte [rsp + 8] - WORD $0xe2c0; BYTE $0x06 // shl dl, 6 - LONG $0x07e0c041 // shl r8b, 7 - WORD $0x0841; BYTE $0xd0 // or r8b, dl - WORD $0x0841; BYTE $0xc8 // or r8b, cl - LONG $0x027e8845 // mov byte [r14 + 2], r15b - LONG $0x03468845 // mov byte [r14 + 3], r8b + LONG $0x244c8841; BYTE $0x01 // mov byte [r12 + 1], cl + WORD $0x0841; BYTE $0xc7 // or r15b, al + LONG $0x2444b60f; BYTE $0x40 // movzx eax, byte [rsp + 64] + WORD $0xc000 // add al, al + LONG $0x28244402 // add al, byte [rsp + 40] + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x18 // movzx eax, byte [rsp + 24] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0xc808 // or al, cl + LONG $0x244cb60f; BYTE $0x08 // movzx ecx, byte [rsp + 8] + WORD $0xe1c0; BYTE $0x06 // shl cl, 6 + WORD $0xe2c0; BYTE $0x07 // shl dl, 7 + WORD $0xca08 // or dl, cl + WORD $0xc208 // or dl, al + LONG $0x247c8845; BYTE $0x02 // mov byte [r12 + 2], r15b + LONG $0x24548841; BYTE $0x03 // mov byte [r12 + 3], dl LONG $0x80c68148; WORD $0x0000; BYTE $0x00 // add rsi, 128 - LONG $0x04c68349 // add r14, 4 - QUAD $0x000000e024848348; BYTE $0xff // add qword [rsp + 224], -1 + LONG $0x04c48349 // add r12, 4 + QUAD $0x000000f024848348; BYTE $0xff // add qword [rsp + 240], -1 JNE LBB4_78 - QUAD $0x0000009024bc8b4c // mov r15, qword [rsp + 144] - QUAD $0x000000d024948b4c // mov r10, qword [rsp + 208] + QUAD $0x0000009024b48b4c // mov r14, qword [rsp + 144] + QUAD $0x000000c024948b4c // mov r10, qword [rsp + 192] LBB4_80: LONG $0x05e2c149 // shl r10, 5 - WORD $0x394d; BYTE $0xfa // cmp r10, r15 - JGE LBB4_179 - WORD $0x894d; BYTE $0xf8 // mov r8, r15 + WORD $0x394d; BYTE $0xf2 // cmp r10, r14 + JGE LBB4_174 + WORD $0x894d; BYTE $0xf0 // mov r8, r14 WORD $0x294d; BYTE $0xd0 // sub r8, r10 WORD $0xf749; BYTE $0xd2 // not r10 - WORD $0x014d; BYTE $0xfa // add r10, r15 - JNE LBB4_151 + WORD $0x014d; BYTE $0xf2 // add r10, r14 + JNE LBB4_149 LBB4_82: WORD $0x3145; BYTE $0xdb // xor r11d, r11d - JMP LBB4_153 + JMP LBB4_151 LBB4_83: LONG $0x2ab70f44 // movzx r13d, word [rdx] - LONG $0x1f578d4d // lea r10, [r15 + 31] - WORD $0x854d; BYTE $0xff // test r15, r15 - LONG $0xd7490f4d // cmovns r10, r15 + LONG $0x1f568d4d // lea r10, [r14 + 31] + WORD $0x854d; BYTE $0xf6 // test r14, r14 + LONG $0xd6490f4d // cmovns r10, r14 LONG $0x07418d41 // lea eax, [r9 + 7] WORD $0x8545; BYTE $0xc9 // test r9d, r9d LONG $0xc1490f41 // cmovns eax, r9d @@ -19310,7 +20254,8 @@ LBB4_85: WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xf8490f48 // cmovns rdi, rax LONG $0x03ffc148 // sar rdi, 3 - LONG $0x0cb60f45; BYTE $0x3e // movzx r9d, byte [r14 + rdi] + WORD $0x894d; BYTE $0xe7 // mov r15, r12 + LONG $0x0cb60f45; BYTE $0x3c // movzx r9d, byte [r12 + rdi] WORD $0x3044; BYTE $0xca // xor dl, r9b QUAD $0x00000000fd048d44 // lea r8d, [8*rdi] WORD $0xc189 // mov ecx, eax @@ -19319,38 +20264,37 @@ LBB4_85: WORD $0xe3d3 // shl ebx, cl WORD $0xd320 // and bl, dl WORD $0x3044; BYTE $0xcb // xor bl, r9b - LONG $0x3e1c8841 // mov byte [r14 + rdi], bl + LONG $0x3c1c8841 // mov byte [r12 + rdi], bl LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 JNE LBB4_85 - LONG $0x01c68349 // add r14, 1 + LONG $0x01c48349 // add r12, 1 LBB4_87: LONG $0x05fac149 // sar r10, 5 - LONG $0x20ff8349 // cmp r15, 32 - JL LBB4_138 + LONG $0x20fe8349 // cmp r14, 32 + JL LBB4_95 LONG $0x08fa8349 // cmp r10, 8 - QUAD $0x0000009024bc894c // mov qword [rsp + 144], r15 - QUAD $0x000000d02494894c // mov qword [rsp + 208], r10 + QUAD $0x0000009024b4894c // mov qword [rsp + 144], r14 + QUAD $0x000000c02494894c // mov qword [rsp + 192], r10 JB LBB4_91 WORD $0x894c; BYTE $0xd0 // mov rax, r10 LONG $0x06e0c148 // shl rax, 6 WORD $0x0148; BYTE $0xf0 // add rax, rsi - WORD $0x3949; BYTE $0xc6 // cmp r14, rax - JAE LBB4_186 - LONG $0x96048d4b // lea rax, [r14 + 4*r10] + WORD $0x3949; BYTE $0xc4 // cmp r12, rax + JAE LBB4_185 + LONG $0x94048d4b // lea rax, [r12 + 4*r10] WORD $0x3948; BYTE $0xf0 // cmp rax, rsi - JBE LBB4_186 + JBE LBB4_185 LBB4_91: WORD $0xc031 // xor eax, eax - LONG $0x24448948; BYTE $0x18 // mov qword [rsp + 24], rax - WORD $0x894d; BYTE $0xf4 // mov r12, r14 + LONG $0x24448948; BYTE $0x20 // mov qword [rsp + 32], rax LBB4_92: LONG $0x2464894c; BYTE $0x08 // mov qword [rsp + 8], r12 - LONG $0x24542b4c; BYTE $0x18 // sub r10, qword [rsp + 24] - QUAD $0x000000e02494894c // mov qword [rsp + 224], r10 + LONG $0x24542b4c; BYTE $0x20 // sub r10, qword [rsp + 32] + QUAD $0x000000f02494894c // mov qword [rsp + 240], r10 LBB4_93: WORD $0x8949; BYTE $0xf3 // mov r11, rsi @@ -19371,7 +20315,7 @@ LBB4_93: LONG $0x6b394566; BYTE $0x0e // cmp word [r11 + 14], r13w WORD $0x950f; BYTE $0xd3 // setne bl LONG $0x6b394566; BYTE $0x10 // cmp word [r11 + 16], r13w - QUAD $0x000000c02494950f // setne byte [rsp + 192] + QUAD $0x000000e02494950f // setne byte [rsp + 224] LONG $0x6b394566; BYTE $0x12 // cmp word [r11 + 18], r13w WORD $0x950f; BYTE $0xd1 // setne cl LONG $0x6b394566; BYTE $0x14 // cmp word [r11 + 20], r13w @@ -19407,13 +20351,13 @@ LBB4_93: LONG $0x6b394566; BYTE $0x32 // cmp word [r11 + 50], r13w LONG $0x2454950f; BYTE $0x40 // setne byte [rsp + 64] LONG $0x6b394566; BYTE $0x34 // cmp word [r11 + 52], r13w - LONG $0x2454950f; BYTE $0x18 // setne byte [rsp + 24] - LONG $0x6b394566; BYTE $0x36 // cmp word [r11 + 54], r13w LONG $0x2454950f; BYTE $0x20 // setne byte [rsp + 32] + LONG $0x6b394566; BYTE $0x36 // cmp word [r11 + 54], r13w + LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] LONG $0x6b394566; BYTE $0x38 // cmp word [r11 + 56], r13w LONG $0x2454950f; BYTE $0x10 // setne byte [rsp + 16] LONG $0x6b394566; BYTE $0x3a // cmp word [r11 + 58], r13w - LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] + LONG $0x2454950f; BYTE $0x18 // setne byte [rsp + 24] LONG $0x6b394566; BYTE $0x3c // cmp word [r11 + 60], r13w QUAD $0x000000802494950f // setne byte [rsp + 128] LONG $0x6b394566; BYTE $0x3e // cmp word [r11 + 62], r13w @@ -19426,7 +20370,7 @@ LBB4_93: LONG $0x02e7c041 // shl r15b, 2 WORD $0x0841; BYTE $0xf7 // or r15b, sil WORD $0xc900 // add cl, cl - LONG $0xc0248c02; WORD $0x0000; BYTE $0x00 // add cl, byte [rsp + 192] + LONG $0xe0248c02; WORD $0x0000; BYTE $0x00 // add cl, byte [rsp + 224] LONG $0x03e4c041 // shl r12b, 3 WORD $0x0845; BYTE $0xfc // or r12b, r15b LONG $0x02e0c041 // shl r8b, 2 @@ -19483,11 +20427,11 @@ LBB4_93: WORD $0xc000 // add al, al LONG $0x30244402 // add al, byte [rsp + 48] WORD $0xc389 // mov ebx, eax - LONG $0x2444b60f; BYTE $0x18 // movzx eax, byte [rsp + 24] + LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] WORD $0xe0c0; BYTE $0x02 // shl al, 2 WORD $0xd808 // or al, bl WORD $0xc389 // mov ebx, eax - LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] + LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0xd808 // or al, bl WORD $0xc389 // mov ebx, eax @@ -19495,7 +20439,7 @@ LBB4_93: WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0xd808 // or al, bl WORD $0xc389 // mov ebx, eax - LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] + LONG $0x2444b60f; BYTE $0x18 // movzx eax, byte [rsp + 24] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0xd808 // or al, bl QUAD $0x00000080249cb60f // movzx ebx, byte [rsp + 128] @@ -19508,27 +20452,71 @@ LBB4_93: LONG $0x40738d49 // lea rsi, [r11 + 64] LONG $0x04c18348 // add rcx, 4 LONG $0x244c8948; BYTE $0x08 // mov qword [rsp + 8], rcx - QUAD $0x000000e024848348; BYTE $0xff // add qword [rsp + 224], -1 + QUAD $0x000000f024848348; BYTE $0xff // add qword [rsp + 240], -1 JNE LBB4_93 - QUAD $0x0000009024bc8b4c // mov r15, qword [rsp + 144] - QUAD $0x000000d024948b4c // mov r10, qword [rsp + 208] + QUAD $0x0000009024b48b4c // mov r14, qword [rsp + 144] + QUAD $0x000000c024948b4c // mov r10, qword [rsp + 192] LONG $0x24648b4c; BYTE $0x08 // mov r12, qword [rsp + 8] - JMP LBB4_139 LBB4_95: + LONG $0x05e2c149 // shl r10, 5 + WORD $0x394d; BYTE $0xf2 // cmp r10, r14 + JGE LBB4_174 + WORD $0x894d; BYTE $0xf0 // mov r8, r14 + WORD $0x294d; BYTE $0xd0 // sub r8, r10 + WORD $0xf749; BYTE $0xd2 // not r10 + WORD $0x014d; BYTE $0xf2 // add r10, r14 + JE LBB4_113 + WORD $0x894d; BYTE $0xc1 // mov r9, r8 + LONG $0xfee18349 // and r9, -2 + WORD $0x3145; BYTE $0xf6 // xor r14d, r14d + +LBB4_98: + WORD $0x8948; BYTE $0xf0 // mov rax, rsi + LONG $0x2e394466 // cmp word [rsi], r13w + WORD $0x950f; BYTE $0xd2 // setne dl + WORD $0xdaf6 // neg dl + WORD $0x894c; BYTE $0xf7 // mov rdi, r14 + LONG $0x03efc148 // shr rdi, 3 + LONG $0x14b60f45; BYTE $0x3c // movzx r10d, byte [r12 + rdi] + WORD $0x8944; BYTE $0xf1 // mov ecx, r14d + WORD $0xe180; BYTE $0x06 // and cl, 6 + WORD $0x01b3 // mov bl, 1 + WORD $0xe3d2 // shl bl, cl + WORD $0x3044; BYTE $0xd2 // xor dl, r10b + WORD $0xd320 // and bl, dl + WORD $0x3044; BYTE $0xd3 // xor bl, r10b + LONG $0x3c1c8841 // mov byte [r12 + rdi], bl + LONG $0x02c68349 // add r14, 2 + LONG $0x6e394466; BYTE $0x02 // cmp word [rsi + 2], r13w + LONG $0x04768d48 // lea rsi, [rsi + 4] + WORD $0x950f; BYTE $0xd2 // setne dl + WORD $0xdaf6 // neg dl + WORD $0xda30 // xor dl, bl + WORD $0xc980; BYTE $0x01 // or cl, 1 + WORD $0x01b0 // mov al, 1 + WORD $0xe0d2 // shl al, cl + WORD $0xd020 // and al, dl + WORD $0xd830 // xor al, bl + LONG $0x3c048841 // mov byte [r12 + rdi], al + WORD $0x394d; BYTE $0xf1 // cmp r9, r14 + JNE LBB4_98 + JMP LBB4_166 + +LBB4_99: LONG $0x2ab70f44 // movzx r13d, word [rdx] - LONG $0x1f578d4d // lea r10, [r15 + 31] - WORD $0x854d; BYTE $0xff // test r15, r15 - LONG $0xd7490f4d // cmovns r10, r15 + LONG $0x1f568d4d // lea r10, [r14 + 31] + WORD $0x854d; BYTE $0xf6 // test r14, r14 + LONG $0xd6490f4d // cmovns r10, r14 LONG $0x07418d41 // lea eax, [r9 + 7] WORD $0x8545; BYTE $0xc9 // test r9d, r9d LONG $0xc1490f41 // cmovns eax, r9d WORD $0xe083; BYTE $0xf8 // and eax, -8 WORD $0x2941; BYTE $0xc1 // sub r9d, eax - JE LBB4_99 + JE LBB4_103 WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d -LBB4_97: +LBB4_101: LONG $0x2e394466 // cmp word [rsi], r13w LONG $0x02768d48 // lea rsi, [rsi + 2] WORD $0x950f; BYTE $0xd2 // setne dl @@ -19537,7 +20525,8 @@ LBB4_97: WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xf8490f48 // cmovns rdi, rax LONG $0x03ffc148 // sar rdi, 3 - LONG $0x0cb60f45; BYTE $0x3e // movzx r9d, byte [r14 + rdi] + WORD $0x894d; BYTE $0xe7 // mov r15, r12 + LONG $0x0cb60f45; BYTE $0x3c // movzx r9d, byte [r12 + rdi] WORD $0x3044; BYTE $0xca // xor dl, r9b QUAD $0x00000000fd048d44 // lea r8d, [8*rdi] WORD $0xc189 // mov ecx, eax @@ -19546,40 +20535,39 @@ LBB4_97: WORD $0xe3d3 // shl ebx, cl WORD $0xd320 // and bl, dl WORD $0x3044; BYTE $0xcb // xor bl, r9b - LONG $0x3e1c8841 // mov byte [r14 + rdi], bl + LONG $0x3c1c8841 // mov byte [r12 + rdi], bl LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 - JNE LBB4_97 - LONG $0x01c68349 // add r14, 1 + JNE LBB4_101 + LONG $0x01c48349 // add r12, 1 -LBB4_99: +LBB4_103: LONG $0x05fac149 // sar r10, 5 - LONG $0x20ff8349 // cmp r15, 32 - JL LBB4_143 + LONG $0x20fe8349 // cmp r14, 32 + JL LBB4_111 LONG $0x08fa8349 // cmp r10, 8 - QUAD $0x0000009024bc894c // mov qword [rsp + 144], r15 - QUAD $0x000000d02494894c // mov qword [rsp + 208], r10 - JB LBB4_103 + QUAD $0x0000009024b4894c // mov qword [rsp + 144], r14 + QUAD $0x000000c02494894c // mov qword [rsp + 192], r10 + JB LBB4_107 WORD $0x894c; BYTE $0xd0 // mov rax, r10 LONG $0x06e0c148 // shl rax, 6 WORD $0x0148; BYTE $0xf0 // add rax, rsi - WORD $0x3949; BYTE $0xc6 // cmp r14, rax - JAE LBB4_189 - LONG $0x96048d4b // lea rax, [r14 + 4*r10] + WORD $0x3949; BYTE $0xc4 // cmp r12, rax + JAE LBB4_191 + LONG $0x94048d4b // lea rax, [r12 + 4*r10] WORD $0x3948; BYTE $0xf0 // cmp rax, rsi - JBE LBB4_189 + JBE LBB4_191 -LBB4_103: +LBB4_107: WORD $0xc031 // xor eax, eax - LONG $0x24448948; BYTE $0x18 // mov qword [rsp + 24], rax - WORD $0x894d; BYTE $0xf4 // mov r12, r14 + LONG $0x24448948; BYTE $0x20 // mov qword [rsp + 32], rax -LBB4_104: +LBB4_108: LONG $0x2464894c; BYTE $0x08 // mov qword [rsp + 8], r12 - LONG $0x24542b4c; BYTE $0x18 // sub r10, qword [rsp + 24] - QUAD $0x000000e02494894c // mov qword [rsp + 224], r10 + LONG $0x24542b4c; BYTE $0x20 // sub r10, qword [rsp + 32] + QUAD $0x000000f02494894c // mov qword [rsp + 240], r10 -LBB4_105: +LBB4_109: WORD $0x8949; BYTE $0xf3 // mov r11, rsi LONG $0x2e394466 // cmp word [rsi], r13w QUAD $0x000000982494950f // setne byte [rsp + 152] @@ -19598,7 +20586,7 @@ LBB4_105: LONG $0x6b394566; BYTE $0x0e // cmp word [r11 + 14], r13w WORD $0x950f; BYTE $0xd3 // setne bl LONG $0x6b394566; BYTE $0x10 // cmp word [r11 + 16], r13w - QUAD $0x000000c02494950f // setne byte [rsp + 192] + QUAD $0x000000e02494950f // setne byte [rsp + 224] LONG $0x6b394566; BYTE $0x12 // cmp word [r11 + 18], r13w WORD $0x950f; BYTE $0xd1 // setne cl LONG $0x6b394566; BYTE $0x14 // cmp word [r11 + 20], r13w @@ -19634,13 +20622,13 @@ LBB4_105: LONG $0x6b394566; BYTE $0x32 // cmp word [r11 + 50], r13w LONG $0x2454950f; BYTE $0x40 // setne byte [rsp + 64] LONG $0x6b394566; BYTE $0x34 // cmp word [r11 + 52], r13w - LONG $0x2454950f; BYTE $0x18 // setne byte [rsp + 24] - LONG $0x6b394566; BYTE $0x36 // cmp word [r11 + 54], r13w LONG $0x2454950f; BYTE $0x20 // setne byte [rsp + 32] + LONG $0x6b394566; BYTE $0x36 // cmp word [r11 + 54], r13w + LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] LONG $0x6b394566; BYTE $0x38 // cmp word [r11 + 56], r13w LONG $0x2454950f; BYTE $0x10 // setne byte [rsp + 16] LONG $0x6b394566; BYTE $0x3a // cmp word [r11 + 58], r13w - LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] + LONG $0x2454950f; BYTE $0x18 // setne byte [rsp + 24] LONG $0x6b394566; BYTE $0x3c // cmp word [r11 + 60], r13w QUAD $0x000000802494950f // setne byte [rsp + 128] LONG $0x6b394566; BYTE $0x3e // cmp word [r11 + 62], r13w @@ -19653,7 +20641,7 @@ LBB4_105: LONG $0x02e7c041 // shl r15b, 2 WORD $0x0841; BYTE $0xf7 // or r15b, sil WORD $0xc900 // add cl, cl - LONG $0xc0248c02; WORD $0x0000; BYTE $0x00 // add cl, byte [rsp + 192] + LONG $0xe0248c02; WORD $0x0000; BYTE $0x00 // add cl, byte [rsp + 224] LONG $0x03e4c041 // shl r12b, 3 WORD $0x0845; BYTE $0xfc // or r12b, r15b LONG $0x02e0c041 // shl r8b, 2 @@ -19710,11 +20698,11 @@ LBB4_105: WORD $0xc000 // add al, al LONG $0x30244402 // add al, byte [rsp + 48] WORD $0xc389 // mov ebx, eax - LONG $0x2444b60f; BYTE $0x18 // movzx eax, byte [rsp + 24] + LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] WORD $0xe0c0; BYTE $0x02 // shl al, 2 WORD $0xd808 // or al, bl WORD $0xc389 // mov ebx, eax - LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] + LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0xd808 // or al, bl WORD $0xc389 // mov ebx, eax @@ -19722,7 +20710,7 @@ LBB4_105: WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0xd808 // or al, bl WORD $0xc389 // mov ebx, eax - LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] + LONG $0x2444b60f; BYTE $0x18 // movzx eax, byte [rsp + 24] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0xd808 // or al, bl QUAD $0x00000080249cb60f // movzx ebx, byte [rsp + 128] @@ -19735,27 +20723,40 @@ LBB4_105: LONG $0x40738d49 // lea rsi, [r11 + 64] LONG $0x04c18348 // add rcx, 4 LONG $0x244c8948; BYTE $0x08 // mov qword [rsp + 8], rcx - QUAD $0x000000e024848348; BYTE $0xff // add qword [rsp + 224], -1 - JNE LBB4_105 - QUAD $0x0000009024bc8b4c // mov r15, qword [rsp + 144] - QUAD $0x000000d024948b4c // mov r10, qword [rsp + 208] + QUAD $0x000000f024848348; BYTE $0xff // add qword [rsp + 240], -1 + JNE LBB4_109 + QUAD $0x0000009024b48b4c // mov r14, qword [rsp + 144] + QUAD $0x000000c024948b4c // mov r10, qword [rsp + 192] LONG $0x24648b4c; BYTE $0x08 // mov r12, qword [rsp + 8] - JMP LBB4_144 -LBB4_107: +LBB4_111: + LONG $0x05e2c149 // shl r10, 5 + WORD $0x394d; BYTE $0xf2 // cmp r10, r14 + JGE LBB4_174 + WORD $0x894d; BYTE $0xf0 // mov r8, r14 + WORD $0x294d; BYTE $0xd0 // sub r8, r10 + WORD $0xf749; BYTE $0xd2 // not r10 + WORD $0x014d; BYTE $0xf2 // add r10, r14 + JNE LBB4_164 + +LBB4_113: + WORD $0x3145; BYTE $0xf6 // xor r14d, r14d + JMP LBB4_166 + +LBB4_114: WORD $0x8b4c; BYTE $0x2a // mov r13, qword [rdx] - LONG $0x1f578d4d // lea r10, [r15 + 31] - WORD $0x854d; BYTE $0xff // test r15, r15 - LONG $0xd7490f4d // cmovns r10, r15 + LONG $0x1f568d4d // lea r10, [r14 + 31] + WORD $0x854d; BYTE $0xf6 // test r14, r14 + LONG $0xd6490f4d // cmovns r10, r14 LONG $0x07418d41 // lea eax, [r9 + 7] WORD $0x8545; BYTE $0xc9 // test r9d, r9d LONG $0xc1490f41 // cmovns eax, r9d WORD $0xe083; BYTE $0xf8 // and eax, -8 WORD $0x2941; BYTE $0xc1 // sub r9d, eax - JE LBB4_111 + JE LBB4_118 WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d -LBB4_109: +LBB4_116: WORD $0x394c; BYTE $0x2e // cmp qword [rsi], r13 LONG $0x08768d48 // lea rsi, [rsi + 8] WORD $0x950f; BYTE $0xd2 // setne dl @@ -19764,7 +20765,8 @@ LBB4_109: WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xd8490f48 // cmovns rbx, rax LONG $0x03fbc148 // sar rbx, 3 - LONG $0x04b60f45; BYTE $0x1e // movzx r8d, byte [r14 + rbx] + WORD $0x894d; BYTE $0xe1 // mov r9, r12 + LONG $0x04b60f45; BYTE $0x1c // movzx r8d, byte [r12 + rbx] WORD $0x3044; BYTE $0xc2 // xor dl, r8b LONG $0x00dd3c8d; WORD $0x0000; BYTE $0x00 // lea edi, [8*rbx] WORD $0xc189 // mov ecx, eax @@ -19773,26 +20775,26 @@ LBB4_109: WORD $0xe7d3 // shl edi, cl WORD $0x2040; BYTE $0xd7 // and dil, dl WORD $0x3044; BYTE $0xc7 // xor dil, r8b - LONG $0x1e3c8841 // mov byte [r14 + rbx], dil + LONG $0x1c3c8841 // mov byte [r12 + rbx], dil LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 - JNE LBB4_109 - LONG $0x01c68349 // add r14, 1 + JNE LBB4_116 + LONG $0x01c48349 // add r12, 1 -LBB4_111: +LBB4_118: LONG $0x05fac149 // sar r10, 5 - LONG $0x20ff8349 // cmp r15, 32 - JL LBB4_115 - QUAD $0x0000009024bc894c // mov qword [rsp + 144], r15 - QUAD $0x000000d02494894c // mov qword [rsp + 208], r10 - QUAD $0x000000e02494894c // mov qword [rsp + 224], r10 + LONG $0x20fe8349 // cmp r14, 32 + JL LBB4_122 + QUAD $0x0000009024b4894c // mov qword [rsp + 144], r14 + QUAD $0x000000c02494894c // mov qword [rsp + 192], r10 + QUAD $0x000000f02494894c // mov qword [rsp + 240], r10 -LBB4_113: - QUAD $0x0000008024b4894c // mov qword [rsp + 128], r14 +LBB4_120: + QUAD $0x0000008024a4894c // mov qword [rsp + 128], r12 WORD $0x394c; BYTE $0x2e // cmp qword [rsi], r13 QUAD $0x000000982494950f // setne byte [rsp + 152] LONG $0x086e394c // cmp qword [rsi + 8], r13 - LONG $0xd7950f40 // setne dil + LONG $0xd2950f41 // setne r10b LONG $0x106e394c // cmp qword [rsi + 16], r13 LONG $0xd6950f41 // setne r14b LONG $0x186e394c // cmp qword [rsi + 24], r13 @@ -19806,13 +20808,13 @@ LBB4_113: LONG $0x386e394c // cmp qword [rsi + 56], r13 WORD $0x950f; BYTE $0xd3 // setne bl LONG $0x406e394c // cmp qword [rsi + 64], r13 - QUAD $0x000000c02494950f // setne byte [rsp + 192] + QUAD $0x000000e02494950f // setne byte [rsp + 224] LONG $0x486e394c // cmp qword [rsi + 72], r13 - WORD $0x950f; BYTE $0xd2 // setne dl + LONG $0xd7950f40 // setne dil LONG $0x506e394c // cmp qword [rsi + 80], r13 - LONG $0xd1950f41 // setne r9b + LONG $0xd0950f41 // setne r8b LONG $0x586e394c // cmp qword [rsi + 88], r13 - LONG $0xd2950f41 // setne r10b + LONG $0xd1950f41 // setne r9b LONG $0x606e394c // cmp qword [rsi + 96], r13 LONG $0xd3950f41 // setne r11b LONG $0x686e394c // cmp qword [rsi + 104], r13 @@ -19838,151 +20840,155 @@ LBB4_113: LONG $0xb8ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 184], r13 LONG $0xd7950f41 // setne r15b LONG $0xc0ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 192], r13 - LONG $0x2454950f; BYTE $0x20 // setne byte [rsp + 32] + LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] LONG $0xc8ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 200], r13 LONG $0x2454950f; BYTE $0x40 // setne byte [rsp + 64] LONG $0xd0ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 208], r13 - LONG $0x2454950f; BYTE $0x18 // setne byte [rsp + 24] + LONG $0x2454950f; BYTE $0x20 // setne byte [rsp + 32] LONG $0xd8ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 216], r13 LONG $0x2454950f; BYTE $0x30 // setne byte [rsp + 48] LONG $0xe0ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 224], r13 LONG $0x2454950f; BYTE $0x10 // setne byte [rsp + 16] LONG $0xe8ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 232], r13 - LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] + LONG $0x2454950f; BYTE $0x18 // setne byte [rsp + 24] LONG $0xf0ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 240], r13 LONG $0x2454950f; BYTE $0x08 // setne byte [rsp + 8] LONG $0xf8ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 248], r13 - LONG $0xd0950f41 // setne r8b - WORD $0x0040; BYTE $0xff // add dil, dil - QUAD $0x0000009824bc0240 // add dil, byte [rsp + 152] + WORD $0x950f; BYTE $0xd2 // setne dl + WORD $0x0045; BYTE $0xd2 // add r10b, r10b + QUAD $0x0000009824940244 // add r10b, byte [rsp + 152] WORD $0xe0c0; BYTE $0x06 // shl al, 6 WORD $0xe3c0; BYTE $0x07 // shl bl, 7 WORD $0xc308 // or bl, al LONG $0x02e6c041 // shl r14b, 2 - WORD $0x0841; BYTE $0xfe // or r14b, dil - WORD $0xd200 // add dl, dl - LONG $0xc0249402; WORD $0x0000; BYTE $0x00 // add dl, byte [rsp + 192] + WORD $0x0845; BYTE $0xd6 // or r14b, r10b + WORD $0x0040; BYTE $0xff // add dil, dil + QUAD $0x000000e024bc0240 // add dil, byte [rsp + 224] QUAD $0x000000882484b60f // movzx eax, byte [rsp + 136] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0x0844; BYTE $0xf0 // or al, r14b - LONG $0x02e1c041 // shl r9b, 2 - WORD $0x0841; BYTE $0xd1 // or r9b, dl - LONG $0x2454b60f; BYTE $0x70 // movzx edx, byte [rsp + 112] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0xc208 // or dl, al - WORD $0xd789 // mov edi, edx - LONG $0x03e2c041 // shl r10b, 3 - WORD $0x0845; BYTE $0xca // or r10b, r9b - LONG $0x2454b60f; BYTE $0x48 // movzx edx, byte [rsp + 72] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xfa // or dl, dil + WORD $0x8941; BYTE $0xc2 // mov r10d, eax + LONG $0x02e0c041 // shl r8b, 2 + WORD $0x0841; BYTE $0xf8 // or r8b, dil + LONG $0x2444b60f; BYTE $0x70 // movzx eax, byte [rsp + 112] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0844; BYTE $0xd0 // or al, r10b + WORD $0xc789 // mov edi, eax + LONG $0x03e1c041 // shl r9b, 3 + WORD $0x0845; BYTE $0xc1 // or r9b, r8b + LONG $0x2444b60f; BYTE $0x48 // movzx eax, byte [rsp + 72] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0x0840; BYTE $0xf8 // or al, dil LONG $0x04e3c041 // shl r11b, 4 - WORD $0x0845; BYTE $0xd3 // or r11b, r10b + WORD $0x0845; BYTE $0xcb // or r11b, r9b LONG $0x05e4c041 // shl r12b, 5 WORD $0x0845; BYTE $0xdc // or r12b, r11b QUAD $0x000000a024bcb60f // movzx edi, byte [rsp + 160] LONG $0x06e7c040 // shl dil, 6 WORD $0xe1c0; BYTE $0x07 // shl cl, 7 WORD $0x0840; BYTE $0xf9 // or cl, dil - WORD $0xd308 // or bl, dl + WORD $0xc308 // or bl, al WORD $0x0844; BYTE $0xe1 // or cl, r12b - QUAD $0x0000008024b48b4c // mov r14, qword [rsp + 128] - QUAD $0x000000b02494b60f // movzx edx, byte [rsp + 176] - WORD $0xd200 // add dl, dl - LONG $0x60245402 // add dl, byte [rsp + 96] - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x78 // movzx edx, byte [rsp + 120] - WORD $0xe2c0; BYTE $0x02 // shl dl, 2 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x58 // movzx edx, byte [rsp + 88] - WORD $0xe2c0; BYTE $0x03 // shl dl, 3 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x50 // movzx edx, byte [rsp + 80] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x68 // movzx edx, byte [rsp + 104] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0x8841; BYTE $0x1e // mov byte [r14], bl + QUAD $0x0000008024a48b4c // mov r12, qword [rsp + 128] + QUAD $0x000000b02484b60f // movzx eax, byte [rsp + 176] + WORD $0xc000 // add al, al + LONG $0x60244402 // add al, byte [rsp + 96] + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x78 // movzx eax, byte [rsp + 120] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x58 // movzx eax, byte [rsp + 88] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x50 // movzx eax, byte [rsp + 80] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x68 // movzx eax, byte [rsp + 104] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0x0840; BYTE $0xf8 // or al, dil + LONG $0x241c8841 // mov byte [r12], bl LONG $0x245cb60f; BYTE $0x38 // movzx ebx, byte [rsp + 56] WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e7c041 // shl r15b, 7 WORD $0x0841; BYTE $0xdf // or r15b, bl - LONG $0x014e8841 // mov byte [r14 + 1], cl - WORD $0x0841; BYTE $0xd7 // or r15b, dl - LONG $0x244cb60f; BYTE $0x40 // movzx ecx, byte [rsp + 64] - WORD $0xc900 // add cl, cl - LONG $0x20244c02 // add cl, byte [rsp + 32] - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x18 // movzx ecx, byte [rsp + 24] - WORD $0xe1c0; BYTE $0x02 // shl cl, 2 - WORD $0xd108 // or cl, dl - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x30 // movzx ecx, byte [rsp + 48] - WORD $0xe1c0; BYTE $0x03 // shl cl, 3 - WORD $0xd108 // or cl, dl - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x10 // movzx ecx, byte [rsp + 16] - WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0xd108 // or cl, dl - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x28 // movzx ecx, byte [rsp + 40] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0xd108 // or cl, dl - LONG $0x2454b60f; BYTE $0x08 // movzx edx, byte [rsp + 8] - WORD $0xe2c0; BYTE $0x06 // shl dl, 6 - LONG $0x07e0c041 // shl r8b, 7 - WORD $0x0841; BYTE $0xd0 // or r8b, dl - WORD $0x0841; BYTE $0xc8 // or r8b, cl - LONG $0x027e8845 // mov byte [r14 + 2], r15b - LONG $0x03468845 // mov byte [r14 + 3], r8b + LONG $0x244c8841; BYTE $0x01 // mov byte [r12 + 1], cl + WORD $0x0841; BYTE $0xc7 // or r15b, al + LONG $0x2444b60f; BYTE $0x40 // movzx eax, byte [rsp + 64] + WORD $0xc000 // add al, al + LONG $0x28244402 // add al, byte [rsp + 40] + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x18 // movzx eax, byte [rsp + 24] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0xc808 // or al, cl + LONG $0x244cb60f; BYTE $0x08 // movzx ecx, byte [rsp + 8] + WORD $0xe1c0; BYTE $0x06 // shl cl, 6 + WORD $0xe2c0; BYTE $0x07 // shl dl, 7 + WORD $0xca08 // or dl, cl + WORD $0xc208 // or dl, al + LONG $0x247c8845; BYTE $0x02 // mov byte [r12 + 2], r15b + LONG $0x24548841; BYTE $0x03 // mov byte [r12 + 3], dl LONG $0x00c68148; WORD $0x0001; BYTE $0x00 // add rsi, 256 - LONG $0x04c68349 // add r14, 4 - QUAD $0x000000e024848348; BYTE $0xff // add qword [rsp + 224], -1 - JNE LBB4_113 - QUAD $0x0000009024bc8b4c // mov r15, qword [rsp + 144] - QUAD $0x000000d024948b4c // mov r10, qword [rsp + 208] + LONG $0x04c48349 // add r12, 4 + QUAD $0x000000f024848348; BYTE $0xff // add qword [rsp + 240], -1 + JNE LBB4_120 + QUAD $0x0000009024b48b4c // mov r14, qword [rsp + 144] + QUAD $0x000000c024948b4c // mov r10, qword [rsp + 192] -LBB4_115: +LBB4_122: LONG $0x05e2c149 // shl r10, 5 - WORD $0x394d; BYTE $0xfa // cmp r10, r15 - JGE LBB4_179 - WORD $0x894d; BYTE $0xf8 // mov r8, r15 + WORD $0x394d; BYTE $0xf2 // cmp r10, r14 + JGE LBB4_174 + WORD $0x894d; BYTE $0xf0 // mov r8, r14 WORD $0x294d; BYTE $0xd0 // sub r8, r10 WORD $0xf749; BYTE $0xd2 // not r10 - WORD $0x014d; BYTE $0xfa // add r10, r15 - JNE LBB4_166 + WORD $0x014d; BYTE $0xf2 // add r10, r14 + JNE LBB4_168 -LBB4_117: +LBB4_124: WORD $0x3145; BYTE $0xdb // xor r11d, r11d - JMP LBB4_168 + JMP LBB4_170 -LBB4_118: - LONG $0x1f578d4d // lea r10, [r15 + 31] - WORD $0x854d; BYTE $0xff // test r15, r15 - LONG $0xd7490f4d // cmovns r10, r15 +LBB4_125: + LONG $0x1f568d4d // lea r10, [r14 + 31] + WORD $0x854d; BYTE $0xf6 // test r14, r14 + LONG $0xd6490f4d // cmovns r10, r14 LONG $0x07418d41 // lea eax, [r9 + 7] WORD $0x8545; BYTE $0xc9 // test r9d, r9d LONG $0xc1490f41 // cmovns eax, r9d WORD $0xe083; BYTE $0xf8 // and eax, -8 LONG $0x02100ff3 // movss xmm0, dword [rdx] WORD $0x2941; BYTE $0xc1 // sub r9d, eax - JE LBB4_122 + JE LBB4_129 WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d -LBB4_120: +LBB4_127: WORD $0x2e0f; BYTE $0x06 // ucomiss xmm0, dword [rsi] LONG $0x04768d48 // lea rsi, [rsi + 4] + WORD $0x9a0f; BYTE $0xd1 // setp cl WORD $0x950f; BYTE $0xd2 // setne dl + WORD $0xca08 // or dl, cl WORD $0xdaf6 // neg dl LONG $0x07788d48 // lea rdi, [rax + 7] WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xf8490f48 // cmovns rdi, rax LONG $0x03ffc148 // sar rdi, 3 - LONG $0x0cb60f45; BYTE $0x3e // movzx r9d, byte [r14 + rdi] + WORD $0x894d; BYTE $0xe3 // mov r11, r12 + LONG $0x0cb60f45; BYTE $0x3c // movzx r9d, byte [r12 + rdi] WORD $0x3044; BYTE $0xca // xor dl, r9b QUAD $0x00000000fd048d44 // lea r8d, [8*rdi] WORD $0xc189 // mov ecx, eax @@ -19991,216 +20997,307 @@ LBB4_120: WORD $0xe3d3 // shl ebx, cl WORD $0xd320 // and bl, dl WORD $0x3044; BYTE $0xcb // xor bl, r9b - LONG $0x3e1c8841 // mov byte [r14 + rdi], bl + LONG $0x3c1c8841 // mov byte [r12 + rdi], bl LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 - JNE LBB4_120 - LONG $0x01c68349 // add r14, 1 + JNE LBB4_127 + LONG $0x01c48349 // add r12, 1 -LBB4_122: +LBB4_129: LONG $0x05fac149 // sar r10, 5 - LONG $0x20ff8349 // cmp r15, 32 - JL LBB4_147 + LONG $0x20fe8349 // cmp r14, 32 + JL LBB4_145 LONG $0x04fa8349 // cmp r10, 4 - JB LBB4_126 + JB LBB4_133 WORD $0x894c; BYTE $0xd0 // mov rax, r10 LONG $0x07e0c148 // shl rax, 7 WORD $0x0148; BYTE $0xf0 // add rax, rsi - WORD $0x3949; BYTE $0xc6 // cmp r14, rax - JAE LBB4_192 - LONG $0x96048d4b // lea rax, [r14 + 4*r10] + WORD $0x3949; BYTE $0xc4 // cmp r12, rax + JAE LBB4_188 + LONG $0x94048d4b // lea rax, [r12 + 4*r10] WORD $0x3948; BYTE $0xf0 // cmp rax, rsi - JBE LBB4_192 + JBE LBB4_188 -LBB4_126: +LBB4_133: WORD $0x3145; BYTE $0xc0 // xor r8d, r8d WORD $0x8948; BYTE $0xf3 // mov rbx, rsi - WORD $0x894d; BYTE $0xf3 // mov r11, r14 + WORD $0x894d; BYTE $0xe7 // mov r15, r12 -LBB4_127: - LONG $0x245c894c; BYTE $0x08 // mov qword [rsp + 8], r11 - QUAD $0x0000009024bc894c // mov qword [rsp + 144], r15 - QUAD $0x000000e02494894c // mov qword [rsp + 224], r10 - WORD $0x294d; BYTE $0xc2 // sub r10, r8 - QUAD $0x000000982494894c // mov qword [rsp + 152], r10 +LBB4_134: + QUAD $0x0000008024bc894c // mov qword [rsp + 128], r15 + QUAD $0x0000009024b4894c // mov qword [rsp + 144], r14 + QUAD $0x000001102494894c // mov qword [rsp + 272], r10 + WORD $0x294d; BYTE $0xc2 // sub r10, r8 + QUAD $0x000000c02494894c // mov qword [rsp + 192], r10 -LBB4_128: +LBB4_135: WORD $0x2e0f; BYTE $0x03 // ucomiss xmm0, dword [rbx] - QUAD $0x000000882494950f // setne byte [rsp + 136] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + WORD $0x8941; BYTE $0xcd // mov r13d, ecx LONG $0x04432e0f // ucomiss xmm0, dword [rbx + 4] - LONG $0xd0950f41 // setne r8b + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd2 // setne dl + WORD $0xc208 // or dl, al LONG $0x08432e0f // ucomiss xmm0, dword [rbx + 8] - LONG $0xd6950f41 // setne r14b + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x28244c88 // mov byte [rsp + 40], cl LONG $0x0c432e0f // ucomiss xmm0, dword [rbx + 12] - LONG $0xd5950f41 // setne r13b + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x10244c88 // mov byte [rsp + 16], cl LONG $0x10432e0f // ucomiss xmm0, dword [rbx + 16] - LONG $0x2454950f; BYTE $0x70 // setne byte [rsp + 112] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x18244c88 // mov byte [rsp + 24], cl LONG $0x14432e0f // ucomiss xmm0, dword [rbx + 20] - LONG $0x2454950f; BYTE $0x48 // setne byte [rsp + 72] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x20244c88 // mov byte [rsp + 32], cl LONG $0x18432e0f // ucomiss xmm0, dword [rbx + 24] - WORD $0x950f; BYTE $0xd0 // setne al + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x40244c88 // mov byte [rsp + 64], cl LONG $0x1c432e0f // ucomiss xmm0, dword [rbx + 28] - LONG $0xd3950f41 // setne r11b + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x08244c88 // mov byte [rsp + 8], cl LONG $0x20432e0f // ucomiss xmm0, dword [rbx + 32] - QUAD $0x000000a02494950f // setne byte [rsp + 160] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x30244c88 // mov byte [rsp + 48], cl LONG $0x24432e0f // ucomiss xmm0, dword [rbx + 36] - WORD $0x950f; BYTE $0xd2 // setne dl + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x38244c88 // mov byte [rsp + 56], cl LONG $0x28432e0f // ucomiss xmm0, dword [rbx + 40] - LONG $0xd6950f40 // setne sil + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x68244c88 // mov byte [rsp + 104], cl LONG $0x2c432e0f // ucomiss xmm0, dword [rbx + 44] - LONG $0xd7950f40 // setne dil + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x48244c88 // mov byte [rsp + 72], cl LONG $0x30432e0f // ucomiss xmm0, dword [rbx + 48] - LONG $0xd2950f41 // setne r10b + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x50244c88 // mov byte [rsp + 80], cl LONG $0x34432e0f // ucomiss xmm0, dword [rbx + 52] - LONG $0xd4950f41 // setne r12b + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x58244c88 // mov byte [rsp + 88], cl LONG $0x38432e0f // ucomiss xmm0, dword [rbx + 56] - QUAD $0x000000b02494950f // setne byte [rsp + 176] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x78244c88 // mov byte [rsp + 120], cl LONG $0x3c432e0f // ucomiss xmm0, dword [rbx + 60] - LONG $0xd1950f41 // setne r9b + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x70244c88 // mov byte [rsp + 112], cl LONG $0x40432e0f // ucomiss xmm0, dword [rbx + 64] - LONG $0x2454950f; BYTE $0x60 // setne byte [rsp + 96] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x60244c88 // mov byte [rsp + 96], cl LONG $0x44432e0f // ucomiss xmm0, dword [rbx + 68] - QUAD $0x000000c02494950f // setne byte [rsp + 192] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd4950f41 // setne r12b + WORD $0x0841; BYTE $0xc4 // or r12b, al LONG $0x48432e0f // ucomiss xmm0, dword [rbx + 72] - LONG $0x2454950f; BYTE $0x78 // setne byte [rsp + 120] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0xb0248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 176], cl LONG $0x4c432e0f // ucomiss xmm0, dword [rbx + 76] - LONG $0x2454950f; BYTE $0x58 // setne byte [rsp + 88] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0xa0248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 160], cl LONG $0x50432e0f // ucomiss xmm0, dword [rbx + 80] - LONG $0x2454950f; BYTE $0x50 // setne byte [rsp + 80] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0xe0248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 224], cl LONG $0x54432e0f // ucomiss xmm0, dword [rbx + 84] - LONG $0x2454950f; BYTE $0x68 // setne byte [rsp + 104] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x98248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 152], cl LONG $0x58432e0f // ucomiss xmm0, dword [rbx + 88] - LONG $0x2454950f; BYTE $0x38 // setne byte [rsp + 56] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd6950f41 // setne r14b + WORD $0x0841; BYTE $0xc6 // or r14b, al LONG $0x5c432e0f // ucomiss xmm0, dword [rbx + 92] - LONG $0xd7950f41 // setne r15b + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd0950f41 // setne r8b + WORD $0x0841; BYTE $0xc0 // or r8b, al LONG $0x60432e0f // ucomiss xmm0, dword [rbx + 96] - LONG $0x2454950f; BYTE $0x20 // setne byte [rsp + 32] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x88248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 136], cl LONG $0x64432e0f // ucomiss xmm0, dword [rbx + 100] - LONG $0x2454950f; BYTE $0x40 // setne byte [rsp + 64] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd3950f41 // setne r11b + WORD $0x0841; BYTE $0xc3 // or r11b, al LONG $0x68432e0f // ucomiss xmm0, dword [rbx + 104] - LONG $0x2454950f; BYTE $0x18 // setne byte [rsp + 24] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd2950f41 // setne r10b + WORD $0x0841; BYTE $0xc2 // or r10b, al LONG $0x6c432e0f // ucomiss xmm0, dword [rbx + 108] - LONG $0x2454950f; BYTE $0x30 // setne byte [rsp + 48] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd1950f41 // setne r9b + WORD $0x0841; BYTE $0xc1 // or r9b, al LONG $0x70432e0f // ucomiss xmm0, dword [rbx + 112] - LONG $0x2454950f; BYTE $0x10 // setne byte [rsp + 16] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd7950f41 // setne r15b + WORD $0x0841; BYTE $0xc7 // or r15b, al LONG $0x74432e0f // ucomiss xmm0, dword [rbx + 116] - LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0xf0248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 240], cl LONG $0x78432e0f // ucomiss xmm0, dword [rbx + 120] - QUAD $0x000000802494950f // setne byte [rsp + 128] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd7950f40 // setne dil + WORD $0x0840; BYTE $0xc7 // or dil, al LONG $0x7c432e0f // ucomiss xmm0, dword [rbx + 124] - WORD $0x950f; BYTE $0xd1 // setne cl - WORD $0x0045; BYTE $0xc0 // add r8b, r8b - QUAD $0x0000008824840244 // add r8b, byte [rsp + 136] - WORD $0xe0c0; BYTE $0x06 // shl al, 6 - LONG $0x07e3c041 // shl r11b, 7 - WORD $0x0841; BYTE $0xc3 // or r11b, al - LONG $0x02e6c041 // shl r14b, 2 - WORD $0x0845; BYTE $0xc6 // or r14b, r8b + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd6950f40 // setne sil + WORD $0x0840; BYTE $0xc6 // or sil, al WORD $0xd200 // add dl, dl - LONG $0xa0249402; WORD $0x0000; BYTE $0x00 // add dl, byte [rsp + 160] - LONG $0x03e5c041 // shl r13b, 3 - WORD $0x0845; BYTE $0xf5 // or r13b, r14b - LONG $0x02e6c040 // shl sil, 2 - WORD $0x0840; BYTE $0xd6 // or sil, dl - LONG $0x2454b60f; BYTE $0x70 // movzx edx, byte [rsp + 112] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 WORD $0x0844; BYTE $0xea // or dl, r13b - WORD $0x8941; BYTE $0xd0 // mov r8d, edx - LONG $0x03e7c040 // shl dil, 3 - WORD $0x0840; BYTE $0xf7 // or dil, sil - LONG $0x2454b60f; BYTE $0x48 // movzx edx, byte [rsp + 72] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0844; BYTE $0xc2 // or dl, r8b - LONG $0x04e2c041 // shl r10b, 4 - WORD $0x0841; BYTE $0xfa // or r10b, dil - LONG $0x05e4c041 // shl r12b, 5 - WORD $0x0845; BYTE $0xd4 // or r12b, r10b - QUAD $0x000000b024b4b60f // movzx esi, byte [rsp + 176] - LONG $0x06e6c040 // shl sil, 6 - LONG $0x07e1c041 // shl r9b, 7 - WORD $0x0841; BYTE $0xf1 // or r9b, sil - WORD $0x0841; BYTE $0xd3 // or r11b, dl - WORD $0x0845; BYTE $0xe1 // or r9b, r12b - QUAD $0x000000c02484b60f // movzx eax, byte [rsp + 192] - WORD $0xc000 // add al, al - LONG $0x60244402 // add al, byte [rsp + 96] - LONG $0x2454b60f; BYTE $0x78 // movzx edx, byte [rsp + 120] - WORD $0xe2c0; BYTE $0x02 // shl dl, 2 - WORD $0xc208 // or dl, al - WORD $0xd689 // mov esi, edx - LONG $0x2454b60f; BYTE $0x58 // movzx edx, byte [rsp + 88] - WORD $0xe2c0; BYTE $0x03 // shl dl, 3 - WORD $0x0840; BYTE $0xf2 // or dl, sil - WORD $0xd689 // mov esi, edx - LONG $0x2454b60f; BYTE $0x50 // movzx edx, byte [rsp + 80] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0x0840; BYTE $0xf2 // or dl, sil - WORD $0xd689 // mov esi, edx - LONG $0x2454b60f; BYTE $0x68 // movzx edx, byte [rsp + 104] + WORD $0x8941; BYTE $0xd5 // mov r13d, edx + LONG $0x2454b60f; BYTE $0x20 // movzx edx, byte [rsp + 32] WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xf2 // or dl, sil - LONG $0x24748b48; BYTE $0x08 // mov rsi, qword [rsp + 8] - WORD $0x8844; BYTE $0x1e // mov byte [rsi], r11b - LONG $0x247cb60f; BYTE $0x38 // movzx edi, byte [rsp + 56] - LONG $0x06e7c040 // shl dil, 6 - LONG $0x07e7c041 // shl r15b, 7 - WORD $0x0841; BYTE $0xff // or r15b, dil - LONG $0x014e8844 // mov byte [rsi + 1], r9b - WORD $0x0841; BYTE $0xd7 // or r15b, dl LONG $0x2444b60f; BYTE $0x40 // movzx eax, byte [rsp + 64] - WORD $0xc000 // add al, al - LONG $0x20244402 // add al, byte [rsp + 32] - WORD $0xc289 // mov edx, eax - LONG $0x2444b60f; BYTE $0x18 // movzx eax, byte [rsp + 24] - WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0xe0c0; BYTE $0x06 // shl al, 6 WORD $0xd008 // or al, dl WORD $0xc289 // mov edx, eax - LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 + LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0x0844; BYTE $0xe8 // or al, r13b + WORD $0x8941; BYTE $0xc5 // mov r13d, eax + LONG $0x244cb60f; BYTE $0x38 // movzx ecx, byte [rsp + 56] + WORD $0xc900 // add cl, cl + LONG $0x30244c02 // add cl, byte [rsp + 48] + LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + WORD $0xe0c0; BYTE $0x07 // shl al, 7 WORD $0xd008 // or al, dl - WORD $0xc289 // mov edx, eax + LONG $0x08244488 // mov byte [rsp + 8], al + LONG $0x2444b60f; BYTE $0x68 // movzx eax, byte [rsp + 104] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0x0844; BYTE $0xe8 // or al, r13b + WORD $0x8941; BYTE $0xc5 // mov r13d, eax + LONG $0x2444b60f; BYTE $0x48 // movzx eax, byte [rsp + 72] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x18 // movzx eax, byte [rsp + 24] WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0xd008 // or al, dl - WORD $0xc289 // mov edx, eax - LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] + WORD $0x0844; BYTE $0xe8 // or al, r13b + LONG $0x2454b60f; BYTE $0x50 // movzx edx, byte [rsp + 80] + WORD $0xe2c0; BYTE $0x04 // shl dl, 4 + WORD $0xca08 // or dl, cl + LONG $0x6cb60f44; WORD $0x5824 // movzx r13d, byte [rsp + 88] + LONG $0x05e5c041 // shl r13b, 5 + LONG $0x244cb60f; BYTE $0x78 // movzx ecx, byte [rsp + 120] + WORD $0xe1c0; BYTE $0x06 // shl cl, 6 + WORD $0x0844; BYTE $0xe9 // or cl, r13b + LONG $0x6cb60f44; WORD $0x7024 // movzx r13d, byte [rsp + 112] + LONG $0x07e5c041 // shl r13b, 7 + WORD $0x0841; BYTE $0xcd // or r13b, cl + WORD $0x0045; BYTE $0xe4 // add r12b, r12b + LONG $0x24640244; BYTE $0x60 // add r12b, byte [rsp + 96] + WORD $0x8944; BYTE $0xe1 // mov ecx, r12d + QUAD $0x0000b024a4b60f44; BYTE $0x00 // movzx r12d, byte [rsp + 176] + LONG $0x02e4c041 // shl r12b, 2 + WORD $0x0841; BYTE $0xcc // or r12b, cl + QUAD $0x000000a0248cb60f // movzx ecx, byte [rsp + 160] + WORD $0xe1c0; BYTE $0x03 // shl cl, 3 + WORD $0x0844; BYTE $0xe1 // or cl, r12b + WORD $0x8941; BYTE $0xcc // mov r12d, ecx + QUAD $0x000000e0248cb60f // movzx ecx, byte [rsp + 224] + WORD $0xe1c0; BYTE $0x04 // shl cl, 4 + WORD $0x0844; BYTE $0xe1 // or cl, r12b + LONG $0x64b60f44; WORD $0x0824 // movzx r12d, byte [rsp + 8] + WORD $0x0841; BYTE $0xc4 // or r12b, al + QUAD $0x000000982484b60f // movzx eax, byte [rsp + 152] WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xd008 // or al, dl - QUAD $0x000000802494b60f // movzx edx, byte [rsp + 128] - WORD $0xe2c0; BYTE $0x06 // shl dl, 6 - WORD $0xe1c0; BYTE $0x07 // shl cl, 7 - WORD $0xd108 // or cl, dl - WORD $0xc108 // or cl, al - LONG $0x027e8844 // mov byte [rsi + 2], r15b - WORD $0x4e88; BYTE $0x03 // mov byte [rsi + 3], cl + LONG $0x06e6c041 // shl r14b, 6 + WORD $0x0841; BYTE $0xc6 // or r14b, al + WORD $0x0841; BYTE $0xd5 // or r13b, dl + LONG $0x07e0c041 // shl r8b, 7 + WORD $0x0845; BYTE $0xf0 // or r8b, r14b + WORD $0x0841; BYTE $0xc8 // or r8b, cl + WORD $0x0045; BYTE $0xdb // add r11b, r11b + QUAD $0x00000088249c0244 // add r11b, byte [rsp + 136] + LONG $0x02e2c041 // shl r10b, 2 + WORD $0x0845; BYTE $0xda // or r10b, r11b + LONG $0x03e1c041 // shl r9b, 3 + WORD $0x0845; BYTE $0xd1 // or r9b, r10b + LONG $0x04e7c041 // shl r15b, 4 + WORD $0x0845; BYTE $0xcf // or r15b, r9b + QUAD $0x0000008024848b48 // mov rax, qword [rsp + 128] + WORD $0x8844; BYTE $0x20 // mov byte [rax], r12b + QUAD $0x000000f0248cb60f // movzx ecx, byte [rsp + 240] + WORD $0xe1c0; BYTE $0x05 // shl cl, 5 + LONG $0x06e7c040 // shl dil, 6 + WORD $0x0840; BYTE $0xcf // or dil, cl + LONG $0x01688844 // mov byte [rax + 1], r13b + LONG $0x07e6c040 // shl sil, 7 + WORD $0x0840; BYTE $0xfe // or sil, dil + WORD $0x0844; BYTE $0xfe // or sil, r15b + LONG $0x02408844 // mov byte [rax + 2], r8b + LONG $0x03708840 // mov byte [rax + 3], sil LONG $0x80c38148; WORD $0x0000; BYTE $0x00 // add rbx, 128 - LONG $0x04c68348 // add rsi, 4 - LONG $0x24748948; BYTE $0x08 // mov qword [rsp + 8], rsi - QUAD $0x0000009824848348; BYTE $0xff // add qword [rsp + 152], -1 - JNE LBB4_128 - LONG $0x245c8b4c; BYTE $0x08 // mov r11, qword [rsp + 8] - QUAD $0x0000009024bc8b4c // mov r15, qword [rsp + 144] - QUAD $0x000000e024948b4c // mov r10, qword [rsp + 224] - JMP LBB4_148 + LONG $0x04c08348 // add rax, 4 + QUAD $0x0000008024848948 // mov qword [rsp + 128], rax + QUAD $0x000000c024848348; BYTE $0xff // add qword [rsp + 192], -1 + JNE LBB4_135 + QUAD $0x0000008024bc8b4c // mov r15, qword [rsp + 128] + QUAD $0x0000009024b48b4c // mov r14, qword [rsp + 144] + QUAD $0x0000011024948b4c // mov r10, qword [rsp + 272] + JMP LBB4_146 -LBB4_130: - LONG $0x2474894c; BYTE $0x68 // mov qword [rsp + 104], r14 +LBB4_137: + LONG $0x2464894c; BYTE $0x68 // mov qword [rsp + 104], r12 -LBB4_131: +LBB4_138: LONG $0x05e2c149 // shl r10, 5 - WORD $0x394d; BYTE $0xfa // cmp r10, r15 - JGE LBB4_179 - WORD $0x894d; BYTE $0xf8 // mov r8, r15 + WORD $0x394d; BYTE $0xf2 // cmp r10, r14 + JGE LBB4_174 + WORD $0x894d; BYTE $0xf0 // mov r8, r14 WORD $0x294d; BYTE $0xd0 // sub r8, r10 WORD $0xf749; BYTE $0xd2 // not r10 - WORD $0x014d; BYTE $0xfa // add r10, r15 - JE LBB4_137 + WORD $0x014d; BYTE $0xf2 // add r10, r14 + JE LBB4_144 WORD $0x894d; BYTE $0xc2 // mov r10, r8 LONG $0xfee28349 // and r10, -2 WORD $0x3145; BYTE $0xc9 // xor r9d, r9d LONG $0x24748b4c; BYTE $0x68 // mov r14, qword [rsp + 104] -LBB4_156: +LBB4_154: WORD $0x894c; BYTE $0xc8 // mov rax, r9 LONG $0x0e1c3846 // cmp byte [rsi + r9], r11b WORD $0x950f; BYTE $0xd3 // setne bl @@ -20228,129 +21325,65 @@ LBB4_156: WORD $0xd030 // xor al, dl LONG $0x3e048841 // mov byte [r14 + rdi], al WORD $0x394d; BYTE $0xca // cmp r10, r9 - JNE LBB4_156 - JMP LBB4_159 + JNE LBB4_154 + JMP LBB4_157 -LBB4_134: - LONG $0x2474894c; BYTE $0x68 // mov qword [rsp + 104], r14 +LBB4_141: + LONG $0x2464894c; BYTE $0x68 // mov qword [rsp + 104], r12 -LBB4_135: +LBB4_142: LONG $0x05e2c149 // shl r10, 5 - WORD $0x394d; BYTE $0xfa // cmp r10, r15 - JGE LBB4_179 - WORD $0x894d; BYTE $0xf8 // mov r8, r15 + WORD $0x394d; BYTE $0xf2 // cmp r10, r14 + JGE LBB4_174 + WORD $0x894d; BYTE $0xf0 // mov r8, r14 WORD $0x294d; BYTE $0xd0 // sub r8, r10 WORD $0xf749; BYTE $0xd2 // not r10 - WORD $0x014d; BYTE $0xfa // add r10, r15 - JNE LBB4_157 + WORD $0x014d; BYTE $0xf2 // add r10, r14 + JNE LBB4_155 -LBB4_137: +LBB4_144: WORD $0x3145; BYTE $0xc9 // xor r9d, r9d LONG $0x01c0f641 // test r8b, 1 - JE LBB4_179 - JMP LBB4_161 + JE LBB4_174 + JMP LBB4_159 -LBB4_138: - WORD $0x894d; BYTE $0xf4 // mov r12, r14 +LBB4_145: + WORD $0x894d; BYTE $0xe7 // mov r15, r12 + WORD $0x8948; BYTE $0xf3 // mov rbx, rsi -LBB4_139: +LBB4_146: LONG $0x05e2c149 // shl r10, 5 - WORD $0x394d; BYTE $0xfa // cmp r10, r15 - JGE LBB4_179 - WORD $0x894d; BYTE $0xf8 // mov r8, r15 + WORD $0x394d; BYTE $0xf2 // cmp r10, r14 + JGE LBB4_174 + WORD $0x894d; BYTE $0xf0 // mov r8, r14 WORD $0x294d; BYTE $0xd0 // sub r8, r10 WORD $0xf749; BYTE $0xd2 // not r10 - WORD $0x014d; BYTE $0xfa // add r10, r15 - JE LBB4_146 - WORD $0x894d; BYTE $0xc1 // mov r9, r8 - LONG $0xfee18349 // and r9, -2 - WORD $0x3145; BYTE $0xf6 // xor r14d, r14d + WORD $0x014d; BYTE $0xf2 // add r10, r14 + JNE LBB4_175 + WORD $0xf631 // xor esi, esi + JMP LBB4_177 -LBB4_142: - WORD $0x8948; BYTE $0xf0 // mov rax, rsi - LONG $0x2e394466 // cmp word [rsi], r13w - WORD $0x950f; BYTE $0xd2 // setne dl - WORD $0xdaf6 // neg dl - WORD $0x894c; BYTE $0xf7 // mov rdi, r14 +LBB4_149: + WORD $0x894d; BYTE $0xc2 // mov r10, r8 + LONG $0xfee28349 // and r10, -2 + WORD $0x3145; BYTE $0xdb // xor r11d, r11d + +LBB4_150: + WORD $0x3944; BYTE $0x2e // cmp dword [rsi], r13d + WORD $0x950f; BYTE $0xd0 // setne al + WORD $0xd8f6 // neg al + WORD $0x894c; BYTE $0xdf // mov rdi, r11 LONG $0x03efc148 // shr rdi, 3 - LONG $0x14b60f45; BYTE $0x3c // movzx r10d, byte [r12 + rdi] - WORD $0x8944; BYTE $0xf1 // mov ecx, r14d + WORD $0x894d; BYTE $0xe6 // mov r14, r12 + LONG $0x0cb60f45; BYTE $0x3c // movzx r9d, byte [r12 + rdi] + WORD $0x8944; BYTE $0xd9 // mov ecx, r11d WORD $0xe180; BYTE $0x06 // and cl, 6 WORD $0x01b3 // mov bl, 1 WORD $0xe3d2 // shl bl, cl - WORD $0x3044; BYTE $0xd2 // xor dl, r10b - WORD $0xd320 // and bl, dl - WORD $0x3044; BYTE $0xd3 // xor bl, r10b + WORD $0x3044; BYTE $0xc8 // xor al, r9b + WORD $0xc320 // and bl, al + WORD $0x3044; BYTE $0xcb // xor bl, r9b LONG $0x3c1c8841 // mov byte [r12 + rdi], bl - LONG $0x02c68349 // add r14, 2 - LONG $0x6e394466; BYTE $0x02 // cmp word [rsi + 2], r13w - LONG $0x04768d48 // lea rsi, [rsi + 4] - WORD $0x950f; BYTE $0xd2 // setne dl - WORD $0xdaf6 // neg dl - WORD $0xda30 // xor dl, bl - WORD $0xc980; BYTE $0x01 // or cl, 1 - WORD $0x01b0 // mov al, 1 - WORD $0xe0d2 // shl al, cl - WORD $0xd020 // and al, dl - WORD $0xd830 // xor al, bl - LONG $0x3c048841 // mov byte [r12 + rdi], al - WORD $0x394d; BYTE $0xf1 // cmp r9, r14 - JNE LBB4_142 - JMP LBB4_173 - -LBB4_143: - WORD $0x894d; BYTE $0xf4 // mov r12, r14 - -LBB4_144: - LONG $0x05e2c149 // shl r10, 5 - WORD $0x394d; BYTE $0xfa // cmp r10, r15 - JGE LBB4_179 - WORD $0x894d; BYTE $0xf8 // mov r8, r15 - WORD $0x294d; BYTE $0xd0 // sub r8, r10 - WORD $0xf749; BYTE $0xd2 // not r10 - WORD $0x014d; BYTE $0xfa // add r10, r15 - JNE LBB4_171 - -LBB4_146: - WORD $0x3145; BYTE $0xf6 // xor r14d, r14d - JMP LBB4_173 - -LBB4_147: - WORD $0x894d; BYTE $0xf3 // mov r11, r14 - WORD $0x8948; BYTE $0xf3 // mov rbx, rsi - -LBB4_148: - LONG $0x05e2c149 // shl r10, 5 - WORD $0x394d; BYTE $0xfa // cmp r10, r15 - JGE LBB4_179 - WORD $0x894d; BYTE $0xf8 // mov r8, r15 - WORD $0x294d; BYTE $0xd0 // sub r8, r10 - WORD $0xf749; BYTE $0xd2 // not r10 - WORD $0x014d; BYTE $0xfa // add r10, r15 - JNE LBB4_175 - WORD $0xf631 // xor esi, esi - JMP LBB4_177 - -LBB4_151: - WORD $0x894d; BYTE $0xc2 // mov r10, r8 - LONG $0xfee28349 // and r10, -2 - WORD $0x3145; BYTE $0xdb // xor r11d, r11d - -LBB4_152: - WORD $0x3944; BYTE $0x2e // cmp dword [rsi], r13d - WORD $0x950f; BYTE $0xd0 // setne al - WORD $0xd8f6 // neg al - WORD $0x894c; BYTE $0xdf // mov rdi, r11 - LONG $0x03efc148 // shr rdi, 3 - LONG $0x0cb60f45; BYTE $0x3e // movzx r9d, byte [r14 + rdi] - WORD $0x8944; BYTE $0xd9 // mov ecx, r11d - WORD $0xe180; BYTE $0x06 // and cl, 6 - WORD $0x01b3 // mov bl, 1 - WORD $0xe3d2 // shl bl, cl - WORD $0x3044; BYTE $0xc8 // xor al, r9b - WORD $0xc320 // and bl, al - WORD $0x3044; BYTE $0xcb // xor bl, r9b - LONG $0x3e1c8841 // mov byte [r14 + rdi], bl LONG $0x02c38349 // add r11, 2 LONG $0x046e3944 // cmp dword [rsi + 4], r13d LONG $0x08768d48 // lea rsi, [rsi + 8] @@ -20362,23 +21395,23 @@ LBB4_152: WORD $0xe2d2 // shl dl, cl WORD $0xc220 // and dl, al WORD $0xda30 // xor dl, bl - LONG $0x3e148841 // mov byte [r14 + rdi], dl + LONG $0x3c148841 // mov byte [r12 + rdi], dl WORD $0x394d; BYTE $0xda // cmp r10, r11 - JNE LBB4_152 + JNE LBB4_150 -LBB4_153: +LBB4_151: LONG $0x01c0f641 // test r8b, 1 - JE LBB4_179 + JE LBB4_174 WORD $0x3944; BYTE $0x2e // cmp dword [rsi], r13d - JMP LBB4_170 + JMP LBB4_172 -LBB4_157: +LBB4_155: WORD $0x894d; BYTE $0xc2 // mov r10, r8 LONG $0xfee28349 // and r10, -2 WORD $0x3145; BYTE $0xc9 // xor r9d, r9d LONG $0x24748b4c; BYTE $0x68 // mov r14, qword [rsp + 104] -LBB4_158: +LBB4_156: WORD $0x894c; BYTE $0xc8 // mov rax, r9 LONG $0x0e1c3846 // cmp byte [rsi + r9], r11b WORD $0x950f; BYTE $0xd3 // setne bl @@ -20406,14 +21439,14 @@ LBB4_158: WORD $0xd030 // xor al, dl LONG $0x3e048841 // mov byte [r14 + rdi], al WORD $0x394d; BYTE $0xca // cmp r10, r9 - JNE LBB4_158 + JNE LBB4_156 -LBB4_159: +LBB4_157: WORD $0x014c; BYTE $0xce // add rsi, r9 LONG $0x01c0f641 // test r8b, 1 - JE LBB4_179 + JE LBB4_174 -LBB4_161: +LBB4_159: WORD $0x3844; BYTE $0x1e // cmp byte [rsi], r11b WORD $0x950f; BYTE $0xd0 // setne al WORD $0xd8f6 // neg al @@ -20429,32 +21462,37 @@ LBB4_161: WORD $0xc320 // and bl, al WORD $0x3040; BYTE $0xfb // xor bl, dil LONG $0x101c8841 // mov byte [r8 + rdx], bl - JMP LBB4_179 + JMP LBB4_174 -LBB4_162: - WORD $0x894d; BYTE $0xc2 // mov r10, r8 - LONG $0xfee28349 // and r10, -2 +LBB4_160: + WORD $0x894d; BYTE $0xc1 // mov r9, r8 + LONG $0xfee18349 // and r9, -2 WORD $0x3145; BYTE $0xdb // xor r11d, r11d -LBB4_163: +LBB4_161: LONG $0x062e0f66 // ucomisd xmm0, qword [rsi] + WORD $0x9a0f; BYTE $0xd1 // setp cl WORD $0x950f; BYTE $0xd0 // setne al + WORD $0xc808 // or al, cl WORD $0xd8f6 // neg al WORD $0x894c; BYTE $0xdf // mov rdi, r11 LONG $0x03efc148 // shr rdi, 3 - LONG $0x0cb60f45; BYTE $0x3e // movzx r9d, byte [r14 + rdi] - WORD $0x3044; BYTE $0xc8 // xor al, r9b + WORD $0x894d; BYTE $0xe6 // mov r14, r12 + LONG $0x14b60f45; BYTE $0x3c // movzx r10d, byte [r12 + rdi] WORD $0x8944; BYTE $0xd9 // mov ecx, r11d WORD $0xe180; BYTE $0x06 // and cl, 6 WORD $0x01b3 // mov bl, 1 WORD $0xe3d2 // shl bl, cl + WORD $0x3044; BYTE $0xd0 // xor al, r10b WORD $0xc320 // and bl, al - WORD $0x3044; BYTE $0xcb // xor bl, r9b - LONG $0x3e1c8841 // mov byte [r14 + rdi], bl + WORD $0x3044; BYTE $0xd3 // xor bl, r10b + LONG $0x3c1c8841 // mov byte [r12 + rdi], bl LONG $0x02c38349 // add r11, 2 LONG $0x462e0f66; BYTE $0x08 // ucomisd xmm0, qword [rsi + 8] LONG $0x10768d48 // lea rsi, [rsi + 16] + LONG $0xd29a0f41 // setp r10b WORD $0x950f; BYTE $0xd0 // setne al + WORD $0x0844; BYTE $0xd0 // or al, r10b WORD $0xd8f6 // neg al WORD $0xd830 // xor al, bl WORD $0xc980; BYTE $0x01 // or cl, 1 @@ -20462,78 +21500,37 @@ LBB4_163: WORD $0xe2d2 // shl dl, cl WORD $0xc220 // and dl, al WORD $0xda30 // xor dl, bl - LONG $0x3e148841 // mov byte [r14 + rdi], dl - WORD $0x394d; BYTE $0xda // cmp r10, r11 - JNE LBB4_163 - -LBB4_164: - LONG $0x01c0f641 // test r8b, 1 - JE LBB4_179 - LONG $0x062e0f66 // ucomisd xmm0, qword [rsi] - JMP LBB4_170 - -LBB4_166: - WORD $0x894d; BYTE $0xc2 // mov r10, r8 - LONG $0xfee28349 // and r10, -2 - WORD $0x3145; BYTE $0xdb // xor r11d, r11d - -LBB4_167: - WORD $0x394c; BYTE $0x2e // cmp qword [rsi], r13 - WORD $0x950f; BYTE $0xd0 // setne al - WORD $0xd8f6 // neg al - WORD $0x894c; BYTE $0xdf // mov rdi, r11 - LONG $0x03efc148 // shr rdi, 3 - LONG $0x0cb60f45; BYTE $0x3e // movzx r9d, byte [r14 + rdi] - WORD $0x8944; BYTE $0xd9 // mov ecx, r11d - WORD $0xe180; BYTE $0x06 // and cl, 6 - WORD $0x01b3 // mov bl, 1 - WORD $0xe3d2 // shl bl, cl - WORD $0x3044; BYTE $0xc8 // xor al, r9b - WORD $0xc320 // and bl, al - WORD $0x3044; BYTE $0xcb // xor bl, r9b - LONG $0x3e1c8841 // mov byte [r14 + rdi], bl - LONG $0x02c38349 // add r11, 2 - LONG $0x086e394c // cmp qword [rsi + 8], r13 - LONG $0x10768d48 // lea rsi, [rsi + 16] - WORD $0x950f; BYTE $0xd0 // setne al - WORD $0xd8f6 // neg al - WORD $0xd830 // xor al, bl - WORD $0xc980; BYTE $0x01 // or cl, 1 - WORD $0x01b2 // mov dl, 1 - WORD $0xe2d2 // shl dl, cl - WORD $0xc220 // and dl, al - WORD $0xda30 // xor dl, bl - LONG $0x3e148841 // mov byte [r14 + rdi], dl - WORD $0x394d; BYTE $0xda // cmp r10, r11 - JNE LBB4_167 + LONG $0x3c148841 // mov byte [r12 + rdi], dl + WORD $0x394d; BYTE $0xd9 // cmp r9, r11 + JNE LBB4_161 -LBB4_168: +LBB4_162: LONG $0x01c0f641 // test r8b, 1 - JE LBB4_179 - WORD $0x394c; BYTE $0x2e // cmp qword [rsi], r13 - -LBB4_170: - WORD $0x950f; BYTE $0xd0 // setne al - WORD $0xd8f6 // neg al - WORD $0x894c; BYTE $0xda // mov rdx, r11 - LONG $0x03eac148 // shr rdx, 3 - LONG $0x16348a41 // mov sil, byte [r14 + rdx] + JE LBB4_174 + LONG $0x062e0f66 // ucomisd xmm0, qword [rsi] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd2 // setne dl + WORD $0xc208 // or dl, al + WORD $0xdaf6 // neg dl + WORD $0x894c; BYTE $0xd8 // mov rax, r11 + LONG $0x03e8c148 // shr rax, 3 + LONG $0x04348a41 // mov sil, byte [r12 + rax] LONG $0x07e38041 // and r11b, 7 WORD $0x01b3 // mov bl, 1 WORD $0x8944; BYTE $0xd9 // mov ecx, r11d WORD $0xe3d2 // shl bl, cl - WORD $0x3040; BYTE $0xf0 // xor al, sil - WORD $0xc320 // and bl, al + WORD $0x3040; BYTE $0xf2 // xor dl, sil + WORD $0xd320 // and bl, dl WORD $0x3040; BYTE $0xf3 // xor bl, sil - LONG $0x161c8841 // mov byte [r14 + rdx], bl - JMP LBB4_179 + LONG $0x041c8841 // mov byte [r12 + rax], bl + JMP LBB4_174 -LBB4_171: +LBB4_164: WORD $0x894d; BYTE $0xc1 // mov r9, r8 LONG $0xfee18349 // and r9, -2 WORD $0x3145; BYTE $0xf6 // xor r14d, r14d -LBB4_172: +LBB4_165: WORD $0x8948; BYTE $0xf0 // mov rax, rsi LONG $0x2e394466 // cmp word [rsi], r13w WORD $0x950f; BYTE $0xd2 // setne dl @@ -20562,11 +21559,11 @@ LBB4_172: WORD $0xd830 // xor al, bl LONG $0x3c048841 // mov byte [r12 + rdi], al WORD $0x394d; BYTE $0xf1 // cmp r9, r14 - JNE LBB4_172 + JNE LBB4_165 -LBB4_173: +LBB4_166: LONG $0x01c0f641 // test r8b, 1 - JE LBB4_179 + JE LBB4_174 LONG $0x2e394466 // cmp word [rsi], r13w WORD $0x950f; BYTE $0xd0 // setne al WORD $0xd8f6 // neg al @@ -20580,85 +21577,149 @@ LBB4_173: WORD $0x3040; BYTE $0xf8 // xor al, dil WORD $0xc320 // and bl, al WORD $0x3040; BYTE $0xfb // xor bl, dil - LONG $0x141c8841 // mov byte [r12 + rdx], bl - JMP LBB4_179 + JMP LBB4_173 -LBB4_175: +LBB4_168: WORD $0x894d; BYTE $0xc2 // mov r10, r8 LONG $0xfee28349 // and r10, -2 + WORD $0x3145; BYTE $0xdb // xor r11d, r11d + +LBB4_169: + WORD $0x394c; BYTE $0x2e // cmp qword [rsi], r13 + WORD $0x950f; BYTE $0xd0 // setne al + WORD $0xd8f6 // neg al + WORD $0x894c; BYTE $0xdf // mov rdi, r11 + LONG $0x03efc148 // shr rdi, 3 + WORD $0x894d; BYTE $0xe6 // mov r14, r12 + LONG $0x0cb60f45; BYTE $0x3c // movzx r9d, byte [r12 + rdi] + WORD $0x8944; BYTE $0xd9 // mov ecx, r11d + WORD $0xe180; BYTE $0x06 // and cl, 6 + WORD $0x01b3 // mov bl, 1 + WORD $0xe3d2 // shl bl, cl + WORD $0x3044; BYTE $0xc8 // xor al, r9b + WORD $0xc320 // and bl, al + WORD $0x3044; BYTE $0xcb // xor bl, r9b + LONG $0x3c1c8841 // mov byte [r12 + rdi], bl + LONG $0x02c38349 // add r11, 2 + LONG $0x086e394c // cmp qword [rsi + 8], r13 + LONG $0x10768d48 // lea rsi, [rsi + 16] + WORD $0x950f; BYTE $0xd0 // setne al + WORD $0xd8f6 // neg al + WORD $0xd830 // xor al, bl + WORD $0xc980; BYTE $0x01 // or cl, 1 + WORD $0x01b2 // mov dl, 1 + WORD $0xe2d2 // shl dl, cl + WORD $0xc220 // and dl, al + WORD $0xda30 // xor dl, bl + LONG $0x3c148841 // mov byte [r12 + rdi], dl + WORD $0x394d; BYTE $0xda // cmp r10, r11 + JNE LBB4_169 + +LBB4_170: + LONG $0x01c0f641 // test r8b, 1 + JE LBB4_174 + WORD $0x394c; BYTE $0x2e // cmp qword [rsi], r13 + +LBB4_172: + WORD $0x950f; BYTE $0xd0 // setne al + WORD $0xd8f6 // neg al + WORD $0x894c; BYTE $0xda // mov rdx, r11 + LONG $0x03eac148 // shr rdx, 3 + LONG $0x14348a41 // mov sil, byte [r12 + rdx] + LONG $0x07e38041 // and r11b, 7 + WORD $0x01b3 // mov bl, 1 + WORD $0x8944; BYTE $0xd9 // mov ecx, r11d + WORD $0xe3d2 // shl bl, cl + WORD $0x3040; BYTE $0xf0 // xor al, sil + WORD $0xc320 // and bl, al + WORD $0x3040; BYTE $0xf3 // xor bl, sil + +LBB4_173: + LONG $0x141c8841 // mov byte [r12 + rdx], bl + +LBB4_174: + MOVQ 320(SP), SP + RET + +LBB4_175: + WORD $0x894d; BYTE $0xc1 // mov r9, r8 + LONG $0xfee18349 // and r9, -2 WORD $0xf631 // xor esi, esi - WORD $0x894d; BYTE $0xde // mov r14, r11 + WORD $0x894d; BYTE $0xfe // mov r14, r15 LBB4_176: WORD $0x2e0f; BYTE $0x03 // ucomiss xmm0, dword [rbx] + WORD $0x9a0f; BYTE $0xd1 // setp cl WORD $0x950f; BYTE $0xd2 // setne dl + WORD $0xca08 // or dl, cl WORD $0xdaf6 // neg dl WORD $0x8948; BYTE $0xf7 // mov rdi, rsi LONG $0x03efc148 // shr rdi, 3 - LONG $0x0cb60f45; BYTE $0x3e // movzx r9d, byte [r14 + rdi] - WORD $0x3044; BYTE $0xca // xor dl, r9b + LONG $0x14b60f45; BYTE $0x3e // movzx r10d, byte [r14 + rdi] WORD $0xf189 // mov ecx, esi WORD $0xe180; BYTE $0x06 // and cl, 6 - WORD $0x01b0 // mov al, 1 - WORD $0xe0d2 // shl al, cl - WORD $0xd020 // and al, dl - WORD $0x3044; BYTE $0xc8 // xor al, r9b - LONG $0x3e048841 // mov byte [r14 + rdi], al + WORD $0xb341; BYTE $0x01 // mov r11b, 1 + WORD $0xd241; BYTE $0xe3 // shl r11b, cl + WORD $0x3044; BYTE $0xd2 // xor dl, r10b + WORD $0x2041; BYTE $0xd3 // and r11b, dl + WORD $0x3045; BYTE $0xd3 // xor r11b, r10b + LONG $0x3e1c8845 // mov byte [r14 + rdi], r11b LONG $0x02c68348 // add rsi, 2 LONG $0x04432e0f // ucomiss xmm0, dword [rbx + 4] LONG $0x085b8d48 // lea rbx, [rbx + 8] - LONG $0xd1950f41 // setne r9b - WORD $0xf641; BYTE $0xd9 // neg r9b - WORD $0x3041; BYTE $0xc1 // xor r9b, al + LONG $0xd29a0f41 // setp r10b + WORD $0x950f; BYTE $0xd2 // setne dl + WORD $0x0844; BYTE $0xd2 // or dl, r10b + WORD $0xdaf6 // neg dl + WORD $0x3044; BYTE $0xda // xor dl, r11b WORD $0xc980; BYTE $0x01 // or cl, 1 - WORD $0x01b2 // mov dl, 1 - WORD $0xe2d2 // shl dl, cl - WORD $0x2044; BYTE $0xca // and dl, r9b - WORD $0xc230 // xor dl, al - LONG $0x3e148841 // mov byte [r14 + rdi], dl - WORD $0x3949; BYTE $0xf2 // cmp r10, rsi + WORD $0x01b0 // mov al, 1 + WORD $0xe0d2 // shl al, cl + WORD $0xd020 // and al, dl + WORD $0x3044; BYTE $0xd8 // xor al, r11b + LONG $0x3e048841 // mov byte [r14 + rdi], al + WORD $0x3949; BYTE $0xf1 // cmp r9, rsi JNE LBB4_176 LBB4_177: LONG $0x01c0f641 // test r8b, 1 - JE LBB4_179 + JE LBB4_174 WORD $0x2e0f; BYTE $0x03 // ucomiss xmm0, dword [rbx] - WORD $0x950f; BYTE $0xd0 // setne al - WORD $0xd8f6 // neg al - WORD $0x8948; BYTE $0xf2 // mov rdx, rsi - LONG $0x03eac148 // shr rdx, 3 - LONG $0x133c8a41 // mov dil, byte [r11 + rdx] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd2 // setne dl + WORD $0xc208 // or dl, al + WORD $0xdaf6 // neg dl + WORD $0x8948; BYTE $0xf0 // mov rax, rsi + LONG $0x03e8c148 // shr rax, 3 + LONG $0x073c8a41 // mov dil, byte [r15 + rax] LONG $0x07e68040 // and sil, 7 WORD $0x01b3 // mov bl, 1 WORD $0xf189 // mov ecx, esi WORD $0xe3d2 // shl bl, cl - WORD $0x3040; BYTE $0xf8 // xor al, dil - WORD $0xc320 // and bl, al + WORD $0x3040; BYTE $0xfa // xor dl, dil + WORD $0xd320 // and bl, dl WORD $0x3040; BYTE $0xfb // xor bl, dil - LONG $0x131c8841 // mov byte [r11 + rdx], bl + LONG $0x071c8841 // mov byte [r15 + rax], bl + JMP LBB4_174 LBB4_179: - MOVQ 304(SP), SP - RET - -LBB4_180: LONG $0xf0e28349 // and r10, -16 WORD $0x894c; BYTE $0xd0 // mov rax, r10 LONG $0x05e0c148 // shl rax, 5 WORD $0x0148; BYTE $0xf0 // add rax, rsi - QUAD $0x0000012024848948 // mov qword [rsp + 288], rax - QUAD $0x000000f02494894c // mov qword [rsp + 240], r10 - LONG $0x96048d4b // lea rax, [r14 + 4*r10] + QUAD $0x0000013024848948 // mov qword [rsp + 304], rax + QUAD $0x000000d82494894c // mov qword [rsp + 216], r10 + LONG $0x94048d4b // lea rax, [r12 + 4*r10] LONG $0x24448948; BYTE $0x68 // mov qword [rsp + 104], rax LONG $0xc3b60f41 // movzx eax, r11b LONG $0xc86e0f66 // movd xmm1, eax LONG $0xc0ef0f66 // pxor xmm0, xmm0 LONG $0x00380f66; BYTE $0xc8 // pshufb xmm1, xmm0 - QUAD $0x000100248c7f0f66; BYTE $0x00 // movdqa oword [rsp + 256], xmm1 + QUAD $0x000120248c7f0f66; BYTE $0x00 // movdqa oword [rsp + 288], xmm1 WORD $0xc031 // xor eax, eax - QUAD $0x0000008024b4894c // mov qword [rsp + 128], r14 + QUAD $0x0000008024a4894c // mov qword [rsp + 128], r12 -LBB4_181: +LBB4_180: WORD $0x8949; BYTE $0xc1 // mov r9, rax QUAD $0x0000009824848948 // mov qword [rsp + 152], rax WORD $0x8948; BYTE $0xc1 // mov rcx, rax @@ -20695,14 +21756,14 @@ LBB4_181: LONG $0x6e0f4466; BYTE $0xc9 // movd xmm9, ecx LONG $0x164cb60f; BYTE $0x09 // movzx ecx, byte [rsi + rdx + 9] LONG $0xc16e0f66 // movd xmm0, ecx - QUAD $0x0000d024847f0f66; BYTE $0x00 // movdqa oword [rsp + 208], xmm0 + QUAD $0x0000c024847f0f66; BYTE $0x00 // movdqa oword [rsp + 192], xmm0 LONG $0x164cb60f; BYTE $0x0a // movzx ecx, byte [rsi + rdx + 10] LONG $0x6e0f4466; BYTE $0xe1 // movd xmm12, ecx LONG $0x164cb60f; BYTE $0x0b // movzx ecx, byte [rsi + rdx + 11] LONG $0x6e0f4466; BYTE $0xe9 // movd xmm13, ecx LONG $0x164cb60f; BYTE $0x0c // movzx ecx, byte [rsi + rdx + 12] LONG $0xc16e0f66 // movd xmm0, ecx - QUAD $0x0000e024847f0f66; BYTE $0x00 // movdqa oword [rsp + 224], xmm0 + QUAD $0x0000f024847f0f66; BYTE $0x00 // movdqa oword [rsp + 240], xmm0 LONG $0x164cb60f; BYTE $0x0d // movzx ecx, byte [rsi + rdx + 13] LONG $0x6e0f4466; BYTE $0xd9 // movd xmm11, ecx LONG $0x164cb60f; BYTE $0x0e // movzx ecx, byte [rsi + rdx + 14] @@ -20710,10 +21771,10 @@ LBB4_181: LONG $0x164cb60f; BYTE $0x0f // movzx ecx, byte [rsi + rdx + 15] LONG $0xc16e0f66 // movd xmm0, ecx QUAD $0x0000b024847f0f66; BYTE $0x00 // movdqa oword [rsp + 176], xmm0 - LONG $0x24548948; BYTE $0x18 // mov qword [rsp + 24], rdx + LONG $0x24548948; BYTE $0x20 // mov qword [rsp + 32], rdx WORD $0x8948; BYTE $0xd1 // mov rcx, rdx LONG $0x20c98348 // or rcx, 32 - LONG $0x244c8948; BYTE $0x28 // mov qword [rsp + 40], rcx + LONG $0x244c8948; BYTE $0x18 // mov qword [rsp + 24], rcx LONG $0x40cb8349 // or r11, 64 LONG $0x245c894c; BYTE $0x70 // mov qword [rsp + 112], r11 LONG $0x60c88349 // or r8, 96 @@ -20726,9 +21787,9 @@ LBB4_181: LONG $0xe0cc8149; WORD $0x0000; BYTE $0x00 // or r12, 224 LONG $0x00cf8149; WORD $0x0001; BYTE $0x00 // or r15, 256 LONG $0x20cf8148; WORD $0x0001; BYTE $0x00 // or rdi, 288 - QUAD $0x000000c024bc8948 // mov qword [rsp + 192], rdi + QUAD $0x000000e024bc8948 // mov qword [rsp + 224], rdi LONG $0x40c98149; WORD $0x0001; BYTE $0x00 // or r9, 320 - LONG $0x244c894c; BYTE $0x20 // mov qword [rsp + 32], r9 + LONG $0x244c894c; BYTE $0x28 // mov qword [rsp + 40], r9 LONG $0x245c8b48; BYTE $0x30 // mov rbx, qword [rsp + 48] LONG $0x60cb8148; WORD $0x0001; BYTE $0x00 // or rbx, 352 LONG $0x245c8948; BYTE $0x30 // mov qword [rsp + 48], rbx @@ -20742,7 +21803,7 @@ LBB4_181: WORD $0x8948; BYTE $0xd1 // mov rcx, rdx LONG $0xe0c98148; WORD $0x0001; BYTE $0x00 // or rcx, 480 LONG $0x244c8948; BYTE $0x38 // mov qword [rsp + 56], rcx - LONG $0x24548b48; BYTE $0x28 // mov rdx, qword [rsp + 40] + LONG $0x24548b48; BYTE $0x18 // mov rdx, qword [rsp + 24] LONG $0x203a0f66; WORD $0x1624; BYTE $0x01 // pinsrb xmm4, byte [rsi + rdx], 1 QUAD $0x021e24203a0f4266 // pinsrb xmm4, byte [rsi + r11], 2 QUAD $0x030624203a0f4266 // pinsrb xmm4, byte [rsi + r8], 3 @@ -20760,7 +21821,7 @@ LBB4_181: LONG $0x245c8b48; BYTE $0x10 // mov rbx, qword [rsp + 16] LONG $0x203a0f66; WORD $0x1e24; BYTE $0x0e // pinsrb xmm4, byte [rsi + rbx], 14 LONG $0x203a0f66; WORD $0x0e24; BYTE $0x0f // pinsrb xmm4, byte [rsi + rcx], 15 - LONG $0x245c8b48; BYTE $0x28 // mov rbx, qword [rsp + 40] + LONG $0x245c8b48; BYTE $0x18 // mov rbx, qword [rsp + 24] QUAD $0x01011e5c203a0f66 // pinsrb xmm3, byte [rsi + rbx + 1], 1 QUAD $0x011e5c203a0f4266; BYTE $0x02 // pinsrb xmm3, byte [rsi + r11 + 1], 2 QUAD $0x01065c203a0f4266; BYTE $0x03 // pinsrb xmm3, byte [rsi + r8 + 1], 3 @@ -20781,17 +21842,17 @@ LBB4_181: LONG $0x24448948; BYTE $0x58 // mov qword [rsp + 88], rax LONG $0x24448b48; BYTE $0x10 // mov rax, qword [rsp + 16] QUAD $0x0e01065c203a0f66 // pinsrb xmm3, byte [rsi + rax + 1], 14 - QUAD $0x00010024b46f0f66; BYTE $0x00 // movdqa xmm6, oword [rsp + 256] + QUAD $0x00012024b46f0f66; BYTE $0x00 // movdqa xmm6, oword [rsp + 288] LONG $0xe6740f66 // pcmpeqb xmm4, xmm6 QUAD $0x0f010e5c203a0f66 // pinsrb xmm3, byte [rsi + rcx + 1], 15 LONG $0xde740f66 // pcmpeqb xmm3, xmm6 QUAD $0x00000100856f0f66 // movdqa xmm0, oword 256[rbp] /* [rip + .LCPI4_16] */ LONG $0xd8df0f66 // pandn xmm3, xmm0 LONG $0xdcfc0f66 // paddb xmm3, xmm4 - LONG $0x24448b48; BYTE $0x18 // mov rax, qword [rsp + 24] + LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] LONG $0x0654b60f; BYTE $0x10 // movzx edx, byte [rsi + rax + 16] LONG $0x6e0f4466; BYTE $0xd2 // movd xmm10, edx - LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] + LONG $0x24448b48; BYTE $0x18 // mov rax, qword [rsp + 24] QUAD $0x0102066c203a0f66 // pinsrb xmm5, byte [rsi + rax + 2], 1 LONG $0x24548b4c; BYTE $0x70 // mov r10, qword [rsp + 112] QUAD $0x02166c203a0f4266; BYTE $0x02 // pinsrb xmm5, byte [rsi + r10 + 2], 2 @@ -20804,9 +21865,9 @@ LBB4_181: WORD $0x894c; BYTE $0xeb // mov rbx, r13 QUAD $0x022e6c203a0f4266; BYTE $0x07 // pinsrb xmm5, byte [rsi + r13 + 2], 7 QUAD $0x023e6c203a0f4266; BYTE $0x08 // pinsrb xmm5, byte [rsi + r15 + 2], 8 - QUAD $0x000000c024948b48 // mov rdx, qword [rsp + 192] + QUAD $0x000000e024948b48 // mov rdx, qword [rsp + 224] QUAD $0x0902166c203a0f66 // pinsrb xmm5, byte [rsi + rdx + 2], 9 - LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] + LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] QUAD $0x0a02066c203a0f66 // pinsrb xmm5, byte [rsi + rax + 2], 10 QUAD $0x02266c203a0f4266; BYTE $0x0b // pinsrb xmm5, byte [rsi + r12 + 2], 11 LONG $0x244c8b48; BYTE $0x50 // mov rcx, qword [rsp + 80] @@ -20816,7 +21877,7 @@ LBB4_181: QUAD $0x022e6c203a0f4266; BYTE $0x0e // pinsrb xmm5, byte [rsi + r13 + 2], 14 LONG $0x24448b4c; BYTE $0x38 // mov r8, qword [rsp + 56] QUAD $0x02066c203a0f4266; BYTE $0x0f // pinsrb xmm5, byte [rsi + r8 + 2], 15 - LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] + LONG $0x24448b48; BYTE $0x18 // mov rax, qword [rsp + 24] QUAD $0x0103067c203a0f66 // pinsrb xmm7, byte [rsi + rax + 3], 1 QUAD $0x03167c203a0f4266; BYTE $0x02 // pinsrb xmm7, byte [rsi + r10 + 3], 2 QUAD $0x03033e7c203a0f66 // pinsrb xmm7, byte [rsi + rdi + 3], 3 @@ -20826,7 +21887,7 @@ LBB4_181: QUAD $0x07031e7c203a0f66 // pinsrb xmm7, byte [rsi + rbx + 3], 7 QUAD $0x033e7c203a0f4266; BYTE $0x08 // pinsrb xmm7, byte [rsi + r15 + 3], 8 QUAD $0x0903167c203a0f66 // pinsrb xmm7, byte [rsi + rdx + 3], 9 - LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] + LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] QUAD $0x0a03067c203a0f66 // pinsrb xmm7, byte [rsi + rax + 3], 10 QUAD $0x03267c203a0f4266; BYTE $0x0b // pinsrb xmm7, byte [rsi + r12 + 3], 11 QUAD $0x0c030e7c203a0f66 // pinsrb xmm7, byte [rsi + rcx + 3], 12 @@ -20834,7 +21895,7 @@ LBB4_181: QUAD $0x0d03067c203a0f66 // pinsrb xmm7, byte [rsi + rax + 3], 13 QUAD $0x032e7c203a0f4266; BYTE $0x0e // pinsrb xmm7, byte [rsi + r13 + 3], 14 QUAD $0x03067c203a0f4266; BYTE $0x0f // pinsrb xmm7, byte [rsi + r8 + 3], 15 - LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] + LONG $0x24448b48; BYTE $0x18 // mov rax, qword [rsp + 24] QUAD $0x0104064c203a0f66 // pinsrb xmm1, byte [rsi + rax + 4], 1 QUAD $0x04164c203a0f4266; BYTE $0x02 // pinsrb xmm1, byte [rsi + r10 + 4], 2 QUAD $0x03043e4c203a0f66 // pinsrb xmm1, byte [rsi + rdi + 4], 3 @@ -20848,7 +21909,7 @@ LBB4_181: QUAD $0x043e4c203a0f4266; BYTE $0x08 // pinsrb xmm1, byte [rsi + r15 + 4], 8 QUAD $0x0904164c203a0f66 // pinsrb xmm1, byte [rsi + rdx + 4], 9 WORD $0x8948; BYTE $0xd3 // mov rbx, rdx - LONG $0x24548b48; BYTE $0x20 // mov rdx, qword [rsp + 32] + LONG $0x24548b48; BYTE $0x28 // mov rdx, qword [rsp + 40] QUAD $0x0a04164c203a0f66 // pinsrb xmm1, byte [rsi + rdx + 4], 10 QUAD $0x04264c203a0f4266; BYTE $0x0b // pinsrb xmm1, byte [rsi + r12 + 4], 11 QUAD $0x0c040e4c203a0f66 // pinsrb xmm1, byte [rsi + rcx + 4], 12 @@ -20863,7 +21924,7 @@ LBB4_181: QUAD $0x00000120856f0f66 // movdqa xmm0, oword 288[rbp] /* [rip + .LCPI4_18] */ LONG $0xf8df0f66 // pandn xmm7, xmm0 LONG $0xfdeb0f66 // por xmm7, xmm5 - LONG $0x244c8b48; BYTE $0x18 // mov rcx, qword [rsp + 24] + LONG $0x244c8b48; BYTE $0x20 // mov rcx, qword [rsp + 32] LONG $0x0e54b60f; BYTE $0x11 // movzx edx, byte [rsi + rcx + 17] LONG $0xe26e0f66 // movd xmm4, edx LONG $0xce740f66 // pcmpeqb xmm1, xmm6 @@ -20877,7 +21938,7 @@ LBB4_181: LONG $0xcbeb0f66 // por xmm1, xmm3 LONG $0x0e54b60f; BYTE $0x13 // movzx edx, byte [rsi + rcx + 19] LONG $0xea6e0f66 // movd xmm5, edx - LONG $0x24548b48; BYTE $0x28 // mov rdx, qword [rsp + 40] + LONG $0x24548b48; BYTE $0x18 // mov rdx, qword [rsp + 24] QUAD $0x01051654203a0f66 // pinsrb xmm2, byte [rsi + rdx + 5], 1 QUAD $0x051654203a0f4266; BYTE $0x02 // pinsrb xmm2, byte [rsi + r10 + 5], 2 LONG $0x244c8b48; BYTE $0x40 // mov rcx, qword [rsp + 64] @@ -20892,7 +21953,7 @@ LBB4_181: QUAD $0x053e54203a0f4266; BYTE $0x08 // pinsrb xmm2, byte [rsi + r15 + 5], 8 WORD $0x8949; BYTE $0xd9 // mov r9, rbx QUAD $0x09051e54203a0f66 // pinsrb xmm2, byte [rsi + rbx + 5], 9 - LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] + LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] QUAD $0x0a050654203a0f66 // pinsrb xmm2, byte [rsi + rax + 5], 10 LONG $0x244c8b48; BYTE $0x30 // mov rcx, qword [rsp + 48] QUAD $0x0b050e54203a0f66 // pinsrb xmm2, byte [rsi + rcx + 5], 11 @@ -20952,7 +22013,7 @@ LBB4_181: QUAD $0x00000150856f0f66 // movdqa xmm0, oword 336[rbp] /* [rip + .LCPI4_21] */ LONG $0xdf0f4466; BYTE $0xc0 // pandn xmm8, xmm0 LONG $0xeb0f4466; BYTE $0xc2 // por xmm8, xmm2 - LONG $0x244c8b4c; BYTE $0x18 // mov r9, qword [rsp + 24] + LONG $0x244c8b4c; BYTE $0x20 // mov r9, qword [rsp + 32] LONG $0x54b60f42; WORD $0x140e // movzx edx, byte [rsi + r9 + 20] LONG $0xda6e0f66 // movd xmm3, edx WORD $0x8948; BYTE $0xc8 // mov rax, rcx @@ -20963,7 +22024,7 @@ LBB4_181: LONG $0xeb0f4566; BYTE $0xf0 // por xmm14, xmm8 LONG $0x54b60f42; WORD $0x150e // movzx edx, byte [rsi + r9 + 21] LONG $0xd26e0f66 // movd xmm2, edx - LONG $0x244c8b48; BYTE $0x28 // mov rcx, qword [rsp + 40] + LONG $0x244c8b48; BYTE $0x18 // mov rcx, qword [rsp + 24] QUAD $0x080e4c203a0f4466; BYTE $0x01 // pinsrb xmm9, byte [rsi + rcx + 8], 1 QUAD $0x08164c203a0f4666; BYTE $0x02 // pinsrb xmm9, byte [rsi + r10 + 8], 2 LONG $0x24448b4c; BYTE $0x40 // mov r8, qword [rsp + 64] @@ -20976,9 +22037,9 @@ LBB4_181: QUAD $0x000000a024bc8b4c // mov r15, qword [rsp + 160] QUAD $0x083e4c203a0f4666; BYTE $0x07 // pinsrb xmm9, byte [rsi + r15 + 8], 7 QUAD $0x08264c203a0f4666; BYTE $0x08 // pinsrb xmm9, byte [rsi + r12 + 8], 8 - QUAD $0x000000c024a48b4c // mov r12, qword [rsp + 192] + QUAD $0x000000e024a48b4c // mov r12, qword [rsp + 224] QUAD $0x08264c203a0f4666; BYTE $0x09 // pinsrb xmm9, byte [rsi + r12 + 8], 9 - LONG $0x24548b48; BYTE $0x20 // mov rdx, qword [rsp + 32] + LONG $0x24548b48; BYTE $0x28 // mov rdx, qword [rsp + 40] QUAD $0x08164c203a0f4466; BYTE $0x0a // pinsrb xmm9, byte [rsi + rdx + 8], 10 QUAD $0x081e4c203a0f4466; BYTE $0x0b // pinsrb xmm9, byte [rsi + rbx + 8], 11 QUAD $0x08364c203a0f4666; BYTE $0x0c // pinsrb xmm9, byte [rsi + r14 + 8], 12 @@ -20991,7 +22052,7 @@ LBB4_181: LONG $0xca6e0f66 // movd xmm1, edx LONG $0xc66f0f66 // movdqa xmm0, xmm6 LONG $0x740f4466; BYTE $0xce // pcmpeqb xmm9, xmm6 - QUAD $0x00d024b46f0f4466; WORD $0x0000 // movdqa xmm14, oword [rsp + 208] + QUAD $0x00c024b46f0f4466; WORD $0x0000 // movdqa xmm14, oword [rsp + 192] QUAD $0x090e74203a0f4466; BYTE $0x01 // pinsrb xmm14, byte [rsi + rcx + 9], 1 QUAD $0x091674203a0f4666; BYTE $0x02 // pinsrb xmm14, byte [rsi + r10 + 9], 2 QUAD $0x090674203a0f4666; BYTE $0x03 // pinsrb xmm14, byte [rsi + r8 + 9], 3 @@ -21006,7 +22067,7 @@ LBB4_181: QUAD $0x093e74203a0f4666; BYTE $0x08 // pinsrb xmm14, byte [rsi + r15 + 9], 8 WORD $0x894d; BYTE $0xe1 // mov r9, r12 QUAD $0x092674203a0f4666; BYTE $0x09 // pinsrb xmm14, byte [rsi + r12 + 9], 9 - LONG $0x246c8b4c; BYTE $0x20 // mov r13, qword [rsp + 32] + LONG $0x246c8b4c; BYTE $0x28 // mov r13, qword [rsp + 40] QUAD $0x092e74203a0f4666; BYTE $0x0a // pinsrb xmm14, byte [rsi + r13 + 9], 10 QUAD $0x091e74203a0f4466; BYTE $0x0b // pinsrb xmm14, byte [rsi + rbx + 9], 11 WORD $0x894d; BYTE $0xf4 // mov r12, r14 @@ -21057,7 +22118,7 @@ LBB4_181: LONG $0x740f4466; BYTE $0xf6 // pcmpeqb xmm14, xmm6 QUAD $0x000100b5df0f4466; BYTE $0x00 // pandn xmm14, oword 256[rbp] /* [rip + .LCPI4_16] */ LONG $0xfc0f4566; BYTE $0xf1 // paddb xmm14, xmm9 - LONG $0x24448b48; BYTE $0x18 // mov rax, qword [rsp + 24] + LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] LONG $0x0654b60f; BYTE $0x17 // movzx edx, byte [rsi + rax + 23] LONG $0x6e0f4466; BYTE $0xc2 // movd xmm8, edx LONG $0x740f4466; BYTE $0xe6 // pcmpeqb xmm12, xmm6 @@ -21067,8 +22128,8 @@ LBB4_181: LONG $0xeb0f4566; BYTE $0xec // por xmm13, xmm12 LONG $0x0654b60f; BYTE $0x18 // movzx edx, byte [rsi + rax + 24] LONG $0x6e0f4466; BYTE $0xe2 // movd xmm12, edx - QUAD $0x00e0248c6f0f4466; WORD $0x0000 // movdqa xmm9, oword [rsp + 224] - LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] + QUAD $0x00f0248c6f0f4466; WORD $0x0000 // movdqa xmm9, oword [rsp + 240] + LONG $0x24448b48; BYTE $0x18 // mov rax, qword [rsp + 24] QUAD $0x0c064c203a0f4466; BYTE $0x01 // pinsrb xmm9, byte [rsi + rax + 12], 1 QUAD $0x0c164c203a0f4666; BYTE $0x02 // pinsrb xmm9, byte [rsi + r10 + 12], 2 WORD $0x894c; BYTE $0xc0 // mov rax, r8 @@ -21084,7 +22145,7 @@ LBB4_181: LONG $0x244c8b48; BYTE $0x60 // mov rcx, qword [rsp + 96] QUAD $0x0c0e4c203a0f4466; BYTE $0x08 // pinsrb xmm9, byte [rsi + rcx + 12], 8 QUAD $0x0c0e4c203a0f4666; BYTE $0x09 // pinsrb xmm9, byte [rsi + r9 + 12], 9 - LONG $0x247c8b48; BYTE $0x20 // mov rdi, qword [rsp + 32] + LONG $0x247c8b48; BYTE $0x28 // mov rdi, qword [rsp + 40] QUAD $0x0c3e4c203a0f4466; BYTE $0x0a // pinsrb xmm9, byte [rsi + rdi + 12], 10 QUAD $0x0c3e4c203a0f4666; BYTE $0x0b // pinsrb xmm9, byte [rsi + r15 + 12], 11 QUAD $0x0c264c203a0f4666; BYTE $0x0c // pinsrb xmm9, byte [rsi + r12 + 12], 12 @@ -21093,7 +22154,7 @@ LBB4_181: QUAD $0x0c164c203a0f4466; BYTE $0x0e // pinsrb xmm9, byte [rsi + rdx + 12], 14 LONG $0x24548b48; BYTE $0x38 // mov rdx, qword [rsp + 56] QUAD $0x0c164c203a0f4466; BYTE $0x0f // pinsrb xmm9, byte [rsi + rdx + 12], 15 - LONG $0x24548b48; BYTE $0x28 // mov rdx, qword [rsp + 40] + LONG $0x24548b48; BYTE $0x18 // mov rdx, qword [rsp + 24] QUAD $0x0d165c203a0f4466; BYTE $0x01 // pinsrb xmm11, byte [rsi + rdx + 13], 1 QUAD $0x0d165c203a0f4666; BYTE $0x02 // pinsrb xmm11, byte [rsi + r10 + 13], 2 QUAD $0x0d065c203a0f4466; BYTE $0x03 // pinsrb xmm11, byte [rsi + rax + 13], 3 @@ -21111,7 +22172,7 @@ LBB4_181: QUAD $0x0d165c203a0f4466; BYTE $0x0e // pinsrb xmm11, byte [rsi + rdx + 13], 14 LONG $0x24548b48; BYTE $0x38 // mov rdx, qword [rsp + 56] QUAD $0x0d165c203a0f4466; BYTE $0x0f // pinsrb xmm11, byte [rsi + rdx + 13], 15 - LONG $0x24548b48; BYTE $0x28 // mov rdx, qword [rsp + 40] + LONG $0x24548b48; BYTE $0x18 // mov rdx, qword [rsp + 24] QUAD $0x0e167c203a0f4466; BYTE $0x01 // pinsrb xmm15, byte [rsi + rdx + 14], 1 QUAD $0x0e167c203a0f4666; BYTE $0x02 // pinsrb xmm15, byte [rsi + r10 + 14], 2 QUAD $0x0e067c203a0f4466; BYTE $0x03 // pinsrb xmm15, byte [rsi + rax + 14], 3 @@ -21130,7 +22191,7 @@ LBB4_181: LONG $0x740f4466; BYTE $0xce // pcmpeqb xmm9, xmm6 QUAD $0x0001308ddf0f4466; BYTE $0x00 // pandn xmm9, oword 304[rbp] /* [rip + .LCPI4_19] */ LONG $0xeb0f4566; BYTE $0xcd // por xmm9, xmm13 - LONG $0x244c8b48; BYTE $0x18 // mov rcx, qword [rsp + 24] + LONG $0x244c8b48; BYTE $0x20 // mov rcx, qword [rsp + 32] LONG $0x0e54b60f; BYTE $0x19 // movzx edx, byte [rsi + rcx + 25] LONG $0x6e0f4466; BYTE $0xea // movd xmm13, edx QUAD $0x000160b5f80f4466; BYTE $0x00 // psubb xmm14, oword 352[rbp] /* [rip + .LCPI4_22] */ @@ -21148,7 +22209,7 @@ LBB4_181: LONG $0x0e54b60f; BYTE $0x1b // movzx edx, byte [rsi + rcx + 27] LONG $0x6e0f4466; BYTE $0xda // movd xmm11, edx QUAD $0x0000b024b46f0f66; BYTE $0x00 // movdqa xmm6, oword [rsp + 176] - LONG $0x245c8b4c; BYTE $0x28 // mov r11, qword [rsp + 40] + LONG $0x245c8b4c; BYTE $0x18 // mov r11, qword [rsp + 24] QUAD $0x0f1e74203a0f4266; BYTE $0x01 // pinsrb xmm6, byte [rsi + r11 + 15], 1 QUAD $0x0f1674203a0f4266; BYTE $0x02 // pinsrb xmm6, byte [rsi + r10 + 15], 2 LONG $0x245c8b48; BYTE $0x40 // mov rbx, qword [rsp + 64] @@ -21173,7 +22234,7 @@ LBB4_181: LONG $0x740f4166; BYTE $0xf6 // pcmpeqb xmm6, xmm14 LONG $0x75df0f66; BYTE $0x60 // pandn xmm6, oword 96[rbp] /* [rip + .LCPI4_6] */ LONG $0xeb0f4166; BYTE $0xf7 // por xmm6, xmm15 - LONG $0x24448b48; BYTE $0x18 // mov rax, qword [rsp + 24] + LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] LONG $0x0654b60f; BYTE $0x1c // movzx edx, byte [rsi + rax + 28] LONG $0x6e0f4466; BYTE $0xfa // movd xmm15, edx LONG $0xeb0f4166; BYTE $0xf1 // por xmm6, xmm9 @@ -21227,10 +22288,10 @@ LBB4_181: LONG $0x740f4166; BYTE $0xe6 // pcmpeqb xmm4, xmm14 QUAD $0x00000100a5df0f66 // pandn xmm4, oword 256[rbp] /* [rip + .LCPI4_16] */ LONG $0xfc0f4166; BYTE $0xe2 // paddb xmm4, xmm10 - LONG $0x247c8b48; BYTE $0x18 // mov rdi, qword [rsp + 24] + LONG $0x247c8b48; BYTE $0x20 // mov rdi, qword [rsp + 32] LONG $0x3e54b60f; BYTE $0x1e // movzx edx, byte [rsi + rdi + 30] LONG $0x6e0f4466; BYTE $0xd2 // movd xmm10, edx - LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] + LONG $0x24448b48; BYTE $0x18 // mov rax, qword [rsp + 24] QUAD $0x0112067c203a0f66 // pinsrb xmm7, byte [rsi + rax + 18], 1 QUAD $0x0113066c203a0f66 // pinsrb xmm5, byte [rsi + rax + 19], 1 QUAD $0x0114065c203a0f66 // pinsrb xmm3, byte [rsi + rax + 20], 1 @@ -21272,7 +22333,7 @@ LBB4_181: LONG $0x24448b48; BYTE $0x60 // mov rax, qword [rsp + 96] QUAD $0x0812067c203a0f66 // pinsrb xmm7, byte [rsi + rax + 18], 8 QUAD $0x120e7c203a0f4266; BYTE $0x09 // pinsrb xmm7, byte [rsi + r9 + 18], 9 - LONG $0x247c8b48; BYTE $0x20 // mov rdi, qword [rsp + 32] + LONG $0x247c8b48; BYTE $0x28 // mov rdi, qword [rsp + 40] QUAD $0x0a123e7c203a0f66 // pinsrb xmm7, byte [rsi + rdi + 18], 10 LONG $0x24548b4c; BYTE $0x30 // mov r10, qword [rsp + 48] QUAD $0x12167c203a0f4266; BYTE $0x0b // pinsrb xmm7, byte [rsi + r10 + 18], 11 @@ -21449,7 +22510,7 @@ LBB4_181: QUAD $0x1d1e4c203a0f4666; BYTE $0x06 // pinsrb xmm9, byte [rsi + r11 + 29], 6 QUAD $0x1e1e54203a0f4666; BYTE $0x06 // pinsrb xmm10, byte [rsi + r11 + 30], 6 QUAD $0x1f1e74203a0f4266; BYTE $0x06 // pinsrb xmm6, byte [rsi + r11 + 31], 6 - QUAD $0x0000008024b48b4c // mov r14, qword [rsp + 128] + QUAD $0x0000008024848b4c // mov r8, qword [rsp + 128] WORD $0x8948; BYTE $0xda // mov rdx, rbx QUAD $0x1c1e7c203a0f4466; BYTE $0x07 // pinsrb xmm15, byte [rsi + rbx + 28], 7 QUAD $0x1d1e4c203a0f4466; BYTE $0x07 // pinsrb xmm9, byte [rsi + rbx + 29], 7 @@ -21519,30 +22580,30 @@ LBB4_181: LONG $0x610f4166; BYTE $0xc0 // punpcklwd xmm0, xmm8 LONG $0x690f4166; BYTE $0xe0 // punpckhwd xmm4, xmm8 QUAD $0x00000098248c8b48 // mov rcx, qword [rsp + 152] - LONG $0x7f0f41f3; WORD $0x8e64; BYTE $0x30 // movdqu oword [r14 + 4*rcx + 48], xmm4 - LONG $0x7f0f41f3; WORD $0x8e44; BYTE $0x20 // movdqu oword [r14 + 4*rcx + 32], xmm0 - LONG $0x7f0f41f3; WORD $0x8e4c; BYTE $0x10 // movdqu oword [r14 + 4*rcx + 16], xmm1 - LONG $0x7f0f41f3; WORD $0x8e14 // movdqu oword [r14 + 4*rcx], xmm2 + LONG $0x7f0f41f3; WORD $0x8864; BYTE $0x30 // movdqu oword [r8 + 4*rcx + 48], xmm4 + LONG $0x7f0f41f3; WORD $0x8844; BYTE $0x20 // movdqu oword [r8 + 4*rcx + 32], xmm0 + LONG $0x7f0f41f3; WORD $0x884c; BYTE $0x10 // movdqu oword [r8 + 4*rcx + 16], xmm1 + LONG $0x7f0f41f3; WORD $0x8814 // movdqu oword [r8 + 4*rcx], xmm2 LONG $0x10c18348 // add rcx, 16 WORD $0x8948; BYTE $0xc8 // mov rax, rcx - QUAD $0x000000f0248c3b48 // cmp rcx, qword [rsp + 240] - JNE LBB4_181 - QUAD $0x000000f824948b4c // mov r10, qword [rsp + 248] - QUAD $0x000000f024943b4c // cmp r10, qword [rsp + 240] + QUAD $0x000000d8248c3b48 // cmp rcx, qword [rsp + 216] + JNE LBB4_180 + QUAD $0x0000010824948b4c // mov r10, qword [rsp + 264] + QUAD $0x000000d824943b4c // cmp r10, qword [rsp + 216] LONG $0x245c8a44; BYTE $0x08 // mov r11b, byte [rsp + 8] - QUAD $0x0000012024b48b48 // mov rsi, qword [rsp + 288] - QUAD $0x0000009024bc8b4c // mov r15, qword [rsp + 144] + QUAD $0x0000013024b48b48 // mov rsi, qword [rsp + 304] + QUAD $0x0000009024b48b4c // mov r14, qword [rsp + 144] JNE LBB4_43 - JMP LBB4_131 + JMP LBB4_138 -LBB4_183: +LBB4_182: LONG $0xf0e28349 // and r10, -16 WORD $0x894c; BYTE $0xd0 // mov rax, r10 LONG $0x05e0c148 // shl rax, 5 WORD $0x0148; BYTE $0xf0 // add rax, rsi - QUAD $0x000000f824848948 // mov qword [rsp + 248], rax - QUAD $0x000000f02494894c // mov qword [rsp + 240], r10 - LONG $0x96048d4b // lea rax, [r14 + 4*r10] + QUAD $0x0000010824848948 // mov qword [rsp + 264], rax + QUAD $0x000000d82494894c // mov qword [rsp + 216], r10 + LONG $0x94048d4b // lea rax, [r12 + 4*r10] LONG $0x24448948; BYTE $0x68 // mov qword [rsp + 104], rax LONG $0xc3b60f41 // movzx eax, r11b LONG $0xc86e0f66 // movd xmm1, eax @@ -21550,9 +22611,9 @@ LBB4_183: LONG $0x00380f66; BYTE $0xc8 // pshufb xmm1, xmm0 QUAD $0x0000a0248c7f0f66; BYTE $0x00 // movdqa oword [rsp + 160], xmm1 WORD $0xc031 // xor eax, eax - QUAD $0x0000008024b4894c // mov qword [rsp + 128], r14 + QUAD $0x0000008024a4894c // mov qword [rsp + 128], r12 -LBB4_184: +LBB4_183: WORD $0x8949; BYTE $0xc1 // mov r9, rax QUAD $0x0000009824848948 // mov qword [rsp + 152], rax LONG $0x05e1c149 // shl r9, 5 @@ -21585,7 +22646,7 @@ LBB4_184: LONG $0x6e0f4466; BYTE $0xf0 // movd xmm14, eax LONG $0x44b60f42; WORD $0x080e // movzx eax, byte [rsi + r9 + 8] LONG $0xc06e0f66 // movd xmm0, eax - QUAD $0x0000d024847f0f66; BYTE $0x00 // movdqa oword [rsp + 208], xmm0 + QUAD $0x0000c024847f0f66; BYTE $0x00 // movdqa oword [rsp + 192], xmm0 LONG $0x44b60f42; WORD $0x090e // movzx eax, byte [rsi + r9 + 9] LONG $0x6e0f4466; BYTE $0xd8 // movd xmm11, eax LONG $0x44b60f42; WORD $0x0a0e // movzx eax, byte [rsi + r9 + 10] @@ -21594,14 +22655,14 @@ LBB4_184: LONG $0x6e0f4466; BYTE $0xe8 // movd xmm13, eax LONG $0x44b60f42; WORD $0x0c0e // movzx eax, byte [rsi + r9 + 12] LONG $0xc06e0f66 // movd xmm0, eax - QUAD $0x0000e024847f0f66; BYTE $0x00 // movdqa oword [rsp + 224], xmm0 + QUAD $0x0000f024847f0f66; BYTE $0x00 // movdqa oword [rsp + 240], xmm0 LONG $0x44b60f42; WORD $0x0d0e // movzx eax, byte [rsi + r9 + 13] LONG $0xf06e0f66 // movd xmm6, eax LONG $0x44b60f42; WORD $0x0e0e // movzx eax, byte [rsi + r9 + 14] LONG $0x6e0f4466; BYTE $0xf8 // movd xmm15, eax LONG $0x44b60f42; WORD $0x0f0e // movzx eax, byte [rsi + r9 + 15] LONG $0xc06e0f66 // movd xmm0, eax - QUAD $0x0000c024847f0f66; BYTE $0x00 // movdqa oword [rsp + 192], xmm0 + QUAD $0x0000e024847f0f66; BYTE $0x00 // movdqa oword [rsp + 224], xmm0 LONG $0x244c894c; BYTE $0x48 // mov qword [rsp + 72], r9 WORD $0x894c; BYTE $0xc9 // mov rcx, r9 LONG $0x20c98348 // or rcx, 32 @@ -21614,7 +22675,7 @@ LBB4_184: LONG $0xa0ca8149; WORD $0x0000; BYTE $0x00 // or r10, 160 LONG $0x2454894c; BYTE $0x40 // mov qword [rsp + 64], r10 LONG $0xc0cf8149; WORD $0x0000; BYTE $0x00 // or r15, 192 - LONG $0x247c894c; BYTE $0x18 // mov qword [rsp + 24], r15 + LONG $0x247c894c; BYTE $0x20 // mov qword [rsp + 32], r15 LONG $0xe0cb8149; WORD $0x0000; BYTE $0x00 // or r11, 224 LONG $0x00ce8149; WORD $0x0001; BYTE $0x00 // or r14, 256 QUAD $0x000000b024b4894c // mov qword [rsp + 176], r14 @@ -21624,13 +22685,13 @@ LBB4_184: LONG $0x60cb8148; WORD $0x0001; BYTE $0x00 // or rbx, 352 LONG $0x245c8948; BYTE $0x58 // mov qword [rsp + 88], rbx LONG $0x80cf8148; WORD $0x0001; BYTE $0x00 // or rdi, 384 - LONG $0x247c8948; BYTE $0x20 // mov qword [rsp + 32], rdi + LONG $0x247c8948; BYTE $0x28 // mov qword [rsp + 40], rdi WORD $0x894c; BYTE $0xc8 // mov rax, r9 LONG $0x01a00d48; WORD $0x0000 // or rax, 416 LONG $0x24448948; BYTE $0x10 // mov qword [rsp + 16], rax WORD $0x894c; BYTE $0xc8 // mov rax, r9 LONG $0x01c00d48; WORD $0x0000 // or rax, 448 - LONG $0x24448948; BYTE $0x28 // mov qword [rsp + 40], rax + LONG $0x24448948; BYTE $0x18 // mov qword [rsp + 24], rax WORD $0x894c; BYTE $0xcf // mov rdi, r9 LONG $0xe0cf8148; WORD $0x0001; BYTE $0x00 // or rdi, 480 LONG $0x203a0f66; WORD $0x0e24; BYTE $0x01 // pinsrb xmm4, byte [rsi + rcx], 1 @@ -21646,7 +22707,7 @@ LBB4_184: LONG $0x203a0f66; WORD $0x1624; BYTE $0x09 // pinsrb xmm4, byte [rsi + rdx], 9 QUAD $0x0a0624203a0f4266 // pinsrb xmm4, byte [rsi + r8], 10 LONG $0x203a0f66; WORD $0x1e24; BYTE $0x0b // pinsrb xmm4, byte [rsi + rbx], 11 - LONG $0x244c8b48; BYTE $0x20 // mov rcx, qword [rsp + 32] + LONG $0x244c8b48; BYTE $0x28 // mov rcx, qword [rsp + 40] LONG $0x203a0f66; WORD $0x0e24; BYTE $0x0c // pinsrb xmm4, byte [rsi + rcx], 12 LONG $0x244c8b4c; BYTE $0x10 // mov r9, qword [rsp + 16] QUAD $0x0d0e24203a0f4266 // pinsrb xmm4, byte [rsi + r9], 13 @@ -21693,7 +22754,7 @@ LBB4_184: QUAD $0x022e6c203a0f4266; BYTE $0x04 // pinsrb xmm5, byte [rsi + r13 + 2], 4 LONG $0x245c8b4c; BYTE $0x40 // mov r11, qword [rsp + 64] QUAD $0x021e6c203a0f4266; BYTE $0x05 // pinsrb xmm5, byte [rsi + r11 + 2], 5 - LONG $0x246c8b4c; BYTE $0x18 // mov r13, qword [rsp + 24] + LONG $0x246c8b4c; BYTE $0x20 // mov r13, qword [rsp + 32] QUAD $0x022e6c203a0f4266; BYTE $0x06 // pinsrb xmm5, byte [rsi + r13 + 2], 6 WORD $0x894c; BYTE $0xd3 // mov rbx, r10 QUAD $0x02166c203a0f4266; BYTE $0x07 // pinsrb xmm5, byte [rsi + r10 + 2], 7 @@ -21705,11 +22766,11 @@ LBB4_184: QUAD $0x02166c203a0f4266; BYTE $0x0a // pinsrb xmm5, byte [rsi + r10 + 2], 10 LONG $0x24748b4c; BYTE $0x58 // mov r14, qword [rsp + 88] QUAD $0x02366c203a0f4266; BYTE $0x0b // pinsrb xmm5, byte [rsi + r14 + 2], 11 - LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] + LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] QUAD $0x0c02066c203a0f66 // pinsrb xmm5, byte [rsi + rax + 2], 12 LONG $0x24448b48; BYTE $0x10 // mov rax, qword [rsp + 16] QUAD $0x0d02066c203a0f66 // pinsrb xmm5, byte [rsi + rax + 2], 13 - LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] + LONG $0x24448b48; BYTE $0x18 // mov rax, qword [rsp + 24] QUAD $0x0e02066c203a0f66 // pinsrb xmm5, byte [rsi + rax + 2], 14 LONG $0x244c8948; BYTE $0x50 // mov qword [rsp + 80], rcx QUAD $0x0f020e6c203a0f66 // pinsrb xmm5, byte [rsi + rcx + 2], 15 @@ -21724,11 +22785,11 @@ LBB4_184: QUAD $0x030e7c203a0f4266; BYTE $0x09 // pinsrb xmm7, byte [rsi + r9 + 3], 9 QUAD $0x03167c203a0f4266; BYTE $0x0a // pinsrb xmm7, byte [rsi + r10 + 3], 10 QUAD $0x03367c203a0f4266; BYTE $0x0b // pinsrb xmm7, byte [rsi + r14 + 3], 11 - LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] + LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] QUAD $0x0c03067c203a0f66 // pinsrb xmm7, byte [rsi + rax + 3], 12 LONG $0x24448b48; BYTE $0x10 // mov rax, qword [rsp + 16] QUAD $0x0d03067c203a0f66 // pinsrb xmm7, byte [rsi + rax + 3], 13 - LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] + LONG $0x24448b48; BYTE $0x18 // mov rax, qword [rsp + 24] QUAD $0x0e03067c203a0f66 // pinsrb xmm7, byte [rsi + rax + 3], 14 QUAD $0x0f030e7c203a0f66 // pinsrb xmm7, byte [rsi + rcx + 3], 15 QUAD $0x04164c203a0f4466; BYTE $0x01 // pinsrb xmm9, byte [rsi + rdx + 4], 1 @@ -21743,11 +22804,11 @@ LBB4_184: QUAD $0x040e4c203a0f4666; BYTE $0x09 // pinsrb xmm9, byte [rsi + r9 + 4], 9 QUAD $0x04164c203a0f4666; BYTE $0x0a // pinsrb xmm9, byte [rsi + r10 + 4], 10 QUAD $0x04364c203a0f4666; BYTE $0x0b // pinsrb xmm9, byte [rsi + r14 + 4], 11 - LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] + LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] QUAD $0x04064c203a0f4466; BYTE $0x0c // pinsrb xmm9, byte [rsi + rax + 4], 12 LONG $0x24448b4c; BYTE $0x10 // mov r8, qword [rsp + 16] QUAD $0x04064c203a0f4666; BYTE $0x0d // pinsrb xmm9, byte [rsi + r8 + 4], 13 - LONG $0x24548b48; BYTE $0x28 // mov rdx, qword [rsp + 40] + LONG $0x24548b48; BYTE $0x18 // mov rdx, qword [rsp + 24] QUAD $0x04164c203a0f4466; BYTE $0x0e // pinsrb xmm9, byte [rsi + rdx + 4], 14 QUAD $0x040e4c203a0f4466; BYTE $0x0f // pinsrb xmm9, byte [rsi + rcx + 4], 15 LONG $0xe9740f66 // pcmpeqb xmm5, xmm1 @@ -21780,7 +22841,7 @@ LBB4_184: QUAD $0x04053e54203a0f66 // pinsrb xmm2, byte [rsi + rdi + 5], 4 WORD $0x894c; BYTE $0xdf // mov rdi, r11 QUAD $0x051e54203a0f4266; BYTE $0x05 // pinsrb xmm2, byte [rsi + r11 + 5], 5 - LONG $0x24448b48; BYTE $0x18 // mov rax, qword [rsp + 24] + LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] QUAD $0x06050654203a0f66 // pinsrb xmm2, byte [rsi + rax + 5], 6 QUAD $0x00000110249c8948 // mov qword [rsp + 272], rbx QUAD $0x07051e54203a0f66 // pinsrb xmm2, byte [rsi + rbx + 5], 7 @@ -21789,11 +22850,11 @@ LBB4_184: QUAD $0x050e54203a0f4266; BYTE $0x09 // pinsrb xmm2, byte [rsi + r9 + 5], 9 QUAD $0x051654203a0f4266; BYTE $0x0a // pinsrb xmm2, byte [rsi + r10 + 5], 10 QUAD $0x053654203a0f4266; BYTE $0x0b // pinsrb xmm2, byte [rsi + r14 + 5], 11 - LONG $0x24548b48; BYTE $0x20 // mov rdx, qword [rsp + 32] + LONG $0x24548b48; BYTE $0x28 // mov rdx, qword [rsp + 40] QUAD $0x0c051654203a0f66 // pinsrb xmm2, byte [rsi + rdx + 5], 12 WORD $0x894c; BYTE $0xc1 // mov rcx, r8 QUAD $0x050654203a0f4266; BYTE $0x0d // pinsrb xmm2, byte [rsi + r8 + 5], 13 - LONG $0x24448b4c; BYTE $0x28 // mov r8, qword [rsp + 40] + LONG $0x24448b4c; BYTE $0x18 // mov r8, qword [rsp + 24] QUAD $0x050654203a0f4266; BYTE $0x0e // pinsrb xmm2, byte [rsi + r8 + 5], 14 LONG $0x245c8b4c; BYTE $0x50 // mov r11, qword [rsp + 80] QUAD $0x051e54203a0f4266; BYTE $0x0f // pinsrb xmm2, byte [rsi + r11 + 5], 15 @@ -21804,7 +22865,7 @@ LBB4_184: LONG $0x246c8b4c; BYTE $0x70 // mov r13, qword [rsp + 112] QUAD $0x062e44203a0f4666; BYTE $0x04 // pinsrb xmm8, byte [rsi + r13 + 6], 4 QUAD $0x063e44203a0f4466; BYTE $0x05 // pinsrb xmm8, byte [rsi + rdi + 6], 5 - LONG $0x24448b48; BYTE $0x18 // mov rax, qword [rsp + 24] + LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] QUAD $0x060644203a0f4466; BYTE $0x06 // pinsrb xmm8, byte [rsi + rax + 6], 6 WORD $0x8949; BYTE $0xc5 // mov r13, rax QUAD $0x061e44203a0f4466; BYTE $0x07 // pinsrb xmm8, byte [rsi + rbx + 6], 7 @@ -21856,7 +22917,7 @@ LBB4_184: LONG $0xeb0f4166; BYTE $0xc8 // por xmm1, xmm8 LONG $0x3e54b60f; BYTE $0x15 // movzx edx, byte [rsi + rdi + 21] LONG $0xd26e0f66 // movd xmm2, edx - QUAD $0x0000d024846f0f66; BYTE $0x00 // movdqa xmm0, oword [rsp + 208] + QUAD $0x0000c024846f0f66; BYTE $0x00 // movdqa xmm0, oword [rsp + 192] LONG $0x24448b48; BYTE $0x30 // mov rax, qword [rsp + 48] QUAD $0x01080644203a0f66 // pinsrb xmm0, byte [rsi + rax + 8], 1 QUAD $0x082644203a0f4266; BYTE $0x02 // pinsrb xmm0, byte [rsi + r12 + 8], 2 @@ -21866,7 +22927,7 @@ LBB4_184: WORD $0x894d; BYTE $0xd8 // mov r8, r11 LONG $0x24748b4c; BYTE $0x40 // mov r14, qword [rsp + 64] QUAD $0x083644203a0f4266; BYTE $0x05 // pinsrb xmm0, byte [rsi + r14 + 8], 5 - LONG $0x24548b48; BYTE $0x18 // mov rdx, qword [rsp + 24] + LONG $0x24548b48; BYTE $0x20 // mov rdx, qword [rsp + 32] QUAD $0x06081644203a0f66 // pinsrb xmm0, byte [rsi + rdx + 8], 6 QUAD $0x00000110249c8b4c // mov r11, qword [rsp + 272] QUAD $0x081e44203a0f4266; BYTE $0x07 // pinsrb xmm0, byte [rsi + r11 + 8], 7 @@ -21877,14 +22938,14 @@ LBB4_184: QUAD $0x083e44203a0f4266; BYTE $0x0a // pinsrb xmm0, byte [rsi + r15 + 8], 10 LONG $0x24548b48; BYTE $0x58 // mov rdx, qword [rsp + 88] QUAD $0x0b081644203a0f66 // pinsrb xmm0, byte [rsi + rdx + 8], 11 - LONG $0x24548b48; BYTE $0x20 // mov rdx, qword [rsp + 32] + LONG $0x24548b48; BYTE $0x28 // mov rdx, qword [rsp + 40] QUAD $0x0c081644203a0f66 // pinsrb xmm0, byte [rsi + rdx + 8], 12 QUAD $0x082e44203a0f4266; BYTE $0x0d // pinsrb xmm0, byte [rsi + r13 + 8], 13 - LONG $0x24548b48; BYTE $0x28 // mov rdx, qword [rsp + 40] + LONG $0x24548b48; BYTE $0x18 // mov rdx, qword [rsp + 24] QUAD $0x0e081644203a0f66 // pinsrb xmm0, byte [rsi + rdx + 8], 14 QUAD $0x0f080e44203a0f66 // pinsrb xmm0, byte [rsi + rcx + 8], 15 LONG $0xeb0f4166; BYTE $0xc9 // por xmm1, xmm9 - QUAD $0x0000d0248c7f0f66; BYTE $0x00 // movdqa oword [rsp + 208], xmm1 + QUAD $0x0000c0248c7f0f66; BYTE $0x00 // movdqa oword [rsp + 192], xmm1 LONG $0x3e54b60f; BYTE $0x16 // movzx edx, byte [rsi + rdi + 22] LONG $0xca6e0f66 // movd xmm1, edx LONG $0x740f4166; BYTE $0xc6 // pcmpeqb xmm0, xmm14 @@ -21894,7 +22955,7 @@ LBB4_184: QUAD $0x09265c203a0f4666; BYTE $0x03 // pinsrb xmm11, byte [rsi + r12 + 9], 3 QUAD $0x09065c203a0f4666; BYTE $0x04 // pinsrb xmm11, byte [rsi + r8 + 9], 4 QUAD $0x09365c203a0f4666; BYTE $0x05 // pinsrb xmm11, byte [rsi + r14 + 9], 5 - LONG $0x246c8b4c; BYTE $0x18 // mov r13, qword [rsp + 24] + LONG $0x246c8b4c; BYTE $0x20 // mov r13, qword [rsp + 32] QUAD $0x092e5c203a0f4666; BYTE $0x06 // pinsrb xmm11, byte [rsi + r13 + 9], 6 QUAD $0x091e5c203a0f4666; BYTE $0x07 // pinsrb xmm11, byte [rsi + r11 + 9], 7 QUAD $0x091e5c203a0f4466; BYTE $0x08 // pinsrb xmm11, byte [rsi + rbx + 9], 8 @@ -21904,11 +22965,11 @@ LBB4_184: QUAD $0x093e5c203a0f4666; BYTE $0x0a // pinsrb xmm11, byte [rsi + r15 + 9], 10 LONG $0x24548b4c; BYTE $0x58 // mov r10, qword [rsp + 88] QUAD $0x09165c203a0f4666; BYTE $0x0b // pinsrb xmm11, byte [rsi + r10 + 9], 11 - LONG $0x247c8b4c; BYTE $0x20 // mov r15, qword [rsp + 32] + LONG $0x247c8b4c; BYTE $0x28 // mov r15, qword [rsp + 40] QUAD $0x093e5c203a0f4666; BYTE $0x0c // pinsrb xmm11, byte [rsi + r15 + 9], 12 LONG $0x24548b48; BYTE $0x10 // mov rdx, qword [rsp + 16] QUAD $0x09165c203a0f4466; BYTE $0x0d // pinsrb xmm11, byte [rsi + rdx + 9], 13 - LONG $0x24548b48; BYTE $0x28 // mov rdx, qword [rsp + 40] + LONG $0x24548b48; BYTE $0x18 // mov rdx, qword [rsp + 24] QUAD $0x09165c203a0f4466; BYTE $0x0e // pinsrb xmm11, byte [rsi + rdx + 9], 14 LONG $0x24548b48; BYTE $0x50 // mov rdx, qword [rsp + 80] QUAD $0x09165c203a0f4466; BYTE $0x0f // pinsrb xmm11, byte [rsi + rdx + 9], 15 @@ -21927,7 +22988,7 @@ LBB4_184: QUAD $0x0a3e64203a0f4666; BYTE $0x0c // pinsrb xmm12, byte [rsi + r15 + 10], 12 LONG $0x24748b4c; BYTE $0x10 // mov r14, qword [rsp + 16] QUAD $0x0a3664203a0f4666; BYTE $0x0d // pinsrb xmm12, byte [rsi + r14 + 10], 13 - LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] + LONG $0x24448b48; BYTE $0x18 // mov rax, qword [rsp + 24] QUAD $0x0a0664203a0f4466; BYTE $0x0e // pinsrb xmm12, byte [rsi + rax + 10], 14 QUAD $0x0a1664203a0f4466; BYTE $0x0f // pinsrb xmm12, byte [rsi + rdx + 10], 15 LONG $0x24448b48; BYTE $0x30 // mov rax, qword [rsp + 48] @@ -21949,7 +23010,7 @@ LBB4_184: LONG $0x247c8b48; BYTE $0x10 // mov rdi, qword [rsp + 16] QUAD $0x0b3e6c203a0f4466; BYTE $0x0d // pinsrb xmm13, byte [rsi + rdi + 11], 13 WORD $0x8949; BYTE $0xfd // mov r13, rdi - LONG $0x244c8b4c; BYTE $0x28 // mov r9, qword [rsp + 40] + LONG $0x244c8b4c; BYTE $0x18 // mov r9, qword [rsp + 24] QUAD $0x0b0e6c203a0f4666; BYTE $0x0e // pinsrb xmm13, byte [rsi + r9 + 11], 14 QUAD $0x0b166c203a0f4466; BYTE $0x0f // pinsrb xmm13, byte [rsi + rdx + 11], 15 LONG $0x740f4566; BYTE $0xde // pcmpeqb xmm11, xmm14 @@ -21965,7 +23026,7 @@ LBB4_184: LONG $0xeb0f4566; BYTE $0xec // por xmm13, xmm12 LONG $0x3e54b60f; BYTE $0x18 // movzx edx, byte [rsi + rdi + 24] LONG $0x6e0f4466; BYTE $0xe2 // movd xmm12, edx - QUAD $0x00e0248c6f0f4466; WORD $0x0000 // movdqa xmm9, oword [rsp + 224] + QUAD $0x00f0248c6f0f4466; WORD $0x0000 // movdqa xmm9, oword [rsp + 240] LONG $0x245c8b4c; BYTE $0x30 // mov r11, qword [rsp + 48] QUAD $0x0c1e4c203a0f4666; BYTE $0x01 // pinsrb xmm9, byte [rsi + r11 + 12], 1 WORD $0x894d; BYTE $0xf0 // mov r8, r14 @@ -21975,7 +23036,7 @@ LBB4_184: LONG $0x24748b4c; BYTE $0x70 // mov r14, qword [rsp + 112] QUAD $0x0c364c203a0f4666; BYTE $0x04 // pinsrb xmm9, byte [rsi + r14 + 12], 4 QUAD $0x0c064c203a0f4466; BYTE $0x05 // pinsrb xmm9, byte [rsi + rax + 12], 5 - LONG $0x24548b48; BYTE $0x18 // mov rdx, qword [rsp + 24] + LONG $0x24548b48; BYTE $0x20 // mov rdx, qword [rsp + 32] QUAD $0x0c164c203a0f4466; BYTE $0x06 // pinsrb xmm9, byte [rsi + rdx + 12], 6 WORD $0x894d; BYTE $0xe7 // mov r15, r12 QUAD $0x0c264c203a0f4666; BYTE $0x07 // pinsrb xmm9, byte [rsi + r12 + 12], 7 @@ -21984,7 +23045,7 @@ LBB4_184: LONG $0x24648b4c; BYTE $0x78 // mov r12, qword [rsp + 120] QUAD $0x0c264c203a0f4666; BYTE $0x0a // pinsrb xmm9, byte [rsi + r12 + 12], 10 QUAD $0x0c164c203a0f4666; BYTE $0x0b // pinsrb xmm9, byte [rsi + r10 + 12], 11 - LONG $0x24548b4c; BYTE $0x20 // mov r10, qword [rsp + 32] + LONG $0x24548b4c; BYTE $0x28 // mov r10, qword [rsp + 40] QUAD $0x0c164c203a0f4666; BYTE $0x0c // pinsrb xmm9, byte [rsi + r10 + 12], 12 QUAD $0x0c2e4c203a0f4666; BYTE $0x0d // pinsrb xmm9, byte [rsi + r13 + 12], 13 QUAD $0x0c0e4c203a0f4666; BYTE $0x0e // pinsrb xmm9, byte [rsi + r9 + 12], 14 @@ -22026,7 +23087,7 @@ LBB4_184: QUAD $0x0e2e7c203a0f4666; BYTE $0x0c // pinsrb xmm15, byte [rsi + r13 + 14], 12 WORD $0x894d; BYTE $0xd5 // mov r13, r10 QUAD $0x0e167c203a0f4666; BYTE $0x0d // pinsrb xmm15, byte [rsi + r10 + 14], 13 - LONG $0x24548b4c; BYTE $0x28 // mov r10, qword [rsp + 40] + LONG $0x24548b4c; BYTE $0x18 // mov r10, qword [rsp + 24] QUAD $0x0e167c203a0f4666; BYTE $0x0e // pinsrb xmm15, byte [rsi + r10 + 14], 14 LONG $0x740f4566; BYTE $0xce // pcmpeqb xmm9, xmm14 QUAD $0x0001308ddf0f4466; BYTE $0x00 // pandn xmm9, oword 304[rbp] /* [rip + .LCPI4_19] */ @@ -22046,7 +23107,7 @@ LBB4_184: LONG $0xeb0f4466; BYTE $0xfe // por xmm15, xmm6 LONG $0x0654b60f; BYTE $0x1b // movzx edx, byte [rsi + rax + 27] LONG $0x6e0f4466; BYTE $0xda // movd xmm11, edx - QUAD $0x0000c024b46f0f66; BYTE $0x00 // movdqa xmm6, oword [rsp + 192] + QUAD $0x0000e024b46f0f66; BYTE $0x00 // movdqa xmm6, oword [rsp + 224] LONG $0x244c8b48; BYTE $0x30 // mov rcx, qword [rsp + 48] QUAD $0x010f0e74203a0f66 // pinsrb xmm6, byte [rsi + rcx + 15], 1 QUAD $0x0f0674203a0f4266; BYTE $0x02 // pinsrb xmm6, byte [rsi + r8 + 15], 2 @@ -22055,7 +23116,7 @@ LBB4_184: QUAD $0x0f3674203a0f4266; BYTE $0x04 // pinsrb xmm6, byte [rsi + r14 + 15], 4 LONG $0x244c8b48; BYTE $0x40 // mov rcx, qword [rsp + 64] QUAD $0x050f0e74203a0f66 // pinsrb xmm6, byte [rsi + rcx + 15], 5 - LONG $0x24548b48; BYTE $0x18 // mov rdx, qword [rsp + 24] + LONG $0x24548b48; BYTE $0x20 // mov rdx, qword [rsp + 32] QUAD $0x060f1674203a0f66 // pinsrb xmm6, byte [rsi + rdx + 15], 6 QUAD $0x0f3e74203a0f4266; BYTE $0x07 // pinsrb xmm6, byte [rsi + r15 + 15], 7 QUAD $0x080f3e74203a0f66 // pinsrb xmm6, byte [rsi + rdi + 15], 8 @@ -22074,7 +23135,7 @@ LBB4_184: LONG $0x0654b60f; BYTE $0x1c // movzx edx, byte [rsi + rax + 28] LONG $0x6e0f4466; BYTE $0xfa // movd xmm15, edx LONG $0xeb0f4166; BYTE $0xf1 // por xmm6, xmm9 - QUAD $0x0000c024b47f0f66; BYTE $0x00 // movdqa oword [rsp + 192], xmm6 + QUAD $0x0000e024b47f0f66; BYTE $0x00 // movdqa oword [rsp + 224], xmm6 LONG $0x0654b60f; BYTE $0x1d // movzx edx, byte [rsi + rax + 29] LONG $0x6e0f4466; BYTE $0xca // movd xmm9, edx LONG $0x24548b48; BYTE $0x30 // mov rdx, qword [rsp + 48] @@ -22083,7 +23144,7 @@ LBB4_184: QUAD $0x100e54203a0f4666; BYTE $0x03 // pinsrb xmm10, byte [rsi + r9 + 16], 3 QUAD $0x103654203a0f4666; BYTE $0x04 // pinsrb xmm10, byte [rsi + r14 + 16], 4 QUAD $0x100e54203a0f4466; BYTE $0x05 // pinsrb xmm10, byte [rsi + rcx + 16], 5 - LONG $0x24648b4c; BYTE $0x18 // mov r12, qword [rsp + 24] + LONG $0x24648b4c; BYTE $0x20 // mov r12, qword [rsp + 32] QUAD $0x102654203a0f4666; BYTE $0x06 // pinsrb xmm10, byte [rsi + r12 + 16], 6 QUAD $0x103e54203a0f4666; BYTE $0x07 // pinsrb xmm10, byte [rsi + r15 + 16], 7 QUAD $0x000000b0248c8b48 // mov rcx, qword [rsp + 176] @@ -22091,11 +23152,11 @@ LBB4_184: QUAD $0x103e54203a0f4466; BYTE $0x09 // pinsrb xmm10, byte [rsi + rdi + 16], 9 QUAD $0x101e54203a0f4666; BYTE $0x0a // pinsrb xmm10, byte [rsi + r11 + 16], 10 QUAD $0x101e54203a0f4466; BYTE $0x0b // pinsrb xmm10, byte [rsi + rbx + 16], 11 - LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] + LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] QUAD $0x100654203a0f4466; BYTE $0x0c // pinsrb xmm10, byte [rsi + rax + 16], 12 WORD $0x894c; BYTE $0xe8 // mov rax, r13 QUAD $0x102e54203a0f4666; BYTE $0x0d // pinsrb xmm10, byte [rsi + r13 + 16], 13 - LONG $0x246c8b4c; BYTE $0x28 // mov r13, qword [rsp + 40] + LONG $0x246c8b4c; BYTE $0x18 // mov r13, qword [rsp + 24] QUAD $0x102e54203a0f4666; BYTE $0x0e // pinsrb xmm10, byte [rsi + r13 + 16], 14 QUAD $0x101654203a0f4666; BYTE $0x0f // pinsrb xmm10, byte [rsi + r10 + 16], 15 QUAD $0x01111664203a0f66 // pinsrb xmm4, byte [rsi + rdx + 17], 1 @@ -22111,7 +23172,7 @@ LBB4_184: QUAD $0x09113e64203a0f66 // pinsrb xmm4, byte [rsi + rdi + 17], 9 QUAD $0x111e64203a0f4266; BYTE $0x0a // pinsrb xmm4, byte [rsi + r11 + 17], 10 QUAD $0x0b111e64203a0f66 // pinsrb xmm4, byte [rsi + rbx + 17], 11 - LONG $0x24648b4c; BYTE $0x20 // mov r12, qword [rsp + 32] + LONG $0x24648b4c; BYTE $0x28 // mov r12, qword [rsp + 40] QUAD $0x112664203a0f4266; BYTE $0x0c // pinsrb xmm4, byte [rsi + r12 + 17], 12 QUAD $0x0d110664203a0f66 // pinsrb xmm4, byte [rsi + rax + 17], 13 QUAD $0x112e64203a0f4266; BYTE $0x0e // pinsrb xmm4, byte [rsi + r13 + 17], 14 @@ -22352,7 +23413,7 @@ LBB4_184: QUAD $0x1d3e4c203a0f4666; BYTE $0x07 // pinsrb xmm9, byte [rsi + r15 + 29], 7 QUAD $0x1e3e54203a0f4666; BYTE $0x07 // pinsrb xmm10, byte [rsi + r15 + 30], 7 QUAD $0x1f3e74203a0f4266; BYTE $0x07 // pinsrb xmm6, byte [rsi + r15 + 31], 7 - QUAD $0x0000008024b48b4c // mov r14, qword [rsp + 128] + QUAD $0x00000080249c8b48 // mov rbx, qword [rsp + 128] QUAD $0x1c1e7c203a0f4666; BYTE $0x08 // pinsrb xmm15, byte [rsi + r11 + 28], 8 QUAD $0x1d1e4c203a0f4666; BYTE $0x08 // pinsrb xmm9, byte [rsi + r11 + 29], 8 QUAD $0x1e1e54203a0f4666; BYTE $0x08 // pinsrb xmm10, byte [rsi + r11 + 30], 8 @@ -22405,9 +23466,9 @@ LBB4_184: LONG $0xeb0f4166; BYTE $0xf7 // por xmm6, xmm15 LONG $0x6f0f4166; BYTE $0xc0 // movdqa xmm0, xmm8 LONG $0xc6600f66 // punpcklbw xmm0, xmm6 - QUAD $0x0000d0249c6f0f66; BYTE $0x00 // movdqa xmm3, oword [rsp + 208] + QUAD $0x0000c0249c6f0f66; BYTE $0x00 // movdqa xmm3, oword [rsp + 192] LONG $0xcb6f0f66 // movdqa xmm1, xmm3 - QUAD $0x0000c024a46f0f66; BYTE $0x00 // movdqa xmm4, oword [rsp + 192] + QUAD $0x0000e024a46f0f66; BYTE $0x00 // movdqa xmm4, oword [rsp + 224] LONG $0xcc600f66 // punpcklbw xmm1, xmm4 LONG $0xd16f0f66 // movdqa xmm2, xmm1 LONG $0xd0610f66 // punpcklwd xmm2, xmm0 @@ -22418,41 +23479,41 @@ LBB4_184: LONG $0x610f4166; BYTE $0xc0 // punpcklwd xmm0, xmm8 LONG $0x690f4166; BYTE $0xd8 // punpckhwd xmm3, xmm8 QUAD $0x00000098248c8b48 // mov rcx, qword [rsp + 152] - LONG $0x7f0f41f3; WORD $0x8e5c; BYTE $0x30 // movdqu oword [r14 + 4*rcx + 48], xmm3 - LONG $0x7f0f41f3; WORD $0x8e44; BYTE $0x20 // movdqu oword [r14 + 4*rcx + 32], xmm0 - LONG $0x7f0f41f3; WORD $0x8e4c; BYTE $0x10 // movdqu oword [r14 + 4*rcx + 16], xmm1 - LONG $0x7f0f41f3; WORD $0x8e14 // movdqu oword [r14 + 4*rcx], xmm2 + LONG $0x5c7f0ff3; WORD $0x308b // movdqu oword [rbx + 4*rcx + 48], xmm3 + LONG $0x447f0ff3; WORD $0x208b // movdqu oword [rbx + 4*rcx + 32], xmm0 + LONG $0x4c7f0ff3; WORD $0x108b // movdqu oword [rbx + 4*rcx + 16], xmm1 + LONG $0x147f0ff3; BYTE $0x8b // movdqu oword [rbx + 4*rcx], xmm2 LONG $0x10c18348 // add rcx, 16 WORD $0x8948; BYTE $0xc8 // mov rax, rcx - QUAD $0x000000f0248c3b48 // cmp rcx, qword [rsp + 240] - JNE LBB4_184 - QUAD $0x0000010024948b4c // mov r10, qword [rsp + 256] - QUAD $0x000000f024943b4c // cmp r10, qword [rsp + 240] + QUAD $0x000000d8248c3b48 // cmp rcx, qword [rsp + 216] + JNE LBB4_183 + QUAD $0x0000012024948b4c // mov r10, qword [rsp + 288] + QUAD $0x000000d824943b4c // cmp r10, qword [rsp + 216] LONG $0x245c8a44; BYTE $0x08 // mov r11b, byte [rsp + 8] - QUAD $0x000000f824b48b48 // mov rsi, qword [rsp + 248] - QUAD $0x0000009024bc8b4c // mov r15, qword [rsp + 144] + QUAD $0x0000010824b48b48 // mov rsi, qword [rsp + 264] + QUAD $0x0000009024b48b4c // mov r14, qword [rsp + 144] JNE LBB4_69 - JMP LBB4_135 + JMP LBB4_142 -LBB4_186: +LBB4_185: LONG $0xf8e28349 // and r10, -8 WORD $0x894c; BYTE $0xd0 // mov rax, r10 LONG $0x06e0c148 // shl rax, 6 WORD $0x0148; BYTE $0xf0 // add rax, rsi LONG $0x24448948; BYTE $0x38 // mov qword [rsp + 56], rax - LONG $0x2454894c; BYTE $0x18 // mov qword [rsp + 24], r10 - LONG $0x96048d4b // lea rax, [r14 + 4*r10] + LONG $0x2454894c; BYTE $0x20 // mov qword [rsp + 32], r10 + LONG $0x94048d4b // lea rax, [r12 + 4*r10] LONG $0x24448948; BYTE $0x08 // mov qword [rsp + 8], rax LONG $0x246c8944; BYTE $0x40 // mov dword [rsp + 64], r13d LONG $0x6e0f4166; BYTE $0xc5 // movd xmm0, r13d LONG $0xc0700ff2; BYTE $0xe0 // pshuflw xmm0, xmm0, 224 LONG $0x700f4466; WORD $0x00d8 // pshufd xmm11, xmm0, 0 WORD $0x3145; BYTE $0xff // xor r15d, r15d - QUAD $0x0000008024b4894c // mov qword [rsp + 128], r14 + QUAD $0x0000008024a4894c // mov qword [rsp + 128], r12 LONG $0xef0f4566; BYTE $0xff // pxor xmm15, xmm15 -LBB4_187: - LONG $0x247c894c; BYTE $0x28 // mov qword [rsp + 40], r15 +LBB4_186: + LONG $0x247c894c; BYTE $0x18 // mov qword [rsp + 24], r15 LONG $0x06e7c149 // shl r15, 6 WORD $0x894d; BYTE $0xf8 // mov r8, r15 WORD $0x894d; BYTE $0xfc // mov r12, r15 @@ -22588,7 +23649,7 @@ LBB4_187: LONG $0x380f4566; WORD $0xef10 // pblendvb xmm13, xmm15, xmm0 LONG $0x5c6e0f66; WORD $0x1024 // movd xmm3, dword [rsp + 16] LONG $0x54b70f42; WORD $0x203e // movzx edx, word [rsi + r15 + 32] - LONG $0x20245489 // mov dword [rsp + 32], edx + LONG $0x28245489 // mov dword [rsp + 40], edx LONG $0x4cc40f66; WORD $0x0e0e; BYTE $0x01 // pinsrw xmm1, word [rsi + rcx + 14], 1 QUAD $0x020e064cc40f4266 // pinsrw xmm1, word [rsi + r8 + 14], 2 QUAD $0x030e264cc40f4266 // pinsrw xmm1, word [rsi + r12 + 14], 3 @@ -22675,7 +23736,7 @@ LBB4_187: LONG $0x6f0f4566; BYTE $0xe9 // movdqa xmm13, xmm9 LONG $0xc26f0f66 // movdqa xmm0, xmm2 LONG $0x380f4566; WORD $0xef10 // pblendvb xmm13, xmm15, xmm0 - LONG $0x7c6e0f66; WORD $0x2024 // movd xmm7, dword [rsp + 32] + LONG $0x7c6e0f66; WORD $0x2824 // movd xmm7, dword [rsp + 40] LONG $0x54b70f46; WORD $0x2a3e // movzx r10d, word [rsi + r15 + 42] LONG $0x4cc40f66; WORD $0x1a0e; BYTE $0x01 // pinsrw xmm1, word [rsi + rcx + 26], 1 QUAD $0x021a064cc40f4266 // pinsrw xmm1, word [rsi + r8 + 26], 2 @@ -22698,7 +23759,7 @@ LBB4_187: LONG $0x380f4166; WORD $0xef10 // pblendvb xmm5, xmm15, xmm0 LONG $0x546e0f66; WORD $0x1024 // movd xmm2, dword [rsp + 16] LONG $0x54b70f42; WORD $0x2c3e // movzx edx, word [rsi + r15 + 44] - LONG $0x20245489 // mov dword [rsp + 32], edx + LONG $0x28245489 // mov dword [rsp + 40], edx QUAD $0x071c0e64c40f4266 // pinsrw xmm4, word [rsi + r9 + 28], 7 LONG $0x750f4166; BYTE $0xe3 // pcmpeqw xmm4, xmm11 LONG $0xe4630f66 // packsswb xmm4, xmm4 @@ -22785,7 +23846,7 @@ LBB4_187: LONG $0x6f0f4166; BYTE $0xea // movdqa xmm5, xmm10 LONG $0xc16f0f66 // movdqa xmm0, xmm1 LONG $0x380f4166; WORD $0xef10 // pblendvb xmm5, xmm15, xmm0 - LONG $0x4c6e0f66; WORD $0x2024 // movd xmm1, dword [rsp + 32] + LONG $0x4c6e0f66; WORD $0x2824 // movd xmm1, dword [rsp + 40] LONG $0x54b70f46; WORD $0x363e // movzx r10d, word [rsi + r15 + 54] LONG $0x750f4166; BYTE $0xd3 // pcmpeqw xmm2, xmm11 LONG $0xd2630f66 // packsswb xmm2, xmm2 @@ -22938,7 +23999,7 @@ LBB4_187: LONG $0x44c40f66; WORD $0x3e0e; BYTE $0x01 // pinsrw xmm0, word [rsi + rcx + 62], 1 QUAD $0x023e0644c40f4266 // pinsrw xmm0, word [rsi + r8 + 62], 2 QUAD $0x033e2644c40f4266 // pinsrw xmm0, word [rsi + r12 + 62], 3 - QUAD $0x0000008024b48b4c // mov r14, qword [rsp + 128] + QUAD $0x0000008024848b48 // mov rax, qword [rsp + 128] QUAD $0x043e2e44c40f4266 // pinsrw xmm0, word [rsi + r13 + 62], 4 LONG $0x44c40f66; WORD $0x3e1e; BYTE $0x05 // pinsrw xmm0, word [rsi + rbx + 62], 5 LONG $0x44c40f66; WORD $0x3e3e; BYTE $0x06 // pinsrw xmm0, word [rsi + rdi + 62], 6 @@ -22959,276 +24020,646 @@ LBB4_187: LONG $0x600f4566; BYTE $0xc6 // punpcklbw xmm8, xmm14 LONG $0x600f4566; BYTE $0xe5 // punpcklbw xmm12, xmm13 LONG $0x610f4566; BYTE $0xe0 // punpcklwd xmm12, xmm8 - LONG $0x244c8b48; BYTE $0x28 // mov rcx, qword [rsp + 40] - LONG $0x7f0f45f3; WORD $0x8e24 // movdqu oword [r14 + 4*rcx], xmm12 - LONG $0x7f0f41f3; WORD $0x8e44; BYTE $0x10 // movdqu oword [r14 + 4*rcx + 16], xmm0 + LONG $0x244c8b48; BYTE $0x18 // mov rcx, qword [rsp + 24] + LONG $0x7f0f44f3; WORD $0x8824 // movdqu oword [rax + 4*rcx], xmm12 + LONG $0x447f0ff3; WORD $0x1088 // movdqu oword [rax + 4*rcx + 16], xmm0 LONG $0x08c18348 // add rcx, 8 WORD $0x8949; BYTE $0xcf // mov r15, rcx - LONG $0x244c3b48; BYTE $0x18 // cmp rcx, qword [rsp + 24] - JNE LBB4_187 - QUAD $0x000000d024948b4c // mov r10, qword [rsp + 208] - LONG $0x24543b4c; BYTE $0x18 // cmp r10, qword [rsp + 24] - QUAD $0x0000009024bc8b4c // mov r15, qword [rsp + 144] + LONG $0x244c3b48; BYTE $0x20 // cmp rcx, qword [rsp + 32] + JNE LBB4_186 + QUAD $0x000000c024948b4c // mov r10, qword [rsp + 192] + LONG $0x24543b4c; BYTE $0x20 // cmp r10, qword [rsp + 32] + QUAD $0x0000009024b48b4c // mov r14, qword [rsp + 144] LONG $0x246c8b44; BYTE $0x40 // mov r13d, dword [rsp + 64] LONG $0x24648b4c; BYTE $0x08 // mov r12, qword [rsp + 8] LONG $0x24748b48; BYTE $0x38 // mov rsi, qword [rsp + 56] JNE LBB4_92 - JMP LBB4_139 + JMP LBB4_95 -LBB4_189: - LONG $0xf8e28349 // and r10, -8 - WORD $0x894c; BYTE $0xd0 // mov rax, r10 - LONG $0x06e0c148 // shl rax, 6 - WORD $0x0148; BYTE $0xf0 // add rax, rsi - LONG $0x24448948; BYTE $0x38 // mov qword [rsp + 56], rax - LONG $0x2454894c; BYTE $0x18 // mov qword [rsp + 24], r10 - LONG $0x96048d4b // lea rax, [r14 + 4*r10] - LONG $0x24448948; BYTE $0x08 // mov qword [rsp + 8], rax - LONG $0x246c8944; BYTE $0x40 // mov dword [rsp + 64], r13d - LONG $0x6e0f4166; BYTE $0xc5 // movd xmm0, r13d - LONG $0xc0700ff2; BYTE $0xe0 // pshuflw xmm0, xmm0, 224 - LONG $0x700f4466; WORD $0x00d8 // pshufd xmm11, xmm0, 0 - WORD $0x3145; BYTE $0xff // xor r15d, r15d - QUAD $0x0000008024b4894c // mov qword [rsp + 128], r14 - LONG $0xef0f4566; BYTE $0xff // pxor xmm15, xmm15 +LBB4_188: + WORD $0x894d; BYTE $0xd0 // mov r8, r10 + LONG $0xfce08349 // and r8, -4 + WORD $0x894c; BYTE $0xc3 // mov rbx, r8 + LONG $0x07e3c148 // shl rbx, 7 + WORD $0x0148; BYTE $0xf3 // add rbx, rsi + LONG $0x843c8d4f // lea r15, [r12 + 4*r8] + WORD $0x280f; BYTE $0xc8 // movaps xmm1, xmm0 + LONG $0x00c8c60f // shufps xmm1, xmm0, 0 + LONG $0xfcc68148; WORD $0x0001; BYTE $0x00 // add rsi, 508 + WORD $0xc931 // xor ecx, ecx + LONG $0x6f0f4466; WORD $0x007d // movdqa xmm15, oword 0[rbp] /* [rip + .LCPI4_0] */ + LONG $0x6f0f4466; WORD $0x1045 // movdqa xmm8, oword 16[rbp] /* [rip + .LCPI4_1] */ + LONG $0x6f0f4466; WORD $0x2055 // movdqa xmm10, oword 32[rbp] /* [rip + .LCPI4_2] */ + LONG $0x6f0f4466; WORD $0x305d // movdqa xmm11, oword 48[rbp] /* [rip + .LCPI4_3] */ + LONG $0x6f0f4466; WORD $0x4065 // movdqa xmm12, oword 64[rbp] /* [rip + .LCPI4_4] */ + LONG $0x6f0f4466; WORD $0x506d // movdqa xmm13, oword 80[rbp] /* [rip + .LCPI4_5] */ + LONG $0x6f0f4466; WORD $0x6075 // movdqa xmm14, oword 96[rbp] /* [rip + .LCPI4_6] */ + LONG $0x6f0f4466; WORD $0x704d // movdqa xmm9, oword 112[rbp] /* [rip + .LCPI4_7] */ -LBB4_190: - LONG $0x247c894c; BYTE $0x28 // mov qword [rsp + 40], r15 - LONG $0x06e7c149 // shl r15, 6 - WORD $0x894d; BYTE $0xf8 // mov r8, r15 - WORD $0x894d; BYTE $0xfc // mov r12, r15 - WORD $0x894d; BYTE $0xfd // mov r13, r15 - WORD $0x894c; BYTE $0xfb // mov rbx, r15 - WORD $0x894c; BYTE $0xff // mov rdi, r15 - WORD $0x894d; BYTE $0xf9 // mov r9, r15 - LONG $0x04b70f42; BYTE $0x3e // movzx eax, word [rsi + r15] - LONG $0xe86e0f66 // movd xmm5, eax - LONG $0x44b70f42; WORD $0x023e // movzx eax, word [rsi + r15 + 2] - LONG $0xc06e0f66 // movd xmm0, eax - LONG $0x44b70f42; WORD $0x043e // movzx eax, word [rsi + r15 + 4] - LONG $0xc86e0f66 // movd xmm1, eax - LONG $0x44b70f42; WORD $0x063e // movzx eax, word [rsi + r15 + 6] - LONG $0xf86e0f66 // movd xmm7, eax - LONG $0x44b70f42; WORD $0x083e // movzx eax, word [rsi + r15 + 8] - LONG $0x6e0f4466; BYTE $0xc0 // movd xmm8, eax - LONG $0x44b70f42; WORD $0x0a3e // movzx eax, word [rsi + r15 + 10] - LONG $0xe06e0f66 // movd xmm4, eax - LONG $0x44b70f42; WORD $0x0c3e // movzx eax, word [rsi + r15 + 12] - LONG $0x54b70f46; WORD $0x0e3e // movzx r10d, word [rsi + r15 + 14] - LONG $0x5cb70f46; WORD $0x103e // movzx r11d, word [rsi + r15 + 16] - LONG $0x54b70f42; WORD $0x123e // movzx edx, word [rsi + r15 + 18] - LONG $0x74b70f46; WORD $0x143e // movzx r14d, word [rsi + r15 + 20] - WORD $0x894c; BYTE $0xf9 // mov rcx, r15 - LONG $0x40c98348 // or rcx, 64 - LONG $0x80c88149; WORD $0x0000; BYTE $0x00 // or r8, 128 - LONG $0xc0cc8149; WORD $0x0000; BYTE $0x00 // or r12, 192 - LONG $0x00cd8149; WORD $0x0001; BYTE $0x00 // or r13, 256 - LONG $0x40cb8148; WORD $0x0001; BYTE $0x00 // or rbx, 320 - LONG $0x80cf8148; WORD $0x0001; BYTE $0x00 // or rdi, 384 - LONG $0x2cc40f66; WORD $0x010e // pinsrw xmm5, word [rsi + rcx], 1 - LONG $0xc40f4266; WORD $0x062c; BYTE $0x02 // pinsrw xmm5, word [rsi + r8], 2 - LONG $0xc40f4266; WORD $0x262c; BYTE $0x03 // pinsrw xmm5, word [rsi + r12], 3 - LONG $0xc40f4266; WORD $0x2e2c; BYTE $0x04 // pinsrw xmm5, word [rsi + r13], 4 - LONG $0x2cc40f66; WORD $0x051e // pinsrw xmm5, word [rsi + rbx], 5 - LONG $0x2cc40f66; WORD $0x063e // pinsrw xmm5, word [rsi + rdi], 6 - LONG $0x44c40f66; WORD $0x020e; BYTE $0x01 // pinsrw xmm0, word [rsi + rcx + 2], 1 - QUAD $0x02020644c40f4266 // pinsrw xmm0, word [rsi + r8 + 2], 2 - QUAD $0x03022644c40f4266 // pinsrw xmm0, word [rsi + r12 + 2], 3 - QUAD $0x04022e44c40f4266 // pinsrw xmm0, word [rsi + r13 + 2], 4 - LONG $0x44c40f66; WORD $0x021e; BYTE $0x05 // pinsrw xmm0, word [rsi + rbx + 2], 5 - LONG $0x44c40f66; WORD $0x023e; BYTE $0x06 // pinsrw xmm0, word [rsi + rdi + 2], 6 - LONG $0xc0c98149; WORD $0x0001; BYTE $0x00 // or r9, 448 - QUAD $0x07020e44c40f4266 // pinsrw xmm0, word [rsi + r9 + 2], 7 - LONG $0xd06e0f66 // movd xmm2, eax - LONG $0x44b70f42; WORD $0x163e // movzx eax, word [rsi + r15 + 22] - LONG $0x10244489 // mov dword [rsp + 16], eax - LONG $0x750f4166; BYTE $0xc3 // pcmpeqw xmm0, xmm11 - LONG $0x4cc40f66; WORD $0x040e; BYTE $0x01 // pinsrw xmm1, word [rsi + rcx + 4], 1 - QUAD $0x0204064cc40f4266 // pinsrw xmm1, word [rsi + r8 + 4], 2 - QUAD $0x0304264cc40f4266 // pinsrw xmm1, word [rsi + r12 + 4], 3 - QUAD $0x04042e4cc40f4266 // pinsrw xmm1, word [rsi + r13 + 4], 4 - LONG $0x4cc40f66; WORD $0x041e; BYTE $0x05 // pinsrw xmm1, word [rsi + rbx + 4], 5 - LONG $0x4cc40f66; WORD $0x043e; BYTE $0x06 // pinsrw xmm1, word [rsi + rdi + 4], 6 - QUAD $0x07040e4cc40f4266 // pinsrw xmm1, word [rsi + r9 + 4], 7 - LONG $0xc0630f66 // packsswb xmm0, xmm0 - LONG $0x750f4166; BYTE $0xcb // pcmpeqw xmm1, xmm11 - QUAD $0x0000808d6f0f4466; BYTE $0x00 // movdqa xmm9, oword 128[rbp] /* [rip + .LCPI4_8] */ - LONG $0x6f0f4166; BYTE $0xd9 // movdqa xmm3, xmm9 - LONG $0x380f4166; WORD $0xdf10 // pblendvb xmm3, xmm15, xmm0 - LONG $0xc9630f66 // packsswb xmm1, xmm1 - QUAD $0x00000090856f0f66 // movdqa xmm0, oword 144[rbp] /* [rip + .LCPI4_9] */ - LONG $0xf06f0f66 // movdqa xmm6, xmm0 - LONG $0x6f0f4466; BYTE $0xf0 // movdqa xmm14, xmm0 - LONG $0xc16f0f66 // movdqa xmm0, xmm1 - LONG $0x380f4166; WORD $0xf710 // pblendvb xmm6, xmm15, xmm0 - LONG $0x6e0f4166; BYTE $0xca // movd xmm1, r10d - LONG $0x54b70f46; WORD $0x183e // movzx r10d, word [rsi + r15 + 24] - LONG $0xc40f4266; WORD $0x0e2c; BYTE $0x07 // pinsrw xmm5, word [rsi + r9], 7 - LONG $0x750f4166; BYTE $0xeb // pcmpeqw xmm5, xmm11 - LONG $0xc0760f66 // pcmpeqd xmm0, xmm0 - LONG $0xe8ef0f66 // pxor xmm5, xmm0 - LONG $0xed630f66 // packsswb xmm5, xmm5 - LONG $0x7cc40f66; WORD $0x060e; BYTE $0x01 // pinsrw xmm7, word [rsi + rcx + 6], 1 - QUAD $0x0206067cc40f4266 // pinsrw xmm7, word [rsi + r8 + 6], 2 - QUAD $0x0306267cc40f4266 // pinsrw xmm7, word [rsi + r12 + 6], 3 - QUAD $0x04062e7cc40f4266 // pinsrw xmm7, word [rsi + r13 + 6], 4 - LONG $0x7cc40f66; WORD $0x061e; BYTE $0x05 // pinsrw xmm7, word [rsi + rbx + 6], 5 - LONG $0x7cc40f66; WORD $0x063e; BYTE $0x06 // pinsrw xmm7, word [rsi + rdi + 6], 6 - QUAD $0x07060e7cc40f4266 // pinsrw xmm7, word [rsi + r9 + 6], 7 - LONG $0x750f4166; BYTE $0xfb // pcmpeqw xmm7, xmm11 - LONG $0xff630f66 // packsswb xmm7, xmm7 - QUAD $0x01080e44c40f4466 // pinsrw xmm8, word [rsi + rcx + 8], 1 - QUAD $0x02080644c40f4666 // pinsrw xmm8, word [rsi + r8 + 8], 2 - QUAD $0x03082644c40f4666 // pinsrw xmm8, word [rsi + r12 + 8], 3 - QUAD $0x04082e44c40f4666 // pinsrw xmm8, word [rsi + r13 + 8], 4 - QUAD $0x05081e44c40f4466 // pinsrw xmm8, word [rsi + rbx + 8], 5 - QUAD $0x06083e44c40f4466 // pinsrw xmm8, word [rsi + rdi + 8], 6 - QUAD $0x07080e44c40f4666 // pinsrw xmm8, word [rsi + r9 + 8], 7 - LONG $0xddf80f66 // psubb xmm3, xmm5 - QUAD $0x0000a0a56f0f4466; BYTE $0x00 // movdqa xmm12, oword 160[rbp] /* [rip + .LCPI4_10] */ - LONG $0xc76f0f66 // movdqa xmm0, xmm7 - LONG $0x380f4566; WORD $0xe710 // pblendvb xmm12, xmm15, xmm0 - LONG $0x6e0f4166; BYTE $0xfb // movd xmm7, r11d - LONG $0x44b70f42; WORD $0x1a3e // movzx eax, word [rsi + r15 + 26] - LONG $0x750f4566; BYTE $0xc3 // pcmpeqw xmm8, xmm11 - LONG $0x630f4566; BYTE $0xc0 // packsswb xmm8, xmm8 - LONG $0xeb0f4466; BYTE $0xe6 // por xmm12, xmm6 - QUAD $0x0000b0ad6f0f4466; BYTE $0x00 // movdqa xmm13, oword 176[rbp] /* [rip + .LCPI4_11] */ - LONG $0x6f0f4166; BYTE $0xc0 // movdqa xmm0, xmm8 - LONG $0x380f4566; WORD $0xef10 // pblendvb xmm13, xmm15, xmm0 - LONG $0xf26e0f66 // movd xmm6, edx - LONG $0x5cb70f46; WORD $0x1c3e // movzx r11d, word [rsi + r15 + 28] - LONG $0x64c40f66; WORD $0x0a0e; BYTE $0x01 // pinsrw xmm4, word [rsi + rcx + 10], 1 - QUAD $0x020a0664c40f4266 // pinsrw xmm4, word [rsi + r8 + 10], 2 - QUAD $0x030a2664c40f4266 // pinsrw xmm4, word [rsi + r12 + 10], 3 - QUAD $0x040a2e64c40f4266 // pinsrw xmm4, word [rsi + r13 + 10], 4 - LONG $0x64c40f66; WORD $0x0a1e; BYTE $0x05 // pinsrw xmm4, word [rsi + rbx + 10], 5 - LONG $0x64c40f66; WORD $0x0a3e; BYTE $0x06 // pinsrw xmm4, word [rsi + rdi + 10], 6 - QUAD $0x070a0e64c40f4266 // pinsrw xmm4, word [rsi + r9 + 10], 7 - LONG $0x750f4166; BYTE $0xe3 // pcmpeqw xmm4, xmm11 - LONG $0xe4630f66 // packsswb xmm4, xmm4 - LONG $0x54c40f66; WORD $0x0c0e; BYTE $0x01 // pinsrw xmm2, word [rsi + rcx + 12], 1 - QUAD $0x020c0654c40f4266 // pinsrw xmm2, word [rsi + r8 + 12], 2 - QUAD $0x030c2654c40f4266 // pinsrw xmm2, word [rsi + r12 + 12], 3 - QUAD $0x040c2e54c40f4266 // pinsrw xmm2, word [rsi + r13 + 12], 4 - LONG $0x54c40f66; WORD $0x0c1e; BYTE $0x05 // pinsrw xmm2, word [rsi + rbx + 12], 5 - LONG $0x54c40f66; WORD $0x0c3e; BYTE $0x06 // pinsrw xmm2, word [rsi + rdi + 12], 6 - LONG $0xeb0f4466; BYTE $0xe3 // por xmm12, xmm3 - QUAD $0x000000c0ad6f0f66 // movdqa xmm5, oword 192[rbp] /* [rip + .LCPI4_12] */ - LONG $0xc46f0f66 // movdqa xmm0, xmm4 - LONG $0x380f4166; WORD $0xef10 // pblendvb xmm5, xmm15, xmm0 - LONG $0x6e0f4166; BYTE $0xe6 // movd xmm4, r14d - LONG $0x54b70f42; WORD $0x1e3e // movzx edx, word [rsi + r15 + 30] - LONG $0x30245489 // mov dword [rsp + 48], edx - QUAD $0x070c0e54c40f4266 // pinsrw xmm2, word [rsi + r9 + 12], 7 - LONG $0x750f4166; BYTE $0xd3 // pcmpeqw xmm2, xmm11 - LONG $0xd2630f66 // packsswb xmm2, xmm2 - LONG $0xeb0f4166; BYTE $0xed // por xmm5, xmm13 - QUAD $0x0000d0ad6f0f4466; BYTE $0x00 // movdqa xmm13, oword 208[rbp] /* [rip + .LCPI4_13] */ - LONG $0xc26f0f66 // movdqa xmm0, xmm2 - LONG $0x380f4566; WORD $0xef10 // pblendvb xmm13, xmm15, xmm0 - LONG $0x5c6e0f66; WORD $0x1024 // movd xmm3, dword [rsp + 16] - LONG $0x54b70f42; WORD $0x203e // movzx edx, word [rsi + r15 + 32] - LONG $0x20245489 // mov dword [rsp + 32], edx - LONG $0x4cc40f66; WORD $0x0e0e; BYTE $0x01 // pinsrw xmm1, word [rsi + rcx + 14], 1 - QUAD $0x020e064cc40f4266 // pinsrw xmm1, word [rsi + r8 + 14], 2 - QUAD $0x030e264cc40f4266 // pinsrw xmm1, word [rsi + r12 + 14], 3 - QUAD $0x040e2e4cc40f4266 // pinsrw xmm1, word [rsi + r13 + 14], 4 - LONG $0x4cc40f66; WORD $0x0e1e; BYTE $0x05 // pinsrw xmm1, word [rsi + rbx + 14], 5 - LONG $0x4cc40f66; WORD $0x0e3e; BYTE $0x06 // pinsrw xmm1, word [rsi + rdi + 14], 6 - LONG $0xeb0f4466; BYTE $0xed // por xmm13, xmm5 - LONG $0x6e0f4166; BYTE $0xd2 // movd xmm2, r10d - LONG $0x54b70f42; WORD $0x223e // movzx edx, word [rsi + r15 + 34] - LONG $0x10245489 // mov dword [rsp + 16], edx - QUAD $0x070e0e4cc40f4266 // pinsrw xmm1, word [rsi + r9 + 14], 7 - LONG $0x750f4166; BYTE $0xcb // pcmpeqw xmm1, xmm11 - LONG $0x74c40f66; WORD $0x120e; BYTE $0x01 // pinsrw xmm6, word [rsi + rcx + 18], 1 - QUAD $0x02120674c40f4266 // pinsrw xmm6, word [rsi + r8 + 18], 2 - QUAD $0x03122674c40f4266 // pinsrw xmm6, word [rsi + r12 + 18], 3 - QUAD $0x04122e74c40f4266 // pinsrw xmm6, word [rsi + r13 + 18], 4 - LONG $0x74c40f66; WORD $0x121e; BYTE $0x05 // pinsrw xmm6, word [rsi + rbx + 18], 5 - LONG $0x74c40f66; WORD $0x123e; BYTE $0x06 // pinsrw xmm6, word [rsi + rdi + 18], 6 - LONG $0xc9630f66 // packsswb xmm1, xmm1 - QUAD $0x07120e74c40f4266 // pinsrw xmm6, word [rsi + r9 + 18], 7 - LONG $0x750f4166; BYTE $0xf3 // pcmpeqw xmm6, xmm11 +LBB4_189: + QUAD $0xfffffe04b6100ff3 // movss xmm6, dword [rsi - 508] + QUAD $0xfffffe08be100ff3 // movss xmm7, dword [rsi - 504] + QUAD $0xfffffe0cae100ff3 // movss xmm5, dword [rsi - 500] + QUAD $0xfffffe10a6100ff3 // movss xmm4, dword [rsi - 496] + QUAD $0xfffe84b6213a0f66; WORD $0x10ff // insertps xmm6, dword [rsi - 380], 16 + QUAD $0xffff04b6213a0f66; WORD $0x20ff // insertps xmm6, dword [rsi - 252], 32 + LONG $0x213a0f66; WORD $0x8476; BYTE $0x30 // insertps xmm6, dword [rsi - 124], 48 + LONG $0x04f1c20f // cmpneqps xmm6, xmm1 + LONG $0xf66b0f66 // packssdw xmm6, xmm6 LONG $0xf6630f66 // packsswb xmm6, xmm6 - LONG $0xeb0f4566; BYTE $0xec // por xmm13, xmm12 - QUAD $0x0000e0a56f0f4466; BYTE $0x00 // movdqa xmm12, oword 224[rbp] /* [rip + .LCPI4_14] */ - LONG $0xc16f0f66 // movdqa xmm0, xmm1 - LONG $0x380f4566; WORD $0xe710 // pblendvb xmm12, xmm15, xmm0 - LONG $0x6f0f4566; BYTE $0xc1 // movdqa xmm8, xmm9 - LONG $0xc66f0f66 // movdqa xmm0, xmm6 - LONG $0x380f4566; WORD $0xc710 // pblendvb xmm8, xmm15, xmm0 - LONG $0xc86e0f66 // movd xmm1, eax - LONG $0x74b70f46; WORD $0x243e // movzx r14d, word [rsi + r15 + 36] - LONG $0x7cc40f66; WORD $0x100e; BYTE $0x01 // pinsrw xmm7, word [rsi + rcx + 16], 1 - QUAD $0x0210067cc40f4266 // pinsrw xmm7, word [rsi + r8 + 16], 2 - QUAD $0x0310267cc40f4266 // pinsrw xmm7, word [rsi + r12 + 16], 3 - QUAD $0x04102e7cc40f4266 // pinsrw xmm7, word [rsi + r13 + 16], 4 - LONG $0x7cc40f66; WORD $0x101e; BYTE $0x05 // pinsrw xmm7, word [rsi + rbx + 16], 5 - LONG $0x7cc40f66; WORD $0x103e; BYTE $0x06 // pinsrw xmm7, word [rsi + rdi + 16], 6 - LONG $0x64c40f66; WORD $0x140e; BYTE $0x01 // pinsrw xmm4, word [rsi + rcx + 20], 1 - QUAD $0x02140664c40f4266 // pinsrw xmm4, word [rsi + r8 + 20], 2 - QUAD $0x03142664c40f4266 // pinsrw xmm4, word [rsi + r12 + 20], 3 - QUAD $0x04142e64c40f4266 // pinsrw xmm4, word [rsi + r13 + 20], 4 - LONG $0x64c40f66; WORD $0x141e; BYTE $0x05 // pinsrw xmm4, word [rsi + rbx + 20], 5 - LONG $0x64c40f66; WORD $0x143e; BYTE $0x06 // pinsrw xmm4, word [rsi + rdi + 20], 6 - QUAD $0x07140e64c40f4266 // pinsrw xmm4, word [rsi + r9 + 20], 7 - LONG $0x750f4166; BYTE $0xe3 // pcmpeqw xmm4, xmm11 + LONG $0xdb0f4166; BYTE $0xf7 // pand xmm6, xmm15 + QUAD $0xfffe88be213a0f66; WORD $0x10ff // insertps xmm7, dword [rsi - 376], 16 + QUAD $0xffff08be213a0f66; WORD $0x20ff // insertps xmm7, dword [rsi - 248], 32 + LONG $0x213a0f66; WORD $0x887e; BYTE $0x30 // insertps xmm7, dword [rsi - 120], 48 + QUAD $0xfffe8cae213a0f66; WORD $0x10ff // insertps xmm5, dword [rsi - 372], 16 + QUAD $0xffff0cae213a0f66; WORD $0x20ff // insertps xmm5, dword [rsi - 244], 32 + LONG $0x213a0f66; WORD $0x8c6e; BYTE $0x30 // insertps xmm5, dword [rsi - 116], 48 + QUAD $0xfffe90a6213a0f66; WORD $0x10ff // insertps xmm4, dword [rsi - 368], 16 + QUAD $0xffff10a6213a0f66; WORD $0x20ff // insertps xmm4, dword [rsi - 240], 32 + LONG $0x213a0f66; WORD $0x9066; BYTE $0x30 // insertps xmm4, dword [rsi - 112], 48 + LONG $0x04f9c20f // cmpneqps xmm7, xmm1 + LONG $0xff6b0f66 // packssdw xmm7, xmm7 + LONG $0xff630f66 // packsswb xmm7, xmm7 + LONG $0xd76f0f66 // movdqa xmm2, xmm7 + LONG $0xdb0f4166; BYTE $0xd7 // pand xmm2, xmm15 + LONG $0xd7f80f66 // psubb xmm2, xmm7 + QUAD $0xfffffe14be100ff3 // movss xmm7, dword [rsi - 492] + QUAD $0xfffe94be213a0f66; WORD $0x10ff // insertps xmm7, dword [rsi - 364], 16 + QUAD $0xffff14be213a0f66; WORD $0x20ff // insertps xmm7, dword [rsi - 236], 32 + LONG $0x213a0f66; WORD $0x947e; BYTE $0x30 // insertps xmm7, dword [rsi - 108], 48 + LONG $0xd6eb0f66 // por xmm2, xmm6 + QUAD $0xfffffe18b6100ff3 // movss xmm6, dword [rsi - 488] + QUAD $0xfffe98b6213a0f66; WORD $0x10ff // insertps xmm6, dword [rsi - 360], 16 + QUAD $0xffff18b6213a0f66; WORD $0x20ff // insertps xmm6, dword [rsi - 232], 32 + LONG $0x213a0f66; WORD $0x9876; BYTE $0x30 // insertps xmm6, dword [rsi - 104], 48 + LONG $0x04e9c20f // cmpneqps xmm5, xmm1 + LONG $0xed6b0f66 // packssdw xmm5, xmm5 + LONG $0xed630f66 // packsswb xmm5, xmm5 + LONG $0xdb0f4166; BYTE $0xef // pand xmm5, xmm15 + LONG $0xf5710f66; BYTE $0x02 // psllw xmm5, 2 + LONG $0xdb0f4166; BYTE $0xe8 // pand xmm5, xmm8 + LONG $0xeaeb0f66 // por xmm5, xmm2 + QUAD $0xfffffe1c9e100ff3 // movss xmm3, dword [rsi - 484] + QUAD $0xfffe9c9e213a0f66; WORD $0x10ff // insertps xmm3, dword [rsi - 356], 16 + QUAD $0xffff1c9e213a0f66; WORD $0x20ff // insertps xmm3, dword [rsi - 228], 32 + LONG $0x213a0f66; WORD $0x9c5e; BYTE $0x30 // insertps xmm3, dword [rsi - 100], 48 + LONG $0x04e1c20f // cmpneqps xmm4, xmm1 + LONG $0xe46b0f66 // packssdw xmm4, xmm4 LONG $0xe4630f66 // packsswb xmm4, xmm4 - LONG $0xeb0f4566; BYTE $0xe5 // por xmm12, xmm13 - LONG $0x6f0f4166; BYTE $0xee // movdqa xmm5, xmm14 - LONG $0xc46f0f66 // movdqa xmm0, xmm4 - LONG $0x380f4166; WORD $0xef10 // pblendvb xmm5, xmm15, xmm0 - LONG $0x6e0f4166; BYTE $0xe3 // movd xmm4, r11d - LONG $0x5cb70f46; WORD $0x263e // movzx r11d, word [rsi + r15 + 38] - QUAD $0x07100e7cc40f4266 // pinsrw xmm7, word [rsi + r9 + 16], 7 - LONG $0x750f4166; BYTE $0xfb // pcmpeqw xmm7, xmm11 - QUAD $0x00000160bdef0f66 // pxor xmm7, oword 352[rbp] /* [rip + .LCPI4_22] */ + LONG $0xdb0f4166; BYTE $0xe7 // pand xmm4, xmm15 + LONG $0xf4710f66; BYTE $0x03 // psllw xmm4, 3 + LONG $0xdb0f4166; BYTE $0xe2 // pand xmm4, xmm10 + LONG $0x04f9c20f // cmpneqps xmm7, xmm1 + LONG $0xff6b0f66 // packssdw xmm7, xmm7 LONG $0xff630f66 // packsswb xmm7, xmm7 - LONG $0x5cc40f66; WORD $0x160e; BYTE $0x01 // pinsrw xmm3, word [rsi + rcx + 22], 1 - QUAD $0x0216065cc40f4266 // pinsrw xmm3, word [rsi + r8 + 22], 2 - QUAD $0x0316265cc40f4266 // pinsrw xmm3, word [rsi + r12 + 22], 3 - QUAD $0x04162e5cc40f4266 // pinsrw xmm3, word [rsi + r13 + 22], 4 - LONG $0x5cc40f66; WORD $0x161e; BYTE $0x05 // pinsrw xmm3, word [rsi + rbx + 22], 5 - LONG $0x5cc40f66; WORD $0x163e; BYTE $0x06 // pinsrw xmm3, word [rsi + rdi + 22], 6 - QUAD $0x07160e5cc40f4266 // pinsrw xmm3, word [rsi + r9 + 22], 7 - LONG $0x750f4166; BYTE $0xdb // pcmpeqw xmm3, xmm11 + LONG $0xdb0f4166; BYTE $0xff // pand xmm7, xmm15 + LONG $0xf7710f66; BYTE $0x04 // psllw xmm7, 4 + LONG $0xdb0f4166; BYTE $0xfb // pand xmm7, xmm11 + LONG $0xfceb0f66 // por xmm7, xmm4 + QUAD $0xfffffe20a6100ff3 // movss xmm4, dword [rsi - 480] + QUAD $0xfffea0a6213a0f66; WORD $0x10ff // insertps xmm4, dword [rsi - 352], 16 + QUAD $0xffff20a6213a0f66; WORD $0x20ff // insertps xmm4, dword [rsi - 224], 32 + LONG $0x213a0f66; WORD $0xa066; BYTE $0x30 // insertps xmm4, dword [rsi - 96], 48 + LONG $0xfdeb0f66 // por xmm7, xmm5 + QUAD $0xfffffe24ae100ff3 // movss xmm5, dword [rsi - 476] + QUAD $0xfffea4ae213a0f66; WORD $0x10ff // insertps xmm5, dword [rsi - 348], 16 + QUAD $0xffff24ae213a0f66; WORD $0x20ff // insertps xmm5, dword [rsi - 220], 32 + LONG $0x213a0f66; WORD $0xa46e; BYTE $0x30 // insertps xmm5, dword [rsi - 92], 48 + LONG $0x04e9c20f // cmpneqps xmm5, xmm1 + LONG $0xed6b0f66 // packssdw xmm5, xmm5 + LONG $0x04f1c20f // cmpneqps xmm6, xmm1 + LONG $0xf66b0f66 // packssdw xmm6, xmm6 + LONG $0xf6630f66 // packsswb xmm6, xmm6 + LONG $0xdb0f4166; BYTE $0xf7 // pand xmm6, xmm15 + LONG $0xf6710f66; BYTE $0x05 // psllw xmm6, 5 + LONG $0xdb0f4166; BYTE $0xf4 // pand xmm6, xmm12 + LONG $0x04d9c20f // cmpneqps xmm3, xmm1 + LONG $0xdb6b0f66 // packssdw xmm3, xmm3 LONG $0xdb630f66 // packsswb xmm3, xmm3 - LONG $0x54c40f66; WORD $0x180e; BYTE $0x01 // pinsrw xmm2, word [rsi + rcx + 24], 1 - QUAD $0x02180654c40f4266 // pinsrw xmm2, word [rsi + r8 + 24], 2 - QUAD $0x03182654c40f4266 // pinsrw xmm2, word [rsi + r12 + 24], 3 - QUAD $0x04182e54c40f4266 // pinsrw xmm2, word [rsi + r13 + 24], 4 - LONG $0x54c40f66; WORD $0x181e; BYTE $0x05 // pinsrw xmm2, word [rsi + rbx + 24], 5 - LONG $0x54c40f66; WORD $0x183e; BYTE $0x06 // pinsrw xmm2, word [rsi + rdi + 24], 6 - QUAD $0x07180e54c40f4266 // pinsrw xmm2, word [rsi + r9 + 24], 7 - LONG $0xf80f4466; BYTE $0xc7 // psubb xmm8, xmm7 - QUAD $0x0000a0956f0f4466; BYTE $0x00 // movdqa xmm10, oword 160[rbp] /* [rip + .LCPI4_10] */ - LONG $0x6f0f4566; BYTE $0xf2 // movdqa xmm14, xmm10 - LONG $0xc36f0f66 // movdqa xmm0, xmm3 - LONG $0x380f4566; WORD $0xf710 // pblendvb xmm14, xmm15, xmm0 - LONG $0x5c6e0f66; WORD $0x3024 // movd xmm3, dword [rsp + 48] - LONG $0x44b70f42; WORD $0x283e // movzx eax, word [rsi + r15 + 40] - LONG $0x750f4166; BYTE $0xd3 // pcmpeqw xmm2, xmm11 + LONG $0xdb0f4166; BYTE $0xdf // pand xmm3, xmm15 + LONG $0xf3710f66; BYTE $0x06 // psllw xmm3, 6 + LONG $0xdb0f4166; BYTE $0xdd // pand xmm3, xmm13 + LONG $0xdeeb0f66 // por xmm3, xmm6 + QUAD $0xfffffe2896100ff3 // movss xmm2, dword [rsi - 472] + QUAD $0xfffea896213a0f66; WORD $0x10ff // insertps xmm2, dword [rsi - 344], 16 + QUAD $0xffff2896213a0f66; WORD $0x20ff // insertps xmm2, dword [rsi - 216], 32 + LONG $0x213a0f66; WORD $0xa856; BYTE $0x30 // insertps xmm2, dword [rsi - 88], 48 + LONG $0xed630f66 // packsswb xmm5, xmm5 + LONG $0x04e1c20f // cmpneqps xmm4, xmm1 + LONG $0xe46b0f66 // packssdw xmm4, xmm4 + LONG $0xe4630f66 // packsswb xmm4, xmm4 + LONG $0xf4710f66; BYTE $0x07 // psllw xmm4, 7 + LONG $0xdb0f4166; BYTE $0xe6 // pand xmm4, xmm14 + LONG $0xe3eb0f66 // por xmm4, xmm3 + QUAD $0xfffffe2c9e100ff3 // movss xmm3, dword [rsi - 468] + QUAD $0xfffeac9e213a0f66; WORD $0x10ff // insertps xmm3, dword [rsi - 340], 16 + QUAD $0xffff2c9e213a0f66; WORD $0x20ff // insertps xmm3, dword [rsi - 212], 32 + LONG $0xdb0f4166; BYTE $0xef // pand xmm5, xmm15 + LONG $0x213a0f66; WORD $0xac5e; BYTE $0x30 // insertps xmm3, dword [rsi - 84], 48 + LONG $0xe7eb0f66 // por xmm4, xmm7 + LONG $0x04d1c20f // cmpneqps xmm2, xmm1 + LONG $0xd26b0f66 // packssdw xmm2, xmm2 LONG $0xd2630f66 // packsswb xmm2, xmm2 - LONG $0xeb0f4466; BYTE $0xf5 // por xmm14, xmm5 - QUAD $0x0000b08d6f0f4466; BYTE $0x00 // movdqa xmm9, oword 176[rbp] /* [rip + .LCPI4_11] */ - LONG $0x6f0f4566; BYTE $0xe9 // movdqa xmm13, xmm9 - LONG $0xc26f0f66 // movdqa xmm0, xmm2 - LONG $0x380f4566; WORD $0xef10 // pblendvb xmm13, xmm15, xmm0 - LONG $0x7c6e0f66; WORD $0x2024 // movd xmm7, dword [rsp + 32] - LONG $0x54b70f46; WORD $0x2a3e // movzx r10d, word [rsi + r15 + 42] - LONG $0x4cc40f66; WORD $0x1a0e; BYTE $0x01 // pinsrw xmm1, word [rsi + rcx + 26], 1 - QUAD $0x021a064cc40f4266 // pinsrw xmm1, word [rsi + r8 + 26], 2 - QUAD $0x031a264cc40f4266 // pinsrw xmm1, word [rsi + r12 + 26], 3 - QUAD $0x041a2e4cc40f4266 // pinsrw xmm1, word [rsi + r13 + 26], 4 - LONG $0x4cc40f66; WORD $0x1a1e; BYTE $0x05 // pinsrw xmm1, word [rsi + rbx + 26], 5 - LONG $0x4cc40f66; WORD $0x1a3e; BYTE $0x06 // pinsrw xmm1, word [rsi + rdi + 26], 6 - QUAD $0x071a0e4cc40f4266 // pinsrw xmm1, word [rsi + r9 + 26], 7 - LONG $0x750f4166; BYTE $0xcb // pcmpeqw xmm1, xmm11 - LONG $0xc9630f66 // packsswb xmm1, xmm1 - LONG $0x64c40f66; WORD $0x1c0e; BYTE $0x01 // pinsrw xmm4, word [rsi + rcx + 28], 1 - QUAD $0x021c0664c40f4266 // pinsrw xmm4, word [rsi + r8 + 28], 2 + LONG $0xf26f0f66 // movdqa xmm6, xmm2 + LONG $0xdb0f4166; BYTE $0xf7 // pand xmm6, xmm15 + LONG $0xf2f80f66 // psubb xmm6, xmm2 + QUAD $0xfffffe30be100ff3 // movss xmm7, dword [rsi - 464] + QUAD $0xfffeb0be213a0f66; WORD $0x10ff // insertps xmm7, dword [rsi - 336], 16 + QUAD $0xffff30be213a0f66; WORD $0x20ff // insertps xmm7, dword [rsi - 208], 32 + LONG $0x213a0f66; WORD $0xb07e; BYTE $0x30 // insertps xmm7, dword [rsi - 80], 48 + LONG $0xf5eb0f66 // por xmm6, xmm5 + QUAD $0xfffffe34ae100ff3 // movss xmm5, dword [rsi - 460] + QUAD $0xfffeb4ae213a0f66; WORD $0x10ff // insertps xmm5, dword [rsi - 332], 16 + QUAD $0xffff34ae213a0f66; WORD $0x20ff // insertps xmm5, dword [rsi - 204], 32 + LONG $0x213a0f66; WORD $0xb46e; BYTE $0x30 // insertps xmm5, dword [rsi - 76], 48 + LONG $0x04d9c20f // cmpneqps xmm3, xmm1 + LONG $0xdb6b0f66 // packssdw xmm3, xmm3 + LONG $0xdb630f66 // packsswb xmm3, xmm3 + LONG $0xdb0f4166; BYTE $0xdf // pand xmm3, xmm15 + LONG $0xf3710f66; BYTE $0x02 // psllw xmm3, 2 + LONG $0xdb0f4166; BYTE $0xd8 // pand xmm3, xmm8 + LONG $0xdeeb0f66 // por xmm3, xmm6 + QUAD $0xfffffe38b6100ff3 // movss xmm6, dword [rsi - 456] + QUAD $0xfffeb8b6213a0f66; WORD $0x10ff // insertps xmm6, dword [rsi - 328], 16 + QUAD $0xffff38b6213a0f66; WORD $0x20ff // insertps xmm6, dword [rsi - 200], 32 + LONG $0x213a0f66; WORD $0xb876; BYTE $0x30 // insertps xmm6, dword [rsi - 72], 48 + LONG $0x04f9c20f // cmpneqps xmm7, xmm1 + LONG $0xff6b0f66 // packssdw xmm7, xmm7 + LONG $0xff630f66 // packsswb xmm7, xmm7 + LONG $0xdb0f4166; BYTE $0xff // pand xmm7, xmm15 + LONG $0xf7710f66; BYTE $0x03 // psllw xmm7, 3 + LONG $0xdb0f4166; BYTE $0xfa // pand xmm7, xmm10 + LONG $0x04e9c20f // cmpneqps xmm5, xmm1 + LONG $0xed6b0f66 // packssdw xmm5, xmm5 + LONG $0xed630f66 // packsswb xmm5, xmm5 + LONG $0xdb0f4166; BYTE $0xef // pand xmm5, xmm15 + LONG $0xf5710f66; BYTE $0x04 // psllw xmm5, 4 + LONG $0xdb0f4166; BYTE $0xeb // pand xmm5, xmm11 + LONG $0xefeb0f66 // por xmm5, xmm7 + QUAD $0xfffffe3c96100ff3 // movss xmm2, dword [rsi - 452] + QUAD $0xfffebc96213a0f66; WORD $0x10ff // insertps xmm2, dword [rsi - 324], 16 + QUAD $0xffff3c96213a0f66; WORD $0x20ff // insertps xmm2, dword [rsi - 196], 32 + LONG $0x213a0f66; WORD $0xbc56; BYTE $0x30 // insertps xmm2, dword [rsi - 68], 48 + LONG $0xebeb0f66 // por xmm5, xmm3 + QUAD $0xfffffe40be100ff3 // movss xmm7, dword [rsi - 448] + QUAD $0xfffec0be213a0f66; WORD $0x10ff // insertps xmm7, dword [rsi - 320], 16 + QUAD $0xffff40be213a0f66; WORD $0x20ff // insertps xmm7, dword [rsi - 192], 32 + LONG $0x213a0f66; WORD $0xc07e; BYTE $0x30 // insertps xmm7, dword [rsi - 64], 48 + LONG $0x04f1c20f // cmpneqps xmm6, xmm1 + LONG $0xf66b0f66 // packssdw xmm6, xmm6 + LONG $0xf6630f66 // packsswb xmm6, xmm6 + LONG $0xdb0f4166; BYTE $0xf7 // pand xmm6, xmm15 + LONG $0xf6710f66; BYTE $0x05 // psllw xmm6, 5 + LONG $0xdb0f4166; BYTE $0xf4 // pand xmm6, xmm12 + LONG $0x04d1c20f // cmpneqps xmm2, xmm1 + LONG $0xd26b0f66 // packssdw xmm2, xmm2 + LONG $0xd2630f66 // packsswb xmm2, xmm2 + LONG $0xdb0f4166; BYTE $0xd7 // pand xmm2, xmm15 + LONG $0xf2710f66; BYTE $0x06 // psllw xmm2, 6 + LONG $0xdb0f4166; BYTE $0xd5 // pand xmm2, xmm13 + LONG $0xd6eb0f66 // por xmm2, xmm6 + QUAD $0xfffffe44b6100ff3 // movss xmm6, dword [rsi - 444] + QUAD $0xfffec4b6213a0f66; WORD $0x10ff // insertps xmm6, dword [rsi - 316], 16 + QUAD $0xffff44b6213a0f66; WORD $0x20ff // insertps xmm6, dword [rsi - 188], 32 + LONG $0x213a0f66; WORD $0xc476; BYTE $0x30 // insertps xmm6, dword [rsi - 60], 48 + LONG $0x04f1c20f // cmpneqps xmm6, xmm1 + LONG $0xf66b0f66 // packssdw xmm6, xmm6 + LONG $0xf6630f66 // packsswb xmm6, xmm6 + LONG $0x04f9c20f // cmpneqps xmm7, xmm1 + LONG $0xff6b0f66 // packssdw xmm7, xmm7 + LONG $0xff630f66 // packsswb xmm7, xmm7 + LONG $0xf7710f66; BYTE $0x07 // psllw xmm7, 7 + LONG $0xdb0f4166; BYTE $0xfe // pand xmm7, xmm14 + LONG $0xfaeb0f66 // por xmm7, xmm2 + QUAD $0xfffffe4896100ff3 // movss xmm2, dword [rsi - 440] + QUAD $0xfffec896213a0f66; WORD $0x10ff // insertps xmm2, dword [rsi - 312], 16 + QUAD $0xffff4896213a0f66; WORD $0x20ff // insertps xmm2, dword [rsi - 184], 32 + LONG $0x213a0f66; WORD $0xc856; BYTE $0x30 // insertps xmm2, dword [rsi - 56], 48 + LONG $0xfdeb0f66 // por xmm7, xmm5 + QUAD $0xfffffe4c9e100ff3 // movss xmm3, dword [rsi - 436] + QUAD $0xfffecc9e213a0f66; WORD $0x10ff // insertps xmm3, dword [rsi - 308], 16 + QUAD $0xffff4c9e213a0f66; WORD $0x20ff // insertps xmm3, dword [rsi - 180], 32 + LONG $0xdb0f4166; BYTE $0xf7 // pand xmm6, xmm15 + LONG $0x213a0f66; WORD $0xcc5e; BYTE $0x30 // insertps xmm3, dword [rsi - 52], 48 + LONG $0xe7620f66 // punpckldq xmm4, xmm7 + LONG $0x04d1c20f // cmpneqps xmm2, xmm1 + LONG $0xd26b0f66 // packssdw xmm2, xmm2 + LONG $0xd2630f66 // packsswb xmm2, xmm2 + LONG $0xfa6f0f66 // movdqa xmm7, xmm2 + LONG $0xdb0f4166; BYTE $0xff // pand xmm7, xmm15 + LONG $0xfaf80f66 // psubb xmm7, xmm2 + QUAD $0xfffffe50ae100ff3 // movss xmm5, dword [rsi - 432] + QUAD $0xfffed0ae213a0f66; WORD $0x10ff // insertps xmm5, dword [rsi - 304], 16 + QUAD $0xffff50ae213a0f66; WORD $0x20ff // insertps xmm5, dword [rsi - 176], 32 + LONG $0x213a0f66; WORD $0xd06e; BYTE $0x30 // insertps xmm5, dword [rsi - 48], 48 + LONG $0xfeeb0f66 // por xmm7, xmm6 + QUAD $0xfffffe54b6100ff3 // movss xmm6, dword [rsi - 428] + QUAD $0xfffed4b6213a0f66; WORD $0x10ff // insertps xmm6, dword [rsi - 300], 16 + QUAD $0xffff54b6213a0f66; WORD $0x20ff // insertps xmm6, dword [rsi - 172], 32 + LONG $0x213a0f66; WORD $0xd476; BYTE $0x30 // insertps xmm6, dword [rsi - 44], 48 + LONG $0x04d9c20f // cmpneqps xmm3, xmm1 + LONG $0xdb6b0f66 // packssdw xmm3, xmm3 + LONG $0xdb630f66 // packsswb xmm3, xmm3 + LONG $0xdb0f4166; BYTE $0xdf // pand xmm3, xmm15 + LONG $0xf3710f66; BYTE $0x02 // psllw xmm3, 2 + LONG $0xdb0f4166; BYTE $0xd8 // pand xmm3, xmm8 + LONG $0xdfeb0f66 // por xmm3, xmm7 + QUAD $0xfffffe58be100ff3 // movss xmm7, dword [rsi - 424] + QUAD $0xfffed8be213a0f66; WORD $0x10ff // insertps xmm7, dword [rsi - 296], 16 + QUAD $0xffff58be213a0f66; WORD $0x20ff // insertps xmm7, dword [rsi - 168], 32 + LONG $0x213a0f66; WORD $0xd87e; BYTE $0x30 // insertps xmm7, dword [rsi - 40], 48 + LONG $0x04e9c20f // cmpneqps xmm5, xmm1 + LONG $0xed6b0f66 // packssdw xmm5, xmm5 + LONG $0xed630f66 // packsswb xmm5, xmm5 + LONG $0xdb0f4166; BYTE $0xef // pand xmm5, xmm15 + LONG $0xf5710f66; BYTE $0x03 // psllw xmm5, 3 + LONG $0xdb0f4166; BYTE $0xea // pand xmm5, xmm10 + LONG $0x04f1c20f // cmpneqps xmm6, xmm1 + LONG $0xf66b0f66 // packssdw xmm6, xmm6 + LONG $0xf6630f66 // packsswb xmm6, xmm6 + LONG $0xdb0f4166; BYTE $0xf7 // pand xmm6, xmm15 + LONG $0xf6710f66; BYTE $0x04 // psllw xmm6, 4 + LONG $0xdb0f4166; BYTE $0xf3 // pand xmm6, xmm11 + LONG $0xf5eb0f66 // por xmm6, xmm5 + QUAD $0xfffffe5c96100ff3 // movss xmm2, dword [rsi - 420] + QUAD $0xfffedc96213a0f66; WORD $0x10ff // insertps xmm2, dword [rsi - 292], 16 + QUAD $0xffff5c96213a0f66; WORD $0x20ff // insertps xmm2, dword [rsi - 164], 32 + LONG $0x213a0f66; WORD $0xdc56; BYTE $0x30 // insertps xmm2, dword [rsi - 36], 48 + LONG $0xf3eb0f66 // por xmm6, xmm3 + QUAD $0xfffffe60ae100ff3 // movss xmm5, dword [rsi - 416] + QUAD $0xfffee0ae213a0f66; WORD $0x10ff // insertps xmm5, dword [rsi - 288], 16 + QUAD $0xffff60ae213a0f66; WORD $0x20ff // insertps xmm5, dword [rsi - 160], 32 + LONG $0x213a0f66; WORD $0xe06e; BYTE $0x30 // insertps xmm5, dword [rsi - 32], 48 + LONG $0x04f9c20f // cmpneqps xmm7, xmm1 + LONG $0xff6b0f66 // packssdw xmm7, xmm7 + LONG $0xff630f66 // packsswb xmm7, xmm7 + LONG $0xdb0f4166; BYTE $0xff // pand xmm7, xmm15 + LONG $0xf7710f66; BYTE $0x05 // psllw xmm7, 5 + LONG $0xdb0f4166; BYTE $0xfc // pand xmm7, xmm12 + LONG $0x04d1c20f // cmpneqps xmm2, xmm1 + LONG $0xd26b0f66 // packssdw xmm2, xmm2 + LONG $0xd2630f66 // packsswb xmm2, xmm2 + LONG $0xdb0f4166; BYTE $0xd7 // pand xmm2, xmm15 + LONG $0xf2710f66; BYTE $0x06 // psllw xmm2, 6 + LONG $0xdb0f4166; BYTE $0xd5 // pand xmm2, xmm13 + LONG $0xd7eb0f66 // por xmm2, xmm7 + QUAD $0xfffffe64be100ff3 // movss xmm7, dword [rsi - 412] + QUAD $0xfffee4be213a0f66; WORD $0x10ff // insertps xmm7, dword [rsi - 284], 16 + QUAD $0xffff64be213a0f66; WORD $0x20ff // insertps xmm7, dword [rsi - 156], 32 + LONG $0x213a0f66; WORD $0xe47e; BYTE $0x30 // insertps xmm7, dword [rsi - 28], 48 + LONG $0x04f9c20f // cmpneqps xmm7, xmm1 + LONG $0xff6b0f66 // packssdw xmm7, xmm7 + LONG $0xff630f66 // packsswb xmm7, xmm7 + LONG $0x04e9c20f // cmpneqps xmm5, xmm1 + LONG $0xed6b0f66 // packssdw xmm5, xmm5 + LONG $0xed630f66 // packsswb xmm5, xmm5 + LONG $0xf5710f66; BYTE $0x07 // psllw xmm5, 7 + LONG $0xdb0f4166; BYTE $0xee // pand xmm5, xmm14 + LONG $0xeaeb0f66 // por xmm5, xmm2 + QUAD $0xfffffe6896100ff3 // movss xmm2, dword [rsi - 408] + QUAD $0xfffee896213a0f66; WORD $0x10ff // insertps xmm2, dword [rsi - 280], 16 + QUAD $0xffff6896213a0f66; WORD $0x20ff // insertps xmm2, dword [rsi - 152], 32 + LONG $0xdb0f4166; BYTE $0xff // pand xmm7, xmm15 + LONG $0x213a0f66; WORD $0xe856; BYTE $0x30 // insertps xmm2, dword [rsi - 24], 48 + LONG $0xeeeb0f66 // por xmm5, xmm6 + LONG $0x04d1c20f // cmpneqps xmm2, xmm1 + LONG $0xd26b0f66 // packssdw xmm2, xmm2 + LONG $0xd2630f66 // packsswb xmm2, xmm2 + LONG $0xf26f0f66 // movdqa xmm6, xmm2 + LONG $0xdb0f4166; BYTE $0xf7 // pand xmm6, xmm15 + LONG $0xf2f80f66 // psubb xmm6, xmm2 + QUAD $0xfffffe6c9e100ff3 // movss xmm3, dword [rsi - 404] + QUAD $0xfffeec9e213a0f66; WORD $0x10ff // insertps xmm3, dword [rsi - 276], 16 + QUAD $0xffff6c9e213a0f66; WORD $0x20ff // insertps xmm3, dword [rsi - 148], 32 + LONG $0x213a0f66; WORD $0xec5e; BYTE $0x30 // insertps xmm3, dword [rsi - 20], 48 + LONG $0xf7eb0f66 // por xmm6, xmm7 + QUAD $0xfffffe7096100ff3 // movss xmm2, dword [rsi - 400] + QUAD $0xfffef096213a0f66; WORD $0x10ff // insertps xmm2, dword [rsi - 272], 16 + QUAD $0xffff7096213a0f66; WORD $0x20ff // insertps xmm2, dword [rsi - 144], 32 + LONG $0x213a0f66; WORD $0xf056; BYTE $0x30 // insertps xmm2, dword [rsi - 16], 48 + LONG $0x04d9c20f // cmpneqps xmm3, xmm1 + LONG $0xdb6b0f66 // packssdw xmm3, xmm3 + LONG $0xdb630f66 // packsswb xmm3, xmm3 + LONG $0xdb0f4166; BYTE $0xdf // pand xmm3, xmm15 + LONG $0xf3710f66; BYTE $0x02 // psllw xmm3, 2 + LONG $0xdb0f4166; BYTE $0xd8 // pand xmm3, xmm8 + LONG $0xdeeb0f66 // por xmm3, xmm6 + QUAD $0xfffffe74b6100ff3 // movss xmm6, dword [rsi - 396] + QUAD $0xfffef4b6213a0f66; WORD $0x10ff // insertps xmm6, dword [rsi - 268], 16 + QUAD $0xffff74b6213a0f66; WORD $0x20ff // insertps xmm6, dword [rsi - 140], 32 + LONG $0x213a0f66; WORD $0xf476; BYTE $0x30 // insertps xmm6, dword [rsi - 12], 48 + LONG $0x04d1c20f // cmpneqps xmm2, xmm1 + LONG $0xd26b0f66 // packssdw xmm2, xmm2 + LONG $0xd2630f66 // packsswb xmm2, xmm2 + LONG $0xdb0f4166; BYTE $0xd7 // pand xmm2, xmm15 + LONG $0xf2710f66; BYTE $0x03 // psllw xmm2, 3 + LONG $0xdb0f4166; BYTE $0xd2 // pand xmm2, xmm10 + LONG $0x04f1c20f // cmpneqps xmm6, xmm1 + LONG $0xf66b0f66 // packssdw xmm6, xmm6 + LONG $0xf6630f66 // packsswb xmm6, xmm6 + LONG $0xdb0f4166; BYTE $0xf7 // pand xmm6, xmm15 + LONG $0xf6710f66; BYTE $0x04 // psllw xmm6, 4 + LONG $0xdb0f4166; BYTE $0xf3 // pand xmm6, xmm11 + LONG $0xf2eb0f66 // por xmm6, xmm2 + QUAD $0xfffffe78be100ff3 // movss xmm7, dword [rsi - 392] + QUAD $0xfffef8be213a0f66; WORD $0x10ff // insertps xmm7, dword [rsi - 264], 16 + QUAD $0xffff78be213a0f66; WORD $0x20ff // insertps xmm7, dword [rsi - 136], 32 + LONG $0x213a0f66; WORD $0xf87e; BYTE $0x30 // insertps xmm7, dword [rsi - 8], 48 + LONG $0xf3eb0f66 // por xmm6, xmm3 + QUAD $0xfffffe7c96100ff3 // movss xmm2, dword [rsi - 388] + QUAD $0xfffefc96213a0f66; WORD $0x10ff // insertps xmm2, dword [rsi - 260], 16 + QUAD $0xffff7c96213a0f66; WORD $0x20ff // insertps xmm2, dword [rsi - 132], 32 + LONG $0x213a0f66; WORD $0xfc56; BYTE $0x30 // insertps xmm2, dword [rsi - 4], 48 + LONG $0x04f9c20f // cmpneqps xmm7, xmm1 + LONG $0xff6b0f66 // packssdw xmm7, xmm7 + LONG $0xff630f66 // packsswb xmm7, xmm7 + LONG $0xdb0f4166; BYTE $0xff // pand xmm7, xmm15 + LONG $0xf7710f66; BYTE $0x05 // psllw xmm7, 5 + LONG $0xdb0f4166; BYTE $0xfc // pand xmm7, xmm12 + LONG $0x04d1c20f // cmpneqps xmm2, xmm1 + LONG $0xd26b0f66 // packssdw xmm2, xmm2 + LONG $0xd2630f66 // packsswb xmm2, xmm2 + LONG $0xdb0f4166; BYTE $0xd7 // pand xmm2, xmm15 + LONG $0xf2710f66; BYTE $0x06 // psllw xmm2, 6 + LONG $0xdb0f4166; BYTE $0xd5 // pand xmm2, xmm13 + LONG $0xd7eb0f66 // por xmm2, xmm7 + QUAD $0xfffffe809e100ff3 // movss xmm3, dword [rsi - 384] + QUAD $0xffff009e213a0f66; WORD $0x10ff // insertps xmm3, dword [rsi - 256], 16 + LONG $0x213a0f66; WORD $0x805e; BYTE $0x20 // insertps xmm3, dword [rsi - 128], 32 + LONG $0x213a0f66; WORD $0x301e // insertps xmm3, dword [rsi], 48 + LONG $0x04d9c20f // cmpneqps xmm3, xmm1 + LONG $0xdb6b0f66 // packssdw xmm3, xmm3 + LONG $0xdb630f66 // packsswb xmm3, xmm3 + LONG $0xf3710f66; BYTE $0x07 // psllw xmm3, 7 + LONG $0xdb0f4166; BYTE $0xde // pand xmm3, xmm14 + LONG $0xdaeb0f66 // por xmm3, xmm2 + LONG $0xdeeb0f66 // por xmm3, xmm6 + LONG $0xeb620f66 // punpckldq xmm5, xmm3 + LONG $0xe5600f66 // punpcklbw xmm4, xmm5 + LONG $0x380f4166; WORD $0xe100 // pshufb xmm4, xmm9 + LONG $0x7f0f41f3; WORD $0x8c24 // movdqu oword [r12 + 4*rcx], xmm4 + LONG $0x04c18348 // add rcx, 4 + LONG $0x00c68148; WORD $0x0002; BYTE $0x00 // add rsi, 512 + WORD $0x3949; BYTE $0xc8 // cmp r8, rcx + JNE LBB4_189 + WORD $0x394d; BYTE $0xc2 // cmp r10, r8 + JNE LBB4_134 + JMP LBB4_146 + +LBB4_191: + LONG $0xf8e28349 // and r10, -8 + WORD $0x894c; BYTE $0xd0 // mov rax, r10 + LONG $0x06e0c148 // shl rax, 6 + WORD $0x0148; BYTE $0xf0 // add rax, rsi + LONG $0x24448948; BYTE $0x38 // mov qword [rsp + 56], rax + LONG $0x2454894c; BYTE $0x20 // mov qword [rsp + 32], r10 + LONG $0x94048d4b // lea rax, [r12 + 4*r10] + LONG $0x24448948; BYTE $0x08 // mov qword [rsp + 8], rax + LONG $0x246c8944; BYTE $0x40 // mov dword [rsp + 64], r13d + LONG $0x6e0f4166; BYTE $0xc5 // movd xmm0, r13d + LONG $0xc0700ff2; BYTE $0xe0 // pshuflw xmm0, xmm0, 224 + LONG $0x700f4466; WORD $0x00d8 // pshufd xmm11, xmm0, 0 + WORD $0x3145; BYTE $0xff // xor r15d, r15d + QUAD $0x0000008024a4894c // mov qword [rsp + 128], r12 + LONG $0xef0f4566; BYTE $0xff // pxor xmm15, xmm15 + +LBB4_192: + LONG $0x247c894c; BYTE $0x18 // mov qword [rsp + 24], r15 + LONG $0x06e7c149 // shl r15, 6 + WORD $0x894d; BYTE $0xf8 // mov r8, r15 + WORD $0x894d; BYTE $0xfc // mov r12, r15 + WORD $0x894d; BYTE $0xfd // mov r13, r15 + WORD $0x894c; BYTE $0xfb // mov rbx, r15 + WORD $0x894c; BYTE $0xff // mov rdi, r15 + WORD $0x894d; BYTE $0xf9 // mov r9, r15 + LONG $0x04b70f42; BYTE $0x3e // movzx eax, word [rsi + r15] + LONG $0xe86e0f66 // movd xmm5, eax + LONG $0x44b70f42; WORD $0x023e // movzx eax, word [rsi + r15 + 2] + LONG $0xc06e0f66 // movd xmm0, eax + LONG $0x44b70f42; WORD $0x043e // movzx eax, word [rsi + r15 + 4] + LONG $0xc86e0f66 // movd xmm1, eax + LONG $0x44b70f42; WORD $0x063e // movzx eax, word [rsi + r15 + 6] + LONG $0xf86e0f66 // movd xmm7, eax + LONG $0x44b70f42; WORD $0x083e // movzx eax, word [rsi + r15 + 8] + LONG $0x6e0f4466; BYTE $0xc0 // movd xmm8, eax + LONG $0x44b70f42; WORD $0x0a3e // movzx eax, word [rsi + r15 + 10] + LONG $0xe06e0f66 // movd xmm4, eax + LONG $0x44b70f42; WORD $0x0c3e // movzx eax, word [rsi + r15 + 12] + LONG $0x54b70f46; WORD $0x0e3e // movzx r10d, word [rsi + r15 + 14] + LONG $0x5cb70f46; WORD $0x103e // movzx r11d, word [rsi + r15 + 16] + LONG $0x54b70f42; WORD $0x123e // movzx edx, word [rsi + r15 + 18] + LONG $0x74b70f46; WORD $0x143e // movzx r14d, word [rsi + r15 + 20] + WORD $0x894c; BYTE $0xf9 // mov rcx, r15 + LONG $0x40c98348 // or rcx, 64 + LONG $0x80c88149; WORD $0x0000; BYTE $0x00 // or r8, 128 + LONG $0xc0cc8149; WORD $0x0000; BYTE $0x00 // or r12, 192 + LONG $0x00cd8149; WORD $0x0001; BYTE $0x00 // or r13, 256 + LONG $0x40cb8148; WORD $0x0001; BYTE $0x00 // or rbx, 320 + LONG $0x80cf8148; WORD $0x0001; BYTE $0x00 // or rdi, 384 + LONG $0x2cc40f66; WORD $0x010e // pinsrw xmm5, word [rsi + rcx], 1 + LONG $0xc40f4266; WORD $0x062c; BYTE $0x02 // pinsrw xmm5, word [rsi + r8], 2 + LONG $0xc40f4266; WORD $0x262c; BYTE $0x03 // pinsrw xmm5, word [rsi + r12], 3 + LONG $0xc40f4266; WORD $0x2e2c; BYTE $0x04 // pinsrw xmm5, word [rsi + r13], 4 + LONG $0x2cc40f66; WORD $0x051e // pinsrw xmm5, word [rsi + rbx], 5 + LONG $0x2cc40f66; WORD $0x063e // pinsrw xmm5, word [rsi + rdi], 6 + LONG $0x44c40f66; WORD $0x020e; BYTE $0x01 // pinsrw xmm0, word [rsi + rcx + 2], 1 + QUAD $0x02020644c40f4266 // pinsrw xmm0, word [rsi + r8 + 2], 2 + QUAD $0x03022644c40f4266 // pinsrw xmm0, word [rsi + r12 + 2], 3 + QUAD $0x04022e44c40f4266 // pinsrw xmm0, word [rsi + r13 + 2], 4 + LONG $0x44c40f66; WORD $0x021e; BYTE $0x05 // pinsrw xmm0, word [rsi + rbx + 2], 5 + LONG $0x44c40f66; WORD $0x023e; BYTE $0x06 // pinsrw xmm0, word [rsi + rdi + 2], 6 + LONG $0xc0c98149; WORD $0x0001; BYTE $0x00 // or r9, 448 + QUAD $0x07020e44c40f4266 // pinsrw xmm0, word [rsi + r9 + 2], 7 + LONG $0xd06e0f66 // movd xmm2, eax + LONG $0x44b70f42; WORD $0x163e // movzx eax, word [rsi + r15 + 22] + LONG $0x10244489 // mov dword [rsp + 16], eax + LONG $0x750f4166; BYTE $0xc3 // pcmpeqw xmm0, xmm11 + LONG $0x4cc40f66; WORD $0x040e; BYTE $0x01 // pinsrw xmm1, word [rsi + rcx + 4], 1 + QUAD $0x0204064cc40f4266 // pinsrw xmm1, word [rsi + r8 + 4], 2 + QUAD $0x0304264cc40f4266 // pinsrw xmm1, word [rsi + r12 + 4], 3 + QUAD $0x04042e4cc40f4266 // pinsrw xmm1, word [rsi + r13 + 4], 4 + LONG $0x4cc40f66; WORD $0x041e; BYTE $0x05 // pinsrw xmm1, word [rsi + rbx + 4], 5 + LONG $0x4cc40f66; WORD $0x043e; BYTE $0x06 // pinsrw xmm1, word [rsi + rdi + 4], 6 + QUAD $0x07040e4cc40f4266 // pinsrw xmm1, word [rsi + r9 + 4], 7 + LONG $0xc0630f66 // packsswb xmm0, xmm0 + LONG $0x750f4166; BYTE $0xcb // pcmpeqw xmm1, xmm11 + QUAD $0x0000808d6f0f4466; BYTE $0x00 // movdqa xmm9, oword 128[rbp] /* [rip + .LCPI4_8] */ + LONG $0x6f0f4166; BYTE $0xd9 // movdqa xmm3, xmm9 + LONG $0x380f4166; WORD $0xdf10 // pblendvb xmm3, xmm15, xmm0 + LONG $0xc9630f66 // packsswb xmm1, xmm1 + QUAD $0x00000090856f0f66 // movdqa xmm0, oword 144[rbp] /* [rip + .LCPI4_9] */ + LONG $0xf06f0f66 // movdqa xmm6, xmm0 + LONG $0x6f0f4466; BYTE $0xf0 // movdqa xmm14, xmm0 + LONG $0xc16f0f66 // movdqa xmm0, xmm1 + LONG $0x380f4166; WORD $0xf710 // pblendvb xmm6, xmm15, xmm0 + LONG $0x6e0f4166; BYTE $0xca // movd xmm1, r10d + LONG $0x54b70f46; WORD $0x183e // movzx r10d, word [rsi + r15 + 24] + LONG $0xc40f4266; WORD $0x0e2c; BYTE $0x07 // pinsrw xmm5, word [rsi + r9], 7 + LONG $0x750f4166; BYTE $0xeb // pcmpeqw xmm5, xmm11 + LONG $0xc0760f66 // pcmpeqd xmm0, xmm0 + LONG $0xe8ef0f66 // pxor xmm5, xmm0 + LONG $0xed630f66 // packsswb xmm5, xmm5 + LONG $0x7cc40f66; WORD $0x060e; BYTE $0x01 // pinsrw xmm7, word [rsi + rcx + 6], 1 + QUAD $0x0206067cc40f4266 // pinsrw xmm7, word [rsi + r8 + 6], 2 + QUAD $0x0306267cc40f4266 // pinsrw xmm7, word [rsi + r12 + 6], 3 + QUAD $0x04062e7cc40f4266 // pinsrw xmm7, word [rsi + r13 + 6], 4 + LONG $0x7cc40f66; WORD $0x061e; BYTE $0x05 // pinsrw xmm7, word [rsi + rbx + 6], 5 + LONG $0x7cc40f66; WORD $0x063e; BYTE $0x06 // pinsrw xmm7, word [rsi + rdi + 6], 6 + QUAD $0x07060e7cc40f4266 // pinsrw xmm7, word [rsi + r9 + 6], 7 + LONG $0x750f4166; BYTE $0xfb // pcmpeqw xmm7, xmm11 + LONG $0xff630f66 // packsswb xmm7, xmm7 + QUAD $0x01080e44c40f4466 // pinsrw xmm8, word [rsi + rcx + 8], 1 + QUAD $0x02080644c40f4666 // pinsrw xmm8, word [rsi + r8 + 8], 2 + QUAD $0x03082644c40f4666 // pinsrw xmm8, word [rsi + r12 + 8], 3 + QUAD $0x04082e44c40f4666 // pinsrw xmm8, word [rsi + r13 + 8], 4 + QUAD $0x05081e44c40f4466 // pinsrw xmm8, word [rsi + rbx + 8], 5 + QUAD $0x06083e44c40f4466 // pinsrw xmm8, word [rsi + rdi + 8], 6 + QUAD $0x07080e44c40f4666 // pinsrw xmm8, word [rsi + r9 + 8], 7 + LONG $0xddf80f66 // psubb xmm3, xmm5 + QUAD $0x0000a0a56f0f4466; BYTE $0x00 // movdqa xmm12, oword 160[rbp] /* [rip + .LCPI4_10] */ + LONG $0xc76f0f66 // movdqa xmm0, xmm7 + LONG $0x380f4566; WORD $0xe710 // pblendvb xmm12, xmm15, xmm0 + LONG $0x6e0f4166; BYTE $0xfb // movd xmm7, r11d + LONG $0x44b70f42; WORD $0x1a3e // movzx eax, word [rsi + r15 + 26] + LONG $0x750f4566; BYTE $0xc3 // pcmpeqw xmm8, xmm11 + LONG $0x630f4566; BYTE $0xc0 // packsswb xmm8, xmm8 + LONG $0xeb0f4466; BYTE $0xe6 // por xmm12, xmm6 + QUAD $0x0000b0ad6f0f4466; BYTE $0x00 // movdqa xmm13, oword 176[rbp] /* [rip + .LCPI4_11] */ + LONG $0x6f0f4166; BYTE $0xc0 // movdqa xmm0, xmm8 + LONG $0x380f4566; WORD $0xef10 // pblendvb xmm13, xmm15, xmm0 + LONG $0xf26e0f66 // movd xmm6, edx + LONG $0x5cb70f46; WORD $0x1c3e // movzx r11d, word [rsi + r15 + 28] + LONG $0x64c40f66; WORD $0x0a0e; BYTE $0x01 // pinsrw xmm4, word [rsi + rcx + 10], 1 + QUAD $0x020a0664c40f4266 // pinsrw xmm4, word [rsi + r8 + 10], 2 + QUAD $0x030a2664c40f4266 // pinsrw xmm4, word [rsi + r12 + 10], 3 + QUAD $0x040a2e64c40f4266 // pinsrw xmm4, word [rsi + r13 + 10], 4 + LONG $0x64c40f66; WORD $0x0a1e; BYTE $0x05 // pinsrw xmm4, word [rsi + rbx + 10], 5 + LONG $0x64c40f66; WORD $0x0a3e; BYTE $0x06 // pinsrw xmm4, word [rsi + rdi + 10], 6 + QUAD $0x070a0e64c40f4266 // pinsrw xmm4, word [rsi + r9 + 10], 7 + LONG $0x750f4166; BYTE $0xe3 // pcmpeqw xmm4, xmm11 + LONG $0xe4630f66 // packsswb xmm4, xmm4 + LONG $0x54c40f66; WORD $0x0c0e; BYTE $0x01 // pinsrw xmm2, word [rsi + rcx + 12], 1 + QUAD $0x020c0654c40f4266 // pinsrw xmm2, word [rsi + r8 + 12], 2 + QUAD $0x030c2654c40f4266 // pinsrw xmm2, word [rsi + r12 + 12], 3 + QUAD $0x040c2e54c40f4266 // pinsrw xmm2, word [rsi + r13 + 12], 4 + LONG $0x54c40f66; WORD $0x0c1e; BYTE $0x05 // pinsrw xmm2, word [rsi + rbx + 12], 5 + LONG $0x54c40f66; WORD $0x0c3e; BYTE $0x06 // pinsrw xmm2, word [rsi + rdi + 12], 6 + LONG $0xeb0f4466; BYTE $0xe3 // por xmm12, xmm3 + QUAD $0x000000c0ad6f0f66 // movdqa xmm5, oword 192[rbp] /* [rip + .LCPI4_12] */ + LONG $0xc46f0f66 // movdqa xmm0, xmm4 + LONG $0x380f4166; WORD $0xef10 // pblendvb xmm5, xmm15, xmm0 + LONG $0x6e0f4166; BYTE $0xe6 // movd xmm4, r14d + LONG $0x54b70f42; WORD $0x1e3e // movzx edx, word [rsi + r15 + 30] + LONG $0x30245489 // mov dword [rsp + 48], edx + QUAD $0x070c0e54c40f4266 // pinsrw xmm2, word [rsi + r9 + 12], 7 + LONG $0x750f4166; BYTE $0xd3 // pcmpeqw xmm2, xmm11 + LONG $0xd2630f66 // packsswb xmm2, xmm2 + LONG $0xeb0f4166; BYTE $0xed // por xmm5, xmm13 + QUAD $0x0000d0ad6f0f4466; BYTE $0x00 // movdqa xmm13, oword 208[rbp] /* [rip + .LCPI4_13] */ + LONG $0xc26f0f66 // movdqa xmm0, xmm2 + LONG $0x380f4566; WORD $0xef10 // pblendvb xmm13, xmm15, xmm0 + LONG $0x5c6e0f66; WORD $0x1024 // movd xmm3, dword [rsp + 16] + LONG $0x54b70f42; WORD $0x203e // movzx edx, word [rsi + r15 + 32] + LONG $0x28245489 // mov dword [rsp + 40], edx + LONG $0x4cc40f66; WORD $0x0e0e; BYTE $0x01 // pinsrw xmm1, word [rsi + rcx + 14], 1 + QUAD $0x020e064cc40f4266 // pinsrw xmm1, word [rsi + r8 + 14], 2 + QUAD $0x030e264cc40f4266 // pinsrw xmm1, word [rsi + r12 + 14], 3 + QUAD $0x040e2e4cc40f4266 // pinsrw xmm1, word [rsi + r13 + 14], 4 + LONG $0x4cc40f66; WORD $0x0e1e; BYTE $0x05 // pinsrw xmm1, word [rsi + rbx + 14], 5 + LONG $0x4cc40f66; WORD $0x0e3e; BYTE $0x06 // pinsrw xmm1, word [rsi + rdi + 14], 6 + LONG $0xeb0f4466; BYTE $0xed // por xmm13, xmm5 + LONG $0x6e0f4166; BYTE $0xd2 // movd xmm2, r10d + LONG $0x54b70f42; WORD $0x223e // movzx edx, word [rsi + r15 + 34] + LONG $0x10245489 // mov dword [rsp + 16], edx + QUAD $0x070e0e4cc40f4266 // pinsrw xmm1, word [rsi + r9 + 14], 7 + LONG $0x750f4166; BYTE $0xcb // pcmpeqw xmm1, xmm11 + LONG $0x74c40f66; WORD $0x120e; BYTE $0x01 // pinsrw xmm6, word [rsi + rcx + 18], 1 + QUAD $0x02120674c40f4266 // pinsrw xmm6, word [rsi + r8 + 18], 2 + QUAD $0x03122674c40f4266 // pinsrw xmm6, word [rsi + r12 + 18], 3 + QUAD $0x04122e74c40f4266 // pinsrw xmm6, word [rsi + r13 + 18], 4 + LONG $0x74c40f66; WORD $0x121e; BYTE $0x05 // pinsrw xmm6, word [rsi + rbx + 18], 5 + LONG $0x74c40f66; WORD $0x123e; BYTE $0x06 // pinsrw xmm6, word [rsi + rdi + 18], 6 + LONG $0xc9630f66 // packsswb xmm1, xmm1 + QUAD $0x07120e74c40f4266 // pinsrw xmm6, word [rsi + r9 + 18], 7 + LONG $0x750f4166; BYTE $0xf3 // pcmpeqw xmm6, xmm11 + LONG $0xf6630f66 // packsswb xmm6, xmm6 + LONG $0xeb0f4566; BYTE $0xec // por xmm13, xmm12 + QUAD $0x0000e0a56f0f4466; BYTE $0x00 // movdqa xmm12, oword 224[rbp] /* [rip + .LCPI4_14] */ + LONG $0xc16f0f66 // movdqa xmm0, xmm1 + LONG $0x380f4566; WORD $0xe710 // pblendvb xmm12, xmm15, xmm0 + LONG $0x6f0f4566; BYTE $0xc1 // movdqa xmm8, xmm9 + LONG $0xc66f0f66 // movdqa xmm0, xmm6 + LONG $0x380f4566; WORD $0xc710 // pblendvb xmm8, xmm15, xmm0 + LONG $0xc86e0f66 // movd xmm1, eax + LONG $0x74b70f46; WORD $0x243e // movzx r14d, word [rsi + r15 + 36] + LONG $0x7cc40f66; WORD $0x100e; BYTE $0x01 // pinsrw xmm7, word [rsi + rcx + 16], 1 + QUAD $0x0210067cc40f4266 // pinsrw xmm7, word [rsi + r8 + 16], 2 + QUAD $0x0310267cc40f4266 // pinsrw xmm7, word [rsi + r12 + 16], 3 + QUAD $0x04102e7cc40f4266 // pinsrw xmm7, word [rsi + r13 + 16], 4 + LONG $0x7cc40f66; WORD $0x101e; BYTE $0x05 // pinsrw xmm7, word [rsi + rbx + 16], 5 + LONG $0x7cc40f66; WORD $0x103e; BYTE $0x06 // pinsrw xmm7, word [rsi + rdi + 16], 6 + LONG $0x64c40f66; WORD $0x140e; BYTE $0x01 // pinsrw xmm4, word [rsi + rcx + 20], 1 + QUAD $0x02140664c40f4266 // pinsrw xmm4, word [rsi + r8 + 20], 2 + QUAD $0x03142664c40f4266 // pinsrw xmm4, word [rsi + r12 + 20], 3 + QUAD $0x04142e64c40f4266 // pinsrw xmm4, word [rsi + r13 + 20], 4 + LONG $0x64c40f66; WORD $0x141e; BYTE $0x05 // pinsrw xmm4, word [rsi + rbx + 20], 5 + LONG $0x64c40f66; WORD $0x143e; BYTE $0x06 // pinsrw xmm4, word [rsi + rdi + 20], 6 + QUAD $0x07140e64c40f4266 // pinsrw xmm4, word [rsi + r9 + 20], 7 + LONG $0x750f4166; BYTE $0xe3 // pcmpeqw xmm4, xmm11 + LONG $0xe4630f66 // packsswb xmm4, xmm4 + LONG $0xeb0f4566; BYTE $0xe5 // por xmm12, xmm13 + LONG $0x6f0f4166; BYTE $0xee // movdqa xmm5, xmm14 + LONG $0xc46f0f66 // movdqa xmm0, xmm4 + LONG $0x380f4166; WORD $0xef10 // pblendvb xmm5, xmm15, xmm0 + LONG $0x6e0f4166; BYTE $0xe3 // movd xmm4, r11d + LONG $0x5cb70f46; WORD $0x263e // movzx r11d, word [rsi + r15 + 38] + QUAD $0x07100e7cc40f4266 // pinsrw xmm7, word [rsi + r9 + 16], 7 + LONG $0x750f4166; BYTE $0xfb // pcmpeqw xmm7, xmm11 + QUAD $0x00000160bdef0f66 // pxor xmm7, oword 352[rbp] /* [rip + .LCPI4_22] */ + LONG $0xff630f66 // packsswb xmm7, xmm7 + LONG $0x5cc40f66; WORD $0x160e; BYTE $0x01 // pinsrw xmm3, word [rsi + rcx + 22], 1 + QUAD $0x0216065cc40f4266 // pinsrw xmm3, word [rsi + r8 + 22], 2 + QUAD $0x0316265cc40f4266 // pinsrw xmm3, word [rsi + r12 + 22], 3 + QUAD $0x04162e5cc40f4266 // pinsrw xmm3, word [rsi + r13 + 22], 4 + LONG $0x5cc40f66; WORD $0x161e; BYTE $0x05 // pinsrw xmm3, word [rsi + rbx + 22], 5 + LONG $0x5cc40f66; WORD $0x163e; BYTE $0x06 // pinsrw xmm3, word [rsi + rdi + 22], 6 + QUAD $0x07160e5cc40f4266 // pinsrw xmm3, word [rsi + r9 + 22], 7 + LONG $0x750f4166; BYTE $0xdb // pcmpeqw xmm3, xmm11 + LONG $0xdb630f66 // packsswb xmm3, xmm3 + LONG $0x54c40f66; WORD $0x180e; BYTE $0x01 // pinsrw xmm2, word [rsi + rcx + 24], 1 + QUAD $0x02180654c40f4266 // pinsrw xmm2, word [rsi + r8 + 24], 2 + QUAD $0x03182654c40f4266 // pinsrw xmm2, word [rsi + r12 + 24], 3 + QUAD $0x04182e54c40f4266 // pinsrw xmm2, word [rsi + r13 + 24], 4 + LONG $0x54c40f66; WORD $0x181e; BYTE $0x05 // pinsrw xmm2, word [rsi + rbx + 24], 5 + LONG $0x54c40f66; WORD $0x183e; BYTE $0x06 // pinsrw xmm2, word [rsi + rdi + 24], 6 + QUAD $0x07180e54c40f4266 // pinsrw xmm2, word [rsi + r9 + 24], 7 + LONG $0xf80f4466; BYTE $0xc7 // psubb xmm8, xmm7 + QUAD $0x0000a0956f0f4466; BYTE $0x00 // movdqa xmm10, oword 160[rbp] /* [rip + .LCPI4_10] */ + LONG $0x6f0f4566; BYTE $0xf2 // movdqa xmm14, xmm10 + LONG $0xc36f0f66 // movdqa xmm0, xmm3 + LONG $0x380f4566; WORD $0xf710 // pblendvb xmm14, xmm15, xmm0 + LONG $0x5c6e0f66; WORD $0x3024 // movd xmm3, dword [rsp + 48] + LONG $0x44b70f42; WORD $0x283e // movzx eax, word [rsi + r15 + 40] + LONG $0x750f4166; BYTE $0xd3 // pcmpeqw xmm2, xmm11 + LONG $0xd2630f66 // packsswb xmm2, xmm2 + LONG $0xeb0f4466; BYTE $0xf5 // por xmm14, xmm5 + QUAD $0x0000b08d6f0f4466; BYTE $0x00 // movdqa xmm9, oword 176[rbp] /* [rip + .LCPI4_11] */ + LONG $0x6f0f4566; BYTE $0xe9 // movdqa xmm13, xmm9 + LONG $0xc26f0f66 // movdqa xmm0, xmm2 + LONG $0x380f4566; WORD $0xef10 // pblendvb xmm13, xmm15, xmm0 + LONG $0x7c6e0f66; WORD $0x2824 // movd xmm7, dword [rsp + 40] + LONG $0x54b70f46; WORD $0x2a3e // movzx r10d, word [rsi + r15 + 42] + LONG $0x4cc40f66; WORD $0x1a0e; BYTE $0x01 // pinsrw xmm1, word [rsi + rcx + 26], 1 + QUAD $0x021a064cc40f4266 // pinsrw xmm1, word [rsi + r8 + 26], 2 + QUAD $0x031a264cc40f4266 // pinsrw xmm1, word [rsi + r12 + 26], 3 + QUAD $0x041a2e4cc40f4266 // pinsrw xmm1, word [rsi + r13 + 26], 4 + LONG $0x4cc40f66; WORD $0x1a1e; BYTE $0x05 // pinsrw xmm1, word [rsi + rbx + 26], 5 + LONG $0x4cc40f66; WORD $0x1a3e; BYTE $0x06 // pinsrw xmm1, word [rsi + rdi + 26], 6 + QUAD $0x071a0e4cc40f4266 // pinsrw xmm1, word [rsi + r9 + 26], 7 + LONG $0x750f4166; BYTE $0xcb // pcmpeqw xmm1, xmm11 + LONG $0xc9630f66 // packsswb xmm1, xmm1 + LONG $0x64c40f66; WORD $0x1c0e; BYTE $0x01 // pinsrw xmm4, word [rsi + rcx + 28], 1 + QUAD $0x021c0664c40f4266 // pinsrw xmm4, word [rsi + r8 + 28], 2 QUAD $0x031c2664c40f4266 // pinsrw xmm4, word [rsi + r12 + 28], 3 QUAD $0x041c2e64c40f4266 // pinsrw xmm4, word [rsi + r13 + 28], 4 LONG $0x64c40f66; WORD $0x1c1e; BYTE $0x05 // pinsrw xmm4, word [rsi + rbx + 28], 5 @@ -23239,7 +24670,7 @@ LBB4_190: LONG $0x380f4166; WORD $0xef10 // pblendvb xmm5, xmm15, xmm0 LONG $0x546e0f66; WORD $0x1024 // movd xmm2, dword [rsp + 16] LONG $0x54b70f42; WORD $0x2c3e // movzx edx, word [rsi + r15 + 44] - LONG $0x20245489 // mov dword [rsp + 32], edx + LONG $0x28245489 // mov dword [rsp + 40], edx QUAD $0x071c0e64c40f4266 // pinsrw xmm4, word [rsi + r9 + 28], 7 LONG $0x750f4166; BYTE $0xe3 // pcmpeqw xmm4, xmm11 LONG $0xe4630f66 // packsswb xmm4, xmm4 @@ -23326,7 +24757,7 @@ LBB4_190: LONG $0x6f0f4166; BYTE $0xea // movdqa xmm5, xmm10 LONG $0xc16f0f66 // movdqa xmm0, xmm1 LONG $0x380f4166; WORD $0xef10 // pblendvb xmm5, xmm15, xmm0 - LONG $0x4c6e0f66; WORD $0x2024 // movd xmm1, dword [rsp + 32] + LONG $0x4c6e0f66; WORD $0x2824 // movd xmm1, dword [rsp + 40] LONG $0x54b70f46; WORD $0x363e // movzx r10d, word [rsi + r15 + 54] LONG $0x750f4166; BYTE $0xd3 // pcmpeqw xmm2, xmm11 LONG $0xd2630f66 // packsswb xmm2, xmm2 @@ -23479,7 +24910,7 @@ LBB4_190: LONG $0x44c40f66; WORD $0x3e0e; BYTE $0x01 // pinsrw xmm0, word [rsi + rcx + 62], 1 QUAD $0x023e0644c40f4266 // pinsrw xmm0, word [rsi + r8 + 62], 2 QUAD $0x033e2644c40f4266 // pinsrw xmm0, word [rsi + r12 + 62], 3 - QUAD $0x0000008024b48b4c // mov r14, qword [rsp + 128] + QUAD $0x0000008024848b48 // mov rax, qword [rsp + 128] QUAD $0x043e2e44c40f4266 // pinsrw xmm0, word [rsi + r13 + 62], 4 LONG $0x44c40f66; WORD $0x3e1e; BYTE $0x05 // pinsrw xmm0, word [rsi + rbx + 62], 5 LONG $0x44c40f66; WORD $0x3e3e; BYTE $0x06 // pinsrw xmm0, word [rsi + rdi + 62], 6 @@ -23500,391 +24931,21 @@ LBB4_190: LONG $0x600f4566; BYTE $0xc6 // punpcklbw xmm8, xmm14 LONG $0x600f4566; BYTE $0xe5 // punpcklbw xmm12, xmm13 LONG $0x610f4566; BYTE $0xe0 // punpcklwd xmm12, xmm8 - LONG $0x244c8b48; BYTE $0x28 // mov rcx, qword [rsp + 40] - LONG $0x7f0f45f3; WORD $0x8e24 // movdqu oword [r14 + 4*rcx], xmm12 - LONG $0x7f0f41f3; WORD $0x8e44; BYTE $0x10 // movdqu oword [r14 + 4*rcx + 16], xmm0 + LONG $0x244c8b48; BYTE $0x18 // mov rcx, qword [rsp + 24] + LONG $0x7f0f44f3; WORD $0x8824 // movdqu oword [rax + 4*rcx], xmm12 + LONG $0x447f0ff3; WORD $0x1088 // movdqu oword [rax + 4*rcx + 16], xmm0 LONG $0x08c18348 // add rcx, 8 WORD $0x8949; BYTE $0xcf // mov r15, rcx - LONG $0x244c3b48; BYTE $0x18 // cmp rcx, qword [rsp + 24] - JNE LBB4_190 - QUAD $0x000000d024948b4c // mov r10, qword [rsp + 208] - LONG $0x24543b4c; BYTE $0x18 // cmp r10, qword [rsp + 24] - QUAD $0x0000009024bc8b4c // mov r15, qword [rsp + 144] + LONG $0x244c3b48; BYTE $0x20 // cmp rcx, qword [rsp + 32] + JNE LBB4_192 + QUAD $0x000000c024948b4c // mov r10, qword [rsp + 192] + LONG $0x24543b4c; BYTE $0x20 // cmp r10, qword [rsp + 32] + QUAD $0x0000009024b48b4c // mov r14, qword [rsp + 144] LONG $0x246c8b44; BYTE $0x40 // mov r13d, dword [rsp + 64] LONG $0x24648b4c; BYTE $0x08 // mov r12, qword [rsp + 8] LONG $0x24748b48; BYTE $0x38 // mov rsi, qword [rsp + 56] - JNE LBB4_104 - JMP LBB4_144 - -LBB4_192: - WORD $0x894d; BYTE $0xd0 // mov r8, r10 - LONG $0xfce08349 // and r8, -4 - WORD $0x894c; BYTE $0xc3 // mov rbx, r8 - LONG $0x07e3c148 // shl rbx, 7 - WORD $0x0148; BYTE $0xf3 // add rbx, rsi - LONG $0x861c8d4f // lea r11, [r14 + 4*r8] - WORD $0x280f; BYTE $0xc8 // movaps xmm1, xmm0 - LONG $0x00c8c60f // shufps xmm1, xmm0, 0 - LONG $0xfcc68148; WORD $0x0001; BYTE $0x00 // add rsi, 508 - WORD $0xc931 // xor ecx, ecx - LONG $0x6f0f4466; WORD $0x007d // movdqa xmm15, oword 0[rbp] /* [rip + .LCPI4_0] */ - LONG $0x6f0f4466; WORD $0x1045 // movdqa xmm8, oword 16[rbp] /* [rip + .LCPI4_1] */ - LONG $0x6f0f4466; WORD $0x2055 // movdqa xmm10, oword 32[rbp] /* [rip + .LCPI4_2] */ - LONG $0x6f0f4466; WORD $0x305d // movdqa xmm11, oword 48[rbp] /* [rip + .LCPI4_3] */ - LONG $0x6f0f4466; WORD $0x4065 // movdqa xmm12, oword 64[rbp] /* [rip + .LCPI4_4] */ - LONG $0x6f0f4466; WORD $0x506d // movdqa xmm13, oword 80[rbp] /* [rip + .LCPI4_5] */ - LONG $0x6f0f4466; WORD $0x6075 // movdqa xmm14, oword 96[rbp] /* [rip + .LCPI4_6] */ - LONG $0x6f0f4466; WORD $0x704d // movdqa xmm9, oword 112[rbp] /* [rip + .LCPI4_7] */ - -LBB4_193: - QUAD $0xfffffe04b6100ff3 // movss xmm6, dword [rsi - 508] - QUAD $0xfffffe08be100ff3 // movss xmm7, dword [rsi - 504] - QUAD $0xfffffe0cae100ff3 // movss xmm5, dword [rsi - 500] - QUAD $0xfffffe10a6100ff3 // movss xmm4, dword [rsi - 496] - QUAD $0xfffe84b6213a0f66; WORD $0x10ff // insertps xmm6, dword [rsi - 380], 16 - QUAD $0xffff04b6213a0f66; WORD $0x20ff // insertps xmm6, dword [rsi - 252], 32 - LONG $0x213a0f66; WORD $0x8476; BYTE $0x30 // insertps xmm6, dword [rsi - 124], 48 - LONG $0x04f1c20f // cmpneqps xmm6, xmm1 - LONG $0xf66b0f66 // packssdw xmm6, xmm6 - LONG $0xf6630f66 // packsswb xmm6, xmm6 - LONG $0xdb0f4166; BYTE $0xf7 // pand xmm6, xmm15 - QUAD $0xfffe88be213a0f66; WORD $0x10ff // insertps xmm7, dword [rsi - 376], 16 - QUAD $0xffff08be213a0f66; WORD $0x20ff // insertps xmm7, dword [rsi - 248], 32 - LONG $0x213a0f66; WORD $0x887e; BYTE $0x30 // insertps xmm7, dword [rsi - 120], 48 - QUAD $0xfffe8cae213a0f66; WORD $0x10ff // insertps xmm5, dword [rsi - 372], 16 - QUAD $0xffff0cae213a0f66; WORD $0x20ff // insertps xmm5, dword [rsi - 244], 32 - LONG $0x213a0f66; WORD $0x8c6e; BYTE $0x30 // insertps xmm5, dword [rsi - 116], 48 - QUAD $0xfffe90a6213a0f66; WORD $0x10ff // insertps xmm4, dword [rsi - 368], 16 - QUAD $0xffff10a6213a0f66; WORD $0x20ff // insertps xmm4, dword [rsi - 240], 32 - LONG $0x213a0f66; WORD $0x9066; BYTE $0x30 // insertps xmm4, dword [rsi - 112], 48 - LONG $0x04f9c20f // cmpneqps xmm7, xmm1 - LONG $0xff6b0f66 // packssdw xmm7, xmm7 - LONG $0xff630f66 // packsswb xmm7, xmm7 - LONG $0xd76f0f66 // movdqa xmm2, xmm7 - LONG $0xdb0f4166; BYTE $0xd7 // pand xmm2, xmm15 - LONG $0xd7f80f66 // psubb xmm2, xmm7 - QUAD $0xfffffe14be100ff3 // movss xmm7, dword [rsi - 492] - QUAD $0xfffe94be213a0f66; WORD $0x10ff // insertps xmm7, dword [rsi - 364], 16 - QUAD $0xffff14be213a0f66; WORD $0x20ff // insertps xmm7, dword [rsi - 236], 32 - LONG $0x213a0f66; WORD $0x947e; BYTE $0x30 // insertps xmm7, dword [rsi - 108], 48 - LONG $0xd6eb0f66 // por xmm2, xmm6 - QUAD $0xfffffe18b6100ff3 // movss xmm6, dword [rsi - 488] - QUAD $0xfffe98b6213a0f66; WORD $0x10ff // insertps xmm6, dword [rsi - 360], 16 - QUAD $0xffff18b6213a0f66; WORD $0x20ff // insertps xmm6, dword [rsi - 232], 32 - LONG $0x213a0f66; WORD $0x9876; BYTE $0x30 // insertps xmm6, dword [rsi - 104], 48 - LONG $0x04e9c20f // cmpneqps xmm5, xmm1 - LONG $0xed6b0f66 // packssdw xmm5, xmm5 - LONG $0xed630f66 // packsswb xmm5, xmm5 - LONG $0xdb0f4166; BYTE $0xef // pand xmm5, xmm15 - LONG $0xf5710f66; BYTE $0x02 // psllw xmm5, 2 - LONG $0xdb0f4166; BYTE $0xe8 // pand xmm5, xmm8 - LONG $0xeaeb0f66 // por xmm5, xmm2 - QUAD $0xfffffe1c9e100ff3 // movss xmm3, dword [rsi - 484] - QUAD $0xfffe9c9e213a0f66; WORD $0x10ff // insertps xmm3, dword [rsi - 356], 16 - QUAD $0xffff1c9e213a0f66; WORD $0x20ff // insertps xmm3, dword [rsi - 228], 32 - LONG $0x213a0f66; WORD $0x9c5e; BYTE $0x30 // insertps xmm3, dword [rsi - 100], 48 - LONG $0x04e1c20f // cmpneqps xmm4, xmm1 - LONG $0xe46b0f66 // packssdw xmm4, xmm4 - LONG $0xe4630f66 // packsswb xmm4, xmm4 - LONG $0xdb0f4166; BYTE $0xe7 // pand xmm4, xmm15 - LONG $0xf4710f66; BYTE $0x03 // psllw xmm4, 3 - LONG $0xdb0f4166; BYTE $0xe2 // pand xmm4, xmm10 - LONG $0x04f9c20f // cmpneqps xmm7, xmm1 - LONG $0xff6b0f66 // packssdw xmm7, xmm7 - LONG $0xff630f66 // packsswb xmm7, xmm7 - LONG $0xdb0f4166; BYTE $0xff // pand xmm7, xmm15 - LONG $0xf7710f66; BYTE $0x04 // psllw xmm7, 4 - LONG $0xdb0f4166; BYTE $0xfb // pand xmm7, xmm11 - LONG $0xfceb0f66 // por xmm7, xmm4 - QUAD $0xfffffe20a6100ff3 // movss xmm4, dword [rsi - 480] - QUAD $0xfffea0a6213a0f66; WORD $0x10ff // insertps xmm4, dword [rsi - 352], 16 - QUAD $0xffff20a6213a0f66; WORD $0x20ff // insertps xmm4, dword [rsi - 224], 32 - LONG $0x213a0f66; WORD $0xa066; BYTE $0x30 // insertps xmm4, dword [rsi - 96], 48 - LONG $0xfdeb0f66 // por xmm7, xmm5 - QUAD $0xfffffe24ae100ff3 // movss xmm5, dword [rsi - 476] - QUAD $0xfffea4ae213a0f66; WORD $0x10ff // insertps xmm5, dword [rsi - 348], 16 - QUAD $0xffff24ae213a0f66; WORD $0x20ff // insertps xmm5, dword [rsi - 220], 32 - LONG $0x213a0f66; WORD $0xa46e; BYTE $0x30 // insertps xmm5, dword [rsi - 92], 48 - LONG $0x04e9c20f // cmpneqps xmm5, xmm1 - LONG $0xed6b0f66 // packssdw xmm5, xmm5 - LONG $0x04f1c20f // cmpneqps xmm6, xmm1 - LONG $0xf66b0f66 // packssdw xmm6, xmm6 - LONG $0xf6630f66 // packsswb xmm6, xmm6 - LONG $0xdb0f4166; BYTE $0xf7 // pand xmm6, xmm15 - LONG $0xf6710f66; BYTE $0x05 // psllw xmm6, 5 - LONG $0xdb0f4166; BYTE $0xf4 // pand xmm6, xmm12 - LONG $0x04d9c20f // cmpneqps xmm3, xmm1 - LONG $0xdb6b0f66 // packssdw xmm3, xmm3 - LONG $0xdb630f66 // packsswb xmm3, xmm3 - LONG $0xdb0f4166; BYTE $0xdf // pand xmm3, xmm15 - LONG $0xf3710f66; BYTE $0x06 // psllw xmm3, 6 - LONG $0xdb0f4166; BYTE $0xdd // pand xmm3, xmm13 - LONG $0xdeeb0f66 // por xmm3, xmm6 - QUAD $0xfffffe2896100ff3 // movss xmm2, dword [rsi - 472] - QUAD $0xfffea896213a0f66; WORD $0x10ff // insertps xmm2, dword [rsi - 344], 16 - QUAD $0xffff2896213a0f66; WORD $0x20ff // insertps xmm2, dword [rsi - 216], 32 - LONG $0x213a0f66; WORD $0xa856; BYTE $0x30 // insertps xmm2, dword [rsi - 88], 48 - LONG $0xed630f66 // packsswb xmm5, xmm5 - LONG $0x04e1c20f // cmpneqps xmm4, xmm1 - LONG $0xe46b0f66 // packssdw xmm4, xmm4 - LONG $0xe4630f66 // packsswb xmm4, xmm4 - LONG $0xf4710f66; BYTE $0x07 // psllw xmm4, 7 - LONG $0xdb0f4166; BYTE $0xe6 // pand xmm4, xmm14 - LONG $0xe3eb0f66 // por xmm4, xmm3 - QUAD $0xfffffe2c9e100ff3 // movss xmm3, dword [rsi - 468] - QUAD $0xfffeac9e213a0f66; WORD $0x10ff // insertps xmm3, dword [rsi - 340], 16 - QUAD $0xffff2c9e213a0f66; WORD $0x20ff // insertps xmm3, dword [rsi - 212], 32 - LONG $0xdb0f4166; BYTE $0xef // pand xmm5, xmm15 - LONG $0x213a0f66; WORD $0xac5e; BYTE $0x30 // insertps xmm3, dword [rsi - 84], 48 - LONG $0xe7eb0f66 // por xmm4, xmm7 - LONG $0x04d1c20f // cmpneqps xmm2, xmm1 - LONG $0xd26b0f66 // packssdw xmm2, xmm2 - LONG $0xd2630f66 // packsswb xmm2, xmm2 - LONG $0xf26f0f66 // movdqa xmm6, xmm2 - LONG $0xdb0f4166; BYTE $0xf7 // pand xmm6, xmm15 - LONG $0xf2f80f66 // psubb xmm6, xmm2 - QUAD $0xfffffe30be100ff3 // movss xmm7, dword [rsi - 464] - QUAD $0xfffeb0be213a0f66; WORD $0x10ff // insertps xmm7, dword [rsi - 336], 16 - QUAD $0xffff30be213a0f66; WORD $0x20ff // insertps xmm7, dword [rsi - 208], 32 - LONG $0x213a0f66; WORD $0xb07e; BYTE $0x30 // insertps xmm7, dword [rsi - 80], 48 - LONG $0xf5eb0f66 // por xmm6, xmm5 - QUAD $0xfffffe34ae100ff3 // movss xmm5, dword [rsi - 460] - QUAD $0xfffeb4ae213a0f66; WORD $0x10ff // insertps xmm5, dword [rsi - 332], 16 - QUAD $0xffff34ae213a0f66; WORD $0x20ff // insertps xmm5, dword [rsi - 204], 32 - LONG $0x213a0f66; WORD $0xb46e; BYTE $0x30 // insertps xmm5, dword [rsi - 76], 48 - LONG $0x04d9c20f // cmpneqps xmm3, xmm1 - LONG $0xdb6b0f66 // packssdw xmm3, xmm3 - LONG $0xdb630f66 // packsswb xmm3, xmm3 - LONG $0xdb0f4166; BYTE $0xdf // pand xmm3, xmm15 - LONG $0xf3710f66; BYTE $0x02 // psllw xmm3, 2 - LONG $0xdb0f4166; BYTE $0xd8 // pand xmm3, xmm8 - LONG $0xdeeb0f66 // por xmm3, xmm6 - QUAD $0xfffffe38b6100ff3 // movss xmm6, dword [rsi - 456] - QUAD $0xfffeb8b6213a0f66; WORD $0x10ff // insertps xmm6, dword [rsi - 328], 16 - QUAD $0xffff38b6213a0f66; WORD $0x20ff // insertps xmm6, dword [rsi - 200], 32 - LONG $0x213a0f66; WORD $0xb876; BYTE $0x30 // insertps xmm6, dword [rsi - 72], 48 - LONG $0x04f9c20f // cmpneqps xmm7, xmm1 - LONG $0xff6b0f66 // packssdw xmm7, xmm7 - LONG $0xff630f66 // packsswb xmm7, xmm7 - LONG $0xdb0f4166; BYTE $0xff // pand xmm7, xmm15 - LONG $0xf7710f66; BYTE $0x03 // psllw xmm7, 3 - LONG $0xdb0f4166; BYTE $0xfa // pand xmm7, xmm10 - LONG $0x04e9c20f // cmpneqps xmm5, xmm1 - LONG $0xed6b0f66 // packssdw xmm5, xmm5 - LONG $0xed630f66 // packsswb xmm5, xmm5 - LONG $0xdb0f4166; BYTE $0xef // pand xmm5, xmm15 - LONG $0xf5710f66; BYTE $0x04 // psllw xmm5, 4 - LONG $0xdb0f4166; BYTE $0xeb // pand xmm5, xmm11 - LONG $0xefeb0f66 // por xmm5, xmm7 - QUAD $0xfffffe3c96100ff3 // movss xmm2, dword [rsi - 452] - QUAD $0xfffebc96213a0f66; WORD $0x10ff // insertps xmm2, dword [rsi - 324], 16 - QUAD $0xffff3c96213a0f66; WORD $0x20ff // insertps xmm2, dword [rsi - 196], 32 - LONG $0x213a0f66; WORD $0xbc56; BYTE $0x30 // insertps xmm2, dword [rsi - 68], 48 - LONG $0xebeb0f66 // por xmm5, xmm3 - QUAD $0xfffffe40be100ff3 // movss xmm7, dword [rsi - 448] - QUAD $0xfffec0be213a0f66; WORD $0x10ff // insertps xmm7, dword [rsi - 320], 16 - QUAD $0xffff40be213a0f66; WORD $0x20ff // insertps xmm7, dword [rsi - 192], 32 - LONG $0x213a0f66; WORD $0xc07e; BYTE $0x30 // insertps xmm7, dword [rsi - 64], 48 - LONG $0x04f1c20f // cmpneqps xmm6, xmm1 - LONG $0xf66b0f66 // packssdw xmm6, xmm6 - LONG $0xf6630f66 // packsswb xmm6, xmm6 - LONG $0xdb0f4166; BYTE $0xf7 // pand xmm6, xmm15 - LONG $0xf6710f66; BYTE $0x05 // psllw xmm6, 5 - LONG $0xdb0f4166; BYTE $0xf4 // pand xmm6, xmm12 - LONG $0x04d1c20f // cmpneqps xmm2, xmm1 - LONG $0xd26b0f66 // packssdw xmm2, xmm2 - LONG $0xd2630f66 // packsswb xmm2, xmm2 - LONG $0xdb0f4166; BYTE $0xd7 // pand xmm2, xmm15 - LONG $0xf2710f66; BYTE $0x06 // psllw xmm2, 6 - LONG $0xdb0f4166; BYTE $0xd5 // pand xmm2, xmm13 - LONG $0xd6eb0f66 // por xmm2, xmm6 - QUAD $0xfffffe44b6100ff3 // movss xmm6, dword [rsi - 444] - QUAD $0xfffec4b6213a0f66; WORD $0x10ff // insertps xmm6, dword [rsi - 316], 16 - QUAD $0xffff44b6213a0f66; WORD $0x20ff // insertps xmm6, dword [rsi - 188], 32 - LONG $0x213a0f66; WORD $0xc476; BYTE $0x30 // insertps xmm6, dword [rsi - 60], 48 - LONG $0x04f1c20f // cmpneqps xmm6, xmm1 - LONG $0xf66b0f66 // packssdw xmm6, xmm6 - LONG $0xf6630f66 // packsswb xmm6, xmm6 - LONG $0x04f9c20f // cmpneqps xmm7, xmm1 - LONG $0xff6b0f66 // packssdw xmm7, xmm7 - LONG $0xff630f66 // packsswb xmm7, xmm7 - LONG $0xf7710f66; BYTE $0x07 // psllw xmm7, 7 - LONG $0xdb0f4166; BYTE $0xfe // pand xmm7, xmm14 - LONG $0xfaeb0f66 // por xmm7, xmm2 - QUAD $0xfffffe4896100ff3 // movss xmm2, dword [rsi - 440] - QUAD $0xfffec896213a0f66; WORD $0x10ff // insertps xmm2, dword [rsi - 312], 16 - QUAD $0xffff4896213a0f66; WORD $0x20ff // insertps xmm2, dword [rsi - 184], 32 - LONG $0x213a0f66; WORD $0xc856; BYTE $0x30 // insertps xmm2, dword [rsi - 56], 48 - LONG $0xfdeb0f66 // por xmm7, xmm5 - QUAD $0xfffffe4c9e100ff3 // movss xmm3, dword [rsi - 436] - QUAD $0xfffecc9e213a0f66; WORD $0x10ff // insertps xmm3, dword [rsi - 308], 16 - QUAD $0xffff4c9e213a0f66; WORD $0x20ff // insertps xmm3, dword [rsi - 180], 32 - LONG $0xdb0f4166; BYTE $0xf7 // pand xmm6, xmm15 - LONG $0x213a0f66; WORD $0xcc5e; BYTE $0x30 // insertps xmm3, dword [rsi - 52], 48 - LONG $0xe7620f66 // punpckldq xmm4, xmm7 - LONG $0x04d1c20f // cmpneqps xmm2, xmm1 - LONG $0xd26b0f66 // packssdw xmm2, xmm2 - LONG $0xd2630f66 // packsswb xmm2, xmm2 - LONG $0xfa6f0f66 // movdqa xmm7, xmm2 - LONG $0xdb0f4166; BYTE $0xff // pand xmm7, xmm15 - LONG $0xfaf80f66 // psubb xmm7, xmm2 - QUAD $0xfffffe50ae100ff3 // movss xmm5, dword [rsi - 432] - QUAD $0xfffed0ae213a0f66; WORD $0x10ff // insertps xmm5, dword [rsi - 304], 16 - QUAD $0xffff50ae213a0f66; WORD $0x20ff // insertps xmm5, dword [rsi - 176], 32 - LONG $0x213a0f66; WORD $0xd06e; BYTE $0x30 // insertps xmm5, dword [rsi - 48], 48 - LONG $0xfeeb0f66 // por xmm7, xmm6 - QUAD $0xfffffe54b6100ff3 // movss xmm6, dword [rsi - 428] - QUAD $0xfffed4b6213a0f66; WORD $0x10ff // insertps xmm6, dword [rsi - 300], 16 - QUAD $0xffff54b6213a0f66; WORD $0x20ff // insertps xmm6, dword [rsi - 172], 32 - LONG $0x213a0f66; WORD $0xd476; BYTE $0x30 // insertps xmm6, dword [rsi - 44], 48 - LONG $0x04d9c20f // cmpneqps xmm3, xmm1 - LONG $0xdb6b0f66 // packssdw xmm3, xmm3 - LONG $0xdb630f66 // packsswb xmm3, xmm3 - LONG $0xdb0f4166; BYTE $0xdf // pand xmm3, xmm15 - LONG $0xf3710f66; BYTE $0x02 // psllw xmm3, 2 - LONG $0xdb0f4166; BYTE $0xd8 // pand xmm3, xmm8 - LONG $0xdfeb0f66 // por xmm3, xmm7 - QUAD $0xfffffe58be100ff3 // movss xmm7, dword [rsi - 424] - QUAD $0xfffed8be213a0f66; WORD $0x10ff // insertps xmm7, dword [rsi - 296], 16 - QUAD $0xffff58be213a0f66; WORD $0x20ff // insertps xmm7, dword [rsi - 168], 32 - LONG $0x213a0f66; WORD $0xd87e; BYTE $0x30 // insertps xmm7, dword [rsi - 40], 48 - LONG $0x04e9c20f // cmpneqps xmm5, xmm1 - LONG $0xed6b0f66 // packssdw xmm5, xmm5 - LONG $0xed630f66 // packsswb xmm5, xmm5 - LONG $0xdb0f4166; BYTE $0xef // pand xmm5, xmm15 - LONG $0xf5710f66; BYTE $0x03 // psllw xmm5, 3 - LONG $0xdb0f4166; BYTE $0xea // pand xmm5, xmm10 - LONG $0x04f1c20f // cmpneqps xmm6, xmm1 - LONG $0xf66b0f66 // packssdw xmm6, xmm6 - LONG $0xf6630f66 // packsswb xmm6, xmm6 - LONG $0xdb0f4166; BYTE $0xf7 // pand xmm6, xmm15 - LONG $0xf6710f66; BYTE $0x04 // psllw xmm6, 4 - LONG $0xdb0f4166; BYTE $0xf3 // pand xmm6, xmm11 - LONG $0xf5eb0f66 // por xmm6, xmm5 - QUAD $0xfffffe5c96100ff3 // movss xmm2, dword [rsi - 420] - QUAD $0xfffedc96213a0f66; WORD $0x10ff // insertps xmm2, dword [rsi - 292], 16 - QUAD $0xffff5c96213a0f66; WORD $0x20ff // insertps xmm2, dword [rsi - 164], 32 - LONG $0x213a0f66; WORD $0xdc56; BYTE $0x30 // insertps xmm2, dword [rsi - 36], 48 - LONG $0xf3eb0f66 // por xmm6, xmm3 - QUAD $0xfffffe60ae100ff3 // movss xmm5, dword [rsi - 416] - QUAD $0xfffee0ae213a0f66; WORD $0x10ff // insertps xmm5, dword [rsi - 288], 16 - QUAD $0xffff60ae213a0f66; WORD $0x20ff // insertps xmm5, dword [rsi - 160], 32 - LONG $0x213a0f66; WORD $0xe06e; BYTE $0x30 // insertps xmm5, dword [rsi - 32], 48 - LONG $0x04f9c20f // cmpneqps xmm7, xmm1 - LONG $0xff6b0f66 // packssdw xmm7, xmm7 - LONG $0xff630f66 // packsswb xmm7, xmm7 - LONG $0xdb0f4166; BYTE $0xff // pand xmm7, xmm15 - LONG $0xf7710f66; BYTE $0x05 // psllw xmm7, 5 - LONG $0xdb0f4166; BYTE $0xfc // pand xmm7, xmm12 - LONG $0x04d1c20f // cmpneqps xmm2, xmm1 - LONG $0xd26b0f66 // packssdw xmm2, xmm2 - LONG $0xd2630f66 // packsswb xmm2, xmm2 - LONG $0xdb0f4166; BYTE $0xd7 // pand xmm2, xmm15 - LONG $0xf2710f66; BYTE $0x06 // psllw xmm2, 6 - LONG $0xdb0f4166; BYTE $0xd5 // pand xmm2, xmm13 - LONG $0xd7eb0f66 // por xmm2, xmm7 - QUAD $0xfffffe64be100ff3 // movss xmm7, dword [rsi - 412] - QUAD $0xfffee4be213a0f66; WORD $0x10ff // insertps xmm7, dword [rsi - 284], 16 - QUAD $0xffff64be213a0f66; WORD $0x20ff // insertps xmm7, dword [rsi - 156], 32 - LONG $0x213a0f66; WORD $0xe47e; BYTE $0x30 // insertps xmm7, dword [rsi - 28], 48 - LONG $0x04f9c20f // cmpneqps xmm7, xmm1 - LONG $0xff6b0f66 // packssdw xmm7, xmm7 - LONG $0xff630f66 // packsswb xmm7, xmm7 - LONG $0x04e9c20f // cmpneqps xmm5, xmm1 - LONG $0xed6b0f66 // packssdw xmm5, xmm5 - LONG $0xed630f66 // packsswb xmm5, xmm5 - LONG $0xf5710f66; BYTE $0x07 // psllw xmm5, 7 - LONG $0xdb0f4166; BYTE $0xee // pand xmm5, xmm14 - LONG $0xeaeb0f66 // por xmm5, xmm2 - QUAD $0xfffffe6896100ff3 // movss xmm2, dword [rsi - 408] - QUAD $0xfffee896213a0f66; WORD $0x10ff // insertps xmm2, dword [rsi - 280], 16 - QUAD $0xffff6896213a0f66; WORD $0x20ff // insertps xmm2, dword [rsi - 152], 32 - LONG $0xdb0f4166; BYTE $0xff // pand xmm7, xmm15 - LONG $0x213a0f66; WORD $0xe856; BYTE $0x30 // insertps xmm2, dword [rsi - 24], 48 - LONG $0xeeeb0f66 // por xmm5, xmm6 - LONG $0x04d1c20f // cmpneqps xmm2, xmm1 - LONG $0xd26b0f66 // packssdw xmm2, xmm2 - LONG $0xd2630f66 // packsswb xmm2, xmm2 - LONG $0xf26f0f66 // movdqa xmm6, xmm2 - LONG $0xdb0f4166; BYTE $0xf7 // pand xmm6, xmm15 - LONG $0xf2f80f66 // psubb xmm6, xmm2 - QUAD $0xfffffe6c9e100ff3 // movss xmm3, dword [rsi - 404] - QUAD $0xfffeec9e213a0f66; WORD $0x10ff // insertps xmm3, dword [rsi - 276], 16 - QUAD $0xffff6c9e213a0f66; WORD $0x20ff // insertps xmm3, dword [rsi - 148], 32 - LONG $0x213a0f66; WORD $0xec5e; BYTE $0x30 // insertps xmm3, dword [rsi - 20], 48 - LONG $0xf7eb0f66 // por xmm6, xmm7 - QUAD $0xfffffe7096100ff3 // movss xmm2, dword [rsi - 400] - QUAD $0xfffef096213a0f66; WORD $0x10ff // insertps xmm2, dword [rsi - 272], 16 - QUAD $0xffff7096213a0f66; WORD $0x20ff // insertps xmm2, dword [rsi - 144], 32 - LONG $0x213a0f66; WORD $0xf056; BYTE $0x30 // insertps xmm2, dword [rsi - 16], 48 - LONG $0x04d9c20f // cmpneqps xmm3, xmm1 - LONG $0xdb6b0f66 // packssdw xmm3, xmm3 - LONG $0xdb630f66 // packsswb xmm3, xmm3 - LONG $0xdb0f4166; BYTE $0xdf // pand xmm3, xmm15 - LONG $0xf3710f66; BYTE $0x02 // psllw xmm3, 2 - LONG $0xdb0f4166; BYTE $0xd8 // pand xmm3, xmm8 - LONG $0xdeeb0f66 // por xmm3, xmm6 - QUAD $0xfffffe74b6100ff3 // movss xmm6, dword [rsi - 396] - QUAD $0xfffef4b6213a0f66; WORD $0x10ff // insertps xmm6, dword [rsi - 268], 16 - QUAD $0xffff74b6213a0f66; WORD $0x20ff // insertps xmm6, dword [rsi - 140], 32 - LONG $0x213a0f66; WORD $0xf476; BYTE $0x30 // insertps xmm6, dword [rsi - 12], 48 - LONG $0x04d1c20f // cmpneqps xmm2, xmm1 - LONG $0xd26b0f66 // packssdw xmm2, xmm2 - LONG $0xd2630f66 // packsswb xmm2, xmm2 - LONG $0xdb0f4166; BYTE $0xd7 // pand xmm2, xmm15 - LONG $0xf2710f66; BYTE $0x03 // psllw xmm2, 3 - LONG $0xdb0f4166; BYTE $0xd2 // pand xmm2, xmm10 - LONG $0x04f1c20f // cmpneqps xmm6, xmm1 - LONG $0xf66b0f66 // packssdw xmm6, xmm6 - LONG $0xf6630f66 // packsswb xmm6, xmm6 - LONG $0xdb0f4166; BYTE $0xf7 // pand xmm6, xmm15 - LONG $0xf6710f66; BYTE $0x04 // psllw xmm6, 4 - LONG $0xdb0f4166; BYTE $0xf3 // pand xmm6, xmm11 - LONG $0xf2eb0f66 // por xmm6, xmm2 - QUAD $0xfffffe78be100ff3 // movss xmm7, dword [rsi - 392] - QUAD $0xfffef8be213a0f66; WORD $0x10ff // insertps xmm7, dword [rsi - 264], 16 - QUAD $0xffff78be213a0f66; WORD $0x20ff // insertps xmm7, dword [rsi - 136], 32 - LONG $0x213a0f66; WORD $0xf87e; BYTE $0x30 // insertps xmm7, dword [rsi - 8], 48 - LONG $0xf3eb0f66 // por xmm6, xmm3 - QUAD $0xfffffe7c96100ff3 // movss xmm2, dword [rsi - 388] - QUAD $0xfffefc96213a0f66; WORD $0x10ff // insertps xmm2, dword [rsi - 260], 16 - QUAD $0xffff7c96213a0f66; WORD $0x20ff // insertps xmm2, dword [rsi - 132], 32 - LONG $0x213a0f66; WORD $0xfc56; BYTE $0x30 // insertps xmm2, dword [rsi - 4], 48 - LONG $0x04f9c20f // cmpneqps xmm7, xmm1 - LONG $0xff6b0f66 // packssdw xmm7, xmm7 - LONG $0xff630f66 // packsswb xmm7, xmm7 - LONG $0xdb0f4166; BYTE $0xff // pand xmm7, xmm15 - LONG $0xf7710f66; BYTE $0x05 // psllw xmm7, 5 - LONG $0xdb0f4166; BYTE $0xfc // pand xmm7, xmm12 - LONG $0x04d1c20f // cmpneqps xmm2, xmm1 - LONG $0xd26b0f66 // packssdw xmm2, xmm2 - LONG $0xd2630f66 // packsswb xmm2, xmm2 - LONG $0xdb0f4166; BYTE $0xd7 // pand xmm2, xmm15 - LONG $0xf2710f66; BYTE $0x06 // psllw xmm2, 6 - LONG $0xdb0f4166; BYTE $0xd5 // pand xmm2, xmm13 - LONG $0xd7eb0f66 // por xmm2, xmm7 - QUAD $0xfffffe809e100ff3 // movss xmm3, dword [rsi - 384] - QUAD $0xffff009e213a0f66; WORD $0x10ff // insertps xmm3, dword [rsi - 256], 16 - LONG $0x213a0f66; WORD $0x805e; BYTE $0x20 // insertps xmm3, dword [rsi - 128], 32 - LONG $0x213a0f66; WORD $0x301e // insertps xmm3, dword [rsi], 48 - LONG $0x04d9c20f // cmpneqps xmm3, xmm1 - LONG $0xdb6b0f66 // packssdw xmm3, xmm3 - LONG $0xdb630f66 // packsswb xmm3, xmm3 - LONG $0xf3710f66; BYTE $0x07 // psllw xmm3, 7 - LONG $0xdb0f4166; BYTE $0xde // pand xmm3, xmm14 - LONG $0xdaeb0f66 // por xmm3, xmm2 - LONG $0xdeeb0f66 // por xmm3, xmm6 - LONG $0xeb620f66 // punpckldq xmm5, xmm3 - LONG $0xe5600f66 // punpcklbw xmm4, xmm5 - LONG $0x380f4166; WORD $0xe100 // pshufb xmm4, xmm9 - LONG $0x7f0f41f3; WORD $0x8e24 // movdqu oword [r14 + 4*rcx], xmm4 - LONG $0x04c18348 // add rcx, 4 - LONG $0x00c68148; WORD $0x0002; BYTE $0x00 // add rsi, 512 - WORD $0x3949; BYTE $0xc8 // cmp r8, rcx - JNE LBB4_193 - WORD $0x394d; BYTE $0xc2 // cmp r10, r8 - JNE LBB4_127 - JMP LBB4_148 + JNE LBB4_108 + JMP LBB4_111 DATA LCDATA4<>+0x000(SB)/8, $0x0000000001010101 DATA LCDATA4<>+0x008(SB)/8, $0x0000000000000000 @@ -23952,15 +25013,15 @@ TEXT ·_comparison_not_equal_scalar_arr_sse4(SB), $312-48 LONG $0x244c8948; BYTE $0x08 // mov qword [rsp + 8], rcx WORD $0x8949; BYTE $0xd6 // mov r14, rdx WORD $0xff83; BYTE $0x06 // cmp edi, 6 - JG LBB5_26 + JG LBB5_27 WORD $0xff83; BYTE $0x03 // cmp edi, 3 JLE LBB5_2 WORD $0xff83; BYTE $0x04 // cmp edi, 4 - JE LBB5_99 + JE LBB5_100 WORD $0xff83; BYTE $0x05 // cmp edi, 5 - JE LBB5_122 + JE LBB5_123 WORD $0xff83; BYTE $0x06 // cmp edi, 6 - JNE LBB5_199 + JNE LBB5_198 WORD $0x8b44; BYTE $0x1e // mov r11d, dword [rsi] LONG $0x1f578d4d // lea r10, [r15 + 31] WORD $0x854d; BYTE $0xff // test r15, r15 @@ -24003,7 +25064,7 @@ LBB5_17: LONG $0x20ff8349 // cmp r15, 32 JL LBB5_21 QUAD $0x000000a024bc894c // mov qword [rsp + 160], r15 - QUAD $0x000000e02494894c // mov qword [rsp + 224], r10 + QUAD $0x000000d02494894c // mov qword [rsp + 208], r10 QUAD $0x000000a82494894c // mov qword [rsp + 168], r10 LBB5_19: @@ -24012,35 +25073,35 @@ LBB5_19: LONG $0x785e3b45 // cmp r11d, dword [r14 + 120] LONG $0x2454950f; BYTE $0x40 // setne byte [rsp + 64] LONG $0x745e3b45 // cmp r11d, dword [r14 + 116] - LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] - LONG $0x705e3b45 // cmp r11d, dword [r14 + 112] LONG $0x2454950f; BYTE $0x20 // setne byte [rsp + 32] - LONG $0x6c5e3b45 // cmp r11d, dword [r14 + 108] + LONG $0x705e3b45 // cmp r11d, dword [r14 + 112] LONG $0x2454950f; BYTE $0x18 // setne byte [rsp + 24] + LONG $0x6c5e3b45 // cmp r11d, dword [r14 + 108] + LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] LONG $0x685e3b45 // cmp r11d, dword [r14 + 104] LONG $0x2454950f; BYTE $0x38 // setne byte [rsp + 56] LONG $0x645e3b45 // cmp r11d, dword [r14 + 100] LONG $0x2454950f; BYTE $0x30 // setne byte [rsp + 48] LONG $0x5c5e3b45 // cmp r11d, dword [r14 + 92] - LONG $0x2454950f; BYTE $0x58 // setne byte [rsp + 88] + LONG $0x2454950f; BYTE $0x50 // setne byte [rsp + 80] LONG $0x585e3b45 // cmp r11d, dword [r14 + 88] - QUAD $0x000000802494950f // setne byte [rsp + 128] + LONG $0x2454950f; BYTE $0x48 // setne byte [rsp + 72] LONG $0x545e3b45 // cmp r11d, dword [r14 + 84] - LONG $0x2454950f; BYTE $0x50 // setne byte [rsp + 80] + LONG $0x2454950f; BYTE $0x68 // setne byte [rsp + 104] LONG $0x505e3b45 // cmp r11d, dword [r14 + 80] - LONG $0x2454950f; BYTE $0x48 // setne byte [rsp + 72] + LONG $0x2454950f; BYTE $0x60 // setne byte [rsp + 96] LONG $0x4c5e3b45 // cmp r11d, dword [r14 + 76] - LONG $0x2454950f; BYTE $0x78 // setne byte [rsp + 120] + LONG $0x2454950f; BYTE $0x58 // setne byte [rsp + 88] LONG $0x485e3b45 // cmp r11d, dword [r14 + 72] - LONG $0x2454950f; BYTE $0x70 // setne byte [rsp + 112] + QUAD $0x000000802494950f // setne byte [rsp + 128] LONG $0x445e3b45 // cmp r11d, dword [r14 + 68] - LONG $0x2454950f; BYTE $0x68 // setne byte [rsp + 104] + LONG $0x2454950f; BYTE $0x78 // setne byte [rsp + 120] LONG $0x3c5e3b45 // cmp r11d, dword [r14 + 60] LONG $0xd0950f41 // setne r8b LONG $0x385e3b45 // cmp r11d, dword [r14 + 56] QUAD $0x000000882494950f // setne byte [rsp + 136] LONG $0x345e3b45 // cmp r11d, dword [r14 + 52] - QUAD $0x000000902494950f // setne byte [rsp + 144] + QUAD $0x000000982494950f // setne byte [rsp + 152] LONG $0x305e3b45 // cmp r11d, dword [r14 + 48] LONG $0xd7950f40 // setne dil LONG $0x2c5e3b45 // cmp r11d, dword [r14 + 44] @@ -24058,29 +25119,29 @@ LBB5_19: LONG $0x105e3b45 // cmp r11d, dword [r14 + 16] WORD $0x950f; BYTE $0xd1 // setne cl LONG $0x0c5e3b45 // cmp r11d, dword [r14 + 12] - LONG $0xd4950f41 // setne r12b + LONG $0xd5950f41 // setne r13b LONG $0x085e3b45 // cmp r11d, dword [r14 + 8] LONG $0xd7950f41 // setne r15b WORD $0x3b45; BYTE $0x1e // cmp r11d, dword [r14] - QUAD $0x000000982494950f // setne byte [rsp + 152] + QUAD $0x000000c02494950f // setne byte [rsp + 192] LONG $0x045e3b45 // cmp r11d, dword [r14 + 4] - WORD $0x894d; BYTE $0xf5 // mov r13, r14 + WORD $0x894d; BYTE $0xf4 // mov r12, r14 LONG $0xd6950f41 // setne r14b - LONG $0x205d3b45 // cmp r11d, dword [r13 + 32] - QUAD $0x000000c02494950f // setne byte [rsp + 192] - LONG $0x405d3b45 // cmp r11d, dword [r13 + 64] + LONG $0x245c3b45; BYTE $0x20 // cmp r11d, dword [r12 + 32] QUAD $0x000000b02494950f // setne byte [rsp + 176] - LONG $0x605d3b45 // cmp r11d, dword [r13 + 96] - LONG $0x2454950f; BYTE $0x60 // setne byte [rsp + 96] + LONG $0x245c3b45; BYTE $0x40 // cmp r11d, dword [r12 + 64] + QUAD $0x000000902494950f // setne byte [rsp + 144] + LONG $0x245c3b45; BYTE $0x60 // cmp r11d, dword [r12 + 96] + LONG $0x2454950f; BYTE $0x70 // setne byte [rsp + 112] WORD $0x0045; BYTE $0xf6 // add r14b, r14b - QUAD $0x0000009824b40244 // add r14b, byte [rsp + 152] + QUAD $0x000000c024b40244 // add r14b, byte [rsp + 192] LONG $0x02e7c041 // shl r15b, 2 WORD $0x0845; BYTE $0xf7 // or r15b, r14b - WORD $0x894d; BYTE $0xee // mov r14, r13 - LONG $0x03e4c041 // shl r12b, 3 - WORD $0x0845; BYTE $0xfc // or r12b, r15b + WORD $0x894d; BYTE $0xe6 // mov r14, r12 + LONG $0x03e5c041 // shl r13b, 3 + WORD $0x0845; BYTE $0xfd // or r13b, r15b WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0x0844; BYTE $0xe1 // or cl, r12b + WORD $0x0844; BYTE $0xe9 // or cl, r13b LONG $0x247c8b4c; BYTE $0x08 // mov r15, qword [rsp + 8] WORD $0xe2c0; BYTE $0x05 // shl dl, 5 WORD $0xca08 // or dl, cl @@ -24090,14 +25151,14 @@ LBB5_19: WORD $0xd008 // or al, dl WORD $0x8841; BYTE $0x07 // mov byte [r15], al WORD $0x0040; BYTE $0xf6 // add sil, sil - QUAD $0x000000c024b40240 // add sil, byte [rsp + 192] + QUAD $0x000000b024b40240 // add sil, byte [rsp + 176] LONG $0x02e1c041 // shl r9b, 2 WORD $0x0841; BYTE $0xf1 // or r9b, sil LONG $0x03e2c041 // shl r10b, 3 WORD $0x0845; BYTE $0xca // or r10b, r9b LONG $0x04e7c040 // shl dil, 4 WORD $0x0844; BYTE $0xd7 // or dil, r10b - QUAD $0x000000902484b60f // movzx eax, byte [rsp + 144] + QUAD $0x000000982484b60f // movzx eax, byte [rsp + 152] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0x0840; BYTE $0xf8 // or al, dil QUAD $0x00000088248cb60f // movzx ecx, byte [rsp + 136] @@ -24106,50 +25167,50 @@ LBB5_19: WORD $0x0841; BYTE $0xc8 // or r8b, cl WORD $0x0841; BYTE $0xc0 // or r8b, al LONG $0x01478845 // mov byte [r15 + 1], r8b - LONG $0x2444b60f; BYTE $0x68 // movzx eax, byte [rsp + 104] + LONG $0x2444b60f; BYTE $0x78 // movzx eax, byte [rsp + 120] WORD $0xc000 // add al, al - LONG $0xb0248402; WORD $0x0000; BYTE $0x00 // add al, byte [rsp + 176] + LONG $0x90248402; WORD $0x0000; BYTE $0x00 // add al, byte [rsp + 144] WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x70 // movzx eax, byte [rsp + 112] + QUAD $0x000000802484b60f // movzx eax, byte [rsp + 128] WORD $0xe0c0; BYTE $0x02 // shl al, 2 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x78 // movzx eax, byte [rsp + 120] + LONG $0x2444b60f; BYTE $0x58 // movzx eax, byte [rsp + 88] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x48 // movzx eax, byte [rsp + 72] + LONG $0x2444b60f; BYTE $0x60 // movzx eax, byte [rsp + 96] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x50 // movzx eax, byte [rsp + 80] + LONG $0x2444b60f; BYTE $0x68 // movzx eax, byte [rsp + 104] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - QUAD $0x000000802494b60f // movzx edx, byte [rsp + 128] + LONG $0x2454b60f; BYTE $0x48 // movzx edx, byte [rsp + 72] WORD $0xe2c0; BYTE $0x06 // shl dl, 6 - LONG $0x2444b60f; BYTE $0x58 // movzx eax, byte [rsp + 88] + LONG $0x2444b60f; BYTE $0x50 // movzx eax, byte [rsp + 80] WORD $0xe0c0; BYTE $0x07 // shl al, 7 WORD $0xd008 // or al, dl WORD $0xc808 // or al, cl LONG $0x02478841 // mov byte [r15 + 2], al LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] WORD $0xc000 // add al, al - LONG $0x60244402 // add al, byte [rsp + 96] + LONG $0x70244402 // add al, byte [rsp + 112] WORD $0xc189 // mov ecx, eax LONG $0x2444b60f; BYTE $0x38 // movzx eax, byte [rsp + 56] WORD $0xe0c0; BYTE $0x02 // shl al, 2 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x18 // movzx eax, byte [rsp + 24] + LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] + LONG $0x2444b60f; BYTE $0x18 // movzx eax, byte [rsp + 24] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] + LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax @@ -24166,12 +25227,12 @@ LBB5_19: QUAD $0x000000a824848348; BYTE $0xff // add qword [rsp + 168], -1 JNE LBB5_19 QUAD $0x000000a024bc8b4c // mov r15, qword [rsp + 160] - QUAD $0x000000e024948b4c // mov r10, qword [rsp + 224] + QUAD $0x000000d024948b4c // mov r10, qword [rsp + 208] LBB5_21: LONG $0x05e2c149 // shl r10, 5 WORD $0x394d; BYTE $0xfa // cmp r10, r15 - JGE LBB5_199 + JGE LBB5_198 WORD $0x894d; BYTE $0xf8 // mov r8, r15 WORD $0x294d; BYTE $0xd0 // sub r8, r10 WORD $0xf749; BYTE $0xd2 // not r10 @@ -24182,7 +25243,7 @@ LBB5_21: WORD $0xff31 // xor edi, edi LONG $0x247c8b4c; BYTE $0x08 // mov r15, qword [rsp + 8] -LBB5_143: +LBB5_144: WORD $0x3b45; BYTE $0x1e // cmp r11d, dword [r14] WORD $0x950f; BYTE $0xd0 // setne al WORD $0xd8f6 // neg al @@ -24210,18 +25271,18 @@ LBB5_143: WORD $0xd330 // xor bl, dl LONG $0x371c8841 // mov byte [r15 + rsi], bl WORD $0x3949; BYTE $0xf9 // cmp r9, rdi - JNE LBB5_143 + JNE LBB5_144 JMP LBB5_24 -LBB5_26: +LBB5_27: WORD $0xff83; BYTE $0x08 // cmp edi, 8 - JLE LBB5_27 + JLE LBB5_28 WORD $0xff83; BYTE $0x09 // cmp edi, 9 - JE LBB5_158 + JE LBB5_159 WORD $0xff83; BYTE $0x0b // cmp edi, 11 - JE LBB5_170 + JE LBB5_171 WORD $0xff83; BYTE $0x0c // cmp edi, 12 - JNE LBB5_199 + JNE LBB5_198 LONG $0x1f578d4d // lea r10, [r15 + 31] WORD $0x854d; BYTE $0xff // test r15, r15 LONG $0xd7490f4d // cmovns r10, r15 @@ -24231,14 +25292,16 @@ LBB5_26: WORD $0xe083; BYTE $0xf8 // and eax, -8 LONG $0x06100ff2 // movsd xmm0, qword [rsi] WORD $0x2941; BYTE $0xc1 // sub r9d, eax - JE LBB5_49 + JE LBB5_50 WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d LONG $0x24448b4c; BYTE $0x08 // mov r8, qword [rsp + 8] -LBB5_47: +LBB5_48: LONG $0x2e0f4166; BYTE $0x06 // ucomisd xmm0, qword [r14] LONG $0x08768d4d // lea r14, [r14 + 8] + WORD $0x9a0f; BYTE $0xd1 // setp cl WORD $0x950f; BYTE $0xd2 // setne dl + WORD $0xca08 // or dl, cl WORD $0xdaf6 // neg dl LONG $0x07708d48 // lea rsi, [rax + 7] WORD $0x8548; BYTE $0xc0 // test rax, rax @@ -24256,195 +25319,283 @@ LBB5_47: LONG $0x303c8841 // mov byte [r8 + rsi], dil LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 - JNE LBB5_47 + JNE LBB5_48 LONG $0x24448348; WORD $0x0108 // add qword [rsp + 8], 1 -LBB5_49: +LBB5_50: LONG $0x05fac149 // sar r10, 5 LONG $0x20ff8349 // cmp r15, 32 - JL LBB5_53 + JL LBB5_54 QUAD $0x000000a024bc894c // mov qword [rsp + 160], r15 - QUAD $0x000000a82494894c // mov qword [rsp + 168], r10 - QUAD $0x000000982494894c // mov qword [rsp + 152], r10 + QUAD $0x000000f02494894c // mov qword [rsp + 240], r10 + QUAD $0x000000d02494894c // mov qword [rsp + 208], r10 -LBB5_51: +LBB5_52: WORD $0x894c; BYTE $0xf2 // mov rdx, r14 LONG $0x2e0f4166; BYTE $0x06 // ucomisd xmm0, qword [r14] - QUAD $0x000000c02494950f // setne byte [rsp + 192] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x18244c88 // mov byte [rsp + 24], cl LONG $0x2e0f4166; WORD $0x0846 // ucomisd xmm0, qword [r14 + 8] - LONG $0xd1950f41 // setne r9b - LONG $0x2e0f4166; WORD $0x1046 // ucomisd xmm0, qword [r14 + 16] + WORD $0x9a0f; BYTE $0xd0 // setp al LONG $0xd3950f41 // setne r11b + WORD $0x0841; BYTE $0xc3 // or r11b, al + LONG $0x2e0f4166; WORD $0x1046 // ucomisd xmm0, qword [r14 + 16] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x20244c88 // mov byte [rsp + 32], cl LONG $0x2e0f4166; WORD $0x1846 // ucomisd xmm0, qword [r14 + 24] - LONG $0xd5950f41 // setne r13b + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x40244c88 // mov byte [rsp + 64], cl LONG $0x2e0f4166; WORD $0x2046 // ucomisd xmm0, qword [r14 + 32] - QUAD $0x000000b02494950f // setne byte [rsp + 176] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x10244c88 // mov byte [rsp + 16], cl LONG $0x2e0f4166; WORD $0x2846 // ucomisd xmm0, qword [r14 + 40] - LONG $0x2454950f; BYTE $0x50 // setne byte [rsp + 80] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd1950f41 // setne r9b + WORD $0x0841; BYTE $0xc1 // or r9b, al LONG $0x2e0f4166; WORD $0x3046 // ucomisd xmm0, qword [r14 + 48] - WORD $0x950f; BYTE $0xd3 // setne bl + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x38244c88 // mov byte [rsp + 56], cl LONG $0x2e0f4166; WORD $0x3846 // ucomisd xmm0, qword [r14 + 56] - LONG $0xd4950f41 // setne r12b + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x28244c88 // mov byte [rsp + 40], cl LONG $0x2e0f4166; WORD $0x4046 // ucomisd xmm0, qword [r14 + 64] - QUAD $0x000000902494950f // setne byte [rsp + 144] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x30244c88 // mov byte [rsp + 48], cl LONG $0x2e0f4166; WORD $0x4846 // ucomisd xmm0, qword [r14 + 72] - LONG $0xd6950f40 // setne sil + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x58244c88 // mov byte [rsp + 88], cl LONG $0x2e0f4166; WORD $0x5046 // ucomisd xmm0, qword [r14 + 80] - LONG $0xd7950f40 // setne dil + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd3 // setne bl + WORD $0xc308 // or bl, al + LONG $0x50245c88 // mov byte [rsp + 80], bl LONG $0x2e0f4166; WORD $0x5846 // ucomisd xmm0, qword [r14 + 88] - LONG $0xd0950f41 // setne r8b + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd3 // setne bl + WORD $0xc308 // or bl, al + LONG $0x48245c88 // mov byte [rsp + 72], bl LONG $0x2e0f4166; WORD $0x6046 // ucomisd xmm0, qword [r14 + 96] - LONG $0xd2950f41 // setne r10b + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd3 // setne bl + WORD $0xc308 // or bl, al + LONG $0x68245c88 // mov byte [rsp + 104], bl LONG $0x2e0f4166; WORD $0x6846 // ucomisd xmm0, qword [r14 + 104] - LONG $0xd7950f41 // setne r15b + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd3 // setne bl + WORD $0xc308 // or bl, al + LONG $0x60245c88 // mov byte [rsp + 96], bl LONG $0x2e0f4166; WORD $0x7046 // ucomisd xmm0, qword [r14 + 112] - QUAD $0x000000882494950f // setne byte [rsp + 136] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd5950f41 // setne r13b + WORD $0x0841; BYTE $0xc5 // or r13b, al LONG $0x2e0f4166; WORD $0x7846 // ucomisd xmm0, qword [r14 + 120] + WORD $0x9a0f; BYTE $0xd0 // setp al WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x80248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 128], cl QUAD $0x000080862e0f4166; BYTE $0x00 // ucomisd xmm0, qword [r14 + 128] - LONG $0x2454950f; BYTE $0x78 // setne byte [rsp + 120] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x78244c88 // mov byte [rsp + 120], cl QUAD $0x000088862e0f4166; BYTE $0x00 // ucomisd xmm0, qword [r14 + 136] - LONG $0x2454950f; BYTE $0x60 // setne byte [rsp + 96] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x70244c88 // mov byte [rsp + 112], cl QUAD $0x000090862e0f4166; BYTE $0x00 // ucomisd xmm0, qword [r14 + 144] - LONG $0x2454950f; BYTE $0x68 // setne byte [rsp + 104] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd3 // setne bl + WORD $0xc308 // or bl, al QUAD $0x000098862e0f4166; BYTE $0x00 // ucomisd xmm0, qword [r14 + 152] - LONG $0x2454950f; BYTE $0x70 // setne byte [rsp + 112] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x88248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 136], cl QUAD $0x0000a0862e0f4166; BYTE $0x00 // ucomisd xmm0, qword [r14 + 160] - LONG $0x2454950f; BYTE $0x48 // setne byte [rsp + 72] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x98248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 152], cl QUAD $0x0000a8862e0f4166; BYTE $0x00 // ucomisd xmm0, qword [r14 + 168] - QUAD $0x000000802494950f // setne byte [rsp + 128] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0xb0248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 176], cl QUAD $0x0000b0862e0f4166; BYTE $0x00 // ucomisd xmm0, qword [r14 + 176] - LONG $0x2454950f; BYTE $0x58 // setne byte [rsp + 88] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd4950f41 // setne r12b + WORD $0x0841; BYTE $0xc4 // or r12b, al QUAD $0x0000b8862e0f4166; BYTE $0x00 // ucomisd xmm0, qword [r14 + 184] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd0950f41 // setne r8b + WORD $0x0841; BYTE $0xc0 // or r8b, al + QUAD $0x0000c0862e0f4166; BYTE $0x00 // ucomisd xmm0, qword [r14 + 192] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x90248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 144], cl + QUAD $0x0000c8862e0f4166; BYTE $0x00 // ucomisd xmm0, qword [r14 + 200] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd7950f41 // setne r15b + WORD $0x0841; BYTE $0xc7 // or r15b, al + QUAD $0x0000d0862e0f4166; BYTE $0x00 // ucomisd xmm0, qword [r14 + 208] + WORD $0x9a0f; BYTE $0xd0 // setp al LONG $0xd6950f41 // setne r14b - QUAD $0x000000c0822e0f66 // ucomisd xmm0, qword [rdx + 192] - LONG $0x2454950f; BYTE $0x20 // setne byte [rsp + 32] - QUAD $0x000000c8822e0f66 // ucomisd xmm0, qword [rdx + 200] - LONG $0x2454950f; BYTE $0x30 // setne byte [rsp + 48] - QUAD $0x000000d0822e0f66 // ucomisd xmm0, qword [rdx + 208] - LONG $0x2454950f; BYTE $0x38 // setne byte [rsp + 56] + WORD $0x0841; BYTE $0xc6 // or r14b, al QUAD $0x000000d8822e0f66 // ucomisd xmm0, qword [rdx + 216] - LONG $0x2454950f; BYTE $0x18 // setne byte [rsp + 24] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd2950f41 // setne r10b + WORD $0x0841; BYTE $0xc2 // or r10b, al QUAD $0x000000e0822e0f66 // ucomisd xmm0, qword [rdx + 224] - LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0xc0248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 192], cl QUAD $0x000000e8822e0f66 // ucomisd xmm0, qword [rdx + 232] - LONG $0x2454950f; BYTE $0x40 // setne byte [rsp + 64] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0xa8248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 168], cl QUAD $0x000000f0822e0f66 // ucomisd xmm0, qword [rdx + 240] - LONG $0x2454950f; BYTE $0x10 // setne byte [rsp + 16] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd7950f40 // setne dil + WORD $0x0840; BYTE $0xc7 // or dil, al QUAD $0x000000f8822e0f66 // ucomisd xmm0, qword [rdx + 248] - WORD $0x950f; BYTE $0xd0 // setne al - WORD $0x0045; BYTE $0xc9 // add r9b, r9b - QUAD $0x000000c0248c0244 // add r9b, byte [rsp + 192] - WORD $0xe3c0; BYTE $0x06 // shl bl, 6 - LONG $0x07e4c041 // shl r12b, 7 - WORD $0x0841; BYTE $0xdc // or r12b, bl - LONG $0x02e3c041 // shl r11b, 2 - WORD $0x0845; BYTE $0xcb // or r11b, r9b - WORD $0x0040; BYTE $0xf6 // add sil, sil - QUAD $0x0000009024b40240 // add sil, byte [rsp + 144] - LONG $0x03e5c041 // shl r13b, 3 - WORD $0x0845; BYTE $0xdd // or r13b, r11b - LONG $0x02e7c040 // shl dil, 2 - WORD $0x0840; BYTE $0xf7 // or dil, sil - QUAD $0x000000b0249cb60f // movzx ebx, byte [rsp + 176] - WORD $0xe3c0; BYTE $0x04 // shl bl, 4 - WORD $0x0844; BYTE $0xeb // or bl, r13b - WORD $0x8941; BYTE $0xd9 // mov r9d, ebx - LONG $0x24748b48; BYTE $0x08 // mov rsi, qword [rsp + 8] - LONG $0x03e0c041 // shl r8b, 3 - WORD $0x0841; BYTE $0xf8 // or r8b, dil - LONG $0x245cb60f; BYTE $0x50 // movzx ebx, byte [rsp + 80] - WORD $0xe3c0; BYTE $0x05 // shl bl, 5 - WORD $0x0844; BYTE $0xcb // or bl, r9b - LONG $0x04e2c041 // shl r10b, 4 - WORD $0x0845; BYTE $0xc2 // or r10b, r8b - LONG $0x05e7c041 // shl r15b, 5 - WORD $0x0845; BYTE $0xd7 // or r15b, r10b - QUAD $0x0000008824bcb60f // movzx edi, byte [rsp + 136] - LONG $0x06e7c040 // shl dil, 6 - WORD $0xe1c0; BYTE $0x07 // shl cl, 7 - WORD $0x0840; BYTE $0xf9 // or cl, dil - WORD $0x0841; BYTE $0xdc // or r12b, bl - WORD $0x0844; BYTE $0xf9 // or cl, r15b - LONG $0x245cb60f; BYTE $0x60 // movzx ebx, byte [rsp + 96] - WORD $0xdb00 // add bl, bl - LONG $0x78245c02 // add bl, byte [rsp + 120] - WORD $0xdf89 // mov edi, ebx - LONG $0x245cb60f; BYTE $0x68 // movzx ebx, byte [rsp + 104] - WORD $0xe3c0; BYTE $0x02 // shl bl, 2 - WORD $0x0840; BYTE $0xfb // or bl, dil - WORD $0xdf89 // mov edi, ebx - LONG $0x245cb60f; BYTE $0x70 // movzx ebx, byte [rsp + 112] - WORD $0xe3c0; BYTE $0x03 // shl bl, 3 - WORD $0x0840; BYTE $0xfb // or bl, dil - WORD $0xdf89 // mov edi, ebx - LONG $0x245cb60f; BYTE $0x48 // movzx ebx, byte [rsp + 72] - WORD $0xe3c0; BYTE $0x04 // shl bl, 4 - WORD $0x0840; BYTE $0xfb // or bl, dil - WORD $0xdf89 // mov edi, ebx - QUAD $0x00000080249cb60f // movzx ebx, byte [rsp + 128] - WORD $0xe3c0; BYTE $0x05 // shl bl, 5 - WORD $0x0840; BYTE $0xfb // or bl, dil - WORD $0x8844; BYTE $0x26 // mov byte [rsi], r12b - LONG $0x247cb60f; BYTE $0x58 // movzx edi, byte [rsp + 88] - LONG $0x06e7c040 // shl dil, 6 - LONG $0x07e6c041 // shl r14b, 7 - WORD $0x0841; BYTE $0xfe // or r14b, dil - WORD $0x4e88; BYTE $0x01 // mov byte [rsi + 1], cl - WORD $0x0841; BYTE $0xde // or r14b, bl - LONG $0x244cb60f; BYTE $0x30 // movzx ecx, byte [rsp + 48] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd6950f40 // setne sil + WORD $0x0840; BYTE $0xc6 // or sil, al + WORD $0x0045; BYTE $0xdb // add r11b, r11b + LONG $0x245c0244; BYTE $0x18 // add r11b, byte [rsp + 24] + LONG $0x05e1c041 // shl r9b, 5 + LONG $0x2444b60f; BYTE $0x38 // movzx eax, byte [rsp + 56] + WORD $0xe0c0; BYTE $0x06 // shl al, 6 + WORD $0x0844; BYTE $0xc8 // or al, r9b + WORD $0x8941; BYTE $0xc1 // mov r9d, eax + LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0x0844; BYTE $0xd8 // or al, r11b + WORD $0x8941; BYTE $0xc3 // mov r11d, eax + LONG $0x244cb60f; BYTE $0x58 // movzx ecx, byte [rsp + 88] WORD $0xc900 // add cl, cl - LONG $0x20244c02 // add cl, byte [rsp + 32] - WORD $0xcb89 // mov ebx, ecx - LONG $0x244cb60f; BYTE $0x38 // movzx ecx, byte [rsp + 56] - WORD $0xe1c0; BYTE $0x02 // shl cl, 2 - WORD $0xd908 // or cl, bl - WORD $0xcb89 // mov ebx, ecx - LONG $0x244cb60f; BYTE $0x18 // movzx ecx, byte [rsp + 24] + LONG $0x30244c02 // add cl, byte [rsp + 48] + LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] + WORD $0xe0c0; BYTE $0x07 // shl al, 7 + WORD $0x0844; BYTE $0xc8 // or al, r9b + WORD $0x8941; BYTE $0xc1 // mov r9d, eax + LONG $0x2444b60f; BYTE $0x50 // movzx eax, byte [rsp + 80] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x40 // movzx eax, byte [rsp + 64] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0x0844; BYTE $0xd8 // or al, r11b + WORD $0x8941; BYTE $0xc3 // mov r11d, eax + LONG $0x2444b60f; BYTE $0x48 // movzx eax, byte [rsp + 72] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0844; BYTE $0xd8 // or al, r11b + LONG $0x10244488 // mov byte [rsp + 16], al + LONG $0x2444b60f; BYTE $0x68 // movzx eax, byte [rsp + 104] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0xc808 // or al, cl + WORD $0x8941; BYTE $0xc3 // mov r11d, eax + LONG $0x2444b60f; BYTE $0x60 // movzx eax, byte [rsp + 96] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + LONG $0x06e5c041 // shl r13b, 6 + WORD $0x0841; BYTE $0xc5 // or r13b, al + QUAD $0x000000802484b60f // movzx eax, byte [rsp + 128] + WORD $0xe0c0; BYTE $0x07 // shl al, 7 + WORD $0x0844; BYTE $0xe8 // or al, r13b + WORD $0x8941; BYTE $0xc5 // mov r13d, eax + LONG $0x24448b48; BYTE $0x08 // mov rax, qword [rsp + 8] + LONG $0x244cb60f; BYTE $0x70 // movzx ecx, byte [rsp + 112] + WORD $0xc900 // add cl, cl + LONG $0x78244c02 // add cl, byte [rsp + 120] + WORD $0xe3c0; BYTE $0x02 // shl bl, 2 + WORD $0xcb08 // or bl, cl + QUAD $0x00000088248cb60f // movzx ecx, byte [rsp + 136] WORD $0xe1c0; BYTE $0x03 // shl cl, 3 WORD $0xd908 // or cl, bl WORD $0xcb89 // mov ebx, ecx - LONG $0x244cb60f; BYTE $0x28 // movzx ecx, byte [rsp + 40] + QUAD $0x00000098248cb60f // movzx ecx, byte [rsp + 152] WORD $0xe1c0; BYTE $0x04 // shl cl, 4 WORD $0xd908 // or cl, bl - WORD $0xcb89 // mov ebx, ecx - LONG $0x244cb60f; BYTE $0x40 // movzx ecx, byte [rsp + 64] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0xd908 // or cl, bl - LONG $0x245cb60f; BYTE $0x10 // movzx ebx, byte [rsp + 16] - WORD $0xe3c0; BYTE $0x06 // shl bl, 6 - WORD $0xe0c0; BYTE $0x07 // shl al, 7 - WORD $0xd808 // or al, bl - WORD $0xc808 // or al, cl - LONG $0x02768844 // mov byte [rsi + 2], r14b - WORD $0x4688; BYTE $0x03 // mov byte [rsi + 3], al + LONG $0x244c0a44; BYTE $0x10 // or r9b, byte [rsp + 16] + QUAD $0x000000b0249cb60f // movzx ebx, byte [rsp + 176] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + LONG $0x06e4c041 // shl r12b, 6 + WORD $0x0841; BYTE $0xdc // or r12b, bl + WORD $0x0845; BYTE $0xdd // or r13b, r11b + LONG $0x07e0c041 // shl r8b, 7 + WORD $0x0845; BYTE $0xe0 // or r8b, r12b + WORD $0x0841; BYTE $0xc8 // or r8b, cl + WORD $0x0045; BYTE $0xff // add r15b, r15b + QUAD $0x0000009024bc0244 // add r15b, byte [rsp + 144] + LONG $0x02e6c041 // shl r14b, 2 + WORD $0x0845; BYTE $0xfe // or r14b, r15b + LONG $0x03e2c041 // shl r10b, 3 + WORD $0x0845; BYTE $0xf2 // or r10b, r14b + QUAD $0x000000c0248cb60f // movzx ecx, byte [rsp + 192] + WORD $0xe1c0; BYTE $0x04 // shl cl, 4 + WORD $0x0844; BYTE $0xd1 // or cl, r10b + WORD $0x8844; BYTE $0x08 // mov byte [rax], r9b + QUAD $0x000000a8249cb60f // movzx ebx, byte [rsp + 168] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + LONG $0x06e7c040 // shl dil, 6 + WORD $0x0840; BYTE $0xdf // or dil, bl + LONG $0x01688844 // mov byte [rax + 1], r13b + LONG $0x07e6c040 // shl sil, 7 + WORD $0x0840; BYTE $0xfe // or sil, dil + WORD $0x0840; BYTE $0xce // or sil, cl + LONG $0x02408844 // mov byte [rax + 2], r8b + LONG $0x03708840 // mov byte [rax + 3], sil LONG $0x00b28d4c; WORD $0x0001; BYTE $0x00 // lea r14, [rdx + 256] - LONG $0x04c68348 // add rsi, 4 - LONG $0x24748948; BYTE $0x08 // mov qword [rsp + 8], rsi - QUAD $0x0000009824848348; BYTE $0xff // add qword [rsp + 152], -1 - JNE LBB5_51 + LONG $0x04c08348 // add rax, 4 + LONG $0x24448948; BYTE $0x08 // mov qword [rsp + 8], rax + QUAD $0x000000d024848348; BYTE $0xff // add qword [rsp + 208], -1 + JNE LBB5_52 QUAD $0x000000a024bc8b4c // mov r15, qword [rsp + 160] - QUAD $0x000000a824948b4c // mov r10, qword [rsp + 168] + QUAD $0x000000f024948b4c // mov r10, qword [rsp + 240] -LBB5_53: +LBB5_54: LONG $0x05e2c149 // shl r10, 5 WORD $0x394d; BYTE $0xfa // cmp r10, r15 - JGE LBB5_199 + JGE LBB5_198 WORD $0x894d; BYTE $0xf8 // mov r8, r15 WORD $0x294d; BYTE $0xd0 // sub r8, r10 WORD $0xf749; BYTE $0xd2 // not r10 WORD $0x014d; BYTE $0xfa // add r10, r15 - JNE LBB5_193 + JNE LBB5_194 WORD $0xff31 // xor edi, edi - JMP LBB5_195 + JMP LBB5_196 LBB5_2: WORD $0xff83; BYTE $0x02 // cmp edi, 2 - JE LBB5_56 + JE LBB5_57 WORD $0xff83; BYTE $0x03 // cmp edi, 3 - JNE LBB5_199 + JNE LBB5_198 WORD $0x068a // mov al, byte [rsi] - LONG $0x40244488 // mov byte [rsp + 64], al + LONG $0x10244488 // mov byte [rsp + 16], al LONG $0x1f578d4d // lea r10, [r15 + 31] WORD $0x854d; BYTE $0xff // test r15, r15 LONG $0xd7490f4d // cmovns r10, r15 @@ -24458,7 +25609,7 @@ LBB5_2: LONG $0x24548b48; BYTE $0x08 // mov rdx, qword [rsp + 8] LBB5_6: - LONG $0x244cb60f; BYTE $0x40 // movzx ecx, byte [rsp + 64] + LONG $0x244cb60f; BYTE $0x10 // movzx ecx, byte [rsp + 16] WORD $0x3a41; BYTE $0x0e // cmp cl, byte [r14] LONG $0x01768d4d // lea r14, [r14 + 1] WORD $0x950f; BYTE $0xd3 // setne bl @@ -24488,62 +25639,62 @@ LBB5_8: JL LBB5_9 LONG $0x10fa8349 // cmp r10, 16 QUAD $0x000000a024bc894c // mov qword [rsp + 160], r15 - QUAD $0x000000f82494894c // mov qword [rsp + 248], r10 - JB LBB5_82 + QUAD $0x000001082494894c // mov qword [rsp + 264], r10 + JB LBB5_83 WORD $0x894c; BYTE $0xd0 // mov rax, r10 LONG $0x05e0c148 // shl rax, 5 WORD $0x014c; BYTE $0xf0 // add rax, r14 LONG $0x24443948; BYTE $0x08 // cmp qword [rsp + 8], rax - JAE LBB5_85 + JAE LBB5_86 LONG $0x24448b48; BYTE $0x08 // mov rax, qword [rsp + 8] LONG $0x90048d4a // lea rax, [rax + 4*r10] WORD $0x3949; BYTE $0xc6 // cmp r14, rax - JAE LBB5_85 + JAE LBB5_86 -LBB5_82: +LBB5_83: WORD $0xc031 // xor eax, eax - QUAD $0x000000d824848948 // mov qword [rsp + 216], rax + QUAD $0x000000e824848948 // mov qword [rsp + 232], rax LONG $0x24448b48; BYTE $0x08 // mov rax, qword [rsp + 8] - QUAD $0x0000008024848948 // mov qword [rsp + 128], rax - -LBB5_88: - QUAD $0x000000d824942b4c // sub r10, qword [rsp + 216] - QUAD $0x000000e02494894c // mov qword [rsp + 224], r10 + LONG $0x24448948; BYTE $0x50 // mov qword [rsp + 80], rax LBB5_89: - LONG $0x2444b60f; BYTE $0x40 // movzx eax, byte [rsp + 64] + QUAD $0x000000e824942b4c // sub r10, qword [rsp + 232] + QUAD $0x000000d02494894c // mov qword [rsp + 208], r10 + +LBB5_90: + LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] LONG $0x1f463a41 // cmp al, byte [r14 + 31] LONG $0x2454950f; BYTE $0x08 // setne byte [rsp + 8] LONG $0x1e463a41 // cmp al, byte [r14 + 30] - LONG $0x2454950f; BYTE $0x10 // setne byte [rsp + 16] + LONG $0x2454950f; BYTE $0x40 // setne byte [rsp + 64] LONG $0x1d463a41 // cmp al, byte [r14 + 29] - LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] - LONG $0x1c463a41 // cmp al, byte [r14 + 28] LONG $0x2454950f; BYTE $0x20 // setne byte [rsp + 32] - LONG $0x1b463a41 // cmp al, byte [r14 + 27] + LONG $0x1c463a41 // cmp al, byte [r14 + 28] LONG $0x2454950f; BYTE $0x18 // setne byte [rsp + 24] + LONG $0x1b463a41 // cmp al, byte [r14 + 27] + LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] LONG $0x1a463a41 // cmp al, byte [r14 + 26] LONG $0x2454950f; BYTE $0x38 // setne byte [rsp + 56] LONG $0x19463a41 // cmp al, byte [r14 + 25] LONG $0x2454950f; BYTE $0x30 // setne byte [rsp + 48] LONG $0x17463a41 // cmp al, byte [r14 + 23] - LONG $0x2454950f; BYTE $0x58 // setne byte [rsp + 88] + LONG $0x2454950f; BYTE $0x48 // setne byte [rsp + 72] LONG $0x16463a41 // cmp al, byte [r14 + 22] - LONG $0x2454950f; BYTE $0x50 // setne byte [rsp + 80] + LONG $0x2454950f; BYTE $0x68 // setne byte [rsp + 104] LONG $0x15463a41 // cmp al, byte [r14 + 21] - LONG $0x2454950f; BYTE $0x48 // setne byte [rsp + 72] + LONG $0x2454950f; BYTE $0x60 // setne byte [rsp + 96] LONG $0x14463a41 // cmp al, byte [r14 + 20] - LONG $0x2454950f; BYTE $0x78 // setne byte [rsp + 120] + LONG $0x2454950f; BYTE $0x58 // setne byte [rsp + 88] LONG $0x13463a41 // cmp al, byte [r14 + 19] - LONG $0x2454950f; BYTE $0x70 // setne byte [rsp + 112] + QUAD $0x000000802494950f // setne byte [rsp + 128] LONG $0x12463a41 // cmp al, byte [r14 + 18] - LONG $0x2454950f; BYTE $0x68 // setne byte [rsp + 104] + LONG $0x2454950f; BYTE $0x78 // setne byte [rsp + 120] LONG $0x11463a41 // cmp al, byte [r14 + 17] - LONG $0x2454950f; BYTE $0x60 // setne byte [rsp + 96] + LONG $0x2454950f; BYTE $0x70 // setne byte [rsp + 112] LONG $0x0f463a41 // cmp al, byte [r14 + 15] LONG $0xd2950f41 // setne r10b LONG $0x0e463a41 // cmp al, byte [r14 + 14] - QUAD $0x000000902494950f // setne byte [rsp + 144] + QUAD $0x000000982494950f // setne byte [rsp + 152] LONG $0x0d463a41 // cmp al, byte [r14 + 13] LONG $0xd5950f41 // setne r13b LONG $0x0c463a41 // cmp al, byte [r14 + 12] @@ -24557,7 +25708,7 @@ LBB5_89: LONG $0x07463a41 // cmp al, byte [r14 + 7] LONG $0xd6950f40 // setne sil LONG $0x06463a41 // cmp al, byte [r14 + 6] - QUAD $0x000000c02494950f // setne byte [rsp + 192] + QUAD $0x000000b02494950f // setne byte [rsp + 176] LONG $0x05463a41 // cmp al, byte [r14 + 5] LONG $0xd1950f41 // setne r9b LONG $0x04463a41 // cmp al, byte [r14 + 4] @@ -24571,9 +25722,9 @@ LBB5_89: LONG $0x01463a41 // cmp al, byte [r14 + 1] WORD $0x950f; BYTE $0xd1 // setne cl LONG $0x08463a41 // cmp al, byte [r14 + 8] - QUAD $0x000000982494950f // setne byte [rsp + 152] + QUAD $0x000000c02494950f // setne byte [rsp + 192] LONG $0x10463a41 // cmp al, byte [r14 + 16] - QUAD $0x000000b02494950f // setne byte [rsp + 176] + QUAD $0x000000902494950f // setne byte [rsp + 144] LONG $0x18463a41 // cmp al, byte [r14 + 24] QUAD $0x000000882494950f // setne byte [rsp + 136] WORD $0xc900 // add cl, cl @@ -24586,15 +25737,15 @@ LBB5_89: WORD $0x0841; BYTE $0xf8 // or r8b, dil LONG $0x05e1c041 // shl r9b, 5 WORD $0x0845; BYTE $0xc1 // or r9b, r8b - QUAD $0x000000c02484b60f // movzx eax, byte [rsp + 192] + QUAD $0x000000b02484b60f // movzx eax, byte [rsp + 176] WORD $0xe0c0; BYTE $0x06 // shl al, 6 LONG $0x07e6c040 // shl sil, 7 WORD $0x0840; BYTE $0xc6 // or sil, al WORD $0x0844; BYTE $0xce // or sil, r9b - QUAD $0x0000008024848b48 // mov rax, qword [rsp + 128] + LONG $0x24448b48; BYTE $0x50 // mov rax, qword [rsp + 80] WORD $0x8840; BYTE $0x30 // mov byte [rax], sil WORD $0x0045; BYTE $0xdb // add r11b, r11b - QUAD $0x00000098249c0244 // add r11b, byte [rsp + 152] + QUAD $0x000000c0249c0244 // add r11b, byte [rsp + 192] WORD $0xe3c0; BYTE $0x02 // shl bl, 2 WORD $0x0844; BYTE $0xdb // or bl, r11b LONG $0x03e7c041 // shl r15b, 3 @@ -24603,35 +25754,35 @@ LBB5_89: WORD $0x0845; BYTE $0xfc // or r12b, r15b LONG $0x05e5c041 // shl r13b, 5 WORD $0x0845; BYTE $0xe5 // or r13b, r12b - QUAD $0x00000090248cb60f // movzx ecx, byte [rsp + 144] + QUAD $0x00000098248cb60f // movzx ecx, byte [rsp + 152] WORD $0xe1c0; BYTE $0x06 // shl cl, 6 LONG $0x07e2c041 // shl r10b, 7 WORD $0x0841; BYTE $0xca // or r10b, cl WORD $0x0845; BYTE $0xea // or r10b, r13b LONG $0x01508844 // mov byte [rax + 1], r10b - LONG $0x244cb60f; BYTE $0x60 // movzx ecx, byte [rsp + 96] + LONG $0x244cb60f; BYTE $0x70 // movzx ecx, byte [rsp + 112] WORD $0xc900 // add cl, cl - LONG $0xb0248c02; WORD $0x0000; BYTE $0x00 // add cl, byte [rsp + 176] + LONG $0x90248c02; WORD $0x0000; BYTE $0x00 // add cl, byte [rsp + 144] WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x68 // movzx ecx, byte [rsp + 104] + LONG $0x244cb60f; BYTE $0x78 // movzx ecx, byte [rsp + 120] WORD $0xe1c0; BYTE $0x02 // shl cl, 2 WORD $0xd108 // or cl, dl WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x70 // movzx ecx, byte [rsp + 112] + QUAD $0x00000080248cb60f // movzx ecx, byte [rsp + 128] WORD $0xe1c0; BYTE $0x03 // shl cl, 3 WORD $0xd108 // or cl, dl WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x78 // movzx ecx, byte [rsp + 120] + LONG $0x244cb60f; BYTE $0x58 // movzx ecx, byte [rsp + 88] WORD $0xe1c0; BYTE $0x04 // shl cl, 4 WORD $0xd108 // or cl, dl WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x48 // movzx ecx, byte [rsp + 72] + LONG $0x244cb60f; BYTE $0x60 // movzx ecx, byte [rsp + 96] WORD $0xe1c0; BYTE $0x05 // shl cl, 5 WORD $0xd108 // or cl, dl WORD $0xca89 // mov edx, ecx - LONG $0x245cb60f; BYTE $0x50 // movzx ebx, byte [rsp + 80] + LONG $0x245cb60f; BYTE $0x68 // movzx ebx, byte [rsp + 104] WORD $0xe3c0; BYTE $0x06 // shl bl, 6 - LONG $0x244cb60f; BYTE $0x58 // movzx ecx, byte [rsp + 88] + LONG $0x244cb60f; BYTE $0x48 // movzx ecx, byte [rsp + 72] WORD $0xe1c0; BYTE $0x07 // shl cl, 7 WORD $0xd908 // or cl, bl WORD $0xd108 // or cl, dl @@ -24644,19 +25795,19 @@ LBB5_89: WORD $0xe1c0; BYTE $0x02 // shl cl, 2 WORD $0xd108 // or cl, dl WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x18 // movzx ecx, byte [rsp + 24] + LONG $0x244cb60f; BYTE $0x28 // movzx ecx, byte [rsp + 40] WORD $0xe1c0; BYTE $0x03 // shl cl, 3 WORD $0xd108 // or cl, dl WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x20 // movzx ecx, byte [rsp + 32] + LONG $0x244cb60f; BYTE $0x18 // movzx ecx, byte [rsp + 24] WORD $0xe1c0; BYTE $0x04 // shl cl, 4 WORD $0xd108 // or cl, dl WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x28 // movzx ecx, byte [rsp + 40] + LONG $0x244cb60f; BYTE $0x20 // movzx ecx, byte [rsp + 32] WORD $0xe1c0; BYTE $0x05 // shl cl, 5 WORD $0xd108 // or cl, dl WORD $0xca89 // mov edx, ecx - LONG $0x245cb60f; BYTE $0x10 // movzx ebx, byte [rsp + 16] + LONG $0x245cb60f; BYTE $0x40 // movzx ebx, byte [rsp + 64] WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x244cb60f; BYTE $0x08 // movzx ecx, byte [rsp + 8] WORD $0xe1c0; BYTE $0x07 // shl cl, 7 @@ -24665,18 +25816,18 @@ LBB5_89: WORD $0x4888; BYTE $0x03 // mov byte [rax + 3], cl LONG $0x20c68349 // add r14, 32 LONG $0x04c08348 // add rax, 4 - QUAD $0x0000008024848948 // mov qword [rsp + 128], rax - QUAD $0x000000e024848348; BYTE $0xff // add qword [rsp + 224], -1 - JNE LBB5_89 + LONG $0x24448948; BYTE $0x50 // mov qword [rsp + 80], rax + QUAD $0x000000d024848348; BYTE $0xff // add qword [rsp + 208], -1 + JNE LBB5_90 QUAD $0x000000a024bc8b4c // mov r15, qword [rsp + 160] - QUAD $0x000000f824948b4c // mov r10, qword [rsp + 248] - JMP LBB5_91 + QUAD $0x0000010824948b4c // mov r10, qword [rsp + 264] + JMP LBB5_92 -LBB5_27: +LBB5_28: WORD $0xff83; BYTE $0x07 // cmp edi, 7 - JE LBB5_144 + JE LBB5_145 WORD $0xff83; BYTE $0x08 // cmp edi, 8 - JNE LBB5_199 + JNE LBB5_198 WORD $0x8b4c; BYTE $0x1e // mov r11, qword [rsi] LONG $0x1f578d4d // lea r10, [r15 + 31] WORD $0x854d; BYTE $0xff // test r15, r15 @@ -24686,11 +25837,11 @@ LBB5_27: LONG $0xc1490f41 // cmovns eax, r9d WORD $0xe083; BYTE $0xf8 // and eax, -8 WORD $0x2941; BYTE $0xc1 // sub r9d, eax - JE LBB5_33 + JE LBB5_34 WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d LONG $0x24448b4c; BYTE $0x08 // mov r8, qword [rsp + 8] -LBB5_31: +LBB5_32: WORD $0x3b4d; BYTE $0x1e // cmp r11, qword [r14] LONG $0x08768d4d // lea r14, [r14 + 8] WORD $0x950f; BYTE $0xd2 // setne dl @@ -24711,52 +25862,52 @@ LBB5_31: LONG $0x303c8841 // mov byte [r8 + rsi], dil LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 - JNE LBB5_31 + JNE LBB5_32 LONG $0x24448348; WORD $0x0108 // add qword [rsp + 8], 1 -LBB5_33: +LBB5_34: LONG $0x05fac149 // sar r10, 5 LONG $0x20ff8349 // cmp r15, 32 - JL LBB5_37 + JL LBB5_38 QUAD $0x000000a024bc894c // mov qword [rsp + 160], r15 - QUAD $0x000000e02494894c // mov qword [rsp + 224], r10 + QUAD $0x000000d02494894c // mov qword [rsp + 208], r10 QUAD $0x000000a82494894c // mov qword [rsp + 168], r10 -LBB5_35: +LBB5_36: LONG $0xf89e3b4d; WORD $0x0000; BYTE $0x00 // cmp r11, qword [r14 + 248] LONG $0x2454950f; BYTE $0x10 // setne byte [rsp + 16] LONG $0xf09e3b4d; WORD $0x0000; BYTE $0x00 // cmp r11, qword [r14 + 240] LONG $0x2454950f; BYTE $0x40 // setne byte [rsp + 64] LONG $0xe89e3b4d; WORD $0x0000; BYTE $0x00 // cmp r11, qword [r14 + 232] - LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] - LONG $0xe09e3b4d; WORD $0x0000; BYTE $0x00 // cmp r11, qword [r14 + 224] LONG $0x2454950f; BYTE $0x20 // setne byte [rsp + 32] - LONG $0xd89e3b4d; WORD $0x0000; BYTE $0x00 // cmp r11, qword [r14 + 216] + LONG $0xe09e3b4d; WORD $0x0000; BYTE $0x00 // cmp r11, qword [r14 + 224] LONG $0x2454950f; BYTE $0x18 // setne byte [rsp + 24] + LONG $0xd89e3b4d; WORD $0x0000; BYTE $0x00 // cmp r11, qword [r14 + 216] + LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] LONG $0xd09e3b4d; WORD $0x0000; BYTE $0x00 // cmp r11, qword [r14 + 208] LONG $0x2454950f; BYTE $0x38 // setne byte [rsp + 56] LONG $0xc89e3b4d; WORD $0x0000; BYTE $0x00 // cmp r11, qword [r14 + 200] LONG $0x2454950f; BYTE $0x30 // setne byte [rsp + 48] LONG $0xb89e3b4d; WORD $0x0000; BYTE $0x00 // cmp r11, qword [r14 + 184] - LONG $0x2454950f; BYTE $0x58 // setne byte [rsp + 88] + LONG $0x2454950f; BYTE $0x50 // setne byte [rsp + 80] LONG $0xb09e3b4d; WORD $0x0000; BYTE $0x00 // cmp r11, qword [r14 + 176] - QUAD $0x000000802494950f // setne byte [rsp + 128] + LONG $0x2454950f; BYTE $0x48 // setne byte [rsp + 72] LONG $0xa89e3b4d; WORD $0x0000; BYTE $0x00 // cmp r11, qword [r14 + 168] - LONG $0x2454950f; BYTE $0x50 // setne byte [rsp + 80] + LONG $0x2454950f; BYTE $0x68 // setne byte [rsp + 104] LONG $0xa09e3b4d; WORD $0x0000; BYTE $0x00 // cmp r11, qword [r14 + 160] - LONG $0x2454950f; BYTE $0x48 // setne byte [rsp + 72] + LONG $0x2454950f; BYTE $0x60 // setne byte [rsp + 96] LONG $0x989e3b4d; WORD $0x0000; BYTE $0x00 // cmp r11, qword [r14 + 152] - LONG $0x2454950f; BYTE $0x78 // setne byte [rsp + 120] + LONG $0x2454950f; BYTE $0x58 // setne byte [rsp + 88] LONG $0x909e3b4d; WORD $0x0000; BYTE $0x00 // cmp r11, qword [r14 + 144] - LONG $0x2454950f; BYTE $0x70 // setne byte [rsp + 112] + QUAD $0x000000802494950f // setne byte [rsp + 128] LONG $0x889e3b4d; WORD $0x0000; BYTE $0x00 // cmp r11, qword [r14 + 136] - LONG $0x2454950f; BYTE $0x68 // setne byte [rsp + 104] + LONG $0x2454950f; BYTE $0x78 // setne byte [rsp + 120] LONG $0x785e3b4d // cmp r11, qword [r14 + 120] LONG $0xd0950f41 // setne r8b LONG $0x705e3b4d // cmp r11, qword [r14 + 112] QUAD $0x000000882494950f // setne byte [rsp + 136] LONG $0x685e3b4d // cmp r11, qword [r14 + 104] - QUAD $0x000000902494950f // setne byte [rsp + 144] + QUAD $0x000000982494950f // setne byte [rsp + 152] LONG $0x605e3b4d // cmp r11, qword [r14 + 96] LONG $0xd7950f40 // setne dil LONG $0x585e3b4d // cmp r11, qword [r14 + 88] @@ -24776,24 +25927,24 @@ LBB5_35: LONG $0x185e3b4d // cmp r11, qword [r14 + 24] LONG $0xd7950f41 // setne r15b LONG $0x105e3b4d // cmp r11, qword [r14 + 16] - LONG $0xd5950f41 // setne r13b + LONG $0xd4950f41 // setne r12b WORD $0x3b4d; BYTE $0x1e // cmp r11, qword [r14] - QUAD $0x000000982494950f // setne byte [rsp + 152] + QUAD $0x000000c02494950f // setne byte [rsp + 192] LONG $0x085e3b4d // cmp r11, qword [r14 + 8] - LONG $0xd4950f41 // setne r12b + LONG $0xd5950f41 // setne r13b LONG $0x405e3b4d // cmp r11, qword [r14 + 64] - QUAD $0x000000c02494950f // setne byte [rsp + 192] - LONG $0x809e3b4d; WORD $0x0000; BYTE $0x00 // cmp r11, qword [r14 + 128] QUAD $0x000000b02494950f // setne byte [rsp + 176] + LONG $0x809e3b4d; WORD $0x0000; BYTE $0x00 // cmp r11, qword [r14 + 128] + QUAD $0x000000902494950f // setne byte [rsp + 144] LONG $0xc09e3b4d; WORD $0x0000; BYTE $0x00 // cmp r11, qword [r14 + 192] - LONG $0x2454950f; BYTE $0x60 // setne byte [rsp + 96] - WORD $0x0045; BYTE $0xe4 // add r12b, r12b - QUAD $0x0000009824a40244 // add r12b, byte [rsp + 152] - LONG $0x02e5c041 // shl r13b, 2 - WORD $0x0845; BYTE $0xe5 // or r13b, r12b - LONG $0x24648b4c; BYTE $0x08 // mov r12, qword [rsp + 8] + LONG $0x2454950f; BYTE $0x70 // setne byte [rsp + 112] + WORD $0x0045; BYTE $0xed // add r13b, r13b + QUAD $0x000000c024ac0244 // add r13b, byte [rsp + 192] + LONG $0x02e4c041 // shl r12b, 2 + WORD $0x0845; BYTE $0xec // or r12b, r13b + LONG $0x246c8b4c; BYTE $0x08 // mov r13, qword [rsp + 8] LONG $0x03e7c041 // shl r15b, 3 - WORD $0x0845; BYTE $0xef // or r15b, r13b + WORD $0x0845; BYTE $0xe7 // or r15b, r12b WORD $0xe2c0; BYTE $0x04 // shl dl, 4 WORD $0x0844; BYTE $0xfa // or dl, r15b WORD $0xe1c0; BYTE $0x05 // shl cl, 5 @@ -24802,16 +25953,16 @@ LBB5_35: WORD $0xe0c0; BYTE $0x07 // shl al, 7 WORD $0xd808 // or al, bl WORD $0xc808 // or al, cl - LONG $0x24048841 // mov byte [r12], al + LONG $0x00458841 // mov byte [r13], al WORD $0x0040; BYTE $0xf6 // add sil, sil - QUAD $0x000000c024b40240 // add sil, byte [rsp + 192] + QUAD $0x000000b024b40240 // add sil, byte [rsp + 176] LONG $0x02e1c041 // shl r9b, 2 WORD $0x0841; BYTE $0xf1 // or r9b, sil LONG $0x03e2c041 // shl r10b, 3 WORD $0x0845; BYTE $0xca // or r10b, r9b LONG $0x04e7c040 // shl dil, 4 WORD $0x0844; BYTE $0xd7 // or dil, r10b - QUAD $0x000000902484b60f // movzx eax, byte [rsp + 144] + QUAD $0x000000982484b60f // movzx eax, byte [rsp + 152] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0x0840; BYTE $0xf8 // or al, dil QUAD $0x00000088248cb60f // movzx ecx, byte [rsp + 136] @@ -24819,51 +25970,51 @@ LBB5_35: LONG $0x07e0c041 // shl r8b, 7 WORD $0x0841; BYTE $0xc8 // or r8b, cl WORD $0x0841; BYTE $0xc0 // or r8b, al - LONG $0x24448845; BYTE $0x01 // mov byte [r12 + 1], r8b - LONG $0x2444b60f; BYTE $0x68 // movzx eax, byte [rsp + 104] + LONG $0x01458845 // mov byte [r13 + 1], r8b + LONG $0x2444b60f; BYTE $0x78 // movzx eax, byte [rsp + 120] WORD $0xc000 // add al, al - LONG $0xb0248402; WORD $0x0000; BYTE $0x00 // add al, byte [rsp + 176] + LONG $0x90248402; WORD $0x0000; BYTE $0x00 // add al, byte [rsp + 144] WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x70 // movzx eax, byte [rsp + 112] + QUAD $0x000000802484b60f // movzx eax, byte [rsp + 128] WORD $0xe0c0; BYTE $0x02 // shl al, 2 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x78 // movzx eax, byte [rsp + 120] + LONG $0x2444b60f; BYTE $0x58 // movzx eax, byte [rsp + 88] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x48 // movzx eax, byte [rsp + 72] + LONG $0x2444b60f; BYTE $0x60 // movzx eax, byte [rsp + 96] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x50 // movzx eax, byte [rsp + 80] + LONG $0x2444b60f; BYTE $0x68 // movzx eax, byte [rsp + 104] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - QUAD $0x000000802494b60f // movzx edx, byte [rsp + 128] + LONG $0x2454b60f; BYTE $0x48 // movzx edx, byte [rsp + 72] WORD $0xe2c0; BYTE $0x06 // shl dl, 6 - LONG $0x2444b60f; BYTE $0x58 // movzx eax, byte [rsp + 88] + LONG $0x2444b60f; BYTE $0x50 // movzx eax, byte [rsp + 80] WORD $0xe0c0; BYTE $0x07 // shl al, 7 WORD $0xd008 // or al, dl WORD $0xc808 // or al, cl - LONG $0x24448841; BYTE $0x02 // mov byte [r12 + 2], al + LONG $0x02458841 // mov byte [r13 + 2], al LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] WORD $0xc000 // add al, al - LONG $0x60244402 // add al, byte [rsp + 96] + LONG $0x70244402 // add al, byte [rsp + 112] WORD $0xc189 // mov ecx, eax LONG $0x2444b60f; BYTE $0x38 // movzx eax, byte [rsp + 56] WORD $0xe0c0; BYTE $0x02 // shl al, 2 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x18 // movzx eax, byte [rsp + 24] + LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] + LONG $0x2444b60f; BYTE $0x18 // movzx eax, byte [rsp + 24] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] + LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax @@ -24873,30 +26024,30 @@ LBB5_35: WORD $0xe0c0; BYTE $0x07 // shl al, 7 WORD $0xd008 // or al, dl WORD $0xc808 // or al, cl - LONG $0x24448841; BYTE $0x03 // mov byte [r12 + 3], al + LONG $0x03458841 // mov byte [r13 + 3], al LONG $0x00c68149; WORD $0x0001; BYTE $0x00 // add r14, 256 - LONG $0x04c48349 // add r12, 4 - LONG $0x2464894c; BYTE $0x08 // mov qword [rsp + 8], r12 + LONG $0x04c58349 // add r13, 4 + LONG $0x246c894c; BYTE $0x08 // mov qword [rsp + 8], r13 QUAD $0x000000a824848348; BYTE $0xff // add qword [rsp + 168], -1 - JNE LBB5_35 + JNE LBB5_36 QUAD $0x000000a024bc8b4c // mov r15, qword [rsp + 160] - QUAD $0x000000e024948b4c // mov r10, qword [rsp + 224] + QUAD $0x000000d024948b4c // mov r10, qword [rsp + 208] -LBB5_37: +LBB5_38: LONG $0x05e2c149 // shl r10, 5 WORD $0x394d; BYTE $0xfa // cmp r10, r15 - JGE LBB5_199 + JGE LBB5_198 WORD $0x894d; BYTE $0xf8 // mov r8, r15 WORD $0x294d; BYTE $0xd0 // sub r8, r10 WORD $0xf749; BYTE $0xd2 // not r10 WORD $0x014d; BYTE $0xfa // add r10, r15 - JE LBB5_39 + JE LBB5_40 WORD $0x894d; BYTE $0xc1 // mov r9, r8 LONG $0xfee18349 // and r9, -2 WORD $0xff31 // xor edi, edi LONG $0x247c8b4c; BYTE $0x08 // mov r15, qword [rsp + 8] -LBB5_157: +LBB5_158: WORD $0x3b4d; BYTE $0x1e // cmp r11, qword [r14] WORD $0x950f; BYTE $0xd0 // setne al WORD $0xd8f6 // neg al @@ -24924,12 +26075,12 @@ LBB5_157: WORD $0xd330 // xor bl, dl LONG $0x371c8841 // mov byte [r15 + rsi], bl WORD $0x3949; BYTE $0xf9 // cmp r9, rdi - JNE LBB5_157 - JMP LBB5_40 + JNE LBB5_158 + JMP LBB5_41 -LBB5_56: +LBB5_57: WORD $0x068a // mov al, byte [rsi] - LONG $0x28244488 // mov byte [rsp + 40], al + LONG $0x40244488 // mov byte [rsp + 64], al LONG $0x1f578d4d // lea r10, [r15 + 31] WORD $0x854d; BYTE $0xff // test r15, r15 LONG $0xd7490f4d // cmovns r10, r15 @@ -24938,12 +26089,12 @@ LBB5_56: LONG $0xc1490f41 // cmovns eax, r9d WORD $0xe083; BYTE $0xf8 // and eax, -8 WORD $0x2941; BYTE $0xc1 // sub r9d, eax - JE LBB5_60 + JE LBB5_61 WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d LONG $0x24548b48; BYTE $0x08 // mov rdx, qword [rsp + 8] -LBB5_58: - LONG $0x244cb60f; BYTE $0x28 // movzx ecx, byte [rsp + 40] +LBB5_59: + LONG $0x244cb60f; BYTE $0x40 // movzx ecx, byte [rsp + 64] WORD $0x3a41; BYTE $0x0e // cmp cl, byte [r14] LONG $0x01768d4d // lea r14, [r14 + 1] WORD $0x950f; BYTE $0xd3 // setne bl @@ -24964,71 +26115,71 @@ LBB5_58: LONG $0x323c8840 // mov byte [rdx + rsi], dil LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 - JNE LBB5_58 + JNE LBB5_59 LONG $0x24448348; WORD $0x0108 // add qword [rsp + 8], 1 -LBB5_60: +LBB5_61: LONG $0x05fac149 // sar r10, 5 LONG $0x20ff8349 // cmp r15, 32 - JL LBB5_61 + JL LBB5_62 LONG $0x10fa8349 // cmp r10, 16 QUAD $0x000000a024bc894c // mov qword [rsp + 160], r15 - QUAD $0x000000f82494894c // mov qword [rsp + 248], r10 - JB LBB5_63 + QUAD $0x000001082494894c // mov qword [rsp + 264], r10 + JB LBB5_64 WORD $0x894c; BYTE $0xd0 // mov rax, r10 LONG $0x05e0c148 // shl rax, 5 WORD $0x014c; BYTE $0xf0 // add rax, r14 LONG $0x24443948; BYTE $0x08 // cmp qword [rsp + 8], rax - JAE LBB5_66 + JAE LBB5_67 LONG $0x24448b48; BYTE $0x08 // mov rax, qword [rsp + 8] LONG $0x90048d4a // lea rax, [rax + 4*r10] WORD $0x3949; BYTE $0xc6 // cmp r14, rax - JAE LBB5_66 + JAE LBB5_67 -LBB5_63: +LBB5_64: WORD $0xc031 // xor eax, eax - QUAD $0x000000d824848948 // mov qword [rsp + 216], rax + QUAD $0x000000e824848948 // mov qword [rsp + 232], rax LONG $0x24448b48; BYTE $0x08 // mov rax, qword [rsp + 8] - LONG $0x24448948; BYTE $0x58 // mov qword [rsp + 88], rax - -LBB5_69: - QUAD $0x000000d824942b4c // sub r10, qword [rsp + 216] - QUAD $0x000000e02494894c // mov qword [rsp + 224], r10 + LONG $0x24448948; BYTE $0x68 // mov qword [rsp + 104], rax LBB5_70: - LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] + QUAD $0x000000e824942b4c // sub r10, qword [rsp + 232] + QUAD $0x000000d02494894c // mov qword [rsp + 208], r10 + +LBB5_71: + LONG $0x2444b60f; BYTE $0x40 // movzx eax, byte [rsp + 64] LONG $0x1f463a41 // cmp al, byte [r14 + 31] LONG $0x2454950f; BYTE $0x08 // setne byte [rsp + 8] LONG $0x1e463a41 // cmp al, byte [r14 + 30] LONG $0x2454950f; BYTE $0x10 // setne byte [rsp + 16] LONG $0x1d463a41 // cmp al, byte [r14 + 29] - LONG $0x2454950f; BYTE $0x40 // setne byte [rsp + 64] - LONG $0x1c463a41 // cmp al, byte [r14 + 28] LONG $0x2454950f; BYTE $0x20 // setne byte [rsp + 32] - LONG $0x1b463a41 // cmp al, byte [r14 + 27] + LONG $0x1c463a41 // cmp al, byte [r14 + 28] LONG $0x2454950f; BYTE $0x18 // setne byte [rsp + 24] + LONG $0x1b463a41 // cmp al, byte [r14 + 27] + LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] LONG $0x1a463a41 // cmp al, byte [r14 + 26] LONG $0x2454950f; BYTE $0x38 // setne byte [rsp + 56] LONG $0x19463a41 // cmp al, byte [r14 + 25] LONG $0x2454950f; BYTE $0x30 // setne byte [rsp + 48] LONG $0x17463a41 // cmp al, byte [r14 + 23] - QUAD $0x000000802494950f // setne byte [rsp + 128] - LONG $0x16463a41 // cmp al, byte [r14 + 22] LONG $0x2454950f; BYTE $0x50 // setne byte [rsp + 80] - LONG $0x15463a41 // cmp al, byte [r14 + 21] + LONG $0x16463a41 // cmp al, byte [r14 + 22] LONG $0x2454950f; BYTE $0x48 // setne byte [rsp + 72] + LONG $0x15463a41 // cmp al, byte [r14 + 21] + LONG $0x2454950f; BYTE $0x60 // setne byte [rsp + 96] LONG $0x14463a41 // cmp al, byte [r14 + 20] - LONG $0x2454950f; BYTE $0x78 // setne byte [rsp + 120] + LONG $0x2454950f; BYTE $0x58 // setne byte [rsp + 88] LONG $0x13463a41 // cmp al, byte [r14 + 19] - LONG $0x2454950f; BYTE $0x70 // setne byte [rsp + 112] + QUAD $0x000000802494950f // setne byte [rsp + 128] LONG $0x12463a41 // cmp al, byte [r14 + 18] - LONG $0x2454950f; BYTE $0x68 // setne byte [rsp + 104] + LONG $0x2454950f; BYTE $0x78 // setne byte [rsp + 120] LONG $0x11463a41 // cmp al, byte [r14 + 17] - LONG $0x2454950f; BYTE $0x60 // setne byte [rsp + 96] + LONG $0x2454950f; BYTE $0x70 // setne byte [rsp + 112] LONG $0x0f463a41 // cmp al, byte [r14 + 15] LONG $0xd2950f41 // setne r10b LONG $0x0e463a41 // cmp al, byte [r14 + 14] - QUAD $0x000000902494950f // setne byte [rsp + 144] + QUAD $0x000000982494950f // setne byte [rsp + 152] LONG $0x0d463a41 // cmp al, byte [r14 + 13] LONG $0xd5950f41 // setne r13b LONG $0x0c463a41 // cmp al, byte [r14 + 12] @@ -25042,7 +26193,7 @@ LBB5_70: LONG $0x07463a41 // cmp al, byte [r14 + 7] LONG $0xd6950f40 // setne sil LONG $0x06463a41 // cmp al, byte [r14 + 6] - QUAD $0x000000c02494950f // setne byte [rsp + 192] + QUAD $0x000000b02494950f // setne byte [rsp + 176] LONG $0x05463a41 // cmp al, byte [r14 + 5] LONG $0xd1950f41 // setne r9b LONG $0x04463a41 // cmp al, byte [r14 + 4] @@ -25056,9 +26207,9 @@ LBB5_70: LONG $0x01463a41 // cmp al, byte [r14 + 1] WORD $0x950f; BYTE $0xd1 // setne cl LONG $0x08463a41 // cmp al, byte [r14 + 8] - QUAD $0x000000982494950f // setne byte [rsp + 152] + QUAD $0x000000c02494950f // setne byte [rsp + 192] LONG $0x10463a41 // cmp al, byte [r14 + 16] - QUAD $0x000000b02494950f // setne byte [rsp + 176] + QUAD $0x000000902494950f // setne byte [rsp + 144] LONG $0x18463a41 // cmp al, byte [r14 + 24] QUAD $0x000000882494950f // setne byte [rsp + 136] WORD $0xc900 // add cl, cl @@ -25071,15 +26222,15 @@ LBB5_70: WORD $0x0841; BYTE $0xf8 // or r8b, dil LONG $0x05e1c041 // shl r9b, 5 WORD $0x0845; BYTE $0xc1 // or r9b, r8b - QUAD $0x000000c02484b60f // movzx eax, byte [rsp + 192] + QUAD $0x000000b02484b60f // movzx eax, byte [rsp + 176] WORD $0xe0c0; BYTE $0x06 // shl al, 6 LONG $0x07e6c040 // shl sil, 7 WORD $0x0840; BYTE $0xc6 // or sil, al WORD $0x0844; BYTE $0xce // or sil, r9b - LONG $0x24448b48; BYTE $0x58 // mov rax, qword [rsp + 88] + LONG $0x24448b48; BYTE $0x68 // mov rax, qword [rsp + 104] WORD $0x8840; BYTE $0x30 // mov byte [rax], sil WORD $0x0045; BYTE $0xdb // add r11b, r11b - QUAD $0x00000098249c0244 // add r11b, byte [rsp + 152] + QUAD $0x000000c0249c0244 // add r11b, byte [rsp + 192] WORD $0xe3c0; BYTE $0x02 // shl bl, 2 WORD $0x0844; BYTE $0xdb // or bl, r11b LONG $0x03e7c041 // shl r15b, 3 @@ -25088,35 +26239,35 @@ LBB5_70: WORD $0x0845; BYTE $0xfc // or r12b, r15b LONG $0x05e5c041 // shl r13b, 5 WORD $0x0845; BYTE $0xe5 // or r13b, r12b - QUAD $0x00000090248cb60f // movzx ecx, byte [rsp + 144] + QUAD $0x00000098248cb60f // movzx ecx, byte [rsp + 152] WORD $0xe1c0; BYTE $0x06 // shl cl, 6 LONG $0x07e2c041 // shl r10b, 7 WORD $0x0841; BYTE $0xca // or r10b, cl WORD $0x0845; BYTE $0xea // or r10b, r13b LONG $0x01508844 // mov byte [rax + 1], r10b - LONG $0x244cb60f; BYTE $0x60 // movzx ecx, byte [rsp + 96] + LONG $0x244cb60f; BYTE $0x70 // movzx ecx, byte [rsp + 112] WORD $0xc900 // add cl, cl - LONG $0xb0248c02; WORD $0x0000; BYTE $0x00 // add cl, byte [rsp + 176] + LONG $0x90248c02; WORD $0x0000; BYTE $0x00 // add cl, byte [rsp + 144] WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x68 // movzx ecx, byte [rsp + 104] + LONG $0x244cb60f; BYTE $0x78 // movzx ecx, byte [rsp + 120] WORD $0xe1c0; BYTE $0x02 // shl cl, 2 WORD $0xd108 // or cl, dl WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x70 // movzx ecx, byte [rsp + 112] + QUAD $0x00000080248cb60f // movzx ecx, byte [rsp + 128] WORD $0xe1c0; BYTE $0x03 // shl cl, 3 WORD $0xd108 // or cl, dl WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x78 // movzx ecx, byte [rsp + 120] + LONG $0x244cb60f; BYTE $0x58 // movzx ecx, byte [rsp + 88] WORD $0xe1c0; BYTE $0x04 // shl cl, 4 WORD $0xd108 // or cl, dl WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x48 // movzx ecx, byte [rsp + 72] + LONG $0x244cb60f; BYTE $0x60 // movzx ecx, byte [rsp + 96] WORD $0xe1c0; BYTE $0x05 // shl cl, 5 WORD $0xd108 // or cl, dl WORD $0xca89 // mov edx, ecx - LONG $0x245cb60f; BYTE $0x50 // movzx ebx, byte [rsp + 80] + LONG $0x245cb60f; BYTE $0x48 // movzx ebx, byte [rsp + 72] WORD $0xe3c0; BYTE $0x06 // shl bl, 6 - QUAD $0x00000080248cb60f // movzx ecx, byte [rsp + 128] + LONG $0x244cb60f; BYTE $0x50 // movzx ecx, byte [rsp + 80] WORD $0xe1c0; BYTE $0x07 // shl cl, 7 WORD $0xd908 // or cl, bl WORD $0xd108 // or cl, dl @@ -25129,15 +26280,15 @@ LBB5_70: WORD $0xe1c0; BYTE $0x02 // shl cl, 2 WORD $0xd108 // or cl, dl WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x18 // movzx ecx, byte [rsp + 24] + LONG $0x244cb60f; BYTE $0x28 // movzx ecx, byte [rsp + 40] WORD $0xe1c0; BYTE $0x03 // shl cl, 3 WORD $0xd108 // or cl, dl WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x20 // movzx ecx, byte [rsp + 32] + LONG $0x244cb60f; BYTE $0x18 // movzx ecx, byte [rsp + 24] WORD $0xe1c0; BYTE $0x04 // shl cl, 4 WORD $0xd108 // or cl, dl WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x40 // movzx ecx, byte [rsp + 64] + LONG $0x244cb60f; BYTE $0x20 // movzx ecx, byte [rsp + 32] WORD $0xe1c0; BYTE $0x05 // shl cl, 5 WORD $0xd108 // or cl, dl WORD $0xca89 // mov edx, ecx @@ -25150,14 +26301,14 @@ LBB5_70: WORD $0x4888; BYTE $0x03 // mov byte [rax + 3], cl LONG $0x20c68349 // add r14, 32 LONG $0x04c08348 // add rax, 4 - LONG $0x24448948; BYTE $0x58 // mov qword [rsp + 88], rax - QUAD $0x000000e024848348; BYTE $0xff // add qword [rsp + 224], -1 - JNE LBB5_70 + LONG $0x24448948; BYTE $0x68 // mov qword [rsp + 104], rax + QUAD $0x000000d024848348; BYTE $0xff // add qword [rsp + 208], -1 + JNE LBB5_71 QUAD $0x000000a024bc8b4c // mov r15, qword [rsp + 160] - QUAD $0x000000f824948b4c // mov r10, qword [rsp + 248] - JMP LBB5_72 + QUAD $0x0000010824948b4c // mov r10, qword [rsp + 264] + JMP LBB5_73 -LBB5_144: +LBB5_145: WORD $0x8b44; BYTE $0x1e // mov r11d, dword [rsi] LONG $0x1f578d4d // lea r10, [r15 + 31] WORD $0x854d; BYTE $0xff // test r15, r15 @@ -25167,11 +26318,11 @@ LBB5_144: LONG $0xc1490f41 // cmovns eax, r9d WORD $0xe083; BYTE $0xf8 // and eax, -8 WORD $0x2941; BYTE $0xc1 // sub r9d, eax - JE LBB5_148 + JE LBB5_149 WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d LONG $0x24448b4c; BYTE $0x08 // mov r8, qword [rsp + 8] -LBB5_146: +LBB5_147: WORD $0x3b45; BYTE $0x1e // cmp r11d, dword [r14] LONG $0x04768d4d // lea r14, [r14 + 4] WORD $0x950f; BYTE $0xd2 // setne dl @@ -25192,52 +26343,52 @@ LBB5_146: LONG $0x303c8841 // mov byte [r8 + rsi], dil LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 - JNE LBB5_146 + JNE LBB5_147 LONG $0x24448348; WORD $0x0108 // add qword [rsp + 8], 1 -LBB5_148: +LBB5_149: LONG $0x05fac149 // sar r10, 5 LONG $0x20ff8349 // cmp r15, 32 - JL LBB5_152 + JL LBB5_153 QUAD $0x000000a024bc894c // mov qword [rsp + 160], r15 - QUAD $0x000000e02494894c // mov qword [rsp + 224], r10 + QUAD $0x000000d02494894c // mov qword [rsp + 208], r10 QUAD $0x000000a82494894c // mov qword [rsp + 168], r10 -LBB5_150: +LBB5_151: LONG $0x7c5e3b45 // cmp r11d, dword [r14 + 124] LONG $0x2454950f; BYTE $0x10 // setne byte [rsp + 16] LONG $0x785e3b45 // cmp r11d, dword [r14 + 120] LONG $0x2454950f; BYTE $0x40 // setne byte [rsp + 64] LONG $0x745e3b45 // cmp r11d, dword [r14 + 116] - LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] - LONG $0x705e3b45 // cmp r11d, dword [r14 + 112] LONG $0x2454950f; BYTE $0x20 // setne byte [rsp + 32] - LONG $0x6c5e3b45 // cmp r11d, dword [r14 + 108] + LONG $0x705e3b45 // cmp r11d, dword [r14 + 112] LONG $0x2454950f; BYTE $0x18 // setne byte [rsp + 24] + LONG $0x6c5e3b45 // cmp r11d, dword [r14 + 108] + LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] LONG $0x685e3b45 // cmp r11d, dword [r14 + 104] LONG $0x2454950f; BYTE $0x38 // setne byte [rsp + 56] LONG $0x645e3b45 // cmp r11d, dword [r14 + 100] LONG $0x2454950f; BYTE $0x30 // setne byte [rsp + 48] LONG $0x5c5e3b45 // cmp r11d, dword [r14 + 92] - LONG $0x2454950f; BYTE $0x58 // setne byte [rsp + 88] + LONG $0x2454950f; BYTE $0x50 // setne byte [rsp + 80] LONG $0x585e3b45 // cmp r11d, dword [r14 + 88] - QUAD $0x000000802494950f // setne byte [rsp + 128] + LONG $0x2454950f; BYTE $0x48 // setne byte [rsp + 72] LONG $0x545e3b45 // cmp r11d, dword [r14 + 84] - LONG $0x2454950f; BYTE $0x50 // setne byte [rsp + 80] + LONG $0x2454950f; BYTE $0x68 // setne byte [rsp + 104] LONG $0x505e3b45 // cmp r11d, dword [r14 + 80] - LONG $0x2454950f; BYTE $0x48 // setne byte [rsp + 72] + LONG $0x2454950f; BYTE $0x60 // setne byte [rsp + 96] LONG $0x4c5e3b45 // cmp r11d, dword [r14 + 76] - LONG $0x2454950f; BYTE $0x78 // setne byte [rsp + 120] + LONG $0x2454950f; BYTE $0x58 // setne byte [rsp + 88] LONG $0x485e3b45 // cmp r11d, dword [r14 + 72] - LONG $0x2454950f; BYTE $0x70 // setne byte [rsp + 112] + QUAD $0x000000802494950f // setne byte [rsp + 128] LONG $0x445e3b45 // cmp r11d, dword [r14 + 68] - LONG $0x2454950f; BYTE $0x68 // setne byte [rsp + 104] + LONG $0x2454950f; BYTE $0x78 // setne byte [rsp + 120] LONG $0x3c5e3b45 // cmp r11d, dword [r14 + 60] LONG $0xd0950f41 // setne r8b LONG $0x385e3b45 // cmp r11d, dword [r14 + 56] QUAD $0x000000882494950f // setne byte [rsp + 136] LONG $0x345e3b45 // cmp r11d, dword [r14 + 52] - QUAD $0x000000902494950f // setne byte [rsp + 144] + QUAD $0x000000982494950f // setne byte [rsp + 152] LONG $0x305e3b45 // cmp r11d, dword [r14 + 48] LONG $0xd7950f40 // setne dil LONG $0x2c5e3b45 // cmp r11d, dword [r14 + 44] @@ -25257,24 +26408,24 @@ LBB5_150: LONG $0x0c5e3b45 // cmp r11d, dword [r14 + 12] LONG $0xd7950f41 // setne r15b LONG $0x085e3b45 // cmp r11d, dword [r14 + 8] - LONG $0xd5950f41 // setne r13b + LONG $0xd4950f41 // setne r12b WORD $0x3b45; BYTE $0x1e // cmp r11d, dword [r14] - QUAD $0x000000982494950f // setne byte [rsp + 152] + QUAD $0x000000c02494950f // setne byte [rsp + 192] LONG $0x045e3b45 // cmp r11d, dword [r14 + 4] - LONG $0xd4950f41 // setne r12b + LONG $0xd5950f41 // setne r13b LONG $0x205e3b45 // cmp r11d, dword [r14 + 32] - QUAD $0x000000c02494950f // setne byte [rsp + 192] - LONG $0x405e3b45 // cmp r11d, dword [r14 + 64] QUAD $0x000000b02494950f // setne byte [rsp + 176] + LONG $0x405e3b45 // cmp r11d, dword [r14 + 64] + QUAD $0x000000902494950f // setne byte [rsp + 144] LONG $0x605e3b45 // cmp r11d, dword [r14 + 96] - LONG $0x2454950f; BYTE $0x60 // setne byte [rsp + 96] - WORD $0x0045; BYTE $0xe4 // add r12b, r12b - QUAD $0x0000009824a40244 // add r12b, byte [rsp + 152] - LONG $0x02e5c041 // shl r13b, 2 - WORD $0x0845; BYTE $0xe5 // or r13b, r12b - LONG $0x24648b4c; BYTE $0x08 // mov r12, qword [rsp + 8] + LONG $0x2454950f; BYTE $0x70 // setne byte [rsp + 112] + WORD $0x0045; BYTE $0xed // add r13b, r13b + QUAD $0x000000c024ac0244 // add r13b, byte [rsp + 192] + LONG $0x02e4c041 // shl r12b, 2 + WORD $0x0845; BYTE $0xec // or r12b, r13b + LONG $0x246c8b4c; BYTE $0x08 // mov r13, qword [rsp + 8] LONG $0x03e7c041 // shl r15b, 3 - WORD $0x0845; BYTE $0xef // or r15b, r13b + WORD $0x0845; BYTE $0xe7 // or r15b, r12b WORD $0xe2c0; BYTE $0x04 // shl dl, 4 WORD $0x0844; BYTE $0xfa // or dl, r15b WORD $0xe1c0; BYTE $0x05 // shl cl, 5 @@ -25283,16 +26434,16 @@ LBB5_150: WORD $0xe0c0; BYTE $0x07 // shl al, 7 WORD $0xd808 // or al, bl WORD $0xc808 // or al, cl - LONG $0x24048841 // mov byte [r12], al + LONG $0x00458841 // mov byte [r13], al WORD $0x0040; BYTE $0xf6 // add sil, sil - QUAD $0x000000c024b40240 // add sil, byte [rsp + 192] + QUAD $0x000000b024b40240 // add sil, byte [rsp + 176] LONG $0x02e1c041 // shl r9b, 2 WORD $0x0841; BYTE $0xf1 // or r9b, sil LONG $0x03e2c041 // shl r10b, 3 WORD $0x0845; BYTE $0xca // or r10b, r9b LONG $0x04e7c040 // shl dil, 4 WORD $0x0844; BYTE $0xd7 // or dil, r10b - QUAD $0x000000902484b60f // movzx eax, byte [rsp + 144] + QUAD $0x000000982484b60f // movzx eax, byte [rsp + 152] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0x0840; BYTE $0xf8 // or al, dil QUAD $0x00000088248cb60f // movzx ecx, byte [rsp + 136] @@ -25300,51 +26451,51 @@ LBB5_150: LONG $0x07e0c041 // shl r8b, 7 WORD $0x0841; BYTE $0xc8 // or r8b, cl WORD $0x0841; BYTE $0xc0 // or r8b, al - LONG $0x24448845; BYTE $0x01 // mov byte [r12 + 1], r8b - LONG $0x2444b60f; BYTE $0x68 // movzx eax, byte [rsp + 104] + LONG $0x01458845 // mov byte [r13 + 1], r8b + LONG $0x2444b60f; BYTE $0x78 // movzx eax, byte [rsp + 120] WORD $0xc000 // add al, al - LONG $0xb0248402; WORD $0x0000; BYTE $0x00 // add al, byte [rsp + 176] + LONG $0x90248402; WORD $0x0000; BYTE $0x00 // add al, byte [rsp + 144] WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x70 // movzx eax, byte [rsp + 112] + QUAD $0x000000802484b60f // movzx eax, byte [rsp + 128] WORD $0xe0c0; BYTE $0x02 // shl al, 2 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x78 // movzx eax, byte [rsp + 120] + LONG $0x2444b60f; BYTE $0x58 // movzx eax, byte [rsp + 88] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x48 // movzx eax, byte [rsp + 72] + LONG $0x2444b60f; BYTE $0x60 // movzx eax, byte [rsp + 96] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x50 // movzx eax, byte [rsp + 80] + LONG $0x2444b60f; BYTE $0x68 // movzx eax, byte [rsp + 104] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - QUAD $0x000000802494b60f // movzx edx, byte [rsp + 128] + LONG $0x2454b60f; BYTE $0x48 // movzx edx, byte [rsp + 72] WORD $0xe2c0; BYTE $0x06 // shl dl, 6 - LONG $0x2444b60f; BYTE $0x58 // movzx eax, byte [rsp + 88] + LONG $0x2444b60f; BYTE $0x50 // movzx eax, byte [rsp + 80] WORD $0xe0c0; BYTE $0x07 // shl al, 7 WORD $0xd008 // or al, dl WORD $0xc808 // or al, cl - LONG $0x24448841; BYTE $0x02 // mov byte [r12 + 2], al + LONG $0x02458841 // mov byte [r13 + 2], al LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] WORD $0xc000 // add al, al - LONG $0x60244402 // add al, byte [rsp + 96] + LONG $0x70244402 // add al, byte [rsp + 112] WORD $0xc189 // mov ecx, eax LONG $0x2444b60f; BYTE $0x38 // movzx eax, byte [rsp + 56] WORD $0xe0c0; BYTE $0x02 // shl al, 2 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x18 // movzx eax, byte [rsp + 24] + LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] + LONG $0x2444b60f; BYTE $0x18 // movzx eax, byte [rsp + 24] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] + LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax @@ -25354,30 +26505,30 @@ LBB5_150: WORD $0xe0c0; BYTE $0x07 // shl al, 7 WORD $0xd008 // or al, dl WORD $0xc808 // or al, cl - LONG $0x24448841; BYTE $0x03 // mov byte [r12 + 3], al + LONG $0x03458841 // mov byte [r13 + 3], al LONG $0x80ee8349 // sub r14, -128 - LONG $0x04c48349 // add r12, 4 - LONG $0x2464894c; BYTE $0x08 // mov qword [rsp + 8], r12 + LONG $0x04c58349 // add r13, 4 + LONG $0x246c894c; BYTE $0x08 // mov qword [rsp + 8], r13 QUAD $0x000000a824848348; BYTE $0xff // add qword [rsp + 168], -1 - JNE LBB5_150 + JNE LBB5_151 QUAD $0x000000a024bc8b4c // mov r15, qword [rsp + 160] - QUAD $0x000000e024948b4c // mov r10, qword [rsp + 224] + QUAD $0x000000d024948b4c // mov r10, qword [rsp + 208] -LBB5_152: +LBB5_153: LONG $0x05e2c149 // shl r10, 5 WORD $0x394d; BYTE $0xfa // cmp r10, r15 - JGE LBB5_199 + JGE LBB5_198 WORD $0x894d; BYTE $0xf8 // mov r8, r15 WORD $0x294d; BYTE $0xd0 // sub r8, r10 WORD $0xf749; BYTE $0xd2 // not r10 WORD $0x014d; BYTE $0xfa // add r10, r15 - JNE LBB5_154 + JNE LBB5_155 LBB5_23: WORD $0xff31 // xor edi, edi JMP LBB5_24 -LBB5_99: +LBB5_100: LONG $0x1eb70f44 // movzx r11d, word [rsi] LONG $0x1f578d4d // lea r10, [r15 + 31] WORD $0x854d; BYTE $0xff // test r15, r15 @@ -25387,11 +26538,11 @@ LBB5_99: LONG $0xc1490f41 // cmovns eax, r9d WORD $0xe083; BYTE $0xf8 // and eax, -8 WORD $0x2941; BYTE $0xc1 // sub r9d, eax - JE LBB5_103 + JE LBB5_104 WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d LONG $0x24548b48; BYTE $0x08 // mov rdx, qword [rsp + 8] -LBB5_101: +LBB5_102: LONG $0x1e3b4566 // cmp r11w, word [r14] LONG $0x02768d4d // lea r14, [r14 + 2] WORD $0x950f; BYTE $0xd3 // setne bl @@ -25412,72 +26563,72 @@ LBB5_101: LONG $0x323c8840 // mov byte [rdx + rsi], dil LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 - JNE LBB5_101 + JNE LBB5_102 LONG $0x24448348; WORD $0x0108 // add qword [rsp + 8], 1 -LBB5_103: +LBB5_104: LONG $0x05fac149 // sar r10, 5 LONG $0x20ff8349 // cmp r15, 32 - JL LBB5_104 + JL LBB5_105 LONG $0x08fa8349 // cmp r10, 8 LONG $0x245c8944; BYTE $0x10 // mov dword [rsp + 16], r11d QUAD $0x000000a024bc894c // mov qword [rsp + 160], r15 - QUAD $0x000000e02494894c // mov qword [rsp + 224], r10 - JB LBB5_106 + QUAD $0x000000d02494894c // mov qword [rsp + 208], r10 + JB LBB5_107 WORD $0x894c; BYTE $0xd0 // mov rax, r10 LONG $0x06e0c148 // shl rax, 6 WORD $0x014c; BYTE $0xf0 // add rax, r14 LONG $0x24443948; BYTE $0x08 // cmp qword [rsp + 8], rax - JAE LBB5_109 + JAE LBB5_110 LONG $0x24448b48; BYTE $0x08 // mov rax, qword [rsp + 8] LONG $0x90048d4a // lea rax, [rax + 4*r10] WORD $0x394c; BYTE $0xf0 // cmp rax, r14 - JBE LBB5_109 + JBE LBB5_110 -LBB5_106: +LBB5_107: WORD $0xc031 // xor eax, eax - LONG $0x24448948; BYTE $0x18 // mov qword [rsp + 24], rax + LONG $0x24448948; BYTE $0x28 // mov qword [rsp + 40], rax LONG $0x24648b4c; BYTE $0x08 // mov r12, qword [rsp + 8] -LBB5_112: - LONG $0x24542b4c; BYTE $0x18 // sub r10, qword [rsp + 24] +LBB5_113: + LONG $0x24542b4c; BYTE $0x28 // sub r10, qword [rsp + 40] QUAD $0x000000a82494894c // mov qword [rsp + 168], r10 -LBB5_113: +LBB5_114: LONG $0x5e3b4566; BYTE $0x3e // cmp r11w, word [r14 + 62] LONG $0x2454950f; BYTE $0x08 // setne byte [rsp + 8] LONG $0x5e3b4566; BYTE $0x3c // cmp r11w, word [r14 + 60] LONG $0x2454950f; BYTE $0x40 // setne byte [rsp + 64] LONG $0x5e3b4566; BYTE $0x3a // cmp r11w, word [r14 + 58] - LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] - LONG $0x5e3b4566; BYTE $0x38 // cmp r11w, word [r14 + 56] LONG $0x2454950f; BYTE $0x20 // setne byte [rsp + 32] - LONG $0x5e3b4566; BYTE $0x36 // cmp r11w, word [r14 + 54] + LONG $0x5e3b4566; BYTE $0x38 // cmp r11w, word [r14 + 56] LONG $0x2454950f; BYTE $0x18 // setne byte [rsp + 24] + LONG $0x5e3b4566; BYTE $0x36 // cmp r11w, word [r14 + 54] + LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] LONG $0x5e3b4566; BYTE $0x34 // cmp r11w, word [r14 + 52] LONG $0x2454950f; BYTE $0x38 // setne byte [rsp + 56] LONG $0x5e3b4566; BYTE $0x32 // cmp r11w, word [r14 + 50] LONG $0x2454950f; BYTE $0x30 // setne byte [rsp + 48] LONG $0x5e3b4566; BYTE $0x2e // cmp r11w, word [r14 + 46] - LONG $0x2454950f; BYTE $0x58 // setne byte [rsp + 88] - LONG $0x5e3b4566; BYTE $0x2c // cmp r11w, word [r14 + 44] LONG $0x2454950f; BYTE $0x50 // setne byte [rsp + 80] + LONG $0x5e3b4566; BYTE $0x2c // cmp r11w, word [r14 + 44] + LONG $0x2454950f; BYTE $0x68 // setne byte [rsp + 104] LONG $0x5e3b4566; BYTE $0x2a // cmp r11w, word [r14 + 42] - QUAD $0x000000802494950f // setne byte [rsp + 128] - LONG $0x5e3b4566; BYTE $0x28 // cmp r11w, word [r14 + 40] LONG $0x2454950f; BYTE $0x48 // setne byte [rsp + 72] + LONG $0x5e3b4566; BYTE $0x28 // cmp r11w, word [r14 + 40] + LONG $0x2454950f; BYTE $0x60 // setne byte [rsp + 96] LONG $0x5e3b4566; BYTE $0x26 // cmp r11w, word [r14 + 38] - LONG $0x2454950f; BYTE $0x78 // setne byte [rsp + 120] + LONG $0x2454950f; BYTE $0x58 // setne byte [rsp + 88] LONG $0x5e3b4566; BYTE $0x24 // cmp r11w, word [r14 + 36] - LONG $0x2454950f; BYTE $0x70 // setne byte [rsp + 112] + QUAD $0x000000802494950f // setne byte [rsp + 128] LONG $0x5e3b4566; BYTE $0x22 // cmp r11w, word [r14 + 34] - LONG $0x2454950f; BYTE $0x68 // setne byte [rsp + 104] + LONG $0x2454950f; BYTE $0x78 // setne byte [rsp + 120] LONG $0x5e3b4566; BYTE $0x1e // cmp r11w, word [r14 + 30] LONG $0xd1950f41 // setne r9b LONG $0x5e3b4566; BYTE $0x1c // cmp r11w, word [r14 + 28] QUAD $0x000000882494950f // setne byte [rsp + 136] LONG $0x5e3b4566; BYTE $0x1a // cmp r11w, word [r14 + 26] - LONG $0x2454950f; BYTE $0x60 // setne byte [rsp + 96] + LONG $0x2454950f; BYTE $0x70 // setne byte [rsp + 112] LONG $0x5e3b4566; BYTE $0x18 // cmp r11w, word [r14 + 24] LONG $0xd5950f41 // setne r13b LONG $0x5e3b4566; BYTE $0x16 // cmp r11w, word [r14 + 22] @@ -25492,7 +26643,7 @@ LBB5_113: WORD $0x950f; BYTE $0xd2 // setne dl LONG $0x1024448b // mov eax, dword [rsp + 16] LONG $0x463b4166; BYTE $0x0c // cmp ax, word [r14 + 12] - QUAD $0x000000b02494950f // setne byte [rsp + 176] + QUAD $0x000000902494950f // setne byte [rsp + 144] LONG $0x1024448b // mov eax, dword [rsp + 16] LONG $0x463b4166; BYTE $0x0a // cmp ax, word [r14 + 10] LONG $0xd0950f41 // setne r8b @@ -25507,7 +26658,7 @@ LBB5_113: WORD $0x950f; BYTE $0xd1 // setne cl LONG $0x1024448b // mov eax, dword [rsp + 16] LONG $0x063b4166 // cmp ax, word [r14] - QUAD $0x000000982494950f // setne byte [rsp + 152] + QUAD $0x000000c02494950f // setne byte [rsp + 192] LONG $0x1024448b // mov eax, dword [rsp + 16] LONG $0x463b4166; BYTE $0x02 // cmp ax, word [r14 + 2] WORD $0x950f; BYTE $0xd0 // setne al @@ -25515,15 +26666,15 @@ LBB5_113: LONG $0x24648b44; BYTE $0x10 // mov r12d, dword [rsp + 16] LONG $0x663b4566; BYTE $0x10 // cmp r12w, word [r14 + 16] WORD $0x8949; BYTE $0xdc // mov r12, rbx - QUAD $0x000000c02494950f // setne byte [rsp + 192] + QUAD $0x000000b02494950f // setne byte [rsp + 176] LONG $0x10245c8b // mov ebx, dword [rsp + 16] LONG $0x5e3b4166; BYTE $0x20 // cmp bx, word [r14 + 32] - QUAD $0x000000902494950f // setne byte [rsp + 144] + QUAD $0x000000982494950f // setne byte [rsp + 152] LONG $0x10245c8b // mov ebx, dword [rsp + 16] LONG $0x5e3b4166; BYTE $0x30 // cmp bx, word [r14 + 48] WORD $0x950f; BYTE $0xd3 // setne bl WORD $0xc000 // add al, al - LONG $0x98248402; WORD $0x0000; BYTE $0x00 // add al, byte [rsp + 152] + LONG $0xc0248402; WORD $0x0000; BYTE $0x00 // add al, byte [rsp + 192] WORD $0xe1c0; BYTE $0x02 // shl cl, 2 WORD $0xc108 // or cl, al LONG $0x03e6c040 // shl sil, 3 @@ -25532,14 +26683,14 @@ LBB5_113: WORD $0x0840; BYTE $0xf7 // or dil, sil LONG $0x05e0c041 // shl r8b, 5 WORD $0x0841; BYTE $0xf8 // or r8b, dil - QUAD $0x000000b02484b60f // movzx eax, byte [rsp + 176] + QUAD $0x000000902484b60f // movzx eax, byte [rsp + 144] WORD $0xe0c0; BYTE $0x06 // shl al, 6 WORD $0xe2c0; BYTE $0x07 // shl dl, 7 WORD $0xc208 // or dl, al WORD $0x0844; BYTE $0xc2 // or dl, r8b LONG $0x24148841 // mov byte [r12], dl WORD $0x0045; BYTE $0xd2 // add r10b, r10b - QUAD $0x000000c024940244 // add r10b, byte [rsp + 192] + QUAD $0x000000b024940244 // add r10b, byte [rsp + 176] LONG $0x02e3c041 // shl r11b, 2 WORD $0x0845; BYTE $0xd3 // or r11b, r10b LONG $0x03e7c041 // shl r15b, 3 @@ -25547,7 +26698,7 @@ LBB5_113: LONG $0x245c8b44; BYTE $0x10 // mov r11d, dword [rsp + 16] LONG $0x04e5c041 // shl r13b, 4 WORD $0x0845; BYTE $0xfd // or r13b, r15b - LONG $0x2444b60f; BYTE $0x60 // movzx eax, byte [rsp + 96] + LONG $0x2444b60f; BYTE $0x70 // movzx eax, byte [rsp + 112] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0x0844; BYTE $0xe8 // or al, r13b QUAD $0x00000088248cb60f // movzx ecx, byte [rsp + 136] @@ -25556,29 +26707,29 @@ LBB5_113: WORD $0x0841; BYTE $0xc9 // or r9b, cl WORD $0x0841; BYTE $0xc1 // or r9b, al LONG $0x244c8845; BYTE $0x01 // mov byte [r12 + 1], r9b - LONG $0x2444b60f; BYTE $0x68 // movzx eax, byte [rsp + 104] + LONG $0x2444b60f; BYTE $0x78 // movzx eax, byte [rsp + 120] WORD $0xc000 // add al, al - LONG $0x90248402; WORD $0x0000; BYTE $0x00 // add al, byte [rsp + 144] + LONG $0x98248402; WORD $0x0000; BYTE $0x00 // add al, byte [rsp + 152] WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x70 // movzx eax, byte [rsp + 112] + QUAD $0x000000802484b60f // movzx eax, byte [rsp + 128] WORD $0xe0c0; BYTE $0x02 // shl al, 2 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x78 // movzx eax, byte [rsp + 120] + LONG $0x2444b60f; BYTE $0x58 // movzx eax, byte [rsp + 88] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x48 // movzx eax, byte [rsp + 72] + LONG $0x2444b60f; BYTE $0x60 // movzx eax, byte [rsp + 96] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - QUAD $0x000000802484b60f // movzx eax, byte [rsp + 128] + LONG $0x2444b60f; BYTE $0x48 // movzx eax, byte [rsp + 72] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - LONG $0x2454b60f; BYTE $0x50 // movzx edx, byte [rsp + 80] + LONG $0x2454b60f; BYTE $0x68 // movzx edx, byte [rsp + 104] WORD $0xe2c0; BYTE $0x06 // shl dl, 6 - LONG $0x2444b60f; BYTE $0x58 // movzx eax, byte [rsp + 88] + LONG $0x2444b60f; BYTE $0x50 // movzx eax, byte [rsp + 80] WORD $0xe0c0; BYTE $0x07 // shl al, 7 WORD $0xd008 // or al, dl WORD $0xc808 // or al, cl @@ -25591,15 +26742,15 @@ LBB5_113: WORD $0xe0c0; BYTE $0x02 // shl al, 2 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x18 // movzx eax, byte [rsp + 24] + LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] + LONG $0x2444b60f; BYTE $0x18 // movzx eax, byte [rsp + 24] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] + LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax @@ -25613,12 +26764,12 @@ LBB5_113: LONG $0x40c68349 // add r14, 64 LONG $0x04c48349 // add r12, 4 QUAD $0x000000a824848348; BYTE $0xff // add qword [rsp + 168], -1 - JNE LBB5_113 + JNE LBB5_114 QUAD $0x000000a024bc8b4c // mov r15, qword [rsp + 160] - QUAD $0x000000e024948b4c // mov r10, qword [rsp + 224] - JMP LBB5_115 + QUAD $0x000000d024948b4c // mov r10, qword [rsp + 208] + JMP LBB5_116 -LBB5_122: +LBB5_123: LONG $0x1eb70f44 // movzx r11d, word [rsi] LONG $0x1f578d4d // lea r10, [r15 + 31] WORD $0x854d; BYTE $0xff // test r15, r15 @@ -25628,11 +26779,11 @@ LBB5_122: LONG $0xc1490f41 // cmovns eax, r9d WORD $0xe083; BYTE $0xf8 // and eax, -8 WORD $0x2941; BYTE $0xc1 // sub r9d, eax - JE LBB5_126 + JE LBB5_127 WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d LONG $0x24548b48; BYTE $0x08 // mov rdx, qword [rsp + 8] -LBB5_124: +LBB5_125: LONG $0x1e3b4566 // cmp r11w, word [r14] LONG $0x02768d4d // lea r14, [r14 + 2] WORD $0x950f; BYTE $0xd3 // setne bl @@ -25653,72 +26804,72 @@ LBB5_124: LONG $0x323c8840 // mov byte [rdx + rsi], dil LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 - JNE LBB5_124 + JNE LBB5_125 LONG $0x24448348; WORD $0x0108 // add qword [rsp + 8], 1 -LBB5_126: +LBB5_127: LONG $0x05fac149 // sar r10, 5 LONG $0x20ff8349 // cmp r15, 32 - JL LBB5_127 + JL LBB5_128 LONG $0x08fa8349 // cmp r10, 8 LONG $0x245c8944; BYTE $0x10 // mov dword [rsp + 16], r11d QUAD $0x000000a024bc894c // mov qword [rsp + 160], r15 - QUAD $0x000000e02494894c // mov qword [rsp + 224], r10 - JB LBB5_129 + QUAD $0x000000d02494894c // mov qword [rsp + 208], r10 + JB LBB5_130 WORD $0x894c; BYTE $0xd0 // mov rax, r10 LONG $0x06e0c148 // shl rax, 6 WORD $0x014c; BYTE $0xf0 // add rax, r14 LONG $0x24443948; BYTE $0x08 // cmp qword [rsp + 8], rax - JAE LBB5_132 + JAE LBB5_133 LONG $0x24448b48; BYTE $0x08 // mov rax, qword [rsp + 8] LONG $0x90048d4a // lea rax, [rax + 4*r10] WORD $0x394c; BYTE $0xf0 // cmp rax, r14 - JBE LBB5_132 + JBE LBB5_133 -LBB5_129: +LBB5_130: WORD $0xc031 // xor eax, eax - LONG $0x24448948; BYTE $0x18 // mov qword [rsp + 24], rax + LONG $0x24448948; BYTE $0x28 // mov qword [rsp + 40], rax LONG $0x24648b4c; BYTE $0x08 // mov r12, qword [rsp + 8] -LBB5_135: - LONG $0x24542b4c; BYTE $0x18 // sub r10, qword [rsp + 24] +LBB5_136: + LONG $0x24542b4c; BYTE $0x28 // sub r10, qword [rsp + 40] QUAD $0x000000a82494894c // mov qword [rsp + 168], r10 -LBB5_136: +LBB5_137: LONG $0x5e3b4566; BYTE $0x3e // cmp r11w, word [r14 + 62] LONG $0x2454950f; BYTE $0x08 // setne byte [rsp + 8] LONG $0x5e3b4566; BYTE $0x3c // cmp r11w, word [r14 + 60] LONG $0x2454950f; BYTE $0x40 // setne byte [rsp + 64] LONG $0x5e3b4566; BYTE $0x3a // cmp r11w, word [r14 + 58] - LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] - LONG $0x5e3b4566; BYTE $0x38 // cmp r11w, word [r14 + 56] LONG $0x2454950f; BYTE $0x20 // setne byte [rsp + 32] - LONG $0x5e3b4566; BYTE $0x36 // cmp r11w, word [r14 + 54] + LONG $0x5e3b4566; BYTE $0x38 // cmp r11w, word [r14 + 56] LONG $0x2454950f; BYTE $0x18 // setne byte [rsp + 24] + LONG $0x5e3b4566; BYTE $0x36 // cmp r11w, word [r14 + 54] + LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] LONG $0x5e3b4566; BYTE $0x34 // cmp r11w, word [r14 + 52] LONG $0x2454950f; BYTE $0x38 // setne byte [rsp + 56] LONG $0x5e3b4566; BYTE $0x32 // cmp r11w, word [r14 + 50] LONG $0x2454950f; BYTE $0x30 // setne byte [rsp + 48] LONG $0x5e3b4566; BYTE $0x2e // cmp r11w, word [r14 + 46] - LONG $0x2454950f; BYTE $0x58 // setne byte [rsp + 88] - LONG $0x5e3b4566; BYTE $0x2c // cmp r11w, word [r14 + 44] LONG $0x2454950f; BYTE $0x50 // setne byte [rsp + 80] + LONG $0x5e3b4566; BYTE $0x2c // cmp r11w, word [r14 + 44] + LONG $0x2454950f; BYTE $0x68 // setne byte [rsp + 104] LONG $0x5e3b4566; BYTE $0x2a // cmp r11w, word [r14 + 42] - QUAD $0x000000802494950f // setne byte [rsp + 128] - LONG $0x5e3b4566; BYTE $0x28 // cmp r11w, word [r14 + 40] LONG $0x2454950f; BYTE $0x48 // setne byte [rsp + 72] + LONG $0x5e3b4566; BYTE $0x28 // cmp r11w, word [r14 + 40] + LONG $0x2454950f; BYTE $0x60 // setne byte [rsp + 96] LONG $0x5e3b4566; BYTE $0x26 // cmp r11w, word [r14 + 38] - LONG $0x2454950f; BYTE $0x78 // setne byte [rsp + 120] + LONG $0x2454950f; BYTE $0x58 // setne byte [rsp + 88] LONG $0x5e3b4566; BYTE $0x24 // cmp r11w, word [r14 + 36] - LONG $0x2454950f; BYTE $0x70 // setne byte [rsp + 112] + QUAD $0x000000802494950f // setne byte [rsp + 128] LONG $0x5e3b4566; BYTE $0x22 // cmp r11w, word [r14 + 34] - LONG $0x2454950f; BYTE $0x68 // setne byte [rsp + 104] + LONG $0x2454950f; BYTE $0x78 // setne byte [rsp + 120] LONG $0x5e3b4566; BYTE $0x1e // cmp r11w, word [r14 + 30] LONG $0xd1950f41 // setne r9b LONG $0x5e3b4566; BYTE $0x1c // cmp r11w, word [r14 + 28] QUAD $0x000000882494950f // setne byte [rsp + 136] LONG $0x5e3b4566; BYTE $0x1a // cmp r11w, word [r14 + 26] - LONG $0x2454950f; BYTE $0x60 // setne byte [rsp + 96] + LONG $0x2454950f; BYTE $0x70 // setne byte [rsp + 112] LONG $0x5e3b4566; BYTE $0x18 // cmp r11w, word [r14 + 24] LONG $0xd5950f41 // setne r13b LONG $0x5e3b4566; BYTE $0x16 // cmp r11w, word [r14 + 22] @@ -25733,7 +26884,7 @@ LBB5_136: WORD $0x950f; BYTE $0xd2 // setne dl LONG $0x1024448b // mov eax, dword [rsp + 16] LONG $0x463b4166; BYTE $0x0c // cmp ax, word [r14 + 12] - QUAD $0x000000b02494950f // setne byte [rsp + 176] + QUAD $0x000000902494950f // setne byte [rsp + 144] LONG $0x1024448b // mov eax, dword [rsp + 16] LONG $0x463b4166; BYTE $0x0a // cmp ax, word [r14 + 10] LONG $0xd0950f41 // setne r8b @@ -25748,7 +26899,7 @@ LBB5_136: WORD $0x950f; BYTE $0xd1 // setne cl LONG $0x1024448b // mov eax, dword [rsp + 16] LONG $0x063b4166 // cmp ax, word [r14] - QUAD $0x000000982494950f // setne byte [rsp + 152] + QUAD $0x000000c02494950f // setne byte [rsp + 192] LONG $0x1024448b // mov eax, dword [rsp + 16] LONG $0x463b4166; BYTE $0x02 // cmp ax, word [r14 + 2] WORD $0x950f; BYTE $0xd0 // setne al @@ -25756,15 +26907,15 @@ LBB5_136: LONG $0x24648b44; BYTE $0x10 // mov r12d, dword [rsp + 16] LONG $0x663b4566; BYTE $0x10 // cmp r12w, word [r14 + 16] WORD $0x8949; BYTE $0xdc // mov r12, rbx - QUAD $0x000000c02494950f // setne byte [rsp + 192] + QUAD $0x000000b02494950f // setne byte [rsp + 176] LONG $0x10245c8b // mov ebx, dword [rsp + 16] LONG $0x5e3b4166; BYTE $0x20 // cmp bx, word [r14 + 32] - QUAD $0x000000902494950f // setne byte [rsp + 144] + QUAD $0x000000982494950f // setne byte [rsp + 152] LONG $0x10245c8b // mov ebx, dword [rsp + 16] LONG $0x5e3b4166; BYTE $0x30 // cmp bx, word [r14 + 48] WORD $0x950f; BYTE $0xd3 // setne bl WORD $0xc000 // add al, al - LONG $0x98248402; WORD $0x0000; BYTE $0x00 // add al, byte [rsp + 152] + LONG $0xc0248402; WORD $0x0000; BYTE $0x00 // add al, byte [rsp + 192] WORD $0xe1c0; BYTE $0x02 // shl cl, 2 WORD $0xc108 // or cl, al LONG $0x03e6c040 // shl sil, 3 @@ -25773,14 +26924,14 @@ LBB5_136: WORD $0x0840; BYTE $0xf7 // or dil, sil LONG $0x05e0c041 // shl r8b, 5 WORD $0x0841; BYTE $0xf8 // or r8b, dil - QUAD $0x000000b02484b60f // movzx eax, byte [rsp + 176] + QUAD $0x000000902484b60f // movzx eax, byte [rsp + 144] WORD $0xe0c0; BYTE $0x06 // shl al, 6 WORD $0xe2c0; BYTE $0x07 // shl dl, 7 WORD $0xc208 // or dl, al WORD $0x0844; BYTE $0xc2 // or dl, r8b LONG $0x24148841 // mov byte [r12], dl WORD $0x0045; BYTE $0xd2 // add r10b, r10b - QUAD $0x000000c024940244 // add r10b, byte [rsp + 192] + QUAD $0x000000b024940244 // add r10b, byte [rsp + 176] LONG $0x02e3c041 // shl r11b, 2 WORD $0x0845; BYTE $0xd3 // or r11b, r10b LONG $0x03e7c041 // shl r15b, 3 @@ -25788,7 +26939,7 @@ LBB5_136: LONG $0x245c8b44; BYTE $0x10 // mov r11d, dword [rsp + 16] LONG $0x04e5c041 // shl r13b, 4 WORD $0x0845; BYTE $0xfd // or r13b, r15b - LONG $0x2444b60f; BYTE $0x60 // movzx eax, byte [rsp + 96] + LONG $0x2444b60f; BYTE $0x70 // movzx eax, byte [rsp + 112] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0x0844; BYTE $0xe8 // or al, r13b QUAD $0x00000088248cb60f // movzx ecx, byte [rsp + 136] @@ -25797,29 +26948,29 @@ LBB5_136: WORD $0x0841; BYTE $0xc9 // or r9b, cl WORD $0x0841; BYTE $0xc1 // or r9b, al LONG $0x244c8845; BYTE $0x01 // mov byte [r12 + 1], r9b - LONG $0x2444b60f; BYTE $0x68 // movzx eax, byte [rsp + 104] + LONG $0x2444b60f; BYTE $0x78 // movzx eax, byte [rsp + 120] WORD $0xc000 // add al, al - LONG $0x90248402; WORD $0x0000; BYTE $0x00 // add al, byte [rsp + 144] + LONG $0x98248402; WORD $0x0000; BYTE $0x00 // add al, byte [rsp + 152] WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x70 // movzx eax, byte [rsp + 112] + QUAD $0x000000802484b60f // movzx eax, byte [rsp + 128] WORD $0xe0c0; BYTE $0x02 // shl al, 2 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x78 // movzx eax, byte [rsp + 120] + LONG $0x2444b60f; BYTE $0x58 // movzx eax, byte [rsp + 88] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x48 // movzx eax, byte [rsp + 72] + LONG $0x2444b60f; BYTE $0x60 // movzx eax, byte [rsp + 96] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - QUAD $0x000000802484b60f // movzx eax, byte [rsp + 128] + LONG $0x2444b60f; BYTE $0x48 // movzx eax, byte [rsp + 72] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - LONG $0x2454b60f; BYTE $0x50 // movzx edx, byte [rsp + 80] + LONG $0x2454b60f; BYTE $0x68 // movzx edx, byte [rsp + 104] WORD $0xe2c0; BYTE $0x06 // shl dl, 6 - LONG $0x2444b60f; BYTE $0x58 // movzx eax, byte [rsp + 88] + LONG $0x2444b60f; BYTE $0x50 // movzx eax, byte [rsp + 80] WORD $0xe0c0; BYTE $0x07 // shl al, 7 WORD $0xd008 // or al, dl WORD $0xc808 // or al, cl @@ -25832,15 +26983,15 @@ LBB5_136: WORD $0xe0c0; BYTE $0x02 // shl al, 2 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x18 // movzx eax, byte [rsp + 24] + LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] + LONG $0x2444b60f; BYTE $0x18 // movzx eax, byte [rsp + 24] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] + LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax @@ -25854,12 +27005,12 @@ LBB5_136: LONG $0x40c68349 // add r14, 64 LONG $0x04c48349 // add r12, 4 QUAD $0x000000a824848348; BYTE $0xff // add qword [rsp + 168], -1 - JNE LBB5_136 + JNE LBB5_137 QUAD $0x000000a024bc8b4c // mov r15, qword [rsp + 160] - QUAD $0x000000e024948b4c // mov r10, qword [rsp + 224] - JMP LBB5_138 + QUAD $0x000000d024948b4c // mov r10, qword [rsp + 208] + JMP LBB5_139 -LBB5_158: +LBB5_159: WORD $0x8b4c; BYTE $0x1e // mov r11, qword [rsi] LONG $0x1f578d4d // lea r10, [r15 + 31] WORD $0x854d; BYTE $0xff // test r15, r15 @@ -25869,11 +27020,11 @@ LBB5_158: LONG $0xc1490f41 // cmovns eax, r9d WORD $0xe083; BYTE $0xf8 // and eax, -8 WORD $0x2941; BYTE $0xc1 // sub r9d, eax - JE LBB5_162 + JE LBB5_163 WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d LONG $0x24448b4c; BYTE $0x08 // mov r8, qword [rsp + 8] -LBB5_160: +LBB5_161: WORD $0x3b4d; BYTE $0x1e // cmp r11, qword [r14] LONG $0x08768d4d // lea r14, [r14 + 8] WORD $0x950f; BYTE $0xd2 // setne dl @@ -25894,52 +27045,52 @@ LBB5_160: LONG $0x303c8841 // mov byte [r8 + rsi], dil LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 - JNE LBB5_160 + JNE LBB5_161 LONG $0x24448348; WORD $0x0108 // add qword [rsp + 8], 1 -LBB5_162: +LBB5_163: LONG $0x05fac149 // sar r10, 5 LONG $0x20ff8349 // cmp r15, 32 - JL LBB5_166 + JL LBB5_167 QUAD $0x000000a024bc894c // mov qword [rsp + 160], r15 - QUAD $0x000000e02494894c // mov qword [rsp + 224], r10 + QUAD $0x000000d02494894c // mov qword [rsp + 208], r10 QUAD $0x000000a82494894c // mov qword [rsp + 168], r10 -LBB5_164: +LBB5_165: LONG $0xf89e3b4d; WORD $0x0000; BYTE $0x00 // cmp r11, qword [r14 + 248] LONG $0x2454950f; BYTE $0x10 // setne byte [rsp + 16] LONG $0xf09e3b4d; WORD $0x0000; BYTE $0x00 // cmp r11, qword [r14 + 240] LONG $0x2454950f; BYTE $0x40 // setne byte [rsp + 64] LONG $0xe89e3b4d; WORD $0x0000; BYTE $0x00 // cmp r11, qword [r14 + 232] - LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] - LONG $0xe09e3b4d; WORD $0x0000; BYTE $0x00 // cmp r11, qword [r14 + 224] LONG $0x2454950f; BYTE $0x20 // setne byte [rsp + 32] - LONG $0xd89e3b4d; WORD $0x0000; BYTE $0x00 // cmp r11, qword [r14 + 216] + LONG $0xe09e3b4d; WORD $0x0000; BYTE $0x00 // cmp r11, qword [r14 + 224] LONG $0x2454950f; BYTE $0x18 // setne byte [rsp + 24] + LONG $0xd89e3b4d; WORD $0x0000; BYTE $0x00 // cmp r11, qword [r14 + 216] + LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] LONG $0xd09e3b4d; WORD $0x0000; BYTE $0x00 // cmp r11, qword [r14 + 208] LONG $0x2454950f; BYTE $0x38 // setne byte [rsp + 56] LONG $0xc89e3b4d; WORD $0x0000; BYTE $0x00 // cmp r11, qword [r14 + 200] LONG $0x2454950f; BYTE $0x30 // setne byte [rsp + 48] LONG $0xb89e3b4d; WORD $0x0000; BYTE $0x00 // cmp r11, qword [r14 + 184] - LONG $0x2454950f; BYTE $0x58 // setne byte [rsp + 88] + LONG $0x2454950f; BYTE $0x50 // setne byte [rsp + 80] LONG $0xb09e3b4d; WORD $0x0000; BYTE $0x00 // cmp r11, qword [r14 + 176] - QUAD $0x000000802494950f // setne byte [rsp + 128] + LONG $0x2454950f; BYTE $0x48 // setne byte [rsp + 72] LONG $0xa89e3b4d; WORD $0x0000; BYTE $0x00 // cmp r11, qword [r14 + 168] - LONG $0x2454950f; BYTE $0x50 // setne byte [rsp + 80] + LONG $0x2454950f; BYTE $0x68 // setne byte [rsp + 104] LONG $0xa09e3b4d; WORD $0x0000; BYTE $0x00 // cmp r11, qword [r14 + 160] - LONG $0x2454950f; BYTE $0x48 // setne byte [rsp + 72] + LONG $0x2454950f; BYTE $0x60 // setne byte [rsp + 96] LONG $0x989e3b4d; WORD $0x0000; BYTE $0x00 // cmp r11, qword [r14 + 152] - LONG $0x2454950f; BYTE $0x78 // setne byte [rsp + 120] + LONG $0x2454950f; BYTE $0x58 // setne byte [rsp + 88] LONG $0x909e3b4d; WORD $0x0000; BYTE $0x00 // cmp r11, qword [r14 + 144] - LONG $0x2454950f; BYTE $0x70 // setne byte [rsp + 112] + QUAD $0x000000802494950f // setne byte [rsp + 128] LONG $0x889e3b4d; WORD $0x0000; BYTE $0x00 // cmp r11, qword [r14 + 136] - LONG $0x2454950f; BYTE $0x68 // setne byte [rsp + 104] + LONG $0x2454950f; BYTE $0x78 // setne byte [rsp + 120] LONG $0x785e3b4d // cmp r11, qword [r14 + 120] LONG $0xd0950f41 // setne r8b LONG $0x705e3b4d // cmp r11, qword [r14 + 112] QUAD $0x000000882494950f // setne byte [rsp + 136] LONG $0x685e3b4d // cmp r11, qword [r14 + 104] - QUAD $0x000000902494950f // setne byte [rsp + 144] + QUAD $0x000000982494950f // setne byte [rsp + 152] LONG $0x605e3b4d // cmp r11, qword [r14 + 96] LONG $0xd7950f40 // setne dil LONG $0x585e3b4d // cmp r11, qword [r14 + 88] @@ -25959,24 +27110,24 @@ LBB5_164: LONG $0x185e3b4d // cmp r11, qword [r14 + 24] LONG $0xd7950f41 // setne r15b LONG $0x105e3b4d // cmp r11, qword [r14 + 16] - LONG $0xd5950f41 // setne r13b + LONG $0xd4950f41 // setne r12b WORD $0x3b4d; BYTE $0x1e // cmp r11, qword [r14] - QUAD $0x000000982494950f // setne byte [rsp + 152] + QUAD $0x000000c02494950f // setne byte [rsp + 192] LONG $0x085e3b4d // cmp r11, qword [r14 + 8] - LONG $0xd4950f41 // setne r12b + LONG $0xd5950f41 // setne r13b LONG $0x405e3b4d // cmp r11, qword [r14 + 64] - QUAD $0x000000c02494950f // setne byte [rsp + 192] - LONG $0x809e3b4d; WORD $0x0000; BYTE $0x00 // cmp r11, qword [r14 + 128] QUAD $0x000000b02494950f // setne byte [rsp + 176] + LONG $0x809e3b4d; WORD $0x0000; BYTE $0x00 // cmp r11, qword [r14 + 128] + QUAD $0x000000902494950f // setne byte [rsp + 144] LONG $0xc09e3b4d; WORD $0x0000; BYTE $0x00 // cmp r11, qword [r14 + 192] - LONG $0x2454950f; BYTE $0x60 // setne byte [rsp + 96] - WORD $0x0045; BYTE $0xe4 // add r12b, r12b - QUAD $0x0000009824a40244 // add r12b, byte [rsp + 152] - LONG $0x02e5c041 // shl r13b, 2 - WORD $0x0845; BYTE $0xe5 // or r13b, r12b - LONG $0x24648b4c; BYTE $0x08 // mov r12, qword [rsp + 8] + LONG $0x2454950f; BYTE $0x70 // setne byte [rsp + 112] + WORD $0x0045; BYTE $0xed // add r13b, r13b + QUAD $0x000000c024ac0244 // add r13b, byte [rsp + 192] + LONG $0x02e4c041 // shl r12b, 2 + WORD $0x0845; BYTE $0xec // or r12b, r13b + LONG $0x246c8b4c; BYTE $0x08 // mov r13, qword [rsp + 8] LONG $0x03e7c041 // shl r15b, 3 - WORD $0x0845; BYTE $0xef // or r15b, r13b + WORD $0x0845; BYTE $0xe7 // or r15b, r12b WORD $0xe2c0; BYTE $0x04 // shl dl, 4 WORD $0x0844; BYTE $0xfa // or dl, r15b WORD $0xe1c0; BYTE $0x05 // shl cl, 5 @@ -25985,16 +27136,16 @@ LBB5_164: WORD $0xe0c0; BYTE $0x07 // shl al, 7 WORD $0xd808 // or al, bl WORD $0xc808 // or al, cl - LONG $0x24048841 // mov byte [r12], al + LONG $0x00458841 // mov byte [r13], al WORD $0x0040; BYTE $0xf6 // add sil, sil - QUAD $0x000000c024b40240 // add sil, byte [rsp + 192] + QUAD $0x000000b024b40240 // add sil, byte [rsp + 176] LONG $0x02e1c041 // shl r9b, 2 WORD $0x0841; BYTE $0xf1 // or r9b, sil LONG $0x03e2c041 // shl r10b, 3 WORD $0x0845; BYTE $0xca // or r10b, r9b LONG $0x04e7c040 // shl dil, 4 WORD $0x0844; BYTE $0xd7 // or dil, r10b - QUAD $0x000000902484b60f // movzx eax, byte [rsp + 144] + QUAD $0x000000982484b60f // movzx eax, byte [rsp + 152] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0x0840; BYTE $0xf8 // or al, dil QUAD $0x00000088248cb60f // movzx ecx, byte [rsp + 136] @@ -26002,51 +27153,51 @@ LBB5_164: LONG $0x07e0c041 // shl r8b, 7 WORD $0x0841; BYTE $0xc8 // or r8b, cl WORD $0x0841; BYTE $0xc0 // or r8b, al - LONG $0x24448845; BYTE $0x01 // mov byte [r12 + 1], r8b - LONG $0x2444b60f; BYTE $0x68 // movzx eax, byte [rsp + 104] + LONG $0x01458845 // mov byte [r13 + 1], r8b + LONG $0x2444b60f; BYTE $0x78 // movzx eax, byte [rsp + 120] WORD $0xc000 // add al, al - LONG $0xb0248402; WORD $0x0000; BYTE $0x00 // add al, byte [rsp + 176] + LONG $0x90248402; WORD $0x0000; BYTE $0x00 // add al, byte [rsp + 144] WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x70 // movzx eax, byte [rsp + 112] + QUAD $0x000000802484b60f // movzx eax, byte [rsp + 128] WORD $0xe0c0; BYTE $0x02 // shl al, 2 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x78 // movzx eax, byte [rsp + 120] + LONG $0x2444b60f; BYTE $0x58 // movzx eax, byte [rsp + 88] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x48 // movzx eax, byte [rsp + 72] + LONG $0x2444b60f; BYTE $0x60 // movzx eax, byte [rsp + 96] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x50 // movzx eax, byte [rsp + 80] + LONG $0x2444b60f; BYTE $0x68 // movzx eax, byte [rsp + 104] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - QUAD $0x000000802494b60f // movzx edx, byte [rsp + 128] + LONG $0x2454b60f; BYTE $0x48 // movzx edx, byte [rsp + 72] WORD $0xe2c0; BYTE $0x06 // shl dl, 6 - LONG $0x2444b60f; BYTE $0x58 // movzx eax, byte [rsp + 88] + LONG $0x2444b60f; BYTE $0x50 // movzx eax, byte [rsp + 80] WORD $0xe0c0; BYTE $0x07 // shl al, 7 WORD $0xd008 // or al, dl WORD $0xc808 // or al, cl - LONG $0x24448841; BYTE $0x02 // mov byte [r12 + 2], al + LONG $0x02458841 // mov byte [r13 + 2], al LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] WORD $0xc000 // add al, al - LONG $0x60244402 // add al, byte [rsp + 96] + LONG $0x70244402 // add al, byte [rsp + 112] WORD $0xc189 // mov ecx, eax LONG $0x2444b60f; BYTE $0x38 // movzx eax, byte [rsp + 56] WORD $0xe0c0; BYTE $0x02 // shl al, 2 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x18 // movzx eax, byte [rsp + 24] + LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] + LONG $0x2444b60f; BYTE $0x18 // movzx eax, byte [rsp + 24] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax - LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] + LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0xc808 // or al, cl WORD $0xc189 // mov ecx, eax @@ -26056,30 +27207,30 @@ LBB5_164: WORD $0xe0c0; BYTE $0x07 // shl al, 7 WORD $0xd008 // or al, dl WORD $0xc808 // or al, cl - LONG $0x24448841; BYTE $0x03 // mov byte [r12 + 3], al + LONG $0x03458841 // mov byte [r13 + 3], al LONG $0x00c68149; WORD $0x0001; BYTE $0x00 // add r14, 256 - LONG $0x04c48349 // add r12, 4 - LONG $0x2464894c; BYTE $0x08 // mov qword [rsp + 8], r12 + LONG $0x04c58349 // add r13, 4 + LONG $0x246c894c; BYTE $0x08 // mov qword [rsp + 8], r13 QUAD $0x000000a824848348; BYTE $0xff // add qword [rsp + 168], -1 - JNE LBB5_164 + JNE LBB5_165 QUAD $0x000000a024bc8b4c // mov r15, qword [rsp + 160] - QUAD $0x000000e024948b4c // mov r10, qword [rsp + 224] + QUAD $0x000000d024948b4c // mov r10, qword [rsp + 208] -LBB5_166: +LBB5_167: LONG $0x05e2c149 // shl r10, 5 WORD $0x394d; BYTE $0xfa // cmp r10, r15 - JGE LBB5_199 + JGE LBB5_198 WORD $0x894d; BYTE $0xf8 // mov r8, r15 WORD $0x294d; BYTE $0xd0 // sub r8, r10 WORD $0xf749; BYTE $0xd2 // not r10 WORD $0x014d; BYTE $0xfa // add r10, r15 - JNE LBB5_168 + JNE LBB5_169 -LBB5_39: +LBB5_40: WORD $0xff31 // xor edi, edi - JMP LBB5_40 + JMP LBB5_41 -LBB5_170: +LBB5_171: LONG $0x1f578d4d // lea r10, [r15 + 31] WORD $0x854d; BYTE $0xff // test r15, r15 LONG $0xd7490f4d // cmovns r10, r15 @@ -26089,14 +27240,16 @@ LBB5_170: WORD $0xe083; BYTE $0xf8 // and eax, -8 LONG $0x06100ff3 // movss xmm0, dword [rsi] WORD $0x2941; BYTE $0xc1 // sub r9d, eax - JE LBB5_174 + JE LBB5_175 WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d LONG $0x24448b4c; BYTE $0x08 // mov r8, qword [rsp + 8] -LBB5_172: +LBB5_173: LONG $0x062e0f41 // ucomiss xmm0, dword [r14] LONG $0x04768d4d // lea r14, [r14 + 4] + WORD $0x9a0f; BYTE $0xd1 // setp cl WORD $0x950f; BYTE $0xd2 // setne dl + WORD $0xca08 // or dl, cl WORD $0xdaf6 // neg dl LONG $0x07708d48 // lea rsi, [rax + 7] WORD $0x8548; BYTE $0xc0 // test rax, rax @@ -26114,245 +27267,336 @@ LBB5_172: LONG $0x303c8841 // mov byte [r8 + rsi], dil LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 - JNE LBB5_172 + JNE LBB5_173 LONG $0x24448348; WORD $0x0108 // add qword [rsp + 8], 1 -LBB5_174: +LBB5_175: LONG $0x05fac149 // sar r10, 5 LONG $0x20ff8349 // cmp r15, 32 - JL LBB5_175 + JL LBB5_176 LONG $0x04fa8349 // cmp r10, 4 - JB LBB5_177 + JB LBB5_178 WORD $0x894c; BYTE $0xd0 // mov rax, r10 LONG $0x07e0c148 // shl rax, 7 WORD $0x014c; BYTE $0xf0 // add rax, r14 LONG $0x24443948; BYTE $0x08 // cmp qword [rsp + 8], rax - JAE LBB5_180 + JAE LBB5_181 LONG $0x24448b48; BYTE $0x08 // mov rax, qword [rsp + 8] LONG $0x90048d4a // lea rax, [rax + 4*r10] WORD $0x394c; BYTE $0xf0 // cmp rax, r14 - JBE LBB5_180 + JBE LBB5_181 -LBB5_177: +LBB5_178: WORD $0x3145; BYTE $0xc0 // xor r8d, r8d WORD $0x894c; BYTE $0xf3 // mov rbx, r14 - LONG $0x245c8b4c; BYTE $0x08 // mov r11, qword [rsp + 8] + LONG $0x24648b4c; BYTE $0x08 // mov r12, qword [rsp + 8] -LBB5_183: - LONG $0x245c894c; BYTE $0x08 // mov qword [rsp + 8], r11 +LBB5_184: + LONG $0x2464894c; BYTE $0x10 // mov qword [rsp + 16], r12 QUAD $0x000000a024bc894c // mov qword [rsp + 160], r15 - QUAD $0x000000a82494894c // mov qword [rsp + 168], r10 + QUAD $0x000000f02494894c // mov qword [rsp + 240], r10 WORD $0x294d; BYTE $0xc2 // sub r10, r8 - QUAD $0x000000982494894c // mov qword [rsp + 152], r10 + QUAD $0x000000d02494894c // mov qword [rsp + 208], r10 -LBB5_184: +LBB5_185: WORD $0x2e0f; BYTE $0x03 // ucomiss xmm0, dword [rbx] - QUAD $0x000000c02494950f // setne byte [rsp + 192] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + WORD $0x8941; BYTE $0xcd // mov r13d, ecx LONG $0x04432e0f // ucomiss xmm0, dword [rbx + 4] - LONG $0xd0950f41 // setne r8b + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd2 // setne dl + WORD $0xc208 // or dl, al LONG $0x08432e0f // ucomiss xmm0, dword [rbx + 8] - LONG $0xd6950f41 // setne r14b + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x18244c88 // mov byte [rsp + 24], cl LONG $0x0c432e0f // ucomiss xmm0, dword [rbx + 12] - LONG $0xd5950f41 // setne r13b + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x20244c88 // mov byte [rsp + 32], cl LONG $0x10432e0f // ucomiss xmm0, dword [rbx + 16] - LONG $0x2454950f; BYTE $0x68 // setne byte [rsp + 104] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x40244c88 // mov byte [rsp + 64], cl LONG $0x14432e0f // ucomiss xmm0, dword [rbx + 20] - LONG $0x2454950f; BYTE $0x50 // setne byte [rsp + 80] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x38244c88 // mov byte [rsp + 56], cl LONG $0x18432e0f // ucomiss xmm0, dword [rbx + 24] - WORD $0x950f; BYTE $0xd0 // setne al + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x30244c88 // mov byte [rsp + 48], cl LONG $0x1c432e0f // ucomiss xmm0, dword [rbx + 28] - LONG $0xd3950f41 // setne r11b + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x08244c88 // mov byte [rsp + 8], cl LONG $0x20432e0f // ucomiss xmm0, dword [rbx + 32] - QUAD $0x000000902494950f // setne byte [rsp + 144] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x28244c88 // mov byte [rsp + 40], cl LONG $0x24432e0f // ucomiss xmm0, dword [rbx + 36] - WORD $0x950f; BYTE $0xd2 // setne dl + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x50244c88 // mov byte [rsp + 80], cl LONG $0x28432e0f // ucomiss xmm0, dword [rbx + 40] - LONG $0xd6950f40 // setne sil + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x48244c88 // mov byte [rsp + 72], cl LONG $0x2c432e0f // ucomiss xmm0, dword [rbx + 44] - LONG $0xd7950f40 // setne dil + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x68244c88 // mov byte [rsp + 104], cl LONG $0x30432e0f // ucomiss xmm0, dword [rbx + 48] - LONG $0xd2950f41 // setne r10b + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x60244c88 // mov byte [rsp + 96], cl LONG $0x34432e0f // ucomiss xmm0, dword [rbx + 52] - LONG $0xd4950f41 // setne r12b + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x80248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 128], cl LONG $0x38432e0f // ucomiss xmm0, dword [rbx + 56] - QUAD $0x000000882494950f // setne byte [rsp + 136] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x70244c88 // mov byte [rsp + 112], cl LONG $0x3c432e0f // ucomiss xmm0, dword [rbx + 60] - LONG $0xd1950f41 // setne r9b + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x78244c88 // mov byte [rsp + 120], cl LONG $0x40432e0f // ucomiss xmm0, dword [rbx + 64] - LONG $0x2454950f; BYTE $0x78 // setne byte [rsp + 120] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x58244c88 // mov byte [rsp + 88], cl LONG $0x44432e0f // ucomiss xmm0, dword [rbx + 68] - QUAD $0x000000b02494950f // setne byte [rsp + 176] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd4950f41 // setne r12b + WORD $0x0841; BYTE $0xc4 // or r12b, al LONG $0x48432e0f // ucomiss xmm0, dword [rbx + 72] - LONG $0x2454950f; BYTE $0x60 // setne byte [rsp + 96] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x88248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 136], cl LONG $0x4c432e0f // ucomiss xmm0, dword [rbx + 76] - LONG $0x2454950f; BYTE $0x70 // setne byte [rsp + 112] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x98248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 152], cl LONG $0x50432e0f // ucomiss xmm0, dword [rbx + 80] - LONG $0x2454950f; BYTE $0x48 // setne byte [rsp + 72] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0x90248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 144], cl LONG $0x54432e0f // ucomiss xmm0, dword [rbx + 84] - QUAD $0x000000802494950f // setne byte [rsp + 128] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0xc0248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 192], cl LONG $0x58432e0f // ucomiss xmm0, dword [rbx + 88] - LONG $0x2454950f; BYTE $0x58 // setne byte [rsp + 88] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd6950f41 // setne r14b + WORD $0x0841; BYTE $0xc6 // or r14b, al LONG $0x5c432e0f // ucomiss xmm0, dword [rbx + 92] - LONG $0xd7950f41 // setne r15b + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd0950f41 // setne r8b + WORD $0x0841; BYTE $0xc0 // or r8b, al LONG $0x60432e0f // ucomiss xmm0, dword [rbx + 96] - LONG $0x2454950f; BYTE $0x20 // setne byte [rsp + 32] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0xb0248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 176], cl LONG $0x64432e0f // ucomiss xmm0, dword [rbx + 100] - LONG $0x2454950f; BYTE $0x30 // setne byte [rsp + 48] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd3950f41 // setne r11b + WORD $0x0841; BYTE $0xc3 // or r11b, al LONG $0x68432e0f // ucomiss xmm0, dword [rbx + 104] - LONG $0x2454950f; BYTE $0x38 // setne byte [rsp + 56] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd2950f41 // setne r10b + WORD $0x0841; BYTE $0xc2 // or r10b, al LONG $0x6c432e0f // ucomiss xmm0, dword [rbx + 108] - LONG $0x2454950f; BYTE $0x18 // setne byte [rsp + 24] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd1950f41 // setne r9b + WORD $0x0841; BYTE $0xc1 // or r9b, al LONG $0x70432e0f // ucomiss xmm0, dword [rbx + 112] - LONG $0x2454950f; BYTE $0x28 // setne byte [rsp + 40] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd7950f41 // setne r15b + WORD $0x0841; BYTE $0xc7 // or r15b, al LONG $0x74432e0f // ucomiss xmm0, dword [rbx + 116] - LONG $0x2454950f; BYTE $0x40 // setne byte [rsp + 64] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd1 // setne cl + WORD $0xc108 // or cl, al + LONG $0xa8248c88; WORD $0x0000; BYTE $0x00 // mov byte [rsp + 168], cl LONG $0x78432e0f // ucomiss xmm0, dword [rbx + 120] - LONG $0x2454950f; BYTE $0x10 // setne byte [rsp + 16] + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd7950f40 // setne dil + WORD $0x0840; BYTE $0xc7 // or dil, al LONG $0x7c432e0f // ucomiss xmm0, dword [rbx + 124] - WORD $0x950f; BYTE $0xd1 // setne cl - WORD $0x0045; BYTE $0xc0 // add r8b, r8b - QUAD $0x000000c024840244 // add r8b, byte [rsp + 192] - WORD $0xe0c0; BYTE $0x06 // shl al, 6 - LONG $0x07e3c041 // shl r11b, 7 - WORD $0x0841; BYTE $0xc3 // or r11b, al - LONG $0x02e6c041 // shl r14b, 2 - WORD $0x0845; BYTE $0xc6 // or r14b, r8b + WORD $0x9a0f; BYTE $0xd0 // setp al + LONG $0xd6950f40 // setne sil + WORD $0x0840; BYTE $0xc6 // or sil, al WORD $0xd200 // add dl, dl - LONG $0x90249402; WORD $0x0000; BYTE $0x00 // add dl, byte [rsp + 144] - LONG $0x03e5c041 // shl r13b, 3 - WORD $0x0845; BYTE $0xf5 // or r13b, r14b - LONG $0x02e6c040 // shl sil, 2 - WORD $0x0840; BYTE $0xd6 // or sil, dl - LONG $0x2454b60f; BYTE $0x68 // movzx edx, byte [rsp + 104] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 WORD $0x0844; BYTE $0xea // or dl, r13b - WORD $0x8941; BYTE $0xd0 // mov r8d, edx - LONG $0x03e7c040 // shl dil, 3 - WORD $0x0840; BYTE $0xf7 // or dil, sil - LONG $0x2454b60f; BYTE $0x50 // movzx edx, byte [rsp + 80] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0844; BYTE $0xc2 // or dl, r8b - LONG $0x04e2c041 // shl r10b, 4 - WORD $0x0841; BYTE $0xfa // or r10b, dil - LONG $0x05e4c041 // shl r12b, 5 - WORD $0x0845; BYTE $0xd4 // or r12b, r10b - QUAD $0x0000008824b4b60f // movzx esi, byte [rsp + 136] - LONG $0x06e6c040 // shl sil, 6 - LONG $0x07e1c041 // shl r9b, 7 - WORD $0x0841; BYTE $0xf1 // or r9b, sil - WORD $0x0841; BYTE $0xd3 // or r11b, dl - WORD $0x0845; BYTE $0xe1 // or r9b, r12b - QUAD $0x000000b02484b60f // movzx eax, byte [rsp + 176] - WORD $0xc000 // add al, al - LONG $0x78244402 // add al, byte [rsp + 120] - LONG $0x2454b60f; BYTE $0x60 // movzx edx, byte [rsp + 96] - WORD $0xe2c0; BYTE $0x02 // shl dl, 2 - WORD $0xc208 // or dl, al - WORD $0xd689 // mov esi, edx - LONG $0x2454b60f; BYTE $0x70 // movzx edx, byte [rsp + 112] - WORD $0xe2c0; BYTE $0x03 // shl dl, 3 - WORD $0x0840; BYTE $0xf2 // or dl, sil - WORD $0xd689 // mov esi, edx - LONG $0x2454b60f; BYTE $0x48 // movzx edx, byte [rsp + 72] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0x0840; BYTE $0xf2 // or dl, sil - WORD $0xd689 // mov esi, edx - QUAD $0x000000802494b60f // movzx edx, byte [rsp + 128] + WORD $0x8941; BYTE $0xd5 // mov r13d, edx + LONG $0x2454b60f; BYTE $0x38 // movzx edx, byte [rsp + 56] WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xf2 // or dl, sil - LONG $0x24748b48; BYTE $0x08 // mov rsi, qword [rsp + 8] - WORD $0x8844; BYTE $0x1e // mov byte [rsi], r11b - LONG $0x247cb60f; BYTE $0x58 // movzx edi, byte [rsp + 88] - LONG $0x06e7c040 // shl dil, 6 - LONG $0x07e7c041 // shl r15b, 7 - WORD $0x0841; BYTE $0xff // or r15b, dil - LONG $0x014e8844 // mov byte [rsi + 1], r9b - WORD $0x0841; BYTE $0xd7 // or r15b, dl LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] - WORD $0xc000 // add al, al - LONG $0x20244402 // add al, byte [rsp + 32] - WORD $0xc289 // mov edx, eax - LONG $0x2444b60f; BYTE $0x38 // movzx eax, byte [rsp + 56] - WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0xe0c0; BYTE $0x06 // shl al, 6 WORD $0xd008 // or al, dl WORD $0xc289 // mov edx, eax LONG $0x2444b60f; BYTE $0x18 // movzx eax, byte [rsp + 24] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0xd008 // or al, dl - WORD $0xc289 // mov edx, eax - LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] - WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0x0844; BYTE $0xe8 // or al, r13b + WORD $0x8941; BYTE $0xc5 // mov r13d, eax + LONG $0x244cb60f; BYTE $0x50 // movzx ecx, byte [rsp + 80] + WORD $0xc900 // add cl, cl + LONG $0x28244c02 // add cl, byte [rsp + 40] + LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + WORD $0xe0c0; BYTE $0x07 // shl al, 7 WORD $0xd008 // or al, dl - WORD $0xc289 // mov edx, eax + LONG $0x08244488 // mov byte [rsp + 8], al + LONG $0x2444b60f; BYTE $0x48 // movzx eax, byte [rsp + 72] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0x0844; BYTE $0xe8 // or al, r13b + WORD $0x8941; BYTE $0xc5 // mov r13d, eax + LONG $0x2444b60f; BYTE $0x68 // movzx eax, byte [rsp + 104] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax LONG $0x2444b60f; BYTE $0x40 // movzx eax, byte [rsp + 64] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0844; BYTE $0xe8 // or al, r13b + LONG $0x2454b60f; BYTE $0x60 // movzx edx, byte [rsp + 96] + WORD $0xe2c0; BYTE $0x04 // shl dl, 4 + WORD $0xca08 // or dl, cl + QUAD $0x00008024acb60f44; BYTE $0x00 // movzx r13d, byte [rsp + 128] + LONG $0x05e5c041 // shl r13b, 5 + LONG $0x244cb60f; BYTE $0x70 // movzx ecx, byte [rsp + 112] + WORD $0xe1c0; BYTE $0x06 // shl cl, 6 + WORD $0x0844; BYTE $0xe9 // or cl, r13b + LONG $0x6cb60f44; WORD $0x7824 // movzx r13d, byte [rsp + 120] + LONG $0x07e5c041 // shl r13b, 7 + WORD $0x0841; BYTE $0xcd // or r13b, cl + WORD $0x0045; BYTE $0xe4 // add r12b, r12b + LONG $0x24640244; BYTE $0x58 // add r12b, byte [rsp + 88] + WORD $0x8944; BYTE $0xe1 // mov ecx, r12d + QUAD $0x00008824a4b60f44; BYTE $0x00 // movzx r12d, byte [rsp + 136] + LONG $0x02e4c041 // shl r12b, 2 + WORD $0x0841; BYTE $0xcc // or r12b, cl + QUAD $0x00000098248cb60f // movzx ecx, byte [rsp + 152] + WORD $0xe1c0; BYTE $0x03 // shl cl, 3 + WORD $0x0844; BYTE $0xe1 // or cl, r12b + WORD $0x8941; BYTE $0xcc // mov r12d, ecx + QUAD $0x00000090248cb60f // movzx ecx, byte [rsp + 144] + WORD $0xe1c0; BYTE $0x04 // shl cl, 4 + WORD $0x0844; BYTE $0xe1 // or cl, r12b + LONG $0x64b60f44; WORD $0x0824 // movzx r12d, byte [rsp + 8] + WORD $0x0841; BYTE $0xc4 // or r12b, al + QUAD $0x000000c02484b60f // movzx eax, byte [rsp + 192] WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xd008 // or al, dl - LONG $0x2454b60f; BYTE $0x10 // movzx edx, byte [rsp + 16] - WORD $0xe2c0; BYTE $0x06 // shl dl, 6 - WORD $0xe1c0; BYTE $0x07 // shl cl, 7 - WORD $0xd108 // or cl, dl - WORD $0xc108 // or cl, al - LONG $0x027e8844 // mov byte [rsi + 2], r15b - WORD $0x4e88; BYTE $0x03 // mov byte [rsi + 3], cl - LONG $0x80c38148; WORD $0x0000; BYTE $0x00 // add rbx, 128 - LONG $0x04c68348 // add rsi, 4 - LONG $0x24748948; BYTE $0x08 // mov qword [rsp + 8], rsi - QUAD $0x0000009824848348; BYTE $0xff // add qword [rsp + 152], -1 - JNE LBB5_184 - LONG $0x245c8b4c; BYTE $0x08 // mov r11, qword [rsp + 8] - QUAD $0x000000a024bc8b4c // mov r15, qword [rsp + 160] - QUAD $0x000000a824948b4c // mov r10, qword [rsp + 168] - JMP LBB5_186 + LONG $0x06e6c041 // shl r14b, 6 + WORD $0x0841; BYTE $0xc6 // or r14b, al + WORD $0x0841; BYTE $0xd5 // or r13b, dl + LONG $0x07e0c041 // shl r8b, 7 + WORD $0x0845; BYTE $0xf0 // or r8b, r14b + WORD $0x0841; BYTE $0xc8 // or r8b, cl + WORD $0x0045; BYTE $0xdb // add r11b, r11b + QUAD $0x000000b0249c0244 // add r11b, byte [rsp + 176] + LONG $0x02e2c041 // shl r10b, 2 + WORD $0x0845; BYTE $0xda // or r10b, r11b + LONG $0x03e1c041 // shl r9b, 3 + WORD $0x0845; BYTE $0xd1 // or r9b, r10b + LONG $0x04e7c041 // shl r15b, 4 + WORD $0x0845; BYTE $0xcf // or r15b, r9b + LONG $0x24448b48; BYTE $0x10 // mov rax, qword [rsp + 16] + WORD $0x8844; BYTE $0x20 // mov byte [rax], r12b + QUAD $0x000000a8248cb60f // movzx ecx, byte [rsp + 168] + WORD $0xe1c0; BYTE $0x05 // shl cl, 5 + LONG $0x06e7c040 // shl dil, 6 + WORD $0x0840; BYTE $0xcf // or dil, cl + LONG $0x01688844 // mov byte [rax + 1], r13b + LONG $0x07e6c040 // shl sil, 7 + WORD $0x0840; BYTE $0xfe // or sil, dil + WORD $0x0844; BYTE $0xfe // or sil, r15b + LONG $0x02408844 // mov byte [rax + 2], r8b + LONG $0x03708840 // mov byte [rax + 3], sil + LONG $0x80c38148; WORD $0x0000; BYTE $0x00 // add rbx, 128 + LONG $0x04c08348 // add rax, 4 + LONG $0x24448948; BYTE $0x10 // mov qword [rsp + 16], rax + QUAD $0x000000d024848348; BYTE $0xff // add qword [rsp + 208], -1 + JNE LBB5_185 + LONG $0x24648b4c; BYTE $0x10 // mov r12, qword [rsp + 16] + QUAD $0x000000a024bc8b4c // mov r15, qword [rsp + 160] + QUAD $0x000000f024948b4c // mov r10, qword [rsp + 240] + JMP LBB5_187 LBB5_9: LONG $0x24448b48; BYTE $0x08 // mov rax, qword [rsp + 8] - QUAD $0x0000008024848948 // mov qword [rsp + 128], rax + LONG $0x24448948; BYTE $0x50 // mov qword [rsp + 80], rax -LBB5_91: +LBB5_92: LONG $0x05e2c149 // shl r10, 5 WORD $0x394d; BYTE $0xfa // cmp r10, r15 - JGE LBB5_199 + JGE LBB5_198 WORD $0x894d; BYTE $0xf8 // mov r8, r15 WORD $0x294d; BYTE $0xd0 // sub r8, r10 WORD $0xf749; BYTE $0xd2 // not r10 WORD $0x014d; BYTE $0xfa // add r10, r15 - JNE LBB5_94 + JNE LBB5_95 WORD $0xf631 // xor esi, esi - JMP LBB5_97 + JMP LBB5_98 -LBB5_61: +LBB5_62: LONG $0x24448b48; BYTE $0x08 // mov rax, qword [rsp + 8] - LONG $0x24448948; BYTE $0x58 // mov qword [rsp + 88], rax + LONG $0x24448948; BYTE $0x68 // mov qword [rsp + 104], rax -LBB5_72: +LBB5_73: LONG $0x05e2c149 // shl r10, 5 WORD $0x394d; BYTE $0xfa // cmp r10, r15 - JGE LBB5_199 + JGE LBB5_198 WORD $0x894d; BYTE $0xf8 // mov r8, r15 WORD $0x294d; BYTE $0xd0 // sub r8, r10 WORD $0xf749; BYTE $0xd2 // not r10 WORD $0x014d; BYTE $0xfa // add r10, r15 - JNE LBB5_75 + JNE LBB5_76 WORD $0xf631 // xor esi, esi - JMP LBB5_78 + JMP LBB5_79 -LBB5_104: +LBB5_105: LONG $0x24648b4c; BYTE $0x08 // mov r12, qword [rsp + 8] -LBB5_115: +LBB5_116: LONG $0x05e2c149 // shl r10, 5 WORD $0x394d; BYTE $0xfa // cmp r10, r15 - JGE LBB5_199 + JGE LBB5_198 WORD $0x894d; BYTE $0xf8 // mov r8, r15 WORD $0x294d; BYTE $0xd0 // sub r8, r10 WORD $0xf749; BYTE $0xd2 // not r10 WORD $0x014d; BYTE $0xfa // add r10, r15 - JE LBB5_117 + JE LBB5_118 WORD $0x894d; BYTE $0xc1 // mov r9, r8 LONG $0xfee18349 // and r9, -2 WORD $0xf631 // xor esi, esi -LBB5_121: +LBB5_122: LONG $0x1e3b4566 // cmp r11w, word [r14] WORD $0x950f; BYTE $0xd2 // setne dl WORD $0xdaf6 // neg dl @@ -26380,49 +27624,49 @@ LBB5_121: WORD $0xd830 // xor al, bl LONG $0x3c048841 // mov byte [r12 + rdi], al WORD $0x3949; BYTE $0xf1 // cmp r9, rsi - JNE LBB5_121 - JMP LBB5_118 + JNE LBB5_122 + JMP LBB5_119 -LBB5_127: +LBB5_128: LONG $0x24648b4c; BYTE $0x08 // mov r12, qword [rsp + 8] -LBB5_138: +LBB5_139: LONG $0x05e2c149 // shl r10, 5 WORD $0x394d; BYTE $0xfa // cmp r10, r15 - JGE LBB5_199 + JGE LBB5_198 WORD $0x894d; BYTE $0xf8 // mov r8, r15 WORD $0x294d; BYTE $0xd0 // sub r8, r10 WORD $0xf749; BYTE $0xd2 // not r10 WORD $0x014d; BYTE $0xfa // add r10, r15 - JNE LBB5_140 + JNE LBB5_141 -LBB5_117: +LBB5_118: WORD $0xf631 // xor esi, esi - JMP LBB5_118 + JMP LBB5_119 -LBB5_175: - LONG $0x245c8b4c; BYTE $0x08 // mov r11, qword [rsp + 8] +LBB5_176: + LONG $0x24648b4c; BYTE $0x08 // mov r12, qword [rsp + 8] WORD $0x894c; BYTE $0xf3 // mov rbx, r14 -LBB5_186: +LBB5_187: LONG $0x05e2c149 // shl r10, 5 WORD $0x394d; BYTE $0xfa // cmp r10, r15 - JGE LBB5_199 + JGE LBB5_198 WORD $0x894d; BYTE $0xf8 // mov r8, r15 WORD $0x294d; BYTE $0xd0 // sub r8, r10 WORD $0xf749; BYTE $0xd2 // not r10 WORD $0x014d; BYTE $0xfa // add r10, r15 - JNE LBB5_191 + JNE LBB5_192 WORD $0xf631 // xor esi, esi - JMP LBB5_189 + JMP LBB5_190 -LBB5_154: +LBB5_155: WORD $0x894d; BYTE $0xc1 // mov r9, r8 LONG $0xfee18349 // and r9, -2 WORD $0xff31 // xor edi, edi LONG $0x247c8b4c; BYTE $0x08 // mov r15, qword [rsp + 8] -LBB5_155: +LBB5_156: WORD $0x3b45; BYTE $0x1e // cmp r11d, dword [r14] WORD $0x950f; BYTE $0xd0 // setne al WORD $0xd8f6 // neg al @@ -26450,23 +27694,23 @@ LBB5_155: WORD $0xd330 // xor bl, dl LONG $0x371c8841 // mov byte [r15 + rsi], bl WORD $0x3949; BYTE $0xf9 // cmp r9, rdi - JNE LBB5_155 + JNE LBB5_156 LBB5_24: LONG $0x01c0f641 // test r8b, 1 - JE LBB5_199 + JE LBB5_198 WORD $0x3b45; BYTE $0x1e // cmp r11d, dword [r14] - JMP LBB5_197 - -LBB5_94: - WORD $0x894d; BYTE $0xc2 // mov r10, r8 - LONG $0xfee28349 // and r10, -2 - WORD $0xf631 // xor esi, esi - QUAD $0x00000080249c8b4c // mov r11, qword [rsp + 128] + JMP LBB5_26 LBB5_95: + WORD $0x894d; BYTE $0xc2 // mov r10, r8 + LONG $0xfee28349 // and r10, -2 + WORD $0xf631 // xor esi, esi + LONG $0x245c8b4c; BYTE $0x50 // mov r11, qword [rsp + 80] + +LBB5_96: WORD $0x8948; BYTE $0xf0 // mov rax, rsi - LONG $0x2474b60f; BYTE $0x40 // movzx esi, byte [rsp + 64] + LONG $0x2474b60f; BYTE $0x10 // movzx esi, byte [rsp + 16] LONG $0x06343a41 // cmp sil, byte [r14 + rax] WORD $0x950f; BYTE $0xd3 // setne bl WORD $0xdbf6 // neg bl @@ -26493,30 +27737,30 @@ LBB5_95: WORD $0xd030 // xor al, dl LONG $0x3b048841 // mov byte [r11 + rdi], al WORD $0x3949; BYTE $0xf2 // cmp r10, rsi - JNE LBB5_95 + JNE LBB5_96 WORD $0x0149; BYTE $0xf6 // add r14, rsi -LBB5_97: - LONG $0x01c0f641 // test r8b, 1 - JE LBB5_199 - LONG $0x4024448a // mov al, byte [rsp + 64] - WORD $0x3a41; BYTE $0x06 // cmp al, byte [r14] - WORD $0x950f; BYTE $0xd0 // setne al - WORD $0xd8f6 // neg al - WORD $0x8948; BYTE $0xf2 // mov rdx, rsi - LONG $0x03eac148 // shr rdx, 3 - QUAD $0x0000008024848b4c // mov r8, qword [rsp + 128] - JMP LBB5_80 +LBB5_98: + LONG $0x01c0f641 // test r8b, 1 + JE LBB5_198 + LONG $0x1024448a // mov al, byte [rsp + 16] + WORD $0x3a41; BYTE $0x06 // cmp al, byte [r14] + WORD $0x950f; BYTE $0xd0 // setne al + WORD $0xd8f6 // neg al + WORD $0x8948; BYTE $0xf2 // mov rdx, rsi + LONG $0x03eac148 // shr rdx, 3 + LONG $0x24448b4c; BYTE $0x50 // mov r8, qword [rsp + 80] + JMP LBB5_81 -LBB5_75: +LBB5_76: WORD $0x894d; BYTE $0xc2 // mov r10, r8 LONG $0xfee28349 // and r10, -2 WORD $0xf631 // xor esi, esi - LONG $0x245c8b4c; BYTE $0x58 // mov r11, qword [rsp + 88] + LONG $0x245c8b4c; BYTE $0x68 // mov r11, qword [rsp + 104] -LBB5_76: +LBB5_77: WORD $0x8948; BYTE $0xf0 // mov rax, rsi - LONG $0x2474b60f; BYTE $0x28 // movzx esi, byte [rsp + 40] + LONG $0x2474b60f; BYTE $0x40 // movzx esi, byte [rsp + 64] LONG $0x06343a41 // cmp sil, byte [r14 + rax] WORD $0x950f; BYTE $0xd3 // setne bl WORD $0xdbf6 // neg bl @@ -26543,21 +27787,21 @@ LBB5_76: WORD $0xd030 // xor al, dl LONG $0x3b048841 // mov byte [r11 + rdi], al WORD $0x3949; BYTE $0xf2 // cmp r10, rsi - JNE LBB5_76 + JNE LBB5_77 WORD $0x0149; BYTE $0xf6 // add r14, rsi -LBB5_78: +LBB5_79: LONG $0x01c0f641 // test r8b, 1 - JE LBB5_199 - LONG $0x2824448a // mov al, byte [rsp + 40] + JE LBB5_198 + LONG $0x4024448a // mov al, byte [rsp + 64] WORD $0x3a41; BYTE $0x06 // cmp al, byte [r14] WORD $0x950f; BYTE $0xd0 // setne al WORD $0xd8f6 // neg al WORD $0x8948; BYTE $0xf2 // mov rdx, rsi LONG $0x03eac148 // shr rdx, 3 - LONG $0x24448b4c; BYTE $0x58 // mov r8, qword [rsp + 88] + LONG $0x24448b4c; BYTE $0x68 // mov r8, qword [rsp + 104] -LBB5_80: +LBB5_81: LONG $0x103c8a41 // mov dil, byte [r8 + rdx] LONG $0x07e68040 // and sil, 7 WORD $0x01b3 // mov bl, 1 @@ -26566,57 +27810,78 @@ LBB5_80: WORD $0x3040; BYTE $0xf8 // xor al, dil WORD $0xc320 // and bl, al WORD $0x3040; BYTE $0xfb // xor bl, dil + LONG $0x101c8841 // mov byte [r8 + rdx], bl JMP LBB5_198 -LBB5_193: +LBB5_194: WORD $0x894d; BYTE $0xc1 // mov r9, r8 LONG $0xfee18349 // and r9, -2 WORD $0xff31 // xor edi, edi LONG $0x245c8b4c; BYTE $0x08 // mov r11, qword [rsp + 8] -LBB5_194: +LBB5_195: LONG $0x2e0f4166; BYTE $0x06 // ucomisd xmm0, qword [r14] + WORD $0x9a0f; BYTE $0xd1 // setp cl WORD $0x950f; BYTE $0xd0 // setne al + WORD $0xc808 // or al, cl WORD $0xd8f6 // neg al WORD $0x8948; BYTE $0xfe // mov rsi, rdi LONG $0x03eec148 // shr rsi, 3 - LONG $0x14b60f45; BYTE $0x33 // movzx r10d, byte [r11 + rsi] - WORD $0x3044; BYTE $0xd0 // xor al, r10b + LONG $0x14b60f41; BYTE $0x33 // movzx edx, byte [r11 + rsi] WORD $0xf989 // mov ecx, edi WORD $0xe180; BYTE $0x06 // and cl, 6 - WORD $0x01b2 // mov dl, 1 - WORD $0xe2d2 // shl dl, cl - WORD $0xc220 // and dl, al - WORD $0x3044; BYTE $0xd2 // xor dl, r10b - LONG $0x33148841 // mov byte [r11 + rsi], dl - LONG $0x02c78348 // add rdi, 2 - LONG $0x2e0f4166; WORD $0x0846 // ucomisd xmm0, qword [r14 + 8] - LONG $0x10768d4d // lea r14, [r14 + 16] - WORD $0x950f; BYTE $0xd0 // setne al - WORD $0xd8f6 // neg al - WORD $0xd030 // xor al, dl - WORD $0xc980; BYTE $0x01 // or cl, 1 WORD $0x01b3 // mov bl, 1 WORD $0xe3d2 // shl bl, cl + WORD $0xd030 // xor al, dl WORD $0xc320 // and bl, al WORD $0xd330 // xor bl, dl LONG $0x331c8841 // mov byte [r11 + rsi], bl + LONG $0x02c78348 // add rdi, 2 + LONG $0x2e0f4166; WORD $0x0846 // ucomisd xmm0, qword [r14 + 8] + LONG $0x10768d4d // lea r14, [r14 + 16] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd2 // setne dl + WORD $0xc208 // or dl, al + WORD $0xdaf6 // neg dl + WORD $0xda30 // xor dl, bl + WORD $0xc980; BYTE $0x01 // or cl, 1 + WORD $0x01b0 // mov al, 1 + WORD $0xe0d2 // shl al, cl + WORD $0xd020 // and al, dl + WORD $0xd830 // xor al, bl + LONG $0x33048841 // mov byte [r11 + rsi], al WORD $0x3949; BYTE $0xf9 // cmp r9, rdi - JNE LBB5_194 + JNE LBB5_195 -LBB5_195: +LBB5_196: LONG $0x01c0f641 // test r8b, 1 - JE LBB5_199 + JE LBB5_198 LONG $0x2e0f4166; BYTE $0x06 // ucomisd xmm0, qword [r14] - JMP LBB5_197 + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd2 // setne dl + WORD $0xc208 // or dl, al + WORD $0xdaf6 // neg dl + WORD $0x8948; BYTE $0xf8 // mov rax, rdi + LONG $0x03e8c148 // shr rax, 3 + LONG $0x24448b4c; BYTE $0x08 // mov r8, qword [rsp + 8] + LONG $0x00348a41 // mov sil, byte [r8 + rax] + LONG $0x07e78040 // and dil, 7 + WORD $0x01b3 // mov bl, 1 + WORD $0xf989 // mov ecx, edi + WORD $0xe3d2 // shl bl, cl + WORD $0x3040; BYTE $0xf2 // xor dl, sil + WORD $0xd320 // and bl, dl + WORD $0x3040; BYTE $0xf3 // xor bl, sil + LONG $0x001c8841 // mov byte [r8 + rax], bl + JMP LBB5_198 -LBB5_168: +LBB5_169: WORD $0x894d; BYTE $0xc1 // mov r9, r8 LONG $0xfee18349 // and r9, -2 WORD $0xff31 // xor edi, edi LONG $0x247c8b4c; BYTE $0x08 // mov r15, qword [rsp + 8] -LBB5_169: +LBB5_170: WORD $0x3b4d; BYTE $0x1e // cmp r11, qword [r14] WORD $0x950f; BYTE $0xd0 // setne al WORD $0xd8f6 // neg al @@ -26644,14 +27909,14 @@ LBB5_169: WORD $0xd330 // xor bl, dl LONG $0x371c8841 // mov byte [r15 + rsi], bl WORD $0x3949; BYTE $0xf9 // cmp r9, rdi - JNE LBB5_169 + JNE LBB5_170 -LBB5_40: +LBB5_41: LONG $0x01c0f641 // test r8b, 1 - JE LBB5_199 + JE LBB5_198 WORD $0x3b4d; BYTE $0x1e // cmp r11, qword [r14] -LBB5_197: +LBB5_26: WORD $0x950f; BYTE $0xd0 // setne al WORD $0xd8f6 // neg al WORD $0x8948; BYTE $0xfa // mov rdx, rdi @@ -26665,17 +27930,15 @@ LBB5_197: WORD $0x3040; BYTE $0xf0 // xor al, sil WORD $0xc320 // and bl, al WORD $0x3040; BYTE $0xf3 // xor bl, sil + LONG $0x101c8841 // mov byte [r8 + rdx], bl + JMP LBB5_198 -LBB5_198: - LONG $0x101c8841 // mov byte [r8 + rdx], bl - JMP LBB5_199 - -LBB5_140: +LBB5_141: WORD $0x894d; BYTE $0xc1 // mov r9, r8 LONG $0xfee18349 // and r9, -2 WORD $0xf631 // xor esi, esi -LBB5_141: +LBB5_142: LONG $0x1e3b4566 // cmp r11w, word [r14] WORD $0x950f; BYTE $0xd2 // setne dl WORD $0xdaf6 // neg dl @@ -26703,11 +27966,11 @@ LBB5_141: WORD $0xd830 // xor al, bl LONG $0x3c048841 // mov byte [r12 + rdi], al WORD $0x3949; BYTE $0xf1 // cmp r9, rsi - JNE LBB5_141 + JNE LBB5_142 -LBB5_118: +LBB5_119: LONG $0x01c0f641 // test r8b, 1 - JE LBB5_199 + JE LBB5_198 LONG $0x1e3b4566 // cmp r11w, word [r14] WORD $0x950f; BYTE $0xd0 // setne al WORD $0xd8f6 // neg al @@ -26722,97 +27985,103 @@ LBB5_118: WORD $0xc320 // and bl, al WORD $0x3040; BYTE $0xfb // xor bl, dil LONG $0x141c8841 // mov byte [r12 + rdx], bl - JMP LBB5_199 + JMP LBB5_198 -LBB5_191: - WORD $0x894d; BYTE $0xc2 // mov r10, r8 - LONG $0xfee28349 // and r10, -2 +LBB5_192: + WORD $0x894d; BYTE $0xc1 // mov r9, r8 + LONG $0xfee18349 // and r9, -2 WORD $0xf631 // xor esi, esi - WORD $0x894d; BYTE $0xde // mov r14, r11 + WORD $0x894d; BYTE $0xe6 // mov r14, r12 -LBB5_192: +LBB5_193: WORD $0x2e0f; BYTE $0x03 // ucomiss xmm0, dword [rbx] + WORD $0x9a0f; BYTE $0xd1 // setp cl WORD $0x950f; BYTE $0xd2 // setne dl + WORD $0xca08 // or dl, cl WORD $0xdaf6 // neg dl WORD $0x8948; BYTE $0xf7 // mov rdi, rsi LONG $0x03efc148 // shr rdi, 3 - LONG $0x0cb60f45; BYTE $0x3e // movzx r9d, byte [r14 + rdi] - WORD $0x3044; BYTE $0xca // xor dl, r9b + LONG $0x14b60f45; BYTE $0x3e // movzx r10d, byte [r14 + rdi] WORD $0xf189 // mov ecx, esi WORD $0xe180; BYTE $0x06 // and cl, 6 - WORD $0x01b0 // mov al, 1 - WORD $0xe0d2 // shl al, cl - WORD $0xd020 // and al, dl - WORD $0x3044; BYTE $0xc8 // xor al, r9b - LONG $0x3e048841 // mov byte [r14 + rdi], al + WORD $0xb341; BYTE $0x01 // mov r11b, 1 + WORD $0xd241; BYTE $0xe3 // shl r11b, cl + WORD $0x3044; BYTE $0xd2 // xor dl, r10b + WORD $0x2041; BYTE $0xd3 // and r11b, dl + WORD $0x3045; BYTE $0xd3 // xor r11b, r10b + LONG $0x3e1c8845 // mov byte [r14 + rdi], r11b LONG $0x02c68348 // add rsi, 2 LONG $0x04432e0f // ucomiss xmm0, dword [rbx + 4] LONG $0x085b8d48 // lea rbx, [rbx + 8] - LONG $0xd1950f41 // setne r9b - WORD $0xf641; BYTE $0xd9 // neg r9b - WORD $0x3041; BYTE $0xc1 // xor r9b, al + LONG $0xd29a0f41 // setp r10b + WORD $0x950f; BYTE $0xd2 // setne dl + WORD $0x0844; BYTE $0xd2 // or dl, r10b + WORD $0xdaf6 // neg dl + WORD $0x3044; BYTE $0xda // xor dl, r11b WORD $0xc980; BYTE $0x01 // or cl, 1 - WORD $0x01b2 // mov dl, 1 - WORD $0xe2d2 // shl dl, cl - WORD $0x2044; BYTE $0xca // and dl, r9b - WORD $0xc230 // xor dl, al - LONG $0x3e148841 // mov byte [r14 + rdi], dl - WORD $0x3949; BYTE $0xf2 // cmp r10, rsi - JNE LBB5_192 + WORD $0x01b0 // mov al, 1 + WORD $0xe0d2 // shl al, cl + WORD $0xd020 // and al, dl + WORD $0x3044; BYTE $0xd8 // xor al, r11b + LONG $0x3e048841 // mov byte [r14 + rdi], al + WORD $0x3949; BYTE $0xf1 // cmp r9, rsi + JNE LBB5_193 -LBB5_189: +LBB5_190: LONG $0x01c0f641 // test r8b, 1 - JE LBB5_199 + JE LBB5_198 WORD $0x2e0f; BYTE $0x03 // ucomiss xmm0, dword [rbx] - WORD $0x950f; BYTE $0xd0 // setne al - WORD $0xd8f6 // neg al - WORD $0x8948; BYTE $0xf2 // mov rdx, rsi - LONG $0x03eac148 // shr rdx, 3 - LONG $0x133c8a41 // mov dil, byte [r11 + rdx] + WORD $0x9a0f; BYTE $0xd0 // setp al + WORD $0x950f; BYTE $0xd2 // setne dl + WORD $0xc208 // or dl, al + WORD $0xdaf6 // neg dl + WORD $0x8948; BYTE $0xf0 // mov rax, rsi + LONG $0x03e8c148 // shr rax, 3 + LONG $0x043c8a41 // mov dil, byte [r12 + rax] LONG $0x07e68040 // and sil, 7 WORD $0x01b3 // mov bl, 1 WORD $0xf189 // mov ecx, esi WORD $0xe3d2 // shl bl, cl - WORD $0x3040; BYTE $0xf8 // xor al, dil - WORD $0xc320 // and bl, al + WORD $0x3040; BYTE $0xfa // xor dl, dil + WORD $0xd320 // and bl, dl WORD $0x3040; BYTE $0xfb // xor bl, dil - LONG $0x131c8841 // mov byte [r11 + rdx], bl + LONG $0x041c8841 // mov byte [r12 + rax], bl -LBB5_199: +LBB5_198: MOVQ 288(SP), SP RET -LBB5_85: +LBB5_86: LONG $0xf0e28349 // and r10, -16 WORD $0x894c; BYTE $0xd0 // mov rax, r10 LONG $0x05e0c148 // shl rax, 5 WORD $0x014c; BYTE $0xf0 // add rax, r14 QUAD $0x0000011024848948 // mov qword [rsp + 272], rax - QUAD $0x000000d82494894c // mov qword [rsp + 216], r10 + QUAD $0x000000e82494894c // mov qword [rsp + 232], r10 LONG $0x24448b48; BYTE $0x08 // mov rax, qword [rsp + 8] LONG $0x90048d4a // lea rax, [rax + 4*r10] - QUAD $0x0000008024848948 // mov qword [rsp + 128], rax - LONG $0x2444b60f; BYTE $0x40 // movzx eax, byte [rsp + 64] + LONG $0x24448948; BYTE $0x50 // mov qword [rsp + 80], rax + LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] LONG $0xc86e0f66 // movd xmm1, eax LONG $0xc0ef0f66 // pxor xmm0, xmm0 LONG $0x00380f66; BYTE $0xc8 // pshufb xmm1, xmm0 QUAD $0x0000b0248c7f0f66; BYTE $0x00 // movdqa oword [rsp + 176], xmm1 WORD $0xc031 // xor eax, eax -LBB5_86: +LBB5_87: QUAD $0x000000a824848948 // mov qword [rsp + 168], rax LONG $0x05e0c148 // shl rax, 5 - WORD $0x8949; BYTE $0xc1 // mov r9, rax - WORD $0x8948; BYTE $0xc3 // mov rbx, rax - WORD $0x8949; BYTE $0xc7 // mov r15, rax WORD $0x8948; BYTE $0xc2 // mov rdx, rax - WORD $0x8949; BYTE $0xc5 // mov r13, rax - WORD $0x8949; BYTE $0xc0 // mov r8, rax WORD $0x8949; BYTE $0xc4 // mov r12, rax + WORD $0x8949; BYTE $0xc0 // mov r8, rax WORD $0x8949; BYTE $0xc2 // mov r10, rax + WORD $0x8949; BYTE $0xc7 // mov r15, rax + WORD $0x8949; BYTE $0xc1 // mov r9, rax WORD $0x8949; BYTE $0xc3 // mov r11, rax + WORD $0x8948; BYTE $0xc3 // mov rbx, rax WORD $0x8948; BYTE $0xc6 // mov rsi, rax - LONG $0x24448948; BYTE $0x38 // mov qword [rsp + 56], rax + LONG $0x24448948; BYTE $0x48 // mov qword [rsp + 72], rax + WORD $0x8949; BYTE $0xc5 // mov r13, rax LONG $0x0cb60f41; BYTE $0x06 // movzx ecx, byte [r14 + rax] LONG $0xe16e0f66 // movd xmm4, ecx LONG $0x4cb60f41; WORD $0x0106 // movzx ecx, byte [r14 + rax + 1] @@ -26831,7 +28100,7 @@ LBB5_86: LONG $0x6e0f4466; BYTE $0xf1 // movd xmm14, ecx LONG $0x4cb60f41; WORD $0x0806 // movzx ecx, byte [r14 + rax + 8] LONG $0xc16e0f66 // movd xmm0, ecx - QUAD $0x00010024847f0f66; BYTE $0x00 // movdqa oword [rsp + 256], xmm0 + QUAD $0x0000f024847f0f66; BYTE $0x00 // movdqa oword [rsp + 240], xmm0 LONG $0x4cb60f41; WORD $0x0906 // movzx ecx, byte [r14 + rax + 9] LONG $0x6e0f4466; BYTE $0xd9 // movd xmm11, ecx LONG $0x4cb60f41; WORD $0x0a06 // movzx ecx, byte [r14 + rax + 10] @@ -26840,7 +28109,7 @@ LBB5_86: LONG $0x6e0f4466; BYTE $0xe9 // movd xmm13, ecx LONG $0x4cb60f41; WORD $0x0c06 // movzx ecx, byte [r14 + rax + 12] LONG $0xc16e0f66 // movd xmm0, ecx - QUAD $0x0000e024847f0f66; BYTE $0x00 // movdqa oword [rsp + 224], xmm0 + QUAD $0x0000d024847f0f66; BYTE $0x00 // movdqa oword [rsp + 208], xmm0 LONG $0x4cb60f41; WORD $0x0d06 // movzx ecx, byte [r14 + rax + 13] LONG $0xf16e0f66 // movd xmm6, ecx LONG $0x4cb60f41; WORD $0x0e06 // movzx ecx, byte [r14 + rax + 14] @@ -26849,155 +28118,150 @@ LBB5_86: LONG $0xc16e0f66 // movd xmm0, ecx QUAD $0x0000c024847f0f66; BYTE $0x00 // movdqa oword [rsp + 192], xmm0 WORD $0x8948; BYTE $0xc1 // mov rcx, rax - LONG $0x24448948; BYTE $0x50 // mov qword [rsp + 80], rax + QUAD $0x0000008024848948 // mov qword [rsp + 128], rax WORD $0x8948; BYTE $0xc7 // mov rdi, rax LONG $0x20cf8348 // or rdi, 32 - LONG $0x247c8948; BYTE $0x18 // mov qword [rsp + 24], rdi - LONG $0x40c98349 // or r9, 64 - LONG $0x244c894c; BYTE $0x48 // mov qword [rsp + 72], r9 - LONG $0x60cb8348 // or rbx, 96 - LONG $0x245c8948; BYTE $0x20 // mov qword [rsp + 32], rbx - LONG $0x80cf8149; WORD $0x0000; BYTE $0x00 // or r15, 128 - LONG $0x247c894c; BYTE $0x30 // mov qword [rsp + 48], r15 - LONG $0xa0ca8148; WORD $0x0000; BYTE $0x00 // or rdx, 160 - LONG $0xc0cd8149; WORD $0x0000; BYTE $0x00 // or r13, 192 - LONG $0xe0c88149; WORD $0x0000; BYTE $0x00 // or r8, 224 - LONG $0x00cc8149; WORD $0x0001; BYTE $0x00 // or r12, 256 - LONG $0x20ca8149; WORD $0x0001; BYTE $0x00 // or r10, 288 - LONG $0x40cb8149; WORD $0x0001; BYTE $0x00 // or r11, 320 + LONG $0x40ca8348 // or rdx, 64 + LONG $0x24548948; BYTE $0x28 // mov qword [rsp + 40], rdx + LONG $0x60cc8349 // or r12, 96 + LONG $0x80c88149; WORD $0x0000; BYTE $0x00 // or r8, 128 + LONG $0xa0ca8149; WORD $0x0000; BYTE $0x00 // or r10, 160 + LONG $0xc0cf8149; WORD $0x0000; BYTE $0x00 // or r15, 192 + LONG $0xe0c98149; WORD $0x0000; BYTE $0x00 // or r9, 224 + LONG $0x00cb8149; WORD $0x0001; BYTE $0x00 // or r11, 256 + LONG $0x20cb8148; WORD $0x0001; BYTE $0x00 // or rbx, 288 + LONG $0x40ce8148; WORD $0x0001; BYTE $0x00 // or rsi, 320 + LONG $0x24748948; BYTE $0x68 // mov qword [rsp + 104], rsi + LONG $0x24748b48; BYTE $0x48 // mov rsi, qword [rsp + 72] LONG $0x60ce8148; WORD $0x0001; BYTE $0x00 // or rsi, 352 - LONG $0x24748948; BYTE $0x58 // mov qword [rsp + 88], rsi - LONG $0x24748b48; BYTE $0x38 // mov rsi, qword [rsp + 56] - LONG $0x80ce8148; WORD $0x0001; BYTE $0x00 // or rsi, 384 - LONG $0x24748948; BYTE $0x38 // mov qword [rsp + 56], rsi + LONG $0x24748948; BYTE $0x48 // mov qword [rsp + 72], rsi + LONG $0x80cd8149; WORD $0x0001; BYTE $0x00 // or r13, 384 + LONG $0x246c894c; BYTE $0x70 // mov qword [rsp + 112], r13 LONG $0x01a00d48; WORD $0x0000 // or rax, 416 - LONG $0x24448948; BYTE $0x78 // mov qword [rsp + 120], rax - WORD $0x8948; BYTE $0xc8 // mov rax, rcx - LONG $0x01c00d48; WORD $0x0000 // or rax, 448 - LONG $0x24448948; BYTE $0x28 // mov qword [rsp + 40], rax + LONG $0x24448948; BYTE $0x40 // mov qword [rsp + 64], rax + WORD $0x8949; BYTE $0xcd // mov r13, rcx + LONG $0xc0cd8149; WORD $0x0001; BYTE $0x00 // or r13, 448 + LONG $0x246c894c; BYTE $0x38 // mov qword [rsp + 56], r13 LONG $0xe0c98148; WORD $0x0001; BYTE $0x00 // or rcx, 480 - LONG $0x244c8948; BYTE $0x10 // mov qword [rsp + 16], rcx + LONG $0x244c8948; BYTE $0x20 // mov qword [rsp + 32], rcx + WORD $0x8948; BYTE $0xf9 // mov rcx, rdi QUAD $0x013e24203a0f4166 // pinsrb xmm4, byte [r14 + rdi], 1 - QUAD $0x020e24203a0f4366 // pinsrb xmm4, byte [r14 + r9], 2 - QUAD $0x031e24203a0f4166 // pinsrb xmm4, byte [r14 + rbx], 3 - QUAD $0x043e24203a0f4366 // pinsrb xmm4, byte [r14 + r15], 4 - WORD $0x8948; BYTE $0xd7 // mov rdi, rdx - QUAD $0x051624203a0f4166 // pinsrb xmm4, byte [r14 + rdx], 5 - WORD $0x894c; BYTE $0xea // mov rdx, r13 - QUAD $0x0000009824ac894c // mov qword [rsp + 152], r13 - QUAD $0x062e24203a0f4366 // pinsrb xmm4, byte [r14 + r13], 6 - WORD $0x894d; BYTE $0xc5 // mov r13, r8 - QUAD $0x070624203a0f4366 // pinsrb xmm4, byte [r14 + r8], 7 - WORD $0x894d; BYTE $0xe0 // mov r8, r12 - QUAD $0x082624203a0f4366 // pinsrb xmm4, byte [r14 + r12], 8 - QUAD $0x091624203a0f4366 // pinsrb xmm4, byte [r14 + r10], 9 - LONG $0x245c894c; BYTE $0x70 // mov qword [rsp + 112], r11 - QUAD $0x0a1e24203a0f4366 // pinsrb xmm4, byte [r14 + r11], 10 - LONG $0x24448b48; BYTE $0x58 // mov rax, qword [rsp + 88] - QUAD $0x0b0624203a0f4166 // pinsrb xmm4, byte [r14 + rax], 11 - QUAD $0x0c3624203a0f4166 // pinsrb xmm4, byte [r14 + rsi], 12 - LONG $0x244c8b48; BYTE $0x78 // mov rcx, qword [rsp + 120] - QUAD $0x0d0e24203a0f4166 // pinsrb xmm4, byte [r14 + rcx], 13 - LONG $0x24648b4c; BYTE $0x28 // mov r12, qword [rsp + 40] - QUAD $0x0e2624203a0f4366 // pinsrb xmm4, byte [r14 + r12], 14 - LONG $0x245c8b48; BYTE $0x10 // mov rbx, qword [rsp + 16] - QUAD $0x0f1e24203a0f4166 // pinsrb xmm4, byte [r14 + rbx], 15 - LONG $0x247c8b4c; BYTE $0x18 // mov r15, qword [rsp + 24] - QUAD $0x013e5c203a0f4366; BYTE $0x01 // pinsrb xmm3, byte [r14 + r15 + 1], 1 - QUAD $0x010e5c203a0f4366; BYTE $0x02 // pinsrb xmm3, byte [r14 + r9 + 1], 2 - LONG $0x245c8b48; BYTE $0x20 // mov rbx, qword [rsp + 32] - QUAD $0x011e5c203a0f4166; BYTE $0x03 // pinsrb xmm3, byte [r14 + rbx + 1], 3 - LONG $0x244c8b4c; BYTE $0x30 // mov r9, qword [rsp + 48] - QUAD $0x010e5c203a0f4366; BYTE $0x04 // pinsrb xmm3, byte [r14 + r9 + 1], 4 - QUAD $0x013e5c203a0f4166; BYTE $0x05 // pinsrb xmm3, byte [r14 + rdi + 1], 5 - LONG $0x247c8948; BYTE $0x60 // mov qword [rsp + 96], rdi - QUAD $0x01165c203a0f4166; BYTE $0x06 // pinsrb xmm3, byte [r14 + rdx + 1], 6 - QUAD $0x012e5c203a0f4366; BYTE $0x07 // pinsrb xmm3, byte [r14 + r13 + 1], 7 - WORD $0x894c; BYTE $0xeb // mov rbx, r13 - QUAD $0x01065c203a0f4366; BYTE $0x08 // pinsrb xmm3, byte [r14 + r8 + 1], 8 - WORD $0x894d; BYTE $0xc5 // mov r13, r8 - QUAD $0x01165c203a0f4366; BYTE $0x09 // pinsrb xmm3, byte [r14 + r10 + 1], 9 - WORD $0x894c; BYTE $0xd2 // mov rdx, r10 - QUAD $0x000000902494894c // mov qword [rsp + 144], r10 - QUAD $0x011e5c203a0f4366; BYTE $0x0a // pinsrb xmm3, byte [r14 + r11 + 1], 10 - QUAD $0x01065c203a0f4166; BYTE $0x0b // pinsrb xmm3, byte [r14 + rax + 1], 11 - QUAD $0x01365c203a0f4166; BYTE $0x0c // pinsrb xmm3, byte [r14 + rsi + 1], 12 - QUAD $0x010e5c203a0f4166; BYTE $0x0d // pinsrb xmm3, byte [r14 + rcx + 1], 13 - QUAD $0x01265c203a0f4366; BYTE $0x0e // pinsrb xmm3, byte [r14 + r12 + 1], 14 + QUAD $0x021624203a0f4166 // pinsrb xmm4, byte [r14 + rdx], 2 + LONG $0x2464894c; BYTE $0x78 // mov qword [rsp + 120], r12 + QUAD $0x032624203a0f4366 // pinsrb xmm4, byte [r14 + r12], 3 + QUAD $0x040624203a0f4366 // pinsrb xmm4, byte [r14 + r8], 4 + LONG $0x2454894c; BYTE $0x60 // mov qword [rsp + 96], r10 + QUAD $0x051624203a0f4366 // pinsrb xmm4, byte [r14 + r10], 5 + QUAD $0x0000008824bc894c // mov qword [rsp + 136], r15 + QUAD $0x063e24203a0f4366 // pinsrb xmm4, byte [r14 + r15], 6 + QUAD $0x070e24203a0f4366 // pinsrb xmm4, byte [r14 + r9], 7 + QUAD $0x081e24203a0f4366 // pinsrb xmm4, byte [r14 + r11], 8 + LONG $0x245c8948; BYTE $0x58 // mov qword [rsp + 88], rbx + QUAD $0x091e24203a0f4166 // pinsrb xmm4, byte [r14 + rbx], 9 + LONG $0x245c8b48; BYTE $0x68 // mov rbx, qword [rsp + 104] + QUAD $0x0a1e24203a0f4166 // pinsrb xmm4, byte [r14 + rbx], 10 + QUAD $0x0b3624203a0f4166 // pinsrb xmm4, byte [r14 + rsi], 11 + LONG $0x247c8b48; BYTE $0x70 // mov rdi, qword [rsp + 112] + QUAD $0x0c3e24203a0f4166 // pinsrb xmm4, byte [r14 + rdi], 12 + LONG $0x24448b48; BYTE $0x40 // mov rax, qword [rsp + 64] + QUAD $0x0d0624203a0f4166 // pinsrb xmm4, byte [r14 + rax], 13 + QUAD $0x0e2e24203a0f4366 // pinsrb xmm4, byte [r14 + r13], 14 + LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] + QUAD $0x0f0624203a0f4166 // pinsrb xmm4, byte [r14 + rax], 15 + QUAD $0x010e5c203a0f4166; BYTE $0x01 // pinsrb xmm3, byte [r14 + rcx + 1], 1 + QUAD $0x01165c203a0f4166; BYTE $0x02 // pinsrb xmm3, byte [r14 + rdx + 1], 2 + QUAD $0x01265c203a0f4366; BYTE $0x03 // pinsrb xmm3, byte [r14 + r12 + 1], 3 + QUAD $0x01065c203a0f4366; BYTE $0x04 // pinsrb xmm3, byte [r14 + r8 + 1], 4 + WORD $0x894c; BYTE $0xc2 // mov rdx, r8 + QUAD $0x01165c203a0f4366; BYTE $0x05 // pinsrb xmm3, byte [r14 + r10 + 1], 5 + QUAD $0x013e5c203a0f4366; BYTE $0x06 // pinsrb xmm3, byte [r14 + r15 + 1], 6 + QUAD $0x010e5c203a0f4366; BYTE $0x07 // pinsrb xmm3, byte [r14 + r9 + 1], 7 + WORD $0x894d; BYTE $0xc8 // mov r8, r9 + QUAD $0x011e5c203a0f4366; BYTE $0x08 // pinsrb xmm3, byte [r14 + r11 + 1], 8 + WORD $0x894d; BYTE $0xda // mov r10, r11 + LONG $0x24648b4c; BYTE $0x58 // mov r12, qword [rsp + 88] + QUAD $0x01265c203a0f4366; BYTE $0x09 // pinsrb xmm3, byte [r14 + r12 + 1], 9 + QUAD $0x011e5c203a0f4166; BYTE $0x0a // pinsrb xmm3, byte [r14 + rbx + 1], 10 + QUAD $0x01365c203a0f4166; BYTE $0x0b // pinsrb xmm3, byte [r14 + rsi + 1], 11 + QUAD $0x013e5c203a0f4166; BYTE $0x0c // pinsrb xmm3, byte [r14 + rdi + 1], 12 + LONG $0x24448b48; BYTE $0x40 // mov rax, qword [rsp + 64] + QUAD $0x01065c203a0f4166; BYTE $0x0d // pinsrb xmm3, byte [r14 + rax + 1], 13 + QUAD $0x012e5c203a0f4366; BYTE $0x0e // pinsrb xmm3, byte [r14 + r13 + 1], 14 QUAD $0x0000b0248c6f0f66; BYTE $0x00 // movdqa xmm1, oword [rsp + 176] LONG $0xe1740f66 // pcmpeqb xmm4, xmm1 - LONG $0x24448b48; BYTE $0x10 // mov rax, qword [rsp + 16] - QUAD $0x01065c203a0f4166; BYTE $0x0f // pinsrb xmm3, byte [r14 + rax + 1], 15 + LONG $0x246c8b4c; BYTE $0x20 // mov r13, qword [rsp + 32] + QUAD $0x012e5c203a0f4366; BYTE $0x0f // pinsrb xmm3, byte [r14 + r13 + 1], 15 LONG $0xd9740f66 // pcmpeqb xmm3, xmm1 QUAD $0x00000100856f0f66 // movdqa xmm0, oword 256[rbp] /* [rip + .LCPI5_16] */ LONG $0xd8df0f66 // pandn xmm3, xmm0 LONG $0xdcfc0f66 // paddb xmm3, xmm4 - LONG $0x24448b48; BYTE $0x50 // mov rax, qword [rsp + 80] + QUAD $0x0000008024848b48 // mov rax, qword [rsp + 128] LONG $0x74b60f41; WORD $0x1006 // movzx esi, byte [r14 + rax + 16] LONG $0x6e0f4466; BYTE $0xd6 // movd xmm10, esi - LONG $0x24648b4c; BYTE $0x18 // mov r12, qword [rsp + 24] - QUAD $0x02266c203a0f4366; BYTE $0x01 // pinsrb xmm5, byte [r14 + r12 + 2], 1 - LONG $0x244c8b48; BYTE $0x48 // mov rcx, qword [rsp + 72] + QUAD $0x020e6c203a0f4166; BYTE $0x01 // pinsrb xmm5, byte [r14 + rcx + 2], 1 + WORD $0x8948; BYTE $0xc8 // mov rax, rcx + LONG $0x244c8948; BYTE $0x18 // mov qword [rsp + 24], rcx + LONG $0x244c8b48; BYTE $0x28 // mov rcx, qword [rsp + 40] QUAD $0x020e6c203a0f4166; BYTE $0x02 // pinsrb xmm5, byte [r14 + rcx + 2], 2 - LONG $0x247c8b4c; BYTE $0x20 // mov r15, qword [rsp + 32] + LONG $0x247c8b4c; BYTE $0x78 // mov r15, qword [rsp + 120] QUAD $0x023e6c203a0f4366; BYTE $0x03 // pinsrb xmm5, byte [r14 + r15 + 2], 3 - WORD $0x894d; BYTE $0xcb // mov r11, r9 - QUAD $0x020e6c203a0f4366; BYTE $0x04 // pinsrb xmm5, byte [r14 + r9 + 2], 4 - QUAD $0x023e6c203a0f4166; BYTE $0x05 // pinsrb xmm5, byte [r14 + rdi + 2], 5 - QUAD $0x0000009824948b4c // mov r10, qword [rsp + 152] - QUAD $0x02166c203a0f4366; BYTE $0x06 // pinsrb xmm5, byte [r14 + r10 + 2], 6 - WORD $0x8949; BYTE $0xd8 // mov r8, rbx - QUAD $0x021e6c203a0f4166; BYTE $0x07 // pinsrb xmm5, byte [r14 + rbx + 2], 7 - LONG $0x246c894c; BYTE $0x68 // mov qword [rsp + 104], r13 - QUAD $0x022e6c203a0f4366; BYTE $0x08 // pinsrb xmm5, byte [r14 + r13 + 2], 8 - QUAD $0x02166c203a0f4166; BYTE $0x09 // pinsrb xmm5, byte [r14 + rdx + 2], 9 - LONG $0x247c8b48; BYTE $0x70 // mov rdi, qword [rsp + 112] - QUAD $0x023e6c203a0f4166; BYTE $0x0a // pinsrb xmm5, byte [r14 + rdi + 2], 10 - LONG $0x24748b48; BYTE $0x58 // mov rsi, qword [rsp + 88] - QUAD $0x02366c203a0f4166; BYTE $0x0b // pinsrb xmm5, byte [r14 + rsi + 2], 11 - LONG $0x24448b48; BYTE $0x38 // mov rax, qword [rsp + 56] - QUAD $0x02066c203a0f4166; BYTE $0x0c // pinsrb xmm5, byte [r14 + rax + 2], 12 - LONG $0x245c8b48; BYTE $0x78 // mov rbx, qword [rsp + 120] - QUAD $0x021e6c203a0f4166; BYTE $0x0d // pinsrb xmm5, byte [r14 + rbx + 2], 13 - LONG $0x244c8b4c; BYTE $0x28 // mov r9, qword [rsp + 40] - QUAD $0x020e6c203a0f4366; BYTE $0x0e // pinsrb xmm5, byte [r14 + r9 + 2], 14 - LONG $0x24548b48; BYTE $0x10 // mov rdx, qword [rsp + 16] - QUAD $0x02166c203a0f4166; BYTE $0x0f // pinsrb xmm5, byte [r14 + rdx + 2], 15 - QUAD $0x03267c203a0f4366; BYTE $0x01 // pinsrb xmm7, byte [r14 + r12 + 3], 1 - QUAD $0x030e7c203a0f4166; BYTE $0x02 // pinsrb xmm7, byte [r14 + rcx + 3], 2 + WORD $0x8948; BYTE $0xd3 // mov rbx, rdx + QUAD $0x02166c203a0f4166; BYTE $0x04 // pinsrb xmm5, byte [r14 + rdx + 2], 4 + LONG $0x244c8b4c; BYTE $0x60 // mov r9, qword [rsp + 96] + QUAD $0x020e6c203a0f4366; BYTE $0x05 // pinsrb xmm5, byte [r14 + r9 + 2], 5 + QUAD $0x00000088249c8b4c // mov r11, qword [rsp + 136] + QUAD $0x021e6c203a0f4366; BYTE $0x06 // pinsrb xmm5, byte [r14 + r11 + 2], 6 + WORD $0x894c; BYTE $0xc2 // mov rdx, r8 + LONG $0x2444894c; BYTE $0x30 // mov qword [rsp + 48], r8 + QUAD $0x02066c203a0f4366; BYTE $0x07 // pinsrb xmm5, byte [r14 + r8 + 2], 7 + QUAD $0x02166c203a0f4366; BYTE $0x08 // pinsrb xmm5, byte [r14 + r10 + 2], 8 + QUAD $0x02266c203a0f4366; BYTE $0x09 // pinsrb xmm5, byte [r14 + r12 + 2], 9 + LONG $0x24448b4c; BYTE $0x68 // mov r8, qword [rsp + 104] + QUAD $0x02066c203a0f4366; BYTE $0x0a // pinsrb xmm5, byte [r14 + r8 + 2], 10 + LONG $0x244c8b48; BYTE $0x48 // mov rcx, qword [rsp + 72] + QUAD $0x020e6c203a0f4166; BYTE $0x0b // pinsrb xmm5, byte [r14 + rcx + 2], 11 + QUAD $0x023e6c203a0f4166; BYTE $0x0c // pinsrb xmm5, byte [r14 + rdi + 2], 12 + LONG $0x24748b48; BYTE $0x40 // mov rsi, qword [rsp + 64] + QUAD $0x02366c203a0f4166; BYTE $0x0d // pinsrb xmm5, byte [r14 + rsi + 2], 13 + LONG $0x24748b48; BYTE $0x38 // mov rsi, qword [rsp + 56] + QUAD $0x02366c203a0f4166; BYTE $0x0e // pinsrb xmm5, byte [r14 + rsi + 2], 14 + QUAD $0x022e6c203a0f4366; BYTE $0x0f // pinsrb xmm5, byte [r14 + r13 + 2], 15 + QUAD $0x03067c203a0f4166; BYTE $0x01 // pinsrb xmm7, byte [r14 + rax + 3], 1 + LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] + QUAD $0x03067c203a0f4166; BYTE $0x02 // pinsrb xmm7, byte [r14 + rax + 3], 2 QUAD $0x033e7c203a0f4366; BYTE $0x03 // pinsrb xmm7, byte [r14 + r15 + 3], 3 - QUAD $0x031e7c203a0f4366; BYTE $0x04 // pinsrb xmm7, byte [r14 + r11 + 3], 4 - LONG $0x24448b48; BYTE $0x60 // mov rax, qword [rsp + 96] - QUAD $0x03067c203a0f4166; BYTE $0x05 // pinsrb xmm7, byte [r14 + rax + 3], 5 - QUAD $0x03167c203a0f4366; BYTE $0x06 // pinsrb xmm7, byte [r14 + r10 + 3], 6 - QUAD $0x03067c203a0f4366; BYTE $0x07 // pinsrb xmm7, byte [r14 + r8 + 3], 7 - QUAD $0x032e7c203a0f4366; BYTE $0x08 // pinsrb xmm7, byte [r14 + r13 + 3], 8 - QUAD $0x0000009024848b48 // mov rax, qword [rsp + 144] - QUAD $0x03067c203a0f4166; BYTE $0x09 // pinsrb xmm7, byte [r14 + rax + 3], 9 - QUAD $0x033e7c203a0f4166; BYTE $0x0a // pinsrb xmm7, byte [r14 + rdi + 3], 10 - QUAD $0x03367c203a0f4166; BYTE $0x0b // pinsrb xmm7, byte [r14 + rsi + 3], 11 - LONG $0x24448b48; BYTE $0x38 // mov rax, qword [rsp + 56] - QUAD $0x03067c203a0f4166; BYTE $0x0c // pinsrb xmm7, byte [r14 + rax + 3], 12 - QUAD $0x031e7c203a0f4166; BYTE $0x0d // pinsrb xmm7, byte [r14 + rbx + 3], 13 - QUAD $0x030e7c203a0f4366; BYTE $0x0e // pinsrb xmm7, byte [r14 + r9 + 3], 14 - QUAD $0x03167c203a0f4166; BYTE $0x0f // pinsrb xmm7, byte [r14 + rdx + 3], 15 - QUAD $0x04264c203a0f4766; BYTE $0x01 // pinsrb xmm9, byte [r14 + r12 + 4], 1 - QUAD $0x040e4c203a0f4566; BYTE $0x02 // pinsrb xmm9, byte [r14 + rcx + 4], 2 + QUAD $0x031e7c203a0f4166; BYTE $0x04 // pinsrb xmm7, byte [r14 + rbx + 3], 4 + QUAD $0x030e7c203a0f4366; BYTE $0x05 // pinsrb xmm7, byte [r14 + r9 + 3], 5 + QUAD $0x031e7c203a0f4366; BYTE $0x06 // pinsrb xmm7, byte [r14 + r11 + 3], 6 + QUAD $0x03167c203a0f4166; BYTE $0x07 // pinsrb xmm7, byte [r14 + rdx + 3], 7 + QUAD $0x03167c203a0f4366; BYTE $0x08 // pinsrb xmm7, byte [r14 + r10 + 3], 8 + QUAD $0x03267c203a0f4366; BYTE $0x09 // pinsrb xmm7, byte [r14 + r12 + 3], 9 + QUAD $0x03067c203a0f4366; BYTE $0x0a // pinsrb xmm7, byte [r14 + r8 + 3], 10 + QUAD $0x030e7c203a0f4166; BYTE $0x0b // pinsrb xmm7, byte [r14 + rcx + 3], 11 + QUAD $0x033e7c203a0f4166; BYTE $0x0c // pinsrb xmm7, byte [r14 + rdi + 3], 12 + LONG $0x24448b48; BYTE $0x40 // mov rax, qword [rsp + 64] + QUAD $0x03067c203a0f4166; BYTE $0x0d // pinsrb xmm7, byte [r14 + rax + 3], 13 + QUAD $0x03367c203a0f4166; BYTE $0x0e // pinsrb xmm7, byte [r14 + rsi + 3], 14 + QUAD $0x032e7c203a0f4366; BYTE $0x0f // pinsrb xmm7, byte [r14 + r13 + 3], 15 + LONG $0x24448b48; BYTE $0x18 // mov rax, qword [rsp + 24] + QUAD $0x04064c203a0f4566; BYTE $0x01 // pinsrb xmm9, byte [r14 + rax + 4], 1 + LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] + QUAD $0x04064c203a0f4566; BYTE $0x02 // pinsrb xmm9, byte [r14 + rax + 4], 2 QUAD $0x043e4c203a0f4766; BYTE $0x03 // pinsrb xmm9, byte [r14 + r15 + 4], 3 - QUAD $0x041e4c203a0f4766; BYTE $0x04 // pinsrb xmm9, byte [r14 + r11 + 4], 4 - LONG $0x24648b4c; BYTE $0x60 // mov r12, qword [rsp + 96] - QUAD $0x04264c203a0f4766; BYTE $0x05 // pinsrb xmm9, byte [r14 + r12 + 4], 5 - QUAD $0x04164c203a0f4766; BYTE $0x06 // pinsrb xmm9, byte [r14 + r10 + 4], 6 - QUAD $0x04064c203a0f4766; BYTE $0x07 // pinsrb xmm9, byte [r14 + r8 + 4], 7 - QUAD $0x042e4c203a0f4766; BYTE $0x08 // pinsrb xmm9, byte [r14 + r13 + 4], 8 - QUAD $0x00000090248c8b48 // mov rcx, qword [rsp + 144] - QUAD $0x040e4c203a0f4566; BYTE $0x09 // pinsrb xmm9, byte [r14 + rcx + 4], 9 - QUAD $0x043e4c203a0f4566; BYTE $0x0a // pinsrb xmm9, byte [r14 + rdi + 4], 10 - QUAD $0x04364c203a0f4566; BYTE $0x0b // pinsrb xmm9, byte [r14 + rsi + 4], 11 - QUAD $0x04064c203a0f4566; BYTE $0x0c // pinsrb xmm9, byte [r14 + rax + 4], 12 - QUAD $0x041e4c203a0f4566; BYTE $0x0d // pinsrb xmm9, byte [r14 + rbx + 4], 13 - QUAD $0x040e4c203a0f4766; BYTE $0x0e // pinsrb xmm9, byte [r14 + r9 + 4], 14 - QUAD $0x04164c203a0f4566; BYTE $0x0f // pinsrb xmm9, byte [r14 + rdx + 4], 15 + QUAD $0x041e4c203a0f4566; BYTE $0x04 // pinsrb xmm9, byte [r14 + rbx + 4], 4 + QUAD $0x040e4c203a0f4766; BYTE $0x05 // pinsrb xmm9, byte [r14 + r9 + 4], 5 + QUAD $0x041e4c203a0f4766; BYTE $0x06 // pinsrb xmm9, byte [r14 + r11 + 4], 6 + QUAD $0x04164c203a0f4566; BYTE $0x07 // pinsrb xmm9, byte [r14 + rdx + 4], 7 + QUAD $0x04164c203a0f4766; BYTE $0x08 // pinsrb xmm9, byte [r14 + r10 + 4], 8 + QUAD $0x000000902494894c // mov qword [rsp + 144], r10 + QUAD $0x04264c203a0f4766; BYTE $0x09 // pinsrb xmm9, byte [r14 + r12 + 4], 9 + QUAD $0x04064c203a0f4766; BYTE $0x0a // pinsrb xmm9, byte [r14 + r8 + 4], 10 + QUAD $0x040e4c203a0f4566; BYTE $0x0b // pinsrb xmm9, byte [r14 + rcx + 4], 11 + QUAD $0x043e4c203a0f4566; BYTE $0x0c // pinsrb xmm9, byte [r14 + rdi + 4], 12 + LONG $0x24548b48; BYTE $0x40 // mov rdx, qword [rsp + 64] + QUAD $0x04164c203a0f4566; BYTE $0x0d // pinsrb xmm9, byte [r14 + rdx + 4], 13 + QUAD $0x04364c203a0f4566; BYTE $0x0e // pinsrb xmm9, byte [r14 + rsi + 4], 14 + QUAD $0x042e4c203a0f4766; BYTE $0x0f // pinsrb xmm9, byte [r14 + r13 + 4], 15 LONG $0xe9740f66 // pcmpeqb xmm5, xmm1 QUAD $0x00000110856f0f66 // movdqa xmm0, oword 272[rbp] /* [rip + .LCPI5_17] */ LONG $0xe8df0f66 // pandn xmm5, xmm0 @@ -27005,87 +28269,82 @@ LBB5_86: QUAD $0x00000120856f0f66 // movdqa xmm0, oword 288[rbp] /* [rip + .LCPI5_18] */ LONG $0xf8df0f66 // pandn xmm7, xmm0 LONG $0xfdeb0f66 // por xmm7, xmm5 - LONG $0x24548b48; BYTE $0x50 // mov rdx, qword [rsp + 80] - LONG $0x74b60f41; WORD $0x1116 // movzx esi, byte [r14 + rdx + 17] + QUAD $0x00000080248c8b4c // mov r9, qword [rsp + 128] + LONG $0x74b60f43; WORD $0x110e // movzx esi, byte [r14 + r9 + 17] LONG $0xe66e0f66 // movd xmm4, esi LONG $0x740f4466; BYTE $0xc9 // pcmpeqb xmm9, xmm1 QUAD $0x00000130856f0f66 // movdqa xmm0, oword 304[rbp] /* [rip + .LCPI5_19] */ LONG $0xdf0f4466; BYTE $0xc8 // pandn xmm9, xmm0 LONG $0xeb0f4466; BYTE $0xcf // por xmm9, xmm7 - LONG $0x74b60f41; WORD $0x1216 // movzx esi, byte [r14 + rdx + 18] + LONG $0x74b60f43; WORD $0x120e // movzx esi, byte [r14 + r9 + 18] LONG $0xfe6e0f66 // movd xmm7, esi LONG $0xc0760f66 // pcmpeqd xmm0, xmm0 LONG $0xd8f80f66 // psubb xmm3, xmm0 LONG $0xeb0f4466; BYTE $0xcb // por xmm9, xmm3 - LONG $0x74b60f41; WORD $0x1316 // movzx esi, byte [r14 + rdx + 19] + LONG $0x74b60f43; WORD $0x130e // movzx esi, byte [r14 + r9 + 19] LONG $0xee6e0f66 // movd xmm5, esi - LONG $0x24548b48; BYTE $0x18 // mov rdx, qword [rsp + 24] - QUAD $0x051654203a0f4166; BYTE $0x01 // pinsrb xmm2, byte [r14 + rdx + 5], 1 - LONG $0x247c8b48; BYTE $0x48 // mov rdi, qword [rsp + 72] - QUAD $0x053e54203a0f4166; BYTE $0x02 // pinsrb xmm2, byte [r14 + rdi + 5], 2 + LONG $0x244c8b4c; BYTE $0x18 // mov r9, qword [rsp + 24] + QUAD $0x050e54203a0f4366; BYTE $0x01 // pinsrb xmm2, byte [r14 + r9 + 5], 1 + LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] + QUAD $0x050654203a0f4166; BYTE $0x02 // pinsrb xmm2, byte [r14 + rax + 5], 2 QUAD $0x053e54203a0f4366; BYTE $0x03 // pinsrb xmm2, byte [r14 + r15 + 5], 3 - QUAD $0x051e54203a0f4366; BYTE $0x04 // pinsrb xmm2, byte [r14 + r11 + 5], 4 - WORD $0x894d; BYTE $0xe1 // mov r9, r12 - QUAD $0x052654203a0f4366; BYTE $0x05 // pinsrb xmm2, byte [r14 + r12 + 5], 5 - QUAD $0x051654203a0f4366; BYTE $0x06 // pinsrb xmm2, byte [r14 + r10 + 5], 6 - WORD $0x894d; BYTE $0xc5 // mov r13, r8 - QUAD $0x050654203a0f4366; BYTE $0x07 // pinsrb xmm2, byte [r14 + r8 + 5], 7 - LONG $0x245c8b4c; BYTE $0x68 // mov r11, qword [rsp + 104] - QUAD $0x051e54203a0f4366; BYTE $0x08 // pinsrb xmm2, byte [r14 + r11 + 5], 8 + QUAD $0x051e54203a0f4166; BYTE $0x04 // pinsrb xmm2, byte [r14 + rbx + 5], 4 + WORD $0x8949; BYTE $0xdc // mov r12, rbx + QUAD $0x00000098249c8948 // mov qword [rsp + 152], rbx + LONG $0x246c8b4c; BYTE $0x60 // mov r13, qword [rsp + 96] + QUAD $0x052e54203a0f4366; BYTE $0x05 // pinsrb xmm2, byte [r14 + r13 + 5], 5 + QUAD $0x051e54203a0f4366; BYTE $0x06 // pinsrb xmm2, byte [r14 + r11 + 5], 6 + LONG $0x24748b48; BYTE $0x30 // mov rsi, qword [rsp + 48] + QUAD $0x053654203a0f4166; BYTE $0x07 // pinsrb xmm2, byte [r14 + rsi + 5], 7 + QUAD $0x051654203a0f4366; BYTE $0x08 // pinsrb xmm2, byte [r14 + r10 + 5], 8 + LONG $0x247c8b4c; BYTE $0x58 // mov r15, qword [rsp + 88] + QUAD $0x053e54203a0f4366; BYTE $0x09 // pinsrb xmm2, byte [r14 + r15 + 5], 9 + QUAD $0x050654203a0f4366; BYTE $0x0a // pinsrb xmm2, byte [r14 + r8 + 5], 10 + QUAD $0x050e54203a0f4166; BYTE $0x0b // pinsrb xmm2, byte [r14 + rcx + 5], 11 + QUAD $0x053e54203a0f4166; BYTE $0x0c // pinsrb xmm2, byte [r14 + rdi + 5], 12 + QUAD $0x051654203a0f4166; BYTE $0x0d // pinsrb xmm2, byte [r14 + rdx + 5], 13 + LONG $0x245c8b4c; BYTE $0x38 // mov r11, qword [rsp + 56] + QUAD $0x051e54203a0f4366; BYTE $0x0e // pinsrb xmm2, byte [r14 + r11 + 5], 14 + LONG $0x24548b4c; BYTE $0x20 // mov r10, qword [rsp + 32] + QUAD $0x051654203a0f4366; BYTE $0x0f // pinsrb xmm2, byte [r14 + r10 + 5], 15 + QUAD $0x060e44203a0f4766; BYTE $0x01 // pinsrb xmm8, byte [r14 + r9 + 6], 1 + QUAD $0x060644203a0f4566; BYTE $0x02 // pinsrb xmm8, byte [r14 + rax + 6], 2 + LONG $0x245c8b48; BYTE $0x78 // mov rbx, qword [rsp + 120] + QUAD $0x061e44203a0f4566; BYTE $0x03 // pinsrb xmm8, byte [r14 + rbx + 6], 3 + QUAD $0x062644203a0f4766; BYTE $0x04 // pinsrb xmm8, byte [r14 + r12 + 6], 4 + QUAD $0x062e44203a0f4766; BYTE $0x05 // pinsrb xmm8, byte [r14 + r13 + 6], 5 + QUAD $0x0000008824a48b4c // mov r12, qword [rsp + 136] + QUAD $0x062644203a0f4766; BYTE $0x06 // pinsrb xmm8, byte [r14 + r12 + 6], 6 + QUAD $0x063644203a0f4566; BYTE $0x07 // pinsrb xmm8, byte [r14 + rsi + 6], 7 QUAD $0x0000009024a48b4c // mov r12, qword [rsp + 144] - QUAD $0x052654203a0f4366; BYTE $0x09 // pinsrb xmm2, byte [r14 + r12 + 5], 9 - LONG $0x24748b48; BYTE $0x70 // mov rsi, qword [rsp + 112] - QUAD $0x053654203a0f4166; BYTE $0x0a // pinsrb xmm2, byte [r14 + rsi + 5], 10 - LONG $0x24448b4c; BYTE $0x58 // mov r8, qword [rsp + 88] - QUAD $0x050654203a0f4366; BYTE $0x0b // pinsrb xmm2, byte [r14 + r8 + 5], 11 - WORD $0x8948; BYTE $0xc1 // mov rcx, rax - QUAD $0x050654203a0f4166; BYTE $0x0c // pinsrb xmm2, byte [r14 + rax + 5], 12 - QUAD $0x051e54203a0f4166; BYTE $0x0d // pinsrb xmm2, byte [r14 + rbx + 5], 13 - LONG $0x247c8b4c; BYTE $0x28 // mov r15, qword [rsp + 40] - QUAD $0x053e54203a0f4366; BYTE $0x0e // pinsrb xmm2, byte [r14 + r15 + 5], 14 - LONG $0x247c8b4c; BYTE $0x10 // mov r15, qword [rsp + 16] - QUAD $0x053e54203a0f4366; BYTE $0x0f // pinsrb xmm2, byte [r14 + r15 + 5], 15 - QUAD $0x061644203a0f4566; BYTE $0x01 // pinsrb xmm8, byte [r14 + rdx + 6], 1 - QUAD $0x063e44203a0f4566; BYTE $0x02 // pinsrb xmm8, byte [r14 + rdi + 6], 2 - LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] - QUAD $0x060644203a0f4566; BYTE $0x03 // pinsrb xmm8, byte [r14 + rax + 6], 3 - LONG $0x24448b48; BYTE $0x30 // mov rax, qword [rsp + 48] - QUAD $0x060644203a0f4566; BYTE $0x04 // pinsrb xmm8, byte [r14 + rax + 6], 4 - QUAD $0x060e44203a0f4766; BYTE $0x05 // pinsrb xmm8, byte [r14 + r9 + 6], 5 - QUAD $0x061644203a0f4766; BYTE $0x06 // pinsrb xmm8, byte [r14 + r10 + 6], 6 - QUAD $0x062e44203a0f4766; BYTE $0x07 // pinsrb xmm8, byte [r14 + r13 + 6], 7 - WORD $0x894d; BYTE $0xea // mov r10, r13 - QUAD $0x0000008824ac894c // mov qword [rsp + 136], r13 - QUAD $0x061e44203a0f4766; BYTE $0x08 // pinsrb xmm8, byte [r14 + r11 + 6], 8 - QUAD $0x062644203a0f4766; BYTE $0x09 // pinsrb xmm8, byte [r14 + r12 + 6], 9 - QUAD $0x063644203a0f4566; BYTE $0x0a // pinsrb xmm8, byte [r14 + rsi + 6], 10 - QUAD $0x060644203a0f4766; BYTE $0x0b // pinsrb xmm8, byte [r14 + r8 + 6], 11 - QUAD $0x060e44203a0f4566; BYTE $0x0c // pinsrb xmm8, byte [r14 + rcx + 6], 12 - QUAD $0x061e44203a0f4566; BYTE $0x0d // pinsrb xmm8, byte [r14 + rbx + 6], 13 - LONG $0x246c8b4c; BYTE $0x28 // mov r13, qword [rsp + 40] - QUAD $0x062e44203a0f4766; BYTE $0x0e // pinsrb xmm8, byte [r14 + r13 + 6], 14 - WORD $0x894d; BYTE $0xf8 // mov r8, r15 - QUAD $0x063e44203a0f4766; BYTE $0x0f // pinsrb xmm8, byte [r14 + r15 + 6], 15 - QUAD $0x071674203a0f4566; BYTE $0x01 // pinsrb xmm14, byte [r14 + rdx + 7], 1 - QUAD $0x073e74203a0f4566; BYTE $0x02 // pinsrb xmm14, byte [r14 + rdi + 7], 2 - LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] - QUAD $0x070674203a0f4566; BYTE $0x03 // pinsrb xmm14, byte [r14 + rax + 7], 3 - WORD $0x8948; BYTE $0xc2 // mov rdx, rax - LONG $0x245c8b4c; BYTE $0x30 // mov r11, qword [rsp + 48] + QUAD $0x062644203a0f4766; BYTE $0x08 // pinsrb xmm8, byte [r14 + r12 + 6], 8 + QUAD $0x063e44203a0f4766; BYTE $0x09 // pinsrb xmm8, byte [r14 + r15 + 6], 9 + QUAD $0x060644203a0f4766; BYTE $0x0a // pinsrb xmm8, byte [r14 + r8 + 6], 10 + QUAD $0x060e44203a0f4566; BYTE $0x0b // pinsrb xmm8, byte [r14 + rcx + 6], 11 + QUAD $0x063e44203a0f4566; BYTE $0x0c // pinsrb xmm8, byte [r14 + rdi + 6], 12 + QUAD $0x061644203a0f4566; BYTE $0x0d // pinsrb xmm8, byte [r14 + rdx + 6], 13 + QUAD $0x061e44203a0f4766; BYTE $0x0e // pinsrb xmm8, byte [r14 + r11 + 6], 14 + QUAD $0x061644203a0f4766; BYTE $0x0f // pinsrb xmm8, byte [r14 + r10 + 6], 15 + QUAD $0x070e74203a0f4766; BYTE $0x01 // pinsrb xmm14, byte [r14 + r9 + 7], 1 + QUAD $0x070674203a0f4566; BYTE $0x02 // pinsrb xmm14, byte [r14 + rax + 7], 2 + WORD $0x8949; BYTE $0xc7 // mov r15, rax + QUAD $0x071e74203a0f4566; BYTE $0x03 // pinsrb xmm14, byte [r14 + rbx + 7], 3 + QUAD $0x00000098249c8b4c // mov r11, qword [rsp + 152] QUAD $0x071e74203a0f4766; BYTE $0x04 // pinsrb xmm14, byte [r14 + r11 + 7], 4 - QUAD $0x070e74203a0f4766; BYTE $0x05 // pinsrb xmm14, byte [r14 + r9 + 7], 5 - QUAD $0x00000098248c8b4c // mov r9, qword [rsp + 152] - QUAD $0x070e74203a0f4766; BYTE $0x06 // pinsrb xmm14, byte [r14 + r9 + 7], 6 - QUAD $0x071674203a0f4766; BYTE $0x07 // pinsrb xmm14, byte [r14 + r10 + 7], 7 - LONG $0x24448b48; BYTE $0x68 // mov rax, qword [rsp + 104] - QUAD $0x070674203a0f4566; BYTE $0x08 // pinsrb xmm14, byte [r14 + rax + 7], 8 + QUAD $0x072e74203a0f4766; BYTE $0x05 // pinsrb xmm14, byte [r14 + r13 + 7], 5 + QUAD $0x0000008824848b48 // mov rax, qword [rsp + 136] + QUAD $0x070674203a0f4566; BYTE $0x06 // pinsrb xmm14, byte [r14 + rax + 7], 6 + QUAD $0x073674203a0f4566; BYTE $0x07 // pinsrb xmm14, byte [r14 + rsi + 7], 7 + WORD $0x894d; BYTE $0xe1 // mov r9, r12 + QUAD $0x072674203a0f4766; BYTE $0x08 // pinsrb xmm14, byte [r14 + r12 + 7], 8 + LONG $0x24648b4c; BYTE $0x58 // mov r12, qword [rsp + 88] QUAD $0x072674203a0f4766; BYTE $0x09 // pinsrb xmm14, byte [r14 + r12 + 7], 9 - QUAD $0x073674203a0f4566; BYTE $0x0a // pinsrb xmm14, byte [r14 + rsi + 7], 10 - LONG $0x24448b48; BYTE $0x58 // mov rax, qword [rsp + 88] - QUAD $0x070674203a0f4566; BYTE $0x0b // pinsrb xmm14, byte [r14 + rax + 7], 11 - QUAD $0x070e74203a0f4566; BYTE $0x0c // pinsrb xmm14, byte [r14 + rcx + 7], 12 - QUAD $0x071e74203a0f4566; BYTE $0x0d // pinsrb xmm14, byte [r14 + rbx + 7], 13 - QUAD $0x072e74203a0f4766; BYTE $0x0e // pinsrb xmm14, byte [r14 + r13 + 7], 14 + QUAD $0x070674203a0f4766; BYTE $0x0a // pinsrb xmm14, byte [r14 + r8 + 7], 10 + QUAD $0x070e74203a0f4566; BYTE $0x0b // pinsrb xmm14, byte [r14 + rcx + 7], 11 + QUAD $0x073e74203a0f4566; BYTE $0x0c // pinsrb xmm14, byte [r14 + rdi + 7], 12 + QUAD $0x071674203a0f4566; BYTE $0x0d // pinsrb xmm14, byte [r14 + rdx + 7], 13 + LONG $0x247c8b48; BYTE $0x38 // mov rdi, qword [rsp + 56] + QUAD $0x073e74203a0f4566; BYTE $0x0e // pinsrb xmm14, byte [r14 + rdi + 7], 14 LONG $0x6f0f4166; BYTE $0xce // movdqa xmm1, xmm14 QUAD $0x00b024b46f0f4466; WORD $0x0000 // movdqa xmm14, oword [rsp + 176] LONG $0x740f4166; BYTE $0xd6 // pcmpeqb xmm2, xmm14 @@ -27095,147 +28354,152 @@ LBB5_86: QUAD $0x00000150856f0f66 // movdqa xmm0, oword 336[rbp] /* [rip + .LCPI5_21] */ LONG $0xdf0f4466; BYTE $0xc0 // pandn xmm8, xmm0 LONG $0xeb0f4466; BYTE $0xc2 // por xmm8, xmm2 - LONG $0x24548b4c; BYTE $0x50 // mov r10, qword [rsp + 80] + QUAD $0x0000008024948b4c // mov r10, qword [rsp + 128] LONG $0x74b60f43; WORD $0x1416 // movzx esi, byte [r14 + r10 + 20] LONG $0xde6e0f66 // movd xmm3, esi - QUAD $0x073e4c203a0f4366; BYTE $0x0f // pinsrb xmm1, byte [r14 + r15 + 7], 15 + LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] + QUAD $0x07064c203a0f4166; BYTE $0x0f // pinsrb xmm1, byte [r14 + rax + 7], 15 LONG $0x740f4166; BYTE $0xce // pcmpeqb xmm1, xmm14 LONG $0x456f0f66; BYTE $0x60 // movdqa xmm0, oword 96[rbp] /* [rip + .LCPI5_6] */ LONG $0xc8df0f66 // pandn xmm1, xmm0 LONG $0xeb0f4166; BYTE $0xc8 // por xmm1, xmm8 LONG $0x74b60f43; WORD $0x1516 // movzx esi, byte [r14 + r10 + 21] LONG $0xd66e0f66 // movd xmm2, esi - QUAD $0x00010024846f0f66; BYTE $0x00 // movdqa xmm0, oword [rsp + 256] - LONG $0x244c8b48; BYTE $0x18 // mov rcx, qword [rsp + 24] - QUAD $0x080e44203a0f4166; BYTE $0x01 // pinsrb xmm0, byte [r14 + rcx + 8], 1 - QUAD $0x083e44203a0f4166; BYTE $0x02 // pinsrb xmm0, byte [r14 + rdi + 8], 2 - WORD $0x8949; BYTE $0xd5 // mov r13, rdx - QUAD $0x081644203a0f4166; BYTE $0x03 // pinsrb xmm0, byte [r14 + rdx + 8], 3 + LONG $0x24548b48; BYTE $0x18 // mov rdx, qword [rsp + 24] + QUAD $0x0000f024846f0f66; BYTE $0x00 // movdqa xmm0, oword [rsp + 240] + QUAD $0x081644203a0f4166; BYTE $0x01 // pinsrb xmm0, byte [r14 + rdx + 8], 1 + QUAD $0x083e44203a0f4366; BYTE $0x02 // pinsrb xmm0, byte [r14 + r15 + 8], 2 + QUAD $0x081e44203a0f4166; BYTE $0x03 // pinsrb xmm0, byte [r14 + rbx + 8], 3 + WORD $0x8949; BYTE $0xdf // mov r15, rbx + WORD $0x894c; BYTE $0xdb // mov rbx, r11 QUAD $0x081e44203a0f4366; BYTE $0x04 // pinsrb xmm0, byte [r14 + r11 + 8], 4 - WORD $0x894c; BYTE $0xda // mov rdx, r11 - LONG $0x24448b4c; BYTE $0x60 // mov r8, qword [rsp + 96] - QUAD $0x080644203a0f4366; BYTE $0x05 // pinsrb xmm0, byte [r14 + r8 + 8], 5 - QUAD $0x080e44203a0f4366; BYTE $0x06 // pinsrb xmm0, byte [r14 + r9 + 8], 6 - WORD $0x894d; BYTE $0xcf // mov r15, r9 - QUAD $0x0000008824bc8b48 // mov rdi, qword [rsp + 136] - QUAD $0x083e44203a0f4166; BYTE $0x07 // pinsrb xmm0, byte [r14 + rdi + 8], 7 - LONG $0x245c8b48; BYTE $0x68 // mov rbx, qword [rsp + 104] - QUAD $0x081e44203a0f4166; BYTE $0x08 // pinsrb xmm0, byte [r14 + rbx + 8], 8 + WORD $0x894d; BYTE $0xeb // mov r11, r13 + QUAD $0x082e44203a0f4366; BYTE $0x05 // pinsrb xmm0, byte [r14 + r13 + 8], 5 + QUAD $0x0000008824ac8b4c // mov r13, qword [rsp + 136] + QUAD $0x082e44203a0f4366; BYTE $0x06 // pinsrb xmm0, byte [r14 + r13 + 8], 6 + LONG $0x244c8b48; BYTE $0x30 // mov rcx, qword [rsp + 48] + QUAD $0x080e44203a0f4166; BYTE $0x07 // pinsrb xmm0, byte [r14 + rcx + 8], 7 + QUAD $0x080e44203a0f4366; BYTE $0x08 // pinsrb xmm0, byte [r14 + r9 + 8], 8 QUAD $0x082644203a0f4366; BYTE $0x09 // pinsrb xmm0, byte [r14 + r12 + 8], 9 - LONG $0x24748b48; BYTE $0x70 // mov rsi, qword [rsp + 112] - QUAD $0x083644203a0f4166; BYTE $0x0a // pinsrb xmm0, byte [r14 + rsi + 8], 10 - QUAD $0x080644203a0f4166; BYTE $0x0b // pinsrb xmm0, byte [r14 + rax + 8], 11 - LONG $0x24448b48; BYTE $0x38 // mov rax, qword [rsp + 56] - QUAD $0x080644203a0f4166; BYTE $0x0c // pinsrb xmm0, byte [r14 + rax + 8], 12 - LONG $0x244c8b4c; BYTE $0x78 // mov r9, qword [rsp + 120] - QUAD $0x080e44203a0f4366; BYTE $0x0d // pinsrb xmm0, byte [r14 + r9 + 8], 13 - LONG $0x245c8b4c; BYTE $0x28 // mov r11, qword [rsp + 40] - QUAD $0x081e44203a0f4366; BYTE $0x0e // pinsrb xmm0, byte [r14 + r11 + 8], 14 - LONG $0x24748b48; BYTE $0x10 // mov rsi, qword [rsp + 16] - QUAD $0x083644203a0f4166; BYTE $0x0f // pinsrb xmm0, byte [r14 + rsi + 8], 15 + QUAD $0x080644203a0f4366; BYTE $0x0a // pinsrb xmm0, byte [r14 + r8 + 8], 10 + LONG $0x24448b4c; BYTE $0x48 // mov r8, qword [rsp + 72] + QUAD $0x080644203a0f4366; BYTE $0x0b // pinsrb xmm0, byte [r14 + r8 + 8], 11 + LONG $0x244c8b4c; BYTE $0x70 // mov r9, qword [rsp + 112] + QUAD $0x080e44203a0f4366; BYTE $0x0c // pinsrb xmm0, byte [r14 + r9 + 8], 12 + LONG $0x24748b48; BYTE $0x40 // mov rsi, qword [rsp + 64] + QUAD $0x083644203a0f4166; BYTE $0x0d // pinsrb xmm0, byte [r14 + rsi + 8], 13 + QUAD $0x083e44203a0f4166; BYTE $0x0e // pinsrb xmm0, byte [r14 + rdi + 8], 14 + QUAD $0x080644203a0f4166; BYTE $0x0f // pinsrb xmm0, byte [r14 + rax + 8], 15 LONG $0xeb0f4166; BYTE $0xc9 // por xmm1, xmm9 - QUAD $0x000100248c7f0f66; BYTE $0x00 // movdqa oword [rsp + 256], xmm1 + QUAD $0x0000f0248c7f0f66; BYTE $0x00 // movdqa oword [rsp + 240], xmm1 LONG $0x74b60f43; WORD $0x1616 // movzx esi, byte [r14 + r10 + 22] LONG $0xce6e0f66 // movd xmm1, esi LONG $0x740f4166; BYTE $0xc6 // pcmpeqb xmm0, xmm14 - QUAD $0x090e5c203a0f4566; BYTE $0x01 // pinsrb xmm11, byte [r14 + rcx + 9], 1 - LONG $0x24448b48; BYTE $0x48 // mov rax, qword [rsp + 72] + QUAD $0x09165c203a0f4566; BYTE $0x01 // pinsrb xmm11, byte [r14 + rdx + 9], 1 + LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] QUAD $0x09065c203a0f4566; BYTE $0x02 // pinsrb xmm11, byte [r14 + rax + 9], 2 - QUAD $0x092e5c203a0f4766; BYTE $0x03 // pinsrb xmm11, byte [r14 + r13 + 9], 3 - QUAD $0x09165c203a0f4566; BYTE $0x04 // pinsrb xmm11, byte [r14 + rdx + 9], 4 - QUAD $0x09065c203a0f4766; BYTE $0x05 // pinsrb xmm11, byte [r14 + r8 + 9], 5 - WORD $0x894d; BYTE $0xfa // mov r10, r15 - QUAD $0x093e5c203a0f4766; BYTE $0x06 // pinsrb xmm11, byte [r14 + r15 + 9], 6 - QUAD $0x093e5c203a0f4566; BYTE $0x07 // pinsrb xmm11, byte [r14 + rdi + 9], 7 - WORD $0x8949; BYTE $0xff // mov r15, rdi - QUAD $0x091e5c203a0f4566; BYTE $0x08 // pinsrb xmm11, byte [r14 + rbx + 9], 8 + QUAD $0x093e5c203a0f4766; BYTE $0x03 // pinsrb xmm11, byte [r14 + r15 + 9], 3 + QUAD $0x091e5c203a0f4566; BYTE $0x04 // pinsrb xmm11, byte [r14 + rbx + 9], 4 + WORD $0x894c; BYTE $0xda // mov rdx, r11 + QUAD $0x091e5c203a0f4766; BYTE $0x05 // pinsrb xmm11, byte [r14 + r11 + 9], 5 + QUAD $0x092e5c203a0f4766; BYTE $0x06 // pinsrb xmm11, byte [r14 + r13 + 9], 6 + QUAD $0x090e5c203a0f4566; BYTE $0x07 // pinsrb xmm11, byte [r14 + rcx + 9], 7 + QUAD $0x0000009024948b4c // mov r10, qword [rsp + 144] + QUAD $0x09165c203a0f4766; BYTE $0x08 // pinsrb xmm11, byte [r14 + r10 + 9], 8 + WORD $0x894c; BYTE $0xe1 // mov rcx, r12 QUAD $0x09265c203a0f4766; BYTE $0x09 // pinsrb xmm11, byte [r14 + r12 + 9], 9 - LONG $0x24748b48; BYTE $0x70 // mov rsi, qword [rsp + 112] + LONG $0x24748b48; BYTE $0x68 // mov rsi, qword [rsp + 104] QUAD $0x09365c203a0f4566; BYTE $0x0a // pinsrb xmm11, byte [r14 + rsi + 9], 10 - LONG $0x24548b48; BYTE $0x58 // mov rdx, qword [rsp + 88] - QUAD $0x09165c203a0f4566; BYTE $0x0b // pinsrb xmm11, byte [r14 + rdx + 9], 11 - LONG $0x247c8b48; BYTE $0x38 // mov rdi, qword [rsp + 56] - QUAD $0x093e5c203a0f4566; BYTE $0x0c // pinsrb xmm11, byte [r14 + rdi + 9], 12 - QUAD $0x090e5c203a0f4766; BYTE $0x0d // pinsrb xmm11, byte [r14 + r9 + 9], 13 - QUAD $0x091e5c203a0f4766; BYTE $0x0e // pinsrb xmm11, byte [r14 + r11 + 9], 14 - LONG $0x24448b4c; BYTE $0x10 // mov r8, qword [rsp + 16] + WORD $0x894c; BYTE $0xc2 // mov rdx, r8 + QUAD $0x09065c203a0f4766; BYTE $0x0b // pinsrb xmm11, byte [r14 + r8 + 9], 11 + WORD $0x894c; BYTE $0xcf // mov rdi, r9 + QUAD $0x090e5c203a0f4766; BYTE $0x0c // pinsrb xmm11, byte [r14 + r9 + 9], 12 + LONG $0x245c8b4c; BYTE $0x40 // mov r11, qword [rsp + 64] + QUAD $0x091e5c203a0f4766; BYTE $0x0d // pinsrb xmm11, byte [r14 + r11 + 9], 13 + LONG $0x24648b4c; BYTE $0x38 // mov r12, qword [rsp + 56] + QUAD $0x09265c203a0f4766; BYTE $0x0e // pinsrb xmm11, byte [r14 + r12 + 9], 14 + LONG $0x24448b4c; BYTE $0x20 // mov r8, qword [rsp + 32] QUAD $0x09065c203a0f4766; BYTE $0x0f // pinsrb xmm11, byte [r14 + r8 + 9], 15 - QUAD $0x0a0e64203a0f4566; BYTE $0x01 // pinsrb xmm12, byte [r14 + rcx + 10], 1 + LONG $0x244c8b4c; BYTE $0x18 // mov r9, qword [rsp + 24] + QUAD $0x0a0e64203a0f4766; BYTE $0x01 // pinsrb xmm12, byte [r14 + r9 + 10], 1 QUAD $0x0a0664203a0f4566; BYTE $0x02 // pinsrb xmm12, byte [r14 + rax + 10], 2 - QUAD $0x0a2e64203a0f4766; BYTE $0x03 // pinsrb xmm12, byte [r14 + r13 + 10], 3 - LONG $0x245c8b48; BYTE $0x30 // mov rbx, qword [rsp + 48] + QUAD $0x0a3e64203a0f4766; BYTE $0x03 // pinsrb xmm12, byte [r14 + r15 + 10], 3 QUAD $0x0a1e64203a0f4566; BYTE $0x04 // pinsrb xmm12, byte [r14 + rbx + 10], 4 - LONG $0x246c8b4c; BYTE $0x60 // mov r13, qword [rsp + 96] - QUAD $0x0a2e64203a0f4766; BYTE $0x05 // pinsrb xmm12, byte [r14 + r13 + 10], 5 - QUAD $0x0a1664203a0f4766; BYTE $0x06 // pinsrb xmm12, byte [r14 + r10 + 10], 6 + LONG $0x245c8b48; BYTE $0x60 // mov rbx, qword [rsp + 96] + QUAD $0x0a1e64203a0f4566; BYTE $0x05 // pinsrb xmm12, byte [r14 + rbx + 10], 5 + QUAD $0x0a2e64203a0f4766; BYTE $0x06 // pinsrb xmm12, byte [r14 + r13 + 10], 6 + LONG $0x247c8b4c; BYTE $0x30 // mov r15, qword [rsp + 48] QUAD $0x0a3e64203a0f4766; BYTE $0x07 // pinsrb xmm12, byte [r14 + r15 + 10], 7 - LONG $0x245c8b48; BYTE $0x68 // mov rbx, qword [rsp + 104] - QUAD $0x0a1e64203a0f4566; BYTE $0x08 // pinsrb xmm12, byte [r14 + rbx + 10], 8 - QUAD $0x0a2664203a0f4766; BYTE $0x09 // pinsrb xmm12, byte [r14 + r12 + 10], 9 + QUAD $0x0a1664203a0f4766; BYTE $0x08 // pinsrb xmm12, byte [r14 + r10 + 10], 8 + QUAD $0x0a0e64203a0f4566; BYTE $0x09 // pinsrb xmm12, byte [r14 + rcx + 10], 9 QUAD $0x0a3664203a0f4566; BYTE $0x0a // pinsrb xmm12, byte [r14 + rsi + 10], 10 QUAD $0x0a1664203a0f4566; BYTE $0x0b // pinsrb xmm12, byte [r14 + rdx + 10], 11 QUAD $0x0a3e64203a0f4566; BYTE $0x0c // pinsrb xmm12, byte [r14 + rdi + 10], 12 - QUAD $0x0a0e64203a0f4766; BYTE $0x0d // pinsrb xmm12, byte [r14 + r9 + 10], 13 - QUAD $0x0a1e64203a0f4766; BYTE $0x0e // pinsrb xmm12, byte [r14 + r11 + 10], 14 + QUAD $0x0a1e64203a0f4766; BYTE $0x0d // pinsrb xmm12, byte [r14 + r11 + 10], 13 + QUAD $0x0a2664203a0f4766; BYTE $0x0e // pinsrb xmm12, byte [r14 + r12 + 10], 14 + WORD $0x894d; BYTE $0xe3 // mov r11, r12 QUAD $0x0a0664203a0f4766; BYTE $0x0f // pinsrb xmm12, byte [r14 + r8 + 10], 15 - QUAD $0x0b0e6c203a0f4566; BYTE $0x01 // pinsrb xmm13, byte [r14 + rcx + 11], 1 + WORD $0x894d; BYTE $0xc4 // mov r12, r8 + QUAD $0x0b0e6c203a0f4766; BYTE $0x01 // pinsrb xmm13, byte [r14 + r9 + 11], 1 QUAD $0x0b066c203a0f4566; BYTE $0x02 // pinsrb xmm13, byte [r14 + rax + 11], 2 - LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] - QUAD $0x0b066c203a0f4566; BYTE $0x03 // pinsrb xmm13, byte [r14 + rax + 11], 3 + WORD $0x8949; BYTE $0xc0 // mov r8, rax + LONG $0x247c8b4c; BYTE $0x78 // mov r15, qword [rsp + 120] + QUAD $0x0b3e6c203a0f4766; BYTE $0x03 // pinsrb xmm13, byte [r14 + r15 + 11], 3 + QUAD $0x00000098248c8b4c // mov r9, qword [rsp + 152] + QUAD $0x0b0e6c203a0f4766; BYTE $0x04 // pinsrb xmm13, byte [r14 + r9 + 11], 4 + QUAD $0x0b1e6c203a0f4566; BYTE $0x05 // pinsrb xmm13, byte [r14 + rbx + 11], 5 + QUAD $0x0b2e6c203a0f4766; BYTE $0x06 // pinsrb xmm13, byte [r14 + r13 + 11], 6 LONG $0x24448b48; BYTE $0x30 // mov rax, qword [rsp + 48] - QUAD $0x0b066c203a0f4566; BYTE $0x04 // pinsrb xmm13, byte [r14 + rax + 11], 4 - LONG $0x24448b48; BYTE $0x60 // mov rax, qword [rsp + 96] - QUAD $0x0b066c203a0f4566; BYTE $0x05 // pinsrb xmm13, byte [r14 + rax + 11], 5 - QUAD $0x0b166c203a0f4766; BYTE $0x06 // pinsrb xmm13, byte [r14 + r10 + 11], 6 - QUAD $0x0b3e6c203a0f4766; BYTE $0x07 // pinsrb xmm13, byte [r14 + r15 + 11], 7 - LONG $0x246c8b4c; BYTE $0x68 // mov r13, qword [rsp + 104] - QUAD $0x0b2e6c203a0f4766; BYTE $0x08 // pinsrb xmm13, byte [r14 + r13 + 11], 8 - QUAD $0x0b266c203a0f4766; BYTE $0x09 // pinsrb xmm13, byte [r14 + r12 + 11], 9 + QUAD $0x0b066c203a0f4566; BYTE $0x07 // pinsrb xmm13, byte [r14 + rax + 11], 7 + QUAD $0x0b166c203a0f4766; BYTE $0x08 // pinsrb xmm13, byte [r14 + r10 + 11], 8 + QUAD $0x0b0e6c203a0f4566; BYTE $0x09 // pinsrb xmm13, byte [r14 + rcx + 11], 9 QUAD $0x0b366c203a0f4566; BYTE $0x0a // pinsrb xmm13, byte [r14 + rsi + 11], 10 QUAD $0x0b166c203a0f4566; BYTE $0x0b // pinsrb xmm13, byte [r14 + rdx + 11], 11 QUAD $0x0b3e6c203a0f4566; BYTE $0x0c // pinsrb xmm13, byte [r14 + rdi + 11], 12 - QUAD $0x0b0e6c203a0f4766; BYTE $0x0d // pinsrb xmm13, byte [r14 + r9 + 11], 13 + LONG $0x24448b48; BYTE $0x40 // mov rax, qword [rsp + 64] + QUAD $0x0b066c203a0f4566; BYTE $0x0d // pinsrb xmm13, byte [r14 + rax + 11], 13 QUAD $0x0b1e6c203a0f4766; BYTE $0x0e // pinsrb xmm13, byte [r14 + r11 + 11], 14 - WORD $0x894c; BYTE $0xd8 // mov rax, r11 - QUAD $0x0b066c203a0f4766; BYTE $0x0f // pinsrb xmm13, byte [r14 + r8 + 11], 15 + QUAD $0x0b266c203a0f4766; BYTE $0x0f // pinsrb xmm13, byte [r14 + r12 + 11], 15 LONG $0x740f4566; BYTE $0xde // pcmpeqb xmm11, xmm14 QUAD $0x0001009ddf0f4466; BYTE $0x00 // pandn xmm11, oword 256[rbp] /* [rip + .LCPI5_16] */ LONG $0xfc0f4466; BYTE $0xd8 // paddb xmm11, xmm0 - LONG $0x245c8b48; BYTE $0x50 // mov rbx, qword [rsp + 80] - LONG $0x74b60f41; WORD $0x171e // movzx esi, byte [r14 + rbx + 23] + QUAD $0x0000008024848b48 // mov rax, qword [rsp + 128] + LONG $0x74b60f41; WORD $0x1706 // movzx esi, byte [r14 + rax + 23] LONG $0x6e0f4466; BYTE $0xc6 // movd xmm8, esi LONG $0x740f4566; BYTE $0xe6 // pcmpeqb xmm12, xmm14 QUAD $0x000110a5df0f4466; BYTE $0x00 // pandn xmm12, oword 272[rbp] /* [rip + .LCPI5_17] */ LONG $0x740f4566; BYTE $0xee // pcmpeqb xmm13, xmm14 QUAD $0x000120addf0f4466; BYTE $0x00 // pandn xmm13, oword 288[rbp] /* [rip + .LCPI5_18] */ LONG $0xeb0f4566; BYTE $0xec // por xmm13, xmm12 - LONG $0x74b60f41; WORD $0x181e // movzx esi, byte [r14 + rbx + 24] + LONG $0x74b60f41; WORD $0x1806 // movzx esi, byte [r14 + rax + 24] LONG $0x6e0f4466; BYTE $0xe6 // movd xmm12, esi - QUAD $0x00e0248c6f0f4466; WORD $0x0000 // movdqa xmm9, oword [rsp + 224] - QUAD $0x0c0e4c203a0f4566; BYTE $0x01 // pinsrb xmm9, byte [r14 + rcx + 12], 1 - LONG $0x24648b4c; BYTE $0x48 // mov r12, qword [rsp + 72] - QUAD $0x0c264c203a0f4766; BYTE $0x02 // pinsrb xmm9, byte [r14 + r12 + 12], 2 - LONG $0x247c8b4c; BYTE $0x20 // mov r15, qword [rsp + 32] + QUAD $0x00d0248c6f0f4466; WORD $0x0000 // movdqa xmm9, oword [rsp + 208] + LONG $0x24448b48; BYTE $0x18 // mov rax, qword [rsp + 24] + QUAD $0x0c064c203a0f4566; BYTE $0x01 // pinsrb xmm9, byte [r14 + rax + 12], 1 + WORD $0x894d; BYTE $0xc4 // mov r12, r8 + QUAD $0x0c064c203a0f4766; BYTE $0x02 // pinsrb xmm9, byte [r14 + r8 + 12], 2 QUAD $0x0c3e4c203a0f4766; BYTE $0x03 // pinsrb xmm9, byte [r14 + r15 + 12], 3 - LONG $0x245c8b48; BYTE $0x30 // mov rbx, qword [rsp + 48] - QUAD $0x0c1e4c203a0f4566; BYTE $0x04 // pinsrb xmm9, byte [r14 + rbx + 12], 4 + WORD $0x894c; BYTE $0xcb // mov rbx, r9 + QUAD $0x0c0e4c203a0f4766; BYTE $0x04 // pinsrb xmm9, byte [r14 + r9 + 12], 4 LONG $0x244c8b4c; BYTE $0x60 // mov r9, qword [rsp + 96] QUAD $0x0c0e4c203a0f4766; BYTE $0x05 // pinsrb xmm9, byte [r14 + r9 + 12], 5 - WORD $0x894d; BYTE $0xd0 // mov r8, r10 - QUAD $0x0c164c203a0f4766; BYTE $0x06 // pinsrb xmm9, byte [r14 + r10 + 12], 6 - QUAD $0x00000088249c8b4c // mov r11, qword [rsp + 136] - QUAD $0x0c1e4c203a0f4766; BYTE $0x07 // pinsrb xmm9, byte [r14 + r11 + 12], 7 - QUAD $0x0c2e4c203a0f4766; BYTE $0x08 // pinsrb xmm9, byte [r14 + r13 + 12], 8 - QUAD $0x00000090248c8b48 // mov rcx, qword [rsp + 144] + WORD $0x894d; BYTE $0xeb // mov r11, r13 + QUAD $0x0c2e4c203a0f4766; BYTE $0x06 // pinsrb xmm9, byte [r14 + r13 + 12], 6 + LONG $0x24448b4c; BYTE $0x30 // mov r8, qword [rsp + 48] + QUAD $0x0c064c203a0f4766; BYTE $0x07 // pinsrb xmm9, byte [r14 + r8 + 12], 7 + WORD $0x894c; BYTE $0xd6 // mov rsi, r10 + QUAD $0x0c164c203a0f4766; BYTE $0x08 // pinsrb xmm9, byte [r14 + r10 + 12], 8 + LONG $0x244c8b48; BYTE $0x58 // mov rcx, qword [rsp + 88] QUAD $0x0c0e4c203a0f4566; BYTE $0x09 // pinsrb xmm9, byte [r14 + rcx + 12], 9 - LONG $0x24548b4c; BYTE $0x70 // mov r10, qword [rsp + 112] + LONG $0x24548b4c; BYTE $0x68 // mov r10, qword [rsp + 104] QUAD $0x0c164c203a0f4766; BYTE $0x0a // pinsrb xmm9, byte [r14 + r10 + 12], 10 QUAD $0x0c164c203a0f4566; BYTE $0x0b // pinsrb xmm9, byte [r14 + rdx + 12], 11 QUAD $0x0c3e4c203a0f4566; BYTE $0x0c // pinsrb xmm9, byte [r14 + rdi + 12], 12 - LONG $0x24748b48; BYTE $0x78 // mov rsi, qword [rsp + 120] - QUAD $0x0c364c203a0f4566; BYTE $0x0d // pinsrb xmm9, byte [r14 + rsi + 12], 13 + LONG $0x246c8b4c; BYTE $0x40 // mov r13, qword [rsp + 64] + QUAD $0x0c2e4c203a0f4766; BYTE $0x0d // pinsrb xmm9, byte [r14 + r13 + 12], 13 + LONG $0x24448b48; BYTE $0x38 // mov rax, qword [rsp + 56] QUAD $0x0c064c203a0f4566; BYTE $0x0e // pinsrb xmm9, byte [r14 + rax + 12], 14 - LONG $0x24448b48; BYTE $0x10 // mov rax, qword [rsp + 16] + LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] QUAD $0x0c064c203a0f4566; BYTE $0x0f // pinsrb xmm9, byte [r14 + rax + 12], 15 LONG $0x24448b48; BYTE $0x18 // mov rax, qword [rsp + 24] QUAD $0x0d0674203a0f4166; BYTE $0x01 // pinsrb xmm6, byte [r14 + rax + 13], 1 @@ -27243,17 +28507,17 @@ LBB5_86: QUAD $0x0d3e74203a0f4366; BYTE $0x03 // pinsrb xmm6, byte [r14 + r15 + 13], 3 QUAD $0x0d1e74203a0f4166; BYTE $0x04 // pinsrb xmm6, byte [r14 + rbx + 13], 4 QUAD $0x0d0e74203a0f4366; BYTE $0x05 // pinsrb xmm6, byte [r14 + r9 + 13], 5 - QUAD $0x0d0674203a0f4366; BYTE $0x06 // pinsrb xmm6, byte [r14 + r8 + 13], 6 - QUAD $0x0d1e74203a0f4366; BYTE $0x07 // pinsrb xmm6, byte [r14 + r11 + 13], 7 - QUAD $0x0d2e74203a0f4366; BYTE $0x08 // pinsrb xmm6, byte [r14 + r13 + 13], 8 + QUAD $0x0d1e74203a0f4366; BYTE $0x06 // pinsrb xmm6, byte [r14 + r11 + 13], 6 + QUAD $0x0d0674203a0f4366; BYTE $0x07 // pinsrb xmm6, byte [r14 + r8 + 13], 7 + QUAD $0x0d3674203a0f4166; BYTE $0x08 // pinsrb xmm6, byte [r14 + rsi + 13], 8 QUAD $0x0d0e74203a0f4166; BYTE $0x09 // pinsrb xmm6, byte [r14 + rcx + 13], 9 QUAD $0x0d1674203a0f4366; BYTE $0x0a // pinsrb xmm6, byte [r14 + r10 + 13], 10 QUAD $0x0d1674203a0f4166; BYTE $0x0b // pinsrb xmm6, byte [r14 + rdx + 13], 11 QUAD $0x0d3e74203a0f4166; BYTE $0x0c // pinsrb xmm6, byte [r14 + rdi + 13], 12 - QUAD $0x0d3674203a0f4166; BYTE $0x0d // pinsrb xmm6, byte [r14 + rsi + 13], 13 - LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] + QUAD $0x0d2e74203a0f4366; BYTE $0x0d // pinsrb xmm6, byte [r14 + r13 + 13], 13 + LONG $0x24448b48; BYTE $0x38 // mov rax, qword [rsp + 56] QUAD $0x0d0674203a0f4166; BYTE $0x0e // pinsrb xmm6, byte [r14 + rax + 13], 14 - LONG $0x24448b48; BYTE $0x10 // mov rax, qword [rsp + 16] + LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] QUAD $0x0d0674203a0f4166; BYTE $0x0f // pinsrb xmm6, byte [r14 + rax + 13], 15 LONG $0x24448b48; BYTE $0x18 // mov rax, qword [rsp + 24] QUAD $0x0e067c203a0f4566; BYTE $0x01 // pinsrb xmm15, byte [r14 + rax + 14], 1 @@ -27261,141 +28525,133 @@ LBB5_86: QUAD $0x0e3e7c203a0f4766; BYTE $0x03 // pinsrb xmm15, byte [r14 + r15 + 14], 3 QUAD $0x0e1e7c203a0f4566; BYTE $0x04 // pinsrb xmm15, byte [r14 + rbx + 14], 4 QUAD $0x0e0e7c203a0f4766; BYTE $0x05 // pinsrb xmm15, byte [r14 + r9 + 14], 5 - WORD $0x894c; BYTE $0xcb // mov rbx, r9 - QUAD $0x0e067c203a0f4766; BYTE $0x06 // pinsrb xmm15, byte [r14 + r8 + 14], 6 - WORD $0x894d; BYTE $0xc4 // mov r12, r8 - QUAD $0x0e1e7c203a0f4766; BYTE $0x07 // pinsrb xmm15, byte [r14 + r11 + 14], 7 - QUAD $0x0e2e7c203a0f4766; BYTE $0x08 // pinsrb xmm15, byte [r14 + r13 + 14], 8 + QUAD $0x0e1e7c203a0f4766; BYTE $0x06 // pinsrb xmm15, byte [r14 + r11 + 14], 6 + QUAD $0x0e067c203a0f4766; BYTE $0x07 // pinsrb xmm15, byte [r14 + r8 + 14], 7 + QUAD $0x0e367c203a0f4566; BYTE $0x08 // pinsrb xmm15, byte [r14 + rsi + 14], 8 QUAD $0x0e0e7c203a0f4566; BYTE $0x09 // pinsrb xmm15, byte [r14 + rcx + 14], 9 - WORD $0x8949; BYTE $0xcb // mov r11, rcx QUAD $0x0e167c203a0f4766; BYTE $0x0a // pinsrb xmm15, byte [r14 + r10 + 14], 10 QUAD $0x0e167c203a0f4566; BYTE $0x0b // pinsrb xmm15, byte [r14 + rdx + 14], 11 QUAD $0x0e3e7c203a0f4566; BYTE $0x0c // pinsrb xmm15, byte [r14 + rdi + 14], 12 - QUAD $0x0e367c203a0f4566; BYTE $0x0d // pinsrb xmm15, byte [r14 + rsi + 14], 13 - LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] - QUAD $0x0e067c203a0f4566; BYTE $0x0e // pinsrb xmm15, byte [r14 + rax + 14], 14 + QUAD $0x0e2e7c203a0f4766; BYTE $0x0d // pinsrb xmm15, byte [r14 + r13 + 14], 13 + LONG $0x24648b4c; BYTE $0x38 // mov r12, qword [rsp + 56] + QUAD $0x0e267c203a0f4766; BYTE $0x0e // pinsrb xmm15, byte [r14 + r12 + 14], 14 LONG $0x740f4566; BYTE $0xce // pcmpeqb xmm9, xmm14 QUAD $0x0001308ddf0f4466; BYTE $0x00 // pandn xmm9, oword 304[rbp] /* [rip + .LCPI5_19] */ LONG $0xeb0f4566; BYTE $0xcd // por xmm9, xmm13 - LONG $0x24448b48; BYTE $0x50 // mov rax, qword [rsp + 80] - LONG $0x74b60f41; WORD $0x1906 // movzx esi, byte [r14 + rax + 25] + QUAD $0x0000008024bc8b4c // mov r15, qword [rsp + 128] + LONG $0x74b60f43; WORD $0x193e // movzx esi, byte [r14 + r15 + 25] LONG $0x6e0f4466; BYTE $0xee // movd xmm13, esi QUAD $0x0001609df80f4466; BYTE $0x00 // psubb xmm11, oword 352[rbp] /* [rip + .LCPI5_22] */ LONG $0xeb0f4566; BYTE $0xcb // por xmm9, xmm11 - LONG $0x74b60f41; WORD $0x1a06 // movzx esi, byte [r14 + rax + 26] + LONG $0x74b60f43; WORD $0x1a3e // movzx esi, byte [r14 + r15 + 26] LONG $0xc66e0f66 // movd xmm0, esi - LONG $0x244c8b48; BYTE $0x10 // mov rcx, qword [rsp + 16] - QUAD $0x0e0e7c203a0f4566; BYTE $0x0f // pinsrb xmm15, byte [r14 + rcx + 14], 15 + LONG $0x245c8b48; BYTE $0x20 // mov rbx, qword [rsp + 32] + QUAD $0x0e1e7c203a0f4566; BYTE $0x0f // pinsrb xmm15, byte [r14 + rbx + 14], 15 LONG $0x740f4166; BYTE $0xf6 // pcmpeqb xmm6, xmm14 QUAD $0x00000140b5df0f66 // pandn xmm6, oword 320[rbp] /* [rip + .LCPI5_20] */ LONG $0x740f4566; BYTE $0xfe // pcmpeqb xmm15, xmm14 QUAD $0x000150bddf0f4466; BYTE $0x00 // pandn xmm15, oword 336[rbp] /* [rip + .LCPI5_21] */ LONG $0xeb0f4466; BYTE $0xfe // por xmm15, xmm6 - LONG $0x74b60f41; WORD $0x1b06 // movzx esi, byte [r14 + rax + 27] + LONG $0x74b60f43; WORD $0x1b3e // movzx esi, byte [r14 + r15 + 27] LONG $0x6e0f4466; BYTE $0xde // movd xmm11, esi QUAD $0x0000c024b46f0f66; BYTE $0x00 // movdqa xmm6, oword [rsp + 192] - LONG $0x247c8b48; BYTE $0x18 // mov rdi, qword [rsp + 24] - QUAD $0x0f3e74203a0f4166; BYTE $0x01 // pinsrb xmm6, byte [r14 + rdi + 15], 1 - LONG $0x244c8b4c; BYTE $0x48 // mov r9, qword [rsp + 72] - QUAD $0x0f0e74203a0f4366; BYTE $0x02 // pinsrb xmm6, byte [r14 + r9 + 15], 2 - QUAD $0x0f3e74203a0f4366; BYTE $0x03 // pinsrb xmm6, byte [r14 + r15 + 15], 3 - LONG $0x24448b4c; BYTE $0x30 // mov r8, qword [rsp + 48] - QUAD $0x0f0674203a0f4366; BYTE $0x04 // pinsrb xmm6, byte [r14 + r8 + 15], 4 - QUAD $0x0f1e74203a0f4166; BYTE $0x05 // pinsrb xmm6, byte [r14 + rbx + 15], 5 - QUAD $0x0f2674203a0f4366; BYTE $0x06 // pinsrb xmm6, byte [r14 + r12 + 15], 6 - QUAD $0x0000008824b48b48 // mov rsi, qword [rsp + 136] - QUAD $0x0f3674203a0f4166; BYTE $0x07 // pinsrb xmm6, byte [r14 + rsi + 15], 7 - WORD $0x894d; BYTE $0xef // mov r15, r13 - QUAD $0x0f2e74203a0f4366; BYTE $0x08 // pinsrb xmm6, byte [r14 + r13 + 15], 8 - QUAD $0x0f1e74203a0f4366; BYTE $0x09 // pinsrb xmm6, byte [r14 + r11 + 15], 9 + LONG $0x24448b48; BYTE $0x18 // mov rax, qword [rsp + 24] + QUAD $0x0f0674203a0f4166; BYTE $0x01 // pinsrb xmm6, byte [r14 + rax + 15], 1 + LONG $0x247c8b48; BYTE $0x28 // mov rdi, qword [rsp + 40] + QUAD $0x0f3e74203a0f4166; BYTE $0x02 // pinsrb xmm6, byte [r14 + rdi + 15], 2 + LONG $0x24548b48; BYTE $0x78 // mov rdx, qword [rsp + 120] + QUAD $0x0f1674203a0f4166; BYTE $0x03 // pinsrb xmm6, byte [r14 + rdx + 15], 3 + QUAD $0x00000098248c8b48 // mov rcx, qword [rsp + 152] + QUAD $0x0f0e74203a0f4166; BYTE $0x04 // pinsrb xmm6, byte [r14 + rcx + 15], 4 + QUAD $0x0f0e74203a0f4366; BYTE $0x05 // pinsrb xmm6, byte [r14 + r9 + 15], 5 + QUAD $0x0f1e74203a0f4366; BYTE $0x06 // pinsrb xmm6, byte [r14 + r11 + 15], 6 + QUAD $0x0f0674203a0f4366; BYTE $0x07 // pinsrb xmm6, byte [r14 + r8 + 15], 7 + QUAD $0x0000009024848b4c // mov r8, qword [rsp + 144] + QUAD $0x0f0674203a0f4366; BYTE $0x08 // pinsrb xmm6, byte [r14 + r8 + 15], 8 + LONG $0x244c8b4c; BYTE $0x58 // mov r9, qword [rsp + 88] + QUAD $0x0f0e74203a0f4366; BYTE $0x09 // pinsrb xmm6, byte [r14 + r9 + 15], 9 QUAD $0x0f1674203a0f4366; BYTE $0x0a // pinsrb xmm6, byte [r14 + r10 + 15], 10 - QUAD $0x0f1674203a0f4166; BYTE $0x0b // pinsrb xmm6, byte [r14 + rdx + 15], 11 - LONG $0x24548b4c; BYTE $0x38 // mov r10, qword [rsp + 56] - QUAD $0x0f1674203a0f4366; BYTE $0x0c // pinsrb xmm6, byte [r14 + r10 + 15], 12 - LONG $0x246c8b4c; BYTE $0x78 // mov r13, qword [rsp + 120] + LONG $0x24548b4c; BYTE $0x48 // mov r10, qword [rsp + 72] + QUAD $0x0f1674203a0f4366; BYTE $0x0b // pinsrb xmm6, byte [r14 + r10 + 15], 11 + LONG $0x24748b48; BYTE $0x70 // mov rsi, qword [rsp + 112] + QUAD $0x0f3674203a0f4166; BYTE $0x0c // pinsrb xmm6, byte [r14 + rsi + 15], 12 QUAD $0x0f2e74203a0f4366; BYTE $0x0d // pinsrb xmm6, byte [r14 + r13 + 15], 13 - LONG $0x24548b48; BYTE $0x28 // mov rdx, qword [rsp + 40] - QUAD $0x0f1674203a0f4166; BYTE $0x0e // pinsrb xmm6, byte [r14 + rdx + 15], 14 - QUAD $0x0f0e74203a0f4166; BYTE $0x0f // pinsrb xmm6, byte [r14 + rcx + 15], 15 + QUAD $0x0f2674203a0f4366; BYTE $0x0e // pinsrb xmm6, byte [r14 + r12 + 15], 14 + QUAD $0x0f1e74203a0f4166; BYTE $0x0f // pinsrb xmm6, byte [r14 + rbx + 15], 15 LONG $0x740f4166; BYTE $0xf6 // pcmpeqb xmm6, xmm14 LONG $0x75df0f66; BYTE $0x60 // pandn xmm6, oword 96[rbp] /* [rip + .LCPI5_6] */ LONG $0xeb0f4166; BYTE $0xf7 // por xmm6, xmm15 - LONG $0x74b60f41; WORD $0x1c06 // movzx esi, byte [r14 + rax + 28] + LONG $0x74b60f43; WORD $0x1c3e // movzx esi, byte [r14 + r15 + 28] LONG $0x6e0f4466; BYTE $0xfe // movd xmm15, esi LONG $0xeb0f4166; BYTE $0xf1 // por xmm6, xmm9 QUAD $0x0000c024b47f0f66; BYTE $0x00 // movdqa oword [rsp + 192], xmm6 - LONG $0x74b60f41; WORD $0x1d06 // movzx esi, byte [r14 + rax + 29] + LONG $0x74b60f43; WORD $0x1d3e // movzx esi, byte [r14 + r15 + 29] LONG $0x6e0f4466; BYTE $0xce // movd xmm9, esi - WORD $0x8948; BYTE $0xfe // mov rsi, rdi - QUAD $0x103e54203a0f4566; BYTE $0x01 // pinsrb xmm10, byte [r14 + rdi + 16], 1 - QUAD $0x100e54203a0f4766; BYTE $0x02 // pinsrb xmm10, byte [r14 + r9 + 16], 2 - LONG $0x24548b48; BYTE $0x20 // mov rdx, qword [rsp + 32] + QUAD $0x100654203a0f4566; BYTE $0x01 // pinsrb xmm10, byte [r14 + rax + 16], 1 + QUAD $0x103e54203a0f4566; BYTE $0x02 // pinsrb xmm10, byte [r14 + rdi + 16], 2 QUAD $0x101654203a0f4566; BYTE $0x03 // pinsrb xmm10, byte [r14 + rdx + 16], 3 - QUAD $0x100654203a0f4766; BYTE $0x04 // pinsrb xmm10, byte [r14 + r8 + 16], 4 - QUAD $0x101e54203a0f4566; BYTE $0x05 // pinsrb xmm10, byte [r14 + rbx + 16], 5 - QUAD $0x102654203a0f4766; BYTE $0x06 // pinsrb xmm10, byte [r14 + r12 + 16], 6 - QUAD $0x0000008824bc8b48 // mov rdi, qword [rsp + 136] - QUAD $0x103e54203a0f4566; BYTE $0x07 // pinsrb xmm10, byte [r14 + rdi + 16], 7 - WORD $0x894c; BYTE $0xf8 // mov rax, r15 - QUAD $0x103e54203a0f4766; BYTE $0x08 // pinsrb xmm10, byte [r14 + r15 + 16], 8 - QUAD $0x101e54203a0f4766; BYTE $0x09 // pinsrb xmm10, byte [r14 + r11 + 16], 9 - LONG $0x247c8b4c; BYTE $0x70 // mov r15, qword [rsp + 112] - QUAD $0x103e54203a0f4766; BYTE $0x0a // pinsrb xmm10, byte [r14 + r15 + 16], 10 - LONG $0x244c8b48; BYTE $0x58 // mov rcx, qword [rsp + 88] - QUAD $0x100e54203a0f4566; BYTE $0x0b // pinsrb xmm10, byte [r14 + rcx + 16], 11 - QUAD $0x101654203a0f4766; BYTE $0x0c // pinsrb xmm10, byte [r14 + r10 + 16], 12 + QUAD $0x100e54203a0f4566; BYTE $0x04 // pinsrb xmm10, byte [r14 + rcx + 16], 4 + LONG $0x24748b48; BYTE $0x60 // mov rsi, qword [rsp + 96] + QUAD $0x103654203a0f4566; BYTE $0x05 // pinsrb xmm10, byte [r14 + rsi + 16], 5 + QUAD $0x101e54203a0f4766; BYTE $0x06 // pinsrb xmm10, byte [r14 + r11 + 16], 6 + LONG $0x24748b48; BYTE $0x30 // mov rsi, qword [rsp + 48] + QUAD $0x103654203a0f4566; BYTE $0x07 // pinsrb xmm10, byte [r14 + rsi + 16], 7 + QUAD $0x100654203a0f4766; BYTE $0x08 // pinsrb xmm10, byte [r14 + r8 + 16], 8 + QUAD $0x100e54203a0f4766; BYTE $0x09 // pinsrb xmm10, byte [r14 + r9 + 16], 9 + LONG $0x24748b48; BYTE $0x68 // mov rsi, qword [rsp + 104] + QUAD $0x103654203a0f4566; BYTE $0x0a // pinsrb xmm10, byte [r14 + rsi + 16], 10 + QUAD $0x101654203a0f4766; BYTE $0x0b // pinsrb xmm10, byte [r14 + r10 + 16], 11 + LONG $0x24748b48; BYTE $0x70 // mov rsi, qword [rsp + 112] + QUAD $0x103654203a0f4566; BYTE $0x0c // pinsrb xmm10, byte [r14 + rsi + 16], 12 QUAD $0x102e54203a0f4766; BYTE $0x0d // pinsrb xmm10, byte [r14 + r13 + 16], 13 - LONG $0x244c8b48; BYTE $0x28 // mov rcx, qword [rsp + 40] - QUAD $0x100e54203a0f4566; BYTE $0x0e // pinsrb xmm10, byte [r14 + rcx + 16], 14 - LONG $0x246c8b4c; BYTE $0x10 // mov r13, qword [rsp + 16] - QUAD $0x102e54203a0f4766; BYTE $0x0f // pinsrb xmm10, byte [r14 + r13 + 16], 15 - QUAD $0x113664203a0f4166; BYTE $0x01 // pinsrb xmm4, byte [r14 + rsi + 17], 1 - QUAD $0x110e64203a0f4366; BYTE $0x02 // pinsrb xmm4, byte [r14 + r9 + 17], 2 + QUAD $0x102654203a0f4766; BYTE $0x0e // pinsrb xmm10, byte [r14 + r12 + 16], 14 + QUAD $0x101e54203a0f4566; BYTE $0x0f // pinsrb xmm10, byte [r14 + rbx + 16], 15 + QUAD $0x110664203a0f4166; BYTE $0x01 // pinsrb xmm4, byte [r14 + rax + 17], 1 + QUAD $0x113e64203a0f4166; BYTE $0x02 // pinsrb xmm4, byte [r14 + rdi + 17], 2 QUAD $0x111664203a0f4166; BYTE $0x03 // pinsrb xmm4, byte [r14 + rdx + 17], 3 - QUAD $0x110664203a0f4366; BYTE $0x04 // pinsrb xmm4, byte [r14 + r8 + 17], 4 - QUAD $0x111e64203a0f4166; BYTE $0x05 // pinsrb xmm4, byte [r14 + rbx + 17], 5 - QUAD $0x112664203a0f4366; BYTE $0x06 // pinsrb xmm4, byte [r14 + r12 + 17], 6 - QUAD $0x113e64203a0f4166; BYTE $0x07 // pinsrb xmm4, byte [r14 + rdi + 17], 7 - QUAD $0x110664203a0f4166; BYTE $0x08 // pinsrb xmm4, byte [r14 + rax + 17], 8 - WORD $0x894d; BYTE $0xd9 // mov r9, r11 - QUAD $0x111e64203a0f4366; BYTE $0x09 // pinsrb xmm4, byte [r14 + r11 + 17], 9 - WORD $0x894d; BYTE $0xfa // mov r10, r15 - QUAD $0x113e64203a0f4366; BYTE $0x0a // pinsrb xmm4, byte [r14 + r15 + 17], 10 - LONG $0x24448b4c; BYTE $0x58 // mov r8, qword [rsp + 88] - QUAD $0x110664203a0f4366; BYTE $0x0b // pinsrb xmm4, byte [r14 + r8 + 17], 11 - LONG $0x247c8b48; BYTE $0x38 // mov rdi, qword [rsp + 56] - QUAD $0x113e64203a0f4166; BYTE $0x0c // pinsrb xmm4, byte [r14 + rdi + 17], 12 - LONG $0x24548b48; BYTE $0x78 // mov rdx, qword [rsp + 120] - QUAD $0x111664203a0f4166; BYTE $0x0d // pinsrb xmm4, byte [r14 + rdx + 17], 13 - QUAD $0x110e64203a0f4166; BYTE $0x0e // pinsrb xmm4, byte [r14 + rcx + 17], 14 - WORD $0x8949; BYTE $0xcb // mov r11, rcx - QUAD $0x112e64203a0f4366; BYTE $0x0f // pinsrb xmm4, byte [r14 + r13 + 17], 15 + QUAD $0x110e64203a0f4166; BYTE $0x04 // pinsrb xmm4, byte [r14 + rcx + 17], 4 + LONG $0x244c8b4c; BYTE $0x60 // mov r9, qword [rsp + 96] + QUAD $0x110e64203a0f4366; BYTE $0x05 // pinsrb xmm4, byte [r14 + r9 + 17], 5 + QUAD $0x111e64203a0f4366; BYTE $0x06 // pinsrb xmm4, byte [r14 + r11 + 17], 6 + LONG $0x24448b4c; BYTE $0x30 // mov r8, qword [rsp + 48] + QUAD $0x110664203a0f4366; BYTE $0x07 // pinsrb xmm4, byte [r14 + r8 + 17], 7 + QUAD $0x0000009024bc8b48 // mov rdi, qword [rsp + 144] + QUAD $0x113e64203a0f4166; BYTE $0x08 // pinsrb xmm4, byte [r14 + rdi + 17], 8 + LONG $0x244c8b48; BYTE $0x58 // mov rcx, qword [rsp + 88] + QUAD $0x110e64203a0f4166; BYTE $0x09 // pinsrb xmm4, byte [r14 + rcx + 17], 9 + LONG $0x24548b4c; BYTE $0x68 // mov r10, qword [rsp + 104] + QUAD $0x111664203a0f4366; BYTE $0x0a // pinsrb xmm4, byte [r14 + r10 + 17], 10 + LONG $0x24548b48; BYTE $0x48 // mov rdx, qword [rsp + 72] + QUAD $0x111664203a0f4166; BYTE $0x0b // pinsrb xmm4, byte [r14 + rdx + 17], 11 + QUAD $0x113664203a0f4166; BYTE $0x0c // pinsrb xmm4, byte [r14 + rsi + 17], 12 + QUAD $0x112e64203a0f4366; BYTE $0x0d // pinsrb xmm4, byte [r14 + r13 + 17], 13 + QUAD $0x112664203a0f4366; BYTE $0x0e // pinsrb xmm4, byte [r14 + r12 + 17], 14 + QUAD $0x111e64203a0f4166; BYTE $0x0f // pinsrb xmm4, byte [r14 + rbx + 17], 15 LONG $0x740f4566; BYTE $0xd6 // pcmpeqb xmm10, xmm14 LONG $0x740f4166; BYTE $0xe6 // pcmpeqb xmm4, xmm14 QUAD $0x00000100b56f0f66 // movdqa xmm6, oword 256[rbp] /* [rip + .LCPI5_16] */ LONG $0xe6df0f66 // pandn xmm4, xmm6 LONG $0xfc0f4166; BYTE $0xe2 // paddb xmm4, xmm10 - LONG $0x24448b48; BYTE $0x50 // mov rax, qword [rsp + 80] - LONG $0x74b60f41; WORD $0x1e06 // movzx esi, byte [r14 + rax + 30] + LONG $0x74b60f43; WORD $0x1e3e // movzx esi, byte [r14 + r15 + 30] LONG $0x6e0f4466; BYTE $0xd6 // movd xmm10, esi - LONG $0x24748b48; BYTE $0x18 // mov rsi, qword [rsp + 24] - QUAD $0x12367c203a0f4166; BYTE $0x01 // pinsrb xmm7, byte [r14 + rsi + 18], 1 - QUAD $0x13366c203a0f4166; BYTE $0x01 // pinsrb xmm5, byte [r14 + rsi + 19], 1 - QUAD $0x14365c203a0f4166; BYTE $0x01 // pinsrb xmm3, byte [r14 + rsi + 20], 1 - QUAD $0x153654203a0f4166; BYTE $0x01 // pinsrb xmm2, byte [r14 + rsi + 21], 1 - QUAD $0x16364c203a0f4166; BYTE $0x01 // pinsrb xmm1, byte [r14 + rsi + 22], 1 - QUAD $0x173644203a0f4566; BYTE $0x01 // pinsrb xmm8, byte [r14 + rsi + 23], 1 - QUAD $0x183664203a0f4566; BYTE $0x01 // pinsrb xmm12, byte [r14 + rsi + 24], 1 - QUAD $0x19366c203a0f4566; BYTE $0x01 // pinsrb xmm13, byte [r14 + rsi + 25], 1 - QUAD $0x1a3644203a0f4166; BYTE $0x01 // pinsrb xmm0, byte [r14 + rsi + 26], 1 - QUAD $0x1b365c203a0f4566; BYTE $0x01 // pinsrb xmm11, byte [r14 + rsi + 27], 1 - QUAD $0x1c367c203a0f4566; BYTE $0x01 // pinsrb xmm15, byte [r14 + rsi + 28], 1 - QUAD $0x1d364c203a0f4566; BYTE $0x01 // pinsrb xmm9, byte [r14 + rsi + 29], 1 - QUAD $0x1e3654203a0f4566; BYTE $0x01 // pinsrb xmm10, byte [r14 + rsi + 30], 1 - LONG $0x44b60f41; WORD $0x1f06 // movzx eax, byte [r14 + rax + 31] + WORD $0x8948; BYTE $0xc6 // mov rsi, rax + QUAD $0x12067c203a0f4166; BYTE $0x01 // pinsrb xmm7, byte [r14 + rax + 18], 1 + QUAD $0x13066c203a0f4166; BYTE $0x01 // pinsrb xmm5, byte [r14 + rax + 19], 1 + QUAD $0x14065c203a0f4166; BYTE $0x01 // pinsrb xmm3, byte [r14 + rax + 20], 1 + QUAD $0x150654203a0f4166; BYTE $0x01 // pinsrb xmm2, byte [r14 + rax + 21], 1 + QUAD $0x16064c203a0f4166; BYTE $0x01 // pinsrb xmm1, byte [r14 + rax + 22], 1 + QUAD $0x170644203a0f4566; BYTE $0x01 // pinsrb xmm8, byte [r14 + rax + 23], 1 + QUAD $0x180664203a0f4566; BYTE $0x01 // pinsrb xmm12, byte [r14 + rax + 24], 1 + QUAD $0x19066c203a0f4566; BYTE $0x01 // pinsrb xmm13, byte [r14 + rax + 25], 1 + QUAD $0x1a0644203a0f4166; BYTE $0x01 // pinsrb xmm0, byte [r14 + rax + 26], 1 + QUAD $0x1b065c203a0f4566; BYTE $0x01 // pinsrb xmm11, byte [r14 + rax + 27], 1 + QUAD $0x1c067c203a0f4566; BYTE $0x01 // pinsrb xmm15, byte [r14 + rax + 28], 1 + QUAD $0x1d064c203a0f4566; BYTE $0x01 // pinsrb xmm9, byte [r14 + rax + 29], 1 + QUAD $0x1e0654203a0f4566; BYTE $0x01 // pinsrb xmm10, byte [r14 + rax + 30], 1 + LONG $0x44b60f43; WORD $0x1f3e // movzx eax, byte [r14 + r15 + 31] LONG $0xf06e0f66 // movd xmm6, eax QUAD $0x1f3674203a0f4166; BYTE $0x01 // pinsrb xmm6, byte [r14 + rsi + 31], 1 - LONG $0x24448b48; BYTE $0x48 // mov rax, qword [rsp + 72] + LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] QUAD $0x12067c203a0f4166; BYTE $0x02 // pinsrb xmm7, byte [r14 + rax + 18], 2 QUAD $0x13066c203a0f4166; BYTE $0x02 // pinsrb xmm5, byte [r14 + rax + 19], 2 QUAD $0x14065c203a0f4166; BYTE $0x02 // pinsrb xmm3, byte [r14 + rax + 20], 2 @@ -27410,48 +28666,48 @@ LBB5_86: QUAD $0x1d064c203a0f4566; BYTE $0x02 // pinsrb xmm9, byte [r14 + rax + 29], 2 QUAD $0x1e0654203a0f4566; BYTE $0x02 // pinsrb xmm10, byte [r14 + rax + 30], 2 QUAD $0x1f0674203a0f4166; BYTE $0x02 // pinsrb xmm6, byte [r14 + rax + 31], 2 - LONG $0x247c8b4c; BYTE $0x20 // mov r15, qword [rsp + 32] + LONG $0x247c8b4c; BYTE $0x78 // mov r15, qword [rsp + 120] QUAD $0x123e7c203a0f4366; BYTE $0x03 // pinsrb xmm7, byte [r14 + r15 + 18], 3 - LONG $0x24448b48; BYTE $0x30 // mov rax, qword [rsp + 48] + QUAD $0x0000009824848b48 // mov rax, qword [rsp + 152] QUAD $0x12067c203a0f4166; BYTE $0x04 // pinsrb xmm7, byte [r14 + rax + 18], 4 - QUAD $0x121e7c203a0f4166; BYTE $0x05 // pinsrb xmm7, byte [r14 + rbx + 18], 5 - QUAD $0x12267c203a0f4366; BYTE $0x06 // pinsrb xmm7, byte [r14 + r12 + 18], 6 - QUAD $0x00000088248c8b48 // mov rcx, qword [rsp + 136] - QUAD $0x120e7c203a0f4166; BYTE $0x07 // pinsrb xmm7, byte [r14 + rcx + 18], 7 - LONG $0x24748b48; BYTE $0x68 // mov rsi, qword [rsp + 104] - QUAD $0x12367c203a0f4166; BYTE $0x08 // pinsrb xmm7, byte [r14 + rsi + 18], 8 - QUAD $0x120e7c203a0f4366; BYTE $0x09 // pinsrb xmm7, byte [r14 + r9 + 18], 9 + QUAD $0x120e7c203a0f4366; BYTE $0x05 // pinsrb xmm7, byte [r14 + r9 + 18], 5 + QUAD $0x121e7c203a0f4366; BYTE $0x06 // pinsrb xmm7, byte [r14 + r11 + 18], 6 + QUAD $0x12067c203a0f4366; BYTE $0x07 // pinsrb xmm7, byte [r14 + r8 + 18], 7 + WORD $0x8948; BYTE $0xfe // mov rsi, rdi + QUAD $0x123e7c203a0f4166; BYTE $0x08 // pinsrb xmm7, byte [r14 + rdi + 18], 8 + QUAD $0x120e7c203a0f4166; BYTE $0x09 // pinsrb xmm7, byte [r14 + rcx + 18], 9 QUAD $0x12167c203a0f4366; BYTE $0x0a // pinsrb xmm7, byte [r14 + r10 + 18], 10 - QUAD $0x12067c203a0f4366; BYTE $0x0b // pinsrb xmm7, byte [r14 + r8 + 18], 11 + QUAD $0x12167c203a0f4166; BYTE $0x0b // pinsrb xmm7, byte [r14 + rdx + 18], 11 + LONG $0x247c8b48; BYTE $0x70 // mov rdi, qword [rsp + 112] QUAD $0x123e7c203a0f4166; BYTE $0x0c // pinsrb xmm7, byte [r14 + rdi + 18], 12 - QUAD $0x12167c203a0f4166; BYTE $0x0d // pinsrb xmm7, byte [r14 + rdx + 18], 13 - QUAD $0x121e7c203a0f4366; BYTE $0x0e // pinsrb xmm7, byte [r14 + r11 + 18], 14 - QUAD $0x122e7c203a0f4366; BYTE $0x0f // pinsrb xmm7, byte [r14 + r13 + 18], 15 + QUAD $0x122e7c203a0f4366; BYTE $0x0d // pinsrb xmm7, byte [r14 + r13 + 18], 13 + QUAD $0x12267c203a0f4366; BYTE $0x0e // pinsrb xmm7, byte [r14 + r12 + 18], 14 + QUAD $0x121e7c203a0f4166; BYTE $0x0f // pinsrb xmm7, byte [r14 + rbx + 18], 15 QUAD $0x133e6c203a0f4366; BYTE $0x03 // pinsrb xmm5, byte [r14 + r15 + 19], 3 QUAD $0x13066c203a0f4166; BYTE $0x04 // pinsrb xmm5, byte [r14 + rax + 19], 4 - QUAD $0x131e6c203a0f4166; BYTE $0x05 // pinsrb xmm5, byte [r14 + rbx + 19], 5 - QUAD $0x13266c203a0f4366; BYTE $0x06 // pinsrb xmm5, byte [r14 + r12 + 19], 6 - QUAD $0x130e6c203a0f4166; BYTE $0x07 // pinsrb xmm5, byte [r14 + rcx + 19], 7 + QUAD $0x130e6c203a0f4366; BYTE $0x05 // pinsrb xmm5, byte [r14 + r9 + 19], 5 + QUAD $0x131e6c203a0f4366; BYTE $0x06 // pinsrb xmm5, byte [r14 + r11 + 19], 6 + QUAD $0x13066c203a0f4366; BYTE $0x07 // pinsrb xmm5, byte [r14 + r8 + 19], 7 QUAD $0x13366c203a0f4166; BYTE $0x08 // pinsrb xmm5, byte [r14 + rsi + 19], 8 - QUAD $0x130e6c203a0f4366; BYTE $0x09 // pinsrb xmm5, byte [r14 + r9 + 19], 9 + QUAD $0x130e6c203a0f4166; BYTE $0x09 // pinsrb xmm5, byte [r14 + rcx + 19], 9 QUAD $0x13166c203a0f4366; BYTE $0x0a // pinsrb xmm5, byte [r14 + r10 + 19], 10 - QUAD $0x13066c203a0f4366; BYTE $0x0b // pinsrb xmm5, byte [r14 + r8 + 19], 11 + QUAD $0x13166c203a0f4166; BYTE $0x0b // pinsrb xmm5, byte [r14 + rdx + 19], 11 QUAD $0x133e6c203a0f4166; BYTE $0x0c // pinsrb xmm5, byte [r14 + rdi + 19], 12 - QUAD $0x13166c203a0f4166; BYTE $0x0d // pinsrb xmm5, byte [r14 + rdx + 19], 13 - QUAD $0x131e6c203a0f4366; BYTE $0x0e // pinsrb xmm5, byte [r14 + r11 + 19], 14 - QUAD $0x132e6c203a0f4366; BYTE $0x0f // pinsrb xmm5, byte [r14 + r13 + 19], 15 + QUAD $0x132e6c203a0f4366; BYTE $0x0d // pinsrb xmm5, byte [r14 + r13 + 19], 13 + QUAD $0x13266c203a0f4366; BYTE $0x0e // pinsrb xmm5, byte [r14 + r12 + 19], 14 + QUAD $0x131e6c203a0f4166; BYTE $0x0f // pinsrb xmm5, byte [r14 + rbx + 19], 15 QUAD $0x143e5c203a0f4366; BYTE $0x03 // pinsrb xmm3, byte [r14 + r15 + 20], 3 QUAD $0x14065c203a0f4166; BYTE $0x04 // pinsrb xmm3, byte [r14 + rax + 20], 4 - QUAD $0x141e5c203a0f4166; BYTE $0x05 // pinsrb xmm3, byte [r14 + rbx + 20], 5 - QUAD $0x14265c203a0f4366; BYTE $0x06 // pinsrb xmm3, byte [r14 + r12 + 20], 6 - QUAD $0x140e5c203a0f4166; BYTE $0x07 // pinsrb xmm3, byte [r14 + rcx + 20], 7 + QUAD $0x140e5c203a0f4366; BYTE $0x05 // pinsrb xmm3, byte [r14 + r9 + 20], 5 + QUAD $0x141e5c203a0f4366; BYTE $0x06 // pinsrb xmm3, byte [r14 + r11 + 20], 6 + QUAD $0x14065c203a0f4366; BYTE $0x07 // pinsrb xmm3, byte [r14 + r8 + 20], 7 QUAD $0x14365c203a0f4166; BYTE $0x08 // pinsrb xmm3, byte [r14 + rsi + 20], 8 - QUAD $0x140e5c203a0f4366; BYTE $0x09 // pinsrb xmm3, byte [r14 + r9 + 20], 9 + QUAD $0x140e5c203a0f4166; BYTE $0x09 // pinsrb xmm3, byte [r14 + rcx + 20], 9 QUAD $0x14165c203a0f4366; BYTE $0x0a // pinsrb xmm3, byte [r14 + r10 + 20], 10 - QUAD $0x14065c203a0f4366; BYTE $0x0b // pinsrb xmm3, byte [r14 + r8 + 20], 11 + QUAD $0x14165c203a0f4166; BYTE $0x0b // pinsrb xmm3, byte [r14 + rdx + 20], 11 QUAD $0x143e5c203a0f4166; BYTE $0x0c // pinsrb xmm3, byte [r14 + rdi + 20], 12 - QUAD $0x14165c203a0f4166; BYTE $0x0d // pinsrb xmm3, byte [r14 + rdx + 20], 13 - QUAD $0x141e5c203a0f4366; BYTE $0x0e // pinsrb xmm3, byte [r14 + r11 + 20], 14 + QUAD $0x142e5c203a0f4366; BYTE $0x0d // pinsrb xmm3, byte [r14 + r13 + 20], 13 + QUAD $0x14265c203a0f4366; BYTE $0x0e // pinsrb xmm3, byte [r14 + r12 + 20], 14 LONG $0x740f4166; BYTE $0xfe // pcmpeqb xmm7, xmm14 QUAD $0x000110b56f0f4466; BYTE $0x00 // movdqa xmm14, oword 272[rbp] /* [rip + .LCPI5_17] */ LONG $0xdf0f4166; BYTE $0xfe // pandn xmm7, xmm14 @@ -27459,7 +28715,7 @@ LBB5_86: QUAD $0x000120b56f0f4466; BYTE $0x00 // movdqa xmm14, oword 288[rbp] /* [rip + .LCPI5_18] */ LONG $0xdf0f4166; BYTE $0xee // pandn xmm5, xmm14 LONG $0xefeb0f66 // por xmm5, xmm7 - QUAD $0x142e5c203a0f4366; BYTE $0x0f // pinsrb xmm3, byte [r14 + r13 + 20], 15 + QUAD $0x141e5c203a0f4166; BYTE $0x0f // pinsrb xmm3, byte [r14 + rbx + 20], 15 QUAD $0x00b024b46f0f4466; WORD $0x0000 // movdqa xmm14, oword [rsp + 176] LONG $0x740f4166; BYTE $0xde // pcmpeqb xmm3, xmm14 QUAD $0x00000130bd6f0f66 // movdqa xmm7, oword 304[rbp] /* [rip + .LCPI5_19] */ @@ -27470,42 +28726,42 @@ LBB5_86: LONG $0xdceb0f66 // por xmm3, xmm4 QUAD $0x153e54203a0f4366; BYTE $0x03 // pinsrb xmm2, byte [r14 + r15 + 21], 3 QUAD $0x150654203a0f4166; BYTE $0x04 // pinsrb xmm2, byte [r14 + rax + 21], 4 - QUAD $0x151e54203a0f4166; BYTE $0x05 // pinsrb xmm2, byte [r14 + rbx + 21], 5 - QUAD $0x152654203a0f4366; BYTE $0x06 // pinsrb xmm2, byte [r14 + r12 + 21], 6 - QUAD $0x150e54203a0f4166; BYTE $0x07 // pinsrb xmm2, byte [r14 + rcx + 21], 7 + QUAD $0x150e54203a0f4366; BYTE $0x05 // pinsrb xmm2, byte [r14 + r9 + 21], 5 + QUAD $0x151e54203a0f4366; BYTE $0x06 // pinsrb xmm2, byte [r14 + r11 + 21], 6 + QUAD $0x150654203a0f4366; BYTE $0x07 // pinsrb xmm2, byte [r14 + r8 + 21], 7 QUAD $0x153654203a0f4166; BYTE $0x08 // pinsrb xmm2, byte [r14 + rsi + 21], 8 - QUAD $0x150e54203a0f4366; BYTE $0x09 // pinsrb xmm2, byte [r14 + r9 + 21], 9 + QUAD $0x150e54203a0f4166; BYTE $0x09 // pinsrb xmm2, byte [r14 + rcx + 21], 9 QUAD $0x151654203a0f4366; BYTE $0x0a // pinsrb xmm2, byte [r14 + r10 + 21], 10 - QUAD $0x150654203a0f4366; BYTE $0x0b // pinsrb xmm2, byte [r14 + r8 + 21], 11 + QUAD $0x151654203a0f4166; BYTE $0x0b // pinsrb xmm2, byte [r14 + rdx + 21], 11 QUAD $0x153e54203a0f4166; BYTE $0x0c // pinsrb xmm2, byte [r14 + rdi + 21], 12 - QUAD $0x151654203a0f4166; BYTE $0x0d // pinsrb xmm2, byte [r14 + rdx + 21], 13 - QUAD $0x151e54203a0f4366; BYTE $0x0e // pinsrb xmm2, byte [r14 + r11 + 21], 14 - QUAD $0x152e54203a0f4366; BYTE $0x0f // pinsrb xmm2, byte [r14 + r13 + 21], 15 + QUAD $0x152e54203a0f4366; BYTE $0x0d // pinsrb xmm2, byte [r14 + r13 + 21], 13 + QUAD $0x152654203a0f4366; BYTE $0x0e // pinsrb xmm2, byte [r14 + r12 + 21], 14 + QUAD $0x151e54203a0f4166; BYTE $0x0f // pinsrb xmm2, byte [r14 + rbx + 21], 15 QUAD $0x163e4c203a0f4366; BYTE $0x03 // pinsrb xmm1, byte [r14 + r15 + 22], 3 QUAD $0x16064c203a0f4166; BYTE $0x04 // pinsrb xmm1, byte [r14 + rax + 22], 4 - QUAD $0x161e4c203a0f4166; BYTE $0x05 // pinsrb xmm1, byte [r14 + rbx + 22], 5 - QUAD $0x16264c203a0f4366; BYTE $0x06 // pinsrb xmm1, byte [r14 + r12 + 22], 6 - QUAD $0x160e4c203a0f4166; BYTE $0x07 // pinsrb xmm1, byte [r14 + rcx + 22], 7 + QUAD $0x160e4c203a0f4366; BYTE $0x05 // pinsrb xmm1, byte [r14 + r9 + 22], 5 + QUAD $0x161e4c203a0f4366; BYTE $0x06 // pinsrb xmm1, byte [r14 + r11 + 22], 6 + QUAD $0x16064c203a0f4366; BYTE $0x07 // pinsrb xmm1, byte [r14 + r8 + 22], 7 QUAD $0x16364c203a0f4166; BYTE $0x08 // pinsrb xmm1, byte [r14 + rsi + 22], 8 - QUAD $0x160e4c203a0f4366; BYTE $0x09 // pinsrb xmm1, byte [r14 + r9 + 22], 9 + QUAD $0x160e4c203a0f4166; BYTE $0x09 // pinsrb xmm1, byte [r14 + rcx + 22], 9 QUAD $0x16164c203a0f4366; BYTE $0x0a // pinsrb xmm1, byte [r14 + r10 + 22], 10 - QUAD $0x16064c203a0f4366; BYTE $0x0b // pinsrb xmm1, byte [r14 + r8 + 22], 11 + QUAD $0x16164c203a0f4166; BYTE $0x0b // pinsrb xmm1, byte [r14 + rdx + 22], 11 QUAD $0x163e4c203a0f4166; BYTE $0x0c // pinsrb xmm1, byte [r14 + rdi + 22], 12 - QUAD $0x16164c203a0f4166; BYTE $0x0d // pinsrb xmm1, byte [r14 + rdx + 22], 13 - QUAD $0x161e4c203a0f4366; BYTE $0x0e // pinsrb xmm1, byte [r14 + r11 + 22], 14 - QUAD $0x162e4c203a0f4366; BYTE $0x0f // pinsrb xmm1, byte [r14 + r13 + 22], 15 + QUAD $0x162e4c203a0f4366; BYTE $0x0d // pinsrb xmm1, byte [r14 + r13 + 22], 13 + QUAD $0x16264c203a0f4366; BYTE $0x0e // pinsrb xmm1, byte [r14 + r12 + 22], 14 + QUAD $0x161e4c203a0f4166; BYTE $0x0f // pinsrb xmm1, byte [r14 + rbx + 22], 15 QUAD $0x173e44203a0f4766; BYTE $0x03 // pinsrb xmm8, byte [r14 + r15 + 23], 3 QUAD $0x170644203a0f4566; BYTE $0x04 // pinsrb xmm8, byte [r14 + rax + 23], 4 - QUAD $0x171e44203a0f4566; BYTE $0x05 // pinsrb xmm8, byte [r14 + rbx + 23], 5 - QUAD $0x172644203a0f4766; BYTE $0x06 // pinsrb xmm8, byte [r14 + r12 + 23], 6 - QUAD $0x170e44203a0f4566; BYTE $0x07 // pinsrb xmm8, byte [r14 + rcx + 23], 7 + QUAD $0x170e44203a0f4766; BYTE $0x05 // pinsrb xmm8, byte [r14 + r9 + 23], 5 + QUAD $0x171e44203a0f4766; BYTE $0x06 // pinsrb xmm8, byte [r14 + r11 + 23], 6 + QUAD $0x170644203a0f4766; BYTE $0x07 // pinsrb xmm8, byte [r14 + r8 + 23], 7 QUAD $0x173644203a0f4566; BYTE $0x08 // pinsrb xmm8, byte [r14 + rsi + 23], 8 - QUAD $0x170e44203a0f4766; BYTE $0x09 // pinsrb xmm8, byte [r14 + r9 + 23], 9 + QUAD $0x170e44203a0f4566; BYTE $0x09 // pinsrb xmm8, byte [r14 + rcx + 23], 9 QUAD $0x171644203a0f4766; BYTE $0x0a // pinsrb xmm8, byte [r14 + r10 + 23], 10 - QUAD $0x170644203a0f4766; BYTE $0x0b // pinsrb xmm8, byte [r14 + r8 + 23], 11 + QUAD $0x171644203a0f4566; BYTE $0x0b // pinsrb xmm8, byte [r14 + rdx + 23], 11 QUAD $0x173e44203a0f4566; BYTE $0x0c // pinsrb xmm8, byte [r14 + rdi + 23], 12 - QUAD $0x171644203a0f4566; BYTE $0x0d // pinsrb xmm8, byte [r14 + rdx + 23], 13 - QUAD $0x171e44203a0f4766; BYTE $0x0e // pinsrb xmm8, byte [r14 + r11 + 23], 14 + QUAD $0x172e44203a0f4766; BYTE $0x0d // pinsrb xmm8, byte [r14 + r13 + 23], 13 + QUAD $0x172644203a0f4766; BYTE $0x0e // pinsrb xmm8, byte [r14 + r12 + 23], 14 LONG $0x740f4166; BYTE $0xd6 // pcmpeqb xmm2, xmm14 QUAD $0x00000140ad6f0f66 // movdqa xmm5, oword 320[rbp] /* [rip + .LCPI5_20] */ LONG $0xd5df0f66 // pandn xmm2, xmm5 @@ -27513,68 +28769,68 @@ LBB5_86: QUAD $0x00000150bd6f0f66 // movdqa xmm7, oword 336[rbp] /* [rip + .LCPI5_21] */ LONG $0xcfdf0f66 // pandn xmm1, xmm7 LONG $0xcaeb0f66 // por xmm1, xmm2 - QUAD $0x172e44203a0f4766; BYTE $0x0f // pinsrb xmm8, byte [r14 + r13 + 23], 15 + QUAD $0x171e44203a0f4566; BYTE $0x0f // pinsrb xmm8, byte [r14 + rbx + 23], 15 LONG $0x740f4566; BYTE $0xc6 // pcmpeqb xmm8, xmm14 LONG $0x656f0f66; BYTE $0x60 // movdqa xmm4, oword 96[rbp] /* [rip + .LCPI5_6] */ LONG $0xdf0f4466; BYTE $0xc4 // pandn xmm8, xmm4 LONG $0xeb0f4466; BYTE $0xc1 // por xmm8, xmm1 QUAD $0x183e64203a0f4766; BYTE $0x03 // pinsrb xmm12, byte [r14 + r15 + 24], 3 QUAD $0x180664203a0f4566; BYTE $0x04 // pinsrb xmm12, byte [r14 + rax + 24], 4 - QUAD $0x181e64203a0f4566; BYTE $0x05 // pinsrb xmm12, byte [r14 + rbx + 24], 5 - QUAD $0x182664203a0f4766; BYTE $0x06 // pinsrb xmm12, byte [r14 + r12 + 24], 6 - QUAD $0x180e64203a0f4566; BYTE $0x07 // pinsrb xmm12, byte [r14 + rcx + 24], 7 + QUAD $0x180e64203a0f4766; BYTE $0x05 // pinsrb xmm12, byte [r14 + r9 + 24], 5 + QUAD $0x181e64203a0f4766; BYTE $0x06 // pinsrb xmm12, byte [r14 + r11 + 24], 6 + QUAD $0x180664203a0f4766; BYTE $0x07 // pinsrb xmm12, byte [r14 + r8 + 24], 7 QUAD $0x183664203a0f4566; BYTE $0x08 // pinsrb xmm12, byte [r14 + rsi + 24], 8 - QUAD $0x180e64203a0f4766; BYTE $0x09 // pinsrb xmm12, byte [r14 + r9 + 24], 9 + QUAD $0x180e64203a0f4566; BYTE $0x09 // pinsrb xmm12, byte [r14 + rcx + 24], 9 QUAD $0x181664203a0f4766; BYTE $0x0a // pinsrb xmm12, byte [r14 + r10 + 24], 10 - QUAD $0x180664203a0f4766; BYTE $0x0b // pinsrb xmm12, byte [r14 + r8 + 24], 11 + QUAD $0x181664203a0f4566; BYTE $0x0b // pinsrb xmm12, byte [r14 + rdx + 24], 11 QUAD $0x183e64203a0f4566; BYTE $0x0c // pinsrb xmm12, byte [r14 + rdi + 24], 12 - QUAD $0x181664203a0f4566; BYTE $0x0d // pinsrb xmm12, byte [r14 + rdx + 24], 13 - QUAD $0x181e64203a0f4766; BYTE $0x0e // pinsrb xmm12, byte [r14 + r11 + 24], 14 - QUAD $0x182e64203a0f4766; BYTE $0x0f // pinsrb xmm12, byte [r14 + r13 + 24], 15 + QUAD $0x182e64203a0f4766; BYTE $0x0d // pinsrb xmm12, byte [r14 + r13 + 24], 13 + QUAD $0x182664203a0f4766; BYTE $0x0e // pinsrb xmm12, byte [r14 + r12 + 24], 14 + QUAD $0x181e64203a0f4566; BYTE $0x0f // pinsrb xmm12, byte [r14 + rbx + 24], 15 LONG $0xeb0f4466; BYTE $0xc3 // por xmm8, xmm3 LONG $0x740f4566; BYTE $0xe6 // pcmpeqb xmm12, xmm14 QUAD $0x193e6c203a0f4766; BYTE $0x03 // pinsrb xmm13, byte [r14 + r15 + 25], 3 QUAD $0x19066c203a0f4566; BYTE $0x04 // pinsrb xmm13, byte [r14 + rax + 25], 4 - QUAD $0x191e6c203a0f4566; BYTE $0x05 // pinsrb xmm13, byte [r14 + rbx + 25], 5 - QUAD $0x19266c203a0f4766; BYTE $0x06 // pinsrb xmm13, byte [r14 + r12 + 25], 6 - QUAD $0x190e6c203a0f4566; BYTE $0x07 // pinsrb xmm13, byte [r14 + rcx + 25], 7 + QUAD $0x190e6c203a0f4766; BYTE $0x05 // pinsrb xmm13, byte [r14 + r9 + 25], 5 + QUAD $0x191e6c203a0f4766; BYTE $0x06 // pinsrb xmm13, byte [r14 + r11 + 25], 6 + QUAD $0x19066c203a0f4766; BYTE $0x07 // pinsrb xmm13, byte [r14 + r8 + 25], 7 QUAD $0x19366c203a0f4566; BYTE $0x08 // pinsrb xmm13, byte [r14 + rsi + 25], 8 - QUAD $0x190e6c203a0f4766; BYTE $0x09 // pinsrb xmm13, byte [r14 + r9 + 25], 9 + QUAD $0x190e6c203a0f4566; BYTE $0x09 // pinsrb xmm13, byte [r14 + rcx + 25], 9 QUAD $0x19166c203a0f4766; BYTE $0x0a // pinsrb xmm13, byte [r14 + r10 + 25], 10 - QUAD $0x19066c203a0f4766; BYTE $0x0b // pinsrb xmm13, byte [r14 + r8 + 25], 11 + QUAD $0x19166c203a0f4566; BYTE $0x0b // pinsrb xmm13, byte [r14 + rdx + 25], 11 QUAD $0x193e6c203a0f4566; BYTE $0x0c // pinsrb xmm13, byte [r14 + rdi + 25], 12 - QUAD $0x19166c203a0f4566; BYTE $0x0d // pinsrb xmm13, byte [r14 + rdx + 25], 13 - QUAD $0x191e6c203a0f4766; BYTE $0x0e // pinsrb xmm13, byte [r14 + r11 + 25], 14 - QUAD $0x192e6c203a0f4766; BYTE $0x0f // pinsrb xmm13, byte [r14 + r13 + 25], 15 + QUAD $0x192e6c203a0f4766; BYTE $0x0d // pinsrb xmm13, byte [r14 + r13 + 25], 13 + QUAD $0x19266c203a0f4766; BYTE $0x0e // pinsrb xmm13, byte [r14 + r12 + 25], 14 + QUAD $0x191e6c203a0f4566; BYTE $0x0f // pinsrb xmm13, byte [r14 + rbx + 25], 15 QUAD $0x1a3e44203a0f4366; BYTE $0x03 // pinsrb xmm0, byte [r14 + r15 + 26], 3 QUAD $0x1a0644203a0f4166; BYTE $0x04 // pinsrb xmm0, byte [r14 + rax + 26], 4 - QUAD $0x1a1e44203a0f4166; BYTE $0x05 // pinsrb xmm0, byte [r14 + rbx + 26], 5 - QUAD $0x1a2644203a0f4366; BYTE $0x06 // pinsrb xmm0, byte [r14 + r12 + 26], 6 - QUAD $0x1a0e44203a0f4166; BYTE $0x07 // pinsrb xmm0, byte [r14 + rcx + 26], 7 + QUAD $0x1a0e44203a0f4366; BYTE $0x05 // pinsrb xmm0, byte [r14 + r9 + 26], 5 + QUAD $0x1a1e44203a0f4366; BYTE $0x06 // pinsrb xmm0, byte [r14 + r11 + 26], 6 + QUAD $0x1a0644203a0f4366; BYTE $0x07 // pinsrb xmm0, byte [r14 + r8 + 26], 7 QUAD $0x1a3644203a0f4166; BYTE $0x08 // pinsrb xmm0, byte [r14 + rsi + 26], 8 - QUAD $0x1a0e44203a0f4366; BYTE $0x09 // pinsrb xmm0, byte [r14 + r9 + 26], 9 + QUAD $0x1a0e44203a0f4166; BYTE $0x09 // pinsrb xmm0, byte [r14 + rcx + 26], 9 QUAD $0x1a1644203a0f4366; BYTE $0x0a // pinsrb xmm0, byte [r14 + r10 + 26], 10 - QUAD $0x1a0644203a0f4366; BYTE $0x0b // pinsrb xmm0, byte [r14 + r8 + 26], 11 + QUAD $0x1a1644203a0f4166; BYTE $0x0b // pinsrb xmm0, byte [r14 + rdx + 26], 11 QUAD $0x1a3e44203a0f4166; BYTE $0x0c // pinsrb xmm0, byte [r14 + rdi + 26], 12 - QUAD $0x1a1644203a0f4166; BYTE $0x0d // pinsrb xmm0, byte [r14 + rdx + 26], 13 - QUAD $0x1a1e44203a0f4366; BYTE $0x0e // pinsrb xmm0, byte [r14 + r11 + 26], 14 - QUAD $0x1a2e44203a0f4366; BYTE $0x0f // pinsrb xmm0, byte [r14 + r13 + 26], 15 + QUAD $0x1a2e44203a0f4366; BYTE $0x0d // pinsrb xmm0, byte [r14 + r13 + 26], 13 + QUAD $0x1a2644203a0f4366; BYTE $0x0e // pinsrb xmm0, byte [r14 + r12 + 26], 14 + QUAD $0x1a1e44203a0f4166; BYTE $0x0f // pinsrb xmm0, byte [r14 + rbx + 26], 15 QUAD $0x1b3e5c203a0f4766; BYTE $0x03 // pinsrb xmm11, byte [r14 + r15 + 27], 3 QUAD $0x1b065c203a0f4566; BYTE $0x04 // pinsrb xmm11, byte [r14 + rax + 27], 4 - QUAD $0x1b1e5c203a0f4566; BYTE $0x05 // pinsrb xmm11, byte [r14 + rbx + 27], 5 - QUAD $0x1b265c203a0f4766; BYTE $0x06 // pinsrb xmm11, byte [r14 + r12 + 27], 6 - QUAD $0x1b0e5c203a0f4566; BYTE $0x07 // pinsrb xmm11, byte [r14 + rcx + 27], 7 + QUAD $0x1b0e5c203a0f4766; BYTE $0x05 // pinsrb xmm11, byte [r14 + r9 + 27], 5 + QUAD $0x1b1e5c203a0f4766; BYTE $0x06 // pinsrb xmm11, byte [r14 + r11 + 27], 6 + QUAD $0x1b065c203a0f4766; BYTE $0x07 // pinsrb xmm11, byte [r14 + r8 + 27], 7 QUAD $0x1b365c203a0f4566; BYTE $0x08 // pinsrb xmm11, byte [r14 + rsi + 27], 8 - QUAD $0x1b0e5c203a0f4766; BYTE $0x09 // pinsrb xmm11, byte [r14 + r9 + 27], 9 + QUAD $0x1b0e5c203a0f4566; BYTE $0x09 // pinsrb xmm11, byte [r14 + rcx + 27], 9 QUAD $0x1b165c203a0f4766; BYTE $0x0a // pinsrb xmm11, byte [r14 + r10 + 27], 10 - QUAD $0x1b065c203a0f4766; BYTE $0x0b // pinsrb xmm11, byte [r14 + r8 + 27], 11 + QUAD $0x1b165c203a0f4566; BYTE $0x0b // pinsrb xmm11, byte [r14 + rdx + 27], 11 QUAD $0x1b3e5c203a0f4566; BYTE $0x0c // pinsrb xmm11, byte [r14 + rdi + 27], 12 - QUAD $0x1b165c203a0f4566; BYTE $0x0d // pinsrb xmm11, byte [r14 + rdx + 27], 13 - QUAD $0x1b1e5c203a0f4766; BYTE $0x0e // pinsrb xmm11, byte [r14 + r11 + 27], 14 + QUAD $0x1b2e5c203a0f4766; BYTE $0x0d // pinsrb xmm11, byte [r14 + r13 + 27], 13 + QUAD $0x1b265c203a0f4766; BYTE $0x0e // pinsrb xmm11, byte [r14 + r12 + 27], 14 LONG $0x740f4566; BYTE $0xee // pcmpeqb xmm13, xmm14 QUAD $0x000100addf0f4466; BYTE $0x00 // pandn xmm13, oword 256[rbp] /* [rip + .LCPI5_16] */ LONG $0xfc0f4566; BYTE $0xec // paddb xmm13, xmm12 - QUAD $0x1b2e5c203a0f4766; BYTE $0x0f // pinsrb xmm11, byte [r14 + r13 + 27], 15 + QUAD $0x1b1e5c203a0f4566; BYTE $0x0f // pinsrb xmm11, byte [r14 + rbx + 27], 15 LONG $0x740f4166; BYTE $0xc6 // pcmpeqb xmm0, xmm14 QUAD $0x0000011085df0f66 // pandn xmm0, oword 272[rbp] /* [rip + .LCPI5_17] */ LONG $0x740f4566; BYTE $0xde // pcmpeqb xmm11, xmm14 @@ -27588,61 +28844,60 @@ LBB5_86: QUAD $0x1d064c203a0f4566; BYTE $0x04 // pinsrb xmm9, byte [r14 + rax + 29], 4 QUAD $0x1e0654203a0f4566; BYTE $0x04 // pinsrb xmm10, byte [r14 + rax + 30], 4 QUAD $0x1f0674203a0f4166; BYTE $0x04 // pinsrb xmm6, byte [r14 + rax + 31], 4 - QUAD $0x1c1e7c203a0f4566; BYTE $0x05 // pinsrb xmm15, byte [r14 + rbx + 28], 5 - QUAD $0x1d1e4c203a0f4566; BYTE $0x05 // pinsrb xmm9, byte [r14 + rbx + 29], 5 - QUAD $0x1e1e54203a0f4566; BYTE $0x05 // pinsrb xmm10, byte [r14 + rbx + 30], 5 - QUAD $0x1f1e74203a0f4166; BYTE $0x05 // pinsrb xmm6, byte [r14 + rbx + 31], 5 - QUAD $0x1c267c203a0f4766; BYTE $0x06 // pinsrb xmm15, byte [r14 + r12 + 28], 6 - QUAD $0x1d264c203a0f4766; BYTE $0x06 // pinsrb xmm9, byte [r14 + r12 + 29], 6 - QUAD $0x1e2654203a0f4766; BYTE $0x06 // pinsrb xmm10, byte [r14 + r12 + 30], 6 - QUAD $0x1f2674203a0f4366; BYTE $0x06 // pinsrb xmm6, byte [r14 + r12 + 31], 6 - WORD $0x8948; BYTE $0xc8 // mov rax, rcx - QUAD $0x1c0e7c203a0f4566; BYTE $0x07 // pinsrb xmm15, byte [r14 + rcx + 28], 7 - QUAD $0x1d0e4c203a0f4566; BYTE $0x07 // pinsrb xmm9, byte [r14 + rcx + 29], 7 - QUAD $0x1e0e54203a0f4566; BYTE $0x07 // pinsrb xmm10, byte [r14 + rcx + 30], 7 - QUAD $0x1f0e74203a0f4166; BYTE $0x07 // pinsrb xmm6, byte [r14 + rcx + 31], 7 + WORD $0x894c; BYTE $0xc8 // mov rax, r9 + QUAD $0x1c0e7c203a0f4766; BYTE $0x05 // pinsrb xmm15, byte [r14 + r9 + 28], 5 + QUAD $0x1d0e4c203a0f4766; BYTE $0x05 // pinsrb xmm9, byte [r14 + r9 + 29], 5 + QUAD $0x1e0e54203a0f4766; BYTE $0x05 // pinsrb xmm10, byte [r14 + r9 + 30], 5 + QUAD $0x1f0e74203a0f4366; BYTE $0x05 // pinsrb xmm6, byte [r14 + r9 + 31], 5 + QUAD $0x1c1e7c203a0f4766; BYTE $0x06 // pinsrb xmm15, byte [r14 + r11 + 28], 6 + QUAD $0x1d1e4c203a0f4766; BYTE $0x06 // pinsrb xmm9, byte [r14 + r11 + 29], 6 + QUAD $0x1e1e54203a0f4766; BYTE $0x06 // pinsrb xmm10, byte [r14 + r11 + 30], 6 + QUAD $0x1f1e74203a0f4366; BYTE $0x06 // pinsrb xmm6, byte [r14 + r11 + 31], 6 + WORD $0x894c; BYTE $0xc0 // mov rax, r8 + QUAD $0x1c067c203a0f4766; BYTE $0x07 // pinsrb xmm15, byte [r14 + r8 + 28], 7 + QUAD $0x1d064c203a0f4766; BYTE $0x07 // pinsrb xmm9, byte [r14 + r8 + 29], 7 + QUAD $0x1e0654203a0f4766; BYTE $0x07 // pinsrb xmm10, byte [r14 + r8 + 30], 7 + QUAD $0x1f0674203a0f4366; BYTE $0x07 // pinsrb xmm6, byte [r14 + r8 + 31], 7 WORD $0x8948; BYTE $0xf0 // mov rax, rsi QUAD $0x1c367c203a0f4566; BYTE $0x08 // pinsrb xmm15, byte [r14 + rsi + 28], 8 QUAD $0x1d364c203a0f4566; BYTE $0x08 // pinsrb xmm9, byte [r14 + rsi + 29], 8 QUAD $0x1e3654203a0f4566; BYTE $0x08 // pinsrb xmm10, byte [r14 + rsi + 30], 8 QUAD $0x1f3674203a0f4166; BYTE $0x08 // pinsrb xmm6, byte [r14 + rsi + 31], 8 - WORD $0x894c; BYTE $0xc8 // mov rax, r9 - QUAD $0x1c0e7c203a0f4766; BYTE $0x09 // pinsrb xmm15, byte [r14 + r9 + 28], 9 - QUAD $0x1d0e4c203a0f4766; BYTE $0x09 // pinsrb xmm9, byte [r14 + r9 + 29], 9 - QUAD $0x1e0e54203a0f4766; BYTE $0x09 // pinsrb xmm10, byte [r14 + r9 + 30], 9 - QUAD $0x1f0e74203a0f4366; BYTE $0x09 // pinsrb xmm6, byte [r14 + r9 + 31], 9 + WORD $0x8948; BYTE $0xc8 // mov rax, rcx + QUAD $0x1c0e7c203a0f4566; BYTE $0x09 // pinsrb xmm15, byte [r14 + rcx + 28], 9 + QUAD $0x1d0e4c203a0f4566; BYTE $0x09 // pinsrb xmm9, byte [r14 + rcx + 29], 9 + QUAD $0x1e0e54203a0f4566; BYTE $0x09 // pinsrb xmm10, byte [r14 + rcx + 30], 9 + QUAD $0x1f0e74203a0f4166; BYTE $0x09 // pinsrb xmm6, byte [r14 + rcx + 31], 9 WORD $0x894c; BYTE $0xd0 // mov rax, r10 QUAD $0x1c167c203a0f4766; BYTE $0x0a // pinsrb xmm15, byte [r14 + r10 + 28], 10 QUAD $0x1d164c203a0f4766; BYTE $0x0a // pinsrb xmm9, byte [r14 + r10 + 29], 10 QUAD $0x1e1654203a0f4766; BYTE $0x0a // pinsrb xmm10, byte [r14 + r10 + 30], 10 QUAD $0x1f1674203a0f4366; BYTE $0x0a // pinsrb xmm6, byte [r14 + r10 + 31], 10 - WORD $0x894c; BYTE $0xc0 // mov rax, r8 - QUAD $0x1c067c203a0f4766; BYTE $0x0b // pinsrb xmm15, byte [r14 + r8 + 28], 11 - QUAD $0x1d064c203a0f4766; BYTE $0x0b // pinsrb xmm9, byte [r14 + r8 + 29], 11 - QUAD $0x1e0654203a0f4766; BYTE $0x0b // pinsrb xmm10, byte [r14 + r8 + 30], 11 - QUAD $0x1f0674203a0f4366; BYTE $0x0b // pinsrb xmm6, byte [r14 + r8 + 31], 11 + WORD $0x8948; BYTE $0xd0 // mov rax, rdx + QUAD $0x1c167c203a0f4566; BYTE $0x0b // pinsrb xmm15, byte [r14 + rdx + 28], 11 + QUAD $0x1d164c203a0f4566; BYTE $0x0b // pinsrb xmm9, byte [r14 + rdx + 29], 11 + QUAD $0x1e1654203a0f4566; BYTE $0x0b // pinsrb xmm10, byte [r14 + rdx + 30], 11 + QUAD $0x1f1674203a0f4166; BYTE $0x0b // pinsrb xmm6, byte [r14 + rdx + 31], 11 WORD $0x8948; BYTE $0xf8 // mov rax, rdi QUAD $0x1c3e7c203a0f4566; BYTE $0x0c // pinsrb xmm15, byte [r14 + rdi + 28], 12 QUAD $0x1d3e4c203a0f4566; BYTE $0x0c // pinsrb xmm9, byte [r14 + rdi + 29], 12 QUAD $0x1e3e54203a0f4566; BYTE $0x0c // pinsrb xmm10, byte [r14 + rdi + 30], 12 QUAD $0x1f3e74203a0f4166; BYTE $0x0c // pinsrb xmm6, byte [r14 + rdi + 31], 12 - WORD $0x8948; BYTE $0xd0 // mov rax, rdx - QUAD $0x1c167c203a0f4566; BYTE $0x0d // pinsrb xmm15, byte [r14 + rdx + 28], 13 - QUAD $0x1d164c203a0f4566; BYTE $0x0d // pinsrb xmm9, byte [r14 + rdx + 29], 13 - QUAD $0x1e1654203a0f4566; BYTE $0x0d // pinsrb xmm10, byte [r14 + rdx + 30], 13 - QUAD $0x1f1674203a0f4166; BYTE $0x0d // pinsrb xmm6, byte [r14 + rdx + 31], 13 - WORD $0x894c; BYTE $0xd8 // mov rax, r11 - QUAD $0x1c1e7c203a0f4766; BYTE $0x0e // pinsrb xmm15, byte [r14 + r11 + 28], 14 - QUAD $0x1d1e4c203a0f4766; BYTE $0x0e // pinsrb xmm9, byte [r14 + r11 + 29], 14 - QUAD $0x1e1e54203a0f4766; BYTE $0x0e // pinsrb xmm10, byte [r14 + r11 + 30], 14 - QUAD $0x1f1e74203a0f4366; BYTE $0x0e // pinsrb xmm6, byte [r14 + r11 + 31], 14 - QUAD $0x1c2e7c203a0f4766; BYTE $0x0f // pinsrb xmm15, byte [r14 + r13 + 28], 15 - QUAD $0x1d2e4c203a0f4766; BYTE $0x0f // pinsrb xmm9, byte [r14 + r13 + 29], 15 - QUAD $0x1e2e54203a0f4766; BYTE $0x0f // pinsrb xmm10, byte [r14 + r13 + 30], 15 + QUAD $0x1c2e7c203a0f4766; BYTE $0x0d // pinsrb xmm15, byte [r14 + r13 + 28], 13 + QUAD $0x1d2e4c203a0f4766; BYTE $0x0d // pinsrb xmm9, byte [r14 + r13 + 29], 13 + QUAD $0x1e2e54203a0f4766; BYTE $0x0d // pinsrb xmm10, byte [r14 + r13 + 30], 13 + QUAD $0x1f2e74203a0f4366; BYTE $0x0d // pinsrb xmm6, byte [r14 + r13 + 31], 13 + QUAD $0x1c267c203a0f4766; BYTE $0x0e // pinsrb xmm15, byte [r14 + r12 + 28], 14 + QUAD $0x1d264c203a0f4766; BYTE $0x0e // pinsrb xmm9, byte [r14 + r12 + 29], 14 + QUAD $0x1e2654203a0f4766; BYTE $0x0e // pinsrb xmm10, byte [r14 + r12 + 30], 14 + QUAD $0x1f2674203a0f4366; BYTE $0x0e // pinsrb xmm6, byte [r14 + r12 + 31], 14 + QUAD $0x1c1e7c203a0f4566; BYTE $0x0f // pinsrb xmm15, byte [r14 + rbx + 28], 15 + QUAD $0x1d1e4c203a0f4566; BYTE $0x0f // pinsrb xmm9, byte [r14 + rbx + 29], 15 + QUAD $0x1e1e54203a0f4566; BYTE $0x0f // pinsrb xmm10, byte [r14 + rbx + 30], 15 LONG $0x740f4566; BYTE $0xfe // pcmpeqb xmm15, xmm14 QUAD $0x000130bddf0f4466; BYTE $0x00 // pandn xmm15, oword 304[rbp] /* [rip + .LCPI5_19] */ LONG $0xeb0f4566; BYTE $0xfb // por xmm15, xmm11 - QUAD $0x1f2e74203a0f4366; BYTE $0x0f // pinsrb xmm6, byte [r14 + r13 + 31], 15 + QUAD $0x1f1e74203a0f4166; BYTE $0x0f // pinsrb xmm6, byte [r14 + rbx + 31], 15 QUAD $0x000160adf80f4466; BYTE $0x00 // psubb xmm13, oword 352[rbp] /* [rip + .LCPI5_22] */ LONG $0xeb0f4566; BYTE $0xfd // por xmm15, xmm13 LONG $0x740f4566; BYTE $0xce // pcmpeqb xmm9, xmm14 @@ -27656,7 +28911,7 @@ LBB5_86: LONG $0xeb0f4166; BYTE $0xf7 // por xmm6, xmm15 LONG $0x6f0f4166; BYTE $0xc0 // movdqa xmm0, xmm8 LONG $0xc6600f66 // punpcklbw xmm0, xmm6 - QUAD $0x000100249c6f0f66; BYTE $0x00 // movdqa xmm3, oword [rsp + 256] + QUAD $0x0000f0249c6f0f66; BYTE $0x00 // movdqa xmm3, oword [rsp + 240] LONG $0xcb6f0f66 // movdqa xmm1, xmm3 QUAD $0x0000c024a46f0f66; BYTE $0x00 // movdqa xmm4, oword [rsp + 192] LONG $0xcc600f66 // punpcklbw xmm1, xmm4 @@ -27676,46 +28931,46 @@ LBB5_86: LONG $0x147f0ff3; BYTE $0x88 // movdqu oword [rax + 4*rcx], xmm2 LONG $0x10c18348 // add rcx, 16 WORD $0x8948; BYTE $0xc8 // mov rax, rcx - QUAD $0x000000d8248c3b48 // cmp rcx, qword [rsp + 216] - JNE LBB5_86 - QUAD $0x000000f824948b4c // mov r10, qword [rsp + 248] - QUAD $0x000000d824943b4c // cmp r10, qword [rsp + 216] + QUAD $0x000000e8248c3b48 // cmp rcx, qword [rsp + 232] + JNE LBB5_87 + QUAD $0x0000010824948b4c // mov r10, qword [rsp + 264] + QUAD $0x000000e824943b4c // cmp r10, qword [rsp + 232] QUAD $0x0000011024b48b4c // mov r14, qword [rsp + 272] QUAD $0x000000a024bc8b4c // mov r15, qword [rsp + 160] - JNE LBB5_88 - JMP LBB5_91 + JNE LBB5_89 + JMP LBB5_92 -LBB5_66: +LBB5_67: LONG $0xf0e28349 // and r10, -16 WORD $0x894c; BYTE $0xd0 // mov rax, r10 LONG $0x05e0c148 // shl rax, 5 WORD $0x014c; BYTE $0xf0 // add rax, r14 QUAD $0x0000011024848948 // mov qword [rsp + 272], rax - QUAD $0x000000d82494894c // mov qword [rsp + 216], r10 + QUAD $0x000000e82494894c // mov qword [rsp + 232], r10 LONG $0x24448b48; BYTE $0x08 // mov rax, qword [rsp + 8] LONG $0x90048d4a // lea rax, [rax + 4*r10] - LONG $0x24448948; BYTE $0x58 // mov qword [rsp + 88], rax - LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] + LONG $0x24448948; BYTE $0x68 // mov qword [rsp + 104], rax + LONG $0x2444b60f; BYTE $0x40 // movzx eax, byte [rsp + 64] LONG $0xc86e0f66 // movd xmm1, eax LONG $0xc0ef0f66 // pxor xmm0, xmm0 LONG $0x00380f66; BYTE $0xc8 // pshufb xmm1, xmm0 QUAD $0x0000b0248c7f0f66; BYTE $0x00 // movdqa oword [rsp + 176], xmm1 WORD $0xc031 // xor eax, eax -LBB5_67: +LBB5_68: QUAD $0x000000a824848948 // mov qword [rsp + 168], rax LONG $0x05e0c148 // shl rax, 5 - WORD $0x8949; BYTE $0xc0 // mov r8, rax - WORD $0x8949; BYTE $0xc3 // mov r11, rax - WORD $0x8949; BYTE $0xc1 // mov r9, rax WORD $0x8949; BYTE $0xc5 // mov r13, rax - WORD $0x8949; BYTE $0xc7 // mov r15, rax WORD $0x8948; BYTE $0xc7 // mov rdi, rax + WORD $0x8949; BYTE $0xc7 // mov r15, rax + WORD $0x8948; BYTE $0xc3 // mov rbx, rax WORD $0x8949; BYTE $0xc2 // mov r10, rax + WORD $0x8949; BYTE $0xc1 // mov r9, rax + WORD $0x8949; BYTE $0xc0 // mov r8, rax WORD $0x8949; BYTE $0xc4 // mov r12, rax - WORD $0x8948; BYTE $0xc3 // mov rbx, rax WORD $0x8948; BYTE $0xc2 // mov rdx, rax WORD $0x8948; BYTE $0xc6 // mov rsi, rax + LONG $0x24448948; BYTE $0x60 // mov qword [rsp + 96], rax LONG $0x0cb60f41; BYTE $0x06 // movzx ecx, byte [r14 + rax] LONG $0xe16e0f66 // movd xmm4, ecx LONG $0x4cb60f41; WORD $0x0106 // movzx ecx, byte [r14 + rax + 1] @@ -27734,7 +28989,7 @@ LBB5_67: LONG $0x6e0f4466; BYTE $0xf1 // movd xmm14, ecx LONG $0x4cb60f41; WORD $0x0806 // movzx ecx, byte [r14 + rax + 8] LONG $0xc16e0f66 // movd xmm0, ecx - QUAD $0x00010024847f0f66; BYTE $0x00 // movdqa oword [rsp + 256], xmm0 + QUAD $0x0000f024847f0f66; BYTE $0x00 // movdqa oword [rsp + 240], xmm0 LONG $0x4cb60f41; WORD $0x0906 // movzx ecx, byte [r14 + rax + 9] LONG $0x6e0f4466; BYTE $0xd9 // movd xmm11, ecx LONG $0x4cb60f41; WORD $0x0a06 // movzx ecx, byte [r14 + rax + 10] @@ -27743,7 +28998,7 @@ LBB5_67: LONG $0x6e0f4466; BYTE $0xe9 // movd xmm13, ecx LONG $0x4cb60f41; WORD $0x0c06 // movzx ecx, byte [r14 + rax + 12] LONG $0xc16e0f66 // movd xmm0, ecx - QUAD $0x0000e024847f0f66; BYTE $0x00 // movdqa oword [rsp + 224], xmm0 + QUAD $0x0000d024847f0f66; BYTE $0x00 // movdqa oword [rsp + 208], xmm0 LONG $0x4cb60f41; WORD $0x0d06 // movzx ecx, byte [r14 + rax + 13] LONG $0xf16e0f66 // movd xmm6, ecx LONG $0x4cb60f41; WORD $0x0e06 // movzx ecx, byte [r14 + rax + 14] @@ -27751,152 +29006,153 @@ LBB5_67: LONG $0x4cb60f41; WORD $0x0f06 // movzx ecx, byte [r14 + rax + 15] LONG $0xc16e0f66 // movd xmm0, ecx QUAD $0x0000c024847f0f66; BYTE $0x00 // movdqa oword [rsp + 192], xmm0 - QUAD $0x0000008024848948 // mov qword [rsp + 128], rax - WORD $0x8948; BYTE $0xc1 // mov rcx, rax - LONG $0x20c98348 // or rcx, 32 - LONG $0x244c8948; BYTE $0x10 // mov qword [rsp + 16], rcx - LONG $0x40c88349 // or r8, 64 - LONG $0x2444894c; BYTE $0x20 // mov qword [rsp + 32], r8 - LONG $0x60cb8349 // or r11, 96 - LONG $0x245c894c; BYTE $0x50 // mov qword [rsp + 80], r11 - LONG $0x80c98149; WORD $0x0000; BYTE $0x00 // or r9, 128 - LONG $0x244c894c; BYTE $0x18 // mov qword [rsp + 24], r9 - LONG $0xa0cd8149; WORD $0x0000; BYTE $0x00 // or r13, 160 - LONG $0xc0cf8149; WORD $0x0000; BYTE $0x00 // or r15, 192 - LONG $0xe0cf8148; WORD $0x0000; BYTE $0x00 // or rdi, 224 - LONG $0x247c8948; BYTE $0x68 // mov qword [rsp + 104], rdi - LONG $0x00ca8149; WORD $0x0001; BYTE $0x00 // or r10, 256 - QUAD $0x000000982494894c // mov qword [rsp + 152], r10 + LONG $0x24448948; BYTE $0x38 // mov qword [rsp + 56], rax + WORD $0x8949; BYTE $0xc3 // mov r11, rax + LONG $0x20cb8349 // or r11, 32 + LONG $0x245c894c; BYTE $0x10 // mov qword [rsp + 16], r11 + LONG $0x40cd8349 // or r13, 64 + LONG $0x60cf8348 // or rdi, 96 + LONG $0x80cf8149; WORD $0x0000; BYTE $0x00 // or r15, 128 + LONG $0xa0cb8148; WORD $0x0000; BYTE $0x00 // or rbx, 160 + LONG $0xc0ca8149; WORD $0x0000; BYTE $0x00 // or r10, 192 + LONG $0xe0c98149; WORD $0x0000; BYTE $0x00 // or r9, 224 + LONG $0x00c88149; WORD $0x0001; BYTE $0x00 // or r8, 256 LONG $0x20cc8149; WORD $0x0001; BYTE $0x00 // or r12, 288 - LONG $0x40cb8148; WORD $0x0001; BYTE $0x00 // or rbx, 320 - QUAD $0x00000090249c8948 // mov qword [rsp + 144], rbx - LONG $0x60ca8148; WORD $0x0001; BYTE $0x00 // or rdx, 352 + LONG $0x40ca8148; WORD $0x0001; BYTE $0x00 // or rdx, 320 LONG $0x24548948; BYTE $0x70 // mov qword [rsp + 112], rdx - WORD $0x8948; BYTE $0xc3 // mov rbx, rax - LONG $0x80cb8148; WORD $0x0001; BYTE $0x00 // or rbx, 384 - LONG $0x245c8948; BYTE $0x78 // mov qword [rsp + 120], rbx + LONG $0x60ce8148; WORD $0x0001; BYTE $0x00 // or rsi, 352 + QUAD $0x0000009824b48948 // mov qword [rsp + 152], rsi + LONG $0x244c8b48; BYTE $0x60 // mov rcx, qword [rsp + 96] + LONG $0x80c98148; WORD $0x0001; BYTE $0x00 // or rcx, 384 + LONG $0x244c8948; BYTE $0x60 // mov qword [rsp + 96], rcx WORD $0x8948; BYTE $0xc2 // mov rdx, rax LONG $0xa0ca8148; WORD $0x0001; BYTE $0x00 // or rdx, 416 - WORD $0x8948; BYTE $0xc1 // mov rcx, rax - LONG $0xc0c98148; WORD $0x0001; BYTE $0x00 // or rcx, 448 - LONG $0x244c8948; BYTE $0x40 // mov qword [rsp + 64], rcx - LONG $0xe0ce8148; WORD $0x0001; BYTE $0x00 // or rsi, 480 - LONG $0x24448b48; BYTE $0x10 // mov rax, qword [rsp + 16] - QUAD $0x010624203a0f4166 // pinsrb xmm4, byte [r14 + rax], 1 - QUAD $0x020624203a0f4366 // pinsrb xmm4, byte [r14 + r8], 2 - QUAD $0x031e24203a0f4366 // pinsrb xmm4, byte [r14 + r11], 3 - QUAD $0x040e24203a0f4366 // pinsrb xmm4, byte [r14 + r9], 4 - QUAD $0x052e24203a0f4366 // pinsrb xmm4, byte [r14 + r13], 5 - QUAD $0x063e24203a0f4366 // pinsrb xmm4, byte [r14 + r15], 6 - QUAD $0x073e24203a0f4166 // pinsrb xmm4, byte [r14 + rdi], 7 - QUAD $0x081624203a0f4366 // pinsrb xmm4, byte [r14 + r10], 8 + LONG $0x24548948; BYTE $0x18 // mov qword [rsp + 24], rdx + WORD $0x8948; BYTE $0xc2 // mov rdx, rax + LONG $0xc0ca8148; WORD $0x0001; BYTE $0x00 // or rdx, 448 + LONG $0x24548948; BYTE $0x20 // mov qword [rsp + 32], rdx + WORD $0x8948; BYTE $0xc2 // mov rdx, rax + LONG $0xe0ca8148; WORD $0x0001; BYTE $0x00 // or rdx, 480 + LONG $0x24548948; BYTE $0x50 // mov qword [rsp + 80], rdx + QUAD $0x011e24203a0f4366 // pinsrb xmm4, byte [r14 + r11], 1 + LONG $0x246c894c; BYTE $0x30 // mov qword [rsp + 48], r13 + QUAD $0x022e24203a0f4366 // pinsrb xmm4, byte [r14 + r13], 2 + LONG $0x247c8948; BYTE $0x28 // mov qword [rsp + 40], rdi + QUAD $0x033e24203a0f4166 // pinsrb xmm4, byte [r14 + rdi], 3 + LONG $0x247c894c; BYTE $0x78 // mov qword [rsp + 120], r15 + QUAD $0x043e24203a0f4366 // pinsrb xmm4, byte [r14 + r15], 4 + QUAD $0x00000080249c8948 // mov qword [rsp + 128], rbx + QUAD $0x051e24203a0f4166 // pinsrb xmm4, byte [r14 + rbx], 5 + QUAD $0x000000902494894c // mov qword [rsp + 144], r10 + QUAD $0x061624203a0f4366 // pinsrb xmm4, byte [r14 + r10], 6 + LONG $0x244c894c; BYTE $0x58 // mov qword [rsp + 88], r9 + QUAD $0x070e24203a0f4366 // pinsrb xmm4, byte [r14 + r9], 7 + LONG $0x2444894c; BYTE $0x48 // mov qword [rsp + 72], r8 + QUAD $0x080624203a0f4366 // pinsrb xmm4, byte [r14 + r8], 8 + WORD $0x894d; BYTE $0xe0 // mov r8, r12 QUAD $0x092624203a0f4366 // pinsrb xmm4, byte [r14 + r12], 9 - QUAD $0x0000009024848b48 // mov rax, qword [rsp + 144] - QUAD $0x0a0624203a0f4166 // pinsrb xmm4, byte [r14 + rax], 10 - LONG $0x24448b48; BYTE $0x70 // mov rax, qword [rsp + 112] - QUAD $0x0b0624203a0f4166 // pinsrb xmm4, byte [r14 + rax], 11 - QUAD $0x0c1e24203a0f4166 // pinsrb xmm4, byte [r14 + rbx], 12 - QUAD $0x0d1624203a0f4166 // pinsrb xmm4, byte [r14 + rdx], 13 - QUAD $0x0e0e24203a0f4166 // pinsrb xmm4, byte [r14 + rcx], 14 - QUAD $0x0f3624203a0f4166 // pinsrb xmm4, byte [r14 + rsi], 15 - LONG $0x24448b48; BYTE $0x10 // mov rax, qword [rsp + 16] - QUAD $0x01065c203a0f4166; BYTE $0x01 // pinsrb xmm3, byte [r14 + rax + 1], 1 - QUAD $0x01065c203a0f4366; BYTE $0x02 // pinsrb xmm3, byte [r14 + r8 + 1], 2 - QUAD $0x011e5c203a0f4366; BYTE $0x03 // pinsrb xmm3, byte [r14 + r11 + 1], 3 - QUAD $0x010e5c203a0f4366; BYTE $0x04 // pinsrb xmm3, byte [r14 + r9 + 1], 4 - QUAD $0x012e5c203a0f4366; BYTE $0x05 // pinsrb xmm3, byte [r14 + r13 + 1], 5 - WORD $0x894d; BYTE $0xe9 // mov r9, r13 - QUAD $0x013e5c203a0f4366; BYTE $0x06 // pinsrb xmm3, byte [r14 + r15 + 1], 6 - WORD $0x894d; BYTE $0xfb // mov r11, r15 - QUAD $0x013e5c203a0f4166; BYTE $0x07 // pinsrb xmm3, byte [r14 + rdi + 1], 7 - QUAD $0x01165c203a0f4366; BYTE $0x08 // pinsrb xmm3, byte [r14 + r10 + 1], 8 - QUAD $0x01265c203a0f4366; BYTE $0x09 // pinsrb xmm3, byte [r14 + r12 + 1], 9 - WORD $0x894c; BYTE $0xe7 // mov rdi, r12 - QUAD $0x0000009024a48b4c // mov r12, qword [rsp + 144] + LONG $0x24648b4c; BYTE $0x70 // mov r12, qword [rsp + 112] + QUAD $0x0a2624203a0f4366 // pinsrb xmm4, byte [r14 + r12], 10 + QUAD $0x0b3624203a0f4166 // pinsrb xmm4, byte [r14 + rsi], 11 + QUAD $0x0c0e24203a0f4166 // pinsrb xmm4, byte [r14 + rcx], 12 + LONG $0x24448b48; BYTE $0x18 // mov rax, qword [rsp + 24] + QUAD $0x0d0624203a0f4166 // pinsrb xmm4, byte [r14 + rax], 13 + LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] + QUAD $0x0e0624203a0f4166 // pinsrb xmm4, byte [r14 + rax], 14 + QUAD $0x0f1624203a0f4166 // pinsrb xmm4, byte [r14 + rdx], 15 + QUAD $0x011e5c203a0f4366; BYTE $0x01 // pinsrb xmm3, byte [r14 + r11 + 1], 1 + QUAD $0x012e5c203a0f4366; BYTE $0x02 // pinsrb xmm3, byte [r14 + r13 + 1], 2 + QUAD $0x013e5c203a0f4166; BYTE $0x03 // pinsrb xmm3, byte [r14 + rdi + 1], 3 + QUAD $0x013e5c203a0f4366; BYTE $0x04 // pinsrb xmm3, byte [r14 + r15 + 1], 4 + QUAD $0x011e5c203a0f4166; BYTE $0x05 // pinsrb xmm3, byte [r14 + rbx + 1], 5 + QUAD $0x01165c203a0f4366; BYTE $0x06 // pinsrb xmm3, byte [r14 + r10 + 1], 6 + QUAD $0x010e5c203a0f4366; BYTE $0x07 // pinsrb xmm3, byte [r14 + r9 + 1], 7 + LONG $0x246c8b4c; BYTE $0x48 // mov r13, qword [rsp + 72] + QUAD $0x012e5c203a0f4366; BYTE $0x08 // pinsrb xmm3, byte [r14 + r13 + 1], 8 + QUAD $0x01065c203a0f4366; BYTE $0x09 // pinsrb xmm3, byte [r14 + r8 + 1], 9 + WORD $0x894c; BYTE $0xc7 // mov rdi, r8 QUAD $0x01265c203a0f4366; BYTE $0x0a // pinsrb xmm3, byte [r14 + r12 + 1], 10 - LONG $0x24448b48; BYTE $0x70 // mov rax, qword [rsp + 112] - QUAD $0x01065c203a0f4166; BYTE $0x0b // pinsrb xmm3, byte [r14 + rax + 1], 11 - QUAD $0x011e5c203a0f4166; BYTE $0x0c // pinsrb xmm3, byte [r14 + rbx + 1], 12 - QUAD $0x01165c203a0f4166; BYTE $0x0d // pinsrb xmm3, byte [r14 + rdx + 1], 13 - LONG $0x24548948; BYTE $0x30 // mov qword [rsp + 48], rdx - QUAD $0x010e5c203a0f4166; BYTE $0x0e // pinsrb xmm3, byte [r14 + rcx + 1], 14 + WORD $0x894d; BYTE $0xe7 // mov r15, r12 + QUAD $0x01365c203a0f4166; BYTE $0x0b // pinsrb xmm3, byte [r14 + rsi + 1], 11 + QUAD $0x010e5c203a0f4166; BYTE $0x0c // pinsrb xmm3, byte [r14 + rcx + 1], 12 + LONG $0x245c8b4c; BYTE $0x18 // mov r11, qword [rsp + 24] + QUAD $0x011e5c203a0f4366; BYTE $0x0d // pinsrb xmm3, byte [r14 + r11 + 1], 13 + LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] + QUAD $0x01065c203a0f4166; BYTE $0x0e // pinsrb xmm3, byte [r14 + rax + 1], 14 QUAD $0x0000b0248c6f0f66; BYTE $0x00 // movdqa xmm1, oword [rsp + 176] LONG $0xe1740f66 // pcmpeqb xmm4, xmm1 - QUAD $0x01365c203a0f4166; BYTE $0x0f // pinsrb xmm3, byte [r14 + rsi + 1], 15 - WORD $0x8949; BYTE $0xf0 // mov r8, rsi + QUAD $0x01165c203a0f4166; BYTE $0x0f // pinsrb xmm3, byte [r14 + rdx + 1], 15 LONG $0xd9740f66 // pcmpeqb xmm3, xmm1 QUAD $0x00000100856f0f66 // movdqa xmm0, oword 256[rbp] /* [rip + .LCPI5_16] */ LONG $0xd8df0f66 // pandn xmm3, xmm0 LONG $0xdcfc0f66 // paddb xmm3, xmm4 - QUAD $0x0000008024848b48 // mov rax, qword [rsp + 128] + LONG $0x24448b48; BYTE $0x38 // mov rax, qword [rsp + 56] LONG $0x74b60f41; WORD $0x1006 // movzx esi, byte [r14 + rax + 16] LONG $0x6e0f4466; BYTE $0xd6 // movd xmm10, esi LONG $0x24448b48; BYTE $0x10 // mov rax, qword [rsp + 16] QUAD $0x02066c203a0f4166; BYTE $0x01 // pinsrb xmm5, byte [r14 + rax + 2], 1 - LONG $0x246c8b4c; BYTE $0x20 // mov r13, qword [rsp + 32] - QUAD $0x022e6c203a0f4366; BYTE $0x02 // pinsrb xmm5, byte [r14 + r13 + 2], 2 - LONG $0x247c8b4c; BYTE $0x50 // mov r15, qword [rsp + 80] - QUAD $0x023e6c203a0f4366; BYTE $0x03 // pinsrb xmm5, byte [r14 + r15 + 2], 3 - LONG $0x245c8b48; BYTE $0x18 // mov rbx, qword [rsp + 24] + LONG $0x24648b4c; BYTE $0x30 // mov r12, qword [rsp + 48] + QUAD $0x02266c203a0f4366; BYTE $0x02 // pinsrb xmm5, byte [r14 + r12 + 2], 2 + LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] + QUAD $0x02066c203a0f4166; BYTE $0x03 // pinsrb xmm5, byte [r14 + rax + 2], 3 + LONG $0x245c8b48; BYTE $0x78 // mov rbx, qword [rsp + 120] QUAD $0x021e6c203a0f4166; BYTE $0x04 // pinsrb xmm5, byte [r14 + rbx + 2], 4 - QUAD $0x020e6c203a0f4366; BYTE $0x05 // pinsrb xmm5, byte [r14 + r9 + 2], 5 - QUAD $0x00000088249c894c // mov qword [rsp + 136], r11 - QUAD $0x021e6c203a0f4366; BYTE $0x06 // pinsrb xmm5, byte [r14 + r11 + 2], 6 - LONG $0x24548b4c; BYTE $0x68 // mov r10, qword [rsp + 104] - QUAD $0x02166c203a0f4366; BYTE $0x07 // pinsrb xmm5, byte [r14 + r10 + 2], 7 - QUAD $0x0000009824848b48 // mov rax, qword [rsp + 152] - QUAD $0x02066c203a0f4166; BYTE $0x08 // pinsrb xmm5, byte [r14 + rax + 2], 8 - LONG $0x247c8948; BYTE $0x60 // mov qword [rsp + 96], rdi + QUAD $0x0000008024948b4c // mov r10, qword [rsp + 128] + QUAD $0x02166c203a0f4366; BYTE $0x05 // pinsrb xmm5, byte [r14 + r10 + 2], 5 + QUAD $0x00000090248c8b4c // mov r9, qword [rsp + 144] + QUAD $0x020e6c203a0f4366; BYTE $0x06 // pinsrb xmm5, byte [r14 + r9 + 2], 6 + LONG $0x24448b4c; BYTE $0x58 // mov r8, qword [rsp + 88] + QUAD $0x02066c203a0f4366; BYTE $0x07 // pinsrb xmm5, byte [r14 + r8 + 2], 7 + QUAD $0x022e6c203a0f4366; BYTE $0x08 // pinsrb xmm5, byte [r14 + r13 + 2], 8 + WORD $0x8948; BYTE $0xf9 // mov rcx, rdi QUAD $0x023e6c203a0f4166; BYTE $0x09 // pinsrb xmm5, byte [r14 + rdi + 2], 9 - QUAD $0x02266c203a0f4366; BYTE $0x0a // pinsrb xmm5, byte [r14 + r12 + 2], 10 - LONG $0x24748b48; BYTE $0x70 // mov rsi, qword [rsp + 112] - QUAD $0x02366c203a0f4166; BYTE $0x0b // pinsrb xmm5, byte [r14 + rsi + 2], 11 - LONG $0x244c8b48; BYTE $0x78 // mov rcx, qword [rsp + 120] - QUAD $0x020e6c203a0f4166; BYTE $0x0c // pinsrb xmm5, byte [r14 + rcx + 2], 12 - QUAD $0x02166c203a0f4166; BYTE $0x0d // pinsrb xmm5, byte [r14 + rdx + 2], 13 - LONG $0x24548b48; BYTE $0x40 // mov rdx, qword [rsp + 64] - QUAD $0x02166c203a0f4166; BYTE $0x0e // pinsrb xmm5, byte [r14 + rdx + 2], 14 - QUAD $0x02066c203a0f4366; BYTE $0x0f // pinsrb xmm5, byte [r14 + r8 + 2], 15 - LONG $0x24548b48; BYTE $0x10 // mov rdx, qword [rsp + 16] - QUAD $0x03167c203a0f4166; BYTE $0x01 // pinsrb xmm7, byte [r14 + rdx + 3], 1 - QUAD $0x032e7c203a0f4366; BYTE $0x02 // pinsrb xmm7, byte [r14 + r13 + 3], 2 - QUAD $0x033e7c203a0f4366; BYTE $0x03 // pinsrb xmm7, byte [r14 + r15 + 3], 3 + QUAD $0x023e6c203a0f4366; BYTE $0x0a // pinsrb xmm5, byte [r14 + r15 + 2], 10 + QUAD $0x0000009824948b48 // mov rdx, qword [rsp + 152] + QUAD $0x02166c203a0f4166; BYTE $0x0b // pinsrb xmm5, byte [r14 + rdx + 2], 11 + LONG $0x247c8b48; BYTE $0x60 // mov rdi, qword [rsp + 96] + QUAD $0x023e6c203a0f4166; BYTE $0x0c // pinsrb xmm5, byte [r14 + rdi + 2], 12 + QUAD $0x021e6c203a0f4366; BYTE $0x0d // pinsrb xmm5, byte [r14 + r11 + 2], 13 + LONG $0x24748b48; BYTE $0x20 // mov rsi, qword [rsp + 32] + QUAD $0x02366c203a0f4166; BYTE $0x0e // pinsrb xmm5, byte [r14 + rsi + 2], 14 + LONG $0x245c8b4c; BYTE $0x50 // mov r11, qword [rsp + 80] + QUAD $0x021e6c203a0f4366; BYTE $0x0f // pinsrb xmm5, byte [r14 + r11 + 2], 15 + LONG $0x24448b48; BYTE $0x10 // mov rax, qword [rsp + 16] + QUAD $0x03067c203a0f4166; BYTE $0x01 // pinsrb xmm7, byte [r14 + rax + 3], 1 + QUAD $0x03267c203a0f4366; BYTE $0x02 // pinsrb xmm7, byte [r14 + r12 + 3], 2 + LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] + QUAD $0x03067c203a0f4166; BYTE $0x03 // pinsrb xmm7, byte [r14 + rax + 3], 3 QUAD $0x031e7c203a0f4166; BYTE $0x04 // pinsrb xmm7, byte [r14 + rbx + 3], 4 - QUAD $0x030e7c203a0f4366; BYTE $0x05 // pinsrb xmm7, byte [r14 + r9 + 3], 5 - QUAD $0x031e7c203a0f4366; BYTE $0x06 // pinsrb xmm7, byte [r14 + r11 + 3], 6 - QUAD $0x03167c203a0f4366; BYTE $0x07 // pinsrb xmm7, byte [r14 + r10 + 3], 7 - QUAD $0x03067c203a0f4166; BYTE $0x08 // pinsrb xmm7, byte [r14 + rax + 3], 8 - QUAD $0x033e7c203a0f4166; BYTE $0x09 // pinsrb xmm7, byte [r14 + rdi + 3], 9 - QUAD $0x03267c203a0f4366; BYTE $0x0a // pinsrb xmm7, byte [r14 + r12 + 3], 10 - QUAD $0x03367c203a0f4166; BYTE $0x0b // pinsrb xmm7, byte [r14 + rsi + 3], 11 - QUAD $0x030e7c203a0f4166; BYTE $0x0c // pinsrb xmm7, byte [r14 + rcx + 3], 12 - LONG $0x24548b48; BYTE $0x30 // mov rdx, qword [rsp + 48] - QUAD $0x03167c203a0f4166; BYTE $0x0d // pinsrb xmm7, byte [r14 + rdx + 3], 13 - LONG $0x24548b48; BYTE $0x40 // mov rdx, qword [rsp + 64] - QUAD $0x03167c203a0f4166; BYTE $0x0e // pinsrb xmm7, byte [r14 + rdx + 3], 14 - QUAD $0x03067c203a0f4366; BYTE $0x0f // pinsrb xmm7, byte [r14 + r8 + 3], 15 - LONG $0x24548b48; BYTE $0x10 // mov rdx, qword [rsp + 16] - QUAD $0x04164c203a0f4566; BYTE $0x01 // pinsrb xmm9, byte [r14 + rdx + 4], 1 - QUAD $0x042e4c203a0f4766; BYTE $0x02 // pinsrb xmm9, byte [r14 + r13 + 4], 2 - QUAD $0x043e4c203a0f4766; BYTE $0x03 // pinsrb xmm9, byte [r14 + r15 + 4], 3 + QUAD $0x03167c203a0f4366; BYTE $0x05 // pinsrb xmm7, byte [r14 + r10 + 3], 5 + QUAD $0x030e7c203a0f4366; BYTE $0x06 // pinsrb xmm7, byte [r14 + r9 + 3], 6 + QUAD $0x03067c203a0f4366; BYTE $0x07 // pinsrb xmm7, byte [r14 + r8 + 3], 7 + QUAD $0x032e7c203a0f4366; BYTE $0x08 // pinsrb xmm7, byte [r14 + r13 + 3], 8 + QUAD $0x030e7c203a0f4166; BYTE $0x09 // pinsrb xmm7, byte [r14 + rcx + 3], 9 + QUAD $0x033e7c203a0f4366; BYTE $0x0a // pinsrb xmm7, byte [r14 + r15 + 3], 10 + QUAD $0x03167c203a0f4166; BYTE $0x0b // pinsrb xmm7, byte [r14 + rdx + 3], 11 + QUAD $0x033e7c203a0f4166; BYTE $0x0c // pinsrb xmm7, byte [r14 + rdi + 3], 12 + LONG $0x24448b48; BYTE $0x18 // mov rax, qword [rsp + 24] + QUAD $0x03067c203a0f4166; BYTE $0x0d // pinsrb xmm7, byte [r14 + rax + 3], 13 + QUAD $0x03367c203a0f4166; BYTE $0x0e // pinsrb xmm7, byte [r14 + rsi + 3], 14 + QUAD $0x031e7c203a0f4366; BYTE $0x0f // pinsrb xmm7, byte [r14 + r11 + 3], 15 + LONG $0x24448b48; BYTE $0x10 // mov rax, qword [rsp + 16] + QUAD $0x04064c203a0f4566; BYTE $0x01 // pinsrb xmm9, byte [r14 + rax + 4], 1 + QUAD $0x04264c203a0f4766; BYTE $0x02 // pinsrb xmm9, byte [r14 + r12 + 4], 2 + LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] + QUAD $0x04064c203a0f4566; BYTE $0x03 // pinsrb xmm9, byte [r14 + rax + 4], 3 QUAD $0x041e4c203a0f4566; BYTE $0x04 // pinsrb xmm9, byte [r14 + rbx + 4], 4 - QUAD $0x040e4c203a0f4766; BYTE $0x05 // pinsrb xmm9, byte [r14 + r9 + 4], 5 - WORD $0x894d; BYTE $0xcf // mov r15, r9 - LONG $0x244c894c; BYTE $0x38 // mov qword [rsp + 56], r9 - QUAD $0x041e4c203a0f4766; BYTE $0x06 // pinsrb xmm9, byte [r14 + r11 + 4], 6 - QUAD $0x04164c203a0f4766; BYTE $0x07 // pinsrb xmm9, byte [r14 + r10 + 4], 7 - WORD $0x894d; BYTE $0xd1 // mov r9, r10 - QUAD $0x04064c203a0f4566; BYTE $0x08 // pinsrb xmm9, byte [r14 + rax + 4], 8 - QUAD $0x043e4c203a0f4566; BYTE $0x09 // pinsrb xmm9, byte [r14 + rdi + 4], 9 - QUAD $0x04264c203a0f4766; BYTE $0x0a // pinsrb xmm9, byte [r14 + r12 + 4], 10 - QUAD $0x04364c203a0f4566; BYTE $0x0b // pinsrb xmm9, byte [r14 + rsi + 4], 11 - WORD $0x8948; BYTE $0xf7 // mov rdi, rsi - QUAD $0x040e4c203a0f4566; BYTE $0x0c // pinsrb xmm9, byte [r14 + rcx + 4], 12 - LONG $0x24648b4c; BYTE $0x30 // mov r12, qword [rsp + 48] - QUAD $0x04264c203a0f4766; BYTE $0x0d // pinsrb xmm9, byte [r14 + r12 + 4], 13 - LONG $0x24548b48; BYTE $0x40 // mov rdx, qword [rsp + 64] - QUAD $0x04164c203a0f4566; BYTE $0x0e // pinsrb xmm9, byte [r14 + rdx + 4], 14 - QUAD $0x04064c203a0f4766; BYTE $0x0f // pinsrb xmm9, byte [r14 + r8 + 4], 15 + QUAD $0x04164c203a0f4766; BYTE $0x05 // pinsrb xmm9, byte [r14 + r10 + 4], 5 + QUAD $0x040e4c203a0f4766; BYTE $0x06 // pinsrb xmm9, byte [r14 + r9 + 4], 6 + QUAD $0x04064c203a0f4766; BYTE $0x07 // pinsrb xmm9, byte [r14 + r8 + 4], 7 + QUAD $0x042e4c203a0f4766; BYTE $0x08 // pinsrb xmm9, byte [r14 + r13 + 4], 8 + WORD $0x894c; BYTE $0xe8 // mov rax, r13 + QUAD $0x040e4c203a0f4566; BYTE $0x09 // pinsrb xmm9, byte [r14 + rcx + 4], 9 + QUAD $0x043e4c203a0f4766; BYTE $0x0a // pinsrb xmm9, byte [r14 + r15 + 4], 10 + QUAD $0x04164c203a0f4566; BYTE $0x0b // pinsrb xmm9, byte [r14 + rdx + 4], 11 + QUAD $0x043e4c203a0f4566; BYTE $0x0c // pinsrb xmm9, byte [r14 + rdi + 4], 12 + LONG $0x246c8b4c; BYTE $0x18 // mov r13, qword [rsp + 24] + QUAD $0x042e4c203a0f4766; BYTE $0x0d // pinsrb xmm9, byte [r14 + r13 + 4], 13 + QUAD $0x04364c203a0f4566; BYTE $0x0e // pinsrb xmm9, byte [r14 + rsi + 4], 14 + QUAD $0x041e4c203a0f4766; BYTE $0x0f // pinsrb xmm9, byte [r14 + r11 + 4], 15 LONG $0xe9740f66 // pcmpeqb xmm5, xmm1 QUAD $0x00000110856f0f66 // movdqa xmm0, oword 272[rbp] /* [rip + .LCPI5_17] */ LONG $0xe8df0f66 // pandn xmm5, xmm0 @@ -27904,83 +29160,80 @@ LBB5_67: QUAD $0x00000120856f0f66 // movdqa xmm0, oword 288[rbp] /* [rip + .LCPI5_18] */ LONG $0xf8df0f66 // pandn xmm7, xmm0 LONG $0xfdeb0f66 // por xmm7, xmm5 - QUAD $0x0000008024948b48 // mov rdx, qword [rsp + 128] - LONG $0x74b60f41; WORD $0x1116 // movzx esi, byte [r14 + rdx + 17] + LONG $0x245c8b4c; BYTE $0x38 // mov r11, qword [rsp + 56] + LONG $0x74b60f43; WORD $0x111e // movzx esi, byte [r14 + r11 + 17] LONG $0xe66e0f66 // movd xmm4, esi LONG $0x740f4466; BYTE $0xc9 // pcmpeqb xmm9, xmm1 QUAD $0x00000130856f0f66 // movdqa xmm0, oword 304[rbp] /* [rip + .LCPI5_19] */ LONG $0xdf0f4466; BYTE $0xc8 // pandn xmm9, xmm0 LONG $0xeb0f4466; BYTE $0xcf // por xmm9, xmm7 - LONG $0x74b60f41; WORD $0x1216 // movzx esi, byte [r14 + rdx + 18] + LONG $0x74b60f43; WORD $0x121e // movzx esi, byte [r14 + r11 + 18] LONG $0xfe6e0f66 // movd xmm7, esi LONG $0xc0760f66 // pcmpeqd xmm0, xmm0 LONG $0xd8f80f66 // psubb xmm3, xmm0 LONG $0xeb0f4466; BYTE $0xcb // por xmm9, xmm3 - LONG $0x74b60f41; WORD $0x1316 // movzx esi, byte [r14 + rdx + 19] + LONG $0x74b60f43; WORD $0x131e // movzx esi, byte [r14 + r11 + 19] LONG $0xee6e0f66 // movd xmm5, esi - LONG $0x24548b48; BYTE $0x10 // mov rdx, qword [rsp + 16] - QUAD $0x051654203a0f4166; BYTE $0x01 // pinsrb xmm2, byte [r14 + rdx + 5], 1 - LONG $0x245c8b4c; BYTE $0x20 // mov r11, qword [rsp + 32] - QUAD $0x051e54203a0f4366; BYTE $0x02 // pinsrb xmm2, byte [r14 + r11 + 5], 2 - LONG $0x246c8b4c; BYTE $0x50 // mov r13, qword [rsp + 80] - QUAD $0x052e54203a0f4366; BYTE $0x03 // pinsrb xmm2, byte [r14 + r13 + 5], 3 + LONG $0x24748b48; BYTE $0x10 // mov rsi, qword [rsp + 16] + QUAD $0x053654203a0f4166; BYTE $0x01 // pinsrb xmm2, byte [r14 + rsi + 5], 1 + QUAD $0x052654203a0f4366; BYTE $0x02 // pinsrb xmm2, byte [r14 + r12 + 5], 2 + LONG $0x247c8b4c; BYTE $0x28 // mov r15, qword [rsp + 40] + QUAD $0x053e54203a0f4366; BYTE $0x03 // pinsrb xmm2, byte [r14 + r15 + 5], 3 QUAD $0x051e54203a0f4166; BYTE $0x04 // pinsrb xmm2, byte [r14 + rbx + 5], 4 - QUAD $0x053e54203a0f4366; BYTE $0x05 // pinsrb xmm2, byte [r14 + r15 + 5], 5 - QUAD $0x0000008824948b4c // mov r10, qword [rsp + 136] - QUAD $0x051654203a0f4366; BYTE $0x06 // pinsrb xmm2, byte [r14 + r10 + 5], 6 - QUAD $0x050e54203a0f4366; BYTE $0x07 // pinsrb xmm2, byte [r14 + r9 + 5], 7 + QUAD $0x051654203a0f4366; BYTE $0x05 // pinsrb xmm2, byte [r14 + r10 + 5], 5 + QUAD $0x050e54203a0f4366; BYTE $0x06 // pinsrb xmm2, byte [r14 + r9 + 5], 6 + QUAD $0x050654203a0f4366; BYTE $0x07 // pinsrb xmm2, byte [r14 + r8 + 5], 7 QUAD $0x050654203a0f4166; BYTE $0x08 // pinsrb xmm2, byte [r14 + rax + 5], 8 - LONG $0x24748b48; BYTE $0x60 // mov rsi, qword [rsp + 96] - QUAD $0x053654203a0f4166; BYTE $0x09 // pinsrb xmm2, byte [r14 + rsi + 5], 9 - QUAD $0x0000009024bc8b4c // mov r15, qword [rsp + 144] - QUAD $0x053e54203a0f4366; BYTE $0x0a // pinsrb xmm2, byte [r14 + r15 + 5], 10 - WORD $0x8949; BYTE $0xf9 // mov r9, rdi - QUAD $0x053e54203a0f4166; BYTE $0x0b // pinsrb xmm2, byte [r14 + rdi + 5], 11 - QUAD $0x050e54203a0f4166; BYTE $0x0c // pinsrb xmm2, byte [r14 + rcx + 5], 12 - QUAD $0x052654203a0f4366; BYTE $0x0d // pinsrb xmm2, byte [r14 + r12 + 5], 13 - LONG $0x247c8b48; BYTE $0x40 // mov rdi, qword [rsp + 64] - QUAD $0x053e54203a0f4166; BYTE $0x0e // pinsrb xmm2, byte [r14 + rdi + 5], 14 - LONG $0x2444894c; BYTE $0x48 // mov qword [rsp + 72], r8 - QUAD $0x050654203a0f4366; BYTE $0x0f // pinsrb xmm2, byte [r14 + r8 + 5], 15 - QUAD $0x061644203a0f4566; BYTE $0x01 // pinsrb xmm8, byte [r14 + rdx + 6], 1 - QUAD $0x061e44203a0f4766; BYTE $0x02 // pinsrb xmm8, byte [r14 + r11 + 6], 2 + QUAD $0x00000088248c8948 // mov qword [rsp + 136], rcx + QUAD $0x050e54203a0f4166; BYTE $0x09 // pinsrb xmm2, byte [r14 + rcx + 5], 9 + LONG $0x24448b48; BYTE $0x70 // mov rax, qword [rsp + 112] + QUAD $0x050654203a0f4166; BYTE $0x0a // pinsrb xmm2, byte [r14 + rax + 5], 10 + QUAD $0x051654203a0f4166; BYTE $0x0b // pinsrb xmm2, byte [r14 + rdx + 5], 11 + QUAD $0x053e54203a0f4166; BYTE $0x0c // pinsrb xmm2, byte [r14 + rdi + 5], 12 WORD $0x894d; BYTE $0xeb // mov r11, r13 - QUAD $0x062e44203a0f4766; BYTE $0x03 // pinsrb xmm8, byte [r14 + r13 + 6], 3 + QUAD $0x052e54203a0f4366; BYTE $0x0d // pinsrb xmm2, byte [r14 + r13 + 5], 13 + LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] + QUAD $0x050654203a0f4166; BYTE $0x0e // pinsrb xmm2, byte [r14 + rax + 5], 14 + LONG $0x246c8b4c; BYTE $0x50 // mov r13, qword [rsp + 80] + QUAD $0x052e54203a0f4366; BYTE $0x0f // pinsrb xmm2, byte [r14 + r13 + 5], 15 + QUAD $0x063644203a0f4566; BYTE $0x01 // pinsrb xmm8, byte [r14 + rsi + 6], 1 + QUAD $0x062644203a0f4766; BYTE $0x02 // pinsrb xmm8, byte [r14 + r12 + 6], 2 + QUAD $0x063e44203a0f4766; BYTE $0x03 // pinsrb xmm8, byte [r14 + r15 + 6], 3 QUAD $0x061e44203a0f4566; BYTE $0x04 // pinsrb xmm8, byte [r14 + rbx + 6], 4 - LONG $0x246c8b4c; BYTE $0x38 // mov r13, qword [rsp + 56] - QUAD $0x062e44203a0f4766; BYTE $0x05 // pinsrb xmm8, byte [r14 + r13 + 6], 5 - QUAD $0x061644203a0f4766; BYTE $0x06 // pinsrb xmm8, byte [r14 + r10 + 6], 6 - LONG $0x245c8b48; BYTE $0x68 // mov rbx, qword [rsp + 104] - QUAD $0x061e44203a0f4566; BYTE $0x07 // pinsrb xmm8, byte [r14 + rbx + 6], 7 + QUAD $0x061644203a0f4766; BYTE $0x05 // pinsrb xmm8, byte [r14 + r10 + 6], 5 + QUAD $0x060e44203a0f4766; BYTE $0x06 // pinsrb xmm8, byte [r14 + r9 + 6], 6 + QUAD $0x060644203a0f4766; BYTE $0x07 // pinsrb xmm8, byte [r14 + r8 + 6], 7 + LONG $0x24448b48; BYTE $0x48 // mov rax, qword [rsp + 72] QUAD $0x060644203a0f4566; BYTE $0x08 // pinsrb xmm8, byte [r14 + rax + 6], 8 - QUAD $0x063644203a0f4566; BYTE $0x09 // pinsrb xmm8, byte [r14 + rsi + 6], 9 - QUAD $0x063e44203a0f4766; BYTE $0x0a // pinsrb xmm8, byte [r14 + r15 + 6], 10 - QUAD $0x060e44203a0f4766; BYTE $0x0b // pinsrb xmm8, byte [r14 + r9 + 6], 11 - QUAD $0x060e44203a0f4566; BYTE $0x0c // pinsrb xmm8, byte [r14 + rcx + 6], 12 - QUAD $0x062644203a0f4766; BYTE $0x0d // pinsrb xmm8, byte [r14 + r12 + 6], 13 - QUAD $0x063e44203a0f4566; BYTE $0x0e // pinsrb xmm8, byte [r14 + rdi + 6], 14 - QUAD $0x060644203a0f4766; BYTE $0x0f // pinsrb xmm8, byte [r14 + r8 + 6], 15 - QUAD $0x071674203a0f4566; BYTE $0x01 // pinsrb xmm14, byte [r14 + rdx + 7], 1 - LONG $0x245c8b48; BYTE $0x20 // mov rbx, qword [rsp + 32] - QUAD $0x071e74203a0f4566; BYTE $0x02 // pinsrb xmm14, byte [r14 + rbx + 7], 2 - WORD $0x894d; BYTE $0xd8 // mov r8, r11 - QUAD $0x071e74203a0f4766; BYTE $0x03 // pinsrb xmm14, byte [r14 + r11 + 7], 3 - LONG $0x24548b48; BYTE $0x18 // mov rdx, qword [rsp + 24] - QUAD $0x071674203a0f4566; BYTE $0x04 // pinsrb xmm14, byte [r14 + rdx + 7], 4 - QUAD $0x072e74203a0f4766; BYTE $0x05 // pinsrb xmm14, byte [r14 + r13 + 7], 5 - QUAD $0x0000008824948b48 // mov rdx, qword [rsp + 136] - QUAD $0x071674203a0f4566; BYTE $0x06 // pinsrb xmm14, byte [r14 + rdx + 7], 6 - LONG $0x244c8b4c; BYTE $0x68 // mov r9, qword [rsp + 104] - QUAD $0x070e74203a0f4766; BYTE $0x07 // pinsrb xmm14, byte [r14 + r9 + 7], 7 - QUAD $0x070674203a0f4566; BYTE $0x08 // pinsrb xmm14, byte [r14 + rax + 7], 8 - WORD $0x8949; BYTE $0xc5 // mov r13, rax - QUAD $0x073674203a0f4566; BYTE $0x09 // pinsrb xmm14, byte [r14 + rsi + 7], 9 + QUAD $0x060e44203a0f4566; BYTE $0x09 // pinsrb xmm8, byte [r14 + rcx + 6], 9 + LONG $0x24448b48; BYTE $0x70 // mov rax, qword [rsp + 112] + QUAD $0x060644203a0f4566; BYTE $0x0a // pinsrb xmm8, byte [r14 + rax + 6], 10 + QUAD $0x061644203a0f4566; BYTE $0x0b // pinsrb xmm8, byte [r14 + rdx + 6], 11 + QUAD $0x063e44203a0f4566; BYTE $0x0c // pinsrb xmm8, byte [r14 + rdi + 6], 12 + QUAD $0x061e44203a0f4766; BYTE $0x0d // pinsrb xmm8, byte [r14 + r11 + 6], 13 + LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] + QUAD $0x060644203a0f4566; BYTE $0x0e // pinsrb xmm8, byte [r14 + rax + 6], 14 + QUAD $0x062e44203a0f4766; BYTE $0x0f // pinsrb xmm8, byte [r14 + r13 + 6], 15 + WORD $0x894c; BYTE $0xe8 // mov rax, r13 + QUAD $0x073674203a0f4566; BYTE $0x01 // pinsrb xmm14, byte [r14 + rsi + 7], 1 + QUAD $0x072674203a0f4766; BYTE $0x02 // pinsrb xmm14, byte [r14 + r12 + 7], 2 + QUAD $0x073e74203a0f4766; BYTE $0x03 // pinsrb xmm14, byte [r14 + r15 + 7], 3 + QUAD $0x071e74203a0f4566; BYTE $0x04 // pinsrb xmm14, byte [r14 + rbx + 7], 4 + WORD $0x8949; BYTE $0xdc // mov r12, rbx + QUAD $0x071674203a0f4766; BYTE $0x05 // pinsrb xmm14, byte [r14 + r10 + 7], 5 + QUAD $0x070e74203a0f4766; BYTE $0x06 // pinsrb xmm14, byte [r14 + r9 + 7], 6 + QUAD $0x070674203a0f4766; BYTE $0x07 // pinsrb xmm14, byte [r14 + r8 + 7], 7 + WORD $0x894d; BYTE $0xc1 // mov r9, r8 + LONG $0x246c8b4c; BYTE $0x48 // mov r13, qword [rsp + 72] + QUAD $0x072e74203a0f4766; BYTE $0x08 // pinsrb xmm14, byte [r14 + r13 + 7], 8 + QUAD $0x070e74203a0f4566; BYTE $0x09 // pinsrb xmm14, byte [r14 + rcx + 7], 9 + LONG $0x247c8b4c; BYTE $0x70 // mov r15, qword [rsp + 112] QUAD $0x073e74203a0f4766; BYTE $0x0a // pinsrb xmm14, byte [r14 + r15 + 7], 10 - LONG $0x24548b4c; BYTE $0x70 // mov r10, qword [rsp + 112] - QUAD $0x071674203a0f4766; BYTE $0x0b // pinsrb xmm14, byte [r14 + r10 + 7], 11 - QUAD $0x070e74203a0f4566; BYTE $0x0c // pinsrb xmm14, byte [r14 + rcx + 7], 12 - QUAD $0x072674203a0f4766; BYTE $0x0d // pinsrb xmm14, byte [r14 + r12 + 7], 13 - QUAD $0x073e74203a0f4566; BYTE $0x0e // pinsrb xmm14, byte [r14 + rdi + 7], 14 + QUAD $0x071674203a0f4566; BYTE $0x0b // pinsrb xmm14, byte [r14 + rdx + 7], 11 + QUAD $0x073e74203a0f4566; BYTE $0x0c // pinsrb xmm14, byte [r14 + rdi + 7], 12 + QUAD $0x071e74203a0f4766; BYTE $0x0d // pinsrb xmm14, byte [r14 + r11 + 7], 13 + LONG $0x244c8b48; BYTE $0x20 // mov rcx, qword [rsp + 32] + QUAD $0x070e74203a0f4566; BYTE $0x0e // pinsrb xmm14, byte [r14 + rcx + 7], 14 LONG $0x6f0f4166; BYTE $0xce // movdqa xmm1, xmm14 QUAD $0x00b024b46f0f4466; WORD $0x0000 // movdqa xmm14, oword [rsp + 176] LONG $0x740f4166; BYTE $0xd6 // pcmpeqb xmm2, xmm14 @@ -27990,287 +29243,292 @@ LBB5_67: QUAD $0x00000150856f0f66 // movdqa xmm0, oword 336[rbp] /* [rip + .LCPI5_21] */ LONG $0xdf0f4466; BYTE $0xc0 // pandn xmm8, xmm0 LONG $0xeb0f4466; BYTE $0xc2 // por xmm8, xmm2 - QUAD $0x0000008024bc8b4c // mov r15, qword [rsp + 128] - LONG $0x74b60f43; WORD $0x143e // movzx esi, byte [r14 + r15 + 20] + LONG $0x24448b4c; BYTE $0x38 // mov r8, qword [rsp + 56] + LONG $0x74b60f43; WORD $0x1406 // movzx esi, byte [r14 + r8 + 20] LONG $0xde6e0f66 // movd xmm3, esi - LONG $0x24448b48; BYTE $0x48 // mov rax, qword [rsp + 72] QUAD $0x07064c203a0f4166; BYTE $0x0f // pinsrb xmm1, byte [r14 + rax + 7], 15 LONG $0x740f4166; BYTE $0xce // pcmpeqb xmm1, xmm14 LONG $0x456f0f66; BYTE $0x60 // movdqa xmm0, oword 96[rbp] /* [rip + .LCPI5_6] */ LONG $0xc8df0f66 // pandn xmm1, xmm0 LONG $0xeb0f4166; BYTE $0xc8 // por xmm1, xmm8 - LONG $0x74b60f43; WORD $0x153e // movzx esi, byte [r14 + r15 + 21] + LONG $0x74b60f43; WORD $0x1506 // movzx esi, byte [r14 + r8 + 21] LONG $0xd66e0f66 // movd xmm2, esi - QUAD $0x00010024846f0f66; BYTE $0x00 // movdqa xmm0, oword [rsp + 256] + QUAD $0x0000f024846f0f66; BYTE $0x00 // movdqa xmm0, oword [rsp + 240] LONG $0x245c8b4c; BYTE $0x10 // mov r11, qword [rsp + 16] QUAD $0x081e44203a0f4366; BYTE $0x01 // pinsrb xmm0, byte [r14 + r11 + 8], 1 + LONG $0x245c8b48; BYTE $0x30 // mov rbx, qword [rsp + 48] QUAD $0x081e44203a0f4166; BYTE $0x02 // pinsrb xmm0, byte [r14 + rbx + 8], 2 - QUAD $0x080644203a0f4366; BYTE $0x03 // pinsrb xmm0, byte [r14 + r8 + 8], 3 - LONG $0x244c8b48; BYTE $0x18 // mov rcx, qword [rsp + 24] - QUAD $0x080e44203a0f4166; BYTE $0x04 // pinsrb xmm0, byte [r14 + rcx + 8], 4 - LONG $0x24748b48; BYTE $0x38 // mov rsi, qword [rsp + 56] - QUAD $0x083644203a0f4166; BYTE $0x05 // pinsrb xmm0, byte [r14 + rsi + 8], 5 - QUAD $0x081644203a0f4166; BYTE $0x06 // pinsrb xmm0, byte [r14 + rdx + 8], 6 + LONG $0x247c8b48; BYTE $0x28 // mov rdi, qword [rsp + 40] + QUAD $0x083e44203a0f4166; BYTE $0x03 // pinsrb xmm0, byte [r14 + rdi + 8], 3 + QUAD $0x082644203a0f4366; BYTE $0x04 // pinsrb xmm0, byte [r14 + r12 + 8], 4 + WORD $0x894c; BYTE $0xe2 // mov rdx, r12 + QUAD $0x081644203a0f4366; BYTE $0x05 // pinsrb xmm0, byte [r14 + r10 + 8], 5 + QUAD $0x0000009024b48b48 // mov rsi, qword [rsp + 144] + QUAD $0x083644203a0f4166; BYTE $0x06 // pinsrb xmm0, byte [r14 + rsi + 8], 6 QUAD $0x080e44203a0f4366; BYTE $0x07 // pinsrb xmm0, byte [r14 + r9 + 8], 7 QUAD $0x082e44203a0f4366; BYTE $0x08 // pinsrb xmm0, byte [r14 + r13 + 8], 8 - LONG $0x24748b48; BYTE $0x60 // mov rsi, qword [rsp + 96] + QUAD $0x0000008824b48b48 // mov rsi, qword [rsp + 136] QUAD $0x083644203a0f4166; BYTE $0x09 // pinsrb xmm0, byte [r14 + rsi + 8], 9 - QUAD $0x0000009024a48b4c // mov r12, qword [rsp + 144] - QUAD $0x082644203a0f4366; BYTE $0x0a // pinsrb xmm0, byte [r14 + r12 + 8], 10 - QUAD $0x081644203a0f4366; BYTE $0x0b // pinsrb xmm0, byte [r14 + r10 + 8], 11 - LONG $0x24748b48; BYTE $0x78 // mov rsi, qword [rsp + 120] - QUAD $0x083644203a0f4166; BYTE $0x0c // pinsrb xmm0, byte [r14 + rsi + 8], 12 - LONG $0x245c8b48; BYTE $0x30 // mov rbx, qword [rsp + 48] - QUAD $0x081e44203a0f4166; BYTE $0x0d // pinsrb xmm0, byte [r14 + rbx + 8], 13 - QUAD $0x083e44203a0f4166; BYTE $0x0e // pinsrb xmm0, byte [r14 + rdi + 8], 14 + QUAD $0x083e44203a0f4366; BYTE $0x0a // pinsrb xmm0, byte [r14 + r15 + 8], 10 + QUAD $0x00000098248c8b4c // mov r9, qword [rsp + 152] + QUAD $0x080e44203a0f4366; BYTE $0x0b // pinsrb xmm0, byte [r14 + r9 + 8], 11 + LONG $0x24648b4c; BYTE $0x60 // mov r12, qword [rsp + 96] + QUAD $0x082644203a0f4366; BYTE $0x0c // pinsrb xmm0, byte [r14 + r12 + 8], 12 + LONG $0x24748b48; BYTE $0x18 // mov rsi, qword [rsp + 24] + QUAD $0x083644203a0f4166; BYTE $0x0d // pinsrb xmm0, byte [r14 + rsi + 8], 13 + QUAD $0x080e44203a0f4166; BYTE $0x0e // pinsrb xmm0, byte [r14 + rcx + 8], 14 QUAD $0x080644203a0f4166; BYTE $0x0f // pinsrb xmm0, byte [r14 + rax + 8], 15 LONG $0xeb0f4166; BYTE $0xc9 // por xmm1, xmm9 - QUAD $0x000100248c7f0f66; BYTE $0x00 // movdqa oword [rsp + 256], xmm1 - LONG $0x74b60f43; WORD $0x163e // movzx esi, byte [r14 + r15 + 22] + QUAD $0x0000f0248c7f0f66; BYTE $0x00 // movdqa oword [rsp + 240], xmm1 + LONG $0x74b60f43; WORD $0x1606 // movzx esi, byte [r14 + r8 + 22] LONG $0xce6e0f66 // movd xmm1, esi LONG $0x740f4166; BYTE $0xc6 // pcmpeqb xmm0, xmm14 QUAD $0x091e5c203a0f4766; BYTE $0x01 // pinsrb xmm11, byte [r14 + r11 + 9], 1 - WORD $0x894d; BYTE $0xdf // mov r15, r11 - LONG $0x24548b4c; BYTE $0x20 // mov r10, qword [rsp + 32] - QUAD $0x09165c203a0f4766; BYTE $0x02 // pinsrb xmm11, byte [r14 + r10 + 9], 2 - QUAD $0x09065c203a0f4766; BYTE $0x03 // pinsrb xmm11, byte [r14 + r8 + 9], 3 - WORD $0x894d; BYTE $0xc5 // mov r13, r8 - QUAD $0x090e5c203a0f4566; BYTE $0x04 // pinsrb xmm11, byte [r14 + rcx + 9], 4 - LONG $0x244c8b4c; BYTE $0x38 // mov r9, qword [rsp + 56] - QUAD $0x090e5c203a0f4766; BYTE $0x05 // pinsrb xmm11, byte [r14 + r9 + 9], 5 - QUAD $0x09165c203a0f4566; BYTE $0x06 // pinsrb xmm11, byte [r14 + rdx + 9], 6 - LONG $0x245c8b4c; BYTE $0x68 // mov r11, qword [rsp + 104] - QUAD $0x091e5c203a0f4766; BYTE $0x07 // pinsrb xmm11, byte [r14 + r11 + 9], 7 - QUAD $0x0000009824b48b48 // mov rsi, qword [rsp + 152] - QUAD $0x09365c203a0f4566; BYTE $0x08 // pinsrb xmm11, byte [r14 + rsi + 9], 8 - LONG $0x24448b4c; BYTE $0x60 // mov r8, qword [rsp + 96] - QUAD $0x09065c203a0f4766; BYTE $0x09 // pinsrb xmm11, byte [r14 + r8 + 9], 9 - QUAD $0x09265c203a0f4766; BYTE $0x0a // pinsrb xmm11, byte [r14 + r12 + 9], 10 - LONG $0x24548b48; BYTE $0x70 // mov rdx, qword [rsp + 112] - QUAD $0x09165c203a0f4566; BYTE $0x0b // pinsrb xmm11, byte [r14 + rdx + 9], 11 - LONG $0x247c8b48; BYTE $0x78 // mov rdi, qword [rsp + 120] - QUAD $0x093e5c203a0f4566; BYTE $0x0c // pinsrb xmm11, byte [r14 + rdi + 9], 12 + WORD $0x894d; BYTE $0xda // mov r10, r11 + QUAD $0x091e5c203a0f4566; BYTE $0x02 // pinsrb xmm11, byte [r14 + rbx + 9], 2 + WORD $0x8948; BYTE $0xf8 // mov rax, rdi + QUAD $0x093e5c203a0f4566; BYTE $0x03 // pinsrb xmm11, byte [r14 + rdi + 9], 3 + QUAD $0x09165c203a0f4566; BYTE $0x04 // pinsrb xmm11, byte [r14 + rdx + 9], 4 + QUAD $0x00000080248c8b48 // mov rcx, qword [rsp + 128] + QUAD $0x090e5c203a0f4566; BYTE $0x05 // pinsrb xmm11, byte [r14 + rcx + 9], 5 + QUAD $0x00000090249c8b4c // mov r11, qword [rsp + 144] + QUAD $0x091e5c203a0f4766; BYTE $0x06 // pinsrb xmm11, byte [r14 + r11 + 9], 6 + LONG $0x24748b48; BYTE $0x58 // mov rsi, qword [rsp + 88] + QUAD $0x09365c203a0f4566; BYTE $0x07 // pinsrb xmm11, byte [r14 + rsi + 9], 7 + QUAD $0x092e5c203a0f4766; BYTE $0x08 // pinsrb xmm11, byte [r14 + r13 + 9], 8 + QUAD $0x00000088248c8b48 // mov rcx, qword [rsp + 136] + QUAD $0x090e5c203a0f4566; BYTE $0x09 // pinsrb xmm11, byte [r14 + rcx + 9], 9 + QUAD $0x093e5c203a0f4766; BYTE $0x0a // pinsrb xmm11, byte [r14 + r15 + 9], 10 + WORD $0x894c; BYTE $0xca // mov rdx, r9 + QUAD $0x090e5c203a0f4766; BYTE $0x0b // pinsrb xmm11, byte [r14 + r9 + 9], 11 + WORD $0x894c; BYTE $0xe7 // mov rdi, r12 + QUAD $0x09265c203a0f4766; BYTE $0x0c // pinsrb xmm11, byte [r14 + r12 + 9], 12 + LONG $0x245c8b48; BYTE $0x18 // mov rbx, qword [rsp + 24] QUAD $0x091e5c203a0f4566; BYTE $0x0d // pinsrb xmm11, byte [r14 + rbx + 9], 13 - LONG $0x24448b48; BYTE $0x40 // mov rax, qword [rsp + 64] - QUAD $0x09065c203a0f4566; BYTE $0x0e // pinsrb xmm11, byte [r14 + rax + 9], 14 - LONG $0x244c8b48; BYTE $0x48 // mov rcx, qword [rsp + 72] - QUAD $0x090e5c203a0f4566; BYTE $0x0f // pinsrb xmm11, byte [r14 + rcx + 9], 15 - QUAD $0x0a3e64203a0f4766; BYTE $0x01 // pinsrb xmm12, byte [r14 + r15 + 10], 1 + LONG $0x24448b4c; BYTE $0x20 // mov r8, qword [rsp + 32] + QUAD $0x09065c203a0f4766; BYTE $0x0e // pinsrb xmm11, byte [r14 + r8 + 9], 14 + LONG $0x244c8b4c; BYTE $0x50 // mov r9, qword [rsp + 80] + QUAD $0x090e5c203a0f4766; BYTE $0x0f // pinsrb xmm11, byte [r14 + r9 + 9], 15 + QUAD $0x0a1664203a0f4766; BYTE $0x01 // pinsrb xmm12, byte [r14 + r10 + 10], 1 + LONG $0x24548b4c; BYTE $0x30 // mov r10, qword [rsp + 48] QUAD $0x0a1664203a0f4766; BYTE $0x02 // pinsrb xmm12, byte [r14 + r10 + 10], 2 - QUAD $0x0a2e64203a0f4766; BYTE $0x03 // pinsrb xmm12, byte [r14 + r13 + 10], 3 - LONG $0x24548b4c; BYTE $0x18 // mov r10, qword [rsp + 24] - QUAD $0x0a1664203a0f4766; BYTE $0x04 // pinsrb xmm12, byte [r14 + r10 + 10], 4 - QUAD $0x0a0e64203a0f4766; BYTE $0x05 // pinsrb xmm12, byte [r14 + r9 + 10], 5 - QUAD $0x00000088248c8b4c // mov r9, qword [rsp + 136] - QUAD $0x0a0e64203a0f4766; BYTE $0x06 // pinsrb xmm12, byte [r14 + r9 + 10], 6 - QUAD $0x0a1e64203a0f4766; BYTE $0x07 // pinsrb xmm12, byte [r14 + r11 + 10], 7 - QUAD $0x0a3664203a0f4566; BYTE $0x08 // pinsrb xmm12, byte [r14 + rsi + 10], 8 - QUAD $0x0a0664203a0f4766; BYTE $0x09 // pinsrb xmm12, byte [r14 + r8 + 10], 9 - QUAD $0x0a2664203a0f4766; BYTE $0x0a // pinsrb xmm12, byte [r14 + r12 + 10], 10 + QUAD $0x0a0664203a0f4566; BYTE $0x03 // pinsrb xmm12, byte [r14 + rax + 10], 3 + LONG $0x24648b4c; BYTE $0x78 // mov r12, qword [rsp + 120] + QUAD $0x0a2664203a0f4766; BYTE $0x04 // pinsrb xmm12, byte [r14 + r12 + 10], 4 + QUAD $0x00000080249c8b48 // mov rbx, qword [rsp + 128] + QUAD $0x0a1e64203a0f4566; BYTE $0x05 // pinsrb xmm12, byte [r14 + rbx + 10], 5 + QUAD $0x0a1e64203a0f4766; BYTE $0x06 // pinsrb xmm12, byte [r14 + r11 + 10], 6 + QUAD $0x0a3664203a0f4566; BYTE $0x07 // pinsrb xmm12, byte [r14 + rsi + 10], 7 + QUAD $0x0a2e64203a0f4766; BYTE $0x08 // pinsrb xmm12, byte [r14 + r13 + 10], 8 + QUAD $0x0a0e64203a0f4566; BYTE $0x09 // pinsrb xmm12, byte [r14 + rcx + 10], 9 + QUAD $0x0a3e64203a0f4766; BYTE $0x0a // pinsrb xmm12, byte [r14 + r15 + 10], 10 QUAD $0x0a1664203a0f4566; BYTE $0x0b // pinsrb xmm12, byte [r14 + rdx + 10], 11 QUAD $0x0a3e64203a0f4566; BYTE $0x0c // pinsrb xmm12, byte [r14 + rdi + 10], 12 + LONG $0x245c8b48; BYTE $0x18 // mov rbx, qword [rsp + 24] QUAD $0x0a1e64203a0f4566; BYTE $0x0d // pinsrb xmm12, byte [r14 + rbx + 10], 13 - QUAD $0x0a0664203a0f4566; BYTE $0x0e // pinsrb xmm12, byte [r14 + rax + 10], 14 - WORD $0x8948; BYTE $0xc3 // mov rbx, rax - QUAD $0x0a0e64203a0f4566; BYTE $0x0f // pinsrb xmm12, byte [r14 + rcx + 10], 15 - QUAD $0x0b3e6c203a0f4766; BYTE $0x01 // pinsrb xmm13, byte [r14 + r15 + 11], 1 - LONG $0x246c8b4c; BYTE $0x20 // mov r13, qword [rsp + 32] - QUAD $0x0b2e6c203a0f4766; BYTE $0x02 // pinsrb xmm13, byte [r14 + r13 + 11], 2 - LONG $0x24448b48; BYTE $0x50 // mov rax, qword [rsp + 80] + QUAD $0x0a0664203a0f4766; BYTE $0x0e // pinsrb xmm12, byte [r14 + r8 + 10], 14 + QUAD $0x0a0e64203a0f4766; BYTE $0x0f // pinsrb xmm12, byte [r14 + r9 + 10], 15 + LONG $0x245c8b48; BYTE $0x10 // mov rbx, qword [rsp + 16] + QUAD $0x0b1e6c203a0f4566; BYTE $0x01 // pinsrb xmm13, byte [r14 + rbx + 11], 1 + QUAD $0x0b166c203a0f4766; BYTE $0x02 // pinsrb xmm13, byte [r14 + r10 + 11], 2 + WORD $0x894d; BYTE $0xd4 // mov r12, r10 QUAD $0x0b066c203a0f4566; BYTE $0x03 // pinsrb xmm13, byte [r14 + rax + 11], 3 + LONG $0x24548b4c; BYTE $0x78 // mov r10, qword [rsp + 120] QUAD $0x0b166c203a0f4766; BYTE $0x04 // pinsrb xmm13, byte [r14 + r10 + 11], 4 - LONG $0x24448b48; BYTE $0x38 // mov rax, qword [rsp + 56] + QUAD $0x0000008024848b48 // mov rax, qword [rsp + 128] QUAD $0x0b066c203a0f4566; BYTE $0x05 // pinsrb xmm13, byte [r14 + rax + 11], 5 - QUAD $0x0b0e6c203a0f4766; BYTE $0x06 // pinsrb xmm13, byte [r14 + r9 + 11], 6 - QUAD $0x0b1e6c203a0f4766; BYTE $0x07 // pinsrb xmm13, byte [r14 + r11 + 11], 7 - QUAD $0x0b366c203a0f4566; BYTE $0x08 // pinsrb xmm13, byte [r14 + rsi + 11], 8 - QUAD $0x0b066c203a0f4766; BYTE $0x09 // pinsrb xmm13, byte [r14 + r8 + 11], 9 - WORD $0x894c; BYTE $0xc0 // mov rax, r8 - QUAD $0x0b266c203a0f4766; BYTE $0x0a // pinsrb xmm13, byte [r14 + r12 + 11], 10 + QUAD $0x0b1e6c203a0f4766; BYTE $0x06 // pinsrb xmm13, byte [r14 + r11 + 11], 6 + QUAD $0x0b366c203a0f4566; BYTE $0x07 // pinsrb xmm13, byte [r14 + rsi + 11], 7 + QUAD $0x0b2e6c203a0f4766; BYTE $0x08 // pinsrb xmm13, byte [r14 + r13 + 11], 8 + QUAD $0x0b0e6c203a0f4566; BYTE $0x09 // pinsrb xmm13, byte [r14 + rcx + 11], 9 + QUAD $0x0b3e6c203a0f4766; BYTE $0x0a // pinsrb xmm13, byte [r14 + r15 + 11], 10 + WORD $0x894c; BYTE $0xf9 // mov rcx, r15 QUAD $0x0b166c203a0f4566; BYTE $0x0b // pinsrb xmm13, byte [r14 + rdx + 11], 11 QUAD $0x0b3e6c203a0f4566; BYTE $0x0c // pinsrb xmm13, byte [r14 + rdi + 11], 12 - LONG $0x24748b48; BYTE $0x30 // mov rsi, qword [rsp + 48] - QUAD $0x0b366c203a0f4566; BYTE $0x0d // pinsrb xmm13, byte [r14 + rsi + 11], 13 - QUAD $0x0b1e6c203a0f4566; BYTE $0x0e // pinsrb xmm13, byte [r14 + rbx + 11], 14 - QUAD $0x0b0e6c203a0f4566; BYTE $0x0f // pinsrb xmm13, byte [r14 + rcx + 11], 15 + LONG $0x246c8b4c; BYTE $0x18 // mov r13, qword [rsp + 24] + QUAD $0x0b2e6c203a0f4766; BYTE $0x0d // pinsrb xmm13, byte [r14 + r13 + 11], 13 + QUAD $0x0b066c203a0f4766; BYTE $0x0e // pinsrb xmm13, byte [r14 + r8 + 11], 14 + QUAD $0x0b0e6c203a0f4766; BYTE $0x0f // pinsrb xmm13, byte [r14 + r9 + 11], 15 LONG $0x740f4566; BYTE $0xde // pcmpeqb xmm11, xmm14 QUAD $0x0001009ddf0f4466; BYTE $0x00 // pandn xmm11, oword 256[rbp] /* [rip + .LCPI5_16] */ LONG $0xfc0f4466; BYTE $0xd8 // paddb xmm11, xmm0 - QUAD $0x00000080248c8b48 // mov rcx, qword [rsp + 128] - LONG $0x74b60f41; WORD $0x170e // movzx esi, byte [r14 + rcx + 23] + LONG $0x24448b48; BYTE $0x38 // mov rax, qword [rsp + 56] + LONG $0x74b60f41; WORD $0x1706 // movzx esi, byte [r14 + rax + 23] LONG $0x6e0f4466; BYTE $0xc6 // movd xmm8, esi LONG $0x740f4566; BYTE $0xe6 // pcmpeqb xmm12, xmm14 QUAD $0x000110a5df0f4466; BYTE $0x00 // pandn xmm12, oword 272[rbp] /* [rip + .LCPI5_17] */ LONG $0x740f4566; BYTE $0xee // pcmpeqb xmm13, xmm14 QUAD $0x000120addf0f4466; BYTE $0x00 // pandn xmm13, oword 288[rbp] /* [rip + .LCPI5_18] */ LONG $0xeb0f4566; BYTE $0xec // por xmm13, xmm12 - LONG $0x74b60f41; WORD $0x180e // movzx esi, byte [r14 + rcx + 24] + LONG $0x74b60f41; WORD $0x1806 // movzx esi, byte [r14 + rax + 24] LONG $0x6e0f4466; BYTE $0xe6 // movd xmm12, esi - QUAD $0x00e0248c6f0f4466; WORD $0x0000 // movdqa xmm9, oword [rsp + 224] - QUAD $0x0c3e4c203a0f4766; BYTE $0x01 // pinsrb xmm9, byte [r14 + r15 + 12], 1 - LONG $0x246c8b4c; BYTE $0x20 // mov r13, qword [rsp + 32] - QUAD $0x0c2e4c203a0f4766; BYTE $0x02 // pinsrb xmm9, byte [r14 + r13 + 12], 2 - LONG $0x247c8b4c; BYTE $0x50 // mov r15, qword [rsp + 80] + QUAD $0x00d0248c6f0f4466; WORD $0x0000 // movdqa xmm9, oword [rsp + 208] + QUAD $0x0c1e4c203a0f4566; BYTE $0x01 // pinsrb xmm9, byte [r14 + rbx + 12], 1 + QUAD $0x0c264c203a0f4766; BYTE $0x02 // pinsrb xmm9, byte [r14 + r12 + 12], 2 + LONG $0x247c8b4c; BYTE $0x28 // mov r15, qword [rsp + 40] QUAD $0x0c3e4c203a0f4766; BYTE $0x03 // pinsrb xmm9, byte [r14 + r15 + 12], 3 - LONG $0x245c8b48; BYTE $0x18 // mov rbx, qword [rsp + 24] - QUAD $0x0c1e4c203a0f4566; BYTE $0x04 // pinsrb xmm9, byte [r14 + rbx + 12], 4 - LONG $0x24548b4c; BYTE $0x38 // mov r10, qword [rsp + 56] + WORD $0x894c; BYTE $0xd3 // mov rbx, r10 + QUAD $0x0c164c203a0f4766; BYTE $0x04 // pinsrb xmm9, byte [r14 + r10 + 12], 4 + QUAD $0x0000008024948b4c // mov r10, qword [rsp + 128] QUAD $0x0c164c203a0f4766; BYTE $0x05 // pinsrb xmm9, byte [r14 + r10 + 12], 5 - QUAD $0x0c0e4c203a0f4766; BYTE $0x06 // pinsrb xmm9, byte [r14 + r9 + 12], 6 - WORD $0x894d; BYTE $0xd8 // mov r8, r11 + WORD $0x894d; BYTE $0xd9 // mov r9, r11 + QUAD $0x0c1e4c203a0f4766; BYTE $0x06 // pinsrb xmm9, byte [r14 + r11 + 12], 6 + LONG $0x245c8b4c; BYTE $0x58 // mov r11, qword [rsp + 88] QUAD $0x0c1e4c203a0f4766; BYTE $0x07 // pinsrb xmm9, byte [r14 + r11 + 12], 7 - QUAD $0x00000098249c8b4c // mov r11, qword [rsp + 152] - QUAD $0x0c1e4c203a0f4766; BYTE $0x08 // pinsrb xmm9, byte [r14 + r11 + 12], 8 - WORD $0x8949; BYTE $0xc4 // mov r12, rax - QUAD $0x0c064c203a0f4566; BYTE $0x09 // pinsrb xmm9, byte [r14 + rax + 12], 9 - QUAD $0x00000090248c8b48 // mov rcx, qword [rsp + 144] + LONG $0x24448b4c; BYTE $0x48 // mov r8, qword [rsp + 72] + QUAD $0x0c064c203a0f4766; BYTE $0x08 // pinsrb xmm9, byte [r14 + r8 + 12], 8 + QUAD $0x0000008824b48b48 // mov rsi, qword [rsp + 136] + QUAD $0x0c364c203a0f4566; BYTE $0x09 // pinsrb xmm9, byte [r14 + rsi + 12], 9 QUAD $0x0c0e4c203a0f4566; BYTE $0x0a // pinsrb xmm9, byte [r14 + rcx + 12], 10 QUAD $0x0c164c203a0f4566; BYTE $0x0b // pinsrb xmm9, byte [r14 + rdx + 12], 11 QUAD $0x0c3e4c203a0f4566; BYTE $0x0c // pinsrb xmm9, byte [r14 + rdi + 12], 12 - LONG $0x24748b48; BYTE $0x30 // mov rsi, qword [rsp + 48] - QUAD $0x0c364c203a0f4566; BYTE $0x0d // pinsrb xmm9, byte [r14 + rsi + 12], 13 - LONG $0x24448b48; BYTE $0x40 // mov rax, qword [rsp + 64] + QUAD $0x0c2e4c203a0f4766; BYTE $0x0d // pinsrb xmm9, byte [r14 + r13 + 12], 13 + LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] QUAD $0x0c064c203a0f4566; BYTE $0x0e // pinsrb xmm9, byte [r14 + rax + 12], 14 - LONG $0x24448b48; BYTE $0x48 // mov rax, qword [rsp + 72] + LONG $0x24448b48; BYTE $0x50 // mov rax, qword [rsp + 80] QUAD $0x0c064c203a0f4566; BYTE $0x0f // pinsrb xmm9, byte [r14 + rax + 12], 15 LONG $0x24448b48; BYTE $0x10 // mov rax, qword [rsp + 16] QUAD $0x0d0674203a0f4166; BYTE $0x01 // pinsrb xmm6, byte [r14 + rax + 13], 1 - QUAD $0x0d2e74203a0f4366; BYTE $0x02 // pinsrb xmm6, byte [r14 + r13 + 13], 2 + QUAD $0x0d2674203a0f4366; BYTE $0x02 // pinsrb xmm6, byte [r14 + r12 + 13], 2 QUAD $0x0d3e74203a0f4366; BYTE $0x03 // pinsrb xmm6, byte [r14 + r15 + 13], 3 QUAD $0x0d1e74203a0f4166; BYTE $0x04 // pinsrb xmm6, byte [r14 + rbx + 13], 4 QUAD $0x0d1674203a0f4366; BYTE $0x05 // pinsrb xmm6, byte [r14 + r10 + 13], 5 QUAD $0x0d0e74203a0f4366; BYTE $0x06 // pinsrb xmm6, byte [r14 + r9 + 13], 6 - QUAD $0x0d0674203a0f4366; BYTE $0x07 // pinsrb xmm6, byte [r14 + r8 + 13], 7 - QUAD $0x0d1e74203a0f4366; BYTE $0x08 // pinsrb xmm6, byte [r14 + r11 + 13], 8 - QUAD $0x0d2674203a0f4366; BYTE $0x09 // pinsrb xmm6, byte [r14 + r12 + 13], 9 + QUAD $0x0d1e74203a0f4366; BYTE $0x07 // pinsrb xmm6, byte [r14 + r11 + 13], 7 + QUAD $0x0d0674203a0f4366; BYTE $0x08 // pinsrb xmm6, byte [r14 + r8 + 13], 8 + QUAD $0x0d3674203a0f4166; BYTE $0x09 // pinsrb xmm6, byte [r14 + rsi + 13], 9 QUAD $0x0d0e74203a0f4166; BYTE $0x0a // pinsrb xmm6, byte [r14 + rcx + 13], 10 QUAD $0x0d1674203a0f4166; BYTE $0x0b // pinsrb xmm6, byte [r14 + rdx + 13], 11 QUAD $0x0d3e74203a0f4166; BYTE $0x0c // pinsrb xmm6, byte [r14 + rdi + 13], 12 - QUAD $0x0d3674203a0f4166; BYTE $0x0d // pinsrb xmm6, byte [r14 + rsi + 13], 13 - LONG $0x24448b48; BYTE $0x40 // mov rax, qword [rsp + 64] - QUAD $0x0d0674203a0f4166; BYTE $0x0e // pinsrb xmm6, byte [r14 + rax + 13], 14 - LONG $0x24448b48; BYTE $0x48 // mov rax, qword [rsp + 72] + QUAD $0x0d2e74203a0f4366; BYTE $0x0d // pinsrb xmm6, byte [r14 + r13 + 13], 13 + LONG $0x246c8b4c; BYTE $0x20 // mov r13, qword [rsp + 32] + QUAD $0x0d2e74203a0f4366; BYTE $0x0e // pinsrb xmm6, byte [r14 + r13 + 13], 14 + LONG $0x24448b48; BYTE $0x50 // mov rax, qword [rsp + 80] QUAD $0x0d0674203a0f4166; BYTE $0x0f // pinsrb xmm6, byte [r14 + rax + 13], 15 LONG $0x24448b48; BYTE $0x10 // mov rax, qword [rsp + 16] QUAD $0x0e067c203a0f4566; BYTE $0x01 // pinsrb xmm15, byte [r14 + rax + 14], 1 - QUAD $0x0e2e7c203a0f4766; BYTE $0x02 // pinsrb xmm15, byte [r14 + r13 + 14], 2 + QUAD $0x0e267c203a0f4766; BYTE $0x02 // pinsrb xmm15, byte [r14 + r12 + 14], 2 QUAD $0x0e3e7c203a0f4766; BYTE $0x03 // pinsrb xmm15, byte [r14 + r15 + 14], 3 QUAD $0x0e1e7c203a0f4566; BYTE $0x04 // pinsrb xmm15, byte [r14 + rbx + 14], 4 QUAD $0x0e167c203a0f4766; BYTE $0x05 // pinsrb xmm15, byte [r14 + r10 + 14], 5 - WORD $0x894c; BYTE $0xd3 // mov rbx, r10 + WORD $0x894d; BYTE $0xd4 // mov r12, r10 QUAD $0x0e0e7c203a0f4766; BYTE $0x06 // pinsrb xmm15, byte [r14 + r9 + 14], 6 - QUAD $0x0e067c203a0f4766; BYTE $0x07 // pinsrb xmm15, byte [r14 + r8 + 14], 7 - QUAD $0x0e1e7c203a0f4766; BYTE $0x08 // pinsrb xmm15, byte [r14 + r11 + 14], 8 - QUAD $0x0e267c203a0f4766; BYTE $0x09 // pinsrb xmm15, byte [r14 + r12 + 14], 9 + WORD $0x894d; BYTE $0xca // mov r10, r9 + QUAD $0x0e1e7c203a0f4766; BYTE $0x07 // pinsrb xmm15, byte [r14 + r11 + 14], 7 + WORD $0x894d; BYTE $0xd9 // mov r9, r11 + QUAD $0x0e067c203a0f4766; BYTE $0x08 // pinsrb xmm15, byte [r14 + r8 + 14], 8 + QUAD $0x0e367c203a0f4566; BYTE $0x09 // pinsrb xmm15, byte [r14 + rsi + 14], 9 QUAD $0x0e0e7c203a0f4566; BYTE $0x0a // pinsrb xmm15, byte [r14 + rcx + 14], 10 - WORD $0x8949; BYTE $0xcc // mov r12, rcx + WORD $0x8949; BYTE $0xcb // mov r11, rcx QUAD $0x0e167c203a0f4566; BYTE $0x0b // pinsrb xmm15, byte [r14 + rdx + 14], 11 - WORD $0x8949; BYTE $0xd2 // mov r10, rdx QUAD $0x0e3e7c203a0f4566; BYTE $0x0c // pinsrb xmm15, byte [r14 + rdi + 14], 12 - QUAD $0x0e367c203a0f4566; BYTE $0x0d // pinsrb xmm15, byte [r14 + rsi + 14], 13 - LONG $0x24448b48; BYTE $0x40 // mov rax, qword [rsp + 64] - QUAD $0x0e067c203a0f4566; BYTE $0x0e // pinsrb xmm15, byte [r14 + rax + 14], 14 + WORD $0x8948; BYTE $0xfa // mov rdx, rdi + LONG $0x245c8b48; BYTE $0x18 // mov rbx, qword [rsp + 24] + QUAD $0x0e1e7c203a0f4566; BYTE $0x0d // pinsrb xmm15, byte [r14 + rbx + 14], 13 + QUAD $0x0e2e7c203a0f4766; BYTE $0x0e // pinsrb xmm15, byte [r14 + r13 + 14], 14 LONG $0x740f4566; BYTE $0xce // pcmpeqb xmm9, xmm14 QUAD $0x0001308ddf0f4466; BYTE $0x00 // pandn xmm9, oword 304[rbp] /* [rip + .LCPI5_19] */ LONG $0xeb0f4566; BYTE $0xcd // por xmm9, xmm13 - QUAD $0x0000008024848b48 // mov rax, qword [rsp + 128] - LONG $0x74b60f41; WORD $0x1906 // movzx esi, byte [r14 + rax + 25] + LONG $0x244c8b48; BYTE $0x38 // mov rcx, qword [rsp + 56] + LONG $0x74b60f41; WORD $0x190e // movzx esi, byte [r14 + rcx + 25] LONG $0x6e0f4466; BYTE $0xee // movd xmm13, esi QUAD $0x0001609df80f4466; BYTE $0x00 // psubb xmm11, oword 352[rbp] /* [rip + .LCPI5_22] */ LONG $0xeb0f4566; BYTE $0xcb // por xmm9, xmm11 - LONG $0x74b60f41; WORD $0x1a06 // movzx esi, byte [r14 + rax + 26] + LONG $0x74b60f41; WORD $0x1a0e // movzx esi, byte [r14 + rcx + 26] LONG $0xc66e0f66 // movd xmm0, esi - LONG $0x244c8b48; BYTE $0x48 // mov rcx, qword [rsp + 72] - QUAD $0x0e0e7c203a0f4566; BYTE $0x0f // pinsrb xmm15, byte [r14 + rcx + 14], 15 + LONG $0x24448b48; BYTE $0x50 // mov rax, qword [rsp + 80] + QUAD $0x0e067c203a0f4566; BYTE $0x0f // pinsrb xmm15, byte [r14 + rax + 14], 15 LONG $0x740f4166; BYTE $0xf6 // pcmpeqb xmm6, xmm14 QUAD $0x00000140b5df0f66 // pandn xmm6, oword 320[rbp] /* [rip + .LCPI5_20] */ LONG $0x740f4566; BYTE $0xfe // pcmpeqb xmm15, xmm14 QUAD $0x000150bddf0f4466; BYTE $0x00 // pandn xmm15, oword 336[rbp] /* [rip + .LCPI5_21] */ LONG $0xeb0f4466; BYTE $0xfe // por xmm15, xmm6 - LONG $0x74b60f41; WORD $0x1b06 // movzx esi, byte [r14 + rax + 27] + LONG $0x74b60f41; WORD $0x1b0e // movzx esi, byte [r14 + rcx + 27] LONG $0x6e0f4466; BYTE $0xde // movd xmm11, esi QUAD $0x0000c024b46f0f66; BYTE $0x00 // movdqa xmm6, oword [rsp + 192] - LONG $0x247c8b48; BYTE $0x10 // mov rdi, qword [rsp + 16] - QUAD $0x0f3e74203a0f4166; BYTE $0x01 // pinsrb xmm6, byte [r14 + rdi + 15], 1 - WORD $0x894c; BYTE $0xea // mov rdx, r13 - QUAD $0x0f2e74203a0f4366; BYTE $0x02 // pinsrb xmm6, byte [r14 + r13 + 15], 2 - QUAD $0x0f3e74203a0f4366; BYTE $0x03 // pinsrb xmm6, byte [r14 + r15 + 15], 3 - LONG $0x244c8b4c; BYTE $0x18 // mov r9, qword [rsp + 24] - QUAD $0x0f0e74203a0f4366; BYTE $0x04 // pinsrb xmm6, byte [r14 + r9 + 15], 4 - QUAD $0x0f1e74203a0f4166; BYTE $0x05 // pinsrb xmm6, byte [r14 + rbx + 15], 5 - QUAD $0x00000088249c8b48 // mov rbx, qword [rsp + 136] - QUAD $0x0f1e74203a0f4166; BYTE $0x06 // pinsrb xmm6, byte [r14 + rbx + 15], 6 - QUAD $0x0f0674203a0f4366; BYTE $0x07 // pinsrb xmm6, byte [r14 + r8 + 15], 7 - QUAD $0x0f1e74203a0f4366; BYTE $0x08 // pinsrb xmm6, byte [r14 + r11 + 15], 8 - LONG $0x24448b4c; BYTE $0x60 // mov r8, qword [rsp + 96] - QUAD $0x0f0674203a0f4366; BYTE $0x09 // pinsrb xmm6, byte [r14 + r8 + 15], 9 - QUAD $0x0f2674203a0f4366; BYTE $0x0a // pinsrb xmm6, byte [r14 + r12 + 15], 10 + LONG $0x247c8b4c; BYTE $0x10 // mov r15, qword [rsp + 16] + QUAD $0x0f3e74203a0f4366; BYTE $0x01 // pinsrb xmm6, byte [r14 + r15 + 15], 1 + LONG $0x244c8b48; BYTE $0x30 // mov rcx, qword [rsp + 48] + QUAD $0x0f0e74203a0f4166; BYTE $0x02 // pinsrb xmm6, byte [r14 + rcx + 15], 2 + LONG $0x247c8b48; BYTE $0x28 // mov rdi, qword [rsp + 40] + QUAD $0x0f3e74203a0f4166; BYTE $0x03 // pinsrb xmm6, byte [r14 + rdi + 15], 3 + LONG $0x24448b4c; BYTE $0x78 // mov r8, qword [rsp + 120] + QUAD $0x0f0674203a0f4366; BYTE $0x04 // pinsrb xmm6, byte [r14 + r8 + 15], 4 + QUAD $0x0f2674203a0f4366; BYTE $0x05 // pinsrb xmm6, byte [r14 + r12 + 15], 5 + WORD $0x894c; BYTE $0xd1 // mov rcx, r10 + QUAD $0x0f1674203a0f4366; BYTE $0x06 // pinsrb xmm6, byte [r14 + r10 + 15], 6 + QUAD $0x0f0e74203a0f4366; BYTE $0x07 // pinsrb xmm6, byte [r14 + r9 + 15], 7 + LONG $0x24748b48; BYTE $0x48 // mov rsi, qword [rsp + 72] + QUAD $0x0f3674203a0f4166; BYTE $0x08 // pinsrb xmm6, byte [r14 + rsi + 15], 8 + QUAD $0x00000088248c8b4c // mov r9, qword [rsp + 136] + QUAD $0x0f0e74203a0f4366; BYTE $0x09 // pinsrb xmm6, byte [r14 + r9 + 15], 9 + QUAD $0x0f1e74203a0f4366; BYTE $0x0a // pinsrb xmm6, byte [r14 + r11 + 15], 10 + QUAD $0x0000009824948b4c // mov r10, qword [rsp + 152] QUAD $0x0f1674203a0f4366; BYTE $0x0b // pinsrb xmm6, byte [r14 + r10 + 15], 11 - WORD $0x894d; BYTE $0xd7 // mov r15, r10 - LONG $0x24548b4c; BYTE $0x78 // mov r10, qword [rsp + 120] - QUAD $0x0f1674203a0f4366; BYTE $0x0c // pinsrb xmm6, byte [r14 + r10 + 15], 12 - LONG $0x246c8b4c; BYTE $0x30 // mov r13, qword [rsp + 48] - QUAD $0x0f2e74203a0f4366; BYTE $0x0d // pinsrb xmm6, byte [r14 + r13 + 15], 13 - LONG $0x24748b48; BYTE $0x40 // mov rsi, qword [rsp + 64] - QUAD $0x0f3674203a0f4166; BYTE $0x0e // pinsrb xmm6, byte [r14 + rsi + 15], 14 - QUAD $0x0f0e74203a0f4166; BYTE $0x0f // pinsrb xmm6, byte [r14 + rcx + 15], 15 + QUAD $0x0f1674203a0f4166; BYTE $0x0c // pinsrb xmm6, byte [r14 + rdx + 15], 12 + QUAD $0x0f1e74203a0f4166; BYTE $0x0d // pinsrb xmm6, byte [r14 + rbx + 15], 13 + QUAD $0x0f2e74203a0f4366; BYTE $0x0e // pinsrb xmm6, byte [r14 + r13 + 15], 14 + QUAD $0x0f0674203a0f4166; BYTE $0x0f // pinsrb xmm6, byte [r14 + rax + 15], 15 LONG $0x740f4166; BYTE $0xf6 // pcmpeqb xmm6, xmm14 LONG $0x75df0f66; BYTE $0x60 // pandn xmm6, oword 96[rbp] /* [rip + .LCPI5_6] */ LONG $0xeb0f4166; BYTE $0xf7 // por xmm6, xmm15 + LONG $0x24448b48; BYTE $0x38 // mov rax, qword [rsp + 56] LONG $0x74b60f41; WORD $0x1c06 // movzx esi, byte [r14 + rax + 28] LONG $0x6e0f4466; BYTE $0xfe // movd xmm15, esi LONG $0xeb0f4166; BYTE $0xf1 // por xmm6, xmm9 QUAD $0x0000c024b47f0f66; BYTE $0x00 // movdqa oword [rsp + 192], xmm6 LONG $0x74b60f41; WORD $0x1d06 // movzx esi, byte [r14 + rax + 29] LONG $0x6e0f4466; BYTE $0xce // movd xmm9, esi - WORD $0x8948; BYTE $0xfe // mov rsi, rdi - QUAD $0x103e54203a0f4566; BYTE $0x01 // pinsrb xmm10, byte [r14 + rdi + 16], 1 - WORD $0x8948; BYTE $0xd0 // mov rax, rdx - QUAD $0x101654203a0f4566; BYTE $0x02 // pinsrb xmm10, byte [r14 + rdx + 16], 2 - LONG $0x24548b48; BYTE $0x50 // mov rdx, qword [rsp + 80] - QUAD $0x101654203a0f4566; BYTE $0x03 // pinsrb xmm10, byte [r14 + rdx + 16], 3 - QUAD $0x100e54203a0f4766; BYTE $0x04 // pinsrb xmm10, byte [r14 + r9 + 16], 4 - LONG $0x247c8b48; BYTE $0x38 // mov rdi, qword [rsp + 56] - QUAD $0x103e54203a0f4566; BYTE $0x05 // pinsrb xmm10, byte [r14 + rdi + 16], 5 - QUAD $0x101e54203a0f4566; BYTE $0x06 // pinsrb xmm10, byte [r14 + rbx + 16], 6 - LONG $0x245c8b48; BYTE $0x68 // mov rbx, qword [rsp + 104] - QUAD $0x101e54203a0f4566; BYTE $0x07 // pinsrb xmm10, byte [r14 + rbx + 16], 7 - QUAD $0x101e54203a0f4766; BYTE $0x08 // pinsrb xmm10, byte [r14 + r11 + 16], 8 - QUAD $0x100654203a0f4766; BYTE $0x09 // pinsrb xmm10, byte [r14 + r8 + 16], 9 - QUAD $0x102654203a0f4766; BYTE $0x0a // pinsrb xmm10, byte [r14 + r12 + 16], 10 - QUAD $0x103e54203a0f4766; BYTE $0x0b // pinsrb xmm10, byte [r14 + r15 + 16], 11 - QUAD $0x101654203a0f4766; BYTE $0x0c // pinsrb xmm10, byte [r14 + r10 + 16], 12 - QUAD $0x102e54203a0f4766; BYTE $0x0d // pinsrb xmm10, byte [r14 + r13 + 16], 13 - LONG $0x244c8b48; BYTE $0x40 // mov rcx, qword [rsp + 64] - QUAD $0x100e54203a0f4566; BYTE $0x0e // pinsrb xmm10, byte [r14 + rcx + 16], 14 - LONG $0x246c8b4c; BYTE $0x48 // mov r13, qword [rsp + 72] - QUAD $0x102e54203a0f4766; BYTE $0x0f // pinsrb xmm10, byte [r14 + r13 + 16], 15 + WORD $0x894c; BYTE $0xfe // mov rsi, r15 + QUAD $0x103e54203a0f4766; BYTE $0x01 // pinsrb xmm10, byte [r14 + r15 + 16], 1 + LONG $0x24448b48; BYTE $0x30 // mov rax, qword [rsp + 48] + QUAD $0x100654203a0f4566; BYTE $0x02 // pinsrb xmm10, byte [r14 + rax + 16], 2 + QUAD $0x103e54203a0f4566; BYTE $0x03 // pinsrb xmm10, byte [r14 + rdi + 16], 3 + WORD $0x8949; BYTE $0xfb // mov r11, rdi + QUAD $0x100654203a0f4766; BYTE $0x04 // pinsrb xmm10, byte [r14 + r8 + 16], 4 + QUAD $0x102654203a0f4766; BYTE $0x05 // pinsrb xmm10, byte [r14 + r12 + 16], 5 + QUAD $0x100e54203a0f4566; BYTE $0x06 // pinsrb xmm10, byte [r14 + rcx + 16], 6 + LONG $0x24548b48; BYTE $0x58 // mov rdx, qword [rsp + 88] + QUAD $0x101654203a0f4566; BYTE $0x07 // pinsrb xmm10, byte [r14 + rdx + 16], 7 + LONG $0x244c8b48; BYTE $0x48 // mov rcx, qword [rsp + 72] + QUAD $0x100e54203a0f4566; BYTE $0x08 // pinsrb xmm10, byte [r14 + rcx + 16], 8 + QUAD $0x100e54203a0f4766; BYTE $0x09 // pinsrb xmm10, byte [r14 + r9 + 16], 9 + LONG $0x247c8b4c; BYTE $0x70 // mov r15, qword [rsp + 112] + QUAD $0x103e54203a0f4766; BYTE $0x0a // pinsrb xmm10, byte [r14 + r15 + 16], 10 + QUAD $0x101654203a0f4766; BYTE $0x0b // pinsrb xmm10, byte [r14 + r10 + 16], 11 + LONG $0x247c8b48; BYTE $0x60 // mov rdi, qword [rsp + 96] + QUAD $0x103e54203a0f4566; BYTE $0x0c // pinsrb xmm10, byte [r14 + rdi + 16], 12 + QUAD $0x101e54203a0f4566; BYTE $0x0d // pinsrb xmm10, byte [r14 + rbx + 16], 13 + QUAD $0x102e54203a0f4766; BYTE $0x0e // pinsrb xmm10, byte [r14 + r13 + 16], 14 + LONG $0x24448b48; BYTE $0x50 // mov rax, qword [rsp + 80] + QUAD $0x100654203a0f4566; BYTE $0x0f // pinsrb xmm10, byte [r14 + rax + 16], 15 QUAD $0x113664203a0f4166; BYTE $0x01 // pinsrb xmm4, byte [r14 + rsi + 17], 1 - QUAD $0x110664203a0f4166; BYTE $0x02 // pinsrb xmm4, byte [r14 + rax + 17], 2 - QUAD $0x111664203a0f4166; BYTE $0x03 // pinsrb xmm4, byte [r14 + rdx + 17], 3 - QUAD $0x110e64203a0f4366; BYTE $0x04 // pinsrb xmm4, byte [r14 + r9 + 17], 4 - QUAD $0x113e64203a0f4166; BYTE $0x05 // pinsrb xmm4, byte [r14 + rdi + 17], 5 - QUAD $0x0000008824948b4c // mov r10, qword [rsp + 136] + LONG $0x24748b48; BYTE $0x30 // mov rsi, qword [rsp + 48] + QUAD $0x113664203a0f4166; BYTE $0x02 // pinsrb xmm4, byte [r14 + rsi + 17], 2 + QUAD $0x111e64203a0f4366; BYTE $0x03 // pinsrb xmm4, byte [r14 + r11 + 17], 3 + QUAD $0x110664203a0f4366; BYTE $0x04 // pinsrb xmm4, byte [r14 + r8 + 17], 4 + QUAD $0x112664203a0f4366; BYTE $0x05 // pinsrb xmm4, byte [r14 + r12 + 17], 5 + QUAD $0x0000009024948b4c // mov r10, qword [rsp + 144] QUAD $0x111664203a0f4366; BYTE $0x06 // pinsrb xmm4, byte [r14 + r10 + 17], 6 - WORD $0x8949; BYTE $0xd9 // mov r9, rbx - QUAD $0x111e64203a0f4166; BYTE $0x07 // pinsrb xmm4, byte [r14 + rbx + 17], 7 - QUAD $0x111e64203a0f4366; BYTE $0x08 // pinsrb xmm4, byte [r14 + r11 + 17], 8 - QUAD $0x110664203a0f4366; BYTE $0x09 // pinsrb xmm4, byte [r14 + r8 + 17], 9 - QUAD $0x112664203a0f4366; BYTE $0x0a // pinsrb xmm4, byte [r14 + r12 + 17], 10 + QUAD $0x111664203a0f4166; BYTE $0x07 // pinsrb xmm4, byte [r14 + rdx + 17], 7 + QUAD $0x110e64203a0f4166; BYTE $0x08 // pinsrb xmm4, byte [r14 + rcx + 17], 8 + QUAD $0x110e64203a0f4366; BYTE $0x09 // pinsrb xmm4, byte [r14 + r9 + 17], 9 WORD $0x894d; BYTE $0xf8 // mov r8, r15 - QUAD $0x113e64203a0f4366; BYTE $0x0b // pinsrb xmm4, byte [r14 + r15 + 17], 11 - LONG $0x247c8b48; BYTE $0x78 // mov rdi, qword [rsp + 120] + QUAD $0x113e64203a0f4366; BYTE $0x0a // pinsrb xmm4, byte [r14 + r15 + 17], 10 + QUAD $0x0000009824948b48 // mov rdx, qword [rsp + 152] + QUAD $0x111664203a0f4166; BYTE $0x0b // pinsrb xmm4, byte [r14 + rdx + 17], 11 QUAD $0x113e64203a0f4166; BYTE $0x0c // pinsrb xmm4, byte [r14 + rdi + 17], 12 - LONG $0x24548b48; BYTE $0x30 // mov rdx, qword [rsp + 48] - QUAD $0x111664203a0f4166; BYTE $0x0d // pinsrb xmm4, byte [r14 + rdx + 17], 13 - QUAD $0x110e64203a0f4166; BYTE $0x0e // pinsrb xmm4, byte [r14 + rcx + 17], 14 - QUAD $0x112e64203a0f4366; BYTE $0x0f // pinsrb xmm4, byte [r14 + r13 + 17], 15 + WORD $0x8949; BYTE $0xfb // mov r11, rdi + QUAD $0x111e64203a0f4166; BYTE $0x0d // pinsrb xmm4, byte [r14 + rbx + 17], 13 + QUAD $0x112e64203a0f4366; BYTE $0x0e // pinsrb xmm4, byte [r14 + r13 + 17], 14 + QUAD $0x110664203a0f4166; BYTE $0x0f // pinsrb xmm4, byte [r14 + rax + 17], 15 + WORD $0x8948; BYTE $0xc1 // mov rcx, rax LONG $0x740f4566; BYTE $0xd6 // pcmpeqb xmm10, xmm14 LONG $0x740f4166; BYTE $0xe6 // pcmpeqb xmm4, xmm14 QUAD $0x00000100b56f0f66 // movdqa xmm6, oword 256[rbp] /* [rip + .LCPI5_16] */ LONG $0xe6df0f66 // pandn xmm4, xmm6 LONG $0xfc0f4166; BYTE $0xe2 // paddb xmm4, xmm10 - QUAD $0x0000008024848b48 // mov rax, qword [rsp + 128] + LONG $0x24448b48; BYTE $0x38 // mov rax, qword [rsp + 56] LONG $0x74b60f41; WORD $0x1e06 // movzx esi, byte [r14 + rax + 30] LONG $0x6e0f4466; BYTE $0xd6 // movd xmm10, esi LONG $0x24748b48; BYTE $0x10 // mov rsi, qword [rsp + 16] @@ -28290,7 +29548,7 @@ LBB5_67: LONG $0x44b60f41; WORD $0x1f06 // movzx eax, byte [r14 + rax + 31] LONG $0xf06e0f66 // movd xmm6, eax QUAD $0x1f3674203a0f4166; BYTE $0x01 // pinsrb xmm6, byte [r14 + rsi + 31], 1 - LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] + LONG $0x24448b48; BYTE $0x30 // mov rax, qword [rsp + 48] QUAD $0x12067c203a0f4166; BYTE $0x02 // pinsrb xmm7, byte [r14 + rax + 18], 2 QUAD $0x13066c203a0f4166; BYTE $0x02 // pinsrb xmm5, byte [r14 + rax + 19], 2 QUAD $0x14065c203a0f4166; BYTE $0x02 // pinsrb xmm3, byte [r14 + rax + 20], 2 @@ -28305,48 +29563,49 @@ LBB5_67: QUAD $0x1d064c203a0f4566; BYTE $0x02 // pinsrb xmm9, byte [r14 + rax + 29], 2 QUAD $0x1e0654203a0f4566; BYTE $0x02 // pinsrb xmm10, byte [r14 + rax + 30], 2 QUAD $0x1f0674203a0f4166; BYTE $0x02 // pinsrb xmm6, byte [r14 + rax + 31], 2 - LONG $0x247c8b4c; BYTE $0x50 // mov r15, qword [rsp + 80] + LONG $0x247c8b4c; BYTE $0x28 // mov r15, qword [rsp + 40] QUAD $0x123e7c203a0f4366; BYTE $0x03 // pinsrb xmm7, byte [r14 + r15 + 18], 3 - LONG $0x24448b48; BYTE $0x18 // mov rax, qword [rsp + 24] + LONG $0x24448b48; BYTE $0x78 // mov rax, qword [rsp + 120] QUAD $0x12067c203a0f4166; BYTE $0x04 // pinsrb xmm7, byte [r14 + rax + 18], 4 - LONG $0x245c8b48; BYTE $0x38 // mov rbx, qword [rsp + 56] - QUAD $0x121e7c203a0f4166; BYTE $0x05 // pinsrb xmm7, byte [r14 + rbx + 18], 5 + QUAD $0x12267c203a0f4366; BYTE $0x05 // pinsrb xmm7, byte [r14 + r12 + 18], 5 QUAD $0x12167c203a0f4366; BYTE $0x06 // pinsrb xmm7, byte [r14 + r10 + 18], 6 - QUAD $0x120e7c203a0f4366; BYTE $0x07 // pinsrb xmm7, byte [r14 + r9 + 18], 7 - QUAD $0x121e7c203a0f4366; BYTE $0x08 // pinsrb xmm7, byte [r14 + r11 + 18], 8 - LONG $0x24748b48; BYTE $0x60 // mov rsi, qword [rsp + 96] + LONG $0x247c8b48; BYTE $0x58 // mov rdi, qword [rsp + 88] + QUAD $0x123e7c203a0f4166; BYTE $0x07 // pinsrb xmm7, byte [r14 + rdi + 18], 7 + LONG $0x244c8b4c; BYTE $0x48 // mov r9, qword [rsp + 72] + QUAD $0x120e7c203a0f4366; BYTE $0x08 // pinsrb xmm7, byte [r14 + r9 + 18], 8 + QUAD $0x0000008824b48b48 // mov rsi, qword [rsp + 136] QUAD $0x12367c203a0f4166; BYTE $0x09 // pinsrb xmm7, byte [r14 + rsi + 18], 9 - QUAD $0x12267c203a0f4366; BYTE $0x0a // pinsrb xmm7, byte [r14 + r12 + 18], 10 - QUAD $0x12067c203a0f4366; BYTE $0x0b // pinsrb xmm7, byte [r14 + r8 + 18], 11 - QUAD $0x123e7c203a0f4166; BYTE $0x0c // pinsrb xmm7, byte [r14 + rdi + 18], 12 - QUAD $0x12167c203a0f4166; BYTE $0x0d // pinsrb xmm7, byte [r14 + rdx + 18], 13 - QUAD $0x120e7c203a0f4166; BYTE $0x0e // pinsrb xmm7, byte [r14 + rcx + 18], 14 - QUAD $0x122e7c203a0f4366; BYTE $0x0f // pinsrb xmm7, byte [r14 + r13 + 18], 15 + QUAD $0x12067c203a0f4366; BYTE $0x0a // pinsrb xmm7, byte [r14 + r8 + 18], 10 + QUAD $0x12167c203a0f4166; BYTE $0x0b // pinsrb xmm7, byte [r14 + rdx + 18], 11 + QUAD $0x121e7c203a0f4366; BYTE $0x0c // pinsrb xmm7, byte [r14 + r11 + 18], 12 + QUAD $0x121e7c203a0f4166; BYTE $0x0d // pinsrb xmm7, byte [r14 + rbx + 18], 13 + QUAD $0x122e7c203a0f4366; BYTE $0x0e // pinsrb xmm7, byte [r14 + r13 + 18], 14 + QUAD $0x120e7c203a0f4166; BYTE $0x0f // pinsrb xmm7, byte [r14 + rcx + 18], 15 QUAD $0x133e6c203a0f4366; BYTE $0x03 // pinsrb xmm5, byte [r14 + r15 + 19], 3 QUAD $0x13066c203a0f4166; BYTE $0x04 // pinsrb xmm5, byte [r14 + rax + 19], 4 - QUAD $0x131e6c203a0f4166; BYTE $0x05 // pinsrb xmm5, byte [r14 + rbx + 19], 5 + QUAD $0x13266c203a0f4366; BYTE $0x05 // pinsrb xmm5, byte [r14 + r12 + 19], 5 QUAD $0x13166c203a0f4366; BYTE $0x06 // pinsrb xmm5, byte [r14 + r10 + 19], 6 - QUAD $0x130e6c203a0f4366; BYTE $0x07 // pinsrb xmm5, byte [r14 + r9 + 19], 7 - QUAD $0x131e6c203a0f4366; BYTE $0x08 // pinsrb xmm5, byte [r14 + r11 + 19], 8 + QUAD $0x133e6c203a0f4166; BYTE $0x07 // pinsrb xmm5, byte [r14 + rdi + 19], 7 + QUAD $0x130e6c203a0f4366; BYTE $0x08 // pinsrb xmm5, byte [r14 + r9 + 19], 8 QUAD $0x13366c203a0f4166; BYTE $0x09 // pinsrb xmm5, byte [r14 + rsi + 19], 9 - QUAD $0x13266c203a0f4366; BYTE $0x0a // pinsrb xmm5, byte [r14 + r12 + 19], 10 - QUAD $0x13066c203a0f4366; BYTE $0x0b // pinsrb xmm5, byte [r14 + r8 + 19], 11 - QUAD $0x133e6c203a0f4166; BYTE $0x0c // pinsrb xmm5, byte [r14 + rdi + 19], 12 - QUAD $0x13166c203a0f4166; BYTE $0x0d // pinsrb xmm5, byte [r14 + rdx + 19], 13 - QUAD $0x130e6c203a0f4166; BYTE $0x0e // pinsrb xmm5, byte [r14 + rcx + 19], 14 - QUAD $0x132e6c203a0f4366; BYTE $0x0f // pinsrb xmm5, byte [r14 + r13 + 19], 15 + QUAD $0x13066c203a0f4366; BYTE $0x0a // pinsrb xmm5, byte [r14 + r8 + 19], 10 + QUAD $0x13166c203a0f4166; BYTE $0x0b // pinsrb xmm5, byte [r14 + rdx + 19], 11 + QUAD $0x131e6c203a0f4366; BYTE $0x0c // pinsrb xmm5, byte [r14 + r11 + 19], 12 + QUAD $0x131e6c203a0f4166; BYTE $0x0d // pinsrb xmm5, byte [r14 + rbx + 19], 13 + QUAD $0x132e6c203a0f4366; BYTE $0x0e // pinsrb xmm5, byte [r14 + r13 + 19], 14 + QUAD $0x130e6c203a0f4166; BYTE $0x0f // pinsrb xmm5, byte [r14 + rcx + 19], 15 QUAD $0x143e5c203a0f4366; BYTE $0x03 // pinsrb xmm3, byte [r14 + r15 + 20], 3 QUAD $0x14065c203a0f4166; BYTE $0x04 // pinsrb xmm3, byte [r14 + rax + 20], 4 - QUAD $0x141e5c203a0f4166; BYTE $0x05 // pinsrb xmm3, byte [r14 + rbx + 20], 5 + QUAD $0x14265c203a0f4366; BYTE $0x05 // pinsrb xmm3, byte [r14 + r12 + 20], 5 QUAD $0x14165c203a0f4366; BYTE $0x06 // pinsrb xmm3, byte [r14 + r10 + 20], 6 - QUAD $0x140e5c203a0f4366; BYTE $0x07 // pinsrb xmm3, byte [r14 + r9 + 20], 7 - QUAD $0x141e5c203a0f4366; BYTE $0x08 // pinsrb xmm3, byte [r14 + r11 + 20], 8 + QUAD $0x143e5c203a0f4166; BYTE $0x07 // pinsrb xmm3, byte [r14 + rdi + 20], 7 + QUAD $0x140e5c203a0f4366; BYTE $0x08 // pinsrb xmm3, byte [r14 + r9 + 20], 8 QUAD $0x14365c203a0f4166; BYTE $0x09 // pinsrb xmm3, byte [r14 + rsi + 20], 9 - QUAD $0x14265c203a0f4366; BYTE $0x0a // pinsrb xmm3, byte [r14 + r12 + 20], 10 - QUAD $0x14065c203a0f4366; BYTE $0x0b // pinsrb xmm3, byte [r14 + r8 + 20], 11 - QUAD $0x143e5c203a0f4166; BYTE $0x0c // pinsrb xmm3, byte [r14 + rdi + 20], 12 - QUAD $0x14165c203a0f4166; BYTE $0x0d // pinsrb xmm3, byte [r14 + rdx + 20], 13 - QUAD $0x140e5c203a0f4166; BYTE $0x0e // pinsrb xmm3, byte [r14 + rcx + 20], 14 + QUAD $0x14065c203a0f4366; BYTE $0x0a // pinsrb xmm3, byte [r14 + r8 + 20], 10 + QUAD $0x14165c203a0f4166; BYTE $0x0b // pinsrb xmm3, byte [r14 + rdx + 20], 11 + QUAD $0x141e5c203a0f4366; BYTE $0x0c // pinsrb xmm3, byte [r14 + r11 + 20], 12 + QUAD $0x141e5c203a0f4166; BYTE $0x0d // pinsrb xmm3, byte [r14 + rbx + 20], 13 + QUAD $0x142e5c203a0f4366; BYTE $0x0e // pinsrb xmm3, byte [r14 + r13 + 20], 14 LONG $0x740f4166; BYTE $0xfe // pcmpeqb xmm7, xmm14 QUAD $0x000110b56f0f4466; BYTE $0x00 // movdqa xmm14, oword 272[rbp] /* [rip + .LCPI5_17] */ LONG $0xdf0f4166; BYTE $0xfe // pandn xmm7, xmm14 @@ -28354,7 +29613,7 @@ LBB5_67: QUAD $0x000120b56f0f4466; BYTE $0x00 // movdqa xmm14, oword 288[rbp] /* [rip + .LCPI5_18] */ LONG $0xdf0f4166; BYTE $0xee // pandn xmm5, xmm14 LONG $0xefeb0f66 // por xmm5, xmm7 - QUAD $0x142e5c203a0f4366; BYTE $0x0f // pinsrb xmm3, byte [r14 + r13 + 20], 15 + QUAD $0x140e5c203a0f4166; BYTE $0x0f // pinsrb xmm3, byte [r14 + rcx + 20], 15 QUAD $0x00b024b46f0f4466; WORD $0x0000 // movdqa xmm14, oword [rsp + 176] LONG $0x740f4166; BYTE $0xde // pcmpeqb xmm3, xmm14 QUAD $0x00000130bd6f0f66 // movdqa xmm7, oword 304[rbp] /* [rip + .LCPI5_19] */ @@ -28365,42 +29624,42 @@ LBB5_67: LONG $0xdceb0f66 // por xmm3, xmm4 QUAD $0x153e54203a0f4366; BYTE $0x03 // pinsrb xmm2, byte [r14 + r15 + 21], 3 QUAD $0x150654203a0f4166; BYTE $0x04 // pinsrb xmm2, byte [r14 + rax + 21], 4 - QUAD $0x151e54203a0f4166; BYTE $0x05 // pinsrb xmm2, byte [r14 + rbx + 21], 5 + QUAD $0x152654203a0f4366; BYTE $0x05 // pinsrb xmm2, byte [r14 + r12 + 21], 5 QUAD $0x151654203a0f4366; BYTE $0x06 // pinsrb xmm2, byte [r14 + r10 + 21], 6 - QUAD $0x150e54203a0f4366; BYTE $0x07 // pinsrb xmm2, byte [r14 + r9 + 21], 7 - QUAD $0x151e54203a0f4366; BYTE $0x08 // pinsrb xmm2, byte [r14 + r11 + 21], 8 + QUAD $0x153e54203a0f4166; BYTE $0x07 // pinsrb xmm2, byte [r14 + rdi + 21], 7 + QUAD $0x150e54203a0f4366; BYTE $0x08 // pinsrb xmm2, byte [r14 + r9 + 21], 8 QUAD $0x153654203a0f4166; BYTE $0x09 // pinsrb xmm2, byte [r14 + rsi + 21], 9 - QUAD $0x152654203a0f4366; BYTE $0x0a // pinsrb xmm2, byte [r14 + r12 + 21], 10 - QUAD $0x150654203a0f4366; BYTE $0x0b // pinsrb xmm2, byte [r14 + r8 + 21], 11 - QUAD $0x153e54203a0f4166; BYTE $0x0c // pinsrb xmm2, byte [r14 + rdi + 21], 12 - QUAD $0x151654203a0f4166; BYTE $0x0d // pinsrb xmm2, byte [r14 + rdx + 21], 13 - QUAD $0x150e54203a0f4166; BYTE $0x0e // pinsrb xmm2, byte [r14 + rcx + 21], 14 - QUAD $0x152e54203a0f4366; BYTE $0x0f // pinsrb xmm2, byte [r14 + r13 + 21], 15 + QUAD $0x150654203a0f4366; BYTE $0x0a // pinsrb xmm2, byte [r14 + r8 + 21], 10 + QUAD $0x151654203a0f4166; BYTE $0x0b // pinsrb xmm2, byte [r14 + rdx + 21], 11 + QUAD $0x151e54203a0f4366; BYTE $0x0c // pinsrb xmm2, byte [r14 + r11 + 21], 12 + QUAD $0x151e54203a0f4166; BYTE $0x0d // pinsrb xmm2, byte [r14 + rbx + 21], 13 + QUAD $0x152e54203a0f4366; BYTE $0x0e // pinsrb xmm2, byte [r14 + r13 + 21], 14 + QUAD $0x150e54203a0f4166; BYTE $0x0f // pinsrb xmm2, byte [r14 + rcx + 21], 15 QUAD $0x163e4c203a0f4366; BYTE $0x03 // pinsrb xmm1, byte [r14 + r15 + 22], 3 QUAD $0x16064c203a0f4166; BYTE $0x04 // pinsrb xmm1, byte [r14 + rax + 22], 4 - QUAD $0x161e4c203a0f4166; BYTE $0x05 // pinsrb xmm1, byte [r14 + rbx + 22], 5 + QUAD $0x16264c203a0f4366; BYTE $0x05 // pinsrb xmm1, byte [r14 + r12 + 22], 5 QUAD $0x16164c203a0f4366; BYTE $0x06 // pinsrb xmm1, byte [r14 + r10 + 22], 6 - QUAD $0x160e4c203a0f4366; BYTE $0x07 // pinsrb xmm1, byte [r14 + r9 + 22], 7 - QUAD $0x161e4c203a0f4366; BYTE $0x08 // pinsrb xmm1, byte [r14 + r11 + 22], 8 + QUAD $0x163e4c203a0f4166; BYTE $0x07 // pinsrb xmm1, byte [r14 + rdi + 22], 7 + QUAD $0x160e4c203a0f4366; BYTE $0x08 // pinsrb xmm1, byte [r14 + r9 + 22], 8 QUAD $0x16364c203a0f4166; BYTE $0x09 // pinsrb xmm1, byte [r14 + rsi + 22], 9 - QUAD $0x16264c203a0f4366; BYTE $0x0a // pinsrb xmm1, byte [r14 + r12 + 22], 10 - QUAD $0x16064c203a0f4366; BYTE $0x0b // pinsrb xmm1, byte [r14 + r8 + 22], 11 - QUAD $0x163e4c203a0f4166; BYTE $0x0c // pinsrb xmm1, byte [r14 + rdi + 22], 12 - QUAD $0x16164c203a0f4166; BYTE $0x0d // pinsrb xmm1, byte [r14 + rdx + 22], 13 - QUAD $0x160e4c203a0f4166; BYTE $0x0e // pinsrb xmm1, byte [r14 + rcx + 22], 14 - QUAD $0x162e4c203a0f4366; BYTE $0x0f // pinsrb xmm1, byte [r14 + r13 + 22], 15 + QUAD $0x16064c203a0f4366; BYTE $0x0a // pinsrb xmm1, byte [r14 + r8 + 22], 10 + QUAD $0x16164c203a0f4166; BYTE $0x0b // pinsrb xmm1, byte [r14 + rdx + 22], 11 + QUAD $0x161e4c203a0f4366; BYTE $0x0c // pinsrb xmm1, byte [r14 + r11 + 22], 12 + QUAD $0x161e4c203a0f4166; BYTE $0x0d // pinsrb xmm1, byte [r14 + rbx + 22], 13 + QUAD $0x162e4c203a0f4366; BYTE $0x0e // pinsrb xmm1, byte [r14 + r13 + 22], 14 + QUAD $0x160e4c203a0f4166; BYTE $0x0f // pinsrb xmm1, byte [r14 + rcx + 22], 15 QUAD $0x173e44203a0f4766; BYTE $0x03 // pinsrb xmm8, byte [r14 + r15 + 23], 3 QUAD $0x170644203a0f4566; BYTE $0x04 // pinsrb xmm8, byte [r14 + rax + 23], 4 - QUAD $0x171e44203a0f4566; BYTE $0x05 // pinsrb xmm8, byte [r14 + rbx + 23], 5 + QUAD $0x172644203a0f4766; BYTE $0x05 // pinsrb xmm8, byte [r14 + r12 + 23], 5 QUAD $0x171644203a0f4766; BYTE $0x06 // pinsrb xmm8, byte [r14 + r10 + 23], 6 - QUAD $0x170e44203a0f4766; BYTE $0x07 // pinsrb xmm8, byte [r14 + r9 + 23], 7 - QUAD $0x171e44203a0f4766; BYTE $0x08 // pinsrb xmm8, byte [r14 + r11 + 23], 8 + QUAD $0x173e44203a0f4566; BYTE $0x07 // pinsrb xmm8, byte [r14 + rdi + 23], 7 + QUAD $0x170e44203a0f4766; BYTE $0x08 // pinsrb xmm8, byte [r14 + r9 + 23], 8 QUAD $0x173644203a0f4566; BYTE $0x09 // pinsrb xmm8, byte [r14 + rsi + 23], 9 - QUAD $0x172644203a0f4766; BYTE $0x0a // pinsrb xmm8, byte [r14 + r12 + 23], 10 - QUAD $0x170644203a0f4766; BYTE $0x0b // pinsrb xmm8, byte [r14 + r8 + 23], 11 - QUAD $0x173e44203a0f4566; BYTE $0x0c // pinsrb xmm8, byte [r14 + rdi + 23], 12 - QUAD $0x171644203a0f4566; BYTE $0x0d // pinsrb xmm8, byte [r14 + rdx + 23], 13 - QUAD $0x170e44203a0f4566; BYTE $0x0e // pinsrb xmm8, byte [r14 + rcx + 23], 14 + QUAD $0x170644203a0f4766; BYTE $0x0a // pinsrb xmm8, byte [r14 + r8 + 23], 10 + QUAD $0x171644203a0f4566; BYTE $0x0b // pinsrb xmm8, byte [r14 + rdx + 23], 11 + QUAD $0x171e44203a0f4766; BYTE $0x0c // pinsrb xmm8, byte [r14 + r11 + 23], 12 + QUAD $0x171e44203a0f4566; BYTE $0x0d // pinsrb xmm8, byte [r14 + rbx + 23], 13 + QUAD $0x172e44203a0f4766; BYTE $0x0e // pinsrb xmm8, byte [r14 + r13 + 23], 14 LONG $0x740f4166; BYTE $0xd6 // pcmpeqb xmm2, xmm14 QUAD $0x00000140ad6f0f66 // movdqa xmm5, oword 320[rbp] /* [rip + .LCPI5_20] */ LONG $0xd5df0f66 // pandn xmm2, xmm5 @@ -28408,68 +29667,68 @@ LBB5_67: QUAD $0x00000150bd6f0f66 // movdqa xmm7, oword 336[rbp] /* [rip + .LCPI5_21] */ LONG $0xcfdf0f66 // pandn xmm1, xmm7 LONG $0xcaeb0f66 // por xmm1, xmm2 - QUAD $0x172e44203a0f4766; BYTE $0x0f // pinsrb xmm8, byte [r14 + r13 + 23], 15 + QUAD $0x170e44203a0f4566; BYTE $0x0f // pinsrb xmm8, byte [r14 + rcx + 23], 15 LONG $0x740f4566; BYTE $0xc6 // pcmpeqb xmm8, xmm14 LONG $0x656f0f66; BYTE $0x60 // movdqa xmm4, oword 96[rbp] /* [rip + .LCPI5_6] */ LONG $0xdf0f4466; BYTE $0xc4 // pandn xmm8, xmm4 LONG $0xeb0f4466; BYTE $0xc1 // por xmm8, xmm1 QUAD $0x183e64203a0f4766; BYTE $0x03 // pinsrb xmm12, byte [r14 + r15 + 24], 3 QUAD $0x180664203a0f4566; BYTE $0x04 // pinsrb xmm12, byte [r14 + rax + 24], 4 - QUAD $0x181e64203a0f4566; BYTE $0x05 // pinsrb xmm12, byte [r14 + rbx + 24], 5 + QUAD $0x182664203a0f4766; BYTE $0x05 // pinsrb xmm12, byte [r14 + r12 + 24], 5 QUAD $0x181664203a0f4766; BYTE $0x06 // pinsrb xmm12, byte [r14 + r10 + 24], 6 - QUAD $0x180e64203a0f4766; BYTE $0x07 // pinsrb xmm12, byte [r14 + r9 + 24], 7 - QUAD $0x181e64203a0f4766; BYTE $0x08 // pinsrb xmm12, byte [r14 + r11 + 24], 8 + QUAD $0x183e64203a0f4566; BYTE $0x07 // pinsrb xmm12, byte [r14 + rdi + 24], 7 + QUAD $0x180e64203a0f4766; BYTE $0x08 // pinsrb xmm12, byte [r14 + r9 + 24], 8 QUAD $0x183664203a0f4566; BYTE $0x09 // pinsrb xmm12, byte [r14 + rsi + 24], 9 - QUAD $0x182664203a0f4766; BYTE $0x0a // pinsrb xmm12, byte [r14 + r12 + 24], 10 - QUAD $0x180664203a0f4766; BYTE $0x0b // pinsrb xmm12, byte [r14 + r8 + 24], 11 - QUAD $0x183e64203a0f4566; BYTE $0x0c // pinsrb xmm12, byte [r14 + rdi + 24], 12 - QUAD $0x181664203a0f4566; BYTE $0x0d // pinsrb xmm12, byte [r14 + rdx + 24], 13 - QUAD $0x180e64203a0f4566; BYTE $0x0e // pinsrb xmm12, byte [r14 + rcx + 24], 14 - QUAD $0x182e64203a0f4766; BYTE $0x0f // pinsrb xmm12, byte [r14 + r13 + 24], 15 + QUAD $0x180664203a0f4766; BYTE $0x0a // pinsrb xmm12, byte [r14 + r8 + 24], 10 + QUAD $0x181664203a0f4566; BYTE $0x0b // pinsrb xmm12, byte [r14 + rdx + 24], 11 + QUAD $0x181e64203a0f4766; BYTE $0x0c // pinsrb xmm12, byte [r14 + r11 + 24], 12 + QUAD $0x181e64203a0f4566; BYTE $0x0d // pinsrb xmm12, byte [r14 + rbx + 24], 13 + QUAD $0x182e64203a0f4766; BYTE $0x0e // pinsrb xmm12, byte [r14 + r13 + 24], 14 + QUAD $0x180e64203a0f4566; BYTE $0x0f // pinsrb xmm12, byte [r14 + rcx + 24], 15 LONG $0xeb0f4466; BYTE $0xc3 // por xmm8, xmm3 LONG $0x740f4566; BYTE $0xe6 // pcmpeqb xmm12, xmm14 QUAD $0x193e6c203a0f4766; BYTE $0x03 // pinsrb xmm13, byte [r14 + r15 + 25], 3 QUAD $0x19066c203a0f4566; BYTE $0x04 // pinsrb xmm13, byte [r14 + rax + 25], 4 - QUAD $0x191e6c203a0f4566; BYTE $0x05 // pinsrb xmm13, byte [r14 + rbx + 25], 5 + QUAD $0x19266c203a0f4766; BYTE $0x05 // pinsrb xmm13, byte [r14 + r12 + 25], 5 QUAD $0x19166c203a0f4766; BYTE $0x06 // pinsrb xmm13, byte [r14 + r10 + 25], 6 - QUAD $0x190e6c203a0f4766; BYTE $0x07 // pinsrb xmm13, byte [r14 + r9 + 25], 7 - QUAD $0x191e6c203a0f4766; BYTE $0x08 // pinsrb xmm13, byte [r14 + r11 + 25], 8 + QUAD $0x193e6c203a0f4566; BYTE $0x07 // pinsrb xmm13, byte [r14 + rdi + 25], 7 + QUAD $0x190e6c203a0f4766; BYTE $0x08 // pinsrb xmm13, byte [r14 + r9 + 25], 8 QUAD $0x19366c203a0f4566; BYTE $0x09 // pinsrb xmm13, byte [r14 + rsi + 25], 9 - QUAD $0x19266c203a0f4766; BYTE $0x0a // pinsrb xmm13, byte [r14 + r12 + 25], 10 - QUAD $0x19066c203a0f4766; BYTE $0x0b // pinsrb xmm13, byte [r14 + r8 + 25], 11 - QUAD $0x193e6c203a0f4566; BYTE $0x0c // pinsrb xmm13, byte [r14 + rdi + 25], 12 - QUAD $0x19166c203a0f4566; BYTE $0x0d // pinsrb xmm13, byte [r14 + rdx + 25], 13 - QUAD $0x190e6c203a0f4566; BYTE $0x0e // pinsrb xmm13, byte [r14 + rcx + 25], 14 - QUAD $0x192e6c203a0f4766; BYTE $0x0f // pinsrb xmm13, byte [r14 + r13 + 25], 15 + QUAD $0x19066c203a0f4766; BYTE $0x0a // pinsrb xmm13, byte [r14 + r8 + 25], 10 + QUAD $0x19166c203a0f4566; BYTE $0x0b // pinsrb xmm13, byte [r14 + rdx + 25], 11 + QUAD $0x191e6c203a0f4766; BYTE $0x0c // pinsrb xmm13, byte [r14 + r11 + 25], 12 + QUAD $0x191e6c203a0f4566; BYTE $0x0d // pinsrb xmm13, byte [r14 + rbx + 25], 13 + QUAD $0x192e6c203a0f4766; BYTE $0x0e // pinsrb xmm13, byte [r14 + r13 + 25], 14 + QUAD $0x190e6c203a0f4566; BYTE $0x0f // pinsrb xmm13, byte [r14 + rcx + 25], 15 QUAD $0x1a3e44203a0f4366; BYTE $0x03 // pinsrb xmm0, byte [r14 + r15 + 26], 3 QUAD $0x1a0644203a0f4166; BYTE $0x04 // pinsrb xmm0, byte [r14 + rax + 26], 4 - QUAD $0x1a1e44203a0f4166; BYTE $0x05 // pinsrb xmm0, byte [r14 + rbx + 26], 5 + QUAD $0x1a2644203a0f4366; BYTE $0x05 // pinsrb xmm0, byte [r14 + r12 + 26], 5 QUAD $0x1a1644203a0f4366; BYTE $0x06 // pinsrb xmm0, byte [r14 + r10 + 26], 6 - QUAD $0x1a0e44203a0f4366; BYTE $0x07 // pinsrb xmm0, byte [r14 + r9 + 26], 7 - QUAD $0x1a1e44203a0f4366; BYTE $0x08 // pinsrb xmm0, byte [r14 + r11 + 26], 8 + QUAD $0x1a3e44203a0f4166; BYTE $0x07 // pinsrb xmm0, byte [r14 + rdi + 26], 7 + QUAD $0x1a0e44203a0f4366; BYTE $0x08 // pinsrb xmm0, byte [r14 + r9 + 26], 8 QUAD $0x1a3644203a0f4166; BYTE $0x09 // pinsrb xmm0, byte [r14 + rsi + 26], 9 - QUAD $0x1a2644203a0f4366; BYTE $0x0a // pinsrb xmm0, byte [r14 + r12 + 26], 10 - QUAD $0x1a0644203a0f4366; BYTE $0x0b // pinsrb xmm0, byte [r14 + r8 + 26], 11 - QUAD $0x1a3e44203a0f4166; BYTE $0x0c // pinsrb xmm0, byte [r14 + rdi + 26], 12 - QUAD $0x1a1644203a0f4166; BYTE $0x0d // pinsrb xmm0, byte [r14 + rdx + 26], 13 - QUAD $0x1a0e44203a0f4166; BYTE $0x0e // pinsrb xmm0, byte [r14 + rcx + 26], 14 - QUAD $0x1a2e44203a0f4366; BYTE $0x0f // pinsrb xmm0, byte [r14 + r13 + 26], 15 + QUAD $0x1a0644203a0f4366; BYTE $0x0a // pinsrb xmm0, byte [r14 + r8 + 26], 10 + QUAD $0x1a1644203a0f4166; BYTE $0x0b // pinsrb xmm0, byte [r14 + rdx + 26], 11 + QUAD $0x1a1e44203a0f4366; BYTE $0x0c // pinsrb xmm0, byte [r14 + r11 + 26], 12 + QUAD $0x1a1e44203a0f4166; BYTE $0x0d // pinsrb xmm0, byte [r14 + rbx + 26], 13 + QUAD $0x1a2e44203a0f4366; BYTE $0x0e // pinsrb xmm0, byte [r14 + r13 + 26], 14 + QUAD $0x1a0e44203a0f4166; BYTE $0x0f // pinsrb xmm0, byte [r14 + rcx + 26], 15 QUAD $0x1b3e5c203a0f4766; BYTE $0x03 // pinsrb xmm11, byte [r14 + r15 + 27], 3 QUAD $0x1b065c203a0f4566; BYTE $0x04 // pinsrb xmm11, byte [r14 + rax + 27], 4 - QUAD $0x1b1e5c203a0f4566; BYTE $0x05 // pinsrb xmm11, byte [r14 + rbx + 27], 5 + QUAD $0x1b265c203a0f4766; BYTE $0x05 // pinsrb xmm11, byte [r14 + r12 + 27], 5 QUAD $0x1b165c203a0f4766; BYTE $0x06 // pinsrb xmm11, byte [r14 + r10 + 27], 6 - QUAD $0x1b0e5c203a0f4766; BYTE $0x07 // pinsrb xmm11, byte [r14 + r9 + 27], 7 - QUAD $0x1b1e5c203a0f4766; BYTE $0x08 // pinsrb xmm11, byte [r14 + r11 + 27], 8 + QUAD $0x1b3e5c203a0f4566; BYTE $0x07 // pinsrb xmm11, byte [r14 + rdi + 27], 7 + QUAD $0x1b0e5c203a0f4766; BYTE $0x08 // pinsrb xmm11, byte [r14 + r9 + 27], 8 QUAD $0x1b365c203a0f4566; BYTE $0x09 // pinsrb xmm11, byte [r14 + rsi + 27], 9 - QUAD $0x1b265c203a0f4766; BYTE $0x0a // pinsrb xmm11, byte [r14 + r12 + 27], 10 - QUAD $0x1b065c203a0f4766; BYTE $0x0b // pinsrb xmm11, byte [r14 + r8 + 27], 11 - QUAD $0x1b3e5c203a0f4566; BYTE $0x0c // pinsrb xmm11, byte [r14 + rdi + 27], 12 - QUAD $0x1b165c203a0f4566; BYTE $0x0d // pinsrb xmm11, byte [r14 + rdx + 27], 13 - QUAD $0x1b0e5c203a0f4566; BYTE $0x0e // pinsrb xmm11, byte [r14 + rcx + 27], 14 + QUAD $0x1b065c203a0f4766; BYTE $0x0a // pinsrb xmm11, byte [r14 + r8 + 27], 10 + QUAD $0x1b165c203a0f4566; BYTE $0x0b // pinsrb xmm11, byte [r14 + rdx + 27], 11 + QUAD $0x1b1e5c203a0f4766; BYTE $0x0c // pinsrb xmm11, byte [r14 + r11 + 27], 12 + QUAD $0x1b1e5c203a0f4566; BYTE $0x0d // pinsrb xmm11, byte [r14 + rbx + 27], 13 + QUAD $0x1b2e5c203a0f4766; BYTE $0x0e // pinsrb xmm11, byte [r14 + r13 + 27], 14 LONG $0x740f4566; BYTE $0xee // pcmpeqb xmm13, xmm14 QUAD $0x000100addf0f4466; BYTE $0x00 // pandn xmm13, oword 256[rbp] /* [rip + .LCPI5_16] */ LONG $0xfc0f4566; BYTE $0xec // paddb xmm13, xmm12 - QUAD $0x1b2e5c203a0f4766; BYTE $0x0f // pinsrb xmm11, byte [r14 + r13 + 27], 15 + QUAD $0x1b0e5c203a0f4566; BYTE $0x0f // pinsrb xmm11, byte [r14 + rcx + 27], 15 LONG $0x740f4166; BYTE $0xc6 // pcmpeqb xmm0, xmm14 QUAD $0x0000011085df0f66 // pandn xmm0, oword 272[rbp] /* [rip + .LCPI5_17] */ LONG $0x740f4566; BYTE $0xde // pcmpeqb xmm11, xmm14 @@ -28483,61 +29742,61 @@ LBB5_67: QUAD $0x1d064c203a0f4566; BYTE $0x04 // pinsrb xmm9, byte [r14 + rax + 29], 4 QUAD $0x1e0654203a0f4566; BYTE $0x04 // pinsrb xmm10, byte [r14 + rax + 30], 4 QUAD $0x1f0674203a0f4166; BYTE $0x04 // pinsrb xmm6, byte [r14 + rax + 31], 4 - WORD $0x8948; BYTE $0xd8 // mov rax, rbx - QUAD $0x1c1e7c203a0f4566; BYTE $0x05 // pinsrb xmm15, byte [r14 + rbx + 28], 5 - QUAD $0x1d1e4c203a0f4566; BYTE $0x05 // pinsrb xmm9, byte [r14 + rbx + 29], 5 - QUAD $0x1e1e54203a0f4566; BYTE $0x05 // pinsrb xmm10, byte [r14 + rbx + 30], 5 - QUAD $0x1f1e74203a0f4166; BYTE $0x05 // pinsrb xmm6, byte [r14 + rbx + 31], 5 + QUAD $0x1c267c203a0f4766; BYTE $0x05 // pinsrb xmm15, byte [r14 + r12 + 28], 5 + QUAD $0x1d264c203a0f4766; BYTE $0x05 // pinsrb xmm9, byte [r14 + r12 + 29], 5 + QUAD $0x1e2654203a0f4766; BYTE $0x05 // pinsrb xmm10, byte [r14 + r12 + 30], 5 + QUAD $0x1f2674203a0f4366; BYTE $0x05 // pinsrb xmm6, byte [r14 + r12 + 31], 5 WORD $0x894c; BYTE $0xd0 // mov rax, r10 QUAD $0x1c167c203a0f4766; BYTE $0x06 // pinsrb xmm15, byte [r14 + r10 + 28], 6 QUAD $0x1d164c203a0f4766; BYTE $0x06 // pinsrb xmm9, byte [r14 + r10 + 29], 6 QUAD $0x1e1654203a0f4766; BYTE $0x06 // pinsrb xmm10, byte [r14 + r10 + 30], 6 QUAD $0x1f1674203a0f4366; BYTE $0x06 // pinsrb xmm6, byte [r14 + r10 + 31], 6 + WORD $0x8948; BYTE $0xf8 // mov rax, rdi + QUAD $0x1c3e7c203a0f4566; BYTE $0x07 // pinsrb xmm15, byte [r14 + rdi + 28], 7 + QUAD $0x1d3e4c203a0f4566; BYTE $0x07 // pinsrb xmm9, byte [r14 + rdi + 29], 7 + QUAD $0x1e3e54203a0f4566; BYTE $0x07 // pinsrb xmm10, byte [r14 + rdi + 30], 7 + QUAD $0x1f3e74203a0f4166; BYTE $0x07 // pinsrb xmm6, byte [r14 + rdi + 31], 7 WORD $0x894c; BYTE $0xc8 // mov rax, r9 - QUAD $0x1c0e7c203a0f4766; BYTE $0x07 // pinsrb xmm15, byte [r14 + r9 + 28], 7 - QUAD $0x1d0e4c203a0f4766; BYTE $0x07 // pinsrb xmm9, byte [r14 + r9 + 29], 7 - QUAD $0x1e0e54203a0f4766; BYTE $0x07 // pinsrb xmm10, byte [r14 + r9 + 30], 7 - QUAD $0x1f0e74203a0f4366; BYTE $0x07 // pinsrb xmm6, byte [r14 + r9 + 31], 7 - QUAD $0x1c1e7c203a0f4766; BYTE $0x08 // pinsrb xmm15, byte [r14 + r11 + 28], 8 - QUAD $0x1d1e4c203a0f4766; BYTE $0x08 // pinsrb xmm9, byte [r14 + r11 + 29], 8 - QUAD $0x1e1e54203a0f4766; BYTE $0x08 // pinsrb xmm10, byte [r14 + r11 + 30], 8 - QUAD $0x1f1e74203a0f4366; BYTE $0x08 // pinsrb xmm6, byte [r14 + r11 + 31], 8 + QUAD $0x1c0e7c203a0f4766; BYTE $0x08 // pinsrb xmm15, byte [r14 + r9 + 28], 8 + QUAD $0x1d0e4c203a0f4766; BYTE $0x08 // pinsrb xmm9, byte [r14 + r9 + 29], 8 + QUAD $0x1e0e54203a0f4766; BYTE $0x08 // pinsrb xmm10, byte [r14 + r9 + 30], 8 + QUAD $0x1f0e74203a0f4366; BYTE $0x08 // pinsrb xmm6, byte [r14 + r9 + 31], 8 WORD $0x8948; BYTE $0xf0 // mov rax, rsi QUAD $0x1c367c203a0f4566; BYTE $0x09 // pinsrb xmm15, byte [r14 + rsi + 28], 9 QUAD $0x1d364c203a0f4566; BYTE $0x09 // pinsrb xmm9, byte [r14 + rsi + 29], 9 QUAD $0x1e3654203a0f4566; BYTE $0x09 // pinsrb xmm10, byte [r14 + rsi + 30], 9 QUAD $0x1f3674203a0f4166; BYTE $0x09 // pinsrb xmm6, byte [r14 + rsi + 31], 9 - QUAD $0x1c267c203a0f4766; BYTE $0x0a // pinsrb xmm15, byte [r14 + r12 + 28], 10 - QUAD $0x1d264c203a0f4766; BYTE $0x0a // pinsrb xmm9, byte [r14 + r12 + 29], 10 - QUAD $0x1e2654203a0f4766; BYTE $0x0a // pinsrb xmm10, byte [r14 + r12 + 30], 10 - QUAD $0x1f2674203a0f4366; BYTE $0x0a // pinsrb xmm6, byte [r14 + r12 + 31], 10 WORD $0x894c; BYTE $0xc0 // mov rax, r8 - QUAD $0x1c067c203a0f4766; BYTE $0x0b // pinsrb xmm15, byte [r14 + r8 + 28], 11 - QUAD $0x1d064c203a0f4766; BYTE $0x0b // pinsrb xmm9, byte [r14 + r8 + 29], 11 - QUAD $0x1e0654203a0f4766; BYTE $0x0b // pinsrb xmm10, byte [r14 + r8 + 30], 11 - QUAD $0x1f0674203a0f4366; BYTE $0x0b // pinsrb xmm6, byte [r14 + r8 + 31], 11 - WORD $0x8948; BYTE $0xf8 // mov rax, rdi - QUAD $0x1c3e7c203a0f4566; BYTE $0x0c // pinsrb xmm15, byte [r14 + rdi + 28], 12 - QUAD $0x1d3e4c203a0f4566; BYTE $0x0c // pinsrb xmm9, byte [r14 + rdi + 29], 12 - QUAD $0x1e3e54203a0f4566; BYTE $0x0c // pinsrb xmm10, byte [r14 + rdi + 30], 12 - QUAD $0x1f3e74203a0f4166; BYTE $0x0c // pinsrb xmm6, byte [r14 + rdi + 31], 12 + QUAD $0x1c067c203a0f4766; BYTE $0x0a // pinsrb xmm15, byte [r14 + r8 + 28], 10 + QUAD $0x1d064c203a0f4766; BYTE $0x0a // pinsrb xmm9, byte [r14 + r8 + 29], 10 + QUAD $0x1e0654203a0f4766; BYTE $0x0a // pinsrb xmm10, byte [r14 + r8 + 30], 10 + QUAD $0x1f0674203a0f4366; BYTE $0x0a // pinsrb xmm6, byte [r14 + r8 + 31], 10 WORD $0x8948; BYTE $0xd0 // mov rax, rdx - QUAD $0x1c167c203a0f4566; BYTE $0x0d // pinsrb xmm15, byte [r14 + rdx + 28], 13 - QUAD $0x1d164c203a0f4566; BYTE $0x0d // pinsrb xmm9, byte [r14 + rdx + 29], 13 - QUAD $0x1e1654203a0f4566; BYTE $0x0d // pinsrb xmm10, byte [r14 + rdx + 30], 13 - QUAD $0x1f1674203a0f4166; BYTE $0x0d // pinsrb xmm6, byte [r14 + rdx + 31], 13 - WORD $0x8948; BYTE $0xc8 // mov rax, rcx - QUAD $0x1c0e7c203a0f4566; BYTE $0x0e // pinsrb xmm15, byte [r14 + rcx + 28], 14 - QUAD $0x1d0e4c203a0f4566; BYTE $0x0e // pinsrb xmm9, byte [r14 + rcx + 29], 14 - QUAD $0x1e0e54203a0f4566; BYTE $0x0e // pinsrb xmm10, byte [r14 + rcx + 30], 14 - QUAD $0x1f0e74203a0f4166; BYTE $0x0e // pinsrb xmm6, byte [r14 + rcx + 31], 14 - QUAD $0x1c2e7c203a0f4766; BYTE $0x0f // pinsrb xmm15, byte [r14 + r13 + 28], 15 - QUAD $0x1d2e4c203a0f4766; BYTE $0x0f // pinsrb xmm9, byte [r14 + r13 + 29], 15 - QUAD $0x1e2e54203a0f4766; BYTE $0x0f // pinsrb xmm10, byte [r14 + r13 + 30], 15 + QUAD $0x1c167c203a0f4566; BYTE $0x0b // pinsrb xmm15, byte [r14 + rdx + 28], 11 + QUAD $0x1d164c203a0f4566; BYTE $0x0b // pinsrb xmm9, byte [r14 + rdx + 29], 11 + QUAD $0x1e1654203a0f4566; BYTE $0x0b // pinsrb xmm10, byte [r14 + rdx + 30], 11 + QUAD $0x1f1674203a0f4166; BYTE $0x0b // pinsrb xmm6, byte [r14 + rdx + 31], 11 + WORD $0x894c; BYTE $0xd8 // mov rax, r11 + QUAD $0x1c1e7c203a0f4766; BYTE $0x0c // pinsrb xmm15, byte [r14 + r11 + 28], 12 + QUAD $0x1d1e4c203a0f4766; BYTE $0x0c // pinsrb xmm9, byte [r14 + r11 + 29], 12 + QUAD $0x1e1e54203a0f4766; BYTE $0x0c // pinsrb xmm10, byte [r14 + r11 + 30], 12 + QUAD $0x1f1e74203a0f4366; BYTE $0x0c // pinsrb xmm6, byte [r14 + r11 + 31], 12 + QUAD $0x1c1e7c203a0f4566; BYTE $0x0d // pinsrb xmm15, byte [r14 + rbx + 28], 13 + QUAD $0x1d1e4c203a0f4566; BYTE $0x0d // pinsrb xmm9, byte [r14 + rbx + 29], 13 + QUAD $0x1e1e54203a0f4566; BYTE $0x0d // pinsrb xmm10, byte [r14 + rbx + 30], 13 + QUAD $0x1f1e74203a0f4166; BYTE $0x0d // pinsrb xmm6, byte [r14 + rbx + 31], 13 + WORD $0x894c; BYTE $0xe8 // mov rax, r13 + QUAD $0x1c2e7c203a0f4766; BYTE $0x0e // pinsrb xmm15, byte [r14 + r13 + 28], 14 + QUAD $0x1d2e4c203a0f4766; BYTE $0x0e // pinsrb xmm9, byte [r14 + r13 + 29], 14 + QUAD $0x1e2e54203a0f4766; BYTE $0x0e // pinsrb xmm10, byte [r14 + r13 + 30], 14 + QUAD $0x1f2e74203a0f4366; BYTE $0x0e // pinsrb xmm6, byte [r14 + r13 + 31], 14 + QUAD $0x1c0e7c203a0f4566; BYTE $0x0f // pinsrb xmm15, byte [r14 + rcx + 28], 15 + QUAD $0x1d0e4c203a0f4566; BYTE $0x0f // pinsrb xmm9, byte [r14 + rcx + 29], 15 + QUAD $0x1e0e54203a0f4566; BYTE $0x0f // pinsrb xmm10, byte [r14 + rcx + 30], 15 LONG $0x740f4566; BYTE $0xfe // pcmpeqb xmm15, xmm14 QUAD $0x000130bddf0f4466; BYTE $0x00 // pandn xmm15, oword 304[rbp] /* [rip + .LCPI5_19] */ LONG $0xeb0f4566; BYTE $0xfb // por xmm15, xmm11 - QUAD $0x1f2e74203a0f4366; BYTE $0x0f // pinsrb xmm6, byte [r14 + r13 + 31], 15 + QUAD $0x1f0e74203a0f4166; BYTE $0x0f // pinsrb xmm6, byte [r14 + rcx + 31], 15 QUAD $0x000160adf80f4466; BYTE $0x00 // psubb xmm13, oword 352[rbp] /* [rip + .LCPI5_22] */ LONG $0xeb0f4566; BYTE $0xfd // por xmm15, xmm13 LONG $0x740f4566; BYTE $0xce // pcmpeqb xmm9, xmm14 @@ -28551,7 +29810,7 @@ LBB5_67: LONG $0xeb0f4166; BYTE $0xf7 // por xmm6, xmm15 LONG $0x6f0f4166; BYTE $0xc0 // movdqa xmm0, xmm8 LONG $0xc6600f66 // punpcklbw xmm0, xmm6 - QUAD $0x000100249c6f0f66; BYTE $0x00 // movdqa xmm3, oword [rsp + 256] + QUAD $0x0000f0249c6f0f66; BYTE $0x00 // movdqa xmm3, oword [rsp + 240] LONG $0xcb6f0f66 // movdqa xmm1, xmm3 QUAD $0x0000c024a46f0f66; BYTE $0x00 // movdqa xmm4, oword [rsp + 192] LONG $0xcc600f66 // punpcklbw xmm1, xmm4 @@ -28571,23 +29830,23 @@ LBB5_67: LONG $0x147f0ff3; BYTE $0x88 // movdqu oword [rax + 4*rcx], xmm2 LONG $0x10c18348 // add rcx, 16 WORD $0x8948; BYTE $0xc8 // mov rax, rcx - QUAD $0x000000d8248c3b48 // cmp rcx, qword [rsp + 216] - JNE LBB5_67 - QUAD $0x000000f824948b4c // mov r10, qword [rsp + 248] - QUAD $0x000000d824943b4c // cmp r10, qword [rsp + 216] + QUAD $0x000000e8248c3b48 // cmp rcx, qword [rsp + 232] + JNE LBB5_68 + QUAD $0x0000010824948b4c // mov r10, qword [rsp + 264] + QUAD $0x000000e824943b4c // cmp r10, qword [rsp + 232] QUAD $0x0000011024b48b4c // mov r14, qword [rsp + 272] QUAD $0x000000a024bc8b4c // mov r15, qword [rsp + 160] - JNE LBB5_69 - JMP LBB5_72 + JNE LBB5_70 + JMP LBB5_73 -LBB5_109: +LBB5_110: LONG $0xf8e28349 // and r10, -8 WORD $0x894c; BYTE $0xd0 // mov rax, r10 LONG $0x06e0c148 // shl rax, 6 WORD $0x014c; BYTE $0xf0 // add rax, r14 LONG $0x24448948; BYTE $0x30 // mov qword [rsp + 48], rax + LONG $0x2454894c; BYTE $0x28 // mov qword [rsp + 40], r10 LONG $0x24448b48; BYTE $0x08 // mov rax, qword [rsp + 8] - LONG $0x2454894c; BYTE $0x18 // mov qword [rsp + 24], r10 LONG $0x90048d4a // lea rax, [rax + 4*r10] LONG $0x24448948; BYTE $0x38 // mov qword [rsp + 56], rax LONG $0x6e0f4166; BYTE $0xc3 // movd xmm0, r11d @@ -28596,13 +29855,13 @@ LBB5_109: WORD $0xff31 // xor edi, edi LONG $0xef0f4566; BYTE $0xc9 // pxor xmm9, xmm9 -LBB5_110: +LBB5_111: LONG $0x247c8948; BYTE $0x40 // mov qword [rsp + 64], rdi LONG $0x06e7c148 // shl rdi, 6 WORD $0x8949; BYTE $0xff // mov r15, rdi WORD $0x8948; BYTE $0xfe // mov rsi, rdi + WORD $0x8949; BYTE $0xfc // mov r12, rdi WORD $0x8948; BYTE $0xfa // mov rdx, rdi - WORD $0x8949; BYTE $0xfd // mov r13, rdi WORD $0x8948; BYTE $0xfb // mov rbx, rdi WORD $0x8949; BYTE $0xf9 // mov r9, rdi LONG $0x04b70f41; BYTE $0x3e // movzx eax, word [r14 + rdi] @@ -28620,39 +29879,39 @@ LBB5_110: LONG $0x44b70f41; WORD $0x0c3e // movzx eax, word [r14 + rdi + 12] LONG $0x44b70f45; WORD $0x0e3e // movzx r8d, word [r14 + rdi + 14] LONG $0x54b70f45; WORD $0x103e // movzx r10d, word [r14 + rdi + 16] - LONG $0x64b70f45; WORD $0x123e // movzx r12d, word [r14 + rdi + 18] + LONG $0x6cb70f45; WORD $0x123e // movzx r13d, word [r14 + rdi + 18] LONG $0x4cb70f41; WORD $0x143e // movzx ecx, word [r14 + rdi + 20] - LONG $0x28244c89 // mov dword [rsp + 40], ecx + LONG $0x20244c89 // mov dword [rsp + 32], ecx WORD $0x8948; BYTE $0xf9 // mov rcx, rdi LONG $0x40c98348 // or rcx, 64 LONG $0x80cf8149; WORD $0x0000; BYTE $0x00 // or r15, 128 LONG $0xc0ce8148; WORD $0x0000; BYTE $0x00 // or rsi, 192 - LONG $0x00ca8148; WORD $0x0001; BYTE $0x00 // or rdx, 256 - LONG $0x40cd8149; WORD $0x0001; BYTE $0x00 // or r13, 320 + LONG $0x00cc8149; WORD $0x0001; BYTE $0x00 // or r12, 256 + LONG $0x40ca8148; WORD $0x0001; BYTE $0x00 // or rdx, 320 LONG $0x80cb8148; WORD $0x0001; BYTE $0x00 // or rbx, 384 LONG $0xc40f4166; WORD $0x0e2c; BYTE $0x01 // pinsrw xmm5, word [r14 + rcx], 1 LONG $0xc40f4366; WORD $0x3e2c; BYTE $0x02 // pinsrw xmm5, word [r14 + r15], 2 LONG $0xc40f4166; WORD $0x362c; BYTE $0x03 // pinsrw xmm5, word [r14 + rsi], 3 - LONG $0xc40f4166; WORD $0x162c; BYTE $0x04 // pinsrw xmm5, word [r14 + rdx], 4 - LONG $0xc40f4366; WORD $0x2e2c; BYTE $0x05 // pinsrw xmm5, word [r14 + r13], 5 + LONG $0xc40f4366; WORD $0x262c; BYTE $0x04 // pinsrw xmm5, word [r14 + r12], 4 + LONG $0xc40f4166; WORD $0x162c; BYTE $0x05 // pinsrw xmm5, word [r14 + rdx], 5 LONG $0xc40f4166; WORD $0x1e2c; BYTE $0x06 // pinsrw xmm5, word [r14 + rbx], 6 QUAD $0x01020e44c40f4166 // pinsrw xmm0, word [r14 + rcx + 2], 1 QUAD $0x02023e44c40f4366 // pinsrw xmm0, word [r14 + r15 + 2], 2 QUAD $0x03023644c40f4166 // pinsrw xmm0, word [r14 + rsi + 2], 3 - QUAD $0x04021644c40f4166 // pinsrw xmm0, word [r14 + rdx + 2], 4 - QUAD $0x05022e44c40f4366 // pinsrw xmm0, word [r14 + r13 + 2], 5 + QUAD $0x04022644c40f4366 // pinsrw xmm0, word [r14 + r12 + 2], 4 + QUAD $0x05021644c40f4166 // pinsrw xmm0, word [r14 + rdx + 2], 5 QUAD $0x06021e44c40f4166 // pinsrw xmm0, word [r14 + rbx + 2], 6 LONG $0xc0c98149; WORD $0x0001; BYTE $0x00 // or r9, 448 QUAD $0x07020e44c40f4366 // pinsrw xmm0, word [r14 + r9 + 2], 7 LONG $0xd06e0f66 // movd xmm2, eax LONG $0x44b70f41; WORD $0x163e // movzx eax, word [r14 + rdi + 22] - LONG $0x20244489 // mov dword [rsp + 32], eax + LONG $0x18244489 // mov dword [rsp + 24], eax LONG $0x750f4166; BYTE $0xc3 // pcmpeqw xmm0, xmm11 QUAD $0x01040e4cc40f4166 // pinsrw xmm1, word [r14 + rcx + 4], 1 QUAD $0x02043e4cc40f4366 // pinsrw xmm1, word [r14 + r15 + 4], 2 QUAD $0x0304364cc40f4166 // pinsrw xmm1, word [r14 + rsi + 4], 3 - QUAD $0x0404164cc40f4166 // pinsrw xmm1, word [r14 + rdx + 4], 4 - QUAD $0x05042e4cc40f4366 // pinsrw xmm1, word [r14 + r13 + 4], 5 + QUAD $0x0404264cc40f4366 // pinsrw xmm1, word [r14 + r12 + 4], 4 + QUAD $0x0504164cc40f4166 // pinsrw xmm1, word [r14 + rdx + 4], 5 QUAD $0x06041e4cc40f4166 // pinsrw xmm1, word [r14 + rbx + 4], 6 QUAD $0x07040e4cc40f4366 // pinsrw xmm1, word [r14 + r9 + 4], 7 LONG $0xc0630f66 // packsswb xmm0, xmm0 @@ -28675,8 +29934,8 @@ LBB5_110: QUAD $0x01060e7cc40f4166 // pinsrw xmm7, word [r14 + rcx + 6], 1 QUAD $0x02063e7cc40f4366 // pinsrw xmm7, word [r14 + r15 + 6], 2 QUAD $0x0306367cc40f4166 // pinsrw xmm7, word [r14 + rsi + 6], 3 - QUAD $0x0406167cc40f4166 // pinsrw xmm7, word [r14 + rdx + 6], 4 - QUAD $0x05062e7cc40f4366 // pinsrw xmm7, word [r14 + r13 + 6], 5 + QUAD $0x0406267cc40f4366 // pinsrw xmm7, word [r14 + r12 + 6], 4 + QUAD $0x0506167cc40f4166 // pinsrw xmm7, word [r14 + rdx + 6], 5 QUAD $0x06061e7cc40f4166 // pinsrw xmm7, word [r14 + rbx + 6], 6 QUAD $0x07060e7cc40f4366 // pinsrw xmm7, word [r14 + r9 + 6], 7 LONG $0x750f4166; BYTE $0xfb // pcmpeqw xmm7, xmm11 @@ -28684,8 +29943,8 @@ LBB5_110: QUAD $0x01080e44c40f4566 // pinsrw xmm8, word [r14 + rcx + 8], 1 QUAD $0x02083e44c40f4766 // pinsrw xmm8, word [r14 + r15 + 8], 2 QUAD $0x03083644c40f4566 // pinsrw xmm8, word [r14 + rsi + 8], 3 - QUAD $0x04081644c40f4566 // pinsrw xmm8, word [r14 + rdx + 8], 4 - QUAD $0x05082e44c40f4766 // pinsrw xmm8, word [r14 + r13 + 8], 5 + QUAD $0x04082644c40f4766 // pinsrw xmm8, word [r14 + r12 + 8], 4 + QUAD $0x05081644c40f4566 // pinsrw xmm8, word [r14 + rdx + 8], 5 QUAD $0x06081e44c40f4566 // pinsrw xmm8, word [r14 + rbx + 8], 6 QUAD $0x07080e44c40f4766 // pinsrw xmm8, word [r14 + r9 + 8], 7 LONG $0xddf80f66 // psubb xmm3, xmm5 @@ -28700,13 +29959,13 @@ LBB5_110: QUAD $0x0000b0ad6f0f4466; BYTE $0x00 // movdqa xmm13, oword 176[rbp] /* [rip + .LCPI5_11] */ LONG $0x6f0f4166; BYTE $0xc0 // movdqa xmm0, xmm8 LONG $0x380f4566; WORD $0xe910 // pblendvb xmm13, xmm9, xmm0 - LONG $0x6e0f4166; BYTE $0xf4 // movd xmm6, r12d - LONG $0x64b70f45; WORD $0x1c3e // movzx r12d, word [r14 + rdi + 28] + LONG $0x6e0f4166; BYTE $0xf5 // movd xmm6, r13d + LONG $0x6cb70f45; WORD $0x1c3e // movzx r13d, word [r14 + rdi + 28] QUAD $0x010a0e64c40f4166 // pinsrw xmm4, word [r14 + rcx + 10], 1 QUAD $0x020a3e64c40f4366 // pinsrw xmm4, word [r14 + r15 + 10], 2 QUAD $0x030a3664c40f4166 // pinsrw xmm4, word [r14 + rsi + 10], 3 - QUAD $0x040a1664c40f4166 // pinsrw xmm4, word [r14 + rdx + 10], 4 - QUAD $0x050a2e64c40f4366 // pinsrw xmm4, word [r14 + r13 + 10], 5 + QUAD $0x040a2664c40f4366 // pinsrw xmm4, word [r14 + r12 + 10], 4 + QUAD $0x050a1664c40f4166 // pinsrw xmm4, word [r14 + rdx + 10], 5 QUAD $0x060a1e64c40f4166 // pinsrw xmm4, word [r14 + rbx + 10], 6 QUAD $0x070a0e64c40f4366 // pinsrw xmm4, word [r14 + r9 + 10], 7 LONG $0x750f4166; BYTE $0xe3 // pcmpeqw xmm4, xmm11 @@ -28714,14 +29973,14 @@ LBB5_110: QUAD $0x010c0e54c40f4166 // pinsrw xmm2, word [r14 + rcx + 12], 1 QUAD $0x020c3e54c40f4366 // pinsrw xmm2, word [r14 + r15 + 12], 2 QUAD $0x030c3654c40f4166 // pinsrw xmm2, word [r14 + rsi + 12], 3 - QUAD $0x040c1654c40f4166 // pinsrw xmm2, word [r14 + rdx + 12], 4 - QUAD $0x050c2e54c40f4366 // pinsrw xmm2, word [r14 + r13 + 12], 5 + QUAD $0x040c2654c40f4366 // pinsrw xmm2, word [r14 + r12 + 12], 4 + QUAD $0x050c1654c40f4166 // pinsrw xmm2, word [r14 + rdx + 12], 5 QUAD $0x060c1e54c40f4166 // pinsrw xmm2, word [r14 + rbx + 12], 6 LONG $0xeb0f4466; BYTE $0xe3 // por xmm12, xmm3 QUAD $0x000000c0ad6f0f66 // movdqa xmm5, oword 192[rbp] /* [rip + .LCPI5_12] */ LONG $0xc46f0f66 // movdqa xmm0, xmm4 LONG $0x380f4166; WORD $0xe910 // pblendvb xmm5, xmm9, xmm0 - LONG $0x646e0f66; WORD $0x2824 // movd xmm4, dword [rsp + 40] + LONG $0x646e0f66; WORD $0x2024 // movd xmm4, dword [rsp + 32] LONG $0x54b70f45; WORD $0x1e3e // movzx r10d, word [r14 + rdi + 30] QUAD $0x070c0e54c40f4366 // pinsrw xmm2, word [r14 + r9 + 12], 7 LONG $0x750f4166; BYTE $0xd3 // pcmpeqw xmm2, xmm11 @@ -28730,26 +29989,26 @@ LBB5_110: QUAD $0x0000d0ad6f0f4466; BYTE $0x00 // movdqa xmm13, oword 208[rbp] /* [rip + .LCPI5_13] */ LONG $0xc26f0f66 // movdqa xmm0, xmm2 LONG $0x380f4566; WORD $0xe910 // pblendvb xmm13, xmm9, xmm0 - LONG $0x5c6e0f66; WORD $0x2024 // movd xmm3, dword [rsp + 32] + LONG $0x5c6e0f66; WORD $0x1824 // movd xmm3, dword [rsp + 24] LONG $0x44b70f41; WORD $0x203e // movzx eax, word [r14 + rdi + 32] - LONG $0x20244489 // mov dword [rsp + 32], eax + LONG $0x18244489 // mov dword [rsp + 24], eax QUAD $0x010e0e4cc40f4166 // pinsrw xmm1, word [r14 + rcx + 14], 1 QUAD $0x020e3e4cc40f4366 // pinsrw xmm1, word [r14 + r15 + 14], 2 QUAD $0x030e364cc40f4166 // pinsrw xmm1, word [r14 + rsi + 14], 3 - QUAD $0x040e164cc40f4166 // pinsrw xmm1, word [r14 + rdx + 14], 4 - QUAD $0x050e2e4cc40f4366 // pinsrw xmm1, word [r14 + r13 + 14], 5 + QUAD $0x040e264cc40f4366 // pinsrw xmm1, word [r14 + r12 + 14], 4 + QUAD $0x050e164cc40f4166 // pinsrw xmm1, word [r14 + rdx + 14], 5 QUAD $0x060e1e4cc40f4166 // pinsrw xmm1, word [r14 + rbx + 14], 6 LONG $0xeb0f4466; BYTE $0xed // por xmm13, xmm5 LONG $0x6e0f4166; BYTE $0xd3 // movd xmm2, r11d LONG $0x44b70f41; WORD $0x223e // movzx eax, word [r14 + rdi + 34] - LONG $0x28244489 // mov dword [rsp + 40], eax + LONG $0x20244489 // mov dword [rsp + 32], eax QUAD $0x070e0e4cc40f4366 // pinsrw xmm1, word [r14 + r9 + 14], 7 LONG $0x750f4166; BYTE $0xcb // pcmpeqw xmm1, xmm11 QUAD $0x01120e74c40f4166 // pinsrw xmm6, word [r14 + rcx + 18], 1 QUAD $0x02123e74c40f4366 // pinsrw xmm6, word [r14 + r15 + 18], 2 QUAD $0x03123674c40f4166 // pinsrw xmm6, word [r14 + rsi + 18], 3 - QUAD $0x04121674c40f4166 // pinsrw xmm6, word [r14 + rdx + 18], 4 - QUAD $0x05122e74c40f4366 // pinsrw xmm6, word [r14 + r13 + 18], 5 + QUAD $0x04122674c40f4366 // pinsrw xmm6, word [r14 + r12 + 18], 4 + QUAD $0x05121674c40f4166 // pinsrw xmm6, word [r14 + rdx + 18], 5 QUAD $0x06121e74c40f4166 // pinsrw xmm6, word [r14 + rbx + 18], 6 LONG $0xc9630f66 // packsswb xmm1, xmm1 QUAD $0x07120e74c40f4366 // pinsrw xmm6, word [r14 + r9 + 18], 7 @@ -28768,14 +30027,14 @@ LBB5_110: QUAD $0x01100e7cc40f4166 // pinsrw xmm7, word [r14 + rcx + 16], 1 QUAD $0x02103e7cc40f4366 // pinsrw xmm7, word [r14 + r15 + 16], 2 QUAD $0x0310367cc40f4166 // pinsrw xmm7, word [r14 + rsi + 16], 3 - QUAD $0x0410167cc40f4166 // pinsrw xmm7, word [r14 + rdx + 16], 4 - QUAD $0x05102e7cc40f4366 // pinsrw xmm7, word [r14 + r13 + 16], 5 + QUAD $0x0410267cc40f4366 // pinsrw xmm7, word [r14 + r12 + 16], 4 + QUAD $0x0510167cc40f4166 // pinsrw xmm7, word [r14 + rdx + 16], 5 QUAD $0x06101e7cc40f4166 // pinsrw xmm7, word [r14 + rbx + 16], 6 QUAD $0x01140e64c40f4166 // pinsrw xmm4, word [r14 + rcx + 20], 1 QUAD $0x02143e64c40f4366 // pinsrw xmm4, word [r14 + r15 + 20], 2 QUAD $0x03143664c40f4166 // pinsrw xmm4, word [r14 + rsi + 20], 3 - QUAD $0x04141664c40f4166 // pinsrw xmm4, word [r14 + rdx + 20], 4 - QUAD $0x05142e64c40f4366 // pinsrw xmm4, word [r14 + r13 + 20], 5 + QUAD $0x04142664c40f4366 // pinsrw xmm4, word [r14 + r12 + 20], 4 + QUAD $0x05141664c40f4166 // pinsrw xmm4, word [r14 + rdx + 20], 5 QUAD $0x06141e64c40f4166 // pinsrw xmm4, word [r14 + rbx + 20], 6 QUAD $0x07140e64c40f4366 // pinsrw xmm4, word [r14 + r9 + 20], 7 LONG $0x750f4166; BYTE $0xe3 // pcmpeqw xmm4, xmm11 @@ -28783,8 +30042,8 @@ LBB5_110: LONG $0xeb0f4566; BYTE $0xe5 // por xmm12, xmm13 LONG $0xc46f0f66 // movdqa xmm0, xmm4 LONG $0x380f4566; WORD $0xf910 // pblendvb xmm15, xmm9, xmm0 - LONG $0x6e0f4166; BYTE $0xe4 // movd xmm4, r12d - LONG $0x64b70f45; WORD $0x263e // movzx r12d, word [r14 + rdi + 38] + LONG $0x6e0f4166; BYTE $0xe5 // movd xmm4, r13d + LONG $0x6cb70f45; WORD $0x263e // movzx r13d, word [r14 + rdi + 38] QUAD $0x07100e7cc40f4366 // pinsrw xmm7, word [r14 + r9 + 16], 7 LONG $0x750f4166; BYTE $0xfb // pcmpeqw xmm7, xmm11 QUAD $0x00000160bdef0f66 // pxor xmm7, oword 352[rbp] /* [rip + .LCPI5_22] */ @@ -28792,8 +30051,8 @@ LBB5_110: QUAD $0x01160e5cc40f4166 // pinsrw xmm3, word [r14 + rcx + 22], 1 QUAD $0x02163e5cc40f4366 // pinsrw xmm3, word [r14 + r15 + 22], 2 QUAD $0x0316365cc40f4166 // pinsrw xmm3, word [r14 + rsi + 22], 3 - QUAD $0x0416165cc40f4166 // pinsrw xmm3, word [r14 + rdx + 22], 4 - QUAD $0x05162e5cc40f4366 // pinsrw xmm3, word [r14 + r13 + 22], 5 + QUAD $0x0416265cc40f4366 // pinsrw xmm3, word [r14 + r12 + 22], 4 + QUAD $0x0516165cc40f4166 // pinsrw xmm3, word [r14 + rdx + 22], 5 QUAD $0x06161e5cc40f4166 // pinsrw xmm3, word [r14 + rbx + 22], 6 QUAD $0x07160e5cc40f4366 // pinsrw xmm3, word [r14 + r9 + 22], 7 LONG $0x750f4166; BYTE $0xdb // pcmpeqw xmm3, xmm11 @@ -28801,8 +30060,8 @@ LBB5_110: QUAD $0x01180e54c40f4166 // pinsrw xmm2, word [r14 + rcx + 24], 1 QUAD $0x02183e54c40f4366 // pinsrw xmm2, word [r14 + r15 + 24], 2 QUAD $0x03183654c40f4166 // pinsrw xmm2, word [r14 + rsi + 24], 3 - QUAD $0x04181654c40f4166 // pinsrw xmm2, word [r14 + rdx + 24], 4 - QUAD $0x05182e54c40f4366 // pinsrw xmm2, word [r14 + r13 + 24], 5 + QUAD $0x04182654c40f4366 // pinsrw xmm2, word [r14 + r12 + 24], 4 + QUAD $0x05181654c40f4166 // pinsrw xmm2, word [r14 + rdx + 24], 5 QUAD $0x06181e54c40f4166 // pinsrw xmm2, word [r14 + rbx + 24], 6 QUAD $0x07180e54c40f4366 // pinsrw xmm2, word [r14 + r9 + 24], 7 LONG $0xf80f4466; BYTE $0xc7 // psubb xmm8, xmm7 @@ -28817,13 +30076,13 @@ LBB5_110: QUAD $0x0000b0ad6f0f4466; BYTE $0x00 // movdqa xmm13, oword 176[rbp] /* [rip + .LCPI5_11] */ LONG $0xc26f0f66 // movdqa xmm0, xmm2 LONG $0x380f4566; WORD $0xe910 // pblendvb xmm13, xmm9, xmm0 - LONG $0x7c6e0f66; WORD $0x2024 // movd xmm7, dword [rsp + 32] + LONG $0x7c6e0f66; WORD $0x1824 // movd xmm7, dword [rsp + 24] LONG $0x54b70f45; WORD $0x2a3e // movzx r10d, word [r14 + rdi + 42] QUAD $0x011a0e4cc40f4166 // pinsrw xmm1, word [r14 + rcx + 26], 1 QUAD $0x021a3e4cc40f4366 // pinsrw xmm1, word [r14 + r15 + 26], 2 QUAD $0x031a364cc40f4166 // pinsrw xmm1, word [r14 + rsi + 26], 3 - QUAD $0x041a164cc40f4166 // pinsrw xmm1, word [r14 + rdx + 26], 4 - QUAD $0x051a2e4cc40f4366 // pinsrw xmm1, word [r14 + r13 + 26], 5 + QUAD $0x041a264cc40f4366 // pinsrw xmm1, word [r14 + r12 + 26], 4 + QUAD $0x051a164cc40f4166 // pinsrw xmm1, word [r14 + rdx + 26], 5 QUAD $0x061a1e4cc40f4166 // pinsrw xmm1, word [r14 + rbx + 26], 6 QUAD $0x071a0e4cc40f4366 // pinsrw xmm1, word [r14 + r9 + 26], 7 LONG $0x750f4166; BYTE $0xcb // pcmpeqw xmm1, xmm11 @@ -28831,17 +30090,17 @@ LBB5_110: QUAD $0x011c0e64c40f4166 // pinsrw xmm4, word [r14 + rcx + 28], 1 QUAD $0x021c3e64c40f4366 // pinsrw xmm4, word [r14 + r15 + 28], 2 QUAD $0x031c3664c40f4166 // pinsrw xmm4, word [r14 + rsi + 28], 3 - QUAD $0x041c1664c40f4166 // pinsrw xmm4, word [r14 + rdx + 28], 4 - QUAD $0x051c2e64c40f4366 // pinsrw xmm4, word [r14 + r13 + 28], 5 + QUAD $0x041c2664c40f4366 // pinsrw xmm4, word [r14 + r12 + 28], 4 + QUAD $0x051c1664c40f4166 // pinsrw xmm4, word [r14 + rdx + 28], 5 QUAD $0x061c1e64c40f4166 // pinsrw xmm4, word [r14 + rbx + 28], 6 LONG $0xeb0f4566; BYTE $0xf0 // por xmm14, xmm8 QUAD $0x0000c0bd6f0f4466; BYTE $0x00 // movdqa xmm15, oword 192[rbp] /* [rip + .LCPI5_12] */ LONG $0x6f0f4166; BYTE $0xef // movdqa xmm5, xmm15 LONG $0xc16f0f66 // movdqa xmm0, xmm1 LONG $0x380f4166; WORD $0xe910 // pblendvb xmm5, xmm9, xmm0 - LONG $0x546e0f66; WORD $0x2824 // movd xmm2, dword [rsp + 40] + LONG $0x546e0f66; WORD $0x2024 // movd xmm2, dword [rsp + 32] LONG $0x44b70f41; WORD $0x2c3e // movzx eax, word [r14 + rdi + 44] - LONG $0x20244489 // mov dword [rsp + 32], eax + LONG $0x18244489 // mov dword [rsp + 24], eax QUAD $0x071c0e64c40f4366 // pinsrw xmm4, word [r14 + r9 + 28], 7 LONG $0x750f4166; BYTE $0xe3 // pcmpeqw xmm4, xmm11 LONG $0xe4630f66 // packsswb xmm4, xmm4 @@ -28854,20 +30113,20 @@ LBB5_110: QUAD $0x011e0e5cc40f4166 // pinsrw xmm3, word [r14 + rcx + 30], 1 QUAD $0x021e3e5cc40f4366 // pinsrw xmm3, word [r14 + r15 + 30], 2 QUAD $0x031e365cc40f4166 // pinsrw xmm3, word [r14 + rsi + 30], 3 - QUAD $0x041e165cc40f4166 // pinsrw xmm3, word [r14 + rdx + 30], 4 - QUAD $0x051e2e5cc40f4366 // pinsrw xmm3, word [r14 + r13 + 30], 5 + QUAD $0x041e265cc40f4366 // pinsrw xmm3, word [r14 + r12 + 30], 4 + QUAD $0x051e165cc40f4166 // pinsrw xmm3, word [r14 + rdx + 30], 5 QUAD $0x061e1e5cc40f4166 // pinsrw xmm3, word [r14 + rbx + 30], 6 LONG $0xf5eb0f66 // por xmm6, xmm5 - LONG $0x6e0f4166; BYTE $0xcc // movd xmm1, r12d + LONG $0x6e0f4166; BYTE $0xcd // movd xmm1, r13d LONG $0x44b70f41; WORD $0x303e // movzx eax, word [r14 + rdi + 48] - LONG $0x28244489 // mov dword [rsp + 40], eax + LONG $0x20244489 // mov dword [rsp + 32], eax QUAD $0x071e0e5cc40f4366 // pinsrw xmm3, word [r14 + r9 + 30], 7 LONG $0x750f4166; BYTE $0xdb // pcmpeqw xmm3, xmm11 QUAD $0x01220e54c40f4166 // pinsrw xmm2, word [r14 + rcx + 34], 1 QUAD $0x02223e54c40f4366 // pinsrw xmm2, word [r14 + r15 + 34], 2 QUAD $0x03223654c40f4166 // pinsrw xmm2, word [r14 + rsi + 34], 3 - QUAD $0x04221654c40f4166 // pinsrw xmm2, word [r14 + rdx + 34], 4 - QUAD $0x05222e54c40f4366 // pinsrw xmm2, word [r14 + r13 + 34], 5 + QUAD $0x04222654c40f4366 // pinsrw xmm2, word [r14 + r12 + 34], 4 + QUAD $0x05221654c40f4166 // pinsrw xmm2, word [r14 + rdx + 34], 5 QUAD $0x06221e54c40f4166 // pinsrw xmm2, word [r14 + rbx + 34], 6 LONG $0xdb630f66 // packsswb xmm3, xmm3 QUAD $0x07220e54c40f4366 // pinsrw xmm2, word [r14 + r9 + 34], 7 @@ -28881,18 +30140,18 @@ LBB5_110: LONG $0xc26f0f66 // movdqa xmm0, xmm2 LONG $0x380f4566; WORD $0xc110 // pblendvb xmm8, xmm9, xmm0 LONG $0x6e0f4166; BYTE $0xd0 // movd xmm2, r8d - LONG $0x64b70f45; WORD $0x323e // movzx r12d, word [r14 + rdi + 50] + LONG $0x6cb70f45; WORD $0x323e // movzx r13d, word [r14 + rdi + 50] QUAD $0x01200e7cc40f4166 // pinsrw xmm7, word [r14 + rcx + 32], 1 QUAD $0x02203e7cc40f4366 // pinsrw xmm7, word [r14 + r15 + 32], 2 QUAD $0x0320367cc40f4166 // pinsrw xmm7, word [r14 + rsi + 32], 3 - QUAD $0x0420167cc40f4166 // pinsrw xmm7, word [r14 + rdx + 32], 4 - QUAD $0x05202e7cc40f4366 // pinsrw xmm7, word [r14 + r13 + 32], 5 + QUAD $0x0420267cc40f4366 // pinsrw xmm7, word [r14 + r12 + 32], 4 + QUAD $0x0520167cc40f4166 // pinsrw xmm7, word [r14 + rdx + 32], 5 QUAD $0x06201e7cc40f4166 // pinsrw xmm7, word [r14 + rbx + 32], 6 QUAD $0x01240e64c40f4166 // pinsrw xmm4, word [r14 + rcx + 36], 1 QUAD $0x02243e64c40f4366 // pinsrw xmm4, word [r14 + r15 + 36], 2 QUAD $0x03243664c40f4166 // pinsrw xmm4, word [r14 + rsi + 36], 3 - QUAD $0x04241664c40f4166 // pinsrw xmm4, word [r14 + rdx + 36], 4 - QUAD $0x05242e64c40f4366 // pinsrw xmm4, word [r14 + r13 + 36], 5 + QUAD $0x04242664c40f4366 // pinsrw xmm4, word [r14 + r12 + 36], 4 + QUAD $0x05241664c40f4166 // pinsrw xmm4, word [r14 + rdx + 36], 5 QUAD $0x06241e64c40f4166 // pinsrw xmm4, word [r14 + rbx + 36], 6 QUAD $0x07240e64c40f4366 // pinsrw xmm4, word [r14 + r9 + 36], 7 LONG $0x750f4166; BYTE $0xe3 // pcmpeqw xmm4, xmm11 @@ -28911,8 +30170,8 @@ LBB5_110: QUAD $0x01260e4cc40f4166 // pinsrw xmm1, word [r14 + rcx + 38], 1 QUAD $0x02263e4cc40f4366 // pinsrw xmm1, word [r14 + r15 + 38], 2 QUAD $0x0326364cc40f4166 // pinsrw xmm1, word [r14 + rsi + 38], 3 - QUAD $0x0426164cc40f4166 // pinsrw xmm1, word [r14 + rdx + 38], 4 - QUAD $0x05262e4cc40f4366 // pinsrw xmm1, word [r14 + r13 + 38], 5 + QUAD $0x0426264cc40f4366 // pinsrw xmm1, word [r14 + r12 + 38], 4 + QUAD $0x0526164cc40f4166 // pinsrw xmm1, word [r14 + rdx + 38], 5 QUAD $0x06261e4cc40f4166 // pinsrw xmm1, word [r14 + rbx + 38], 6 QUAD $0x07260e4cc40f4366 // pinsrw xmm1, word [r14 + r9 + 38], 7 LONG $0x750f4166; BYTE $0xcb // pcmpeqw xmm1, xmm11 @@ -28920,15 +30179,15 @@ LBB5_110: QUAD $0x01280e54c40f4166 // pinsrw xmm2, word [r14 + rcx + 40], 1 QUAD $0x02283e54c40f4366 // pinsrw xmm2, word [r14 + r15 + 40], 2 QUAD $0x03283654c40f4166 // pinsrw xmm2, word [r14 + rsi + 40], 3 - QUAD $0x04281654c40f4166 // pinsrw xmm2, word [r14 + rdx + 40], 4 - QUAD $0x05282e54c40f4366 // pinsrw xmm2, word [r14 + r13 + 40], 5 + QUAD $0x04282654c40f4366 // pinsrw xmm2, word [r14 + r12 + 40], 4 + QUAD $0x05281654c40f4166 // pinsrw xmm2, word [r14 + rdx + 40], 5 QUAD $0x06281e54c40f4166 // pinsrw xmm2, word [r14 + rbx + 40], 6 QUAD $0x07280e54c40f4366 // pinsrw xmm2, word [r14 + r9 + 40], 7 LONG $0xf80f4466; BYTE $0xc7 // psubb xmm8, xmm7 QUAD $0x000000a0ad6f0f66 // movdqa xmm5, oword 160[rbp] /* [rip + .LCPI5_10] */ LONG $0xc16f0f66 // movdqa xmm0, xmm1 LONG $0x380f4166; WORD $0xe910 // pblendvb xmm5, xmm9, xmm0 - LONG $0x4c6e0f66; WORD $0x2024 // movd xmm1, dword [rsp + 32] + LONG $0x4c6e0f66; WORD $0x1824 // movd xmm1, dword [rsp + 24] LONG $0x44b70f45; WORD $0x363e // movzx r8d, word [r14 + rdi + 54] LONG $0x750f4166; BYTE $0xd3 // pcmpeqw xmm2, xmm11 LONG $0xd2630f66 // packsswb xmm2, xmm2 @@ -28941,8 +30200,8 @@ LBB5_110: QUAD $0x012a0e5cc40f4166 // pinsrw xmm3, word [r14 + rcx + 42], 1 QUAD $0x022a3e5cc40f4366 // pinsrw xmm3, word [r14 + r15 + 42], 2 QUAD $0x032a365cc40f4166 // pinsrw xmm3, word [r14 + rsi + 42], 3 - QUAD $0x042a165cc40f4166 // pinsrw xmm3, word [r14 + rdx + 42], 4 - QUAD $0x052a2e5cc40f4366 // pinsrw xmm3, word [r14 + r13 + 42], 5 + QUAD $0x042a265cc40f4366 // pinsrw xmm3, word [r14 + r12 + 42], 4 + QUAD $0x052a165cc40f4166 // pinsrw xmm3, word [r14 + rdx + 42], 5 QUAD $0x062a1e5cc40f4166 // pinsrw xmm3, word [r14 + rbx + 42], 6 QUAD $0x072a0e5cc40f4366 // pinsrw xmm3, word [r14 + r9 + 42], 7 LONG $0x750f4166; BYTE $0xdb // pcmpeqw xmm3, xmm11 @@ -28950,14 +30209,14 @@ LBB5_110: QUAD $0x012c0e4cc40f4166 // pinsrw xmm1, word [r14 + rcx + 44], 1 QUAD $0x022c3e4cc40f4366 // pinsrw xmm1, word [r14 + r15 + 44], 2 QUAD $0x032c364cc40f4166 // pinsrw xmm1, word [r14 + rsi + 44], 3 - QUAD $0x042c164cc40f4166 // pinsrw xmm1, word [r14 + rdx + 44], 4 - QUAD $0x052c2e4cc40f4366 // pinsrw xmm1, word [r14 + r13 + 44], 5 + QUAD $0x042c264cc40f4366 // pinsrw xmm1, word [r14 + r12 + 44], 4 + QUAD $0x052c164cc40f4166 // pinsrw xmm1, word [r14 + rdx + 44], 5 QUAD $0x062c1e4cc40f4166 // pinsrw xmm1, word [r14 + rbx + 44], 6 LONG $0xeb0f4166; BYTE $0xe8 // por xmm5, xmm8 LONG $0x6f0f4166; BYTE $0xd7 // movdqa xmm2, xmm15 LONG $0xc36f0f66 // movdqa xmm0, xmm3 LONG $0x380f4166; WORD $0xd110 // pblendvb xmm2, xmm9, xmm0 - LONG $0x7c6e0f66; WORD $0x2824 // movd xmm7, dword [rsp + 40] + LONG $0x7c6e0f66; WORD $0x2024 // movd xmm7, dword [rsp + 32] LONG $0x5cb70f45; WORD $0x3a3e // movzx r11d, word [r14 + rdi + 58] QUAD $0x072c0e4cc40f4366 // pinsrw xmm1, word [r14 + r9 + 44], 7 LONG $0x750f4166; BYTE $0xcb // pcmpeqw xmm1, xmm11 @@ -28967,15 +30226,15 @@ LBB5_110: LONG $0x6f0f4166; BYTE $0xf7 // movdqa xmm6, xmm15 LONG $0xc16f0f66 // movdqa xmm0, xmm1 LONG $0x380f4166; WORD $0xf110 // pblendvb xmm6, xmm9, xmm0 - LONG $0x6e0f4166; BYTE $0xcc // movd xmm1, r12d - LONG $0x64b70f45; WORD $0x3c3e // movzx r12d, word [r14 + rdi + 60] + LONG $0x6e0f4166; BYTE $0xcd // movd xmm1, r13d + LONG $0x6cb70f45; WORD $0x3c3e // movzx r13d, word [r14 + rdi + 60] LONG $0xf2eb0f66 // por xmm6, xmm2 LONG $0x6e0f4166; BYTE $0xd2 // movd xmm2, r10d QUAD $0x012e0e64c40f4166 // pinsrw xmm4, word [r14 + rcx + 46], 1 QUAD $0x022e3e64c40f4366 // pinsrw xmm4, word [r14 + r15 + 46], 2 QUAD $0x032e3664c40f4166 // pinsrw xmm4, word [r14 + rsi + 46], 3 - QUAD $0x042e1664c40f4166 // pinsrw xmm4, word [r14 + rdx + 46], 4 - QUAD $0x052e2e64c40f4366 // pinsrw xmm4, word [r14 + r13 + 46], 5 + QUAD $0x042e2664c40f4366 // pinsrw xmm4, word [r14 + r12 + 46], 4 + QUAD $0x052e1664c40f4166 // pinsrw xmm4, word [r14 + rdx + 46], 5 QUAD $0x062e1e64c40f4166 // pinsrw xmm4, word [r14 + rbx + 46], 6 QUAD $0x072e0e64c40f4366 // pinsrw xmm4, word [r14 + r9 + 46], 7 LONG $0x750f4166; BYTE $0xe3 // pcmpeqw xmm4, xmm11 @@ -28988,8 +30247,8 @@ LBB5_110: QUAD $0x01320e4cc40f4166 // pinsrw xmm1, word [r14 + rcx + 50], 1 QUAD $0x02323e4cc40f4366 // pinsrw xmm1, word [r14 + r15 + 50], 2 QUAD $0x0332364cc40f4166 // pinsrw xmm1, word [r14 + rsi + 50], 3 - QUAD $0x0432164cc40f4166 // pinsrw xmm1, word [r14 + rdx + 50], 4 - QUAD $0x05322e4cc40f4366 // pinsrw xmm1, word [r14 + r13 + 50], 5 + QUAD $0x0432264cc40f4366 // pinsrw xmm1, word [r14 + r12 + 50], 4 + QUAD $0x0532164cc40f4166 // pinsrw xmm1, word [r14 + rdx + 50], 5 QUAD $0x06321e4cc40f4166 // pinsrw xmm1, word [r14 + rbx + 50], 6 QUAD $0x07320e4cc40f4366 // pinsrw xmm1, word [r14 + r9 + 50], 7 LONG $0x750f4166; BYTE $0xcb // pcmpeqw xmm1, xmm11 @@ -29002,8 +30261,8 @@ LBB5_110: QUAD $0x01300e7cc40f4166 // pinsrw xmm7, word [r14 + rcx + 48], 1 QUAD $0x02303e7cc40f4366 // pinsrw xmm7, word [r14 + r15 + 48], 2 QUAD $0x0330367cc40f4166 // pinsrw xmm7, word [r14 + rsi + 48], 3 - QUAD $0x0430167cc40f4166 // pinsrw xmm7, word [r14 + rdx + 48], 4 - QUAD $0x05302e7cc40f4366 // pinsrw xmm7, word [r14 + r13 + 48], 5 + QUAD $0x0430267cc40f4366 // pinsrw xmm7, word [r14 + r12 + 48], 4 + QUAD $0x0530167cc40f4166 // pinsrw xmm7, word [r14 + rdx + 48], 5 QUAD $0x06301e7cc40f4166 // pinsrw xmm7, word [r14 + rbx + 48], 6 QUAD $0x07300e7cc40f4366 // pinsrw xmm7, word [r14 + r9 + 48], 7 LONG $0x750f4166; BYTE $0xfb // pcmpeqw xmm7, xmm11 @@ -29011,8 +30270,8 @@ LBB5_110: QUAD $0x01340e54c40f4166 // pinsrw xmm2, word [r14 + rcx + 52], 1 QUAD $0x02343e54c40f4366 // pinsrw xmm2, word [r14 + r15 + 52], 2 QUAD $0x03343654c40f4166 // pinsrw xmm2, word [r14 + rsi + 52], 3 - QUAD $0x04341654c40f4166 // pinsrw xmm2, word [r14 + rdx + 52], 4 - QUAD $0x05342e54c40f4366 // pinsrw xmm2, word [r14 + r13 + 52], 5 + QUAD $0x04342654c40f4366 // pinsrw xmm2, word [r14 + r12 + 52], 4 + QUAD $0x05341654c40f4166 // pinsrw xmm2, word [r14 + rdx + 52], 5 QUAD $0x06341e54c40f4166 // pinsrw xmm2, word [r14 + rbx + 52], 6 LONG $0xff630f66 // packsswb xmm7, xmm7 QUAD $0x07340e54c40f4366 // pinsrw xmm2, word [r14 + r9 + 52], 7 @@ -29020,8 +30279,8 @@ LBB5_110: QUAD $0x01360e5cc40f4166 // pinsrw xmm3, word [r14 + rcx + 54], 1 QUAD $0x02363e5cc40f4366 // pinsrw xmm3, word [r14 + r15 + 54], 2 QUAD $0x0336365cc40f4166 // pinsrw xmm3, word [r14 + rsi + 54], 3 - QUAD $0x0436165cc40f4166 // pinsrw xmm3, word [r14 + rdx + 54], 4 - QUAD $0x05362e5cc40f4366 // pinsrw xmm3, word [r14 + r13 + 54], 5 + QUAD $0x0436265cc40f4366 // pinsrw xmm3, word [r14 + r12 + 54], 4 + QUAD $0x0536165cc40f4166 // pinsrw xmm3, word [r14 + rdx + 54], 5 QUAD $0x06361e5cc40f4166 // pinsrw xmm3, word [r14 + rbx + 54], 6 LONG $0xd2630f66 // packsswb xmm2, xmm2 QUAD $0x07360e5cc40f4366 // pinsrw xmm3, word [r14 + r9 + 54], 7 @@ -29029,8 +30288,8 @@ LBB5_110: QUAD $0x01380e4cc40f4166 // pinsrw xmm1, word [r14 + rcx + 56], 1 QUAD $0x02383e4cc40f4366 // pinsrw xmm1, word [r14 + r15 + 56], 2 QUAD $0x0338364cc40f4166 // pinsrw xmm1, word [r14 + rsi + 56], 3 - QUAD $0x0438164cc40f4166 // pinsrw xmm1, word [r14 + rdx + 56], 4 - QUAD $0x05382e4cc40f4366 // pinsrw xmm1, word [r14 + r13 + 56], 5 + QUAD $0x0438264cc40f4366 // pinsrw xmm1, word [r14 + r12 + 56], 4 + QUAD $0x0538164cc40f4166 // pinsrw xmm1, word [r14 + rdx + 56], 5 QUAD $0x06381e4cc40f4166 // pinsrw xmm1, word [r14 + rbx + 56], 6 LONG $0xdb630f66 // packsswb xmm3, xmm3 QUAD $0x07380e4cc40f4366 // pinsrw xmm1, word [r14 + r9 + 56], 7 @@ -29046,20 +30305,20 @@ LBB5_110: QUAD $0x013a0e54c40f4166 // pinsrw xmm2, word [r14 + rcx + 58], 1 QUAD $0x023a3e54c40f4366 // pinsrw xmm2, word [r14 + r15 + 58], 2 QUAD $0x033a3654c40f4166 // pinsrw xmm2, word [r14 + rsi + 58], 3 - QUAD $0x043a1654c40f4166 // pinsrw xmm2, word [r14 + rdx + 58], 4 - QUAD $0x053a2e54c40f4366 // pinsrw xmm2, word [r14 + r13 + 58], 5 + QUAD $0x043a2654c40f4366 // pinsrw xmm2, word [r14 + r12 + 58], 4 + QUAD $0x053a1654c40f4166 // pinsrw xmm2, word [r14 + rdx + 58], 5 QUAD $0x063a1e54c40f4166 // pinsrw xmm2, word [r14 + rbx + 58], 6 QUAD $0x073a0e54c40f4366 // pinsrw xmm2, word [r14 + r9 + 58], 7 LONG $0xc9630f66 // packsswb xmm1, xmm1 LONG $0x750f4166; BYTE $0xd3 // pcmpeqw xmm2, xmm11 LONG $0xf5eb0f66 // por xmm6, xmm5 - LONG $0x6e0f4166; BYTE $0xdc // movd xmm3, r12d + LONG $0x6e0f4166; BYTE $0xdd // movd xmm3, r13d LONG $0x24448b4c; BYTE $0x08 // mov r8, qword [rsp + 8] QUAD $0x013c0e5cc40f4166 // pinsrw xmm3, word [r14 + rcx + 60], 1 QUAD $0x023c3e5cc40f4366 // pinsrw xmm3, word [r14 + r15 + 60], 2 QUAD $0x033c365cc40f4166 // pinsrw xmm3, word [r14 + rsi + 60], 3 - QUAD $0x043c165cc40f4166 // pinsrw xmm3, word [r14 + rdx + 60], 4 - QUAD $0x053c2e5cc40f4366 // pinsrw xmm3, word [r14 + r13 + 60], 5 + QUAD $0x043c265cc40f4366 // pinsrw xmm3, word [r14 + r12 + 60], 4 + QUAD $0x053c165cc40f4166 // pinsrw xmm3, word [r14 + rdx + 60], 5 QUAD $0x063c1e5cc40f4166 // pinsrw xmm3, word [r14 + rbx + 60], 6 LONG $0xd2630f66 // packsswb xmm2, xmm2 QUAD $0x073c0e5cc40f4366 // pinsrw xmm3, word [r14 + r9 + 60], 7 @@ -29082,8 +30341,8 @@ LBB5_110: QUAD $0x013e0e44c40f4166 // pinsrw xmm0, word [r14 + rcx + 62], 1 QUAD $0x023e3e44c40f4366 // pinsrw xmm0, word [r14 + r15 + 62], 2 QUAD $0x033e3644c40f4166 // pinsrw xmm0, word [r14 + rsi + 62], 3 - QUAD $0x043e1644c40f4166 // pinsrw xmm0, word [r14 + rdx + 62], 4 - QUAD $0x053e2e44c40f4366 // pinsrw xmm0, word [r14 + r13 + 62], 5 + QUAD $0x043e2644c40f4366 // pinsrw xmm0, word [r14 + r12 + 62], 4 + QUAD $0x053e1644c40f4166 // pinsrw xmm0, word [r14 + rdx + 62], 5 QUAD $0x063e1e44c40f4166 // pinsrw xmm0, word [r14 + rbx + 62], 6 QUAD $0x073e0e44c40f4366 // pinsrw xmm0, word [r14 + r9 + 62], 7 LONG $0x750f4166; BYTE $0xc3 // pcmpeqw xmm0, xmm11 @@ -29108,25 +30367,25 @@ LBB5_110: LONG $0x7f0f41f3; WORD $0x8844; BYTE $0x10 // movdqu oword [r8 + 4*rcx + 16], xmm0 LONG $0x08c18348 // add rcx, 8 WORD $0x8948; BYTE $0xcf // mov rdi, rcx - LONG $0x244c3b48; BYTE $0x18 // cmp rcx, qword [rsp + 24] - JNE LBB5_110 - QUAD $0x000000e024948b4c // mov r10, qword [rsp + 224] - LONG $0x24543b4c; BYTE $0x18 // cmp r10, qword [rsp + 24] + LONG $0x244c3b48; BYTE $0x28 // cmp rcx, qword [rsp + 40] + JNE LBB5_111 + QUAD $0x000000d024948b4c // mov r10, qword [rsp + 208] + LONG $0x24543b4c; BYTE $0x28 // cmp r10, qword [rsp + 40] QUAD $0x000000a024bc8b4c // mov r15, qword [rsp + 160] LONG $0x245c8b44; BYTE $0x10 // mov r11d, dword [rsp + 16] LONG $0x24648b4c; BYTE $0x38 // mov r12, qword [rsp + 56] LONG $0x24748b4c; BYTE $0x30 // mov r14, qword [rsp + 48] - JNE LBB5_112 - JMP LBB5_115 + JNE LBB5_113 + JMP LBB5_116 -LBB5_132: +LBB5_133: LONG $0xf8e28349 // and r10, -8 WORD $0x894c; BYTE $0xd0 // mov rax, r10 LONG $0x06e0c148 // shl rax, 6 WORD $0x014c; BYTE $0xf0 // add rax, r14 LONG $0x24448948; BYTE $0x30 // mov qword [rsp + 48], rax + LONG $0x2454894c; BYTE $0x28 // mov qword [rsp + 40], r10 LONG $0x24448b48; BYTE $0x08 // mov rax, qword [rsp + 8] - LONG $0x2454894c; BYTE $0x18 // mov qword [rsp + 24], r10 LONG $0x90048d4a // lea rax, [rax + 4*r10] LONG $0x24448948; BYTE $0x38 // mov qword [rsp + 56], rax LONG $0x6e0f4166; BYTE $0xc3 // movd xmm0, r11d @@ -29135,13 +30394,13 @@ LBB5_132: WORD $0xff31 // xor edi, edi LONG $0xef0f4566; BYTE $0xc9 // pxor xmm9, xmm9 -LBB5_133: +LBB5_134: LONG $0x247c8948; BYTE $0x40 // mov qword [rsp + 64], rdi LONG $0x06e7c148 // shl rdi, 6 WORD $0x8949; BYTE $0xff // mov r15, rdi WORD $0x8948; BYTE $0xfe // mov rsi, rdi + WORD $0x8949; BYTE $0xfc // mov r12, rdi WORD $0x8948; BYTE $0xfa // mov rdx, rdi - WORD $0x8949; BYTE $0xfd // mov r13, rdi WORD $0x8948; BYTE $0xfb // mov rbx, rdi WORD $0x8949; BYTE $0xf9 // mov r9, rdi LONG $0x04b70f41; BYTE $0x3e // movzx eax, word [r14 + rdi] @@ -29159,39 +30418,39 @@ LBB5_133: LONG $0x44b70f41; WORD $0x0c3e // movzx eax, word [r14 + rdi + 12] LONG $0x44b70f45; WORD $0x0e3e // movzx r8d, word [r14 + rdi + 14] LONG $0x54b70f45; WORD $0x103e // movzx r10d, word [r14 + rdi + 16] - LONG $0x64b70f45; WORD $0x123e // movzx r12d, word [r14 + rdi + 18] + LONG $0x6cb70f45; WORD $0x123e // movzx r13d, word [r14 + rdi + 18] LONG $0x4cb70f41; WORD $0x143e // movzx ecx, word [r14 + rdi + 20] - LONG $0x28244c89 // mov dword [rsp + 40], ecx + LONG $0x20244c89 // mov dword [rsp + 32], ecx WORD $0x8948; BYTE $0xf9 // mov rcx, rdi LONG $0x40c98348 // or rcx, 64 LONG $0x80cf8149; WORD $0x0000; BYTE $0x00 // or r15, 128 LONG $0xc0ce8148; WORD $0x0000; BYTE $0x00 // or rsi, 192 - LONG $0x00ca8148; WORD $0x0001; BYTE $0x00 // or rdx, 256 - LONG $0x40cd8149; WORD $0x0001; BYTE $0x00 // or r13, 320 + LONG $0x00cc8149; WORD $0x0001; BYTE $0x00 // or r12, 256 + LONG $0x40ca8148; WORD $0x0001; BYTE $0x00 // or rdx, 320 LONG $0x80cb8148; WORD $0x0001; BYTE $0x00 // or rbx, 384 LONG $0xc40f4166; WORD $0x0e2c; BYTE $0x01 // pinsrw xmm5, word [r14 + rcx], 1 LONG $0xc40f4366; WORD $0x3e2c; BYTE $0x02 // pinsrw xmm5, word [r14 + r15], 2 LONG $0xc40f4166; WORD $0x362c; BYTE $0x03 // pinsrw xmm5, word [r14 + rsi], 3 - LONG $0xc40f4166; WORD $0x162c; BYTE $0x04 // pinsrw xmm5, word [r14 + rdx], 4 - LONG $0xc40f4366; WORD $0x2e2c; BYTE $0x05 // pinsrw xmm5, word [r14 + r13], 5 + LONG $0xc40f4366; WORD $0x262c; BYTE $0x04 // pinsrw xmm5, word [r14 + r12], 4 + LONG $0xc40f4166; WORD $0x162c; BYTE $0x05 // pinsrw xmm5, word [r14 + rdx], 5 LONG $0xc40f4166; WORD $0x1e2c; BYTE $0x06 // pinsrw xmm5, word [r14 + rbx], 6 QUAD $0x01020e44c40f4166 // pinsrw xmm0, word [r14 + rcx + 2], 1 QUAD $0x02023e44c40f4366 // pinsrw xmm0, word [r14 + r15 + 2], 2 QUAD $0x03023644c40f4166 // pinsrw xmm0, word [r14 + rsi + 2], 3 - QUAD $0x04021644c40f4166 // pinsrw xmm0, word [r14 + rdx + 2], 4 - QUAD $0x05022e44c40f4366 // pinsrw xmm0, word [r14 + r13 + 2], 5 + QUAD $0x04022644c40f4366 // pinsrw xmm0, word [r14 + r12 + 2], 4 + QUAD $0x05021644c40f4166 // pinsrw xmm0, word [r14 + rdx + 2], 5 QUAD $0x06021e44c40f4166 // pinsrw xmm0, word [r14 + rbx + 2], 6 LONG $0xc0c98149; WORD $0x0001; BYTE $0x00 // or r9, 448 QUAD $0x07020e44c40f4366 // pinsrw xmm0, word [r14 + r9 + 2], 7 LONG $0xd06e0f66 // movd xmm2, eax LONG $0x44b70f41; WORD $0x163e // movzx eax, word [r14 + rdi + 22] - LONG $0x20244489 // mov dword [rsp + 32], eax + LONG $0x18244489 // mov dword [rsp + 24], eax LONG $0x750f4166; BYTE $0xc3 // pcmpeqw xmm0, xmm11 QUAD $0x01040e4cc40f4166 // pinsrw xmm1, word [r14 + rcx + 4], 1 QUAD $0x02043e4cc40f4366 // pinsrw xmm1, word [r14 + r15 + 4], 2 QUAD $0x0304364cc40f4166 // pinsrw xmm1, word [r14 + rsi + 4], 3 - QUAD $0x0404164cc40f4166 // pinsrw xmm1, word [r14 + rdx + 4], 4 - QUAD $0x05042e4cc40f4366 // pinsrw xmm1, word [r14 + r13 + 4], 5 + QUAD $0x0404264cc40f4366 // pinsrw xmm1, word [r14 + r12 + 4], 4 + QUAD $0x0504164cc40f4166 // pinsrw xmm1, word [r14 + rdx + 4], 5 QUAD $0x06041e4cc40f4166 // pinsrw xmm1, word [r14 + rbx + 4], 6 QUAD $0x07040e4cc40f4366 // pinsrw xmm1, word [r14 + r9 + 4], 7 LONG $0xc0630f66 // packsswb xmm0, xmm0 @@ -29214,8 +30473,8 @@ LBB5_133: QUAD $0x01060e7cc40f4166 // pinsrw xmm7, word [r14 + rcx + 6], 1 QUAD $0x02063e7cc40f4366 // pinsrw xmm7, word [r14 + r15 + 6], 2 QUAD $0x0306367cc40f4166 // pinsrw xmm7, word [r14 + rsi + 6], 3 - QUAD $0x0406167cc40f4166 // pinsrw xmm7, word [r14 + rdx + 6], 4 - QUAD $0x05062e7cc40f4366 // pinsrw xmm7, word [r14 + r13 + 6], 5 + QUAD $0x0406267cc40f4366 // pinsrw xmm7, word [r14 + r12 + 6], 4 + QUAD $0x0506167cc40f4166 // pinsrw xmm7, word [r14 + rdx + 6], 5 QUAD $0x06061e7cc40f4166 // pinsrw xmm7, word [r14 + rbx + 6], 6 QUAD $0x07060e7cc40f4366 // pinsrw xmm7, word [r14 + r9 + 6], 7 LONG $0x750f4166; BYTE $0xfb // pcmpeqw xmm7, xmm11 @@ -29223,8 +30482,8 @@ LBB5_133: QUAD $0x01080e44c40f4566 // pinsrw xmm8, word [r14 + rcx + 8], 1 QUAD $0x02083e44c40f4766 // pinsrw xmm8, word [r14 + r15 + 8], 2 QUAD $0x03083644c40f4566 // pinsrw xmm8, word [r14 + rsi + 8], 3 - QUAD $0x04081644c40f4566 // pinsrw xmm8, word [r14 + rdx + 8], 4 - QUAD $0x05082e44c40f4766 // pinsrw xmm8, word [r14 + r13 + 8], 5 + QUAD $0x04082644c40f4766 // pinsrw xmm8, word [r14 + r12 + 8], 4 + QUAD $0x05081644c40f4566 // pinsrw xmm8, word [r14 + rdx + 8], 5 QUAD $0x06081e44c40f4566 // pinsrw xmm8, word [r14 + rbx + 8], 6 QUAD $0x07080e44c40f4766 // pinsrw xmm8, word [r14 + r9 + 8], 7 LONG $0xddf80f66 // psubb xmm3, xmm5 @@ -29239,13 +30498,13 @@ LBB5_133: QUAD $0x0000b0ad6f0f4466; BYTE $0x00 // movdqa xmm13, oword 176[rbp] /* [rip + .LCPI5_11] */ LONG $0x6f0f4166; BYTE $0xc0 // movdqa xmm0, xmm8 LONG $0x380f4566; WORD $0xe910 // pblendvb xmm13, xmm9, xmm0 - LONG $0x6e0f4166; BYTE $0xf4 // movd xmm6, r12d - LONG $0x64b70f45; WORD $0x1c3e // movzx r12d, word [r14 + rdi + 28] + LONG $0x6e0f4166; BYTE $0xf5 // movd xmm6, r13d + LONG $0x6cb70f45; WORD $0x1c3e // movzx r13d, word [r14 + rdi + 28] QUAD $0x010a0e64c40f4166 // pinsrw xmm4, word [r14 + rcx + 10], 1 QUAD $0x020a3e64c40f4366 // pinsrw xmm4, word [r14 + r15 + 10], 2 QUAD $0x030a3664c40f4166 // pinsrw xmm4, word [r14 + rsi + 10], 3 - QUAD $0x040a1664c40f4166 // pinsrw xmm4, word [r14 + rdx + 10], 4 - QUAD $0x050a2e64c40f4366 // pinsrw xmm4, word [r14 + r13 + 10], 5 + QUAD $0x040a2664c40f4366 // pinsrw xmm4, word [r14 + r12 + 10], 4 + QUAD $0x050a1664c40f4166 // pinsrw xmm4, word [r14 + rdx + 10], 5 QUAD $0x060a1e64c40f4166 // pinsrw xmm4, word [r14 + rbx + 10], 6 QUAD $0x070a0e64c40f4366 // pinsrw xmm4, word [r14 + r9 + 10], 7 LONG $0x750f4166; BYTE $0xe3 // pcmpeqw xmm4, xmm11 @@ -29253,14 +30512,14 @@ LBB5_133: QUAD $0x010c0e54c40f4166 // pinsrw xmm2, word [r14 + rcx + 12], 1 QUAD $0x020c3e54c40f4366 // pinsrw xmm2, word [r14 + r15 + 12], 2 QUAD $0x030c3654c40f4166 // pinsrw xmm2, word [r14 + rsi + 12], 3 - QUAD $0x040c1654c40f4166 // pinsrw xmm2, word [r14 + rdx + 12], 4 - QUAD $0x050c2e54c40f4366 // pinsrw xmm2, word [r14 + r13 + 12], 5 + QUAD $0x040c2654c40f4366 // pinsrw xmm2, word [r14 + r12 + 12], 4 + QUAD $0x050c1654c40f4166 // pinsrw xmm2, word [r14 + rdx + 12], 5 QUAD $0x060c1e54c40f4166 // pinsrw xmm2, word [r14 + rbx + 12], 6 LONG $0xeb0f4466; BYTE $0xe3 // por xmm12, xmm3 QUAD $0x000000c0ad6f0f66 // movdqa xmm5, oword 192[rbp] /* [rip + .LCPI5_12] */ LONG $0xc46f0f66 // movdqa xmm0, xmm4 LONG $0x380f4166; WORD $0xe910 // pblendvb xmm5, xmm9, xmm0 - LONG $0x646e0f66; WORD $0x2824 // movd xmm4, dword [rsp + 40] + LONG $0x646e0f66; WORD $0x2024 // movd xmm4, dword [rsp + 32] LONG $0x54b70f45; WORD $0x1e3e // movzx r10d, word [r14 + rdi + 30] QUAD $0x070c0e54c40f4366 // pinsrw xmm2, word [r14 + r9 + 12], 7 LONG $0x750f4166; BYTE $0xd3 // pcmpeqw xmm2, xmm11 @@ -29269,26 +30528,26 @@ LBB5_133: QUAD $0x0000d0ad6f0f4466; BYTE $0x00 // movdqa xmm13, oword 208[rbp] /* [rip + .LCPI5_13] */ LONG $0xc26f0f66 // movdqa xmm0, xmm2 LONG $0x380f4566; WORD $0xe910 // pblendvb xmm13, xmm9, xmm0 - LONG $0x5c6e0f66; WORD $0x2024 // movd xmm3, dword [rsp + 32] + LONG $0x5c6e0f66; WORD $0x1824 // movd xmm3, dword [rsp + 24] LONG $0x44b70f41; WORD $0x203e // movzx eax, word [r14 + rdi + 32] - LONG $0x20244489 // mov dword [rsp + 32], eax + LONG $0x18244489 // mov dword [rsp + 24], eax QUAD $0x010e0e4cc40f4166 // pinsrw xmm1, word [r14 + rcx + 14], 1 QUAD $0x020e3e4cc40f4366 // pinsrw xmm1, word [r14 + r15 + 14], 2 QUAD $0x030e364cc40f4166 // pinsrw xmm1, word [r14 + rsi + 14], 3 - QUAD $0x040e164cc40f4166 // pinsrw xmm1, word [r14 + rdx + 14], 4 - QUAD $0x050e2e4cc40f4366 // pinsrw xmm1, word [r14 + r13 + 14], 5 + QUAD $0x040e264cc40f4366 // pinsrw xmm1, word [r14 + r12 + 14], 4 + QUAD $0x050e164cc40f4166 // pinsrw xmm1, word [r14 + rdx + 14], 5 QUAD $0x060e1e4cc40f4166 // pinsrw xmm1, word [r14 + rbx + 14], 6 LONG $0xeb0f4466; BYTE $0xed // por xmm13, xmm5 LONG $0x6e0f4166; BYTE $0xd3 // movd xmm2, r11d LONG $0x44b70f41; WORD $0x223e // movzx eax, word [r14 + rdi + 34] - LONG $0x28244489 // mov dword [rsp + 40], eax + LONG $0x20244489 // mov dword [rsp + 32], eax QUAD $0x070e0e4cc40f4366 // pinsrw xmm1, word [r14 + r9 + 14], 7 LONG $0x750f4166; BYTE $0xcb // pcmpeqw xmm1, xmm11 QUAD $0x01120e74c40f4166 // pinsrw xmm6, word [r14 + rcx + 18], 1 QUAD $0x02123e74c40f4366 // pinsrw xmm6, word [r14 + r15 + 18], 2 QUAD $0x03123674c40f4166 // pinsrw xmm6, word [r14 + rsi + 18], 3 - QUAD $0x04121674c40f4166 // pinsrw xmm6, word [r14 + rdx + 18], 4 - QUAD $0x05122e74c40f4366 // pinsrw xmm6, word [r14 + r13 + 18], 5 + QUAD $0x04122674c40f4366 // pinsrw xmm6, word [r14 + r12 + 18], 4 + QUAD $0x05121674c40f4166 // pinsrw xmm6, word [r14 + rdx + 18], 5 QUAD $0x06121e74c40f4166 // pinsrw xmm6, word [r14 + rbx + 18], 6 LONG $0xc9630f66 // packsswb xmm1, xmm1 QUAD $0x07120e74c40f4366 // pinsrw xmm6, word [r14 + r9 + 18], 7 @@ -29307,14 +30566,14 @@ LBB5_133: QUAD $0x01100e7cc40f4166 // pinsrw xmm7, word [r14 + rcx + 16], 1 QUAD $0x02103e7cc40f4366 // pinsrw xmm7, word [r14 + r15 + 16], 2 QUAD $0x0310367cc40f4166 // pinsrw xmm7, word [r14 + rsi + 16], 3 - QUAD $0x0410167cc40f4166 // pinsrw xmm7, word [r14 + rdx + 16], 4 - QUAD $0x05102e7cc40f4366 // pinsrw xmm7, word [r14 + r13 + 16], 5 + QUAD $0x0410267cc40f4366 // pinsrw xmm7, word [r14 + r12 + 16], 4 + QUAD $0x0510167cc40f4166 // pinsrw xmm7, word [r14 + rdx + 16], 5 QUAD $0x06101e7cc40f4166 // pinsrw xmm7, word [r14 + rbx + 16], 6 QUAD $0x01140e64c40f4166 // pinsrw xmm4, word [r14 + rcx + 20], 1 QUAD $0x02143e64c40f4366 // pinsrw xmm4, word [r14 + r15 + 20], 2 QUAD $0x03143664c40f4166 // pinsrw xmm4, word [r14 + rsi + 20], 3 - QUAD $0x04141664c40f4166 // pinsrw xmm4, word [r14 + rdx + 20], 4 - QUAD $0x05142e64c40f4366 // pinsrw xmm4, word [r14 + r13 + 20], 5 + QUAD $0x04142664c40f4366 // pinsrw xmm4, word [r14 + r12 + 20], 4 + QUAD $0x05141664c40f4166 // pinsrw xmm4, word [r14 + rdx + 20], 5 QUAD $0x06141e64c40f4166 // pinsrw xmm4, word [r14 + rbx + 20], 6 QUAD $0x07140e64c40f4366 // pinsrw xmm4, word [r14 + r9 + 20], 7 LONG $0x750f4166; BYTE $0xe3 // pcmpeqw xmm4, xmm11 @@ -29322,8 +30581,8 @@ LBB5_133: LONG $0xeb0f4566; BYTE $0xe5 // por xmm12, xmm13 LONG $0xc46f0f66 // movdqa xmm0, xmm4 LONG $0x380f4566; WORD $0xf910 // pblendvb xmm15, xmm9, xmm0 - LONG $0x6e0f4166; BYTE $0xe4 // movd xmm4, r12d - LONG $0x64b70f45; WORD $0x263e // movzx r12d, word [r14 + rdi + 38] + LONG $0x6e0f4166; BYTE $0xe5 // movd xmm4, r13d + LONG $0x6cb70f45; WORD $0x263e // movzx r13d, word [r14 + rdi + 38] QUAD $0x07100e7cc40f4366 // pinsrw xmm7, word [r14 + r9 + 16], 7 LONG $0x750f4166; BYTE $0xfb // pcmpeqw xmm7, xmm11 QUAD $0x00000160bdef0f66 // pxor xmm7, oword 352[rbp] /* [rip + .LCPI5_22] */ @@ -29331,8 +30590,8 @@ LBB5_133: QUAD $0x01160e5cc40f4166 // pinsrw xmm3, word [r14 + rcx + 22], 1 QUAD $0x02163e5cc40f4366 // pinsrw xmm3, word [r14 + r15 + 22], 2 QUAD $0x0316365cc40f4166 // pinsrw xmm3, word [r14 + rsi + 22], 3 - QUAD $0x0416165cc40f4166 // pinsrw xmm3, word [r14 + rdx + 22], 4 - QUAD $0x05162e5cc40f4366 // pinsrw xmm3, word [r14 + r13 + 22], 5 + QUAD $0x0416265cc40f4366 // pinsrw xmm3, word [r14 + r12 + 22], 4 + QUAD $0x0516165cc40f4166 // pinsrw xmm3, word [r14 + rdx + 22], 5 QUAD $0x06161e5cc40f4166 // pinsrw xmm3, word [r14 + rbx + 22], 6 QUAD $0x07160e5cc40f4366 // pinsrw xmm3, word [r14 + r9 + 22], 7 LONG $0x750f4166; BYTE $0xdb // pcmpeqw xmm3, xmm11 @@ -29340,8 +30599,8 @@ LBB5_133: QUAD $0x01180e54c40f4166 // pinsrw xmm2, word [r14 + rcx + 24], 1 QUAD $0x02183e54c40f4366 // pinsrw xmm2, word [r14 + r15 + 24], 2 QUAD $0x03183654c40f4166 // pinsrw xmm2, word [r14 + rsi + 24], 3 - QUAD $0x04181654c40f4166 // pinsrw xmm2, word [r14 + rdx + 24], 4 - QUAD $0x05182e54c40f4366 // pinsrw xmm2, word [r14 + r13 + 24], 5 + QUAD $0x04182654c40f4366 // pinsrw xmm2, word [r14 + r12 + 24], 4 + QUAD $0x05181654c40f4166 // pinsrw xmm2, word [r14 + rdx + 24], 5 QUAD $0x06181e54c40f4166 // pinsrw xmm2, word [r14 + rbx + 24], 6 QUAD $0x07180e54c40f4366 // pinsrw xmm2, word [r14 + r9 + 24], 7 LONG $0xf80f4466; BYTE $0xc7 // psubb xmm8, xmm7 @@ -29356,13 +30615,13 @@ LBB5_133: QUAD $0x0000b0ad6f0f4466; BYTE $0x00 // movdqa xmm13, oword 176[rbp] /* [rip + .LCPI5_11] */ LONG $0xc26f0f66 // movdqa xmm0, xmm2 LONG $0x380f4566; WORD $0xe910 // pblendvb xmm13, xmm9, xmm0 - LONG $0x7c6e0f66; WORD $0x2024 // movd xmm7, dword [rsp + 32] + LONG $0x7c6e0f66; WORD $0x1824 // movd xmm7, dword [rsp + 24] LONG $0x54b70f45; WORD $0x2a3e // movzx r10d, word [r14 + rdi + 42] QUAD $0x011a0e4cc40f4166 // pinsrw xmm1, word [r14 + rcx + 26], 1 QUAD $0x021a3e4cc40f4366 // pinsrw xmm1, word [r14 + r15 + 26], 2 QUAD $0x031a364cc40f4166 // pinsrw xmm1, word [r14 + rsi + 26], 3 - QUAD $0x041a164cc40f4166 // pinsrw xmm1, word [r14 + rdx + 26], 4 - QUAD $0x051a2e4cc40f4366 // pinsrw xmm1, word [r14 + r13 + 26], 5 + QUAD $0x041a264cc40f4366 // pinsrw xmm1, word [r14 + r12 + 26], 4 + QUAD $0x051a164cc40f4166 // pinsrw xmm1, word [r14 + rdx + 26], 5 QUAD $0x061a1e4cc40f4166 // pinsrw xmm1, word [r14 + rbx + 26], 6 QUAD $0x071a0e4cc40f4366 // pinsrw xmm1, word [r14 + r9 + 26], 7 LONG $0x750f4166; BYTE $0xcb // pcmpeqw xmm1, xmm11 @@ -29370,17 +30629,17 @@ LBB5_133: QUAD $0x011c0e64c40f4166 // pinsrw xmm4, word [r14 + rcx + 28], 1 QUAD $0x021c3e64c40f4366 // pinsrw xmm4, word [r14 + r15 + 28], 2 QUAD $0x031c3664c40f4166 // pinsrw xmm4, word [r14 + rsi + 28], 3 - QUAD $0x041c1664c40f4166 // pinsrw xmm4, word [r14 + rdx + 28], 4 - QUAD $0x051c2e64c40f4366 // pinsrw xmm4, word [r14 + r13 + 28], 5 + QUAD $0x041c2664c40f4366 // pinsrw xmm4, word [r14 + r12 + 28], 4 + QUAD $0x051c1664c40f4166 // pinsrw xmm4, word [r14 + rdx + 28], 5 QUAD $0x061c1e64c40f4166 // pinsrw xmm4, word [r14 + rbx + 28], 6 LONG $0xeb0f4566; BYTE $0xf0 // por xmm14, xmm8 QUAD $0x0000c0bd6f0f4466; BYTE $0x00 // movdqa xmm15, oword 192[rbp] /* [rip + .LCPI5_12] */ LONG $0x6f0f4166; BYTE $0xef // movdqa xmm5, xmm15 LONG $0xc16f0f66 // movdqa xmm0, xmm1 LONG $0x380f4166; WORD $0xe910 // pblendvb xmm5, xmm9, xmm0 - LONG $0x546e0f66; WORD $0x2824 // movd xmm2, dword [rsp + 40] + LONG $0x546e0f66; WORD $0x2024 // movd xmm2, dword [rsp + 32] LONG $0x44b70f41; WORD $0x2c3e // movzx eax, word [r14 + rdi + 44] - LONG $0x20244489 // mov dword [rsp + 32], eax + LONG $0x18244489 // mov dword [rsp + 24], eax QUAD $0x071c0e64c40f4366 // pinsrw xmm4, word [r14 + r9 + 28], 7 LONG $0x750f4166; BYTE $0xe3 // pcmpeqw xmm4, xmm11 LONG $0xe4630f66 // packsswb xmm4, xmm4 @@ -29393,20 +30652,20 @@ LBB5_133: QUAD $0x011e0e5cc40f4166 // pinsrw xmm3, word [r14 + rcx + 30], 1 QUAD $0x021e3e5cc40f4366 // pinsrw xmm3, word [r14 + r15 + 30], 2 QUAD $0x031e365cc40f4166 // pinsrw xmm3, word [r14 + rsi + 30], 3 - QUAD $0x041e165cc40f4166 // pinsrw xmm3, word [r14 + rdx + 30], 4 - QUAD $0x051e2e5cc40f4366 // pinsrw xmm3, word [r14 + r13 + 30], 5 + QUAD $0x041e265cc40f4366 // pinsrw xmm3, word [r14 + r12 + 30], 4 + QUAD $0x051e165cc40f4166 // pinsrw xmm3, word [r14 + rdx + 30], 5 QUAD $0x061e1e5cc40f4166 // pinsrw xmm3, word [r14 + rbx + 30], 6 LONG $0xf5eb0f66 // por xmm6, xmm5 - LONG $0x6e0f4166; BYTE $0xcc // movd xmm1, r12d + LONG $0x6e0f4166; BYTE $0xcd // movd xmm1, r13d LONG $0x44b70f41; WORD $0x303e // movzx eax, word [r14 + rdi + 48] - LONG $0x28244489 // mov dword [rsp + 40], eax + LONG $0x20244489 // mov dword [rsp + 32], eax QUAD $0x071e0e5cc40f4366 // pinsrw xmm3, word [r14 + r9 + 30], 7 LONG $0x750f4166; BYTE $0xdb // pcmpeqw xmm3, xmm11 QUAD $0x01220e54c40f4166 // pinsrw xmm2, word [r14 + rcx + 34], 1 QUAD $0x02223e54c40f4366 // pinsrw xmm2, word [r14 + r15 + 34], 2 QUAD $0x03223654c40f4166 // pinsrw xmm2, word [r14 + rsi + 34], 3 - QUAD $0x04221654c40f4166 // pinsrw xmm2, word [r14 + rdx + 34], 4 - QUAD $0x05222e54c40f4366 // pinsrw xmm2, word [r14 + r13 + 34], 5 + QUAD $0x04222654c40f4366 // pinsrw xmm2, word [r14 + r12 + 34], 4 + QUAD $0x05221654c40f4166 // pinsrw xmm2, word [r14 + rdx + 34], 5 QUAD $0x06221e54c40f4166 // pinsrw xmm2, word [r14 + rbx + 34], 6 LONG $0xdb630f66 // packsswb xmm3, xmm3 QUAD $0x07220e54c40f4366 // pinsrw xmm2, word [r14 + r9 + 34], 7 @@ -29420,18 +30679,18 @@ LBB5_133: LONG $0xc26f0f66 // movdqa xmm0, xmm2 LONG $0x380f4566; WORD $0xc110 // pblendvb xmm8, xmm9, xmm0 LONG $0x6e0f4166; BYTE $0xd0 // movd xmm2, r8d - LONG $0x64b70f45; WORD $0x323e // movzx r12d, word [r14 + rdi + 50] + LONG $0x6cb70f45; WORD $0x323e // movzx r13d, word [r14 + rdi + 50] QUAD $0x01200e7cc40f4166 // pinsrw xmm7, word [r14 + rcx + 32], 1 QUAD $0x02203e7cc40f4366 // pinsrw xmm7, word [r14 + r15 + 32], 2 QUAD $0x0320367cc40f4166 // pinsrw xmm7, word [r14 + rsi + 32], 3 - QUAD $0x0420167cc40f4166 // pinsrw xmm7, word [r14 + rdx + 32], 4 - QUAD $0x05202e7cc40f4366 // pinsrw xmm7, word [r14 + r13 + 32], 5 + QUAD $0x0420267cc40f4366 // pinsrw xmm7, word [r14 + r12 + 32], 4 + QUAD $0x0520167cc40f4166 // pinsrw xmm7, word [r14 + rdx + 32], 5 QUAD $0x06201e7cc40f4166 // pinsrw xmm7, word [r14 + rbx + 32], 6 QUAD $0x01240e64c40f4166 // pinsrw xmm4, word [r14 + rcx + 36], 1 QUAD $0x02243e64c40f4366 // pinsrw xmm4, word [r14 + r15 + 36], 2 QUAD $0x03243664c40f4166 // pinsrw xmm4, word [r14 + rsi + 36], 3 - QUAD $0x04241664c40f4166 // pinsrw xmm4, word [r14 + rdx + 36], 4 - QUAD $0x05242e64c40f4366 // pinsrw xmm4, word [r14 + r13 + 36], 5 + QUAD $0x04242664c40f4366 // pinsrw xmm4, word [r14 + r12 + 36], 4 + QUAD $0x05241664c40f4166 // pinsrw xmm4, word [r14 + rdx + 36], 5 QUAD $0x06241e64c40f4166 // pinsrw xmm4, word [r14 + rbx + 36], 6 QUAD $0x07240e64c40f4366 // pinsrw xmm4, word [r14 + r9 + 36], 7 LONG $0x750f4166; BYTE $0xe3 // pcmpeqw xmm4, xmm11 @@ -29450,8 +30709,8 @@ LBB5_133: QUAD $0x01260e4cc40f4166 // pinsrw xmm1, word [r14 + rcx + 38], 1 QUAD $0x02263e4cc40f4366 // pinsrw xmm1, word [r14 + r15 + 38], 2 QUAD $0x0326364cc40f4166 // pinsrw xmm1, word [r14 + rsi + 38], 3 - QUAD $0x0426164cc40f4166 // pinsrw xmm1, word [r14 + rdx + 38], 4 - QUAD $0x05262e4cc40f4366 // pinsrw xmm1, word [r14 + r13 + 38], 5 + QUAD $0x0426264cc40f4366 // pinsrw xmm1, word [r14 + r12 + 38], 4 + QUAD $0x0526164cc40f4166 // pinsrw xmm1, word [r14 + rdx + 38], 5 QUAD $0x06261e4cc40f4166 // pinsrw xmm1, word [r14 + rbx + 38], 6 QUAD $0x07260e4cc40f4366 // pinsrw xmm1, word [r14 + r9 + 38], 7 LONG $0x750f4166; BYTE $0xcb // pcmpeqw xmm1, xmm11 @@ -29459,15 +30718,15 @@ LBB5_133: QUAD $0x01280e54c40f4166 // pinsrw xmm2, word [r14 + rcx + 40], 1 QUAD $0x02283e54c40f4366 // pinsrw xmm2, word [r14 + r15 + 40], 2 QUAD $0x03283654c40f4166 // pinsrw xmm2, word [r14 + rsi + 40], 3 - QUAD $0x04281654c40f4166 // pinsrw xmm2, word [r14 + rdx + 40], 4 - QUAD $0x05282e54c40f4366 // pinsrw xmm2, word [r14 + r13 + 40], 5 + QUAD $0x04282654c40f4366 // pinsrw xmm2, word [r14 + r12 + 40], 4 + QUAD $0x05281654c40f4166 // pinsrw xmm2, word [r14 + rdx + 40], 5 QUAD $0x06281e54c40f4166 // pinsrw xmm2, word [r14 + rbx + 40], 6 QUAD $0x07280e54c40f4366 // pinsrw xmm2, word [r14 + r9 + 40], 7 LONG $0xf80f4466; BYTE $0xc7 // psubb xmm8, xmm7 QUAD $0x000000a0ad6f0f66 // movdqa xmm5, oword 160[rbp] /* [rip + .LCPI5_10] */ LONG $0xc16f0f66 // movdqa xmm0, xmm1 LONG $0x380f4166; WORD $0xe910 // pblendvb xmm5, xmm9, xmm0 - LONG $0x4c6e0f66; WORD $0x2024 // movd xmm1, dword [rsp + 32] + LONG $0x4c6e0f66; WORD $0x1824 // movd xmm1, dword [rsp + 24] LONG $0x44b70f45; WORD $0x363e // movzx r8d, word [r14 + rdi + 54] LONG $0x750f4166; BYTE $0xd3 // pcmpeqw xmm2, xmm11 LONG $0xd2630f66 // packsswb xmm2, xmm2 @@ -29480,8 +30739,8 @@ LBB5_133: QUAD $0x012a0e5cc40f4166 // pinsrw xmm3, word [r14 + rcx + 42], 1 QUAD $0x022a3e5cc40f4366 // pinsrw xmm3, word [r14 + r15 + 42], 2 QUAD $0x032a365cc40f4166 // pinsrw xmm3, word [r14 + rsi + 42], 3 - QUAD $0x042a165cc40f4166 // pinsrw xmm3, word [r14 + rdx + 42], 4 - QUAD $0x052a2e5cc40f4366 // pinsrw xmm3, word [r14 + r13 + 42], 5 + QUAD $0x042a265cc40f4366 // pinsrw xmm3, word [r14 + r12 + 42], 4 + QUAD $0x052a165cc40f4166 // pinsrw xmm3, word [r14 + rdx + 42], 5 QUAD $0x062a1e5cc40f4166 // pinsrw xmm3, word [r14 + rbx + 42], 6 QUAD $0x072a0e5cc40f4366 // pinsrw xmm3, word [r14 + r9 + 42], 7 LONG $0x750f4166; BYTE $0xdb // pcmpeqw xmm3, xmm11 @@ -29489,14 +30748,14 @@ LBB5_133: QUAD $0x012c0e4cc40f4166 // pinsrw xmm1, word [r14 + rcx + 44], 1 QUAD $0x022c3e4cc40f4366 // pinsrw xmm1, word [r14 + r15 + 44], 2 QUAD $0x032c364cc40f4166 // pinsrw xmm1, word [r14 + rsi + 44], 3 - QUAD $0x042c164cc40f4166 // pinsrw xmm1, word [r14 + rdx + 44], 4 - QUAD $0x052c2e4cc40f4366 // pinsrw xmm1, word [r14 + r13 + 44], 5 + QUAD $0x042c264cc40f4366 // pinsrw xmm1, word [r14 + r12 + 44], 4 + QUAD $0x052c164cc40f4166 // pinsrw xmm1, word [r14 + rdx + 44], 5 QUAD $0x062c1e4cc40f4166 // pinsrw xmm1, word [r14 + rbx + 44], 6 LONG $0xeb0f4166; BYTE $0xe8 // por xmm5, xmm8 LONG $0x6f0f4166; BYTE $0xd7 // movdqa xmm2, xmm15 LONG $0xc36f0f66 // movdqa xmm0, xmm3 LONG $0x380f4166; WORD $0xd110 // pblendvb xmm2, xmm9, xmm0 - LONG $0x7c6e0f66; WORD $0x2824 // movd xmm7, dword [rsp + 40] + LONG $0x7c6e0f66; WORD $0x2024 // movd xmm7, dword [rsp + 32] LONG $0x5cb70f45; WORD $0x3a3e // movzx r11d, word [r14 + rdi + 58] QUAD $0x072c0e4cc40f4366 // pinsrw xmm1, word [r14 + r9 + 44], 7 LONG $0x750f4166; BYTE $0xcb // pcmpeqw xmm1, xmm11 @@ -29506,15 +30765,15 @@ LBB5_133: LONG $0x6f0f4166; BYTE $0xf7 // movdqa xmm6, xmm15 LONG $0xc16f0f66 // movdqa xmm0, xmm1 LONG $0x380f4166; WORD $0xf110 // pblendvb xmm6, xmm9, xmm0 - LONG $0x6e0f4166; BYTE $0xcc // movd xmm1, r12d - LONG $0x64b70f45; WORD $0x3c3e // movzx r12d, word [r14 + rdi + 60] + LONG $0x6e0f4166; BYTE $0xcd // movd xmm1, r13d + LONG $0x6cb70f45; WORD $0x3c3e // movzx r13d, word [r14 + rdi + 60] LONG $0xf2eb0f66 // por xmm6, xmm2 LONG $0x6e0f4166; BYTE $0xd2 // movd xmm2, r10d QUAD $0x012e0e64c40f4166 // pinsrw xmm4, word [r14 + rcx + 46], 1 QUAD $0x022e3e64c40f4366 // pinsrw xmm4, word [r14 + r15 + 46], 2 QUAD $0x032e3664c40f4166 // pinsrw xmm4, word [r14 + rsi + 46], 3 - QUAD $0x042e1664c40f4166 // pinsrw xmm4, word [r14 + rdx + 46], 4 - QUAD $0x052e2e64c40f4366 // pinsrw xmm4, word [r14 + r13 + 46], 5 + QUAD $0x042e2664c40f4366 // pinsrw xmm4, word [r14 + r12 + 46], 4 + QUAD $0x052e1664c40f4166 // pinsrw xmm4, word [r14 + rdx + 46], 5 QUAD $0x062e1e64c40f4166 // pinsrw xmm4, word [r14 + rbx + 46], 6 QUAD $0x072e0e64c40f4366 // pinsrw xmm4, word [r14 + r9 + 46], 7 LONG $0x750f4166; BYTE $0xe3 // pcmpeqw xmm4, xmm11 @@ -29527,8 +30786,8 @@ LBB5_133: QUAD $0x01320e4cc40f4166 // pinsrw xmm1, word [r14 + rcx + 50], 1 QUAD $0x02323e4cc40f4366 // pinsrw xmm1, word [r14 + r15 + 50], 2 QUAD $0x0332364cc40f4166 // pinsrw xmm1, word [r14 + rsi + 50], 3 - QUAD $0x0432164cc40f4166 // pinsrw xmm1, word [r14 + rdx + 50], 4 - QUAD $0x05322e4cc40f4366 // pinsrw xmm1, word [r14 + r13 + 50], 5 + QUAD $0x0432264cc40f4366 // pinsrw xmm1, word [r14 + r12 + 50], 4 + QUAD $0x0532164cc40f4166 // pinsrw xmm1, word [r14 + rdx + 50], 5 QUAD $0x06321e4cc40f4166 // pinsrw xmm1, word [r14 + rbx + 50], 6 QUAD $0x07320e4cc40f4366 // pinsrw xmm1, word [r14 + r9 + 50], 7 LONG $0x750f4166; BYTE $0xcb // pcmpeqw xmm1, xmm11 @@ -29541,8 +30800,8 @@ LBB5_133: QUAD $0x01300e7cc40f4166 // pinsrw xmm7, word [r14 + rcx + 48], 1 QUAD $0x02303e7cc40f4366 // pinsrw xmm7, word [r14 + r15 + 48], 2 QUAD $0x0330367cc40f4166 // pinsrw xmm7, word [r14 + rsi + 48], 3 - QUAD $0x0430167cc40f4166 // pinsrw xmm7, word [r14 + rdx + 48], 4 - QUAD $0x05302e7cc40f4366 // pinsrw xmm7, word [r14 + r13 + 48], 5 + QUAD $0x0430267cc40f4366 // pinsrw xmm7, word [r14 + r12 + 48], 4 + QUAD $0x0530167cc40f4166 // pinsrw xmm7, word [r14 + rdx + 48], 5 QUAD $0x06301e7cc40f4166 // pinsrw xmm7, word [r14 + rbx + 48], 6 QUAD $0x07300e7cc40f4366 // pinsrw xmm7, word [r14 + r9 + 48], 7 LONG $0x750f4166; BYTE $0xfb // pcmpeqw xmm7, xmm11 @@ -29550,8 +30809,8 @@ LBB5_133: QUAD $0x01340e54c40f4166 // pinsrw xmm2, word [r14 + rcx + 52], 1 QUAD $0x02343e54c40f4366 // pinsrw xmm2, word [r14 + r15 + 52], 2 QUAD $0x03343654c40f4166 // pinsrw xmm2, word [r14 + rsi + 52], 3 - QUAD $0x04341654c40f4166 // pinsrw xmm2, word [r14 + rdx + 52], 4 - QUAD $0x05342e54c40f4366 // pinsrw xmm2, word [r14 + r13 + 52], 5 + QUAD $0x04342654c40f4366 // pinsrw xmm2, word [r14 + r12 + 52], 4 + QUAD $0x05341654c40f4166 // pinsrw xmm2, word [r14 + rdx + 52], 5 QUAD $0x06341e54c40f4166 // pinsrw xmm2, word [r14 + rbx + 52], 6 LONG $0xff630f66 // packsswb xmm7, xmm7 QUAD $0x07340e54c40f4366 // pinsrw xmm2, word [r14 + r9 + 52], 7 @@ -29559,8 +30818,8 @@ LBB5_133: QUAD $0x01360e5cc40f4166 // pinsrw xmm3, word [r14 + rcx + 54], 1 QUAD $0x02363e5cc40f4366 // pinsrw xmm3, word [r14 + r15 + 54], 2 QUAD $0x0336365cc40f4166 // pinsrw xmm3, word [r14 + rsi + 54], 3 - QUAD $0x0436165cc40f4166 // pinsrw xmm3, word [r14 + rdx + 54], 4 - QUAD $0x05362e5cc40f4366 // pinsrw xmm3, word [r14 + r13 + 54], 5 + QUAD $0x0436265cc40f4366 // pinsrw xmm3, word [r14 + r12 + 54], 4 + QUAD $0x0536165cc40f4166 // pinsrw xmm3, word [r14 + rdx + 54], 5 QUAD $0x06361e5cc40f4166 // pinsrw xmm3, word [r14 + rbx + 54], 6 LONG $0xd2630f66 // packsswb xmm2, xmm2 QUAD $0x07360e5cc40f4366 // pinsrw xmm3, word [r14 + r9 + 54], 7 @@ -29568,8 +30827,8 @@ LBB5_133: QUAD $0x01380e4cc40f4166 // pinsrw xmm1, word [r14 + rcx + 56], 1 QUAD $0x02383e4cc40f4366 // pinsrw xmm1, word [r14 + r15 + 56], 2 QUAD $0x0338364cc40f4166 // pinsrw xmm1, word [r14 + rsi + 56], 3 - QUAD $0x0438164cc40f4166 // pinsrw xmm1, word [r14 + rdx + 56], 4 - QUAD $0x05382e4cc40f4366 // pinsrw xmm1, word [r14 + r13 + 56], 5 + QUAD $0x0438264cc40f4366 // pinsrw xmm1, word [r14 + r12 + 56], 4 + QUAD $0x0538164cc40f4166 // pinsrw xmm1, word [r14 + rdx + 56], 5 QUAD $0x06381e4cc40f4166 // pinsrw xmm1, word [r14 + rbx + 56], 6 LONG $0xdb630f66 // packsswb xmm3, xmm3 QUAD $0x07380e4cc40f4366 // pinsrw xmm1, word [r14 + r9 + 56], 7 @@ -29585,20 +30844,20 @@ LBB5_133: QUAD $0x013a0e54c40f4166 // pinsrw xmm2, word [r14 + rcx + 58], 1 QUAD $0x023a3e54c40f4366 // pinsrw xmm2, word [r14 + r15 + 58], 2 QUAD $0x033a3654c40f4166 // pinsrw xmm2, word [r14 + rsi + 58], 3 - QUAD $0x043a1654c40f4166 // pinsrw xmm2, word [r14 + rdx + 58], 4 - QUAD $0x053a2e54c40f4366 // pinsrw xmm2, word [r14 + r13 + 58], 5 + QUAD $0x043a2654c40f4366 // pinsrw xmm2, word [r14 + r12 + 58], 4 + QUAD $0x053a1654c40f4166 // pinsrw xmm2, word [r14 + rdx + 58], 5 QUAD $0x063a1e54c40f4166 // pinsrw xmm2, word [r14 + rbx + 58], 6 QUAD $0x073a0e54c40f4366 // pinsrw xmm2, word [r14 + r9 + 58], 7 LONG $0xc9630f66 // packsswb xmm1, xmm1 LONG $0x750f4166; BYTE $0xd3 // pcmpeqw xmm2, xmm11 LONG $0xf5eb0f66 // por xmm6, xmm5 - LONG $0x6e0f4166; BYTE $0xdc // movd xmm3, r12d + LONG $0x6e0f4166; BYTE $0xdd // movd xmm3, r13d LONG $0x24448b4c; BYTE $0x08 // mov r8, qword [rsp + 8] QUAD $0x013c0e5cc40f4166 // pinsrw xmm3, word [r14 + rcx + 60], 1 QUAD $0x023c3e5cc40f4366 // pinsrw xmm3, word [r14 + r15 + 60], 2 QUAD $0x033c365cc40f4166 // pinsrw xmm3, word [r14 + rsi + 60], 3 - QUAD $0x043c165cc40f4166 // pinsrw xmm3, word [r14 + rdx + 60], 4 - QUAD $0x053c2e5cc40f4366 // pinsrw xmm3, word [r14 + r13 + 60], 5 + QUAD $0x043c265cc40f4366 // pinsrw xmm3, word [r14 + r12 + 60], 4 + QUAD $0x053c165cc40f4166 // pinsrw xmm3, word [r14 + rdx + 60], 5 QUAD $0x063c1e5cc40f4166 // pinsrw xmm3, word [r14 + rbx + 60], 6 LONG $0xd2630f66 // packsswb xmm2, xmm2 QUAD $0x073c0e5cc40f4366 // pinsrw xmm3, word [r14 + r9 + 60], 7 @@ -29621,8 +30880,8 @@ LBB5_133: QUAD $0x013e0e44c40f4166 // pinsrw xmm0, word [r14 + rcx + 62], 1 QUAD $0x023e3e44c40f4366 // pinsrw xmm0, word [r14 + r15 + 62], 2 QUAD $0x033e3644c40f4166 // pinsrw xmm0, word [r14 + rsi + 62], 3 - QUAD $0x043e1644c40f4166 // pinsrw xmm0, word [r14 + rdx + 62], 4 - QUAD $0x053e2e44c40f4366 // pinsrw xmm0, word [r14 + r13 + 62], 5 + QUAD $0x043e2644c40f4366 // pinsrw xmm0, word [r14 + r12 + 62], 4 + QUAD $0x053e1644c40f4166 // pinsrw xmm0, word [r14 + rdx + 62], 5 QUAD $0x063e1e44c40f4166 // pinsrw xmm0, word [r14 + rbx + 62], 6 QUAD $0x073e0e44c40f4366 // pinsrw xmm0, word [r14 + r9 + 62], 7 LONG $0x750f4166; BYTE $0xc3 // pcmpeqw xmm0, xmm11 @@ -29647,25 +30906,25 @@ LBB5_133: LONG $0x7f0f41f3; WORD $0x8844; BYTE $0x10 // movdqu oword [r8 + 4*rcx + 16], xmm0 LONG $0x08c18348 // add rcx, 8 WORD $0x8948; BYTE $0xcf // mov rdi, rcx - LONG $0x244c3b48; BYTE $0x18 // cmp rcx, qword [rsp + 24] - JNE LBB5_133 - QUAD $0x000000e024948b4c // mov r10, qword [rsp + 224] - LONG $0x24543b4c; BYTE $0x18 // cmp r10, qword [rsp + 24] + LONG $0x244c3b48; BYTE $0x28 // cmp rcx, qword [rsp + 40] + JNE LBB5_134 + QUAD $0x000000d024948b4c // mov r10, qword [rsp + 208] + LONG $0x24543b4c; BYTE $0x28 // cmp r10, qword [rsp + 40] QUAD $0x000000a024bc8b4c // mov r15, qword [rsp + 160] LONG $0x245c8b44; BYTE $0x10 // mov r11d, dword [rsp + 16] LONG $0x24648b4c; BYTE $0x38 // mov r12, qword [rsp + 56] LONG $0x24748b4c; BYTE $0x30 // mov r14, qword [rsp + 48] - JNE LBB5_135 - JMP LBB5_138 + JNE LBB5_136 + JMP LBB5_139 -LBB5_180: +LBB5_181: WORD $0x894d; BYTE $0xd0 // mov r8, r10 LONG $0xfce08349 // and r8, -4 WORD $0x894c; BYTE $0xc3 // mov rbx, r8 LONG $0x07e3c148 // shl rbx, 7 WORD $0x014c; BYTE $0xf3 // add rbx, r14 LONG $0x24448b48; BYTE $0x08 // mov rax, qword [rsp + 8] - LONG $0x801c8d4e // lea r11, [rax + 4*r8] + LONG $0x80248d4e // lea r12, [rax + 4*r8] WORD $0x280f; BYTE $0xc8 // movaps xmm1, xmm0 LONG $0x00c8c60f // shufps xmm1, xmm0, 0 LONG $0xfcc68149; WORD $0x0001; BYTE $0x00 // add r14, 508 @@ -29680,7 +30939,7 @@ LBB5_180: LONG $0x6f0f4466; WORD $0x704d // movdqa xmm9, oword 112[rbp] /* [rip + .LCPI5_7] */ LONG $0x24448b48; BYTE $0x08 // mov rax, qword [rsp + 8] -LBB5_181: +LBB5_182: QUAD $0xfffe04b6100f41f3; BYTE $0xff // movss xmm6, dword [r14 - 508] QUAD $0xfffe08be100f41f3; BYTE $0xff // movss xmm7, dword [r14 - 504] QUAD $0xfffe0cae100f41f3; BYTE $0xff // movss xmm5, dword [r14 - 500] @@ -30025,10 +31284,10 @@ LBB5_181: LONG $0x04c18348 // add rcx, 4 LONG $0x00c68149; WORD $0x0002; BYTE $0x00 // add r14, 512 WORD $0x3949; BYTE $0xc8 // cmp r8, rcx - JNE LBB5_181 + JNE LBB5_182 WORD $0x394d; BYTE $0xc2 // cmp r10, r8 - JNE LBB5_183 - JMP LBB5_186 + JNE LBB5_184 + JMP LBB5_187 TEXT ·_comparison_greater_arr_arr_sse4(SB), $80-48 @@ -32763,7 +34022,7 @@ TEXT ·_comparison_greater_arr_scalar_sse4(SB), $360-48 LEAQ LCDATA5<>(SB), BP WORD $0x894d; BYTE $0xc3 // mov r11, r8 - WORD $0x8949; BYTE $0xcc // mov r12, rcx + LONG $0x240c8948 // mov qword [rsp], rcx WORD $0xff83; BYTE $0x06 // cmp edi, 6 JG LBB7_26 WORD $0xff83; BYTE $0x03 // cmp edi, 3 @@ -32771,9 +34030,9 @@ TEXT ·_comparison_greater_arr_scalar_sse4(SB), $360-48 WORD $0xff83; BYTE $0x04 // cmp edi, 4 JE LBB7_98 WORD $0xff83; BYTE $0x05 // cmp edi, 5 - JE LBB7_113 + JE LBB7_114 WORD $0xff83; BYTE $0x06 // cmp edi, 6 - JNE LBB7_200 + JNE LBB7_202 WORD $0x8b44; BYTE $0x2a // mov r13d, dword [rdx] LONG $0x1f538d4d // lea r10, [r11 + 31] WORD $0x854d; BYTE $0xdb // test r11, r11 @@ -32785,6 +34044,7 @@ TEXT ·_comparison_greater_arr_scalar_sse4(SB), $360-48 WORD $0x2941; BYTE $0xc1 // sub r9d, eax JE LBB7_17 WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d + LONG $0x240c8b4c // mov r9, qword [rsp] LBB7_15: WORD $0x3b44; BYTE $0x2e // cmp r13d, dword [rsi] @@ -32794,8 +34054,7 @@ LBB7_15: WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xd8490f48 // cmovns rbx, rax LONG $0x03fbc148 // sar rbx, 3 - WORD $0x894d; BYTE $0xe1 // mov r9, r12 - LONG $0x04b60f45; BYTE $0x1c // movzx r8d, byte [r12 + rbx] + LONG $0x04b60f45; BYTE $0x19 // movzx r8d, byte [r9 + rbx] WORD $0x3044; BYTE $0xc2 // xor dl, r8b LONG $0x00dd3c8d; WORD $0x0000; BYTE $0x00 // lea edi, [8*rbx] WORD $0xc189 // mov ecx, eax @@ -32804,11 +34063,11 @@ LBB7_15: WORD $0xe7d3 // shl edi, cl WORD $0x2040; BYTE $0xd7 // and dil, dl WORD $0x3044; BYTE $0xc7 // xor dil, r8b - LONG $0x1c3c8841 // mov byte [r12 + rbx], dil + LONG $0x193c8841 // mov byte [r9 + rbx], dil LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 JNE LBB7_15 - LONG $0x01c48349 // add r12, 1 + LONG $0x24048348; BYTE $0x01 // add qword [rsp], 1 LBB7_17: LONG $0x05fac149 // sar r10, 5 @@ -32816,36 +34075,35 @@ LBB7_17: JL LBB7_21 QUAD $0x00000088249c894c // mov qword [rsp + 136], r11 QUAD $0x000000f02494894c // mov qword [rsp + 240], r10 - QUAD $0x000000b02494894c // mov qword [rsp + 176], r10 + QUAD $0x000000c02494894c // mov qword [rsp + 192], r10 LBB7_19: - QUAD $0x0000008024a4894c // mov qword [rsp + 128], r12 WORD $0x3944; BYTE $0x2e // cmp dword [rsi], r13d - QUAD $0x000000c02494970f // seta byte [rsp + 192] + QUAD $0x000000d02494970f // seta byte [rsp + 208] LONG $0x046e3944 // cmp dword [rsi + 4], r13d - LONG $0xd7970f40 // seta dil + LONG $0xd2970f41 // seta r10b LONG $0x086e3944 // cmp dword [rsi + 8], r13d - LONG $0xd6970f41 // seta r14b + LONG $0xd7970f40 // seta dil LONG $0x0c6e3944 // cmp dword [rsi + 12], r13d - QUAD $0x000000d02494970f // seta byte [rsp + 208] + QUAD $0x000000b02494970f // seta byte [rsp + 176] LONG $0x106e3944 // cmp dword [rsi + 16], r13d - LONG $0x2454970f; BYTE $0x70 // seta byte [rsp + 112] + LONG $0x2454970f; BYTE $0x68 // seta byte [rsp + 104] LONG $0x146e3944 // cmp dword [rsi + 20], r13d LONG $0x2454970f; BYTE $0x58 // seta byte [rsp + 88] LONG $0x186e3944 // cmp dword [rsi + 24], r13d WORD $0x970f; BYTE $0xd0 // seta al LONG $0x1c6e3944 // cmp dword [rsi + 28], r13d - WORD $0x970f; BYTE $0xd3 // seta bl + LONG $0xd6970f41 // seta r14b LONG $0x206e3944 // cmp dword [rsi + 32], r13d - QUAD $0x000000902494970f // seta byte [rsp + 144] + QUAD $0x000000802494970f // seta byte [rsp + 128] LONG $0x246e3944 // cmp dword [rsi + 36], r13d WORD $0x970f; BYTE $0xd2 // seta dl LONG $0x286e3944 // cmp dword [rsi + 40], r13d LONG $0xd1970f41 // seta r9b LONG $0x2c6e3944 // cmp dword [rsi + 44], r13d - LONG $0xd2970f41 // seta r10b - LONG $0x306e3944 // cmp dword [rsi + 48], r13d LONG $0xd3970f41 // seta r11b + LONG $0x306e3944 // cmp dword [rsi + 48], r13d + WORD $0x970f; BYTE $0xd3 // seta bl LONG $0x346e3944 // cmp dword [rsi + 52], r13d LONG $0xd4970f41 // seta r12b LONG $0x386e3944 // cmp dword [rsi + 56], r13d @@ -32853,126 +34111,127 @@ LBB7_19: LONG $0x3c6e3944 // cmp dword [rsi + 60], r13d WORD $0x970f; BYTE $0xd1 // seta cl LONG $0x406e3944 // cmp dword [rsi + 64], r13d - LONG $0x2454970f; BYTE $0x50 // seta byte [rsp + 80] + LONG $0x2454970f; BYTE $0x48 // seta byte [rsp + 72] LONG $0x446e3944 // cmp dword [rsi + 68], r13d - LONG $0x2454970f; BYTE $0x78 // seta byte [rsp + 120] + QUAD $0x000000902494970f // seta byte [rsp + 144] LONG $0x486e3944 // cmp dword [rsi + 72], r13d - LONG $0x2454970f; BYTE $0x68 // seta byte [rsp + 104] + LONG $0x2454970f; BYTE $0x70 // seta byte [rsp + 112] LONG $0x4c6e3944 // cmp dword [rsi + 76], r13d - LONG $0x2454970f; BYTE $0x60 // seta byte [rsp + 96] + LONG $0x2454970f; BYTE $0x78 // seta byte [rsp + 120] LONG $0x506e3944 // cmp dword [rsi + 80], r13d - LONG $0x2454970f; BYTE $0x40 // seta byte [rsp + 64] + LONG $0x2454970f; BYTE $0x50 // seta byte [rsp + 80] LONG $0x546e3944 // cmp dword [rsi + 84], r13d - LONG $0x2454970f; BYTE $0x48 // seta byte [rsp + 72] + LONG $0x2454970f; BYTE $0x60 // seta byte [rsp + 96] LONG $0x586e3944 // cmp dword [rsi + 88], r13d - LONG $0x2454970f; BYTE $0x38 // seta byte [rsp + 56] + LONG $0x2454970f; BYTE $0x40 // seta byte [rsp + 64] LONG $0x5c6e3944 // cmp dword [rsi + 92], r13d LONG $0xd7970f41 // seta r15b LONG $0x606e3944 // cmp dword [rsi + 96], r13d - LONG $0x2454970f; BYTE $0x08 // seta byte [rsp + 8] + LONG $0x2454970f; BYTE $0x20 // seta byte [rsp + 32] LONG $0x646e3944 // cmp dword [rsi + 100], r13d - LONG $0x2454970f; BYTE $0x30 // seta byte [rsp + 48] + LONG $0x2454970f; BYTE $0x38 // seta byte [rsp + 56] LONG $0x686e3944 // cmp dword [rsi + 104], r13d - LONG $0x2454970f; BYTE $0x18 // seta byte [rsp + 24] + LONG $0x2454970f; BYTE $0x28 // seta byte [rsp + 40] LONG $0x6c6e3944 // cmp dword [rsi + 108], r13d - LONG $0x2454970f; BYTE $0x20 // seta byte [rsp + 32] + LONG $0x2454970f; BYTE $0x30 // seta byte [rsp + 48] LONG $0x706e3944 // cmp dword [rsi + 112], r13d - LONG $0x2454970f; BYTE $0x28 // seta byte [rsp + 40] + LONG $0x2454970f; BYTE $0x18 // seta byte [rsp + 24] LONG $0x746e3944 // cmp dword [rsi + 116], r13d LONG $0x2454970f; BYTE $0x10 // seta byte [rsp + 16] LONG $0x786e3944 // cmp dword [rsi + 120], r13d - LONG $0x2414970f // seta byte [rsp] + LONG $0x2454970f; BYTE $0x08 // seta byte [rsp + 8] LONG $0x7c6e3944 // cmp dword [rsi + 124], r13d LONG $0xd0970f41 // seta r8b - WORD $0x0040; BYTE $0xff // add dil, dil - QUAD $0x000000c024bc0240 // add dil, byte [rsp + 192] + WORD $0x0045; BYTE $0xd2 // add r10b, r10b + QUAD $0x000000d024940244 // add r10b, byte [rsp + 208] WORD $0xe0c0; BYTE $0x06 // shl al, 6 - WORD $0xe3c0; BYTE $0x07 // shl bl, 7 - WORD $0xc308 // or bl, al - LONG $0x02e6c041 // shl r14b, 2 - WORD $0x0841; BYTE $0xfe // or r14b, dil + LONG $0x07e6c041 // shl r14b, 7 + WORD $0x0841; BYTE $0xc6 // or r14b, al + LONG $0x02e7c040 // shl dil, 2 + WORD $0x0844; BYTE $0xd7 // or dil, r10b WORD $0xd200 // add dl, dl - LONG $0x90249402; WORD $0x0000; BYTE $0x00 // add dl, byte [rsp + 144] - QUAD $0x000000d02484b60f // movzx eax, byte [rsp + 208] + LONG $0x80249402; WORD $0x0000; BYTE $0x00 // add dl, byte [rsp + 128] + QUAD $0x000000b02484b60f // movzx eax, byte [rsp + 176] WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0x0844; BYTE $0xf0 // or al, r14b + WORD $0x0840; BYTE $0xf8 // or al, dil + LONG $0x24148b4c // mov r10, qword [rsp] LONG $0x02e1c041 // shl r9b, 2 WORD $0x0841; BYTE $0xd1 // or r9b, dl - LONG $0x2454b60f; BYTE $0x70 // movzx edx, byte [rsp + 112] + LONG $0x2454b60f; BYTE $0x68 // movzx edx, byte [rsp + 104] WORD $0xe2c0; BYTE $0x04 // shl dl, 4 WORD $0xc208 // or dl, al WORD $0xd789 // mov edi, edx - LONG $0x03e2c041 // shl r10b, 3 - WORD $0x0845; BYTE $0xca // or r10b, r9b + LONG $0x03e3c041 // shl r11b, 3 + WORD $0x0845; BYTE $0xcb // or r11b, r9b LONG $0x2454b60f; BYTE $0x58 // movzx edx, byte [rsp + 88] WORD $0xe2c0; BYTE $0x05 // shl dl, 5 WORD $0x0840; BYTE $0xfa // or dl, dil - LONG $0x04e3c041 // shl r11b, 4 - WORD $0x0845; BYTE $0xd3 // or r11b, r10b + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0x0844; BYTE $0xdb // or bl, r11b LONG $0x05e4c041 // shl r12b, 5 - WORD $0x0845; BYTE $0xdc // or r12b, r11b + WORD $0x0841; BYTE $0xdc // or r12b, bl QUAD $0x000000a024bcb60f // movzx edi, byte [rsp + 160] LONG $0x06e7c040 // shl dil, 6 WORD $0xe1c0; BYTE $0x07 // shl cl, 7 WORD $0x0840; BYTE $0xf9 // or cl, dil - WORD $0xd308 // or bl, dl + WORD $0x0841; BYTE $0xd6 // or r14b, dl WORD $0x0844; BYTE $0xe1 // or cl, r12b - QUAD $0x0000008024a48b4c // mov r12, qword [rsp + 128] - LONG $0x2454b60f; BYTE $0x78 // movzx edx, byte [rsp + 120] + QUAD $0x000000902494b60f // movzx edx, byte [rsp + 144] WORD $0xd200 // add dl, dl - LONG $0x50245402 // add dl, byte [rsp + 80] + LONG $0x48245402 // add dl, byte [rsp + 72] WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x68 // movzx edx, byte [rsp + 104] + LONG $0x2454b60f; BYTE $0x70 // movzx edx, byte [rsp + 112] WORD $0xe2c0; BYTE $0x02 // shl dl, 2 WORD $0x0840; BYTE $0xfa // or dl, dil WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x60 // movzx edx, byte [rsp + 96] + LONG $0x2454b60f; BYTE $0x78 // movzx edx, byte [rsp + 120] WORD $0xe2c0; BYTE $0x03 // shl dl, 3 WORD $0x0840; BYTE $0xfa // or dl, dil WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x40 // movzx edx, byte [rsp + 64] + LONG $0x2454b60f; BYTE $0x50 // movzx edx, byte [rsp + 80] WORD $0xe2c0; BYTE $0x04 // shl dl, 4 WORD $0x0840; BYTE $0xfa // or dl, dil WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x48 // movzx edx, byte [rsp + 72] + LONG $0x2454b60f; BYTE $0x60 // movzx edx, byte [rsp + 96] WORD $0xe2c0; BYTE $0x05 // shl dl, 5 WORD $0x0840; BYTE $0xfa // or dl, dil - LONG $0x241c8841 // mov byte [r12], bl - LONG $0x245cb60f; BYTE $0x38 // movzx ebx, byte [rsp + 56] + WORD $0x8845; BYTE $0x32 // mov byte [r10], r14b + LONG $0x245cb60f; BYTE $0x40 // movzx ebx, byte [rsp + 64] WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e7c041 // shl r15b, 7 WORD $0x0841; BYTE $0xdf // or r15b, bl - LONG $0x244c8841; BYTE $0x01 // mov byte [r12 + 1], cl + LONG $0x014a8841 // mov byte [r10 + 1], cl WORD $0x0841; BYTE $0xd7 // or r15b, dl - LONG $0x244cb60f; BYTE $0x30 // movzx ecx, byte [rsp + 48] + LONG $0x244cb60f; BYTE $0x38 // movzx ecx, byte [rsp + 56] WORD $0xc900 // add cl, cl - LONG $0x08244c02 // add cl, byte [rsp + 8] + LONG $0x20244c02 // add cl, byte [rsp + 32] WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x18 // movzx ecx, byte [rsp + 24] + LONG $0x244cb60f; BYTE $0x28 // movzx ecx, byte [rsp + 40] WORD $0xe1c0; BYTE $0x02 // shl cl, 2 WORD $0xd108 // or cl, dl WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x20 // movzx ecx, byte [rsp + 32] + LONG $0x244cb60f; BYTE $0x30 // movzx ecx, byte [rsp + 48] WORD $0xe1c0; BYTE $0x03 // shl cl, 3 WORD $0xd108 // or cl, dl WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x28 // movzx ecx, byte [rsp + 40] + LONG $0x244cb60f; BYTE $0x18 // movzx ecx, byte [rsp + 24] WORD $0xe1c0; BYTE $0x04 // shl cl, 4 WORD $0xd108 // or cl, dl WORD $0xca89 // mov edx, ecx LONG $0x244cb60f; BYTE $0x10 // movzx ecx, byte [rsp + 16] WORD $0xe1c0; BYTE $0x05 // shl cl, 5 WORD $0xd108 // or cl, dl - LONG $0x2414b60f // movzx edx, byte [rsp] + LONG $0x2454b60f; BYTE $0x08 // movzx edx, byte [rsp + 8] WORD $0xe2c0; BYTE $0x06 // shl dl, 6 LONG $0x07e0c041 // shl r8b, 7 WORD $0x0841; BYTE $0xd0 // or r8b, dl WORD $0x0841; BYTE $0xc8 // or r8b, cl - LONG $0x247c8845; BYTE $0x02 // mov byte [r12 + 2], r15b - LONG $0x24448845; BYTE $0x03 // mov byte [r12 + 3], r8b + LONG $0x027a8845 // mov byte [r10 + 2], r15b + LONG $0x03428845 // mov byte [r10 + 3], r8b LONG $0x80c68148; WORD $0x0000; BYTE $0x00 // add rsi, 128 - LONG $0x04c48349 // add r12, 4 - QUAD $0x000000b024848348; BYTE $0xff // add qword [rsp + 176], -1 + LONG $0x04c28349 // add r10, 4 + LONG $0x2414894c // mov qword [rsp], r10 + QUAD $0x000000c024848348; BYTE $0xff // add qword [rsp + 192], -1 JNE LBB7_19 QUAD $0x00000088249c8b4c // mov r11, qword [rsp + 136] QUAD $0x000000f024948b4c // mov r10, qword [rsp + 240] @@ -32980,12 +34239,12 @@ LBB7_19: LBB7_21: LONG $0x05e2c149 // shl r10, 5 WORD $0x394d; BYTE $0xda // cmp r10, r11 - JGE LBB7_200 + JGE LBB7_202 WORD $0x894d; BYTE $0xd8 // mov r8, r11 WORD $0x294d; BYTE $0xd0 // sub r8, r10 WORD $0xf749; BYTE $0xd2 // not r10 WORD $0x014d; BYTE $0xda // add r10, r11 - JNE LBB7_135 + JNE LBB7_137 WORD $0x3145; BYTE $0xdb // xor r11d, r11d JMP LBB7_24 @@ -32993,14 +34252,14 @@ LBB7_26: WORD $0xff83; BYTE $0x08 // cmp edi, 8 JLE LBB7_27 WORD $0xff83; BYTE $0x09 // cmp edi, 9 - JE LBB7_155 + JE LBB7_157 WORD $0xff83; BYTE $0x0b // cmp edi, 11 - JE LBB7_170 + JE LBB7_172 WORD $0xff83; BYTE $0x0c // cmp edi, 12 - JNE LBB7_200 - LONG $0x1f538d4d // lea r10, [r11 + 31] + JNE LBB7_202 + LONG $0x1f738d4d // lea r14, [r11 + 31] WORD $0x854d; BYTE $0xdb // test r11, r11 - LONG $0xd3490f4d // cmovns r10, r11 + LONG $0xf3490f4d // cmovns r14, r11 LONG $0x07418d41 // lea eax, [r9 + 7] WORD $0x8545; BYTE $0xc9 // test r9d, r9d LONG $0xc1490f41 // cmovns eax, r9d @@ -33009,17 +34268,19 @@ LBB7_26: WORD $0x2941; BYTE $0xc1 // sub r9d, eax JE LBB7_49 WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d + LONG $0x24148b4c // mov r10, qword [rsp] LBB7_47: - LONG $0x062e0f66 // ucomisd xmm0, qword [rsi] - LONG $0x08768d48 // lea rsi, [rsi + 8] - WORD $0xd219 // sbb edx, edx + LONG $0x0e100ff2 // movsd xmm1, qword [rsi] + LONG $0x08c68348 // add rsi, 8 + LONG $0xc82e0f66 // ucomisd xmm1, xmm0 + WORD $0x970f; BYTE $0xd2 // seta dl + WORD $0xdaf6 // neg dl LONG $0x07788d48 // lea rdi, [rax + 7] WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xf8490f48 // cmovns rdi, rax LONG $0x03ffc148 // sar rdi, 3 - WORD $0x894d; BYTE $0xe6 // mov r14, r12 - LONG $0x0cb60f45; BYTE $0x3c // movzx r9d, byte [r12 + rdi] + LONG $0x0cb60f45; BYTE $0x3a // movzx r9d, byte [r10 + rdi] WORD $0x3044; BYTE $0xca // xor dl, r9b QUAD $0x00000000fd048d44 // lea r8d, [8*rdi] WORD $0xc189 // mov ecx, eax @@ -33028,197 +34289,225 @@ LBB7_47: WORD $0xe3d3 // shl ebx, cl WORD $0xd320 // and bl, dl WORD $0x3044; BYTE $0xcb // xor bl, r9b - LONG $0x3c1c8841 // mov byte [r12 + rdi], bl + LONG $0x3a1c8841 // mov byte [r10 + rdi], bl LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 JNE LBB7_47 - LONG $0x01c48349 // add r12, 1 + LONG $0x24048348; BYTE $0x01 // add qword [rsp], 1 LBB7_49: - LONG $0x05fac149 // sar r10, 5 + LONG $0x05fec149 // sar r14, 5 LONG $0x20fb8349 // cmp r11, 32 JL LBB7_53 QUAD $0x00000088249c894c // mov qword [rsp + 136], r11 - QUAD $0x000000b02494894c // mov qword [rsp + 176], r10 - QUAD $0x000000c02494894c // mov qword [rsp + 192], r10 + QUAD $0x000000c024b4894c // mov qword [rsp + 192], r14 + QUAD $0x000000d024b4894c // mov qword [rsp + 208], r14 LBB7_51: - QUAD $0x0000008024a4894c // mov qword [rsp + 128], r12 - LONG $0x062e0f66 // ucomisd xmm0, qword [rsi] - QUAD $0x000000d02494920f // setb byte [rsp + 208] - LONG $0x462e0f66; BYTE $0x08 // ucomisd xmm0, qword [rsi + 8] - LONG $0xd1920f41 // setb r9b - LONG $0x462e0f66; BYTE $0x10 // ucomisd xmm0, qword [rsi + 16] - LONG $0xd6920f41 // setb r14b - LONG $0x462e0f66; BYTE $0x18 // ucomisd xmm0, qword [rsi + 24] - LONG $0xd5920f41 // setb r13b - LONG $0x462e0f66; BYTE $0x20 // ucomisd xmm0, qword [rsi + 32] - LONG $0x2454920f; BYTE $0x70 // setb byte [rsp + 112] - LONG $0x462e0f66; BYTE $0x28 // ucomisd xmm0, qword [rsi + 40] - LONG $0x2454920f; BYTE $0x58 // setb byte [rsp + 88] - LONG $0x462e0f66; BYTE $0x30 // ucomisd xmm0, qword [rsi + 48] - WORD $0x920f; BYTE $0xd0 // setb al - LONG $0x462e0f66; BYTE $0x38 // ucomisd xmm0, qword [rsi + 56] - WORD $0x920f; BYTE $0xd3 // setb bl - LONG $0x462e0f66; BYTE $0x40 // ucomisd xmm0, qword [rsi + 64] - QUAD $0x000000a02494920f // setb byte [rsp + 160] - LONG $0x462e0f66; BYTE $0x48 // ucomisd xmm0, qword [rsi + 72] - WORD $0x920f; BYTE $0xd2 // setb dl - LONG $0x462e0f66; BYTE $0x50 // ucomisd xmm0, qword [rsi + 80] - LONG $0xd7920f40 // setb dil - LONG $0x462e0f66; BYTE $0x58 // ucomisd xmm0, qword [rsi + 88] - LONG $0xd2920f41 // setb r10b - LONG $0x462e0f66; BYTE $0x60 // ucomisd xmm0, qword [rsi + 96] - LONG $0xd3920f41 // setb r11b - LONG $0x462e0f66; BYTE $0x68 // ucomisd xmm0, qword [rsi + 104] - LONG $0xd4920f41 // setb r12b - LONG $0x462e0f66; BYTE $0x70 // ucomisd xmm0, qword [rsi + 112] - LONG $0x2454920f; BYTE $0x78 // setb byte [rsp + 120] - LONG $0x462e0f66; BYTE $0x78 // ucomisd xmm0, qword [rsi + 120] - WORD $0x920f; BYTE $0xd1 // setb cl - QUAD $0x00000080862e0f66 // ucomisd xmm0, qword [rsi + 128] - LONG $0x2454920f; BYTE $0x50 // setb byte [rsp + 80] - QUAD $0x00000088862e0f66 // ucomisd xmm0, qword [rsi + 136] - QUAD $0x000000902494920f // setb byte [rsp + 144] - QUAD $0x00000090862e0f66 // ucomisd xmm0, qword [rsi + 144] - LONG $0x2454920f; BYTE $0x68 // setb byte [rsp + 104] - QUAD $0x00000098862e0f66 // ucomisd xmm0, qword [rsi + 152] - LONG $0x2454920f; BYTE $0x60 // setb byte [rsp + 96] - QUAD $0x000000a0862e0f66 // ucomisd xmm0, qword [rsi + 160] - LONG $0x2454920f; BYTE $0x40 // setb byte [rsp + 64] - QUAD $0x000000a8862e0f66 // ucomisd xmm0, qword [rsi + 168] - LONG $0x2454920f; BYTE $0x48 // setb byte [rsp + 72] - QUAD $0x000000b0862e0f66 // ucomisd xmm0, qword [rsi + 176] - LONG $0x2454920f; BYTE $0x38 // setb byte [rsp + 56] - QUAD $0x000000b8862e0f66 // ucomisd xmm0, qword [rsi + 184] - LONG $0xd7920f41 // setb r15b - QUAD $0x000000c0862e0f66 // ucomisd xmm0, qword [rsi + 192] - LONG $0x2454920f; BYTE $0x08 // setb byte [rsp + 8] - QUAD $0x000000c8862e0f66 // ucomisd xmm0, qword [rsi + 200] - LONG $0x2454920f; BYTE $0x30 // setb byte [rsp + 48] - QUAD $0x000000d0862e0f66 // ucomisd xmm0, qword [rsi + 208] - LONG $0x2454920f; BYTE $0x18 // setb byte [rsp + 24] - QUAD $0x000000d8862e0f66 // ucomisd xmm0, qword [rsi + 216] - LONG $0x2454920f; BYTE $0x20 // setb byte [rsp + 32] - QUAD $0x000000e0862e0f66 // ucomisd xmm0, qword [rsi + 224] - LONG $0x2454920f; BYTE $0x28 // setb byte [rsp + 40] - QUAD $0x000000e8862e0f66 // ucomisd xmm0, qword [rsi + 232] - LONG $0x2454920f; BYTE $0x10 // setb byte [rsp + 16] - QUAD $0x000000f0862e0f66 // ucomisd xmm0, qword [rsi + 240] - LONG $0x2414920f // setb byte [rsp] - QUAD $0x000000f8862e0f66 // ucomisd xmm0, qword [rsi + 248] - LONG $0xd0920f41 // setb r8b - WORD $0x0045; BYTE $0xc9 // add r9b, r9b - QUAD $0x000000d0248c0244 // add r9b, byte [rsp + 208] - WORD $0xe0c0; BYTE $0x06 // shl al, 6 - WORD $0xe3c0; BYTE $0x07 // shl bl, 7 + LONG $0x0e100ff2 // movsd xmm1, qword [rsi] + LONG $0x56100ff2; BYTE $0x08 // movsd xmm2, qword [rsi + 8] + LONG $0xc82e0f66 // ucomisd xmm1, xmm0 + LONG $0x2454970f; BYTE $0x18 // seta byte [rsp + 24] + LONG $0xd02e0f66 // ucomisd xmm2, xmm0 + WORD $0x970f; BYTE $0xd3 // seta bl + LONG $0x4e100ff2; BYTE $0x10 // movsd xmm1, qword [rsi + 16] + LONG $0xc82e0f66 // ucomisd xmm1, xmm0 + LONG $0x4e100ff2; BYTE $0x18 // movsd xmm1, qword [rsi + 24] + LONG $0xd5970f41 // seta r13b + LONG $0xc82e0f66 // ucomisd xmm1, xmm0 + LONG $0xd4970f41 // seta r12b + LONG $0x4e100ff2; BYTE $0x20 // movsd xmm1, qword [rsi + 32] + LONG $0xc82e0f66 // ucomisd xmm1, xmm0 + LONG $0x4e100ff2; BYTE $0x28 // movsd xmm1, qword [rsi + 40] + LONG $0x2454970f; BYTE $0x50 // seta byte [rsp + 80] + LONG $0xc82e0f66 // ucomisd xmm1, xmm0 + LONG $0x2454970f; BYTE $0x60 // seta byte [rsp + 96] + LONG $0x4e100ff2; BYTE $0x30 // movsd xmm1, qword [rsi + 48] + LONG $0xc82e0f66 // ucomisd xmm1, xmm0 + LONG $0x4e100ff2; BYTE $0x38 // movsd xmm1, qword [rsi + 56] + LONG $0x2454970f; BYTE $0x58 // seta byte [rsp + 88] + LONG $0xc82e0f66 // ucomisd xmm1, xmm0 + LONG $0x2454970f; BYTE $0x40 // seta byte [rsp + 64] + LONG $0x4e100ff2; BYTE $0x40 // movsd xmm1, qword [rsi + 64] + LONG $0xc82e0f66 // ucomisd xmm1, xmm0 + LONG $0x4e100ff2; BYTE $0x48 // movsd xmm1, qword [rsi + 72] + LONG $0x2454970f; BYTE $0x10 // seta byte [rsp + 16] + LONG $0xc82e0f66 // ucomisd xmm1, xmm0 + WORD $0x970f; BYTE $0xd0 // seta al + LONG $0x4e100ff2; BYTE $0x50 // movsd xmm1, qword [rsi + 80] + LONG $0xc82e0f66 // ucomisd xmm1, xmm0 + LONG $0x4e100ff2; BYTE $0x58 // movsd xmm1, qword [rsi + 88] + LONG $0x2454970f; BYTE $0x38 // seta byte [rsp + 56] + LONG $0xc82e0f66 // ucomisd xmm1, xmm0 + LONG $0x2454970f; BYTE $0x20 // seta byte [rsp + 32] + LONG $0x4e100ff2; BYTE $0x60 // movsd xmm1, qword [rsi + 96] + LONG $0x5e100ff2; BYTE $0x68 // movsd xmm3, qword [rsi + 104] + LONG $0xc82e0f66 // ucomisd xmm1, xmm0 + LONG $0x6e100ff2; BYTE $0x70 // movsd xmm5, qword [rsi + 112] + LONG $0x76100ff2; BYTE $0x78 // movsd xmm6, qword [rsi + 120] + LONG $0x2454970f; BYTE $0x78 // seta byte [rsp + 120] + QUAD $0x00008086100f44f2; BYTE $0x00 // movsd xmm8, qword [rsi + 128] + QUAD $0x0000888e100f44f2; BYTE $0x00 // movsd xmm9, qword [rsi + 136] + LONG $0xd82e0f66 // ucomisd xmm3, xmm0 + QUAD $0x00009096100f44f2; BYTE $0x00 // movsd xmm10, qword [rsi + 144] + QUAD $0x0000989e100f44f2; BYTE $0x00 // movsd xmm11, qword [rsi + 152] + QUAD $0x000000902494970f // seta byte [rsp + 144] + QUAD $0x0000a0a6100f44f2; BYTE $0x00 // movsd xmm12, qword [rsi + 160] + QUAD $0x0000a8ae100f44f2; BYTE $0x00 // movsd xmm13, qword [rsi + 168] + LONG $0xe82e0f66 // ucomisd xmm5, xmm0 + QUAD $0x0000b0b6100f44f2; BYTE $0x00 // movsd xmm14, qword [rsi + 176] + QUAD $0x000000b896100ff2 // movsd xmm2, qword [rsi + 184] + QUAD $0x000000802494970f // seta byte [rsp + 128] + QUAD $0x000000c09e100ff2 // movsd xmm3, qword [rsi + 192] + QUAD $0x000000c8a6100ff2 // movsd xmm4, qword [rsi + 200] + LONG $0xf02e0f66 // ucomisd xmm6, xmm0 + QUAD $0x000000d0b6100ff2 // movsd xmm6, qword [rsi + 208] + QUAD $0x000000d8be100ff2 // movsd xmm7, qword [rsi + 216] + LONG $0xd3970f41 // seta r11b + QUAD $0x000000e08e100ff2 // movsd xmm1, qword [rsi + 224] + QUAD $0x000000e8ae100ff2 // movsd xmm5, qword [rsi + 232] + LONG $0x2e0f4466; BYTE $0xc0 // ucomisd xmm8, xmm0 + QUAD $0x000000b02494970f // seta byte [rsp + 176] + LONG $0x2e0f4466; BYTE $0xc8 // ucomisd xmm9, xmm0 + WORD $0x970f; BYTE $0xd1 // seta cl + LONG $0x2e0f4466; BYTE $0xd0 // ucomisd xmm10, xmm0 + LONG $0xd7970f40 // seta dil + LONG $0x2e0f4466; BYTE $0xd8 // ucomisd xmm11, xmm0 + LONG $0xd0970f41 // seta r8b + LONG $0x2e0f4466; BYTE $0xe0 // ucomisd xmm12, xmm0 + LONG $0xd2970f41 // seta r10b + LONG $0x2e0f4466; BYTE $0xe8 // ucomisd xmm13, xmm0 + LONG $0xd6970f41 // seta r14b + LONG $0x2e0f4466; BYTE $0xf0 // ucomisd xmm14, xmm0 + QUAD $0x000000a02494970f // seta byte [rsp + 160] + LONG $0xd02e0f66 // ucomisd xmm2, xmm0 + LONG $0xd1970f41 // seta r9b + LONG $0xd82e0f66 // ucomisd xmm3, xmm0 + LONG $0x2454970f; BYTE $0x68 // seta byte [rsp + 104] + LONG $0xe02e0f66 // ucomisd xmm4, xmm0 + LONG $0xd7970f41 // seta r15b + LONG $0xf02e0f66 // ucomisd xmm6, xmm0 + LONG $0x2454970f; BYTE $0x70 // seta byte [rsp + 112] + LONG $0xf82e0f66 // ucomisd xmm7, xmm0 + LONG $0x2454970f; BYTE $0x48 // seta byte [rsp + 72] + LONG $0xc82e0f66 // ucomisd xmm1, xmm0 + LONG $0x2454970f; BYTE $0x28 // seta byte [rsp + 40] + LONG $0xe82e0f66 // ucomisd xmm5, xmm0 + QUAD $0x000000f08e100ff2 // movsd xmm1, qword [rsi + 240] + LONG $0x2454970f; BYTE $0x30 // seta byte [rsp + 48] + LONG $0xc82e0f66 // ucomisd xmm1, xmm0 + LONG $0x2454970f; BYTE $0x08 // seta byte [rsp + 8] + QUAD $0x000000f88e100ff2 // movsd xmm1, qword [rsi + 248] + LONG $0x00c68148; WORD $0x0001; BYTE $0x00 // add rsi, 256 + LONG $0xc82e0f66 // ucomisd xmm1, xmm0 + WORD $0x970f; BYTE $0xd2 // seta dl + WORD $0xdb00 // add bl, bl + LONG $0x18245c02 // add bl, byte [rsp + 24] + LONG $0x02e5c041 // shl r13b, 2 + WORD $0x0841; BYTE $0xdd // or r13b, bl + LONG $0x03e4c041 // shl r12b, 3 + WORD $0x0845; BYTE $0xec // or r12b, r13b + LONG $0x245cb60f; BYTE $0x50 // movzx ebx, byte [rsp + 80] + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0x0844; BYTE $0xe3 // or bl, r12b + WORD $0x8941; BYTE $0xdc // mov r12d, ebx + LONG $0x245cb60f; BYTE $0x60 // movzx ebx, byte [rsp + 96] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + WORD $0x0844; BYTE $0xe3 // or bl, r12b + LONG $0x64b60f44; WORD $0x5824 // movzx r12d, byte [rsp + 88] + LONG $0x06e4c041 // shl r12b, 6 + LONG $0x6cb60f44; WORD $0x4024 // movzx r13d, byte [rsp + 64] + LONG $0x07e5c041 // shl r13b, 7 + WORD $0x0845; BYTE $0xe5 // or r13b, r12b + WORD $0xc000 // add al, al + LONG $0x10244402 // add al, byte [rsp + 16] + LONG $0x64b60f44; WORD $0x3824 // movzx r12d, byte [rsp + 56] + LONG $0x02e4c041 // shl r12b, 2 + WORD $0x0841; BYTE $0xc4 // or r12b, al + WORD $0x8944; BYTE $0xe0 // mov eax, r12d + LONG $0x64b60f44; WORD $0x2024 // movzx r12d, byte [rsp + 32] + LONG $0x03e4c041 // shl r12b, 3 + WORD $0x0841; BYTE $0xc4 // or r12b, al + LONG $0x2444b60f; BYTE $0x78 // movzx eax, byte [rsp + 120] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0844; BYTE $0xe0 // or al, r12b + WORD $0x0841; BYTE $0xdd // or r13b, bl + QUAD $0x00000090249cb60f // movzx ebx, byte [rsp + 144] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 WORD $0xc308 // or bl, al - LONG $0x02e6c041 // shl r14b, 2 - WORD $0x0845; BYTE $0xce // or r14b, r9b - WORD $0xd200 // add dl, dl - LONG $0xa0249402; WORD $0x0000; BYTE $0x00 // add dl, byte [rsp + 160] - LONG $0x03e5c041 // shl r13b, 3 - WORD $0x0845; BYTE $0xf5 // or r13b, r14b - LONG $0x02e7c040 // shl dil, 2 - WORD $0x0840; BYTE $0xd7 // or dil, dl - LONG $0x2454b60f; BYTE $0x70 // movzx edx, byte [rsp + 112] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0x0844; BYTE $0xea // or dl, r13b - WORD $0x8941; BYTE $0xd1 // mov r9d, edx - QUAD $0x0000008024848b48 // mov rax, qword [rsp + 128] - LONG $0x03e2c041 // shl r10b, 3 - WORD $0x0841; BYTE $0xfa // or r10b, dil - LONG $0x2454b60f; BYTE $0x58 // movzx edx, byte [rsp + 88] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0844; BYTE $0xca // or dl, r9b - LONG $0x04e3c041 // shl r11b, 4 - WORD $0x0845; BYTE $0xd3 // or r11b, r10b - LONG $0x05e4c041 // shl r12b, 5 - WORD $0x0845; BYTE $0xdc // or r12b, r11b - LONG $0x247cb60f; BYTE $0x78 // movzx edi, byte [rsp + 120] - LONG $0x06e7c040 // shl dil, 6 - WORD $0xe1c0; BYTE $0x07 // shl cl, 7 - WORD $0x0840; BYTE $0xf9 // or cl, dil - WORD $0xd308 // or bl, dl - WORD $0x0844; BYTE $0xe1 // or cl, r12b - QUAD $0x000000902494b60f // movzx edx, byte [rsp + 144] - WORD $0xd200 // add dl, dl - LONG $0x50245402 // add dl, byte [rsp + 80] - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x68 // movzx edx, byte [rsp + 104] - WORD $0xe2c0; BYTE $0x02 // shl dl, 2 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x60 // movzx edx, byte [rsp + 96] - WORD $0xe2c0; BYTE $0x03 // shl dl, 3 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x40 // movzx edx, byte [rsp + 64] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x48 // movzx edx, byte [rsp + 72] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0x1888 // mov byte [rax], bl - LONG $0x245cb60f; BYTE $0x38 // movzx ebx, byte [rsp + 56] - WORD $0xe3c0; BYTE $0x06 // shl bl, 6 - LONG $0x07e7c041 // shl r15b, 7 - WORD $0x0841; BYTE $0xdf // or r15b, bl - WORD $0x4888; BYTE $0x01 // mov byte [rax + 1], cl - WORD $0x0841; BYTE $0xd7 // or r15b, dl - LONG $0x244cb60f; BYTE $0x30 // movzx ecx, byte [rsp + 48] + QUAD $0x000000802484b60f // movzx eax, byte [rsp + 128] + WORD $0xe0c0; BYTE $0x06 // shl al, 6 + LONG $0x07e3c041 // shl r11b, 7 + WORD $0x0841; BYTE $0xc3 // or r11b, al WORD $0xc900 // add cl, cl - LONG $0x08244c02 // add cl, byte [rsp + 8] - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x18 // movzx ecx, byte [rsp + 24] - WORD $0xe1c0; BYTE $0x02 // shl cl, 2 - WORD $0xd108 // or cl, dl - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x20 // movzx ecx, byte [rsp + 32] - WORD $0xe1c0; BYTE $0x03 // shl cl, 3 - WORD $0xd108 // or cl, dl - WORD $0xca89 // mov edx, ecx + LONG $0xb0248c02; WORD $0x0000; BYTE $0x00 // add cl, byte [rsp + 176] + LONG $0x02e7c040 // shl dil, 2 + WORD $0x0840; BYTE $0xcf // or dil, cl + LONG $0x03e0c041 // shl r8b, 3 + WORD $0x0841; BYTE $0xf8 // or r8b, dil + LONG $0x04e2c041 // shl r10b, 4 + WORD $0x0845; BYTE $0xc2 // or r10b, r8b + LONG $0x05e6c041 // shl r14b, 5 + WORD $0x0845; BYTE $0xd6 // or r14b, r10b + WORD $0x0841; BYTE $0xdb // or r11b, bl + QUAD $0x000000a02484b60f // movzx eax, byte [rsp + 160] + WORD $0xe0c0; BYTE $0x06 // shl al, 6 + LONG $0x07e1c041 // shl r9b, 7 + WORD $0x0841; BYTE $0xc1 // or r9b, al + LONG $0x24048b48 // mov rax, qword [rsp] + WORD $0x8844; BYTE $0x28 // mov byte [rax], r13b + WORD $0x0845; BYTE $0xf1 // or r9b, r14b + WORD $0x0045; BYTE $0xff // add r15b, r15b + LONG $0x247c0244; BYTE $0x68 // add r15b, byte [rsp + 104] + LONG $0x2444b60f; BYTE $0x70 // movzx eax, byte [rsp + 112] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0x0844; BYTE $0xf8 // or al, r15b + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x48 // movzx eax, byte [rsp + 72] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0xc808 // or al, cl + WORD $0xc389 // mov ebx, eax + LONG $0x24048b48 // mov rax, qword [rsp] LONG $0x244cb60f; BYTE $0x28 // movzx ecx, byte [rsp + 40] WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0xd108 // or cl, dl - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x10 // movzx ecx, byte [rsp + 16] + WORD $0xd908 // or cl, bl + WORD $0xcb89 // mov ebx, ecx + LONG $0x244cb60f; BYTE $0x30 // movzx ecx, byte [rsp + 48] WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0xd108 // or cl, dl - LONG $0x2414b60f // movzx edx, byte [rsp] - WORD $0xe2c0; BYTE $0x06 // shl dl, 6 - LONG $0x07e0c041 // shl r8b, 7 - WORD $0x0841; BYTE $0xd0 // or r8b, dl - WORD $0x0841; BYTE $0xc8 // or r8b, cl - LONG $0x02788844 // mov byte [rax + 2], r15b - LONG $0x03408844 // mov byte [rax + 3], r8b - LONG $0x00c68148; WORD $0x0001; BYTE $0x00 // add rsi, 256 + WORD $0xd908 // or cl, bl + LONG $0x01588844 // mov byte [rax + 1], r11b + LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] + WORD $0xe3c0; BYTE $0x06 // shl bl, 6 + WORD $0xe2c0; BYTE $0x07 // shl dl, 7 + WORD $0xda08 // or dl, bl + LONG $0x02488844 // mov byte [rax + 2], r9b + WORD $0xca08 // or dl, cl + WORD $0x5088; BYTE $0x03 // mov byte [rax + 3], dl LONG $0x04c08348 // add rax, 4 - WORD $0x8949; BYTE $0xc4 // mov r12, rax - QUAD $0x000000c024848348; BYTE $0xff // add qword [rsp + 192], -1 + LONG $0x24048948 // mov qword [rsp], rax + QUAD $0x000000d024848348; BYTE $0xff // add qword [rsp + 208], -1 JNE LBB7_51 QUAD $0x00000088249c8b4c // mov r11, qword [rsp + 136] - QUAD $0x000000b024948b4c // mov r10, qword [rsp + 176] + QUAD $0x000000c024b48b4c // mov r14, qword [rsp + 192] LBB7_53: - LONG $0x05e2c149 // shl r10, 5 - WORD $0x394d; BYTE $0xda // cmp r10, r11 - JGE LBB7_200 + LONG $0x05e6c149 // shl r14, 5 + WORD $0x394d; BYTE $0xde // cmp r14, r11 + JGE LBB7_202 WORD $0x894d; BYTE $0xd8 // mov r8, r11 - WORD $0x294d; BYTE $0xd0 // sub r8, r10 - WORD $0xf749; BYTE $0xd2 // not r10 - WORD $0x014d; BYTE $0xda // add r10, r11 - JNE LBB7_193 - WORD $0x3145; BYTE $0xdb // xor r11d, r11d - JMP LBB7_195 + WORD $0x294d; BYTE $0xf0 // sub r8, r14 + WORD $0xf749; BYTE $0xd6 // not r14 + WORD $0x014d; BYTE $0xde // add r14, r11 + JNE LBB7_196 + WORD $0x3145; BYTE $0xd2 // xor r10d, r10d + JMP LBB7_198 LBB7_2: WORD $0xff83; BYTE $0x02 // cmp edi, 2 JE LBB7_56 WORD $0xff83; BYTE $0x03 // cmp edi, 3 - JNE LBB7_200 - WORD $0x8a44; BYTE $0x32 // mov r14b, byte [rdx] + JNE LBB7_202 + WORD $0x8a44; BYTE $0x22 // mov r12b, byte [rdx] LONG $0x1f538d4d // lea r10, [r11 + 31] WORD $0x854d; BYTE $0xdb // test r11, r11 LONG $0xd3490f4d // cmovns r10, r11 @@ -33229,9 +34518,10 @@ LBB7_2: WORD $0x2941; BYTE $0xc1 // sub r9d, eax JE LBB7_8 WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d + LONG $0x24348b4c // mov r14, qword [rsp] LBB7_6: - WORD $0x3844; BYTE $0x36 // cmp byte [rsi], r14b + WORD $0x3844; BYTE $0x26 // cmp byte [rsi], r12b LONG $0x01768d48 // lea rsi, [rsi + 1] WORD $0x9f0f; BYTE $0xd2 // setg dl WORD $0xdaf6 // neg dl @@ -33239,8 +34529,7 @@ LBB7_6: WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xf8490f48 // cmovns rdi, rax LONG $0x03ffc148 // sar rdi, 3 - WORD $0x894d; BYTE $0xe7 // mov r15, r12 - LONG $0x0cb60f45; BYTE $0x3c // movzx r9d, byte [r12 + rdi] + LONG $0x0cb60f45; BYTE $0x3e // movzx r9d, byte [r14 + rdi] WORD $0x3044; BYTE $0xca // xor dl, r9b QUAD $0x00000000fd048d44 // lea r8d, [8*rdi] WORD $0xc189 // mov ecx, eax @@ -33249,34 +34538,36 @@ LBB7_6: WORD $0xe3d3 // shl ebx, cl WORD $0xd320 // and bl, dl WORD $0x3044; BYTE $0xcb // xor bl, r9b - LONG $0x3c1c8841 // mov byte [r12 + rdi], bl + LONG $0x3e1c8841 // mov byte [r14 + rdi], bl LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 JNE LBB7_6 - LONG $0x01c48349 // add r12, 1 + LONG $0x24048348; BYTE $0x01 // add qword [rsp], 1 LBB7_8: - LONG $0x05fac149 // sar r10, 5 - LONG $0x20fb8349 // cmp r11, 32 + LONG $0x05fac149 // sar r10, 5 + LONG $0x20fb8349 // cmp r11, 32 JL LBB7_9 - LONG $0x10fa8349 // cmp r10, 16 - LONG $0x24348844 // mov byte [rsp], r14b - QUAD $0x00000088249c894c // mov qword [rsp + 136], r11 - QUAD $0x000001202494894c // mov qword [rsp + 288], r10 + LONG $0x10fa8349 // cmp r10, 16 + LONG $0x24648844; BYTE $0x08 // mov byte [rsp + 8], r12b + QUAD $0x00000088249c894c // mov qword [rsp + 136], r11 + QUAD $0x000001202494894c // mov qword [rsp + 288], r10 JB LBB7_81 - WORD $0x894c; BYTE $0xd0 // mov rax, r10 - LONG $0x05e0c148 // shl rax, 5 - WORD $0x0148; BYTE $0xf0 // add rax, rsi - WORD $0x3949; BYTE $0xc4 // cmp r12, rax + WORD $0x894c; BYTE $0xd0 // mov rax, r10 + LONG $0x05e0c148 // shl rax, 5 + WORD $0x0148; BYTE $0xf0 // add rax, rsi + LONG $0x24043948 // cmp qword [rsp], rax JAE LBB7_84 - LONG $0x94048d4b // lea rax, [r12 + 4*r10] - WORD $0x3948; BYTE $0xc6 // cmp rsi, rax + LONG $0x24048b48 // mov rax, qword [rsp] + LONG $0x90048d4a // lea rax, [rax + 4*r10] + WORD $0x3948; BYTE $0xc6 // cmp rsi, rax JAE LBB7_84 LBB7_81: WORD $0xc031 // xor eax, eax QUAD $0x000000e824848948 // mov qword [rsp + 232], rax - LONG $0x2464894c; BYTE $0x58 // mov qword [rsp + 88], r12 + LONG $0x24048b48 // mov rax, qword [rsp] + LONG $0x24448948; BYTE $0x60 // mov qword [rsp + 96], rax LBB7_87: QUAD $0x000000e824942b4c // sub r10, qword [rsp + 232] @@ -33284,170 +34575,179 @@ LBB7_87: LBB7_88: WORD $0x8948; BYTE $0xf1 // mov rcx, rsi - WORD $0x3844; BYTE $0x36 // cmp byte [rsi], r14b - QUAD $0x000000b024949f0f // setg byte [rsp + 176] - LONG $0x01763844 // cmp byte [rsi + 1], r14b + WORD $0x3844; BYTE $0x26 // cmp byte [rsi], r12b + QUAD $0x000000c024949f0f // setg byte [rsp + 192] + LONG $0x01663844 // cmp byte [rsi + 1], r12b LONG $0xd69f0f40 // setg sil - LONG $0x02713844 // cmp byte [rcx + 2], r14b + LONG $0x02613844 // cmp byte [rcx + 2], r12b LONG $0xd79f0f41 // setg r15b - LONG $0x03713844 // cmp byte [rcx + 3], r14b + LONG $0x03613844 // cmp byte [rcx + 3], r12b LONG $0xd49f0f41 // setg r12b - LONG $0x04713844 // cmp byte [rcx + 4], r14b + LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + WORD $0x4138; BYTE $0x04 // cmp byte [rcx + 4], al + QUAD $0x000000b024949f0f // setg byte [rsp + 176] + LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + WORD $0x4138; BYTE $0x05 // cmp byte [rcx + 5], al + LONG $0x24549f0f; BYTE $0x40 // setg byte [rsp + 64] + LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + WORD $0x4138; BYTE $0x06 // cmp byte [rcx + 6], al QUAD $0x000000d024949f0f // setg byte [rsp + 208] - LONG $0x05713844 // cmp byte [rcx + 5], r14b - LONG $0x24549f0f; BYTE $0x38 // setg byte [rsp + 56] - LONG $0x06713844 // cmp byte [rcx + 6], r14b - QUAD $0x000000c024949f0f // setg byte [rsp + 192] - LONG $0x07713844 // cmp byte [rcx + 7], r14b + LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + WORD $0x4138; BYTE $0x07 // cmp byte [rcx + 7], al LONG $0xd19f0f41 // setg r9b - LONG $0x08713844 // cmp byte [rcx + 8], r14b - QUAD $0x0000009024949f0f // setg byte [rsp + 144] - LONG $0x09713844 // cmp byte [rcx + 9], r14b + LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + WORD $0x4138; BYTE $0x08 // cmp byte [rcx + 8], al + QUAD $0x0000008024949f0f // setg byte [rsp + 128] + LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + WORD $0x4138; BYTE $0x09 // cmp byte [rcx + 9], al WORD $0x9f0f; BYTE $0xd2 // setg dl - LONG $0x0a713844 // cmp byte [rcx + 10], r14b + LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + WORD $0x4138; BYTE $0x0a // cmp byte [rcx + 10], al LONG $0xd79f0f40 // setg dil - LONG $0x0b713844 // cmp byte [rcx + 11], r14b + LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + WORD $0x4138; BYTE $0x0b // cmp byte [rcx + 11], al LONG $0xd29f0f41 // setg r10b - LONG $0x0c713844 // cmp byte [rcx + 12], r14b + LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + WORD $0x4138; BYTE $0x0c // cmp byte [rcx + 12], al LONG $0xd69f0f41 // setg r14b - LONG $0x2404b60f // movzx eax, byte [rsp] + LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] WORD $0x4138; BYTE $0x0d // cmp byte [rcx + 13], al LONG $0xd59f0f41 // setg r13b - LONG $0x2404b60f // movzx eax, byte [rsp] + LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] WORD $0x4138; BYTE $0x0e // cmp byte [rcx + 14], al QUAD $0x000000a024949f0f // setg byte [rsp + 160] - LONG $0x2404b60f // movzx eax, byte [rsp] + LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] WORD $0x4138; BYTE $0x0f // cmp byte [rcx + 15], al LONG $0xd09f0f41 // setg r8b - LONG $0x241cb60f // movzx ebx, byte [rsp] + LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] WORD $0x5938; BYTE $0x10 // cmp byte [rcx + 16], bl - LONG $0x24549f0f; BYTE $0x78 // setg byte [rsp + 120] - LONG $0x241cb60f // movzx ebx, byte [rsp] + QUAD $0x0000009024949f0f // setg byte [rsp + 144] + LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] WORD $0x5938; BYTE $0x11 // cmp byte [rcx + 17], bl - LONG $0x24549f0f; BYTE $0x68 // setg byte [rsp + 104] - LONG $0x241cb60f // movzx ebx, byte [rsp] - WORD $0x5938; BYTE $0x12 // cmp byte [rcx + 18], bl LONG $0x24549f0f; BYTE $0x70 // setg byte [rsp + 112] - LONG $0x241cb60f // movzx ebx, byte [rsp] + LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] + WORD $0x5938; BYTE $0x12 // cmp byte [rcx + 18], bl + LONG $0x24549f0f; BYTE $0x68 // setg byte [rsp + 104] + LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] WORD $0x5938; BYTE $0x13 // cmp byte [rcx + 19], bl - LONG $0x24549f0f; BYTE $0x60 // setg byte [rsp + 96] - LONG $0x241cb60f // movzx ebx, byte [rsp] + LONG $0x24549f0f; BYTE $0x78 // setg byte [rsp + 120] + LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] WORD $0x5938; BYTE $0x14 // cmp byte [rcx + 20], bl - LONG $0x24549f0f; BYTE $0x50 // setg byte [rsp + 80] - LONG $0x241cb60f // movzx ebx, byte [rsp] - WORD $0x5938; BYTE $0x15 // cmp byte [rcx + 21], bl LONG $0x24549f0f; BYTE $0x48 // setg byte [rsp + 72] - LONG $0x241cb60f // movzx ebx, byte [rsp] + LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] + WORD $0x5938; BYTE $0x15 // cmp byte [rcx + 21], bl + LONG $0x24549f0f; BYTE $0x58 // setg byte [rsp + 88] + LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] WORD $0x5938; BYTE $0x16 // cmp byte [rcx + 22], bl - LONG $0x24549f0f; BYTE $0x40 // setg byte [rsp + 64] - LONG $0x241cb60f // movzx ebx, byte [rsp] + LONG $0x24549f0f; BYTE $0x50 // setg byte [rsp + 80] + LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] WORD $0x5938; BYTE $0x17 // cmp byte [rcx + 23], bl LONG $0xd39f0f41 // setg r11b - LONG $0x241cb60f // movzx ebx, byte [rsp] + LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] WORD $0x5938; BYTE $0x18 // cmp byte [rcx + 24], bl - LONG $0x24549f0f; BYTE $0x30 // setg byte [rsp + 48] - LONG $0x241cb60f // movzx ebx, byte [rsp] + LONG $0x24549f0f; BYTE $0x38 // setg byte [rsp + 56] + LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] WORD $0x5938; BYTE $0x19 // cmp byte [rcx + 25], bl - LONG $0x24549f0f; BYTE $0x18 // setg byte [rsp + 24] - LONG $0x241cb60f // movzx ebx, byte [rsp] + LONG $0x24549f0f; BYTE $0x28 // setg byte [rsp + 40] + LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] WORD $0x5938; BYTE $0x1a // cmp byte [rcx + 26], bl - LONG $0x24549f0f; BYTE $0x20 // setg byte [rsp + 32] - LONG $0x241cb60f // movzx ebx, byte [rsp] + LONG $0x24549f0f; BYTE $0x30 // setg byte [rsp + 48] + LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] WORD $0x5938; BYTE $0x1b // cmp byte [rcx + 27], bl - LONG $0x24549f0f; BYTE $0x08 // setg byte [rsp + 8] - LONG $0x241cb60f // movzx ebx, byte [rsp] + LONG $0x24549f0f; BYTE $0x20 // setg byte [rsp + 32] + LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] WORD $0x5938; BYTE $0x1c // cmp byte [rcx + 28], bl - LONG $0x24549f0f; BYTE $0x28 // setg byte [rsp + 40] - LONG $0x241cb60f // movzx ebx, byte [rsp] + LONG $0x24549f0f; BYTE $0x18 // setg byte [rsp + 24] + LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] WORD $0x5938; BYTE $0x1d // cmp byte [rcx + 29], bl LONG $0x24549f0f; BYTE $0x10 // setg byte [rsp + 16] - LONG $0x241cb60f // movzx ebx, byte [rsp] + LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] WORD $0x5938; BYTE $0x1e // cmp byte [rcx + 30], bl - QUAD $0x0000008024949f0f // setg byte [rsp + 128] - LONG $0x241cb60f // movzx ebx, byte [rsp] + LONG $0x24149f0f // setg byte [rsp] + LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] WORD $0x5938; BYTE $0x1f // cmp byte [rcx + 31], bl WORD $0x9f0f; BYTE $0xd3 // setg bl WORD $0x0040; BYTE $0xf6 // add sil, sil - QUAD $0x000000b024b40240 // add sil, byte [rsp + 176] - QUAD $0x000000c02484b60f // movzx eax, byte [rsp + 192] + QUAD $0x000000c024b40240 // add sil, byte [rsp + 192] + QUAD $0x000000d02484b60f // movzx eax, byte [rsp + 208] WORD $0xe0c0; BYTE $0x06 // shl al, 6 LONG $0x07e1c041 // shl r9b, 7 WORD $0x0841; BYTE $0xc1 // or r9b, al LONG $0x02e7c041 // shl r15b, 2 WORD $0x0841; BYTE $0xf7 // or r15b, sil WORD $0xd200 // add dl, dl - LONG $0x90249402; WORD $0x0000; BYTE $0x00 // add dl, byte [rsp + 144] + LONG $0x80249402; WORD $0x0000; BYTE $0x00 // add dl, byte [rsp + 128] LONG $0x03e4c041 // shl r12b, 3 WORD $0x0845; BYTE $0xfc // or r12b, r15b LONG $0x02e7c040 // shl dil, 2 WORD $0x0840; BYTE $0xd7 // or dil, dl - QUAD $0x000000d02484b60f // movzx eax, byte [rsp + 208] + QUAD $0x000000b02484b60f // movzx eax, byte [rsp + 176] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0x0844; BYTE $0xe0 // or al, r12b + LONG $0x64b60f44; WORD $0x0824 // movzx r12d, byte [rsp + 8] LONG $0x03e2c041 // shl r10b, 3 WORD $0x0841; BYTE $0xfa // or r10b, dil - LONG $0x2454b60f; BYTE $0x38 // movzx edx, byte [rsp + 56] + LONG $0x2454b60f; BYTE $0x40 // movzx edx, byte [rsp + 64] WORD $0xe2c0; BYTE $0x05 // shl dl, 5 WORD $0xc208 // or dl, al LONG $0x04e6c041 // shl r14b, 4 WORD $0x0845; BYTE $0xd6 // or r14b, r10b LONG $0x05e5c041 // shl r13b, 5 WORD $0x0845; BYTE $0xf5 // or r13b, r14b - LONG $0x34b60f44; BYTE $0x24 // movzx r14d, byte [rsp] QUAD $0x000000a024b4b60f // movzx esi, byte [rsp + 160] LONG $0x06e6c040 // shl sil, 6 LONG $0x07e0c041 // shl r8b, 7 WORD $0x0841; BYTE $0xf0 // or r8b, sil WORD $0x0841; BYTE $0xd1 // or r9b, dl WORD $0x0845; BYTE $0xe8 // or r8b, r13b - LONG $0x2454b60f; BYTE $0x68 // movzx edx, byte [rsp + 104] + LONG $0x2454b60f; BYTE $0x70 // movzx edx, byte [rsp + 112] WORD $0xd200 // add dl, dl - LONG $0x78245402 // add dl, byte [rsp + 120] + LONG $0x90249402; WORD $0x0000; BYTE $0x00 // add dl, byte [rsp + 144] WORD $0xd689 // mov esi, edx - LONG $0x2454b60f; BYTE $0x70 // movzx edx, byte [rsp + 112] + LONG $0x2454b60f; BYTE $0x68 // movzx edx, byte [rsp + 104] WORD $0xe2c0; BYTE $0x02 // shl dl, 2 WORD $0x0840; BYTE $0xf2 // or dl, sil WORD $0xd689 // mov esi, edx - LONG $0x2454b60f; BYTE $0x60 // movzx edx, byte [rsp + 96] + LONG $0x2454b60f; BYTE $0x78 // movzx edx, byte [rsp + 120] WORD $0xe2c0; BYTE $0x03 // shl dl, 3 WORD $0x0840; BYTE $0xf2 // or dl, sil WORD $0xd689 // mov esi, edx - LONG $0x2454b60f; BYTE $0x50 // movzx edx, byte [rsp + 80] + LONG $0x2454b60f; BYTE $0x48 // movzx edx, byte [rsp + 72] WORD $0xe2c0; BYTE $0x04 // shl dl, 4 WORD $0x0840; BYTE $0xf2 // or dl, sil WORD $0xd689 // mov esi, edx - LONG $0x2454b60f; BYTE $0x48 // movzx edx, byte [rsp + 72] + LONG $0x2454b60f; BYTE $0x58 // movzx edx, byte [rsp + 88] WORD $0xe2c0; BYTE $0x05 // shl dl, 5 WORD $0x0840; BYTE $0xf2 // or dl, sil WORD $0xd689 // mov esi, edx - LONG $0x24548b48; BYTE $0x58 // mov rdx, qword [rsp + 88] + LONG $0x24548b48; BYTE $0x60 // mov rdx, qword [rsp + 96] WORD $0x8844; BYTE $0x0a // mov byte [rdx], r9b - LONG $0x247cb60f; BYTE $0x40 // movzx edi, byte [rsp + 64] + LONG $0x247cb60f; BYTE $0x50 // movzx edi, byte [rsp + 80] LONG $0x06e7c040 // shl dil, 6 LONG $0x07e3c041 // shl r11b, 7 WORD $0x0841; BYTE $0xfb // or r11b, dil LONG $0x01428844 // mov byte [rdx + 1], r8b WORD $0x0841; BYTE $0xf3 // or r11b, sil - LONG $0x2444b60f; BYTE $0x18 // movzx eax, byte [rsp + 24] + LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] WORD $0xc000 // add al, al - LONG $0x30244402 // add al, byte [rsp + 48] + LONG $0x38244402 // add al, byte [rsp + 56] WORD $0xc689 // mov esi, eax - LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] + LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] WORD $0xe0c0; BYTE $0x02 // shl al, 2 WORD $0x0840; BYTE $0xf0 // or al, sil WORD $0xc689 // mov esi, eax - LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0x0840; BYTE $0xf0 // or al, sil WORD $0xc689 // mov esi, eax - LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] + LONG $0x2444b60f; BYTE $0x18 // movzx eax, byte [rsp + 24] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0x0840; BYTE $0xf0 // or al, sil WORD $0xc689 // mov esi, eax LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0x0840; BYTE $0xf0 // or al, sil - QUAD $0x0000008024b4b60f // movzx esi, byte [rsp + 128] + LONG $0x2434b60f // movzx esi, byte [rsp] LONG $0x06e6c040 // shl sil, 6 WORD $0xe3c0; BYTE $0x07 // shl bl, 7 WORD $0x0840; BYTE $0xf3 // or bl, sil @@ -33456,7 +34756,7 @@ LBB7_88: WORD $0x5a88; BYTE $0x03 // mov byte [rdx + 3], bl LONG $0x20718d48 // lea rsi, [rcx + 32] LONG $0x04c28348 // add rdx, 4 - LONG $0x24548948; BYTE $0x58 // mov qword [rsp + 88], rdx + LONG $0x24548948; BYTE $0x60 // mov qword [rsp + 96], rdx QUAD $0x000000f024848348; BYTE $0xff // add qword [rsp + 240], -1 JNE LBB7_88 QUAD $0x00000088249c8b4c // mov r11, qword [rsp + 136] @@ -33465,9 +34765,9 @@ LBB7_88: LBB7_27: WORD $0xff83; BYTE $0x07 // cmp edi, 7 - JE LBB7_137 + JE LBB7_139 WORD $0xff83; BYTE $0x08 // cmp edi, 8 - JNE LBB7_200 + JNE LBB7_202 WORD $0x8b4c; BYTE $0x2a // mov r13, qword [rdx] LONG $0x1f538d4d // lea r10, [r11 + 31] WORD $0x854d; BYTE $0xdb // test r11, r11 @@ -33479,6 +34779,7 @@ LBB7_27: WORD $0x2941; BYTE $0xc1 // sub r9d, eax JE LBB7_33 WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d + LONG $0x240c8b4c // mov r9, qword [rsp] LBB7_31: WORD $0x3b4c; BYTE $0x2e // cmp r13, qword [rsi] @@ -33488,8 +34789,7 @@ LBB7_31: WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xd8490f48 // cmovns rbx, rax LONG $0x03fbc148 // sar rbx, 3 - WORD $0x894d; BYTE $0xe1 // mov r9, r12 - LONG $0x04b60f45; BYTE $0x1c // movzx r8d, byte [r12 + rbx] + LONG $0x04b60f45; BYTE $0x19 // movzx r8d, byte [r9 + rbx] WORD $0x3044; BYTE $0xc2 // xor dl, r8b LONG $0x00dd3c8d; WORD $0x0000; BYTE $0x00 // lea edi, [8*rbx] WORD $0xc189 // mov ecx, eax @@ -33498,11 +34798,11 @@ LBB7_31: WORD $0xe7d3 // shl edi, cl WORD $0x2040; BYTE $0xd7 // and dil, dl WORD $0x3044; BYTE $0xc7 // xor dil, r8b - LONG $0x1c3c8841 // mov byte [r12 + rbx], dil + LONG $0x193c8841 // mov byte [r9 + rbx], dil LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 JNE LBB7_31 - LONG $0x01c48349 // add r12, 1 + LONG $0x24048348; BYTE $0x01 // add qword [rsp], 1 LBB7_33: LONG $0x05fac149 // sar r10, 5 @@ -33510,36 +34810,35 @@ LBB7_33: JL LBB7_37 QUAD $0x00000088249c894c // mov qword [rsp + 136], r11 QUAD $0x000000f02494894c // mov qword [rsp + 240], r10 - QUAD $0x000000b02494894c // mov qword [rsp + 176], r10 + QUAD $0x000000c02494894c // mov qword [rsp + 192], r10 LBB7_35: - QUAD $0x0000008024a4894c // mov qword [rsp + 128], r12 WORD $0x394c; BYTE $0x2e // cmp qword [rsi], r13 - QUAD $0x000000c02494970f // seta byte [rsp + 192] + QUAD $0x000000d02494970f // seta byte [rsp + 208] LONG $0x086e394c // cmp qword [rsi + 8], r13 - LONG $0xd7970f40 // seta dil + LONG $0xd2970f41 // seta r10b LONG $0x106e394c // cmp qword [rsi + 16], r13 - LONG $0xd6970f41 // seta r14b + LONG $0xd7970f40 // seta dil LONG $0x186e394c // cmp qword [rsi + 24], r13 - QUAD $0x000000d02494970f // seta byte [rsp + 208] + QUAD $0x000000b02494970f // seta byte [rsp + 176] LONG $0x206e394c // cmp qword [rsi + 32], r13 - LONG $0x2454970f; BYTE $0x70 // seta byte [rsp + 112] + LONG $0x2454970f; BYTE $0x68 // seta byte [rsp + 104] LONG $0x286e394c // cmp qword [rsi + 40], r13 LONG $0x2454970f; BYTE $0x58 // seta byte [rsp + 88] LONG $0x306e394c // cmp qword [rsi + 48], r13 WORD $0x970f; BYTE $0xd0 // seta al LONG $0x386e394c // cmp qword [rsi + 56], r13 - WORD $0x970f; BYTE $0xd3 // seta bl + LONG $0xd6970f41 // seta r14b LONG $0x406e394c // cmp qword [rsi + 64], r13 - QUAD $0x000000902494970f // seta byte [rsp + 144] + QUAD $0x000000802494970f // seta byte [rsp + 128] LONG $0x486e394c // cmp qword [rsi + 72], r13 WORD $0x970f; BYTE $0xd2 // seta dl LONG $0x506e394c // cmp qword [rsi + 80], r13 LONG $0xd1970f41 // seta r9b LONG $0x586e394c // cmp qword [rsi + 88], r13 - LONG $0xd2970f41 // seta r10b - LONG $0x606e394c // cmp qword [rsi + 96], r13 LONG $0xd3970f41 // seta r11b + LONG $0x606e394c // cmp qword [rsi + 96], r13 + WORD $0x970f; BYTE $0xd3 // seta bl LONG $0x686e394c // cmp qword [rsi + 104], r13 LONG $0xd4970f41 // seta r12b LONG $0x706e394c // cmp qword [rsi + 112], r13 @@ -33547,126 +34846,127 @@ LBB7_35: LONG $0x786e394c // cmp qword [rsi + 120], r13 WORD $0x970f; BYTE $0xd1 // seta cl LONG $0x80ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 128], r13 - LONG $0x2454970f; BYTE $0x50 // seta byte [rsp + 80] + LONG $0x2454970f; BYTE $0x48 // seta byte [rsp + 72] LONG $0x88ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 136], r13 - LONG $0x2454970f; BYTE $0x78 // seta byte [rsp + 120] + QUAD $0x000000902494970f // seta byte [rsp + 144] LONG $0x90ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 144], r13 - LONG $0x2454970f; BYTE $0x68 // seta byte [rsp + 104] + LONG $0x2454970f; BYTE $0x70 // seta byte [rsp + 112] LONG $0x98ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 152], r13 - LONG $0x2454970f; BYTE $0x60 // seta byte [rsp + 96] + LONG $0x2454970f; BYTE $0x78 // seta byte [rsp + 120] LONG $0xa0ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 160], r13 - LONG $0x2454970f; BYTE $0x40 // seta byte [rsp + 64] + LONG $0x2454970f; BYTE $0x50 // seta byte [rsp + 80] LONG $0xa8ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 168], r13 - LONG $0x2454970f; BYTE $0x48 // seta byte [rsp + 72] + LONG $0x2454970f; BYTE $0x60 // seta byte [rsp + 96] LONG $0xb0ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 176], r13 - LONG $0x2454970f; BYTE $0x38 // seta byte [rsp + 56] + LONG $0x2454970f; BYTE $0x40 // seta byte [rsp + 64] LONG $0xb8ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 184], r13 LONG $0xd7970f41 // seta r15b LONG $0xc0ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 192], r13 - LONG $0x2454970f; BYTE $0x08 // seta byte [rsp + 8] + LONG $0x2454970f; BYTE $0x20 // seta byte [rsp + 32] LONG $0xc8ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 200], r13 - LONG $0x2454970f; BYTE $0x30 // seta byte [rsp + 48] + LONG $0x2454970f; BYTE $0x38 // seta byte [rsp + 56] LONG $0xd0ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 208], r13 - LONG $0x2454970f; BYTE $0x18 // seta byte [rsp + 24] + LONG $0x2454970f; BYTE $0x28 // seta byte [rsp + 40] LONG $0xd8ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 216], r13 - LONG $0x2454970f; BYTE $0x20 // seta byte [rsp + 32] + LONG $0x2454970f; BYTE $0x30 // seta byte [rsp + 48] LONG $0xe0ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 224], r13 - LONG $0x2454970f; BYTE $0x28 // seta byte [rsp + 40] + LONG $0x2454970f; BYTE $0x18 // seta byte [rsp + 24] LONG $0xe8ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 232], r13 LONG $0x2454970f; BYTE $0x10 // seta byte [rsp + 16] LONG $0xf0ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 240], r13 - LONG $0x2414970f // seta byte [rsp] + LONG $0x2454970f; BYTE $0x08 // seta byte [rsp + 8] LONG $0xf8ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 248], r13 LONG $0xd0970f41 // seta r8b - WORD $0x0040; BYTE $0xff // add dil, dil - QUAD $0x000000c024bc0240 // add dil, byte [rsp + 192] + WORD $0x0045; BYTE $0xd2 // add r10b, r10b + QUAD $0x000000d024940244 // add r10b, byte [rsp + 208] WORD $0xe0c0; BYTE $0x06 // shl al, 6 - WORD $0xe3c0; BYTE $0x07 // shl bl, 7 - WORD $0xc308 // or bl, al - LONG $0x02e6c041 // shl r14b, 2 - WORD $0x0841; BYTE $0xfe // or r14b, dil + LONG $0x07e6c041 // shl r14b, 7 + WORD $0x0841; BYTE $0xc6 // or r14b, al + LONG $0x02e7c040 // shl dil, 2 + WORD $0x0844; BYTE $0xd7 // or dil, r10b WORD $0xd200 // add dl, dl - LONG $0x90249402; WORD $0x0000; BYTE $0x00 // add dl, byte [rsp + 144] - QUAD $0x000000d02484b60f // movzx eax, byte [rsp + 208] + LONG $0x80249402; WORD $0x0000; BYTE $0x00 // add dl, byte [rsp + 128] + QUAD $0x000000b02484b60f // movzx eax, byte [rsp + 176] WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0x0844; BYTE $0xf0 // or al, r14b + WORD $0x0840; BYTE $0xf8 // or al, dil + LONG $0x24148b4c // mov r10, qword [rsp] LONG $0x02e1c041 // shl r9b, 2 WORD $0x0841; BYTE $0xd1 // or r9b, dl - LONG $0x2454b60f; BYTE $0x70 // movzx edx, byte [rsp + 112] + LONG $0x2454b60f; BYTE $0x68 // movzx edx, byte [rsp + 104] WORD $0xe2c0; BYTE $0x04 // shl dl, 4 WORD $0xc208 // or dl, al WORD $0xd789 // mov edi, edx - LONG $0x03e2c041 // shl r10b, 3 - WORD $0x0845; BYTE $0xca // or r10b, r9b + LONG $0x03e3c041 // shl r11b, 3 + WORD $0x0845; BYTE $0xcb // or r11b, r9b LONG $0x2454b60f; BYTE $0x58 // movzx edx, byte [rsp + 88] WORD $0xe2c0; BYTE $0x05 // shl dl, 5 WORD $0x0840; BYTE $0xfa // or dl, dil - LONG $0x04e3c041 // shl r11b, 4 - WORD $0x0845; BYTE $0xd3 // or r11b, r10b + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0x0844; BYTE $0xdb // or bl, r11b LONG $0x05e4c041 // shl r12b, 5 - WORD $0x0845; BYTE $0xdc // or r12b, r11b + WORD $0x0841; BYTE $0xdc // or r12b, bl QUAD $0x000000a024bcb60f // movzx edi, byte [rsp + 160] LONG $0x06e7c040 // shl dil, 6 WORD $0xe1c0; BYTE $0x07 // shl cl, 7 WORD $0x0840; BYTE $0xf9 // or cl, dil - WORD $0xd308 // or bl, dl + WORD $0x0841; BYTE $0xd6 // or r14b, dl WORD $0x0844; BYTE $0xe1 // or cl, r12b - QUAD $0x0000008024a48b4c // mov r12, qword [rsp + 128] - LONG $0x2454b60f; BYTE $0x78 // movzx edx, byte [rsp + 120] + QUAD $0x000000902494b60f // movzx edx, byte [rsp + 144] WORD $0xd200 // add dl, dl - LONG $0x50245402 // add dl, byte [rsp + 80] + LONG $0x48245402 // add dl, byte [rsp + 72] WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x68 // movzx edx, byte [rsp + 104] + LONG $0x2454b60f; BYTE $0x70 // movzx edx, byte [rsp + 112] WORD $0xe2c0; BYTE $0x02 // shl dl, 2 WORD $0x0840; BYTE $0xfa // or dl, dil WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x60 // movzx edx, byte [rsp + 96] + LONG $0x2454b60f; BYTE $0x78 // movzx edx, byte [rsp + 120] WORD $0xe2c0; BYTE $0x03 // shl dl, 3 WORD $0x0840; BYTE $0xfa // or dl, dil WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x40 // movzx edx, byte [rsp + 64] + LONG $0x2454b60f; BYTE $0x50 // movzx edx, byte [rsp + 80] WORD $0xe2c0; BYTE $0x04 // shl dl, 4 WORD $0x0840; BYTE $0xfa // or dl, dil WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x48 // movzx edx, byte [rsp + 72] + LONG $0x2454b60f; BYTE $0x60 // movzx edx, byte [rsp + 96] WORD $0xe2c0; BYTE $0x05 // shl dl, 5 WORD $0x0840; BYTE $0xfa // or dl, dil - LONG $0x241c8841 // mov byte [r12], bl - LONG $0x245cb60f; BYTE $0x38 // movzx ebx, byte [rsp + 56] + WORD $0x8845; BYTE $0x32 // mov byte [r10], r14b + LONG $0x245cb60f; BYTE $0x40 // movzx ebx, byte [rsp + 64] WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e7c041 // shl r15b, 7 WORD $0x0841; BYTE $0xdf // or r15b, bl - LONG $0x244c8841; BYTE $0x01 // mov byte [r12 + 1], cl + LONG $0x014a8841 // mov byte [r10 + 1], cl WORD $0x0841; BYTE $0xd7 // or r15b, dl - LONG $0x244cb60f; BYTE $0x30 // movzx ecx, byte [rsp + 48] + LONG $0x244cb60f; BYTE $0x38 // movzx ecx, byte [rsp + 56] WORD $0xc900 // add cl, cl - LONG $0x08244c02 // add cl, byte [rsp + 8] + LONG $0x20244c02 // add cl, byte [rsp + 32] WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x18 // movzx ecx, byte [rsp + 24] + LONG $0x244cb60f; BYTE $0x28 // movzx ecx, byte [rsp + 40] WORD $0xe1c0; BYTE $0x02 // shl cl, 2 WORD $0xd108 // or cl, dl WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x20 // movzx ecx, byte [rsp + 32] + LONG $0x244cb60f; BYTE $0x30 // movzx ecx, byte [rsp + 48] WORD $0xe1c0; BYTE $0x03 // shl cl, 3 WORD $0xd108 // or cl, dl WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x28 // movzx ecx, byte [rsp + 40] + LONG $0x244cb60f; BYTE $0x18 // movzx ecx, byte [rsp + 24] WORD $0xe1c0; BYTE $0x04 // shl cl, 4 WORD $0xd108 // or cl, dl WORD $0xca89 // mov edx, ecx LONG $0x244cb60f; BYTE $0x10 // movzx ecx, byte [rsp + 16] WORD $0xe1c0; BYTE $0x05 // shl cl, 5 WORD $0xd108 // or cl, dl - LONG $0x2414b60f // movzx edx, byte [rsp] + LONG $0x2454b60f; BYTE $0x08 // movzx edx, byte [rsp + 8] WORD $0xe2c0; BYTE $0x06 // shl dl, 6 LONG $0x07e0c041 // shl r8b, 7 WORD $0x0841; BYTE $0xd0 // or r8b, dl WORD $0x0841; BYTE $0xc8 // or r8b, cl - LONG $0x247c8845; BYTE $0x02 // mov byte [r12 + 2], r15b - LONG $0x24448845; BYTE $0x03 // mov byte [r12 + 3], r8b + LONG $0x027a8845 // mov byte [r10 + 2], r15b + LONG $0x03428845 // mov byte [r10 + 3], r8b LONG $0x00c68148; WORD $0x0001; BYTE $0x00 // add rsi, 256 - LONG $0x04c48349 // add r12, 4 - QUAD $0x000000b024848348; BYTE $0xff // add qword [rsp + 176], -1 + LONG $0x04c28349 // add r10, 4 + LONG $0x2414894c // mov qword [rsp], r10 + QUAD $0x000000c024848348; BYTE $0xff // add qword [rsp + 192], -1 JNE LBB7_35 QUAD $0x00000088249c8b4c // mov r11, qword [rsp + 136] QUAD $0x000000f024948b4c // mov r10, qword [rsp + 240] @@ -33674,21 +34974,20 @@ LBB7_35: LBB7_37: LONG $0x05e2c149 // shl r10, 5 WORD $0x394d; BYTE $0xda // cmp r10, r11 - JGE LBB7_200 + JGE LBB7_202 WORD $0x894d; BYTE $0xd8 // mov r8, r11 WORD $0x294d; BYTE $0xd0 // sub r8, r10 WORD $0xf749; BYTE $0xd2 // not r10 WORD $0x014d; BYTE $0xda // add r10, r11 - JNE LBB7_153 + JNE LBB7_155 WORD $0x3145; BYTE $0xdb // xor r11d, r11d JMP LBB7_40 LBB7_56: - WORD $0x028a // mov al, byte [rdx] - LONG $0x28244488 // mov byte [rsp + 40], al - LONG $0x1f538d4d // lea r10, [r11 + 31] + WORD $0x8a44; BYTE $0x12 // mov r10b, byte [rdx] + LONG $0x1f7b8d4d // lea r15, [r11 + 31] WORD $0x854d; BYTE $0xdb // test r11, r11 - LONG $0xd3490f4d // cmovns r10, r11 + LONG $0xfb490f4d // cmovns r15, r11 LONG $0x07418d41 // lea eax, [r9 + 7] WORD $0x8545; BYTE $0xc9 // test r9d, r9d LONG $0xc1490f41 // cmovns eax, r9d @@ -33696,18 +34995,17 @@ LBB7_56: WORD $0x2941; BYTE $0xc1 // sub r9d, eax JE LBB7_60 WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d + LONG $0x24348b4c // mov r14, qword [rsp] LBB7_58: - LONG $0x244cb60f; BYTE $0x28 // movzx ecx, byte [rsp + 40] - WORD $0x0e3a // cmp cl, byte [rsi] + WORD $0x3a44; BYTE $0x16 // cmp r10b, byte [rsi] LONG $0x01768d48 // lea rsi, [rsi + 1] WORD $0xd219 // sbb edx, edx LONG $0x07788d48 // lea rdi, [rax + 7] WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xf8490f48 // cmovns rdi, rax LONG $0x03ffc148 // sar rdi, 3 - WORD $0x894d; BYTE $0xe6 // mov r14, r12 - LONG $0x0cb60f45; BYTE $0x3c // movzx r9d, byte [r12 + rdi] + LONG $0x0cb60f45; BYTE $0x3e // movzx r9d, byte [r14 + rdi] WORD $0x3044; BYTE $0xca // xor dl, r9b QUAD $0x00000000fd048d44 // lea r8d, [8*rdi] WORD $0xc189 // mov ecx, eax @@ -33716,201 +35014,223 @@ LBB7_58: WORD $0xe3d3 // shl ebx, cl WORD $0xd320 // and bl, dl WORD $0x3044; BYTE $0xcb // xor bl, r9b - LONG $0x3c1c8841 // mov byte [r12 + rdi], bl + LONG $0x3e1c8841 // mov byte [r14 + rdi], bl LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 JNE LBB7_58 - LONG $0x01c48349 // add r12, 1 + LONG $0x24048348; BYTE $0x01 // add qword [rsp], 1 LBB7_60: - LONG $0x05fac149 // sar r10, 5 - LONG $0x20fb8349 // cmp r11, 32 + LONG $0x05ffc149 // sar r15, 5 + LONG $0x20fb8349 // cmp r11, 32 JL LBB7_61 - LONG $0x10fa8349 // cmp r10, 16 - QUAD $0x00000088249c894c // mov qword [rsp + 136], r11 - QUAD $0x000001082494894c // mov qword [rsp + 264], r10 + LONG $0x10ff8349 // cmp r15, 16 + LONG $0x24548844; BYTE $0x08 // mov byte [rsp + 8], r10b + QUAD $0x00000088249c894c // mov qword [rsp + 136], r11 + QUAD $0x0000010824bc894c // mov qword [rsp + 264], r15 JB LBB7_63 - WORD $0x894c; BYTE $0xd0 // mov rax, r10 - LONG $0x05e0c148 // shl rax, 5 - WORD $0x0148; BYTE $0xf0 // add rax, rsi - WORD $0x3949; BYTE $0xc4 // cmp r12, rax + WORD $0x894c; BYTE $0xf8 // mov rax, r15 + LONG $0x05e0c148 // shl rax, 5 + WORD $0x0148; BYTE $0xf0 // add rax, rsi + LONG $0x24043948 // cmp qword [rsp], rax JAE LBB7_66 - LONG $0x94048d4b // lea rax, [r12 + 4*r10] - WORD $0x3948; BYTE $0xc6 // cmp rsi, rax + LONG $0x24048b48 // mov rax, qword [rsp] + LONG $0xb8048d4a // lea rax, [rax + 4*r15] + WORD $0x3948; BYTE $0xc6 // cmp rsi, rax JAE LBB7_66 LBB7_63: WORD $0xc031 // xor eax, eax QUAD $0x000000e824848948 // mov qword [rsp + 232], rax - WORD $0x8949; BYTE $0xf6 // mov r14, rsi - LONG $0x2464894c; BYTE $0x48 // mov qword [rsp + 72], r12 + WORD $0x8949; BYTE $0xf4 // mov r12, rsi + LONG $0x24048b48 // mov rax, qword [rsp] + LONG $0x24448948; BYTE $0x78 // mov qword [rsp + 120], rax LBB7_69: - QUAD $0x000000e824942b4c // sub r10, qword [rsp + 232] - QUAD $0x000000b02494894c // mov qword [rsp + 176], r10 + QUAD $0x000000e824bc2b4c // sub r15, qword [rsp + 232] + QUAD $0x000000c024bc894c // mov qword [rsp + 192], r15 LBB7_70: - WORD $0x894c; BYTE $0xf1 // mov rcx, r14 - LONG $0x74b60f44; WORD $0x2824 // movzx r14d, byte [rsp + 40] - WORD $0x3844; BYTE $0x31 // cmp byte [rcx], r14b - QUAD $0x000000c02494970f // seta byte [rsp + 192] - LONG $0x01713844 // cmp byte [rcx + 1], r14b - LONG $0xd6970f40 // seta sil - LONG $0x02713844 // cmp byte [rcx + 2], r14b - LONG $0xd3970f41 // seta r11b - LONG $0x03713844 // cmp byte [rcx + 3], r14b - LONG $0xd7970f41 // seta r15b - LONG $0x04713844 // cmp byte [rcx + 4], r14b - QUAD $0x000000d02494970f // seta byte [rsp + 208] - LONG $0x05713844 // cmp byte [rcx + 5], r14b - LONG $0x2454970f; BYTE $0x78 // seta byte [rsp + 120] - LONG $0x06713844 // cmp byte [rcx + 6], r14b - WORD $0x970f; BYTE $0xd0 // seta al - LONG $0x07713844 // cmp byte [rcx + 7], r14b - LONG $0xd0970f41 // seta r8b - LONG $0x08713844 // cmp byte [rcx + 8], r14b - QUAD $0x000000902494970f // seta byte [rsp + 144] - LONG $0x09713844 // cmp byte [rcx + 9], r14b - WORD $0x970f; BYTE $0xd2 // seta dl - LONG $0x0a713844 // cmp byte [rcx + 10], r14b - LONG $0xd7970f40 // seta dil - LONG $0x0b713844 // cmp byte [rcx + 11], r14b - LONG $0xd1970f41 // seta r9b - LONG $0x0c713844 // cmp byte [rcx + 12], r14b - LONG $0xd2970f41 // seta r10b - LONG $0x0d713844 // cmp byte [rcx + 13], r14b - LONG $0xd4970f41 // seta r12b - LONG $0x0e713844 // cmp byte [rcx + 14], r14b - QUAD $0x000000a02494970f // seta byte [rsp + 160] - LONG $0x0f713844 // cmp byte [rcx + 15], r14b - WORD $0x970f; BYTE $0xd3 // seta bl - LONG $0x10713844 // cmp byte [rcx + 16], r14b - LONG $0x2454970f; BYTE $0x68 // seta byte [rsp + 104] - LONG $0x11713844 // cmp byte [rcx + 17], r14b - LONG $0xd5970f41 // seta r13b - LONG $0x12713844 // cmp byte [rcx + 18], r14b - LONG $0x2454970f; BYTE $0x70 // seta byte [rsp + 112] - LONG $0x13713844 // cmp byte [rcx + 19], r14b - LONG $0x2454970f; BYTE $0x60 // seta byte [rsp + 96] - LONG $0x14713844 // cmp byte [rcx + 20], r14b - LONG $0x2454970f; BYTE $0x50 // seta byte [rsp + 80] - LONG $0x15713844 // cmp byte [rcx + 21], r14b - LONG $0x2454970f; BYTE $0x40 // seta byte [rsp + 64] - LONG $0x16713844 // cmp byte [rcx + 22], r14b - LONG $0x2454970f; BYTE $0x38 // seta byte [rsp + 56] - LONG $0x17713844 // cmp byte [rcx + 23], r14b - LONG $0x2454970f; BYTE $0x58 // seta byte [rsp + 88] - LONG $0x18713844 // cmp byte [rcx + 24], r14b - LONG $0x2454970f; BYTE $0x18 // seta byte [rsp + 24] - LONG $0x19713844 // cmp byte [rcx + 25], r14b - LONG $0x2454970f; BYTE $0x30 // seta byte [rsp + 48] - LONG $0x1a713844 // cmp byte [rcx + 26], r14b - LONG $0x2454970f; BYTE $0x20 // seta byte [rsp + 32] - LONG $0x1b713844 // cmp byte [rcx + 27], r14b - LONG $0x2454970f; BYTE $0x08 // seta byte [rsp + 8] - LONG $0x1c713844 // cmp byte [rcx + 28], r14b - LONG $0x2454970f; BYTE $0x10 // seta byte [rsp + 16] - LONG $0x1d713844 // cmp byte [rcx + 29], r14b - QUAD $0x000000802494970f // seta byte [rsp + 128] - LONG $0x1e713844 // cmp byte [rcx + 30], r14b - LONG $0x2414970f // seta byte [rsp] - LONG $0x1f713844 // cmp byte [rcx + 31], r14b - LONG $0xd6970f41 // seta r14b - WORD $0x0040; BYTE $0xf6 // add sil, sil - QUAD $0x000000c024b40240 // add sil, byte [rsp + 192] - WORD $0xe0c0; BYTE $0x06 // shl al, 6 - LONG $0x07e0c041 // shl r8b, 7 - WORD $0x0841; BYTE $0xc0 // or r8b, al - LONG $0x02e3c041 // shl r11b, 2 - WORD $0x0841; BYTE $0xf3 // or r11b, sil - WORD $0xd200 // add dl, dl - LONG $0x90249402; WORD $0x0000; BYTE $0x00 // add dl, byte [rsp + 144] - LONG $0x03e7c041 // shl r15b, 3 - WORD $0x0845; BYTE $0xdf // or r15b, r11b - LONG $0x02e7c040 // shl dil, 2 - WORD $0x0840; BYTE $0xd7 // or dil, dl - QUAD $0x000000d02484b60f // movzx eax, byte [rsp + 208] - WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0x0844; BYTE $0xf8 // or al, r15b - WORD $0xc289 // mov edx, eax - LONG $0x03e1c041 // shl r9b, 3 - WORD $0x0841; BYTE $0xf9 // or r9b, dil - LONG $0x2444b60f; BYTE $0x78 // movzx eax, byte [rsp + 120] - WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xd008 // or al, dl - LONG $0x04e2c041 // shl r10b, 4 - WORD $0x0845; BYTE $0xca // or r10b, r9b - LONG $0x05e4c041 // shl r12b, 5 - WORD $0x0845; BYTE $0xd4 // or r12b, r10b - QUAD $0x000000a02494b60f // movzx edx, byte [rsp + 160] - WORD $0xe2c0; BYTE $0x06 // shl dl, 6 - WORD $0xe3c0; BYTE $0x07 // shl bl, 7 - WORD $0xd308 // or bl, dl - WORD $0x0841; BYTE $0xc0 // or r8b, al - WORD $0x0844; BYTE $0xe3 // or bl, r12b - WORD $0x0045; BYTE $0xed // add r13b, r13b - LONG $0x246c0244; BYTE $0x68 // add r13b, byte [rsp + 104] - LONG $0x2444b60f; BYTE $0x70 // movzx eax, byte [rsp + 112] - WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0x0844; BYTE $0xe8 // or al, r13b - WORD $0xc289 // mov edx, eax - LONG $0x2444b60f; BYTE $0x60 // movzx eax, byte [rsp + 96] - WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0xd008 // or al, dl - WORD $0xc289 // mov edx, eax - LONG $0x2444b60f; BYTE $0x50 // movzx eax, byte [rsp + 80] - WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0xd008 // or al, dl - WORD $0xc289 // mov edx, eax - LONG $0x2444b60f; BYTE $0x40 // movzx eax, byte [rsp + 64] - WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xd008 // or al, dl - WORD $0xc689 // mov esi, eax - LONG $0x24448b48; BYTE $0x48 // mov rax, qword [rsp + 72] - WORD $0x8844; BYTE $0x00 // mov byte [rax], r8b - LONG $0x247cb60f; BYTE $0x38 // movzx edi, byte [rsp + 56] - LONG $0x06e7c040 // shl dil, 6 - LONG $0x2454b60f; BYTE $0x58 // movzx edx, byte [rsp + 88] - WORD $0xe2c0; BYTE $0x07 // shl dl, 7 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0x5888; BYTE $0x01 // mov byte [rax + 1], bl - WORD $0x0840; BYTE $0xf2 // or dl, sil - LONG $0x245cb60f; BYTE $0x30 // movzx ebx, byte [rsp + 48] - WORD $0xdb00 // add bl, bl - LONG $0x18245c02 // add bl, byte [rsp + 24] - WORD $0xde89 // mov esi, ebx - LONG $0x245cb60f; BYTE $0x20 // movzx ebx, byte [rsp + 32] - WORD $0xe3c0; BYTE $0x02 // shl bl, 2 - WORD $0x0840; BYTE $0xf3 // or bl, sil - WORD $0xde89 // mov esi, ebx - LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] - WORD $0xe3c0; BYTE $0x03 // shl bl, 3 - WORD $0x0840; BYTE $0xf3 // or bl, sil - WORD $0xde89 // mov esi, ebx - LONG $0x245cb60f; BYTE $0x10 // movzx ebx, byte [rsp + 16] - WORD $0xe3c0; BYTE $0x04 // shl bl, 4 - WORD $0x0840; BYTE $0xf3 // or bl, sil - WORD $0xde89 // mov esi, ebx - QUAD $0x00000080249cb60f // movzx ebx, byte [rsp + 128] - WORD $0xe3c0; BYTE $0x05 // shl bl, 5 - WORD $0x0840; BYTE $0xf3 // or bl, sil - LONG $0x2434b60f // movzx esi, byte [rsp] - LONG $0x06e6c040 // shl sil, 6 - LONG $0x07e6c041 // shl r14b, 7 - WORD $0x0841; BYTE $0xf6 // or r14b, sil - WORD $0x0841; BYTE $0xde // or r14b, bl - WORD $0x5088; BYTE $0x02 // mov byte [rax + 2], dl - LONG $0x03708844 // mov byte [rax + 3], r14b - LONG $0x20718d4c // lea r14, [rcx + 32] - LONG $0x04c08348 // add rax, 4 - LONG $0x24448948; BYTE $0x48 // mov qword [rsp + 72], rax - QUAD $0x000000b024848348; BYTE $0xff // add qword [rsp + 176], -1 + WORD $0x894c; BYTE $0xe1 // mov rcx, r12 + LONG $0x24143845 // cmp byte [r12], r10b + QUAD $0x000000d02494970f // seta byte [rsp + 208] + LONG $0x24543845; BYTE $0x01 // cmp byte [r12 + 1], r10b + LONG $0xd6970f41 // seta r14b + LONG $0x24543845; BYTE $0x02 // cmp byte [r12 + 2], r10b + LONG $0xd3970f41 // seta r11b + LONG $0x24543845; BYTE $0x03 // cmp byte [r12 + 3], r10b + LONG $0xd7970f41 // seta r15b + LONG $0x24543845; BYTE $0x04 // cmp byte [r12 + 4], r10b + QUAD $0x000000b02494970f // seta byte [rsp + 176] + LONG $0x24543845; BYTE $0x05 // cmp byte [r12 + 5], r10b + LONG $0x2454970f; BYTE $0x60 // seta byte [rsp + 96] + LONG $0x24543845; BYTE $0x06 // cmp byte [r12 + 6], r10b + WORD $0x970f; BYTE $0xd0 // seta al + LONG $0x24543845; BYTE $0x07 // cmp byte [r12 + 7], r10b + LONG $0xd0970f41 // seta r8b + LONG $0x24543845; BYTE $0x08 // cmp byte [r12 + 8], r10b + QUAD $0x000000802494970f // seta byte [rsp + 128] + LONG $0x24543845; BYTE $0x09 // cmp byte [r12 + 9], r10b + LONG $0xd6970f40 // seta sil + LONG $0x24543845; BYTE $0x0a // cmp byte [r12 + 10], r10b + LONG $0xd7970f40 // seta dil + LONG $0x24543845; BYTE $0x0b // cmp byte [r12 + 11], r10b + LONG $0xd1970f41 // seta r9b + LONG $0x24543845; BYTE $0x0c // cmp byte [r12 + 12], r10b + LONG $0xd2970f41 // seta r10b + LONG $0x2454b60f; BYTE $0x08 // movzx edx, byte [rsp + 8] + LONG $0x24543841; BYTE $0x0d // cmp byte [r12 + 13], dl + LONG $0xd4970f41 // seta r12b + LONG $0x2454b60f; BYTE $0x08 // movzx edx, byte [rsp + 8] + WORD $0x5138; BYTE $0x0e // cmp byte [rcx + 14], dl + QUAD $0x000000a02494970f // seta byte [rsp + 160] + LONG $0x2454b60f; BYTE $0x08 // movzx edx, byte [rsp + 8] + WORD $0x5138; BYTE $0x0f // cmp byte [rcx + 15], dl + WORD $0x970f; BYTE $0xd3 // seta bl + LONG $0x2454b60f; BYTE $0x08 // movzx edx, byte [rsp + 8] + WORD $0x5138; BYTE $0x10 // cmp byte [rcx + 16], dl + QUAD $0x000000902494970f // seta byte [rsp + 144] + LONG $0x2454b60f; BYTE $0x08 // movzx edx, byte [rsp + 8] + WORD $0x5138; BYTE $0x11 // cmp byte [rcx + 17], dl + LONG $0xd5970f41 // seta r13b + LONG $0x2454b60f; BYTE $0x08 // movzx edx, byte [rsp + 8] + WORD $0x5138; BYTE $0x12 // cmp byte [rcx + 18], dl + LONG $0x2454970f; BYTE $0x70 // seta byte [rsp + 112] + LONG $0x2454b60f; BYTE $0x08 // movzx edx, byte [rsp + 8] + WORD $0x5138; BYTE $0x13 // cmp byte [rcx + 19], dl + LONG $0x2454970f; BYTE $0x68 // seta byte [rsp + 104] + LONG $0x2454b60f; BYTE $0x08 // movzx edx, byte [rsp + 8] + WORD $0x5138; BYTE $0x14 // cmp byte [rcx + 20], dl + LONG $0x2454970f; BYTE $0x48 // seta byte [rsp + 72] + LONG $0x2454b60f; BYTE $0x08 // movzx edx, byte [rsp + 8] + WORD $0x5138; BYTE $0x15 // cmp byte [rcx + 21], dl + LONG $0x2454970f; BYTE $0x58 // seta byte [rsp + 88] + LONG $0x2454b60f; BYTE $0x08 // movzx edx, byte [rsp + 8] + WORD $0x5138; BYTE $0x16 // cmp byte [rcx + 22], dl + LONG $0x2454970f; BYTE $0x50 // seta byte [rsp + 80] + LONG $0x2454b60f; BYTE $0x08 // movzx edx, byte [rsp + 8] + WORD $0x5138; BYTE $0x17 // cmp byte [rcx + 23], dl + LONG $0x2454970f; BYTE $0x38 // seta byte [rsp + 56] + LONG $0x2454b60f; BYTE $0x08 // movzx edx, byte [rsp + 8] + WORD $0x5138; BYTE $0x18 // cmp byte [rcx + 24], dl + LONG $0x2454970f; BYTE $0x40 // seta byte [rsp + 64] + LONG $0x2454b60f; BYTE $0x08 // movzx edx, byte [rsp + 8] + WORD $0x5138; BYTE $0x19 // cmp byte [rcx + 25], dl + LONG $0x2454970f; BYTE $0x28 // seta byte [rsp + 40] + LONG $0x2454b60f; BYTE $0x08 // movzx edx, byte [rsp + 8] + WORD $0x5138; BYTE $0x1a // cmp byte [rcx + 26], dl + LONG $0x2454970f; BYTE $0x20 // seta byte [rsp + 32] + LONG $0x2454b60f; BYTE $0x08 // movzx edx, byte [rsp + 8] + WORD $0x5138; BYTE $0x1b // cmp byte [rcx + 27], dl + LONG $0x2454970f; BYTE $0x30 // seta byte [rsp + 48] + LONG $0x2454b60f; BYTE $0x08 // movzx edx, byte [rsp + 8] + WORD $0x5138; BYTE $0x1c // cmp byte [rcx + 28], dl + LONG $0x2454970f; BYTE $0x18 // seta byte [rsp + 24] + LONG $0x2454b60f; BYTE $0x08 // movzx edx, byte [rsp + 8] + WORD $0x5138; BYTE $0x1d // cmp byte [rcx + 29], dl + LONG $0x2454970f; BYTE $0x10 // seta byte [rsp + 16] + LONG $0x2454b60f; BYTE $0x08 // movzx edx, byte [rsp + 8] + WORD $0x5138; BYTE $0x1e // cmp byte [rcx + 30], dl + LONG $0x2414970f // seta byte [rsp] + LONG $0x2454b60f; BYTE $0x08 // movzx edx, byte [rsp + 8] + WORD $0x5138; BYTE $0x1f // cmp byte [rcx + 31], dl + WORD $0x970f; BYTE $0xd2 // seta dl + WORD $0x0045; BYTE $0xf6 // add r14b, r14b + QUAD $0x000000d024b40244 // add r14b, byte [rsp + 208] + WORD $0xe0c0; BYTE $0x06 // shl al, 6 + LONG $0x07e0c041 // shl r8b, 7 + WORD $0x0841; BYTE $0xc0 // or r8b, al + LONG $0x02e3c041 // shl r11b, 2 + WORD $0x0845; BYTE $0xf3 // or r11b, r14b + WORD $0x0040; BYTE $0xf6 // add sil, sil + QUAD $0x0000008024b40240 // add sil, byte [rsp + 128] + LONG $0x03e7c041 // shl r15b, 3 + WORD $0x0845; BYTE $0xdf // or r15b, r11b + LONG $0x02e7c040 // shl dil, 2 + WORD $0x0840; BYTE $0xf7 // or dil, sil + QUAD $0x000000b02484b60f // movzx eax, byte [rsp + 176] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0844; BYTE $0xf8 // or al, r15b + WORD $0xc689 // mov esi, eax + LONG $0x03e1c041 // shl r9b, 3 + WORD $0x0841; BYTE $0xf9 // or r9b, dil + LONG $0x2444b60f; BYTE $0x60 // movzx eax, byte [rsp + 96] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0x0840; BYTE $0xf0 // or al, sil + LONG $0x04e2c041 // shl r10b, 4 + WORD $0x0845; BYTE $0xca // or r10b, r9b + LONG $0x05e4c041 // shl r12b, 5 + WORD $0x0845; BYTE $0xd4 // or r12b, r10b + LONG $0x54b60f44; WORD $0x0824 // movzx r10d, byte [rsp + 8] + QUAD $0x000000a024b4b60f // movzx esi, byte [rsp + 160] + LONG $0x06e6c040 // shl sil, 6 + WORD $0xe3c0; BYTE $0x07 // shl bl, 7 + WORD $0x0840; BYTE $0xf3 // or bl, sil + WORD $0x0841; BYTE $0xc0 // or r8b, al + WORD $0x0844; BYTE $0xe3 // or bl, r12b + WORD $0x0045; BYTE $0xed // add r13b, r13b + QUAD $0x0000009024ac0244 // add r13b, byte [rsp + 144] + LONG $0x2444b60f; BYTE $0x70 // movzx eax, byte [rsp + 112] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0x0844; BYTE $0xe8 // or al, r13b + WORD $0xc689 // mov esi, eax + LONG $0x2444b60f; BYTE $0x68 // movzx eax, byte [rsp + 104] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0x0840; BYTE $0xf0 // or al, sil + WORD $0xc689 // mov esi, eax + LONG $0x2444b60f; BYTE $0x48 // movzx eax, byte [rsp + 72] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0840; BYTE $0xf0 // or al, sil + WORD $0xc689 // mov esi, eax + LONG $0x2444b60f; BYTE $0x58 // movzx eax, byte [rsp + 88] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0x0840; BYTE $0xf0 // or al, sil + WORD $0x8941; BYTE $0xc1 // mov r9d, eax + LONG $0x24748b48; BYTE $0x78 // mov rsi, qword [rsp + 120] + WORD $0x8844; BYTE $0x06 // mov byte [rsi], r8b + LONG $0x247cb60f; BYTE $0x50 // movzx edi, byte [rsp + 80] + LONG $0x06e7c040 // shl dil, 6 + LONG $0x2444b60f; BYTE $0x38 // movzx eax, byte [rsp + 56] + WORD $0xe0c0; BYTE $0x07 // shl al, 7 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0x5e88; BYTE $0x01 // mov byte [rsi + 1], bl + WORD $0x0844; BYTE $0xc8 // or al, r9b + LONG $0x245cb60f; BYTE $0x28 // movzx ebx, byte [rsp + 40] + WORD $0xdb00 // add bl, bl + LONG $0x40245c02 // add bl, byte [rsp + 64] + WORD $0xdf89 // mov edi, ebx + LONG $0x245cb60f; BYTE $0x20 // movzx ebx, byte [rsp + 32] + WORD $0xe3c0; BYTE $0x02 // shl bl, 2 + WORD $0x0840; BYTE $0xfb // or bl, dil + WORD $0xdf89 // mov edi, ebx + LONG $0x245cb60f; BYTE $0x30 // movzx ebx, byte [rsp + 48] + WORD $0xe3c0; BYTE $0x03 // shl bl, 3 + WORD $0x0840; BYTE $0xfb // or bl, dil + WORD $0xdf89 // mov edi, ebx + LONG $0x245cb60f; BYTE $0x18 // movzx ebx, byte [rsp + 24] + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0x0840; BYTE $0xfb // or bl, dil + WORD $0xdf89 // mov edi, ebx + LONG $0x245cb60f; BYTE $0x10 // movzx ebx, byte [rsp + 16] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + WORD $0x0840; BYTE $0xfb // or bl, dil + LONG $0x243cb60f // movzx edi, byte [rsp] + LONG $0x06e7c040 // shl dil, 6 + WORD $0xe2c0; BYTE $0x07 // shl dl, 7 + WORD $0x0840; BYTE $0xfa // or dl, dil + WORD $0xda08 // or dl, bl + WORD $0x4688; BYTE $0x02 // mov byte [rsi + 2], al + WORD $0x5688; BYTE $0x03 // mov byte [rsi + 3], dl + LONG $0x20618d4c // lea r12, [rcx + 32] + LONG $0x04c68348 // add rsi, 4 + LONG $0x24748948; BYTE $0x78 // mov qword [rsp + 120], rsi + QUAD $0x000000c024848348; BYTE $0xff // add qword [rsp + 192], -1 JNE LBB7_70 - QUAD $0x00000088249c8b4c // mov r11, qword [rsp + 136] - QUAD $0x0000010824948b4c // mov r10, qword [rsp + 264] + QUAD $0x00000088249c8b4c // mov r11, qword [rsp + 136] + QUAD $0x0000010824bc8b4c // mov r15, qword [rsp + 264] JMP LBB7_72 -LBB7_137: +LBB7_139: WORD $0x8b44; BYTE $0x2a // mov r13d, dword [rdx] LONG $0x1f538d4d // lea r10, [r11 + 31] WORD $0x854d; BYTE $0xdb // test r11, r11 @@ -33920,10 +35240,11 @@ LBB7_137: LONG $0xc1490f41 // cmovns eax, r9d WORD $0xe083; BYTE $0xf8 // and eax, -8 WORD $0x2941; BYTE $0xc1 // sub r9d, eax - JE LBB7_141 + JE LBB7_143 WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d + LONG $0x240c8b4c // mov r9, qword [rsp] -LBB7_139: +LBB7_141: WORD $0x3944; BYTE $0x2e // cmp dword [rsi], r13d LONG $0x04768d48 // lea rsi, [rsi + 4] WORD $0x9f0f; BYTE $0xd2 // setg dl @@ -33932,8 +35253,7 @@ LBB7_139: WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xd8490f48 // cmovns rbx, rax LONG $0x03fbc148 // sar rbx, 3 - WORD $0x894d; BYTE $0xe1 // mov r9, r12 - LONG $0x04b60f45; BYTE $0x1c // movzx r8d, byte [r12 + rbx] + LONG $0x04b60f45; BYTE $0x19 // movzx r8d, byte [r9 + rbx] WORD $0x3044; BYTE $0xc2 // xor dl, r8b LONG $0x00dd3c8d; WORD $0x0000; BYTE $0x00 // lea edi, [8*rbx] WORD $0xc189 // mov ecx, eax @@ -33942,48 +35262,47 @@ LBB7_139: WORD $0xe7d3 // shl edi, cl WORD $0x2040; BYTE $0xd7 // and dil, dl WORD $0x3044; BYTE $0xc7 // xor dil, r8b - LONG $0x1c3c8841 // mov byte [r12 + rbx], dil + LONG $0x193c8841 // mov byte [r9 + rbx], dil LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 - JNE LBB7_139 - LONG $0x01c48349 // add r12, 1 + JNE LBB7_141 + LONG $0x24048348; BYTE $0x01 // add qword [rsp], 1 -LBB7_141: +LBB7_143: LONG $0x05fac149 // sar r10, 5 LONG $0x20fb8349 // cmp r11, 32 - JL LBB7_145 + JL LBB7_147 QUAD $0x00000088249c894c // mov qword [rsp + 136], r11 QUAD $0x000000f02494894c // mov qword [rsp + 240], r10 - QUAD $0x000000b02494894c // mov qword [rsp + 176], r10 + QUAD $0x000000c02494894c // mov qword [rsp + 192], r10 -LBB7_143: - QUAD $0x0000008024a4894c // mov qword [rsp + 128], r12 +LBB7_145: WORD $0x3944; BYTE $0x2e // cmp dword [rsi], r13d - QUAD $0x000000c024949f0f // setg byte [rsp + 192] + QUAD $0x000000d024949f0f // setg byte [rsp + 208] LONG $0x046e3944 // cmp dword [rsi + 4], r13d - LONG $0xd79f0f40 // setg dil + LONG $0xd29f0f41 // setg r10b LONG $0x086e3944 // cmp dword [rsi + 8], r13d - LONG $0xd69f0f41 // setg r14b + LONG $0xd79f0f40 // setg dil LONG $0x0c6e3944 // cmp dword [rsi + 12], r13d - QUAD $0x000000d024949f0f // setg byte [rsp + 208] + QUAD $0x000000b024949f0f // setg byte [rsp + 176] LONG $0x106e3944 // cmp dword [rsi + 16], r13d - LONG $0x24549f0f; BYTE $0x70 // setg byte [rsp + 112] + LONG $0x24549f0f; BYTE $0x68 // setg byte [rsp + 104] LONG $0x146e3944 // cmp dword [rsi + 20], r13d LONG $0x24549f0f; BYTE $0x58 // setg byte [rsp + 88] LONG $0x186e3944 // cmp dword [rsi + 24], r13d WORD $0x9f0f; BYTE $0xd0 // setg al LONG $0x1c6e3944 // cmp dword [rsi + 28], r13d - WORD $0x9f0f; BYTE $0xd3 // setg bl + LONG $0xd69f0f41 // setg r14b LONG $0x206e3944 // cmp dword [rsi + 32], r13d - QUAD $0x0000009024949f0f // setg byte [rsp + 144] + QUAD $0x0000008024949f0f // setg byte [rsp + 128] LONG $0x246e3944 // cmp dword [rsi + 36], r13d WORD $0x9f0f; BYTE $0xd2 // setg dl LONG $0x286e3944 // cmp dword [rsi + 40], r13d LONG $0xd19f0f41 // setg r9b LONG $0x2c6e3944 // cmp dword [rsi + 44], r13d - LONG $0xd29f0f41 // setg r10b - LONG $0x306e3944 // cmp dword [rsi + 48], r13d LONG $0xd39f0f41 // setg r11b + LONG $0x306e3944 // cmp dword [rsi + 48], r13d + WORD $0x9f0f; BYTE $0xd3 // setg bl LONG $0x346e3944 // cmp dword [rsi + 52], r13d LONG $0xd49f0f41 // setg r12b LONG $0x386e3944 // cmp dword [rsi + 56], r13d @@ -33991,141 +35310,142 @@ LBB7_143: LONG $0x3c6e3944 // cmp dword [rsi + 60], r13d WORD $0x9f0f; BYTE $0xd1 // setg cl LONG $0x406e3944 // cmp dword [rsi + 64], r13d - LONG $0x24549f0f; BYTE $0x50 // setg byte [rsp + 80] + LONG $0x24549f0f; BYTE $0x48 // setg byte [rsp + 72] LONG $0x446e3944 // cmp dword [rsi + 68], r13d - LONG $0x24549f0f; BYTE $0x78 // setg byte [rsp + 120] + QUAD $0x0000009024949f0f // setg byte [rsp + 144] LONG $0x486e3944 // cmp dword [rsi + 72], r13d - LONG $0x24549f0f; BYTE $0x68 // setg byte [rsp + 104] + LONG $0x24549f0f; BYTE $0x70 // setg byte [rsp + 112] LONG $0x4c6e3944 // cmp dword [rsi + 76], r13d - LONG $0x24549f0f; BYTE $0x60 // setg byte [rsp + 96] + LONG $0x24549f0f; BYTE $0x78 // setg byte [rsp + 120] LONG $0x506e3944 // cmp dword [rsi + 80], r13d - LONG $0x24549f0f; BYTE $0x40 // setg byte [rsp + 64] + LONG $0x24549f0f; BYTE $0x50 // setg byte [rsp + 80] LONG $0x546e3944 // cmp dword [rsi + 84], r13d - LONG $0x24549f0f; BYTE $0x48 // setg byte [rsp + 72] + LONG $0x24549f0f; BYTE $0x60 // setg byte [rsp + 96] LONG $0x586e3944 // cmp dword [rsi + 88], r13d - LONG $0x24549f0f; BYTE $0x38 // setg byte [rsp + 56] + LONG $0x24549f0f; BYTE $0x40 // setg byte [rsp + 64] LONG $0x5c6e3944 // cmp dword [rsi + 92], r13d LONG $0xd79f0f41 // setg r15b LONG $0x606e3944 // cmp dword [rsi + 96], r13d - LONG $0x24549f0f; BYTE $0x08 // setg byte [rsp + 8] + LONG $0x24549f0f; BYTE $0x20 // setg byte [rsp + 32] LONG $0x646e3944 // cmp dword [rsi + 100], r13d - LONG $0x24549f0f; BYTE $0x30 // setg byte [rsp + 48] + LONG $0x24549f0f; BYTE $0x38 // setg byte [rsp + 56] LONG $0x686e3944 // cmp dword [rsi + 104], r13d - LONG $0x24549f0f; BYTE $0x18 // setg byte [rsp + 24] + LONG $0x24549f0f; BYTE $0x28 // setg byte [rsp + 40] LONG $0x6c6e3944 // cmp dword [rsi + 108], r13d - LONG $0x24549f0f; BYTE $0x20 // setg byte [rsp + 32] + LONG $0x24549f0f; BYTE $0x30 // setg byte [rsp + 48] LONG $0x706e3944 // cmp dword [rsi + 112], r13d - LONG $0x24549f0f; BYTE $0x28 // setg byte [rsp + 40] + LONG $0x24549f0f; BYTE $0x18 // setg byte [rsp + 24] LONG $0x746e3944 // cmp dword [rsi + 116], r13d LONG $0x24549f0f; BYTE $0x10 // setg byte [rsp + 16] LONG $0x786e3944 // cmp dword [rsi + 120], r13d - LONG $0x24149f0f // setg byte [rsp] + LONG $0x24549f0f; BYTE $0x08 // setg byte [rsp + 8] LONG $0x7c6e3944 // cmp dword [rsi + 124], r13d LONG $0xd09f0f41 // setg r8b - WORD $0x0040; BYTE $0xff // add dil, dil - QUAD $0x000000c024bc0240 // add dil, byte [rsp + 192] + WORD $0x0045; BYTE $0xd2 // add r10b, r10b + QUAD $0x000000d024940244 // add r10b, byte [rsp + 208] WORD $0xe0c0; BYTE $0x06 // shl al, 6 - WORD $0xe3c0; BYTE $0x07 // shl bl, 7 - WORD $0xc308 // or bl, al - LONG $0x02e6c041 // shl r14b, 2 - WORD $0x0841; BYTE $0xfe // or r14b, dil + LONG $0x07e6c041 // shl r14b, 7 + WORD $0x0841; BYTE $0xc6 // or r14b, al + LONG $0x02e7c040 // shl dil, 2 + WORD $0x0844; BYTE $0xd7 // or dil, r10b WORD $0xd200 // add dl, dl - LONG $0x90249402; WORD $0x0000; BYTE $0x00 // add dl, byte [rsp + 144] - QUAD $0x000000d02484b60f // movzx eax, byte [rsp + 208] + LONG $0x80249402; WORD $0x0000; BYTE $0x00 // add dl, byte [rsp + 128] + QUAD $0x000000b02484b60f // movzx eax, byte [rsp + 176] WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0x0844; BYTE $0xf0 // or al, r14b + WORD $0x0840; BYTE $0xf8 // or al, dil + LONG $0x24148b4c // mov r10, qword [rsp] LONG $0x02e1c041 // shl r9b, 2 WORD $0x0841; BYTE $0xd1 // or r9b, dl - LONG $0x2454b60f; BYTE $0x70 // movzx edx, byte [rsp + 112] + LONG $0x2454b60f; BYTE $0x68 // movzx edx, byte [rsp + 104] WORD $0xe2c0; BYTE $0x04 // shl dl, 4 WORD $0xc208 // or dl, al WORD $0xd789 // mov edi, edx - LONG $0x03e2c041 // shl r10b, 3 - WORD $0x0845; BYTE $0xca // or r10b, r9b + LONG $0x03e3c041 // shl r11b, 3 + WORD $0x0845; BYTE $0xcb // or r11b, r9b LONG $0x2454b60f; BYTE $0x58 // movzx edx, byte [rsp + 88] WORD $0xe2c0; BYTE $0x05 // shl dl, 5 WORD $0x0840; BYTE $0xfa // or dl, dil - LONG $0x04e3c041 // shl r11b, 4 - WORD $0x0845; BYTE $0xd3 // or r11b, r10b + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0x0844; BYTE $0xdb // or bl, r11b LONG $0x05e4c041 // shl r12b, 5 - WORD $0x0845; BYTE $0xdc // or r12b, r11b + WORD $0x0841; BYTE $0xdc // or r12b, bl QUAD $0x000000a024bcb60f // movzx edi, byte [rsp + 160] LONG $0x06e7c040 // shl dil, 6 WORD $0xe1c0; BYTE $0x07 // shl cl, 7 WORD $0x0840; BYTE $0xf9 // or cl, dil - WORD $0xd308 // or bl, dl + WORD $0x0841; BYTE $0xd6 // or r14b, dl WORD $0x0844; BYTE $0xe1 // or cl, r12b - QUAD $0x0000008024a48b4c // mov r12, qword [rsp + 128] - LONG $0x2454b60f; BYTE $0x78 // movzx edx, byte [rsp + 120] + QUAD $0x000000902494b60f // movzx edx, byte [rsp + 144] WORD $0xd200 // add dl, dl - LONG $0x50245402 // add dl, byte [rsp + 80] + LONG $0x48245402 // add dl, byte [rsp + 72] WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x68 // movzx edx, byte [rsp + 104] + LONG $0x2454b60f; BYTE $0x70 // movzx edx, byte [rsp + 112] WORD $0xe2c0; BYTE $0x02 // shl dl, 2 WORD $0x0840; BYTE $0xfa // or dl, dil WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x60 // movzx edx, byte [rsp + 96] + LONG $0x2454b60f; BYTE $0x78 // movzx edx, byte [rsp + 120] WORD $0xe2c0; BYTE $0x03 // shl dl, 3 WORD $0x0840; BYTE $0xfa // or dl, dil WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x40 // movzx edx, byte [rsp + 64] + LONG $0x2454b60f; BYTE $0x50 // movzx edx, byte [rsp + 80] WORD $0xe2c0; BYTE $0x04 // shl dl, 4 WORD $0x0840; BYTE $0xfa // or dl, dil WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x48 // movzx edx, byte [rsp + 72] + LONG $0x2454b60f; BYTE $0x60 // movzx edx, byte [rsp + 96] WORD $0xe2c0; BYTE $0x05 // shl dl, 5 WORD $0x0840; BYTE $0xfa // or dl, dil - LONG $0x241c8841 // mov byte [r12], bl - LONG $0x245cb60f; BYTE $0x38 // movzx ebx, byte [rsp + 56] + WORD $0x8845; BYTE $0x32 // mov byte [r10], r14b + LONG $0x245cb60f; BYTE $0x40 // movzx ebx, byte [rsp + 64] WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e7c041 // shl r15b, 7 WORD $0x0841; BYTE $0xdf // or r15b, bl - LONG $0x244c8841; BYTE $0x01 // mov byte [r12 + 1], cl + LONG $0x014a8841 // mov byte [r10 + 1], cl WORD $0x0841; BYTE $0xd7 // or r15b, dl - LONG $0x244cb60f; BYTE $0x30 // movzx ecx, byte [rsp + 48] + LONG $0x244cb60f; BYTE $0x38 // movzx ecx, byte [rsp + 56] WORD $0xc900 // add cl, cl - LONG $0x08244c02 // add cl, byte [rsp + 8] + LONG $0x20244c02 // add cl, byte [rsp + 32] WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x18 // movzx ecx, byte [rsp + 24] + LONG $0x244cb60f; BYTE $0x28 // movzx ecx, byte [rsp + 40] WORD $0xe1c0; BYTE $0x02 // shl cl, 2 WORD $0xd108 // or cl, dl WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x20 // movzx ecx, byte [rsp + 32] + LONG $0x244cb60f; BYTE $0x30 // movzx ecx, byte [rsp + 48] WORD $0xe1c0; BYTE $0x03 // shl cl, 3 WORD $0xd108 // or cl, dl WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x28 // movzx ecx, byte [rsp + 40] + LONG $0x244cb60f; BYTE $0x18 // movzx ecx, byte [rsp + 24] WORD $0xe1c0; BYTE $0x04 // shl cl, 4 WORD $0xd108 // or cl, dl WORD $0xca89 // mov edx, ecx LONG $0x244cb60f; BYTE $0x10 // movzx ecx, byte [rsp + 16] WORD $0xe1c0; BYTE $0x05 // shl cl, 5 WORD $0xd108 // or cl, dl - LONG $0x2414b60f // movzx edx, byte [rsp] + LONG $0x2454b60f; BYTE $0x08 // movzx edx, byte [rsp + 8] WORD $0xe2c0; BYTE $0x06 // shl dl, 6 LONG $0x07e0c041 // shl r8b, 7 WORD $0x0841; BYTE $0xd0 // or r8b, dl WORD $0x0841; BYTE $0xc8 // or r8b, cl - LONG $0x247c8845; BYTE $0x02 // mov byte [r12 + 2], r15b - LONG $0x24448845; BYTE $0x03 // mov byte [r12 + 3], r8b + LONG $0x027a8845 // mov byte [r10 + 2], r15b + LONG $0x03428845 // mov byte [r10 + 3], r8b LONG $0x80c68148; WORD $0x0000; BYTE $0x00 // add rsi, 128 - LONG $0x04c48349 // add r12, 4 - QUAD $0x000000b024848348; BYTE $0xff // add qword [rsp + 176], -1 - JNE LBB7_143 + LONG $0x04c28349 // add r10, 4 + LONG $0x2414894c // mov qword [rsp], r10 + QUAD $0x000000c024848348; BYTE $0xff // add qword [rsp + 192], -1 + JNE LBB7_145 QUAD $0x00000088249c8b4c // mov r11, qword [rsp + 136] QUAD $0x000000f024948b4c // mov r10, qword [rsp + 240] -LBB7_145: +LBB7_147: LONG $0x05e2c149 // shl r10, 5 WORD $0x394d; BYTE $0xda // cmp r10, r11 - JGE LBB7_200 + JGE LBB7_202 WORD $0x894d; BYTE $0xd8 // mov r8, r11 WORD $0x294d; BYTE $0xd0 // sub r8, r10 WORD $0xf749; BYTE $0xd2 // not r10 WORD $0x014d; BYTE $0xda // add r10, r11 - JNE LBB7_151 + JNE LBB7_153 WORD $0x3145; BYTE $0xdb // xor r11d, r11d - JMP LBB7_148 + JMP LBB7_150 LBB7_98: LONG $0x2ab70f44 // movzx r13d, word [rdx] @@ -34139,6 +35459,7 @@ LBB7_98: WORD $0x2941; BYTE $0xc1 // sub r9d, eax JE LBB7_102 WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d + LONG $0x24148b48 // mov rdx, qword [rsp] LBB7_100: LONG $0x2e3b4466 // cmp r13w, word [rsi] @@ -34148,8 +35469,7 @@ LBB7_100: WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xd8490f48 // cmovns rbx, rax LONG $0x03fbc148 // sar rbx, 3 - WORD $0x894c; BYTE $0xe2 // mov rdx, r12 - LONG $0x04b60f45; BYTE $0x1c // movzx r8d, byte [r12 + rbx] + LONG $0x04b60f44; BYTE $0x1a // movzx r8d, byte [rdx + rbx] WORD $0x3045; BYTE $0xc1 // xor r9b, r8b LONG $0x00dd3c8d; WORD $0x0000; BYTE $0x00 // lea edi, [8*rbx] WORD $0xc189 // mov ecx, eax @@ -34158,11 +35478,11 @@ LBB7_100: WORD $0xe7d3 // shl edi, cl WORD $0x2044; BYTE $0xcf // and dil, r9b WORD $0x3044; BYTE $0xc7 // xor dil, r8b - LONG $0x1c3c8841 // mov byte [r12 + rbx], dil + LONG $0x1a3c8840 // mov byte [rdx + rbx], dil LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 JNE LBB7_100 - LONG $0x01c48349 // add r12, 1 + LONG $0x24048348; BYTE $0x01 // add qword [rsp], 1 LBB7_102: LONG $0x05fac149 // sar r10, 5 @@ -34170,40 +35490,39 @@ LBB7_102: JL LBB7_106 QUAD $0x00000088249c894c // mov qword [rsp + 136], r11 QUAD $0x000000f02494894c // mov qword [rsp + 240], r10 - QUAD $0x000000b02494894c // mov qword [rsp + 176], r10 + QUAD $0x000000c02494894c // mov qword [rsp + 192], r10 LBB7_104: - QUAD $0x0000008024a4894c // mov qword [rsp + 128], r12 LONG $0x2e394466 // cmp word [rsi], r13w - LONG $0x2454970f; BYTE $0x58 // seta byte [rsp + 88] + LONG $0x2454970f; BYTE $0x38 // seta byte [rsp + 56] LONG $0x6e394466; BYTE $0x02 // cmp word [rsi + 2], r13w - LONG $0xd7970f40 // seta dil + LONG $0xd2970f41 // seta r10b LONG $0x6e394466; BYTE $0x04 // cmp word [rsi + 4], r13w - LONG $0xd6970f41 // seta r14b + LONG $0xd7970f40 // seta dil LONG $0x6e394466; BYTE $0x06 // cmp word [rsi + 6], r13w - QUAD $0x000000c02494970f // seta byte [rsp + 192] + QUAD $0x000000d02494970f // seta byte [rsp + 208] LONG $0x6e394466; BYTE $0x08 // cmp word [rsi + 8], r13w - QUAD $0x000000902494970f // seta byte [rsp + 144] + QUAD $0x000000802494970f // seta byte [rsp + 128] LONG $0x6e394466; BYTE $0x0a // cmp word [rsi + 10], r13w - LONG $0x2454970f; BYTE $0x78 // seta byte [rsp + 120] + QUAD $0x000000902494970f // seta byte [rsp + 144] LONG $0x6e394466; BYTE $0x0c // cmp word [rsi + 12], r13w WORD $0x970f; BYTE $0xd0 // seta al LONG $0x6e394466; BYTE $0x0e // cmp word [rsi + 14], r13w - WORD $0x970f; BYTE $0xd3 // seta bl + LONG $0xd6970f41 // seta r14b LONG $0x6e394466; BYTE $0x10 // cmp word [rsi + 16], r13w - LONG $0x2454970f; BYTE $0x20 // seta byte [rsp + 32] + LONG $0x2454970f; BYTE $0x18 // seta byte [rsp + 24] LONG $0x6e394466; BYTE $0x12 // cmp word [rsi + 18], r13w WORD $0x970f; BYTE $0xd2 // seta dl LONG $0x6e394466; BYTE $0x14 // cmp word [rsi + 20], r13w LONG $0xd1970f41 // seta r9b LONG $0x6e394466; BYTE $0x16 // cmp word [rsi + 22], r13w - LONG $0xd2970f41 // seta r10b - LONG $0x6e394466; BYTE $0x18 // cmp word [rsi + 24], r13w LONG $0xd3970f41 // seta r11b + LONG $0x6e394466; BYTE $0x18 // cmp word [rsi + 24], r13w + WORD $0x970f; BYTE $0xd3 // seta bl LONG $0x6e394466; BYTE $0x1a // cmp word [rsi + 26], r13w LONG $0xd4970f41 // seta r12b LONG $0x6e394466; BYTE $0x1c // cmp word [rsi + 28], r13w - QUAD $0x000000d02494970f // seta byte [rsp + 208] + QUAD $0x000000b02494970f // seta byte [rsp + 176] LONG $0x6e394466; BYTE $0x1e // cmp word [rsi + 30], r13w WORD $0x970f; BYTE $0xd1 // seta cl LONG $0x6e394466; BYTE $0x20 // cmp word [rsi + 32], r13w @@ -34211,122 +35530,123 @@ LBB7_104: LONG $0x6e394466; BYTE $0x22 // cmp word [rsi + 34], r13w QUAD $0x000000a02494970f // seta byte [rsp + 160] LONG $0x6e394466; BYTE $0x24 // cmp word [rsi + 36], r13w - LONG $0x2454970f; BYTE $0x68 // seta byte [rsp + 104] - LONG $0x6e394466; BYTE $0x26 // cmp word [rsi + 38], r13w LONG $0x2454970f; BYTE $0x70 // seta byte [rsp + 112] + LONG $0x6e394466; BYTE $0x26 // cmp word [rsi + 38], r13w + LONG $0x2454970f; BYTE $0x68 // seta byte [rsp + 104] LONG $0x6e394466; BYTE $0x28 // cmp word [rsi + 40], r13w - LONG $0x2454970f; BYTE $0x60 // seta byte [rsp + 96] + LONG $0x2454970f; BYTE $0x78 // seta byte [rsp + 120] LONG $0x6e394466; BYTE $0x2a // cmp word [rsi + 42], r13w - LONG $0x2454970f; BYTE $0x50 // seta byte [rsp + 80] + LONG $0x2454970f; BYTE $0x48 // seta byte [rsp + 72] LONG $0x6e394466; BYTE $0x2c // cmp word [rsi + 44], r13w - LONG $0x2454970f; BYTE $0x40 // seta byte [rsp + 64] + LONG $0x2454970f; BYTE $0x50 // seta byte [rsp + 80] LONG $0x6e394466; BYTE $0x2e // cmp word [rsi + 46], r13w LONG $0xd7970f41 // seta r15b LONG $0x6e394466; BYTE $0x30 // cmp word [rsi + 48], r13w - LONG $0x2414970f // seta byte [rsp] + LONG $0x2454970f; BYTE $0x08 // seta byte [rsp + 8] LONG $0x6e394466; BYTE $0x32 // cmp word [rsi + 50], r13w - LONG $0x2454970f; BYTE $0x48 // seta byte [rsp + 72] + LONG $0x2454970f; BYTE $0x58 // seta byte [rsp + 88] LONG $0x6e394466; BYTE $0x34 // cmp word [rsi + 52], r13w - LONG $0x2454970f; BYTE $0x38 // seta byte [rsp + 56] + LONG $0x2454970f; BYTE $0x60 // seta byte [rsp + 96] LONG $0x6e394466; BYTE $0x36 // cmp word [rsi + 54], r13w - LONG $0x2454970f; BYTE $0x30 // seta byte [rsp + 48] + LONG $0x2454970f; BYTE $0x40 // seta byte [rsp + 64] LONG $0x6e394466; BYTE $0x38 // cmp word [rsi + 56], r13w - LONG $0x2454970f; BYTE $0x18 // seta byte [rsp + 24] + LONG $0x2454970f; BYTE $0x28 // seta byte [rsp + 40] LONG $0x6e394466; BYTE $0x3a // cmp word [rsi + 58], r13w - LONG $0x2454970f; BYTE $0x08 // seta byte [rsp + 8] + LONG $0x2454970f; BYTE $0x30 // seta byte [rsp + 48] LONG $0x6e394466; BYTE $0x3c // cmp word [rsi + 60], r13w - LONG $0x2454970f; BYTE $0x28 // seta byte [rsp + 40] + LONG $0x2454970f; BYTE $0x20 // seta byte [rsp + 32] LONG $0x6e394466; BYTE $0x3e // cmp word [rsi + 62], r13w LONG $0xd0970f41 // seta r8b - WORD $0x0040; BYTE $0xff // add dil, dil - LONG $0x247c0240; BYTE $0x58 // add dil, byte [rsp + 88] + WORD $0x0045; BYTE $0xd2 // add r10b, r10b + LONG $0x24540244; BYTE $0x38 // add r10b, byte [rsp + 56] WORD $0xe0c0; BYTE $0x06 // shl al, 6 - WORD $0xe3c0; BYTE $0x07 // shl bl, 7 - WORD $0xc308 // or bl, al - LONG $0x02e6c041 // shl r14b, 2 - WORD $0x0841; BYTE $0xfe // or r14b, dil + LONG $0x07e6c041 // shl r14b, 7 + WORD $0x0841; BYTE $0xc6 // or r14b, al + LONG $0x02e7c040 // shl dil, 2 + WORD $0x0844; BYTE $0xd7 // or dil, r10b WORD $0xd200 // add dl, dl - LONG $0x20245402 // add dl, byte [rsp + 32] - QUAD $0x000000c02484b60f // movzx eax, byte [rsp + 192] + LONG $0x18245402 // add dl, byte [rsp + 24] + QUAD $0x000000d02484b60f // movzx eax, byte [rsp + 208] WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0x0844; BYTE $0xf0 // or al, r14b + WORD $0x0840; BYTE $0xf8 // or al, dil + LONG $0x24148b4c // mov r10, qword [rsp] LONG $0x02e1c041 // shl r9b, 2 WORD $0x0841; BYTE $0xd1 // or r9b, dl - QUAD $0x000000902494b60f // movzx edx, byte [rsp + 144] + QUAD $0x000000802494b60f // movzx edx, byte [rsp + 128] WORD $0xe2c0; BYTE $0x04 // shl dl, 4 WORD $0xc208 // or dl, al WORD $0xd789 // mov edi, edx - LONG $0x03e2c041 // shl r10b, 3 - WORD $0x0845; BYTE $0xca // or r10b, r9b - LONG $0x2454b60f; BYTE $0x78 // movzx edx, byte [rsp + 120] + LONG $0x03e3c041 // shl r11b, 3 + WORD $0x0845; BYTE $0xcb // or r11b, r9b + QUAD $0x000000902494b60f // movzx edx, byte [rsp + 144] WORD $0xe2c0; BYTE $0x05 // shl dl, 5 WORD $0x0840; BYTE $0xfa // or dl, dil - LONG $0x04e3c041 // shl r11b, 4 - WORD $0x0845; BYTE $0xd3 // or r11b, r10b + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0x0844; BYTE $0xdb // or bl, r11b LONG $0x05e4c041 // shl r12b, 5 - WORD $0x0845; BYTE $0xdc // or r12b, r11b - QUAD $0x000000d024bcb60f // movzx edi, byte [rsp + 208] + WORD $0x0841; BYTE $0xdc // or r12b, bl + QUAD $0x000000b024bcb60f // movzx edi, byte [rsp + 176] LONG $0x06e7c040 // shl dil, 6 WORD $0xe1c0; BYTE $0x07 // shl cl, 7 WORD $0x0840; BYTE $0xf9 // or cl, dil - WORD $0xd308 // or bl, dl + WORD $0x0841; BYTE $0xd6 // or r14b, dl WORD $0x0844; BYTE $0xe1 // or cl, r12b - QUAD $0x0000008024a48b4c // mov r12, qword [rsp + 128] QUAD $0x000000a02494b60f // movzx edx, byte [rsp + 160] WORD $0xd200 // add dl, dl LONG $0x10245402 // add dl, byte [rsp + 16] WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x68 // movzx edx, byte [rsp + 104] + LONG $0x2454b60f; BYTE $0x70 // movzx edx, byte [rsp + 112] WORD $0xe2c0; BYTE $0x02 // shl dl, 2 WORD $0x0840; BYTE $0xfa // or dl, dil WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x70 // movzx edx, byte [rsp + 112] + LONG $0x2454b60f; BYTE $0x68 // movzx edx, byte [rsp + 104] WORD $0xe2c0; BYTE $0x03 // shl dl, 3 WORD $0x0840; BYTE $0xfa // or dl, dil WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x60 // movzx edx, byte [rsp + 96] + LONG $0x2454b60f; BYTE $0x78 // movzx edx, byte [rsp + 120] WORD $0xe2c0; BYTE $0x04 // shl dl, 4 WORD $0x0840; BYTE $0xfa // or dl, dil WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x50 // movzx edx, byte [rsp + 80] + LONG $0x2454b60f; BYTE $0x48 // movzx edx, byte [rsp + 72] WORD $0xe2c0; BYTE $0x05 // shl dl, 5 WORD $0x0840; BYTE $0xfa // or dl, dil - LONG $0x241c8841 // mov byte [r12], bl - LONG $0x245cb60f; BYTE $0x40 // movzx ebx, byte [rsp + 64] + WORD $0x8845; BYTE $0x32 // mov byte [r10], r14b + LONG $0x245cb60f; BYTE $0x50 // movzx ebx, byte [rsp + 80] WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e7c041 // shl r15b, 7 WORD $0x0841; BYTE $0xdf // or r15b, bl - LONG $0x244c8841; BYTE $0x01 // mov byte [r12 + 1], cl + LONG $0x014a8841 // mov byte [r10 + 1], cl WORD $0x0841; BYTE $0xd7 // or r15b, dl - LONG $0x244cb60f; BYTE $0x48 // movzx ecx, byte [rsp + 72] + LONG $0x244cb60f; BYTE $0x58 // movzx ecx, byte [rsp + 88] WORD $0xc900 // add cl, cl - WORD $0x0c02; BYTE $0x24 // add cl, byte [rsp] + LONG $0x08244c02 // add cl, byte [rsp + 8] WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x38 // movzx ecx, byte [rsp + 56] + LONG $0x244cb60f; BYTE $0x60 // movzx ecx, byte [rsp + 96] WORD $0xe1c0; BYTE $0x02 // shl cl, 2 WORD $0xd108 // or cl, dl WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x30 // movzx ecx, byte [rsp + 48] + LONG $0x244cb60f; BYTE $0x40 // movzx ecx, byte [rsp + 64] WORD $0xe1c0; BYTE $0x03 // shl cl, 3 WORD $0xd108 // or cl, dl WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x18 // movzx ecx, byte [rsp + 24] + LONG $0x244cb60f; BYTE $0x28 // movzx ecx, byte [rsp + 40] WORD $0xe1c0; BYTE $0x04 // shl cl, 4 WORD $0xd108 // or cl, dl WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x08 // movzx ecx, byte [rsp + 8] + LONG $0x244cb60f; BYTE $0x30 // movzx ecx, byte [rsp + 48] WORD $0xe1c0; BYTE $0x05 // shl cl, 5 WORD $0xd108 // or cl, dl - LONG $0x2454b60f; BYTE $0x28 // movzx edx, byte [rsp + 40] + LONG $0x2454b60f; BYTE $0x20 // movzx edx, byte [rsp + 32] WORD $0xe2c0; BYTE $0x06 // shl dl, 6 LONG $0x07e0c041 // shl r8b, 7 WORD $0x0841; BYTE $0xd0 // or r8b, dl WORD $0x0841; BYTE $0xc8 // or r8b, cl - LONG $0x247c8845; BYTE $0x02 // mov byte [r12 + 2], r15b - LONG $0x24448845; BYTE $0x03 // mov byte [r12 + 3], r8b + LONG $0x027a8845 // mov byte [r10 + 2], r15b + LONG $0x03428845 // mov byte [r10 + 3], r8b LONG $0x40c68348 // add rsi, 64 - LONG $0x04c48349 // add r12, 4 - QUAD $0x000000b024848348; BYTE $0xff // add qword [rsp + 176], -1 + LONG $0x04c28349 // add r10, 4 + LONG $0x2414894c // mov qword [rsp], r10 + QUAD $0x000000c024848348; BYTE $0xff // add qword [rsp + 192], -1 JNE LBB7_104 QUAD $0x00000088249c8b4c // mov r11, qword [rsp + 136] QUAD $0x000000f024948b4c // mov r10, qword [rsp + 240] @@ -34334,31 +35654,32 @@ LBB7_104: LBB7_106: LONG $0x05e2c149 // shl r10, 5 WORD $0x394d; BYTE $0xda // cmp r10, r11 - JGE LBB7_200 + JGE LBB7_202 WORD $0x894d; BYTE $0xd8 // mov r8, r11 WORD $0x294d; BYTE $0xd0 // sub r8, r10 WORD $0xf749; BYTE $0xd2 // not r10 WORD $0x014d; BYTE $0xda // add r10, r11 - JNE LBB7_111 + JNE LBB7_112 WORD $0x3145; BYTE $0xdb // xor r11d, r11d JMP LBB7_109 -LBB7_113: +LBB7_114: WORD $0xb70f; BYTE $0x02 // movzx eax, word [rdx] LONG $0xf0248489; WORD $0x0000; BYTE $0x00 // mov dword [rsp + 240], eax - LONG $0x1f738d4d // lea r14, [r11 + 31] + LONG $0x1f7b8d4d // lea r15, [r11 + 31] WORD $0x854d; BYTE $0xdb // test r11, r11 - LONG $0xf3490f4d // cmovns r14, r11 + LONG $0xfb490f4d // cmovns r15, r11 LONG $0x07418d41 // lea eax, [r9 + 7] WORD $0x8545; BYTE $0xc9 // test r9d, r9d LONG $0xc1490f41 // cmovns eax, r9d WORD $0xe083; BYTE $0xf8 // and eax, -8 WORD $0x2941; BYTE $0xc1 // sub r9d, eax - JE LBB7_117 + JE LBB7_118 WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d QUAD $0x000000f024948b44 // mov r10d, dword [rsp + 240] + LONG $0x24348b4c // mov r14, qword [rsp] -LBB7_115: +LBB7_116: LONG $0x16394466 // cmp word [rsi], r10w LONG $0x02768d48 // lea rsi, [rsi + 2] WORD $0x9f0f; BYTE $0xd2 // setg dl @@ -34367,8 +35688,7 @@ LBB7_115: WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xf8490f48 // cmovns rdi, rax LONG $0x03ffc148 // sar rdi, 3 - WORD $0x894d; BYTE $0xe7 // mov r15, r12 - LONG $0x0cb60f45; BYTE $0x3c // movzx r9d, byte [r12 + rdi] + LONG $0x0cb60f45; BYTE $0x3e // movzx r9d, byte [r14 + rdi] WORD $0x3044; BYTE $0xca // xor dl, r9b QUAD $0x00000000fd048d44 // lea r8d, [8*rdi] WORD $0xc189 // mov ecx, eax @@ -34377,51 +35697,53 @@ LBB7_115: WORD $0xe3d3 // shl ebx, cl WORD $0xd320 // and bl, dl WORD $0x3044; BYTE $0xcb // xor bl, r9b - LONG $0x3c1c8841 // mov byte [r12 + rdi], bl + LONG $0x3e1c8841 // mov byte [r14 + rdi], bl LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 - JNE LBB7_115 - LONG $0x01c48349 // add r12, 1 + JNE LBB7_116 + LONG $0x24048348; BYTE $0x01 // add qword [rsp], 1 -LBB7_117: - LONG $0x05fec149 // sar r14, 5 +LBB7_118: + LONG $0x05ffc149 // sar r15, 5 LONG $0x20fb8349 // cmp r11, 32 - JL LBB7_128 - LONG $0x08fe8349 // cmp r14, 8 + JL LBB7_119 + LONG $0x08ff8349 // cmp r15, 8 QUAD $0x00000088249c894c // mov qword [rsp + 136], r11 - QUAD $0x0000011024b4894c // mov qword [rsp + 272], r14 - JB LBB7_119 - WORD $0x894c; BYTE $0xf0 // mov rax, r14 + QUAD $0x0000011024bc894c // mov qword [rsp + 272], r15 + JB LBB7_121 + WORD $0x894c; BYTE $0xf8 // mov rax, r15 LONG $0x06e0c148 // shl rax, 6 WORD $0x0148; BYTE $0xf0 // add rax, rsi - WORD $0x3949; BYTE $0xc4 // cmp r12, rax - JAE LBB7_122 - LONG $0xb4048d4b // lea rax, [r12 + 4*r14] + LONG $0x24043948 // cmp qword [rsp], rax + JAE LBB7_124 + LONG $0x24048b48 // mov rax, qword [rsp] + LONG $0xb8048d4a // lea rax, [rax + 4*r15] WORD $0x3948; BYTE $0xf0 // cmp rax, rsi - JBE LBB7_122 + JBE LBB7_124 -LBB7_119: +LBB7_121: WORD $0xc031 // xor eax, eax - LONG $0x24448948; BYTE $0x18 // mov qword [rsp + 24], rax + LONG $0x24448948; BYTE $0x28 // mov qword [rsp + 40], rax + LONG $0x24348b4c // mov r14, qword [rsp] -LBB7_125: - LONG $0x2424894c // mov qword [rsp], r12 - LONG $0x24742b4c; BYTE $0x18 // sub r14, qword [rsp + 24] - QUAD $0x000000b024b4894c // mov qword [rsp + 176], r14 +LBB7_127: + LONG $0x2474894c; BYTE $0x08 // mov qword [rsp + 8], r14 + LONG $0x247c2b4c; BYTE $0x28 // sub r15, qword [rsp + 40] + QUAD $0x000000c024bc894c // mov qword [rsp + 192], r15 QUAD $0x000000f024ac8b44 // mov r13d, dword [rsp + 240] -LBB7_126: +LBB7_128: WORD $0x8949; BYTE $0xf3 // mov r11, rsi LONG $0x2e394466 // cmp word [rsi], r13w - QUAD $0x000000c024949f0f // setg byte [rsp + 192] + QUAD $0x000000d024949f0f // setg byte [rsp + 208] LONG $0x6e394466; BYTE $0x02 // cmp word [rsi + 2], r13w LONG $0xd09f0f41 // setg r8b LONG $0x6e394466; BYTE $0x04 // cmp word [rsi + 4], r13w LONG $0xd69f0f41 // setg r14b LONG $0x6e394466; BYTE $0x06 // cmp word [rsi + 6], r13w - QUAD $0x000000d024949f0f // setg byte [rsp + 208] + QUAD $0x000000b024949f0f // setg byte [rsp + 176] LONG $0x6e394466; BYTE $0x08 // cmp word [rsi + 8], r13w - LONG $0x24549f0f; BYTE $0x70 // setg byte [rsp + 112] + LONG $0x24549f0f; BYTE $0x68 // setg byte [rsp + 104] LONG $0x6e394466; BYTE $0x0a // cmp word [rsi + 10], r13w LONG $0x24549f0f; BYTE $0x58 // setg byte [rsp + 88] LONG $0x6e394466; BYTE $0x0c // cmp word [rsi + 12], r13w @@ -34429,7 +35751,7 @@ LBB7_126: LONG $0x6e394466; BYTE $0x0e // cmp word [rsi + 14], r13w WORD $0x9f0f; BYTE $0xd3 // setg bl LONG $0x6e394466; BYTE $0x10 // cmp word [rsi + 16], r13w - QUAD $0x0000009024949f0f // setg byte [rsp + 144] + QUAD $0x0000008024949f0f // setg byte [rsp + 128] LONG $0x6e394466; BYTE $0x12 // cmp word [rsi + 18], r13w WORD $0x9f0f; BYTE $0xd1 // setg cl LONG $0x6e394466; BYTE $0x14 // cmp word [rsi + 20], r13w @@ -34445,52 +35767,52 @@ LBB7_126: LONG $0x6b394566; BYTE $0x1e // cmp word [r11 + 30], r13w LONG $0xd79f0f40 // setg dil LONG $0x6b394566; BYTE $0x20 // cmp word [r11 + 32], r13w - LONG $0x24549f0f; BYTE $0x50 // setg byte [rsp + 80] + LONG $0x24549f0f; BYTE $0x48 // setg byte [rsp + 72] LONG $0x6b394566; BYTE $0x22 // cmp word [r11 + 34], r13w - LONG $0x24549f0f; BYTE $0x78 // setg byte [rsp + 120] + QUAD $0x0000009024949f0f // setg byte [rsp + 144] LONG $0x6b394566; BYTE $0x24 // cmp word [r11 + 36], r13w - LONG $0x24549f0f; BYTE $0x68 // setg byte [rsp + 104] + LONG $0x24549f0f; BYTE $0x70 // setg byte [rsp + 112] LONG $0x6b394566; BYTE $0x26 // cmp word [r11 + 38], r13w - LONG $0x24549f0f; BYTE $0x60 // setg byte [rsp + 96] + LONG $0x24549f0f; BYTE $0x78 // setg byte [rsp + 120] LONG $0x6b394566; BYTE $0x28 // cmp word [r11 + 40], r13w - LONG $0x24549f0f; BYTE $0x40 // setg byte [rsp + 64] + LONG $0x24549f0f; BYTE $0x50 // setg byte [rsp + 80] LONG $0x6b394566; BYTE $0x2a // cmp word [r11 + 42], r13w - LONG $0x24549f0f; BYTE $0x48 // setg byte [rsp + 72] + LONG $0x24549f0f; BYTE $0x60 // setg byte [rsp + 96] LONG $0x6b394566; BYTE $0x2c // cmp word [r11 + 44], r13w - LONG $0x24549f0f; BYTE $0x38 // setg byte [rsp + 56] + LONG $0x24549f0f; BYTE $0x40 // setg byte [rsp + 64] LONG $0x6b394566; BYTE $0x2e // cmp word [r11 + 46], r13w LONG $0xd79f0f41 // setg r15b LONG $0x6b394566; BYTE $0x30 // cmp word [r11 + 48], r13w - LONG $0x24549f0f; BYTE $0x08 // setg byte [rsp + 8] + LONG $0x24549f0f; BYTE $0x20 // setg byte [rsp + 32] LONG $0x6b394566; BYTE $0x32 // cmp word [r11 + 50], r13w - LONG $0x24549f0f; BYTE $0x30 // setg byte [rsp + 48] + LONG $0x24549f0f; BYTE $0x38 // setg byte [rsp + 56] LONG $0x6b394566; BYTE $0x34 // cmp word [r11 + 52], r13w - LONG $0x24549f0f; BYTE $0x18 // setg byte [rsp + 24] + LONG $0x24549f0f; BYTE $0x28 // setg byte [rsp + 40] LONG $0x6b394566; BYTE $0x36 // cmp word [r11 + 54], r13w - LONG $0x24549f0f; BYTE $0x20 // setg byte [rsp + 32] + LONG $0x24549f0f; BYTE $0x30 // setg byte [rsp + 48] LONG $0x6b394566; BYTE $0x38 // cmp word [r11 + 56], r13w - LONG $0x24549f0f; BYTE $0x28 // setg byte [rsp + 40] + LONG $0x24549f0f; BYTE $0x18 // setg byte [rsp + 24] LONG $0x6b394566; BYTE $0x3a // cmp word [r11 + 58], r13w LONG $0x24549f0f; BYTE $0x10 // setg byte [rsp + 16] LONG $0x6b394566; BYTE $0x3c // cmp word [r11 + 60], r13w - QUAD $0x0000008024949f0f // setg byte [rsp + 128] + LONG $0x24149f0f // setg byte [rsp] LONG $0x6b394566; BYTE $0x3e // cmp word [r11 + 62], r13w WORD $0x9f0f; BYTE $0xd2 // setg dl WORD $0x0045; BYTE $0xc0 // add r8b, r8b - QUAD $0x000000c024840244 // add r8b, byte [rsp + 192] + QUAD $0x000000d024840244 // add r8b, byte [rsp + 208] WORD $0xe0c0; BYTE $0x06 // shl al, 6 WORD $0xe3c0; BYTE $0x07 // shl bl, 7 WORD $0xc308 // or bl, al LONG $0x02e6c041 // shl r14b, 2 WORD $0x0845; BYTE $0xc6 // or r14b, r8b WORD $0xc900 // add cl, cl - LONG $0x90248c02; WORD $0x0000; BYTE $0x00 // add cl, byte [rsp + 144] - QUAD $0x000000d02484b60f // movzx eax, byte [rsp + 208] + LONG $0x80248c02; WORD $0x0000; BYTE $0x00 // add cl, byte [rsp + 128] + QUAD $0x000000b02484b60f // movzx eax, byte [rsp + 176] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0x0844; BYTE $0xf0 // or al, r14b LONG $0x02e6c040 // shl sil, 2 WORD $0x0840; BYTE $0xce // or sil, cl - LONG $0x244cb60f; BYTE $0x70 // movzx ecx, byte [rsp + 112] + LONG $0x244cb60f; BYTE $0x68 // movzx ecx, byte [rsp + 104] WORD $0xe1c0; BYTE $0x04 // shl cl, 4 WORD $0xc108 // or cl, al WORD $0x8941; BYTE $0xc8 // mov r8d, ecx @@ -34509,54 +35831,54 @@ LBB7_126: WORD $0x0840; BYTE $0xf7 // or dil, sil WORD $0xcb08 // or bl, cl WORD $0x0844; BYTE $0xe7 // or dil, r12b - LONG $0x244cb60f; BYTE $0x78 // movzx ecx, byte [rsp + 120] + QUAD $0x00000090248cb60f // movzx ecx, byte [rsp + 144] WORD $0xc900 // add cl, cl - LONG $0x50244c02 // add cl, byte [rsp + 80] + LONG $0x48244c02 // add cl, byte [rsp + 72] WORD $0xce89 // mov esi, ecx - LONG $0x244cb60f; BYTE $0x68 // movzx ecx, byte [rsp + 104] + LONG $0x244cb60f; BYTE $0x70 // movzx ecx, byte [rsp + 112] WORD $0xe1c0; BYTE $0x02 // shl cl, 2 WORD $0x0840; BYTE $0xf1 // or cl, sil WORD $0xce89 // mov esi, ecx - LONG $0x244cb60f; BYTE $0x60 // movzx ecx, byte [rsp + 96] + LONG $0x244cb60f; BYTE $0x78 // movzx ecx, byte [rsp + 120] WORD $0xe1c0; BYTE $0x03 // shl cl, 3 WORD $0x0840; BYTE $0xf1 // or cl, sil WORD $0xce89 // mov esi, ecx - LONG $0x244cb60f; BYTE $0x40 // movzx ecx, byte [rsp + 64] + LONG $0x244cb60f; BYTE $0x50 // movzx ecx, byte [rsp + 80] WORD $0xe1c0; BYTE $0x04 // shl cl, 4 WORD $0x0840; BYTE $0xf1 // or cl, sil WORD $0xce89 // mov esi, ecx - LONG $0x244cb60f; BYTE $0x48 // movzx ecx, byte [rsp + 72] + LONG $0x244cb60f; BYTE $0x60 // movzx ecx, byte [rsp + 96] WORD $0xe1c0; BYTE $0x05 // shl cl, 5 WORD $0x0840; BYTE $0xf1 // or cl, sil WORD $0xce89 // mov esi, ecx - LONG $0x240c8b48 // mov rcx, qword [rsp] + LONG $0x244c8b48; BYTE $0x08 // mov rcx, qword [rsp + 8] WORD $0x1988 // mov byte [rcx], bl - LONG $0x245cb60f; BYTE $0x38 // movzx ebx, byte [rsp + 56] + LONG $0x245cb60f; BYTE $0x40 // movzx ebx, byte [rsp + 64] WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e7c041 // shl r15b, 7 WORD $0x0841; BYTE $0xdf // or r15b, bl LONG $0x01798840 // mov byte [rcx + 1], dil WORD $0x0841; BYTE $0xf7 // or r15b, sil - LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] + LONG $0x2444b60f; BYTE $0x38 // movzx eax, byte [rsp + 56] WORD $0xc000 // add al, al - LONG $0x08244402 // add al, byte [rsp + 8] + LONG $0x20244402 // add al, byte [rsp + 32] WORD $0xc389 // mov ebx, eax - LONG $0x2444b60f; BYTE $0x18 // movzx eax, byte [rsp + 24] + LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] WORD $0xe0c0; BYTE $0x02 // shl al, 2 WORD $0xd808 // or al, bl WORD $0xc389 // mov ebx, eax - LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] + LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0xd808 // or al, bl WORD $0xc389 // mov ebx, eax - LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] + LONG $0x2444b60f; BYTE $0x18 // movzx eax, byte [rsp + 24] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0xd808 // or al, bl WORD $0xc389 // mov ebx, eax LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] WORD $0xe0c0; BYTE $0x05 // shl al, 5 WORD $0xd808 // or al, bl - QUAD $0x00000080249cb60f // movzx ebx, byte [rsp + 128] + LONG $0x241cb60f // movzx ebx, byte [rsp] WORD $0xe3c0; BYTE $0x06 // shl bl, 6 WORD $0xe2c0; BYTE $0x07 // shl dl, 7 WORD $0xda08 // or dl, bl @@ -34565,26 +35887,15 @@ LBB7_126: WORD $0x5188; BYTE $0x03 // mov byte [rcx + 3], dl LONG $0x40738d49 // lea rsi, [r11 + 64] LONG $0x04c18348 // add rcx, 4 - LONG $0x240c8948 // mov qword [rsp], rcx - QUAD $0x000000b024848348; BYTE $0xff // add qword [rsp + 176], -1 - JNE LBB7_126 + LONG $0x244c8948; BYTE $0x08 // mov qword [rsp + 8], rcx + QUAD $0x000000c024848348; BYTE $0xff // add qword [rsp + 192], -1 + JNE LBB7_128 QUAD $0x00000088249c8b4c // mov r11, qword [rsp + 136] - QUAD $0x0000011024b48b4c // mov r14, qword [rsp + 272] - LONG $0x24248b4c // mov r12, qword [rsp] - -LBB7_128: - LONG $0x05e6c149 // shl r14, 5 - WORD $0x394d; BYTE $0xde // cmp r14, r11 - JGE LBB7_200 - WORD $0x894d; BYTE $0xd8 // mov r8, r11 - WORD $0x294d; BYTE $0xf0 // sub r8, r14 - WORD $0xf749; BYTE $0xd6 // not r14 - WORD $0x014d; BYTE $0xde // add r14, r11 - JNE LBB7_133 - WORD $0x3145; BYTE $0xf6 // xor r14d, r14d - JMP LBB7_131 + QUAD $0x0000011024bc8b4c // mov r15, qword [rsp + 272] + LONG $0x24748b4c; BYTE $0x08 // mov r14, qword [rsp + 8] + JMP LBB7_130 -LBB7_155: +LBB7_157: WORD $0x8b4c; BYTE $0x2a // mov r13, qword [rdx] LONG $0x1f538d4d // lea r10, [r11 + 31] WORD $0x854d; BYTE $0xdb // test r11, r11 @@ -34594,10 +35905,11 @@ LBB7_155: LONG $0xc1490f41 // cmovns eax, r9d WORD $0xe083; BYTE $0xf8 // and eax, -8 WORD $0x2941; BYTE $0xc1 // sub r9d, eax - JE LBB7_159 + JE LBB7_161 WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d + LONG $0x240c8b4c // mov r9, qword [rsp] -LBB7_157: +LBB7_159: WORD $0x394c; BYTE $0x2e // cmp qword [rsi], r13 LONG $0x08768d48 // lea rsi, [rsi + 8] WORD $0x9f0f; BYTE $0xd2 // setg dl @@ -34606,8 +35918,7 @@ LBB7_157: WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xd8490f48 // cmovns rbx, rax LONG $0x03fbc148 // sar rbx, 3 - WORD $0x894d; BYTE $0xe1 // mov r9, r12 - LONG $0x04b60f45; BYTE $0x1c // movzx r8d, byte [r12 + rbx] + LONG $0x04b60f45; BYTE $0x19 // movzx r8d, byte [r9 + rbx] WORD $0x3044; BYTE $0xc2 // xor dl, r8b LONG $0x00dd3c8d; WORD $0x0000; BYTE $0x00 // lea edi, [8*rbx] WORD $0xc189 // mov ecx, eax @@ -34616,48 +35927,47 @@ LBB7_157: WORD $0xe7d3 // shl edi, cl WORD $0x2040; BYTE $0xd7 // and dil, dl WORD $0x3044; BYTE $0xc7 // xor dil, r8b - LONG $0x1c3c8841 // mov byte [r12 + rbx], dil + LONG $0x193c8841 // mov byte [r9 + rbx], dil LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 - JNE LBB7_157 - LONG $0x01c48349 // add r12, 1 + JNE LBB7_159 + LONG $0x24048348; BYTE $0x01 // add qword [rsp], 1 -LBB7_159: +LBB7_161: LONG $0x05fac149 // sar r10, 5 LONG $0x20fb8349 // cmp r11, 32 - JL LBB7_163 + JL LBB7_165 QUAD $0x00000088249c894c // mov qword [rsp + 136], r11 QUAD $0x000000f02494894c // mov qword [rsp + 240], r10 - QUAD $0x000000b02494894c // mov qword [rsp + 176], r10 + QUAD $0x000000c02494894c // mov qword [rsp + 192], r10 -LBB7_161: - QUAD $0x0000008024a4894c // mov qword [rsp + 128], r12 +LBB7_163: WORD $0x394c; BYTE $0x2e // cmp qword [rsi], r13 - QUAD $0x000000c024949f0f // setg byte [rsp + 192] + QUAD $0x000000d024949f0f // setg byte [rsp + 208] LONG $0x086e394c // cmp qword [rsi + 8], r13 - LONG $0xd79f0f40 // setg dil + LONG $0xd29f0f41 // setg r10b LONG $0x106e394c // cmp qword [rsi + 16], r13 - LONG $0xd69f0f41 // setg r14b + LONG $0xd79f0f40 // setg dil LONG $0x186e394c // cmp qword [rsi + 24], r13 - QUAD $0x000000d024949f0f // setg byte [rsp + 208] + QUAD $0x000000b024949f0f // setg byte [rsp + 176] LONG $0x206e394c // cmp qword [rsi + 32], r13 - LONG $0x24549f0f; BYTE $0x70 // setg byte [rsp + 112] + LONG $0x24549f0f; BYTE $0x68 // setg byte [rsp + 104] LONG $0x286e394c // cmp qword [rsi + 40], r13 LONG $0x24549f0f; BYTE $0x58 // setg byte [rsp + 88] LONG $0x306e394c // cmp qword [rsi + 48], r13 WORD $0x9f0f; BYTE $0xd0 // setg al LONG $0x386e394c // cmp qword [rsi + 56], r13 - WORD $0x9f0f; BYTE $0xd3 // setg bl + LONG $0xd69f0f41 // setg r14b LONG $0x406e394c // cmp qword [rsi + 64], r13 - QUAD $0x0000009024949f0f // setg byte [rsp + 144] + QUAD $0x0000008024949f0f // setg byte [rsp + 128] LONG $0x486e394c // cmp qword [rsi + 72], r13 WORD $0x9f0f; BYTE $0xd2 // setg dl LONG $0x506e394c // cmp qword [rsi + 80], r13 LONG $0xd19f0f41 // setg r9b LONG $0x586e394c // cmp qword [rsi + 88], r13 - LONG $0xd29f0f41 // setg r10b - LONG $0x606e394c // cmp qword [rsi + 96], r13 LONG $0xd39f0f41 // setg r11b + LONG $0x606e394c // cmp qword [rsi + 96], r13 + WORD $0x9f0f; BYTE $0xd3 // setg bl LONG $0x686e394c // cmp qword [rsi + 104], r13 LONG $0xd49f0f41 // setg r12b LONG $0x706e394c // cmp qword [rsi + 112], r13 @@ -34665,143 +35975,144 @@ LBB7_161: LONG $0x786e394c // cmp qword [rsi + 120], r13 WORD $0x9f0f; BYTE $0xd1 // setg cl LONG $0x80ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 128], r13 - LONG $0x24549f0f; BYTE $0x50 // setg byte [rsp + 80] + LONG $0x24549f0f; BYTE $0x48 // setg byte [rsp + 72] LONG $0x88ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 136], r13 - LONG $0x24549f0f; BYTE $0x78 // setg byte [rsp + 120] + QUAD $0x0000009024949f0f // setg byte [rsp + 144] LONG $0x90ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 144], r13 - LONG $0x24549f0f; BYTE $0x68 // setg byte [rsp + 104] + LONG $0x24549f0f; BYTE $0x70 // setg byte [rsp + 112] LONG $0x98ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 152], r13 - LONG $0x24549f0f; BYTE $0x60 // setg byte [rsp + 96] + LONG $0x24549f0f; BYTE $0x78 // setg byte [rsp + 120] LONG $0xa0ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 160], r13 - LONG $0x24549f0f; BYTE $0x40 // setg byte [rsp + 64] + LONG $0x24549f0f; BYTE $0x50 // setg byte [rsp + 80] LONG $0xa8ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 168], r13 - LONG $0x24549f0f; BYTE $0x48 // setg byte [rsp + 72] + LONG $0x24549f0f; BYTE $0x60 // setg byte [rsp + 96] LONG $0xb0ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 176], r13 - LONG $0x24549f0f; BYTE $0x38 // setg byte [rsp + 56] + LONG $0x24549f0f; BYTE $0x40 // setg byte [rsp + 64] LONG $0xb8ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 184], r13 LONG $0xd79f0f41 // setg r15b LONG $0xc0ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 192], r13 - LONG $0x24549f0f; BYTE $0x08 // setg byte [rsp + 8] + LONG $0x24549f0f; BYTE $0x20 // setg byte [rsp + 32] LONG $0xc8ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 200], r13 - LONG $0x24549f0f; BYTE $0x30 // setg byte [rsp + 48] + LONG $0x24549f0f; BYTE $0x38 // setg byte [rsp + 56] LONG $0xd0ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 208], r13 - LONG $0x24549f0f; BYTE $0x18 // setg byte [rsp + 24] + LONG $0x24549f0f; BYTE $0x28 // setg byte [rsp + 40] LONG $0xd8ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 216], r13 - LONG $0x24549f0f; BYTE $0x20 // setg byte [rsp + 32] + LONG $0x24549f0f; BYTE $0x30 // setg byte [rsp + 48] LONG $0xe0ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 224], r13 - LONG $0x24549f0f; BYTE $0x28 // setg byte [rsp + 40] + LONG $0x24549f0f; BYTE $0x18 // setg byte [rsp + 24] LONG $0xe8ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 232], r13 LONG $0x24549f0f; BYTE $0x10 // setg byte [rsp + 16] LONG $0xf0ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 240], r13 - LONG $0x24149f0f // setg byte [rsp] + LONG $0x24549f0f; BYTE $0x08 // setg byte [rsp + 8] LONG $0xf8ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 248], r13 LONG $0xd09f0f41 // setg r8b - WORD $0x0040; BYTE $0xff // add dil, dil - QUAD $0x000000c024bc0240 // add dil, byte [rsp + 192] + WORD $0x0045; BYTE $0xd2 // add r10b, r10b + QUAD $0x000000d024940244 // add r10b, byte [rsp + 208] WORD $0xe0c0; BYTE $0x06 // shl al, 6 - WORD $0xe3c0; BYTE $0x07 // shl bl, 7 - WORD $0xc308 // or bl, al - LONG $0x02e6c041 // shl r14b, 2 - WORD $0x0841; BYTE $0xfe // or r14b, dil + LONG $0x07e6c041 // shl r14b, 7 + WORD $0x0841; BYTE $0xc6 // or r14b, al + LONG $0x02e7c040 // shl dil, 2 + WORD $0x0844; BYTE $0xd7 // or dil, r10b WORD $0xd200 // add dl, dl - LONG $0x90249402; WORD $0x0000; BYTE $0x00 // add dl, byte [rsp + 144] - QUAD $0x000000d02484b60f // movzx eax, byte [rsp + 208] + LONG $0x80249402; WORD $0x0000; BYTE $0x00 // add dl, byte [rsp + 128] + QUAD $0x000000b02484b60f // movzx eax, byte [rsp + 176] WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0x0844; BYTE $0xf0 // or al, r14b + WORD $0x0840; BYTE $0xf8 // or al, dil + LONG $0x24148b4c // mov r10, qword [rsp] LONG $0x02e1c041 // shl r9b, 2 WORD $0x0841; BYTE $0xd1 // or r9b, dl - LONG $0x2454b60f; BYTE $0x70 // movzx edx, byte [rsp + 112] + LONG $0x2454b60f; BYTE $0x68 // movzx edx, byte [rsp + 104] WORD $0xe2c0; BYTE $0x04 // shl dl, 4 WORD $0xc208 // or dl, al WORD $0xd789 // mov edi, edx - LONG $0x03e2c041 // shl r10b, 3 - WORD $0x0845; BYTE $0xca // or r10b, r9b + LONG $0x03e3c041 // shl r11b, 3 + WORD $0x0845; BYTE $0xcb // or r11b, r9b LONG $0x2454b60f; BYTE $0x58 // movzx edx, byte [rsp + 88] WORD $0xe2c0; BYTE $0x05 // shl dl, 5 WORD $0x0840; BYTE $0xfa // or dl, dil - LONG $0x04e3c041 // shl r11b, 4 - WORD $0x0845; BYTE $0xd3 // or r11b, r10b + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0x0844; BYTE $0xdb // or bl, r11b LONG $0x05e4c041 // shl r12b, 5 - WORD $0x0845; BYTE $0xdc // or r12b, r11b + WORD $0x0841; BYTE $0xdc // or r12b, bl QUAD $0x000000a024bcb60f // movzx edi, byte [rsp + 160] LONG $0x06e7c040 // shl dil, 6 WORD $0xe1c0; BYTE $0x07 // shl cl, 7 WORD $0x0840; BYTE $0xf9 // or cl, dil - WORD $0xd308 // or bl, dl + WORD $0x0841; BYTE $0xd6 // or r14b, dl WORD $0x0844; BYTE $0xe1 // or cl, r12b - QUAD $0x0000008024a48b4c // mov r12, qword [rsp + 128] - LONG $0x2454b60f; BYTE $0x78 // movzx edx, byte [rsp + 120] + QUAD $0x000000902494b60f // movzx edx, byte [rsp + 144] WORD $0xd200 // add dl, dl - LONG $0x50245402 // add dl, byte [rsp + 80] + LONG $0x48245402 // add dl, byte [rsp + 72] WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x68 // movzx edx, byte [rsp + 104] + LONG $0x2454b60f; BYTE $0x70 // movzx edx, byte [rsp + 112] WORD $0xe2c0; BYTE $0x02 // shl dl, 2 WORD $0x0840; BYTE $0xfa // or dl, dil WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x60 // movzx edx, byte [rsp + 96] + LONG $0x2454b60f; BYTE $0x78 // movzx edx, byte [rsp + 120] WORD $0xe2c0; BYTE $0x03 // shl dl, 3 WORD $0x0840; BYTE $0xfa // or dl, dil WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x40 // movzx edx, byte [rsp + 64] + LONG $0x2454b60f; BYTE $0x50 // movzx edx, byte [rsp + 80] WORD $0xe2c0; BYTE $0x04 // shl dl, 4 WORD $0x0840; BYTE $0xfa // or dl, dil WORD $0xd789 // mov edi, edx - LONG $0x2454b60f; BYTE $0x48 // movzx edx, byte [rsp + 72] + LONG $0x2454b60f; BYTE $0x60 // movzx edx, byte [rsp + 96] WORD $0xe2c0; BYTE $0x05 // shl dl, 5 WORD $0x0840; BYTE $0xfa // or dl, dil - LONG $0x241c8841 // mov byte [r12], bl - LONG $0x245cb60f; BYTE $0x38 // movzx ebx, byte [rsp + 56] + WORD $0x8845; BYTE $0x32 // mov byte [r10], r14b + LONG $0x245cb60f; BYTE $0x40 // movzx ebx, byte [rsp + 64] WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e7c041 // shl r15b, 7 WORD $0x0841; BYTE $0xdf // or r15b, bl - LONG $0x244c8841; BYTE $0x01 // mov byte [r12 + 1], cl + LONG $0x014a8841 // mov byte [r10 + 1], cl WORD $0x0841; BYTE $0xd7 // or r15b, dl - LONG $0x244cb60f; BYTE $0x30 // movzx ecx, byte [rsp + 48] + LONG $0x244cb60f; BYTE $0x38 // movzx ecx, byte [rsp + 56] WORD $0xc900 // add cl, cl - LONG $0x08244c02 // add cl, byte [rsp + 8] + LONG $0x20244c02 // add cl, byte [rsp + 32] WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x18 // movzx ecx, byte [rsp + 24] + LONG $0x244cb60f; BYTE $0x28 // movzx ecx, byte [rsp + 40] WORD $0xe1c0; BYTE $0x02 // shl cl, 2 WORD $0xd108 // or cl, dl WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x20 // movzx ecx, byte [rsp + 32] + LONG $0x244cb60f; BYTE $0x30 // movzx ecx, byte [rsp + 48] WORD $0xe1c0; BYTE $0x03 // shl cl, 3 WORD $0xd108 // or cl, dl WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x28 // movzx ecx, byte [rsp + 40] + LONG $0x244cb60f; BYTE $0x18 // movzx ecx, byte [rsp + 24] WORD $0xe1c0; BYTE $0x04 // shl cl, 4 WORD $0xd108 // or cl, dl WORD $0xca89 // mov edx, ecx LONG $0x244cb60f; BYTE $0x10 // movzx ecx, byte [rsp + 16] WORD $0xe1c0; BYTE $0x05 // shl cl, 5 WORD $0xd108 // or cl, dl - LONG $0x2414b60f // movzx edx, byte [rsp] + LONG $0x2454b60f; BYTE $0x08 // movzx edx, byte [rsp + 8] WORD $0xe2c0; BYTE $0x06 // shl dl, 6 LONG $0x07e0c041 // shl r8b, 7 WORD $0x0841; BYTE $0xd0 // or r8b, dl WORD $0x0841; BYTE $0xc8 // or r8b, cl - LONG $0x247c8845; BYTE $0x02 // mov byte [r12 + 2], r15b - LONG $0x24448845; BYTE $0x03 // mov byte [r12 + 3], r8b + LONG $0x027a8845 // mov byte [r10 + 2], r15b + LONG $0x03428845 // mov byte [r10 + 3], r8b LONG $0x00c68148; WORD $0x0001; BYTE $0x00 // add rsi, 256 - LONG $0x04c48349 // add r12, 4 - QUAD $0x000000b024848348; BYTE $0xff // add qword [rsp + 176], -1 - JNE LBB7_161 + LONG $0x04c28349 // add r10, 4 + LONG $0x2414894c // mov qword [rsp], r10 + QUAD $0x000000c024848348; BYTE $0xff // add qword [rsp + 192], -1 + JNE LBB7_163 QUAD $0x00000088249c8b4c // mov r11, qword [rsp + 136] QUAD $0x000000f024948b4c // mov r10, qword [rsp + 240] -LBB7_163: +LBB7_165: LONG $0x05e2c149 // shl r10, 5 WORD $0x394d; BYTE $0xda // cmp r10, r11 - JGE LBB7_200 + JGE LBB7_202 WORD $0x894d; BYTE $0xd8 // mov r8, r11 WORD $0x294d; BYTE $0xd0 // sub r8, r10 WORD $0xf749; BYTE $0xd2 // not r10 WORD $0x014d; BYTE $0xda // add r10, r11 - JNE LBB7_168 + JNE LBB7_170 WORD $0x3145; BYTE $0xdb // xor r11d, r11d - JMP LBB7_166 + JMP LBB7_168 -LBB7_170: +LBB7_172: LONG $0x1f538d4d // lea r10, [r11 + 31] WORD $0x854d; BYTE $0xdb // test r11, r11 LONG $0xd3490f4d // cmovns r10, r11 @@ -34811,19 +36122,21 @@ LBB7_170: WORD $0xe083; BYTE $0xf8 // and eax, -8 LONG $0x100f44f3; BYTE $0x1a // movss xmm11, dword [rdx] WORD $0x2941; BYTE $0xc1 // sub r9d, eax - JE LBB7_174 + JE LBB7_176 WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d + LONG $0x24348b4c // mov r14, qword [rsp] -LBB7_172: - LONG $0x1e2e0f44 // ucomiss xmm11, dword [rsi] - LONG $0x04768d48 // lea rsi, [rsi + 4] - WORD $0xd219 // sbb edx, edx +LBB7_174: + LONG $0x06100ff3 // movss xmm0, dword [rsi] + LONG $0x04c68348 // add rsi, 4 + LONG $0xc32e0f41 // ucomiss xmm0, xmm11 + WORD $0x970f; BYTE $0xd2 // seta dl + WORD $0xdaf6 // neg dl LONG $0x07788d48 // lea rdi, [rax + 7] WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xf8490f48 // cmovns rdi, rax LONG $0x03ffc148 // sar rdi, 3 - WORD $0x894d; BYTE $0xe6 // mov r14, r12 - LONG $0x0cb60f45; BYTE $0x3c // movzx r9d, byte [r12 + rdi] + LONG $0x0cb60f45; BYTE $0x3e // movzx r9d, byte [r14 + rdi] WORD $0x3044; BYTE $0xca // xor dl, r9b QUAD $0x00000000fd048d44 // lea r8d, [8*rdi] WORD $0xc189 // mov ecx, eax @@ -34832,203 +36145,235 @@ LBB7_172: WORD $0xe3d3 // shl ebx, cl WORD $0xd320 // and bl, dl WORD $0x3044; BYTE $0xcb // xor bl, r9b - LONG $0x3c1c8841 // mov byte [r12 + rdi], bl + LONG $0x3e1c8841 // mov byte [r14 + rdi], bl LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 - JNE LBB7_172 - LONG $0x01c48349 // add r12, 1 + JNE LBB7_174 + LONG $0x24048348; BYTE $0x01 // add qword [rsp], 1 -LBB7_174: +LBB7_176: LONG $0x05fac149 // sar r10, 5 LONG $0x20fb8349 // cmp r11, 32 - JL LBB7_175 + JL LBB7_177 LONG $0x04fa8349 // cmp r10, 4 - JB LBB7_177 + JB LBB7_179 WORD $0x894c; BYTE $0xd0 // mov rax, r10 LONG $0x07e0c148 // shl rax, 7 WORD $0x0148; BYTE $0xf0 // add rax, rsi - WORD $0x3949; BYTE $0xc4 // cmp r12, rax - JAE LBB7_180 - LONG $0x94048d4b // lea rax, [r12 + 4*r10] + LONG $0x24043948 // cmp qword [rsp], rax + JAE LBB7_182 + LONG $0x24048b48 // mov rax, qword [rsp] + LONG $0x90048d4a // lea rax, [rax + 4*r10] WORD $0x3948; BYTE $0xf0 // cmp rax, rsi - JBE LBB7_180 + JBE LBB7_182 -LBB7_177: - WORD $0x3145; BYTE $0xc0 // xor r8d, r8d - WORD $0x8948; BYTE $0xf3 // mov rbx, rsi - WORD $0x894d; BYTE $0xe6 // mov r14, r12 +LBB7_179: + WORD $0xc031 // xor eax, eax + WORD $0x8948; BYTE $0xf2 // mov rdx, rsi + LONG $0x243c8b4c // mov r15, qword [rsp] -LBB7_183: +LBB7_185: + LONG $0x243c894c // mov qword [rsp], r15 QUAD $0x00000088249c894c // mov qword [rsp + 136], r11 - QUAD $0x000000b02494894c // mov qword [rsp + 176], r10 - WORD $0x294d; BYTE $0xc2 // sub r10, r8 QUAD $0x000000c02494894c // mov qword [rsp + 192], r10 + WORD $0x2949; BYTE $0xc2 // sub r10, rax + QUAD $0x000000d02494894c // mov qword [rsp + 208], r10 -LBB7_184: - LONG $0x2434894c // mov qword [rsp], r14 - LONG $0x1b2e0f44 // ucomiss xmm11, dword [rbx] - QUAD $0x000000d02494920f // setb byte [rsp + 208] - LONG $0x5b2e0f44; BYTE $0x04 // ucomiss xmm11, dword [rbx + 4] - LONG $0xd0920f41 // setb r8b - LONG $0x5b2e0f44; BYTE $0x08 // ucomiss xmm11, dword [rbx + 8] - LONG $0xd6920f41 // setb r14b - LONG $0x5b2e0f44; BYTE $0x0c // ucomiss xmm11, dword [rbx + 12] - LONG $0xd5920f41 // setb r13b - LONG $0x5b2e0f44; BYTE $0x10 // ucomiss xmm11, dword [rbx + 16] - LONG $0x2454920f; BYTE $0x70 // setb byte [rsp + 112] - LONG $0x5b2e0f44; BYTE $0x14 // ucomiss xmm11, dword [rbx + 20] - LONG $0x2454920f; BYTE $0x58 // setb byte [rsp + 88] - LONG $0x5b2e0f44; BYTE $0x18 // ucomiss xmm11, dword [rbx + 24] - WORD $0x920f; BYTE $0xd0 // setb al - LONG $0x5b2e0f44; BYTE $0x1c // ucomiss xmm11, dword [rbx + 28] - LONG $0xd3920f41 // setb r11b - LONG $0x5b2e0f44; BYTE $0x20 // ucomiss xmm11, dword [rbx + 32] - QUAD $0x000000a02494920f // setb byte [rsp + 160] - LONG $0x5b2e0f44; BYTE $0x24 // ucomiss xmm11, dword [rbx + 36] - WORD $0x920f; BYTE $0xd2 // setb dl - LONG $0x5b2e0f44; BYTE $0x28 // ucomiss xmm11, dword [rbx + 40] - LONG $0xd6920f40 // setb sil - LONG $0x5b2e0f44; BYTE $0x2c // ucomiss xmm11, dword [rbx + 44] - LONG $0xd1920f41 // setb r9b - LONG $0x5b2e0f44; BYTE $0x30 // ucomiss xmm11, dword [rbx + 48] - LONG $0xd2920f41 // setb r10b - LONG $0x5b2e0f44; BYTE $0x34 // ucomiss xmm11, dword [rbx + 52] - LONG $0xd4920f41 // setb r12b - LONG $0x5b2e0f44; BYTE $0x38 // ucomiss xmm11, dword [rbx + 56] - LONG $0x2454920f; BYTE $0x78 // setb byte [rsp + 120] - LONG $0x5b2e0f44; BYTE $0x3c // ucomiss xmm11, dword [rbx + 60] - LONG $0xd7920f40 // setb dil - LONG $0x5b2e0f44; BYTE $0x40 // ucomiss xmm11, dword [rbx + 64] - LONG $0x2454920f; BYTE $0x50 // setb byte [rsp + 80] - LONG $0x5b2e0f44; BYTE $0x44 // ucomiss xmm11, dword [rbx + 68] - QUAD $0x000000902494920f // setb byte [rsp + 144] - LONG $0x5b2e0f44; BYTE $0x48 // ucomiss xmm11, dword [rbx + 72] - LONG $0x2454920f; BYTE $0x68 // setb byte [rsp + 104] - LONG $0x5b2e0f44; BYTE $0x4c // ucomiss xmm11, dword [rbx + 76] - LONG $0x2454920f; BYTE $0x60 // setb byte [rsp + 96] - LONG $0x5b2e0f44; BYTE $0x50 // ucomiss xmm11, dword [rbx + 80] - LONG $0x2454920f; BYTE $0x40 // setb byte [rsp + 64] - LONG $0x5b2e0f44; BYTE $0x54 // ucomiss xmm11, dword [rbx + 84] - LONG $0x2454920f; BYTE $0x48 // setb byte [rsp + 72] - LONG $0x5b2e0f44; BYTE $0x58 // ucomiss xmm11, dword [rbx + 88] - LONG $0x2454920f; BYTE $0x38 // setb byte [rsp + 56] - LONG $0x5b2e0f44; BYTE $0x5c // ucomiss xmm11, dword [rbx + 92] - LONG $0xd7920f41 // setb r15b - LONG $0x5b2e0f44; BYTE $0x60 // ucomiss xmm11, dword [rbx + 96] - LONG $0x2454920f; BYTE $0x08 // setb byte [rsp + 8] - LONG $0x5b2e0f44; BYTE $0x64 // ucomiss xmm11, dword [rbx + 100] - LONG $0x2454920f; BYTE $0x30 // setb byte [rsp + 48] - LONG $0x5b2e0f44; BYTE $0x68 // ucomiss xmm11, dword [rbx + 104] - LONG $0x2454920f; BYTE $0x18 // setb byte [rsp + 24] - LONG $0x5b2e0f44; BYTE $0x6c // ucomiss xmm11, dword [rbx + 108] - LONG $0x2454920f; BYTE $0x20 // setb byte [rsp + 32] - LONG $0x5b2e0f44; BYTE $0x70 // ucomiss xmm11, dword [rbx + 112] - LONG $0x2454920f; BYTE $0x28 // setb byte [rsp + 40] - LONG $0x5b2e0f44; BYTE $0x74 // ucomiss xmm11, dword [rbx + 116] - LONG $0x2454920f; BYTE $0x10 // setb byte [rsp + 16] - LONG $0x5b2e0f44; BYTE $0x78 // ucomiss xmm11, dword [rbx + 120] - QUAD $0x000000802494920f // setb byte [rsp + 128] - LONG $0x5b2e0f44; BYTE $0x7c // ucomiss xmm11, dword [rbx + 124] - WORD $0x920f; BYTE $0xd1 // setb cl - WORD $0x0045; BYTE $0xc0 // add r8b, r8b - QUAD $0x000000d024840244 // add r8b, byte [rsp + 208] +LBB7_186: + LONG $0x02100ff3 // movss xmm0, dword [rdx] + LONG $0x4a100ff3; BYTE $0x04 // movss xmm1, dword [rdx + 4] + LONG $0xc32e0f41 // ucomiss xmm0, xmm11 + LONG $0x2454970f; BYTE $0x18 // seta byte [rsp + 24] + LONG $0xcb2e0f41 // ucomiss xmm1, xmm11 + WORD $0x970f; BYTE $0xd3 // seta bl + LONG $0x42100ff3; BYTE $0x08 // movss xmm0, dword [rdx + 8] + LONG $0xc32e0f41 // ucomiss xmm0, xmm11 + LONG $0x42100ff3; BYTE $0x0c // movss xmm0, dword [rdx + 12] + LONG $0xd5970f41 // seta r13b + LONG $0xc32e0f41 // ucomiss xmm0, xmm11 + LONG $0xd4970f41 // seta r12b + LONG $0x42100ff3; BYTE $0x10 // movss xmm0, dword [rdx + 16] + LONG $0xc32e0f41 // ucomiss xmm0, xmm11 + LONG $0x42100ff3; BYTE $0x14 // movss xmm0, dword [rdx + 20] + LONG $0x2454970f; BYTE $0x50 // seta byte [rsp + 80] + LONG $0xc32e0f41 // ucomiss xmm0, xmm11 + LONG $0x2454970f; BYTE $0x60 // seta byte [rsp + 96] + LONG $0x42100ff3; BYTE $0x18 // movss xmm0, dword [rdx + 24] + LONG $0xc32e0f41 // ucomiss xmm0, xmm11 + LONG $0x42100ff3; BYTE $0x1c // movss xmm0, dword [rdx + 28] + LONG $0x2454970f; BYTE $0x58 // seta byte [rsp + 88] + LONG $0xc32e0f41 // ucomiss xmm0, xmm11 + LONG $0x2454970f; BYTE $0x40 // seta byte [rsp + 64] + LONG $0x42100ff3; BYTE $0x20 // movss xmm0, dword [rdx + 32] + LONG $0xc32e0f41 // ucomiss xmm0, xmm11 + LONG $0x42100ff3; BYTE $0x24 // movss xmm0, dword [rdx + 36] + LONG $0x2454970f; BYTE $0x10 // seta byte [rsp + 16] + LONG $0xc32e0f41 // ucomiss xmm0, xmm11 + WORD $0x970f; BYTE $0xd0 // seta al + LONG $0x42100ff3; BYTE $0x28 // movss xmm0, dword [rdx + 40] + LONG $0xc32e0f41 // ucomiss xmm0, xmm11 + LONG $0x42100ff3; BYTE $0x2c // movss xmm0, dword [rdx + 44] + LONG $0x2454970f; BYTE $0x28 // seta byte [rsp + 40] + LONG $0xc32e0f41 // ucomiss xmm0, xmm11 + LONG $0x2454970f; BYTE $0x20 // seta byte [rsp + 32] + LONG $0x42100ff3; BYTE $0x30 // movss xmm0, dword [rdx + 48] + LONG $0x52100ff3; BYTE $0x34 // movss xmm2, dword [rdx + 52] + LONG $0xc32e0f41 // ucomiss xmm0, xmm11 + LONG $0x62100ff3; BYTE $0x38 // movss xmm4, dword [rdx + 56] + LONG $0x6a100ff3; BYTE $0x3c // movss xmm5, dword [rdx + 60] + LONG $0x2454970f; BYTE $0x78 // seta byte [rsp + 120] + LONG $0x100f44f3; WORD $0x4042 // movss xmm8, dword [rdx + 64] + LONG $0x100f44f3; WORD $0x444a // movss xmm9, dword [rdx + 68] + LONG $0xd32e0f41 // ucomiss xmm2, xmm11 + LONG $0x100f44f3; WORD $0x4852 // movss xmm10, dword [rdx + 72] + LONG $0x100f44f3; WORD $0x4c62 // movss xmm12, dword [rdx + 76] + QUAD $0x000000902494970f // seta byte [rsp + 144] + LONG $0x100f44f3; WORD $0x506a // movss xmm13, dword [rdx + 80] + LONG $0x100f44f3; WORD $0x5472 // movss xmm14, dword [rdx + 84] + LONG $0xe32e0f41 // ucomiss xmm4, xmm11 + LONG $0x62100ff3; BYTE $0x58 // movss xmm4, dword [rdx + 88] + LONG $0x42100ff3; BYTE $0x5c // movss xmm0, dword [rdx + 92] + QUAD $0x000000802494970f // seta byte [rsp + 128] + LONG $0x4a100ff3; BYTE $0x60 // movss xmm1, dword [rdx + 96] + LONG $0x52100ff3; BYTE $0x64 // movss xmm2, dword [rdx + 100] + LONG $0xeb2e0f41 // ucomiss xmm5, xmm11 + LONG $0x6a100ff3; BYTE $0x68 // movss xmm5, dword [rdx + 104] + LONG $0x5a100ff3; BYTE $0x6c // movss xmm3, dword [rdx + 108] + LONG $0xd3970f41 // seta r11b + LONG $0x72100ff3; BYTE $0x70 // movss xmm6, dword [rdx + 112] + LONG $0x7a100ff3; BYTE $0x74 // movss xmm7, dword [rdx + 116] + LONG $0xc32e0f45 // ucomiss xmm8, xmm11 + QUAD $0x000000b02494970f // seta byte [rsp + 176] + LONG $0xcb2e0f45 // ucomiss xmm9, xmm11 + WORD $0x970f; BYTE $0xd1 // seta cl + LONG $0xd32e0f45 // ucomiss xmm10, xmm11 + LONG $0xd6970f40 // seta sil + LONG $0xe32e0f45 // ucomiss xmm12, xmm11 + LONG $0xd0970f41 // seta r8b + LONG $0xeb2e0f45 // ucomiss xmm13, xmm11 + LONG $0xd2970f41 // seta r10b + LONG $0xf32e0f45 // ucomiss xmm14, xmm11 + LONG $0xd6970f41 // seta r14b + LONG $0xe32e0f41 // ucomiss xmm4, xmm11 + QUAD $0x000000a02494970f // seta byte [rsp + 160] + LONG $0xc32e0f41 // ucomiss xmm0, xmm11 + LONG $0xd1970f41 // seta r9b + LONG $0xcb2e0f41 // ucomiss xmm1, xmm11 + LONG $0x2454970f; BYTE $0x68 // seta byte [rsp + 104] + LONG $0xd32e0f41 // ucomiss xmm2, xmm11 + LONG $0xd7970f41 // seta r15b + LONG $0xeb2e0f41 // ucomiss xmm5, xmm11 + LONG $0x2454970f; BYTE $0x70 // seta byte [rsp + 112] + LONG $0xdb2e0f41 // ucomiss xmm3, xmm11 + LONG $0x2454970f; BYTE $0x48 // seta byte [rsp + 72] + LONG $0xf32e0f41 // ucomiss xmm6, xmm11 + LONG $0x2454970f; BYTE $0x38 // seta byte [rsp + 56] + LONG $0xfb2e0f41 // ucomiss xmm7, xmm11 + LONG $0x42100ff3; BYTE $0x78 // movss xmm0, dword [rdx + 120] + LONG $0x2454970f; BYTE $0x30 // seta byte [rsp + 48] + LONG $0xc32e0f41 // ucomiss xmm0, xmm11 + LONG $0x2454970f; BYTE $0x08 // seta byte [rsp + 8] + LONG $0x42100ff3; BYTE $0x7c // movss xmm0, dword [rdx + 124] + LONG $0x80ea8348 // sub rdx, -128 + LONG $0xc32e0f41 // ucomiss xmm0, xmm11 + LONG $0xd7970f40 // seta dil + WORD $0xdb00 // add bl, bl + LONG $0x18245c02 // add bl, byte [rsp + 24] + LONG $0x02e5c041 // shl r13b, 2 + WORD $0x0841; BYTE $0xdd // or r13b, bl + LONG $0x03e4c041 // shl r12b, 3 + WORD $0x0845; BYTE $0xec // or r12b, r13b + LONG $0x245cb60f; BYTE $0x50 // movzx ebx, byte [rsp + 80] + WORD $0xe3c0; BYTE $0x04 // shl bl, 4 + WORD $0x0844; BYTE $0xe3 // or bl, r12b + WORD $0x8941; BYTE $0xdc // mov r12d, ebx + LONG $0x245cb60f; BYTE $0x60 // movzx ebx, byte [rsp + 96] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + WORD $0x0844; BYTE $0xe3 // or bl, r12b + LONG $0x64b60f44; WORD $0x5824 // movzx r12d, byte [rsp + 88] + LONG $0x06e4c041 // shl r12b, 6 + LONG $0x6cb60f44; WORD $0x4024 // movzx r13d, byte [rsp + 64] + LONG $0x07e5c041 // shl r13b, 7 + WORD $0x0845; BYTE $0xe5 // or r13b, r12b + WORD $0xc000 // add al, al + LONG $0x10244402 // add al, byte [rsp + 16] + LONG $0x64b60f44; WORD $0x2824 // movzx r12d, byte [rsp + 40] + LONG $0x02e4c041 // shl r12b, 2 + WORD $0x0841; BYTE $0xc4 // or r12b, al + WORD $0x8944; BYTE $0xe0 // mov eax, r12d + LONG $0x64b60f44; WORD $0x2024 // movzx r12d, byte [rsp + 32] + LONG $0x03e4c041 // shl r12b, 3 + WORD $0x0841; BYTE $0xc4 // or r12b, al + LONG $0x2444b60f; BYTE $0x78 // movzx eax, byte [rsp + 120] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0844; BYTE $0xe0 // or al, r12b + WORD $0x0841; BYTE $0xdd // or r13b, bl + QUAD $0x00000090249cb60f // movzx ebx, byte [rsp + 144] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + WORD $0xc308 // or bl, al + QUAD $0x000000802484b60f // movzx eax, byte [rsp + 128] WORD $0xe0c0; BYTE $0x06 // shl al, 6 LONG $0x07e3c041 // shl r11b, 7 WORD $0x0841; BYTE $0xc3 // or r11b, al - LONG $0x02e6c041 // shl r14b, 2 - WORD $0x0845; BYTE $0xc6 // or r14b, r8b - WORD $0xd200 // add dl, dl - LONG $0xa0249402; WORD $0x0000; BYTE $0x00 // add dl, byte [rsp + 160] - LONG $0x03e5c041 // shl r13b, 3 - WORD $0x0845; BYTE $0xf5 // or r13b, r14b + WORD $0xc900 // add cl, cl + LONG $0xb0248c02; WORD $0x0000; BYTE $0x00 // add cl, byte [rsp + 176] LONG $0x02e6c040 // shl sil, 2 - WORD $0x0840; BYTE $0xd6 // or sil, dl - LONG $0x2454b60f; BYTE $0x70 // movzx edx, byte [rsp + 112] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0x0844; BYTE $0xea // or dl, r13b - WORD $0x8941; BYTE $0xd0 // mov r8d, edx - LONG $0x03e1c041 // shl r9b, 3 - WORD $0x0841; BYTE $0xf1 // or r9b, sil - LONG $0x2454b60f; BYTE $0x58 // movzx edx, byte [rsp + 88] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0844; BYTE $0xc2 // or dl, r8b + WORD $0x0840; BYTE $0xce // or sil, cl + LONG $0x03e0c041 // shl r8b, 3 + WORD $0x0841; BYTE $0xf0 // or r8b, sil LONG $0x04e2c041 // shl r10b, 4 - WORD $0x0845; BYTE $0xca // or r10b, r9b - LONG $0x05e4c041 // shl r12b, 5 - WORD $0x0845; BYTE $0xd4 // or r12b, r10b - LONG $0x2474b60f; BYTE $0x78 // movzx esi, byte [rsp + 120] - LONG $0x06e6c040 // shl sil, 6 - LONG $0x07e7c040 // shl dil, 7 - WORD $0x0840; BYTE $0xf7 // or dil, sil - WORD $0x0841; BYTE $0xd3 // or r11b, dl - WORD $0x0844; BYTE $0xe7 // or dil, r12b - LONG $0x24348b4c // mov r14, qword [rsp] - QUAD $0x000000902484b60f // movzx eax, byte [rsp + 144] - WORD $0xc000 // add al, al - LONG $0x50244402 // add al, byte [rsp + 80] - LONG $0x2454b60f; BYTE $0x68 // movzx edx, byte [rsp + 104] - WORD $0xe2c0; BYTE $0x02 // shl dl, 2 - WORD $0xc208 // or dl, al - WORD $0xd689 // mov esi, edx - LONG $0x2454b60f; BYTE $0x60 // movzx edx, byte [rsp + 96] - WORD $0xe2c0; BYTE $0x03 // shl dl, 3 - WORD $0x0840; BYTE $0xf2 // or dl, sil - WORD $0xd689 // mov esi, edx - LONG $0x2454b60f; BYTE $0x40 // movzx edx, byte [rsp + 64] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0x0840; BYTE $0xf2 // or dl, sil - WORD $0xd689 // mov esi, edx - LONG $0x2454b60f; BYTE $0x48 // movzx edx, byte [rsp + 72] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xf2 // or dl, sil - WORD $0x8845; BYTE $0x1e // mov byte [r14], r11b - LONG $0x2474b60f; BYTE $0x38 // movzx esi, byte [rsp + 56] - LONG $0x06e6c040 // shl sil, 6 - LONG $0x07e7c041 // shl r15b, 7 - WORD $0x0841; BYTE $0xf7 // or r15b, sil - LONG $0x017e8841 // mov byte [r14 + 1], dil - WORD $0x0841; BYTE $0xd7 // or r15b, dl - LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] - WORD $0xc000 // add al, al - LONG $0x08244402 // add al, byte [rsp + 8] - WORD $0xc289 // mov edx, eax - LONG $0x2444b60f; BYTE $0x18 // movzx eax, byte [rsp + 24] + WORD $0x0845; BYTE $0xc2 // or r10b, r8b + LONG $0x05e6c041 // shl r14b, 5 + WORD $0x0845; BYTE $0xd6 // or r14b, r10b + WORD $0x0841; BYTE $0xdb // or r11b, bl + QUAD $0x000000a02484b60f // movzx eax, byte [rsp + 160] + WORD $0xe0c0; BYTE $0x06 // shl al, 6 + LONG $0x07e1c041 // shl r9b, 7 + WORD $0x0841; BYTE $0xc1 // or r9b, al + LONG $0x24348b48 // mov rsi, qword [rsp] + WORD $0x8844; BYTE $0x2e // mov byte [rsi], r13b + WORD $0x0845; BYTE $0xf1 // or r9b, r14b + WORD $0x0045; BYTE $0xff // add r15b, r15b + LONG $0x247c0244; BYTE $0x68 // add r15b, byte [rsp + 104] + LONG $0x2444b60f; BYTE $0x70 // movzx eax, byte [rsp + 112] WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xd008 // or al, dl - WORD $0xc289 // mov edx, eax - LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] + WORD $0x0844; BYTE $0xf8 // or al, r15b + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x48 // movzx eax, byte [rsp + 72] WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0xd008 // or al, dl - WORD $0xc289 // mov edx, eax - LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x38 // movzx eax, byte [rsp + 56] WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0xd008 // or al, dl - WORD $0xc289 // mov edx, eax - LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] - WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xd008 // or al, dl - QUAD $0x000000802494b60f // movzx edx, byte [rsp + 128] - WORD $0xe2c0; BYTE $0x06 // shl dl, 6 - WORD $0xe1c0; BYTE $0x07 // shl cl, 7 - WORD $0xd108 // or cl, dl - WORD $0xc108 // or cl, al - LONG $0x027e8845 // mov byte [r14 + 2], r15b - LONG $0x034e8841 // mov byte [r14 + 3], cl - LONG $0x80c38148; WORD $0x0000; BYTE $0x00 // add rbx, 128 - LONG $0x04c68349 // add r14, 4 - QUAD $0x000000c024848348; BYTE $0xff // add qword [rsp + 192], -1 - JNE LBB7_184 + WORD $0xc808 // or al, cl + LONG $0x245cb60f; BYTE $0x30 // movzx ebx, byte [rsp + 48] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + WORD $0xc308 // or bl, al + LONG $0x015e8844 // mov byte [rsi + 1], r11b + LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] + WORD $0xe0c0; BYTE $0x06 // shl al, 6 + LONG $0x07e7c040 // shl dil, 7 + WORD $0x0840; BYTE $0xc7 // or dil, al + LONG $0x024e8844 // mov byte [rsi + 2], r9b + WORD $0x0840; BYTE $0xdf // or dil, bl + LONG $0x037e8840 // mov byte [rsi + 3], dil + LONG $0x04c68348 // add rsi, 4 + LONG $0x24348948 // mov qword [rsp], rsi + QUAD $0x000000d024848348; BYTE $0xff // add qword [rsp + 208], -1 + JNE LBB7_186 + LONG $0x243c8b4c // mov r15, qword [rsp] QUAD $0x00000088249c8b4c // mov r11, qword [rsp + 136] - QUAD $0x000000b024948b4c // mov r10, qword [rsp + 176] - JMP LBB7_186 + QUAD $0x000000c024948b4c // mov r10, qword [rsp + 192] + JMP LBB7_188 LBB7_9: - LONG $0x2464894c; BYTE $0x58 // mov qword [rsp + 88], r12 + LONG $0x24048b48 // mov rax, qword [rsp] + LONG $0x24448948; BYTE $0x60 // mov qword [rsp + 96], rax LBB7_90: LONG $0x05e2c149 // shl r10, 5 WORD $0x394d; BYTE $0xda // cmp r10, r11 - JGE LBB7_200 + JGE LBB7_202 WORD $0x894d; BYTE $0xd8 // mov r8, r11 WORD $0x294d; BYTE $0xd0 // sub r8, r10 WORD $0xf749; BYTE $0xd2 // not r10 @@ -35038,49 +36383,65 @@ LBB7_90: JMP LBB7_96 LBB7_61: - LONG $0x2464894c; BYTE $0x48 // mov qword [rsp + 72], r12 - WORD $0x8949; BYTE $0xf6 // mov r14, rsi + LONG $0x24048b48 // mov rax, qword [rsp] + LONG $0x24448948; BYTE $0x78 // mov qword [rsp + 120], rax + WORD $0x8949; BYTE $0xf4 // mov r12, rsi LBB7_72: - LONG $0x05e2c149 // shl r10, 5 - WORD $0x394d; BYTE $0xda // cmp r10, r11 - JGE LBB7_200 + LONG $0x05e7c149 // shl r15, 5 + WORD $0x394d; BYTE $0xdf // cmp r15, r11 + JGE LBB7_202 WORD $0x894d; BYTE $0xd8 // mov r8, r11 - WORD $0x294d; BYTE $0xd0 // sub r8, r10 - WORD $0xf749; BYTE $0xd2 // not r10 - WORD $0x014d; BYTE $0xda // add r10, r11 + WORD $0x294d; BYTE $0xf8 // sub r8, r15 + WORD $0xf749; BYTE $0xd7 // not r15 + WORD $0x014d; BYTE $0xdf // add r15, r11 JNE LBB7_75 WORD $0xc031 // xor eax, eax JMP LBB7_78 -LBB7_175: - WORD $0x894d; BYTE $0xe6 // mov r14, r12 - WORD $0x8948; BYTE $0xf3 // mov rbx, rsi +LBB7_119: + LONG $0x24348b4c // mov r14, qword [rsp] -LBB7_186: +LBB7_130: + LONG $0x05e7c149 // shl r15, 5 + WORD $0x394d; BYTE $0xdf // cmp r15, r11 + JGE LBB7_202 + WORD $0x894d; BYTE $0xd8 // mov r8, r11 + WORD $0x294d; BYTE $0xf8 // sub r8, r15 + WORD $0xf749; BYTE $0xd7 // not r15 + WORD $0x014d; BYTE $0xdf // add r15, r11 + JNE LBB7_135 + WORD $0x3145; BYTE $0xff // xor r15d, r15d + JMP LBB7_133 + +LBB7_177: + LONG $0x243c8b4c // mov r15, qword [rsp] + WORD $0x8948; BYTE $0xf2 // mov rdx, rsi + +LBB7_188: LONG $0x05e2c149 // shl r10, 5 WORD $0x394d; BYTE $0xda // cmp r10, r11 - JGE LBB7_200 + JGE LBB7_202 WORD $0x894d; BYTE $0xd8 // mov r8, r11 WORD $0x294d; BYTE $0xd0 // sub r8, r10 WORD $0xf749; BYTE $0xd2 // not r10 WORD $0x014d; BYTE $0xda // add r10, r11 - JNE LBB7_191 + JNE LBB7_193 WORD $0x3145; BYTE $0xdb // xor r11d, r11d - JMP LBB7_189 + JMP LBB7_191 -LBB7_153: +LBB7_155: WORD $0x894d; BYTE $0xc1 // mov r9, r8 LONG $0xfee18349 // and r9, -2 WORD $0x3145; BYTE $0xdb // xor r11d, r11d + LONG $0x24348b4c // mov r14, qword [rsp] -LBB7_154: +LBB7_156: WORD $0x3b4c; BYTE $0x2e // cmp r13, qword [rsi] WORD $0xff19 // sbb edi, edi WORD $0x894c; BYTE $0xda // mov rdx, r11 LONG $0x03eac148 // shr rdx, 3 - WORD $0x894d; BYTE $0xe6 // mov r14, r12 - LONG $0x14b60f45; BYTE $0x14 // movzx r10d, byte [r12 + rdx] + LONG $0x14b60f45; BYTE $0x16 // movzx r10d, byte [r14 + rdx] WORD $0x8944; BYTE $0xd9 // mov ecx, r11d WORD $0xe180; BYTE $0x06 // and cl, 6 WORD $0x01b0 // mov al, 1 @@ -35088,7 +36449,7 @@ LBB7_154: WORD $0x3044; BYTE $0xd7 // xor dil, r10b WORD $0x2040; BYTE $0xf8 // and al, dil WORD $0x3044; BYTE $0xd0 // xor al, r10b - LONG $0x14048841 // mov byte [r12 + rdx], al + LONG $0x16048841 // mov byte [r14 + rdx], al LONG $0x02c38349 // add r11, 2 LONG $0x086e3b4c // cmp r13, qword [rsi + 8] LONG $0x10768d48 // lea rsi, [rsi + 16] @@ -35099,29 +36460,29 @@ LBB7_154: WORD $0xe3d2 // shl bl, cl WORD $0x2040; BYTE $0xfb // and bl, dil WORD $0xc330 // xor bl, al - LONG $0x141c8841 // mov byte [r12 + rdx], bl + LONG $0x161c8841 // mov byte [r14 + rdx], bl WORD $0x394d; BYTE $0xd9 // cmp r9, r11 - JNE LBB7_154 + JNE LBB7_156 LBB7_40: LONG $0x01c0f641 // test r8b, 1 - JE LBB7_200 + JE LBB7_202 WORD $0x3b4c; BYTE $0x2e // cmp r13, qword [rsi] - JMP LBB7_197 + JMP LBB7_111 -LBB7_151: +LBB7_153: WORD $0x894d; BYTE $0xc2 // mov r10, r8 LONG $0xfee28349 // and r10, -2 WORD $0x3145; BYTE $0xdb // xor r11d, r11d + LONG $0x24348b4c // mov r14, qword [rsp] -LBB7_152: +LBB7_154: WORD $0x3944; BYTE $0x2e // cmp dword [rsi], r13d WORD $0x9f0f; BYTE $0xd0 // setg al WORD $0xd8f6 // neg al WORD $0x894c; BYTE $0xdf // mov rdi, r11 LONG $0x03efc148 // shr rdi, 3 - WORD $0x894d; BYTE $0xe6 // mov r14, r12 - LONG $0x0cb60f45; BYTE $0x3c // movzx r9d, byte [r12 + rdi] + LONG $0x0cb60f45; BYTE $0x3e // movzx r9d, byte [r14 + rdi] WORD $0x8944; BYTE $0xd9 // mov ecx, r11d WORD $0xe180; BYTE $0x06 // and cl, 6 WORD $0x01b3 // mov bl, 1 @@ -35129,7 +36490,7 @@ LBB7_152: WORD $0x3044; BYTE $0xc8 // xor al, r9b WORD $0xc320 // and bl, al WORD $0x3044; BYTE $0xcb // xor bl, r9b - LONG $0x3c1c8841 // mov byte [r12 + rdi], bl + LONG $0x3e1c8841 // mov byte [r14 + rdi], bl LONG $0x02c38349 // add r11, 2 LONG $0x046e3944 // cmp dword [rsi + 4], r13d LONG $0x08768d48 // lea rsi, [rsi + 8] @@ -35141,25 +36502,25 @@ LBB7_152: WORD $0xe2d2 // shl dl, cl WORD $0xc220 // and dl, al WORD $0xda30 // xor dl, bl - LONG $0x3c148841 // mov byte [r12 + rdi], dl + LONG $0x3e148841 // mov byte [r14 + rdi], dl WORD $0x394d; BYTE $0xda // cmp r10, r11 - JNE LBB7_152 + JNE LBB7_154 -LBB7_148: +LBB7_150: LONG $0x01c0f641 // test r8b, 1 - JE LBB7_200 + JE LBB7_202 WORD $0x3944; BYTE $0x2e // cmp dword [rsi], r13d - JMP LBB7_150 + JMP LBB7_152 LBB7_93: WORD $0x894d; BYTE $0xc2 // mov r10, r8 LONG $0xfee28349 // and r10, -2 WORD $0x3145; BYTE $0xc9 // xor r9d, r9d - LONG $0x245c8b4c; BYTE $0x58 // mov r11, qword [rsp + 88] + LONG $0x245c8b4c; BYTE $0x60 // mov r11, qword [rsp + 96] LBB7_94: WORD $0x894c; BYTE $0xc8 // mov rax, r9 - LONG $0x0e343846 // cmp byte [rsi + r9], r14b + LONG $0x0e243846 // cmp byte [rsi + r9], r12b WORD $0x9f0f; BYTE $0xd3 // setg bl WORD $0xdbf6 // neg bl WORD $0x894c; BYTE $0xcf // mov rdi, r9 @@ -35173,7 +36534,7 @@ LBB7_94: WORD $0xda20 // and dl, bl WORD $0x3044; BYTE $0xca // xor dl, r9b LONG $0x3b148841 // mov byte [r11 + rdi], dl - LONG $0x06743844; BYTE $0x01 // cmp byte [rsi + rax + 1], r14b + LONG $0x06643844; BYTE $0x01 // cmp byte [rsi + rax + 1], r12b LONG $0x02488d4c // lea r9, [rax + 2] WORD $0x9f0f; BYTE $0xd3 // setg bl WORD $0xdbf6 // neg bl @@ -35190,13 +36551,13 @@ LBB7_94: LBB7_96: LONG $0x01c0f641 // test r8b, 1 - JE LBB7_200 - WORD $0x3844; BYTE $0x36 // cmp byte [rsi], r14b + JE LBB7_202 + WORD $0x3844; BYTE $0x26 // cmp byte [rsi], r12b WORD $0x9f0f; BYTE $0xd0 // setg al WORD $0xd8f6 // neg al WORD $0x894c; BYTE $0xca // mov rdx, r9 LONG $0x03eac148 // shr rdx, 3 - LONG $0x24448b4c; BYTE $0x58 // mov r8, qword [rsp + 88] + LONG $0x24448b4c; BYTE $0x60 // mov r8, qword [rsp + 96] LONG $0x103c8a41 // mov dil, byte [r8 + rdx] LONG $0x07e18041 // and r9b, 7 WORD $0x01b3 // mov bl, 1 @@ -35206,17 +36567,16 @@ LBB7_96: WORD $0xc320 // and bl, al WORD $0x3040; BYTE $0xfb // xor bl, dil LONG $0x101c8841 // mov byte [r8 + rdx], bl - JMP LBB7_200 + JMP LBB7_202 LBB7_75: WORD $0x894d; BYTE $0xc1 // mov r9, r8 LONG $0xfee18349 // and r9, -2 WORD $0xc031 // xor eax, eax - LONG $0x245c8b4c; BYTE $0x48 // mov r11, qword [rsp + 72] - LONG $0x24548a44; BYTE $0x28 // mov r10b, byte [rsp + 40] + LONG $0x245c8b4c; BYTE $0x78 // mov r11, qword [rsp + 120] LBB7_76: - LONG $0x06143a45 // cmp r10b, byte [r14 + rax] + LONG $0x04143a45 // cmp r10b, byte [r12 + rax] WORD $0xf619 // sbb esi, esi WORD $0x8948; BYTE $0xc7 // mov rdi, rax LONG $0x03efc148 // shr rdi, 3 @@ -35229,7 +36589,7 @@ LBB7_76: WORD $0x2040; BYTE $0xf2 // and dl, sil WORD $0xda30 // xor dl, bl LONG $0x3b148841 // mov byte [r11 + rdi], dl - LONG $0x06543a45; BYTE $0x01 // cmp r10b, byte [r14 + rax + 1] + LONG $0x04543a45; BYTE $0x01 // cmp r10b, byte [r12 + rax + 1] LONG $0x02408d48 // lea rax, [rax + 2] WORD $0xf619 // sbb esi, esi WORD $0x3040; BYTE $0xd6 // xor sil, dl @@ -35241,17 +36601,16 @@ LBB7_76: LONG $0x3b1c8841 // mov byte [r11 + rdi], bl WORD $0x3949; BYTE $0xc1 // cmp r9, rax JNE LBB7_76 - WORD $0x0149; BYTE $0xc6 // add r14, rax + WORD $0x0149; BYTE $0xc4 // add r12, rax LBB7_78: LONG $0x01c0f641 // test r8b, 1 - JE LBB7_200 - LONG $0x28244c8a // mov cl, byte [rsp + 40] - WORD $0x3a41; BYTE $0x0e // cmp cl, byte [r14] + JE LBB7_202 + LONG $0x24143a45 // cmp r10b, byte [r12] WORD $0xd219 // sbb edx, edx WORD $0x8948; BYTE $0xc6 // mov rsi, rax LONG $0x03eec148 // shr rsi, 3 - LONG $0x24448b4c; BYTE $0x48 // mov r8, qword [rsp + 72] + LONG $0x24448b4c; BYTE $0x78 // mov r8, qword [rsp + 120] LONG $0x303c8a41 // mov dil, byte [r8 + rsi] WORD $0x0724 // and al, 7 WORD $0x01b3 // mov bl, 1 @@ -35261,20 +36620,20 @@ LBB7_78: WORD $0xd320 // and bl, dl WORD $0x3040; BYTE $0xfb // xor bl, dil LONG $0x301c8841 // mov byte [r8 + rsi], bl - JMP LBB7_200 + JMP LBB7_202 -LBB7_135: +LBB7_137: WORD $0x894d; BYTE $0xc1 // mov r9, r8 LONG $0xfee18349 // and r9, -2 WORD $0x3145; BYTE $0xdb // xor r11d, r11d + LONG $0x24348b4c // mov r14, qword [rsp] -LBB7_136: +LBB7_138: WORD $0x3b44; BYTE $0x2e // cmp r13d, dword [rsi] WORD $0xff19 // sbb edi, edi WORD $0x894c; BYTE $0xda // mov rdx, r11 LONG $0x03eac148 // shr rdx, 3 - WORD $0x894d; BYTE $0xe6 // mov r14, r12 - LONG $0x14b60f45; BYTE $0x14 // movzx r10d, byte [r12 + rdx] + LONG $0x14b60f45; BYTE $0x16 // movzx r10d, byte [r14 + rdx] WORD $0x8944; BYTE $0xd9 // mov ecx, r11d WORD $0xe180; BYTE $0x06 // and cl, 6 WORD $0x01b0 // mov al, 1 @@ -35282,7 +36641,7 @@ LBB7_136: WORD $0x3044; BYTE $0xd7 // xor dil, r10b WORD $0x2040; BYTE $0xf8 // and al, dil WORD $0x3044; BYTE $0xd0 // xor al, r10b - LONG $0x14048841 // mov byte [r12 + rdx], al + LONG $0x16048841 // mov byte [r14 + rdx], al LONG $0x02c38349 // add r11, 2 LONG $0x046e3b44 // cmp r13d, dword [rsi + 4] LONG $0x08768d48 // lea rsi, [rsi + 8] @@ -35293,68 +36652,82 @@ LBB7_136: WORD $0xe3d2 // shl bl, cl WORD $0x2040; BYTE $0xfb // and bl, dil WORD $0xc330 // xor bl, al - LONG $0x141c8841 // mov byte [r12 + rdx], bl + LONG $0x161c8841 // mov byte [r14 + rdx], bl WORD $0x394d; BYTE $0xd9 // cmp r9, r11 - JNE LBB7_136 + JNE LBB7_138 LBB7_24: LONG $0x01c0f641 // test r8b, 1 - JE LBB7_200 + JE LBB7_202 WORD $0x3b44; BYTE $0x2e // cmp r13d, dword [rsi] - JMP LBB7_197 + JMP LBB7_111 -LBB7_193: - WORD $0x894d; BYTE $0xc2 // mov r10, r8 - LONG $0xfee28349 // and r10, -2 - WORD $0x3145; BYTE $0xdb // xor r11d, r11d +LBB7_196: + WORD $0x894d; BYTE $0xc1 // mov r9, r8 + LONG $0xfee18349 // and r9, -2 + WORD $0x3145; BYTE $0xd2 // xor r10d, r10d + LONG $0x241c8b4c // mov r11, qword [rsp] -LBB7_194: - LONG $0x062e0f66 // ucomisd xmm0, qword [rsi] - WORD $0xc019 // sbb eax, eax - WORD $0x894c; BYTE $0xdf // mov rdi, r11 +LBB7_197: + LONG $0x0e100ff2 // movsd xmm1, qword [rsi] + LONG $0xc82e0f66 // ucomisd xmm1, xmm0 + WORD $0x970f; BYTE $0xd0 // seta al + WORD $0xd8f6 // neg al + WORD $0x894c; BYTE $0xd7 // mov rdi, r10 LONG $0x03efc148 // shr rdi, 3 - WORD $0x894d; BYTE $0xe6 // mov r14, r12 - LONG $0x0cb60f45; BYTE $0x3c // movzx r9d, byte [r12 + rdi] - WORD $0x3044; BYTE $0xc8 // xor al, r9b - WORD $0x8944; BYTE $0xd9 // mov ecx, r11d + WORD $0x8944; BYTE $0xd1 // mov ecx, r10d WORD $0xe180; BYTE $0x06 // and cl, 6 WORD $0x01b3 // mov bl, 1 WORD $0xe3d2 // shl bl, cl + LONG $0x14b60f41; BYTE $0x3b // movzx edx, byte [r11 + rdi] + WORD $0xd030 // xor al, dl WORD $0xc320 // and bl, al - WORD $0x3044; BYTE $0xcb // xor bl, r9b - LONG $0x3c1c8841 // mov byte [r12 + rdi], bl - LONG $0x02c38349 // add r11, 2 - LONG $0x462e0f66; BYTE $0x08 // ucomisd xmm0, qword [rsi + 8] - LONG $0x10768d48 // lea rsi, [rsi + 16] - WORD $0xc019 // sbb eax, eax + WORD $0xd330 // xor bl, dl + LONG $0x3b1c8841 // mov byte [r11 + rdi], bl + LONG $0x02c28349 // add r10, 2 + LONG $0x4e100ff2; BYTE $0x08 // movsd xmm1, qword [rsi + 8] + LONG $0x10c68348 // add rsi, 16 + LONG $0xc82e0f66 // ucomisd xmm1, xmm0 + WORD $0x970f; BYTE $0xd0 // seta al + WORD $0xd8f6 // neg al WORD $0xd830 // xor al, bl WORD $0xc980; BYTE $0x01 // or cl, 1 WORD $0x01b2 // mov dl, 1 WORD $0xe2d2 // shl dl, cl WORD $0xc220 // and dl, al WORD $0xda30 // xor dl, bl - LONG $0x3c148841 // mov byte [r12 + rdi], dl - WORD $0x394d; BYTE $0xda // cmp r10, r11 - JNE LBB7_194 + LONG $0x3b148841 // mov byte [r11 + rdi], dl + WORD $0x394d; BYTE $0xd1 // cmp r9, r10 + JNE LBB7_197 -LBB7_195: - LONG $0x01c0f641 // test r8b, 1 - JE LBB7_200 - LONG $0x062e0f66 // ucomisd xmm0, qword [rsi] - JMP LBB7_197 +LBB7_198: + LONG $0x01c0f641 // test r8b, 1 + JE LBB7_202 + LONG $0x0e100ff2 // movsd xmm1, qword [rsi] + LONG $0xc82e0f66 // ucomisd xmm1, xmm0 + WORD $0x970f; BYTE $0xd0 // seta al + WORD $0xd8f6 // neg al + WORD $0x894c; BYTE $0xd2 // mov rdx, r10 + LONG $0x03eac148 // shr rdx, 3 + LONG $0x243c8b48 // mov rdi, qword [rsp] + LONG $0x17348a40 // mov sil, byte [rdi + rdx] + LONG $0x07e28041 // and r10b, 7 + WORD $0x01b3 // mov bl, 1 + WORD $0x8944; BYTE $0xd1 // mov ecx, r10d + JMP LBB7_200 -LBB7_111: +LBB7_112: WORD $0x894d; BYTE $0xc1 // mov r9, r8 LONG $0xfee18349 // and r9, -2 WORD $0x3145; BYTE $0xdb // xor r11d, r11d + LONG $0x24348b4c // mov r14, qword [rsp] -LBB7_112: +LBB7_113: LONG $0x2e3b4466 // cmp r13w, word [rsi] WORD $0xff19 // sbb edi, edi WORD $0x894c; BYTE $0xda // mov rdx, r11 LONG $0x03eac148 // shr rdx, 3 - WORD $0x894d; BYTE $0xe6 // mov r14, r12 - LONG $0x14b60f45; BYTE $0x14 // movzx r10d, byte [r12 + rdx] + LONG $0x14b60f45; BYTE $0x16 // movzx r10d, byte [r14 + rdx] WORD $0x8944; BYTE $0xd9 // mov ecx, r11d WORD $0xe180; BYTE $0x06 // and cl, 6 WORD $0x01b0 // mov al, 1 @@ -35362,7 +36735,7 @@ LBB7_112: WORD $0x3044; BYTE $0xd7 // xor dil, r10b WORD $0x2040; BYTE $0xf8 // and al, dil WORD $0x3044; BYTE $0xd0 // xor al, r10b - LONG $0x14048841 // mov byte [r12 + rdx], al + LONG $0x16048841 // mov byte [r14 + rdx], al LONG $0x02c38349 // add r11, 2 LONG $0x6e3b4466; BYTE $0x02 // cmp r13w, word [rsi + 2] LONG $0x04768d48 // lea rsi, [rsi + 4] @@ -35373,97 +36746,42 @@ LBB7_112: WORD $0xe3d2 // shl bl, cl WORD $0x2040; BYTE $0xfb // and bl, dil WORD $0xc330 // xor bl, al - LONG $0x141c8841 // mov byte [r12 + rdx], bl + LONG $0x161c8841 // mov byte [r14 + rdx], bl WORD $0x394d; BYTE $0xd9 // cmp r9, r11 - JNE LBB7_112 + JNE LBB7_113 LBB7_109: LONG $0x01c0f641 // test r8b, 1 - JE LBB7_200 + JE LBB7_202 LONG $0x2e3b4466 // cmp r13w, word [rsi] -LBB7_197: +LBB7_111: WORD $0xc019 // sbb eax, eax WORD $0x894c; BYTE $0xda // mov rdx, r11 LONG $0x03eac148 // shr rdx, 3 - LONG $0x14348a41 // mov sil, byte [r12 + rdx] + LONG $0x243c8b48 // mov rdi, qword [rsp] + LONG $0x17348a40 // mov sil, byte [rdi + rdx] LONG $0x07e38041 // and r11b, 7 WORD $0x01b3 // mov bl, 1 WORD $0x8944; BYTE $0xd9 // mov ecx, r11d WORD $0xe3d2 // shl bl, cl WORD $0x3040; BYTE $0xf0 // xor al, sil WORD $0xc320 // and bl, al - JMP LBB7_198 + JMP LBB7_201 -LBB7_133: - WORD $0x894d; BYTE $0xc1 // mov r9, r8 - LONG $0xfee18349 // and r9, -2 - WORD $0x3145; BYTE $0xf6 // xor r14d, r14d - QUAD $0x000000f0249c8b44 // mov r11d, dword [rsp + 240] - -LBB7_134: - WORD $0x8948; BYTE $0xf0 // mov rax, rsi - LONG $0x1e394466 // cmp word [rsi], r11w - WORD $0x9f0f; BYTE $0xd2 // setg dl - WORD $0xdaf6 // neg dl - WORD $0x894c; BYTE $0xf7 // mov rdi, r14 - LONG $0x03efc148 // shr rdi, 3 - LONG $0x14b60f45; BYTE $0x3c // movzx r10d, byte [r12 + rdi] - WORD $0x8944; BYTE $0xf1 // mov ecx, r14d - WORD $0xe180; BYTE $0x06 // and cl, 6 - WORD $0x01b3 // mov bl, 1 - WORD $0xe3d2 // shl bl, cl - WORD $0x3044; BYTE $0xd2 // xor dl, r10b - WORD $0xd320 // and bl, dl - WORD $0x3044; BYTE $0xd3 // xor bl, r10b - LONG $0x3c1c8841 // mov byte [r12 + rdi], bl - LONG $0x02c68349 // add r14, 2 - LONG $0x5e394466; BYTE $0x02 // cmp word [rsi + 2], r11w - LONG $0x04768d48 // lea rsi, [rsi + 4] - WORD $0x9f0f; BYTE $0xd2 // setg dl - WORD $0xdaf6 // neg dl - WORD $0xda30 // xor dl, bl - WORD $0xc980; BYTE $0x01 // or cl, 1 - WORD $0x01b0 // mov al, 1 - WORD $0xe0d2 // shl al, cl - WORD $0xd020 // and al, dl - WORD $0xd830 // xor al, bl - LONG $0x3c048841 // mov byte [r12 + rdi], al - WORD $0x394d; BYTE $0xf1 // cmp r9, r14 - JNE LBB7_134 - -LBB7_131: - LONG $0x01c0f641 // test r8b, 1 - JE LBB7_200 - LONG $0xf024848b; WORD $0x0000; BYTE $0x00 // mov eax, dword [rsp + 240] - WORD $0x3966; BYTE $0x06 // cmp word [rsi], ax - WORD $0x9f0f; BYTE $0xd0 // setg al - WORD $0xd8f6 // neg al - WORD $0x894c; BYTE $0xf2 // mov rdx, r14 - LONG $0x03eac148 // shr rdx, 3 - LONG $0x143c8a41 // mov dil, byte [r12 + rdx] - LONG $0x07e68041 // and r14b, 7 - WORD $0x01b3 // mov bl, 1 - WORD $0x8944; BYTE $0xf1 // mov ecx, r14d - WORD $0xe3d2 // shl bl, cl - WORD $0x3040; BYTE $0xf8 // xor al, dil - WORD $0xc320 // and bl, al - WORD $0x3040; BYTE $0xfb // xor bl, dil - JMP LBB7_199 - -LBB7_168: +LBB7_170: WORD $0x894d; BYTE $0xc2 // mov r10, r8 LONG $0xfee28349 // and r10, -2 WORD $0x3145; BYTE $0xdb // xor r11d, r11d + LONG $0x24348b4c // mov r14, qword [rsp] -LBB7_169: +LBB7_171: WORD $0x394c; BYTE $0x2e // cmp qword [rsi], r13 WORD $0x9f0f; BYTE $0xd0 // setg al WORD $0xd8f6 // neg al WORD $0x894c; BYTE $0xdf // mov rdi, r11 LONG $0x03efc148 // shr rdi, 3 - WORD $0x894d; BYTE $0xe6 // mov r14, r12 - LONG $0x0cb60f45; BYTE $0x3c // movzx r9d, byte [r12 + rdi] + LONG $0x0cb60f45; BYTE $0x3e // movzx r9d, byte [r14 + rdi] WORD $0x8944; BYTE $0xd9 // mov ecx, r11d WORD $0xe180; BYTE $0x06 // and cl, 6 WORD $0x01b3 // mov bl, 1 @@ -35471,7 +36789,7 @@ LBB7_169: WORD $0x3044; BYTE $0xc8 // xor al, r9b WORD $0xc320 // and bl, al WORD $0x3044; BYTE $0xcb // xor bl, r9b - LONG $0x3c1c8841 // mov byte [r12 + rdi], bl + LONG $0x3e1c8841 // mov byte [r14 + rdi], bl LONG $0x02c38349 // add r11, 2 LONG $0x086e394c // cmp qword [rsi + 8], r13 LONG $0x10768d48 // lea rsi, [rsi + 16] @@ -35483,88 +36801,155 @@ LBB7_169: WORD $0xe2d2 // shl dl, cl WORD $0xc220 // and dl, al WORD $0xda30 // xor dl, bl - LONG $0x3c148841 // mov byte [r12 + rdi], dl + LONG $0x3e148841 // mov byte [r14 + rdi], dl WORD $0x394d; BYTE $0xda // cmp r10, r11 - JNE LBB7_169 + JNE LBB7_171 -LBB7_166: +LBB7_168: LONG $0x01c0f641 // test r8b, 1 - JE LBB7_200 + JE LBB7_202 WORD $0x394c; BYTE $0x2e // cmp qword [rsi], r13 -LBB7_150: +LBB7_152: WORD $0x9f0f; BYTE $0xd0 // setg al WORD $0xd8f6 // neg al WORD $0x894c; BYTE $0xda // mov rdx, r11 LONG $0x03eac148 // shr rdx, 3 - LONG $0x14348a41 // mov sil, byte [r12 + rdx] + LONG $0x243c8b48 // mov rdi, qword [rsp] + LONG $0x17348a40 // mov sil, byte [rdi + rdx] LONG $0x07e38041 // and r11b, 7 WORD $0x01b3 // mov bl, 1 WORD $0x8944; BYTE $0xd9 // mov ecx, r11d + +LBB7_200: WORD $0xe3d2 // shl bl, cl WORD $0x3040; BYTE $0xf0 // xor al, sil WORD $0xc320 // and bl, al -LBB7_198: +LBB7_201: WORD $0x3040; BYTE $0xf3 // xor bl, sil + WORD $0x1c88; BYTE $0x17 // mov byte [rdi + rdx], bl -LBB7_199: - LONG $0x141c8841 // mov byte [r12 + rdx], bl - -LBB7_200: +LBB7_202: MOVQ 336(SP), SP RET -LBB7_191: - WORD $0x894d; BYTE $0xc2 // mov r10, r8 - LONG $0xfee28349 // and r10, -2 - WORD $0x3145; BYTE $0xdb // xor r11d, r11d +LBB7_135: + WORD $0x894d; BYTE $0xc1 // mov r9, r8 + LONG $0xfee18349 // and r9, -2 + WORD $0x3145; BYTE $0xff // xor r15d, r15d + QUAD $0x000000f0249c8b44 // mov r11d, dword [rsp + 240] -LBB7_192: - LONG $0x1b2e0f44 // ucomiss xmm11, dword [rbx] - WORD $0xd219 // sbb edx, edx - WORD $0x894c; BYTE $0xdf // mov rdi, r11 +LBB7_136: + WORD $0x8948; BYTE $0xf0 // mov rax, rsi + LONG $0x1e394466 // cmp word [rsi], r11w + WORD $0x9f0f; BYTE $0xd2 // setg dl + WORD $0xdaf6 // neg dl + WORD $0x894c; BYTE $0xff // mov rdi, r15 LONG $0x03efc148 // shr rdi, 3 - LONG $0x0cb60f45; BYTE $0x3e // movzx r9d, byte [r14 + rdi] - WORD $0x3044; BYTE $0xca // xor dl, r9b - WORD $0x8944; BYTE $0xd9 // mov ecx, r11d + LONG $0x14b60f45; BYTE $0x3e // movzx r10d, byte [r14 + rdi] + WORD $0x8944; BYTE $0xf9 // mov ecx, r15d WORD $0xe180; BYTE $0x06 // and cl, 6 + WORD $0x01b3 // mov bl, 1 + WORD $0xe3d2 // shl bl, cl + WORD $0x3044; BYTE $0xd2 // xor dl, r10b + WORD $0xd320 // and bl, dl + WORD $0x3044; BYTE $0xd3 // xor bl, r10b + LONG $0x3e1c8841 // mov byte [r14 + rdi], bl + LONG $0x02c78349 // add r15, 2 + LONG $0x5e394466; BYTE $0x02 // cmp word [rsi + 2], r11w + LONG $0x04768d48 // lea rsi, [rsi + 4] + WORD $0x9f0f; BYTE $0xd2 // setg dl + WORD $0xdaf6 // neg dl + WORD $0xda30 // xor dl, bl + WORD $0xc980; BYTE $0x01 // or cl, 1 WORD $0x01b0 // mov al, 1 WORD $0xe0d2 // shl al, cl WORD $0xd020 // and al, dl - WORD $0x3044; BYTE $0xc8 // xor al, r9b + WORD $0xd830 // xor al, bl LONG $0x3e048841 // mov byte [r14 + rdi], al - LONG $0x02c38349 // add r11, 2 - LONG $0x5b2e0f44; BYTE $0x04 // ucomiss xmm11, dword [rbx + 4] - LONG $0x085b8d48 // lea rbx, [rbx + 8] - WORD $0xf619 // sbb esi, esi - WORD $0x3040; BYTE $0xc6 // xor sil, al - WORD $0xc980; BYTE $0x01 // or cl, 1 + WORD $0x394d; BYTE $0xf9 // cmp r9, r15 + JNE LBB7_136 + +LBB7_133: + LONG $0x01c0f641 // test r8b, 1 + JE LBB7_202 + LONG $0xf024848b; WORD $0x0000; BYTE $0x00 // mov eax, dword [rsp + 240] + WORD $0x3966; BYTE $0x06 // cmp word [rsi], ax + WORD $0x9f0f; BYTE $0xd0 // setg al + WORD $0xd8f6 // neg al + WORD $0x894c; BYTE $0xfa // mov rdx, r15 + LONG $0x03eac148 // shr rdx, 3 + LONG $0x163c8a41 // mov dil, byte [r14 + rdx] + LONG $0x07e78041 // and r15b, 7 + WORD $0x01b3 // mov bl, 1 + WORD $0x8944; BYTE $0xf9 // mov ecx, r15d + WORD $0xe3d2 // shl bl, cl + WORD $0x3040; BYTE $0xf8 // xor al, dil + WORD $0xc320 // and bl, al + WORD $0x3040; BYTE $0xfb // xor bl, dil + LONG $0x161c8841 // mov byte [r14 + rdx], bl + JMP LBB7_202 + +LBB7_193: + WORD $0x894d; BYTE $0xc1 // mov r9, r8 + LONG $0xfee18349 // and r9, -2 + WORD $0x3145; BYTE $0xdb // xor r11d, r11d + WORD $0x894d; BYTE $0xfa // mov r10, r15 + WORD $0x8948; BYTE $0xd6 // mov rsi, rdx + +LBB7_194: + LONG $0x06100ff3 // movss xmm0, dword [rsi] + LONG $0xc32e0f41 // ucomiss xmm0, xmm11 + WORD $0x970f; BYTE $0xd3 // seta bl + WORD $0xdbf6 // neg bl + WORD $0x894c; BYTE $0xdf // mov rdi, r11 + LONG $0x03efc148 // shr rdi, 3 + WORD $0x8944; BYTE $0xd9 // mov ecx, r11d + WORD $0xe180; BYTE $0x06 // and cl, 6 WORD $0x01b2 // mov dl, 1 WORD $0xe2d2 // shl dl, cl - WORD $0x2040; BYTE $0xf2 // and dl, sil + LONG $0x04b60f41; BYTE $0x3a // movzx eax, byte [r10 + rdi] + WORD $0xc330 // xor bl, al + WORD $0xda20 // and dl, bl WORD $0xc230 // xor dl, al - LONG $0x3e148841 // mov byte [r14 + rdi], dl - WORD $0x394d; BYTE $0xda // cmp r10, r11 - JNE LBB7_192 + LONG $0x3a148841 // mov byte [r10 + rdi], dl + LONG $0x02c38349 // add r11, 2 + LONG $0x46100ff3; BYTE $0x04 // movss xmm0, dword [rsi + 4] + LONG $0x08c68348 // add rsi, 8 + LONG $0xc32e0f41 // ucomiss xmm0, xmm11 + WORD $0x970f; BYTE $0xd0 // seta al + WORD $0xd8f6 // neg al + WORD $0xd030 // xor al, dl + WORD $0xc980; BYTE $0x01 // or cl, 1 + WORD $0x01b3 // mov bl, 1 + WORD $0xe3d2 // shl bl, cl + WORD $0xc320 // and bl, al + WORD $0xd330 // xor bl, dl + LONG $0x3a1c8841 // mov byte [r10 + rdi], bl + WORD $0x394d; BYTE $0xd9 // cmp r9, r11 + JNE LBB7_194 + WORD $0x8948; BYTE $0xf2 // mov rdx, rsi -LBB7_189: +LBB7_191: LONG $0x01c0f641 // test r8b, 1 - JE LBB7_200 - LONG $0x1b2e0f44 // ucomiss xmm11, dword [rbx] - WORD $0xc019 // sbb eax, eax + JE LBB7_202 + LONG $0x02100ff3 // movss xmm0, dword [rdx] + LONG $0xc32e0f41 // ucomiss xmm0, xmm11 + WORD $0x970f; BYTE $0xd0 // seta al + WORD $0xd8f6 // neg al WORD $0x894c; BYTE $0xda // mov rdx, r11 LONG $0x03eac148 // shr rdx, 3 - LONG $0x16348a41 // mov sil, byte [r14 + rdx] + LONG $0x173c8a41 // mov dil, byte [r15 + rdx] LONG $0x07e38041 // and r11b, 7 WORD $0x01b3 // mov bl, 1 WORD $0x8944; BYTE $0xd9 // mov ecx, r11d WORD $0xe3d2 // shl bl, cl - WORD $0x3040; BYTE $0xf0 // xor al, sil + WORD $0x3040; BYTE $0xf8 // xor al, dil WORD $0xc320 // and bl, al - WORD $0x3040; BYTE $0xf3 // xor bl, sil - LONG $0x161c8841 // mov byte [r14 + rdx], bl - JMP LBB7_200 + WORD $0x3040; BYTE $0xfb // xor bl, dil + LONG $0x171c8841 // mov byte [r15 + rdx], bl + JMP LBB7_202 LBB7_84: LONG $0xf0e28349 // and r10, -16 @@ -35573,31 +36958,31 @@ LBB7_84: WORD $0x0148; BYTE $0xf0 // add rax, rsi QUAD $0x0000010824848948 // mov qword [rsp + 264], rax QUAD $0x000000e82494894c // mov qword [rsp + 232], r10 - LONG $0x94048d4b // lea rax, [r12 + 4*r10] - LONG $0x24448948; BYTE $0x58 // mov qword [rsp + 88], rax - LONG $0xc6b60f41 // movzx eax, r14b + LONG $0x24048b48 // mov rax, qword [rsp] + LONG $0x90048d4a // lea rax, [rax + 4*r10] + LONG $0x24448948; BYTE $0x60 // mov qword [rsp + 96], rax + LONG $0xc4b60f41 // movzx eax, r12b LONG $0xc86e0f66 // movd xmm1, eax LONG $0xc0ef0f66 // pxor xmm0, xmm0 LONG $0x00380f66; BYTE $0xc8 // pshufb xmm1, xmm0 - QUAD $0x0000a0248c7f0f66; BYTE $0x00 // movdqa oword [rsp + 160], xmm1 + QUAD $0x000090248c7f0f66; BYTE $0x00 // movdqa oword [rsp + 144], xmm1 WORD $0xc031 // xor eax, eax - QUAD $0x0000008024a4894c // mov qword [rsp + 128], r12 LBB7_85: WORD $0x8948; BYTE $0xc7 // mov rdi, rax QUAD $0x000000f024848948 // mov qword [rsp + 240], rax LONG $0x05e7c148 // shl rdi, 5 - WORD $0x8949; BYTE $0xf8 // mov r8, rdi - WORD $0x8948; BYTE $0xfa // mov rdx, rdi - WORD $0x8949; BYTE $0xf9 // mov r9, rdi WORD $0x8949; BYTE $0xfc // mov r12, rdi + WORD $0x8948; BYTE $0xfa // mov rdx, rdi WORD $0x8949; BYTE $0xfb // mov r11, rdi + WORD $0x8949; BYTE $0xf9 // mov r9, rdi WORD $0x8948; BYTE $0xf8 // mov rax, rdi - LONG $0x247c8948; BYTE $0x20 // mov qword [rsp + 32], rdi + WORD $0x8949; BYTE $0xf8 // mov r8, rdi WORD $0x8949; BYTE $0xfe // mov r14, rdi WORD $0x8949; BYTE $0xfa // mov r10, rdi WORD $0x8949; BYTE $0xff // mov r15, rdi WORD $0x8948; BYTE $0xfb // mov rbx, rdi + LONG $0x247c8948; BYTE $0x38 // mov qword [rsp + 56], rdi LONG $0x3e0cb60f // movzx ecx, byte [rsi + rdi] LONG $0x6e0f4466; BYTE $0xf9 // movd xmm15, ecx LONG $0x3e4cb60f; BYTE $0x01 // movzx ecx, byte [rsi + rdi + 1] @@ -35614,15 +36999,15 @@ LBB7_85: LONG $0xd96e0f66 // movd xmm3, ecx LONG $0x3e4cb60f; BYTE $0x07 // movzx ecx, byte [rsi + rdi + 7] LONG $0xc16e0f66 // movd xmm0, ecx - QUAD $0x0000d024847f0f66; BYTE $0x00 // movdqa oword [rsp + 208], xmm0 + QUAD $0x0000a024847f0f66; BYTE $0x00 // movdqa oword [rsp + 160], xmm0 LONG $0x3e4cb60f; BYTE $0x08 // movzx ecx, byte [rsi + rdi + 8] LONG $0xc16e0f66 // movd xmm0, ecx - QUAD $0x00011024847f0f66; BYTE $0x00 // movdqa oword [rsp + 272], xmm0 + QUAD $0x00013024847f0f66; BYTE $0x00 // movdqa oword [rsp + 304], xmm0 LONG $0x3e4cb60f; BYTE $0x09 // movzx ecx, byte [rsi + rdi + 9] LONG $0x6e0f4466; BYTE $0xd1 // movd xmm10, ecx LONG $0x3e4cb60f; BYTE $0x0a // movzx ecx, byte [rsi + rdi + 10] LONG $0xc16e0f66 // movd xmm0, ecx - QUAD $0x00009024847f0f66; BYTE $0x00 // movdqa oword [rsp + 144], xmm0 + QUAD $0x0000b024847f0f66; BYTE $0x00 // movdqa oword [rsp + 176], xmm0 LONG $0x3e4cb60f; BYTE $0x0b // movzx ecx, byte [rsi + rdi + 11] LONG $0x6e0f4466; BYTE $0xd9 // movd xmm11, ecx LONG $0x3e4cb60f; BYTE $0x0c // movzx ecx, byte [rsi + rdi + 12] @@ -35631,113 +37016,116 @@ LBB7_85: LONG $0x6e0f4466; BYTE $0xe1 // movd xmm12, ecx LONG $0x3e4cb60f; BYTE $0x0e // movzx ecx, byte [rsi + rdi + 14] LONG $0xc16e0f66 // movd xmm0, ecx - QUAD $0x00013024847f0f66; BYTE $0x00 // movdqa oword [rsp + 304], xmm0 + QUAD $0x00011024847f0f66; BYTE $0x00 // movdqa oword [rsp + 272], xmm0 + LONG $0x247c8948; BYTE $0x28 // mov qword [rsp + 40], rdi WORD $0x8949; BYTE $0xfd // mov r13, rdi LONG $0x20cd8349 // or r13, 32 - LONG $0x246c894c; BYTE $0x28 // mov qword [rsp + 40], r13 - LONG $0x40c88349 // or r8, 64 + LONG $0x246c894c; BYTE $0x20 // mov qword [rsp + 32], r13 + LONG $0x40cc8349 // or r12, 64 LONG $0x60ca8348 // or rdx, 96 - LONG $0x24548948; BYTE $0x78 // mov qword [rsp + 120], rdx - LONG $0x80c98149; WORD $0x0000; BYTE $0x00 // or r9, 128 - LONG $0xa0cc8149; WORD $0x0000; BYTE $0x00 // or r12, 160 - LONG $0xc0cb8149; WORD $0x0000; BYTE $0x00 // or r11, 192 + LONG $0x24548948; BYTE $0x68 // mov qword [rsp + 104], rdx + LONG $0x80cb8149; WORD $0x0000; BYTE $0x00 // or r11, 128 LONG $0x245c894c; BYTE $0x40 // mov qword [rsp + 64], r11 - LONG $0x00e00d48; WORD $0x0000 // or rax, 224 - LONG $0x24448948; BYTE $0x48 // mov qword [rsp + 72], rax - LONG $0x245c8b4c; BYTE $0x20 // mov r11, qword [rsp + 32] - LONG $0x00cb8149; WORD $0x0001; BYTE $0x00 // or r11, 256 - LONG $0x20ce8149; WORD $0x0001; BYTE $0x00 // or r14, 288 - LONG $0x40ca8149; WORD $0x0001; BYTE $0x00 // or r10, 320 - LONG $0x60cf8149; WORD $0x0001; BYTE $0x00 // or r15, 352 - LONG $0x247c894c; BYTE $0x50 // mov qword [rsp + 80], r15 - LONG $0x80cb8148; WORD $0x0001; BYTE $0x00 // or rbx, 384 + WORD $0x8949; BYTE $0xfb // mov r11, rdi + LONG $0xa0cb8149; WORD $0x0000; BYTE $0x00 // or r11, 160 + LONG $0x00c00d48; WORD $0x0000 // or rax, 192 + LONG $0x24448948; BYTE $0x50 // mov qword [rsp + 80], rax + LONG $0xe0c98149; WORD $0x0000; BYTE $0x00 // or r9, 224 + LONG $0x00ce8149; WORD $0x0001; BYTE $0x00 // or r14, 256 + QUAD $0x0000008024b4894c // mov qword [rsp + 128], r14 + LONG $0x20ca8149; WORD $0x0001; BYTE $0x00 // or r10, 288 + LONG $0x2454894c; BYTE $0x78 // mov qword [rsp + 120], r10 + LONG $0x40c88149; WORD $0x0001; BYTE $0x00 // or r8, 320 + LONG $0x2444894c; BYTE $0x48 // mov qword [rsp + 72], r8 + LONG $0x60cb8148; WORD $0x0001; BYTE $0x00 // or rbx, 352 + LONG $0x245c8948; BYTE $0x58 // mov qword [rsp + 88], rbx + LONG $0x244c8b48; BYTE $0x38 // mov rcx, qword [rsp + 56] + LONG $0x80c98148; WORD $0x0001; BYTE $0x00 // or rcx, 384 + LONG $0x244c8948; BYTE $0x38 // mov qword [rsp + 56], rcx WORD $0x8948; BYTE $0xf8 // mov rax, rdi LONG $0x01a00d48; WORD $0x0000 // or rax, 416 - LONG $0x24448948; BYTE $0x08 // mov qword [rsp + 8], rax + LONG $0x24448948; BYTE $0x10 // mov qword [rsp + 16], rax WORD $0x8948; BYTE $0xf8 // mov rax, rdi - WORD $0x8948; BYTE $0xf9 // mov rcx, rdi - LONG $0x247c8948; BYTE $0x18 // mov qword [rsp + 24], rdi LONG $0x01c00d48; WORD $0x0000 // or rax, 448 - LONG $0x24448948; BYTE $0x10 // mov qword [rsp + 16], rax - LONG $0xe0c98148; WORD $0x0001; BYTE $0x00 // or rcx, 480 - LONG $0x244c8948; BYTE $0x30 // mov qword [rsp + 48], rcx + LONG $0x24448948; BYTE $0x18 // mov qword [rsp + 24], rax + WORD $0x8948; BYTE $0xf8 // mov rax, rdi + LONG $0x01e00d48; WORD $0x0000 // or rax, 480 + LONG $0x24448948; BYTE $0x30 // mov qword [rsp + 48], rax QUAD $0x012e3c203a0f4666 // pinsrb xmm15, byte [rsi + r13], 1 - QUAD $0x02063c203a0f4666 // pinsrb xmm15, byte [rsi + r8], 2 + QUAD $0x02263c203a0f4666 // pinsrb xmm15, byte [rsi + r12], 2 QUAD $0x03163c203a0f4466 // pinsrb xmm15, byte [rsi + rdx], 3 - WORD $0x894c; BYTE $0xcf // mov rdi, r9 - LONG $0x244c894c; BYTE $0x38 // mov qword [rsp + 56], r9 - QUAD $0x040e3c203a0f4666 // pinsrb xmm15, byte [rsi + r9], 4 - QUAD $0x05263c203a0f4666 // pinsrb xmm15, byte [rsi + r12], 5 - LONG $0x244c8b4c; BYTE $0x40 // mov r9, qword [rsp + 64] - QUAD $0x060e3c203a0f4666 // pinsrb xmm15, byte [rsi + r9], 6 - LONG $0x246c8b4c; BYTE $0x48 // mov r13, qword [rsp + 72] - QUAD $0x072e3c203a0f4666 // pinsrb xmm15, byte [rsi + r13], 7 - LONG $0x245c894c; BYTE $0x20 // mov qword [rsp + 32], r11 - QUAD $0x081e3c203a0f4666 // pinsrb xmm15, byte [rsi + r11], 8 - QUAD $0x09363c203a0f4666 // pinsrb xmm15, byte [rsi + r14], 9 - QUAD $0x0a163c203a0f4666 // pinsrb xmm15, byte [rsi + r10], 10 - QUAD $0x0b3e3c203a0f4666 // pinsrb xmm15, byte [rsi + r15], 11 - QUAD $0x0c1e3c203a0f4466 // pinsrb xmm15, byte [rsi + rbx], 12 - LONG $0x24548b48; BYTE $0x08 // mov rdx, qword [rsp + 8] + LONG $0x246c8b4c; BYTE $0x40 // mov r13, qword [rsp + 64] + QUAD $0x042e3c203a0f4666 // pinsrb xmm15, byte [rsi + r13], 4 + WORD $0x894c; BYTE $0xdf // mov rdi, r11 + QUAD $0x051e3c203a0f4666 // pinsrb xmm15, byte [rsi + r11], 5 + LONG $0x247c8b4c; BYTE $0x50 // mov r15, qword [rsp + 80] + QUAD $0x063e3c203a0f4666 // pinsrb xmm15, byte [rsi + r15], 6 + QUAD $0x070e3c203a0f4666 // pinsrb xmm15, byte [rsi + r9], 7 + QUAD $0x08363c203a0f4666 // pinsrb xmm15, byte [rsi + r14], 8 + QUAD $0x09163c203a0f4666 // pinsrb xmm15, byte [rsi + r10], 9 + QUAD $0x0a063c203a0f4666 // pinsrb xmm15, byte [rsi + r8], 10 + QUAD $0x0b1e3c203a0f4466 // pinsrb xmm15, byte [rsi + rbx], 11 + QUAD $0x0c0e3c203a0f4466 // pinsrb xmm15, byte [rsi + rcx], 12 + LONG $0x24548b48; BYTE $0x10 // mov rdx, qword [rsp + 16] QUAD $0x0d163c203a0f4466 // pinsrb xmm15, byte [rsi + rdx], 13 - QUAD $0x0e063c203a0f4466 // pinsrb xmm15, byte [rsi + rax], 14 - QUAD $0x0f0e3c203a0f4466 // pinsrb xmm15, byte [rsi + rcx], 15 - LONG $0x245c8b4c; BYTE $0x28 // mov r11, qword [rsp + 40] + LONG $0x24548b48; BYTE $0x18 // mov rdx, qword [rsp + 24] + QUAD $0x0e163c203a0f4466 // pinsrb xmm15, byte [rsi + rdx], 14 + QUAD $0x0f063c203a0f4466 // pinsrb xmm15, byte [rsi + rax], 15 + LONG $0x245c8b4c; BYTE $0x20 // mov r11, qword [rsp + 32] QUAD $0x011e6c203a0f4266; BYTE $0x01 // pinsrb xmm5, byte [rsi + r11 + 1], 1 - QUAD $0x01066c203a0f4266; BYTE $0x02 // pinsrb xmm5, byte [rsi + r8 + 1], 2 - WORD $0x894d; BYTE $0xc3 // mov r11, r8 - LONG $0x24448b4c; BYTE $0x78 // mov r8, qword [rsp + 120] - QUAD $0x01066c203a0f4266; BYTE $0x03 // pinsrb xmm5, byte [rsi + r8 + 1], 3 - QUAD $0x04013e6c203a0f66 // pinsrb xmm5, byte [rsi + rdi + 1], 4 - QUAD $0x01266c203a0f4266; BYTE $0x05 // pinsrb xmm5, byte [rsi + r12 + 1], 5 - WORD $0x894c; BYTE $0xe7 // mov rdi, r12 - QUAD $0x010e6c203a0f4266; BYTE $0x06 // pinsrb xmm5, byte [rsi + r9 + 1], 6 - QUAD $0x012e6c203a0f4266; BYTE $0x07 // pinsrb xmm5, byte [rsi + r13 + 1], 7 - WORD $0x894d; BYTE $0xec // mov r12, r13 - LONG $0x24548b48; BYTE $0x20 // mov rdx, qword [rsp + 32] - QUAD $0x0801166c203a0f66 // pinsrb xmm5, byte [rsi + rdx + 1], 8 - QUAD $0x01366c203a0f4266; BYTE $0x09 // pinsrb xmm5, byte [rsi + r14 + 1], 9 - WORD $0x894d; BYTE $0xf1 // mov r9, r14 - QUAD $0x01166c203a0f4266; BYTE $0x0a // pinsrb xmm5, byte [rsi + r10 + 1], 10 - QUAD $0x013e6c203a0f4266; BYTE $0x0b // pinsrb xmm5, byte [rsi + r15 + 1], 11 - QUAD $0x0c011e6c203a0f66 // pinsrb xmm5, byte [rsi + rbx + 1], 12 - WORD $0x8949; BYTE $0xdd // mov r13, rbx - QUAD $0x000000c0249c8948 // mov qword [rsp + 192], rbx - LONG $0x247c8b4c; BYTE $0x08 // mov r15, qword [rsp + 8] - QUAD $0x013e6c203a0f4266; BYTE $0x0d // pinsrb xmm5, byte [rsi + r15 + 1], 13 - QUAD $0x0e01066c203a0f66 // pinsrb xmm5, byte [rsi + rax + 1], 14 - QUAD $0x0f010e6c203a0f66 // pinsrb xmm5, byte [rsi + rcx + 1], 15 - QUAD $0x00a0248c6f0f4466; WORD $0x0000 // movdqa xmm9, oword [rsp + 160] + QUAD $0x01266c203a0f4266; BYTE $0x02 // pinsrb xmm5, byte [rsi + r12 + 1], 2 + LONG $0x245c8b4c; BYTE $0x68 // mov r11, qword [rsp + 104] + QUAD $0x011e6c203a0f4266; BYTE $0x03 // pinsrb xmm5, byte [rsi + r11 + 1], 3 + QUAD $0x012e6c203a0f4266; BYTE $0x04 // pinsrb xmm5, byte [rsi + r13 + 1], 4 + QUAD $0x05013e6c203a0f66 // pinsrb xmm5, byte [rsi + rdi + 1], 5 + QUAD $0x013e6c203a0f4266; BYTE $0x06 // pinsrb xmm5, byte [rsi + r15 + 1], 6 + QUAD $0x010e6c203a0f4266; BYTE $0x07 // pinsrb xmm5, byte [rsi + r9 + 1], 7 + WORD $0x894d; BYTE $0xcd // mov r13, r9 + QUAD $0x01366c203a0f4266; BYTE $0x08 // pinsrb xmm5, byte [rsi + r14 + 1], 8 + QUAD $0x01166c203a0f4266; BYTE $0x09 // pinsrb xmm5, byte [rsi + r10 + 1], 9 + QUAD $0x01066c203a0f4266; BYTE $0x0a // pinsrb xmm5, byte [rsi + r8 + 1], 10 + QUAD $0x0b011e6c203a0f66 // pinsrb xmm5, byte [rsi + rbx + 1], 11 + QUAD $0x0c010e6c203a0f66 // pinsrb xmm5, byte [rsi + rcx + 1], 12 + LONG $0x244c8b48; BYTE $0x10 // mov rcx, qword [rsp + 16] + QUAD $0x0d010e6c203a0f66 // pinsrb xmm5, byte [rsi + rcx + 1], 13 + QUAD $0x0e01166c203a0f66 // pinsrb xmm5, byte [rsi + rdx + 1], 14 + QUAD $0x0f01066c203a0f66 // pinsrb xmm5, byte [rsi + rax + 1], 15 + QUAD $0x0090248c6f0f4466; WORD $0x0000 // movdqa xmm9, oword [rsp + 144] LONG $0x640f4166; BYTE $0xe9 // pcmpgtb xmm5, xmm9 LONG $0xfd6f0f66 // movdqa xmm7, xmm5 QUAD $0x000000a0a56f0f66 // movdqa xmm4, oword 160[rbp] /* [rip + .LCPI7_10] */ LONG $0xfcdb0f66 // pand xmm7, xmm4 LONG $0xfdf80f66 // psubb xmm7, xmm5 - LONG $0x24448b48; BYTE $0x18 // mov rax, qword [rsp + 24] + LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] LONG $0x065cb60f; BYTE $0x0f // movzx ebx, byte [rsi + rax + 15] LONG $0x6e0f4466; BYTE $0xf3 // movd xmm14, ebx LONG $0x640f4566; BYTE $0xf9 // pcmpgtb xmm15, xmm9 - LONG $0x24548b48; BYTE $0x28 // mov rdx, qword [rsp + 40] - QUAD $0x01021674203a0f66 // pinsrb xmm6, byte [rsi + rdx + 2], 1 - QUAD $0x021e74203a0f4266; BYTE $0x02 // pinsrb xmm6, byte [rsi + r11 + 2], 2 - WORD $0x894c; BYTE $0xc1 // mov rcx, r8 - QUAD $0x020674203a0f4266; BYTE $0x03 // pinsrb xmm6, byte [rsi + r8 + 2], 3 - LONG $0x24748b4c; BYTE $0x38 // mov r14, qword [rsp + 56] - QUAD $0x023674203a0f4266; BYTE $0x04 // pinsrb xmm6, byte [rsi + r14 + 2], 4 - QUAD $0x05023e74203a0f66 // pinsrb xmm6, byte [rsi + rdi + 2], 5 + LONG $0x24748b4c; BYTE $0x20 // mov r14, qword [rsp + 32] + QUAD $0x023674203a0f4266; BYTE $0x01 // pinsrb xmm6, byte [rsi + r14 + 2], 1 + WORD $0x894c; BYTE $0xe1 // mov rcx, r12 + QUAD $0x022674203a0f4266; BYTE $0x02 // pinsrb xmm6, byte [rsi + r12 + 2], 2 + WORD $0x894c; BYTE $0xda // mov rdx, r11 + QUAD $0x021e74203a0f4266; BYTE $0x03 // pinsrb xmm6, byte [rsi + r11 + 2], 3 LONG $0x24448b4c; BYTE $0x40 // mov r8, qword [rsp + 64] - QUAD $0x020674203a0f4266; BYTE $0x06 // pinsrb xmm6, byte [rsi + r8 + 2], 6 - QUAD $0x022674203a0f4266; BYTE $0x07 // pinsrb xmm6, byte [rsi + r12 + 2], 7 - LONG $0x245c8b48; BYTE $0x20 // mov rbx, qword [rsp + 32] - QUAD $0x08021e74203a0f66 // pinsrb xmm6, byte [rsi + rbx + 2], 8 - QUAD $0x000000b0248c894c // mov qword [rsp + 176], r9 - QUAD $0x020e74203a0f4266; BYTE $0x09 // pinsrb xmm6, byte [rsi + r9 + 2], 9 - QUAD $0x021674203a0f4266; BYTE $0x0a // pinsrb xmm6, byte [rsi + r10 + 2], 10 + QUAD $0x020674203a0f4266; BYTE $0x04 // pinsrb xmm6, byte [rsi + r8 + 2], 4 + QUAD $0x05023e74203a0f66 // pinsrb xmm6, byte [rsi + rdi + 2], 5 LONG $0x24648b4c; BYTE $0x50 // mov r12, qword [rsp + 80] - QUAD $0x022674203a0f4266; BYTE $0x0b // pinsrb xmm6, byte [rsi + r12 + 2], 11 - QUAD $0x022e74203a0f4266; BYTE $0x0c // pinsrb xmm6, byte [rsi + r13 + 2], 12 - QUAD $0x023e74203a0f4266; BYTE $0x0d // pinsrb xmm6, byte [rsi + r15 + 2], 13 + QUAD $0x022674203a0f4266; BYTE $0x06 // pinsrb xmm6, byte [rsi + r12 + 2], 6 + QUAD $0x000000c0248c894c // mov qword [rsp + 192], r9 + QUAD $0x020e74203a0f4266; BYTE $0x07 // pinsrb xmm6, byte [rsi + r9 + 2], 7 + QUAD $0x0000008024948b4c // mov r10, qword [rsp + 128] + QUAD $0x021674203a0f4266; BYTE $0x08 // pinsrb xmm6, byte [rsi + r10 + 2], 8 + LONG $0x245c8b4c; BYTE $0x78 // mov r11, qword [rsp + 120] + QUAD $0x021e74203a0f4266; BYTE $0x09 // pinsrb xmm6, byte [rsi + r11 + 2], 9 + LONG $0x247c8b4c; BYTE $0x48 // mov r15, qword [rsp + 72] + QUAD $0x023e74203a0f4266; BYTE $0x0a // pinsrb xmm6, byte [rsi + r15 + 2], 10 + LONG $0x245c8b48; BYTE $0x58 // mov rbx, qword [rsp + 88] + QUAD $0x0b021e74203a0f66 // pinsrb xmm6, byte [rsi + rbx + 2], 11 + LONG $0x245c8b48; BYTE $0x38 // mov rbx, qword [rsp + 56] + QUAD $0x0c021e74203a0f66 // pinsrb xmm6, byte [rsi + rbx + 2], 12 LONG $0x245c8b48; BYTE $0x10 // mov rbx, qword [rsp + 16] + QUAD $0x0d021e74203a0f66 // pinsrb xmm6, byte [rsi + rbx + 2], 13 + LONG $0x245c8b48; BYTE $0x18 // mov rbx, qword [rsp + 24] QUAD $0x0e021e74203a0f66 // pinsrb xmm6, byte [rsi + rbx + 2], 14 LONG $0x245c8b48; BYTE $0x30 // mov rbx, qword [rsp + 48] QUAD $0x0f021e74203a0f66 // pinsrb xmm6, byte [rsi + rbx + 2], 15 @@ -35748,55 +37136,54 @@ LBB7_85: LONG $0xeb0f4166; BYTE $0xf7 // por xmm6, xmm15 LONG $0x065cb60f; BYTE $0x10 // movzx ebx, byte [rsi + rax + 16] LONG $0x6e0f4466; BYTE $0xfb // movd xmm15, ebx - WORD $0x8948; BYTE $0xd0 // mov rax, rdx - QUAD $0x01031654203a0f66 // pinsrb xmm2, byte [rsi + rdx + 3], 1 - WORD $0x894d; BYTE $0xdd // mov r13, r11 - QUAD $0x031e54203a0f4266; BYTE $0x02 // pinsrb xmm2, byte [rsi + r11 + 3], 2 - WORD $0x8949; BYTE $0xcb // mov r11, rcx - QUAD $0x03030e54203a0f66 // pinsrb xmm2, byte [rsi + rcx + 3], 3 - QUAD $0x033654203a0f4266; BYTE $0x04 // pinsrb xmm2, byte [rsi + r14 + 3], 4 + QUAD $0x033654203a0f4266; BYTE $0x01 // pinsrb xmm2, byte [rsi + r14 + 3], 1 + QUAD $0x02030e54203a0f66 // pinsrb xmm2, byte [rsi + rcx + 3], 2 + WORD $0x8948; BYTE $0xd3 // mov rbx, rdx + QUAD $0x03031654203a0f66 // pinsrb xmm2, byte [rsi + rdx + 3], 3 + WORD $0x894d; BYTE $0xc1 // mov r9, r8 + QUAD $0x030654203a0f4266; BYTE $0x04 // pinsrb xmm2, byte [rsi + r8 + 3], 4 WORD $0x8948; BYTE $0xfa // mov rdx, rdi - LONG $0x247c8948; BYTE $0x68 // mov qword [rsp + 104], rdi + LONG $0x247c8948; BYTE $0x70 // mov qword [rsp + 112], rdi QUAD $0x05033e54203a0f66 // pinsrb xmm2, byte [rsi + rdi + 3], 5 - WORD $0x894c; BYTE $0xc1 // mov rcx, r8 - QUAD $0x030654203a0f4266; BYTE $0x06 // pinsrb xmm2, byte [rsi + r8 + 3], 6 - LONG $0x247c8b48; BYTE $0x48 // mov rdi, qword [rsp + 72] - QUAD $0x07033e54203a0f66 // pinsrb xmm2, byte [rsi + rdi + 3], 7 - LONG $0x24448b4c; BYTE $0x20 // mov r8, qword [rsp + 32] - QUAD $0x030654203a0f4266; BYTE $0x08 // pinsrb xmm2, byte [rsi + r8 + 3], 8 - QUAD $0x030e54203a0f4266; BYTE $0x09 // pinsrb xmm2, byte [rsi + r9 + 3], 9 - QUAD $0x031654203a0f4266; BYTE $0x0a // pinsrb xmm2, byte [rsi + r10 + 3], 10 + WORD $0x894c; BYTE $0xe7 // mov rdi, r12 + QUAD $0x032654203a0f4266; BYTE $0x06 // pinsrb xmm2, byte [rsi + r12 + 3], 6 + QUAD $0x032e54203a0f4266; BYTE $0x07 // pinsrb xmm2, byte [rsi + r13 + 3], 7 + QUAD $0x031654203a0f4266; BYTE $0x08 // pinsrb xmm2, byte [rsi + r10 + 3], 8 + QUAD $0x031e54203a0f4266; BYTE $0x09 // pinsrb xmm2, byte [rsi + r11 + 3], 9 + QUAD $0x033e54203a0f4266; BYTE $0x0a // pinsrb xmm2, byte [rsi + r15 + 3], 10 + LONG $0x24648b4c; BYTE $0x58 // mov r12, qword [rsp + 88] QUAD $0x032654203a0f4266; BYTE $0x0b // pinsrb xmm2, byte [rsi + r12 + 3], 11 - QUAD $0x000000c024a48b4c // mov r12, qword [rsp + 192] - QUAD $0x032654203a0f4266; BYTE $0x0c // pinsrb xmm2, byte [rsi + r12 + 3], 12 - QUAD $0x033e54203a0f4266; BYTE $0x0d // pinsrb xmm2, byte [rsi + r15 + 3], 13 - LONG $0x245c8b48; BYTE $0x10 // mov rbx, qword [rsp + 16] - QUAD $0x0e031e54203a0f66 // pinsrb xmm2, byte [rsi + rbx + 3], 14 - LONG $0x245c8b48; BYTE $0x30 // mov rbx, qword [rsp + 48] - QUAD $0x0f031e54203a0f66 // pinsrb xmm2, byte [rsi + rbx + 3], 15 - QUAD $0x0104064c203a0f66 // pinsrb xmm1, byte [rsi + rax + 4], 1 - QUAD $0x042e4c203a0f4266; BYTE $0x02 // pinsrb xmm1, byte [rsi + r13 + 4], 2 - LONG $0x246c894c; BYTE $0x60 // mov qword [rsp + 96], r13 - QUAD $0x041e4c203a0f4266; BYTE $0x03 // pinsrb xmm1, byte [rsi + r11 + 4], 3 - QUAD $0x04364c203a0f4266; BYTE $0x04 // pinsrb xmm1, byte [rsi + r14 + 4], 4 + LONG $0x246c8b4c; BYTE $0x38 // mov r13, qword [rsp + 56] + QUAD $0x032e54203a0f4266; BYTE $0x0c // pinsrb xmm2, byte [rsi + r13 + 3], 12 + LONG $0x24448b48; BYTE $0x10 // mov rax, qword [rsp + 16] + QUAD $0x0d030654203a0f66 // pinsrb xmm2, byte [rsi + rax + 3], 13 + LONG $0x24448b4c; BYTE $0x18 // mov r8, qword [rsp + 24] + QUAD $0x030654203a0f4266; BYTE $0x0e // pinsrb xmm2, byte [rsi + r8 + 3], 14 + LONG $0x24448b4c; BYTE $0x30 // mov r8, qword [rsp + 48] + QUAD $0x030654203a0f4266; BYTE $0x0f // pinsrb xmm2, byte [rsi + r8 + 3], 15 + QUAD $0x04364c203a0f4266; BYTE $0x01 // pinsrb xmm1, byte [rsi + r14 + 4], 1 + QUAD $0x02040e4c203a0f66 // pinsrb xmm1, byte [rsi + rcx + 4], 2 + QUAD $0x03041e4c203a0f66 // pinsrb xmm1, byte [rsi + rbx + 4], 3 + QUAD $0x040e4c203a0f4266; BYTE $0x04 // pinsrb xmm1, byte [rsi + r9 + 4], 4 QUAD $0x0504164c203a0f66 // pinsrb xmm1, byte [rsi + rdx + 4], 5 - QUAD $0x06040e4c203a0f66 // pinsrb xmm1, byte [rsi + rcx + 4], 6 - QUAD $0x07043e4c203a0f66 // pinsrb xmm1, byte [rsi + rdi + 4], 7 - QUAD $0x04064c203a0f4266; BYTE $0x08 // pinsrb xmm1, byte [rsi + r8 + 4], 8 - QUAD $0x040e4c203a0f4266; BYTE $0x09 // pinsrb xmm1, byte [rsi + r9 + 4], 9 - QUAD $0x04164c203a0f4266; BYTE $0x0a // pinsrb xmm1, byte [rsi + r10 + 4], 10 - LONG $0x2454894c; BYTE $0x70 // mov qword [rsp + 112], r10 - LONG $0x24448b48; BYTE $0x50 // mov rax, qword [rsp + 80] - QUAD $0x0b04064c203a0f66 // pinsrb xmm1, byte [rsi + rax + 4], 11 - QUAD $0x04264c203a0f4266; BYTE $0x0c // pinsrb xmm1, byte [rsi + r12 + 4], 12 - QUAD $0x043e4c203a0f4266; BYTE $0x0d // pinsrb xmm1, byte [rsi + r15 + 4], 13 - WORD $0x894d; BYTE $0xf8 // mov r8, r15 - LONG $0x24548b48; BYTE $0x10 // mov rdx, qword [rsp + 16] - QUAD $0x0e04164c203a0f66 // pinsrb xmm1, byte [rsi + rdx + 4], 14 - QUAD $0x0f041e4c203a0f66 // pinsrb xmm1, byte [rsi + rbx + 4], 15 + QUAD $0x06043e4c203a0f66 // pinsrb xmm1, byte [rsi + rdi + 4], 6 + QUAD $0x000000c024848b48 // mov rax, qword [rsp + 192] + QUAD $0x0704064c203a0f66 // pinsrb xmm1, byte [rsi + rax + 4], 7 + QUAD $0x04164c203a0f4266; BYTE $0x08 // pinsrb xmm1, byte [rsi + r10 + 4], 8 + QUAD $0x041e4c203a0f4266; BYTE $0x09 // pinsrb xmm1, byte [rsi + r11 + 4], 9 + QUAD $0x043e4c203a0f4266; BYTE $0x0a // pinsrb xmm1, byte [rsi + r15 + 4], 10 + QUAD $0x04264c203a0f4266; BYTE $0x0b // pinsrb xmm1, byte [rsi + r12 + 4], 11 + QUAD $0x042e4c203a0f4266; BYTE $0x0c // pinsrb xmm1, byte [rsi + r13 + 4], 12 + LONG $0x24448b48; BYTE $0x10 // mov rax, qword [rsp + 16] + QUAD $0x0d04064c203a0f66 // pinsrb xmm1, byte [rsi + rax + 4], 13 + LONG $0x24748b4c; BYTE $0x18 // mov r14, qword [rsp + 24] + QUAD $0x04364c203a0f4266; BYTE $0x0e // pinsrb xmm1, byte [rsi + r14 + 4], 14 + WORD $0x894c; BYTE $0xc2 // mov rdx, r8 + QUAD $0x04064c203a0f4266; BYTE $0x0f // pinsrb xmm1, byte [rsi + r8 + 4], 15 + WORD $0x894d; BYTE $0xc7 // mov r15, r8 LONG $0xf7eb0f66 // por xmm6, xmm7 - LONG $0x24448b48; BYTE $0x18 // mov rax, qword [rsp + 24] - LONG $0x065cb60f; BYTE $0x11 // movzx ebx, byte [rsi + rax + 17] + LONG $0x24548b48; BYTE $0x28 // mov rdx, qword [rsp + 40] + LONG $0x165cb60f; BYTE $0x11 // movzx ebx, byte [rsi + rdx + 17] LONG $0xc36e0f66 // movd xmm0, ebx LONG $0x640f4166; BYTE $0xd1 // pcmpgtb xmm2, xmm9 QUAD $0x000000c0ad6f0f66 // movdqa xmm5, oword 192[rbp] /* [rip + .LCPI7_12] */ @@ -35805,90 +37192,92 @@ LBB7_85: QUAD $0x000000d0ad6f0f66 // movdqa xmm5, oword 208[rbp] /* [rip + .LCPI7_13] */ LONG $0xcddb0f66 // pand xmm1, xmm5 LONG $0xcaeb0f66 // por xmm1, xmm2 - LONG $0x065cb60f; BYTE $0x12 // movzx ebx, byte [rsi + rax + 18] + LONG $0x165cb60f; BYTE $0x12 // movzx ebx, byte [rsi + rdx + 18] LONG $0xeb6e0f66 // movd xmm5, ebx - LONG $0x244c8b48; BYTE $0x28 // mov rcx, qword [rsp + 40] - QUAD $0x050e44203a0f4466; BYTE $0x01 // pinsrb xmm8, byte [rsi + rcx + 5], 1 - QUAD $0x052e44203a0f4666; BYTE $0x02 // pinsrb xmm8, byte [rsi + r13 + 5], 2 - QUAD $0x051e44203a0f4666; BYTE $0x03 // pinsrb xmm8, byte [rsi + r11 + 5], 3 - QUAD $0x053644203a0f4666; BYTE $0x04 // pinsrb xmm8, byte [rsi + r14 + 5], 4 + LONG $0x24448b4c; BYTE $0x20 // mov r8, qword [rsp + 32] + QUAD $0x050644203a0f4666; BYTE $0x01 // pinsrb xmm8, byte [rsi + r8 + 5], 1 + QUAD $0x050e44203a0f4466; BYTE $0x02 // pinsrb xmm8, byte [rsi + rcx + 5], 2 LONG $0x247c8b48; BYTE $0x68 // mov rdi, qword [rsp + 104] - QUAD $0x053e44203a0f4466; BYTE $0x05 // pinsrb xmm8, byte [rsi + rdi + 5], 5 - LONG $0x245c8b48; BYTE $0x40 // mov rbx, qword [rsp + 64] - QUAD $0x051e44203a0f4466; BYTE $0x06 // pinsrb xmm8, byte [rsi + rbx + 5], 6 - LONG $0x244c8b4c; BYTE $0x48 // mov r9, qword [rsp + 72] - QUAD $0x050e44203a0f4666; BYTE $0x07 // pinsrb xmm8, byte [rsi + r9 + 5], 7 - LONG $0x24648b4c; BYTE $0x20 // mov r12, qword [rsp + 32] + QUAD $0x053e44203a0f4466; BYTE $0x03 // pinsrb xmm8, byte [rsi + rdi + 5], 3 + LONG $0x244c8b4c; BYTE $0x40 // mov r9, qword [rsp + 64] + QUAD $0x050e44203a0f4666; BYTE $0x04 // pinsrb xmm8, byte [rsi + r9 + 5], 4 + LONG $0x24548b48; BYTE $0x70 // mov rdx, qword [rsp + 112] + QUAD $0x051644203a0f4466; BYTE $0x05 // pinsrb xmm8, byte [rsi + rdx + 5], 5 + LONG $0x24548b4c; BYTE $0x50 // mov r10, qword [rsp + 80] + QUAD $0x051644203a0f4666; BYTE $0x06 // pinsrb xmm8, byte [rsi + r10 + 5], 6 + QUAD $0x000000c0249c8b4c // mov r11, qword [rsp + 192] + QUAD $0x051e44203a0f4666; BYTE $0x07 // pinsrb xmm8, byte [rsi + r11 + 5], 7 + QUAD $0x0000008024a48b4c // mov r12, qword [rsp + 128] QUAD $0x052644203a0f4666; BYTE $0x08 // pinsrb xmm8, byte [rsi + r12 + 5], 8 - QUAD $0x000000b024ac8b4c // mov r13, qword [rsp + 176] + LONG $0x246c8b4c; BYTE $0x78 // mov r13, qword [rsp + 120] QUAD $0x052e44203a0f4666; BYTE $0x09 // pinsrb xmm8, byte [rsi + r13 + 5], 9 - QUAD $0x051644203a0f4666; BYTE $0x0a // pinsrb xmm8, byte [rsi + r10 + 5], 10 - LONG $0x247c8b4c; BYTE $0x50 // mov r15, qword [rsp + 80] - QUAD $0x053e44203a0f4666; BYTE $0x0b // pinsrb xmm8, byte [rsi + r15 + 5], 11 - QUAD $0x000000c0249c8b48 // mov rbx, qword [rsp + 192] + LONG $0x245c8b48; BYTE $0x48 // mov rbx, qword [rsp + 72] + QUAD $0x051e44203a0f4466; BYTE $0x0a // pinsrb xmm8, byte [rsi + rbx + 5], 10 + LONG $0x245c8b48; BYTE $0x58 // mov rbx, qword [rsp + 88] + QUAD $0x051e44203a0f4466; BYTE $0x0b // pinsrb xmm8, byte [rsi + rbx + 5], 11 + LONG $0x245c8b48; BYTE $0x38 // mov rbx, qword [rsp + 56] QUAD $0x051e44203a0f4466; BYTE $0x0c // pinsrb xmm8, byte [rsi + rbx + 5], 12 - QUAD $0x050644203a0f4666; BYTE $0x0d // pinsrb xmm8, byte [rsi + r8 + 5], 13 - QUAD $0x051644203a0f4466; BYTE $0x0e // pinsrb xmm8, byte [rsi + rdx + 5], 14 - LONG $0x24748b4c; BYTE $0x30 // mov r14, qword [rsp + 48] - QUAD $0x053644203a0f4666; BYTE $0x0f // pinsrb xmm8, byte [rsi + r14 + 5], 15 + QUAD $0x050644203a0f4466; BYTE $0x0d // pinsrb xmm8, byte [rsi + rax + 5], 13 + QUAD $0x053644203a0f4666; BYTE $0x0e // pinsrb xmm8, byte [rsi + r14 + 5], 14 + WORD $0x894c; BYTE $0xf8 // mov rax, r15 + QUAD $0x053e44203a0f4666; BYTE $0x0f // pinsrb xmm8, byte [rsi + r15 + 5], 15 LONG $0x640f4566; BYTE $0xc1 // pcmpgtb xmm8, xmm9 QUAD $0x000000e0956f0f66 // movdqa xmm2, oword 224[rbp] /* [rip + .LCPI7_14] */ LONG $0xdb0f4466; BYTE $0xc2 // pand xmm8, xmm2 LONG $0xeb0f4466; BYTE $0xc1 // por xmm8, xmm1 + LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] LONG $0x065cb60f; BYTE $0x13 // movzx ebx, byte [rsi + rax + 19] LONG $0xfb6e0f66 // movd xmm7, ebx LONG $0xeb0f4466; BYTE $0xc6 // por xmm8, xmm6 LONG $0x065cb60f; BYTE $0x14 // movzx ebx, byte [rsi + rax + 20] LONG $0xf36e0f66 // movd xmm6, ebx - QUAD $0x01060e5c203a0f66 // pinsrb xmm3, byte [rsi + rcx + 6], 1 - WORD $0x8949; BYTE $0xca // mov r10, rcx - LONG $0x24448b48; BYTE $0x60 // mov rax, qword [rsp + 96] - QUAD $0x0206065c203a0f66 // pinsrb xmm3, byte [rsi + rax + 6], 2 - QUAD $0x061e5c203a0f4266; BYTE $0x03 // pinsrb xmm3, byte [rsi + r11 + 6], 3 - LONG $0x24448b48; BYTE $0x38 // mov rax, qword [rsp + 56] - QUAD $0x0406065c203a0f66 // pinsrb xmm3, byte [rsi + rax + 6], 4 - WORD $0x8949; BYTE $0xf8 // mov r8, rdi - QUAD $0x05063e5c203a0f66 // pinsrb xmm3, byte [rsi + rdi + 6], 5 - LONG $0x244c8b48; BYTE $0x40 // mov rcx, qword [rsp + 64] - QUAD $0x06060e5c203a0f66 // pinsrb xmm3, byte [rsi + rcx + 6], 6 - QUAD $0x060e5c203a0f4266; BYTE $0x07 // pinsrb xmm3, byte [rsi + r9 + 6], 7 + QUAD $0x06065c203a0f4266; BYTE $0x01 // pinsrb xmm3, byte [rsi + r8 + 6], 1 + QUAD $0x02060e5c203a0f66 // pinsrb xmm3, byte [rsi + rcx + 6], 2 + WORD $0x8949; BYTE $0xfe // mov r14, rdi + QUAD $0x03063e5c203a0f66 // pinsrb xmm3, byte [rsi + rdi + 6], 3 + WORD $0x894d; BYTE $0xcf // mov r15, r9 + QUAD $0x060e5c203a0f4266; BYTE $0x04 // pinsrb xmm3, byte [rsi + r9 + 6], 4 + QUAD $0x0506165c203a0f66 // pinsrb xmm3, byte [rsi + rdx + 6], 5 + WORD $0x894c; BYTE $0xd7 // mov rdi, r10 + QUAD $0x06165c203a0f4266; BYTE $0x06 // pinsrb xmm3, byte [rsi + r10 + 6], 6 + WORD $0x894d; BYTE $0xd9 // mov r9, r11 + QUAD $0x061e5c203a0f4266; BYTE $0x07 // pinsrb xmm3, byte [rsi + r11 + 6], 7 + WORD $0x894d; BYTE $0xe2 // mov r10, r12 QUAD $0x06265c203a0f4266; BYTE $0x08 // pinsrb xmm3, byte [rsi + r12 + 6], 8 - WORD $0x894d; BYTE $0xe1 // mov r9, r12 - WORD $0x894c; BYTE $0xe8 // mov rax, r13 + WORD $0x894c; BYTE $0xeb // mov rbx, r13 QUAD $0x062e5c203a0f4266; BYTE $0x09 // pinsrb xmm3, byte [rsi + r13 + 6], 9 - LONG $0x247c8b48; BYTE $0x70 // mov rdi, qword [rsp + 112] - QUAD $0x0a063e5c203a0f66 // pinsrb xmm3, byte [rsi + rdi + 6], 10 - WORD $0x894c; BYTE $0xfb // mov rbx, r15 - QUAD $0x063e5c203a0f4266; BYTE $0x0b // pinsrb xmm3, byte [rsi + r15 + 6], 11 - QUAD $0x000000c024a48b4c // mov r12, qword [rsp + 192] - QUAD $0x06265c203a0f4266; BYTE $0x0c // pinsrb xmm3, byte [rsi + r12 + 6], 12 - LONG $0x24548b48; BYTE $0x08 // mov rdx, qword [rsp + 8] - QUAD $0x0d06165c203a0f66 // pinsrb xmm3, byte [rsi + rdx + 6], 13 - LONG $0x247c8b4c; BYTE $0x10 // mov r15, qword [rsp + 16] - QUAD $0x063e5c203a0f4266; BYTE $0x0e // pinsrb xmm3, byte [rsi + r15 + 6], 14 - QUAD $0x06365c203a0f4266; BYTE $0x0f // pinsrb xmm3, byte [rsi + r14 + 6], 15 - QUAD $0x0000d024946f0f66; BYTE $0x00 // movdqa xmm2, oword [rsp + 208] - QUAD $0x071654203a0f4266; BYTE $0x01 // pinsrb xmm2, byte [rsi + r10 + 7], 1 - LONG $0x246c8b4c; BYTE $0x60 // mov r13, qword [rsp + 96] - QUAD $0x072e54203a0f4266; BYTE $0x02 // pinsrb xmm2, byte [rsi + r13 + 7], 2 - QUAD $0x071e54203a0f4266; BYTE $0x03 // pinsrb xmm2, byte [rsi + r11 + 7], 3 - LONG $0x24548b4c; BYTE $0x38 // mov r10, qword [rsp + 56] - QUAD $0x071654203a0f4266; BYTE $0x04 // pinsrb xmm2, byte [rsi + r10 + 7], 4 - QUAD $0x070654203a0f4266; BYTE $0x05 // pinsrb xmm2, byte [rsi + r8 + 7], 5 - WORD $0x894c; BYTE $0xc2 // mov rdx, r8 - QUAD $0x06070e54203a0f66 // pinsrb xmm2, byte [rsi + rcx + 7], 6 - LONG $0x244c8b48; BYTE $0x48 // mov rcx, qword [rsp + 72] - QUAD $0x07070e54203a0f66 // pinsrb xmm2, byte [rsi + rcx + 7], 7 - QUAD $0x070e54203a0f4266; BYTE $0x08 // pinsrb xmm2, byte [rsi + r9 + 7], 8 - QUAD $0x09070654203a0f66 // pinsrb xmm2, byte [rsi + rax + 7], 9 - QUAD $0x0a073e54203a0f66 // pinsrb xmm2, byte [rsi + rdi + 7], 10 - QUAD $0x0b071e54203a0f66 // pinsrb xmm2, byte [rsi + rbx + 7], 11 - QUAD $0x072654203a0f4266; BYTE $0x0c // pinsrb xmm2, byte [rsi + r12 + 7], 12 - LONG $0x245c8b4c; BYTE $0x08 // mov r11, qword [rsp + 8] + LONG $0x24548b48; BYTE $0x48 // mov rdx, qword [rsp + 72] + QUAD $0x0a06165c203a0f66 // pinsrb xmm3, byte [rsi + rdx + 6], 10 + LONG $0x24648b4c; BYTE $0x58 // mov r12, qword [rsp + 88] + QUAD $0x06265c203a0f4266; BYTE $0x0b // pinsrb xmm3, byte [rsi + r12 + 6], 11 + LONG $0x246c8b4c; BYTE $0x38 // mov r13, qword [rsp + 56] + QUAD $0x062e5c203a0f4266; BYTE $0x0c // pinsrb xmm3, byte [rsi + r13 + 6], 12 + LONG $0x245c8b4c; BYTE $0x10 // mov r11, qword [rsp + 16] + QUAD $0x061e5c203a0f4266; BYTE $0x0d // pinsrb xmm3, byte [rsi + r11 + 6], 13 + LONG $0x24448b48; BYTE $0x18 // mov rax, qword [rsp + 24] + QUAD $0x0e06065c203a0f66 // pinsrb xmm3, byte [rsi + rax + 6], 14 + LONG $0x24448b48; BYTE $0x30 // mov rax, qword [rsp + 48] + QUAD $0x0f06065c203a0f66 // pinsrb xmm3, byte [rsi + rax + 6], 15 + QUAD $0x0000a024946f0f66; BYTE $0x00 // movdqa xmm2, oword [rsp + 160] + QUAD $0x070654203a0f4266; BYTE $0x01 // pinsrb xmm2, byte [rsi + r8 + 7], 1 + QUAD $0x02070e54203a0f66 // pinsrb xmm2, byte [rsi + rcx + 7], 2 + QUAD $0x073654203a0f4266; BYTE $0x03 // pinsrb xmm2, byte [rsi + r14 + 7], 3 + QUAD $0x073e54203a0f4266; BYTE $0x04 // pinsrb xmm2, byte [rsi + r15 + 7], 4 + WORD $0x894d; BYTE $0xfe // mov r14, r15 + LONG $0x24448b48; BYTE $0x70 // mov rax, qword [rsp + 112] + QUAD $0x05070654203a0f66 // pinsrb xmm2, byte [rsi + rax + 7], 5 + QUAD $0x06073e54203a0f66 // pinsrb xmm2, byte [rsi + rdi + 7], 6 + QUAD $0x070e54203a0f4266; BYTE $0x07 // pinsrb xmm2, byte [rsi + r9 + 7], 7 + QUAD $0x071654203a0f4266; BYTE $0x08 // pinsrb xmm2, byte [rsi + r10 + 7], 8 + QUAD $0x09071e54203a0f66 // pinsrb xmm2, byte [rsi + rbx + 7], 9 + QUAD $0x0a071654203a0f66 // pinsrb xmm2, byte [rsi + rdx + 7], 10 + QUAD $0x072654203a0f4266; BYTE $0x0b // pinsrb xmm2, byte [rsi + r12 + 7], 11 + QUAD $0x072e54203a0f4266; BYTE $0x0c // pinsrb xmm2, byte [rsi + r13 + 7], 12 QUAD $0x071e54203a0f4266; BYTE $0x0d // pinsrb xmm2, byte [rsi + r11 + 7], 13 - QUAD $0x073e54203a0f4266; BYTE $0x0e // pinsrb xmm2, byte [rsi + r15 + 7], 14 - WORD $0x894c; BYTE $0xf7 // mov rdi, r14 - QUAD $0x073654203a0f4266; BYTE $0x0f // pinsrb xmm2, byte [rsi + r14 + 7], 15 + LONG $0x247c8b48; BYTE $0x18 // mov rdi, qword [rsp + 24] + QUAD $0x0e073e54203a0f66 // pinsrb xmm2, byte [rsi + rdi + 7], 14 + LONG $0x24548b48; BYTE $0x30 // mov rdx, qword [rsp + 48] + QUAD $0x0f071654203a0f66 // pinsrb xmm2, byte [rsi + rdx + 7], 15 LONG $0x640f4166; BYTE $0xd9 // pcmpgtb xmm3, xmm9 QUAD $0x000000f08d6f0f66 // movdqa xmm1, oword 240[rbp] /* [rip + .LCPI7_15] */ LONG $0xd9db0f66 // pand xmm3, xmm1 @@ -35898,326 +37287,322 @@ LBB7_85: LONG $0xd1db0f66 // pand xmm2, xmm1 LONG $0xd3eb0f66 // por xmm2, xmm3 LONG $0xca6f0f66 // movdqa xmm1, xmm2 - LONG $0x24448b48; BYTE $0x18 // mov rax, qword [rsp + 24] - LONG $0x065cb60f; BYTE $0x15 // movzx ebx, byte [rsi + rax + 21] + LONG $0x24448b4c; BYTE $0x28 // mov r8, qword [rsp + 40] + LONG $0x5cb60f42; WORD $0x1506 // movzx ebx, byte [rsi + r8 + 21] LONG $0xd36e0f66 // movd xmm2, ebx - LONG $0x244c8b48; BYTE $0x28 // mov rcx, qword [rsp + 40] - QUAD $0x090e54203a0f4466; BYTE $0x01 // pinsrb xmm10, byte [rsi + rcx + 9], 1 - QUAD $0x092e54203a0f4666; BYTE $0x02 // pinsrb xmm10, byte [rsi + r13 + 9], 2 - LONG $0x24448b4c; BYTE $0x78 // mov r8, qword [rsp + 120] - QUAD $0x090654203a0f4666; BYTE $0x03 // pinsrb xmm10, byte [rsi + r8 + 9], 3 - QUAD $0x091654203a0f4666; BYTE $0x04 // pinsrb xmm10, byte [rsi + r10 + 9], 4 - QUAD $0x091654203a0f4466; BYTE $0x05 // pinsrb xmm10, byte [rsi + rdx + 9], 5 - WORD $0x8949; BYTE $0xd6 // mov r14, rdx - LONG $0x24548b48; BYTE $0x40 // mov rdx, qword [rsp + 64] - QUAD $0x091654203a0f4466; BYTE $0x06 // pinsrb xmm10, byte [rsi + rdx + 9], 6 - LONG $0x244c8b4c; BYTE $0x48 // mov r9, qword [rsp + 72] - QUAD $0x090e54203a0f4666; BYTE $0x07 // pinsrb xmm10, byte [rsi + r9 + 9], 7 - LONG $0x245c8b48; BYTE $0x20 // mov rbx, qword [rsp + 32] - QUAD $0x091e54203a0f4466; BYTE $0x08 // pinsrb xmm10, byte [rsi + rbx + 9], 8 - QUAD $0x000000b0249c8b48 // mov rbx, qword [rsp + 176] - QUAD $0x091e54203a0f4466; BYTE $0x09 // pinsrb xmm10, byte [rsi + rbx + 9], 9 - LONG $0x247c8b4c; BYTE $0x70 // mov r15, qword [rsp + 112] - QUAD $0x093e54203a0f4666; BYTE $0x0a // pinsrb xmm10, byte [rsi + r15 + 9], 10 + LONG $0x244c8b4c; BYTE $0x20 // mov r9, qword [rsp + 32] + QUAD $0x090e54203a0f4666; BYTE $0x01 // pinsrb xmm10, byte [rsi + r9 + 9], 1 + QUAD $0x090e54203a0f4466; BYTE $0x02 // pinsrb xmm10, byte [rsi + rcx + 9], 2 + LONG $0x247c8b4c; BYTE $0x68 // mov r15, qword [rsp + 104] + QUAD $0x093e54203a0f4666; BYTE $0x03 // pinsrb xmm10, byte [rsi + r15 + 9], 3 + QUAD $0x093654203a0f4666; BYTE $0x04 // pinsrb xmm10, byte [rsi + r14 + 9], 4 + LONG $0x245c8b48; BYTE $0x70 // mov rbx, qword [rsp + 112] + QUAD $0x091e54203a0f4466; BYTE $0x05 // pinsrb xmm10, byte [rsi + rbx + 9], 5 LONG $0x245c8b48; BYTE $0x50 // mov rbx, qword [rsp + 80] - QUAD $0x091e54203a0f4466; BYTE $0x0b // pinsrb xmm10, byte [rsi + rbx + 9], 11 - QUAD $0x092654203a0f4666; BYTE $0x0c // pinsrb xmm10, byte [rsi + r12 + 9], 12 - QUAD $0x091e54203a0f4666; BYTE $0x0d // pinsrb xmm10, byte [rsi + r11 + 9], 13 - LONG $0x24548b4c; BYTE $0x10 // mov r10, qword [rsp + 16] - QUAD $0x091654203a0f4666; BYTE $0x0e // pinsrb xmm10, byte [rsi + r10 + 9], 14 - QUAD $0x093e54203a0f4466; BYTE $0x0f // pinsrb xmm10, byte [rsi + rdi + 9], 15 + QUAD $0x091e54203a0f4466; BYTE $0x06 // pinsrb xmm10, byte [rsi + rbx + 9], 6 + QUAD $0x000000c024948b4c // mov r10, qword [rsp + 192] + QUAD $0x091654203a0f4666; BYTE $0x07 // pinsrb xmm10, byte [rsi + r10 + 9], 7 + QUAD $0x00000080249c8b4c // mov r11, qword [rsp + 128] + QUAD $0x091e54203a0f4666; BYTE $0x08 // pinsrb xmm10, byte [rsi + r11 + 9], 8 + LONG $0x245c8b48; BYTE $0x78 // mov rbx, qword [rsp + 120] + QUAD $0x091e54203a0f4466; BYTE $0x09 // pinsrb xmm10, byte [rsi + rbx + 9], 9 + LONG $0x245c8b48; BYTE $0x48 // mov rbx, qword [rsp + 72] + QUAD $0x091e54203a0f4466; BYTE $0x0a // pinsrb xmm10, byte [rsi + rbx + 9], 10 + QUAD $0x092654203a0f4666; BYTE $0x0b // pinsrb xmm10, byte [rsi + r12 + 9], 11 + QUAD $0x092e54203a0f4666; BYTE $0x0c // pinsrb xmm10, byte [rsi + r13 + 9], 12 + LONG $0x245c8b48; BYTE $0x10 // mov rbx, qword [rsp + 16] + QUAD $0x091e54203a0f4466; BYTE $0x0d // pinsrb xmm10, byte [rsi + rbx + 9], 13 + QUAD $0x093e54203a0f4466; BYTE $0x0e // pinsrb xmm10, byte [rsi + rdi + 9], 14 + QUAD $0x091654203a0f4466; BYTE $0x0f // pinsrb xmm10, byte [rsi + rdx + 9], 15 LONG $0xeb0f4166; BYTE $0xc8 // por xmm1, xmm8 - QUAD $0x0000d0248c7f0f66; BYTE $0x00 // movdqa oword [rsp + 208], xmm1 + QUAD $0x0000a0248c7f0f66; BYTE $0x00 // movdqa oword [rsp + 160], xmm1 LONG $0x640f4566; BYTE $0xd1 // pcmpgtb xmm10, xmm9 LONG $0x6f0f4166; BYTE $0xca // movdqa xmm1, xmm10 LONG $0x6f0f4466; BYTE $0xc4 // movdqa xmm8, xmm4 LONG $0xccdb0f66 // pand xmm1, xmm4 LONG $0xf80f4166; BYTE $0xca // psubb xmm1, xmm10 - LONG $0x065cb60f; BYTE $0x16 // movzx ebx, byte [rsi + rax + 22] + LONG $0x5cb60f42; WORD $0x1606 // movzx ebx, byte [rsi + r8 + 22] LONG $0xdb6e0f66 // movd xmm3, ebx - QUAD $0x00011024a46f0f66; BYTE $0x00 // movdqa xmm4, oword [rsp + 272] - QUAD $0x01080e64203a0f66 // pinsrb xmm4, byte [rsi + rcx + 8], 1 - WORD $0x8949; BYTE $0xcb // mov r11, rcx - QUAD $0x082e64203a0f4266; BYTE $0x02 // pinsrb xmm4, byte [rsi + r13 + 8], 2 - QUAD $0x080664203a0f4266; BYTE $0x03 // pinsrb xmm4, byte [rsi + r8 + 8], 3 - LONG $0x247c8b48; BYTE $0x38 // mov rdi, qword [rsp + 56] - QUAD $0x04083e64203a0f66 // pinsrb xmm4, byte [rsi + rdi + 8], 4 - QUAD $0x083664203a0f4266; BYTE $0x05 // pinsrb xmm4, byte [rsi + r14 + 8], 5 - QUAD $0x06081664203a0f66 // pinsrb xmm4, byte [rsi + rdx + 8], 6 - WORD $0x894c; BYTE $0xca // mov rdx, r9 - QUAD $0x080e64203a0f4266; BYTE $0x07 // pinsrb xmm4, byte [rsi + r9 + 8], 7 - LONG $0x24748b4c; BYTE $0x20 // mov r14, qword [rsp + 32] - QUAD $0x083664203a0f4266; BYTE $0x08 // pinsrb xmm4, byte [rsi + r14 + 8], 8 - QUAD $0x000000b024848b48 // mov rax, qword [rsp + 176] - QUAD $0x09080664203a0f66 // pinsrb xmm4, byte [rsi + rax + 8], 9 - WORD $0x894c; BYTE $0xfb // mov rbx, r15 - QUAD $0x083e64203a0f4266; BYTE $0x0a // pinsrb xmm4, byte [rsi + r15 + 8], 10 - LONG $0x247c8b4c; BYTE $0x50 // mov r15, qword [rsp + 80] - QUAD $0x083e64203a0f4266; BYTE $0x0b // pinsrb xmm4, byte [rsi + r15 + 8], 11 - QUAD $0x082664203a0f4266; BYTE $0x0c // pinsrb xmm4, byte [rsi + r12 + 8], 12 - LONG $0x244c8b48; BYTE $0x08 // mov rcx, qword [rsp + 8] - QUAD $0x0d080e64203a0f66 // pinsrb xmm4, byte [rsi + rcx + 8], 13 - QUAD $0x081664203a0f4266; BYTE $0x0e // pinsrb xmm4, byte [rsi + r10 + 8], 14 - LONG $0x244c8b4c; BYTE $0x30 // mov r9, qword [rsp + 48] - QUAD $0x080e64203a0f4266; BYTE $0x0f // pinsrb xmm4, byte [rsi + r9 + 8], 15 + QUAD $0x00013024a46f0f66; BYTE $0x00 // movdqa xmm4, oword [rsp + 304] + WORD $0x894c; BYTE $0xcb // mov rbx, r9 + QUAD $0x080e64203a0f4266; BYTE $0x01 // pinsrb xmm4, byte [rsi + r9 + 8], 1 + QUAD $0x02080e64203a0f66 // pinsrb xmm4, byte [rsi + rcx + 8], 2 + WORD $0x8949; BYTE $0xcc // mov r12, rcx + QUAD $0x083e64203a0f4266; BYTE $0x03 // pinsrb xmm4, byte [rsi + r15 + 8], 3 + WORD $0x894d; BYTE $0xf5 // mov r13, r14 + QUAD $0x083664203a0f4266; BYTE $0x04 // pinsrb xmm4, byte [rsi + r14 + 8], 4 + LONG $0x24548b48; BYTE $0x70 // mov rdx, qword [rsp + 112] + QUAD $0x05081664203a0f66 // pinsrb xmm4, byte [rsi + rdx + 8], 5 + LONG $0x247c8b48; BYTE $0x50 // mov rdi, qword [rsp + 80] + QUAD $0x06083e64203a0f66 // pinsrb xmm4, byte [rsi + rdi + 8], 6 + WORD $0x894d; BYTE $0xd1 // mov r9, r10 + QUAD $0x081664203a0f4266; BYTE $0x07 // pinsrb xmm4, byte [rsi + r10 + 8], 7 + WORD $0x894d; BYTE $0xda // mov r10, r11 + QUAD $0x081e64203a0f4266; BYTE $0x08 // pinsrb xmm4, byte [rsi + r11 + 8], 8 + LONG $0x244c8b48; BYTE $0x78 // mov rcx, qword [rsp + 120] + QUAD $0x09080e64203a0f66 // pinsrb xmm4, byte [rsi + rcx + 8], 9 + LONG $0x24448b48; BYTE $0x48 // mov rax, qword [rsp + 72] + QUAD $0x0a080664203a0f66 // pinsrb xmm4, byte [rsi + rax + 8], 10 + LONG $0x24748b4c; BYTE $0x58 // mov r14, qword [rsp + 88] + QUAD $0x083664203a0f4266; BYTE $0x0b // pinsrb xmm4, byte [rsi + r14 + 8], 11 + LONG $0x24448b48; BYTE $0x38 // mov rax, qword [rsp + 56] + QUAD $0x0c080664203a0f66 // pinsrb xmm4, byte [rsi + rax + 8], 12 + LONG $0x245c8b4c; BYTE $0x10 // mov r11, qword [rsp + 16] + QUAD $0x081e64203a0f4266; BYTE $0x0d // pinsrb xmm4, byte [rsi + r11 + 8], 13 + LONG $0x24448b4c; BYTE $0x18 // mov r8, qword [rsp + 24] + QUAD $0x080664203a0f4266; BYTE $0x0e // pinsrb xmm4, byte [rsi + r8 + 8], 14 + LONG $0x24448b48; BYTE $0x30 // mov rax, qword [rsp + 48] + QUAD $0x0f080664203a0f66 // pinsrb xmm4, byte [rsi + rax + 8], 15 LONG $0x640f4166; BYTE $0xe1 // pcmpgtb xmm4, xmm9 LONG $0xdb0f4166; BYTE $0xe0 // pand xmm4, xmm8 - QUAD $0x009024946f0f4466; WORD $0x0000 // movdqa xmm10, oword [rsp + 144] - QUAD $0x0a1e54203a0f4666; BYTE $0x01 // pinsrb xmm10, byte [rsi + r11 + 10], 1 - QUAD $0x0a2e54203a0f4666; BYTE $0x02 // pinsrb xmm10, byte [rsi + r13 + 10], 2 - QUAD $0x0a0654203a0f4666; BYTE $0x03 // pinsrb xmm10, byte [rsi + r8 + 10], 3 - QUAD $0x0a3e54203a0f4466; BYTE $0x04 // pinsrb xmm10, byte [rsi + rdi + 10], 4 - LONG $0x247c8b48; BYTE $0x68 // mov rdi, qword [rsp + 104] - QUAD $0x0a3e54203a0f4466; BYTE $0x05 // pinsrb xmm10, byte [rsi + rdi + 10], 5 - LONG $0x24448b4c; BYTE $0x40 // mov r8, qword [rsp + 64] - QUAD $0x0a0654203a0f4666; BYTE $0x06 // pinsrb xmm10, byte [rsi + r8 + 10], 6 - QUAD $0x0a1654203a0f4466; BYTE $0x07 // pinsrb xmm10, byte [rsi + rdx + 10], 7 - WORD $0x894d; BYTE $0xf3 // mov r11, r14 - QUAD $0x0a3654203a0f4666; BYTE $0x08 // pinsrb xmm10, byte [rsi + r14 + 10], 8 - QUAD $0x0a0654203a0f4466; BYTE $0x09 // pinsrb xmm10, byte [rsi + rax + 10], 9 - QUAD $0x0a1e54203a0f4466; BYTE $0x0a // pinsrb xmm10, byte [rsi + rbx + 10], 10 - QUAD $0x0a3e54203a0f4666; BYTE $0x0b // pinsrb xmm10, byte [rsi + r15 + 10], 11 - QUAD $0x0a2654203a0f4666; BYTE $0x0c // pinsrb xmm10, byte [rsi + r12 + 10], 12 - QUAD $0x0a0e54203a0f4466; BYTE $0x0d // pinsrb xmm10, byte [rsi + rcx + 10], 13 - QUAD $0x0a1654203a0f4666; BYTE $0x0e // pinsrb xmm10, byte [rsi + r10 + 10], 14 - QUAD $0x0a0e54203a0f4666; BYTE $0x0f // pinsrb xmm10, byte [rsi + r9 + 10], 15 + QUAD $0x00b024946f0f4466; WORD $0x0000 // movdqa xmm10, oword [rsp + 176] + QUAD $0x0a1e54203a0f4466; BYTE $0x01 // pinsrb xmm10, byte [rsi + rbx + 10], 1 + QUAD $0x0a2654203a0f4666; BYTE $0x02 // pinsrb xmm10, byte [rsi + r12 + 10], 2 + QUAD $0x0a3e54203a0f4666; BYTE $0x03 // pinsrb xmm10, byte [rsi + r15 + 10], 3 + QUAD $0x0a2e54203a0f4666; BYTE $0x04 // pinsrb xmm10, byte [rsi + r13 + 10], 4 + QUAD $0x0a1654203a0f4466; BYTE $0x05 // pinsrb xmm10, byte [rsi + rdx + 10], 5 + QUAD $0x0a3e54203a0f4466; BYTE $0x06 // pinsrb xmm10, byte [rsi + rdi + 10], 6 + QUAD $0x0a0e54203a0f4666; BYTE $0x07 // pinsrb xmm10, byte [rsi + r9 + 10], 7 + QUAD $0x0a1654203a0f4666; BYTE $0x08 // pinsrb xmm10, byte [rsi + r10 + 10], 8 + QUAD $0x0a0e54203a0f4466; BYTE $0x09 // pinsrb xmm10, byte [rsi + rcx + 10], 9 + LONG $0x247c8b4c; BYTE $0x48 // mov r15, qword [rsp + 72] + QUAD $0x0a3e54203a0f4666; BYTE $0x0a // pinsrb xmm10, byte [rsi + r15 + 10], 10 + QUAD $0x0a3654203a0f4666; BYTE $0x0b // pinsrb xmm10, byte [rsi + r14 + 10], 11 + LONG $0x246c8b4c; BYTE $0x38 // mov r13, qword [rsp + 56] + QUAD $0x0a2e54203a0f4666; BYTE $0x0c // pinsrb xmm10, byte [rsi + r13 + 10], 12 + QUAD $0x0a1e54203a0f4666; BYTE $0x0d // pinsrb xmm10, byte [rsi + r11 + 10], 13 + QUAD $0x0a0654203a0f4666; BYTE $0x0e // pinsrb xmm10, byte [rsi + r8 + 10], 14 + WORD $0x894d; BYTE $0xc3 // mov r11, r8 + QUAD $0x0a0654203a0f4466; BYTE $0x0f // pinsrb xmm10, byte [rsi + rax + 10], 15 LONG $0x640f4566; BYTE $0xd1 // pcmpgtb xmm10, xmm9 QUAD $0x0000b095db0f4466; BYTE $0x00 // pand xmm10, oword 176[rbp] /* [rip + .LCPI7_11] */ LONG $0xeb0f4466; BYTE $0xd4 // por xmm10, xmm4 - LONG $0x244c8b48; BYTE $0x18 // mov rcx, qword [rsp + 24] - LONG $0x0e5cb60f; BYTE $0x17 // movzx ebx, byte [rsi + rcx + 23] + LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] + LONG $0x065cb60f; BYTE $0x17 // movzx ebx, byte [rsi + rax + 23] LONG $0x6e0f4466; BYTE $0xc3 // movd xmm8, ebx LONG $0xeb0f4466; BYTE $0xd1 // por xmm10, xmm1 - QUAD $0x009024947f0f4466; WORD $0x0000 // movdqa oword [rsp + 144], xmm10 - LONG $0x0e5cb60f; BYTE $0x18 // movzx ebx, byte [rsi + rcx + 24] + QUAD $0x00b024947f0f4466; WORD $0x0000 // movdqa oword [rsp + 176], xmm10 + LONG $0x065cb60f; BYTE $0x18 // movzx ebx, byte [rsi + rax + 24] LONG $0x6e0f4466; BYTE $0xd3 // movd xmm10, ebx - LONG $0x24548b48; BYTE $0x28 // mov rdx, qword [rsp + 40] - QUAD $0x0b165c203a0f4466; BYTE $0x01 // pinsrb xmm11, byte [rsi + rdx + 11], 1 - QUAD $0x0b2e5c203a0f4666; BYTE $0x02 // pinsrb xmm11, byte [rsi + r13 + 11], 2 - WORD $0x894d; BYTE $0xee // mov r14, r13 - LONG $0x244c8b48; BYTE $0x78 // mov rcx, qword [rsp + 120] - QUAD $0x0b0e5c203a0f4466; BYTE $0x03 // pinsrb xmm11, byte [rsi + rcx + 11], 3 - LONG $0x244c8b48; BYTE $0x38 // mov rcx, qword [rsp + 56] - QUAD $0x0b0e5c203a0f4466; BYTE $0x04 // pinsrb xmm11, byte [rsi + rcx + 11], 4 - WORD $0x8949; BYTE $0xcd // mov r13, rcx - QUAD $0x0b3e5c203a0f4466; BYTE $0x05 // pinsrb xmm11, byte [rsi + rdi + 11], 5 - WORD $0x894c; BYTE $0xc1 // mov rcx, r8 - QUAD $0x0b065c203a0f4666; BYTE $0x06 // pinsrb xmm11, byte [rsi + r8 + 11], 6 - LONG $0x247c8b48; BYTE $0x48 // mov rdi, qword [rsp + 72] - QUAD $0x0b3e5c203a0f4466; BYTE $0x07 // pinsrb xmm11, byte [rsi + rdi + 11], 7 - WORD $0x894d; BYTE $0xd8 // mov r8, r11 - QUAD $0x0b1e5c203a0f4666; BYTE $0x08 // pinsrb xmm11, byte [rsi + r11 + 11], 8 - WORD $0x8949; BYTE $0xc1 // mov r9, rax - QUAD $0x0b065c203a0f4466; BYTE $0x09 // pinsrb xmm11, byte [rsi + rax + 11], 9 - LONG $0x24548b4c; BYTE $0x70 // mov r10, qword [rsp + 112] - QUAD $0x0b165c203a0f4666; BYTE $0x0a // pinsrb xmm11, byte [rsi + r10 + 11], 10 - QUAD $0x0b3e5c203a0f4666; BYTE $0x0b // pinsrb xmm11, byte [rsi + r15 + 11], 11 - QUAD $0x0b265c203a0f4666; BYTE $0x0c // pinsrb xmm11, byte [rsi + r12 + 11], 12 - LONG $0x24448b48; BYTE $0x08 // mov rax, qword [rsp + 8] - QUAD $0x0b065c203a0f4466; BYTE $0x0d // pinsrb xmm11, byte [rsi + rax + 11], 13 + LONG $0x24748b4c; BYTE $0x20 // mov r14, qword [rsp + 32] + QUAD $0x0b365c203a0f4666; BYTE $0x01 // pinsrb xmm11, byte [rsi + r14 + 11], 1 + WORD $0x894c; BYTE $0xe1 // mov rcx, r12 + QUAD $0x000000d024a4894c // mov qword [rsp + 208], r12 + QUAD $0x0b265c203a0f4666; BYTE $0x02 // pinsrb xmm11, byte [rsi + r12 + 11], 2 + LONG $0x24448b48; BYTE $0x68 // mov rax, qword [rsp + 104] + QUAD $0x0b065c203a0f4466; BYTE $0x03 // pinsrb xmm11, byte [rsi + rax + 11], 3 + LONG $0x245c8b48; BYTE $0x40 // mov rbx, qword [rsp + 64] + QUAD $0x0b1e5c203a0f4466; BYTE $0x04 // pinsrb xmm11, byte [rsi + rbx + 11], 4 + QUAD $0x0b165c203a0f4466; BYTE $0x05 // pinsrb xmm11, byte [rsi + rdx + 11], 5 + QUAD $0x0b3e5c203a0f4466; BYTE $0x06 // pinsrb xmm11, byte [rsi + rdi + 11], 6 + WORD $0x894d; BYTE $0xc8 // mov r8, r9 + QUAD $0x0b0e5c203a0f4666; BYTE $0x07 // pinsrb xmm11, byte [rsi + r9 + 11], 7 + WORD $0x894d; BYTE $0xd1 // mov r9, r10 + QUAD $0x0b165c203a0f4666; BYTE $0x08 // pinsrb xmm11, byte [rsi + r10 + 11], 8 + LONG $0x24548b4c; BYTE $0x78 // mov r10, qword [rsp + 120] + QUAD $0x0b165c203a0f4666; BYTE $0x09 // pinsrb xmm11, byte [rsi + r10 + 11], 9 + QUAD $0x0b3e5c203a0f4666; BYTE $0x0a // pinsrb xmm11, byte [rsi + r15 + 11], 10 + LONG $0x24648b4c; BYTE $0x58 // mov r12, qword [rsp + 88] + QUAD $0x0b265c203a0f4666; BYTE $0x0b // pinsrb xmm11, byte [rsi + r12 + 11], 11 + QUAD $0x0b2e5c203a0f4666; BYTE $0x0c // pinsrb xmm11, byte [rsi + r13 + 11], 12 LONG $0x245c8b48; BYTE $0x10 // mov rbx, qword [rsp + 16] - QUAD $0x0b1e5c203a0f4466; BYTE $0x0e // pinsrb xmm11, byte [rsi + rbx + 11], 14 + QUAD $0x0b1e5c203a0f4466; BYTE $0x0d // pinsrb xmm11, byte [rsi + rbx + 11], 13 + QUAD $0x0b1e5c203a0f4666; BYTE $0x0e // pinsrb xmm11, byte [rsi + r11 + 11], 14 LONG $0x245c8b4c; BYTE $0x30 // mov r11, qword [rsp + 48] QUAD $0x0b1e5c203a0f4666; BYTE $0x0f // pinsrb xmm11, byte [rsi + r11 + 11], 15 - QUAD $0x0c166c203a0f4466; BYTE $0x01 // pinsrb xmm13, byte [rsi + rdx + 12], 1 - QUAD $0x0c366c203a0f4666; BYTE $0x02 // pinsrb xmm13, byte [rsi + r14 + 12], 2 - LONG $0x24748b4c; BYTE $0x78 // mov r14, qword [rsp + 120] - QUAD $0x0c366c203a0f4666; BYTE $0x03 // pinsrb xmm13, byte [rsi + r14 + 12], 3 - QUAD $0x0c2e6c203a0f4666; BYTE $0x04 // pinsrb xmm13, byte [rsi + r13 + 12], 4 - LONG $0x246c8b4c; BYTE $0x68 // mov r13, qword [rsp + 104] - QUAD $0x0c2e6c203a0f4666; BYTE $0x05 // pinsrb xmm13, byte [rsi + r13 + 12], 5 - QUAD $0x0c0e6c203a0f4466; BYTE $0x06 // pinsrb xmm13, byte [rsi + rcx + 12], 6 - QUAD $0x0c3e6c203a0f4466; BYTE $0x07 // pinsrb xmm13, byte [rsi + rdi + 12], 7 - QUAD $0x0c066c203a0f4666; BYTE $0x08 // pinsrb xmm13, byte [rsi + r8 + 12], 8 - QUAD $0x0c0e6c203a0f4666; BYTE $0x09 // pinsrb xmm13, byte [rsi + r9 + 12], 9 - QUAD $0x0c166c203a0f4666; BYTE $0x0a // pinsrb xmm13, byte [rsi + r10 + 12], 10 - QUAD $0x0c3e6c203a0f4666; BYTE $0x0b // pinsrb xmm13, byte [rsi + r15 + 12], 11 - QUAD $0x0c266c203a0f4666; BYTE $0x0c // pinsrb xmm13, byte [rsi + r12 + 12], 12 - QUAD $0x0c066c203a0f4466; BYTE $0x0d // pinsrb xmm13, byte [rsi + rax + 12], 13 - WORD $0x8949; BYTE $0xc5 // mov r13, rax + QUAD $0x0c366c203a0f4666; BYTE $0x01 // pinsrb xmm13, byte [rsi + r14 + 12], 1 + QUAD $0x0c0e6c203a0f4466; BYTE $0x02 // pinsrb xmm13, byte [rsi + rcx + 12], 2 + QUAD $0x0c066c203a0f4466; BYTE $0x03 // pinsrb xmm13, byte [rsi + rax + 12], 3 + LONG $0x24748b4c; BYTE $0x40 // mov r14, qword [rsp + 64] + QUAD $0x0c366c203a0f4666; BYTE $0x04 // pinsrb xmm13, byte [rsi + r14 + 12], 4 + QUAD $0x0c166c203a0f4466; BYTE $0x05 // pinsrb xmm13, byte [rsi + rdx + 12], 5 + QUAD $0x0c3e6c203a0f4466; BYTE $0x06 // pinsrb xmm13, byte [rsi + rdi + 12], 6 + QUAD $0x0c066c203a0f4666; BYTE $0x07 // pinsrb xmm13, byte [rsi + r8 + 12], 7 + QUAD $0x0c0e6c203a0f4666; BYTE $0x08 // pinsrb xmm13, byte [rsi + r9 + 12], 8 + QUAD $0x0c166c203a0f4666; BYTE $0x09 // pinsrb xmm13, byte [rsi + r10 + 12], 9 + QUAD $0x0c3e6c203a0f4666; BYTE $0x0a // pinsrb xmm13, byte [rsi + r15 + 12], 10 + QUAD $0x0c266c203a0f4666; BYTE $0x0b // pinsrb xmm13, byte [rsi + r12 + 12], 11 + QUAD $0x0c2e6c203a0f4666; BYTE $0x0c // pinsrb xmm13, byte [rsi + r13 + 12], 12 + QUAD $0x0c1e6c203a0f4466; BYTE $0x0d // pinsrb xmm13, byte [rsi + rbx + 12], 13 + LONG $0x245c8b48; BYTE $0x18 // mov rbx, qword [rsp + 24] QUAD $0x0c1e6c203a0f4466; BYTE $0x0e // pinsrb xmm13, byte [rsi + rbx + 12], 14 - WORD $0x894c; BYTE $0xd8 // mov rax, r11 QUAD $0x0c1e6c203a0f4666; BYTE $0x0f // pinsrb xmm13, byte [rsi + r11 + 12], 15 - QUAD $0x0d1664203a0f4466; BYTE $0x01 // pinsrb xmm12, byte [rsi + rdx + 13], 1 - LONG $0x245c8b4c; BYTE $0x60 // mov r11, qword [rsp + 96] - QUAD $0x0d1e64203a0f4666; BYTE $0x02 // pinsrb xmm12, byte [rsi + r11 + 13], 2 - QUAD $0x0d3664203a0f4666; BYTE $0x03 // pinsrb xmm12, byte [rsi + r14 + 13], 3 - LONG $0x24548b48; BYTE $0x38 // mov rdx, qword [rsp + 56] - QUAD $0x0d1664203a0f4466; BYTE $0x04 // pinsrb xmm12, byte [rsi + rdx + 13], 4 - LONG $0x24548b48; BYTE $0x68 // mov rdx, qword [rsp + 104] + LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] + QUAD $0x0d0664203a0f4466; BYTE $0x01 // pinsrb xmm12, byte [rsi + rax + 13], 1 + QUAD $0x0d0e64203a0f4466; BYTE $0x02 // pinsrb xmm12, byte [rsi + rcx + 13], 2 + LONG $0x244c8b48; BYTE $0x68 // mov rcx, qword [rsp + 104] + QUAD $0x0d0e64203a0f4466; BYTE $0x03 // pinsrb xmm12, byte [rsi + rcx + 13], 3 + QUAD $0x0d3664203a0f4666; BYTE $0x04 // pinsrb xmm12, byte [rsi + r14 + 13], 4 QUAD $0x0d1664203a0f4466; BYTE $0x05 // pinsrb xmm12, byte [rsi + rdx + 13], 5 - QUAD $0x0d0e64203a0f4466; BYTE $0x06 // pinsrb xmm12, byte [rsi + rcx + 13], 6 - QUAD $0x0d3e64203a0f4466; BYTE $0x07 // pinsrb xmm12, byte [rsi + rdi + 13], 7 - QUAD $0x0d0664203a0f4666; BYTE $0x08 // pinsrb xmm12, byte [rsi + r8 + 13], 8 - QUAD $0x0d0e64203a0f4666; BYTE $0x09 // pinsrb xmm12, byte [rsi + r9 + 13], 9 - QUAD $0x0d1664203a0f4666; BYTE $0x0a // pinsrb xmm12, byte [rsi + r10 + 13], 10 - QUAD $0x0d3e64203a0f4666; BYTE $0x0b // pinsrb xmm12, byte [rsi + r15 + 13], 11 - QUAD $0x0d2664203a0f4666; BYTE $0x0c // pinsrb xmm12, byte [rsi + r12 + 13], 12 - WORD $0x894c; BYTE $0xef // mov rdi, r13 - QUAD $0x0d2e64203a0f4666; BYTE $0x0d // pinsrb xmm12, byte [rsi + r13 + 13], 13 + QUAD $0x0d3e64203a0f4466; BYTE $0x06 // pinsrb xmm12, byte [rsi + rdi + 13], 6 + QUAD $0x0d0664203a0f4666; BYTE $0x07 // pinsrb xmm12, byte [rsi + r8 + 13], 7 + QUAD $0x0d0e64203a0f4666; BYTE $0x08 // pinsrb xmm12, byte [rsi + r9 + 13], 8 + QUAD $0x0d1664203a0f4666; BYTE $0x09 // pinsrb xmm12, byte [rsi + r10 + 13], 9 + QUAD $0x0d3e64203a0f4666; BYTE $0x0a // pinsrb xmm12, byte [rsi + r15 + 13], 10 + QUAD $0x0d2664203a0f4666; BYTE $0x0b // pinsrb xmm12, byte [rsi + r12 + 13], 11 + QUAD $0x0d2e64203a0f4666; BYTE $0x0c // pinsrb xmm12, byte [rsi + r13 + 13], 12 + LONG $0x247c8b48; BYTE $0x10 // mov rdi, qword [rsp + 16] + QUAD $0x0d3e64203a0f4466; BYTE $0x0d // pinsrb xmm12, byte [rsi + rdi + 13], 13 QUAD $0x0d1e64203a0f4466; BYTE $0x0e // pinsrb xmm12, byte [rsi + rbx + 13], 14 - QUAD $0x0d0664203a0f4466; BYTE $0x0f // pinsrb xmm12, byte [rsi + rax + 13], 15 + QUAD $0x0d1e64203a0f4666; BYTE $0x0f // pinsrb xmm12, byte [rsi + r11 + 13], 15 LONG $0x640f4566; BYTE $0xd9 // pcmpgtb xmm11, xmm9 QUAD $0x0000c09ddb0f4466; BYTE $0x00 // pand xmm11, oword 192[rbp] /* [rip + .LCPI7_12] */ LONG $0x640f4566; BYTE $0xe9 // pcmpgtb xmm13, xmm9 QUAD $0x0000d0addb0f4466; BYTE $0x00 // pand xmm13, oword 208[rbp] /* [rip + .LCPI7_13] */ LONG $0xeb0f4566; BYTE $0xeb // por xmm13, xmm11 - LONG $0x24448b48; BYTE $0x18 // mov rax, qword [rsp + 24] - LONG $0x065cb60f; BYTE $0x19 // movzx ebx, byte [rsi + rax + 25] + LONG $0x247c8b48; BYTE $0x28 // mov rdi, qword [rsp + 40] + LONG $0x3e5cb60f; BYTE $0x19 // movzx ebx, byte [rsi + rdi + 25] LONG $0xcb6e0f66 // movd xmm1, ebx LONG $0x640f4566; BYTE $0xe1 // pcmpgtb xmm12, xmm9 QUAD $0x0000e0a5db0f4466; BYTE $0x00 // pand xmm12, oword 224[rbp] /* [rip + .LCPI7_14] */ LONG $0xeb0f4566; BYTE $0xe5 // por xmm12, xmm13 - LONG $0x065cb60f; BYTE $0x1a // movzx ebx, byte [rsi + rax + 26] + LONG $0x3e5cb60f; BYTE $0x1a // movzx ebx, byte [rsi + rdi + 26] LONG $0x6e0f4466; BYTE $0xdb // movd xmm11, ebx - QUAD $0x00013024a46f0f66; BYTE $0x00 // movdqa xmm4, oword [rsp + 304] - LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] + QUAD $0x00011024a46f0f66; BYTE $0x00 // movdqa xmm4, oword [rsp + 272] QUAD $0x010e0664203a0f66 // pinsrb xmm4, byte [rsi + rax + 14], 1 - WORD $0x894d; BYTE $0xdd // mov r13, r11 - QUAD $0x0e1e64203a0f4266; BYTE $0x02 // pinsrb xmm4, byte [rsi + r11 + 14], 2 - WORD $0x894d; BYTE $0xf3 // mov r11, r14 - QUAD $0x0e3664203a0f4266; BYTE $0x03 // pinsrb xmm4, byte [rsi + r14 + 14], 3 - LONG $0x24748b4c; BYTE $0x38 // mov r14, qword [rsp + 56] - QUAD $0x0e3664203a0f4266; BYTE $0x04 // pinsrb xmm4, byte [rsi + r14 + 14], 4 - WORD $0x8948; BYTE $0xd0 // mov rax, rdx + QUAD $0x000000d0249c8b48 // mov rbx, qword [rsp + 208] + QUAD $0x020e1e64203a0f66 // pinsrb xmm4, byte [rsi + rbx + 14], 2 + WORD $0x8949; BYTE $0xcb // mov r11, rcx + QUAD $0x030e0e64203a0f66 // pinsrb xmm4, byte [rsi + rcx + 14], 3 + LONG $0x24448b48; BYTE $0x40 // mov rax, qword [rsp + 64] + QUAD $0x040e0664203a0f66 // pinsrb xmm4, byte [rsi + rax + 14], 4 + WORD $0x8948; BYTE $0xd1 // mov rcx, rdx QUAD $0x050e1664203a0f66 // pinsrb xmm4, byte [rsi + rdx + 14], 5 - QUAD $0x060e0e64203a0f66 // pinsrb xmm4, byte [rsi + rcx + 14], 6 - LONG $0x24548b48; BYTE $0x48 // mov rdx, qword [rsp + 72] - QUAD $0x070e1664203a0f66 // pinsrb xmm4, byte [rsi + rdx + 14], 7 - QUAD $0x0e0664203a0f4266; BYTE $0x08 // pinsrb xmm4, byte [rsi + r8 + 14], 8 - QUAD $0x0e0e64203a0f4266; BYTE $0x09 // pinsrb xmm4, byte [rsi + r9 + 14], 9 - WORD $0x894c; BYTE $0xd3 // mov rbx, r10 - QUAD $0x0e1664203a0f4266; BYTE $0x0a // pinsrb xmm4, byte [rsi + r10 + 14], 10 - QUAD $0x0e3e64203a0f4266; BYTE $0x0b // pinsrb xmm4, byte [rsi + r15 + 14], 11 - QUAD $0x0e2664203a0f4266; BYTE $0x0c // pinsrb xmm4, byte [rsi + r12 + 14], 12 - QUAD $0x0d0e3e64203a0f66 // pinsrb xmm4, byte [rsi + rdi + 14], 13 - LONG $0x247c8b48; BYTE $0x10 // mov rdi, qword [rsp + 16] + LONG $0x24548b48; BYTE $0x50 // mov rdx, qword [rsp + 80] + QUAD $0x060e1664203a0f66 // pinsrb xmm4, byte [rsi + rdx + 14], 6 + QUAD $0x0e0664203a0f4266; BYTE $0x07 // pinsrb xmm4, byte [rsi + r8 + 14], 7 + QUAD $0x0e0e64203a0f4266; BYTE $0x08 // pinsrb xmm4, byte [rsi + r9 + 14], 8 + QUAD $0x0e1664203a0f4266; BYTE $0x09 // pinsrb xmm4, byte [rsi + r10 + 14], 9 + QUAD $0x0e3e64203a0f4266; BYTE $0x0a // pinsrb xmm4, byte [rsi + r15 + 14], 10 + QUAD $0x0e2664203a0f4266; BYTE $0x0b // pinsrb xmm4, byte [rsi + r12 + 14], 11 + QUAD $0x0e2e64203a0f4266; BYTE $0x0c // pinsrb xmm4, byte [rsi + r13 + 14], 12 + LONG $0x24748b4c; BYTE $0x10 // mov r14, qword [rsp + 16] + QUAD $0x0e3664203a0f4266; BYTE $0x0d // pinsrb xmm4, byte [rsi + r14 + 14], 13 + LONG $0x247c8b48; BYTE $0x18 // mov rdi, qword [rsp + 24] QUAD $0x0e0e3e64203a0f66 // pinsrb xmm4, byte [rsi + rdi + 14], 14 - LONG $0x24548b4c; BYTE $0x30 // mov r10, qword [rsp + 48] - QUAD $0x0e1664203a0f4266; BYTE $0x0f // pinsrb xmm4, byte [rsi + r10 + 14], 15 - LONG $0x247c8b48; BYTE $0x28 // mov rdi, qword [rsp + 40] + LONG $0x247c8b48; BYTE $0x30 // mov rdi, qword [rsp + 48] + QUAD $0x0f0e3e64203a0f66 // pinsrb xmm4, byte [rsi + rdi + 14], 15 + LONG $0x247c8b48; BYTE $0x20 // mov rdi, qword [rsp + 32] QUAD $0x0f3e74203a0f4466; BYTE $0x01 // pinsrb xmm14, byte [rsi + rdi + 15], 1 - QUAD $0x0f2e74203a0f4666; BYTE $0x02 // pinsrb xmm14, byte [rsi + r13 + 15], 2 + QUAD $0x0f1e74203a0f4466; BYTE $0x02 // pinsrb xmm14, byte [rsi + rbx + 15], 2 QUAD $0x0f1e74203a0f4666; BYTE $0x03 // pinsrb xmm14, byte [rsi + r11 + 15], 3 - QUAD $0x0f3674203a0f4666; BYTE $0x04 // pinsrb xmm14, byte [rsi + r14 + 15], 4 - QUAD $0x0f0674203a0f4466; BYTE $0x05 // pinsrb xmm14, byte [rsi + rax + 15], 5 - QUAD $0x0f0e74203a0f4466; BYTE $0x06 // pinsrb xmm14, byte [rsi + rcx + 15], 6 - QUAD $0x0f1674203a0f4466; BYTE $0x07 // pinsrb xmm14, byte [rsi + rdx + 15], 7 - QUAD $0x0f0674203a0f4666; BYTE $0x08 // pinsrb xmm14, byte [rsi + r8 + 15], 8 - QUAD $0x0f0e74203a0f4666; BYTE $0x09 // pinsrb xmm14, byte [rsi + r9 + 15], 9 - QUAD $0x0f1e74203a0f4466; BYTE $0x0a // pinsrb xmm14, byte [rsi + rbx + 15], 10 - QUAD $0x0f3e74203a0f4666; BYTE $0x0b // pinsrb xmm14, byte [rsi + r15 + 15], 11 - QUAD $0x0f2674203a0f4666; BYTE $0x0c // pinsrb xmm14, byte [rsi + r12 + 15], 12 - LONG $0x247c8b48; BYTE $0x08 // mov rdi, qword [rsp + 8] - QUAD $0x0f3e74203a0f4466; BYTE $0x0d // pinsrb xmm14, byte [rsi + rdi + 15], 13 - LONG $0x247c8b48; BYTE $0x10 // mov rdi, qword [rsp + 16] + QUAD $0x0f0674203a0f4466; BYTE $0x04 // pinsrb xmm14, byte [rsi + rax + 15], 4 + QUAD $0x0f0e74203a0f4466; BYTE $0x05 // pinsrb xmm14, byte [rsi + rcx + 15], 5 + QUAD $0x0f1674203a0f4466; BYTE $0x06 // pinsrb xmm14, byte [rsi + rdx + 15], 6 + QUAD $0x0f0674203a0f4666; BYTE $0x07 // pinsrb xmm14, byte [rsi + r8 + 15], 7 + QUAD $0x0f0e74203a0f4666; BYTE $0x08 // pinsrb xmm14, byte [rsi + r9 + 15], 8 + QUAD $0x0f1674203a0f4666; BYTE $0x09 // pinsrb xmm14, byte [rsi + r10 + 15], 9 + QUAD $0x0f3e74203a0f4666; BYTE $0x0a // pinsrb xmm14, byte [rsi + r15 + 15], 10 + QUAD $0x0f2674203a0f4666; BYTE $0x0b // pinsrb xmm14, byte [rsi + r12 + 15], 11 + QUAD $0x0f2e74203a0f4666; BYTE $0x0c // pinsrb xmm14, byte [rsi + r13 + 15], 12 + QUAD $0x0f3674203a0f4666; BYTE $0x0d // pinsrb xmm14, byte [rsi + r14 + 15], 13 + LONG $0x247c8b48; BYTE $0x18 // mov rdi, qword [rsp + 24] QUAD $0x0f3e74203a0f4466; BYTE $0x0e // pinsrb xmm14, byte [rsi + rdi + 15], 14 - QUAD $0x0f1674203a0f4666; BYTE $0x0f // pinsrb xmm14, byte [rsi + r10 + 15], 15 - LONG $0x247c8b48; BYTE $0x28 // mov rdi, qword [rsp + 40] + LONG $0x24748b4c; BYTE $0x30 // mov r14, qword [rsp + 48] + QUAD $0x0f3674203a0f4666; BYTE $0x0f // pinsrb xmm14, byte [rsi + r14 + 15], 15 + LONG $0x247c8b48; BYTE $0x20 // mov rdi, qword [rsp + 32] QUAD $0x103e7c203a0f4466; BYTE $0x01 // pinsrb xmm15, byte [rsi + rdi + 16], 1 - QUAD $0x102e7c203a0f4666; BYTE $0x02 // pinsrb xmm15, byte [rsi + r13 + 16], 2 + QUAD $0x101e7c203a0f4466; BYTE $0x02 // pinsrb xmm15, byte [rsi + rbx + 16], 2 QUAD $0x101e7c203a0f4666; BYTE $0x03 // pinsrb xmm15, byte [rsi + r11 + 16], 3 - QUAD $0x10367c203a0f4666; BYTE $0x04 // pinsrb xmm15, byte [rsi + r14 + 16], 4 - QUAD $0x10067c203a0f4466; BYTE $0x05 // pinsrb xmm15, byte [rsi + rax + 16], 5 - QUAD $0x100e7c203a0f4466; BYTE $0x06 // pinsrb xmm15, byte [rsi + rcx + 16], 6 - QUAD $0x10167c203a0f4466; BYTE $0x07 // pinsrb xmm15, byte [rsi + rdx + 16], 7 - QUAD $0x10067c203a0f4666; BYTE $0x08 // pinsrb xmm15, byte [rsi + r8 + 16], 8 - QUAD $0x100e7c203a0f4666; BYTE $0x09 // pinsrb xmm15, byte [rsi + r9 + 16], 9 - QUAD $0x101e7c203a0f4466; BYTE $0x0a // pinsrb xmm15, byte [rsi + rbx + 16], 10 - QUAD $0x103e7c203a0f4666; BYTE $0x0b // pinsrb xmm15, byte [rsi + r15 + 16], 11 - QUAD $0x10267c203a0f4666; BYTE $0x0c // pinsrb xmm15, byte [rsi + r12 + 16], 12 - LONG $0x247c8b48; BYTE $0x08 // mov rdi, qword [rsp + 8] + QUAD $0x10067c203a0f4466; BYTE $0x04 // pinsrb xmm15, byte [rsi + rax + 16], 4 + QUAD $0x100e7c203a0f4466; BYTE $0x05 // pinsrb xmm15, byte [rsi + rcx + 16], 5 + QUAD $0x10167c203a0f4466; BYTE $0x06 // pinsrb xmm15, byte [rsi + rdx + 16], 6 + QUAD $0x10067c203a0f4666; BYTE $0x07 // pinsrb xmm15, byte [rsi + r8 + 16], 7 + QUAD $0x100e7c203a0f4666; BYTE $0x08 // pinsrb xmm15, byte [rsi + r9 + 16], 8 + QUAD $0x10167c203a0f4666; BYTE $0x09 // pinsrb xmm15, byte [rsi + r10 + 16], 9 + QUAD $0x103e7c203a0f4666; BYTE $0x0a // pinsrb xmm15, byte [rsi + r15 + 16], 10 + QUAD $0x10267c203a0f4666; BYTE $0x0b // pinsrb xmm15, byte [rsi + r12 + 16], 11 + QUAD $0x102e7c203a0f4666; BYTE $0x0c // pinsrb xmm15, byte [rsi + r13 + 16], 12 + LONG $0x247c8b48; BYTE $0x10 // mov rdi, qword [rsp + 16] QUAD $0x103e7c203a0f4466; BYTE $0x0d // pinsrb xmm15, byte [rsi + rdi + 16], 13 - LONG $0x24548b4c; BYTE $0x10 // mov r10, qword [rsp + 16] - QUAD $0x10167c203a0f4666; BYTE $0x0e // pinsrb xmm15, byte [rsi + r10 + 16], 14 - LONG $0x247c8b48; BYTE $0x28 // mov rdi, qword [rsp + 40] + LONG $0x24748b4c; BYTE $0x18 // mov r14, qword [rsp + 24] + QUAD $0x10367c203a0f4666; BYTE $0x0e // pinsrb xmm15, byte [rsi + r14 + 16], 14 + LONG $0x247c8b48; BYTE $0x20 // mov rdi, qword [rsp + 32] QUAD $0x01113e44203a0f66 // pinsrb xmm0, byte [rsi + rdi + 17], 1 - QUAD $0x112e44203a0f4266; BYTE $0x02 // pinsrb xmm0, byte [rsi + r13 + 17], 2 + QUAD $0x02111e44203a0f66 // pinsrb xmm0, byte [rsi + rbx + 17], 2 QUAD $0x111e44203a0f4266; BYTE $0x03 // pinsrb xmm0, byte [rsi + r11 + 17], 3 - QUAD $0x113644203a0f4266; BYTE $0x04 // pinsrb xmm0, byte [rsi + r14 + 17], 4 - QUAD $0x05110644203a0f66 // pinsrb xmm0, byte [rsi + rax + 17], 5 - WORD $0x8949; BYTE $0xc5 // mov r13, rax - QUAD $0x06110e44203a0f66 // pinsrb xmm0, byte [rsi + rcx + 17], 6 - QUAD $0x07111644203a0f66 // pinsrb xmm0, byte [rsi + rdx + 17], 7 - QUAD $0x110644203a0f4266; BYTE $0x08 // pinsrb xmm0, byte [rsi + r8 + 17], 8 - QUAD $0x110e44203a0f4266; BYTE $0x09 // pinsrb xmm0, byte [rsi + r9 + 17], 9 - QUAD $0x0a111e44203a0f66 // pinsrb xmm0, byte [rsi + rbx + 17], 10 - QUAD $0x113e44203a0f4266; BYTE $0x0b // pinsrb xmm0, byte [rsi + r15 + 17], 11 - QUAD $0x112644203a0f4266; BYTE $0x0c // pinsrb xmm0, byte [rsi + r12 + 17], 12 - LONG $0x24448b48; BYTE $0x08 // mov rax, qword [rsp + 8] - QUAD $0x0d110644203a0f66 // pinsrb xmm0, byte [rsi + rax + 17], 13 + QUAD $0x04110644203a0f66 // pinsrb xmm0, byte [rsi + rax + 17], 4 + QUAD $0x05110e44203a0f66 // pinsrb xmm0, byte [rsi + rcx + 17], 5 + QUAD $0x06111644203a0f66 // pinsrb xmm0, byte [rsi + rdx + 17], 6 + QUAD $0x110644203a0f4266; BYTE $0x07 // pinsrb xmm0, byte [rsi + r8 + 17], 7 + QUAD $0x110e44203a0f4266; BYTE $0x08 // pinsrb xmm0, byte [rsi + r9 + 17], 8 + QUAD $0x111644203a0f4266; BYTE $0x09 // pinsrb xmm0, byte [rsi + r10 + 17], 9 + QUAD $0x113e44203a0f4266; BYTE $0x0a // pinsrb xmm0, byte [rsi + r15 + 17], 10 + QUAD $0x112644203a0f4266; BYTE $0x0b // pinsrb xmm0, byte [rsi + r12 + 17], 11 + QUAD $0x112e44203a0f4266; BYTE $0x0c // pinsrb xmm0, byte [rsi + r13 + 17], 12 LONG $0x247c8b48; BYTE $0x10 // mov rdi, qword [rsp + 16] - QUAD $0x0e113e44203a0f66 // pinsrb xmm0, byte [rsi + rdi + 17], 14 - QUAD $0x009024a4eb0f4466; WORD $0x0000 // por xmm12, oword [rsp + 144] - LONG $0x24448b48; BYTE $0x18 // mov rax, qword [rsp + 24] - LONG $0x065cb60f; BYTE $0x1b // movzx ebx, byte [rsi + rax + 27] + QUAD $0x0d113e44203a0f66 // pinsrb xmm0, byte [rsi + rdi + 17], 13 + QUAD $0x113644203a0f4266; BYTE $0x0e // pinsrb xmm0, byte [rsi + r14 + 17], 14 + QUAD $0x00b024a4eb0f4466; WORD $0x0000 // por xmm12, oword [rsp + 176] + LONG $0x247c8b48; BYTE $0x28 // mov rdi, qword [rsp + 40] + LONG $0x3e5cb60f; BYTE $0x1b // movzx ebx, byte [rsi + rdi + 27] LONG $0x6e0f4466; BYTE $0xcb // movd xmm9, ebx - QUAD $0x00a024ac6f0f4466; WORD $0x0000 // movdqa xmm13, oword [rsp + 160] + QUAD $0x009024ac6f0f4466; WORD $0x0000 // movdqa xmm13, oword [rsp + 144] LONG $0x640f4166; BYTE $0xe5 // pcmpgtb xmm4, xmm13 QUAD $0x000000f0a5db0f66 // pand xmm4, oword 240[rbp] /* [rip + .LCPI7_15] */ LONG $0x640f4566; BYTE $0xf5 // pcmpgtb xmm14, xmm13 LONG $0x710f4166; WORD $0x07f6 // psllw xmm14, 7 LONG $0xdb0f4466; WORD $0x6075 // pand xmm14, oword 96[rbp] /* [rip + .LCPI7_6] */ LONG $0xeb0f4466; BYTE $0xf4 // por xmm14, xmm4 - LONG $0x065cb60f; BYTE $0x1c // movzx ebx, byte [rsi + rax + 28] + LONG $0x3e5cb60f; BYTE $0x1c // movzx ebx, byte [rsi + rdi + 28] LONG $0xe36e0f66 // movd xmm4, ebx - LONG $0x24548b4c; BYTE $0x30 // mov r10, qword [rsp + 48] - QUAD $0x111644203a0f4266; BYTE $0x0f // pinsrb xmm0, byte [rsi + r10 + 17], 15 + LONG $0x24748b4c; BYTE $0x30 // mov r14, qword [rsp + 48] + QUAD $0x113644203a0f4266; BYTE $0x0f // pinsrb xmm0, byte [rsi + r14 + 17], 15 LONG $0xeb0f4566; BYTE $0xf4 // por xmm14, xmm12 LONG $0x640f4166; BYTE $0xc5 // pcmpgtb xmm0, xmm13 LONG $0x6f0f4466; BYTE $0xe8 // movdqa xmm13, xmm0 QUAD $0x0000a0a56f0f4466; BYTE $0x00 // movdqa xmm12, oword 160[rbp] /* [rip + .LCPI7_10] */ LONG $0xdb0f4566; BYTE $0xec // pand xmm13, xmm12 LONG $0xf80f4466; BYTE $0xe8 // psubb xmm13, xmm0 - QUAD $0x009024ac7f0f4466; WORD $0x0000 // movdqa oword [rsp + 144], xmm13 - LONG $0x065cb60f; BYTE $0x1d // movzx ebx, byte [rsi + rax + 29] + QUAD $0x00b024ac7f0f4466; WORD $0x0000 // movdqa oword [rsp + 176], xmm13 + LONG $0x3e5cb60f; BYTE $0x1d // movzx ebx, byte [rsi + rdi + 29] LONG $0x6e0f4466; BYTE $0xeb // movd xmm13, ebx - QUAD $0x10167c203a0f4666; BYTE $0x0f // pinsrb xmm15, byte [rsi + r10 + 16], 15 - QUAD $0x0000a024846f0f66; BYTE $0x00 // movdqa xmm0, oword [rsp + 160] + QUAD $0x10367c203a0f4666; BYTE $0x0f // pinsrb xmm15, byte [rsi + r14 + 16], 15 + QUAD $0x00009024846f0f66; BYTE $0x00 // movdqa xmm0, oword [rsp + 144] LONG $0x640f4466; BYTE $0xf8 // pcmpgtb xmm15, xmm0 - LONG $0x245c8b48; BYTE $0x28 // mov rbx, qword [rsp + 40] - QUAD $0x01121e6c203a0f66 // pinsrb xmm5, byte [rsi + rbx + 18], 1 - LONG $0x245c8b48; BYTE $0x60 // mov rbx, qword [rsp + 96] + LONG $0x247c8b48; BYTE $0x20 // mov rdi, qword [rsp + 32] + QUAD $0x01123e6c203a0f66 // pinsrb xmm5, byte [rsi + rdi + 18], 1 + QUAD $0x000000d0249c8b48 // mov rbx, qword [rsp + 208] QUAD $0x02121e6c203a0f66 // pinsrb xmm5, byte [rsi + rbx + 18], 2 QUAD $0x121e6c203a0f4266; BYTE $0x03 // pinsrb xmm5, byte [rsi + r11 + 18], 3 - QUAD $0x12366c203a0f4266; BYTE $0x04 // pinsrb xmm5, byte [rsi + r14 + 18], 4 - QUAD $0x122e6c203a0f4266; BYTE $0x05 // pinsrb xmm5, byte [rsi + r13 + 18], 5 - QUAD $0x06120e6c203a0f66 // pinsrb xmm5, byte [rsi + rcx + 18], 6 - QUAD $0x0712166c203a0f66 // pinsrb xmm5, byte [rsi + rdx + 18], 7 - QUAD $0x12066c203a0f4266; BYTE $0x08 // pinsrb xmm5, byte [rsi + r8 + 18], 8 - QUAD $0x120e6c203a0f4266; BYTE $0x09 // pinsrb xmm5, byte [rsi + r9 + 18], 9 - LONG $0x24448b48; BYTE $0x70 // mov rax, qword [rsp + 112] - QUAD $0x0a12066c203a0f66 // pinsrb xmm5, byte [rsi + rax + 18], 10 - QUAD $0x123e6c203a0f4266; BYTE $0x0b // pinsrb xmm5, byte [rsi + r15 + 18], 11 - QUAD $0x12266c203a0f4266; BYTE $0x0c // pinsrb xmm5, byte [rsi + r12 + 18], 12 - LONG $0x245c8b48; BYTE $0x08 // mov rbx, qword [rsp + 8] + QUAD $0x0412066c203a0f66 // pinsrb xmm5, byte [rsi + rax + 18], 4 + QUAD $0x05120e6c203a0f66 // pinsrb xmm5, byte [rsi + rcx + 18], 5 + QUAD $0x0612166c203a0f66 // pinsrb xmm5, byte [rsi + rdx + 18], 6 + QUAD $0x12066c203a0f4266; BYTE $0x07 // pinsrb xmm5, byte [rsi + r8 + 18], 7 + QUAD $0x120e6c203a0f4266; BYTE $0x08 // pinsrb xmm5, byte [rsi + r9 + 18], 8 + QUAD $0x12166c203a0f4266; BYTE $0x09 // pinsrb xmm5, byte [rsi + r10 + 18], 9 + QUAD $0x123e6c203a0f4266; BYTE $0x0a // pinsrb xmm5, byte [rsi + r15 + 18], 10 + QUAD $0x12266c203a0f4266; BYTE $0x0b // pinsrb xmm5, byte [rsi + r12 + 18], 11 + QUAD $0x122e6c203a0f4266; BYTE $0x0c // pinsrb xmm5, byte [rsi + r13 + 18], 12 + LONG $0x245c8b48; BYTE $0x10 // mov rbx, qword [rsp + 16] QUAD $0x0d121e6c203a0f66 // pinsrb xmm5, byte [rsi + rbx + 18], 13 - QUAD $0x0e123e6c203a0f66 // pinsrb xmm5, byte [rsi + rdi + 18], 14 + LONG $0x245c8b48; BYTE $0x18 // mov rbx, qword [rsp + 24] + QUAD $0x0e121e6c203a0f66 // pinsrb xmm5, byte [rsi + rbx + 18], 14 LONG $0xdb0f4566; BYTE $0xfc // pand xmm15, xmm12 - QUAD $0x12166c203a0f4266; BYTE $0x0f // pinsrb xmm5, byte [rsi + r10 + 18], 15 + QUAD $0x12366c203a0f4266; BYTE $0x0f // pinsrb xmm5, byte [rsi + r14 + 18], 15 LONG $0xe8640f66 // pcmpgtb xmm5, xmm0 QUAD $0x000000b0addb0f66 // pand xmm5, oword 176[rbp] /* [rip + .LCPI7_11] */ LONG $0xeb0f4166; BYTE $0xef // por xmm5, xmm15 - LONG $0x247c8b48; BYTE $0x18 // mov rdi, qword [rsp + 24] - LONG $0x3e5cb60f; BYTE $0x1e // movzx ebx, byte [rsi + rdi + 30] + LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] + LONG $0x065cb60f; BYTE $0x1e // movzx ebx, byte [rsi + rax + 30] LONG $0x6e0f4466; BYTE $0xe3 // movd xmm12, ebx - LONG $0x245c8b48; BYTE $0x28 // mov rbx, qword [rsp + 40] - QUAD $0x01131e7c203a0f66 // pinsrb xmm7, byte [rsi + rbx + 19], 1 - QUAD $0x01141e74203a0f66 // pinsrb xmm6, byte [rsi + rbx + 20], 1 - QUAD $0x01151e54203a0f66 // pinsrb xmm2, byte [rsi + rbx + 21], 1 - QUAD $0x01161e5c203a0f66 // pinsrb xmm3, byte [rsi + rbx + 22], 1 - QUAD $0x171e44203a0f4466; BYTE $0x01 // pinsrb xmm8, byte [rsi + rbx + 23], 1 - QUAD $0x181e54203a0f4466; BYTE $0x01 // pinsrb xmm10, byte [rsi + rbx + 24], 1 - QUAD $0x01191e4c203a0f66 // pinsrb xmm1, byte [rsi + rbx + 25], 1 - QUAD $0x1a1e5c203a0f4466; BYTE $0x01 // pinsrb xmm11, byte [rsi + rbx + 26], 1 - QUAD $0x1b1e4c203a0f4466; BYTE $0x01 // pinsrb xmm9, byte [rsi + rbx + 27], 1 - QUAD $0x011c1e64203a0f66 // pinsrb xmm4, byte [rsi + rbx + 28], 1 - QUAD $0x1d1e6c203a0f4466; BYTE $0x01 // pinsrb xmm13, byte [rsi + rbx + 29], 1 - QUAD $0x1e1e64203a0f4466; BYTE $0x01 // pinsrb xmm12, byte [rsi + rbx + 30], 1 - LONG $0x3e7cb60f; BYTE $0x1f // movzx edi, byte [rsi + rdi + 31] + WORD $0x8948; BYTE $0xfb // mov rbx, rdi + QUAD $0x01133e7c203a0f66 // pinsrb xmm7, byte [rsi + rdi + 19], 1 + QUAD $0x01143e74203a0f66 // pinsrb xmm6, byte [rsi + rdi + 20], 1 + QUAD $0x01153e54203a0f66 // pinsrb xmm2, byte [rsi + rdi + 21], 1 + QUAD $0x01163e5c203a0f66 // pinsrb xmm3, byte [rsi + rdi + 22], 1 + QUAD $0x173e44203a0f4466; BYTE $0x01 // pinsrb xmm8, byte [rsi + rdi + 23], 1 + QUAD $0x183e54203a0f4466; BYTE $0x01 // pinsrb xmm10, byte [rsi + rdi + 24], 1 + QUAD $0x01193e4c203a0f66 // pinsrb xmm1, byte [rsi + rdi + 25], 1 + QUAD $0x1a3e5c203a0f4466; BYTE $0x01 // pinsrb xmm11, byte [rsi + rdi + 26], 1 + QUAD $0x1b3e4c203a0f4466; BYTE $0x01 // pinsrb xmm9, byte [rsi + rdi + 27], 1 + QUAD $0x011c3e64203a0f66 // pinsrb xmm4, byte [rsi + rdi + 28], 1 + QUAD $0x1d3e6c203a0f4466; BYTE $0x01 // pinsrb xmm13, byte [rsi + rdi + 29], 1 + QUAD $0x1e3e64203a0f4466; BYTE $0x01 // pinsrb xmm12, byte [rsi + rdi + 30], 1 + LONG $0x067cb60f; BYTE $0x1f // movzx edi, byte [rsi + rax + 31] LONG $0xc76e0f66 // movd xmm0, edi QUAD $0x011f1e44203a0f66 // pinsrb xmm0, byte [rsi + rbx + 31], 1 - LONG $0x247c8b48; BYTE $0x60 // mov rdi, qword [rsp + 96] + QUAD $0x000000d024bc8b48 // mov rdi, qword [rsp + 208] QUAD $0x02133e7c203a0f66 // pinsrb xmm7, byte [rsi + rdi + 19], 2 QUAD $0x02143e74203a0f66 // pinsrb xmm6, byte [rsi + rdi + 20], 2 QUAD $0x02153e54203a0f66 // pinsrb xmm2, byte [rsi + rdi + 21], 2 @@ -36232,84 +37617,85 @@ LBB7_85: QUAD $0x1e3e64203a0f4466; BYTE $0x02 // pinsrb xmm12, byte [rsi + rdi + 30], 2 QUAD $0x021f3e44203a0f66 // pinsrb xmm0, byte [rsi + rdi + 31], 2 QUAD $0x131e7c203a0f4266; BYTE $0x03 // pinsrb xmm7, byte [rsi + r11 + 19], 3 - QUAD $0x13367c203a0f4266; BYTE $0x04 // pinsrb xmm7, byte [rsi + r14 + 19], 4 - QUAD $0x132e7c203a0f4266; BYTE $0x05 // pinsrb xmm7, byte [rsi + r13 + 19], 5 - QUAD $0x06130e7c203a0f66 // pinsrb xmm7, byte [rsi + rcx + 19], 6 - QUAD $0x0713167c203a0f66 // pinsrb xmm7, byte [rsi + rdx + 19], 7 - QUAD $0x13067c203a0f4266; BYTE $0x08 // pinsrb xmm7, byte [rsi + r8 + 19], 8 - QUAD $0x130e7c203a0f4266; BYTE $0x09 // pinsrb xmm7, byte [rsi + r9 + 19], 9 - QUAD $0x0a13067c203a0f66 // pinsrb xmm7, byte [rsi + rax + 19], 10 - QUAD $0x133e7c203a0f4266; BYTE $0x0b // pinsrb xmm7, byte [rsi + r15 + 19], 11 - QUAD $0x13267c203a0f4266; BYTE $0x0c // pinsrb xmm7, byte [rsi + r12 + 19], 12 - LONG $0x247c8b48; BYTE $0x08 // mov rdi, qword [rsp + 8] + LONG $0x24448b48; BYTE $0x40 // mov rax, qword [rsp + 64] + QUAD $0x0413067c203a0f66 // pinsrb xmm7, byte [rsi + rax + 19], 4 + QUAD $0x05130e7c203a0f66 // pinsrb xmm7, byte [rsi + rcx + 19], 5 + QUAD $0x0613167c203a0f66 // pinsrb xmm7, byte [rsi + rdx + 19], 6 + QUAD $0x13067c203a0f4266; BYTE $0x07 // pinsrb xmm7, byte [rsi + r8 + 19], 7 + QUAD $0x130e7c203a0f4266; BYTE $0x08 // pinsrb xmm7, byte [rsi + r9 + 19], 8 + QUAD $0x13167c203a0f4266; BYTE $0x09 // pinsrb xmm7, byte [rsi + r10 + 19], 9 + QUAD $0x133e7c203a0f4266; BYTE $0x0a // pinsrb xmm7, byte [rsi + r15 + 19], 10 + QUAD $0x13267c203a0f4266; BYTE $0x0b // pinsrb xmm7, byte [rsi + r12 + 19], 11 + QUAD $0x132e7c203a0f4266; BYTE $0x0c // pinsrb xmm7, byte [rsi + r13 + 19], 12 + LONG $0x247c8b48; BYTE $0x10 // mov rdi, qword [rsp + 16] QUAD $0x0d133e7c203a0f66 // pinsrb xmm7, byte [rsi + rdi + 19], 13 - LONG $0x245c8b48; BYTE $0x10 // mov rbx, qword [rsp + 16] + LONG $0x245c8b48; BYTE $0x18 // mov rbx, qword [rsp + 24] QUAD $0x0e131e7c203a0f66 // pinsrb xmm7, byte [rsi + rbx + 19], 14 - QUAD $0x13167c203a0f4266; BYTE $0x0f // pinsrb xmm7, byte [rsi + r10 + 19], 15 + QUAD $0x13367c203a0f4266; BYTE $0x0f // pinsrb xmm7, byte [rsi + r14 + 19], 15 QUAD $0x141e74203a0f4266; BYTE $0x03 // pinsrb xmm6, byte [rsi + r11 + 20], 3 - QUAD $0x143674203a0f4266; BYTE $0x04 // pinsrb xmm6, byte [rsi + r14 + 20], 4 - QUAD $0x142e74203a0f4266; BYTE $0x05 // pinsrb xmm6, byte [rsi + r13 + 20], 5 - QUAD $0x06140e74203a0f66 // pinsrb xmm6, byte [rsi + rcx + 20], 6 - QUAD $0x07141674203a0f66 // pinsrb xmm6, byte [rsi + rdx + 20], 7 - QUAD $0x140674203a0f4266; BYTE $0x08 // pinsrb xmm6, byte [rsi + r8 + 20], 8 - QUAD $0x140e74203a0f4266; BYTE $0x09 // pinsrb xmm6, byte [rsi + r9 + 20], 9 - QUAD $0x0a140674203a0f66 // pinsrb xmm6, byte [rsi + rax + 20], 10 - QUAD $0x143e74203a0f4266; BYTE $0x0b // pinsrb xmm6, byte [rsi + r15 + 20], 11 - QUAD $0x142674203a0f4266; BYTE $0x0c // pinsrb xmm6, byte [rsi + r12 + 20], 12 + QUAD $0x04140674203a0f66 // pinsrb xmm6, byte [rsi + rax + 20], 4 + QUAD $0x05140e74203a0f66 // pinsrb xmm6, byte [rsi + rcx + 20], 5 + QUAD $0x06141674203a0f66 // pinsrb xmm6, byte [rsi + rdx + 20], 6 + QUAD $0x140674203a0f4266; BYTE $0x07 // pinsrb xmm6, byte [rsi + r8 + 20], 7 + QUAD $0x140e74203a0f4266; BYTE $0x08 // pinsrb xmm6, byte [rsi + r9 + 20], 8 + QUAD $0x141674203a0f4266; BYTE $0x09 // pinsrb xmm6, byte [rsi + r10 + 20], 9 + QUAD $0x143e74203a0f4266; BYTE $0x0a // pinsrb xmm6, byte [rsi + r15 + 20], 10 + QUAD $0x142674203a0f4266; BYTE $0x0b // pinsrb xmm6, byte [rsi + r12 + 20], 11 + QUAD $0x142e74203a0f4266; BYTE $0x0c // pinsrb xmm6, byte [rsi + r13 + 20], 12 QUAD $0x0d143e74203a0f66 // pinsrb xmm6, byte [rsi + rdi + 20], 13 QUAD $0x0e141e74203a0f66 // pinsrb xmm6, byte [rsi + rbx + 20], 14 - QUAD $0x00009024aceb0f66; BYTE $0x00 // por xmm5, oword [rsp + 144] - QUAD $0x141674203a0f4266; BYTE $0x0f // pinsrb xmm6, byte [rsi + r10 + 20], 15 - QUAD $0x00a024bc6f0f4466; WORD $0x0000 // movdqa xmm15, oword [rsp + 160] + QUAD $0x0000b024aceb0f66; BYTE $0x00 // por xmm5, oword [rsp + 176] + QUAD $0x143674203a0f4266; BYTE $0x0f // pinsrb xmm6, byte [rsi + r14 + 20], 15 + QUAD $0x009024bc6f0f4466; WORD $0x0000 // movdqa xmm15, oword [rsp + 144] LONG $0x640f4166; BYTE $0xff // pcmpgtb xmm7, xmm15 QUAD $0x000000c0bddb0f66 // pand xmm7, oword 192[rbp] /* [rip + .LCPI7_12] */ LONG $0x640f4166; BYTE $0xf7 // pcmpgtb xmm6, xmm15 QUAD $0x000000d0b5db0f66 // pand xmm6, oword 208[rbp] /* [rip + .LCPI7_13] */ LONG $0xf7eb0f66 // por xmm6, xmm7 QUAD $0x151e54203a0f4266; BYTE $0x03 // pinsrb xmm2, byte [rsi + r11 + 21], 3 - QUAD $0x153654203a0f4266; BYTE $0x04 // pinsrb xmm2, byte [rsi + r14 + 21], 4 - QUAD $0x152e54203a0f4266; BYTE $0x05 // pinsrb xmm2, byte [rsi + r13 + 21], 5 - QUAD $0x06150e54203a0f66 // pinsrb xmm2, byte [rsi + rcx + 21], 6 - QUAD $0x07151654203a0f66 // pinsrb xmm2, byte [rsi + rdx + 21], 7 - QUAD $0x150654203a0f4266; BYTE $0x08 // pinsrb xmm2, byte [rsi + r8 + 21], 8 - QUAD $0x150e54203a0f4266; BYTE $0x09 // pinsrb xmm2, byte [rsi + r9 + 21], 9 - QUAD $0x0a150654203a0f66 // pinsrb xmm2, byte [rsi + rax + 21], 10 - QUAD $0x153e54203a0f4266; BYTE $0x0b // pinsrb xmm2, byte [rsi + r15 + 21], 11 - QUAD $0x152654203a0f4266; BYTE $0x0c // pinsrb xmm2, byte [rsi + r12 + 21], 12 + QUAD $0x04150654203a0f66 // pinsrb xmm2, byte [rsi + rax + 21], 4 + QUAD $0x05150e54203a0f66 // pinsrb xmm2, byte [rsi + rcx + 21], 5 + QUAD $0x06151654203a0f66 // pinsrb xmm2, byte [rsi + rdx + 21], 6 + QUAD $0x150654203a0f4266; BYTE $0x07 // pinsrb xmm2, byte [rsi + r8 + 21], 7 + QUAD $0x150e54203a0f4266; BYTE $0x08 // pinsrb xmm2, byte [rsi + r9 + 21], 8 + QUAD $0x151654203a0f4266; BYTE $0x09 // pinsrb xmm2, byte [rsi + r10 + 21], 9 + QUAD $0x153e54203a0f4266; BYTE $0x0a // pinsrb xmm2, byte [rsi + r15 + 21], 10 + QUAD $0x152654203a0f4266; BYTE $0x0b // pinsrb xmm2, byte [rsi + r12 + 21], 11 + QUAD $0x152e54203a0f4266; BYTE $0x0c // pinsrb xmm2, byte [rsi + r13 + 21], 12 QUAD $0x0d153e54203a0f66 // pinsrb xmm2, byte [rsi + rdi + 21], 13 QUAD $0x0e151e54203a0f66 // pinsrb xmm2, byte [rsi + rbx + 21], 14 - QUAD $0x151654203a0f4266; BYTE $0x0f // pinsrb xmm2, byte [rsi + r10 + 21], 15 + QUAD $0x153654203a0f4266; BYTE $0x0f // pinsrb xmm2, byte [rsi + r14 + 21], 15 LONG $0x640f4166; BYTE $0xd7 // pcmpgtb xmm2, xmm15 QUAD $0x000000e0bd6f0f66 // movdqa xmm7, oword 224[rbp] /* [rip + .LCPI7_14] */ LONG $0xd7db0f66 // pand xmm2, xmm7 LONG $0xd6eb0f66 // por xmm2, xmm6 LONG $0xd5eb0f66 // por xmm2, xmm5 QUAD $0x161e5c203a0f4266; BYTE $0x03 // pinsrb xmm3, byte [rsi + r11 + 22], 3 - QUAD $0x16365c203a0f4266; BYTE $0x04 // pinsrb xmm3, byte [rsi + r14 + 22], 4 - QUAD $0x162e5c203a0f4266; BYTE $0x05 // pinsrb xmm3, byte [rsi + r13 + 22], 5 - QUAD $0x06160e5c203a0f66 // pinsrb xmm3, byte [rsi + rcx + 22], 6 - QUAD $0x0716165c203a0f66 // pinsrb xmm3, byte [rsi + rdx + 22], 7 - QUAD $0x16065c203a0f4266; BYTE $0x08 // pinsrb xmm3, byte [rsi + r8 + 22], 8 - QUAD $0x160e5c203a0f4266; BYTE $0x09 // pinsrb xmm3, byte [rsi + r9 + 22], 9 - QUAD $0x0a16065c203a0f66 // pinsrb xmm3, byte [rsi + rax + 22], 10 - QUAD $0x163e5c203a0f4266; BYTE $0x0b // pinsrb xmm3, byte [rsi + r15 + 22], 11 - QUAD $0x16265c203a0f4266; BYTE $0x0c // pinsrb xmm3, byte [rsi + r12 + 22], 12 + QUAD $0x0416065c203a0f66 // pinsrb xmm3, byte [rsi + rax + 22], 4 + QUAD $0x05160e5c203a0f66 // pinsrb xmm3, byte [rsi + rcx + 22], 5 + QUAD $0x0616165c203a0f66 // pinsrb xmm3, byte [rsi + rdx + 22], 6 + QUAD $0x16065c203a0f4266; BYTE $0x07 // pinsrb xmm3, byte [rsi + r8 + 22], 7 + QUAD $0x160e5c203a0f4266; BYTE $0x08 // pinsrb xmm3, byte [rsi + r9 + 22], 8 + QUAD $0x16165c203a0f4266; BYTE $0x09 // pinsrb xmm3, byte [rsi + r10 + 22], 9 + QUAD $0x163e5c203a0f4266; BYTE $0x0a // pinsrb xmm3, byte [rsi + r15 + 22], 10 + QUAD $0x16265c203a0f4266; BYTE $0x0b // pinsrb xmm3, byte [rsi + r12 + 22], 11 + QUAD $0x162e5c203a0f4266; BYTE $0x0c // pinsrb xmm3, byte [rsi + r13 + 22], 12 QUAD $0x0d163e5c203a0f66 // pinsrb xmm3, byte [rsi + rdi + 22], 13 QUAD $0x0e161e5c203a0f66 // pinsrb xmm3, byte [rsi + rbx + 22], 14 - QUAD $0x16165c203a0f4266; BYTE $0x0f // pinsrb xmm3, byte [rsi + r10 + 22], 15 + QUAD $0x16365c203a0f4266; BYTE $0x0f // pinsrb xmm3, byte [rsi + r14 + 22], 15 QUAD $0x171e44203a0f4666; BYTE $0x03 // pinsrb xmm8, byte [rsi + r11 + 23], 3 - QUAD $0x173644203a0f4666; BYTE $0x04 // pinsrb xmm8, byte [rsi + r14 + 23], 4 - QUAD $0x172e44203a0f4666; BYTE $0x05 // pinsrb xmm8, byte [rsi + r13 + 23], 5 - QUAD $0x170e44203a0f4466; BYTE $0x06 // pinsrb xmm8, byte [rsi + rcx + 23], 6 - QUAD $0x171644203a0f4466; BYTE $0x07 // pinsrb xmm8, byte [rsi + rdx + 23], 7 - QUAD $0x170644203a0f4666; BYTE $0x08 // pinsrb xmm8, byte [rsi + r8 + 23], 8 - QUAD $0x170e44203a0f4666; BYTE $0x09 // pinsrb xmm8, byte [rsi + r9 + 23], 9 - QUAD $0x170644203a0f4466; BYTE $0x0a // pinsrb xmm8, byte [rsi + rax + 23], 10 - QUAD $0x173e44203a0f4666; BYTE $0x0b // pinsrb xmm8, byte [rsi + r15 + 23], 11 - QUAD $0x172644203a0f4666; BYTE $0x0c // pinsrb xmm8, byte [rsi + r12 + 23], 12 + QUAD $0x170644203a0f4466; BYTE $0x04 // pinsrb xmm8, byte [rsi + rax + 23], 4 + QUAD $0x170e44203a0f4466; BYTE $0x05 // pinsrb xmm8, byte [rsi + rcx + 23], 5 + QUAD $0x171644203a0f4466; BYTE $0x06 // pinsrb xmm8, byte [rsi + rdx + 23], 6 + QUAD $0x170644203a0f4666; BYTE $0x07 // pinsrb xmm8, byte [rsi + r8 + 23], 7 + QUAD $0x170e44203a0f4666; BYTE $0x08 // pinsrb xmm8, byte [rsi + r9 + 23], 8 + QUAD $0x171644203a0f4666; BYTE $0x09 // pinsrb xmm8, byte [rsi + r10 + 23], 9 + QUAD $0x173e44203a0f4666; BYTE $0x0a // pinsrb xmm8, byte [rsi + r15 + 23], 10 + QUAD $0x172644203a0f4666; BYTE $0x0b // pinsrb xmm8, byte [rsi + r12 + 23], 11 + QUAD $0x172e44203a0f4666; BYTE $0x0c // pinsrb xmm8, byte [rsi + r13 + 23], 12 QUAD $0x173e44203a0f4466; BYTE $0x0d // pinsrb xmm8, byte [rsi + rdi + 23], 13 QUAD $0x171e44203a0f4466; BYTE $0x0e // pinsrb xmm8, byte [rsi + rbx + 23], 14 - QUAD $0x171644203a0f4666; BYTE $0x0f // pinsrb xmm8, byte [rsi + r10 + 23], 15 + QUAD $0x173644203a0f4666; BYTE $0x0f // pinsrb xmm8, byte [rsi + r14 + 23], 15 LONG $0x640f4166; BYTE $0xdf // pcmpgtb xmm3, xmm15 QUAD $0x000000f0ad6f0f66 // movdqa xmm5, oword 240[rbp] /* [rip + .LCPI7_15] */ LONG $0xdddb0f66 // pand xmm3, xmm5 @@ -36319,18 +37705,18 @@ LBB7_85: LONG $0xdb0f4466; BYTE $0xc6 // pand xmm8, xmm6 LONG $0xeb0f4466; BYTE $0xc3 // por xmm8, xmm3 QUAD $0x191e4c203a0f4266; BYTE $0x03 // pinsrb xmm1, byte [rsi + r11 + 25], 3 - QUAD $0x19364c203a0f4266; BYTE $0x04 // pinsrb xmm1, byte [rsi + r14 + 25], 4 - QUAD $0x192e4c203a0f4266; BYTE $0x05 // pinsrb xmm1, byte [rsi + r13 + 25], 5 - QUAD $0x06190e4c203a0f66 // pinsrb xmm1, byte [rsi + rcx + 25], 6 - QUAD $0x0719164c203a0f66 // pinsrb xmm1, byte [rsi + rdx + 25], 7 - QUAD $0x19064c203a0f4266; BYTE $0x08 // pinsrb xmm1, byte [rsi + r8 + 25], 8 - QUAD $0x190e4c203a0f4266; BYTE $0x09 // pinsrb xmm1, byte [rsi + r9 + 25], 9 - QUAD $0x0a19064c203a0f66 // pinsrb xmm1, byte [rsi + rax + 25], 10 - QUAD $0x193e4c203a0f4266; BYTE $0x0b // pinsrb xmm1, byte [rsi + r15 + 25], 11 - QUAD $0x19264c203a0f4266; BYTE $0x0c // pinsrb xmm1, byte [rsi + r12 + 25], 12 + QUAD $0x0419064c203a0f66 // pinsrb xmm1, byte [rsi + rax + 25], 4 + QUAD $0x05190e4c203a0f66 // pinsrb xmm1, byte [rsi + rcx + 25], 5 + QUAD $0x0619164c203a0f66 // pinsrb xmm1, byte [rsi + rdx + 25], 6 + QUAD $0x19064c203a0f4266; BYTE $0x07 // pinsrb xmm1, byte [rsi + r8 + 25], 7 + QUAD $0x190e4c203a0f4266; BYTE $0x08 // pinsrb xmm1, byte [rsi + r9 + 25], 8 + QUAD $0x19164c203a0f4266; BYTE $0x09 // pinsrb xmm1, byte [rsi + r10 + 25], 9 + QUAD $0x193e4c203a0f4266; BYTE $0x0a // pinsrb xmm1, byte [rsi + r15 + 25], 10 + QUAD $0x19264c203a0f4266; BYTE $0x0b // pinsrb xmm1, byte [rsi + r12 + 25], 11 + QUAD $0x192e4c203a0f4266; BYTE $0x0c // pinsrb xmm1, byte [rsi + r13 + 25], 12 QUAD $0x0d193e4c203a0f66 // pinsrb xmm1, byte [rsi + rdi + 25], 13 QUAD $0x0e191e4c203a0f66 // pinsrb xmm1, byte [rsi + rbx + 25], 14 - QUAD $0x19164c203a0f4266; BYTE $0x0f // pinsrb xmm1, byte [rsi + r10 + 25], 15 + QUAD $0x19364c203a0f4266; BYTE $0x0f // pinsrb xmm1, byte [rsi + r14 + 25], 15 LONG $0xeb0f4466; BYTE $0xc2 // por xmm8, xmm2 LONG $0x640f4166; BYTE $0xcf // pcmpgtb xmm1, xmm15 LONG $0xd16f0f66 // movdqa xmm2, xmm1 @@ -36338,73 +37724,73 @@ LBB7_85: LONG $0xd3db0f66 // pand xmm2, xmm3 LONG $0xd1f80f66 // psubb xmm2, xmm1 QUAD $0x181e54203a0f4666; BYTE $0x03 // pinsrb xmm10, byte [rsi + r11 + 24], 3 - QUAD $0x183654203a0f4666; BYTE $0x04 // pinsrb xmm10, byte [rsi + r14 + 24], 4 - QUAD $0x182e54203a0f4666; BYTE $0x05 // pinsrb xmm10, byte [rsi + r13 + 24], 5 - QUAD $0x180e54203a0f4466; BYTE $0x06 // pinsrb xmm10, byte [rsi + rcx + 24], 6 - QUAD $0x181654203a0f4466; BYTE $0x07 // pinsrb xmm10, byte [rsi + rdx + 24], 7 - QUAD $0x180654203a0f4666; BYTE $0x08 // pinsrb xmm10, byte [rsi + r8 + 24], 8 - QUAD $0x180e54203a0f4666; BYTE $0x09 // pinsrb xmm10, byte [rsi + r9 + 24], 9 - QUAD $0x180654203a0f4466; BYTE $0x0a // pinsrb xmm10, byte [rsi + rax + 24], 10 - QUAD $0x183e54203a0f4666; BYTE $0x0b // pinsrb xmm10, byte [rsi + r15 + 24], 11 - QUAD $0x182654203a0f4666; BYTE $0x0c // pinsrb xmm10, byte [rsi + r12 + 24], 12 + QUAD $0x180654203a0f4466; BYTE $0x04 // pinsrb xmm10, byte [rsi + rax + 24], 4 + QUAD $0x180e54203a0f4466; BYTE $0x05 // pinsrb xmm10, byte [rsi + rcx + 24], 5 + QUAD $0x181654203a0f4466; BYTE $0x06 // pinsrb xmm10, byte [rsi + rdx + 24], 6 + QUAD $0x180654203a0f4666; BYTE $0x07 // pinsrb xmm10, byte [rsi + r8 + 24], 7 + QUAD $0x180e54203a0f4666; BYTE $0x08 // pinsrb xmm10, byte [rsi + r9 + 24], 8 + QUAD $0x181654203a0f4666; BYTE $0x09 // pinsrb xmm10, byte [rsi + r10 + 24], 9 + QUAD $0x183e54203a0f4666; BYTE $0x0a // pinsrb xmm10, byte [rsi + r15 + 24], 10 + QUAD $0x182654203a0f4666; BYTE $0x0b // pinsrb xmm10, byte [rsi + r12 + 24], 11 + QUAD $0x182e54203a0f4666; BYTE $0x0c // pinsrb xmm10, byte [rsi + r13 + 24], 12 QUAD $0x183e54203a0f4466; BYTE $0x0d // pinsrb xmm10, byte [rsi + rdi + 24], 13 QUAD $0x181e54203a0f4466; BYTE $0x0e // pinsrb xmm10, byte [rsi + rbx + 24], 14 - QUAD $0x181654203a0f4666; BYTE $0x0f // pinsrb xmm10, byte [rsi + r10 + 24], 15 + QUAD $0x183654203a0f4666; BYTE $0x0f // pinsrb xmm10, byte [rsi + r14 + 24], 15 LONG $0x640f4566; BYTE $0xd7 // pcmpgtb xmm10, xmm15 LONG $0xdb0f4466; BYTE $0xd3 // pand xmm10, xmm3 QUAD $0x1a1e5c203a0f4666; BYTE $0x03 // pinsrb xmm11, byte [rsi + r11 + 26], 3 - QUAD $0x1a365c203a0f4666; BYTE $0x04 // pinsrb xmm11, byte [rsi + r14 + 26], 4 - QUAD $0x1a2e5c203a0f4666; BYTE $0x05 // pinsrb xmm11, byte [rsi + r13 + 26], 5 - QUAD $0x1a0e5c203a0f4466; BYTE $0x06 // pinsrb xmm11, byte [rsi + rcx + 26], 6 - QUAD $0x1a165c203a0f4466; BYTE $0x07 // pinsrb xmm11, byte [rsi + rdx + 26], 7 - QUAD $0x1a065c203a0f4666; BYTE $0x08 // pinsrb xmm11, byte [rsi + r8 + 26], 8 - QUAD $0x1a0e5c203a0f4666; BYTE $0x09 // pinsrb xmm11, byte [rsi + r9 + 26], 9 - QUAD $0x1a065c203a0f4466; BYTE $0x0a // pinsrb xmm11, byte [rsi + rax + 26], 10 - QUAD $0x1a3e5c203a0f4666; BYTE $0x0b // pinsrb xmm11, byte [rsi + r15 + 26], 11 - QUAD $0x1a265c203a0f4666; BYTE $0x0c // pinsrb xmm11, byte [rsi + r12 + 26], 12 + QUAD $0x1a065c203a0f4466; BYTE $0x04 // pinsrb xmm11, byte [rsi + rax + 26], 4 + QUAD $0x1a0e5c203a0f4466; BYTE $0x05 // pinsrb xmm11, byte [rsi + rcx + 26], 5 + QUAD $0x1a165c203a0f4466; BYTE $0x06 // pinsrb xmm11, byte [rsi + rdx + 26], 6 + QUAD $0x1a065c203a0f4666; BYTE $0x07 // pinsrb xmm11, byte [rsi + r8 + 26], 7 + QUAD $0x1a0e5c203a0f4666; BYTE $0x08 // pinsrb xmm11, byte [rsi + r9 + 26], 8 + QUAD $0x1a165c203a0f4666; BYTE $0x09 // pinsrb xmm11, byte [rsi + r10 + 26], 9 + QUAD $0x1a3e5c203a0f4666; BYTE $0x0a // pinsrb xmm11, byte [rsi + r15 + 26], 10 + QUAD $0x1a265c203a0f4666; BYTE $0x0b // pinsrb xmm11, byte [rsi + r12 + 26], 11 + QUAD $0x1a2e5c203a0f4666; BYTE $0x0c // pinsrb xmm11, byte [rsi + r13 + 26], 12 QUAD $0x1a3e5c203a0f4466; BYTE $0x0d // pinsrb xmm11, byte [rsi + rdi + 26], 13 QUAD $0x1a1e5c203a0f4466; BYTE $0x0e // pinsrb xmm11, byte [rsi + rbx + 26], 14 - QUAD $0x1a165c203a0f4666; BYTE $0x0f // pinsrb xmm11, byte [rsi + r10 + 26], 15 + QUAD $0x1a365c203a0f4666; BYTE $0x0f // pinsrb xmm11, byte [rsi + r14 + 26], 15 LONG $0x640f4566; BYTE $0xdf // pcmpgtb xmm11, xmm15 QUAD $0x0000b09ddb0f4466; BYTE $0x00 // pand xmm11, oword 176[rbp] /* [rip + .LCPI7_11] */ LONG $0xeb0f4566; BYTE $0xda // por xmm11, xmm10 LONG $0xeb0f4466; BYTE $0xda // por xmm11, xmm2 QUAD $0x1b1e4c203a0f4666; BYTE $0x03 // pinsrb xmm9, byte [rsi + r11 + 27], 3 - QUAD $0x1b364c203a0f4666; BYTE $0x04 // pinsrb xmm9, byte [rsi + r14 + 27], 4 - QUAD $0x1b2e4c203a0f4666; BYTE $0x05 // pinsrb xmm9, byte [rsi + r13 + 27], 5 - QUAD $0x1b0e4c203a0f4466; BYTE $0x06 // pinsrb xmm9, byte [rsi + rcx + 27], 6 - QUAD $0x1b164c203a0f4466; BYTE $0x07 // pinsrb xmm9, byte [rsi + rdx + 27], 7 - QUAD $0x1b064c203a0f4666; BYTE $0x08 // pinsrb xmm9, byte [rsi + r8 + 27], 8 - QUAD $0x1b0e4c203a0f4666; BYTE $0x09 // pinsrb xmm9, byte [rsi + r9 + 27], 9 - QUAD $0x1b064c203a0f4466; BYTE $0x0a // pinsrb xmm9, byte [rsi + rax + 27], 10 - QUAD $0x1b3e4c203a0f4666; BYTE $0x0b // pinsrb xmm9, byte [rsi + r15 + 27], 11 - QUAD $0x1b264c203a0f4666; BYTE $0x0c // pinsrb xmm9, byte [rsi + r12 + 27], 12 + QUAD $0x1b064c203a0f4466; BYTE $0x04 // pinsrb xmm9, byte [rsi + rax + 27], 4 + QUAD $0x1b0e4c203a0f4466; BYTE $0x05 // pinsrb xmm9, byte [rsi + rcx + 27], 5 + QUAD $0x1b164c203a0f4466; BYTE $0x06 // pinsrb xmm9, byte [rsi + rdx + 27], 6 + QUAD $0x1b064c203a0f4666; BYTE $0x07 // pinsrb xmm9, byte [rsi + r8 + 27], 7 + QUAD $0x1b0e4c203a0f4666; BYTE $0x08 // pinsrb xmm9, byte [rsi + r9 + 27], 8 + QUAD $0x1b164c203a0f4666; BYTE $0x09 // pinsrb xmm9, byte [rsi + r10 + 27], 9 + QUAD $0x1b3e4c203a0f4666; BYTE $0x0a // pinsrb xmm9, byte [rsi + r15 + 27], 10 + QUAD $0x1b264c203a0f4666; BYTE $0x0b // pinsrb xmm9, byte [rsi + r12 + 27], 11 + QUAD $0x1b2e4c203a0f4666; BYTE $0x0c // pinsrb xmm9, byte [rsi + r13 + 27], 12 QUAD $0x1b3e4c203a0f4466; BYTE $0x0d // pinsrb xmm9, byte [rsi + rdi + 27], 13 QUAD $0x1b1e4c203a0f4466; BYTE $0x0e // pinsrb xmm9, byte [rsi + rbx + 27], 14 - QUAD $0x1b164c203a0f4666; BYTE $0x0f // pinsrb xmm9, byte [rsi + r10 + 27], 15 + QUAD $0x1b364c203a0f4666; BYTE $0x0f // pinsrb xmm9, byte [rsi + r14 + 27], 15 QUAD $0x1c1e64203a0f4266; BYTE $0x03 // pinsrb xmm4, byte [rsi + r11 + 28], 3 - QUAD $0x1c3664203a0f4266; BYTE $0x04 // pinsrb xmm4, byte [rsi + r14 + 28], 4 - QUAD $0x1c2e64203a0f4266; BYTE $0x05 // pinsrb xmm4, byte [rsi + r13 + 28], 5 - QUAD $0x061c0e64203a0f66 // pinsrb xmm4, byte [rsi + rcx + 28], 6 - QUAD $0x071c1664203a0f66 // pinsrb xmm4, byte [rsi + rdx + 28], 7 - QUAD $0x1c0664203a0f4266; BYTE $0x08 // pinsrb xmm4, byte [rsi + r8 + 28], 8 - QUAD $0x1c0e64203a0f4266; BYTE $0x09 // pinsrb xmm4, byte [rsi + r9 + 28], 9 - QUAD $0x0a1c0664203a0f66 // pinsrb xmm4, byte [rsi + rax + 28], 10 - QUAD $0x1c3e64203a0f4266; BYTE $0x0b // pinsrb xmm4, byte [rsi + r15 + 28], 11 - QUAD $0x1c2664203a0f4266; BYTE $0x0c // pinsrb xmm4, byte [rsi + r12 + 28], 12 + QUAD $0x041c0664203a0f66 // pinsrb xmm4, byte [rsi + rax + 28], 4 + QUAD $0x051c0e64203a0f66 // pinsrb xmm4, byte [rsi + rcx + 28], 5 + QUAD $0x061c1664203a0f66 // pinsrb xmm4, byte [rsi + rdx + 28], 6 + QUAD $0x1c0664203a0f4266; BYTE $0x07 // pinsrb xmm4, byte [rsi + r8 + 28], 7 + QUAD $0x1c0e64203a0f4266; BYTE $0x08 // pinsrb xmm4, byte [rsi + r9 + 28], 8 + QUAD $0x1c1664203a0f4266; BYTE $0x09 // pinsrb xmm4, byte [rsi + r10 + 28], 9 + QUAD $0x1c3e64203a0f4266; BYTE $0x0a // pinsrb xmm4, byte [rsi + r15 + 28], 10 + QUAD $0x1c2664203a0f4266; BYTE $0x0b // pinsrb xmm4, byte [rsi + r12 + 28], 11 + QUAD $0x1c2e64203a0f4266; BYTE $0x0c // pinsrb xmm4, byte [rsi + r13 + 28], 12 QUAD $0x0d1c3e64203a0f66 // pinsrb xmm4, byte [rsi + rdi + 28], 13 QUAD $0x0e1c1e64203a0f66 // pinsrb xmm4, byte [rsi + rbx + 28], 14 - QUAD $0x1c1664203a0f4266; BYTE $0x0f // pinsrb xmm4, byte [rsi + r10 + 28], 15 + QUAD $0x1c3664203a0f4266; BYTE $0x0f // pinsrb xmm4, byte [rsi + r14 + 28], 15 QUAD $0x1d1e6c203a0f4666; BYTE $0x03 // pinsrb xmm13, byte [rsi + r11 + 29], 3 - QUAD $0x1d366c203a0f4666; BYTE $0x04 // pinsrb xmm13, byte [rsi + r14 + 29], 4 - QUAD $0x1d2e6c203a0f4666; BYTE $0x05 // pinsrb xmm13, byte [rsi + r13 + 29], 5 - QUAD $0x1d0e6c203a0f4466; BYTE $0x06 // pinsrb xmm13, byte [rsi + rcx + 29], 6 - QUAD $0x1d166c203a0f4466; BYTE $0x07 // pinsrb xmm13, byte [rsi + rdx + 29], 7 - QUAD $0x1d066c203a0f4666; BYTE $0x08 // pinsrb xmm13, byte [rsi + r8 + 29], 8 - QUAD $0x1d0e6c203a0f4666; BYTE $0x09 // pinsrb xmm13, byte [rsi + r9 + 29], 9 - QUAD $0x1d066c203a0f4466; BYTE $0x0a // pinsrb xmm13, byte [rsi + rax + 29], 10 - QUAD $0x1d3e6c203a0f4666; BYTE $0x0b // pinsrb xmm13, byte [rsi + r15 + 29], 11 - QUAD $0x1d266c203a0f4666; BYTE $0x0c // pinsrb xmm13, byte [rsi + r12 + 29], 12 + QUAD $0x1d066c203a0f4466; BYTE $0x04 // pinsrb xmm13, byte [rsi + rax + 29], 4 + QUAD $0x1d0e6c203a0f4466; BYTE $0x05 // pinsrb xmm13, byte [rsi + rcx + 29], 5 + QUAD $0x1d166c203a0f4466; BYTE $0x06 // pinsrb xmm13, byte [rsi + rdx + 29], 6 + QUAD $0x1d066c203a0f4666; BYTE $0x07 // pinsrb xmm13, byte [rsi + r8 + 29], 7 + QUAD $0x1d0e6c203a0f4666; BYTE $0x08 // pinsrb xmm13, byte [rsi + r9 + 29], 8 + QUAD $0x1d166c203a0f4666; BYTE $0x09 // pinsrb xmm13, byte [rsi + r10 + 29], 9 + QUAD $0x1d3e6c203a0f4666; BYTE $0x0a // pinsrb xmm13, byte [rsi + r15 + 29], 10 + QUAD $0x1d266c203a0f4666; BYTE $0x0b // pinsrb xmm13, byte [rsi + r12 + 29], 11 + QUAD $0x1d2e6c203a0f4666; BYTE $0x0c // pinsrb xmm13, byte [rsi + r13 + 29], 12 QUAD $0x1d3e6c203a0f4466; BYTE $0x0d // pinsrb xmm13, byte [rsi + rdi + 29], 13 QUAD $0x1d1e6c203a0f4466; BYTE $0x0e // pinsrb xmm13, byte [rsi + rbx + 29], 14 LONG $0x6f0f4166; BYTE $0xcf // movdqa xmm1, xmm15 @@ -36413,37 +37799,36 @@ LBB7_85: LONG $0x640f4166; BYTE $0xe7 // pcmpgtb xmm4, xmm15 QUAD $0x000000d0a5db0f66 // pand xmm4, oword 208[rbp] /* [rip + .LCPI7_13] */ LONG $0xeb0f4166; BYTE $0xe1 // por xmm4, xmm9 - QUAD $0x1d166c203a0f4666; BYTE $0x0f // pinsrb xmm13, byte [rsi + r10 + 29], 15 + QUAD $0x1d366c203a0f4666; BYTE $0x0f // pinsrb xmm13, byte [rsi + r14 + 29], 15 LONG $0x640f4566; BYTE $0xef // pcmpgtb xmm13, xmm15 LONG $0xdb0f4466; BYTE $0xef // pand xmm13, xmm7 LONG $0xeb0f4466; BYTE $0xec // por xmm13, xmm4 QUAD $0x1e1e64203a0f4666; BYTE $0x03 // pinsrb xmm12, byte [rsi + r11 + 30], 3 QUAD $0x1f1e44203a0f4266; BYTE $0x03 // pinsrb xmm0, byte [rsi + r11 + 31], 3 - QUAD $0x1e3664203a0f4666; BYTE $0x04 // pinsrb xmm12, byte [rsi + r14 + 30], 4 - QUAD $0x1f3644203a0f4266; BYTE $0x04 // pinsrb xmm0, byte [rsi + r14 + 31], 4 - QUAD $0x1e2e64203a0f4666; BYTE $0x05 // pinsrb xmm12, byte [rsi + r13 + 30], 5 - QUAD $0x1f2e44203a0f4266; BYTE $0x05 // pinsrb xmm0, byte [rsi + r13 + 31], 5 - QUAD $0x1e0e64203a0f4466; BYTE $0x06 // pinsrb xmm12, byte [rsi + rcx + 30], 6 - QUAD $0x061f0e44203a0f66 // pinsrb xmm0, byte [rsi + rcx + 31], 6 - QUAD $0x1e1664203a0f4466; BYTE $0x07 // pinsrb xmm12, byte [rsi + rdx + 30], 7 - QUAD $0x071f1644203a0f66 // pinsrb xmm0, byte [rsi + rdx + 31], 7 - QUAD $0x1e0664203a0f4666; BYTE $0x08 // pinsrb xmm12, byte [rsi + r8 + 30], 8 - QUAD $0x1f0644203a0f4266; BYTE $0x08 // pinsrb xmm0, byte [rsi + r8 + 31], 8 - QUAD $0x1e0e64203a0f4666; BYTE $0x09 // pinsrb xmm12, byte [rsi + r9 + 30], 9 - QUAD $0x1f0e44203a0f4266; BYTE $0x09 // pinsrb xmm0, byte [rsi + r9 + 31], 9 - QUAD $0x1e0664203a0f4466; BYTE $0x0a // pinsrb xmm12, byte [rsi + rax + 30], 10 - QUAD $0x0a1f0644203a0f66 // pinsrb xmm0, byte [rsi + rax + 31], 10 - QUAD $0x1e3e64203a0f4666; BYTE $0x0b // pinsrb xmm12, byte [rsi + r15 + 30], 11 - QUAD $0x1f3e44203a0f4266; BYTE $0x0b // pinsrb xmm0, byte [rsi + r15 + 31], 11 - QUAD $0x1e2664203a0f4666; BYTE $0x0c // pinsrb xmm12, byte [rsi + r12 + 30], 12 - QUAD $0x1f2644203a0f4266; BYTE $0x0c // pinsrb xmm0, byte [rsi + r12 + 31], 12 + QUAD $0x1e0664203a0f4466; BYTE $0x04 // pinsrb xmm12, byte [rsi + rax + 30], 4 + QUAD $0x041f0644203a0f66 // pinsrb xmm0, byte [rsi + rax + 31], 4 + QUAD $0x1e0e64203a0f4466; BYTE $0x05 // pinsrb xmm12, byte [rsi + rcx + 30], 5 + QUAD $0x051f0e44203a0f66 // pinsrb xmm0, byte [rsi + rcx + 31], 5 + QUAD $0x1e1664203a0f4466; BYTE $0x06 // pinsrb xmm12, byte [rsi + rdx + 30], 6 + QUAD $0x061f1644203a0f66 // pinsrb xmm0, byte [rsi + rdx + 31], 6 + QUAD $0x1e0664203a0f4666; BYTE $0x07 // pinsrb xmm12, byte [rsi + r8 + 30], 7 + QUAD $0x1f0644203a0f4266; BYTE $0x07 // pinsrb xmm0, byte [rsi + r8 + 31], 7 + QUAD $0x1e0e64203a0f4666; BYTE $0x08 // pinsrb xmm12, byte [rsi + r9 + 30], 8 + QUAD $0x1f0e44203a0f4266; BYTE $0x08 // pinsrb xmm0, byte [rsi + r9 + 31], 8 + QUAD $0x1e1664203a0f4666; BYTE $0x09 // pinsrb xmm12, byte [rsi + r10 + 30], 9 + QUAD $0x1f1644203a0f4266; BYTE $0x09 // pinsrb xmm0, byte [rsi + r10 + 31], 9 + QUAD $0x1e3e64203a0f4666; BYTE $0x0a // pinsrb xmm12, byte [rsi + r15 + 30], 10 + QUAD $0x1f3e44203a0f4266; BYTE $0x0a // pinsrb xmm0, byte [rsi + r15 + 31], 10 + QUAD $0x1e2664203a0f4666; BYTE $0x0b // pinsrb xmm12, byte [rsi + r12 + 30], 11 + QUAD $0x1f2644203a0f4266; BYTE $0x0b // pinsrb xmm0, byte [rsi + r12 + 31], 11 + QUAD $0x1e2e64203a0f4666; BYTE $0x0c // pinsrb xmm12, byte [rsi + r13 + 30], 12 + QUAD $0x1f2e44203a0f4266; BYTE $0x0c // pinsrb xmm0, byte [rsi + r13 + 31], 12 QUAD $0x1e3e64203a0f4466; BYTE $0x0d // pinsrb xmm12, byte [rsi + rdi + 30], 13 QUAD $0x0d1f3e44203a0f66 // pinsrb xmm0, byte [rsi + rdi + 31], 13 QUAD $0x1e1e64203a0f4466; BYTE $0x0e // pinsrb xmm12, byte [rsi + rbx + 30], 14 QUAD $0x0e1f1e44203a0f66 // pinsrb xmm0, byte [rsi + rbx + 31], 14 - QUAD $0x0000008024848b48 // mov rax, qword [rsp + 128] - QUAD $0x1e1664203a0f4666; BYTE $0x0f // pinsrb xmm12, byte [rsi + r10 + 30], 15 - QUAD $0x1f1644203a0f4266; BYTE $0x0f // pinsrb xmm0, byte [rsi + r10 + 31], 15 + QUAD $0x1e3664203a0f4666; BYTE $0x0f // pinsrb xmm12, byte [rsi + r14 + 30], 15 + QUAD $0x1f3644203a0f4266; BYTE $0x0f // pinsrb xmm0, byte [rsi + r14 + 31], 15 LONG $0xeb0f4566; BYTE $0xeb // por xmm13, xmm11 LONG $0x640f4566; BYTE $0xe7 // pcmpgtb xmm12, xmm15 LONG $0xdb0f4466; BYTE $0xe5 // pand xmm12, xmm5 @@ -36454,7 +37839,7 @@ LBB7_85: LONG $0xeb0f4166; BYTE $0xc5 // por xmm0, xmm13 LONG $0x6f0f4166; BYTE $0xc8 // movdqa xmm1, xmm8 LONG $0xc8600f66 // punpcklbw xmm1, xmm0 - QUAD $0x0000d024a46f0f66; BYTE $0x00 // movdqa xmm4, oword [rsp + 208] + QUAD $0x0000a024a46f0f66; BYTE $0x00 // movdqa xmm4, oword [rsp + 160] LONG $0xd46f0f66 // movdqa xmm2, xmm4 LONG $0x600f4166; BYTE $0xd6 // punpcklbw xmm2, xmm14 LONG $0xda6f0f66 // movdqa xmm3, xmm2 @@ -36466,6 +37851,7 @@ LBB7_85: LONG $0x610f4166; BYTE $0xc0 // punpcklwd xmm0, xmm8 LONG $0x690f4166; BYTE $0xe0 // punpckhwd xmm4, xmm8 QUAD $0x000000f0248c8b48 // mov rcx, qword [rsp + 240] + LONG $0x24048b48 // mov rax, qword [rsp] LONG $0x647f0ff3; WORD $0x3088 // movdqu oword [rax + 4*rcx + 48], xmm4 LONG $0x447f0ff3; WORD $0x2088 // movdqu oword [rax + 4*rcx + 32], xmm0 LONG $0x547f0ff3; WORD $0x1088 // movdqu oword [rax + 4*rcx + 16], xmm2 @@ -36476,44 +37862,44 @@ LBB7_85: JNE LBB7_85 QUAD $0x0000012024948b4c // mov r10, qword [rsp + 288] QUAD $0x000000e824943b4c // cmp r10, qword [rsp + 232] - LONG $0x24348a44 // mov r14b, byte [rsp] + LONG $0x24648a44; BYTE $0x08 // mov r12b, byte [rsp + 8] QUAD $0x0000010824b48b48 // mov rsi, qword [rsp + 264] QUAD $0x00000088249c8b4c // mov r11, qword [rsp + 136] JNE LBB7_87 JMP LBB7_90 LBB7_66: - LONG $0xf0e28349 // and r10, -16 - WORD $0x894c; BYTE $0xd0 // mov rax, r10 + LONG $0xf0e78349 // and r15, -16 + WORD $0x894c; BYTE $0xf8 // mov rax, r15 LONG $0x05e0c148 // shl rax, 5 WORD $0x0148; BYTE $0xf0 // add rax, rsi QUAD $0x0000014024848948 // mov qword [rsp + 320], rax - QUAD $0x000000e82494894c // mov qword [rsp + 232], r10 - LONG $0x94048d4b // lea rax, [r12 + 4*r10] - LONG $0x24448948; BYTE $0x48 // mov qword [rsp + 72], rax - LONG $0x2444b60f; BYTE $0x28 // movzx eax, byte [rsp + 40] + QUAD $0x000000e824bc894c // mov qword [rsp + 232], r15 + LONG $0x24048b48 // mov rax, qword [rsp] + LONG $0xb8048d4a // lea rax, [rax + 4*r15] + LONG $0x24448948; BYTE $0x78 // mov qword [rsp + 120], rax + LONG $0xc2b60f41 // movzx eax, r10b LONG $0xc86e0f66 // movd xmm1, eax LONG $0xc0ef0f66 // pxor xmm0, xmm0 LONG $0x00380f66; BYTE $0xc8 // pshufb xmm1, xmm0 QUAD $0x000120248c7f0f66; BYTE $0x00 // movdqa oword [rsp + 288], xmm1 WORD $0xc031 // xor eax, eax - QUAD $0x0000008024a4894c // mov qword [rsp + 128], r12 LBB7_67: - QUAD $0x0000009024848948 // mov qword [rsp + 144], rax - QUAD $0x0000009024848b48 // mov rax, qword [rsp + 144] + QUAD $0x000000b024848948 // mov qword [rsp + 176], rax + QUAD $0x000000b024848b48 // mov rax, qword [rsp + 176] LONG $0x05e0c148 // shl rax, 5 + LONG $0x24448948; BYTE $0x20 // mov qword [rsp + 32], rax + WORD $0x8949; BYTE $0xc6 // mov r14, rax WORD $0x8948; BYTE $0xc2 // mov rdx, rax - WORD $0x8949; BYTE $0xc4 // mov r12, rax - WORD $0x8949; BYTE $0xc3 // mov r11, rax WORD $0x8948; BYTE $0xc7 // mov rdi, rax - LONG $0x24448948; BYTE $0x08 // mov qword [rsp + 8], rax + WORD $0x8949; BYTE $0xc5 // mov r13, rax WORD $0x8949; BYTE $0xc1 // mov r9, rax - WORD $0x8949; BYTE $0xc7 // mov r15, rax WORD $0x8949; BYTE $0xc2 // mov r10, rax - WORD $0x8949; BYTE $0xc6 // mov r14, rax + WORD $0x8949; BYTE $0xc3 // mov r11, rax + WORD $0x8949; BYTE $0xc7 // mov r15, rax WORD $0x8949; BYTE $0xc0 // mov r8, rax - LONG $0x24448948; BYTE $0x68 // mov qword [rsp + 104], rax + LONG $0x24448948; BYTE $0x38 // mov qword [rsp + 56], rax LONG $0x060cb60f // movzx ecx, byte [rsi + rax] LONG $0x6e0f4466; BYTE $0xd1 // movd xmm10, ecx LONG $0x064cb60f; BYTE $0x01 // movzx ecx, byte [rsi + rax + 1] @@ -36530,12 +37916,12 @@ LBB7_67: LONG $0xc16e0f66 // movd xmm0, ecx LONG $0x064cb60f; BYTE $0x07 // movzx ecx, byte [rsi + rax + 7] LONG $0xc96e0f66 // movd xmm1, ecx - QUAD $0x0000b0248c7f0f66; BYTE $0x00 // movdqa oword [rsp + 176], xmm1 + QUAD $0x0000c0248c7f0f66; BYTE $0x00 // movdqa oword [rsp + 192], xmm1 LONG $0x064cb60f; BYTE $0x08 // movzx ecx, byte [rsi + rax + 8] LONG $0x6e0f4466; BYTE $0xf1 // movd xmm14, ecx LONG $0x064cb60f; BYTE $0x09 // movzx ecx, byte [rsi + rax + 9] LONG $0xc96e0f66 // movd xmm1, ecx - QUAD $0x0000c0248c7f0f66; BYTE $0x00 // movdqa oword [rsp + 192], xmm1 + QUAD $0x0000d0248c7f0f66; BYTE $0x00 // movdqa oword [rsp + 208], xmm1 LONG $0x064cb60f; BYTE $0x0a // movzx ecx, byte [rsi + rax + 10] LONG $0xd16e0f66 // movd xmm2, ecx LONG $0x064cb60f; BYTE $0x0b // movzx ecx, byte [rsi + rax + 11] @@ -36545,171 +37931,172 @@ LBB7_67: QUAD $0x000130248c7f0f66; BYTE $0x00 // movdqa oword [rsp + 304], xmm1 LONG $0x064cb60f; BYTE $0x10 // movzx ecx, byte [rsi + rax + 16] LONG $0x6e0f4466; BYTE $0xe9 // movd xmm13, ecx - LONG $0x24448948; BYTE $0x60 // mov qword [rsp + 96], rax + QUAD $0x000000a024848948 // mov qword [rsp + 160], rax LONG $0x064cb60f; BYTE $0x18 // movzx ecx, byte [rsi + rax + 24] LONG $0x6e0f4466; BYTE $0xf9 // movd xmm15, ecx - WORD $0x8949; BYTE $0xc5 // mov r13, rax - LONG $0x20cd8349 // or r13, 32 - LONG $0x246c894c; BYTE $0x38 // mov qword [rsp + 56], r13 - LONG $0x40ca8348 // or rdx, 64 - LONG $0x24548948; BYTE $0x58 // mov qword [rsp + 88], rdx - LONG $0x60cc8349 // or r12, 96 - LONG $0x2464894c; BYTE $0x10 // mov qword [rsp + 16], r12 - LONG $0x80cb8149; WORD $0x0000; BYTE $0x00 // or r11, 128 + WORD $0x8949; BYTE $0xc4 // mov r12, rax + LONG $0x20cc8349 // or r12, 32 + LONG $0x2464894c; BYTE $0x60 // mov qword [rsp + 96], r12 + LONG $0x244c8b48; BYTE $0x20 // mov rcx, qword [rsp + 32] + LONG $0x40c98348 // or rcx, 64 + LONG $0x244c8948; BYTE $0x20 // mov qword [rsp + 32], rcx + LONG $0x60ce8349 // or r14, 96 + LONG $0x80ca8148; WORD $0x0000; BYTE $0x00 // or rdx, 128 LONG $0xa0cf8148; WORD $0x0000; BYTE $0x00 // or rdi, 160 - LONG $0x244c8b48; BYTE $0x08 // mov rcx, qword [rsp + 8] - LONG $0xc0c98148; WORD $0x0000; BYTE $0x00 // or rcx, 192 - LONG $0x244c8948; BYTE $0x08 // mov qword [rsp + 8], rcx + LONG $0xc0cd8149; WORD $0x0000; BYTE $0x00 // or r13, 192 + LONG $0x246c894c; BYTE $0x68 // mov qword [rsp + 104], r13 LONG $0xe0c98149; WORD $0x0000; BYTE $0x00 // or r9, 224 - LONG $0x00cf8149; WORD $0x0001; BYTE $0x00 // or r15, 256 - LONG $0x247c894c; BYTE $0x70 // mov qword [rsp + 112], r15 - LONG $0x20ca8149; WORD $0x0001; BYTE $0x00 // or r10, 288 - LONG $0x2454894c; BYTE $0x78 // mov qword [rsp + 120], r10 - LONG $0x40ce8149; WORD $0x0001; BYTE $0x00 // or r14, 320 + LONG $0x00ca8149; WORD $0x0001; BYTE $0x00 // or r10, 256 + LONG $0x2454894c; BYTE $0x70 // mov qword [rsp + 112], r10 + LONG $0x20cb8149; WORD $0x0001; BYTE $0x00 // or r11, 288 + LONG $0x40cf8149; WORD $0x0001; BYTE $0x00 // or r15, 320 LONG $0x60c88149; WORD $0x0001; BYTE $0x00 // or r8, 352 - QUAD $0x000000d02484894c // mov qword [rsp + 208], r8 - LONG $0x24448b4c; BYTE $0x68 // mov r8, qword [rsp + 104] + LONG $0x2444894c; BYTE $0x28 // mov qword [rsp + 40], r8 + LONG $0x24448b4c; BYTE $0x38 // mov r8, qword [rsp + 56] LONG $0x80c88149; WORD $0x0001; BYTE $0x00 // or r8, 384 WORD $0x8948; BYTE $0xc3 // mov rbx, rax LONG $0xa0cb8148; WORD $0x0001; BYTE $0x00 // or rbx, 416 - LONG $0x241c8948 // mov qword [rsp], rbx + LONG $0x245c8948; BYTE $0x10 // mov qword [rsp + 16], rbx WORD $0x8948; BYTE $0xc3 // mov rbx, rax LONG $0xc0cb8148; WORD $0x0001; BYTE $0x00 // or rbx, 448 LONG $0x245c8948; BYTE $0x18 // mov qword [rsp + 24], rbx - WORD $0x8948; BYTE $0xc3 // mov rbx, rax - LONG $0xe0cb8148; WORD $0x0001; BYTE $0x00 // or rbx, 480 - LONG $0x245c8948; BYTE $0x20 // mov qword [rsp + 32], rbx - QUAD $0x012e14203a0f4666 // pinsrb xmm10, byte [rsi + r13], 1 - QUAD $0x021614203a0f4466 // pinsrb xmm10, byte [rsi + rdx], 2 - QUAD $0x032614203a0f4666 // pinsrb xmm10, byte [rsi + r12], 3 - WORD $0x894d; BYTE $0xdc // mov r12, r11 - LONG $0x245c894c; BYTE $0x30 // mov qword [rsp + 48], r11 - QUAD $0x041e14203a0f4666 // pinsrb xmm10, byte [rsi + r11], 4 + LONG $0x01e00d48; WORD $0x0000 // or rax, 480 + LONG $0x24448948; BYTE $0x48 // mov qword [rsp + 72], rax + QUAD $0x012614203a0f4666 // pinsrb xmm10, byte [rsi + r12], 1 + QUAD $0x020e14203a0f4466 // pinsrb xmm10, byte [rsi + rcx], 2 + QUAD $0x033614203a0f4666 // pinsrb xmm10, byte [rsi + r14], 3 + LONG $0x2474894c; BYTE $0x40 // mov qword [rsp + 64], r14 + QUAD $0x041614203a0f4466 // pinsrb xmm10, byte [rsi + rdx], 4 QUAD $0x053e14203a0f4466 // pinsrb xmm10, byte [rsi + rdi], 5 - LONG $0x247c8948; BYTE $0x40 // mov qword [rsp + 64], rdi - QUAD $0x060e14203a0f4466 // pinsrb xmm10, byte [rsi + rcx], 6 + QUAD $0x062e14203a0f4666 // pinsrb xmm10, byte [rsi + r13], 6 QUAD $0x070e14203a0f4666 // pinsrb xmm10, byte [rsi + r9], 7 - WORD $0x894d; BYTE $0xcb // mov r11, r9 - QUAD $0x083e14203a0f4666 // pinsrb xmm10, byte [rsi + r15], 8 - QUAD $0x091614203a0f4666 // pinsrb xmm10, byte [rsi + r10], 9 - QUAD $0x0a3614203a0f4666 // pinsrb xmm10, byte [rsi + r14], 10 - QUAD $0x000000d024ac8b4c // mov r13, qword [rsp + 208] - QUAD $0x0b2e14203a0f4666 // pinsrb xmm10, byte [rsi + r13], 11 + QUAD $0x081614203a0f4666 // pinsrb xmm10, byte [rsi + r10], 8 + QUAD $0x091e14203a0f4666 // pinsrb xmm10, byte [rsi + r11], 9 + QUAD $0x0a3e14203a0f4666 // pinsrb xmm10, byte [rsi + r15], 10 + LONG $0x24648b4c; BYTE $0x28 // mov r12, qword [rsp + 40] + QUAD $0x0b2614203a0f4666 // pinsrb xmm10, byte [rsi + r12], 11 QUAD $0x0c0614203a0f4666 // pinsrb xmm10, byte [rsi + r8], 12 - LONG $0x24048b48 // mov rax, qword [rsp] - QUAD $0x0d0614203a0f4466 // pinsrb xmm10, byte [rsi + rax], 13 - WORD $0x8949; BYTE $0xc7 // mov r15, rax + LONG $0x245c8b48; BYTE $0x10 // mov rbx, qword [rsp + 16] + QUAD $0x0d1e14203a0f4466 // pinsrb xmm10, byte [rsi + rbx], 13 LONG $0x24448b48; BYTE $0x18 // mov rax, qword [rsp + 24] QUAD $0x0e0614203a0f4466 // pinsrb xmm10, byte [rsi + rax], 14 - QUAD $0x0f1e14203a0f4466 // pinsrb xmm10, byte [rsi + rbx], 15 + LONG $0x24548b4c; BYTE $0x48 // mov r10, qword [rsp + 72] + QUAD $0x0f1614203a0f4666 // pinsrb xmm10, byte [rsi + r10], 15 LONG $0x6f0f4566; BYTE $0xc2 // movdqa xmm8, xmm10 QUAD $0x012024a46f0f4466; WORD $0x0000 // movdqa xmm12, oword [rsp + 288] LONG $0xda0f4566; BYTE $0xc4 // pminub xmm8, xmm12 LONG $0x740f4566; BYTE $0xc2 // pcmpeqb xmm8, xmm10 - LONG $0x244c8b4c; BYTE $0x38 // mov r9, qword [rsp + 56] - QUAD $0x010e64203a0f4266; BYTE $0x01 // pinsrb xmm4, byte [rsi + r9 + 1], 1 - QUAD $0x02011664203a0f66 // pinsrb xmm4, byte [rsi + rdx + 1], 2 - LONG $0x245c8b48; BYTE $0x10 // mov rbx, qword [rsp + 16] - QUAD $0x03011e64203a0f66 // pinsrb xmm4, byte [rsi + rbx + 1], 3 - QUAD $0x012664203a0f4266; BYTE $0x04 // pinsrb xmm4, byte [rsi + r12 + 1], 4 + LONG $0x24448b48; BYTE $0x60 // mov rax, qword [rsp + 96] + QUAD $0x01010664203a0f66 // pinsrb xmm4, byte [rsi + rax + 1], 1 + QUAD $0x02010e64203a0f66 // pinsrb xmm4, byte [rsi + rcx + 1], 2 + QUAD $0x013664203a0f4266; BYTE $0x03 // pinsrb xmm4, byte [rsi + r14 + 1], 3 + QUAD $0x04011664203a0f66 // pinsrb xmm4, byte [rsi + rdx + 1], 4 QUAD $0x05013e64203a0f66 // pinsrb xmm4, byte [rsi + rdi + 1], 5 - QUAD $0x06010e64203a0f66 // pinsrb xmm4, byte [rsi + rcx + 1], 6 - QUAD $0x011e64203a0f4266; BYTE $0x07 // pinsrb xmm4, byte [rsi + r11 + 1], 7 - LONG $0x24548b4c; BYTE $0x70 // mov r10, qword [rsp + 112] - QUAD $0x011664203a0f4266; BYTE $0x08 // pinsrb xmm4, byte [rsi + r10 + 1], 8 - LONG $0x245c8b48; BYTE $0x78 // mov rbx, qword [rsp + 120] - QUAD $0x09011e64203a0f66 // pinsrb xmm4, byte [rsi + rbx + 1], 9 - QUAD $0x013664203a0f4266; BYTE $0x0a // pinsrb xmm4, byte [rsi + r14 + 1], 10 - QUAD $0x012e64203a0f4266; BYTE $0x0b // pinsrb xmm4, byte [rsi + r13 + 1], 11 + QUAD $0x012e64203a0f4266; BYTE $0x06 // pinsrb xmm4, byte [rsi + r13 + 1], 6 + WORD $0x894d; BYTE $0xce // mov r14, r9 + QUAD $0x010e64203a0f4266; BYTE $0x07 // pinsrb xmm4, byte [rsi + r9 + 1], 7 + LONG $0x245c8b48; BYTE $0x70 // mov rbx, qword [rsp + 112] + QUAD $0x08011e64203a0f66 // pinsrb xmm4, byte [rsi + rbx + 1], 8 + QUAD $0x011e64203a0f4266; BYTE $0x09 // pinsrb xmm4, byte [rsi + r11 + 1], 9 + QUAD $0x013e64203a0f4266; BYTE $0x0a // pinsrb xmm4, byte [rsi + r15 + 1], 10 + QUAD $0x012664203a0f4266; BYTE $0x0b // pinsrb xmm4, byte [rsi + r12 + 1], 11 QUAD $0x010664203a0f4266; BYTE $0x0c // pinsrb xmm4, byte [rsi + r8 + 1], 12 - QUAD $0x013e64203a0f4266; BYTE $0x0d // pinsrb xmm4, byte [rsi + r15 + 1], 13 + LONG $0x244c8b4c; BYTE $0x10 // mov r9, qword [rsp + 16] + QUAD $0x010e64203a0f4266; BYTE $0x0d // pinsrb xmm4, byte [rsi + r9 + 1], 13 + LONG $0x24448b48; BYTE $0x18 // mov rax, qword [rsp + 24] QUAD $0x0e010664203a0f66 // pinsrb xmm4, byte [rsi + rax + 1], 14 - LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] - QUAD $0x0f010664203a0f66 // pinsrb xmm4, byte [rsi + rax + 1], 15 + QUAD $0x011664203a0f4266; BYTE $0x0f // pinsrb xmm4, byte [rsi + r10 + 1], 15 + LONG $0x244c8b4c; BYTE $0x60 // mov r9, qword [rsp + 96] QUAD $0x020e74203a0f4266; BYTE $0x01 // pinsrb xmm6, byte [rsi + r9 + 2], 1 - QUAD $0x02021674203a0f66 // pinsrb xmm6, byte [rsi + rdx + 2], 2 - LONG $0x247c8b4c; BYTE $0x10 // mov r15, qword [rsp + 16] - QUAD $0x023e74203a0f4266; BYTE $0x03 // pinsrb xmm6, byte [rsi + r15 + 2], 3 - QUAD $0x022674203a0f4266; BYTE $0x04 // pinsrb xmm6, byte [rsi + r12 + 2], 4 + QUAD $0x02020e74203a0f66 // pinsrb xmm6, byte [rsi + rcx + 2], 2 + LONG $0x24448b48; BYTE $0x40 // mov rax, qword [rsp + 64] + QUAD $0x03020674203a0f66 // pinsrb xmm6, byte [rsi + rax + 2], 3 + QUAD $0x04021674203a0f66 // pinsrb xmm6, byte [rsi + rdx + 2], 4 QUAD $0x05023e74203a0f66 // pinsrb xmm6, byte [rsi + rdi + 2], 5 - QUAD $0x06020e74203a0f66 // pinsrb xmm6, byte [rsi + rcx + 2], 6 - QUAD $0x021e74203a0f4266; BYTE $0x07 // pinsrb xmm6, byte [rsi + r11 + 2], 7 - QUAD $0x021674203a0f4266; BYTE $0x08 // pinsrb xmm6, byte [rsi + r10 + 2], 8 - QUAD $0x09021e74203a0f66 // pinsrb xmm6, byte [rsi + rbx + 2], 9 - QUAD $0x023674203a0f4266; BYTE $0x0a // pinsrb xmm6, byte [rsi + r14 + 2], 10 - QUAD $0x022e74203a0f4266; BYTE $0x0b // pinsrb xmm6, byte [rsi + r13 + 2], 11 + QUAD $0x022e74203a0f4266; BYTE $0x06 // pinsrb xmm6, byte [rsi + r13 + 2], 6 + QUAD $0x023674203a0f4266; BYTE $0x07 // pinsrb xmm6, byte [rsi + r14 + 2], 7 + QUAD $0x08021e74203a0f66 // pinsrb xmm6, byte [rsi + rbx + 2], 8 + QUAD $0x021e74203a0f4266; BYTE $0x09 // pinsrb xmm6, byte [rsi + r11 + 2], 9 + QUAD $0x023e74203a0f4266; BYTE $0x0a // pinsrb xmm6, byte [rsi + r15 + 2], 10 + QUAD $0x022674203a0f4266; BYTE $0x0b // pinsrb xmm6, byte [rsi + r12 + 2], 11 QUAD $0x020674203a0f4266; BYTE $0x0c // pinsrb xmm6, byte [rsi + r8 + 2], 12 - LONG $0x243c8b48 // mov rdi, qword [rsp] - QUAD $0x0d023e74203a0f66 // pinsrb xmm6, byte [rsi + rdi + 2], 13 - LONG $0x247c8b4c; BYTE $0x18 // mov r15, qword [rsp + 24] - QUAD $0x023e74203a0f4266; BYTE $0x0e // pinsrb xmm6, byte [rsi + r15 + 2], 14 - QUAD $0x0f020674203a0f66 // pinsrb xmm6, byte [rsi + rax + 2], 15 + LONG $0x24448b48; BYTE $0x10 // mov rax, qword [rsp + 16] + QUAD $0x0d020674203a0f66 // pinsrb xmm6, byte [rsi + rax + 2], 13 + LONG $0x24448b48; BYTE $0x18 // mov rax, qword [rsp + 24] + QUAD $0x0e020674203a0f66 // pinsrb xmm6, byte [rsi + rax + 2], 14 + QUAD $0x021674203a0f4266; BYTE $0x0f // pinsrb xmm6, byte [rsi + r10 + 2], 15 QUAD $0x080e74203a0f4666; BYTE $0x01 // pinsrb xmm14, byte [rsi + r9 + 8], 1 - QUAD $0x081674203a0f4466; BYTE $0x02 // pinsrb xmm14, byte [rsi + rdx + 8], 2 - LONG $0x247c8b4c; BYTE $0x10 // mov r15, qword [rsp + 16] - QUAD $0x083e74203a0f4666; BYTE $0x03 // pinsrb xmm14, byte [rsi + r15 + 8], 3 - QUAD $0x082674203a0f4666; BYTE $0x04 // pinsrb xmm14, byte [rsi + r12 + 8], 4 - LONG $0x247c8b48; BYTE $0x40 // mov rdi, qword [rsp + 64] + QUAD $0x080e74203a0f4466; BYTE $0x02 // pinsrb xmm14, byte [rsi + rcx + 8], 2 + LONG $0x24448b48; BYTE $0x40 // mov rax, qword [rsp + 64] + QUAD $0x080674203a0f4466; BYTE $0x03 // pinsrb xmm14, byte [rsi + rax + 8], 3 + QUAD $0x081674203a0f4466; BYTE $0x04 // pinsrb xmm14, byte [rsi + rdx + 8], 4 QUAD $0x083e74203a0f4466; BYTE $0x05 // pinsrb xmm14, byte [rsi + rdi + 8], 5 - QUAD $0x080e74203a0f4466; BYTE $0x06 // pinsrb xmm14, byte [rsi + rcx + 8], 6 - QUAD $0x081e74203a0f4666; BYTE $0x07 // pinsrb xmm14, byte [rsi + r11 + 8], 7 - QUAD $0x081674203a0f4666; BYTE $0x08 // pinsrb xmm14, byte [rsi + r10 + 8], 8 - QUAD $0x081e74203a0f4466; BYTE $0x09 // pinsrb xmm14, byte [rsi + rbx + 8], 9 - QUAD $0x083674203a0f4666; BYTE $0x0a // pinsrb xmm14, byte [rsi + r14 + 8], 10 - QUAD $0x082e74203a0f4666; BYTE $0x0b // pinsrb xmm14, byte [rsi + r13 + 8], 11 + QUAD $0x082e74203a0f4666; BYTE $0x06 // pinsrb xmm14, byte [rsi + r13 + 8], 6 + QUAD $0x083674203a0f4666; BYTE $0x07 // pinsrb xmm14, byte [rsi + r14 + 8], 7 + QUAD $0x081e74203a0f4466; BYTE $0x08 // pinsrb xmm14, byte [rsi + rbx + 8], 8 + QUAD $0x081e74203a0f4666; BYTE $0x09 // pinsrb xmm14, byte [rsi + r11 + 8], 9 + QUAD $0x083e74203a0f4666; BYTE $0x0a // pinsrb xmm14, byte [rsi + r15 + 8], 10 + QUAD $0x082674203a0f4666; BYTE $0x0b // pinsrb xmm14, byte [rsi + r12 + 8], 11 QUAD $0x080674203a0f4666; BYTE $0x0c // pinsrb xmm14, byte [rsi + r8 + 8], 12 - LONG $0x24048b48 // mov rax, qword [rsp] + LONG $0x24448b48; BYTE $0x10 // mov rax, qword [rsp + 16] QUAD $0x080674203a0f4466; BYTE $0x0d // pinsrb xmm14, byte [rsi + rax + 8], 13 LONG $0x24448b48; BYTE $0x18 // mov rax, qword [rsp + 24] QUAD $0x080674203a0f4466; BYTE $0x0e // pinsrb xmm14, byte [rsi + rax + 8], 14 - LONG $0x24548b4c; BYTE $0x20 // mov r10, qword [rsp + 32] QUAD $0x081674203a0f4666; BYTE $0x0f // pinsrb xmm14, byte [rsi + r10 + 8], 15 LONG $0x6f0f4566; BYTE $0xd6 // movdqa xmm10, xmm14 LONG $0xda0f4566; BYTE $0xd4 // pminub xmm10, xmm12 LONG $0x740f4566; BYTE $0xd6 // pcmpeqb xmm10, xmm14 QUAD $0x100e6c203a0f4666; BYTE $0x01 // pinsrb xmm13, byte [rsi + r9 + 16], 1 - QUAD $0x10166c203a0f4466; BYTE $0x02 // pinsrb xmm13, byte [rsi + rdx + 16], 2 - WORD $0x894d; BYTE $0xf9 // mov r9, r15 - QUAD $0x103e6c203a0f4666; BYTE $0x03 // pinsrb xmm13, byte [rsi + r15 + 16], 3 - QUAD $0x10266c203a0f4666; BYTE $0x04 // pinsrb xmm13, byte [rsi + r12 + 16], 4 + QUAD $0x100e6c203a0f4466; BYTE $0x02 // pinsrb xmm13, byte [rsi + rcx + 16], 2 + LONG $0x24448b48; BYTE $0x40 // mov rax, qword [rsp + 64] + QUAD $0x10066c203a0f4466; BYTE $0x03 // pinsrb xmm13, byte [rsi + rax + 16], 3 + QUAD $0x10166c203a0f4466; BYTE $0x04 // pinsrb xmm13, byte [rsi + rdx + 16], 4 + WORD $0x8948; BYTE $0xd0 // mov rax, rdx + LONG $0x24548948; BYTE $0x58 // mov qword [rsp + 88], rdx QUAD $0x103e6c203a0f4466; BYTE $0x05 // pinsrb xmm13, byte [rsi + rdi + 16], 5 - QUAD $0x100e6c203a0f4466; BYTE $0x06 // pinsrb xmm13, byte [rsi + rcx + 16], 6 - QUAD $0x101e6c203a0f4666; BYTE $0x07 // pinsrb xmm13, byte [rsi + r11 + 16], 7 - LONG $0x247c8b4c; BYTE $0x70 // mov r15, qword [rsp + 112] - QUAD $0x103e6c203a0f4666; BYTE $0x08 // pinsrb xmm13, byte [rsi + r15 + 16], 8 - QUAD $0x101e6c203a0f4466; BYTE $0x09 // pinsrb xmm13, byte [rsi + rbx + 16], 9 - QUAD $0x10366c203a0f4666; BYTE $0x0a // pinsrb xmm13, byte [rsi + r14 + 16], 10 - QUAD $0x102e6c203a0f4666; BYTE $0x0b // pinsrb xmm13, byte [rsi + r13 + 16], 11 + LONG $0x247c8948; BYTE $0x50 // mov qword [rsp + 80], rdi + QUAD $0x102e6c203a0f4666; BYTE $0x06 // pinsrb xmm13, byte [rsi + r13 + 16], 6 + QUAD $0x10366c203a0f4666; BYTE $0x07 // pinsrb xmm13, byte [rsi + r14 + 16], 7 + QUAD $0x101e6c203a0f4466; BYTE $0x08 // pinsrb xmm13, byte [rsi + rbx + 16], 8 + WORD $0x8949; BYTE $0xdd // mov r13, rbx + QUAD $0x101e6c203a0f4666; BYTE $0x09 // pinsrb xmm13, byte [rsi + r11 + 16], 9 + QUAD $0x00000080249c894c // mov qword [rsp + 128], r11 + QUAD $0x103e6c203a0f4666; BYTE $0x0a // pinsrb xmm13, byte [rsi + r15 + 16], 10 + LONG $0x247c894c; BYTE $0x30 // mov qword [rsp + 48], r15 + QUAD $0x10266c203a0f4666; BYTE $0x0b // pinsrb xmm13, byte [rsi + r12 + 16], 11 QUAD $0x10066c203a0f4666; BYTE $0x0c // pinsrb xmm13, byte [rsi + r8 + 16], 12 - LONG $0x24248b4c // mov r12, qword [rsp] - QUAD $0x10266c203a0f4666; BYTE $0x0d // pinsrb xmm13, byte [rsi + r12 + 16], 13 - LONG $0x244c8b48; BYTE $0x18 // mov rcx, qword [rsp + 24] - QUAD $0x100e6c203a0f4466; BYTE $0x0e // pinsrb xmm13, byte [rsi + rcx + 16], 14 - QUAD $0x10166c203a0f4666; BYTE $0x0f // pinsrb xmm13, byte [rsi + r10 + 16], 15 + WORD $0x894c; BYTE $0xc3 // mov rbx, r8 + LONG $0x2444894c; BYTE $0x38 // mov qword [rsp + 56], r8 + LONG $0x24548b48; BYTE $0x10 // mov rdx, qword [rsp + 16] + QUAD $0x10166c203a0f4466; BYTE $0x0d // pinsrb xmm13, byte [rsi + rdx + 16], 13 + LONG $0x24548b4c; BYTE $0x18 // mov r10, qword [rsp + 24] + QUAD $0x10166c203a0f4666; BYTE $0x0e // pinsrb xmm13, byte [rsi + r10 + 16], 14 + LONG $0x24448b4c; BYTE $0x48 // mov r8, qword [rsp + 72] + QUAD $0x10066c203a0f4666; BYTE $0x0f // pinsrb xmm13, byte [rsi + r8 + 16], 15 LONG $0x6f0f4166; BYTE $0xdd // movdqa xmm3, xmm13 LONG $0xda0f4166; BYTE $0xdc // pminub xmm3, xmm12 LONG $0x740f4166; BYTE $0xdd // pcmpeqb xmm3, xmm13 QUAD $0x000110249c7f0f66; BYTE $0x00 // movdqa oword [rsp + 272], xmm3 - LONG $0x24448b48; BYTE $0x38 // mov rax, qword [rsp + 56] - QUAD $0x18067c203a0f4466; BYTE $0x01 // pinsrb xmm15, byte [rsi + rax + 24], 1 - QUAD $0x18167c203a0f4466; BYTE $0x02 // pinsrb xmm15, byte [rsi + rdx + 24], 2 + QUAD $0x180e7c203a0f4666; BYTE $0x01 // pinsrb xmm15, byte [rsi + r9 + 24], 1 + QUAD $0x180e7c203a0f4466; BYTE $0x02 // pinsrb xmm15, byte [rsi + rcx + 24], 2 + LONG $0x244c8b4c; BYTE $0x40 // mov r9, qword [rsp + 64] QUAD $0x180e7c203a0f4666; BYTE $0x03 // pinsrb xmm15, byte [rsi + r9 + 24], 3 - LONG $0x244c8b4c; BYTE $0x30 // mov r9, qword [rsp + 48] - QUAD $0x180e7c203a0f4666; BYTE $0x04 // pinsrb xmm15, byte [rsi + r9 + 24], 4 + QUAD $0x18067c203a0f4466; BYTE $0x04 // pinsrb xmm15, byte [rsi + rax + 24], 4 QUAD $0x183e7c203a0f4466; BYTE $0x05 // pinsrb xmm15, byte [rsi + rdi + 24], 5 - LONG $0x24448b48; BYTE $0x08 // mov rax, qword [rsp + 8] + LONG $0x24448b48; BYTE $0x68 // mov rax, qword [rsp + 104] QUAD $0x18067c203a0f4466; BYTE $0x06 // pinsrb xmm15, byte [rsi + rax + 24], 6 - QUAD $0x181e7c203a0f4666; BYTE $0x07 // pinsrb xmm15, byte [rsi + r11 + 24], 7 - QUAD $0x183e7c203a0f4666; BYTE $0x08 // pinsrb xmm15, byte [rsi + r15 + 24], 8 - QUAD $0x181e7c203a0f4466; BYTE $0x09 // pinsrb xmm15, byte [rsi + rbx + 24], 9 - QUAD $0x18367c203a0f4666; BYTE $0x0a // pinsrb xmm15, byte [rsi + r14 + 24], 10 - QUAD $0x182e7c203a0f4666; BYTE $0x0b // pinsrb xmm15, byte [rsi + r13 + 24], 11 - QUAD $0x18067c203a0f4666; BYTE $0x0c // pinsrb xmm15, byte [rsi + r8 + 24], 12 - QUAD $0x18267c203a0f4666; BYTE $0x0d // pinsrb xmm15, byte [rsi + r12 + 24], 13 - WORD $0x894d; BYTE $0xe7 // mov r15, r12 - QUAD $0x180e7c203a0f4466; BYTE $0x0e // pinsrb xmm15, byte [rsi + rcx + 24], 14 - WORD $0x8948; BYTE $0xc8 // mov rax, rcx - QUAD $0x18167c203a0f4666; BYTE $0x0f // pinsrb xmm15, byte [rsi + r10 + 24], 15 + QUAD $0x18367c203a0f4666; BYTE $0x07 // pinsrb xmm15, byte [rsi + r14 + 24], 7 + QUAD $0x182e7c203a0f4666; BYTE $0x08 // pinsrb xmm15, byte [rsi + r13 + 24], 8 + WORD $0x894c; BYTE $0xe8 // mov rax, r13 + QUAD $0x181e7c203a0f4666; BYTE $0x09 // pinsrb xmm15, byte [rsi + r11 + 24], 9 + QUAD $0x183e7c203a0f4666; BYTE $0x0a // pinsrb xmm15, byte [rsi + r15 + 24], 10 + QUAD $0x18267c203a0f4666; BYTE $0x0b // pinsrb xmm15, byte [rsi + r12 + 24], 11 + WORD $0x894c; BYTE $0xe1 // mov rcx, r12 + QUAD $0x181e7c203a0f4466; BYTE $0x0c // pinsrb xmm15, byte [rsi + rbx + 24], 12 + QUAD $0x18167c203a0f4466; BYTE $0x0d // pinsrb xmm15, byte [rsi + rdx + 24], 13 + QUAD $0x18167c203a0f4666; BYTE $0x0e // pinsrb xmm15, byte [rsi + r10 + 24], 14 + WORD $0x894d; BYTE $0xd5 // mov r13, r10 + QUAD $0x18067c203a0f4666; BYTE $0x0f // pinsrb xmm15, byte [rsi + r8 + 24], 15 LONG $0x6f0f4166; BYTE $0xdf // movdqa xmm3, xmm15 LONG $0xda0f4166; BYTE $0xdc // pminub xmm3, xmm12 LONG $0x740f4166; BYTE $0xdf // pcmpeqb xmm3, xmm15 @@ -36724,104 +38111,106 @@ LBB7_67: LONG $0x6f0f4466; BYTE $0xf6 // movdqa xmm14, xmm6 LONG $0xda0f4566; BYTE $0xf4 // pminub xmm14, xmm12 LONG $0x740f4466; BYTE $0xf6 // pcmpeqb xmm14, xmm6 - LONG $0x244c8b48; BYTE $0x60 // mov rcx, qword [rsp + 96] - LONG $0x0e54b60f; BYTE $0x0d // movzx edx, byte [rsi + rcx + 13] + QUAD $0x000000a024948b48 // mov rdx, qword [rsp + 160] + LONG $0x1654b60f; BYTE $0x0d // movzx edx, byte [rsi + rdx + 13] LONG $0xf26e0f66 // movd xmm6, edx - LONG $0x24648b4c; BYTE $0x38 // mov r12, qword [rsp + 56] - QUAD $0x03266c203a0f4266; BYTE $0x01 // pinsrb xmm5, byte [rsi + r12 + 3], 1 - LONG $0x244c8b48; BYTE $0x58 // mov rcx, qword [rsp + 88] - QUAD $0x02030e6c203a0f66 // pinsrb xmm5, byte [rsi + rcx + 3], 2 - LONG $0x24548b48; BYTE $0x10 // mov rdx, qword [rsp + 16] - QUAD $0x0303166c203a0f66 // pinsrb xmm5, byte [rsi + rdx + 3], 3 - QUAD $0x030e6c203a0f4266; BYTE $0x04 // pinsrb xmm5, byte [rsi + r9 + 3], 4 - LONG $0x24548b4c; BYTE $0x40 // mov r10, qword [rsp + 64] - QUAD $0x03166c203a0f4266; BYTE $0x05 // pinsrb xmm5, byte [rsi + r10 + 3], 5 - LONG $0x24548b48; BYTE $0x08 // mov rdx, qword [rsp + 8] + LONG $0x247c8b48; BYTE $0x60 // mov rdi, qword [rsp + 96] + QUAD $0x01033e6c203a0f66 // pinsrb xmm5, byte [rsi + rdi + 3], 1 + LONG $0x245c8b4c; BYTE $0x20 // mov r11, qword [rsp + 32] + QUAD $0x031e6c203a0f4266; BYTE $0x02 // pinsrb xmm5, byte [rsi + r11 + 3], 2 + QUAD $0x030e6c203a0f4266; BYTE $0x03 // pinsrb xmm5, byte [rsi + r9 + 3], 3 + LONG $0x245c8b48; BYTE $0x58 // mov rbx, qword [rsp + 88] + QUAD $0x04031e6c203a0f66 // pinsrb xmm5, byte [rsi + rbx + 3], 4 + LONG $0x24548b48; BYTE $0x50 // mov rdx, qword [rsp + 80] + QUAD $0x0503166c203a0f66 // pinsrb xmm5, byte [rsi + rdx + 3], 5 + LONG $0x24548b48; BYTE $0x68 // mov rdx, qword [rsp + 104] QUAD $0x0603166c203a0f66 // pinsrb xmm5, byte [rsi + rdx + 3], 6 - LONG $0x245c894c; BYTE $0x50 // mov qword [rsp + 80], r11 - QUAD $0x031e6c203a0f4266; BYTE $0x07 // pinsrb xmm5, byte [rsi + r11 + 3], 7 - LONG $0x244c8b4c; BYTE $0x70 // mov r9, qword [rsp + 112] - QUAD $0x030e6c203a0f4266; BYTE $0x08 // pinsrb xmm5, byte [rsi + r9 + 3], 8 - QUAD $0x09031e6c203a0f66 // pinsrb xmm5, byte [rsi + rbx + 3], 9 - QUAD $0x000000a024b4894c // mov qword [rsp + 160], r14 - QUAD $0x03366c203a0f4266; BYTE $0x0a // pinsrb xmm5, byte [rsi + r14 + 3], 10 - QUAD $0x032e6c203a0f4266; BYTE $0x0b // pinsrb xmm5, byte [rsi + r13 + 3], 11 - QUAD $0x03066c203a0f4266; BYTE $0x0c // pinsrb xmm5, byte [rsi + r8 + 3], 12 - QUAD $0x033e6c203a0f4266; BYTE $0x0d // pinsrb xmm5, byte [rsi + r15 + 3], 13 - QUAD $0x0e03066c203a0f66 // pinsrb xmm5, byte [rsi + rax + 3], 14 - LONG $0x247c8b4c; BYTE $0x20 // mov r15, qword [rsp + 32] - QUAD $0x033e6c203a0f4266; BYTE $0x0f // pinsrb xmm5, byte [rsi + r15 + 3], 15 - QUAD $0x04264c203a0f4666; BYTE $0x01 // pinsrb xmm9, byte [rsi + r12 + 4], 1 - QUAD $0x040e4c203a0f4466; BYTE $0x02 // pinsrb xmm9, byte [rsi + rcx + 4], 2 - LONG $0x247c8b48; BYTE $0x10 // mov rdi, qword [rsp + 16] - QUAD $0x043e4c203a0f4466; BYTE $0x03 // pinsrb xmm9, byte [rsi + rdi + 4], 3 - LONG $0x247c8b48; BYTE $0x30 // mov rdi, qword [rsp + 48] - QUAD $0x043e4c203a0f4466; BYTE $0x04 // pinsrb xmm9, byte [rsi + rdi + 4], 4 - QUAD $0x04164c203a0f4666; BYTE $0x05 // pinsrb xmm9, byte [rsi + r10 + 4], 5 + QUAD $0x0000009024b4894c // mov qword [rsp + 144], r14 + QUAD $0x03366c203a0f4266; BYTE $0x07 // pinsrb xmm5, byte [rsi + r14 + 3], 7 + QUAD $0x0803066c203a0f66 // pinsrb xmm5, byte [rsi + rax + 3], 8 + QUAD $0x0000008024bc8b4c // mov r15, qword [rsp + 128] + QUAD $0x033e6c203a0f4266; BYTE $0x09 // pinsrb xmm5, byte [rsi + r15 + 3], 9 + LONG $0x24648b4c; BYTE $0x30 // mov r12, qword [rsp + 48] + QUAD $0x03266c203a0f4266; BYTE $0x0a // pinsrb xmm5, byte [rsi + r12 + 3], 10 + QUAD $0x0b030e6c203a0f66 // pinsrb xmm5, byte [rsi + rcx + 3], 11 + LONG $0x24448b48; BYTE $0x38 // mov rax, qword [rsp + 56] + QUAD $0x0c03066c203a0f66 // pinsrb xmm5, byte [rsi + rax + 3], 12 + LONG $0x24548b4c; BYTE $0x10 // mov r10, qword [rsp + 16] + QUAD $0x03166c203a0f4266; BYTE $0x0d // pinsrb xmm5, byte [rsi + r10 + 3], 13 + WORD $0x894d; BYTE $0xee // mov r14, r13 + QUAD $0x032e6c203a0f4266; BYTE $0x0e // pinsrb xmm5, byte [rsi + r13 + 3], 14 + LONG $0x246c8b4c; BYTE $0x48 // mov r13, qword [rsp + 72] + QUAD $0x032e6c203a0f4266; BYTE $0x0f // pinsrb xmm5, byte [rsi + r13 + 3], 15 + QUAD $0x043e4c203a0f4466; BYTE $0x01 // pinsrb xmm9, byte [rsi + rdi + 4], 1 + QUAD $0x041e4c203a0f4666; BYTE $0x02 // pinsrb xmm9, byte [rsi + r11 + 4], 2 + QUAD $0x040e4c203a0f4666; BYTE $0x03 // pinsrb xmm9, byte [rsi + r9 + 4], 3 + QUAD $0x041e4c203a0f4466; BYTE $0x04 // pinsrb xmm9, byte [rsi + rbx + 4], 4 + LONG $0x24448b4c; BYTE $0x50 // mov r8, qword [rsp + 80] + QUAD $0x04064c203a0f4666; BYTE $0x05 // pinsrb xmm9, byte [rsi + r8 + 4], 5 QUAD $0x04164c203a0f4466; BYTE $0x06 // pinsrb xmm9, byte [rsi + rdx + 4], 6 - QUAD $0x041e4c203a0f4666; BYTE $0x07 // pinsrb xmm9, byte [rsi + r11 + 4], 7 - QUAD $0x040e4c203a0f4666; BYTE $0x08 // pinsrb xmm9, byte [rsi + r9 + 4], 8 - QUAD $0x041e4c203a0f4466; BYTE $0x09 // pinsrb xmm9, byte [rsi + rbx + 4], 9 - QUAD $0x04364c203a0f4666; BYTE $0x0a // pinsrb xmm9, byte [rsi + r14 + 4], 10 - QUAD $0x042e4c203a0f4666; BYTE $0x0b // pinsrb xmm9, byte [rsi + r13 + 4], 11 - QUAD $0x04064c203a0f4666; BYTE $0x0c // pinsrb xmm9, byte [rsi + r8 + 4], 12 - LONG $0x243c8b48 // mov rdi, qword [rsp] - QUAD $0x043e4c203a0f4466; BYTE $0x0d // pinsrb xmm9, byte [rsi + rdi + 4], 13 - QUAD $0x04064c203a0f4466; BYTE $0x0e // pinsrb xmm9, byte [rsi + rax + 4], 14 - QUAD $0x043e4c203a0f4666; BYTE $0x0f // pinsrb xmm9, byte [rsi + r15 + 4], 15 - QUAD $0x05267c203a0f4266; BYTE $0x01 // pinsrb xmm7, byte [rsi + r12 + 5], 1 - QUAD $0x02050e7c203a0f66 // pinsrb xmm7, byte [rsi + rcx + 5], 2 - LONG $0x247c8b48; BYTE $0x10 // mov rdi, qword [rsp + 16] - QUAD $0x03053e7c203a0f66 // pinsrb xmm7, byte [rsi + rdi + 5], 3 - LONG $0x247c8b48; BYTE $0x30 // mov rdi, qword [rsp + 48] - QUAD $0x04053e7c203a0f66 // pinsrb xmm7, byte [rsi + rdi + 5], 4 - QUAD $0x05167c203a0f4266; BYTE $0x05 // pinsrb xmm7, byte [rsi + r10 + 5], 5 + QUAD $0x00000090248c8b48 // mov rcx, qword [rsp + 144] + QUAD $0x040e4c203a0f4466; BYTE $0x07 // pinsrb xmm9, byte [rsi + rcx + 4], 7 + LONG $0x244c8b48; BYTE $0x70 // mov rcx, qword [rsp + 112] + QUAD $0x040e4c203a0f4466; BYTE $0x08 // pinsrb xmm9, byte [rsi + rcx + 4], 8 + QUAD $0x043e4c203a0f4666; BYTE $0x09 // pinsrb xmm9, byte [rsi + r15 + 4], 9 + QUAD $0x04264c203a0f4666; BYTE $0x0a // pinsrb xmm9, byte [rsi + r12 + 4], 10 + LONG $0x244c8b48; BYTE $0x28 // mov rcx, qword [rsp + 40] + QUAD $0x040e4c203a0f4466; BYTE $0x0b // pinsrb xmm9, byte [rsi + rcx + 4], 11 + WORD $0x8949; BYTE $0xc0 // mov r8, rax + QUAD $0x04064c203a0f4466; BYTE $0x0c // pinsrb xmm9, byte [rsi + rax + 4], 12 + QUAD $0x04164c203a0f4666; BYTE $0x0d // pinsrb xmm9, byte [rsi + r10 + 4], 13 + QUAD $0x04364c203a0f4666; BYTE $0x0e // pinsrb xmm9, byte [rsi + r14 + 4], 14 + QUAD $0x042e4c203a0f4666; BYTE $0x0f // pinsrb xmm9, byte [rsi + r13 + 4], 15 + QUAD $0x01053e7c203a0f66 // pinsrb xmm7, byte [rsi + rdi + 5], 1 + QUAD $0x051e7c203a0f4266; BYTE $0x02 // pinsrb xmm7, byte [rsi + r11 + 5], 2 + QUAD $0x050e7c203a0f4266; BYTE $0x03 // pinsrb xmm7, byte [rsi + r9 + 5], 3 + QUAD $0x04051e7c203a0f66 // pinsrb xmm7, byte [rsi + rbx + 5], 4 + LONG $0x24448b48; BYTE $0x50 // mov rax, qword [rsp + 80] + QUAD $0x0505067c203a0f66 // pinsrb xmm7, byte [rsi + rax + 5], 5 QUAD $0x0605167c203a0f66 // pinsrb xmm7, byte [rsi + rdx + 5], 6 - QUAD $0x051e7c203a0f4266; BYTE $0x07 // pinsrb xmm7, byte [rsi + r11 + 5], 7 - QUAD $0x050e7c203a0f4266; BYTE $0x08 // pinsrb xmm7, byte [rsi + r9 + 5], 8 - QUAD $0x09051e7c203a0f66 // pinsrb xmm7, byte [rsi + rbx + 5], 9 - QUAD $0x05367c203a0f4266; BYTE $0x0a // pinsrb xmm7, byte [rsi + r14 + 5], 10 - QUAD $0x052e7c203a0f4266; BYTE $0x0b // pinsrb xmm7, byte [rsi + r13 + 5], 11 + QUAD $0x0000009024848b48 // mov rax, qword [rsp + 144] + QUAD $0x0705067c203a0f66 // pinsrb xmm7, byte [rsi + rax + 5], 7 + LONG $0x244c8b48; BYTE $0x70 // mov rcx, qword [rsp + 112] + QUAD $0x08050e7c203a0f66 // pinsrb xmm7, byte [rsi + rcx + 5], 8 + QUAD $0x053e7c203a0f4266; BYTE $0x09 // pinsrb xmm7, byte [rsi + r15 + 5], 9 + QUAD $0x05267c203a0f4266; BYTE $0x0a // pinsrb xmm7, byte [rsi + r12 + 5], 10 + LONG $0x24448b48; BYTE $0x28 // mov rax, qword [rsp + 40] + QUAD $0x0b05067c203a0f66 // pinsrb xmm7, byte [rsi + rax + 5], 11 QUAD $0x05067c203a0f4266; BYTE $0x0c // pinsrb xmm7, byte [rsi + r8 + 5], 12 - LONG $0x243c8b48 // mov rdi, qword [rsp] - QUAD $0x0d053e7c203a0f66 // pinsrb xmm7, byte [rsi + rdi + 5], 13 - QUAD $0x0e05067c203a0f66 // pinsrb xmm7, byte [rsi + rax + 5], 14 - QUAD $0x053e7c203a0f4266; BYTE $0x0f // pinsrb xmm7, byte [rsi + r15 + 5], 15 - QUAD $0x062644203a0f4266; BYTE $0x01 // pinsrb xmm0, byte [rsi + r12 + 6], 1 - QUAD $0x02060e44203a0f66 // pinsrb xmm0, byte [rsi + rcx + 6], 2 - WORD $0x8949; BYTE $0xcf // mov r15, rcx - LONG $0x24648b4c; BYTE $0x10 // mov r12, qword [rsp + 16] - QUAD $0x062644203a0f4266; BYTE $0x03 // pinsrb xmm0, byte [rsi + r12 + 6], 3 - LONG $0x244c8b48; BYTE $0x30 // mov rcx, qword [rsp + 48] - QUAD $0x04060e44203a0f66 // pinsrb xmm0, byte [rsi + rcx + 6], 4 - QUAD $0x061644203a0f4266; BYTE $0x05 // pinsrb xmm0, byte [rsi + r10 + 6], 5 + QUAD $0x05167c203a0f4266; BYTE $0x0d // pinsrb xmm7, byte [rsi + r10 + 5], 13 + QUAD $0x05367c203a0f4266; BYTE $0x0e // pinsrb xmm7, byte [rsi + r14 + 5], 14 + QUAD $0x052e7c203a0f4266; BYTE $0x0f // pinsrb xmm7, byte [rsi + r13 + 5], 15 + QUAD $0x01063e44203a0f66 // pinsrb xmm0, byte [rsi + rdi + 6], 1 + QUAD $0x061e44203a0f4266; BYTE $0x02 // pinsrb xmm0, byte [rsi + r11 + 6], 2 + QUAD $0x060e44203a0f4266; BYTE $0x03 // pinsrb xmm0, byte [rsi + r9 + 6], 3 + QUAD $0x04061e44203a0f66 // pinsrb xmm0, byte [rsi + rbx + 6], 4 + LONG $0x247c8b48; BYTE $0x50 // mov rdi, qword [rsp + 80] + QUAD $0x05063e44203a0f66 // pinsrb xmm0, byte [rsi + rdi + 6], 5 QUAD $0x06061644203a0f66 // pinsrb xmm0, byte [rsi + rdx + 6], 6 - QUAD $0x061e44203a0f4266; BYTE $0x07 // pinsrb xmm0, byte [rsi + r11 + 6], 7 - QUAD $0x060e44203a0f4266; BYTE $0x08 // pinsrb xmm0, byte [rsi + r9 + 6], 8 - WORD $0x894d; BYTE $0xcb // mov r11, r9 - QUAD $0x09061e44203a0f66 // pinsrb xmm0, byte [rsi + rbx + 6], 9 - QUAD $0x063644203a0f4266; BYTE $0x0a // pinsrb xmm0, byte [rsi + r14 + 6], 10 - QUAD $0x062e44203a0f4266; BYTE $0x0b // pinsrb xmm0, byte [rsi + r13 + 6], 11 - WORD $0x894d; BYTE $0xee // mov r14, r13 + QUAD $0x00000090248c8b4c // mov r9, qword [rsp + 144] + QUAD $0x060e44203a0f4266; BYTE $0x07 // pinsrb xmm0, byte [rsi + r9 + 6], 7 + QUAD $0x08060e44203a0f66 // pinsrb xmm0, byte [rsi + rcx + 6], 8 + QUAD $0x063e44203a0f4266; BYTE $0x09 // pinsrb xmm0, byte [rsi + r15 + 6], 9 + QUAD $0x062644203a0f4266; BYTE $0x0a // pinsrb xmm0, byte [rsi + r12 + 6], 10 + QUAD $0x0b060644203a0f66 // pinsrb xmm0, byte [rsi + rax + 6], 11 QUAD $0x060644203a0f4266; BYTE $0x0c // pinsrb xmm0, byte [rsi + r8 + 6], 12 - WORD $0x894d; BYTE $0xc5 // mov r13, r8 - LONG $0x24048b4c // mov r8, qword [rsp] - QUAD $0x060644203a0f4266; BYTE $0x0d // pinsrb xmm0, byte [rsi + r8 + 6], 13 + QUAD $0x061644203a0f4266; BYTE $0x0d // pinsrb xmm0, byte [rsi + r10 + 6], 13 LONG $0xdf0f4466; BYTE $0xc4 // pandn xmm8, xmm4 - QUAD $0x0e060644203a0f66 // pinsrb xmm0, byte [rsi + rax + 6], 14 + QUAD $0x063644203a0f4266; BYTE $0x0e // pinsrb xmm0, byte [rsi + r14 + 6], 14 + WORD $0x894d; BYTE $0xf4 // mov r12, r14 QUAD $0x000000b0a56f0f66 // movdqa xmm4, oword 176[rbp] /* [rip + .LCPI7_11] */ LONG $0xdf0f4466; BYTE $0xf4 // pandn xmm14, xmm4 LONG $0xeb0f4566; BYTE $0xf0 // por xmm14, xmm8 LONG $0x6f0f4466; BYTE $0xfd // movdqa xmm15, xmm5 LONG $0xda0f4566; BYTE $0xfc // pminub xmm15, xmm12 LONG $0x740f4466; BYTE $0xfd // pcmpeqb xmm15, xmm5 - LONG $0x24448b48; BYTE $0x60 // mov rax, qword [rsp + 96] - LONG $0x0654b60f; BYTE $0x0e // movzx edx, byte [rsi + rax + 14] + QUAD $0x000000a0249c8b48 // mov rbx, qword [rsp + 160] + LONG $0x1e54b60f; BYTE $0x0e // movzx edx, byte [rsi + rbx + 14] LONG $0xea6e0f66 // movd xmm5, edx QUAD $0x000000c0a56f0f66 // movdqa xmm4, oword 192[rbp] /* [rip + .LCPI7_12] */ LONG $0xdf0f4466; BYTE $0xfc // pandn xmm15, xmm4 LONG $0xeb0f4566; BYTE $0xfe // por xmm15, xmm14 - LONG $0x0654b60f; BYTE $0x0f // movzx edx, byte [rsi + rax + 15] + LONG $0x1e54b60f; BYTE $0x0f // movzx edx, byte [rsi + rbx + 15] LONG $0x6e0f4466; BYTE $0xc2 // movd xmm8, edx LONG $0xdb760f66 // pcmpeqd xmm3, xmm3 LONG $0xf80f4466; BYTE $0xeb // psubb xmm13, xmm3 @@ -36833,10 +38222,9 @@ LBB7_67: LONG $0x6f0f4466; BYTE $0xcf // movdqa xmm9, xmm7 LONG $0xda0f4566; BYTE $0xcc // pminub xmm9, xmm12 LONG $0x740f4466; BYTE $0xcf // pcmpeqb xmm9, xmm7 - LONG $0x0654b60f; BYTE $0x11 // movzx edx, byte [rsi + rax + 17] + LONG $0x1e54b60f; BYTE $0x11 // movzx edx, byte [rsi + rbx + 17] LONG $0xfa6e0f66 // movd xmm7, edx - LONG $0x247c8b48; BYTE $0x20 // mov rdi, qword [rsp + 32] - QUAD $0x0f063e44203a0f66 // pinsrb xmm0, byte [rsi + rdi + 6], 15 + QUAD $0x062e44203a0f4266; BYTE $0x0f // pinsrb xmm0, byte [rsi + r13 + 6], 15 QUAD $0x000000d08d6f0f66 // movdqa xmm1, oword 208[rbp] /* [rip + .LCPI7_13] */ LONG $0xe1df0f66 // pandn xmm4, xmm1 QUAD $0x000000e08d6f0f66 // movdqa xmm1, oword 224[rbp] /* [rip + .LCPI7_14] */ @@ -36845,39 +38233,42 @@ LBB7_67: LONG $0xe06f0f66 // movdqa xmm4, xmm0 LONG $0xda0f4166; BYTE $0xe4 // pminub xmm4, xmm12 LONG $0xe0740f66 // pcmpeqb xmm4, xmm0 - LONG $0x0654b60f; BYTE $0x12 // movzx edx, byte [rsi + rax + 18] + LONG $0x1e54b60f; BYTE $0x12 // movzx edx, byte [rsi + rbx + 18] LONG $0xca6e0f66 // movd xmm1, edx - QUAD $0x0000b024846f0f66; BYTE $0x00 // movdqa xmm0, oword [rsp + 176] - LONG $0x244c8b48; BYTE $0x38 // mov rcx, qword [rsp + 56] - QUAD $0x01070e44203a0f66 // pinsrb xmm0, byte [rsi + rcx + 7], 1 - QUAD $0x073e44203a0f4266; BYTE $0x02 // pinsrb xmm0, byte [rsi + r15 + 7], 2 - WORD $0x894c; BYTE $0xe3 // mov rbx, r12 - QUAD $0x072644203a0f4266; BYTE $0x03 // pinsrb xmm0, byte [rsi + r12 + 7], 3 - LONG $0x244c8b4c; BYTE $0x30 // mov r9, qword [rsp + 48] - QUAD $0x070e44203a0f4266; BYTE $0x04 // pinsrb xmm0, byte [rsi + r9 + 7], 4 - QUAD $0x071644203a0f4266; BYTE $0x05 // pinsrb xmm0, byte [rsi + r10 + 7], 5 - LONG $0x247c8b4c; BYTE $0x08 // mov r15, qword [rsp + 8] + QUAD $0x0000c024846f0f66; BYTE $0x00 // movdqa xmm0, oword [rsp + 192] + LONG $0x24548b4c; BYTE $0x60 // mov r10, qword [rsp + 96] + QUAD $0x071644203a0f4266; BYTE $0x01 // pinsrb xmm0, byte [rsi + r10 + 7], 1 + LONG $0x245c8b4c; BYTE $0x20 // mov r11, qword [rsp + 32] + QUAD $0x071e44203a0f4266; BYTE $0x02 // pinsrb xmm0, byte [rsi + r11 + 7], 2 + LONG $0x24748b4c; BYTE $0x40 // mov r14, qword [rsp + 64] + QUAD $0x073644203a0f4266; BYTE $0x03 // pinsrb xmm0, byte [rsi + r14 + 7], 3 + LONG $0x244c8b48; BYTE $0x58 // mov rcx, qword [rsp + 88] + QUAD $0x04070e44203a0f66 // pinsrb xmm0, byte [rsi + rcx + 7], 4 + QUAD $0x05073e44203a0f66 // pinsrb xmm0, byte [rsi + rdi + 7], 5 + LONG $0x247c8b4c; BYTE $0x68 // mov r15, qword [rsp + 104] QUAD $0x073e44203a0f4266; BYTE $0x06 // pinsrb xmm0, byte [rsi + r15 + 7], 6 - LONG $0x24548b48; BYTE $0x50 // mov rdx, qword [rsp + 80] - QUAD $0x07071644203a0f66 // pinsrb xmm0, byte [rsi + rdx + 7], 7 - QUAD $0x071e44203a0f4266; BYTE $0x08 // pinsrb xmm0, byte [rsi + r11 + 7], 8 - LONG $0x24648b4c; BYTE $0x78 // mov r12, qword [rsp + 120] - QUAD $0x072644203a0f4266; BYTE $0x09 // pinsrb xmm0, byte [rsi + r12 + 7], 9 - QUAD $0x000000a0249c8b4c // mov r11, qword [rsp + 160] - QUAD $0x071e44203a0f4266; BYTE $0x0a // pinsrb xmm0, byte [rsi + r11 + 7], 10 - QUAD $0x073644203a0f4266; BYTE $0x0b // pinsrb xmm0, byte [rsi + r14 + 7], 11 - QUAD $0x072e44203a0f4266; BYTE $0x0c // pinsrb xmm0, byte [rsi + r13 + 7], 12 - QUAD $0x070644203a0f4266; BYTE $0x0d // pinsrb xmm0, byte [rsi + r8 + 7], 13 - LONG $0x24548b48; BYTE $0x18 // mov rdx, qword [rsp + 24] - QUAD $0x0e071644203a0f66 // pinsrb xmm0, byte [rsi + rdx + 7], 14 - QUAD $0x0f073e44203a0f66 // pinsrb xmm0, byte [rsi + rdi + 7], 15 + QUAD $0x070e44203a0f4266; BYTE $0x07 // pinsrb xmm0, byte [rsi + r9 + 7], 7 + LONG $0x244c8b48; BYTE $0x70 // mov rcx, qword [rsp + 112] + QUAD $0x08070e44203a0f66 // pinsrb xmm0, byte [rsi + rcx + 7], 8 + QUAD $0x00000080248c8b48 // mov rcx, qword [rsp + 128] + QUAD $0x09070e44203a0f66 // pinsrb xmm0, byte [rsi + rcx + 7], 9 + LONG $0x244c8b48; BYTE $0x30 // mov rcx, qword [rsp + 48] + QUAD $0x0a070e44203a0f66 // pinsrb xmm0, byte [rsi + rcx + 7], 10 + LONG $0x24448b4c; BYTE $0x28 // mov r8, qword [rsp + 40] + QUAD $0x070644203a0f4266; BYTE $0x0b // pinsrb xmm0, byte [rsi + r8 + 7], 11 + LONG $0x244c8b48; BYTE $0x38 // mov rcx, qword [rsp + 56] + QUAD $0x0c070e44203a0f66 // pinsrb xmm0, byte [rsi + rcx + 7], 12 + LONG $0x24548b48; BYTE $0x10 // mov rdx, qword [rsp + 16] + QUAD $0x0d071644203a0f66 // pinsrb xmm0, byte [rsi + rdx + 7], 13 + QUAD $0x072644203a0f4266; BYTE $0x0e // pinsrb xmm0, byte [rsi + r12 + 7], 14 + QUAD $0x072e44203a0f4266; BYTE $0x0f // pinsrb xmm0, byte [rsi + r13 + 7], 15 QUAD $0x000000f09d6f0f66 // movdqa xmm3, oword 240[rbp] /* [rip + .LCPI7_15] */ LONG $0xe3df0f66 // pandn xmm4, xmm3 LONG $0xeb0f4166; BYTE $0xe1 // por xmm4, xmm9 LONG $0x6f0f4466; BYTE $0xc8 // movdqa xmm9, xmm0 LONG $0xda0f4566; BYTE $0xcc // pminub xmm9, xmm12 LONG $0x740f4466; BYTE $0xc8 // pcmpeqb xmm9, xmm0 - LONG $0x0654b60f; BYTE $0x13 // movzx edx, byte [rsi + rax + 19] + LONG $0x1e54b60f; BYTE $0x13 // movzx edx, byte [rsi + rbx + 19] LONG $0xda6e0f66 // movd xmm3, edx LONG $0xef0f4566; BYTE $0xce // pxor xmm9, xmm14 LONG $0x710f4166; WORD $0x07f1 // psllw xmm9, 7 @@ -36885,55 +38276,56 @@ LBB7_67: LONG $0xdb0f4466; BYTE $0xc8 // pand xmm9, xmm0 LONG $0xeb0f4466; BYTE $0xcc // por xmm9, xmm4 LONG $0x6f0f4166; BYTE $0xe1 // movdqa xmm4, xmm9 - LONG $0x0654b60f; BYTE $0x14 // movzx edx, byte [rsi + rax + 20] + LONG $0x1e54b60f; BYTE $0x14 // movzx edx, byte [rsi + rbx + 20] LONG $0x6e0f4466; BYTE $0xca // movd xmm9, edx - QUAD $0x0000c024846f0f66; BYTE $0x00 // movdqa xmm0, oword [rsp + 192] - QUAD $0x01090e44203a0f66 // pinsrb xmm0, byte [rsi + rcx + 9], 1 - WORD $0x8948; BYTE $0xc8 // mov rax, rcx - LONG $0x244c8b48; BYTE $0x58 // mov rcx, qword [rsp + 88] - QUAD $0x02090e44203a0f66 // pinsrb xmm0, byte [rsi + rcx + 9], 2 - QUAD $0x03091e44203a0f66 // pinsrb xmm0, byte [rsi + rbx + 9], 3 - QUAD $0x090e44203a0f4266; BYTE $0x04 // pinsrb xmm0, byte [rsi + r9 + 9], 4 - QUAD $0x091644203a0f4266; BYTE $0x05 // pinsrb xmm0, byte [rsi + r10 + 9], 5 + QUAD $0x0000d024846f0f66; BYTE $0x00 // movdqa xmm0, oword [rsp + 208] + WORD $0x894d; BYTE $0xd4 // mov r12, r10 + QUAD $0x091644203a0f4266; BYTE $0x01 // pinsrb xmm0, byte [rsi + r10 + 9], 1 + QUAD $0x091e44203a0f4266; BYTE $0x02 // pinsrb xmm0, byte [rsi + r11 + 9], 2 + WORD $0x894d; BYTE $0xf5 // mov r13, r14 + QUAD $0x093644203a0f4266; BYTE $0x03 // pinsrb xmm0, byte [rsi + r14 + 9], 3 + LONG $0x24448b48; BYTE $0x58 // mov rax, qword [rsp + 88] + QUAD $0x04090644203a0f66 // pinsrb xmm0, byte [rsi + rax + 9], 4 + QUAD $0x05093e44203a0f66 // pinsrb xmm0, byte [rsi + rdi + 9], 5 + WORD $0x894d; BYTE $0xf9 // mov r9, r15 QUAD $0x093e44203a0f4266; BYTE $0x06 // pinsrb xmm0, byte [rsi + r15 + 9], 6 - WORD $0x894d; BYTE $0xf8 // mov r8, r15 - LONG $0x247c8b48; BYTE $0x50 // mov rdi, qword [rsp + 80] - QUAD $0x07093e44203a0f66 // pinsrb xmm0, byte [rsi + rdi + 9], 7 - LONG $0x247c8b4c; BYTE $0x70 // mov r15, qword [rsp + 112] - QUAD $0x093e44203a0f4266; BYTE $0x08 // pinsrb xmm0, byte [rsi + r15 + 9], 8 - QUAD $0x092644203a0f4266; BYTE $0x09 // pinsrb xmm0, byte [rsi + r12 + 9], 9 - WORD $0x894d; BYTE $0xe2 // mov r10, r12 - QUAD $0x091e44203a0f4266; BYTE $0x0a // pinsrb xmm0, byte [rsi + r11 + 9], 10 - QUAD $0x093644203a0f4266; BYTE $0x0b // pinsrb xmm0, byte [rsi + r14 + 9], 11 - QUAD $0x092e44203a0f4266; BYTE $0x0c // pinsrb xmm0, byte [rsi + r13 + 9], 12 - LONG $0x246c894c; BYTE $0x68 // mov qword [rsp + 104], r13 - LONG $0x24248b4c // mov r12, qword [rsp] - QUAD $0x092644203a0f4266; BYTE $0x0d // pinsrb xmm0, byte [rsi + r12 + 9], 13 - LONG $0x244c8b4c; BYTE $0x18 // mov r9, qword [rsp + 24] - QUAD $0x090e44203a0f4266; BYTE $0x0e // pinsrb xmm0, byte [rsi + r9 + 9], 14 - LONG $0x24548b48; BYTE $0x20 // mov rdx, qword [rsp + 32] - QUAD $0x0f091644203a0f66 // pinsrb xmm0, byte [rsi + rdx + 9], 15 - QUAD $0x010a0654203a0f66 // pinsrb xmm2, byte [rsi + rax + 10], 1 - QUAD $0x020a0e54203a0f66 // pinsrb xmm2, byte [rsi + rcx + 10], 2 - QUAD $0x030a1e54203a0f66 // pinsrb xmm2, byte [rsi + rbx + 10], 3 - LONG $0x245c8b48; BYTE $0x30 // mov rbx, qword [rsp + 48] - QUAD $0x040a1e54203a0f66 // pinsrb xmm2, byte [rsi + rbx + 10], 4 - LONG $0x24448b48; BYTE $0x40 // mov rax, qword [rsp + 64] - QUAD $0x050a0654203a0f66 // pinsrb xmm2, byte [rsi + rax + 10], 5 - QUAD $0x0a0654203a0f4266; BYTE $0x06 // pinsrb xmm2, byte [rsi + r8 + 10], 6 - QUAD $0x070a3e54203a0f66 // pinsrb xmm2, byte [rsi + rdi + 10], 7 - QUAD $0x0a3e54203a0f4266; BYTE $0x08 // pinsrb xmm2, byte [rsi + r15 + 10], 8 - QUAD $0x0a1654203a0f4266; BYTE $0x09 // pinsrb xmm2, byte [rsi + r10 + 10], 9 - QUAD $0x0a1e54203a0f4266; BYTE $0x0a // pinsrb xmm2, byte [rsi + r11 + 10], 10 - QUAD $0x0a3654203a0f4266; BYTE $0x0b // pinsrb xmm2, byte [rsi + r14 + 10], 11 - QUAD $0x0a2e54203a0f4266; BYTE $0x0c // pinsrb xmm2, byte [rsi + r13 + 10], 12 - QUAD $0x0a2654203a0f4266; BYTE $0x0d // pinsrb xmm2, byte [rsi + r12 + 10], 13 - QUAD $0x0a0e54203a0f4266; BYTE $0x0e // pinsrb xmm2, byte [rsi + r9 + 10], 14 - WORD $0x894d; BYTE $0xcb // mov r11, r9 - QUAD $0x0f0a1654203a0f66 // pinsrb xmm2, byte [rsi + rdx + 10], 15 - WORD $0x8949; BYTE $0xd4 // mov r12, rdx + QUAD $0x0000009024948b48 // mov rdx, qword [rsp + 144] + QUAD $0x07091644203a0f66 // pinsrb xmm0, byte [rsi + rdx + 9], 7 + LONG $0x24748b4c; BYTE $0x70 // mov r14, qword [rsp + 112] + QUAD $0x093644203a0f4266; BYTE $0x08 // pinsrb xmm0, byte [rsi + r14 + 9], 8 + QUAD $0x00000080249c8b4c // mov r11, qword [rsp + 128] + QUAD $0x091e44203a0f4266; BYTE $0x09 // pinsrb xmm0, byte [rsi + r11 + 9], 9 + LONG $0x247c8b4c; BYTE $0x30 // mov r15, qword [rsp + 48] + QUAD $0x093e44203a0f4266; BYTE $0x0a // pinsrb xmm0, byte [rsi + r15 + 9], 10 + QUAD $0x090644203a0f4266; BYTE $0x0b // pinsrb xmm0, byte [rsi + r8 + 9], 11 + QUAD $0x0c090e44203a0f66 // pinsrb xmm0, byte [rsi + rcx + 9], 12 + LONG $0x245c8b48; BYTE $0x10 // mov rbx, qword [rsp + 16] + QUAD $0x0d091e44203a0f66 // pinsrb xmm0, byte [rsi + rbx + 9], 13 + LONG $0x24548b4c; BYTE $0x18 // mov r10, qword [rsp + 24] + QUAD $0x091644203a0f4266; BYTE $0x0e // pinsrb xmm0, byte [rsi + r10 + 9], 14 + LONG $0x24448b48; BYTE $0x48 // mov rax, qword [rsp + 72] + QUAD $0x0f090644203a0f66 // pinsrb xmm0, byte [rsi + rax + 9], 15 + QUAD $0x0a2654203a0f4266; BYTE $0x01 // pinsrb xmm2, byte [rsi + r12 + 10], 1 + LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] + QUAD $0x020a0654203a0f66 // pinsrb xmm2, byte [rsi + rax + 10], 2 + QUAD $0x0a2e54203a0f4266; BYTE $0x03 // pinsrb xmm2, byte [rsi + r13 + 10], 3 + LONG $0x24648b4c; BYTE $0x58 // mov r12, qword [rsp + 88] + QUAD $0x0a2654203a0f4266; BYTE $0x04 // pinsrb xmm2, byte [rsi + r12 + 10], 4 + QUAD $0x050a3e54203a0f66 // pinsrb xmm2, byte [rsi + rdi + 10], 5 + QUAD $0x0a0e54203a0f4266; BYTE $0x06 // pinsrb xmm2, byte [rsi + r9 + 10], 6 + QUAD $0x070a1654203a0f66 // pinsrb xmm2, byte [rsi + rdx + 10], 7 + WORD $0x8948; BYTE $0xd7 // mov rdi, rdx + QUAD $0x0a3654203a0f4266; BYTE $0x08 // pinsrb xmm2, byte [rsi + r14 + 10], 8 + QUAD $0x0a1e54203a0f4266; BYTE $0x09 // pinsrb xmm2, byte [rsi + r11 + 10], 9 + QUAD $0x0a3e54203a0f4266; BYTE $0x0a // pinsrb xmm2, byte [rsi + r15 + 10], 10 + QUAD $0x0a0654203a0f4266; BYTE $0x0b // pinsrb xmm2, byte [rsi + r8 + 10], 11 + QUAD $0x0c0a0e54203a0f66 // pinsrb xmm2, byte [rsi + rcx + 10], 12 + QUAD $0x0d0a1e54203a0f66 // pinsrb xmm2, byte [rsi + rbx + 10], 13 + QUAD $0x0a1654203a0f4266; BYTE $0x0e // pinsrb xmm2, byte [rsi + r10 + 10], 14 + LONG $0x246c8b4c; BYTE $0x48 // mov r13, qword [rsp + 72] + QUAD $0x0a2e54203a0f4266; BYTE $0x0f // pinsrb xmm2, byte [rsi + r13 + 10], 15 LONG $0xeb0f4166; BYTE $0xe7 // por xmm4, xmm15 - QUAD $0x0000c024a47f0f66; BYTE $0x00 // movdqa oword [rsp + 192], xmm4 + QUAD $0x0000d024a47f0f66; BYTE $0x00 // movdqa oword [rsp + 208], xmm4 LONG $0xe06f0f66 // movdqa xmm4, xmm0 LONG $0xda0f4166; BYTE $0xe4 // pminub xmm4, xmm12 LONG $0xe0740f66 // pcmpeqb xmm4, xmm0 @@ -36944,35 +38336,39 @@ LBB7_67: LONG $0xc26f0f66 // movdqa xmm0, xmm2 LONG $0xda0f4166; BYTE $0xc4 // pminub xmm0, xmm12 LONG $0xc2740f66 // pcmpeqb xmm0, xmm2 - LONG $0x24448b48; BYTE $0x60 // mov rax, qword [rsp + 96] + QUAD $0x000000a024848b48 // mov rax, qword [rsp + 160] LONG $0x0654b60f; BYTE $0x15 // movzx edx, byte [rsi + rax + 21] LONG $0xe26e0f66 // movd xmm4, edx LONG $0xdf0f4566; BYTE $0xd6 // pandn xmm10, xmm14 - LONG $0x24448b4c; BYTE $0x38 // mov r8, qword [rsp + 56] - QUAD $0x0b065c203a0f4666; BYTE $0x01 // pinsrb xmm11, byte [rsi + r8 + 11], 1 - WORD $0x8949; BYTE $0xcd // mov r13, rcx - QUAD $0x0b0e5c203a0f4466; BYTE $0x02 // pinsrb xmm11, byte [rsi + rcx + 11], 2 - LONG $0x244c8b48; BYTE $0x10 // mov rcx, qword [rsp + 16] - QUAD $0x0b0e5c203a0f4466; BYTE $0x03 // pinsrb xmm11, byte [rsi + rcx + 11], 3 - QUAD $0x0b1e5c203a0f4466; BYTE $0x04 // pinsrb xmm11, byte [rsi + rbx + 11], 4 - LONG $0x247c8b48; BYTE $0x40 // mov rdi, qword [rsp + 64] - QUAD $0x0b3e5c203a0f4466; BYTE $0x05 // pinsrb xmm11, byte [rsi + rdi + 11], 5 - LONG $0x24548b48; BYTE $0x08 // mov rdx, qword [rsp + 8] - QUAD $0x0b165c203a0f4466; BYTE $0x06 // pinsrb xmm11, byte [rsi + rdx + 11], 6 - LONG $0x24548b48; BYTE $0x50 // mov rdx, qword [rsp + 80] - QUAD $0x0b165c203a0f4466; BYTE $0x07 // pinsrb xmm11, byte [rsi + rdx + 11], 7 + LONG $0x245c8b4c; BYTE $0x60 // mov r11, qword [rsp + 96] + QUAD $0x0b1e5c203a0f4666; BYTE $0x01 // pinsrb xmm11, byte [rsi + r11 + 11], 1 + LONG $0x24548b4c; BYTE $0x20 // mov r10, qword [rsp + 32] + QUAD $0x0b165c203a0f4666; BYTE $0x02 // pinsrb xmm11, byte [rsi + r10 + 11], 2 + LONG $0x24748b4c; BYTE $0x40 // mov r14, qword [rsp + 64] + QUAD $0x0b365c203a0f4666; BYTE $0x03 // pinsrb xmm11, byte [rsi + r14 + 11], 3 + WORD $0x894d; BYTE $0xe0 // mov r8, r12 + QUAD $0x0b265c203a0f4666; BYTE $0x04 // pinsrb xmm11, byte [rsi + r12 + 11], 4 + LONG $0x244c8b4c; BYTE $0x50 // mov r9, qword [rsp + 80] + QUAD $0x0b0e5c203a0f4666; BYTE $0x05 // pinsrb xmm11, byte [rsi + r9 + 11], 5 + LONG $0x244c8b48; BYTE $0x68 // mov rcx, qword [rsp + 104] + QUAD $0x0b0e5c203a0f4466; BYTE $0x06 // pinsrb xmm11, byte [rsi + rcx + 11], 6 + QUAD $0x0b3e5c203a0f4466; BYTE $0x07 // pinsrb xmm11, byte [rsi + rdi + 11], 7 + WORD $0x8949; BYTE $0xfc // mov r12, rdi + LONG $0x247c8b4c; BYTE $0x70 // mov r15, qword [rsp + 112] QUAD $0x0b3e5c203a0f4666; BYTE $0x08 // pinsrb xmm11, byte [rsi + r15 + 11], 8 - WORD $0x894d; BYTE $0xd1 // mov r9, r10 - QUAD $0x0b165c203a0f4666; BYTE $0x09 // pinsrb xmm11, byte [rsi + r10 + 11], 9 - QUAD $0x000000a024948b4c // mov r10, qword [rsp + 160] - QUAD $0x0b165c203a0f4666; BYTE $0x0a // pinsrb xmm11, byte [rsi + r10 + 11], 10 - QUAD $0x0b365c203a0f4666; BYTE $0x0b // pinsrb xmm11, byte [rsi + r14 + 11], 11 - LONG $0x24748b4c; BYTE $0x68 // mov r14, qword [rsp + 104] - QUAD $0x0b365c203a0f4666; BYTE $0x0c // pinsrb xmm11, byte [rsi + r14 + 11], 12 - LONG $0x241c8b48 // mov rbx, qword [rsp] - QUAD $0x0b1e5c203a0f4466; BYTE $0x0d // pinsrb xmm11, byte [rsi + rbx + 11], 13 - QUAD $0x0b1e5c203a0f4666; BYTE $0x0e // pinsrb xmm11, byte [rsi + r11 + 11], 14 - QUAD $0x0b265c203a0f4666; BYTE $0x0f // pinsrb xmm11, byte [rsi + r12 + 11], 15 + QUAD $0x00000080249c8b48 // mov rbx, qword [rsp + 128] + QUAD $0x0b1e5c203a0f4466; BYTE $0x09 // pinsrb xmm11, byte [rsi + rbx + 11], 9 + LONG $0x24548b48; BYTE $0x30 // mov rdx, qword [rsp + 48] + QUAD $0x0b165c203a0f4466; BYTE $0x0a // pinsrb xmm11, byte [rsi + rdx + 11], 10 + LONG $0x24548b48; BYTE $0x28 // mov rdx, qword [rsp + 40] + QUAD $0x0b165c203a0f4466; BYTE $0x0b // pinsrb xmm11, byte [rsi + rdx + 11], 11 + LONG $0x247c8b48; BYTE $0x38 // mov rdi, qword [rsp + 56] + QUAD $0x0b3e5c203a0f4466; BYTE $0x0c // pinsrb xmm11, byte [rsi + rdi + 11], 12 + LONG $0x24548b48; BYTE $0x10 // mov rdx, qword [rsp + 16] + QUAD $0x0b165c203a0f4466; BYTE $0x0d // pinsrb xmm11, byte [rsi + rdx + 11], 13 + LONG $0x24548b48; BYTE $0x18 // mov rdx, qword [rsp + 24] + QUAD $0x0b165c203a0f4466; BYTE $0x0e // pinsrb xmm11, byte [rsi + rdx + 11], 14 + QUAD $0x0b2e5c203a0f4666; BYTE $0x0f // pinsrb xmm11, byte [rsi + r13 + 11], 15 QUAD $0x000000b085df0f66 // pandn xmm0, oword 176[rbp] /* [rip + .LCPI7_11] */ LONG $0xeb0f4166; BYTE $0xc2 // por xmm0, xmm10 LONG $0x6f0f4566; BYTE $0xd3 // movdqa xmm10, xmm11 @@ -36984,49 +38380,50 @@ LBB7_67: LONG $0xeb0f4466; BYTE $0xd0 // por xmm10, xmm0 LONG $0x0654b60f; BYTE $0x17 // movzx edx, byte [rsi + rax + 23] LONG $0x6e0f4466; BYTE $0xda // movd xmm11, edx + WORD $0x894c; BYTE $0xd8 // mov rax, r11 QUAD $0x00013024846f0f66; BYTE $0x00 // movdqa xmm0, oword [rsp + 304] - QUAD $0x0c0644203a0f4266; BYTE $0x01 // pinsrb xmm0, byte [rsi + r8 + 12], 1 - WORD $0x894c; BYTE $0xe8 // mov rax, r13 - QUAD $0x0c2e44203a0f4266; BYTE $0x02 // pinsrb xmm0, byte [rsi + r13 + 12], 2 - WORD $0x8948; BYTE $0xca // mov rdx, rcx - QUAD $0x030c0e44203a0f66 // pinsrb xmm0, byte [rsi + rcx + 12], 3 - LONG $0x247c8b4c; BYTE $0x30 // mov r15, qword [rsp + 48] - QUAD $0x0c3e44203a0f4266; BYTE $0x04 // pinsrb xmm0, byte [rsi + r15 + 12], 4 - QUAD $0x050c3e44203a0f66 // pinsrb xmm0, byte [rsi + rdi + 12], 5 - LONG $0x244c8b48; BYTE $0x08 // mov rcx, qword [rsp + 8] + QUAD $0x0c1e44203a0f4266; BYTE $0x01 // pinsrb xmm0, byte [rsi + r11 + 12], 1 + QUAD $0x0c1644203a0f4266; BYTE $0x02 // pinsrb xmm0, byte [rsi + r10 + 12], 2 + WORD $0x894d; BYTE $0xd3 // mov r11, r10 + WORD $0x894c; BYTE $0xf2 // mov rdx, r14 + QUAD $0x0c3644203a0f4266; BYTE $0x03 // pinsrb xmm0, byte [rsi + r14 + 12], 3 + QUAD $0x0c0644203a0f4266; BYTE $0x04 // pinsrb xmm0, byte [rsi + r8 + 12], 4 + QUAD $0x0c0e44203a0f4266; BYTE $0x05 // pinsrb xmm0, byte [rsi + r9 + 12], 5 QUAD $0x060c0e44203a0f66 // pinsrb xmm0, byte [rsi + rcx + 12], 6 - LONG $0x247c8b48; BYTE $0x50 // mov rdi, qword [rsp + 80] - QUAD $0x070c3e44203a0f66 // pinsrb xmm0, byte [rsi + rdi + 12], 7 - LONG $0x245c8b4c; BYTE $0x70 // mov r11, qword [rsp + 112] - QUAD $0x0c1e44203a0f4266; BYTE $0x08 // pinsrb xmm0, byte [rsi + r11 + 12], 8 - QUAD $0x0c0e44203a0f4266; BYTE $0x09 // pinsrb xmm0, byte [rsi + r9 + 12], 9 - QUAD $0x0c1644203a0f4266; BYTE $0x0a // pinsrb xmm0, byte [rsi + r10 + 12], 10 - QUAD $0x000000d024ac8b4c // mov r13, qword [rsp + 208] - QUAD $0x0c2e44203a0f4266; BYTE $0x0b // pinsrb xmm0, byte [rsi + r13 + 12], 11 - QUAD $0x0c3644203a0f4266; BYTE $0x0c // pinsrb xmm0, byte [rsi + r14 + 12], 12 + QUAD $0x0c2644203a0f4266; BYTE $0x07 // pinsrb xmm0, byte [rsi + r12 + 12], 7 + QUAD $0x0c3e44203a0f4266; BYTE $0x08 // pinsrb xmm0, byte [rsi + r15 + 12], 8 + WORD $0x8949; BYTE $0xdc // mov r12, rbx + QUAD $0x090c1e44203a0f66 // pinsrb xmm0, byte [rsi + rbx + 12], 9 + LONG $0x245c8b48; BYTE $0x30 // mov rbx, qword [rsp + 48] + QUAD $0x0a0c1e44203a0f66 // pinsrb xmm0, byte [rsi + rbx + 12], 10 + LONG $0x24748b4c; BYTE $0x28 // mov r14, qword [rsp + 40] + QUAD $0x0c3644203a0f4266; BYTE $0x0b // pinsrb xmm0, byte [rsi + r14 + 12], 11 + QUAD $0x0c0c3e44203a0f66 // pinsrb xmm0, byte [rsi + rdi + 12], 12 + LONG $0x245c8b48; BYTE $0x10 // mov rbx, qword [rsp + 16] QUAD $0x0d0c1e44203a0f66 // pinsrb xmm0, byte [rsi + rbx + 12], 13 - LONG $0x24548b4c; BYTE $0x18 // mov r10, qword [rsp + 24] - QUAD $0x0c1644203a0f4266; BYTE $0x0e // pinsrb xmm0, byte [rsi + r10 + 12], 14 - QUAD $0x0c2644203a0f4266; BYTE $0x0f // pinsrb xmm0, byte [rsi + r12 + 12], 15 - QUAD $0x0d0674203a0f4266; BYTE $0x01 // pinsrb xmm6, byte [rsi + r8 + 13], 1 - QUAD $0x020d0674203a0f66 // pinsrb xmm6, byte [rsi + rax + 13], 2 + LONG $0x244c8b4c; BYTE $0x18 // mov r9, qword [rsp + 24] + QUAD $0x0c0e44203a0f4266; BYTE $0x0e // pinsrb xmm0, byte [rsi + r9 + 12], 14 + WORD $0x894d; BYTE $0xea // mov r10, r13 + QUAD $0x0c2e44203a0f4266; BYTE $0x0f // pinsrb xmm0, byte [rsi + r13 + 12], 15 + QUAD $0x010d0674203a0f66 // pinsrb xmm6, byte [rsi + rax + 13], 1 + QUAD $0x0d1e74203a0f4266; BYTE $0x02 // pinsrb xmm6, byte [rsi + r11 + 13], 2 QUAD $0x030d1674203a0f66 // pinsrb xmm6, byte [rsi + rdx + 13], 3 - WORD $0x894c; BYTE $0xf8 // mov rax, r15 - QUAD $0x0d3e74203a0f4266; BYTE $0x04 // pinsrb xmm6, byte [rsi + r15 + 13], 4 - LONG $0x247c8b4c; BYTE $0x40 // mov r15, qword [rsp + 64] - QUAD $0x0d3e74203a0f4266; BYTE $0x05 // pinsrb xmm6, byte [rsi + r15 + 13], 5 + QUAD $0x0d0674203a0f4266; BYTE $0x04 // pinsrb xmm6, byte [rsi + r8 + 13], 4 + LONG $0x24448b48; BYTE $0x50 // mov rax, qword [rsp + 80] + QUAD $0x050d0674203a0f66 // pinsrb xmm6, byte [rsi + rax + 13], 5 QUAD $0x060d0e74203a0f66 // pinsrb xmm6, byte [rsi + rcx + 13], 6 - QUAD $0x070d3e74203a0f66 // pinsrb xmm6, byte [rsi + rdi + 13], 7 - QUAD $0x0d1e74203a0f4266; BYTE $0x08 // pinsrb xmm6, byte [rsi + r11 + 13], 8 - QUAD $0x0d0e74203a0f4266; BYTE $0x09 // pinsrb xmm6, byte [rsi + r9 + 13], 9 - QUAD $0x000000a024bc8b48 // mov rdi, qword [rsp + 160] - QUAD $0x0a0d3e74203a0f66 // pinsrb xmm6, byte [rsi + rdi + 13], 10 - QUAD $0x0d2e74203a0f4266; BYTE $0x0b // pinsrb xmm6, byte [rsi + r13 + 13], 11 - QUAD $0x0d3674203a0f4266; BYTE $0x0c // pinsrb xmm6, byte [rsi + r14 + 13], 12 + QUAD $0x00000090249c8b4c // mov r11, qword [rsp + 144] + QUAD $0x0d1e74203a0f4266; BYTE $0x07 // pinsrb xmm6, byte [rsi + r11 + 13], 7 + QUAD $0x0d3e74203a0f4266; BYTE $0x08 // pinsrb xmm6, byte [rsi + r15 + 13], 8 + QUAD $0x0d2674203a0f4266; BYTE $0x09 // pinsrb xmm6, byte [rsi + r12 + 13], 9 + LONG $0x24548b48; BYTE $0x30 // mov rdx, qword [rsp + 48] + QUAD $0x0a0d1674203a0f66 // pinsrb xmm6, byte [rsi + rdx + 13], 10 + QUAD $0x0d3674203a0f4266; BYTE $0x0b // pinsrb xmm6, byte [rsi + r14 + 13], 11 + QUAD $0x0c0d3e74203a0f66 // pinsrb xmm6, byte [rsi + rdi + 13], 12 QUAD $0x0d0d1e74203a0f66 // pinsrb xmm6, byte [rsi + rbx + 13], 13 - WORD $0x894d; BYTE $0xd0 // mov r8, r10 - QUAD $0x0d1674203a0f4266; BYTE $0x0e // pinsrb xmm6, byte [rsi + r10 + 13], 14 - QUAD $0x0d2674203a0f4266; BYTE $0x0f // pinsrb xmm6, byte [rsi + r12 + 13], 15 + QUAD $0x0d0e74203a0f4266; BYTE $0x0e // pinsrb xmm6, byte [rsi + r9 + 13], 14 + QUAD $0x0d2e74203a0f4266; BYTE $0x0f // pinsrb xmm6, byte [rsi + r13 + 13], 15 + WORD $0x894d; BYTE $0xe9 // mov r9, r13 QUAD $0x000100adf80f4466; BYTE $0x00 // psubb xmm13, oword 256[rbp] /* [rip + .LCPI7_16] */ LONG $0xeb0f4566; BYTE $0xd5 // por xmm10, xmm13 LONG $0xd06f0f66 // movdqa xmm2, xmm0 @@ -37035,103 +38432,100 @@ LBB7_67: LONG $0xd0740f66 // pcmpeqb xmm2, xmm0 LONG $0xc66f0f66 // movdqa xmm0, xmm6 LONG $0xda0f4166; BYTE $0xc4 // pminub xmm0, xmm12 - LONG $0xc6740f66 // pcmpeqb xmm0, xmm6 - LONG $0x244c8b48; BYTE $0x60 // mov rcx, qword [rsp + 96] - LONG $0x0e54b60f; BYTE $0x19 // movzx edx, byte [rsi + rcx + 25] - LONG $0x6e0f4466; BYTE $0xe2 // movd xmm12, edx - LONG $0x245c8b48; BYTE $0x38 // mov rbx, qword [rsp + 56] - QUAD $0x010e1e6c203a0f66 // pinsrb xmm5, byte [rsi + rbx + 14], 1 - LONG $0x244c8b48; BYTE $0x58 // mov rcx, qword [rsp + 88] - QUAD $0x020e0e6c203a0f66 // pinsrb xmm5, byte [rsi + rcx + 14], 2 - LONG $0x24648b4c; BYTE $0x10 // mov r12, qword [rsp + 16] - QUAD $0x0e266c203a0f4266; BYTE $0x03 // pinsrb xmm5, byte [rsi + r12 + 14], 3 - WORD $0x8948; BYTE $0xc2 // mov rdx, rax - QUAD $0x040e066c203a0f66 // pinsrb xmm5, byte [rsi + rax + 14], 4 - WORD $0x894d; BYTE $0xf9 // mov r9, r15 - QUAD $0x0e3e6c203a0f4266; BYTE $0x05 // pinsrb xmm5, byte [rsi + r15 + 14], 5 - LONG $0x244c8b48; BYTE $0x08 // mov rcx, qword [rsp + 8] + LONG $0xc6740f66 // pcmpeqb xmm0, xmm6 + QUAD $0x000000a024948b48 // mov rdx, qword [rsp + 160] + LONG $0x1654b60f; BYTE $0x19 // movzx edx, byte [rsi + rdx + 25] + LONG $0x6e0f4466; BYTE $0xe2 // movd xmm12, edx + LONG $0x245c8b48; BYTE $0x60 // mov rbx, qword [rsp + 96] + QUAD $0x010e1e6c203a0f66 // pinsrb xmm5, byte [rsi + rbx + 14], 1 + LONG $0x246c8b4c; BYTE $0x20 // mov r13, qword [rsp + 32] + QUAD $0x0e2e6c203a0f4266; BYTE $0x02 // pinsrb xmm5, byte [rsi + r13 + 14], 2 + LONG $0x24548b48; BYTE $0x40 // mov rdx, qword [rsp + 64] + QUAD $0x030e166c203a0f66 // pinsrb xmm5, byte [rsi + rdx + 14], 3 + QUAD $0x0e066c203a0f4266; BYTE $0x04 // pinsrb xmm5, byte [rsi + r8 + 14], 4 + WORD $0x8949; BYTE $0xc0 // mov r8, rax + QUAD $0x050e066c203a0f66 // pinsrb xmm5, byte [rsi + rax + 14], 5 QUAD $0x060e0e6c203a0f66 // pinsrb xmm5, byte [rsi + rcx + 14], 6 - LONG $0x24548b4c; BYTE $0x50 // mov r10, qword [rsp + 80] - QUAD $0x0e166c203a0f4266; BYTE $0x07 // pinsrb xmm5, byte [rsi + r10 + 14], 7 - WORD $0x894d; BYTE $0xdf // mov r15, r11 - QUAD $0x0e1e6c203a0f4266; BYTE $0x08 // pinsrb xmm5, byte [rsi + r11 + 14], 8 - LONG $0x245c8b4c; BYTE $0x78 // mov r11, qword [rsp + 120] - QUAD $0x0e1e6c203a0f4266; BYTE $0x09 // pinsrb xmm5, byte [rsi + r11 + 14], 9 - QUAD $0x0a0e3e6c203a0f66 // pinsrb xmm5, byte [rsi + rdi + 14], 10 - WORD $0x894d; BYTE $0xee // mov r14, r13 - QUAD $0x0e2e6c203a0f4266; BYTE $0x0b // pinsrb xmm5, byte [rsi + r13 + 14], 11 - LONG $0x246c8b4c; BYTE $0x68 // mov r13, qword [rsp + 104] - QUAD $0x0e2e6c203a0f4266; BYTE $0x0c // pinsrb xmm5, byte [rsi + r13 + 14], 12 - LONG $0x24048b48 // mov rax, qword [rsp] + WORD $0x894d; BYTE $0xda // mov r10, r11 + QUAD $0x0e1e6c203a0f4266; BYTE $0x07 // pinsrb xmm5, byte [rsi + r11 + 14], 7 + WORD $0x894d; BYTE $0xfe // mov r14, r15 + QUAD $0x0e3e6c203a0f4266; BYTE $0x08 // pinsrb xmm5, byte [rsi + r15 + 14], 8 + WORD $0x894c; BYTE $0xe7 // mov rdi, r12 + QUAD $0x0e266c203a0f4266; BYTE $0x09 // pinsrb xmm5, byte [rsi + r12 + 14], 9 + LONG $0x245c8b4c; BYTE $0x30 // mov r11, qword [rsp + 48] + QUAD $0x0e1e6c203a0f4266; BYTE $0x0a // pinsrb xmm5, byte [rsi + r11 + 14], 10 + LONG $0x247c8b4c; BYTE $0x28 // mov r15, qword [rsp + 40] + QUAD $0x0e3e6c203a0f4266; BYTE $0x0b // pinsrb xmm5, byte [rsi + r15 + 14], 11 + LONG $0x24648b4c; BYTE $0x38 // mov r12, qword [rsp + 56] + QUAD $0x0e266c203a0f4266; BYTE $0x0c // pinsrb xmm5, byte [rsi + r12 + 14], 12 + LONG $0x24448b48; BYTE $0x10 // mov rax, qword [rsp + 16] QUAD $0x0d0e066c203a0f66 // pinsrb xmm5, byte [rsi + rax + 14], 13 - QUAD $0x0e066c203a0f4266; BYTE $0x0e // pinsrb xmm5, byte [rsi + r8 + 14], 14 - LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] - QUAD $0x0f0e066c203a0f66 // pinsrb xmm5, byte [rsi + rax + 14], 15 + LONG $0x24448b48; BYTE $0x18 // mov rax, qword [rsp + 24] + QUAD $0x0e0e066c203a0f66 // pinsrb xmm5, byte [rsi + rax + 14], 14 + QUAD $0x0e0e6c203a0f4266; BYTE $0x0f // pinsrb xmm5, byte [rsi + r9 + 14], 15 QUAD $0x0f1e44203a0f4466; BYTE $0x01 // pinsrb xmm8, byte [rsi + rbx + 15], 1 - LONG $0x24448b4c; BYTE $0x58 // mov r8, qword [rsp + 88] - QUAD $0x0f0644203a0f4666; BYTE $0x02 // pinsrb xmm8, byte [rsi + r8 + 15], 2 - QUAD $0x0f2644203a0f4666; BYTE $0x03 // pinsrb xmm8, byte [rsi + r12 + 15], 3 - QUAD $0x0f1644203a0f4466; BYTE $0x04 // pinsrb xmm8, byte [rsi + rdx + 15], 4 - QUAD $0x0f0e44203a0f4666; BYTE $0x05 // pinsrb xmm8, byte [rsi + r9 + 15], 5 + QUAD $0x0f2e44203a0f4666; BYTE $0x02 // pinsrb xmm8, byte [rsi + r13 + 15], 2 + QUAD $0x0f1644203a0f4466; BYTE $0x03 // pinsrb xmm8, byte [rsi + rdx + 15], 3 + LONG $0x246c8b4c; BYTE $0x58 // mov r13, qword [rsp + 88] + QUAD $0x0f2e44203a0f4666; BYTE $0x04 // pinsrb xmm8, byte [rsi + r13 + 15], 4 + QUAD $0x0f0644203a0f4666; BYTE $0x05 // pinsrb xmm8, byte [rsi + r8 + 15], 5 QUAD $0x0f0e44203a0f4466; BYTE $0x06 // pinsrb xmm8, byte [rsi + rcx + 15], 6 QUAD $0x0f1644203a0f4666; BYTE $0x07 // pinsrb xmm8, byte [rsi + r10 + 15], 7 - QUAD $0x0f3e44203a0f4666; BYTE $0x08 // pinsrb xmm8, byte [rsi + r15 + 15], 8 - QUAD $0x0f1e44203a0f4666; BYTE $0x09 // pinsrb xmm8, byte [rsi + r11 + 15], 9 - QUAD $0x0f3e44203a0f4466; BYTE $0x0a // pinsrb xmm8, byte [rsi + rdi + 15], 10 - QUAD $0x0f3644203a0f4666; BYTE $0x0b // pinsrb xmm8, byte [rsi + r14 + 15], 11 - QUAD $0x0f2e44203a0f4666; BYTE $0x0c // pinsrb xmm8, byte [rsi + r13 + 15], 12 - LONG $0x24048b48 // mov rax, qword [rsp] + QUAD $0x0f3644203a0f4666; BYTE $0x08 // pinsrb xmm8, byte [rsi + r14 + 15], 8 + QUAD $0x0f3e44203a0f4466; BYTE $0x09 // pinsrb xmm8, byte [rsi + rdi + 15], 9 + QUAD $0x0f1e44203a0f4666; BYTE $0x0a // pinsrb xmm8, byte [rsi + r11 + 15], 10 + QUAD $0x0f3e44203a0f4666; BYTE $0x0b // pinsrb xmm8, byte [rsi + r15 + 15], 11 + QUAD $0x0f2644203a0f4666; BYTE $0x0c // pinsrb xmm8, byte [rsi + r12 + 15], 12 + LONG $0x24448b48; BYTE $0x10 // mov rax, qword [rsp + 16] QUAD $0x0f0644203a0f4466; BYTE $0x0d // pinsrb xmm8, byte [rsi + rax + 15], 13 - LONG $0x24448b4c; BYTE $0x18 // mov r8, qword [rsp + 24] - QUAD $0x0f0644203a0f4666; BYTE $0x0e // pinsrb xmm8, byte [rsi + r8 + 15], 14 - LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] - QUAD $0x0f0644203a0f4466; BYTE $0x0f // pinsrb xmm8, byte [rsi + rax + 15], 15 + LONG $0x24448b48; BYTE $0x18 // mov rax, qword [rsp + 24] + QUAD $0x0f0644203a0f4466; BYTE $0x0e // pinsrb xmm8, byte [rsi + rax + 15], 14 + QUAD $0x0f0e44203a0f4666; BYTE $0x0f // pinsrb xmm8, byte [rsi + r9 + 15], 15 QUAD $0x01111e7c203a0f66 // pinsrb xmm7, byte [rsi + rbx + 17], 1 - LONG $0x24448b48; BYTE $0x58 // mov rax, qword [rsp + 88] + LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] QUAD $0x0211067c203a0f66 // pinsrb xmm7, byte [rsi + rax + 17], 2 - QUAD $0x11267c203a0f4266; BYTE $0x03 // pinsrb xmm7, byte [rsi + r12 + 17], 3 - QUAD $0x0411167c203a0f66 // pinsrb xmm7, byte [rsi + rdx + 17], 4 - QUAD $0x110e7c203a0f4266; BYTE $0x05 // pinsrb xmm7, byte [rsi + r9 + 17], 5 + QUAD $0x0311167c203a0f66 // pinsrb xmm7, byte [rsi + rdx + 17], 3 + QUAD $0x112e7c203a0f4266; BYTE $0x04 // pinsrb xmm7, byte [rsi + r13 + 17], 4 + QUAD $0x11067c203a0f4266; BYTE $0x05 // pinsrb xmm7, byte [rsi + r8 + 17], 5 QUAD $0x06110e7c203a0f66 // pinsrb xmm7, byte [rsi + rcx + 17], 6 QUAD $0x11167c203a0f4266; BYTE $0x07 // pinsrb xmm7, byte [rsi + r10 + 17], 7 - QUAD $0x113e7c203a0f4266; BYTE $0x08 // pinsrb xmm7, byte [rsi + r15 + 17], 8 - QUAD $0x111e7c203a0f4266; BYTE $0x09 // pinsrb xmm7, byte [rsi + r11 + 17], 9 - QUAD $0x0a113e7c203a0f66 // pinsrb xmm7, byte [rsi + rdi + 17], 10 - QUAD $0x11367c203a0f4266; BYTE $0x0b // pinsrb xmm7, byte [rsi + r14 + 17], 11 - QUAD $0x112e7c203a0f4266; BYTE $0x0c // pinsrb xmm7, byte [rsi + r13 + 17], 12 - LONG $0x24048b48 // mov rax, qword [rsp] - QUAD $0x0d11067c203a0f66 // pinsrb xmm7, byte [rsi + rax + 17], 13 - QUAD $0x11067c203a0f4266; BYTE $0x0e // pinsrb xmm7, byte [rsi + r8 + 17], 14 - LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] - QUAD $0x0f11067c203a0f66 // pinsrb xmm7, byte [rsi + rax + 17], 15 + QUAD $0x11367c203a0f4266; BYTE $0x08 // pinsrb xmm7, byte [rsi + r14 + 17], 8 + QUAD $0x09113e7c203a0f66 // pinsrb xmm7, byte [rsi + rdi + 17], 9 + QUAD $0x111e7c203a0f4266; BYTE $0x0a // pinsrb xmm7, byte [rsi + r11 + 17], 10 + QUAD $0x113e7c203a0f4266; BYTE $0x0b // pinsrb xmm7, byte [rsi + r15 + 17], 11 + QUAD $0x11267c203a0f4266; BYTE $0x0c // pinsrb xmm7, byte [rsi + r12 + 17], 12 + LONG $0x246c8b4c; BYTE $0x10 // mov r13, qword [rsp + 16] + QUAD $0x112e7c203a0f4266; BYTE $0x0d // pinsrb xmm7, byte [rsi + r13 + 17], 13 + LONG $0x24448b48; BYTE $0x18 // mov rax, qword [rsp + 24] + QUAD $0x0e11067c203a0f66 // pinsrb xmm7, byte [rsi + rax + 17], 14 + QUAD $0x110e7c203a0f4266; BYTE $0x0f // pinsrb xmm7, byte [rsi + r9 + 17], 15 QUAD $0x01121e4c203a0f66 // pinsrb xmm1, byte [rsi + rbx + 18], 1 - LONG $0x245c8b48; BYTE $0x58 // mov rbx, qword [rsp + 88] + LONG $0x245c8b48; BYTE $0x20 // mov rbx, qword [rsp + 32] QUAD $0x02121e4c203a0f66 // pinsrb xmm1, byte [rsi + rbx + 18], 2 - QUAD $0x12264c203a0f4266; BYTE $0x03 // pinsrb xmm1, byte [rsi + r12 + 18], 3 - QUAD $0x0412164c203a0f66 // pinsrb xmm1, byte [rsi + rdx + 18], 4 - QUAD $0x120e4c203a0f4266; BYTE $0x05 // pinsrb xmm1, byte [rsi + r9 + 18], 5 + QUAD $0x0312164c203a0f66 // pinsrb xmm1, byte [rsi + rdx + 18], 3 + LONG $0x24448b48; BYTE $0x58 // mov rax, qword [rsp + 88] + QUAD $0x0412064c203a0f66 // pinsrb xmm1, byte [rsi + rax + 18], 4 + QUAD $0x12064c203a0f4266; BYTE $0x05 // pinsrb xmm1, byte [rsi + r8 + 18], 5 QUAD $0x06120e4c203a0f66 // pinsrb xmm1, byte [rsi + rcx + 18], 6 QUAD $0x12164c203a0f4266; BYTE $0x07 // pinsrb xmm1, byte [rsi + r10 + 18], 7 - QUAD $0x123e4c203a0f4266; BYTE $0x08 // pinsrb xmm1, byte [rsi + r15 + 18], 8 - WORD $0x894d; BYTE $0xfc // mov r12, r15 - QUAD $0x121e4c203a0f4266; BYTE $0x09 // pinsrb xmm1, byte [rsi + r11 + 18], 9 - QUAD $0x0a123e4c203a0f66 // pinsrb xmm1, byte [rsi + rdi + 18], 10 - WORD $0x8949; BYTE $0xfa // mov r10, rdi - QUAD $0x12364c203a0f4266; BYTE $0x0b // pinsrb xmm1, byte [rsi + r14 + 18], 11 - WORD $0x894d; BYTE $0xf7 // mov r15, r14 - QUAD $0x122e4c203a0f4266; BYTE $0x0c // pinsrb xmm1, byte [rsi + r13 + 18], 12 - LONG $0x240c8b4c // mov r9, qword [rsp] - QUAD $0x120e4c203a0f4266; BYTE $0x0d // pinsrb xmm1, byte [rsi + r9 + 18], 13 + QUAD $0x12364c203a0f4266; BYTE $0x08 // pinsrb xmm1, byte [rsi + r14 + 18], 8 + WORD $0x894d; BYTE $0xf2 // mov r10, r14 + QUAD $0x09123e4c203a0f66 // pinsrb xmm1, byte [rsi + rdi + 18], 9 + QUAD $0x121e4c203a0f4266; BYTE $0x0a // pinsrb xmm1, byte [rsi + r11 + 18], 10 + QUAD $0x123e4c203a0f4266; BYTE $0x0b // pinsrb xmm1, byte [rsi + r15 + 18], 11 + QUAD $0x12264c203a0f4266; BYTE $0x0c // pinsrb xmm1, byte [rsi + r12 + 18], 12 + QUAD $0x122e4c203a0f4266; BYTE $0x0d // pinsrb xmm1, byte [rsi + r13 + 18], 13 QUAD $0x000000d095df0f66 // pandn xmm2, oword 208[rbp] /* [rip + .LCPI7_13] */ QUAD $0x000000e085df0f66 // pandn xmm0, oword 224[rbp] /* [rip + .LCPI7_14] */ LONG $0xc2eb0f66 // por xmm0, xmm2 LONG $0xd56f0f66 // movdqa xmm2, xmm5 LONG $0xda0f4166; BYTE $0xd5 // pminub xmm2, xmm13 LONG $0xd5740f66 // pcmpeqb xmm2, xmm5 - LONG $0x24448b48; BYTE $0x60 // mov rax, qword [rsp + 96] + QUAD $0x000000a024848b48 // mov rax, qword [rsp + 160] LONG $0x0654b60f; BYTE $0x1a // movzx edx, byte [rsi + rax + 26] LONG $0xea6e0f66 // movd xmm5, edx - QUAD $0x12064c203a0f4266; BYTE $0x0e // pinsrb xmm1, byte [rsi + r8 + 18], 14 + LONG $0x244c8b4c; BYTE $0x18 // mov r9, qword [rsp + 24] + QUAD $0x120e4c203a0f4266; BYTE $0x0e // pinsrb xmm1, byte [rsi + r9 + 18], 14 QUAD $0x000000f095df0f66 // pandn xmm2, oword 240[rbp] /* [rip + .LCPI7_15] */ LONG $0xd0eb0f66 // por xmm2, xmm0 LONG $0x6f0f4166; BYTE $0xf0 // movdqa xmm6, xmm8 @@ -37139,8 +38533,8 @@ LBB7_67: LONG $0x740f4166; BYTE $0xf0 // pcmpeqb xmm6, xmm8 LONG $0x0654b60f; BYTE $0x1b // movzx edx, byte [rsi + rax + 27] LONG $0xc26e0f66 // movd xmm0, edx - LONG $0x244c8b48; BYTE $0x20 // mov rcx, qword [rsp + 32] - QUAD $0x0f120e4c203a0f66 // pinsrb xmm1, byte [rsi + rcx + 18], 15 + LONG $0x24448b4c; BYTE $0x48 // mov r8, qword [rsp + 72] + QUAD $0x12064c203a0f4266; BYTE $0x0f // pinsrb xmm1, byte [rsi + r8 + 18], 15 QUAD $0x00000100b5ef0f66 // pxor xmm6, oword 256[rbp] /* [rip + .LCPI7_16] */ LONG $0xf6710f66; BYTE $0x07 // psllw xmm6, 7 LONG $0x75db0f66; BYTE $0x60 // pand xmm6, oword 96[rbp] /* [rip + .LCPI7_6] */ @@ -37148,7 +38542,7 @@ LBB7_67: LONG $0x0654b60f; BYTE $0x1c // movzx edx, byte [rsi + rax + 28] LONG $0x6e0f4466; BYTE $0xc2 // movd xmm8, edx LONG $0xeb0f4166; BYTE $0xf2 // por xmm6, xmm10 - QUAD $0x0000b024b47f0f66; BYTE $0x00 // movdqa oword [rsp + 176], xmm6 + QUAD $0x0000c024b47f0f66; BYTE $0x00 // movdqa oword [rsp + 192], xmm6 LONG $0xd76f0f66 // movdqa xmm2, xmm7 LONG $0xda0f4166; BYTE $0xd5 // pminub xmm2, xmm13 LONG $0xd7740f66 // pcmpeqb xmm2, xmm7 @@ -37161,8 +38555,8 @@ LBB7_67: LONG $0x0654b60f; BYTE $0x1d // movzx edx, byte [rsi + rax + 29] LONG $0xf26e0f66 // movd xmm6, edx LONG $0x0654b60f; BYTE $0x1e // movzx edx, byte [rsi + rax + 30] - LONG $0x067cb60f; BYTE $0x1f // movzx edi, byte [rsi + rax + 31] - LONG $0x24448b48; BYTE $0x38 // mov rax, qword [rsp + 56] + LONG $0x064cb60f; BYTE $0x1f // movzx ecx, byte [rsi + rax + 31] + LONG $0x24448b48; BYTE $0x60 // mov rax, qword [rsp + 96] QUAD $0x0113065c203a0f66 // pinsrb xmm3, byte [rsi + rax + 19], 1 QUAD $0x14064c203a0f4466; BYTE $0x01 // pinsrb xmm9, byte [rsi + rax + 20], 1 QUAD $0x01150664203a0f66 // pinsrb xmm4, byte [rsi + rax + 21], 1 @@ -37175,7 +38569,7 @@ LBB7_67: QUAD $0x011d0674203a0f66 // pinsrb xmm6, byte [rsi + rax + 29], 1 LONG $0xca6e0f66 // movd xmm1, edx QUAD $0x011e064c203a0f66 // pinsrb xmm1, byte [rsi + rax + 30], 1 - LONG $0xff6e0f66 // movd xmm7, edi + LONG $0xf96e0f66 // movd xmm7, ecx QUAD $0x011f067c203a0f66 // pinsrb xmm7, byte [rsi + rax + 31], 1 WORD $0x8948; BYTE $0xd8 // mov rax, rbx QUAD $0x02131e5c203a0f66 // pinsrb xmm3, byte [rsi + rbx + 19], 2 @@ -37190,73 +38584,79 @@ LBB7_67: QUAD $0x021d1e74203a0f66 // pinsrb xmm6, byte [rsi + rbx + 29], 2 QUAD $0x021e1e4c203a0f66 // pinsrb xmm1, byte [rsi + rbx + 30], 2 QUAD $0x021f1e7c203a0f66 // pinsrb xmm7, byte [rsi + rbx + 31], 2 - LONG $0x24448b48; BYTE $0x10 // mov rax, qword [rsp + 16] + LONG $0x24448b48; BYTE $0x40 // mov rax, qword [rsp + 64] QUAD $0x0313065c203a0f66 // pinsrb xmm3, byte [rsi + rax + 19], 3 - LONG $0x24548b48; BYTE $0x30 // mov rdx, qword [rsp + 48] + LONG $0x24548b48; BYTE $0x58 // mov rdx, qword [rsp + 88] QUAD $0x0413165c203a0f66 // pinsrb xmm3, byte [rsi + rdx + 19], 4 - LONG $0x246c8b4c; BYTE $0x40 // mov r13, qword [rsp + 64] - QUAD $0x132e5c203a0f4266; BYTE $0x05 // pinsrb xmm3, byte [rsi + r13 + 19], 5 - LONG $0x247c8b48; BYTE $0x08 // mov rdi, qword [rsp + 8] + LONG $0x244c8b48; BYTE $0x50 // mov rcx, qword [rsp + 80] + QUAD $0x05130e5c203a0f66 // pinsrb xmm3, byte [rsi + rcx + 19], 5 + LONG $0x247c8b48; BYTE $0x68 // mov rdi, qword [rsp + 104] QUAD $0x06133e5c203a0f66 // pinsrb xmm3, byte [rsi + rdi + 19], 6 - LONG $0x245c8b4c; BYTE $0x50 // mov r11, qword [rsp + 80] - QUAD $0x131e5c203a0f4266; BYTE $0x07 // pinsrb xmm3, byte [rsi + r11 + 19], 7 - QUAD $0x13265c203a0f4266; BYTE $0x08 // pinsrb xmm3, byte [rsi + r12 + 19], 8 - LONG $0x24748b4c; BYTE $0x78 // mov r14, qword [rsp + 120] - QUAD $0x13365c203a0f4266; BYTE $0x09 // pinsrb xmm3, byte [rsi + r14 + 19], 9 - QUAD $0x13165c203a0f4266; BYTE $0x0a // pinsrb xmm3, byte [rsi + r10 + 19], 10 - QUAD $0x133e5c203a0f4266; BYTE $0x0b // pinsrb xmm3, byte [rsi + r15 + 19], 11 - LONG $0x245c8b48; BYTE $0x68 // mov rbx, qword [rsp + 104] + QUAD $0x0000009024b48b4c // mov r14, qword [rsp + 144] + QUAD $0x13365c203a0f4266; BYTE $0x07 // pinsrb xmm3, byte [rsi + r14 + 19], 7 + WORD $0x894d; BYTE $0xd4 // mov r12, r10 + QUAD $0x13165c203a0f4266; BYTE $0x08 // pinsrb xmm3, byte [rsi + r10 + 19], 8 + QUAD $0x00000080249c8b4c // mov r11, qword [rsp + 128] + QUAD $0x131e5c203a0f4266; BYTE $0x09 // pinsrb xmm3, byte [rsi + r11 + 19], 9 + LONG $0x247c8b4c; BYTE $0x30 // mov r15, qword [rsp + 48] + QUAD $0x133e5c203a0f4266; BYTE $0x0a // pinsrb xmm3, byte [rsi + r15 + 19], 10 + LONG $0x24548b4c; BYTE $0x28 // mov r10, qword [rsp + 40] + QUAD $0x13165c203a0f4266; BYTE $0x0b // pinsrb xmm3, byte [rsi + r10 + 19], 11 + LONG $0x245c8b48; BYTE $0x38 // mov rbx, qword [rsp + 56] QUAD $0x0c131e5c203a0f66 // pinsrb xmm3, byte [rsi + rbx + 19], 12 - QUAD $0x130e5c203a0f4266; BYTE $0x0d // pinsrb xmm3, byte [rsi + r9 + 19], 13 - QUAD $0x13065c203a0f4266; BYTE $0x0e // pinsrb xmm3, byte [rsi + r8 + 19], 14 - QUAD $0x0f130e5c203a0f66 // pinsrb xmm3, byte [rsi + rcx + 19], 15 + QUAD $0x132e5c203a0f4266; BYTE $0x0d // pinsrb xmm3, byte [rsi + r13 + 19], 13 + QUAD $0x130e5c203a0f4266; BYTE $0x0e // pinsrb xmm3, byte [rsi + r9 + 19], 14 + QUAD $0x13065c203a0f4266; BYTE $0x0f // pinsrb xmm3, byte [rsi + r8 + 19], 15 QUAD $0x14064c203a0f4466; BYTE $0x03 // pinsrb xmm9, byte [rsi + rax + 20], 3 QUAD $0x14164c203a0f4466; BYTE $0x04 // pinsrb xmm9, byte [rsi + rdx + 20], 4 - QUAD $0x142e4c203a0f4666; BYTE $0x05 // pinsrb xmm9, byte [rsi + r13 + 20], 5 + QUAD $0x140e4c203a0f4466; BYTE $0x05 // pinsrb xmm9, byte [rsi + rcx + 20], 5 QUAD $0x143e4c203a0f4466; BYTE $0x06 // pinsrb xmm9, byte [rsi + rdi + 20], 6 - QUAD $0x141e4c203a0f4666; BYTE $0x07 // pinsrb xmm9, byte [rsi + r11 + 20], 7 + QUAD $0x14364c203a0f4666; BYTE $0x07 // pinsrb xmm9, byte [rsi + r14 + 20], 7 QUAD $0x14264c203a0f4666; BYTE $0x08 // pinsrb xmm9, byte [rsi + r12 + 20], 8 - QUAD $0x14364c203a0f4666; BYTE $0x09 // pinsrb xmm9, byte [rsi + r14 + 20], 9 - QUAD $0x14164c203a0f4666; BYTE $0x0a // pinsrb xmm9, byte [rsi + r10 + 20], 10 - QUAD $0x143e4c203a0f4666; BYTE $0x0b // pinsrb xmm9, byte [rsi + r15 + 20], 11 + QUAD $0x141e4c203a0f4666; BYTE $0x09 // pinsrb xmm9, byte [rsi + r11 + 20], 9 + QUAD $0x143e4c203a0f4666; BYTE $0x0a // pinsrb xmm9, byte [rsi + r15 + 20], 10 + QUAD $0x14164c203a0f4666; BYTE $0x0b // pinsrb xmm9, byte [rsi + r10 + 20], 11 QUAD $0x141e4c203a0f4466; BYTE $0x0c // pinsrb xmm9, byte [rsi + rbx + 20], 12 - QUAD $0x140e4c203a0f4666; BYTE $0x0d // pinsrb xmm9, byte [rsi + r9 + 20], 13 - QUAD $0x14064c203a0f4666; BYTE $0x0e // pinsrb xmm9, byte [rsi + r8 + 20], 14 - QUAD $0x140e4c203a0f4466; BYTE $0x0f // pinsrb xmm9, byte [rsi + rcx + 20], 15 + QUAD $0x142e4c203a0f4666; BYTE $0x0d // pinsrb xmm9, byte [rsi + r13 + 20], 13 + QUAD $0x140e4c203a0f4666; BYTE $0x0e // pinsrb xmm9, byte [rsi + r9 + 20], 14 + QUAD $0x14064c203a0f4666; BYTE $0x0f // pinsrb xmm9, byte [rsi + r8 + 20], 15 QUAD $0x03150664203a0f66 // pinsrb xmm4, byte [rsi + rax + 21], 3 QUAD $0x04151664203a0f66 // pinsrb xmm4, byte [rsi + rdx + 21], 4 - QUAD $0x152e64203a0f4266; BYTE $0x05 // pinsrb xmm4, byte [rsi + r13 + 21], 5 + QUAD $0x05150e64203a0f66 // pinsrb xmm4, byte [rsi + rcx + 21], 5 QUAD $0x06153e64203a0f66 // pinsrb xmm4, byte [rsi + rdi + 21], 6 - QUAD $0x151e64203a0f4266; BYTE $0x07 // pinsrb xmm4, byte [rsi + r11 + 21], 7 + QUAD $0x153664203a0f4266; BYTE $0x07 // pinsrb xmm4, byte [rsi + r14 + 21], 7 QUAD $0x152664203a0f4266; BYTE $0x08 // pinsrb xmm4, byte [rsi + r12 + 21], 8 - QUAD $0x153664203a0f4266; BYTE $0x09 // pinsrb xmm4, byte [rsi + r14 + 21], 9 - QUAD $0x151664203a0f4266; BYTE $0x0a // pinsrb xmm4, byte [rsi + r10 + 21], 10 - QUAD $0x153e64203a0f4266; BYTE $0x0b // pinsrb xmm4, byte [rsi + r15 + 21], 11 + QUAD $0x151e64203a0f4266; BYTE $0x09 // pinsrb xmm4, byte [rsi + r11 + 21], 9 + QUAD $0x153e64203a0f4266; BYTE $0x0a // pinsrb xmm4, byte [rsi + r15 + 21], 10 + QUAD $0x151664203a0f4266; BYTE $0x0b // pinsrb xmm4, byte [rsi + r10 + 21], 11 QUAD $0x0c151e64203a0f66 // pinsrb xmm4, byte [rsi + rbx + 21], 12 - QUAD $0x150e64203a0f4266; BYTE $0x0d // pinsrb xmm4, byte [rsi + r9 + 21], 13 - QUAD $0x150664203a0f4266; BYTE $0x0e // pinsrb xmm4, byte [rsi + r8 + 21], 14 - QUAD $0x0f150e64203a0f66 // pinsrb xmm4, byte [rsi + rcx + 21], 15 + WORD $0x8949; BYTE $0xd8 // mov r8, rbx + QUAD $0x152e64203a0f4266; BYTE $0x0d // pinsrb xmm4, byte [rsi + r13 + 21], 13 + QUAD $0x150e64203a0f4266; BYTE $0x0e // pinsrb xmm4, byte [rsi + r9 + 21], 14 + LONG $0x245c8b48; BYTE $0x48 // mov rbx, qword [rsp + 72] + QUAD $0x0f151e64203a0f66 // pinsrb xmm4, byte [rsi + rbx + 21], 15 QUAD $0x16067c203a0f4466; BYTE $0x03 // pinsrb xmm15, byte [rsi + rax + 22], 3 QUAD $0x16167c203a0f4466; BYTE $0x04 // pinsrb xmm15, byte [rsi + rdx + 22], 4 - QUAD $0x162e7c203a0f4666; BYTE $0x05 // pinsrb xmm15, byte [rsi + r13 + 22], 5 + QUAD $0x160e7c203a0f4466; BYTE $0x05 // pinsrb xmm15, byte [rsi + rcx + 22], 5 QUAD $0x163e7c203a0f4466; BYTE $0x06 // pinsrb xmm15, byte [rsi + rdi + 22], 6 - QUAD $0x161e7c203a0f4666; BYTE $0x07 // pinsrb xmm15, byte [rsi + r11 + 22], 7 + QUAD $0x16367c203a0f4666; BYTE $0x07 // pinsrb xmm15, byte [rsi + r14 + 22], 7 QUAD $0x16267c203a0f4666; BYTE $0x08 // pinsrb xmm15, byte [rsi + r12 + 22], 8 - QUAD $0x16367c203a0f4666; BYTE $0x09 // pinsrb xmm15, byte [rsi + r14 + 22], 9 - QUAD $0x16167c203a0f4666; BYTE $0x0a // pinsrb xmm15, byte [rsi + r10 + 22], 10 + QUAD $0x161e7c203a0f4666; BYTE $0x09 // pinsrb xmm15, byte [rsi + r11 + 22], 9 + QUAD $0x163e7c203a0f4666; BYTE $0x0a // pinsrb xmm15, byte [rsi + r15 + 22], 10 QUAD $0x00011024946f0f66; BYTE $0x00 // movdqa xmm2, oword [rsp + 272] QUAD $0x000000a095df0f66 // pandn xmm2, oword 160[rbp] /* [rip + .LCPI7_10] */ - QUAD $0x163e7c203a0f4666; BYTE $0x0b // pinsrb xmm15, byte [rsi + r15 + 22], 11 + QUAD $0x16167c203a0f4666; BYTE $0x0b // pinsrb xmm15, byte [rsi + r10 + 22], 11 QUAD $0x0000b095df0f4466; BYTE $0x00 // pandn xmm10, oword 176[rbp] /* [rip + .LCPI7_11] */ LONG $0xeb0f4466; BYTE $0xd2 // por xmm10, xmm2 - QUAD $0x161e7c203a0f4466; BYTE $0x0c // pinsrb xmm15, byte [rsi + rbx + 22], 12 + QUAD $0x16067c203a0f4666; BYTE $0x0c // pinsrb xmm15, byte [rsi + r8 + 22], 12 LONG $0xd36f0f66 // movdqa xmm2, xmm3 LONG $0xda0f4166; BYTE $0xd5 // pminub xmm2, xmm13 LONG $0xd3740f66 // pcmpeqb xmm2, xmm3 - QUAD $0x160e7c203a0f4666; BYTE $0x0d // pinsrb xmm15, byte [rsi + r9 + 22], 13 + QUAD $0x162e7c203a0f4666; BYTE $0x0d // pinsrb xmm15, byte [rsi + r13 + 22], 13 QUAD $0x000000c095df0f66 // pandn xmm2, oword 192[rbp] /* [rip + .LCPI7_12] */ LONG $0xeb0f4166; BYTE $0xd2 // por xmm2, xmm10 - QUAD $0x16067c203a0f4666; BYTE $0x0e // pinsrb xmm15, byte [rsi + r8 + 22], 14 + QUAD $0x160e7c203a0f4666; BYTE $0x0e // pinsrb xmm15, byte [rsi + r9 + 22], 14 + WORD $0x894c; BYTE $0xcf // mov rdi, r9 QUAD $0x000100b5f80f4466; BYTE $0x00 // psubb xmm14, oword 256[rbp] /* [rip + .LCPI7_16] */ LONG $0xeb0f4166; BYTE $0xd6 // por xmm2, xmm14 LONG $0x6f0f4566; BYTE $0xd1 // movdqa xmm10, xmm9 @@ -37266,7 +38666,7 @@ LBB7_67: LONG $0x6f0f4566; BYTE $0xcd // movdqa xmm9, xmm13 LONG $0xda0f4166; BYTE $0xdd // pminub xmm3, xmm13 LONG $0xdc740f66 // pcmpeqb xmm3, xmm4 - QUAD $0x160e7c203a0f4466; BYTE $0x0f // pinsrb xmm15, byte [rsi + rcx + 22], 15 + QUAD $0x161e7c203a0f4466; BYTE $0x0f // pinsrb xmm15, byte [rsi + rbx + 22], 15 QUAD $0x0000d0ad6f0f4466; BYTE $0x00 // movdqa xmm13, oword 208[rbp] /* [rip + .LCPI7_13] */ LONG $0xdf0f4566; BYTE $0xd5 // pandn xmm10, xmm13 QUAD $0x000000e0a56f0f66 // movdqa xmm4, oword 224[rbp] /* [rip + .LCPI7_14] */ @@ -37278,17 +38678,20 @@ LBB7_67: LONG $0x740f4166; BYTE $0xe7 // pcmpeqb xmm4, xmm15 QUAD $0x17065c203a0f4466; BYTE $0x03 // pinsrb xmm11, byte [rsi + rax + 23], 3 QUAD $0x17165c203a0f4466; BYTE $0x04 // pinsrb xmm11, byte [rsi + rdx + 23], 4 - QUAD $0x172e5c203a0f4666; BYTE $0x05 // pinsrb xmm11, byte [rsi + r13 + 23], 5 - QUAD $0x173e5c203a0f4466; BYTE $0x06 // pinsrb xmm11, byte [rsi + rdi + 23], 6 - QUAD $0x171e5c203a0f4666; BYTE $0x07 // pinsrb xmm11, byte [rsi + r11 + 23], 7 + QUAD $0x170e5c203a0f4466; BYTE $0x05 // pinsrb xmm11, byte [rsi + rcx + 23], 5 + WORD $0x8949; BYTE $0xc8 // mov r8, rcx + LONG $0x244c8b4c; BYTE $0x68 // mov r9, qword [rsp + 104] + QUAD $0x170e5c203a0f4666; BYTE $0x06 // pinsrb xmm11, byte [rsi + r9 + 23], 6 + QUAD $0x17365c203a0f4666; BYTE $0x07 // pinsrb xmm11, byte [rsi + r14 + 23], 7 QUAD $0x17265c203a0f4666; BYTE $0x08 // pinsrb xmm11, byte [rsi + r12 + 23], 8 - QUAD $0x17365c203a0f4666; BYTE $0x09 // pinsrb xmm11, byte [rsi + r14 + 23], 9 - QUAD $0x17165c203a0f4666; BYTE $0x0a // pinsrb xmm11, byte [rsi + r10 + 23], 10 - QUAD $0x173e5c203a0f4666; BYTE $0x0b // pinsrb xmm11, byte [rsi + r15 + 23], 11 - QUAD $0x171e5c203a0f4466; BYTE $0x0c // pinsrb xmm11, byte [rsi + rbx + 23], 12 - QUAD $0x170e5c203a0f4666; BYTE $0x0d // pinsrb xmm11, byte [rsi + r9 + 23], 13 - QUAD $0x17065c203a0f4666; BYTE $0x0e // pinsrb xmm11, byte [rsi + r8 + 23], 14 - QUAD $0x170e5c203a0f4466; BYTE $0x0f // pinsrb xmm11, byte [rsi + rcx + 23], 15 + QUAD $0x171e5c203a0f4666; BYTE $0x09 // pinsrb xmm11, byte [rsi + r11 + 23], 9 + QUAD $0x173e5c203a0f4666; BYTE $0x0a // pinsrb xmm11, byte [rsi + r15 + 23], 10 + QUAD $0x17165c203a0f4666; BYTE $0x0b // pinsrb xmm11, byte [rsi + r10 + 23], 11 + LONG $0x244c8b48; BYTE $0x38 // mov rcx, qword [rsp + 56] + QUAD $0x170e5c203a0f4466; BYTE $0x0c // pinsrb xmm11, byte [rsi + rcx + 23], 12 + QUAD $0x172e5c203a0f4666; BYTE $0x0d // pinsrb xmm11, byte [rsi + r13 + 23], 13 + QUAD $0x173e5c203a0f4466; BYTE $0x0e // pinsrb xmm11, byte [rsi + rdi + 23], 14 + QUAD $0x171e5c203a0f4466; BYTE $0x0f // pinsrb xmm11, byte [rsi + rbx + 23], 15 QUAD $0x0000f0bd6f0f4466; BYTE $0x00 // movdqa xmm15, oword 240[rbp] /* [rip + .LCPI7_15] */ LONG $0xdf0f4166; BYTE $0xe7 // pandn xmm4, xmm15 LONG $0xe3eb0f66 // por xmm4, xmm3 @@ -37302,30 +38705,30 @@ LBB7_67: LONG $0xdceb0f66 // por xmm3, xmm4 QUAD $0x190664203a0f4466; BYTE $0x03 // pinsrb xmm12, byte [rsi + rax + 25], 3 QUAD $0x191664203a0f4466; BYTE $0x04 // pinsrb xmm12, byte [rsi + rdx + 25], 4 - QUAD $0x192e64203a0f4666; BYTE $0x05 // pinsrb xmm12, byte [rsi + r13 + 25], 5 - QUAD $0x193e64203a0f4466; BYTE $0x06 // pinsrb xmm12, byte [rsi + rdi + 25], 6 - QUAD $0x191e64203a0f4666; BYTE $0x07 // pinsrb xmm12, byte [rsi + r11 + 25], 7 + QUAD $0x190664203a0f4666; BYTE $0x05 // pinsrb xmm12, byte [rsi + r8 + 25], 5 + QUAD $0x190e64203a0f4666; BYTE $0x06 // pinsrb xmm12, byte [rsi + r9 + 25], 6 + QUAD $0x193664203a0f4666; BYTE $0x07 // pinsrb xmm12, byte [rsi + r14 + 25], 7 QUAD $0x192664203a0f4666; BYTE $0x08 // pinsrb xmm12, byte [rsi + r12 + 25], 8 - QUAD $0x193664203a0f4666; BYTE $0x09 // pinsrb xmm12, byte [rsi + r14 + 25], 9 - QUAD $0x191664203a0f4666; BYTE $0x0a // pinsrb xmm12, byte [rsi + r10 + 25], 10 - QUAD $0x193e64203a0f4666; BYTE $0x0b // pinsrb xmm12, byte [rsi + r15 + 25], 11 - QUAD $0x191e64203a0f4466; BYTE $0x0c // pinsrb xmm12, byte [rsi + rbx + 25], 12 - QUAD $0x190e64203a0f4666; BYTE $0x0d // pinsrb xmm12, byte [rsi + r9 + 25], 13 - QUAD $0x190664203a0f4666; BYTE $0x0e // pinsrb xmm12, byte [rsi + r8 + 25], 14 - QUAD $0x190e64203a0f4466; BYTE $0x0f // pinsrb xmm12, byte [rsi + rcx + 25], 15 + QUAD $0x191e64203a0f4666; BYTE $0x09 // pinsrb xmm12, byte [rsi + r11 + 25], 9 + QUAD $0x193e64203a0f4666; BYTE $0x0a // pinsrb xmm12, byte [rsi + r15 + 25], 10 + QUAD $0x191664203a0f4666; BYTE $0x0b // pinsrb xmm12, byte [rsi + r10 + 25], 11 + QUAD $0x190e64203a0f4466; BYTE $0x0c // pinsrb xmm12, byte [rsi + rcx + 25], 12 + QUAD $0x192e64203a0f4666; BYTE $0x0d // pinsrb xmm12, byte [rsi + r13 + 25], 13 + QUAD $0x193e64203a0f4466; BYTE $0x0e // pinsrb xmm12, byte [rsi + rdi + 25], 14 + QUAD $0x191e64203a0f4466; BYTE $0x0f // pinsrb xmm12, byte [rsi + rbx + 25], 15 QUAD $0x031a066c203a0f66 // pinsrb xmm5, byte [rsi + rax + 26], 3 QUAD $0x041a166c203a0f66 // pinsrb xmm5, byte [rsi + rdx + 26], 4 - QUAD $0x1a2e6c203a0f4266; BYTE $0x05 // pinsrb xmm5, byte [rsi + r13 + 26], 5 - QUAD $0x061a3e6c203a0f66 // pinsrb xmm5, byte [rsi + rdi + 26], 6 - QUAD $0x1a1e6c203a0f4266; BYTE $0x07 // pinsrb xmm5, byte [rsi + r11 + 26], 7 + QUAD $0x1a066c203a0f4266; BYTE $0x05 // pinsrb xmm5, byte [rsi + r8 + 26], 5 + QUAD $0x1a0e6c203a0f4266; BYTE $0x06 // pinsrb xmm5, byte [rsi + r9 + 26], 6 + QUAD $0x1a366c203a0f4266; BYTE $0x07 // pinsrb xmm5, byte [rsi + r14 + 26], 7 QUAD $0x1a266c203a0f4266; BYTE $0x08 // pinsrb xmm5, byte [rsi + r12 + 26], 8 - QUAD $0x1a366c203a0f4266; BYTE $0x09 // pinsrb xmm5, byte [rsi + r14 + 26], 9 - QUAD $0x1a166c203a0f4266; BYTE $0x0a // pinsrb xmm5, byte [rsi + r10 + 26], 10 - QUAD $0x1a3e6c203a0f4266; BYTE $0x0b // pinsrb xmm5, byte [rsi + r15 + 26], 11 - QUAD $0x0c1a1e6c203a0f66 // pinsrb xmm5, byte [rsi + rbx + 26], 12 - QUAD $0x1a0e6c203a0f4266; BYTE $0x0d // pinsrb xmm5, byte [rsi + r9 + 26], 13 - QUAD $0x1a066c203a0f4266; BYTE $0x0e // pinsrb xmm5, byte [rsi + r8 + 26], 14 - QUAD $0x0f1a0e6c203a0f66 // pinsrb xmm5, byte [rsi + rcx + 26], 15 + QUAD $0x1a1e6c203a0f4266; BYTE $0x09 // pinsrb xmm5, byte [rsi + r11 + 26], 9 + QUAD $0x1a3e6c203a0f4266; BYTE $0x0a // pinsrb xmm5, byte [rsi + r15 + 26], 10 + QUAD $0x1a166c203a0f4266; BYTE $0x0b // pinsrb xmm5, byte [rsi + r10 + 26], 11 + QUAD $0x0c1a0e6c203a0f66 // pinsrb xmm5, byte [rsi + rcx + 26], 12 + QUAD $0x1a2e6c203a0f4266; BYTE $0x0d // pinsrb xmm5, byte [rsi + r13 + 26], 13 + QUAD $0x0e1a3e6c203a0f66 // pinsrb xmm5, byte [rsi + rdi + 26], 14 + QUAD $0x0f1a1e6c203a0f66 // pinsrb xmm5, byte [rsi + rbx + 26], 15 LONG $0xdaeb0f66 // por xmm3, xmm2 LONG $0x6f0f4166; BYTE $0xd4 // movdqa xmm2, xmm12 LONG $0xda0f4166; BYTE $0xd1 // pminub xmm2, xmm9 @@ -37341,17 +38744,17 @@ LBB7_67: LONG $0xdf0f4166; BYTE $0xd2 // pandn xmm2, xmm10 QUAD $0x031b0644203a0f66 // pinsrb xmm0, byte [rsi + rax + 27], 3 QUAD $0x041b1644203a0f66 // pinsrb xmm0, byte [rsi + rdx + 27], 4 - QUAD $0x1b2e44203a0f4266; BYTE $0x05 // pinsrb xmm0, byte [rsi + r13 + 27], 5 - QUAD $0x061b3e44203a0f66 // pinsrb xmm0, byte [rsi + rdi + 27], 6 - QUAD $0x1b1e44203a0f4266; BYTE $0x07 // pinsrb xmm0, byte [rsi + r11 + 27], 7 + QUAD $0x1b0644203a0f4266; BYTE $0x05 // pinsrb xmm0, byte [rsi + r8 + 27], 5 + QUAD $0x1b0e44203a0f4266; BYTE $0x06 // pinsrb xmm0, byte [rsi + r9 + 27], 6 + QUAD $0x1b3644203a0f4266; BYTE $0x07 // pinsrb xmm0, byte [rsi + r14 + 27], 7 QUAD $0x1b2644203a0f4266; BYTE $0x08 // pinsrb xmm0, byte [rsi + r12 + 27], 8 - QUAD $0x1b3644203a0f4266; BYTE $0x09 // pinsrb xmm0, byte [rsi + r14 + 27], 9 - QUAD $0x1b1644203a0f4266; BYTE $0x0a // pinsrb xmm0, byte [rsi + r10 + 27], 10 - QUAD $0x1b3e44203a0f4266; BYTE $0x0b // pinsrb xmm0, byte [rsi + r15 + 27], 11 - QUAD $0x0c1b1e44203a0f66 // pinsrb xmm0, byte [rsi + rbx + 27], 12 - QUAD $0x1b0e44203a0f4266; BYTE $0x0d // pinsrb xmm0, byte [rsi + r9 + 27], 13 - QUAD $0x1b0644203a0f4266; BYTE $0x0e // pinsrb xmm0, byte [rsi + r8 + 27], 14 - QUAD $0x0f1b0e44203a0f66 // pinsrb xmm0, byte [rsi + rcx + 27], 15 + QUAD $0x1b1e44203a0f4266; BYTE $0x09 // pinsrb xmm0, byte [rsi + r11 + 27], 9 + QUAD $0x1b3e44203a0f4266; BYTE $0x0a // pinsrb xmm0, byte [rsi + r15 + 27], 10 + QUAD $0x1b1644203a0f4266; BYTE $0x0b // pinsrb xmm0, byte [rsi + r10 + 27], 11 + QUAD $0x0c1b0e44203a0f66 // pinsrb xmm0, byte [rsi + rcx + 27], 12 + QUAD $0x1b2e44203a0f4266; BYTE $0x0d // pinsrb xmm0, byte [rsi + r13 + 27], 13 + QUAD $0x0e1b3e44203a0f66 // pinsrb xmm0, byte [rsi + rdi + 27], 14 + QUAD $0x0f1b1e44203a0f66 // pinsrb xmm0, byte [rsi + rbx + 27], 15 QUAD $0x000000b0a5df0f66 // pandn xmm4, oword 176[rbp] /* [rip + .LCPI7_11] */ LONG $0xe2eb0f66 // por xmm4, xmm2 LONG $0xd06f0f66 // movdqa xmm2, xmm0 @@ -37361,30 +38764,30 @@ LBB7_67: LONG $0xd4eb0f66 // por xmm2, xmm4 QUAD $0x1c0644203a0f4466; BYTE $0x03 // pinsrb xmm8, byte [rsi + rax + 28], 3 QUAD $0x1c1644203a0f4466; BYTE $0x04 // pinsrb xmm8, byte [rsi + rdx + 28], 4 - QUAD $0x1c2e44203a0f4666; BYTE $0x05 // pinsrb xmm8, byte [rsi + r13 + 28], 5 - QUAD $0x1c3e44203a0f4466; BYTE $0x06 // pinsrb xmm8, byte [rsi + rdi + 28], 6 - QUAD $0x1c1e44203a0f4666; BYTE $0x07 // pinsrb xmm8, byte [rsi + r11 + 28], 7 + QUAD $0x1c0644203a0f4666; BYTE $0x05 // pinsrb xmm8, byte [rsi + r8 + 28], 5 + QUAD $0x1c0e44203a0f4666; BYTE $0x06 // pinsrb xmm8, byte [rsi + r9 + 28], 6 + QUAD $0x1c3644203a0f4666; BYTE $0x07 // pinsrb xmm8, byte [rsi + r14 + 28], 7 QUAD $0x1c2644203a0f4666; BYTE $0x08 // pinsrb xmm8, byte [rsi + r12 + 28], 8 - QUAD $0x1c3644203a0f4666; BYTE $0x09 // pinsrb xmm8, byte [rsi + r14 + 28], 9 - QUAD $0x1c1644203a0f4666; BYTE $0x0a // pinsrb xmm8, byte [rsi + r10 + 28], 10 - QUAD $0x1c3e44203a0f4666; BYTE $0x0b // pinsrb xmm8, byte [rsi + r15 + 28], 11 - QUAD $0x1c1e44203a0f4466; BYTE $0x0c // pinsrb xmm8, byte [rsi + rbx + 28], 12 - QUAD $0x1c0e44203a0f4666; BYTE $0x0d // pinsrb xmm8, byte [rsi + r9 + 28], 13 - QUAD $0x1c0644203a0f4666; BYTE $0x0e // pinsrb xmm8, byte [rsi + r8 + 28], 14 - QUAD $0x1c0e44203a0f4466; BYTE $0x0f // pinsrb xmm8, byte [rsi + rcx + 28], 15 + QUAD $0x1c1e44203a0f4666; BYTE $0x09 // pinsrb xmm8, byte [rsi + r11 + 28], 9 + QUAD $0x1c3e44203a0f4666; BYTE $0x0a // pinsrb xmm8, byte [rsi + r15 + 28], 10 + QUAD $0x1c1644203a0f4666; BYTE $0x0b // pinsrb xmm8, byte [rsi + r10 + 28], 11 + QUAD $0x1c0e44203a0f4466; BYTE $0x0c // pinsrb xmm8, byte [rsi + rcx + 28], 12 + QUAD $0x1c2e44203a0f4666; BYTE $0x0d // pinsrb xmm8, byte [rsi + r13 + 28], 13 + QUAD $0x1c3e44203a0f4466; BYTE $0x0e // pinsrb xmm8, byte [rsi + rdi + 28], 14 + QUAD $0x1c1e44203a0f4466; BYTE $0x0f // pinsrb xmm8, byte [rsi + rbx + 28], 15 QUAD $0x031d0674203a0f66 // pinsrb xmm6, byte [rsi + rax + 29], 3 QUAD $0x041d1674203a0f66 // pinsrb xmm6, byte [rsi + rdx + 29], 4 - QUAD $0x1d2e74203a0f4266; BYTE $0x05 // pinsrb xmm6, byte [rsi + r13 + 29], 5 - QUAD $0x061d3e74203a0f66 // pinsrb xmm6, byte [rsi + rdi + 29], 6 - QUAD $0x1d1e74203a0f4266; BYTE $0x07 // pinsrb xmm6, byte [rsi + r11 + 29], 7 + QUAD $0x1d0674203a0f4266; BYTE $0x05 // pinsrb xmm6, byte [rsi + r8 + 29], 5 + QUAD $0x1d0e74203a0f4266; BYTE $0x06 // pinsrb xmm6, byte [rsi + r9 + 29], 6 + QUAD $0x1d3674203a0f4266; BYTE $0x07 // pinsrb xmm6, byte [rsi + r14 + 29], 7 QUAD $0x1d2674203a0f4266; BYTE $0x08 // pinsrb xmm6, byte [rsi + r12 + 29], 8 - QUAD $0x1d3674203a0f4266; BYTE $0x09 // pinsrb xmm6, byte [rsi + r14 + 29], 9 - QUAD $0x1d1674203a0f4266; BYTE $0x0a // pinsrb xmm6, byte [rsi + r10 + 29], 10 - QUAD $0x1d3e74203a0f4266; BYTE $0x0b // pinsrb xmm6, byte [rsi + r15 + 29], 11 - QUAD $0x0c1d1e74203a0f66 // pinsrb xmm6, byte [rsi + rbx + 29], 12 - QUAD $0x1d0e74203a0f4266; BYTE $0x0d // pinsrb xmm6, byte [rsi + r9 + 29], 13 - QUAD $0x1d0674203a0f4266; BYTE $0x0e // pinsrb xmm6, byte [rsi + r8 + 29], 14 - QUAD $0x0f1d0e74203a0f66 // pinsrb xmm6, byte [rsi + rcx + 29], 15 + QUAD $0x1d1e74203a0f4266; BYTE $0x09 // pinsrb xmm6, byte [rsi + r11 + 29], 9 + QUAD $0x1d3e74203a0f4266; BYTE $0x0a // pinsrb xmm6, byte [rsi + r15 + 29], 10 + QUAD $0x1d1674203a0f4266; BYTE $0x0b // pinsrb xmm6, byte [rsi + r10 + 29], 11 + QUAD $0x0c1d0e74203a0f66 // pinsrb xmm6, byte [rsi + rcx + 29], 12 + QUAD $0x1d2e74203a0f4266; BYTE $0x0d // pinsrb xmm6, byte [rsi + r13 + 29], 13 + QUAD $0x0e1d3e74203a0f66 // pinsrb xmm6, byte [rsi + rdi + 29], 14 + QUAD $0x0f1d1e74203a0f66 // pinsrb xmm6, byte [rsi + rbx + 29], 15 LONG $0x760f4566; BYTE $0xd2 // pcmpeqd xmm10, xmm10 LONG $0xf80f4566; BYTE $0xca // psubb xmm9, xmm10 LONG $0xeb0f4166; BYTE $0xd1 // por xmm2, xmm9 @@ -37398,29 +38801,29 @@ LBB7_67: QUAD $0x031f067c203a0f66 // pinsrb xmm7, byte [rsi + rax + 31], 3 QUAD $0x041e164c203a0f66 // pinsrb xmm1, byte [rsi + rdx + 30], 4 QUAD $0x041f167c203a0f66 // pinsrb xmm7, byte [rsi + rdx + 31], 4 - QUAD $0x1e2e4c203a0f4266; BYTE $0x05 // pinsrb xmm1, byte [rsi + r13 + 30], 5 - QUAD $0x1f2e7c203a0f4266; BYTE $0x05 // pinsrb xmm7, byte [rsi + r13 + 31], 5 - QUAD $0x061e3e4c203a0f66 // pinsrb xmm1, byte [rsi + rdi + 30], 6 - QUAD $0x061f3e7c203a0f66 // pinsrb xmm7, byte [rsi + rdi + 31], 6 - QUAD $0x1e1e4c203a0f4266; BYTE $0x07 // pinsrb xmm1, byte [rsi + r11 + 30], 7 - QUAD $0x1f1e7c203a0f4266; BYTE $0x07 // pinsrb xmm7, byte [rsi + r11 + 31], 7 + QUAD $0x1e064c203a0f4266; BYTE $0x05 // pinsrb xmm1, byte [rsi + r8 + 30], 5 + QUAD $0x1f067c203a0f4266; BYTE $0x05 // pinsrb xmm7, byte [rsi + r8 + 31], 5 + QUAD $0x1e0e4c203a0f4266; BYTE $0x06 // pinsrb xmm1, byte [rsi + r9 + 30], 6 + QUAD $0x1f0e7c203a0f4266; BYTE $0x06 // pinsrb xmm7, byte [rsi + r9 + 31], 6 + QUAD $0x1e364c203a0f4266; BYTE $0x07 // pinsrb xmm1, byte [rsi + r14 + 30], 7 + QUAD $0x1f367c203a0f4266; BYTE $0x07 // pinsrb xmm7, byte [rsi + r14 + 31], 7 QUAD $0x1e264c203a0f4266; BYTE $0x08 // pinsrb xmm1, byte [rsi + r12 + 30], 8 QUAD $0x1f267c203a0f4266; BYTE $0x08 // pinsrb xmm7, byte [rsi + r12 + 31], 8 - QUAD $0x1e364c203a0f4266; BYTE $0x09 // pinsrb xmm1, byte [rsi + r14 + 30], 9 - QUAD $0x1f367c203a0f4266; BYTE $0x09 // pinsrb xmm7, byte [rsi + r14 + 31], 9 - QUAD $0x0000008024848b48 // mov rax, qword [rsp + 128] - QUAD $0x1e164c203a0f4266; BYTE $0x0a // pinsrb xmm1, byte [rsi + r10 + 30], 10 - QUAD $0x1f167c203a0f4266; BYTE $0x0a // pinsrb xmm7, byte [rsi + r10 + 31], 10 - QUAD $0x1e3e4c203a0f4266; BYTE $0x0b // pinsrb xmm1, byte [rsi + r15 + 30], 11 - QUAD $0x1f3e7c203a0f4266; BYTE $0x0b // pinsrb xmm7, byte [rsi + r15 + 31], 11 - QUAD $0x0c1e1e4c203a0f66 // pinsrb xmm1, byte [rsi + rbx + 30], 12 - QUAD $0x0c1f1e7c203a0f66 // pinsrb xmm7, byte [rsi + rbx + 31], 12 - QUAD $0x1e0e4c203a0f4266; BYTE $0x0d // pinsrb xmm1, byte [rsi + r9 + 30], 13 - QUAD $0x1f0e7c203a0f4266; BYTE $0x0d // pinsrb xmm7, byte [rsi + r9 + 31], 13 - QUAD $0x1e064c203a0f4266; BYTE $0x0e // pinsrb xmm1, byte [rsi + r8 + 30], 14 - QUAD $0x1f067c203a0f4266; BYTE $0x0e // pinsrb xmm7, byte [rsi + r8 + 31], 14 - QUAD $0x0f1e0e4c203a0f66 // pinsrb xmm1, byte [rsi + rcx + 30], 15 - QUAD $0x0f1f0e7c203a0f66 // pinsrb xmm7, byte [rsi + rcx + 31], 15 + QUAD $0x1e1e4c203a0f4266; BYTE $0x09 // pinsrb xmm1, byte [rsi + r11 + 30], 9 + QUAD $0x1f1e7c203a0f4266; BYTE $0x09 // pinsrb xmm7, byte [rsi + r11 + 31], 9 + QUAD $0x1e3e4c203a0f4266; BYTE $0x0a // pinsrb xmm1, byte [rsi + r15 + 30], 10 + QUAD $0x1f3e7c203a0f4266; BYTE $0x0a // pinsrb xmm7, byte [rsi + r15 + 31], 10 + LONG $0x24048b48 // mov rax, qword [rsp] + QUAD $0x1e164c203a0f4266; BYTE $0x0b // pinsrb xmm1, byte [rsi + r10 + 30], 11 + QUAD $0x1f167c203a0f4266; BYTE $0x0b // pinsrb xmm7, byte [rsi + r10 + 31], 11 + QUAD $0x0c1e0e4c203a0f66 // pinsrb xmm1, byte [rsi + rcx + 30], 12 + QUAD $0x0c1f0e7c203a0f66 // pinsrb xmm7, byte [rsi + rcx + 31], 12 + QUAD $0x1e2e4c203a0f4266; BYTE $0x0d // pinsrb xmm1, byte [rsi + r13 + 30], 13 + QUAD $0x1f2e7c203a0f4266; BYTE $0x0d // pinsrb xmm7, byte [rsi + r13 + 31], 13 + QUAD $0x0e1e3e4c203a0f66 // pinsrb xmm1, byte [rsi + rdi + 30], 14 + QUAD $0x0e1f3e7c203a0f66 // pinsrb xmm7, byte [rsi + rdi + 31], 14 + QUAD $0x0f1e1e4c203a0f66 // pinsrb xmm1, byte [rsi + rbx + 30], 15 + QUAD $0x0f1f1e7c203a0f66 // pinsrb xmm7, byte [rsi + rbx + 31], 15 QUAD $0x000000d085df0f66 // pandn xmm0, oword 208[rbp] /* [rip + .LCPI7_13] */ QUAD $0x000000e0a5df0f66 // pandn xmm4, oword 224[rbp] /* [rip + .LCPI7_14] */ LONG $0xe0eb0f66 // por xmm4, xmm0 @@ -37439,9 +38842,9 @@ LBB7_67: LONG $0xcaeb0f66 // por xmm1, xmm2 LONG $0xc36f0f66 // movdqa xmm0, xmm3 LONG $0xc1600f66 // punpcklbw xmm0, xmm1 - QUAD $0x0000c024ac6f0f66; BYTE $0x00 // movdqa xmm5, oword [rsp + 192] + QUAD $0x0000d024ac6f0f66; BYTE $0x00 // movdqa xmm5, oword [rsp + 208] LONG $0xd56f0f66 // movdqa xmm2, xmm5 - QUAD $0x0000b024b46f0f66; BYTE $0x00 // movdqa xmm6, oword [rsp + 176] + QUAD $0x0000c024b46f0f66; BYTE $0x00 // movdqa xmm6, oword [rsp + 192] LONG $0xd6600f66 // punpcklbw xmm2, xmm6 LONG $0xe26f0f66 // movdqa xmm4, xmm2 LONG $0xe0610f66 // punpcklwd xmm4, xmm0 @@ -37451,437 +38854,34 @@ LBB7_67: LONG $0xc56f0f66 // movdqa xmm0, xmm5 LONG $0xc3610f66 // punpcklwd xmm0, xmm3 LONG $0xeb690f66 // punpckhwd xmm5, xmm3 - QUAD $0x00000090248c8b48 // mov rcx, qword [rsp + 144] + QUAD $0x000000b0248c8b48 // mov rcx, qword [rsp + 176] LONG $0x6c7f0ff3; WORD $0x3088 // movdqu oword [rax + 4*rcx + 48], xmm5 LONG $0x447f0ff3; WORD $0x2088 // movdqu oword [rax + 4*rcx + 32], xmm0 LONG $0x547f0ff3; WORD $0x1088 // movdqu oword [rax + 4*rcx + 16], xmm2 + LONG $0x24048948 // mov qword [rsp], rax LONG $0x247f0ff3; BYTE $0x88 // movdqu oword [rax + 4*rcx], xmm4 LONG $0x10c18348 // add rcx, 16 WORD $0x8948; BYTE $0xc8 // mov rax, rcx QUAD $0x000000e8248c3b48 // cmp rcx, qword [rsp + 232] JNE LBB7_67 - QUAD $0x0000010824948b4c // mov r10, qword [rsp + 264] - QUAD $0x000000e824943b4c // cmp r10, qword [rsp + 232] + QUAD $0x0000010824bc8b4c // mov r15, qword [rsp + 264] + QUAD $0x000000e824bc3b4c // cmp r15, qword [rsp + 232] QUAD $0x00000088249c8b4c // mov r11, qword [rsp + 136] - QUAD $0x0000014024b48b4c // mov r14, qword [rsp + 320] + LONG $0x24548a44; BYTE $0x08 // mov r10b, byte [rsp + 8] + QUAD $0x0000014024a48b4c // mov r12, qword [rsp + 320] JNE LBB7_69 JMP LBB7_72 -LBB7_180: - WORD $0x894d; BYTE $0xd0 // mov r8, r10 - LONG $0xfce08349 // and r8, -4 - WORD $0x894c; BYTE $0xc3 // mov rbx, r8 - LONG $0x07e3c148 // shl rbx, 7 - WORD $0x0148; BYTE $0xf3 // add rbx, rsi - LONG $0x84348d4f // lea r14, [r12 + 4*r8] - LONG $0xeb280f45 // movaps xmm13, xmm11 - LONG $0xebc60f45; BYTE $0x00 // shufps xmm13, xmm11, 0 - LONG $0xfcc68148; WORD $0x0001; BYTE $0x00 // add rsi, 508 - WORD $0xc931 // xor ecx, ecx - LONG $0x6f0f4466; WORD $0x007d // movdqa xmm15, oword 0[rbp] /* [rip + .LCPI7_0] */ - -LBB7_181: - QUAD $0xfffffe049e100ff3 // movss xmm3, dword [rsi - 508] - QUAD $0xfffe0896100f44f3; BYTE $0xff // movss xmm10, dword [rsi - 504] - QUAD $0xfffe0c8e100f44f3; BYTE $0xff // movss xmm9, dword [rsi - 500] - QUAD $0xfffffe108e100ff3 // movss xmm1, dword [rsi - 496] - QUAD $0xfffe849e213a0f66; WORD $0x10ff // insertps xmm3, dword [rsi - 380], 16 - QUAD $0xffff049e213a0f66; WORD $0x20ff // insertps xmm3, dword [rsi - 252], 32 - LONG $0x213a0f66; WORD $0x845e; BYTE $0x30 // insertps xmm3, dword [rsi - 124], 48 - QUAD $0xfe8896213a0f4466; WORD $0xffff; BYTE $0x10 // insertps xmm10, dword [rsi - 376], 16 - QUAD $0xff0896213a0f4466; WORD $0xffff; BYTE $0x20 // insertps xmm10, dword [rsi - 248], 32 - QUAD $0x308856213a0f4466 // insertps xmm10, dword [rsi - 120], 48 - QUAD $0xfe8c8e213a0f4466; WORD $0xffff; BYTE $0x10 // insertps xmm9, dword [rsi - 372], 16 - QUAD $0xff0c8e213a0f4466; WORD $0xffff; BYTE $0x20 // insertps xmm9, dword [rsi - 244], 32 - QUAD $0x308c4e213a0f4466 // insertps xmm9, dword [rsi - 116], 48 - QUAD $0xfffe908e213a0f66; WORD $0x10ff // insertps xmm1, dword [rsi - 368], 16 - QUAD $0xffff108e213a0f66; WORD $0x20ff // insertps xmm1, dword [rsi - 240], 32 - LONG $0x213a0f66; WORD $0x904e; BYTE $0x30 // insertps xmm1, dword [rsi - 112], 48 - QUAD $0xfffe1486100f44f3; BYTE $0xff // movss xmm8, dword [rsi - 492] - QUAD $0xfe9486213a0f4466; WORD $0xffff; BYTE $0x10 // insertps xmm8, dword [rsi - 364], 16 - QUAD $0xff1486213a0f4466; WORD $0xffff; BYTE $0x20 // insertps xmm8, dword [rsi - 236], 32 - LONG $0xe5280f45 // movaps xmm12, xmm13 - QUAD $0x309446213a0f4466 // insertps xmm8, dword [rsi - 108], 48 - QUAD $0xfffffe1896100ff3 // movss xmm2, dword [rsi - 488] - QUAD $0xfffe9896213a0f66; WORD $0x10ff // insertps xmm2, dword [rsi - 360], 16 - QUAD $0xffff1896213a0f66; WORD $0x20ff // insertps xmm2, dword [rsi - 232], 32 - LONG $0xe3c20f44; BYTE $0x01 // cmpltps xmm12, xmm3 - LONG $0x213a0f66; WORD $0x9856; BYTE $0x30 // insertps xmm2, dword [rsi - 104], 48 - QUAD $0xfffffe1c9e100ff3 // movss xmm3, dword [rsi - 484] - QUAD $0xfffe9c9e213a0f66; WORD $0x10ff // insertps xmm3, dword [rsi - 356], 16 - QUAD $0xffff1c9e213a0f66; WORD $0x20ff // insertps xmm3, dword [rsi - 228], 32 - LONG $0x6b0f4566; BYTE $0xe4 // packssdw xmm12, xmm12 - LONG $0x213a0f66; WORD $0x9c5e; BYTE $0x30 // insertps xmm3, dword [rsi - 100], 48 - QUAD $0xfffffe24a6100ff3 // movss xmm4, dword [rsi - 476] - QUAD $0xfffea4a6213a0f66; WORD $0x10ff // insertps xmm4, dword [rsi - 348], 16 - QUAD $0xffff24a6213a0f66; WORD $0x20ff // insertps xmm4, dword [rsi - 220], 32 - LONG $0x630f4566; BYTE $0xe4 // packsswb xmm12, xmm12 - LONG $0x213a0f66; WORD $0xa466; BYTE $0x30 // insertps xmm4, dword [rsi - 92], 48 - LONG $0xfd280f41 // movaps xmm7, xmm13 - QUAD $0xfffffe44ae100ff3 // movss xmm5, dword [rsi - 444] - QUAD $0xfffec4ae213a0f66; WORD $0x10ff // insertps xmm5, dword [rsi - 316], 16 - QUAD $0xffff44ae213a0f66; WORD $0x20ff // insertps xmm5, dword [rsi - 188], 32 - LONG $0x01fcc20f // cmpltps xmm7, xmm4 - LONG $0x213a0f66; WORD $0xc46e; BYTE $0x30 // insertps xmm5, dword [rsi - 60], 48 - LONG $0xf5280f41 // movaps xmm6, xmm13 - QUAD $0xfffffe6486100ff3 // movss xmm0, dword [rsi - 412] - QUAD $0xfffee486213a0f66; WORD $0x10ff // insertps xmm0, dword [rsi - 284], 16 - QUAD $0xffff6486213a0f66; WORD $0x20ff // insertps xmm0, dword [rsi - 156], 32 - LONG $0x01f5c20f // cmpltps xmm6, xmm5 - LONG $0x213a0f66; WORD $0xe446; BYTE $0x30 // insertps xmm0, dword [rsi - 28], 48 - LONG $0xe5280f41 // movaps xmm4, xmm13 - LONG $0x01e0c20f // cmpltps xmm4, xmm0 - LONG $0xc5280f41 // movaps xmm0, xmm13 - LONG $0xc2c20f41; BYTE $0x01 // cmpltps xmm0, xmm10 - LONG $0xc06b0f66 // packssdw xmm0, xmm0 - LONG $0xc0630f66 // packsswb xmm0, xmm0 - LONG $0x6f0f4466; BYTE $0xf0 // movdqa xmm14, xmm0 - LONG $0xdb0f4566; BYTE $0xf7 // pand xmm14, xmm15 - LONG $0xf80f4466; BYTE $0xf0 // psubb xmm14, xmm0 - QUAD $0xfffe2096100f44f3; BYTE $0xff // movss xmm10, dword [rsi - 480] - QUAD $0xfea096213a0f4466; WORD $0xffff; BYTE $0x10 // insertps xmm10, dword [rsi - 352], 16 - LONG $0xdb0f4566; BYTE $0xe7 // pand xmm12, xmm15 - QUAD $0xff2096213a0f4466; WORD $0xffff; BYTE $0x20 // insertps xmm10, dword [rsi - 224], 32 - LONG $0xeb0f4566; BYTE $0xf4 // por xmm14, xmm12 - LONG $0xed280f41 // movaps xmm5, xmm13 - LONG $0xe9c20f41; BYTE $0x01 // cmpltps xmm5, xmm9 - QUAD $0x30a056213a0f4466 // insertps xmm10, dword [rsi - 96], 48 - LONG $0xed6b0f66 // packssdw xmm5, xmm5 - LONG $0xed630f66 // packsswb xmm5, xmm5 - LONG $0xdb0f4166; BYTE $0xef // pand xmm5, xmm15 - LONG $0xf5710f66; BYTE $0x02 // psllw xmm5, 2 - LONG $0x456f0f66; BYTE $0x10 // movdqa xmm0, oword 16[rbp] /* [rip + .LCPI7_1] */ - LONG $0xe8db0f66 // pand xmm5, xmm0 - LONG $0xeb0f4166; BYTE $0xee // por xmm5, xmm14 - LONG $0xc5280f41 // movaps xmm0, xmm13 - LONG $0x01c1c20f // cmpltps xmm0, xmm1 - LONG $0xcd280f41 // movaps xmm1, xmm13 - LONG $0xc8c20f41; BYTE $0x01 // cmpltps xmm1, xmm8 - QUAD $0xfffe288e100f44f3; BYTE $0xff // movss xmm9, dword [rsi - 472] - QUAD $0xfea88e213a0f4466; WORD $0xffff; BYTE $0x10 // insertps xmm9, dword [rsi - 344], 16 - QUAD $0xff288e213a0f4466; WORD $0xffff; BYTE $0x20 // insertps xmm9, dword [rsi - 216], 32 - QUAD $0x30a84e213a0f4466 // insertps xmm9, dword [rsi - 88], 48 - LONG $0xc06b0f66 // packssdw xmm0, xmm0 - LONG $0xc0630f66 // packsswb xmm0, xmm0 - LONG $0xdb0f4166; BYTE $0xc7 // pand xmm0, xmm15 - LONG $0xf0710f66; BYTE $0x03 // psllw xmm0, 3 - LONG $0x6f0f4466; WORD $0x2075 // movdqa xmm14, oword 32[rbp] /* [rip + .LCPI7_2] */ - LONG $0xdb0f4166; BYTE $0xc6 // pand xmm0, xmm14 - LONG $0xc96b0f66 // packssdw xmm1, xmm1 - LONG $0xc9630f66 // packsswb xmm1, xmm1 - LONG $0xdb0f4166; BYTE $0xcf // pand xmm1, xmm15 - LONG $0xf1710f66; BYTE $0x04 // psllw xmm1, 4 - LONG $0x6f0f4466; WORD $0x3075 // movdqa xmm14, oword 48[rbp] /* [rip + .LCPI7_3] */ - LONG $0xdb0f4166; BYTE $0xce // pand xmm1, xmm14 - LONG $0xc8eb0f66 // por xmm1, xmm0 - QUAD $0xfffe2ca6100f44f3; BYTE $0xff // movss xmm12, dword [rsi - 468] - QUAD $0xfeaca6213a0f4466; WORD $0xffff; BYTE $0x10 // insertps xmm12, dword [rsi - 340], 16 - QUAD $0xff2ca6213a0f4466; WORD $0xffff; BYTE $0x20 // insertps xmm12, dword [rsi - 212], 32 - QUAD $0x30ac66213a0f4466 // insertps xmm12, dword [rsi - 84], 48 - LONG $0xcdeb0f66 // por xmm1, xmm5 - LONG $0xc5280f41 // movaps xmm0, xmm13 - LONG $0x01c2c20f // cmpltps xmm0, xmm2 - LONG $0xed280f41 // movaps xmm5, xmm13 - LONG $0x01ebc20f // cmpltps xmm5, xmm3 - QUAD $0xfffffe3096100ff3 // movss xmm2, dword [rsi - 464] - QUAD $0xfffeb096213a0f66; WORD $0x10ff // insertps xmm2, dword [rsi - 336], 16 - QUAD $0xffff3096213a0f66; WORD $0x20ff // insertps xmm2, dword [rsi - 208], 32 - LONG $0xff6b0f66 // packssdw xmm7, xmm7 - LONG $0x213a0f66; WORD $0xb056; BYTE $0x30 // insertps xmm2, dword [rsi - 80], 48 - LONG $0xc06b0f66 // packssdw xmm0, xmm0 - LONG $0xc0630f66 // packsswb xmm0, xmm0 - LONG $0xdb0f4166; BYTE $0xc7 // pand xmm0, xmm15 - LONG $0xf0710f66; BYTE $0x05 // psllw xmm0, 5 - LONG $0x6f0f4466; WORD $0x4075 // movdqa xmm14, oword 64[rbp] /* [rip + .LCPI7_4] */ - LONG $0xdb0f4166; BYTE $0xc6 // pand xmm0, xmm14 - LONG $0xed6b0f66 // packssdw xmm5, xmm5 - LONG $0xed630f66 // packsswb xmm5, xmm5 - LONG $0xdb0f4166; BYTE $0xef // pand xmm5, xmm15 - LONG $0xf5710f66; BYTE $0x06 // psllw xmm5, 6 - LONG $0x5d6f0f66; BYTE $0x50 // movdqa xmm3, oword 80[rbp] /* [rip + .LCPI7_5] */ - LONG $0xebdb0f66 // pand xmm5, xmm3 - LONG $0xe8eb0f66 // por xmm5, xmm0 - LONG $0xc5280f45 // movaps xmm8, xmm13 - LONG $0xc2c20f45; BYTE $0x01 // cmpltps xmm8, xmm10 - QUAD $0xfffffe349e100ff3 // movss xmm3, dword [rsi - 460] - QUAD $0xfffeb49e213a0f66; WORD $0x10ff // insertps xmm3, dword [rsi - 332], 16 - QUAD $0xffff349e213a0f66; WORD $0x20ff // insertps xmm3, dword [rsi - 204], 32 - LONG $0x213a0f66; WORD $0xb45e; BYTE $0x30 // insertps xmm3, dword [rsi - 76], 48 - LONG $0x6b0f4566; BYTE $0xc0 // packssdw xmm8, xmm8 - LONG $0x630f4566; BYTE $0xc0 // packsswb xmm8, xmm8 - LONG $0x710f4166; WORD $0x07f0 // psllw xmm8, 7 - LONG $0x456f0f66; BYTE $0x60 // movdqa xmm0, oword 96[rbp] /* [rip + .LCPI7_6] */ - LONG $0xdb0f4466; BYTE $0xc0 // pand xmm8, xmm0 - LONG $0xeb0f4466; BYTE $0xc5 // por xmm8, xmm5 - QUAD $0xfffe3896100f44f3; BYTE $0xff // movss xmm10, dword [rsi - 456] - QUAD $0xfeb896213a0f4466; WORD $0xffff; BYTE $0x10 // insertps xmm10, dword [rsi - 328], 16 - QUAD $0xff3896213a0f4466; WORD $0xffff; BYTE $0x20 // insertps xmm10, dword [rsi - 200], 32 - LONG $0xff630f66 // packsswb xmm7, xmm7 - QUAD $0x30b856213a0f4466 // insertps xmm10, dword [rsi - 72], 48 - LONG $0xeb0f4466; BYTE $0xc1 // por xmm8, xmm1 - LONG $0xc5280f41 // movaps xmm0, xmm13 - LONG $0xc1c20f41; BYTE $0x01 // cmpltps xmm0, xmm9 - LONG $0xc06b0f66 // packssdw xmm0, xmm0 - LONG $0xc0630f66 // packsswb xmm0, xmm0 - LONG $0xc86f0f66 // movdqa xmm1, xmm0 - LONG $0xdb0f4166; BYTE $0xcf // pand xmm1, xmm15 - LONG $0xc8f80f66 // psubb xmm1, xmm0 - QUAD $0xfffe3c8e100f44f3; BYTE $0xff // movss xmm9, dword [rsi - 452] - QUAD $0xfebc8e213a0f4466; WORD $0xffff; BYTE $0x10 // insertps xmm9, dword [rsi - 324], 16 - LONG $0xdb0f4166; BYTE $0xff // pand xmm7, xmm15 - QUAD $0xff3c8e213a0f4466; WORD $0xffff; BYTE $0x20 // insertps xmm9, dword [rsi - 196], 32 - LONG $0xcfeb0f66 // por xmm1, xmm7 - LONG $0xed280f41 // movaps xmm5, xmm13 - LONG $0xecc20f41; BYTE $0x01 // cmpltps xmm5, xmm12 - QUAD $0x30bc4e213a0f4466 // insertps xmm9, dword [rsi - 68], 48 - LONG $0xed6b0f66 // packssdw xmm5, xmm5 - LONG $0xed630f66 // packsswb xmm5, xmm5 - LONG $0xdb0f4166; BYTE $0xef // pand xmm5, xmm15 - LONG $0xf5710f66; BYTE $0x02 // psllw xmm5, 2 - LONG $0x6ddb0f66; BYTE $0x10 // pand xmm5, oword 16[rbp] /* [rip + .LCPI7_1] */ - LONG $0xe9eb0f66 // por xmm5, xmm1 - LONG $0xc5280f41 // movaps xmm0, xmm13 - LONG $0x01c2c20f // cmpltps xmm0, xmm2 - LONG $0xcd280f41 // movaps xmm1, xmm13 - LONG $0x01cbc20f // cmpltps xmm1, xmm3 - QUAD $0xfffffe409e100ff3 // movss xmm3, dword [rsi - 448] - QUAD $0xfffec09e213a0f66; WORD $0x10ff // insertps xmm3, dword [rsi - 320], 16 - QUAD $0xffff409e213a0f66; WORD $0x20ff // insertps xmm3, dword [rsi - 192], 32 - LONG $0x213a0f66; WORD $0xc05e; BYTE $0x30 // insertps xmm3, dword [rsi - 64], 48 - LONG $0xc06b0f66 // packssdw xmm0, xmm0 - LONG $0xc0630f66 // packsswb xmm0, xmm0 - LONG $0xdb0f4166; BYTE $0xc7 // pand xmm0, xmm15 - LONG $0xf0710f66; BYTE $0x03 // psllw xmm0, 3 - LONG $0x6f0f4466; WORD $0x2065 // movdqa xmm12, oword 32[rbp] /* [rip + .LCPI7_2] */ - LONG $0xdb0f4166; BYTE $0xc4 // pand xmm0, xmm12 - LONG $0xc96b0f66 // packssdw xmm1, xmm1 - LONG $0xc9630f66 // packsswb xmm1, xmm1 - LONG $0xdb0f4166; BYTE $0xcf // pand xmm1, xmm15 - LONG $0xf1710f66; BYTE $0x04 // psllw xmm1, 4 - LONG $0x4ddb0f66; BYTE $0x30 // pand xmm1, oword 48[rbp] /* [rip + .LCPI7_3] */ - LONG $0xc8eb0f66 // por xmm1, xmm0 - QUAD $0xfffffe4896100ff3 // movss xmm2, dword [rsi - 440] - QUAD $0xfffec896213a0f66; WORD $0x10ff // insertps xmm2, dword [rsi - 312], 16 - QUAD $0xffff4896213a0f66; WORD $0x20ff // insertps xmm2, dword [rsi - 184], 32 - LONG $0x213a0f66; WORD $0xc856; BYTE $0x30 // insertps xmm2, dword [rsi - 56], 48 - LONG $0xcdeb0f66 // por xmm1, xmm5 - LONG $0xc5280f41 // movaps xmm0, xmm13 - LONG $0xc2c20f41; BYTE $0x01 // cmpltps xmm0, xmm10 - LONG $0xed280f41 // movaps xmm5, xmm13 - LONG $0xe9c20f41; BYTE $0x01 // cmpltps xmm5, xmm9 - QUAD $0xfffffe4cbe100ff3 // movss xmm7, dword [rsi - 436] - QUAD $0xfffeccbe213a0f66; WORD $0x10ff // insertps xmm7, dword [rsi - 308], 16 - QUAD $0xffff4cbe213a0f66; WORD $0x20ff // insertps xmm7, dword [rsi - 180], 32 - LONG $0xf66b0f66 // packssdw xmm6, xmm6 - LONG $0x213a0f66; WORD $0xcc7e; BYTE $0x30 // insertps xmm7, dword [rsi - 52], 48 - LONG $0xc06b0f66 // packssdw xmm0, xmm0 - LONG $0xc0630f66 // packsswb xmm0, xmm0 - LONG $0xdb0f4166; BYTE $0xc7 // pand xmm0, xmm15 - LONG $0xf0710f66; BYTE $0x05 // psllw xmm0, 5 - LONG $0xdb0f4166; BYTE $0xc6 // pand xmm0, xmm14 - LONG $0xed6b0f66 // packssdw xmm5, xmm5 - LONG $0xed630f66 // packsswb xmm5, xmm5 - LONG $0xdb0f4166; BYTE $0xef // pand xmm5, xmm15 - LONG $0xf5710f66; BYTE $0x06 // psllw xmm5, 6 - LONG $0x6ddb0f66; BYTE $0x50 // pand xmm5, oword 80[rbp] /* [rip + .LCPI7_5] */ - LONG $0xe8eb0f66 // por xmm5, xmm0 - LONG $0xc5280f41 // movaps xmm0, xmm13 - LONG $0x01c3c20f // cmpltps xmm0, xmm3 - QUAD $0xfffffe509e100ff3 // movss xmm3, dword [rsi - 432] - QUAD $0xfffed09e213a0f66; WORD $0x10ff // insertps xmm3, dword [rsi - 304], 16 - QUAD $0xffff509e213a0f66; WORD $0x20ff // insertps xmm3, dword [rsi - 176], 32 - LONG $0x213a0f66; WORD $0xd05e; BYTE $0x30 // insertps xmm3, dword [rsi - 48], 48 - LONG $0xc06b0f66 // packssdw xmm0, xmm0 - LONG $0xc0630f66 // packsswb xmm0, xmm0 - LONG $0xf0710f66; BYTE $0x07 // psllw xmm0, 7 - LONG $0x6f0f4466; WORD $0x6055 // movdqa xmm10, oword 96[rbp] /* [rip + .LCPI7_6] */ - LONG $0xdb0f4166; BYTE $0xc2 // pand xmm0, xmm10 - LONG $0xc5eb0f66 // por xmm0, xmm5 - QUAD $0xfffffe54ae100ff3 // movss xmm5, dword [rsi - 428] - QUAD $0xfffed4ae213a0f66; WORD $0x10ff // insertps xmm5, dword [rsi - 300], 16 - QUAD $0xffff54ae213a0f66; WORD $0x20ff // insertps xmm5, dword [rsi - 172], 32 - LONG $0x213a0f66; WORD $0xd46e; BYTE $0x30 // insertps xmm5, dword [rsi - 44], 48 - LONG $0xc1eb0f66 // por xmm0, xmm1 - QUAD $0xfffe588e100f44f3; BYTE $0xff // movss xmm9, dword [rsi - 424] - QUAD $0xfed88e213a0f4466; WORD $0xffff; BYTE $0x10 // insertps xmm9, dword [rsi - 296], 16 - QUAD $0xff588e213a0f4466; WORD $0xffff; BYTE $0x20 // insertps xmm9, dword [rsi - 168], 32 - LONG $0xf6630f66 // packsswb xmm6, xmm6 - QUAD $0x30d84e213a0f4466 // insertps xmm9, dword [rsi - 40], 48 - LONG $0x620f4466; BYTE $0xc0 // punpckldq xmm8, xmm0 - LONG $0xc5280f41 // movaps xmm0, xmm13 - LONG $0x01c2c20f // cmpltps xmm0, xmm2 - LONG $0xc06b0f66 // packssdw xmm0, xmm0 - LONG $0xc0630f66 // packsswb xmm0, xmm0 - LONG $0xc86f0f66 // movdqa xmm1, xmm0 - LONG $0xdb0f4166; BYTE $0xcf // pand xmm1, xmm15 - LONG $0xc8f80f66 // psubb xmm1, xmm0 - QUAD $0xfffffe5c96100ff3 // movss xmm2, dword [rsi - 420] - QUAD $0xfffedc96213a0f66; WORD $0x10ff // insertps xmm2, dword [rsi - 292], 16 - LONG $0xdb0f4166; BYTE $0xf7 // pand xmm6, xmm15 - QUAD $0xffff5c96213a0f66; WORD $0x20ff // insertps xmm2, dword [rsi - 164], 32 - LONG $0xceeb0f66 // por xmm1, xmm6 - LONG $0xf5280f41 // movaps xmm6, xmm13 - LONG $0x01f7c20f // cmpltps xmm6, xmm7 - LONG $0x213a0f66; WORD $0xdc56; BYTE $0x30 // insertps xmm2, dword [rsi - 36], 48 - LONG $0xf66b0f66 // packssdw xmm6, xmm6 - LONG $0xf6630f66 // packsswb xmm6, xmm6 - LONG $0xdb0f4166; BYTE $0xf7 // pand xmm6, xmm15 - LONG $0xf6710f66; BYTE $0x02 // psllw xmm6, 2 - LONG $0x456f0f66; BYTE $0x10 // movdqa xmm0, oword 16[rbp] /* [rip + .LCPI7_1] */ - LONG $0xf0db0f66 // pand xmm6, xmm0 - LONG $0xf1eb0f66 // por xmm6, xmm1 - LONG $0xc5280f41 // movaps xmm0, xmm13 - LONG $0x01c3c20f // cmpltps xmm0, xmm3 - LONG $0xcd280f41 // movaps xmm1, xmm13 - LONG $0x01cdc20f // cmpltps xmm1, xmm5 - QUAD $0xfffffe609e100ff3 // movss xmm3, dword [rsi - 416] - QUAD $0xfffee09e213a0f66; WORD $0x10ff // insertps xmm3, dword [rsi - 288], 16 - QUAD $0xffff609e213a0f66; WORD $0x20ff // insertps xmm3, dword [rsi - 160], 32 - LONG $0x213a0f66; WORD $0xe05e; BYTE $0x30 // insertps xmm3, dword [rsi - 32], 48 - LONG $0xc06b0f66 // packssdw xmm0, xmm0 - LONG $0xc0630f66 // packsswb xmm0, xmm0 - LONG $0xdb0f4166; BYTE $0xc7 // pand xmm0, xmm15 - LONG $0xf0710f66; BYTE $0x03 // psllw xmm0, 3 - LONG $0xdb0f4166; BYTE $0xc4 // pand xmm0, xmm12 - LONG $0xc96b0f66 // packssdw xmm1, xmm1 - LONG $0xc9630f66 // packsswb xmm1, xmm1 - LONG $0xdb0f4166; BYTE $0xcf // pand xmm1, xmm15 - LONG $0xf1710f66; BYTE $0x04 // psllw xmm1, 4 - LONG $0x6f0f4466; WORD $0x3065 // movdqa xmm12, oword 48[rbp] /* [rip + .LCPI7_3] */ - LONG $0xdb0f4166; BYTE $0xcc // pand xmm1, xmm12 - LONG $0xc8eb0f66 // por xmm1, xmm0 - QUAD $0xfffffe68ae100ff3 // movss xmm5, dword [rsi - 408] - QUAD $0xfffee8ae213a0f66; WORD $0x10ff // insertps xmm5, dword [rsi - 280], 16 - QUAD $0xffff68ae213a0f66; WORD $0x20ff // insertps xmm5, dword [rsi - 152], 32 - LONG $0x213a0f66; WORD $0xe86e; BYTE $0x30 // insertps xmm5, dword [rsi - 24], 48 - LONG $0xceeb0f66 // por xmm1, xmm6 - LONG $0xc5280f41 // movaps xmm0, xmm13 - LONG $0xc1c20f41; BYTE $0x01 // cmpltps xmm0, xmm9 - LONG $0xf5280f41 // movaps xmm6, xmm13 - LONG $0x01f2c20f // cmpltps xmm6, xmm2 - QUAD $0xfffffe6cbe100ff3 // movss xmm7, dword [rsi - 404] - QUAD $0xfffeecbe213a0f66; WORD $0x10ff // insertps xmm7, dword [rsi - 276], 16 - QUAD $0xffff6cbe213a0f66; WORD $0x20ff // insertps xmm7, dword [rsi - 148], 32 - LONG $0xe46b0f66 // packssdw xmm4, xmm4 - LONG $0x213a0f66; WORD $0xec7e; BYTE $0x30 // insertps xmm7, dword [rsi - 20], 48 - LONG $0xc06b0f66 // packssdw xmm0, xmm0 - LONG $0xc0630f66 // packsswb xmm0, xmm0 - LONG $0xdb0f4166; BYTE $0xc7 // pand xmm0, xmm15 - LONG $0xf0710f66; BYTE $0x05 // psllw xmm0, 5 - LONG $0xdb0f4166; BYTE $0xc6 // pand xmm0, xmm14 - LONG $0xf66b0f66 // packssdw xmm6, xmm6 - LONG $0xf6630f66 // packsswb xmm6, xmm6 - LONG $0xdb0f4166; BYTE $0xf7 // pand xmm6, xmm15 - LONG $0xf6710f66; BYTE $0x06 // psllw xmm6, 6 - LONG $0x6f0f4466; WORD $0x504d // movdqa xmm9, oword 80[rbp] /* [rip + .LCPI7_5] */ - LONG $0xdb0f4166; BYTE $0xf1 // pand xmm6, xmm9 - LONG $0xf0eb0f66 // por xmm6, xmm0 - LONG $0xd5280f41 // movaps xmm2, xmm13 - LONG $0x01d3c20f // cmpltps xmm2, xmm3 - QUAD $0xfffffe7086100ff3 // movss xmm0, dword [rsi - 400] - QUAD $0xfffef086213a0f66; WORD $0x10ff // insertps xmm0, dword [rsi - 272], 16 - QUAD $0xffff7086213a0f66; WORD $0x20ff // insertps xmm0, dword [rsi - 144], 32 - LONG $0x213a0f66; WORD $0xf046; BYTE $0x30 // insertps xmm0, dword [rsi - 16], 48 - LONG $0xd26b0f66 // packssdw xmm2, xmm2 - LONG $0xd2630f66 // packsswb xmm2, xmm2 - LONG $0xf2710f66; BYTE $0x07 // psllw xmm2, 7 - LONG $0xdb0f4166; BYTE $0xd2 // pand xmm2, xmm10 - LONG $0xd6eb0f66 // por xmm2, xmm6 - QUAD $0xfffffe74b6100ff3 // movss xmm6, dword [rsi - 396] - QUAD $0xfffef4b6213a0f66; WORD $0x10ff // insertps xmm6, dword [rsi - 268], 16 - QUAD $0xffff74b6213a0f66; WORD $0x20ff // insertps xmm6, dword [rsi - 140], 32 - LONG $0xe4630f66 // packsswb xmm4, xmm4 - LONG $0x213a0f66; WORD $0xf476; BYTE $0x30 // insertps xmm6, dword [rsi - 12], 48 - LONG $0xd1eb0f66 // por xmm2, xmm1 - LONG $0xcd280f41 // movaps xmm1, xmm13 - LONG $0x01cdc20f // cmpltps xmm1, xmm5 - LONG $0xc96b0f66 // packssdw xmm1, xmm1 - LONG $0xc9630f66 // packsswb xmm1, xmm1 - LONG $0xe96f0f66 // movdqa xmm5, xmm1 - LONG $0xdb0f4166; BYTE $0xef // pand xmm5, xmm15 - LONG $0xe9f80f66 // psubb xmm5, xmm1 - QUAD $0xfffffe789e100ff3 // movss xmm3, dword [rsi - 392] - QUAD $0xfffef89e213a0f66; WORD $0x10ff // insertps xmm3, dword [rsi - 264], 16 - LONG $0xdb0f4166; BYTE $0xe7 // pand xmm4, xmm15 - QUAD $0xffff789e213a0f66; WORD $0x20ff // insertps xmm3, dword [rsi - 136], 32 - LONG $0xeceb0f66 // por xmm5, xmm4 - LONG $0xe5280f41 // movaps xmm4, xmm13 - LONG $0x01e7c20f // cmpltps xmm4, xmm7 - LONG $0x213a0f66; WORD $0xf85e; BYTE $0x30 // insertps xmm3, dword [rsi - 8], 48 - LONG $0xe46b0f66 // packssdw xmm4, xmm4 - LONG $0xe4630f66 // packsswb xmm4, xmm4 - LONG $0xdb0f4166; BYTE $0xe7 // pand xmm4, xmm15 - LONG $0xf4710f66; BYTE $0x02 // psllw xmm4, 2 - LONG $0x65db0f66; BYTE $0x10 // pand xmm4, oword 16[rbp] /* [rip + .LCPI7_1] */ - LONG $0xe5eb0f66 // por xmm4, xmm5 - LONG $0xed280f41 // movaps xmm5, xmm13 - LONG $0x01e8c20f // cmpltps xmm5, xmm0 - LONG $0xcd280f41 // movaps xmm1, xmm13 - LONG $0x01cec20f // cmpltps xmm1, xmm6 - QUAD $0xfffffe7c86100ff3 // movss xmm0, dword [rsi - 388] - QUAD $0xfffefc86213a0f66; WORD $0x10ff // insertps xmm0, dword [rsi - 260], 16 - QUAD $0xffff7c86213a0f66; WORD $0x20ff // insertps xmm0, dword [rsi - 132], 32 - LONG $0x213a0f66; WORD $0xfc46; BYTE $0x30 // insertps xmm0, dword [rsi - 4], 48 - LONG $0xed6b0f66 // packssdw xmm5, xmm5 - LONG $0xed630f66 // packsswb xmm5, xmm5 - LONG $0xdb0f4166; BYTE $0xef // pand xmm5, xmm15 - LONG $0xf5710f66; BYTE $0x03 // psllw xmm5, 3 - LONG $0x6ddb0f66; BYTE $0x20 // pand xmm5, oword 32[rbp] /* [rip + .LCPI7_2] */ - LONG $0xc96b0f66 // packssdw xmm1, xmm1 - LONG $0xc9630f66 // packsswb xmm1, xmm1 - LONG $0xdb0f4166; BYTE $0xcf // pand xmm1, xmm15 - LONG $0xf1710f66; BYTE $0x04 // psllw xmm1, 4 - LONG $0xdb0f4166; BYTE $0xcc // pand xmm1, xmm12 - LONG $0xcdeb0f66 // por xmm1, xmm5 - QUAD $0xfffffe80ae100ff3 // movss xmm5, dword [rsi - 384] - QUAD $0xffff00ae213a0f66; WORD $0x10ff // insertps xmm5, dword [rsi - 256], 16 - LONG $0x213a0f66; WORD $0x806e; BYTE $0x20 // insertps xmm5, dword [rsi - 128], 32 - LONG $0xcceb0f66 // por xmm1, xmm4 - LONG $0xe5280f41 // movaps xmm4, xmm13 - LONG $0x01e3c20f // cmpltps xmm4, xmm3 - LONG $0xdd280f41 // movaps xmm3, xmm13 - LONG $0x01d8c20f // cmpltps xmm3, xmm0 - LONG $0x213a0f66; WORD $0x302e // insertps xmm5, dword [rsi], 48 - LONG $0xe46b0f66 // packssdw xmm4, xmm4 - LONG $0xe4630f66 // packsswb xmm4, xmm4 - LONG $0xdb0f4166; BYTE $0xe7 // pand xmm4, xmm15 - LONG $0xf4710f66; BYTE $0x05 // psllw xmm4, 5 - LONG $0xdb0f4166; BYTE $0xe6 // pand xmm4, xmm14 - LONG $0xdb6b0f66 // packssdw xmm3, xmm3 - LONG $0xdb630f66 // packsswb xmm3, xmm3 - LONG $0xdb0f4166; BYTE $0xdf // pand xmm3, xmm15 - LONG $0xf3710f66; BYTE $0x06 // psllw xmm3, 6 - LONG $0xdb0f4166; BYTE $0xd9 // pand xmm3, xmm9 - LONG $0xdceb0f66 // por xmm3, xmm4 - LONG $0xc5280f41 // movaps xmm0, xmm13 - LONG $0x01c5c20f // cmpltps xmm0, xmm5 - LONG $0xc06b0f66 // packssdw xmm0, xmm0 - LONG $0xc0630f66 // packsswb xmm0, xmm0 - LONG $0xf0710f66; BYTE $0x07 // psllw xmm0, 7 - LONG $0xdb0f4166; BYTE $0xc2 // pand xmm0, xmm10 - LONG $0xc3eb0f66 // por xmm0, xmm3 - LONG $0xc1eb0f66 // por xmm0, xmm1 - LONG $0xd0620f66 // punpckldq xmm2, xmm0 - LONG $0x600f4466; BYTE $0xc2 // punpcklbw xmm8, xmm2 - LONG $0x380f4466; WORD $0x4500; BYTE $0x70 // pshufb xmm8, oword 112[rbp] /* [rip + .LCPI7_7] */ - LONG $0x7f0f45f3; WORD $0x8c04 // movdqu oword [r12 + 4*rcx], xmm8 - LONG $0x04c18348 // add rcx, 4 - LONG $0x00c68148; WORD $0x0002; BYTE $0x00 // add rsi, 512 - WORD $0x3949; BYTE $0xc8 // cmp r8, rcx - JNE LBB7_181 - WORD $0x394d; BYTE $0xc2 // cmp r10, r8 - JNE LBB7_183 - JMP LBB7_186 - -LBB7_122: - LONG $0xf8e68349 // and r14, -8 - WORD $0x894c; BYTE $0xf0 // mov rax, r14 +LBB7_124: + LONG $0xf8e78349 // and r15, -8 + WORD $0x894c; BYTE $0xf8 // mov rax, r15 LONG $0x06e0c148 // shl rax, 6 WORD $0x0148; BYTE $0xf0 // add rax, rsi - LONG $0x24448948; BYTE $0x30 // mov qword [rsp + 48], rax - LONG $0x2474894c; BYTE $0x18 // mov qword [rsp + 24], r14 - LONG $0xb4048d4b // lea rax, [r12 + 4*r14] - LONG $0x24048948 // mov qword [rsp], rax + LONG $0x24448948; BYTE $0x38 // mov qword [rsp + 56], rax + LONG $0x247c894c; BYTE $0x28 // mov qword [rsp + 40], r15 + LONG $0x24048b48 // mov rax, qword [rsp] + LONG $0xb8048d4a // lea rax, [rax + 4*r15] + LONG $0x24448948; BYTE $0x08 // mov qword [rsp + 8], rax QUAD $0x0000f024846e0f66; BYTE $0x00 // movd xmm0, dword [rsp + 240] LONG $0xc0700ff2; BYTE $0xe0 // pshuflw xmm0, xmm0, 224 LONG $0xc0700f66; BYTE $0x00 // pshufd xmm0, xmm0, 0 @@ -37893,9 +38893,8 @@ LBB7_122: LONG $0x6f0f4466; WORD $0x4065 // movdqa xmm12, oword 64[rbp] /* [rip + .LCPI7_4] */ LONG $0x6f0f4466; WORD $0x506d // movdqa xmm13, oword 80[rbp] /* [rip + .LCPI7_5] */ LONG $0x6f0f4466; WORD $0x6075 // movdqa xmm14, oword 96[rbp] /* [rip + .LCPI7_6] */ - QUAD $0x0000008024a4894c // mov qword [rsp + 128], r12 -LBB7_123: +LBB7_125: LONG $0x247c894c; BYTE $0x10 // mov qword [rsp + 16], r15 LONG $0x06e7c149 // shl r15, 6 WORD $0x894d; BYTE $0xf9 // mov r9, r15 @@ -37931,7 +38930,7 @@ LBB7_123: QUAD $0x02020e74c40f4266 // pinsrw xmm6, word [rsi + r9 + 2], 2 QUAD $0x03022674c40f4266 // pinsrw xmm6, word [rsi + r12 + 2], 3 LONG $0x44b70f42; WORD $0x0c3e // movzx eax, word [rsi + r15 + 12] - LONG $0x08244489 // mov dword [rsp + 8], eax + LONG $0x20244489 // mov dword [rsp + 32], eax QUAD $0x04022e74c40f4266 // pinsrw xmm6, word [rsi + r13 + 2], 4 LONG $0x6e0f4166; BYTE $0xd3 // movd xmm2, r11d LONG $0x5cb70f46; WORD $0x0e3e // movzx r11d, word [rsi + r15 + 14] @@ -37941,7 +38940,7 @@ LBB7_123: LONG $0x74c40f66; WORD $0x023e; BYTE $0x06 // pinsrw xmm6, word [rsi + rdi + 2], 6 LONG $0x6e0f4166; BYTE $0xda // movd xmm3, r10d LONG $0x44b70f42; WORD $0x123e // movzx eax, word [rsi + r15 + 18] - LONG $0x28244489 // mov dword [rsp + 40], eax + LONG $0x18244489 // mov dword [rsp + 24], eax LONG $0x74c40f66; WORD $0x021e; BYTE $0x07 // pinsrw xmm6, word [rsi + rbx + 2], 7 LONG $0xf0650f66 // pcmpgtw xmm6, xmm0 LONG $0xf6630f66 // packsswb xmm6, xmm6 @@ -37975,7 +38974,7 @@ LBB7_123: LONG $0x5cc40f66; WORD $0x083e; BYTE $0x06 // pinsrw xmm3, word [rsi + rdi + 8], 6 LONG $0x5cc40f66; WORD $0x081e; BYTE $0x07 // pinsrw xmm3, word [rsi + rbx + 8], 7 LONG $0xcceb0f66 // por xmm1, xmm4 - LONG $0x7c6e0f66; WORD $0x0824 // movd xmm7, dword [rsp + 8] + LONG $0x7c6e0f66; WORD $0x2024 // movd xmm7, dword [rsp + 32] LONG $0x44b70f42; WORD $0x163e // movzx eax, word [rsi + r15 + 22] LONG $0xd0650f66 // pcmpgtw xmm2, xmm0 LONG $0xd2630f66 // packsswb xmm2, xmm2 @@ -38013,7 +39012,7 @@ LBB7_123: LONG $0x7cc40f66; WORD $0x0c3e; BYTE $0x06 // pinsrw xmm7, word [rsi + rdi + 12], 6 LONG $0x7cc40f66; WORD $0x0c1e; BYTE $0x07 // pinsrw xmm7, word [rsi + rbx + 12], 7 LONG $0xdaeb0f66 // por xmm3, xmm2 - LONG $0x6e0f4466; WORD $0x2444; BYTE $0x28 // movd xmm8, dword [rsp + 40] + LONG $0x6e0f4466; WORD $0x2444; BYTE $0x18 // movd xmm8, dword [rsp + 24] LONG $0x74b70f46; WORD $0x1c3e // movzx r14d, word [rsi + r15 + 28] LONG $0xf0650f66 // pcmpgtw xmm6, xmm0 LONG $0xf6630f66 // packsswb xmm6, xmm6 @@ -38070,7 +39069,7 @@ LBB7_123: LONG $0xf9eb0f66 // por xmm7, xmm1 LONG $0xf26e0f66 // movd xmm6, edx LONG $0x54b70f42; WORD $0x243e // movzx edx, word [rsi + r15 + 36] - LONG $0x20245489 // mov dword [rsp + 32], edx + LONG $0x30245489 // mov dword [rsp + 48], edx QUAD $0x0114066cc40f4266 // pinsrw xmm5, word [rsi + r8 + 20], 1 QUAD $0x02140e6cc40f4266 // pinsrw xmm5, word [rsi + r9 + 20], 2 QUAD $0x0314266cc40f4266 // pinsrw xmm5, word [rsi + r12 + 20], 3 @@ -38086,7 +39085,7 @@ LBB7_123: LONG $0xefeb0f66 // por xmm5, xmm7 LONG $0x6e0f4166; BYTE $0xfe // movd xmm7, r14d LONG $0x54b70f42; WORD $0x263e // movzx edx, word [rsi + r15 + 38] - LONG $0x28245489 // mov dword [rsp + 40], edx + LONG $0x18245489 // mov dword [rsp + 24], edx QUAD $0x01160654c40f4266 // pinsrw xmm2, word [rsi + r8 + 22], 1 QUAD $0x02160e54c40f4266 // pinsrw xmm2, word [rsi + r9 + 22], 2 QUAD $0x03162654c40f4266 // pinsrw xmm2, word [rsi + r12 + 22], 3 @@ -38117,7 +39116,7 @@ LBB7_123: LONG $0xddeb0f66 // por xmm3, xmm5 LONG $0xe86e0f66 // movd xmm5, eax LONG $0x44b70f42; WORD $0x2a3e // movzx eax, word [rsi + r15 + 42] - LONG $0x08244489 // mov dword [rsp + 8], eax + LONG $0x20244489 // mov dword [rsp + 32], eax QUAD $0x011a0674c40f4266 // pinsrw xmm6, word [rsi + r8 + 26], 1 QUAD $0x021a0e74c40f4266 // pinsrw xmm6, word [rsi + r9 + 26], 2 QUAD $0x031a2674c40f4266 // pinsrw xmm6, word [rsi + r12 + 26], 3 @@ -38157,7 +39156,7 @@ LBB7_123: LONG $0xf2710f66; BYTE $0x07 // psllw xmm2, 7 LONG $0xdb0f4166; BYTE $0xd6 // pand xmm2, xmm14 LONG $0xd7eb0f66 // por xmm2, xmm7 - LONG $0x746e0f66; WORD $0x2024 // movd xmm6, dword [rsp + 32] + LONG $0x746e0f66; WORD $0x3024 // movd xmm6, dword [rsp + 48] LONG $0x54b70f42; WORD $0x2e3e // movzx edx, word [rsi + r15 + 46] QUAD $0x0120066cc40f4266 // pinsrw xmm5, word [rsi + r8 + 32], 1 QUAD $0x02200e6cc40f4266 // pinsrw xmm5, word [rsi + r9 + 32], 2 @@ -38178,7 +39177,7 @@ LBB7_123: LONG $0xf96f0f66 // movdqa xmm7, xmm1 LONG $0xdb0f4166; BYTE $0xff // pand xmm7, xmm15 LONG $0xf9f80f66 // psubb xmm7, xmm1 - LONG $0x5c6e0f66; WORD $0x2824 // movd xmm3, dword [rsp + 40] + LONG $0x5c6e0f66; WORD $0x1824 // movd xmm3, dword [rsp + 24] LONG $0x5cb70f46; WORD $0x303e // movzx r11d, word [rsi + r15 + 48] LONG $0x6cc40f66; WORD $0x201e; BYTE $0x07 // pinsrw xmm5, word [rsi + rbx + 32], 7 LONG $0xe8650f66 // pcmpgtw xmm5, xmm0 @@ -38213,7 +39212,7 @@ LBB7_123: LONG $0xf6710f66; BYTE $0x02 // psllw xmm6, 2 LONG $0xdb0f4166; BYTE $0xf1 // pand xmm6, xmm9 LONG $0xf7eb0f66 // por xmm6, xmm7 - LONG $0x4c6e0f66; WORD $0x0824 // movd xmm1, dword [rsp + 8] + LONG $0x4c6e0f66; WORD $0x2024 // movd xmm1, dword [rsp + 32] LONG $0x74b70f46; WORD $0x343e // movzx r14d, word [rsi + r15 + 52] LONG $0x6cc40f66; WORD $0x281e; BYTE $0x07 // pinsrw xmm5, word [rsi + rbx + 40], 7 LONG $0xd8650f66 // pcmpgtw xmm3, xmm0 @@ -38288,6 +39287,7 @@ LBB7_123: LONG $0xdb0f4166; BYTE $0xef // pand xmm5, xmm15 LONG $0xe9f80f66 // psubb xmm5, xmm1 LONG $0x6e0f4166; BYTE $0xce // movd xmm1, r14d + LONG $0x24348b4c // mov r14, qword [rsp] QUAD $0x01300674c40f4266 // pinsrw xmm6, word [rsi + r8 + 48], 1 QUAD $0x02300e74c40f4266 // pinsrw xmm6, word [rsi + r9 + 48], 2 QUAD $0x03302674c40f4266 // pinsrw xmm6, word [rsi + r12 + 48], 3 @@ -38371,7 +39371,6 @@ LBB7_123: QUAD $0x013e0674c40f4266 // pinsrw xmm6, word [rsi + r8 + 62], 1 QUAD $0x023e0e74c40f4266 // pinsrw xmm6, word [rsi + r9 + 62], 2 QUAD $0x033e2674c40f4266 // pinsrw xmm6, word [rsi + r12 + 62], 3 - QUAD $0x0000008024848b48 // mov rax, qword [rsp + 128] QUAD $0x043e2e74c40f4266 // pinsrw xmm6, word [rsi + r13 + 62], 4 LONG $0x74c40f66; WORD $0x3e0e; BYTE $0x05 // pinsrw xmm6, word [rsi + rcx + 62], 5 LONG $0x74c40f66; WORD $0x3e3e; BYTE $0x06 // pinsrw xmm6, word [rsi + rdi + 62], 6 @@ -38394,19 +39393,428 @@ LBB7_123: LONG $0xe2600f66 // punpcklbw xmm4, xmm2 LONG $0xe3610f66 // punpcklwd xmm4, xmm3 LONG $0x244c8b48; BYTE $0x10 // mov rcx, qword [rsp + 16] - LONG $0x247f0ff3; BYTE $0x88 // movdqu oword [rax + 4*rcx], xmm4 - LONG $0x4c7f0ff3; WORD $0x1088 // movdqu oword [rax + 4*rcx + 16], xmm1 + LONG $0x7f0f41f3; WORD $0x8e24 // movdqu oword [r14 + 4*rcx], xmm4 + LONG $0x2434894c // mov qword [rsp], r14 + LONG $0x7f0f41f3; WORD $0x8e4c; BYTE $0x10 // movdqu oword [r14 + 4*rcx + 16], xmm1 LONG $0x08c18348 // add rcx, 8 WORD $0x8949; BYTE $0xcf // mov r15, rcx - LONG $0x244c3b48; BYTE $0x18 // cmp rcx, qword [rsp + 24] - JNE LBB7_123 - QUAD $0x0000011024b48b4c // mov r14, qword [rsp + 272] - LONG $0x24743b4c; BYTE $0x18 // cmp r14, qword [rsp + 24] - QUAD $0x00000088249c8b4c // mov r11, qword [rsp + 136] - LONG $0x24248b4c // mov r12, qword [rsp] - LONG $0x24748b48; BYTE $0x30 // mov rsi, qword [rsp + 48] + LONG $0x244c3b48; BYTE $0x28 // cmp rcx, qword [rsp + 40] JNE LBB7_125 - JMP LBB7_128 + QUAD $0x0000011024bc8b4c // mov r15, qword [rsp + 272] + LONG $0x247c3b4c; BYTE $0x28 // cmp r15, qword [rsp + 40] + QUAD $0x00000088249c8b4c // mov r11, qword [rsp + 136] + LONG $0x24748b4c; BYTE $0x08 // mov r14, qword [rsp + 8] + LONG $0x24748b48; BYTE $0x38 // mov rsi, qword [rsp + 56] + JNE LBB7_127 + JMP LBB7_130 + +LBB7_182: + WORD $0x894c; BYTE $0xd0 // mov rax, r10 + LONG $0xfce08348 // and rax, -4 + WORD $0x8948; BYTE $0xc2 // mov rdx, rax + LONG $0x07e2c148 // shl rdx, 7 + WORD $0x0148; BYTE $0xf2 // add rdx, rsi + LONG $0x240c8b48 // mov rcx, qword [rsp] + LONG $0x813c8d4c // lea r15, [rcx + 4*rax] + LONG $0xeb280f45 // movaps xmm13, xmm11 + LONG $0xebc60f45; BYTE $0x00 // shufps xmm13, xmm11, 0 + LONG $0xfcc68148; WORD $0x0001; BYTE $0x00 // add rsi, 508 + WORD $0xc931 // xor ecx, ecx + LONG $0x6f0f4466; WORD $0x007d // movdqa xmm15, oword 0[rbp] /* [rip + .LCPI7_0] */ + LONG $0x243c8b48 // mov rdi, qword [rsp] + +LBB7_183: + QUAD $0xfffffe049e100ff3 // movss xmm3, dword [rsi - 508] + QUAD $0xfffe0896100f44f3; BYTE $0xff // movss xmm10, dword [rsi - 504] + QUAD $0xfffe0c8e100f44f3; BYTE $0xff // movss xmm9, dword [rsi - 500] + QUAD $0xfffffe108e100ff3 // movss xmm1, dword [rsi - 496] + QUAD $0xfffe849e213a0f66; WORD $0x10ff // insertps xmm3, dword [rsi - 380], 16 + QUAD $0xffff049e213a0f66; WORD $0x20ff // insertps xmm3, dword [rsi - 252], 32 + LONG $0x213a0f66; WORD $0x845e; BYTE $0x30 // insertps xmm3, dword [rsi - 124], 48 + QUAD $0xfe8896213a0f4466; WORD $0xffff; BYTE $0x10 // insertps xmm10, dword [rsi - 376], 16 + QUAD $0xff0896213a0f4466; WORD $0xffff; BYTE $0x20 // insertps xmm10, dword [rsi - 248], 32 + QUAD $0x308856213a0f4466 // insertps xmm10, dword [rsi - 120], 48 + QUAD $0xfe8c8e213a0f4466; WORD $0xffff; BYTE $0x10 // insertps xmm9, dword [rsi - 372], 16 + QUAD $0xff0c8e213a0f4466; WORD $0xffff; BYTE $0x20 // insertps xmm9, dword [rsi - 244], 32 + QUAD $0x308c4e213a0f4466 // insertps xmm9, dword [rsi - 116], 48 + QUAD $0xfffe908e213a0f66; WORD $0x10ff // insertps xmm1, dword [rsi - 368], 16 + QUAD $0xffff108e213a0f66; WORD $0x20ff // insertps xmm1, dword [rsi - 240], 32 + LONG $0x213a0f66; WORD $0x904e; BYTE $0x30 // insertps xmm1, dword [rsi - 112], 48 + QUAD $0xfffe1486100f44f3; BYTE $0xff // movss xmm8, dword [rsi - 492] + QUAD $0xfe9486213a0f4466; WORD $0xffff; BYTE $0x10 // insertps xmm8, dword [rsi - 364], 16 + QUAD $0xff1486213a0f4466; WORD $0xffff; BYTE $0x20 // insertps xmm8, dword [rsi - 236], 32 + LONG $0xe5280f45 // movaps xmm12, xmm13 + QUAD $0x309446213a0f4466 // insertps xmm8, dword [rsi - 108], 48 + QUAD $0xfffffe1896100ff3 // movss xmm2, dword [rsi - 488] + QUAD $0xfffe9896213a0f66; WORD $0x10ff // insertps xmm2, dword [rsi - 360], 16 + QUAD $0xffff1896213a0f66; WORD $0x20ff // insertps xmm2, dword [rsi - 232], 32 + LONG $0xe3c20f44; BYTE $0x01 // cmpltps xmm12, xmm3 + LONG $0x213a0f66; WORD $0x9856; BYTE $0x30 // insertps xmm2, dword [rsi - 104], 48 + QUAD $0xfffffe1c9e100ff3 // movss xmm3, dword [rsi - 484] + QUAD $0xfffe9c9e213a0f66; WORD $0x10ff // insertps xmm3, dword [rsi - 356], 16 + QUAD $0xffff1c9e213a0f66; WORD $0x20ff // insertps xmm3, dword [rsi - 228], 32 + LONG $0x6b0f4566; BYTE $0xe4 // packssdw xmm12, xmm12 + LONG $0x213a0f66; WORD $0x9c5e; BYTE $0x30 // insertps xmm3, dword [rsi - 100], 48 + QUAD $0xfffffe24a6100ff3 // movss xmm4, dword [rsi - 476] + QUAD $0xfffea4a6213a0f66; WORD $0x10ff // insertps xmm4, dword [rsi - 348], 16 + QUAD $0xffff24a6213a0f66; WORD $0x20ff // insertps xmm4, dword [rsi - 220], 32 + LONG $0x630f4566; BYTE $0xe4 // packsswb xmm12, xmm12 + LONG $0x213a0f66; WORD $0xa466; BYTE $0x30 // insertps xmm4, dword [rsi - 92], 48 + LONG $0xfd280f41 // movaps xmm7, xmm13 + QUAD $0xfffffe44ae100ff3 // movss xmm5, dword [rsi - 444] + QUAD $0xfffec4ae213a0f66; WORD $0x10ff // insertps xmm5, dword [rsi - 316], 16 + QUAD $0xffff44ae213a0f66; WORD $0x20ff // insertps xmm5, dword [rsi - 188], 32 + LONG $0x01fcc20f // cmpltps xmm7, xmm4 + LONG $0x213a0f66; WORD $0xc46e; BYTE $0x30 // insertps xmm5, dword [rsi - 60], 48 + LONG $0xf5280f41 // movaps xmm6, xmm13 + QUAD $0xfffffe6486100ff3 // movss xmm0, dword [rsi - 412] + QUAD $0xfffee486213a0f66; WORD $0x10ff // insertps xmm0, dword [rsi - 284], 16 + QUAD $0xffff6486213a0f66; WORD $0x20ff // insertps xmm0, dword [rsi - 156], 32 + LONG $0x01f5c20f // cmpltps xmm6, xmm5 + LONG $0x213a0f66; WORD $0xe446; BYTE $0x30 // insertps xmm0, dword [rsi - 28], 48 + LONG $0xe5280f41 // movaps xmm4, xmm13 + LONG $0x01e0c20f // cmpltps xmm4, xmm0 + LONG $0xc5280f41 // movaps xmm0, xmm13 + LONG $0xc2c20f41; BYTE $0x01 // cmpltps xmm0, xmm10 + LONG $0xc06b0f66 // packssdw xmm0, xmm0 + LONG $0xc0630f66 // packsswb xmm0, xmm0 + LONG $0x6f0f4466; BYTE $0xf0 // movdqa xmm14, xmm0 + LONG $0xdb0f4566; BYTE $0xf7 // pand xmm14, xmm15 + LONG $0xf80f4466; BYTE $0xf0 // psubb xmm14, xmm0 + QUAD $0xfffe2096100f44f3; BYTE $0xff // movss xmm10, dword [rsi - 480] + QUAD $0xfea096213a0f4466; WORD $0xffff; BYTE $0x10 // insertps xmm10, dword [rsi - 352], 16 + LONG $0xdb0f4566; BYTE $0xe7 // pand xmm12, xmm15 + QUAD $0xff2096213a0f4466; WORD $0xffff; BYTE $0x20 // insertps xmm10, dword [rsi - 224], 32 + LONG $0xeb0f4566; BYTE $0xf4 // por xmm14, xmm12 + LONG $0xed280f41 // movaps xmm5, xmm13 + LONG $0xe9c20f41; BYTE $0x01 // cmpltps xmm5, xmm9 + QUAD $0x30a056213a0f4466 // insertps xmm10, dword [rsi - 96], 48 + LONG $0xed6b0f66 // packssdw xmm5, xmm5 + LONG $0xed630f66 // packsswb xmm5, xmm5 + LONG $0xdb0f4166; BYTE $0xef // pand xmm5, xmm15 + LONG $0xf5710f66; BYTE $0x02 // psllw xmm5, 2 + LONG $0x456f0f66; BYTE $0x10 // movdqa xmm0, oword 16[rbp] /* [rip + .LCPI7_1] */ + LONG $0xe8db0f66 // pand xmm5, xmm0 + LONG $0xeb0f4166; BYTE $0xee // por xmm5, xmm14 + LONG $0xc5280f41 // movaps xmm0, xmm13 + LONG $0x01c1c20f // cmpltps xmm0, xmm1 + LONG $0xcd280f41 // movaps xmm1, xmm13 + LONG $0xc8c20f41; BYTE $0x01 // cmpltps xmm1, xmm8 + QUAD $0xfffe288e100f44f3; BYTE $0xff // movss xmm9, dword [rsi - 472] + QUAD $0xfea88e213a0f4466; WORD $0xffff; BYTE $0x10 // insertps xmm9, dword [rsi - 344], 16 + QUAD $0xff288e213a0f4466; WORD $0xffff; BYTE $0x20 // insertps xmm9, dword [rsi - 216], 32 + QUAD $0x30a84e213a0f4466 // insertps xmm9, dword [rsi - 88], 48 + LONG $0xc06b0f66 // packssdw xmm0, xmm0 + LONG $0xc0630f66 // packsswb xmm0, xmm0 + LONG $0xdb0f4166; BYTE $0xc7 // pand xmm0, xmm15 + LONG $0xf0710f66; BYTE $0x03 // psllw xmm0, 3 + LONG $0x6f0f4466; WORD $0x2075 // movdqa xmm14, oword 32[rbp] /* [rip + .LCPI7_2] */ + LONG $0xdb0f4166; BYTE $0xc6 // pand xmm0, xmm14 + LONG $0xc96b0f66 // packssdw xmm1, xmm1 + LONG $0xc9630f66 // packsswb xmm1, xmm1 + LONG $0xdb0f4166; BYTE $0xcf // pand xmm1, xmm15 + LONG $0xf1710f66; BYTE $0x04 // psllw xmm1, 4 + LONG $0x6f0f4466; WORD $0x3075 // movdqa xmm14, oword 48[rbp] /* [rip + .LCPI7_3] */ + LONG $0xdb0f4166; BYTE $0xce // pand xmm1, xmm14 + LONG $0xc8eb0f66 // por xmm1, xmm0 + QUAD $0xfffe2ca6100f44f3; BYTE $0xff // movss xmm12, dword [rsi - 468] + QUAD $0xfeaca6213a0f4466; WORD $0xffff; BYTE $0x10 // insertps xmm12, dword [rsi - 340], 16 + QUAD $0xff2ca6213a0f4466; WORD $0xffff; BYTE $0x20 // insertps xmm12, dword [rsi - 212], 32 + QUAD $0x30ac66213a0f4466 // insertps xmm12, dword [rsi - 84], 48 + LONG $0xcdeb0f66 // por xmm1, xmm5 + LONG $0xc5280f41 // movaps xmm0, xmm13 + LONG $0x01c2c20f // cmpltps xmm0, xmm2 + LONG $0xed280f41 // movaps xmm5, xmm13 + LONG $0x01ebc20f // cmpltps xmm5, xmm3 + QUAD $0xfffffe3096100ff3 // movss xmm2, dword [rsi - 464] + QUAD $0xfffeb096213a0f66; WORD $0x10ff // insertps xmm2, dword [rsi - 336], 16 + QUAD $0xffff3096213a0f66; WORD $0x20ff // insertps xmm2, dword [rsi - 208], 32 + LONG $0xff6b0f66 // packssdw xmm7, xmm7 + LONG $0x213a0f66; WORD $0xb056; BYTE $0x30 // insertps xmm2, dword [rsi - 80], 48 + LONG $0xc06b0f66 // packssdw xmm0, xmm0 + LONG $0xc0630f66 // packsswb xmm0, xmm0 + LONG $0xdb0f4166; BYTE $0xc7 // pand xmm0, xmm15 + LONG $0xf0710f66; BYTE $0x05 // psllw xmm0, 5 + LONG $0x6f0f4466; WORD $0x4075 // movdqa xmm14, oword 64[rbp] /* [rip + .LCPI7_4] */ + LONG $0xdb0f4166; BYTE $0xc6 // pand xmm0, xmm14 + LONG $0xed6b0f66 // packssdw xmm5, xmm5 + LONG $0xed630f66 // packsswb xmm5, xmm5 + LONG $0xdb0f4166; BYTE $0xef // pand xmm5, xmm15 + LONG $0xf5710f66; BYTE $0x06 // psllw xmm5, 6 + LONG $0x5d6f0f66; BYTE $0x50 // movdqa xmm3, oword 80[rbp] /* [rip + .LCPI7_5] */ + LONG $0xebdb0f66 // pand xmm5, xmm3 + LONG $0xe8eb0f66 // por xmm5, xmm0 + LONG $0xc5280f45 // movaps xmm8, xmm13 + LONG $0xc2c20f45; BYTE $0x01 // cmpltps xmm8, xmm10 + QUAD $0xfffffe349e100ff3 // movss xmm3, dword [rsi - 460] + QUAD $0xfffeb49e213a0f66; WORD $0x10ff // insertps xmm3, dword [rsi - 332], 16 + QUAD $0xffff349e213a0f66; WORD $0x20ff // insertps xmm3, dword [rsi - 204], 32 + LONG $0x213a0f66; WORD $0xb45e; BYTE $0x30 // insertps xmm3, dword [rsi - 76], 48 + LONG $0x6b0f4566; BYTE $0xc0 // packssdw xmm8, xmm8 + LONG $0x630f4566; BYTE $0xc0 // packsswb xmm8, xmm8 + LONG $0x710f4166; WORD $0x07f0 // psllw xmm8, 7 + LONG $0x456f0f66; BYTE $0x60 // movdqa xmm0, oword 96[rbp] /* [rip + .LCPI7_6] */ + LONG $0xdb0f4466; BYTE $0xc0 // pand xmm8, xmm0 + LONG $0xeb0f4466; BYTE $0xc5 // por xmm8, xmm5 + QUAD $0xfffe3896100f44f3; BYTE $0xff // movss xmm10, dword [rsi - 456] + QUAD $0xfeb896213a0f4466; WORD $0xffff; BYTE $0x10 // insertps xmm10, dword [rsi - 328], 16 + QUAD $0xff3896213a0f4466; WORD $0xffff; BYTE $0x20 // insertps xmm10, dword [rsi - 200], 32 + LONG $0xff630f66 // packsswb xmm7, xmm7 + QUAD $0x30b856213a0f4466 // insertps xmm10, dword [rsi - 72], 48 + LONG $0xeb0f4466; BYTE $0xc1 // por xmm8, xmm1 + LONG $0xc5280f41 // movaps xmm0, xmm13 + LONG $0xc1c20f41; BYTE $0x01 // cmpltps xmm0, xmm9 + LONG $0xc06b0f66 // packssdw xmm0, xmm0 + LONG $0xc0630f66 // packsswb xmm0, xmm0 + LONG $0xc86f0f66 // movdqa xmm1, xmm0 + LONG $0xdb0f4166; BYTE $0xcf // pand xmm1, xmm15 + LONG $0xc8f80f66 // psubb xmm1, xmm0 + QUAD $0xfffe3c8e100f44f3; BYTE $0xff // movss xmm9, dword [rsi - 452] + QUAD $0xfebc8e213a0f4466; WORD $0xffff; BYTE $0x10 // insertps xmm9, dword [rsi - 324], 16 + LONG $0xdb0f4166; BYTE $0xff // pand xmm7, xmm15 + QUAD $0xff3c8e213a0f4466; WORD $0xffff; BYTE $0x20 // insertps xmm9, dword [rsi - 196], 32 + LONG $0xcfeb0f66 // por xmm1, xmm7 + LONG $0xed280f41 // movaps xmm5, xmm13 + LONG $0xecc20f41; BYTE $0x01 // cmpltps xmm5, xmm12 + QUAD $0x30bc4e213a0f4466 // insertps xmm9, dword [rsi - 68], 48 + LONG $0xed6b0f66 // packssdw xmm5, xmm5 + LONG $0xed630f66 // packsswb xmm5, xmm5 + LONG $0xdb0f4166; BYTE $0xef // pand xmm5, xmm15 + LONG $0xf5710f66; BYTE $0x02 // psllw xmm5, 2 + LONG $0x6ddb0f66; BYTE $0x10 // pand xmm5, oword 16[rbp] /* [rip + .LCPI7_1] */ + LONG $0xe9eb0f66 // por xmm5, xmm1 + LONG $0xc5280f41 // movaps xmm0, xmm13 + LONG $0x01c2c20f // cmpltps xmm0, xmm2 + LONG $0xcd280f41 // movaps xmm1, xmm13 + LONG $0x01cbc20f // cmpltps xmm1, xmm3 + QUAD $0xfffffe409e100ff3 // movss xmm3, dword [rsi - 448] + QUAD $0xfffec09e213a0f66; WORD $0x10ff // insertps xmm3, dword [rsi - 320], 16 + QUAD $0xffff409e213a0f66; WORD $0x20ff // insertps xmm3, dword [rsi - 192], 32 + LONG $0x213a0f66; WORD $0xc05e; BYTE $0x30 // insertps xmm3, dword [rsi - 64], 48 + LONG $0xc06b0f66 // packssdw xmm0, xmm0 + LONG $0xc0630f66 // packsswb xmm0, xmm0 + LONG $0xdb0f4166; BYTE $0xc7 // pand xmm0, xmm15 + LONG $0xf0710f66; BYTE $0x03 // psllw xmm0, 3 + LONG $0x6f0f4466; WORD $0x2065 // movdqa xmm12, oword 32[rbp] /* [rip + .LCPI7_2] */ + LONG $0xdb0f4166; BYTE $0xc4 // pand xmm0, xmm12 + LONG $0xc96b0f66 // packssdw xmm1, xmm1 + LONG $0xc9630f66 // packsswb xmm1, xmm1 + LONG $0xdb0f4166; BYTE $0xcf // pand xmm1, xmm15 + LONG $0xf1710f66; BYTE $0x04 // psllw xmm1, 4 + LONG $0x4ddb0f66; BYTE $0x30 // pand xmm1, oword 48[rbp] /* [rip + .LCPI7_3] */ + LONG $0xc8eb0f66 // por xmm1, xmm0 + QUAD $0xfffffe4896100ff3 // movss xmm2, dword [rsi - 440] + QUAD $0xfffec896213a0f66; WORD $0x10ff // insertps xmm2, dword [rsi - 312], 16 + QUAD $0xffff4896213a0f66; WORD $0x20ff // insertps xmm2, dword [rsi - 184], 32 + LONG $0x213a0f66; WORD $0xc856; BYTE $0x30 // insertps xmm2, dword [rsi - 56], 48 + LONG $0xcdeb0f66 // por xmm1, xmm5 + LONG $0xc5280f41 // movaps xmm0, xmm13 + LONG $0xc2c20f41; BYTE $0x01 // cmpltps xmm0, xmm10 + LONG $0xed280f41 // movaps xmm5, xmm13 + LONG $0xe9c20f41; BYTE $0x01 // cmpltps xmm5, xmm9 + QUAD $0xfffffe4cbe100ff3 // movss xmm7, dword [rsi - 436] + QUAD $0xfffeccbe213a0f66; WORD $0x10ff // insertps xmm7, dword [rsi - 308], 16 + QUAD $0xffff4cbe213a0f66; WORD $0x20ff // insertps xmm7, dword [rsi - 180], 32 + LONG $0xf66b0f66 // packssdw xmm6, xmm6 + LONG $0x213a0f66; WORD $0xcc7e; BYTE $0x30 // insertps xmm7, dword [rsi - 52], 48 + LONG $0xc06b0f66 // packssdw xmm0, xmm0 + LONG $0xc0630f66 // packsswb xmm0, xmm0 + LONG $0xdb0f4166; BYTE $0xc7 // pand xmm0, xmm15 + LONG $0xf0710f66; BYTE $0x05 // psllw xmm0, 5 + LONG $0xdb0f4166; BYTE $0xc6 // pand xmm0, xmm14 + LONG $0xed6b0f66 // packssdw xmm5, xmm5 + LONG $0xed630f66 // packsswb xmm5, xmm5 + LONG $0xdb0f4166; BYTE $0xef // pand xmm5, xmm15 + LONG $0xf5710f66; BYTE $0x06 // psllw xmm5, 6 + LONG $0x6ddb0f66; BYTE $0x50 // pand xmm5, oword 80[rbp] /* [rip + .LCPI7_5] */ + LONG $0xe8eb0f66 // por xmm5, xmm0 + LONG $0xc5280f41 // movaps xmm0, xmm13 + LONG $0x01c3c20f // cmpltps xmm0, xmm3 + QUAD $0xfffffe509e100ff3 // movss xmm3, dword [rsi - 432] + QUAD $0xfffed09e213a0f66; WORD $0x10ff // insertps xmm3, dword [rsi - 304], 16 + QUAD $0xffff509e213a0f66; WORD $0x20ff // insertps xmm3, dword [rsi - 176], 32 + LONG $0x213a0f66; WORD $0xd05e; BYTE $0x30 // insertps xmm3, dword [rsi - 48], 48 + LONG $0xc06b0f66 // packssdw xmm0, xmm0 + LONG $0xc0630f66 // packsswb xmm0, xmm0 + LONG $0xf0710f66; BYTE $0x07 // psllw xmm0, 7 + LONG $0x6f0f4466; WORD $0x6055 // movdqa xmm10, oword 96[rbp] /* [rip + .LCPI7_6] */ + LONG $0xdb0f4166; BYTE $0xc2 // pand xmm0, xmm10 + LONG $0xc5eb0f66 // por xmm0, xmm5 + QUAD $0xfffffe54ae100ff3 // movss xmm5, dword [rsi - 428] + QUAD $0xfffed4ae213a0f66; WORD $0x10ff // insertps xmm5, dword [rsi - 300], 16 + QUAD $0xffff54ae213a0f66; WORD $0x20ff // insertps xmm5, dword [rsi - 172], 32 + LONG $0x213a0f66; WORD $0xd46e; BYTE $0x30 // insertps xmm5, dword [rsi - 44], 48 + LONG $0xc1eb0f66 // por xmm0, xmm1 + QUAD $0xfffe588e100f44f3; BYTE $0xff // movss xmm9, dword [rsi - 424] + QUAD $0xfed88e213a0f4466; WORD $0xffff; BYTE $0x10 // insertps xmm9, dword [rsi - 296], 16 + QUAD $0xff588e213a0f4466; WORD $0xffff; BYTE $0x20 // insertps xmm9, dword [rsi - 168], 32 + LONG $0xf6630f66 // packsswb xmm6, xmm6 + QUAD $0x30d84e213a0f4466 // insertps xmm9, dword [rsi - 40], 48 + LONG $0x620f4466; BYTE $0xc0 // punpckldq xmm8, xmm0 + LONG $0xc5280f41 // movaps xmm0, xmm13 + LONG $0x01c2c20f // cmpltps xmm0, xmm2 + LONG $0xc06b0f66 // packssdw xmm0, xmm0 + LONG $0xc0630f66 // packsswb xmm0, xmm0 + LONG $0xc86f0f66 // movdqa xmm1, xmm0 + LONG $0xdb0f4166; BYTE $0xcf // pand xmm1, xmm15 + LONG $0xc8f80f66 // psubb xmm1, xmm0 + QUAD $0xfffffe5c96100ff3 // movss xmm2, dword [rsi - 420] + QUAD $0xfffedc96213a0f66; WORD $0x10ff // insertps xmm2, dword [rsi - 292], 16 + LONG $0xdb0f4166; BYTE $0xf7 // pand xmm6, xmm15 + QUAD $0xffff5c96213a0f66; WORD $0x20ff // insertps xmm2, dword [rsi - 164], 32 + LONG $0xceeb0f66 // por xmm1, xmm6 + LONG $0xf5280f41 // movaps xmm6, xmm13 + LONG $0x01f7c20f // cmpltps xmm6, xmm7 + LONG $0x213a0f66; WORD $0xdc56; BYTE $0x30 // insertps xmm2, dword [rsi - 36], 48 + LONG $0xf66b0f66 // packssdw xmm6, xmm6 + LONG $0xf6630f66 // packsswb xmm6, xmm6 + LONG $0xdb0f4166; BYTE $0xf7 // pand xmm6, xmm15 + LONG $0xf6710f66; BYTE $0x02 // psllw xmm6, 2 + LONG $0x456f0f66; BYTE $0x10 // movdqa xmm0, oword 16[rbp] /* [rip + .LCPI7_1] */ + LONG $0xf0db0f66 // pand xmm6, xmm0 + LONG $0xf1eb0f66 // por xmm6, xmm1 + LONG $0xc5280f41 // movaps xmm0, xmm13 + LONG $0x01c3c20f // cmpltps xmm0, xmm3 + LONG $0xcd280f41 // movaps xmm1, xmm13 + LONG $0x01cdc20f // cmpltps xmm1, xmm5 + QUAD $0xfffffe609e100ff3 // movss xmm3, dword [rsi - 416] + QUAD $0xfffee09e213a0f66; WORD $0x10ff // insertps xmm3, dword [rsi - 288], 16 + QUAD $0xffff609e213a0f66; WORD $0x20ff // insertps xmm3, dword [rsi - 160], 32 + LONG $0x213a0f66; WORD $0xe05e; BYTE $0x30 // insertps xmm3, dword [rsi - 32], 48 + LONG $0xc06b0f66 // packssdw xmm0, xmm0 + LONG $0xc0630f66 // packsswb xmm0, xmm0 + LONG $0xdb0f4166; BYTE $0xc7 // pand xmm0, xmm15 + LONG $0xf0710f66; BYTE $0x03 // psllw xmm0, 3 + LONG $0xdb0f4166; BYTE $0xc4 // pand xmm0, xmm12 + LONG $0xc96b0f66 // packssdw xmm1, xmm1 + LONG $0xc9630f66 // packsswb xmm1, xmm1 + LONG $0xdb0f4166; BYTE $0xcf // pand xmm1, xmm15 + LONG $0xf1710f66; BYTE $0x04 // psllw xmm1, 4 + LONG $0x6f0f4466; WORD $0x3065 // movdqa xmm12, oword 48[rbp] /* [rip + .LCPI7_3] */ + LONG $0xdb0f4166; BYTE $0xcc // pand xmm1, xmm12 + LONG $0xc8eb0f66 // por xmm1, xmm0 + QUAD $0xfffffe68ae100ff3 // movss xmm5, dword [rsi - 408] + QUAD $0xfffee8ae213a0f66; WORD $0x10ff // insertps xmm5, dword [rsi - 280], 16 + QUAD $0xffff68ae213a0f66; WORD $0x20ff // insertps xmm5, dword [rsi - 152], 32 + LONG $0x213a0f66; WORD $0xe86e; BYTE $0x30 // insertps xmm5, dword [rsi - 24], 48 + LONG $0xceeb0f66 // por xmm1, xmm6 + LONG $0xc5280f41 // movaps xmm0, xmm13 + LONG $0xc1c20f41; BYTE $0x01 // cmpltps xmm0, xmm9 + LONG $0xf5280f41 // movaps xmm6, xmm13 + LONG $0x01f2c20f // cmpltps xmm6, xmm2 + QUAD $0xfffffe6cbe100ff3 // movss xmm7, dword [rsi - 404] + QUAD $0xfffeecbe213a0f66; WORD $0x10ff // insertps xmm7, dword [rsi - 276], 16 + QUAD $0xffff6cbe213a0f66; WORD $0x20ff // insertps xmm7, dword [rsi - 148], 32 + LONG $0xe46b0f66 // packssdw xmm4, xmm4 + LONG $0x213a0f66; WORD $0xec7e; BYTE $0x30 // insertps xmm7, dword [rsi - 20], 48 + LONG $0xc06b0f66 // packssdw xmm0, xmm0 + LONG $0xc0630f66 // packsswb xmm0, xmm0 + LONG $0xdb0f4166; BYTE $0xc7 // pand xmm0, xmm15 + LONG $0xf0710f66; BYTE $0x05 // psllw xmm0, 5 + LONG $0xdb0f4166; BYTE $0xc6 // pand xmm0, xmm14 + LONG $0xf66b0f66 // packssdw xmm6, xmm6 + LONG $0xf6630f66 // packsswb xmm6, xmm6 + LONG $0xdb0f4166; BYTE $0xf7 // pand xmm6, xmm15 + LONG $0xf6710f66; BYTE $0x06 // psllw xmm6, 6 + LONG $0x6f0f4466; WORD $0x504d // movdqa xmm9, oword 80[rbp] /* [rip + .LCPI7_5] */ + LONG $0xdb0f4166; BYTE $0xf1 // pand xmm6, xmm9 + LONG $0xf0eb0f66 // por xmm6, xmm0 + LONG $0xd5280f41 // movaps xmm2, xmm13 + LONG $0x01d3c20f // cmpltps xmm2, xmm3 + QUAD $0xfffffe7086100ff3 // movss xmm0, dword [rsi - 400] + QUAD $0xfffef086213a0f66; WORD $0x10ff // insertps xmm0, dword [rsi - 272], 16 + QUAD $0xffff7086213a0f66; WORD $0x20ff // insertps xmm0, dword [rsi - 144], 32 + LONG $0x213a0f66; WORD $0xf046; BYTE $0x30 // insertps xmm0, dword [rsi - 16], 48 + LONG $0xd26b0f66 // packssdw xmm2, xmm2 + LONG $0xd2630f66 // packsswb xmm2, xmm2 + LONG $0xf2710f66; BYTE $0x07 // psllw xmm2, 7 + LONG $0xdb0f4166; BYTE $0xd2 // pand xmm2, xmm10 + LONG $0xd6eb0f66 // por xmm2, xmm6 + QUAD $0xfffffe74b6100ff3 // movss xmm6, dword [rsi - 396] + QUAD $0xfffef4b6213a0f66; WORD $0x10ff // insertps xmm6, dword [rsi - 268], 16 + QUAD $0xffff74b6213a0f66; WORD $0x20ff // insertps xmm6, dword [rsi - 140], 32 + LONG $0xe4630f66 // packsswb xmm4, xmm4 + LONG $0x213a0f66; WORD $0xf476; BYTE $0x30 // insertps xmm6, dword [rsi - 12], 48 + LONG $0xd1eb0f66 // por xmm2, xmm1 + LONG $0xcd280f41 // movaps xmm1, xmm13 + LONG $0x01cdc20f // cmpltps xmm1, xmm5 + LONG $0xc96b0f66 // packssdw xmm1, xmm1 + LONG $0xc9630f66 // packsswb xmm1, xmm1 + LONG $0xe96f0f66 // movdqa xmm5, xmm1 + LONG $0xdb0f4166; BYTE $0xef // pand xmm5, xmm15 + LONG $0xe9f80f66 // psubb xmm5, xmm1 + QUAD $0xfffffe789e100ff3 // movss xmm3, dword [rsi - 392] + QUAD $0xfffef89e213a0f66; WORD $0x10ff // insertps xmm3, dword [rsi - 264], 16 + LONG $0xdb0f4166; BYTE $0xe7 // pand xmm4, xmm15 + QUAD $0xffff789e213a0f66; WORD $0x20ff // insertps xmm3, dword [rsi - 136], 32 + LONG $0xeceb0f66 // por xmm5, xmm4 + LONG $0xe5280f41 // movaps xmm4, xmm13 + LONG $0x01e7c20f // cmpltps xmm4, xmm7 + LONG $0x213a0f66; WORD $0xf85e; BYTE $0x30 // insertps xmm3, dword [rsi - 8], 48 + LONG $0xe46b0f66 // packssdw xmm4, xmm4 + LONG $0xe4630f66 // packsswb xmm4, xmm4 + LONG $0xdb0f4166; BYTE $0xe7 // pand xmm4, xmm15 + LONG $0xf4710f66; BYTE $0x02 // psllw xmm4, 2 + LONG $0x65db0f66; BYTE $0x10 // pand xmm4, oword 16[rbp] /* [rip + .LCPI7_1] */ + LONG $0xe5eb0f66 // por xmm4, xmm5 + LONG $0xed280f41 // movaps xmm5, xmm13 + LONG $0x01e8c20f // cmpltps xmm5, xmm0 + LONG $0xcd280f41 // movaps xmm1, xmm13 + LONG $0x01cec20f // cmpltps xmm1, xmm6 + QUAD $0xfffffe7c86100ff3 // movss xmm0, dword [rsi - 388] + QUAD $0xfffefc86213a0f66; WORD $0x10ff // insertps xmm0, dword [rsi - 260], 16 + QUAD $0xffff7c86213a0f66; WORD $0x20ff // insertps xmm0, dword [rsi - 132], 32 + LONG $0x213a0f66; WORD $0xfc46; BYTE $0x30 // insertps xmm0, dword [rsi - 4], 48 + LONG $0xed6b0f66 // packssdw xmm5, xmm5 + LONG $0xed630f66 // packsswb xmm5, xmm5 + LONG $0xdb0f4166; BYTE $0xef // pand xmm5, xmm15 + LONG $0xf5710f66; BYTE $0x03 // psllw xmm5, 3 + LONG $0x6ddb0f66; BYTE $0x20 // pand xmm5, oword 32[rbp] /* [rip + .LCPI7_2] */ + LONG $0xc96b0f66 // packssdw xmm1, xmm1 + LONG $0xc9630f66 // packsswb xmm1, xmm1 + LONG $0xdb0f4166; BYTE $0xcf // pand xmm1, xmm15 + LONG $0xf1710f66; BYTE $0x04 // psllw xmm1, 4 + LONG $0xdb0f4166; BYTE $0xcc // pand xmm1, xmm12 + LONG $0xcdeb0f66 // por xmm1, xmm5 + QUAD $0xfffffe80ae100ff3 // movss xmm5, dword [rsi - 384] + QUAD $0xffff00ae213a0f66; WORD $0x10ff // insertps xmm5, dword [rsi - 256], 16 + LONG $0x213a0f66; WORD $0x806e; BYTE $0x20 // insertps xmm5, dword [rsi - 128], 32 + LONG $0xcceb0f66 // por xmm1, xmm4 + LONG $0xe5280f41 // movaps xmm4, xmm13 + LONG $0x01e3c20f // cmpltps xmm4, xmm3 + LONG $0xdd280f41 // movaps xmm3, xmm13 + LONG $0x01d8c20f // cmpltps xmm3, xmm0 + LONG $0x213a0f66; WORD $0x302e // insertps xmm5, dword [rsi], 48 + LONG $0xe46b0f66 // packssdw xmm4, xmm4 + LONG $0xe4630f66 // packsswb xmm4, xmm4 + LONG $0xdb0f4166; BYTE $0xe7 // pand xmm4, xmm15 + LONG $0xf4710f66; BYTE $0x05 // psllw xmm4, 5 + LONG $0xdb0f4166; BYTE $0xe6 // pand xmm4, xmm14 + LONG $0xdb6b0f66 // packssdw xmm3, xmm3 + LONG $0xdb630f66 // packsswb xmm3, xmm3 + LONG $0xdb0f4166; BYTE $0xdf // pand xmm3, xmm15 + LONG $0xf3710f66; BYTE $0x06 // psllw xmm3, 6 + LONG $0xdb0f4166; BYTE $0xd9 // pand xmm3, xmm9 + LONG $0xdceb0f66 // por xmm3, xmm4 + LONG $0xc5280f41 // movaps xmm0, xmm13 + LONG $0x01c5c20f // cmpltps xmm0, xmm5 + LONG $0xc06b0f66 // packssdw xmm0, xmm0 + LONG $0xc0630f66 // packsswb xmm0, xmm0 + LONG $0xf0710f66; BYTE $0x07 // psllw xmm0, 7 + LONG $0xdb0f4166; BYTE $0xc2 // pand xmm0, xmm10 + LONG $0xc3eb0f66 // por xmm0, xmm3 + LONG $0xc1eb0f66 // por xmm0, xmm1 + LONG $0xd0620f66 // punpckldq xmm2, xmm0 + LONG $0x600f4466; BYTE $0xc2 // punpcklbw xmm8, xmm2 + LONG $0x380f4466; WORD $0x4500; BYTE $0x70 // pshufb xmm8, oword 112[rbp] /* [rip + .LCPI7_7] */ + LONG $0x7f0f44f3; WORD $0x8f04 // movdqu oword [rdi + 4*rcx], xmm8 + LONG $0x04c18348 // add rcx, 4 + LONG $0x00c68148; WORD $0x0002; BYTE $0x00 // add rsi, 512 + WORD $0x3948; BYTE $0xc8 // cmp rax, rcx + JNE LBB7_183 + WORD $0x3949; BYTE $0xc2 // cmp r10, rax + JNE LBB7_185 + JMP LBB7_188 DATA LCDATA6<>+0x000(SB)/8, $0x0000000001010101 DATA LCDATA6<>+0x008(SB)/8, $0x0000000000000000 @@ -46936,15 +48344,15 @@ TEXT ·_comparison_greater_equal_arr_scalar_sse4(SB), $520-48 WORD $0x894d; BYTE $0xc2 // mov r10, r8 WORD $0x8949; BYTE $0xce // mov r14, rcx WORD $0xff83; BYTE $0x06 // cmp edi, 6 - JG LBB10_16 + JG LBB10_26 WORD $0xff83; BYTE $0x03 // cmp edi, 3 - JLE LBB10_31 + JLE LBB10_2 WORD $0xff83; BYTE $0x04 // cmp edi, 4 - JE LBB10_81 + JE LBB10_99 WORD $0xff83; BYTE $0x05 // cmp edi, 5 - JE LBB10_92 + JE LBB10_114 WORD $0xff83; BYTE $0x06 // cmp edi, 6 - JNE LBB10_182 + JNE LBB10_201 WORD $0x8b44; BYTE $0x2a // mov r13d, dword [rdx] LONG $0x1f5a8d4d // lea r11, [r10 + 31] WORD $0x854d; BYTE $0xd2 // test r10, r10 @@ -46954,10 +48362,10 @@ TEXT ·_comparison_greater_equal_arr_scalar_sse4(SB), $520-48 LONG $0xc1490f41 // cmovns eax, r9d WORD $0xe083; BYTE $0xf8 // and eax, -8 WORD $0x2941; BYTE $0xc1 // sub r9d, eax - JE LBB10_9 + JE LBB10_17 WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d -LBB10_7: +LBB10_15: WORD $0x3944; BYTE $0x2e // cmp dword [rsi], r13d LONG $0x04768d48 // lea rsi, [rsi + 4] LONG $0x000000ba; BYTE $0x00 // mov edx, 0 @@ -46978,63 +48386,63 @@ LBB10_7: LONG $0x1e3c8841 // mov byte [r14 + rbx], dil LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 - JNE LBB10_7 + JNE LBB10_15 LONG $0x01c68349 // add r14, 1 -LBB10_9: +LBB10_17: LONG $0x05fbc149 // sar r11, 5 LONG $0x20fa8349 // cmp r10, 32 - JL LBB10_13 + JL LBB10_21 LONG $0x2454894c; BYTE $0x48 // mov qword [rsp + 72], r10 QUAD $0x00000170249c894c // mov qword [rsp + 368], r11 QUAD $0x00000140249c894c // mov qword [rsp + 320], r11 -LBB10_11: +LBB10_19: QUAD $0x0000016024b4894c // mov qword [rsp + 352], r14 WORD $0x3944; BYTE $0x2e // cmp dword [rsi], r13d - QUAD $0x000000a02494930f // setae byte [rsp + 160] + QUAD $0x000000f02494930f // setae byte [rsp + 240] LONG $0x046e3944 // cmp dword [rsi + 4], r13d - LONG $0xd7930f40 // setae dil + LONG $0xd2930f41 // setae r10b LONG $0x086e3944 // cmp dword [rsi + 8], r13d LONG $0xd6930f41 // setae r14b LONG $0x0c6e3944 // cmp dword [rsi + 12], r13d - QUAD $0x000001502494930f // setae byte [rsp + 336] + QUAD $0x000001102494930f // setae byte [rsp + 272] LONG $0x106e3944 // cmp dword [rsi + 16], r13d - QUAD $0x000000e02494930f // setae byte [rsp + 224] - LONG $0x146e3944 // cmp dword [rsi + 20], r13d QUAD $0x000000d02494930f // setae byte [rsp + 208] + LONG $0x146e3944 // cmp dword [rsi + 20], r13d + QUAD $0x000000c02494930f // setae byte [rsp + 192] LONG $0x186e3944 // cmp dword [rsi + 24], r13d WORD $0x930f; BYTE $0xd0 // setae al LONG $0x1c6e3944 // cmp dword [rsi + 28], r13d WORD $0x930f; BYTE $0xd3 // setae bl LONG $0x206e3944 // cmp dword [rsi + 32], r13d - QUAD $0x000001302494930f // setae byte [rsp + 304] + QUAD $0x000001502494930f // setae byte [rsp + 336] LONG $0x246e3944 // cmp dword [rsi + 36], r13d - WORD $0x930f; BYTE $0xd2 // setae dl + LONG $0xd7930f40 // setae dil LONG $0x286e3944 // cmp dword [rsi + 40], r13d - LONG $0xd1930f41 // setae r9b + LONG $0xd0930f41 // setae r8b LONG $0x2c6e3944 // cmp dword [rsi + 44], r13d - LONG $0xd2930f41 // setae r10b + LONG $0xd1930f41 // setae r9b LONG $0x306e3944 // cmp dword [rsi + 48], r13d LONG $0xd3930f41 // setae r11b LONG $0x346e3944 // cmp dword [rsi + 52], r13d LONG $0xd4930f41 // setae r12b LONG $0x386e3944 // cmp dword [rsi + 56], r13d - QUAD $0x000001002494930f // setae byte [rsp + 256] + QUAD $0x000001202494930f // setae byte [rsp + 288] LONG $0x3c6e3944 // cmp dword [rsi + 60], r13d WORD $0x930f; BYTE $0xd1 // setae cl LONG $0x406e3944 // cmp dword [rsi + 64], r13d - QUAD $0x000000b02494930f // setae byte [rsp + 176] + QUAD $0x000000a02494930f // setae byte [rsp + 160] LONG $0x446e3944 // cmp dword [rsi + 68], r13d - QUAD $0x000001102494930f // setae byte [rsp + 272] + QUAD $0x000001302494930f // setae byte [rsp + 304] LONG $0x486e3944 // cmp dword [rsi + 72], r13d - QUAD $0x000001202494930f // setae byte [rsp + 288] + QUAD $0x000001002494930f // setae byte [rsp + 256] LONG $0x4c6e3944 // cmp dword [rsi + 76], r13d - QUAD $0x000000f02494930f // setae byte [rsp + 240] + QUAD $0x000000e02494930f // setae byte [rsp + 224] LONG $0x506e3944 // cmp dword [rsi + 80], r13d - QUAD $0x000000c02494930f // setae byte [rsp + 192] + QUAD $0x000000b02494930f // setae byte [rsp + 176] LONG $0x546e3944 // cmp dword [rsi + 84], r13d - QUAD $0x000000902494930f // setae byte [rsp + 144] + LONG $0x2454930f; BYTE $0x70 // setae byte [rsp + 112] LONG $0x586e3944 // cmp dword [rsi + 88], r13d QUAD $0x000000802494930f // setae byte [rsp + 128] LONG $0x5c6e3944 // cmp dword [rsi + 92], r13d @@ -47042,7 +48450,7 @@ LBB10_11: LONG $0x606e3944 // cmp dword [rsi + 96], r13d LONG $0x2454930f; BYTE $0x30 // setae byte [rsp + 48] LONG $0x646e3944 // cmp dword [rsi + 100], r13d - LONG $0x2454930f; BYTE $0x70 // setae byte [rsp + 112] + QUAD $0x000000902494930f // setae byte [rsp + 144] LONG $0x686e3944 // cmp dword [rsi + 104], r13d LONG $0x2454930f; BYTE $0x60 // setae byte [rsp + 96] LONG $0x6c6e3944 // cmp dword [rsi + 108], r13d @@ -47054,121 +48462,122 @@ LBB10_11: LONG $0x786e3944 // cmp dword [rsi + 120], r13d LONG $0x2454930f; BYTE $0x08 // setae byte [rsp + 8] LONG $0x7c6e3944 // cmp dword [rsi + 124], r13d - LONG $0xd0930f41 // setae r8b - WORD $0x0040; BYTE $0xff // add dil, dil - QUAD $0x000000a024bc0240 // add dil, byte [rsp + 160] + WORD $0x930f; BYTE $0xd2 // setae dl + WORD $0x0045; BYTE $0xd2 // add r10b, r10b + QUAD $0x000000f024940244 // add r10b, byte [rsp + 240] WORD $0xe0c0; BYTE $0x06 // shl al, 6 WORD $0xe3c0; BYTE $0x07 // shl bl, 7 WORD $0xc308 // or bl, al LONG $0x02e6c041 // shl r14b, 2 - WORD $0x0841; BYTE $0xfe // or r14b, dil - WORD $0xd200 // add dl, dl - LONG $0x30249402; WORD $0x0001; BYTE $0x00 // add dl, byte [rsp + 304] - QUAD $0x000001502484b60f // movzx eax, byte [rsp + 336] + WORD $0x0845; BYTE $0xd6 // or r14b, r10b + WORD $0x0040; BYTE $0xff // add dil, dil + QUAD $0x0000015024bc0240 // add dil, byte [rsp + 336] + QUAD $0x000001102484b60f // movzx eax, byte [rsp + 272] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0x0844; BYTE $0xf0 // or al, r14b - LONG $0x02e1c041 // shl r9b, 2 - WORD $0x0841; BYTE $0xd1 // or r9b, dl - QUAD $0x000000e02494b60f // movzx edx, byte [rsp + 224] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0xc208 // or dl, al - WORD $0xd789 // mov edi, edx - LONG $0x03e2c041 // shl r10b, 3 - WORD $0x0845; BYTE $0xca // or r10b, r9b - QUAD $0x000000d02494b60f // movzx edx, byte [rsp + 208] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xfa // or dl, dil + WORD $0x8941; BYTE $0xc2 // mov r10d, eax + QUAD $0x0000016024b48b4c // mov r14, qword [rsp + 352] + LONG $0x02e0c041 // shl r8b, 2 + WORD $0x0841; BYTE $0xf8 // or r8b, dil + QUAD $0x000000d02484b60f // movzx eax, byte [rsp + 208] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0844; BYTE $0xd0 // or al, r10b + WORD $0xc789 // mov edi, eax + LONG $0x03e1c041 // shl r9b, 3 + WORD $0x0845; BYTE $0xc1 // or r9b, r8b + QUAD $0x000000c02484b60f // movzx eax, byte [rsp + 192] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0x0840; BYTE $0xf8 // or al, dil LONG $0x04e3c041 // shl r11b, 4 - WORD $0x0845; BYTE $0xd3 // or r11b, r10b + WORD $0x0845; BYTE $0xcb // or r11b, r9b LONG $0x05e4c041 // shl r12b, 5 WORD $0x0845; BYTE $0xdc // or r12b, r11b - QUAD $0x0000010024bcb60f // movzx edi, byte [rsp + 256] + QUAD $0x0000012024bcb60f // movzx edi, byte [rsp + 288] LONG $0x06e7c040 // shl dil, 6 WORD $0xe1c0; BYTE $0x07 // shl cl, 7 WORD $0x0840; BYTE $0xf9 // or cl, dil - WORD $0xd308 // or bl, dl + WORD $0xc308 // or bl, al WORD $0x0844; BYTE $0xe1 // or cl, r12b - QUAD $0x0000016024b48b4c // mov r14, qword [rsp + 352] - QUAD $0x000001102494b60f // movzx edx, byte [rsp + 272] - WORD $0xd200 // add dl, dl - LONG $0xb0249402; WORD $0x0000; BYTE $0x00 // add dl, byte [rsp + 176] - WORD $0xd789 // mov edi, edx - QUAD $0x000001202494b60f // movzx edx, byte [rsp + 288] - WORD $0xe2c0; BYTE $0x02 // shl dl, 2 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - QUAD $0x000000f02494b60f // movzx edx, byte [rsp + 240] - WORD $0xe2c0; BYTE $0x03 // shl dl, 3 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - QUAD $0x000000c02494b60f // movzx edx, byte [rsp + 192] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - QUAD $0x000000902494b60f // movzx edx, byte [rsp + 144] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xfa // or dl, dil + QUAD $0x000001302484b60f // movzx eax, byte [rsp + 304] + WORD $0xc000 // add al, al + LONG $0xa0248402; WORD $0x0000; BYTE $0x00 // add al, byte [rsp + 160] + WORD $0xc789 // mov edi, eax + QUAD $0x000001002484b60f // movzx eax, byte [rsp + 256] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + QUAD $0x000000e02484b60f // movzx eax, byte [rsp + 224] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + QUAD $0x000000b02484b60f // movzx eax, byte [rsp + 176] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x70 // movzx eax, byte [rsp + 112] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0x0840; BYTE $0xf8 // or al, dil WORD $0x8841; BYTE $0x1e // mov byte [r14], bl QUAD $0x00000080249cb60f // movzx ebx, byte [rsp + 128] WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e7c041 // shl r15b, 7 WORD $0x0841; BYTE $0xdf // or r15b, bl LONG $0x014e8841 // mov byte [r14 + 1], cl - WORD $0x0841; BYTE $0xd7 // or r15b, dl - LONG $0x244cb60f; BYTE $0x70 // movzx ecx, byte [rsp + 112] - WORD $0xc900 // add cl, cl - LONG $0x30244c02 // add cl, byte [rsp + 48] - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x60 // movzx ecx, byte [rsp + 96] - WORD $0xe1c0; BYTE $0x02 // shl cl, 2 - WORD $0xd108 // or cl, dl - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x50 // movzx ecx, byte [rsp + 80] - WORD $0xe1c0; BYTE $0x03 // shl cl, 3 - WORD $0xd108 // or cl, dl - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x20 // movzx ecx, byte [rsp + 32] - WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0xd108 // or cl, dl - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x10 // movzx ecx, byte [rsp + 16] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0xd108 // or cl, dl - LONG $0x2454b60f; BYTE $0x08 // movzx edx, byte [rsp + 8] - WORD $0xe2c0; BYTE $0x06 // shl dl, 6 - LONG $0x07e0c041 // shl r8b, 7 - WORD $0x0841; BYTE $0xd0 // or r8b, dl - WORD $0x0841; BYTE $0xc8 // or r8b, cl + WORD $0x0841; BYTE $0xc7 // or r15b, al + QUAD $0x000000902484b60f // movzx eax, byte [rsp + 144] + WORD $0xc000 // add al, al + LONG $0x30244402 // add al, byte [rsp + 48] + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x60 // movzx eax, byte [rsp + 96] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x50 // movzx eax, byte [rsp + 80] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0xc808 // or al, cl + LONG $0x244cb60f; BYTE $0x08 // movzx ecx, byte [rsp + 8] + WORD $0xe1c0; BYTE $0x06 // shl cl, 6 + WORD $0xe2c0; BYTE $0x07 // shl dl, 7 + WORD $0xca08 // or dl, cl + WORD $0xc208 // or dl, al LONG $0x027e8845 // mov byte [r14 + 2], r15b - LONG $0x03468845 // mov byte [r14 + 3], r8b + LONG $0x03568841 // mov byte [r14 + 3], dl LONG $0x80c68148; WORD $0x0000; BYTE $0x00 // add rsi, 128 LONG $0x04c68349 // add r14, 4 QUAD $0x0000014024848348; BYTE $0xff // add qword [rsp + 320], -1 - JNE LBB10_11 + JNE LBB10_19 LONG $0x24548b4c; BYTE $0x48 // mov r10, qword [rsp + 72] QUAD $0x00000170249c8b4c // mov r11, qword [rsp + 368] -LBB10_13: +LBB10_21: LONG $0x05e3c149 // shl r11, 5 WORD $0x394d; BYTE $0xd3 // cmp r11, r10 - JGE LBB10_182 + JGE LBB10_201 WORD $0x894d; BYTE $0xd0 // mov r8, r10 WORD $0x294d; BYTE $0xd8 // sub r8, r11 WORD $0xf749; BYTE $0xd3 // not r11 WORD $0x014d; BYTE $0xd3 // add r11, r10 - JNE LBB10_162 + JNE LBB10_137 WORD $0x3145; BYTE $0xdb // xor r11d, r11d - JMP LBB10_164 + JMP LBB10_24 -LBB10_16: +LBB10_26: WORD $0xff83; BYTE $0x08 // cmp edi, 8 - JLE LBB10_45 + JLE LBB10_27 WORD $0xff83; BYTE $0x09 // cmp edi, 9 - JE LBB10_104 + JE LBB10_157 WORD $0xff83; BYTE $0x0b // cmp edi, 11 - JE LBB10_115 + JE LBB10_172 WORD $0xff83; BYTE $0x0c // cmp edi, 12 - JNE LBB10_182 + JNE LBB10_201 LONG $0x1f5a8d4d // lea r11, [r10 + 31] WORD $0x854d; BYTE $0xd2 // test r10, r10 LONG $0xda490f4d // cmovns r11, r10 @@ -47178,14 +48587,15 @@ LBB10_16: WORD $0xe083; BYTE $0xf8 // and eax, -8 LONG $0x02100ff2 // movsd xmm0, qword [rdx] WORD $0x2941; BYTE $0xc1 // sub r9d, eax - JE LBB10_24 + JE LBB10_49 WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d -LBB10_22: - LONG $0x062e0f66 // ucomisd xmm0, qword [rsi] - WORD $0x960f; BYTE $0xd2 // setbe dl +LBB10_47: + LONG $0x0e100ff2 // movsd xmm1, qword [rsi] LONG $0x08c68348 // add rsi, 8 - WORD $0xdaf6 // neg dl + LONG $0xc82e0f66 // ucomisd xmm1, xmm0 + LONG $0x000000ba; BYTE $0x00 // mov edx, 0 + WORD $0xd280; BYTE $0xff // adc dl, -1 LONG $0x07788d48 // lea rdi, [rax + 7] WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xf8490f48 // cmovns rdi, rax @@ -47202,191 +48612,221 @@ LBB10_22: LONG $0x3e1c8841 // mov byte [r14 + rdi], bl LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 - JNE LBB10_22 + JNE LBB10_47 LONG $0x01c68349 // add r14, 1 -LBB10_24: +LBB10_49: LONG $0x05fbc149 // sar r11, 5 LONG $0x20fa8349 // cmp r10, 32 - JL LBB10_28 + JL LBB10_53 LONG $0x2454894c; BYTE $0x48 // mov qword [rsp + 72], r10 QUAD $0x00000140249c894c // mov qword [rsp + 320], r11 - QUAD $0x000000a0249c894c // mov qword [rsp + 160], r11 + QUAD $0x000000f0249c894c // mov qword [rsp + 240], r11 -LBB10_26: +LBB10_51: QUAD $0x0000016024b4894c // mov qword [rsp + 352], r14 - LONG $0x062e0f66 // ucomisd xmm0, qword [rsi] - QUAD $0x000001502494960f // setbe byte [rsp + 336] - LONG $0x462e0f66; BYTE $0x08 // ucomisd xmm0, qword [rsi + 8] - LONG $0xd1960f41 // setbe r9b - LONG $0x462e0f66; BYTE $0x10 // ucomisd xmm0, qword [rsi + 16] - LONG $0xd6960f41 // setbe r14b - LONG $0x462e0f66; BYTE $0x18 // ucomisd xmm0, qword [rsi + 24] - LONG $0xd5960f41 // setbe r13b - LONG $0x462e0f66; BYTE $0x20 // ucomisd xmm0, qword [rsi + 32] - QUAD $0x000000e02494960f // setbe byte [rsp + 224] - LONG $0x462e0f66; BYTE $0x28 // ucomisd xmm0, qword [rsi + 40] - QUAD $0x000000d02494960f // setbe byte [rsp + 208] - LONG $0x462e0f66; BYTE $0x30 // ucomisd xmm0, qword [rsi + 48] - WORD $0x960f; BYTE $0xd0 // setbe al - LONG $0x462e0f66; BYTE $0x38 // ucomisd xmm0, qword [rsi + 56] - WORD $0x960f; BYTE $0xd3 // setbe bl - LONG $0x462e0f66; BYTE $0x40 // ucomisd xmm0, qword [rsi + 64] - QUAD $0x000001002494960f // setbe byte [rsp + 256] - LONG $0x462e0f66; BYTE $0x48 // ucomisd xmm0, qword [rsi + 72] - WORD $0x960f; BYTE $0xd2 // setbe dl - LONG $0x462e0f66; BYTE $0x50 // ucomisd xmm0, qword [rsi + 80] - LONG $0xd7960f40 // setbe dil - LONG $0x462e0f66; BYTE $0x58 // ucomisd xmm0, qword [rsi + 88] - LONG $0xd2960f41 // setbe r10b - LONG $0x462e0f66; BYTE $0x60 // ucomisd xmm0, qword [rsi + 96] - LONG $0xd3960f41 // setbe r11b - LONG $0x462e0f66; BYTE $0x68 // ucomisd xmm0, qword [rsi + 104] - LONG $0xd4960f41 // setbe r12b - LONG $0x462e0f66; BYTE $0x70 // ucomisd xmm0, qword [rsi + 112] - QUAD $0x000001102494960f // setbe byte [rsp + 272] - LONG $0x462e0f66; BYTE $0x78 // ucomisd xmm0, qword [rsi + 120] - WORD $0x960f; BYTE $0xd1 // setbe cl - QUAD $0x00000080862e0f66 // ucomisd xmm0, qword [rsi + 128] - QUAD $0x000000b02494960f // setbe byte [rsp + 176] - QUAD $0x00000088862e0f66 // ucomisd xmm0, qword [rsi + 136] - QUAD $0x000001302494960f // setbe byte [rsp + 304] - QUAD $0x00000090862e0f66 // ucomisd xmm0, qword [rsi + 144] - QUAD $0x000001202494960f // setbe byte [rsp + 288] - QUAD $0x00000098862e0f66 // ucomisd xmm0, qword [rsi + 152] - QUAD $0x000000f02494960f // setbe byte [rsp + 240] - QUAD $0x000000a0862e0f66 // ucomisd xmm0, qword [rsi + 160] - QUAD $0x000000c02494960f // setbe byte [rsp + 192] - QUAD $0x000000a8862e0f66 // ucomisd xmm0, qword [rsi + 168] - QUAD $0x000000902494960f // setbe byte [rsp + 144] - QUAD $0x000000b0862e0f66 // ucomisd xmm0, qword [rsi + 176] - QUAD $0x000000802494960f // setbe byte [rsp + 128] - QUAD $0x000000b8862e0f66 // ucomisd xmm0, qword [rsi + 184] - LONG $0xd7960f41 // setbe r15b - QUAD $0x000000c0862e0f66 // ucomisd xmm0, qword [rsi + 192] - LONG $0x2454960f; BYTE $0x30 // setbe byte [rsp + 48] - QUAD $0x000000c8862e0f66 // ucomisd xmm0, qword [rsi + 200] - LONG $0x2454960f; BYTE $0x70 // setbe byte [rsp + 112] - QUAD $0x000000d0862e0f66 // ucomisd xmm0, qword [rsi + 208] - LONG $0x2454960f; BYTE $0x60 // setbe byte [rsp + 96] - QUAD $0x000000d8862e0f66 // ucomisd xmm0, qword [rsi + 216] - LONG $0x2454960f; BYTE $0x50 // setbe byte [rsp + 80] - QUAD $0x000000e0862e0f66 // ucomisd xmm0, qword [rsi + 224] - LONG $0x2454960f; BYTE $0x20 // setbe byte [rsp + 32] - QUAD $0x000000e8862e0f66 // ucomisd xmm0, qword [rsi + 232] - LONG $0x2454960f; BYTE $0x10 // setbe byte [rsp + 16] - QUAD $0x000000f0862e0f66 // ucomisd xmm0, qword [rsi + 240] - LONG $0x2454960f; BYTE $0x08 // setbe byte [rsp + 8] - QUAD $0x000000f8862e0f66 // ucomisd xmm0, qword [rsi + 248] - LONG $0xd0960f41 // setbe r8b - WORD $0x0045; BYTE $0xc9 // add r9b, r9b - QUAD $0x00000150248c0244 // add r9b, byte [rsp + 336] - WORD $0xe0c0; BYTE $0x06 // shl al, 6 - WORD $0xe3c0; BYTE $0x07 // shl bl, 7 - WORD $0xc308 // or bl, al - LONG $0x02e6c041 // shl r14b, 2 - WORD $0x0845; BYTE $0xce // or r14b, r9b + LONG $0x0e100ff2 // movsd xmm1, qword [rsi] + LONG $0x56100ff2; BYTE $0x08 // movsd xmm2, qword [rsi + 8] + LONG $0xc82e0f66 // ucomisd xmm1, xmm0 + QUAD $0x000001202494930f // setae byte [rsp + 288] + LONG $0xd02e0f66 // ucomisd xmm2, xmm0 + WORD $0x930f; BYTE $0xd2 // setae dl + LONG $0x4e100ff2; BYTE $0x10 // movsd xmm1, qword [rsi + 16] + LONG $0xc82e0f66 // ucomisd xmm1, xmm0 + LONG $0xd7930f40 // setae dil + LONG $0x4e100ff2; BYTE $0x18 // movsd xmm1, qword [rsi + 24] + LONG $0xc82e0f66 // ucomisd xmm1, xmm0 + LONG $0xd0930f41 // setae r8b + LONG $0x4e100ff2; BYTE $0x20 // movsd xmm1, qword [rsi + 32] + LONG $0xc82e0f66 // ucomisd xmm1, xmm0 + LONG $0xd1930f41 // setae r9b + LONG $0x4e100ff2; BYTE $0x28 // movsd xmm1, qword [rsi + 40] + LONG $0xc82e0f66 // ucomisd xmm1, xmm0 + QUAD $0x000001102494930f // setae byte [rsp + 272] + LONG $0x4e100ff2; BYTE $0x30 // movsd xmm1, qword [rsi + 48] + LONG $0xc82e0f66 // ucomisd xmm1, xmm0 + QUAD $0x000001302494930f // setae byte [rsp + 304] + LONG $0x4e100ff2; BYTE $0x38 // movsd xmm1, qword [rsi + 56] + LONG $0xc82e0f66 // ucomisd xmm1, xmm0 + QUAD $0x000001502494930f // setae byte [rsp + 336] + LONG $0x4e100ff2; BYTE $0x40 // movsd xmm1, qword [rsi + 64] + LONG $0xc82e0f66 // ucomisd xmm1, xmm0 + QUAD $0x000000c02494930f // setae byte [rsp + 192] + LONG $0x4e100ff2; BYTE $0x48 // movsd xmm1, qword [rsi + 72] + LONG $0xc82e0f66 // ucomisd xmm1, xmm0 + LONG $0xd2930f41 // setae r10b + LONG $0x4e100ff2; BYTE $0x50 // movsd xmm1, qword [rsi + 80] + LONG $0xc82e0f66 // ucomisd xmm1, xmm0 + WORD $0x930f; BYTE $0xd3 // setae bl + LONG $0x4e100ff2; BYTE $0x58 // movsd xmm1, qword [rsi + 88] + LONG $0xc82e0f66 // ucomisd xmm1, xmm0 + LONG $0xd7930f41 // setae r15b + LONG $0x4e100ff2; BYTE $0x60 // movsd xmm1, qword [rsi + 96] + LONG $0xc82e0f66 // ucomisd xmm1, xmm0 + WORD $0x930f; BYTE $0xd0 // setae al + LONG $0x4e100ff2; BYTE $0x68 // movsd xmm1, qword [rsi + 104] + LONG $0xc82e0f66 // ucomisd xmm1, xmm0 + QUAD $0x000000d02494930f // setae byte [rsp + 208] + LONG $0x4e100ff2; BYTE $0x70 // movsd xmm1, qword [rsi + 112] + LONG $0xc82e0f66 // ucomisd xmm1, xmm0 + QUAD $0x000000b02494930f // setae byte [rsp + 176] + LONG $0x4e100ff2; BYTE $0x78 // movsd xmm1, qword [rsi + 120] + LONG $0xc82e0f66 // ucomisd xmm1, xmm0 + QUAD $0x000000e02494930f // setae byte [rsp + 224] + QUAD $0x000000808e100ff2 // movsd xmm1, qword [rsi + 128] + QUAD $0x0000008896100ff2 // movsd xmm2, qword [rsi + 136] + LONG $0xc82e0f66 // ucomisd xmm1, xmm0 + QUAD $0x000000908e100ff2 // movsd xmm1, qword [rsi + 144] + QUAD $0x000000902494930f // setae byte [rsp + 144] + LONG $0xd02e0f66 // ucomisd xmm2, xmm0 + QUAD $0x0000009896100ff2 // movsd xmm2, qword [rsi + 152] + LONG $0xd3930f41 // setae r11b + LONG $0xc82e0f66 // ucomisd xmm1, xmm0 + QUAD $0x000000a08e100ff2 // movsd xmm1, qword [rsi + 160] + LONG $0xd6930f41 // setae r14b + LONG $0xd02e0f66 // ucomisd xmm2, xmm0 + QUAD $0x000000a896100ff2 // movsd xmm2, qword [rsi + 168] + LONG $0xd4930f41 // setae r12b + LONG $0xc82e0f66 // ucomisd xmm1, xmm0 + QUAD $0x000000b08e100ff2 // movsd xmm1, qword [rsi + 176] + QUAD $0x000001002494930f // setae byte [rsp + 256] + LONG $0xd02e0f66 // ucomisd xmm2, xmm0 + QUAD $0x000000b896100ff2 // movsd xmm2, qword [rsi + 184] + QUAD $0x000000a02494930f // setae byte [rsp + 160] + LONG $0xc82e0f66 // ucomisd xmm1, xmm0 + QUAD $0x000000c08e100ff2 // movsd xmm1, qword [rsi + 192] + LONG $0x2454930f; BYTE $0x70 // setae byte [rsp + 112] + LONG $0xd02e0f66 // ucomisd xmm2, xmm0 + QUAD $0x000000c896100ff2 // movsd xmm2, qword [rsi + 200] + LONG $0xd5930f41 // setae r13b + LONG $0xc82e0f66 // ucomisd xmm1, xmm0 + QUAD $0x000000d08e100ff2 // movsd xmm1, qword [rsi + 208] + LONG $0x2454930f; BYTE $0x10 // setae byte [rsp + 16] + LONG $0xd02e0f66 // ucomisd xmm2, xmm0 + QUAD $0x000000d896100ff2 // movsd xmm2, qword [rsi + 216] + QUAD $0x000000802494930f // setae byte [rsp + 128] + LONG $0xc82e0f66 // ucomisd xmm1, xmm0 + QUAD $0x000000e08e100ff2 // movsd xmm1, qword [rsi + 224] + LONG $0x2454930f; BYTE $0x60 // setae byte [rsp + 96] + LONG $0xd02e0f66 // ucomisd xmm2, xmm0 + QUAD $0x000000e896100ff2 // movsd xmm2, qword [rsi + 232] + LONG $0x2454930f; BYTE $0x50 // setae byte [rsp + 80] + LONG $0xc82e0f66 // ucomisd xmm1, xmm0 + QUAD $0x000000f08e100ff2 // movsd xmm1, qword [rsi + 240] + LONG $0x2454930f; BYTE $0x30 // setae byte [rsp + 48] + LONG $0xd02e0f66 // ucomisd xmm2, xmm0 + QUAD $0x000000f896100ff2 // movsd xmm2, qword [rsi + 248] + LONG $0x2454930f; BYTE $0x20 // setae byte [rsp + 32] + LONG $0xc82e0f66 // ucomisd xmm1, xmm0 + LONG $0x2454930f; BYTE $0x08 // setae byte [rsp + 8] + LONG $0x00c68148; WORD $0x0001; BYTE $0x00 // add rsi, 256 + LONG $0xd02e0f66 // ucomisd xmm2, xmm0 + WORD $0x930f; BYTE $0xd1 // setae cl WORD $0xd200 // add dl, dl - LONG $0x00249402; WORD $0x0001; BYTE $0x00 // add dl, byte [rsp + 256] - LONG $0x03e5c041 // shl r13b, 3 - WORD $0x0845; BYTE $0xf5 // or r13b, r14b + LONG $0x20249402; WORD $0x0001; BYTE $0x00 // add dl, byte [rsp + 288] LONG $0x02e7c040 // shl dil, 2 WORD $0x0840; BYTE $0xd7 // or dil, dl - QUAD $0x000000e02494b60f // movzx edx, byte [rsp + 224] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0x0844; BYTE $0xea // or dl, r13b - WORD $0x8941; BYTE $0xd1 // mov r9d, edx - QUAD $0x0000016024b48b4c // mov r14, qword [rsp + 352] - LONG $0x03e2c041 // shl r10b, 3 - WORD $0x0841; BYTE $0xfa // or r10b, dil - QUAD $0x000000d02494b60f // movzx edx, byte [rsp + 208] + LONG $0x03e0c041 // shl r8b, 3 + WORD $0x0841; BYTE $0xf8 // or r8b, dil + LONG $0x04e1c041 // shl r9b, 4 + WORD $0x0845; BYTE $0xc1 // or r9b, r8b + QUAD $0x000001102494b60f // movzx edx, byte [rsp + 272] WORD $0xe2c0; BYTE $0x05 // shl dl, 5 WORD $0x0844; BYTE $0xca // or dl, r9b - LONG $0x04e3c041 // shl r11b, 4 - WORD $0x0845; BYTE $0xd3 // or r11b, r10b - LONG $0x05e4c041 // shl r12b, 5 - WORD $0x0845; BYTE $0xdc // or r12b, r11b - QUAD $0x0000011024bcb60f // movzx edi, byte [rsp + 272] - LONG $0x06e7c040 // shl dil, 6 - WORD $0xe1c0; BYTE $0x07 // shl cl, 7 - WORD $0x0840; BYTE $0xf9 // or cl, dil - WORD $0xd308 // or bl, dl - WORD $0x0844; BYTE $0xe1 // or cl, r12b - QUAD $0x000001302484b60f // movzx eax, byte [rsp + 304] - WORD $0xc000 // add al, al - LONG $0xb0248402; WORD $0x0000; BYTE $0x00 // add al, byte [rsp + 176] - QUAD $0x000001202494b60f // movzx edx, byte [rsp + 288] - WORD $0xe2c0; BYTE $0x02 // shl dl, 2 - WORD $0xc208 // or dl, al WORD $0xd789 // mov edi, edx - QUAD $0x000000f02494b60f // movzx edx, byte [rsp + 240] - WORD $0xe2c0; BYTE $0x03 // shl dl, 3 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - QUAD $0x000000c02494b60f // movzx edx, byte [rsp + 192] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 + QUAD $0x0001302484b60f44; BYTE $0x00 // movzx r8d, byte [rsp + 304] + LONG $0x06e0c041 // shl r8b, 6 + QUAD $0x000001502494b60f // movzx edx, byte [rsp + 336] + WORD $0xe2c0; BYTE $0x07 // shl dl, 7 + WORD $0x0844; BYTE $0xc2 // or dl, r8b + WORD $0x0045; BYTE $0xd2 // add r10b, r10b + QUAD $0x000000c024940244 // add r10b, byte [rsp + 192] + WORD $0xe3c0; BYTE $0x02 // shl bl, 2 + WORD $0x0844; BYTE $0xd3 // or bl, r10b + LONG $0x03e7c041 // shl r15b, 3 + WORD $0x0841; BYTE $0xdf // or r15b, bl + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0844; BYTE $0xf8 // or al, r15b WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - QUAD $0x000000902494b60f // movzx edx, byte [rsp + 144] + QUAD $0x000000d0249cb60f // movzx ebx, byte [rsp + 208] + WORD $0xe3c0; BYTE $0x05 // shl bl, 5 + WORD $0xc308 // or bl, al + WORD $0xdf89 // mov edi, ebx + QUAD $0x000000b02484b60f // movzx eax, byte [rsp + 176] + WORD $0xe0c0; BYTE $0x06 // shl al, 6 + QUAD $0x000000e0249cb60f // movzx ebx, byte [rsp + 224] + WORD $0xe3c0; BYTE $0x07 // shl bl, 7 + WORD $0xc308 // or bl, al + WORD $0x0045; BYTE $0xdb // add r11b, r11b + QUAD $0x00000090249c0244 // add r11b, byte [rsp + 144] + LONG $0x02e6c041 // shl r14b, 2 + WORD $0x0845; BYTE $0xde // or r14b, r11b + LONG $0x03e4c041 // shl r12b, 3 + WORD $0x0845; BYTE $0xf4 // or r12b, r14b + QUAD $0x0000016024b48b4c // mov r14, qword [rsp + 352] + QUAD $0x000001002484b60f // movzx eax, byte [rsp + 256] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0844; BYTE $0xe0 // or al, r12b + WORD $0x8941; BYTE $0xc0 // mov r8d, eax + QUAD $0x000000a02484b60f // movzx eax, byte [rsp + 160] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0x0844; BYTE $0xc0 // or al, r8b + WORD $0x0840; BYTE $0xfb // or bl, dil + LONG $0x247cb60f; BYTE $0x70 // movzx edi, byte [rsp + 112] + LONG $0x06e7c040 // shl dil, 6 + LONG $0x07e5c041 // shl r13b, 7 + WORD $0x0841; BYTE $0xfd // or r13b, dil + WORD $0x8841; BYTE $0x16 // mov byte [r14], dl + WORD $0x0841; BYTE $0xc5 // or r13b, al + QUAD $0x000000802484b60f // movzx eax, byte [rsp + 128] + WORD $0xc000 // add al, al + LONG $0x10244402 // add al, byte [rsp + 16] + WORD $0xc289 // mov edx, eax + LONG $0x2444b60f; BYTE $0x60 // movzx eax, byte [rsp + 96] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0xd008 // or al, dl + WORD $0xc289 // mov edx, eax + LONG $0x2444b60f; BYTE $0x50 // movzx eax, byte [rsp + 80] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0xd008 // or al, dl + WORD $0xc289 // mov edx, eax + LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0xd008 // or al, dl + LONG $0x2454b60f; BYTE $0x20 // movzx edx, byte [rsp + 32] WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0x8841; BYTE $0x1e // mov byte [r14], bl - QUAD $0x00000080249cb60f // movzx ebx, byte [rsp + 128] + WORD $0xc208 // or dl, al + LONG $0x015e8841 // mov byte [r14 + 1], bl + LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] WORD $0xe3c0; BYTE $0x06 // shl bl, 6 - LONG $0x07e7c041 // shl r15b, 7 - WORD $0x0841; BYTE $0xdf // or r15b, bl - LONG $0x014e8841 // mov byte [r14 + 1], cl - WORD $0x0841; BYTE $0xd7 // or r15b, dl - LONG $0x244cb60f; BYTE $0x70 // movzx ecx, byte [rsp + 112] - WORD $0xc900 // add cl, cl - LONG $0x30244c02 // add cl, byte [rsp + 48] - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x60 // movzx ecx, byte [rsp + 96] - WORD $0xe1c0; BYTE $0x02 // shl cl, 2 - WORD $0xd108 // or cl, dl - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x50 // movzx ecx, byte [rsp + 80] - WORD $0xe1c0; BYTE $0x03 // shl cl, 3 - WORD $0xd108 // or cl, dl - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x20 // movzx ecx, byte [rsp + 32] - WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0xd108 // or cl, dl - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x10 // movzx ecx, byte [rsp + 16] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 + WORD $0xe1c0; BYTE $0x07 // shl cl, 7 + WORD $0xd908 // or cl, bl + LONG $0x026e8845 // mov byte [r14 + 2], r13b WORD $0xd108 // or cl, dl - LONG $0x2454b60f; BYTE $0x08 // movzx edx, byte [rsp + 8] - WORD $0xe2c0; BYTE $0x06 // shl dl, 6 - LONG $0x07e0c041 // shl r8b, 7 - WORD $0x0841; BYTE $0xd0 // or r8b, dl - WORD $0x0841; BYTE $0xc8 // or r8b, cl - LONG $0x027e8845 // mov byte [r14 + 2], r15b - LONG $0x03468845 // mov byte [r14 + 3], r8b - LONG $0x00c68148; WORD $0x0001; BYTE $0x00 // add rsi, 256 + LONG $0x034e8841 // mov byte [r14 + 3], cl LONG $0x04c68349 // add r14, 4 - QUAD $0x000000a024848348; BYTE $0xff // add qword [rsp + 160], -1 - JNE LBB10_26 + QUAD $0x000000f024848348; BYTE $0xff // add qword [rsp + 240], -1 + JNE LBB10_51 LONG $0x24548b4c; BYTE $0x48 // mov r10, qword [rsp + 72] QUAD $0x00000140249c8b4c // mov r11, qword [rsp + 320] -LBB10_28: +LBB10_53: LONG $0x05e3c149 // shl r11, 5 WORD $0x394d; BYTE $0xd3 // cmp r11, r10 - JGE LBB10_182 + JGE LBB10_201 WORD $0x894d; BYTE $0xd0 // mov r8, r10 WORD $0x294d; BYTE $0xd8 // sub r8, r11 WORD $0xf749; BYTE $0xd3 // not r11 WORD $0x014d; BYTE $0xd3 // add r11, r10 - JNE LBB10_166 + JNE LBB10_195 WORD $0x3145; BYTE $0xdb // xor r11d, r11d - JMP LBB10_168 + JMP LBB10_197 -LBB10_31: +LBB10_2: WORD $0xff83; BYTE $0x02 // cmp edi, 2 - JE LBB10_58 + JE LBB10_56 WORD $0xff83; BYTE $0x03 // cmp edi, 3 - JNE LBB10_182 + JNE LBB10_201 WORD $0x8a44; BYTE $0x1a // mov r11b, byte [rdx] LONG $0x1f7a8d4d // lea r15, [r10 + 31] WORD $0x854d; BYTE $0xd2 // test r10, r10 @@ -47396,10 +48836,10 @@ LBB10_31: LONG $0xc1490f41 // cmovns eax, r9d WORD $0xe083; BYTE $0xf8 // and eax, -8 WORD $0x2941; BYTE $0xc1 // sub r9d, eax - JE LBB10_37 + JE LBB10_8 WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d -LBB10_35: +LBB10_6: WORD $0x3844; BYTE $0x1e // cmp byte [rsi], r11b LONG $0x01768d48 // lea rsi, [rsi + 1] WORD $0x9d0f; BYTE $0xd2 // setge dl @@ -47420,38 +48860,37 @@ LBB10_35: LONG $0x3e1c8841 // mov byte [r14 + rdi], bl LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 - JNE LBB10_35 + JNE LBB10_6 LONG $0x01c68349 // add r14, 1 -LBB10_37: +LBB10_8: LONG $0x05ffc149 // sar r15, 5 LONG $0x20fa8349 // cmp r10, 32 - JL LBB10_127 + JL LBB10_9 LONG $0x10ff8349 // cmp r15, 16 LONG $0x245c8844; BYTE $0x08 // mov byte [rsp + 8], r11b LONG $0x2454894c; BYTE $0x48 // mov qword [rsp + 72], r10 QUAD $0x000001b024bc894c // mov qword [rsp + 432], r15 - JB LBB10_41 + JB LBB10_82 WORD $0x894c; BYTE $0xf8 // mov rax, r15 LONG $0x05e0c148 // shl rax, 5 WORD $0x0148; BYTE $0xf0 // add rax, rsi WORD $0x3949; BYTE $0xc6 // cmp r14, rax - JAE LBB10_191 + JAE LBB10_85 LONG $0xbe048d4b // lea rax, [r14 + 4*r15] WORD $0x3948; BYTE $0xc6 // cmp rsi, rax - JAE LBB10_191 + JAE LBB10_85 -LBB10_41: - WORD $0xc031 // xor eax, eax - QUAD $0x000000a024848948 // mov qword [rsp + 160], rax - LONG $0x2474894c; BYTE $0x70 // mov qword [rsp + 112], r14 +LBB10_82: + WORD $0xc031 // xor eax, eax + QUAD $0x000000f024848948 // mov qword [rsp + 240], rax + QUAD $0x0000009024b4894c // mov qword [rsp + 144], r14 -LBB10_42: - WORD $0x894d; BYTE $0xfe // mov r14, r15 - QUAD $0x000000a024b42b4c // sub r14, qword [rsp + 160] - QUAD $0x0000017024b4894c // mov qword [rsp + 368], r14 +LBB10_88: + QUAD $0x000000f024bc2b4c // sub r15, qword [rsp + 240] + QUAD $0x0000017024bc894c // mov qword [rsp + 368], r15 -LBB10_43: +LBB10_89: WORD $0x8948; BYTE $0xf1 // mov rcx, rsi WORD $0x3844; BYTE $0x1e // cmp byte [rsi], r11b QUAD $0x0000014024949d0f // setge byte [rsp + 320] @@ -47464,19 +48903,19 @@ LBB10_43: LONG $0xd49d0f41 // setge r12b LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] WORD $0x4138; BYTE $0x04 // cmp byte [rcx + 4], al - QUAD $0x0000015024949d0f // setge byte [rsp + 336] + QUAD $0x0000011024949d0f // setge byte [rsp + 272] LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] WORD $0x4138; BYTE $0x05 // cmp byte [rcx + 5], al - QUAD $0x0000009024949d0f // setge byte [rsp + 144] + LONG $0x24549d0f; BYTE $0x70 // setge byte [rsp + 112] LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] WORD $0x4138; BYTE $0x06 // cmp byte [rcx + 6], al - QUAD $0x000000a024949d0f // setge byte [rsp + 160] + QUAD $0x000000f024949d0f // setge byte [rsp + 240] LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] WORD $0x4138; BYTE $0x07 // cmp byte [rcx + 7], al LONG $0xd19d0f41 // setge r9b LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] WORD $0x4138; BYTE $0x08 // cmp byte [rcx + 8], al - QUAD $0x0000013024949d0f // setge byte [rsp + 304] + QUAD $0x0000015024949d0f // setge byte [rsp + 336] LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] WORD $0x4138; BYTE $0x09 // cmp byte [rcx + 9], al WORD $0x9d0f; BYTE $0xd2 // setge dl @@ -47494,31 +48933,31 @@ LBB10_43: LONG $0xd59d0f41 // setge r13b LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] WORD $0x4138; BYTE $0x0e // cmp byte [rcx + 14], al - QUAD $0x0000010024949d0f // setge byte [rsp + 256] + QUAD $0x0000012024949d0f // setge byte [rsp + 288] LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] WORD $0x4138; BYTE $0x0f // cmp byte [rcx + 15], al LONG $0xd09d0f41 // setge r8b LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] WORD $0x5938; BYTE $0x10 // cmp byte [rcx + 16], bl - QUAD $0x0000011024949d0f // setge byte [rsp + 272] + QUAD $0x0000013024949d0f // setge byte [rsp + 304] LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] WORD $0x5938; BYTE $0x11 // cmp byte [rcx + 17], bl - QUAD $0x0000012024949d0f // setge byte [rsp + 288] + QUAD $0x0000010024949d0f // setge byte [rsp + 256] LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] WORD $0x5938; BYTE $0x12 // cmp byte [rcx + 18], bl - QUAD $0x000000e024949d0f // setge byte [rsp + 224] + QUAD $0x000000d024949d0f // setge byte [rsp + 208] LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] WORD $0x5938; BYTE $0x13 // cmp byte [rcx + 19], bl - QUAD $0x000000f024949d0f // setge byte [rsp + 240] + QUAD $0x000000e024949d0f // setge byte [rsp + 224] LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] WORD $0x5938; BYTE $0x14 // cmp byte [rcx + 20], bl - QUAD $0x000000b024949d0f // setge byte [rsp + 176] + QUAD $0x000000a024949d0f // setge byte [rsp + 160] LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] WORD $0x5938; BYTE $0x15 // cmp byte [rcx + 21], bl - QUAD $0x000000d024949d0f // setge byte [rsp + 208] + QUAD $0x000000c024949d0f // setge byte [rsp + 192] LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] WORD $0x5938; BYTE $0x16 // cmp byte [rcx + 22], bl - QUAD $0x000000c024949d0f // setge byte [rsp + 192] + QUAD $0x000000b024949d0f // setge byte [rsp + 176] LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] WORD $0x5938; BYTE $0x17 // cmp byte [rcx + 23], bl LONG $0xd39d0f41 // setge r11b @@ -47548,60 +48987,60 @@ LBB10_43: WORD $0x9d0f; BYTE $0xd3 // setge bl WORD $0x0040; BYTE $0xf6 // add sil, sil QUAD $0x0000014024b40240 // add sil, byte [rsp + 320] - QUAD $0x000000a02484b60f // movzx eax, byte [rsp + 160] + QUAD $0x000000f02484b60f // movzx eax, byte [rsp + 240] WORD $0xe0c0; BYTE $0x06 // shl al, 6 LONG $0x07e1c041 // shl r9b, 7 WORD $0x0841; BYTE $0xc1 // or r9b, al LONG $0x02e7c041 // shl r15b, 2 WORD $0x0841; BYTE $0xf7 // or r15b, sil WORD $0xd200 // add dl, dl - LONG $0x30249402; WORD $0x0001; BYTE $0x00 // add dl, byte [rsp + 304] + LONG $0x50249402; WORD $0x0001; BYTE $0x00 // add dl, byte [rsp + 336] LONG $0x03e4c041 // shl r12b, 3 WORD $0x0845; BYTE $0xfc // or r12b, r15b LONG $0x7cb60f44; WORD $0x0824 // movzx r15d, byte [rsp + 8] LONG $0x02e7c040 // shl dil, 2 WORD $0x0840; BYTE $0xd7 // or dil, dl - QUAD $0x000001502484b60f // movzx eax, byte [rsp + 336] + QUAD $0x000001102484b60f // movzx eax, byte [rsp + 272] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0x0844; BYTE $0xe0 // or al, r12b LONG $0x03e2c041 // shl r10b, 3 WORD $0x0841; BYTE $0xfa // or r10b, dil - QUAD $0x000000902494b60f // movzx edx, byte [rsp + 144] + LONG $0x2454b60f; BYTE $0x70 // movzx edx, byte [rsp + 112] WORD $0xe2c0; BYTE $0x05 // shl dl, 5 WORD $0xc208 // or dl, al LONG $0x04e6c041 // shl r14b, 4 WORD $0x0845; BYTE $0xd6 // or r14b, r10b LONG $0x05e5c041 // shl r13b, 5 WORD $0x0845; BYTE $0xf5 // or r13b, r14b - QUAD $0x0000010024b4b60f // movzx esi, byte [rsp + 256] + QUAD $0x0000012024b4b60f // movzx esi, byte [rsp + 288] LONG $0x06e6c040 // shl sil, 6 LONG $0x07e0c041 // shl r8b, 7 WORD $0x0841; BYTE $0xf0 // or r8b, sil WORD $0x0841; BYTE $0xd1 // or r9b, dl WORD $0x0845; BYTE $0xe8 // or r8b, r13b - QUAD $0x000001202494b60f // movzx edx, byte [rsp + 288] + QUAD $0x000001002494b60f // movzx edx, byte [rsp + 256] WORD $0xd200 // add dl, dl - LONG $0x10249402; WORD $0x0001; BYTE $0x00 // add dl, byte [rsp + 272] + LONG $0x30249402; WORD $0x0001; BYTE $0x00 // add dl, byte [rsp + 304] WORD $0xd689 // mov esi, edx - QUAD $0x000000e02494b60f // movzx edx, byte [rsp + 224] + QUAD $0x000000d02494b60f // movzx edx, byte [rsp + 208] WORD $0xe2c0; BYTE $0x02 // shl dl, 2 WORD $0x0840; BYTE $0xf2 // or dl, sil WORD $0xd689 // mov esi, edx - QUAD $0x000000f02494b60f // movzx edx, byte [rsp + 240] + QUAD $0x000000e02494b60f // movzx edx, byte [rsp + 224] WORD $0xe2c0; BYTE $0x03 // shl dl, 3 WORD $0x0840; BYTE $0xf2 // or dl, sil WORD $0xd689 // mov esi, edx - QUAD $0x000000b02494b60f // movzx edx, byte [rsp + 176] + QUAD $0x000000a02494b60f // movzx edx, byte [rsp + 160] WORD $0xe2c0; BYTE $0x04 // shl dl, 4 WORD $0x0840; BYTE $0xf2 // or dl, sil WORD $0xd689 // mov esi, edx - QUAD $0x000000d02494b60f // movzx edx, byte [rsp + 208] + QUAD $0x000000c02494b60f // movzx edx, byte [rsp + 192] WORD $0xe2c0; BYTE $0x05 // shl dl, 5 WORD $0x0840; BYTE $0xf2 // or dl, sil WORD $0xd689 // mov esi, edx - LONG $0x24548b48; BYTE $0x70 // mov rdx, qword [rsp + 112] + QUAD $0x0000009024948b48 // mov rdx, qword [rsp + 144] WORD $0x8844; BYTE $0x0a // mov byte [rdx], r9b - QUAD $0x000000c024bcb60f // movzx edi, byte [rsp + 192] + QUAD $0x000000b024bcb60f // movzx edi, byte [rsp + 176] LONG $0x06e7c040 // shl dil, 6 LONG $0x07e3c041 // shl r11b, 7 WORD $0x0841; BYTE $0xfb // or r11b, dil @@ -47636,18 +49075,18 @@ LBB10_43: WORD $0x5a88; BYTE $0x03 // mov byte [rdx + 3], bl LONG $0x20718d48 // lea rsi, [rcx + 32] LONG $0x04c28348 // add rdx, 4 - LONG $0x24548948; BYTE $0x70 // mov qword [rsp + 112], rdx + QUAD $0x0000009024948948 // mov qword [rsp + 144], rdx QUAD $0x0000017024848348; BYTE $0xff // add qword [rsp + 368], -1 - JNE LBB10_43 + JNE LBB10_89 LONG $0x24548b4c; BYTE $0x48 // mov r10, qword [rsp + 72] QUAD $0x000001b024bc8b4c // mov r15, qword [rsp + 432] - JMP LBB10_128 + JMP LBB10_91 -LBB10_45: +LBB10_27: WORD $0xff83; BYTE $0x07 // cmp edi, 7 - JE LBB10_70 + JE LBB10_139 WORD $0xff83; BYTE $0x08 // cmp edi, 8 - JNE LBB10_182 + JNE LBB10_201 WORD $0x8b4c; BYTE $0x2a // mov r13, qword [rdx] LONG $0x1f5a8d4d // lea r11, [r10 + 31] WORD $0x854d; BYTE $0xd2 // test r10, r10 @@ -47657,10 +49096,10 @@ LBB10_45: LONG $0xc1490f41 // cmovns eax, r9d WORD $0xe083; BYTE $0xf8 // and eax, -8 WORD $0x2941; BYTE $0xc1 // sub r9d, eax - JE LBB10_51 + JE LBB10_33 WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d -LBB10_49: +LBB10_31: WORD $0x394c; BYTE $0x2e // cmp qword [rsi], r13 LONG $0x08768d48 // lea rsi, [rsi + 8] LONG $0x000000ba; BYTE $0x00 // mov edx, 0 @@ -47681,63 +49120,63 @@ LBB10_49: LONG $0x1e3c8841 // mov byte [r14 + rbx], dil LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 - JNE LBB10_49 + JNE LBB10_31 LONG $0x01c68349 // add r14, 1 -LBB10_51: +LBB10_33: LONG $0x05fbc149 // sar r11, 5 LONG $0x20fa8349 // cmp r10, 32 - JL LBB10_55 + JL LBB10_37 LONG $0x2454894c; BYTE $0x48 // mov qword [rsp + 72], r10 QUAD $0x00000170249c894c // mov qword [rsp + 368], r11 QUAD $0x00000140249c894c // mov qword [rsp + 320], r11 -LBB10_53: +LBB10_35: QUAD $0x0000016024b4894c // mov qword [rsp + 352], r14 WORD $0x394c; BYTE $0x2e // cmp qword [rsi], r13 - QUAD $0x000000a02494930f // setae byte [rsp + 160] + QUAD $0x000000f02494930f // setae byte [rsp + 240] LONG $0x086e394c // cmp qword [rsi + 8], r13 - LONG $0xd7930f40 // setae dil + LONG $0xd2930f41 // setae r10b LONG $0x106e394c // cmp qword [rsi + 16], r13 LONG $0xd6930f41 // setae r14b LONG $0x186e394c // cmp qword [rsi + 24], r13 - QUAD $0x000001502494930f // setae byte [rsp + 336] + QUAD $0x000001102494930f // setae byte [rsp + 272] LONG $0x206e394c // cmp qword [rsi + 32], r13 - QUAD $0x000000e02494930f // setae byte [rsp + 224] - LONG $0x286e394c // cmp qword [rsi + 40], r13 QUAD $0x000000d02494930f // setae byte [rsp + 208] + LONG $0x286e394c // cmp qword [rsi + 40], r13 + QUAD $0x000000c02494930f // setae byte [rsp + 192] LONG $0x306e394c // cmp qword [rsi + 48], r13 WORD $0x930f; BYTE $0xd0 // setae al LONG $0x386e394c // cmp qword [rsi + 56], r13 WORD $0x930f; BYTE $0xd3 // setae bl LONG $0x406e394c // cmp qword [rsi + 64], r13 - QUAD $0x000001302494930f // setae byte [rsp + 304] + QUAD $0x000001502494930f // setae byte [rsp + 336] LONG $0x486e394c // cmp qword [rsi + 72], r13 - WORD $0x930f; BYTE $0xd2 // setae dl + LONG $0xd7930f40 // setae dil LONG $0x506e394c // cmp qword [rsi + 80], r13 - LONG $0xd1930f41 // setae r9b + LONG $0xd0930f41 // setae r8b LONG $0x586e394c // cmp qword [rsi + 88], r13 - LONG $0xd2930f41 // setae r10b + LONG $0xd1930f41 // setae r9b LONG $0x606e394c // cmp qword [rsi + 96], r13 LONG $0xd3930f41 // setae r11b LONG $0x686e394c // cmp qword [rsi + 104], r13 LONG $0xd4930f41 // setae r12b LONG $0x706e394c // cmp qword [rsi + 112], r13 - QUAD $0x000001002494930f // setae byte [rsp + 256] + QUAD $0x000001202494930f // setae byte [rsp + 288] LONG $0x786e394c // cmp qword [rsi + 120], r13 WORD $0x930f; BYTE $0xd1 // setae cl LONG $0x80ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 128], r13 - QUAD $0x000000b02494930f // setae byte [rsp + 176] + QUAD $0x000000a02494930f // setae byte [rsp + 160] LONG $0x88ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 136], r13 - QUAD $0x000001102494930f // setae byte [rsp + 272] + QUAD $0x000001302494930f // setae byte [rsp + 304] LONG $0x90ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 144], r13 - QUAD $0x000001202494930f // setae byte [rsp + 288] + QUAD $0x000001002494930f // setae byte [rsp + 256] LONG $0x98ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 152], r13 - QUAD $0x000000f02494930f // setae byte [rsp + 240] + QUAD $0x000000e02494930f // setae byte [rsp + 224] LONG $0xa0ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 160], r13 - QUAD $0x000000c02494930f // setae byte [rsp + 192] + QUAD $0x000000b02494930f // setae byte [rsp + 176] LONG $0xa8ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 168], r13 - QUAD $0x000000902494930f // setae byte [rsp + 144] + LONG $0x2454930f; BYTE $0x70 // setae byte [rsp + 112] LONG $0xb0ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 176], r13 QUAD $0x000000802494930f // setae byte [rsp + 128] LONG $0xb8ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 184], r13 @@ -47745,7 +49184,7 @@ LBB10_53: LONG $0xc0ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 192], r13 LONG $0x2454930f; BYTE $0x30 // setae byte [rsp + 48] LONG $0xc8ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 200], r13 - LONG $0x2454930f; BYTE $0x70 // setae byte [rsp + 112] + QUAD $0x000000902494930f // setae byte [rsp + 144] LONG $0xd0ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 208], r13 LONG $0x2454930f; BYTE $0x60 // setae byte [rsp + 96] LONG $0xd8ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 216], r13 @@ -47757,113 +49196,114 @@ LBB10_53: LONG $0xf0ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 240], r13 LONG $0x2454930f; BYTE $0x08 // setae byte [rsp + 8] LONG $0xf8ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 248], r13 - LONG $0xd0930f41 // setae r8b - WORD $0x0040; BYTE $0xff // add dil, dil - QUAD $0x000000a024bc0240 // add dil, byte [rsp + 160] + WORD $0x930f; BYTE $0xd2 // setae dl + WORD $0x0045; BYTE $0xd2 // add r10b, r10b + QUAD $0x000000f024940244 // add r10b, byte [rsp + 240] WORD $0xe0c0; BYTE $0x06 // shl al, 6 WORD $0xe3c0; BYTE $0x07 // shl bl, 7 WORD $0xc308 // or bl, al LONG $0x02e6c041 // shl r14b, 2 - WORD $0x0841; BYTE $0xfe // or r14b, dil - WORD $0xd200 // add dl, dl - LONG $0x30249402; WORD $0x0001; BYTE $0x00 // add dl, byte [rsp + 304] - QUAD $0x000001502484b60f // movzx eax, byte [rsp + 336] + WORD $0x0845; BYTE $0xd6 // or r14b, r10b + WORD $0x0040; BYTE $0xff // add dil, dil + QUAD $0x0000015024bc0240 // add dil, byte [rsp + 336] + QUAD $0x000001102484b60f // movzx eax, byte [rsp + 272] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0x0844; BYTE $0xf0 // or al, r14b - LONG $0x02e1c041 // shl r9b, 2 - WORD $0x0841; BYTE $0xd1 // or r9b, dl - QUAD $0x000000e02494b60f // movzx edx, byte [rsp + 224] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0xc208 // or dl, al - WORD $0xd789 // mov edi, edx - LONG $0x03e2c041 // shl r10b, 3 - WORD $0x0845; BYTE $0xca // or r10b, r9b - QUAD $0x000000d02494b60f // movzx edx, byte [rsp + 208] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xfa // or dl, dil + WORD $0x8941; BYTE $0xc2 // mov r10d, eax + QUAD $0x0000016024b48b4c // mov r14, qword [rsp + 352] + LONG $0x02e0c041 // shl r8b, 2 + WORD $0x0841; BYTE $0xf8 // or r8b, dil + QUAD $0x000000d02484b60f // movzx eax, byte [rsp + 208] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0844; BYTE $0xd0 // or al, r10b + WORD $0xc789 // mov edi, eax + LONG $0x03e1c041 // shl r9b, 3 + WORD $0x0845; BYTE $0xc1 // or r9b, r8b + QUAD $0x000000c02484b60f // movzx eax, byte [rsp + 192] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0x0840; BYTE $0xf8 // or al, dil LONG $0x04e3c041 // shl r11b, 4 - WORD $0x0845; BYTE $0xd3 // or r11b, r10b + WORD $0x0845; BYTE $0xcb // or r11b, r9b LONG $0x05e4c041 // shl r12b, 5 WORD $0x0845; BYTE $0xdc // or r12b, r11b - QUAD $0x0000010024bcb60f // movzx edi, byte [rsp + 256] + QUAD $0x0000012024bcb60f // movzx edi, byte [rsp + 288] LONG $0x06e7c040 // shl dil, 6 WORD $0xe1c0; BYTE $0x07 // shl cl, 7 WORD $0x0840; BYTE $0xf9 // or cl, dil - WORD $0xd308 // or bl, dl + WORD $0xc308 // or bl, al WORD $0x0844; BYTE $0xe1 // or cl, r12b - QUAD $0x0000016024b48b4c // mov r14, qword [rsp + 352] - QUAD $0x000001102494b60f // movzx edx, byte [rsp + 272] - WORD $0xd200 // add dl, dl - LONG $0xb0249402; WORD $0x0000; BYTE $0x00 // add dl, byte [rsp + 176] - WORD $0xd789 // mov edi, edx - QUAD $0x000001202494b60f // movzx edx, byte [rsp + 288] - WORD $0xe2c0; BYTE $0x02 // shl dl, 2 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - QUAD $0x000000f02494b60f // movzx edx, byte [rsp + 240] - WORD $0xe2c0; BYTE $0x03 // shl dl, 3 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - QUAD $0x000000c02494b60f // movzx edx, byte [rsp + 192] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - QUAD $0x000000902494b60f // movzx edx, byte [rsp + 144] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xfa // or dl, dil + QUAD $0x000001302484b60f // movzx eax, byte [rsp + 304] + WORD $0xc000 // add al, al + LONG $0xa0248402; WORD $0x0000; BYTE $0x00 // add al, byte [rsp + 160] + WORD $0xc789 // mov edi, eax + QUAD $0x000001002484b60f // movzx eax, byte [rsp + 256] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + QUAD $0x000000e02484b60f // movzx eax, byte [rsp + 224] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + QUAD $0x000000b02484b60f // movzx eax, byte [rsp + 176] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x70 // movzx eax, byte [rsp + 112] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0x0840; BYTE $0xf8 // or al, dil WORD $0x8841; BYTE $0x1e // mov byte [r14], bl QUAD $0x00000080249cb60f // movzx ebx, byte [rsp + 128] WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e7c041 // shl r15b, 7 WORD $0x0841; BYTE $0xdf // or r15b, bl LONG $0x014e8841 // mov byte [r14 + 1], cl - WORD $0x0841; BYTE $0xd7 // or r15b, dl - LONG $0x244cb60f; BYTE $0x70 // movzx ecx, byte [rsp + 112] - WORD $0xc900 // add cl, cl - LONG $0x30244c02 // add cl, byte [rsp + 48] - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x60 // movzx ecx, byte [rsp + 96] - WORD $0xe1c0; BYTE $0x02 // shl cl, 2 - WORD $0xd108 // or cl, dl - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x50 // movzx ecx, byte [rsp + 80] - WORD $0xe1c0; BYTE $0x03 // shl cl, 3 - WORD $0xd108 // or cl, dl - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x20 // movzx ecx, byte [rsp + 32] - WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0xd108 // or cl, dl - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x10 // movzx ecx, byte [rsp + 16] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0xd108 // or cl, dl - LONG $0x2454b60f; BYTE $0x08 // movzx edx, byte [rsp + 8] - WORD $0xe2c0; BYTE $0x06 // shl dl, 6 - LONG $0x07e0c041 // shl r8b, 7 - WORD $0x0841; BYTE $0xd0 // or r8b, dl - WORD $0x0841; BYTE $0xc8 // or r8b, cl + WORD $0x0841; BYTE $0xc7 // or r15b, al + QUAD $0x000000902484b60f // movzx eax, byte [rsp + 144] + WORD $0xc000 // add al, al + LONG $0x30244402 // add al, byte [rsp + 48] + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x60 // movzx eax, byte [rsp + 96] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x50 // movzx eax, byte [rsp + 80] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0xc808 // or al, cl + LONG $0x244cb60f; BYTE $0x08 // movzx ecx, byte [rsp + 8] + WORD $0xe1c0; BYTE $0x06 // shl cl, 6 + WORD $0xe2c0; BYTE $0x07 // shl dl, 7 + WORD $0xca08 // or dl, cl + WORD $0xc208 // or dl, al LONG $0x027e8845 // mov byte [r14 + 2], r15b - LONG $0x03468845 // mov byte [r14 + 3], r8b + LONG $0x03568841 // mov byte [r14 + 3], dl LONG $0x00c68148; WORD $0x0001; BYTE $0x00 // add rsi, 256 LONG $0x04c68349 // add r14, 4 QUAD $0x0000014024848348; BYTE $0xff // add qword [rsp + 320], -1 - JNE LBB10_53 + JNE LBB10_35 LONG $0x24548b4c; BYTE $0x48 // mov r10, qword [rsp + 72] QUAD $0x00000170249c8b4c // mov r11, qword [rsp + 368] -LBB10_55: +LBB10_37: LONG $0x05e3c149 // shl r11, 5 WORD $0x394d; BYTE $0xd3 // cmp r11, r10 - JGE LBB10_182 + JGE LBB10_201 WORD $0x894d; BYTE $0xd0 // mov r8, r10 WORD $0x294d; BYTE $0xd8 // sub r8, r11 WORD $0xf749; BYTE $0xd3 // not r11 WORD $0x014d; BYTE $0xd3 // add r11, r10 - JNE LBB10_143 + JNE LBB10_155 WORD $0x3145; BYTE $0xdb // xor r11d, r11d - JMP LBB10_145 + JMP LBB10_40 -LBB10_58: +LBB10_56: WORD $0x8a44; BYTE $0x1a // mov r11b, byte [rdx] LONG $0x1f7a8d4d // lea r15, [r10 + 31] WORD $0x854d; BYTE $0xd2 // test r10, r10 @@ -47873,10 +49313,10 @@ LBB10_58: LONG $0xc1490f41 // cmovns eax, r9d WORD $0xe083; BYTE $0xf8 // and eax, -8 WORD $0x2941; BYTE $0xc1 // sub r9d, eax - JE LBB10_62 + JE LBB10_60 WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d -LBB10_60: +LBB10_58: WORD $0x3844; BYTE $0x1e // cmp byte [rsi], r11b LONG $0x01768d48 // lea rsi, [rsi + 1] LONG $0x000000ba; BYTE $0x00 // mov edx, 0 @@ -47897,38 +49337,37 @@ LBB10_60: LONG $0x3e1c8841 // mov byte [r14 + rdi], bl LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 - JNE LBB10_60 + JNE LBB10_58 LONG $0x01c68349 // add r14, 1 -LBB10_62: +LBB10_60: LONG $0x05ffc149 // sar r15, 5 LONG $0x20fa8349 // cmp r10, 32 - JL LBB10_131 + JL LBB10_61 LONG $0x10ff8349 // cmp r15, 16 LONG $0x245c8844; BYTE $0x08 // mov byte [rsp + 8], r11b LONG $0x2454894c; BYTE $0x48 // mov qword [rsp + 72], r10 QUAD $0x000001d024bc894c // mov qword [rsp + 464], r15 - JB LBB10_66 + JB LBB10_63 WORD $0x894c; BYTE $0xf8 // mov rax, r15 LONG $0x05e0c148 // shl rax, 5 WORD $0x0148; BYTE $0xf0 // add rax, rsi WORD $0x3949; BYTE $0xc6 // cmp r14, rax - JAE LBB10_194 + JAE LBB10_66 LONG $0xbe048d4b // lea rax, [r14 + 4*r15] WORD $0x3948; BYTE $0xc6 // cmp rsi, rax - JAE LBB10_194 + JAE LBB10_66 -LBB10_66: +LBB10_63: WORD $0xc031 // xor eax, eax QUAD $0x000001a024848948 // mov qword [rsp + 416], rax - QUAD $0x000000d024b4894c // mov qword [rsp + 208], r14 + QUAD $0x000000e024b4894c // mov qword [rsp + 224], r14 -LBB10_67: - WORD $0x894d; BYTE $0xfe // mov r14, r15 - QUAD $0x000001a024b42b4c // sub r14, qword [rsp + 416] - QUAD $0x0000017024b4894c // mov qword [rsp + 368], r14 +LBB10_69: + QUAD $0x000001a024bc2b4c // sub r15, qword [rsp + 416] + QUAD $0x0000017024bc894c // mov qword [rsp + 368], r15 -LBB10_68: +LBB10_70: WORD $0x8948; BYTE $0xf1 // mov rcx, rsi WORD $0x3844; BYTE $0x1e // cmp byte [rsi], r11b QUAD $0x000001402494930f // setae byte [rsp + 320] @@ -47941,19 +49380,19 @@ LBB10_68: LONG $0xd4930f41 // setae r12b LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] WORD $0x4138; BYTE $0x04 // cmp byte [rcx + 4], al - QUAD $0x000001502494930f // setae byte [rsp + 336] + QUAD $0x000001102494930f // setae byte [rsp + 272] LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] WORD $0x4138; BYTE $0x05 // cmp byte [rcx + 5], al QUAD $0x000000802494930f // setae byte [rsp + 128] LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] WORD $0x4138; BYTE $0x06 // cmp byte [rcx + 6], al - QUAD $0x000000a02494930f // setae byte [rsp + 160] + QUAD $0x000000f02494930f // setae byte [rsp + 240] LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] WORD $0x4138; BYTE $0x07 // cmp byte [rcx + 7], al LONG $0xd1930f41 // setae r9b LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] WORD $0x4138; BYTE $0x08 // cmp byte [rcx + 8], al - QUAD $0x000001302494930f // setae byte [rsp + 304] + QUAD $0x000001502494930f // setae byte [rsp + 336] LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] WORD $0x4138; BYTE $0x09 // cmp byte [rcx + 9], al WORD $0x930f; BYTE $0xd2 // setae dl @@ -47971,28 +49410,28 @@ LBB10_68: LONG $0xd5930f41 // setae r13b LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] WORD $0x4138; BYTE $0x0e // cmp byte [rcx + 14], al - QUAD $0x000001002494930f // setae byte [rsp + 256] + QUAD $0x000001202494930f // setae byte [rsp + 288] LONG $0x2444b60f; BYTE $0x08 // movzx eax, byte [rsp + 8] WORD $0x4138; BYTE $0x0f // cmp byte [rcx + 15], al LONG $0xd0930f41 // setae r8b LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] WORD $0x5938; BYTE $0x10 // cmp byte [rcx + 16], bl - QUAD $0x000001102494930f // setae byte [rsp + 272] + QUAD $0x000001302494930f // setae byte [rsp + 304] LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] WORD $0x5938; BYTE $0x11 // cmp byte [rcx + 17], bl - QUAD $0x000001202494930f // setae byte [rsp + 288] + QUAD $0x000001002494930f // setae byte [rsp + 256] LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] WORD $0x5938; BYTE $0x12 // cmp byte [rcx + 18], bl - QUAD $0x000000e02494930f // setae byte [rsp + 224] + QUAD $0x000000d02494930f // setae byte [rsp + 208] LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] WORD $0x5938; BYTE $0x13 // cmp byte [rcx + 19], bl - QUAD $0x000000f02494930f // setae byte [rsp + 240] + QUAD $0x000000a02494930f // setae byte [rsp + 160] LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] WORD $0x5938; BYTE $0x14 // cmp byte [rcx + 20], bl QUAD $0x000000b02494930f // setae byte [rsp + 176] LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] WORD $0x5938; BYTE $0x15 // cmp byte [rcx + 21], bl - QUAD $0x000000902494930f // setae byte [rsp + 144] + LONG $0x2454930f; BYTE $0x70 // setae byte [rsp + 112] LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] WORD $0x5938; BYTE $0x16 // cmp byte [rcx + 22], bl QUAD $0x000000c02494930f // setae byte [rsp + 192] @@ -48001,7 +49440,7 @@ LBB10_68: LONG $0xd3930f41 // setae r11b LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] WORD $0x5938; BYTE $0x18 // cmp byte [rcx + 24], bl - LONG $0x2454930f; BYTE $0x70 // setae byte [rsp + 112] + QUAD $0x000000902494930f // setae byte [rsp + 144] LONG $0x245cb60f; BYTE $0x08 // movzx ebx, byte [rsp + 8] WORD $0x5938; BYTE $0x19 // cmp byte [rcx + 25], bl LONG $0x2454930f; BYTE $0x60 // setae byte [rsp + 96] @@ -48025,20 +49464,20 @@ LBB10_68: WORD $0x930f; BYTE $0xd3 // setae bl WORD $0x0040; BYTE $0xf6 // add sil, sil QUAD $0x0000014024b40240 // add sil, byte [rsp + 320] - QUAD $0x000000a02484b60f // movzx eax, byte [rsp + 160] + QUAD $0x000000f02484b60f // movzx eax, byte [rsp + 240] WORD $0xe0c0; BYTE $0x06 // shl al, 6 LONG $0x07e1c041 // shl r9b, 7 WORD $0x0841; BYTE $0xc1 // or r9b, al LONG $0x02e7c041 // shl r15b, 2 WORD $0x0841; BYTE $0xf7 // or r15b, sil WORD $0xd200 // add dl, dl - LONG $0x30249402; WORD $0x0001; BYTE $0x00 // add dl, byte [rsp + 304] + LONG $0x50249402; WORD $0x0001; BYTE $0x00 // add dl, byte [rsp + 336] LONG $0x03e4c041 // shl r12b, 3 WORD $0x0845; BYTE $0xfc // or r12b, r15b LONG $0x7cb60f44; WORD $0x0824 // movzx r15d, byte [rsp + 8] LONG $0x02e7c040 // shl dil, 2 WORD $0x0840; BYTE $0xd7 // or dil, dl - QUAD $0x000001502484b60f // movzx eax, byte [rsp + 336] + QUAD $0x000001102484b60f // movzx eax, byte [rsp + 272] WORD $0xe0c0; BYTE $0x04 // shl al, 4 WORD $0x0844; BYTE $0xe0 // or al, r12b LONG $0x03e2c041 // shl r10b, 3 @@ -48050,21 +49489,21 @@ LBB10_68: WORD $0x0845; BYTE $0xd6 // or r14b, r10b LONG $0x05e5c041 // shl r13b, 5 WORD $0x0845; BYTE $0xf5 // or r13b, r14b - QUAD $0x0000010024b4b60f // movzx esi, byte [rsp + 256] + QUAD $0x0000012024b4b60f // movzx esi, byte [rsp + 288] LONG $0x06e6c040 // shl sil, 6 LONG $0x07e0c041 // shl r8b, 7 WORD $0x0841; BYTE $0xf0 // or r8b, sil WORD $0x0841; BYTE $0xd1 // or r9b, dl WORD $0x0845; BYTE $0xe8 // or r8b, r13b - QUAD $0x000001202494b60f // movzx edx, byte [rsp + 288] + QUAD $0x000001002494b60f // movzx edx, byte [rsp + 256] WORD $0xd200 // add dl, dl - LONG $0x10249402; WORD $0x0001; BYTE $0x00 // add dl, byte [rsp + 272] + LONG $0x30249402; WORD $0x0001; BYTE $0x00 // add dl, byte [rsp + 304] WORD $0xd689 // mov esi, edx - QUAD $0x000000e02494b60f // movzx edx, byte [rsp + 224] + QUAD $0x000000d02494b60f // movzx edx, byte [rsp + 208] WORD $0xe2c0; BYTE $0x02 // shl dl, 2 WORD $0x0840; BYTE $0xf2 // or dl, sil WORD $0xd689 // mov esi, edx - QUAD $0x000000f02494b60f // movzx edx, byte [rsp + 240] + QUAD $0x000000a02494b60f // movzx edx, byte [rsp + 160] WORD $0xe2c0; BYTE $0x03 // shl dl, 3 WORD $0x0840; BYTE $0xf2 // or dl, sil WORD $0xd689 // mov esi, edx @@ -48072,11 +49511,11 @@ LBB10_68: WORD $0xe2c0; BYTE $0x04 // shl dl, 4 WORD $0x0840; BYTE $0xf2 // or dl, sil WORD $0xd689 // mov esi, edx - QUAD $0x000000902494b60f // movzx edx, byte [rsp + 144] + LONG $0x2454b60f; BYTE $0x70 // movzx edx, byte [rsp + 112] WORD $0xe2c0; BYTE $0x05 // shl dl, 5 WORD $0x0840; BYTE $0xf2 // or dl, sil WORD $0xd689 // mov esi, edx - QUAD $0x000000d024948b48 // mov rdx, qword [rsp + 208] + QUAD $0x000000e024948b48 // mov rdx, qword [rsp + 224] WORD $0x8844; BYTE $0x0a // mov byte [rdx], r9b QUAD $0x000000c024bcb60f // movzx edi, byte [rsp + 192] LONG $0x06e7c040 // shl dil, 6 @@ -48086,7 +49525,7 @@ LBB10_68: WORD $0x0841; BYTE $0xf3 // or r11b, sil LONG $0x2444b60f; BYTE $0x60 // movzx eax, byte [rsp + 96] WORD $0xc000 // add al, al - LONG $0x70244402 // add al, byte [rsp + 112] + LONG $0x90248402; WORD $0x0000; BYTE $0x00 // add al, byte [rsp + 144] WORD $0xc689 // mov esi, eax LONG $0x2444b60f; BYTE $0x50 // movzx eax, byte [rsp + 80] WORD $0xe0c0; BYTE $0x02 // shl al, 2 @@ -48113,14 +49552,14 @@ LBB10_68: WORD $0x5a88; BYTE $0x03 // mov byte [rdx + 3], bl LONG $0x20718d48 // lea rsi, [rcx + 32] LONG $0x04c28348 // add rdx, 4 - QUAD $0x000000d024948948 // mov qword [rsp + 208], rdx + QUAD $0x000000e024948948 // mov qword [rsp + 224], rdx QUAD $0x0000017024848348; BYTE $0xff // add qword [rsp + 368], -1 - JNE LBB10_68 + JNE LBB10_70 LONG $0x24548b4c; BYTE $0x48 // mov r10, qword [rsp + 72] QUAD $0x000001d024bc8b4c // mov r15, qword [rsp + 464] - JMP LBB10_132 + JMP LBB10_72 -LBB10_70: +LBB10_139: WORD $0x8b44; BYTE $0x2a // mov r13d, dword [rdx] LONG $0x1f5a8d4d // lea r11, [r10 + 31] WORD $0x854d; BYTE $0xd2 // test r10, r10 @@ -48130,10 +49569,10 @@ LBB10_70: LONG $0xc1490f41 // cmovns eax, r9d WORD $0xe083; BYTE $0xf8 // and eax, -8 WORD $0x2941; BYTE $0xc1 // sub r9d, eax - JE LBB10_74 + JE LBB10_143 WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d -LBB10_72: +LBB10_141: WORD $0x3944; BYTE $0x2e // cmp dword [rsi], r13d LONG $0x04768d48 // lea rsi, [rsi + 4] WORD $0x9d0f; BYTE $0xd2 // setge dl @@ -48154,63 +49593,63 @@ LBB10_72: LONG $0x1e3c8841 // mov byte [r14 + rbx], dil LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 - JNE LBB10_72 + JNE LBB10_141 LONG $0x01c68349 // add r14, 1 -LBB10_74: +LBB10_143: LONG $0x05fbc149 // sar r11, 5 LONG $0x20fa8349 // cmp r10, 32 - JL LBB10_78 + JL LBB10_147 LONG $0x2454894c; BYTE $0x48 // mov qword [rsp + 72], r10 QUAD $0x00000170249c894c // mov qword [rsp + 368], r11 QUAD $0x00000140249c894c // mov qword [rsp + 320], r11 -LBB10_76: +LBB10_145: QUAD $0x0000016024b4894c // mov qword [rsp + 352], r14 WORD $0x3944; BYTE $0x2e // cmp dword [rsi], r13d - QUAD $0x000000a024949d0f // setge byte [rsp + 160] + QUAD $0x000000f024949d0f // setge byte [rsp + 240] LONG $0x046e3944 // cmp dword [rsi + 4], r13d - LONG $0xd79d0f40 // setge dil + LONG $0xd29d0f41 // setge r10b LONG $0x086e3944 // cmp dword [rsi + 8], r13d LONG $0xd69d0f41 // setge r14b LONG $0x0c6e3944 // cmp dword [rsi + 12], r13d - QUAD $0x0000015024949d0f // setge byte [rsp + 336] + QUAD $0x0000011024949d0f // setge byte [rsp + 272] LONG $0x106e3944 // cmp dword [rsi + 16], r13d - QUAD $0x000000e024949d0f // setge byte [rsp + 224] - LONG $0x146e3944 // cmp dword [rsi + 20], r13d QUAD $0x000000d024949d0f // setge byte [rsp + 208] + LONG $0x146e3944 // cmp dword [rsi + 20], r13d + QUAD $0x000000c024949d0f // setge byte [rsp + 192] LONG $0x186e3944 // cmp dword [rsi + 24], r13d WORD $0x9d0f; BYTE $0xd0 // setge al LONG $0x1c6e3944 // cmp dword [rsi + 28], r13d WORD $0x9d0f; BYTE $0xd3 // setge bl LONG $0x206e3944 // cmp dword [rsi + 32], r13d - QUAD $0x0000013024949d0f // setge byte [rsp + 304] + QUAD $0x0000015024949d0f // setge byte [rsp + 336] LONG $0x246e3944 // cmp dword [rsi + 36], r13d - WORD $0x9d0f; BYTE $0xd2 // setge dl + LONG $0xd79d0f40 // setge dil LONG $0x286e3944 // cmp dword [rsi + 40], r13d - LONG $0xd19d0f41 // setge r9b + LONG $0xd09d0f41 // setge r8b LONG $0x2c6e3944 // cmp dword [rsi + 44], r13d - LONG $0xd29d0f41 // setge r10b + LONG $0xd19d0f41 // setge r9b LONG $0x306e3944 // cmp dword [rsi + 48], r13d LONG $0xd39d0f41 // setge r11b LONG $0x346e3944 // cmp dword [rsi + 52], r13d LONG $0xd49d0f41 // setge r12b LONG $0x386e3944 // cmp dword [rsi + 56], r13d - QUAD $0x0000010024949d0f // setge byte [rsp + 256] + QUAD $0x0000012024949d0f // setge byte [rsp + 288] LONG $0x3c6e3944 // cmp dword [rsi + 60], r13d WORD $0x9d0f; BYTE $0xd1 // setge cl LONG $0x406e3944 // cmp dword [rsi + 64], r13d - QUAD $0x000000b024949d0f // setge byte [rsp + 176] + QUAD $0x000000a024949d0f // setge byte [rsp + 160] LONG $0x446e3944 // cmp dword [rsi + 68], r13d - QUAD $0x0000011024949d0f // setge byte [rsp + 272] + QUAD $0x0000013024949d0f // setge byte [rsp + 304] LONG $0x486e3944 // cmp dword [rsi + 72], r13d - QUAD $0x0000012024949d0f // setge byte [rsp + 288] + QUAD $0x0000010024949d0f // setge byte [rsp + 256] LONG $0x4c6e3944 // cmp dword [rsi + 76], r13d - QUAD $0x000000f024949d0f // setge byte [rsp + 240] + QUAD $0x000000e024949d0f // setge byte [rsp + 224] LONG $0x506e3944 // cmp dword [rsi + 80], r13d - QUAD $0x000000c024949d0f // setge byte [rsp + 192] + QUAD $0x000000b024949d0f // setge byte [rsp + 176] LONG $0x546e3944 // cmp dword [rsi + 84], r13d - QUAD $0x0000009024949d0f // setge byte [rsp + 144] + LONG $0x24549d0f; BYTE $0x70 // setge byte [rsp + 112] LONG $0x586e3944 // cmp dword [rsi + 88], r13d QUAD $0x0000008024949d0f // setge byte [rsp + 128] LONG $0x5c6e3944 // cmp dword [rsi + 92], r13d @@ -48218,7 +49657,7 @@ LBB10_76: LONG $0x606e3944 // cmp dword [rsi + 96], r13d LONG $0x24549d0f; BYTE $0x30 // setge byte [rsp + 48] LONG $0x646e3944 // cmp dword [rsi + 100], r13d - LONG $0x24549d0f; BYTE $0x70 // setge byte [rsp + 112] + QUAD $0x0000009024949d0f // setge byte [rsp + 144] LONG $0x686e3944 // cmp dword [rsi + 104], r13d LONG $0x24549d0f; BYTE $0x60 // setge byte [rsp + 96] LONG $0x6c6e3944 // cmp dword [rsi + 108], r13d @@ -48230,113 +49669,114 @@ LBB10_76: LONG $0x786e3944 // cmp dword [rsi + 120], r13d LONG $0x24549d0f; BYTE $0x08 // setge byte [rsp + 8] LONG $0x7c6e3944 // cmp dword [rsi + 124], r13d - LONG $0xd09d0f41 // setge r8b - WORD $0x0040; BYTE $0xff // add dil, dil - QUAD $0x000000a024bc0240 // add dil, byte [rsp + 160] + WORD $0x9d0f; BYTE $0xd2 // setge dl + WORD $0x0045; BYTE $0xd2 // add r10b, r10b + QUAD $0x000000f024940244 // add r10b, byte [rsp + 240] WORD $0xe0c0; BYTE $0x06 // shl al, 6 WORD $0xe3c0; BYTE $0x07 // shl bl, 7 WORD $0xc308 // or bl, al LONG $0x02e6c041 // shl r14b, 2 - WORD $0x0841; BYTE $0xfe // or r14b, dil - WORD $0xd200 // add dl, dl - LONG $0x30249402; WORD $0x0001; BYTE $0x00 // add dl, byte [rsp + 304] - QUAD $0x000001502484b60f // movzx eax, byte [rsp + 336] + WORD $0x0845; BYTE $0xd6 // or r14b, r10b + WORD $0x0040; BYTE $0xff // add dil, dil + QUAD $0x0000015024bc0240 // add dil, byte [rsp + 336] + QUAD $0x000001102484b60f // movzx eax, byte [rsp + 272] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0x0844; BYTE $0xf0 // or al, r14b - LONG $0x02e1c041 // shl r9b, 2 - WORD $0x0841; BYTE $0xd1 // or r9b, dl - QUAD $0x000000e02494b60f // movzx edx, byte [rsp + 224] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0xc208 // or dl, al - WORD $0xd789 // mov edi, edx - LONG $0x03e2c041 // shl r10b, 3 - WORD $0x0845; BYTE $0xca // or r10b, r9b - QUAD $0x000000d02494b60f // movzx edx, byte [rsp + 208] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xfa // or dl, dil + WORD $0x8941; BYTE $0xc2 // mov r10d, eax + QUAD $0x0000016024b48b4c // mov r14, qword [rsp + 352] + LONG $0x02e0c041 // shl r8b, 2 + WORD $0x0841; BYTE $0xf8 // or r8b, dil + QUAD $0x000000d02484b60f // movzx eax, byte [rsp + 208] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0844; BYTE $0xd0 // or al, r10b + WORD $0xc789 // mov edi, eax + LONG $0x03e1c041 // shl r9b, 3 + WORD $0x0845; BYTE $0xc1 // or r9b, r8b + QUAD $0x000000c02484b60f // movzx eax, byte [rsp + 192] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0x0840; BYTE $0xf8 // or al, dil LONG $0x04e3c041 // shl r11b, 4 - WORD $0x0845; BYTE $0xd3 // or r11b, r10b + WORD $0x0845; BYTE $0xcb // or r11b, r9b LONG $0x05e4c041 // shl r12b, 5 WORD $0x0845; BYTE $0xdc // or r12b, r11b - QUAD $0x0000010024bcb60f // movzx edi, byte [rsp + 256] + QUAD $0x0000012024bcb60f // movzx edi, byte [rsp + 288] LONG $0x06e7c040 // shl dil, 6 WORD $0xe1c0; BYTE $0x07 // shl cl, 7 WORD $0x0840; BYTE $0xf9 // or cl, dil - WORD $0xd308 // or bl, dl + WORD $0xc308 // or bl, al WORD $0x0844; BYTE $0xe1 // or cl, r12b - QUAD $0x0000016024b48b4c // mov r14, qword [rsp + 352] - QUAD $0x000001102494b60f // movzx edx, byte [rsp + 272] - WORD $0xd200 // add dl, dl - LONG $0xb0249402; WORD $0x0000; BYTE $0x00 // add dl, byte [rsp + 176] - WORD $0xd789 // mov edi, edx - QUAD $0x000001202494b60f // movzx edx, byte [rsp + 288] - WORD $0xe2c0; BYTE $0x02 // shl dl, 2 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - QUAD $0x000000f02494b60f // movzx edx, byte [rsp + 240] - WORD $0xe2c0; BYTE $0x03 // shl dl, 3 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - QUAD $0x000000c02494b60f // movzx edx, byte [rsp + 192] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - QUAD $0x000000902494b60f // movzx edx, byte [rsp + 144] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xfa // or dl, dil + QUAD $0x000001302484b60f // movzx eax, byte [rsp + 304] + WORD $0xc000 // add al, al + LONG $0xa0248402; WORD $0x0000; BYTE $0x00 // add al, byte [rsp + 160] + WORD $0xc789 // mov edi, eax + QUAD $0x000001002484b60f // movzx eax, byte [rsp + 256] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + QUAD $0x000000e02484b60f // movzx eax, byte [rsp + 224] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + QUAD $0x000000b02484b60f // movzx eax, byte [rsp + 176] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x70 // movzx eax, byte [rsp + 112] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0x0840; BYTE $0xf8 // or al, dil WORD $0x8841; BYTE $0x1e // mov byte [r14], bl QUAD $0x00000080249cb60f // movzx ebx, byte [rsp + 128] WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e7c041 // shl r15b, 7 WORD $0x0841; BYTE $0xdf // or r15b, bl LONG $0x014e8841 // mov byte [r14 + 1], cl - WORD $0x0841; BYTE $0xd7 // or r15b, dl - LONG $0x244cb60f; BYTE $0x70 // movzx ecx, byte [rsp + 112] - WORD $0xc900 // add cl, cl - LONG $0x30244c02 // add cl, byte [rsp + 48] - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x60 // movzx ecx, byte [rsp + 96] - WORD $0xe1c0; BYTE $0x02 // shl cl, 2 - WORD $0xd108 // or cl, dl - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x50 // movzx ecx, byte [rsp + 80] - WORD $0xe1c0; BYTE $0x03 // shl cl, 3 - WORD $0xd108 // or cl, dl - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x20 // movzx ecx, byte [rsp + 32] - WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0xd108 // or cl, dl - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x10 // movzx ecx, byte [rsp + 16] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0xd108 // or cl, dl - LONG $0x2454b60f; BYTE $0x08 // movzx edx, byte [rsp + 8] - WORD $0xe2c0; BYTE $0x06 // shl dl, 6 - LONG $0x07e0c041 // shl r8b, 7 - WORD $0x0841; BYTE $0xd0 // or r8b, dl - WORD $0x0841; BYTE $0xc8 // or r8b, cl + WORD $0x0841; BYTE $0xc7 // or r15b, al + QUAD $0x000000902484b60f // movzx eax, byte [rsp + 144] + WORD $0xc000 // add al, al + LONG $0x30244402 // add al, byte [rsp + 48] + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x60 // movzx eax, byte [rsp + 96] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x50 // movzx eax, byte [rsp + 80] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0xc808 // or al, cl + LONG $0x244cb60f; BYTE $0x08 // movzx ecx, byte [rsp + 8] + WORD $0xe1c0; BYTE $0x06 // shl cl, 6 + WORD $0xe2c0; BYTE $0x07 // shl dl, 7 + WORD $0xca08 // or dl, cl + WORD $0xc208 // or dl, al LONG $0x027e8845 // mov byte [r14 + 2], r15b - LONG $0x03468845 // mov byte [r14 + 3], r8b + LONG $0x03568841 // mov byte [r14 + 3], dl LONG $0x80c68148; WORD $0x0000; BYTE $0x00 // add rsi, 128 LONG $0x04c68349 // add r14, 4 QUAD $0x0000014024848348; BYTE $0xff // add qword [rsp + 320], -1 - JNE LBB10_76 + JNE LBB10_145 LONG $0x24548b4c; BYTE $0x48 // mov r10, qword [rsp + 72] QUAD $0x00000170249c8b4c // mov r11, qword [rsp + 368] -LBB10_78: +LBB10_147: LONG $0x05e3c149 // shl r11, 5 WORD $0x394d; BYTE $0xd3 // cmp r11, r10 - JGE LBB10_182 + JGE LBB10_201 WORD $0x894d; BYTE $0xd0 // mov r8, r10 WORD $0x294d; BYTE $0xd8 // sub r8, r11 WORD $0xf749; BYTE $0xd3 // not r11 WORD $0x014d; BYTE $0xd3 // add r11, r10 - JNE LBB10_147 + JNE LBB10_153 WORD $0x3145; BYTE $0xdb // xor r11d, r11d - JMP LBB10_149 + JMP LBB10_150 -LBB10_81: +LBB10_99: LONG $0x2ab70f44 // movzx r13d, word [rdx] LONG $0x1f5a8d4d // lea r11, [r10 + 31] WORD $0x854d; BYTE $0xd2 // test r10, r10 @@ -48346,10 +49786,10 @@ LBB10_81: LONG $0xc1490f41 // cmovns eax, r9d WORD $0xe083; BYTE $0xf8 // and eax, -8 WORD $0x2941; BYTE $0xc1 // sub r9d, eax - JE LBB10_85 + JE LBB10_103 WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d -LBB10_83: +LBB10_101: LONG $0x2e394466 // cmp word [rsi], r13w LONG $0x02768d48 // lea rsi, [rsi + 2] LONG $0x000000ba; BYTE $0x00 // mov edx, 0 @@ -48370,63 +49810,63 @@ LBB10_83: LONG $0x1e3c8841 // mov byte [r14 + rbx], dil LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 - JNE LBB10_83 + JNE LBB10_101 LONG $0x01c68349 // add r14, 1 -LBB10_85: +LBB10_103: LONG $0x05fbc149 // sar r11, 5 LONG $0x20fa8349 // cmp r10, 32 - JL LBB10_89 + JL LBB10_107 LONG $0x2454894c; BYTE $0x48 // mov qword [rsp + 72], r10 QUAD $0x00000170249c894c // mov qword [rsp + 368], r11 QUAD $0x00000140249c894c // mov qword [rsp + 320], r11 -LBB10_87: +LBB10_105: QUAD $0x0000016024b4894c // mov qword [rsp + 352], r14 LONG $0x2e394466 // cmp word [rsi], r13w - QUAD $0x000000a02494930f // setae byte [rsp + 160] + QUAD $0x000000f02494930f // setae byte [rsp + 240] LONG $0x6e394466; BYTE $0x02 // cmp word [rsi + 2], r13w - LONG $0xd7930f40 // setae dil + LONG $0xd2930f41 // setae r10b LONG $0x6e394466; BYTE $0x04 // cmp word [rsi + 4], r13w LONG $0xd6930f41 // setae r14b LONG $0x6e394466; BYTE $0x06 // cmp word [rsi + 6], r13w - QUAD $0x000001502494930f // setae byte [rsp + 336] + QUAD $0x000001102494930f // setae byte [rsp + 272] LONG $0x6e394466; BYTE $0x08 // cmp word [rsi + 8], r13w - QUAD $0x000000e02494930f // setae byte [rsp + 224] - LONG $0x6e394466; BYTE $0x0a // cmp word [rsi + 10], r13w QUAD $0x000000d02494930f // setae byte [rsp + 208] + LONG $0x6e394466; BYTE $0x0a // cmp word [rsi + 10], r13w + QUAD $0x000000c02494930f // setae byte [rsp + 192] LONG $0x6e394466; BYTE $0x0c // cmp word [rsi + 12], r13w WORD $0x930f; BYTE $0xd0 // setae al LONG $0x6e394466; BYTE $0x0e // cmp word [rsi + 14], r13w WORD $0x930f; BYTE $0xd3 // setae bl LONG $0x6e394466; BYTE $0x10 // cmp word [rsi + 16], r13w - QUAD $0x000001302494930f // setae byte [rsp + 304] + QUAD $0x000001502494930f // setae byte [rsp + 336] LONG $0x6e394466; BYTE $0x12 // cmp word [rsi + 18], r13w - WORD $0x930f; BYTE $0xd2 // setae dl + LONG $0xd7930f40 // setae dil LONG $0x6e394466; BYTE $0x14 // cmp word [rsi + 20], r13w - LONG $0xd1930f41 // setae r9b + LONG $0xd0930f41 // setae r8b LONG $0x6e394466; BYTE $0x16 // cmp word [rsi + 22], r13w - LONG $0xd2930f41 // setae r10b + LONG $0xd1930f41 // setae r9b LONG $0x6e394466; BYTE $0x18 // cmp word [rsi + 24], r13w LONG $0xd3930f41 // setae r11b LONG $0x6e394466; BYTE $0x1a // cmp word [rsi + 26], r13w LONG $0xd4930f41 // setae r12b LONG $0x6e394466; BYTE $0x1c // cmp word [rsi + 28], r13w - QUAD $0x000001002494930f // setae byte [rsp + 256] + QUAD $0x000001202494930f // setae byte [rsp + 288] LONG $0x6e394466; BYTE $0x1e // cmp word [rsi + 30], r13w WORD $0x930f; BYTE $0xd1 // setae cl LONG $0x6e394466; BYTE $0x20 // cmp word [rsi + 32], r13w - QUAD $0x000000b02494930f // setae byte [rsp + 176] + QUAD $0x000000a02494930f // setae byte [rsp + 160] LONG $0x6e394466; BYTE $0x22 // cmp word [rsi + 34], r13w - QUAD $0x000001102494930f // setae byte [rsp + 272] + QUAD $0x000001302494930f // setae byte [rsp + 304] LONG $0x6e394466; BYTE $0x24 // cmp word [rsi + 36], r13w - QUAD $0x000001202494930f // setae byte [rsp + 288] + QUAD $0x000001002494930f // setae byte [rsp + 256] LONG $0x6e394466; BYTE $0x26 // cmp word [rsi + 38], r13w - QUAD $0x000000f02494930f // setae byte [rsp + 240] + QUAD $0x000000e02494930f // setae byte [rsp + 224] LONG $0x6e394466; BYTE $0x28 // cmp word [rsi + 40], r13w - QUAD $0x000000c02494930f // setae byte [rsp + 192] + QUAD $0x000000b02494930f // setae byte [rsp + 176] LONG $0x6e394466; BYTE $0x2a // cmp word [rsi + 42], r13w - QUAD $0x000000902494930f // setae byte [rsp + 144] + LONG $0x2454930f; BYTE $0x70 // setae byte [rsp + 112] LONG $0x6e394466; BYTE $0x2c // cmp word [rsi + 44], r13w QUAD $0x000000802494930f // setae byte [rsp + 128] LONG $0x6e394466; BYTE $0x2e // cmp word [rsi + 46], r13w @@ -48434,7 +49874,7 @@ LBB10_87: LONG $0x6e394466; BYTE $0x30 // cmp word [rsi + 48], r13w LONG $0x2454930f; BYTE $0x30 // setae byte [rsp + 48] LONG $0x6e394466; BYTE $0x32 // cmp word [rsi + 50], r13w - LONG $0x2454930f; BYTE $0x70 // setae byte [rsp + 112] + QUAD $0x000000902494930f // setae byte [rsp + 144] LONG $0x6e394466; BYTE $0x34 // cmp word [rsi + 52], r13w LONG $0x2454930f; BYTE $0x60 // setae byte [rsp + 96] LONG $0x6e394466; BYTE $0x36 // cmp word [rsi + 54], r13w @@ -48446,113 +49886,114 @@ LBB10_87: LONG $0x6e394466; BYTE $0x3c // cmp word [rsi + 60], r13w LONG $0x2454930f; BYTE $0x08 // setae byte [rsp + 8] LONG $0x6e394466; BYTE $0x3e // cmp word [rsi + 62], r13w - LONG $0xd0930f41 // setae r8b - WORD $0x0040; BYTE $0xff // add dil, dil - QUAD $0x000000a024bc0240 // add dil, byte [rsp + 160] + WORD $0x930f; BYTE $0xd2 // setae dl + WORD $0x0045; BYTE $0xd2 // add r10b, r10b + QUAD $0x000000f024940244 // add r10b, byte [rsp + 240] WORD $0xe0c0; BYTE $0x06 // shl al, 6 WORD $0xe3c0; BYTE $0x07 // shl bl, 7 WORD $0xc308 // or bl, al LONG $0x02e6c041 // shl r14b, 2 - WORD $0x0841; BYTE $0xfe // or r14b, dil - WORD $0xd200 // add dl, dl - LONG $0x30249402; WORD $0x0001; BYTE $0x00 // add dl, byte [rsp + 304] - QUAD $0x000001502484b60f // movzx eax, byte [rsp + 336] + WORD $0x0845; BYTE $0xd6 // or r14b, r10b + WORD $0x0040; BYTE $0xff // add dil, dil + QUAD $0x0000015024bc0240 // add dil, byte [rsp + 336] + QUAD $0x000001102484b60f // movzx eax, byte [rsp + 272] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0x0844; BYTE $0xf0 // or al, r14b - LONG $0x02e1c041 // shl r9b, 2 - WORD $0x0841; BYTE $0xd1 // or r9b, dl - QUAD $0x000000e02494b60f // movzx edx, byte [rsp + 224] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0xc208 // or dl, al - WORD $0xd789 // mov edi, edx - LONG $0x03e2c041 // shl r10b, 3 - WORD $0x0845; BYTE $0xca // or r10b, r9b - QUAD $0x000000d02494b60f // movzx edx, byte [rsp + 208] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xfa // or dl, dil + WORD $0x8941; BYTE $0xc2 // mov r10d, eax + QUAD $0x0000016024b48b4c // mov r14, qword [rsp + 352] + LONG $0x02e0c041 // shl r8b, 2 + WORD $0x0841; BYTE $0xf8 // or r8b, dil + QUAD $0x000000d02484b60f // movzx eax, byte [rsp + 208] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0844; BYTE $0xd0 // or al, r10b + WORD $0xc789 // mov edi, eax + LONG $0x03e1c041 // shl r9b, 3 + WORD $0x0845; BYTE $0xc1 // or r9b, r8b + QUAD $0x000000c02484b60f // movzx eax, byte [rsp + 192] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0x0840; BYTE $0xf8 // or al, dil LONG $0x04e3c041 // shl r11b, 4 - WORD $0x0845; BYTE $0xd3 // or r11b, r10b + WORD $0x0845; BYTE $0xcb // or r11b, r9b LONG $0x05e4c041 // shl r12b, 5 WORD $0x0845; BYTE $0xdc // or r12b, r11b - QUAD $0x0000010024bcb60f // movzx edi, byte [rsp + 256] + QUAD $0x0000012024bcb60f // movzx edi, byte [rsp + 288] LONG $0x06e7c040 // shl dil, 6 WORD $0xe1c0; BYTE $0x07 // shl cl, 7 WORD $0x0840; BYTE $0xf9 // or cl, dil - WORD $0xd308 // or bl, dl + WORD $0xc308 // or bl, al WORD $0x0844; BYTE $0xe1 // or cl, r12b - QUAD $0x0000016024b48b4c // mov r14, qword [rsp + 352] - QUAD $0x000001102494b60f // movzx edx, byte [rsp + 272] - WORD $0xd200 // add dl, dl - LONG $0xb0249402; WORD $0x0000; BYTE $0x00 // add dl, byte [rsp + 176] - WORD $0xd789 // mov edi, edx - QUAD $0x000001202494b60f // movzx edx, byte [rsp + 288] - WORD $0xe2c0; BYTE $0x02 // shl dl, 2 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - QUAD $0x000000f02494b60f // movzx edx, byte [rsp + 240] - WORD $0xe2c0; BYTE $0x03 // shl dl, 3 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - QUAD $0x000000c02494b60f // movzx edx, byte [rsp + 192] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - QUAD $0x000000902494b60f // movzx edx, byte [rsp + 144] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xfa // or dl, dil + QUAD $0x000001302484b60f // movzx eax, byte [rsp + 304] + WORD $0xc000 // add al, al + LONG $0xa0248402; WORD $0x0000; BYTE $0x00 // add al, byte [rsp + 160] + WORD $0xc789 // mov edi, eax + QUAD $0x000001002484b60f // movzx eax, byte [rsp + 256] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + QUAD $0x000000e02484b60f // movzx eax, byte [rsp + 224] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + QUAD $0x000000b02484b60f // movzx eax, byte [rsp + 176] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x70 // movzx eax, byte [rsp + 112] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0x0840; BYTE $0xf8 // or al, dil WORD $0x8841; BYTE $0x1e // mov byte [r14], bl QUAD $0x00000080249cb60f // movzx ebx, byte [rsp + 128] WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e7c041 // shl r15b, 7 WORD $0x0841; BYTE $0xdf // or r15b, bl LONG $0x014e8841 // mov byte [r14 + 1], cl - WORD $0x0841; BYTE $0xd7 // or r15b, dl - LONG $0x244cb60f; BYTE $0x70 // movzx ecx, byte [rsp + 112] - WORD $0xc900 // add cl, cl - LONG $0x30244c02 // add cl, byte [rsp + 48] - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x60 // movzx ecx, byte [rsp + 96] - WORD $0xe1c0; BYTE $0x02 // shl cl, 2 - WORD $0xd108 // or cl, dl - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x50 // movzx ecx, byte [rsp + 80] - WORD $0xe1c0; BYTE $0x03 // shl cl, 3 - WORD $0xd108 // or cl, dl - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x20 // movzx ecx, byte [rsp + 32] - WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0xd108 // or cl, dl - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x10 // movzx ecx, byte [rsp + 16] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0xd108 // or cl, dl - LONG $0x2454b60f; BYTE $0x08 // movzx edx, byte [rsp + 8] - WORD $0xe2c0; BYTE $0x06 // shl dl, 6 - LONG $0x07e0c041 // shl r8b, 7 - WORD $0x0841; BYTE $0xd0 // or r8b, dl - WORD $0x0841; BYTE $0xc8 // or r8b, cl + WORD $0x0841; BYTE $0xc7 // or r15b, al + QUAD $0x000000902484b60f // movzx eax, byte [rsp + 144] + WORD $0xc000 // add al, al + LONG $0x30244402 // add al, byte [rsp + 48] + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x60 // movzx eax, byte [rsp + 96] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x50 // movzx eax, byte [rsp + 80] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0xc808 // or al, cl + LONG $0x244cb60f; BYTE $0x08 // movzx ecx, byte [rsp + 8] + WORD $0xe1c0; BYTE $0x06 // shl cl, 6 + WORD $0xe2c0; BYTE $0x07 // shl dl, 7 + WORD $0xca08 // or dl, cl + WORD $0xc208 // or dl, al LONG $0x027e8845 // mov byte [r14 + 2], r15b - LONG $0x03468845 // mov byte [r14 + 3], r8b + LONG $0x03568841 // mov byte [r14 + 3], dl LONG $0x40c68348 // add rsi, 64 LONG $0x04c68349 // add r14, 4 QUAD $0x0000014024848348; BYTE $0xff // add qword [rsp + 320], -1 - JNE LBB10_87 + JNE LBB10_105 LONG $0x24548b4c; BYTE $0x48 // mov r10, qword [rsp + 72] QUAD $0x00000170249c8b4c // mov r11, qword [rsp + 368] -LBB10_89: +LBB10_107: LONG $0x05e3c149 // shl r11, 5 WORD $0x394d; BYTE $0xd3 // cmp r11, r10 - JGE LBB10_182 + JGE LBB10_201 WORD $0x894d; BYTE $0xd0 // mov r8, r10 WORD $0x294d; BYTE $0xd8 // sub r8, r11 WORD $0xf749; BYTE $0xd3 // not r11 WORD $0x014d; BYTE $0xd3 // add r11, r10 - JNE LBB10_170 + JNE LBB10_112 WORD $0x3145; BYTE $0xdb // xor r11d, r11d - JMP LBB10_172 + JMP LBB10_110 -LBB10_92: +LBB10_114: LONG $0x1ab70f44 // movzx r11d, word [rdx] LONG $0x1f7a8d4d // lea r15, [r10 + 31] WORD $0x854d; BYTE $0xd2 // test r10, r10 @@ -48562,10 +50003,10 @@ LBB10_92: LONG $0xc1490f41 // cmovns eax, r9d WORD $0xe083; BYTE $0xf8 // and eax, -8 WORD $0x2941; BYTE $0xc1 // sub r9d, eax - JE LBB10_96 + JE LBB10_118 WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d -LBB10_94: +LBB10_116: LONG $0x1e394466 // cmp word [rsi], r11w LONG $0x02768d48 // lea rsi, [rsi + 2] WORD $0x9d0f; BYTE $0xd2 // setge dl @@ -48586,59 +50027,58 @@ LBB10_94: LONG $0x3e1c8841 // mov byte [r14 + rdi], bl LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 - JNE LBB10_94 + JNE LBB10_116 LONG $0x01c68349 // add r14, 1 -LBB10_96: +LBB10_118: LONG $0x05ffc149 // sar r15, 5 LONG $0x20fa8349 // cmp r10, 32 QUAD $0x00000188249c8944 // mov dword [rsp + 392], r11d - JL LBB10_135 + JL LBB10_119 LONG $0x08ff8349 // cmp r15, 8 LONG $0x2454894c; BYTE $0x48 // mov qword [rsp + 72], r10 QUAD $0x000001c824bc894c // mov qword [rsp + 456], r15 - JB LBB10_100 + JB LBB10_121 WORD $0x894c; BYTE $0xf8 // mov rax, r15 LONG $0x06e0c148 // shl rax, 6 WORD $0x0148; BYTE $0xf0 // add rax, rsi WORD $0x3949; BYTE $0xc6 // cmp r14, rax - JAE LBB10_197 + JAE LBB10_124 LONG $0xbe048d4b // lea rax, [r14 + 4*r15] WORD $0x3948; BYTE $0xf0 // cmp rax, rsi - JBE LBB10_197 + JBE LBB10_124 -LBB10_100: +LBB10_121: WORD $0xc031 // xor eax, eax QUAD $0x0000019024848948 // mov qword [rsp + 400], rax WORD $0x8949; BYTE $0xf3 // mov r11, rsi WORD $0x894d; BYTE $0xf4 // mov r12, r14 -LBB10_101: +LBB10_127: LONG $0x2464894c; BYTE $0x08 // mov qword [rsp + 8], r12 - WORD $0x894d; BYTE $0xfe // mov r14, r15 - QUAD $0x0000019024b42b4c // sub r14, qword [rsp + 400] - QUAD $0x0000014024b4894c // mov qword [rsp + 320], r14 + QUAD $0x0000019024bc2b4c // sub r15, qword [rsp + 400] + QUAD $0x0000014024bc894c // mov qword [rsp + 320], r15 QUAD $0x0000018824ac8b44 // mov r13d, dword [rsp + 392] -LBB10_102: +LBB10_128: LONG $0x2b394566 // cmp word [r11], r13w - QUAD $0x000000a024949d0f // setge byte [rsp + 160] + QUAD $0x000000f024949d0f // setge byte [rsp + 240] LONG $0x6b394566; BYTE $0x02 // cmp word [r11 + 2], r13w LONG $0xd09d0f41 // setge r8b LONG $0x6b394566; BYTE $0x04 // cmp word [r11 + 4], r13w LONG $0xd69d0f41 // setge r14b LONG $0x6b394566; BYTE $0x06 // cmp word [r11 + 6], r13w - QUAD $0x0000015024949d0f // setge byte [rsp + 336] + QUAD $0x0000011024949d0f // setge byte [rsp + 272] LONG $0x6b394566; BYTE $0x08 // cmp word [r11 + 8], r13w - QUAD $0x000000e024949d0f // setge byte [rsp + 224] - LONG $0x6b394566; BYTE $0x0a // cmp word [r11 + 10], r13w QUAD $0x000000d024949d0f // setge byte [rsp + 208] + LONG $0x6b394566; BYTE $0x0a // cmp word [r11 + 10], r13w + QUAD $0x000000c024949d0f // setge byte [rsp + 192] LONG $0x6b394566; BYTE $0x0c // cmp word [r11 + 12], r13w WORD $0x9d0f; BYTE $0xd0 // setge al LONG $0x6b394566; BYTE $0x0e // cmp word [r11 + 14], r13w WORD $0x9d0f; BYTE $0xd3 // setge bl LONG $0x6b394566; BYTE $0x10 // cmp word [r11 + 16], r13w - QUAD $0x0000013024949d0f // setge byte [rsp + 304] + QUAD $0x0000015024949d0f // setge byte [rsp + 336] LONG $0x6b394566; BYTE $0x12 // cmp word [r11 + 18], r13w WORD $0x9d0f; BYTE $0xd1 // setge cl LONG $0x6b394566; BYTE $0x14 // cmp word [r11 + 20], r13w @@ -48650,21 +50090,21 @@ LBB10_102: LONG $0x6b394566; BYTE $0x1a // cmp word [r11 + 26], r13w LONG $0xd49d0f41 // setge r12b LONG $0x6b394566; BYTE $0x1c // cmp word [r11 + 28], r13w - QUAD $0x0000010024949d0f // setge byte [rsp + 256] + QUAD $0x0000012024949d0f // setge byte [rsp + 288] LONG $0x6b394566; BYTE $0x1e // cmp word [r11 + 30], r13w LONG $0xd79d0f40 // setge dil LONG $0x6b394566; BYTE $0x20 // cmp word [r11 + 32], r13w - QUAD $0x000000b024949d0f // setge byte [rsp + 176] + QUAD $0x000000a024949d0f // setge byte [rsp + 160] LONG $0x6b394566; BYTE $0x22 // cmp word [r11 + 34], r13w - QUAD $0x0000011024949d0f // setge byte [rsp + 272] + QUAD $0x0000013024949d0f // setge byte [rsp + 304] LONG $0x6b394566; BYTE $0x24 // cmp word [r11 + 36], r13w - QUAD $0x0000012024949d0f // setge byte [rsp + 288] + QUAD $0x0000010024949d0f // setge byte [rsp + 256] LONG $0x6b394566; BYTE $0x26 // cmp word [r11 + 38], r13w - QUAD $0x000000f024949d0f // setge byte [rsp + 240] + QUAD $0x000000e024949d0f // setge byte [rsp + 224] LONG $0x6b394566; BYTE $0x28 // cmp word [r11 + 40], r13w - QUAD $0x000000c024949d0f // setge byte [rsp + 192] + QUAD $0x000000b024949d0f // setge byte [rsp + 176] LONG $0x6b394566; BYTE $0x2a // cmp word [r11 + 42], r13w - QUAD $0x0000009024949d0f // setge byte [rsp + 144] + LONG $0x24549d0f; BYTE $0x70 // setge byte [rsp + 112] LONG $0x6b394566; BYTE $0x2c // cmp word [r11 + 44], r13w QUAD $0x0000008024949d0f // setge byte [rsp + 128] LONG $0x6b394566; BYTE $0x2e // cmp word [r11 + 46], r13w @@ -48672,7 +50112,7 @@ LBB10_102: LONG $0x6b394566; BYTE $0x30 // cmp word [r11 + 48], r13w LONG $0x24549d0f; BYTE $0x30 // setge byte [rsp + 48] LONG $0x6b394566; BYTE $0x32 // cmp word [r11 + 50], r13w - LONG $0x24549d0f; BYTE $0x70 // setge byte [rsp + 112] + QUAD $0x0000009024949d0f // setge byte [rsp + 144] LONG $0x6b394566; BYTE $0x34 // cmp word [r11 + 52], r13w LONG $0x24549d0f; BYTE $0x60 // setge byte [rsp + 96] LONG $0x6b394566; BYTE $0x36 // cmp word [r11 + 54], r13w @@ -48686,55 +50126,55 @@ LBB10_102: LONG $0x6b394566; BYTE $0x3e // cmp word [r11 + 62], r13w WORD $0x9d0f; BYTE $0xd2 // setge dl WORD $0x0045; BYTE $0xc0 // add r8b, r8b - QUAD $0x000000a024840244 // add r8b, byte [rsp + 160] + QUAD $0x000000f024840244 // add r8b, byte [rsp + 240] WORD $0xe0c0; BYTE $0x06 // shl al, 6 WORD $0xe3c0; BYTE $0x07 // shl bl, 7 WORD $0xc308 // or bl, al LONG $0x02e6c041 // shl r14b, 2 WORD $0x0845; BYTE $0xc6 // or r14b, r8b WORD $0xc900 // add cl, cl - LONG $0x30248c02; WORD $0x0001; BYTE $0x00 // add cl, byte [rsp + 304] - QUAD $0x000001502484b60f // movzx eax, byte [rsp + 336] + LONG $0x50248c02; WORD $0x0001; BYTE $0x00 // add cl, byte [rsp + 336] + QUAD $0x000001102484b60f // movzx eax, byte [rsp + 272] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0x0844; BYTE $0xf0 // or al, r14b LONG $0x02e6c040 // shl sil, 2 WORD $0x0840; BYTE $0xce // or sil, cl - QUAD $0x000000e0248cb60f // movzx ecx, byte [rsp + 224] + QUAD $0x000000d0248cb60f // movzx ecx, byte [rsp + 208] WORD $0xe1c0; BYTE $0x04 // shl cl, 4 WORD $0xc108 // or cl, al WORD $0x8941; BYTE $0xc8 // mov r8d, ecx LONG $0x03e1c041 // shl r9b, 3 WORD $0x0841; BYTE $0xf1 // or r9b, sil - QUAD $0x000000d0248cb60f // movzx ecx, byte [rsp + 208] + QUAD $0x000000c0248cb60f // movzx ecx, byte [rsp + 192] WORD $0xe1c0; BYTE $0x05 // shl cl, 5 WORD $0x0844; BYTE $0xc1 // or cl, r8b LONG $0x04e2c041 // shl r10b, 4 WORD $0x0845; BYTE $0xca // or r10b, r9b LONG $0x05e4c041 // shl r12b, 5 WORD $0x0845; BYTE $0xd4 // or r12b, r10b - QUAD $0x0000010024b4b60f // movzx esi, byte [rsp + 256] + QUAD $0x0000012024b4b60f // movzx esi, byte [rsp + 288] LONG $0x06e6c040 // shl sil, 6 LONG $0x07e7c040 // shl dil, 7 WORD $0x0840; BYTE $0xf7 // or dil, sil WORD $0xcb08 // or bl, cl WORD $0x0844; BYTE $0xe7 // or dil, r12b - QUAD $0x00000110248cb60f // movzx ecx, byte [rsp + 272] + QUAD $0x00000130248cb60f // movzx ecx, byte [rsp + 304] WORD $0xc900 // add cl, cl - LONG $0xb0248c02; WORD $0x0000; BYTE $0x00 // add cl, byte [rsp + 176] + LONG $0xa0248c02; WORD $0x0000; BYTE $0x00 // add cl, byte [rsp + 160] WORD $0xce89 // mov esi, ecx - QUAD $0x00000120248cb60f // movzx ecx, byte [rsp + 288] + QUAD $0x00000100248cb60f // movzx ecx, byte [rsp + 256] WORD $0xe1c0; BYTE $0x02 // shl cl, 2 WORD $0x0840; BYTE $0xf1 // or cl, sil WORD $0xce89 // mov esi, ecx - QUAD $0x000000f0248cb60f // movzx ecx, byte [rsp + 240] + QUAD $0x000000e0248cb60f // movzx ecx, byte [rsp + 224] WORD $0xe1c0; BYTE $0x03 // shl cl, 3 WORD $0x0840; BYTE $0xf1 // or cl, sil WORD $0xce89 // mov esi, ecx - QUAD $0x000000c0248cb60f // movzx ecx, byte [rsp + 192] + QUAD $0x000000b0248cb60f // movzx ecx, byte [rsp + 176] WORD $0xe1c0; BYTE $0x04 // shl cl, 4 WORD $0x0840; BYTE $0xf1 // or cl, sil WORD $0xce89 // mov esi, ecx - QUAD $0x00000090248cb60f // movzx ecx, byte [rsp + 144] + LONG $0x244cb60f; BYTE $0x70 // movzx ecx, byte [rsp + 112] WORD $0xe1c0; BYTE $0x05 // shl cl, 5 WORD $0x0840; BYTE $0xf1 // or cl, sil WORD $0xce89 // mov esi, ecx @@ -48746,7 +50186,7 @@ LBB10_102: WORD $0x0841; BYTE $0xdf // or r15b, bl LONG $0x01798840 // mov byte [rcx + 1], dil WORD $0x0841; BYTE $0xf7 // or r15b, sil - LONG $0x2444b60f; BYTE $0x70 // movzx eax, byte [rsp + 112] + QUAD $0x000000902484b60f // movzx eax, byte [rsp + 144] WORD $0xc000 // add al, al LONG $0x30244402 // add al, byte [rsp + 48] WORD $0xc389 // mov ebx, eax @@ -48776,13 +50216,13 @@ LBB10_102: LONG $0x04c18348 // add rcx, 4 LONG $0x244c8948; BYTE $0x08 // mov qword [rsp + 8], rcx QUAD $0x0000014024848348; BYTE $0xff // add qword [rsp + 320], -1 - JNE LBB10_102 + JNE LBB10_128 LONG $0x24548b4c; BYTE $0x48 // mov r10, qword [rsp + 72] QUAD $0x000001c824bc8b4c // mov r15, qword [rsp + 456] LONG $0x24648b4c; BYTE $0x08 // mov r12, qword [rsp + 8] - JMP LBB10_136 + JMP LBB10_130 -LBB10_104: +LBB10_157: WORD $0x8b4c; BYTE $0x2a // mov r13, qword [rdx] LONG $0x1f5a8d4d // lea r11, [r10 + 31] WORD $0x854d; BYTE $0xd2 // test r10, r10 @@ -48792,10 +50232,10 @@ LBB10_104: LONG $0xc1490f41 // cmovns eax, r9d WORD $0xe083; BYTE $0xf8 // and eax, -8 WORD $0x2941; BYTE $0xc1 // sub r9d, eax - JE LBB10_108 + JE LBB10_161 WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d -LBB10_106: +LBB10_159: WORD $0x394c; BYTE $0x2e // cmp qword [rsi], r13 LONG $0x08768d48 // lea rsi, [rsi + 8] WORD $0x9d0f; BYTE $0xd2 // setge dl @@ -48816,63 +50256,63 @@ LBB10_106: LONG $0x1e3c8841 // mov byte [r14 + rbx], dil LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 - JNE LBB10_106 + JNE LBB10_159 LONG $0x01c68349 // add r14, 1 -LBB10_108: +LBB10_161: LONG $0x05fbc149 // sar r11, 5 LONG $0x20fa8349 // cmp r10, 32 - JL LBB10_112 + JL LBB10_165 LONG $0x2454894c; BYTE $0x48 // mov qword [rsp + 72], r10 QUAD $0x00000170249c894c // mov qword [rsp + 368], r11 QUAD $0x00000140249c894c // mov qword [rsp + 320], r11 -LBB10_110: +LBB10_163: QUAD $0x0000016024b4894c // mov qword [rsp + 352], r14 WORD $0x394c; BYTE $0x2e // cmp qword [rsi], r13 - QUAD $0x000000a024949d0f // setge byte [rsp + 160] + QUAD $0x000000f024949d0f // setge byte [rsp + 240] LONG $0x086e394c // cmp qword [rsi + 8], r13 - LONG $0xd79d0f40 // setge dil + LONG $0xd29d0f41 // setge r10b LONG $0x106e394c // cmp qword [rsi + 16], r13 LONG $0xd69d0f41 // setge r14b LONG $0x186e394c // cmp qword [rsi + 24], r13 - QUAD $0x0000015024949d0f // setge byte [rsp + 336] + QUAD $0x0000011024949d0f // setge byte [rsp + 272] LONG $0x206e394c // cmp qword [rsi + 32], r13 - QUAD $0x000000e024949d0f // setge byte [rsp + 224] - LONG $0x286e394c // cmp qword [rsi + 40], r13 QUAD $0x000000d024949d0f // setge byte [rsp + 208] + LONG $0x286e394c // cmp qword [rsi + 40], r13 + QUAD $0x000000c024949d0f // setge byte [rsp + 192] LONG $0x306e394c // cmp qword [rsi + 48], r13 WORD $0x9d0f; BYTE $0xd0 // setge al LONG $0x386e394c // cmp qword [rsi + 56], r13 WORD $0x9d0f; BYTE $0xd3 // setge bl LONG $0x406e394c // cmp qword [rsi + 64], r13 - QUAD $0x0000013024949d0f // setge byte [rsp + 304] + QUAD $0x0000015024949d0f // setge byte [rsp + 336] LONG $0x486e394c // cmp qword [rsi + 72], r13 - WORD $0x9d0f; BYTE $0xd2 // setge dl + LONG $0xd79d0f40 // setge dil LONG $0x506e394c // cmp qword [rsi + 80], r13 - LONG $0xd19d0f41 // setge r9b + LONG $0xd09d0f41 // setge r8b LONG $0x586e394c // cmp qword [rsi + 88], r13 - LONG $0xd29d0f41 // setge r10b + LONG $0xd19d0f41 // setge r9b LONG $0x606e394c // cmp qword [rsi + 96], r13 LONG $0xd39d0f41 // setge r11b LONG $0x686e394c // cmp qword [rsi + 104], r13 LONG $0xd49d0f41 // setge r12b LONG $0x706e394c // cmp qword [rsi + 112], r13 - QUAD $0x0000010024949d0f // setge byte [rsp + 256] + QUAD $0x0000012024949d0f // setge byte [rsp + 288] LONG $0x786e394c // cmp qword [rsi + 120], r13 WORD $0x9d0f; BYTE $0xd1 // setge cl LONG $0x80ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 128], r13 - QUAD $0x000000b024949d0f // setge byte [rsp + 176] + QUAD $0x000000a024949d0f // setge byte [rsp + 160] LONG $0x88ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 136], r13 - QUAD $0x0000011024949d0f // setge byte [rsp + 272] + QUAD $0x0000013024949d0f // setge byte [rsp + 304] LONG $0x90ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 144], r13 - QUAD $0x0000012024949d0f // setge byte [rsp + 288] + QUAD $0x0000010024949d0f // setge byte [rsp + 256] LONG $0x98ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 152], r13 - QUAD $0x000000f024949d0f // setge byte [rsp + 240] + QUAD $0x000000e024949d0f // setge byte [rsp + 224] LONG $0xa0ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 160], r13 - QUAD $0x000000c024949d0f // setge byte [rsp + 192] + QUAD $0x000000b024949d0f // setge byte [rsp + 176] LONG $0xa8ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 168], r13 - QUAD $0x0000009024949d0f // setge byte [rsp + 144] + LONG $0x24549d0f; BYTE $0x70 // setge byte [rsp + 112] LONG $0xb0ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 176], r13 QUAD $0x0000008024949d0f // setge byte [rsp + 128] LONG $0xb8ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 184], r13 @@ -48880,7 +50320,7 @@ LBB10_110: LONG $0xc0ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 192], r13 LONG $0x24549d0f; BYTE $0x30 // setge byte [rsp + 48] LONG $0xc8ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 200], r13 - LONG $0x24549d0f; BYTE $0x70 // setge byte [rsp + 112] + QUAD $0x0000009024949d0f // setge byte [rsp + 144] LONG $0xd0ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 208], r13 LONG $0x24549d0f; BYTE $0x60 // setge byte [rsp + 96] LONG $0xd8ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 216], r13 @@ -48892,113 +50332,114 @@ LBB10_110: LONG $0xf0ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 240], r13 LONG $0x24549d0f; BYTE $0x08 // setge byte [rsp + 8] LONG $0xf8ae394c; WORD $0x0000; BYTE $0x00 // cmp qword [rsi + 248], r13 - LONG $0xd09d0f41 // setge r8b - WORD $0x0040; BYTE $0xff // add dil, dil - QUAD $0x000000a024bc0240 // add dil, byte [rsp + 160] + WORD $0x9d0f; BYTE $0xd2 // setge dl + WORD $0x0045; BYTE $0xd2 // add r10b, r10b + QUAD $0x000000f024940244 // add r10b, byte [rsp + 240] WORD $0xe0c0; BYTE $0x06 // shl al, 6 WORD $0xe3c0; BYTE $0x07 // shl bl, 7 WORD $0xc308 // or bl, al LONG $0x02e6c041 // shl r14b, 2 - WORD $0x0841; BYTE $0xfe // or r14b, dil - WORD $0xd200 // add dl, dl - LONG $0x30249402; WORD $0x0001; BYTE $0x00 // add dl, byte [rsp + 304] - QUAD $0x000001502484b60f // movzx eax, byte [rsp + 336] + WORD $0x0845; BYTE $0xd6 // or r14b, r10b + WORD $0x0040; BYTE $0xff // add dil, dil + QUAD $0x0000015024bc0240 // add dil, byte [rsp + 336] + QUAD $0x000001102484b60f // movzx eax, byte [rsp + 272] WORD $0xe0c0; BYTE $0x03 // shl al, 3 WORD $0x0844; BYTE $0xf0 // or al, r14b - LONG $0x02e1c041 // shl r9b, 2 - WORD $0x0841; BYTE $0xd1 // or r9b, dl - QUAD $0x000000e02494b60f // movzx edx, byte [rsp + 224] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0xc208 // or dl, al - WORD $0xd789 // mov edi, edx - LONG $0x03e2c041 // shl r10b, 3 - WORD $0x0845; BYTE $0xca // or r10b, r9b - QUAD $0x000000d02494b60f // movzx edx, byte [rsp + 208] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xfa // or dl, dil + WORD $0x8941; BYTE $0xc2 // mov r10d, eax + QUAD $0x0000016024b48b4c // mov r14, qword [rsp + 352] + LONG $0x02e0c041 // shl r8b, 2 + WORD $0x0841; BYTE $0xf8 // or r8b, dil + QUAD $0x000000d02484b60f // movzx eax, byte [rsp + 208] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0844; BYTE $0xd0 // or al, r10b + WORD $0xc789 // mov edi, eax + LONG $0x03e1c041 // shl r9b, 3 + WORD $0x0845; BYTE $0xc1 // or r9b, r8b + QUAD $0x000000c02484b60f // movzx eax, byte [rsp + 192] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0x0840; BYTE $0xf8 // or al, dil LONG $0x04e3c041 // shl r11b, 4 - WORD $0x0845; BYTE $0xd3 // or r11b, r10b + WORD $0x0845; BYTE $0xcb // or r11b, r9b LONG $0x05e4c041 // shl r12b, 5 WORD $0x0845; BYTE $0xdc // or r12b, r11b - QUAD $0x0000010024bcb60f // movzx edi, byte [rsp + 256] + QUAD $0x0000012024bcb60f // movzx edi, byte [rsp + 288] LONG $0x06e7c040 // shl dil, 6 WORD $0xe1c0; BYTE $0x07 // shl cl, 7 WORD $0x0840; BYTE $0xf9 // or cl, dil - WORD $0xd308 // or bl, dl + WORD $0xc308 // or bl, al WORD $0x0844; BYTE $0xe1 // or cl, r12b - QUAD $0x0000016024b48b4c // mov r14, qword [rsp + 352] - QUAD $0x000001102494b60f // movzx edx, byte [rsp + 272] - WORD $0xd200 // add dl, dl - LONG $0xb0249402; WORD $0x0000; BYTE $0x00 // add dl, byte [rsp + 176] - WORD $0xd789 // mov edi, edx - QUAD $0x000001202494b60f // movzx edx, byte [rsp + 288] - WORD $0xe2c0; BYTE $0x02 // shl dl, 2 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - QUAD $0x000000f02494b60f // movzx edx, byte [rsp + 240] - WORD $0xe2c0; BYTE $0x03 // shl dl, 3 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - QUAD $0x000000c02494b60f // movzx edx, byte [rsp + 192] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0x0840; BYTE $0xfa // or dl, dil - WORD $0xd789 // mov edi, edx - QUAD $0x000000902494b60f // movzx edx, byte [rsp + 144] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xfa // or dl, dil + QUAD $0x000001302484b60f // movzx eax, byte [rsp + 304] + WORD $0xc000 // add al, al + LONG $0xa0248402; WORD $0x0000; BYTE $0x00 // add al, byte [rsp + 160] + WORD $0xc789 // mov edi, eax + QUAD $0x000001002484b60f // movzx eax, byte [rsp + 256] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + QUAD $0x000000e02484b60f // movzx eax, byte [rsp + 224] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + QUAD $0x000000b02484b60f // movzx eax, byte [rsp + 176] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0840; BYTE $0xf8 // or al, dil + WORD $0xc789 // mov edi, eax + LONG $0x2444b60f; BYTE $0x70 // movzx eax, byte [rsp + 112] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0x0840; BYTE $0xf8 // or al, dil WORD $0x8841; BYTE $0x1e // mov byte [r14], bl QUAD $0x00000080249cb60f // movzx ebx, byte [rsp + 128] WORD $0xe3c0; BYTE $0x06 // shl bl, 6 LONG $0x07e7c041 // shl r15b, 7 WORD $0x0841; BYTE $0xdf // or r15b, bl LONG $0x014e8841 // mov byte [r14 + 1], cl - WORD $0x0841; BYTE $0xd7 // or r15b, dl - LONG $0x244cb60f; BYTE $0x70 // movzx ecx, byte [rsp + 112] - WORD $0xc900 // add cl, cl - LONG $0x30244c02 // add cl, byte [rsp + 48] - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x60 // movzx ecx, byte [rsp + 96] - WORD $0xe1c0; BYTE $0x02 // shl cl, 2 - WORD $0xd108 // or cl, dl - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x50 // movzx ecx, byte [rsp + 80] - WORD $0xe1c0; BYTE $0x03 // shl cl, 3 - WORD $0xd108 // or cl, dl - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x20 // movzx ecx, byte [rsp + 32] - WORD $0xe1c0; BYTE $0x04 // shl cl, 4 - WORD $0xd108 // or cl, dl - WORD $0xca89 // mov edx, ecx - LONG $0x244cb60f; BYTE $0x10 // movzx ecx, byte [rsp + 16] - WORD $0xe1c0; BYTE $0x05 // shl cl, 5 - WORD $0xd108 // or cl, dl - LONG $0x2454b60f; BYTE $0x08 // movzx edx, byte [rsp + 8] - WORD $0xe2c0; BYTE $0x06 // shl dl, 6 - LONG $0x07e0c041 // shl r8b, 7 - WORD $0x0841; BYTE $0xd0 // or r8b, dl - WORD $0x0841; BYTE $0xc8 // or r8b, cl + WORD $0x0841; BYTE $0xc7 // or r15b, al + QUAD $0x000000902484b60f // movzx eax, byte [rsp + 144] + WORD $0xc000 // add al, al + LONG $0x30244402 // add al, byte [rsp + 48] + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x60 // movzx eax, byte [rsp + 96] + WORD $0xe0c0; BYTE $0x02 // shl al, 2 + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x50 // movzx eax, byte [rsp + 80] + WORD $0xe0c0; BYTE $0x03 // shl al, 3 + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0xc808 // or al, cl + LONG $0x244cb60f; BYTE $0x08 // movzx ecx, byte [rsp + 8] + WORD $0xe1c0; BYTE $0x06 // shl cl, 6 + WORD $0xe2c0; BYTE $0x07 // shl dl, 7 + WORD $0xca08 // or dl, cl + WORD $0xc208 // or dl, al LONG $0x027e8845 // mov byte [r14 + 2], r15b - LONG $0x03468845 // mov byte [r14 + 3], r8b + LONG $0x03568841 // mov byte [r14 + 3], dl LONG $0x00c68148; WORD $0x0001; BYTE $0x00 // add rsi, 256 LONG $0x04c68349 // add r14, 4 QUAD $0x0000014024848348; BYTE $0xff // add qword [rsp + 320], -1 - JNE LBB10_110 + JNE LBB10_163 LONG $0x24548b4c; BYTE $0x48 // mov r10, qword [rsp + 72] QUAD $0x00000170249c8b4c // mov r11, qword [rsp + 368] -LBB10_112: +LBB10_165: LONG $0x05e3c149 // shl r11, 5 WORD $0x394d; BYTE $0xd3 // cmp r11, r10 - JGE LBB10_182 + JGE LBB10_201 WORD $0x894d; BYTE $0xd0 // mov r8, r10 WORD $0x294d; BYTE $0xd8 // sub r8, r11 WORD $0xf749; BYTE $0xd3 // not r11 WORD $0x014d; BYTE $0xd3 // add r11, r10 - JNE LBB10_175 + JNE LBB10_170 WORD $0x3145; BYTE $0xdb // xor r11d, r11d - JMP LBB10_177 + JMP LBB10_168 -LBB10_115: +LBB10_172: LONG $0x1f5a8d4d // lea r11, [r10 + 31] WORD $0x854d; BYTE $0xd2 // test r10, r10 LONG $0xda490f4d // cmovns r11, r10 @@ -49008,14 +50449,15 @@ LBB10_115: WORD $0xe083; BYTE $0xf8 // and eax, -8 LONG $0x100f44f3; BYTE $0x1a // movss xmm11, dword [rdx] WORD $0x2941; BYTE $0xc1 // sub r9d, eax - JE LBB10_119 + JE LBB10_176 WORD $0x6349; BYTE $0xc1 // movsxd rax, r9d -LBB10_117: - LONG $0x1e2e0f44 // ucomiss xmm11, dword [rsi] - WORD $0x960f; BYTE $0xd2 // setbe dl +LBB10_174: + LONG $0x06100ff3 // movss xmm0, dword [rsi] LONG $0x04c68348 // add rsi, 4 - WORD $0xdaf6 // neg dl + LONG $0xc32e0f41 // ucomiss xmm0, xmm11 + LONG $0x000000ba; BYTE $0x00 // mov edx, 0 + WORD $0xd280; BYTE $0xff // adc dl, -1 LONG $0x07788d48 // lea rdi, [rax + 7] WORD $0x8548; BYTE $0xc0 // test rax, rax LONG $0xf8490f48 // cmovns rdi, rax @@ -49032,263 +50474,293 @@ LBB10_117: LONG $0x3e1c8841 // mov byte [r14 + rdi], bl LONG $0x01c08348 // add rax, 1 LONG $0x08f88348 // cmp rax, 8 - JNE LBB10_117 + JNE LBB10_174 LONG $0x01c68349 // add r14, 1 -LBB10_119: +LBB10_176: LONG $0x05fbc149 // sar r11, 5 LONG $0x20fa8349 // cmp r10, 32 - JL LBB10_139 + JL LBB10_177 LONG $0x04fb8349 // cmp r11, 4 - JB LBB10_123 + JB LBB10_179 WORD $0x894c; BYTE $0xd8 // mov rax, r11 LONG $0x07e0c148 // shl rax, 7 WORD $0x0148; BYTE $0xf0 // add rax, rsi WORD $0x3949; BYTE $0xc6 // cmp r14, rax - JAE LBB10_200 + JAE LBB10_182 LONG $0x9e048d4b // lea rax, [r14 + 4*r11] WORD $0x3948; BYTE $0xf0 // cmp rax, rsi - JBE LBB10_200 + JBE LBB10_182 -LBB10_123: - WORD $0x3145; BYTE $0xc0 // xor r8d, r8d - WORD $0x8948; BYTE $0xf3 // mov rbx, rsi +LBB10_179: + WORD $0xc031 // xor eax, eax + WORD $0x8948; BYTE $0xf2 // mov rdx, rsi WORD $0x894d; BYTE $0xf7 // mov r15, r14 -LBB10_124: +LBB10_185: LONG $0x247c894c; BYTE $0x08 // mov qword [rsp + 8], r15 LONG $0x2454894c; BYTE $0x48 // mov qword [rsp + 72], r10 QUAD $0x00000140249c894c // mov qword [rsp + 320], r11 - WORD $0x294d; BYTE $0xc3 // sub r11, r8 - QUAD $0x000000a0249c894c // mov qword [rsp + 160], r11 + WORD $0x2949; BYTE $0xc3 // sub r11, rax + QUAD $0x000000f0249c894c // mov qword [rsp + 240], r11 -LBB10_125: - LONG $0x1b2e0f44 // ucomiss xmm11, dword [rbx] - QUAD $0x000001502494960f // setbe byte [rsp + 336] - LONG $0x5b2e0f44; BYTE $0x04 // ucomiss xmm11, dword [rbx + 4] - LONG $0xd0960f41 // setbe r8b - LONG $0x5b2e0f44; BYTE $0x08 // ucomiss xmm11, dword [rbx + 8] - LONG $0xd6960f41 // setbe r14b - LONG $0x5b2e0f44; BYTE $0x0c // ucomiss xmm11, dword [rbx + 12] - LONG $0xd5960f41 // setbe r13b - LONG $0x5b2e0f44; BYTE $0x10 // ucomiss xmm11, dword [rbx + 16] - QUAD $0x000000e02494960f // setbe byte [rsp + 224] - LONG $0x5b2e0f44; BYTE $0x14 // ucomiss xmm11, dword [rbx + 20] - QUAD $0x000000d02494960f // setbe byte [rsp + 208] - LONG $0x5b2e0f44; BYTE $0x18 // ucomiss xmm11, dword [rbx + 24] - WORD $0x960f; BYTE $0xd0 // setbe al - LONG $0x5b2e0f44; BYTE $0x1c // ucomiss xmm11, dword [rbx + 28] - LONG $0xd3960f41 // setbe r11b - LONG $0x5b2e0f44; BYTE $0x20 // ucomiss xmm11, dword [rbx + 32] - QUAD $0x000001002494960f // setbe byte [rsp + 256] - LONG $0x5b2e0f44; BYTE $0x24 // ucomiss xmm11, dword [rbx + 36] - WORD $0x960f; BYTE $0xd2 // setbe dl - LONG $0x5b2e0f44; BYTE $0x28 // ucomiss xmm11, dword [rbx + 40] - LONG $0xd6960f40 // setbe sil - LONG $0x5b2e0f44; BYTE $0x2c // ucomiss xmm11, dword [rbx + 44] - LONG $0xd7960f40 // setbe dil - LONG $0x5b2e0f44; BYTE $0x30 // ucomiss xmm11, dword [rbx + 48] - LONG $0xd2960f41 // setbe r10b - LONG $0x5b2e0f44; BYTE $0x34 // ucomiss xmm11, dword [rbx + 52] - LONG $0xd4960f41 // setbe r12b - LONG $0x5b2e0f44; BYTE $0x38 // ucomiss xmm11, dword [rbx + 56] - QUAD $0x000001102494960f // setbe byte [rsp + 272] - LONG $0x5b2e0f44; BYTE $0x3c // ucomiss xmm11, dword [rbx + 60] - LONG $0xd1960f41 // setbe r9b - LONG $0x5b2e0f44; BYTE $0x40 // ucomiss xmm11, dword [rbx + 64] - QUAD $0x000000b02494960f // setbe byte [rsp + 176] - LONG $0x5b2e0f44; BYTE $0x44 // ucomiss xmm11, dword [rbx + 68] - QUAD $0x000001302494960f // setbe byte [rsp + 304] - LONG $0x5b2e0f44; BYTE $0x48 // ucomiss xmm11, dword [rbx + 72] - QUAD $0x000001202494960f // setbe byte [rsp + 288] - LONG $0x5b2e0f44; BYTE $0x4c // ucomiss xmm11, dword [rbx + 76] - QUAD $0x000000f02494960f // setbe byte [rsp + 240] - LONG $0x5b2e0f44; BYTE $0x50 // ucomiss xmm11, dword [rbx + 80] - QUAD $0x000000c02494960f // setbe byte [rsp + 192] - LONG $0x5b2e0f44; BYTE $0x54 // ucomiss xmm11, dword [rbx + 84] - QUAD $0x000000902494960f // setbe byte [rsp + 144] - LONG $0x5b2e0f44; BYTE $0x58 // ucomiss xmm11, dword [rbx + 88] - QUAD $0x000000802494960f // setbe byte [rsp + 128] - LONG $0x5b2e0f44; BYTE $0x5c // ucomiss xmm11, dword [rbx + 92] - LONG $0xd7960f41 // setbe r15b - LONG $0x5b2e0f44; BYTE $0x60 // ucomiss xmm11, dword [rbx + 96] - LONG $0x2454960f; BYTE $0x30 // setbe byte [rsp + 48] - LONG $0x5b2e0f44; BYTE $0x64 // ucomiss xmm11, dword [rbx + 100] - LONG $0x2454960f; BYTE $0x70 // setbe byte [rsp + 112] - LONG $0x5b2e0f44; BYTE $0x68 // ucomiss xmm11, dword [rbx + 104] - LONG $0x2454960f; BYTE $0x60 // setbe byte [rsp + 96] - LONG $0x5b2e0f44; BYTE $0x6c // ucomiss xmm11, dword [rbx + 108] - LONG $0x2454960f; BYTE $0x50 // setbe byte [rsp + 80] - LONG $0x5b2e0f44; BYTE $0x70 // ucomiss xmm11, dword [rbx + 112] - LONG $0x2454960f; BYTE $0x20 // setbe byte [rsp + 32] - LONG $0x5b2e0f44; BYTE $0x74 // ucomiss xmm11, dword [rbx + 116] - LONG $0x2454960f; BYTE $0x10 // setbe byte [rsp + 16] - LONG $0x5b2e0f44; BYTE $0x78 // ucomiss xmm11, dword [rbx + 120] - QUAD $0x000001602494960f // setbe byte [rsp + 352] - LONG $0x5b2e0f44; BYTE $0x7c // ucomiss xmm11, dword [rbx + 124] - WORD $0x960f; BYTE $0xd1 // setbe cl - WORD $0x0045; BYTE $0xc0 // add r8b, r8b - QUAD $0x0000015024840244 // add r8b, byte [rsp + 336] - WORD $0xe0c0; BYTE $0x06 // shl al, 6 - LONG $0x07e3c041 // shl r11b, 7 - WORD $0x0841; BYTE $0xc3 // or r11b, al - LONG $0x02e6c041 // shl r14b, 2 - WORD $0x0845; BYTE $0xc6 // or r14b, r8b - WORD $0xd200 // add dl, dl - LONG $0x00249402; WORD $0x0001; BYTE $0x00 // add dl, byte [rsp + 256] - LONG $0x03e5c041 // shl r13b, 3 - WORD $0x0845; BYTE $0xf5 // or r13b, r14b +LBB10_186: + LONG $0x02100ff3 // movss xmm0, dword [rdx] + LONG $0x4a100ff3; BYTE $0x04 // movss xmm1, dword [rdx + 4] + LONG $0xc32e0f41 // ucomiss xmm0, xmm11 + QUAD $0x000001202494930f // setae byte [rsp + 288] + LONG $0xcb2e0f41 // ucomiss xmm1, xmm11 + WORD $0x930f; BYTE $0xd1 // setae cl + LONG $0x42100ff3; BYTE $0x08 // movss xmm0, dword [rdx + 8] + LONG $0xc32e0f41 // ucomiss xmm0, xmm11 + LONG $0xd6930f40 // setae sil + LONG $0x42100ff3; BYTE $0x0c // movss xmm0, dword [rdx + 12] + LONG $0xc32e0f41 // ucomiss xmm0, xmm11 + LONG $0xd7930f40 // setae dil + LONG $0x42100ff3; BYTE $0x10 // movss xmm0, dword [rdx + 16] + LONG $0xc32e0f41 // ucomiss xmm0, xmm11 + LONG $0xd0930f41 // setae r8b + LONG $0x42100ff3; BYTE $0x14 // movss xmm0, dword [rdx + 20] + LONG $0xc32e0f41 // ucomiss xmm0, xmm11 + QUAD $0x000001102494930f // setae byte [rsp + 272] + LONG $0x42100ff3; BYTE $0x18 // movss xmm0, dword [rdx + 24] + LONG $0xc32e0f41 // ucomiss xmm0, xmm11 + QUAD $0x000001302494930f // setae byte [rsp + 304] + LONG $0x42100ff3; BYTE $0x1c // movss xmm0, dword [rdx + 28] + LONG $0xc32e0f41 // ucomiss xmm0, xmm11 + QUAD $0x000001502494930f // setae byte [rsp + 336] + LONG $0x42100ff3; BYTE $0x20 // movss xmm0, dword [rdx + 32] + LONG $0xc32e0f41 // ucomiss xmm0, xmm11 + QUAD $0x000000c02494930f // setae byte [rsp + 192] + LONG $0x42100ff3; BYTE $0x24 // movss xmm0, dword [rdx + 36] + LONG $0xc32e0f41 // ucomiss xmm0, xmm11 + LONG $0xd1930f41 // setae r9b + LONG $0x42100ff3; BYTE $0x28 // movss xmm0, dword [rdx + 40] + LONG $0xc32e0f41 // ucomiss xmm0, xmm11 + LONG $0xd3930f41 // setae r11b + LONG $0x42100ff3; BYTE $0x2c // movss xmm0, dword [rdx + 44] + LONG $0xc32e0f41 // ucomiss xmm0, xmm11 + LONG $0xd7930f41 // setae r15b + LONG $0x42100ff3; BYTE $0x30 // movss xmm0, dword [rdx + 48] + LONG $0xc32e0f41 // ucomiss xmm0, xmm11 + WORD $0x930f; BYTE $0xd0 // setae al + LONG $0x42100ff3; BYTE $0x34 // movss xmm0, dword [rdx + 52] + LONG $0xc32e0f41 // ucomiss xmm0, xmm11 + QUAD $0x000000d02494930f // setae byte [rsp + 208] + LONG $0x42100ff3; BYTE $0x38 // movss xmm0, dword [rdx + 56] + LONG $0xc32e0f41 // ucomiss xmm0, xmm11 + QUAD $0x000000b02494930f // setae byte [rsp + 176] + LONG $0x42100ff3; BYTE $0x3c // movss xmm0, dword [rdx + 60] + LONG $0xc32e0f41 // ucomiss xmm0, xmm11 + QUAD $0x000000e02494930f // setae byte [rsp + 224] + LONG $0x42100ff3; BYTE $0x40 // movss xmm0, dword [rdx + 64] + LONG $0x4a100ff3; BYTE $0x44 // movss xmm1, dword [rdx + 68] + LONG $0xc32e0f41 // ucomiss xmm0, xmm11 + LONG $0x42100ff3; BYTE $0x48 // movss xmm0, dword [rdx + 72] + QUAD $0x000000902494930f // setae byte [rsp + 144] + LONG $0xcb2e0f41 // ucomiss xmm1, xmm11 + LONG $0x4a100ff3; BYTE $0x4c // movss xmm1, dword [rdx + 76] + LONG $0xd2930f41 // setae r10b + LONG $0xc32e0f41 // ucomiss xmm0, xmm11 + LONG $0x42100ff3; BYTE $0x50 // movss xmm0, dword [rdx + 80] + LONG $0xd6930f41 // setae r14b + LONG $0xcb2e0f41 // ucomiss xmm1, xmm11 + LONG $0x4a100ff3; BYTE $0x54 // movss xmm1, dword [rdx + 84] + LONG $0xd4930f41 // setae r12b + LONG $0xc32e0f41 // ucomiss xmm0, xmm11 + LONG $0x42100ff3; BYTE $0x58 // movss xmm0, dword [rdx + 88] + QUAD $0x000001002494930f // setae byte [rsp + 256] + LONG $0xcb2e0f41 // ucomiss xmm1, xmm11 + LONG $0x4a100ff3; BYTE $0x5c // movss xmm1, dword [rdx + 92] + QUAD $0x000000a02494930f // setae byte [rsp + 160] + LONG $0xc32e0f41 // ucomiss xmm0, xmm11 + LONG $0x42100ff3; BYTE $0x60 // movss xmm0, dword [rdx + 96] + LONG $0x2454930f; BYTE $0x70 // setae byte [rsp + 112] + LONG $0xcb2e0f41 // ucomiss xmm1, xmm11 + LONG $0x4a100ff3; BYTE $0x64 // movss xmm1, dword [rdx + 100] + LONG $0xd5930f41 // setae r13b + LONG $0xc32e0f41 // ucomiss xmm0, xmm11 + LONG $0x42100ff3; BYTE $0x68 // movss xmm0, dword [rdx + 104] + LONG $0x2454930f; BYTE $0x10 // setae byte [rsp + 16] + LONG $0xcb2e0f41 // ucomiss xmm1, xmm11 + LONG $0x4a100ff3; BYTE $0x6c // movss xmm1, dword [rdx + 108] + QUAD $0x000000802494930f // setae byte [rsp + 128] + LONG $0xc32e0f41 // ucomiss xmm0, xmm11 + LONG $0x42100ff3; BYTE $0x70 // movss xmm0, dword [rdx + 112] + LONG $0x2454930f; BYTE $0x60 // setae byte [rsp + 96] + LONG $0xcb2e0f41 // ucomiss xmm1, xmm11 + LONG $0x4a100ff3; BYTE $0x74 // movss xmm1, dword [rdx + 116] + LONG $0x2454930f; BYTE $0x50 // setae byte [rsp + 80] + LONG $0xc32e0f41 // ucomiss xmm0, xmm11 + LONG $0x42100ff3; BYTE $0x78 // movss xmm0, dword [rdx + 120] + LONG $0x2454930f; BYTE $0x30 // setae byte [rsp + 48] + LONG $0xcb2e0f41 // ucomiss xmm1, xmm11 + LONG $0x4a100ff3; BYTE $0x7c // movss xmm1, dword [rdx + 124] + LONG $0x2454930f; BYTE $0x20 // setae byte [rsp + 32] + LONG $0xc32e0f41 // ucomiss xmm0, xmm11 + QUAD $0x000001602494930f // setae byte [rsp + 352] + LONG $0x80ea8348 // sub rdx, -128 + LONG $0xcb2e0f41 // ucomiss xmm1, xmm11 + WORD $0x930f; BYTE $0xd3 // setae bl + WORD $0xc900 // add cl, cl + LONG $0x20248c02; WORD $0x0001; BYTE $0x00 // add cl, byte [rsp + 288] LONG $0x02e6c040 // shl sil, 2 - WORD $0x0840; BYTE $0xd6 // or sil, dl - QUAD $0x000000e02494b60f // movzx edx, byte [rsp + 224] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0x0844; BYTE $0xea // or dl, r13b - WORD $0x8941; BYTE $0xd0 // mov r8d, edx + WORD $0x0840; BYTE $0xce // or sil, cl LONG $0x03e7c040 // shl dil, 3 WORD $0x0840; BYTE $0xf7 // or dil, sil - QUAD $0x000000d02494b60f // movzx edx, byte [rsp + 208] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0844; BYTE $0xc2 // or dl, r8b - LONG $0x04e2c041 // shl r10b, 4 - WORD $0x0841; BYTE $0xfa // or r10b, dil - LONG $0x05e4c041 // shl r12b, 5 - WORD $0x0845; BYTE $0xd4 // or r12b, r10b - QUAD $0x0000011024b4b60f // movzx esi, byte [rsp + 272] - LONG $0x06e6c040 // shl sil, 6 - LONG $0x07e1c041 // shl r9b, 7 - WORD $0x0841; BYTE $0xf1 // or r9b, sil - WORD $0x0841; BYTE $0xd3 // or r11b, dl - WORD $0x0845; BYTE $0xe1 // or r9b, r12b - QUAD $0x000001302484b60f // movzx eax, byte [rsp + 304] - WORD $0xc000 // add al, al - LONG $0xb0248402; WORD $0x0000; BYTE $0x00 // add al, byte [rsp + 176] - QUAD $0x000001202494b60f // movzx edx, byte [rsp + 288] - WORD $0xe2c0; BYTE $0x02 // shl dl, 2 - WORD $0xc208 // or dl, al - WORD $0xd689 // mov esi, edx - QUAD $0x000000f02494b60f // movzx edx, byte [rsp + 240] - WORD $0xe2c0; BYTE $0x03 // shl dl, 3 - WORD $0x0840; BYTE $0xf2 // or dl, sil - WORD $0xd689 // mov esi, edx - QUAD $0x000000c02494b60f // movzx edx, byte [rsp + 192] - WORD $0xe2c0; BYTE $0x04 // shl dl, 4 - WORD $0x0840; BYTE $0xf2 // or dl, sil - WORD $0xd689 // mov esi, edx - QUAD $0x000000902494b60f // movzx edx, byte [rsp + 144] - WORD $0xe2c0; BYTE $0x05 // shl dl, 5 - WORD $0x0840; BYTE $0xf2 // or dl, sil - LONG $0x24748b48; BYTE $0x08 // mov rsi, qword [rsp + 8] - WORD $0x8844; BYTE $0x1e // mov byte [rsi], r11b - QUAD $0x0000008024bcb60f // movzx edi, byte [rsp + 128] + LONG $0x04e0c041 // shl r8b, 4 + WORD $0x0841; BYTE $0xf8 // or r8b, dil + QUAD $0x00000110248cb60f // movzx ecx, byte [rsp + 272] + WORD $0xe1c0; BYTE $0x05 // shl cl, 5 + WORD $0x0844; BYTE $0xc1 // or cl, r8b + QUAD $0x0000013024bcb60f // movzx edi, byte [rsp + 304] LONG $0x06e7c040 // shl dil, 6 - LONG $0x07e7c041 // shl r15b, 7 - WORD $0x0841; BYTE $0xff // or r15b, dil - LONG $0x014e8844 // mov byte [rsi + 1], r9b - WORD $0x0841; BYTE $0xd7 // or r15b, dl - LONG $0x2444b60f; BYTE $0x70 // movzx eax, byte [rsp + 112] + QUAD $0x0000015024b4b60f // movzx esi, byte [rsp + 336] + LONG $0x07e6c040 // shl sil, 7 + WORD $0x0840; BYTE $0xfe // or sil, dil + WORD $0x0045; BYTE $0xc9 // add r9b, r9b + QUAD $0x000000c0248c0244 // add r9b, byte [rsp + 192] + LONG $0x02e3c041 // shl r11b, 2 + WORD $0x0845; BYTE $0xcb // or r11b, r9b + LONG $0x03e7c041 // shl r15b, 3 + WORD $0x0845; BYTE $0xdf // or r15b, r11b + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0844; BYTE $0xf8 // or al, r15b + WORD $0x0840; BYTE $0xce // or sil, cl + QUAD $0x000000d0248cb60f // movzx ecx, byte [rsp + 208] + WORD $0xe1c0; BYTE $0x05 // shl cl, 5 + WORD $0xc108 // or cl, al + QUAD $0x000000b02484b60f // movzx eax, byte [rsp + 176] + WORD $0xe0c0; BYTE $0x06 // shl al, 6 + QUAD $0x000000e024bcb60f // movzx edi, byte [rsp + 224] + LONG $0x07e7c040 // shl dil, 7 + WORD $0x0840; BYTE $0xc7 // or dil, al + WORD $0x0045; BYTE $0xd2 // add r10b, r10b + QUAD $0x0000009024940244 // add r10b, byte [rsp + 144] + LONG $0x02e6c041 // shl r14b, 2 + WORD $0x0845; BYTE $0xd6 // or r14b, r10b + LONG $0x03e4c041 // shl r12b, 3 + WORD $0x0845; BYTE $0xf4 // or r12b, r14b + QUAD $0x000001002484b60f // movzx eax, byte [rsp + 256] + WORD $0xe0c0; BYTE $0x04 // shl al, 4 + WORD $0x0844; BYTE $0xe0 // or al, r12b + WORD $0x8941; BYTE $0xc0 // mov r8d, eax + QUAD $0x000000a02484b60f // movzx eax, byte [rsp + 160] + WORD $0xe0c0; BYTE $0x05 // shl al, 5 + WORD $0x0844; BYTE $0xc0 // or al, r8b + WORD $0x0840; BYTE $0xcf // or dil, cl + LONG $0x244cb60f; BYTE $0x70 // movzx ecx, byte [rsp + 112] + WORD $0xe1c0; BYTE $0x06 // shl cl, 6 + LONG $0x07e5c041 // shl r13b, 7 + WORD $0x0841; BYTE $0xcd // or r13b, cl + LONG $0x24448b4c; BYTE $0x08 // mov r8, qword [rsp + 8] + WORD $0x8841; BYTE $0x30 // mov byte [r8], sil + WORD $0x0841; BYTE $0xc5 // or r13b, al + QUAD $0x000000802484b60f // movzx eax, byte [rsp + 128] WORD $0xc000 // add al, al - LONG $0x30244402 // add al, byte [rsp + 48] - WORD $0xc289 // mov edx, eax + LONG $0x10244402 // add al, byte [rsp + 16] + WORD $0xc189 // mov ecx, eax LONG $0x2444b60f; BYTE $0x60 // movzx eax, byte [rsp + 96] WORD $0xe0c0; BYTE $0x02 // shl al, 2 - WORD $0xd008 // or al, dl - WORD $0xc289 // mov edx, eax + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax LONG $0x2444b60f; BYTE $0x50 // movzx eax, byte [rsp + 80] WORD $0xe0c0; BYTE $0x03 // shl al, 3 - WORD $0xd008 // or al, dl - WORD $0xc289 // mov edx, eax - LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x30 // movzx eax, byte [rsp + 48] WORD $0xe0c0; BYTE $0x04 // shl al, 4 - WORD $0xd008 // or al, dl - WORD $0xc289 // mov edx, eax - LONG $0x2444b60f; BYTE $0x10 // movzx eax, byte [rsp + 16] + WORD $0xc808 // or al, cl + WORD $0xc189 // mov ecx, eax + LONG $0x2444b60f; BYTE $0x20 // movzx eax, byte [rsp + 32] WORD $0xe0c0; BYTE $0x05 // shl al, 5 - WORD $0xd008 // or al, dl - QUAD $0x000001602494b60f // movzx edx, byte [rsp + 352] - WORD $0xe2c0; BYTE $0x06 // shl dl, 6 - WORD $0xe1c0; BYTE $0x07 // shl cl, 7 - WORD $0xd108 // or cl, dl - WORD $0xc108 // or cl, al - LONG $0x027e8844 // mov byte [rsi + 2], r15b - WORD $0x4e88; BYTE $0x03 // mov byte [rsi + 3], cl - LONG $0x80c38148; WORD $0x0000; BYTE $0x00 // add rbx, 128 - LONG $0x04c68348 // add rsi, 4 - LONG $0x24748948; BYTE $0x08 // mov qword [rsp + 8], rsi - QUAD $0x000000a024848348; BYTE $0xff // add qword [rsp + 160], -1 - JNE LBB10_125 + WORD $0xc808 // or al, cl + LONG $0x01788841 // mov byte [r8 + 1], dil + QUAD $0x00000160248cb60f // movzx ecx, byte [rsp + 352] + WORD $0xe1c0; BYTE $0x06 // shl cl, 6 + WORD $0xe3c0; BYTE $0x07 // shl bl, 7 + WORD $0xcb08 // or bl, cl + LONG $0x02688845 // mov byte [r8 + 2], r13b + WORD $0xc308 // or bl, al + LONG $0x03588841 // mov byte [r8 + 3], bl + LONG $0x04c08349 // add r8, 4 + LONG $0x2444894c; BYTE $0x08 // mov qword [rsp + 8], r8 + QUAD $0x000000f024848348; BYTE $0xff // add qword [rsp + 240], -1 + JNE LBB10_186 LONG $0x247c8b4c; BYTE $0x08 // mov r15, qword [rsp + 8] LONG $0x24548b4c; BYTE $0x48 // mov r10, qword [rsp + 72] QUAD $0x00000140249c8b4c // mov r11, qword [rsp + 320] - JMP LBB10_140 + JMP LBB10_188 -LBB10_127: - LONG $0x2474894c; BYTE $0x70 // mov qword [rsp + 112], r14 +LBB10_9: + QUAD $0x0000009024b4894c // mov qword [rsp + 144], r14 -LBB10_128: +LBB10_91: LONG $0x05e7c149 // shl r15, 5 WORD $0x394d; BYTE $0xd7 // cmp r15, r10 - JGE LBB10_182 + JGE LBB10_201 WORD $0x894d; BYTE $0xd0 // mov r8, r10 WORD $0x294d; BYTE $0xf8 // sub r8, r15 WORD $0xf749; BYTE $0xd7 // not r15 WORD $0x014d; BYTE $0xd7 // add r15, r10 - JNE LBB10_151 + JNE LBB10_94 WORD $0x3145; BYTE $0xc9 // xor r9d, r9d - JMP LBB10_154 + JMP LBB10_97 -LBB10_131: - QUAD $0x000000d024b4894c // mov qword [rsp + 208], r14 +LBB10_61: + QUAD $0x000000e024b4894c // mov qword [rsp + 224], r14 -LBB10_132: +LBB10_72: LONG $0x05e7c149 // shl r15, 5 WORD $0x394d; BYTE $0xd7 // cmp r15, r10 - JGE LBB10_182 + JGE LBB10_201 WORD $0x894d; BYTE $0xd0 // mov r8, r10 WORD $0x294d; BYTE $0xf8 // sub r8, r15 WORD $0xf749; BYTE $0xd7 // not r15 WORD $0x014d; BYTE $0xd7 // add r15, r10 - JNE LBB10_156 + JNE LBB10_75 WORD $0x3145; BYTE $0xc9 // xor r9d, r9d - JMP LBB10_159 + JMP LBB10_78 -LBB10_135: +LBB10_119: WORD $0x894d; BYTE $0xf4 // mov r12, r14 WORD $0x8949; BYTE $0xf3 // mov r11, rsi -LBB10_136: +LBB10_130: LONG $0x05e7c149 // shl r15, 5 WORD $0x394d; BYTE $0xd7 // cmp r15, r10 - JGE LBB10_182 + JGE LBB10_201 WORD $0x894d; BYTE $0xd0 // mov r8, r10 WORD $0x294d; BYTE $0xf8 // sub r8, r15 WORD $0xf749; BYTE $0xd7 // not r15 WORD $0x014d; BYTE $0xd7 // add r15, r10 - JNE LBB10_183 + JNE LBB10_135 WORD $0xf631 // xor esi, esi - JMP LBB10_185 + JMP LBB10_133 -LBB10_139: +LBB10_177: WORD $0x894d; BYTE $0xf7 // mov r15, r14 - WORD $0x8948; BYTE $0xf3 // mov rbx, rsi + WORD $0x8948; BYTE $0xf2 // mov rdx, rsi -LBB10_140: +LBB10_188: LONG $0x05e3c149 // shl r11, 5 WORD $0x394d; BYTE $0xd3 // cmp r11, r10 - JGE LBB10_182 + JGE LBB10_201 + WORD $0x8948; BYTE $0xd0 // mov rax, rdx WORD $0x894d; BYTE $0xd0 // mov r8, r10 WORD $0x294d; BYTE $0xd8 // sub r8, r11 WORD $0xf749; BYTE $0xd3 // not r11 WORD $0x014d; BYTE $0xd3 // add r11, r10 - JNE LBB10_187 + JNE LBB10_193 WORD $0xf631 // xor esi, esi - JMP LBB10_189 + JMP LBB10_191 -LBB10_143: +LBB10_155: WORD $0x894d; BYTE $0xc1 // mov r9, r8 LONG $0xfee18349 // and r9, -2 WORD $0x3145; BYTE $0xdb // xor r11d, r11d -LBB10_144: +LBB10_156: WORD $0x394c; BYTE $0x2e // cmp qword [rsi], r13 LONG $0x000000bf; BYTE $0x00 // mov edi, 0 LONG $0xffd78040 // adc dil, -1 @@ -49316,21 +50788,21 @@ LBB10_144: WORD $0xc330 // xor bl, al LONG $0x161c8841 // mov byte [r14 + rdx], bl WORD $0x394d; BYTE $0xd9 // cmp r9, r11 - JNE LBB10_144 + JNE LBB10_156 -LBB10_145: +LBB10_40: LONG $0x01c0f641 // test r8b, 1 - JE LBB10_182 + JE LBB10_201 WORD $0xc031 // xor eax, eax WORD $0x394c; BYTE $0x2e // cmp qword [rsi], r13 - JMP LBB10_174 + JMP LBB10_199 -LBB10_147: +LBB10_153: WORD $0x894d; BYTE $0xc2 // mov r10, r8 LONG $0xfee28349 // and r10, -2 WORD $0x3145; BYTE $0xdb // xor r11d, r11d -LBB10_148: +LBB10_154: WORD $0x3944; BYTE $0x2e // cmp dword [rsi], r13d WORD $0x9d0f; BYTE $0xd0 // setge al WORD $0xd8f6 // neg al @@ -49358,21 +50830,21 @@ LBB10_148: WORD $0xda30 // xor dl, bl LONG $0x3e148841 // mov byte [r14 + rdi], dl WORD $0x394d; BYTE $0xda // cmp r10, r11 - JNE LBB10_148 + JNE LBB10_154 -LBB10_149: +LBB10_150: LONG $0x01c0f641 // test r8b, 1 - JE LBB10_182 + JE LBB10_201 WORD $0x3944; BYTE $0x2e // cmp dword [rsi], r13d - JMP LBB10_179 + JMP LBB10_152 -LBB10_151: - WORD $0x894d; BYTE $0xc2 // mov r10, r8 - LONG $0xfee28349 // and r10, -2 - WORD $0x3145; BYTE $0xc9 // xor r9d, r9d - LONG $0x24748b4c; BYTE $0x70 // mov r14, qword [rsp + 112] +LBB10_94: + WORD $0x894d; BYTE $0xc2 // mov r10, r8 + LONG $0xfee28349 // and r10, -2 + WORD $0x3145; BYTE $0xc9 // xor r9d, r9d + QUAD $0x0000009024b48b4c // mov r14, qword [rsp + 144] -LBB10_152: +LBB10_95: WORD $0x894c; BYTE $0xc8 // mov rax, r9 LONG $0x0e1c3846 // cmp byte [rsi + r9], r11b WORD $0x9d0f; BYTE $0xd3 // setge bl @@ -49400,34 +50872,34 @@ LBB10_152: WORD $0xd030 // xor al, dl LONG $0x3e048841 // mov byte [r14 + rdi], al WORD $0x394d; BYTE $0xca // cmp r10, r9 - JNE LBB10_152 + JNE LBB10_95 WORD $0x014c; BYTE $0xce // add rsi, r9 -LBB10_154: - LONG $0x01c0f641 // test r8b, 1 - JE LBB10_182 - WORD $0x3844; BYTE $0x1e // cmp byte [rsi], r11b - WORD $0x9d0f; BYTE $0xd0 // setge al - WORD $0xd8f6 // neg al - WORD $0x894c; BYTE $0xca // mov rdx, r9 - LONG $0x03eac148 // shr rdx, 3 - LONG $0x24448b4c; BYTE $0x70 // mov r8, qword [rsp + 112] - LONG $0x103c8a41 // mov dil, byte [r8 + rdx] - LONG $0x07e18041 // and r9b, 7 - WORD $0x01b3 // mov bl, 1 - WORD $0x8944; BYTE $0xc9 // mov ecx, r9d - WORD $0xe3d2 // shl bl, cl - WORD $0x3040; BYTE $0xf8 // xor al, dil - WORD $0xc320 // and bl, al - JMP LBB10_161 +LBB10_97: + LONG $0x01c0f641 // test r8b, 1 + JE LBB10_201 + WORD $0x3844; BYTE $0x1e // cmp byte [rsi], r11b + WORD $0x9d0f; BYTE $0xd0 // setge al + WORD $0xd8f6 // neg al + WORD $0x894c; BYTE $0xca // mov rdx, r9 + LONG $0x03eac148 // shr rdx, 3 + QUAD $0x0000009024848b4c // mov r8, qword [rsp + 144] + LONG $0x103c8a41 // mov dil, byte [r8 + rdx] + LONG $0x07e18041 // and r9b, 7 + WORD $0x01b3 // mov bl, 1 + WORD $0x8944; BYTE $0xc9 // mov ecx, r9d + WORD $0xe3d2 // shl bl, cl + WORD $0x3040; BYTE $0xf8 // xor al, dil + WORD $0xc320 // and bl, al + JMP LBB10_80 -LBB10_156: +LBB10_75: WORD $0x894d; BYTE $0xc2 // mov r10, r8 LONG $0xfee28349 // and r10, -2 WORD $0x3145; BYTE $0xc9 // xor r9d, r9d - QUAD $0x000000d024b48b4c // mov r14, qword [rsp + 208] + QUAD $0x000000e024b48b4c // mov r14, qword [rsp + 224] -LBB10_157: +LBB10_76: WORD $0x894c; BYTE $0xc8 // mov rax, r9 LONG $0x0e1c3846 // cmp byte [rsi + r9], r11b LONG $0x000000bb; BYTE $0x00 // mov ebx, 0 @@ -49455,18 +50927,18 @@ LBB10_157: WORD $0xd030 // xor al, dl LONG $0x3e048841 // mov byte [r14 + rdi], al WORD $0x394d; BYTE $0xca // cmp r10, r9 - JNE LBB10_157 + JNE LBB10_76 WORD $0x014c; BYTE $0xce // add rsi, r9 -LBB10_159: +LBB10_78: LONG $0x01c0f641 // test r8b, 1 - JE LBB10_182 + JE LBB10_201 WORD $0xc031 // xor eax, eax WORD $0x3844; BYTE $0x1e // cmp byte [rsi], r11b WORD $0xff14 // adc al, -1 WORD $0x894c; BYTE $0xca // mov rdx, r9 LONG $0x03eac148 // shr rdx, 3 - QUAD $0x000000d024848b4c // mov r8, qword [rsp + 208] + QUAD $0x000000e024848b4c // mov r8, qword [rsp + 224] LONG $0x103c8a41 // mov dil, byte [r8 + rdx] LONG $0x07e18041 // and r9b, 7 WORD $0x01b3 // mov bl, 1 @@ -49475,17 +50947,17 @@ LBB10_159: WORD $0x3040; BYTE $0xf8 // xor al, dil WORD $0xc320 // and bl, al -LBB10_161: +LBB10_80: WORD $0x3040; BYTE $0xfb // xor bl, dil LONG $0x101c8841 // mov byte [r8 + rdx], bl - JMP LBB10_182 + JMP LBB10_201 -LBB10_162: +LBB10_137: WORD $0x894d; BYTE $0xc1 // mov r9, r8 LONG $0xfee18349 // and r9, -2 WORD $0x3145; BYTE $0xdb // xor r11d, r11d -LBB10_163: +LBB10_138: WORD $0x3944; BYTE $0x2e // cmp dword [rsi], r13d LONG $0x000000bf; BYTE $0x00 // mov edi, 0 LONG $0xffd78040 // adc dil, -1 @@ -49513,40 +50985,42 @@ LBB10_163: WORD $0xc330 // xor bl, al LONG $0x161c8841 // mov byte [r14 + rdx], bl WORD $0x394d; BYTE $0xd9 // cmp r9, r11 - JNE LBB10_163 + JNE LBB10_138 -LBB10_164: +LBB10_24: LONG $0x01c0f641 // test r8b, 1 - JE LBB10_182 + JE LBB10_201 WORD $0xc031 // xor eax, eax WORD $0x3944; BYTE $0x2e // cmp dword [rsi], r13d - JMP LBB10_174 + JMP LBB10_199 -LBB10_166: +LBB10_195: WORD $0x894d; BYTE $0xc2 // mov r10, r8 LONG $0xfee28349 // and r10, -2 WORD $0x3145; BYTE $0xdb // xor r11d, r11d -LBB10_167: - LONG $0x062e0f66 // ucomisd xmm0, qword [rsi] - WORD $0x960f; BYTE $0xd0 // setbe al - WORD $0xd8f6 // neg al +LBB10_196: + LONG $0x0e100ff2 // movsd xmm1, qword [rsi] + LONG $0xc82e0f66 // ucomisd xmm1, xmm0 + LONG $0x000000b8; BYTE $0x00 // mov eax, 0 + WORD $0xff14 // adc al, -1 WORD $0x894c; BYTE $0xdf // mov rdi, r11 LONG $0x03efc148 // shr rdi, 3 LONG $0x0cb60f45; BYTE $0x3e // movzx r9d, byte [r14 + rdi] + WORD $0x3044; BYTE $0xc8 // xor al, r9b WORD $0x8944; BYTE $0xd9 // mov ecx, r11d WORD $0xe180; BYTE $0x06 // and cl, 6 WORD $0x01b3 // mov bl, 1 WORD $0xe3d2 // shl bl, cl - WORD $0x3044; BYTE $0xc8 // xor al, r9b WORD $0xc320 // and bl, al WORD $0x3044; BYTE $0xcb // xor bl, r9b LONG $0x3e1c8841 // mov byte [r14 + rdi], bl LONG $0x02c38349 // add r11, 2 - LONG $0x462e0f66; BYTE $0x08 // ucomisd xmm0, qword [rsi + 8] - WORD $0x960f; BYTE $0xd0 // setbe al + LONG $0x4e100ff2; BYTE $0x08 // movsd xmm1, qword [rsi + 8] LONG $0x10c68348 // add rsi, 16 - WORD $0xd8f6 // neg al + LONG $0xc82e0f66 // ucomisd xmm1, xmm0 + LONG $0x000000b8; BYTE $0x00 // mov eax, 0 + WORD $0xff14 // adc al, -1 WORD $0xd830 // xor al, bl WORD $0xc980; BYTE $0x01 // or cl, 1 WORD $0x01b2 // mov dl, 1 @@ -49555,21 +51029,22 @@ LBB10_167: WORD $0xda30 // xor dl, bl LONG $0x3e148841 // mov byte [r14 + rdi], dl WORD $0x394d; BYTE $0xda // cmp r10, r11 - JNE LBB10_167 + JNE LBB10_196 -LBB10_168: - LONG $0x01c0f641 // test r8b, 1 - JE LBB10_182 - LONG $0x062e0f66 // ucomisd xmm0, qword [rsi] - WORD $0x960f; BYTE $0xd0 // setbe al - JMP LBB10_180 +LBB10_197: + LONG $0x01c0f641 // test r8b, 1 + JE LBB10_201 + LONG $0x0e100ff2 // movsd xmm1, qword [rsi] + WORD $0xc031 // xor eax, eax + LONG $0xc82e0f66 // ucomisd xmm1, xmm0 + JMP LBB10_199 -LBB10_170: +LBB10_112: WORD $0x894d; BYTE $0xc1 // mov r9, r8 LONG $0xfee18349 // and r9, -2 WORD $0x3145; BYTE $0xdb // xor r11d, r11d -LBB10_171: +LBB10_113: LONG $0x2e394466 // cmp word [rsi], r13w LONG $0x000000bf; BYTE $0x00 // mov edi, 0 LONG $0xffd78040 // adc dil, -1 @@ -49597,15 +51072,15 @@ LBB10_171: WORD $0xc330 // xor bl, al LONG $0x161c8841 // mov byte [r14 + rdx], bl WORD $0x394d; BYTE $0xd9 // cmp r9, r11 - JNE LBB10_171 + JNE LBB10_113 -LBB10_172: +LBB10_110: LONG $0x01c0f641 // test r8b, 1 - JE LBB10_182 + JE LBB10_201 WORD $0xc031 // xor eax, eax LONG $0x2e394466 // cmp word [rsi], r13w -LBB10_174: +LBB10_199: WORD $0xff14 // adc al, -1 WORD $0x894c; BYTE $0xda // mov rdx, r11 LONG $0x03eac148 // shr rdx, 3 @@ -49616,14 +51091,14 @@ LBB10_174: WORD $0xe3d2 // shl bl, cl WORD $0x3040; BYTE $0xf0 // xor al, sil WORD $0xc320 // and bl, al - JMP LBB10_181 + JMP LBB10_200 -LBB10_175: +LBB10_170: WORD $0x894d; BYTE $0xc2 // mov r10, r8 LONG $0xfee28349 // and r10, -2 WORD $0x3145; BYTE $0xdb // xor r11d, r11d -LBB10_176: +LBB10_171: WORD $0x394c; BYTE $0x2e // cmp qword [rsi], r13 WORD $0x9d0f; BYTE $0xd0 // setge al WORD $0xd8f6 // neg al @@ -49651,17 +51126,15 @@ LBB10_176: WORD $0xda30 // xor dl, bl LONG $0x3e148841 // mov byte [r14 + rdi], dl WORD $0x394d; BYTE $0xda // cmp r10, r11 - JNE LBB10_176 + JNE LBB10_171 -LBB10_177: +LBB10_168: LONG $0x01c0f641 // test r8b, 1 - JE LBB10_182 + JE LBB10_201 WORD $0x394c; BYTE $0x2e // cmp qword [rsi], r13 -LBB10_179: +LBB10_152: WORD $0x9d0f; BYTE $0xd0 // setge al - -LBB10_180: WORD $0xd8f6 // neg al WORD $0x894c; BYTE $0xda // mov rdx, r11 LONG $0x03eac148 // shr rdx, 3 @@ -49673,21 +51146,21 @@ LBB10_180: WORD $0x3040; BYTE $0xf0 // xor al, sil WORD $0xc320 // and bl, al -LBB10_181: +LBB10_200: WORD $0x3040; BYTE $0xf3 // xor bl, sil LONG $0x161c8841 // mov byte [r14 + rdx], bl -LBB10_182: +LBB10_201: MOVQ 496(SP), SP RET -LBB10_183: +LBB10_135: WORD $0x894d; BYTE $0xc2 // mov r10, r8 LONG $0xfee28349 // and r10, -2 WORD $0xf631 // xor esi, esi QUAD $0x0000018824b48b44 // mov r14d, dword [rsp + 392] -LBB10_184: +LBB10_136: LONG $0x33394566 // cmp word [r11], r14w WORD $0x9d0f; BYTE $0xd3 // setge bl WORD $0xdbf6 // neg bl @@ -49715,11 +51188,11 @@ LBB10_184: WORD $0xd030 // xor al, dl LONG $0x3c048841 // mov byte [r12 + rdi], al WORD $0x3949; BYTE $0xf2 // cmp r10, rsi - JNE LBB10_184 + JNE LBB10_136 -LBB10_185: +LBB10_133: LONG $0x01c0f641 // test r8b, 1 - JE LBB10_182 + JE LBB10_201 LONG $0x8824848b; WORD $0x0001; BYTE $0x00 // mov eax, dword [rsp + 392] LONG $0x03394166 // cmp word [r11], ax WORD $0x9d0f; BYTE $0xd0 // setge al @@ -49735,53 +51208,57 @@ LBB10_185: WORD $0xc320 // and bl, al WORD $0x3040; BYTE $0xfb // xor bl, dil LONG $0x141c8841 // mov byte [r12 + rdx], bl - JMP LBB10_182 + JMP LBB10_201 -LBB10_187: +LBB10_193: WORD $0x894d; BYTE $0xc2 // mov r10, r8 LONG $0xfee28349 // and r10, -2 WORD $0xf631 // xor esi, esi WORD $0x894d; BYTE $0xfb // mov r11, r15 -LBB10_188: - LONG $0x1b2e0f44 // ucomiss xmm11, dword [rbx] - WORD $0x960f; BYTE $0xd2 // setbe dl - WORD $0xdaf6 // neg dl +LBB10_194: + LONG $0x00100ff3 // movss xmm0, dword [rax] + LONG $0xc32e0f41 // ucomiss xmm0, xmm11 + LONG $0x000000bb; BYTE $0x00 // mov ebx, 0 + WORD $0xd380; BYTE $0xff // adc bl, -1 WORD $0x8948; BYTE $0xf7 // mov rdi, rsi LONG $0x03efc148 // shr rdi, 3 LONG $0x0cb60f45; BYTE $0x3b // movzx r9d, byte [r11 + rdi] + WORD $0x3044; BYTE $0xcb // xor bl, r9b WORD $0xf189 // mov ecx, esi WORD $0xe180; BYTE $0x06 // and cl, 6 - WORD $0x01b0 // mov al, 1 - WORD $0xe0d2 // shl al, cl - WORD $0x3044; BYTE $0xca // xor dl, r9b - WORD $0xd020 // and al, dl - WORD $0x3044; BYTE $0xc8 // xor al, r9b - LONG $0x3b048841 // mov byte [r11 + rdi], al - LONG $0x02c68348 // add rsi, 2 - LONG $0x5b2e0f44; BYTE $0x04 // ucomiss xmm11, dword [rbx + 4] - LONG $0xd1960f41 // setbe r9b - LONG $0x08c38348 // add rbx, 8 - WORD $0xf641; BYTE $0xd9 // neg r9b - WORD $0x3041; BYTE $0xc1 // xor r9b, al - WORD $0xc980; BYTE $0x01 // or cl, 1 WORD $0x01b2 // mov dl, 1 WORD $0xe2d2 // shl dl, cl - WORD $0x2044; BYTE $0xca // and dl, r9b - WORD $0xc230 // xor dl, al + WORD $0xda20 // and dl, bl + WORD $0x3044; BYTE $0xca // xor dl, r9b LONG $0x3b148841 // mov byte [r11 + rdi], dl + LONG $0x02c68348 // add rsi, 2 + LONG $0x40100ff3; BYTE $0x04 // movss xmm0, dword [rax + 4] + LONG $0x08c08348 // add rax, 8 + LONG $0xc32e0f41 // ucomiss xmm0, xmm11 + LONG $0x000000bb; BYTE $0x00 // mov ebx, 0 + WORD $0xd380; BYTE $0xff // adc bl, -1 + WORD $0xd330 // xor bl, dl + WORD $0xc980; BYTE $0x01 // or cl, 1 + WORD $0x8949; BYTE $0xc1 // mov r9, rax + WORD $0x01b0 // mov al, 1 + WORD $0xe0d2 // shl al, cl + WORD $0xd820 // and al, bl + WORD $0xd030 // xor al, dl + LONG $0x3b048841 // mov byte [r11 + rdi], al + WORD $0x894c; BYTE $0xc8 // mov rax, r9 WORD $0x3949; BYTE $0xf2 // cmp r10, rsi - JNE LBB10_188 + JNE LBB10_194 -LBB10_189: +LBB10_191: LONG $0x01c0f641 // test r8b, 1 - JE LBB10_182 - LONG $0x1b2e0f44 // ucomiss xmm11, dword [rbx] - WORD $0x960f; BYTE $0xd0 // setbe al - WORD $0xd8f6 // neg al + JE LBB10_201 + LONG $0x00100ff3 // movss xmm0, dword [rax] + WORD $0xc031 // xor eax, eax + LONG $0xc32e0f41 // ucomiss xmm0, xmm11 + WORD $0xff14 // adc al, -1 WORD $0x8948; BYTE $0xf2 // mov rdx, rsi LONG $0x03eac148 // shr rdx, 3 - WORD $0x894d; BYTE $0xfe // mov r14, r15 LONG $0x173c8a41 // mov dil, byte [r15 + rdx] LONG $0x07e68040 // and sil, 7 WORD $0x01b3 // mov bl, 1 @@ -49791,17 +51268,17 @@ LBB10_189: WORD $0xc320 // and bl, al WORD $0x3040; BYTE $0xfb // xor bl, dil LONG $0x171c8841 // mov byte [r15 + rdx], bl - JMP LBB10_182 + JMP LBB10_201 -LBB10_191: +LBB10_85: LONG $0xf0e78349 // and r15, -16 WORD $0x894c; BYTE $0xf8 // mov rax, r15 LONG $0x05e0c148 // shl rax, 5 WORD $0x0148; BYTE $0xf0 // add rax, rsi QUAD $0x0000017024848948 // mov qword [rsp + 368], rax - QUAD $0x000000a024bc894c // mov qword [rsp + 160], r15 + QUAD $0x000000f024bc894c // mov qword [rsp + 240], r15 LONG $0xbe048d4b // lea rax, [r14 + 4*r15] - LONG $0x24448948; BYTE $0x70 // mov qword [rsp + 112], rax + QUAD $0x0000009024848948 // mov qword [rsp + 144], rax LONG $0xc3b60f41 // movzx eax, r11b LONG $0xc86e0f66 // movd xmm1, eax LONG $0xc0ef0f66 // pxor xmm0, xmm0 @@ -49810,8 +51287,8 @@ LBB10_191: WORD $0x3145; BYTE $0xc0 // xor r8d, r8d QUAD $0x0000016024b4894c // mov qword [rsp + 352], r14 -LBB10_192: - QUAD $0x000001202484894c // mov qword [rsp + 288], r8 +LBB10_86: + QUAD $0x000001002484894c // mov qword [rsp + 256], r8 LONG $0x05e0c149 // shl r8, 5 WORD $0x894d; BYTE $0xc1 // mov r9, r8 WORD $0x894c; BYTE $0xc7 // mov rdi, r8 @@ -49836,12 +51313,12 @@ LBB10_192: LONG $0xf16e0f66 // movd xmm6, ecx LONG $0x4cb60f42; WORD $0x0506 // movzx ecx, byte [rsi + r8 + 5] LONG $0xc16e0f66 // movd xmm0, ecx - QUAD $0x00009024847f0f66; BYTE $0x00 // movdqa oword [rsp + 144], xmm0 + LONG $0x447f0f66; WORD $0x7024 // movdqa oword [rsp + 112], xmm0 LONG $0x4cb60f42; WORD $0x0606 // movzx ecx, byte [rsi + r8 + 6] LONG $0xf96e0f66 // movd xmm7, ecx LONG $0x4cb60f42; WORD $0x0706 // movzx ecx, byte [rsi + r8 + 7] LONG $0xc16e0f66 // movd xmm0, ecx - QUAD $0x00011024847f0f66; BYTE $0x00 // movdqa oword [rsp + 272], xmm0 + QUAD $0x00013024847f0f66; BYTE $0x00 // movdqa oword [rsp + 304], xmm0 LONG $0x4cb60f42; WORD $0x0806 // movzx ecx, byte [rsi + r8 + 8] LONG $0x6e0f4466; BYTE $0xe9 // movd xmm13, ecx LONG $0x4cb60f42; WORD $0x0906 // movzx ecx, byte [rsi + r8 + 9] @@ -49854,7 +51331,7 @@ LBB10_192: LONG $0x6e0f4466; BYTE $0xe1 // movd xmm12, ecx LONG $0x4cb60f42; WORD $0x1006 // movzx ecx, byte [rsi + r8 + 16] LONG $0x6e0f4466; BYTE $0xf1 // movd xmm14, ecx - QUAD $0x000000d02484894c // mov qword [rsp + 208], r8 + QUAD $0x000000c02484894c // mov qword [rsp + 192], r8 LONG $0x4cb60f42; WORD $0x1806 // movzx ecx, byte [rsi + r8 + 24] LONG $0xe96e0f66 // movd xmm5, ecx WORD $0x894c; BYTE $0xc1 // mov rcx, r8 @@ -49877,7 +51354,7 @@ LBB10_192: LONG $0x60ca8148; WORD $0x0001; BYTE $0x00 // or rdx, 352 LONG $0x24548948; BYTE $0x30 // mov qword [rsp + 48], rdx LONG $0x80ce8149; WORD $0x0001; BYTE $0x00 // or r14, 384 - QUAD $0x000000c024b4894c // mov qword [rsp + 192], r14 + QUAD $0x000000b024b4894c // mov qword [rsp + 176], r14 LONG $0xa0cf8148; WORD $0x0001; BYTE $0x00 // or rdi, 416 LONG $0x247c8948; BYTE $0x60 // mov qword [rsp + 96], rdi WORD $0x894c; BYTE $0xc7 // mov rdi, r8 @@ -49902,7 +51379,7 @@ LBB10_192: QUAD $0x0d2e0c203a0f4666 // pinsrb xmm9, byte [rsi + r13], 13 LONG $0x244c8b48; BYTE $0x10 // mov rcx, qword [rsp + 16] QUAD $0x0e0e0c203a0f4466 // pinsrb xmm9, byte [rsi + rcx], 14 - QUAD $0x000000e024bc8948 // mov qword [rsp + 224], rdi + QUAD $0x000000d024bc8948 // mov qword [rsp + 208], rdi QUAD $0x0f3e0c203a0f4466 // pinsrb xmm9, byte [rsi + rdi], 15 QUAD $0x014024bc6f0f4466; WORD $0x0000 // movdqa xmm15, oword [rsp + 320] LONG $0x6f0f4566; BYTE $0xdf // movdqa xmm11, xmm15 @@ -49981,7 +51458,7 @@ LBB10_192: LONG $0x244c8b48; BYTE $0x10 // mov rcx, qword [rsp + 16] QUAD $0x0e040e74203a0f66 // pinsrb xmm6, byte [rsi + rcx + 4], 14 QUAD $0x0f043e74203a0f66 // pinsrb xmm6, byte [rsi + rdi + 4], 15 - QUAD $0x000090249c6f0f66; BYTE $0x00 // movdqa xmm3, oword [rsp + 144] + LONG $0x5c6f0f66; WORD $0x7024 // movdqa xmm3, oword [rsp + 112] LONG $0x244c8b48; BYTE $0x50 // mov rcx, qword [rsp + 80] QUAD $0x01050e5c203a0f66 // pinsrb xmm3, byte [rsi + rcx + 5], 1 QUAD $0x052e5c203a0f4266; BYTE $0x02 // pinsrb xmm3, byte [rsi + r13 + 5], 2 @@ -50000,7 +51477,7 @@ LBB10_192: LONG $0x244c8b48; BYTE $0x10 // mov rcx, qword [rsp + 16] QUAD $0x0e050e5c203a0f66 // pinsrb xmm3, byte [rsi + rcx + 5], 14 QUAD $0x0f053e5c203a0f66 // pinsrb xmm3, byte [rsi + rdi + 5], 15 - QUAD $0x000090249c7f0f66; BYTE $0x00 // movdqa oword [rsp + 144], xmm3 + LONG $0x5c7f0f66; WORD $0x7024 // movdqa oword [rsp + 112], xmm3 LONG $0x247c8b48; BYTE $0x50 // mov rdi, qword [rsp + 80] QUAD $0x01063e7c203a0f66 // pinsrb xmm7, byte [rsi + rdi + 6], 1 WORD $0x894c; BYTE $0xe9 // mov rcx, r13 @@ -50033,7 +51510,7 @@ LBB10_192: LONG $0x244c8b48; BYTE $0x10 // mov rcx, qword [rsp + 16] QUAD $0x080e6c203a0f4466; BYTE $0x0e // pinsrb xmm13, byte [rsi + rcx + 8], 14 LONG $0x640f4566; BYTE $0xd9 // pcmpgtb xmm11, xmm9 - QUAD $0x000000e024bc8b48 // mov rdi, qword [rsp + 224] + QUAD $0x000000d024bc8b48 // mov rdi, qword [rsp + 208] QUAD $0x083e6c203a0f4466; BYTE $0x0f // pinsrb xmm13, byte [rsi + rdi + 8], 15 LONG $0x6f0f4566; BYTE $0xcf // movdqa xmm9, xmm15 LONG $0x640f4566; BYTE $0xcd // pcmpgtb xmm9, xmm13 @@ -50042,11 +51519,11 @@ LBB10_192: QUAD $0x100e74203a0f4466; BYTE $0x02 // pinsrb xmm14, byte [rsi + rcx + 16], 2 QUAD $0x100e74203a0f4666; BYTE $0x03 // pinsrb xmm14, byte [rsi + r9 + 16], 3 WORD $0x894d; BYTE $0xce // mov r14, r9 - QUAD $0x000000b0248c894c // mov qword [rsp + 176], r9 + QUAD $0x000000a0248c894c // mov qword [rsp + 160], r9 QUAD $0x00000080248c8b48 // mov rcx, qword [rsp + 128] QUAD $0x100e74203a0f4466; BYTE $0x04 // pinsrb xmm14, byte [rsi + rcx + 16], 4 QUAD $0x102674203a0f4666; BYTE $0x05 // pinsrb xmm14, byte [rsi + r12 + 16], 5 - QUAD $0x000000f024a4894c // mov qword [rsp + 240], r12 + QUAD $0x000000e024a4894c // mov qword [rsp + 224], r12 QUAD $0x103e74203a0f4666; BYTE $0x06 // pinsrb xmm14, byte [rsi + r15 + 16], 6 QUAD $0x101e74203a0f4466; BYTE $0x07 // pinsrb xmm14, byte [rsi + rbx + 16], 7 QUAD $0x101e74203a0f4666; BYTE $0x08 // pinsrb xmm14, byte [rsi + r11 + 16], 8 @@ -50054,7 +51531,7 @@ LBB10_192: QUAD $0x100674203a0f4466; BYTE $0x0a // pinsrb xmm14, byte [rsi + rax + 16], 10 WORD $0x8949; BYTE $0xc1 // mov r9, rax QUAD $0x101674203a0f4466; BYTE $0x0b // pinsrb xmm14, byte [rsi + rdx + 16], 11 - QUAD $0x000000c024948b48 // mov rdx, qword [rsp + 192] + QUAD $0x000000b024948b48 // mov rdx, qword [rsp + 176] QUAD $0x101674203a0f4466; BYTE $0x0c // pinsrb xmm14, byte [rsi + rdx + 16], 12 QUAD $0x100674203a0f4666; BYTE $0x0d // pinsrb xmm14, byte [rsi + r8 + 16], 13 LONG $0x246c8b4c; BYTE $0x10 // mov r13, qword [rsp + 16] @@ -50081,13 +51558,13 @@ LBB10_192: QUAD $0x182e6c203a0f4266; BYTE $0x0e // pinsrb xmm5, byte [rsi + r13 + 24], 14 QUAD $0x0f183e6c203a0f66 // pinsrb xmm5, byte [rsi + rdi + 24], 15 LONG $0x640f4166; BYTE $0xde // pcmpgtb xmm3, xmm14 - QUAD $0x000130249c7f0f66; BYTE $0x00 // movdqa oword [rsp + 304], xmm3 + QUAD $0x000150249c7f0f66; BYTE $0x00 // movdqa oword [rsp + 336], xmm3 LONG $0x6f0f4166; BYTE $0xdf // movdqa xmm3, xmm15 LONG $0xdd640f66 // pcmpgtb xmm3, xmm5 - QUAD $0x000100249c7f0f66; BYTE $0x00 // movdqa oword [rsp + 256], xmm3 + QUAD $0x000120249c7f0f66; BYTE $0x00 // movdqa oword [rsp + 288], xmm3 LONG $0x6f0f4166; BYTE $0xef // movdqa xmm5, xmm15 LONG $0xea640f66 // pcmpgtb xmm5, xmm2 - QUAD $0x000000d0248c8b48 // mov rcx, qword [rsp + 208] + QUAD $0x000000c0248c8b48 // mov rcx, qword [rsp + 192] LONG $0x0e54b60f; BYTE $0x0d // movzx edx, byte [rsi + rcx + 13] LONG $0xd26e0f66 // movd xmm2, edx QUAD $0x06067c203a0f4266; BYTE $0x0d // pinsrb xmm7, byte [rsi + r8 + 6], 13 @@ -50120,7 +51597,7 @@ LBB10_192: LONG $0xe8f80f66 // psubb xmm5, xmm0 LONG $0xeb0f4466; BYTE $0xf5 // por xmm14, xmm5 LONG $0x6f0f4166; BYTE $0xef // movdqa xmm5, xmm15 - QUAD $0x00009024ac640f66; BYTE $0x00 // pcmpgtb xmm5, oword [rsp + 144] + LONG $0x6c640f66; WORD $0x7024 // pcmpgtb xmm5, oword [rsp + 112] LONG $0x6f0f4566; BYTE $0xef // movdqa xmm13, xmm15 LONG $0x6f0f4566; BYTE $0xdf // movdqa xmm11, xmm15 LONG $0x640f4466; BYTE $0xef // pcmpgtb xmm13, xmm7 @@ -50133,16 +51610,16 @@ LBB10_192: LONG $0xeb0f4466; BYTE $0xed // por xmm13, xmm5 LONG $0x0e54b60f; BYTE $0x13 // movzx edx, byte [rsi + rcx + 19] LONG $0x6e0f4466; BYTE $0xfa // movd xmm15, edx - QUAD $0x00011024846f0f66; BYTE $0x00 // movdqa xmm0, oword [rsp + 272] + QUAD $0x00013024846f0f66; BYTE $0x00 // movdqa xmm0, oword [rsp + 304] LONG $0x247c8b48; BYTE $0x50 // mov rdi, qword [rsp + 80] QUAD $0x01073e44203a0f66 // pinsrb xmm0, byte [rsi + rdi + 7], 1 LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] QUAD $0x02070644203a0f66 // pinsrb xmm0, byte [rsi + rax + 7], 2 - QUAD $0x000000b0248c8b48 // mov rcx, qword [rsp + 176] + QUAD $0x000000a0248c8b48 // mov rcx, qword [rsp + 160] QUAD $0x03070e44203a0f66 // pinsrb xmm0, byte [rsi + rcx + 7], 3 QUAD $0x0000008024848b48 // mov rax, qword [rsp + 128] QUAD $0x04070644203a0f66 // pinsrb xmm0, byte [rsi + rax + 7], 4 - QUAD $0x000000f024bc8b4c // mov r15, qword [rsp + 240] + QUAD $0x000000e024bc8b4c // mov r15, qword [rsp + 224] QUAD $0x073e44203a0f4266; BYTE $0x05 // pinsrb xmm0, byte [rsi + r15 + 7], 5 QUAD $0x073644203a0f4266; BYTE $0x06 // pinsrb xmm0, byte [rsi + r14 + 7], 6 QUAD $0x07071e44203a0f66 // pinsrb xmm0, byte [rsi + rbx + 7], 7 @@ -50151,11 +51628,11 @@ LBB10_192: QUAD $0x070e44203a0f4266; BYTE $0x0a // pinsrb xmm0, byte [rsi + r9 + 7], 10 LONG $0x24548b48; BYTE $0x30 // mov rdx, qword [rsp + 48] QUAD $0x0b071644203a0f66 // pinsrb xmm0, byte [rsi + rdx + 7], 11 - QUAD $0x000000c024948b48 // mov rdx, qword [rsp + 192] + QUAD $0x000000b024948b48 // mov rdx, qword [rsp + 176] QUAD $0x0c071644203a0f66 // pinsrb xmm0, byte [rsi + rdx + 7], 12 QUAD $0x070644203a0f4266; BYTE $0x0d // pinsrb xmm0, byte [rsi + r8 + 7], 13 QUAD $0x072e44203a0f4266; BYTE $0x0e // pinsrb xmm0, byte [rsi + r13 + 7], 14 - QUAD $0x000000e024a48b4c // mov r12, qword [rsp + 224] + QUAD $0x000000d024a48b4c // mov r12, qword [rsp + 208] QUAD $0x072644203a0f4266; BYTE $0x0f // pinsrb xmm0, byte [rsi + r12 + 7], 15 QUAD $0x093e44203a0f4466; BYTE $0x01 // pinsrb xmm8, byte [rsi + rdi + 9], 1 LONG $0x246c8b4c; BYTE $0x20 // mov r13, qword [rsp + 32] @@ -50313,7 +51790,7 @@ LBB10_192: QUAD $0x121e7c203a0f4266; BYTE $0x08 // pinsrb xmm7, byte [rsi + r11 + 18], 8 QUAD $0x12167c203a0f4266; BYTE $0x09 // pinsrb xmm7, byte [rsi + r10 + 18], 9 QUAD $0x120e7c203a0f4266; BYTE $0x0a // pinsrb xmm7, byte [rsi + r9 + 18], 10 - QUAD $0x00000150248c894c // mov qword [rsp + 336], r9 + QUAD $0x00000110248c894c // mov qword [rsp + 272], r9 LONG $0x247c8b48; BYTE $0x30 // mov rdi, qword [rsp + 48] QUAD $0x0b123e7c203a0f66 // pinsrb xmm7, byte [rsi + rdi + 18], 11 QUAD $0x0c12167c203a0f66 // pinsrb xmm7, byte [rsi + rdx + 18], 12 @@ -50327,7 +51804,7 @@ LBB10_192: QUAD $0x132e7c203a0f4666; BYTE $0x02 // pinsrb xmm15, byte [rsi + r13 + 19], 2 QUAD $0x130e7c203a0f4466; BYTE $0x03 // pinsrb xmm15, byte [rsi + rcx + 19], 3 QUAD $0x13067c203a0f4466; BYTE $0x04 // pinsrb xmm15, byte [rsi + rax + 19], 4 - QUAD $0x000000f0248c8b48 // mov rcx, qword [rsp + 240] + QUAD $0x000000e0248c8b48 // mov rcx, qword [rsp + 224] QUAD $0x130e7c203a0f4466; BYTE $0x05 // pinsrb xmm15, byte [rsi + rcx + 19], 5 QUAD $0x13367c203a0f4666; BYTE $0x06 // pinsrb xmm15, byte [rsi + r14 + 19], 6 QUAD $0x131e7c203a0f4466; BYTE $0x07 // pinsrb xmm15, byte [rsi + rbx + 19], 7 @@ -50340,11 +51817,11 @@ LBB10_192: LONG $0x456f0f66; BYTE $0x60 // movdqa xmm0, oword 96[rbp] /* [rip + .LCPI10_6] */ LONG $0xe8df0f66 // pandn xmm5, xmm0 LONG $0xeb0f4166; BYTE $0xed // por xmm5, xmm13 - QUAD $0x000000d024848b48 // mov rax, qword [rsp + 208] + QUAD $0x000000c024848b48 // mov rax, qword [rsp + 192] LONG $0x0654b60f; BYTE $0x14 // movzx edx, byte [rsi + rax + 20] LONG $0xc26e0f66 // movd xmm0, edx LONG $0xeb0f4166; BYTE $0xee // por xmm5, xmm14 - QUAD $0x00009024ac7f0f66; BYTE $0x00 // movdqa oword [rsp + 144], xmm5 + LONG $0x6c7f0f66; WORD $0x7024 // movdqa oword [rsp + 112], xmm5 LONG $0x6f0f4566; BYTE $0xeb // movdqa xmm13, xmm11 LONG $0x640f4566; BYTE $0xe8 // pcmpgtb xmm13, xmm8 LONG $0x0654b60f; BYTE $0x15 // movzx edx, byte [rsi + rax + 21] @@ -50398,7 +51875,7 @@ LBB10_192: LONG $0x0654b60f; BYTE $0x1d // movzx edx, byte [rsi + rax + 29] LONG $0xda6e0f66 // movd xmm3, edx QUAD $0x0001009ddf0f4466; BYTE $0x00 // pandn xmm11, oword 256[rbp] /* [rip + .LCPI10_16] */ - QUAD $0x0130249cfc0f4466; WORD $0x0000 // paddb xmm11, oword [rsp + 304] + QUAD $0x0150249cfc0f4466; WORD $0x0000 // paddb xmm11, oword [rsp + 336] LONG $0xcc6f0f66 // movdqa xmm1, xmm4 LONG $0xcf640f66 // pcmpgtb xmm1, xmm7 LONG $0x6f0f4466; BYTE $0xec // movdqa xmm13, xmm4 @@ -50434,7 +51911,7 @@ LBB10_192: QUAD $0x1d2e5c203a0f4266; BYTE $0x02 // pinsrb xmm3, byte [rsi + r13 + 29], 2 QUAD $0x1e2e64203a0f4266; BYTE $0x02 // pinsrb xmm4, byte [rsi + r13 + 30], 2 QUAD $0x1f2e7c203a0f4666; BYTE $0x02 // pinsrb xmm15, byte [rsi + r13 + 31], 2 - QUAD $0x000000b024948b48 // mov rdx, qword [rsp + 176] + QUAD $0x000000a024948b48 // mov rdx, qword [rsp + 160] QUAD $0x03141644203a0f66 // pinsrb xmm0, byte [rsi + rdx + 20], 3 QUAD $0x151644203a0f4466; BYTE $0x03 // pinsrb xmm8, byte [rsi + rdx + 21], 3 QUAD $0x161654203a0f4466; BYTE $0x03 // pinsrb xmm10, byte [rsi + rdx + 22], 3 @@ -50480,7 +51957,6 @@ LBB10_192: QUAD $0x1d365c203a0f4266; BYTE $0x06 // pinsrb xmm3, byte [rsi + r14 + 29], 6 QUAD $0x1e3664203a0f4266; BYTE $0x06 // pinsrb xmm4, byte [rsi + r14 + 30], 6 QUAD $0x1f367c203a0f4666; BYTE $0x06 // pinsrb xmm15, byte [rsi + r14 + 31], 6 - QUAD $0x0000016024b48b4c // mov r14, qword [rsp + 352] QUAD $0x07141e44203a0f66 // pinsrb xmm0, byte [rsi + rbx + 20], 7 QUAD $0x151e44203a0f4466; BYTE $0x07 // pinsrb xmm8, byte [rsi + rbx + 21], 7 QUAD $0x161e54203a0f4466; BYTE $0x07 // pinsrb xmm10, byte [rsi + rbx + 22], 7 @@ -50514,7 +51990,7 @@ LBB10_192: QUAD $0x1d165c203a0f4266; BYTE $0x09 // pinsrb xmm3, byte [rsi + r10 + 29], 9 QUAD $0x1e1664203a0f4266; BYTE $0x09 // pinsrb xmm4, byte [rsi + r10 + 30], 9 QUAD $0x1f167c203a0f4666; BYTE $0x09 // pinsrb xmm15, byte [rsi + r10 + 31], 9 - QUAD $0x0000015024948b4c // mov r10, qword [rsp + 336] + QUAD $0x0000011024948b4c // mov r10, qword [rsp + 272] QUAD $0x141644203a0f4266; BYTE $0x0a // pinsrb xmm0, byte [rsi + r10 + 20], 10 QUAD $0x151644203a0f4666; BYTE $0x0a // pinsrb xmm8, byte [rsi + r10 + 21], 10 QUAD $0x161654203a0f4666; BYTE $0x0a // pinsrb xmm10, byte [rsi + r10 + 22], 10 @@ -50606,7 +52082,7 @@ LBB10_192: LONG $0x6f0f4166; BYTE $0xc8 // movdqa xmm1, xmm8 LONG $0x640f4166; BYTE $0xc9 // pcmpgtb xmm1, xmm9 QUAD $0x000001008ddf0f66 // pandn xmm1, oword 256[rbp] /* [rip + .LCPI10_16] */ - QUAD $0x000100248cfc0f66; BYTE $0x00 // paddb xmm1, oword [rsp + 256] + QUAD $0x000120248cfc0f66; BYTE $0x00 // paddb xmm1, oword [rsp + 288] LONG $0x6f0f4166; BYTE $0xe8 // movdqa xmm5, xmm8 LONG $0x640f4166; BYTE $0xec // pcmpgtb xmm5, xmm12 LONG $0x6f0f4166; BYTE $0xf8 // movdqa xmm7, xmm8 @@ -50626,6 +52102,7 @@ LBB10_192: LONG $0x6f0f4166; BYTE $0xd8 // movdqa xmm3, xmm8 LONG $0xdc640f66 // pcmpgtb xmm3, xmm4 QUAD $0x1f267c203a0f4666; BYTE $0x0f // pinsrb xmm15, byte [rsi + r12 + 31], 15 + QUAD $0x0000016024b48b4c // mov r14, qword [rsp + 352] LONG $0xdf0f4166; BYTE $0xca // pandn xmm1, xmm10 LONG $0xdf0f4166; BYTE $0xdb // pandn xmm3, xmm11 LONG $0xd9eb0f66 // por xmm3, xmm1 @@ -50636,7 +52113,7 @@ LBB10_192: LONG $0xcaeb0f66 // por xmm1, xmm2 LONG $0xd06f0f66 // movdqa xmm2, xmm0 LONG $0xd1600f66 // punpcklbw xmm2, xmm1 - QUAD $0x00009024ac6f0f66; BYTE $0x00 // movdqa xmm5, oword [rsp + 144] + LONG $0x6c6f0f66; WORD $0x7024 // movdqa xmm5, oword [rsp + 112] LONG $0xdd6f0f66 // movdqa xmm3, xmm5 LONG $0x600f4166; BYTE $0xde // punpcklbw xmm3, xmm14 LONG $0xe36f0f66 // movdqa xmm4, xmm3 @@ -50647,24 +52124,24 @@ LBB10_192: LONG $0xcd6f0f66 // movdqa xmm1, xmm5 LONG $0xc8610f66 // punpcklwd xmm1, xmm0 LONG $0xe8690f66 // punpckhwd xmm5, xmm0 - QUAD $0x00000120248c8b48 // mov rcx, qword [rsp + 288] + QUAD $0x00000100248c8b48 // mov rcx, qword [rsp + 256] LONG $0x7f0f41f3; WORD $0x8e6c; BYTE $0x30 // movdqu oword [r14 + 4*rcx + 48], xmm5 LONG $0x7f0f41f3; WORD $0x8e4c; BYTE $0x20 // movdqu oword [r14 + 4*rcx + 32], xmm1 LONG $0x7f0f41f3; WORD $0x8e5c; BYTE $0x10 // movdqu oword [r14 + 4*rcx + 16], xmm3 LONG $0x7f0f41f3; WORD $0x8e24 // movdqu oword [r14 + 4*rcx], xmm4 LONG $0x10c18348 // add rcx, 16 WORD $0x8949; BYTE $0xc8 // mov r8, rcx - QUAD $0x000000a0248c3b48 // cmp rcx, qword [rsp + 160] - JNE LBB10_192 + QUAD $0x000000f0248c3b48 // cmp rcx, qword [rsp + 240] + JNE LBB10_86 QUAD $0x000001b024bc8b4c // mov r15, qword [rsp + 432] - QUAD $0x000000a024bc3b4c // cmp r15, qword [rsp + 160] + QUAD $0x000000f024bc3b4c // cmp r15, qword [rsp + 240] LONG $0x245c8a44; BYTE $0x08 // mov r11b, byte [rsp + 8] QUAD $0x0000017024b48b48 // mov rsi, qword [rsp + 368] LONG $0x24548b4c; BYTE $0x48 // mov r10, qword [rsp + 72] - JNE LBB10_42 - JMP LBB10_128 + JNE LBB10_88 + JMP LBB10_91 -LBB10_194: +LBB10_66: LONG $0xf0e78349 // and r15, -16 WORD $0x894c; BYTE $0xf8 // mov rax, r15 LONG $0x05e0c148 // shl rax, 5 @@ -50672,256 +52149,265 @@ LBB10_194: QUAD $0x0000018824848948 // mov qword [rsp + 392], rax QUAD $0x000001a024bc894c // mov qword [rsp + 416], r15 LONG $0xbe048d4b // lea rax, [r14 + 4*r15] - QUAD $0x000000d024848948 // mov qword [rsp + 208], rax + QUAD $0x000000e024848948 // mov qword [rsp + 224], rax LONG $0xc3b60f41 // movzx eax, r11b LONG $0xc86e0f66 // movd xmm1, eax LONG $0xc0ef0f66 // pxor xmm0, xmm0 LONG $0x00380f66; BYTE $0xc8 // pshufb xmm1, xmm0 QUAD $0x000190248c7f0f66; BYTE $0x00 // movdqa oword [rsp + 400], xmm1 - WORD $0xd231 // xor edx, edx + WORD $0xc031 // xor eax, eax QUAD $0x0000016024b4894c // mov qword [rsp + 352], r14 -LBB10_195: - QUAD $0x0000015024948948 // mov qword [rsp + 336], rdx - LONG $0x05e2c148 // shl rdx, 5 - WORD $0x8948; BYTE $0xd3 // mov rbx, rdx - WORD $0x8949; BYTE $0xd3 // mov r11, rdx - WORD $0x8949; BYTE $0xd4 // mov r12, rdx - QUAD $0x0000009024948948 // mov qword [rsp + 144], rdx - WORD $0x8949; BYTE $0xd0 // mov r8, rdx - WORD $0x8949; BYTE $0xd5 // mov r13, rdx - WORD $0x8949; BYTE $0xd1 // mov r9, rdx - WORD $0x8949; BYTE $0xd2 // mov r10, rdx - WORD $0x8949; BYTE $0xd6 // mov r14, rdx - WORD $0x8948; BYTE $0xd7 // mov rdi, rdx - WORD $0x8949; BYTE $0xd7 // mov r15, rdx - LONG $0x160cb60f // movzx ecx, byte [rsi + rdx] +LBB10_67: + WORD $0x8949; BYTE $0xc1 // mov r9, rax + QUAD $0x0000015024848948 // mov qword [rsp + 336], rax + LONG $0x05e1c149 // shl r9, 5 + WORD $0x894c; BYTE $0xcb // mov rbx, r9 + WORD $0x894c; BYTE $0xcf // mov rdi, r9 + WORD $0x894c; BYTE $0xca // mov rdx, r9 + LONG $0x244c894c; BYTE $0x30 // mov qword [rsp + 48], r9 + WORD $0x894d; BYTE $0xce // mov r14, r9 + WORD $0x894d; BYTE $0xc8 // mov r8, r9 + WORD $0x894d; BYTE $0xca // mov r10, r9 + WORD $0x894d; BYTE $0xcc // mov r12, r9 + WORD $0x894d; BYTE $0xcb // mov r11, r9 + WORD $0x894d; BYTE $0xcd // mov r13, r9 + QUAD $0x000000d0248c894c // mov qword [rsp + 208], r9 + LONG $0x0cb60f42; BYTE $0x0e // movzx ecx, byte [rsi + r9] LONG $0xc16e0f66 // movd xmm0, ecx - LONG $0x164cb60f; BYTE $0x01 // movzx ecx, byte [rsi + rdx + 1] + LONG $0x4cb60f42; WORD $0x010e // movzx ecx, byte [rsi + r9 + 1] LONG $0x6e0f4466; BYTE $0xd9 // movd xmm11, ecx - LONG $0x164cb60f; BYTE $0x02 // movzx ecx, byte [rsi + rdx + 2] + LONG $0x4cb60f42; WORD $0x020e // movzx ecx, byte [rsi + r9 + 2] LONG $0x6e0f4466; BYTE $0xf1 // movd xmm14, ecx - LONG $0x164cb60f; BYTE $0x03 // movzx ecx, byte [rsi + rdx + 3] + LONG $0x4cb60f42; WORD $0x030e // movzx ecx, byte [rsi + r9 + 3] LONG $0xe96e0f66 // movd xmm5, ecx - LONG $0x164cb60f; BYTE $0x04 // movzx ecx, byte [rsi + rdx + 4] + LONG $0x4cb60f42; WORD $0x040e // movzx ecx, byte [rsi + r9 + 4] LONG $0xd96e0f66 // movd xmm3, ecx - LONG $0x164cb60f; BYTE $0x05 // movzx ecx, byte [rsi + rdx + 5] + LONG $0x4cb60f42; WORD $0x050e // movzx ecx, byte [rsi + r9 + 5] LONG $0xc96e0f66 // movd xmm1, ecx - LONG $0x164cb60f; BYTE $0x06 // movzx ecx, byte [rsi + rdx + 6] + LONG $0x4cb60f42; WORD $0x060e // movzx ecx, byte [rsi + r9 + 6] LONG $0xe16e0f66 // movd xmm4, ecx - LONG $0x164cb60f; BYTE $0x07 // movzx ecx, byte [rsi + rdx + 7] + LONG $0x4cb60f42; WORD $0x070e // movzx ecx, byte [rsi + r9 + 7] LONG $0xd16e0f66 // movd xmm2, ecx - QUAD $0x00017024947f0f66; BYTE $0x00 // movdqa oword [rsp + 368], xmm2 - LONG $0x164cb60f; BYTE $0x08 // movzx ecx, byte [rsi + rdx + 8] + QUAD $0x00014024947f0f66; BYTE $0x00 // movdqa oword [rsp + 320], xmm2 + LONG $0x4cb60f42; WORD $0x080e // movzx ecx, byte [rsi + r9 + 8] LONG $0x6e0f4466; BYTE $0xe9 // movd xmm13, ecx - LONG $0x164cb60f; BYTE $0x09 // movzx ecx, byte [rsi + rdx + 9] + LONG $0x4cb60f42; WORD $0x090e // movzx ecx, byte [rsi + r9 + 9] LONG $0xd16e0f66 // movd xmm2, ecx - QUAD $0x0000a024947f0f66; BYTE $0x00 // movdqa oword [rsp + 160], xmm2 - LONG $0x164cb60f; BYTE $0x0a // movzx ecx, byte [rsi + rdx + 10] + QUAD $0x00011024947f0f66; BYTE $0x00 // movdqa oword [rsp + 272], xmm2 + LONG $0x4cb60f42; WORD $0x0a0e // movzx ecx, byte [rsi + r9 + 10] LONG $0x6e0f4466; BYTE $0xc1 // movd xmm8, ecx - LONG $0x164cb60f; BYTE $0x0b // movzx ecx, byte [rsi + rdx + 11] + LONG $0x4cb60f42; WORD $0x0b0e // movzx ecx, byte [rsi + r9 + 11] LONG $0x6e0f4466; BYTE $0xd1 // movd xmm10, ecx - LONG $0x164cb60f; BYTE $0x0c // movzx ecx, byte [rsi + rdx + 12] + LONG $0x4cb60f42; WORD $0x0c0e // movzx ecx, byte [rsi + r9 + 12] LONG $0xf16e0f66 // movd xmm6, ecx - LONG $0x164cb60f; BYTE $0x10 // movzx ecx, byte [rsi + rdx + 16] + LONG $0x4cb60f42; WORD $0x100e // movzx ecx, byte [rsi + r9 + 16] LONG $0x6e0f4466; BYTE $0xe1 // movd xmm12, ecx - LONG $0x164cb60f; BYTE $0x18 // movzx ecx, byte [rsi + rdx + 24] + LONG $0x4cb60f42; WORD $0x180e // movzx ecx, byte [rsi + r9 + 24] LONG $0xd16e0f66 // movd xmm2, ecx - QUAD $0x0000008024948948 // mov qword [rsp + 128], rdx - WORD $0x8948; BYTE $0xd0 // mov rax, rdx - LONG $0x20c88348 // or rax, 32 - LONG $0x24448948; BYTE $0x20 // mov qword [rsp + 32], rax + QUAD $0x00000090248c894c // mov qword [rsp + 144], r9 + WORD $0x894d; BYTE $0xcf // mov r15, r9 + LONG $0x20cf8349 // or r15, 32 + LONG $0x247c894c; BYTE $0x50 // mov qword [rsp + 80], r15 LONG $0x40cb8348 // or rbx, 64 - LONG $0x60cb8349 // or r11, 96 - QUAD $0x00000120249c894c // mov qword [rsp + 288], r11 - LONG $0x80cc8149; WORD $0x0000; BYTE $0x00 // or r12, 128 - LONG $0x2464894c; BYTE $0x60 // mov qword [rsp + 96], r12 - QUAD $0x00000090248c8148; LONG $0x000000a0 // or qword [rsp + 144], 160 - LONG $0xc0c88149; WORD $0x0000; BYTE $0x00 // or r8, 192 - LONG $0xe0cd8149; WORD $0x0000; BYTE $0x00 // or r13, 224 - QUAD $0x0000013024ac894c // mov qword [rsp + 304], r13 - LONG $0x00c98149; WORD $0x0001; BYTE $0x00 // or r9, 256 - LONG $0x20ca8149; WORD $0x0001; BYTE $0x00 // or r10, 288 - QUAD $0x000001102494894c // mov qword [rsp + 272], r10 - LONG $0x40ce8149; WORD $0x0001; BYTE $0x00 // or r14, 320 - LONG $0x60cf8148; WORD $0x0001; BYTE $0x00 // or rdi, 352 - LONG $0x247c8948; BYTE $0x50 // mov qword [rsp + 80], rdi - LONG $0x80cf8149; WORD $0x0001; BYTE $0x00 // or r15, 384 - WORD $0x8948; BYTE $0xd0 // mov rax, rdx + QUAD $0x00000080249c8948 // mov qword [rsp + 128], rbx + LONG $0x60cf8348 // or rdi, 96 + QUAD $0x000000c024bc8948 // mov qword [rsp + 192], rdi + LONG $0x80ca8148; WORD $0x0000; BYTE $0x00 // or rdx, 128 + LONG $0x24548948; BYTE $0x70 // mov qword [rsp + 112], rdx + LONG $0x244c8b48; BYTE $0x30 // mov rcx, qword [rsp + 48] + LONG $0xa0c98148; WORD $0x0000; BYTE $0x00 // or rcx, 160 + LONG $0xc0ce8149; WORD $0x0000; BYTE $0x00 // or r14, 192 + LONG $0xe0c88149; WORD $0x0000; BYTE $0x00 // or r8, 224 + LONG $0x00ca8149; WORD $0x0001; BYTE $0x00 // or r10, 256 + LONG $0x20cc8149; WORD $0x0001; BYTE $0x00 // or r12, 288 + LONG $0x40cb8149; WORD $0x0001; BYTE $0x00 // or r11, 320 + LONG $0x60cd8149; WORD $0x0001; BYTE $0x00 // or r13, 352 + QUAD $0x000000a024ac894c // mov qword [rsp + 160], r13 + QUAD $0x000000d024ac8b4c // mov r13, qword [rsp + 208] + LONG $0x80cd8149; WORD $0x0001; BYTE $0x00 // or r13, 384 + QUAD $0x000000d024ac894c // mov qword [rsp + 208], r13 + WORD $0x894c; BYTE $0xc8 // mov rax, r9 LONG $0x01a00d48; WORD $0x0000 // or rax, 416 - WORD $0x8948; BYTE $0xd1 // mov rcx, rdx - LONG $0x24548948; BYTE $0x10 // mov qword [rsp + 16], rdx - QUAD $0x0001c010244c8148; BYTE $0x00 // or qword [rsp + 16], 448 - LONG $0xe0ca8148; WORD $0x0001; BYTE $0x00 // or rdx, 480 - LONG $0x24548948; BYTE $0x30 // mov qword [rsp + 48], rdx - LONG $0x244c8b48; BYTE $0x20 // mov rcx, qword [rsp + 32] - LONG $0x203a0f66; WORD $0x0e04; BYTE $0x01 // pinsrb xmm0, byte [rsi + rcx], 1 + LONG $0x24448948; BYTE $0x60 // mov qword [rsp + 96], rax + WORD $0x894c; BYTE $0xc8 // mov rax, r9 + LONG $0x01c00d48; WORD $0x0000 // or rax, 448 + LONG $0x24448948; BYTE $0x10 // mov qword [rsp + 16], rax + WORD $0x894c; BYTE $0xc8 // mov rax, r9 + LONG $0x01e00d48; WORD $0x0000 // or rax, 480 + LONG $0x24448948; BYTE $0x20 // mov qword [rsp + 32], rax + QUAD $0x013e04203a0f4266 // pinsrb xmm0, byte [rsi + r15], 1 LONG $0x203a0f66; WORD $0x1e04; BYTE $0x02 // pinsrb xmm0, byte [rsi + rbx], 2 - QUAD $0x031e04203a0f4266 // pinsrb xmm0, byte [rsi + r11], 3 - QUAD $0x042604203a0f4266 // pinsrb xmm0, byte [rsi + r12], 4 - QUAD $0x00000090249c8b4c // mov r11, qword [rsp + 144] - QUAD $0x051e04203a0f4266 // pinsrb xmm0, byte [rsi + r11], 5 - WORD $0x894c; BYTE $0xc2 // mov rdx, r8 - QUAD $0x060604203a0f4266 // pinsrb xmm0, byte [rsi + r8], 6 - QUAD $0x072e04203a0f4266 // pinsrb xmm0, byte [rsi + r13], 7 - QUAD $0x080e04203a0f4266 // pinsrb xmm0, byte [rsi + r9], 8 - WORD $0x894d; BYTE $0xc8 // mov r8, r9 - QUAD $0x000000e0248c894c // mov qword [rsp + 224], r9 - QUAD $0x091604203a0f4266 // pinsrb xmm0, byte [rsi + r10], 9 - WORD $0x894d; BYTE $0xf1 // mov r9, r14 - QUAD $0x0a3604203a0f4266 // pinsrb xmm0, byte [rsi + r14], 10 - LONG $0x203a0f66; WORD $0x3e04; BYTE $0x0b // pinsrb xmm0, byte [rsi + rdi], 11 - QUAD $0x0c3e04203a0f4266 // pinsrb xmm0, byte [rsi + r15], 12 - LONG $0x203a0f66; WORD $0x0604; BYTE $0x0d // pinsrb xmm0, byte [rsi + rax], 13 + LONG $0x203a0f66; WORD $0x3e04; BYTE $0x03 // pinsrb xmm0, byte [rsi + rdi], 3 + LONG $0x203a0f66; WORD $0x1604; BYTE $0x04 // pinsrb xmm0, byte [rsi + rdx], 4 + LONG $0x244c8948; BYTE $0x30 // mov qword [rsp + 48], rcx + LONG $0x203a0f66; WORD $0x0e04; BYTE $0x05 // pinsrb xmm0, byte [rsi + rcx], 5 + QUAD $0x063604203a0f4266 // pinsrb xmm0, byte [rsi + r14], 6 + QUAD $0x070604203a0f4266 // pinsrb xmm0, byte [rsi + r8], 7 + WORD $0x894d; BYTE $0xd1 // mov r9, r10 + QUAD $0x081604203a0f4266 // pinsrb xmm0, byte [rsi + r10], 8 + QUAD $0x092604203a0f4266 // pinsrb xmm0, byte [rsi + r12], 9 + QUAD $0x0a1e04203a0f4266 // pinsrb xmm0, byte [rsi + r11], 10 + QUAD $0x000000a024bc8b4c // mov r15, qword [rsp + 160] + QUAD $0x0b3e04203a0f4266 // pinsrb xmm0, byte [rsi + r15], 11 + QUAD $0x0c2e04203a0f4266 // pinsrb xmm0, byte [rsi + r13], 12 + LONG $0x247c8b48; BYTE $0x60 // mov rdi, qword [rsp + 96] + LONG $0x203a0f66; WORD $0x3e04; BYTE $0x0d // pinsrb xmm0, byte [rsi + rdi], 13 LONG $0x244c8b48; BYTE $0x10 // mov rcx, qword [rsp + 16] LONG $0x203a0f66; WORD $0x0e04; BYTE $0x0e // pinsrb xmm0, byte [rsi + rcx], 14 - LONG $0x244c8b48; BYTE $0x30 // mov rcx, qword [rsp + 48] - LONG $0x203a0f66; WORD $0x0e04; BYTE $0x0f // pinsrb xmm0, byte [rsi + rcx], 15 + LONG $0x203a0f66; WORD $0x0604; BYTE $0x0f // pinsrb xmm0, byte [rsi + rax], 15 LONG $0x6f0f4466; BYTE $0xc8 // movdqa xmm9, xmm0 QUAD $0x00019024bc6f0f66; BYTE $0x00 // movdqa xmm7, oword [rsp + 400] LONG $0xde0f4466; BYTE $0xcf // pmaxub xmm9, xmm7 LONG $0x6f0f4466; BYTE $0xff // movdqa xmm15, xmm7 LONG $0x740f4466; BYTE $0xc8 // pcmpeqb xmm9, xmm0 LONG $0x6f0f4166; BYTE $0xc1 // movdqa xmm0, xmm9 - LONG $0x244c8b48; BYTE $0x20 // mov rcx, qword [rsp + 32] - QUAD $0x010e5c203a0f4466; BYTE $0x01 // pinsrb xmm11, byte [rsi + rcx + 1], 1 + LONG $0x24548b4c; BYTE $0x50 // mov r10, qword [rsp + 80] + QUAD $0x01165c203a0f4666; BYTE $0x01 // pinsrb xmm11, byte [rsi + r10 + 1], 1 QUAD $0x011e5c203a0f4466; BYTE $0x02 // pinsrb xmm11, byte [rsi + rbx + 1], 2 - QUAD $0x0000012024b48b4c // mov r14, qword [rsp + 288] - QUAD $0x01365c203a0f4666; BYTE $0x03 // pinsrb xmm11, byte [rsi + r14 + 1], 3 - QUAD $0x01265c203a0f4666; BYTE $0x04 // pinsrb xmm11, byte [rsi + r12 + 1], 4 - QUAD $0x011e5c203a0f4666; BYTE $0x05 // pinsrb xmm11, byte [rsi + r11 + 1], 5 - QUAD $0x01165c203a0f4466; BYTE $0x06 // pinsrb xmm11, byte [rsi + rdx + 1], 6 - QUAD $0x012e5c203a0f4666; BYTE $0x07 // pinsrb xmm11, byte [rsi + r13 + 1], 7 - QUAD $0x01065c203a0f4666; BYTE $0x08 // pinsrb xmm11, byte [rsi + r8 + 1], 8 - QUAD $0x01165c203a0f4666; BYTE $0x09 // pinsrb xmm11, byte [rsi + r10 + 1], 9 - QUAD $0x010e5c203a0f4666; BYTE $0x0a // pinsrb xmm11, byte [rsi + r9 + 1], 10 - QUAD $0x013e5c203a0f4466; BYTE $0x0b // pinsrb xmm11, byte [rsi + rdi + 1], 11 - QUAD $0x013e5c203a0f4666; BYTE $0x0c // pinsrb xmm11, byte [rsi + r15 + 1], 12 - QUAD $0x01065c203a0f4466; BYTE $0x0d // pinsrb xmm11, byte [rsi + rax + 1], 13 - LONG $0x24448b4c; BYTE $0x10 // mov r8, qword [rsp + 16] - QUAD $0x01065c203a0f4666; BYTE $0x0e // pinsrb xmm11, byte [rsi + r8 + 1], 14 - LONG $0x24448b4c; BYTE $0x30 // mov r8, qword [rsp + 48] - QUAD $0x01065c203a0f4666; BYTE $0x0f // pinsrb xmm11, byte [rsi + r8 + 1], 15 - QUAD $0x080e6c203a0f4466; BYTE $0x01 // pinsrb xmm13, byte [rsi + rcx + 8], 1 + QUAD $0x000000c024ac8b4c // mov r13, qword [rsp + 192] + QUAD $0x012e5c203a0f4666; BYTE $0x03 // pinsrb xmm11, byte [rsi + r13 + 1], 3 + QUAD $0x01165c203a0f4466; BYTE $0x04 // pinsrb xmm11, byte [rsi + rdx + 1], 4 + LONG $0x244c8b48; BYTE $0x30 // mov rcx, qword [rsp + 48] + QUAD $0x010e5c203a0f4466; BYTE $0x05 // pinsrb xmm11, byte [rsi + rcx + 1], 5 + QUAD $0x01365c203a0f4666; BYTE $0x06 // pinsrb xmm11, byte [rsi + r14 + 1], 6 + QUAD $0x01065c203a0f4666; BYTE $0x07 // pinsrb xmm11, byte [rsi + r8 + 1], 7 + QUAD $0x010e5c203a0f4666; BYTE $0x08 // pinsrb xmm11, byte [rsi + r9 + 1], 8 + WORD $0x894c; BYTE $0xe0 // mov rax, r12 + QUAD $0x0000013024a4894c // mov qword [rsp + 304], r12 + QUAD $0x01265c203a0f4666; BYTE $0x09 // pinsrb xmm11, byte [rsi + r12 + 1], 9 + QUAD $0x011e5c203a0f4666; BYTE $0x0a // pinsrb xmm11, byte [rsi + r11 + 1], 10 + QUAD $0x013e5c203a0f4666; BYTE $0x0b // pinsrb xmm11, byte [rsi + r15 + 1], 11 + QUAD $0x000000d024a48b4c // mov r12, qword [rsp + 208] + QUAD $0x01265c203a0f4666; BYTE $0x0c // pinsrb xmm11, byte [rsi + r12 + 1], 12 + QUAD $0x013e5c203a0f4466; BYTE $0x0d // pinsrb xmm11, byte [rsi + rdi + 1], 13 + LONG $0x24648b4c; BYTE $0x10 // mov r12, qword [rsp + 16] + QUAD $0x01265c203a0f4666; BYTE $0x0e // pinsrb xmm11, byte [rsi + r12 + 1], 14 + LONG $0x247c8b48; BYTE $0x20 // mov rdi, qword [rsp + 32] + QUAD $0x013e5c203a0f4466; BYTE $0x0f // pinsrb xmm11, byte [rsi + rdi + 1], 15 + QUAD $0x08166c203a0f4666; BYTE $0x01 // pinsrb xmm13, byte [rsi + r10 + 8], 1 QUAD $0x081e6c203a0f4466; BYTE $0x02 // pinsrb xmm13, byte [rsi + rbx + 8], 2 - QUAD $0x08366c203a0f4666; BYTE $0x03 // pinsrb xmm13, byte [rsi + r14 + 8], 3 - QUAD $0x08266c203a0f4666; BYTE $0x04 // pinsrb xmm13, byte [rsi + r12 + 8], 4 - QUAD $0x081e6c203a0f4666; BYTE $0x05 // pinsrb xmm13, byte [rsi + r11 + 8], 5 - QUAD $0x08166c203a0f4466; BYTE $0x06 // pinsrb xmm13, byte [rsi + rdx + 8], 6 - QUAD $0x082e6c203a0f4666; BYTE $0x07 // pinsrb xmm13, byte [rsi + r13 + 8], 7 - QUAD $0x000000e024ac8b4c // mov r13, qword [rsp + 224] - QUAD $0x082e6c203a0f4666; BYTE $0x08 // pinsrb xmm13, byte [rsi + r13 + 8], 8 - QUAD $0x08166c203a0f4666; BYTE $0x09 // pinsrb xmm13, byte [rsi + r10 + 8], 9 - QUAD $0x080e6c203a0f4666; BYTE $0x0a // pinsrb xmm13, byte [rsi + r9 + 8], 10 - QUAD $0x083e6c203a0f4466; BYTE $0x0b // pinsrb xmm13, byte [rsi + rdi + 8], 11 - QUAD $0x083e6c203a0f4666; BYTE $0x0c // pinsrb xmm13, byte [rsi + r15 + 8], 12 + QUAD $0x082e6c203a0f4666; BYTE $0x03 // pinsrb xmm13, byte [rsi + r13 + 8], 3 + QUAD $0x08166c203a0f4466; BYTE $0x04 // pinsrb xmm13, byte [rsi + rdx + 8], 4 + QUAD $0x080e6c203a0f4466; BYTE $0x05 // pinsrb xmm13, byte [rsi + rcx + 8], 5 + QUAD $0x08366c203a0f4666; BYTE $0x06 // pinsrb xmm13, byte [rsi + r14 + 8], 6 + QUAD $0x08066c203a0f4666; BYTE $0x07 // pinsrb xmm13, byte [rsi + r8 + 8], 7 + QUAD $0x080e6c203a0f4666; BYTE $0x08 // pinsrb xmm13, byte [rsi + r9 + 8], 8 + QUAD $0x08066c203a0f4466; BYTE $0x09 // pinsrb xmm13, byte [rsi + rax + 8], 9 + QUAD $0x081e6c203a0f4666; BYTE $0x0a // pinsrb xmm13, byte [rsi + r11 + 8], 10 + QUAD $0x083e6c203a0f4666; BYTE $0x0b // pinsrb xmm13, byte [rsi + r15 + 8], 11 + QUAD $0x000000d024848b48 // mov rax, qword [rsp + 208] + QUAD $0x08066c203a0f4466; BYTE $0x0c // pinsrb xmm13, byte [rsi + rax + 8], 12 + WORD $0x8948; BYTE $0xc7 // mov rdi, rax + LONG $0x24448b48; BYTE $0x60 // mov rax, qword [rsp + 96] QUAD $0x08066c203a0f4466; BYTE $0x0d // pinsrb xmm13, byte [rsi + rax + 8], 13 - LONG $0x244c8b48; BYTE $0x10 // mov rcx, qword [rsp + 16] - QUAD $0x080e6c203a0f4466; BYTE $0x0e // pinsrb xmm13, byte [rsi + rcx + 8], 14 - QUAD $0x08066c203a0f4666; BYTE $0x0f // pinsrb xmm13, byte [rsi + r8 + 8], 15 + QUAD $0x08266c203a0f4666; BYTE $0x0e // pinsrb xmm13, byte [rsi + r12 + 8], 14 + LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] + QUAD $0x08066c203a0f4466; BYTE $0x0f // pinsrb xmm13, byte [rsi + rax + 8], 15 LONG $0x6f0f4566; BYTE $0xcd // movdqa xmm9, xmm13 LONG $0xde0f4466; BYTE $0xcf // pmaxub xmm9, xmm7 LONG $0x740f4566; BYTE $0xcd // pcmpeqb xmm9, xmm13 - LONG $0x247c8b48; BYTE $0x20 // mov rdi, qword [rsp + 32] - QUAD $0x103e64203a0f4466; BYTE $0x01 // pinsrb xmm12, byte [rsi + rdi + 16], 1 + QUAD $0x101664203a0f4666; BYTE $0x01 // pinsrb xmm12, byte [rsi + r10 + 16], 1 QUAD $0x101e64203a0f4466; BYTE $0x02 // pinsrb xmm12, byte [rsi + rbx + 16], 2 - WORD $0x8949; BYTE $0xda // mov r10, rbx - QUAD $0x103664203a0f4666; BYTE $0x03 // pinsrb xmm12, byte [rsi + r14 + 16], 3 - QUAD $0x102664203a0f4666; BYTE $0x04 // pinsrb xmm12, byte [rsi + r12 + 16], 4 - QUAD $0x101e64203a0f4666; BYTE $0x05 // pinsrb xmm12, byte [rsi + r11 + 16], 5 - QUAD $0x101664203a0f4466; BYTE $0x06 // pinsrb xmm12, byte [rsi + rdx + 16], 6 - WORD $0x8948; BYTE $0xd1 // mov rcx, rdx - QUAD $0x000000f024948948 // mov qword [rsp + 240], rdx - QUAD $0x00000130249c8b4c // mov r11, qword [rsp + 304] - QUAD $0x101e64203a0f4666; BYTE $0x07 // pinsrb xmm12, byte [rsi + r11 + 16], 7 - QUAD $0x102e64203a0f4666; BYTE $0x08 // pinsrb xmm12, byte [rsi + r13 + 16], 8 - WORD $0x894d; BYTE $0xe8 // mov r8, r13 - QUAD $0x0000011024ac8b4c // mov r13, qword [rsp + 272] - QUAD $0x102e64203a0f4666; BYTE $0x09 // pinsrb xmm12, byte [rsi + r13 + 16], 9 - QUAD $0x100e64203a0f4666; BYTE $0x0a // pinsrb xmm12, byte [rsi + r9 + 16], 10 - LONG $0x24548b48; BYTE $0x50 // mov rdx, qword [rsp + 80] - QUAD $0x101664203a0f4466; BYTE $0x0b // pinsrb xmm12, byte [rsi + rdx + 16], 11 - QUAD $0x103e64203a0f4666; BYTE $0x0c // pinsrb xmm12, byte [rsi + r15 + 16], 12 - QUAD $0x100664203a0f4466; BYTE $0x0d // pinsrb xmm12, byte [rsi + rax + 16], 13 - LONG $0x245c8b48; BYTE $0x10 // mov rbx, qword [rsp + 16] - QUAD $0x101e64203a0f4466; BYTE $0x0e // pinsrb xmm12, byte [rsi + rbx + 16], 14 - LONG $0x24648b4c; BYTE $0x30 // mov r12, qword [rsp + 48] - QUAD $0x102664203a0f4666; BYTE $0x0f // pinsrb xmm12, byte [rsi + r12 + 16], 15 + QUAD $0x102e64203a0f4666; BYTE $0x03 // pinsrb xmm12, byte [rsi + r13 + 16], 3 + QUAD $0x101664203a0f4466; BYTE $0x04 // pinsrb xmm12, byte [rsi + rdx + 16], 4 + QUAD $0x100e64203a0f4466; BYTE $0x05 // pinsrb xmm12, byte [rsi + rcx + 16], 5 + QUAD $0x103664203a0f4666; BYTE $0x06 // pinsrb xmm12, byte [rsi + r14 + 16], 6 + QUAD $0x100664203a0f4666; BYTE $0x07 // pinsrb xmm12, byte [rsi + r8 + 16], 7 + WORD $0x894c; BYTE $0xc2 // mov rdx, r8 + QUAD $0x000001b02484894c // mov qword [rsp + 432], r8 + QUAD $0x100e64203a0f4666; BYTE $0x08 // pinsrb xmm12, byte [rsi + r9 + 16], 8 + QUAD $0x0000013024a48b4c // mov r12, qword [rsp + 304] + QUAD $0x102664203a0f4666; BYTE $0x09 // pinsrb xmm12, byte [rsi + r12 + 16], 9 + QUAD $0x101e64203a0f4666; BYTE $0x0a // pinsrb xmm12, byte [rsi + r11 + 16], 10 + QUAD $0x000000b0249c894c // mov qword [rsp + 176], r11 + QUAD $0x103e64203a0f4666; BYTE $0x0b // pinsrb xmm12, byte [rsi + r15 + 16], 11 + WORD $0x8948; BYTE $0xf9 // mov rcx, rdi + QUAD $0x103e64203a0f4466; BYTE $0x0c // pinsrb xmm12, byte [rsi + rdi + 16], 12 + LONG $0x247c8b48; BYTE $0x60 // mov rdi, qword [rsp + 96] + QUAD $0x103e64203a0f4466; BYTE $0x0d // pinsrb xmm12, byte [rsi + rdi + 16], 13 + LONG $0x24448b4c; BYTE $0x10 // mov r8, qword [rsp + 16] + QUAD $0x100664203a0f4666; BYTE $0x0e // pinsrb xmm12, byte [rsi + r8 + 16], 14 + QUAD $0x100664203a0f4466; BYTE $0x0f // pinsrb xmm12, byte [rsi + rax + 16], 15 LONG $0x6f0f4166; BYTE $0xfc // movdqa xmm7, xmm12 LONG $0xde0f4166; BYTE $0xff // pmaxub xmm7, xmm15 LONG $0x740f4166; BYTE $0xfc // pcmpeqb xmm7, xmm12 - QUAD $0x0001b024bc7f0f66; BYTE $0x00 // movdqa oword [rsp + 432], xmm7 - QUAD $0x01183e54203a0f66 // pinsrb xmm2, byte [rsi + rdi + 24], 1 - QUAD $0x181654203a0f4266; BYTE $0x02 // pinsrb xmm2, byte [rsi + r10 + 24], 2 - QUAD $0x183654203a0f4266; BYTE $0x03 // pinsrb xmm2, byte [rsi + r14 + 24], 3 - LONG $0x247c8b48; BYTE $0x60 // mov rdi, qword [rsp + 96] - QUAD $0x04183e54203a0f66 // pinsrb xmm2, byte [rsi + rdi + 24], 4 - QUAD $0x0000009024b48b4c // mov r14, qword [rsp + 144] - QUAD $0x183654203a0f4266; BYTE $0x05 // pinsrb xmm2, byte [rsi + r14 + 24], 5 - QUAD $0x06180e54203a0f66 // pinsrb xmm2, byte [rsi + rcx + 24], 6 - QUAD $0x181e54203a0f4266; BYTE $0x07 // pinsrb xmm2, byte [rsi + r11 + 24], 7 - QUAD $0x180654203a0f4266; BYTE $0x08 // pinsrb xmm2, byte [rsi + r8 + 24], 8 - QUAD $0x182e54203a0f4266; BYTE $0x09 // pinsrb xmm2, byte [rsi + r13 + 24], 9 - QUAD $0x180e54203a0f4266; BYTE $0x0a // pinsrb xmm2, byte [rsi + r9 + 24], 10 - QUAD $0x0b181654203a0f66 // pinsrb xmm2, byte [rsi + rdx + 24], 11 - QUAD $0x183e54203a0f4266; BYTE $0x0c // pinsrb xmm2, byte [rsi + r15 + 24], 12 - QUAD $0x0d180654203a0f66 // pinsrb xmm2, byte [rsi + rax + 24], 13 - QUAD $0x0e181e54203a0f66 // pinsrb xmm2, byte [rsi + rbx + 24], 14 - QUAD $0x182654203a0f4266; BYTE $0x0f // pinsrb xmm2, byte [rsi + r12 + 24], 15 + QUAD $0x00017024bc7f0f66; BYTE $0x00 // movdqa oword [rsp + 368], xmm7 + QUAD $0x181654203a0f4266; BYTE $0x01 // pinsrb xmm2, byte [rsi + r10 + 24], 1 + QUAD $0x02181e54203a0f66 // pinsrb xmm2, byte [rsi + rbx + 24], 2 + QUAD $0x182e54203a0f4266; BYTE $0x03 // pinsrb xmm2, byte [rsi + r13 + 24], 3 + LONG $0x245c8b48; BYTE $0x70 // mov rbx, qword [rsp + 112] + QUAD $0x04181e54203a0f66 // pinsrb xmm2, byte [rsi + rbx + 24], 4 + LONG $0x24548b4c; BYTE $0x30 // mov r10, qword [rsp + 48] + QUAD $0x181654203a0f4266; BYTE $0x05 // pinsrb xmm2, byte [rsi + r10 + 24], 5 + QUAD $0x183654203a0f4266; BYTE $0x06 // pinsrb xmm2, byte [rsi + r14 + 24], 6 + QUAD $0x07181654203a0f66 // pinsrb xmm2, byte [rsi + rdx + 24], 7 + QUAD $0x180e54203a0f4266; BYTE $0x08 // pinsrb xmm2, byte [rsi + r9 + 24], 8 + QUAD $0x182654203a0f4266; BYTE $0x09 // pinsrb xmm2, byte [rsi + r12 + 24], 9 + QUAD $0x181e54203a0f4266; BYTE $0x0a // pinsrb xmm2, byte [rsi + r11 + 24], 10 + QUAD $0x183e54203a0f4266; BYTE $0x0b // pinsrb xmm2, byte [rsi + r15 + 24], 11 + WORD $0x894d; BYTE $0xfc // mov r12, r15 + QUAD $0x0c180e54203a0f66 // pinsrb xmm2, byte [rsi + rcx + 24], 12 + QUAD $0x0d183e54203a0f66 // pinsrb xmm2, byte [rsi + rdi + 24], 13 + QUAD $0x180654203a0f4266; BYTE $0x0e // pinsrb xmm2, byte [rsi + r8 + 24], 14 + WORD $0x894d; BYTE $0xc5 // mov r13, r8 + QUAD $0x0f180654203a0f66 // pinsrb xmm2, byte [rsi + rax + 24], 15 LONG $0xfa6f0f66 // movdqa xmm7, xmm2 LONG $0xde0f4166; BYTE $0xff // pmaxub xmm7, xmm15 LONG $0xfa740f66 // pcmpeqb xmm7, xmm2 - QUAD $0x00014024bc7f0f66; BYTE $0x00 // movdqa oword [rsp + 320], xmm7 + QUAD $0x0000f024bc7f0f66; BYTE $0x00 // movdqa oword [rsp + 240], xmm7 LONG $0x6f0f4566; BYTE $0xe3 // movdqa xmm12, xmm11 LONG $0x6f0f4566; BYTE $0xef // movdqa xmm13, xmm15 LONG $0xde0f4566; BYTE $0xe7 // pmaxub xmm12, xmm15 LONG $0x740f4566; BYTE $0xe3 // pcmpeqb xmm12, xmm11 - QUAD $0x0000008024948b48 // mov rdx, qword [rsp + 128] - LONG $0x1654b60f; BYTE $0x0d // movzx edx, byte [rsi + rdx + 13] + QUAD $0x0000009024848b48 // mov rax, qword [rsp + 144] + LONG $0x0654b60f; BYTE $0x0d // movzx edx, byte [rsi + rax + 13] LONG $0x6e0f4466; BYTE $0xfa // movd xmm15, edx - LONG $0x244c8b48; BYTE $0x20 // mov rcx, qword [rsp + 32] - QUAD $0x020e74203a0f4466; BYTE $0x01 // pinsrb xmm14, byte [rsi + rcx + 2], 1 - WORD $0x894c; BYTE $0xd3 // mov rbx, r10 - QUAD $0x021674203a0f4666; BYTE $0x02 // pinsrb xmm14, byte [rsi + r10 + 2], 2 - QUAD $0x0000012024948b4c // mov r10, qword [rsp + 288] - QUAD $0x021674203a0f4666; BYTE $0x03 // pinsrb xmm14, byte [rsi + r10 + 2], 3 - WORD $0x8948; BYTE $0xfa // mov rdx, rdi - QUAD $0x023e74203a0f4466; BYTE $0x04 // pinsrb xmm14, byte [rsi + rdi + 2], 4 - WORD $0x894c; BYTE $0xf1 // mov rcx, r14 - QUAD $0x023674203a0f4666; BYTE $0x05 // pinsrb xmm14, byte [rsi + r14 + 2], 5 - QUAD $0x000000f024bc8b48 // mov rdi, qword [rsp + 240] - QUAD $0x023e74203a0f4466; BYTE $0x06 // pinsrb xmm14, byte [rsi + rdi + 2], 6 - QUAD $0x021e74203a0f4666; BYTE $0x07 // pinsrb xmm14, byte [rsi + r11 + 2], 7 - QUAD $0x020674203a0f4666; BYTE $0x08 // pinsrb xmm14, byte [rsi + r8 + 2], 8 - QUAD $0x022e74203a0f4666; BYTE $0x09 // pinsrb xmm14, byte [rsi + r13 + 2], 9 - QUAD $0x020e74203a0f4666; BYTE $0x0a // pinsrb xmm14, byte [rsi + r9 + 2], 10 - LONG $0x24748b4c; BYTE $0x50 // mov r14, qword [rsp + 80] - QUAD $0x023674203a0f4666; BYTE $0x0b // pinsrb xmm14, byte [rsi + r14 + 2], 11 - QUAD $0x023e74203a0f4666; BYTE $0x0c // pinsrb xmm14, byte [rsi + r15 + 2], 12 - LONG $0x24448948; BYTE $0x70 // mov qword [rsp + 112], rax - QUAD $0x020674203a0f4466; BYTE $0x0d // pinsrb xmm14, byte [rsi + rax + 2], 13 + LONG $0x24448b4c; BYTE $0x50 // mov r8, qword [rsp + 80] + QUAD $0x020674203a0f4666; BYTE $0x01 // pinsrb xmm14, byte [rsi + r8 + 2], 1 + QUAD $0x0000008024bc8b4c // mov r15, qword [rsp + 128] + QUAD $0x023e74203a0f4666; BYTE $0x02 // pinsrb xmm14, byte [rsi + r15 + 2], 2 + QUAD $0x000000c024bc8b48 // mov rdi, qword [rsp + 192] + QUAD $0x023e74203a0f4466; BYTE $0x03 // pinsrb xmm14, byte [rsi + rdi + 2], 3 + WORD $0x8949; BYTE $0xdb // mov r11, rbx + QUAD $0x021e74203a0f4466; BYTE $0x04 // pinsrb xmm14, byte [rsi + rbx + 2], 4 + QUAD $0x021674203a0f4666; BYTE $0x05 // pinsrb xmm14, byte [rsi + r10 + 2], 5 + QUAD $0x023674203a0f4666; BYTE $0x06 // pinsrb xmm14, byte [rsi + r14 + 2], 6 + QUAD $0x000001b0249c8b48 // mov rbx, qword [rsp + 432] + QUAD $0x021e74203a0f4466; BYTE $0x07 // pinsrb xmm14, byte [rsi + rbx + 2], 7 + WORD $0x894c; BYTE $0xca // mov rdx, r9 + QUAD $0x00000100248c894c // mov qword [rsp + 256], r9 + QUAD $0x020e74203a0f4666; BYTE $0x08 // pinsrb xmm14, byte [rsi + r9 + 2], 8 + QUAD $0x00000130248c8b4c // mov r9, qword [rsp + 304] + QUAD $0x020e74203a0f4666; BYTE $0x09 // pinsrb xmm14, byte [rsi + r9 + 2], 9 + QUAD $0x000000b024848b48 // mov rax, qword [rsp + 176] + QUAD $0x020674203a0f4466; BYTE $0x0a // pinsrb xmm14, byte [rsi + rax + 2], 10 + QUAD $0x022674203a0f4666; BYTE $0x0b // pinsrb xmm14, byte [rsi + r12 + 2], 11 + WORD $0x8949; BYTE $0xcc // mov r12, rcx + QUAD $0x020e74203a0f4466; BYTE $0x0c // pinsrb xmm14, byte [rsi + rcx + 2], 12 + LONG $0x244c8b48; BYTE $0x60 // mov rcx, qword [rsp + 96] + QUAD $0x020e74203a0f4466; BYTE $0x0d // pinsrb xmm14, byte [rsi + rcx + 2], 13 + QUAD $0x022e74203a0f4666; BYTE $0x0e // pinsrb xmm14, byte [rsi + r13 + 2], 14 + LONG $0x246c8b4c; BYTE $0x20 // mov r13, qword [rsp + 32] + QUAD $0x022e74203a0f4666; BYTE $0x0f // pinsrb xmm14, byte [rsi + r13 + 2], 15 + QUAD $0x03066c203a0f4266; BYTE $0x01 // pinsrb xmm5, byte [rsi + r8 + 3], 1 + QUAD $0x033e6c203a0f4266; BYTE $0x02 // pinsrb xmm5, byte [rsi + r15 + 3], 2 + QUAD $0x03033e6c203a0f66 // pinsrb xmm5, byte [rsi + rdi + 3], 3 + WORD $0x8949; BYTE $0xf8 // mov r8, rdi + QUAD $0x031e6c203a0f4266; BYTE $0x04 // pinsrb xmm5, byte [rsi + r11 + 3], 4 + QUAD $0x03166c203a0f4266; BYTE $0x05 // pinsrb xmm5, byte [rsi + r10 + 3], 5 + QUAD $0x03366c203a0f4266; BYTE $0x06 // pinsrb xmm5, byte [rsi + r14 + 3], 6 + QUAD $0x07031e6c203a0f66 // pinsrb xmm5, byte [rsi + rbx + 3], 7 + QUAD $0x0803166c203a0f66 // pinsrb xmm5, byte [rsi + rdx + 3], 8 + QUAD $0x030e6c203a0f4266; BYTE $0x09 // pinsrb xmm5, byte [rsi + r9 + 3], 9 + QUAD $0x0a03066c203a0f66 // pinsrb xmm5, byte [rsi + rax + 3], 10 + QUAD $0x000000a024bc8b4c // mov r15, qword [rsp + 160] + QUAD $0x033e6c203a0f4266; BYTE $0x0b // pinsrb xmm5, byte [rsi + r15 + 3], 11 + QUAD $0x03266c203a0f4266; BYTE $0x0c // pinsrb xmm5, byte [rsi + r12 + 3], 12 + QUAD $0x0d030e6c203a0f66 // pinsrb xmm5, byte [rsi + rcx + 3], 13 LONG $0x24448b48; BYTE $0x10 // mov rax, qword [rsp + 16] - QUAD $0x020674203a0f4466; BYTE $0x0e // pinsrb xmm14, byte [rsi + rax + 2], 14 - QUAD $0x022674203a0f4666; BYTE $0x0f // pinsrb xmm14, byte [rsi + r12 + 2], 15 - LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] - QUAD $0x0103066c203a0f66 // pinsrb xmm5, byte [rsi + rax + 3], 1 - QUAD $0x02031e6c203a0f66 // pinsrb xmm5, byte [rsi + rbx + 3], 2 - QUAD $0x03166c203a0f4266; BYTE $0x03 // pinsrb xmm5, byte [rsi + r10 + 3], 3 - QUAD $0x0403166c203a0f66 // pinsrb xmm5, byte [rsi + rdx + 3], 4 - WORD $0x8948; BYTE $0xd0 // mov rax, rdx - QUAD $0x05030e6c203a0f66 // pinsrb xmm5, byte [rsi + rcx + 3], 5 - QUAD $0x06033e6c203a0f66 // pinsrb xmm5, byte [rsi + rdi + 3], 6 - QUAD $0x031e6c203a0f4266; BYTE $0x07 // pinsrb xmm5, byte [rsi + r11 + 3], 7 - QUAD $0x03066c203a0f4266; BYTE $0x08 // pinsrb xmm5, byte [rsi + r8 + 3], 8 - QUAD $0x032e6c203a0f4266; BYTE $0x09 // pinsrb xmm5, byte [rsi + r13 + 3], 9 - QUAD $0x030e6c203a0f4266; BYTE $0x0a // pinsrb xmm5, byte [rsi + r9 + 3], 10 - QUAD $0x03366c203a0f4266; BYTE $0x0b // pinsrb xmm5, byte [rsi + r14 + 3], 11 - QUAD $0x033e6c203a0f4266; BYTE $0x0c // pinsrb xmm5, byte [rsi + r15 + 3], 12 - LONG $0x24748b4c; BYTE $0x70 // mov r14, qword [rsp + 112] - QUAD $0x03366c203a0f4266; BYTE $0x0d // pinsrb xmm5, byte [rsi + r14 + 3], 13 - LONG $0x24548b48; BYTE $0x10 // mov rdx, qword [rsp + 16] - QUAD $0x0e03166c203a0f66 // pinsrb xmm5, byte [rsi + rdx + 3], 14 - QUAD $0x03266c203a0f4266; BYTE $0x0f // pinsrb xmm5, byte [rsi + r12 + 3], 15 + QUAD $0x0e03066c203a0f66 // pinsrb xmm5, byte [rsi + rax + 3], 14 + QUAD $0x032e6c203a0f4266; BYTE $0x0f // pinsrb xmm5, byte [rsi + r13 + 3], 15 QUAD $0x00000100956f0f66 // movdqa xmm2, oword 256[rbp] /* [rip + .LCPI10_16] */ LONG $0xdb0f4466; BYTE $0xe2 // pand xmm12, xmm2 LONG $0xf80f4466; BYTE $0xe0 // psubb xmm12, xmm0 @@ -50931,54 +52417,60 @@ LBB10_195: LONG $0xd56f0f66 // movdqa xmm2, xmm5 LONG $0xde0f4166; BYTE $0xd5 // pmaxub xmm2, xmm13 LONG $0xd5740f66 // pcmpeqb xmm2, xmm5 - QUAD $0x0000008024948b48 // mov rdx, qword [rsp + 128] - LONG $0x1654b60f; BYTE $0x0e // movzx edx, byte [rsi + rdx + 14] + QUAD $0x0000009024848b48 // mov rax, qword [rsp + 144] + LONG $0x0654b60f; BYTE $0x0e // movzx edx, byte [rsi + rax + 14] LONG $0x6e0f4466; BYTE $0xf2 // movd xmm14, edx - LONG $0x24648b4c; BYTE $0x20 // mov r12, qword [rsp + 32] - QUAD $0x04265c203a0f4266; BYTE $0x01 // pinsrb xmm3, byte [rsi + r12 + 4], 1 - QUAD $0x02041e5c203a0f66 // pinsrb xmm3, byte [rsi + rbx + 4], 2 - QUAD $0x04165c203a0f4266; BYTE $0x03 // pinsrb xmm3, byte [rsi + r10 + 4], 3 - QUAD $0x0404065c203a0f66 // pinsrb xmm3, byte [rsi + rax + 4], 4 - QUAD $0x05040e5c203a0f66 // pinsrb xmm3, byte [rsi + rcx + 4], 5 - QUAD $0x06043e5c203a0f66 // pinsrb xmm3, byte [rsi + rdi + 4], 6 - QUAD $0x041e5c203a0f4266; BYTE $0x07 // pinsrb xmm3, byte [rsi + r11 + 4], 7 - QUAD $0x04065c203a0f4266; BYTE $0x08 // pinsrb xmm3, byte [rsi + r8 + 4], 8 - QUAD $0x042e5c203a0f4266; BYTE $0x09 // pinsrb xmm3, byte [rsi + r13 + 4], 9 - QUAD $0x040e5c203a0f4266; BYTE $0x0a // pinsrb xmm3, byte [rsi + r9 + 4], 10 - LONG $0x24448b48; BYTE $0x50 // mov rax, qword [rsp + 80] - QUAD $0x0b04065c203a0f66 // pinsrb xmm3, byte [rsi + rax + 4], 11 - QUAD $0x000000c024bc894c // mov qword [rsp + 192], r15 - QUAD $0x043e5c203a0f4266; BYTE $0x0c // pinsrb xmm3, byte [rsi + r15 + 4], 12 - QUAD $0x04365c203a0f4266; BYTE $0x0d // pinsrb xmm3, byte [rsi + r14 + 4], 13 + LONG $0x247c8b48; BYTE $0x50 // mov rdi, qword [rsp + 80] + QUAD $0x01043e5c203a0f66 // pinsrb xmm3, byte [rsi + rdi + 4], 1 + QUAD $0x0000008024848b48 // mov rax, qword [rsp + 128] + QUAD $0x0204065c203a0f66 // pinsrb xmm3, byte [rsi + rax + 4], 2 + QUAD $0x04065c203a0f4266; BYTE $0x03 // pinsrb xmm3, byte [rsi + r8 + 4], 3 + QUAD $0x041e5c203a0f4266; BYTE $0x04 // pinsrb xmm3, byte [rsi + r11 + 4], 4 + WORD $0x894c; BYTE $0xd1 // mov rcx, r10 + QUAD $0x04165c203a0f4266; BYTE $0x05 // pinsrb xmm3, byte [rsi + r10 + 4], 5 + QUAD $0x04365c203a0f4266; BYTE $0x06 // pinsrb xmm3, byte [rsi + r14 + 4], 6 + QUAD $0x07041e5c203a0f66 // pinsrb xmm3, byte [rsi + rbx + 4], 7 + QUAD $0x0000010024948b4c // mov r10, qword [rsp + 256] + QUAD $0x04165c203a0f4266; BYTE $0x08 // pinsrb xmm3, byte [rsi + r10 + 4], 8 + QUAD $0x040e5c203a0f4266; BYTE $0x09 // pinsrb xmm3, byte [rsi + r9 + 4], 9 + QUAD $0x000000b024848b4c // mov r8, qword [rsp + 176] + QUAD $0x04065c203a0f4266; BYTE $0x0a // pinsrb xmm3, byte [rsi + r8 + 4], 10 + QUAD $0x043e5c203a0f4266; BYTE $0x0b // pinsrb xmm3, byte [rsi + r15 + 4], 11 + QUAD $0x04265c203a0f4266; BYTE $0x0c // pinsrb xmm3, byte [rsi + r12 + 4], 12 + LONG $0x245c8b4c; BYTE $0x60 // mov r11, qword [rsp + 96] + QUAD $0x041e5c203a0f4266; BYTE $0x0d // pinsrb xmm3, byte [rsi + r11 + 4], 13 LONG $0x24548b48; BYTE $0x10 // mov rdx, qword [rsp + 16] QUAD $0x0e04165c203a0f66 // pinsrb xmm3, byte [rsi + rdx + 4], 14 - LONG $0x24748b4c; BYTE $0x30 // mov r14, qword [rsp + 48] - QUAD $0x04365c203a0f4266; BYTE $0x0f // pinsrb xmm3, byte [rsi + r14 + 4], 15 - QUAD $0x05264c203a0f4266; BYTE $0x01 // pinsrb xmm1, byte [rsi + r12 + 5], 1 - QUAD $0x02051e4c203a0f66 // pinsrb xmm1, byte [rsi + rbx + 5], 2 - QUAD $0x05164c203a0f4266; BYTE $0x03 // pinsrb xmm1, byte [rsi + r10 + 5], 3 - LONG $0x24648b4c; BYTE $0x60 // mov r12, qword [rsp + 96] - QUAD $0x05264c203a0f4266; BYTE $0x04 // pinsrb xmm1, byte [rsi + r12 + 5], 4 + LONG $0x246c8b4c; BYTE $0x20 // mov r13, qword [rsp + 32] + QUAD $0x042e5c203a0f4266; BYTE $0x0f // pinsrb xmm3, byte [rsi + r13 + 4], 15 + QUAD $0x01053e4c203a0f66 // pinsrb xmm1, byte [rsi + rdi + 5], 1 + QUAD $0x0205064c203a0f66 // pinsrb xmm1, byte [rsi + rax + 5], 2 + QUAD $0x000000c024bc8b48 // mov rdi, qword [rsp + 192] + QUAD $0x03053e4c203a0f66 // pinsrb xmm1, byte [rsi + rdi + 5], 3 + LONG $0x247c8b48; BYTE $0x70 // mov rdi, qword [rsp + 112] + QUAD $0x04053e4c203a0f66 // pinsrb xmm1, byte [rsi + rdi + 5], 4 QUAD $0x05050e4c203a0f66 // pinsrb xmm1, byte [rsi + rcx + 5], 5 - QUAD $0x06053e4c203a0f66 // pinsrb xmm1, byte [rsi + rdi + 5], 6 - QUAD $0x051e4c203a0f4266; BYTE $0x07 // pinsrb xmm1, byte [rsi + r11 + 5], 7 - QUAD $0x05064c203a0f4266; BYTE $0x08 // pinsrb xmm1, byte [rsi + r8 + 5], 8 - QUAD $0x052e4c203a0f4266; BYTE $0x09 // pinsrb xmm1, byte [rsi + r13 + 5], 9 - QUAD $0x050e4c203a0f4266; BYTE $0x0a // pinsrb xmm1, byte [rsi + r9 + 5], 10 - QUAD $0x0b05064c203a0f66 // pinsrb xmm1, byte [rsi + rax + 5], 11 - QUAD $0x053e4c203a0f4266; BYTE $0x0c // pinsrb xmm1, byte [rsi + r15 + 5], 12 - LONG $0x24448b48; BYTE $0x70 // mov rax, qword [rsp + 112] - QUAD $0x0d05064c203a0f66 // pinsrb xmm1, byte [rsi + rax + 5], 13 + QUAD $0x05364c203a0f4266; BYTE $0x06 // pinsrb xmm1, byte [rsi + r14 + 5], 6 + QUAD $0x07051e4c203a0f66 // pinsrb xmm1, byte [rsi + rbx + 5], 7 + QUAD $0x05164c203a0f4266; BYTE $0x08 // pinsrb xmm1, byte [rsi + r10 + 5], 8 + WORD $0x894c; BYTE $0xd1 // mov rcx, r10 + QUAD $0x050e4c203a0f4266; BYTE $0x09 // pinsrb xmm1, byte [rsi + r9 + 5], 9 + QUAD $0x05064c203a0f4266; BYTE $0x0a // pinsrb xmm1, byte [rsi + r8 + 5], 10 + QUAD $0x053e4c203a0f4266; BYTE $0x0b // pinsrb xmm1, byte [rsi + r15 + 5], 11 + WORD $0x894d; BYTE $0xfa // mov r10, r15 + QUAD $0x05264c203a0f4266; BYTE $0x0c // pinsrb xmm1, byte [rsi + r12 + 5], 12 + QUAD $0x051e4c203a0f4266; BYTE $0x0d // pinsrb xmm1, byte [rsi + r11 + 5], 13 QUAD $0x0e05164c203a0f66 // pinsrb xmm1, byte [rsi + rdx + 5], 14 QUAD $0x00000110ad6f0f66 // movdqa xmm5, oword 272[rbp] /* [rip + .LCPI10_17] */ LONG $0xdb0f4466; BYTE $0xdd // pand xmm11, xmm5 QUAD $0x00000120ad6f0f66 // movdqa xmm5, oword 288[rbp] /* [rip + .LCPI10_18] */ LONG $0xd5db0f66 // pand xmm2, xmm5 LONG $0xeb0f4166; BYTE $0xd3 // por xmm2, xmm11 - QUAD $0x0000008024bc8b4c // mov r15, qword [rsp + 128] - LONG $0x54b60f42; WORD $0x0f3e // movzx edx, byte [rsi + r15 + 15] + QUAD $0x0000009024bc8b48 // mov rdi, qword [rsp + 144] + LONG $0x3e54b60f; BYTE $0x0f // movzx edx, byte [rsi + rdi + 15] LONG $0x6e0f4466; BYTE $0xda // movd xmm11, edx - QUAD $0x05364c203a0f4266; BYTE $0x0f // pinsrb xmm1, byte [rsi + r14 + 5], 15 + LONG $0x246c8b4c; BYTE $0x20 // mov r13, qword [rsp + 32] + QUAD $0x052e4c203a0f4266; BYTE $0x0f // pinsrb xmm1, byte [rsi + r13 + 5], 15 LONG $0xeb0f4166; BYTE $0xd4 // por xmm2, xmm12 LONG $0x6f0f4466; BYTE $0xe3 // movdqa xmm12, xmm3 LONG $0xde0f4566; BYTE $0xe5 // pmaxub xmm12, xmm13 @@ -50986,50 +52478,50 @@ LBB10_195: LONG $0xe96f0f66 // movdqa xmm5, xmm1 LONG $0xde0f4166; BYTE $0xed // pmaxub xmm5, xmm13 LONG $0xe9740f66 // pcmpeqb xmm5, xmm1 - LONG $0x54b60f42; WORD $0x113e // movzx edx, byte [rsi + r15 + 17] + LONG $0x3e54b60f; BYTE $0x11 // movzx edx, byte [rsi + rdi + 17] LONG $0xc26e0f66 // movd xmm0, edx - LONG $0x24548b48; BYTE $0x20 // mov rdx, qword [rsp + 32] - QUAD $0x01061664203a0f66 // pinsrb xmm4, byte [rsi + rdx + 6], 1 - QUAD $0x000000b0249c8948 // mov qword [rsp + 176], rbx - QUAD $0x02061e64203a0f66 // pinsrb xmm4, byte [rsi + rbx + 6], 2 - QUAD $0x061664203a0f4266; BYTE $0x03 // pinsrb xmm4, byte [rsi + r10 + 6], 3 - QUAD $0x062664203a0f4266; BYTE $0x04 // pinsrb xmm4, byte [rsi + r12 + 6], 4 - QUAD $0x05060e64203a0f66 // pinsrb xmm4, byte [rsi + rcx + 6], 5 - QUAD $0x06063e64203a0f66 // pinsrb xmm4, byte [rsi + rdi + 6], 6 - QUAD $0x061e64203a0f4266; BYTE $0x07 // pinsrb xmm4, byte [rsi + r11 + 6], 7 - QUAD $0x060664203a0f4266; BYTE $0x08 // pinsrb xmm4, byte [rsi + r8 + 6], 8 - QUAD $0x062e64203a0f4266; BYTE $0x09 // pinsrb xmm4, byte [rsi + r13 + 6], 9 - QUAD $0x00000100248c894c // mov qword [rsp + 256], r9 - QUAD $0x060e64203a0f4266; BYTE $0x0a // pinsrb xmm4, byte [rsi + r9 + 6], 10 - LONG $0x24648b4c; BYTE $0x50 // mov r12, qword [rsp + 80] - QUAD $0x062664203a0f4266; BYTE $0x0b // pinsrb xmm4, byte [rsi + r12 + 6], 11 - QUAD $0x000000c024b48b4c // mov r14, qword [rsp + 192] - QUAD $0x063664203a0f4266; BYTE $0x0c // pinsrb xmm4, byte [rsi + r14 + 6], 12 - QUAD $0x0d060664203a0f66 // pinsrb xmm4, byte [rsi + rax + 6], 13 - LONG $0x247c8b4c; BYTE $0x10 // mov r15, qword [rsp + 16] - QUAD $0x063e64203a0f4266; BYTE $0x0e // pinsrb xmm4, byte [rsi + r15 + 6], 14 - LONG $0x247c8b4c; BYTE $0x30 // mov r15, qword [rsp + 48] - QUAD $0x063e64203a0f4266; BYTE $0x0f // pinsrb xmm4, byte [rsi + r15 + 6], 15 - QUAD $0x000170249c6f0f66; BYTE $0x00 // movdqa xmm3, oword [rsp + 368] - QUAD $0x0107165c203a0f66 // pinsrb xmm3, byte [rsi + rdx + 7], 1 - QUAD $0x02071e5c203a0f66 // pinsrb xmm3, byte [rsi + rbx + 7], 2 - QUAD $0x07165c203a0f4266; BYTE $0x03 // pinsrb xmm3, byte [rsi + r10 + 7], 3 - WORD $0x894c; BYTE $0xd3 // mov rbx, r10 + LONG $0x24448b4c; BYTE $0x50 // mov r8, qword [rsp + 80] + QUAD $0x060664203a0f4266; BYTE $0x01 // pinsrb xmm4, byte [rsi + r8 + 6], 1 + QUAD $0x02060664203a0f66 // pinsrb xmm4, byte [rsi + rax + 6], 2 + QUAD $0x000000c024bc8b48 // mov rdi, qword [rsp + 192] + QUAD $0x03063e64203a0f66 // pinsrb xmm4, byte [rsi + rdi + 6], 3 + LONG $0x24448b48; BYTE $0x70 // mov rax, qword [rsp + 112] + QUAD $0x04060664203a0f66 // pinsrb xmm4, byte [rsi + rax + 6], 4 + LONG $0x245c8b4c; BYTE $0x30 // mov r11, qword [rsp + 48] + QUAD $0x061e64203a0f4266; BYTE $0x05 // pinsrb xmm4, byte [rsi + r11 + 6], 5 + QUAD $0x063664203a0f4266; BYTE $0x06 // pinsrb xmm4, byte [rsi + r14 + 6], 6 + QUAD $0x07061e64203a0f66 // pinsrb xmm4, byte [rsi + rbx + 6], 7 + QUAD $0x08060e64203a0f66 // pinsrb xmm4, byte [rsi + rcx + 6], 8 + QUAD $0x060e64203a0f4266; BYTE $0x09 // pinsrb xmm4, byte [rsi + r9 + 6], 9 + QUAD $0x000000b024bc8b4c // mov r15, qword [rsp + 176] + QUAD $0x063e64203a0f4266; BYTE $0x0a // pinsrb xmm4, byte [rsi + r15 + 6], 10 + QUAD $0x061664203a0f4266; BYTE $0x0b // pinsrb xmm4, byte [rsi + r10 + 6], 11 + QUAD $0x062664203a0f4266; BYTE $0x0c // pinsrb xmm4, byte [rsi + r12 + 6], 12 LONG $0x24548b48; BYTE $0x60 // mov rdx, qword [rsp + 96] - QUAD $0x0407165c203a0f66 // pinsrb xmm3, byte [rsi + rdx + 7], 4 - QUAD $0x05070e5c203a0f66 // pinsrb xmm3, byte [rsi + rcx + 7], 5 - QUAD $0x06073e5c203a0f66 // pinsrb xmm3, byte [rsi + rdi + 7], 6 - QUAD $0x071e5c203a0f4266; BYTE $0x07 // pinsrb xmm3, byte [rsi + r11 + 7], 7 - QUAD $0x07065c203a0f4266; BYTE $0x08 // pinsrb xmm3, byte [rsi + r8 + 7], 8 - QUAD $0x072e5c203a0f4266; BYTE $0x09 // pinsrb xmm3, byte [rsi + r13 + 7], 9 - QUAD $0x070e5c203a0f4266; BYTE $0x0a // pinsrb xmm3, byte [rsi + r9 + 7], 10 - QUAD $0x07265c203a0f4266; BYTE $0x0b // pinsrb xmm3, byte [rsi + r12 + 7], 11 - QUAD $0x07365c203a0f4266; BYTE $0x0c // pinsrb xmm3, byte [rsi + r14 + 7], 12 - QUAD $0x0d07065c203a0f66 // pinsrb xmm3, byte [rsi + rax + 7], 13 - LONG $0x247c8b48; BYTE $0x10 // mov rdi, qword [rsp + 16] - QUAD $0x0e073e5c203a0f66 // pinsrb xmm3, byte [rsi + rdi + 7], 14 - WORD $0x894c; BYTE $0xf9 // mov rcx, r15 - QUAD $0x073e5c203a0f4266; BYTE $0x0f // pinsrb xmm3, byte [rsi + r15 + 7], 15 + QUAD $0x0d061664203a0f66 // pinsrb xmm4, byte [rsi + rdx + 6], 13 + LONG $0x244c8b48; BYTE $0x10 // mov rcx, qword [rsp + 16] + QUAD $0x0e060e64203a0f66 // pinsrb xmm4, byte [rsi + rcx + 6], 14 + QUAD $0x062e64203a0f4266; BYTE $0x0f // pinsrb xmm4, byte [rsi + r13 + 6], 15 + QUAD $0x000140249c6f0f66; BYTE $0x00 // movdqa xmm3, oword [rsp + 320] + QUAD $0x07065c203a0f4266; BYTE $0x01 // pinsrb xmm3, byte [rsi + r8 + 7], 1 + QUAD $0x0000008024848b4c // mov r8, qword [rsp + 128] + QUAD $0x07065c203a0f4266; BYTE $0x02 // pinsrb xmm3, byte [rsi + r8 + 7], 2 + QUAD $0x03073e5c203a0f66 // pinsrb xmm3, byte [rsi + rdi + 7], 3 + QUAD $0x0407065c203a0f66 // pinsrb xmm3, byte [rsi + rax + 7], 4 + WORD $0x894c; BYTE $0xdf // mov rdi, r11 + QUAD $0x071e5c203a0f4266; BYTE $0x05 // pinsrb xmm3, byte [rsi + r11 + 7], 5 + QUAD $0x07365c203a0f4266; BYTE $0x06 // pinsrb xmm3, byte [rsi + r14 + 7], 6 + QUAD $0x0000012024b4894c // mov qword [rsp + 288], r14 + QUAD $0x07071e5c203a0f66 // pinsrb xmm3, byte [rsi + rbx + 7], 7 + QUAD $0x00000100249c8b4c // mov r11, qword [rsp + 256] + QUAD $0x071e5c203a0f4266; BYTE $0x08 // pinsrb xmm3, byte [rsi + r11 + 7], 8 + QUAD $0x070e5c203a0f4266; BYTE $0x09 // pinsrb xmm3, byte [rsi + r9 + 7], 9 + QUAD $0x073e5c203a0f4266; BYTE $0x0a // pinsrb xmm3, byte [rsi + r15 + 7], 10 + QUAD $0x07165c203a0f4266; BYTE $0x0b // pinsrb xmm3, byte [rsi + r10 + 7], 11 + QUAD $0x07265c203a0f4266; BYTE $0x0c // pinsrb xmm3, byte [rsi + r12 + 7], 12 + QUAD $0x0d07165c203a0f66 // pinsrb xmm3, byte [rsi + rdx + 7], 13 + QUAD $0x0e070e5c203a0f66 // pinsrb xmm3, byte [rsi + rcx + 7], 14 + QUAD $0x072e5c203a0f4266; BYTE $0x0f // pinsrb xmm3, byte [rsi + r13 + 7], 15 QUAD $0x000001308d6f0f66 // movdqa xmm1, oword 304[rbp] /* [rip + .LCPI10_19] */ LONG $0xdb0f4466; BYTE $0xe1 // pand xmm12, xmm1 QUAD $0x000001408d6f0f66 // movdqa xmm1, oword 320[rbp] /* [rip + .LCPI10_20] */ @@ -51038,102 +52530,97 @@ LBB10_195: LONG $0xcc6f0f66 // movdqa xmm1, xmm4 LONG $0xde0f4166; BYTE $0xcd // pmaxub xmm1, xmm13 LONG $0xcc740f66 // pcmpeqb xmm1, xmm4 - QUAD $0x0000008024848b4c // mov r8, qword [rsp + 128] - LONG $0x54b60f42; WORD $0x1206 // movzx edx, byte [rsi + r8 + 18] + QUAD $0x0000009024948b4c // mov r10, qword [rsp + 144] + LONG $0x54b60f42; WORD $0x1216 // movzx edx, byte [rsi + r10 + 18] LONG $0xe26e0f66 // movd xmm4, edx QUAD $0x00000150bd6f0f66 // movdqa xmm7, oword 336[rbp] /* [rip + .LCPI10_21] */ LONG $0xcfdb0f66 // pand xmm1, xmm7 LONG $0xcdeb0f66 // por xmm1, xmm5 - LONG $0x54b60f42; WORD $0x1306 // movzx edx, byte [rsi + r8 + 19] + LONG $0x54b60f42; WORD $0x1316 // movzx edx, byte [rsi + r10 + 19] LONG $0xea6e0f66 // movd xmm5, edx LONG $0xcaeb0f66 // por xmm1, xmm2 LONG $0xd36f0f66 // movdqa xmm2, xmm3 LONG $0xde0f4166; BYTE $0xd5 // pmaxub xmm2, xmm13 LONG $0xd3740f66 // pcmpeqb xmm2, xmm3 LONG $0x6f0f4466; BYTE $0xe2 // movdqa xmm12, xmm2 - LONG $0x54b60f42; WORD $0x1406 // movzx edx, byte [rsi + r8 + 20] + LONG $0x54b60f42; WORD $0x1416 // movzx edx, byte [rsi + r10 + 20] LONG $0xd26e0f66 // movd xmm2, edx - QUAD $0x0000a0249c6f0f66; BYTE $0x00 // movdqa xmm3, oword [rsp + 160] - LONG $0x24748b4c; BYTE $0x20 // mov r14, qword [rsp + 32] - QUAD $0x09365c203a0f4266; BYTE $0x01 // pinsrb xmm3, byte [rsi + r14 + 9], 1 - QUAD $0x000000b024948b4c // mov r10, qword [rsp + 176] - QUAD $0x09165c203a0f4266; BYTE $0x02 // pinsrb xmm3, byte [rsi + r10 + 9], 2 - QUAD $0x03091e5c203a0f66 // pinsrb xmm3, byte [rsi + rbx + 9], 3 - LONG $0x24448b48; BYTE $0x60 // mov rax, qword [rsp + 96] - QUAD $0x0409065c203a0f66 // pinsrb xmm3, byte [rsi + rax + 9], 4 - QUAD $0x00000090248c8b4c // mov r9, qword [rsp + 144] - QUAD $0x090e5c203a0f4266; BYTE $0x05 // pinsrb xmm3, byte [rsi + r9 + 9], 5 - QUAD $0x000000f0249c8b4c // mov r11, qword [rsp + 240] - QUAD $0x091e5c203a0f4266; BYTE $0x06 // pinsrb xmm3, byte [rsi + r11 + 9], 6 - QUAD $0x00000130249c8b48 // mov rbx, qword [rsp + 304] + QUAD $0x000110249c6f0f66; BYTE $0x00 // movdqa xmm3, oword [rsp + 272] + LONG $0x247c8b48; BYTE $0x50 // mov rdi, qword [rsp + 80] + QUAD $0x01093e5c203a0f66 // pinsrb xmm3, byte [rsi + rdi + 9], 1 + WORD $0x894c; BYTE $0xc0 // mov rax, r8 + QUAD $0x09065c203a0f4266; BYTE $0x02 // pinsrb xmm3, byte [rsi + r8 + 9], 2 + QUAD $0x000000c0248c8b48 // mov rcx, qword [rsp + 192] + QUAD $0x03090e5c203a0f66 // pinsrb xmm3, byte [rsi + rcx + 9], 3 + LONG $0x244c8b48; BYTE $0x70 // mov rcx, qword [rsp + 112] + QUAD $0x04090e5c203a0f66 // pinsrb xmm3, byte [rsi + rcx + 9], 4 + LONG $0x24448b4c; BYTE $0x30 // mov r8, qword [rsp + 48] + QUAD $0x09065c203a0f4266; BYTE $0x05 // pinsrb xmm3, byte [rsi + r8 + 9], 5 + QUAD $0x09365c203a0f4266; BYTE $0x06 // pinsrb xmm3, byte [rsi + r14 + 9], 6 QUAD $0x07091e5c203a0f66 // pinsrb xmm3, byte [rsi + rbx + 9], 7 - QUAD $0x000000e024bc8b4c // mov r15, qword [rsp + 224] - QUAD $0x093e5c203a0f4266; BYTE $0x08 // pinsrb xmm3, byte [rsi + r15 + 9], 8 - QUAD $0x092e5c203a0f4266; BYTE $0x09 // pinsrb xmm3, byte [rsi + r13 + 9], 9 - QUAD $0x0000010024a48b4c // mov r12, qword [rsp + 256] - QUAD $0x09265c203a0f4266; BYTE $0x0a // pinsrb xmm3, byte [rsi + r12 + 9], 10 - LONG $0x24548b48; BYTE $0x50 // mov rdx, qword [rsp + 80] - QUAD $0x0b09165c203a0f66 // pinsrb xmm3, byte [rsi + rdx + 9], 11 - QUAD $0x000000c024948b48 // mov rdx, qword [rsp + 192] + QUAD $0x091e5c203a0f4266; BYTE $0x08 // pinsrb xmm3, byte [rsi + r11 + 9], 8 + QUAD $0x090e5c203a0f4266; BYTE $0x09 // pinsrb xmm3, byte [rsi + r9 + 9], 9 + QUAD $0x093e5c203a0f4266; BYTE $0x0a // pinsrb xmm3, byte [rsi + r15 + 9], 10 + QUAD $0x000000a024a48b4c // mov r12, qword [rsp + 160] + QUAD $0x09265c203a0f4266; BYTE $0x0b // pinsrb xmm3, byte [rsi + r12 + 9], 11 + QUAD $0x000000d024948b48 // mov rdx, qword [rsp + 208] QUAD $0x0c09165c203a0f66 // pinsrb xmm3, byte [rsi + rdx + 9], 12 - LONG $0x24548b48; BYTE $0x70 // mov rdx, qword [rsp + 112] - QUAD $0x0d09165c203a0f66 // pinsrb xmm3, byte [rsi + rdx + 9], 13 - QUAD $0x0e093e5c203a0f66 // pinsrb xmm3, byte [rsi + rdi + 9], 14 - QUAD $0x0f090e5c203a0f66 // pinsrb xmm3, byte [rsi + rcx + 9], 15 + LONG $0x246c8b4c; BYTE $0x60 // mov r13, qword [rsp + 96] + QUAD $0x092e5c203a0f4266; BYTE $0x0d // pinsrb xmm3, byte [rsi + r13 + 9], 13 + LONG $0x24548b48; BYTE $0x10 // mov rdx, qword [rsp + 16] + QUAD $0x0e09165c203a0f66 // pinsrb xmm3, byte [rsi + rdx + 9], 14 + LONG $0x24548b48; BYTE $0x20 // mov rdx, qword [rsp + 32] + QUAD $0x0f09165c203a0f66 // pinsrb xmm3, byte [rsi + rdx + 9], 15 LONG $0x7d6f0f66; BYTE $0x60 // movdqa xmm7, oword 96[rbp] /* [rip + .LCPI10_6] */ LONG $0xdb0f4466; BYTE $0xe7 // pand xmm12, xmm7 LONG $0xeb0f4466; BYTE $0xe1 // por xmm12, xmm1 - QUAD $0x00a024a47f0f4466; WORD $0x0000 // movdqa oword [rsp + 160], xmm12 + QUAD $0x011024a47f0f4466; WORD $0x0000 // movdqa oword [rsp + 272], xmm12 LONG $0xfb6f0f66 // movdqa xmm7, xmm3 LONG $0xde0f4166; BYTE $0xfd // pmaxub xmm7, xmm13 LONG $0xfb740f66 // pcmpeqb xmm7, xmm3 - LONG $0x54b60f42; WORD $0x1506 // movzx edx, byte [rsi + r8 + 21] + LONG $0x54b60f42; WORD $0x1516 // movzx edx, byte [rsi + r10 + 21] LONG $0xda6e0f66 // movd xmm3, edx - QUAD $0x0a3644203a0f4666; BYTE $0x01 // pinsrb xmm8, byte [rsi + r14 + 10], 1 - WORD $0x894d; BYTE $0xd6 // mov r14, r10 - QUAD $0x0a1644203a0f4666; BYTE $0x02 // pinsrb xmm8, byte [rsi + r10 + 10], 2 - QUAD $0x0000012024948b4c // mov r10, qword [rsp + 288] + QUAD $0x0a3e44203a0f4466; BYTE $0x01 // pinsrb xmm8, byte [rsi + rdi + 10], 1 + QUAD $0x0a0644203a0f4466; BYTE $0x02 // pinsrb xmm8, byte [rsi + rax + 10], 2 + WORD $0x8949; BYTE $0xc6 // mov r14, rax + QUAD $0x000000c024948b4c // mov r10, qword [rsp + 192] QUAD $0x0a1644203a0f4666; BYTE $0x03 // pinsrb xmm8, byte [rsi + r10 + 10], 3 - QUAD $0x0a0644203a0f4466; BYTE $0x04 // pinsrb xmm8, byte [rsi + rax + 10], 4 - WORD $0x894c; BYTE $0xc9 // mov rcx, r9 - QUAD $0x0a0e44203a0f4666; BYTE $0x05 // pinsrb xmm8, byte [rsi + r9 + 10], 5 - WORD $0x894c; BYTE $0xdf // mov rdi, r11 - QUAD $0x0a1e44203a0f4666; BYTE $0x06 // pinsrb xmm8, byte [rsi + r11 + 10], 6 - WORD $0x8949; BYTE $0xdb // mov r11, rbx + QUAD $0x0a0e44203a0f4466; BYTE $0x04 // pinsrb xmm8, byte [rsi + rcx + 10], 4 + QUAD $0x0a0644203a0f4666; BYTE $0x05 // pinsrb xmm8, byte [rsi + r8 + 10], 5 + QUAD $0x0000012024848b48 // mov rax, qword [rsp + 288] + QUAD $0x0a0644203a0f4466; BYTE $0x06 // pinsrb xmm8, byte [rsi + rax + 10], 6 QUAD $0x0a1e44203a0f4466; BYTE $0x07 // pinsrb xmm8, byte [rsi + rbx + 10], 7 - WORD $0x894d; BYTE $0xf8 // mov r8, r15 - QUAD $0x0a3e44203a0f4666; BYTE $0x08 // pinsrb xmm8, byte [rsi + r15 + 10], 8 - QUAD $0x0a2e44203a0f4666; BYTE $0x09 // pinsrb xmm8, byte [rsi + r13 + 10], 9 - WORD $0x894d; BYTE $0xe1 // mov r9, r12 - QUAD $0x0a2644203a0f4666; BYTE $0x0a // pinsrb xmm8, byte [rsi + r12 + 10], 10 - LONG $0x24648b4c; BYTE $0x50 // mov r12, qword [rsp + 80] + QUAD $0x0a1e44203a0f4666; BYTE $0x08 // pinsrb xmm8, byte [rsi + r11 + 10], 8 + QUAD $0x0a0e44203a0f4666; BYTE $0x09 // pinsrb xmm8, byte [rsi + r9 + 10], 9 + WORD $0x894c; BYTE $0xf8 // mov rax, r15 + QUAD $0x0a3e44203a0f4666; BYTE $0x0a // pinsrb xmm8, byte [rsi + r15 + 10], 10 + WORD $0x894c; BYTE $0xe2 // mov rdx, r12 QUAD $0x0a2644203a0f4666; BYTE $0x0b // pinsrb xmm8, byte [rsi + r12 + 10], 11 - QUAD $0x000000c024bc8b4c // mov r15, qword [rsp + 192] - QUAD $0x0a3e44203a0f4666; BYTE $0x0c // pinsrb xmm8, byte [rsi + r15 + 10], 12 - LONG $0x24448b48; BYTE $0x70 // mov rax, qword [rsp + 112] - QUAD $0x0a0644203a0f4466; BYTE $0x0d // pinsrb xmm8, byte [rsi + rax + 10], 13 - LONG $0x245c8b48; BYTE $0x10 // mov rbx, qword [rsp + 16] - QUAD $0x0a1e44203a0f4466; BYTE $0x0e // pinsrb xmm8, byte [rsi + rbx + 10], 14 - LONG $0x24548b48; BYTE $0x30 // mov rdx, qword [rsp + 48] - QUAD $0x0a1644203a0f4466; BYTE $0x0f // pinsrb xmm8, byte [rsi + rdx + 10], 15 - LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] - QUAD $0x0b0654203a0f4466; BYTE $0x01 // pinsrb xmm10, byte [rsi + rax + 11], 1 + QUAD $0x000000d024a48b4c // mov r12, qword [rsp + 208] + QUAD $0x0a2644203a0f4666; BYTE $0x0c // pinsrb xmm8, byte [rsi + r12 + 10], 12 + WORD $0x894d; BYTE $0xef // mov r15, r13 + QUAD $0x0a2e44203a0f4666; BYTE $0x0d // pinsrb xmm8, byte [rsi + r13 + 10], 13 + LONG $0x244c8b48; BYTE $0x10 // mov rcx, qword [rsp + 16] + QUAD $0x0a0e44203a0f4466; BYTE $0x0e // pinsrb xmm8, byte [rsi + rcx + 10], 14 + LONG $0x246c8b4c; BYTE $0x20 // mov r13, qword [rsp + 32] + QUAD $0x0a2e44203a0f4666; BYTE $0x0f // pinsrb xmm8, byte [rsi + r13 + 10], 15 + QUAD $0x0b3e54203a0f4466; BYTE $0x01 // pinsrb xmm10, byte [rsi + rdi + 11], 1 QUAD $0x0b3654203a0f4666; BYTE $0x02 // pinsrb xmm10, byte [rsi + r14 + 11], 2 QUAD $0x0b1654203a0f4666; BYTE $0x03 // pinsrb xmm10, byte [rsi + r10 + 11], 3 - LONG $0x24748b4c; BYTE $0x60 // mov r14, qword [rsp + 96] - QUAD $0x0b3654203a0f4666; BYTE $0x04 // pinsrb xmm10, byte [rsi + r14 + 11], 4 - QUAD $0x0b0e54203a0f4466; BYTE $0x05 // pinsrb xmm10, byte [rsi + rcx + 11], 5 - QUAD $0x0b3e54203a0f4466; BYTE $0x06 // pinsrb xmm10, byte [rsi + rdi + 11], 6 - QUAD $0x0b1e54203a0f4666; BYTE $0x07 // pinsrb xmm10, byte [rsi + r11 + 11], 7 - QUAD $0x0b0654203a0f4666; BYTE $0x08 // pinsrb xmm10, byte [rsi + r8 + 11], 8 - QUAD $0x0b2e54203a0f4666; BYTE $0x09 // pinsrb xmm10, byte [rsi + r13 + 11], 9 - QUAD $0x0b0e54203a0f4666; BYTE $0x0a // pinsrb xmm10, byte [rsi + r9 + 11], 10 - QUAD $0x0b2654203a0f4666; BYTE $0x0b // pinsrb xmm10, byte [rsi + r12 + 11], 11 - QUAD $0x0b3e54203a0f4666; BYTE $0x0c // pinsrb xmm10, byte [rsi + r15 + 11], 12 - LONG $0x24448b48; BYTE $0x70 // mov rax, qword [rsp + 112] - QUAD $0x0b0654203a0f4466; BYTE $0x0d // pinsrb xmm10, byte [rsi + rax + 11], 13 - QUAD $0x0b1e54203a0f4466; BYTE $0x0e // pinsrb xmm10, byte [rsi + rbx + 11], 14 - QUAD $0x0b1654203a0f4466; BYTE $0x0f // pinsrb xmm10, byte [rsi + rdx + 11], 15 + LONG $0x247c8b48; BYTE $0x70 // mov rdi, qword [rsp + 112] + QUAD $0x0b3e54203a0f4466; BYTE $0x04 // pinsrb xmm10, byte [rsi + rdi + 11], 4 + QUAD $0x0b0654203a0f4666; BYTE $0x05 // pinsrb xmm10, byte [rsi + r8 + 11], 5 + QUAD $0x0000012024b48b4c // mov r14, qword [rsp + 288] + QUAD $0x0b3654203a0f4666; BYTE $0x06 // pinsrb xmm10, byte [rsi + r14 + 11], 6 + QUAD $0x0b1e54203a0f4466; BYTE $0x07 // pinsrb xmm10, byte [rsi + rbx + 11], 7 + QUAD $0x0b1e54203a0f4666; BYTE $0x08 // pinsrb xmm10, byte [rsi + r11 + 11], 8 + QUAD $0x0b0e54203a0f4666; BYTE $0x09 // pinsrb xmm10, byte [rsi + r9 + 11], 9 + QUAD $0x0b0654203a0f4466; BYTE $0x0a // pinsrb xmm10, byte [rsi + rax + 11], 10 + QUAD $0x0b1654203a0f4466; BYTE $0x0b // pinsrb xmm10, byte [rsi + rdx + 11], 11 + QUAD $0x0b2654203a0f4666; BYTE $0x0c // pinsrb xmm10, byte [rsi + r12 + 11], 12 + QUAD $0x0b3e54203a0f4666; BYTE $0x0d // pinsrb xmm10, byte [rsi + r15 + 11], 13 + QUAD $0x0b0e54203a0f4466; BYTE $0x0e // pinsrb xmm10, byte [rsi + rcx + 11], 14 + QUAD $0x0b2e54203a0f4666; BYTE $0x0f // pinsrb xmm10, byte [rsi + r13 + 11], 15 QUAD $0x00000100bddb0f66 // pand xmm7, oword 256[rbp] /* [rip + .LCPI10_16] */ LONG $0xf80f4166; BYTE $0xf9 // psubb xmm7, xmm9 LONG $0x6f0f4166; BYTE $0xc8 // movdqa xmm1, xmm8 @@ -51142,56 +52629,60 @@ LBB10_195: LONG $0x6f0f4566; BYTE $0xca // movdqa xmm9, xmm10 LONG $0xde0f4566; BYTE $0xcd // pmaxub xmm9, xmm13 LONG $0x740f4566; BYTE $0xca // pcmpeqb xmm9, xmm10 - QUAD $0x0000008024848b48 // mov rax, qword [rsp + 128] + QUAD $0x0000009024848b48 // mov rax, qword [rsp + 144] LONG $0x0654b60f; BYTE $0x16 // movzx edx, byte [rsi + rax + 22] LONG $0x6e0f4466; BYTE $0xd2 // movd xmm10, edx - LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] - QUAD $0x010c0674203a0f66 // pinsrb xmm6, byte [rsi + rax + 12], 1 - QUAD $0x000000b024a48b4c // mov r12, qword [rsp + 176] - QUAD $0x0c2674203a0f4266; BYTE $0x02 // pinsrb xmm6, byte [rsi + r12 + 12], 2 + LONG $0x24448b4c; BYTE $0x50 // mov r8, qword [rsp + 80] + QUAD $0x0c0674203a0f4266; BYTE $0x01 // pinsrb xmm6, byte [rsi + r8 + 12], 1 + QUAD $0x0000008024848b48 // mov rax, qword [rsp + 128] + QUAD $0x020c0674203a0f66 // pinsrb xmm6, byte [rsi + rax + 12], 2 QUAD $0x0c1674203a0f4266; BYTE $0x03 // pinsrb xmm6, byte [rsi + r10 + 12], 3 - WORD $0x894c; BYTE $0xf2 // mov rdx, r14 - QUAD $0x0c3674203a0f4266; BYTE $0x04 // pinsrb xmm6, byte [rsi + r14 + 12], 4 - QUAD $0x050c0e74203a0f66 // pinsrb xmm6, byte [rsi + rcx + 12], 5 - QUAD $0x060c3e74203a0f66 // pinsrb xmm6, byte [rsi + rdi + 12], 6 - QUAD $0x0c1e74203a0f4266; BYTE $0x07 // pinsrb xmm6, byte [rsi + r11 + 12], 7 - QUAD $0x0c0674203a0f4266; BYTE $0x08 // pinsrb xmm6, byte [rsi + r8 + 12], 8 - QUAD $0x0c2e74203a0f4266; BYTE $0x09 // pinsrb xmm6, byte [rsi + r13 + 12], 9 - QUAD $0x0c0e74203a0f4266; BYTE $0x0a // pinsrb xmm6, byte [rsi + r9 + 12], 10 - LONG $0x24748b4c; BYTE $0x50 // mov r14, qword [rsp + 80] - QUAD $0x0c3674203a0f4266; BYTE $0x0b // pinsrb xmm6, byte [rsi + r14 + 12], 11 - QUAD $0x0c3e74203a0f4266; BYTE $0x0c // pinsrb xmm6, byte [rsi + r15 + 12], 12 - LONG $0x245c8b48; BYTE $0x70 // mov rbx, qword [rsp + 112] - QUAD $0x0d0c1e74203a0f66 // pinsrb xmm6, byte [rsi + rbx + 12], 13 - LONG $0x24448b48; BYTE $0x10 // mov rax, qword [rsp + 16] - QUAD $0x0e0c0674203a0f66 // pinsrb xmm6, byte [rsi + rax + 12], 14 - LONG $0x24448b48; BYTE $0x30 // mov rax, qword [rsp + 48] - QUAD $0x0f0c0674203a0f66 // pinsrb xmm6, byte [rsi + rax + 12], 15 - LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] - QUAD $0x0d067c203a0f4466; BYTE $0x01 // pinsrb xmm15, byte [rsi + rax + 13], 1 - QUAD $0x0d267c203a0f4666; BYTE $0x02 // pinsrb xmm15, byte [rsi + r12 + 13], 2 - QUAD $0x0d167c203a0f4666; BYTE $0x03 // pinsrb xmm15, byte [rsi + r10 + 13], 3 - QUAD $0x0d167c203a0f4466; BYTE $0x04 // pinsrb xmm15, byte [rsi + rdx + 13], 4 - QUAD $0x0d0e7c203a0f4466; BYTE $0x05 // pinsrb xmm15, byte [rsi + rcx + 13], 5 - QUAD $0x0d3e7c203a0f4466; BYTE $0x06 // pinsrb xmm15, byte [rsi + rdi + 13], 6 - QUAD $0x0d1e7c203a0f4666; BYTE $0x07 // pinsrb xmm15, byte [rsi + r11 + 13], 7 - QUAD $0x0d067c203a0f4666; BYTE $0x08 // pinsrb xmm15, byte [rsi + r8 + 13], 8 - QUAD $0x0d2e7c203a0f4666; BYTE $0x09 // pinsrb xmm15, byte [rsi + r13 + 13], 9 - QUAD $0x0d0e7c203a0f4666; BYTE $0x0a // pinsrb xmm15, byte [rsi + r9 + 13], 10 - QUAD $0x0d367c203a0f4666; BYTE $0x0b // pinsrb xmm15, byte [rsi + r14 + 13], 11 - QUAD $0x0d3e7c203a0f4666; BYTE $0x0c // pinsrb xmm15, byte [rsi + r15 + 13], 12 - WORD $0x894c; BYTE $0xf8 // mov rax, r15 - QUAD $0x0d1e7c203a0f4466; BYTE $0x0d // pinsrb xmm15, byte [rsi + rbx + 13], 13 - LONG $0x247c8b4c; BYTE $0x10 // mov r15, qword [rsp + 16] - QUAD $0x0d3e7c203a0f4666; BYTE $0x0e // pinsrb xmm15, byte [rsi + r15 + 13], 14 + WORD $0x894d; BYTE $0xd7 // mov r15, r10 + WORD $0x8948; BYTE $0xf9 // mov rcx, rdi + QUAD $0x040c3e74203a0f66 // pinsrb xmm6, byte [rsi + rdi + 12], 4 + LONG $0x247c8b48; BYTE $0x30 // mov rdi, qword [rsp + 48] + QUAD $0x050c3e74203a0f66 // pinsrb xmm6, byte [rsi + rdi + 12], 5 + QUAD $0x0c3674203a0f4266; BYTE $0x06 // pinsrb xmm6, byte [rsi + r14 + 12], 6 + QUAD $0x070c1e74203a0f66 // pinsrb xmm6, byte [rsi + rbx + 12], 7 + QUAD $0x0c1e74203a0f4266; BYTE $0x08 // pinsrb xmm6, byte [rsi + r11 + 12], 8 + QUAD $0x0c0e74203a0f4266; BYTE $0x09 // pinsrb xmm6, byte [rsi + r9 + 12], 9 + QUAD $0x000000b024948b48 // mov rdx, qword [rsp + 176] + QUAD $0x0a0c1674203a0f66 // pinsrb xmm6, byte [rsi + rdx + 12], 10 + QUAD $0x000000a0249c8b4c // mov r11, qword [rsp + 160] + QUAD $0x0c1e74203a0f4266; BYTE $0x0b // pinsrb xmm6, byte [rsi + r11 + 12], 11 + QUAD $0x0c2674203a0f4266; BYTE $0x0c // pinsrb xmm6, byte [rsi + r12 + 12], 12 + LONG $0x24548b48; BYTE $0x60 // mov rdx, qword [rsp + 96] + QUAD $0x0d0c1674203a0f66 // pinsrb xmm6, byte [rsi + rdx + 12], 13 + LONG $0x24548b4c; BYTE $0x10 // mov r10, qword [rsp + 16] + QUAD $0x0c1674203a0f4266; BYTE $0x0e // pinsrb xmm6, byte [rsi + r10 + 12], 14 + LONG $0x246c8b4c; BYTE $0x20 // mov r13, qword [rsp + 32] + QUAD $0x0c2e74203a0f4266; BYTE $0x0f // pinsrb xmm6, byte [rsi + r13 + 12], 15 + QUAD $0x0d067c203a0f4666; BYTE $0x01 // pinsrb xmm15, byte [rsi + r8 + 13], 1 + QUAD $0x0d067c203a0f4466; BYTE $0x02 // pinsrb xmm15, byte [rsi + rax + 13], 2 + QUAD $0x0d3e7c203a0f4666; BYTE $0x03 // pinsrb xmm15, byte [rsi + r15 + 13], 3 + QUAD $0x0d0e7c203a0f4466; BYTE $0x04 // pinsrb xmm15, byte [rsi + rcx + 13], 4 + QUAD $0x0d3e7c203a0f4466; BYTE $0x05 // pinsrb xmm15, byte [rsi + rdi + 13], 5 + WORD $0x8949; BYTE $0xf8 // mov r8, rdi + QUAD $0x0d367c203a0f4666; BYTE $0x06 // pinsrb xmm15, byte [rsi + r14 + 13], 6 + QUAD $0x0d1e7c203a0f4466; BYTE $0x07 // pinsrb xmm15, byte [rsi + rbx + 13], 7 + QUAD $0x0000010024bc8b48 // mov rdi, qword [rsp + 256] + QUAD $0x0d3e7c203a0f4466; BYTE $0x08 // pinsrb xmm15, byte [rsi + rdi + 13], 8 + QUAD $0x0d0e7c203a0f4666; BYTE $0x09 // pinsrb xmm15, byte [rsi + r9 + 13], 9 + QUAD $0x000000b024bc8b4c // mov r15, qword [rsp + 176] + QUAD $0x0d3e7c203a0f4666; BYTE $0x0a // pinsrb xmm15, byte [rsi + r15 + 13], 10 + QUAD $0x0d1e7c203a0f4666; BYTE $0x0b // pinsrb xmm15, byte [rsi + r11 + 13], 11 + QUAD $0x0d267c203a0f4666; BYTE $0x0c // pinsrb xmm15, byte [rsi + r12 + 13], 12 + QUAD $0x0d167c203a0f4466; BYTE $0x0d // pinsrb xmm15, byte [rsi + rdx + 13], 13 + WORD $0x8949; BYTE $0xd3 // mov r11, rdx + QUAD $0x0d167c203a0f4666; BYTE $0x0e // pinsrb xmm15, byte [rsi + r10 + 13], 14 QUAD $0x000001108ddb0f66 // pand xmm1, oword 272[rbp] /* [rip + .LCPI10_17] */ QUAD $0x0001208ddb0f4466; BYTE $0x00 // pand xmm9, oword 288[rbp] /* [rip + .LCPI10_18] */ LONG $0xeb0f4466; BYTE $0xc9 // por xmm9, xmm1 - QUAD $0x00000080249c8b48 // mov rbx, qword [rsp + 128] - LONG $0x1e54b60f; BYTE $0x17 // movzx edx, byte [rsi + rbx + 23] + QUAD $0x0000009024848b48 // mov rax, qword [rsp + 144] + LONG $0x0654b60f; BYTE $0x17 // movzx edx, byte [rsi + rax + 23] LONG $0x6e0f4466; BYTE $0xc2 // movd xmm8, edx - LONG $0x24548b48; BYTE $0x30 // mov rdx, qword [rsp + 48] - QUAD $0x0d167c203a0f4466; BYTE $0x0f // pinsrb xmm15, byte [rsi + rdx + 13], 15 + LONG $0x246c8b4c; BYTE $0x20 // mov r13, qword [rsp + 32] + QUAD $0x0d2e7c203a0f4666; BYTE $0x0f // pinsrb xmm15, byte [rsi + r13 + 13], 15 LONG $0xeb0f4466; BYTE $0xcf // por xmm9, xmm7 LONG $0xce6f0f66 // movdqa xmm1, xmm6 LONG $0xde0f4166; BYTE $0xcd // pmaxub xmm1, xmm13 @@ -51199,155 +52690,156 @@ LBB10_195: LONG $0x6f0f4166; BYTE $0xff // movdqa xmm7, xmm15 LONG $0xde0f4166; BYTE $0xfd // pmaxub xmm7, xmm13 LONG $0x740f4166; BYTE $0xff // pcmpeqb xmm7, xmm15 - LONG $0x1e54b60f; BYTE $0x19 // movzx edx, byte [rsi + rbx + 25] + LONG $0x0654b60f; BYTE $0x19 // movzx edx, byte [rsi + rax + 25] LONG $0x6e0f4466; BYTE $0xfa // movd xmm15, edx - LONG $0x245c8b48; BYTE $0x20 // mov rbx, qword [rsp + 32] - QUAD $0x0e1e74203a0f4466; BYTE $0x01 // pinsrb xmm14, byte [rsi + rbx + 14], 1 - QUAD $0x0e2674203a0f4666; BYTE $0x02 // pinsrb xmm14, byte [rsi + r12 + 14], 2 + LONG $0x24448b48; BYTE $0x50 // mov rax, qword [rsp + 80] + QUAD $0x0e0674203a0f4466; BYTE $0x01 // pinsrb xmm14, byte [rsi + rax + 14], 1 + QUAD $0x00000080248c8b48 // mov rcx, qword [rsp + 128] + QUAD $0x0e0e74203a0f4466; BYTE $0x02 // pinsrb xmm14, byte [rsi + rcx + 14], 2 + QUAD $0x000000c024948b4c // mov r10, qword [rsp + 192] QUAD $0x0e1674203a0f4666; BYTE $0x03 // pinsrb xmm14, byte [rsi + r10 + 14], 3 - LONG $0x24648b4c; BYTE $0x60 // mov r12, qword [rsp + 96] - QUAD $0x0e2674203a0f4666; BYTE $0x04 // pinsrb xmm14, byte [rsi + r12 + 14], 4 - QUAD $0x0e0e74203a0f4466; BYTE $0x05 // pinsrb xmm14, byte [rsi + rcx + 14], 5 - QUAD $0x0e3e74203a0f4466; BYTE $0x06 // pinsrb xmm14, byte [rsi + rdi + 14], 6 - QUAD $0x0e1e74203a0f4666; BYTE $0x07 // pinsrb xmm14, byte [rsi + r11 + 14], 7 - QUAD $0x0e0674203a0f4666; BYTE $0x08 // pinsrb xmm14, byte [rsi + r8 + 14], 8 - WORD $0x894c; BYTE $0xea // mov rdx, r13 - QUAD $0x0e2e74203a0f4666; BYTE $0x09 // pinsrb xmm14, byte [rsi + r13 + 14], 9 - QUAD $0x0e0e74203a0f4666; BYTE $0x0a // pinsrb xmm14, byte [rsi + r9 + 14], 10 - QUAD $0x0e3674203a0f4666; BYTE $0x0b // pinsrb xmm14, byte [rsi + r14 + 14], 11 - QUAD $0x0e0674203a0f4466; BYTE $0x0c // pinsrb xmm14, byte [rsi + rax + 14], 12 - LONG $0x246c8b4c; BYTE $0x70 // mov r13, qword [rsp + 112] - QUAD $0x0e2e74203a0f4666; BYTE $0x0d // pinsrb xmm14, byte [rsi + r13 + 14], 13 - QUAD $0x0e3e74203a0f4666; BYTE $0x0e // pinsrb xmm14, byte [rsi + r15 + 14], 14 - LONG $0x247c8b4c; BYTE $0x30 // mov r15, qword [rsp + 48] - QUAD $0x0e3e74203a0f4666; BYTE $0x0f // pinsrb xmm14, byte [rsi + r15 + 14], 15 - QUAD $0x0f1e5c203a0f4466; BYTE $0x01 // pinsrb xmm11, byte [rsi + rbx + 15], 1 - QUAD $0x000000b0249c8b48 // mov rbx, qword [rsp + 176] - QUAD $0x0f1e5c203a0f4466; BYTE $0x02 // pinsrb xmm11, byte [rsi + rbx + 15], 2 - QUAD $0x0f165c203a0f4666; BYTE $0x03 // pinsrb xmm11, byte [rsi + r10 + 15], 3 - QUAD $0x0f265c203a0f4666; BYTE $0x04 // pinsrb xmm11, byte [rsi + r12 + 15], 4 - QUAD $0x0f0e5c203a0f4466; BYTE $0x05 // pinsrb xmm11, byte [rsi + rcx + 15], 5 - QUAD $0x0f3e5c203a0f4466; BYTE $0x06 // pinsrb xmm11, byte [rsi + rdi + 15], 6 - QUAD $0x0f1e5c203a0f4666; BYTE $0x07 // pinsrb xmm11, byte [rsi + r11 + 15], 7 - QUAD $0x0f065c203a0f4666; BYTE $0x08 // pinsrb xmm11, byte [rsi + r8 + 15], 8 - QUAD $0x0f165c203a0f4466; BYTE $0x09 // pinsrb xmm11, byte [rsi + rdx + 15], 9 - QUAD $0x0f0e5c203a0f4666; BYTE $0x0a // pinsrb xmm11, byte [rsi + r9 + 15], 10 - QUAD $0x0f365c203a0f4666; BYTE $0x0b // pinsrb xmm11, byte [rsi + r14 + 15], 11 - QUAD $0x0f065c203a0f4466; BYTE $0x0c // pinsrb xmm11, byte [rsi + rax + 15], 12 - QUAD $0x0f2e5c203a0f4666; BYTE $0x0d // pinsrb xmm11, byte [rsi + r13 + 15], 13 + LONG $0x24548b48; BYTE $0x70 // mov rdx, qword [rsp + 112] + QUAD $0x0e1674203a0f4466; BYTE $0x04 // pinsrb xmm14, byte [rsi + rdx + 14], 4 + QUAD $0x0e0674203a0f4666; BYTE $0x05 // pinsrb xmm14, byte [rsi + r8 + 14], 5 + WORD $0x894d; BYTE $0xf0 // mov r8, r14 + QUAD $0x0e3674203a0f4666; BYTE $0x06 // pinsrb xmm14, byte [rsi + r14 + 14], 6 + QUAD $0x0e1e74203a0f4466; BYTE $0x07 // pinsrb xmm14, byte [rsi + rbx + 14], 7 + QUAD $0x0e3e74203a0f4466; BYTE $0x08 // pinsrb xmm14, byte [rsi + rdi + 14], 8 + WORD $0x8949; BYTE $0xfe // mov r14, rdi + QUAD $0x0e0e74203a0f4666; BYTE $0x09 // pinsrb xmm14, byte [rsi + r9 + 14], 9 + QUAD $0x0e3e74203a0f4666; BYTE $0x0a // pinsrb xmm14, byte [rsi + r15 + 14], 10 + QUAD $0x000000a024bc8b48 // mov rdi, qword [rsp + 160] + QUAD $0x0e3e74203a0f4466; BYTE $0x0b // pinsrb xmm14, byte [rsi + rdi + 14], 11 + QUAD $0x0e2674203a0f4666; BYTE $0x0c // pinsrb xmm14, byte [rsi + r12 + 14], 12 + QUAD $0x0e1e74203a0f4666; BYTE $0x0d // pinsrb xmm14, byte [rsi + r11 + 14], 13 LONG $0x247c8b48; BYTE $0x10 // mov rdi, qword [rsp + 16] + QUAD $0x0e3e74203a0f4466; BYTE $0x0e // pinsrb xmm14, byte [rsi + rdi + 14], 14 + QUAD $0x0e2e74203a0f4666; BYTE $0x0f // pinsrb xmm14, byte [rsi + r13 + 14], 15 + QUAD $0x0f065c203a0f4466; BYTE $0x01 // pinsrb xmm11, byte [rsi + rax + 15], 1 + QUAD $0x0f0e5c203a0f4466; BYTE $0x02 // pinsrb xmm11, byte [rsi + rcx + 15], 2 + QUAD $0x0f165c203a0f4666; BYTE $0x03 // pinsrb xmm11, byte [rsi + r10 + 15], 3 + QUAD $0x0f165c203a0f4466; BYTE $0x04 // pinsrb xmm11, byte [rsi + rdx + 15], 4 + WORD $0x8948; BYTE $0xd1 // mov rcx, rdx + LONG $0x24548b48; BYTE $0x30 // mov rdx, qword [rsp + 48] + QUAD $0x0f165c203a0f4466; BYTE $0x05 // pinsrb xmm11, byte [rsi + rdx + 15], 5 + QUAD $0x0f065c203a0f4666; BYTE $0x06 // pinsrb xmm11, byte [rsi + r8 + 15], 6 + QUAD $0x0f1e5c203a0f4466; BYTE $0x07 // pinsrb xmm11, byte [rsi + rbx + 15], 7 + QUAD $0x0f365c203a0f4666; BYTE $0x08 // pinsrb xmm11, byte [rsi + r14 + 15], 8 + QUAD $0x0f0e5c203a0f4666; BYTE $0x09 // pinsrb xmm11, byte [rsi + r9 + 15], 9 + QUAD $0x0f3e5c203a0f4666; BYTE $0x0a // pinsrb xmm11, byte [rsi + r15 + 15], 10 + QUAD $0x000000a024848b4c // mov r8, qword [rsp + 160] + QUAD $0x0f065c203a0f4666; BYTE $0x0b // pinsrb xmm11, byte [rsi + r8 + 15], 11 + QUAD $0x0f265c203a0f4666; BYTE $0x0c // pinsrb xmm11, byte [rsi + r12 + 15], 12 + QUAD $0x0f1e5c203a0f4666; BYTE $0x0d // pinsrb xmm11, byte [rsi + r11 + 15], 13 QUAD $0x0f3e5c203a0f4466; BYTE $0x0e // pinsrb xmm11, byte [rsi + rdi + 15], 14 - QUAD $0x0f3e5c203a0f4666; BYTE $0x0f // pinsrb xmm11, byte [rsi + r15 + 15], 15 - WORD $0x894d; BYTE $0xfc // mov r12, r15 + QUAD $0x0f2e5c203a0f4666; BYTE $0x0f // pinsrb xmm11, byte [rsi + r13 + 15], 15 QUAD $0x000001308ddb0f66 // pand xmm1, oword 304[rbp] /* [rip + .LCPI10_19] */ QUAD $0x00000140bddb0f66 // pand xmm7, oword 320[rbp] /* [rip + .LCPI10_20] */ LONG $0xf9eb0f66 // por xmm7, xmm1 LONG $0x6f0f4166; BYTE $0xce // movdqa xmm1, xmm14 LONG $0xde0f4166; BYTE $0xcd // pmaxub xmm1, xmm13 LONG $0x740f4166; BYTE $0xce // pcmpeqb xmm1, xmm14 - QUAD $0x0000008024ac8b4c // mov r13, qword [rsp + 128] - LONG $0x54b60f42; WORD $0x1a2e // movzx edx, byte [rsi + r13 + 26] + QUAD $0x0000009024bc8b48 // mov rdi, qword [rsp + 144] + LONG $0x3e54b60f; BYTE $0x1a // movzx edx, byte [rsi + rdi + 26] LONG $0xf26e0f66 // movd xmm6, edx QUAD $0x000001508ddb0f66 // pand xmm1, oword 336[rbp] /* [rip + .LCPI10_21] */ LONG $0xcfeb0f66 // por xmm1, xmm7 - LONG $0x54b60f42; WORD $0x1b2e // movzx edx, byte [rsi + r13 + 27] + LONG $0x3e54b60f; BYTE $0x1b // movzx edx, byte [rsi + rdi + 27] LONG $0xfa6e0f66 // movd xmm7, edx LONG $0xeb0f4166; BYTE $0xc9 // por xmm1, xmm9 LONG $0x6f0f4566; BYTE $0xf3 // movdqa xmm14, xmm11 LONG $0xde0f4566; BYTE $0xf5 // pmaxub xmm14, xmm13 LONG $0x740f4566; BYTE $0xf3 // pcmpeqb xmm14, xmm11 - LONG $0x54b60f42; WORD $0x1c2e // movzx edx, byte [rsi + r13 + 28] + LONG $0x3e54b60f; BYTE $0x1c // movzx edx, byte [rsi + rdi + 28] LONG $0x6e0f4466; BYTE $0xca // movd xmm9, edx - LONG $0x244c8b48; BYTE $0x20 // mov rcx, qword [rsp + 32] - QUAD $0x01110e44203a0f66 // pinsrb xmm0, byte [rsi + rcx + 17], 1 - QUAD $0x02111e44203a0f66 // pinsrb xmm0, byte [rsi + rbx + 17], 2 + QUAD $0x01110644203a0f66 // pinsrb xmm0, byte [rsi + rax + 17], 1 + QUAD $0x0000008024848b48 // mov rax, qword [rsp + 128] + QUAD $0x02110644203a0f66 // pinsrb xmm0, byte [rsi + rax + 17], 2 QUAD $0x111644203a0f4266; BYTE $0x03 // pinsrb xmm0, byte [rsi + r10 + 17], 3 - LONG $0x24448b48; BYTE $0x60 // mov rax, qword [rsp + 96] - QUAD $0x04110644203a0f66 // pinsrb xmm0, byte [rsi + rax + 17], 4 - QUAD $0x0000009024848b4c // mov r8, qword [rsp + 144] - QUAD $0x110644203a0f4266; BYTE $0x05 // pinsrb xmm0, byte [rsi + r8 + 17], 5 - QUAD $0x000000f0248c8b4c // mov r9, qword [rsp + 240] + QUAD $0x04110e44203a0f66 // pinsrb xmm0, byte [rsi + rcx + 17], 4 + LONG $0x24548b48; BYTE $0x30 // mov rdx, qword [rsp + 48] + QUAD $0x05111644203a0f66 // pinsrb xmm0, byte [rsi + rdx + 17], 5 + QUAD $0x00000120248c8b4c // mov r9, qword [rsp + 288] QUAD $0x110e44203a0f4266; BYTE $0x06 // pinsrb xmm0, byte [rsi + r9 + 17], 6 - QUAD $0x111e44203a0f4266; BYTE $0x07 // pinsrb xmm0, byte [rsi + r11 + 17], 7 - QUAD $0x000000e0249c8b48 // mov rbx, qword [rsp + 224] - QUAD $0x08111e44203a0f66 // pinsrb xmm0, byte [rsi + rbx + 17], 8 - QUAD $0x0000011024948b48 // mov rdx, qword [rsp + 272] - QUAD $0x09111644203a0f66 // pinsrb xmm0, byte [rsi + rdx + 17], 9 - QUAD $0x0000010024b48b4c // mov r14, qword [rsp + 256] - QUAD $0x113644203a0f4266; BYTE $0x0a // pinsrb xmm0, byte [rsi + r14 + 17], 10 - LONG $0x247c8b4c; BYTE $0x50 // mov r15, qword [rsp + 80] - QUAD $0x113e44203a0f4266; BYTE $0x0b // pinsrb xmm0, byte [rsi + r15 + 17], 11 - QUAD $0x000000c024948b48 // mov rdx, qword [rsp + 192] - QUAD $0x0c111644203a0f66 // pinsrb xmm0, byte [rsi + rdx + 17], 12 - LONG $0x24548b48; BYTE $0x70 // mov rdx, qword [rsp + 112] - QUAD $0x0d111644203a0f66 // pinsrb xmm0, byte [rsi + rdx + 17], 13 - QUAD $0x0e113e44203a0f66 // pinsrb xmm0, byte [rsi + rdi + 17], 14 - QUAD $0x112644203a0f4266; BYTE $0x0f // pinsrb xmm0, byte [rsi + r12 + 17], 15 + QUAD $0x07111e44203a0f66 // pinsrb xmm0, byte [rsi + rbx + 17], 7 + QUAD $0x00000100249c8b4c // mov r11, qword [rsp + 256] + QUAD $0x111e44203a0f4266; BYTE $0x08 // pinsrb xmm0, byte [rsi + r11 + 17], 8 + QUAD $0x0000013024bc8b4c // mov r15, qword [rsp + 304] + QUAD $0x113e44203a0f4266; BYTE $0x09 // pinsrb xmm0, byte [rsi + r15 + 17], 9 + QUAD $0x000000b024948b48 // mov rdx, qword [rsp + 176] + QUAD $0x0a111644203a0f66 // pinsrb xmm0, byte [rsi + rdx + 17], 10 + QUAD $0x110644203a0f4266; BYTE $0x0b // pinsrb xmm0, byte [rsi + r8 + 17], 11 + QUAD $0x112644203a0f4266; BYTE $0x0c // pinsrb xmm0, byte [rsi + r12 + 17], 12 + LONG $0x246c8b4c; BYTE $0x60 // mov r13, qword [rsp + 96] + QUAD $0x112e44203a0f4266; BYTE $0x0d // pinsrb xmm0, byte [rsi + r13 + 17], 13 + LONG $0x24748b4c; BYTE $0x10 // mov r14, qword [rsp + 16] + QUAD $0x113644203a0f4266; BYTE $0x0e // pinsrb xmm0, byte [rsi + r14 + 17], 14 + LONG $0x24548b48; BYTE $0x20 // mov rdx, qword [rsp + 32] + QUAD $0x0f111644203a0f66 // pinsrb xmm0, byte [rsi + rdx + 17], 15 LONG $0xdb0f4466; WORD $0x6075 // pand xmm14, oword 96[rbp] /* [rip + .LCPI10_6] */ LONG $0xeb0f4466; BYTE $0xf1 // por xmm14, xmm1 LONG $0xc86f0f66 // movdqa xmm1, xmm0 LONG $0x6f0f4566; BYTE $0xe5 // movdqa xmm12, xmm13 LONG $0xde0f4166; BYTE $0xcd // pmaxub xmm1, xmm13 LONG $0xc8740f66 // pcmpeqb xmm1, xmm0 - LONG $0x54b60f42; WORD $0x1d2e // movzx edx, byte [rsi + r13 + 29] + LONG $0x3e54b60f; BYTE $0x1d // movzx edx, byte [rsi + rdi + 29] LONG $0xc26e0f66 // movd xmm0, edx - QUAD $0x01120e64203a0f66 // pinsrb xmm4, byte [rsi + rcx + 18], 1 - QUAD $0x000000b024a48b4c // mov r12, qword [rsp + 176] - QUAD $0x122664203a0f4266; BYTE $0x02 // pinsrb xmm4, byte [rsi + r12 + 18], 2 + LONG $0x24548b48; BYTE $0x50 // mov rdx, qword [rsp + 80] + QUAD $0x01121664203a0f66 // pinsrb xmm4, byte [rsi + rdx + 18], 1 + QUAD $0x02120664203a0f66 // pinsrb xmm4, byte [rsi + rax + 18], 2 QUAD $0x121664203a0f4266; BYTE $0x03 // pinsrb xmm4, byte [rsi + r10 + 18], 3 - QUAD $0x04120664203a0f66 // pinsrb xmm4, byte [rsi + rax + 18], 4 - WORD $0x894c; BYTE $0xc1 // mov rcx, r8 - QUAD $0x120664203a0f4266; BYTE $0x05 // pinsrb xmm4, byte [rsi + r8 + 18], 5 + QUAD $0x04120e64203a0f66 // pinsrb xmm4, byte [rsi + rcx + 18], 4 + LONG $0x244c8b48; BYTE $0x30 // mov rcx, qword [rsp + 48] + QUAD $0x05120e64203a0f66 // pinsrb xmm4, byte [rsi + rcx + 18], 5 WORD $0x894c; BYTE $0xcf // mov rdi, r9 QUAD $0x120e64203a0f4266; BYTE $0x06 // pinsrb xmm4, byte [rsi + r9 + 18], 6 - QUAD $0x121e64203a0f4266; BYTE $0x07 // pinsrb xmm4, byte [rsi + r11 + 18], 7 - WORD $0x8949; BYTE $0xd8 // mov r8, rbx - QUAD $0x08121e64203a0f66 // pinsrb xmm4, byte [rsi + rbx + 18], 8 - QUAD $0x00000110249c8b48 // mov rbx, qword [rsp + 272] - QUAD $0x09121e64203a0f66 // pinsrb xmm4, byte [rsi + rbx + 18], 9 - WORD $0x894d; BYTE $0xf1 // mov r9, r14 - QUAD $0x123664203a0f4266; BYTE $0x0a // pinsrb xmm4, byte [rsi + r14 + 18], 10 - WORD $0x894d; BYTE $0xfe // mov r14, r15 + QUAD $0x07121e64203a0f66 // pinsrb xmm4, byte [rsi + rbx + 18], 7 + WORD $0x894d; BYTE $0xd8 // mov r8, r11 + QUAD $0x121e64203a0f4266; BYTE $0x08 // pinsrb xmm4, byte [rsi + r11 + 18], 8 + WORD $0x894d; BYTE $0xf9 // mov r9, r15 + QUAD $0x123e64203a0f4266; BYTE $0x09 // pinsrb xmm4, byte [rsi + r15 + 18], 9 + QUAD $0x000000b0249c8b4c // mov r11, qword [rsp + 176] + QUAD $0x121e64203a0f4266; BYTE $0x0a // pinsrb xmm4, byte [rsi + r11 + 18], 10 + QUAD $0x000000a024bc8b4c // mov r15, qword [rsp + 160] QUAD $0x123e64203a0f4266; BYTE $0x0b // pinsrb xmm4, byte [rsi + r15 + 18], 11 - QUAD $0x000000c024bc8b4c // mov r15, qword [rsp + 192] - QUAD $0x123e64203a0f4266; BYTE $0x0c // pinsrb xmm4, byte [rsi + r15 + 18], 12 - LONG $0x24548b48; BYTE $0x70 // mov rdx, qword [rsp + 112] - QUAD $0x0d121664203a0f66 // pinsrb xmm4, byte [rsi + rdx + 18], 13 - LONG $0x24448b48; BYTE $0x10 // mov rax, qword [rsp + 16] - QUAD $0x0e120664203a0f66 // pinsrb xmm4, byte [rsi + rax + 18], 14 - LONG $0x246c8b4c; BYTE $0x30 // mov r13, qword [rsp + 48] + QUAD $0x122664203a0f4266; BYTE $0x0c // pinsrb xmm4, byte [rsi + r12 + 18], 12 + WORD $0x894c; BYTE $0xea // mov rdx, r13 + QUAD $0x122e64203a0f4266; BYTE $0x0d // pinsrb xmm4, byte [rsi + r13 + 18], 13 + QUAD $0x123664203a0f4266; BYTE $0x0e // pinsrb xmm4, byte [rsi + r14 + 18], 14 + LONG $0x246c8b4c; BYTE $0x20 // mov r13, qword [rsp + 32] QUAD $0x122e64203a0f4266; BYTE $0x0f // pinsrb xmm4, byte [rsi + r13 + 18], 15 - LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] + LONG $0x24448b48; BYTE $0x50 // mov rax, qword [rsp + 80] QUAD $0x0113066c203a0f66 // pinsrb xmm5, byte [rsi + rax + 19], 1 - QUAD $0x13266c203a0f4266; BYTE $0x02 // pinsrb xmm5, byte [rsi + r12 + 19], 2 + QUAD $0x0000008024848b48 // mov rax, qword [rsp + 128] + QUAD $0x0213066c203a0f66 // pinsrb xmm5, byte [rsi + rax + 19], 2 QUAD $0x13166c203a0f4266; BYTE $0x03 // pinsrb xmm5, byte [rsi + r10 + 19], 3 - LONG $0x24448b48; BYTE $0x60 // mov rax, qword [rsp + 96] + LONG $0x24448b48; BYTE $0x70 // mov rax, qword [rsp + 112] QUAD $0x0413066c203a0f66 // pinsrb xmm5, byte [rsi + rax + 19], 4 QUAD $0x05130e6c203a0f66 // pinsrb xmm5, byte [rsi + rcx + 19], 5 QUAD $0x06133e6c203a0f66 // pinsrb xmm5, byte [rsi + rdi + 19], 6 - QUAD $0x131e6c203a0f4266; BYTE $0x07 // pinsrb xmm5, byte [rsi + r11 + 19], 7 + QUAD $0x07131e6c203a0f66 // pinsrb xmm5, byte [rsi + rbx + 19], 7 QUAD $0x13066c203a0f4266; BYTE $0x08 // pinsrb xmm5, byte [rsi + r8 + 19], 8 - QUAD $0x09131e6c203a0f66 // pinsrb xmm5, byte [rsi + rbx + 19], 9 - QUAD $0x130e6c203a0f4266; BYTE $0x0a // pinsrb xmm5, byte [rsi + r9 + 19], 10 - QUAD $0x13366c203a0f4266; BYTE $0x0b // pinsrb xmm5, byte [rsi + r14 + 19], 11 - QUAD $0x133e6c203a0f4266; BYTE $0x0c // pinsrb xmm5, byte [rsi + r15 + 19], 12 + WORD $0x894d; BYTE $0xc6 // mov r14, r8 + QUAD $0x130e6c203a0f4266; BYTE $0x09 // pinsrb xmm5, byte [rsi + r9 + 19], 9 + QUAD $0x131e6c203a0f4266; BYTE $0x0a // pinsrb xmm5, byte [rsi + r11 + 19], 10 + QUAD $0x133e6c203a0f4266; BYTE $0x0b // pinsrb xmm5, byte [rsi + r15 + 19], 11 + QUAD $0x13266c203a0f4266; BYTE $0x0c // pinsrb xmm5, byte [rsi + r12 + 19], 12 QUAD $0x0d13166c203a0f66 // pinsrb xmm5, byte [rsi + rdx + 19], 13 - WORD $0x8948; BYTE $0xd7 // mov rdi, rdx - LONG $0x24648b4c; BYTE $0x10 // mov r12, qword [rsp + 16] - QUAD $0x13266c203a0f4266; BYTE $0x0e // pinsrb xmm5, byte [rsi + r12 + 19], 14 + LONG $0x24448b48; BYTE $0x10 // mov rax, qword [rsp + 16] + QUAD $0x0e13066c203a0f66 // pinsrb xmm5, byte [rsi + rax + 19], 14 QUAD $0x132e6c203a0f4266; BYTE $0x0f // pinsrb xmm5, byte [rsi + r13 + 19], 15 QUAD $0x000001008ddb0f66 // pand xmm1, oword 256[rbp] /* [rip + .LCPI10_16] */ - QUAD $0x0001b0248cf80f66; BYTE $0x00 // psubb xmm1, oword [rsp + 432] + QUAD $0x000170248cf80f66; BYTE $0x00 // psubb xmm1, oword [rsp + 368] LONG $0x6f0f4466; BYTE $0xec // movdqa xmm13, xmm4 LONG $0xde0f4566; BYTE $0xec // pmaxub xmm13, xmm12 LONG $0x740f4466; BYTE $0xec // pcmpeqb xmm13, xmm4 LONG $0x6f0f4466; BYTE $0xdd // movdqa xmm11, xmm5 LONG $0xde0f4566; BYTE $0xdc // pmaxub xmm11, xmm12 LONG $0x740f4466; BYTE $0xdd // pcmpeqb xmm11, xmm5 - QUAD $0x00000080248c8b48 // mov rcx, qword [rsp + 128] - LONG $0x0e54b60f; BYTE $0x1e // movzx edx, byte [rsi + rcx + 30] + QUAD $0x0000009024848b4c // mov r8, qword [rsp + 144] + LONG $0x54b60f42; WORD $0x1e06 // movzx edx, byte [rsi + r8 + 30] LONG $0xe26e0f66 // movd xmm4, edx - LONG $0x24448b48; BYTE $0x20 // mov rax, qword [rsp + 32] + LONG $0x24448b48; BYTE $0x50 // mov rax, qword [rsp + 80] QUAD $0x01140654203a0f66 // pinsrb xmm2, byte [rsi + rax + 20], 1 QUAD $0x0115065c203a0f66 // pinsrb xmm3, byte [rsi + rax + 21], 1 QUAD $0x160654203a0f4466; BYTE $0x01 // pinsrb xmm10, byte [rsi + rax + 22], 1 @@ -51357,11 +52849,11 @@ LBB10_195: QUAD $0x011b067c203a0f66 // pinsrb xmm7, byte [rsi + rax + 27], 1 QUAD $0x1c064c203a0f4466; BYTE $0x01 // pinsrb xmm9, byte [rsi + rax + 28], 1 QUAD $0x011d0644203a0f66 // pinsrb xmm0, byte [rsi + rax + 29], 1 - LONG $0x0e54b60f; BYTE $0x1f // movzx edx, byte [rsi + rcx + 31] + LONG $0x54b60f42; WORD $0x1f06 // movzx edx, byte [rsi + r8 + 31] QUAD $0x011e0664203a0f66 // pinsrb xmm4, byte [rsi + rax + 30], 1 LONG $0xea6e0f66 // movd xmm5, edx QUAD $0x011f066c203a0f66 // pinsrb xmm5, byte [rsi + rax + 31], 1 - QUAD $0x000000b024848b48 // mov rax, qword [rsp + 176] + QUAD $0x0000008024848b48 // mov rax, qword [rsp + 128] QUAD $0x02140654203a0f66 // pinsrb xmm2, byte [rsi + rax + 20], 2 QUAD $0x0215065c203a0f66 // pinsrb xmm3, byte [rsi + rax + 21], 2 QUAD $0x160654203a0f4466; BYTE $0x02 // pinsrb xmm10, byte [rsi + rax + 22], 2 @@ -51374,36 +52866,33 @@ LBB10_195: QUAD $0x021e0664203a0f66 // pinsrb xmm4, byte [rsi + rax + 30], 2 QUAD $0x021f066c203a0f66 // pinsrb xmm5, byte [rsi + rax + 31], 2 QUAD $0x141654203a0f4266; BYTE $0x03 // pinsrb xmm2, byte [rsi + r10 + 20], 3 - LONG $0x24548b48; BYTE $0x60 // mov rdx, qword [rsp + 96] + LONG $0x24548b48; BYTE $0x70 // mov rdx, qword [rsp + 112] QUAD $0x04141654203a0f66 // pinsrb xmm2, byte [rsi + rdx + 20], 4 - QUAD $0x00000090248c8b48 // mov rcx, qword [rsp + 144] QUAD $0x05140e54203a0f66 // pinsrb xmm2, byte [rsi + rcx + 20], 5 - QUAD $0x000000f024848b48 // mov rax, qword [rsp + 240] - QUAD $0x06140654203a0f66 // pinsrb xmm2, byte [rsi + rax + 20], 6 - QUAD $0x141e54203a0f4266; BYTE $0x07 // pinsrb xmm2, byte [rsi + r11 + 20], 7 - QUAD $0x140654203a0f4266; BYTE $0x08 // pinsrb xmm2, byte [rsi + r8 + 20], 8 - QUAD $0x09141e54203a0f66 // pinsrb xmm2, byte [rsi + rbx + 20], 9 - QUAD $0x140e54203a0f4266; BYTE $0x0a // pinsrb xmm2, byte [rsi + r9 + 20], 10 - QUAD $0x143654203a0f4266; BYTE $0x0b // pinsrb xmm2, byte [rsi + r14 + 20], 11 - QUAD $0x143e54203a0f4266; BYTE $0x0c // pinsrb xmm2, byte [rsi + r15 + 20], 12 - QUAD $0x0d143e54203a0f66 // pinsrb xmm2, byte [rsi + rdi + 20], 13 - QUAD $0x142654203a0f4266; BYTE $0x0e // pinsrb xmm2, byte [rsi + r12 + 20], 14 + QUAD $0x06143e54203a0f66 // pinsrb xmm2, byte [rsi + rdi + 20], 6 + QUAD $0x07141e54203a0f66 // pinsrb xmm2, byte [rsi + rbx + 20], 7 + QUAD $0x143654203a0f4266; BYTE $0x08 // pinsrb xmm2, byte [rsi + r14 + 20], 8 + QUAD $0x140e54203a0f4266; BYTE $0x09 // pinsrb xmm2, byte [rsi + r9 + 20], 9 + QUAD $0x141e54203a0f4266; BYTE $0x0a // pinsrb xmm2, byte [rsi + r11 + 20], 10 + QUAD $0x143e54203a0f4266; BYTE $0x0b // pinsrb xmm2, byte [rsi + r15 + 20], 11 + QUAD $0x142654203a0f4266; BYTE $0x0c // pinsrb xmm2, byte [rsi + r12 + 20], 12 + LONG $0x24448b4c; BYTE $0x60 // mov r8, qword [rsp + 96] + QUAD $0x140654203a0f4266; BYTE $0x0d // pinsrb xmm2, byte [rsi + r8 + 20], 13 + LONG $0x24448b48; BYTE $0x10 // mov rax, qword [rsp + 16] + QUAD $0x0e140654203a0f66 // pinsrb xmm2, byte [rsi + rax + 20], 14 QUAD $0x142e54203a0f4266; BYTE $0x0f // pinsrb xmm2, byte [rsi + r13 + 20], 15 QUAD $0x15165c203a0f4266; BYTE $0x03 // pinsrb xmm3, byte [rsi + r10 + 21], 3 - WORD $0x894d; BYTE $0xd1 // mov r9, r10 QUAD $0x0415165c203a0f66 // pinsrb xmm3, byte [rsi + rdx + 21], 4 QUAD $0x05150e5c203a0f66 // pinsrb xmm3, byte [rsi + rcx + 21], 5 - QUAD $0x0615065c203a0f66 // pinsrb xmm3, byte [rsi + rax + 21], 6 - QUAD $0x151e5c203a0f4266; BYTE $0x07 // pinsrb xmm3, byte [rsi + r11 + 21], 7 - QUAD $0x15065c203a0f4266; BYTE $0x08 // pinsrb xmm3, byte [rsi + r8 + 21], 8 - QUAD $0x09151e5c203a0f66 // pinsrb xmm3, byte [rsi + rbx + 21], 9 - QUAD $0x0000010024848b4c // mov r8, qword [rsp + 256] - QUAD $0x15065c203a0f4266; BYTE $0x0a // pinsrb xmm3, byte [rsi + r8 + 21], 10 - QUAD $0x15365c203a0f4266; BYTE $0x0b // pinsrb xmm3, byte [rsi + r14 + 21], 11 - QUAD $0x153e5c203a0f4266; BYTE $0x0c // pinsrb xmm3, byte [rsi + r15 + 21], 12 - WORD $0x8949; BYTE $0xfa // mov r10, rdi - QUAD $0x0d153e5c203a0f66 // pinsrb xmm3, byte [rsi + rdi + 21], 13 - QUAD $0x15265c203a0f4266; BYTE $0x0e // pinsrb xmm3, byte [rsi + r12 + 21], 14 + QUAD $0x06153e5c203a0f66 // pinsrb xmm3, byte [rsi + rdi + 21], 6 + QUAD $0x07151e5c203a0f66 // pinsrb xmm3, byte [rsi + rbx + 21], 7 + QUAD $0x15365c203a0f4266; BYTE $0x08 // pinsrb xmm3, byte [rsi + r14 + 21], 8 + QUAD $0x150e5c203a0f4266; BYTE $0x09 // pinsrb xmm3, byte [rsi + r9 + 21], 9 + QUAD $0x151e5c203a0f4266; BYTE $0x0a // pinsrb xmm3, byte [rsi + r11 + 21], 10 + QUAD $0x153e5c203a0f4266; BYTE $0x0b // pinsrb xmm3, byte [rsi + r15 + 21], 11 + QUAD $0x15265c203a0f4266; BYTE $0x0c // pinsrb xmm3, byte [rsi + r12 + 21], 12 + QUAD $0x15065c203a0f4266; BYTE $0x0d // pinsrb xmm3, byte [rsi + r8 + 21], 13 + QUAD $0x0e15065c203a0f66 // pinsrb xmm3, byte [rsi + rax + 21], 14 QUAD $0x000110addb0f4466; BYTE $0x00 // pand xmm13, oword 272[rbp] /* [rip + .LCPI10_17] */ QUAD $0x0001209ddb0f4466; BYTE $0x00 // pand xmm11, oword 288[rbp] /* [rip + .LCPI10_18] */ LONG $0xeb0f4566; BYTE $0xdd // por xmm11, xmm13 @@ -51415,38 +52904,37 @@ LBB10_195: LONG $0xd36f0f66 // movdqa xmm2, xmm3 LONG $0xde0f4166; BYTE $0xd4 // pmaxub xmm2, xmm12 LONG $0xd3740f66 // pcmpeqb xmm2, xmm3 - QUAD $0x160e54203a0f4666; BYTE $0x03 // pinsrb xmm10, byte [rsi + r9 + 22], 3 + QUAD $0x161654203a0f4666; BYTE $0x03 // pinsrb xmm10, byte [rsi + r10 + 22], 3 QUAD $0x161654203a0f4466; BYTE $0x04 // pinsrb xmm10, byte [rsi + rdx + 22], 4 QUAD $0x160e54203a0f4466; BYTE $0x05 // pinsrb xmm10, byte [rsi + rcx + 22], 5 - QUAD $0x160654203a0f4466; BYTE $0x06 // pinsrb xmm10, byte [rsi + rax + 22], 6 - QUAD $0x161e54203a0f4666; BYTE $0x07 // pinsrb xmm10, byte [rsi + r11 + 22], 7 - QUAD $0x000000e024bc8b48 // mov rdi, qword [rsp + 224] - QUAD $0x163e54203a0f4466; BYTE $0x08 // pinsrb xmm10, byte [rsi + rdi + 22], 8 - QUAD $0x161e54203a0f4466; BYTE $0x09 // pinsrb xmm10, byte [rsi + rbx + 22], 9 - QUAD $0x160654203a0f4666; BYTE $0x0a // pinsrb xmm10, byte [rsi + r8 + 22], 10 - QUAD $0x163654203a0f4666; BYTE $0x0b // pinsrb xmm10, byte [rsi + r14 + 22], 11 - QUAD $0x163e54203a0f4666; BYTE $0x0c // pinsrb xmm10, byte [rsi + r15 + 22], 12 - QUAD $0x161654203a0f4666; BYTE $0x0d // pinsrb xmm10, byte [rsi + r10 + 22], 13 - QUAD $0x162654203a0f4666; BYTE $0x0e // pinsrb xmm10, byte [rsi + r12 + 22], 14 + QUAD $0x163e54203a0f4466; BYTE $0x06 // pinsrb xmm10, byte [rsi + rdi + 22], 6 + QUAD $0x161e54203a0f4466; BYTE $0x07 // pinsrb xmm10, byte [rsi + rbx + 22], 7 + QUAD $0x163654203a0f4666; BYTE $0x08 // pinsrb xmm10, byte [rsi + r14 + 22], 8 + QUAD $0x160e54203a0f4666; BYTE $0x09 // pinsrb xmm10, byte [rsi + r9 + 22], 9 + QUAD $0x161e54203a0f4666; BYTE $0x0a // pinsrb xmm10, byte [rsi + r11 + 22], 10 + QUAD $0x163e54203a0f4666; BYTE $0x0b // pinsrb xmm10, byte [rsi + r15 + 22], 11 + QUAD $0x162654203a0f4666; BYTE $0x0c // pinsrb xmm10, byte [rsi + r12 + 22], 12 + QUAD $0x160654203a0f4666; BYTE $0x0d // pinsrb xmm10, byte [rsi + r8 + 22], 13 + QUAD $0x160654203a0f4466; BYTE $0x0e // pinsrb xmm10, byte [rsi + rax + 22], 14 QUAD $0x162e54203a0f4666; BYTE $0x0f // pinsrb xmm10, byte [rsi + r13 + 22], 15 - QUAD $0x170e44203a0f4666; BYTE $0x03 // pinsrb xmm8, byte [rsi + r9 + 23], 3 + QUAD $0x171644203a0f4666; BYTE $0x03 // pinsrb xmm8, byte [rsi + r10 + 23], 3 QUAD $0x171644203a0f4466; BYTE $0x04 // pinsrb xmm8, byte [rsi + rdx + 23], 4 QUAD $0x170e44203a0f4466; BYTE $0x05 // pinsrb xmm8, byte [rsi + rcx + 23], 5 - QUAD $0x170644203a0f4466; BYTE $0x06 // pinsrb xmm8, byte [rsi + rax + 23], 6 - QUAD $0x171e44203a0f4666; BYTE $0x07 // pinsrb xmm8, byte [rsi + r11 + 23], 7 - QUAD $0x173e44203a0f4466; BYTE $0x08 // pinsrb xmm8, byte [rsi + rdi + 23], 8 - QUAD $0x171e44203a0f4466; BYTE $0x09 // pinsrb xmm8, byte [rsi + rbx + 23], 9 - QUAD $0x170644203a0f4666; BYTE $0x0a // pinsrb xmm8, byte [rsi + r8 + 23], 10 - QUAD $0x173644203a0f4666; BYTE $0x0b // pinsrb xmm8, byte [rsi + r14 + 23], 11 - QUAD $0x173e44203a0f4666; BYTE $0x0c // pinsrb xmm8, byte [rsi + r15 + 23], 12 - QUAD $0x171644203a0f4666; BYTE $0x0d // pinsrb xmm8, byte [rsi + r10 + 23], 13 + QUAD $0x173e44203a0f4466; BYTE $0x06 // pinsrb xmm8, byte [rsi + rdi + 23], 6 + QUAD $0x171e44203a0f4466; BYTE $0x07 // pinsrb xmm8, byte [rsi + rbx + 23], 7 + QUAD $0x173644203a0f4666; BYTE $0x08 // pinsrb xmm8, byte [rsi + r14 + 23], 8 + QUAD $0x170e44203a0f4666; BYTE $0x09 // pinsrb xmm8, byte [rsi + r9 + 23], 9 + QUAD $0x171e44203a0f4666; BYTE $0x0a // pinsrb xmm8, byte [rsi + r11 + 23], 10 + QUAD $0x173e44203a0f4666; BYTE $0x0b // pinsrb xmm8, byte [rsi + r15 + 23], 11 + QUAD $0x172644203a0f4666; BYTE $0x0c // pinsrb xmm8, byte [rsi + r12 + 23], 12 + QUAD $0x170644203a0f4666; BYTE $0x0d // pinsrb xmm8, byte [rsi + r8 + 23], 13 QUAD $0x000001308ddb0f66 // pand xmm1, oword 304[rbp] /* [rip + .LCPI10_19] */ QUAD $0x0000014095db0f66 // pand xmm2, oword 320[rbp] /* [rip + .LCPI10_20] */ LONG $0xd1eb0f66 // por xmm2, xmm1 LONG $0x6f0f4166; BYTE $0xca // movdqa xmm1, xmm10 LONG $0xde0f4166; BYTE $0xcc // pmaxub xmm1, xmm12 LONG $0x740f4166; BYTE $0xca // pcmpeqb xmm1, xmm10 - QUAD $0x172644203a0f4666; BYTE $0x0e // pinsrb xmm8, byte [rsi + r12 + 23], 14 + QUAD $0x170644203a0f4466; BYTE $0x0e // pinsrb xmm8, byte [rsi + rax + 23], 14 QUAD $0x000001508ddb0f66 // pand xmm1, oword 336[rbp] /* [rip + .LCPI10_21] */ LONG $0xcaeb0f66 // por xmm1, xmm2 QUAD $0x172e44203a0f4666; BYTE $0x0f // pinsrb xmm8, byte [rsi + r13 + 23], 15 @@ -51454,18 +52942,18 @@ LBB10_195: LONG $0x6f0f4566; BYTE $0xd0 // movdqa xmm10, xmm8 LONG $0xde0f4566; BYTE $0xd4 // pmaxub xmm10, xmm12 LONG $0x740f4566; BYTE $0xd0 // pcmpeqb xmm10, xmm8 - QUAD $0x190e7c203a0f4666; BYTE $0x03 // pinsrb xmm15, byte [rsi + r9 + 25], 3 + QUAD $0x19167c203a0f4666; BYTE $0x03 // pinsrb xmm15, byte [rsi + r10 + 25], 3 QUAD $0x19167c203a0f4466; BYTE $0x04 // pinsrb xmm15, byte [rsi + rdx + 25], 4 QUAD $0x190e7c203a0f4466; BYTE $0x05 // pinsrb xmm15, byte [rsi + rcx + 25], 5 - QUAD $0x19067c203a0f4466; BYTE $0x06 // pinsrb xmm15, byte [rsi + rax + 25], 6 - QUAD $0x191e7c203a0f4666; BYTE $0x07 // pinsrb xmm15, byte [rsi + r11 + 25], 7 - QUAD $0x193e7c203a0f4466; BYTE $0x08 // pinsrb xmm15, byte [rsi + rdi + 25], 8 - QUAD $0x191e7c203a0f4466; BYTE $0x09 // pinsrb xmm15, byte [rsi + rbx + 25], 9 - QUAD $0x19067c203a0f4666; BYTE $0x0a // pinsrb xmm15, byte [rsi + r8 + 25], 10 - QUAD $0x19367c203a0f4666; BYTE $0x0b // pinsrb xmm15, byte [rsi + r14 + 25], 11 - QUAD $0x193e7c203a0f4666; BYTE $0x0c // pinsrb xmm15, byte [rsi + r15 + 25], 12 - QUAD $0x19167c203a0f4666; BYTE $0x0d // pinsrb xmm15, byte [rsi + r10 + 25], 13 - QUAD $0x19267c203a0f4666; BYTE $0x0e // pinsrb xmm15, byte [rsi + r12 + 25], 14 + QUAD $0x193e7c203a0f4466; BYTE $0x06 // pinsrb xmm15, byte [rsi + rdi + 25], 6 + QUAD $0x191e7c203a0f4466; BYTE $0x07 // pinsrb xmm15, byte [rsi + rbx + 25], 7 + QUAD $0x19367c203a0f4666; BYTE $0x08 // pinsrb xmm15, byte [rsi + r14 + 25], 8 + QUAD $0x190e7c203a0f4666; BYTE $0x09 // pinsrb xmm15, byte [rsi + r9 + 25], 9 + QUAD $0x191e7c203a0f4666; BYTE $0x0a // pinsrb xmm15, byte [rsi + r11 + 25], 10 + QUAD $0x193e7c203a0f4666; BYTE $0x0b // pinsrb xmm15, byte [rsi + r15 + 25], 11 + QUAD $0x19267c203a0f4666; BYTE $0x0c // pinsrb xmm15, byte [rsi + r12 + 25], 12 + QUAD $0x19067c203a0f4666; BYTE $0x0d // pinsrb xmm15, byte [rsi + r8 + 25], 13 + QUAD $0x19067c203a0f4466; BYTE $0x0e // pinsrb xmm15, byte [rsi + rax + 25], 14 QUAD $0x192e7c203a0f4666; BYTE $0x0f // pinsrb xmm15, byte [rsi + r13 + 25], 15 LONG $0x6f0f4466; WORD $0x605d // movdqa xmm11, oword 96[rbp] /* [rip + .LCPI10_6] */ LONG $0xdb0f4566; BYTE $0xd3 // pand xmm10, xmm11 @@ -51473,65 +52961,65 @@ LBB10_195: LONG $0x6f0f4166; BYTE $0xdf // movdqa xmm3, xmm15 LONG $0xde0f4166; BYTE $0xdc // pmaxub xmm3, xmm12 LONG $0x740f4166; BYTE $0xdf // pcmpeqb xmm3, xmm15 - QUAD $0x1a0e74203a0f4266; BYTE $0x03 // pinsrb xmm6, byte [rsi + r9 + 26], 3 + QUAD $0x1a1674203a0f4266; BYTE $0x03 // pinsrb xmm6, byte [rsi + r10 + 26], 3 QUAD $0x041a1674203a0f66 // pinsrb xmm6, byte [rsi + rdx + 26], 4 QUAD $0x051a0e74203a0f66 // pinsrb xmm6, byte [rsi + rcx + 26], 5 - QUAD $0x061a0674203a0f66 // pinsrb xmm6, byte [rsi + rax + 26], 6 - QUAD $0x1a1e74203a0f4266; BYTE $0x07 // pinsrb xmm6, byte [rsi + r11 + 26], 7 - QUAD $0x081a3e74203a0f66 // pinsrb xmm6, byte [rsi + rdi + 26], 8 - QUAD $0x091a1e74203a0f66 // pinsrb xmm6, byte [rsi + rbx + 26], 9 - QUAD $0x1a0674203a0f4266; BYTE $0x0a // pinsrb xmm6, byte [rsi + r8 + 26], 10 - QUAD $0x1a3674203a0f4266; BYTE $0x0b // pinsrb xmm6, byte [rsi + r14 + 26], 11 - QUAD $0x1a3e74203a0f4266; BYTE $0x0c // pinsrb xmm6, byte [rsi + r15 + 26], 12 - QUAD $0x1a1674203a0f4266; BYTE $0x0d // pinsrb xmm6, byte [rsi + r10 + 26], 13 - QUAD $0x1a2674203a0f4266; BYTE $0x0e // pinsrb xmm6, byte [rsi + r12 + 26], 14 + QUAD $0x061a3e74203a0f66 // pinsrb xmm6, byte [rsi + rdi + 26], 6 + QUAD $0x071a1e74203a0f66 // pinsrb xmm6, byte [rsi + rbx + 26], 7 + QUAD $0x1a3674203a0f4266; BYTE $0x08 // pinsrb xmm6, byte [rsi + r14 + 26], 8 + QUAD $0x1a0e74203a0f4266; BYTE $0x09 // pinsrb xmm6, byte [rsi + r9 + 26], 9 + QUAD $0x1a1e74203a0f4266; BYTE $0x0a // pinsrb xmm6, byte [rsi + r11 + 26], 10 + QUAD $0x1a3e74203a0f4266; BYTE $0x0b // pinsrb xmm6, byte [rsi + r15 + 26], 11 + QUAD $0x1a2674203a0f4266; BYTE $0x0c // pinsrb xmm6, byte [rsi + r12 + 26], 12 + QUAD $0x1a0674203a0f4266; BYTE $0x0d // pinsrb xmm6, byte [rsi + r8 + 26], 13 + QUAD $0x0e1a0674203a0f66 // pinsrb xmm6, byte [rsi + rax + 26], 14 QUAD $0x1a2e74203a0f4266; BYTE $0x0f // pinsrb xmm6, byte [rsi + r13 + 26], 15 - QUAD $0x1b0e7c203a0f4266; BYTE $0x03 // pinsrb xmm7, byte [rsi + r9 + 27], 3 + QUAD $0x1b167c203a0f4266; BYTE $0x03 // pinsrb xmm7, byte [rsi + r10 + 27], 3 QUAD $0x041b167c203a0f66 // pinsrb xmm7, byte [rsi + rdx + 27], 4 QUAD $0x051b0e7c203a0f66 // pinsrb xmm7, byte [rsi + rcx + 27], 5 - QUAD $0x061b067c203a0f66 // pinsrb xmm7, byte [rsi + rax + 27], 6 - QUAD $0x1b1e7c203a0f4266; BYTE $0x07 // pinsrb xmm7, byte [rsi + r11 + 27], 7 - QUAD $0x081b3e7c203a0f66 // pinsrb xmm7, byte [rsi + rdi + 27], 8 - QUAD $0x091b1e7c203a0f66 // pinsrb xmm7, byte [rsi + rbx + 27], 9 - QUAD $0x1b067c203a0f4266; BYTE $0x0a // pinsrb xmm7, byte [rsi + r8 + 27], 10 - QUAD $0x1b367c203a0f4266; BYTE $0x0b // pinsrb xmm7, byte [rsi + r14 + 27], 11 - QUAD $0x1b3e7c203a0f4266; BYTE $0x0c // pinsrb xmm7, byte [rsi + r15 + 27], 12 - QUAD $0x1b167c203a0f4266; BYTE $0x0d // pinsrb xmm7, byte [rsi + r10 + 27], 13 - QUAD $0x1b267c203a0f4266; BYTE $0x0e // pinsrb xmm7, byte [rsi + r12 + 27], 14 + QUAD $0x061b3e7c203a0f66 // pinsrb xmm7, byte [rsi + rdi + 27], 6 + QUAD $0x071b1e7c203a0f66 // pinsrb xmm7, byte [rsi + rbx + 27], 7 + QUAD $0x1b367c203a0f4266; BYTE $0x08 // pinsrb xmm7, byte [rsi + r14 + 27], 8 + QUAD $0x1b0e7c203a0f4266; BYTE $0x09 // pinsrb xmm7, byte [rsi + r9 + 27], 9 + QUAD $0x1b1e7c203a0f4266; BYTE $0x0a // pinsrb xmm7, byte [rsi + r11 + 27], 10 + QUAD $0x1b3e7c203a0f4266; BYTE $0x0b // pinsrb xmm7, byte [rsi + r15 + 27], 11 + QUAD $0x1b267c203a0f4266; BYTE $0x0c // pinsrb xmm7, byte [rsi + r12 + 27], 12 + QUAD $0x1b067c203a0f4266; BYTE $0x0d // pinsrb xmm7, byte [rsi + r8 + 27], 13 + QUAD $0x0e1b067c203a0f66 // pinsrb xmm7, byte [rsi + rax + 27], 14 QUAD $0x1b2e7c203a0f4266; BYTE $0x0f // pinsrb xmm7, byte [rsi + r13 + 27], 15 QUAD $0x000001009ddb0f66 // pand xmm3, oword 256[rbp] /* [rip + .LCPI10_16] */ - QUAD $0x000140249cf80f66; BYTE $0x00 // psubb xmm3, oword [rsp + 320] + QUAD $0x0000f0249cf80f66; BYTE $0x00 // psubb xmm3, oword [rsp + 240] LONG $0xd66f0f66 // movdqa xmm2, xmm6 LONG $0xde0f4166; BYTE $0xd4 // pmaxub xmm2, xmm12 LONG $0xd6740f66 // pcmpeqb xmm2, xmm6 LONG $0xcf6f0f66 // movdqa xmm1, xmm7 LONG $0xde0f4166; BYTE $0xcc // pmaxub xmm1, xmm12 LONG $0xcf740f66 // pcmpeqb xmm1, xmm7 - QUAD $0x1c0e4c203a0f4666; BYTE $0x03 // pinsrb xmm9, byte [rsi + r9 + 28], 3 + QUAD $0x1c164c203a0f4666; BYTE $0x03 // pinsrb xmm9, byte [rsi + r10 + 28], 3 QUAD $0x1c164c203a0f4466; BYTE $0x04 // pinsrb xmm9, byte [rsi + rdx + 28], 4 QUAD $0x1c0e4c203a0f4466; BYTE $0x05 // pinsrb xmm9, byte [rsi + rcx + 28], 5 - QUAD $0x1c064c203a0f4466; BYTE $0x06 // pinsrb xmm9, byte [rsi + rax + 28], 6 - QUAD $0x1c1e4c203a0f4666; BYTE $0x07 // pinsrb xmm9, byte [rsi + r11 + 28], 7 - QUAD $0x1c3e4c203a0f4466; BYTE $0x08 // pinsrb xmm9, byte [rsi + rdi + 28], 8 - QUAD $0x1c1e4c203a0f4466; BYTE $0x09 // pinsrb xmm9, byte [rsi + rbx + 28], 9 - QUAD $0x1c064c203a0f4666; BYTE $0x0a // pinsrb xmm9, byte [rsi + r8 + 28], 10 - QUAD $0x1c364c203a0f4666; BYTE $0x0b // pinsrb xmm9, byte [rsi + r14 + 28], 11 - QUAD $0x1c3e4c203a0f4666; BYTE $0x0c // pinsrb xmm9, byte [rsi + r15 + 28], 12 - QUAD $0x1c164c203a0f4666; BYTE $0x0d // pinsrb xmm9, byte [rsi + r10 + 28], 13 - QUAD $0x1c264c203a0f4666; BYTE $0x0e // pinsrb xmm9, byte [rsi + r12 + 28], 14 + QUAD $0x1c3e4c203a0f4466; BYTE $0x06 // pinsrb xmm9, byte [rsi + rdi + 28], 6 + QUAD $0x1c1e4c203a0f4466; BYTE $0x07 // pinsrb xmm9, byte [rsi + rbx + 28], 7 + QUAD $0x1c364c203a0f4666; BYTE $0x08 // pinsrb xmm9, byte [rsi + r14 + 28], 8 + QUAD $0x1c0e4c203a0f4666; BYTE $0x09 // pinsrb xmm9, byte [rsi + r9 + 28], 9 + QUAD $0x1c1e4c203a0f4666; BYTE $0x0a // pinsrb xmm9, byte [rsi + r11 + 28], 10 + QUAD $0x1c3e4c203a0f4666; BYTE $0x0b // pinsrb xmm9, byte [rsi + r15 + 28], 11 + QUAD $0x1c264c203a0f4666; BYTE $0x0c // pinsrb xmm9, byte [rsi + r12 + 28], 12 + QUAD $0x1c064c203a0f4666; BYTE $0x0d // pinsrb xmm9, byte [rsi + r8 + 28], 13 + QUAD $0x1c064c203a0f4466; BYTE $0x0e // pinsrb xmm9, byte [rsi + rax + 28], 14 QUAD $0x1c2e4c203a0f4666; BYTE $0x0f // pinsrb xmm9, byte [rsi + r13 + 28], 15 - QUAD $0x1d0e44203a0f4266; BYTE $0x03 // pinsrb xmm0, byte [rsi + r9 + 29], 3 + QUAD $0x1d1644203a0f4266; BYTE $0x03 // pinsrb xmm0, byte [rsi + r10 + 29], 3 QUAD $0x041d1644203a0f66 // pinsrb xmm0, byte [rsi + rdx + 29], 4 QUAD $0x051d0e44203a0f66 // pinsrb xmm0, byte [rsi + rcx + 29], 5 - QUAD $0x061d0644203a0f66 // pinsrb xmm0, byte [rsi + rax + 29], 6 - QUAD $0x1d1e44203a0f4266; BYTE $0x07 // pinsrb xmm0, byte [rsi + r11 + 29], 7 - QUAD $0x081d3e44203a0f66 // pinsrb xmm0, byte [rsi + rdi + 29], 8 - QUAD $0x091d1e44203a0f66 // pinsrb xmm0, byte [rsi + rbx + 29], 9 - QUAD $0x1d0644203a0f4266; BYTE $0x0a // pinsrb xmm0, byte [rsi + r8 + 29], 10 - QUAD $0x1d3644203a0f4266; BYTE $0x0b // pinsrb xmm0, byte [rsi + r14 + 29], 11 - QUAD $0x1d3e44203a0f4266; BYTE $0x0c // pinsrb xmm0, byte [rsi + r15 + 29], 12 - QUAD $0x1d1644203a0f4266; BYTE $0x0d // pinsrb xmm0, byte [rsi + r10 + 29], 13 - QUAD $0x1d2644203a0f4266; BYTE $0x0e // pinsrb xmm0, byte [rsi + r12 + 29], 14 + QUAD $0x061d3e44203a0f66 // pinsrb xmm0, byte [rsi + rdi + 29], 6 + QUAD $0x071d1e44203a0f66 // pinsrb xmm0, byte [rsi + rbx + 29], 7 + QUAD $0x1d3644203a0f4266; BYTE $0x08 // pinsrb xmm0, byte [rsi + r14 + 29], 8 + QUAD $0x1d0e44203a0f4266; BYTE $0x09 // pinsrb xmm0, byte [rsi + r9 + 29], 9 + QUAD $0x1d1e44203a0f4266; BYTE $0x0a // pinsrb xmm0, byte [rsi + r11 + 29], 10 + QUAD $0x1d3e44203a0f4266; BYTE $0x0b // pinsrb xmm0, byte [rsi + r15 + 29], 11 + QUAD $0x1d2644203a0f4266; BYTE $0x0c // pinsrb xmm0, byte [rsi + r12 + 29], 12 + QUAD $0x1d0644203a0f4266; BYTE $0x0d // pinsrb xmm0, byte [rsi + r8 + 29], 13 + QUAD $0x0e1d0644203a0f66 // pinsrb xmm0, byte [rsi + rax + 29], 14 QUAD $0x1d2e44203a0f4266; BYTE $0x0f // pinsrb xmm0, byte [rsi + r13 + 29], 15 QUAD $0x0000011095db0f66 // pand xmm2, oword 272[rbp] /* [rip + .LCPI10_17] */ QUAD $0x000001208ddb0f66 // pand xmm1, oword 288[rbp] /* [rip + .LCPI10_18] */ @@ -51543,34 +53031,31 @@ LBB10_195: LONG $0xd86f0f66 // movdqa xmm3, xmm0 LONG $0xde0f4166; BYTE $0xdc // pmaxub xmm3, xmm12 LONG $0xd8740f66 // pcmpeqb xmm3, xmm0 - QUAD $0x1e0e64203a0f4266; BYTE $0x03 // pinsrb xmm4, byte [rsi + r9 + 30], 3 - QUAD $0x1f0e6c203a0f4266; BYTE $0x03 // pinsrb xmm5, byte [rsi + r9 + 31], 3 + QUAD $0x1e1664203a0f4266; BYTE $0x03 // pinsrb xmm4, byte [rsi + r10 + 30], 3 + QUAD $0x1f166c203a0f4266; BYTE $0x03 // pinsrb xmm5, byte [rsi + r10 + 31], 3 QUAD $0x041e1664203a0f66 // pinsrb xmm4, byte [rsi + rdx + 30], 4 QUAD $0x041f166c203a0f66 // pinsrb xmm5, byte [rsi + rdx + 31], 4 QUAD $0x051e0e64203a0f66 // pinsrb xmm4, byte [rsi + rcx + 30], 5 QUAD $0x051f0e6c203a0f66 // pinsrb xmm5, byte [rsi + rcx + 31], 5 - QUAD $0x061e0664203a0f66 // pinsrb xmm4, byte [rsi + rax + 30], 6 - QUAD $0x061f066c203a0f66 // pinsrb xmm5, byte [rsi + rax + 31], 6 - QUAD $0x1e1e64203a0f4266; BYTE $0x07 // pinsrb xmm4, byte [rsi + r11 + 30], 7 - QUAD $0x1f1e6c203a0f4266; BYTE $0x07 // pinsrb xmm5, byte [rsi + r11 + 31], 7 - WORD $0x8948; BYTE $0xf8 // mov rax, rdi - QUAD $0x081e3e64203a0f66 // pinsrb xmm4, byte [rsi + rdi + 30], 8 - QUAD $0x081f3e6c203a0f66 // pinsrb xmm5, byte [rsi + rdi + 31], 8 - QUAD $0x091e1e64203a0f66 // pinsrb xmm4, byte [rsi + rbx + 30], 9 - QUAD $0x091f1e6c203a0f66 // pinsrb xmm5, byte [rsi + rbx + 31], 9 + QUAD $0x061e3e64203a0f66 // pinsrb xmm4, byte [rsi + rdi + 30], 6 + QUAD $0x061f3e6c203a0f66 // pinsrb xmm5, byte [rsi + rdi + 31], 6 + QUAD $0x071e1e64203a0f66 // pinsrb xmm4, byte [rsi + rbx + 30], 7 + QUAD $0x071f1e6c203a0f66 // pinsrb xmm5, byte [rsi + rbx + 31], 7 + QUAD $0x1e3664203a0f4266; BYTE $0x08 // pinsrb xmm4, byte [rsi + r14 + 30], 8 + QUAD $0x1f366c203a0f4266; BYTE $0x08 // pinsrb xmm5, byte [rsi + r14 + 31], 8 + QUAD $0x1e0e64203a0f4266; BYTE $0x09 // pinsrb xmm4, byte [rsi + r9 + 30], 9 + QUAD $0x1f0e6c203a0f4266; BYTE $0x09 // pinsrb xmm5, byte [rsi + r9 + 31], 9 + QUAD $0x1e1e64203a0f4266; BYTE $0x0a // pinsrb xmm4, byte [rsi + r11 + 30], 10 + QUAD $0x1f1e6c203a0f4266; BYTE $0x0a // pinsrb xmm5, byte [rsi + r11 + 31], 10 QUAD $0x0000016024b48b4c // mov r14, qword [rsp + 352] - WORD $0x894c; BYTE $0xc0 // mov rax, r8 - QUAD $0x1e0664203a0f4266; BYTE $0x0a // pinsrb xmm4, byte [rsi + r8 + 30], 10 - QUAD $0x1f066c203a0f4266; BYTE $0x0a // pinsrb xmm5, byte [rsi + r8 + 31], 10 - LONG $0x24448b48; BYTE $0x50 // mov rax, qword [rsp + 80] - QUAD $0x0b1e0664203a0f66 // pinsrb xmm4, byte [rsi + rax + 30], 11 - QUAD $0x0b1f066c203a0f66 // pinsrb xmm5, byte [rsi + rax + 31], 11 - QUAD $0x1e3e64203a0f4266; BYTE $0x0c // pinsrb xmm4, byte [rsi + r15 + 30], 12 - QUAD $0x1f3e6c203a0f4266; BYTE $0x0c // pinsrb xmm5, byte [rsi + r15 + 31], 12 - QUAD $0x1e1664203a0f4266; BYTE $0x0d // pinsrb xmm4, byte [rsi + r10 + 30], 13 - QUAD $0x1f166c203a0f4266; BYTE $0x0d // pinsrb xmm5, byte [rsi + r10 + 31], 13 - QUAD $0x1e2664203a0f4266; BYTE $0x0e // pinsrb xmm4, byte [rsi + r12 + 30], 14 - QUAD $0x1f266c203a0f4266; BYTE $0x0e // pinsrb xmm5, byte [rsi + r12 + 31], 14 + QUAD $0x1e3e64203a0f4266; BYTE $0x0b // pinsrb xmm4, byte [rsi + r15 + 30], 11 + QUAD $0x1f3e6c203a0f4266; BYTE $0x0b // pinsrb xmm5, byte [rsi + r15 + 31], 11 + QUAD $0x1e2664203a0f4266; BYTE $0x0c // pinsrb xmm4, byte [rsi + r12 + 30], 12 + QUAD $0x1f266c203a0f4266; BYTE $0x0c // pinsrb xmm5, byte [rsi + r12 + 31], 12 + QUAD $0x1e0664203a0f4266; BYTE $0x0d // pinsrb xmm4, byte [rsi + r8 + 30], 13 + QUAD $0x1f066c203a0f4266; BYTE $0x0d // pinsrb xmm5, byte [rsi + r8 + 31], 13 + QUAD $0x0e1e0664203a0f66 // pinsrb xmm4, byte [rsi + rax + 30], 14 + QUAD $0x0e1f066c203a0f66 // pinsrb xmm5, byte [rsi + rax + 31], 14 QUAD $0x1e2e64203a0f4266; BYTE $0x0f // pinsrb xmm4, byte [rsi + r13 + 30], 15 QUAD $0x0000013095db0f66 // pand xmm2, oword 304[rbp] /* [rip + .LCPI10_19] */ QUAD $0x000001409ddb0f66 // pand xmm3, oword 320[rbp] /* [rip + .LCPI10_20] */ @@ -51589,7 +53074,7 @@ LBB10_195: LONG $0xc8eb0f66 // por xmm1, xmm0 LONG $0x6f0f4166; BYTE $0xc2 // movdqa xmm0, xmm10 LONG $0xc1600f66 // punpcklbw xmm0, xmm1 - QUAD $0x0000a024a46f0f66; BYTE $0x00 // movdqa xmm4, oword [rsp + 160] + QUAD $0x00011024a46f0f66; BYTE $0x00 // movdqa xmm4, oword [rsp + 272] LONG $0xd46f0f66 // movdqa xmm2, xmm4 LONG $0x600f4166; BYTE $0xd6 // punpcklbw xmm2, xmm14 LONG $0xda6f0f66 // movdqa xmm3, xmm2 @@ -51606,25 +53091,24 @@ LBB10_195: LONG $0x7f0f41f3; WORD $0x8e54; BYTE $0x10 // movdqu oword [r14 + 4*rcx + 16], xmm2 LONG $0x7f0f41f3; WORD $0x8e1c // movdqu oword [r14 + 4*rcx], xmm3 LONG $0x10c18348 // add rcx, 16 - WORD $0x8948; BYTE $0xca // mov rdx, rcx + WORD $0x8948; BYTE $0xc8 // mov rax, rcx QUAD $0x000001a0248c3b48 // cmp rcx, qword [rsp + 416] - JNE LBB10_195 + JNE LBB10_67 QUAD $0x000001d024bc8b4c // mov r15, qword [rsp + 464] QUAD $0x000001a024bc3b4c // cmp r15, qword [rsp + 416] LONG $0x245c8a44; BYTE $0x08 // mov r11b, byte [rsp + 8] QUAD $0x0000018824b48b48 // mov rsi, qword [rsp + 392] LONG $0x24548b4c; BYTE $0x48 // mov r10, qword [rsp + 72] - JNE LBB10_67 - JMP LBB10_132 + JNE LBB10_69 + JMP LBB10_72 -LBB10_197: - WORD $0x894c; BYTE $0xf8 // mov rax, r15 - LONG $0xf8e08348 // and rax, -8 - WORD $0x8949; BYTE $0xc3 // mov r11, rax +LBB10_124: + LONG $0xf8e78349 // and r15, -8 + WORD $0x894d; BYTE $0xfb // mov r11, r15 LONG $0x06e3c149 // shl r11, 6 WORD $0x0149; BYTE $0xf3 // add r11, rsi - QUAD $0x0000019024848948 // mov qword [rsp + 400], rax - LONG $0x86048d49 // lea rax, [r14 + 4*rax] + QUAD $0x0000019024bc894c // mov qword [rsp + 400], r15 + LONG $0xbe048d4b // lea rax, [r14 + 4*r15] LONG $0x24448948; BYTE $0x08 // mov qword [rsp + 8], rax QUAD $0x00018824846e0f66; BYTE $0x00 // movd xmm0, dword [rsp + 392] LONG $0xc0700ff2; BYTE $0xe0 // pshuflw xmm0, xmm0, 224 @@ -51632,7 +53116,7 @@ LBB10_197: QUAD $0x0001d024847f0f66; BYTE $0x00 // movdqa oword [rsp + 464], xmm0 WORD $0x3145; BYTE $0xd2 // xor r10d, r10d -LBB10_198: +LBB10_125: WORD $0x894d; BYTE $0xd1 // mov r9, r10 LONG $0x06e1c149 // shl r9, 6 WORD $0x894d; BYTE $0xc8 // mov r8, r9 @@ -51728,7 +53212,7 @@ LBB10_198: QUAD $0x06082664c40f4666 // pinsrw xmm12, word [rsi + r12 + 8], 6 QUAD $0x07082e64c40f4666 // pinsrw xmm12, word [rsi + r13 + 8], 7 LONG $0x650f4166; BYTE $0xfa // pcmpgtw xmm7, xmm10 - LONG $0x7c7f0f66; WORD $0x7024 // movdqa oword [rsp + 112], xmm7 + QUAD $0x00009024bc7f0f66; BYTE $0x00 // movdqa oword [rsp + 144], xmm7 LONG $0xf86f0f66 // movdqa xmm7, xmm0 LONG $0x650f4166; BYTE $0xfc // pcmpgtw xmm7, xmm12 LONG $0x7c7f0f66; WORD $0x2024 // movdqa oword [rsp + 32], xmm7 @@ -51787,7 +53271,7 @@ LBB10_198: QUAD $0x05143e5cc40f4266 // pinsrw xmm3, word [rsi + r15 + 20], 5 QUAD $0x0614265cc40f4266 // pinsrw xmm3, word [rsi + r12 + 20], 6 LONG $0xca650f66 // pcmpgtw xmm1, xmm2 - QUAD $0x0000b0248c7f0f66; BYTE $0x00 // movdqa oword [rsp + 176], xmm1 + QUAD $0x0000a0248c7f0f66; BYTE $0x00 // movdqa oword [rsp + 160], xmm1 QUAD $0x07142e5cc40f4266 // pinsrw xmm3, word [rsi + r13 + 20], 7 LONG $0xc86f0f66 // movdqa xmm1, xmm0 LONG $0xcb650f66 // pcmpgtw xmm1, xmm3 @@ -51808,7 +53292,7 @@ LBB10_198: QUAD $0x0618266cc40f4266 // pinsrw xmm5, word [rsi + r12 + 24], 6 QUAD $0x07182e6cc40f4266 // pinsrw xmm5, word [rsi + r13 + 24], 7 LONG $0xcc650f66 // pcmpgtw xmm1, xmm4 - QUAD $0x0000c0248c7f0f66; BYTE $0x00 // movdqa oword [rsp + 192], xmm1 + QUAD $0x0000b0248c7f0f66; BYTE $0x00 // movdqa oword [rsp + 176], xmm1 LONG $0xc86f0f66 // movdqa xmm1, xmm0 LONG $0xcd650f66 // pcmpgtw xmm1, xmm5 LONG $0x4c7f0f66; WORD $0x1024 // movdqa oword [rsp + 16], xmm1 @@ -51827,7 +53311,7 @@ LBB10_198: QUAD $0x051c3e7cc40f4666 // pinsrw xmm15, word [rsi + r15 + 28], 5 QUAD $0x061c267cc40f4666 // pinsrw xmm15, word [rsi + r12 + 28], 6 LONG $0xce650f66 // pcmpgtw xmm1, xmm6 - QUAD $0x0000d0248c7f0f66; BYTE $0x00 // movdqa oword [rsp + 208], xmm1 + QUAD $0x0000c0248c7f0f66; BYTE $0x00 // movdqa oword [rsp + 192], xmm1 QUAD $0x071c2e7cc40f4666 // pinsrw xmm15, word [rsi + r13 + 28], 7 LONG $0xca6e0f66 // movd xmm1, edx LONG $0x4cc40f66; WORD $0x1e0e; BYTE $0x01 // pinsrw xmm1, word [rsi + rcx + 30], 1 @@ -51838,11 +53322,11 @@ LBB10_198: QUAD $0x061e264cc40f4266 // pinsrw xmm1, word [rsi + r12 + 30], 6 LONG $0xd06f0f66 // movdqa xmm2, xmm0 LONG $0x650f4166; BYTE $0xd7 // pcmpgtw xmm2, xmm15 - QUAD $0x0000f024947f0f66; BYTE $0x00 // movdqa oword [rsp + 240], xmm2 + QUAD $0x0000e024947f0f66; BYTE $0x00 // movdqa oword [rsp + 224], xmm2 QUAD $0x071e2e4cc40f4266 // pinsrw xmm1, word [rsi + r13 + 30], 7 LONG $0xd06f0f66 // movdqa xmm2, xmm0 LONG $0xd1650f66 // pcmpgtw xmm2, xmm1 - QUAD $0x00009024947f0f66; BYTE $0x00 // movdqa oword [rsp + 144], xmm2 + LONG $0x547f0f66; WORD $0x7024 // movdqa oword [rsp + 112], xmm2 LONG $0x44b70f42; WORD $0x200e // movzx eax, word [rsi + r9 + 32] LONG $0xc86e0f66 // movd xmm1, eax LONG $0x4cc40f66; WORD $0x200e; BYTE $0x01 // pinsrw xmm1, word [rsi + rcx + 32], 1 @@ -51863,10 +53347,10 @@ LBB10_198: QUAD $0x07222e54c40f4266 // pinsrw xmm2, word [rsi + r13 + 34], 7 LONG $0xd86f0f66 // movdqa xmm3, xmm0 LONG $0xd9650f66 // pcmpgtw xmm3, xmm1 - QUAD $0x0000e0249c7f0f66; BYTE $0x00 // movdqa oword [rsp + 224], xmm3 + QUAD $0x0000d0249c7f0f66; BYTE $0x00 // movdqa oword [rsp + 208], xmm3 LONG $0xc86f0f66 // movdqa xmm1, xmm0 LONG $0xca650f66 // pcmpgtw xmm1, xmm2 - QUAD $0x000120248c7f0f66; BYTE $0x00 // movdqa oword [rsp + 288], xmm1 + QUAD $0x000100248c7f0f66; BYTE $0x00 // movdqa oword [rsp + 256], xmm1 LONG $0x44b70f42; WORD $0x240e // movzx eax, word [rsi + r9 + 36] LONG $0xc86e0f66 // movd xmm1, eax LONG $0x4cc40f66; WORD $0x240e; BYTE $0x01 // pinsrw xmm1, word [rsi + rcx + 36], 1 @@ -51886,11 +53370,11 @@ LBB10_198: QUAD $0x06262654c40f4266 // pinsrw xmm2, word [rsi + r12 + 38], 6 LONG $0xd86f0f66 // movdqa xmm3, xmm0 LONG $0xd9650f66 // pcmpgtw xmm3, xmm1 - QUAD $0x000100249c7f0f66; BYTE $0x00 // movdqa oword [rsp + 256], xmm3 + QUAD $0x000120249c7f0f66; BYTE $0x00 // movdqa oword [rsp + 288], xmm3 QUAD $0x07262e54c40f4266 // pinsrw xmm2, word [rsi + r13 + 38], 7 LONG $0xc86f0f66 // movdqa xmm1, xmm0 LONG $0xca650f66 // pcmpgtw xmm1, xmm2 - QUAD $0x000110248c7f0f66; BYTE $0x00 // movdqa oword [rsp + 272], xmm1 + QUAD $0x000130248c7f0f66; BYTE $0x00 // movdqa oword [rsp + 304], xmm1 LONG $0x44b70f42; WORD $0x280e // movzx eax, word [rsi + r9 + 40] LONG $0xc86e0f66 // movd xmm1, eax LONG $0x4cc40f66; WORD $0x280e; BYTE $0x01 // pinsrw xmm1, word [rsi + rcx + 40], 1 @@ -51911,10 +53395,10 @@ LBB10_198: QUAD $0x072a2e54c40f4266 // pinsrw xmm2, word [rsi + r13 + 42], 7 LONG $0xd86f0f66 // movdqa xmm3, xmm0 LONG $0xd9650f66 // pcmpgtw xmm3, xmm1 - QUAD $0x000130249c7f0f66; BYTE $0x00 // movdqa oword [rsp + 304], xmm3 + QUAD $0x000150249c7f0f66; BYTE $0x00 // movdqa oword [rsp + 336], xmm3 LONG $0xc86f0f66 // movdqa xmm1, xmm0 LONG $0xca650f66 // pcmpgtw xmm1, xmm2 - QUAD $0x000150248c7f0f66; BYTE $0x00 // movdqa oword [rsp + 336], xmm1 + QUAD $0x000110248c7f0f66; BYTE $0x00 // movdqa oword [rsp + 272], xmm1 LONG $0x44b70f42; WORD $0x2c0e // movzx eax, word [rsi + r9 + 44] LONG $0xc86e0f66 // movd xmm1, eax LONG $0x4cc40f66; WORD $0x2c0e; BYTE $0x01 // pinsrw xmm1, word [rsi + rcx + 44], 1 @@ -51938,7 +53422,7 @@ LBB10_198: QUAD $0x072e2e54c40f4266 // pinsrw xmm2, word [rsi + r13 + 46], 7 LONG $0xc86f0f66 // movdqa xmm1, xmm0 LONG $0xca650f66 // pcmpgtw xmm1, xmm2 - QUAD $0x0000a0248c7f0f66; BYTE $0x00 // movdqa oword [rsp + 160], xmm1 + QUAD $0x0000f0248c7f0f66; BYTE $0x00 // movdqa oword [rsp + 240], xmm1 LONG $0x44b70f42; WORD $0x300e // movzx eax, word [rsi + r9 + 48] LONG $0xc86e0f66 // movd xmm1, eax LONG $0x4cc40f66; WORD $0x300e; BYTE $0x01 // pinsrw xmm1, word [rsi + rcx + 48], 1 @@ -52047,7 +53531,7 @@ LBB10_198: LONG $0x760f4566; BYTE $0xc0 // pcmpeqd xmm8, xmm8 LONG $0xc0630f66 // packsswb xmm0, xmm0 LONG $0xf8f80f66 // psubb xmm7, xmm0 - LONG $0x546f0f66; WORD $0x7024 // movdqa xmm2, oword [rsp + 112] + QUAD $0x00009024946f0f66; BYTE $0x00 // movdqa xmm2, oword [rsp + 144] LONG $0xd2630f66 // packsswb xmm2, xmm2 QUAD $0x0000a09d6f0f4466; BYTE $0x00 // movdqa xmm11, oword 160[rbp] /* [rip + .LCPI10_10] */ LONG $0xc26f0f66 // movdqa xmm0, xmm2 @@ -52077,7 +53561,7 @@ LBB10_198: LONG $0xc26f0f66 // movdqa xmm0, xmm2 LONG $0x380f4466; WORD $0xf410 // pblendvb xmm14, xmm4, xmm0 LONG $0xeb0f4166; BYTE $0xcb // por xmm1, xmm11 - QUAD $0x0000b024846f0f66; BYTE $0x00 // movdqa xmm0, oword [rsp + 176] + QUAD $0x0000a024846f0f66; BYTE $0x00 // movdqa xmm0, oword [rsp + 160] LONG $0xc0630f66 // packsswb xmm0, xmm0 LONG $0x6f0f4466; BYTE $0xdb // movdqa xmm11, xmm3 LONG $0xfb6f0f66 // movdqa xmm7, xmm3 @@ -52092,7 +53576,7 @@ LBB10_198: QUAD $0x000000909d6f0f66 // movdqa xmm3, oword 144[rbp] /* [rip + .LCPI10_9] */ LONG $0xcb6f0f66 // movdqa xmm1, xmm3 LONG $0x10380f66; BYTE $0xcc // pblendvb xmm1, xmm4, xmm0 - QUAD $0x0000c024846f0f66; BYTE $0x00 // movdqa xmm0, oword [rsp + 192] + QUAD $0x0000b024846f0f66; BYTE $0x00 // movdqa xmm0, oword [rsp + 176] LONG $0xc0630f66 // packsswb xmm0, xmm0 QUAD $0x0000a0856f0f4466; BYTE $0x00 // movdqa xmm8, oword 160[rbp] /* [rip + .LCPI10_10] */ LONG $0x6f0f4166; BYTE $0xd0 // movdqa xmm2, xmm8 @@ -52103,42 +53587,42 @@ LBB10_198: LONG $0xc0630f66 // packsswb xmm0, xmm0 QUAD $0x000000b08d6f0f66 // movdqa xmm1, oword 176[rbp] /* [rip + .LCPI10_11] */ LONG $0x10380f66; BYTE $0xcc // pblendvb xmm1, xmm4, xmm0 - QUAD $0x0000d024846f0f66; BYTE $0x00 // movdqa xmm0, oword [rsp + 208] + QUAD $0x0000c024846f0f66; BYTE $0x00 // movdqa xmm0, oword [rsp + 192] LONG $0xc0630f66 // packsswb xmm0, xmm0 LONG $0x380f4466; WORD $0xd410 // pblendvb xmm10, xmm4, xmm0 LONG $0xeb0f4466; BYTE $0xd1 // por xmm10, xmm1 - QUAD $0x0000f024846f0f66; BYTE $0x00 // movdqa xmm0, oword [rsp + 240] + QUAD $0x0000e024846f0f66; BYTE $0x00 // movdqa xmm0, oword [rsp + 224] LONG $0xc0630f66 // packsswb xmm0, xmm0 QUAD $0x000000d08d6f0f66 // movdqa xmm1, oword 208[rbp] /* [rip + .LCPI10_13] */ LONG $0x10380f66; BYTE $0xcc // pblendvb xmm1, xmm4, xmm0 LONG $0xeb0f4166; BYTE $0xca // por xmm1, xmm10 LONG $0xcaeb0f66 // por xmm1, xmm2 - QUAD $0x00009024846f0f66; BYTE $0x00 // movdqa xmm0, oword [rsp + 144] + LONG $0x446f0f66; WORD $0x7024 // movdqa xmm0, oword [rsp + 112] LONG $0xc0630f66 // packsswb xmm0, xmm0 QUAD $0x0000e0956f0f4466; BYTE $0x00 // movdqa xmm10, oword 224[rbp] /* [rip + .LCPI10_14] */ LONG $0x380f4466; WORD $0xd410 // pblendvb xmm10, xmm4, xmm0 LONG $0xeb0f4466; BYTE $0xd1 // por xmm10, xmm1 - QUAD $0x00012024846f0f66; BYTE $0x00 // movdqa xmm0, oword [rsp + 288] + QUAD $0x00010024846f0f66; BYTE $0x00 // movdqa xmm0, oword [rsp + 256] LONG $0xc0630f66 // packsswb xmm0, xmm0 LONG $0x6f0f4166; BYTE $0xcb // movdqa xmm1, xmm11 LONG $0x10380f66; BYTE $0xcc // pblendvb xmm1, xmm4, xmm0 - QUAD $0x00010024846f0f66; BYTE $0x00 // movdqa xmm0, oword [rsp + 256] + QUAD $0x00012024846f0f66; BYTE $0x00 // movdqa xmm0, oword [rsp + 288] LONG $0xc0630f66 // packsswb xmm0, xmm0 LONG $0xd36f0f66 // movdqa xmm2, xmm3 LONG $0x10380f66; BYTE $0xd4 // pblendvb xmm2, xmm4, xmm0 - QUAD $0x0000e024846f0f66; BYTE $0x00 // movdqa xmm0, oword [rsp + 224] + QUAD $0x0000d024846f0f66; BYTE $0x00 // movdqa xmm0, oword [rsp + 208] QUAD $0x0000016085ef0f66 // pxor xmm0, oword 352[rbp] /* [rip + .LCPI10_22] */ LONG $0xdb760f66 // pcmpeqd xmm3, xmm3 LONG $0xc0630f66 // packsswb xmm0, xmm0 LONG $0xc8f80f66 // psubb xmm1, xmm0 - QUAD $0x00011024846f0f66; BYTE $0x00 // movdqa xmm0, oword [rsp + 272] + QUAD $0x00013024846f0f66; BYTE $0x00 // movdqa xmm0, oword [rsp + 304] LONG $0xc0630f66 // packsswb xmm0, xmm0 LONG $0x6f0f4166; BYTE $0xf8 // movdqa xmm7, xmm8 LONG $0x10380f66; BYTE $0xfc // pblendvb xmm7, xmm4, xmm0 LONG $0xfaeb0f66 // por xmm7, xmm2 - QUAD $0x00013024846f0f66; BYTE $0x00 // movdqa xmm0, oword [rsp + 304] + QUAD $0x00015024846f0f66; BYTE $0x00 // movdqa xmm0, oword [rsp + 336] LONG $0xc0630f66 // packsswb xmm0, xmm0 - QUAD $0x0150249c6f0f4466; WORD $0x0000 // movdqa xmm11, oword [rsp + 336] + QUAD $0x0110249c6f0f4466; WORD $0x0000 // movdqa xmm11, oword [rsp + 272] LONG $0x630f4566; BYTE $0xdb // packsswb xmm11, xmm11 LONG $0xf9eb0f66 // por xmm7, xmm1 QUAD $0x000000b08d6f0f66 // movdqa xmm1, oword 176[rbp] /* [rip + .LCPI10_11] */ @@ -52152,7 +53636,7 @@ LBB10_198: QUAD $0x000000d08d6f0f66 // movdqa xmm1, oword 208[rbp] /* [rip + .LCPI10_13] */ LONG $0x10380f66; BYTE $0xcc // pblendvb xmm1, xmm4, xmm0 LONG $0xcaeb0f66 // por xmm1, xmm2 - QUAD $0x0000a024846f0f66; BYTE $0x00 // movdqa xmm0, oword [rsp + 160] + QUAD $0x0000f024846f0f66; BYTE $0x00 // movdqa xmm0, oword [rsp + 240] LONG $0xc0630f66 // packsswb xmm0, xmm0 QUAD $0x0170249c6f0f4466; WORD $0x0000 // movdqa xmm11, oword [rsp + 368] LONG $0x630f4566; BYTE $0xdb // packsswb xmm11, xmm11 @@ -52210,28 +53694,28 @@ LBB10_198: LONG $0x7f0f43f3; WORD $0x9644; BYTE $0x10 // movdqu oword [r14 + 4*r10 + 16], xmm0 LONG $0x08c28349 // add r10, 8 QUAD $0x0000019024943b4c // cmp r10, qword [rsp + 400] - JNE LBB10_198 + JNE LBB10_125 QUAD $0x000001c824bc8b4c // mov r15, qword [rsp + 456] QUAD $0x0000019024bc3b4c // cmp r15, qword [rsp + 400] LONG $0x24548b4c; BYTE $0x48 // mov r10, qword [rsp + 72] LONG $0x24648b4c; BYTE $0x08 // mov r12, qword [rsp + 8] - JNE LBB10_101 - JMP LBB10_136 + JNE LBB10_127 + JMP LBB10_130 -LBB10_200: - WORD $0x894d; BYTE $0xd8 // mov r8, r11 - LONG $0xfce08349 // and r8, -4 - WORD $0x894c; BYTE $0xc3 // mov rbx, r8 - LONG $0x07e3c148 // shl rbx, 7 - WORD $0x0148; BYTE $0xf3 // add rbx, rsi - LONG $0x863c8d4f // lea r15, [r14 + 4*r8] +LBB10_182: + WORD $0x894c; BYTE $0xd8 // mov rax, r11 + LONG $0xfce08348 // and rax, -4 + WORD $0x8948; BYTE $0xc2 // mov rdx, rax + LONG $0x07e2c148 // shl rdx, 7 + WORD $0x0148; BYTE $0xf2 // add rdx, rsi + LONG $0x863c8d4d // lea r15, [r14 + 4*rax] LONG $0xeb280f45 // movaps xmm13, xmm11 LONG $0xebc60f45; BYTE $0x00 // shufps xmm13, xmm11, 0 LONG $0xfcc68148; WORD $0x0001; BYTE $0x00 // add rsi, 508 WORD $0xc931 // xor ecx, ecx LONG $0x6f0f4466; WORD $0x007d // movdqa xmm15, oword 0[rbp] /* [rip + .LCPI10_0] */ -LBB10_201: +LBB10_183: QUAD $0xfffffe049e100ff3 // movss xmm3, dword [rsi - 508] QUAD $0xfffe0896100f44f3; BYTE $0xff // movss xmm10, dword [rsi - 504] QUAD $0xfffe0c8e100f44f3; BYTE $0xff // movss xmm9, dword [rsi - 500] @@ -52618,11 +54102,11 @@ LBB10_201: LONG $0x7f0f45f3; WORD $0x8e04 // movdqu oword [r14 + 4*rcx], xmm8 LONG $0x04c18348 // add rcx, 4 LONG $0x00c68148; WORD $0x0002; BYTE $0x00 // add rsi, 512 - WORD $0x3949; BYTE $0xc8 // cmp r8, rcx - JNE LBB10_201 - WORD $0x394d; BYTE $0xc3 // cmp r11, r8 - JNE LBB10_124 - JMP LBB10_140 + WORD $0x3948; BYTE $0xc8 // cmp rax, rcx + JNE LBB10_183 + WORD $0x3949; BYTE $0xc3 // cmp r11, rax + JNE LBB10_185 + JMP LBB10_188 DATA LCDATA8<>+0x000(SB)/8, $0x0000000001010101 DATA LCDATA8<>+0x008(SB)/8, $0x0000000000000000 diff --git a/arrow/compute/internal/kernels/scalar_comparisons.go b/arrow/compute/internal/kernels/scalar_comparisons.go index 2239aec7..55bbeb78 100644 --- a/arrow/compute/internal/kernels/scalar_comparisons.go +++ b/arrow/compute/internal/kernels/scalar_comparisons.go @@ -29,6 +29,7 @@ import ( "github.com/apache/arrow-go/v18/arrow/decimal128" "github.com/apache/arrow-go/v18/arrow/decimal256" "github.com/apache/arrow-go/v18/arrow/internal/debug" + "github.com/apache/arrow-go/v18/arrow/memory" "github.com/apache/arrow-go/v18/arrow/scalar" "github.com/apache/arrow-go/v18/internal/bitutils" ) @@ -699,3 +700,48 @@ func CompareKernels(op CompareOperator) []exec.ScalarKernel { return kns } + +func isNullExec(ctx *exec.KernelCtx, batch *exec.ExecSpan, out *exec.ExecResult) error { + out.Release() + input := batch.Values[0].Array + + validityBuf := input.GetBuffer(0) + out.Buffers[1].WrapBuffer(ctx.AllocateBitmap(input.Len)) + if validityBuf != nil { + bitutil.InvertBitmap(validityBuf.Bytes(), int(input.Offset), int(input.Len), + out.Buffers[1].Buf, 0) + } + + return nil +} + +func isNotNullExec(ctx *exec.KernelCtx, batch *exec.ExecSpan, out *exec.ExecResult) error { + out.Release() + input := batch.Values[0].Array + + validityBuf := input.GetBuffer(0) + if validityBuf == nil { + out.Buffers[1].WrapBuffer(ctx.AllocateBitmap(input.Len)) + memory.Set(out.Buffers[1].Buf, 0xFF) + } else { + out.Buffers[1].SetBuffer(validityBuf) + } + + return nil +} + +func IsNullKernels() []exec.ScalarKernel { + in := exec.InputType{Kind: exec.InputAny} + out := exec.NewOutputType(arrow.FixedWidthTypes.Boolean) + + results := make([]exec.ScalarKernel, 2) + results[0] = exec.NewScalarKernel([]exec.InputType{in}, out, isNullExec, nil) + results[0].NullHandling = exec.NullComputedNoPrealloc + results[0].MemAlloc = exec.MemNoPrealloc + + results[1] = exec.NewScalarKernel([]exec.InputType{in}, out, isNotNullExec, nil) + results[1].NullHandling = exec.NullComputedNoPrealloc + results[1].MemAlloc = exec.MemNoPrealloc + + return results +} diff --git a/arrow/compute/scalar_compare.go b/arrow/compute/scalar_compare.go index faab2e7b..998d2282 100644 --- a/arrow/compute/scalar_compare.go +++ b/arrow/compute/scalar_compare.go @@ -20,10 +20,12 @@ package compute import ( "context" + "fmt" "github.com/apache/arrow-go/v18/arrow" "github.com/apache/arrow-go/v18/arrow/compute/exec" "github.com/apache/arrow-go/v18/arrow/compute/internal/kernels" + "github.com/apache/arrow-go/v18/arrow/scalar" ) type compareFunction struct { @@ -134,4 +136,50 @@ func RegisterScalarComparisons(reg FunctionRegistry) { reg.AddFunction(ltFn, false) lteFn := makeFlippedCompare("less_equal", gteFn, EmptyFuncDoc) reg.AddFunction(lteFn, false) + + isOrNotNullKns := kernels.IsNullKernels() + isNullFn := &compareFunction{*NewScalarFunction("is_null", Unary(), EmptyFuncDoc)} + if err := isNullFn.AddKernel(isOrNotNullKns[0]); err != nil { + panic(err) + } + + isNotNullFn := &compareFunction{*NewScalarFunction("is_not_null", Unary(), EmptyFuncDoc)} + if err := isNotNullFn.AddKernel(isOrNotNullKns[1]); err != nil { + panic(err) + } + + reg.AddFunction(isNullFn, false) + reg.AddFunction(isNotNullFn, false) + + reg.AddFunction(NewMetaFunction("is_nan", Unary(), EmptyFuncDoc, + func(ctx context.Context, opts FunctionOptions, args ...Datum) (Datum, error) { + switch args[0].Kind() { + case KindScalar: + arg := args[0].(*ScalarDatum) + switch arg.Type() { + case arrow.PrimitiveTypes.Float32, arrow.PrimitiveTypes.Float64: + // IEEE 754 says that only NAN satisfies f != f + return CallFunction(ctx, "not_equal", nil, arg, arg) + default: + return NewDatum(true), nil + } + case KindArray, KindChunked: + arg := args[0].(ArrayLikeDatum) + switch arg.Type() { + case arrow.PrimitiveTypes.Float32, arrow.PrimitiveTypes.Float64: + // IEEE 754 says that only NAN satisfies f != f + return CallFunction(ctx, "not_equal", nil, arg, arg) + default: + result, err := scalar.MakeArrayFromScalar(scalar.NewBooleanScalar(false), + int(arg.Len()), GetAllocator(ctx)) + if err != nil { + return nil, err + } + return NewDatumWithoutOwning(result), nil + } + default: + return nil, fmt.Errorf("%w: unsupported type for is_nan %s", + arrow.ErrNotImplemented, args[0]) + } + }), false) } diff --git a/arrow/compute/scalar_compare_test.go b/arrow/compute/scalar_compare_test.go index fdfa3e80..ba7e110f 100644 --- a/arrow/compute/scalar_compare_test.go +++ b/arrow/compute/scalar_compare_test.go @@ -1421,6 +1421,96 @@ func benchArrayScalar(b *testing.B, sz int, nullprob float64, op string, dt arro }) } +type ScalarValiditySuite struct { + suite.Suite + + mem *memory.CheckedAllocator + ctx context.Context +} + +func (sv *ScalarValiditySuite) SetupTest() { + sv.mem = memory.NewCheckedAllocator(memory.DefaultAllocator) + sv.ctx = compute.WithAllocator(context.TODO(), sv.mem) +} + +func (sv *ScalarValiditySuite) TearDownTest() { + sv.mem.AssertSize(sv.T(), 0) +} + +func (sv *ScalarValiditySuite) getArr(dt arrow.DataType, str string) arrow.Array { + arr, _, err := array.FromJSON(sv.mem, dt, strings.NewReader(str), array.WithUseNumber()) + sv.Require().NoError(err) + return arr +} + +func (sv *ScalarValiditySuite) checkScalarUnary(funcName string, input arrow.Array, expected arrow.Array) { + defer input.Release() + defer expected.Release() + + checkScalarUnary(sv.T(), funcName, compute.NewDatumWithoutOwning(input), compute.NewDatumWithoutOwning(expected), nil) +} + +func (sv *ScalarValiditySuite) TestIsNull() { + tests := []struct { + in string + expected string + }{ + {`[]`, `[]`}, + {`[1]`, `[false]`}, + {`[null]`, `[true]`}, + {`[null, 1, 0, null]`, `[true, false, false, true]`}, + } + + for _, typ := range numericTypes { + for _, tt := range tests { + sv.checkScalarUnary("is_null", sv.getArr(typ, tt.in), + sv.getArr(arrow.FixedWidthTypes.Boolean, tt.expected)) + } + } +} + +func (sv *ScalarValiditySuite) TestNotNull() { + tests := []struct { + in string + expected string + }{ + {`[]`, `[]`}, + {`[1]`, `[true]`}, + {`[null]`, `[false]`}, + {`[null, 1, 0, null]`, `[false, true, true, false]`}, + } + + for _, typ := range numericTypes { + for _, tt := range tests { + sv.checkScalarUnary("is_not_null", sv.getArr(typ, tt.in), + sv.getArr(arrow.FixedWidthTypes.Boolean, tt.expected)) + } + } +} + +func (sv *ScalarValiditySuite) TestIsNaN() { + tests := []struct { + in string + expected string + }{ + {`[]`, `[]`}, + {`[1]`, `[false]`}, + {`[null]`, `[null]`}, + {`["NaN", 1, 0, null]`, `[true, false, false, null]`}, + } + + for _, typ := range floatingTypes { + for _, tt := range tests { + sv.checkScalarUnary("is_nan", sv.getArr(typ, tt.in), + sv.getArr(arrow.FixedWidthTypes.Boolean, tt.expected)) + } + } +} + +func TestScalarValidity(t *testing.T) { + suite.Run(t, &ScalarValiditySuite{}) +} + func benchArrayArray(b *testing.B, sz int, nullprob float64, op string, dt arrow.DataType) { b.Run(dt.String(), func(b *testing.B) { rng := gen.NewRandomArrayGenerator(benchSeed, memory.DefaultAllocator) diff --git a/go.mod b/go.mod index 641f9cc5..d4a68268 100644 --- a/go.mod +++ b/go.mod @@ -16,8 +16,9 @@ module github.com/apache/arrow-go/v18 -go 1.22 -toolchain go1.22.5 +go 1.22.0 + +toolchain go1.23.1 require ( github.com/JohnCGriffin/overflow v0.0.0-20211019200055-46fa312c352c @@ -35,13 +36,13 @@ require ( github.com/pierrec/lz4/v4 v4.1.21 github.com/stretchr/testify v1.9.0 github.com/zeebo/xxh3 v1.0.2 - golang.org/x/exp v0.0.0-20240222234643-814bf88cf225 + golang.org/x/exp v0.0.0-20240909161429-701f63a606c0 golang.org/x/sync v0.8.0 golang.org/x/sys v0.25.0 golang.org/x/tools v0.25.0 golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 gonum.org/v1/gonum v0.15.1 - google.golang.org/grpc v1.63.2 + google.golang.org/grpc v1.67.0 google.golang.org/protobuf v1.34.2 modernc.org/sqlite v1.29.6 ) @@ -49,13 +50,14 @@ require ( require ( github.com/google/uuid v1.6.0 github.com/hamba/avro/v2 v2.25.1 - github.com/huandu/xstrings v1.4.0 - github.com/substrait-io/substrait-go v0.8.0 + github.com/huandu/xstrings v1.5.0 + github.com/substrait-io/substrait-go v1.0.1 github.com/tidwall/sjson v1.2.5 ) require ( github.com/alecthomas/participle/v2 v2.1.0 // indirect + github.com/creasty/defaults v1.8.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/dustin/go-humanize v1.0.1 // indirect github.com/fatih/color v1.15.0 // indirect @@ -79,7 +81,7 @@ require ( golang.org/x/mod v0.21.0 // indirect golang.org/x/net v0.29.0 // indirect golang.org/x/text v0.18.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240227224415-6ceb2ff114de // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect modernc.org/gc/v3 v3.0.0-20240107210532-573471604cb6 // indirect modernc.org/libc v1.41.0 // indirect diff --git a/go.sum b/go.sum index 418a383d..892e76df 100644 --- a/go.sum +++ b/go.sum @@ -11,6 +11,8 @@ github.com/andybalholm/brotli v1.1.0/go.mod h1:sms7XGricyQI9K10gOSf56VKKWS4oLer5 github.com/apache/thrift v0.20.0 h1:631+KvYbsBZxmuJjYwhezVsrfc/TbqtZV4QcxOX1fOI= github.com/apache/thrift v0.20.0/go.mod h1:hOk1BQqcp2OLzGsyVXdfMk7YFlMxK3aoEVhjD06QhB8= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= +github.com/creasty/defaults v1.8.0 h1:z27FJxCAa0JKt3utc0sCImAEb+spPucmKoOdLHvHYKk= +github.com/creasty/defaults v1.8.0/go.mod h1:iGzKe6pbEHnpMPtfDXZEr0NVxWnPTjb1bbDy08fPzYM= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -30,8 +32,6 @@ github.com/goccy/go-json v0.10.3 h1:KZ5WoDbxAIgm2HNbYckL0se1fHD6rz5j4ywS6ebzDqA= github.com/goccy/go-json v0.10.3/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M= github.com/goccy/go-yaml v1.11.0 h1:n7Z+zx8S9f9KgzG6KtQKf+kwqXZlLNR2F6018Dgau54= github.com/goccy/go-yaml v1.11.0/go.mod h1:H+mJrWtjPTJAHvRbV09MCK9xYwODM+wRTVFFTWckfng= -github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= -github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/google/flatbuffers v24.3.25+incompatible h1:CX395cjN9Kke9mmalRoL3d81AtFUxJM+yDthflgJGkI= @@ -49,8 +49,8 @@ github.com/hashicorp/golang-lru/v2 v2.0.7 h1:a+bsQ5rvGLjzHuww6tVxozPZFVghXaHOwFs github.com/hashicorp/golang-lru/v2 v2.0.7/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM= github.com/hexops/gotextdiff v1.0.3 h1:gitA9+qJrrTCsiCl7+kh75nPqQt1cx4ZkudSTLoUqJM= github.com/hexops/gotextdiff v1.0.3/go.mod h1:pSWU5MAI3yDq+fZBTazCSJysOMbxWL1BSow5/V2vxeg= -github.com/huandu/xstrings v1.4.0 h1:D17IlohoQq4UcpqD7fDk80P7l+lwAmlFaBHgOipl2FU= -github.com/huandu/xstrings v1.4.0/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= +github.com/huandu/xstrings v1.5.0 h1:2ag3IFq9ZDANvthTwTiqSSZLjDc+BedvHPAp5tJy2TI= +github.com/huandu/xstrings v1.5.0/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/klauspost/asmfmt v1.3.2 h1:4Ri7ox3EwapiOjCki+hw14RyKk201CN4rzyCJRFLpK4= @@ -99,8 +99,8 @@ github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/ github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= -github.com/substrait-io/substrait-go v0.8.0 h1:mspbRB2o0yFs00VNVUbb/5BvnirG9ZXNQuTxM1zBfPw= -github.com/substrait-io/substrait-go v0.8.0/go.mod h1:7mjSvIaxk94bOF+YZn/vBOpHK4DWTpBv7nC/btjXCmc= +github.com/substrait-io/substrait-go v1.0.1 h1:oT0NKu7k9sgOZ55JfFzKcZ1UgaBBlbytV7LjzwyZhXs= +github.com/substrait-io/substrait-go v1.0.1/go.mod h1:LHzL5E0VL620yw4kBQCP+sQPmxhepPTQMDJQRbOe/T4= github.com/tidwall/gjson v1.14.2 h1:6BBkirS0rAHjumnjHF6qgy5d2YAJ1TLIaFE2lzfOLqo= github.com/tidwall/gjson v1.14.2/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= github.com/tidwall/match v1.1.1 h1:+Ho715JplO36QYgwN9PGYNhgZvoUSc9X2c80KVTi+GA= @@ -115,8 +115,8 @@ github.com/zeebo/xxh3 v1.0.2 h1:xZmwmqxHZA8AI603jOQ0tMqmBr9lPeFwGg6d+xy9DC0= github.com/zeebo/xxh3 v1.0.2/go.mod h1:5NWz9Sef7zIDm2JHfFlcQvNekmcEl9ekUZQQKCYaDcA= golang.org/x/crypto v0.27.0 h1:GXm2NjJrPaiv/h1tb2UH8QfgC/hOf/+z0p6PT8o1w7A= golang.org/x/crypto v0.27.0/go.mod h1:1Xngt8kV6Dvbssa53Ziq6Eqn0HqbZi5Z6R0ZpwQzt70= -golang.org/x/exp v0.0.0-20240222234643-814bf88cf225 h1:LfspQV/FYTatPTr/3HzIcmiUFH7PGP+OQ6mgDYo3yuQ= -golang.org/x/exp v0.0.0-20240222234643-814bf88cf225/go.mod h1:CxmFvTBINI24O/j8iY7H1xHzx2i4OsyguNBmN/uPtqc= +golang.org/x/exp v0.0.0-20240909161429-701f63a606c0 h1:e66Fs6Z+fZTbFBAxKfP3PALWBtpfqks2bwGcexMxgtk= +golang.org/x/exp v0.0.0-20240909161429-701f63a606c0/go.mod h1:2TbTHSBQa924w8M6Xs1QcRcFwyucIwBGpK1p2f1YFFY= golang.org/x/mod v0.21.0 h1:vvrHzRwRfVKSiLrG+d4FMl/Qi4ukBCE6kZlTUkDYRT0= golang.org/x/mod v0.21.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY= golang.org/x/net v0.29.0 h1:5ORfpBpCs4HzDYoodCDBbwHzdR5UrLBZ3sOnUJmFoHo= @@ -136,10 +136,10 @@ golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 h1:+cNy6SZtPcJQH3LJVLOSm golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90= gonum.org/v1/gonum v0.15.1 h1:FNy7N6OUZVUaWG9pTiD+jlhdQ3lMP+/LcTpJ6+a8sQ0= gonum.org/v1/gonum v0.15.1/go.mod h1:eZTZuRFrzu5pcyjN5wJhcIhnUdNijYxX1T2IcrOGY0o= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240227224415-6ceb2ff114de h1:cZGRis4/ot9uVm639a+rHCUaG0JJHEsdyzSQTMX+suY= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240227224415-6ceb2ff114de/go.mod h1:H4O17MA/PE9BsGx3w+a+W2VOLLD1Qf7oJneAoU6WktY= -google.golang.org/grpc v1.63.2 h1:MUeiw1B2maTVZthpU5xvASfTh3LDbxHd6IJ6QQVU+xM= -google.golang.org/grpc v1.63.2/go.mod h1:WAX/8DgncnokcFUldAxq7GeB5DXHDbMF+lLvDomNkRA= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1 h1:pPJltXNxVzT4pK9yD8vR9X75DaWYYmLGMsEvBfFQZzQ= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/grpc v1.67.0 h1:IdH9y6PF5MPSdAntIcpjQ+tXO41pcQsfZV2RxtQgVcw= +google.golang.org/grpc v1.67.0/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=