//+build !noasm !appengine
// AUTO-GENERATED BY C2GOASM -- DO NOT EDIT
DATA LCDATA1<>+0x000(SB)/8, $0x00ff00ff00ff00ff
DATA LCDATA1<>+0x008(SB)/8, $0x00ff00ff00ff00ff
DATA LCDATA1<>+0x010(SB)/8, $0x00ff00ff00ff00ff
DATA LCDATA1<>+0x018(SB)/8, $0x00ff00ff00ff00ff
GLOBL LCDATA1<>(SB), 8, $32
TEXT ยท_arithmetic_binary_avx2(SB), $0-48
MOVQ typ+0(FP), DI
MOVQ op+8(FP), SI
MOVQ inLeft+16(FP), DX
MOVQ inRight+24(FP), CX
MOVQ out+32(FP), R8
MOVQ len+40(FP), R9
LEAQ LCDATA1<>(SB), BP
LONG $0x14fe8040 // cmp sil, 20
JG LBB0_11
WORD $0x8440; BYTE $0xf6 // test sil, sil
JE LBB0_21
LONG $0x01fe8040 // cmp sil, 1
JE LBB0_287
LONG $0x02fe8040 // cmp sil, 2
JNE LBB0_825
WORD $0xff83; BYTE $0x06 // cmp edi, 6
JG LBB0_559
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JLE LBB0_6
WORD $0xff83; BYTE $0x04 // cmp edi, 4
JE LBB0_602
WORD $0xff83; BYTE $0x05 // cmp edi, 5
JE LBB0_614
WORD $0xff83; BYTE $0x06 // cmp edi, 6
JNE LBB0_825
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_825
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JAE LBB0_626
WORD $0xf631 // xor esi, esi
LBB0_631:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd0 // mov rax, r10
LONG $0x03e08348 // and rax, 3
JE LBB0_633
LBB0_632:
WORD $0x3c8b; BYTE $0xb1 // mov edi, dword [rcx + 4*rsi]
LONG $0xb23caf0f // imul edi, dword [rdx + 4*rsi]
LONG $0xb03c8941 // mov dword [r8 + 4*rsi], edi
LONG $0x01c68348 // add rsi, 1
LONG $0xffc08348 // add rax, -1
JNE LBB0_632
LBB0_633:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_825
LBB0_634:
WORD $0x048b; BYTE $0xb1 // mov eax, dword [rcx + 4*rsi]
LONG $0xb204af0f // imul eax, dword [rdx + 4*rsi]
LONG $0xb0048941 // mov dword [r8 + 4*rsi], eax
LONG $0x04b1448b // mov eax, dword [rcx + 4*rsi + 4]
LONG $0xb244af0f; BYTE $0x04 // imul eax, dword [rdx + 4*rsi + 4]
LONG $0xb0448941; BYTE $0x04 // mov dword [r8 + 4*rsi + 4], eax
LONG $0x08b1448b // mov eax, dword [rcx + 4*rsi + 8]
LONG $0xb244af0f; BYTE $0x08 // imul eax, dword [rdx + 4*rsi + 8]
LONG $0xb0448941; BYTE $0x08 // mov dword [r8 + 4*rsi + 8], eax
LONG $0x0cb1448b // mov eax, dword [rcx + 4*rsi + 12]
LONG $0xb244af0f; BYTE $0x0c // imul eax, dword [rdx + 4*rsi + 12]
LONG $0xb0448941; BYTE $0x0c // mov dword [r8 + 4*rsi + 12], eax
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB0_634
JMP LBB0_825
LBB0_11:
LONG $0x15fe8040 // cmp sil, 21
JE LBB0_154
LONG $0x16fe8040 // cmp sil, 22
JE LBB0_420
LONG $0x17fe8040 // cmp sil, 23
JNE LBB0_825
WORD $0xff83; BYTE $0x06 // cmp edi, 6
JG LBB0_695
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JLE LBB0_16
WORD $0xff83; BYTE $0x04 // cmp edi, 4
JE LBB0_738
WORD $0xff83; BYTE $0x05 // cmp edi, 5
JE LBB0_750
WORD $0xff83; BYTE $0x06 // cmp edi, 6
JNE LBB0_825
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_825
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JAE LBB0_762
WORD $0xf631 // xor esi, esi
LBB0_767:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd0 // mov rax, r10
LONG $0x03e08348 // and rax, 3
JE LBB0_769
LBB0_768:
WORD $0x3c8b; BYTE $0xb1 // mov edi, dword [rcx + 4*rsi]
LONG $0xb23caf0f // imul edi, dword [rdx + 4*rsi]
LONG $0xb03c8941 // mov dword [r8 + 4*rsi], edi
LONG $0x01c68348 // add rsi, 1
LONG $0xffc08348 // add rax, -1
JNE LBB0_768
LBB0_769:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_825
LBB0_770:
WORD $0x048b; BYTE $0xb1 // mov eax, dword [rcx + 4*rsi]
LONG $0xb204af0f // imul eax, dword [rdx + 4*rsi]
LONG $0xb0048941 // mov dword [r8 + 4*rsi], eax
LONG $0x04b1448b // mov eax, dword [rcx + 4*rsi + 4]
LONG $0xb244af0f; BYTE $0x04 // imul eax, dword [rdx + 4*rsi + 4]
LONG $0xb0448941; BYTE $0x04 // mov dword [r8 + 4*rsi + 4], eax
LONG $0x08b1448b // mov eax, dword [rcx + 4*rsi + 8]
LONG $0xb244af0f; BYTE $0x08 // imul eax, dword [rdx + 4*rsi + 8]
LONG $0xb0448941; BYTE $0x08 // mov dword [r8 + 4*rsi + 8], eax
LONG $0x0cb1448b // mov eax, dword [rcx + 4*rsi + 12]
LONG $0xb244af0f; BYTE $0x0c // imul eax, dword [rdx + 4*rsi + 12]
LONG $0xb0448941; BYTE $0x0c // mov dword [r8 + 4*rsi + 12], eax
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB0_770
JMP LBB0_825
LBB0_21:
WORD $0xff83; BYTE $0x06 // cmp edi, 6
JG LBB0_34
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JLE LBB0_23
WORD $0xff83; BYTE $0x04 // cmp edi, 4
JE LBB0_67
WORD $0xff83; BYTE $0x05 // cmp edi, 5
JE LBB0_79
WORD $0xff83; BYTE $0x06 // cmp edi, 6
JNE LBB0_825
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_825
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JAE LBB0_91
WORD $0xf631 // xor esi, esi
JMP LBB0_96
LBB0_287:
WORD $0xff83; BYTE $0x06 // cmp edi, 6
JG LBB0_300
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JLE LBB0_289
WORD $0xff83; BYTE $0x04 // cmp edi, 4
JE LBB0_333
WORD $0xff83; BYTE $0x05 // cmp edi, 5
JE LBB0_345
WORD $0xff83; BYTE $0x06 // cmp edi, 6
JNE LBB0_825
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_825
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JAE LBB0_357
WORD $0xf631 // xor esi, esi
LBB0_362:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd0 // mov rax, r10
LONG $0x03e08348 // and rax, 3
JE LBB0_364
LBB0_363:
WORD $0x3c8b; BYTE $0xb2 // mov edi, dword [rdx + 4*rsi]
WORD $0x3c2b; BYTE $0xb1 // sub edi, dword [rcx + 4*rsi]
LONG $0xb03c8941 // mov dword [r8 + 4*rsi], edi
LONG $0x01c68348 // add rsi, 1
LONG $0xffc08348 // add rax, -1
JNE LBB0_363
LBB0_364:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_825
LBB0_365:
WORD $0x048b; BYTE $0xb2 // mov eax, dword [rdx + 4*rsi]
WORD $0x042b; BYTE $0xb1 // sub eax, dword [rcx + 4*rsi]
LONG $0xb0048941 // mov dword [r8 + 4*rsi], eax
LONG $0x04b2448b // mov eax, dword [rdx + 4*rsi + 4]
LONG $0x04b1442b // sub eax, dword [rcx + 4*rsi + 4]
LONG $0xb0448941; BYTE $0x04 // mov dword [r8 + 4*rsi + 4], eax
LONG $0x08b2448b // mov eax, dword [rdx + 4*rsi + 8]
LONG $0x08b1442b // sub eax, dword [rcx + 4*rsi + 8]
LONG $0xb0448941; BYTE $0x08 // mov dword [r8 + 4*rsi + 8], eax
LONG $0x0cb2448b // mov eax, dword [rdx + 4*rsi + 12]
LONG $0x0cb1442b // sub eax, dword [rcx + 4*rsi + 12]
LONG $0xb0448941; BYTE $0x0c // mov dword [r8 + 4*rsi + 12], eax
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB0_365
JMP LBB0_825
LBB0_154:
WORD $0xff83; BYTE $0x06 // cmp edi, 6
JG LBB0_167
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JLE LBB0_156
WORD $0xff83; BYTE $0x04 // cmp edi, 4
JE LBB0_200
WORD $0xff83; BYTE $0x05 // cmp edi, 5
JE LBB0_212
WORD $0xff83; BYTE $0x06 // cmp edi, 6
JNE LBB0_825
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_825
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JAE LBB0_224
WORD $0xf631 // xor esi, esi
JMP LBB0_229
LBB0_420:
WORD $0xff83; BYTE $0x06 // cmp edi, 6
JG LBB0_433
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JLE LBB0_422
WORD $0xff83; BYTE $0x04 // cmp edi, 4
JE LBB0_466
WORD $0xff83; BYTE $0x05 // cmp edi, 5
JE LBB0_478
WORD $0xff83; BYTE $0x06 // cmp edi, 6
JNE LBB0_825
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_825
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JAE LBB0_490
WORD $0xf631 // xor esi, esi
LBB0_495:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd0 // mov rax, r10
LONG $0x03e08348 // and rax, 3
JE LBB0_497
LBB0_496:
WORD $0x3c8b; BYTE $0xb2 // mov edi, dword [rdx + 4*rsi]
WORD $0x3c2b; BYTE $0xb1 // sub edi, dword [rcx + 4*rsi]
LONG $0xb03c8941 // mov dword [r8 + 4*rsi], edi
LONG $0x01c68348 // add rsi, 1
LONG $0xffc08348 // add rax, -1
JNE LBB0_496
LBB0_497:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_825
LBB0_498:
WORD $0x048b; BYTE $0xb2 // mov eax, dword [rdx + 4*rsi]
WORD $0x042b; BYTE $0xb1 // sub eax, dword [rcx + 4*rsi]
LONG $0xb0048941 // mov dword [r8 + 4*rsi], eax
LONG $0x04b2448b // mov eax, dword [rdx + 4*rsi + 4]
LONG $0x04b1442b // sub eax, dword [rcx + 4*rsi + 4]
LONG $0xb0448941; BYTE $0x04 // mov dword [r8 + 4*rsi + 4], eax
LONG $0x08b2448b // mov eax, dword [rdx + 4*rsi + 8]
LONG $0x08b1442b // sub eax, dword [rcx + 4*rsi + 8]
LONG $0xb0448941; BYTE $0x08 // mov dword [r8 + 4*rsi + 8], eax
LONG $0x0cb2448b // mov eax, dword [rdx + 4*rsi + 12]
LONG $0x0cb1442b // sub eax, dword [rcx + 4*rsi + 12]
LONG $0xb0448941; BYTE $0x0c // mov dword [r8 + 4*rsi + 12], eax
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB0_498
JMP LBB0_825
LBB0_559:
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JLE LBB0_560
WORD $0xff83; BYTE $0x09 // cmp edi, 9
JE LBB0_656
WORD $0xff83; BYTE $0x0b // cmp edi, 11
JE LBB0_668
WORD $0xff83; BYTE $0x0c // cmp edi, 12
JNE LBB0_825
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_825
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JAE LBB0_680
WORD $0xf631 // xor esi, esi
LBB0_685:
WORD $0x8948; BYTE $0xf7 // mov rdi, rsi
WORD $0xf748; BYTE $0xd7 // not rdi
WORD $0x014c; BYTE $0xd7 // add rdi, r10
WORD $0x894c; BYTE $0xd0 // mov rax, r10
LONG $0x03e08348 // and rax, 3
JE LBB0_687
LBB0_686:
LONG $0x0410fbc5; BYTE $0xf1 // vmovsd xmm0, qword [rcx + 8*rsi]
LONG $0x0459fbc5; BYTE $0xf2 // vmulsd xmm0, xmm0, qword [rdx + 8*rsi]
LONG $0x117bc1c4; WORD $0xf004 // vmovsd qword [r8 + 8*rsi], xmm0
LONG $0x01c68348 // add rsi, 1
LONG $0xffc08348 // add rax, -1
JNE LBB0_686
LBB0_687:
LONG $0x03ff8348 // cmp rdi, 3
JB LBB0_825
LBB0_688:
LONG $0x0410fbc5; BYTE $0xf1 // vmovsd xmm0, qword [rcx + 8*rsi]
LONG $0x0459fbc5; BYTE $0xf2 // vmulsd xmm0, xmm0, qword [rdx + 8*rsi]
LONG $0x117bc1c4; WORD $0xf004 // vmovsd qword [r8 + 8*rsi], xmm0
LONG $0x4410fbc5; WORD $0x08f1 // vmovsd xmm0, qword [rcx + 8*rsi + 8]
LONG $0x4459fbc5; WORD $0x08f2 // vmulsd xmm0, xmm0, qword [rdx + 8*rsi + 8]
LONG $0x117bc1c4; WORD $0xf044; BYTE $0x08 // vmovsd qword [r8 + 8*rsi + 8], xmm0
LONG $0x4410fbc5; WORD $0x10f1 // vmovsd xmm0, qword [rcx + 8*rsi + 16]
LONG $0x4459fbc5; WORD $0x10f2 // vmulsd xmm0, xmm0, qword [rdx + 8*rsi + 16]
LONG $0x117bc1c4; WORD $0xf044; BYTE $0x10 // vmovsd qword [r8 + 8*rsi + 16], xmm0
LONG $0x4410fbc5; WORD $0x18f1 // vmovsd xmm0, qword [rcx + 8*rsi + 24]
LONG $0x4459fbc5; WORD $0x18f2 // vmulsd xmm0, xmm0, qword [rdx + 8*rsi + 24]
LONG $0x117bc1c4; WORD $0xf044; BYTE $0x18 // vmovsd qword [r8 + 8*rsi + 24], xmm0
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB0_688
JMP LBB0_825
LBB0_695:
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JLE LBB0_696
WORD $0xff83; BYTE $0x09 // cmp edi, 9
JE LBB0_792
WORD $0xff83; BYTE $0x0b // cmp edi, 11
JE LBB0_804
WORD $0xff83; BYTE $0x0c // cmp edi, 12
JNE LBB0_825
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_825
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JAE LBB0_816
WORD $0xf631 // xor esi, esi
LBB0_821:
WORD $0x8948; BYTE $0xf7 // mov rdi, rsi
WORD $0xf748; BYTE $0xd7 // not rdi
WORD $0x014c; BYTE $0xd7 // add rdi, r10
WORD $0x894c; BYTE $0xd0 // mov rax, r10
LONG $0x03e08348 // and rax, 3
JE LBB0_823
LBB0_822:
LONG $0x0410fbc5; BYTE $0xf1 // vmovsd xmm0, qword [rcx + 8*rsi]
LONG $0x0459fbc5; BYTE $0xf2 // vmulsd xmm0, xmm0, qword [rdx + 8*rsi]
LONG $0x117bc1c4; WORD $0xf004 // vmovsd qword [r8 + 8*rsi], xmm0
LONG $0x01c68348 // add rsi, 1
LONG $0xffc08348 // add rax, -1
JNE LBB0_822
LBB0_823:
LONG $0x03ff8348 // cmp rdi, 3
JB LBB0_825
LBB0_824:
LONG $0x0410fbc5; BYTE $0xf1 // vmovsd xmm0, qword [rcx + 8*rsi]
LONG $0x0459fbc5; BYTE $0xf2 // vmulsd xmm0, xmm0, qword [rdx + 8*rsi]
LONG $0x117bc1c4; WORD $0xf004 // vmovsd qword [r8 + 8*rsi], xmm0
LONG $0x4410fbc5; WORD $0x08f1 // vmovsd xmm0, qword [rcx + 8*rsi + 8]
LONG $0x4459fbc5; WORD $0x08f2 // vmulsd xmm0, xmm0, qword [rdx + 8*rsi + 8]
LONG $0x117bc1c4; WORD $0xf044; BYTE $0x08 // vmovsd qword [r8 + 8*rsi + 8], xmm0
LONG $0x4410fbc5; WORD $0x10f1 // vmovsd xmm0, qword [rcx + 8*rsi + 16]
LONG $0x4459fbc5; WORD $0x10f2 // vmulsd xmm0, xmm0, qword [rdx + 8*rsi + 16]
LONG $0x117bc1c4; WORD $0xf044; BYTE $0x10 // vmovsd qword [r8 + 8*rsi + 16], xmm0
LONG $0x4410fbc5; WORD $0x18f1 // vmovsd xmm0, qword [rcx + 8*rsi + 24]
LONG $0x4459fbc5; WORD $0x18f2 // vmulsd xmm0, xmm0, qword [rdx + 8*rsi + 24]
LONG $0x117bc1c4; WORD $0xf044; BYTE $0x18 // vmovsd qword [r8 + 8*rsi + 24], xmm0
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB0_824
JMP LBB0_825
LBB0_34:
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JLE LBB0_35
WORD $0xff83; BYTE $0x09 // cmp edi, 9
JE LBB0_121
WORD $0xff83; BYTE $0x0b // cmp edi, 11
JE LBB0_133
WORD $0xff83; BYTE $0x0c // cmp edi, 12
JNE LBB0_825
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_825
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JAE LBB0_145
WORD $0xf631 // xor esi, esi
JMP LBB0_150
LBB0_300:
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JLE LBB0_301
WORD $0xff83; BYTE $0x09 // cmp edi, 9
JE LBB0_387
WORD $0xff83; BYTE $0x0b // cmp edi, 11
JE LBB0_399
WORD $0xff83; BYTE $0x0c // cmp edi, 12
JNE LBB0_825
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_825
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JAE LBB0_411
WORD $0xf631 // xor esi, esi
LBB0_416:
WORD $0x8948; BYTE $0xf7 // mov rdi, rsi
WORD $0xf748; BYTE $0xd7 // not rdi
WORD $0x014c; BYTE $0xd7 // add rdi, r10
WORD $0x894c; BYTE $0xd0 // mov rax, r10
LONG $0x03e08348 // and rax, 3
JE LBB0_418
LBB0_417:
LONG $0x0410fbc5; BYTE $0xf2 // vmovsd xmm0, qword [rdx + 8*rsi]
LONG $0x045cfbc5; BYTE $0xf1 // vsubsd xmm0, xmm0, qword [rcx + 8*rsi]
LONG $0x117bc1c4; WORD $0xf004 // vmovsd qword [r8 + 8*rsi], xmm0
LONG $0x01c68348 // add rsi, 1
LONG $0xffc08348 // add rax, -1
JNE LBB0_417
LBB0_418:
LONG $0x03ff8348 // cmp rdi, 3
JB LBB0_825
LBB0_419:
LONG $0x0410fbc5; BYTE $0xf2 // vmovsd xmm0, qword [rdx + 8*rsi]
LONG $0x045cfbc5; BYTE $0xf1 // vsubsd xmm0, xmm0, qword [rcx + 8*rsi]
LONG $0x117bc1c4; WORD $0xf004 // vmovsd qword [r8 + 8*rsi], xmm0
LONG $0x4410fbc5; WORD $0x08f2 // vmovsd xmm0, qword [rdx + 8*rsi + 8]
LONG $0x445cfbc5; WORD $0x08f1 // vsubsd xmm0, xmm0, qword [rcx + 8*rsi + 8]
LONG $0x117bc1c4; WORD $0xf044; BYTE $0x08 // vmovsd qword [r8 + 8*rsi + 8], xmm0
LONG $0x4410fbc5; WORD $0x10f2 // vmovsd xmm0, qword [rdx + 8*rsi + 16]
LONG $0x445cfbc5; WORD $0x10f1 // vsubsd xmm0, xmm0, qword [rcx + 8*rsi + 16]
LONG $0x117bc1c4; WORD $0xf044; BYTE $0x10 // vmovsd qword [r8 + 8*rsi + 16], xmm0
LONG $0x4410fbc5; WORD $0x18f2 // vmovsd xmm0, qword [rdx + 8*rsi + 24]
LONG $0x445cfbc5; WORD $0x18f1 // vsubsd xmm0, xmm0, qword [rcx + 8*rsi + 24]
LONG $0x117bc1c4; WORD $0xf044; BYTE $0x18 // vmovsd qword [r8 + 8*rsi + 24], xmm0
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB0_419
JMP LBB0_825
LBB0_167:
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JLE LBB0_168
WORD $0xff83; BYTE $0x09 // cmp edi, 9
JE LBB0_254
WORD $0xff83; BYTE $0x0b // cmp edi, 11
JE LBB0_266
WORD $0xff83; BYTE $0x0c // cmp edi, 12
JNE LBB0_825
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_825
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JAE LBB0_278
WORD $0xf631 // xor esi, esi
JMP LBB0_283
LBB0_433:
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JLE LBB0_434
WORD $0xff83; BYTE $0x09 // cmp edi, 9
JE LBB0_520
WORD $0xff83; BYTE $0x0b // cmp edi, 11
JE LBB0_532
WORD $0xff83; BYTE $0x0c // cmp edi, 12
JNE LBB0_825
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_825
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JAE LBB0_544
WORD $0xf631 // xor esi, esi
LBB0_549:
WORD $0x8948; BYTE $0xf7 // mov rdi, rsi
WORD $0xf748; BYTE $0xd7 // not rdi
WORD $0x014c; BYTE $0xd7 // add rdi, r10
WORD $0x894c; BYTE $0xd0 // mov rax, r10
LONG $0x03e08348 // and rax, 3
JE LBB0_551
LBB0_550:
LONG $0x0410fbc5; BYTE $0xf2 // vmovsd xmm0, qword [rdx + 8*rsi]
LONG $0x045cfbc5; BYTE $0xf1 // vsubsd xmm0, xmm0, qword [rcx + 8*rsi]
LONG $0x117bc1c4; WORD $0xf004 // vmovsd qword [r8 + 8*rsi], xmm0
LONG $0x01c68348 // add rsi, 1
LONG $0xffc08348 // add rax, -1
JNE LBB0_550
LBB0_551:
LONG $0x03ff8348 // cmp rdi, 3
JB LBB0_825
LBB0_552:
LONG $0x0410fbc5; BYTE $0xf2 // vmovsd xmm0, qword [rdx + 8*rsi]
LONG $0x045cfbc5; BYTE $0xf1 // vsubsd xmm0, xmm0, qword [rcx + 8*rsi]
LONG $0x117bc1c4; WORD $0xf004 // vmovsd qword [r8 + 8*rsi], xmm0
LONG $0x4410fbc5; WORD $0x08f2 // vmovsd xmm0, qword [rdx + 8*rsi + 8]
LONG $0x445cfbc5; WORD $0x08f1 // vsubsd xmm0, xmm0, qword [rcx + 8*rsi + 8]
LONG $0x117bc1c4; WORD $0xf044; BYTE $0x08 // vmovsd qword [r8 + 8*rsi + 8], xmm0
LONG $0x4410fbc5; WORD $0x10f2 // vmovsd xmm0, qword [rdx + 8*rsi + 16]
LONG $0x445cfbc5; WORD $0x10f1 // vsubsd xmm0, xmm0, qword [rcx + 8*rsi + 16]
LONG $0x117bc1c4; WORD $0xf044; BYTE $0x10 // vmovsd qword [r8 + 8*rsi + 16], xmm0
LONG $0x4410fbc5; WORD $0x18f2 // vmovsd xmm0, qword [rdx + 8*rsi + 24]
LONG $0x445cfbc5; WORD $0x18f1 // vsubsd xmm0, xmm0, qword [rcx + 8*rsi + 24]
LONG $0x117bc1c4; WORD $0xf044; BYTE $0x18 // vmovsd qword [r8 + 8*rsi + 24], xmm0
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB0_552
JMP LBB0_825
LBB0_6:
WORD $0xff83; BYTE $0x02 // cmp edi, 2
JE LBB0_571
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JNE LBB0_825
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_825
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JAE LBB0_588
WORD $0xff31 // xor edi, edi
JMP LBB0_598
LBB0_16:
WORD $0xff83; BYTE $0x02 // cmp edi, 2
JE LBB0_707
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JNE LBB0_825
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_825
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JAE LBB0_724
WORD $0xff31 // xor edi, edi
JMP LBB0_734
LBB0_23:
WORD $0xff83; BYTE $0x02 // cmp edi, 2
JE LBB0_46
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JNE LBB0_825
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_825
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x80f98141; WORD $0x0000; BYTE $0x00 // cmp r9d, 128
JAE LBB0_58
WORD $0xf631 // xor esi, esi
JMP LBB0_63
LBB0_289:
WORD $0xff83; BYTE $0x02 // cmp edi, 2
JE LBB0_312
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JNE LBB0_825
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_825
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x80f98141; WORD $0x0000; BYTE $0x00 // cmp r9d, 128
JAE LBB0_324
WORD $0xf631 // xor esi, esi
JMP LBB0_329
LBB0_156:
WORD $0xff83; BYTE $0x02 // cmp edi, 2
JE LBB0_179
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JNE LBB0_825
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_825
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x80f98141; WORD $0x0000; BYTE $0x00 // cmp r9d, 128
JAE LBB0_191
WORD $0xf631 // xor esi, esi
JMP LBB0_196
LBB0_422:
WORD $0xff83; BYTE $0x02 // cmp edi, 2
JE LBB0_445
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JNE LBB0_825
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_825
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x80f98141; WORD $0x0000; BYTE $0x00 // cmp r9d, 128
JAE LBB0_457
WORD $0xf631 // xor esi, esi
JMP LBB0_462
LBB0_560:
WORD $0xff83; BYTE $0x07 // cmp edi, 7
JE LBB0_635
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JNE LBB0_825
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_825
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JAE LBB0_647
WORD $0xf631 // xor esi, esi
JMP LBB0_652
LBB0_696:
WORD $0xff83; BYTE $0x07 // cmp edi, 7
JE LBB0_771
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JNE LBB0_825
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_825
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JAE LBB0_783
WORD $0xf631 // xor esi, esi
JMP LBB0_788
LBB0_35:
WORD $0xff83; BYTE $0x07 // cmp edi, 7
JE LBB0_100
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JNE LBB0_825
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_825
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JAE LBB0_112
WORD $0xf631 // xor esi, esi
JMP LBB0_117
LBB0_301:
WORD $0xff83; BYTE $0x07 // cmp edi, 7
JE LBB0_366
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JNE LBB0_825
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_825
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JAE LBB0_378
WORD $0xf631 // xor esi, esi
JMP LBB0_383
LBB0_168:
WORD $0xff83; BYTE $0x07 // cmp edi, 7
JE LBB0_233
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JNE LBB0_825
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_825
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JAE LBB0_245
WORD $0xf631 // xor esi, esi
JMP LBB0_250
LBB0_434:
WORD $0xff83; BYTE $0x07 // cmp edi, 7
JE LBB0_499
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JNE LBB0_825
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_825
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JAE LBB0_511
WORD $0xf631 // xor esi, esi
JMP LBB0_516
LBB0_602:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_825
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x40f98341 // cmp r9d, 64
JAE LBB0_605
WORD $0xf631 // xor esi, esi
LBB0_610:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd0 // mov rax, r10
LONG $0x03e08348 // and rax, 3
JE LBB0_612
LBB0_611:
LONG $0x713cb70f // movzx edi, word [rcx + 2*rsi]
LONG $0x3caf0f66; BYTE $0x72 // imul di, word [rdx + 2*rsi]
LONG $0x3c894166; BYTE $0x70 // mov word [r8 + 2*rsi], di
LONG $0x01c68348 // add rsi, 1
LONG $0xffc08348 // add rax, -1
JNE LBB0_611
LBB0_612:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_825
LBB0_613:
LONG $0x7104b70f // movzx eax, word [rcx + 2*rsi]
LONG $0x04af0f66; BYTE $0x72 // imul ax, word [rdx + 2*rsi]
LONG $0x04894166; BYTE $0x70 // mov word [r8 + 2*rsi], ax
LONG $0x7144b70f; BYTE $0x02 // movzx eax, word [rcx + 2*rsi + 2]
LONG $0x44af0f66; WORD $0x0272 // imul ax, word [rdx + 2*rsi + 2]
LONG $0x44894166; WORD $0x0270 // mov word [r8 + 2*rsi + 2], ax
LONG $0x7144b70f; BYTE $0x04 // movzx eax, word [rcx + 2*rsi + 4]
LONG $0x44af0f66; WORD $0x0472 // imul ax, word [rdx + 2*rsi + 4]
LONG $0x44894166; WORD $0x0470 // mov word [r8 + 2*rsi + 4], ax
LONG $0x7144b70f; BYTE $0x06 // movzx eax, word [rcx + 2*rsi + 6]
LONG $0x44af0f66; WORD $0x0672 // imul ax, word [rdx + 2*rsi + 6]
LONG $0x44894166; WORD $0x0670 // mov word [r8 + 2*rsi + 6], ax
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB0_613
JMP LBB0_825
LBB0_614:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_825
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x40f98341 // cmp r9d, 64
JAE LBB0_617
WORD $0xf631 // xor esi, esi
LBB0_622:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd0 // mov rax, r10
LONG $0x03e08348 // and rax, 3
JE LBB0_624
LBB0_623:
LONG $0x713cb70f // movzx edi, word [rcx + 2*rsi]
LONG $0x3caf0f66; BYTE $0x72 // imul di, word [rdx + 2*rsi]
LONG $0x3c894166; BYTE $0x70 // mov word [r8 + 2*rsi], di
LONG $0x01c68348 // add rsi, 1
LONG $0xffc08348 // add rax, -1
JNE LBB0_623
LBB0_624:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_825
LBB0_625:
LONG $0x7104b70f // movzx eax, word [rcx + 2*rsi]
LONG $0x04af0f66; BYTE $0x72 // imul ax, word [rdx + 2*rsi]
LONG $0x04894166; BYTE $0x70 // mov word [r8 + 2*rsi], ax
LONG $0x7144b70f; BYTE $0x02 // movzx eax, word [rcx + 2*rsi + 2]
LONG $0x44af0f66; WORD $0x0272 // imul ax, word [rdx + 2*rsi + 2]
LONG $0x44894166; WORD $0x0270 // mov word [r8 + 2*rsi + 2], ax
LONG $0x7144b70f; BYTE $0x04 // movzx eax, word [rcx + 2*rsi + 4]
LONG $0x44af0f66; WORD $0x0472 // imul ax, word [rdx + 2*rsi + 4]
LONG $0x44894166; WORD $0x0470 // mov word [r8 + 2*rsi + 4], ax
LONG $0x7144b70f; BYTE $0x06 // movzx eax, word [rcx + 2*rsi + 6]
LONG $0x44af0f66; WORD $0x0672 // imul ax, word [rdx + 2*rsi + 6]
LONG $0x44894166; WORD $0x0670 // mov word [r8 + 2*rsi + 6], ax
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB0_625
JMP LBB0_825
LBB0_738:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_825
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x40f98341 // cmp r9d, 64
JAE LBB0_741
WORD $0xf631 // xor esi, esi
LBB0_746:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd0 // mov rax, r10
LONG $0x03e08348 // and rax, 3
JE LBB0_748
LBB0_747:
LONG $0x713cb70f // movzx edi, word [rcx + 2*rsi]
LONG $0x3caf0f66; BYTE $0x72 // imul di, word [rdx + 2*rsi]
LONG $0x3c894166; BYTE $0x70 // mov word [r8 + 2*rsi], di
LONG $0x01c68348 // add rsi, 1
LONG $0xffc08348 // add rax, -1
JNE LBB0_747
LBB0_748:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_825
LBB0_749:
LONG $0x7104b70f // movzx eax, word [rcx + 2*rsi]
LONG $0x04af0f66; BYTE $0x72 // imul ax, word [rdx + 2*rsi]
LONG $0x04894166; BYTE $0x70 // mov word [r8 + 2*rsi], ax
LONG $0x7144b70f; BYTE $0x02 // movzx eax, word [rcx + 2*rsi + 2]
LONG $0x44af0f66; WORD $0x0272 // imul ax, word [rdx + 2*rsi + 2]
LONG $0x44894166; WORD $0x0270 // mov word [r8 + 2*rsi + 2], ax
LONG $0x7144b70f; BYTE $0x04 // movzx eax, word [rcx + 2*rsi + 4]
LONG $0x44af0f66; WORD $0x0472 // imul ax, word [rdx + 2*rsi + 4]
LONG $0x44894166; WORD $0x0470 // mov word [r8 + 2*rsi + 4], ax
LONG $0x7144b70f; BYTE $0x06 // movzx eax, word [rcx + 2*rsi + 6]
LONG $0x44af0f66; WORD $0x0672 // imul ax, word [rdx + 2*rsi + 6]
LONG $0x44894166; WORD $0x0670 // mov word [r8 + 2*rsi + 6], ax
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB0_749
JMP LBB0_825
LBB0_750:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_825
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x40f98341 // cmp r9d, 64
JAE LBB0_753
WORD $0xf631 // xor esi, esi
LBB0_758:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd0 // mov rax, r10
LONG $0x03e08348 // and rax, 3
JE LBB0_760
LBB0_759:
LONG $0x713cb70f // movzx edi, word [rcx + 2*rsi]
LONG $0x3caf0f66; BYTE $0x72 // imul di, word [rdx + 2*rsi]
LONG $0x3c894166; BYTE $0x70 // mov word [r8 + 2*rsi], di
LONG $0x01c68348 // add rsi, 1
LONG $0xffc08348 // add rax, -1
JNE LBB0_759
LBB0_760:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_825
LBB0_761:
LONG $0x7104b70f // movzx eax, word [rcx + 2*rsi]
LONG $0x04af0f66; BYTE $0x72 // imul ax, word [rdx + 2*rsi]
LONG $0x04894166; BYTE $0x70 // mov word [r8 + 2*rsi], ax
LONG $0x7144b70f; BYTE $0x02 // movzx eax, word [rcx + 2*rsi + 2]
LONG $0x44af0f66; WORD $0x0272 // imul ax, word [rdx + 2*rsi + 2]
LONG $0x44894166; WORD $0x0270 // mov word [r8 + 2*rsi + 2], ax
LONG $0x7144b70f; BYTE $0x04 // movzx eax, word [rcx + 2*rsi + 4]
LONG $0x44af0f66; WORD $0x0472 // imul ax, word [rdx + 2*rsi + 4]
LONG $0x44894166; WORD $0x0470 // mov word [r8 + 2*rsi + 4], ax
LONG $0x7144b70f; BYTE $0x06 // movzx eax, word [rcx + 2*rsi + 6]
LONG $0x44af0f66; WORD $0x0672 // imul ax, word [rdx + 2*rsi + 6]
LONG $0x44894166; WORD $0x0670 // mov word [r8 + 2*rsi + 6], ax
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB0_761
JMP LBB0_825
LBB0_67:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_825
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x40f98341 // cmp r9d, 64
JAE LBB0_70
WORD $0xf631 // xor esi, esi
JMP LBB0_75
LBB0_79:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_825
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x40f98341 // cmp r9d, 64
JAE LBB0_82
WORD $0xf631 // xor esi, esi
JMP LBB0_87
LBB0_333:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_825
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x40f98341 // cmp r9d, 64
JAE LBB0_336
WORD $0xf631 // xor esi, esi
LBB0_341:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd0 // mov rax, r10
LONG $0x03e08348 // and rax, 3
JE LBB0_343
LBB0_342:
LONG $0x723cb70f // movzx edi, word [rdx + 2*rsi]
LONG $0x713c2b66 // sub di, word [rcx + 2*rsi]
LONG $0x3c894166; BYTE $0x70 // mov word [r8 + 2*rsi], di
LONG $0x01c68348 // add rsi, 1
LONG $0xffc08348 // add rax, -1
JNE LBB0_342
LBB0_343:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_825
LBB0_344:
LONG $0x7204b70f // movzx eax, word [rdx + 2*rsi]
LONG $0x71042b66 // sub ax, word [rcx + 2*rsi]
LONG $0x04894166; BYTE $0x70 // mov word [r8 + 2*rsi], ax
LONG $0x7244b70f; BYTE $0x02 // movzx eax, word [rdx + 2*rsi + 2]
LONG $0x71442b66; BYTE $0x02 // sub ax, word [rcx + 2*rsi + 2]
LONG $0x44894166; WORD $0x0270 // mov word [r8 + 2*rsi + 2], ax
LONG $0x7244b70f; BYTE $0x04 // movzx eax, word [rdx + 2*rsi + 4]
LONG $0x71442b66; BYTE $0x04 // sub ax, word [rcx + 2*rsi + 4]
LONG $0x44894166; WORD $0x0470 // mov word [r8 + 2*rsi + 4], ax
LONG $0x7244b70f; BYTE $0x06 // movzx eax, word [rdx + 2*rsi + 6]
LONG $0x71442b66; BYTE $0x06 // sub ax, word [rcx + 2*rsi + 6]
LONG $0x44894166; WORD $0x0670 // mov word [r8 + 2*rsi + 6], ax
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB0_344
JMP LBB0_825
LBB0_345:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_825
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x40f98341 // cmp r9d, 64
JAE LBB0_348
WORD $0xf631 // xor esi, esi
LBB0_353:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd0 // mov rax, r10
LONG $0x03e08348 // and rax, 3
JE LBB0_355
LBB0_354:
LONG $0x723cb70f // movzx edi, word [rdx + 2*rsi]
LONG $0x713c2b66 // sub di, word [rcx + 2*rsi]
LONG $0x3c894166; BYTE $0x70 // mov word [r8 + 2*rsi], di
LONG $0x01c68348 // add rsi, 1
LONG $0xffc08348 // add rax, -1
JNE LBB0_354
LBB0_355:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_825
LBB0_356:
LONG $0x7204b70f // movzx eax, word [rdx + 2*rsi]
LONG $0x71042b66 // sub ax, word [rcx + 2*rsi]
LONG $0x04894166; BYTE $0x70 // mov word [r8 + 2*rsi], ax
LONG $0x7244b70f; BYTE $0x02 // movzx eax, word [rdx + 2*rsi + 2]
LONG $0x71442b66; BYTE $0x02 // sub ax, word [rcx + 2*rsi + 2]
LONG $0x44894166; WORD $0x0270 // mov word [r8 + 2*rsi + 2], ax
LONG $0x7244b70f; BYTE $0x04 // movzx eax, word [rdx + 2*rsi + 4]
LONG $0x71442b66; BYTE $0x04 // sub ax, word [rcx + 2*rsi + 4]
LONG $0x44894166; WORD $0x0470 // mov word [r8 + 2*rsi + 4], ax
LONG $0x7244b70f; BYTE $0x06 // movzx eax, word [rdx + 2*rsi + 6]
LONG $0x71442b66; BYTE $0x06 // sub ax, word [rcx + 2*rsi + 6]
LONG $0x44894166; WORD $0x0670 // mov word [r8 + 2*rsi + 6], ax
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB0_356
JMP LBB0_825
LBB0_200:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_825
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x40f98341 // cmp r9d, 64
JAE LBB0_203
WORD $0xf631 // xor esi, esi
JMP LBB0_208
LBB0_212:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_825
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x40f98341 // cmp r9d, 64
JAE LBB0_215
WORD $0xf631 // xor esi, esi
JMP LBB0_220
LBB0_466:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_825
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x40f98341 // cmp r9d, 64
JAE LBB0_469
WORD $0xf631 // xor esi, esi
LBB0_474:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd0 // mov rax, r10
LONG $0x03e08348 // and rax, 3
JE LBB0_476
LBB0_475:
LONG $0x723cb70f // movzx edi, word [rdx + 2*rsi]
LONG $0x713c2b66 // sub di, word [rcx + 2*rsi]
LONG $0x3c894166; BYTE $0x70 // mov word [r8 + 2*rsi], di
LONG $0x01c68348 // add rsi, 1
LONG $0xffc08348 // add rax, -1
JNE LBB0_475
LBB0_476:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_825
LBB0_477:
LONG $0x7204b70f // movzx eax, word [rdx + 2*rsi]
LONG $0x71042b66 // sub ax, word [rcx + 2*rsi]
LONG $0x04894166; BYTE $0x70 // mov word [r8 + 2*rsi], ax
LONG $0x7244b70f; BYTE $0x02 // movzx eax, word [rdx + 2*rsi + 2]
LONG $0x71442b66; BYTE $0x02 // sub ax, word [rcx + 2*rsi + 2]
LONG $0x44894166; WORD $0x0270 // mov word [r8 + 2*rsi + 2], ax
LONG $0x7244b70f; BYTE $0x04 // movzx eax, word [rdx + 2*rsi + 4]
LONG $0x71442b66; BYTE $0x04 // sub ax, word [rcx + 2*rsi + 4]
LONG $0x44894166; WORD $0x0470 // mov word [r8 + 2*rsi + 4], ax
LONG $0x7244b70f; BYTE $0x06 // movzx eax, word [rdx + 2*rsi + 6]
LONG $0x71442b66; BYTE $0x06 // sub ax, word [rcx + 2*rsi + 6]
LONG $0x44894166; WORD $0x0670 // mov word [r8 + 2*rsi + 6], ax
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB0_477
JMP LBB0_825
LBB0_478:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_825
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x40f98341 // cmp r9d, 64
JAE LBB0_481
WORD $0xf631 // xor esi, esi
LBB0_486:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd0 // mov rax, r10
LONG $0x03e08348 // and rax, 3
JE LBB0_488
LBB0_487:
LONG $0x723cb70f // movzx edi, word [rdx + 2*rsi]
LONG $0x713c2b66 // sub di, word [rcx + 2*rsi]
LONG $0x3c894166; BYTE $0x70 // mov word [r8 + 2*rsi], di
LONG $0x01c68348 // add rsi, 1
LONG $0xffc08348 // add rax, -1
JNE LBB0_487
LBB0_488:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_825
LBB0_489:
LONG $0x7204b70f // movzx eax, word [rdx + 2*rsi]
LONG $0x71042b66 // sub ax, word [rcx + 2*rsi]
LONG $0x04894166; BYTE $0x70 // mov word [r8 + 2*rsi], ax
LONG $0x7244b70f; BYTE $0x02 // movzx eax, word [rdx + 2*rsi + 2]
LONG $0x71442b66; BYTE $0x02 // sub ax, word [rcx + 2*rsi + 2]
LONG $0x44894166; WORD $0x0270 // mov word [r8 + 2*rsi + 2], ax
LONG $0x7244b70f; BYTE $0x04 // movzx eax, word [rdx + 2*rsi + 4]
LONG $0x71442b66; BYTE $0x04 // sub ax, word [rcx + 2*rsi + 4]
LONG $0x44894166; WORD $0x0470 // mov word [r8 + 2*rsi + 4], ax
LONG $0x7244b70f; BYTE $0x06 // movzx eax, word [rdx + 2*rsi + 6]
LONG $0x71442b66; BYTE $0x06 // sub ax, word [rcx + 2*rsi + 6]
LONG $0x44894166; WORD $0x0670 // mov word [r8 + 2*rsi + 6], ax
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB0_489
JMP LBB0_825
LBB0_656:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_825
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JAE LBB0_659
WORD $0xf631 // xor esi, esi
LBB0_664:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd0 // mov rax, r10
LONG $0x03e08348 // and rax, 3
JE LBB0_666
LBB0_665:
LONG $0xf13c8b48 // mov rdi, qword [rcx + 8*rsi]
LONG $0x3caf0f48; BYTE $0xf2 // imul rdi, qword [rdx + 8*rsi]
LONG $0xf03c8949 // mov qword [r8 + 8*rsi], rdi
LONG $0x01c68348 // add rsi, 1
LONG $0xffc08348 // add rax, -1
JNE LBB0_665
LBB0_666:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_825
LBB0_667:
LONG $0xf1048b48 // mov rax, qword [rcx + 8*rsi]
LONG $0x04af0f48; BYTE $0xf2 // imul rax, qword [rdx + 8*rsi]
LONG $0xf0048949 // mov qword [r8 + 8*rsi], rax
LONG $0xf1448b48; BYTE $0x08 // mov rax, qword [rcx + 8*rsi + 8]
LONG $0x44af0f48; WORD $0x08f2 // imul rax, qword [rdx + 8*rsi + 8]
LONG $0xf0448949; BYTE $0x08 // mov qword [r8 + 8*rsi + 8], rax
LONG $0xf1448b48; BYTE $0x10 // mov rax, qword [rcx + 8*rsi + 16]
LONG $0x44af0f48; WORD $0x10f2 // imul rax, qword [rdx + 8*rsi + 16]
LONG $0xf0448949; BYTE $0x10 // mov qword [r8 + 8*rsi + 16], rax
LONG $0xf1448b48; BYTE $0x18 // mov rax, qword [rcx + 8*rsi + 24]
LONG $0x44af0f48; WORD $0x18f2 // imul rax, qword [rdx + 8*rsi + 24]
LONG $0xf0448949; BYTE $0x18 // mov qword [r8 + 8*rsi + 24], rax
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB0_667
JMP LBB0_825
LBB0_668:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_825
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JAE LBB0_671
WORD $0xf631 // xor esi, esi
LBB0_676:
WORD $0x8948; BYTE $0xf7 // mov rdi, rsi
WORD $0xf748; BYTE $0xd7 // not rdi
WORD $0x014c; BYTE $0xd7 // add rdi, r10
WORD $0x894c; BYTE $0xd0 // mov rax, r10
LONG $0x03e08348 // and rax, 3
JE LBB0_678
LBB0_677:
LONG $0x0410fac5; BYTE $0xb1 // vmovss xmm0, dword [rcx + 4*rsi]
LONG $0x0459fac5; BYTE $0xb2 // vmulss xmm0, xmm0, dword [rdx + 4*rsi]
LONG $0x117ac1c4; WORD $0xb004 // vmovss dword [r8 + 4*rsi], xmm0
LONG $0x01c68348 // add rsi, 1
LONG $0xffc08348 // add rax, -1
JNE LBB0_677
LBB0_678:
LONG $0x03ff8348 // cmp rdi, 3
JB LBB0_825
LBB0_679:
LONG $0x0410fac5; BYTE $0xb1 // vmovss xmm0, dword [rcx + 4*rsi]
LONG $0x0459fac5; BYTE $0xb2 // vmulss xmm0, xmm0, dword [rdx + 4*rsi]
LONG $0x117ac1c4; WORD $0xb004 // vmovss dword [r8 + 4*rsi], xmm0
LONG $0x4410fac5; WORD $0x04b1 // vmovss xmm0, dword [rcx + 4*rsi + 4]
LONG $0x4459fac5; WORD $0x04b2 // vmulss xmm0, xmm0, dword [rdx + 4*rsi + 4]
LONG $0x117ac1c4; WORD $0xb044; BYTE $0x04 // vmovss dword [r8 + 4*rsi + 4], xmm0
LONG $0x4410fac5; WORD $0x08b1 // vmovss xmm0, dword [rcx + 4*rsi + 8]
LONG $0x4459fac5; WORD $0x08b2 // vmulss xmm0, xmm0, dword [rdx + 4*rsi + 8]
LONG $0x117ac1c4; WORD $0xb044; BYTE $0x08 // vmovss dword [r8 + 4*rsi + 8], xmm0
LONG $0x4410fac5; WORD $0x0cb1 // vmovss xmm0, dword [rcx + 4*rsi + 12]
LONG $0x4459fac5; WORD $0x0cb2 // vmulss xmm0, xmm0, dword [rdx + 4*rsi + 12]
LONG $0x117ac1c4; WORD $0xb044; BYTE $0x0c // vmovss dword [r8 + 4*rsi + 12], xmm0
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB0_679
JMP LBB0_825
LBB0_792:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_825
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JAE LBB0_795
WORD $0xf631 // xor esi, esi
LBB0_800:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd0 // mov rax, r10
LONG $0x03e08348 // and rax, 3
JE LBB0_802
LBB0_801:
LONG $0xf13c8b48 // mov rdi, qword [rcx + 8*rsi]
LONG $0x3caf0f48; BYTE $0xf2 // imul rdi, qword [rdx + 8*rsi]
LONG $0xf03c8949 // mov qword [r8 + 8*rsi], rdi
LONG $0x01c68348 // add rsi, 1
LONG $0xffc08348 // add rax, -1
JNE LBB0_801
LBB0_802:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_825
LBB0_803:
LONG $0xf1048b48 // mov rax, qword [rcx + 8*rsi]
LONG $0x04af0f48; BYTE $0xf2 // imul rax, qword [rdx + 8*rsi]
LONG $0xf0048949 // mov qword [r8 + 8*rsi], rax
LONG $0xf1448b48; BYTE $0x08 // mov rax, qword [rcx + 8*rsi + 8]
LONG $0x44af0f48; WORD $0x08f2 // imul rax, qword [rdx + 8*rsi + 8]
LONG $0xf0448949; BYTE $0x08 // mov qword [r8 + 8*rsi + 8], rax
LONG $0xf1448b48; BYTE $0x10 // mov rax, qword [rcx + 8*rsi + 16]
LONG $0x44af0f48; WORD $0x10f2 // imul rax, qword [rdx + 8*rsi + 16]
LONG $0xf0448949; BYTE $0x10 // mov qword [r8 + 8*rsi + 16], rax
LONG $0xf1448b48; BYTE $0x18 // mov rax, qword [rcx + 8*rsi + 24]
LONG $0x44af0f48; WORD $0x18f2 // imul rax, qword [rdx + 8*rsi + 24]
LONG $0xf0448949; BYTE $0x18 // mov qword [r8 + 8*rsi + 24], rax
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB0_803
JMP LBB0_825
LBB0_804:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_825
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JAE LBB0_807
WORD $0xf631 // xor esi, esi
LBB0_812:
WORD $0x8948; BYTE $0xf7 // mov rdi, rsi
WORD $0xf748; BYTE $0xd7 // not rdi
WORD $0x014c; BYTE $0xd7 // add rdi, r10
WORD $0x894c; BYTE $0xd0 // mov rax, r10
LONG $0x03e08348 // and rax, 3
JE LBB0_814
LBB0_813:
LONG $0x0410fac5; BYTE $0xb1 // vmovss xmm0, dword [rcx + 4*rsi]
LONG $0x0459fac5; BYTE $0xb2 // vmulss xmm0, xmm0, dword [rdx + 4*rsi]
LONG $0x117ac1c4; WORD $0xb004 // vmovss dword [r8 + 4*rsi], xmm0
LONG $0x01c68348 // add rsi, 1
LONG $0xffc08348 // add rax, -1
JNE LBB0_813
LBB0_814:
LONG $0x03ff8348 // cmp rdi, 3
JB LBB0_825
LBB0_815:
LONG $0x0410fac5; BYTE $0xb1 // vmovss xmm0, dword [rcx + 4*rsi]
LONG $0x0459fac5; BYTE $0xb2 // vmulss xmm0, xmm0, dword [rdx + 4*rsi]
LONG $0x117ac1c4; WORD $0xb004 // vmovss dword [r8 + 4*rsi], xmm0
LONG $0x4410fac5; WORD $0x04b1 // vmovss xmm0, dword [rcx + 4*rsi + 4]
LONG $0x4459fac5; WORD $0x04b2 // vmulss xmm0, xmm0, dword [rdx + 4*rsi + 4]
LONG $0x117ac1c4; WORD $0xb044; BYTE $0x04 // vmovss dword [r8 + 4*rsi + 4], xmm0
LONG $0x4410fac5; WORD $0x08b1 // vmovss xmm0, dword [rcx + 4*rsi + 8]
LONG $0x4459fac5; WORD $0x08b2 // vmulss xmm0, xmm0, dword [rdx + 4*rsi + 8]
LONG $0x117ac1c4; WORD $0xb044; BYTE $0x08 // vmovss dword [r8 + 4*rsi + 8], xmm0
LONG $0x4410fac5; WORD $0x0cb1 // vmovss xmm0, dword [rcx + 4*rsi + 12]
LONG $0x4459fac5; WORD $0x0cb2 // vmulss xmm0, xmm0, dword [rdx + 4*rsi + 12]
LONG $0x117ac1c4; WORD $0xb044; BYTE $0x0c // vmovss dword [r8 + 4*rsi + 12], xmm0
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB0_815
JMP LBB0_825
LBB0_121:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_825
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JAE LBB0_124
WORD $0xf631 // xor esi, esi
JMP LBB0_129
LBB0_133:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_825
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JAE LBB0_136
WORD $0xf631 // xor esi, esi
JMP LBB0_141
LBB0_387:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_825
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JAE LBB0_390
WORD $0xf631 // xor esi, esi
LBB0_395:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd0 // mov rax, r10
LONG $0x03e08348 // and rax, 3
JE LBB0_397
LBB0_396:
LONG $0xf23c8b48 // mov rdi, qword [rdx + 8*rsi]
LONG $0xf13c2b48 // sub rdi, qword [rcx + 8*rsi]
LONG $0xf03c8949 // mov qword [r8 + 8*rsi], rdi
LONG $0x01c68348 // add rsi, 1
LONG $0xffc08348 // add rax, -1
JNE LBB0_396
LBB0_397:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_825
LBB0_398:
LONG $0xf2048b48 // mov rax, qword [rdx + 8*rsi]
LONG $0xf1042b48 // sub rax, qword [rcx + 8*rsi]
LONG $0xf0048949 // mov qword [r8 + 8*rsi], rax
LONG $0xf2448b48; BYTE $0x08 // mov rax, qword [rdx + 8*rsi + 8]
LONG $0xf1442b48; BYTE $0x08 // sub rax, qword [rcx + 8*rsi + 8]
LONG $0xf0448949; BYTE $0x08 // mov qword [r8 + 8*rsi + 8], rax
LONG $0xf2448b48; BYTE $0x10 // mov rax, qword [rdx + 8*rsi + 16]
LONG $0xf1442b48; BYTE $0x10 // sub rax, qword [rcx + 8*rsi + 16]
LONG $0xf0448949; BYTE $0x10 // mov qword [r8 + 8*rsi + 16], rax
LONG $0xf2448b48; BYTE $0x18 // mov rax, qword [rdx + 8*rsi + 24]
LONG $0xf1442b48; BYTE $0x18 // sub rax, qword [rcx + 8*rsi + 24]
LONG $0xf0448949; BYTE $0x18 // mov qword [r8 + 8*rsi + 24], rax
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB0_398
JMP LBB0_825
LBB0_399:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_825
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JAE LBB0_402
WORD $0xf631 // xor esi, esi
LBB0_407:
WORD $0x8948; BYTE $0xf7 // mov rdi, rsi
WORD $0xf748; BYTE $0xd7 // not rdi
WORD $0x014c; BYTE $0xd7 // add rdi, r10
WORD $0x894c; BYTE $0xd0 // mov rax, r10
LONG $0x03e08348 // and rax, 3
JE LBB0_409
LBB0_408:
LONG $0x0410fac5; BYTE $0xb2 // vmovss xmm0, dword [rdx + 4*rsi]
LONG $0x045cfac5; BYTE $0xb1 // vsubss xmm0, xmm0, dword [rcx + 4*rsi]
LONG $0x117ac1c4; WORD $0xb004 // vmovss dword [r8 + 4*rsi], xmm0
LONG $0x01c68348 // add rsi, 1
LONG $0xffc08348 // add rax, -1
JNE LBB0_408
LBB0_409:
LONG $0x03ff8348 // cmp rdi, 3
JB LBB0_825
LBB0_410:
LONG $0x0410fac5; BYTE $0xb2 // vmovss xmm0, dword [rdx + 4*rsi]
LONG $0x045cfac5; BYTE $0xb1 // vsubss xmm0, xmm0, dword [rcx + 4*rsi]
LONG $0x117ac1c4; WORD $0xb004 // vmovss dword [r8 + 4*rsi], xmm0
LONG $0x4410fac5; WORD $0x04b2 // vmovss xmm0, dword [rdx + 4*rsi + 4]
LONG $0x445cfac5; WORD $0x04b1 // vsubss xmm0, xmm0, dword [rcx + 4*rsi + 4]
LONG $0x117ac1c4; WORD $0xb044; BYTE $0x04 // vmovss dword [r8 + 4*rsi + 4], xmm0
LONG $0x4410fac5; WORD $0x08b2 // vmovss xmm0, dword [rdx + 4*rsi + 8]
LONG $0x445cfac5; WORD $0x08b1 // vsubss xmm0, xmm0, dword [rcx + 4*rsi + 8]
LONG $0x117ac1c4; WORD $0xb044; BYTE $0x08 // vmovss dword [r8 + 4*rsi + 8], xmm0
LONG $0x4410fac5; WORD $0x0cb2 // vmovss xmm0, dword [rdx + 4*rsi + 12]
LONG $0x445cfac5; WORD $0x0cb1 // vsubss xmm0, xmm0, dword [rcx + 4*rsi + 12]
LONG $0x117ac1c4; WORD $0xb044; BYTE $0x0c // vmovss dword [r8 + 4*rsi + 12], xmm0
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB0_410
JMP LBB0_825
LBB0_254:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_825
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JAE LBB0_257
WORD $0xf631 // xor esi, esi
JMP LBB0_262
LBB0_266:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_825
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JAE LBB0_269
WORD $0xf631 // xor esi, esi
JMP LBB0_274
LBB0_520:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_825
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JAE LBB0_523
WORD $0xf631 // xor esi, esi
LBB0_528:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd0 // mov rax, r10
LONG $0x03e08348 // and rax, 3
JE LBB0_530
LBB0_529:
LONG $0xf23c8b48 // mov rdi, qword [rdx + 8*rsi]
LONG $0xf13c2b48 // sub rdi, qword [rcx + 8*rsi]
LONG $0xf03c8949 // mov qword [r8 + 8*rsi], rdi
LONG $0x01c68348 // add rsi, 1
LONG $0xffc08348 // add rax, -1
JNE LBB0_529
LBB0_530:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_825
LBB0_531:
LONG $0xf2048b48 // mov rax, qword [rdx + 8*rsi]
LONG $0xf1042b48 // sub rax, qword [rcx + 8*rsi]
LONG $0xf0048949 // mov qword [r8 + 8*rsi], rax
LONG $0xf2448b48; BYTE $0x08 // mov rax, qword [rdx + 8*rsi + 8]
LONG $0xf1442b48; BYTE $0x08 // sub rax, qword [rcx + 8*rsi + 8]
LONG $0xf0448949; BYTE $0x08 // mov qword [r8 + 8*rsi + 8], rax
LONG $0xf2448b48; BYTE $0x10 // mov rax, qword [rdx + 8*rsi + 16]
LONG $0xf1442b48; BYTE $0x10 // sub rax, qword [rcx + 8*rsi + 16]
LONG $0xf0448949; BYTE $0x10 // mov qword [r8 + 8*rsi + 16], rax
LONG $0xf2448b48; BYTE $0x18 // mov rax, qword [rdx + 8*rsi + 24]
LONG $0xf1442b48; BYTE $0x18 // sub rax, qword [rcx + 8*rsi + 24]
LONG $0xf0448949; BYTE $0x18 // mov qword [r8 + 8*rsi + 24], rax
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB0_531
JMP LBB0_825
LBB0_532:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_825
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JAE LBB0_535
WORD $0xf631 // xor esi, esi
LBB0_540:
WORD $0x8948; BYTE $0xf7 // mov rdi, rsi
WORD $0xf748; BYTE $0xd7 // not rdi
WORD $0x014c; BYTE $0xd7 // add rdi, r10
WORD $0x894c; BYTE $0xd0 // mov rax, r10
LONG $0x03e08348 // and rax, 3
JE LBB0_542
LBB0_541:
LONG $0x0410fac5; BYTE $0xb2 // vmovss xmm0, dword [rdx + 4*rsi]
LONG $0x045cfac5; BYTE $0xb1 // vsubss xmm0, xmm0, dword [rcx + 4*rsi]
LONG $0x117ac1c4; WORD $0xb004 // vmovss dword [r8 + 4*rsi], xmm0
LONG $0x01c68348 // add rsi, 1
LONG $0xffc08348 // add rax, -1
JNE LBB0_541
LBB0_542:
LONG $0x03ff8348 // cmp rdi, 3
JB LBB0_825
LBB0_543:
LONG $0x0410fac5; BYTE $0xb2 // vmovss xmm0, dword [rdx + 4*rsi]
LONG $0x045cfac5; BYTE $0xb1 // vsubss xmm0, xmm0, dword [rcx + 4*rsi]
LONG $0x117ac1c4; WORD $0xb004 // vmovss dword [r8 + 4*rsi], xmm0
LONG $0x4410fac5; WORD $0x04b2 // vmovss xmm0, dword [rdx + 4*rsi + 4]
LONG $0x445cfac5; WORD $0x04b1 // vsubss xmm0, xmm0, dword [rcx + 4*rsi + 4]
LONG $0x117ac1c4; WORD $0xb044; BYTE $0x04 // vmovss dword [r8 + 4*rsi + 4], xmm0
LONG $0x4410fac5; WORD $0x08b2 // vmovss xmm0, dword [rdx + 4*rsi + 8]
LONG $0x445cfac5; WORD $0x08b1 // vsubss xmm0, xmm0, dword [rcx + 4*rsi + 8]
LONG $0x117ac1c4; WORD $0xb044; BYTE $0x08 // vmovss dword [r8 + 4*rsi + 8], xmm0
LONG $0x4410fac5; WORD $0x0cb2 // vmovss xmm0, dword [rdx + 4*rsi + 12]
LONG $0x445cfac5; WORD $0x0cb1 // vsubss xmm0, xmm0, dword [rcx + 4*rsi + 12]
LONG $0x117ac1c4; WORD $0xb044; BYTE $0x0c // vmovss dword [r8 + 4*rsi + 12], xmm0
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB0_543
JMP LBB0_825
LBB0_571:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_825
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JAE LBB0_574
WORD $0xff31 // xor edi, edi
JMP LBB0_584
LBB0_707:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_825
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JAE LBB0_710
WORD $0xff31 // xor edi, edi
JMP LBB0_720
LBB0_46:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_825
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x80f98141; WORD $0x0000; BYTE $0x00 // cmp r9d, 128
JAE LBB0_49
WORD $0xf631 // xor esi, esi
JMP LBB0_54
LBB0_312:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_825
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x80f98141; WORD $0x0000; BYTE $0x00 // cmp r9d, 128
JAE LBB0_315
WORD $0xf631 // xor esi, esi
JMP LBB0_320
LBB0_179:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_825
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x80f98141; WORD $0x0000; BYTE $0x00 // cmp r9d, 128
JAE LBB0_182
WORD $0xf631 // xor esi, esi
JMP LBB0_187
LBB0_445:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_825
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x80f98141; WORD $0x0000; BYTE $0x00 // cmp r9d, 128
JAE LBB0_448
WORD $0xf631 // xor esi, esi
JMP LBB0_453
LBB0_635:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_825
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JAE LBB0_638
WORD $0xf631 // xor esi, esi
JMP LBB0_643
LBB0_771:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_825
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JAE LBB0_774
WORD $0xf631 // xor esi, esi
JMP LBB0_779
LBB0_100:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_825
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JAE LBB0_103
WORD $0xf631 // xor esi, esi
JMP LBB0_108
LBB0_366:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_825
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JAE LBB0_369
WORD $0xf631 // xor esi, esi
JMP LBB0_374
LBB0_233:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_825
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JAE LBB0_236
WORD $0xf631 // xor esi, esi
JMP LBB0_241
LBB0_499:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_825
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JAE LBB0_502
WORD $0xf631 // xor esi, esi
JMP LBB0_507
LBB0_91:
LONG $0x90348d4b // lea rsi, [r8 + 4*r10]
LONG $0x92048d4a // lea rax, [rdx + 4*r10]
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
LONG $0xd1970f41 // seta r9b
LONG $0x91048d4a // lea rax, [rcx + 4*r10]
WORD $0x3948; BYTE $0xd6 // cmp rsi, rdx
LONG $0xd3970f41 // seta r11b
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
WORD $0x970f; BYTE $0xd0 // seta al
WORD $0x3948; BYTE $0xce // cmp rsi, rcx
LONG $0xd7970f40 // seta dil
WORD $0xf631 // xor esi, esi
WORD $0x8445; BYTE $0xd9 // test r9b, r11b
JNE LBB0_96
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_96
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
WORD $0xff31 // xor edi, edi
LBB0_94:
LONG $0x046ffec5; BYTE $0xb9 // vmovdqu ymm0, yword [rcx + 4*rdi]
LONG $0x4c6ffec5; WORD $0x20b9 // vmovdqu ymm1, yword [rcx + 4*rdi + 32]
LONG $0x546ffec5; WORD $0x40b9 // vmovdqu ymm2, yword [rcx + 4*rdi + 64]
LONG $0x5c6ffec5; WORD $0x60b9 // vmovdqu ymm3, yword [rcx + 4*rdi + 96]
LONG $0x04fefdc5; BYTE $0xba // vpaddd ymm0, ymm0, yword [rdx + 4*rdi]
LONG $0x4cfef5c5; WORD $0x20ba // vpaddd ymm1, ymm1, yword [rdx + 4*rdi + 32]
LONG $0x54feedc5; WORD $0x40ba // vpaddd ymm2, ymm2, yword [rdx + 4*rdi + 64]
LONG $0x5cfee5c5; WORD $0x60ba // vpaddd ymm3, ymm3, yword [rdx + 4*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xb804 // vmovdqu yword [r8 + 4*rdi], ymm0
LONG $0x7f7ec1c4; WORD $0xb84c; BYTE $0x20 // vmovdqu yword [r8 + 4*rdi + 32], ymm1
LONG $0x7f7ec1c4; WORD $0xb854; BYTE $0x40 // vmovdqu yword [r8 + 4*rdi + 64], ymm2
LONG $0x7f7ec1c4; WORD $0xb85c; BYTE $0x60 // vmovdqu yword [r8 + 4*rdi + 96], ymm3
LONG $0x20c78348 // add rdi, 32
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB0_94
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB0_825
LBB0_96:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd0 // mov rax, r10
LONG $0x03e08348 // and rax, 3
JE LBB0_98
LBB0_97:
WORD $0x3c8b; BYTE $0xb1 // mov edi, dword [rcx + 4*rsi]
WORD $0x3c03; BYTE $0xb2 // add edi, dword [rdx + 4*rsi]
LONG $0xb03c8941 // mov dword [r8 + 4*rsi], edi
LONG $0x01c68348 // add rsi, 1
LONG $0xffc08348 // add rax, -1
JNE LBB0_97
LBB0_98:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_825
LBB0_99:
WORD $0x048b; BYTE $0xb1 // mov eax, dword [rcx + 4*rsi]
WORD $0x0403; BYTE $0xb2 // add eax, dword [rdx + 4*rsi]
LONG $0xb0048941 // mov dword [r8 + 4*rsi], eax
LONG $0x04b1448b // mov eax, dword [rcx + 4*rsi + 4]
LONG $0x04b24403 // add eax, dword [rdx + 4*rsi + 4]
LONG $0xb0448941; BYTE $0x04 // mov dword [r8 + 4*rsi + 4], eax
LONG $0x08b1448b // mov eax, dword [rcx + 4*rsi + 8]
LONG $0x08b24403 // add eax, dword [rdx + 4*rsi + 8]
LONG $0xb0448941; BYTE $0x08 // mov dword [r8 + 4*rsi + 8], eax
LONG $0x0cb1448b // mov eax, dword [rcx + 4*rsi + 12]
LONG $0x0cb24403 // add eax, dword [rdx + 4*rsi + 12]
LONG $0xb0448941; BYTE $0x0c // mov dword [r8 + 4*rsi + 12], eax
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB0_99
JMP LBB0_825
LBB0_224:
LONG $0x90348d4b // lea rsi, [r8 + 4*r10]
LONG $0x92048d4a // lea rax, [rdx + 4*r10]
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
LONG $0xd1970f41 // seta r9b
LONG $0x91048d4a // lea rax, [rcx + 4*r10]
WORD $0x3948; BYTE $0xd6 // cmp rsi, rdx
LONG $0xd3970f41 // seta r11b
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
WORD $0x970f; BYTE $0xd0 // seta al
WORD $0x3948; BYTE $0xce // cmp rsi, rcx
LONG $0xd7970f40 // seta dil
WORD $0xf631 // xor esi, esi
WORD $0x8445; BYTE $0xd9 // test r9b, r11b
JNE LBB0_229
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_229
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
WORD $0xff31 // xor edi, edi
LBB0_227:
LONG $0x046ffec5; BYTE $0xb9 // vmovdqu ymm0, yword [rcx + 4*rdi]
LONG $0x4c6ffec5; WORD $0x20b9 // vmovdqu ymm1, yword [rcx + 4*rdi + 32]
LONG $0x546ffec5; WORD $0x40b9 // vmovdqu ymm2, yword [rcx + 4*rdi + 64]
LONG $0x5c6ffec5; WORD $0x60b9 // vmovdqu ymm3, yword [rcx + 4*rdi + 96]
LONG $0x04fefdc5; BYTE $0xba // vpaddd ymm0, ymm0, yword [rdx + 4*rdi]
LONG $0x4cfef5c5; WORD $0x20ba // vpaddd ymm1, ymm1, yword [rdx + 4*rdi + 32]
LONG $0x54feedc5; WORD $0x40ba // vpaddd ymm2, ymm2, yword [rdx + 4*rdi + 64]
LONG $0x5cfee5c5; WORD $0x60ba // vpaddd ymm3, ymm3, yword [rdx + 4*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xb804 // vmovdqu yword [r8 + 4*rdi], ymm0
LONG $0x7f7ec1c4; WORD $0xb84c; BYTE $0x20 // vmovdqu yword [r8 + 4*rdi + 32], ymm1
LONG $0x7f7ec1c4; WORD $0xb854; BYTE $0x40 // vmovdqu yword [r8 + 4*rdi + 64], ymm2
LONG $0x7f7ec1c4; WORD $0xb85c; BYTE $0x60 // vmovdqu yword [r8 + 4*rdi + 96], ymm3
LONG $0x20c78348 // add rdi, 32
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB0_227
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB0_825
LBB0_229:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd0 // mov rax, r10
LONG $0x03e08348 // and rax, 3
JE LBB0_231
LBB0_230:
WORD $0x3c8b; BYTE $0xb1 // mov edi, dword [rcx + 4*rsi]
WORD $0x3c03; BYTE $0xb2 // add edi, dword [rdx + 4*rsi]
LONG $0xb03c8941 // mov dword [r8 + 4*rsi], edi
LONG $0x01c68348 // add rsi, 1
LONG $0xffc08348 // add rax, -1
JNE LBB0_230
LBB0_231:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_825
LBB0_232:
WORD $0x048b; BYTE $0xb1 // mov eax, dword [rcx + 4*rsi]
WORD $0x0403; BYTE $0xb2 // add eax, dword [rdx + 4*rsi]
LONG $0xb0048941 // mov dword [r8 + 4*rsi], eax
LONG $0x04b1448b // mov eax, dword [rcx + 4*rsi + 4]
LONG $0x04b24403 // add eax, dword [rdx + 4*rsi + 4]
LONG $0xb0448941; BYTE $0x04 // mov dword [r8 + 4*rsi + 4], eax
LONG $0x08b1448b // mov eax, dword [rcx + 4*rsi + 8]
LONG $0x08b24403 // add eax, dword [rdx + 4*rsi + 8]
LONG $0xb0448941; BYTE $0x08 // mov dword [r8 + 4*rsi + 8], eax
LONG $0x0cb1448b // mov eax, dword [rcx + 4*rsi + 12]
LONG $0x0cb24403 // add eax, dword [rdx + 4*rsi + 12]
LONG $0xb0448941; BYTE $0x0c // mov dword [r8 + 4*rsi + 12], eax
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB0_232
JMP LBB0_825
LBB0_145:
LONG $0xd0348d4b // lea rsi, [r8 + 8*r10]
LONG $0xd2048d4a // lea rax, [rdx + 8*r10]
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
LONG $0xd1970f41 // seta r9b
LONG $0xd1048d4a // lea rax, [rcx + 8*r10]
WORD $0x3948; BYTE $0xd6 // cmp rsi, rdx
LONG $0xd3970f41 // seta r11b
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
WORD $0x970f; BYTE $0xd0 // seta al
WORD $0x3948; BYTE $0xce // cmp rsi, rcx
LONG $0xd7970f40 // seta dil
WORD $0xf631 // xor esi, esi
WORD $0x8445; BYTE $0xd9 // test r9b, r11b
JNE LBB0_150
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_150
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
WORD $0xff31 // xor edi, edi
LBB0_148:
LONG $0x0410fdc5; BYTE $0xf9 // vmovupd ymm0, yword [rcx + 8*rdi]
LONG $0x4c10fdc5; WORD $0x20f9 // vmovupd ymm1, yword [rcx + 8*rdi + 32]
LONG $0x5410fdc5; WORD $0x40f9 // vmovupd ymm2, yword [rcx + 8*rdi + 64]
LONG $0x5c10fdc5; WORD $0x60f9 // vmovupd ymm3, yword [rcx + 8*rdi + 96]
LONG $0x0458fdc5; BYTE $0xfa // vaddpd ymm0, ymm0, yword [rdx + 8*rdi]
LONG $0x4c58f5c5; WORD $0x20fa // vaddpd ymm1, ymm1, yword [rdx + 8*rdi + 32]
LONG $0x5458edc5; WORD $0x40fa // vaddpd ymm2, ymm2, yword [rdx + 8*rdi + 64]
LONG $0x5c58e5c5; WORD $0x60fa // vaddpd ymm3, ymm3, yword [rdx + 8*rdi + 96]
LONG $0x117dc1c4; WORD $0xf804 // vmovupd yword [r8 + 8*rdi], ymm0
LONG $0x117dc1c4; WORD $0xf84c; BYTE $0x20 // vmovupd yword [r8 + 8*rdi + 32], ymm1
LONG $0x117dc1c4; WORD $0xf854; BYTE $0x40 // vmovupd yword [r8 + 8*rdi + 64], ymm2
LONG $0x117dc1c4; WORD $0xf85c; BYTE $0x60 // vmovupd yword [r8 + 8*rdi + 96], ymm3
LONG $0x10c78348 // add rdi, 16
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB0_148
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB0_825
LBB0_150:
WORD $0x8948; BYTE $0xf7 // mov rdi, rsi
WORD $0xf748; BYTE $0xd7 // not rdi
WORD $0x014c; BYTE $0xd7 // add rdi, r10
WORD $0x894c; BYTE $0xd0 // mov rax, r10
LONG $0x03e08348 // and rax, 3
JE LBB0_152
LBB0_151:
LONG $0x0410fbc5; BYTE $0xf1 // vmovsd xmm0, qword [rcx + 8*rsi]
LONG $0x0458fbc5; BYTE $0xf2 // vaddsd xmm0, xmm0, qword [rdx + 8*rsi]
LONG $0x117bc1c4; WORD $0xf004 // vmovsd qword [r8 + 8*rsi], xmm0
LONG $0x01c68348 // add rsi, 1
LONG $0xffc08348 // add rax, -1
JNE LBB0_151
LBB0_152:
LONG $0x03ff8348 // cmp rdi, 3
JB LBB0_825
LBB0_153:
LONG $0x0410fbc5; BYTE $0xf1 // vmovsd xmm0, qword [rcx + 8*rsi]
LONG $0x0458fbc5; BYTE $0xf2 // vaddsd xmm0, xmm0, qword [rdx + 8*rsi]
LONG $0x117bc1c4; WORD $0xf004 // vmovsd qword [r8 + 8*rsi], xmm0
LONG $0x4410fbc5; WORD $0x08f1 // vmovsd xmm0, qword [rcx + 8*rsi + 8]
LONG $0x4458fbc5; WORD $0x08f2 // vaddsd xmm0, xmm0, qword [rdx + 8*rsi + 8]
LONG $0x117bc1c4; WORD $0xf044; BYTE $0x08 // vmovsd qword [r8 + 8*rsi + 8], xmm0
LONG $0x4410fbc5; WORD $0x10f1 // vmovsd xmm0, qword [rcx + 8*rsi + 16]
LONG $0x4458fbc5; WORD $0x10f2 // vaddsd xmm0, xmm0, qword [rdx + 8*rsi + 16]
LONG $0x117bc1c4; WORD $0xf044; BYTE $0x10 // vmovsd qword [r8 + 8*rsi + 16], xmm0
LONG $0x4410fbc5; WORD $0x18f1 // vmovsd xmm0, qword [rcx + 8*rsi + 24]
LONG $0x4458fbc5; WORD $0x18f2 // vaddsd xmm0, xmm0, qword [rdx + 8*rsi + 24]
LONG $0x117bc1c4; WORD $0xf044; BYTE $0x18 // vmovsd qword [r8 + 8*rsi + 24], xmm0
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB0_153
JMP LBB0_825
LBB0_278:
LONG $0xd0348d4b // lea rsi, [r8 + 8*r10]
LONG $0xd2048d4a // lea rax, [rdx + 8*r10]
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
LONG $0xd1970f41 // seta r9b
LONG $0xd1048d4a // lea rax, [rcx + 8*r10]
WORD $0x3948; BYTE $0xd6 // cmp rsi, rdx
LONG $0xd3970f41 // seta r11b
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
WORD $0x970f; BYTE $0xd0 // seta al
WORD $0x3948; BYTE $0xce // cmp rsi, rcx
LONG $0xd7970f40 // seta dil
WORD $0xf631 // xor esi, esi
WORD $0x8445; BYTE $0xd9 // test r9b, r11b
JNE LBB0_283
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_283
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
WORD $0xff31 // xor edi, edi
LBB0_281:
LONG $0x0410fdc5; BYTE $0xf9 // vmovupd ymm0, yword [rcx + 8*rdi]
LONG $0x4c10fdc5; WORD $0x20f9 // vmovupd ymm1, yword [rcx + 8*rdi + 32]
LONG $0x5410fdc5; WORD $0x40f9 // vmovupd ymm2, yword [rcx + 8*rdi + 64]
LONG $0x5c10fdc5; WORD $0x60f9 // vmovupd ymm3, yword [rcx + 8*rdi + 96]
LONG $0x0458fdc5; BYTE $0xfa // vaddpd ymm0, ymm0, yword [rdx + 8*rdi]
LONG $0x4c58f5c5; WORD $0x20fa // vaddpd ymm1, ymm1, yword [rdx + 8*rdi + 32]
LONG $0x5458edc5; WORD $0x40fa // vaddpd ymm2, ymm2, yword [rdx + 8*rdi + 64]
LONG $0x5c58e5c5; WORD $0x60fa // vaddpd ymm3, ymm3, yword [rdx + 8*rdi + 96]
LONG $0x117dc1c4; WORD $0xf804 // vmovupd yword [r8 + 8*rdi], ymm0
LONG $0x117dc1c4; WORD $0xf84c; BYTE $0x20 // vmovupd yword [r8 + 8*rdi + 32], ymm1
LONG $0x117dc1c4; WORD $0xf854; BYTE $0x40 // vmovupd yword [r8 + 8*rdi + 64], ymm2
LONG $0x117dc1c4; WORD $0xf85c; BYTE $0x60 // vmovupd yword [r8 + 8*rdi + 96], ymm3
LONG $0x10c78348 // add rdi, 16
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB0_281
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB0_825
LBB0_283:
WORD $0x8948; BYTE $0xf7 // mov rdi, rsi
WORD $0xf748; BYTE $0xd7 // not rdi
WORD $0x014c; BYTE $0xd7 // add rdi, r10
WORD $0x894c; BYTE $0xd0 // mov rax, r10
LONG $0x03e08348 // and rax, 3
JE LBB0_285
LBB0_284:
LONG $0x0410fbc5; BYTE $0xf1 // vmovsd xmm0, qword [rcx + 8*rsi]
LONG $0x0458fbc5; BYTE $0xf2 // vaddsd xmm0, xmm0, qword [rdx + 8*rsi]
LONG $0x117bc1c4; WORD $0xf004 // vmovsd qword [r8 + 8*rsi], xmm0
LONG $0x01c68348 // add rsi, 1
LONG $0xffc08348 // add rax, -1
JNE LBB0_284
LBB0_285:
LONG $0x03ff8348 // cmp rdi, 3
JB LBB0_825
LBB0_286:
LONG $0x0410fbc5; BYTE $0xf1 // vmovsd xmm0, qword [rcx + 8*rsi]
LONG $0x0458fbc5; BYTE $0xf2 // vaddsd xmm0, xmm0, qword [rdx + 8*rsi]
LONG $0x117bc1c4; WORD $0xf004 // vmovsd qword [r8 + 8*rsi], xmm0
LONG $0x4410fbc5; WORD $0x08f1 // vmovsd xmm0, qword [rcx + 8*rsi + 8]
LONG $0x4458fbc5; WORD $0x08f2 // vaddsd xmm0, xmm0, qword [rdx + 8*rsi + 8]
LONG $0x117bc1c4; WORD $0xf044; BYTE $0x08 // vmovsd qword [r8 + 8*rsi + 8], xmm0
LONG $0x4410fbc5; WORD $0x10f1 // vmovsd xmm0, qword [rcx + 8*rsi + 16]
LONG $0x4458fbc5; WORD $0x10f2 // vaddsd xmm0, xmm0, qword [rdx + 8*rsi + 16]
LONG $0x117bc1c4; WORD $0xf044; BYTE $0x10 // vmovsd qword [r8 + 8*rsi + 16], xmm0
LONG $0x4410fbc5; WORD $0x18f1 // vmovsd xmm0, qword [rcx + 8*rsi + 24]
LONG $0x4458fbc5; WORD $0x18f2 // vaddsd xmm0, xmm0, qword [rdx + 8*rsi + 24]
LONG $0x117bc1c4; WORD $0xf044; BYTE $0x18 // vmovsd qword [r8 + 8*rsi + 24], xmm0
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB0_286
JMP LBB0_825
LBB0_588:
LONG $0x10348d4b // lea rsi, [r8 + r10]
LONG $0x12048d4a // lea rax, [rdx + r10]
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
LONG $0xd1970f41 // seta r9b
LONG $0x11048d4a // lea rax, [rcx + r10]
WORD $0x3948; BYTE $0xd6 // cmp rsi, rdx
LONG $0xd3970f41 // seta r11b
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
WORD $0x970f; BYTE $0xd0 // seta al
WORD $0x3948; BYTE $0xce // cmp rsi, rcx
LONG $0xd6970f40 // seta sil
WORD $0xff31 // xor edi, edi
WORD $0x8445; BYTE $0xd9 // test r9b, r11b
JNE LBB0_598
WORD $0x2040; BYTE $0xf0 // and al, sil
JNE LBB0_598
WORD $0x8944; BYTE $0xd7 // mov edi, r10d
WORD $0xe783; BYTE $0xe0 // and edi, -32
LONG $0xe0778d48 // lea rsi, [rdi - 32]
WORD $0x8948; BYTE $0xf0 // mov rax, rsi
LONG $0x05e8c148 // shr rax, 5
LONG $0x01c08348 // add rax, 1
WORD $0x8941; BYTE $0xc1 // mov r9d, eax
LONG $0x03e18341 // and r9d, 3
LONG $0x60fe8348 // cmp rsi, 96
JAE LBB0_592
WORD $0xf631 // xor esi, esi
JMP LBB0_594
LBB0_724:
LONG $0x10348d4b // lea rsi, [r8 + r10]
LONG $0x12048d4a // lea rax, [rdx + r10]
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
LONG $0xd1970f41 // seta r9b
LONG $0x11048d4a // lea rax, [rcx + r10]
WORD $0x3948; BYTE $0xd6 // cmp rsi, rdx
LONG $0xd3970f41 // seta r11b
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
WORD $0x970f; BYTE $0xd0 // seta al
WORD $0x3948; BYTE $0xce // cmp rsi, rcx
LONG $0xd6970f40 // seta sil
WORD $0xff31 // xor edi, edi
WORD $0x8445; BYTE $0xd9 // test r9b, r11b
JNE LBB0_734
WORD $0x2040; BYTE $0xf0 // and al, sil
JNE LBB0_734
WORD $0x8944; BYTE $0xd7 // mov edi, r10d
WORD $0xe783; BYTE $0xe0 // and edi, -32
LONG $0xe0778d48 // lea rsi, [rdi - 32]
WORD $0x8948; BYTE $0xf0 // mov rax, rsi
LONG $0x05e8c148 // shr rax, 5
LONG $0x01c08348 // add rax, 1
WORD $0x8941; BYTE $0xc1 // mov r9d, eax
LONG $0x03e18341 // and r9d, 3
LONG $0x60fe8348 // cmp rsi, 96
JAE LBB0_728
WORD $0xf631 // xor esi, esi
JMP LBB0_730
LBB0_58:
LONG $0x10348d4b // lea rsi, [r8 + r10]
LONG $0x12048d4a // lea rax, [rdx + r10]
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
LONG $0xd1970f41 // seta r9b
LONG $0x11048d4a // lea rax, [rcx + r10]
WORD $0x3948; BYTE $0xd6 // cmp rsi, rdx
LONG $0xd3970f41 // seta r11b
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
WORD $0x970f; BYTE $0xd0 // seta al
WORD $0x3948; BYTE $0xce // cmp rsi, rcx
LONG $0xd7970f40 // seta dil
WORD $0xf631 // xor esi, esi
WORD $0x8445; BYTE $0xd9 // test r9b, r11b
JNE LBB0_63
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_63
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0x80 // and esi, -128
WORD $0xff31 // xor edi, edi
LBB0_61:
LONG $0x046ffec5; BYTE $0x39 // vmovdqu ymm0, yword [rcx + rdi]
LONG $0x4c6ffec5; WORD $0x2039 // vmovdqu ymm1, yword [rcx + rdi + 32]
LONG $0x546ffec5; WORD $0x4039 // vmovdqu ymm2, yword [rcx + rdi + 64]
LONG $0x5c6ffec5; WORD $0x6039 // vmovdqu ymm3, yword [rcx + rdi + 96]
LONG $0x04fcfdc5; BYTE $0x3a // vpaddb ymm0, ymm0, yword [rdx + rdi]
LONG $0x4cfcf5c5; WORD $0x203a // vpaddb ymm1, ymm1, yword [rdx + rdi + 32]
LONG $0x54fcedc5; WORD $0x403a // vpaddb ymm2, ymm2, yword [rdx + rdi + 64]
LONG $0x5cfce5c5; WORD $0x603a // vpaddb ymm3, ymm3, yword [rdx + rdi + 96]
LONG $0x7f7ec1c4; WORD $0x3804 // vmovdqu yword [r8 + rdi], ymm0
LONG $0x7f7ec1c4; WORD $0x384c; BYTE $0x20 // vmovdqu yword [r8 + rdi + 32], ymm1
LONG $0x7f7ec1c4; WORD $0x3854; BYTE $0x40 // vmovdqu yword [r8 + rdi + 64], ymm2
LONG $0x7f7ec1c4; WORD $0x385c; BYTE $0x60 // vmovdqu yword [r8 + rdi + 96], ymm3
LONG $0x80ef8348 // sub rdi, -128
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB0_61
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB0_825
LBB0_63:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB0_65
LBB0_64:
LONG $0x3104b60f // movzx eax, byte [rcx + rsi]
WORD $0x0402; BYTE $0x32 // add al, byte [rdx + rsi]
LONG $0x30048841 // mov byte [r8 + rsi], al
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB0_64
LBB0_65:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_825
LBB0_66:
LONG $0x3104b60f // movzx eax, byte [rcx + rsi]
WORD $0x0402; BYTE $0x32 // add al, byte [rdx + rsi]
LONG $0x30048841 // mov byte [r8 + rsi], al
LONG $0x3144b60f; BYTE $0x01 // movzx eax, byte [rcx + rsi + 1]
LONG $0x01324402 // add al, byte [rdx + rsi + 1]
LONG $0x30448841; BYTE $0x01 // mov byte [r8 + rsi + 1], al
LONG $0x3144b60f; BYTE $0x02 // movzx eax, byte [rcx + rsi + 2]
LONG $0x02324402 // add al, byte [rdx + rsi + 2]
LONG $0x30448841; BYTE $0x02 // mov byte [r8 + rsi + 2], al
LONG $0x3144b60f; BYTE $0x03 // movzx eax, byte [rcx + rsi + 3]
LONG $0x03324402 // add al, byte [rdx + rsi + 3]
LONG $0x30448841; BYTE $0x03 // mov byte [r8 + rsi + 3], al
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB0_66
JMP LBB0_825
LBB0_324:
LONG $0x10348d4b // lea rsi, [r8 + r10]
LONG $0x12048d4a // lea rax, [rdx + r10]
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
LONG $0xd1970f41 // seta r9b
LONG $0x11048d4a // lea rax, [rcx + r10]
WORD $0x3948; BYTE $0xd6 // cmp rsi, rdx
LONG $0xd3970f41 // seta r11b
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
WORD $0x970f; BYTE $0xd0 // seta al
WORD $0x3948; BYTE $0xce // cmp rsi, rcx
LONG $0xd7970f40 // seta dil
WORD $0xf631 // xor esi, esi
WORD $0x8445; BYTE $0xd9 // test r9b, r11b
JNE LBB0_329
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_329
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0x80 // and esi, -128
WORD $0xff31 // xor edi, edi
LBB0_327:
LONG $0x046ffec5; BYTE $0x3a // vmovdqu ymm0, yword [rdx + rdi]
LONG $0x4c6ffec5; WORD $0x203a // vmovdqu ymm1, yword [rdx + rdi + 32]
LONG $0x546ffec5; WORD $0x403a // vmovdqu ymm2, yword [rdx + rdi + 64]
LONG $0x5c6ffec5; WORD $0x603a // vmovdqu ymm3, yword [rdx + rdi + 96]
LONG $0x04f8fdc5; BYTE $0x39 // vpsubb ymm0, ymm0, yword [rcx + rdi]
LONG $0x4cf8f5c5; WORD $0x2039 // vpsubb ymm1, ymm1, yword [rcx + rdi + 32]
LONG $0x54f8edc5; WORD $0x4039 // vpsubb ymm2, ymm2, yword [rcx + rdi + 64]
LONG $0x5cf8e5c5; WORD $0x6039 // vpsubb ymm3, ymm3, yword [rcx + rdi + 96]
LONG $0x7f7ec1c4; WORD $0x3804 // vmovdqu yword [r8 + rdi], ymm0
LONG $0x7f7ec1c4; WORD $0x384c; BYTE $0x20 // vmovdqu yword [r8 + rdi + 32], ymm1
LONG $0x7f7ec1c4; WORD $0x3854; BYTE $0x40 // vmovdqu yword [r8 + rdi + 64], ymm2
LONG $0x7f7ec1c4; WORD $0x385c; BYTE $0x60 // vmovdqu yword [r8 + rdi + 96], ymm3
LONG $0x80ef8348 // sub rdi, -128
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB0_327
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB0_825
LBB0_329:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB0_331
LBB0_330:
LONG $0x3204b60f // movzx eax, byte [rdx + rsi]
WORD $0x042a; BYTE $0x31 // sub al, byte [rcx + rsi]
LONG $0x30048841 // mov byte [r8 + rsi], al
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB0_330
LBB0_331:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_825
LBB0_332:
LONG $0x3204b60f // movzx eax, byte [rdx + rsi]
WORD $0x042a; BYTE $0x31 // sub al, byte [rcx + rsi]
LONG $0x30048841 // mov byte [r8 + rsi], al
LONG $0x3244b60f; BYTE $0x01 // movzx eax, byte [rdx + rsi + 1]
LONG $0x0131442a // sub al, byte [rcx + rsi + 1]
LONG $0x30448841; BYTE $0x01 // mov byte [r8 + rsi + 1], al
LONG $0x3244b60f; BYTE $0x02 // movzx eax, byte [rdx + rsi + 2]
LONG $0x0231442a // sub al, byte [rcx + rsi + 2]
LONG $0x30448841; BYTE $0x02 // mov byte [r8 + rsi + 2], al
LONG $0x3244b60f; BYTE $0x03 // movzx eax, byte [rdx + rsi + 3]
LONG $0x0331442a // sub al, byte [rcx + rsi + 3]
LONG $0x30448841; BYTE $0x03 // mov byte [r8 + rsi + 3], al
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB0_332
JMP LBB0_825
LBB0_191:
LONG $0x10348d4b // lea rsi, [r8 + r10]
LONG $0x12048d4a // lea rax, [rdx + r10]
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
LONG $0xd1970f41 // seta r9b
LONG $0x11048d4a // lea rax, [rcx + r10]
WORD $0x3948; BYTE $0xd6 // cmp rsi, rdx
LONG $0xd3970f41 // seta r11b
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
WORD $0x970f; BYTE $0xd0 // seta al
WORD $0x3948; BYTE $0xce // cmp rsi, rcx
LONG $0xd7970f40 // seta dil
WORD $0xf631 // xor esi, esi
WORD $0x8445; BYTE $0xd9 // test r9b, r11b
JNE LBB0_196
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_196
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0x80 // and esi, -128
WORD $0xff31 // xor edi, edi
LBB0_194:
LONG $0x046ffec5; BYTE $0x39 // vmovdqu ymm0, yword [rcx + rdi]
LONG $0x4c6ffec5; WORD $0x2039 // vmovdqu ymm1, yword [rcx + rdi + 32]
LONG $0x546ffec5; WORD $0x4039 // vmovdqu ymm2, yword [rcx + rdi + 64]
LONG $0x5c6ffec5; WORD $0x6039 // vmovdqu ymm3, yword [rcx + rdi + 96]
LONG $0x04fcfdc5; BYTE $0x3a // vpaddb ymm0, ymm0, yword [rdx + rdi]
LONG $0x4cfcf5c5; WORD $0x203a // vpaddb ymm1, ymm1, yword [rdx + rdi + 32]
LONG $0x54fcedc5; WORD $0x403a // vpaddb ymm2, ymm2, yword [rdx + rdi + 64]
LONG $0x5cfce5c5; WORD $0x603a // vpaddb ymm3, ymm3, yword [rdx + rdi + 96]
LONG $0x7f7ec1c4; WORD $0x3804 // vmovdqu yword [r8 + rdi], ymm0
LONG $0x7f7ec1c4; WORD $0x384c; BYTE $0x20 // vmovdqu yword [r8 + rdi + 32], ymm1
LONG $0x7f7ec1c4; WORD $0x3854; BYTE $0x40 // vmovdqu yword [r8 + rdi + 64], ymm2
LONG $0x7f7ec1c4; WORD $0x385c; BYTE $0x60 // vmovdqu yword [r8 + rdi + 96], ymm3
LONG $0x80ef8348 // sub rdi, -128
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB0_194
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB0_825
LBB0_196:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB0_198
LBB0_197:
LONG $0x3104b60f // movzx eax, byte [rcx + rsi]
WORD $0x0402; BYTE $0x32 // add al, byte [rdx + rsi]
LONG $0x30048841 // mov byte [r8 + rsi], al
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB0_197
LBB0_198:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_825
LBB0_199:
LONG $0x3104b60f // movzx eax, byte [rcx + rsi]
WORD $0x0402; BYTE $0x32 // add al, byte [rdx + rsi]
LONG $0x30048841 // mov byte [r8 + rsi], al
LONG $0x3144b60f; BYTE $0x01 // movzx eax, byte [rcx + rsi + 1]
LONG $0x01324402 // add al, byte [rdx + rsi + 1]
LONG $0x30448841; BYTE $0x01 // mov byte [r8 + rsi + 1], al
LONG $0x3144b60f; BYTE $0x02 // movzx eax, byte [rcx + rsi + 2]
LONG $0x02324402 // add al, byte [rdx + rsi + 2]
LONG $0x30448841; BYTE $0x02 // mov byte [r8 + rsi + 2], al
LONG $0x3144b60f; BYTE $0x03 // movzx eax, byte [rcx + rsi + 3]
LONG $0x03324402 // add al, byte [rdx + rsi + 3]
LONG $0x30448841; BYTE $0x03 // mov byte [r8 + rsi + 3], al
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB0_199
JMP LBB0_825
LBB0_457:
LONG $0x10348d4b // lea rsi, [r8 + r10]
LONG $0x12048d4a // lea rax, [rdx + r10]
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
LONG $0xd1970f41 // seta r9b
LONG $0x11048d4a // lea rax, [rcx + r10]
WORD $0x3948; BYTE $0xd6 // cmp rsi, rdx
LONG $0xd3970f41 // seta r11b
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
WORD $0x970f; BYTE $0xd0 // seta al
WORD $0x3948; BYTE $0xce // cmp rsi, rcx
LONG $0xd7970f40 // seta dil
WORD $0xf631 // xor esi, esi
WORD $0x8445; BYTE $0xd9 // test r9b, r11b
JNE LBB0_462
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_462
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0x80 // and esi, -128
WORD $0xff31 // xor edi, edi
LBB0_460:
LONG $0x046ffec5; BYTE $0x3a // vmovdqu ymm0, yword [rdx + rdi]
LONG $0x4c6ffec5; WORD $0x203a // vmovdqu ymm1, yword [rdx + rdi + 32]
LONG $0x546ffec5; WORD $0x403a // vmovdqu ymm2, yword [rdx + rdi + 64]
LONG $0x5c6ffec5; WORD $0x603a // vmovdqu ymm3, yword [rdx + rdi + 96]
LONG $0x04f8fdc5; BYTE $0x39 // vpsubb ymm0, ymm0, yword [rcx + rdi]
LONG $0x4cf8f5c5; WORD $0x2039 // vpsubb ymm1, ymm1, yword [rcx + rdi + 32]
LONG $0x54f8edc5; WORD $0x4039 // vpsubb ymm2, ymm2, yword [rcx + rdi + 64]
LONG $0x5cf8e5c5; WORD $0x6039 // vpsubb ymm3, ymm3, yword [rcx + rdi + 96]
LONG $0x7f7ec1c4; WORD $0x3804 // vmovdqu yword [r8 + rdi], ymm0
LONG $0x7f7ec1c4; WORD $0x384c; BYTE $0x20 // vmovdqu yword [r8 + rdi + 32], ymm1
LONG $0x7f7ec1c4; WORD $0x3854; BYTE $0x40 // vmovdqu yword [r8 + rdi + 64], ymm2
LONG $0x7f7ec1c4; WORD $0x385c; BYTE $0x60 // vmovdqu yword [r8 + rdi + 96], ymm3
LONG $0x80ef8348 // sub rdi, -128
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB0_460
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB0_825
LBB0_462:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB0_464
LBB0_463:
LONG $0x3204b60f // movzx eax, byte [rdx + rsi]
WORD $0x042a; BYTE $0x31 // sub al, byte [rcx + rsi]
LONG $0x30048841 // mov byte [r8 + rsi], al
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB0_463
LBB0_464:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_825
LBB0_465:
LONG $0x3204b60f // movzx eax, byte [rdx + rsi]
WORD $0x042a; BYTE $0x31 // sub al, byte [rcx + rsi]
LONG $0x30048841 // mov byte [r8 + rsi], al
LONG $0x3244b60f; BYTE $0x01 // movzx eax, byte [rdx + rsi + 1]
LONG $0x0131442a // sub al, byte [rcx + rsi + 1]
LONG $0x30448841; BYTE $0x01 // mov byte [r8 + rsi + 1], al
LONG $0x3244b60f; BYTE $0x02 // movzx eax, byte [rdx + rsi + 2]
LONG $0x0231442a // sub al, byte [rcx + rsi + 2]
LONG $0x30448841; BYTE $0x02 // mov byte [r8 + rsi + 2], al
LONG $0x3244b60f; BYTE $0x03 // movzx eax, byte [rdx + rsi + 3]
LONG $0x0331442a // sub al, byte [rcx + rsi + 3]
LONG $0x30448841; BYTE $0x03 // mov byte [r8 + rsi + 3], al
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB0_465
JMP LBB0_825
LBB0_647:
LONG $0xd0348d4b // lea rsi, [r8 + 8*r10]
LONG $0xd2048d4a // lea rax, [rdx + 8*r10]
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
LONG $0xd1970f41 // seta r9b
LONG $0xd1048d4a // lea rax, [rcx + 8*r10]
WORD $0x3948; BYTE $0xd6 // cmp rsi, rdx
LONG $0xd3970f41 // seta r11b
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
WORD $0x970f; BYTE $0xd0 // seta al
WORD $0x3948; BYTE $0xce // cmp rsi, rcx
LONG $0xd7970f40 // seta dil
WORD $0xf631 // xor esi, esi
WORD $0x8445; BYTE $0xd9 // test r9b, r11b
JNE LBB0_652
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_652
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
WORD $0xff31 // xor edi, edi
LBB0_650:
LONG $0x0c6ffec5; BYTE $0xfa // vmovdqu ymm1, yword [rdx + 8*rdi]
LONG $0x546ffec5; WORD $0x20fa // vmovdqu ymm2, yword [rdx + 8*rdi + 32]
LONG $0x5c6ffec5; WORD $0x40fa // vmovdqu ymm3, yword [rdx + 8*rdi + 64]
LONG $0x446ffec5; WORD $0x60fa // vmovdqu ymm0, yword [rdx + 8*rdi + 96]
LONG $0x246ffec5; BYTE $0xf9 // vmovdqu ymm4, yword [rcx + 8*rdi]
LONG $0x6c6ffec5; WORD $0x20f9 // vmovdqu ymm5, yword [rcx + 8*rdi + 32]
LONG $0x746ffec5; WORD $0x40f9 // vmovdqu ymm6, yword [rcx + 8*rdi + 64]
LONG $0x7c6ffec5; WORD $0x60f9 // vmovdqu ymm7, yword [rcx + 8*rdi + 96]
LONG $0xd473bdc5; BYTE $0x20 // vpsrlq ymm8, ymm4, 32
LONG $0xc1f43dc5 // vpmuludq ymm8, ymm8, ymm1
LONG $0xd173b5c5; BYTE $0x20 // vpsrlq ymm9, ymm1, 32
LONG $0xccf435c5 // vpmuludq ymm9, ymm9, ymm4
LONG $0xd43541c4; BYTE $0xc0 // vpaddq ymm8, ymm9, ymm8
LONG $0x733dc1c4; WORD $0x20f0 // vpsllq ymm8, ymm8, 32
LONG $0xc9f4ddc5 // vpmuludq ymm1, ymm4, ymm1
LONG $0xc9d4bdc5 // vpaddq ymm1, ymm8, ymm1
LONG $0xd573ddc5; BYTE $0x20 // vpsrlq ymm4, ymm5, 32
LONG $0xe2f4ddc5 // vpmuludq ymm4, ymm4, ymm2
LONG $0xd273bdc5; BYTE $0x20 // vpsrlq ymm8, ymm2, 32
LONG $0xc5f43dc5 // vpmuludq ymm8, ymm8, ymm5
LONG $0xe4d4bdc5 // vpaddq ymm4, ymm8, ymm4
LONG $0xf473ddc5; BYTE $0x20 // vpsllq ymm4, ymm4, 32
LONG $0xd2f4d5c5 // vpmuludq ymm2, ymm5, ymm2
LONG $0xd4d4edc5 // vpaddq ymm2, ymm2, ymm4
LONG $0xd673ddc5; BYTE $0x20 // vpsrlq ymm4, ymm6, 32
LONG $0xe3f4ddc5 // vpmuludq ymm4, ymm4, ymm3
LONG $0xd373d5c5; BYTE $0x20 // vpsrlq ymm5, ymm3, 32
LONG $0xedf4cdc5 // vpmuludq ymm5, ymm6, ymm5
LONG $0xe4d4d5c5 // vpaddq ymm4, ymm5, ymm4
LONG $0xf473ddc5; BYTE $0x20 // vpsllq ymm4, ymm4, 32
LONG $0xdbf4cdc5 // vpmuludq ymm3, ymm6, ymm3
LONG $0xdcd4e5c5 // vpaddq ymm3, ymm3, ymm4
LONG $0xd773ddc5; BYTE $0x20 // vpsrlq ymm4, ymm7, 32
LONG $0xe0f4ddc5 // vpmuludq ymm4, ymm4, ymm0
LONG $0xd073d5c5; BYTE $0x20 // vpsrlq ymm5, ymm0, 32
LONG $0xedf4c5c5 // vpmuludq ymm5, ymm7, ymm5
LONG $0xe4d4d5c5 // vpaddq ymm4, ymm5, ymm4
LONG $0xf473ddc5; BYTE $0x20 // vpsllq ymm4, ymm4, 32
LONG $0xc0f4c5c5 // vpmuludq ymm0, ymm7, ymm0
LONG $0xc4d4fdc5 // vpaddq ymm0, ymm0, ymm4
LONG $0x7f7ec1c4; WORD $0xf80c // vmovdqu yword [r8 + 8*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xf854; BYTE $0x20 // vmovdqu yword [r8 + 8*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xf85c; BYTE $0x40 // vmovdqu yword [r8 + 8*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xf844; BYTE $0x60 // vmovdqu yword [r8 + 8*rdi + 96], ymm0
LONG $0x10c78348 // add rdi, 16
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB0_650
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB0_825
LBB0_652:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd0 // mov rax, r10
LONG $0x03e08348 // and rax, 3
JE LBB0_654
LBB0_653:
LONG $0xf13c8b48 // mov rdi, qword [rcx + 8*rsi]
LONG $0x3caf0f48; BYTE $0xf2 // imul rdi, qword [rdx + 8*rsi]
LONG $0xf03c8949 // mov qword [r8 + 8*rsi], rdi
LONG $0x01c68348 // add rsi, 1
LONG $0xffc08348 // add rax, -1
JNE LBB0_653
LBB0_654:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_825
LBB0_655:
LONG $0xf1048b48 // mov rax, qword [rcx + 8*rsi]
LONG $0x04af0f48; BYTE $0xf2 // imul rax, qword [rdx + 8*rsi]
LONG $0xf0048949 // mov qword [r8 + 8*rsi], rax
LONG $0xf1448b48; BYTE $0x08 // mov rax, qword [rcx + 8*rsi + 8]
LONG $0x44af0f48; WORD $0x08f2 // imul rax, qword [rdx + 8*rsi + 8]
LONG $0xf0448949; BYTE $0x08 // mov qword [r8 + 8*rsi + 8], rax
LONG $0xf1448b48; BYTE $0x10 // mov rax, qword [rcx + 8*rsi + 16]
LONG $0x44af0f48; WORD $0x10f2 // imul rax, qword [rdx + 8*rsi + 16]
LONG $0xf0448949; BYTE $0x10 // mov qword [r8 + 8*rsi + 16], rax
LONG $0xf1448b48; BYTE $0x18 // mov rax, qword [rcx + 8*rsi + 24]
LONG $0x44af0f48; WORD $0x18f2 // imul rax, qword [rdx + 8*rsi + 24]
LONG $0xf0448949; BYTE $0x18 // mov qword [r8 + 8*rsi + 24], rax
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB0_655
JMP LBB0_825
LBB0_783:
LONG $0xd0348d4b // lea rsi, [r8 + 8*r10]
LONG $0xd2048d4a // lea rax, [rdx + 8*r10]
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
LONG $0xd1970f41 // seta r9b
LONG $0xd1048d4a // lea rax, [rcx + 8*r10]
WORD $0x3948; BYTE $0xd6 // cmp rsi, rdx
LONG $0xd3970f41 // seta r11b
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
WORD $0x970f; BYTE $0xd0 // seta al
WORD $0x3948; BYTE $0xce // cmp rsi, rcx
LONG $0xd7970f40 // seta dil
WORD $0xf631 // xor esi, esi
WORD $0x8445; BYTE $0xd9 // test r9b, r11b
JNE LBB0_788
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_788
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
WORD $0xff31 // xor edi, edi
LBB0_786:
LONG $0x0c6ffec5; BYTE $0xfa // vmovdqu ymm1, yword [rdx + 8*rdi]
LONG $0x546ffec5; WORD $0x20fa // vmovdqu ymm2, yword [rdx + 8*rdi + 32]
LONG $0x5c6ffec5; WORD $0x40fa // vmovdqu ymm3, yword [rdx + 8*rdi + 64]
LONG $0x446ffec5; WORD $0x60fa // vmovdqu ymm0, yword [rdx + 8*rdi + 96]
LONG $0x246ffec5; BYTE $0xf9 // vmovdqu ymm4, yword [rcx + 8*rdi]
LONG $0x6c6ffec5; WORD $0x20f9 // vmovdqu ymm5, yword [rcx + 8*rdi + 32]
LONG $0x746ffec5; WORD $0x40f9 // vmovdqu ymm6, yword [rcx + 8*rdi + 64]
LONG $0x7c6ffec5; WORD $0x60f9 // vmovdqu ymm7, yword [rcx + 8*rdi + 96]
LONG $0xd473bdc5; BYTE $0x20 // vpsrlq ymm8, ymm4, 32
LONG $0xc1f43dc5 // vpmuludq ymm8, ymm8, ymm1
LONG $0xd173b5c5; BYTE $0x20 // vpsrlq ymm9, ymm1, 32
LONG $0xccf435c5 // vpmuludq ymm9, ymm9, ymm4
LONG $0xd43541c4; BYTE $0xc0 // vpaddq ymm8, ymm9, ymm8
LONG $0x733dc1c4; WORD $0x20f0 // vpsllq ymm8, ymm8, 32
LONG $0xc9f4ddc5 // vpmuludq ymm1, ymm4, ymm1
LONG $0xc9d4bdc5 // vpaddq ymm1, ymm8, ymm1
LONG $0xd573ddc5; BYTE $0x20 // vpsrlq ymm4, ymm5, 32
LONG $0xe2f4ddc5 // vpmuludq ymm4, ymm4, ymm2
LONG $0xd273bdc5; BYTE $0x20 // vpsrlq ymm8, ymm2, 32
LONG $0xc5f43dc5 // vpmuludq ymm8, ymm8, ymm5
LONG $0xe4d4bdc5 // vpaddq ymm4, ymm8, ymm4
LONG $0xf473ddc5; BYTE $0x20 // vpsllq ymm4, ymm4, 32
LONG $0xd2f4d5c5 // vpmuludq ymm2, ymm5, ymm2
LONG $0xd4d4edc5 // vpaddq ymm2, ymm2, ymm4
LONG $0xd673ddc5; BYTE $0x20 // vpsrlq ymm4, ymm6, 32
LONG $0xe3f4ddc5 // vpmuludq ymm4, ymm4, ymm3
LONG $0xd373d5c5; BYTE $0x20 // vpsrlq ymm5, ymm3, 32
LONG $0xedf4cdc5 // vpmuludq ymm5, ymm6, ymm5
LONG $0xe4d4d5c5 // vpaddq ymm4, ymm5, ymm4
LONG $0xf473ddc5; BYTE $0x20 // vpsllq ymm4, ymm4, 32
LONG $0xdbf4cdc5 // vpmuludq ymm3, ymm6, ymm3
LONG $0xdcd4e5c5 // vpaddq ymm3, ymm3, ymm4
LONG $0xd773ddc5; BYTE $0x20 // vpsrlq ymm4, ymm7, 32
LONG $0xe0f4ddc5 // vpmuludq ymm4, ymm4, ymm0
LONG $0xd073d5c5; BYTE $0x20 // vpsrlq ymm5, ymm0, 32
LONG $0xedf4c5c5 // vpmuludq ymm5, ymm7, ymm5
LONG $0xe4d4d5c5 // vpaddq ymm4, ymm5, ymm4
LONG $0xf473ddc5; BYTE $0x20 // vpsllq ymm4, ymm4, 32
LONG $0xc0f4c5c5 // vpmuludq ymm0, ymm7, ymm0
LONG $0xc4d4fdc5 // vpaddq ymm0, ymm0, ymm4
LONG $0x7f7ec1c4; WORD $0xf80c // vmovdqu yword [r8 + 8*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xf854; BYTE $0x20 // vmovdqu yword [r8 + 8*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xf85c; BYTE $0x40 // vmovdqu yword [r8 + 8*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xf844; BYTE $0x60 // vmovdqu yword [r8 + 8*rdi + 96], ymm0
LONG $0x10c78348 // add rdi, 16
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB0_786
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB0_825
LBB0_788:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd0 // mov rax, r10
LONG $0x03e08348 // and rax, 3
JE LBB0_790
LBB0_789:
LONG $0xf13c8b48 // mov rdi, qword [rcx + 8*rsi]
LONG $0x3caf0f48; BYTE $0xf2 // imul rdi, qword [rdx + 8*rsi]
LONG $0xf03c8949 // mov qword [r8 + 8*rsi], rdi
LONG $0x01c68348 // add rsi, 1
LONG $0xffc08348 // add rax, -1
JNE LBB0_789
LBB0_790:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_825
LBB0_791:
LONG $0xf1048b48 // mov rax, qword [rcx + 8*rsi]
LONG $0x04af0f48; BYTE $0xf2 // imul rax, qword [rdx + 8*rsi]
LONG $0xf0048949 // mov qword [r8 + 8*rsi], rax
LONG $0xf1448b48; BYTE $0x08 // mov rax, qword [rcx + 8*rsi + 8]
LONG $0x44af0f48; WORD $0x08f2 // imul rax, qword [rdx + 8*rsi + 8]
LONG $0xf0448949; BYTE $0x08 // mov qword [r8 + 8*rsi + 8], rax
LONG $0xf1448b48; BYTE $0x10 // mov rax, qword [rcx + 8*rsi + 16]
LONG $0x44af0f48; WORD $0x10f2 // imul rax, qword [rdx + 8*rsi + 16]
LONG $0xf0448949; BYTE $0x10 // mov qword [r8 + 8*rsi + 16], rax
LONG $0xf1448b48; BYTE $0x18 // mov rax, qword [rcx + 8*rsi + 24]
LONG $0x44af0f48; WORD $0x18f2 // imul rax, qword [rdx + 8*rsi + 24]
LONG $0xf0448949; BYTE $0x18 // mov qword [r8 + 8*rsi + 24], rax
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB0_791
JMP LBB0_825
LBB0_112:
LONG $0xd0348d4b // lea rsi, [r8 + 8*r10]
LONG $0xd2048d4a // lea rax, [rdx + 8*r10]
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
LONG $0xd1970f41 // seta r9b
LONG $0xd1048d4a // lea rax, [rcx + 8*r10]
WORD $0x3948; BYTE $0xd6 // cmp rsi, rdx
LONG $0xd3970f41 // seta r11b
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
WORD $0x970f; BYTE $0xd0 // seta al
WORD $0x3948; BYTE $0xce // cmp rsi, rcx
LONG $0xd7970f40 // seta dil
WORD $0xf631 // xor esi, esi
WORD $0x8445; BYTE $0xd9 // test r9b, r11b
JNE LBB0_117
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_117
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
WORD $0xff31 // xor edi, edi
LBB0_115:
LONG $0x046ffec5; BYTE $0xf9 // vmovdqu ymm0, yword [rcx + 8*rdi]
LONG $0x4c6ffec5; WORD $0x20f9 // vmovdqu ymm1, yword [rcx + 8*rdi + 32]
LONG $0x546ffec5; WORD $0x40f9 // vmovdqu ymm2, yword [rcx + 8*rdi + 64]
LONG $0x5c6ffec5; WORD $0x60f9 // vmovdqu ymm3, yword [rcx + 8*rdi + 96]
LONG $0x04d4fdc5; BYTE $0xfa // vpaddq ymm0, ymm0, yword [rdx + 8*rdi]
LONG $0x4cd4f5c5; WORD $0x20fa // vpaddq ymm1, ymm1, yword [rdx + 8*rdi + 32]
LONG $0x54d4edc5; WORD $0x40fa // vpaddq ymm2, ymm2, yword [rdx + 8*rdi + 64]
LONG $0x5cd4e5c5; WORD $0x60fa // vpaddq ymm3, ymm3, yword [rdx + 8*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xf804 // vmovdqu yword [r8 + 8*rdi], ymm0
LONG $0x7f7ec1c4; WORD $0xf84c; BYTE $0x20 // vmovdqu yword [r8 + 8*rdi + 32], ymm1
LONG $0x7f7ec1c4; WORD $0xf854; BYTE $0x40 // vmovdqu yword [r8 + 8*rdi + 64], ymm2
LONG $0x7f7ec1c4; WORD $0xf85c; BYTE $0x60 // vmovdqu yword [r8 + 8*rdi + 96], ymm3
LONG $0x10c78348 // add rdi, 16
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB0_115
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB0_825
LBB0_117:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd0 // mov rax, r10
LONG $0x03e08348 // and rax, 3
JE LBB0_119
LBB0_118:
LONG $0xf13c8b48 // mov rdi, qword [rcx + 8*rsi]
LONG $0xf23c0348 // add rdi, qword [rdx + 8*rsi]
LONG $0xf03c8949 // mov qword [r8 + 8*rsi], rdi
LONG $0x01c68348 // add rsi, 1
LONG $0xffc08348 // add rax, -1
JNE LBB0_118
LBB0_119:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_825
LBB0_120:
LONG $0xf1048b48 // mov rax, qword [rcx + 8*rsi]
LONG $0xf2040348 // add rax, qword [rdx + 8*rsi]
LONG $0xf0048949 // mov qword [r8 + 8*rsi], rax
LONG $0xf1448b48; BYTE $0x08 // mov rax, qword [rcx + 8*rsi + 8]
LONG $0xf2440348; BYTE $0x08 // add rax, qword [rdx + 8*rsi + 8]
LONG $0xf0448949; BYTE $0x08 // mov qword [r8 + 8*rsi + 8], rax
LONG $0xf1448b48; BYTE $0x10 // mov rax, qword [rcx + 8*rsi + 16]
LONG $0xf2440348; BYTE $0x10 // add rax, qword [rdx + 8*rsi + 16]
LONG $0xf0448949; BYTE $0x10 // mov qword [r8 + 8*rsi + 16], rax
LONG $0xf1448b48; BYTE $0x18 // mov rax, qword [rcx + 8*rsi + 24]
LONG $0xf2440348; BYTE $0x18 // add rax, qword [rdx + 8*rsi + 24]
LONG $0xf0448949; BYTE $0x18 // mov qword [r8 + 8*rsi + 24], rax
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB0_120
JMP LBB0_825
LBB0_378:
LONG $0xd0348d4b // lea rsi, [r8 + 8*r10]
LONG $0xd2048d4a // lea rax, [rdx + 8*r10]
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
LONG $0xd1970f41 // seta r9b
LONG $0xd1048d4a // lea rax, [rcx + 8*r10]
WORD $0x3948; BYTE $0xd6 // cmp rsi, rdx
LONG $0xd3970f41 // seta r11b
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
WORD $0x970f; BYTE $0xd0 // seta al
WORD $0x3948; BYTE $0xce // cmp rsi, rcx
LONG $0xd7970f40 // seta dil
WORD $0xf631 // xor esi, esi
WORD $0x8445; BYTE $0xd9 // test r9b, r11b
JNE LBB0_383
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_383
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
WORD $0xff31 // xor edi, edi
LBB0_381:
LONG $0x046ffec5; BYTE $0xfa // vmovdqu ymm0, yword [rdx + 8*rdi]
LONG $0x4c6ffec5; WORD $0x20fa // vmovdqu ymm1, yword [rdx + 8*rdi + 32]
LONG $0x546ffec5; WORD $0x40fa // vmovdqu ymm2, yword [rdx + 8*rdi + 64]
LONG $0x5c6ffec5; WORD $0x60fa // vmovdqu ymm3, yword [rdx + 8*rdi + 96]
LONG $0x04fbfdc5; BYTE $0xf9 // vpsubq ymm0, ymm0, yword [rcx + 8*rdi]
LONG $0x4cfbf5c5; WORD $0x20f9 // vpsubq ymm1, ymm1, yword [rcx + 8*rdi + 32]
LONG $0x54fbedc5; WORD $0x40f9 // vpsubq ymm2, ymm2, yword [rcx + 8*rdi + 64]
LONG $0x5cfbe5c5; WORD $0x60f9 // vpsubq ymm3, ymm3, yword [rcx + 8*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xf804 // vmovdqu yword [r8 + 8*rdi], ymm0
LONG $0x7f7ec1c4; WORD $0xf84c; BYTE $0x20 // vmovdqu yword [r8 + 8*rdi + 32], ymm1
LONG $0x7f7ec1c4; WORD $0xf854; BYTE $0x40 // vmovdqu yword [r8 + 8*rdi + 64], ymm2
LONG $0x7f7ec1c4; WORD $0xf85c; BYTE $0x60 // vmovdqu yword [r8 + 8*rdi + 96], ymm3
LONG $0x10c78348 // add rdi, 16
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB0_381
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB0_825
LBB0_383:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd0 // mov rax, r10
LONG $0x03e08348 // and rax, 3
JE LBB0_385
LBB0_384:
LONG $0xf23c8b48 // mov rdi, qword [rdx + 8*rsi]
LONG $0xf13c2b48 // sub rdi, qword [rcx + 8*rsi]
LONG $0xf03c8949 // mov qword [r8 + 8*rsi], rdi
LONG $0x01c68348 // add rsi, 1
LONG $0xffc08348 // add rax, -1
JNE LBB0_384
LBB0_385:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_825
LBB0_386:
LONG $0xf2048b48 // mov rax, qword [rdx + 8*rsi]
LONG $0xf1042b48 // sub rax, qword [rcx + 8*rsi]
LONG $0xf0048949 // mov qword [r8 + 8*rsi], rax
LONG $0xf2448b48; BYTE $0x08 // mov rax, qword [rdx + 8*rsi + 8]
LONG $0xf1442b48; BYTE $0x08 // sub rax, qword [rcx + 8*rsi + 8]
LONG $0xf0448949; BYTE $0x08 // mov qword [r8 + 8*rsi + 8], rax
LONG $0xf2448b48; BYTE $0x10 // mov rax, qword [rdx + 8*rsi + 16]
LONG $0xf1442b48; BYTE $0x10 // sub rax, qword [rcx + 8*rsi + 16]
LONG $0xf0448949; BYTE $0x10 // mov qword [r8 + 8*rsi + 16], rax
LONG $0xf2448b48; BYTE $0x18 // mov rax, qword [rdx + 8*rsi + 24]
LONG $0xf1442b48; BYTE $0x18 // sub rax, qword [rcx + 8*rsi + 24]
LONG $0xf0448949; BYTE $0x18 // mov qword [r8 + 8*rsi + 24], rax
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB0_386
JMP LBB0_825
LBB0_245:
LONG $0xd0348d4b // lea rsi, [r8 + 8*r10]
LONG $0xd2048d4a // lea rax, [rdx + 8*r10]
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
LONG $0xd1970f41 // seta r9b
LONG $0xd1048d4a // lea rax, [rcx + 8*r10]
WORD $0x3948; BYTE $0xd6 // cmp rsi, rdx
LONG $0xd3970f41 // seta r11b
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
WORD $0x970f; BYTE $0xd0 // seta al
WORD $0x3948; BYTE $0xce // cmp rsi, rcx
LONG $0xd7970f40 // seta dil
WORD $0xf631 // xor esi, esi
WORD $0x8445; BYTE $0xd9 // test r9b, r11b
JNE LBB0_250
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_250
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
WORD $0xff31 // xor edi, edi
LBB0_248:
LONG $0x046ffec5; BYTE $0xf9 // vmovdqu ymm0, yword [rcx + 8*rdi]
LONG $0x4c6ffec5; WORD $0x20f9 // vmovdqu ymm1, yword [rcx + 8*rdi + 32]
LONG $0x546ffec5; WORD $0x40f9 // vmovdqu ymm2, yword [rcx + 8*rdi + 64]
LONG $0x5c6ffec5; WORD $0x60f9 // vmovdqu ymm3, yword [rcx + 8*rdi + 96]
LONG $0x04d4fdc5; BYTE $0xfa // vpaddq ymm0, ymm0, yword [rdx + 8*rdi]
LONG $0x4cd4f5c5; WORD $0x20fa // vpaddq ymm1, ymm1, yword [rdx + 8*rdi + 32]
LONG $0x54d4edc5; WORD $0x40fa // vpaddq ymm2, ymm2, yword [rdx + 8*rdi + 64]
LONG $0x5cd4e5c5; WORD $0x60fa // vpaddq ymm3, ymm3, yword [rdx + 8*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xf804 // vmovdqu yword [r8 + 8*rdi], ymm0
LONG $0x7f7ec1c4; WORD $0xf84c; BYTE $0x20 // vmovdqu yword [r8 + 8*rdi + 32], ymm1
LONG $0x7f7ec1c4; WORD $0xf854; BYTE $0x40 // vmovdqu yword [r8 + 8*rdi + 64], ymm2
LONG $0x7f7ec1c4; WORD $0xf85c; BYTE $0x60 // vmovdqu yword [r8 + 8*rdi + 96], ymm3
LONG $0x10c78348 // add rdi, 16
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB0_248
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB0_825
LBB0_250:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd0 // mov rax, r10
LONG $0x03e08348 // and rax, 3
JE LBB0_252
LBB0_251:
LONG $0xf13c8b48 // mov rdi, qword [rcx + 8*rsi]
LONG $0xf23c0348 // add rdi, qword [rdx + 8*rsi]
LONG $0xf03c8949 // mov qword [r8 + 8*rsi], rdi
LONG $0x01c68348 // add rsi, 1
LONG $0xffc08348 // add rax, -1
JNE LBB0_251
LBB0_252:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_825
LBB0_253:
LONG $0xf1048b48 // mov rax, qword [rcx + 8*rsi]
LONG $0xf2040348 // add rax, qword [rdx + 8*rsi]
LONG $0xf0048949 // mov qword [r8 + 8*rsi], rax
LONG $0xf1448b48; BYTE $0x08 // mov rax, qword [rcx + 8*rsi + 8]
LONG $0xf2440348; BYTE $0x08 // add rax, qword [rdx + 8*rsi + 8]
LONG $0xf0448949; BYTE $0x08 // mov qword [r8 + 8*rsi + 8], rax
LONG $0xf1448b48; BYTE $0x10 // mov rax, qword [rcx + 8*rsi + 16]
LONG $0xf2440348; BYTE $0x10 // add rax, qword [rdx + 8*rsi + 16]
LONG $0xf0448949; BYTE $0x10 // mov qword [r8 + 8*rsi + 16], rax
LONG $0xf1448b48; BYTE $0x18 // mov rax, qword [rcx + 8*rsi + 24]
LONG $0xf2440348; BYTE $0x18 // add rax, qword [rdx + 8*rsi + 24]
LONG $0xf0448949; BYTE $0x18 // mov qword [r8 + 8*rsi + 24], rax
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB0_253
JMP LBB0_825
LBB0_511:
LONG $0xd0348d4b // lea rsi, [r8 + 8*r10]
LONG $0xd2048d4a // lea rax, [rdx + 8*r10]
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
LONG $0xd1970f41 // seta r9b
LONG $0xd1048d4a // lea rax, [rcx + 8*r10]
WORD $0x3948; BYTE $0xd6 // cmp rsi, rdx
LONG $0xd3970f41 // seta r11b
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
WORD $0x970f; BYTE $0xd0 // seta al
WORD $0x3948; BYTE $0xce // cmp rsi, rcx
LONG $0xd7970f40 // seta dil
WORD $0xf631 // xor esi, esi
WORD $0x8445; BYTE $0xd9 // test r9b, r11b
JNE LBB0_516
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_516
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
WORD $0xff31 // xor edi, edi
LBB0_514:
LONG $0x046ffec5; BYTE $0xfa // vmovdqu ymm0, yword [rdx + 8*rdi]
LONG $0x4c6ffec5; WORD $0x20fa // vmovdqu ymm1, yword [rdx + 8*rdi + 32]
LONG $0x546ffec5; WORD $0x40fa // vmovdqu ymm2, yword [rdx + 8*rdi + 64]
LONG $0x5c6ffec5; WORD $0x60fa // vmovdqu ymm3, yword [rdx + 8*rdi + 96]
LONG $0x04fbfdc5; BYTE $0xf9 // vpsubq ymm0, ymm0, yword [rcx + 8*rdi]
LONG $0x4cfbf5c5; WORD $0x20f9 // vpsubq ymm1, ymm1, yword [rcx + 8*rdi + 32]
LONG $0x54fbedc5; WORD $0x40f9 // vpsubq ymm2, ymm2, yword [rcx + 8*rdi + 64]
LONG $0x5cfbe5c5; WORD $0x60f9 // vpsubq ymm3, ymm3, yword [rcx + 8*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xf804 // vmovdqu yword [r8 + 8*rdi], ymm0
LONG $0x7f7ec1c4; WORD $0xf84c; BYTE $0x20 // vmovdqu yword [r8 + 8*rdi + 32], ymm1
LONG $0x7f7ec1c4; WORD $0xf854; BYTE $0x40 // vmovdqu yword [r8 + 8*rdi + 64], ymm2
LONG $0x7f7ec1c4; WORD $0xf85c; BYTE $0x60 // vmovdqu yword [r8 + 8*rdi + 96], ymm3
LONG $0x10c78348 // add rdi, 16
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB0_514
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB0_825
LBB0_516:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd0 // mov rax, r10
LONG $0x03e08348 // and rax, 3
JE LBB0_518
LBB0_517:
LONG $0xf23c8b48 // mov rdi, qword [rdx + 8*rsi]
LONG $0xf13c2b48 // sub rdi, qword [rcx + 8*rsi]
LONG $0xf03c8949 // mov qword [r8 + 8*rsi], rdi
LONG $0x01c68348 // add rsi, 1
LONG $0xffc08348 // add rax, -1
JNE LBB0_517
LBB0_518:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_825
LBB0_519:
LONG $0xf2048b48 // mov rax, qword [rdx + 8*rsi]
LONG $0xf1042b48 // sub rax, qword [rcx + 8*rsi]
LONG $0xf0048949 // mov qword [r8 + 8*rsi], rax
LONG $0xf2448b48; BYTE $0x08 // mov rax, qword [rdx + 8*rsi + 8]
LONG $0xf1442b48; BYTE $0x08 // sub rax, qword [rcx + 8*rsi + 8]
LONG $0xf0448949; BYTE $0x08 // mov qword [r8 + 8*rsi + 8], rax
LONG $0xf2448b48; BYTE $0x10 // mov rax, qword [rdx + 8*rsi + 16]
LONG $0xf1442b48; BYTE $0x10 // sub rax, qword [rcx + 8*rsi + 16]
LONG $0xf0448949; BYTE $0x10 // mov qword [r8 + 8*rsi + 16], rax
LONG $0xf2448b48; BYTE $0x18 // mov rax, qword [rdx + 8*rsi + 24]
LONG $0xf1442b48; BYTE $0x18 // sub rax, qword [rcx + 8*rsi + 24]
LONG $0xf0448949; BYTE $0x18 // mov qword [r8 + 8*rsi + 24], rax
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB0_519
JMP LBB0_825
LBB0_70:
LONG $0x50348d4b // lea rsi, [r8 + 2*r10]
LONG $0x52048d4a // lea rax, [rdx + 2*r10]
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
LONG $0xd1970f41 // seta r9b
LONG $0x51048d4a // lea rax, [rcx + 2*r10]
WORD $0x3948; BYTE $0xd6 // cmp rsi, rdx
LONG $0xd3970f41 // seta r11b
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
WORD $0x970f; BYTE $0xd0 // seta al
WORD $0x3948; BYTE $0xce // cmp rsi, rcx
LONG $0xd7970f40 // seta dil
WORD $0xf631 // xor esi, esi
WORD $0x8445; BYTE $0xd9 // test r9b, r11b
JNE LBB0_75
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_75
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xc0 // and esi, -64
WORD $0xff31 // xor edi, edi
LBB0_73:
LONG $0x046ffec5; BYTE $0x79 // vmovdqu ymm0, yword [rcx + 2*rdi]
LONG $0x4c6ffec5; WORD $0x2079 // vmovdqu ymm1, yword [rcx + 2*rdi + 32]
LONG $0x546ffec5; WORD $0x4079 // vmovdqu ymm2, yword [rcx + 2*rdi + 64]
LONG $0x5c6ffec5; WORD $0x6079 // vmovdqu ymm3, yword [rcx + 2*rdi + 96]
LONG $0x04fdfdc5; BYTE $0x7a // vpaddw ymm0, ymm0, yword [rdx + 2*rdi]
LONG $0x4cfdf5c5; WORD $0x207a // vpaddw ymm1, ymm1, yword [rdx + 2*rdi + 32]
LONG $0x54fdedc5; WORD $0x407a // vpaddw ymm2, ymm2, yword [rdx + 2*rdi + 64]
LONG $0x5cfde5c5; WORD $0x607a // vpaddw ymm3, ymm3, yword [rdx + 2*rdi + 96]
LONG $0x7f7ec1c4; WORD $0x7804 // vmovdqu yword [r8 + 2*rdi], ymm0
LONG $0x7f7ec1c4; WORD $0x784c; BYTE $0x20 // vmovdqu yword [r8 + 2*rdi + 32], ymm1
LONG $0x7f7ec1c4; WORD $0x7854; BYTE $0x40 // vmovdqu yword [r8 + 2*rdi + 64], ymm2
LONG $0x7f7ec1c4; WORD $0x785c; BYTE $0x60 // vmovdqu yword [r8 + 2*rdi + 96], ymm3
LONG $0x40c78348 // add rdi, 64
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB0_73
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB0_825
LBB0_75:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd0 // mov rax, r10
LONG $0x03e08348 // and rax, 3
JE LBB0_77
LBB0_76:
LONG $0x713cb70f // movzx edi, word [rcx + 2*rsi]
LONG $0x723c0366 // add di, word [rdx + 2*rsi]
LONG $0x3c894166; BYTE $0x70 // mov word [r8 + 2*rsi], di
LONG $0x01c68348 // add rsi, 1
LONG $0xffc08348 // add rax, -1
JNE LBB0_76
LBB0_77:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_825
LBB0_78:
LONG $0x7104b70f // movzx eax, word [rcx + 2*rsi]
LONG $0x72040366 // add ax, word [rdx + 2*rsi]
LONG $0x04894166; BYTE $0x70 // mov word [r8 + 2*rsi], ax
LONG $0x7144b70f; BYTE $0x02 // movzx eax, word [rcx + 2*rsi + 2]
LONG $0x72440366; BYTE $0x02 // add ax, word [rdx + 2*rsi + 2]
LONG $0x44894166; WORD $0x0270 // mov word [r8 + 2*rsi + 2], ax
LONG $0x7144b70f; BYTE $0x04 // movzx eax, word [rcx + 2*rsi + 4]
LONG $0x72440366; BYTE $0x04 // add ax, word [rdx + 2*rsi + 4]
LONG $0x44894166; WORD $0x0470 // mov word [r8 + 2*rsi + 4], ax
LONG $0x7144b70f; BYTE $0x06 // movzx eax, word [rcx + 2*rsi + 6]
LONG $0x72440366; BYTE $0x06 // add ax, word [rdx + 2*rsi + 6]
LONG $0x44894166; WORD $0x0670 // mov word [r8 + 2*rsi + 6], ax
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB0_78
JMP LBB0_825
LBB0_82:
LONG $0x50348d4b // lea rsi, [r8 + 2*r10]
LONG $0x52048d4a // lea rax, [rdx + 2*r10]
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
LONG $0xd1970f41 // seta r9b
LONG $0x51048d4a // lea rax, [rcx + 2*r10]
WORD $0x3948; BYTE $0xd6 // cmp rsi, rdx
LONG $0xd3970f41 // seta r11b
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
WORD $0x970f; BYTE $0xd0 // seta al
WORD $0x3948; BYTE $0xce // cmp rsi, rcx
LONG $0xd7970f40 // seta dil
WORD $0xf631 // xor esi, esi
WORD $0x8445; BYTE $0xd9 // test r9b, r11b
JNE LBB0_87
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_87
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xc0 // and esi, -64
WORD $0xff31 // xor edi, edi
LBB0_85:
LONG $0x046ffec5; BYTE $0x79 // vmovdqu ymm0, yword [rcx + 2*rdi]
LONG $0x4c6ffec5; WORD $0x2079 // vmovdqu ymm1, yword [rcx + 2*rdi + 32]
LONG $0x546ffec5; WORD $0x4079 // vmovdqu ymm2, yword [rcx + 2*rdi + 64]
LONG $0x5c6ffec5; WORD $0x6079 // vmovdqu ymm3, yword [rcx + 2*rdi + 96]
LONG $0x04fdfdc5; BYTE $0x7a // vpaddw ymm0, ymm0, yword [rdx + 2*rdi]
LONG $0x4cfdf5c5; WORD $0x207a // vpaddw ymm1, ymm1, yword [rdx + 2*rdi + 32]
LONG $0x54fdedc5; WORD $0x407a // vpaddw ymm2, ymm2, yword [rdx + 2*rdi + 64]
LONG $0x5cfde5c5; WORD $0x607a // vpaddw ymm3, ymm3, yword [rdx + 2*rdi + 96]
LONG $0x7f7ec1c4; WORD $0x7804 // vmovdqu yword [r8 + 2*rdi], ymm0
LONG $0x7f7ec1c4; WORD $0x784c; BYTE $0x20 // vmovdqu yword [r8 + 2*rdi + 32], ymm1
LONG $0x7f7ec1c4; WORD $0x7854; BYTE $0x40 // vmovdqu yword [r8 + 2*rdi + 64], ymm2
LONG $0x7f7ec1c4; WORD $0x785c; BYTE $0x60 // vmovdqu yword [r8 + 2*rdi + 96], ymm3
LONG $0x40c78348 // add rdi, 64
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB0_85
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB0_825
LBB0_87:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd0 // mov rax, r10
LONG $0x03e08348 // and rax, 3
JE LBB0_89
LBB0_88:
LONG $0x713cb70f // movzx edi, word [rcx + 2*rsi]
LONG $0x723c0366 // add di, word [rdx + 2*rsi]
LONG $0x3c894166; BYTE $0x70 // mov word [r8 + 2*rsi], di
LONG $0x01c68348 // add rsi, 1
LONG $0xffc08348 // add rax, -1
JNE LBB0_88
LBB0_89:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_825
LBB0_90:
LONG $0x7104b70f // movzx eax, word [rcx + 2*rsi]
LONG $0x72040366 // add ax, word [rdx + 2*rsi]
LONG $0x04894166; BYTE $0x70 // mov word [r8 + 2*rsi], ax
LONG $0x7144b70f; BYTE $0x02 // movzx eax, word [rcx + 2*rsi + 2]
LONG $0x72440366; BYTE $0x02 // add ax, word [rdx + 2*rsi + 2]
LONG $0x44894166; WORD $0x0270 // mov word [r8 + 2*rsi + 2], ax
LONG $0x7144b70f; BYTE $0x04 // movzx eax, word [rcx + 2*rsi + 4]
LONG $0x72440366; BYTE $0x04 // add ax, word [rdx + 2*rsi + 4]
LONG $0x44894166; WORD $0x0470 // mov word [r8 + 2*rsi + 4], ax
LONG $0x7144b70f; BYTE $0x06 // movzx eax, word [rcx + 2*rsi + 6]
LONG $0x72440366; BYTE $0x06 // add ax, word [rdx + 2*rsi + 6]
LONG $0x44894166; WORD $0x0670 // mov word [r8 + 2*rsi + 6], ax
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB0_90
JMP LBB0_825
LBB0_203:
LONG $0x50348d4b // lea rsi, [r8 + 2*r10]
LONG $0x52048d4a // lea rax, [rdx + 2*r10]
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
LONG $0xd1970f41 // seta r9b
LONG $0x51048d4a // lea rax, [rcx + 2*r10]
WORD $0x3948; BYTE $0xd6 // cmp rsi, rdx
LONG $0xd3970f41 // seta r11b
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
WORD $0x970f; BYTE $0xd0 // seta al
WORD $0x3948; BYTE $0xce // cmp rsi, rcx
LONG $0xd7970f40 // seta dil
WORD $0xf631 // xor esi, esi
WORD $0x8445; BYTE $0xd9 // test r9b, r11b
JNE LBB0_208
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_208
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xc0 // and esi, -64
WORD $0xff31 // xor edi, edi
LBB0_206:
LONG $0x046ffec5; BYTE $0x79 // vmovdqu ymm0, yword [rcx + 2*rdi]
LONG $0x4c6ffec5; WORD $0x2079 // vmovdqu ymm1, yword [rcx + 2*rdi + 32]
LONG $0x546ffec5; WORD $0x4079 // vmovdqu ymm2, yword [rcx + 2*rdi + 64]
LONG $0x5c6ffec5; WORD $0x6079 // vmovdqu ymm3, yword [rcx + 2*rdi + 96]
LONG $0x04fdfdc5; BYTE $0x7a // vpaddw ymm0, ymm0, yword [rdx + 2*rdi]
LONG $0x4cfdf5c5; WORD $0x207a // vpaddw ymm1, ymm1, yword [rdx + 2*rdi + 32]
LONG $0x54fdedc5; WORD $0x407a // vpaddw ymm2, ymm2, yword [rdx + 2*rdi + 64]
LONG $0x5cfde5c5; WORD $0x607a // vpaddw ymm3, ymm3, yword [rdx + 2*rdi + 96]
LONG $0x7f7ec1c4; WORD $0x7804 // vmovdqu yword [r8 + 2*rdi], ymm0
LONG $0x7f7ec1c4; WORD $0x784c; BYTE $0x20 // vmovdqu yword [r8 + 2*rdi + 32], ymm1
LONG $0x7f7ec1c4; WORD $0x7854; BYTE $0x40 // vmovdqu yword [r8 + 2*rdi + 64], ymm2
LONG $0x7f7ec1c4; WORD $0x785c; BYTE $0x60 // vmovdqu yword [r8 + 2*rdi + 96], ymm3
LONG $0x40c78348 // add rdi, 64
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB0_206
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB0_825
LBB0_208:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd0 // mov rax, r10
LONG $0x03e08348 // and rax, 3
JE LBB0_210
LBB0_209:
LONG $0x713cb70f // movzx edi, word [rcx + 2*rsi]
LONG $0x723c0366 // add di, word [rdx + 2*rsi]
LONG $0x3c894166; BYTE $0x70 // mov word [r8 + 2*rsi], di
LONG $0x01c68348 // add rsi, 1
LONG $0xffc08348 // add rax, -1
JNE LBB0_209
LBB0_210:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_825
LBB0_211:
LONG $0x7104b70f // movzx eax, word [rcx + 2*rsi]
LONG $0x72040366 // add ax, word [rdx + 2*rsi]
LONG $0x04894166; BYTE $0x70 // mov word [r8 + 2*rsi], ax
LONG $0x7144b70f; BYTE $0x02 // movzx eax, word [rcx + 2*rsi + 2]
LONG $0x72440366; BYTE $0x02 // add ax, word [rdx + 2*rsi + 2]
LONG $0x44894166; WORD $0x0270 // mov word [r8 + 2*rsi + 2], ax
LONG $0x7144b70f; BYTE $0x04 // movzx eax, word [rcx + 2*rsi + 4]
LONG $0x72440366; BYTE $0x04 // add ax, word [rdx + 2*rsi + 4]
LONG $0x44894166; WORD $0x0470 // mov word [r8 + 2*rsi + 4], ax
LONG $0x7144b70f; BYTE $0x06 // movzx eax, word [rcx + 2*rsi + 6]
LONG $0x72440366; BYTE $0x06 // add ax, word [rdx + 2*rsi + 6]
LONG $0x44894166; WORD $0x0670 // mov word [r8 + 2*rsi + 6], ax
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB0_211
JMP LBB0_825
LBB0_215:
LONG $0x50348d4b // lea rsi, [r8 + 2*r10]
LONG $0x52048d4a // lea rax, [rdx + 2*r10]
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
LONG $0xd1970f41 // seta r9b
LONG $0x51048d4a // lea rax, [rcx + 2*r10]
WORD $0x3948; BYTE $0xd6 // cmp rsi, rdx
LONG $0xd3970f41 // seta r11b
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
WORD $0x970f; BYTE $0xd0 // seta al
WORD $0x3948; BYTE $0xce // cmp rsi, rcx
LONG $0xd7970f40 // seta dil
WORD $0xf631 // xor esi, esi
WORD $0x8445; BYTE $0xd9 // test r9b, r11b
JNE LBB0_220
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_220
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xc0 // and esi, -64
WORD $0xff31 // xor edi, edi
LBB0_218:
LONG $0x046ffec5; BYTE $0x79 // vmovdqu ymm0, yword [rcx + 2*rdi]
LONG $0x4c6ffec5; WORD $0x2079 // vmovdqu ymm1, yword [rcx + 2*rdi + 32]
LONG $0x546ffec5; WORD $0x4079 // vmovdqu ymm2, yword [rcx + 2*rdi + 64]
LONG $0x5c6ffec5; WORD $0x6079 // vmovdqu ymm3, yword [rcx + 2*rdi + 96]
LONG $0x04fdfdc5; BYTE $0x7a // vpaddw ymm0, ymm0, yword [rdx + 2*rdi]
LONG $0x4cfdf5c5; WORD $0x207a // vpaddw ymm1, ymm1, yword [rdx + 2*rdi + 32]
LONG $0x54fdedc5; WORD $0x407a // vpaddw ymm2, ymm2, yword [rdx + 2*rdi + 64]
LONG $0x5cfde5c5; WORD $0x607a // vpaddw ymm3, ymm3, yword [rdx + 2*rdi + 96]
LONG $0x7f7ec1c4; WORD $0x7804 // vmovdqu yword [r8 + 2*rdi], ymm0
LONG $0x7f7ec1c4; WORD $0x784c; BYTE $0x20 // vmovdqu yword [r8 + 2*rdi + 32], ymm1
LONG $0x7f7ec1c4; WORD $0x7854; BYTE $0x40 // vmovdqu yword [r8 + 2*rdi + 64], ymm2
LONG $0x7f7ec1c4; WORD $0x785c; BYTE $0x60 // vmovdqu yword [r8 + 2*rdi + 96], ymm3
LONG $0x40c78348 // add rdi, 64
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB0_218
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB0_825
LBB0_220:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd0 // mov rax, r10
LONG $0x03e08348 // and rax, 3
JE LBB0_222
LBB0_221:
LONG $0x713cb70f // movzx edi, word [rcx + 2*rsi]
LONG $0x723c0366 // add di, word [rdx + 2*rsi]
LONG $0x3c894166; BYTE $0x70 // mov word [r8 + 2*rsi], di
LONG $0x01c68348 // add rsi, 1
LONG $0xffc08348 // add rax, -1
JNE LBB0_221
LBB0_222:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_825
LBB0_223:
LONG $0x7104b70f // movzx eax, word [rcx + 2*rsi]
LONG $0x72040366 // add ax, word [rdx + 2*rsi]
LONG $0x04894166; BYTE $0x70 // mov word [r8 + 2*rsi], ax
LONG $0x7144b70f; BYTE $0x02 // movzx eax, word [rcx + 2*rsi + 2]
LONG $0x72440366; BYTE $0x02 // add ax, word [rdx + 2*rsi + 2]
LONG $0x44894166; WORD $0x0270 // mov word [r8 + 2*rsi + 2], ax
LONG $0x7144b70f; BYTE $0x04 // movzx eax, word [rcx + 2*rsi + 4]
LONG $0x72440366; BYTE $0x04 // add ax, word [rdx + 2*rsi + 4]
LONG $0x44894166; WORD $0x0470 // mov word [r8 + 2*rsi + 4], ax
LONG $0x7144b70f; BYTE $0x06 // movzx eax, word [rcx + 2*rsi + 6]
LONG $0x72440366; BYTE $0x06 // add ax, word [rdx + 2*rsi + 6]
LONG $0x44894166; WORD $0x0670 // mov word [r8 + 2*rsi + 6], ax
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB0_223
JMP LBB0_825
LBB0_124:
LONG $0xd0348d4b // lea rsi, [r8 + 8*r10]
LONG $0xd2048d4a // lea rax, [rdx + 8*r10]
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
LONG $0xd1970f41 // seta r9b
LONG $0xd1048d4a // lea rax, [rcx + 8*r10]
WORD $0x3948; BYTE $0xd6 // cmp rsi, rdx
LONG $0xd3970f41 // seta r11b
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
WORD $0x970f; BYTE $0xd0 // seta al
WORD $0x3948; BYTE $0xce // cmp rsi, rcx
LONG $0xd7970f40 // seta dil
WORD $0xf631 // xor esi, esi
WORD $0x8445; BYTE $0xd9 // test r9b, r11b
JNE LBB0_129
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_129
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
WORD $0xff31 // xor edi, edi
LBB0_127:
LONG $0x046ffec5; BYTE $0xf9 // vmovdqu ymm0, yword [rcx + 8*rdi]
LONG $0x4c6ffec5; WORD $0x20f9 // vmovdqu ymm1, yword [rcx + 8*rdi + 32]
LONG $0x546ffec5; WORD $0x40f9 // vmovdqu ymm2, yword [rcx + 8*rdi + 64]
LONG $0x5c6ffec5; WORD $0x60f9 // vmovdqu ymm3, yword [rcx + 8*rdi + 96]
LONG $0x04d4fdc5; BYTE $0xfa // vpaddq ymm0, ymm0, yword [rdx + 8*rdi]
LONG $0x4cd4f5c5; WORD $0x20fa // vpaddq ymm1, ymm1, yword [rdx + 8*rdi + 32]
LONG $0x54d4edc5; WORD $0x40fa // vpaddq ymm2, ymm2, yword [rdx + 8*rdi + 64]
LONG $0x5cd4e5c5; WORD $0x60fa // vpaddq ymm3, ymm3, yword [rdx + 8*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xf804 // vmovdqu yword [r8 + 8*rdi], ymm0
LONG $0x7f7ec1c4; WORD $0xf84c; BYTE $0x20 // vmovdqu yword [r8 + 8*rdi + 32], ymm1
LONG $0x7f7ec1c4; WORD $0xf854; BYTE $0x40 // vmovdqu yword [r8 + 8*rdi + 64], ymm2
LONG $0x7f7ec1c4; WORD $0xf85c; BYTE $0x60 // vmovdqu yword [r8 + 8*rdi + 96], ymm3
LONG $0x10c78348 // add rdi, 16
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB0_127
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB0_825
LBB0_129:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd0 // mov rax, r10
LONG $0x03e08348 // and rax, 3
JE LBB0_131
LBB0_130:
LONG $0xf13c8b48 // mov rdi, qword [rcx + 8*rsi]
LONG $0xf23c0348 // add rdi, qword [rdx + 8*rsi]
LONG $0xf03c8949 // mov qword [r8 + 8*rsi], rdi
LONG $0x01c68348 // add rsi, 1
LONG $0xffc08348 // add rax, -1
JNE LBB0_130
LBB0_131:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_825
LBB0_132:
LONG $0xf1048b48 // mov rax, qword [rcx + 8*rsi]
LONG $0xf2040348 // add rax, qword [rdx + 8*rsi]
LONG $0xf0048949 // mov qword [r8 + 8*rsi], rax
LONG $0xf1448b48; BYTE $0x08 // mov rax, qword [rcx + 8*rsi + 8]
LONG $0xf2440348; BYTE $0x08 // add rax, qword [rdx + 8*rsi + 8]
LONG $0xf0448949; BYTE $0x08 // mov qword [r8 + 8*rsi + 8], rax
LONG $0xf1448b48; BYTE $0x10 // mov rax, qword [rcx + 8*rsi + 16]
LONG $0xf2440348; BYTE $0x10 // add rax, qword [rdx + 8*rsi + 16]
LONG $0xf0448949; BYTE $0x10 // mov qword [r8 + 8*rsi + 16], rax
LONG $0xf1448b48; BYTE $0x18 // mov rax, qword [rcx + 8*rsi + 24]
LONG $0xf2440348; BYTE $0x18 // add rax, qword [rdx + 8*rsi + 24]
LONG $0xf0448949; BYTE $0x18 // mov qword [r8 + 8*rsi + 24], rax
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB0_132
JMP LBB0_825
LBB0_136:
LONG $0x90348d4b // lea rsi, [r8 + 4*r10]
LONG $0x92048d4a // lea rax, [rdx + 4*r10]
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
LONG $0xd1970f41 // seta r9b
LONG $0x91048d4a // lea rax, [rcx + 4*r10]
WORD $0x3948; BYTE $0xd6 // cmp rsi, rdx
LONG $0xd3970f41 // seta r11b
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
WORD $0x970f; BYTE $0xd0 // seta al
WORD $0x3948; BYTE $0xce // cmp rsi, rcx
LONG $0xd7970f40 // seta dil
WORD $0xf631 // xor esi, esi
WORD $0x8445; BYTE $0xd9 // test r9b, r11b
JNE LBB0_141
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_141
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
WORD $0xff31 // xor edi, edi
LBB0_139:
LONG $0x0410fcc5; BYTE $0xb9 // vmovups ymm0, yword [rcx + 4*rdi]
LONG $0x4c10fcc5; WORD $0x20b9 // vmovups ymm1, yword [rcx + 4*rdi + 32]
LONG $0x5410fcc5; WORD $0x40b9 // vmovups ymm2, yword [rcx + 4*rdi + 64]
LONG $0x5c10fcc5; WORD $0x60b9 // vmovups ymm3, yword [rcx + 4*rdi + 96]
LONG $0x0458fcc5; BYTE $0xba // vaddps ymm0, ymm0, yword [rdx + 4*rdi]
LONG $0x4c58f4c5; WORD $0x20ba // vaddps ymm1, ymm1, yword [rdx + 4*rdi + 32]
LONG $0x5458ecc5; WORD $0x40ba // vaddps ymm2, ymm2, yword [rdx + 4*rdi + 64]
LONG $0x5c58e4c5; WORD $0x60ba // vaddps ymm3, ymm3, yword [rdx + 4*rdi + 96]
LONG $0x117cc1c4; WORD $0xb804 // vmovups yword [r8 + 4*rdi], ymm0
LONG $0x117cc1c4; WORD $0xb84c; BYTE $0x20 // vmovups yword [r8 + 4*rdi + 32], ymm1
LONG $0x117cc1c4; WORD $0xb854; BYTE $0x40 // vmovups yword [r8 + 4*rdi + 64], ymm2
LONG $0x117cc1c4; WORD $0xb85c; BYTE $0x60 // vmovups yword [r8 + 4*rdi + 96], ymm3
LONG $0x20c78348 // add rdi, 32
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB0_139
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB0_825
LBB0_141:
WORD $0x8948; BYTE $0xf7 // mov rdi, rsi
WORD $0xf748; BYTE $0xd7 // not rdi
WORD $0x014c; BYTE $0xd7 // add rdi, r10
WORD $0x894c; BYTE $0xd0 // mov rax, r10
LONG $0x03e08348 // and rax, 3
JE LBB0_143
LBB0_142:
LONG $0x0410fac5; BYTE $0xb1 // vmovss xmm0, dword [rcx + 4*rsi]
LONG $0x0458fac5; BYTE $0xb2 // vaddss xmm0, xmm0, dword [rdx + 4*rsi]
LONG $0x117ac1c4; WORD $0xb004 // vmovss dword [r8 + 4*rsi], xmm0
LONG $0x01c68348 // add rsi, 1
LONG $0xffc08348 // add rax, -1
JNE LBB0_142
LBB0_143:
LONG $0x03ff8348 // cmp rdi, 3
JB LBB0_825
LBB0_144:
LONG $0x0410fac5; BYTE $0xb1 // vmovss xmm0, dword [rcx + 4*rsi]
LONG $0x0458fac5; BYTE $0xb2 // vaddss xmm0, xmm0, dword [rdx + 4*rsi]
LONG $0x117ac1c4; WORD $0xb004 // vmovss dword [r8 + 4*rsi], xmm0
LONG $0x4410fac5; WORD $0x04b1 // vmovss xmm0, dword [rcx + 4*rsi + 4]
LONG $0x4458fac5; WORD $0x04b2 // vaddss xmm0, xmm0, dword [rdx + 4*rsi + 4]
LONG $0x117ac1c4; WORD $0xb044; BYTE $0x04 // vmovss dword [r8 + 4*rsi + 4], xmm0
LONG $0x4410fac5; WORD $0x08b1 // vmovss xmm0, dword [rcx + 4*rsi + 8]
LONG $0x4458fac5; WORD $0x08b2 // vaddss xmm0, xmm0, dword [rdx + 4*rsi + 8]
LONG $0x117ac1c4; WORD $0xb044; BYTE $0x08 // vmovss dword [r8 + 4*rsi + 8], xmm0
LONG $0x4410fac5; WORD $0x0cb1 // vmovss xmm0, dword [rcx + 4*rsi + 12]
LONG $0x4458fac5; WORD $0x0cb2 // vaddss xmm0, xmm0, dword [rdx + 4*rsi + 12]
LONG $0x117ac1c4; WORD $0xb044; BYTE $0x0c // vmovss dword [r8 + 4*rsi + 12], xmm0
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB0_144
JMP LBB0_825
LBB0_257:
LONG $0xd0348d4b // lea rsi, [r8 + 8*r10]
LONG $0xd2048d4a // lea rax, [rdx + 8*r10]
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
LONG $0xd1970f41 // seta r9b
LONG $0xd1048d4a // lea rax, [rcx + 8*r10]
WORD $0x3948; BYTE $0xd6 // cmp rsi, rdx
LONG $0xd3970f41 // seta r11b
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
WORD $0x970f; BYTE $0xd0 // seta al
WORD $0x3948; BYTE $0xce // cmp rsi, rcx
LONG $0xd7970f40 // seta dil
WORD $0xf631 // xor esi, esi
WORD $0x8445; BYTE $0xd9 // test r9b, r11b
JNE LBB0_262
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_262
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
WORD $0xff31 // xor edi, edi
LBB0_260:
LONG $0x046ffec5; BYTE $0xf9 // vmovdqu ymm0, yword [rcx + 8*rdi]
LONG $0x4c6ffec5; WORD $0x20f9 // vmovdqu ymm1, yword [rcx + 8*rdi + 32]
LONG $0x546ffec5; WORD $0x40f9 // vmovdqu ymm2, yword [rcx + 8*rdi + 64]
LONG $0x5c6ffec5; WORD $0x60f9 // vmovdqu ymm3, yword [rcx + 8*rdi + 96]
LONG $0x04d4fdc5; BYTE $0xfa // vpaddq ymm0, ymm0, yword [rdx + 8*rdi]
LONG $0x4cd4f5c5; WORD $0x20fa // vpaddq ymm1, ymm1, yword [rdx + 8*rdi + 32]
LONG $0x54d4edc5; WORD $0x40fa // vpaddq ymm2, ymm2, yword [rdx + 8*rdi + 64]
LONG $0x5cd4e5c5; WORD $0x60fa // vpaddq ymm3, ymm3, yword [rdx + 8*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xf804 // vmovdqu yword [r8 + 8*rdi], ymm0
LONG $0x7f7ec1c4; WORD $0xf84c; BYTE $0x20 // vmovdqu yword [r8 + 8*rdi + 32], ymm1
LONG $0x7f7ec1c4; WORD $0xf854; BYTE $0x40 // vmovdqu yword [r8 + 8*rdi + 64], ymm2
LONG $0x7f7ec1c4; WORD $0xf85c; BYTE $0x60 // vmovdqu yword [r8 + 8*rdi + 96], ymm3
LONG $0x10c78348 // add rdi, 16
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB0_260
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB0_825
LBB0_262:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd0 // mov rax, r10
LONG $0x03e08348 // and rax, 3
JE LBB0_264
LBB0_263:
LONG $0xf13c8b48 // mov rdi, qword [rcx + 8*rsi]
LONG $0xf23c0348 // add rdi, qword [rdx + 8*rsi]
LONG $0xf03c8949 // mov qword [r8 + 8*rsi], rdi
LONG $0x01c68348 // add rsi, 1
LONG $0xffc08348 // add rax, -1
JNE LBB0_263
LBB0_264:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_825
LBB0_265:
LONG $0xf1048b48 // mov rax, qword [rcx + 8*rsi]
LONG $0xf2040348 // add rax, qword [rdx + 8*rsi]
LONG $0xf0048949 // mov qword [r8 + 8*rsi], rax
LONG $0xf1448b48; BYTE $0x08 // mov rax, qword [rcx + 8*rsi + 8]
LONG $0xf2440348; BYTE $0x08 // add rax, qword [rdx + 8*rsi + 8]
LONG $0xf0448949; BYTE $0x08 // mov qword [r8 + 8*rsi + 8], rax
LONG $0xf1448b48; BYTE $0x10 // mov rax, qword [rcx + 8*rsi + 16]
LONG $0xf2440348; BYTE $0x10 // add rax, qword [rdx + 8*rsi + 16]
LONG $0xf0448949; BYTE $0x10 // mov qword [r8 + 8*rsi + 16], rax
LONG $0xf1448b48; BYTE $0x18 // mov rax, qword [rcx + 8*rsi + 24]
LONG $0xf2440348; BYTE $0x18 // add rax, qword [rdx + 8*rsi + 24]
LONG $0xf0448949; BYTE $0x18 // mov qword [r8 + 8*rsi + 24], rax
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB0_265
JMP LBB0_825
LBB0_269:
LONG $0x90348d4b // lea rsi, [r8 + 4*r10]
LONG $0x92048d4a // lea rax, [rdx + 4*r10]
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
LONG $0xd1970f41 // seta r9b
LONG $0x91048d4a // lea rax, [rcx + 4*r10]
WORD $0x3948; BYTE $0xd6 // cmp rsi, rdx
LONG $0xd3970f41 // seta r11b
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
WORD $0x970f; BYTE $0xd0 // seta al
WORD $0x3948; BYTE $0xce // cmp rsi, rcx
LONG $0xd7970f40 // seta dil
WORD $0xf631 // xor esi, esi
WORD $0x8445; BYTE $0xd9 // test r9b, r11b
JNE LBB0_274
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_274
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
WORD $0xff31 // xor edi, edi
LBB0_272:
LONG $0x0410fcc5; BYTE $0xb9 // vmovups ymm0, yword [rcx + 4*rdi]
LONG $0x4c10fcc5; WORD $0x20b9 // vmovups ymm1, yword [rcx + 4*rdi + 32]
LONG $0x5410fcc5; WORD $0x40b9 // vmovups ymm2, yword [rcx + 4*rdi + 64]
LONG $0x5c10fcc5; WORD $0x60b9 // vmovups ymm3, yword [rcx + 4*rdi + 96]
LONG $0x0458fcc5; BYTE $0xba // vaddps ymm0, ymm0, yword [rdx + 4*rdi]
LONG $0x4c58f4c5; WORD $0x20ba // vaddps ymm1, ymm1, yword [rdx + 4*rdi + 32]
LONG $0x5458ecc5; WORD $0x40ba // vaddps ymm2, ymm2, yword [rdx + 4*rdi + 64]
LONG $0x5c58e4c5; WORD $0x60ba // vaddps ymm3, ymm3, yword [rdx + 4*rdi + 96]
LONG $0x117cc1c4; WORD $0xb804 // vmovups yword [r8 + 4*rdi], ymm0
LONG $0x117cc1c4; WORD $0xb84c; BYTE $0x20 // vmovups yword [r8 + 4*rdi + 32], ymm1
LONG $0x117cc1c4; WORD $0xb854; BYTE $0x40 // vmovups yword [r8 + 4*rdi + 64], ymm2
LONG $0x117cc1c4; WORD $0xb85c; BYTE $0x60 // vmovups yword [r8 + 4*rdi + 96], ymm3
LONG $0x20c78348 // add rdi, 32
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB0_272
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB0_825
LBB0_274:
WORD $0x8948; BYTE $0xf7 // mov rdi, rsi
WORD $0xf748; BYTE $0xd7 // not rdi
WORD $0x014c; BYTE $0xd7 // add rdi, r10
WORD $0x894c; BYTE $0xd0 // mov rax, r10
LONG $0x03e08348 // and rax, 3
JE LBB0_276
LBB0_275:
LONG $0x0410fac5; BYTE $0xb1 // vmovss xmm0, dword [rcx + 4*rsi]
LONG $0x0458fac5; BYTE $0xb2 // vaddss xmm0, xmm0, dword [rdx + 4*rsi]
LONG $0x117ac1c4; WORD $0xb004 // vmovss dword [r8 + 4*rsi], xmm0
LONG $0x01c68348 // add rsi, 1
LONG $0xffc08348 // add rax, -1
JNE LBB0_275
LBB0_276:
LONG $0x03ff8348 // cmp rdi, 3
JB LBB0_825
LBB0_277:
LONG $0x0410fac5; BYTE $0xb1 // vmovss xmm0, dword [rcx + 4*rsi]
LONG $0x0458fac5; BYTE $0xb2 // vaddss xmm0, xmm0, dword [rdx + 4*rsi]
LONG $0x117ac1c4; WORD $0xb004 // vmovss dword [r8 + 4*rsi], xmm0
LONG $0x4410fac5; WORD $0x04b1 // vmovss xmm0, dword [rcx + 4*rsi + 4]
LONG $0x4458fac5; WORD $0x04b2 // vaddss xmm0, xmm0, dword [rdx + 4*rsi + 4]
LONG $0x117ac1c4; WORD $0xb044; BYTE $0x04 // vmovss dword [r8 + 4*rsi + 4], xmm0
LONG $0x4410fac5; WORD $0x08b1 // vmovss xmm0, dword [rcx + 4*rsi + 8]
LONG $0x4458fac5; WORD $0x08b2 // vaddss xmm0, xmm0, dword [rdx + 4*rsi + 8]
LONG $0x117ac1c4; WORD $0xb044; BYTE $0x08 // vmovss dword [r8 + 4*rsi + 8], xmm0
LONG $0x4410fac5; WORD $0x0cb1 // vmovss xmm0, dword [rcx + 4*rsi + 12]
LONG $0x4458fac5; WORD $0x0cb2 // vaddss xmm0, xmm0, dword [rdx + 4*rsi + 12]
LONG $0x117ac1c4; WORD $0xb044; BYTE $0x0c // vmovss dword [r8 + 4*rsi + 12], xmm0
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB0_277
JMP LBB0_825
LBB0_574:
LONG $0x10348d4b // lea rsi, [r8 + r10]
LONG $0x12048d4a // lea rax, [rdx + r10]
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
LONG $0xd1970f41 // seta r9b
LONG $0x11048d4a // lea rax, [rcx + r10]
WORD $0x3948; BYTE $0xd6 // cmp rsi, rdx
LONG $0xd3970f41 // seta r11b
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
WORD $0x970f; BYTE $0xd0 // seta al
WORD $0x3948; BYTE $0xce // cmp rsi, rcx
LONG $0xd6970f40 // seta sil
WORD $0xff31 // xor edi, edi
WORD $0x8445; BYTE $0xd9 // test r9b, r11b
JNE LBB0_584
WORD $0x2040; BYTE $0xf0 // and al, sil
JNE LBB0_584
WORD $0x8944; BYTE $0xd7 // mov edi, r10d
WORD $0xe783; BYTE $0xe0 // and edi, -32
LONG $0xe0778d48 // lea rsi, [rdi - 32]
WORD $0x8948; BYTE $0xf0 // mov rax, rsi
LONG $0x05e8c148 // shr rax, 5
LONG $0x01c08348 // add rax, 1
WORD $0x8941; BYTE $0xc1 // mov r9d, eax
LONG $0x03e18341 // and r9d, 3
LONG $0x60fe8348 // cmp rsi, 96
JAE LBB0_578
WORD $0xf631 // xor esi, esi
JMP LBB0_580
LBB0_710:
LONG $0x10348d4b // lea rsi, [r8 + r10]
LONG $0x12048d4a // lea rax, [rdx + r10]
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
LONG $0xd1970f41 // seta r9b
LONG $0x11048d4a // lea rax, [rcx + r10]
WORD $0x3948; BYTE $0xd6 // cmp rsi, rdx
LONG $0xd3970f41 // seta r11b
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
WORD $0x970f; BYTE $0xd0 // seta al
WORD $0x3948; BYTE $0xce // cmp rsi, rcx
LONG $0xd6970f40 // seta sil
WORD $0xff31 // xor edi, edi
WORD $0x8445; BYTE $0xd9 // test r9b, r11b
JNE LBB0_720
WORD $0x2040; BYTE $0xf0 // and al, sil
JNE LBB0_720
WORD $0x8944; BYTE $0xd7 // mov edi, r10d
WORD $0xe783; BYTE $0xe0 // and edi, -32
LONG $0xe0778d48 // lea rsi, [rdi - 32]
WORD $0x8948; BYTE $0xf0 // mov rax, rsi
LONG $0x05e8c148 // shr rax, 5
LONG $0x01c08348 // add rax, 1
WORD $0x8941; BYTE $0xc1 // mov r9d, eax
LONG $0x03e18341 // and r9d, 3
LONG $0x60fe8348 // cmp rsi, 96
JAE LBB0_714
WORD $0xf631 // xor esi, esi
JMP LBB0_716
LBB0_49:
LONG $0x10348d4b // lea rsi, [r8 + r10]
LONG $0x12048d4a // lea rax, [rdx + r10]
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
LONG $0xd1970f41 // seta r9b
LONG $0x11048d4a // lea rax, [rcx + r10]
WORD $0x3948; BYTE $0xd6 // cmp rsi, rdx
LONG $0xd3970f41 // seta r11b
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
WORD $0x970f; BYTE $0xd0 // seta al
WORD $0x3948; BYTE $0xce // cmp rsi, rcx
LONG $0xd7970f40 // seta dil
WORD $0xf631 // xor esi, esi
WORD $0x8445; BYTE $0xd9 // test r9b, r11b
JNE LBB0_54
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_54
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0x80 // and esi, -128
WORD $0xff31 // xor edi, edi
LBB0_52:
LONG $0x046ffec5; BYTE $0x39 // vmovdqu ymm0, yword [rcx + rdi]
LONG $0x4c6ffec5; WORD $0x2039 // vmovdqu ymm1, yword [rcx + rdi + 32]
LONG $0x546ffec5; WORD $0x4039 // vmovdqu ymm2, yword [rcx + rdi + 64]
LONG $0x5c6ffec5; WORD $0x6039 // vmovdqu ymm3, yword [rcx + rdi + 96]
LONG $0x04fcfdc5; BYTE $0x3a // vpaddb ymm0, ymm0, yword [rdx + rdi]
LONG $0x4cfcf5c5; WORD $0x203a // vpaddb ymm1, ymm1, yword [rdx + rdi + 32]
LONG $0x54fcedc5; WORD $0x403a // vpaddb ymm2, ymm2, yword [rdx + rdi + 64]
LONG $0x5cfce5c5; WORD $0x603a // vpaddb ymm3, ymm3, yword [rdx + rdi + 96]
LONG $0x7f7ec1c4; WORD $0x3804 // vmovdqu yword [r8 + rdi], ymm0
LONG $0x7f7ec1c4; WORD $0x384c; BYTE $0x20 // vmovdqu yword [r8 + rdi + 32], ymm1
LONG $0x7f7ec1c4; WORD $0x3854; BYTE $0x40 // vmovdqu yword [r8 + rdi + 64], ymm2
LONG $0x7f7ec1c4; WORD $0x385c; BYTE $0x60 // vmovdqu yword [r8 + rdi + 96], ymm3
LONG $0x80ef8348 // sub rdi, -128
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB0_52
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB0_825
LBB0_54:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB0_56
LBB0_55:
LONG $0x3104b60f // movzx eax, byte [rcx + rsi]
WORD $0x0402; BYTE $0x32 // add al, byte [rdx + rsi]
LONG $0x30048841 // mov byte [r8 + rsi], al
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB0_55
LBB0_56:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_825
LBB0_57:
LONG $0x3104b60f // movzx eax, byte [rcx + rsi]
WORD $0x0402; BYTE $0x32 // add al, byte [rdx + rsi]
LONG $0x30048841 // mov byte [r8 + rsi], al
LONG $0x3144b60f; BYTE $0x01 // movzx eax, byte [rcx + rsi + 1]
LONG $0x01324402 // add al, byte [rdx + rsi + 1]
LONG $0x30448841; BYTE $0x01 // mov byte [r8 + rsi + 1], al
LONG $0x3144b60f; BYTE $0x02 // movzx eax, byte [rcx + rsi + 2]
LONG $0x02324402 // add al, byte [rdx + rsi + 2]
LONG $0x30448841; BYTE $0x02 // mov byte [r8 + rsi + 2], al
LONG $0x3144b60f; BYTE $0x03 // movzx eax, byte [rcx + rsi + 3]
LONG $0x03324402 // add al, byte [rdx + rsi + 3]
LONG $0x30448841; BYTE $0x03 // mov byte [r8 + rsi + 3], al
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB0_57
JMP LBB0_825
LBB0_315:
LONG $0x10348d4b // lea rsi, [r8 + r10]
LONG $0x12048d4a // lea rax, [rdx + r10]
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
LONG $0xd1970f41 // seta r9b
LONG $0x11048d4a // lea rax, [rcx + r10]
WORD $0x3948; BYTE $0xd6 // cmp rsi, rdx
LONG $0xd3970f41 // seta r11b
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
WORD $0x970f; BYTE $0xd0 // seta al
WORD $0x3948; BYTE $0xce // cmp rsi, rcx
LONG $0xd7970f40 // seta dil
WORD $0xf631 // xor esi, esi
WORD $0x8445; BYTE $0xd9 // test r9b, r11b
JNE LBB0_320
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_320
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0x80 // and esi, -128
WORD $0xff31 // xor edi, edi
LBB0_318:
LONG $0x046ffec5; BYTE $0x3a // vmovdqu ymm0, yword [rdx + rdi]
LONG $0x4c6ffec5; WORD $0x203a // vmovdqu ymm1, yword [rdx + rdi + 32]
LONG $0x546ffec5; WORD $0x403a // vmovdqu ymm2, yword [rdx + rdi + 64]
LONG $0x5c6ffec5; WORD $0x603a // vmovdqu ymm3, yword [rdx + rdi + 96]
LONG $0x04f8fdc5; BYTE $0x39 // vpsubb ymm0, ymm0, yword [rcx + rdi]
LONG $0x4cf8f5c5; WORD $0x2039 // vpsubb ymm1, ymm1, yword [rcx + rdi + 32]
LONG $0x54f8edc5; WORD $0x4039 // vpsubb ymm2, ymm2, yword [rcx + rdi + 64]
LONG $0x5cf8e5c5; WORD $0x6039 // vpsubb ymm3, ymm3, yword [rcx + rdi + 96]
LONG $0x7f7ec1c4; WORD $0x3804 // vmovdqu yword [r8 + rdi], ymm0
LONG $0x7f7ec1c4; WORD $0x384c; BYTE $0x20 // vmovdqu yword [r8 + rdi + 32], ymm1
LONG $0x7f7ec1c4; WORD $0x3854; BYTE $0x40 // vmovdqu yword [r8 + rdi + 64], ymm2
LONG $0x7f7ec1c4; WORD $0x385c; BYTE $0x60 // vmovdqu yword [r8 + rdi + 96], ymm3
LONG $0x80ef8348 // sub rdi, -128
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB0_318
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB0_825
LBB0_320:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB0_322
LBB0_321:
LONG $0x3204b60f // movzx eax, byte [rdx + rsi]
WORD $0x042a; BYTE $0x31 // sub al, byte [rcx + rsi]
LONG $0x30048841 // mov byte [r8 + rsi], al
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB0_321
LBB0_322:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_825
LBB0_323:
LONG $0x3204b60f // movzx eax, byte [rdx + rsi]
WORD $0x042a; BYTE $0x31 // sub al, byte [rcx + rsi]
LONG $0x30048841 // mov byte [r8 + rsi], al
LONG $0x3244b60f; BYTE $0x01 // movzx eax, byte [rdx + rsi + 1]
LONG $0x0131442a // sub al, byte [rcx + rsi + 1]
LONG $0x30448841; BYTE $0x01 // mov byte [r8 + rsi + 1], al
LONG $0x3244b60f; BYTE $0x02 // movzx eax, byte [rdx + rsi + 2]
LONG $0x0231442a // sub al, byte [rcx + rsi + 2]
LONG $0x30448841; BYTE $0x02 // mov byte [r8 + rsi + 2], al
LONG $0x3244b60f; BYTE $0x03 // movzx eax, byte [rdx + rsi + 3]
LONG $0x0331442a // sub al, byte [rcx + rsi + 3]
LONG $0x30448841; BYTE $0x03 // mov byte [r8 + rsi + 3], al
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB0_323
JMP LBB0_825
LBB0_182:
LONG $0x10348d4b // lea rsi, [r8 + r10]
LONG $0x12048d4a // lea rax, [rdx + r10]
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
LONG $0xd1970f41 // seta r9b
LONG $0x11048d4a // lea rax, [rcx + r10]
WORD $0x3948; BYTE $0xd6 // cmp rsi, rdx
LONG $0xd3970f41 // seta r11b
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
WORD $0x970f; BYTE $0xd0 // seta al
WORD $0x3948; BYTE $0xce // cmp rsi, rcx
LONG $0xd7970f40 // seta dil
WORD $0xf631 // xor esi, esi
WORD $0x8445; BYTE $0xd9 // test r9b, r11b
JNE LBB0_187
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_187
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0x80 // and esi, -128
WORD $0xff31 // xor edi, edi
LBB0_185:
LONG $0x046ffec5; BYTE $0x39 // vmovdqu ymm0, yword [rcx + rdi]
LONG $0x4c6ffec5; WORD $0x2039 // vmovdqu ymm1, yword [rcx + rdi + 32]
LONG $0x546ffec5; WORD $0x4039 // vmovdqu ymm2, yword [rcx + rdi + 64]
LONG $0x5c6ffec5; WORD $0x6039 // vmovdqu ymm3, yword [rcx + rdi + 96]
LONG $0x04fcfdc5; BYTE $0x3a // vpaddb ymm0, ymm0, yword [rdx + rdi]
LONG $0x4cfcf5c5; WORD $0x203a // vpaddb ymm1, ymm1, yword [rdx + rdi + 32]
LONG $0x54fcedc5; WORD $0x403a // vpaddb ymm2, ymm2, yword [rdx + rdi + 64]
LONG $0x5cfce5c5; WORD $0x603a // vpaddb ymm3, ymm3, yword [rdx + rdi + 96]
LONG $0x7f7ec1c4; WORD $0x3804 // vmovdqu yword [r8 + rdi], ymm0
LONG $0x7f7ec1c4; WORD $0x384c; BYTE $0x20 // vmovdqu yword [r8 + rdi + 32], ymm1
LONG $0x7f7ec1c4; WORD $0x3854; BYTE $0x40 // vmovdqu yword [r8 + rdi + 64], ymm2
LONG $0x7f7ec1c4; WORD $0x385c; BYTE $0x60 // vmovdqu yword [r8 + rdi + 96], ymm3
LONG $0x80ef8348 // sub rdi, -128
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB0_185
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB0_825
LBB0_187:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB0_189
LBB0_188:
LONG $0x3104b60f // movzx eax, byte [rcx + rsi]
WORD $0x0402; BYTE $0x32 // add al, byte [rdx + rsi]
LONG $0x30048841 // mov byte [r8 + rsi], al
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB0_188
LBB0_189:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_825
LBB0_190:
LONG $0x3104b60f // movzx eax, byte [rcx + rsi]
WORD $0x0402; BYTE $0x32 // add al, byte [rdx + rsi]
LONG $0x30048841 // mov byte [r8 + rsi], al
LONG $0x3144b60f; BYTE $0x01 // movzx eax, byte [rcx + rsi + 1]
LONG $0x01324402 // add al, byte [rdx + rsi + 1]
LONG $0x30448841; BYTE $0x01 // mov byte [r8 + rsi + 1], al
LONG $0x3144b60f; BYTE $0x02 // movzx eax, byte [rcx + rsi + 2]
LONG $0x02324402 // add al, byte [rdx + rsi + 2]
LONG $0x30448841; BYTE $0x02 // mov byte [r8 + rsi + 2], al
LONG $0x3144b60f; BYTE $0x03 // movzx eax, byte [rcx + rsi + 3]
LONG $0x03324402 // add al, byte [rdx + rsi + 3]
LONG $0x30448841; BYTE $0x03 // mov byte [r8 + rsi + 3], al
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB0_190
JMP LBB0_825
LBB0_448:
LONG $0x10348d4b // lea rsi, [r8 + r10]
LONG $0x12048d4a // lea rax, [rdx + r10]
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
LONG $0xd1970f41 // seta r9b
LONG $0x11048d4a // lea rax, [rcx + r10]
WORD $0x3948; BYTE $0xd6 // cmp rsi, rdx
LONG $0xd3970f41 // seta r11b
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
WORD $0x970f; BYTE $0xd0 // seta al
WORD $0x3948; BYTE $0xce // cmp rsi, rcx
LONG $0xd7970f40 // seta dil
WORD $0xf631 // xor esi, esi
WORD $0x8445; BYTE $0xd9 // test r9b, r11b
JNE LBB0_453
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_453
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0x80 // and esi, -128
WORD $0xff31 // xor edi, edi
LBB0_451:
LONG $0x046ffec5; BYTE $0x3a // vmovdqu ymm0, yword [rdx + rdi]
LONG $0x4c6ffec5; WORD $0x203a // vmovdqu ymm1, yword [rdx + rdi + 32]
LONG $0x546ffec5; WORD $0x403a // vmovdqu ymm2, yword [rdx + rdi + 64]
LONG $0x5c6ffec5; WORD $0x603a // vmovdqu ymm3, yword [rdx + rdi + 96]
LONG $0x04f8fdc5; BYTE $0x39 // vpsubb ymm0, ymm0, yword [rcx + rdi]
LONG $0x4cf8f5c5; WORD $0x2039 // vpsubb ymm1, ymm1, yword [rcx + rdi + 32]
LONG $0x54f8edc5; WORD $0x4039 // vpsubb ymm2, ymm2, yword [rcx + rdi + 64]
LONG $0x5cf8e5c5; WORD $0x6039 // vpsubb ymm3, ymm3, yword [rcx + rdi + 96]
LONG $0x7f7ec1c4; WORD $0x3804 // vmovdqu yword [r8 + rdi], ymm0
LONG $0x7f7ec1c4; WORD $0x384c; BYTE $0x20 // vmovdqu yword [r8 + rdi + 32], ymm1
LONG $0x7f7ec1c4; WORD $0x3854; BYTE $0x40 // vmovdqu yword [r8 + rdi + 64], ymm2
LONG $0x7f7ec1c4; WORD $0x385c; BYTE $0x60 // vmovdqu yword [r8 + rdi + 96], ymm3
LONG $0x80ef8348 // sub rdi, -128
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB0_451
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB0_825
LBB0_453:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB0_455
LBB0_454:
LONG $0x3204b60f // movzx eax, byte [rdx + rsi]
WORD $0x042a; BYTE $0x31 // sub al, byte [rcx + rsi]
LONG $0x30048841 // mov byte [r8 + rsi], al
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB0_454
LBB0_455:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_825
LBB0_456:
LONG $0x3204b60f // movzx eax, byte [rdx + rsi]
WORD $0x042a; BYTE $0x31 // sub al, byte [rcx + rsi]
LONG $0x30048841 // mov byte [r8 + rsi], al
LONG $0x3244b60f; BYTE $0x01 // movzx eax, byte [rdx + rsi + 1]
LONG $0x0131442a // sub al, byte [rcx + rsi + 1]
LONG $0x30448841; BYTE $0x01 // mov byte [r8 + rsi + 1], al
LONG $0x3244b60f; BYTE $0x02 // movzx eax, byte [rdx + rsi + 2]
LONG $0x0231442a // sub al, byte [rcx + rsi + 2]
LONG $0x30448841; BYTE $0x02 // mov byte [r8 + rsi + 2], al
LONG $0x3244b60f; BYTE $0x03 // movzx eax, byte [rdx + rsi + 3]
LONG $0x0331442a // sub al, byte [rcx + rsi + 3]
LONG $0x30448841; BYTE $0x03 // mov byte [r8 + rsi + 3], al
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB0_456
JMP LBB0_825
LBB0_638:
LONG $0x90348d4b // lea rsi, [r8 + 4*r10]
LONG $0x92048d4a // lea rax, [rdx + 4*r10]
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
LONG $0xd1970f41 // seta r9b
LONG $0x91048d4a // lea rax, [rcx + 4*r10]
WORD $0x3948; BYTE $0xd6 // cmp rsi, rdx
LONG $0xd3970f41 // seta r11b
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
WORD $0x970f; BYTE $0xd0 // seta al
WORD $0x3948; BYTE $0xce // cmp rsi, rcx
LONG $0xd7970f40 // seta dil
WORD $0xf631 // xor esi, esi
WORD $0x8445; BYTE $0xd9 // test r9b, r11b
JNE LBB0_643
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_643
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
WORD $0xff31 // xor edi, edi
LBB0_641:
LONG $0x046ffec5; BYTE $0xb9 // vmovdqu ymm0, yword [rcx + 4*rdi]
LONG $0x4c6ffec5; WORD $0x20b9 // vmovdqu ymm1, yword [rcx + 4*rdi + 32]
LONG $0x546ffec5; WORD $0x40b9 // vmovdqu ymm2, yword [rcx + 4*rdi + 64]
LONG $0x5c6ffec5; WORD $0x60b9 // vmovdqu ymm3, yword [rcx + 4*rdi + 96]
LONG $0x407de2c4; WORD $0xba04 // vpmulld ymm0, ymm0, yword [rdx + 4*rdi]
LONG $0x4075e2c4; WORD $0xba4c; BYTE $0x20 // vpmulld ymm1, ymm1, yword [rdx + 4*rdi + 32]
LONG $0x406de2c4; WORD $0xba54; BYTE $0x40 // vpmulld ymm2, ymm2, yword [rdx + 4*rdi + 64]
LONG $0x4065e2c4; WORD $0xba5c; BYTE $0x60 // vpmulld ymm3, ymm3, yword [rdx + 4*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xb804 // vmovdqu yword [r8 + 4*rdi], ymm0
LONG $0x7f7ec1c4; WORD $0xb84c; BYTE $0x20 // vmovdqu yword [r8 + 4*rdi + 32], ymm1
LONG $0x7f7ec1c4; WORD $0xb854; BYTE $0x40 // vmovdqu yword [r8 + 4*rdi + 64], ymm2
LONG $0x7f7ec1c4; WORD $0xb85c; BYTE $0x60 // vmovdqu yword [r8 + 4*rdi + 96], ymm3
LONG $0x20c78348 // add rdi, 32
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB0_641
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB0_825
LBB0_643:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd0 // mov rax, r10
LONG $0x03e08348 // and rax, 3
JE LBB0_645
LBB0_644:
WORD $0x3c8b; BYTE $0xb1 // mov edi, dword [rcx + 4*rsi]
LONG $0xb23caf0f // imul edi, dword [rdx + 4*rsi]
LONG $0xb03c8941 // mov dword [r8 + 4*rsi], edi
LONG $0x01c68348 // add rsi, 1
LONG $0xffc08348 // add rax, -1
JNE LBB0_644
LBB0_645:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_825
LBB0_646:
WORD $0x048b; BYTE $0xb1 // mov eax, dword [rcx + 4*rsi]
LONG $0xb204af0f // imul eax, dword [rdx + 4*rsi]
LONG $0xb0048941 // mov dword [r8 + 4*rsi], eax
LONG $0x04b1448b // mov eax, dword [rcx + 4*rsi + 4]
LONG $0xb244af0f; BYTE $0x04 // imul eax, dword [rdx + 4*rsi + 4]
LONG $0xb0448941; BYTE $0x04 // mov dword [r8 + 4*rsi + 4], eax
LONG $0x08b1448b // mov eax, dword [rcx + 4*rsi + 8]
LONG $0xb244af0f; BYTE $0x08 // imul eax, dword [rdx + 4*rsi + 8]
LONG $0xb0448941; BYTE $0x08 // mov dword [r8 + 4*rsi + 8], eax
LONG $0x0cb1448b // mov eax, dword [rcx + 4*rsi + 12]
LONG $0xb244af0f; BYTE $0x0c // imul eax, dword [rdx + 4*rsi + 12]
LONG $0xb0448941; BYTE $0x0c // mov dword [r8 + 4*rsi + 12], eax
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB0_646
JMP LBB0_825
LBB0_774:
LONG $0x90348d4b // lea rsi, [r8 + 4*r10]
LONG $0x92048d4a // lea rax, [rdx + 4*r10]
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
LONG $0xd1970f41 // seta r9b
LONG $0x91048d4a // lea rax, [rcx + 4*r10]
WORD $0x3948; BYTE $0xd6 // cmp rsi, rdx
LONG $0xd3970f41 // seta r11b
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
WORD $0x970f; BYTE $0xd0 // seta al
WORD $0x3948; BYTE $0xce // cmp rsi, rcx
LONG $0xd7970f40 // seta dil
WORD $0xf631 // xor esi, esi
WORD $0x8445; BYTE $0xd9 // test r9b, r11b
JNE LBB0_779
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_779
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
WORD $0xff31 // xor edi, edi
LBB0_777:
LONG $0x046ffec5; BYTE $0xb9 // vmovdqu ymm0, yword [rcx + 4*rdi]
LONG $0x4c6ffec5; WORD $0x20b9 // vmovdqu ymm1, yword [rcx + 4*rdi + 32]
LONG $0x546ffec5; WORD $0x40b9 // vmovdqu ymm2, yword [rcx + 4*rdi + 64]
LONG $0x5c6ffec5; WORD $0x60b9 // vmovdqu ymm3, yword [rcx + 4*rdi + 96]
LONG $0x407de2c4; WORD $0xba04 // vpmulld ymm0, ymm0, yword [rdx + 4*rdi]
LONG $0x4075e2c4; WORD $0xba4c; BYTE $0x20 // vpmulld ymm1, ymm1, yword [rdx + 4*rdi + 32]
LONG $0x406de2c4; WORD $0xba54; BYTE $0x40 // vpmulld ymm2, ymm2, yword [rdx + 4*rdi + 64]
LONG $0x4065e2c4; WORD $0xba5c; BYTE $0x60 // vpmulld ymm3, ymm3, yword [rdx + 4*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xb804 // vmovdqu yword [r8 + 4*rdi], ymm0
LONG $0x7f7ec1c4; WORD $0xb84c; BYTE $0x20 // vmovdqu yword [r8 + 4*rdi + 32], ymm1
LONG $0x7f7ec1c4; WORD $0xb854; BYTE $0x40 // vmovdqu yword [r8 + 4*rdi + 64], ymm2
LONG $0x7f7ec1c4; WORD $0xb85c; BYTE $0x60 // vmovdqu yword [r8 + 4*rdi + 96], ymm3
LONG $0x20c78348 // add rdi, 32
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB0_777
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB0_825
LBB0_779:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd0 // mov rax, r10
LONG $0x03e08348 // and rax, 3
JE LBB0_781
LBB0_780:
WORD $0x3c8b; BYTE $0xb1 // mov edi, dword [rcx + 4*rsi]
LONG $0xb23caf0f // imul edi, dword [rdx + 4*rsi]
LONG $0xb03c8941 // mov dword [r8 + 4*rsi], edi
LONG $0x01c68348 // add rsi, 1
LONG $0xffc08348 // add rax, -1
JNE LBB0_780
LBB0_781:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_825
LBB0_782:
WORD $0x048b; BYTE $0xb1 // mov eax, dword [rcx + 4*rsi]
LONG $0xb204af0f // imul eax, dword [rdx + 4*rsi]
LONG $0xb0048941 // mov dword [r8 + 4*rsi], eax
LONG $0x04b1448b // mov eax, dword [rcx + 4*rsi + 4]
LONG $0xb244af0f; BYTE $0x04 // imul eax, dword [rdx + 4*rsi + 4]
LONG $0xb0448941; BYTE $0x04 // mov dword [r8 + 4*rsi + 4], eax
LONG $0x08b1448b // mov eax, dword [rcx + 4*rsi + 8]
LONG $0xb244af0f; BYTE $0x08 // imul eax, dword [rdx + 4*rsi + 8]
LONG $0xb0448941; BYTE $0x08 // mov dword [r8 + 4*rsi + 8], eax
LONG $0x0cb1448b // mov eax, dword [rcx + 4*rsi + 12]
LONG $0xb244af0f; BYTE $0x0c // imul eax, dword [rdx + 4*rsi + 12]
LONG $0xb0448941; BYTE $0x0c // mov dword [r8 + 4*rsi + 12], eax
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB0_782
JMP LBB0_825
LBB0_103:
LONG $0x90348d4b // lea rsi, [r8 + 4*r10]
LONG $0x92048d4a // lea rax, [rdx + 4*r10]
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
LONG $0xd1970f41 // seta r9b
LONG $0x91048d4a // lea rax, [rcx + 4*r10]
WORD $0x3948; BYTE $0xd6 // cmp rsi, rdx
LONG $0xd3970f41 // seta r11b
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
WORD $0x970f; BYTE $0xd0 // seta al
WORD $0x3948; BYTE $0xce // cmp rsi, rcx
LONG $0xd7970f40 // seta dil
WORD $0xf631 // xor esi, esi
WORD $0x8445; BYTE $0xd9 // test r9b, r11b
JNE LBB0_108
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_108
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
WORD $0xff31 // xor edi, edi
LBB0_106:
LONG $0x046ffec5; BYTE $0xb9 // vmovdqu ymm0, yword [rcx + 4*rdi]
LONG $0x4c6ffec5; WORD $0x20b9 // vmovdqu ymm1, yword [rcx + 4*rdi + 32]
LONG $0x546ffec5; WORD $0x40b9 // vmovdqu ymm2, yword [rcx + 4*rdi + 64]
LONG $0x5c6ffec5; WORD $0x60b9 // vmovdqu ymm3, yword [rcx + 4*rdi + 96]
LONG $0x04fefdc5; BYTE $0xba // vpaddd ymm0, ymm0, yword [rdx + 4*rdi]
LONG $0x4cfef5c5; WORD $0x20ba // vpaddd ymm1, ymm1, yword [rdx + 4*rdi + 32]
LONG $0x54feedc5; WORD $0x40ba // vpaddd ymm2, ymm2, yword [rdx + 4*rdi + 64]
LONG $0x5cfee5c5; WORD $0x60ba // vpaddd ymm3, ymm3, yword [rdx + 4*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xb804 // vmovdqu yword [r8 + 4*rdi], ymm0
LONG $0x7f7ec1c4; WORD $0xb84c; BYTE $0x20 // vmovdqu yword [r8 + 4*rdi + 32], ymm1
LONG $0x7f7ec1c4; WORD $0xb854; BYTE $0x40 // vmovdqu yword [r8 + 4*rdi + 64], ymm2
LONG $0x7f7ec1c4; WORD $0xb85c; BYTE $0x60 // vmovdqu yword [r8 + 4*rdi + 96], ymm3
LONG $0x20c78348 // add rdi, 32
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB0_106
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB0_825
LBB0_108:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd0 // mov rax, r10
LONG $0x03e08348 // and rax, 3
JE LBB0_110
LBB0_109:
WORD $0x3c8b; BYTE $0xb1 // mov edi, dword [rcx + 4*rsi]
WORD $0x3c03; BYTE $0xb2 // add edi, dword [rdx + 4*rsi]
LONG $0xb03c8941 // mov dword [r8 + 4*rsi], edi
LONG $0x01c68348 // add rsi, 1
LONG $0xffc08348 // add rax, -1
JNE LBB0_109
LBB0_110:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_825
LBB0_111:
WORD $0x048b; BYTE $0xb1 // mov eax, dword [rcx + 4*rsi]
WORD $0x0403; BYTE $0xb2 // add eax, dword [rdx + 4*rsi]
LONG $0xb0048941 // mov dword [r8 + 4*rsi], eax
LONG $0x04b1448b // mov eax, dword [rcx + 4*rsi + 4]
LONG $0x04b24403 // add eax, dword [rdx + 4*rsi + 4]
LONG $0xb0448941; BYTE $0x04 // mov dword [r8 + 4*rsi + 4], eax
LONG $0x08b1448b // mov eax, dword [rcx + 4*rsi + 8]
LONG $0x08b24403 // add eax, dword [rdx + 4*rsi + 8]
LONG $0xb0448941; BYTE $0x08 // mov dword [r8 + 4*rsi + 8], eax
LONG $0x0cb1448b // mov eax, dword [rcx + 4*rsi + 12]
LONG $0x0cb24403 // add eax, dword [rdx + 4*rsi + 12]
LONG $0xb0448941; BYTE $0x0c // mov dword [r8 + 4*rsi + 12], eax
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB0_111
JMP LBB0_825
LBB0_369:
LONG $0x90348d4b // lea rsi, [r8 + 4*r10]
LONG $0x92048d4a // lea rax, [rdx + 4*r10]
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
LONG $0xd1970f41 // seta r9b
LONG $0x91048d4a // lea rax, [rcx + 4*r10]
WORD $0x3948; BYTE $0xd6 // cmp rsi, rdx
LONG $0xd3970f41 // seta r11b
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
WORD $0x970f; BYTE $0xd0 // seta al
WORD $0x3948; BYTE $0xce // cmp rsi, rcx
LONG $0xd7970f40 // seta dil
WORD $0xf631 // xor esi, esi
WORD $0x8445; BYTE $0xd9 // test r9b, r11b
JNE LBB0_374
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_374
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
WORD $0xff31 // xor edi, edi
LBB0_372:
LONG $0x046ffec5; BYTE $0xba // vmovdqu ymm0, yword [rdx + 4*rdi]
LONG $0x4c6ffec5; WORD $0x20ba // vmovdqu ymm1, yword [rdx + 4*rdi + 32]
LONG $0x546ffec5; WORD $0x40ba // vmovdqu ymm2, yword [rdx + 4*rdi + 64]
LONG $0x5c6ffec5; WORD $0x60ba // vmovdqu ymm3, yword [rdx + 4*rdi + 96]
LONG $0x04fafdc5; BYTE $0xb9 // vpsubd ymm0, ymm0, yword [rcx + 4*rdi]
LONG $0x4cfaf5c5; WORD $0x20b9 // vpsubd ymm1, ymm1, yword [rcx + 4*rdi + 32]
LONG $0x54faedc5; WORD $0x40b9 // vpsubd ymm2, ymm2, yword [rcx + 4*rdi + 64]
LONG $0x5cfae5c5; WORD $0x60b9 // vpsubd ymm3, ymm3, yword [rcx + 4*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xb804 // vmovdqu yword [r8 + 4*rdi], ymm0
LONG $0x7f7ec1c4; WORD $0xb84c; BYTE $0x20 // vmovdqu yword [r8 + 4*rdi + 32], ymm1
LONG $0x7f7ec1c4; WORD $0xb854; BYTE $0x40 // vmovdqu yword [r8 + 4*rdi + 64], ymm2
LONG $0x7f7ec1c4; WORD $0xb85c; BYTE $0x60 // vmovdqu yword [r8 + 4*rdi + 96], ymm3
LONG $0x20c78348 // add rdi, 32
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB0_372
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB0_825
LBB0_374:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd0 // mov rax, r10
LONG $0x03e08348 // and rax, 3
JE LBB0_376
LBB0_375:
WORD $0x3c8b; BYTE $0xb2 // mov edi, dword [rdx + 4*rsi]
WORD $0x3c2b; BYTE $0xb1 // sub edi, dword [rcx + 4*rsi]
LONG $0xb03c8941 // mov dword [r8 + 4*rsi], edi
LONG $0x01c68348 // add rsi, 1
LONG $0xffc08348 // add rax, -1
JNE LBB0_375
LBB0_376:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_825
LBB0_377:
WORD $0x048b; BYTE $0xb2 // mov eax, dword [rdx + 4*rsi]
WORD $0x042b; BYTE $0xb1 // sub eax, dword [rcx + 4*rsi]
LONG $0xb0048941 // mov dword [r8 + 4*rsi], eax
LONG $0x04b2448b // mov eax, dword [rdx + 4*rsi + 4]
LONG $0x04b1442b // sub eax, dword [rcx + 4*rsi + 4]
LONG $0xb0448941; BYTE $0x04 // mov dword [r8 + 4*rsi + 4], eax
LONG $0x08b2448b // mov eax, dword [rdx + 4*rsi + 8]
LONG $0x08b1442b // sub eax, dword [rcx + 4*rsi + 8]
LONG $0xb0448941; BYTE $0x08 // mov dword [r8 + 4*rsi + 8], eax
LONG $0x0cb2448b // mov eax, dword [rdx + 4*rsi + 12]
LONG $0x0cb1442b // sub eax, dword [rcx + 4*rsi + 12]
LONG $0xb0448941; BYTE $0x0c // mov dword [r8 + 4*rsi + 12], eax
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB0_377
JMP LBB0_825
LBB0_236:
LONG $0x90348d4b // lea rsi, [r8 + 4*r10]
LONG $0x92048d4a // lea rax, [rdx + 4*r10]
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
LONG $0xd1970f41 // seta r9b
LONG $0x91048d4a // lea rax, [rcx + 4*r10]
WORD $0x3948; BYTE $0xd6 // cmp rsi, rdx
LONG $0xd3970f41 // seta r11b
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
WORD $0x970f; BYTE $0xd0 // seta al
WORD $0x3948; BYTE $0xce // cmp rsi, rcx
LONG $0xd7970f40 // seta dil
WORD $0xf631 // xor esi, esi
WORD $0x8445; BYTE $0xd9 // test r9b, r11b
JNE LBB0_241
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_241
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
WORD $0xff31 // xor edi, edi
LBB0_239:
LONG $0x046ffec5; BYTE $0xb9 // vmovdqu ymm0, yword [rcx + 4*rdi]
LONG $0x4c6ffec5; WORD $0x20b9 // vmovdqu ymm1, yword [rcx + 4*rdi + 32]
LONG $0x546ffec5; WORD $0x40b9 // vmovdqu ymm2, yword [rcx + 4*rdi + 64]
LONG $0x5c6ffec5; WORD $0x60b9 // vmovdqu ymm3, yword [rcx + 4*rdi + 96]
LONG $0x04fefdc5; BYTE $0xba // vpaddd ymm0, ymm0, yword [rdx + 4*rdi]
LONG $0x4cfef5c5; WORD $0x20ba // vpaddd ymm1, ymm1, yword [rdx + 4*rdi + 32]
LONG $0x54feedc5; WORD $0x40ba // vpaddd ymm2, ymm2, yword [rdx + 4*rdi + 64]
LONG $0x5cfee5c5; WORD $0x60ba // vpaddd ymm3, ymm3, yword [rdx + 4*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xb804 // vmovdqu yword [r8 + 4*rdi], ymm0
LONG $0x7f7ec1c4; WORD $0xb84c; BYTE $0x20 // vmovdqu yword [r8 + 4*rdi + 32], ymm1
LONG $0x7f7ec1c4; WORD $0xb854; BYTE $0x40 // vmovdqu yword [r8 + 4*rdi + 64], ymm2
LONG $0x7f7ec1c4; WORD $0xb85c; BYTE $0x60 // vmovdqu yword [r8 + 4*rdi + 96], ymm3
LONG $0x20c78348 // add rdi, 32
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB0_239
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB0_825
LBB0_241:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd0 // mov rax, r10
LONG $0x03e08348 // and rax, 3
JE LBB0_243
LBB0_242:
WORD $0x3c8b; BYTE $0xb1 // mov edi, dword [rcx + 4*rsi]
WORD $0x3c03; BYTE $0xb2 // add edi, dword [rdx + 4*rsi]
LONG $0xb03c8941 // mov dword [r8 + 4*rsi], edi
LONG $0x01c68348 // add rsi, 1
LONG $0xffc08348 // add rax, -1
JNE LBB0_242
LBB0_243:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_825
LBB0_244:
WORD $0x048b; BYTE $0xb1 // mov eax, dword [rcx + 4*rsi]
WORD $0x0403; BYTE $0xb2 // add eax, dword [rdx + 4*rsi]
LONG $0xb0048941 // mov dword [r8 + 4*rsi], eax
LONG $0x04b1448b // mov eax, dword [rcx + 4*rsi + 4]
LONG $0x04b24403 // add eax, dword [rdx + 4*rsi + 4]
LONG $0xb0448941; BYTE $0x04 // mov dword [r8 + 4*rsi + 4], eax
LONG $0x08b1448b // mov eax, dword [rcx + 4*rsi + 8]
LONG $0x08b24403 // add eax, dword [rdx + 4*rsi + 8]
LONG $0xb0448941; BYTE $0x08 // mov dword [r8 + 4*rsi + 8], eax
LONG $0x0cb1448b // mov eax, dword [rcx + 4*rsi + 12]
LONG $0x0cb24403 // add eax, dword [rdx + 4*rsi + 12]
LONG $0xb0448941; BYTE $0x0c // mov dword [r8 + 4*rsi + 12], eax
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB0_244
JMP LBB0_825
LBB0_502:
LONG $0x90348d4b // lea rsi, [r8 + 4*r10]
LONG $0x92048d4a // lea rax, [rdx + 4*r10]
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
LONG $0xd1970f41 // seta r9b
LONG $0x91048d4a // lea rax, [rcx + 4*r10]
WORD $0x3948; BYTE $0xd6 // cmp rsi, rdx
LONG $0xd3970f41 // seta r11b
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
WORD $0x970f; BYTE $0xd0 // seta al
WORD $0x3948; BYTE $0xce // cmp rsi, rcx
LONG $0xd7970f40 // seta dil
WORD $0xf631 // xor esi, esi
WORD $0x8445; BYTE $0xd9 // test r9b, r11b
JNE LBB0_507
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_507
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
WORD $0xff31 // xor edi, edi
LBB0_505:
LONG $0x046ffec5; BYTE $0xba // vmovdqu ymm0, yword [rdx + 4*rdi]
LONG $0x4c6ffec5; WORD $0x20ba // vmovdqu ymm1, yword [rdx + 4*rdi + 32]
LONG $0x546ffec5; WORD $0x40ba // vmovdqu ymm2, yword [rdx + 4*rdi + 64]
LONG $0x5c6ffec5; WORD $0x60ba // vmovdqu ymm3, yword [rdx + 4*rdi + 96]
LONG $0x04fafdc5; BYTE $0xb9 // vpsubd ymm0, ymm0, yword [rcx + 4*rdi]
LONG $0x4cfaf5c5; WORD $0x20b9 // vpsubd ymm1, ymm1, yword [rcx + 4*rdi + 32]
LONG $0x54faedc5; WORD $0x40b9 // vpsubd ymm2, ymm2, yword [rcx + 4*rdi + 64]
LONG $0x5cfae5c5; WORD $0x60b9 // vpsubd ymm3, ymm3, yword [rcx + 4*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xb804 // vmovdqu yword [r8 + 4*rdi], ymm0
LONG $0x7f7ec1c4; WORD $0xb84c; BYTE $0x20 // vmovdqu yword [r8 + 4*rdi + 32], ymm1
LONG $0x7f7ec1c4; WORD $0xb854; BYTE $0x40 // vmovdqu yword [r8 + 4*rdi + 64], ymm2
LONG $0x7f7ec1c4; WORD $0xb85c; BYTE $0x60 // vmovdqu yword [r8 + 4*rdi + 96], ymm3
LONG $0x20c78348 // add rdi, 32
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB0_505
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB0_825
LBB0_507:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd0 // mov rax, r10
LONG $0x03e08348 // and rax, 3
JE LBB0_509
LBB0_508:
WORD $0x3c8b; BYTE $0xb2 // mov edi, dword [rdx + 4*rsi]
WORD $0x3c2b; BYTE $0xb1 // sub edi, dword [rcx + 4*rsi]
LONG $0xb03c8941 // mov dword [r8 + 4*rsi], edi
LONG $0x01c68348 // add rsi, 1
LONG $0xffc08348 // add rax, -1
JNE LBB0_508
LBB0_509:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_825
LBB0_510:
WORD $0x048b; BYTE $0xb2 // mov eax, dword [rdx + 4*rsi]
WORD $0x042b; BYTE $0xb1 // sub eax, dword [rcx + 4*rsi]
LONG $0xb0048941 // mov dword [r8 + 4*rsi], eax
LONG $0x04b2448b // mov eax, dword [rdx + 4*rsi + 4]
LONG $0x04b1442b // sub eax, dword [rcx + 4*rsi + 4]
LONG $0xb0448941; BYTE $0x04 // mov dword [r8 + 4*rsi + 4], eax
LONG $0x08b2448b // mov eax, dword [rdx + 4*rsi + 8]
LONG $0x08b1442b // sub eax, dword [rcx + 4*rsi + 8]
LONG $0xb0448941; BYTE $0x08 // mov dword [r8 + 4*rsi + 8], eax
LONG $0x0cb2448b // mov eax, dword [rdx + 4*rsi + 12]
LONG $0x0cb1442b // sub eax, dword [rcx + 4*rsi + 12]
LONG $0xb0448941; BYTE $0x0c // mov dword [r8 + 4*rsi + 12], eax
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB0_510
JMP LBB0_825
LBB0_626:
LONG $0x90348d4b // lea rsi, [r8 + 4*r10]
LONG $0x92048d4a // lea rax, [rdx + 4*r10]
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
LONG $0xd1970f41 // seta r9b
LONG $0x91048d4a // lea rax, [rcx + 4*r10]
WORD $0x3948; BYTE $0xd6 // cmp rsi, rdx
LONG $0xd3970f41 // seta r11b
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
WORD $0x970f; BYTE $0xd0 // seta al
WORD $0x3948; BYTE $0xce // cmp rsi, rcx
LONG $0xd7970f40 // seta dil
WORD $0xf631 // xor esi, esi
WORD $0x8445; BYTE $0xd9 // test r9b, r11b
JNE LBB0_631
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_631
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
WORD $0xff31 // xor edi, edi
LBB0_629:
LONG $0x046ffec5; BYTE $0xb9 // vmovdqu ymm0, yword [rcx + 4*rdi]
LONG $0x4c6ffec5; WORD $0x20b9 // vmovdqu ymm1, yword [rcx + 4*rdi + 32]
LONG $0x546ffec5; WORD $0x40b9 // vmovdqu ymm2, yword [rcx + 4*rdi + 64]
LONG $0x5c6ffec5; WORD $0x60b9 // vmovdqu ymm3, yword [rcx + 4*rdi + 96]
LONG $0x407de2c4; WORD $0xba04 // vpmulld ymm0, ymm0, yword [rdx + 4*rdi]
LONG $0x4075e2c4; WORD $0xba4c; BYTE $0x20 // vpmulld ymm1, ymm1, yword [rdx + 4*rdi + 32]
LONG $0x406de2c4; WORD $0xba54; BYTE $0x40 // vpmulld ymm2, ymm2, yword [rdx + 4*rdi + 64]
LONG $0x4065e2c4; WORD $0xba5c; BYTE $0x60 // vpmulld ymm3, ymm3, yword [rdx + 4*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xb804 // vmovdqu yword [r8 + 4*rdi], ymm0
LONG $0x7f7ec1c4; WORD $0xb84c; BYTE $0x20 // vmovdqu yword [r8 + 4*rdi + 32], ymm1
LONG $0x7f7ec1c4; WORD $0xb854; BYTE $0x40 // vmovdqu yword [r8 + 4*rdi + 64], ymm2
LONG $0x7f7ec1c4; WORD $0xb85c; BYTE $0x60 // vmovdqu yword [r8 + 4*rdi + 96], ymm3
LONG $0x20c78348 // add rdi, 32
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB0_629
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JNE LBB0_631
JMP LBB0_825
LBB0_762:
LONG $0x90348d4b // lea rsi, [r8 + 4*r10]
LONG $0x92048d4a // lea rax, [rdx + 4*r10]
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
LONG $0xd1970f41 // seta r9b
LONG $0x91048d4a // lea rax, [rcx + 4*r10]
WORD $0x3948; BYTE $0xd6 // cmp rsi, rdx
LONG $0xd3970f41 // seta r11b
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
WORD $0x970f; BYTE $0xd0 // seta al
WORD $0x3948; BYTE $0xce // cmp rsi, rcx
LONG $0xd7970f40 // seta dil
WORD $0xf631 // xor esi, esi
WORD $0x8445; BYTE $0xd9 // test r9b, r11b
JNE LBB0_767
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_767
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
WORD $0xff31 // xor edi, edi
LBB0_765:
LONG $0x046ffec5; BYTE $0xb9 // vmovdqu ymm0, yword [rcx + 4*rdi]
LONG $0x4c6ffec5; WORD $0x20b9 // vmovdqu ymm1, yword [rcx + 4*rdi + 32]
LONG $0x546ffec5; WORD $0x40b9 // vmovdqu ymm2, yword [rcx + 4*rdi + 64]
LONG $0x5c6ffec5; WORD $0x60b9 // vmovdqu ymm3, yword [rcx + 4*rdi + 96]
LONG $0x407de2c4; WORD $0xba04 // vpmulld ymm0, ymm0, yword [rdx + 4*rdi]
LONG $0x4075e2c4; WORD $0xba4c; BYTE $0x20 // vpmulld ymm1, ymm1, yword [rdx + 4*rdi + 32]
LONG $0x406de2c4; WORD $0xba54; BYTE $0x40 // vpmulld ymm2, ymm2, yword [rdx + 4*rdi + 64]
LONG $0x4065e2c4; WORD $0xba5c; BYTE $0x60 // vpmulld ymm3, ymm3, yword [rdx + 4*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xb804 // vmovdqu yword [r8 + 4*rdi], ymm0
LONG $0x7f7ec1c4; WORD $0xb84c; BYTE $0x20 // vmovdqu yword [r8 + 4*rdi + 32], ymm1
LONG $0x7f7ec1c4; WORD $0xb854; BYTE $0x40 // vmovdqu yword [r8 + 4*rdi + 64], ymm2
LONG $0x7f7ec1c4; WORD $0xb85c; BYTE $0x60 // vmovdqu yword [r8 + 4*rdi + 96], ymm3
LONG $0x20c78348 // add rdi, 32
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB0_765
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JNE LBB0_767
JMP LBB0_825
LBB0_357:
LONG $0x90348d4b // lea rsi, [r8 + 4*r10]
LONG $0x92048d4a // lea rax, [rdx + 4*r10]
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
LONG $0xd1970f41 // seta r9b
LONG $0x91048d4a // lea rax, [rcx + 4*r10]
WORD $0x3948; BYTE $0xd6 // cmp rsi, rdx
LONG $0xd3970f41 // seta r11b
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
WORD $0x970f; BYTE $0xd0 // seta al
WORD $0x3948; BYTE $0xce // cmp rsi, rcx
LONG $0xd7970f40 // seta dil
WORD $0xf631 // xor esi, esi
WORD $0x8445; BYTE $0xd9 // test r9b, r11b
JNE LBB0_362
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_362
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
WORD $0xff31 // xor edi, edi
LBB0_360:
LONG $0x046ffec5; BYTE $0xba // vmovdqu ymm0, yword [rdx + 4*rdi]
LONG $0x4c6ffec5; WORD $0x20ba // vmovdqu ymm1, yword [rdx + 4*rdi + 32]
LONG $0x546ffec5; WORD $0x40ba // vmovdqu ymm2, yword [rdx + 4*rdi + 64]
LONG $0x5c6ffec5; WORD $0x60ba // vmovdqu ymm3, yword [rdx + 4*rdi + 96]
LONG $0x04fafdc5; BYTE $0xb9 // vpsubd ymm0, ymm0, yword [rcx + 4*rdi]
LONG $0x4cfaf5c5; WORD $0x20b9 // vpsubd ymm1, ymm1, yword [rcx + 4*rdi + 32]
LONG $0x54faedc5; WORD $0x40b9 // vpsubd ymm2, ymm2, yword [rcx + 4*rdi + 64]
LONG $0x5cfae5c5; WORD $0x60b9 // vpsubd ymm3, ymm3, yword [rcx + 4*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xb804 // vmovdqu yword [r8 + 4*rdi], ymm0
LONG $0x7f7ec1c4; WORD $0xb84c; BYTE $0x20 // vmovdqu yword [r8 + 4*rdi + 32], ymm1
LONG $0x7f7ec1c4; WORD $0xb854; BYTE $0x40 // vmovdqu yword [r8 + 4*rdi + 64], ymm2
LONG $0x7f7ec1c4; WORD $0xb85c; BYTE $0x60 // vmovdqu yword [r8 + 4*rdi + 96], ymm3
LONG $0x20c78348 // add rdi, 32
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB0_360
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JNE LBB0_362
JMP LBB0_825
LBB0_490:
LONG $0x90348d4b // lea rsi, [r8 + 4*r10]
LONG $0x92048d4a // lea rax, [rdx + 4*r10]
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
LONG $0xd1970f41 // seta r9b
LONG $0x91048d4a // lea rax, [rcx + 4*r10]
WORD $0x3948; BYTE $0xd6 // cmp rsi, rdx
LONG $0xd3970f41 // seta r11b
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
WORD $0x970f; BYTE $0xd0 // seta al
WORD $0x3948; BYTE $0xce // cmp rsi, rcx
LONG $0xd7970f40 // seta dil
WORD $0xf631 // xor esi, esi
WORD $0x8445; BYTE $0xd9 // test r9b, r11b
JNE LBB0_495
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_495
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
WORD $0xff31 // xor edi, edi
LBB0_493:
LONG $0x046ffec5; BYTE $0xba // vmovdqu ymm0, yword [rdx + 4*rdi]
LONG $0x4c6ffec5; WORD $0x20ba // vmovdqu ymm1, yword [rdx + 4*rdi + 32]
LONG $0x546ffec5; WORD $0x40ba // vmovdqu ymm2, yword [rdx + 4*rdi + 64]
LONG $0x5c6ffec5; WORD $0x60ba // vmovdqu ymm3, yword [rdx + 4*rdi + 96]
LONG $0x04fafdc5; BYTE $0xb9 // vpsubd ymm0, ymm0, yword [rcx + 4*rdi]
LONG $0x4cfaf5c5; WORD $0x20b9 // vpsubd ymm1, ymm1, yword [rcx + 4*rdi + 32]
LONG $0x54faedc5; WORD $0x40b9 // vpsubd ymm2, ymm2, yword [rcx + 4*rdi + 64]
LONG $0x5cfae5c5; WORD $0x60b9 // vpsubd ymm3, ymm3, yword [rcx + 4*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xb804 // vmovdqu yword [r8 + 4*rdi], ymm0
LONG $0x7f7ec1c4; WORD $0xb84c; BYTE $0x20 // vmovdqu yword [r8 + 4*rdi + 32], ymm1
LONG $0x7f7ec1c4; WORD $0xb854; BYTE $0x40 // vmovdqu yword [r8 + 4*rdi + 64], ymm2
LONG $0x7f7ec1c4; WORD $0xb85c; BYTE $0x60 // vmovdqu yword [r8 + 4*rdi + 96], ymm3
LONG $0x20c78348 // add rdi, 32
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB0_493
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JNE LBB0_495
JMP LBB0_825
LBB0_680:
LONG $0xd0348d4b // lea rsi, [r8 + 8*r10]
LONG $0xd2048d4a // lea rax, [rdx + 8*r10]
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
LONG $0xd1970f41 // seta r9b
LONG $0xd1048d4a // lea rax, [rcx + 8*r10]
WORD $0x3948; BYTE $0xd6 // cmp rsi, rdx
LONG $0xd3970f41 // seta r11b
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
WORD $0x970f; BYTE $0xd0 // seta al
WORD $0x3948; BYTE $0xce // cmp rsi, rcx
LONG $0xd7970f40 // seta dil
WORD $0xf631 // xor esi, esi
WORD $0x8445; BYTE $0xd9 // test r9b, r11b
JNE LBB0_685
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_685
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
WORD $0xff31 // xor edi, edi
LBB0_683:
LONG $0x0410fdc5; BYTE $0xf9 // vmovupd ymm0, yword [rcx + 8*rdi]
LONG $0x4c10fdc5; WORD $0x20f9 // vmovupd ymm1, yword [rcx + 8*rdi + 32]
LONG $0x5410fdc5; WORD $0x40f9 // vmovupd ymm2, yword [rcx + 8*rdi + 64]
LONG $0x5c10fdc5; WORD $0x60f9 // vmovupd ymm3, yword [rcx + 8*rdi + 96]
LONG $0x0459fdc5; BYTE $0xfa // vmulpd ymm0, ymm0, yword [rdx + 8*rdi]
LONG $0x4c59f5c5; WORD $0x20fa // vmulpd ymm1, ymm1, yword [rdx + 8*rdi + 32]
LONG $0x5459edc5; WORD $0x40fa // vmulpd ymm2, ymm2, yword [rdx + 8*rdi + 64]
LONG $0x5c59e5c5; WORD $0x60fa // vmulpd ymm3, ymm3, yword [rdx + 8*rdi + 96]
LONG $0x117dc1c4; WORD $0xf804 // vmovupd yword [r8 + 8*rdi], ymm0
LONG $0x117dc1c4; WORD $0xf84c; BYTE $0x20 // vmovupd yword [r8 + 8*rdi + 32], ymm1
LONG $0x117dc1c4; WORD $0xf854; BYTE $0x40 // vmovupd yword [r8 + 8*rdi + 64], ymm2
LONG $0x117dc1c4; WORD $0xf85c; BYTE $0x60 // vmovupd yword [r8 + 8*rdi + 96], ymm3
LONG $0x10c78348 // add rdi, 16
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB0_683
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JNE LBB0_685
JMP LBB0_825
LBB0_816:
LONG $0xd0348d4b // lea rsi, [r8 + 8*r10]
LONG $0xd2048d4a // lea rax, [rdx + 8*r10]
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
LONG $0xd1970f41 // seta r9b
LONG $0xd1048d4a // lea rax, [rcx + 8*r10]
WORD $0x3948; BYTE $0xd6 // cmp rsi, rdx
LONG $0xd3970f41 // seta r11b
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
WORD $0x970f; BYTE $0xd0 // seta al
WORD $0x3948; BYTE $0xce // cmp rsi, rcx
LONG $0xd7970f40 // seta dil
WORD $0xf631 // xor esi, esi
WORD $0x8445; BYTE $0xd9 // test r9b, r11b
JNE LBB0_821
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_821
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
WORD $0xff31 // xor edi, edi
LBB0_819:
LONG $0x0410fdc5; BYTE $0xf9 // vmovupd ymm0, yword [rcx + 8*rdi]
LONG $0x4c10fdc5; WORD $0x20f9 // vmovupd ymm1, yword [rcx + 8*rdi + 32]
LONG $0x5410fdc5; WORD $0x40f9 // vmovupd ymm2, yword [rcx + 8*rdi + 64]
LONG $0x5c10fdc5; WORD $0x60f9 // vmovupd ymm3, yword [rcx + 8*rdi + 96]
LONG $0x0459fdc5; BYTE $0xfa // vmulpd ymm0, ymm0, yword [rdx + 8*rdi]
LONG $0x4c59f5c5; WORD $0x20fa // vmulpd ymm1, ymm1, yword [rdx + 8*rdi + 32]
LONG $0x5459edc5; WORD $0x40fa // vmulpd ymm2, ymm2, yword [rdx + 8*rdi + 64]
LONG $0x5c59e5c5; WORD $0x60fa // vmulpd ymm3, ymm3, yword [rdx + 8*rdi + 96]
LONG $0x117dc1c4; WORD $0xf804 // vmovupd yword [r8 + 8*rdi], ymm0
LONG $0x117dc1c4; WORD $0xf84c; BYTE $0x20 // vmovupd yword [r8 + 8*rdi + 32], ymm1
LONG $0x117dc1c4; WORD $0xf854; BYTE $0x40 // vmovupd yword [r8 + 8*rdi + 64], ymm2
LONG $0x117dc1c4; WORD $0xf85c; BYTE $0x60 // vmovupd yword [r8 + 8*rdi + 96], ymm3
LONG $0x10c78348 // add rdi, 16
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB0_819
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JNE LBB0_821
JMP LBB0_825
LBB0_411:
LONG $0xd0348d4b // lea rsi, [r8 + 8*r10]
LONG $0xd2048d4a // lea rax, [rdx + 8*r10]
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
LONG $0xd1970f41 // seta r9b
LONG $0xd1048d4a // lea rax, [rcx + 8*r10]
WORD $0x3948; BYTE $0xd6 // cmp rsi, rdx
LONG $0xd3970f41 // seta r11b
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
WORD $0x970f; BYTE $0xd0 // seta al
WORD $0x3948; BYTE $0xce // cmp rsi, rcx
LONG $0xd7970f40 // seta dil
WORD $0xf631 // xor esi, esi
WORD $0x8445; BYTE $0xd9 // test r9b, r11b
JNE LBB0_416
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_416
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
WORD $0xff31 // xor edi, edi
LBB0_414:
LONG $0x0410fdc5; BYTE $0xfa // vmovupd ymm0, yword [rdx + 8*rdi]
LONG $0x4c10fdc5; WORD $0x20fa // vmovupd ymm1, yword [rdx + 8*rdi + 32]
LONG $0x5410fdc5; WORD $0x40fa // vmovupd ymm2, yword [rdx + 8*rdi + 64]
LONG $0x5c10fdc5; WORD $0x60fa // vmovupd ymm3, yword [rdx + 8*rdi + 96]
LONG $0x045cfdc5; BYTE $0xf9 // vsubpd ymm0, ymm0, yword [rcx + 8*rdi]
LONG $0x4c5cf5c5; WORD $0x20f9 // vsubpd ymm1, ymm1, yword [rcx + 8*rdi + 32]
LONG $0x545cedc5; WORD $0x40f9 // vsubpd ymm2, ymm2, yword [rcx + 8*rdi + 64]
LONG $0x5c5ce5c5; WORD $0x60f9 // vsubpd ymm3, ymm3, yword [rcx + 8*rdi + 96]
LONG $0x117dc1c4; WORD $0xf804 // vmovupd yword [r8 + 8*rdi], ymm0
LONG $0x117dc1c4; WORD $0xf84c; BYTE $0x20 // vmovupd yword [r8 + 8*rdi + 32], ymm1
LONG $0x117dc1c4; WORD $0xf854; BYTE $0x40 // vmovupd yword [r8 + 8*rdi + 64], ymm2
LONG $0x117dc1c4; WORD $0xf85c; BYTE $0x60 // vmovupd yword [r8 + 8*rdi + 96], ymm3
LONG $0x10c78348 // add rdi, 16
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB0_414
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JNE LBB0_416
JMP LBB0_825
LBB0_544:
LONG $0xd0348d4b // lea rsi, [r8 + 8*r10]
LONG $0xd2048d4a // lea rax, [rdx + 8*r10]
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
LONG $0xd1970f41 // seta r9b
LONG $0xd1048d4a // lea rax, [rcx + 8*r10]
WORD $0x3948; BYTE $0xd6 // cmp rsi, rdx
LONG $0xd3970f41 // seta r11b
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
WORD $0x970f; BYTE $0xd0 // seta al
WORD $0x3948; BYTE $0xce // cmp rsi, rcx
LONG $0xd7970f40 // seta dil
WORD $0xf631 // xor esi, esi
WORD $0x8445; BYTE $0xd9 // test r9b, r11b
JNE LBB0_549
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_549
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
WORD $0xff31 // xor edi, edi
LBB0_547:
LONG $0x0410fdc5; BYTE $0xfa // vmovupd ymm0, yword [rdx + 8*rdi]
LONG $0x4c10fdc5; WORD $0x20fa // vmovupd ymm1, yword [rdx + 8*rdi + 32]
LONG $0x5410fdc5; WORD $0x40fa // vmovupd ymm2, yword [rdx + 8*rdi + 64]
LONG $0x5c10fdc5; WORD $0x60fa // vmovupd ymm3, yword [rdx + 8*rdi + 96]
LONG $0x045cfdc5; BYTE $0xf9 // vsubpd ymm0, ymm0, yword [rcx + 8*rdi]
LONG $0x4c5cf5c5; WORD $0x20f9 // vsubpd ymm1, ymm1, yword [rcx + 8*rdi + 32]
LONG $0x545cedc5; WORD $0x40f9 // vsubpd ymm2, ymm2, yword [rcx + 8*rdi + 64]
LONG $0x5c5ce5c5; WORD $0x60f9 // vsubpd ymm3, ymm3, yword [rcx + 8*rdi + 96]
LONG $0x117dc1c4; WORD $0xf804 // vmovupd yword [r8 + 8*rdi], ymm0
LONG $0x117dc1c4; WORD $0xf84c; BYTE $0x20 // vmovupd yword [r8 + 8*rdi + 32], ymm1
LONG $0x117dc1c4; WORD $0xf854; BYTE $0x40 // vmovupd yword [r8 + 8*rdi + 64], ymm2
LONG $0x117dc1c4; WORD $0xf85c; BYTE $0x60 // vmovupd yword [r8 + 8*rdi + 96], ymm3
LONG $0x10c78348 // add rdi, 16
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB0_547
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JNE LBB0_549
JMP LBB0_825
LBB0_605:
LONG $0x50348d4b // lea rsi, [r8 + 2*r10]
LONG $0x52048d4a // lea rax, [rdx + 2*r10]
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
LONG $0xd1970f41 // seta r9b
LONG $0x51048d4a // lea rax, [rcx + 2*r10]
WORD $0x3948; BYTE $0xd6 // cmp rsi, rdx
LONG $0xd3970f41 // seta r11b
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
WORD $0x970f; BYTE $0xd0 // seta al
WORD $0x3948; BYTE $0xce // cmp rsi, rcx
LONG $0xd7970f40 // seta dil
WORD $0xf631 // xor esi, esi
WORD $0x8445; BYTE $0xd9 // test r9b, r11b
JNE LBB0_610
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_610
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xc0 // and esi, -64
WORD $0xff31 // xor edi, edi
LBB0_608:
LONG $0x046ffec5; BYTE $0x79 // vmovdqu ymm0, yword [rcx + 2*rdi]
LONG $0x4c6ffec5; WORD $0x2079 // vmovdqu ymm1, yword [rcx + 2*rdi + 32]
LONG $0x546ffec5; WORD $0x4079 // vmovdqu ymm2, yword [rcx + 2*rdi + 64]
LONG $0x5c6ffec5; WORD $0x6079 // vmovdqu ymm3, yword [rcx + 2*rdi + 96]
LONG $0x04d5fdc5; BYTE $0x7a // vpmullw ymm0, ymm0, yword [rdx + 2*rdi]
LONG $0x4cd5f5c5; WORD $0x207a // vpmullw ymm1, ymm1, yword [rdx + 2*rdi + 32]
LONG $0x54d5edc5; WORD $0x407a // vpmullw ymm2, ymm2, yword [rdx + 2*rdi + 64]
LONG $0x5cd5e5c5; WORD $0x607a // vpmullw ymm3, ymm3, yword [rdx + 2*rdi + 96]
LONG $0x7f7ec1c4; WORD $0x7804 // vmovdqu yword [r8 + 2*rdi], ymm0
LONG $0x7f7ec1c4; WORD $0x784c; BYTE $0x20 // vmovdqu yword [r8 + 2*rdi + 32], ymm1
LONG $0x7f7ec1c4; WORD $0x7854; BYTE $0x40 // vmovdqu yword [r8 + 2*rdi + 64], ymm2
LONG $0x7f7ec1c4; WORD $0x785c; BYTE $0x60 // vmovdqu yword [r8 + 2*rdi + 96], ymm3
LONG $0x40c78348 // add rdi, 64
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB0_608
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JNE LBB0_610
JMP LBB0_825
LBB0_617:
LONG $0x50348d4b // lea rsi, [r8 + 2*r10]
LONG $0x52048d4a // lea rax, [rdx + 2*r10]
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
LONG $0xd1970f41 // seta r9b
LONG $0x51048d4a // lea rax, [rcx + 2*r10]
WORD $0x3948; BYTE $0xd6 // cmp rsi, rdx
LONG $0xd3970f41 // seta r11b
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
WORD $0x970f; BYTE $0xd0 // seta al
WORD $0x3948; BYTE $0xce // cmp rsi, rcx
LONG $0xd7970f40 // seta dil
WORD $0xf631 // xor esi, esi
WORD $0x8445; BYTE $0xd9 // test r9b, r11b
JNE LBB0_622
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_622
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xc0 // and esi, -64
WORD $0xff31 // xor edi, edi
LBB0_620:
LONG $0x046ffec5; BYTE $0x79 // vmovdqu ymm0, yword [rcx + 2*rdi]
LONG $0x4c6ffec5; WORD $0x2079 // vmovdqu ymm1, yword [rcx + 2*rdi + 32]
LONG $0x546ffec5; WORD $0x4079 // vmovdqu ymm2, yword [rcx + 2*rdi + 64]
LONG $0x5c6ffec5; WORD $0x6079 // vmovdqu ymm3, yword [rcx + 2*rdi + 96]
LONG $0x04d5fdc5; BYTE $0x7a // vpmullw ymm0, ymm0, yword [rdx + 2*rdi]
LONG $0x4cd5f5c5; WORD $0x207a // vpmullw ymm1, ymm1, yword [rdx + 2*rdi + 32]
LONG $0x54d5edc5; WORD $0x407a // vpmullw ymm2, ymm2, yword [rdx + 2*rdi + 64]
LONG $0x5cd5e5c5; WORD $0x607a // vpmullw ymm3, ymm3, yword [rdx + 2*rdi + 96]
LONG $0x7f7ec1c4; WORD $0x7804 // vmovdqu yword [r8 + 2*rdi], ymm0
LONG $0x7f7ec1c4; WORD $0x784c; BYTE $0x20 // vmovdqu yword [r8 + 2*rdi + 32], ymm1
LONG $0x7f7ec1c4; WORD $0x7854; BYTE $0x40 // vmovdqu yword [r8 + 2*rdi + 64], ymm2
LONG $0x7f7ec1c4; WORD $0x785c; BYTE $0x60 // vmovdqu yword [r8 + 2*rdi + 96], ymm3
LONG $0x40c78348 // add rdi, 64
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB0_620
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JNE LBB0_622
JMP LBB0_825
LBB0_741:
LONG $0x50348d4b // lea rsi, [r8 + 2*r10]
LONG $0x52048d4a // lea rax, [rdx + 2*r10]
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
LONG $0xd1970f41 // seta r9b
LONG $0x51048d4a // lea rax, [rcx + 2*r10]
WORD $0x3948; BYTE $0xd6 // cmp rsi, rdx
LONG $0xd3970f41 // seta r11b
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
WORD $0x970f; BYTE $0xd0 // seta al
WORD $0x3948; BYTE $0xce // cmp rsi, rcx
LONG $0xd7970f40 // seta dil
WORD $0xf631 // xor esi, esi
WORD $0x8445; BYTE $0xd9 // test r9b, r11b
JNE LBB0_746
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_746
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xc0 // and esi, -64
WORD $0xff31 // xor edi, edi
LBB0_744:
LONG $0x046ffec5; BYTE $0x79 // vmovdqu ymm0, yword [rcx + 2*rdi]
LONG $0x4c6ffec5; WORD $0x2079 // vmovdqu ymm1, yword [rcx + 2*rdi + 32]
LONG $0x546ffec5; WORD $0x4079 // vmovdqu ymm2, yword [rcx + 2*rdi + 64]
LONG $0x5c6ffec5; WORD $0x6079 // vmovdqu ymm3, yword [rcx + 2*rdi + 96]
LONG $0x04d5fdc5; BYTE $0x7a // vpmullw ymm0, ymm0, yword [rdx + 2*rdi]
LONG $0x4cd5f5c5; WORD $0x207a // vpmullw ymm1, ymm1, yword [rdx + 2*rdi + 32]
LONG $0x54d5edc5; WORD $0x407a // vpmullw ymm2, ymm2, yword [rdx + 2*rdi + 64]
LONG $0x5cd5e5c5; WORD $0x607a // vpmullw ymm3, ymm3, yword [rdx + 2*rdi + 96]
LONG $0x7f7ec1c4; WORD $0x7804 // vmovdqu yword [r8 + 2*rdi], ymm0
LONG $0x7f7ec1c4; WORD $0x784c; BYTE $0x20 // vmovdqu yword [r8 + 2*rdi + 32], ymm1
LONG $0x7f7ec1c4; WORD $0x7854; BYTE $0x40 // vmovdqu yword [r8 + 2*rdi + 64], ymm2
LONG $0x7f7ec1c4; WORD $0x785c; BYTE $0x60 // vmovdqu yword [r8 + 2*rdi + 96], ymm3
LONG $0x40c78348 // add rdi, 64
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB0_744
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JNE LBB0_746
JMP LBB0_825
LBB0_753:
LONG $0x50348d4b // lea rsi, [r8 + 2*r10]
LONG $0x52048d4a // lea rax, [rdx + 2*r10]
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
LONG $0xd1970f41 // seta r9b
LONG $0x51048d4a // lea rax, [rcx + 2*r10]
WORD $0x3948; BYTE $0xd6 // cmp rsi, rdx
LONG $0xd3970f41 // seta r11b
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
WORD $0x970f; BYTE $0xd0 // seta al
WORD $0x3948; BYTE $0xce // cmp rsi, rcx
LONG $0xd7970f40 // seta dil
WORD $0xf631 // xor esi, esi
WORD $0x8445; BYTE $0xd9 // test r9b, r11b
JNE LBB0_758
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_758
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xc0 // and esi, -64
WORD $0xff31 // xor edi, edi
LBB0_756:
LONG $0x046ffec5; BYTE $0x79 // vmovdqu ymm0, yword [rcx + 2*rdi]
LONG $0x4c6ffec5; WORD $0x2079 // vmovdqu ymm1, yword [rcx + 2*rdi + 32]
LONG $0x546ffec5; WORD $0x4079 // vmovdqu ymm2, yword [rcx + 2*rdi + 64]
LONG $0x5c6ffec5; WORD $0x6079 // vmovdqu ymm3, yword [rcx + 2*rdi + 96]
LONG $0x04d5fdc5; BYTE $0x7a // vpmullw ymm0, ymm0, yword [rdx + 2*rdi]
LONG $0x4cd5f5c5; WORD $0x207a // vpmullw ymm1, ymm1, yword [rdx + 2*rdi + 32]
LONG $0x54d5edc5; WORD $0x407a // vpmullw ymm2, ymm2, yword [rdx + 2*rdi + 64]
LONG $0x5cd5e5c5; WORD $0x607a // vpmullw ymm3, ymm3, yword [rdx + 2*rdi + 96]
LONG $0x7f7ec1c4; WORD $0x7804 // vmovdqu yword [r8 + 2*rdi], ymm0
LONG $0x7f7ec1c4; WORD $0x784c; BYTE $0x20 // vmovdqu yword [r8 + 2*rdi + 32], ymm1
LONG $0x7f7ec1c4; WORD $0x7854; BYTE $0x40 // vmovdqu yword [r8 + 2*rdi + 64], ymm2
LONG $0x7f7ec1c4; WORD $0x785c; BYTE $0x60 // vmovdqu yword [r8 + 2*rdi + 96], ymm3
LONG $0x40c78348 // add rdi, 64
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB0_756
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JNE LBB0_758
JMP LBB0_825
LBB0_336:
LONG $0x50348d4b // lea rsi, [r8 + 2*r10]
LONG $0x52048d4a // lea rax, [rdx + 2*r10]
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
LONG $0xd1970f41 // seta r9b
LONG $0x51048d4a // lea rax, [rcx + 2*r10]
WORD $0x3948; BYTE $0xd6 // cmp rsi, rdx
LONG $0xd3970f41 // seta r11b
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
WORD $0x970f; BYTE $0xd0 // seta al
WORD $0x3948; BYTE $0xce // cmp rsi, rcx
LONG $0xd7970f40 // seta dil
WORD $0xf631 // xor esi, esi
WORD $0x8445; BYTE $0xd9 // test r9b, r11b
JNE LBB0_341
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_341
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xc0 // and esi, -64
WORD $0xff31 // xor edi, edi
LBB0_339:
LONG $0x046ffec5; BYTE $0x7a // vmovdqu ymm0, yword [rdx + 2*rdi]
LONG $0x4c6ffec5; WORD $0x207a // vmovdqu ymm1, yword [rdx + 2*rdi + 32]
LONG $0x546ffec5; WORD $0x407a // vmovdqu ymm2, yword [rdx + 2*rdi + 64]
LONG $0x5c6ffec5; WORD $0x607a // vmovdqu ymm3, yword [rdx + 2*rdi + 96]
LONG $0x04f9fdc5; BYTE $0x79 // vpsubw ymm0, ymm0, yword [rcx + 2*rdi]
LONG $0x4cf9f5c5; WORD $0x2079 // vpsubw ymm1, ymm1, yword [rcx + 2*rdi + 32]
LONG $0x54f9edc5; WORD $0x4079 // vpsubw ymm2, ymm2, yword [rcx + 2*rdi + 64]
LONG $0x5cf9e5c5; WORD $0x6079 // vpsubw ymm3, ymm3, yword [rcx + 2*rdi + 96]
LONG $0x7f7ec1c4; WORD $0x7804 // vmovdqu yword [r8 + 2*rdi], ymm0
LONG $0x7f7ec1c4; WORD $0x784c; BYTE $0x20 // vmovdqu yword [r8 + 2*rdi + 32], ymm1
LONG $0x7f7ec1c4; WORD $0x7854; BYTE $0x40 // vmovdqu yword [r8 + 2*rdi + 64], ymm2
LONG $0x7f7ec1c4; WORD $0x785c; BYTE $0x60 // vmovdqu yword [r8 + 2*rdi + 96], ymm3
LONG $0x40c78348 // add rdi, 64
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB0_339
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JNE LBB0_341
JMP LBB0_825
LBB0_348:
LONG $0x50348d4b // lea rsi, [r8 + 2*r10]
LONG $0x52048d4a // lea rax, [rdx + 2*r10]
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
LONG $0xd1970f41 // seta r9b
LONG $0x51048d4a // lea rax, [rcx + 2*r10]
WORD $0x3948; BYTE $0xd6 // cmp rsi, rdx
LONG $0xd3970f41 // seta r11b
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
WORD $0x970f; BYTE $0xd0 // seta al
WORD $0x3948; BYTE $0xce // cmp rsi, rcx
LONG $0xd7970f40 // seta dil
WORD $0xf631 // xor esi, esi
WORD $0x8445; BYTE $0xd9 // test r9b, r11b
JNE LBB0_353
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_353
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xc0 // and esi, -64
WORD $0xff31 // xor edi, edi
LBB0_351:
LONG $0x046ffec5; BYTE $0x7a // vmovdqu ymm0, yword [rdx + 2*rdi]
LONG $0x4c6ffec5; WORD $0x207a // vmovdqu ymm1, yword [rdx + 2*rdi + 32]
LONG $0x546ffec5; WORD $0x407a // vmovdqu ymm2, yword [rdx + 2*rdi + 64]
LONG $0x5c6ffec5; WORD $0x607a // vmovdqu ymm3, yword [rdx + 2*rdi + 96]
LONG $0x04f9fdc5; BYTE $0x79 // vpsubw ymm0, ymm0, yword [rcx + 2*rdi]
LONG $0x4cf9f5c5; WORD $0x2079 // vpsubw ymm1, ymm1, yword [rcx + 2*rdi + 32]
LONG $0x54f9edc5; WORD $0x4079 // vpsubw ymm2, ymm2, yword [rcx + 2*rdi + 64]
LONG $0x5cf9e5c5; WORD $0x6079 // vpsubw ymm3, ymm3, yword [rcx + 2*rdi + 96]
LONG $0x7f7ec1c4; WORD $0x7804 // vmovdqu yword [r8 + 2*rdi], ymm0
LONG $0x7f7ec1c4; WORD $0x784c; BYTE $0x20 // vmovdqu yword [r8 + 2*rdi + 32], ymm1
LONG $0x7f7ec1c4; WORD $0x7854; BYTE $0x40 // vmovdqu yword [r8 + 2*rdi + 64], ymm2
LONG $0x7f7ec1c4; WORD $0x785c; BYTE $0x60 // vmovdqu yword [r8 + 2*rdi + 96], ymm3
LONG $0x40c78348 // add rdi, 64
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB0_351
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JNE LBB0_353
JMP LBB0_825
LBB0_469:
LONG $0x50348d4b // lea rsi, [r8 + 2*r10]
LONG $0x52048d4a // lea rax, [rdx + 2*r10]
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
LONG $0xd1970f41 // seta r9b
LONG $0x51048d4a // lea rax, [rcx + 2*r10]
WORD $0x3948; BYTE $0xd6 // cmp rsi, rdx
LONG $0xd3970f41 // seta r11b
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
WORD $0x970f; BYTE $0xd0 // seta al
WORD $0x3948; BYTE $0xce // cmp rsi, rcx
LONG $0xd7970f40 // seta dil
WORD $0xf631 // xor esi, esi
WORD $0x8445; BYTE $0xd9 // test r9b, r11b
JNE LBB0_474
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_474
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xc0 // and esi, -64
WORD $0xff31 // xor edi, edi
LBB0_472:
LONG $0x046ffec5; BYTE $0x7a // vmovdqu ymm0, yword [rdx + 2*rdi]
LONG $0x4c6ffec5; WORD $0x207a // vmovdqu ymm1, yword [rdx + 2*rdi + 32]
LONG $0x546ffec5; WORD $0x407a // vmovdqu ymm2, yword [rdx + 2*rdi + 64]
LONG $0x5c6ffec5; WORD $0x607a // vmovdqu ymm3, yword [rdx + 2*rdi + 96]
LONG $0x04f9fdc5; BYTE $0x79 // vpsubw ymm0, ymm0, yword [rcx + 2*rdi]
LONG $0x4cf9f5c5; WORD $0x2079 // vpsubw ymm1, ymm1, yword [rcx + 2*rdi + 32]
LONG $0x54f9edc5; WORD $0x4079 // vpsubw ymm2, ymm2, yword [rcx + 2*rdi + 64]
LONG $0x5cf9e5c5; WORD $0x6079 // vpsubw ymm3, ymm3, yword [rcx + 2*rdi + 96]
LONG $0x7f7ec1c4; WORD $0x7804 // vmovdqu yword [r8 + 2*rdi], ymm0
LONG $0x7f7ec1c4; WORD $0x784c; BYTE $0x20 // vmovdqu yword [r8 + 2*rdi + 32], ymm1
LONG $0x7f7ec1c4; WORD $0x7854; BYTE $0x40 // vmovdqu yword [r8 + 2*rdi + 64], ymm2
LONG $0x7f7ec1c4; WORD $0x785c; BYTE $0x60 // vmovdqu yword [r8 + 2*rdi + 96], ymm3
LONG $0x40c78348 // add rdi, 64
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB0_472
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JNE LBB0_474
JMP LBB0_825
LBB0_481:
LONG $0x50348d4b // lea rsi, [r8 + 2*r10]
LONG $0x52048d4a // lea rax, [rdx + 2*r10]
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
LONG $0xd1970f41 // seta r9b
LONG $0x51048d4a // lea rax, [rcx + 2*r10]
WORD $0x3948; BYTE $0xd6 // cmp rsi, rdx
LONG $0xd3970f41 // seta r11b
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
WORD $0x970f; BYTE $0xd0 // seta al
WORD $0x3948; BYTE $0xce // cmp rsi, rcx
LONG $0xd7970f40 // seta dil
WORD $0xf631 // xor esi, esi
WORD $0x8445; BYTE $0xd9 // test r9b, r11b
JNE LBB0_486
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_486
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xc0 // and esi, -64
WORD $0xff31 // xor edi, edi
LBB0_484:
LONG $0x046ffec5; BYTE $0x7a // vmovdqu ymm0, yword [rdx + 2*rdi]
LONG $0x4c6ffec5; WORD $0x207a // vmovdqu ymm1, yword [rdx + 2*rdi + 32]
LONG $0x546ffec5; WORD $0x407a // vmovdqu ymm2, yword [rdx + 2*rdi + 64]
LONG $0x5c6ffec5; WORD $0x607a // vmovdqu ymm3, yword [rdx + 2*rdi + 96]
LONG $0x04f9fdc5; BYTE $0x79 // vpsubw ymm0, ymm0, yword [rcx + 2*rdi]
LONG $0x4cf9f5c5; WORD $0x2079 // vpsubw ymm1, ymm1, yword [rcx + 2*rdi + 32]
LONG $0x54f9edc5; WORD $0x4079 // vpsubw ymm2, ymm2, yword [rcx + 2*rdi + 64]
LONG $0x5cf9e5c5; WORD $0x6079 // vpsubw ymm3, ymm3, yword [rcx + 2*rdi + 96]
LONG $0x7f7ec1c4; WORD $0x7804 // vmovdqu yword [r8 + 2*rdi], ymm0
LONG $0x7f7ec1c4; WORD $0x784c; BYTE $0x20 // vmovdqu yword [r8 + 2*rdi + 32], ymm1
LONG $0x7f7ec1c4; WORD $0x7854; BYTE $0x40 // vmovdqu yword [r8 + 2*rdi + 64], ymm2
LONG $0x7f7ec1c4; WORD $0x785c; BYTE $0x60 // vmovdqu yword [r8 + 2*rdi + 96], ymm3
LONG $0x40c78348 // add rdi, 64
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB0_484
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JNE LBB0_486
JMP LBB0_825
LBB0_659:
LONG $0xd0348d4b // lea rsi, [r8 + 8*r10]
LONG $0xd2048d4a // lea rax, [rdx + 8*r10]
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
LONG $0xd1970f41 // seta r9b
LONG $0xd1048d4a // lea rax, [rcx + 8*r10]
WORD $0x3948; BYTE $0xd6 // cmp rsi, rdx
LONG $0xd3970f41 // seta r11b
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
WORD $0x970f; BYTE $0xd0 // seta al
WORD $0x3948; BYTE $0xce // cmp rsi, rcx
LONG $0xd7970f40 // seta dil
WORD $0xf631 // xor esi, esi
WORD $0x8445; BYTE $0xd9 // test r9b, r11b
JNE LBB0_664
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_664
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
WORD $0xff31 // xor edi, edi
LBB0_662:
LONG $0x0c6ffec5; BYTE $0xfa // vmovdqu ymm1, yword [rdx + 8*rdi]
LONG $0x546ffec5; WORD $0x20fa // vmovdqu ymm2, yword [rdx + 8*rdi + 32]
LONG $0x5c6ffec5; WORD $0x40fa // vmovdqu ymm3, yword [rdx + 8*rdi + 64]
LONG $0x446ffec5; WORD $0x60fa // vmovdqu ymm0, yword [rdx + 8*rdi + 96]
LONG $0x246ffec5; BYTE $0xf9 // vmovdqu ymm4, yword [rcx + 8*rdi]
LONG $0x6c6ffec5; WORD $0x20f9 // vmovdqu ymm5, yword [rcx + 8*rdi + 32]
LONG $0x746ffec5; WORD $0x40f9 // vmovdqu ymm6, yword [rcx + 8*rdi + 64]
LONG $0x7c6ffec5; WORD $0x60f9 // vmovdqu ymm7, yword [rcx + 8*rdi + 96]
LONG $0xd473bdc5; BYTE $0x20 // vpsrlq ymm8, ymm4, 32
LONG $0xc1f43dc5 // vpmuludq ymm8, ymm8, ymm1
LONG $0xd173b5c5; BYTE $0x20 // vpsrlq ymm9, ymm1, 32
LONG $0xccf435c5 // vpmuludq ymm9, ymm9, ymm4
LONG $0xd43541c4; BYTE $0xc0 // vpaddq ymm8, ymm9, ymm8
LONG $0x733dc1c4; WORD $0x20f0 // vpsllq ymm8, ymm8, 32
LONG $0xc9f4ddc5 // vpmuludq ymm1, ymm4, ymm1
LONG $0xc9d4bdc5 // vpaddq ymm1, ymm8, ymm1
LONG $0xd573ddc5; BYTE $0x20 // vpsrlq ymm4, ymm5, 32
LONG $0xe2f4ddc5 // vpmuludq ymm4, ymm4, ymm2
LONG $0xd273bdc5; BYTE $0x20 // vpsrlq ymm8, ymm2, 32
LONG $0xc5f43dc5 // vpmuludq ymm8, ymm8, ymm5
LONG $0xe4d4bdc5 // vpaddq ymm4, ymm8, ymm4
LONG $0xf473ddc5; BYTE $0x20 // vpsllq ymm4, ymm4, 32
LONG $0xd2f4d5c5 // vpmuludq ymm2, ymm5, ymm2
LONG $0xd4d4edc5 // vpaddq ymm2, ymm2, ymm4
LONG $0xd673ddc5; BYTE $0x20 // vpsrlq ymm4, ymm6, 32
LONG $0xe3f4ddc5 // vpmuludq ymm4, ymm4, ymm3
LONG $0xd373d5c5; BYTE $0x20 // vpsrlq ymm5, ymm3, 32
LONG $0xedf4cdc5 // vpmuludq ymm5, ymm6, ymm5
LONG $0xe4d4d5c5 // vpaddq ymm4, ymm5, ymm4
LONG $0xf473ddc5; BYTE $0x20 // vpsllq ymm4, ymm4, 32
LONG $0xdbf4cdc5 // vpmuludq ymm3, ymm6, ymm3
LONG $0xdcd4e5c5 // vpaddq ymm3, ymm3, ymm4
LONG $0xd773ddc5; BYTE $0x20 // vpsrlq ymm4, ymm7, 32
LONG $0xe0f4ddc5 // vpmuludq ymm4, ymm4, ymm0
LONG $0xd073d5c5; BYTE $0x20 // vpsrlq ymm5, ymm0, 32
LONG $0xedf4c5c5 // vpmuludq ymm5, ymm7, ymm5
LONG $0xe4d4d5c5 // vpaddq ymm4, ymm5, ymm4
LONG $0xf473ddc5; BYTE $0x20 // vpsllq ymm4, ymm4, 32
LONG $0xc0f4c5c5 // vpmuludq ymm0, ymm7, ymm0
LONG $0xc4d4fdc5 // vpaddq ymm0, ymm0, ymm4
LONG $0x7f7ec1c4; WORD $0xf80c // vmovdqu yword [r8 + 8*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xf854; BYTE $0x20 // vmovdqu yword [r8 + 8*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xf85c; BYTE $0x40 // vmovdqu yword [r8 + 8*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xf844; BYTE $0x60 // vmovdqu yword [r8 + 8*rdi + 96], ymm0
LONG $0x10c78348 // add rdi, 16
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB0_662
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JNE LBB0_664
JMP LBB0_825
LBB0_671:
LONG $0x90348d4b // lea rsi, [r8 + 4*r10]
LONG $0x92048d4a // lea rax, [rdx + 4*r10]
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
LONG $0xd1970f41 // seta r9b
LONG $0x91048d4a // lea rax, [rcx + 4*r10]
WORD $0x3948; BYTE $0xd6 // cmp rsi, rdx
LONG $0xd3970f41 // seta r11b
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
WORD $0x970f; BYTE $0xd0 // seta al
WORD $0x3948; BYTE $0xce // cmp rsi, rcx
LONG $0xd7970f40 // seta dil
WORD $0xf631 // xor esi, esi
WORD $0x8445; BYTE $0xd9 // test r9b, r11b
JNE LBB0_676
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_676
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
WORD $0xff31 // xor edi, edi
LBB0_674:
LONG $0x0410fcc5; BYTE $0xb9 // vmovups ymm0, yword [rcx + 4*rdi]
LONG $0x4c10fcc5; WORD $0x20b9 // vmovups ymm1, yword [rcx + 4*rdi + 32]
LONG $0x5410fcc5; WORD $0x40b9 // vmovups ymm2, yword [rcx + 4*rdi + 64]
LONG $0x5c10fcc5; WORD $0x60b9 // vmovups ymm3, yword [rcx + 4*rdi + 96]
LONG $0x0459fcc5; BYTE $0xba // vmulps ymm0, ymm0, yword [rdx + 4*rdi]
LONG $0x4c59f4c5; WORD $0x20ba // vmulps ymm1, ymm1, yword [rdx + 4*rdi + 32]
LONG $0x5459ecc5; WORD $0x40ba // vmulps ymm2, ymm2, yword [rdx + 4*rdi + 64]
LONG $0x5c59e4c5; WORD $0x60ba // vmulps ymm3, ymm3, yword [rdx + 4*rdi + 96]
LONG $0x117cc1c4; WORD $0xb804 // vmovups yword [r8 + 4*rdi], ymm0
LONG $0x117cc1c4; WORD $0xb84c; BYTE $0x20 // vmovups yword [r8 + 4*rdi + 32], ymm1
LONG $0x117cc1c4; WORD $0xb854; BYTE $0x40 // vmovups yword [r8 + 4*rdi + 64], ymm2
LONG $0x117cc1c4; WORD $0xb85c; BYTE $0x60 // vmovups yword [r8 + 4*rdi + 96], ymm3
LONG $0x20c78348 // add rdi, 32
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB0_674
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JNE LBB0_676
JMP LBB0_825
LBB0_795:
LONG $0xd0348d4b // lea rsi, [r8 + 8*r10]
LONG $0xd2048d4a // lea rax, [rdx + 8*r10]
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
LONG $0xd1970f41 // seta r9b
LONG $0xd1048d4a // lea rax, [rcx + 8*r10]
WORD $0x3948; BYTE $0xd6 // cmp rsi, rdx
LONG $0xd3970f41 // seta r11b
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
WORD $0x970f; BYTE $0xd0 // seta al
WORD $0x3948; BYTE $0xce // cmp rsi, rcx
LONG $0xd7970f40 // seta dil
WORD $0xf631 // xor esi, esi
WORD $0x8445; BYTE $0xd9 // test r9b, r11b
JNE LBB0_800
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_800
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
WORD $0xff31 // xor edi, edi
LBB0_798:
LONG $0x0c6ffec5; BYTE $0xfa // vmovdqu ymm1, yword [rdx + 8*rdi]
LONG $0x546ffec5; WORD $0x20fa // vmovdqu ymm2, yword [rdx + 8*rdi + 32]
LONG $0x5c6ffec5; WORD $0x40fa // vmovdqu ymm3, yword [rdx + 8*rdi + 64]
LONG $0x446ffec5; WORD $0x60fa // vmovdqu ymm0, yword [rdx + 8*rdi + 96]
LONG $0x246ffec5; BYTE $0xf9 // vmovdqu ymm4, yword [rcx + 8*rdi]
LONG $0x6c6ffec5; WORD $0x20f9 // vmovdqu ymm5, yword [rcx + 8*rdi + 32]
LONG $0x746ffec5; WORD $0x40f9 // vmovdqu ymm6, yword [rcx + 8*rdi + 64]
LONG $0x7c6ffec5; WORD $0x60f9 // vmovdqu ymm7, yword [rcx + 8*rdi + 96]
LONG $0xd473bdc5; BYTE $0x20 // vpsrlq ymm8, ymm4, 32
LONG $0xc1f43dc5 // vpmuludq ymm8, ymm8, ymm1
LONG $0xd173b5c5; BYTE $0x20 // vpsrlq ymm9, ymm1, 32
LONG $0xccf435c5 // vpmuludq ymm9, ymm9, ymm4
LONG $0xd43541c4; BYTE $0xc0 // vpaddq ymm8, ymm9, ymm8
LONG $0x733dc1c4; WORD $0x20f0 // vpsllq ymm8, ymm8, 32
LONG $0xc9f4ddc5 // vpmuludq ymm1, ymm4, ymm1
LONG $0xc9d4bdc5 // vpaddq ymm1, ymm8, ymm1
LONG $0xd573ddc5; BYTE $0x20 // vpsrlq ymm4, ymm5, 32
LONG $0xe2f4ddc5 // vpmuludq ymm4, ymm4, ymm2
LONG $0xd273bdc5; BYTE $0x20 // vpsrlq ymm8, ymm2, 32
LONG $0xc5f43dc5 // vpmuludq ymm8, ymm8, ymm5
LONG $0xe4d4bdc5 // vpaddq ymm4, ymm8, ymm4
LONG $0xf473ddc5; BYTE $0x20 // vpsllq ymm4, ymm4, 32
LONG $0xd2f4d5c5 // vpmuludq ymm2, ymm5, ymm2
LONG $0xd4d4edc5 // vpaddq ymm2, ymm2, ymm4
LONG $0xd673ddc5; BYTE $0x20 // vpsrlq ymm4, ymm6, 32
LONG $0xe3f4ddc5 // vpmuludq ymm4, ymm4, ymm3
LONG $0xd373d5c5; BYTE $0x20 // vpsrlq ymm5, ymm3, 32
LONG $0xedf4cdc5 // vpmuludq ymm5, ymm6, ymm5
LONG $0xe4d4d5c5 // vpaddq ymm4, ymm5, ymm4
LONG $0xf473ddc5; BYTE $0x20 // vpsllq ymm4, ymm4, 32
LONG $0xdbf4cdc5 // vpmuludq ymm3, ymm6, ymm3
LONG $0xdcd4e5c5 // vpaddq ymm3, ymm3, ymm4
LONG $0xd773ddc5; BYTE $0x20 // vpsrlq ymm4, ymm7, 32
LONG $0xe0f4ddc5 // vpmuludq ymm4, ymm4, ymm0
LONG $0xd073d5c5; BYTE $0x20 // vpsrlq ymm5, ymm0, 32
LONG $0xedf4c5c5 // vpmuludq ymm5, ymm7, ymm5
LONG $0xe4d4d5c5 // vpaddq ymm4, ymm5, ymm4
LONG $0xf473ddc5; BYTE $0x20 // vpsllq ymm4, ymm4, 32
LONG $0xc0f4c5c5 // vpmuludq ymm0, ymm7, ymm0
LONG $0xc4d4fdc5 // vpaddq ymm0, ymm0, ymm4
LONG $0x7f7ec1c4; WORD $0xf80c // vmovdqu yword [r8 + 8*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xf854; BYTE $0x20 // vmovdqu yword [r8 + 8*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xf85c; BYTE $0x40 // vmovdqu yword [r8 + 8*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xf844; BYTE $0x60 // vmovdqu yword [r8 + 8*rdi + 96], ymm0
LONG $0x10c78348 // add rdi, 16
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB0_798
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JNE LBB0_800
JMP LBB0_825
LBB0_807:
LONG $0x90348d4b // lea rsi, [r8 + 4*r10]
LONG $0x92048d4a // lea rax, [rdx + 4*r10]
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
LONG $0xd1970f41 // seta r9b
LONG $0x91048d4a // lea rax, [rcx + 4*r10]
WORD $0x3948; BYTE $0xd6 // cmp rsi, rdx
LONG $0xd3970f41 // seta r11b
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
WORD $0x970f; BYTE $0xd0 // seta al
WORD $0x3948; BYTE $0xce // cmp rsi, rcx
LONG $0xd7970f40 // seta dil
WORD $0xf631 // xor esi, esi
WORD $0x8445; BYTE $0xd9 // test r9b, r11b
JNE LBB0_812
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_812
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
WORD $0xff31 // xor edi, edi
LBB0_810:
LONG $0x0410fcc5; BYTE $0xb9 // vmovups ymm0, yword [rcx + 4*rdi]
LONG $0x4c10fcc5; WORD $0x20b9 // vmovups ymm1, yword [rcx + 4*rdi + 32]
LONG $0x5410fcc5; WORD $0x40b9 // vmovups ymm2, yword [rcx + 4*rdi + 64]
LONG $0x5c10fcc5; WORD $0x60b9 // vmovups ymm3, yword [rcx + 4*rdi + 96]
LONG $0x0459fcc5; BYTE $0xba // vmulps ymm0, ymm0, yword [rdx + 4*rdi]
LONG $0x4c59f4c5; WORD $0x20ba // vmulps ymm1, ymm1, yword [rdx + 4*rdi + 32]
LONG $0x5459ecc5; WORD $0x40ba // vmulps ymm2, ymm2, yword [rdx + 4*rdi + 64]
LONG $0x5c59e4c5; WORD $0x60ba // vmulps ymm3, ymm3, yword [rdx + 4*rdi + 96]
LONG $0x117cc1c4; WORD $0xb804 // vmovups yword [r8 + 4*rdi], ymm0
LONG $0x117cc1c4; WORD $0xb84c; BYTE $0x20 // vmovups yword [r8 + 4*rdi + 32], ymm1
LONG $0x117cc1c4; WORD $0xb854; BYTE $0x40 // vmovups yword [r8 + 4*rdi + 64], ymm2
LONG $0x117cc1c4; WORD $0xb85c; BYTE $0x60 // vmovups yword [r8 + 4*rdi + 96], ymm3
LONG $0x20c78348 // add rdi, 32
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB0_810
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JNE LBB0_812
JMP LBB0_825
LBB0_390:
LONG $0xd0348d4b // lea rsi, [r8 + 8*r10]
LONG $0xd2048d4a // lea rax, [rdx + 8*r10]
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
LONG $0xd1970f41 // seta r9b
LONG $0xd1048d4a // lea rax, [rcx + 8*r10]
WORD $0x3948; BYTE $0xd6 // cmp rsi, rdx
LONG $0xd3970f41 // seta r11b
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
WORD $0x970f; BYTE $0xd0 // seta al
WORD $0x3948; BYTE $0xce // cmp rsi, rcx
LONG $0xd7970f40 // seta dil
WORD $0xf631 // xor esi, esi
WORD $0x8445; BYTE $0xd9 // test r9b, r11b
JNE LBB0_395
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_395
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
WORD $0xff31 // xor edi, edi
LBB0_393:
LONG $0x046ffec5; BYTE $0xfa // vmovdqu ymm0, yword [rdx + 8*rdi]
LONG $0x4c6ffec5; WORD $0x20fa // vmovdqu ymm1, yword [rdx + 8*rdi + 32]
LONG $0x546ffec5; WORD $0x40fa // vmovdqu ymm2, yword [rdx + 8*rdi + 64]
LONG $0x5c6ffec5; WORD $0x60fa // vmovdqu ymm3, yword [rdx + 8*rdi + 96]
LONG $0x04fbfdc5; BYTE $0xf9 // vpsubq ymm0, ymm0, yword [rcx + 8*rdi]
LONG $0x4cfbf5c5; WORD $0x20f9 // vpsubq ymm1, ymm1, yword [rcx + 8*rdi + 32]
LONG $0x54fbedc5; WORD $0x40f9 // vpsubq ymm2, ymm2, yword [rcx + 8*rdi + 64]
LONG $0x5cfbe5c5; WORD $0x60f9 // vpsubq ymm3, ymm3, yword [rcx + 8*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xf804 // vmovdqu yword [r8 + 8*rdi], ymm0
LONG $0x7f7ec1c4; WORD $0xf84c; BYTE $0x20 // vmovdqu yword [r8 + 8*rdi + 32], ymm1
LONG $0x7f7ec1c4; WORD $0xf854; BYTE $0x40 // vmovdqu yword [r8 + 8*rdi + 64], ymm2
LONG $0x7f7ec1c4; WORD $0xf85c; BYTE $0x60 // vmovdqu yword [r8 + 8*rdi + 96], ymm3
LONG $0x10c78348 // add rdi, 16
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB0_393
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JNE LBB0_395
JMP LBB0_825
LBB0_402:
LONG $0x90348d4b // lea rsi, [r8 + 4*r10]
LONG $0x92048d4a // lea rax, [rdx + 4*r10]
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
LONG $0xd1970f41 // seta r9b
LONG $0x91048d4a // lea rax, [rcx + 4*r10]
WORD $0x3948; BYTE $0xd6 // cmp rsi, rdx
LONG $0xd3970f41 // seta r11b
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
WORD $0x970f; BYTE $0xd0 // seta al
WORD $0x3948; BYTE $0xce // cmp rsi, rcx
LONG $0xd7970f40 // seta dil
WORD $0xf631 // xor esi, esi
WORD $0x8445; BYTE $0xd9 // test r9b, r11b
JNE LBB0_407
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_407
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
WORD $0xff31 // xor edi, edi
LBB0_405:
LONG $0x0410fcc5; BYTE $0xba // vmovups ymm0, yword [rdx + 4*rdi]
LONG $0x4c10fcc5; WORD $0x20ba // vmovups ymm1, yword [rdx + 4*rdi + 32]
LONG $0x5410fcc5; WORD $0x40ba // vmovups ymm2, yword [rdx + 4*rdi + 64]
LONG $0x5c10fcc5; WORD $0x60ba // vmovups ymm3, yword [rdx + 4*rdi + 96]
LONG $0x045cfcc5; BYTE $0xb9 // vsubps ymm0, ymm0, yword [rcx + 4*rdi]
LONG $0x4c5cf4c5; WORD $0x20b9 // vsubps ymm1, ymm1, yword [rcx + 4*rdi + 32]
LONG $0x545cecc5; WORD $0x40b9 // vsubps ymm2, ymm2, yword [rcx + 4*rdi + 64]
LONG $0x5c5ce4c5; WORD $0x60b9 // vsubps ymm3, ymm3, yword [rcx + 4*rdi + 96]
LONG $0x117cc1c4; WORD $0xb804 // vmovups yword [r8 + 4*rdi], ymm0
LONG $0x117cc1c4; WORD $0xb84c; BYTE $0x20 // vmovups yword [r8 + 4*rdi + 32], ymm1
LONG $0x117cc1c4; WORD $0xb854; BYTE $0x40 // vmovups yword [r8 + 4*rdi + 64], ymm2
LONG $0x117cc1c4; WORD $0xb85c; BYTE $0x60 // vmovups yword [r8 + 4*rdi + 96], ymm3
LONG $0x20c78348 // add rdi, 32
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB0_405
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JNE LBB0_407
JMP LBB0_825
LBB0_523:
LONG $0xd0348d4b // lea rsi, [r8 + 8*r10]
LONG $0xd2048d4a // lea rax, [rdx + 8*r10]
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
LONG $0xd1970f41 // seta r9b
LONG $0xd1048d4a // lea rax, [rcx + 8*r10]
WORD $0x3948; BYTE $0xd6 // cmp rsi, rdx
LONG $0xd3970f41 // seta r11b
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
WORD $0x970f; BYTE $0xd0 // seta al
WORD $0x3948; BYTE $0xce // cmp rsi, rcx
LONG $0xd7970f40 // seta dil
WORD $0xf631 // xor esi, esi
WORD $0x8445; BYTE $0xd9 // test r9b, r11b
JNE LBB0_528
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_528
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
WORD $0xff31 // xor edi, edi
LBB0_526:
LONG $0x046ffec5; BYTE $0xfa // vmovdqu ymm0, yword [rdx + 8*rdi]
LONG $0x4c6ffec5; WORD $0x20fa // vmovdqu ymm1, yword [rdx + 8*rdi + 32]
LONG $0x546ffec5; WORD $0x40fa // vmovdqu ymm2, yword [rdx + 8*rdi + 64]
LONG $0x5c6ffec5; WORD $0x60fa // vmovdqu ymm3, yword [rdx + 8*rdi + 96]
LONG $0x04fbfdc5; BYTE $0xf9 // vpsubq ymm0, ymm0, yword [rcx + 8*rdi]
LONG $0x4cfbf5c5; WORD $0x20f9 // vpsubq ymm1, ymm1, yword [rcx + 8*rdi + 32]
LONG $0x54fbedc5; WORD $0x40f9 // vpsubq ymm2, ymm2, yword [rcx + 8*rdi + 64]
LONG $0x5cfbe5c5; WORD $0x60f9 // vpsubq ymm3, ymm3, yword [rcx + 8*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xf804 // vmovdqu yword [r8 + 8*rdi], ymm0
LONG $0x7f7ec1c4; WORD $0xf84c; BYTE $0x20 // vmovdqu yword [r8 + 8*rdi + 32], ymm1
LONG $0x7f7ec1c4; WORD $0xf854; BYTE $0x40 // vmovdqu yword [r8 + 8*rdi + 64], ymm2
LONG $0x7f7ec1c4; WORD $0xf85c; BYTE $0x60 // vmovdqu yword [r8 + 8*rdi + 96], ymm3
LONG $0x10c78348 // add rdi, 16
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB0_526
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JNE LBB0_528
JMP LBB0_825
LBB0_535:
LONG $0x90348d4b // lea rsi, [r8 + 4*r10]
LONG $0x92048d4a // lea rax, [rdx + 4*r10]
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
LONG $0xd1970f41 // seta r9b
LONG $0x91048d4a // lea rax, [rcx + 4*r10]
WORD $0x3948; BYTE $0xd6 // cmp rsi, rdx
LONG $0xd3970f41 // seta r11b
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
WORD $0x970f; BYTE $0xd0 // seta al
WORD $0x3948; BYTE $0xce // cmp rsi, rcx
LONG $0xd7970f40 // seta dil
WORD $0xf631 // xor esi, esi
WORD $0x8445; BYTE $0xd9 // test r9b, r11b
JNE LBB0_540
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_540
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
WORD $0xff31 // xor edi, edi
LBB0_538:
LONG $0x0410fcc5; BYTE $0xba // vmovups ymm0, yword [rdx + 4*rdi]
LONG $0x4c10fcc5; WORD $0x20ba // vmovups ymm1, yword [rdx + 4*rdi + 32]
LONG $0x5410fcc5; WORD $0x40ba // vmovups ymm2, yword [rdx + 4*rdi + 64]
LONG $0x5c10fcc5; WORD $0x60ba // vmovups ymm3, yword [rdx + 4*rdi + 96]
LONG $0x045cfcc5; BYTE $0xb9 // vsubps ymm0, ymm0, yword [rcx + 4*rdi]
LONG $0x4c5cf4c5; WORD $0x20b9 // vsubps ymm1, ymm1, yword [rcx + 4*rdi + 32]
LONG $0x545cecc5; WORD $0x40b9 // vsubps ymm2, ymm2, yword [rcx + 4*rdi + 64]
LONG $0x5c5ce4c5; WORD $0x60b9 // vsubps ymm3, ymm3, yword [rcx + 4*rdi + 96]
LONG $0x117cc1c4; WORD $0xb804 // vmovups yword [r8 + 4*rdi], ymm0
LONG $0x117cc1c4; WORD $0xb84c; BYTE $0x20 // vmovups yword [r8 + 4*rdi + 32], ymm1
LONG $0x117cc1c4; WORD $0xb854; BYTE $0x40 // vmovups yword [r8 + 4*rdi + 64], ymm2
LONG $0x117cc1c4; WORD $0xb85c; BYTE $0x60 // vmovups yword [r8 + 4*rdi + 96], ymm3
LONG $0x20c78348 // add rdi, 32
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB0_538
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JNE LBB0_540
JMP LBB0_825
LBB0_592:
LONG $0xfce08348 // and rax, -4
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xf631 // xor esi, esi
LONG $0x456ffdc5; BYTE $0x00 // vmovdqa ymm0, yword 0[rbp] /* [rip + .LCPI0_0] */
LBB0_593:
LONG $0x0c6ffec5; BYTE $0x32 // vmovdqu ymm1, yword [rdx + rsi]
LONG $0x146ffec5; BYTE $0x31 // vmovdqu ymm2, yword [rcx + rsi]
LONG $0xd968f5c5 // vpunpckhbw ymm3, ymm1, ymm1
LONG $0xe268edc5 // vpunpckhbw ymm4, ymm2, ymm2
LONG $0xdbd5ddc5 // vpmullw ymm3, ymm4, ymm3
LONG $0xd8dbe5c5 // vpand ymm3, ymm3, ymm0
LONG $0xc960f5c5 // vpunpcklbw ymm1, ymm1, ymm1
LONG $0xd260edc5 // vpunpcklbw ymm2, ymm2, ymm2
LONG $0xc9d5edc5 // vpmullw ymm1, ymm2, ymm1
LONG $0xc8dbf5c5 // vpand ymm1, ymm1, ymm0
LONG $0xcb67f5c5 // vpackuswb ymm1, ymm1, ymm3
LONG $0x7f7ec1c4; WORD $0x300c // vmovdqu yword [r8 + rsi], ymm1
LONG $0x4c6ffec5; WORD $0x2032 // vmovdqu ymm1, yword [rdx + rsi + 32]
LONG $0x546ffec5; WORD $0x2031 // vmovdqu ymm2, yword [rcx + rsi + 32]
LONG $0xd968f5c5 // vpunpckhbw ymm3, ymm1, ymm1
LONG $0xe268edc5 // vpunpckhbw ymm4, ymm2, ymm2
LONG $0xdbd5ddc5 // vpmullw ymm3, ymm4, ymm3
LONG $0xd8dbe5c5 // vpand ymm3, ymm3, ymm0
LONG $0xc960f5c5 // vpunpcklbw ymm1, ymm1, ymm1
LONG $0xd260edc5 // vpunpcklbw ymm2, ymm2, ymm2
LONG $0xc9d5edc5 // vpmullw ymm1, ymm2, ymm1
LONG $0xc8dbf5c5 // vpand ymm1, ymm1, ymm0
LONG $0xcb67f5c5 // vpackuswb ymm1, ymm1, ymm3
LONG $0x7f7ec1c4; WORD $0x304c; BYTE $0x20 // vmovdqu yword [r8 + rsi + 32], ymm1
LONG $0x4c6ffec5; WORD $0x4032 // vmovdqu ymm1, yword [rdx + rsi + 64]
LONG $0x546ffec5; WORD $0x4031 // vmovdqu ymm2, yword [rcx + rsi + 64]
LONG $0xd968f5c5 // vpunpckhbw ymm3, ymm1, ymm1
LONG $0xe268edc5 // vpunpckhbw ymm4, ymm2, ymm2
LONG $0xdbd5ddc5 // vpmullw ymm3, ymm4, ymm3
LONG $0xd8dbe5c5 // vpand ymm3, ymm3, ymm0
LONG $0xc960f5c5 // vpunpcklbw ymm1, ymm1, ymm1
LONG $0xd260edc5 // vpunpcklbw ymm2, ymm2, ymm2
LONG $0xc9d5edc5 // vpmullw ymm1, ymm2, ymm1
LONG $0xc8dbf5c5 // vpand ymm1, ymm1, ymm0
LONG $0xcb67f5c5 // vpackuswb ymm1, ymm1, ymm3
LONG $0x7f7ec1c4; WORD $0x304c; BYTE $0x40 // vmovdqu yword [r8 + rsi + 64], ymm1
LONG $0x4c6ffec5; WORD $0x6032 // vmovdqu ymm1, yword [rdx + rsi + 96]
LONG $0x546ffec5; WORD $0x6031 // vmovdqu ymm2, yword [rcx + rsi + 96]
LONG $0xd968f5c5 // vpunpckhbw ymm3, ymm1, ymm1
LONG $0xe268edc5 // vpunpckhbw ymm4, ymm2, ymm2
LONG $0xdbd5ddc5 // vpmullw ymm3, ymm4, ymm3
LONG $0xd8dbe5c5 // vpand ymm3, ymm3, ymm0
LONG $0xc960f5c5 // vpunpcklbw ymm1, ymm1, ymm1
LONG $0xd260edc5 // vpunpcklbw ymm2, ymm2, ymm2
LONG $0xc9d5edc5 // vpmullw ymm1, ymm2, ymm1
LONG $0xc8dbf5c5 // vpand ymm1, ymm1, ymm0
LONG $0xcb67f5c5 // vpackuswb ymm1, ymm1, ymm3
LONG $0x7f7ec1c4; WORD $0x304c; BYTE $0x60 // vmovdqu yword [r8 + rsi + 96], ymm1
LONG $0x80ee8348 // sub rsi, -128
LONG $0x04c08348 // add rax, 4
JNE LBB0_593
LBB0_594:
WORD $0x854d; BYTE $0xc9 // test r9, r9
JE LBB0_597
WORD $0xf749; BYTE $0xd9 // neg r9
LONG $0x456ffdc5; BYTE $0x00 // vmovdqa ymm0, yword 0[rbp] /* [rip + .LCPI0_0] */
LBB0_596:
LONG $0x0c6ffec5; BYTE $0x32 // vmovdqu ymm1, yword [rdx + rsi]
LONG $0x146ffec5; BYTE $0x31 // vmovdqu ymm2, yword [rcx + rsi]
LONG $0xd968f5c5 // vpunpckhbw ymm3, ymm1, ymm1
LONG $0xe268edc5 // vpunpckhbw ymm4, ymm2, ymm2
LONG $0xdbd5ddc5 // vpmullw ymm3, ymm4, ymm3
LONG $0xd8dbe5c5 // vpand ymm3, ymm3, ymm0
LONG $0xc960f5c5 // vpunpcklbw ymm1, ymm1, ymm1
LONG $0xd260edc5 // vpunpcklbw ymm2, ymm2, ymm2
LONG $0xc9d5edc5 // vpmullw ymm1, ymm2, ymm1
LONG $0xc8dbf5c5 // vpand ymm1, ymm1, ymm0
LONG $0xcb67f5c5 // vpackuswb ymm1, ymm1, ymm3
LONG $0x7f7ec1c4; WORD $0x300c // vmovdqu yword [r8 + rsi], ymm1
LONG $0x20c68348 // add rsi, 32
WORD $0xff49; BYTE $0xc1 // inc r9
JNE LBB0_596
LBB0_597:
WORD $0x394c; BYTE $0xd7 // cmp rdi, r10
JE LBB0_825
LBB0_598:
WORD $0x8949; BYTE $0xf9 // mov r9, rdi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd6 // mov rsi, r10
LONG $0x03e68348 // and rsi, 3
JE LBB0_600
LBB0_599:
LONG $0x3904b60f // movzx eax, byte [rcx + rdi]
WORD $0x24f6; BYTE $0x3a // mul byte [rdx + rdi]
LONG $0x38048841 // mov byte [r8 + rdi], al
LONG $0x01c78348 // add rdi, 1
LONG $0xffc68348 // add rsi, -1
JNE LBB0_599
LBB0_600:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_825
LBB0_601:
LONG $0x3904b60f // movzx eax, byte [rcx + rdi]
WORD $0x24f6; BYTE $0x3a // mul byte [rdx + rdi]
LONG $0x38048841 // mov byte [r8 + rdi], al
LONG $0x3944b60f; BYTE $0x01 // movzx eax, byte [rcx + rdi + 1]
LONG $0x013a64f6 // mul byte [rdx + rdi + 1]
LONG $0x38448841; BYTE $0x01 // mov byte [r8 + rdi + 1], al
LONG $0x3944b60f; BYTE $0x02 // movzx eax, byte [rcx + rdi + 2]
LONG $0x023a64f6 // mul byte [rdx + rdi + 2]
LONG $0x38448841; BYTE $0x02 // mov byte [r8 + rdi + 2], al
LONG $0x3944b60f; BYTE $0x03 // movzx eax, byte [rcx + rdi + 3]
LONG $0x033a64f6 // mul byte [rdx + rdi + 3]
LONG $0x38448841; BYTE $0x03 // mov byte [r8 + rdi + 3], al
LONG $0x04c78348 // add rdi, 4
WORD $0x3949; BYTE $0xfa // cmp r10, rdi
JNE LBB0_601
JMP LBB0_825
LBB0_728:
LONG $0xfce08348 // and rax, -4
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xf631 // xor esi, esi
LONG $0x456ffdc5; BYTE $0x00 // vmovdqa ymm0, yword 0[rbp] /* [rip + .LCPI0_0] */
LBB0_729:
LONG $0x0c6ffec5; BYTE $0x32 // vmovdqu ymm1, yword [rdx + rsi]
LONG $0x146ffec5; BYTE $0x31 // vmovdqu ymm2, yword [rcx + rsi]
LONG $0xd968f5c5 // vpunpckhbw ymm3, ymm1, ymm1
LONG $0xe268edc5 // vpunpckhbw ymm4, ymm2, ymm2
LONG $0xdbd5ddc5 // vpmullw ymm3, ymm4, ymm3
LONG $0xd8dbe5c5 // vpand ymm3, ymm3, ymm0
LONG $0xc960f5c5 // vpunpcklbw ymm1, ymm1, ymm1
LONG $0xd260edc5 // vpunpcklbw ymm2, ymm2, ymm2
LONG $0xc9d5edc5 // vpmullw ymm1, ymm2, ymm1
LONG $0xc8dbf5c5 // vpand ymm1, ymm1, ymm0
LONG $0xcb67f5c5 // vpackuswb ymm1, ymm1, ymm3
LONG $0x7f7ec1c4; WORD $0x300c // vmovdqu yword [r8 + rsi], ymm1
LONG $0x4c6ffec5; WORD $0x2032 // vmovdqu ymm1, yword [rdx + rsi + 32]
LONG $0x546ffec5; WORD $0x2031 // vmovdqu ymm2, yword [rcx + rsi + 32]
LONG $0xd968f5c5 // vpunpckhbw ymm3, ymm1, ymm1
LONG $0xe268edc5 // vpunpckhbw ymm4, ymm2, ymm2
LONG $0xdbd5ddc5 // vpmullw ymm3, ymm4, ymm3
LONG $0xd8dbe5c5 // vpand ymm3, ymm3, ymm0
LONG $0xc960f5c5 // vpunpcklbw ymm1, ymm1, ymm1
LONG $0xd260edc5 // vpunpcklbw ymm2, ymm2, ymm2
LONG $0xc9d5edc5 // vpmullw ymm1, ymm2, ymm1
LONG $0xc8dbf5c5 // vpand ymm1, ymm1, ymm0
LONG $0xcb67f5c5 // vpackuswb ymm1, ymm1, ymm3
LONG $0x7f7ec1c4; WORD $0x304c; BYTE $0x20 // vmovdqu yword [r8 + rsi + 32], ymm1
LONG $0x4c6ffec5; WORD $0x4032 // vmovdqu ymm1, yword [rdx + rsi + 64]
LONG $0x546ffec5; WORD $0x4031 // vmovdqu ymm2, yword [rcx + rsi + 64]
LONG $0xd968f5c5 // vpunpckhbw ymm3, ymm1, ymm1
LONG $0xe268edc5 // vpunpckhbw ymm4, ymm2, ymm2
LONG $0xdbd5ddc5 // vpmullw ymm3, ymm4, ymm3
LONG $0xd8dbe5c5 // vpand ymm3, ymm3, ymm0
LONG $0xc960f5c5 // vpunpcklbw ymm1, ymm1, ymm1
LONG $0xd260edc5 // vpunpcklbw ymm2, ymm2, ymm2
LONG $0xc9d5edc5 // vpmullw ymm1, ymm2, ymm1
LONG $0xc8dbf5c5 // vpand ymm1, ymm1, ymm0
LONG $0xcb67f5c5 // vpackuswb ymm1, ymm1, ymm3
LONG $0x7f7ec1c4; WORD $0x304c; BYTE $0x40 // vmovdqu yword [r8 + rsi + 64], ymm1
LONG $0x4c6ffec5; WORD $0x6032 // vmovdqu ymm1, yword [rdx + rsi + 96]
LONG $0x546ffec5; WORD $0x6031 // vmovdqu ymm2, yword [rcx + rsi + 96]
LONG $0xd968f5c5 // vpunpckhbw ymm3, ymm1, ymm1
LONG $0xe268edc5 // vpunpckhbw ymm4, ymm2, ymm2
LONG $0xdbd5ddc5 // vpmullw ymm3, ymm4, ymm3
LONG $0xd8dbe5c5 // vpand ymm3, ymm3, ymm0
LONG $0xc960f5c5 // vpunpcklbw ymm1, ymm1, ymm1
LONG $0xd260edc5 // vpunpcklbw ymm2, ymm2, ymm2
LONG $0xc9d5edc5 // vpmullw ymm1, ymm2, ymm1
LONG $0xc8dbf5c5 // vpand ymm1, ymm1, ymm0
LONG $0xcb67f5c5 // vpackuswb ymm1, ymm1, ymm3
LONG $0x7f7ec1c4; WORD $0x304c; BYTE $0x60 // vmovdqu yword [r8 + rsi + 96], ymm1
LONG $0x80ee8348 // sub rsi, -128
LONG $0x04c08348 // add rax, 4
JNE LBB0_729
LBB0_730:
WORD $0x854d; BYTE $0xc9 // test r9, r9
JE LBB0_733
WORD $0xf749; BYTE $0xd9 // neg r9
LONG $0x456ffdc5; BYTE $0x00 // vmovdqa ymm0, yword 0[rbp] /* [rip + .LCPI0_0] */
LBB0_732:
LONG $0x0c6ffec5; BYTE $0x32 // vmovdqu ymm1, yword [rdx + rsi]
LONG $0x146ffec5; BYTE $0x31 // vmovdqu ymm2, yword [rcx + rsi]
LONG $0xd968f5c5 // vpunpckhbw ymm3, ymm1, ymm1
LONG $0xe268edc5 // vpunpckhbw ymm4, ymm2, ymm2
LONG $0xdbd5ddc5 // vpmullw ymm3, ymm4, ymm3
LONG $0xd8dbe5c5 // vpand ymm3, ymm3, ymm0
LONG $0xc960f5c5 // vpunpcklbw ymm1, ymm1, ymm1
LONG $0xd260edc5 // vpunpcklbw ymm2, ymm2, ymm2
LONG $0xc9d5edc5 // vpmullw ymm1, ymm2, ymm1
LONG $0xc8dbf5c5 // vpand ymm1, ymm1, ymm0
LONG $0xcb67f5c5 // vpackuswb ymm1, ymm1, ymm3
LONG $0x7f7ec1c4; WORD $0x300c // vmovdqu yword [r8 + rsi], ymm1
LONG $0x20c68348 // add rsi, 32
WORD $0xff49; BYTE $0xc1 // inc r9
JNE LBB0_732
LBB0_733:
WORD $0x394c; BYTE $0xd7 // cmp rdi, r10
JE LBB0_825
LBB0_734:
WORD $0x8949; BYTE $0xf9 // mov r9, rdi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd6 // mov rsi, r10
LONG $0x03e68348 // and rsi, 3
JE LBB0_736
LBB0_735:
LONG $0x3904b60f // movzx eax, byte [rcx + rdi]
WORD $0x24f6; BYTE $0x3a // mul byte [rdx + rdi]
LONG $0x38048841 // mov byte [r8 + rdi], al
LONG $0x01c78348 // add rdi, 1
LONG $0xffc68348 // add rsi, -1
JNE LBB0_735
LBB0_736:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_825
LBB0_737:
LONG $0x3904b60f // movzx eax, byte [rcx + rdi]
WORD $0x24f6; BYTE $0x3a // mul byte [rdx + rdi]
LONG $0x38048841 // mov byte [r8 + rdi], al
LONG $0x3944b60f; BYTE $0x01 // movzx eax, byte [rcx + rdi + 1]
LONG $0x013a64f6 // mul byte [rdx + rdi + 1]
LONG $0x38448841; BYTE $0x01 // mov byte [r8 + rdi + 1], al
LONG $0x3944b60f; BYTE $0x02 // movzx eax, byte [rcx + rdi + 2]
LONG $0x023a64f6 // mul byte [rdx + rdi + 2]
LONG $0x38448841; BYTE $0x02 // mov byte [r8 + rdi + 2], al
LONG $0x3944b60f; BYTE $0x03 // movzx eax, byte [rcx + rdi + 3]
LONG $0x033a64f6 // mul byte [rdx + rdi + 3]
LONG $0x38448841; BYTE $0x03 // mov byte [r8 + rdi + 3], al
LONG $0x04c78348 // add rdi, 4
WORD $0x3949; BYTE $0xfa // cmp r10, rdi
JNE LBB0_737
JMP LBB0_825
LBB0_578:
LONG $0xfce08348 // and rax, -4
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xf631 // xor esi, esi
LONG $0x456ffdc5; BYTE $0x00 // vmovdqa ymm0, yword 0[rbp] /* [rip + .LCPI0_0] */
LBB0_579:
LONG $0x0c6ffec5; BYTE $0x32 // vmovdqu ymm1, yword [rdx + rsi]
LONG $0x146ffec5; BYTE $0x31 // vmovdqu ymm2, yword [rcx + rsi]
LONG $0xd968f5c5 // vpunpckhbw ymm3, ymm1, ymm1
LONG $0xe268edc5 // vpunpckhbw ymm4, ymm2, ymm2
LONG $0xdbd5ddc5 // vpmullw ymm3, ymm4, ymm3
LONG $0xd8dbe5c5 // vpand ymm3, ymm3, ymm0
LONG $0xc960f5c5 // vpunpcklbw ymm1, ymm1, ymm1
LONG $0xd260edc5 // vpunpcklbw ymm2, ymm2, ymm2
LONG $0xc9d5edc5 // vpmullw ymm1, ymm2, ymm1
LONG $0xc8dbf5c5 // vpand ymm1, ymm1, ymm0
LONG $0xcb67f5c5 // vpackuswb ymm1, ymm1, ymm3
LONG $0x7f7ec1c4; WORD $0x300c // vmovdqu yword [r8 + rsi], ymm1
LONG $0x4c6ffec5; WORD $0x2032 // vmovdqu ymm1, yword [rdx + rsi + 32]
LONG $0x546ffec5; WORD $0x2031 // vmovdqu ymm2, yword [rcx + rsi + 32]
LONG $0xd968f5c5 // vpunpckhbw ymm3, ymm1, ymm1
LONG $0xe268edc5 // vpunpckhbw ymm4, ymm2, ymm2
LONG $0xdbd5ddc5 // vpmullw ymm3, ymm4, ymm3
LONG $0xd8dbe5c5 // vpand ymm3, ymm3, ymm0
LONG $0xc960f5c5 // vpunpcklbw ymm1, ymm1, ymm1
LONG $0xd260edc5 // vpunpcklbw ymm2, ymm2, ymm2
LONG $0xc9d5edc5 // vpmullw ymm1, ymm2, ymm1
LONG $0xc8dbf5c5 // vpand ymm1, ymm1, ymm0
LONG $0xcb67f5c5 // vpackuswb ymm1, ymm1, ymm3
LONG $0x7f7ec1c4; WORD $0x304c; BYTE $0x20 // vmovdqu yword [r8 + rsi + 32], ymm1
LONG $0x4c6ffec5; WORD $0x4032 // vmovdqu ymm1, yword [rdx + rsi + 64]
LONG $0x546ffec5; WORD $0x4031 // vmovdqu ymm2, yword [rcx + rsi + 64]
LONG $0xd968f5c5 // vpunpckhbw ymm3, ymm1, ymm1
LONG $0xe268edc5 // vpunpckhbw ymm4, ymm2, ymm2
LONG $0xdbd5ddc5 // vpmullw ymm3, ymm4, ymm3
LONG $0xd8dbe5c5 // vpand ymm3, ymm3, ymm0
LONG $0xc960f5c5 // vpunpcklbw ymm1, ymm1, ymm1
LONG $0xd260edc5 // vpunpcklbw ymm2, ymm2, ymm2
LONG $0xc9d5edc5 // vpmullw ymm1, ymm2, ymm1
LONG $0xc8dbf5c5 // vpand ymm1, ymm1, ymm0
LONG $0xcb67f5c5 // vpackuswb ymm1, ymm1, ymm3
LONG $0x7f7ec1c4; WORD $0x304c; BYTE $0x40 // vmovdqu yword [r8 + rsi + 64], ymm1
LONG $0x4c6ffec5; WORD $0x6032 // vmovdqu ymm1, yword [rdx + rsi + 96]
LONG $0x546ffec5; WORD $0x6031 // vmovdqu ymm2, yword [rcx + rsi + 96]
LONG $0xd968f5c5 // vpunpckhbw ymm3, ymm1, ymm1
LONG $0xe268edc5 // vpunpckhbw ymm4, ymm2, ymm2
LONG $0xdbd5ddc5 // vpmullw ymm3, ymm4, ymm3
LONG $0xd8dbe5c5 // vpand ymm3, ymm3, ymm0
LONG $0xc960f5c5 // vpunpcklbw ymm1, ymm1, ymm1
LONG $0xd260edc5 // vpunpcklbw ymm2, ymm2, ymm2
LONG $0xc9d5edc5 // vpmullw ymm1, ymm2, ymm1
LONG $0xc8dbf5c5 // vpand ymm1, ymm1, ymm0
LONG $0xcb67f5c5 // vpackuswb ymm1, ymm1, ymm3
LONG $0x7f7ec1c4; WORD $0x304c; BYTE $0x60 // vmovdqu yword [r8 + rsi + 96], ymm1
LONG $0x80ee8348 // sub rsi, -128
LONG $0x04c08348 // add rax, 4
JNE LBB0_579
LBB0_580:
WORD $0x854d; BYTE $0xc9 // test r9, r9
JE LBB0_583
WORD $0xf749; BYTE $0xd9 // neg r9
LONG $0x456ffdc5; BYTE $0x00 // vmovdqa ymm0, yword 0[rbp] /* [rip + .LCPI0_0] */
LBB0_582:
LONG $0x0c6ffec5; BYTE $0x32 // vmovdqu ymm1, yword [rdx + rsi]
LONG $0x146ffec5; BYTE $0x31 // vmovdqu ymm2, yword [rcx + rsi]
LONG $0xd968f5c5 // vpunpckhbw ymm3, ymm1, ymm1
LONG $0xe268edc5 // vpunpckhbw ymm4, ymm2, ymm2
LONG $0xdbd5ddc5 // vpmullw ymm3, ymm4, ymm3
LONG $0xd8dbe5c5 // vpand ymm3, ymm3, ymm0
LONG $0xc960f5c5 // vpunpcklbw ymm1, ymm1, ymm1
LONG $0xd260edc5 // vpunpcklbw ymm2, ymm2, ymm2
LONG $0xc9d5edc5 // vpmullw ymm1, ymm2, ymm1
LONG $0xc8dbf5c5 // vpand ymm1, ymm1, ymm0
LONG $0xcb67f5c5 // vpackuswb ymm1, ymm1, ymm3
LONG $0x7f7ec1c4; WORD $0x300c // vmovdqu yword [r8 + rsi], ymm1
LONG $0x20c68348 // add rsi, 32
WORD $0xff49; BYTE $0xc1 // inc r9
JNE LBB0_582
LBB0_583:
WORD $0x394c; BYTE $0xd7 // cmp rdi, r10
JE LBB0_825
LBB0_584:
WORD $0x8949; BYTE $0xf9 // mov r9, rdi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd6 // mov rsi, r10
LONG $0x03e68348 // and rsi, 3
JE LBB0_586
LBB0_585:
LONG $0x3904b60f // movzx eax, byte [rcx + rdi]
WORD $0x24f6; BYTE $0x3a // mul byte [rdx + rdi]
LONG $0x38048841 // mov byte [r8 + rdi], al
LONG $0x01c78348 // add rdi, 1
LONG $0xffc68348 // add rsi, -1
JNE LBB0_585
LBB0_586:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_825
LBB0_587:
LONG $0x3904b60f // movzx eax, byte [rcx + rdi]
WORD $0x24f6; BYTE $0x3a // mul byte [rdx + rdi]
LONG $0x38048841 // mov byte [r8 + rdi], al
LONG $0x3944b60f; BYTE $0x01 // movzx eax, byte [rcx + rdi + 1]
LONG $0x013a64f6 // mul byte [rdx + rdi + 1]
LONG $0x38448841; BYTE $0x01 // mov byte [r8 + rdi + 1], al
LONG $0x3944b60f; BYTE $0x02 // movzx eax, byte [rcx + rdi + 2]
LONG $0x023a64f6 // mul byte [rdx + rdi + 2]
LONG $0x38448841; BYTE $0x02 // mov byte [r8 + rdi + 2], al
LONG $0x3944b60f; BYTE $0x03 // movzx eax, byte [rcx + rdi + 3]
LONG $0x033a64f6 // mul byte [rdx + rdi + 3]
LONG $0x38448841; BYTE $0x03 // mov byte [r8 + rdi + 3], al
LONG $0x04c78348 // add rdi, 4
WORD $0x3949; BYTE $0xfa // cmp r10, rdi
JNE LBB0_587
JMP LBB0_825
LBB0_714:
LONG $0xfce08348 // and rax, -4
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xf631 // xor esi, esi
LONG $0x456ffdc5; BYTE $0x00 // vmovdqa ymm0, yword 0[rbp] /* [rip + .LCPI0_0] */
LBB0_715:
LONG $0x0c6ffec5; BYTE $0x32 // vmovdqu ymm1, yword [rdx + rsi]
LONG $0x146ffec5; BYTE $0x31 // vmovdqu ymm2, yword [rcx + rsi]
LONG $0xd968f5c5 // vpunpckhbw ymm3, ymm1, ymm1
LONG $0xe268edc5 // vpunpckhbw ymm4, ymm2, ymm2
LONG $0xdbd5ddc5 // vpmullw ymm3, ymm4, ymm3
LONG $0xd8dbe5c5 // vpand ymm3, ymm3, ymm0
LONG $0xc960f5c5 // vpunpcklbw ymm1, ymm1, ymm1
LONG $0xd260edc5 // vpunpcklbw ymm2, ymm2, ymm2
LONG $0xc9d5edc5 // vpmullw ymm1, ymm2, ymm1
LONG $0xc8dbf5c5 // vpand ymm1, ymm1, ymm0
LONG $0xcb67f5c5 // vpackuswb ymm1, ymm1, ymm3
LONG $0x7f7ec1c4; WORD $0x300c // vmovdqu yword [r8 + rsi], ymm1
LONG $0x4c6ffec5; WORD $0x2032 // vmovdqu ymm1, yword [rdx + rsi + 32]
LONG $0x546ffec5; WORD $0x2031 // vmovdqu ymm2, yword [rcx + rsi + 32]
LONG $0xd968f5c5 // vpunpckhbw ymm3, ymm1, ymm1
LONG $0xe268edc5 // vpunpckhbw ymm4, ymm2, ymm2
LONG $0xdbd5ddc5 // vpmullw ymm3, ymm4, ymm3
LONG $0xd8dbe5c5 // vpand ymm3, ymm3, ymm0
LONG $0xc960f5c5 // vpunpcklbw ymm1, ymm1, ymm1
LONG $0xd260edc5 // vpunpcklbw ymm2, ymm2, ymm2
LONG $0xc9d5edc5 // vpmullw ymm1, ymm2, ymm1
LONG $0xc8dbf5c5 // vpand ymm1, ymm1, ymm0
LONG $0xcb67f5c5 // vpackuswb ymm1, ymm1, ymm3
LONG $0x7f7ec1c4; WORD $0x304c; BYTE $0x20 // vmovdqu yword [r8 + rsi + 32], ymm1
LONG $0x4c6ffec5; WORD $0x4032 // vmovdqu ymm1, yword [rdx + rsi + 64]
LONG $0x546ffec5; WORD $0x4031 // vmovdqu ymm2, yword [rcx + rsi + 64]
LONG $0xd968f5c5 // vpunpckhbw ymm3, ymm1, ymm1
LONG $0xe268edc5 // vpunpckhbw ymm4, ymm2, ymm2
LONG $0xdbd5ddc5 // vpmullw ymm3, ymm4, ymm3
LONG $0xd8dbe5c5 // vpand ymm3, ymm3, ymm0
LONG $0xc960f5c5 // vpunpcklbw ymm1, ymm1, ymm1
LONG $0xd260edc5 // vpunpcklbw ymm2, ymm2, ymm2
LONG $0xc9d5edc5 // vpmullw ymm1, ymm2, ymm1
LONG $0xc8dbf5c5 // vpand ymm1, ymm1, ymm0
LONG $0xcb67f5c5 // vpackuswb ymm1, ymm1, ymm3
LONG $0x7f7ec1c4; WORD $0x304c; BYTE $0x40 // vmovdqu yword [r8 + rsi + 64], ymm1
LONG $0x4c6ffec5; WORD $0x6032 // vmovdqu ymm1, yword [rdx + rsi + 96]
LONG $0x546ffec5; WORD $0x6031 // vmovdqu ymm2, yword [rcx + rsi + 96]
LONG $0xd968f5c5 // vpunpckhbw ymm3, ymm1, ymm1
LONG $0xe268edc5 // vpunpckhbw ymm4, ymm2, ymm2
LONG $0xdbd5ddc5 // vpmullw ymm3, ymm4, ymm3
LONG $0xd8dbe5c5 // vpand ymm3, ymm3, ymm0
LONG $0xc960f5c5 // vpunpcklbw ymm1, ymm1, ymm1
LONG $0xd260edc5 // vpunpcklbw ymm2, ymm2, ymm2
LONG $0xc9d5edc5 // vpmullw ymm1, ymm2, ymm1
LONG $0xc8dbf5c5 // vpand ymm1, ymm1, ymm0
LONG $0xcb67f5c5 // vpackuswb ymm1, ymm1, ymm3
LONG $0x7f7ec1c4; WORD $0x304c; BYTE $0x60 // vmovdqu yword [r8 + rsi + 96], ymm1
LONG $0x80ee8348 // sub rsi, -128
LONG $0x04c08348 // add rax, 4
JNE LBB0_715
LBB0_716:
WORD $0x854d; BYTE $0xc9 // test r9, r9
JE LBB0_719
WORD $0xf749; BYTE $0xd9 // neg r9
LONG $0x456ffdc5; BYTE $0x00 // vmovdqa ymm0, yword 0[rbp] /* [rip + .LCPI0_0] */
LBB0_718:
LONG $0x0c6ffec5; BYTE $0x32 // vmovdqu ymm1, yword [rdx + rsi]
LONG $0x146ffec5; BYTE $0x31 // vmovdqu ymm2, yword [rcx + rsi]
LONG $0xd968f5c5 // vpunpckhbw ymm3, ymm1, ymm1
LONG $0xe268edc5 // vpunpckhbw ymm4, ymm2, ymm2
LONG $0xdbd5ddc5 // vpmullw ymm3, ymm4, ymm3
LONG $0xd8dbe5c5 // vpand ymm3, ymm3, ymm0
LONG $0xc960f5c5 // vpunpcklbw ymm1, ymm1, ymm1
LONG $0xd260edc5 // vpunpcklbw ymm2, ymm2, ymm2
LONG $0xc9d5edc5 // vpmullw ymm1, ymm2, ymm1
LONG $0xc8dbf5c5 // vpand ymm1, ymm1, ymm0
LONG $0xcb67f5c5 // vpackuswb ymm1, ymm1, ymm3
LONG $0x7f7ec1c4; WORD $0x300c // vmovdqu yword [r8 + rsi], ymm1
LONG $0x20c68348 // add rsi, 32
WORD $0xff49; BYTE $0xc1 // inc r9
JNE LBB0_718
LBB0_719:
WORD $0x394c; BYTE $0xd7 // cmp rdi, r10
JE LBB0_825
LBB0_720:
WORD $0x8949; BYTE $0xf9 // mov r9, rdi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd6 // mov rsi, r10
LONG $0x03e68348 // and rsi, 3
JE LBB0_722
LBB0_721:
LONG $0x3904b60f // movzx eax, byte [rcx + rdi]
WORD $0x24f6; BYTE $0x3a // mul byte [rdx + rdi]
LONG $0x38048841 // mov byte [r8 + rdi], al
LONG $0x01c78348 // add rdi, 1
LONG $0xffc68348 // add rsi, -1
JNE LBB0_721
LBB0_722:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_825
LBB0_723:
LONG $0x3904b60f // movzx eax, byte [rcx + rdi]
WORD $0x24f6; BYTE $0x3a // mul byte [rdx + rdi]
LONG $0x38048841 // mov byte [r8 + rdi], al
LONG $0x3944b60f; BYTE $0x01 // movzx eax, byte [rcx + rdi + 1]
LONG $0x013a64f6 // mul byte [rdx + rdi + 1]
LONG $0x38448841; BYTE $0x01 // mov byte [r8 + rdi + 1], al
LONG $0x3944b60f; BYTE $0x02 // movzx eax, byte [rcx + rdi + 2]
LONG $0x023a64f6 // mul byte [rdx + rdi + 2]
LONG $0x38448841; BYTE $0x02 // mov byte [r8 + rdi + 2], al
LONG $0x3944b60f; BYTE $0x03 // movzx eax, byte [rcx + rdi + 3]
LONG $0x033a64f6 // mul byte [rdx + rdi + 3]
LONG $0x38448841; BYTE $0x03 // mov byte [r8 + rdi + 3], al
LONG $0x04c78348 // add rdi, 4
WORD $0x3949; BYTE $0xfa // cmp r10, rdi
JNE LBB0_723
LBB0_825:
VZEROUPPER
RET
DATA LCDATA2<>+0x000(SB)/8, $0x00ff00ff00ff00ff
DATA LCDATA2<>+0x008(SB)/8, $0x00ff00ff00ff00ff
DATA LCDATA2<>+0x010(SB)/8, $0x00ff00ff00ff00ff
DATA LCDATA2<>+0x018(SB)/8, $0x00ff00ff00ff00ff
GLOBL LCDATA2<>(SB), 8, $32
TEXT ยท_arithmetic_arr_scalar_avx2(SB), $0-48
MOVQ typ+0(FP), DI
MOVQ op+8(FP), SI
MOVQ inLeft+16(FP), DX
MOVQ inRight+24(FP), CX
MOVQ out+32(FP), R8
MOVQ len+40(FP), R9
LEAQ LCDATA2<>(SB), BP
LONG $0x14fe8040 // cmp sil, 20
JG LBB1_12
WORD $0x8440; BYTE $0xf6 // test sil, sil
JE LBB1_23
LONG $0x01fe8040 // cmp sil, 1
JE LBB1_31
LONG $0x02fe8040 // cmp sil, 2
JNE LBB1_1109
WORD $0xff83; BYTE $0x06 // cmp edi, 6
JG LBB1_55
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JLE LBB1_97
WORD $0xff83; BYTE $0x04 // cmp edi, 4
JE LBB1_157
WORD $0xff83; BYTE $0x05 // cmp edi, 5
JE LBB1_160
WORD $0xff83; BYTE $0x06 // cmp edi, 6
JNE LBB1_1109
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1109
WORD $0x018b // mov eax, dword [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB1_11
LONG $0x920c8d4a // lea rcx, [rdx + 4*r10]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_445
LONG $0x900c8d4b // lea rcx, [r8 + 4*r10]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_445
LBB1_11:
WORD $0xf631 // xor esi, esi
LBB1_665:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB1_667
LBB1_666:
WORD $0x0c8b; BYTE $0xb2 // mov ecx, dword [rdx + 4*rsi]
WORD $0xaf0f; BYTE $0xc8 // imul ecx, eax
LONG $0xb00c8941 // mov dword [r8 + 4*rsi], ecx
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB1_666
LBB1_667:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1109
LBB1_668:
WORD $0x0c8b; BYTE $0xb2 // mov ecx, dword [rdx + 4*rsi]
WORD $0xaf0f; BYTE $0xc8 // imul ecx, eax
LONG $0xb00c8941 // mov dword [r8 + 4*rsi], ecx
LONG $0x04b24c8b // mov ecx, dword [rdx + 4*rsi + 4]
WORD $0xaf0f; BYTE $0xc8 // imul ecx, eax
LONG $0xb04c8941; BYTE $0x04 // mov dword [r8 + 4*rsi + 4], ecx
LONG $0x08b24c8b // mov ecx, dword [rdx + 4*rsi + 8]
WORD $0xaf0f; BYTE $0xc8 // imul ecx, eax
LONG $0xb04c8941; BYTE $0x08 // mov dword [r8 + 4*rsi + 8], ecx
LONG $0x0cb24c8b // mov ecx, dword [rdx + 4*rsi + 12]
WORD $0xaf0f; BYTE $0xc8 // imul ecx, eax
LONG $0xb04c8941; BYTE $0x0c // mov dword [r8 + 4*rsi + 12], ecx
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB1_668
JMP LBB1_1109
LBB1_12:
LONG $0x15fe8040 // cmp sil, 21
JE LBB1_39
LONG $0x16fe8040 // cmp sil, 22
JE LBB1_47
LONG $0x17fe8040 // cmp sil, 23
JNE LBB1_1109
WORD $0xff83; BYTE $0x06 // cmp edi, 6
JG LBB1_62
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JLE LBB1_102
WORD $0xff83; BYTE $0x04 // cmp edi, 4
JE LBB1_163
WORD $0xff83; BYTE $0x05 // cmp edi, 5
JE LBB1_166
WORD $0xff83; BYTE $0x06 // cmp edi, 6
JNE LBB1_1109
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1109
WORD $0x018b // mov eax, dword [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB1_22
LONG $0x920c8d4a // lea rcx, [rdx + 4*r10]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_448
LONG $0x900c8d4b // lea rcx, [r8 + 4*r10]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_448
LBB1_22:
WORD $0xf631 // xor esi, esi
LBB1_673:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB1_675
LBB1_674:
WORD $0x0c8b; BYTE $0xb2 // mov ecx, dword [rdx + 4*rsi]
WORD $0xaf0f; BYTE $0xc8 // imul ecx, eax
LONG $0xb00c8941 // mov dword [r8 + 4*rsi], ecx
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB1_674
LBB1_675:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1109
LBB1_676:
WORD $0x0c8b; BYTE $0xb2 // mov ecx, dword [rdx + 4*rsi]
WORD $0xaf0f; BYTE $0xc8 // imul ecx, eax
LONG $0xb00c8941 // mov dword [r8 + 4*rsi], ecx
LONG $0x04b24c8b // mov ecx, dword [rdx + 4*rsi + 4]
WORD $0xaf0f; BYTE $0xc8 // imul ecx, eax
LONG $0xb04c8941; BYTE $0x04 // mov dword [r8 + 4*rsi + 4], ecx
LONG $0x08b24c8b // mov ecx, dword [rdx + 4*rsi + 8]
WORD $0xaf0f; BYTE $0xc8 // imul ecx, eax
LONG $0xb04c8941; BYTE $0x08 // mov dword [r8 + 4*rsi + 8], ecx
LONG $0x0cb24c8b // mov ecx, dword [rdx + 4*rsi + 12]
WORD $0xaf0f; BYTE $0xc8 // imul ecx, eax
LONG $0xb04c8941; BYTE $0x0c // mov dword [r8 + 4*rsi + 12], ecx
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB1_676
JMP LBB1_1109
LBB1_23:
WORD $0xff83; BYTE $0x06 // cmp edi, 6
JG LBB1_69
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JLE LBB1_107
WORD $0xff83; BYTE $0x04 // cmp edi, 4
JE LBB1_169
WORD $0xff83; BYTE $0x05 // cmp edi, 5
JE LBB1_172
WORD $0xff83; BYTE $0x06 // cmp edi, 6
JNE LBB1_1109
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1109
WORD $0x018b // mov eax, dword [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB1_30
LONG $0x920c8d4a // lea rcx, [rdx + 4*r10]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_451
LONG $0x900c8d4b // lea rcx, [r8 + 4*r10]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_451
LBB1_30:
WORD $0xf631 // xor esi, esi
LBB1_681:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB1_683
LBB1_682:
WORD $0x0c8b; BYTE $0xb2 // mov ecx, dword [rdx + 4*rsi]
WORD $0xc101 // add ecx, eax
LONG $0xb00c8941 // mov dword [r8 + 4*rsi], ecx
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB1_682
LBB1_683:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1109
LBB1_684:
WORD $0x0c8b; BYTE $0xb2 // mov ecx, dword [rdx + 4*rsi]
WORD $0xc101 // add ecx, eax
LONG $0xb00c8941 // mov dword [r8 + 4*rsi], ecx
LONG $0x04b24c8b // mov ecx, dword [rdx + 4*rsi + 4]
WORD $0xc101 // add ecx, eax
LONG $0xb04c8941; BYTE $0x04 // mov dword [r8 + 4*rsi + 4], ecx
LONG $0x08b24c8b // mov ecx, dword [rdx + 4*rsi + 8]
WORD $0xc101 // add ecx, eax
LONG $0xb04c8941; BYTE $0x08 // mov dword [r8 + 4*rsi + 8], ecx
LONG $0x0cb24c8b // mov ecx, dword [rdx + 4*rsi + 12]
WORD $0xc101 // add ecx, eax
LONG $0xb04c8941; BYTE $0x0c // mov dword [r8 + 4*rsi + 12], ecx
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB1_684
JMP LBB1_1109
LBB1_31:
WORD $0xff83; BYTE $0x06 // cmp edi, 6
JG LBB1_76
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JLE LBB1_112
WORD $0xff83; BYTE $0x04 // cmp edi, 4
JE LBB1_175
WORD $0xff83; BYTE $0x05 // cmp edi, 5
JE LBB1_178
WORD $0xff83; BYTE $0x06 // cmp edi, 6
JNE LBB1_1109
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1109
WORD $0x018b // mov eax, dword [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB1_38
LONG $0x920c8d4a // lea rcx, [rdx + 4*r10]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_454
LONG $0x900c8d4b // lea rcx, [r8 + 4*r10]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_454
LBB1_38:
WORD $0xf631 // xor esi, esi
LBB1_689:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB1_691
LBB1_690:
WORD $0x0c8b; BYTE $0xb2 // mov ecx, dword [rdx + 4*rsi]
WORD $0xc129 // sub ecx, eax
LONG $0xb00c8941 // mov dword [r8 + 4*rsi], ecx
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB1_690
LBB1_691:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1109
LBB1_692:
WORD $0x0c8b; BYTE $0xb2 // mov ecx, dword [rdx + 4*rsi]
WORD $0xc129 // sub ecx, eax
LONG $0xb00c8941 // mov dword [r8 + 4*rsi], ecx
LONG $0x04b24c8b // mov ecx, dword [rdx + 4*rsi + 4]
WORD $0xc129 // sub ecx, eax
LONG $0xb04c8941; BYTE $0x04 // mov dword [r8 + 4*rsi + 4], ecx
LONG $0x08b24c8b // mov ecx, dword [rdx + 4*rsi + 8]
WORD $0xc129 // sub ecx, eax
LONG $0xb04c8941; BYTE $0x08 // mov dword [r8 + 4*rsi + 8], ecx
LONG $0x0cb24c8b // mov ecx, dword [rdx + 4*rsi + 12]
WORD $0xc129 // sub ecx, eax
LONG $0xb04c8941; BYTE $0x0c // mov dword [r8 + 4*rsi + 12], ecx
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB1_692
JMP LBB1_1109
LBB1_39:
WORD $0xff83; BYTE $0x06 // cmp edi, 6
JG LBB1_83
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JLE LBB1_117
WORD $0xff83; BYTE $0x04 // cmp edi, 4
JE LBB1_181
WORD $0xff83; BYTE $0x05 // cmp edi, 5
JE LBB1_184
WORD $0xff83; BYTE $0x06 // cmp edi, 6
JNE LBB1_1109
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1109
WORD $0x018b // mov eax, dword [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB1_46
LONG $0x920c8d4a // lea rcx, [rdx + 4*r10]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_457
LONG $0x900c8d4b // lea rcx, [r8 + 4*r10]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_457
LBB1_46:
WORD $0xf631 // xor esi, esi
LBB1_697:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB1_699
LBB1_698:
WORD $0x0c8b; BYTE $0xb2 // mov ecx, dword [rdx + 4*rsi]
WORD $0xc101 // add ecx, eax
LONG $0xb00c8941 // mov dword [r8 + 4*rsi], ecx
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB1_698
LBB1_699:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1109
LBB1_700:
WORD $0x0c8b; BYTE $0xb2 // mov ecx, dword [rdx + 4*rsi]
WORD $0xc101 // add ecx, eax
LONG $0xb00c8941 // mov dword [r8 + 4*rsi], ecx
LONG $0x04b24c8b // mov ecx, dword [rdx + 4*rsi + 4]
WORD $0xc101 // add ecx, eax
LONG $0xb04c8941; BYTE $0x04 // mov dword [r8 + 4*rsi + 4], ecx
LONG $0x08b24c8b // mov ecx, dword [rdx + 4*rsi + 8]
WORD $0xc101 // add ecx, eax
LONG $0xb04c8941; BYTE $0x08 // mov dword [r8 + 4*rsi + 8], ecx
LONG $0x0cb24c8b // mov ecx, dword [rdx + 4*rsi + 12]
WORD $0xc101 // add ecx, eax
LONG $0xb04c8941; BYTE $0x0c // mov dword [r8 + 4*rsi + 12], ecx
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB1_700
JMP LBB1_1109
LBB1_47:
WORD $0xff83; BYTE $0x06 // cmp edi, 6
JG LBB1_90
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JLE LBB1_122
WORD $0xff83; BYTE $0x04 // cmp edi, 4
JE LBB1_187
WORD $0xff83; BYTE $0x05 // cmp edi, 5
JE LBB1_190
WORD $0xff83; BYTE $0x06 // cmp edi, 6
JNE LBB1_1109
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1109
WORD $0x018b // mov eax, dword [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB1_54
LONG $0x920c8d4a // lea rcx, [rdx + 4*r10]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_460
LONG $0x900c8d4b // lea rcx, [r8 + 4*r10]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_460
LBB1_54:
WORD $0xf631 // xor esi, esi
LBB1_705:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB1_707
LBB1_706:
WORD $0x0c8b; BYTE $0xb2 // mov ecx, dword [rdx + 4*rsi]
WORD $0xc129 // sub ecx, eax
LONG $0xb00c8941 // mov dword [r8 + 4*rsi], ecx
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB1_706
LBB1_707:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1109
LBB1_708:
WORD $0x0c8b; BYTE $0xb2 // mov ecx, dword [rdx + 4*rsi]
WORD $0xc129 // sub ecx, eax
LONG $0xb00c8941 // mov dword [r8 + 4*rsi], ecx
LONG $0x04b24c8b // mov ecx, dword [rdx + 4*rsi + 4]
WORD $0xc129 // sub ecx, eax
LONG $0xb04c8941; BYTE $0x04 // mov dword [r8 + 4*rsi + 4], ecx
LONG $0x08b24c8b // mov ecx, dword [rdx + 4*rsi + 8]
WORD $0xc129 // sub ecx, eax
LONG $0xb04c8941; BYTE $0x08 // mov dword [r8 + 4*rsi + 8], ecx
LONG $0x0cb24c8b // mov ecx, dword [rdx + 4*rsi + 12]
WORD $0xc129 // sub ecx, eax
LONG $0xb04c8941; BYTE $0x0c // mov dword [r8 + 4*rsi + 12], ecx
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB1_708
JMP LBB1_1109
LBB1_55:
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JLE LBB1_127
WORD $0xff83; BYTE $0x09 // cmp edi, 9
JE LBB1_193
WORD $0xff83; BYTE $0x0b // cmp edi, 11
JE LBB1_196
WORD $0xff83; BYTE $0x0c // cmp edi, 12
JNE LBB1_1109
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1109
LONG $0x0110fbc5 // vmovsd xmm0, qword [rcx]
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB1_61
LONG $0xc20c8d48 // lea rcx, [rdx + 8*rax]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_463
LONG $0xc00c8d49 // lea rcx, [r8 + 8*rax]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_463
LBB1_61:
WORD $0xc931 // xor ecx, ecx
LBB1_713:
WORD $0x8948; BYTE $0xce // mov rsi, rcx
WORD $0xf748; BYTE $0xd6 // not rsi
WORD $0x0148; BYTE $0xc6 // add rsi, rax
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x03e78348 // and rdi, 3
JE LBB1_715
LBB1_714:
LONG $0x0c59fbc5; BYTE $0xca // vmulsd xmm1, xmm0, qword [rdx + 8*rcx]
LONG $0x117bc1c4; WORD $0xc80c // vmovsd qword [r8 + 8*rcx], xmm1
LONG $0x01c18348 // add rcx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB1_714
LBB1_715:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB1_1109
LBB1_716:
LONG $0x0c59fbc5; BYTE $0xca // vmulsd xmm1, xmm0, qword [rdx + 8*rcx]
LONG $0x117bc1c4; WORD $0xc80c // vmovsd qword [r8 + 8*rcx], xmm1
LONG $0x4c59fbc5; WORD $0x08ca // vmulsd xmm1, xmm0, qword [rdx + 8*rcx + 8]
LONG $0x117bc1c4; WORD $0xc84c; BYTE $0x08 // vmovsd qword [r8 + 8*rcx + 8], xmm1
LONG $0x4c59fbc5; WORD $0x10ca // vmulsd xmm1, xmm0, qword [rdx + 8*rcx + 16]
LONG $0x117bc1c4; WORD $0xc84c; BYTE $0x10 // vmovsd qword [r8 + 8*rcx + 16], xmm1
LONG $0x4c59fbc5; WORD $0x18ca // vmulsd xmm1, xmm0, qword [rdx + 8*rcx + 24]
LONG $0x117bc1c4; WORD $0xc84c; BYTE $0x18 // vmovsd qword [r8 + 8*rcx + 24], xmm1
LONG $0x04c18348 // add rcx, 4
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JNE LBB1_716
JMP LBB1_1109
LBB1_62:
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JLE LBB1_132
WORD $0xff83; BYTE $0x09 // cmp edi, 9
JE LBB1_199
WORD $0xff83; BYTE $0x0b // cmp edi, 11
JE LBB1_202
WORD $0xff83; BYTE $0x0c // cmp edi, 12
JNE LBB1_1109
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1109
LONG $0x0110fbc5 // vmovsd xmm0, qword [rcx]
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB1_68
LONG $0xc20c8d48 // lea rcx, [rdx + 8*rax]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_466
LONG $0xc00c8d49 // lea rcx, [r8 + 8*rax]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_466
LBB1_68:
WORD $0xc931 // xor ecx, ecx
LBB1_721:
WORD $0x8948; BYTE $0xce // mov rsi, rcx
WORD $0xf748; BYTE $0xd6 // not rsi
WORD $0x0148; BYTE $0xc6 // add rsi, rax
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x03e78348 // and rdi, 3
JE LBB1_723
LBB1_722:
LONG $0x0c59fbc5; BYTE $0xca // vmulsd xmm1, xmm0, qword [rdx + 8*rcx]
LONG $0x117bc1c4; WORD $0xc80c // vmovsd qword [r8 + 8*rcx], xmm1
LONG $0x01c18348 // add rcx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB1_722
LBB1_723:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB1_1109
LBB1_724:
LONG $0x0c59fbc5; BYTE $0xca // vmulsd xmm1, xmm0, qword [rdx + 8*rcx]
LONG $0x117bc1c4; WORD $0xc80c // vmovsd qword [r8 + 8*rcx], xmm1
LONG $0x4c59fbc5; WORD $0x08ca // vmulsd xmm1, xmm0, qword [rdx + 8*rcx + 8]
LONG $0x117bc1c4; WORD $0xc84c; BYTE $0x08 // vmovsd qword [r8 + 8*rcx + 8], xmm1
LONG $0x4c59fbc5; WORD $0x10ca // vmulsd xmm1, xmm0, qword [rdx + 8*rcx + 16]
LONG $0x117bc1c4; WORD $0xc84c; BYTE $0x10 // vmovsd qword [r8 + 8*rcx + 16], xmm1
LONG $0x4c59fbc5; WORD $0x18ca // vmulsd xmm1, xmm0, qword [rdx + 8*rcx + 24]
LONG $0x117bc1c4; WORD $0xc84c; BYTE $0x18 // vmovsd qword [r8 + 8*rcx + 24], xmm1
LONG $0x04c18348 // add rcx, 4
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JNE LBB1_724
JMP LBB1_1109
LBB1_69:
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JLE LBB1_137
WORD $0xff83; BYTE $0x09 // cmp edi, 9
JE LBB1_205
WORD $0xff83; BYTE $0x0b // cmp edi, 11
JE LBB1_208
WORD $0xff83; BYTE $0x0c // cmp edi, 12
JNE LBB1_1109
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1109
LONG $0x0110fbc5 // vmovsd xmm0, qword [rcx]
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB1_75
LONG $0xc20c8d48 // lea rcx, [rdx + 8*rax]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_469
LONG $0xc00c8d49 // lea rcx, [r8 + 8*rax]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_469
LBB1_75:
WORD $0xc931 // xor ecx, ecx
LBB1_729:
WORD $0x8948; BYTE $0xce // mov rsi, rcx
WORD $0xf748; BYTE $0xd6 // not rsi
WORD $0x0148; BYTE $0xc6 // add rsi, rax
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x03e78348 // and rdi, 3
JE LBB1_731
LBB1_730:
LONG $0x0c58fbc5; BYTE $0xca // vaddsd xmm1, xmm0, qword [rdx + 8*rcx]
LONG $0x117bc1c4; WORD $0xc80c // vmovsd qword [r8 + 8*rcx], xmm1
LONG $0x01c18348 // add rcx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB1_730
LBB1_731:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB1_1109
LBB1_732:
LONG $0x0c58fbc5; BYTE $0xca // vaddsd xmm1, xmm0, qword [rdx + 8*rcx]
LONG $0x117bc1c4; WORD $0xc80c // vmovsd qword [r8 + 8*rcx], xmm1
LONG $0x4c58fbc5; WORD $0x08ca // vaddsd xmm1, xmm0, qword [rdx + 8*rcx + 8]
LONG $0x117bc1c4; WORD $0xc84c; BYTE $0x08 // vmovsd qword [r8 + 8*rcx + 8], xmm1
LONG $0x4c58fbc5; WORD $0x10ca // vaddsd xmm1, xmm0, qword [rdx + 8*rcx + 16]
LONG $0x117bc1c4; WORD $0xc84c; BYTE $0x10 // vmovsd qword [r8 + 8*rcx + 16], xmm1
LONG $0x4c58fbc5; WORD $0x18ca // vaddsd xmm1, xmm0, qword [rdx + 8*rcx + 24]
LONG $0x117bc1c4; WORD $0xc84c; BYTE $0x18 // vmovsd qword [r8 + 8*rcx + 24], xmm1
LONG $0x04c18348 // add rcx, 4
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JNE LBB1_732
JMP LBB1_1109
LBB1_76:
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JLE LBB1_142
WORD $0xff83; BYTE $0x09 // cmp edi, 9
JE LBB1_211
WORD $0xff83; BYTE $0x0b // cmp edi, 11
JE LBB1_214
WORD $0xff83; BYTE $0x0c // cmp edi, 12
JNE LBB1_1109
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1109
LONG $0x0110fbc5 // vmovsd xmm0, qword [rcx]
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB1_82
LONG $0xc20c8d48 // lea rcx, [rdx + 8*rax]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_472
LONG $0xc00c8d49 // lea rcx, [r8 + 8*rax]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_472
LBB1_82:
WORD $0xc931 // xor ecx, ecx
LBB1_737:
WORD $0x8948; BYTE $0xce // mov rsi, rcx
WORD $0xf748; BYTE $0xd6 // not rsi
WORD $0x0148; BYTE $0xc6 // add rsi, rax
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x03e78348 // and rdi, 3
JE LBB1_739
LBB1_738:
LONG $0x0c10fbc5; BYTE $0xca // vmovsd xmm1, qword [rdx + 8*rcx]
LONG $0xc85cf3c5 // vsubsd xmm1, xmm1, xmm0
LONG $0x117bc1c4; WORD $0xc80c // vmovsd qword [r8 + 8*rcx], xmm1
LONG $0x01c18348 // add rcx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB1_738
LBB1_739:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB1_1109
LBB1_740:
LONG $0x0c10fbc5; BYTE $0xca // vmovsd xmm1, qword [rdx + 8*rcx]
LONG $0xc85cf3c5 // vsubsd xmm1, xmm1, xmm0
LONG $0x117bc1c4; WORD $0xc80c // vmovsd qword [r8 + 8*rcx], xmm1
LONG $0x4c10fbc5; WORD $0x08ca // vmovsd xmm1, qword [rdx + 8*rcx + 8]
LONG $0xc85cf3c5 // vsubsd xmm1, xmm1, xmm0
LONG $0x117bc1c4; WORD $0xc84c; BYTE $0x08 // vmovsd qword [r8 + 8*rcx + 8], xmm1
LONG $0x4c10fbc5; WORD $0x10ca // vmovsd xmm1, qword [rdx + 8*rcx + 16]
LONG $0xc85cf3c5 // vsubsd xmm1, xmm1, xmm0
LONG $0x117bc1c4; WORD $0xc84c; BYTE $0x10 // vmovsd qword [r8 + 8*rcx + 16], xmm1
LONG $0x4c10fbc5; WORD $0x18ca // vmovsd xmm1, qword [rdx + 8*rcx + 24]
LONG $0xc85cf3c5 // vsubsd xmm1, xmm1, xmm0
LONG $0x117bc1c4; WORD $0xc84c; BYTE $0x18 // vmovsd qword [r8 + 8*rcx + 24], xmm1
LONG $0x04c18348 // add rcx, 4
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JNE LBB1_740
JMP LBB1_1109
LBB1_83:
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JLE LBB1_147
WORD $0xff83; BYTE $0x09 // cmp edi, 9
JE LBB1_217
WORD $0xff83; BYTE $0x0b // cmp edi, 11
JE LBB1_220
WORD $0xff83; BYTE $0x0c // cmp edi, 12
JNE LBB1_1109
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1109
LONG $0x0110fbc5 // vmovsd xmm0, qword [rcx]
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB1_89
LONG $0xc20c8d48 // lea rcx, [rdx + 8*rax]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_475
LONG $0xc00c8d49 // lea rcx, [r8 + 8*rax]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_475
LBB1_89:
WORD $0xc931 // xor ecx, ecx
LBB1_745:
WORD $0x8948; BYTE $0xce // mov rsi, rcx
WORD $0xf748; BYTE $0xd6 // not rsi
WORD $0x0148; BYTE $0xc6 // add rsi, rax
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x03e78348 // and rdi, 3
JE LBB1_747
LBB1_746:
LONG $0x0c58fbc5; BYTE $0xca // vaddsd xmm1, xmm0, qword [rdx + 8*rcx]
LONG $0x117bc1c4; WORD $0xc80c // vmovsd qword [r8 + 8*rcx], xmm1
LONG $0x01c18348 // add rcx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB1_746
LBB1_747:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB1_1109
LBB1_748:
LONG $0x0c58fbc5; BYTE $0xca // vaddsd xmm1, xmm0, qword [rdx + 8*rcx]
LONG $0x117bc1c4; WORD $0xc80c // vmovsd qword [r8 + 8*rcx], xmm1
LONG $0x4c58fbc5; WORD $0x08ca // vaddsd xmm1, xmm0, qword [rdx + 8*rcx + 8]
LONG $0x117bc1c4; WORD $0xc84c; BYTE $0x08 // vmovsd qword [r8 + 8*rcx + 8], xmm1
LONG $0x4c58fbc5; WORD $0x10ca // vaddsd xmm1, xmm0, qword [rdx + 8*rcx + 16]
LONG $0x117bc1c4; WORD $0xc84c; BYTE $0x10 // vmovsd qword [r8 + 8*rcx + 16], xmm1
LONG $0x4c58fbc5; WORD $0x18ca // vaddsd xmm1, xmm0, qword [rdx + 8*rcx + 24]
LONG $0x117bc1c4; WORD $0xc84c; BYTE $0x18 // vmovsd qword [r8 + 8*rcx + 24], xmm1
LONG $0x04c18348 // add rcx, 4
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JNE LBB1_748
JMP LBB1_1109
LBB1_90:
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JLE LBB1_152
WORD $0xff83; BYTE $0x09 // cmp edi, 9
JE LBB1_223
WORD $0xff83; BYTE $0x0b // cmp edi, 11
JE LBB1_226
WORD $0xff83; BYTE $0x0c // cmp edi, 12
JNE LBB1_1109
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1109
LONG $0x0110fbc5 // vmovsd xmm0, qword [rcx]
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB1_96
LONG $0xc20c8d48 // lea rcx, [rdx + 8*rax]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_478
LONG $0xc00c8d49 // lea rcx, [r8 + 8*rax]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_478
LBB1_96:
WORD $0xc931 // xor ecx, ecx
LBB1_753:
WORD $0x8948; BYTE $0xce // mov rsi, rcx
WORD $0xf748; BYTE $0xd6 // not rsi
WORD $0x0148; BYTE $0xc6 // add rsi, rax
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x03e78348 // and rdi, 3
JE LBB1_755
LBB1_754:
LONG $0x0c10fbc5; BYTE $0xca // vmovsd xmm1, qword [rdx + 8*rcx]
LONG $0xc85cf3c5 // vsubsd xmm1, xmm1, xmm0
LONG $0x117bc1c4; WORD $0xc80c // vmovsd qword [r8 + 8*rcx], xmm1
LONG $0x01c18348 // add rcx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB1_754
LBB1_755:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB1_1109
LBB1_756:
LONG $0x0c10fbc5; BYTE $0xca // vmovsd xmm1, qword [rdx + 8*rcx]
LONG $0xc85cf3c5 // vsubsd xmm1, xmm1, xmm0
LONG $0x117bc1c4; WORD $0xc80c // vmovsd qword [r8 + 8*rcx], xmm1
LONG $0x4c10fbc5; WORD $0x08ca // vmovsd xmm1, qword [rdx + 8*rcx + 8]
LONG $0xc85cf3c5 // vsubsd xmm1, xmm1, xmm0
LONG $0x117bc1c4; WORD $0xc84c; BYTE $0x08 // vmovsd qword [r8 + 8*rcx + 8], xmm1
LONG $0x4c10fbc5; WORD $0x10ca // vmovsd xmm1, qword [rdx + 8*rcx + 16]
LONG $0xc85cf3c5 // vsubsd xmm1, xmm1, xmm0
LONG $0x117bc1c4; WORD $0xc84c; BYTE $0x10 // vmovsd qword [r8 + 8*rcx + 16], xmm1
LONG $0x4c10fbc5; WORD $0x18ca // vmovsd xmm1, qword [rdx + 8*rcx + 24]
LONG $0xc85cf3c5 // vsubsd xmm1, xmm1, xmm0
LONG $0x117bc1c4; WORD $0xc84c; BYTE $0x18 // vmovsd qword [r8 + 8*rcx + 24], xmm1
LONG $0x04c18348 // add rcx, 4
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JNE LBB1_756
JMP LBB1_1109
LBB1_97:
WORD $0xff83; BYTE $0x02 // cmp edi, 2
JE LBB1_229
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JNE LBB1_1109
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1109
WORD $0x098a // mov cl, byte [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB1_101
LONG $0x12048d4a // lea rax, [rdx + r10]
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
JBE LBB1_481
LONG $0x10048d4b // lea rax, [r8 + r10]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB1_481
LBB1_101:
WORD $0xff31 // xor edi, edi
LBB1_627:
WORD $0x8949; BYTE $0xf9 // mov r9, rdi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd6 // mov rsi, r10
LONG $0x03e68348 // and rsi, 3
JE LBB1_629
LBB1_628:
LONG $0x3a04b60f // movzx eax, byte [rdx + rdi]
WORD $0xe1f6 // mul cl
LONG $0x38048841 // mov byte [r8 + rdi], al
LONG $0x01c78348 // add rdi, 1
LONG $0xffc68348 // add rsi, -1
JNE LBB1_628
LBB1_629:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1109
LBB1_630:
LONG $0x3a04b60f // movzx eax, byte [rdx + rdi]
WORD $0xe1f6 // mul cl
LONG $0x38048841 // mov byte [r8 + rdi], al
LONG $0x3a44b60f; BYTE $0x01 // movzx eax, byte [rdx + rdi + 1]
WORD $0xe1f6 // mul cl
LONG $0x38448841; BYTE $0x01 // mov byte [r8 + rdi + 1], al
LONG $0x3a44b60f; BYTE $0x02 // movzx eax, byte [rdx + rdi + 2]
WORD $0xe1f6 // mul cl
LONG $0x38448841; BYTE $0x02 // mov byte [r8 + rdi + 2], al
LONG $0x3a44b60f; BYTE $0x03 // movzx eax, byte [rdx + rdi + 3]
WORD $0xe1f6 // mul cl
LONG $0x38448841; BYTE $0x03 // mov byte [r8 + rdi + 3], al
LONG $0x04c78348 // add rdi, 4
WORD $0x3949; BYTE $0xfa // cmp r10, rdi
JNE LBB1_630
JMP LBB1_1109
LBB1_102:
WORD $0xff83; BYTE $0x02 // cmp edi, 2
JE LBB1_232
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JNE LBB1_1109
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1109
WORD $0x098a // mov cl, byte [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB1_106
LONG $0x12048d4a // lea rax, [rdx + r10]
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
JBE LBB1_483
LONG $0x10048d4b // lea rax, [r8 + r10]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB1_483
LBB1_106:
WORD $0xff31 // xor edi, edi
LBB1_637:
WORD $0x8949; BYTE $0xf9 // mov r9, rdi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd6 // mov rsi, r10
LONG $0x03e68348 // and rsi, 3
JE LBB1_639
LBB1_638:
LONG $0x3a04b60f // movzx eax, byte [rdx + rdi]
WORD $0xe1f6 // mul cl
LONG $0x38048841 // mov byte [r8 + rdi], al
LONG $0x01c78348 // add rdi, 1
LONG $0xffc68348 // add rsi, -1
JNE LBB1_638
LBB1_639:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1109
LBB1_640:
LONG $0x3a04b60f // movzx eax, byte [rdx + rdi]
WORD $0xe1f6 // mul cl
LONG $0x38048841 // mov byte [r8 + rdi], al
LONG $0x3a44b60f; BYTE $0x01 // movzx eax, byte [rdx + rdi + 1]
WORD $0xe1f6 // mul cl
LONG $0x38448841; BYTE $0x01 // mov byte [r8 + rdi + 1], al
LONG $0x3a44b60f; BYTE $0x02 // movzx eax, byte [rdx + rdi + 2]
WORD $0xe1f6 // mul cl
LONG $0x38448841; BYTE $0x02 // mov byte [r8 + rdi + 2], al
LONG $0x3a44b60f; BYTE $0x03 // movzx eax, byte [rdx + rdi + 3]
WORD $0xe1f6 // mul cl
LONG $0x38448841; BYTE $0x03 // mov byte [r8 + rdi + 3], al
LONG $0x04c78348 // add rdi, 4
WORD $0x3949; BYTE $0xfa // cmp r10, rdi
JNE LBB1_640
JMP LBB1_1109
LBB1_107:
WORD $0xff83; BYTE $0x02 // cmp edi, 2
JE LBB1_235
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JNE LBB1_1109
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1109
WORD $0x018a // mov al, byte [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x80f98141; WORD $0x0000; BYTE $0x00 // cmp r9d, 128
JB LBB1_111
LONG $0x120c8d4a // lea rcx, [rdx + r10]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_485
LONG $0x100c8d4b // lea rcx, [r8 + r10]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_485
LBB1_111:
WORD $0xf631 // xor esi, esi
LBB1_761:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB1_763
LBB1_762:
LONG $0x320cb60f // movzx ecx, byte [rdx + rsi]
WORD $0xc100 // add cl, al
LONG $0x300c8841 // mov byte [r8 + rsi], cl
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB1_762
LBB1_763:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1109
LBB1_764:
LONG $0x320cb60f // movzx ecx, byte [rdx + rsi]
WORD $0xc100 // add cl, al
LONG $0x300c8841 // mov byte [r8 + rsi], cl
LONG $0x324cb60f; BYTE $0x01 // movzx ecx, byte [rdx + rsi + 1]
WORD $0xc100 // add cl, al
LONG $0x304c8841; BYTE $0x01 // mov byte [r8 + rsi + 1], cl
LONG $0x324cb60f; BYTE $0x02 // movzx ecx, byte [rdx + rsi + 2]
WORD $0xc100 // add cl, al
LONG $0x304c8841; BYTE $0x02 // mov byte [r8 + rsi + 2], cl
LONG $0x324cb60f; BYTE $0x03 // movzx ecx, byte [rdx + rsi + 3]
WORD $0xc100 // add cl, al
LONG $0x304c8841; BYTE $0x03 // mov byte [r8 + rsi + 3], cl
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB1_764
JMP LBB1_1109
LBB1_112:
WORD $0xff83; BYTE $0x02 // cmp edi, 2
JE LBB1_238
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JNE LBB1_1109
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1109
WORD $0x018a // mov al, byte [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x80f98141; WORD $0x0000; BYTE $0x00 // cmp r9d, 128
JB LBB1_116
LONG $0x120c8d4a // lea rcx, [rdx + r10]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_488
LONG $0x100c8d4b // lea rcx, [r8 + r10]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_488
LBB1_116:
WORD $0xf631 // xor esi, esi
LBB1_769:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB1_771
LBB1_770:
LONG $0x320cb60f // movzx ecx, byte [rdx + rsi]
WORD $0xc128 // sub cl, al
LONG $0x300c8841 // mov byte [r8 + rsi], cl
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB1_770
LBB1_771:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1109
LBB1_772:
LONG $0x320cb60f // movzx ecx, byte [rdx + rsi]
WORD $0xc128 // sub cl, al
LONG $0x300c8841 // mov byte [r8 + rsi], cl
LONG $0x324cb60f; BYTE $0x01 // movzx ecx, byte [rdx + rsi + 1]
WORD $0xc128 // sub cl, al
LONG $0x304c8841; BYTE $0x01 // mov byte [r8 + rsi + 1], cl
LONG $0x324cb60f; BYTE $0x02 // movzx ecx, byte [rdx + rsi + 2]
WORD $0xc128 // sub cl, al
LONG $0x304c8841; BYTE $0x02 // mov byte [r8 + rsi + 2], cl
LONG $0x324cb60f; BYTE $0x03 // movzx ecx, byte [rdx + rsi + 3]
WORD $0xc128 // sub cl, al
LONG $0x304c8841; BYTE $0x03 // mov byte [r8 + rsi + 3], cl
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB1_772
JMP LBB1_1109
LBB1_117:
WORD $0xff83; BYTE $0x02 // cmp edi, 2
JE LBB1_241
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JNE LBB1_1109
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1109
WORD $0x018a // mov al, byte [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x80f98141; WORD $0x0000; BYTE $0x00 // cmp r9d, 128
JB LBB1_121
LONG $0x120c8d4a // lea rcx, [rdx + r10]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_491
LONG $0x100c8d4b // lea rcx, [r8 + r10]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_491
LBB1_121:
WORD $0xf631 // xor esi, esi
LBB1_777:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB1_779
LBB1_778:
LONG $0x320cb60f // movzx ecx, byte [rdx + rsi]
WORD $0xc100 // add cl, al
LONG $0x300c8841 // mov byte [r8 + rsi], cl
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB1_778
LBB1_779:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1109
LBB1_780:
LONG $0x320cb60f // movzx ecx, byte [rdx + rsi]
WORD $0xc100 // add cl, al
LONG $0x300c8841 // mov byte [r8 + rsi], cl
LONG $0x324cb60f; BYTE $0x01 // movzx ecx, byte [rdx + rsi + 1]
WORD $0xc100 // add cl, al
LONG $0x304c8841; BYTE $0x01 // mov byte [r8 + rsi + 1], cl
LONG $0x324cb60f; BYTE $0x02 // movzx ecx, byte [rdx + rsi + 2]
WORD $0xc100 // add cl, al
LONG $0x304c8841; BYTE $0x02 // mov byte [r8 + rsi + 2], cl
LONG $0x324cb60f; BYTE $0x03 // movzx ecx, byte [rdx + rsi + 3]
WORD $0xc100 // add cl, al
LONG $0x304c8841; BYTE $0x03 // mov byte [r8 + rsi + 3], cl
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB1_780
JMP LBB1_1109
LBB1_122:
WORD $0xff83; BYTE $0x02 // cmp edi, 2
JE LBB1_244
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JNE LBB1_1109
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1109
WORD $0x018a // mov al, byte [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x80f98141; WORD $0x0000; BYTE $0x00 // cmp r9d, 128
JB LBB1_126
LONG $0x120c8d4a // lea rcx, [rdx + r10]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_494
LONG $0x100c8d4b // lea rcx, [r8 + r10]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_494
LBB1_126:
WORD $0xf631 // xor esi, esi
LBB1_785:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB1_787
LBB1_786:
LONG $0x320cb60f // movzx ecx, byte [rdx + rsi]
WORD $0xc128 // sub cl, al
LONG $0x300c8841 // mov byte [r8 + rsi], cl
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB1_786
LBB1_787:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1109
LBB1_788:
LONG $0x320cb60f // movzx ecx, byte [rdx + rsi]
WORD $0xc128 // sub cl, al
LONG $0x300c8841 // mov byte [r8 + rsi], cl
LONG $0x324cb60f; BYTE $0x01 // movzx ecx, byte [rdx + rsi + 1]
WORD $0xc128 // sub cl, al
LONG $0x304c8841; BYTE $0x01 // mov byte [r8 + rsi + 1], cl
LONG $0x324cb60f; BYTE $0x02 // movzx ecx, byte [rdx + rsi + 2]
WORD $0xc128 // sub cl, al
LONG $0x304c8841; BYTE $0x02 // mov byte [r8 + rsi + 2], cl
LONG $0x324cb60f; BYTE $0x03 // movzx ecx, byte [rdx + rsi + 3]
WORD $0xc128 // sub cl, al
LONG $0x304c8841; BYTE $0x03 // mov byte [r8 + rsi + 3], cl
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB1_788
JMP LBB1_1109
LBB1_127:
WORD $0xff83; BYTE $0x07 // cmp edi, 7
JE LBB1_247
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JNE LBB1_1109
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1109
WORD $0x8b48; BYTE $0x01 // mov rax, qword [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB1_131
LONG $0xd20c8d4a // lea rcx, [rdx + 8*r10]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_497
LONG $0xd00c8d4b // lea rcx, [r8 + 8*r10]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_497
LBB1_131:
WORD $0xf631 // xor esi, esi
LBB1_793:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB1_795
LBB1_794:
LONG $0xf20c8b48 // mov rcx, qword [rdx + 8*rsi]
LONG $0xc8af0f48 // imul rcx, rax
LONG $0xf00c8949 // mov qword [r8 + 8*rsi], rcx
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB1_794
LBB1_795:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1109
LBB1_796:
LONG $0xf20c8b48 // mov rcx, qword [rdx + 8*rsi]
LONG $0xc8af0f48 // imul rcx, rax
LONG $0xf00c8949 // mov qword [r8 + 8*rsi], rcx
LONG $0xf24c8b48; BYTE $0x08 // mov rcx, qword [rdx + 8*rsi + 8]
LONG $0xc8af0f48 // imul rcx, rax
LONG $0xf04c8949; BYTE $0x08 // mov qword [r8 + 8*rsi + 8], rcx
LONG $0xf24c8b48; BYTE $0x10 // mov rcx, qword [rdx + 8*rsi + 16]
LONG $0xc8af0f48 // imul rcx, rax
LONG $0xf04c8949; BYTE $0x10 // mov qword [r8 + 8*rsi + 16], rcx
LONG $0xf24c8b48; BYTE $0x18 // mov rcx, qword [rdx + 8*rsi + 24]
LONG $0xc8af0f48 // imul rcx, rax
LONG $0xf04c8949; BYTE $0x18 // mov qword [r8 + 8*rsi + 24], rcx
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB1_796
JMP LBB1_1109
LBB1_132:
WORD $0xff83; BYTE $0x07 // cmp edi, 7
JE LBB1_250
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JNE LBB1_1109
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1109
WORD $0x8b48; BYTE $0x01 // mov rax, qword [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB1_136
LONG $0xd20c8d4a // lea rcx, [rdx + 8*r10]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_500
LONG $0xd00c8d4b // lea rcx, [r8 + 8*r10]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_500
LBB1_136:
WORD $0xf631 // xor esi, esi
LBB1_801:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB1_803
LBB1_802:
LONG $0xf20c8b48 // mov rcx, qword [rdx + 8*rsi]
LONG $0xc8af0f48 // imul rcx, rax
LONG $0xf00c8949 // mov qword [r8 + 8*rsi], rcx
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB1_802
LBB1_803:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1109
LBB1_804:
LONG $0xf20c8b48 // mov rcx, qword [rdx + 8*rsi]
LONG $0xc8af0f48 // imul rcx, rax
LONG $0xf00c8949 // mov qword [r8 + 8*rsi], rcx
LONG $0xf24c8b48; BYTE $0x08 // mov rcx, qword [rdx + 8*rsi + 8]
LONG $0xc8af0f48 // imul rcx, rax
LONG $0xf04c8949; BYTE $0x08 // mov qword [r8 + 8*rsi + 8], rcx
LONG $0xf24c8b48; BYTE $0x10 // mov rcx, qword [rdx + 8*rsi + 16]
LONG $0xc8af0f48 // imul rcx, rax
LONG $0xf04c8949; BYTE $0x10 // mov qword [r8 + 8*rsi + 16], rcx
LONG $0xf24c8b48; BYTE $0x18 // mov rcx, qword [rdx + 8*rsi + 24]
LONG $0xc8af0f48 // imul rcx, rax
LONG $0xf04c8949; BYTE $0x18 // mov qword [r8 + 8*rsi + 24], rcx
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB1_804
JMP LBB1_1109
LBB1_137:
WORD $0xff83; BYTE $0x07 // cmp edi, 7
JE LBB1_253
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JNE LBB1_1109
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1109
WORD $0x8b48; BYTE $0x01 // mov rax, qword [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB1_141
LONG $0xd20c8d4a // lea rcx, [rdx + 8*r10]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_503
LONG $0xd00c8d4b // lea rcx, [r8 + 8*r10]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_503
LBB1_141:
WORD $0xf631 // xor esi, esi
LBB1_809:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB1_811
LBB1_810:
LONG $0xf20c8b48 // mov rcx, qword [rdx + 8*rsi]
WORD $0x0148; BYTE $0xc1 // add rcx, rax
LONG $0xf00c8949 // mov qword [r8 + 8*rsi], rcx
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB1_810
LBB1_811:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1109
LBB1_812:
LONG $0xf20c8b48 // mov rcx, qword [rdx + 8*rsi]
WORD $0x0148; BYTE $0xc1 // add rcx, rax
LONG $0xf00c8949 // mov qword [r8 + 8*rsi], rcx
LONG $0xf24c8b48; BYTE $0x08 // mov rcx, qword [rdx + 8*rsi + 8]
WORD $0x0148; BYTE $0xc1 // add rcx, rax
LONG $0xf04c8949; BYTE $0x08 // mov qword [r8 + 8*rsi + 8], rcx
LONG $0xf24c8b48; BYTE $0x10 // mov rcx, qword [rdx + 8*rsi + 16]
WORD $0x0148; BYTE $0xc1 // add rcx, rax
LONG $0xf04c8949; BYTE $0x10 // mov qword [r8 + 8*rsi + 16], rcx
LONG $0xf24c8b48; BYTE $0x18 // mov rcx, qword [rdx + 8*rsi + 24]
WORD $0x0148; BYTE $0xc1 // add rcx, rax
LONG $0xf04c8949; BYTE $0x18 // mov qword [r8 + 8*rsi + 24], rcx
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB1_812
JMP LBB1_1109
LBB1_142:
WORD $0xff83; BYTE $0x07 // cmp edi, 7
JE LBB1_256
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JNE LBB1_1109
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1109
WORD $0x8b48; BYTE $0x01 // mov rax, qword [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB1_146
LONG $0xd20c8d4a // lea rcx, [rdx + 8*r10]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_506
LONG $0xd00c8d4b // lea rcx, [r8 + 8*r10]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_506
LBB1_146:
WORD $0xf631 // xor esi, esi
LBB1_817:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB1_819
LBB1_818:
LONG $0xf20c8b48 // mov rcx, qword [rdx + 8*rsi]
WORD $0x2948; BYTE $0xc1 // sub rcx, rax
LONG $0xf00c8949 // mov qword [r8 + 8*rsi], rcx
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB1_818
LBB1_819:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1109
LBB1_820:
LONG $0xf20c8b48 // mov rcx, qword [rdx + 8*rsi]
WORD $0x2948; BYTE $0xc1 // sub rcx, rax
LONG $0xf00c8949 // mov qword [r8 + 8*rsi], rcx
LONG $0xf24c8b48; BYTE $0x08 // mov rcx, qword [rdx + 8*rsi + 8]
WORD $0x2948; BYTE $0xc1 // sub rcx, rax
LONG $0xf04c8949; BYTE $0x08 // mov qword [r8 + 8*rsi + 8], rcx
LONG $0xf24c8b48; BYTE $0x10 // mov rcx, qword [rdx + 8*rsi + 16]
WORD $0x2948; BYTE $0xc1 // sub rcx, rax
LONG $0xf04c8949; BYTE $0x10 // mov qword [r8 + 8*rsi + 16], rcx
LONG $0xf24c8b48; BYTE $0x18 // mov rcx, qword [rdx + 8*rsi + 24]
WORD $0x2948; BYTE $0xc1 // sub rcx, rax
LONG $0xf04c8949; BYTE $0x18 // mov qword [r8 + 8*rsi + 24], rcx
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB1_820
JMP LBB1_1109
LBB1_147:
WORD $0xff83; BYTE $0x07 // cmp edi, 7
JE LBB1_259
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JNE LBB1_1109
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1109
WORD $0x8b48; BYTE $0x01 // mov rax, qword [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB1_151
LONG $0xd20c8d4a // lea rcx, [rdx + 8*r10]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_509
LONG $0xd00c8d4b // lea rcx, [r8 + 8*r10]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_509
LBB1_151:
WORD $0xf631 // xor esi, esi
LBB1_825:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB1_827
LBB1_826:
LONG $0xf20c8b48 // mov rcx, qword [rdx + 8*rsi]
WORD $0x0148; BYTE $0xc1 // add rcx, rax
LONG $0xf00c8949 // mov qword [r8 + 8*rsi], rcx
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB1_826
LBB1_827:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1109
LBB1_828:
LONG $0xf20c8b48 // mov rcx, qword [rdx + 8*rsi]
WORD $0x0148; BYTE $0xc1 // add rcx, rax
LONG $0xf00c8949 // mov qword [r8 + 8*rsi], rcx
LONG $0xf24c8b48; BYTE $0x08 // mov rcx, qword [rdx + 8*rsi + 8]
WORD $0x0148; BYTE $0xc1 // add rcx, rax
LONG $0xf04c8949; BYTE $0x08 // mov qword [r8 + 8*rsi + 8], rcx
LONG $0xf24c8b48; BYTE $0x10 // mov rcx, qword [rdx + 8*rsi + 16]
WORD $0x0148; BYTE $0xc1 // add rcx, rax
LONG $0xf04c8949; BYTE $0x10 // mov qword [r8 + 8*rsi + 16], rcx
LONG $0xf24c8b48; BYTE $0x18 // mov rcx, qword [rdx + 8*rsi + 24]
WORD $0x0148; BYTE $0xc1 // add rcx, rax
LONG $0xf04c8949; BYTE $0x18 // mov qword [r8 + 8*rsi + 24], rcx
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB1_828
JMP LBB1_1109
LBB1_152:
WORD $0xff83; BYTE $0x07 // cmp edi, 7
JE LBB1_262
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JNE LBB1_1109
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1109
WORD $0x8b48; BYTE $0x01 // mov rax, qword [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB1_156
LONG $0xd20c8d4a // lea rcx, [rdx + 8*r10]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_512
LONG $0xd00c8d4b // lea rcx, [r8 + 8*r10]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_512
LBB1_156:
WORD $0xf631 // xor esi, esi
LBB1_833:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB1_835
LBB1_834:
LONG $0xf20c8b48 // mov rcx, qword [rdx + 8*rsi]
WORD $0x2948; BYTE $0xc1 // sub rcx, rax
LONG $0xf00c8949 // mov qword [r8 + 8*rsi], rcx
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB1_834
LBB1_835:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1109
LBB1_836:
LONG $0xf20c8b48 // mov rcx, qword [rdx + 8*rsi]
WORD $0x2948; BYTE $0xc1 // sub rcx, rax
LONG $0xf00c8949 // mov qword [r8 + 8*rsi], rcx
LONG $0xf24c8b48; BYTE $0x08 // mov rcx, qword [rdx + 8*rsi + 8]
WORD $0x2948; BYTE $0xc1 // sub rcx, rax
LONG $0xf04c8949; BYTE $0x08 // mov qword [r8 + 8*rsi + 8], rcx
LONG $0xf24c8b48; BYTE $0x10 // mov rcx, qword [rdx + 8*rsi + 16]
WORD $0x2948; BYTE $0xc1 // sub rcx, rax
LONG $0xf04c8949; BYTE $0x10 // mov qword [r8 + 8*rsi + 16], rcx
LONG $0xf24c8b48; BYTE $0x18 // mov rcx, qword [rdx + 8*rsi + 24]
WORD $0x2948; BYTE $0xc1 // sub rcx, rax
LONG $0xf04c8949; BYTE $0x18 // mov qword [r8 + 8*rsi + 24], rcx
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB1_836
JMP LBB1_1109
LBB1_157:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1109
WORD $0xb70f; BYTE $0x01 // movzx eax, word [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB1_159
LONG $0x520c8d4a // lea rcx, [rdx + 2*r10]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_515
LONG $0x500c8d4b // lea rcx, [r8 + 2*r10]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_515
LBB1_159:
WORD $0xf631 // xor esi, esi
LBB1_841:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd1 // mov rcx, r10
LONG $0x03e18348 // and rcx, 3
JE LBB1_843
LBB1_842:
LONG $0x723cb70f // movzx edi, word [rdx + 2*rsi]
LONG $0xf8af0f66 // imul di, ax
LONG $0x3c894166; BYTE $0x70 // mov word [r8 + 2*rsi], di
LONG $0x01c68348 // add rsi, 1
LONG $0xffc18348 // add rcx, -1
JNE LBB1_842
LBB1_843:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1109
LBB1_844:
LONG $0x720cb70f // movzx ecx, word [rdx + 2*rsi]
LONG $0xc8af0f66 // imul cx, ax
LONG $0x0c894166; BYTE $0x70 // mov word [r8 + 2*rsi], cx
LONG $0x724cb70f; BYTE $0x02 // movzx ecx, word [rdx + 2*rsi + 2]
LONG $0xc8af0f66 // imul cx, ax
LONG $0x4c894166; WORD $0x0270 // mov word [r8 + 2*rsi + 2], cx
LONG $0x724cb70f; BYTE $0x04 // movzx ecx, word [rdx + 2*rsi + 4]
LONG $0xc8af0f66 // imul cx, ax
LONG $0x4c894166; WORD $0x0470 // mov word [r8 + 2*rsi + 4], cx
LONG $0x724cb70f; BYTE $0x06 // movzx ecx, word [rdx + 2*rsi + 6]
LONG $0xc8af0f66 // imul cx, ax
LONG $0x4c894166; WORD $0x0670 // mov word [r8 + 2*rsi + 6], cx
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB1_844
JMP LBB1_1109
LBB1_160:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1109
WORD $0xb70f; BYTE $0x01 // movzx eax, word [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB1_162
LONG $0x520c8d4a // lea rcx, [rdx + 2*r10]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_518
LONG $0x500c8d4b // lea rcx, [r8 + 2*r10]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_518
LBB1_162:
WORD $0xf631 // xor esi, esi
LBB1_849:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd1 // mov rcx, r10
LONG $0x03e18348 // and rcx, 3
JE LBB1_851
LBB1_850:
LONG $0x723cb70f // movzx edi, word [rdx + 2*rsi]
LONG $0xf8af0f66 // imul di, ax
LONG $0x3c894166; BYTE $0x70 // mov word [r8 + 2*rsi], di
LONG $0x01c68348 // add rsi, 1
LONG $0xffc18348 // add rcx, -1
JNE LBB1_850
LBB1_851:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1109
LBB1_852:
LONG $0x720cb70f // movzx ecx, word [rdx + 2*rsi]
LONG $0xc8af0f66 // imul cx, ax
LONG $0x0c894166; BYTE $0x70 // mov word [r8 + 2*rsi], cx
LONG $0x724cb70f; BYTE $0x02 // movzx ecx, word [rdx + 2*rsi + 2]
LONG $0xc8af0f66 // imul cx, ax
LONG $0x4c894166; WORD $0x0270 // mov word [r8 + 2*rsi + 2], cx
LONG $0x724cb70f; BYTE $0x04 // movzx ecx, word [rdx + 2*rsi + 4]
LONG $0xc8af0f66 // imul cx, ax
LONG $0x4c894166; WORD $0x0470 // mov word [r8 + 2*rsi + 4], cx
LONG $0x724cb70f; BYTE $0x06 // movzx ecx, word [rdx + 2*rsi + 6]
LONG $0xc8af0f66 // imul cx, ax
LONG $0x4c894166; WORD $0x0670 // mov word [r8 + 2*rsi + 6], cx
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB1_852
JMP LBB1_1109
LBB1_163:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1109
WORD $0xb70f; BYTE $0x01 // movzx eax, word [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB1_165
LONG $0x520c8d4a // lea rcx, [rdx + 2*r10]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_521
LONG $0x500c8d4b // lea rcx, [r8 + 2*r10]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_521
LBB1_165:
WORD $0xf631 // xor esi, esi
LBB1_857:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd1 // mov rcx, r10
LONG $0x03e18348 // and rcx, 3
JE LBB1_859
LBB1_858:
LONG $0x723cb70f // movzx edi, word [rdx + 2*rsi]
LONG $0xf8af0f66 // imul di, ax
LONG $0x3c894166; BYTE $0x70 // mov word [r8 + 2*rsi], di
LONG $0x01c68348 // add rsi, 1
LONG $0xffc18348 // add rcx, -1
JNE LBB1_858
LBB1_859:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1109
LBB1_860:
LONG $0x720cb70f // movzx ecx, word [rdx + 2*rsi]
LONG $0xc8af0f66 // imul cx, ax
LONG $0x0c894166; BYTE $0x70 // mov word [r8 + 2*rsi], cx
LONG $0x724cb70f; BYTE $0x02 // movzx ecx, word [rdx + 2*rsi + 2]
LONG $0xc8af0f66 // imul cx, ax
LONG $0x4c894166; WORD $0x0270 // mov word [r8 + 2*rsi + 2], cx
LONG $0x724cb70f; BYTE $0x04 // movzx ecx, word [rdx + 2*rsi + 4]
LONG $0xc8af0f66 // imul cx, ax
LONG $0x4c894166; WORD $0x0470 // mov word [r8 + 2*rsi + 4], cx
LONG $0x724cb70f; BYTE $0x06 // movzx ecx, word [rdx + 2*rsi + 6]
LONG $0xc8af0f66 // imul cx, ax
LONG $0x4c894166; WORD $0x0670 // mov word [r8 + 2*rsi + 6], cx
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB1_860
JMP LBB1_1109
LBB1_166:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1109
WORD $0xb70f; BYTE $0x01 // movzx eax, word [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB1_168
LONG $0x520c8d4a // lea rcx, [rdx + 2*r10]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_524
LONG $0x500c8d4b // lea rcx, [r8 + 2*r10]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_524
LBB1_168:
WORD $0xf631 // xor esi, esi
LBB1_865:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd1 // mov rcx, r10
LONG $0x03e18348 // and rcx, 3
JE LBB1_867
LBB1_866:
LONG $0x723cb70f // movzx edi, word [rdx + 2*rsi]
LONG $0xf8af0f66 // imul di, ax
LONG $0x3c894166; BYTE $0x70 // mov word [r8 + 2*rsi], di
LONG $0x01c68348 // add rsi, 1
LONG $0xffc18348 // add rcx, -1
JNE LBB1_866
LBB1_867:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1109
LBB1_868:
LONG $0x720cb70f // movzx ecx, word [rdx + 2*rsi]
LONG $0xc8af0f66 // imul cx, ax
LONG $0x0c894166; BYTE $0x70 // mov word [r8 + 2*rsi], cx
LONG $0x724cb70f; BYTE $0x02 // movzx ecx, word [rdx + 2*rsi + 2]
LONG $0xc8af0f66 // imul cx, ax
LONG $0x4c894166; WORD $0x0270 // mov word [r8 + 2*rsi + 2], cx
LONG $0x724cb70f; BYTE $0x04 // movzx ecx, word [rdx + 2*rsi + 4]
LONG $0xc8af0f66 // imul cx, ax
LONG $0x4c894166; WORD $0x0470 // mov word [r8 + 2*rsi + 4], cx
LONG $0x724cb70f; BYTE $0x06 // movzx ecx, word [rdx + 2*rsi + 6]
LONG $0xc8af0f66 // imul cx, ax
LONG $0x4c894166; WORD $0x0670 // mov word [r8 + 2*rsi + 6], cx
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB1_868
JMP LBB1_1109
LBB1_169:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1109
WORD $0xb70f; BYTE $0x01 // movzx eax, word [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB1_171
LONG $0x520c8d4a // lea rcx, [rdx + 2*r10]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_527
LONG $0x500c8d4b // lea rcx, [r8 + 2*r10]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_527
LBB1_171:
WORD $0xf631 // xor esi, esi
LBB1_873:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd1 // mov rcx, r10
LONG $0x03e18348 // and rcx, 3
JE LBB1_875
LBB1_874:
LONG $0x723cb70f // movzx edi, word [rdx + 2*rsi]
WORD $0x0166; BYTE $0xc7 // add di, ax
LONG $0x3c894166; BYTE $0x70 // mov word [r8 + 2*rsi], di
LONG $0x01c68348 // add rsi, 1
LONG $0xffc18348 // add rcx, -1
JNE LBB1_874
LBB1_875:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1109
LBB1_876:
LONG $0x720cb70f // movzx ecx, word [rdx + 2*rsi]
WORD $0x0166; BYTE $0xc1 // add cx, ax
LONG $0x0c894166; BYTE $0x70 // mov word [r8 + 2*rsi], cx
LONG $0x724cb70f; BYTE $0x02 // movzx ecx, word [rdx + 2*rsi + 2]
WORD $0x0166; BYTE $0xc1 // add cx, ax
LONG $0x4c894166; WORD $0x0270 // mov word [r8 + 2*rsi + 2], cx
LONG $0x724cb70f; BYTE $0x04 // movzx ecx, word [rdx + 2*rsi + 4]
WORD $0x0166; BYTE $0xc1 // add cx, ax
LONG $0x4c894166; WORD $0x0470 // mov word [r8 + 2*rsi + 4], cx
LONG $0x724cb70f; BYTE $0x06 // movzx ecx, word [rdx + 2*rsi + 6]
WORD $0x0166; BYTE $0xc1 // add cx, ax
LONG $0x4c894166; WORD $0x0670 // mov word [r8 + 2*rsi + 6], cx
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB1_876
JMP LBB1_1109
LBB1_172:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1109
WORD $0xb70f; BYTE $0x01 // movzx eax, word [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB1_174
LONG $0x520c8d4a // lea rcx, [rdx + 2*r10]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_530
LONG $0x500c8d4b // lea rcx, [r8 + 2*r10]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_530
LBB1_174:
WORD $0xf631 // xor esi, esi
LBB1_881:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd1 // mov rcx, r10
LONG $0x03e18348 // and rcx, 3
JE LBB1_883
LBB1_882:
LONG $0x723cb70f // movzx edi, word [rdx + 2*rsi]
WORD $0x0166; BYTE $0xc7 // add di, ax
LONG $0x3c894166; BYTE $0x70 // mov word [r8 + 2*rsi], di
LONG $0x01c68348 // add rsi, 1
LONG $0xffc18348 // add rcx, -1
JNE LBB1_882
LBB1_883:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1109
LBB1_884:
LONG $0x720cb70f // movzx ecx, word [rdx + 2*rsi]
WORD $0x0166; BYTE $0xc1 // add cx, ax
LONG $0x0c894166; BYTE $0x70 // mov word [r8 + 2*rsi], cx
LONG $0x724cb70f; BYTE $0x02 // movzx ecx, word [rdx + 2*rsi + 2]
WORD $0x0166; BYTE $0xc1 // add cx, ax
LONG $0x4c894166; WORD $0x0270 // mov word [r8 + 2*rsi + 2], cx
LONG $0x724cb70f; BYTE $0x04 // movzx ecx, word [rdx + 2*rsi + 4]
WORD $0x0166; BYTE $0xc1 // add cx, ax
LONG $0x4c894166; WORD $0x0470 // mov word [r8 + 2*rsi + 4], cx
LONG $0x724cb70f; BYTE $0x06 // movzx ecx, word [rdx + 2*rsi + 6]
WORD $0x0166; BYTE $0xc1 // add cx, ax
LONG $0x4c894166; WORD $0x0670 // mov word [r8 + 2*rsi + 6], cx
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB1_884
JMP LBB1_1109
LBB1_175:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1109
WORD $0xb70f; BYTE $0x01 // movzx eax, word [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB1_177
LONG $0x520c8d4a // lea rcx, [rdx + 2*r10]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_533
LONG $0x500c8d4b // lea rcx, [r8 + 2*r10]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_533
LBB1_177:
WORD $0xf631 // xor esi, esi
LBB1_889:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd1 // mov rcx, r10
LONG $0x03e18348 // and rcx, 3
JE LBB1_891
LBB1_890:
LONG $0x723cb70f // movzx edi, word [rdx + 2*rsi]
WORD $0xc729 // sub edi, eax
LONG $0x3c894166; BYTE $0x70 // mov word [r8 + 2*rsi], di
LONG $0x01c68348 // add rsi, 1
LONG $0xffc18348 // add rcx, -1
JNE LBB1_890
LBB1_891:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1109
LBB1_892:
LONG $0x720cb70f // movzx ecx, word [rdx + 2*rsi]
WORD $0xc129 // sub ecx, eax
LONG $0x0c894166; BYTE $0x70 // mov word [r8 + 2*rsi], cx
LONG $0x724cb70f; BYTE $0x02 // movzx ecx, word [rdx + 2*rsi + 2]
WORD $0xc129 // sub ecx, eax
LONG $0x4c894166; WORD $0x0270 // mov word [r8 + 2*rsi + 2], cx
LONG $0x724cb70f; BYTE $0x04 // movzx ecx, word [rdx + 2*rsi + 4]
WORD $0xc129 // sub ecx, eax
LONG $0x4c894166; WORD $0x0470 // mov word [r8 + 2*rsi + 4], cx
LONG $0x724cb70f; BYTE $0x06 // movzx ecx, word [rdx + 2*rsi + 6]
WORD $0xc129 // sub ecx, eax
LONG $0x4c894166; WORD $0x0670 // mov word [r8 + 2*rsi + 6], cx
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB1_892
JMP LBB1_1109
LBB1_178:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1109
WORD $0xb70f; BYTE $0x01 // movzx eax, word [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB1_180
LONG $0x520c8d4a // lea rcx, [rdx + 2*r10]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_536
LONG $0x500c8d4b // lea rcx, [r8 + 2*r10]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_536
LBB1_180:
WORD $0xf631 // xor esi, esi
LBB1_897:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd1 // mov rcx, r10
LONG $0x03e18348 // and rcx, 3
JE LBB1_899
LBB1_898:
LONG $0x723cb70f // movzx edi, word [rdx + 2*rsi]
WORD $0xc729 // sub edi, eax
LONG $0x3c894166; BYTE $0x70 // mov word [r8 + 2*rsi], di
LONG $0x01c68348 // add rsi, 1
LONG $0xffc18348 // add rcx, -1
JNE LBB1_898
LBB1_899:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1109
LBB1_900:
LONG $0x720cb70f // movzx ecx, word [rdx + 2*rsi]
WORD $0xc129 // sub ecx, eax
LONG $0x0c894166; BYTE $0x70 // mov word [r8 + 2*rsi], cx
LONG $0x724cb70f; BYTE $0x02 // movzx ecx, word [rdx + 2*rsi + 2]
WORD $0xc129 // sub ecx, eax
LONG $0x4c894166; WORD $0x0270 // mov word [r8 + 2*rsi + 2], cx
LONG $0x724cb70f; BYTE $0x04 // movzx ecx, word [rdx + 2*rsi + 4]
WORD $0xc129 // sub ecx, eax
LONG $0x4c894166; WORD $0x0470 // mov word [r8 + 2*rsi + 4], cx
LONG $0x724cb70f; BYTE $0x06 // movzx ecx, word [rdx + 2*rsi + 6]
WORD $0xc129 // sub ecx, eax
LONG $0x4c894166; WORD $0x0670 // mov word [r8 + 2*rsi + 6], cx
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB1_900
JMP LBB1_1109
LBB1_181:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1109
WORD $0xb70f; BYTE $0x01 // movzx eax, word [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB1_183
LONG $0x520c8d4a // lea rcx, [rdx + 2*r10]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_539
LONG $0x500c8d4b // lea rcx, [r8 + 2*r10]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_539
LBB1_183:
WORD $0xf631 // xor esi, esi
LBB1_905:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd1 // mov rcx, r10
LONG $0x03e18348 // and rcx, 3
JE LBB1_907
LBB1_906:
LONG $0x723cb70f // movzx edi, word [rdx + 2*rsi]
WORD $0x0166; BYTE $0xc7 // add di, ax
LONG $0x3c894166; BYTE $0x70 // mov word [r8 + 2*rsi], di
LONG $0x01c68348 // add rsi, 1
LONG $0xffc18348 // add rcx, -1
JNE LBB1_906
LBB1_907:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1109
LBB1_908:
LONG $0x720cb70f // movzx ecx, word [rdx + 2*rsi]
WORD $0x0166; BYTE $0xc1 // add cx, ax
LONG $0x0c894166; BYTE $0x70 // mov word [r8 + 2*rsi], cx
LONG $0x724cb70f; BYTE $0x02 // movzx ecx, word [rdx + 2*rsi + 2]
WORD $0x0166; BYTE $0xc1 // add cx, ax
LONG $0x4c894166; WORD $0x0270 // mov word [r8 + 2*rsi + 2], cx
LONG $0x724cb70f; BYTE $0x04 // movzx ecx, word [rdx + 2*rsi + 4]
WORD $0x0166; BYTE $0xc1 // add cx, ax
LONG $0x4c894166; WORD $0x0470 // mov word [r8 + 2*rsi + 4], cx
LONG $0x724cb70f; BYTE $0x06 // movzx ecx, word [rdx + 2*rsi + 6]
WORD $0x0166; BYTE $0xc1 // add cx, ax
LONG $0x4c894166; WORD $0x0670 // mov word [r8 + 2*rsi + 6], cx
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB1_908
JMP LBB1_1109
LBB1_184:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1109
WORD $0xb70f; BYTE $0x01 // movzx eax, word [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB1_186
LONG $0x520c8d4a // lea rcx, [rdx + 2*r10]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_542
LONG $0x500c8d4b // lea rcx, [r8 + 2*r10]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_542
LBB1_186:
WORD $0xf631 // xor esi, esi
LBB1_913:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd1 // mov rcx, r10
LONG $0x03e18348 // and rcx, 3
JE LBB1_915
LBB1_914:
LONG $0x723cb70f // movzx edi, word [rdx + 2*rsi]
WORD $0x0166; BYTE $0xc7 // add di, ax
LONG $0x3c894166; BYTE $0x70 // mov word [r8 + 2*rsi], di
LONG $0x01c68348 // add rsi, 1
LONG $0xffc18348 // add rcx, -1
JNE LBB1_914
LBB1_915:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1109
LBB1_916:
LONG $0x720cb70f // movzx ecx, word [rdx + 2*rsi]
WORD $0x0166; BYTE $0xc1 // add cx, ax
LONG $0x0c894166; BYTE $0x70 // mov word [r8 + 2*rsi], cx
LONG $0x724cb70f; BYTE $0x02 // movzx ecx, word [rdx + 2*rsi + 2]
WORD $0x0166; BYTE $0xc1 // add cx, ax
LONG $0x4c894166; WORD $0x0270 // mov word [r8 + 2*rsi + 2], cx
LONG $0x724cb70f; BYTE $0x04 // movzx ecx, word [rdx + 2*rsi + 4]
WORD $0x0166; BYTE $0xc1 // add cx, ax
LONG $0x4c894166; WORD $0x0470 // mov word [r8 + 2*rsi + 4], cx
LONG $0x724cb70f; BYTE $0x06 // movzx ecx, word [rdx + 2*rsi + 6]
WORD $0x0166; BYTE $0xc1 // add cx, ax
LONG $0x4c894166; WORD $0x0670 // mov word [r8 + 2*rsi + 6], cx
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB1_916
JMP LBB1_1109
LBB1_187:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1109
WORD $0xb70f; BYTE $0x01 // movzx eax, word [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB1_189
LONG $0x520c8d4a // lea rcx, [rdx + 2*r10]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_545
LONG $0x500c8d4b // lea rcx, [r8 + 2*r10]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_545
LBB1_189:
WORD $0xf631 // xor esi, esi
LBB1_921:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd1 // mov rcx, r10
LONG $0x03e18348 // and rcx, 3
JE LBB1_923
LBB1_922:
LONG $0x723cb70f // movzx edi, word [rdx + 2*rsi]
WORD $0xc729 // sub edi, eax
LONG $0x3c894166; BYTE $0x70 // mov word [r8 + 2*rsi], di
LONG $0x01c68348 // add rsi, 1
LONG $0xffc18348 // add rcx, -1
JNE LBB1_922
LBB1_923:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1109
LBB1_924:
LONG $0x720cb70f // movzx ecx, word [rdx + 2*rsi]
WORD $0xc129 // sub ecx, eax
LONG $0x0c894166; BYTE $0x70 // mov word [r8 + 2*rsi], cx
LONG $0x724cb70f; BYTE $0x02 // movzx ecx, word [rdx + 2*rsi + 2]
WORD $0xc129 // sub ecx, eax
LONG $0x4c894166; WORD $0x0270 // mov word [r8 + 2*rsi + 2], cx
LONG $0x724cb70f; BYTE $0x04 // movzx ecx, word [rdx + 2*rsi + 4]
WORD $0xc129 // sub ecx, eax
LONG $0x4c894166; WORD $0x0470 // mov word [r8 + 2*rsi + 4], cx
LONG $0x724cb70f; BYTE $0x06 // movzx ecx, word [rdx + 2*rsi + 6]
WORD $0xc129 // sub ecx, eax
LONG $0x4c894166; WORD $0x0670 // mov word [r8 + 2*rsi + 6], cx
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB1_924
JMP LBB1_1109
LBB1_190:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1109
WORD $0xb70f; BYTE $0x01 // movzx eax, word [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB1_192
LONG $0x520c8d4a // lea rcx, [rdx + 2*r10]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_548
LONG $0x500c8d4b // lea rcx, [r8 + 2*r10]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_548
LBB1_192:
WORD $0xf631 // xor esi, esi
LBB1_929:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd1 // mov rcx, r10
LONG $0x03e18348 // and rcx, 3
JE LBB1_931
LBB1_930:
LONG $0x723cb70f // movzx edi, word [rdx + 2*rsi]
WORD $0xc729 // sub edi, eax
LONG $0x3c894166; BYTE $0x70 // mov word [r8 + 2*rsi], di
LONG $0x01c68348 // add rsi, 1
LONG $0xffc18348 // add rcx, -1
JNE LBB1_930
LBB1_931:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1109
LBB1_932:
LONG $0x720cb70f // movzx ecx, word [rdx + 2*rsi]
WORD $0xc129 // sub ecx, eax
LONG $0x0c894166; BYTE $0x70 // mov word [r8 + 2*rsi], cx
LONG $0x724cb70f; BYTE $0x02 // movzx ecx, word [rdx + 2*rsi + 2]
WORD $0xc129 // sub ecx, eax
LONG $0x4c894166; WORD $0x0270 // mov word [r8 + 2*rsi + 2], cx
LONG $0x724cb70f; BYTE $0x04 // movzx ecx, word [rdx + 2*rsi + 4]
WORD $0xc129 // sub ecx, eax
LONG $0x4c894166; WORD $0x0470 // mov word [r8 + 2*rsi + 4], cx
LONG $0x724cb70f; BYTE $0x06 // movzx ecx, word [rdx + 2*rsi + 6]
WORD $0xc129 // sub ecx, eax
LONG $0x4c894166; WORD $0x0670 // mov word [r8 + 2*rsi + 6], cx
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB1_932
JMP LBB1_1109
LBB1_193:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1109
WORD $0x8b48; BYTE $0x01 // mov rax, qword [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB1_195
LONG $0xd20c8d4a // lea rcx, [rdx + 8*r10]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_551
LONG $0xd00c8d4b // lea rcx, [r8 + 8*r10]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_551
LBB1_195:
WORD $0xf631 // xor esi, esi
LBB1_937:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB1_939
LBB1_938:
LONG $0xf20c8b48 // mov rcx, qword [rdx + 8*rsi]
LONG $0xc8af0f48 // imul rcx, rax
LONG $0xf00c8949 // mov qword [r8 + 8*rsi], rcx
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB1_938
LBB1_939:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1109
LBB1_940:
LONG $0xf20c8b48 // mov rcx, qword [rdx + 8*rsi]
LONG $0xc8af0f48 // imul rcx, rax
LONG $0xf00c8949 // mov qword [r8 + 8*rsi], rcx
LONG $0xf24c8b48; BYTE $0x08 // mov rcx, qword [rdx + 8*rsi + 8]
LONG $0xc8af0f48 // imul rcx, rax
LONG $0xf04c8949; BYTE $0x08 // mov qword [r8 + 8*rsi + 8], rcx
LONG $0xf24c8b48; BYTE $0x10 // mov rcx, qword [rdx + 8*rsi + 16]
LONG $0xc8af0f48 // imul rcx, rax
LONG $0xf04c8949; BYTE $0x10 // mov qword [r8 + 8*rsi + 16], rcx
LONG $0xf24c8b48; BYTE $0x18 // mov rcx, qword [rdx + 8*rsi + 24]
LONG $0xc8af0f48 // imul rcx, rax
LONG $0xf04c8949; BYTE $0x18 // mov qword [r8 + 8*rsi + 24], rcx
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB1_940
JMP LBB1_1109
LBB1_196:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1109
LONG $0x0110fac5 // vmovss xmm0, dword [rcx]
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB1_198
LONG $0x820c8d48 // lea rcx, [rdx + 4*rax]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_554
LONG $0x800c8d49 // lea rcx, [r8 + 4*rax]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_554
LBB1_198:
WORD $0xc931 // xor ecx, ecx
LBB1_945:
WORD $0x8948; BYTE $0xce // mov rsi, rcx
WORD $0xf748; BYTE $0xd6 // not rsi
WORD $0x0148; BYTE $0xc6 // add rsi, rax
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x03e78348 // and rdi, 3
JE LBB1_947
LBB1_946:
LONG $0x0c59fac5; BYTE $0x8a // vmulss xmm1, xmm0, dword [rdx + 4*rcx]
LONG $0x117ac1c4; WORD $0x880c // vmovss dword [r8 + 4*rcx], xmm1
LONG $0x01c18348 // add rcx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB1_946
LBB1_947:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB1_1109
LBB1_948:
LONG $0x0c59fac5; BYTE $0x8a // vmulss xmm1, xmm0, dword [rdx + 4*rcx]
LONG $0x117ac1c4; WORD $0x880c // vmovss dword [r8 + 4*rcx], xmm1
LONG $0x4c59fac5; WORD $0x048a // vmulss xmm1, xmm0, dword [rdx + 4*rcx + 4]
LONG $0x117ac1c4; WORD $0x884c; BYTE $0x04 // vmovss dword [r8 + 4*rcx + 4], xmm1
LONG $0x4c59fac5; WORD $0x088a // vmulss xmm1, xmm0, dword [rdx + 4*rcx + 8]
LONG $0x117ac1c4; WORD $0x884c; BYTE $0x08 // vmovss dword [r8 + 4*rcx + 8], xmm1
LONG $0x4c59fac5; WORD $0x0c8a // vmulss xmm1, xmm0, dword [rdx + 4*rcx + 12]
LONG $0x117ac1c4; WORD $0x884c; BYTE $0x0c // vmovss dword [r8 + 4*rcx + 12], xmm1
LONG $0x04c18348 // add rcx, 4
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JNE LBB1_948
JMP LBB1_1109
LBB1_199:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1109
WORD $0x8b48; BYTE $0x01 // mov rax, qword [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB1_201
LONG $0xd20c8d4a // lea rcx, [rdx + 8*r10]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_557
LONG $0xd00c8d4b // lea rcx, [r8 + 8*r10]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_557
LBB1_201:
WORD $0xf631 // xor esi, esi
LBB1_953:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB1_955
LBB1_954:
LONG $0xf20c8b48 // mov rcx, qword [rdx + 8*rsi]
LONG $0xc8af0f48 // imul rcx, rax
LONG $0xf00c8949 // mov qword [r8 + 8*rsi], rcx
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB1_954
LBB1_955:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1109
LBB1_956:
LONG $0xf20c8b48 // mov rcx, qword [rdx + 8*rsi]
LONG $0xc8af0f48 // imul rcx, rax
LONG $0xf00c8949 // mov qword [r8 + 8*rsi], rcx
LONG $0xf24c8b48; BYTE $0x08 // mov rcx, qword [rdx + 8*rsi + 8]
LONG $0xc8af0f48 // imul rcx, rax
LONG $0xf04c8949; BYTE $0x08 // mov qword [r8 + 8*rsi + 8], rcx
LONG $0xf24c8b48; BYTE $0x10 // mov rcx, qword [rdx + 8*rsi + 16]
LONG $0xc8af0f48 // imul rcx, rax
LONG $0xf04c8949; BYTE $0x10 // mov qword [r8 + 8*rsi + 16], rcx
LONG $0xf24c8b48; BYTE $0x18 // mov rcx, qword [rdx + 8*rsi + 24]
LONG $0xc8af0f48 // imul rcx, rax
LONG $0xf04c8949; BYTE $0x18 // mov qword [r8 + 8*rsi + 24], rcx
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB1_956
JMP LBB1_1109
LBB1_202:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1109
LONG $0x0110fac5 // vmovss xmm0, dword [rcx]
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB1_204
LONG $0x820c8d48 // lea rcx, [rdx + 4*rax]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_560
LONG $0x800c8d49 // lea rcx, [r8 + 4*rax]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_560
LBB1_204:
WORD $0xc931 // xor ecx, ecx
LBB1_961:
WORD $0x8948; BYTE $0xce // mov rsi, rcx
WORD $0xf748; BYTE $0xd6 // not rsi
WORD $0x0148; BYTE $0xc6 // add rsi, rax
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x03e78348 // and rdi, 3
JE LBB1_963
LBB1_962:
LONG $0x0c59fac5; BYTE $0x8a // vmulss xmm1, xmm0, dword [rdx + 4*rcx]
LONG $0x117ac1c4; WORD $0x880c // vmovss dword [r8 + 4*rcx], xmm1
LONG $0x01c18348 // add rcx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB1_962
LBB1_963:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB1_1109
LBB1_964:
LONG $0x0c59fac5; BYTE $0x8a // vmulss xmm1, xmm0, dword [rdx + 4*rcx]
LONG $0x117ac1c4; WORD $0x880c // vmovss dword [r8 + 4*rcx], xmm1
LONG $0x4c59fac5; WORD $0x048a // vmulss xmm1, xmm0, dword [rdx + 4*rcx + 4]
LONG $0x117ac1c4; WORD $0x884c; BYTE $0x04 // vmovss dword [r8 + 4*rcx + 4], xmm1
LONG $0x4c59fac5; WORD $0x088a // vmulss xmm1, xmm0, dword [rdx + 4*rcx + 8]
LONG $0x117ac1c4; WORD $0x884c; BYTE $0x08 // vmovss dword [r8 + 4*rcx + 8], xmm1
LONG $0x4c59fac5; WORD $0x0c8a // vmulss xmm1, xmm0, dword [rdx + 4*rcx + 12]
LONG $0x117ac1c4; WORD $0x884c; BYTE $0x0c // vmovss dword [r8 + 4*rcx + 12], xmm1
LONG $0x04c18348 // add rcx, 4
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JNE LBB1_964
JMP LBB1_1109
LBB1_205:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1109
WORD $0x8b48; BYTE $0x01 // mov rax, qword [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB1_207
LONG $0xd20c8d4a // lea rcx, [rdx + 8*r10]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_563
LONG $0xd00c8d4b // lea rcx, [r8 + 8*r10]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_563
LBB1_207:
WORD $0xf631 // xor esi, esi
LBB1_969:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB1_971
LBB1_970:
LONG $0xf20c8b48 // mov rcx, qword [rdx + 8*rsi]
WORD $0x0148; BYTE $0xc1 // add rcx, rax
LONG $0xf00c8949 // mov qword [r8 + 8*rsi], rcx
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB1_970
LBB1_971:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1109
LBB1_972:
LONG $0xf20c8b48 // mov rcx, qword [rdx + 8*rsi]
WORD $0x0148; BYTE $0xc1 // add rcx, rax
LONG $0xf00c8949 // mov qword [r8 + 8*rsi], rcx
LONG $0xf24c8b48; BYTE $0x08 // mov rcx, qword [rdx + 8*rsi + 8]
WORD $0x0148; BYTE $0xc1 // add rcx, rax
LONG $0xf04c8949; BYTE $0x08 // mov qword [r8 + 8*rsi + 8], rcx
LONG $0xf24c8b48; BYTE $0x10 // mov rcx, qword [rdx + 8*rsi + 16]
WORD $0x0148; BYTE $0xc1 // add rcx, rax
LONG $0xf04c8949; BYTE $0x10 // mov qword [r8 + 8*rsi + 16], rcx
LONG $0xf24c8b48; BYTE $0x18 // mov rcx, qword [rdx + 8*rsi + 24]
WORD $0x0148; BYTE $0xc1 // add rcx, rax
LONG $0xf04c8949; BYTE $0x18 // mov qword [r8 + 8*rsi + 24], rcx
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB1_972
JMP LBB1_1109
LBB1_208:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1109
LONG $0x0110fac5 // vmovss xmm0, dword [rcx]
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB1_210
LONG $0x820c8d48 // lea rcx, [rdx + 4*rax]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_566
LONG $0x800c8d49 // lea rcx, [r8 + 4*rax]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_566
LBB1_210:
WORD $0xc931 // xor ecx, ecx
LBB1_977:
WORD $0x8948; BYTE $0xce // mov rsi, rcx
WORD $0xf748; BYTE $0xd6 // not rsi
WORD $0x0148; BYTE $0xc6 // add rsi, rax
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x03e78348 // and rdi, 3
JE LBB1_979
LBB1_978:
LONG $0x0c58fac5; BYTE $0x8a // vaddss xmm1, xmm0, dword [rdx + 4*rcx]
LONG $0x117ac1c4; WORD $0x880c // vmovss dword [r8 + 4*rcx], xmm1
LONG $0x01c18348 // add rcx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB1_978
LBB1_979:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB1_1109
LBB1_980:
LONG $0x0c58fac5; BYTE $0x8a // vaddss xmm1, xmm0, dword [rdx + 4*rcx]
LONG $0x117ac1c4; WORD $0x880c // vmovss dword [r8 + 4*rcx], xmm1
LONG $0x4c58fac5; WORD $0x048a // vaddss xmm1, xmm0, dword [rdx + 4*rcx + 4]
LONG $0x117ac1c4; WORD $0x884c; BYTE $0x04 // vmovss dword [r8 + 4*rcx + 4], xmm1
LONG $0x4c58fac5; WORD $0x088a // vaddss xmm1, xmm0, dword [rdx + 4*rcx + 8]
LONG $0x117ac1c4; WORD $0x884c; BYTE $0x08 // vmovss dword [r8 + 4*rcx + 8], xmm1
LONG $0x4c58fac5; WORD $0x0c8a // vaddss xmm1, xmm0, dword [rdx + 4*rcx + 12]
LONG $0x117ac1c4; WORD $0x884c; BYTE $0x0c // vmovss dword [r8 + 4*rcx + 12], xmm1
LONG $0x04c18348 // add rcx, 4
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JNE LBB1_980
JMP LBB1_1109
LBB1_211:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1109
WORD $0x8b48; BYTE $0x01 // mov rax, qword [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB1_213
LONG $0xd20c8d4a // lea rcx, [rdx + 8*r10]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_569
LONG $0xd00c8d4b // lea rcx, [r8 + 8*r10]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_569
LBB1_213:
WORD $0xf631 // xor esi, esi
LBB1_985:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB1_987
LBB1_986:
LONG $0xf20c8b48 // mov rcx, qword [rdx + 8*rsi]
WORD $0x2948; BYTE $0xc1 // sub rcx, rax
LONG $0xf00c8949 // mov qword [r8 + 8*rsi], rcx
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB1_986
LBB1_987:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1109
LBB1_988:
LONG $0xf20c8b48 // mov rcx, qword [rdx + 8*rsi]
WORD $0x2948; BYTE $0xc1 // sub rcx, rax
LONG $0xf00c8949 // mov qword [r8 + 8*rsi], rcx
LONG $0xf24c8b48; BYTE $0x08 // mov rcx, qword [rdx + 8*rsi + 8]
WORD $0x2948; BYTE $0xc1 // sub rcx, rax
LONG $0xf04c8949; BYTE $0x08 // mov qword [r8 + 8*rsi + 8], rcx
LONG $0xf24c8b48; BYTE $0x10 // mov rcx, qword [rdx + 8*rsi + 16]
WORD $0x2948; BYTE $0xc1 // sub rcx, rax
LONG $0xf04c8949; BYTE $0x10 // mov qword [r8 + 8*rsi + 16], rcx
LONG $0xf24c8b48; BYTE $0x18 // mov rcx, qword [rdx + 8*rsi + 24]
WORD $0x2948; BYTE $0xc1 // sub rcx, rax
LONG $0xf04c8949; BYTE $0x18 // mov qword [r8 + 8*rsi + 24], rcx
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB1_988
JMP LBB1_1109
LBB1_214:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1109
LONG $0x0110fac5 // vmovss xmm0, dword [rcx]
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB1_216
LONG $0x820c8d48 // lea rcx, [rdx + 4*rax]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_572
LONG $0x800c8d49 // lea rcx, [r8 + 4*rax]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_572
LBB1_216:
WORD $0xc931 // xor ecx, ecx
LBB1_993:
WORD $0x8948; BYTE $0xce // mov rsi, rcx
WORD $0xf748; BYTE $0xd6 // not rsi
WORD $0x0148; BYTE $0xc6 // add rsi, rax
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x03e78348 // and rdi, 3
JE LBB1_995
LBB1_994:
LONG $0x0c10fac5; BYTE $0x8a // vmovss xmm1, dword [rdx + 4*rcx]
LONG $0xc85cf2c5 // vsubss xmm1, xmm1, xmm0
LONG $0x117ac1c4; WORD $0x880c // vmovss dword [r8 + 4*rcx], xmm1
LONG $0x01c18348 // add rcx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB1_994
LBB1_995:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB1_1109
LBB1_996:
LONG $0x0c10fac5; BYTE $0x8a // vmovss xmm1, dword [rdx + 4*rcx]
LONG $0xc85cf2c5 // vsubss xmm1, xmm1, xmm0
LONG $0x117ac1c4; WORD $0x880c // vmovss dword [r8 + 4*rcx], xmm1
LONG $0x4c10fac5; WORD $0x048a // vmovss xmm1, dword [rdx + 4*rcx + 4]
LONG $0xc85cf2c5 // vsubss xmm1, xmm1, xmm0
LONG $0x117ac1c4; WORD $0x884c; BYTE $0x04 // vmovss dword [r8 + 4*rcx + 4], xmm1
LONG $0x4c10fac5; WORD $0x088a // vmovss xmm1, dword [rdx + 4*rcx + 8]
LONG $0xc85cf2c5 // vsubss xmm1, xmm1, xmm0
LONG $0x117ac1c4; WORD $0x884c; BYTE $0x08 // vmovss dword [r8 + 4*rcx + 8], xmm1
LONG $0x4c10fac5; WORD $0x0c8a // vmovss xmm1, dword [rdx + 4*rcx + 12]
LONG $0xc85cf2c5 // vsubss xmm1, xmm1, xmm0
LONG $0x117ac1c4; WORD $0x884c; BYTE $0x0c // vmovss dword [r8 + 4*rcx + 12], xmm1
LONG $0x04c18348 // add rcx, 4
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JNE LBB1_996
JMP LBB1_1109
LBB1_217:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1109
WORD $0x8b48; BYTE $0x01 // mov rax, qword [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB1_219
LONG $0xd20c8d4a // lea rcx, [rdx + 8*r10]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_575
LONG $0xd00c8d4b // lea rcx, [r8 + 8*r10]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_575
LBB1_219:
WORD $0xf631 // xor esi, esi
LBB1_1001:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB1_1003
LBB1_1002:
LONG $0xf20c8b48 // mov rcx, qword [rdx + 8*rsi]
WORD $0x0148; BYTE $0xc1 // add rcx, rax
LONG $0xf00c8949 // mov qword [r8 + 8*rsi], rcx
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB1_1002
LBB1_1003:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1109
LBB1_1004:
LONG $0xf20c8b48 // mov rcx, qword [rdx + 8*rsi]
WORD $0x0148; BYTE $0xc1 // add rcx, rax
LONG $0xf00c8949 // mov qword [r8 + 8*rsi], rcx
LONG $0xf24c8b48; BYTE $0x08 // mov rcx, qword [rdx + 8*rsi + 8]
WORD $0x0148; BYTE $0xc1 // add rcx, rax
LONG $0xf04c8949; BYTE $0x08 // mov qword [r8 + 8*rsi + 8], rcx
LONG $0xf24c8b48; BYTE $0x10 // mov rcx, qword [rdx + 8*rsi + 16]
WORD $0x0148; BYTE $0xc1 // add rcx, rax
LONG $0xf04c8949; BYTE $0x10 // mov qword [r8 + 8*rsi + 16], rcx
LONG $0xf24c8b48; BYTE $0x18 // mov rcx, qword [rdx + 8*rsi + 24]
WORD $0x0148; BYTE $0xc1 // add rcx, rax
LONG $0xf04c8949; BYTE $0x18 // mov qword [r8 + 8*rsi + 24], rcx
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB1_1004
JMP LBB1_1109
LBB1_220:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1109
LONG $0x0110fac5 // vmovss xmm0, dword [rcx]
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB1_222
LONG $0x820c8d48 // lea rcx, [rdx + 4*rax]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_578
LONG $0x800c8d49 // lea rcx, [r8 + 4*rax]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_578
LBB1_222:
WORD $0xc931 // xor ecx, ecx
LBB1_1009:
WORD $0x8948; BYTE $0xce // mov rsi, rcx
WORD $0xf748; BYTE $0xd6 // not rsi
WORD $0x0148; BYTE $0xc6 // add rsi, rax
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x03e78348 // and rdi, 3
JE LBB1_1011
LBB1_1010:
LONG $0x0c58fac5; BYTE $0x8a // vaddss xmm1, xmm0, dword [rdx + 4*rcx]
LONG $0x117ac1c4; WORD $0x880c // vmovss dword [r8 + 4*rcx], xmm1
LONG $0x01c18348 // add rcx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB1_1010
LBB1_1011:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB1_1109
LBB1_1012:
LONG $0x0c58fac5; BYTE $0x8a // vaddss xmm1, xmm0, dword [rdx + 4*rcx]
LONG $0x117ac1c4; WORD $0x880c // vmovss dword [r8 + 4*rcx], xmm1
LONG $0x4c58fac5; WORD $0x048a // vaddss xmm1, xmm0, dword [rdx + 4*rcx + 4]
LONG $0x117ac1c4; WORD $0x884c; BYTE $0x04 // vmovss dword [r8 + 4*rcx + 4], xmm1
LONG $0x4c58fac5; WORD $0x088a // vaddss xmm1, xmm0, dword [rdx + 4*rcx + 8]
LONG $0x117ac1c4; WORD $0x884c; BYTE $0x08 // vmovss dword [r8 + 4*rcx + 8], xmm1
LONG $0x4c58fac5; WORD $0x0c8a // vaddss xmm1, xmm0, dword [rdx + 4*rcx + 12]
LONG $0x117ac1c4; WORD $0x884c; BYTE $0x0c // vmovss dword [r8 + 4*rcx + 12], xmm1
LONG $0x04c18348 // add rcx, 4
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JNE LBB1_1012
JMP LBB1_1109
LBB1_223:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1109
WORD $0x8b48; BYTE $0x01 // mov rax, qword [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB1_225
LONG $0xd20c8d4a // lea rcx, [rdx + 8*r10]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_581
LONG $0xd00c8d4b // lea rcx, [r8 + 8*r10]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_581
LBB1_225:
WORD $0xf631 // xor esi, esi
LBB1_1017:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB1_1019
LBB1_1018:
LONG $0xf20c8b48 // mov rcx, qword [rdx + 8*rsi]
WORD $0x2948; BYTE $0xc1 // sub rcx, rax
LONG $0xf00c8949 // mov qword [r8 + 8*rsi], rcx
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB1_1018
LBB1_1019:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1109
LBB1_1020:
LONG $0xf20c8b48 // mov rcx, qword [rdx + 8*rsi]
WORD $0x2948; BYTE $0xc1 // sub rcx, rax
LONG $0xf00c8949 // mov qword [r8 + 8*rsi], rcx
LONG $0xf24c8b48; BYTE $0x08 // mov rcx, qword [rdx + 8*rsi + 8]
WORD $0x2948; BYTE $0xc1 // sub rcx, rax
LONG $0xf04c8949; BYTE $0x08 // mov qword [r8 + 8*rsi + 8], rcx
LONG $0xf24c8b48; BYTE $0x10 // mov rcx, qword [rdx + 8*rsi + 16]
WORD $0x2948; BYTE $0xc1 // sub rcx, rax
LONG $0xf04c8949; BYTE $0x10 // mov qword [r8 + 8*rsi + 16], rcx
LONG $0xf24c8b48; BYTE $0x18 // mov rcx, qword [rdx + 8*rsi + 24]
WORD $0x2948; BYTE $0xc1 // sub rcx, rax
LONG $0xf04c8949; BYTE $0x18 // mov qword [r8 + 8*rsi + 24], rcx
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB1_1020
JMP LBB1_1109
LBB1_226:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1109
LONG $0x0110fac5 // vmovss xmm0, dword [rcx]
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB1_228
LONG $0x820c8d48 // lea rcx, [rdx + 4*rax]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_584
LONG $0x800c8d49 // lea rcx, [r8 + 4*rax]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_584
LBB1_228:
WORD $0xc931 // xor ecx, ecx
LBB1_1025:
WORD $0x8948; BYTE $0xce // mov rsi, rcx
WORD $0xf748; BYTE $0xd6 // not rsi
WORD $0x0148; BYTE $0xc6 // add rsi, rax
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x03e78348 // and rdi, 3
JE LBB1_1027
LBB1_1026:
LONG $0x0c10fac5; BYTE $0x8a // vmovss xmm1, dword [rdx + 4*rcx]
LONG $0xc85cf2c5 // vsubss xmm1, xmm1, xmm0
LONG $0x117ac1c4; WORD $0x880c // vmovss dword [r8 + 4*rcx], xmm1
LONG $0x01c18348 // add rcx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB1_1026
LBB1_1027:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB1_1109
LBB1_1028:
LONG $0x0c10fac5; BYTE $0x8a // vmovss xmm1, dword [rdx + 4*rcx]
LONG $0xc85cf2c5 // vsubss xmm1, xmm1, xmm0
LONG $0x117ac1c4; WORD $0x880c // vmovss dword [r8 + 4*rcx], xmm1
LONG $0x4c10fac5; WORD $0x048a // vmovss xmm1, dword [rdx + 4*rcx + 4]
LONG $0xc85cf2c5 // vsubss xmm1, xmm1, xmm0
LONG $0x117ac1c4; WORD $0x884c; BYTE $0x04 // vmovss dword [r8 + 4*rcx + 4], xmm1
LONG $0x4c10fac5; WORD $0x088a // vmovss xmm1, dword [rdx + 4*rcx + 8]
LONG $0xc85cf2c5 // vsubss xmm1, xmm1, xmm0
LONG $0x117ac1c4; WORD $0x884c; BYTE $0x08 // vmovss dword [r8 + 4*rcx + 8], xmm1
LONG $0x4c10fac5; WORD $0x0c8a // vmovss xmm1, dword [rdx + 4*rcx + 12]
LONG $0xc85cf2c5 // vsubss xmm1, xmm1, xmm0
LONG $0x117ac1c4; WORD $0x884c; BYTE $0x0c // vmovss dword [r8 + 4*rcx + 12], xmm1
LONG $0x04c18348 // add rcx, 4
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JNE LBB1_1028
JMP LBB1_1109
LBB1_229:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1109
WORD $0x098a // mov cl, byte [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB1_231
LONG $0x12048d4a // lea rax, [rdx + r10]
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
JBE LBB1_587
LONG $0x10048d4b // lea rax, [r8 + r10]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB1_587
LBB1_231:
WORD $0xff31 // xor edi, edi
LBB1_647:
WORD $0x8949; BYTE $0xf9 // mov r9, rdi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd6 // mov rsi, r10
LONG $0x03e68348 // and rsi, 3
JE LBB1_649
LBB1_648:
LONG $0x3a04b60f // movzx eax, byte [rdx + rdi]
WORD $0xe1f6 // mul cl
LONG $0x38048841 // mov byte [r8 + rdi], al
LONG $0x01c78348 // add rdi, 1
LONG $0xffc68348 // add rsi, -1
JNE LBB1_648
LBB1_649:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1109
LBB1_650:
LONG $0x3a04b60f // movzx eax, byte [rdx + rdi]
WORD $0xe1f6 // mul cl
LONG $0x38048841 // mov byte [r8 + rdi], al
LONG $0x3a44b60f; BYTE $0x01 // movzx eax, byte [rdx + rdi + 1]
WORD $0xe1f6 // mul cl
LONG $0x38448841; BYTE $0x01 // mov byte [r8 + rdi + 1], al
LONG $0x3a44b60f; BYTE $0x02 // movzx eax, byte [rdx + rdi + 2]
WORD $0xe1f6 // mul cl
LONG $0x38448841; BYTE $0x02 // mov byte [r8 + rdi + 2], al
LONG $0x3a44b60f; BYTE $0x03 // movzx eax, byte [rdx + rdi + 3]
WORD $0xe1f6 // mul cl
LONG $0x38448841; BYTE $0x03 // mov byte [r8 + rdi + 3], al
LONG $0x04c78348 // add rdi, 4
WORD $0x3949; BYTE $0xfa // cmp r10, rdi
JNE LBB1_650
JMP LBB1_1109
LBB1_232:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1109
WORD $0x098a // mov cl, byte [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB1_234
LONG $0x12048d4a // lea rax, [rdx + r10]
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
JBE LBB1_589
LONG $0x10048d4b // lea rax, [r8 + r10]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB1_589
LBB1_234:
WORD $0xff31 // xor edi, edi
LBB1_657:
WORD $0x8949; BYTE $0xf9 // mov r9, rdi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd6 // mov rsi, r10
LONG $0x03e68348 // and rsi, 3
JE LBB1_659
LBB1_658:
LONG $0x3a04b60f // movzx eax, byte [rdx + rdi]
WORD $0xe1f6 // mul cl
LONG $0x38048841 // mov byte [r8 + rdi], al
LONG $0x01c78348 // add rdi, 1
LONG $0xffc68348 // add rsi, -1
JNE LBB1_658
LBB1_659:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1109
LBB1_660:
LONG $0x3a04b60f // movzx eax, byte [rdx + rdi]
WORD $0xe1f6 // mul cl
LONG $0x38048841 // mov byte [r8 + rdi], al
LONG $0x3a44b60f; BYTE $0x01 // movzx eax, byte [rdx + rdi + 1]
WORD $0xe1f6 // mul cl
LONG $0x38448841; BYTE $0x01 // mov byte [r8 + rdi + 1], al
LONG $0x3a44b60f; BYTE $0x02 // movzx eax, byte [rdx + rdi + 2]
WORD $0xe1f6 // mul cl
LONG $0x38448841; BYTE $0x02 // mov byte [r8 + rdi + 2], al
LONG $0x3a44b60f; BYTE $0x03 // movzx eax, byte [rdx + rdi + 3]
WORD $0xe1f6 // mul cl
LONG $0x38448841; BYTE $0x03 // mov byte [r8 + rdi + 3], al
LONG $0x04c78348 // add rdi, 4
WORD $0x3949; BYTE $0xfa // cmp r10, rdi
JNE LBB1_660
JMP LBB1_1109
LBB1_235:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1109
WORD $0x018a // mov al, byte [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x80f98141; WORD $0x0000; BYTE $0x00 // cmp r9d, 128
JB LBB1_237
LONG $0x120c8d4a // lea rcx, [rdx + r10]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_591
LONG $0x100c8d4b // lea rcx, [r8 + r10]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_591
LBB1_237:
WORD $0xf631 // xor esi, esi
LBB1_1033:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB1_1035
LBB1_1034:
LONG $0x320cb60f // movzx ecx, byte [rdx + rsi]
WORD $0xc100 // add cl, al
LONG $0x300c8841 // mov byte [r8 + rsi], cl
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB1_1034
LBB1_1035:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1109
LBB1_1036:
LONG $0x320cb60f // movzx ecx, byte [rdx + rsi]
WORD $0xc100 // add cl, al
LONG $0x300c8841 // mov byte [r8 + rsi], cl
LONG $0x324cb60f; BYTE $0x01 // movzx ecx, byte [rdx + rsi + 1]
WORD $0xc100 // add cl, al
LONG $0x304c8841; BYTE $0x01 // mov byte [r8 + rsi + 1], cl
LONG $0x324cb60f; BYTE $0x02 // movzx ecx, byte [rdx + rsi + 2]
WORD $0xc100 // add cl, al
LONG $0x304c8841; BYTE $0x02 // mov byte [r8 + rsi + 2], cl
LONG $0x324cb60f; BYTE $0x03 // movzx ecx, byte [rdx + rsi + 3]
WORD $0xc100 // add cl, al
LONG $0x304c8841; BYTE $0x03 // mov byte [r8 + rsi + 3], cl
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB1_1036
JMP LBB1_1109
LBB1_238:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1109
WORD $0x018a // mov al, byte [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x80f98141; WORD $0x0000; BYTE $0x00 // cmp r9d, 128
JB LBB1_240
LONG $0x120c8d4a // lea rcx, [rdx + r10]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_594
LONG $0x100c8d4b // lea rcx, [r8 + r10]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_594
LBB1_240:
WORD $0xf631 // xor esi, esi
LBB1_1041:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB1_1043
LBB1_1042:
LONG $0x320cb60f // movzx ecx, byte [rdx + rsi]
WORD $0xc128 // sub cl, al
LONG $0x300c8841 // mov byte [r8 + rsi], cl
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB1_1042
LBB1_1043:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1109
LBB1_1044:
LONG $0x320cb60f // movzx ecx, byte [rdx + rsi]
WORD $0xc128 // sub cl, al
LONG $0x300c8841 // mov byte [r8 + rsi], cl
LONG $0x324cb60f; BYTE $0x01 // movzx ecx, byte [rdx + rsi + 1]
WORD $0xc128 // sub cl, al
LONG $0x304c8841; BYTE $0x01 // mov byte [r8 + rsi + 1], cl
LONG $0x324cb60f; BYTE $0x02 // movzx ecx, byte [rdx + rsi + 2]
WORD $0xc128 // sub cl, al
LONG $0x304c8841; BYTE $0x02 // mov byte [r8 + rsi + 2], cl
LONG $0x324cb60f; BYTE $0x03 // movzx ecx, byte [rdx + rsi + 3]
WORD $0xc128 // sub cl, al
LONG $0x304c8841; BYTE $0x03 // mov byte [r8 + rsi + 3], cl
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB1_1044
JMP LBB1_1109
LBB1_241:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1109
WORD $0x018a // mov al, byte [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x80f98141; WORD $0x0000; BYTE $0x00 // cmp r9d, 128
JB LBB1_243
LONG $0x120c8d4a // lea rcx, [rdx + r10]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_597
LONG $0x100c8d4b // lea rcx, [r8 + r10]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_597
LBB1_243:
WORD $0xf631 // xor esi, esi
LBB1_1049:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB1_1051
LBB1_1050:
LONG $0x320cb60f // movzx ecx, byte [rdx + rsi]
WORD $0xc100 // add cl, al
LONG $0x300c8841 // mov byte [r8 + rsi], cl
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB1_1050
LBB1_1051:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1109
LBB1_1052:
LONG $0x320cb60f // movzx ecx, byte [rdx + rsi]
WORD $0xc100 // add cl, al
LONG $0x300c8841 // mov byte [r8 + rsi], cl
LONG $0x324cb60f; BYTE $0x01 // movzx ecx, byte [rdx + rsi + 1]
WORD $0xc100 // add cl, al
LONG $0x304c8841; BYTE $0x01 // mov byte [r8 + rsi + 1], cl
LONG $0x324cb60f; BYTE $0x02 // movzx ecx, byte [rdx + rsi + 2]
WORD $0xc100 // add cl, al
LONG $0x304c8841; BYTE $0x02 // mov byte [r8 + rsi + 2], cl
LONG $0x324cb60f; BYTE $0x03 // movzx ecx, byte [rdx + rsi + 3]
WORD $0xc100 // add cl, al
LONG $0x304c8841; BYTE $0x03 // mov byte [r8 + rsi + 3], cl
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB1_1052
JMP LBB1_1109
LBB1_244:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1109
WORD $0x018a // mov al, byte [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x80f98141; WORD $0x0000; BYTE $0x00 // cmp r9d, 128
JB LBB1_246
LONG $0x120c8d4a // lea rcx, [rdx + r10]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_600
LONG $0x100c8d4b // lea rcx, [r8 + r10]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_600
LBB1_246:
WORD $0xf631 // xor esi, esi
LBB1_1057:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB1_1059
LBB1_1058:
LONG $0x320cb60f // movzx ecx, byte [rdx + rsi]
WORD $0xc128 // sub cl, al
LONG $0x300c8841 // mov byte [r8 + rsi], cl
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB1_1058
LBB1_1059:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1109
LBB1_1060:
LONG $0x320cb60f // movzx ecx, byte [rdx + rsi]
WORD $0xc128 // sub cl, al
LONG $0x300c8841 // mov byte [r8 + rsi], cl
LONG $0x324cb60f; BYTE $0x01 // movzx ecx, byte [rdx + rsi + 1]
WORD $0xc128 // sub cl, al
LONG $0x304c8841; BYTE $0x01 // mov byte [r8 + rsi + 1], cl
LONG $0x324cb60f; BYTE $0x02 // movzx ecx, byte [rdx + rsi + 2]
WORD $0xc128 // sub cl, al
LONG $0x304c8841; BYTE $0x02 // mov byte [r8 + rsi + 2], cl
LONG $0x324cb60f; BYTE $0x03 // movzx ecx, byte [rdx + rsi + 3]
WORD $0xc128 // sub cl, al
LONG $0x304c8841; BYTE $0x03 // mov byte [r8 + rsi + 3], cl
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB1_1060
JMP LBB1_1109
LBB1_247:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1109
WORD $0x018b // mov eax, dword [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB1_249
LONG $0x920c8d4a // lea rcx, [rdx + 4*r10]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_603
LONG $0x900c8d4b // lea rcx, [r8 + 4*r10]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_603
LBB1_249:
WORD $0xf631 // xor esi, esi
LBB1_1065:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB1_1067
LBB1_1066:
WORD $0x0c8b; BYTE $0xb2 // mov ecx, dword [rdx + 4*rsi]
WORD $0xaf0f; BYTE $0xc8 // imul ecx, eax
LONG $0xb00c8941 // mov dword [r8 + 4*rsi], ecx
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB1_1066
LBB1_1067:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1109
LBB1_1068:
WORD $0x0c8b; BYTE $0xb2 // mov ecx, dword [rdx + 4*rsi]
WORD $0xaf0f; BYTE $0xc8 // imul ecx, eax
LONG $0xb00c8941 // mov dword [r8 + 4*rsi], ecx
LONG $0x04b24c8b // mov ecx, dword [rdx + 4*rsi + 4]
WORD $0xaf0f; BYTE $0xc8 // imul ecx, eax
LONG $0xb04c8941; BYTE $0x04 // mov dword [r8 + 4*rsi + 4], ecx
LONG $0x08b24c8b // mov ecx, dword [rdx + 4*rsi + 8]
WORD $0xaf0f; BYTE $0xc8 // imul ecx, eax
LONG $0xb04c8941; BYTE $0x08 // mov dword [r8 + 4*rsi + 8], ecx
LONG $0x0cb24c8b // mov ecx, dword [rdx + 4*rsi + 12]
WORD $0xaf0f; BYTE $0xc8 // imul ecx, eax
LONG $0xb04c8941; BYTE $0x0c // mov dword [r8 + 4*rsi + 12], ecx
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB1_1068
JMP LBB1_1109
LBB1_250:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1109
WORD $0x018b // mov eax, dword [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB1_252
LONG $0x920c8d4a // lea rcx, [rdx + 4*r10]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_606
LONG $0x900c8d4b // lea rcx, [r8 + 4*r10]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_606
LBB1_252:
WORD $0xf631 // xor esi, esi
LBB1_1073:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB1_1075
LBB1_1074:
WORD $0x0c8b; BYTE $0xb2 // mov ecx, dword [rdx + 4*rsi]
WORD $0xaf0f; BYTE $0xc8 // imul ecx, eax
LONG $0xb00c8941 // mov dword [r8 + 4*rsi], ecx
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB1_1074
LBB1_1075:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1109
LBB1_1076:
WORD $0x0c8b; BYTE $0xb2 // mov ecx, dword [rdx + 4*rsi]
WORD $0xaf0f; BYTE $0xc8 // imul ecx, eax
LONG $0xb00c8941 // mov dword [r8 + 4*rsi], ecx
LONG $0x04b24c8b // mov ecx, dword [rdx + 4*rsi + 4]
WORD $0xaf0f; BYTE $0xc8 // imul ecx, eax
LONG $0xb04c8941; BYTE $0x04 // mov dword [r8 + 4*rsi + 4], ecx
LONG $0x08b24c8b // mov ecx, dword [rdx + 4*rsi + 8]
WORD $0xaf0f; BYTE $0xc8 // imul ecx, eax
LONG $0xb04c8941; BYTE $0x08 // mov dword [r8 + 4*rsi + 8], ecx
LONG $0x0cb24c8b // mov ecx, dword [rdx + 4*rsi + 12]
WORD $0xaf0f; BYTE $0xc8 // imul ecx, eax
LONG $0xb04c8941; BYTE $0x0c // mov dword [r8 + 4*rsi + 12], ecx
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB1_1076
JMP LBB1_1109
LBB1_253:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1109
WORD $0x018b // mov eax, dword [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB1_255
LONG $0x920c8d4a // lea rcx, [rdx + 4*r10]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_609
LONG $0x900c8d4b // lea rcx, [r8 + 4*r10]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_609
LBB1_255:
WORD $0xf631 // xor esi, esi
LBB1_1081:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB1_1083
LBB1_1082:
WORD $0x0c8b; BYTE $0xb2 // mov ecx, dword [rdx + 4*rsi]
WORD $0xc101 // add ecx, eax
LONG $0xb00c8941 // mov dword [r8 + 4*rsi], ecx
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB1_1082
LBB1_1083:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1109
LBB1_1084:
WORD $0x0c8b; BYTE $0xb2 // mov ecx, dword [rdx + 4*rsi]
WORD $0xc101 // add ecx, eax
LONG $0xb00c8941 // mov dword [r8 + 4*rsi], ecx
LONG $0x04b24c8b // mov ecx, dword [rdx + 4*rsi + 4]
WORD $0xc101 // add ecx, eax
LONG $0xb04c8941; BYTE $0x04 // mov dword [r8 + 4*rsi + 4], ecx
LONG $0x08b24c8b // mov ecx, dword [rdx + 4*rsi + 8]
WORD $0xc101 // add ecx, eax
LONG $0xb04c8941; BYTE $0x08 // mov dword [r8 + 4*rsi + 8], ecx
LONG $0x0cb24c8b // mov ecx, dword [rdx + 4*rsi + 12]
WORD $0xc101 // add ecx, eax
LONG $0xb04c8941; BYTE $0x0c // mov dword [r8 + 4*rsi + 12], ecx
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB1_1084
JMP LBB1_1109
LBB1_256:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1109
WORD $0x018b // mov eax, dword [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB1_258
LONG $0x920c8d4a // lea rcx, [rdx + 4*r10]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_612
LONG $0x900c8d4b // lea rcx, [r8 + 4*r10]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_612
LBB1_258:
WORD $0xf631 // xor esi, esi
LBB1_1089:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB1_1091
LBB1_1090:
WORD $0x0c8b; BYTE $0xb2 // mov ecx, dword [rdx + 4*rsi]
WORD $0xc129 // sub ecx, eax
LONG $0xb00c8941 // mov dword [r8 + 4*rsi], ecx
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB1_1090
LBB1_1091:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1109
LBB1_1092:
WORD $0x0c8b; BYTE $0xb2 // mov ecx, dword [rdx + 4*rsi]
WORD $0xc129 // sub ecx, eax
LONG $0xb00c8941 // mov dword [r8 + 4*rsi], ecx
LONG $0x04b24c8b // mov ecx, dword [rdx + 4*rsi + 4]
WORD $0xc129 // sub ecx, eax
LONG $0xb04c8941; BYTE $0x04 // mov dword [r8 + 4*rsi + 4], ecx
LONG $0x08b24c8b // mov ecx, dword [rdx + 4*rsi + 8]
WORD $0xc129 // sub ecx, eax
LONG $0xb04c8941; BYTE $0x08 // mov dword [r8 + 4*rsi + 8], ecx
LONG $0x0cb24c8b // mov ecx, dword [rdx + 4*rsi + 12]
WORD $0xc129 // sub ecx, eax
LONG $0xb04c8941; BYTE $0x0c // mov dword [r8 + 4*rsi + 12], ecx
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB1_1092
JMP LBB1_1109
LBB1_259:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1109
WORD $0x018b // mov eax, dword [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB1_261
LONG $0x920c8d4a // lea rcx, [rdx + 4*r10]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_615
LONG $0x900c8d4b // lea rcx, [r8 + 4*r10]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_615
LBB1_261:
WORD $0xf631 // xor esi, esi
LBB1_1097:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB1_1099
LBB1_1098:
WORD $0x0c8b; BYTE $0xb2 // mov ecx, dword [rdx + 4*rsi]
WORD $0xc101 // add ecx, eax
LONG $0xb00c8941 // mov dword [r8 + 4*rsi], ecx
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB1_1098
LBB1_1099:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1109
LBB1_1100:
WORD $0x0c8b; BYTE $0xb2 // mov ecx, dword [rdx + 4*rsi]
WORD $0xc101 // add ecx, eax
LONG $0xb00c8941 // mov dword [r8 + 4*rsi], ecx
LONG $0x04b24c8b // mov ecx, dword [rdx + 4*rsi + 4]
WORD $0xc101 // add ecx, eax
LONG $0xb04c8941; BYTE $0x04 // mov dword [r8 + 4*rsi + 4], ecx
LONG $0x08b24c8b // mov ecx, dword [rdx + 4*rsi + 8]
WORD $0xc101 // add ecx, eax
LONG $0xb04c8941; BYTE $0x08 // mov dword [r8 + 4*rsi + 8], ecx
LONG $0x0cb24c8b // mov ecx, dword [rdx + 4*rsi + 12]
WORD $0xc101 // add ecx, eax
LONG $0xb04c8941; BYTE $0x0c // mov dword [r8 + 4*rsi + 12], ecx
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB1_1100
JMP LBB1_1109
LBB1_262:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1109
WORD $0x018b // mov eax, dword [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB1_264
LONG $0x920c8d4a // lea rcx, [rdx + 4*r10]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_618
LONG $0x900c8d4b // lea rcx, [r8 + 4*r10]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_618
LBB1_264:
WORD $0xf631 // xor esi, esi
LBB1_1105:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB1_1107
LBB1_1106:
WORD $0x0c8b; BYTE $0xb2 // mov ecx, dword [rdx + 4*rsi]
WORD $0xc129 // sub ecx, eax
LONG $0xb00c8941 // mov dword [r8 + 4*rsi], ecx
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB1_1106
LBB1_1107:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1109
LBB1_1108:
WORD $0x0c8b; BYTE $0xb2 // mov ecx, dword [rdx + 4*rsi]
WORD $0xc129 // sub ecx, eax
LONG $0xb00c8941 // mov dword [r8 + 4*rsi], ecx
LONG $0x04b24c8b // mov ecx, dword [rdx + 4*rsi + 4]
WORD $0xc129 // sub ecx, eax
LONG $0xb04c8941; BYTE $0x04 // mov dword [r8 + 4*rsi + 4], ecx
LONG $0x08b24c8b // mov ecx, dword [rdx + 4*rsi + 8]
WORD $0xc129 // sub ecx, eax
LONG $0xb04c8941; BYTE $0x08 // mov dword [r8 + 4*rsi + 8], ecx
LONG $0x0cb24c8b // mov ecx, dword [rdx + 4*rsi + 12]
WORD $0xc129 // sub ecx, eax
LONG $0xb04c8941; BYTE $0x0c // mov dword [r8 + 4*rsi + 12], ecx
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB1_1108
JMP LBB1_1109
LBB1_445:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0xc06ef9c5 // vmovd xmm0, eax
LONG $0x587de2c4; BYTE $0xc0 // vpbroadcastd ymm0, xmm0
LONG $0xe04e8d48 // lea rcx, [rsi - 32]
WORD $0x8949; BYTE $0xc9 // mov r9, rcx
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc9 // test rcx, rcx
JE LBB1_661
WORD $0x894c; BYTE $0xc9 // mov rcx, r9
LONG $0xfee18348 // and rcx, -2
WORD $0xf748; BYTE $0xd9 // neg rcx
WORD $0xff31 // xor edi, edi
LBB1_447:
LONG $0x407de2c4; WORD $0xba0c // vpmulld ymm1, ymm0, yword [rdx + 4*rdi]
LONG $0x407de2c4; WORD $0xba54; BYTE $0x20 // vpmulld ymm2, ymm0, yword [rdx + 4*rdi + 32]
LONG $0x407de2c4; WORD $0xba5c; BYTE $0x40 // vpmulld ymm3, ymm0, yword [rdx + 4*rdi + 64]
LONG $0x407de2c4; WORD $0xba64; BYTE $0x60 // vpmulld ymm4, ymm0, yword [rdx + 4*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xb80c // vmovdqu yword [r8 + 4*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xb854; BYTE $0x20 // vmovdqu yword [r8 + 4*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xb85c; BYTE $0x40 // vmovdqu yword [r8 + 4*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xb864; BYTE $0x60 // vmovdqu yword [r8 + 4*rdi + 96], ymm4
QUAD $0x0080ba8c407de2c4; WORD $0x0000 // vpmulld ymm1, ymm0, yword [rdx + 4*rdi + 128]
QUAD $0x00a0ba94407de2c4; WORD $0x0000 // vpmulld ymm2, ymm0, yword [rdx + 4*rdi + 160]
QUAD $0x00c0ba9c407de2c4; WORD $0x0000 // vpmulld ymm3, ymm0, yword [rdx + 4*rdi + 192]
QUAD $0x00e0baa4407de2c4; WORD $0x0000 // vpmulld ymm4, ymm0, yword [rdx + 4*rdi + 224]
QUAD $0x0080b88c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 128], ymm1
QUAD $0x00a0b8947f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 160], ymm2
QUAD $0x00c0b89c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 192], ymm3
QUAD $0x00e0b8a47f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 224], ymm4
LONG $0x40c78348 // add rdi, 64
LONG $0x02c18348 // add rcx, 2
JNE LBB1_447
JMP LBB1_662
LBB1_448:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0xc06ef9c5 // vmovd xmm0, eax
LONG $0x587de2c4; BYTE $0xc0 // vpbroadcastd ymm0, xmm0
LONG $0xe04e8d48 // lea rcx, [rsi - 32]
WORD $0x8949; BYTE $0xc9 // mov r9, rcx
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc9 // test rcx, rcx
JE LBB1_669
WORD $0x894c; BYTE $0xc9 // mov rcx, r9
LONG $0xfee18348 // and rcx, -2
WORD $0xf748; BYTE $0xd9 // neg rcx
WORD $0xff31 // xor edi, edi
LBB1_450:
LONG $0x407de2c4; WORD $0xba0c // vpmulld ymm1, ymm0, yword [rdx + 4*rdi]
LONG $0x407de2c4; WORD $0xba54; BYTE $0x20 // vpmulld ymm2, ymm0, yword [rdx + 4*rdi + 32]
LONG $0x407de2c4; WORD $0xba5c; BYTE $0x40 // vpmulld ymm3, ymm0, yword [rdx + 4*rdi + 64]
LONG $0x407de2c4; WORD $0xba64; BYTE $0x60 // vpmulld ymm4, ymm0, yword [rdx + 4*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xb80c // vmovdqu yword [r8 + 4*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xb854; BYTE $0x20 // vmovdqu yword [r8 + 4*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xb85c; BYTE $0x40 // vmovdqu yword [r8 + 4*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xb864; BYTE $0x60 // vmovdqu yword [r8 + 4*rdi + 96], ymm4
QUAD $0x0080ba8c407de2c4; WORD $0x0000 // vpmulld ymm1, ymm0, yword [rdx + 4*rdi + 128]
QUAD $0x00a0ba94407de2c4; WORD $0x0000 // vpmulld ymm2, ymm0, yword [rdx + 4*rdi + 160]
QUAD $0x00c0ba9c407de2c4; WORD $0x0000 // vpmulld ymm3, ymm0, yword [rdx + 4*rdi + 192]
QUAD $0x00e0baa4407de2c4; WORD $0x0000 // vpmulld ymm4, ymm0, yword [rdx + 4*rdi + 224]
QUAD $0x0080b88c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 128], ymm1
QUAD $0x00a0b8947f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 160], ymm2
QUAD $0x00c0b89c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 192], ymm3
QUAD $0x00e0b8a47f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 224], ymm4
LONG $0x40c78348 // add rdi, 64
LONG $0x02c18348 // add rcx, 2
JNE LBB1_450
JMP LBB1_670
LBB1_451:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0xc06ef9c5 // vmovd xmm0, eax
LONG $0x587de2c4; BYTE $0xc0 // vpbroadcastd ymm0, xmm0
LONG $0xe04e8d48 // lea rcx, [rsi - 32]
WORD $0x8949; BYTE $0xc9 // mov r9, rcx
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc9 // test rcx, rcx
JE LBB1_677
WORD $0x894c; BYTE $0xc9 // mov rcx, r9
LONG $0xfee18348 // and rcx, -2
WORD $0xf748; BYTE $0xd9 // neg rcx
WORD $0xff31 // xor edi, edi
LBB1_453:
LONG $0x0cfefdc5; BYTE $0xba // vpaddd ymm1, ymm0, yword [rdx + 4*rdi]
LONG $0x54fefdc5; WORD $0x20ba // vpaddd ymm2, ymm0, yword [rdx + 4*rdi + 32]
LONG $0x5cfefdc5; WORD $0x40ba // vpaddd ymm3, ymm0, yword [rdx + 4*rdi + 64]
LONG $0x64fefdc5; WORD $0x60ba // vpaddd ymm4, ymm0, yword [rdx + 4*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xb80c // vmovdqu yword [r8 + 4*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xb854; BYTE $0x20 // vmovdqu yword [r8 + 4*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xb85c; BYTE $0x40 // vmovdqu yword [r8 + 4*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xb864; BYTE $0x60 // vmovdqu yword [r8 + 4*rdi + 96], ymm4
QUAD $0x000080ba8cfefdc5; BYTE $0x00 // vpaddd ymm1, ymm0, yword [rdx + 4*rdi + 128]
QUAD $0x0000a0ba94fefdc5; BYTE $0x00 // vpaddd ymm2, ymm0, yword [rdx + 4*rdi + 160]
QUAD $0x0000c0ba9cfefdc5; BYTE $0x00 // vpaddd ymm3, ymm0, yword [rdx + 4*rdi + 192]
QUAD $0x0000e0baa4fefdc5; BYTE $0x00 // vpaddd ymm4, ymm0, yword [rdx + 4*rdi + 224]
QUAD $0x0080b88c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 128], ymm1
QUAD $0x00a0b8947f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 160], ymm2
QUAD $0x00c0b89c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 192], ymm3
QUAD $0x00e0b8a47f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 224], ymm4
LONG $0x40c78348 // add rdi, 64
LONG $0x02c18348 // add rcx, 2
JNE LBB1_453
JMP LBB1_678
LBB1_454:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0xc06ef9c5 // vmovd xmm0, eax
LONG $0x587de2c4; BYTE $0xc0 // vpbroadcastd ymm0, xmm0
LONG $0xe04e8d48 // lea rcx, [rsi - 32]
WORD $0x8949; BYTE $0xc9 // mov r9, rcx
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc9 // test rcx, rcx
JE LBB1_685
WORD $0x894c; BYTE $0xc9 // mov rcx, r9
LONG $0xfee18348 // and rcx, -2
WORD $0xf748; BYTE $0xd9 // neg rcx
WORD $0xff31 // xor edi, edi
LBB1_456:
LONG $0x0c6ffec5; BYTE $0xba // vmovdqu ymm1, yword [rdx + 4*rdi]
LONG $0x546ffec5; WORD $0x20ba // vmovdqu ymm2, yword [rdx + 4*rdi + 32]
LONG $0x5c6ffec5; WORD $0x40ba // vmovdqu ymm3, yword [rdx + 4*rdi + 64]
LONG $0x646ffec5; WORD $0x60ba // vmovdqu ymm4, yword [rdx + 4*rdi + 96]
LONG $0xc8faf5c5 // vpsubd ymm1, ymm1, ymm0
LONG $0xd0faedc5 // vpsubd ymm2, ymm2, ymm0
LONG $0xd8fae5c5 // vpsubd ymm3, ymm3, ymm0
LONG $0xe0faddc5 // vpsubd ymm4, ymm4, ymm0
LONG $0x7f7ec1c4; WORD $0xb80c // vmovdqu yword [r8 + 4*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xb854; BYTE $0x20 // vmovdqu yword [r8 + 4*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xb85c; BYTE $0x40 // vmovdqu yword [r8 + 4*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xb864; BYTE $0x60 // vmovdqu yword [r8 + 4*rdi + 96], ymm4
QUAD $0x000080ba8c6ffec5; BYTE $0x00 // vmovdqu ymm1, yword [rdx + 4*rdi + 128]
QUAD $0x0000a0ba946ffec5; BYTE $0x00 // vmovdqu ymm2, yword [rdx + 4*rdi + 160]
QUAD $0x0000c0ba9c6ffec5; BYTE $0x00 // vmovdqu ymm3, yword [rdx + 4*rdi + 192]
QUAD $0x0000e0baa46ffec5; BYTE $0x00 // vmovdqu ymm4, yword [rdx + 4*rdi + 224]
LONG $0xc8faf5c5 // vpsubd ymm1, ymm1, ymm0
LONG $0xd0faedc5 // vpsubd ymm2, ymm2, ymm0
LONG $0xd8fae5c5 // vpsubd ymm3, ymm3, ymm0
LONG $0xe0faddc5 // vpsubd ymm4, ymm4, ymm0
QUAD $0x0080b88c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 128], ymm1
QUAD $0x00a0b8947f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 160], ymm2
QUAD $0x00c0b89c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 192], ymm3
QUAD $0x00e0b8a47f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 224], ymm4
LONG $0x40c78348 // add rdi, 64
LONG $0x02c18348 // add rcx, 2
JNE LBB1_456
JMP LBB1_686
LBB1_457:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0xc06ef9c5 // vmovd xmm0, eax
LONG $0x587de2c4; BYTE $0xc0 // vpbroadcastd ymm0, xmm0
LONG $0xe04e8d48 // lea rcx, [rsi - 32]
WORD $0x8949; BYTE $0xc9 // mov r9, rcx
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc9 // test rcx, rcx
JE LBB1_693
WORD $0x894c; BYTE $0xc9 // mov rcx, r9
LONG $0xfee18348 // and rcx, -2
WORD $0xf748; BYTE $0xd9 // neg rcx
WORD $0xff31 // xor edi, edi
LBB1_459:
LONG $0x0cfefdc5; BYTE $0xba // vpaddd ymm1, ymm0, yword [rdx + 4*rdi]
LONG $0x54fefdc5; WORD $0x20ba // vpaddd ymm2, ymm0, yword [rdx + 4*rdi + 32]
LONG $0x5cfefdc5; WORD $0x40ba // vpaddd ymm3, ymm0, yword [rdx + 4*rdi + 64]
LONG $0x64fefdc5; WORD $0x60ba // vpaddd ymm4, ymm0, yword [rdx + 4*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xb80c // vmovdqu yword [r8 + 4*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xb854; BYTE $0x20 // vmovdqu yword [r8 + 4*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xb85c; BYTE $0x40 // vmovdqu yword [r8 + 4*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xb864; BYTE $0x60 // vmovdqu yword [r8 + 4*rdi + 96], ymm4
QUAD $0x000080ba8cfefdc5; BYTE $0x00 // vpaddd ymm1, ymm0, yword [rdx + 4*rdi + 128]
QUAD $0x0000a0ba94fefdc5; BYTE $0x00 // vpaddd ymm2, ymm0, yword [rdx + 4*rdi + 160]
QUAD $0x0000c0ba9cfefdc5; BYTE $0x00 // vpaddd ymm3, ymm0, yword [rdx + 4*rdi + 192]
QUAD $0x0000e0baa4fefdc5; BYTE $0x00 // vpaddd ymm4, ymm0, yword [rdx + 4*rdi + 224]
QUAD $0x0080b88c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 128], ymm1
QUAD $0x00a0b8947f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 160], ymm2
QUAD $0x00c0b89c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 192], ymm3
QUAD $0x00e0b8a47f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 224], ymm4
LONG $0x40c78348 // add rdi, 64
LONG $0x02c18348 // add rcx, 2
JNE LBB1_459
JMP LBB1_694
LBB1_460:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0xc06ef9c5 // vmovd xmm0, eax
LONG $0x587de2c4; BYTE $0xc0 // vpbroadcastd ymm0, xmm0
LONG $0xe04e8d48 // lea rcx, [rsi - 32]
WORD $0x8949; BYTE $0xc9 // mov r9, rcx
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc9 // test rcx, rcx
JE LBB1_701
WORD $0x894c; BYTE $0xc9 // mov rcx, r9
LONG $0xfee18348 // and rcx, -2
WORD $0xf748; BYTE $0xd9 // neg rcx
WORD $0xff31 // xor edi, edi
LBB1_462:
LONG $0x0c6ffec5; BYTE $0xba // vmovdqu ymm1, yword [rdx + 4*rdi]
LONG $0x546ffec5; WORD $0x20ba // vmovdqu ymm2, yword [rdx + 4*rdi + 32]
LONG $0x5c6ffec5; WORD $0x40ba // vmovdqu ymm3, yword [rdx + 4*rdi + 64]
LONG $0x646ffec5; WORD $0x60ba // vmovdqu ymm4, yword [rdx + 4*rdi + 96]
LONG $0xc8faf5c5 // vpsubd ymm1, ymm1, ymm0
LONG $0xd0faedc5 // vpsubd ymm2, ymm2, ymm0
LONG $0xd8fae5c5 // vpsubd ymm3, ymm3, ymm0
LONG $0xe0faddc5 // vpsubd ymm4, ymm4, ymm0
LONG $0x7f7ec1c4; WORD $0xb80c // vmovdqu yword [r8 + 4*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xb854; BYTE $0x20 // vmovdqu yword [r8 + 4*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xb85c; BYTE $0x40 // vmovdqu yword [r8 + 4*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xb864; BYTE $0x60 // vmovdqu yword [r8 + 4*rdi + 96], ymm4
QUAD $0x000080ba8c6ffec5; BYTE $0x00 // vmovdqu ymm1, yword [rdx + 4*rdi + 128]
QUAD $0x0000a0ba946ffec5; BYTE $0x00 // vmovdqu ymm2, yword [rdx + 4*rdi + 160]
QUAD $0x0000c0ba9c6ffec5; BYTE $0x00 // vmovdqu ymm3, yword [rdx + 4*rdi + 192]
QUAD $0x0000e0baa46ffec5; BYTE $0x00 // vmovdqu ymm4, yword [rdx + 4*rdi + 224]
LONG $0xc8faf5c5 // vpsubd ymm1, ymm1, ymm0
LONG $0xd0faedc5 // vpsubd ymm2, ymm2, ymm0
LONG $0xd8fae5c5 // vpsubd ymm3, ymm3, ymm0
LONG $0xe0faddc5 // vpsubd ymm4, ymm4, ymm0
QUAD $0x0080b88c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 128], ymm1
QUAD $0x00a0b8947f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 160], ymm2
QUAD $0x00c0b89c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 192], ymm3
QUAD $0x00e0b8a47f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 224], ymm4
LONG $0x40c78348 // add rdi, 64
LONG $0x02c18348 // add rcx, 2
JNE LBB1_462
JMP LBB1_702
LBB1_463:
WORD $0xc189 // mov ecx, eax
WORD $0xe183; BYTE $0xf0 // and ecx, -16
LONG $0x197de2c4; BYTE $0xc8 // vbroadcastsd ymm1, xmm0
LONG $0xf0718d48 // lea rsi, [rcx - 16]
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
LONG $0x04e9c149 // shr r9, 4
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xf6 // test rsi, rsi
JE LBB1_709
WORD $0x894c; BYTE $0xce // mov rsi, r9
LONG $0xfee68348 // and rsi, -2
WORD $0xf748; BYTE $0xde // neg rsi
WORD $0xff31 // xor edi, edi
LBB1_465:
LONG $0x1459f5c5; BYTE $0xfa // vmulpd ymm2, ymm1, yword [rdx + 8*rdi]
LONG $0x5c59f5c5; WORD $0x20fa // vmulpd ymm3, ymm1, yword [rdx + 8*rdi + 32]
LONG $0x6459f5c5; WORD $0x40fa // vmulpd ymm4, ymm1, yword [rdx + 8*rdi + 64]
LONG $0x6c59f5c5; WORD $0x60fa // vmulpd ymm5, ymm1, yword [rdx + 8*rdi + 96]
LONG $0x117dc1c4; WORD $0xf814 // vmovupd yword [r8 + 8*rdi], ymm2
LONG $0x117dc1c4; WORD $0xf85c; BYTE $0x20 // vmovupd yword [r8 + 8*rdi + 32], ymm3
LONG $0x117dc1c4; WORD $0xf864; BYTE $0x40 // vmovupd yword [r8 + 8*rdi + 64], ymm4
LONG $0x117dc1c4; WORD $0xf86c; BYTE $0x60 // vmovupd yword [r8 + 8*rdi + 96], ymm5
QUAD $0x000080fa9459f5c5; BYTE $0x00 // vmulpd ymm2, ymm1, yword [rdx + 8*rdi + 128]
QUAD $0x0000a0fa9c59f5c5; BYTE $0x00 // vmulpd ymm3, ymm1, yword [rdx + 8*rdi + 160]
QUAD $0x0000c0faa459f5c5; BYTE $0x00 // vmulpd ymm4, ymm1, yword [rdx + 8*rdi + 192]
QUAD $0x0000e0faac59f5c5; BYTE $0x00 // vmulpd ymm5, ymm1, yword [rdx + 8*rdi + 224]
QUAD $0x0080f894117dc1c4; WORD $0x0000 // vmovupd yword [r8 + 8*rdi + 128], ymm2
QUAD $0x00a0f89c117dc1c4; WORD $0x0000 // vmovupd yword [r8 + 8*rdi + 160], ymm3
QUAD $0x00c0f8a4117dc1c4; WORD $0x0000 // vmovupd yword [r8 + 8*rdi + 192], ymm4
QUAD $0x00e0f8ac117dc1c4; WORD $0x0000 // vmovupd yword [r8 + 8*rdi + 224], ymm5
LONG $0x20c78348 // add rdi, 32
LONG $0x02c68348 // add rsi, 2
JNE LBB1_465
JMP LBB1_710
LBB1_466:
WORD $0xc189 // mov ecx, eax
WORD $0xe183; BYTE $0xf0 // and ecx, -16
LONG $0x197de2c4; BYTE $0xc8 // vbroadcastsd ymm1, xmm0
LONG $0xf0718d48 // lea rsi, [rcx - 16]
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
LONG $0x04e9c149 // shr r9, 4
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xf6 // test rsi, rsi
JE LBB1_717
WORD $0x894c; BYTE $0xce // mov rsi, r9
LONG $0xfee68348 // and rsi, -2
WORD $0xf748; BYTE $0xde // neg rsi
WORD $0xff31 // xor edi, edi
LBB1_468:
LONG $0x1459f5c5; BYTE $0xfa // vmulpd ymm2, ymm1, yword [rdx + 8*rdi]
LONG $0x5c59f5c5; WORD $0x20fa // vmulpd ymm3, ymm1, yword [rdx + 8*rdi + 32]
LONG $0x6459f5c5; WORD $0x40fa // vmulpd ymm4, ymm1, yword [rdx + 8*rdi + 64]
LONG $0x6c59f5c5; WORD $0x60fa // vmulpd ymm5, ymm1, yword [rdx + 8*rdi + 96]
LONG $0x117dc1c4; WORD $0xf814 // vmovupd yword [r8 + 8*rdi], ymm2
LONG $0x117dc1c4; WORD $0xf85c; BYTE $0x20 // vmovupd yword [r8 + 8*rdi + 32], ymm3
LONG $0x117dc1c4; WORD $0xf864; BYTE $0x40 // vmovupd yword [r8 + 8*rdi + 64], ymm4
LONG $0x117dc1c4; WORD $0xf86c; BYTE $0x60 // vmovupd yword [r8 + 8*rdi + 96], ymm5
QUAD $0x000080fa9459f5c5; BYTE $0x00 // vmulpd ymm2, ymm1, yword [rdx + 8*rdi + 128]
QUAD $0x0000a0fa9c59f5c5; BYTE $0x00 // vmulpd ymm3, ymm1, yword [rdx + 8*rdi + 160]
QUAD $0x0000c0faa459f5c5; BYTE $0x00 // vmulpd ymm4, ymm1, yword [rdx + 8*rdi + 192]
QUAD $0x0000e0faac59f5c5; BYTE $0x00 // vmulpd ymm5, ymm1, yword [rdx + 8*rdi + 224]
QUAD $0x0080f894117dc1c4; WORD $0x0000 // vmovupd yword [r8 + 8*rdi + 128], ymm2
QUAD $0x00a0f89c117dc1c4; WORD $0x0000 // vmovupd yword [r8 + 8*rdi + 160], ymm3
QUAD $0x00c0f8a4117dc1c4; WORD $0x0000 // vmovupd yword [r8 + 8*rdi + 192], ymm4
QUAD $0x00e0f8ac117dc1c4; WORD $0x0000 // vmovupd yword [r8 + 8*rdi + 224], ymm5
LONG $0x20c78348 // add rdi, 32
LONG $0x02c68348 // add rsi, 2
JNE LBB1_468
JMP LBB1_718
LBB1_469:
WORD $0xc189 // mov ecx, eax
WORD $0xe183; BYTE $0xf0 // and ecx, -16
LONG $0x197de2c4; BYTE $0xc8 // vbroadcastsd ymm1, xmm0
LONG $0xf0718d48 // lea rsi, [rcx - 16]
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
LONG $0x04e9c149 // shr r9, 4
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xf6 // test rsi, rsi
JE LBB1_725
WORD $0x894c; BYTE $0xce // mov rsi, r9
LONG $0xfee68348 // and rsi, -2
WORD $0xf748; BYTE $0xde // neg rsi
WORD $0xff31 // xor edi, edi
LBB1_471:
LONG $0x1458f5c5; BYTE $0xfa // vaddpd ymm2, ymm1, yword [rdx + 8*rdi]
LONG $0x5c58f5c5; WORD $0x20fa // vaddpd ymm3, ymm1, yword [rdx + 8*rdi + 32]
LONG $0x6458f5c5; WORD $0x40fa // vaddpd ymm4, ymm1, yword [rdx + 8*rdi + 64]
LONG $0x6c58f5c5; WORD $0x60fa // vaddpd ymm5, ymm1, yword [rdx + 8*rdi + 96]
LONG $0x117dc1c4; WORD $0xf814 // vmovupd yword [r8 + 8*rdi], ymm2
LONG $0x117dc1c4; WORD $0xf85c; BYTE $0x20 // vmovupd yword [r8 + 8*rdi + 32], ymm3
LONG $0x117dc1c4; WORD $0xf864; BYTE $0x40 // vmovupd yword [r8 + 8*rdi + 64], ymm4
LONG $0x117dc1c4; WORD $0xf86c; BYTE $0x60 // vmovupd yword [r8 + 8*rdi + 96], ymm5
QUAD $0x000080fa9458f5c5; BYTE $0x00 // vaddpd ymm2, ymm1, yword [rdx + 8*rdi + 128]
QUAD $0x0000a0fa9c58f5c5; BYTE $0x00 // vaddpd ymm3, ymm1, yword [rdx + 8*rdi + 160]
QUAD $0x0000c0faa458f5c5; BYTE $0x00 // vaddpd ymm4, ymm1, yword [rdx + 8*rdi + 192]
QUAD $0x0000e0faac58f5c5; BYTE $0x00 // vaddpd ymm5, ymm1, yword [rdx + 8*rdi + 224]
QUAD $0x0080f894117dc1c4; WORD $0x0000 // vmovupd yword [r8 + 8*rdi + 128], ymm2
QUAD $0x00a0f89c117dc1c4; WORD $0x0000 // vmovupd yword [r8 + 8*rdi + 160], ymm3
QUAD $0x00c0f8a4117dc1c4; WORD $0x0000 // vmovupd yword [r8 + 8*rdi + 192], ymm4
QUAD $0x00e0f8ac117dc1c4; WORD $0x0000 // vmovupd yword [r8 + 8*rdi + 224], ymm5
LONG $0x20c78348 // add rdi, 32
LONG $0x02c68348 // add rsi, 2
JNE LBB1_471
JMP LBB1_726
LBB1_472:
WORD $0xc189 // mov ecx, eax
WORD $0xe183; BYTE $0xf0 // and ecx, -16
LONG $0x197de2c4; BYTE $0xc8 // vbroadcastsd ymm1, xmm0
LONG $0xf0718d48 // lea rsi, [rcx - 16]
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
LONG $0x04e9c149 // shr r9, 4
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xf6 // test rsi, rsi
JE LBB1_733
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
LBB1_474:
LONG $0x1410fdc5; BYTE $0xf2 // vmovupd ymm2, yword [rdx + 8*rsi]
LONG $0x5c10fdc5; WORD $0x20f2 // vmovupd ymm3, yword [rdx + 8*rsi + 32]
LONG $0x6410fdc5; WORD $0x40f2 // vmovupd ymm4, yword [rdx + 8*rsi + 64]
LONG $0x6c10fdc5; WORD $0x60f2 // vmovupd ymm5, yword [rdx + 8*rsi + 96]
LONG $0xd15cedc5 // vsubpd ymm2, ymm2, ymm1
LONG $0xd95ce5c5 // vsubpd ymm3, ymm3, ymm1
LONG $0xe15cddc5 // vsubpd ymm4, ymm4, ymm1
LONG $0xe95cd5c5 // vsubpd ymm5, ymm5, ymm1
LONG $0x117dc1c4; WORD $0xf014 // vmovupd yword [r8 + 8*rsi], ymm2
LONG $0x117dc1c4; WORD $0xf05c; BYTE $0x20 // vmovupd yword [r8 + 8*rsi + 32], ymm3
LONG $0x117dc1c4; WORD $0xf064; BYTE $0x40 // vmovupd yword [r8 + 8*rsi + 64], ymm4
LONG $0x117dc1c4; WORD $0xf06c; BYTE $0x60 // vmovupd yword [r8 + 8*rsi + 96], ymm5
QUAD $0x000080f29410fdc5; BYTE $0x00 // vmovupd ymm2, yword [rdx + 8*rsi + 128]
QUAD $0x0000a0f29c10fdc5; BYTE $0x00 // vmovupd ymm3, yword [rdx + 8*rsi + 160]
QUAD $0x0000c0f2a410fdc5; BYTE $0x00 // vmovupd ymm4, yword [rdx + 8*rsi + 192]
QUAD $0x0000e0f2ac10fdc5; BYTE $0x00 // vmovupd ymm5, yword [rdx + 8*rsi + 224]
LONG $0xd15cedc5 // vsubpd ymm2, ymm2, ymm1
LONG $0xd95ce5c5 // vsubpd ymm3, ymm3, ymm1
LONG $0xe15cddc5 // vsubpd ymm4, ymm4, ymm1
LONG $0xe95cd5c5 // vsubpd ymm5, ymm5, ymm1
QUAD $0x0080f094117dc1c4; WORD $0x0000 // vmovupd yword [r8 + 8*rsi + 128], ymm2
QUAD $0x00a0f09c117dc1c4; WORD $0x0000 // vmovupd yword [r8 + 8*rsi + 160], ymm3
QUAD $0x00c0f0a4117dc1c4; WORD $0x0000 // vmovupd yword [r8 + 8*rsi + 192], ymm4
QUAD $0x00e0f0ac117dc1c4; WORD $0x0000 // vmovupd yword [r8 + 8*rsi + 224], ymm5
LONG $0x20c68348 // add rsi, 32
LONG $0x02c78348 // add rdi, 2
JNE LBB1_474
JMP LBB1_734
LBB1_475:
WORD $0xc189 // mov ecx, eax
WORD $0xe183; BYTE $0xf0 // and ecx, -16
LONG $0x197de2c4; BYTE $0xc8 // vbroadcastsd ymm1, xmm0
LONG $0xf0718d48 // lea rsi, [rcx - 16]
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
LONG $0x04e9c149 // shr r9, 4
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xf6 // test rsi, rsi
JE LBB1_741
WORD $0x894c; BYTE $0xce // mov rsi, r9
LONG $0xfee68348 // and rsi, -2
WORD $0xf748; BYTE $0xde // neg rsi
WORD $0xff31 // xor edi, edi
LBB1_477:
LONG $0x1458f5c5; BYTE $0xfa // vaddpd ymm2, ymm1, yword [rdx + 8*rdi]
LONG $0x5c58f5c5; WORD $0x20fa // vaddpd ymm3, ymm1, yword [rdx + 8*rdi + 32]
LONG $0x6458f5c5; WORD $0x40fa // vaddpd ymm4, ymm1, yword [rdx + 8*rdi + 64]
LONG $0x6c58f5c5; WORD $0x60fa // vaddpd ymm5, ymm1, yword [rdx + 8*rdi + 96]
LONG $0x117dc1c4; WORD $0xf814 // vmovupd yword [r8 + 8*rdi], ymm2
LONG $0x117dc1c4; WORD $0xf85c; BYTE $0x20 // vmovupd yword [r8 + 8*rdi + 32], ymm3
LONG $0x117dc1c4; WORD $0xf864; BYTE $0x40 // vmovupd yword [r8 + 8*rdi + 64], ymm4
LONG $0x117dc1c4; WORD $0xf86c; BYTE $0x60 // vmovupd yword [r8 + 8*rdi + 96], ymm5
QUAD $0x000080fa9458f5c5; BYTE $0x00 // vaddpd ymm2, ymm1, yword [rdx + 8*rdi + 128]
QUAD $0x0000a0fa9c58f5c5; BYTE $0x00 // vaddpd ymm3, ymm1, yword [rdx + 8*rdi + 160]
QUAD $0x0000c0faa458f5c5; BYTE $0x00 // vaddpd ymm4, ymm1, yword [rdx + 8*rdi + 192]
QUAD $0x0000e0faac58f5c5; BYTE $0x00 // vaddpd ymm5, ymm1, yword [rdx + 8*rdi + 224]
QUAD $0x0080f894117dc1c4; WORD $0x0000 // vmovupd yword [r8 + 8*rdi + 128], ymm2
QUAD $0x00a0f89c117dc1c4; WORD $0x0000 // vmovupd yword [r8 + 8*rdi + 160], ymm3
QUAD $0x00c0f8a4117dc1c4; WORD $0x0000 // vmovupd yword [r8 + 8*rdi + 192], ymm4
QUAD $0x00e0f8ac117dc1c4; WORD $0x0000 // vmovupd yword [r8 + 8*rdi + 224], ymm5
LONG $0x20c78348 // add rdi, 32
LONG $0x02c68348 // add rsi, 2
JNE LBB1_477
JMP LBB1_742
LBB1_478:
WORD $0xc189 // mov ecx, eax
WORD $0xe183; BYTE $0xf0 // and ecx, -16
LONG $0x197de2c4; BYTE $0xc8 // vbroadcastsd ymm1, xmm0
LONG $0xf0718d48 // lea rsi, [rcx - 16]
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
LONG $0x04e9c149 // shr r9, 4
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xf6 // test rsi, rsi
JE LBB1_749
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
LBB1_480:
LONG $0x1410fdc5; BYTE $0xf2 // vmovupd ymm2, yword [rdx + 8*rsi]
LONG $0x5c10fdc5; WORD $0x20f2 // vmovupd ymm3, yword [rdx + 8*rsi + 32]
LONG $0x6410fdc5; WORD $0x40f2 // vmovupd ymm4, yword [rdx + 8*rsi + 64]
LONG $0x6c10fdc5; WORD $0x60f2 // vmovupd ymm5, yword [rdx + 8*rsi + 96]
LONG $0xd15cedc5 // vsubpd ymm2, ymm2, ymm1
LONG $0xd95ce5c5 // vsubpd ymm3, ymm3, ymm1
LONG $0xe15cddc5 // vsubpd ymm4, ymm4, ymm1
LONG $0xe95cd5c5 // vsubpd ymm5, ymm5, ymm1
LONG $0x117dc1c4; WORD $0xf014 // vmovupd yword [r8 + 8*rsi], ymm2
LONG $0x117dc1c4; WORD $0xf05c; BYTE $0x20 // vmovupd yword [r8 + 8*rsi + 32], ymm3
LONG $0x117dc1c4; WORD $0xf064; BYTE $0x40 // vmovupd yword [r8 + 8*rsi + 64], ymm4
LONG $0x117dc1c4; WORD $0xf06c; BYTE $0x60 // vmovupd yword [r8 + 8*rsi + 96], ymm5
QUAD $0x000080f29410fdc5; BYTE $0x00 // vmovupd ymm2, yword [rdx + 8*rsi + 128]
QUAD $0x0000a0f29c10fdc5; BYTE $0x00 // vmovupd ymm3, yword [rdx + 8*rsi + 160]
QUAD $0x0000c0f2a410fdc5; BYTE $0x00 // vmovupd ymm4, yword [rdx + 8*rsi + 192]
QUAD $0x0000e0f2ac10fdc5; BYTE $0x00 // vmovupd ymm5, yword [rdx + 8*rsi + 224]
LONG $0xd15cedc5 // vsubpd ymm2, ymm2, ymm1
LONG $0xd95ce5c5 // vsubpd ymm3, ymm3, ymm1
LONG $0xe15cddc5 // vsubpd ymm4, ymm4, ymm1
LONG $0xe95cd5c5 // vsubpd ymm5, ymm5, ymm1
QUAD $0x0080f094117dc1c4; WORD $0x0000 // vmovupd yword [r8 + 8*rsi + 128], ymm2
QUAD $0x00a0f09c117dc1c4; WORD $0x0000 // vmovupd yword [r8 + 8*rsi + 160], ymm3
QUAD $0x00c0f0a4117dc1c4; WORD $0x0000 // vmovupd yword [r8 + 8*rsi + 192], ymm4
QUAD $0x00e0f0ac117dc1c4; WORD $0x0000 // vmovupd yword [r8 + 8*rsi + 224], ymm5
LONG $0x20c68348 // add rsi, 32
LONG $0x02c78348 // add rdi, 2
JNE LBB1_480
JMP LBB1_750
LBB1_481:
WORD $0x8944; BYTE $0xd7 // mov edi, r10d
WORD $0xe783; BYTE $0xe0 // and edi, -32
LONG $0xc16ef9c5 // vmovd xmm0, ecx
LONG $0x787de2c4; BYTE $0xc0 // vpbroadcastb ymm0, xmm0
LONG $0xe0778d48 // lea rsi, [rdi - 32]
WORD $0x8948; BYTE $0xf0 // mov rax, rsi
LONG $0x05e8c148 // shr rax, 5
LONG $0x01c08348 // add rax, 1
WORD $0x8941; BYTE $0xc1 // mov r9d, eax
LONG $0x03e18341 // and r9d, 3
LONG $0x60fe8348 // cmp rsi, 96
JAE LBB1_621
WORD $0xf631 // xor esi, esi
JMP LBB1_623
LBB1_483:
WORD $0x8944; BYTE $0xd7 // mov edi, r10d
WORD $0xe783; BYTE $0xe0 // and edi, -32
LONG $0xc16ef9c5 // vmovd xmm0, ecx
LONG $0x787de2c4; BYTE $0xc0 // vpbroadcastb ymm0, xmm0
LONG $0xe0778d48 // lea rsi, [rdi - 32]
WORD $0x8948; BYTE $0xf0 // mov rax, rsi
LONG $0x05e8c148 // shr rax, 5
LONG $0x01c08348 // add rax, 1
WORD $0x8941; BYTE $0xc1 // mov r9d, eax
LONG $0x03e18341 // and r9d, 3
LONG $0x60fe8348 // cmp rsi, 96
JAE LBB1_631
WORD $0xf631 // xor esi, esi
JMP LBB1_633
LBB1_485:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0x80 // and esi, -128
LONG $0xc06ef9c5 // vmovd xmm0, eax
LONG $0x787de2c4; BYTE $0xc0 // vpbroadcastb ymm0, xmm0
LONG $0x804e8d48 // lea rcx, [rsi - 128]
WORD $0x8949; BYTE $0xc9 // mov r9, rcx
LONG $0x07e9c149 // shr r9, 7
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc9 // test rcx, rcx
JE LBB1_757
WORD $0x894c; BYTE $0xc9 // mov rcx, r9
LONG $0xfee18348 // and rcx, -2
WORD $0xf748; BYTE $0xd9 // neg rcx
WORD $0xff31 // xor edi, edi
LBB1_487:
LONG $0x0cfcfdc5; BYTE $0x3a // vpaddb ymm1, ymm0, yword [rdx + rdi]
LONG $0x54fcfdc5; WORD $0x203a // vpaddb ymm2, ymm0, yword [rdx + rdi + 32]
LONG $0x5cfcfdc5; WORD $0x403a // vpaddb ymm3, ymm0, yword [rdx + rdi + 64]
LONG $0x64fcfdc5; WORD $0x603a // vpaddb ymm4, ymm0, yword [rdx + rdi + 96]
LONG $0x7f7ec1c4; WORD $0x380c // vmovdqu yword [r8 + rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x3854; BYTE $0x20 // vmovdqu yword [r8 + rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0x385c; BYTE $0x40 // vmovdqu yword [r8 + rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0x3864; BYTE $0x60 // vmovdqu yword [r8 + rdi + 96], ymm4
QUAD $0x0000803a8cfcfdc5; BYTE $0x00 // vpaddb ymm1, ymm0, yword [rdx + rdi + 128]
QUAD $0x0000a03a94fcfdc5; BYTE $0x00 // vpaddb ymm2, ymm0, yword [rdx + rdi + 160]
QUAD $0x0000c03a9cfcfdc5; BYTE $0x00 // vpaddb ymm3, ymm0, yword [rdx + rdi + 192]
QUAD $0x0000e03aa4fcfdc5; BYTE $0x00 // vpaddb ymm4, ymm0, yword [rdx + rdi + 224]
QUAD $0x0080388c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + rdi + 128], ymm1
QUAD $0x00a038947f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + rdi + 160], ymm2
QUAD $0x00c0389c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + rdi + 192], ymm3
QUAD $0x00e038a47f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + rdi + 224], ymm4
LONG $0x00c78148; WORD $0x0001; BYTE $0x00 // add rdi, 256
LONG $0x02c18348 // add rcx, 2
JNE LBB1_487
JMP LBB1_758
LBB1_488:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0x80 // and esi, -128
LONG $0xc06ef9c5 // vmovd xmm0, eax
LONG $0x787de2c4; BYTE $0xc0 // vpbroadcastb ymm0, xmm0
LONG $0x804e8d48 // lea rcx, [rsi - 128]
WORD $0x8949; BYTE $0xc9 // mov r9, rcx
LONG $0x07e9c149 // shr r9, 7
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc9 // test rcx, rcx
JE LBB1_765
WORD $0x894c; BYTE $0xc9 // mov rcx, r9
LONG $0xfee18348 // and rcx, -2
WORD $0xf748; BYTE $0xd9 // neg rcx
WORD $0xff31 // xor edi, edi
LBB1_490:
LONG $0x0c6ffec5; BYTE $0x3a // vmovdqu ymm1, yword [rdx + rdi]
LONG $0x546ffec5; WORD $0x203a // vmovdqu ymm2, yword [rdx + rdi + 32]
LONG $0x5c6ffec5; WORD $0x403a // vmovdqu ymm3, yword [rdx + rdi + 64]
LONG $0x646ffec5; WORD $0x603a // vmovdqu ymm4, yword [rdx + rdi + 96]
LONG $0xc8f8f5c5 // vpsubb ymm1, ymm1, ymm0
LONG $0xd0f8edc5 // vpsubb ymm2, ymm2, ymm0
LONG $0xd8f8e5c5 // vpsubb ymm3, ymm3, ymm0
LONG $0xe0f8ddc5 // vpsubb ymm4, ymm4, ymm0
LONG $0x7f7ec1c4; WORD $0x380c // vmovdqu yword [r8 + rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x3854; BYTE $0x20 // vmovdqu yword [r8 + rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0x385c; BYTE $0x40 // vmovdqu yword [r8 + rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0x3864; BYTE $0x60 // vmovdqu yword [r8 + rdi + 96], ymm4
QUAD $0x0000803a8c6ffec5; BYTE $0x00 // vmovdqu ymm1, yword [rdx + rdi + 128]
QUAD $0x0000a03a946ffec5; BYTE $0x00 // vmovdqu ymm2, yword [rdx + rdi + 160]
QUAD $0x0000c03a9c6ffec5; BYTE $0x00 // vmovdqu ymm3, yword [rdx + rdi + 192]
QUAD $0x0000e03aa46ffec5; BYTE $0x00 // vmovdqu ymm4, yword [rdx + rdi + 224]
LONG $0xc8f8f5c5 // vpsubb ymm1, ymm1, ymm0
LONG $0xd0f8edc5 // vpsubb ymm2, ymm2, ymm0
LONG $0xd8f8e5c5 // vpsubb ymm3, ymm3, ymm0
LONG $0xe0f8ddc5 // vpsubb ymm4, ymm4, ymm0
QUAD $0x0080388c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + rdi + 128], ymm1
QUAD $0x00a038947f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + rdi + 160], ymm2
QUAD $0x00c0389c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + rdi + 192], ymm3
QUAD $0x00e038a47f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + rdi + 224], ymm4
LONG $0x00c78148; WORD $0x0001; BYTE $0x00 // add rdi, 256
LONG $0x02c18348 // add rcx, 2
JNE LBB1_490
JMP LBB1_766
LBB1_491:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0x80 // and esi, -128
LONG $0xc06ef9c5 // vmovd xmm0, eax
LONG $0x787de2c4; BYTE $0xc0 // vpbroadcastb ymm0, xmm0
LONG $0x804e8d48 // lea rcx, [rsi - 128]
WORD $0x8949; BYTE $0xc9 // mov r9, rcx
LONG $0x07e9c149 // shr r9, 7
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc9 // test rcx, rcx
JE LBB1_773
WORD $0x894c; BYTE $0xc9 // mov rcx, r9
LONG $0xfee18348 // and rcx, -2
WORD $0xf748; BYTE $0xd9 // neg rcx
WORD $0xff31 // xor edi, edi
LBB1_493:
LONG $0x0cfcfdc5; BYTE $0x3a // vpaddb ymm1, ymm0, yword [rdx + rdi]
LONG $0x54fcfdc5; WORD $0x203a // vpaddb ymm2, ymm0, yword [rdx + rdi + 32]
LONG $0x5cfcfdc5; WORD $0x403a // vpaddb ymm3, ymm0, yword [rdx + rdi + 64]
LONG $0x64fcfdc5; WORD $0x603a // vpaddb ymm4, ymm0, yword [rdx + rdi + 96]
LONG $0x7f7ec1c4; WORD $0x380c // vmovdqu yword [r8 + rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x3854; BYTE $0x20 // vmovdqu yword [r8 + rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0x385c; BYTE $0x40 // vmovdqu yword [r8 + rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0x3864; BYTE $0x60 // vmovdqu yword [r8 + rdi + 96], ymm4
QUAD $0x0000803a8cfcfdc5; BYTE $0x00 // vpaddb ymm1, ymm0, yword [rdx + rdi + 128]
QUAD $0x0000a03a94fcfdc5; BYTE $0x00 // vpaddb ymm2, ymm0, yword [rdx + rdi + 160]
QUAD $0x0000c03a9cfcfdc5; BYTE $0x00 // vpaddb ymm3, ymm0, yword [rdx + rdi + 192]
QUAD $0x0000e03aa4fcfdc5; BYTE $0x00 // vpaddb ymm4, ymm0, yword [rdx + rdi + 224]
QUAD $0x0080388c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + rdi + 128], ymm1
QUAD $0x00a038947f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + rdi + 160], ymm2
QUAD $0x00c0389c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + rdi + 192], ymm3
QUAD $0x00e038a47f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + rdi + 224], ymm4
LONG $0x00c78148; WORD $0x0001; BYTE $0x00 // add rdi, 256
LONG $0x02c18348 // add rcx, 2
JNE LBB1_493
JMP LBB1_774
LBB1_494:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0x80 // and esi, -128
LONG $0xc06ef9c5 // vmovd xmm0, eax
LONG $0x787de2c4; BYTE $0xc0 // vpbroadcastb ymm0, xmm0
LONG $0x804e8d48 // lea rcx, [rsi - 128]
WORD $0x8949; BYTE $0xc9 // mov r9, rcx
LONG $0x07e9c149 // shr r9, 7
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc9 // test rcx, rcx
JE LBB1_781
WORD $0x894c; BYTE $0xc9 // mov rcx, r9
LONG $0xfee18348 // and rcx, -2
WORD $0xf748; BYTE $0xd9 // neg rcx
WORD $0xff31 // xor edi, edi
LBB1_496:
LONG $0x0c6ffec5; BYTE $0x3a // vmovdqu ymm1, yword [rdx + rdi]
LONG $0x546ffec5; WORD $0x203a // vmovdqu ymm2, yword [rdx + rdi + 32]
LONG $0x5c6ffec5; WORD $0x403a // vmovdqu ymm3, yword [rdx + rdi + 64]
LONG $0x646ffec5; WORD $0x603a // vmovdqu ymm4, yword [rdx + rdi + 96]
LONG $0xc8f8f5c5 // vpsubb ymm1, ymm1, ymm0
LONG $0xd0f8edc5 // vpsubb ymm2, ymm2, ymm0
LONG $0xd8f8e5c5 // vpsubb ymm3, ymm3, ymm0
LONG $0xe0f8ddc5 // vpsubb ymm4, ymm4, ymm0
LONG $0x7f7ec1c4; WORD $0x380c // vmovdqu yword [r8 + rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x3854; BYTE $0x20 // vmovdqu yword [r8 + rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0x385c; BYTE $0x40 // vmovdqu yword [r8 + rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0x3864; BYTE $0x60 // vmovdqu yword [r8 + rdi + 96], ymm4
QUAD $0x0000803a8c6ffec5; BYTE $0x00 // vmovdqu ymm1, yword [rdx + rdi + 128]
QUAD $0x0000a03a946ffec5; BYTE $0x00 // vmovdqu ymm2, yword [rdx + rdi + 160]
QUAD $0x0000c03a9c6ffec5; BYTE $0x00 // vmovdqu ymm3, yword [rdx + rdi + 192]
QUAD $0x0000e03aa46ffec5; BYTE $0x00 // vmovdqu ymm4, yword [rdx + rdi + 224]
LONG $0xc8f8f5c5 // vpsubb ymm1, ymm1, ymm0
LONG $0xd0f8edc5 // vpsubb ymm2, ymm2, ymm0
LONG $0xd8f8e5c5 // vpsubb ymm3, ymm3, ymm0
LONG $0xe0f8ddc5 // vpsubb ymm4, ymm4, ymm0
QUAD $0x0080388c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + rdi + 128], ymm1
QUAD $0x00a038947f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + rdi + 160], ymm2
QUAD $0x00c0389c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + rdi + 192], ymm3
QUAD $0x00e038a47f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + rdi + 224], ymm4
LONG $0x00c78148; WORD $0x0001; BYTE $0x00 // add rdi, 256
LONG $0x02c18348 // add rcx, 2
JNE LBB1_496
JMP LBB1_782
LBB1_497:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0x6ef9e1c4; BYTE $0xc0 // vmovq xmm0, rax
LONG $0x597de2c4; BYTE $0xc0 // vpbroadcastq ymm0, xmm0
LONG $0xf04e8d48 // lea rcx, [rsi - 16]
WORD $0x8949; BYTE $0xc9 // mov r9, rcx
LONG $0x04e9c149 // shr r9, 4
LONG $0x01c18349 // add r9, 1
LONG $0xd073f5c5; BYTE $0x20 // vpsrlq ymm1, ymm0, 32
WORD $0x8548; BYTE $0xc9 // test rcx, rcx
JE LBB1_789
WORD $0x894c; BYTE $0xc9 // mov rcx, r9
LONG $0xfee18348 // and rcx, -2
WORD $0xf748; BYTE $0xd9 // neg rcx
WORD $0xff31 // xor edi, edi
LBB1_499:
LONG $0x146ffec5; BYTE $0xfa // vmovdqu ymm2, yword [rdx + 8*rdi]
LONG $0x5c6ffec5; WORD $0x20fa // vmovdqu ymm3, yword [rdx + 8*rdi + 32]
LONG $0x646ffec5; WORD $0x40fa // vmovdqu ymm4, yword [rdx + 8*rdi + 64]
LONG $0x6c6ffec5; WORD $0x60fa // vmovdqu ymm5, yword [rdx + 8*rdi + 96]
LONG $0xf1f4edc5 // vpmuludq ymm6, ymm2, ymm1
LONG $0xd273c5c5; BYTE $0x20 // vpsrlq ymm7, ymm2, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xd0f4edc5 // vpmuludq ymm2, ymm2, ymm0
LONG $0xd6d4edc5 // vpaddq ymm2, ymm2, ymm6
LONG $0xf1f4e5c5 // vpmuludq ymm6, ymm3, ymm1
LONG $0xd373c5c5; BYTE $0x20 // vpsrlq ymm7, ymm3, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xd8f4e5c5 // vpmuludq ymm3, ymm3, ymm0
LONG $0xded4e5c5 // vpaddq ymm3, ymm3, ymm6
LONG $0xf1f4ddc5 // vpmuludq ymm6, ymm4, ymm1
LONG $0xd473c5c5; BYTE $0x20 // vpsrlq ymm7, ymm4, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xe0f4ddc5 // vpmuludq ymm4, ymm4, ymm0
LONG $0xe6d4ddc5 // vpaddq ymm4, ymm4, ymm6
LONG $0xf1f4d5c5 // vpmuludq ymm6, ymm5, ymm1
LONG $0xd573c5c5; BYTE $0x20 // vpsrlq ymm7, ymm5, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xe8f4d5c5 // vpmuludq ymm5, ymm5, ymm0
LONG $0xeed4d5c5 // vpaddq ymm5, ymm5, ymm6
LONG $0x7f7ec1c4; WORD $0xf814 // vmovdqu yword [r8 + 8*rdi], ymm2
LONG $0x7f7ec1c4; WORD $0xf85c; BYTE $0x20 // vmovdqu yword [r8 + 8*rdi + 32], ymm3
LONG $0x7f7ec1c4; WORD $0xf864; BYTE $0x40 // vmovdqu yword [r8 + 8*rdi + 64], ymm4
LONG $0x7f7ec1c4; WORD $0xf86c; BYTE $0x60 // vmovdqu yword [r8 + 8*rdi + 96], ymm5
QUAD $0x000080fa946ffec5; BYTE $0x00 // vmovdqu ymm2, yword [rdx + 8*rdi + 128]
QUAD $0x0000a0fa9c6ffec5; BYTE $0x00 // vmovdqu ymm3, yword [rdx + 8*rdi + 160]
QUAD $0x0000c0faa46ffec5; BYTE $0x00 // vmovdqu ymm4, yword [rdx + 8*rdi + 192]
QUAD $0x0000e0faac6ffec5; BYTE $0x00 // vmovdqu ymm5, yword [rdx + 8*rdi + 224]
LONG $0xf1f4edc5 // vpmuludq ymm6, ymm2, ymm1
LONG $0xd273c5c5; BYTE $0x20 // vpsrlq ymm7, ymm2, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xd0f4edc5 // vpmuludq ymm2, ymm2, ymm0
LONG $0xd6d4edc5 // vpaddq ymm2, ymm2, ymm6
LONG $0xf1f4e5c5 // vpmuludq ymm6, ymm3, ymm1
LONG $0xd373c5c5; BYTE $0x20 // vpsrlq ymm7, ymm3, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xd8f4e5c5 // vpmuludq ymm3, ymm3, ymm0
LONG $0xded4e5c5 // vpaddq ymm3, ymm3, ymm6
LONG $0xf1f4ddc5 // vpmuludq ymm6, ymm4, ymm1
LONG $0xd473c5c5; BYTE $0x20 // vpsrlq ymm7, ymm4, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xe0f4ddc5 // vpmuludq ymm4, ymm4, ymm0
LONG $0xe6d4ddc5 // vpaddq ymm4, ymm4, ymm6
LONG $0xf1f4d5c5 // vpmuludq ymm6, ymm5, ymm1
LONG $0xd573c5c5; BYTE $0x20 // vpsrlq ymm7, ymm5, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xe8f4d5c5 // vpmuludq ymm5, ymm5, ymm0
LONG $0xeed4d5c5 // vpaddq ymm5, ymm5, ymm6
QUAD $0x0080f8947f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 128], ymm2
QUAD $0x00a0f89c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 160], ymm3
QUAD $0x00c0f8a47f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 192], ymm4
QUAD $0x00e0f8ac7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 224], ymm5
LONG $0x20c78348 // add rdi, 32
LONG $0x02c18348 // add rcx, 2
JNE LBB1_499
JMP LBB1_790
LBB1_500:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0x6ef9e1c4; BYTE $0xc0 // vmovq xmm0, rax
LONG $0x597de2c4; BYTE $0xc0 // vpbroadcastq ymm0, xmm0
LONG $0xf04e8d48 // lea rcx, [rsi - 16]
WORD $0x8949; BYTE $0xc9 // mov r9, rcx
LONG $0x04e9c149 // shr r9, 4
LONG $0x01c18349 // add r9, 1
LONG $0xd073f5c5; BYTE $0x20 // vpsrlq ymm1, ymm0, 32
WORD $0x8548; BYTE $0xc9 // test rcx, rcx
JE LBB1_797
WORD $0x894c; BYTE $0xc9 // mov rcx, r9
LONG $0xfee18348 // and rcx, -2
WORD $0xf748; BYTE $0xd9 // neg rcx
WORD $0xff31 // xor edi, edi
LBB1_502:
LONG $0x146ffec5; BYTE $0xfa // vmovdqu ymm2, yword [rdx + 8*rdi]
LONG $0x5c6ffec5; WORD $0x20fa // vmovdqu ymm3, yword [rdx + 8*rdi + 32]
LONG $0x646ffec5; WORD $0x40fa // vmovdqu ymm4, yword [rdx + 8*rdi + 64]
LONG $0x6c6ffec5; WORD $0x60fa // vmovdqu ymm5, yword [rdx + 8*rdi + 96]
LONG $0xf1f4edc5 // vpmuludq ymm6, ymm2, ymm1
LONG $0xd273c5c5; BYTE $0x20 // vpsrlq ymm7, ymm2, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xd0f4edc5 // vpmuludq ymm2, ymm2, ymm0
LONG $0xd6d4edc5 // vpaddq ymm2, ymm2, ymm6
LONG $0xf1f4e5c5 // vpmuludq ymm6, ymm3, ymm1
LONG $0xd373c5c5; BYTE $0x20 // vpsrlq ymm7, ymm3, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xd8f4e5c5 // vpmuludq ymm3, ymm3, ymm0
LONG $0xded4e5c5 // vpaddq ymm3, ymm3, ymm6
LONG $0xf1f4ddc5 // vpmuludq ymm6, ymm4, ymm1
LONG $0xd473c5c5; BYTE $0x20 // vpsrlq ymm7, ymm4, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xe0f4ddc5 // vpmuludq ymm4, ymm4, ymm0
LONG $0xe6d4ddc5 // vpaddq ymm4, ymm4, ymm6
LONG $0xf1f4d5c5 // vpmuludq ymm6, ymm5, ymm1
LONG $0xd573c5c5; BYTE $0x20 // vpsrlq ymm7, ymm5, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xe8f4d5c5 // vpmuludq ymm5, ymm5, ymm0
LONG $0xeed4d5c5 // vpaddq ymm5, ymm5, ymm6
LONG $0x7f7ec1c4; WORD $0xf814 // vmovdqu yword [r8 + 8*rdi], ymm2
LONG $0x7f7ec1c4; WORD $0xf85c; BYTE $0x20 // vmovdqu yword [r8 + 8*rdi + 32], ymm3
LONG $0x7f7ec1c4; WORD $0xf864; BYTE $0x40 // vmovdqu yword [r8 + 8*rdi + 64], ymm4
LONG $0x7f7ec1c4; WORD $0xf86c; BYTE $0x60 // vmovdqu yword [r8 + 8*rdi + 96], ymm5
QUAD $0x000080fa946ffec5; BYTE $0x00 // vmovdqu ymm2, yword [rdx + 8*rdi + 128]
QUAD $0x0000a0fa9c6ffec5; BYTE $0x00 // vmovdqu ymm3, yword [rdx + 8*rdi + 160]
QUAD $0x0000c0faa46ffec5; BYTE $0x00 // vmovdqu ymm4, yword [rdx + 8*rdi + 192]
QUAD $0x0000e0faac6ffec5; BYTE $0x00 // vmovdqu ymm5, yword [rdx + 8*rdi + 224]
LONG $0xf1f4edc5 // vpmuludq ymm6, ymm2, ymm1
LONG $0xd273c5c5; BYTE $0x20 // vpsrlq ymm7, ymm2, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xd0f4edc5 // vpmuludq ymm2, ymm2, ymm0
LONG $0xd6d4edc5 // vpaddq ymm2, ymm2, ymm6
LONG $0xf1f4e5c5 // vpmuludq ymm6, ymm3, ymm1
LONG $0xd373c5c5; BYTE $0x20 // vpsrlq ymm7, ymm3, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xd8f4e5c5 // vpmuludq ymm3, ymm3, ymm0
LONG $0xded4e5c5 // vpaddq ymm3, ymm3, ymm6
LONG $0xf1f4ddc5 // vpmuludq ymm6, ymm4, ymm1
LONG $0xd473c5c5; BYTE $0x20 // vpsrlq ymm7, ymm4, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xe0f4ddc5 // vpmuludq ymm4, ymm4, ymm0
LONG $0xe6d4ddc5 // vpaddq ymm4, ymm4, ymm6
LONG $0xf1f4d5c5 // vpmuludq ymm6, ymm5, ymm1
LONG $0xd573c5c5; BYTE $0x20 // vpsrlq ymm7, ymm5, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xe8f4d5c5 // vpmuludq ymm5, ymm5, ymm0
LONG $0xeed4d5c5 // vpaddq ymm5, ymm5, ymm6
QUAD $0x0080f8947f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 128], ymm2
QUAD $0x00a0f89c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 160], ymm3
QUAD $0x00c0f8a47f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 192], ymm4
QUAD $0x00e0f8ac7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 224], ymm5
LONG $0x20c78348 // add rdi, 32
LONG $0x02c18348 // add rcx, 2
JNE LBB1_502
JMP LBB1_798
LBB1_503:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0x6ef9e1c4; BYTE $0xc0 // vmovq xmm0, rax
LONG $0x597de2c4; BYTE $0xc0 // vpbroadcastq ymm0, xmm0
LONG $0xf04e8d48 // lea rcx, [rsi - 16]
WORD $0x8949; BYTE $0xc9 // mov r9, rcx
LONG $0x04e9c149 // shr r9, 4
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc9 // test rcx, rcx
JE LBB1_805
WORD $0x894c; BYTE $0xc9 // mov rcx, r9
LONG $0xfee18348 // and rcx, -2
WORD $0xf748; BYTE $0xd9 // neg rcx
WORD $0xff31 // xor edi, edi
LBB1_505:
LONG $0x0cd4fdc5; BYTE $0xfa // vpaddq ymm1, ymm0, yword [rdx + 8*rdi]
LONG $0x54d4fdc5; WORD $0x20fa // vpaddq ymm2, ymm0, yword [rdx + 8*rdi + 32]
LONG $0x5cd4fdc5; WORD $0x40fa // vpaddq ymm3, ymm0, yword [rdx + 8*rdi + 64]
LONG $0x64d4fdc5; WORD $0x60fa // vpaddq ymm4, ymm0, yword [rdx + 8*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xf80c // vmovdqu yword [r8 + 8*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xf854; BYTE $0x20 // vmovdqu yword [r8 + 8*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xf85c; BYTE $0x40 // vmovdqu yword [r8 + 8*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xf864; BYTE $0x60 // vmovdqu yword [r8 + 8*rdi + 96], ymm4
QUAD $0x000080fa8cd4fdc5; BYTE $0x00 // vpaddq ymm1, ymm0, yword [rdx + 8*rdi + 128]
QUAD $0x0000a0fa94d4fdc5; BYTE $0x00 // vpaddq ymm2, ymm0, yword [rdx + 8*rdi + 160]
QUAD $0x0000c0fa9cd4fdc5; BYTE $0x00 // vpaddq ymm3, ymm0, yword [rdx + 8*rdi + 192]
QUAD $0x0000e0faa4d4fdc5; BYTE $0x00 // vpaddq ymm4, ymm0, yword [rdx + 8*rdi + 224]
QUAD $0x0080f88c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 128], ymm1
QUAD $0x00a0f8947f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 160], ymm2
QUAD $0x00c0f89c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 192], ymm3
QUAD $0x00e0f8a47f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 224], ymm4
LONG $0x20c78348 // add rdi, 32
LONG $0x02c18348 // add rcx, 2
JNE LBB1_505
JMP LBB1_806
LBB1_506:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0x6ef9e1c4; BYTE $0xc0 // vmovq xmm0, rax
LONG $0x597de2c4; BYTE $0xc0 // vpbroadcastq ymm0, xmm0
LONG $0xf04e8d48 // lea rcx, [rsi - 16]
WORD $0x8949; BYTE $0xc9 // mov r9, rcx
LONG $0x04e9c149 // shr r9, 4
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc9 // test rcx, rcx
JE LBB1_813
WORD $0x894c; BYTE $0xc9 // mov rcx, r9
LONG $0xfee18348 // and rcx, -2
WORD $0xf748; BYTE $0xd9 // neg rcx
WORD $0xff31 // xor edi, edi
LBB1_508:
LONG $0x0c6ffec5; BYTE $0xfa // vmovdqu ymm1, yword [rdx + 8*rdi]
LONG $0x546ffec5; WORD $0x20fa // vmovdqu ymm2, yword [rdx + 8*rdi + 32]
LONG $0x5c6ffec5; WORD $0x40fa // vmovdqu ymm3, yword [rdx + 8*rdi + 64]
LONG $0x646ffec5; WORD $0x60fa // vmovdqu ymm4, yword [rdx + 8*rdi + 96]
LONG $0xc8fbf5c5 // vpsubq ymm1, ymm1, ymm0
LONG $0xd0fbedc5 // vpsubq ymm2, ymm2, ymm0
LONG $0xd8fbe5c5 // vpsubq ymm3, ymm3, ymm0
LONG $0xe0fbddc5 // vpsubq ymm4, ymm4, ymm0
LONG $0x7f7ec1c4; WORD $0xf80c // vmovdqu yword [r8 + 8*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xf854; BYTE $0x20 // vmovdqu yword [r8 + 8*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xf85c; BYTE $0x40 // vmovdqu yword [r8 + 8*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xf864; BYTE $0x60 // vmovdqu yword [r8 + 8*rdi + 96], ymm4
QUAD $0x000080fa8c6ffec5; BYTE $0x00 // vmovdqu ymm1, yword [rdx + 8*rdi + 128]
QUAD $0x0000a0fa946ffec5; BYTE $0x00 // vmovdqu ymm2, yword [rdx + 8*rdi + 160]
QUAD $0x0000c0fa9c6ffec5; BYTE $0x00 // vmovdqu ymm3, yword [rdx + 8*rdi + 192]
QUAD $0x0000e0faa46ffec5; BYTE $0x00 // vmovdqu ymm4, yword [rdx + 8*rdi + 224]
LONG $0xc8fbf5c5 // vpsubq ymm1, ymm1, ymm0
LONG $0xd0fbedc5 // vpsubq ymm2, ymm2, ymm0
LONG $0xd8fbe5c5 // vpsubq ymm3, ymm3, ymm0
LONG $0xe0fbddc5 // vpsubq ymm4, ymm4, ymm0
QUAD $0x0080f88c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 128], ymm1
QUAD $0x00a0f8947f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 160], ymm2
QUAD $0x00c0f89c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 192], ymm3
QUAD $0x00e0f8a47f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 224], ymm4
LONG $0x20c78348 // add rdi, 32
LONG $0x02c18348 // add rcx, 2
JNE LBB1_508
JMP LBB1_814
LBB1_509:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0x6ef9e1c4; BYTE $0xc0 // vmovq xmm0, rax
LONG $0x597de2c4; BYTE $0xc0 // vpbroadcastq ymm0, xmm0
LONG $0xf04e8d48 // lea rcx, [rsi - 16]
WORD $0x8949; BYTE $0xc9 // mov r9, rcx
LONG $0x04e9c149 // shr r9, 4
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc9 // test rcx, rcx
JE LBB1_821
WORD $0x894c; BYTE $0xc9 // mov rcx, r9
LONG $0xfee18348 // and rcx, -2
WORD $0xf748; BYTE $0xd9 // neg rcx
WORD $0xff31 // xor edi, edi
LBB1_511:
LONG $0x0cd4fdc5; BYTE $0xfa // vpaddq ymm1, ymm0, yword [rdx + 8*rdi]
LONG $0x54d4fdc5; WORD $0x20fa // vpaddq ymm2, ymm0, yword [rdx + 8*rdi + 32]
LONG $0x5cd4fdc5; WORD $0x40fa // vpaddq ymm3, ymm0, yword [rdx + 8*rdi + 64]
LONG $0x64d4fdc5; WORD $0x60fa // vpaddq ymm4, ymm0, yword [rdx + 8*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xf80c // vmovdqu yword [r8 + 8*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xf854; BYTE $0x20 // vmovdqu yword [r8 + 8*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xf85c; BYTE $0x40 // vmovdqu yword [r8 + 8*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xf864; BYTE $0x60 // vmovdqu yword [r8 + 8*rdi + 96], ymm4
QUAD $0x000080fa8cd4fdc5; BYTE $0x00 // vpaddq ymm1, ymm0, yword [rdx + 8*rdi + 128]
QUAD $0x0000a0fa94d4fdc5; BYTE $0x00 // vpaddq ymm2, ymm0, yword [rdx + 8*rdi + 160]
QUAD $0x0000c0fa9cd4fdc5; BYTE $0x00 // vpaddq ymm3, ymm0, yword [rdx + 8*rdi + 192]
QUAD $0x0000e0faa4d4fdc5; BYTE $0x00 // vpaddq ymm4, ymm0, yword [rdx + 8*rdi + 224]
QUAD $0x0080f88c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 128], ymm1
QUAD $0x00a0f8947f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 160], ymm2
QUAD $0x00c0f89c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 192], ymm3
QUAD $0x00e0f8a47f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 224], ymm4
LONG $0x20c78348 // add rdi, 32
LONG $0x02c18348 // add rcx, 2
JNE LBB1_511
JMP LBB1_822
LBB1_512:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0x6ef9e1c4; BYTE $0xc0 // vmovq xmm0, rax
LONG $0x597de2c4; BYTE $0xc0 // vpbroadcastq ymm0, xmm0
LONG $0xf04e8d48 // lea rcx, [rsi - 16]
WORD $0x8949; BYTE $0xc9 // mov r9, rcx
LONG $0x04e9c149 // shr r9, 4
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc9 // test rcx, rcx
JE LBB1_829
WORD $0x894c; BYTE $0xc9 // mov rcx, r9
LONG $0xfee18348 // and rcx, -2
WORD $0xf748; BYTE $0xd9 // neg rcx
WORD $0xff31 // xor edi, edi
LBB1_514:
LONG $0x0c6ffec5; BYTE $0xfa // vmovdqu ymm1, yword [rdx + 8*rdi]
LONG $0x546ffec5; WORD $0x20fa // vmovdqu ymm2, yword [rdx + 8*rdi + 32]
LONG $0x5c6ffec5; WORD $0x40fa // vmovdqu ymm3, yword [rdx + 8*rdi + 64]
LONG $0x646ffec5; WORD $0x60fa // vmovdqu ymm4, yword [rdx + 8*rdi + 96]
LONG $0xc8fbf5c5 // vpsubq ymm1, ymm1, ymm0
LONG $0xd0fbedc5 // vpsubq ymm2, ymm2, ymm0
LONG $0xd8fbe5c5 // vpsubq ymm3, ymm3, ymm0
LONG $0xe0fbddc5 // vpsubq ymm4, ymm4, ymm0
LONG $0x7f7ec1c4; WORD $0xf80c // vmovdqu yword [r8 + 8*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xf854; BYTE $0x20 // vmovdqu yword [r8 + 8*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xf85c; BYTE $0x40 // vmovdqu yword [r8 + 8*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xf864; BYTE $0x60 // vmovdqu yword [r8 + 8*rdi + 96], ymm4
QUAD $0x000080fa8c6ffec5; BYTE $0x00 // vmovdqu ymm1, yword [rdx + 8*rdi + 128]
QUAD $0x0000a0fa946ffec5; BYTE $0x00 // vmovdqu ymm2, yword [rdx + 8*rdi + 160]
QUAD $0x0000c0fa9c6ffec5; BYTE $0x00 // vmovdqu ymm3, yword [rdx + 8*rdi + 192]
QUAD $0x0000e0faa46ffec5; BYTE $0x00 // vmovdqu ymm4, yword [rdx + 8*rdi + 224]
LONG $0xc8fbf5c5 // vpsubq ymm1, ymm1, ymm0
LONG $0xd0fbedc5 // vpsubq ymm2, ymm2, ymm0
LONG $0xd8fbe5c5 // vpsubq ymm3, ymm3, ymm0
LONG $0xe0fbddc5 // vpsubq ymm4, ymm4, ymm0
QUAD $0x0080f88c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 128], ymm1
QUAD $0x00a0f8947f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 160], ymm2
QUAD $0x00c0f89c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 192], ymm3
QUAD $0x00e0f8a47f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 224], ymm4
LONG $0x20c78348 // add rdi, 32
LONG $0x02c18348 // add rcx, 2
JNE LBB1_514
JMP LBB1_830
LBB1_515:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0xc06ef9c5 // vmovd xmm0, eax
LONG $0x797de2c4; BYTE $0xc0 // vpbroadcastw ymm0, xmm0
LONG $0xe04e8d48 // lea rcx, [rsi - 32]
WORD $0x8949; BYTE $0xc9 // mov r9, rcx
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc9 // test rcx, rcx
JE LBB1_837
WORD $0x894c; BYTE $0xc9 // mov rcx, r9
LONG $0xfee18348 // and rcx, -2
WORD $0xf748; BYTE $0xd9 // neg rcx
WORD $0xff31 // xor edi, edi
LBB1_517:
LONG $0x0cd5fdc5; BYTE $0x7a // vpmullw ymm1, ymm0, yword [rdx + 2*rdi]
LONG $0x54d5fdc5; WORD $0x207a // vpmullw ymm2, ymm0, yword [rdx + 2*rdi + 32]
LONG $0x7f7ec1c4; WORD $0x780c // vmovdqu yword [r8 + 2*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x7854; BYTE $0x20 // vmovdqu yword [r8 + 2*rdi + 32], ymm2
LONG $0x4cd5fdc5; WORD $0x407a // vpmullw ymm1, ymm0, yword [rdx + 2*rdi + 64]
LONG $0x54d5fdc5; WORD $0x607a // vpmullw ymm2, ymm0, yword [rdx + 2*rdi + 96]
LONG $0x7f7ec1c4; WORD $0x784c; BYTE $0x40 // vmovdqu yword [r8 + 2*rdi + 64], ymm1
LONG $0x7f7ec1c4; WORD $0x7854; BYTE $0x60 // vmovdqu yword [r8 + 2*rdi + 96], ymm2
LONG $0x40c78348 // add rdi, 64
LONG $0x02c18348 // add rcx, 2
JNE LBB1_517
JMP LBB1_838
LBB1_518:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0xc06ef9c5 // vmovd xmm0, eax
LONG $0x797de2c4; BYTE $0xc0 // vpbroadcastw ymm0, xmm0
LONG $0xe04e8d48 // lea rcx, [rsi - 32]
WORD $0x8949; BYTE $0xc9 // mov r9, rcx
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc9 // test rcx, rcx
JE LBB1_845
WORD $0x894c; BYTE $0xc9 // mov rcx, r9
LONG $0xfee18348 // and rcx, -2
WORD $0xf748; BYTE $0xd9 // neg rcx
WORD $0xff31 // xor edi, edi
LBB1_520:
LONG $0x0cd5fdc5; BYTE $0x7a // vpmullw ymm1, ymm0, yword [rdx + 2*rdi]
LONG $0x54d5fdc5; WORD $0x207a // vpmullw ymm2, ymm0, yword [rdx + 2*rdi + 32]
LONG $0x7f7ec1c4; WORD $0x780c // vmovdqu yword [r8 + 2*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x7854; BYTE $0x20 // vmovdqu yword [r8 + 2*rdi + 32], ymm2
LONG $0x4cd5fdc5; WORD $0x407a // vpmullw ymm1, ymm0, yword [rdx + 2*rdi + 64]
LONG $0x54d5fdc5; WORD $0x607a // vpmullw ymm2, ymm0, yword [rdx + 2*rdi + 96]
LONG $0x7f7ec1c4; WORD $0x784c; BYTE $0x40 // vmovdqu yword [r8 + 2*rdi + 64], ymm1
LONG $0x7f7ec1c4; WORD $0x7854; BYTE $0x60 // vmovdqu yword [r8 + 2*rdi + 96], ymm2
LONG $0x40c78348 // add rdi, 64
LONG $0x02c18348 // add rcx, 2
JNE LBB1_520
JMP LBB1_846
LBB1_521:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0xc06ef9c5 // vmovd xmm0, eax
LONG $0x797de2c4; BYTE $0xc0 // vpbroadcastw ymm0, xmm0
LONG $0xe04e8d48 // lea rcx, [rsi - 32]
WORD $0x8949; BYTE $0xc9 // mov r9, rcx
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc9 // test rcx, rcx
JE LBB1_853
WORD $0x894c; BYTE $0xc9 // mov rcx, r9
LONG $0xfee18348 // and rcx, -2
WORD $0xf748; BYTE $0xd9 // neg rcx
WORD $0xff31 // xor edi, edi
LBB1_523:
LONG $0x0cd5fdc5; BYTE $0x7a // vpmullw ymm1, ymm0, yword [rdx + 2*rdi]
LONG $0x54d5fdc5; WORD $0x207a // vpmullw ymm2, ymm0, yword [rdx + 2*rdi + 32]
LONG $0x7f7ec1c4; WORD $0x780c // vmovdqu yword [r8 + 2*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x7854; BYTE $0x20 // vmovdqu yword [r8 + 2*rdi + 32], ymm2
LONG $0x4cd5fdc5; WORD $0x407a // vpmullw ymm1, ymm0, yword [rdx + 2*rdi + 64]
LONG $0x54d5fdc5; WORD $0x607a // vpmullw ymm2, ymm0, yword [rdx + 2*rdi + 96]
LONG $0x7f7ec1c4; WORD $0x784c; BYTE $0x40 // vmovdqu yword [r8 + 2*rdi + 64], ymm1
LONG $0x7f7ec1c4; WORD $0x7854; BYTE $0x60 // vmovdqu yword [r8 + 2*rdi + 96], ymm2
LONG $0x40c78348 // add rdi, 64
LONG $0x02c18348 // add rcx, 2
JNE LBB1_523
JMP LBB1_854
LBB1_524:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0xc06ef9c5 // vmovd xmm0, eax
LONG $0x797de2c4; BYTE $0xc0 // vpbroadcastw ymm0, xmm0
LONG $0xe04e8d48 // lea rcx, [rsi - 32]
WORD $0x8949; BYTE $0xc9 // mov r9, rcx
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc9 // test rcx, rcx
JE LBB1_861
WORD $0x894c; BYTE $0xc9 // mov rcx, r9
LONG $0xfee18348 // and rcx, -2
WORD $0xf748; BYTE $0xd9 // neg rcx
WORD $0xff31 // xor edi, edi
LBB1_526:
LONG $0x0cd5fdc5; BYTE $0x7a // vpmullw ymm1, ymm0, yword [rdx + 2*rdi]
LONG $0x54d5fdc5; WORD $0x207a // vpmullw ymm2, ymm0, yword [rdx + 2*rdi + 32]
LONG $0x7f7ec1c4; WORD $0x780c // vmovdqu yword [r8 + 2*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x7854; BYTE $0x20 // vmovdqu yword [r8 + 2*rdi + 32], ymm2
LONG $0x4cd5fdc5; WORD $0x407a // vpmullw ymm1, ymm0, yword [rdx + 2*rdi + 64]
LONG $0x54d5fdc5; WORD $0x607a // vpmullw ymm2, ymm0, yword [rdx + 2*rdi + 96]
LONG $0x7f7ec1c4; WORD $0x784c; BYTE $0x40 // vmovdqu yword [r8 + 2*rdi + 64], ymm1
LONG $0x7f7ec1c4; WORD $0x7854; BYTE $0x60 // vmovdqu yword [r8 + 2*rdi + 96], ymm2
LONG $0x40c78348 // add rdi, 64
LONG $0x02c18348 // add rcx, 2
JNE LBB1_526
JMP LBB1_862
LBB1_527:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0xc06ef9c5 // vmovd xmm0, eax
LONG $0x797de2c4; BYTE $0xc0 // vpbroadcastw ymm0, xmm0
LONG $0xe04e8d48 // lea rcx, [rsi - 32]
WORD $0x8949; BYTE $0xc9 // mov r9, rcx
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc9 // test rcx, rcx
JE LBB1_869
WORD $0x894c; BYTE $0xc9 // mov rcx, r9
LONG $0xfee18348 // and rcx, -2
WORD $0xf748; BYTE $0xd9 // neg rcx
WORD $0xff31 // xor edi, edi
LBB1_529:
LONG $0x0cfdfdc5; BYTE $0x7a // vpaddw ymm1, ymm0, yword [rdx + 2*rdi]
LONG $0x54fdfdc5; WORD $0x207a // vpaddw ymm2, ymm0, yword [rdx + 2*rdi + 32]
LONG $0x7f7ec1c4; WORD $0x780c // vmovdqu yword [r8 + 2*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x7854; BYTE $0x20 // vmovdqu yword [r8 + 2*rdi + 32], ymm2
LONG $0x4cfdfdc5; WORD $0x407a // vpaddw ymm1, ymm0, yword [rdx + 2*rdi + 64]
LONG $0x54fdfdc5; WORD $0x607a // vpaddw ymm2, ymm0, yword [rdx + 2*rdi + 96]
LONG $0x7f7ec1c4; WORD $0x784c; BYTE $0x40 // vmovdqu yword [r8 + 2*rdi + 64], ymm1
LONG $0x7f7ec1c4; WORD $0x7854; BYTE $0x60 // vmovdqu yword [r8 + 2*rdi + 96], ymm2
LONG $0x40c78348 // add rdi, 64
LONG $0x02c18348 // add rcx, 2
JNE LBB1_529
JMP LBB1_870
LBB1_530:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0xc06ef9c5 // vmovd xmm0, eax
LONG $0x797de2c4; BYTE $0xc0 // vpbroadcastw ymm0, xmm0
LONG $0xe04e8d48 // lea rcx, [rsi - 32]
WORD $0x8949; BYTE $0xc9 // mov r9, rcx
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc9 // test rcx, rcx
JE LBB1_877
WORD $0x894c; BYTE $0xc9 // mov rcx, r9
LONG $0xfee18348 // and rcx, -2
WORD $0xf748; BYTE $0xd9 // neg rcx
WORD $0xff31 // xor edi, edi
LBB1_532:
LONG $0x0cfdfdc5; BYTE $0x7a // vpaddw ymm1, ymm0, yword [rdx + 2*rdi]
LONG $0x54fdfdc5; WORD $0x207a // vpaddw ymm2, ymm0, yword [rdx + 2*rdi + 32]
LONG $0x7f7ec1c4; WORD $0x780c // vmovdqu yword [r8 + 2*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x7854; BYTE $0x20 // vmovdqu yword [r8 + 2*rdi + 32], ymm2
LONG $0x4cfdfdc5; WORD $0x407a // vpaddw ymm1, ymm0, yword [rdx + 2*rdi + 64]
LONG $0x54fdfdc5; WORD $0x607a // vpaddw ymm2, ymm0, yword [rdx + 2*rdi + 96]
LONG $0x7f7ec1c4; WORD $0x784c; BYTE $0x40 // vmovdqu yword [r8 + 2*rdi + 64], ymm1
LONG $0x7f7ec1c4; WORD $0x7854; BYTE $0x60 // vmovdqu yword [r8 + 2*rdi + 96], ymm2
LONG $0x40c78348 // add rdi, 64
LONG $0x02c18348 // add rcx, 2
JNE LBB1_532
JMP LBB1_878
LBB1_533:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0xc06ef9c5 // vmovd xmm0, eax
LONG $0x797de2c4; BYTE $0xc0 // vpbroadcastw ymm0, xmm0
LONG $0xe04e8d48 // lea rcx, [rsi - 32]
WORD $0x8949; BYTE $0xc9 // mov r9, rcx
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc9 // test rcx, rcx
JE LBB1_885
WORD $0x894c; BYTE $0xc9 // mov rcx, r9
LONG $0xfee18348 // and rcx, -2
WORD $0xf748; BYTE $0xd9 // neg rcx
WORD $0xff31 // xor edi, edi
LBB1_535:
LONG $0x0c6ffec5; BYTE $0x7a // vmovdqu ymm1, yword [rdx + 2*rdi]
LONG $0x546ffec5; WORD $0x207a // vmovdqu ymm2, yword [rdx + 2*rdi + 32]
LONG $0xc8f9f5c5 // vpsubw ymm1, ymm1, ymm0
LONG $0xd0f9edc5 // vpsubw ymm2, ymm2, ymm0
LONG $0x7f7ec1c4; WORD $0x780c // vmovdqu yword [r8 + 2*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x7854; BYTE $0x20 // vmovdqu yword [r8 + 2*rdi + 32], ymm2
LONG $0x4c6ffec5; WORD $0x407a // vmovdqu ymm1, yword [rdx + 2*rdi + 64]
LONG $0x546ffec5; WORD $0x607a // vmovdqu ymm2, yword [rdx + 2*rdi + 96]
LONG $0xc8f9f5c5 // vpsubw ymm1, ymm1, ymm0
LONG $0xd0f9edc5 // vpsubw ymm2, ymm2, ymm0
LONG $0x7f7ec1c4; WORD $0x784c; BYTE $0x40 // vmovdqu yword [r8 + 2*rdi + 64], ymm1
LONG $0x7f7ec1c4; WORD $0x7854; BYTE $0x60 // vmovdqu yword [r8 + 2*rdi + 96], ymm2
LONG $0x40c78348 // add rdi, 64
LONG $0x02c18348 // add rcx, 2
JNE LBB1_535
JMP LBB1_886
LBB1_536:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0xc06ef9c5 // vmovd xmm0, eax
LONG $0x797de2c4; BYTE $0xc0 // vpbroadcastw ymm0, xmm0
LONG $0xe04e8d48 // lea rcx, [rsi - 32]
WORD $0x8949; BYTE $0xc9 // mov r9, rcx
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc9 // test rcx, rcx
JE LBB1_893
WORD $0x894c; BYTE $0xc9 // mov rcx, r9
LONG $0xfee18348 // and rcx, -2
WORD $0xf748; BYTE $0xd9 // neg rcx
WORD $0xff31 // xor edi, edi
LBB1_538:
LONG $0x0c6ffec5; BYTE $0x7a // vmovdqu ymm1, yword [rdx + 2*rdi]
LONG $0x546ffec5; WORD $0x207a // vmovdqu ymm2, yword [rdx + 2*rdi + 32]
LONG $0xc8f9f5c5 // vpsubw ymm1, ymm1, ymm0
LONG $0xd0f9edc5 // vpsubw ymm2, ymm2, ymm0
LONG $0x7f7ec1c4; WORD $0x780c // vmovdqu yword [r8 + 2*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x7854; BYTE $0x20 // vmovdqu yword [r8 + 2*rdi + 32], ymm2
LONG $0x4c6ffec5; WORD $0x407a // vmovdqu ymm1, yword [rdx + 2*rdi + 64]
LONG $0x546ffec5; WORD $0x607a // vmovdqu ymm2, yword [rdx + 2*rdi + 96]
LONG $0xc8f9f5c5 // vpsubw ymm1, ymm1, ymm0
LONG $0xd0f9edc5 // vpsubw ymm2, ymm2, ymm0
LONG $0x7f7ec1c4; WORD $0x784c; BYTE $0x40 // vmovdqu yword [r8 + 2*rdi + 64], ymm1
LONG $0x7f7ec1c4; WORD $0x7854; BYTE $0x60 // vmovdqu yword [r8 + 2*rdi + 96], ymm2
LONG $0x40c78348 // add rdi, 64
LONG $0x02c18348 // add rcx, 2
JNE LBB1_538
JMP LBB1_894
LBB1_539:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0xc06ef9c5 // vmovd xmm0, eax
LONG $0x797de2c4; BYTE $0xc0 // vpbroadcastw ymm0, xmm0
LONG $0xe04e8d48 // lea rcx, [rsi - 32]
WORD $0x8949; BYTE $0xc9 // mov r9, rcx
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc9 // test rcx, rcx
JE LBB1_901
WORD $0x894c; BYTE $0xc9 // mov rcx, r9
LONG $0xfee18348 // and rcx, -2
WORD $0xf748; BYTE $0xd9 // neg rcx
WORD $0xff31 // xor edi, edi
LBB1_541:
LONG $0x0cfdfdc5; BYTE $0x7a // vpaddw ymm1, ymm0, yword [rdx + 2*rdi]
LONG $0x54fdfdc5; WORD $0x207a // vpaddw ymm2, ymm0, yword [rdx + 2*rdi + 32]
LONG $0x7f7ec1c4; WORD $0x780c // vmovdqu yword [r8 + 2*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x7854; BYTE $0x20 // vmovdqu yword [r8 + 2*rdi + 32], ymm2
LONG $0x4cfdfdc5; WORD $0x407a // vpaddw ymm1, ymm0, yword [rdx + 2*rdi + 64]
LONG $0x54fdfdc5; WORD $0x607a // vpaddw ymm2, ymm0, yword [rdx + 2*rdi + 96]
LONG $0x7f7ec1c4; WORD $0x784c; BYTE $0x40 // vmovdqu yword [r8 + 2*rdi + 64], ymm1
LONG $0x7f7ec1c4; WORD $0x7854; BYTE $0x60 // vmovdqu yword [r8 + 2*rdi + 96], ymm2
LONG $0x40c78348 // add rdi, 64
LONG $0x02c18348 // add rcx, 2
JNE LBB1_541
JMP LBB1_902
LBB1_542:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0xc06ef9c5 // vmovd xmm0, eax
LONG $0x797de2c4; BYTE $0xc0 // vpbroadcastw ymm0, xmm0
LONG $0xe04e8d48 // lea rcx, [rsi - 32]
WORD $0x8949; BYTE $0xc9 // mov r9, rcx
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc9 // test rcx, rcx
JE LBB1_909
WORD $0x894c; BYTE $0xc9 // mov rcx, r9
LONG $0xfee18348 // and rcx, -2
WORD $0xf748; BYTE $0xd9 // neg rcx
WORD $0xff31 // xor edi, edi
LBB1_544:
LONG $0x0cfdfdc5; BYTE $0x7a // vpaddw ymm1, ymm0, yword [rdx + 2*rdi]
LONG $0x54fdfdc5; WORD $0x207a // vpaddw ymm2, ymm0, yword [rdx + 2*rdi + 32]
LONG $0x7f7ec1c4; WORD $0x780c // vmovdqu yword [r8 + 2*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x7854; BYTE $0x20 // vmovdqu yword [r8 + 2*rdi + 32], ymm2
LONG $0x4cfdfdc5; WORD $0x407a // vpaddw ymm1, ymm0, yword [rdx + 2*rdi + 64]
LONG $0x54fdfdc5; WORD $0x607a // vpaddw ymm2, ymm0, yword [rdx + 2*rdi + 96]
LONG $0x7f7ec1c4; WORD $0x784c; BYTE $0x40 // vmovdqu yword [r8 + 2*rdi + 64], ymm1
LONG $0x7f7ec1c4; WORD $0x7854; BYTE $0x60 // vmovdqu yword [r8 + 2*rdi + 96], ymm2
LONG $0x40c78348 // add rdi, 64
LONG $0x02c18348 // add rcx, 2
JNE LBB1_544
JMP LBB1_910
LBB1_545:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0xc06ef9c5 // vmovd xmm0, eax
LONG $0x797de2c4; BYTE $0xc0 // vpbroadcastw ymm0, xmm0
LONG $0xe04e8d48 // lea rcx, [rsi - 32]
WORD $0x8949; BYTE $0xc9 // mov r9, rcx
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc9 // test rcx, rcx
JE LBB1_917
WORD $0x894c; BYTE $0xc9 // mov rcx, r9
LONG $0xfee18348 // and rcx, -2
WORD $0xf748; BYTE $0xd9 // neg rcx
WORD $0xff31 // xor edi, edi
LBB1_547:
LONG $0x0c6ffec5; BYTE $0x7a // vmovdqu ymm1, yword [rdx + 2*rdi]
LONG $0x546ffec5; WORD $0x207a // vmovdqu ymm2, yword [rdx + 2*rdi + 32]
LONG $0xc8f9f5c5 // vpsubw ymm1, ymm1, ymm0
LONG $0xd0f9edc5 // vpsubw ymm2, ymm2, ymm0
LONG $0x7f7ec1c4; WORD $0x780c // vmovdqu yword [r8 + 2*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x7854; BYTE $0x20 // vmovdqu yword [r8 + 2*rdi + 32], ymm2
LONG $0x4c6ffec5; WORD $0x407a // vmovdqu ymm1, yword [rdx + 2*rdi + 64]
LONG $0x546ffec5; WORD $0x607a // vmovdqu ymm2, yword [rdx + 2*rdi + 96]
LONG $0xc8f9f5c5 // vpsubw ymm1, ymm1, ymm0
LONG $0xd0f9edc5 // vpsubw ymm2, ymm2, ymm0
LONG $0x7f7ec1c4; WORD $0x784c; BYTE $0x40 // vmovdqu yword [r8 + 2*rdi + 64], ymm1
LONG $0x7f7ec1c4; WORD $0x7854; BYTE $0x60 // vmovdqu yword [r8 + 2*rdi + 96], ymm2
LONG $0x40c78348 // add rdi, 64
LONG $0x02c18348 // add rcx, 2
JNE LBB1_547
JMP LBB1_918
LBB1_548:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0xc06ef9c5 // vmovd xmm0, eax
LONG $0x797de2c4; BYTE $0xc0 // vpbroadcastw ymm0, xmm0
LONG $0xe04e8d48 // lea rcx, [rsi - 32]
WORD $0x8949; BYTE $0xc9 // mov r9, rcx
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc9 // test rcx, rcx
JE LBB1_925
WORD $0x894c; BYTE $0xc9 // mov rcx, r9
LONG $0xfee18348 // and rcx, -2
WORD $0xf748; BYTE $0xd9 // neg rcx
WORD $0xff31 // xor edi, edi
LBB1_550:
LONG $0x0c6ffec5; BYTE $0x7a // vmovdqu ymm1, yword [rdx + 2*rdi]
LONG $0x546ffec5; WORD $0x207a // vmovdqu ymm2, yword [rdx + 2*rdi + 32]
LONG $0xc8f9f5c5 // vpsubw ymm1, ymm1, ymm0
LONG $0xd0f9edc5 // vpsubw ymm2, ymm2, ymm0
LONG $0x7f7ec1c4; WORD $0x780c // vmovdqu yword [r8 + 2*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x7854; BYTE $0x20 // vmovdqu yword [r8 + 2*rdi + 32], ymm2
LONG $0x4c6ffec5; WORD $0x407a // vmovdqu ymm1, yword [rdx + 2*rdi + 64]
LONG $0x546ffec5; WORD $0x607a // vmovdqu ymm2, yword [rdx + 2*rdi + 96]
LONG $0xc8f9f5c5 // vpsubw ymm1, ymm1, ymm0
LONG $0xd0f9edc5 // vpsubw ymm2, ymm2, ymm0
LONG $0x7f7ec1c4; WORD $0x784c; BYTE $0x40 // vmovdqu yword [r8 + 2*rdi + 64], ymm1
LONG $0x7f7ec1c4; WORD $0x7854; BYTE $0x60 // vmovdqu yword [r8 + 2*rdi + 96], ymm2
LONG $0x40c78348 // add rdi, 64
LONG $0x02c18348 // add rcx, 2
JNE LBB1_550
JMP LBB1_926
LBB1_551:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0x6ef9e1c4; BYTE $0xc0 // vmovq xmm0, rax
LONG $0x597de2c4; BYTE $0xc0 // vpbroadcastq ymm0, xmm0
LONG $0xf04e8d48 // lea rcx, [rsi - 16]
WORD $0x8949; BYTE $0xc9 // mov r9, rcx
LONG $0x04e9c149 // shr r9, 4
LONG $0x01c18349 // add r9, 1
LONG $0xd073f5c5; BYTE $0x20 // vpsrlq ymm1, ymm0, 32
WORD $0x8548; BYTE $0xc9 // test rcx, rcx
JE LBB1_933
WORD $0x894c; BYTE $0xc9 // mov rcx, r9
LONG $0xfee18348 // and rcx, -2
WORD $0xf748; BYTE $0xd9 // neg rcx
WORD $0xff31 // xor edi, edi
LBB1_553:
LONG $0x146ffec5; BYTE $0xfa // vmovdqu ymm2, yword [rdx + 8*rdi]
LONG $0x5c6ffec5; WORD $0x20fa // vmovdqu ymm3, yword [rdx + 8*rdi + 32]
LONG $0x646ffec5; WORD $0x40fa // vmovdqu ymm4, yword [rdx + 8*rdi + 64]
LONG $0x6c6ffec5; WORD $0x60fa // vmovdqu ymm5, yword [rdx + 8*rdi + 96]
LONG $0xf1f4edc5 // vpmuludq ymm6, ymm2, ymm1
LONG $0xd273c5c5; BYTE $0x20 // vpsrlq ymm7, ymm2, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xd0f4edc5 // vpmuludq ymm2, ymm2, ymm0
LONG $0xd6d4edc5 // vpaddq ymm2, ymm2, ymm6
LONG $0xf1f4e5c5 // vpmuludq ymm6, ymm3, ymm1
LONG $0xd373c5c5; BYTE $0x20 // vpsrlq ymm7, ymm3, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xd8f4e5c5 // vpmuludq ymm3, ymm3, ymm0
LONG $0xded4e5c5 // vpaddq ymm3, ymm3, ymm6
LONG $0xf1f4ddc5 // vpmuludq ymm6, ymm4, ymm1
LONG $0xd473c5c5; BYTE $0x20 // vpsrlq ymm7, ymm4, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xe0f4ddc5 // vpmuludq ymm4, ymm4, ymm0
LONG $0xe6d4ddc5 // vpaddq ymm4, ymm4, ymm6
LONG $0xf1f4d5c5 // vpmuludq ymm6, ymm5, ymm1
LONG $0xd573c5c5; BYTE $0x20 // vpsrlq ymm7, ymm5, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xe8f4d5c5 // vpmuludq ymm5, ymm5, ymm0
LONG $0xeed4d5c5 // vpaddq ymm5, ymm5, ymm6
LONG $0x7f7ec1c4; WORD $0xf814 // vmovdqu yword [r8 + 8*rdi], ymm2
LONG $0x7f7ec1c4; WORD $0xf85c; BYTE $0x20 // vmovdqu yword [r8 + 8*rdi + 32], ymm3
LONG $0x7f7ec1c4; WORD $0xf864; BYTE $0x40 // vmovdqu yword [r8 + 8*rdi + 64], ymm4
LONG $0x7f7ec1c4; WORD $0xf86c; BYTE $0x60 // vmovdqu yword [r8 + 8*rdi + 96], ymm5
QUAD $0x000080fa946ffec5; BYTE $0x00 // vmovdqu ymm2, yword [rdx + 8*rdi + 128]
QUAD $0x0000a0fa9c6ffec5; BYTE $0x00 // vmovdqu ymm3, yword [rdx + 8*rdi + 160]
QUAD $0x0000c0faa46ffec5; BYTE $0x00 // vmovdqu ymm4, yword [rdx + 8*rdi + 192]
QUAD $0x0000e0faac6ffec5; BYTE $0x00 // vmovdqu ymm5, yword [rdx + 8*rdi + 224]
LONG $0xf1f4edc5 // vpmuludq ymm6, ymm2, ymm1
LONG $0xd273c5c5; BYTE $0x20 // vpsrlq ymm7, ymm2, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xd0f4edc5 // vpmuludq ymm2, ymm2, ymm0
LONG $0xd6d4edc5 // vpaddq ymm2, ymm2, ymm6
LONG $0xf1f4e5c5 // vpmuludq ymm6, ymm3, ymm1
LONG $0xd373c5c5; BYTE $0x20 // vpsrlq ymm7, ymm3, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xd8f4e5c5 // vpmuludq ymm3, ymm3, ymm0
LONG $0xded4e5c5 // vpaddq ymm3, ymm3, ymm6
LONG $0xf1f4ddc5 // vpmuludq ymm6, ymm4, ymm1
LONG $0xd473c5c5; BYTE $0x20 // vpsrlq ymm7, ymm4, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xe0f4ddc5 // vpmuludq ymm4, ymm4, ymm0
LONG $0xe6d4ddc5 // vpaddq ymm4, ymm4, ymm6
LONG $0xf1f4d5c5 // vpmuludq ymm6, ymm5, ymm1
LONG $0xd573c5c5; BYTE $0x20 // vpsrlq ymm7, ymm5, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xe8f4d5c5 // vpmuludq ymm5, ymm5, ymm0
LONG $0xeed4d5c5 // vpaddq ymm5, ymm5, ymm6
QUAD $0x0080f8947f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 128], ymm2
QUAD $0x00a0f89c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 160], ymm3
QUAD $0x00c0f8a47f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 192], ymm4
QUAD $0x00e0f8ac7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 224], ymm5
LONG $0x20c78348 // add rdi, 32
LONG $0x02c18348 // add rcx, 2
JNE LBB1_553
JMP LBB1_934
LBB1_554:
WORD $0xc189 // mov ecx, eax
WORD $0xe183; BYTE $0xe0 // and ecx, -32
LONG $0x187de2c4; BYTE $0xc8 // vbroadcastss ymm1, xmm0
LONG $0xe0718d48 // lea rsi, [rcx - 32]
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xf6 // test rsi, rsi
JE LBB1_941
WORD $0x894c; BYTE $0xce // mov rsi, r9
LONG $0xfee68348 // and rsi, -2
WORD $0xf748; BYTE $0xde // neg rsi
WORD $0xff31 // xor edi, edi
LBB1_556:
LONG $0x1459f4c5; BYTE $0xba // vmulps ymm2, ymm1, yword [rdx + 4*rdi]
LONG $0x5c59f4c5; WORD $0x20ba // vmulps ymm3, ymm1, yword [rdx + 4*rdi + 32]
LONG $0x6459f4c5; WORD $0x40ba // vmulps ymm4, ymm1, yword [rdx + 4*rdi + 64]
LONG $0x6c59f4c5; WORD $0x60ba // vmulps ymm5, ymm1, yword [rdx + 4*rdi + 96]
LONG $0x117cc1c4; WORD $0xb814 // vmovups yword [r8 + 4*rdi], ymm2
LONG $0x117cc1c4; WORD $0xb85c; BYTE $0x20 // vmovups yword [r8 + 4*rdi + 32], ymm3
LONG $0x117cc1c4; WORD $0xb864; BYTE $0x40 // vmovups yword [r8 + 4*rdi + 64], ymm4
LONG $0x117cc1c4; WORD $0xb86c; BYTE $0x60 // vmovups yword [r8 + 4*rdi + 96], ymm5
QUAD $0x000080ba9459f4c5; BYTE $0x00 // vmulps ymm2, ymm1, yword [rdx + 4*rdi + 128]
QUAD $0x0000a0ba9c59f4c5; BYTE $0x00 // vmulps ymm3, ymm1, yword [rdx + 4*rdi + 160]
QUAD $0x0000c0baa459f4c5; BYTE $0x00 // vmulps ymm4, ymm1, yword [rdx + 4*rdi + 192]
QUAD $0x0000e0baac59f4c5; BYTE $0x00 // vmulps ymm5, ymm1, yword [rdx + 4*rdi + 224]
QUAD $0x0080b894117cc1c4; WORD $0x0000 // vmovups yword [r8 + 4*rdi + 128], ymm2
QUAD $0x00a0b89c117cc1c4; WORD $0x0000 // vmovups yword [r8 + 4*rdi + 160], ymm3
QUAD $0x00c0b8a4117cc1c4; WORD $0x0000 // vmovups yword [r8 + 4*rdi + 192], ymm4
QUAD $0x00e0b8ac117cc1c4; WORD $0x0000 // vmovups yword [r8 + 4*rdi + 224], ymm5
LONG $0x40c78348 // add rdi, 64
LONG $0x02c68348 // add rsi, 2
JNE LBB1_556
JMP LBB1_942
LBB1_557:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0x6ef9e1c4; BYTE $0xc0 // vmovq xmm0, rax
LONG $0x597de2c4; BYTE $0xc0 // vpbroadcastq ymm0, xmm0
LONG $0xf04e8d48 // lea rcx, [rsi - 16]
WORD $0x8949; BYTE $0xc9 // mov r9, rcx
LONG $0x04e9c149 // shr r9, 4
LONG $0x01c18349 // add r9, 1
LONG $0xd073f5c5; BYTE $0x20 // vpsrlq ymm1, ymm0, 32
WORD $0x8548; BYTE $0xc9 // test rcx, rcx
JE LBB1_949
WORD $0x894c; BYTE $0xc9 // mov rcx, r9
LONG $0xfee18348 // and rcx, -2
WORD $0xf748; BYTE $0xd9 // neg rcx
WORD $0xff31 // xor edi, edi
LBB1_559:
LONG $0x146ffec5; BYTE $0xfa // vmovdqu ymm2, yword [rdx + 8*rdi]
LONG $0x5c6ffec5; WORD $0x20fa // vmovdqu ymm3, yword [rdx + 8*rdi + 32]
LONG $0x646ffec5; WORD $0x40fa // vmovdqu ymm4, yword [rdx + 8*rdi + 64]
LONG $0x6c6ffec5; WORD $0x60fa // vmovdqu ymm5, yword [rdx + 8*rdi + 96]
LONG $0xf1f4edc5 // vpmuludq ymm6, ymm2, ymm1
LONG $0xd273c5c5; BYTE $0x20 // vpsrlq ymm7, ymm2, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xd0f4edc5 // vpmuludq ymm2, ymm2, ymm0
LONG $0xd6d4edc5 // vpaddq ymm2, ymm2, ymm6
LONG $0xf1f4e5c5 // vpmuludq ymm6, ymm3, ymm1
LONG $0xd373c5c5; BYTE $0x20 // vpsrlq ymm7, ymm3, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xd8f4e5c5 // vpmuludq ymm3, ymm3, ymm0
LONG $0xded4e5c5 // vpaddq ymm3, ymm3, ymm6
LONG $0xf1f4ddc5 // vpmuludq ymm6, ymm4, ymm1
LONG $0xd473c5c5; BYTE $0x20 // vpsrlq ymm7, ymm4, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xe0f4ddc5 // vpmuludq ymm4, ymm4, ymm0
LONG $0xe6d4ddc5 // vpaddq ymm4, ymm4, ymm6
LONG $0xf1f4d5c5 // vpmuludq ymm6, ymm5, ymm1
LONG $0xd573c5c5; BYTE $0x20 // vpsrlq ymm7, ymm5, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xe8f4d5c5 // vpmuludq ymm5, ymm5, ymm0
LONG $0xeed4d5c5 // vpaddq ymm5, ymm5, ymm6
LONG $0x7f7ec1c4; WORD $0xf814 // vmovdqu yword [r8 + 8*rdi], ymm2
LONG $0x7f7ec1c4; WORD $0xf85c; BYTE $0x20 // vmovdqu yword [r8 + 8*rdi + 32], ymm3
LONG $0x7f7ec1c4; WORD $0xf864; BYTE $0x40 // vmovdqu yword [r8 + 8*rdi + 64], ymm4
LONG $0x7f7ec1c4; WORD $0xf86c; BYTE $0x60 // vmovdqu yword [r8 + 8*rdi + 96], ymm5
QUAD $0x000080fa946ffec5; BYTE $0x00 // vmovdqu ymm2, yword [rdx + 8*rdi + 128]
QUAD $0x0000a0fa9c6ffec5; BYTE $0x00 // vmovdqu ymm3, yword [rdx + 8*rdi + 160]
QUAD $0x0000c0faa46ffec5; BYTE $0x00 // vmovdqu ymm4, yword [rdx + 8*rdi + 192]
QUAD $0x0000e0faac6ffec5; BYTE $0x00 // vmovdqu ymm5, yword [rdx + 8*rdi + 224]
LONG $0xf1f4edc5 // vpmuludq ymm6, ymm2, ymm1
LONG $0xd273c5c5; BYTE $0x20 // vpsrlq ymm7, ymm2, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xd0f4edc5 // vpmuludq ymm2, ymm2, ymm0
LONG $0xd6d4edc5 // vpaddq ymm2, ymm2, ymm6
LONG $0xf1f4e5c5 // vpmuludq ymm6, ymm3, ymm1
LONG $0xd373c5c5; BYTE $0x20 // vpsrlq ymm7, ymm3, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xd8f4e5c5 // vpmuludq ymm3, ymm3, ymm0
LONG $0xded4e5c5 // vpaddq ymm3, ymm3, ymm6
LONG $0xf1f4ddc5 // vpmuludq ymm6, ymm4, ymm1
LONG $0xd473c5c5; BYTE $0x20 // vpsrlq ymm7, ymm4, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xe0f4ddc5 // vpmuludq ymm4, ymm4, ymm0
LONG $0xe6d4ddc5 // vpaddq ymm4, ymm4, ymm6
LONG $0xf1f4d5c5 // vpmuludq ymm6, ymm5, ymm1
LONG $0xd573c5c5; BYTE $0x20 // vpsrlq ymm7, ymm5, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xe8f4d5c5 // vpmuludq ymm5, ymm5, ymm0
LONG $0xeed4d5c5 // vpaddq ymm5, ymm5, ymm6
QUAD $0x0080f8947f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 128], ymm2
QUAD $0x00a0f89c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 160], ymm3
QUAD $0x00c0f8a47f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 192], ymm4
QUAD $0x00e0f8ac7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 224], ymm5
LONG $0x20c78348 // add rdi, 32
LONG $0x02c18348 // add rcx, 2
JNE LBB1_559
JMP LBB1_950
LBB1_560:
WORD $0xc189 // mov ecx, eax
WORD $0xe183; BYTE $0xe0 // and ecx, -32
LONG $0x187de2c4; BYTE $0xc8 // vbroadcastss ymm1, xmm0
LONG $0xe0718d48 // lea rsi, [rcx - 32]
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xf6 // test rsi, rsi
JE LBB1_957
WORD $0x894c; BYTE $0xce // mov rsi, r9
LONG $0xfee68348 // and rsi, -2
WORD $0xf748; BYTE $0xde // neg rsi
WORD $0xff31 // xor edi, edi
LBB1_562:
LONG $0x1459f4c5; BYTE $0xba // vmulps ymm2, ymm1, yword [rdx + 4*rdi]
LONG $0x5c59f4c5; WORD $0x20ba // vmulps ymm3, ymm1, yword [rdx + 4*rdi + 32]
LONG $0x6459f4c5; WORD $0x40ba // vmulps ymm4, ymm1, yword [rdx + 4*rdi + 64]
LONG $0x6c59f4c5; WORD $0x60ba // vmulps ymm5, ymm1, yword [rdx + 4*rdi + 96]
LONG $0x117cc1c4; WORD $0xb814 // vmovups yword [r8 + 4*rdi], ymm2
LONG $0x117cc1c4; WORD $0xb85c; BYTE $0x20 // vmovups yword [r8 + 4*rdi + 32], ymm3
LONG $0x117cc1c4; WORD $0xb864; BYTE $0x40 // vmovups yword [r8 + 4*rdi + 64], ymm4
LONG $0x117cc1c4; WORD $0xb86c; BYTE $0x60 // vmovups yword [r8 + 4*rdi + 96], ymm5
QUAD $0x000080ba9459f4c5; BYTE $0x00 // vmulps ymm2, ymm1, yword [rdx + 4*rdi + 128]
QUAD $0x0000a0ba9c59f4c5; BYTE $0x00 // vmulps ymm3, ymm1, yword [rdx + 4*rdi + 160]
QUAD $0x0000c0baa459f4c5; BYTE $0x00 // vmulps ymm4, ymm1, yword [rdx + 4*rdi + 192]
QUAD $0x0000e0baac59f4c5; BYTE $0x00 // vmulps ymm5, ymm1, yword [rdx + 4*rdi + 224]
QUAD $0x0080b894117cc1c4; WORD $0x0000 // vmovups yword [r8 + 4*rdi + 128], ymm2
QUAD $0x00a0b89c117cc1c4; WORD $0x0000 // vmovups yword [r8 + 4*rdi + 160], ymm3
QUAD $0x00c0b8a4117cc1c4; WORD $0x0000 // vmovups yword [r8 + 4*rdi + 192], ymm4
QUAD $0x00e0b8ac117cc1c4; WORD $0x0000 // vmovups yword [r8 + 4*rdi + 224], ymm5
LONG $0x40c78348 // add rdi, 64
LONG $0x02c68348 // add rsi, 2
JNE LBB1_562
JMP LBB1_958
LBB1_563:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0x6ef9e1c4; BYTE $0xc0 // vmovq xmm0, rax
LONG $0x597de2c4; BYTE $0xc0 // vpbroadcastq ymm0, xmm0
LONG $0xf04e8d48 // lea rcx, [rsi - 16]
WORD $0x8949; BYTE $0xc9 // mov r9, rcx
LONG $0x04e9c149 // shr r9, 4
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc9 // test rcx, rcx
JE LBB1_965
WORD $0x894c; BYTE $0xc9 // mov rcx, r9
LONG $0xfee18348 // and rcx, -2
WORD $0xf748; BYTE $0xd9 // neg rcx
WORD $0xff31 // xor edi, edi
LBB1_565:
LONG $0x0cd4fdc5; BYTE $0xfa // vpaddq ymm1, ymm0, yword [rdx + 8*rdi]
LONG $0x54d4fdc5; WORD $0x20fa // vpaddq ymm2, ymm0, yword [rdx + 8*rdi + 32]
LONG $0x5cd4fdc5; WORD $0x40fa // vpaddq ymm3, ymm0, yword [rdx + 8*rdi + 64]
LONG $0x64d4fdc5; WORD $0x60fa // vpaddq ymm4, ymm0, yword [rdx + 8*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xf80c // vmovdqu yword [r8 + 8*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xf854; BYTE $0x20 // vmovdqu yword [r8 + 8*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xf85c; BYTE $0x40 // vmovdqu yword [r8 + 8*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xf864; BYTE $0x60 // vmovdqu yword [r8 + 8*rdi + 96], ymm4
QUAD $0x000080fa8cd4fdc5; BYTE $0x00 // vpaddq ymm1, ymm0, yword [rdx + 8*rdi + 128]
QUAD $0x0000a0fa94d4fdc5; BYTE $0x00 // vpaddq ymm2, ymm0, yword [rdx + 8*rdi + 160]
QUAD $0x0000c0fa9cd4fdc5; BYTE $0x00 // vpaddq ymm3, ymm0, yword [rdx + 8*rdi + 192]
QUAD $0x0000e0faa4d4fdc5; BYTE $0x00 // vpaddq ymm4, ymm0, yword [rdx + 8*rdi + 224]
QUAD $0x0080f88c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 128], ymm1
QUAD $0x00a0f8947f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 160], ymm2
QUAD $0x00c0f89c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 192], ymm3
QUAD $0x00e0f8a47f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 224], ymm4
LONG $0x20c78348 // add rdi, 32
LONG $0x02c18348 // add rcx, 2
JNE LBB1_565
JMP LBB1_966
LBB1_566:
WORD $0xc189 // mov ecx, eax
WORD $0xe183; BYTE $0xe0 // and ecx, -32
LONG $0x187de2c4; BYTE $0xc8 // vbroadcastss ymm1, xmm0
LONG $0xe0718d48 // lea rsi, [rcx - 32]
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xf6 // test rsi, rsi
JE LBB1_973
WORD $0x894c; BYTE $0xce // mov rsi, r9
LONG $0xfee68348 // and rsi, -2
WORD $0xf748; BYTE $0xde // neg rsi
WORD $0xff31 // xor edi, edi
LBB1_568:
LONG $0x1458f4c5; BYTE $0xba // vaddps ymm2, ymm1, yword [rdx + 4*rdi]
LONG $0x5c58f4c5; WORD $0x20ba // vaddps ymm3, ymm1, yword [rdx + 4*rdi + 32]
LONG $0x6458f4c5; WORD $0x40ba // vaddps ymm4, ymm1, yword [rdx + 4*rdi + 64]
LONG $0x6c58f4c5; WORD $0x60ba // vaddps ymm5, ymm1, yword [rdx + 4*rdi + 96]
LONG $0x117cc1c4; WORD $0xb814 // vmovups yword [r8 + 4*rdi], ymm2
LONG $0x117cc1c4; WORD $0xb85c; BYTE $0x20 // vmovups yword [r8 + 4*rdi + 32], ymm3
LONG $0x117cc1c4; WORD $0xb864; BYTE $0x40 // vmovups yword [r8 + 4*rdi + 64], ymm4
LONG $0x117cc1c4; WORD $0xb86c; BYTE $0x60 // vmovups yword [r8 + 4*rdi + 96], ymm5
QUAD $0x000080ba9458f4c5; BYTE $0x00 // vaddps ymm2, ymm1, yword [rdx + 4*rdi + 128]
QUAD $0x0000a0ba9c58f4c5; BYTE $0x00 // vaddps ymm3, ymm1, yword [rdx + 4*rdi + 160]
QUAD $0x0000c0baa458f4c5; BYTE $0x00 // vaddps ymm4, ymm1, yword [rdx + 4*rdi + 192]
QUAD $0x0000e0baac58f4c5; BYTE $0x00 // vaddps ymm5, ymm1, yword [rdx + 4*rdi + 224]
QUAD $0x0080b894117cc1c4; WORD $0x0000 // vmovups yword [r8 + 4*rdi + 128], ymm2
QUAD $0x00a0b89c117cc1c4; WORD $0x0000 // vmovups yword [r8 + 4*rdi + 160], ymm3
QUAD $0x00c0b8a4117cc1c4; WORD $0x0000 // vmovups yword [r8 + 4*rdi + 192], ymm4
QUAD $0x00e0b8ac117cc1c4; WORD $0x0000 // vmovups yword [r8 + 4*rdi + 224], ymm5
LONG $0x40c78348 // add rdi, 64
LONG $0x02c68348 // add rsi, 2
JNE LBB1_568
JMP LBB1_974
LBB1_569:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0x6ef9e1c4; BYTE $0xc0 // vmovq xmm0, rax
LONG $0x597de2c4; BYTE $0xc0 // vpbroadcastq ymm0, xmm0
LONG $0xf04e8d48 // lea rcx, [rsi - 16]
WORD $0x8949; BYTE $0xc9 // mov r9, rcx
LONG $0x04e9c149 // shr r9, 4
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc9 // test rcx, rcx
JE LBB1_981
WORD $0x894c; BYTE $0xc9 // mov rcx, r9
LONG $0xfee18348 // and rcx, -2
WORD $0xf748; BYTE $0xd9 // neg rcx
WORD $0xff31 // xor edi, edi
LBB1_571:
LONG $0x0c6ffec5; BYTE $0xfa // vmovdqu ymm1, yword [rdx + 8*rdi]
LONG $0x546ffec5; WORD $0x20fa // vmovdqu ymm2, yword [rdx + 8*rdi + 32]
LONG $0x5c6ffec5; WORD $0x40fa // vmovdqu ymm3, yword [rdx + 8*rdi + 64]
LONG $0x646ffec5; WORD $0x60fa // vmovdqu ymm4, yword [rdx + 8*rdi + 96]
LONG $0xc8fbf5c5 // vpsubq ymm1, ymm1, ymm0
LONG $0xd0fbedc5 // vpsubq ymm2, ymm2, ymm0
LONG $0xd8fbe5c5 // vpsubq ymm3, ymm3, ymm0
LONG $0xe0fbddc5 // vpsubq ymm4, ymm4, ymm0
LONG $0x7f7ec1c4; WORD $0xf80c // vmovdqu yword [r8 + 8*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xf854; BYTE $0x20 // vmovdqu yword [r8 + 8*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xf85c; BYTE $0x40 // vmovdqu yword [r8 + 8*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xf864; BYTE $0x60 // vmovdqu yword [r8 + 8*rdi + 96], ymm4
QUAD $0x000080fa8c6ffec5; BYTE $0x00 // vmovdqu ymm1, yword [rdx + 8*rdi + 128]
QUAD $0x0000a0fa946ffec5; BYTE $0x00 // vmovdqu ymm2, yword [rdx + 8*rdi + 160]
QUAD $0x0000c0fa9c6ffec5; BYTE $0x00 // vmovdqu ymm3, yword [rdx + 8*rdi + 192]
QUAD $0x0000e0faa46ffec5; BYTE $0x00 // vmovdqu ymm4, yword [rdx + 8*rdi + 224]
LONG $0xc8fbf5c5 // vpsubq ymm1, ymm1, ymm0
LONG $0xd0fbedc5 // vpsubq ymm2, ymm2, ymm0
LONG $0xd8fbe5c5 // vpsubq ymm3, ymm3, ymm0
LONG $0xe0fbddc5 // vpsubq ymm4, ymm4, ymm0
QUAD $0x0080f88c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 128], ymm1
QUAD $0x00a0f8947f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 160], ymm2
QUAD $0x00c0f89c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 192], ymm3
QUAD $0x00e0f8a47f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 224], ymm4
LONG $0x20c78348 // add rdi, 32
LONG $0x02c18348 // add rcx, 2
JNE LBB1_571
JMP LBB1_982
LBB1_572:
WORD $0xc189 // mov ecx, eax
WORD $0xe183; BYTE $0xe0 // and ecx, -32
LONG $0x187de2c4; BYTE $0xc8 // vbroadcastss ymm1, xmm0
LONG $0xe0718d48 // lea rsi, [rcx - 32]
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xf6 // test rsi, rsi
JE LBB1_989
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
LBB1_574:
LONG $0x1410fcc5; BYTE $0xb2 // vmovups ymm2, yword [rdx + 4*rsi]
LONG $0x5c10fcc5; WORD $0x20b2 // vmovups ymm3, yword [rdx + 4*rsi + 32]
LONG $0x6410fcc5; WORD $0x40b2 // vmovups ymm4, yword [rdx + 4*rsi + 64]
LONG $0x6c10fcc5; WORD $0x60b2 // vmovups ymm5, yword [rdx + 4*rsi + 96]
LONG $0xd15cecc5 // vsubps ymm2, ymm2, ymm1
LONG $0xd95ce4c5 // vsubps ymm3, ymm3, ymm1
LONG $0xe15cdcc5 // vsubps ymm4, ymm4, ymm1
LONG $0xe95cd4c5 // vsubps ymm5, ymm5, ymm1
LONG $0x117cc1c4; WORD $0xb014 // vmovups yword [r8 + 4*rsi], ymm2
LONG $0x117cc1c4; WORD $0xb05c; BYTE $0x20 // vmovups yword [r8 + 4*rsi + 32], ymm3
LONG $0x117cc1c4; WORD $0xb064; BYTE $0x40 // vmovups yword [r8 + 4*rsi + 64], ymm4
LONG $0x117cc1c4; WORD $0xb06c; BYTE $0x60 // vmovups yword [r8 + 4*rsi + 96], ymm5
QUAD $0x000080b29410fcc5; BYTE $0x00 // vmovups ymm2, yword [rdx + 4*rsi + 128]
QUAD $0x0000a0b29c10fcc5; BYTE $0x00 // vmovups ymm3, yword [rdx + 4*rsi + 160]
QUAD $0x0000c0b2a410fcc5; BYTE $0x00 // vmovups ymm4, yword [rdx + 4*rsi + 192]
QUAD $0x0000e0b2ac10fcc5; BYTE $0x00 // vmovups ymm5, yword [rdx + 4*rsi + 224]
LONG $0xd15cecc5 // vsubps ymm2, ymm2, ymm1
LONG $0xd95ce4c5 // vsubps ymm3, ymm3, ymm1
LONG $0xe15cdcc5 // vsubps ymm4, ymm4, ymm1
LONG $0xe95cd4c5 // vsubps ymm5, ymm5, ymm1
QUAD $0x0080b094117cc1c4; WORD $0x0000 // vmovups yword [r8 + 4*rsi + 128], ymm2
QUAD $0x00a0b09c117cc1c4; WORD $0x0000 // vmovups yword [r8 + 4*rsi + 160], ymm3
QUAD $0x00c0b0a4117cc1c4; WORD $0x0000 // vmovups yword [r8 + 4*rsi + 192], ymm4
QUAD $0x00e0b0ac117cc1c4; WORD $0x0000 // vmovups yword [r8 + 4*rsi + 224], ymm5
LONG $0x40c68348 // add rsi, 64
LONG $0x02c78348 // add rdi, 2
JNE LBB1_574
JMP LBB1_990
LBB1_575:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0x6ef9e1c4; BYTE $0xc0 // vmovq xmm0, rax
LONG $0x597de2c4; BYTE $0xc0 // vpbroadcastq ymm0, xmm0
LONG $0xf04e8d48 // lea rcx, [rsi - 16]
WORD $0x8949; BYTE $0xc9 // mov r9, rcx
LONG $0x04e9c149 // shr r9, 4
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc9 // test rcx, rcx
JE LBB1_997
WORD $0x894c; BYTE $0xc9 // mov rcx, r9
LONG $0xfee18348 // and rcx, -2
WORD $0xf748; BYTE $0xd9 // neg rcx
WORD $0xff31 // xor edi, edi
LBB1_577:
LONG $0x0cd4fdc5; BYTE $0xfa // vpaddq ymm1, ymm0, yword [rdx + 8*rdi]
LONG $0x54d4fdc5; WORD $0x20fa // vpaddq ymm2, ymm0, yword [rdx + 8*rdi + 32]
LONG $0x5cd4fdc5; WORD $0x40fa // vpaddq ymm3, ymm0, yword [rdx + 8*rdi + 64]
LONG $0x64d4fdc5; WORD $0x60fa // vpaddq ymm4, ymm0, yword [rdx + 8*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xf80c // vmovdqu yword [r8 + 8*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xf854; BYTE $0x20 // vmovdqu yword [r8 + 8*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xf85c; BYTE $0x40 // vmovdqu yword [r8 + 8*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xf864; BYTE $0x60 // vmovdqu yword [r8 + 8*rdi + 96], ymm4
QUAD $0x000080fa8cd4fdc5; BYTE $0x00 // vpaddq ymm1, ymm0, yword [rdx + 8*rdi + 128]
QUAD $0x0000a0fa94d4fdc5; BYTE $0x00 // vpaddq ymm2, ymm0, yword [rdx + 8*rdi + 160]
QUAD $0x0000c0fa9cd4fdc5; BYTE $0x00 // vpaddq ymm3, ymm0, yword [rdx + 8*rdi + 192]
QUAD $0x0000e0faa4d4fdc5; BYTE $0x00 // vpaddq ymm4, ymm0, yword [rdx + 8*rdi + 224]
QUAD $0x0080f88c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 128], ymm1
QUAD $0x00a0f8947f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 160], ymm2
QUAD $0x00c0f89c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 192], ymm3
QUAD $0x00e0f8a47f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 224], ymm4
LONG $0x20c78348 // add rdi, 32
LONG $0x02c18348 // add rcx, 2
JNE LBB1_577
JMP LBB1_998
LBB1_578:
WORD $0xc189 // mov ecx, eax
WORD $0xe183; BYTE $0xe0 // and ecx, -32
LONG $0x187de2c4; BYTE $0xc8 // vbroadcastss ymm1, xmm0
LONG $0xe0718d48 // lea rsi, [rcx - 32]
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xf6 // test rsi, rsi
JE LBB1_1005
WORD $0x894c; BYTE $0xce // mov rsi, r9
LONG $0xfee68348 // and rsi, -2
WORD $0xf748; BYTE $0xde // neg rsi
WORD $0xff31 // xor edi, edi
LBB1_580:
LONG $0x1458f4c5; BYTE $0xba // vaddps ymm2, ymm1, yword [rdx + 4*rdi]
LONG $0x5c58f4c5; WORD $0x20ba // vaddps ymm3, ymm1, yword [rdx + 4*rdi + 32]
LONG $0x6458f4c5; WORD $0x40ba // vaddps ymm4, ymm1, yword [rdx + 4*rdi + 64]
LONG $0x6c58f4c5; WORD $0x60ba // vaddps ymm5, ymm1, yword [rdx + 4*rdi + 96]
LONG $0x117cc1c4; WORD $0xb814 // vmovups yword [r8 + 4*rdi], ymm2
LONG $0x117cc1c4; WORD $0xb85c; BYTE $0x20 // vmovups yword [r8 + 4*rdi + 32], ymm3
LONG $0x117cc1c4; WORD $0xb864; BYTE $0x40 // vmovups yword [r8 + 4*rdi + 64], ymm4
LONG $0x117cc1c4; WORD $0xb86c; BYTE $0x60 // vmovups yword [r8 + 4*rdi + 96], ymm5
QUAD $0x000080ba9458f4c5; BYTE $0x00 // vaddps ymm2, ymm1, yword [rdx + 4*rdi + 128]
QUAD $0x0000a0ba9c58f4c5; BYTE $0x00 // vaddps ymm3, ymm1, yword [rdx + 4*rdi + 160]
QUAD $0x0000c0baa458f4c5; BYTE $0x00 // vaddps ymm4, ymm1, yword [rdx + 4*rdi + 192]
QUAD $0x0000e0baac58f4c5; BYTE $0x00 // vaddps ymm5, ymm1, yword [rdx + 4*rdi + 224]
QUAD $0x0080b894117cc1c4; WORD $0x0000 // vmovups yword [r8 + 4*rdi + 128], ymm2
QUAD $0x00a0b89c117cc1c4; WORD $0x0000 // vmovups yword [r8 + 4*rdi + 160], ymm3
QUAD $0x00c0b8a4117cc1c4; WORD $0x0000 // vmovups yword [r8 + 4*rdi + 192], ymm4
QUAD $0x00e0b8ac117cc1c4; WORD $0x0000 // vmovups yword [r8 + 4*rdi + 224], ymm5
LONG $0x40c78348 // add rdi, 64
LONG $0x02c68348 // add rsi, 2
JNE LBB1_580
JMP LBB1_1006
LBB1_581:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0x6ef9e1c4; BYTE $0xc0 // vmovq xmm0, rax
LONG $0x597de2c4; BYTE $0xc0 // vpbroadcastq ymm0, xmm0
LONG $0xf04e8d48 // lea rcx, [rsi - 16]
WORD $0x8949; BYTE $0xc9 // mov r9, rcx
LONG $0x04e9c149 // shr r9, 4
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc9 // test rcx, rcx
JE LBB1_1013
WORD $0x894c; BYTE $0xc9 // mov rcx, r9
LONG $0xfee18348 // and rcx, -2
WORD $0xf748; BYTE $0xd9 // neg rcx
WORD $0xff31 // xor edi, edi
LBB1_583:
LONG $0x0c6ffec5; BYTE $0xfa // vmovdqu ymm1, yword [rdx + 8*rdi]
LONG $0x546ffec5; WORD $0x20fa // vmovdqu ymm2, yword [rdx + 8*rdi + 32]
LONG $0x5c6ffec5; WORD $0x40fa // vmovdqu ymm3, yword [rdx + 8*rdi + 64]
LONG $0x646ffec5; WORD $0x60fa // vmovdqu ymm4, yword [rdx + 8*rdi + 96]
LONG $0xc8fbf5c5 // vpsubq ymm1, ymm1, ymm0
LONG $0xd0fbedc5 // vpsubq ymm2, ymm2, ymm0
LONG $0xd8fbe5c5 // vpsubq ymm3, ymm3, ymm0
LONG $0xe0fbddc5 // vpsubq ymm4, ymm4, ymm0
LONG $0x7f7ec1c4; WORD $0xf80c // vmovdqu yword [r8 + 8*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xf854; BYTE $0x20 // vmovdqu yword [r8 + 8*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xf85c; BYTE $0x40 // vmovdqu yword [r8 + 8*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xf864; BYTE $0x60 // vmovdqu yword [r8 + 8*rdi + 96], ymm4
QUAD $0x000080fa8c6ffec5; BYTE $0x00 // vmovdqu ymm1, yword [rdx + 8*rdi + 128]
QUAD $0x0000a0fa946ffec5; BYTE $0x00 // vmovdqu ymm2, yword [rdx + 8*rdi + 160]
QUAD $0x0000c0fa9c6ffec5; BYTE $0x00 // vmovdqu ymm3, yword [rdx + 8*rdi + 192]
QUAD $0x0000e0faa46ffec5; BYTE $0x00 // vmovdqu ymm4, yword [rdx + 8*rdi + 224]
LONG $0xc8fbf5c5 // vpsubq ymm1, ymm1, ymm0
LONG $0xd0fbedc5 // vpsubq ymm2, ymm2, ymm0
LONG $0xd8fbe5c5 // vpsubq ymm3, ymm3, ymm0
LONG $0xe0fbddc5 // vpsubq ymm4, ymm4, ymm0
QUAD $0x0080f88c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 128], ymm1
QUAD $0x00a0f8947f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 160], ymm2
QUAD $0x00c0f89c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 192], ymm3
QUAD $0x00e0f8a47f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 224], ymm4
LONG $0x20c78348 // add rdi, 32
LONG $0x02c18348 // add rcx, 2
JNE LBB1_583
JMP LBB1_1014
LBB1_584:
WORD $0xc189 // mov ecx, eax
WORD $0xe183; BYTE $0xe0 // and ecx, -32
LONG $0x187de2c4; BYTE $0xc8 // vbroadcastss ymm1, xmm0
LONG $0xe0718d48 // lea rsi, [rcx - 32]
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xf6 // test rsi, rsi
JE LBB1_1021
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
LBB1_586:
LONG $0x1410fcc5; BYTE $0xb2 // vmovups ymm2, yword [rdx + 4*rsi]
LONG $0x5c10fcc5; WORD $0x20b2 // vmovups ymm3, yword [rdx + 4*rsi + 32]
LONG $0x6410fcc5; WORD $0x40b2 // vmovups ymm4, yword [rdx + 4*rsi + 64]
LONG $0x6c10fcc5; WORD $0x60b2 // vmovups ymm5, yword [rdx + 4*rsi + 96]
LONG $0xd15cecc5 // vsubps ymm2, ymm2, ymm1
LONG $0xd95ce4c5 // vsubps ymm3, ymm3, ymm1
LONG $0xe15cdcc5 // vsubps ymm4, ymm4, ymm1
LONG $0xe95cd4c5 // vsubps ymm5, ymm5, ymm1
LONG $0x117cc1c4; WORD $0xb014 // vmovups yword [r8 + 4*rsi], ymm2
LONG $0x117cc1c4; WORD $0xb05c; BYTE $0x20 // vmovups yword [r8 + 4*rsi + 32], ymm3
LONG $0x117cc1c4; WORD $0xb064; BYTE $0x40 // vmovups yword [r8 + 4*rsi + 64], ymm4
LONG $0x117cc1c4; WORD $0xb06c; BYTE $0x60 // vmovups yword [r8 + 4*rsi + 96], ymm5
QUAD $0x000080b29410fcc5; BYTE $0x00 // vmovups ymm2, yword [rdx + 4*rsi + 128]
QUAD $0x0000a0b29c10fcc5; BYTE $0x00 // vmovups ymm3, yword [rdx + 4*rsi + 160]
QUAD $0x0000c0b2a410fcc5; BYTE $0x00 // vmovups ymm4, yword [rdx + 4*rsi + 192]
QUAD $0x0000e0b2ac10fcc5; BYTE $0x00 // vmovups ymm5, yword [rdx + 4*rsi + 224]
LONG $0xd15cecc5 // vsubps ymm2, ymm2, ymm1
LONG $0xd95ce4c5 // vsubps ymm3, ymm3, ymm1
LONG $0xe15cdcc5 // vsubps ymm4, ymm4, ymm1
LONG $0xe95cd4c5 // vsubps ymm5, ymm5, ymm1
QUAD $0x0080b094117cc1c4; WORD $0x0000 // vmovups yword [r8 + 4*rsi + 128], ymm2
QUAD $0x00a0b09c117cc1c4; WORD $0x0000 // vmovups yword [r8 + 4*rsi + 160], ymm3
QUAD $0x00c0b0a4117cc1c4; WORD $0x0000 // vmovups yword [r8 + 4*rsi + 192], ymm4
QUAD $0x00e0b0ac117cc1c4; WORD $0x0000 // vmovups yword [r8 + 4*rsi + 224], ymm5
LONG $0x40c68348 // add rsi, 64
LONG $0x02c78348 // add rdi, 2
JNE LBB1_586
JMP LBB1_1022
LBB1_587:
WORD $0x8944; BYTE $0xd7 // mov edi, r10d
WORD $0xe783; BYTE $0xe0 // and edi, -32
LONG $0xc16ef9c5 // vmovd xmm0, ecx
LONG $0x787de2c4; BYTE $0xc0 // vpbroadcastb ymm0, xmm0
LONG $0xe0778d48 // lea rsi, [rdi - 32]
WORD $0x8948; BYTE $0xf0 // mov rax, rsi
LONG $0x05e8c148 // shr rax, 5
LONG $0x01c08348 // add rax, 1
WORD $0x8941; BYTE $0xc1 // mov r9d, eax
LONG $0x03e18341 // and r9d, 3
LONG $0x60fe8348 // cmp rsi, 96
JAE LBB1_641
WORD $0xf631 // xor esi, esi
JMP LBB1_643
LBB1_589:
WORD $0x8944; BYTE $0xd7 // mov edi, r10d
WORD $0xe783; BYTE $0xe0 // and edi, -32
LONG $0xc16ef9c5 // vmovd xmm0, ecx
LONG $0x787de2c4; BYTE $0xc0 // vpbroadcastb ymm0, xmm0
LONG $0xe0778d48 // lea rsi, [rdi - 32]
WORD $0x8948; BYTE $0xf0 // mov rax, rsi
LONG $0x05e8c148 // shr rax, 5
LONG $0x01c08348 // add rax, 1
WORD $0x8941; BYTE $0xc1 // mov r9d, eax
LONG $0x03e18341 // and r9d, 3
LONG $0x60fe8348 // cmp rsi, 96
JAE LBB1_651
WORD $0xf631 // xor esi, esi
JMP LBB1_653
LBB1_591:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0x80 // and esi, -128
LONG $0xc06ef9c5 // vmovd xmm0, eax
LONG $0x787de2c4; BYTE $0xc0 // vpbroadcastb ymm0, xmm0
LONG $0x804e8d48 // lea rcx, [rsi - 128]
WORD $0x8949; BYTE $0xc9 // mov r9, rcx
LONG $0x07e9c149 // shr r9, 7
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc9 // test rcx, rcx
JE LBB1_1029
WORD $0x894c; BYTE $0xc9 // mov rcx, r9
LONG $0xfee18348 // and rcx, -2
WORD $0xf748; BYTE $0xd9 // neg rcx
WORD $0xff31 // xor edi, edi
LBB1_593:
LONG $0x0cfcfdc5; BYTE $0x3a // vpaddb ymm1, ymm0, yword [rdx + rdi]
LONG $0x54fcfdc5; WORD $0x203a // vpaddb ymm2, ymm0, yword [rdx + rdi + 32]
LONG $0x5cfcfdc5; WORD $0x403a // vpaddb ymm3, ymm0, yword [rdx + rdi + 64]
LONG $0x64fcfdc5; WORD $0x603a // vpaddb ymm4, ymm0, yword [rdx + rdi + 96]
LONG $0x7f7ec1c4; WORD $0x380c // vmovdqu yword [r8 + rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x3854; BYTE $0x20 // vmovdqu yword [r8 + rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0x385c; BYTE $0x40 // vmovdqu yword [r8 + rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0x3864; BYTE $0x60 // vmovdqu yword [r8 + rdi + 96], ymm4
QUAD $0x0000803a8cfcfdc5; BYTE $0x00 // vpaddb ymm1, ymm0, yword [rdx + rdi + 128]
QUAD $0x0000a03a94fcfdc5; BYTE $0x00 // vpaddb ymm2, ymm0, yword [rdx + rdi + 160]
QUAD $0x0000c03a9cfcfdc5; BYTE $0x00 // vpaddb ymm3, ymm0, yword [rdx + rdi + 192]
QUAD $0x0000e03aa4fcfdc5; BYTE $0x00 // vpaddb ymm4, ymm0, yword [rdx + rdi + 224]
QUAD $0x0080388c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + rdi + 128], ymm1
QUAD $0x00a038947f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + rdi + 160], ymm2
QUAD $0x00c0389c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + rdi + 192], ymm3
QUAD $0x00e038a47f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + rdi + 224], ymm4
LONG $0x00c78148; WORD $0x0001; BYTE $0x00 // add rdi, 256
LONG $0x02c18348 // add rcx, 2
JNE LBB1_593
JMP LBB1_1030
LBB1_594:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0x80 // and esi, -128
LONG $0xc06ef9c5 // vmovd xmm0, eax
LONG $0x787de2c4; BYTE $0xc0 // vpbroadcastb ymm0, xmm0
LONG $0x804e8d48 // lea rcx, [rsi - 128]
WORD $0x8949; BYTE $0xc9 // mov r9, rcx
LONG $0x07e9c149 // shr r9, 7
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc9 // test rcx, rcx
JE LBB1_1037
WORD $0x894c; BYTE $0xc9 // mov rcx, r9
LONG $0xfee18348 // and rcx, -2
WORD $0xf748; BYTE $0xd9 // neg rcx
WORD $0xff31 // xor edi, edi
LBB1_596:
LONG $0x0c6ffec5; BYTE $0x3a // vmovdqu ymm1, yword [rdx + rdi]
LONG $0x546ffec5; WORD $0x203a // vmovdqu ymm2, yword [rdx + rdi + 32]
LONG $0x5c6ffec5; WORD $0x403a // vmovdqu ymm3, yword [rdx + rdi + 64]
LONG $0x646ffec5; WORD $0x603a // vmovdqu ymm4, yword [rdx + rdi + 96]
LONG $0xc8f8f5c5 // vpsubb ymm1, ymm1, ymm0
LONG $0xd0f8edc5 // vpsubb ymm2, ymm2, ymm0
LONG $0xd8f8e5c5 // vpsubb ymm3, ymm3, ymm0
LONG $0xe0f8ddc5 // vpsubb ymm4, ymm4, ymm0
LONG $0x7f7ec1c4; WORD $0x380c // vmovdqu yword [r8 + rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x3854; BYTE $0x20 // vmovdqu yword [r8 + rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0x385c; BYTE $0x40 // vmovdqu yword [r8 + rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0x3864; BYTE $0x60 // vmovdqu yword [r8 + rdi + 96], ymm4
QUAD $0x0000803a8c6ffec5; BYTE $0x00 // vmovdqu ymm1, yword [rdx + rdi + 128]
QUAD $0x0000a03a946ffec5; BYTE $0x00 // vmovdqu ymm2, yword [rdx + rdi + 160]
QUAD $0x0000c03a9c6ffec5; BYTE $0x00 // vmovdqu ymm3, yword [rdx + rdi + 192]
QUAD $0x0000e03aa46ffec5; BYTE $0x00 // vmovdqu ymm4, yword [rdx + rdi + 224]
LONG $0xc8f8f5c5 // vpsubb ymm1, ymm1, ymm0
LONG $0xd0f8edc5 // vpsubb ymm2, ymm2, ymm0
LONG $0xd8f8e5c5 // vpsubb ymm3, ymm3, ymm0
LONG $0xe0f8ddc5 // vpsubb ymm4, ymm4, ymm0
QUAD $0x0080388c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + rdi + 128], ymm1
QUAD $0x00a038947f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + rdi + 160], ymm2
QUAD $0x00c0389c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + rdi + 192], ymm3
QUAD $0x00e038a47f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + rdi + 224], ymm4
LONG $0x00c78148; WORD $0x0001; BYTE $0x00 // add rdi, 256
LONG $0x02c18348 // add rcx, 2
JNE LBB1_596
JMP LBB1_1038
LBB1_597:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0x80 // and esi, -128
LONG $0xc06ef9c5 // vmovd xmm0, eax
LONG $0x787de2c4; BYTE $0xc0 // vpbroadcastb ymm0, xmm0
LONG $0x804e8d48 // lea rcx, [rsi - 128]
WORD $0x8949; BYTE $0xc9 // mov r9, rcx
LONG $0x07e9c149 // shr r9, 7
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc9 // test rcx, rcx
JE LBB1_1045
WORD $0x894c; BYTE $0xc9 // mov rcx, r9
LONG $0xfee18348 // and rcx, -2
WORD $0xf748; BYTE $0xd9 // neg rcx
WORD $0xff31 // xor edi, edi
LBB1_599:
LONG $0x0cfcfdc5; BYTE $0x3a // vpaddb ymm1, ymm0, yword [rdx + rdi]
LONG $0x54fcfdc5; WORD $0x203a // vpaddb ymm2, ymm0, yword [rdx + rdi + 32]
LONG $0x5cfcfdc5; WORD $0x403a // vpaddb ymm3, ymm0, yword [rdx + rdi + 64]
LONG $0x64fcfdc5; WORD $0x603a // vpaddb ymm4, ymm0, yword [rdx + rdi + 96]
LONG $0x7f7ec1c4; WORD $0x380c // vmovdqu yword [r8 + rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x3854; BYTE $0x20 // vmovdqu yword [r8 + rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0x385c; BYTE $0x40 // vmovdqu yword [r8 + rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0x3864; BYTE $0x60 // vmovdqu yword [r8 + rdi + 96], ymm4
QUAD $0x0000803a8cfcfdc5; BYTE $0x00 // vpaddb ymm1, ymm0, yword [rdx + rdi + 128]
QUAD $0x0000a03a94fcfdc5; BYTE $0x00 // vpaddb ymm2, ymm0, yword [rdx + rdi + 160]
QUAD $0x0000c03a9cfcfdc5; BYTE $0x00 // vpaddb ymm3, ymm0, yword [rdx + rdi + 192]
QUAD $0x0000e03aa4fcfdc5; BYTE $0x00 // vpaddb ymm4, ymm0, yword [rdx + rdi + 224]
QUAD $0x0080388c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + rdi + 128], ymm1
QUAD $0x00a038947f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + rdi + 160], ymm2
QUAD $0x00c0389c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + rdi + 192], ymm3
QUAD $0x00e038a47f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + rdi + 224], ymm4
LONG $0x00c78148; WORD $0x0001; BYTE $0x00 // add rdi, 256
LONG $0x02c18348 // add rcx, 2
JNE LBB1_599
JMP LBB1_1046
LBB1_600:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0x80 // and esi, -128
LONG $0xc06ef9c5 // vmovd xmm0, eax
LONG $0x787de2c4; BYTE $0xc0 // vpbroadcastb ymm0, xmm0
LONG $0x804e8d48 // lea rcx, [rsi - 128]
WORD $0x8949; BYTE $0xc9 // mov r9, rcx
LONG $0x07e9c149 // shr r9, 7
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc9 // test rcx, rcx
JE LBB1_1053
WORD $0x894c; BYTE $0xc9 // mov rcx, r9
LONG $0xfee18348 // and rcx, -2
WORD $0xf748; BYTE $0xd9 // neg rcx
WORD $0xff31 // xor edi, edi
LBB1_602:
LONG $0x0c6ffec5; BYTE $0x3a // vmovdqu ymm1, yword [rdx + rdi]
LONG $0x546ffec5; WORD $0x203a // vmovdqu ymm2, yword [rdx + rdi + 32]
LONG $0x5c6ffec5; WORD $0x403a // vmovdqu ymm3, yword [rdx + rdi + 64]
LONG $0x646ffec5; WORD $0x603a // vmovdqu ymm4, yword [rdx + rdi + 96]
LONG $0xc8f8f5c5 // vpsubb ymm1, ymm1, ymm0
LONG $0xd0f8edc5 // vpsubb ymm2, ymm2, ymm0
LONG $0xd8f8e5c5 // vpsubb ymm3, ymm3, ymm0
LONG $0xe0f8ddc5 // vpsubb ymm4, ymm4, ymm0
LONG $0x7f7ec1c4; WORD $0x380c // vmovdqu yword [r8 + rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x3854; BYTE $0x20 // vmovdqu yword [r8 + rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0x385c; BYTE $0x40 // vmovdqu yword [r8 + rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0x3864; BYTE $0x60 // vmovdqu yword [r8 + rdi + 96], ymm4
QUAD $0x0000803a8c6ffec5; BYTE $0x00 // vmovdqu ymm1, yword [rdx + rdi + 128]
QUAD $0x0000a03a946ffec5; BYTE $0x00 // vmovdqu ymm2, yword [rdx + rdi + 160]
QUAD $0x0000c03a9c6ffec5; BYTE $0x00 // vmovdqu ymm3, yword [rdx + rdi + 192]
QUAD $0x0000e03aa46ffec5; BYTE $0x00 // vmovdqu ymm4, yword [rdx + rdi + 224]
LONG $0xc8f8f5c5 // vpsubb ymm1, ymm1, ymm0
LONG $0xd0f8edc5 // vpsubb ymm2, ymm2, ymm0
LONG $0xd8f8e5c5 // vpsubb ymm3, ymm3, ymm0
LONG $0xe0f8ddc5 // vpsubb ymm4, ymm4, ymm0
QUAD $0x0080388c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + rdi + 128], ymm1
QUAD $0x00a038947f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + rdi + 160], ymm2
QUAD $0x00c0389c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + rdi + 192], ymm3
QUAD $0x00e038a47f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + rdi + 224], ymm4
LONG $0x00c78148; WORD $0x0001; BYTE $0x00 // add rdi, 256
LONG $0x02c18348 // add rcx, 2
JNE LBB1_602
JMP LBB1_1054
LBB1_603:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0xc06ef9c5 // vmovd xmm0, eax
LONG $0x587de2c4; BYTE $0xc0 // vpbroadcastd ymm0, xmm0
LONG $0xe04e8d48 // lea rcx, [rsi - 32]
WORD $0x8949; BYTE $0xc9 // mov r9, rcx
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc9 // test rcx, rcx
JE LBB1_1061
WORD $0x894c; BYTE $0xc9 // mov rcx, r9
LONG $0xfee18348 // and rcx, -2
WORD $0xf748; BYTE $0xd9 // neg rcx
WORD $0xff31 // xor edi, edi
LBB1_605:
LONG $0x407de2c4; WORD $0xba0c // vpmulld ymm1, ymm0, yword [rdx + 4*rdi]
LONG $0x407de2c4; WORD $0xba54; BYTE $0x20 // vpmulld ymm2, ymm0, yword [rdx + 4*rdi + 32]
LONG $0x407de2c4; WORD $0xba5c; BYTE $0x40 // vpmulld ymm3, ymm0, yword [rdx + 4*rdi + 64]
LONG $0x407de2c4; WORD $0xba64; BYTE $0x60 // vpmulld ymm4, ymm0, yword [rdx + 4*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xb80c // vmovdqu yword [r8 + 4*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xb854; BYTE $0x20 // vmovdqu yword [r8 + 4*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xb85c; BYTE $0x40 // vmovdqu yword [r8 + 4*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xb864; BYTE $0x60 // vmovdqu yword [r8 + 4*rdi + 96], ymm4
QUAD $0x0080ba8c407de2c4; WORD $0x0000 // vpmulld ymm1, ymm0, yword [rdx + 4*rdi + 128]
QUAD $0x00a0ba94407de2c4; WORD $0x0000 // vpmulld ymm2, ymm0, yword [rdx + 4*rdi + 160]
QUAD $0x00c0ba9c407de2c4; WORD $0x0000 // vpmulld ymm3, ymm0, yword [rdx + 4*rdi + 192]
QUAD $0x00e0baa4407de2c4; WORD $0x0000 // vpmulld ymm4, ymm0, yword [rdx + 4*rdi + 224]
QUAD $0x0080b88c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 128], ymm1
QUAD $0x00a0b8947f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 160], ymm2
QUAD $0x00c0b89c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 192], ymm3
QUAD $0x00e0b8a47f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 224], ymm4
LONG $0x40c78348 // add rdi, 64
LONG $0x02c18348 // add rcx, 2
JNE LBB1_605
JMP LBB1_1062
LBB1_606:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0xc06ef9c5 // vmovd xmm0, eax
LONG $0x587de2c4; BYTE $0xc0 // vpbroadcastd ymm0, xmm0
LONG $0xe04e8d48 // lea rcx, [rsi - 32]
WORD $0x8949; BYTE $0xc9 // mov r9, rcx
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc9 // test rcx, rcx
JE LBB1_1069
WORD $0x894c; BYTE $0xc9 // mov rcx, r9
LONG $0xfee18348 // and rcx, -2
WORD $0xf748; BYTE $0xd9 // neg rcx
WORD $0xff31 // xor edi, edi
LBB1_608:
LONG $0x407de2c4; WORD $0xba0c // vpmulld ymm1, ymm0, yword [rdx + 4*rdi]
LONG $0x407de2c4; WORD $0xba54; BYTE $0x20 // vpmulld ymm2, ymm0, yword [rdx + 4*rdi + 32]
LONG $0x407de2c4; WORD $0xba5c; BYTE $0x40 // vpmulld ymm3, ymm0, yword [rdx + 4*rdi + 64]
LONG $0x407de2c4; WORD $0xba64; BYTE $0x60 // vpmulld ymm4, ymm0, yword [rdx + 4*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xb80c // vmovdqu yword [r8 + 4*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xb854; BYTE $0x20 // vmovdqu yword [r8 + 4*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xb85c; BYTE $0x40 // vmovdqu yword [r8 + 4*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xb864; BYTE $0x60 // vmovdqu yword [r8 + 4*rdi + 96], ymm4
QUAD $0x0080ba8c407de2c4; WORD $0x0000 // vpmulld ymm1, ymm0, yword [rdx + 4*rdi + 128]
QUAD $0x00a0ba94407de2c4; WORD $0x0000 // vpmulld ymm2, ymm0, yword [rdx + 4*rdi + 160]
QUAD $0x00c0ba9c407de2c4; WORD $0x0000 // vpmulld ymm3, ymm0, yword [rdx + 4*rdi + 192]
QUAD $0x00e0baa4407de2c4; WORD $0x0000 // vpmulld ymm4, ymm0, yword [rdx + 4*rdi + 224]
QUAD $0x0080b88c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 128], ymm1
QUAD $0x00a0b8947f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 160], ymm2
QUAD $0x00c0b89c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 192], ymm3
QUAD $0x00e0b8a47f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 224], ymm4
LONG $0x40c78348 // add rdi, 64
LONG $0x02c18348 // add rcx, 2
JNE LBB1_608
JMP LBB1_1070
LBB1_609:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0xc06ef9c5 // vmovd xmm0, eax
LONG $0x587de2c4; BYTE $0xc0 // vpbroadcastd ymm0, xmm0
LONG $0xe04e8d48 // lea rcx, [rsi - 32]
WORD $0x8949; BYTE $0xc9 // mov r9, rcx
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc9 // test rcx, rcx
JE LBB1_1077
WORD $0x894c; BYTE $0xc9 // mov rcx, r9
LONG $0xfee18348 // and rcx, -2
WORD $0xf748; BYTE $0xd9 // neg rcx
WORD $0xff31 // xor edi, edi
LBB1_611:
LONG $0x0cfefdc5; BYTE $0xba // vpaddd ymm1, ymm0, yword [rdx + 4*rdi]
LONG $0x54fefdc5; WORD $0x20ba // vpaddd ymm2, ymm0, yword [rdx + 4*rdi + 32]
LONG $0x5cfefdc5; WORD $0x40ba // vpaddd ymm3, ymm0, yword [rdx + 4*rdi + 64]
LONG $0x64fefdc5; WORD $0x60ba // vpaddd ymm4, ymm0, yword [rdx + 4*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xb80c // vmovdqu yword [r8 + 4*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xb854; BYTE $0x20 // vmovdqu yword [r8 + 4*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xb85c; BYTE $0x40 // vmovdqu yword [r8 + 4*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xb864; BYTE $0x60 // vmovdqu yword [r8 + 4*rdi + 96], ymm4
QUAD $0x000080ba8cfefdc5; BYTE $0x00 // vpaddd ymm1, ymm0, yword [rdx + 4*rdi + 128]
QUAD $0x0000a0ba94fefdc5; BYTE $0x00 // vpaddd ymm2, ymm0, yword [rdx + 4*rdi + 160]
QUAD $0x0000c0ba9cfefdc5; BYTE $0x00 // vpaddd ymm3, ymm0, yword [rdx + 4*rdi + 192]
QUAD $0x0000e0baa4fefdc5; BYTE $0x00 // vpaddd ymm4, ymm0, yword [rdx + 4*rdi + 224]
QUAD $0x0080b88c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 128], ymm1
QUAD $0x00a0b8947f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 160], ymm2
QUAD $0x00c0b89c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 192], ymm3
QUAD $0x00e0b8a47f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 224], ymm4
LONG $0x40c78348 // add rdi, 64
LONG $0x02c18348 // add rcx, 2
JNE LBB1_611
JMP LBB1_1078
LBB1_612:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0xc06ef9c5 // vmovd xmm0, eax
LONG $0x587de2c4; BYTE $0xc0 // vpbroadcastd ymm0, xmm0
LONG $0xe04e8d48 // lea rcx, [rsi - 32]
WORD $0x8949; BYTE $0xc9 // mov r9, rcx
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc9 // test rcx, rcx
JE LBB1_1085
WORD $0x894c; BYTE $0xc9 // mov rcx, r9
LONG $0xfee18348 // and rcx, -2
WORD $0xf748; BYTE $0xd9 // neg rcx
WORD $0xff31 // xor edi, edi
LBB1_614:
LONG $0x0c6ffec5; BYTE $0xba // vmovdqu ymm1, yword [rdx + 4*rdi]
LONG $0x546ffec5; WORD $0x20ba // vmovdqu ymm2, yword [rdx + 4*rdi + 32]
LONG $0x5c6ffec5; WORD $0x40ba // vmovdqu ymm3, yword [rdx + 4*rdi + 64]
LONG $0x646ffec5; WORD $0x60ba // vmovdqu ymm4, yword [rdx + 4*rdi + 96]
LONG $0xc8faf5c5 // vpsubd ymm1, ymm1, ymm0
LONG $0xd0faedc5 // vpsubd ymm2, ymm2, ymm0
LONG $0xd8fae5c5 // vpsubd ymm3, ymm3, ymm0
LONG $0xe0faddc5 // vpsubd ymm4, ymm4, ymm0
LONG $0x7f7ec1c4; WORD $0xb80c // vmovdqu yword [r8 + 4*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xb854; BYTE $0x20 // vmovdqu yword [r8 + 4*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xb85c; BYTE $0x40 // vmovdqu yword [r8 + 4*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xb864; BYTE $0x60 // vmovdqu yword [r8 + 4*rdi + 96], ymm4
QUAD $0x000080ba8c6ffec5; BYTE $0x00 // vmovdqu ymm1, yword [rdx + 4*rdi + 128]
QUAD $0x0000a0ba946ffec5; BYTE $0x00 // vmovdqu ymm2, yword [rdx + 4*rdi + 160]
QUAD $0x0000c0ba9c6ffec5; BYTE $0x00 // vmovdqu ymm3, yword [rdx + 4*rdi + 192]
QUAD $0x0000e0baa46ffec5; BYTE $0x00 // vmovdqu ymm4, yword [rdx + 4*rdi + 224]
LONG $0xc8faf5c5 // vpsubd ymm1, ymm1, ymm0
LONG $0xd0faedc5 // vpsubd ymm2, ymm2, ymm0
LONG $0xd8fae5c5 // vpsubd ymm3, ymm3, ymm0
LONG $0xe0faddc5 // vpsubd ymm4, ymm4, ymm0
QUAD $0x0080b88c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 128], ymm1
QUAD $0x00a0b8947f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 160], ymm2
QUAD $0x00c0b89c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 192], ymm3
QUAD $0x00e0b8a47f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 224], ymm4
LONG $0x40c78348 // add rdi, 64
LONG $0x02c18348 // add rcx, 2
JNE LBB1_614
JMP LBB1_1086
LBB1_615:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0xc06ef9c5 // vmovd xmm0, eax
LONG $0x587de2c4; BYTE $0xc0 // vpbroadcastd ymm0, xmm0
LONG $0xe04e8d48 // lea rcx, [rsi - 32]
WORD $0x8949; BYTE $0xc9 // mov r9, rcx
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc9 // test rcx, rcx
JE LBB1_1093
WORD $0x894c; BYTE $0xc9 // mov rcx, r9
LONG $0xfee18348 // and rcx, -2
WORD $0xf748; BYTE $0xd9 // neg rcx
WORD $0xff31 // xor edi, edi
LBB1_617:
LONG $0x0cfefdc5; BYTE $0xba // vpaddd ymm1, ymm0, yword [rdx + 4*rdi]
LONG $0x54fefdc5; WORD $0x20ba // vpaddd ymm2, ymm0, yword [rdx + 4*rdi + 32]
LONG $0x5cfefdc5; WORD $0x40ba // vpaddd ymm3, ymm0, yword [rdx + 4*rdi + 64]
LONG $0x64fefdc5; WORD $0x60ba // vpaddd ymm4, ymm0, yword [rdx + 4*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xb80c // vmovdqu yword [r8 + 4*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xb854; BYTE $0x20 // vmovdqu yword [r8 + 4*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xb85c; BYTE $0x40 // vmovdqu yword [r8 + 4*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xb864; BYTE $0x60 // vmovdqu yword [r8 + 4*rdi + 96], ymm4
QUAD $0x000080ba8cfefdc5; BYTE $0x00 // vpaddd ymm1, ymm0, yword [rdx + 4*rdi + 128]
QUAD $0x0000a0ba94fefdc5; BYTE $0x00 // vpaddd ymm2, ymm0, yword [rdx + 4*rdi + 160]
QUAD $0x0000c0ba9cfefdc5; BYTE $0x00 // vpaddd ymm3, ymm0, yword [rdx + 4*rdi + 192]
QUAD $0x0000e0baa4fefdc5; BYTE $0x00 // vpaddd ymm4, ymm0, yword [rdx + 4*rdi + 224]
QUAD $0x0080b88c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 128], ymm1
QUAD $0x00a0b8947f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 160], ymm2
QUAD $0x00c0b89c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 192], ymm3
QUAD $0x00e0b8a47f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 224], ymm4
LONG $0x40c78348 // add rdi, 64
LONG $0x02c18348 // add rcx, 2
JNE LBB1_617
JMP LBB1_1094
LBB1_618:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0xc06ef9c5 // vmovd xmm0, eax
LONG $0x587de2c4; BYTE $0xc0 // vpbroadcastd ymm0, xmm0
LONG $0xe04e8d48 // lea rcx, [rsi - 32]
WORD $0x8949; BYTE $0xc9 // mov r9, rcx
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc9 // test rcx, rcx
JE LBB1_1101
WORD $0x894c; BYTE $0xc9 // mov rcx, r9
LONG $0xfee18348 // and rcx, -2
WORD $0xf748; BYTE $0xd9 // neg rcx
WORD $0xff31 // xor edi, edi
LBB1_620:
LONG $0x0c6ffec5; BYTE $0xba // vmovdqu ymm1, yword [rdx + 4*rdi]
LONG $0x546ffec5; WORD $0x20ba // vmovdqu ymm2, yword [rdx + 4*rdi + 32]
LONG $0x5c6ffec5; WORD $0x40ba // vmovdqu ymm3, yword [rdx + 4*rdi + 64]
LONG $0x646ffec5; WORD $0x60ba // vmovdqu ymm4, yword [rdx + 4*rdi + 96]
LONG $0xc8faf5c5 // vpsubd ymm1, ymm1, ymm0
LONG $0xd0faedc5 // vpsubd ymm2, ymm2, ymm0
LONG $0xd8fae5c5 // vpsubd ymm3, ymm3, ymm0
LONG $0xe0faddc5 // vpsubd ymm4, ymm4, ymm0
LONG $0x7f7ec1c4; WORD $0xb80c // vmovdqu yword [r8 + 4*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xb854; BYTE $0x20 // vmovdqu yword [r8 + 4*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xb85c; BYTE $0x40 // vmovdqu yword [r8 + 4*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xb864; BYTE $0x60 // vmovdqu yword [r8 + 4*rdi + 96], ymm4
QUAD $0x000080ba8c6ffec5; BYTE $0x00 // vmovdqu ymm1, yword [rdx + 4*rdi + 128]
QUAD $0x0000a0ba946ffec5; BYTE $0x00 // vmovdqu ymm2, yword [rdx + 4*rdi + 160]
QUAD $0x0000c0ba9c6ffec5; BYTE $0x00 // vmovdqu ymm3, yword [rdx + 4*rdi + 192]
QUAD $0x0000e0baa46ffec5; BYTE $0x00 // vmovdqu ymm4, yword [rdx + 4*rdi + 224]
LONG $0xc8faf5c5 // vpsubd ymm1, ymm1, ymm0
LONG $0xd0faedc5 // vpsubd ymm2, ymm2, ymm0
LONG $0xd8fae5c5 // vpsubd ymm3, ymm3, ymm0
LONG $0xe0faddc5 // vpsubd ymm4, ymm4, ymm0
QUAD $0x0080b88c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 128], ymm1
QUAD $0x00a0b8947f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 160], ymm2
QUAD $0x00c0b89c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 192], ymm3
QUAD $0x00e0b8a47f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 224], ymm4
LONG $0x40c78348 // add rdi, 64
LONG $0x02c18348 // add rcx, 2
JNE LBB1_620
JMP LBB1_1102
LBB1_621:
LONG $0xfce08348 // and rax, -4
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xf631 // xor esi, esi
LONG $0xc868fdc5 // vpunpckhbw ymm1, ymm0, ymm0
LONG $0x556ffdc5; BYTE $0x00 // vmovdqa ymm2, yword 0[rbp] /* [rip + .LCPI1_0] */
LONG $0xd860fdc5 // vpunpcklbw ymm3, ymm0, ymm0
LBB1_622:
LONG $0x246ffec5; BYTE $0x32 // vmovdqu ymm4, yword [rdx + rsi]
LONG $0xec68ddc5 // vpunpckhbw ymm5, ymm4, ymm4
LONG $0xe9d5d5c5 // vpmullw ymm5, ymm5, ymm1
LONG $0xeadbd5c5 // vpand ymm5, ymm5, ymm2
LONG $0xe460ddc5 // vpunpcklbw ymm4, ymm4, ymm4
LONG $0xe3d5ddc5 // vpmullw ymm4, ymm4, ymm3
LONG $0xe2dbddc5 // vpand ymm4, ymm4, ymm2
LONG $0xe567ddc5 // vpackuswb ymm4, ymm4, ymm5
LONG $0x7f7ec1c4; WORD $0x3024 // vmovdqu yword [r8 + rsi], ymm4
LONG $0x646ffec5; WORD $0x2032 // vmovdqu ymm4, yword [rdx + rsi + 32]
LONG $0xec68ddc5 // vpunpckhbw ymm5, ymm4, ymm4
LONG $0xe9d5d5c5 // vpmullw ymm5, ymm5, ymm1
LONG $0xeadbd5c5 // vpand ymm5, ymm5, ymm2
LONG $0xe460ddc5 // vpunpcklbw ymm4, ymm4, ymm4
LONG $0xe3d5ddc5 // vpmullw ymm4, ymm4, ymm3
LONG $0xe2dbddc5 // vpand ymm4, ymm4, ymm2
LONG $0xe567ddc5 // vpackuswb ymm4, ymm4, ymm5
LONG $0x7f7ec1c4; WORD $0x3064; BYTE $0x20 // vmovdqu yword [r8 + rsi + 32], ymm4
LONG $0x646ffec5; WORD $0x4032 // vmovdqu ymm4, yword [rdx + rsi + 64]
LONG $0xec68ddc5 // vpunpckhbw ymm5, ymm4, ymm4
LONG $0xe9d5d5c5 // vpmullw ymm5, ymm5, ymm1
LONG $0xeadbd5c5 // vpand ymm5, ymm5, ymm2
LONG $0xe460ddc5 // vpunpcklbw ymm4, ymm4, ymm4
LONG $0xe3d5ddc5 // vpmullw ymm4, ymm4, ymm3
LONG $0xe2dbddc5 // vpand ymm4, ymm4, ymm2
LONG $0xe567ddc5 // vpackuswb ymm4, ymm4, ymm5
LONG $0x7f7ec1c4; WORD $0x3064; BYTE $0x40 // vmovdqu yword [r8 + rsi + 64], ymm4
LONG $0x646ffec5; WORD $0x6032 // vmovdqu ymm4, yword [rdx + rsi + 96]
LONG $0xec68ddc5 // vpunpckhbw ymm5, ymm4, ymm4
LONG $0xe9d5d5c5 // vpmullw ymm5, ymm5, ymm1
LONG $0xeadbd5c5 // vpand ymm5, ymm5, ymm2
LONG $0xe460ddc5 // vpunpcklbw ymm4, ymm4, ymm4
LONG $0xe3d5ddc5 // vpmullw ymm4, ymm4, ymm3
LONG $0xe2dbddc5 // vpand ymm4, ymm4, ymm2
LONG $0xe567ddc5 // vpackuswb ymm4, ymm4, ymm5
LONG $0x7f7ec1c4; WORD $0x3064; BYTE $0x60 // vmovdqu yword [r8 + rsi + 96], ymm4
LONG $0x80ee8348 // sub rsi, -128
LONG $0x04c08348 // add rax, 4
JNE LBB1_622
LBB1_623:
WORD $0x854d; BYTE $0xc9 // test r9, r9
JE LBB1_626
WORD $0xf749; BYTE $0xd9 // neg r9
LONG $0xc868fdc5 // vpunpckhbw ymm1, ymm0, ymm0
LONG $0x556ffdc5; BYTE $0x00 // vmovdqa ymm2, yword 0[rbp] /* [rip + .LCPI1_0] */
LONG $0xc060fdc5 // vpunpcklbw ymm0, ymm0, ymm0
LBB1_625:
LONG $0x1c6ffec5; BYTE $0x32 // vmovdqu ymm3, yword [rdx + rsi]
LONG $0xe368e5c5 // vpunpckhbw ymm4, ymm3, ymm3
LONG $0xe1d5ddc5 // vpmullw ymm4, ymm4, ymm1
LONG $0xe2dbddc5 // vpand ymm4, ymm4, ymm2
LONG $0xdb60e5c5 // vpunpcklbw ymm3, ymm3, ymm3
LONG $0xd8d5e5c5 // vpmullw ymm3, ymm3, ymm0
LONG $0xdadbe5c5 // vpand ymm3, ymm3, ymm2
LONG $0xdc67e5c5 // vpackuswb ymm3, ymm3, ymm4
LONG $0x7f7ec1c4; WORD $0x301c // vmovdqu yword [r8 + rsi], ymm3
LONG $0x20c68348 // add rsi, 32
WORD $0xff49; BYTE $0xc1 // inc r9
JNE LBB1_625
LBB1_626:
WORD $0x394c; BYTE $0xd7 // cmp rdi, r10
JE LBB1_1109
JMP LBB1_627
LBB1_631:
LONG $0xfce08348 // and rax, -4
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xf631 // xor esi, esi
LONG $0xc868fdc5 // vpunpckhbw ymm1, ymm0, ymm0
LONG $0x556ffdc5; BYTE $0x00 // vmovdqa ymm2, yword 0[rbp] /* [rip + .LCPI1_0] */
LONG $0xd860fdc5 // vpunpcklbw ymm3, ymm0, ymm0
LBB1_632:
LONG $0x246ffec5; BYTE $0x32 // vmovdqu ymm4, yword [rdx + rsi]
LONG $0xec68ddc5 // vpunpckhbw ymm5, ymm4, ymm4
LONG $0xe9d5d5c5 // vpmullw ymm5, ymm5, ymm1
LONG $0xeadbd5c5 // vpand ymm5, ymm5, ymm2
LONG $0xe460ddc5 // vpunpcklbw ymm4, ymm4, ymm4
LONG $0xe3d5ddc5 // vpmullw ymm4, ymm4, ymm3
LONG $0xe2dbddc5 // vpand ymm4, ymm4, ymm2
LONG $0xe567ddc5 // vpackuswb ymm4, ymm4, ymm5
LONG $0x7f7ec1c4; WORD $0x3024 // vmovdqu yword [r8 + rsi], ymm4
LONG $0x646ffec5; WORD $0x2032 // vmovdqu ymm4, yword [rdx + rsi + 32]
LONG $0xec68ddc5 // vpunpckhbw ymm5, ymm4, ymm4
LONG $0xe9d5d5c5 // vpmullw ymm5, ymm5, ymm1
LONG $0xeadbd5c5 // vpand ymm5, ymm5, ymm2
LONG $0xe460ddc5 // vpunpcklbw ymm4, ymm4, ymm4
LONG $0xe3d5ddc5 // vpmullw ymm4, ymm4, ymm3
LONG $0xe2dbddc5 // vpand ymm4, ymm4, ymm2
LONG $0xe567ddc5 // vpackuswb ymm4, ymm4, ymm5
LONG $0x7f7ec1c4; WORD $0x3064; BYTE $0x20 // vmovdqu yword [r8 + rsi + 32], ymm4
LONG $0x646ffec5; WORD $0x4032 // vmovdqu ymm4, yword [rdx + rsi + 64]
LONG $0xec68ddc5 // vpunpckhbw ymm5, ymm4, ymm4
LONG $0xe9d5d5c5 // vpmullw ymm5, ymm5, ymm1
LONG $0xeadbd5c5 // vpand ymm5, ymm5, ymm2
LONG $0xe460ddc5 // vpunpcklbw ymm4, ymm4, ymm4
LONG $0xe3d5ddc5 // vpmullw ymm4, ymm4, ymm3
LONG $0xe2dbddc5 // vpand ymm4, ymm4, ymm2
LONG $0xe567ddc5 // vpackuswb ymm4, ymm4, ymm5
LONG $0x7f7ec1c4; WORD $0x3064; BYTE $0x40 // vmovdqu yword [r8 + rsi + 64], ymm4
LONG $0x646ffec5; WORD $0x6032 // vmovdqu ymm4, yword [rdx + rsi + 96]
LONG $0xec68ddc5 // vpunpckhbw ymm5, ymm4, ymm4
LONG $0xe9d5d5c5 // vpmullw ymm5, ymm5, ymm1
LONG $0xeadbd5c5 // vpand ymm5, ymm5, ymm2
LONG $0xe460ddc5 // vpunpcklbw ymm4, ymm4, ymm4
LONG $0xe3d5ddc5 // vpmullw ymm4, ymm4, ymm3
LONG $0xe2dbddc5 // vpand ymm4, ymm4, ymm2
LONG $0xe567ddc5 // vpackuswb ymm4, ymm4, ymm5
LONG $0x7f7ec1c4; WORD $0x3064; BYTE $0x60 // vmovdqu yword [r8 + rsi + 96], ymm4
LONG $0x80ee8348 // sub rsi, -128
LONG $0x04c08348 // add rax, 4
JNE LBB1_632
LBB1_633:
WORD $0x854d; BYTE $0xc9 // test r9, r9
JE LBB1_636
WORD $0xf749; BYTE $0xd9 // neg r9
LONG $0xc868fdc5 // vpunpckhbw ymm1, ymm0, ymm0
LONG $0x556ffdc5; BYTE $0x00 // vmovdqa ymm2, yword 0[rbp] /* [rip + .LCPI1_0] */
LONG $0xc060fdc5 // vpunpcklbw ymm0, ymm0, ymm0
LBB1_635:
LONG $0x1c6ffec5; BYTE $0x32 // vmovdqu ymm3, yword [rdx + rsi]
LONG $0xe368e5c5 // vpunpckhbw ymm4, ymm3, ymm3
LONG $0xe1d5ddc5 // vpmullw ymm4, ymm4, ymm1
LONG $0xe2dbddc5 // vpand ymm4, ymm4, ymm2
LONG $0xdb60e5c5 // vpunpcklbw ymm3, ymm3, ymm3
LONG $0xd8d5e5c5 // vpmullw ymm3, ymm3, ymm0
LONG $0xdadbe5c5 // vpand ymm3, ymm3, ymm2
LONG $0xdc67e5c5 // vpackuswb ymm3, ymm3, ymm4
LONG $0x7f7ec1c4; WORD $0x301c // vmovdqu yword [r8 + rsi], ymm3
LONG $0x20c68348 // add rsi, 32
WORD $0xff49; BYTE $0xc1 // inc r9
JNE LBB1_635
LBB1_636:
WORD $0x394c; BYTE $0xd7 // cmp rdi, r10
JE LBB1_1109
JMP LBB1_637
LBB1_641:
LONG $0xfce08348 // and rax, -4
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xf631 // xor esi, esi
LONG $0xc868fdc5 // vpunpckhbw ymm1, ymm0, ymm0
LONG $0x556ffdc5; BYTE $0x00 // vmovdqa ymm2, yword 0[rbp] /* [rip + .LCPI1_0] */
LONG $0xd860fdc5 // vpunpcklbw ymm3, ymm0, ymm0
LBB1_642:
LONG $0x246ffec5; BYTE $0x32 // vmovdqu ymm4, yword [rdx + rsi]
LONG $0xec68ddc5 // vpunpckhbw ymm5, ymm4, ymm4
LONG $0xe9d5d5c5 // vpmullw ymm5, ymm5, ymm1
LONG $0xeadbd5c5 // vpand ymm5, ymm5, ymm2
LONG $0xe460ddc5 // vpunpcklbw ymm4, ymm4, ymm4
LONG $0xe3d5ddc5 // vpmullw ymm4, ymm4, ymm3
LONG $0xe2dbddc5 // vpand ymm4, ymm4, ymm2
LONG $0xe567ddc5 // vpackuswb ymm4, ymm4, ymm5
LONG $0x7f7ec1c4; WORD $0x3024 // vmovdqu yword [r8 + rsi], ymm4
LONG $0x646ffec5; WORD $0x2032 // vmovdqu ymm4, yword [rdx + rsi + 32]
LONG $0xec68ddc5 // vpunpckhbw ymm5, ymm4, ymm4
LONG $0xe9d5d5c5 // vpmullw ymm5, ymm5, ymm1
LONG $0xeadbd5c5 // vpand ymm5, ymm5, ymm2
LONG $0xe460ddc5 // vpunpcklbw ymm4, ymm4, ymm4
LONG $0xe3d5ddc5 // vpmullw ymm4, ymm4, ymm3
LONG $0xe2dbddc5 // vpand ymm4, ymm4, ymm2
LONG $0xe567ddc5 // vpackuswb ymm4, ymm4, ymm5
LONG $0x7f7ec1c4; WORD $0x3064; BYTE $0x20 // vmovdqu yword [r8 + rsi + 32], ymm4
LONG $0x646ffec5; WORD $0x4032 // vmovdqu ymm4, yword [rdx + rsi + 64]
LONG $0xec68ddc5 // vpunpckhbw ymm5, ymm4, ymm4
LONG $0xe9d5d5c5 // vpmullw ymm5, ymm5, ymm1
LONG $0xeadbd5c5 // vpand ymm5, ymm5, ymm2
LONG $0xe460ddc5 // vpunpcklbw ymm4, ymm4, ymm4
LONG $0xe3d5ddc5 // vpmullw ymm4, ymm4, ymm3
LONG $0xe2dbddc5 // vpand ymm4, ymm4, ymm2
LONG $0xe567ddc5 // vpackuswb ymm4, ymm4, ymm5
LONG $0x7f7ec1c4; WORD $0x3064; BYTE $0x40 // vmovdqu yword [r8 + rsi + 64], ymm4
LONG $0x646ffec5; WORD $0x6032 // vmovdqu ymm4, yword [rdx + rsi + 96]
LONG $0xec68ddc5 // vpunpckhbw ymm5, ymm4, ymm4
LONG $0xe9d5d5c5 // vpmullw ymm5, ymm5, ymm1
LONG $0xeadbd5c5 // vpand ymm5, ymm5, ymm2
LONG $0xe460ddc5 // vpunpcklbw ymm4, ymm4, ymm4
LONG $0xe3d5ddc5 // vpmullw ymm4, ymm4, ymm3
LONG $0xe2dbddc5 // vpand ymm4, ymm4, ymm2
LONG $0xe567ddc5 // vpackuswb ymm4, ymm4, ymm5
LONG $0x7f7ec1c4; WORD $0x3064; BYTE $0x60 // vmovdqu yword [r8 + rsi + 96], ymm4
LONG $0x80ee8348 // sub rsi, -128
LONG $0x04c08348 // add rax, 4
JNE LBB1_642
LBB1_643:
WORD $0x854d; BYTE $0xc9 // test r9, r9
JE LBB1_646
WORD $0xf749; BYTE $0xd9 // neg r9
LONG $0xc868fdc5 // vpunpckhbw ymm1, ymm0, ymm0
LONG $0x556ffdc5; BYTE $0x00 // vmovdqa ymm2, yword 0[rbp] /* [rip + .LCPI1_0] */
LONG $0xc060fdc5 // vpunpcklbw ymm0, ymm0, ymm0
LBB1_645:
LONG $0x1c6ffec5; BYTE $0x32 // vmovdqu ymm3, yword [rdx + rsi]
LONG $0xe368e5c5 // vpunpckhbw ymm4, ymm3, ymm3
LONG $0xe1d5ddc5 // vpmullw ymm4, ymm4, ymm1
LONG $0xe2dbddc5 // vpand ymm4, ymm4, ymm2
LONG $0xdb60e5c5 // vpunpcklbw ymm3, ymm3, ymm3
LONG $0xd8d5e5c5 // vpmullw ymm3, ymm3, ymm0
LONG $0xdadbe5c5 // vpand ymm3, ymm3, ymm2
LONG $0xdc67e5c5 // vpackuswb ymm3, ymm3, ymm4
LONG $0x7f7ec1c4; WORD $0x301c // vmovdqu yword [r8 + rsi], ymm3
LONG $0x20c68348 // add rsi, 32
WORD $0xff49; BYTE $0xc1 // inc r9
JNE LBB1_645
LBB1_646:
WORD $0x394c; BYTE $0xd7 // cmp rdi, r10
JE LBB1_1109
JMP LBB1_647
LBB1_651:
LONG $0xfce08348 // and rax, -4
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xf631 // xor esi, esi
LONG $0xc868fdc5 // vpunpckhbw ymm1, ymm0, ymm0
LONG $0x556ffdc5; BYTE $0x00 // vmovdqa ymm2, yword 0[rbp] /* [rip + .LCPI1_0] */
LONG $0xd860fdc5 // vpunpcklbw ymm3, ymm0, ymm0
LBB1_652:
LONG $0x246ffec5; BYTE $0x32 // vmovdqu ymm4, yword [rdx + rsi]
LONG $0xec68ddc5 // vpunpckhbw ymm5, ymm4, ymm4
LONG $0xe9d5d5c5 // vpmullw ymm5, ymm5, ymm1
LONG $0xeadbd5c5 // vpand ymm5, ymm5, ymm2
LONG $0xe460ddc5 // vpunpcklbw ymm4, ymm4, ymm4
LONG $0xe3d5ddc5 // vpmullw ymm4, ymm4, ymm3
LONG $0xe2dbddc5 // vpand ymm4, ymm4, ymm2
LONG $0xe567ddc5 // vpackuswb ymm4, ymm4, ymm5
LONG $0x7f7ec1c4; WORD $0x3024 // vmovdqu yword [r8 + rsi], ymm4
LONG $0x646ffec5; WORD $0x2032 // vmovdqu ymm4, yword [rdx + rsi + 32]
LONG $0xec68ddc5 // vpunpckhbw ymm5, ymm4, ymm4
LONG $0xe9d5d5c5 // vpmullw ymm5, ymm5, ymm1
LONG $0xeadbd5c5 // vpand ymm5, ymm5, ymm2
LONG $0xe460ddc5 // vpunpcklbw ymm4, ymm4, ymm4
LONG $0xe3d5ddc5 // vpmullw ymm4, ymm4, ymm3
LONG $0xe2dbddc5 // vpand ymm4, ymm4, ymm2
LONG $0xe567ddc5 // vpackuswb ymm4, ymm4, ymm5
LONG $0x7f7ec1c4; WORD $0x3064; BYTE $0x20 // vmovdqu yword [r8 + rsi + 32], ymm4
LONG $0x646ffec5; WORD $0x4032 // vmovdqu ymm4, yword [rdx + rsi + 64]
LONG $0xec68ddc5 // vpunpckhbw ymm5, ymm4, ymm4
LONG $0xe9d5d5c5 // vpmullw ymm5, ymm5, ymm1
LONG $0xeadbd5c5 // vpand ymm5, ymm5, ymm2
LONG $0xe460ddc5 // vpunpcklbw ymm4, ymm4, ymm4
LONG $0xe3d5ddc5 // vpmullw ymm4, ymm4, ymm3
LONG $0xe2dbddc5 // vpand ymm4, ymm4, ymm2
LONG $0xe567ddc5 // vpackuswb ymm4, ymm4, ymm5
LONG $0x7f7ec1c4; WORD $0x3064; BYTE $0x40 // vmovdqu yword [r8 + rsi + 64], ymm4
LONG $0x646ffec5; WORD $0x6032 // vmovdqu ymm4, yword [rdx + rsi + 96]
LONG $0xec68ddc5 // vpunpckhbw ymm5, ymm4, ymm4
LONG $0xe9d5d5c5 // vpmullw ymm5, ymm5, ymm1
LONG $0xeadbd5c5 // vpand ymm5, ymm5, ymm2
LONG $0xe460ddc5 // vpunpcklbw ymm4, ymm4, ymm4
LONG $0xe3d5ddc5 // vpmullw ymm4, ymm4, ymm3
LONG $0xe2dbddc5 // vpand ymm4, ymm4, ymm2
LONG $0xe567ddc5 // vpackuswb ymm4, ymm4, ymm5
LONG $0x7f7ec1c4; WORD $0x3064; BYTE $0x60 // vmovdqu yword [r8 + rsi + 96], ymm4
LONG $0x80ee8348 // sub rsi, -128
LONG $0x04c08348 // add rax, 4
JNE LBB1_652
LBB1_653:
WORD $0x854d; BYTE $0xc9 // test r9, r9
JE LBB1_656
WORD $0xf749; BYTE $0xd9 // neg r9
LONG $0xc868fdc5 // vpunpckhbw ymm1, ymm0, ymm0
LONG $0x556ffdc5; BYTE $0x00 // vmovdqa ymm2, yword 0[rbp] /* [rip + .LCPI1_0] */
LONG $0xc060fdc5 // vpunpcklbw ymm0, ymm0, ymm0
LBB1_655:
LONG $0x1c6ffec5; BYTE $0x32 // vmovdqu ymm3, yword [rdx + rsi]
LONG $0xe368e5c5 // vpunpckhbw ymm4, ymm3, ymm3
LONG $0xe1d5ddc5 // vpmullw ymm4, ymm4, ymm1
LONG $0xe2dbddc5 // vpand ymm4, ymm4, ymm2
LONG $0xdb60e5c5 // vpunpcklbw ymm3, ymm3, ymm3
LONG $0xd8d5e5c5 // vpmullw ymm3, ymm3, ymm0
LONG $0xdadbe5c5 // vpand ymm3, ymm3, ymm2
LONG $0xdc67e5c5 // vpackuswb ymm3, ymm3, ymm4
LONG $0x7f7ec1c4; WORD $0x301c // vmovdqu yword [r8 + rsi], ymm3
LONG $0x20c68348 // add rsi, 32
WORD $0xff49; BYTE $0xc1 // inc r9
JNE LBB1_655
LBB1_656:
WORD $0x394c; BYTE $0xd7 // cmp rdi, r10
JE LBB1_1109
JMP LBB1_657
LBB1_661:
WORD $0xff31 // xor edi, edi
LBB1_662:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_664
LONG $0x407de2c4; WORD $0xba0c // vpmulld ymm1, ymm0, yword [rdx + 4*rdi]
LONG $0x407de2c4; WORD $0xba54; BYTE $0x20 // vpmulld ymm2, ymm0, yword [rdx + 4*rdi + 32]
LONG $0x407de2c4; WORD $0xba5c; BYTE $0x40 // vpmulld ymm3, ymm0, yword [rdx + 4*rdi + 64]
LONG $0x407de2c4; WORD $0xba44; BYTE $0x60 // vpmulld ymm0, ymm0, yword [rdx + 4*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xb80c // vmovdqu yword [r8 + 4*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xb854; BYTE $0x20 // vmovdqu yword [r8 + 4*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xb85c; BYTE $0x40 // vmovdqu yword [r8 + 4*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xb844; BYTE $0x60 // vmovdqu yword [r8 + 4*rdi + 96], ymm0
LBB1_664:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1109
JMP LBB1_665
LBB1_669:
WORD $0xff31 // xor edi, edi
LBB1_670:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_672
LONG $0x407de2c4; WORD $0xba0c // vpmulld ymm1, ymm0, yword [rdx + 4*rdi]
LONG $0x407de2c4; WORD $0xba54; BYTE $0x20 // vpmulld ymm2, ymm0, yword [rdx + 4*rdi + 32]
LONG $0x407de2c4; WORD $0xba5c; BYTE $0x40 // vpmulld ymm3, ymm0, yword [rdx + 4*rdi + 64]
LONG $0x407de2c4; WORD $0xba44; BYTE $0x60 // vpmulld ymm0, ymm0, yword [rdx + 4*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xb80c // vmovdqu yword [r8 + 4*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xb854; BYTE $0x20 // vmovdqu yword [r8 + 4*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xb85c; BYTE $0x40 // vmovdqu yword [r8 + 4*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xb844; BYTE $0x60 // vmovdqu yword [r8 + 4*rdi + 96], ymm0
LBB1_672:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1109
JMP LBB1_673
LBB1_677:
WORD $0xff31 // xor edi, edi
LBB1_678:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_680
LONG $0x0cfefdc5; BYTE $0xba // vpaddd ymm1, ymm0, yword [rdx + 4*rdi]
LONG $0x54fefdc5; WORD $0x20ba // vpaddd ymm2, ymm0, yword [rdx + 4*rdi + 32]
LONG $0x5cfefdc5; WORD $0x40ba // vpaddd ymm3, ymm0, yword [rdx + 4*rdi + 64]
LONG $0x44fefdc5; WORD $0x60ba // vpaddd ymm0, ymm0, yword [rdx + 4*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xb80c // vmovdqu yword [r8 + 4*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xb854; BYTE $0x20 // vmovdqu yword [r8 + 4*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xb85c; BYTE $0x40 // vmovdqu yword [r8 + 4*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xb844; BYTE $0x60 // vmovdqu yword [r8 + 4*rdi + 96], ymm0
LBB1_680:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1109
JMP LBB1_681
LBB1_685:
WORD $0xff31 // xor edi, edi
LBB1_686:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_688
LONG $0x0c6ffec5; BYTE $0xba // vmovdqu ymm1, yword [rdx + 4*rdi]
LONG $0x546ffec5; WORD $0x20ba // vmovdqu ymm2, yword [rdx + 4*rdi + 32]
LONG $0x5c6ffec5; WORD $0x40ba // vmovdqu ymm3, yword [rdx + 4*rdi + 64]
LONG $0x646ffec5; WORD $0x60ba // vmovdqu ymm4, yword [rdx + 4*rdi + 96]
LONG $0xc8faf5c5 // vpsubd ymm1, ymm1, ymm0
LONG $0xd0faedc5 // vpsubd ymm2, ymm2, ymm0
LONG $0xd8fae5c5 // vpsubd ymm3, ymm3, ymm0
LONG $0xc0faddc5 // vpsubd ymm0, ymm4, ymm0
LONG $0x7f7ec1c4; WORD $0xb80c // vmovdqu yword [r8 + 4*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xb854; BYTE $0x20 // vmovdqu yword [r8 + 4*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xb85c; BYTE $0x40 // vmovdqu yword [r8 + 4*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xb844; BYTE $0x60 // vmovdqu yword [r8 + 4*rdi + 96], ymm0
LBB1_688:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1109
JMP LBB1_689
LBB1_693:
WORD $0xff31 // xor edi, edi
LBB1_694:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_696
LONG $0x0cfefdc5; BYTE $0xba // vpaddd ymm1, ymm0, yword [rdx + 4*rdi]
LONG $0x54fefdc5; WORD $0x20ba // vpaddd ymm2, ymm0, yword [rdx + 4*rdi + 32]
LONG $0x5cfefdc5; WORD $0x40ba // vpaddd ymm3, ymm0, yword [rdx + 4*rdi + 64]
LONG $0x44fefdc5; WORD $0x60ba // vpaddd ymm0, ymm0, yword [rdx + 4*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xb80c // vmovdqu yword [r8 + 4*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xb854; BYTE $0x20 // vmovdqu yword [r8 + 4*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xb85c; BYTE $0x40 // vmovdqu yword [r8 + 4*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xb844; BYTE $0x60 // vmovdqu yword [r8 + 4*rdi + 96], ymm0
LBB1_696:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1109
JMP LBB1_697
LBB1_701:
WORD $0xff31 // xor edi, edi
LBB1_702:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_704
LONG $0x0c6ffec5; BYTE $0xba // vmovdqu ymm1, yword [rdx + 4*rdi]
LONG $0x546ffec5; WORD $0x20ba // vmovdqu ymm2, yword [rdx + 4*rdi + 32]
LONG $0x5c6ffec5; WORD $0x40ba // vmovdqu ymm3, yword [rdx + 4*rdi + 64]
LONG $0x646ffec5; WORD $0x60ba // vmovdqu ymm4, yword [rdx + 4*rdi + 96]
LONG $0xc8faf5c5 // vpsubd ymm1, ymm1, ymm0
LONG $0xd0faedc5 // vpsubd ymm2, ymm2, ymm0
LONG $0xd8fae5c5 // vpsubd ymm3, ymm3, ymm0
LONG $0xc0faddc5 // vpsubd ymm0, ymm4, ymm0
LONG $0x7f7ec1c4; WORD $0xb80c // vmovdqu yword [r8 + 4*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xb854; BYTE $0x20 // vmovdqu yword [r8 + 4*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xb85c; BYTE $0x40 // vmovdqu yword [r8 + 4*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xb844; BYTE $0x60 // vmovdqu yword [r8 + 4*rdi + 96], ymm0
LBB1_704:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1109
JMP LBB1_705
LBB1_709:
WORD $0xff31 // xor edi, edi
LBB1_710:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_712
LONG $0x1459f5c5; BYTE $0xfa // vmulpd ymm2, ymm1, yword [rdx + 8*rdi]
LONG $0x5c59f5c5; WORD $0x20fa // vmulpd ymm3, ymm1, yword [rdx + 8*rdi + 32]
LONG $0x6459f5c5; WORD $0x40fa // vmulpd ymm4, ymm1, yword [rdx + 8*rdi + 64]
LONG $0x4c59f5c5; WORD $0x60fa // vmulpd ymm1, ymm1, yword [rdx + 8*rdi + 96]
LONG $0x117dc1c4; WORD $0xf814 // vmovupd yword [r8 + 8*rdi], ymm2
LONG $0x117dc1c4; WORD $0xf85c; BYTE $0x20 // vmovupd yword [r8 + 8*rdi + 32], ymm3
LONG $0x117dc1c4; WORD $0xf864; BYTE $0x40 // vmovupd yword [r8 + 8*rdi + 64], ymm4
LONG $0x117dc1c4; WORD $0xf84c; BYTE $0x60 // vmovupd yword [r8 + 8*rdi + 96], ymm1
LBB1_712:
WORD $0x3948; BYTE $0xc1 // cmp rcx, rax
JE LBB1_1109
JMP LBB1_713
LBB1_717:
WORD $0xff31 // xor edi, edi
LBB1_718:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_720
LONG $0x1459f5c5; BYTE $0xfa // vmulpd ymm2, ymm1, yword [rdx + 8*rdi]
LONG $0x5c59f5c5; WORD $0x20fa // vmulpd ymm3, ymm1, yword [rdx + 8*rdi + 32]
LONG $0x6459f5c5; WORD $0x40fa // vmulpd ymm4, ymm1, yword [rdx + 8*rdi + 64]
LONG $0x4c59f5c5; WORD $0x60fa // vmulpd ymm1, ymm1, yword [rdx + 8*rdi + 96]
LONG $0x117dc1c4; WORD $0xf814 // vmovupd yword [r8 + 8*rdi], ymm2
LONG $0x117dc1c4; WORD $0xf85c; BYTE $0x20 // vmovupd yword [r8 + 8*rdi + 32], ymm3
LONG $0x117dc1c4; WORD $0xf864; BYTE $0x40 // vmovupd yword [r8 + 8*rdi + 64], ymm4
LONG $0x117dc1c4; WORD $0xf84c; BYTE $0x60 // vmovupd yword [r8 + 8*rdi + 96], ymm1
LBB1_720:
WORD $0x3948; BYTE $0xc1 // cmp rcx, rax
JE LBB1_1109
JMP LBB1_721
LBB1_725:
WORD $0xff31 // xor edi, edi
LBB1_726:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_728
LONG $0x1458f5c5; BYTE $0xfa // vaddpd ymm2, ymm1, yword [rdx + 8*rdi]
LONG $0x5c58f5c5; WORD $0x20fa // vaddpd ymm3, ymm1, yword [rdx + 8*rdi + 32]
LONG $0x6458f5c5; WORD $0x40fa // vaddpd ymm4, ymm1, yword [rdx + 8*rdi + 64]
LONG $0x4c58f5c5; WORD $0x60fa // vaddpd ymm1, ymm1, yword [rdx + 8*rdi + 96]
LONG $0x117dc1c4; WORD $0xf814 // vmovupd yword [r8 + 8*rdi], ymm2
LONG $0x117dc1c4; WORD $0xf85c; BYTE $0x20 // vmovupd yword [r8 + 8*rdi + 32], ymm3
LONG $0x117dc1c4; WORD $0xf864; BYTE $0x40 // vmovupd yword [r8 + 8*rdi + 64], ymm4
LONG $0x117dc1c4; WORD $0xf84c; BYTE $0x60 // vmovupd yword [r8 + 8*rdi + 96], ymm1
LBB1_728:
WORD $0x3948; BYTE $0xc1 // cmp rcx, rax
JE LBB1_1109
JMP LBB1_729
LBB1_733:
WORD $0xf631 // xor esi, esi
LBB1_734:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_736
LONG $0x1410fdc5; BYTE $0xf2 // vmovupd ymm2, yword [rdx + 8*rsi]
LONG $0x5c10fdc5; WORD $0x20f2 // vmovupd ymm3, yword [rdx + 8*rsi + 32]
LONG $0x6410fdc5; WORD $0x40f2 // vmovupd ymm4, yword [rdx + 8*rsi + 64]
LONG $0x6c10fdc5; WORD $0x60f2 // vmovupd ymm5, yword [rdx + 8*rsi + 96]
LONG $0xd15cedc5 // vsubpd ymm2, ymm2, ymm1
LONG $0xd95ce5c5 // vsubpd ymm3, ymm3, ymm1
LONG $0xe15cddc5 // vsubpd ymm4, ymm4, ymm1
LONG $0xc95cd5c5 // vsubpd ymm1, ymm5, ymm1
LONG $0x117dc1c4; WORD $0xf014 // vmovupd yword [r8 + 8*rsi], ymm2
LONG $0x117dc1c4; WORD $0xf05c; BYTE $0x20 // vmovupd yword [r8 + 8*rsi + 32], ymm3
LONG $0x117dc1c4; WORD $0xf064; BYTE $0x40 // vmovupd yword [r8 + 8*rsi + 64], ymm4
LONG $0x117dc1c4; WORD $0xf04c; BYTE $0x60 // vmovupd yword [r8 + 8*rsi + 96], ymm1
LBB1_736:
WORD $0x3948; BYTE $0xc1 // cmp rcx, rax
JE LBB1_1109
JMP LBB1_737
LBB1_741:
WORD $0xff31 // xor edi, edi
LBB1_742:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_744
LONG $0x1458f5c5; BYTE $0xfa // vaddpd ymm2, ymm1, yword [rdx + 8*rdi]
LONG $0x5c58f5c5; WORD $0x20fa // vaddpd ymm3, ymm1, yword [rdx + 8*rdi + 32]
LONG $0x6458f5c5; WORD $0x40fa // vaddpd ymm4, ymm1, yword [rdx + 8*rdi + 64]
LONG $0x4c58f5c5; WORD $0x60fa // vaddpd ymm1, ymm1, yword [rdx + 8*rdi + 96]
LONG $0x117dc1c4; WORD $0xf814 // vmovupd yword [r8 + 8*rdi], ymm2
LONG $0x117dc1c4; WORD $0xf85c; BYTE $0x20 // vmovupd yword [r8 + 8*rdi + 32], ymm3
LONG $0x117dc1c4; WORD $0xf864; BYTE $0x40 // vmovupd yword [r8 + 8*rdi + 64], ymm4
LONG $0x117dc1c4; WORD $0xf84c; BYTE $0x60 // vmovupd yword [r8 + 8*rdi + 96], ymm1
LBB1_744:
WORD $0x3948; BYTE $0xc1 // cmp rcx, rax
JE LBB1_1109
JMP LBB1_745
LBB1_749:
WORD $0xf631 // xor esi, esi
LBB1_750:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_752
LONG $0x1410fdc5; BYTE $0xf2 // vmovupd ymm2, yword [rdx + 8*rsi]
LONG $0x5c10fdc5; WORD $0x20f2 // vmovupd ymm3, yword [rdx + 8*rsi + 32]
LONG $0x6410fdc5; WORD $0x40f2 // vmovupd ymm4, yword [rdx + 8*rsi + 64]
LONG $0x6c10fdc5; WORD $0x60f2 // vmovupd ymm5, yword [rdx + 8*rsi + 96]
LONG $0xd15cedc5 // vsubpd ymm2, ymm2, ymm1
LONG $0xd95ce5c5 // vsubpd ymm3, ymm3, ymm1
LONG $0xe15cddc5 // vsubpd ymm4, ymm4, ymm1
LONG $0xc95cd5c5 // vsubpd ymm1, ymm5, ymm1
LONG $0x117dc1c4; WORD $0xf014 // vmovupd yword [r8 + 8*rsi], ymm2
LONG $0x117dc1c4; WORD $0xf05c; BYTE $0x20 // vmovupd yword [r8 + 8*rsi + 32], ymm3
LONG $0x117dc1c4; WORD $0xf064; BYTE $0x40 // vmovupd yword [r8 + 8*rsi + 64], ymm4
LONG $0x117dc1c4; WORD $0xf04c; BYTE $0x60 // vmovupd yword [r8 + 8*rsi + 96], ymm1
LBB1_752:
WORD $0x3948; BYTE $0xc1 // cmp rcx, rax
JE LBB1_1109
JMP LBB1_753
LBB1_757:
WORD $0xff31 // xor edi, edi
LBB1_758:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_760
LONG $0x0cfcfdc5; BYTE $0x3a // vpaddb ymm1, ymm0, yword [rdx + rdi]
LONG $0x54fcfdc5; WORD $0x203a // vpaddb ymm2, ymm0, yword [rdx + rdi + 32]
LONG $0x5cfcfdc5; WORD $0x403a // vpaddb ymm3, ymm0, yword [rdx + rdi + 64]
LONG $0x44fcfdc5; WORD $0x603a // vpaddb ymm0, ymm0, yword [rdx + rdi + 96]
LONG $0x7f7ec1c4; WORD $0x380c // vmovdqu yword [r8 + rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x3854; BYTE $0x20 // vmovdqu yword [r8 + rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0x385c; BYTE $0x40 // vmovdqu yword [r8 + rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0x3844; BYTE $0x60 // vmovdqu yword [r8 + rdi + 96], ymm0
LBB1_760:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1109
JMP LBB1_761
LBB1_765:
WORD $0xff31 // xor edi, edi
LBB1_766:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_768
LONG $0x0c6ffec5; BYTE $0x3a // vmovdqu ymm1, yword [rdx + rdi]
LONG $0x546ffec5; WORD $0x203a // vmovdqu ymm2, yword [rdx + rdi + 32]
LONG $0x5c6ffec5; WORD $0x403a // vmovdqu ymm3, yword [rdx + rdi + 64]
LONG $0x646ffec5; WORD $0x603a // vmovdqu ymm4, yword [rdx + rdi + 96]
LONG $0xc8f8f5c5 // vpsubb ymm1, ymm1, ymm0
LONG $0xd0f8edc5 // vpsubb ymm2, ymm2, ymm0
LONG $0xd8f8e5c5 // vpsubb ymm3, ymm3, ymm0
LONG $0xc0f8ddc5 // vpsubb ymm0, ymm4, ymm0
LONG $0x7f7ec1c4; WORD $0x380c // vmovdqu yword [r8 + rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x3854; BYTE $0x20 // vmovdqu yword [r8 + rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0x385c; BYTE $0x40 // vmovdqu yword [r8 + rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0x3844; BYTE $0x60 // vmovdqu yword [r8 + rdi + 96], ymm0
LBB1_768:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1109
JMP LBB1_769
LBB1_773:
WORD $0xff31 // xor edi, edi
LBB1_774:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_776
LONG $0x0cfcfdc5; BYTE $0x3a // vpaddb ymm1, ymm0, yword [rdx + rdi]
LONG $0x54fcfdc5; WORD $0x203a // vpaddb ymm2, ymm0, yword [rdx + rdi + 32]
LONG $0x5cfcfdc5; WORD $0x403a // vpaddb ymm3, ymm0, yword [rdx + rdi + 64]
LONG $0x44fcfdc5; WORD $0x603a // vpaddb ymm0, ymm0, yword [rdx + rdi + 96]
LONG $0x7f7ec1c4; WORD $0x380c // vmovdqu yword [r8 + rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x3854; BYTE $0x20 // vmovdqu yword [r8 + rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0x385c; BYTE $0x40 // vmovdqu yword [r8 + rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0x3844; BYTE $0x60 // vmovdqu yword [r8 + rdi + 96], ymm0
LBB1_776:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1109
JMP LBB1_777
LBB1_781:
WORD $0xff31 // xor edi, edi
LBB1_782:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_784
LONG $0x0c6ffec5; BYTE $0x3a // vmovdqu ymm1, yword [rdx + rdi]
LONG $0x546ffec5; WORD $0x203a // vmovdqu ymm2, yword [rdx + rdi + 32]
LONG $0x5c6ffec5; WORD $0x403a // vmovdqu ymm3, yword [rdx + rdi + 64]
LONG $0x646ffec5; WORD $0x603a // vmovdqu ymm4, yword [rdx + rdi + 96]
LONG $0xc8f8f5c5 // vpsubb ymm1, ymm1, ymm0
LONG $0xd0f8edc5 // vpsubb ymm2, ymm2, ymm0
LONG $0xd8f8e5c5 // vpsubb ymm3, ymm3, ymm0
LONG $0xc0f8ddc5 // vpsubb ymm0, ymm4, ymm0
LONG $0x7f7ec1c4; WORD $0x380c // vmovdqu yword [r8 + rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x3854; BYTE $0x20 // vmovdqu yword [r8 + rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0x385c; BYTE $0x40 // vmovdqu yword [r8 + rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0x3844; BYTE $0x60 // vmovdqu yword [r8 + rdi + 96], ymm0
LBB1_784:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1109
JMP LBB1_785
LBB1_789:
WORD $0xff31 // xor edi, edi
LBB1_790:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_792
LONG $0x146ffec5; BYTE $0xfa // vmovdqu ymm2, yword [rdx + 8*rdi]
LONG $0x5c6ffec5; WORD $0x20fa // vmovdqu ymm3, yword [rdx + 8*rdi + 32]
LONG $0x646ffec5; WORD $0x40fa // vmovdqu ymm4, yword [rdx + 8*rdi + 64]
LONG $0x6c6ffec5; WORD $0x60fa // vmovdqu ymm5, yword [rdx + 8*rdi + 96]
LONG $0xf1f4edc5 // vpmuludq ymm6, ymm2, ymm1
LONG $0xd273c5c5; BYTE $0x20 // vpsrlq ymm7, ymm2, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xd0f4edc5 // vpmuludq ymm2, ymm2, ymm0
LONG $0xd6d4edc5 // vpaddq ymm2, ymm2, ymm6
LONG $0xf1f4e5c5 // vpmuludq ymm6, ymm3, ymm1
LONG $0xd373c5c5; BYTE $0x20 // vpsrlq ymm7, ymm3, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xd8f4e5c5 // vpmuludq ymm3, ymm3, ymm0
LONG $0xded4e5c5 // vpaddq ymm3, ymm3, ymm6
LONG $0xf1f4ddc5 // vpmuludq ymm6, ymm4, ymm1
LONG $0xd473c5c5; BYTE $0x20 // vpsrlq ymm7, ymm4, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xe0f4ddc5 // vpmuludq ymm4, ymm4, ymm0
LONG $0xe6d4ddc5 // vpaddq ymm4, ymm4, ymm6
LONG $0xc9f4d5c5 // vpmuludq ymm1, ymm5, ymm1
LONG $0xd573cdc5; BYTE $0x20 // vpsrlq ymm6, ymm5, 32
LONG $0xf0f4cdc5 // vpmuludq ymm6, ymm6, ymm0
LONG $0xced4f5c5 // vpaddq ymm1, ymm1, ymm6
LONG $0xf173f5c5; BYTE $0x20 // vpsllq ymm1, ymm1, 32
LONG $0xc0f4d5c5 // vpmuludq ymm0, ymm5, ymm0
LONG $0xc1d4fdc5 // vpaddq ymm0, ymm0, ymm1
LONG $0x7f7ec1c4; WORD $0xf814 // vmovdqu yword [r8 + 8*rdi], ymm2
LONG $0x7f7ec1c4; WORD $0xf85c; BYTE $0x20 // vmovdqu yword [r8 + 8*rdi + 32], ymm3
LONG $0x7f7ec1c4; WORD $0xf864; BYTE $0x40 // vmovdqu yword [r8 + 8*rdi + 64], ymm4
LONG $0x7f7ec1c4; WORD $0xf844; BYTE $0x60 // vmovdqu yword [r8 + 8*rdi + 96], ymm0
LBB1_792:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1109
JMP LBB1_793
LBB1_797:
WORD $0xff31 // xor edi, edi
LBB1_798:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_800
LONG $0x146ffec5; BYTE $0xfa // vmovdqu ymm2, yword [rdx + 8*rdi]
LONG $0x5c6ffec5; WORD $0x20fa // vmovdqu ymm3, yword [rdx + 8*rdi + 32]
LONG $0x646ffec5; WORD $0x40fa // vmovdqu ymm4, yword [rdx + 8*rdi + 64]
LONG $0x6c6ffec5; WORD $0x60fa // vmovdqu ymm5, yword [rdx + 8*rdi + 96]
LONG $0xf1f4edc5 // vpmuludq ymm6, ymm2, ymm1
LONG $0xd273c5c5; BYTE $0x20 // vpsrlq ymm7, ymm2, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xd0f4edc5 // vpmuludq ymm2, ymm2, ymm0
LONG $0xd6d4edc5 // vpaddq ymm2, ymm2, ymm6
LONG $0xf1f4e5c5 // vpmuludq ymm6, ymm3, ymm1
LONG $0xd373c5c5; BYTE $0x20 // vpsrlq ymm7, ymm3, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xd8f4e5c5 // vpmuludq ymm3, ymm3, ymm0
LONG $0xded4e5c5 // vpaddq ymm3, ymm3, ymm6
LONG $0xf1f4ddc5 // vpmuludq ymm6, ymm4, ymm1
LONG $0xd473c5c5; BYTE $0x20 // vpsrlq ymm7, ymm4, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xe0f4ddc5 // vpmuludq ymm4, ymm4, ymm0
LONG $0xe6d4ddc5 // vpaddq ymm4, ymm4, ymm6
LONG $0xc9f4d5c5 // vpmuludq ymm1, ymm5, ymm1
LONG $0xd573cdc5; BYTE $0x20 // vpsrlq ymm6, ymm5, 32
LONG $0xf0f4cdc5 // vpmuludq ymm6, ymm6, ymm0
LONG $0xced4f5c5 // vpaddq ymm1, ymm1, ymm6
LONG $0xf173f5c5; BYTE $0x20 // vpsllq ymm1, ymm1, 32
LONG $0xc0f4d5c5 // vpmuludq ymm0, ymm5, ymm0
LONG $0xc1d4fdc5 // vpaddq ymm0, ymm0, ymm1
LONG $0x7f7ec1c4; WORD $0xf814 // vmovdqu yword [r8 + 8*rdi], ymm2
LONG $0x7f7ec1c4; WORD $0xf85c; BYTE $0x20 // vmovdqu yword [r8 + 8*rdi + 32], ymm3
LONG $0x7f7ec1c4; WORD $0xf864; BYTE $0x40 // vmovdqu yword [r8 + 8*rdi + 64], ymm4
LONG $0x7f7ec1c4; WORD $0xf844; BYTE $0x60 // vmovdqu yword [r8 + 8*rdi + 96], ymm0
LBB1_800:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1109
JMP LBB1_801
LBB1_805:
WORD $0xff31 // xor edi, edi
LBB1_806:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_808
LONG $0x0cd4fdc5; BYTE $0xfa // vpaddq ymm1, ymm0, yword [rdx + 8*rdi]
LONG $0x54d4fdc5; WORD $0x20fa // vpaddq ymm2, ymm0, yword [rdx + 8*rdi + 32]
LONG $0x5cd4fdc5; WORD $0x40fa // vpaddq ymm3, ymm0, yword [rdx + 8*rdi + 64]
LONG $0x44d4fdc5; WORD $0x60fa // vpaddq ymm0, ymm0, yword [rdx + 8*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xf80c // vmovdqu yword [r8 + 8*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xf854; BYTE $0x20 // vmovdqu yword [r8 + 8*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xf85c; BYTE $0x40 // vmovdqu yword [r8 + 8*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xf844; BYTE $0x60 // vmovdqu yword [r8 + 8*rdi + 96], ymm0
LBB1_808:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1109
JMP LBB1_809
LBB1_813:
WORD $0xff31 // xor edi, edi
LBB1_814:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_816
LONG $0x0c6ffec5; BYTE $0xfa // vmovdqu ymm1, yword [rdx + 8*rdi]
LONG $0x546ffec5; WORD $0x20fa // vmovdqu ymm2, yword [rdx + 8*rdi + 32]
LONG $0x5c6ffec5; WORD $0x40fa // vmovdqu ymm3, yword [rdx + 8*rdi + 64]
LONG $0x646ffec5; WORD $0x60fa // vmovdqu ymm4, yword [rdx + 8*rdi + 96]
LONG $0xc8fbf5c5 // vpsubq ymm1, ymm1, ymm0
LONG $0xd0fbedc5 // vpsubq ymm2, ymm2, ymm0
LONG $0xd8fbe5c5 // vpsubq ymm3, ymm3, ymm0
LONG $0xc0fbddc5 // vpsubq ymm0, ymm4, ymm0
LONG $0x7f7ec1c4; WORD $0xf80c // vmovdqu yword [r8 + 8*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xf854; BYTE $0x20 // vmovdqu yword [r8 + 8*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xf85c; BYTE $0x40 // vmovdqu yword [r8 + 8*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xf844; BYTE $0x60 // vmovdqu yword [r8 + 8*rdi + 96], ymm0
LBB1_816:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1109
JMP LBB1_817
LBB1_821:
WORD $0xff31 // xor edi, edi
LBB1_822:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_824
LONG $0x0cd4fdc5; BYTE $0xfa // vpaddq ymm1, ymm0, yword [rdx + 8*rdi]
LONG $0x54d4fdc5; WORD $0x20fa // vpaddq ymm2, ymm0, yword [rdx + 8*rdi + 32]
LONG $0x5cd4fdc5; WORD $0x40fa // vpaddq ymm3, ymm0, yword [rdx + 8*rdi + 64]
LONG $0x44d4fdc5; WORD $0x60fa // vpaddq ymm0, ymm0, yword [rdx + 8*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xf80c // vmovdqu yword [r8 + 8*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xf854; BYTE $0x20 // vmovdqu yword [r8 + 8*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xf85c; BYTE $0x40 // vmovdqu yword [r8 + 8*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xf844; BYTE $0x60 // vmovdqu yword [r8 + 8*rdi + 96], ymm0
LBB1_824:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1109
JMP LBB1_825
LBB1_829:
WORD $0xff31 // xor edi, edi
LBB1_830:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_832
LONG $0x0c6ffec5; BYTE $0xfa // vmovdqu ymm1, yword [rdx + 8*rdi]
LONG $0x546ffec5; WORD $0x20fa // vmovdqu ymm2, yword [rdx + 8*rdi + 32]
LONG $0x5c6ffec5; WORD $0x40fa // vmovdqu ymm3, yword [rdx + 8*rdi + 64]
LONG $0x646ffec5; WORD $0x60fa // vmovdqu ymm4, yword [rdx + 8*rdi + 96]
LONG $0xc8fbf5c5 // vpsubq ymm1, ymm1, ymm0
LONG $0xd0fbedc5 // vpsubq ymm2, ymm2, ymm0
LONG $0xd8fbe5c5 // vpsubq ymm3, ymm3, ymm0
LONG $0xc0fbddc5 // vpsubq ymm0, ymm4, ymm0
LONG $0x7f7ec1c4; WORD $0xf80c // vmovdqu yword [r8 + 8*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xf854; BYTE $0x20 // vmovdqu yword [r8 + 8*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xf85c; BYTE $0x40 // vmovdqu yword [r8 + 8*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xf844; BYTE $0x60 // vmovdqu yword [r8 + 8*rdi + 96], ymm0
LBB1_832:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1109
JMP LBB1_833
LBB1_837:
WORD $0xff31 // xor edi, edi
LBB1_838:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_840
LONG $0x0cd5fdc5; BYTE $0x7a // vpmullw ymm1, ymm0, yword [rdx + 2*rdi]
LONG $0x44d5fdc5; WORD $0x207a // vpmullw ymm0, ymm0, yword [rdx + 2*rdi + 32]
LONG $0x7f7ec1c4; WORD $0x780c // vmovdqu yword [r8 + 2*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x7844; BYTE $0x20 // vmovdqu yword [r8 + 2*rdi + 32], ymm0
LBB1_840:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1109
JMP LBB1_841
LBB1_845:
WORD $0xff31 // xor edi, edi
LBB1_846:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_848
LONG $0x0cd5fdc5; BYTE $0x7a // vpmullw ymm1, ymm0, yword [rdx + 2*rdi]
LONG $0x44d5fdc5; WORD $0x207a // vpmullw ymm0, ymm0, yword [rdx + 2*rdi + 32]
LONG $0x7f7ec1c4; WORD $0x780c // vmovdqu yword [r8 + 2*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x7844; BYTE $0x20 // vmovdqu yword [r8 + 2*rdi + 32], ymm0
LBB1_848:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1109
JMP LBB1_849
LBB1_853:
WORD $0xff31 // xor edi, edi
LBB1_854:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_856
LONG $0x0cd5fdc5; BYTE $0x7a // vpmullw ymm1, ymm0, yword [rdx + 2*rdi]
LONG $0x44d5fdc5; WORD $0x207a // vpmullw ymm0, ymm0, yword [rdx + 2*rdi + 32]
LONG $0x7f7ec1c4; WORD $0x780c // vmovdqu yword [r8 + 2*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x7844; BYTE $0x20 // vmovdqu yword [r8 + 2*rdi + 32], ymm0
LBB1_856:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1109
JMP LBB1_857
LBB1_861:
WORD $0xff31 // xor edi, edi
LBB1_862:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_864
LONG $0x0cd5fdc5; BYTE $0x7a // vpmullw ymm1, ymm0, yword [rdx + 2*rdi]
LONG $0x44d5fdc5; WORD $0x207a // vpmullw ymm0, ymm0, yword [rdx + 2*rdi + 32]
LONG $0x7f7ec1c4; WORD $0x780c // vmovdqu yword [r8 + 2*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x7844; BYTE $0x20 // vmovdqu yword [r8 + 2*rdi + 32], ymm0
LBB1_864:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1109
JMP LBB1_865
LBB1_869:
WORD $0xff31 // xor edi, edi
LBB1_870:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_872
LONG $0x0cfdfdc5; BYTE $0x7a // vpaddw ymm1, ymm0, yword [rdx + 2*rdi]
LONG $0x44fdfdc5; WORD $0x207a // vpaddw ymm0, ymm0, yword [rdx + 2*rdi + 32]
LONG $0x7f7ec1c4; WORD $0x780c // vmovdqu yword [r8 + 2*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x7844; BYTE $0x20 // vmovdqu yword [r8 + 2*rdi + 32], ymm0
LBB1_872:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1109
JMP LBB1_873
LBB1_877:
WORD $0xff31 // xor edi, edi
LBB1_878:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_880
LONG $0x0cfdfdc5; BYTE $0x7a // vpaddw ymm1, ymm0, yword [rdx + 2*rdi]
LONG $0x44fdfdc5; WORD $0x207a // vpaddw ymm0, ymm0, yword [rdx + 2*rdi + 32]
LONG $0x7f7ec1c4; WORD $0x780c // vmovdqu yword [r8 + 2*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x7844; BYTE $0x20 // vmovdqu yword [r8 + 2*rdi + 32], ymm0
LBB1_880:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1109
JMP LBB1_881
LBB1_885:
WORD $0xff31 // xor edi, edi
LBB1_886:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_888
LONG $0x0c6ffec5; BYTE $0x7a // vmovdqu ymm1, yword [rdx + 2*rdi]
LONG $0x546ffec5; WORD $0x207a // vmovdqu ymm2, yword [rdx + 2*rdi + 32]
LONG $0xc8f9f5c5 // vpsubw ymm1, ymm1, ymm0
LONG $0xc0f9edc5 // vpsubw ymm0, ymm2, ymm0
LONG $0x7f7ec1c4; WORD $0x780c // vmovdqu yword [r8 + 2*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x7844; BYTE $0x20 // vmovdqu yword [r8 + 2*rdi + 32], ymm0
LBB1_888:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1109
JMP LBB1_889
LBB1_893:
WORD $0xff31 // xor edi, edi
LBB1_894:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_896
LONG $0x0c6ffec5; BYTE $0x7a // vmovdqu ymm1, yword [rdx + 2*rdi]
LONG $0x546ffec5; WORD $0x207a // vmovdqu ymm2, yword [rdx + 2*rdi + 32]
LONG $0xc8f9f5c5 // vpsubw ymm1, ymm1, ymm0
LONG $0xc0f9edc5 // vpsubw ymm0, ymm2, ymm0
LONG $0x7f7ec1c4; WORD $0x780c // vmovdqu yword [r8 + 2*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x7844; BYTE $0x20 // vmovdqu yword [r8 + 2*rdi + 32], ymm0
LBB1_896:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1109
JMP LBB1_897
LBB1_901:
WORD $0xff31 // xor edi, edi
LBB1_902:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_904
LONG $0x0cfdfdc5; BYTE $0x7a // vpaddw ymm1, ymm0, yword [rdx + 2*rdi]
LONG $0x44fdfdc5; WORD $0x207a // vpaddw ymm0, ymm0, yword [rdx + 2*rdi + 32]
LONG $0x7f7ec1c4; WORD $0x780c // vmovdqu yword [r8 + 2*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x7844; BYTE $0x20 // vmovdqu yword [r8 + 2*rdi + 32], ymm0
LBB1_904:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1109
JMP LBB1_905
LBB1_909:
WORD $0xff31 // xor edi, edi
LBB1_910:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_912
LONG $0x0cfdfdc5; BYTE $0x7a // vpaddw ymm1, ymm0, yword [rdx + 2*rdi]
LONG $0x44fdfdc5; WORD $0x207a // vpaddw ymm0, ymm0, yword [rdx + 2*rdi + 32]
LONG $0x7f7ec1c4; WORD $0x780c // vmovdqu yword [r8 + 2*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x7844; BYTE $0x20 // vmovdqu yword [r8 + 2*rdi + 32], ymm0
LBB1_912:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1109
JMP LBB1_913
LBB1_917:
WORD $0xff31 // xor edi, edi
LBB1_918:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_920
LONG $0x0c6ffec5; BYTE $0x7a // vmovdqu ymm1, yword [rdx + 2*rdi]
LONG $0x546ffec5; WORD $0x207a // vmovdqu ymm2, yword [rdx + 2*rdi + 32]
LONG $0xc8f9f5c5 // vpsubw ymm1, ymm1, ymm0
LONG $0xc0f9edc5 // vpsubw ymm0, ymm2, ymm0
LONG $0x7f7ec1c4; WORD $0x780c // vmovdqu yword [r8 + 2*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x7844; BYTE $0x20 // vmovdqu yword [r8 + 2*rdi + 32], ymm0
LBB1_920:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1109
JMP LBB1_921
LBB1_925:
WORD $0xff31 // xor edi, edi
LBB1_926:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_928
LONG $0x0c6ffec5; BYTE $0x7a // vmovdqu ymm1, yword [rdx + 2*rdi]
LONG $0x546ffec5; WORD $0x207a // vmovdqu ymm2, yword [rdx + 2*rdi + 32]
LONG $0xc8f9f5c5 // vpsubw ymm1, ymm1, ymm0
LONG $0xc0f9edc5 // vpsubw ymm0, ymm2, ymm0
LONG $0x7f7ec1c4; WORD $0x780c // vmovdqu yword [r8 + 2*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x7844; BYTE $0x20 // vmovdqu yword [r8 + 2*rdi + 32], ymm0
LBB1_928:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1109
JMP LBB1_929
LBB1_933:
WORD $0xff31 // xor edi, edi
LBB1_934:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_936
LONG $0x146ffec5; BYTE $0xfa // vmovdqu ymm2, yword [rdx + 8*rdi]
LONG $0x5c6ffec5; WORD $0x20fa // vmovdqu ymm3, yword [rdx + 8*rdi + 32]
LONG $0x646ffec5; WORD $0x40fa // vmovdqu ymm4, yword [rdx + 8*rdi + 64]
LONG $0x6c6ffec5; WORD $0x60fa // vmovdqu ymm5, yword [rdx + 8*rdi + 96]
LONG $0xf1f4edc5 // vpmuludq ymm6, ymm2, ymm1
LONG $0xd273c5c5; BYTE $0x20 // vpsrlq ymm7, ymm2, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xd0f4edc5 // vpmuludq ymm2, ymm2, ymm0
LONG $0xd6d4edc5 // vpaddq ymm2, ymm2, ymm6
LONG $0xf1f4e5c5 // vpmuludq ymm6, ymm3, ymm1
LONG $0xd373c5c5; BYTE $0x20 // vpsrlq ymm7, ymm3, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xd8f4e5c5 // vpmuludq ymm3, ymm3, ymm0
LONG $0xded4e5c5 // vpaddq ymm3, ymm3, ymm6
LONG $0xf1f4ddc5 // vpmuludq ymm6, ymm4, ymm1
LONG $0xd473c5c5; BYTE $0x20 // vpsrlq ymm7, ymm4, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xe0f4ddc5 // vpmuludq ymm4, ymm4, ymm0
LONG $0xe6d4ddc5 // vpaddq ymm4, ymm4, ymm6
LONG $0xc9f4d5c5 // vpmuludq ymm1, ymm5, ymm1
LONG $0xd573cdc5; BYTE $0x20 // vpsrlq ymm6, ymm5, 32
LONG $0xf0f4cdc5 // vpmuludq ymm6, ymm6, ymm0
LONG $0xced4f5c5 // vpaddq ymm1, ymm1, ymm6
LONG $0xf173f5c5; BYTE $0x20 // vpsllq ymm1, ymm1, 32
LONG $0xc0f4d5c5 // vpmuludq ymm0, ymm5, ymm0
LONG $0xc1d4fdc5 // vpaddq ymm0, ymm0, ymm1
LONG $0x7f7ec1c4; WORD $0xf814 // vmovdqu yword [r8 + 8*rdi], ymm2
LONG $0x7f7ec1c4; WORD $0xf85c; BYTE $0x20 // vmovdqu yword [r8 + 8*rdi + 32], ymm3
LONG $0x7f7ec1c4; WORD $0xf864; BYTE $0x40 // vmovdqu yword [r8 + 8*rdi + 64], ymm4
LONG $0x7f7ec1c4; WORD $0xf844; BYTE $0x60 // vmovdqu yword [r8 + 8*rdi + 96], ymm0
LBB1_936:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1109
JMP LBB1_937
LBB1_941:
WORD $0xff31 // xor edi, edi
LBB1_942:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_944
LONG $0x1459f4c5; BYTE $0xba // vmulps ymm2, ymm1, yword [rdx + 4*rdi]
LONG $0x5c59f4c5; WORD $0x20ba // vmulps ymm3, ymm1, yword [rdx + 4*rdi + 32]
LONG $0x6459f4c5; WORD $0x40ba // vmulps ymm4, ymm1, yword [rdx + 4*rdi + 64]
LONG $0x4c59f4c5; WORD $0x60ba // vmulps ymm1, ymm1, yword [rdx + 4*rdi + 96]
LONG $0x117cc1c4; WORD $0xb814 // vmovups yword [r8 + 4*rdi], ymm2
LONG $0x117cc1c4; WORD $0xb85c; BYTE $0x20 // vmovups yword [r8 + 4*rdi + 32], ymm3
LONG $0x117cc1c4; WORD $0xb864; BYTE $0x40 // vmovups yword [r8 + 4*rdi + 64], ymm4
LONG $0x117cc1c4; WORD $0xb84c; BYTE $0x60 // vmovups yword [r8 + 4*rdi + 96], ymm1
LBB1_944:
WORD $0x3948; BYTE $0xc1 // cmp rcx, rax
JE LBB1_1109
JMP LBB1_945
LBB1_949:
WORD $0xff31 // xor edi, edi
LBB1_950:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_952
LONG $0x146ffec5; BYTE $0xfa // vmovdqu ymm2, yword [rdx + 8*rdi]
LONG $0x5c6ffec5; WORD $0x20fa // vmovdqu ymm3, yword [rdx + 8*rdi + 32]
LONG $0x646ffec5; WORD $0x40fa // vmovdqu ymm4, yword [rdx + 8*rdi + 64]
LONG $0x6c6ffec5; WORD $0x60fa // vmovdqu ymm5, yword [rdx + 8*rdi + 96]
LONG $0xf1f4edc5 // vpmuludq ymm6, ymm2, ymm1
LONG $0xd273c5c5; BYTE $0x20 // vpsrlq ymm7, ymm2, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xd0f4edc5 // vpmuludq ymm2, ymm2, ymm0
LONG $0xd6d4edc5 // vpaddq ymm2, ymm2, ymm6
LONG $0xf1f4e5c5 // vpmuludq ymm6, ymm3, ymm1
LONG $0xd373c5c5; BYTE $0x20 // vpsrlq ymm7, ymm3, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xd8f4e5c5 // vpmuludq ymm3, ymm3, ymm0
LONG $0xded4e5c5 // vpaddq ymm3, ymm3, ymm6
LONG $0xf1f4ddc5 // vpmuludq ymm6, ymm4, ymm1
LONG $0xd473c5c5; BYTE $0x20 // vpsrlq ymm7, ymm4, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xe0f4ddc5 // vpmuludq ymm4, ymm4, ymm0
LONG $0xe6d4ddc5 // vpaddq ymm4, ymm4, ymm6
LONG $0xc9f4d5c5 // vpmuludq ymm1, ymm5, ymm1
LONG $0xd573cdc5; BYTE $0x20 // vpsrlq ymm6, ymm5, 32
LONG $0xf0f4cdc5 // vpmuludq ymm6, ymm6, ymm0
LONG $0xced4f5c5 // vpaddq ymm1, ymm1, ymm6
LONG $0xf173f5c5; BYTE $0x20 // vpsllq ymm1, ymm1, 32
LONG $0xc0f4d5c5 // vpmuludq ymm0, ymm5, ymm0
LONG $0xc1d4fdc5 // vpaddq ymm0, ymm0, ymm1
LONG $0x7f7ec1c4; WORD $0xf814 // vmovdqu yword [r8 + 8*rdi], ymm2
LONG $0x7f7ec1c4; WORD $0xf85c; BYTE $0x20 // vmovdqu yword [r8 + 8*rdi + 32], ymm3
LONG $0x7f7ec1c4; WORD $0xf864; BYTE $0x40 // vmovdqu yword [r8 + 8*rdi + 64], ymm4
LONG $0x7f7ec1c4; WORD $0xf844; BYTE $0x60 // vmovdqu yword [r8 + 8*rdi + 96], ymm0
LBB1_952:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1109
JMP LBB1_953
LBB1_957:
WORD $0xff31 // xor edi, edi
LBB1_958:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_960
LONG $0x1459f4c5; BYTE $0xba // vmulps ymm2, ymm1, yword [rdx + 4*rdi]
LONG $0x5c59f4c5; WORD $0x20ba // vmulps ymm3, ymm1, yword [rdx + 4*rdi + 32]
LONG $0x6459f4c5; WORD $0x40ba // vmulps ymm4, ymm1, yword [rdx + 4*rdi + 64]
LONG $0x4c59f4c5; WORD $0x60ba // vmulps ymm1, ymm1, yword [rdx + 4*rdi + 96]
LONG $0x117cc1c4; WORD $0xb814 // vmovups yword [r8 + 4*rdi], ymm2
LONG $0x117cc1c4; WORD $0xb85c; BYTE $0x20 // vmovups yword [r8 + 4*rdi + 32], ymm3
LONG $0x117cc1c4; WORD $0xb864; BYTE $0x40 // vmovups yword [r8 + 4*rdi + 64], ymm4
LONG $0x117cc1c4; WORD $0xb84c; BYTE $0x60 // vmovups yword [r8 + 4*rdi + 96], ymm1
LBB1_960:
WORD $0x3948; BYTE $0xc1 // cmp rcx, rax
JE LBB1_1109
JMP LBB1_961
LBB1_965:
WORD $0xff31 // xor edi, edi
LBB1_966:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_968
LONG $0x0cd4fdc5; BYTE $0xfa // vpaddq ymm1, ymm0, yword [rdx + 8*rdi]
LONG $0x54d4fdc5; WORD $0x20fa // vpaddq ymm2, ymm0, yword [rdx + 8*rdi + 32]
LONG $0x5cd4fdc5; WORD $0x40fa // vpaddq ymm3, ymm0, yword [rdx + 8*rdi + 64]
LONG $0x44d4fdc5; WORD $0x60fa // vpaddq ymm0, ymm0, yword [rdx + 8*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xf80c // vmovdqu yword [r8 + 8*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xf854; BYTE $0x20 // vmovdqu yword [r8 + 8*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xf85c; BYTE $0x40 // vmovdqu yword [r8 + 8*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xf844; BYTE $0x60 // vmovdqu yword [r8 + 8*rdi + 96], ymm0
LBB1_968:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1109
JMP LBB1_969
LBB1_973:
WORD $0xff31 // xor edi, edi
LBB1_974:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_976
LONG $0x1458f4c5; BYTE $0xba // vaddps ymm2, ymm1, yword [rdx + 4*rdi]
LONG $0x5c58f4c5; WORD $0x20ba // vaddps ymm3, ymm1, yword [rdx + 4*rdi + 32]
LONG $0x6458f4c5; WORD $0x40ba // vaddps ymm4, ymm1, yword [rdx + 4*rdi + 64]
LONG $0x4c58f4c5; WORD $0x60ba // vaddps ymm1, ymm1, yword [rdx + 4*rdi + 96]
LONG $0x117cc1c4; WORD $0xb814 // vmovups yword [r8 + 4*rdi], ymm2
LONG $0x117cc1c4; WORD $0xb85c; BYTE $0x20 // vmovups yword [r8 + 4*rdi + 32], ymm3
LONG $0x117cc1c4; WORD $0xb864; BYTE $0x40 // vmovups yword [r8 + 4*rdi + 64], ymm4
LONG $0x117cc1c4; WORD $0xb84c; BYTE $0x60 // vmovups yword [r8 + 4*rdi + 96], ymm1
LBB1_976:
WORD $0x3948; BYTE $0xc1 // cmp rcx, rax
JE LBB1_1109
JMP LBB1_977
LBB1_981:
WORD $0xff31 // xor edi, edi
LBB1_982:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_984
LONG $0x0c6ffec5; BYTE $0xfa // vmovdqu ymm1, yword [rdx + 8*rdi]
LONG $0x546ffec5; WORD $0x20fa // vmovdqu ymm2, yword [rdx + 8*rdi + 32]
LONG $0x5c6ffec5; WORD $0x40fa // vmovdqu ymm3, yword [rdx + 8*rdi + 64]
LONG $0x646ffec5; WORD $0x60fa // vmovdqu ymm4, yword [rdx + 8*rdi + 96]
LONG $0xc8fbf5c5 // vpsubq ymm1, ymm1, ymm0
LONG $0xd0fbedc5 // vpsubq ymm2, ymm2, ymm0
LONG $0xd8fbe5c5 // vpsubq ymm3, ymm3, ymm0
LONG $0xc0fbddc5 // vpsubq ymm0, ymm4, ymm0
LONG $0x7f7ec1c4; WORD $0xf80c // vmovdqu yword [r8 + 8*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xf854; BYTE $0x20 // vmovdqu yword [r8 + 8*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xf85c; BYTE $0x40 // vmovdqu yword [r8 + 8*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xf844; BYTE $0x60 // vmovdqu yword [r8 + 8*rdi + 96], ymm0
LBB1_984:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1109
JMP LBB1_985
LBB1_989:
WORD $0xf631 // xor esi, esi
LBB1_990:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_992
LONG $0x1410fcc5; BYTE $0xb2 // vmovups ymm2, yword [rdx + 4*rsi]
LONG $0x5c10fcc5; WORD $0x20b2 // vmovups ymm3, yword [rdx + 4*rsi + 32]
LONG $0x6410fcc5; WORD $0x40b2 // vmovups ymm4, yword [rdx + 4*rsi + 64]
LONG $0x6c10fcc5; WORD $0x60b2 // vmovups ymm5, yword [rdx + 4*rsi + 96]
LONG $0xd15cecc5 // vsubps ymm2, ymm2, ymm1
LONG $0xd95ce4c5 // vsubps ymm3, ymm3, ymm1
LONG $0xe15cdcc5 // vsubps ymm4, ymm4, ymm1
LONG $0xc95cd4c5 // vsubps ymm1, ymm5, ymm1
LONG $0x117cc1c4; WORD $0xb014 // vmovups yword [r8 + 4*rsi], ymm2
LONG $0x117cc1c4; WORD $0xb05c; BYTE $0x20 // vmovups yword [r8 + 4*rsi + 32], ymm3
LONG $0x117cc1c4; WORD $0xb064; BYTE $0x40 // vmovups yword [r8 + 4*rsi + 64], ymm4
LONG $0x117cc1c4; WORD $0xb04c; BYTE $0x60 // vmovups yword [r8 + 4*rsi + 96], ymm1
LBB1_992:
WORD $0x3948; BYTE $0xc1 // cmp rcx, rax
JE LBB1_1109
JMP LBB1_993
LBB1_997:
WORD $0xff31 // xor edi, edi
LBB1_998:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_1000
LONG $0x0cd4fdc5; BYTE $0xfa // vpaddq ymm1, ymm0, yword [rdx + 8*rdi]
LONG $0x54d4fdc5; WORD $0x20fa // vpaddq ymm2, ymm0, yword [rdx + 8*rdi + 32]
LONG $0x5cd4fdc5; WORD $0x40fa // vpaddq ymm3, ymm0, yword [rdx + 8*rdi + 64]
LONG $0x44d4fdc5; WORD $0x60fa // vpaddq ymm0, ymm0, yword [rdx + 8*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xf80c // vmovdqu yword [r8 + 8*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xf854; BYTE $0x20 // vmovdqu yword [r8 + 8*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xf85c; BYTE $0x40 // vmovdqu yword [r8 + 8*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xf844; BYTE $0x60 // vmovdqu yword [r8 + 8*rdi + 96], ymm0
LBB1_1000:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1109
JMP LBB1_1001
LBB1_1005:
WORD $0xff31 // xor edi, edi
LBB1_1006:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_1008
LONG $0x1458f4c5; BYTE $0xba // vaddps ymm2, ymm1, yword [rdx + 4*rdi]
LONG $0x5c58f4c5; WORD $0x20ba // vaddps ymm3, ymm1, yword [rdx + 4*rdi + 32]
LONG $0x6458f4c5; WORD $0x40ba // vaddps ymm4, ymm1, yword [rdx + 4*rdi + 64]
LONG $0x4c58f4c5; WORD $0x60ba // vaddps ymm1, ymm1, yword [rdx + 4*rdi + 96]
LONG $0x117cc1c4; WORD $0xb814 // vmovups yword [r8 + 4*rdi], ymm2
LONG $0x117cc1c4; WORD $0xb85c; BYTE $0x20 // vmovups yword [r8 + 4*rdi + 32], ymm3
LONG $0x117cc1c4; WORD $0xb864; BYTE $0x40 // vmovups yword [r8 + 4*rdi + 64], ymm4
LONG $0x117cc1c4; WORD $0xb84c; BYTE $0x60 // vmovups yword [r8 + 4*rdi + 96], ymm1
LBB1_1008:
WORD $0x3948; BYTE $0xc1 // cmp rcx, rax
JE LBB1_1109
JMP LBB1_1009
LBB1_1013:
WORD $0xff31 // xor edi, edi
LBB1_1014:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_1016
LONG $0x0c6ffec5; BYTE $0xfa // vmovdqu ymm1, yword [rdx + 8*rdi]
LONG $0x546ffec5; WORD $0x20fa // vmovdqu ymm2, yword [rdx + 8*rdi + 32]
LONG $0x5c6ffec5; WORD $0x40fa // vmovdqu ymm3, yword [rdx + 8*rdi + 64]
LONG $0x646ffec5; WORD $0x60fa // vmovdqu ymm4, yword [rdx + 8*rdi + 96]
LONG $0xc8fbf5c5 // vpsubq ymm1, ymm1, ymm0
LONG $0xd0fbedc5 // vpsubq ymm2, ymm2, ymm0
LONG $0xd8fbe5c5 // vpsubq ymm3, ymm3, ymm0
LONG $0xc0fbddc5 // vpsubq ymm0, ymm4, ymm0
LONG $0x7f7ec1c4; WORD $0xf80c // vmovdqu yword [r8 + 8*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xf854; BYTE $0x20 // vmovdqu yword [r8 + 8*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xf85c; BYTE $0x40 // vmovdqu yword [r8 + 8*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xf844; BYTE $0x60 // vmovdqu yword [r8 + 8*rdi + 96], ymm0
LBB1_1016:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1109
JMP LBB1_1017
LBB1_1021:
WORD $0xf631 // xor esi, esi
LBB1_1022:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_1024
LONG $0x1410fcc5; BYTE $0xb2 // vmovups ymm2, yword [rdx + 4*rsi]
LONG $0x5c10fcc5; WORD $0x20b2 // vmovups ymm3, yword [rdx + 4*rsi + 32]
LONG $0x6410fcc5; WORD $0x40b2 // vmovups ymm4, yword [rdx + 4*rsi + 64]
LONG $0x6c10fcc5; WORD $0x60b2 // vmovups ymm5, yword [rdx + 4*rsi + 96]
LONG $0xd15cecc5 // vsubps ymm2, ymm2, ymm1
LONG $0xd95ce4c5 // vsubps ymm3, ymm3, ymm1
LONG $0xe15cdcc5 // vsubps ymm4, ymm4, ymm1
LONG $0xc95cd4c5 // vsubps ymm1, ymm5, ymm1
LONG $0x117cc1c4; WORD $0xb014 // vmovups yword [r8 + 4*rsi], ymm2
LONG $0x117cc1c4; WORD $0xb05c; BYTE $0x20 // vmovups yword [r8 + 4*rsi + 32], ymm3
LONG $0x117cc1c4; WORD $0xb064; BYTE $0x40 // vmovups yword [r8 + 4*rsi + 64], ymm4
LONG $0x117cc1c4; WORD $0xb04c; BYTE $0x60 // vmovups yword [r8 + 4*rsi + 96], ymm1
LBB1_1024:
WORD $0x3948; BYTE $0xc1 // cmp rcx, rax
JE LBB1_1109
JMP LBB1_1025
LBB1_1029:
WORD $0xff31 // xor edi, edi
LBB1_1030:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_1032
LONG $0x0cfcfdc5; BYTE $0x3a // vpaddb ymm1, ymm0, yword [rdx + rdi]
LONG $0x54fcfdc5; WORD $0x203a // vpaddb ymm2, ymm0, yword [rdx + rdi + 32]
LONG $0x5cfcfdc5; WORD $0x403a // vpaddb ymm3, ymm0, yword [rdx + rdi + 64]
LONG $0x44fcfdc5; WORD $0x603a // vpaddb ymm0, ymm0, yword [rdx + rdi + 96]
LONG $0x7f7ec1c4; WORD $0x380c // vmovdqu yword [r8 + rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x3854; BYTE $0x20 // vmovdqu yword [r8 + rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0x385c; BYTE $0x40 // vmovdqu yword [r8 + rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0x3844; BYTE $0x60 // vmovdqu yword [r8 + rdi + 96], ymm0
LBB1_1032:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1109
JMP LBB1_1033
LBB1_1037:
WORD $0xff31 // xor edi, edi
LBB1_1038:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_1040
LONG $0x0c6ffec5; BYTE $0x3a // vmovdqu ymm1, yword [rdx + rdi]
LONG $0x546ffec5; WORD $0x203a // vmovdqu ymm2, yword [rdx + rdi + 32]
LONG $0x5c6ffec5; WORD $0x403a // vmovdqu ymm3, yword [rdx + rdi + 64]
LONG $0x646ffec5; WORD $0x603a // vmovdqu ymm4, yword [rdx + rdi + 96]
LONG $0xc8f8f5c5 // vpsubb ymm1, ymm1, ymm0
LONG $0xd0f8edc5 // vpsubb ymm2, ymm2, ymm0
LONG $0xd8f8e5c5 // vpsubb ymm3, ymm3, ymm0
LONG $0xc0f8ddc5 // vpsubb ymm0, ymm4, ymm0
LONG $0x7f7ec1c4; WORD $0x380c // vmovdqu yword [r8 + rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x3854; BYTE $0x20 // vmovdqu yword [r8 + rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0x385c; BYTE $0x40 // vmovdqu yword [r8 + rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0x3844; BYTE $0x60 // vmovdqu yword [r8 + rdi + 96], ymm0
LBB1_1040:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1109
JMP LBB1_1041
LBB1_1045:
WORD $0xff31 // xor edi, edi
LBB1_1046:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_1048
LONG $0x0cfcfdc5; BYTE $0x3a // vpaddb ymm1, ymm0, yword [rdx + rdi]
LONG $0x54fcfdc5; WORD $0x203a // vpaddb ymm2, ymm0, yword [rdx + rdi + 32]
LONG $0x5cfcfdc5; WORD $0x403a // vpaddb ymm3, ymm0, yword [rdx + rdi + 64]
LONG $0x44fcfdc5; WORD $0x603a // vpaddb ymm0, ymm0, yword [rdx + rdi + 96]
LONG $0x7f7ec1c4; WORD $0x380c // vmovdqu yword [r8 + rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x3854; BYTE $0x20 // vmovdqu yword [r8 + rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0x385c; BYTE $0x40 // vmovdqu yword [r8 + rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0x3844; BYTE $0x60 // vmovdqu yword [r8 + rdi + 96], ymm0
LBB1_1048:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1109
JMP LBB1_1049
LBB1_1053:
WORD $0xff31 // xor edi, edi
LBB1_1054:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_1056
LONG $0x0c6ffec5; BYTE $0x3a // vmovdqu ymm1, yword [rdx + rdi]
LONG $0x546ffec5; WORD $0x203a // vmovdqu ymm2, yword [rdx + rdi + 32]
LONG $0x5c6ffec5; WORD $0x403a // vmovdqu ymm3, yword [rdx + rdi + 64]
LONG $0x646ffec5; WORD $0x603a // vmovdqu ymm4, yword [rdx + rdi + 96]
LONG $0xc8f8f5c5 // vpsubb ymm1, ymm1, ymm0
LONG $0xd0f8edc5 // vpsubb ymm2, ymm2, ymm0
LONG $0xd8f8e5c5 // vpsubb ymm3, ymm3, ymm0
LONG $0xc0f8ddc5 // vpsubb ymm0, ymm4, ymm0
LONG $0x7f7ec1c4; WORD $0x380c // vmovdqu yword [r8 + rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x3854; BYTE $0x20 // vmovdqu yword [r8 + rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0x385c; BYTE $0x40 // vmovdqu yword [r8 + rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0x3844; BYTE $0x60 // vmovdqu yword [r8 + rdi + 96], ymm0
LBB1_1056:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1109
JMP LBB1_1057
LBB1_1061:
WORD $0xff31 // xor edi, edi
LBB1_1062:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_1064
LONG $0x407de2c4; WORD $0xba0c // vpmulld ymm1, ymm0, yword [rdx + 4*rdi]
LONG $0x407de2c4; WORD $0xba54; BYTE $0x20 // vpmulld ymm2, ymm0, yword [rdx + 4*rdi + 32]
LONG $0x407de2c4; WORD $0xba5c; BYTE $0x40 // vpmulld ymm3, ymm0, yword [rdx + 4*rdi + 64]
LONG $0x407de2c4; WORD $0xba44; BYTE $0x60 // vpmulld ymm0, ymm0, yword [rdx + 4*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xb80c // vmovdqu yword [r8 + 4*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xb854; BYTE $0x20 // vmovdqu yword [r8 + 4*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xb85c; BYTE $0x40 // vmovdqu yword [r8 + 4*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xb844; BYTE $0x60 // vmovdqu yword [r8 + 4*rdi + 96], ymm0
LBB1_1064:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1109
JMP LBB1_1065
LBB1_1069:
WORD $0xff31 // xor edi, edi
LBB1_1070:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_1072
LONG $0x407de2c4; WORD $0xba0c // vpmulld ymm1, ymm0, yword [rdx + 4*rdi]
LONG $0x407de2c4; WORD $0xba54; BYTE $0x20 // vpmulld ymm2, ymm0, yword [rdx + 4*rdi + 32]
LONG $0x407de2c4; WORD $0xba5c; BYTE $0x40 // vpmulld ymm3, ymm0, yword [rdx + 4*rdi + 64]
LONG $0x407de2c4; WORD $0xba44; BYTE $0x60 // vpmulld ymm0, ymm0, yword [rdx + 4*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xb80c // vmovdqu yword [r8 + 4*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xb854; BYTE $0x20 // vmovdqu yword [r8 + 4*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xb85c; BYTE $0x40 // vmovdqu yword [r8 + 4*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xb844; BYTE $0x60 // vmovdqu yword [r8 + 4*rdi + 96], ymm0
LBB1_1072:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1109
JMP LBB1_1073
LBB1_1077:
WORD $0xff31 // xor edi, edi
LBB1_1078:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_1080
LONG $0x0cfefdc5; BYTE $0xba // vpaddd ymm1, ymm0, yword [rdx + 4*rdi]
LONG $0x54fefdc5; WORD $0x20ba // vpaddd ymm2, ymm0, yword [rdx + 4*rdi + 32]
LONG $0x5cfefdc5; WORD $0x40ba // vpaddd ymm3, ymm0, yword [rdx + 4*rdi + 64]
LONG $0x44fefdc5; WORD $0x60ba // vpaddd ymm0, ymm0, yword [rdx + 4*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xb80c // vmovdqu yword [r8 + 4*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xb854; BYTE $0x20 // vmovdqu yword [r8 + 4*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xb85c; BYTE $0x40 // vmovdqu yword [r8 + 4*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xb844; BYTE $0x60 // vmovdqu yword [r8 + 4*rdi + 96], ymm0
LBB1_1080:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1109
JMP LBB1_1081
LBB1_1085:
WORD $0xff31 // xor edi, edi
LBB1_1086:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_1088
LONG $0x0c6ffec5; BYTE $0xba // vmovdqu ymm1, yword [rdx + 4*rdi]
LONG $0x546ffec5; WORD $0x20ba // vmovdqu ymm2, yword [rdx + 4*rdi + 32]
LONG $0x5c6ffec5; WORD $0x40ba // vmovdqu ymm3, yword [rdx + 4*rdi + 64]
LONG $0x646ffec5; WORD $0x60ba // vmovdqu ymm4, yword [rdx + 4*rdi + 96]
LONG $0xc8faf5c5 // vpsubd ymm1, ymm1, ymm0
LONG $0xd0faedc5 // vpsubd ymm2, ymm2, ymm0
LONG $0xd8fae5c5 // vpsubd ymm3, ymm3, ymm0
LONG $0xc0faddc5 // vpsubd ymm0, ymm4, ymm0
LONG $0x7f7ec1c4; WORD $0xb80c // vmovdqu yword [r8 + 4*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xb854; BYTE $0x20 // vmovdqu yword [r8 + 4*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xb85c; BYTE $0x40 // vmovdqu yword [r8 + 4*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xb844; BYTE $0x60 // vmovdqu yword [r8 + 4*rdi + 96], ymm0
LBB1_1088:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1109
JMP LBB1_1089
LBB1_1093:
WORD $0xff31 // xor edi, edi
LBB1_1094:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_1096
LONG $0x0cfefdc5; BYTE $0xba // vpaddd ymm1, ymm0, yword [rdx + 4*rdi]
LONG $0x54fefdc5; WORD $0x20ba // vpaddd ymm2, ymm0, yword [rdx + 4*rdi + 32]
LONG $0x5cfefdc5; WORD $0x40ba // vpaddd ymm3, ymm0, yword [rdx + 4*rdi + 64]
LONG $0x44fefdc5; WORD $0x60ba // vpaddd ymm0, ymm0, yword [rdx + 4*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xb80c // vmovdqu yword [r8 + 4*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xb854; BYTE $0x20 // vmovdqu yword [r8 + 4*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xb85c; BYTE $0x40 // vmovdqu yword [r8 + 4*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xb844; BYTE $0x60 // vmovdqu yword [r8 + 4*rdi + 96], ymm0
LBB1_1096:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1109
JMP LBB1_1097
LBB1_1101:
WORD $0xff31 // xor edi, edi
LBB1_1102:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_1104
LONG $0x0c6ffec5; BYTE $0xba // vmovdqu ymm1, yword [rdx + 4*rdi]
LONG $0x546ffec5; WORD $0x20ba // vmovdqu ymm2, yword [rdx + 4*rdi + 32]
LONG $0x5c6ffec5; WORD $0x40ba // vmovdqu ymm3, yword [rdx + 4*rdi + 64]
LONG $0x646ffec5; WORD $0x60ba // vmovdqu ymm4, yword [rdx + 4*rdi + 96]
LONG $0xc8faf5c5 // vpsubd ymm1, ymm1, ymm0
LONG $0xd0faedc5 // vpsubd ymm2, ymm2, ymm0
LONG $0xd8fae5c5 // vpsubd ymm3, ymm3, ymm0
LONG $0xc0faddc5 // vpsubd ymm0, ymm4, ymm0
LONG $0x7f7ec1c4; WORD $0xb80c // vmovdqu yword [r8 + 4*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xb854; BYTE $0x20 // vmovdqu yword [r8 + 4*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xb85c; BYTE $0x40 // vmovdqu yword [r8 + 4*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xb844; BYTE $0x60 // vmovdqu yword [r8 + 4*rdi + 96], ymm0
LBB1_1104:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JNE LBB1_1105
LBB1_1109:
VZEROUPPER
RET
DATA LCDATA3<>+0x000(SB)/8, $0x00ff00ff00ff00ff
DATA LCDATA3<>+0x008(SB)/8, $0x00ff00ff00ff00ff
DATA LCDATA3<>+0x010(SB)/8, $0x00ff00ff00ff00ff
DATA LCDATA3<>+0x018(SB)/8, $0x00ff00ff00ff00ff
GLOBL LCDATA3<>(SB), 8, $32
TEXT ยท_arithmetic_scalar_arr_avx2(SB), $0-48
MOVQ typ+0(FP), DI
MOVQ op+8(FP), SI
MOVQ inLeft+16(FP), DX
MOVQ inRight+24(FP), CX
MOVQ out+32(FP), R8
MOVQ len+40(FP), R9
LEAQ LCDATA3<>(SB), BP
LONG $0x14fe8040 // cmp sil, 20
JG LBB2_12
WORD $0x8440; BYTE $0xf6 // test sil, sil
JE LBB2_23
LONG $0x01fe8040 // cmp sil, 1
JE LBB2_31
LONG $0x02fe8040 // cmp sil, 2
JNE LBB2_1109
WORD $0xff83; BYTE $0x06 // cmp edi, 6
JG LBB2_55
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JLE LBB2_97
WORD $0xff83; BYTE $0x04 // cmp edi, 4
JE LBB2_157
WORD $0xff83; BYTE $0x05 // cmp edi, 5
JE LBB2_160
WORD $0xff83; BYTE $0x06 // cmp edi, 6
JNE LBB2_1109
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1109
WORD $0x028b // mov eax, dword [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB2_11
LONG $0x91148d4a // lea rdx, [rcx + 4*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_445
LONG $0x90148d4b // lea rdx, [r8 + 4*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_445
LBB2_11:
WORD $0xf631 // xor esi, esi
LBB2_665:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB2_667
LBB2_666:
WORD $0x148b; BYTE $0xb1 // mov edx, dword [rcx + 4*rsi]
WORD $0xaf0f; BYTE $0xd0 // imul edx, eax
LONG $0xb0148941 // mov dword [r8 + 4*rsi], edx
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB2_666
LBB2_667:
LONG $0x03f98349 // cmp r9, 3
JB LBB2_1109
LBB2_668:
WORD $0x148b; BYTE $0xb1 // mov edx, dword [rcx + 4*rsi]
WORD $0xaf0f; BYTE $0xd0 // imul edx, eax
LONG $0xb0148941 // mov dword [r8 + 4*rsi], edx
LONG $0x04b1548b // mov edx, dword [rcx + 4*rsi + 4]
WORD $0xaf0f; BYTE $0xd0 // imul edx, eax
LONG $0xb0548941; BYTE $0x04 // mov dword [r8 + 4*rsi + 4], edx
LONG $0x08b1548b // mov edx, dword [rcx + 4*rsi + 8]
WORD $0xaf0f; BYTE $0xd0 // imul edx, eax
LONG $0xb0548941; BYTE $0x08 // mov dword [r8 + 4*rsi + 8], edx
LONG $0x0cb1548b // mov edx, dword [rcx + 4*rsi + 12]
WORD $0xaf0f; BYTE $0xd0 // imul edx, eax
LONG $0xb0548941; BYTE $0x0c // mov dword [r8 + 4*rsi + 12], edx
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB2_668
JMP LBB2_1109
LBB2_12:
LONG $0x15fe8040 // cmp sil, 21
JE LBB2_39
LONG $0x16fe8040 // cmp sil, 22
JE LBB2_47
LONG $0x17fe8040 // cmp sil, 23
JNE LBB2_1109
WORD $0xff83; BYTE $0x06 // cmp edi, 6
JG LBB2_62
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JLE LBB2_102
WORD $0xff83; BYTE $0x04 // cmp edi, 4
JE LBB2_163
WORD $0xff83; BYTE $0x05 // cmp edi, 5
JE LBB2_166
WORD $0xff83; BYTE $0x06 // cmp edi, 6
JNE LBB2_1109
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1109
WORD $0x028b // mov eax, dword [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB2_22
LONG $0x91148d4a // lea rdx, [rcx + 4*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_448
LONG $0x90148d4b // lea rdx, [r8 + 4*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_448
LBB2_22:
WORD $0xf631 // xor esi, esi
LBB2_673:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB2_675
LBB2_674:
WORD $0x148b; BYTE $0xb1 // mov edx, dword [rcx + 4*rsi]
WORD $0xaf0f; BYTE $0xd0 // imul edx, eax
LONG $0xb0148941 // mov dword [r8 + 4*rsi], edx
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB2_674
LBB2_675:
LONG $0x03f98349 // cmp r9, 3
JB LBB2_1109
LBB2_676:
WORD $0x148b; BYTE $0xb1 // mov edx, dword [rcx + 4*rsi]
WORD $0xaf0f; BYTE $0xd0 // imul edx, eax
LONG $0xb0148941 // mov dword [r8 + 4*rsi], edx
LONG $0x04b1548b // mov edx, dword [rcx + 4*rsi + 4]
WORD $0xaf0f; BYTE $0xd0 // imul edx, eax
LONG $0xb0548941; BYTE $0x04 // mov dword [r8 + 4*rsi + 4], edx
LONG $0x08b1548b // mov edx, dword [rcx + 4*rsi + 8]
WORD $0xaf0f; BYTE $0xd0 // imul edx, eax
LONG $0xb0548941; BYTE $0x08 // mov dword [r8 + 4*rsi + 8], edx
LONG $0x0cb1548b // mov edx, dword [rcx + 4*rsi + 12]
WORD $0xaf0f; BYTE $0xd0 // imul edx, eax
LONG $0xb0548941; BYTE $0x0c // mov dword [r8 + 4*rsi + 12], edx
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB2_676
JMP LBB2_1109
LBB2_23:
WORD $0xff83; BYTE $0x06 // cmp edi, 6
JG LBB2_69
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JLE LBB2_107
WORD $0xff83; BYTE $0x04 // cmp edi, 4
JE LBB2_169
WORD $0xff83; BYTE $0x05 // cmp edi, 5
JE LBB2_172
WORD $0xff83; BYTE $0x06 // cmp edi, 6
JNE LBB2_1109
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1109
WORD $0x028b // mov eax, dword [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB2_30
LONG $0x91148d4a // lea rdx, [rcx + 4*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_451
LONG $0x90148d4b // lea rdx, [r8 + 4*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_451
LBB2_30:
WORD $0xf631 // xor esi, esi
LBB2_681:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB2_683
LBB2_682:
WORD $0x148b; BYTE $0xb1 // mov edx, dword [rcx + 4*rsi]
WORD $0xc201 // add edx, eax
LONG $0xb0148941 // mov dword [r8 + 4*rsi], edx
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB2_682
LBB2_683:
LONG $0x03f98349 // cmp r9, 3
JB LBB2_1109
LBB2_684:
WORD $0x148b; BYTE $0xb1 // mov edx, dword [rcx + 4*rsi]
WORD $0xc201 // add edx, eax
LONG $0xb0148941 // mov dword [r8 + 4*rsi], edx
LONG $0x04b1548b // mov edx, dword [rcx + 4*rsi + 4]
WORD $0xc201 // add edx, eax
LONG $0xb0548941; BYTE $0x04 // mov dword [r8 + 4*rsi + 4], edx
LONG $0x08b1548b // mov edx, dword [rcx + 4*rsi + 8]
WORD $0xc201 // add edx, eax
LONG $0xb0548941; BYTE $0x08 // mov dword [r8 + 4*rsi + 8], edx
LONG $0x0cb1548b // mov edx, dword [rcx + 4*rsi + 12]
WORD $0xc201 // add edx, eax
LONG $0xb0548941; BYTE $0x0c // mov dword [r8 + 4*rsi + 12], edx
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB2_684
JMP LBB2_1109
LBB2_31:
WORD $0xff83; BYTE $0x06 // cmp edi, 6
JG LBB2_76
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JLE LBB2_112
WORD $0xff83; BYTE $0x04 // cmp edi, 4
JE LBB2_175
WORD $0xff83; BYTE $0x05 // cmp edi, 5
JE LBB2_178
WORD $0xff83; BYTE $0x06 // cmp edi, 6
JNE LBB2_1109
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1109
WORD $0x8b44; BYTE $0x1a // mov r11d, dword [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB2_38
LONG $0x91148d4a // lea rdx, [rcx + 4*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_454
LONG $0x90148d4b // lea rdx, [r8 + 4*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_454
LBB2_38:
WORD $0xf631 // xor esi, esi
LBB2_689:
WORD $0x8948; BYTE $0xf2 // mov rdx, rsi
WORD $0xf748; BYTE $0xd2 // not rdx
WORD $0x014c; BYTE $0xd2 // add rdx, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB2_691
LBB2_690:
WORD $0x8944; BYTE $0xd8 // mov eax, r11d
WORD $0x042b; BYTE $0xb1 // sub eax, dword [rcx + 4*rsi]
LONG $0xb0048941 // mov dword [r8 + 4*rsi], eax
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB2_690
LBB2_691:
LONG $0x03fa8348 // cmp rdx, 3
JB LBB2_1109
LBB2_692:
WORD $0x8944; BYTE $0xd8 // mov eax, r11d
WORD $0x042b; BYTE $0xb1 // sub eax, dword [rcx + 4*rsi]
LONG $0xb0048941 // mov dword [r8 + 4*rsi], eax
WORD $0x8944; BYTE $0xd8 // mov eax, r11d
LONG $0x04b1442b // sub eax, dword [rcx + 4*rsi + 4]
LONG $0xb0448941; BYTE $0x04 // mov dword [r8 + 4*rsi + 4], eax
WORD $0x8944; BYTE $0xd8 // mov eax, r11d
LONG $0x08b1442b // sub eax, dword [rcx + 4*rsi + 8]
LONG $0xb0448941; BYTE $0x08 // mov dword [r8 + 4*rsi + 8], eax
WORD $0x8944; BYTE $0xd8 // mov eax, r11d
LONG $0x0cb1442b // sub eax, dword [rcx + 4*rsi + 12]
LONG $0xb0448941; BYTE $0x0c // mov dword [r8 + 4*rsi + 12], eax
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB2_692
JMP LBB2_1109
LBB2_39:
WORD $0xff83; BYTE $0x06 // cmp edi, 6
JG LBB2_83
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JLE LBB2_117
WORD $0xff83; BYTE $0x04 // cmp edi, 4
JE LBB2_181
WORD $0xff83; BYTE $0x05 // cmp edi, 5
JE LBB2_184
WORD $0xff83; BYTE $0x06 // cmp edi, 6
JNE LBB2_1109
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1109
WORD $0x028b // mov eax, dword [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB2_46
LONG $0x91148d4a // lea rdx, [rcx + 4*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_457
LONG $0x90148d4b // lea rdx, [r8 + 4*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_457
LBB2_46:
WORD $0xf631 // xor esi, esi
LBB2_697:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB2_699
LBB2_698:
WORD $0x148b; BYTE $0xb1 // mov edx, dword [rcx + 4*rsi]
WORD $0xc201 // add edx, eax
LONG $0xb0148941 // mov dword [r8 + 4*rsi], edx
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB2_698
LBB2_699:
LONG $0x03f98349 // cmp r9, 3
JB LBB2_1109
LBB2_700:
WORD $0x148b; BYTE $0xb1 // mov edx, dword [rcx + 4*rsi]
WORD $0xc201 // add edx, eax
LONG $0xb0148941 // mov dword [r8 + 4*rsi], edx
LONG $0x04b1548b // mov edx, dword [rcx + 4*rsi + 4]
WORD $0xc201 // add edx, eax
LONG $0xb0548941; BYTE $0x04 // mov dword [r8 + 4*rsi + 4], edx
LONG $0x08b1548b // mov edx, dword [rcx + 4*rsi + 8]
WORD $0xc201 // add edx, eax
LONG $0xb0548941; BYTE $0x08 // mov dword [r8 + 4*rsi + 8], edx
LONG $0x0cb1548b // mov edx, dword [rcx + 4*rsi + 12]
WORD $0xc201 // add edx, eax
LONG $0xb0548941; BYTE $0x0c // mov dword [r8 + 4*rsi + 12], edx
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB2_700
JMP LBB2_1109
LBB2_47:
WORD $0xff83; BYTE $0x06 // cmp edi, 6
JG LBB2_90
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JLE LBB2_122
WORD $0xff83; BYTE $0x04 // cmp edi, 4
JE LBB2_187
WORD $0xff83; BYTE $0x05 // cmp edi, 5
JE LBB2_190
WORD $0xff83; BYTE $0x06 // cmp edi, 6
JNE LBB2_1109
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1109
WORD $0x8b44; BYTE $0x1a // mov r11d, dword [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB2_54
LONG $0x91148d4a // lea rdx, [rcx + 4*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_460
LONG $0x90148d4b // lea rdx, [r8 + 4*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_460
LBB2_54:
WORD $0xf631 // xor esi, esi
LBB2_705:
WORD $0x8948; BYTE $0xf2 // mov rdx, rsi
WORD $0xf748; BYTE $0xd2 // not rdx
WORD $0x014c; BYTE $0xd2 // add rdx, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB2_707
LBB2_706:
WORD $0x8944; BYTE $0xd8 // mov eax, r11d
WORD $0x042b; BYTE $0xb1 // sub eax, dword [rcx + 4*rsi]
LONG $0xb0048941 // mov dword [r8 + 4*rsi], eax
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB2_706
LBB2_707:
LONG $0x03fa8348 // cmp rdx, 3
JB LBB2_1109
LBB2_708:
WORD $0x8944; BYTE $0xd8 // mov eax, r11d
WORD $0x042b; BYTE $0xb1 // sub eax, dword [rcx + 4*rsi]
LONG $0xb0048941 // mov dword [r8 + 4*rsi], eax
WORD $0x8944; BYTE $0xd8 // mov eax, r11d
LONG $0x04b1442b // sub eax, dword [rcx + 4*rsi + 4]
LONG $0xb0448941; BYTE $0x04 // mov dword [r8 + 4*rsi + 4], eax
WORD $0x8944; BYTE $0xd8 // mov eax, r11d
LONG $0x08b1442b // sub eax, dword [rcx + 4*rsi + 8]
LONG $0xb0448941; BYTE $0x08 // mov dword [r8 + 4*rsi + 8], eax
WORD $0x8944; BYTE $0xd8 // mov eax, r11d
LONG $0x0cb1442b // sub eax, dword [rcx + 4*rsi + 12]
LONG $0xb0448941; BYTE $0x0c // mov dword [r8 + 4*rsi + 12], eax
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB2_708
JMP LBB2_1109
LBB2_55:
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JLE LBB2_127
WORD $0xff83; BYTE $0x09 // cmp edi, 9
JE LBB2_193
WORD $0xff83; BYTE $0x0b // cmp edi, 11
JE LBB2_196
WORD $0xff83; BYTE $0x0c // cmp edi, 12
JNE LBB2_1109
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1109
LONG $0x0210fbc5 // vmovsd xmm0, qword [rdx]
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB2_61
LONG $0xc1148d48 // lea rdx, [rcx + 8*rax]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_463
LONG $0xc0148d49 // lea rdx, [r8 + 8*rax]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_463
LBB2_61:
WORD $0xd231 // xor edx, edx
LBB2_713:
WORD $0x8948; BYTE $0xd6 // mov rsi, rdx
WORD $0xf748; BYTE $0xd6 // not rsi
WORD $0x0148; BYTE $0xc6 // add rsi, rax
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x03e78348 // and rdi, 3
JE LBB2_715
LBB2_714:
LONG $0x0c59fbc5; BYTE $0xd1 // vmulsd xmm1, xmm0, qword [rcx + 8*rdx]
LONG $0x117bc1c4; WORD $0xd00c // vmovsd qword [r8 + 8*rdx], xmm1
LONG $0x01c28348 // add rdx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB2_714
LBB2_715:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB2_1109
LBB2_716:
LONG $0x0c59fbc5; BYTE $0xd1 // vmulsd xmm1, xmm0, qword [rcx + 8*rdx]
LONG $0x117bc1c4; WORD $0xd00c // vmovsd qword [r8 + 8*rdx], xmm1
LONG $0x4c59fbc5; WORD $0x08d1 // vmulsd xmm1, xmm0, qword [rcx + 8*rdx + 8]
LONG $0x117bc1c4; WORD $0xd04c; BYTE $0x08 // vmovsd qword [r8 + 8*rdx + 8], xmm1
LONG $0x4c59fbc5; WORD $0x10d1 // vmulsd xmm1, xmm0, qword [rcx + 8*rdx + 16]
LONG $0x117bc1c4; WORD $0xd04c; BYTE $0x10 // vmovsd qword [r8 + 8*rdx + 16], xmm1
LONG $0x4c59fbc5; WORD $0x18d1 // vmulsd xmm1, xmm0, qword [rcx + 8*rdx + 24]
LONG $0x117bc1c4; WORD $0xd04c; BYTE $0x18 // vmovsd qword [r8 + 8*rdx + 24], xmm1
LONG $0x04c28348 // add rdx, 4
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JNE LBB2_716
JMP LBB2_1109
LBB2_62:
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JLE LBB2_132
WORD $0xff83; BYTE $0x09 // cmp edi, 9
JE LBB2_199
WORD $0xff83; BYTE $0x0b // cmp edi, 11
JE LBB2_202
WORD $0xff83; BYTE $0x0c // cmp edi, 12
JNE LBB2_1109
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1109
LONG $0x0210fbc5 // vmovsd xmm0, qword [rdx]
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB2_68
LONG $0xc1148d48 // lea rdx, [rcx + 8*rax]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_466
LONG $0xc0148d49 // lea rdx, [r8 + 8*rax]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_466
LBB2_68:
WORD $0xd231 // xor edx, edx
LBB2_721:
WORD $0x8948; BYTE $0xd6 // mov rsi, rdx
WORD $0xf748; BYTE $0xd6 // not rsi
WORD $0x0148; BYTE $0xc6 // add rsi, rax
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x03e78348 // and rdi, 3
JE LBB2_723
LBB2_722:
LONG $0x0c59fbc5; BYTE $0xd1 // vmulsd xmm1, xmm0, qword [rcx + 8*rdx]
LONG $0x117bc1c4; WORD $0xd00c // vmovsd qword [r8 + 8*rdx], xmm1
LONG $0x01c28348 // add rdx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB2_722
LBB2_723:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB2_1109
LBB2_724:
LONG $0x0c59fbc5; BYTE $0xd1 // vmulsd xmm1, xmm0, qword [rcx + 8*rdx]
LONG $0x117bc1c4; WORD $0xd00c // vmovsd qword [r8 + 8*rdx], xmm1
LONG $0x4c59fbc5; WORD $0x08d1 // vmulsd xmm1, xmm0, qword [rcx + 8*rdx + 8]
LONG $0x117bc1c4; WORD $0xd04c; BYTE $0x08 // vmovsd qword [r8 + 8*rdx + 8], xmm1
LONG $0x4c59fbc5; WORD $0x10d1 // vmulsd xmm1, xmm0, qword [rcx + 8*rdx + 16]
LONG $0x117bc1c4; WORD $0xd04c; BYTE $0x10 // vmovsd qword [r8 + 8*rdx + 16], xmm1
LONG $0x4c59fbc5; WORD $0x18d1 // vmulsd xmm1, xmm0, qword [rcx + 8*rdx + 24]
LONG $0x117bc1c4; WORD $0xd04c; BYTE $0x18 // vmovsd qword [r8 + 8*rdx + 24], xmm1
LONG $0x04c28348 // add rdx, 4
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JNE LBB2_724
JMP LBB2_1109
LBB2_69:
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JLE LBB2_137
WORD $0xff83; BYTE $0x09 // cmp edi, 9
JE LBB2_205
WORD $0xff83; BYTE $0x0b // cmp edi, 11
JE LBB2_208
WORD $0xff83; BYTE $0x0c // cmp edi, 12
JNE LBB2_1109
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1109
LONG $0x0210fbc5 // vmovsd xmm0, qword [rdx]
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB2_75
LONG $0xc1148d48 // lea rdx, [rcx + 8*rax]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_469
LONG $0xc0148d49 // lea rdx, [r8 + 8*rax]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_469
LBB2_75:
WORD $0xd231 // xor edx, edx
LBB2_729:
WORD $0x8948; BYTE $0xd6 // mov rsi, rdx
WORD $0xf748; BYTE $0xd6 // not rsi
WORD $0x0148; BYTE $0xc6 // add rsi, rax
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x03e78348 // and rdi, 3
JE LBB2_731
LBB2_730:
LONG $0x0c58fbc5; BYTE $0xd1 // vaddsd xmm1, xmm0, qword [rcx + 8*rdx]
LONG $0x117bc1c4; WORD $0xd00c // vmovsd qword [r8 + 8*rdx], xmm1
LONG $0x01c28348 // add rdx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB2_730
LBB2_731:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB2_1109
LBB2_732:
LONG $0x0c58fbc5; BYTE $0xd1 // vaddsd xmm1, xmm0, qword [rcx + 8*rdx]
LONG $0x117bc1c4; WORD $0xd00c // vmovsd qword [r8 + 8*rdx], xmm1
LONG $0x4c58fbc5; WORD $0x08d1 // vaddsd xmm1, xmm0, qword [rcx + 8*rdx + 8]
LONG $0x117bc1c4; WORD $0xd04c; BYTE $0x08 // vmovsd qword [r8 + 8*rdx + 8], xmm1
LONG $0x4c58fbc5; WORD $0x10d1 // vaddsd xmm1, xmm0, qword [rcx + 8*rdx + 16]
LONG $0x117bc1c4; WORD $0xd04c; BYTE $0x10 // vmovsd qword [r8 + 8*rdx + 16], xmm1
LONG $0x4c58fbc5; WORD $0x18d1 // vaddsd xmm1, xmm0, qword [rcx + 8*rdx + 24]
LONG $0x117bc1c4; WORD $0xd04c; BYTE $0x18 // vmovsd qword [r8 + 8*rdx + 24], xmm1
LONG $0x04c28348 // add rdx, 4
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JNE LBB2_732
JMP LBB2_1109
LBB2_76:
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JLE LBB2_142
WORD $0xff83; BYTE $0x09 // cmp edi, 9
JE LBB2_211
WORD $0xff83; BYTE $0x0b // cmp edi, 11
JE LBB2_214
WORD $0xff83; BYTE $0x0c // cmp edi, 12
JNE LBB2_1109
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1109
LONG $0x0210fbc5 // vmovsd xmm0, qword [rdx]
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB2_82
LONG $0xc1148d48 // lea rdx, [rcx + 8*rax]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_472
LONG $0xc0148d49 // lea rdx, [r8 + 8*rax]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_472
LBB2_82:
WORD $0xd231 // xor edx, edx
LBB2_737:
WORD $0x8948; BYTE $0xd6 // mov rsi, rdx
WORD $0xf748; BYTE $0xd6 // not rsi
WORD $0x0148; BYTE $0xc6 // add rsi, rax
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x03e78348 // and rdi, 3
JE LBB2_739
LBB2_738:
LONG $0x0c5cfbc5; BYTE $0xd1 // vsubsd xmm1, xmm0, qword [rcx + 8*rdx]
LONG $0x117bc1c4; WORD $0xd00c // vmovsd qword [r8 + 8*rdx], xmm1
LONG $0x01c28348 // add rdx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB2_738
LBB2_739:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB2_1109
LBB2_740:
LONG $0x0c5cfbc5; BYTE $0xd1 // vsubsd xmm1, xmm0, qword [rcx + 8*rdx]
LONG $0x117bc1c4; WORD $0xd00c // vmovsd qword [r8 + 8*rdx], xmm1
LONG $0x4c5cfbc5; WORD $0x08d1 // vsubsd xmm1, xmm0, qword [rcx + 8*rdx + 8]
LONG $0x117bc1c4; WORD $0xd04c; BYTE $0x08 // vmovsd qword [r8 + 8*rdx + 8], xmm1
LONG $0x4c5cfbc5; WORD $0x10d1 // vsubsd xmm1, xmm0, qword [rcx + 8*rdx + 16]
LONG $0x117bc1c4; WORD $0xd04c; BYTE $0x10 // vmovsd qword [r8 + 8*rdx + 16], xmm1
LONG $0x4c5cfbc5; WORD $0x18d1 // vsubsd xmm1, xmm0, qword [rcx + 8*rdx + 24]
LONG $0x117bc1c4; WORD $0xd04c; BYTE $0x18 // vmovsd qword [r8 + 8*rdx + 24], xmm1
LONG $0x04c28348 // add rdx, 4
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JNE LBB2_740
JMP LBB2_1109
LBB2_83:
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JLE LBB2_147
WORD $0xff83; BYTE $0x09 // cmp edi, 9
JE LBB2_217
WORD $0xff83; BYTE $0x0b // cmp edi, 11
JE LBB2_220
WORD $0xff83; BYTE $0x0c // cmp edi, 12
JNE LBB2_1109
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1109
LONG $0x0210fbc5 // vmovsd xmm0, qword [rdx]
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB2_89
LONG $0xc1148d48 // lea rdx, [rcx + 8*rax]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_475
LONG $0xc0148d49 // lea rdx, [r8 + 8*rax]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_475
LBB2_89:
WORD $0xd231 // xor edx, edx
LBB2_745:
WORD $0x8948; BYTE $0xd6 // mov rsi, rdx
WORD $0xf748; BYTE $0xd6 // not rsi
WORD $0x0148; BYTE $0xc6 // add rsi, rax
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x03e78348 // and rdi, 3
JE LBB2_747
LBB2_746:
LONG $0x0c58fbc5; BYTE $0xd1 // vaddsd xmm1, xmm0, qword [rcx + 8*rdx]
LONG $0x117bc1c4; WORD $0xd00c // vmovsd qword [r8 + 8*rdx], xmm1
LONG $0x01c28348 // add rdx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB2_746
LBB2_747:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB2_1109
LBB2_748:
LONG $0x0c58fbc5; BYTE $0xd1 // vaddsd xmm1, xmm0, qword [rcx + 8*rdx]
LONG $0x117bc1c4; WORD $0xd00c // vmovsd qword [r8 + 8*rdx], xmm1
LONG $0x4c58fbc5; WORD $0x08d1 // vaddsd xmm1, xmm0, qword [rcx + 8*rdx + 8]
LONG $0x117bc1c4; WORD $0xd04c; BYTE $0x08 // vmovsd qword [r8 + 8*rdx + 8], xmm1
LONG $0x4c58fbc5; WORD $0x10d1 // vaddsd xmm1, xmm0, qword [rcx + 8*rdx + 16]
LONG $0x117bc1c4; WORD $0xd04c; BYTE $0x10 // vmovsd qword [r8 + 8*rdx + 16], xmm1
LONG $0x4c58fbc5; WORD $0x18d1 // vaddsd xmm1, xmm0, qword [rcx + 8*rdx + 24]
LONG $0x117bc1c4; WORD $0xd04c; BYTE $0x18 // vmovsd qword [r8 + 8*rdx + 24], xmm1
LONG $0x04c28348 // add rdx, 4
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JNE LBB2_748
JMP LBB2_1109
LBB2_90:
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JLE LBB2_152
WORD $0xff83; BYTE $0x09 // cmp edi, 9
JE LBB2_223
WORD $0xff83; BYTE $0x0b // cmp edi, 11
JE LBB2_226
WORD $0xff83; BYTE $0x0c // cmp edi, 12
JNE LBB2_1109
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1109
LONG $0x0210fbc5 // vmovsd xmm0, qword [rdx]
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB2_96
LONG $0xc1148d48 // lea rdx, [rcx + 8*rax]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_478
LONG $0xc0148d49 // lea rdx, [r8 + 8*rax]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_478
LBB2_96:
WORD $0xd231 // xor edx, edx
LBB2_753:
WORD $0x8948; BYTE $0xd6 // mov rsi, rdx
WORD $0xf748; BYTE $0xd6 // not rsi
WORD $0x0148; BYTE $0xc6 // add rsi, rax
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x03e78348 // and rdi, 3
JE LBB2_755
LBB2_754:
LONG $0x0c5cfbc5; BYTE $0xd1 // vsubsd xmm1, xmm0, qword [rcx + 8*rdx]
LONG $0x117bc1c4; WORD $0xd00c // vmovsd qword [r8 + 8*rdx], xmm1
LONG $0x01c28348 // add rdx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB2_754
LBB2_755:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB2_1109
LBB2_756:
LONG $0x0c5cfbc5; BYTE $0xd1 // vsubsd xmm1, xmm0, qword [rcx + 8*rdx]
LONG $0x117bc1c4; WORD $0xd00c // vmovsd qword [r8 + 8*rdx], xmm1
LONG $0x4c5cfbc5; WORD $0x08d1 // vsubsd xmm1, xmm0, qword [rcx + 8*rdx + 8]
LONG $0x117bc1c4; WORD $0xd04c; BYTE $0x08 // vmovsd qword [r8 + 8*rdx + 8], xmm1
LONG $0x4c5cfbc5; WORD $0x10d1 // vsubsd xmm1, xmm0, qword [rcx + 8*rdx + 16]
LONG $0x117bc1c4; WORD $0xd04c; BYTE $0x10 // vmovsd qword [r8 + 8*rdx + 16], xmm1
LONG $0x4c5cfbc5; WORD $0x18d1 // vsubsd xmm1, xmm0, qword [rcx + 8*rdx + 24]
LONG $0x117bc1c4; WORD $0xd04c; BYTE $0x18 // vmovsd qword [r8 + 8*rdx + 24], xmm1
LONG $0x04c28348 // add rdx, 4
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JNE LBB2_756
JMP LBB2_1109
LBB2_97:
WORD $0xff83; BYTE $0x02 // cmp edi, 2
JE LBB2_229
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JNE LBB2_1109
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1109
WORD $0x128a // mov dl, byte [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB2_101
LONG $0x11048d4a // lea rax, [rcx + r10]
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
JBE LBB2_481
LONG $0x10048d4b // lea rax, [r8 + r10]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB2_481
LBB2_101:
WORD $0xff31 // xor edi, edi
LBB2_627:
WORD $0x8949; BYTE $0xf9 // mov r9, rdi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd6 // mov rsi, r10
LONG $0x03e68348 // and rsi, 3
JE LBB2_629
LBB2_628:
LONG $0x3904b60f // movzx eax, byte [rcx + rdi]
WORD $0xe2f6 // mul dl
LONG $0x38048841 // mov byte [r8 + rdi], al
LONG $0x01c78348 // add rdi, 1
LONG $0xffc68348 // add rsi, -1
JNE LBB2_628
LBB2_629:
LONG $0x03f98349 // cmp r9, 3
JB LBB2_1109
LBB2_630:
LONG $0x3904b60f // movzx eax, byte [rcx + rdi]
WORD $0xe2f6 // mul dl
LONG $0x38048841 // mov byte [r8 + rdi], al
LONG $0x3944b60f; BYTE $0x01 // movzx eax, byte [rcx + rdi + 1]
WORD $0xe2f6 // mul dl
LONG $0x38448841; BYTE $0x01 // mov byte [r8 + rdi + 1], al
LONG $0x3944b60f; BYTE $0x02 // movzx eax, byte [rcx + rdi + 2]
WORD $0xe2f6 // mul dl
LONG $0x38448841; BYTE $0x02 // mov byte [r8 + rdi + 2], al
LONG $0x3944b60f; BYTE $0x03 // movzx eax, byte [rcx + rdi + 3]
WORD $0xe2f6 // mul dl
LONG $0x38448841; BYTE $0x03 // mov byte [r8 + rdi + 3], al
LONG $0x04c78348 // add rdi, 4
WORD $0x3949; BYTE $0xfa // cmp r10, rdi
JNE LBB2_630
JMP LBB2_1109
LBB2_102:
WORD $0xff83; BYTE $0x02 // cmp edi, 2
JE LBB2_232
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JNE LBB2_1109
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1109
WORD $0x128a // mov dl, byte [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB2_106
LONG $0x11048d4a // lea rax, [rcx + r10]
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
JBE LBB2_483
LONG $0x10048d4b // lea rax, [r8 + r10]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB2_483
LBB2_106:
WORD $0xff31 // xor edi, edi
LBB2_637:
WORD $0x8949; BYTE $0xf9 // mov r9, rdi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd6 // mov rsi, r10
LONG $0x03e68348 // and rsi, 3
JE LBB2_639
LBB2_638:
LONG $0x3904b60f // movzx eax, byte [rcx + rdi]
WORD $0xe2f6 // mul dl
LONG $0x38048841 // mov byte [r8 + rdi], al
LONG $0x01c78348 // add rdi, 1
LONG $0xffc68348 // add rsi, -1
JNE LBB2_638
LBB2_639:
LONG $0x03f98349 // cmp r9, 3
JB LBB2_1109
LBB2_640:
LONG $0x3904b60f // movzx eax, byte [rcx + rdi]
WORD $0xe2f6 // mul dl
LONG $0x38048841 // mov byte [r8 + rdi], al
LONG $0x3944b60f; BYTE $0x01 // movzx eax, byte [rcx + rdi + 1]
WORD $0xe2f6 // mul dl
LONG $0x38448841; BYTE $0x01 // mov byte [r8 + rdi + 1], al
LONG $0x3944b60f; BYTE $0x02 // movzx eax, byte [rcx + rdi + 2]
WORD $0xe2f6 // mul dl
LONG $0x38448841; BYTE $0x02 // mov byte [r8 + rdi + 2], al
LONG $0x3944b60f; BYTE $0x03 // movzx eax, byte [rcx + rdi + 3]
WORD $0xe2f6 // mul dl
LONG $0x38448841; BYTE $0x03 // mov byte [r8 + rdi + 3], al
LONG $0x04c78348 // add rdi, 4
WORD $0x3949; BYTE $0xfa // cmp r10, rdi
JNE LBB2_640
JMP LBB2_1109
LBB2_107:
WORD $0xff83; BYTE $0x02 // cmp edi, 2
JE LBB2_235
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JNE LBB2_1109
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1109
WORD $0x028a // mov al, byte [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x80f98141; WORD $0x0000; BYTE $0x00 // cmp r9d, 128
JB LBB2_111
LONG $0x11148d4a // lea rdx, [rcx + r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_485
LONG $0x10148d4b // lea rdx, [r8 + r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_485
LBB2_111:
WORD $0xf631 // xor esi, esi
LBB2_761:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB2_763
LBB2_762:
LONG $0x3114b60f // movzx edx, byte [rcx + rsi]
WORD $0xc200 // add dl, al
LONG $0x30148841 // mov byte [r8 + rsi], dl
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB2_762
LBB2_763:
LONG $0x03f98349 // cmp r9, 3
JB LBB2_1109
LBB2_764:
LONG $0x3114b60f // movzx edx, byte [rcx + rsi]
WORD $0xc200 // add dl, al
LONG $0x30148841 // mov byte [r8 + rsi], dl
LONG $0x3154b60f; BYTE $0x01 // movzx edx, byte [rcx + rsi + 1]
WORD $0xc200 // add dl, al
LONG $0x30548841; BYTE $0x01 // mov byte [r8 + rsi + 1], dl
LONG $0x3154b60f; BYTE $0x02 // movzx edx, byte [rcx + rsi + 2]
WORD $0xc200 // add dl, al
LONG $0x30548841; BYTE $0x02 // mov byte [r8 + rsi + 2], dl
LONG $0x3154b60f; BYTE $0x03 // movzx edx, byte [rcx + rsi + 3]
WORD $0xc200 // add dl, al
LONG $0x30548841; BYTE $0x03 // mov byte [r8 + rsi + 3], dl
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB2_764
JMP LBB2_1109
LBB2_112:
WORD $0xff83; BYTE $0x02 // cmp edi, 2
JE LBB2_238
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JNE LBB2_1109
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1109
WORD $0x028a // mov al, byte [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x80f98141; WORD $0x0000; BYTE $0x00 // cmp r9d, 128
JB LBB2_116
LONG $0x11148d4a // lea rdx, [rcx + r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_488
LONG $0x10148d4b // lea rdx, [r8 + r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_488
LBB2_116:
WORD $0xf631 // xor esi, esi
LBB2_769:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB2_771
LBB2_770:
WORD $0xc289 // mov edx, eax
WORD $0x142a; BYTE $0x31 // sub dl, byte [rcx + rsi]
LONG $0x30148841 // mov byte [r8 + rsi], dl
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB2_770
LBB2_771:
LONG $0x03f98349 // cmp r9, 3
JB LBB2_1109
LBB2_772:
WORD $0xc289 // mov edx, eax
WORD $0x142a; BYTE $0x31 // sub dl, byte [rcx + rsi]
LONG $0x30148841 // mov byte [r8 + rsi], dl
WORD $0xc289 // mov edx, eax
LONG $0x0131542a // sub dl, byte [rcx + rsi + 1]
LONG $0x30548841; BYTE $0x01 // mov byte [r8 + rsi + 1], dl
WORD $0xc289 // mov edx, eax
LONG $0x0231542a // sub dl, byte [rcx + rsi + 2]
LONG $0x30548841; BYTE $0x02 // mov byte [r8 + rsi + 2], dl
WORD $0xc289 // mov edx, eax
LONG $0x0331542a // sub dl, byte [rcx + rsi + 3]
LONG $0x30548841; BYTE $0x03 // mov byte [r8 + rsi + 3], dl
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB2_772
JMP LBB2_1109
LBB2_117:
WORD $0xff83; BYTE $0x02 // cmp edi, 2
JE LBB2_241
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JNE LBB2_1109
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1109
WORD $0x028a // mov al, byte [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x80f98141; WORD $0x0000; BYTE $0x00 // cmp r9d, 128
JB LBB2_121
LONG $0x11148d4a // lea rdx, [rcx + r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_491
LONG $0x10148d4b // lea rdx, [r8 + r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_491
LBB2_121:
WORD $0xf631 // xor esi, esi
LBB2_777:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB2_779
LBB2_778:
LONG $0x3114b60f // movzx edx, byte [rcx + rsi]
WORD $0xc200 // add dl, al
LONG $0x30148841 // mov byte [r8 + rsi], dl
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB2_778
LBB2_779:
LONG $0x03f98349 // cmp r9, 3
JB LBB2_1109
LBB2_780:
LONG $0x3114b60f // movzx edx, byte [rcx + rsi]
WORD $0xc200 // add dl, al
LONG $0x30148841 // mov byte [r8 + rsi], dl
LONG $0x3154b60f; BYTE $0x01 // movzx edx, byte [rcx + rsi + 1]
WORD $0xc200 // add dl, al
LONG $0x30548841; BYTE $0x01 // mov byte [r8 + rsi + 1], dl
LONG $0x3154b60f; BYTE $0x02 // movzx edx, byte [rcx + rsi + 2]
WORD $0xc200 // add dl, al
LONG $0x30548841; BYTE $0x02 // mov byte [r8 + rsi + 2], dl
LONG $0x3154b60f; BYTE $0x03 // movzx edx, byte [rcx + rsi + 3]
WORD $0xc200 // add dl, al
LONG $0x30548841; BYTE $0x03 // mov byte [r8 + rsi + 3], dl
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB2_780
JMP LBB2_1109
LBB2_122:
WORD $0xff83; BYTE $0x02 // cmp edi, 2
JE LBB2_244
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JNE LBB2_1109
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1109
WORD $0x028a // mov al, byte [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x80f98141; WORD $0x0000; BYTE $0x00 // cmp r9d, 128
JB LBB2_126
LONG $0x11148d4a // lea rdx, [rcx + r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_494
LONG $0x10148d4b // lea rdx, [r8 + r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_494
LBB2_126:
WORD $0xf631 // xor esi, esi
LBB2_785:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB2_787
LBB2_786:
WORD $0xc289 // mov edx, eax
WORD $0x142a; BYTE $0x31 // sub dl, byte [rcx + rsi]
LONG $0x30148841 // mov byte [r8 + rsi], dl
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB2_786
LBB2_787:
LONG $0x03f98349 // cmp r9, 3
JB LBB2_1109
LBB2_788:
WORD $0xc289 // mov edx, eax
WORD $0x142a; BYTE $0x31 // sub dl, byte [rcx + rsi]
LONG $0x30148841 // mov byte [r8 + rsi], dl
WORD $0xc289 // mov edx, eax
LONG $0x0131542a // sub dl, byte [rcx + rsi + 1]
LONG $0x30548841; BYTE $0x01 // mov byte [r8 + rsi + 1], dl
WORD $0xc289 // mov edx, eax
LONG $0x0231542a // sub dl, byte [rcx + rsi + 2]
LONG $0x30548841; BYTE $0x02 // mov byte [r8 + rsi + 2], dl
WORD $0xc289 // mov edx, eax
LONG $0x0331542a // sub dl, byte [rcx + rsi + 3]
LONG $0x30548841; BYTE $0x03 // mov byte [r8 + rsi + 3], dl
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB2_788
JMP LBB2_1109
LBB2_127:
WORD $0xff83; BYTE $0x07 // cmp edi, 7
JE LBB2_247
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JNE LBB2_1109
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1109
WORD $0x8b48; BYTE $0x02 // mov rax, qword [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB2_131
LONG $0xd1148d4a // lea rdx, [rcx + 8*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_497
LONG $0xd0148d4b // lea rdx, [r8 + 8*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_497
LBB2_131:
WORD $0xf631 // xor esi, esi
LBB2_793:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB2_795
LBB2_794:
LONG $0xf1148b48 // mov rdx, qword [rcx + 8*rsi]
LONG $0xd0af0f48 // imul rdx, rax
LONG $0xf0148949 // mov qword [r8 + 8*rsi], rdx
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB2_794
LBB2_795:
LONG $0x03f98349 // cmp r9, 3
JB LBB2_1109
LBB2_796:
LONG $0xf1148b48 // mov rdx, qword [rcx + 8*rsi]
LONG $0xd0af0f48 // imul rdx, rax
LONG $0xf0148949 // mov qword [r8 + 8*rsi], rdx
LONG $0xf1548b48; BYTE $0x08 // mov rdx, qword [rcx + 8*rsi + 8]
LONG $0xd0af0f48 // imul rdx, rax
LONG $0xf0548949; BYTE $0x08 // mov qword [r8 + 8*rsi + 8], rdx
LONG $0xf1548b48; BYTE $0x10 // mov rdx, qword [rcx + 8*rsi + 16]
LONG $0xd0af0f48 // imul rdx, rax
LONG $0xf0548949; BYTE $0x10 // mov qword [r8 + 8*rsi + 16], rdx
LONG $0xf1548b48; BYTE $0x18 // mov rdx, qword [rcx + 8*rsi + 24]
LONG $0xd0af0f48 // imul rdx, rax
LONG $0xf0548949; BYTE $0x18 // mov qword [r8 + 8*rsi + 24], rdx
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB2_796
JMP LBB2_1109
LBB2_132:
WORD $0xff83; BYTE $0x07 // cmp edi, 7
JE LBB2_250
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JNE LBB2_1109
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1109
WORD $0x8b48; BYTE $0x02 // mov rax, qword [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB2_136
LONG $0xd1148d4a // lea rdx, [rcx + 8*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_500
LONG $0xd0148d4b // lea rdx, [r8 + 8*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_500
LBB2_136:
WORD $0xf631 // xor esi, esi
LBB2_801:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB2_803
LBB2_802:
LONG $0xf1148b48 // mov rdx, qword [rcx + 8*rsi]
LONG $0xd0af0f48 // imul rdx, rax
LONG $0xf0148949 // mov qword [r8 + 8*rsi], rdx
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB2_802
LBB2_803:
LONG $0x03f98349 // cmp r9, 3
JB LBB2_1109
LBB2_804:
LONG $0xf1148b48 // mov rdx, qword [rcx + 8*rsi]
LONG $0xd0af0f48 // imul rdx, rax
LONG $0xf0148949 // mov qword [r8 + 8*rsi], rdx
LONG $0xf1548b48; BYTE $0x08 // mov rdx, qword [rcx + 8*rsi + 8]
LONG $0xd0af0f48 // imul rdx, rax
LONG $0xf0548949; BYTE $0x08 // mov qword [r8 + 8*rsi + 8], rdx
LONG $0xf1548b48; BYTE $0x10 // mov rdx, qword [rcx + 8*rsi + 16]
LONG $0xd0af0f48 // imul rdx, rax
LONG $0xf0548949; BYTE $0x10 // mov qword [r8 + 8*rsi + 16], rdx
LONG $0xf1548b48; BYTE $0x18 // mov rdx, qword [rcx + 8*rsi + 24]
LONG $0xd0af0f48 // imul rdx, rax
LONG $0xf0548949; BYTE $0x18 // mov qword [r8 + 8*rsi + 24], rdx
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB2_804
JMP LBB2_1109
LBB2_137:
WORD $0xff83; BYTE $0x07 // cmp edi, 7
JE LBB2_253
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JNE LBB2_1109
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1109
WORD $0x8b48; BYTE $0x02 // mov rax, qword [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB2_141
LONG $0xd1148d4a // lea rdx, [rcx + 8*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_503
LONG $0xd0148d4b // lea rdx, [r8 + 8*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_503
LBB2_141:
WORD $0xf631 // xor esi, esi
LBB2_809:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB2_811
LBB2_810:
LONG $0xf1148b48 // mov rdx, qword [rcx + 8*rsi]
WORD $0x0148; BYTE $0xc2 // add rdx, rax
LONG $0xf0148949 // mov qword [r8 + 8*rsi], rdx
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB2_810
LBB2_811:
LONG $0x03f98349 // cmp r9, 3
JB LBB2_1109
LBB2_812:
LONG $0xf1148b48 // mov rdx, qword [rcx + 8*rsi]
WORD $0x0148; BYTE $0xc2 // add rdx, rax
LONG $0xf0148949 // mov qword [r8 + 8*rsi], rdx
LONG $0xf1548b48; BYTE $0x08 // mov rdx, qword [rcx + 8*rsi + 8]
WORD $0x0148; BYTE $0xc2 // add rdx, rax
LONG $0xf0548949; BYTE $0x08 // mov qword [r8 + 8*rsi + 8], rdx
LONG $0xf1548b48; BYTE $0x10 // mov rdx, qword [rcx + 8*rsi + 16]
WORD $0x0148; BYTE $0xc2 // add rdx, rax
LONG $0xf0548949; BYTE $0x10 // mov qword [r8 + 8*rsi + 16], rdx
LONG $0xf1548b48; BYTE $0x18 // mov rdx, qword [rcx + 8*rsi + 24]
WORD $0x0148; BYTE $0xc2 // add rdx, rax
LONG $0xf0548949; BYTE $0x18 // mov qword [r8 + 8*rsi + 24], rdx
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB2_812
JMP LBB2_1109
LBB2_142:
WORD $0xff83; BYTE $0x07 // cmp edi, 7
JE LBB2_256
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JNE LBB2_1109
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1109
WORD $0x8b4c; BYTE $0x1a // mov r11, qword [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB2_146
LONG $0xd1148d4a // lea rdx, [rcx + 8*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_506
LONG $0xd0148d4b // lea rdx, [r8 + 8*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_506
LBB2_146:
WORD $0xf631 // xor esi, esi
LBB2_817:
WORD $0x8948; BYTE $0xf2 // mov rdx, rsi
WORD $0xf748; BYTE $0xd2 // not rdx
WORD $0x014c; BYTE $0xd2 // add rdx, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB2_819
LBB2_818:
WORD $0x894c; BYTE $0xd8 // mov rax, r11
LONG $0xf1042b48 // sub rax, qword [rcx + 8*rsi]
LONG $0xf0048949 // mov qword [r8 + 8*rsi], rax
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB2_818
LBB2_819:
LONG $0x03fa8348 // cmp rdx, 3
JB LBB2_1109
LBB2_820:
WORD $0x894c; BYTE $0xd8 // mov rax, r11
LONG $0xf1042b48 // sub rax, qword [rcx + 8*rsi]
LONG $0xf0048949 // mov qword [r8 + 8*rsi], rax
WORD $0x894c; BYTE $0xd8 // mov rax, r11
LONG $0xf1442b48; BYTE $0x08 // sub rax, qword [rcx + 8*rsi + 8]
LONG $0xf0448949; BYTE $0x08 // mov qword [r8 + 8*rsi + 8], rax
WORD $0x894c; BYTE $0xd8 // mov rax, r11
LONG $0xf1442b48; BYTE $0x10 // sub rax, qword [rcx + 8*rsi + 16]
LONG $0xf0448949; BYTE $0x10 // mov qword [r8 + 8*rsi + 16], rax
WORD $0x894c; BYTE $0xd8 // mov rax, r11
LONG $0xf1442b48; BYTE $0x18 // sub rax, qword [rcx + 8*rsi + 24]
LONG $0xf0448949; BYTE $0x18 // mov qword [r8 + 8*rsi + 24], rax
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB2_820
JMP LBB2_1109
LBB2_147:
WORD $0xff83; BYTE $0x07 // cmp edi, 7
JE LBB2_259
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JNE LBB2_1109
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1109
WORD $0x8b48; BYTE $0x02 // mov rax, qword [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB2_151
LONG $0xd1148d4a // lea rdx, [rcx + 8*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_509
LONG $0xd0148d4b // lea rdx, [r8 + 8*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_509
LBB2_151:
WORD $0xf631 // xor esi, esi
LBB2_825:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB2_827
LBB2_826:
LONG $0xf1148b48 // mov rdx, qword [rcx + 8*rsi]
WORD $0x0148; BYTE $0xc2 // add rdx, rax
LONG $0xf0148949 // mov qword [r8 + 8*rsi], rdx
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB2_826
LBB2_827:
LONG $0x03f98349 // cmp r9, 3
JB LBB2_1109
LBB2_828:
LONG $0xf1148b48 // mov rdx, qword [rcx + 8*rsi]
WORD $0x0148; BYTE $0xc2 // add rdx, rax
LONG $0xf0148949 // mov qword [r8 + 8*rsi], rdx
LONG $0xf1548b48; BYTE $0x08 // mov rdx, qword [rcx + 8*rsi + 8]
WORD $0x0148; BYTE $0xc2 // add rdx, rax
LONG $0xf0548949; BYTE $0x08 // mov qword [r8 + 8*rsi + 8], rdx
LONG $0xf1548b48; BYTE $0x10 // mov rdx, qword [rcx + 8*rsi + 16]
WORD $0x0148; BYTE $0xc2 // add rdx, rax
LONG $0xf0548949; BYTE $0x10 // mov qword [r8 + 8*rsi + 16], rdx
LONG $0xf1548b48; BYTE $0x18 // mov rdx, qword [rcx + 8*rsi + 24]
WORD $0x0148; BYTE $0xc2 // add rdx, rax
LONG $0xf0548949; BYTE $0x18 // mov qword [r8 + 8*rsi + 24], rdx
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB2_828
JMP LBB2_1109
LBB2_152:
WORD $0xff83; BYTE $0x07 // cmp edi, 7
JE LBB2_262
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JNE LBB2_1109
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1109
WORD $0x8b4c; BYTE $0x1a // mov r11, qword [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB2_156
LONG $0xd1148d4a // lea rdx, [rcx + 8*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_512
LONG $0xd0148d4b // lea rdx, [r8 + 8*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_512
LBB2_156:
WORD $0xf631 // xor esi, esi
LBB2_833:
WORD $0x8948; BYTE $0xf2 // mov rdx, rsi
WORD $0xf748; BYTE $0xd2 // not rdx
WORD $0x014c; BYTE $0xd2 // add rdx, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB2_835
LBB2_834:
WORD $0x894c; BYTE $0xd8 // mov rax, r11
LONG $0xf1042b48 // sub rax, qword [rcx + 8*rsi]
LONG $0xf0048949 // mov qword [r8 + 8*rsi], rax
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB2_834
LBB2_835:
LONG $0x03fa8348 // cmp rdx, 3
JB LBB2_1109
LBB2_836:
WORD $0x894c; BYTE $0xd8 // mov rax, r11
LONG $0xf1042b48 // sub rax, qword [rcx + 8*rsi]
LONG $0xf0048949 // mov qword [r8 + 8*rsi], rax
WORD $0x894c; BYTE $0xd8 // mov rax, r11
LONG $0xf1442b48; BYTE $0x08 // sub rax, qword [rcx + 8*rsi + 8]
LONG $0xf0448949; BYTE $0x08 // mov qword [r8 + 8*rsi + 8], rax
WORD $0x894c; BYTE $0xd8 // mov rax, r11
LONG $0xf1442b48; BYTE $0x10 // sub rax, qword [rcx + 8*rsi + 16]
LONG $0xf0448949; BYTE $0x10 // mov qword [r8 + 8*rsi + 16], rax
WORD $0x894c; BYTE $0xd8 // mov rax, r11
LONG $0xf1442b48; BYTE $0x18 // sub rax, qword [rcx + 8*rsi + 24]
LONG $0xf0448949; BYTE $0x18 // mov qword [r8 + 8*rsi + 24], rax
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB2_836
JMP LBB2_1109
LBB2_157:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1109
WORD $0xb70f; BYTE $0x02 // movzx eax, word [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB2_159
LONG $0x51148d4a // lea rdx, [rcx + 2*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_515
LONG $0x50148d4b // lea rdx, [r8 + 2*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_515
LBB2_159:
WORD $0xf631 // xor esi, esi
LBB2_841:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd2 // mov rdx, r10
LONG $0x03e28348 // and rdx, 3
JE LBB2_843
LBB2_842:
LONG $0x713cb70f // movzx edi, word [rcx + 2*rsi]
LONG $0xf8af0f66 // imul di, ax
LONG $0x3c894166; BYTE $0x70 // mov word [r8 + 2*rsi], di
LONG $0x01c68348 // add rsi, 1
LONG $0xffc28348 // add rdx, -1
JNE LBB2_842
LBB2_843:
LONG $0x03f98349 // cmp r9, 3
JB LBB2_1109
LBB2_844:
LONG $0x7114b70f // movzx edx, word [rcx + 2*rsi]
LONG $0xd0af0f66 // imul dx, ax
LONG $0x14894166; BYTE $0x70 // mov word [r8 + 2*rsi], dx
LONG $0x7154b70f; BYTE $0x02 // movzx edx, word [rcx + 2*rsi + 2]
LONG $0xd0af0f66 // imul dx, ax
LONG $0x54894166; WORD $0x0270 // mov word [r8 + 2*rsi + 2], dx
LONG $0x7154b70f; BYTE $0x04 // movzx edx, word [rcx + 2*rsi + 4]
LONG $0xd0af0f66 // imul dx, ax
LONG $0x54894166; WORD $0x0470 // mov word [r8 + 2*rsi + 4], dx
LONG $0x7154b70f; BYTE $0x06 // movzx edx, word [rcx + 2*rsi + 6]
LONG $0xd0af0f66 // imul dx, ax
LONG $0x54894166; WORD $0x0670 // mov word [r8 + 2*rsi + 6], dx
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB2_844
JMP LBB2_1109
LBB2_160:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1109
WORD $0xb70f; BYTE $0x02 // movzx eax, word [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB2_162
LONG $0x51148d4a // lea rdx, [rcx + 2*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_518
LONG $0x50148d4b // lea rdx, [r8 + 2*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_518
LBB2_162:
WORD $0xf631 // xor esi, esi
LBB2_849:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd2 // mov rdx, r10
LONG $0x03e28348 // and rdx, 3
JE LBB2_851
LBB2_850:
LONG $0x713cb70f // movzx edi, word [rcx + 2*rsi]
LONG $0xf8af0f66 // imul di, ax
LONG $0x3c894166; BYTE $0x70 // mov word [r8 + 2*rsi], di
LONG $0x01c68348 // add rsi, 1
LONG $0xffc28348 // add rdx, -1
JNE LBB2_850
LBB2_851:
LONG $0x03f98349 // cmp r9, 3
JB LBB2_1109
LBB2_852:
LONG $0x7114b70f // movzx edx, word [rcx + 2*rsi]
LONG $0xd0af0f66 // imul dx, ax
LONG $0x14894166; BYTE $0x70 // mov word [r8 + 2*rsi], dx
LONG $0x7154b70f; BYTE $0x02 // movzx edx, word [rcx + 2*rsi + 2]
LONG $0xd0af0f66 // imul dx, ax
LONG $0x54894166; WORD $0x0270 // mov word [r8 + 2*rsi + 2], dx
LONG $0x7154b70f; BYTE $0x04 // movzx edx, word [rcx + 2*rsi + 4]
LONG $0xd0af0f66 // imul dx, ax
LONG $0x54894166; WORD $0x0470 // mov word [r8 + 2*rsi + 4], dx
LONG $0x7154b70f; BYTE $0x06 // movzx edx, word [rcx + 2*rsi + 6]
LONG $0xd0af0f66 // imul dx, ax
LONG $0x54894166; WORD $0x0670 // mov word [r8 + 2*rsi + 6], dx
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB2_852
JMP LBB2_1109
LBB2_163:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1109
WORD $0xb70f; BYTE $0x02 // movzx eax, word [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB2_165
LONG $0x51148d4a // lea rdx, [rcx + 2*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_521
LONG $0x50148d4b // lea rdx, [r8 + 2*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_521
LBB2_165:
WORD $0xf631 // xor esi, esi
LBB2_857:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd2 // mov rdx, r10
LONG $0x03e28348 // and rdx, 3
JE LBB2_859
LBB2_858:
LONG $0x713cb70f // movzx edi, word [rcx + 2*rsi]
LONG $0xf8af0f66 // imul di, ax
LONG $0x3c894166; BYTE $0x70 // mov word [r8 + 2*rsi], di
LONG $0x01c68348 // add rsi, 1
LONG $0xffc28348 // add rdx, -1
JNE LBB2_858
LBB2_859:
LONG $0x03f98349 // cmp r9, 3
JB LBB2_1109
LBB2_860:
LONG $0x7114b70f // movzx edx, word [rcx + 2*rsi]
LONG $0xd0af0f66 // imul dx, ax
LONG $0x14894166; BYTE $0x70 // mov word [r8 + 2*rsi], dx
LONG $0x7154b70f; BYTE $0x02 // movzx edx, word [rcx + 2*rsi + 2]
LONG $0xd0af0f66 // imul dx, ax
LONG $0x54894166; WORD $0x0270 // mov word [r8 + 2*rsi + 2], dx
LONG $0x7154b70f; BYTE $0x04 // movzx edx, word [rcx + 2*rsi + 4]
LONG $0xd0af0f66 // imul dx, ax
LONG $0x54894166; WORD $0x0470 // mov word [r8 + 2*rsi + 4], dx
LONG $0x7154b70f; BYTE $0x06 // movzx edx, word [rcx + 2*rsi + 6]
LONG $0xd0af0f66 // imul dx, ax
LONG $0x54894166; WORD $0x0670 // mov word [r8 + 2*rsi + 6], dx
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB2_860
JMP LBB2_1109
LBB2_166:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1109
WORD $0xb70f; BYTE $0x02 // movzx eax, word [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB2_168
LONG $0x51148d4a // lea rdx, [rcx + 2*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_524
LONG $0x50148d4b // lea rdx, [r8 + 2*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_524
LBB2_168:
WORD $0xf631 // xor esi, esi
LBB2_865:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd2 // mov rdx, r10
LONG $0x03e28348 // and rdx, 3
JE LBB2_867
LBB2_866:
LONG $0x713cb70f // movzx edi, word [rcx + 2*rsi]
LONG $0xf8af0f66 // imul di, ax
LONG $0x3c894166; BYTE $0x70 // mov word [r8 + 2*rsi], di
LONG $0x01c68348 // add rsi, 1
LONG $0xffc28348 // add rdx, -1
JNE LBB2_866
LBB2_867:
LONG $0x03f98349 // cmp r9, 3
JB LBB2_1109
LBB2_868:
LONG $0x7114b70f // movzx edx, word [rcx + 2*rsi]
LONG $0xd0af0f66 // imul dx, ax
LONG $0x14894166; BYTE $0x70 // mov word [r8 + 2*rsi], dx
LONG $0x7154b70f; BYTE $0x02 // movzx edx, word [rcx + 2*rsi + 2]
LONG $0xd0af0f66 // imul dx, ax
LONG $0x54894166; WORD $0x0270 // mov word [r8 + 2*rsi + 2], dx
LONG $0x7154b70f; BYTE $0x04 // movzx edx, word [rcx + 2*rsi + 4]
LONG $0xd0af0f66 // imul dx, ax
LONG $0x54894166; WORD $0x0470 // mov word [r8 + 2*rsi + 4], dx
LONG $0x7154b70f; BYTE $0x06 // movzx edx, word [rcx + 2*rsi + 6]
LONG $0xd0af0f66 // imul dx, ax
LONG $0x54894166; WORD $0x0670 // mov word [r8 + 2*rsi + 6], dx
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB2_868
JMP LBB2_1109
LBB2_169:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1109
WORD $0xb70f; BYTE $0x02 // movzx eax, word [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB2_171
LONG $0x51148d4a // lea rdx, [rcx + 2*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_527
LONG $0x50148d4b // lea rdx, [r8 + 2*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_527
LBB2_171:
WORD $0xf631 // xor esi, esi
LBB2_873:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd2 // mov rdx, r10
LONG $0x03e28348 // and rdx, 3
JE LBB2_875
LBB2_874:
LONG $0x713cb70f // movzx edi, word [rcx + 2*rsi]
WORD $0x0166; BYTE $0xc7 // add di, ax
LONG $0x3c894166; BYTE $0x70 // mov word [r8 + 2*rsi], di
LONG $0x01c68348 // add rsi, 1
LONG $0xffc28348 // add rdx, -1
JNE LBB2_874
LBB2_875:
LONG $0x03f98349 // cmp r9, 3
JB LBB2_1109
LBB2_876:
LONG $0x7114b70f // movzx edx, word [rcx + 2*rsi]
WORD $0x0166; BYTE $0xc2 // add dx, ax
LONG $0x14894166; BYTE $0x70 // mov word [r8 + 2*rsi], dx
LONG $0x7154b70f; BYTE $0x02 // movzx edx, word [rcx + 2*rsi + 2]
WORD $0x0166; BYTE $0xc2 // add dx, ax
LONG $0x54894166; WORD $0x0270 // mov word [r8 + 2*rsi + 2], dx
LONG $0x7154b70f; BYTE $0x04 // movzx edx, word [rcx + 2*rsi + 4]
WORD $0x0166; BYTE $0xc2 // add dx, ax
LONG $0x54894166; WORD $0x0470 // mov word [r8 + 2*rsi + 4], dx
LONG $0x7154b70f; BYTE $0x06 // movzx edx, word [rcx + 2*rsi + 6]
WORD $0x0166; BYTE $0xc2 // add dx, ax
LONG $0x54894166; WORD $0x0670 // mov word [r8 + 2*rsi + 6], dx
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB2_876
JMP LBB2_1109
LBB2_172:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1109
WORD $0xb70f; BYTE $0x02 // movzx eax, word [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB2_174
LONG $0x51148d4a // lea rdx, [rcx + 2*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_530
LONG $0x50148d4b // lea rdx, [r8 + 2*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_530
LBB2_174:
WORD $0xf631 // xor esi, esi
LBB2_881:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd2 // mov rdx, r10
LONG $0x03e28348 // and rdx, 3
JE LBB2_883
LBB2_882:
LONG $0x713cb70f // movzx edi, word [rcx + 2*rsi]
WORD $0x0166; BYTE $0xc7 // add di, ax
LONG $0x3c894166; BYTE $0x70 // mov word [r8 + 2*rsi], di
LONG $0x01c68348 // add rsi, 1
LONG $0xffc28348 // add rdx, -1
JNE LBB2_882
LBB2_883:
LONG $0x03f98349 // cmp r9, 3
JB LBB2_1109
LBB2_884:
LONG $0x7114b70f // movzx edx, word [rcx + 2*rsi]
WORD $0x0166; BYTE $0xc2 // add dx, ax
LONG $0x14894166; BYTE $0x70 // mov word [r8 + 2*rsi], dx
LONG $0x7154b70f; BYTE $0x02 // movzx edx, word [rcx + 2*rsi + 2]
WORD $0x0166; BYTE $0xc2 // add dx, ax
LONG $0x54894166; WORD $0x0270 // mov word [r8 + 2*rsi + 2], dx
LONG $0x7154b70f; BYTE $0x04 // movzx edx, word [rcx + 2*rsi + 4]
WORD $0x0166; BYTE $0xc2 // add dx, ax
LONG $0x54894166; WORD $0x0470 // mov word [r8 + 2*rsi + 4], dx
LONG $0x7154b70f; BYTE $0x06 // movzx edx, word [rcx + 2*rsi + 6]
WORD $0x0166; BYTE $0xc2 // add dx, ax
LONG $0x54894166; WORD $0x0670 // mov word [r8 + 2*rsi + 6], dx
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB2_884
JMP LBB2_1109
LBB2_175:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1109
WORD $0xb70f; BYTE $0x02 // movzx eax, word [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB2_177
LONG $0x51148d4a // lea rdx, [rcx + 2*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_533
LONG $0x50148d4b // lea rdx, [r8 + 2*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_533
LBB2_177:
WORD $0xf631 // xor esi, esi
LBB2_889:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd2 // mov rdx, r10
LONG $0x03e28348 // and rdx, 3
JE LBB2_891
LBB2_890:
WORD $0xc789 // mov edi, eax
LONG $0x713c2b66 // sub di, word [rcx + 2*rsi]
LONG $0x3c894166; BYTE $0x70 // mov word [r8 + 2*rsi], di
LONG $0x01c68348 // add rsi, 1
LONG $0xffc28348 // add rdx, -1
JNE LBB2_890
LBB2_891:
LONG $0x03f98349 // cmp r9, 3
JB LBB2_1109
LBB2_892:
WORD $0xc289 // mov edx, eax
LONG $0x71142b66 // sub dx, word [rcx + 2*rsi]
LONG $0x14894166; BYTE $0x70 // mov word [r8 + 2*rsi], dx
WORD $0xc289 // mov edx, eax
LONG $0x71542b66; BYTE $0x02 // sub dx, word [rcx + 2*rsi + 2]
LONG $0x54894166; WORD $0x0270 // mov word [r8 + 2*rsi + 2], dx
WORD $0xc289 // mov edx, eax
LONG $0x71542b66; BYTE $0x04 // sub dx, word [rcx + 2*rsi + 4]
LONG $0x54894166; WORD $0x0470 // mov word [r8 + 2*rsi + 4], dx
WORD $0xc289 // mov edx, eax
LONG $0x71542b66; BYTE $0x06 // sub dx, word [rcx + 2*rsi + 6]
LONG $0x54894166; WORD $0x0670 // mov word [r8 + 2*rsi + 6], dx
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB2_892
JMP LBB2_1109
LBB2_178:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1109
WORD $0xb70f; BYTE $0x02 // movzx eax, word [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB2_180
LONG $0x51148d4a // lea rdx, [rcx + 2*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_536
LONG $0x50148d4b // lea rdx, [r8 + 2*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_536
LBB2_180:
WORD $0xf631 // xor esi, esi
LBB2_897:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd2 // mov rdx, r10
LONG $0x03e28348 // and rdx, 3
JE LBB2_899
LBB2_898:
WORD $0xc789 // mov edi, eax
LONG $0x713c2b66 // sub di, word [rcx + 2*rsi]
LONG $0x3c894166; BYTE $0x70 // mov word [r8 + 2*rsi], di
LONG $0x01c68348 // add rsi, 1
LONG $0xffc28348 // add rdx, -1
JNE LBB2_898
LBB2_899:
LONG $0x03f98349 // cmp r9, 3
JB LBB2_1109
LBB2_900:
WORD $0xc289 // mov edx, eax
LONG $0x71142b66 // sub dx, word [rcx + 2*rsi]
LONG $0x14894166; BYTE $0x70 // mov word [r8 + 2*rsi], dx
WORD $0xc289 // mov edx, eax
LONG $0x71542b66; BYTE $0x02 // sub dx, word [rcx + 2*rsi + 2]
LONG $0x54894166; WORD $0x0270 // mov word [r8 + 2*rsi + 2], dx
WORD $0xc289 // mov edx, eax
LONG $0x71542b66; BYTE $0x04 // sub dx, word [rcx + 2*rsi + 4]
LONG $0x54894166; WORD $0x0470 // mov word [r8 + 2*rsi + 4], dx
WORD $0xc289 // mov edx, eax
LONG $0x71542b66; BYTE $0x06 // sub dx, word [rcx + 2*rsi + 6]
LONG $0x54894166; WORD $0x0670 // mov word [r8 + 2*rsi + 6], dx
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB2_900
JMP LBB2_1109
LBB2_181:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1109
WORD $0xb70f; BYTE $0x02 // movzx eax, word [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB2_183
LONG $0x51148d4a // lea rdx, [rcx + 2*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_539
LONG $0x50148d4b // lea rdx, [r8 + 2*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_539
LBB2_183:
WORD $0xf631 // xor esi, esi
LBB2_905:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd2 // mov rdx, r10
LONG $0x03e28348 // and rdx, 3
JE LBB2_907
LBB2_906:
LONG $0x713cb70f // movzx edi, word [rcx + 2*rsi]
WORD $0x0166; BYTE $0xc7 // add di, ax
LONG $0x3c894166; BYTE $0x70 // mov word [r8 + 2*rsi], di
LONG $0x01c68348 // add rsi, 1
LONG $0xffc28348 // add rdx, -1
JNE LBB2_906
LBB2_907:
LONG $0x03f98349 // cmp r9, 3
JB LBB2_1109
LBB2_908:
LONG $0x7114b70f // movzx edx, word [rcx + 2*rsi]
WORD $0x0166; BYTE $0xc2 // add dx, ax
LONG $0x14894166; BYTE $0x70 // mov word [r8 + 2*rsi], dx
LONG $0x7154b70f; BYTE $0x02 // movzx edx, word [rcx + 2*rsi + 2]
WORD $0x0166; BYTE $0xc2 // add dx, ax
LONG $0x54894166; WORD $0x0270 // mov word [r8 + 2*rsi + 2], dx
LONG $0x7154b70f; BYTE $0x04 // movzx edx, word [rcx + 2*rsi + 4]
WORD $0x0166; BYTE $0xc2 // add dx, ax
LONG $0x54894166; WORD $0x0470 // mov word [r8 + 2*rsi + 4], dx
LONG $0x7154b70f; BYTE $0x06 // movzx edx, word [rcx + 2*rsi + 6]
WORD $0x0166; BYTE $0xc2 // add dx, ax
LONG $0x54894166; WORD $0x0670 // mov word [r8 + 2*rsi + 6], dx
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB2_908
JMP LBB2_1109
LBB2_184:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1109
WORD $0xb70f; BYTE $0x02 // movzx eax, word [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB2_186
LONG $0x51148d4a // lea rdx, [rcx + 2*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_542
LONG $0x50148d4b // lea rdx, [r8 + 2*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_542
LBB2_186:
WORD $0xf631 // xor esi, esi
LBB2_913:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd2 // mov rdx, r10
LONG $0x03e28348 // and rdx, 3
JE LBB2_915
LBB2_914:
LONG $0x713cb70f // movzx edi, word [rcx + 2*rsi]
WORD $0x0166; BYTE $0xc7 // add di, ax
LONG $0x3c894166; BYTE $0x70 // mov word [r8 + 2*rsi], di
LONG $0x01c68348 // add rsi, 1
LONG $0xffc28348 // add rdx, -1
JNE LBB2_914
LBB2_915:
LONG $0x03f98349 // cmp r9, 3
JB LBB2_1109
LBB2_916:
LONG $0x7114b70f // movzx edx, word [rcx + 2*rsi]
WORD $0x0166; BYTE $0xc2 // add dx, ax
LONG $0x14894166; BYTE $0x70 // mov word [r8 + 2*rsi], dx
LONG $0x7154b70f; BYTE $0x02 // movzx edx, word [rcx + 2*rsi + 2]
WORD $0x0166; BYTE $0xc2 // add dx, ax
LONG $0x54894166; WORD $0x0270 // mov word [r8 + 2*rsi + 2], dx
LONG $0x7154b70f; BYTE $0x04 // movzx edx, word [rcx + 2*rsi + 4]
WORD $0x0166; BYTE $0xc2 // add dx, ax
LONG $0x54894166; WORD $0x0470 // mov word [r8 + 2*rsi + 4], dx
LONG $0x7154b70f; BYTE $0x06 // movzx edx, word [rcx + 2*rsi + 6]
WORD $0x0166; BYTE $0xc2 // add dx, ax
LONG $0x54894166; WORD $0x0670 // mov word [r8 + 2*rsi + 6], dx
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB2_916
JMP LBB2_1109
LBB2_187:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1109
WORD $0xb70f; BYTE $0x02 // movzx eax, word [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB2_189
LONG $0x51148d4a // lea rdx, [rcx + 2*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_545
LONG $0x50148d4b // lea rdx, [r8 + 2*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_545
LBB2_189:
WORD $0xf631 // xor esi, esi
LBB2_921:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd2 // mov rdx, r10
LONG $0x03e28348 // and rdx, 3
JE LBB2_923
LBB2_922:
WORD $0xc789 // mov edi, eax
LONG $0x713c2b66 // sub di, word [rcx + 2*rsi]
LONG $0x3c894166; BYTE $0x70 // mov word [r8 + 2*rsi], di
LONG $0x01c68348 // add rsi, 1
LONG $0xffc28348 // add rdx, -1
JNE LBB2_922
LBB2_923:
LONG $0x03f98349 // cmp r9, 3
JB LBB2_1109
LBB2_924:
WORD $0xc289 // mov edx, eax
LONG $0x71142b66 // sub dx, word [rcx + 2*rsi]
LONG $0x14894166; BYTE $0x70 // mov word [r8 + 2*rsi], dx
WORD $0xc289 // mov edx, eax
LONG $0x71542b66; BYTE $0x02 // sub dx, word [rcx + 2*rsi + 2]
LONG $0x54894166; WORD $0x0270 // mov word [r8 + 2*rsi + 2], dx
WORD $0xc289 // mov edx, eax
LONG $0x71542b66; BYTE $0x04 // sub dx, word [rcx + 2*rsi + 4]
LONG $0x54894166; WORD $0x0470 // mov word [r8 + 2*rsi + 4], dx
WORD $0xc289 // mov edx, eax
LONG $0x71542b66; BYTE $0x06 // sub dx, word [rcx + 2*rsi + 6]
LONG $0x54894166; WORD $0x0670 // mov word [r8 + 2*rsi + 6], dx
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB2_924
JMP LBB2_1109
LBB2_190:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1109
WORD $0xb70f; BYTE $0x02 // movzx eax, word [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB2_192
LONG $0x51148d4a // lea rdx, [rcx + 2*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_548
LONG $0x50148d4b // lea rdx, [r8 + 2*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_548
LBB2_192:
WORD $0xf631 // xor esi, esi
LBB2_929:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd2 // mov rdx, r10
LONG $0x03e28348 // and rdx, 3
JE LBB2_931
LBB2_930:
WORD $0xc789 // mov edi, eax
LONG $0x713c2b66 // sub di, word [rcx + 2*rsi]
LONG $0x3c894166; BYTE $0x70 // mov word [r8 + 2*rsi], di
LONG $0x01c68348 // add rsi, 1
LONG $0xffc28348 // add rdx, -1
JNE LBB2_930
LBB2_931:
LONG $0x03f98349 // cmp r9, 3
JB LBB2_1109
LBB2_932:
WORD $0xc289 // mov edx, eax
LONG $0x71142b66 // sub dx, word [rcx + 2*rsi]
LONG $0x14894166; BYTE $0x70 // mov word [r8 + 2*rsi], dx
WORD $0xc289 // mov edx, eax
LONG $0x71542b66; BYTE $0x02 // sub dx, word [rcx + 2*rsi + 2]
LONG $0x54894166; WORD $0x0270 // mov word [r8 + 2*rsi + 2], dx
WORD $0xc289 // mov edx, eax
LONG $0x71542b66; BYTE $0x04 // sub dx, word [rcx + 2*rsi + 4]
LONG $0x54894166; WORD $0x0470 // mov word [r8 + 2*rsi + 4], dx
WORD $0xc289 // mov edx, eax
LONG $0x71542b66; BYTE $0x06 // sub dx, word [rcx + 2*rsi + 6]
LONG $0x54894166; WORD $0x0670 // mov word [r8 + 2*rsi + 6], dx
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB2_932
JMP LBB2_1109
LBB2_193:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1109
WORD $0x8b48; BYTE $0x02 // mov rax, qword [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB2_195
LONG $0xd1148d4a // lea rdx, [rcx + 8*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_551
LONG $0xd0148d4b // lea rdx, [r8 + 8*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_551
LBB2_195:
WORD $0xf631 // xor esi, esi
LBB2_937:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB2_939
LBB2_938:
LONG $0xf1148b48 // mov rdx, qword [rcx + 8*rsi]
LONG $0xd0af0f48 // imul rdx, rax
LONG $0xf0148949 // mov qword [r8 + 8*rsi], rdx
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB2_938
LBB2_939:
LONG $0x03f98349 // cmp r9, 3
JB LBB2_1109
LBB2_940:
LONG $0xf1148b48 // mov rdx, qword [rcx + 8*rsi]
LONG $0xd0af0f48 // imul rdx, rax
LONG $0xf0148949 // mov qword [r8 + 8*rsi], rdx
LONG $0xf1548b48; BYTE $0x08 // mov rdx, qword [rcx + 8*rsi + 8]
LONG $0xd0af0f48 // imul rdx, rax
LONG $0xf0548949; BYTE $0x08 // mov qword [r8 + 8*rsi + 8], rdx
LONG $0xf1548b48; BYTE $0x10 // mov rdx, qword [rcx + 8*rsi + 16]
LONG $0xd0af0f48 // imul rdx, rax
LONG $0xf0548949; BYTE $0x10 // mov qword [r8 + 8*rsi + 16], rdx
LONG $0xf1548b48; BYTE $0x18 // mov rdx, qword [rcx + 8*rsi + 24]
LONG $0xd0af0f48 // imul rdx, rax
LONG $0xf0548949; BYTE $0x18 // mov qword [r8 + 8*rsi + 24], rdx
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB2_940
JMP LBB2_1109
LBB2_196:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1109
LONG $0x0210fac5 // vmovss xmm0, dword [rdx]
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB2_198
LONG $0x81148d48 // lea rdx, [rcx + 4*rax]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_554
LONG $0x80148d49 // lea rdx, [r8 + 4*rax]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_554
LBB2_198:
WORD $0xd231 // xor edx, edx
LBB2_945:
WORD $0x8948; BYTE $0xd6 // mov rsi, rdx
WORD $0xf748; BYTE $0xd6 // not rsi
WORD $0x0148; BYTE $0xc6 // add rsi, rax
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x03e78348 // and rdi, 3
JE LBB2_947
LBB2_946:
LONG $0x0c59fac5; BYTE $0x91 // vmulss xmm1, xmm0, dword [rcx + 4*rdx]
LONG $0x117ac1c4; WORD $0x900c // vmovss dword [r8 + 4*rdx], xmm1
LONG $0x01c28348 // add rdx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB2_946
LBB2_947:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB2_1109
LBB2_948:
LONG $0x0c59fac5; BYTE $0x91 // vmulss xmm1, xmm0, dword [rcx + 4*rdx]
LONG $0x117ac1c4; WORD $0x900c // vmovss dword [r8 + 4*rdx], xmm1
LONG $0x4c59fac5; WORD $0x0491 // vmulss xmm1, xmm0, dword [rcx + 4*rdx + 4]
LONG $0x117ac1c4; WORD $0x904c; BYTE $0x04 // vmovss dword [r8 + 4*rdx + 4], xmm1
LONG $0x4c59fac5; WORD $0x0891 // vmulss xmm1, xmm0, dword [rcx + 4*rdx + 8]
LONG $0x117ac1c4; WORD $0x904c; BYTE $0x08 // vmovss dword [r8 + 4*rdx + 8], xmm1
LONG $0x4c59fac5; WORD $0x0c91 // vmulss xmm1, xmm0, dword [rcx + 4*rdx + 12]
LONG $0x117ac1c4; WORD $0x904c; BYTE $0x0c // vmovss dword [r8 + 4*rdx + 12], xmm1
LONG $0x04c28348 // add rdx, 4
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JNE LBB2_948
JMP LBB2_1109
LBB2_199:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1109
WORD $0x8b48; BYTE $0x02 // mov rax, qword [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB2_201
LONG $0xd1148d4a // lea rdx, [rcx + 8*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_557
LONG $0xd0148d4b // lea rdx, [r8 + 8*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_557
LBB2_201:
WORD $0xf631 // xor esi, esi
LBB2_953:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB2_955
LBB2_954:
LONG $0xf1148b48 // mov rdx, qword [rcx + 8*rsi]
LONG $0xd0af0f48 // imul rdx, rax
LONG $0xf0148949 // mov qword [r8 + 8*rsi], rdx
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB2_954
LBB2_955:
LONG $0x03f98349 // cmp r9, 3
JB LBB2_1109
LBB2_956:
LONG $0xf1148b48 // mov rdx, qword [rcx + 8*rsi]
LONG $0xd0af0f48 // imul rdx, rax
LONG $0xf0148949 // mov qword [r8 + 8*rsi], rdx
LONG $0xf1548b48; BYTE $0x08 // mov rdx, qword [rcx + 8*rsi + 8]
LONG $0xd0af0f48 // imul rdx, rax
LONG $0xf0548949; BYTE $0x08 // mov qword [r8 + 8*rsi + 8], rdx
LONG $0xf1548b48; BYTE $0x10 // mov rdx, qword [rcx + 8*rsi + 16]
LONG $0xd0af0f48 // imul rdx, rax
LONG $0xf0548949; BYTE $0x10 // mov qword [r8 + 8*rsi + 16], rdx
LONG $0xf1548b48; BYTE $0x18 // mov rdx, qword [rcx + 8*rsi + 24]
LONG $0xd0af0f48 // imul rdx, rax
LONG $0xf0548949; BYTE $0x18 // mov qword [r8 + 8*rsi + 24], rdx
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB2_956
JMP LBB2_1109
LBB2_202:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1109
LONG $0x0210fac5 // vmovss xmm0, dword [rdx]
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB2_204
LONG $0x81148d48 // lea rdx, [rcx + 4*rax]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_560
LONG $0x80148d49 // lea rdx, [r8 + 4*rax]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_560
LBB2_204:
WORD $0xd231 // xor edx, edx
LBB2_961:
WORD $0x8948; BYTE $0xd6 // mov rsi, rdx
WORD $0xf748; BYTE $0xd6 // not rsi
WORD $0x0148; BYTE $0xc6 // add rsi, rax
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x03e78348 // and rdi, 3
JE LBB2_963
LBB2_962:
LONG $0x0c59fac5; BYTE $0x91 // vmulss xmm1, xmm0, dword [rcx + 4*rdx]
LONG $0x117ac1c4; WORD $0x900c // vmovss dword [r8 + 4*rdx], xmm1
LONG $0x01c28348 // add rdx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB2_962
LBB2_963:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB2_1109
LBB2_964:
LONG $0x0c59fac5; BYTE $0x91 // vmulss xmm1, xmm0, dword [rcx + 4*rdx]
LONG $0x117ac1c4; WORD $0x900c // vmovss dword [r8 + 4*rdx], xmm1
LONG $0x4c59fac5; WORD $0x0491 // vmulss xmm1, xmm0, dword [rcx + 4*rdx + 4]
LONG $0x117ac1c4; WORD $0x904c; BYTE $0x04 // vmovss dword [r8 + 4*rdx + 4], xmm1
LONG $0x4c59fac5; WORD $0x0891 // vmulss xmm1, xmm0, dword [rcx + 4*rdx + 8]
LONG $0x117ac1c4; WORD $0x904c; BYTE $0x08 // vmovss dword [r8 + 4*rdx + 8], xmm1
LONG $0x4c59fac5; WORD $0x0c91 // vmulss xmm1, xmm0, dword [rcx + 4*rdx + 12]
LONG $0x117ac1c4; WORD $0x904c; BYTE $0x0c // vmovss dword [r8 + 4*rdx + 12], xmm1
LONG $0x04c28348 // add rdx, 4
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JNE LBB2_964
JMP LBB2_1109
LBB2_205:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1109
WORD $0x8b48; BYTE $0x02 // mov rax, qword [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB2_207
LONG $0xd1148d4a // lea rdx, [rcx + 8*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_563
LONG $0xd0148d4b // lea rdx, [r8 + 8*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_563
LBB2_207:
WORD $0xf631 // xor esi, esi
LBB2_969:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB2_971
LBB2_970:
LONG $0xf1148b48 // mov rdx, qword [rcx + 8*rsi]
WORD $0x0148; BYTE $0xc2 // add rdx, rax
LONG $0xf0148949 // mov qword [r8 + 8*rsi], rdx
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB2_970
LBB2_971:
LONG $0x03f98349 // cmp r9, 3
JB LBB2_1109
LBB2_972:
LONG $0xf1148b48 // mov rdx, qword [rcx + 8*rsi]
WORD $0x0148; BYTE $0xc2 // add rdx, rax
LONG $0xf0148949 // mov qword [r8 + 8*rsi], rdx
LONG $0xf1548b48; BYTE $0x08 // mov rdx, qword [rcx + 8*rsi + 8]
WORD $0x0148; BYTE $0xc2 // add rdx, rax
LONG $0xf0548949; BYTE $0x08 // mov qword [r8 + 8*rsi + 8], rdx
LONG $0xf1548b48; BYTE $0x10 // mov rdx, qword [rcx + 8*rsi + 16]
WORD $0x0148; BYTE $0xc2 // add rdx, rax
LONG $0xf0548949; BYTE $0x10 // mov qword [r8 + 8*rsi + 16], rdx
LONG $0xf1548b48; BYTE $0x18 // mov rdx, qword [rcx + 8*rsi + 24]
WORD $0x0148; BYTE $0xc2 // add rdx, rax
LONG $0xf0548949; BYTE $0x18 // mov qword [r8 + 8*rsi + 24], rdx
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB2_972
JMP LBB2_1109
LBB2_208:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1109
LONG $0x0210fac5 // vmovss xmm0, dword [rdx]
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB2_210
LONG $0x81148d48 // lea rdx, [rcx + 4*rax]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_566
LONG $0x80148d49 // lea rdx, [r8 + 4*rax]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_566
LBB2_210:
WORD $0xd231 // xor edx, edx
LBB2_977:
WORD $0x8948; BYTE $0xd6 // mov rsi, rdx
WORD $0xf748; BYTE $0xd6 // not rsi
WORD $0x0148; BYTE $0xc6 // add rsi, rax
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x03e78348 // and rdi, 3
JE LBB2_979
LBB2_978:
LONG $0x0c58fac5; BYTE $0x91 // vaddss xmm1, xmm0, dword [rcx + 4*rdx]
LONG $0x117ac1c4; WORD $0x900c // vmovss dword [r8 + 4*rdx], xmm1
LONG $0x01c28348 // add rdx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB2_978
LBB2_979:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB2_1109
LBB2_980:
LONG $0x0c58fac5; BYTE $0x91 // vaddss xmm1, xmm0, dword [rcx + 4*rdx]
LONG $0x117ac1c4; WORD $0x900c // vmovss dword [r8 + 4*rdx], xmm1
LONG $0x4c58fac5; WORD $0x0491 // vaddss xmm1, xmm0, dword [rcx + 4*rdx + 4]
LONG $0x117ac1c4; WORD $0x904c; BYTE $0x04 // vmovss dword [r8 + 4*rdx + 4], xmm1
LONG $0x4c58fac5; WORD $0x0891 // vaddss xmm1, xmm0, dword [rcx + 4*rdx + 8]
LONG $0x117ac1c4; WORD $0x904c; BYTE $0x08 // vmovss dword [r8 + 4*rdx + 8], xmm1
LONG $0x4c58fac5; WORD $0x0c91 // vaddss xmm1, xmm0, dword [rcx + 4*rdx + 12]
LONG $0x117ac1c4; WORD $0x904c; BYTE $0x0c // vmovss dword [r8 + 4*rdx + 12], xmm1
LONG $0x04c28348 // add rdx, 4
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JNE LBB2_980
JMP LBB2_1109
LBB2_211:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1109
WORD $0x8b4c; BYTE $0x1a // mov r11, qword [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB2_213
LONG $0xd1148d4a // lea rdx, [rcx + 8*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_569
LONG $0xd0148d4b // lea rdx, [r8 + 8*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_569
LBB2_213:
WORD $0xf631 // xor esi, esi
LBB2_985:
WORD $0x8948; BYTE $0xf2 // mov rdx, rsi
WORD $0xf748; BYTE $0xd2 // not rdx
WORD $0x014c; BYTE $0xd2 // add rdx, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB2_987
LBB2_986:
WORD $0x894c; BYTE $0xd8 // mov rax, r11
LONG $0xf1042b48 // sub rax, qword [rcx + 8*rsi]
LONG $0xf0048949 // mov qword [r8 + 8*rsi], rax
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB2_986
LBB2_987:
LONG $0x03fa8348 // cmp rdx, 3
JB LBB2_1109
LBB2_988:
WORD $0x894c; BYTE $0xd8 // mov rax, r11
LONG $0xf1042b48 // sub rax, qword [rcx + 8*rsi]
LONG $0xf0048949 // mov qword [r8 + 8*rsi], rax
WORD $0x894c; BYTE $0xd8 // mov rax, r11
LONG $0xf1442b48; BYTE $0x08 // sub rax, qword [rcx + 8*rsi + 8]
LONG $0xf0448949; BYTE $0x08 // mov qword [r8 + 8*rsi + 8], rax
WORD $0x894c; BYTE $0xd8 // mov rax, r11
LONG $0xf1442b48; BYTE $0x10 // sub rax, qword [rcx + 8*rsi + 16]
LONG $0xf0448949; BYTE $0x10 // mov qword [r8 + 8*rsi + 16], rax
WORD $0x894c; BYTE $0xd8 // mov rax, r11
LONG $0xf1442b48; BYTE $0x18 // sub rax, qword [rcx + 8*rsi + 24]
LONG $0xf0448949; BYTE $0x18 // mov qword [r8 + 8*rsi + 24], rax
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB2_988
JMP LBB2_1109
LBB2_214:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1109
LONG $0x0210fac5 // vmovss xmm0, dword [rdx]
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB2_216
LONG $0x81148d48 // lea rdx, [rcx + 4*rax]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_572
LONG $0x80148d49 // lea rdx, [r8 + 4*rax]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_572
LBB2_216:
WORD $0xd231 // xor edx, edx
LBB2_993:
WORD $0x8948; BYTE $0xd6 // mov rsi, rdx
WORD $0xf748; BYTE $0xd6 // not rsi
WORD $0x0148; BYTE $0xc6 // add rsi, rax
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x03e78348 // and rdi, 3
JE LBB2_995
LBB2_994:
LONG $0x0c5cfac5; BYTE $0x91 // vsubss xmm1, xmm0, dword [rcx + 4*rdx]
LONG $0x117ac1c4; WORD $0x900c // vmovss dword [r8 + 4*rdx], xmm1
LONG $0x01c28348 // add rdx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB2_994
LBB2_995:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB2_1109
LBB2_996:
LONG $0x0c5cfac5; BYTE $0x91 // vsubss xmm1, xmm0, dword [rcx + 4*rdx]
LONG $0x117ac1c4; WORD $0x900c // vmovss dword [r8 + 4*rdx], xmm1
LONG $0x4c5cfac5; WORD $0x0491 // vsubss xmm1, xmm0, dword [rcx + 4*rdx + 4]
LONG $0x117ac1c4; WORD $0x904c; BYTE $0x04 // vmovss dword [r8 + 4*rdx + 4], xmm1
LONG $0x4c5cfac5; WORD $0x0891 // vsubss xmm1, xmm0, dword [rcx + 4*rdx + 8]
LONG $0x117ac1c4; WORD $0x904c; BYTE $0x08 // vmovss dword [r8 + 4*rdx + 8], xmm1
LONG $0x4c5cfac5; WORD $0x0c91 // vsubss xmm1, xmm0, dword [rcx + 4*rdx + 12]
LONG $0x117ac1c4; WORD $0x904c; BYTE $0x0c // vmovss dword [r8 + 4*rdx + 12], xmm1
LONG $0x04c28348 // add rdx, 4
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JNE LBB2_996
JMP LBB2_1109
LBB2_217:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1109
WORD $0x8b48; BYTE $0x02 // mov rax, qword [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB2_219
LONG $0xd1148d4a // lea rdx, [rcx + 8*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_575
LONG $0xd0148d4b // lea rdx, [r8 + 8*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_575
LBB2_219:
WORD $0xf631 // xor esi, esi
LBB2_1001:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB2_1003
LBB2_1002:
LONG $0xf1148b48 // mov rdx, qword [rcx + 8*rsi]
WORD $0x0148; BYTE $0xc2 // add rdx, rax
LONG $0xf0148949 // mov qword [r8 + 8*rsi], rdx
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB2_1002
LBB2_1003:
LONG $0x03f98349 // cmp r9, 3
JB LBB2_1109
LBB2_1004:
LONG $0xf1148b48 // mov rdx, qword [rcx + 8*rsi]
WORD $0x0148; BYTE $0xc2 // add rdx, rax
LONG $0xf0148949 // mov qword [r8 + 8*rsi], rdx
LONG $0xf1548b48; BYTE $0x08 // mov rdx, qword [rcx + 8*rsi + 8]
WORD $0x0148; BYTE $0xc2 // add rdx, rax
LONG $0xf0548949; BYTE $0x08 // mov qword [r8 + 8*rsi + 8], rdx
LONG $0xf1548b48; BYTE $0x10 // mov rdx, qword [rcx + 8*rsi + 16]
WORD $0x0148; BYTE $0xc2 // add rdx, rax
LONG $0xf0548949; BYTE $0x10 // mov qword [r8 + 8*rsi + 16], rdx
LONG $0xf1548b48; BYTE $0x18 // mov rdx, qword [rcx + 8*rsi + 24]
WORD $0x0148; BYTE $0xc2 // add rdx, rax
LONG $0xf0548949; BYTE $0x18 // mov qword [r8 + 8*rsi + 24], rdx
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB2_1004
JMP LBB2_1109
LBB2_220:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1109
LONG $0x0210fac5 // vmovss xmm0, dword [rdx]
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB2_222
LONG $0x81148d48 // lea rdx, [rcx + 4*rax]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_578
LONG $0x80148d49 // lea rdx, [r8 + 4*rax]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_578
LBB2_222:
WORD $0xd231 // xor edx, edx
LBB2_1009:
WORD $0x8948; BYTE $0xd6 // mov rsi, rdx
WORD $0xf748; BYTE $0xd6 // not rsi
WORD $0x0148; BYTE $0xc6 // add rsi, rax
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x03e78348 // and rdi, 3
JE LBB2_1011
LBB2_1010:
LONG $0x0c58fac5; BYTE $0x91 // vaddss xmm1, xmm0, dword [rcx + 4*rdx]
LONG $0x117ac1c4; WORD $0x900c // vmovss dword [r8 + 4*rdx], xmm1
LONG $0x01c28348 // add rdx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB2_1010
LBB2_1011:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB2_1109
LBB2_1012:
LONG $0x0c58fac5; BYTE $0x91 // vaddss xmm1, xmm0, dword [rcx + 4*rdx]
LONG $0x117ac1c4; WORD $0x900c // vmovss dword [r8 + 4*rdx], xmm1
LONG $0x4c58fac5; WORD $0x0491 // vaddss xmm1, xmm0, dword [rcx + 4*rdx + 4]
LONG $0x117ac1c4; WORD $0x904c; BYTE $0x04 // vmovss dword [r8 + 4*rdx + 4], xmm1
LONG $0x4c58fac5; WORD $0x0891 // vaddss xmm1, xmm0, dword [rcx + 4*rdx + 8]
LONG $0x117ac1c4; WORD $0x904c; BYTE $0x08 // vmovss dword [r8 + 4*rdx + 8], xmm1
LONG $0x4c58fac5; WORD $0x0c91 // vaddss xmm1, xmm0, dword [rcx + 4*rdx + 12]
LONG $0x117ac1c4; WORD $0x904c; BYTE $0x0c // vmovss dword [r8 + 4*rdx + 12], xmm1
LONG $0x04c28348 // add rdx, 4
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JNE LBB2_1012
JMP LBB2_1109
LBB2_223:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1109
WORD $0x8b4c; BYTE $0x1a // mov r11, qword [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB2_225
LONG $0xd1148d4a // lea rdx, [rcx + 8*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_581
LONG $0xd0148d4b // lea rdx, [r8 + 8*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_581
LBB2_225:
WORD $0xf631 // xor esi, esi
LBB2_1017:
WORD $0x8948; BYTE $0xf2 // mov rdx, rsi
WORD $0xf748; BYTE $0xd2 // not rdx
WORD $0x014c; BYTE $0xd2 // add rdx, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB2_1019
LBB2_1018:
WORD $0x894c; BYTE $0xd8 // mov rax, r11
LONG $0xf1042b48 // sub rax, qword [rcx + 8*rsi]
LONG $0xf0048949 // mov qword [r8 + 8*rsi], rax
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB2_1018
LBB2_1019:
LONG $0x03fa8348 // cmp rdx, 3
JB LBB2_1109
LBB2_1020:
WORD $0x894c; BYTE $0xd8 // mov rax, r11
LONG $0xf1042b48 // sub rax, qword [rcx + 8*rsi]
LONG $0xf0048949 // mov qword [r8 + 8*rsi], rax
WORD $0x894c; BYTE $0xd8 // mov rax, r11
LONG $0xf1442b48; BYTE $0x08 // sub rax, qword [rcx + 8*rsi + 8]
LONG $0xf0448949; BYTE $0x08 // mov qword [r8 + 8*rsi + 8], rax
WORD $0x894c; BYTE $0xd8 // mov rax, r11
LONG $0xf1442b48; BYTE $0x10 // sub rax, qword [rcx + 8*rsi + 16]
LONG $0xf0448949; BYTE $0x10 // mov qword [r8 + 8*rsi + 16], rax
WORD $0x894c; BYTE $0xd8 // mov rax, r11
LONG $0xf1442b48; BYTE $0x18 // sub rax, qword [rcx + 8*rsi + 24]
LONG $0xf0448949; BYTE $0x18 // mov qword [r8 + 8*rsi + 24], rax
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB2_1020
JMP LBB2_1109
LBB2_226:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1109
LONG $0x0210fac5 // vmovss xmm0, dword [rdx]
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB2_228
LONG $0x81148d48 // lea rdx, [rcx + 4*rax]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_584
LONG $0x80148d49 // lea rdx, [r8 + 4*rax]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_584
LBB2_228:
WORD $0xd231 // xor edx, edx
LBB2_1025:
WORD $0x8948; BYTE $0xd6 // mov rsi, rdx
WORD $0xf748; BYTE $0xd6 // not rsi
WORD $0x0148; BYTE $0xc6 // add rsi, rax
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x03e78348 // and rdi, 3
JE LBB2_1027
LBB2_1026:
LONG $0x0c5cfac5; BYTE $0x91 // vsubss xmm1, xmm0, dword [rcx + 4*rdx]
LONG $0x117ac1c4; WORD $0x900c // vmovss dword [r8 + 4*rdx], xmm1
LONG $0x01c28348 // add rdx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB2_1026
LBB2_1027:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB2_1109
LBB2_1028:
LONG $0x0c5cfac5; BYTE $0x91 // vsubss xmm1, xmm0, dword [rcx + 4*rdx]
LONG $0x117ac1c4; WORD $0x900c // vmovss dword [r8 + 4*rdx], xmm1
LONG $0x4c5cfac5; WORD $0x0491 // vsubss xmm1, xmm0, dword [rcx + 4*rdx + 4]
LONG $0x117ac1c4; WORD $0x904c; BYTE $0x04 // vmovss dword [r8 + 4*rdx + 4], xmm1
LONG $0x4c5cfac5; WORD $0x0891 // vsubss xmm1, xmm0, dword [rcx + 4*rdx + 8]
LONG $0x117ac1c4; WORD $0x904c; BYTE $0x08 // vmovss dword [r8 + 4*rdx + 8], xmm1
LONG $0x4c5cfac5; WORD $0x0c91 // vsubss xmm1, xmm0, dword [rcx + 4*rdx + 12]
LONG $0x117ac1c4; WORD $0x904c; BYTE $0x0c // vmovss dword [r8 + 4*rdx + 12], xmm1
LONG $0x04c28348 // add rdx, 4
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JNE LBB2_1028
JMP LBB2_1109
LBB2_229:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1109
WORD $0x128a // mov dl, byte [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB2_231
LONG $0x11048d4a // lea rax, [rcx + r10]
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
JBE LBB2_587
LONG $0x10048d4b // lea rax, [r8 + r10]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB2_587
LBB2_231:
WORD $0xff31 // xor edi, edi
LBB2_647:
WORD $0x8949; BYTE $0xf9 // mov r9, rdi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd6 // mov rsi, r10
LONG $0x03e68348 // and rsi, 3
JE LBB2_649
LBB2_648:
LONG $0x3904b60f // movzx eax, byte [rcx + rdi]
WORD $0xe2f6 // mul dl
LONG $0x38048841 // mov byte [r8 + rdi], al
LONG $0x01c78348 // add rdi, 1
LONG $0xffc68348 // add rsi, -1
JNE LBB2_648
LBB2_649:
LONG $0x03f98349 // cmp r9, 3
JB LBB2_1109
LBB2_650:
LONG $0x3904b60f // movzx eax, byte [rcx + rdi]
WORD $0xe2f6 // mul dl
LONG $0x38048841 // mov byte [r8 + rdi], al
LONG $0x3944b60f; BYTE $0x01 // movzx eax, byte [rcx + rdi + 1]
WORD $0xe2f6 // mul dl
LONG $0x38448841; BYTE $0x01 // mov byte [r8 + rdi + 1], al
LONG $0x3944b60f; BYTE $0x02 // movzx eax, byte [rcx + rdi + 2]
WORD $0xe2f6 // mul dl
LONG $0x38448841; BYTE $0x02 // mov byte [r8 + rdi + 2], al
LONG $0x3944b60f; BYTE $0x03 // movzx eax, byte [rcx + rdi + 3]
WORD $0xe2f6 // mul dl
LONG $0x38448841; BYTE $0x03 // mov byte [r8 + rdi + 3], al
LONG $0x04c78348 // add rdi, 4
WORD $0x3949; BYTE $0xfa // cmp r10, rdi
JNE LBB2_650
JMP LBB2_1109
LBB2_232:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1109
WORD $0x128a // mov dl, byte [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB2_234
LONG $0x11048d4a // lea rax, [rcx + r10]
WORD $0x394c; BYTE $0xc0 // cmp rax, r8
JBE LBB2_589
LONG $0x10048d4b // lea rax, [r8 + r10]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB2_589
LBB2_234:
WORD $0xff31 // xor edi, edi
LBB2_657:
WORD $0x8949; BYTE $0xf9 // mov r9, rdi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd6 // mov rsi, r10
LONG $0x03e68348 // and rsi, 3
JE LBB2_659
LBB2_658:
LONG $0x3904b60f // movzx eax, byte [rcx + rdi]
WORD $0xe2f6 // mul dl
LONG $0x38048841 // mov byte [r8 + rdi], al
LONG $0x01c78348 // add rdi, 1
LONG $0xffc68348 // add rsi, -1
JNE LBB2_658
LBB2_659:
LONG $0x03f98349 // cmp r9, 3
JB LBB2_1109
LBB2_660:
LONG $0x3904b60f // movzx eax, byte [rcx + rdi]
WORD $0xe2f6 // mul dl
LONG $0x38048841 // mov byte [r8 + rdi], al
LONG $0x3944b60f; BYTE $0x01 // movzx eax, byte [rcx + rdi + 1]
WORD $0xe2f6 // mul dl
LONG $0x38448841; BYTE $0x01 // mov byte [r8 + rdi + 1], al
LONG $0x3944b60f; BYTE $0x02 // movzx eax, byte [rcx + rdi + 2]
WORD $0xe2f6 // mul dl
LONG $0x38448841; BYTE $0x02 // mov byte [r8 + rdi + 2], al
LONG $0x3944b60f; BYTE $0x03 // movzx eax, byte [rcx + rdi + 3]
WORD $0xe2f6 // mul dl
LONG $0x38448841; BYTE $0x03 // mov byte [r8 + rdi + 3], al
LONG $0x04c78348 // add rdi, 4
WORD $0x3949; BYTE $0xfa // cmp r10, rdi
JNE LBB2_660
JMP LBB2_1109
LBB2_235:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1109
WORD $0x028a // mov al, byte [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x80f98141; WORD $0x0000; BYTE $0x00 // cmp r9d, 128
JB LBB2_237
LONG $0x11148d4a // lea rdx, [rcx + r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_591
LONG $0x10148d4b // lea rdx, [r8 + r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_591
LBB2_237:
WORD $0xf631 // xor esi, esi
LBB2_1033:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB2_1035
LBB2_1034:
LONG $0x3114b60f // movzx edx, byte [rcx + rsi]
WORD $0xc200 // add dl, al
LONG $0x30148841 // mov byte [r8 + rsi], dl
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB2_1034
LBB2_1035:
LONG $0x03f98349 // cmp r9, 3
JB LBB2_1109
LBB2_1036:
LONG $0x3114b60f // movzx edx, byte [rcx + rsi]
WORD $0xc200 // add dl, al
LONG $0x30148841 // mov byte [r8 + rsi], dl
LONG $0x3154b60f; BYTE $0x01 // movzx edx, byte [rcx + rsi + 1]
WORD $0xc200 // add dl, al
LONG $0x30548841; BYTE $0x01 // mov byte [r8 + rsi + 1], dl
LONG $0x3154b60f; BYTE $0x02 // movzx edx, byte [rcx + rsi + 2]
WORD $0xc200 // add dl, al
LONG $0x30548841; BYTE $0x02 // mov byte [r8 + rsi + 2], dl
LONG $0x3154b60f; BYTE $0x03 // movzx edx, byte [rcx + rsi + 3]
WORD $0xc200 // add dl, al
LONG $0x30548841; BYTE $0x03 // mov byte [r8 + rsi + 3], dl
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB2_1036
JMP LBB2_1109
LBB2_238:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1109
WORD $0x028a // mov al, byte [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x80f98141; WORD $0x0000; BYTE $0x00 // cmp r9d, 128
JB LBB2_240
LONG $0x11148d4a // lea rdx, [rcx + r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_594
LONG $0x10148d4b // lea rdx, [r8 + r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_594
LBB2_240:
WORD $0xf631 // xor esi, esi
LBB2_1041:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB2_1043
LBB2_1042:
WORD $0xc289 // mov edx, eax
WORD $0x142a; BYTE $0x31 // sub dl, byte [rcx + rsi]
LONG $0x30148841 // mov byte [r8 + rsi], dl
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB2_1042
LBB2_1043:
LONG $0x03f98349 // cmp r9, 3
JB LBB2_1109
LBB2_1044:
WORD $0xc289 // mov edx, eax
WORD $0x142a; BYTE $0x31 // sub dl, byte [rcx + rsi]
LONG $0x30148841 // mov byte [r8 + rsi], dl
WORD $0xc289 // mov edx, eax
LONG $0x0131542a // sub dl, byte [rcx + rsi + 1]
LONG $0x30548841; BYTE $0x01 // mov byte [r8 + rsi + 1], dl
WORD $0xc289 // mov edx, eax
LONG $0x0231542a // sub dl, byte [rcx + rsi + 2]
LONG $0x30548841; BYTE $0x02 // mov byte [r8 + rsi + 2], dl
WORD $0xc289 // mov edx, eax
LONG $0x0331542a // sub dl, byte [rcx + rsi + 3]
LONG $0x30548841; BYTE $0x03 // mov byte [r8 + rsi + 3], dl
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB2_1044
JMP LBB2_1109
LBB2_241:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1109
WORD $0x028a // mov al, byte [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x80f98141; WORD $0x0000; BYTE $0x00 // cmp r9d, 128
JB LBB2_243
LONG $0x11148d4a // lea rdx, [rcx + r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_597
LONG $0x10148d4b // lea rdx, [r8 + r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_597
LBB2_243:
WORD $0xf631 // xor esi, esi
LBB2_1049:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB2_1051
LBB2_1050:
LONG $0x3114b60f // movzx edx, byte [rcx + rsi]
WORD $0xc200 // add dl, al
LONG $0x30148841 // mov byte [r8 + rsi], dl
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB2_1050
LBB2_1051:
LONG $0x03f98349 // cmp r9, 3
JB LBB2_1109
LBB2_1052:
LONG $0x3114b60f // movzx edx, byte [rcx + rsi]
WORD $0xc200 // add dl, al
LONG $0x30148841 // mov byte [r8 + rsi], dl
LONG $0x3154b60f; BYTE $0x01 // movzx edx, byte [rcx + rsi + 1]
WORD $0xc200 // add dl, al
LONG $0x30548841; BYTE $0x01 // mov byte [r8 + rsi + 1], dl
LONG $0x3154b60f; BYTE $0x02 // movzx edx, byte [rcx + rsi + 2]
WORD $0xc200 // add dl, al
LONG $0x30548841; BYTE $0x02 // mov byte [r8 + rsi + 2], dl
LONG $0x3154b60f; BYTE $0x03 // movzx edx, byte [rcx + rsi + 3]
WORD $0xc200 // add dl, al
LONG $0x30548841; BYTE $0x03 // mov byte [r8 + rsi + 3], dl
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB2_1052
JMP LBB2_1109
LBB2_244:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1109
WORD $0x028a // mov al, byte [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x80f98141; WORD $0x0000; BYTE $0x00 // cmp r9d, 128
JB LBB2_246
LONG $0x11148d4a // lea rdx, [rcx + r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_600
LONG $0x10148d4b // lea rdx, [r8 + r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_600
LBB2_246:
WORD $0xf631 // xor esi, esi
LBB2_1057:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB2_1059
LBB2_1058:
WORD $0xc289 // mov edx, eax
WORD $0x142a; BYTE $0x31 // sub dl, byte [rcx + rsi]
LONG $0x30148841 // mov byte [r8 + rsi], dl
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB2_1058
LBB2_1059:
LONG $0x03f98349 // cmp r9, 3
JB LBB2_1109
LBB2_1060:
WORD $0xc289 // mov edx, eax
WORD $0x142a; BYTE $0x31 // sub dl, byte [rcx + rsi]
LONG $0x30148841 // mov byte [r8 + rsi], dl
WORD $0xc289 // mov edx, eax
LONG $0x0131542a // sub dl, byte [rcx + rsi + 1]
LONG $0x30548841; BYTE $0x01 // mov byte [r8 + rsi + 1], dl
WORD $0xc289 // mov edx, eax
LONG $0x0231542a // sub dl, byte [rcx + rsi + 2]
LONG $0x30548841; BYTE $0x02 // mov byte [r8 + rsi + 2], dl
WORD $0xc289 // mov edx, eax
LONG $0x0331542a // sub dl, byte [rcx + rsi + 3]
LONG $0x30548841; BYTE $0x03 // mov byte [r8 + rsi + 3], dl
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB2_1060
JMP LBB2_1109
LBB2_247:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1109
WORD $0x028b // mov eax, dword [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB2_249
LONG $0x91148d4a // lea rdx, [rcx + 4*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_603
LONG $0x90148d4b // lea rdx, [r8 + 4*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_603
LBB2_249:
WORD $0xf631 // xor esi, esi
LBB2_1065:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB2_1067
LBB2_1066:
WORD $0x148b; BYTE $0xb1 // mov edx, dword [rcx + 4*rsi]
WORD $0xaf0f; BYTE $0xd0 // imul edx, eax
LONG $0xb0148941 // mov dword [r8 + 4*rsi], edx
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB2_1066
LBB2_1067:
LONG $0x03f98349 // cmp r9, 3
JB LBB2_1109
LBB2_1068:
WORD $0x148b; BYTE $0xb1 // mov edx, dword [rcx + 4*rsi]
WORD $0xaf0f; BYTE $0xd0 // imul edx, eax
LONG $0xb0148941 // mov dword [r8 + 4*rsi], edx
LONG $0x04b1548b // mov edx, dword [rcx + 4*rsi + 4]
WORD $0xaf0f; BYTE $0xd0 // imul edx, eax
LONG $0xb0548941; BYTE $0x04 // mov dword [r8 + 4*rsi + 4], edx
LONG $0x08b1548b // mov edx, dword [rcx + 4*rsi + 8]
WORD $0xaf0f; BYTE $0xd0 // imul edx, eax
LONG $0xb0548941; BYTE $0x08 // mov dword [r8 + 4*rsi + 8], edx
LONG $0x0cb1548b // mov edx, dword [rcx + 4*rsi + 12]
WORD $0xaf0f; BYTE $0xd0 // imul edx, eax
LONG $0xb0548941; BYTE $0x0c // mov dword [r8 + 4*rsi + 12], edx
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB2_1068
JMP LBB2_1109
LBB2_250:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1109
WORD $0x028b // mov eax, dword [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB2_252
LONG $0x91148d4a // lea rdx, [rcx + 4*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_606
LONG $0x90148d4b // lea rdx, [r8 + 4*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_606
LBB2_252:
WORD $0xf631 // xor esi, esi
LBB2_1073:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB2_1075
LBB2_1074:
WORD $0x148b; BYTE $0xb1 // mov edx, dword [rcx + 4*rsi]
WORD $0xaf0f; BYTE $0xd0 // imul edx, eax
LONG $0xb0148941 // mov dword [r8 + 4*rsi], edx
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB2_1074
LBB2_1075:
LONG $0x03f98349 // cmp r9, 3
JB LBB2_1109
LBB2_1076:
WORD $0x148b; BYTE $0xb1 // mov edx, dword [rcx + 4*rsi]
WORD $0xaf0f; BYTE $0xd0 // imul edx, eax
LONG $0xb0148941 // mov dword [r8 + 4*rsi], edx
LONG $0x04b1548b // mov edx, dword [rcx + 4*rsi + 4]
WORD $0xaf0f; BYTE $0xd0 // imul edx, eax
LONG $0xb0548941; BYTE $0x04 // mov dword [r8 + 4*rsi + 4], edx
LONG $0x08b1548b // mov edx, dword [rcx + 4*rsi + 8]
WORD $0xaf0f; BYTE $0xd0 // imul edx, eax
LONG $0xb0548941; BYTE $0x08 // mov dword [r8 + 4*rsi + 8], edx
LONG $0x0cb1548b // mov edx, dword [rcx + 4*rsi + 12]
WORD $0xaf0f; BYTE $0xd0 // imul edx, eax
LONG $0xb0548941; BYTE $0x0c // mov dword [r8 + 4*rsi + 12], edx
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB2_1076
JMP LBB2_1109
LBB2_253:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1109
WORD $0x028b // mov eax, dword [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB2_255
LONG $0x91148d4a // lea rdx, [rcx + 4*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_609
LONG $0x90148d4b // lea rdx, [r8 + 4*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_609
LBB2_255:
WORD $0xf631 // xor esi, esi
LBB2_1081:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB2_1083
LBB2_1082:
WORD $0x148b; BYTE $0xb1 // mov edx, dword [rcx + 4*rsi]
WORD $0xc201 // add edx, eax
LONG $0xb0148941 // mov dword [r8 + 4*rsi], edx
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB2_1082
LBB2_1083:
LONG $0x03f98349 // cmp r9, 3
JB LBB2_1109
LBB2_1084:
WORD $0x148b; BYTE $0xb1 // mov edx, dword [rcx + 4*rsi]
WORD $0xc201 // add edx, eax
LONG $0xb0148941 // mov dword [r8 + 4*rsi], edx
LONG $0x04b1548b // mov edx, dword [rcx + 4*rsi + 4]
WORD $0xc201 // add edx, eax
LONG $0xb0548941; BYTE $0x04 // mov dword [r8 + 4*rsi + 4], edx
LONG $0x08b1548b // mov edx, dword [rcx + 4*rsi + 8]
WORD $0xc201 // add edx, eax
LONG $0xb0548941; BYTE $0x08 // mov dword [r8 + 4*rsi + 8], edx
LONG $0x0cb1548b // mov edx, dword [rcx + 4*rsi + 12]
WORD $0xc201 // add edx, eax
LONG $0xb0548941; BYTE $0x0c // mov dword [r8 + 4*rsi + 12], edx
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB2_1084
JMP LBB2_1109
LBB2_256:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1109
WORD $0x8b44; BYTE $0x1a // mov r11d, dword [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB2_258
LONG $0x91148d4a // lea rdx, [rcx + 4*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_612
LONG $0x90148d4b // lea rdx, [r8 + 4*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_612
LBB2_258:
WORD $0xf631 // xor esi, esi
LBB2_1089:
WORD $0x8948; BYTE $0xf2 // mov rdx, rsi
WORD $0xf748; BYTE $0xd2 // not rdx
WORD $0x014c; BYTE $0xd2 // add rdx, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB2_1091
LBB2_1090:
WORD $0x8944; BYTE $0xd8 // mov eax, r11d
WORD $0x042b; BYTE $0xb1 // sub eax, dword [rcx + 4*rsi]
LONG $0xb0048941 // mov dword [r8 + 4*rsi], eax
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB2_1090
LBB2_1091:
LONG $0x03fa8348 // cmp rdx, 3
JB LBB2_1109
LBB2_1092:
WORD $0x8944; BYTE $0xd8 // mov eax, r11d
WORD $0x042b; BYTE $0xb1 // sub eax, dword [rcx + 4*rsi]
LONG $0xb0048941 // mov dword [r8 + 4*rsi], eax
WORD $0x8944; BYTE $0xd8 // mov eax, r11d
LONG $0x04b1442b // sub eax, dword [rcx + 4*rsi + 4]
LONG $0xb0448941; BYTE $0x04 // mov dword [r8 + 4*rsi + 4], eax
WORD $0x8944; BYTE $0xd8 // mov eax, r11d
LONG $0x08b1442b // sub eax, dword [rcx + 4*rsi + 8]
LONG $0xb0448941; BYTE $0x08 // mov dword [r8 + 4*rsi + 8], eax
WORD $0x8944; BYTE $0xd8 // mov eax, r11d
LONG $0x0cb1442b // sub eax, dword [rcx + 4*rsi + 12]
LONG $0xb0448941; BYTE $0x0c // mov dword [r8 + 4*rsi + 12], eax
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB2_1092
JMP LBB2_1109
LBB2_259:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1109
WORD $0x028b // mov eax, dword [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB2_261
LONG $0x91148d4a // lea rdx, [rcx + 4*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_615
LONG $0x90148d4b // lea rdx, [r8 + 4*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_615
LBB2_261:
WORD $0xf631 // xor esi, esi
LBB2_1097:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x014d; BYTE $0xd1 // add r9, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB2_1099
LBB2_1098:
WORD $0x148b; BYTE $0xb1 // mov edx, dword [rcx + 4*rsi]
WORD $0xc201 // add edx, eax
LONG $0xb0148941 // mov dword [r8 + 4*rsi], edx
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB2_1098
LBB2_1099:
LONG $0x03f98349 // cmp r9, 3
JB LBB2_1109
LBB2_1100:
WORD $0x148b; BYTE $0xb1 // mov edx, dword [rcx + 4*rsi]
WORD $0xc201 // add edx, eax
LONG $0xb0148941 // mov dword [r8 + 4*rsi], edx
LONG $0x04b1548b // mov edx, dword [rcx + 4*rsi + 4]
WORD $0xc201 // add edx, eax
LONG $0xb0548941; BYTE $0x04 // mov dword [r8 + 4*rsi + 4], edx
LONG $0x08b1548b // mov edx, dword [rcx + 4*rsi + 8]
WORD $0xc201 // add edx, eax
LONG $0xb0548941; BYTE $0x08 // mov dword [r8 + 4*rsi + 8], edx
LONG $0x0cb1548b // mov edx, dword [rcx + 4*rsi + 12]
WORD $0xc201 // add edx, eax
LONG $0xb0548941; BYTE $0x0c // mov dword [r8 + 4*rsi + 12], edx
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB2_1100
JMP LBB2_1109
LBB2_262:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1109
WORD $0x8b44; BYTE $0x1a // mov r11d, dword [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB2_264
LONG $0x91148d4a // lea rdx, [rcx + 4*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_618
LONG $0x90148d4b // lea rdx, [r8 + 4*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_618
LBB2_264:
WORD $0xf631 // xor esi, esi
LBB2_1105:
WORD $0x8948; BYTE $0xf2 // mov rdx, rsi
WORD $0xf748; BYTE $0xd2 // not rdx
WORD $0x014c; BYTE $0xd2 // add rdx, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB2_1107
LBB2_1106:
WORD $0x8944; BYTE $0xd8 // mov eax, r11d
WORD $0x042b; BYTE $0xb1 // sub eax, dword [rcx + 4*rsi]
LONG $0xb0048941 // mov dword [r8 + 4*rsi], eax
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB2_1106
LBB2_1107:
LONG $0x03fa8348 // cmp rdx, 3
JB LBB2_1109
LBB2_1108:
WORD $0x8944; BYTE $0xd8 // mov eax, r11d
WORD $0x042b; BYTE $0xb1 // sub eax, dword [rcx + 4*rsi]
LONG $0xb0048941 // mov dword [r8 + 4*rsi], eax
WORD $0x8944; BYTE $0xd8 // mov eax, r11d
LONG $0x04b1442b // sub eax, dword [rcx + 4*rsi + 4]
LONG $0xb0448941; BYTE $0x04 // mov dword [r8 + 4*rsi + 4], eax
WORD $0x8944; BYTE $0xd8 // mov eax, r11d
LONG $0x08b1442b // sub eax, dword [rcx + 4*rsi + 8]
LONG $0xb0448941; BYTE $0x08 // mov dword [r8 + 4*rsi + 8], eax
WORD $0x8944; BYTE $0xd8 // mov eax, r11d
LONG $0x0cb1442b // sub eax, dword [rcx + 4*rsi + 12]
LONG $0xb0448941; BYTE $0x0c // mov dword [r8 + 4*rsi + 12], eax
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB2_1108
JMP LBB2_1109
LBB2_445:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0xc06ef9c5 // vmovd xmm0, eax
LONG $0x587de2c4; BYTE $0xc0 // vpbroadcastd ymm0, xmm0
LONG $0xe0568d48 // lea rdx, [rsi - 32]
WORD $0x8949; BYTE $0xd1 // mov r9, rdx
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xd2 // test rdx, rdx
JE LBB2_661
WORD $0x894c; BYTE $0xca // mov rdx, r9
LONG $0xfee28348 // and rdx, -2
WORD $0xf748; BYTE $0xda // neg rdx
WORD $0xff31 // xor edi, edi
LBB2_447:
LONG $0x407de2c4; WORD $0xb90c // vpmulld ymm1, ymm0, yword [rcx + 4*rdi]
LONG $0x407de2c4; WORD $0xb954; BYTE $0x20 // vpmulld ymm2, ymm0, yword [rcx + 4*rdi + 32]
LONG $0x407de2c4; WORD $0xb95c; BYTE $0x40 // vpmulld ymm3, ymm0, yword [rcx + 4*rdi + 64]
LONG $0x407de2c4; WORD $0xb964; BYTE $0x60 // vpmulld ymm4, ymm0, yword [rcx + 4*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xb80c // vmovdqu yword [r8 + 4*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xb854; BYTE $0x20 // vmovdqu yword [r8 + 4*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xb85c; BYTE $0x40 // vmovdqu yword [r8 + 4*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xb864; BYTE $0x60 // vmovdqu yword [r8 + 4*rdi + 96], ymm4
QUAD $0x0080b98c407de2c4; WORD $0x0000 // vpmulld ymm1, ymm0, yword [rcx + 4*rdi + 128]
QUAD $0x00a0b994407de2c4; WORD $0x0000 // vpmulld ymm2, ymm0, yword [rcx + 4*rdi + 160]
QUAD $0x00c0b99c407de2c4; WORD $0x0000 // vpmulld ymm3, ymm0, yword [rcx + 4*rdi + 192]
QUAD $0x00e0b9a4407de2c4; WORD $0x0000 // vpmulld ymm4, ymm0, yword [rcx + 4*rdi + 224]
QUAD $0x0080b88c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 128], ymm1
QUAD $0x00a0b8947f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 160], ymm2
QUAD $0x00c0b89c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 192], ymm3
QUAD $0x00e0b8a47f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 224], ymm4
LONG $0x40c78348 // add rdi, 64
LONG $0x02c28348 // add rdx, 2
JNE LBB2_447
JMP LBB2_662
LBB2_448:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0xc06ef9c5 // vmovd xmm0, eax
LONG $0x587de2c4; BYTE $0xc0 // vpbroadcastd ymm0, xmm0
LONG $0xe0568d48 // lea rdx, [rsi - 32]
WORD $0x8949; BYTE $0xd1 // mov r9, rdx
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xd2 // test rdx, rdx
JE LBB2_669
WORD $0x894c; BYTE $0xca // mov rdx, r9
LONG $0xfee28348 // and rdx, -2
WORD $0xf748; BYTE $0xda // neg rdx
WORD $0xff31 // xor edi, edi
LBB2_450:
LONG $0x407de2c4; WORD $0xb90c // vpmulld ymm1, ymm0, yword [rcx + 4*rdi]
LONG $0x407de2c4; WORD $0xb954; BYTE $0x20 // vpmulld ymm2, ymm0, yword [rcx + 4*rdi + 32]
LONG $0x407de2c4; WORD $0xb95c; BYTE $0x40 // vpmulld ymm3, ymm0, yword [rcx + 4*rdi + 64]
LONG $0x407de2c4; WORD $0xb964; BYTE $0x60 // vpmulld ymm4, ymm0, yword [rcx + 4*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xb80c // vmovdqu yword [r8 + 4*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xb854; BYTE $0x20 // vmovdqu yword [r8 + 4*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xb85c; BYTE $0x40 // vmovdqu yword [r8 + 4*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xb864; BYTE $0x60 // vmovdqu yword [r8 + 4*rdi + 96], ymm4
QUAD $0x0080b98c407de2c4; WORD $0x0000 // vpmulld ymm1, ymm0, yword [rcx + 4*rdi + 128]
QUAD $0x00a0b994407de2c4; WORD $0x0000 // vpmulld ymm2, ymm0, yword [rcx + 4*rdi + 160]
QUAD $0x00c0b99c407de2c4; WORD $0x0000 // vpmulld ymm3, ymm0, yword [rcx + 4*rdi + 192]
QUAD $0x00e0b9a4407de2c4; WORD $0x0000 // vpmulld ymm4, ymm0, yword [rcx + 4*rdi + 224]
QUAD $0x0080b88c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 128], ymm1
QUAD $0x00a0b8947f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 160], ymm2
QUAD $0x00c0b89c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 192], ymm3
QUAD $0x00e0b8a47f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 224], ymm4
LONG $0x40c78348 // add rdi, 64
LONG $0x02c28348 // add rdx, 2
JNE LBB2_450
JMP LBB2_670
LBB2_451:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0xc06ef9c5 // vmovd xmm0, eax
LONG $0x587de2c4; BYTE $0xc0 // vpbroadcastd ymm0, xmm0
LONG $0xe0568d48 // lea rdx, [rsi - 32]
WORD $0x8949; BYTE $0xd1 // mov r9, rdx
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xd2 // test rdx, rdx
JE LBB2_677
WORD $0x894c; BYTE $0xca // mov rdx, r9
LONG $0xfee28348 // and rdx, -2
WORD $0xf748; BYTE $0xda // neg rdx
WORD $0xff31 // xor edi, edi
LBB2_453:
LONG $0x0cfefdc5; BYTE $0xb9 // vpaddd ymm1, ymm0, yword [rcx + 4*rdi]
LONG $0x54fefdc5; WORD $0x20b9 // vpaddd ymm2, ymm0, yword [rcx + 4*rdi + 32]
LONG $0x5cfefdc5; WORD $0x40b9 // vpaddd ymm3, ymm0, yword [rcx + 4*rdi + 64]
LONG $0x64fefdc5; WORD $0x60b9 // vpaddd ymm4, ymm0, yword [rcx + 4*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xb80c // vmovdqu yword [r8 + 4*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xb854; BYTE $0x20 // vmovdqu yword [r8 + 4*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xb85c; BYTE $0x40 // vmovdqu yword [r8 + 4*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xb864; BYTE $0x60 // vmovdqu yword [r8 + 4*rdi + 96], ymm4
QUAD $0x000080b98cfefdc5; BYTE $0x00 // vpaddd ymm1, ymm0, yword [rcx + 4*rdi + 128]
QUAD $0x0000a0b994fefdc5; BYTE $0x00 // vpaddd ymm2, ymm0, yword [rcx + 4*rdi + 160]
QUAD $0x0000c0b99cfefdc5; BYTE $0x00 // vpaddd ymm3, ymm0, yword [rcx + 4*rdi + 192]
QUAD $0x0000e0b9a4fefdc5; BYTE $0x00 // vpaddd ymm4, ymm0, yword [rcx + 4*rdi + 224]
QUAD $0x0080b88c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 128], ymm1
QUAD $0x00a0b8947f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 160], ymm2
QUAD $0x00c0b89c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 192], ymm3
QUAD $0x00e0b8a47f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 224], ymm4
LONG $0x40c78348 // add rdi, 64
LONG $0x02c28348 // add rdx, 2
JNE LBB2_453
JMP LBB2_678
LBB2_454:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0x6e79c1c4; BYTE $0xc3 // vmovd xmm0, r11d
LONG $0x587de2c4; BYTE $0xc0 // vpbroadcastd ymm0, xmm0
LONG $0xe0568d48 // lea rdx, [rsi - 32]
WORD $0x8949; BYTE $0xd1 // mov r9, rdx
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xd2 // test rdx, rdx
JE LBB2_685
WORD $0x894c; BYTE $0xca // mov rdx, r9
LONG $0xfee28348 // and rdx, -2
WORD $0xf748; BYTE $0xda // neg rdx
WORD $0xff31 // xor edi, edi
LBB2_456:
LONG $0x0cfafdc5; BYTE $0xb9 // vpsubd ymm1, ymm0, yword [rcx + 4*rdi]
LONG $0x54fafdc5; WORD $0x20b9 // vpsubd ymm2, ymm0, yword [rcx + 4*rdi + 32]
LONG $0x5cfafdc5; WORD $0x40b9 // vpsubd ymm3, ymm0, yword [rcx + 4*rdi + 64]
LONG $0x64fafdc5; WORD $0x60b9 // vpsubd ymm4, ymm0, yword [rcx + 4*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xb80c // vmovdqu yword [r8 + 4*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xb854; BYTE $0x20 // vmovdqu yword [r8 + 4*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xb85c; BYTE $0x40 // vmovdqu yword [r8 + 4*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xb864; BYTE $0x60 // vmovdqu yword [r8 + 4*rdi + 96], ymm4
QUAD $0x000080b98cfafdc5; BYTE $0x00 // vpsubd ymm1, ymm0, yword [rcx + 4*rdi + 128]
QUAD $0x0000a0b994fafdc5; BYTE $0x00 // vpsubd ymm2, ymm0, yword [rcx + 4*rdi + 160]
QUAD $0x0000c0b99cfafdc5; BYTE $0x00 // vpsubd ymm3, ymm0, yword [rcx + 4*rdi + 192]
QUAD $0x0000e0b9a4fafdc5; BYTE $0x00 // vpsubd ymm4, ymm0, yword [rcx + 4*rdi + 224]
QUAD $0x0080b88c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 128], ymm1
QUAD $0x00a0b8947f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 160], ymm2
QUAD $0x00c0b89c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 192], ymm3
QUAD $0x00e0b8a47f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 224], ymm4
LONG $0x40c78348 // add rdi, 64
LONG $0x02c28348 // add rdx, 2
JNE LBB2_456
JMP LBB2_686
LBB2_457:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0xc06ef9c5 // vmovd xmm0, eax
LONG $0x587de2c4; BYTE $0xc0 // vpbroadcastd ymm0, xmm0
LONG $0xe0568d48 // lea rdx, [rsi - 32]
WORD $0x8949; BYTE $0xd1 // mov r9, rdx
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xd2 // test rdx, rdx
JE LBB2_693
WORD $0x894c; BYTE $0xca // mov rdx, r9
LONG $0xfee28348 // and rdx, -2
WORD $0xf748; BYTE $0xda // neg rdx
WORD $0xff31 // xor edi, edi
LBB2_459:
LONG $0x0cfefdc5; BYTE $0xb9 // vpaddd ymm1, ymm0, yword [rcx + 4*rdi]
LONG $0x54fefdc5; WORD $0x20b9 // vpaddd ymm2, ymm0, yword [rcx + 4*rdi + 32]
LONG $0x5cfefdc5; WORD $0x40b9 // vpaddd ymm3, ymm0, yword [rcx + 4*rdi + 64]
LONG $0x64fefdc5; WORD $0x60b9 // vpaddd ymm4, ymm0, yword [rcx + 4*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xb80c // vmovdqu yword [r8 + 4*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xb854; BYTE $0x20 // vmovdqu yword [r8 + 4*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xb85c; BYTE $0x40 // vmovdqu yword [r8 + 4*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xb864; BYTE $0x60 // vmovdqu yword [r8 + 4*rdi + 96], ymm4
QUAD $0x000080b98cfefdc5; BYTE $0x00 // vpaddd ymm1, ymm0, yword [rcx + 4*rdi + 128]
QUAD $0x0000a0b994fefdc5; BYTE $0x00 // vpaddd ymm2, ymm0, yword [rcx + 4*rdi + 160]
QUAD $0x0000c0b99cfefdc5; BYTE $0x00 // vpaddd ymm3, ymm0, yword [rcx + 4*rdi + 192]
QUAD $0x0000e0b9a4fefdc5; BYTE $0x00 // vpaddd ymm4, ymm0, yword [rcx + 4*rdi + 224]
QUAD $0x0080b88c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 128], ymm1
QUAD $0x00a0b8947f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 160], ymm2
QUAD $0x00c0b89c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 192], ymm3
QUAD $0x00e0b8a47f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 224], ymm4
LONG $0x40c78348 // add rdi, 64
LONG $0x02c28348 // add rdx, 2
JNE LBB2_459
JMP LBB2_694
LBB2_460:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0x6e79c1c4; BYTE $0xc3 // vmovd xmm0, r11d
LONG $0x587de2c4; BYTE $0xc0 // vpbroadcastd ymm0, xmm0
LONG $0xe0568d48 // lea rdx, [rsi - 32]
WORD $0x8949; BYTE $0xd1 // mov r9, rdx
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xd2 // test rdx, rdx
JE LBB2_701
WORD $0x894c; BYTE $0xca // mov rdx, r9
LONG $0xfee28348 // and rdx, -2
WORD $0xf748; BYTE $0xda // neg rdx
WORD $0xff31 // xor edi, edi
LBB2_462:
LONG $0x0cfafdc5; BYTE $0xb9 // vpsubd ymm1, ymm0, yword [rcx + 4*rdi]
LONG $0x54fafdc5; WORD $0x20b9 // vpsubd ymm2, ymm0, yword [rcx + 4*rdi + 32]
LONG $0x5cfafdc5; WORD $0x40b9 // vpsubd ymm3, ymm0, yword [rcx + 4*rdi + 64]
LONG $0x64fafdc5; WORD $0x60b9 // vpsubd ymm4, ymm0, yword [rcx + 4*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xb80c // vmovdqu yword [r8 + 4*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xb854; BYTE $0x20 // vmovdqu yword [r8 + 4*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xb85c; BYTE $0x40 // vmovdqu yword [r8 + 4*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xb864; BYTE $0x60 // vmovdqu yword [r8 + 4*rdi + 96], ymm4
QUAD $0x000080b98cfafdc5; BYTE $0x00 // vpsubd ymm1, ymm0, yword [rcx + 4*rdi + 128]
QUAD $0x0000a0b994fafdc5; BYTE $0x00 // vpsubd ymm2, ymm0, yword [rcx + 4*rdi + 160]
QUAD $0x0000c0b99cfafdc5; BYTE $0x00 // vpsubd ymm3, ymm0, yword [rcx + 4*rdi + 192]
QUAD $0x0000e0b9a4fafdc5; BYTE $0x00 // vpsubd ymm4, ymm0, yword [rcx + 4*rdi + 224]
QUAD $0x0080b88c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 128], ymm1
QUAD $0x00a0b8947f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 160], ymm2
QUAD $0x00c0b89c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 192], ymm3
QUAD $0x00e0b8a47f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 224], ymm4
LONG $0x40c78348 // add rdi, 64
LONG $0x02c28348 // add rdx, 2
JNE LBB2_462
JMP LBB2_702
LBB2_463:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xf0 // and edx, -16
LONG $0x197de2c4; BYTE $0xc8 // vbroadcastsd ymm1, xmm0
LONG $0xf0728d48 // lea rsi, [rdx - 16]
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
LONG $0x04e9c149 // shr r9, 4
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xf6 // test rsi, rsi
JE LBB2_709
WORD $0x894c; BYTE $0xce // mov rsi, r9
LONG $0xfee68348 // and rsi, -2
WORD $0xf748; BYTE $0xde // neg rsi
WORD $0xff31 // xor edi, edi
LBB2_465:
LONG $0x1459f5c5; BYTE $0xf9 // vmulpd ymm2, ymm1, yword [rcx + 8*rdi]
LONG $0x5c59f5c5; WORD $0x20f9 // vmulpd ymm3, ymm1, yword [rcx + 8*rdi + 32]
LONG $0x6459f5c5; WORD $0x40f9 // vmulpd ymm4, ymm1, yword [rcx + 8*rdi + 64]
LONG $0x6c59f5c5; WORD $0x60f9 // vmulpd ymm5, ymm1, yword [rcx + 8*rdi + 96]
LONG $0x117dc1c4; WORD $0xf814 // vmovupd yword [r8 + 8*rdi], ymm2
LONG $0x117dc1c4; WORD $0xf85c; BYTE $0x20 // vmovupd yword [r8 + 8*rdi + 32], ymm3
LONG $0x117dc1c4; WORD $0xf864; BYTE $0x40 // vmovupd yword [r8 + 8*rdi + 64], ymm4
LONG $0x117dc1c4; WORD $0xf86c; BYTE $0x60 // vmovupd yword [r8 + 8*rdi + 96], ymm5
QUAD $0x000080f99459f5c5; BYTE $0x00 // vmulpd ymm2, ymm1, yword [rcx + 8*rdi + 128]
QUAD $0x0000a0f99c59f5c5; BYTE $0x00 // vmulpd ymm3, ymm1, yword [rcx + 8*rdi + 160]
QUAD $0x0000c0f9a459f5c5; BYTE $0x00 // vmulpd ymm4, ymm1, yword [rcx + 8*rdi + 192]
QUAD $0x0000e0f9ac59f5c5; BYTE $0x00 // vmulpd ymm5, ymm1, yword [rcx + 8*rdi + 224]
QUAD $0x0080f894117dc1c4; WORD $0x0000 // vmovupd yword [r8 + 8*rdi + 128], ymm2
QUAD $0x00a0f89c117dc1c4; WORD $0x0000 // vmovupd yword [r8 + 8*rdi + 160], ymm3
QUAD $0x00c0f8a4117dc1c4; WORD $0x0000 // vmovupd yword [r8 + 8*rdi + 192], ymm4
QUAD $0x00e0f8ac117dc1c4; WORD $0x0000 // vmovupd yword [r8 + 8*rdi + 224], ymm5
LONG $0x20c78348 // add rdi, 32
LONG $0x02c68348 // add rsi, 2
JNE LBB2_465
JMP LBB2_710
LBB2_466:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xf0 // and edx, -16
LONG $0x197de2c4; BYTE $0xc8 // vbroadcastsd ymm1, xmm0
LONG $0xf0728d48 // lea rsi, [rdx - 16]
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
LONG $0x04e9c149 // shr r9, 4
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xf6 // test rsi, rsi
JE LBB2_717
WORD $0x894c; BYTE $0xce // mov rsi, r9
LONG $0xfee68348 // and rsi, -2
WORD $0xf748; BYTE $0xde // neg rsi
WORD $0xff31 // xor edi, edi
LBB2_468:
LONG $0x1459f5c5; BYTE $0xf9 // vmulpd ymm2, ymm1, yword [rcx + 8*rdi]
LONG $0x5c59f5c5; WORD $0x20f9 // vmulpd ymm3, ymm1, yword [rcx + 8*rdi + 32]
LONG $0x6459f5c5; WORD $0x40f9 // vmulpd ymm4, ymm1, yword [rcx + 8*rdi + 64]
LONG $0x6c59f5c5; WORD $0x60f9 // vmulpd ymm5, ymm1, yword [rcx + 8*rdi + 96]
LONG $0x117dc1c4; WORD $0xf814 // vmovupd yword [r8 + 8*rdi], ymm2
LONG $0x117dc1c4; WORD $0xf85c; BYTE $0x20 // vmovupd yword [r8 + 8*rdi + 32], ymm3
LONG $0x117dc1c4; WORD $0xf864; BYTE $0x40 // vmovupd yword [r8 + 8*rdi + 64], ymm4
LONG $0x117dc1c4; WORD $0xf86c; BYTE $0x60 // vmovupd yword [r8 + 8*rdi + 96], ymm5
QUAD $0x000080f99459f5c5; BYTE $0x00 // vmulpd ymm2, ymm1, yword [rcx + 8*rdi + 128]
QUAD $0x0000a0f99c59f5c5; BYTE $0x00 // vmulpd ymm3, ymm1, yword [rcx + 8*rdi + 160]
QUAD $0x0000c0f9a459f5c5; BYTE $0x00 // vmulpd ymm4, ymm1, yword [rcx + 8*rdi + 192]
QUAD $0x0000e0f9ac59f5c5; BYTE $0x00 // vmulpd ymm5, ymm1, yword [rcx + 8*rdi + 224]
QUAD $0x0080f894117dc1c4; WORD $0x0000 // vmovupd yword [r8 + 8*rdi + 128], ymm2
QUAD $0x00a0f89c117dc1c4; WORD $0x0000 // vmovupd yword [r8 + 8*rdi + 160], ymm3
QUAD $0x00c0f8a4117dc1c4; WORD $0x0000 // vmovupd yword [r8 + 8*rdi + 192], ymm4
QUAD $0x00e0f8ac117dc1c4; WORD $0x0000 // vmovupd yword [r8 + 8*rdi + 224], ymm5
LONG $0x20c78348 // add rdi, 32
LONG $0x02c68348 // add rsi, 2
JNE LBB2_468
JMP LBB2_718
LBB2_469:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xf0 // and edx, -16
LONG $0x197de2c4; BYTE $0xc8 // vbroadcastsd ymm1, xmm0
LONG $0xf0728d48 // lea rsi, [rdx - 16]
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
LONG $0x04e9c149 // shr r9, 4
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xf6 // test rsi, rsi
JE LBB2_725
WORD $0x894c; BYTE $0xce // mov rsi, r9
LONG $0xfee68348 // and rsi, -2
WORD $0xf748; BYTE $0xde // neg rsi
WORD $0xff31 // xor edi, edi
LBB2_471:
LONG $0x1458f5c5; BYTE $0xf9 // vaddpd ymm2, ymm1, yword [rcx + 8*rdi]
LONG $0x5c58f5c5; WORD $0x20f9 // vaddpd ymm3, ymm1, yword [rcx + 8*rdi + 32]
LONG $0x6458f5c5; WORD $0x40f9 // vaddpd ymm4, ymm1, yword [rcx + 8*rdi + 64]
LONG $0x6c58f5c5; WORD $0x60f9 // vaddpd ymm5, ymm1, yword [rcx + 8*rdi + 96]
LONG $0x117dc1c4; WORD $0xf814 // vmovupd yword [r8 + 8*rdi], ymm2
LONG $0x117dc1c4; WORD $0xf85c; BYTE $0x20 // vmovupd yword [r8 + 8*rdi + 32], ymm3
LONG $0x117dc1c4; WORD $0xf864; BYTE $0x40 // vmovupd yword [r8 + 8*rdi + 64], ymm4
LONG $0x117dc1c4; WORD $0xf86c; BYTE $0x60 // vmovupd yword [r8 + 8*rdi + 96], ymm5
QUAD $0x000080f99458f5c5; BYTE $0x00 // vaddpd ymm2, ymm1, yword [rcx + 8*rdi + 128]
QUAD $0x0000a0f99c58f5c5; BYTE $0x00 // vaddpd ymm3, ymm1, yword [rcx + 8*rdi + 160]
QUAD $0x0000c0f9a458f5c5; BYTE $0x00 // vaddpd ymm4, ymm1, yword [rcx + 8*rdi + 192]
QUAD $0x0000e0f9ac58f5c5; BYTE $0x00 // vaddpd ymm5, ymm1, yword [rcx + 8*rdi + 224]
QUAD $0x0080f894117dc1c4; WORD $0x0000 // vmovupd yword [r8 + 8*rdi + 128], ymm2
QUAD $0x00a0f89c117dc1c4; WORD $0x0000 // vmovupd yword [r8 + 8*rdi + 160], ymm3
QUAD $0x00c0f8a4117dc1c4; WORD $0x0000 // vmovupd yword [r8 + 8*rdi + 192], ymm4
QUAD $0x00e0f8ac117dc1c4; WORD $0x0000 // vmovupd yword [r8 + 8*rdi + 224], ymm5
LONG $0x20c78348 // add rdi, 32
LONG $0x02c68348 // add rsi, 2
JNE LBB2_471
JMP LBB2_726
LBB2_472:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xf0 // and edx, -16
LONG $0x197de2c4; BYTE $0xc8 // vbroadcastsd ymm1, xmm0
LONG $0xf0728d48 // lea rsi, [rdx - 16]
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
LONG $0x04e9c149 // shr r9, 4
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xf6 // test rsi, rsi
JE LBB2_733
WORD $0x894c; BYTE $0xce // mov rsi, r9
LONG $0xfee68348 // and rsi, -2
WORD $0xf748; BYTE $0xde // neg rsi
WORD $0xff31 // xor edi, edi
LBB2_474:
LONG $0x145cf5c5; BYTE $0xf9 // vsubpd ymm2, ymm1, yword [rcx + 8*rdi]
LONG $0x5c5cf5c5; WORD $0x20f9 // vsubpd ymm3, ymm1, yword [rcx + 8*rdi + 32]
LONG $0x645cf5c5; WORD $0x40f9 // vsubpd ymm4, ymm1, yword [rcx + 8*rdi + 64]
LONG $0x6c5cf5c5; WORD $0x60f9 // vsubpd ymm5, ymm1, yword [rcx + 8*rdi + 96]
LONG $0x117dc1c4; WORD $0xf814 // vmovupd yword [r8 + 8*rdi], ymm2
LONG $0x117dc1c4; WORD $0xf85c; BYTE $0x20 // vmovupd yword [r8 + 8*rdi + 32], ymm3
LONG $0x117dc1c4; WORD $0xf864; BYTE $0x40 // vmovupd yword [r8 + 8*rdi + 64], ymm4
LONG $0x117dc1c4; WORD $0xf86c; BYTE $0x60 // vmovupd yword [r8 + 8*rdi + 96], ymm5
QUAD $0x000080f9945cf5c5; BYTE $0x00 // vsubpd ymm2, ymm1, yword [rcx + 8*rdi + 128]
QUAD $0x0000a0f99c5cf5c5; BYTE $0x00 // vsubpd ymm3, ymm1, yword [rcx + 8*rdi + 160]
QUAD $0x0000c0f9a45cf5c5; BYTE $0x00 // vsubpd ymm4, ymm1, yword [rcx + 8*rdi + 192]
QUAD $0x0000e0f9ac5cf5c5; BYTE $0x00 // vsubpd ymm5, ymm1, yword [rcx + 8*rdi + 224]
QUAD $0x0080f894117dc1c4; WORD $0x0000 // vmovupd yword [r8 + 8*rdi + 128], ymm2
QUAD $0x00a0f89c117dc1c4; WORD $0x0000 // vmovupd yword [r8 + 8*rdi + 160], ymm3
QUAD $0x00c0f8a4117dc1c4; WORD $0x0000 // vmovupd yword [r8 + 8*rdi + 192], ymm4
QUAD $0x00e0f8ac117dc1c4; WORD $0x0000 // vmovupd yword [r8 + 8*rdi + 224], ymm5
LONG $0x20c78348 // add rdi, 32
LONG $0x02c68348 // add rsi, 2
JNE LBB2_474
JMP LBB2_734
LBB2_475:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xf0 // and edx, -16
LONG $0x197de2c4; BYTE $0xc8 // vbroadcastsd ymm1, xmm0
LONG $0xf0728d48 // lea rsi, [rdx - 16]
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
LONG $0x04e9c149 // shr r9, 4
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xf6 // test rsi, rsi
JE LBB2_741
WORD $0x894c; BYTE $0xce // mov rsi, r9
LONG $0xfee68348 // and rsi, -2
WORD $0xf748; BYTE $0xde // neg rsi
WORD $0xff31 // xor edi, edi
LBB2_477:
LONG $0x1458f5c5; BYTE $0xf9 // vaddpd ymm2, ymm1, yword [rcx + 8*rdi]
LONG $0x5c58f5c5; WORD $0x20f9 // vaddpd ymm3, ymm1, yword [rcx + 8*rdi + 32]
LONG $0x6458f5c5; WORD $0x40f9 // vaddpd ymm4, ymm1, yword [rcx + 8*rdi + 64]
LONG $0x6c58f5c5; WORD $0x60f9 // vaddpd ymm5, ymm1, yword [rcx + 8*rdi + 96]
LONG $0x117dc1c4; WORD $0xf814 // vmovupd yword [r8 + 8*rdi], ymm2
LONG $0x117dc1c4; WORD $0xf85c; BYTE $0x20 // vmovupd yword [r8 + 8*rdi + 32], ymm3
LONG $0x117dc1c4; WORD $0xf864; BYTE $0x40 // vmovupd yword [r8 + 8*rdi + 64], ymm4
LONG $0x117dc1c4; WORD $0xf86c; BYTE $0x60 // vmovupd yword [r8 + 8*rdi + 96], ymm5
QUAD $0x000080f99458f5c5; BYTE $0x00 // vaddpd ymm2, ymm1, yword [rcx + 8*rdi + 128]
QUAD $0x0000a0f99c58f5c5; BYTE $0x00 // vaddpd ymm3, ymm1, yword [rcx + 8*rdi + 160]
QUAD $0x0000c0f9a458f5c5; BYTE $0x00 // vaddpd ymm4, ymm1, yword [rcx + 8*rdi + 192]
QUAD $0x0000e0f9ac58f5c5; BYTE $0x00 // vaddpd ymm5, ymm1, yword [rcx + 8*rdi + 224]
QUAD $0x0080f894117dc1c4; WORD $0x0000 // vmovupd yword [r8 + 8*rdi + 128], ymm2
QUAD $0x00a0f89c117dc1c4; WORD $0x0000 // vmovupd yword [r8 + 8*rdi + 160], ymm3
QUAD $0x00c0f8a4117dc1c4; WORD $0x0000 // vmovupd yword [r8 + 8*rdi + 192], ymm4
QUAD $0x00e0f8ac117dc1c4; WORD $0x0000 // vmovupd yword [r8 + 8*rdi + 224], ymm5
LONG $0x20c78348 // add rdi, 32
LONG $0x02c68348 // add rsi, 2
JNE LBB2_477
JMP LBB2_742
LBB2_478:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xf0 // and edx, -16
LONG $0x197de2c4; BYTE $0xc8 // vbroadcastsd ymm1, xmm0
LONG $0xf0728d48 // lea rsi, [rdx - 16]
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
LONG $0x04e9c149 // shr r9, 4
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xf6 // test rsi, rsi
JE LBB2_749
WORD $0x894c; BYTE $0xce // mov rsi, r9
LONG $0xfee68348 // and rsi, -2
WORD $0xf748; BYTE $0xde // neg rsi
WORD $0xff31 // xor edi, edi
LBB2_480:
LONG $0x145cf5c5; BYTE $0xf9 // vsubpd ymm2, ymm1, yword [rcx + 8*rdi]
LONG $0x5c5cf5c5; WORD $0x20f9 // vsubpd ymm3, ymm1, yword [rcx + 8*rdi + 32]
LONG $0x645cf5c5; WORD $0x40f9 // vsubpd ymm4, ymm1, yword [rcx + 8*rdi + 64]
LONG $0x6c5cf5c5; WORD $0x60f9 // vsubpd ymm5, ymm1, yword [rcx + 8*rdi + 96]
LONG $0x117dc1c4; WORD $0xf814 // vmovupd yword [r8 + 8*rdi], ymm2
LONG $0x117dc1c4; WORD $0xf85c; BYTE $0x20 // vmovupd yword [r8 + 8*rdi + 32], ymm3
LONG $0x117dc1c4; WORD $0xf864; BYTE $0x40 // vmovupd yword [r8 + 8*rdi + 64], ymm4
LONG $0x117dc1c4; WORD $0xf86c; BYTE $0x60 // vmovupd yword [r8 + 8*rdi + 96], ymm5
QUAD $0x000080f9945cf5c5; BYTE $0x00 // vsubpd ymm2, ymm1, yword [rcx + 8*rdi + 128]
QUAD $0x0000a0f99c5cf5c5; BYTE $0x00 // vsubpd ymm3, ymm1, yword [rcx + 8*rdi + 160]
QUAD $0x0000c0f9a45cf5c5; BYTE $0x00 // vsubpd ymm4, ymm1, yword [rcx + 8*rdi + 192]
QUAD $0x0000e0f9ac5cf5c5; BYTE $0x00 // vsubpd ymm5, ymm1, yword [rcx + 8*rdi + 224]
QUAD $0x0080f894117dc1c4; WORD $0x0000 // vmovupd yword [r8 + 8*rdi + 128], ymm2
QUAD $0x00a0f89c117dc1c4; WORD $0x0000 // vmovupd yword [r8 + 8*rdi + 160], ymm3
QUAD $0x00c0f8a4117dc1c4; WORD $0x0000 // vmovupd yword [r8 + 8*rdi + 192], ymm4
QUAD $0x00e0f8ac117dc1c4; WORD $0x0000 // vmovupd yword [r8 + 8*rdi + 224], ymm5
LONG $0x20c78348 // add rdi, 32
LONG $0x02c68348 // add rsi, 2
JNE LBB2_480
JMP LBB2_750
LBB2_481:
WORD $0x8944; BYTE $0xd7 // mov edi, r10d
WORD $0xe783; BYTE $0xe0 // and edi, -32
LONG $0xc26ef9c5 // vmovd xmm0, edx
LONG $0x787de2c4; BYTE $0xc0 // vpbroadcastb ymm0, xmm0
LONG $0xe0778d48 // lea rsi, [rdi - 32]
WORD $0x8948; BYTE $0xf0 // mov rax, rsi
LONG $0x05e8c148 // shr rax, 5
LONG $0x01c08348 // add rax, 1
WORD $0x8941; BYTE $0xc1 // mov r9d, eax
LONG $0x03e18341 // and r9d, 3
LONG $0x60fe8348 // cmp rsi, 96
JAE LBB2_621
WORD $0xf631 // xor esi, esi
JMP LBB2_623
LBB2_483:
WORD $0x8944; BYTE $0xd7 // mov edi, r10d
WORD $0xe783; BYTE $0xe0 // and edi, -32
LONG $0xc26ef9c5 // vmovd xmm0, edx
LONG $0x787de2c4; BYTE $0xc0 // vpbroadcastb ymm0, xmm0
LONG $0xe0778d48 // lea rsi, [rdi - 32]
WORD $0x8948; BYTE $0xf0 // mov rax, rsi
LONG $0x05e8c148 // shr rax, 5
LONG $0x01c08348 // add rax, 1
WORD $0x8941; BYTE $0xc1 // mov r9d, eax
LONG $0x03e18341 // and r9d, 3
LONG $0x60fe8348 // cmp rsi, 96
JAE LBB2_631
WORD $0xf631 // xor esi, esi
JMP LBB2_633
LBB2_485:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0x80 // and esi, -128
LONG $0xc06ef9c5 // vmovd xmm0, eax
LONG $0x787de2c4; BYTE $0xc0 // vpbroadcastb ymm0, xmm0
LONG $0x80568d48 // lea rdx, [rsi - 128]
WORD $0x8949; BYTE $0xd1 // mov r9, rdx
LONG $0x07e9c149 // shr r9, 7
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xd2 // test rdx, rdx
JE LBB2_757
WORD $0x894c; BYTE $0xca // mov rdx, r9
LONG $0xfee28348 // and rdx, -2
WORD $0xf748; BYTE $0xda // neg rdx
WORD $0xff31 // xor edi, edi
LBB2_487:
LONG $0x0cfcfdc5; BYTE $0x39 // vpaddb ymm1, ymm0, yword [rcx + rdi]
LONG $0x54fcfdc5; WORD $0x2039 // vpaddb ymm2, ymm0, yword [rcx + rdi + 32]
LONG $0x5cfcfdc5; WORD $0x4039 // vpaddb ymm3, ymm0, yword [rcx + rdi + 64]
LONG $0x64fcfdc5; WORD $0x6039 // vpaddb ymm4, ymm0, yword [rcx + rdi + 96]
LONG $0x7f7ec1c4; WORD $0x380c // vmovdqu yword [r8 + rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x3854; BYTE $0x20 // vmovdqu yword [r8 + rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0x385c; BYTE $0x40 // vmovdqu yword [r8 + rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0x3864; BYTE $0x60 // vmovdqu yword [r8 + rdi + 96], ymm4
QUAD $0x000080398cfcfdc5; BYTE $0x00 // vpaddb ymm1, ymm0, yword [rcx + rdi + 128]
QUAD $0x0000a03994fcfdc5; BYTE $0x00 // vpaddb ymm2, ymm0, yword [rcx + rdi + 160]
QUAD $0x0000c0399cfcfdc5; BYTE $0x00 // vpaddb ymm3, ymm0, yword [rcx + rdi + 192]
QUAD $0x0000e039a4fcfdc5; BYTE $0x00 // vpaddb ymm4, ymm0, yword [rcx + rdi + 224]
QUAD $0x0080388c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + rdi + 128], ymm1
QUAD $0x00a038947f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + rdi + 160], ymm2
QUAD $0x00c0389c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + rdi + 192], ymm3
QUAD $0x00e038a47f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + rdi + 224], ymm4
LONG $0x00c78148; WORD $0x0001; BYTE $0x00 // add rdi, 256
LONG $0x02c28348 // add rdx, 2
JNE LBB2_487
JMP LBB2_758
LBB2_488:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0x80 // and esi, -128
LONG $0xc06ef9c5 // vmovd xmm0, eax
LONG $0x787de2c4; BYTE $0xc0 // vpbroadcastb ymm0, xmm0
LONG $0x80568d48 // lea rdx, [rsi - 128]
WORD $0x8949; BYTE $0xd1 // mov r9, rdx
LONG $0x07e9c149 // shr r9, 7
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xd2 // test rdx, rdx
JE LBB2_765
WORD $0x894c; BYTE $0xca // mov rdx, r9
LONG $0xfee28348 // and rdx, -2
WORD $0xf748; BYTE $0xda // neg rdx
WORD $0xff31 // xor edi, edi
LBB2_490:
LONG $0x0cf8fdc5; BYTE $0x39 // vpsubb ymm1, ymm0, yword [rcx + rdi]
LONG $0x54f8fdc5; WORD $0x2039 // vpsubb ymm2, ymm0, yword [rcx + rdi + 32]
LONG $0x5cf8fdc5; WORD $0x4039 // vpsubb ymm3, ymm0, yword [rcx + rdi + 64]
LONG $0x64f8fdc5; WORD $0x6039 // vpsubb ymm4, ymm0, yword [rcx + rdi + 96]
LONG $0x7f7ec1c4; WORD $0x380c // vmovdqu yword [r8 + rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x3854; BYTE $0x20 // vmovdqu yword [r8 + rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0x385c; BYTE $0x40 // vmovdqu yword [r8 + rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0x3864; BYTE $0x60 // vmovdqu yword [r8 + rdi + 96], ymm4
QUAD $0x000080398cf8fdc5; BYTE $0x00 // vpsubb ymm1, ymm0, yword [rcx + rdi + 128]
QUAD $0x0000a03994f8fdc5; BYTE $0x00 // vpsubb ymm2, ymm0, yword [rcx + rdi + 160]
QUAD $0x0000c0399cf8fdc5; BYTE $0x00 // vpsubb ymm3, ymm0, yword [rcx + rdi + 192]
QUAD $0x0000e039a4f8fdc5; BYTE $0x00 // vpsubb ymm4, ymm0, yword [rcx + rdi + 224]
QUAD $0x0080388c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + rdi + 128], ymm1
QUAD $0x00a038947f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + rdi + 160], ymm2
QUAD $0x00c0389c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + rdi + 192], ymm3
QUAD $0x00e038a47f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + rdi + 224], ymm4
LONG $0x00c78148; WORD $0x0001; BYTE $0x00 // add rdi, 256
LONG $0x02c28348 // add rdx, 2
JNE LBB2_490
JMP LBB2_766
LBB2_491:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0x80 // and esi, -128
LONG $0xc06ef9c5 // vmovd xmm0, eax
LONG $0x787de2c4; BYTE $0xc0 // vpbroadcastb ymm0, xmm0
LONG $0x80568d48 // lea rdx, [rsi - 128]
WORD $0x8949; BYTE $0xd1 // mov r9, rdx
LONG $0x07e9c149 // shr r9, 7
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xd2 // test rdx, rdx
JE LBB2_773
WORD $0x894c; BYTE $0xca // mov rdx, r9
LONG $0xfee28348 // and rdx, -2
WORD $0xf748; BYTE $0xda // neg rdx
WORD $0xff31 // xor edi, edi
LBB2_493:
LONG $0x0cfcfdc5; BYTE $0x39 // vpaddb ymm1, ymm0, yword [rcx + rdi]
LONG $0x54fcfdc5; WORD $0x2039 // vpaddb ymm2, ymm0, yword [rcx + rdi + 32]
LONG $0x5cfcfdc5; WORD $0x4039 // vpaddb ymm3, ymm0, yword [rcx + rdi + 64]
LONG $0x64fcfdc5; WORD $0x6039 // vpaddb ymm4, ymm0, yword [rcx + rdi + 96]
LONG $0x7f7ec1c4; WORD $0x380c // vmovdqu yword [r8 + rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x3854; BYTE $0x20 // vmovdqu yword [r8 + rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0x385c; BYTE $0x40 // vmovdqu yword [r8 + rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0x3864; BYTE $0x60 // vmovdqu yword [r8 + rdi + 96], ymm4
QUAD $0x000080398cfcfdc5; BYTE $0x00 // vpaddb ymm1, ymm0, yword [rcx + rdi + 128]
QUAD $0x0000a03994fcfdc5; BYTE $0x00 // vpaddb ymm2, ymm0, yword [rcx + rdi + 160]
QUAD $0x0000c0399cfcfdc5; BYTE $0x00 // vpaddb ymm3, ymm0, yword [rcx + rdi + 192]
QUAD $0x0000e039a4fcfdc5; BYTE $0x00 // vpaddb ymm4, ymm0, yword [rcx + rdi + 224]
QUAD $0x0080388c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + rdi + 128], ymm1
QUAD $0x00a038947f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + rdi + 160], ymm2
QUAD $0x00c0389c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + rdi + 192], ymm3
QUAD $0x00e038a47f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + rdi + 224], ymm4
LONG $0x00c78148; WORD $0x0001; BYTE $0x00 // add rdi, 256
LONG $0x02c28348 // add rdx, 2
JNE LBB2_493
JMP LBB2_774
LBB2_494:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0x80 // and esi, -128
LONG $0xc06ef9c5 // vmovd xmm0, eax
LONG $0x787de2c4; BYTE $0xc0 // vpbroadcastb ymm0, xmm0
LONG $0x80568d48 // lea rdx, [rsi - 128]
WORD $0x8949; BYTE $0xd1 // mov r9, rdx
LONG $0x07e9c149 // shr r9, 7
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xd2 // test rdx, rdx
JE LBB2_781
WORD $0x894c; BYTE $0xca // mov rdx, r9
LONG $0xfee28348 // and rdx, -2
WORD $0xf748; BYTE $0xda // neg rdx
WORD $0xff31 // xor edi, edi
LBB2_496:
LONG $0x0cf8fdc5; BYTE $0x39 // vpsubb ymm1, ymm0, yword [rcx + rdi]
LONG $0x54f8fdc5; WORD $0x2039 // vpsubb ymm2, ymm0, yword [rcx + rdi + 32]
LONG $0x5cf8fdc5; WORD $0x4039 // vpsubb ymm3, ymm0, yword [rcx + rdi + 64]
LONG $0x64f8fdc5; WORD $0x6039 // vpsubb ymm4, ymm0, yword [rcx + rdi + 96]
LONG $0x7f7ec1c4; WORD $0x380c // vmovdqu yword [r8 + rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x3854; BYTE $0x20 // vmovdqu yword [r8 + rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0x385c; BYTE $0x40 // vmovdqu yword [r8 + rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0x3864; BYTE $0x60 // vmovdqu yword [r8 + rdi + 96], ymm4
QUAD $0x000080398cf8fdc5; BYTE $0x00 // vpsubb ymm1, ymm0, yword [rcx + rdi + 128]
QUAD $0x0000a03994f8fdc5; BYTE $0x00 // vpsubb ymm2, ymm0, yword [rcx + rdi + 160]
QUAD $0x0000c0399cf8fdc5; BYTE $0x00 // vpsubb ymm3, ymm0, yword [rcx + rdi + 192]
QUAD $0x0000e039a4f8fdc5; BYTE $0x00 // vpsubb ymm4, ymm0, yword [rcx + rdi + 224]
QUAD $0x0080388c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + rdi + 128], ymm1
QUAD $0x00a038947f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + rdi + 160], ymm2
QUAD $0x00c0389c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + rdi + 192], ymm3
QUAD $0x00e038a47f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + rdi + 224], ymm4
LONG $0x00c78148; WORD $0x0001; BYTE $0x00 // add rdi, 256
LONG $0x02c28348 // add rdx, 2
JNE LBB2_496
JMP LBB2_782
LBB2_497:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0x6ef9e1c4; BYTE $0xc0 // vmovq xmm0, rax
LONG $0x597de2c4; BYTE $0xc0 // vpbroadcastq ymm0, xmm0
LONG $0xf0568d48 // lea rdx, [rsi - 16]
WORD $0x8949; BYTE $0xd1 // mov r9, rdx
LONG $0x04e9c149 // shr r9, 4
LONG $0x01c18349 // add r9, 1
LONG $0xd073f5c5; BYTE $0x20 // vpsrlq ymm1, ymm0, 32
WORD $0x8548; BYTE $0xd2 // test rdx, rdx
JE LBB2_789
WORD $0x894c; BYTE $0xca // mov rdx, r9
LONG $0xfee28348 // and rdx, -2
WORD $0xf748; BYTE $0xda // neg rdx
WORD $0xff31 // xor edi, edi
LBB2_499:
LONG $0x146ffec5; BYTE $0xf9 // vmovdqu ymm2, yword [rcx + 8*rdi]
LONG $0x5c6ffec5; WORD $0x20f9 // vmovdqu ymm3, yword [rcx + 8*rdi + 32]
LONG $0x646ffec5; WORD $0x40f9 // vmovdqu ymm4, yword [rcx + 8*rdi + 64]
LONG $0x6c6ffec5; WORD $0x60f9 // vmovdqu ymm5, yword [rcx + 8*rdi + 96]
LONG $0xf1f4edc5 // vpmuludq ymm6, ymm2, ymm1
LONG $0xd273c5c5; BYTE $0x20 // vpsrlq ymm7, ymm2, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xd0f4edc5 // vpmuludq ymm2, ymm2, ymm0
LONG $0xd6d4edc5 // vpaddq ymm2, ymm2, ymm6
LONG $0xf1f4e5c5 // vpmuludq ymm6, ymm3, ymm1
LONG $0xd373c5c5; BYTE $0x20 // vpsrlq ymm7, ymm3, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xd8f4e5c5 // vpmuludq ymm3, ymm3, ymm0
LONG $0xded4e5c5 // vpaddq ymm3, ymm3, ymm6
LONG $0xf1f4ddc5 // vpmuludq ymm6, ymm4, ymm1
LONG $0xd473c5c5; BYTE $0x20 // vpsrlq ymm7, ymm4, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xe0f4ddc5 // vpmuludq ymm4, ymm4, ymm0
LONG $0xe6d4ddc5 // vpaddq ymm4, ymm4, ymm6
LONG $0xf1f4d5c5 // vpmuludq ymm6, ymm5, ymm1
LONG $0xd573c5c5; BYTE $0x20 // vpsrlq ymm7, ymm5, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xe8f4d5c5 // vpmuludq ymm5, ymm5, ymm0
LONG $0xeed4d5c5 // vpaddq ymm5, ymm5, ymm6
LONG $0x7f7ec1c4; WORD $0xf814 // vmovdqu yword [r8 + 8*rdi], ymm2
LONG $0x7f7ec1c4; WORD $0xf85c; BYTE $0x20 // vmovdqu yword [r8 + 8*rdi + 32], ymm3
LONG $0x7f7ec1c4; WORD $0xf864; BYTE $0x40 // vmovdqu yword [r8 + 8*rdi + 64], ymm4
LONG $0x7f7ec1c4; WORD $0xf86c; BYTE $0x60 // vmovdqu yword [r8 + 8*rdi + 96], ymm5
QUAD $0x000080f9946ffec5; BYTE $0x00 // vmovdqu ymm2, yword [rcx + 8*rdi + 128]
QUAD $0x0000a0f99c6ffec5; BYTE $0x00 // vmovdqu ymm3, yword [rcx + 8*rdi + 160]
QUAD $0x0000c0f9a46ffec5; BYTE $0x00 // vmovdqu ymm4, yword [rcx + 8*rdi + 192]
QUAD $0x0000e0f9ac6ffec5; BYTE $0x00 // vmovdqu ymm5, yword [rcx + 8*rdi + 224]
LONG $0xf1f4edc5 // vpmuludq ymm6, ymm2, ymm1
LONG $0xd273c5c5; BYTE $0x20 // vpsrlq ymm7, ymm2, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xd0f4edc5 // vpmuludq ymm2, ymm2, ymm0
LONG $0xd6d4edc5 // vpaddq ymm2, ymm2, ymm6
LONG $0xf1f4e5c5 // vpmuludq ymm6, ymm3, ymm1
LONG $0xd373c5c5; BYTE $0x20 // vpsrlq ymm7, ymm3, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xd8f4e5c5 // vpmuludq ymm3, ymm3, ymm0
LONG $0xded4e5c5 // vpaddq ymm3, ymm3, ymm6
LONG $0xf1f4ddc5 // vpmuludq ymm6, ymm4, ymm1
LONG $0xd473c5c5; BYTE $0x20 // vpsrlq ymm7, ymm4, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xe0f4ddc5 // vpmuludq ymm4, ymm4, ymm0
LONG $0xe6d4ddc5 // vpaddq ymm4, ymm4, ymm6
LONG $0xf1f4d5c5 // vpmuludq ymm6, ymm5, ymm1
LONG $0xd573c5c5; BYTE $0x20 // vpsrlq ymm7, ymm5, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xe8f4d5c5 // vpmuludq ymm5, ymm5, ymm0
LONG $0xeed4d5c5 // vpaddq ymm5, ymm5, ymm6
QUAD $0x0080f8947f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 128], ymm2
QUAD $0x00a0f89c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 160], ymm3
QUAD $0x00c0f8a47f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 192], ymm4
QUAD $0x00e0f8ac7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 224], ymm5
LONG $0x20c78348 // add rdi, 32
LONG $0x02c28348 // add rdx, 2
JNE LBB2_499
JMP LBB2_790
LBB2_500:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0x6ef9e1c4; BYTE $0xc0 // vmovq xmm0, rax
LONG $0x597de2c4; BYTE $0xc0 // vpbroadcastq ymm0, xmm0
LONG $0xf0568d48 // lea rdx, [rsi - 16]
WORD $0x8949; BYTE $0xd1 // mov r9, rdx
LONG $0x04e9c149 // shr r9, 4
LONG $0x01c18349 // add r9, 1
LONG $0xd073f5c5; BYTE $0x20 // vpsrlq ymm1, ymm0, 32
WORD $0x8548; BYTE $0xd2 // test rdx, rdx
JE LBB2_797
WORD $0x894c; BYTE $0xca // mov rdx, r9
LONG $0xfee28348 // and rdx, -2
WORD $0xf748; BYTE $0xda // neg rdx
WORD $0xff31 // xor edi, edi
LBB2_502:
LONG $0x146ffec5; BYTE $0xf9 // vmovdqu ymm2, yword [rcx + 8*rdi]
LONG $0x5c6ffec5; WORD $0x20f9 // vmovdqu ymm3, yword [rcx + 8*rdi + 32]
LONG $0x646ffec5; WORD $0x40f9 // vmovdqu ymm4, yword [rcx + 8*rdi + 64]
LONG $0x6c6ffec5; WORD $0x60f9 // vmovdqu ymm5, yword [rcx + 8*rdi + 96]
LONG $0xf1f4edc5 // vpmuludq ymm6, ymm2, ymm1
LONG $0xd273c5c5; BYTE $0x20 // vpsrlq ymm7, ymm2, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xd0f4edc5 // vpmuludq ymm2, ymm2, ymm0
LONG $0xd6d4edc5 // vpaddq ymm2, ymm2, ymm6
LONG $0xf1f4e5c5 // vpmuludq ymm6, ymm3, ymm1
LONG $0xd373c5c5; BYTE $0x20 // vpsrlq ymm7, ymm3, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xd8f4e5c5 // vpmuludq ymm3, ymm3, ymm0
LONG $0xded4e5c5 // vpaddq ymm3, ymm3, ymm6
LONG $0xf1f4ddc5 // vpmuludq ymm6, ymm4, ymm1
LONG $0xd473c5c5; BYTE $0x20 // vpsrlq ymm7, ymm4, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xe0f4ddc5 // vpmuludq ymm4, ymm4, ymm0
LONG $0xe6d4ddc5 // vpaddq ymm4, ymm4, ymm6
LONG $0xf1f4d5c5 // vpmuludq ymm6, ymm5, ymm1
LONG $0xd573c5c5; BYTE $0x20 // vpsrlq ymm7, ymm5, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xe8f4d5c5 // vpmuludq ymm5, ymm5, ymm0
LONG $0xeed4d5c5 // vpaddq ymm5, ymm5, ymm6
LONG $0x7f7ec1c4; WORD $0xf814 // vmovdqu yword [r8 + 8*rdi], ymm2
LONG $0x7f7ec1c4; WORD $0xf85c; BYTE $0x20 // vmovdqu yword [r8 + 8*rdi + 32], ymm3
LONG $0x7f7ec1c4; WORD $0xf864; BYTE $0x40 // vmovdqu yword [r8 + 8*rdi + 64], ymm4
LONG $0x7f7ec1c4; WORD $0xf86c; BYTE $0x60 // vmovdqu yword [r8 + 8*rdi + 96], ymm5
QUAD $0x000080f9946ffec5; BYTE $0x00 // vmovdqu ymm2, yword [rcx + 8*rdi + 128]
QUAD $0x0000a0f99c6ffec5; BYTE $0x00 // vmovdqu ymm3, yword [rcx + 8*rdi + 160]
QUAD $0x0000c0f9a46ffec5; BYTE $0x00 // vmovdqu ymm4, yword [rcx + 8*rdi + 192]
QUAD $0x0000e0f9ac6ffec5; BYTE $0x00 // vmovdqu ymm5, yword [rcx + 8*rdi + 224]
LONG $0xf1f4edc5 // vpmuludq ymm6, ymm2, ymm1
LONG $0xd273c5c5; BYTE $0x20 // vpsrlq ymm7, ymm2, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xd0f4edc5 // vpmuludq ymm2, ymm2, ymm0
LONG $0xd6d4edc5 // vpaddq ymm2, ymm2, ymm6
LONG $0xf1f4e5c5 // vpmuludq ymm6, ymm3, ymm1
LONG $0xd373c5c5; BYTE $0x20 // vpsrlq ymm7, ymm3, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xd8f4e5c5 // vpmuludq ymm3, ymm3, ymm0
LONG $0xded4e5c5 // vpaddq ymm3, ymm3, ymm6
LONG $0xf1f4ddc5 // vpmuludq ymm6, ymm4, ymm1
LONG $0xd473c5c5; BYTE $0x20 // vpsrlq ymm7, ymm4, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xe0f4ddc5 // vpmuludq ymm4, ymm4, ymm0
LONG $0xe6d4ddc5 // vpaddq ymm4, ymm4, ymm6
LONG $0xf1f4d5c5 // vpmuludq ymm6, ymm5, ymm1
LONG $0xd573c5c5; BYTE $0x20 // vpsrlq ymm7, ymm5, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xe8f4d5c5 // vpmuludq ymm5, ymm5, ymm0
LONG $0xeed4d5c5 // vpaddq ymm5, ymm5, ymm6
QUAD $0x0080f8947f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 128], ymm2
QUAD $0x00a0f89c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 160], ymm3
QUAD $0x00c0f8a47f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 192], ymm4
QUAD $0x00e0f8ac7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 224], ymm5
LONG $0x20c78348 // add rdi, 32
LONG $0x02c28348 // add rdx, 2
JNE LBB2_502
JMP LBB2_798
LBB2_503:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0x6ef9e1c4; BYTE $0xc0 // vmovq xmm0, rax
LONG $0x597de2c4; BYTE $0xc0 // vpbroadcastq ymm0, xmm0
LONG $0xf0568d48 // lea rdx, [rsi - 16]
WORD $0x8949; BYTE $0xd1 // mov r9, rdx
LONG $0x04e9c149 // shr r9, 4
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xd2 // test rdx, rdx
JE LBB2_805
WORD $0x894c; BYTE $0xca // mov rdx, r9
LONG $0xfee28348 // and rdx, -2
WORD $0xf748; BYTE $0xda // neg rdx
WORD $0xff31 // xor edi, edi
LBB2_505:
LONG $0x0cd4fdc5; BYTE $0xf9 // vpaddq ymm1, ymm0, yword [rcx + 8*rdi]
LONG $0x54d4fdc5; WORD $0x20f9 // vpaddq ymm2, ymm0, yword [rcx + 8*rdi + 32]
LONG $0x5cd4fdc5; WORD $0x40f9 // vpaddq ymm3, ymm0, yword [rcx + 8*rdi + 64]
LONG $0x64d4fdc5; WORD $0x60f9 // vpaddq ymm4, ymm0, yword [rcx + 8*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xf80c // vmovdqu yword [r8 + 8*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xf854; BYTE $0x20 // vmovdqu yword [r8 + 8*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xf85c; BYTE $0x40 // vmovdqu yword [r8 + 8*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xf864; BYTE $0x60 // vmovdqu yword [r8 + 8*rdi + 96], ymm4
QUAD $0x000080f98cd4fdc5; BYTE $0x00 // vpaddq ymm1, ymm0, yword [rcx + 8*rdi + 128]
QUAD $0x0000a0f994d4fdc5; BYTE $0x00 // vpaddq ymm2, ymm0, yword [rcx + 8*rdi + 160]
QUAD $0x0000c0f99cd4fdc5; BYTE $0x00 // vpaddq ymm3, ymm0, yword [rcx + 8*rdi + 192]
QUAD $0x0000e0f9a4d4fdc5; BYTE $0x00 // vpaddq ymm4, ymm0, yword [rcx + 8*rdi + 224]
QUAD $0x0080f88c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 128], ymm1
QUAD $0x00a0f8947f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 160], ymm2
QUAD $0x00c0f89c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 192], ymm3
QUAD $0x00e0f8a47f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 224], ymm4
LONG $0x20c78348 // add rdi, 32
LONG $0x02c28348 // add rdx, 2
JNE LBB2_505
JMP LBB2_806
LBB2_506:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0x6ef9c1c4; BYTE $0xc3 // vmovq xmm0, r11
LONG $0x597de2c4; BYTE $0xc0 // vpbroadcastq ymm0, xmm0
LONG $0xf0568d48 // lea rdx, [rsi - 16]
WORD $0x8949; BYTE $0xd1 // mov r9, rdx
LONG $0x04e9c149 // shr r9, 4
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xd2 // test rdx, rdx
JE LBB2_813
WORD $0x894c; BYTE $0xca // mov rdx, r9
LONG $0xfee28348 // and rdx, -2
WORD $0xf748; BYTE $0xda // neg rdx
WORD $0xff31 // xor edi, edi
LBB2_508:
LONG $0x0cfbfdc5; BYTE $0xf9 // vpsubq ymm1, ymm0, yword [rcx + 8*rdi]
LONG $0x54fbfdc5; WORD $0x20f9 // vpsubq ymm2, ymm0, yword [rcx + 8*rdi + 32]
LONG $0x5cfbfdc5; WORD $0x40f9 // vpsubq ymm3, ymm0, yword [rcx + 8*rdi + 64]
LONG $0x64fbfdc5; WORD $0x60f9 // vpsubq ymm4, ymm0, yword [rcx + 8*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xf80c // vmovdqu yword [r8 + 8*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xf854; BYTE $0x20 // vmovdqu yword [r8 + 8*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xf85c; BYTE $0x40 // vmovdqu yword [r8 + 8*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xf864; BYTE $0x60 // vmovdqu yword [r8 + 8*rdi + 96], ymm4
QUAD $0x000080f98cfbfdc5; BYTE $0x00 // vpsubq ymm1, ymm0, yword [rcx + 8*rdi + 128]
QUAD $0x0000a0f994fbfdc5; BYTE $0x00 // vpsubq ymm2, ymm0, yword [rcx + 8*rdi + 160]
QUAD $0x0000c0f99cfbfdc5; BYTE $0x00 // vpsubq ymm3, ymm0, yword [rcx + 8*rdi + 192]
QUAD $0x0000e0f9a4fbfdc5; BYTE $0x00 // vpsubq ymm4, ymm0, yword [rcx + 8*rdi + 224]
QUAD $0x0080f88c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 128], ymm1
QUAD $0x00a0f8947f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 160], ymm2
QUAD $0x00c0f89c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 192], ymm3
QUAD $0x00e0f8a47f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 224], ymm4
LONG $0x20c78348 // add rdi, 32
LONG $0x02c28348 // add rdx, 2
JNE LBB2_508
JMP LBB2_814
LBB2_509:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0x6ef9e1c4; BYTE $0xc0 // vmovq xmm0, rax
LONG $0x597de2c4; BYTE $0xc0 // vpbroadcastq ymm0, xmm0
LONG $0xf0568d48 // lea rdx, [rsi - 16]
WORD $0x8949; BYTE $0xd1 // mov r9, rdx
LONG $0x04e9c149 // shr r9, 4
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xd2 // test rdx, rdx
JE LBB2_821
WORD $0x894c; BYTE $0xca // mov rdx, r9
LONG $0xfee28348 // and rdx, -2
WORD $0xf748; BYTE $0xda // neg rdx
WORD $0xff31 // xor edi, edi
LBB2_511:
LONG $0x0cd4fdc5; BYTE $0xf9 // vpaddq ymm1, ymm0, yword [rcx + 8*rdi]
LONG $0x54d4fdc5; WORD $0x20f9 // vpaddq ymm2, ymm0, yword [rcx + 8*rdi + 32]
LONG $0x5cd4fdc5; WORD $0x40f9 // vpaddq ymm3, ymm0, yword [rcx + 8*rdi + 64]
LONG $0x64d4fdc5; WORD $0x60f9 // vpaddq ymm4, ymm0, yword [rcx + 8*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xf80c // vmovdqu yword [r8 + 8*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xf854; BYTE $0x20 // vmovdqu yword [r8 + 8*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xf85c; BYTE $0x40 // vmovdqu yword [r8 + 8*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xf864; BYTE $0x60 // vmovdqu yword [r8 + 8*rdi + 96], ymm4
QUAD $0x000080f98cd4fdc5; BYTE $0x00 // vpaddq ymm1, ymm0, yword [rcx + 8*rdi + 128]
QUAD $0x0000a0f994d4fdc5; BYTE $0x00 // vpaddq ymm2, ymm0, yword [rcx + 8*rdi + 160]
QUAD $0x0000c0f99cd4fdc5; BYTE $0x00 // vpaddq ymm3, ymm0, yword [rcx + 8*rdi + 192]
QUAD $0x0000e0f9a4d4fdc5; BYTE $0x00 // vpaddq ymm4, ymm0, yword [rcx + 8*rdi + 224]
QUAD $0x0080f88c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 128], ymm1
QUAD $0x00a0f8947f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 160], ymm2
QUAD $0x00c0f89c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 192], ymm3
QUAD $0x00e0f8a47f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 224], ymm4
LONG $0x20c78348 // add rdi, 32
LONG $0x02c28348 // add rdx, 2
JNE LBB2_511
JMP LBB2_822
LBB2_512:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0x6ef9c1c4; BYTE $0xc3 // vmovq xmm0, r11
LONG $0x597de2c4; BYTE $0xc0 // vpbroadcastq ymm0, xmm0
LONG $0xf0568d48 // lea rdx, [rsi - 16]
WORD $0x8949; BYTE $0xd1 // mov r9, rdx
LONG $0x04e9c149 // shr r9, 4
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xd2 // test rdx, rdx
JE LBB2_829
WORD $0x894c; BYTE $0xca // mov rdx, r9
LONG $0xfee28348 // and rdx, -2
WORD $0xf748; BYTE $0xda // neg rdx
WORD $0xff31 // xor edi, edi
LBB2_514:
LONG $0x0cfbfdc5; BYTE $0xf9 // vpsubq ymm1, ymm0, yword [rcx + 8*rdi]
LONG $0x54fbfdc5; WORD $0x20f9 // vpsubq ymm2, ymm0, yword [rcx + 8*rdi + 32]
LONG $0x5cfbfdc5; WORD $0x40f9 // vpsubq ymm3, ymm0, yword [rcx + 8*rdi + 64]
LONG $0x64fbfdc5; WORD $0x60f9 // vpsubq ymm4, ymm0, yword [rcx + 8*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xf80c // vmovdqu yword [r8 + 8*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xf854; BYTE $0x20 // vmovdqu yword [r8 + 8*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xf85c; BYTE $0x40 // vmovdqu yword [r8 + 8*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xf864; BYTE $0x60 // vmovdqu yword [r8 + 8*rdi + 96], ymm4
QUAD $0x000080f98cfbfdc5; BYTE $0x00 // vpsubq ymm1, ymm0, yword [rcx + 8*rdi + 128]
QUAD $0x0000a0f994fbfdc5; BYTE $0x00 // vpsubq ymm2, ymm0, yword [rcx + 8*rdi + 160]
QUAD $0x0000c0f99cfbfdc5; BYTE $0x00 // vpsubq ymm3, ymm0, yword [rcx + 8*rdi + 192]
QUAD $0x0000e0f9a4fbfdc5; BYTE $0x00 // vpsubq ymm4, ymm0, yword [rcx + 8*rdi + 224]
QUAD $0x0080f88c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 128], ymm1
QUAD $0x00a0f8947f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 160], ymm2
QUAD $0x00c0f89c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 192], ymm3
QUAD $0x00e0f8a47f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 224], ymm4
LONG $0x20c78348 // add rdi, 32
LONG $0x02c28348 // add rdx, 2
JNE LBB2_514
JMP LBB2_830
LBB2_515:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0xc06ef9c5 // vmovd xmm0, eax
LONG $0x797de2c4; BYTE $0xc0 // vpbroadcastw ymm0, xmm0
LONG $0xe0568d48 // lea rdx, [rsi - 32]
WORD $0x8949; BYTE $0xd1 // mov r9, rdx
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xd2 // test rdx, rdx
JE LBB2_837
WORD $0x894c; BYTE $0xca // mov rdx, r9
LONG $0xfee28348 // and rdx, -2
WORD $0xf748; BYTE $0xda // neg rdx
WORD $0xff31 // xor edi, edi
LBB2_517:
LONG $0x0cd5fdc5; BYTE $0x79 // vpmullw ymm1, ymm0, yword [rcx + 2*rdi]
LONG $0x54d5fdc5; WORD $0x2079 // vpmullw ymm2, ymm0, yword [rcx + 2*rdi + 32]
LONG $0x7f7ec1c4; WORD $0x780c // vmovdqu yword [r8 + 2*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x7854; BYTE $0x20 // vmovdqu yword [r8 + 2*rdi + 32], ymm2
LONG $0x4cd5fdc5; WORD $0x4079 // vpmullw ymm1, ymm0, yword [rcx + 2*rdi + 64]
LONG $0x54d5fdc5; WORD $0x6079 // vpmullw ymm2, ymm0, yword [rcx + 2*rdi + 96]
LONG $0x7f7ec1c4; WORD $0x784c; BYTE $0x40 // vmovdqu yword [r8 + 2*rdi + 64], ymm1
LONG $0x7f7ec1c4; WORD $0x7854; BYTE $0x60 // vmovdqu yword [r8 + 2*rdi + 96], ymm2
LONG $0x40c78348 // add rdi, 64
LONG $0x02c28348 // add rdx, 2
JNE LBB2_517
JMP LBB2_838
LBB2_518:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0xc06ef9c5 // vmovd xmm0, eax
LONG $0x797de2c4; BYTE $0xc0 // vpbroadcastw ymm0, xmm0
LONG $0xe0568d48 // lea rdx, [rsi - 32]
WORD $0x8949; BYTE $0xd1 // mov r9, rdx
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xd2 // test rdx, rdx
JE LBB2_845
WORD $0x894c; BYTE $0xca // mov rdx, r9
LONG $0xfee28348 // and rdx, -2
WORD $0xf748; BYTE $0xda // neg rdx
WORD $0xff31 // xor edi, edi
LBB2_520:
LONG $0x0cd5fdc5; BYTE $0x79 // vpmullw ymm1, ymm0, yword [rcx + 2*rdi]
LONG $0x54d5fdc5; WORD $0x2079 // vpmullw ymm2, ymm0, yword [rcx + 2*rdi + 32]
LONG $0x7f7ec1c4; WORD $0x780c // vmovdqu yword [r8 + 2*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x7854; BYTE $0x20 // vmovdqu yword [r8 + 2*rdi + 32], ymm2
LONG $0x4cd5fdc5; WORD $0x4079 // vpmullw ymm1, ymm0, yword [rcx + 2*rdi + 64]
LONG $0x54d5fdc5; WORD $0x6079 // vpmullw ymm2, ymm0, yword [rcx + 2*rdi + 96]
LONG $0x7f7ec1c4; WORD $0x784c; BYTE $0x40 // vmovdqu yword [r8 + 2*rdi + 64], ymm1
LONG $0x7f7ec1c4; WORD $0x7854; BYTE $0x60 // vmovdqu yword [r8 + 2*rdi + 96], ymm2
LONG $0x40c78348 // add rdi, 64
LONG $0x02c28348 // add rdx, 2
JNE LBB2_520
JMP LBB2_846
LBB2_521:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0xc06ef9c5 // vmovd xmm0, eax
LONG $0x797de2c4; BYTE $0xc0 // vpbroadcastw ymm0, xmm0
LONG $0xe0568d48 // lea rdx, [rsi - 32]
WORD $0x8949; BYTE $0xd1 // mov r9, rdx
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xd2 // test rdx, rdx
JE LBB2_853
WORD $0x894c; BYTE $0xca // mov rdx, r9
LONG $0xfee28348 // and rdx, -2
WORD $0xf748; BYTE $0xda // neg rdx
WORD $0xff31 // xor edi, edi
LBB2_523:
LONG $0x0cd5fdc5; BYTE $0x79 // vpmullw ymm1, ymm0, yword [rcx + 2*rdi]
LONG $0x54d5fdc5; WORD $0x2079 // vpmullw ymm2, ymm0, yword [rcx + 2*rdi + 32]
LONG $0x7f7ec1c4; WORD $0x780c // vmovdqu yword [r8 + 2*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x7854; BYTE $0x20 // vmovdqu yword [r8 + 2*rdi + 32], ymm2
LONG $0x4cd5fdc5; WORD $0x4079 // vpmullw ymm1, ymm0, yword [rcx + 2*rdi + 64]
LONG $0x54d5fdc5; WORD $0x6079 // vpmullw ymm2, ymm0, yword [rcx + 2*rdi + 96]
LONG $0x7f7ec1c4; WORD $0x784c; BYTE $0x40 // vmovdqu yword [r8 + 2*rdi + 64], ymm1
LONG $0x7f7ec1c4; WORD $0x7854; BYTE $0x60 // vmovdqu yword [r8 + 2*rdi + 96], ymm2
LONG $0x40c78348 // add rdi, 64
LONG $0x02c28348 // add rdx, 2
JNE LBB2_523
JMP LBB2_854
LBB2_524:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0xc06ef9c5 // vmovd xmm0, eax
LONG $0x797de2c4; BYTE $0xc0 // vpbroadcastw ymm0, xmm0
LONG $0xe0568d48 // lea rdx, [rsi - 32]
WORD $0x8949; BYTE $0xd1 // mov r9, rdx
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xd2 // test rdx, rdx
JE LBB2_861
WORD $0x894c; BYTE $0xca // mov rdx, r9
LONG $0xfee28348 // and rdx, -2
WORD $0xf748; BYTE $0xda // neg rdx
WORD $0xff31 // xor edi, edi
LBB2_526:
LONG $0x0cd5fdc5; BYTE $0x79 // vpmullw ymm1, ymm0, yword [rcx + 2*rdi]
LONG $0x54d5fdc5; WORD $0x2079 // vpmullw ymm2, ymm0, yword [rcx + 2*rdi + 32]
LONG $0x7f7ec1c4; WORD $0x780c // vmovdqu yword [r8 + 2*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x7854; BYTE $0x20 // vmovdqu yword [r8 + 2*rdi + 32], ymm2
LONG $0x4cd5fdc5; WORD $0x4079 // vpmullw ymm1, ymm0, yword [rcx + 2*rdi + 64]
LONG $0x54d5fdc5; WORD $0x6079 // vpmullw ymm2, ymm0, yword [rcx + 2*rdi + 96]
LONG $0x7f7ec1c4; WORD $0x784c; BYTE $0x40 // vmovdqu yword [r8 + 2*rdi + 64], ymm1
LONG $0x7f7ec1c4; WORD $0x7854; BYTE $0x60 // vmovdqu yword [r8 + 2*rdi + 96], ymm2
LONG $0x40c78348 // add rdi, 64
LONG $0x02c28348 // add rdx, 2
JNE LBB2_526
JMP LBB2_862
LBB2_527:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0xc06ef9c5 // vmovd xmm0, eax
LONG $0x797de2c4; BYTE $0xc0 // vpbroadcastw ymm0, xmm0
LONG $0xe0568d48 // lea rdx, [rsi - 32]
WORD $0x8949; BYTE $0xd1 // mov r9, rdx
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xd2 // test rdx, rdx
JE LBB2_869
WORD $0x894c; BYTE $0xca // mov rdx, r9
LONG $0xfee28348 // and rdx, -2
WORD $0xf748; BYTE $0xda // neg rdx
WORD $0xff31 // xor edi, edi
LBB2_529:
LONG $0x0cfdfdc5; BYTE $0x79 // vpaddw ymm1, ymm0, yword [rcx + 2*rdi]
LONG $0x54fdfdc5; WORD $0x2079 // vpaddw ymm2, ymm0, yword [rcx + 2*rdi + 32]
LONG $0x7f7ec1c4; WORD $0x780c // vmovdqu yword [r8 + 2*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x7854; BYTE $0x20 // vmovdqu yword [r8 + 2*rdi + 32], ymm2
LONG $0x4cfdfdc5; WORD $0x4079 // vpaddw ymm1, ymm0, yword [rcx + 2*rdi + 64]
LONG $0x54fdfdc5; WORD $0x6079 // vpaddw ymm2, ymm0, yword [rcx + 2*rdi + 96]
LONG $0x7f7ec1c4; WORD $0x784c; BYTE $0x40 // vmovdqu yword [r8 + 2*rdi + 64], ymm1
LONG $0x7f7ec1c4; WORD $0x7854; BYTE $0x60 // vmovdqu yword [r8 + 2*rdi + 96], ymm2
LONG $0x40c78348 // add rdi, 64
LONG $0x02c28348 // add rdx, 2
JNE LBB2_529
JMP LBB2_870
LBB2_530:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0xc06ef9c5 // vmovd xmm0, eax
LONG $0x797de2c4; BYTE $0xc0 // vpbroadcastw ymm0, xmm0
LONG $0xe0568d48 // lea rdx, [rsi - 32]
WORD $0x8949; BYTE $0xd1 // mov r9, rdx
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xd2 // test rdx, rdx
JE LBB2_877
WORD $0x894c; BYTE $0xca // mov rdx, r9
LONG $0xfee28348 // and rdx, -2
WORD $0xf748; BYTE $0xda // neg rdx
WORD $0xff31 // xor edi, edi
LBB2_532:
LONG $0x0cfdfdc5; BYTE $0x79 // vpaddw ymm1, ymm0, yword [rcx + 2*rdi]
LONG $0x54fdfdc5; WORD $0x2079 // vpaddw ymm2, ymm0, yword [rcx + 2*rdi + 32]
LONG $0x7f7ec1c4; WORD $0x780c // vmovdqu yword [r8 + 2*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x7854; BYTE $0x20 // vmovdqu yword [r8 + 2*rdi + 32], ymm2
LONG $0x4cfdfdc5; WORD $0x4079 // vpaddw ymm1, ymm0, yword [rcx + 2*rdi + 64]
LONG $0x54fdfdc5; WORD $0x6079 // vpaddw ymm2, ymm0, yword [rcx + 2*rdi + 96]
LONG $0x7f7ec1c4; WORD $0x784c; BYTE $0x40 // vmovdqu yword [r8 + 2*rdi + 64], ymm1
LONG $0x7f7ec1c4; WORD $0x7854; BYTE $0x60 // vmovdqu yword [r8 + 2*rdi + 96], ymm2
LONG $0x40c78348 // add rdi, 64
LONG $0x02c28348 // add rdx, 2
JNE LBB2_532
JMP LBB2_878
LBB2_533:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0xc06ef9c5 // vmovd xmm0, eax
LONG $0x797de2c4; BYTE $0xc0 // vpbroadcastw ymm0, xmm0
LONG $0xe0568d48 // lea rdx, [rsi - 32]
WORD $0x8949; BYTE $0xd1 // mov r9, rdx
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xd2 // test rdx, rdx
JE LBB2_885
WORD $0x894c; BYTE $0xca // mov rdx, r9
LONG $0xfee28348 // and rdx, -2
WORD $0xf748; BYTE $0xda // neg rdx
WORD $0xff31 // xor edi, edi
LBB2_535:
LONG $0x0cf9fdc5; BYTE $0x79 // vpsubw ymm1, ymm0, yword [rcx + 2*rdi]
LONG $0x54f9fdc5; WORD $0x2079 // vpsubw ymm2, ymm0, yword [rcx + 2*rdi + 32]
LONG $0x7f7ec1c4; WORD $0x780c // vmovdqu yword [r8 + 2*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x7854; BYTE $0x20 // vmovdqu yword [r8 + 2*rdi + 32], ymm2
LONG $0x4cf9fdc5; WORD $0x4079 // vpsubw ymm1, ymm0, yword [rcx + 2*rdi + 64]
LONG $0x54f9fdc5; WORD $0x6079 // vpsubw ymm2, ymm0, yword [rcx + 2*rdi + 96]
LONG $0x7f7ec1c4; WORD $0x784c; BYTE $0x40 // vmovdqu yword [r8 + 2*rdi + 64], ymm1
LONG $0x7f7ec1c4; WORD $0x7854; BYTE $0x60 // vmovdqu yword [r8 + 2*rdi + 96], ymm2
LONG $0x40c78348 // add rdi, 64
LONG $0x02c28348 // add rdx, 2
JNE LBB2_535
JMP LBB2_886
LBB2_536:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0xc06ef9c5 // vmovd xmm0, eax
LONG $0x797de2c4; BYTE $0xc0 // vpbroadcastw ymm0, xmm0
LONG $0xe0568d48 // lea rdx, [rsi - 32]
WORD $0x8949; BYTE $0xd1 // mov r9, rdx
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xd2 // test rdx, rdx
JE LBB2_893
WORD $0x894c; BYTE $0xca // mov rdx, r9
LONG $0xfee28348 // and rdx, -2
WORD $0xf748; BYTE $0xda // neg rdx
WORD $0xff31 // xor edi, edi
LBB2_538:
LONG $0x0cf9fdc5; BYTE $0x79 // vpsubw ymm1, ymm0, yword [rcx + 2*rdi]
LONG $0x54f9fdc5; WORD $0x2079 // vpsubw ymm2, ymm0, yword [rcx + 2*rdi + 32]
LONG $0x7f7ec1c4; WORD $0x780c // vmovdqu yword [r8 + 2*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x7854; BYTE $0x20 // vmovdqu yword [r8 + 2*rdi + 32], ymm2
LONG $0x4cf9fdc5; WORD $0x4079 // vpsubw ymm1, ymm0, yword [rcx + 2*rdi + 64]
LONG $0x54f9fdc5; WORD $0x6079 // vpsubw ymm2, ymm0, yword [rcx + 2*rdi + 96]
LONG $0x7f7ec1c4; WORD $0x784c; BYTE $0x40 // vmovdqu yword [r8 + 2*rdi + 64], ymm1
LONG $0x7f7ec1c4; WORD $0x7854; BYTE $0x60 // vmovdqu yword [r8 + 2*rdi + 96], ymm2
LONG $0x40c78348 // add rdi, 64
LONG $0x02c28348 // add rdx, 2
JNE LBB2_538
JMP LBB2_894
LBB2_539:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0xc06ef9c5 // vmovd xmm0, eax
LONG $0x797de2c4; BYTE $0xc0 // vpbroadcastw ymm0, xmm0
LONG $0xe0568d48 // lea rdx, [rsi - 32]
WORD $0x8949; BYTE $0xd1 // mov r9, rdx
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xd2 // test rdx, rdx
JE LBB2_901
WORD $0x894c; BYTE $0xca // mov rdx, r9
LONG $0xfee28348 // and rdx, -2
WORD $0xf748; BYTE $0xda // neg rdx
WORD $0xff31 // xor edi, edi
LBB2_541:
LONG $0x0cfdfdc5; BYTE $0x79 // vpaddw ymm1, ymm0, yword [rcx + 2*rdi]
LONG $0x54fdfdc5; WORD $0x2079 // vpaddw ymm2, ymm0, yword [rcx + 2*rdi + 32]
LONG $0x7f7ec1c4; WORD $0x780c // vmovdqu yword [r8 + 2*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x7854; BYTE $0x20 // vmovdqu yword [r8 + 2*rdi + 32], ymm2
LONG $0x4cfdfdc5; WORD $0x4079 // vpaddw ymm1, ymm0, yword [rcx + 2*rdi + 64]
LONG $0x54fdfdc5; WORD $0x6079 // vpaddw ymm2, ymm0, yword [rcx + 2*rdi + 96]
LONG $0x7f7ec1c4; WORD $0x784c; BYTE $0x40 // vmovdqu yword [r8 + 2*rdi + 64], ymm1
LONG $0x7f7ec1c4; WORD $0x7854; BYTE $0x60 // vmovdqu yword [r8 + 2*rdi + 96], ymm2
LONG $0x40c78348 // add rdi, 64
LONG $0x02c28348 // add rdx, 2
JNE LBB2_541
JMP LBB2_902
LBB2_542:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0xc06ef9c5 // vmovd xmm0, eax
LONG $0x797de2c4; BYTE $0xc0 // vpbroadcastw ymm0, xmm0
LONG $0xe0568d48 // lea rdx, [rsi - 32]
WORD $0x8949; BYTE $0xd1 // mov r9, rdx
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xd2 // test rdx, rdx
JE LBB2_909
WORD $0x894c; BYTE $0xca // mov rdx, r9
LONG $0xfee28348 // and rdx, -2
WORD $0xf748; BYTE $0xda // neg rdx
WORD $0xff31 // xor edi, edi
LBB2_544:
LONG $0x0cfdfdc5; BYTE $0x79 // vpaddw ymm1, ymm0, yword [rcx + 2*rdi]
LONG $0x54fdfdc5; WORD $0x2079 // vpaddw ymm2, ymm0, yword [rcx + 2*rdi + 32]
LONG $0x7f7ec1c4; WORD $0x780c // vmovdqu yword [r8 + 2*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x7854; BYTE $0x20 // vmovdqu yword [r8 + 2*rdi + 32], ymm2
LONG $0x4cfdfdc5; WORD $0x4079 // vpaddw ymm1, ymm0, yword [rcx + 2*rdi + 64]
LONG $0x54fdfdc5; WORD $0x6079 // vpaddw ymm2, ymm0, yword [rcx + 2*rdi + 96]
LONG $0x7f7ec1c4; WORD $0x784c; BYTE $0x40 // vmovdqu yword [r8 + 2*rdi + 64], ymm1
LONG $0x7f7ec1c4; WORD $0x7854; BYTE $0x60 // vmovdqu yword [r8 + 2*rdi + 96], ymm2
LONG $0x40c78348 // add rdi, 64
LONG $0x02c28348 // add rdx, 2
JNE LBB2_544
JMP LBB2_910
LBB2_545:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0xc06ef9c5 // vmovd xmm0, eax
LONG $0x797de2c4; BYTE $0xc0 // vpbroadcastw ymm0, xmm0
LONG $0xe0568d48 // lea rdx, [rsi - 32]
WORD $0x8949; BYTE $0xd1 // mov r9, rdx
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xd2 // test rdx, rdx
JE LBB2_917
WORD $0x894c; BYTE $0xca // mov rdx, r9
LONG $0xfee28348 // and rdx, -2
WORD $0xf748; BYTE $0xda // neg rdx
WORD $0xff31 // xor edi, edi
LBB2_547:
LONG $0x0cf9fdc5; BYTE $0x79 // vpsubw ymm1, ymm0, yword [rcx + 2*rdi]
LONG $0x54f9fdc5; WORD $0x2079 // vpsubw ymm2, ymm0, yword [rcx + 2*rdi + 32]
LONG $0x7f7ec1c4; WORD $0x780c // vmovdqu yword [r8 + 2*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x7854; BYTE $0x20 // vmovdqu yword [r8 + 2*rdi + 32], ymm2
LONG $0x4cf9fdc5; WORD $0x4079 // vpsubw ymm1, ymm0, yword [rcx + 2*rdi + 64]
LONG $0x54f9fdc5; WORD $0x6079 // vpsubw ymm2, ymm0, yword [rcx + 2*rdi + 96]
LONG $0x7f7ec1c4; WORD $0x784c; BYTE $0x40 // vmovdqu yword [r8 + 2*rdi + 64], ymm1
LONG $0x7f7ec1c4; WORD $0x7854; BYTE $0x60 // vmovdqu yword [r8 + 2*rdi + 96], ymm2
LONG $0x40c78348 // add rdi, 64
LONG $0x02c28348 // add rdx, 2
JNE LBB2_547
JMP LBB2_918
LBB2_548:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0xc06ef9c5 // vmovd xmm0, eax
LONG $0x797de2c4; BYTE $0xc0 // vpbroadcastw ymm0, xmm0
LONG $0xe0568d48 // lea rdx, [rsi - 32]
WORD $0x8949; BYTE $0xd1 // mov r9, rdx
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xd2 // test rdx, rdx
JE LBB2_925
WORD $0x894c; BYTE $0xca // mov rdx, r9
LONG $0xfee28348 // and rdx, -2
WORD $0xf748; BYTE $0xda // neg rdx
WORD $0xff31 // xor edi, edi
LBB2_550:
LONG $0x0cf9fdc5; BYTE $0x79 // vpsubw ymm1, ymm0, yword [rcx + 2*rdi]
LONG $0x54f9fdc5; WORD $0x2079 // vpsubw ymm2, ymm0, yword [rcx + 2*rdi + 32]
LONG $0x7f7ec1c4; WORD $0x780c // vmovdqu yword [r8 + 2*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x7854; BYTE $0x20 // vmovdqu yword [r8 + 2*rdi + 32], ymm2
LONG $0x4cf9fdc5; WORD $0x4079 // vpsubw ymm1, ymm0, yword [rcx + 2*rdi + 64]
LONG $0x54f9fdc5; WORD $0x6079 // vpsubw ymm2, ymm0, yword [rcx + 2*rdi + 96]
LONG $0x7f7ec1c4; WORD $0x784c; BYTE $0x40 // vmovdqu yword [r8 + 2*rdi + 64], ymm1
LONG $0x7f7ec1c4; WORD $0x7854; BYTE $0x60 // vmovdqu yword [r8 + 2*rdi + 96], ymm2
LONG $0x40c78348 // add rdi, 64
LONG $0x02c28348 // add rdx, 2
JNE LBB2_550
JMP LBB2_926
LBB2_551:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0x6ef9e1c4; BYTE $0xc0 // vmovq xmm0, rax
LONG $0x597de2c4; BYTE $0xc0 // vpbroadcastq ymm0, xmm0
LONG $0xf0568d48 // lea rdx, [rsi - 16]
WORD $0x8949; BYTE $0xd1 // mov r9, rdx
LONG $0x04e9c149 // shr r9, 4
LONG $0x01c18349 // add r9, 1
LONG $0xd073f5c5; BYTE $0x20 // vpsrlq ymm1, ymm0, 32
WORD $0x8548; BYTE $0xd2 // test rdx, rdx
JE LBB2_933
WORD $0x894c; BYTE $0xca // mov rdx, r9
LONG $0xfee28348 // and rdx, -2
WORD $0xf748; BYTE $0xda // neg rdx
WORD $0xff31 // xor edi, edi
LBB2_553:
LONG $0x146ffec5; BYTE $0xf9 // vmovdqu ymm2, yword [rcx + 8*rdi]
LONG $0x5c6ffec5; WORD $0x20f9 // vmovdqu ymm3, yword [rcx + 8*rdi + 32]
LONG $0x646ffec5; WORD $0x40f9 // vmovdqu ymm4, yword [rcx + 8*rdi + 64]
LONG $0x6c6ffec5; WORD $0x60f9 // vmovdqu ymm5, yword [rcx + 8*rdi + 96]
LONG $0xf1f4edc5 // vpmuludq ymm6, ymm2, ymm1
LONG $0xd273c5c5; BYTE $0x20 // vpsrlq ymm7, ymm2, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xd0f4edc5 // vpmuludq ymm2, ymm2, ymm0
LONG $0xd6d4edc5 // vpaddq ymm2, ymm2, ymm6
LONG $0xf1f4e5c5 // vpmuludq ymm6, ymm3, ymm1
LONG $0xd373c5c5; BYTE $0x20 // vpsrlq ymm7, ymm3, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xd8f4e5c5 // vpmuludq ymm3, ymm3, ymm0
LONG $0xded4e5c5 // vpaddq ymm3, ymm3, ymm6
LONG $0xf1f4ddc5 // vpmuludq ymm6, ymm4, ymm1
LONG $0xd473c5c5; BYTE $0x20 // vpsrlq ymm7, ymm4, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xe0f4ddc5 // vpmuludq ymm4, ymm4, ymm0
LONG $0xe6d4ddc5 // vpaddq ymm4, ymm4, ymm6
LONG $0xf1f4d5c5 // vpmuludq ymm6, ymm5, ymm1
LONG $0xd573c5c5; BYTE $0x20 // vpsrlq ymm7, ymm5, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xe8f4d5c5 // vpmuludq ymm5, ymm5, ymm0
LONG $0xeed4d5c5 // vpaddq ymm5, ymm5, ymm6
LONG $0x7f7ec1c4; WORD $0xf814 // vmovdqu yword [r8 + 8*rdi], ymm2
LONG $0x7f7ec1c4; WORD $0xf85c; BYTE $0x20 // vmovdqu yword [r8 + 8*rdi + 32], ymm3
LONG $0x7f7ec1c4; WORD $0xf864; BYTE $0x40 // vmovdqu yword [r8 + 8*rdi + 64], ymm4
LONG $0x7f7ec1c4; WORD $0xf86c; BYTE $0x60 // vmovdqu yword [r8 + 8*rdi + 96], ymm5
QUAD $0x000080f9946ffec5; BYTE $0x00 // vmovdqu ymm2, yword [rcx + 8*rdi + 128]
QUAD $0x0000a0f99c6ffec5; BYTE $0x00 // vmovdqu ymm3, yword [rcx + 8*rdi + 160]
QUAD $0x0000c0f9a46ffec5; BYTE $0x00 // vmovdqu ymm4, yword [rcx + 8*rdi + 192]
QUAD $0x0000e0f9ac6ffec5; BYTE $0x00 // vmovdqu ymm5, yword [rcx + 8*rdi + 224]
LONG $0xf1f4edc5 // vpmuludq ymm6, ymm2, ymm1
LONG $0xd273c5c5; BYTE $0x20 // vpsrlq ymm7, ymm2, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xd0f4edc5 // vpmuludq ymm2, ymm2, ymm0
LONG $0xd6d4edc5 // vpaddq ymm2, ymm2, ymm6
LONG $0xf1f4e5c5 // vpmuludq ymm6, ymm3, ymm1
LONG $0xd373c5c5; BYTE $0x20 // vpsrlq ymm7, ymm3, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xd8f4e5c5 // vpmuludq ymm3, ymm3, ymm0
LONG $0xded4e5c5 // vpaddq ymm3, ymm3, ymm6
LONG $0xf1f4ddc5 // vpmuludq ymm6, ymm4, ymm1
LONG $0xd473c5c5; BYTE $0x20 // vpsrlq ymm7, ymm4, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xe0f4ddc5 // vpmuludq ymm4, ymm4, ymm0
LONG $0xe6d4ddc5 // vpaddq ymm4, ymm4, ymm6
LONG $0xf1f4d5c5 // vpmuludq ymm6, ymm5, ymm1
LONG $0xd573c5c5; BYTE $0x20 // vpsrlq ymm7, ymm5, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xe8f4d5c5 // vpmuludq ymm5, ymm5, ymm0
LONG $0xeed4d5c5 // vpaddq ymm5, ymm5, ymm6
QUAD $0x0080f8947f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 128], ymm2
QUAD $0x00a0f89c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 160], ymm3
QUAD $0x00c0f8a47f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 192], ymm4
QUAD $0x00e0f8ac7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 224], ymm5
LONG $0x20c78348 // add rdi, 32
LONG $0x02c28348 // add rdx, 2
JNE LBB2_553
JMP LBB2_934
LBB2_554:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xe0 // and edx, -32
LONG $0x187de2c4; BYTE $0xc8 // vbroadcastss ymm1, xmm0
LONG $0xe0728d48 // lea rsi, [rdx - 32]
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xf6 // test rsi, rsi
JE LBB2_941
WORD $0x894c; BYTE $0xce // mov rsi, r9
LONG $0xfee68348 // and rsi, -2
WORD $0xf748; BYTE $0xde // neg rsi
WORD $0xff31 // xor edi, edi
LBB2_556:
LONG $0x1459f4c5; BYTE $0xb9 // vmulps ymm2, ymm1, yword [rcx + 4*rdi]
LONG $0x5c59f4c5; WORD $0x20b9 // vmulps ymm3, ymm1, yword [rcx + 4*rdi + 32]
LONG $0x6459f4c5; WORD $0x40b9 // vmulps ymm4, ymm1, yword [rcx + 4*rdi + 64]
LONG $0x6c59f4c5; WORD $0x60b9 // vmulps ymm5, ymm1, yword [rcx + 4*rdi + 96]
LONG $0x117cc1c4; WORD $0xb814 // vmovups yword [r8 + 4*rdi], ymm2
LONG $0x117cc1c4; WORD $0xb85c; BYTE $0x20 // vmovups yword [r8 + 4*rdi + 32], ymm3
LONG $0x117cc1c4; WORD $0xb864; BYTE $0x40 // vmovups yword [r8 + 4*rdi + 64], ymm4
LONG $0x117cc1c4; WORD $0xb86c; BYTE $0x60 // vmovups yword [r8 + 4*rdi + 96], ymm5
QUAD $0x000080b99459f4c5; BYTE $0x00 // vmulps ymm2, ymm1, yword [rcx + 4*rdi + 128]
QUAD $0x0000a0b99c59f4c5; BYTE $0x00 // vmulps ymm3, ymm1, yword [rcx + 4*rdi + 160]
QUAD $0x0000c0b9a459f4c5; BYTE $0x00 // vmulps ymm4, ymm1, yword [rcx + 4*rdi + 192]
QUAD $0x0000e0b9ac59f4c5; BYTE $0x00 // vmulps ymm5, ymm1, yword [rcx + 4*rdi + 224]
QUAD $0x0080b894117cc1c4; WORD $0x0000 // vmovups yword [r8 + 4*rdi + 128], ymm2
QUAD $0x00a0b89c117cc1c4; WORD $0x0000 // vmovups yword [r8 + 4*rdi + 160], ymm3
QUAD $0x00c0b8a4117cc1c4; WORD $0x0000 // vmovups yword [r8 + 4*rdi + 192], ymm4
QUAD $0x00e0b8ac117cc1c4; WORD $0x0000 // vmovups yword [r8 + 4*rdi + 224], ymm5
LONG $0x40c78348 // add rdi, 64
LONG $0x02c68348 // add rsi, 2
JNE LBB2_556
JMP LBB2_942
LBB2_557:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0x6ef9e1c4; BYTE $0xc0 // vmovq xmm0, rax
LONG $0x597de2c4; BYTE $0xc0 // vpbroadcastq ymm0, xmm0
LONG $0xf0568d48 // lea rdx, [rsi - 16]
WORD $0x8949; BYTE $0xd1 // mov r9, rdx
LONG $0x04e9c149 // shr r9, 4
LONG $0x01c18349 // add r9, 1
LONG $0xd073f5c5; BYTE $0x20 // vpsrlq ymm1, ymm0, 32
WORD $0x8548; BYTE $0xd2 // test rdx, rdx
JE LBB2_949
WORD $0x894c; BYTE $0xca // mov rdx, r9
LONG $0xfee28348 // and rdx, -2
WORD $0xf748; BYTE $0xda // neg rdx
WORD $0xff31 // xor edi, edi
LBB2_559:
LONG $0x146ffec5; BYTE $0xf9 // vmovdqu ymm2, yword [rcx + 8*rdi]
LONG $0x5c6ffec5; WORD $0x20f9 // vmovdqu ymm3, yword [rcx + 8*rdi + 32]
LONG $0x646ffec5; WORD $0x40f9 // vmovdqu ymm4, yword [rcx + 8*rdi + 64]
LONG $0x6c6ffec5; WORD $0x60f9 // vmovdqu ymm5, yword [rcx + 8*rdi + 96]
LONG $0xf1f4edc5 // vpmuludq ymm6, ymm2, ymm1
LONG $0xd273c5c5; BYTE $0x20 // vpsrlq ymm7, ymm2, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xd0f4edc5 // vpmuludq ymm2, ymm2, ymm0
LONG $0xd6d4edc5 // vpaddq ymm2, ymm2, ymm6
LONG $0xf1f4e5c5 // vpmuludq ymm6, ymm3, ymm1
LONG $0xd373c5c5; BYTE $0x20 // vpsrlq ymm7, ymm3, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xd8f4e5c5 // vpmuludq ymm3, ymm3, ymm0
LONG $0xded4e5c5 // vpaddq ymm3, ymm3, ymm6
LONG $0xf1f4ddc5 // vpmuludq ymm6, ymm4, ymm1
LONG $0xd473c5c5; BYTE $0x20 // vpsrlq ymm7, ymm4, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xe0f4ddc5 // vpmuludq ymm4, ymm4, ymm0
LONG $0xe6d4ddc5 // vpaddq ymm4, ymm4, ymm6
LONG $0xf1f4d5c5 // vpmuludq ymm6, ymm5, ymm1
LONG $0xd573c5c5; BYTE $0x20 // vpsrlq ymm7, ymm5, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xe8f4d5c5 // vpmuludq ymm5, ymm5, ymm0
LONG $0xeed4d5c5 // vpaddq ymm5, ymm5, ymm6
LONG $0x7f7ec1c4; WORD $0xf814 // vmovdqu yword [r8 + 8*rdi], ymm2
LONG $0x7f7ec1c4; WORD $0xf85c; BYTE $0x20 // vmovdqu yword [r8 + 8*rdi + 32], ymm3
LONG $0x7f7ec1c4; WORD $0xf864; BYTE $0x40 // vmovdqu yword [r8 + 8*rdi + 64], ymm4
LONG $0x7f7ec1c4; WORD $0xf86c; BYTE $0x60 // vmovdqu yword [r8 + 8*rdi + 96], ymm5
QUAD $0x000080f9946ffec5; BYTE $0x00 // vmovdqu ymm2, yword [rcx + 8*rdi + 128]
QUAD $0x0000a0f99c6ffec5; BYTE $0x00 // vmovdqu ymm3, yword [rcx + 8*rdi + 160]
QUAD $0x0000c0f9a46ffec5; BYTE $0x00 // vmovdqu ymm4, yword [rcx + 8*rdi + 192]
QUAD $0x0000e0f9ac6ffec5; BYTE $0x00 // vmovdqu ymm5, yword [rcx + 8*rdi + 224]
LONG $0xf1f4edc5 // vpmuludq ymm6, ymm2, ymm1
LONG $0xd273c5c5; BYTE $0x20 // vpsrlq ymm7, ymm2, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xd0f4edc5 // vpmuludq ymm2, ymm2, ymm0
LONG $0xd6d4edc5 // vpaddq ymm2, ymm2, ymm6
LONG $0xf1f4e5c5 // vpmuludq ymm6, ymm3, ymm1
LONG $0xd373c5c5; BYTE $0x20 // vpsrlq ymm7, ymm3, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xd8f4e5c5 // vpmuludq ymm3, ymm3, ymm0
LONG $0xded4e5c5 // vpaddq ymm3, ymm3, ymm6
LONG $0xf1f4ddc5 // vpmuludq ymm6, ymm4, ymm1
LONG $0xd473c5c5; BYTE $0x20 // vpsrlq ymm7, ymm4, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xe0f4ddc5 // vpmuludq ymm4, ymm4, ymm0
LONG $0xe6d4ddc5 // vpaddq ymm4, ymm4, ymm6
LONG $0xf1f4d5c5 // vpmuludq ymm6, ymm5, ymm1
LONG $0xd573c5c5; BYTE $0x20 // vpsrlq ymm7, ymm5, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xe8f4d5c5 // vpmuludq ymm5, ymm5, ymm0
LONG $0xeed4d5c5 // vpaddq ymm5, ymm5, ymm6
QUAD $0x0080f8947f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 128], ymm2
QUAD $0x00a0f89c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 160], ymm3
QUAD $0x00c0f8a47f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 192], ymm4
QUAD $0x00e0f8ac7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 224], ymm5
LONG $0x20c78348 // add rdi, 32
LONG $0x02c28348 // add rdx, 2
JNE LBB2_559
JMP LBB2_950
LBB2_560:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xe0 // and edx, -32
LONG $0x187de2c4; BYTE $0xc8 // vbroadcastss ymm1, xmm0
LONG $0xe0728d48 // lea rsi, [rdx - 32]
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xf6 // test rsi, rsi
JE LBB2_957
WORD $0x894c; BYTE $0xce // mov rsi, r9
LONG $0xfee68348 // and rsi, -2
WORD $0xf748; BYTE $0xde // neg rsi
WORD $0xff31 // xor edi, edi
LBB2_562:
LONG $0x1459f4c5; BYTE $0xb9 // vmulps ymm2, ymm1, yword [rcx + 4*rdi]
LONG $0x5c59f4c5; WORD $0x20b9 // vmulps ymm3, ymm1, yword [rcx + 4*rdi + 32]
LONG $0x6459f4c5; WORD $0x40b9 // vmulps ymm4, ymm1, yword [rcx + 4*rdi + 64]
LONG $0x6c59f4c5; WORD $0x60b9 // vmulps ymm5, ymm1, yword [rcx + 4*rdi + 96]
LONG $0x117cc1c4; WORD $0xb814 // vmovups yword [r8 + 4*rdi], ymm2
LONG $0x117cc1c4; WORD $0xb85c; BYTE $0x20 // vmovups yword [r8 + 4*rdi + 32], ymm3
LONG $0x117cc1c4; WORD $0xb864; BYTE $0x40 // vmovups yword [r8 + 4*rdi + 64], ymm4
LONG $0x117cc1c4; WORD $0xb86c; BYTE $0x60 // vmovups yword [r8 + 4*rdi + 96], ymm5
QUAD $0x000080b99459f4c5; BYTE $0x00 // vmulps ymm2, ymm1, yword [rcx + 4*rdi + 128]
QUAD $0x0000a0b99c59f4c5; BYTE $0x00 // vmulps ymm3, ymm1, yword [rcx + 4*rdi + 160]
QUAD $0x0000c0b9a459f4c5; BYTE $0x00 // vmulps ymm4, ymm1, yword [rcx + 4*rdi + 192]
QUAD $0x0000e0b9ac59f4c5; BYTE $0x00 // vmulps ymm5, ymm1, yword [rcx + 4*rdi + 224]
QUAD $0x0080b894117cc1c4; WORD $0x0000 // vmovups yword [r8 + 4*rdi + 128], ymm2
QUAD $0x00a0b89c117cc1c4; WORD $0x0000 // vmovups yword [r8 + 4*rdi + 160], ymm3
QUAD $0x00c0b8a4117cc1c4; WORD $0x0000 // vmovups yword [r8 + 4*rdi + 192], ymm4
QUAD $0x00e0b8ac117cc1c4; WORD $0x0000 // vmovups yword [r8 + 4*rdi + 224], ymm5
LONG $0x40c78348 // add rdi, 64
LONG $0x02c68348 // add rsi, 2
JNE LBB2_562
JMP LBB2_958
LBB2_563:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0x6ef9e1c4; BYTE $0xc0 // vmovq xmm0, rax
LONG $0x597de2c4; BYTE $0xc0 // vpbroadcastq ymm0, xmm0
LONG $0xf0568d48 // lea rdx, [rsi - 16]
WORD $0x8949; BYTE $0xd1 // mov r9, rdx
LONG $0x04e9c149 // shr r9, 4
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xd2 // test rdx, rdx
JE LBB2_965
WORD $0x894c; BYTE $0xca // mov rdx, r9
LONG $0xfee28348 // and rdx, -2
WORD $0xf748; BYTE $0xda // neg rdx
WORD $0xff31 // xor edi, edi
LBB2_565:
LONG $0x0cd4fdc5; BYTE $0xf9 // vpaddq ymm1, ymm0, yword [rcx + 8*rdi]
LONG $0x54d4fdc5; WORD $0x20f9 // vpaddq ymm2, ymm0, yword [rcx + 8*rdi + 32]
LONG $0x5cd4fdc5; WORD $0x40f9 // vpaddq ymm3, ymm0, yword [rcx + 8*rdi + 64]
LONG $0x64d4fdc5; WORD $0x60f9 // vpaddq ymm4, ymm0, yword [rcx + 8*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xf80c // vmovdqu yword [r8 + 8*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xf854; BYTE $0x20 // vmovdqu yword [r8 + 8*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xf85c; BYTE $0x40 // vmovdqu yword [r8 + 8*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xf864; BYTE $0x60 // vmovdqu yword [r8 + 8*rdi + 96], ymm4
QUAD $0x000080f98cd4fdc5; BYTE $0x00 // vpaddq ymm1, ymm0, yword [rcx + 8*rdi + 128]
QUAD $0x0000a0f994d4fdc5; BYTE $0x00 // vpaddq ymm2, ymm0, yword [rcx + 8*rdi + 160]
QUAD $0x0000c0f99cd4fdc5; BYTE $0x00 // vpaddq ymm3, ymm0, yword [rcx + 8*rdi + 192]
QUAD $0x0000e0f9a4d4fdc5; BYTE $0x00 // vpaddq ymm4, ymm0, yword [rcx + 8*rdi + 224]
QUAD $0x0080f88c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 128], ymm1
QUAD $0x00a0f8947f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 160], ymm2
QUAD $0x00c0f89c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 192], ymm3
QUAD $0x00e0f8a47f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 224], ymm4
LONG $0x20c78348 // add rdi, 32
LONG $0x02c28348 // add rdx, 2
JNE LBB2_565
JMP LBB2_966
LBB2_566:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xe0 // and edx, -32
LONG $0x187de2c4; BYTE $0xc8 // vbroadcastss ymm1, xmm0
LONG $0xe0728d48 // lea rsi, [rdx - 32]
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xf6 // test rsi, rsi
JE LBB2_973
WORD $0x894c; BYTE $0xce // mov rsi, r9
LONG $0xfee68348 // and rsi, -2
WORD $0xf748; BYTE $0xde // neg rsi
WORD $0xff31 // xor edi, edi
LBB2_568:
LONG $0x1458f4c5; BYTE $0xb9 // vaddps ymm2, ymm1, yword [rcx + 4*rdi]
LONG $0x5c58f4c5; WORD $0x20b9 // vaddps ymm3, ymm1, yword [rcx + 4*rdi + 32]
LONG $0x6458f4c5; WORD $0x40b9 // vaddps ymm4, ymm1, yword [rcx + 4*rdi + 64]
LONG $0x6c58f4c5; WORD $0x60b9 // vaddps ymm5, ymm1, yword [rcx + 4*rdi + 96]
LONG $0x117cc1c4; WORD $0xb814 // vmovups yword [r8 + 4*rdi], ymm2
LONG $0x117cc1c4; WORD $0xb85c; BYTE $0x20 // vmovups yword [r8 + 4*rdi + 32], ymm3
LONG $0x117cc1c4; WORD $0xb864; BYTE $0x40 // vmovups yword [r8 + 4*rdi + 64], ymm4
LONG $0x117cc1c4; WORD $0xb86c; BYTE $0x60 // vmovups yword [r8 + 4*rdi + 96], ymm5
QUAD $0x000080b99458f4c5; BYTE $0x00 // vaddps ymm2, ymm1, yword [rcx + 4*rdi + 128]
QUAD $0x0000a0b99c58f4c5; BYTE $0x00 // vaddps ymm3, ymm1, yword [rcx + 4*rdi + 160]
QUAD $0x0000c0b9a458f4c5; BYTE $0x00 // vaddps ymm4, ymm1, yword [rcx + 4*rdi + 192]
QUAD $0x0000e0b9ac58f4c5; BYTE $0x00 // vaddps ymm5, ymm1, yword [rcx + 4*rdi + 224]
QUAD $0x0080b894117cc1c4; WORD $0x0000 // vmovups yword [r8 + 4*rdi + 128], ymm2
QUAD $0x00a0b89c117cc1c4; WORD $0x0000 // vmovups yword [r8 + 4*rdi + 160], ymm3
QUAD $0x00c0b8a4117cc1c4; WORD $0x0000 // vmovups yword [r8 + 4*rdi + 192], ymm4
QUAD $0x00e0b8ac117cc1c4; WORD $0x0000 // vmovups yword [r8 + 4*rdi + 224], ymm5
LONG $0x40c78348 // add rdi, 64
LONG $0x02c68348 // add rsi, 2
JNE LBB2_568
JMP LBB2_974
LBB2_569:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0x6ef9c1c4; BYTE $0xc3 // vmovq xmm0, r11
LONG $0x597de2c4; BYTE $0xc0 // vpbroadcastq ymm0, xmm0
LONG $0xf0568d48 // lea rdx, [rsi - 16]
WORD $0x8949; BYTE $0xd1 // mov r9, rdx
LONG $0x04e9c149 // shr r9, 4
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xd2 // test rdx, rdx
JE LBB2_981
WORD $0x894c; BYTE $0xca // mov rdx, r9
LONG $0xfee28348 // and rdx, -2
WORD $0xf748; BYTE $0xda // neg rdx
WORD $0xff31 // xor edi, edi
LBB2_571:
LONG $0x0cfbfdc5; BYTE $0xf9 // vpsubq ymm1, ymm0, yword [rcx + 8*rdi]
LONG $0x54fbfdc5; WORD $0x20f9 // vpsubq ymm2, ymm0, yword [rcx + 8*rdi + 32]
LONG $0x5cfbfdc5; WORD $0x40f9 // vpsubq ymm3, ymm0, yword [rcx + 8*rdi + 64]
LONG $0x64fbfdc5; WORD $0x60f9 // vpsubq ymm4, ymm0, yword [rcx + 8*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xf80c // vmovdqu yword [r8 + 8*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xf854; BYTE $0x20 // vmovdqu yword [r8 + 8*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xf85c; BYTE $0x40 // vmovdqu yword [r8 + 8*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xf864; BYTE $0x60 // vmovdqu yword [r8 + 8*rdi + 96], ymm4
QUAD $0x000080f98cfbfdc5; BYTE $0x00 // vpsubq ymm1, ymm0, yword [rcx + 8*rdi + 128]
QUAD $0x0000a0f994fbfdc5; BYTE $0x00 // vpsubq ymm2, ymm0, yword [rcx + 8*rdi + 160]
QUAD $0x0000c0f99cfbfdc5; BYTE $0x00 // vpsubq ymm3, ymm0, yword [rcx + 8*rdi + 192]
QUAD $0x0000e0f9a4fbfdc5; BYTE $0x00 // vpsubq ymm4, ymm0, yword [rcx + 8*rdi + 224]
QUAD $0x0080f88c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 128], ymm1
QUAD $0x00a0f8947f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 160], ymm2
QUAD $0x00c0f89c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 192], ymm3
QUAD $0x00e0f8a47f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 224], ymm4
LONG $0x20c78348 // add rdi, 32
LONG $0x02c28348 // add rdx, 2
JNE LBB2_571
JMP LBB2_982
LBB2_572:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xe0 // and edx, -32
LONG $0x187de2c4; BYTE $0xc8 // vbroadcastss ymm1, xmm0
LONG $0xe0728d48 // lea rsi, [rdx - 32]
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xf6 // test rsi, rsi
JE LBB2_989
WORD $0x894c; BYTE $0xce // mov rsi, r9
LONG $0xfee68348 // and rsi, -2
WORD $0xf748; BYTE $0xde // neg rsi
WORD $0xff31 // xor edi, edi
LBB2_574:
LONG $0x145cf4c5; BYTE $0xb9 // vsubps ymm2, ymm1, yword [rcx + 4*rdi]
LONG $0x5c5cf4c5; WORD $0x20b9 // vsubps ymm3, ymm1, yword [rcx + 4*rdi + 32]
LONG $0x645cf4c5; WORD $0x40b9 // vsubps ymm4, ymm1, yword [rcx + 4*rdi + 64]
LONG $0x6c5cf4c5; WORD $0x60b9 // vsubps ymm5, ymm1, yword [rcx + 4*rdi + 96]
LONG $0x117cc1c4; WORD $0xb814 // vmovups yword [r8 + 4*rdi], ymm2
LONG $0x117cc1c4; WORD $0xb85c; BYTE $0x20 // vmovups yword [r8 + 4*rdi + 32], ymm3
LONG $0x117cc1c4; WORD $0xb864; BYTE $0x40 // vmovups yword [r8 + 4*rdi + 64], ymm4
LONG $0x117cc1c4; WORD $0xb86c; BYTE $0x60 // vmovups yword [r8 + 4*rdi + 96], ymm5
QUAD $0x000080b9945cf4c5; BYTE $0x00 // vsubps ymm2, ymm1, yword [rcx + 4*rdi + 128]
QUAD $0x0000a0b99c5cf4c5; BYTE $0x00 // vsubps ymm3, ymm1, yword [rcx + 4*rdi + 160]
QUAD $0x0000c0b9a45cf4c5; BYTE $0x00 // vsubps ymm4, ymm1, yword [rcx + 4*rdi + 192]
QUAD $0x0000e0b9ac5cf4c5; BYTE $0x00 // vsubps ymm5, ymm1, yword [rcx + 4*rdi + 224]
QUAD $0x0080b894117cc1c4; WORD $0x0000 // vmovups yword [r8 + 4*rdi + 128], ymm2
QUAD $0x00a0b89c117cc1c4; WORD $0x0000 // vmovups yword [r8 + 4*rdi + 160], ymm3
QUAD $0x00c0b8a4117cc1c4; WORD $0x0000 // vmovups yword [r8 + 4*rdi + 192], ymm4
QUAD $0x00e0b8ac117cc1c4; WORD $0x0000 // vmovups yword [r8 + 4*rdi + 224], ymm5
LONG $0x40c78348 // add rdi, 64
LONG $0x02c68348 // add rsi, 2
JNE LBB2_574
JMP LBB2_990
LBB2_575:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0x6ef9e1c4; BYTE $0xc0 // vmovq xmm0, rax
LONG $0x597de2c4; BYTE $0xc0 // vpbroadcastq ymm0, xmm0
LONG $0xf0568d48 // lea rdx, [rsi - 16]
WORD $0x8949; BYTE $0xd1 // mov r9, rdx
LONG $0x04e9c149 // shr r9, 4
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xd2 // test rdx, rdx
JE LBB2_997
WORD $0x894c; BYTE $0xca // mov rdx, r9
LONG $0xfee28348 // and rdx, -2
WORD $0xf748; BYTE $0xda // neg rdx
WORD $0xff31 // xor edi, edi
LBB2_577:
LONG $0x0cd4fdc5; BYTE $0xf9 // vpaddq ymm1, ymm0, yword [rcx + 8*rdi]
LONG $0x54d4fdc5; WORD $0x20f9 // vpaddq ymm2, ymm0, yword [rcx + 8*rdi + 32]
LONG $0x5cd4fdc5; WORD $0x40f9 // vpaddq ymm3, ymm0, yword [rcx + 8*rdi + 64]
LONG $0x64d4fdc5; WORD $0x60f9 // vpaddq ymm4, ymm0, yword [rcx + 8*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xf80c // vmovdqu yword [r8 + 8*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xf854; BYTE $0x20 // vmovdqu yword [r8 + 8*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xf85c; BYTE $0x40 // vmovdqu yword [r8 + 8*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xf864; BYTE $0x60 // vmovdqu yword [r8 + 8*rdi + 96], ymm4
QUAD $0x000080f98cd4fdc5; BYTE $0x00 // vpaddq ymm1, ymm0, yword [rcx + 8*rdi + 128]
QUAD $0x0000a0f994d4fdc5; BYTE $0x00 // vpaddq ymm2, ymm0, yword [rcx + 8*rdi + 160]
QUAD $0x0000c0f99cd4fdc5; BYTE $0x00 // vpaddq ymm3, ymm0, yword [rcx + 8*rdi + 192]
QUAD $0x0000e0f9a4d4fdc5; BYTE $0x00 // vpaddq ymm4, ymm0, yword [rcx + 8*rdi + 224]
QUAD $0x0080f88c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 128], ymm1
QUAD $0x00a0f8947f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 160], ymm2
QUAD $0x00c0f89c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 192], ymm3
QUAD $0x00e0f8a47f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 224], ymm4
LONG $0x20c78348 // add rdi, 32
LONG $0x02c28348 // add rdx, 2
JNE LBB2_577
JMP LBB2_998
LBB2_578:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xe0 // and edx, -32
LONG $0x187de2c4; BYTE $0xc8 // vbroadcastss ymm1, xmm0
LONG $0xe0728d48 // lea rsi, [rdx - 32]
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xf6 // test rsi, rsi
JE LBB2_1005
WORD $0x894c; BYTE $0xce // mov rsi, r9
LONG $0xfee68348 // and rsi, -2
WORD $0xf748; BYTE $0xde // neg rsi
WORD $0xff31 // xor edi, edi
LBB2_580:
LONG $0x1458f4c5; BYTE $0xb9 // vaddps ymm2, ymm1, yword [rcx + 4*rdi]
LONG $0x5c58f4c5; WORD $0x20b9 // vaddps ymm3, ymm1, yword [rcx + 4*rdi + 32]
LONG $0x6458f4c5; WORD $0x40b9 // vaddps ymm4, ymm1, yword [rcx + 4*rdi + 64]
LONG $0x6c58f4c5; WORD $0x60b9 // vaddps ymm5, ymm1, yword [rcx + 4*rdi + 96]
LONG $0x117cc1c4; WORD $0xb814 // vmovups yword [r8 + 4*rdi], ymm2
LONG $0x117cc1c4; WORD $0xb85c; BYTE $0x20 // vmovups yword [r8 + 4*rdi + 32], ymm3
LONG $0x117cc1c4; WORD $0xb864; BYTE $0x40 // vmovups yword [r8 + 4*rdi + 64], ymm4
LONG $0x117cc1c4; WORD $0xb86c; BYTE $0x60 // vmovups yword [r8 + 4*rdi + 96], ymm5
QUAD $0x000080b99458f4c5; BYTE $0x00 // vaddps ymm2, ymm1, yword [rcx + 4*rdi + 128]
QUAD $0x0000a0b99c58f4c5; BYTE $0x00 // vaddps ymm3, ymm1, yword [rcx + 4*rdi + 160]
QUAD $0x0000c0b9a458f4c5; BYTE $0x00 // vaddps ymm4, ymm1, yword [rcx + 4*rdi + 192]
QUAD $0x0000e0b9ac58f4c5; BYTE $0x00 // vaddps ymm5, ymm1, yword [rcx + 4*rdi + 224]
QUAD $0x0080b894117cc1c4; WORD $0x0000 // vmovups yword [r8 + 4*rdi + 128], ymm2
QUAD $0x00a0b89c117cc1c4; WORD $0x0000 // vmovups yword [r8 + 4*rdi + 160], ymm3
QUAD $0x00c0b8a4117cc1c4; WORD $0x0000 // vmovups yword [r8 + 4*rdi + 192], ymm4
QUAD $0x00e0b8ac117cc1c4; WORD $0x0000 // vmovups yword [r8 + 4*rdi + 224], ymm5
LONG $0x40c78348 // add rdi, 64
LONG $0x02c68348 // add rsi, 2
JNE LBB2_580
JMP LBB2_1006
LBB2_581:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0x6ef9c1c4; BYTE $0xc3 // vmovq xmm0, r11
LONG $0x597de2c4; BYTE $0xc0 // vpbroadcastq ymm0, xmm0
LONG $0xf0568d48 // lea rdx, [rsi - 16]
WORD $0x8949; BYTE $0xd1 // mov r9, rdx
LONG $0x04e9c149 // shr r9, 4
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xd2 // test rdx, rdx
JE LBB2_1013
WORD $0x894c; BYTE $0xca // mov rdx, r9
LONG $0xfee28348 // and rdx, -2
WORD $0xf748; BYTE $0xda // neg rdx
WORD $0xff31 // xor edi, edi
LBB2_583:
LONG $0x0cfbfdc5; BYTE $0xf9 // vpsubq ymm1, ymm0, yword [rcx + 8*rdi]
LONG $0x54fbfdc5; WORD $0x20f9 // vpsubq ymm2, ymm0, yword [rcx + 8*rdi + 32]
LONG $0x5cfbfdc5; WORD $0x40f9 // vpsubq ymm3, ymm0, yword [rcx + 8*rdi + 64]
LONG $0x64fbfdc5; WORD $0x60f9 // vpsubq ymm4, ymm0, yword [rcx + 8*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xf80c // vmovdqu yword [r8 + 8*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xf854; BYTE $0x20 // vmovdqu yword [r8 + 8*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xf85c; BYTE $0x40 // vmovdqu yword [r8 + 8*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xf864; BYTE $0x60 // vmovdqu yword [r8 + 8*rdi + 96], ymm4
QUAD $0x000080f98cfbfdc5; BYTE $0x00 // vpsubq ymm1, ymm0, yword [rcx + 8*rdi + 128]
QUAD $0x0000a0f994fbfdc5; BYTE $0x00 // vpsubq ymm2, ymm0, yword [rcx + 8*rdi + 160]
QUAD $0x0000c0f99cfbfdc5; BYTE $0x00 // vpsubq ymm3, ymm0, yword [rcx + 8*rdi + 192]
QUAD $0x0000e0f9a4fbfdc5; BYTE $0x00 // vpsubq ymm4, ymm0, yword [rcx + 8*rdi + 224]
QUAD $0x0080f88c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 128], ymm1
QUAD $0x00a0f8947f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 160], ymm2
QUAD $0x00c0f89c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 192], ymm3
QUAD $0x00e0f8a47f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 8*rdi + 224], ymm4
LONG $0x20c78348 // add rdi, 32
LONG $0x02c28348 // add rdx, 2
JNE LBB2_583
JMP LBB2_1014
LBB2_584:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xe0 // and edx, -32
LONG $0x187de2c4; BYTE $0xc8 // vbroadcastss ymm1, xmm0
LONG $0xe0728d48 // lea rsi, [rdx - 32]
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xf6 // test rsi, rsi
JE LBB2_1021
WORD $0x894c; BYTE $0xce // mov rsi, r9
LONG $0xfee68348 // and rsi, -2
WORD $0xf748; BYTE $0xde // neg rsi
WORD $0xff31 // xor edi, edi
LBB2_586:
LONG $0x145cf4c5; BYTE $0xb9 // vsubps ymm2, ymm1, yword [rcx + 4*rdi]
LONG $0x5c5cf4c5; WORD $0x20b9 // vsubps ymm3, ymm1, yword [rcx + 4*rdi + 32]
LONG $0x645cf4c5; WORD $0x40b9 // vsubps ymm4, ymm1, yword [rcx + 4*rdi + 64]
LONG $0x6c5cf4c5; WORD $0x60b9 // vsubps ymm5, ymm1, yword [rcx + 4*rdi + 96]
LONG $0x117cc1c4; WORD $0xb814 // vmovups yword [r8 + 4*rdi], ymm2
LONG $0x117cc1c4; WORD $0xb85c; BYTE $0x20 // vmovups yword [r8 + 4*rdi + 32], ymm3
LONG $0x117cc1c4; WORD $0xb864; BYTE $0x40 // vmovups yword [r8 + 4*rdi + 64], ymm4
LONG $0x117cc1c4; WORD $0xb86c; BYTE $0x60 // vmovups yword [r8 + 4*rdi + 96], ymm5
QUAD $0x000080b9945cf4c5; BYTE $0x00 // vsubps ymm2, ymm1, yword [rcx + 4*rdi + 128]
QUAD $0x0000a0b99c5cf4c5; BYTE $0x00 // vsubps ymm3, ymm1, yword [rcx + 4*rdi + 160]
QUAD $0x0000c0b9a45cf4c5; BYTE $0x00 // vsubps ymm4, ymm1, yword [rcx + 4*rdi + 192]
QUAD $0x0000e0b9ac5cf4c5; BYTE $0x00 // vsubps ymm5, ymm1, yword [rcx + 4*rdi + 224]
QUAD $0x0080b894117cc1c4; WORD $0x0000 // vmovups yword [r8 + 4*rdi + 128], ymm2
QUAD $0x00a0b89c117cc1c4; WORD $0x0000 // vmovups yword [r8 + 4*rdi + 160], ymm3
QUAD $0x00c0b8a4117cc1c4; WORD $0x0000 // vmovups yword [r8 + 4*rdi + 192], ymm4
QUAD $0x00e0b8ac117cc1c4; WORD $0x0000 // vmovups yword [r8 + 4*rdi + 224], ymm5
LONG $0x40c78348 // add rdi, 64
LONG $0x02c68348 // add rsi, 2
JNE LBB2_586
JMP LBB2_1022
LBB2_587:
WORD $0x8944; BYTE $0xd7 // mov edi, r10d
WORD $0xe783; BYTE $0xe0 // and edi, -32
LONG $0xc26ef9c5 // vmovd xmm0, edx
LONG $0x787de2c4; BYTE $0xc0 // vpbroadcastb ymm0, xmm0
LONG $0xe0778d48 // lea rsi, [rdi - 32]
WORD $0x8948; BYTE $0xf0 // mov rax, rsi
LONG $0x05e8c148 // shr rax, 5
LONG $0x01c08348 // add rax, 1
WORD $0x8941; BYTE $0xc1 // mov r9d, eax
LONG $0x03e18341 // and r9d, 3
LONG $0x60fe8348 // cmp rsi, 96
JAE LBB2_641
WORD $0xf631 // xor esi, esi
JMP LBB2_643
LBB2_589:
WORD $0x8944; BYTE $0xd7 // mov edi, r10d
WORD $0xe783; BYTE $0xe0 // and edi, -32
LONG $0xc26ef9c5 // vmovd xmm0, edx
LONG $0x787de2c4; BYTE $0xc0 // vpbroadcastb ymm0, xmm0
LONG $0xe0778d48 // lea rsi, [rdi - 32]
WORD $0x8948; BYTE $0xf0 // mov rax, rsi
LONG $0x05e8c148 // shr rax, 5
LONG $0x01c08348 // add rax, 1
WORD $0x8941; BYTE $0xc1 // mov r9d, eax
LONG $0x03e18341 // and r9d, 3
LONG $0x60fe8348 // cmp rsi, 96
JAE LBB2_651
WORD $0xf631 // xor esi, esi
JMP LBB2_653
LBB2_591:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0x80 // and esi, -128
LONG $0xc06ef9c5 // vmovd xmm0, eax
LONG $0x787de2c4; BYTE $0xc0 // vpbroadcastb ymm0, xmm0
LONG $0x80568d48 // lea rdx, [rsi - 128]
WORD $0x8949; BYTE $0xd1 // mov r9, rdx
LONG $0x07e9c149 // shr r9, 7
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xd2 // test rdx, rdx
JE LBB2_1029
WORD $0x894c; BYTE $0xca // mov rdx, r9
LONG $0xfee28348 // and rdx, -2
WORD $0xf748; BYTE $0xda // neg rdx
WORD $0xff31 // xor edi, edi
LBB2_593:
LONG $0x0cfcfdc5; BYTE $0x39 // vpaddb ymm1, ymm0, yword [rcx + rdi]
LONG $0x54fcfdc5; WORD $0x2039 // vpaddb ymm2, ymm0, yword [rcx + rdi + 32]
LONG $0x5cfcfdc5; WORD $0x4039 // vpaddb ymm3, ymm0, yword [rcx + rdi + 64]
LONG $0x64fcfdc5; WORD $0x6039 // vpaddb ymm4, ymm0, yword [rcx + rdi + 96]
LONG $0x7f7ec1c4; WORD $0x380c // vmovdqu yword [r8 + rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x3854; BYTE $0x20 // vmovdqu yword [r8 + rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0x385c; BYTE $0x40 // vmovdqu yword [r8 + rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0x3864; BYTE $0x60 // vmovdqu yword [r8 + rdi + 96], ymm4
QUAD $0x000080398cfcfdc5; BYTE $0x00 // vpaddb ymm1, ymm0, yword [rcx + rdi + 128]
QUAD $0x0000a03994fcfdc5; BYTE $0x00 // vpaddb ymm2, ymm0, yword [rcx + rdi + 160]
QUAD $0x0000c0399cfcfdc5; BYTE $0x00 // vpaddb ymm3, ymm0, yword [rcx + rdi + 192]
QUAD $0x0000e039a4fcfdc5; BYTE $0x00 // vpaddb ymm4, ymm0, yword [rcx + rdi + 224]
QUAD $0x0080388c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + rdi + 128], ymm1
QUAD $0x00a038947f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + rdi + 160], ymm2
QUAD $0x00c0389c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + rdi + 192], ymm3
QUAD $0x00e038a47f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + rdi + 224], ymm4
LONG $0x00c78148; WORD $0x0001; BYTE $0x00 // add rdi, 256
LONG $0x02c28348 // add rdx, 2
JNE LBB2_593
JMP LBB2_1030
LBB2_594:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0x80 // and esi, -128
LONG $0xc06ef9c5 // vmovd xmm0, eax
LONG $0x787de2c4; BYTE $0xc0 // vpbroadcastb ymm0, xmm0
LONG $0x80568d48 // lea rdx, [rsi - 128]
WORD $0x8949; BYTE $0xd1 // mov r9, rdx
LONG $0x07e9c149 // shr r9, 7
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xd2 // test rdx, rdx
JE LBB2_1037
WORD $0x894c; BYTE $0xca // mov rdx, r9
LONG $0xfee28348 // and rdx, -2
WORD $0xf748; BYTE $0xda // neg rdx
WORD $0xff31 // xor edi, edi
LBB2_596:
LONG $0x0cf8fdc5; BYTE $0x39 // vpsubb ymm1, ymm0, yword [rcx + rdi]
LONG $0x54f8fdc5; WORD $0x2039 // vpsubb ymm2, ymm0, yword [rcx + rdi + 32]
LONG $0x5cf8fdc5; WORD $0x4039 // vpsubb ymm3, ymm0, yword [rcx + rdi + 64]
LONG $0x64f8fdc5; WORD $0x6039 // vpsubb ymm4, ymm0, yword [rcx + rdi + 96]
LONG $0x7f7ec1c4; WORD $0x380c // vmovdqu yword [r8 + rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x3854; BYTE $0x20 // vmovdqu yword [r8 + rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0x385c; BYTE $0x40 // vmovdqu yword [r8 + rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0x3864; BYTE $0x60 // vmovdqu yword [r8 + rdi + 96], ymm4
QUAD $0x000080398cf8fdc5; BYTE $0x00 // vpsubb ymm1, ymm0, yword [rcx + rdi + 128]
QUAD $0x0000a03994f8fdc5; BYTE $0x00 // vpsubb ymm2, ymm0, yword [rcx + rdi + 160]
QUAD $0x0000c0399cf8fdc5; BYTE $0x00 // vpsubb ymm3, ymm0, yword [rcx + rdi + 192]
QUAD $0x0000e039a4f8fdc5; BYTE $0x00 // vpsubb ymm4, ymm0, yword [rcx + rdi + 224]
QUAD $0x0080388c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + rdi + 128], ymm1
QUAD $0x00a038947f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + rdi + 160], ymm2
QUAD $0x00c0389c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + rdi + 192], ymm3
QUAD $0x00e038a47f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + rdi + 224], ymm4
LONG $0x00c78148; WORD $0x0001; BYTE $0x00 // add rdi, 256
LONG $0x02c28348 // add rdx, 2
JNE LBB2_596
JMP LBB2_1038
LBB2_597:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0x80 // and esi, -128
LONG $0xc06ef9c5 // vmovd xmm0, eax
LONG $0x787de2c4; BYTE $0xc0 // vpbroadcastb ymm0, xmm0
LONG $0x80568d48 // lea rdx, [rsi - 128]
WORD $0x8949; BYTE $0xd1 // mov r9, rdx
LONG $0x07e9c149 // shr r9, 7
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xd2 // test rdx, rdx
JE LBB2_1045
WORD $0x894c; BYTE $0xca // mov rdx, r9
LONG $0xfee28348 // and rdx, -2
WORD $0xf748; BYTE $0xda // neg rdx
WORD $0xff31 // xor edi, edi
LBB2_599:
LONG $0x0cfcfdc5; BYTE $0x39 // vpaddb ymm1, ymm0, yword [rcx + rdi]
LONG $0x54fcfdc5; WORD $0x2039 // vpaddb ymm2, ymm0, yword [rcx + rdi + 32]
LONG $0x5cfcfdc5; WORD $0x4039 // vpaddb ymm3, ymm0, yword [rcx + rdi + 64]
LONG $0x64fcfdc5; WORD $0x6039 // vpaddb ymm4, ymm0, yword [rcx + rdi + 96]
LONG $0x7f7ec1c4; WORD $0x380c // vmovdqu yword [r8 + rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x3854; BYTE $0x20 // vmovdqu yword [r8 + rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0x385c; BYTE $0x40 // vmovdqu yword [r8 + rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0x3864; BYTE $0x60 // vmovdqu yword [r8 + rdi + 96], ymm4
QUAD $0x000080398cfcfdc5; BYTE $0x00 // vpaddb ymm1, ymm0, yword [rcx + rdi + 128]
QUAD $0x0000a03994fcfdc5; BYTE $0x00 // vpaddb ymm2, ymm0, yword [rcx + rdi + 160]
QUAD $0x0000c0399cfcfdc5; BYTE $0x00 // vpaddb ymm3, ymm0, yword [rcx + rdi + 192]
QUAD $0x0000e039a4fcfdc5; BYTE $0x00 // vpaddb ymm4, ymm0, yword [rcx + rdi + 224]
QUAD $0x0080388c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + rdi + 128], ymm1
QUAD $0x00a038947f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + rdi + 160], ymm2
QUAD $0x00c0389c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + rdi + 192], ymm3
QUAD $0x00e038a47f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + rdi + 224], ymm4
LONG $0x00c78148; WORD $0x0001; BYTE $0x00 // add rdi, 256
LONG $0x02c28348 // add rdx, 2
JNE LBB2_599
JMP LBB2_1046
LBB2_600:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0x80 // and esi, -128
LONG $0xc06ef9c5 // vmovd xmm0, eax
LONG $0x787de2c4; BYTE $0xc0 // vpbroadcastb ymm0, xmm0
LONG $0x80568d48 // lea rdx, [rsi - 128]
WORD $0x8949; BYTE $0xd1 // mov r9, rdx
LONG $0x07e9c149 // shr r9, 7
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xd2 // test rdx, rdx
JE LBB2_1053
WORD $0x894c; BYTE $0xca // mov rdx, r9
LONG $0xfee28348 // and rdx, -2
WORD $0xf748; BYTE $0xda // neg rdx
WORD $0xff31 // xor edi, edi
LBB2_602:
LONG $0x0cf8fdc5; BYTE $0x39 // vpsubb ymm1, ymm0, yword [rcx + rdi]
LONG $0x54f8fdc5; WORD $0x2039 // vpsubb ymm2, ymm0, yword [rcx + rdi + 32]
LONG $0x5cf8fdc5; WORD $0x4039 // vpsubb ymm3, ymm0, yword [rcx + rdi + 64]
LONG $0x64f8fdc5; WORD $0x6039 // vpsubb ymm4, ymm0, yword [rcx + rdi + 96]
LONG $0x7f7ec1c4; WORD $0x380c // vmovdqu yword [r8 + rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x3854; BYTE $0x20 // vmovdqu yword [r8 + rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0x385c; BYTE $0x40 // vmovdqu yword [r8 + rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0x3864; BYTE $0x60 // vmovdqu yword [r8 + rdi + 96], ymm4
QUAD $0x000080398cf8fdc5; BYTE $0x00 // vpsubb ymm1, ymm0, yword [rcx + rdi + 128]
QUAD $0x0000a03994f8fdc5; BYTE $0x00 // vpsubb ymm2, ymm0, yword [rcx + rdi + 160]
QUAD $0x0000c0399cf8fdc5; BYTE $0x00 // vpsubb ymm3, ymm0, yword [rcx + rdi + 192]
QUAD $0x0000e039a4f8fdc5; BYTE $0x00 // vpsubb ymm4, ymm0, yword [rcx + rdi + 224]
QUAD $0x0080388c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + rdi + 128], ymm1
QUAD $0x00a038947f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + rdi + 160], ymm2
QUAD $0x00c0389c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + rdi + 192], ymm3
QUAD $0x00e038a47f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + rdi + 224], ymm4
LONG $0x00c78148; WORD $0x0001; BYTE $0x00 // add rdi, 256
LONG $0x02c28348 // add rdx, 2
JNE LBB2_602
JMP LBB2_1054
LBB2_603:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0xc06ef9c5 // vmovd xmm0, eax
LONG $0x587de2c4; BYTE $0xc0 // vpbroadcastd ymm0, xmm0
LONG $0xe0568d48 // lea rdx, [rsi - 32]
WORD $0x8949; BYTE $0xd1 // mov r9, rdx
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xd2 // test rdx, rdx
JE LBB2_1061
WORD $0x894c; BYTE $0xca // mov rdx, r9
LONG $0xfee28348 // and rdx, -2
WORD $0xf748; BYTE $0xda // neg rdx
WORD $0xff31 // xor edi, edi
LBB2_605:
LONG $0x407de2c4; WORD $0xb90c // vpmulld ymm1, ymm0, yword [rcx + 4*rdi]
LONG $0x407de2c4; WORD $0xb954; BYTE $0x20 // vpmulld ymm2, ymm0, yword [rcx + 4*rdi + 32]
LONG $0x407de2c4; WORD $0xb95c; BYTE $0x40 // vpmulld ymm3, ymm0, yword [rcx + 4*rdi + 64]
LONG $0x407de2c4; WORD $0xb964; BYTE $0x60 // vpmulld ymm4, ymm0, yword [rcx + 4*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xb80c // vmovdqu yword [r8 + 4*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xb854; BYTE $0x20 // vmovdqu yword [r8 + 4*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xb85c; BYTE $0x40 // vmovdqu yword [r8 + 4*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xb864; BYTE $0x60 // vmovdqu yword [r8 + 4*rdi + 96], ymm4
QUAD $0x0080b98c407de2c4; WORD $0x0000 // vpmulld ymm1, ymm0, yword [rcx + 4*rdi + 128]
QUAD $0x00a0b994407de2c4; WORD $0x0000 // vpmulld ymm2, ymm0, yword [rcx + 4*rdi + 160]
QUAD $0x00c0b99c407de2c4; WORD $0x0000 // vpmulld ymm3, ymm0, yword [rcx + 4*rdi + 192]
QUAD $0x00e0b9a4407de2c4; WORD $0x0000 // vpmulld ymm4, ymm0, yword [rcx + 4*rdi + 224]
QUAD $0x0080b88c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 128], ymm1
QUAD $0x00a0b8947f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 160], ymm2
QUAD $0x00c0b89c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 192], ymm3
QUAD $0x00e0b8a47f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 224], ymm4
LONG $0x40c78348 // add rdi, 64
LONG $0x02c28348 // add rdx, 2
JNE LBB2_605
JMP LBB2_1062
LBB2_606:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0xc06ef9c5 // vmovd xmm0, eax
LONG $0x587de2c4; BYTE $0xc0 // vpbroadcastd ymm0, xmm0
LONG $0xe0568d48 // lea rdx, [rsi - 32]
WORD $0x8949; BYTE $0xd1 // mov r9, rdx
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xd2 // test rdx, rdx
JE LBB2_1069
WORD $0x894c; BYTE $0xca // mov rdx, r9
LONG $0xfee28348 // and rdx, -2
WORD $0xf748; BYTE $0xda // neg rdx
WORD $0xff31 // xor edi, edi
LBB2_608:
LONG $0x407de2c4; WORD $0xb90c // vpmulld ymm1, ymm0, yword [rcx + 4*rdi]
LONG $0x407de2c4; WORD $0xb954; BYTE $0x20 // vpmulld ymm2, ymm0, yword [rcx + 4*rdi + 32]
LONG $0x407de2c4; WORD $0xb95c; BYTE $0x40 // vpmulld ymm3, ymm0, yword [rcx + 4*rdi + 64]
LONG $0x407de2c4; WORD $0xb964; BYTE $0x60 // vpmulld ymm4, ymm0, yword [rcx + 4*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xb80c // vmovdqu yword [r8 + 4*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xb854; BYTE $0x20 // vmovdqu yword [r8 + 4*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xb85c; BYTE $0x40 // vmovdqu yword [r8 + 4*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xb864; BYTE $0x60 // vmovdqu yword [r8 + 4*rdi + 96], ymm4
QUAD $0x0080b98c407de2c4; WORD $0x0000 // vpmulld ymm1, ymm0, yword [rcx + 4*rdi + 128]
QUAD $0x00a0b994407de2c4; WORD $0x0000 // vpmulld ymm2, ymm0, yword [rcx + 4*rdi + 160]
QUAD $0x00c0b99c407de2c4; WORD $0x0000 // vpmulld ymm3, ymm0, yword [rcx + 4*rdi + 192]
QUAD $0x00e0b9a4407de2c4; WORD $0x0000 // vpmulld ymm4, ymm0, yword [rcx + 4*rdi + 224]
QUAD $0x0080b88c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 128], ymm1
QUAD $0x00a0b8947f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 160], ymm2
QUAD $0x00c0b89c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 192], ymm3
QUAD $0x00e0b8a47f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 224], ymm4
LONG $0x40c78348 // add rdi, 64
LONG $0x02c28348 // add rdx, 2
JNE LBB2_608
JMP LBB2_1070
LBB2_609:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0xc06ef9c5 // vmovd xmm0, eax
LONG $0x587de2c4; BYTE $0xc0 // vpbroadcastd ymm0, xmm0
LONG $0xe0568d48 // lea rdx, [rsi - 32]
WORD $0x8949; BYTE $0xd1 // mov r9, rdx
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xd2 // test rdx, rdx
JE LBB2_1077
WORD $0x894c; BYTE $0xca // mov rdx, r9
LONG $0xfee28348 // and rdx, -2
WORD $0xf748; BYTE $0xda // neg rdx
WORD $0xff31 // xor edi, edi
LBB2_611:
LONG $0x0cfefdc5; BYTE $0xb9 // vpaddd ymm1, ymm0, yword [rcx + 4*rdi]
LONG $0x54fefdc5; WORD $0x20b9 // vpaddd ymm2, ymm0, yword [rcx + 4*rdi + 32]
LONG $0x5cfefdc5; WORD $0x40b9 // vpaddd ymm3, ymm0, yword [rcx + 4*rdi + 64]
LONG $0x64fefdc5; WORD $0x60b9 // vpaddd ymm4, ymm0, yword [rcx + 4*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xb80c // vmovdqu yword [r8 + 4*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xb854; BYTE $0x20 // vmovdqu yword [r8 + 4*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xb85c; BYTE $0x40 // vmovdqu yword [r8 + 4*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xb864; BYTE $0x60 // vmovdqu yword [r8 + 4*rdi + 96], ymm4
QUAD $0x000080b98cfefdc5; BYTE $0x00 // vpaddd ymm1, ymm0, yword [rcx + 4*rdi + 128]
QUAD $0x0000a0b994fefdc5; BYTE $0x00 // vpaddd ymm2, ymm0, yword [rcx + 4*rdi + 160]
QUAD $0x0000c0b99cfefdc5; BYTE $0x00 // vpaddd ymm3, ymm0, yword [rcx + 4*rdi + 192]
QUAD $0x0000e0b9a4fefdc5; BYTE $0x00 // vpaddd ymm4, ymm0, yword [rcx + 4*rdi + 224]
QUAD $0x0080b88c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 128], ymm1
QUAD $0x00a0b8947f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 160], ymm2
QUAD $0x00c0b89c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 192], ymm3
QUAD $0x00e0b8a47f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 224], ymm4
LONG $0x40c78348 // add rdi, 64
LONG $0x02c28348 // add rdx, 2
JNE LBB2_611
JMP LBB2_1078
LBB2_612:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0x6e79c1c4; BYTE $0xc3 // vmovd xmm0, r11d
LONG $0x587de2c4; BYTE $0xc0 // vpbroadcastd ymm0, xmm0
LONG $0xe0568d48 // lea rdx, [rsi - 32]
WORD $0x8949; BYTE $0xd1 // mov r9, rdx
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xd2 // test rdx, rdx
JE LBB2_1085
WORD $0x894c; BYTE $0xca // mov rdx, r9
LONG $0xfee28348 // and rdx, -2
WORD $0xf748; BYTE $0xda // neg rdx
WORD $0xff31 // xor edi, edi
LBB2_614:
LONG $0x0cfafdc5; BYTE $0xb9 // vpsubd ymm1, ymm0, yword [rcx + 4*rdi]
LONG $0x54fafdc5; WORD $0x20b9 // vpsubd ymm2, ymm0, yword [rcx + 4*rdi + 32]
LONG $0x5cfafdc5; WORD $0x40b9 // vpsubd ymm3, ymm0, yword [rcx + 4*rdi + 64]
LONG $0x64fafdc5; WORD $0x60b9 // vpsubd ymm4, ymm0, yword [rcx + 4*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xb80c // vmovdqu yword [r8 + 4*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xb854; BYTE $0x20 // vmovdqu yword [r8 + 4*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xb85c; BYTE $0x40 // vmovdqu yword [r8 + 4*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xb864; BYTE $0x60 // vmovdqu yword [r8 + 4*rdi + 96], ymm4
QUAD $0x000080b98cfafdc5; BYTE $0x00 // vpsubd ymm1, ymm0, yword [rcx + 4*rdi + 128]
QUAD $0x0000a0b994fafdc5; BYTE $0x00 // vpsubd ymm2, ymm0, yword [rcx + 4*rdi + 160]
QUAD $0x0000c0b99cfafdc5; BYTE $0x00 // vpsubd ymm3, ymm0, yword [rcx + 4*rdi + 192]
QUAD $0x0000e0b9a4fafdc5; BYTE $0x00 // vpsubd ymm4, ymm0, yword [rcx + 4*rdi + 224]
QUAD $0x0080b88c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 128], ymm1
QUAD $0x00a0b8947f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 160], ymm2
QUAD $0x00c0b89c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 192], ymm3
QUAD $0x00e0b8a47f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 224], ymm4
LONG $0x40c78348 // add rdi, 64
LONG $0x02c28348 // add rdx, 2
JNE LBB2_614
JMP LBB2_1086
LBB2_615:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0xc06ef9c5 // vmovd xmm0, eax
LONG $0x587de2c4; BYTE $0xc0 // vpbroadcastd ymm0, xmm0
LONG $0xe0568d48 // lea rdx, [rsi - 32]
WORD $0x8949; BYTE $0xd1 // mov r9, rdx
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xd2 // test rdx, rdx
JE LBB2_1093
WORD $0x894c; BYTE $0xca // mov rdx, r9
LONG $0xfee28348 // and rdx, -2
WORD $0xf748; BYTE $0xda // neg rdx
WORD $0xff31 // xor edi, edi
LBB2_617:
LONG $0x0cfefdc5; BYTE $0xb9 // vpaddd ymm1, ymm0, yword [rcx + 4*rdi]
LONG $0x54fefdc5; WORD $0x20b9 // vpaddd ymm2, ymm0, yword [rcx + 4*rdi + 32]
LONG $0x5cfefdc5; WORD $0x40b9 // vpaddd ymm3, ymm0, yword [rcx + 4*rdi + 64]
LONG $0x64fefdc5; WORD $0x60b9 // vpaddd ymm4, ymm0, yword [rcx + 4*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xb80c // vmovdqu yword [r8 + 4*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xb854; BYTE $0x20 // vmovdqu yword [r8 + 4*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xb85c; BYTE $0x40 // vmovdqu yword [r8 + 4*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xb864; BYTE $0x60 // vmovdqu yword [r8 + 4*rdi + 96], ymm4
QUAD $0x000080b98cfefdc5; BYTE $0x00 // vpaddd ymm1, ymm0, yword [rcx + 4*rdi + 128]
QUAD $0x0000a0b994fefdc5; BYTE $0x00 // vpaddd ymm2, ymm0, yword [rcx + 4*rdi + 160]
QUAD $0x0000c0b99cfefdc5; BYTE $0x00 // vpaddd ymm3, ymm0, yword [rcx + 4*rdi + 192]
QUAD $0x0000e0b9a4fefdc5; BYTE $0x00 // vpaddd ymm4, ymm0, yword [rcx + 4*rdi + 224]
QUAD $0x0080b88c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 128], ymm1
QUAD $0x00a0b8947f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 160], ymm2
QUAD $0x00c0b89c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 192], ymm3
QUAD $0x00e0b8a47f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 224], ymm4
LONG $0x40c78348 // add rdi, 64
LONG $0x02c28348 // add rdx, 2
JNE LBB2_617
JMP LBB2_1094
LBB2_618:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0x6e79c1c4; BYTE $0xc3 // vmovd xmm0, r11d
LONG $0x587de2c4; BYTE $0xc0 // vpbroadcastd ymm0, xmm0
LONG $0xe0568d48 // lea rdx, [rsi - 32]
WORD $0x8949; BYTE $0xd1 // mov r9, rdx
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xd2 // test rdx, rdx
JE LBB2_1101
WORD $0x894c; BYTE $0xca // mov rdx, r9
LONG $0xfee28348 // and rdx, -2
WORD $0xf748; BYTE $0xda // neg rdx
WORD $0xff31 // xor edi, edi
LBB2_620:
LONG $0x0cfafdc5; BYTE $0xb9 // vpsubd ymm1, ymm0, yword [rcx + 4*rdi]
LONG $0x54fafdc5; WORD $0x20b9 // vpsubd ymm2, ymm0, yword [rcx + 4*rdi + 32]
LONG $0x5cfafdc5; WORD $0x40b9 // vpsubd ymm3, ymm0, yword [rcx + 4*rdi + 64]
LONG $0x64fafdc5; WORD $0x60b9 // vpsubd ymm4, ymm0, yword [rcx + 4*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xb80c // vmovdqu yword [r8 + 4*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xb854; BYTE $0x20 // vmovdqu yword [r8 + 4*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xb85c; BYTE $0x40 // vmovdqu yword [r8 + 4*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xb864; BYTE $0x60 // vmovdqu yword [r8 + 4*rdi + 96], ymm4
QUAD $0x000080b98cfafdc5; BYTE $0x00 // vpsubd ymm1, ymm0, yword [rcx + 4*rdi + 128]
QUAD $0x0000a0b994fafdc5; BYTE $0x00 // vpsubd ymm2, ymm0, yword [rcx + 4*rdi + 160]
QUAD $0x0000c0b99cfafdc5; BYTE $0x00 // vpsubd ymm3, ymm0, yword [rcx + 4*rdi + 192]
QUAD $0x0000e0b9a4fafdc5; BYTE $0x00 // vpsubd ymm4, ymm0, yword [rcx + 4*rdi + 224]
QUAD $0x0080b88c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 128], ymm1
QUAD $0x00a0b8947f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 160], ymm2
QUAD $0x00c0b89c7f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 192], ymm3
QUAD $0x00e0b8a47f7ec1c4; WORD $0x0000 // vmovdqu yword [r8 + 4*rdi + 224], ymm4
LONG $0x40c78348 // add rdi, 64
LONG $0x02c28348 // add rdx, 2
JNE LBB2_620
JMP LBB2_1102
LBB2_621:
LONG $0xfce08348 // and rax, -4
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xf631 // xor esi, esi
LONG $0xc868fdc5 // vpunpckhbw ymm1, ymm0, ymm0
LONG $0x556ffdc5; BYTE $0x00 // vmovdqa ymm2, yword 0[rbp] /* [rip + .LCPI2_0] */
LONG $0xd860fdc5 // vpunpcklbw ymm3, ymm0, ymm0
LBB2_622:
LONG $0x246ffec5; BYTE $0x31 // vmovdqu ymm4, yword [rcx + rsi]
LONG $0xec68ddc5 // vpunpckhbw ymm5, ymm4, ymm4
LONG $0xe9d5d5c5 // vpmullw ymm5, ymm5, ymm1
LONG $0xeadbd5c5 // vpand ymm5, ymm5, ymm2
LONG $0xe460ddc5 // vpunpcklbw ymm4, ymm4, ymm4
LONG $0xe3d5ddc5 // vpmullw ymm4, ymm4, ymm3
LONG $0xe2dbddc5 // vpand ymm4, ymm4, ymm2
LONG $0xe567ddc5 // vpackuswb ymm4, ymm4, ymm5
LONG $0x7f7ec1c4; WORD $0x3024 // vmovdqu yword [r8 + rsi], ymm4
LONG $0x646ffec5; WORD $0x2031 // vmovdqu ymm4, yword [rcx + rsi + 32]
LONG $0xec68ddc5 // vpunpckhbw ymm5, ymm4, ymm4
LONG $0xe9d5d5c5 // vpmullw ymm5, ymm5, ymm1
LONG $0xeadbd5c5 // vpand ymm5, ymm5, ymm2
LONG $0xe460ddc5 // vpunpcklbw ymm4, ymm4, ymm4
LONG $0xe3d5ddc5 // vpmullw ymm4, ymm4, ymm3
LONG $0xe2dbddc5 // vpand ymm4, ymm4, ymm2
LONG $0xe567ddc5 // vpackuswb ymm4, ymm4, ymm5
LONG $0x7f7ec1c4; WORD $0x3064; BYTE $0x20 // vmovdqu yword [r8 + rsi + 32], ymm4
LONG $0x646ffec5; WORD $0x4031 // vmovdqu ymm4, yword [rcx + rsi + 64]
LONG $0xec68ddc5 // vpunpckhbw ymm5, ymm4, ymm4
LONG $0xe9d5d5c5 // vpmullw ymm5, ymm5, ymm1
LONG $0xeadbd5c5 // vpand ymm5, ymm5, ymm2
LONG $0xe460ddc5 // vpunpcklbw ymm4, ymm4, ymm4
LONG $0xe3d5ddc5 // vpmullw ymm4, ymm4, ymm3
LONG $0xe2dbddc5 // vpand ymm4, ymm4, ymm2
LONG $0xe567ddc5 // vpackuswb ymm4, ymm4, ymm5
LONG $0x7f7ec1c4; WORD $0x3064; BYTE $0x40 // vmovdqu yword [r8 + rsi + 64], ymm4
LONG $0x646ffec5; WORD $0x6031 // vmovdqu ymm4, yword [rcx + rsi + 96]
LONG $0xec68ddc5 // vpunpckhbw ymm5, ymm4, ymm4
LONG $0xe9d5d5c5 // vpmullw ymm5, ymm5, ymm1
LONG $0xeadbd5c5 // vpand ymm5, ymm5, ymm2
LONG $0xe460ddc5 // vpunpcklbw ymm4, ymm4, ymm4
LONG $0xe3d5ddc5 // vpmullw ymm4, ymm4, ymm3
LONG $0xe2dbddc5 // vpand ymm4, ymm4, ymm2
LONG $0xe567ddc5 // vpackuswb ymm4, ymm4, ymm5
LONG $0x7f7ec1c4; WORD $0x3064; BYTE $0x60 // vmovdqu yword [r8 + rsi + 96], ymm4
LONG $0x80ee8348 // sub rsi, -128
LONG $0x04c08348 // add rax, 4
JNE LBB2_622
LBB2_623:
WORD $0x854d; BYTE $0xc9 // test r9, r9
JE LBB2_626
WORD $0xf749; BYTE $0xd9 // neg r9
LONG $0xc868fdc5 // vpunpckhbw ymm1, ymm0, ymm0
LONG $0x556ffdc5; BYTE $0x00 // vmovdqa ymm2, yword 0[rbp] /* [rip + .LCPI2_0] */
LONG $0xc060fdc5 // vpunpcklbw ymm0, ymm0, ymm0
LBB2_625:
LONG $0x1c6ffec5; BYTE $0x31 // vmovdqu ymm3, yword [rcx + rsi]
LONG $0xe368e5c5 // vpunpckhbw ymm4, ymm3, ymm3
LONG $0xe1d5ddc5 // vpmullw ymm4, ymm4, ymm1
LONG $0xe2dbddc5 // vpand ymm4, ymm4, ymm2
LONG $0xdb60e5c5 // vpunpcklbw ymm3, ymm3, ymm3
LONG $0xd8d5e5c5 // vpmullw ymm3, ymm3, ymm0
LONG $0xdadbe5c5 // vpand ymm3, ymm3, ymm2
LONG $0xdc67e5c5 // vpackuswb ymm3, ymm3, ymm4
LONG $0x7f7ec1c4; WORD $0x301c // vmovdqu yword [r8 + rsi], ymm3
LONG $0x20c68348 // add rsi, 32
WORD $0xff49; BYTE $0xc1 // inc r9
JNE LBB2_625
LBB2_626:
WORD $0x394c; BYTE $0xd7 // cmp rdi, r10
JE LBB2_1109
JMP LBB2_627
LBB2_631:
LONG $0xfce08348 // and rax, -4
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xf631 // xor esi, esi
LONG $0xc868fdc5 // vpunpckhbw ymm1, ymm0, ymm0
LONG $0x556ffdc5; BYTE $0x00 // vmovdqa ymm2, yword 0[rbp] /* [rip + .LCPI2_0] */
LONG $0xd860fdc5 // vpunpcklbw ymm3, ymm0, ymm0
LBB2_632:
LONG $0x246ffec5; BYTE $0x31 // vmovdqu ymm4, yword [rcx + rsi]
LONG $0xec68ddc5 // vpunpckhbw ymm5, ymm4, ymm4
LONG $0xe9d5d5c5 // vpmullw ymm5, ymm5, ymm1
LONG $0xeadbd5c5 // vpand ymm5, ymm5, ymm2
LONG $0xe460ddc5 // vpunpcklbw ymm4, ymm4, ymm4
LONG $0xe3d5ddc5 // vpmullw ymm4, ymm4, ymm3
LONG $0xe2dbddc5 // vpand ymm4, ymm4, ymm2
LONG $0xe567ddc5 // vpackuswb ymm4, ymm4, ymm5
LONG $0x7f7ec1c4; WORD $0x3024 // vmovdqu yword [r8 + rsi], ymm4
LONG $0x646ffec5; WORD $0x2031 // vmovdqu ymm4, yword [rcx + rsi + 32]
LONG $0xec68ddc5 // vpunpckhbw ymm5, ymm4, ymm4
LONG $0xe9d5d5c5 // vpmullw ymm5, ymm5, ymm1
LONG $0xeadbd5c5 // vpand ymm5, ymm5, ymm2
LONG $0xe460ddc5 // vpunpcklbw ymm4, ymm4, ymm4
LONG $0xe3d5ddc5 // vpmullw ymm4, ymm4, ymm3
LONG $0xe2dbddc5 // vpand ymm4, ymm4, ymm2
LONG $0xe567ddc5 // vpackuswb ymm4, ymm4, ymm5
LONG $0x7f7ec1c4; WORD $0x3064; BYTE $0x20 // vmovdqu yword [r8 + rsi + 32], ymm4
LONG $0x646ffec5; WORD $0x4031 // vmovdqu ymm4, yword [rcx + rsi + 64]
LONG $0xec68ddc5 // vpunpckhbw ymm5, ymm4, ymm4
LONG $0xe9d5d5c5 // vpmullw ymm5, ymm5, ymm1
LONG $0xeadbd5c5 // vpand ymm5, ymm5, ymm2
LONG $0xe460ddc5 // vpunpcklbw ymm4, ymm4, ymm4
LONG $0xe3d5ddc5 // vpmullw ymm4, ymm4, ymm3
LONG $0xe2dbddc5 // vpand ymm4, ymm4, ymm2
LONG $0xe567ddc5 // vpackuswb ymm4, ymm4, ymm5
LONG $0x7f7ec1c4; WORD $0x3064; BYTE $0x40 // vmovdqu yword [r8 + rsi + 64], ymm4
LONG $0x646ffec5; WORD $0x6031 // vmovdqu ymm4, yword [rcx + rsi + 96]
LONG $0xec68ddc5 // vpunpckhbw ymm5, ymm4, ymm4
LONG $0xe9d5d5c5 // vpmullw ymm5, ymm5, ymm1
LONG $0xeadbd5c5 // vpand ymm5, ymm5, ymm2
LONG $0xe460ddc5 // vpunpcklbw ymm4, ymm4, ymm4
LONG $0xe3d5ddc5 // vpmullw ymm4, ymm4, ymm3
LONG $0xe2dbddc5 // vpand ymm4, ymm4, ymm2
LONG $0xe567ddc5 // vpackuswb ymm4, ymm4, ymm5
LONG $0x7f7ec1c4; WORD $0x3064; BYTE $0x60 // vmovdqu yword [r8 + rsi + 96], ymm4
LONG $0x80ee8348 // sub rsi, -128
LONG $0x04c08348 // add rax, 4
JNE LBB2_632
LBB2_633:
WORD $0x854d; BYTE $0xc9 // test r9, r9
JE LBB2_636
WORD $0xf749; BYTE $0xd9 // neg r9
LONG $0xc868fdc5 // vpunpckhbw ymm1, ymm0, ymm0
LONG $0x556ffdc5; BYTE $0x00 // vmovdqa ymm2, yword 0[rbp] /* [rip + .LCPI2_0] */
LONG $0xc060fdc5 // vpunpcklbw ymm0, ymm0, ymm0
LBB2_635:
LONG $0x1c6ffec5; BYTE $0x31 // vmovdqu ymm3, yword [rcx + rsi]
LONG $0xe368e5c5 // vpunpckhbw ymm4, ymm3, ymm3
LONG $0xe1d5ddc5 // vpmullw ymm4, ymm4, ymm1
LONG $0xe2dbddc5 // vpand ymm4, ymm4, ymm2
LONG $0xdb60e5c5 // vpunpcklbw ymm3, ymm3, ymm3
LONG $0xd8d5e5c5 // vpmullw ymm3, ymm3, ymm0
LONG $0xdadbe5c5 // vpand ymm3, ymm3, ymm2
LONG $0xdc67e5c5 // vpackuswb ymm3, ymm3, ymm4
LONG $0x7f7ec1c4; WORD $0x301c // vmovdqu yword [r8 + rsi], ymm3
LONG $0x20c68348 // add rsi, 32
WORD $0xff49; BYTE $0xc1 // inc r9
JNE LBB2_635
LBB2_636:
WORD $0x394c; BYTE $0xd7 // cmp rdi, r10
JE LBB2_1109
JMP LBB2_637
LBB2_641:
LONG $0xfce08348 // and rax, -4
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xf631 // xor esi, esi
LONG $0xc868fdc5 // vpunpckhbw ymm1, ymm0, ymm0
LONG $0x556ffdc5; BYTE $0x00 // vmovdqa ymm2, yword 0[rbp] /* [rip + .LCPI2_0] */
LONG $0xd860fdc5 // vpunpcklbw ymm3, ymm0, ymm0
LBB2_642:
LONG $0x246ffec5; BYTE $0x31 // vmovdqu ymm4, yword [rcx + rsi]
LONG $0xec68ddc5 // vpunpckhbw ymm5, ymm4, ymm4
LONG $0xe9d5d5c5 // vpmullw ymm5, ymm5, ymm1
LONG $0xeadbd5c5 // vpand ymm5, ymm5, ymm2
LONG $0xe460ddc5 // vpunpcklbw ymm4, ymm4, ymm4
LONG $0xe3d5ddc5 // vpmullw ymm4, ymm4, ymm3
LONG $0xe2dbddc5 // vpand ymm4, ymm4, ymm2
LONG $0xe567ddc5 // vpackuswb ymm4, ymm4, ymm5
LONG $0x7f7ec1c4; WORD $0x3024 // vmovdqu yword [r8 + rsi], ymm4
LONG $0x646ffec5; WORD $0x2031 // vmovdqu ymm4, yword [rcx + rsi + 32]
LONG $0xec68ddc5 // vpunpckhbw ymm5, ymm4, ymm4
LONG $0xe9d5d5c5 // vpmullw ymm5, ymm5, ymm1
LONG $0xeadbd5c5 // vpand ymm5, ymm5, ymm2
LONG $0xe460ddc5 // vpunpcklbw ymm4, ymm4, ymm4
LONG $0xe3d5ddc5 // vpmullw ymm4, ymm4, ymm3
LONG $0xe2dbddc5 // vpand ymm4, ymm4, ymm2
LONG $0xe567ddc5 // vpackuswb ymm4, ymm4, ymm5
LONG $0x7f7ec1c4; WORD $0x3064; BYTE $0x20 // vmovdqu yword [r8 + rsi + 32], ymm4
LONG $0x646ffec5; WORD $0x4031 // vmovdqu ymm4, yword [rcx + rsi + 64]
LONG $0xec68ddc5 // vpunpckhbw ymm5, ymm4, ymm4
LONG $0xe9d5d5c5 // vpmullw ymm5, ymm5, ymm1
LONG $0xeadbd5c5 // vpand ymm5, ymm5, ymm2
LONG $0xe460ddc5 // vpunpcklbw ymm4, ymm4, ymm4
LONG $0xe3d5ddc5 // vpmullw ymm4, ymm4, ymm3
LONG $0xe2dbddc5 // vpand ymm4, ymm4, ymm2
LONG $0xe567ddc5 // vpackuswb ymm4, ymm4, ymm5
LONG $0x7f7ec1c4; WORD $0x3064; BYTE $0x40 // vmovdqu yword [r8 + rsi + 64], ymm4
LONG $0x646ffec5; WORD $0x6031 // vmovdqu ymm4, yword [rcx + rsi + 96]
LONG $0xec68ddc5 // vpunpckhbw ymm5, ymm4, ymm4
LONG $0xe9d5d5c5 // vpmullw ymm5, ymm5, ymm1
LONG $0xeadbd5c5 // vpand ymm5, ymm5, ymm2
LONG $0xe460ddc5 // vpunpcklbw ymm4, ymm4, ymm4
LONG $0xe3d5ddc5 // vpmullw ymm4, ymm4, ymm3
LONG $0xe2dbddc5 // vpand ymm4, ymm4, ymm2
LONG $0xe567ddc5 // vpackuswb ymm4, ymm4, ymm5
LONG $0x7f7ec1c4; WORD $0x3064; BYTE $0x60 // vmovdqu yword [r8 + rsi + 96], ymm4
LONG $0x80ee8348 // sub rsi, -128
LONG $0x04c08348 // add rax, 4
JNE LBB2_642
LBB2_643:
WORD $0x854d; BYTE $0xc9 // test r9, r9
JE LBB2_646
WORD $0xf749; BYTE $0xd9 // neg r9
LONG $0xc868fdc5 // vpunpckhbw ymm1, ymm0, ymm0
LONG $0x556ffdc5; BYTE $0x00 // vmovdqa ymm2, yword 0[rbp] /* [rip + .LCPI2_0] */
LONG $0xc060fdc5 // vpunpcklbw ymm0, ymm0, ymm0
LBB2_645:
LONG $0x1c6ffec5; BYTE $0x31 // vmovdqu ymm3, yword [rcx + rsi]
LONG $0xe368e5c5 // vpunpckhbw ymm4, ymm3, ymm3
LONG $0xe1d5ddc5 // vpmullw ymm4, ymm4, ymm1
LONG $0xe2dbddc5 // vpand ymm4, ymm4, ymm2
LONG $0xdb60e5c5 // vpunpcklbw ymm3, ymm3, ymm3
LONG $0xd8d5e5c5 // vpmullw ymm3, ymm3, ymm0
LONG $0xdadbe5c5 // vpand ymm3, ymm3, ymm2
LONG $0xdc67e5c5 // vpackuswb ymm3, ymm3, ymm4
LONG $0x7f7ec1c4; WORD $0x301c // vmovdqu yword [r8 + rsi], ymm3
LONG $0x20c68348 // add rsi, 32
WORD $0xff49; BYTE $0xc1 // inc r9
JNE LBB2_645
LBB2_646:
WORD $0x394c; BYTE $0xd7 // cmp rdi, r10
JE LBB2_1109
JMP LBB2_647
LBB2_651:
LONG $0xfce08348 // and rax, -4
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xf631 // xor esi, esi
LONG $0xc868fdc5 // vpunpckhbw ymm1, ymm0, ymm0
LONG $0x556ffdc5; BYTE $0x00 // vmovdqa ymm2, yword 0[rbp] /* [rip + .LCPI2_0] */
LONG $0xd860fdc5 // vpunpcklbw ymm3, ymm0, ymm0
LBB2_652:
LONG $0x246ffec5; BYTE $0x31 // vmovdqu ymm4, yword [rcx + rsi]
LONG $0xec68ddc5 // vpunpckhbw ymm5, ymm4, ymm4
LONG $0xe9d5d5c5 // vpmullw ymm5, ymm5, ymm1
LONG $0xeadbd5c5 // vpand ymm5, ymm5, ymm2
LONG $0xe460ddc5 // vpunpcklbw ymm4, ymm4, ymm4
LONG $0xe3d5ddc5 // vpmullw ymm4, ymm4, ymm3
LONG $0xe2dbddc5 // vpand ymm4, ymm4, ymm2
LONG $0xe567ddc5 // vpackuswb ymm4, ymm4, ymm5
LONG $0x7f7ec1c4; WORD $0x3024 // vmovdqu yword [r8 + rsi], ymm4
LONG $0x646ffec5; WORD $0x2031 // vmovdqu ymm4, yword [rcx + rsi + 32]
LONG $0xec68ddc5 // vpunpckhbw ymm5, ymm4, ymm4
LONG $0xe9d5d5c5 // vpmullw ymm5, ymm5, ymm1
LONG $0xeadbd5c5 // vpand ymm5, ymm5, ymm2
LONG $0xe460ddc5 // vpunpcklbw ymm4, ymm4, ymm4
LONG $0xe3d5ddc5 // vpmullw ymm4, ymm4, ymm3
LONG $0xe2dbddc5 // vpand ymm4, ymm4, ymm2
LONG $0xe567ddc5 // vpackuswb ymm4, ymm4, ymm5
LONG $0x7f7ec1c4; WORD $0x3064; BYTE $0x20 // vmovdqu yword [r8 + rsi + 32], ymm4
LONG $0x646ffec5; WORD $0x4031 // vmovdqu ymm4, yword [rcx + rsi + 64]
LONG $0xec68ddc5 // vpunpckhbw ymm5, ymm4, ymm4
LONG $0xe9d5d5c5 // vpmullw ymm5, ymm5, ymm1
LONG $0xeadbd5c5 // vpand ymm5, ymm5, ymm2
LONG $0xe460ddc5 // vpunpcklbw ymm4, ymm4, ymm4
LONG $0xe3d5ddc5 // vpmullw ymm4, ymm4, ymm3
LONG $0xe2dbddc5 // vpand ymm4, ymm4, ymm2
LONG $0xe567ddc5 // vpackuswb ymm4, ymm4, ymm5
LONG $0x7f7ec1c4; WORD $0x3064; BYTE $0x40 // vmovdqu yword [r8 + rsi + 64], ymm4
LONG $0x646ffec5; WORD $0x6031 // vmovdqu ymm4, yword [rcx + rsi + 96]
LONG $0xec68ddc5 // vpunpckhbw ymm5, ymm4, ymm4
LONG $0xe9d5d5c5 // vpmullw ymm5, ymm5, ymm1
LONG $0xeadbd5c5 // vpand ymm5, ymm5, ymm2
LONG $0xe460ddc5 // vpunpcklbw ymm4, ymm4, ymm4
LONG $0xe3d5ddc5 // vpmullw ymm4, ymm4, ymm3
LONG $0xe2dbddc5 // vpand ymm4, ymm4, ymm2
LONG $0xe567ddc5 // vpackuswb ymm4, ymm4, ymm5
LONG $0x7f7ec1c4; WORD $0x3064; BYTE $0x60 // vmovdqu yword [r8 + rsi + 96], ymm4
LONG $0x80ee8348 // sub rsi, -128
LONG $0x04c08348 // add rax, 4
JNE LBB2_652
LBB2_653:
WORD $0x854d; BYTE $0xc9 // test r9, r9
JE LBB2_656
WORD $0xf749; BYTE $0xd9 // neg r9
LONG $0xc868fdc5 // vpunpckhbw ymm1, ymm0, ymm0
LONG $0x556ffdc5; BYTE $0x00 // vmovdqa ymm2, yword 0[rbp] /* [rip + .LCPI2_0] */
LONG $0xc060fdc5 // vpunpcklbw ymm0, ymm0, ymm0
LBB2_655:
LONG $0x1c6ffec5; BYTE $0x31 // vmovdqu ymm3, yword [rcx + rsi]
LONG $0xe368e5c5 // vpunpckhbw ymm4, ymm3, ymm3
LONG $0xe1d5ddc5 // vpmullw ymm4, ymm4, ymm1
LONG $0xe2dbddc5 // vpand ymm4, ymm4, ymm2
LONG $0xdb60e5c5 // vpunpcklbw ymm3, ymm3, ymm3
LONG $0xd8d5e5c5 // vpmullw ymm3, ymm3, ymm0
LONG $0xdadbe5c5 // vpand ymm3, ymm3, ymm2
LONG $0xdc67e5c5 // vpackuswb ymm3, ymm3, ymm4
LONG $0x7f7ec1c4; WORD $0x301c // vmovdqu yword [r8 + rsi], ymm3
LONG $0x20c68348 // add rsi, 32
WORD $0xff49; BYTE $0xc1 // inc r9
JNE LBB2_655
LBB2_656:
WORD $0x394c; BYTE $0xd7 // cmp rdi, r10
JE LBB2_1109
JMP LBB2_657
LBB2_661:
WORD $0xff31 // xor edi, edi
LBB2_662:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_664
LONG $0x407de2c4; WORD $0xb90c // vpmulld ymm1, ymm0, yword [rcx + 4*rdi]
LONG $0x407de2c4; WORD $0xb954; BYTE $0x20 // vpmulld ymm2, ymm0, yword [rcx + 4*rdi + 32]
LONG $0x407de2c4; WORD $0xb95c; BYTE $0x40 // vpmulld ymm3, ymm0, yword [rcx + 4*rdi + 64]
LONG $0x407de2c4; WORD $0xb944; BYTE $0x60 // vpmulld ymm0, ymm0, yword [rcx + 4*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xb80c // vmovdqu yword [r8 + 4*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xb854; BYTE $0x20 // vmovdqu yword [r8 + 4*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xb85c; BYTE $0x40 // vmovdqu yword [r8 + 4*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xb844; BYTE $0x60 // vmovdqu yword [r8 + 4*rdi + 96], ymm0
LBB2_664:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1109
JMP LBB2_665
LBB2_669:
WORD $0xff31 // xor edi, edi
LBB2_670:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_672
LONG $0x407de2c4; WORD $0xb90c // vpmulld ymm1, ymm0, yword [rcx + 4*rdi]
LONG $0x407de2c4; WORD $0xb954; BYTE $0x20 // vpmulld ymm2, ymm0, yword [rcx + 4*rdi + 32]
LONG $0x407de2c4; WORD $0xb95c; BYTE $0x40 // vpmulld ymm3, ymm0, yword [rcx + 4*rdi + 64]
LONG $0x407de2c4; WORD $0xb944; BYTE $0x60 // vpmulld ymm0, ymm0, yword [rcx + 4*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xb80c // vmovdqu yword [r8 + 4*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xb854; BYTE $0x20 // vmovdqu yword [r8 + 4*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xb85c; BYTE $0x40 // vmovdqu yword [r8 + 4*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xb844; BYTE $0x60 // vmovdqu yword [r8 + 4*rdi + 96], ymm0
LBB2_672:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1109
JMP LBB2_673
LBB2_677:
WORD $0xff31 // xor edi, edi
LBB2_678:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_680
LONG $0x0cfefdc5; BYTE $0xb9 // vpaddd ymm1, ymm0, yword [rcx + 4*rdi]
LONG $0x54fefdc5; WORD $0x20b9 // vpaddd ymm2, ymm0, yword [rcx + 4*rdi + 32]
LONG $0x5cfefdc5; WORD $0x40b9 // vpaddd ymm3, ymm0, yword [rcx + 4*rdi + 64]
LONG $0x44fefdc5; WORD $0x60b9 // vpaddd ymm0, ymm0, yword [rcx + 4*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xb80c // vmovdqu yword [r8 + 4*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xb854; BYTE $0x20 // vmovdqu yword [r8 + 4*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xb85c; BYTE $0x40 // vmovdqu yword [r8 + 4*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xb844; BYTE $0x60 // vmovdqu yword [r8 + 4*rdi + 96], ymm0
LBB2_680:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1109
JMP LBB2_681
LBB2_685:
WORD $0xff31 // xor edi, edi
LBB2_686:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_688
LONG $0x0cfafdc5; BYTE $0xb9 // vpsubd ymm1, ymm0, yword [rcx + 4*rdi]
LONG $0x54fafdc5; WORD $0x20b9 // vpsubd ymm2, ymm0, yword [rcx + 4*rdi + 32]
LONG $0x5cfafdc5; WORD $0x40b9 // vpsubd ymm3, ymm0, yword [rcx + 4*rdi + 64]
LONG $0x44fafdc5; WORD $0x60b9 // vpsubd ymm0, ymm0, yword [rcx + 4*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xb80c // vmovdqu yword [r8 + 4*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xb854; BYTE $0x20 // vmovdqu yword [r8 + 4*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xb85c; BYTE $0x40 // vmovdqu yword [r8 + 4*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xb844; BYTE $0x60 // vmovdqu yword [r8 + 4*rdi + 96], ymm0
LBB2_688:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1109
JMP LBB2_689
LBB2_693:
WORD $0xff31 // xor edi, edi
LBB2_694:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_696
LONG $0x0cfefdc5; BYTE $0xb9 // vpaddd ymm1, ymm0, yword [rcx + 4*rdi]
LONG $0x54fefdc5; WORD $0x20b9 // vpaddd ymm2, ymm0, yword [rcx + 4*rdi + 32]
LONG $0x5cfefdc5; WORD $0x40b9 // vpaddd ymm3, ymm0, yword [rcx + 4*rdi + 64]
LONG $0x44fefdc5; WORD $0x60b9 // vpaddd ymm0, ymm0, yword [rcx + 4*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xb80c // vmovdqu yword [r8 + 4*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xb854; BYTE $0x20 // vmovdqu yword [r8 + 4*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xb85c; BYTE $0x40 // vmovdqu yword [r8 + 4*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xb844; BYTE $0x60 // vmovdqu yword [r8 + 4*rdi + 96], ymm0
LBB2_696:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1109
JMP LBB2_697
LBB2_701:
WORD $0xff31 // xor edi, edi
LBB2_702:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_704
LONG $0x0cfafdc5; BYTE $0xb9 // vpsubd ymm1, ymm0, yword [rcx + 4*rdi]
LONG $0x54fafdc5; WORD $0x20b9 // vpsubd ymm2, ymm0, yword [rcx + 4*rdi + 32]
LONG $0x5cfafdc5; WORD $0x40b9 // vpsubd ymm3, ymm0, yword [rcx + 4*rdi + 64]
LONG $0x44fafdc5; WORD $0x60b9 // vpsubd ymm0, ymm0, yword [rcx + 4*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xb80c // vmovdqu yword [r8 + 4*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xb854; BYTE $0x20 // vmovdqu yword [r8 + 4*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xb85c; BYTE $0x40 // vmovdqu yword [r8 + 4*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xb844; BYTE $0x60 // vmovdqu yword [r8 + 4*rdi + 96], ymm0
LBB2_704:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1109
JMP LBB2_705
LBB2_709:
WORD $0xff31 // xor edi, edi
LBB2_710:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_712
LONG $0x1459f5c5; BYTE $0xf9 // vmulpd ymm2, ymm1, yword [rcx + 8*rdi]
LONG $0x5c59f5c5; WORD $0x20f9 // vmulpd ymm3, ymm1, yword [rcx + 8*rdi + 32]
LONG $0x6459f5c5; WORD $0x40f9 // vmulpd ymm4, ymm1, yword [rcx + 8*rdi + 64]
LONG $0x4c59f5c5; WORD $0x60f9 // vmulpd ymm1, ymm1, yword [rcx + 8*rdi + 96]
LONG $0x117dc1c4; WORD $0xf814 // vmovupd yword [r8 + 8*rdi], ymm2
LONG $0x117dc1c4; WORD $0xf85c; BYTE $0x20 // vmovupd yword [r8 + 8*rdi + 32], ymm3
LONG $0x117dc1c4; WORD $0xf864; BYTE $0x40 // vmovupd yword [r8 + 8*rdi + 64], ymm4
LONG $0x117dc1c4; WORD $0xf84c; BYTE $0x60 // vmovupd yword [r8 + 8*rdi + 96], ymm1
LBB2_712:
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB2_1109
JMP LBB2_713
LBB2_717:
WORD $0xff31 // xor edi, edi
LBB2_718:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_720
LONG $0x1459f5c5; BYTE $0xf9 // vmulpd ymm2, ymm1, yword [rcx + 8*rdi]
LONG $0x5c59f5c5; WORD $0x20f9 // vmulpd ymm3, ymm1, yword [rcx + 8*rdi + 32]
LONG $0x6459f5c5; WORD $0x40f9 // vmulpd ymm4, ymm1, yword [rcx + 8*rdi + 64]
LONG $0x4c59f5c5; WORD $0x60f9 // vmulpd ymm1, ymm1, yword [rcx + 8*rdi + 96]
LONG $0x117dc1c4; WORD $0xf814 // vmovupd yword [r8 + 8*rdi], ymm2
LONG $0x117dc1c4; WORD $0xf85c; BYTE $0x20 // vmovupd yword [r8 + 8*rdi + 32], ymm3
LONG $0x117dc1c4; WORD $0xf864; BYTE $0x40 // vmovupd yword [r8 + 8*rdi + 64], ymm4
LONG $0x117dc1c4; WORD $0xf84c; BYTE $0x60 // vmovupd yword [r8 + 8*rdi + 96], ymm1
LBB2_720:
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB2_1109
JMP LBB2_721
LBB2_725:
WORD $0xff31 // xor edi, edi
LBB2_726:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_728
LONG $0x1458f5c5; BYTE $0xf9 // vaddpd ymm2, ymm1, yword [rcx + 8*rdi]
LONG $0x5c58f5c5; WORD $0x20f9 // vaddpd ymm3, ymm1, yword [rcx + 8*rdi + 32]
LONG $0x6458f5c5; WORD $0x40f9 // vaddpd ymm4, ymm1, yword [rcx + 8*rdi + 64]
LONG $0x4c58f5c5; WORD $0x60f9 // vaddpd ymm1, ymm1, yword [rcx + 8*rdi + 96]
LONG $0x117dc1c4; WORD $0xf814 // vmovupd yword [r8 + 8*rdi], ymm2
LONG $0x117dc1c4; WORD $0xf85c; BYTE $0x20 // vmovupd yword [r8 + 8*rdi + 32], ymm3
LONG $0x117dc1c4; WORD $0xf864; BYTE $0x40 // vmovupd yword [r8 + 8*rdi + 64], ymm4
LONG $0x117dc1c4; WORD $0xf84c; BYTE $0x60 // vmovupd yword [r8 + 8*rdi + 96], ymm1
LBB2_728:
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB2_1109
JMP LBB2_729
LBB2_733:
WORD $0xff31 // xor edi, edi
LBB2_734:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_736
LONG $0x145cf5c5; BYTE $0xf9 // vsubpd ymm2, ymm1, yword [rcx + 8*rdi]
LONG $0x5c5cf5c5; WORD $0x20f9 // vsubpd ymm3, ymm1, yword [rcx + 8*rdi + 32]
LONG $0x645cf5c5; WORD $0x40f9 // vsubpd ymm4, ymm1, yword [rcx + 8*rdi + 64]
LONG $0x4c5cf5c5; WORD $0x60f9 // vsubpd ymm1, ymm1, yword [rcx + 8*rdi + 96]
LONG $0x117dc1c4; WORD $0xf814 // vmovupd yword [r8 + 8*rdi], ymm2
LONG $0x117dc1c4; WORD $0xf85c; BYTE $0x20 // vmovupd yword [r8 + 8*rdi + 32], ymm3
LONG $0x117dc1c4; WORD $0xf864; BYTE $0x40 // vmovupd yword [r8 + 8*rdi + 64], ymm4
LONG $0x117dc1c4; WORD $0xf84c; BYTE $0x60 // vmovupd yword [r8 + 8*rdi + 96], ymm1
LBB2_736:
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB2_1109
JMP LBB2_737
LBB2_741:
WORD $0xff31 // xor edi, edi
LBB2_742:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_744
LONG $0x1458f5c5; BYTE $0xf9 // vaddpd ymm2, ymm1, yword [rcx + 8*rdi]
LONG $0x5c58f5c5; WORD $0x20f9 // vaddpd ymm3, ymm1, yword [rcx + 8*rdi + 32]
LONG $0x6458f5c5; WORD $0x40f9 // vaddpd ymm4, ymm1, yword [rcx + 8*rdi + 64]
LONG $0x4c58f5c5; WORD $0x60f9 // vaddpd ymm1, ymm1, yword [rcx + 8*rdi + 96]
LONG $0x117dc1c4; WORD $0xf814 // vmovupd yword [r8 + 8*rdi], ymm2
LONG $0x117dc1c4; WORD $0xf85c; BYTE $0x20 // vmovupd yword [r8 + 8*rdi + 32], ymm3
LONG $0x117dc1c4; WORD $0xf864; BYTE $0x40 // vmovupd yword [r8 + 8*rdi + 64], ymm4
LONG $0x117dc1c4; WORD $0xf84c; BYTE $0x60 // vmovupd yword [r8 + 8*rdi + 96], ymm1
LBB2_744:
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB2_1109
JMP LBB2_745
LBB2_749:
WORD $0xff31 // xor edi, edi
LBB2_750:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_752
LONG $0x145cf5c5; BYTE $0xf9 // vsubpd ymm2, ymm1, yword [rcx + 8*rdi]
LONG $0x5c5cf5c5; WORD $0x20f9 // vsubpd ymm3, ymm1, yword [rcx + 8*rdi + 32]
LONG $0x645cf5c5; WORD $0x40f9 // vsubpd ymm4, ymm1, yword [rcx + 8*rdi + 64]
LONG $0x4c5cf5c5; WORD $0x60f9 // vsubpd ymm1, ymm1, yword [rcx + 8*rdi + 96]
LONG $0x117dc1c4; WORD $0xf814 // vmovupd yword [r8 + 8*rdi], ymm2
LONG $0x117dc1c4; WORD $0xf85c; BYTE $0x20 // vmovupd yword [r8 + 8*rdi + 32], ymm3
LONG $0x117dc1c4; WORD $0xf864; BYTE $0x40 // vmovupd yword [r8 + 8*rdi + 64], ymm4
LONG $0x117dc1c4; WORD $0xf84c; BYTE $0x60 // vmovupd yword [r8 + 8*rdi + 96], ymm1
LBB2_752:
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB2_1109
JMP LBB2_753
LBB2_757:
WORD $0xff31 // xor edi, edi
LBB2_758:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_760
LONG $0x0cfcfdc5; BYTE $0x39 // vpaddb ymm1, ymm0, yword [rcx + rdi]
LONG $0x54fcfdc5; WORD $0x2039 // vpaddb ymm2, ymm0, yword [rcx + rdi + 32]
LONG $0x5cfcfdc5; WORD $0x4039 // vpaddb ymm3, ymm0, yword [rcx + rdi + 64]
LONG $0x44fcfdc5; WORD $0x6039 // vpaddb ymm0, ymm0, yword [rcx + rdi + 96]
LONG $0x7f7ec1c4; WORD $0x380c // vmovdqu yword [r8 + rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x3854; BYTE $0x20 // vmovdqu yword [r8 + rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0x385c; BYTE $0x40 // vmovdqu yword [r8 + rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0x3844; BYTE $0x60 // vmovdqu yword [r8 + rdi + 96], ymm0
LBB2_760:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1109
JMP LBB2_761
LBB2_765:
WORD $0xff31 // xor edi, edi
LBB2_766:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_768
LONG $0x0cf8fdc5; BYTE $0x39 // vpsubb ymm1, ymm0, yword [rcx + rdi]
LONG $0x54f8fdc5; WORD $0x2039 // vpsubb ymm2, ymm0, yword [rcx + rdi + 32]
LONG $0x5cf8fdc5; WORD $0x4039 // vpsubb ymm3, ymm0, yword [rcx + rdi + 64]
LONG $0x44f8fdc5; WORD $0x6039 // vpsubb ymm0, ymm0, yword [rcx + rdi + 96]
LONG $0x7f7ec1c4; WORD $0x380c // vmovdqu yword [r8 + rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x3854; BYTE $0x20 // vmovdqu yword [r8 + rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0x385c; BYTE $0x40 // vmovdqu yword [r8 + rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0x3844; BYTE $0x60 // vmovdqu yword [r8 + rdi + 96], ymm0
LBB2_768:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1109
JMP LBB2_769
LBB2_773:
WORD $0xff31 // xor edi, edi
LBB2_774:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_776
LONG $0x0cfcfdc5; BYTE $0x39 // vpaddb ymm1, ymm0, yword [rcx + rdi]
LONG $0x54fcfdc5; WORD $0x2039 // vpaddb ymm2, ymm0, yword [rcx + rdi + 32]
LONG $0x5cfcfdc5; WORD $0x4039 // vpaddb ymm3, ymm0, yword [rcx + rdi + 64]
LONG $0x44fcfdc5; WORD $0x6039 // vpaddb ymm0, ymm0, yword [rcx + rdi + 96]
LONG $0x7f7ec1c4; WORD $0x380c // vmovdqu yword [r8 + rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x3854; BYTE $0x20 // vmovdqu yword [r8 + rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0x385c; BYTE $0x40 // vmovdqu yword [r8 + rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0x3844; BYTE $0x60 // vmovdqu yword [r8 + rdi + 96], ymm0
LBB2_776:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1109
JMP LBB2_777
LBB2_781:
WORD $0xff31 // xor edi, edi
LBB2_782:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_784
LONG $0x0cf8fdc5; BYTE $0x39 // vpsubb ymm1, ymm0, yword [rcx + rdi]
LONG $0x54f8fdc5; WORD $0x2039 // vpsubb ymm2, ymm0, yword [rcx + rdi + 32]
LONG $0x5cf8fdc5; WORD $0x4039 // vpsubb ymm3, ymm0, yword [rcx + rdi + 64]
LONG $0x44f8fdc5; WORD $0x6039 // vpsubb ymm0, ymm0, yword [rcx + rdi + 96]
LONG $0x7f7ec1c4; WORD $0x380c // vmovdqu yword [r8 + rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x3854; BYTE $0x20 // vmovdqu yword [r8 + rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0x385c; BYTE $0x40 // vmovdqu yword [r8 + rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0x3844; BYTE $0x60 // vmovdqu yword [r8 + rdi + 96], ymm0
LBB2_784:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1109
JMP LBB2_785
LBB2_789:
WORD $0xff31 // xor edi, edi
LBB2_790:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_792
LONG $0x146ffec5; BYTE $0xf9 // vmovdqu ymm2, yword [rcx + 8*rdi]
LONG $0x5c6ffec5; WORD $0x20f9 // vmovdqu ymm3, yword [rcx + 8*rdi + 32]
LONG $0x646ffec5; WORD $0x40f9 // vmovdqu ymm4, yword [rcx + 8*rdi + 64]
LONG $0x6c6ffec5; WORD $0x60f9 // vmovdqu ymm5, yword [rcx + 8*rdi + 96]
LONG $0xf1f4edc5 // vpmuludq ymm6, ymm2, ymm1
LONG $0xd273c5c5; BYTE $0x20 // vpsrlq ymm7, ymm2, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xd0f4edc5 // vpmuludq ymm2, ymm2, ymm0
LONG $0xd6d4edc5 // vpaddq ymm2, ymm2, ymm6
LONG $0xf1f4e5c5 // vpmuludq ymm6, ymm3, ymm1
LONG $0xd373c5c5; BYTE $0x20 // vpsrlq ymm7, ymm3, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xd8f4e5c5 // vpmuludq ymm3, ymm3, ymm0
LONG $0xded4e5c5 // vpaddq ymm3, ymm3, ymm6
LONG $0xf1f4ddc5 // vpmuludq ymm6, ymm4, ymm1
LONG $0xd473c5c5; BYTE $0x20 // vpsrlq ymm7, ymm4, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xe0f4ddc5 // vpmuludq ymm4, ymm4, ymm0
LONG $0xe6d4ddc5 // vpaddq ymm4, ymm4, ymm6
LONG $0xc9f4d5c5 // vpmuludq ymm1, ymm5, ymm1
LONG $0xd573cdc5; BYTE $0x20 // vpsrlq ymm6, ymm5, 32
LONG $0xf0f4cdc5 // vpmuludq ymm6, ymm6, ymm0
LONG $0xced4f5c5 // vpaddq ymm1, ymm1, ymm6
LONG $0xf173f5c5; BYTE $0x20 // vpsllq ymm1, ymm1, 32
LONG $0xc0f4d5c5 // vpmuludq ymm0, ymm5, ymm0
LONG $0xc1d4fdc5 // vpaddq ymm0, ymm0, ymm1
LONG $0x7f7ec1c4; WORD $0xf814 // vmovdqu yword [r8 + 8*rdi], ymm2
LONG $0x7f7ec1c4; WORD $0xf85c; BYTE $0x20 // vmovdqu yword [r8 + 8*rdi + 32], ymm3
LONG $0x7f7ec1c4; WORD $0xf864; BYTE $0x40 // vmovdqu yword [r8 + 8*rdi + 64], ymm4
LONG $0x7f7ec1c4; WORD $0xf844; BYTE $0x60 // vmovdqu yword [r8 + 8*rdi + 96], ymm0
LBB2_792:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1109
JMP LBB2_793
LBB2_797:
WORD $0xff31 // xor edi, edi
LBB2_798:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_800
LONG $0x146ffec5; BYTE $0xf9 // vmovdqu ymm2, yword [rcx + 8*rdi]
LONG $0x5c6ffec5; WORD $0x20f9 // vmovdqu ymm3, yword [rcx + 8*rdi + 32]
LONG $0x646ffec5; WORD $0x40f9 // vmovdqu ymm4, yword [rcx + 8*rdi + 64]
LONG $0x6c6ffec5; WORD $0x60f9 // vmovdqu ymm5, yword [rcx + 8*rdi + 96]
LONG $0xf1f4edc5 // vpmuludq ymm6, ymm2, ymm1
LONG $0xd273c5c5; BYTE $0x20 // vpsrlq ymm7, ymm2, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xd0f4edc5 // vpmuludq ymm2, ymm2, ymm0
LONG $0xd6d4edc5 // vpaddq ymm2, ymm2, ymm6
LONG $0xf1f4e5c5 // vpmuludq ymm6, ymm3, ymm1
LONG $0xd373c5c5; BYTE $0x20 // vpsrlq ymm7, ymm3, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xd8f4e5c5 // vpmuludq ymm3, ymm3, ymm0
LONG $0xded4e5c5 // vpaddq ymm3, ymm3, ymm6
LONG $0xf1f4ddc5 // vpmuludq ymm6, ymm4, ymm1
LONG $0xd473c5c5; BYTE $0x20 // vpsrlq ymm7, ymm4, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xe0f4ddc5 // vpmuludq ymm4, ymm4, ymm0
LONG $0xe6d4ddc5 // vpaddq ymm4, ymm4, ymm6
LONG $0xc9f4d5c5 // vpmuludq ymm1, ymm5, ymm1
LONG $0xd573cdc5; BYTE $0x20 // vpsrlq ymm6, ymm5, 32
LONG $0xf0f4cdc5 // vpmuludq ymm6, ymm6, ymm0
LONG $0xced4f5c5 // vpaddq ymm1, ymm1, ymm6
LONG $0xf173f5c5; BYTE $0x20 // vpsllq ymm1, ymm1, 32
LONG $0xc0f4d5c5 // vpmuludq ymm0, ymm5, ymm0
LONG $0xc1d4fdc5 // vpaddq ymm0, ymm0, ymm1
LONG $0x7f7ec1c4; WORD $0xf814 // vmovdqu yword [r8 + 8*rdi], ymm2
LONG $0x7f7ec1c4; WORD $0xf85c; BYTE $0x20 // vmovdqu yword [r8 + 8*rdi + 32], ymm3
LONG $0x7f7ec1c4; WORD $0xf864; BYTE $0x40 // vmovdqu yword [r8 + 8*rdi + 64], ymm4
LONG $0x7f7ec1c4; WORD $0xf844; BYTE $0x60 // vmovdqu yword [r8 + 8*rdi + 96], ymm0
LBB2_800:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1109
JMP LBB2_801
LBB2_805:
WORD $0xff31 // xor edi, edi
LBB2_806:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_808
LONG $0x0cd4fdc5; BYTE $0xf9 // vpaddq ymm1, ymm0, yword [rcx + 8*rdi]
LONG $0x54d4fdc5; WORD $0x20f9 // vpaddq ymm2, ymm0, yword [rcx + 8*rdi + 32]
LONG $0x5cd4fdc5; WORD $0x40f9 // vpaddq ymm3, ymm0, yword [rcx + 8*rdi + 64]
LONG $0x44d4fdc5; WORD $0x60f9 // vpaddq ymm0, ymm0, yword [rcx + 8*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xf80c // vmovdqu yword [r8 + 8*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xf854; BYTE $0x20 // vmovdqu yword [r8 + 8*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xf85c; BYTE $0x40 // vmovdqu yword [r8 + 8*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xf844; BYTE $0x60 // vmovdqu yword [r8 + 8*rdi + 96], ymm0
LBB2_808:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1109
JMP LBB2_809
LBB2_813:
WORD $0xff31 // xor edi, edi
LBB2_814:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_816
LONG $0x0cfbfdc5; BYTE $0xf9 // vpsubq ymm1, ymm0, yword [rcx + 8*rdi]
LONG $0x54fbfdc5; WORD $0x20f9 // vpsubq ymm2, ymm0, yword [rcx + 8*rdi + 32]
LONG $0x5cfbfdc5; WORD $0x40f9 // vpsubq ymm3, ymm0, yword [rcx + 8*rdi + 64]
LONG $0x44fbfdc5; WORD $0x60f9 // vpsubq ymm0, ymm0, yword [rcx + 8*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xf80c // vmovdqu yword [r8 + 8*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xf854; BYTE $0x20 // vmovdqu yword [r8 + 8*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xf85c; BYTE $0x40 // vmovdqu yword [r8 + 8*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xf844; BYTE $0x60 // vmovdqu yword [r8 + 8*rdi + 96], ymm0
LBB2_816:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1109
JMP LBB2_817
LBB2_821:
WORD $0xff31 // xor edi, edi
LBB2_822:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_824
LONG $0x0cd4fdc5; BYTE $0xf9 // vpaddq ymm1, ymm0, yword [rcx + 8*rdi]
LONG $0x54d4fdc5; WORD $0x20f9 // vpaddq ymm2, ymm0, yword [rcx + 8*rdi + 32]
LONG $0x5cd4fdc5; WORD $0x40f9 // vpaddq ymm3, ymm0, yword [rcx + 8*rdi + 64]
LONG $0x44d4fdc5; WORD $0x60f9 // vpaddq ymm0, ymm0, yword [rcx + 8*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xf80c // vmovdqu yword [r8 + 8*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xf854; BYTE $0x20 // vmovdqu yword [r8 + 8*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xf85c; BYTE $0x40 // vmovdqu yword [r8 + 8*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xf844; BYTE $0x60 // vmovdqu yword [r8 + 8*rdi + 96], ymm0
LBB2_824:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1109
JMP LBB2_825
LBB2_829:
WORD $0xff31 // xor edi, edi
LBB2_830:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_832
LONG $0x0cfbfdc5; BYTE $0xf9 // vpsubq ymm1, ymm0, yword [rcx + 8*rdi]
LONG $0x54fbfdc5; WORD $0x20f9 // vpsubq ymm2, ymm0, yword [rcx + 8*rdi + 32]
LONG $0x5cfbfdc5; WORD $0x40f9 // vpsubq ymm3, ymm0, yword [rcx + 8*rdi + 64]
LONG $0x44fbfdc5; WORD $0x60f9 // vpsubq ymm0, ymm0, yword [rcx + 8*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xf80c // vmovdqu yword [r8 + 8*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xf854; BYTE $0x20 // vmovdqu yword [r8 + 8*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xf85c; BYTE $0x40 // vmovdqu yword [r8 + 8*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xf844; BYTE $0x60 // vmovdqu yword [r8 + 8*rdi + 96], ymm0
LBB2_832:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1109
JMP LBB2_833
LBB2_837:
WORD $0xff31 // xor edi, edi
LBB2_838:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_840
LONG $0x0cd5fdc5; BYTE $0x79 // vpmullw ymm1, ymm0, yword [rcx + 2*rdi]
LONG $0x44d5fdc5; WORD $0x2079 // vpmullw ymm0, ymm0, yword [rcx + 2*rdi + 32]
LONG $0x7f7ec1c4; WORD $0x780c // vmovdqu yword [r8 + 2*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x7844; BYTE $0x20 // vmovdqu yword [r8 + 2*rdi + 32], ymm0
LBB2_840:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1109
JMP LBB2_841
LBB2_845:
WORD $0xff31 // xor edi, edi
LBB2_846:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_848
LONG $0x0cd5fdc5; BYTE $0x79 // vpmullw ymm1, ymm0, yword [rcx + 2*rdi]
LONG $0x44d5fdc5; WORD $0x2079 // vpmullw ymm0, ymm0, yword [rcx + 2*rdi + 32]
LONG $0x7f7ec1c4; WORD $0x780c // vmovdqu yword [r8 + 2*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x7844; BYTE $0x20 // vmovdqu yword [r8 + 2*rdi + 32], ymm0
LBB2_848:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1109
JMP LBB2_849
LBB2_853:
WORD $0xff31 // xor edi, edi
LBB2_854:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_856
LONG $0x0cd5fdc5; BYTE $0x79 // vpmullw ymm1, ymm0, yword [rcx + 2*rdi]
LONG $0x44d5fdc5; WORD $0x2079 // vpmullw ymm0, ymm0, yword [rcx + 2*rdi + 32]
LONG $0x7f7ec1c4; WORD $0x780c // vmovdqu yword [r8 + 2*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x7844; BYTE $0x20 // vmovdqu yword [r8 + 2*rdi + 32], ymm0
LBB2_856:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1109
JMP LBB2_857
LBB2_861:
WORD $0xff31 // xor edi, edi
LBB2_862:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_864
LONG $0x0cd5fdc5; BYTE $0x79 // vpmullw ymm1, ymm0, yword [rcx + 2*rdi]
LONG $0x44d5fdc5; WORD $0x2079 // vpmullw ymm0, ymm0, yword [rcx + 2*rdi + 32]
LONG $0x7f7ec1c4; WORD $0x780c // vmovdqu yword [r8 + 2*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x7844; BYTE $0x20 // vmovdqu yword [r8 + 2*rdi + 32], ymm0
LBB2_864:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1109
JMP LBB2_865
LBB2_869:
WORD $0xff31 // xor edi, edi
LBB2_870:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_872
LONG $0x0cfdfdc5; BYTE $0x79 // vpaddw ymm1, ymm0, yword [rcx + 2*rdi]
LONG $0x44fdfdc5; WORD $0x2079 // vpaddw ymm0, ymm0, yword [rcx + 2*rdi + 32]
LONG $0x7f7ec1c4; WORD $0x780c // vmovdqu yword [r8 + 2*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x7844; BYTE $0x20 // vmovdqu yword [r8 + 2*rdi + 32], ymm0
LBB2_872:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1109
JMP LBB2_873
LBB2_877:
WORD $0xff31 // xor edi, edi
LBB2_878:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_880
LONG $0x0cfdfdc5; BYTE $0x79 // vpaddw ymm1, ymm0, yword [rcx + 2*rdi]
LONG $0x44fdfdc5; WORD $0x2079 // vpaddw ymm0, ymm0, yword [rcx + 2*rdi + 32]
LONG $0x7f7ec1c4; WORD $0x780c // vmovdqu yword [r8 + 2*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x7844; BYTE $0x20 // vmovdqu yword [r8 + 2*rdi + 32], ymm0
LBB2_880:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1109
JMP LBB2_881
LBB2_885:
WORD $0xff31 // xor edi, edi
LBB2_886:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_888
LONG $0x0cf9fdc5; BYTE $0x79 // vpsubw ymm1, ymm0, yword [rcx + 2*rdi]
LONG $0x44f9fdc5; WORD $0x2079 // vpsubw ymm0, ymm0, yword [rcx + 2*rdi + 32]
LONG $0x7f7ec1c4; WORD $0x780c // vmovdqu yword [r8 + 2*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x7844; BYTE $0x20 // vmovdqu yword [r8 + 2*rdi + 32], ymm0
LBB2_888:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1109
JMP LBB2_889
LBB2_893:
WORD $0xff31 // xor edi, edi
LBB2_894:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_896
LONG $0x0cf9fdc5; BYTE $0x79 // vpsubw ymm1, ymm0, yword [rcx + 2*rdi]
LONG $0x44f9fdc5; WORD $0x2079 // vpsubw ymm0, ymm0, yword [rcx + 2*rdi + 32]
LONG $0x7f7ec1c4; WORD $0x780c // vmovdqu yword [r8 + 2*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x7844; BYTE $0x20 // vmovdqu yword [r8 + 2*rdi + 32], ymm0
LBB2_896:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1109
JMP LBB2_897
LBB2_901:
WORD $0xff31 // xor edi, edi
LBB2_902:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_904
LONG $0x0cfdfdc5; BYTE $0x79 // vpaddw ymm1, ymm0, yword [rcx + 2*rdi]
LONG $0x44fdfdc5; WORD $0x2079 // vpaddw ymm0, ymm0, yword [rcx + 2*rdi + 32]
LONG $0x7f7ec1c4; WORD $0x780c // vmovdqu yword [r8 + 2*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x7844; BYTE $0x20 // vmovdqu yword [r8 + 2*rdi + 32], ymm0
LBB2_904:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1109
JMP LBB2_905
LBB2_909:
WORD $0xff31 // xor edi, edi
LBB2_910:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_912
LONG $0x0cfdfdc5; BYTE $0x79 // vpaddw ymm1, ymm0, yword [rcx + 2*rdi]
LONG $0x44fdfdc5; WORD $0x2079 // vpaddw ymm0, ymm0, yword [rcx + 2*rdi + 32]
LONG $0x7f7ec1c4; WORD $0x780c // vmovdqu yword [r8 + 2*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x7844; BYTE $0x20 // vmovdqu yword [r8 + 2*rdi + 32], ymm0
LBB2_912:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1109
JMP LBB2_913
LBB2_917:
WORD $0xff31 // xor edi, edi
LBB2_918:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_920
LONG $0x0cf9fdc5; BYTE $0x79 // vpsubw ymm1, ymm0, yword [rcx + 2*rdi]
LONG $0x44f9fdc5; WORD $0x2079 // vpsubw ymm0, ymm0, yword [rcx + 2*rdi + 32]
LONG $0x7f7ec1c4; WORD $0x780c // vmovdqu yword [r8 + 2*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x7844; BYTE $0x20 // vmovdqu yword [r8 + 2*rdi + 32], ymm0
LBB2_920:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1109
JMP LBB2_921
LBB2_925:
WORD $0xff31 // xor edi, edi
LBB2_926:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_928
LONG $0x0cf9fdc5; BYTE $0x79 // vpsubw ymm1, ymm0, yword [rcx + 2*rdi]
LONG $0x44f9fdc5; WORD $0x2079 // vpsubw ymm0, ymm0, yword [rcx + 2*rdi + 32]
LONG $0x7f7ec1c4; WORD $0x780c // vmovdqu yword [r8 + 2*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x7844; BYTE $0x20 // vmovdqu yword [r8 + 2*rdi + 32], ymm0
LBB2_928:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1109
JMP LBB2_929
LBB2_933:
WORD $0xff31 // xor edi, edi
LBB2_934:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_936
LONG $0x146ffec5; BYTE $0xf9 // vmovdqu ymm2, yword [rcx + 8*rdi]
LONG $0x5c6ffec5; WORD $0x20f9 // vmovdqu ymm3, yword [rcx + 8*rdi + 32]
LONG $0x646ffec5; WORD $0x40f9 // vmovdqu ymm4, yword [rcx + 8*rdi + 64]
LONG $0x6c6ffec5; WORD $0x60f9 // vmovdqu ymm5, yword [rcx + 8*rdi + 96]
LONG $0xf1f4edc5 // vpmuludq ymm6, ymm2, ymm1
LONG $0xd273c5c5; BYTE $0x20 // vpsrlq ymm7, ymm2, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xd0f4edc5 // vpmuludq ymm2, ymm2, ymm0
LONG $0xd6d4edc5 // vpaddq ymm2, ymm2, ymm6
LONG $0xf1f4e5c5 // vpmuludq ymm6, ymm3, ymm1
LONG $0xd373c5c5; BYTE $0x20 // vpsrlq ymm7, ymm3, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xd8f4e5c5 // vpmuludq ymm3, ymm3, ymm0
LONG $0xded4e5c5 // vpaddq ymm3, ymm3, ymm6
LONG $0xf1f4ddc5 // vpmuludq ymm6, ymm4, ymm1
LONG $0xd473c5c5; BYTE $0x20 // vpsrlq ymm7, ymm4, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xe0f4ddc5 // vpmuludq ymm4, ymm4, ymm0
LONG $0xe6d4ddc5 // vpaddq ymm4, ymm4, ymm6
LONG $0xc9f4d5c5 // vpmuludq ymm1, ymm5, ymm1
LONG $0xd573cdc5; BYTE $0x20 // vpsrlq ymm6, ymm5, 32
LONG $0xf0f4cdc5 // vpmuludq ymm6, ymm6, ymm0
LONG $0xced4f5c5 // vpaddq ymm1, ymm1, ymm6
LONG $0xf173f5c5; BYTE $0x20 // vpsllq ymm1, ymm1, 32
LONG $0xc0f4d5c5 // vpmuludq ymm0, ymm5, ymm0
LONG $0xc1d4fdc5 // vpaddq ymm0, ymm0, ymm1
LONG $0x7f7ec1c4; WORD $0xf814 // vmovdqu yword [r8 + 8*rdi], ymm2
LONG $0x7f7ec1c4; WORD $0xf85c; BYTE $0x20 // vmovdqu yword [r8 + 8*rdi + 32], ymm3
LONG $0x7f7ec1c4; WORD $0xf864; BYTE $0x40 // vmovdqu yword [r8 + 8*rdi + 64], ymm4
LONG $0x7f7ec1c4; WORD $0xf844; BYTE $0x60 // vmovdqu yword [r8 + 8*rdi + 96], ymm0
LBB2_936:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1109
JMP LBB2_937
LBB2_941:
WORD $0xff31 // xor edi, edi
LBB2_942:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_944
LONG $0x1459f4c5; BYTE $0xb9 // vmulps ymm2, ymm1, yword [rcx + 4*rdi]
LONG $0x5c59f4c5; WORD $0x20b9 // vmulps ymm3, ymm1, yword [rcx + 4*rdi + 32]
LONG $0x6459f4c5; WORD $0x40b9 // vmulps ymm4, ymm1, yword [rcx + 4*rdi + 64]
LONG $0x4c59f4c5; WORD $0x60b9 // vmulps ymm1, ymm1, yword [rcx + 4*rdi + 96]
LONG $0x117cc1c4; WORD $0xb814 // vmovups yword [r8 + 4*rdi], ymm2
LONG $0x117cc1c4; WORD $0xb85c; BYTE $0x20 // vmovups yword [r8 + 4*rdi + 32], ymm3
LONG $0x117cc1c4; WORD $0xb864; BYTE $0x40 // vmovups yword [r8 + 4*rdi + 64], ymm4
LONG $0x117cc1c4; WORD $0xb84c; BYTE $0x60 // vmovups yword [r8 + 4*rdi + 96], ymm1
LBB2_944:
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB2_1109
JMP LBB2_945
LBB2_949:
WORD $0xff31 // xor edi, edi
LBB2_950:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_952
LONG $0x146ffec5; BYTE $0xf9 // vmovdqu ymm2, yword [rcx + 8*rdi]
LONG $0x5c6ffec5; WORD $0x20f9 // vmovdqu ymm3, yword [rcx + 8*rdi + 32]
LONG $0x646ffec5; WORD $0x40f9 // vmovdqu ymm4, yword [rcx + 8*rdi + 64]
LONG $0x6c6ffec5; WORD $0x60f9 // vmovdqu ymm5, yword [rcx + 8*rdi + 96]
LONG $0xf1f4edc5 // vpmuludq ymm6, ymm2, ymm1
LONG $0xd273c5c5; BYTE $0x20 // vpsrlq ymm7, ymm2, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xd0f4edc5 // vpmuludq ymm2, ymm2, ymm0
LONG $0xd6d4edc5 // vpaddq ymm2, ymm2, ymm6
LONG $0xf1f4e5c5 // vpmuludq ymm6, ymm3, ymm1
LONG $0xd373c5c5; BYTE $0x20 // vpsrlq ymm7, ymm3, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xd8f4e5c5 // vpmuludq ymm3, ymm3, ymm0
LONG $0xded4e5c5 // vpaddq ymm3, ymm3, ymm6
LONG $0xf1f4ddc5 // vpmuludq ymm6, ymm4, ymm1
LONG $0xd473c5c5; BYTE $0x20 // vpsrlq ymm7, ymm4, 32
LONG $0xf8f4c5c5 // vpmuludq ymm7, ymm7, ymm0
LONG $0xf7d4cdc5 // vpaddq ymm6, ymm6, ymm7
LONG $0xf673cdc5; BYTE $0x20 // vpsllq ymm6, ymm6, 32
LONG $0xe0f4ddc5 // vpmuludq ymm4, ymm4, ymm0
LONG $0xe6d4ddc5 // vpaddq ymm4, ymm4, ymm6
LONG $0xc9f4d5c5 // vpmuludq ymm1, ymm5, ymm1
LONG $0xd573cdc5; BYTE $0x20 // vpsrlq ymm6, ymm5, 32
LONG $0xf0f4cdc5 // vpmuludq ymm6, ymm6, ymm0
LONG $0xced4f5c5 // vpaddq ymm1, ymm1, ymm6
LONG $0xf173f5c5; BYTE $0x20 // vpsllq ymm1, ymm1, 32
LONG $0xc0f4d5c5 // vpmuludq ymm0, ymm5, ymm0
LONG $0xc1d4fdc5 // vpaddq ymm0, ymm0, ymm1
LONG $0x7f7ec1c4; WORD $0xf814 // vmovdqu yword [r8 + 8*rdi], ymm2
LONG $0x7f7ec1c4; WORD $0xf85c; BYTE $0x20 // vmovdqu yword [r8 + 8*rdi + 32], ymm3
LONG $0x7f7ec1c4; WORD $0xf864; BYTE $0x40 // vmovdqu yword [r8 + 8*rdi + 64], ymm4
LONG $0x7f7ec1c4; WORD $0xf844; BYTE $0x60 // vmovdqu yword [r8 + 8*rdi + 96], ymm0
LBB2_952:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1109
JMP LBB2_953
LBB2_957:
WORD $0xff31 // xor edi, edi
LBB2_958:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_960
LONG $0x1459f4c5; BYTE $0xb9 // vmulps ymm2, ymm1, yword [rcx + 4*rdi]
LONG $0x5c59f4c5; WORD $0x20b9 // vmulps ymm3, ymm1, yword [rcx + 4*rdi + 32]
LONG $0x6459f4c5; WORD $0x40b9 // vmulps ymm4, ymm1, yword [rcx + 4*rdi + 64]
LONG $0x4c59f4c5; WORD $0x60b9 // vmulps ymm1, ymm1, yword [rcx + 4*rdi + 96]
LONG $0x117cc1c4; WORD $0xb814 // vmovups yword [r8 + 4*rdi], ymm2
LONG $0x117cc1c4; WORD $0xb85c; BYTE $0x20 // vmovups yword [r8 + 4*rdi + 32], ymm3
LONG $0x117cc1c4; WORD $0xb864; BYTE $0x40 // vmovups yword [r8 + 4*rdi + 64], ymm4
LONG $0x117cc1c4; WORD $0xb84c; BYTE $0x60 // vmovups yword [r8 + 4*rdi + 96], ymm1
LBB2_960:
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB2_1109
JMP LBB2_961
LBB2_965:
WORD $0xff31 // xor edi, edi
LBB2_966:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_968
LONG $0x0cd4fdc5; BYTE $0xf9 // vpaddq ymm1, ymm0, yword [rcx + 8*rdi]
LONG $0x54d4fdc5; WORD $0x20f9 // vpaddq ymm2, ymm0, yword [rcx + 8*rdi + 32]
LONG $0x5cd4fdc5; WORD $0x40f9 // vpaddq ymm3, ymm0, yword [rcx + 8*rdi + 64]
LONG $0x44d4fdc5; WORD $0x60f9 // vpaddq ymm0, ymm0, yword [rcx + 8*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xf80c // vmovdqu yword [r8 + 8*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xf854; BYTE $0x20 // vmovdqu yword [r8 + 8*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xf85c; BYTE $0x40 // vmovdqu yword [r8 + 8*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xf844; BYTE $0x60 // vmovdqu yword [r8 + 8*rdi + 96], ymm0
LBB2_968:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1109
JMP LBB2_969
LBB2_973:
WORD $0xff31 // xor edi, edi
LBB2_974:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_976
LONG $0x1458f4c5; BYTE $0xb9 // vaddps ymm2, ymm1, yword [rcx + 4*rdi]
LONG $0x5c58f4c5; WORD $0x20b9 // vaddps ymm3, ymm1, yword [rcx + 4*rdi + 32]
LONG $0x6458f4c5; WORD $0x40b9 // vaddps ymm4, ymm1, yword [rcx + 4*rdi + 64]
LONG $0x4c58f4c5; WORD $0x60b9 // vaddps ymm1, ymm1, yword [rcx + 4*rdi + 96]
LONG $0x117cc1c4; WORD $0xb814 // vmovups yword [r8 + 4*rdi], ymm2
LONG $0x117cc1c4; WORD $0xb85c; BYTE $0x20 // vmovups yword [r8 + 4*rdi + 32], ymm3
LONG $0x117cc1c4; WORD $0xb864; BYTE $0x40 // vmovups yword [r8 + 4*rdi + 64], ymm4
LONG $0x117cc1c4; WORD $0xb84c; BYTE $0x60 // vmovups yword [r8 + 4*rdi + 96], ymm1
LBB2_976:
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB2_1109
JMP LBB2_977
LBB2_981:
WORD $0xff31 // xor edi, edi
LBB2_982:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_984
LONG $0x0cfbfdc5; BYTE $0xf9 // vpsubq ymm1, ymm0, yword [rcx + 8*rdi]
LONG $0x54fbfdc5; WORD $0x20f9 // vpsubq ymm2, ymm0, yword [rcx + 8*rdi + 32]
LONG $0x5cfbfdc5; WORD $0x40f9 // vpsubq ymm3, ymm0, yword [rcx + 8*rdi + 64]
LONG $0x44fbfdc5; WORD $0x60f9 // vpsubq ymm0, ymm0, yword [rcx + 8*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xf80c // vmovdqu yword [r8 + 8*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xf854; BYTE $0x20 // vmovdqu yword [r8 + 8*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xf85c; BYTE $0x40 // vmovdqu yword [r8 + 8*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xf844; BYTE $0x60 // vmovdqu yword [r8 + 8*rdi + 96], ymm0
LBB2_984:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1109
JMP LBB2_985
LBB2_989:
WORD $0xff31 // xor edi, edi
LBB2_990:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_992
LONG $0x145cf4c5; BYTE $0xb9 // vsubps ymm2, ymm1, yword [rcx + 4*rdi]
LONG $0x5c5cf4c5; WORD $0x20b9 // vsubps ymm3, ymm1, yword [rcx + 4*rdi + 32]
LONG $0x645cf4c5; WORD $0x40b9 // vsubps ymm4, ymm1, yword [rcx + 4*rdi + 64]
LONG $0x4c5cf4c5; WORD $0x60b9 // vsubps ymm1, ymm1, yword [rcx + 4*rdi + 96]
LONG $0x117cc1c4; WORD $0xb814 // vmovups yword [r8 + 4*rdi], ymm2
LONG $0x117cc1c4; WORD $0xb85c; BYTE $0x20 // vmovups yword [r8 + 4*rdi + 32], ymm3
LONG $0x117cc1c4; WORD $0xb864; BYTE $0x40 // vmovups yword [r8 + 4*rdi + 64], ymm4
LONG $0x117cc1c4; WORD $0xb84c; BYTE $0x60 // vmovups yword [r8 + 4*rdi + 96], ymm1
LBB2_992:
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB2_1109
JMP LBB2_993
LBB2_997:
WORD $0xff31 // xor edi, edi
LBB2_998:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_1000
LONG $0x0cd4fdc5; BYTE $0xf9 // vpaddq ymm1, ymm0, yword [rcx + 8*rdi]
LONG $0x54d4fdc5; WORD $0x20f9 // vpaddq ymm2, ymm0, yword [rcx + 8*rdi + 32]
LONG $0x5cd4fdc5; WORD $0x40f9 // vpaddq ymm3, ymm0, yword [rcx + 8*rdi + 64]
LONG $0x44d4fdc5; WORD $0x60f9 // vpaddq ymm0, ymm0, yword [rcx + 8*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xf80c // vmovdqu yword [r8 + 8*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xf854; BYTE $0x20 // vmovdqu yword [r8 + 8*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xf85c; BYTE $0x40 // vmovdqu yword [r8 + 8*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xf844; BYTE $0x60 // vmovdqu yword [r8 + 8*rdi + 96], ymm0
LBB2_1000:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1109
JMP LBB2_1001
LBB2_1005:
WORD $0xff31 // xor edi, edi
LBB2_1006:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_1008
LONG $0x1458f4c5; BYTE $0xb9 // vaddps ymm2, ymm1, yword [rcx + 4*rdi]
LONG $0x5c58f4c5; WORD $0x20b9 // vaddps ymm3, ymm1, yword [rcx + 4*rdi + 32]
LONG $0x6458f4c5; WORD $0x40b9 // vaddps ymm4, ymm1, yword [rcx + 4*rdi + 64]
LONG $0x4c58f4c5; WORD $0x60b9 // vaddps ymm1, ymm1, yword [rcx + 4*rdi + 96]
LONG $0x117cc1c4; WORD $0xb814 // vmovups yword [r8 + 4*rdi], ymm2
LONG $0x117cc1c4; WORD $0xb85c; BYTE $0x20 // vmovups yword [r8 + 4*rdi + 32], ymm3
LONG $0x117cc1c4; WORD $0xb864; BYTE $0x40 // vmovups yword [r8 + 4*rdi + 64], ymm4
LONG $0x117cc1c4; WORD $0xb84c; BYTE $0x60 // vmovups yword [r8 + 4*rdi + 96], ymm1
LBB2_1008:
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB2_1109
JMP LBB2_1009
LBB2_1013:
WORD $0xff31 // xor edi, edi
LBB2_1014:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_1016
LONG $0x0cfbfdc5; BYTE $0xf9 // vpsubq ymm1, ymm0, yword [rcx + 8*rdi]
LONG $0x54fbfdc5; WORD $0x20f9 // vpsubq ymm2, ymm0, yword [rcx + 8*rdi + 32]
LONG $0x5cfbfdc5; WORD $0x40f9 // vpsubq ymm3, ymm0, yword [rcx + 8*rdi + 64]
LONG $0x44fbfdc5; WORD $0x60f9 // vpsubq ymm0, ymm0, yword [rcx + 8*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xf80c // vmovdqu yword [r8 + 8*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xf854; BYTE $0x20 // vmovdqu yword [r8 + 8*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xf85c; BYTE $0x40 // vmovdqu yword [r8 + 8*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xf844; BYTE $0x60 // vmovdqu yword [r8 + 8*rdi + 96], ymm0
LBB2_1016:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1109
JMP LBB2_1017
LBB2_1021:
WORD $0xff31 // xor edi, edi
LBB2_1022:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_1024
LONG $0x145cf4c5; BYTE $0xb9 // vsubps ymm2, ymm1, yword [rcx + 4*rdi]
LONG $0x5c5cf4c5; WORD $0x20b9 // vsubps ymm3, ymm1, yword [rcx + 4*rdi + 32]
LONG $0x645cf4c5; WORD $0x40b9 // vsubps ymm4, ymm1, yword [rcx + 4*rdi + 64]
LONG $0x4c5cf4c5; WORD $0x60b9 // vsubps ymm1, ymm1, yword [rcx + 4*rdi + 96]
LONG $0x117cc1c4; WORD $0xb814 // vmovups yword [r8 + 4*rdi], ymm2
LONG $0x117cc1c4; WORD $0xb85c; BYTE $0x20 // vmovups yword [r8 + 4*rdi + 32], ymm3
LONG $0x117cc1c4; WORD $0xb864; BYTE $0x40 // vmovups yword [r8 + 4*rdi + 64], ymm4
LONG $0x117cc1c4; WORD $0xb84c; BYTE $0x60 // vmovups yword [r8 + 4*rdi + 96], ymm1
LBB2_1024:
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB2_1109
JMP LBB2_1025
LBB2_1029:
WORD $0xff31 // xor edi, edi
LBB2_1030:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_1032
LONG $0x0cfcfdc5; BYTE $0x39 // vpaddb ymm1, ymm0, yword [rcx + rdi]
LONG $0x54fcfdc5; WORD $0x2039 // vpaddb ymm2, ymm0, yword [rcx + rdi + 32]
LONG $0x5cfcfdc5; WORD $0x4039 // vpaddb ymm3, ymm0, yword [rcx + rdi + 64]
LONG $0x44fcfdc5; WORD $0x6039 // vpaddb ymm0, ymm0, yword [rcx + rdi + 96]
LONG $0x7f7ec1c4; WORD $0x380c // vmovdqu yword [r8 + rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x3854; BYTE $0x20 // vmovdqu yword [r8 + rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0x385c; BYTE $0x40 // vmovdqu yword [r8 + rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0x3844; BYTE $0x60 // vmovdqu yword [r8 + rdi + 96], ymm0
LBB2_1032:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1109
JMP LBB2_1033
LBB2_1037:
WORD $0xff31 // xor edi, edi
LBB2_1038:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_1040
LONG $0x0cf8fdc5; BYTE $0x39 // vpsubb ymm1, ymm0, yword [rcx + rdi]
LONG $0x54f8fdc5; WORD $0x2039 // vpsubb ymm2, ymm0, yword [rcx + rdi + 32]
LONG $0x5cf8fdc5; WORD $0x4039 // vpsubb ymm3, ymm0, yword [rcx + rdi + 64]
LONG $0x44f8fdc5; WORD $0x6039 // vpsubb ymm0, ymm0, yword [rcx + rdi + 96]
LONG $0x7f7ec1c4; WORD $0x380c // vmovdqu yword [r8 + rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x3854; BYTE $0x20 // vmovdqu yword [r8 + rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0x385c; BYTE $0x40 // vmovdqu yword [r8 + rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0x3844; BYTE $0x60 // vmovdqu yword [r8 + rdi + 96], ymm0
LBB2_1040:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1109
JMP LBB2_1041
LBB2_1045:
WORD $0xff31 // xor edi, edi
LBB2_1046:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_1048
LONG $0x0cfcfdc5; BYTE $0x39 // vpaddb ymm1, ymm0, yword [rcx + rdi]
LONG $0x54fcfdc5; WORD $0x2039 // vpaddb ymm2, ymm0, yword [rcx + rdi + 32]
LONG $0x5cfcfdc5; WORD $0x4039 // vpaddb ymm3, ymm0, yword [rcx + rdi + 64]
LONG $0x44fcfdc5; WORD $0x6039 // vpaddb ymm0, ymm0, yword [rcx + rdi + 96]
LONG $0x7f7ec1c4; WORD $0x380c // vmovdqu yword [r8 + rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x3854; BYTE $0x20 // vmovdqu yword [r8 + rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0x385c; BYTE $0x40 // vmovdqu yword [r8 + rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0x3844; BYTE $0x60 // vmovdqu yword [r8 + rdi + 96], ymm0
LBB2_1048:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1109
JMP LBB2_1049
LBB2_1053:
WORD $0xff31 // xor edi, edi
LBB2_1054:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_1056
LONG $0x0cf8fdc5; BYTE $0x39 // vpsubb ymm1, ymm0, yword [rcx + rdi]
LONG $0x54f8fdc5; WORD $0x2039 // vpsubb ymm2, ymm0, yword [rcx + rdi + 32]
LONG $0x5cf8fdc5; WORD $0x4039 // vpsubb ymm3, ymm0, yword [rcx + rdi + 64]
LONG $0x44f8fdc5; WORD $0x6039 // vpsubb ymm0, ymm0, yword [rcx + rdi + 96]
LONG $0x7f7ec1c4; WORD $0x380c // vmovdqu yword [r8 + rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x3854; BYTE $0x20 // vmovdqu yword [r8 + rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0x385c; BYTE $0x40 // vmovdqu yword [r8 + rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0x3844; BYTE $0x60 // vmovdqu yword [r8 + rdi + 96], ymm0
LBB2_1056:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1109
JMP LBB2_1057
LBB2_1061:
WORD $0xff31 // xor edi, edi
LBB2_1062:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_1064
LONG $0x407de2c4; WORD $0xb90c // vpmulld ymm1, ymm0, yword [rcx + 4*rdi]
LONG $0x407de2c4; WORD $0xb954; BYTE $0x20 // vpmulld ymm2, ymm0, yword [rcx + 4*rdi + 32]
LONG $0x407de2c4; WORD $0xb95c; BYTE $0x40 // vpmulld ymm3, ymm0, yword [rcx + 4*rdi + 64]
LONG $0x407de2c4; WORD $0xb944; BYTE $0x60 // vpmulld ymm0, ymm0, yword [rcx + 4*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xb80c // vmovdqu yword [r8 + 4*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xb854; BYTE $0x20 // vmovdqu yword [r8 + 4*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xb85c; BYTE $0x40 // vmovdqu yword [r8 + 4*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xb844; BYTE $0x60 // vmovdqu yword [r8 + 4*rdi + 96], ymm0
LBB2_1064:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1109
JMP LBB2_1065
LBB2_1069:
WORD $0xff31 // xor edi, edi
LBB2_1070:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_1072
LONG $0x407de2c4; WORD $0xb90c // vpmulld ymm1, ymm0, yword [rcx + 4*rdi]
LONG $0x407de2c4; WORD $0xb954; BYTE $0x20 // vpmulld ymm2, ymm0, yword [rcx + 4*rdi + 32]
LONG $0x407de2c4; WORD $0xb95c; BYTE $0x40 // vpmulld ymm3, ymm0, yword [rcx + 4*rdi + 64]
LONG $0x407de2c4; WORD $0xb944; BYTE $0x60 // vpmulld ymm0, ymm0, yword [rcx + 4*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xb80c // vmovdqu yword [r8 + 4*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xb854; BYTE $0x20 // vmovdqu yword [r8 + 4*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xb85c; BYTE $0x40 // vmovdqu yword [r8 + 4*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xb844; BYTE $0x60 // vmovdqu yword [r8 + 4*rdi + 96], ymm0
LBB2_1072:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1109
JMP LBB2_1073
LBB2_1077:
WORD $0xff31 // xor edi, edi
LBB2_1078:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_1080
LONG $0x0cfefdc5; BYTE $0xb9 // vpaddd ymm1, ymm0, yword [rcx + 4*rdi]
LONG $0x54fefdc5; WORD $0x20b9 // vpaddd ymm2, ymm0, yword [rcx + 4*rdi + 32]
LONG $0x5cfefdc5; WORD $0x40b9 // vpaddd ymm3, ymm0, yword [rcx + 4*rdi + 64]
LONG $0x44fefdc5; WORD $0x60b9 // vpaddd ymm0, ymm0, yword [rcx + 4*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xb80c // vmovdqu yword [r8 + 4*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xb854; BYTE $0x20 // vmovdqu yword [r8 + 4*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xb85c; BYTE $0x40 // vmovdqu yword [r8 + 4*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xb844; BYTE $0x60 // vmovdqu yword [r8 + 4*rdi + 96], ymm0
LBB2_1080:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1109
JMP LBB2_1081
LBB2_1085:
WORD $0xff31 // xor edi, edi
LBB2_1086:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_1088
LONG $0x0cfafdc5; BYTE $0xb9 // vpsubd ymm1, ymm0, yword [rcx + 4*rdi]
LONG $0x54fafdc5; WORD $0x20b9 // vpsubd ymm2, ymm0, yword [rcx + 4*rdi + 32]
LONG $0x5cfafdc5; WORD $0x40b9 // vpsubd ymm3, ymm0, yword [rcx + 4*rdi + 64]
LONG $0x44fafdc5; WORD $0x60b9 // vpsubd ymm0, ymm0, yword [rcx + 4*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xb80c // vmovdqu yword [r8 + 4*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xb854; BYTE $0x20 // vmovdqu yword [r8 + 4*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xb85c; BYTE $0x40 // vmovdqu yword [r8 + 4*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xb844; BYTE $0x60 // vmovdqu yword [r8 + 4*rdi + 96], ymm0
LBB2_1088:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1109
JMP LBB2_1089
LBB2_1093:
WORD $0xff31 // xor edi, edi
LBB2_1094:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_1096
LONG $0x0cfefdc5; BYTE $0xb9 // vpaddd ymm1, ymm0, yword [rcx + 4*rdi]
LONG $0x54fefdc5; WORD $0x20b9 // vpaddd ymm2, ymm0, yword [rcx + 4*rdi + 32]
LONG $0x5cfefdc5; WORD $0x40b9 // vpaddd ymm3, ymm0, yword [rcx + 4*rdi + 64]
LONG $0x44fefdc5; WORD $0x60b9 // vpaddd ymm0, ymm0, yword [rcx + 4*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xb80c // vmovdqu yword [r8 + 4*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xb854; BYTE $0x20 // vmovdqu yword [r8 + 4*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xb85c; BYTE $0x40 // vmovdqu yword [r8 + 4*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xb844; BYTE $0x60 // vmovdqu yword [r8 + 4*rdi + 96], ymm0
LBB2_1096:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1109
JMP LBB2_1097
LBB2_1101:
WORD $0xff31 // xor edi, edi
LBB2_1102:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_1104
LONG $0x0cfafdc5; BYTE $0xb9 // vpsubd ymm1, ymm0, yword [rcx + 4*rdi]
LONG $0x54fafdc5; WORD $0x20b9 // vpsubd ymm2, ymm0, yword [rcx + 4*rdi + 32]
LONG $0x5cfafdc5; WORD $0x40b9 // vpsubd ymm3, ymm0, yword [rcx + 4*rdi + 64]
LONG $0x44fafdc5; WORD $0x60b9 // vpsubd ymm0, ymm0, yword [rcx + 4*rdi + 96]
LONG $0x7f7ec1c4; WORD $0xb80c // vmovdqu yword [r8 + 4*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0xb854; BYTE $0x20 // vmovdqu yword [r8 + 4*rdi + 32], ymm2
LONG $0x7f7ec1c4; WORD $0xb85c; BYTE $0x40 // vmovdqu yword [r8 + 4*rdi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0xb844; BYTE $0x60 // vmovdqu yword [r8 + 4*rdi + 96], ymm0
LBB2_1104:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JNE LBB2_1105
LBB2_1109:
VZEROUPPER
RET
DATA LCDATA4<>+0x000(SB)/8, $0x8000000000000000
DATA LCDATA4<>+0x008(SB)/8, $0x3ff0000000000000
DATA LCDATA4<>+0x010(SB)/8, $0x0000000000000001
DATA LCDATA4<>+0x018(SB)/8, $0x7fffffffffffffff
DATA LCDATA4<>+0x020(SB)/8, $0x8000000000000000
DATA LCDATA4<>+0x028(SB)/8, $0x8000000000000000
DATA LCDATA4<>+0x030(SB)/8, $0x000000000c080400
DATA LCDATA4<>+0x038(SB)/8, $0x0000000000000000
DATA LCDATA4<>+0x040(SB)/8, $0x8000000000000001
DATA LCDATA4<>+0x048(SB)/8, $0x000000007fffffff
DATA LCDATA4<>+0x050(SB)/8, $0x0000000000000000
DATA LCDATA4<>+0x058(SB)/8, $0x0000000000000000
DATA LCDATA4<>+0x060(SB)/8, $0x0001000100010001
DATA LCDATA4<>+0x068(SB)/8, $0x0001000100010001
DATA LCDATA4<>+0x070(SB)/8, $0x0001000100010001
DATA LCDATA4<>+0x078(SB)/8, $0x0001000100010001
DATA LCDATA4<>+0x080(SB)/8, $0x0101010101010101
DATA LCDATA4<>+0x088(SB)/8, $0x0101010101010101
DATA LCDATA4<>+0x090(SB)/8, $0x0101010101010101
DATA LCDATA4<>+0x098(SB)/8, $0x0101010101010101
DATA LCDATA4<>+0x0a0(SB)/8, $0x0d0c090805040100
DATA LCDATA4<>+0x0a8(SB)/8, $0x0f0e0d0c0d0c0908
DATA LCDATA4<>+0x0b0(SB)/8, $0x1d1c191815141110
DATA LCDATA4<>+0x0b8(SB)/8, $0x1f1e1d1c1d1c1918
GLOBL LCDATA4<>(SB), 8, $192
TEXT ยท_arithmetic_unary_same_types_avx2(SB), $0-40
MOVQ typ+0(FP), DI
MOVQ op+8(FP), SI
MOVQ input+16(FP), DX
MOVQ output+24(FP), CX
MOVQ len+32(FP), R8
LEAQ LCDATA4<>(SB), BP
LONG $0x13fe8040 // cmp sil, 19
JLE LBB3_12
LONG $0x14fe8040 // cmp sil, 20
JE LBB3_22
LONG $0x19fe8040 // cmp sil, 25
JE LBB3_30
LONG $0x1afe8040 // cmp sil, 26
JNE LBB3_865
WORD $0xff83; BYTE $0x06 // cmp edi, 6
JG LBB3_46
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JLE LBB3_81
WORD $0xff83; BYTE $0x04 // cmp edi, 4
JE LBB3_131
WORD $0xff83; BYTE $0x05 // cmp edi, 5
JE LBB3_134
WORD $0xff83; BYTE $0x06 // cmp edi, 6
JNE LBB3_865
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_865
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x20f88341 // cmp r8d, 32
JAE LBB3_221
WORD $0xd231 // xor edx, edx
JMP LBB3_373
LBB3_12:
LONG $0x04fe8040 // cmp sil, 4
JE LBB3_38
LONG $0x05fe8040 // cmp sil, 5
JNE LBB3_865
WORD $0xff83; BYTE $0x06 // cmp edi, 6
JG LBB3_53
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JLE LBB3_86
WORD $0xff83; BYTE $0x04 // cmp edi, 4
JE LBB3_137
WORD $0xff83; BYTE $0x05 // cmp edi, 5
JE LBB3_140
WORD $0xff83; BYTE $0x06 // cmp edi, 6
JNE LBB3_865
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_865
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x20f88341 // cmp r8d, 32
JB LBB3_21
LONG $0x8a048d4a // lea rax, [rdx + 4*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_374
LONG $0x89048d4a // lea rax, [rcx + 4*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_374
LBB3_21:
WORD $0xf631 // xor esi, esi
LBB3_616:
WORD $0x8949; BYTE $0xf0 // mov r8, rsi
WORD $0xf749; BYTE $0xd0 // not r8
WORD $0x014d; BYTE $0xc8 // add r8, r9
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0x03e78348 // and rdi, 3
JE LBB3_618
LBB3_617:
WORD $0xc031 // xor eax, eax
WORD $0x042b; BYTE $0xb2 // sub eax, dword [rdx + 4*rsi]
WORD $0x0489; BYTE $0xb1 // mov dword [rcx + 4*rsi], eax
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB3_617
LBB3_618:
LONG $0x03f88349 // cmp r8, 3
JB LBB3_865
LBB3_619:
WORD $0xc031 // xor eax, eax
WORD $0x042b; BYTE $0xb2 // sub eax, dword [rdx + 4*rsi]
WORD $0x0489; BYTE $0xb1 // mov dword [rcx + 4*rsi], eax
WORD $0xc031 // xor eax, eax
LONG $0x04b2442b // sub eax, dword [rdx + 4*rsi + 4]
LONG $0x04b14489 // mov dword [rcx + 4*rsi + 4], eax
WORD $0xc031 // xor eax, eax
LONG $0x08b2442b // sub eax, dword [rdx + 4*rsi + 8]
LONG $0x08b14489 // mov dword [rcx + 4*rsi + 8], eax
WORD $0xc031 // xor eax, eax
LONG $0x0cb2442b // sub eax, dword [rdx + 4*rsi + 12]
LONG $0x0cb14489 // mov dword [rcx + 4*rsi + 12], eax
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf1 // cmp r9, rsi
JNE LBB3_619
JMP LBB3_865
LBB3_22:
WORD $0xff83; BYTE $0x06 // cmp edi, 6
JG LBB3_60
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JLE LBB3_91
WORD $0xff83; BYTE $0x04 // cmp edi, 4
JE LBB3_143
WORD $0xff83; BYTE $0x05 // cmp edi, 5
JE LBB3_146
WORD $0xff83; BYTE $0x06 // cmp edi, 6
JNE LBB3_865
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_865
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x20f88341 // cmp r8d, 32
JB LBB3_29
LONG $0x8a048d4a // lea rax, [rdx + 4*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_377
LONG $0x89048d4a // lea rax, [rcx + 4*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_377
LBB3_29:
WORD $0xf631 // xor esi, esi
LBB3_380:
WORD $0x8949; BYTE $0xf0 // mov r8, rsi
WORD $0xf749; BYTE $0xd0 // not r8
WORD $0x014d; BYTE $0xc8 // add r8, r9
WORD $0x894c; BYTE $0xc8 // mov rax, r9
LONG $0x03e08348 // and rax, 3
JE LBB3_382
LBB3_381:
WORD $0xff31 // xor edi, edi
LONG $0x00b23c83 // cmp dword [rdx + 4*rsi], 0
LONG $0xd7950f40 // setne dil
WORD $0x3c89; BYTE $0xb1 // mov dword [rcx + 4*rsi], edi
LONG $0x01c68348 // add rsi, 1
LONG $0xffc08348 // add rax, -1
JNE LBB3_381
LBB3_382:
LONG $0x03f88349 // cmp r8, 3
JB LBB3_865
LBB3_383:
WORD $0xc031 // xor eax, eax
LONG $0x00b23c83 // cmp dword [rdx + 4*rsi], 0
WORD $0x950f; BYTE $0xd0 // setne al
WORD $0x0489; BYTE $0xb1 // mov dword [rcx + 4*rsi], eax
WORD $0xc031 // xor eax, eax
LONG $0x04b27c83; BYTE $0x00 // cmp dword [rdx + 4*rsi + 4], 0
WORD $0x950f; BYTE $0xd0 // setne al
LONG $0x04b14489 // mov dword [rcx + 4*rsi + 4], eax
WORD $0xc031 // xor eax, eax
LONG $0x08b27c83; BYTE $0x00 // cmp dword [rdx + 4*rsi + 8], 0
WORD $0x950f; BYTE $0xd0 // setne al
LONG $0x08b14489 // mov dword [rcx + 4*rsi + 8], eax
WORD $0xc031 // xor eax, eax
LONG $0x0cb27c83; BYTE $0x00 // cmp dword [rdx + 4*rsi + 12], 0
WORD $0x950f; BYTE $0xd0 // setne al
LONG $0x0cb14489 // mov dword [rcx + 4*rsi + 12], eax
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf1 // cmp r9, rsi
JNE LBB3_383
JMP LBB3_865
LBB3_30:
WORD $0xff83; BYTE $0x06 // cmp edi, 6
JG LBB3_67
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JLE LBB3_96
WORD $0xff83; BYTE $0x04 // cmp edi, 4
JE LBB3_149
WORD $0xff83; BYTE $0x05 // cmp edi, 5
JE LBB3_152
WORD $0xff83; BYTE $0x06 // cmp edi, 6
JNE LBB3_865
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_865
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x20f88341 // cmp r8d, 32
JB LBB3_37
LONG $0x8a048d4a // lea rax, [rdx + 4*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_384
LONG $0x89048d4a // lea rax, [rcx + 4*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_384
LBB3_37:
WORD $0xf631 // xor esi, esi
LBB3_624:
WORD $0x8949; BYTE $0xf0 // mov r8, rsi
WORD $0xf749; BYTE $0xd0 // not r8
WORD $0x014d; BYTE $0xc8 // add r8, r9
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0x03e78348 // and rdi, 3
JE LBB3_626
LBB3_625:
WORD $0x048b; BYTE $0xb2 // mov eax, dword [rdx + 4*rsi]
WORD $0x0489; BYTE $0xb1 // mov dword [rcx + 4*rsi], eax
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB3_625
LBB3_626:
LONG $0x03f88349 // cmp r8, 3
JB LBB3_865
LBB3_627:
WORD $0x048b; BYTE $0xb2 // mov eax, dword [rdx + 4*rsi]
WORD $0x0489; BYTE $0xb1 // mov dword [rcx + 4*rsi], eax
LONG $0x04b2448b // mov eax, dword [rdx + 4*rsi + 4]
LONG $0x04b14489 // mov dword [rcx + 4*rsi + 4], eax
LONG $0x08b2448b // mov eax, dword [rdx + 4*rsi + 8]
LONG $0x08b14489 // mov dword [rcx + 4*rsi + 8], eax
LONG $0x0cb2448b // mov eax, dword [rdx + 4*rsi + 12]
LONG $0x0cb14489 // mov dword [rcx + 4*rsi + 12], eax
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf1 // cmp r9, rsi
JNE LBB3_627
JMP LBB3_865
LBB3_38:
WORD $0xff83; BYTE $0x06 // cmp edi, 6
JG LBB3_74
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JLE LBB3_101
WORD $0xff83; BYTE $0x04 // cmp edi, 4
JE LBB3_155
WORD $0xff83; BYTE $0x05 // cmp edi, 5
JE LBB3_158
WORD $0xff83; BYTE $0x06 // cmp edi, 6
JNE LBB3_865
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_865
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x20f88341 // cmp r8d, 32
JB LBB3_45
LONG $0x8a048d4a // lea rax, [rdx + 4*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_387
LONG $0x89048d4a // lea rax, [rcx + 4*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_387
LBB3_45:
WORD $0xf631 // xor esi, esi
LBB3_632:
WORD $0x8949; BYTE $0xf0 // mov r8, rsi
WORD $0xf749; BYTE $0xd0 // not r8
WORD $0x014d; BYTE $0xc8 // add r8, r9
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0x03e78348 // and rdi, 3
JE LBB3_634
LBB3_633:
WORD $0x048b; BYTE $0xb2 // mov eax, dword [rdx + 4*rsi]
WORD $0x0489; BYTE $0xb1 // mov dword [rcx + 4*rsi], eax
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB3_633
LBB3_634:
LONG $0x03f88349 // cmp r8, 3
JB LBB3_865
LBB3_635:
WORD $0x048b; BYTE $0xb2 // mov eax, dword [rdx + 4*rsi]
WORD $0x0489; BYTE $0xb1 // mov dword [rcx + 4*rsi], eax
LONG $0x04b2448b // mov eax, dword [rdx + 4*rsi + 4]
LONG $0x04b14489 // mov dword [rcx + 4*rsi + 4], eax
LONG $0x08b2448b // mov eax, dword [rdx + 4*rsi + 8]
LONG $0x08b14489 // mov dword [rcx + 4*rsi + 8], eax
LONG $0x0cb2448b // mov eax, dword [rdx + 4*rsi + 12]
LONG $0x0cb14489 // mov dword [rcx + 4*rsi + 12], eax
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf1 // cmp r9, rsi
JNE LBB3_635
JMP LBB3_865
LBB3_46:
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JLE LBB3_106
WORD $0xff83; BYTE $0x09 // cmp edi, 9
JE LBB3_161
WORD $0xff83; BYTE $0x0b // cmp edi, 11
JE LBB3_164
WORD $0xff83; BYTE $0x0c // cmp edi, 12
JNE LBB3_865
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_865
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x10f88341 // cmp r8d, 16
JB LBB3_52
LONG $0xca048d4a // lea rax, [rdx + 8*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_390
LONG $0xc9048d4a // lea rax, [rcx + 8*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_390
LBB3_52:
WORD $0xf631 // xor esi, esi
LBB3_640:
WORD $0x8948; BYTE $0xf0 // mov rax, rsi
WORD $0xf748; BYTE $0xd0 // not rax
WORD $0x014c; BYTE $0xc8 // add rax, r9
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0x03e78348 // and rdi, 3
JE LBB3_643
LONG $0x4528f9c5; BYTE $0x20 // vmovapd xmm0, oword 32[rbp] /* [rip + .LCPI3_2] */
LBB3_642:
LONG $0x0c10fbc5; BYTE $0xf2 // vmovsd xmm1, qword [rdx + 8*rsi]
LONG $0xc857f1c5 // vxorpd xmm1, xmm1, xmm0
LONG $0x0c13f9c5; BYTE $0xf1 // vmovlpd qword [rcx + 8*rsi], xmm1
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB3_642
LBB3_643:
LONG $0x03f88348 // cmp rax, 3
JB LBB3_865
LONG $0x4528f9c5; BYTE $0x20 // vmovapd xmm0, oword 32[rbp] /* [rip + .LCPI3_2] */
LBB3_645:
LONG $0x0c10fbc5; BYTE $0xf2 // vmovsd xmm1, qword [rdx + 8*rsi]
LONG $0xc857f1c5 // vxorpd xmm1, xmm1, xmm0
LONG $0x0c13f9c5; BYTE $0xf1 // vmovlpd qword [rcx + 8*rsi], xmm1
LONG $0x4c10fbc5; WORD $0x08f2 // vmovsd xmm1, qword [rdx + 8*rsi + 8]
LONG $0xc857f1c5 // vxorpd xmm1, xmm1, xmm0
LONG $0x4c13f9c5; WORD $0x08f1 // vmovlpd qword [rcx + 8*rsi + 8], xmm1
LONG $0x4c10fbc5; WORD $0x10f2 // vmovsd xmm1, qword [rdx + 8*rsi + 16]
LONG $0xc857f1c5 // vxorpd xmm1, xmm1, xmm0
LONG $0x4c13f9c5; WORD $0x10f1 // vmovlpd qword [rcx + 8*rsi + 16], xmm1
LONG $0x4c10fbc5; WORD $0x18f2 // vmovsd xmm1, qword [rdx + 8*rsi + 24]
LONG $0xc857f1c5 // vxorpd xmm1, xmm1, xmm0
LONG $0x4c13f9c5; WORD $0x18f1 // vmovlpd qword [rcx + 8*rsi + 24], xmm1
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf1 // cmp r9, rsi
JNE LBB3_645
JMP LBB3_865
LBB3_53:
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JLE LBB3_111
WORD $0xff83; BYTE $0x09 // cmp edi, 9
JE LBB3_167
WORD $0xff83; BYTE $0x0b // cmp edi, 11
JE LBB3_170
WORD $0xff83; BYTE $0x0c // cmp edi, 12
JNE LBB3_865
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_865
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x10f88341 // cmp r8d, 16
JB LBB3_59
LONG $0xca048d4a // lea rax, [rdx + 8*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_393
LONG $0xc9048d4a // lea rax, [rcx + 8*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_393
LBB3_59:
WORD $0xf631 // xor esi, esi
LBB3_650:
WORD $0x8948; BYTE $0xf0 // mov rax, rsi
WORD $0xf748; BYTE $0xd0 // not rax
WORD $0x014c; BYTE $0xc8 // add rax, r9
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0x03e78348 // and rdi, 3
JE LBB3_653
LONG $0x4528f9c5; BYTE $0x20 // vmovapd xmm0, oword 32[rbp] /* [rip + .LCPI3_2] */
LBB3_652:
LONG $0x0c10fbc5; BYTE $0xf2 // vmovsd xmm1, qword [rdx + 8*rsi]
LONG $0xc857f1c5 // vxorpd xmm1, xmm1, xmm0
LONG $0x0c13f9c5; BYTE $0xf1 // vmovlpd qword [rcx + 8*rsi], xmm1
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB3_652
LBB3_653:
LONG $0x03f88348 // cmp rax, 3
JB LBB3_865
LONG $0x4528f9c5; BYTE $0x20 // vmovapd xmm0, oword 32[rbp] /* [rip + .LCPI3_2] */
LBB3_655:
LONG $0x0c10fbc5; BYTE $0xf2 // vmovsd xmm1, qword [rdx + 8*rsi]
LONG $0xc857f1c5 // vxorpd xmm1, xmm1, xmm0
LONG $0x0c13f9c5; BYTE $0xf1 // vmovlpd qword [rcx + 8*rsi], xmm1
LONG $0x4c10fbc5; WORD $0x08f2 // vmovsd xmm1, qword [rdx + 8*rsi + 8]
LONG $0xc857f1c5 // vxorpd xmm1, xmm1, xmm0
LONG $0x4c13f9c5; WORD $0x08f1 // vmovlpd qword [rcx + 8*rsi + 8], xmm1
LONG $0x4c10fbc5; WORD $0x10f2 // vmovsd xmm1, qword [rdx + 8*rsi + 16]
LONG $0xc857f1c5 // vxorpd xmm1, xmm1, xmm0
LONG $0x4c13f9c5; WORD $0x10f1 // vmovlpd qword [rcx + 8*rsi + 16], xmm1
LONG $0x4c10fbc5; WORD $0x18f2 // vmovsd xmm1, qword [rdx + 8*rsi + 24]
LONG $0xc857f1c5 // vxorpd xmm1, xmm1, xmm0
LONG $0x4c13f9c5; WORD $0x18f1 // vmovlpd qword [rcx + 8*rsi + 24], xmm1
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf1 // cmp r9, rsi
JNE LBB3_655
JMP LBB3_865
LBB3_60:
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JLE LBB3_116
WORD $0xff83; BYTE $0x09 // cmp edi, 9
JE LBB3_173
WORD $0xff83; BYTE $0x0b // cmp edi, 11
JE LBB3_176
WORD $0xff83; BYTE $0x0c // cmp edi, 12
JNE LBB3_865
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_865
WORD $0x8944; BYTE $0xc0 // mov eax, r8d
LONG $0x10f88341 // cmp r8d, 16
JB LBB3_66
LONG $0xc2348d48 // lea rsi, [rdx + 8*rax]
WORD $0x3948; BYTE $0xce // cmp rsi, rcx
JBE LBB3_396
LONG $0xc1348d48 // lea rsi, [rcx + 8*rax]
WORD $0x3948; BYTE $0xd6 // cmp rsi, rdx
JBE LBB3_396
LBB3_66:
WORD $0xf631 // xor esi, esi
LBB3_399:
WORD $0x8948; BYTE $0xf7 // mov rdi, rsi
WORD $0xf748; BYTE $0xd7 // not rdi
WORD $0x01a8 // test al, 1
JE LBB3_401
LONG $0x0410fbc5; BYTE $0xf2 // vmovsd xmm0, qword [rdx + 8*rsi]
LONG $0x4d54f9c5; BYTE $0x20 // vandpd xmm1, xmm0, oword 32[rbp] /* [rip + .LCPI3_2] */
LONG $0x5512fbc5; BYTE $0x08 // vmovddup xmm2, qword 8[rbp] /* [rip + .LCPI3_1] */
LONG $0xc956e9c5 // vorpd xmm1, xmm2, xmm1
LONG $0xd257e9c5 // vxorpd xmm2, xmm2, xmm2
LONG $0xc2c2fbc5; BYTE $0x00 // vcmpeqsd xmm0, xmm0, xmm2
LONG $0xc155f9c5 // vandnpd xmm0, xmm0, xmm1
LONG $0x0413f9c5; BYTE $0xf1 // vmovlpd qword [rcx + 8*rsi], xmm0
LONG $0x01ce8348 // or rsi, 1
LBB3_401:
WORD $0x0148; BYTE $0xc7 // add rdi, rax
JE LBB3_865
LONG $0x4528f9c5; BYTE $0x20 // vmovapd xmm0, oword 32[rbp] /* [rip + .LCPI3_2] */
LONG $0x4d12fbc5; BYTE $0x08 // vmovddup xmm1, qword 8[rbp] /* [rip + .LCPI3_1] */
LONG $0xd257e9c5 // vxorpd xmm2, xmm2, xmm2
LBB3_403:
LONG $0x1c10fbc5; BYTE $0xf2 // vmovsd xmm3, qword [rdx + 8*rsi]
LONG $0xe054e1c5 // vandpd xmm4, xmm3, xmm0
LONG $0xe456f1c5 // vorpd xmm4, xmm1, xmm4
LONG $0xdac2e3c5; BYTE $0x00 // vcmpeqsd xmm3, xmm3, xmm2
LONG $0xdc55e1c5 // vandnpd xmm3, xmm3, xmm4
LONG $0x1c13f9c5; BYTE $0xf1 // vmovlpd qword [rcx + 8*rsi], xmm3
LONG $0x5c10fbc5; WORD $0x08f2 // vmovsd xmm3, qword [rdx + 8*rsi + 8]
LONG $0xe054e1c5 // vandpd xmm4, xmm3, xmm0
LONG $0xe456f1c5 // vorpd xmm4, xmm1, xmm4
LONG $0xdac2e3c5; BYTE $0x00 // vcmpeqsd xmm3, xmm3, xmm2
LONG $0xdc55e1c5 // vandnpd xmm3, xmm3, xmm4
LONG $0x5c13f9c5; WORD $0x08f1 // vmovlpd qword [rcx + 8*rsi + 8], xmm3
LONG $0x02c68348 // add rsi, 2
WORD $0x3948; BYTE $0xf0 // cmp rax, rsi
JNE LBB3_403
JMP LBB3_865
LBB3_67:
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JLE LBB3_121
WORD $0xff83; BYTE $0x09 // cmp edi, 9
JE LBB3_179
WORD $0xff83; BYTE $0x0b // cmp edi, 11
JE LBB3_182
WORD $0xff83; BYTE $0x0c // cmp edi, 12
JNE LBB3_865
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_865
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x10f88341 // cmp r8d, 16
JB LBB3_73
LONG $0xca048d4a // lea rax, [rdx + 8*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_404
LONG $0xc9048d4a // lea rax, [rcx + 8*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_404
LBB3_73:
WORD $0xf631 // xor esi, esi
LBB3_660:
QUAD $0xffffffffffffba49; WORD $0x7fff // mov r10, 9223372036854775807
WORD $0x8949; BYTE $0xf0 // mov r8, rsi
WORD $0xf749; BYTE $0xd0 // not r8
WORD $0x014d; BYTE $0xc8 // add r8, r9
WORD $0x894c; BYTE $0xc8 // mov rax, r9
LONG $0x03e08348 // and rax, 3
JE LBB3_662
LBB3_661:
LONG $0xf23c8b48 // mov rdi, qword [rdx + 8*rsi]
WORD $0x214c; BYTE $0xd7 // and rdi, r10
LONG $0xf13c8948 // mov qword [rcx + 8*rsi], rdi
LONG $0x01c68348 // add rsi, 1
LONG $0xffc08348 // add rax, -1
JNE LBB3_661
LBB3_662:
LONG $0x03f88349 // cmp r8, 3
JB LBB3_865
LBB3_663:
LONG $0xf2048b48 // mov rax, qword [rdx + 8*rsi]
WORD $0x214c; BYTE $0xd0 // and rax, r10
LONG $0xf1048948 // mov qword [rcx + 8*rsi], rax
LONG $0xf2448b48; BYTE $0x08 // mov rax, qword [rdx + 8*rsi + 8]
WORD $0x214c; BYTE $0xd0 // and rax, r10
LONG $0xf1448948; BYTE $0x08 // mov qword [rcx + 8*rsi + 8], rax
LONG $0xf2448b48; BYTE $0x10 // mov rax, qword [rdx + 8*rsi + 16]
WORD $0x214c; BYTE $0xd0 // and rax, r10
LONG $0xf1448948; BYTE $0x10 // mov qword [rcx + 8*rsi + 16], rax
LONG $0xf2448b48; BYTE $0x18 // mov rax, qword [rdx + 8*rsi + 24]
WORD $0x214c; BYTE $0xd0 // and rax, r10
LONG $0xf1448948; BYTE $0x18 // mov qword [rcx + 8*rsi + 24], rax
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf1 // cmp r9, rsi
JNE LBB3_663
JMP LBB3_865
LBB3_74:
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JLE LBB3_126
WORD $0xff83; BYTE $0x09 // cmp edi, 9
JE LBB3_185
WORD $0xff83; BYTE $0x0b // cmp edi, 11
JE LBB3_188
WORD $0xff83; BYTE $0x0c // cmp edi, 12
JNE LBB3_865
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_865
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x10f88341 // cmp r8d, 16
JB LBB3_80
LONG $0xca048d4a // lea rax, [rdx + 8*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_407
LONG $0xc9048d4a // lea rax, [rcx + 8*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_407
LBB3_80:
WORD $0xf631 // xor esi, esi
LBB3_668:
QUAD $0xffffffffffffba49; WORD $0x7fff // mov r10, 9223372036854775807
WORD $0x8949; BYTE $0xf0 // mov r8, rsi
WORD $0xf749; BYTE $0xd0 // not r8
WORD $0x014d; BYTE $0xc8 // add r8, r9
WORD $0x894c; BYTE $0xc8 // mov rax, r9
LONG $0x03e08348 // and rax, 3
JE LBB3_670
LBB3_669:
LONG $0xf23c8b48 // mov rdi, qword [rdx + 8*rsi]
WORD $0x214c; BYTE $0xd7 // and rdi, r10
LONG $0xf13c8948 // mov qword [rcx + 8*rsi], rdi
LONG $0x01c68348 // add rsi, 1
LONG $0xffc08348 // add rax, -1
JNE LBB3_669
LBB3_670:
LONG $0x03f88349 // cmp r8, 3
JB LBB3_865
LBB3_671:
LONG $0xf2048b48 // mov rax, qword [rdx + 8*rsi]
WORD $0x214c; BYTE $0xd0 // and rax, r10
LONG $0xf1048948 // mov qword [rcx + 8*rsi], rax
LONG $0xf2448b48; BYTE $0x08 // mov rax, qword [rdx + 8*rsi + 8]
WORD $0x214c; BYTE $0xd0 // and rax, r10
LONG $0xf1448948; BYTE $0x08 // mov qword [rcx + 8*rsi + 8], rax
LONG $0xf2448b48; BYTE $0x10 // mov rax, qword [rdx + 8*rsi + 16]
WORD $0x214c; BYTE $0xd0 // and rax, r10
LONG $0xf1448948; BYTE $0x10 // mov qword [rcx + 8*rsi + 16], rax
LONG $0xf2448b48; BYTE $0x18 // mov rax, qword [rdx + 8*rsi + 24]
WORD $0x214c; BYTE $0xd0 // and rax, r10
LONG $0xf1448948; BYTE $0x18 // mov qword [rcx + 8*rsi + 24], rax
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf1 // cmp r9, rsi
JNE LBB3_671
JMP LBB3_865
LBB3_81:
WORD $0xff83; BYTE $0x02 // cmp edi, 2
JE LBB3_191
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JNE LBB3_865
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_865
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x80f88141; WORD $0x0000; BYTE $0x00 // cmp r8d, 128
JB LBB3_85
LONG $0x0a048d4a // lea rax, [rdx + r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_410
LONG $0x09048d4a // lea rax, [rcx + r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_410
LBB3_85:
WORD $0xf631 // xor esi, esi
LBB3_676:
WORD $0x8949; BYTE $0xf0 // mov r8, rsi
WORD $0xf749; BYTE $0xd0 // not r8
WORD $0x014d; BYTE $0xc8 // add r8, r9
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0x03e78348 // and rdi, 3
JE LBB3_678
LBB3_677:
LONG $0x14b60f44; BYTE $0x32 // movzx r10d, byte [rdx + rsi]
WORD $0xc031 // xor eax, eax
WORD $0x2844; BYTE $0xd0 // sub al, r10b
WORD $0x0488; BYTE $0x31 // mov byte [rcx + rsi], al
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB3_677
LBB3_678:
LONG $0x03f88349 // cmp r8, 3
JB LBB3_865
LBB3_679:
WORD $0xc031 // xor eax, eax
WORD $0x042a; BYTE $0x32 // sub al, byte [rdx + rsi]
WORD $0x0488; BYTE $0x31 // mov byte [rcx + rsi], al
WORD $0xc031 // xor eax, eax
LONG $0x0132442a // sub al, byte [rdx + rsi + 1]
LONG $0x01314488 // mov byte [rcx + rsi + 1], al
WORD $0xc031 // xor eax, eax
LONG $0x0232442a // sub al, byte [rdx + rsi + 2]
LONG $0x02314488 // mov byte [rcx + rsi + 2], al
LONG $0x3244b60f; BYTE $0x03 // movzx eax, byte [rdx + rsi + 3]
WORD $0xff31 // xor edi, edi
WORD $0x2840; BYTE $0xc7 // sub dil, al
LONG $0x317c8840; BYTE $0x03 // mov byte [rcx + rsi + 3], dil
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf1 // cmp r9, rsi
JNE LBB3_679
JMP LBB3_865
LBB3_86:
WORD $0xff83; BYTE $0x02 // cmp edi, 2
JE LBB3_194
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JNE LBB3_865
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_865
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x80f88141; WORD $0x0000; BYTE $0x00 // cmp r8d, 128
JB LBB3_90
LONG $0x0a048d4a // lea rax, [rdx + r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_413
LONG $0x09048d4a // lea rax, [rcx + r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_413
LBB3_90:
WORD $0xf631 // xor esi, esi
LBB3_684:
WORD $0x8949; BYTE $0xf0 // mov r8, rsi
WORD $0xf749; BYTE $0xd0 // not r8
WORD $0x014d; BYTE $0xc8 // add r8, r9
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0x03e78348 // and rdi, 3
JE LBB3_686
LBB3_685:
LONG $0x14b60f44; BYTE $0x32 // movzx r10d, byte [rdx + rsi]
WORD $0xc031 // xor eax, eax
WORD $0x2844; BYTE $0xd0 // sub al, r10b
WORD $0x0488; BYTE $0x31 // mov byte [rcx + rsi], al
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB3_685
LBB3_686:
LONG $0x03f88349 // cmp r8, 3
JB LBB3_865
LBB3_687:
WORD $0xc031 // xor eax, eax
WORD $0x042a; BYTE $0x32 // sub al, byte [rdx + rsi]
WORD $0x0488; BYTE $0x31 // mov byte [rcx + rsi], al
WORD $0xc031 // xor eax, eax
LONG $0x0132442a // sub al, byte [rdx + rsi + 1]
LONG $0x01314488 // mov byte [rcx + rsi + 1], al
WORD $0xc031 // xor eax, eax
LONG $0x0232442a // sub al, byte [rdx + rsi + 2]
LONG $0x02314488 // mov byte [rcx + rsi + 2], al
LONG $0x3244b60f; BYTE $0x03 // movzx eax, byte [rdx + rsi + 3]
WORD $0xff31 // xor edi, edi
WORD $0x2840; BYTE $0xc7 // sub dil, al
LONG $0x317c8840; BYTE $0x03 // mov byte [rcx + rsi + 3], dil
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf1 // cmp r9, rsi
JNE LBB3_687
JMP LBB3_865
LBB3_91:
WORD $0xff83; BYTE $0x02 // cmp edi, 2
JE LBB3_197
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JNE LBB3_865
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_865
WORD $0x8945; BYTE $0xc3 // mov r11d, r8d
LONG $0x80f88141; WORD $0x0000; BYTE $0x00 // cmp r8d, 128
JB LBB3_95
LONG $0x1a348d4a // lea rsi, [rdx + r11]
WORD $0x3948; BYTE $0xce // cmp rsi, rcx
JBE LBB3_416
LONG $0x19348d4a // lea rsi, [rcx + r11]
WORD $0x3948; BYTE $0xd6 // cmp rsi, rdx
JBE LBB3_416
LBB3_95:
WORD $0xf631 // xor esi, esi
LBB3_419:
WORD $0x8949; BYTE $0xf2 // mov r10, rsi
WORD $0xf749; BYTE $0xd2 // not r10
LONG $0x01c3f641 // test r11b, 1
JE LBB3_421
LONG $0x32048a44 // mov r8b, byte [rdx + rsi]
WORD $0x8445; BYTE $0xc0 // test r8b, r8b
LONG $0xd1950f41 // setne r9b
WORD $0xf641; BYTE $0xd9 // neg r9b
WORD $0x8445; BYTE $0xc0 // test r8b, r8b
LONG $0xc1b60f45 // movzx r8d, r9b
LONG $0x000001bf; BYTE $0x00 // mov edi, 1
LONG $0xf84e0f41 // cmovle edi, r8d
LONG $0x313c8840 // mov byte [rcx + rsi], dil
LONG $0x01ce8348 // or rsi, 1
LBB3_421:
WORD $0x014d; BYTE $0xda // add r10, r11
JE LBB3_865
LONG $0x000001bf; BYTE $0x00 // mov edi, 1
LBB3_423:
LONG $0x04b60f44; BYTE $0x32 // movzx r8d, byte [rdx + rsi]
WORD $0x8445; BYTE $0xc0 // test r8b, r8b
WORD $0x950f; BYTE $0xd0 // setne al
WORD $0xd8f6 // neg al
WORD $0x8445; BYTE $0xc0 // test r8b, r8b
WORD $0xb60f; BYTE $0xc0 // movzx eax, al
WORD $0x4f0f; BYTE $0xc7 // cmovg eax, edi
WORD $0x0488; BYTE $0x31 // mov byte [rcx + rsi], al
LONG $0x44b60f44; WORD $0x0132 // movzx r8d, byte [rdx + rsi + 1]
WORD $0x8445; BYTE $0xc0 // test r8b, r8b
WORD $0x950f; BYTE $0xd0 // setne al
WORD $0xd8f6 // neg al
WORD $0x8445; BYTE $0xc0 // test r8b, r8b
WORD $0xb60f; BYTE $0xc0 // movzx eax, al
WORD $0x4f0f; BYTE $0xc7 // cmovg eax, edi
LONG $0x01314488 // mov byte [rcx + rsi + 1], al
LONG $0x02c68348 // add rsi, 2
WORD $0x3949; BYTE $0xf3 // cmp r11, rsi
JNE LBB3_423
JMP LBB3_865
LBB3_96:
WORD $0xff83; BYTE $0x02 // cmp edi, 2
JE LBB3_200
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JNE LBB3_865
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_865
WORD $0x8945; BYTE $0xc2 // mov r10d, r8d
LONG $0x20f88341 // cmp r8d, 32
JB LBB3_100
LONG $0x12348d4a // lea rsi, [rdx + r10]
WORD $0x3948; BYTE $0xce // cmp rsi, rcx
JBE LBB3_424
LONG $0x11348d4a // lea rsi, [rcx + r10]
WORD $0x3948; BYTE $0xd6 // cmp rsi, rdx
JBE LBB3_424
LBB3_100:
WORD $0xf631 // xor esi, esi
LBB3_427:
WORD $0x8949; BYTE $0xf0 // mov r8, rsi
WORD $0xf749; BYTE $0xd0 // not r8
LONG $0x01c2f641 // test r10b, 1
JE LBB3_429
LONG $0x323cbe0f // movsx edi, byte [rdx + rsi]
WORD $0x8941; BYTE $0xf9 // mov r9d, edi
LONG $0x07f9c141 // sar r9d, 7
WORD $0x0144; BYTE $0xcf // add edi, r9d
WORD $0x3144; BYTE $0xcf // xor edi, r9d
LONG $0x313c8840 // mov byte [rcx + rsi], dil
LONG $0x01ce8348 // or rsi, 1
LBB3_429:
WORD $0x014d; BYTE $0xd0 // add r8, r10
JE LBB3_865
LBB3_430:
LONG $0x323cbe0f // movsx edi, byte [rdx + rsi]
WORD $0xf889 // mov eax, edi
WORD $0xf8c1; BYTE $0x07 // sar eax, 7
WORD $0xc701 // add edi, eax
WORD $0xc731 // xor edi, eax
LONG $0x313c8840 // mov byte [rcx + rsi], dil
LONG $0x3244be0f; BYTE $0x01 // movsx eax, byte [rdx + rsi + 1]
WORD $0xc789 // mov edi, eax
WORD $0xffc1; BYTE $0x07 // sar edi, 7
WORD $0xf801 // add eax, edi
WORD $0xf831 // xor eax, edi
LONG $0x01314488 // mov byte [rcx + rsi + 1], al
LONG $0x02c68348 // add rsi, 2
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB3_430
JMP LBB3_865
LBB3_101:
WORD $0xff83; BYTE $0x02 // cmp edi, 2
JE LBB3_203
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JNE LBB3_865
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_865
WORD $0x8945; BYTE $0xc2 // mov r10d, r8d
LONG $0x20f88341 // cmp r8d, 32
JB LBB3_105
LONG $0x12348d4a // lea rsi, [rdx + r10]
WORD $0x3948; BYTE $0xce // cmp rsi, rcx
JBE LBB3_431
LONG $0x11348d4a // lea rsi, [rcx + r10]
WORD $0x3948; BYTE $0xd6 // cmp rsi, rdx
JBE LBB3_431
LBB3_105:
WORD $0xf631 // xor esi, esi
LBB3_434:
WORD $0x8949; BYTE $0xf0 // mov r8, rsi
WORD $0xf749; BYTE $0xd0 // not r8
LONG $0x01c2f641 // test r10b, 1
JE LBB3_436
LONG $0x323cbe0f // movsx edi, byte [rdx + rsi]
WORD $0x8941; BYTE $0xf9 // mov r9d, edi
LONG $0x07f9c141 // sar r9d, 7
WORD $0x0144; BYTE $0xcf // add edi, r9d
WORD $0x3144; BYTE $0xcf // xor edi, r9d
LONG $0x313c8840 // mov byte [rcx + rsi], dil
LONG $0x01ce8348 // or rsi, 1
LBB3_436:
WORD $0x014d; BYTE $0xd0 // add r8, r10
JE LBB3_865
LBB3_437:
LONG $0x323cbe0f // movsx edi, byte [rdx + rsi]
WORD $0xf889 // mov eax, edi
WORD $0xf8c1; BYTE $0x07 // sar eax, 7
WORD $0xc701 // add edi, eax
WORD $0xc731 // xor edi, eax
LONG $0x313c8840 // mov byte [rcx + rsi], dil
LONG $0x3244be0f; BYTE $0x01 // movsx eax, byte [rdx + rsi + 1]
WORD $0xc789 // mov edi, eax
WORD $0xffc1; BYTE $0x07 // sar edi, 7
WORD $0xf801 // add eax, edi
WORD $0xf831 // xor eax, edi
LONG $0x01314488 // mov byte [rcx + rsi + 1], al
LONG $0x02c68348 // add rsi, 2
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB3_437
JMP LBB3_865
LBB3_106:
WORD $0xff83; BYTE $0x07 // cmp edi, 7
JE LBB3_206
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JNE LBB3_865
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_865
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x10f88341 // cmp r8d, 16
JAE LBB3_265
WORD $0xd231 // xor edx, edx
JMP LBB3_444
LBB3_111:
WORD $0xff83; BYTE $0x07 // cmp edi, 7
JE LBB3_209
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JNE LBB3_865
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_865
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x10f88341 // cmp r8d, 16
JB LBB3_115
LONG $0xca048d4a // lea rax, [rdx + 8*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_445
LONG $0xc9048d4a // lea rax, [rcx + 8*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_445
LBB3_115:
WORD $0xf631 // xor esi, esi
LBB3_692:
WORD $0x8949; BYTE $0xf0 // mov r8, rsi
WORD $0xf749; BYTE $0xd0 // not r8
WORD $0x014d; BYTE $0xc8 // add r8, r9
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0x03e78348 // and rdi, 3
JE LBB3_694
LBB3_693:
WORD $0xc031 // xor eax, eax
LONG $0xf2042b48 // sub rax, qword [rdx + 8*rsi]
LONG $0xf1048948 // mov qword [rcx + 8*rsi], rax
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB3_693
LBB3_694:
LONG $0x03f88349 // cmp r8, 3
JB LBB3_865
LBB3_695:
WORD $0xc031 // xor eax, eax
LONG $0xf2042b48 // sub rax, qword [rdx + 8*rsi]
LONG $0xf1048948 // mov qword [rcx + 8*rsi], rax
WORD $0xc031 // xor eax, eax
LONG $0xf2442b48; BYTE $0x08 // sub rax, qword [rdx + 8*rsi + 8]
LONG $0xf1448948; BYTE $0x08 // mov qword [rcx + 8*rsi + 8], rax
WORD $0xc031 // xor eax, eax
LONG $0xf2442b48; BYTE $0x10 // sub rax, qword [rdx + 8*rsi + 16]
LONG $0xf1448948; BYTE $0x10 // mov qword [rcx + 8*rsi + 16], rax
WORD $0xc031 // xor eax, eax
LONG $0xf2442b48; BYTE $0x18 // sub rax, qword [rdx + 8*rsi + 24]
LONG $0xf1448948; BYTE $0x18 // mov qword [rcx + 8*rsi + 24], rax
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf1 // cmp r9, rsi
JNE LBB3_695
JMP LBB3_865
LBB3_116:
WORD $0xff83; BYTE $0x07 // cmp edi, 7
JE LBB3_212
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JNE LBB3_865
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_865
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x10f88341 // cmp r8d, 16
JB LBB3_120
LONG $0xca048d4a // lea rax, [rdx + 8*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_448
LONG $0xc9048d4a // lea rax, [rcx + 8*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_448
LBB3_120:
WORD $0xf631 // xor esi, esi
LBB3_451:
WORD $0x8949; BYTE $0xf0 // mov r8, rsi
WORD $0xf749; BYTE $0xd0 // not r8
WORD $0x014d; BYTE $0xc8 // add r8, r9
WORD $0x894c; BYTE $0xc8 // mov rax, r9
LONG $0x03e08348 // and rax, 3
JE LBB3_453
LBB3_452:
WORD $0xff31 // xor edi, edi
LONG $0xf23c8348; BYTE $0x00 // cmp qword [rdx + 8*rsi], 0
LONG $0xd7950f40 // setne dil
LONG $0xf13c8948 // mov qword [rcx + 8*rsi], rdi
LONG $0x01c68348 // add rsi, 1
LONG $0xffc08348 // add rax, -1
JNE LBB3_452
LBB3_453:
LONG $0x03f88349 // cmp r8, 3
JB LBB3_865
LBB3_454:
WORD $0xc031 // xor eax, eax
LONG $0xf23c8348; BYTE $0x00 // cmp qword [rdx + 8*rsi], 0
WORD $0x950f; BYTE $0xd0 // setne al
LONG $0xf1048948 // mov qword [rcx + 8*rsi], rax
WORD $0xc031 // xor eax, eax
LONG $0xf27c8348; WORD $0x0008 // cmp qword [rdx + 8*rsi + 8], 0
WORD $0x950f; BYTE $0xd0 // setne al
LONG $0xf1448948; BYTE $0x08 // mov qword [rcx + 8*rsi + 8], rax
WORD $0xc031 // xor eax, eax
LONG $0xf27c8348; WORD $0x0010 // cmp qword [rdx + 8*rsi + 16], 0
WORD $0x950f; BYTE $0xd0 // setne al
LONG $0xf1448948; BYTE $0x10 // mov qword [rcx + 8*rsi + 16], rax
WORD $0xc031 // xor eax, eax
LONG $0xf27c8348; WORD $0x0018 // cmp qword [rdx + 8*rsi + 24], 0
WORD $0x950f; BYTE $0xd0 // setne al
LONG $0xf1448948; BYTE $0x18 // mov qword [rcx + 8*rsi + 24], rax
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf1 // cmp r9, rsi
JNE LBB3_454
JMP LBB3_865
LBB3_121:
WORD $0xff83; BYTE $0x07 // cmp edi, 7
JE LBB3_215
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JNE LBB3_865
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_865
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x10f88341 // cmp r8d, 16
JB LBB3_125
LONG $0xca048d4a // lea rax, [rdx + 8*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_455
LONG $0xc9048d4a // lea rax, [rcx + 8*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_455
LBB3_125:
WORD $0xf631 // xor esi, esi
LBB3_700:
WORD $0x8949; BYTE $0xf0 // mov r8, rsi
WORD $0xf749; BYTE $0xd0 // not r8
WORD $0x014d; BYTE $0xc8 // add r8, r9
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0x03e78348 // and rdi, 3
JE LBB3_702
LBB3_701:
LONG $0xf2048b48 // mov rax, qword [rdx + 8*rsi]
LONG $0xf1048948 // mov qword [rcx + 8*rsi], rax
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB3_701
LBB3_702:
LONG $0x03f88349 // cmp r8, 3
JB LBB3_865
LBB3_703:
LONG $0xf2048b48 // mov rax, qword [rdx + 8*rsi]
LONG $0xf1048948 // mov qword [rcx + 8*rsi], rax
LONG $0xf2448b48; BYTE $0x08 // mov rax, qword [rdx + 8*rsi + 8]
LONG $0xf1448948; BYTE $0x08 // mov qword [rcx + 8*rsi + 8], rax
LONG $0xf2448b48; BYTE $0x10 // mov rax, qword [rdx + 8*rsi + 16]
LONG $0xf1448948; BYTE $0x10 // mov qword [rcx + 8*rsi + 16], rax
LONG $0xf2448b48; BYTE $0x18 // mov rax, qword [rdx + 8*rsi + 24]
LONG $0xf1448948; BYTE $0x18 // mov qword [rcx + 8*rsi + 24], rax
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf1 // cmp r9, rsi
JNE LBB3_703
JMP LBB3_865
LBB3_126:
WORD $0xff83; BYTE $0x07 // cmp edi, 7
JE LBB3_218
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JNE LBB3_865
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_865
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x10f88341 // cmp r8d, 16
JB LBB3_130
LONG $0xca048d4a // lea rax, [rdx + 8*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_458
LONG $0xc9048d4a // lea rax, [rcx + 8*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_458
LBB3_130:
WORD $0xf631 // xor esi, esi
LBB3_708:
WORD $0x8949; BYTE $0xf0 // mov r8, rsi
WORD $0xf749; BYTE $0xd0 // not r8
WORD $0x014d; BYTE $0xc8 // add r8, r9
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0x03e78348 // and rdi, 3
JE LBB3_710
LBB3_709:
LONG $0xf2048b48 // mov rax, qword [rdx + 8*rsi]
LONG $0xf1048948 // mov qword [rcx + 8*rsi], rax
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB3_709
LBB3_710:
LONG $0x03f88349 // cmp r8, 3
JB LBB3_865
LBB3_711:
LONG $0xf2048b48 // mov rax, qword [rdx + 8*rsi]
LONG $0xf1048948 // mov qword [rcx + 8*rsi], rax
LONG $0xf2448b48; BYTE $0x08 // mov rax, qword [rdx + 8*rsi + 8]
LONG $0xf1448948; BYTE $0x08 // mov qword [rcx + 8*rsi + 8], rax
LONG $0xf2448b48; BYTE $0x10 // mov rax, qword [rdx + 8*rsi + 16]
LONG $0xf1448948; BYTE $0x10 // mov qword [rcx + 8*rsi + 16], rax
LONG $0xf2448b48; BYTE $0x18 // mov rax, qword [rdx + 8*rsi + 24]
LONG $0xf1448948; BYTE $0x18 // mov qword [rcx + 8*rsi + 24], rax
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf1 // cmp r9, rsi
JNE LBB3_711
JMP LBB3_865
LBB3_131:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_865
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x40f88341 // cmp r8d, 64
JAE LBB3_279
WORD $0xd231 // xor edx, edx
JMP LBB3_467
LBB3_134:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_865
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x20f88341 // cmp r8d, 32
JB LBB3_136
LONG $0x4a048d4a // lea rax, [rdx + 2*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_468
LONG $0x49048d4a // lea rax, [rcx + 2*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_468
LBB3_136:
WORD $0xf631 // xor esi, esi
LBB3_716:
WORD $0x8949; BYTE $0xf0 // mov r8, rsi
WORD $0xf749; BYTE $0xd0 // not r8
WORD $0x014d; BYTE $0xc8 // add r8, r9
WORD $0x894c; BYTE $0xc8 // mov rax, r9
LONG $0x03e08348 // and rax, 3
JE LBB3_718
LBB3_717:
WORD $0xff31 // xor edi, edi
LONG $0x723c2b66 // sub di, word [rdx + 2*rsi]
LONG $0x713c8966 // mov word [rcx + 2*rsi], di
LONG $0x01c68348 // add rsi, 1
LONG $0xffc08348 // add rax, -1
JNE LBB3_717
LBB3_718:
LONG $0x03f88349 // cmp r8, 3
JB LBB3_865
LBB3_719:
WORD $0xc031 // xor eax, eax
LONG $0x72042b66 // sub ax, word [rdx + 2*rsi]
LONG $0x71048966 // mov word [rcx + 2*rsi], ax
WORD $0xc031 // xor eax, eax
LONG $0x72442b66; BYTE $0x02 // sub ax, word [rdx + 2*rsi + 2]
LONG $0x71448966; BYTE $0x02 // mov word [rcx + 2*rsi + 2], ax
WORD $0xc031 // xor eax, eax
LONG $0x72442b66; BYTE $0x04 // sub ax, word [rdx + 2*rsi + 4]
LONG $0x71448966; BYTE $0x04 // mov word [rcx + 2*rsi + 4], ax
WORD $0xc031 // xor eax, eax
LONG $0x72442b66; BYTE $0x06 // sub ax, word [rdx + 2*rsi + 6]
LONG $0x71448966; BYTE $0x06 // mov word [rcx + 2*rsi + 6], ax
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf1 // cmp r9, rsi
JNE LBB3_719
JMP LBB3_865
LBB3_137:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_865
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x20f88341 // cmp r8d, 32
JB LBB3_139
LONG $0x4a048d4a // lea rax, [rdx + 2*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_471
LONG $0x49048d4a // lea rax, [rcx + 2*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_471
LBB3_139:
WORD $0xf631 // xor esi, esi
LBB3_724:
WORD $0x8949; BYTE $0xf0 // mov r8, rsi
WORD $0xf749; BYTE $0xd0 // not r8
WORD $0x014d; BYTE $0xc8 // add r8, r9
WORD $0x894c; BYTE $0xc8 // mov rax, r9
LONG $0x03e08348 // and rax, 3
JE LBB3_726
LBB3_725:
WORD $0xff31 // xor edi, edi
LONG $0x723c2b66 // sub di, word [rdx + 2*rsi]
LONG $0x713c8966 // mov word [rcx + 2*rsi], di
LONG $0x01c68348 // add rsi, 1
LONG $0xffc08348 // add rax, -1
JNE LBB3_725
LBB3_726:
LONG $0x03f88349 // cmp r8, 3
JB LBB3_865
LBB3_727:
WORD $0xc031 // xor eax, eax
LONG $0x72042b66 // sub ax, word [rdx + 2*rsi]
LONG $0x71048966 // mov word [rcx + 2*rsi], ax
WORD $0xc031 // xor eax, eax
LONG $0x72442b66; BYTE $0x02 // sub ax, word [rdx + 2*rsi + 2]
LONG $0x71448966; BYTE $0x02 // mov word [rcx + 2*rsi + 2], ax
WORD $0xc031 // xor eax, eax
LONG $0x72442b66; BYTE $0x04 // sub ax, word [rdx + 2*rsi + 4]
LONG $0x71448966; BYTE $0x04 // mov word [rcx + 2*rsi + 4], ax
WORD $0xc031 // xor eax, eax
LONG $0x72442b66; BYTE $0x06 // sub ax, word [rdx + 2*rsi + 6]
LONG $0x71448966; BYTE $0x06 // mov word [rcx + 2*rsi + 6], ax
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf1 // cmp r9, rsi
JNE LBB3_727
JMP LBB3_865
LBB3_140:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_865
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x20f88341 // cmp r8d, 32
JB LBB3_142
LONG $0x4a048d4a // lea rax, [rdx + 2*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_474
LONG $0x49048d4a // lea rax, [rcx + 2*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_474
LBB3_142:
WORD $0xf631 // xor esi, esi
LBB3_732:
WORD $0x8949; BYTE $0xf0 // mov r8, rsi
WORD $0xf749; BYTE $0xd0 // not r8
WORD $0x014d; BYTE $0xc8 // add r8, r9
WORD $0x894c; BYTE $0xc8 // mov rax, r9
LONG $0x03e08348 // and rax, 3
JE LBB3_734
LBB3_733:
WORD $0xff31 // xor edi, edi
LONG $0x723c2b66 // sub di, word [rdx + 2*rsi]
LONG $0x713c8966 // mov word [rcx + 2*rsi], di
LONG $0x01c68348 // add rsi, 1
LONG $0xffc08348 // add rax, -1
JNE LBB3_733
LBB3_734:
LONG $0x03f88349 // cmp r8, 3
JB LBB3_865
LBB3_735:
WORD $0xc031 // xor eax, eax
LONG $0x72042b66 // sub ax, word [rdx + 2*rsi]
LONG $0x71048966 // mov word [rcx + 2*rsi], ax
WORD $0xc031 // xor eax, eax
LONG $0x72442b66; BYTE $0x02 // sub ax, word [rdx + 2*rsi + 2]
LONG $0x71448966; BYTE $0x02 // mov word [rcx + 2*rsi + 2], ax
WORD $0xc031 // xor eax, eax
LONG $0x72442b66; BYTE $0x04 // sub ax, word [rdx + 2*rsi + 4]
LONG $0x71448966; BYTE $0x04 // mov word [rcx + 2*rsi + 4], ax
WORD $0xc031 // xor eax, eax
LONG $0x72442b66; BYTE $0x06 // sub ax, word [rdx + 2*rsi + 6]
LONG $0x71448966; BYTE $0x06 // mov word [rcx + 2*rsi + 6], ax
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf1 // cmp r9, rsi
JNE LBB3_735
JMP LBB3_865
LBB3_143:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_865
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x20f88341 // cmp r8d, 32
JB LBB3_145
LONG $0x4a048d4a // lea rax, [rdx + 2*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_477
LONG $0x49048d4a // lea rax, [rcx + 2*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_477
LBB3_145:
WORD $0xf631 // xor esi, esi
LBB3_740:
WORD $0x8949; BYTE $0xf0 // mov r8, rsi
WORD $0xf749; BYTE $0xd0 // not r8
WORD $0x014d; BYTE $0xc8 // add r8, r9
WORD $0x894c; BYTE $0xc8 // mov rax, r9
LONG $0x03e08348 // and rax, 3
JE LBB3_742
LBB3_741:
WORD $0xff31 // xor edi, edi
LONG $0x723c8366; BYTE $0x00 // cmp word [rdx + 2*rsi], 0
LONG $0xd7950f40 // setne dil
LONG $0x713c8966 // mov word [rcx + 2*rsi], di
LONG $0x01c68348 // add rsi, 1
LONG $0xffc08348 // add rax, -1
JNE LBB3_741
LBB3_742:
LONG $0x03f88349 // cmp r8, 3
JB LBB3_865
LBB3_743:
WORD $0xc031 // xor eax, eax
LONG $0x723c8366; BYTE $0x00 // cmp word [rdx + 2*rsi], 0
WORD $0x950f; BYTE $0xd0 // setne al
LONG $0x71048966 // mov word [rcx + 2*rsi], ax
WORD $0xc031 // xor eax, eax
LONG $0x727c8366; WORD $0x0002 // cmp word [rdx + 2*rsi + 2], 0
WORD $0x950f; BYTE $0xd0 // setne al
LONG $0x71448966; BYTE $0x02 // mov word [rcx + 2*rsi + 2], ax
WORD $0xc031 // xor eax, eax
LONG $0x727c8366; WORD $0x0004 // cmp word [rdx + 2*rsi + 4], 0
WORD $0x950f; BYTE $0xd0 // setne al
LONG $0x71448966; BYTE $0x04 // mov word [rcx + 2*rsi + 4], ax
WORD $0xc031 // xor eax, eax
LONG $0x727c8366; WORD $0x0006 // cmp word [rdx + 2*rsi + 6], 0
WORD $0x950f; BYTE $0xd0 // setne al
LONG $0x71448966; BYTE $0x06 // mov word [rcx + 2*rsi + 6], ax
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf1 // cmp r9, rsi
JNE LBB3_743
JMP LBB3_865
LBB3_146:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_865
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x20f88341 // cmp r8d, 32
JB LBB3_148
LONG $0x4a048d4a // lea rax, [rdx + 2*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_480
LONG $0x49048d4a // lea rax, [rcx + 2*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_480
LBB3_148:
WORD $0xf631 // xor esi, esi
LBB3_748:
WORD $0x8948; BYTE $0xf0 // mov rax, rsi
WORD $0xf748; BYTE $0xd0 // not rax
LONG $0x01c1f641 // test r9b, 1
JE LBB3_750
LONG $0x04b70f44; BYTE $0x72 // movzx r8d, word [rdx + 2*rsi]
WORD $0x3145; BYTE $0xd2 // xor r10d, r10d
LONG $0xc0854566 // test r8w, r8w
LONG $0xd2950f41 // setne r10b
WORD $0xf741; BYTE $0xda // neg r10d
LONG $0xc0854566 // test r8w, r8w
LONG $0x000001bf; BYTE $0x00 // mov edi, 1
LONG $0xfa4e0f41 // cmovle edi, r10d
LONG $0x713c8966 // mov word [rcx + 2*rsi], di
LONG $0x01ce8348 // or rsi, 1
LBB3_750:
WORD $0x014c; BYTE $0xc8 // add rax, r9
JE LBB3_865
LONG $0x0001b841; WORD $0x0000 // mov r8d, 1
LBB3_752:
LONG $0x723cb70f // movzx edi, word [rdx + 2*rsi]
WORD $0xc031 // xor eax, eax
WORD $0x8566; BYTE $0xff // test di, di
WORD $0x950f; BYTE $0xd0 // setne al
WORD $0xd8f7 // neg eax
WORD $0x8566; BYTE $0xff // test di, di
LONG $0xc04f0f41 // cmovg eax, r8d
LONG $0x71048966 // mov word [rcx + 2*rsi], ax
LONG $0x7244b70f; BYTE $0x02 // movzx eax, word [rdx + 2*rsi + 2]
WORD $0xff31 // xor edi, edi
WORD $0x8566; BYTE $0xc0 // test ax, ax
LONG $0xd7950f40 // setne dil
WORD $0xdff7 // neg edi
WORD $0x8566; BYTE $0xc0 // test ax, ax
LONG $0xf84f0f41 // cmovg edi, r8d
LONG $0x717c8966; BYTE $0x02 // mov word [rcx + 2*rsi + 2], di
LONG $0x02c68348 // add rsi, 2
WORD $0x3949; BYTE $0xf1 // cmp r9, rsi
JNE LBB3_752
JMP LBB3_865
LBB3_149:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_865
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x20f88341 // cmp r8d, 32
JB LBB3_151
LONG $0x4a048d4a // lea rax, [rdx + 2*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_483
LONG $0x49048d4a // lea rax, [rcx + 2*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_483
LBB3_151:
WORD $0xf631 // xor esi, esi
LBB3_598:
WORD $0x8949; BYTE $0xf0 // mov r8, rsi
WORD $0xf749; BYTE $0xd0 // not r8
WORD $0x014d; BYTE $0xc8 // add r8, r9
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0x03e78348 // and rdi, 3
JE LBB3_600
LBB3_599:
LONG $0x7204b70f // movzx eax, word [rdx + 2*rsi]
LONG $0x71048966 // mov word [rcx + 2*rsi], ax
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB3_599
LBB3_600:
LONG $0x03f88349 // cmp r8, 3
JB LBB3_865
LBB3_601:
LONG $0x7204b70f // movzx eax, word [rdx + 2*rsi]
LONG $0x71048966 // mov word [rcx + 2*rsi], ax
LONG $0x7244b70f; BYTE $0x02 // movzx eax, word [rdx + 2*rsi + 2]
LONG $0x71448966; BYTE $0x02 // mov word [rcx + 2*rsi + 2], ax
LONG $0x7244b70f; BYTE $0x04 // movzx eax, word [rdx + 2*rsi + 4]
LONG $0x71448966; BYTE $0x04 // mov word [rcx + 2*rsi + 4], ax
LONG $0x7244b70f; BYTE $0x06 // movzx eax, word [rdx + 2*rsi + 6]
LONG $0x71448966; BYTE $0x06 // mov word [rcx + 2*rsi + 6], ax
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf1 // cmp r9, rsi
JNE LBB3_601
JMP LBB3_865
LBB3_152:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_865
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x10f88341 // cmp r8d, 16
JB LBB3_154
LONG $0x4a048d4a // lea rax, [rdx + 2*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_485
LONG $0x49048d4a // lea rax, [rcx + 2*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_485
LBB3_154:
WORD $0xf631 // xor esi, esi
LBB3_757:
WORD $0x8948; BYTE $0xf0 // mov rax, rsi
WORD $0xf748; BYTE $0xd0 // not rax
LONG $0x01c1f641 // test r9b, 1
JE LBB3_759
LONG $0x723cbf0f // movsx edi, word [rdx + 2*rsi]
WORD $0x8941; BYTE $0xf8 // mov r8d, edi
LONG $0x0ff8c141 // sar r8d, 15
WORD $0x0144; BYTE $0xc7 // add edi, r8d
WORD $0x3144; BYTE $0xc7 // xor edi, r8d
LONG $0x713c8966 // mov word [rcx + 2*rsi], di
LONG $0x01ce8348 // or rsi, 1
LBB3_759:
WORD $0x014c; BYTE $0xc8 // add rax, r9
JE LBB3_865
LBB3_760:
LONG $0x7204bf0f // movsx eax, word [rdx + 2*rsi]
WORD $0xc789 // mov edi, eax
WORD $0xffc1; BYTE $0x0f // sar edi, 15
WORD $0xf801 // add eax, edi
WORD $0xf831 // xor eax, edi
LONG $0x71048966 // mov word [rcx + 2*rsi], ax
LONG $0x7244bf0f; BYTE $0x02 // movsx eax, word [rdx + 2*rsi + 2]
WORD $0xc789 // mov edi, eax
WORD $0xffc1; BYTE $0x0f // sar edi, 15
WORD $0xf801 // add eax, edi
WORD $0xf831 // xor eax, edi
LONG $0x71448966; BYTE $0x02 // mov word [rcx + 2*rsi + 2], ax
LONG $0x02c68348 // add rsi, 2
WORD $0x3949; BYTE $0xf1 // cmp r9, rsi
JNE LBB3_760
JMP LBB3_865
LBB3_155:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_865
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x20f88341 // cmp r8d, 32
JB LBB3_157
LONG $0x4a048d4a // lea rax, [rdx + 2*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_488
LONG $0x49048d4a // lea rax, [rcx + 2*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_488
LBB3_157:
WORD $0xf631 // xor esi, esi
LBB3_608:
WORD $0x8949; BYTE $0xf0 // mov r8, rsi
WORD $0xf749; BYTE $0xd0 // not r8
WORD $0x014d; BYTE $0xc8 // add r8, r9
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0x03e78348 // and rdi, 3
JE LBB3_610
LBB3_609:
LONG $0x7204b70f // movzx eax, word [rdx + 2*rsi]
LONG $0x71048966 // mov word [rcx + 2*rsi], ax
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB3_609
LBB3_610:
LONG $0x03f88349 // cmp r8, 3
JB LBB3_865
LBB3_611:
LONG $0x7204b70f // movzx eax, word [rdx + 2*rsi]
LONG $0x71048966 // mov word [rcx + 2*rsi], ax
LONG $0x7244b70f; BYTE $0x02 // movzx eax, word [rdx + 2*rsi + 2]
LONG $0x71448966; BYTE $0x02 // mov word [rcx + 2*rsi + 2], ax
LONG $0x7244b70f; BYTE $0x04 // movzx eax, word [rdx + 2*rsi + 4]
LONG $0x71448966; BYTE $0x04 // mov word [rcx + 2*rsi + 4], ax
LONG $0x7244b70f; BYTE $0x06 // movzx eax, word [rdx + 2*rsi + 6]
LONG $0x71448966; BYTE $0x06 // mov word [rcx + 2*rsi + 6], ax
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf1 // cmp r9, rsi
JNE LBB3_611
JMP LBB3_865
LBB3_158:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_865
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x10f88341 // cmp r8d, 16
JB LBB3_160
LONG $0x4a048d4a // lea rax, [rdx + 2*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_490
LONG $0x49048d4a // lea rax, [rcx + 2*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_490
LBB3_160:
WORD $0xf631 // xor esi, esi
LBB3_765:
WORD $0x8948; BYTE $0xf0 // mov rax, rsi
WORD $0xf748; BYTE $0xd0 // not rax
LONG $0x01c1f641 // test r9b, 1
JE LBB3_767
LONG $0x723cbf0f // movsx edi, word [rdx + 2*rsi]
WORD $0x8941; BYTE $0xf8 // mov r8d, edi
LONG $0x0ff8c141 // sar r8d, 15
WORD $0x0144; BYTE $0xc7 // add edi, r8d
WORD $0x3144; BYTE $0xc7 // xor edi, r8d
LONG $0x713c8966 // mov word [rcx + 2*rsi], di
LONG $0x01ce8348 // or rsi, 1
LBB3_767:
WORD $0x014c; BYTE $0xc8 // add rax, r9
JE LBB3_865
LBB3_768:
LONG $0x7204bf0f // movsx eax, word [rdx + 2*rsi]
WORD $0xc789 // mov edi, eax
WORD $0xffc1; BYTE $0x0f // sar edi, 15
WORD $0xf801 // add eax, edi
WORD $0xf831 // xor eax, edi
LONG $0x71048966 // mov word [rcx + 2*rsi], ax
LONG $0x7244bf0f; BYTE $0x02 // movsx eax, word [rdx + 2*rsi + 2]
WORD $0xc789 // mov edi, eax
WORD $0xffc1; BYTE $0x0f // sar edi, 15
WORD $0xf801 // add eax, edi
WORD $0xf831 // xor eax, edi
LONG $0x71448966; BYTE $0x02 // mov word [rcx + 2*rsi + 2], ax
LONG $0x02c68348 // add rsi, 2
WORD $0x3949; BYTE $0xf1 // cmp r9, rsi
JNE LBB3_768
JMP LBB3_865
LBB3_161:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_865
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x10f88341 // cmp r8d, 16
JB LBB3_163
LONG $0xca048d4a // lea rax, [rdx + 8*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_493
LONG $0xc9048d4a // lea rax, [rcx + 8*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_493
LBB3_163:
WORD $0xf631 // xor esi, esi
LBB3_773:
WORD $0x8949; BYTE $0xf0 // mov r8, rsi
WORD $0xf749; BYTE $0xd0 // not r8
WORD $0x014d; BYTE $0xc8 // add r8, r9
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0x03e78348 // and rdi, 3
JE LBB3_775
LBB3_774:
WORD $0xc031 // xor eax, eax
LONG $0xf2042b48 // sub rax, qword [rdx + 8*rsi]
LONG $0xf1048948 // mov qword [rcx + 8*rsi], rax
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB3_774
LBB3_775:
LONG $0x03f88349 // cmp r8, 3
JB LBB3_865
LBB3_776:
WORD $0xc031 // xor eax, eax
LONG $0xf2042b48 // sub rax, qword [rdx + 8*rsi]
LONG $0xf1048948 // mov qword [rcx + 8*rsi], rax
WORD $0xc031 // xor eax, eax
LONG $0xf2442b48; BYTE $0x08 // sub rax, qword [rdx + 8*rsi + 8]
LONG $0xf1448948; BYTE $0x08 // mov qword [rcx + 8*rsi + 8], rax
WORD $0xc031 // xor eax, eax
LONG $0xf2442b48; BYTE $0x10 // sub rax, qword [rdx + 8*rsi + 16]
LONG $0xf1448948; BYTE $0x10 // mov qword [rcx + 8*rsi + 16], rax
WORD $0xc031 // xor eax, eax
LONG $0xf2442b48; BYTE $0x18 // sub rax, qword [rdx + 8*rsi + 24]
LONG $0xf1448948; BYTE $0x18 // mov qword [rcx + 8*rsi + 24], rax
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf1 // cmp r9, rsi
JNE LBB3_776
JMP LBB3_865
LBB3_164:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_865
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x20f88341 // cmp r8d, 32
JB LBB3_166
LONG $0x8a048d4a // lea rax, [rdx + 4*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_496
LONG $0x89048d4a // lea rax, [rcx + 4*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_496
LBB3_166:
WORD $0xf631 // xor esi, esi
LBB3_781:
WORD $0x8948; BYTE $0xf0 // mov rax, rsi
WORD $0xf748; BYTE $0xd0 // not rax
WORD $0x014c; BYTE $0xc8 // add rax, r9
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0x03e78348 // and rdi, 3
JE LBB3_784
LONG $0x1879e2c4; WORD $0x4445 // vbroadcastss xmm0, dword 68[rbp] /* [rip + .LCPI3_7] */
LBB3_783:
LONG $0x0c10fac5; BYTE $0xb2 // vmovss xmm1, dword [rdx + 4*rsi]
LONG $0xc857f1c5 // vxorpd xmm1, xmm1, xmm0
LONG $0x0c11fac5; BYTE $0xb1 // vmovss dword [rcx + 4*rsi], xmm1
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB3_783
LBB3_784:
LONG $0x03f88348 // cmp rax, 3
JB LBB3_865
LONG $0x1879e2c4; WORD $0x4445 // vbroadcastss xmm0, dword 68[rbp] /* [rip + .LCPI3_7] */
LBB3_786:
LONG $0x0c10fac5; BYTE $0xb2 // vmovss xmm1, dword [rdx + 4*rsi]
LONG $0xc857f1c5 // vxorpd xmm1, xmm1, xmm0
LONG $0x0c11fac5; BYTE $0xb1 // vmovss dword [rcx + 4*rsi], xmm1
LONG $0x4c10fac5; WORD $0x04b2 // vmovss xmm1, dword [rdx + 4*rsi + 4]
LONG $0xc857f1c5 // vxorpd xmm1, xmm1, xmm0
LONG $0x4c11fac5; WORD $0x04b1 // vmovss dword [rcx + 4*rsi + 4], xmm1
LONG $0x4c10fac5; WORD $0x08b2 // vmovss xmm1, dword [rdx + 4*rsi + 8]
LONG $0xc857f1c5 // vxorpd xmm1, xmm1, xmm0
LONG $0x4c11fac5; WORD $0x08b1 // vmovss dword [rcx + 4*rsi + 8], xmm1
LONG $0x4c10fac5; WORD $0x0cb2 // vmovss xmm1, dword [rdx + 4*rsi + 12]
LONG $0xc857f1c5 // vxorpd xmm1, xmm1, xmm0
LONG $0x4c11fac5; WORD $0x0cb1 // vmovss dword [rcx + 4*rsi + 12], xmm1
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf1 // cmp r9, rsi
JNE LBB3_786
JMP LBB3_865
LBB3_167:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_865
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x10f88341 // cmp r8d, 16
JB LBB3_169
LONG $0xca048d4a // lea rax, [rdx + 8*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_499
LONG $0xc9048d4a // lea rax, [rcx + 8*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_499
LBB3_169:
WORD $0xf631 // xor esi, esi
LBB3_791:
WORD $0x8949; BYTE $0xf0 // mov r8, rsi
WORD $0xf749; BYTE $0xd0 // not r8
WORD $0x014d; BYTE $0xc8 // add r8, r9
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0x03e78348 // and rdi, 3
JE LBB3_793
LBB3_792:
WORD $0xc031 // xor eax, eax
LONG $0xf2042b48 // sub rax, qword [rdx + 8*rsi]
LONG $0xf1048948 // mov qword [rcx + 8*rsi], rax
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB3_792
LBB3_793:
LONG $0x03f88349 // cmp r8, 3
JB LBB3_865
LBB3_794:
WORD $0xc031 // xor eax, eax
LONG $0xf2042b48 // sub rax, qword [rdx + 8*rsi]
LONG $0xf1048948 // mov qword [rcx + 8*rsi], rax
WORD $0xc031 // xor eax, eax
LONG $0xf2442b48; BYTE $0x08 // sub rax, qword [rdx + 8*rsi + 8]
LONG $0xf1448948; BYTE $0x08 // mov qword [rcx + 8*rsi + 8], rax
WORD $0xc031 // xor eax, eax
LONG $0xf2442b48; BYTE $0x10 // sub rax, qword [rdx + 8*rsi + 16]
LONG $0xf1448948; BYTE $0x10 // mov qword [rcx + 8*rsi + 16], rax
WORD $0xc031 // xor eax, eax
LONG $0xf2442b48; BYTE $0x18 // sub rax, qword [rdx + 8*rsi + 24]
LONG $0xf1448948; BYTE $0x18 // mov qword [rcx + 8*rsi + 24], rax
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf1 // cmp r9, rsi
JNE LBB3_794
JMP LBB3_865
LBB3_170:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_865
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x20f88341 // cmp r8d, 32
JB LBB3_172
LONG $0x8a048d4a // lea rax, [rdx + 4*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_502
LONG $0x89048d4a // lea rax, [rcx + 4*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_502
LBB3_172:
WORD $0xf631 // xor esi, esi
LBB3_799:
WORD $0x8948; BYTE $0xf0 // mov rax, rsi
WORD $0xf748; BYTE $0xd0 // not rax
WORD $0x014c; BYTE $0xc8 // add rax, r9
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0x03e78348 // and rdi, 3
JE LBB3_802
LONG $0x1879e2c4; WORD $0x4445 // vbroadcastss xmm0, dword 68[rbp] /* [rip + .LCPI3_7] */
LBB3_801:
LONG $0x0c10fac5; BYTE $0xb2 // vmovss xmm1, dword [rdx + 4*rsi]
LONG $0xc857f1c5 // vxorpd xmm1, xmm1, xmm0
LONG $0x0c11fac5; BYTE $0xb1 // vmovss dword [rcx + 4*rsi], xmm1
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB3_801
LBB3_802:
LONG $0x03f88348 // cmp rax, 3
JB LBB3_865
LONG $0x1879e2c4; WORD $0x4445 // vbroadcastss xmm0, dword 68[rbp] /* [rip + .LCPI3_7] */
LBB3_804:
LONG $0x0c10fac5; BYTE $0xb2 // vmovss xmm1, dword [rdx + 4*rsi]
LONG $0xc857f1c5 // vxorpd xmm1, xmm1, xmm0
LONG $0x0c11fac5; BYTE $0xb1 // vmovss dword [rcx + 4*rsi], xmm1
LONG $0x4c10fac5; WORD $0x04b2 // vmovss xmm1, dword [rdx + 4*rsi + 4]
LONG $0xc857f1c5 // vxorpd xmm1, xmm1, xmm0
LONG $0x4c11fac5; WORD $0x04b1 // vmovss dword [rcx + 4*rsi + 4], xmm1
LONG $0x4c10fac5; WORD $0x08b2 // vmovss xmm1, dword [rdx + 4*rsi + 8]
LONG $0xc857f1c5 // vxorpd xmm1, xmm1, xmm0
LONG $0x4c11fac5; WORD $0x08b1 // vmovss dword [rcx + 4*rsi + 8], xmm1
LONG $0x4c10fac5; WORD $0x0cb2 // vmovss xmm1, dword [rdx + 4*rsi + 12]
LONG $0xc857f1c5 // vxorpd xmm1, xmm1, xmm0
LONG $0x4c11fac5; WORD $0x0cb1 // vmovss dword [rcx + 4*rsi + 12], xmm1
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf1 // cmp r9, rsi
JNE LBB3_804
JMP LBB3_865
LBB3_173:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_865
WORD $0x8945; BYTE $0xc3 // mov r11d, r8d
LONG $0x10f88341 // cmp r8d, 16
JB LBB3_175
LONG $0xda348d4a // lea rsi, [rdx + 8*r11]
WORD $0x3948; BYTE $0xce // cmp rsi, rcx
JBE LBB3_505
LONG $0xd9348d4a // lea rsi, [rcx + 8*r11]
WORD $0x3948; BYTE $0xd6 // cmp rsi, rdx
JBE LBB3_505
LBB3_175:
WORD $0xf631 // xor esi, esi
LBB3_508:
WORD $0x8949; BYTE $0xf2 // mov r10, rsi
WORD $0xf749; BYTE $0xd2 // not r10
LONG $0x01c3f641 // test r11b, 1
JE LBB3_510
LONG $0xf2048b4c // mov r8, qword [rdx + 8*rsi]
WORD $0x3145; BYTE $0xc9 // xor r9d, r9d
WORD $0x854d; BYTE $0xc0 // test r8, r8
LONG $0xd1950f41 // setne r9b
WORD $0xf749; BYTE $0xd9 // neg r9
WORD $0x854d; BYTE $0xc0 // test r8, r8
LONG $0x000001bf; BYTE $0x00 // mov edi, 1
LONG $0xf94e0f49 // cmovle rdi, r9
LONG $0xf13c8948 // mov qword [rcx + 8*rsi], rdi
LONG $0x01ce8348 // or rsi, 1
LBB3_510:
WORD $0x014d; BYTE $0xda // add r10, r11
JE LBB3_865
LONG $0x0001b841; WORD $0x0000 // mov r8d, 1
LBB3_512:
LONG $0xf2048b48 // mov rax, qword [rdx + 8*rsi]
WORD $0xff31 // xor edi, edi
WORD $0x8548; BYTE $0xc0 // test rax, rax
LONG $0xd7950f40 // setne dil
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0x8548; BYTE $0xc0 // test rax, rax
LONG $0xf84f0f49 // cmovg rdi, r8
LONG $0xf13c8948 // mov qword [rcx + 8*rsi], rdi
LONG $0xf2448b48; BYTE $0x08 // mov rax, qword [rdx + 8*rsi + 8]
WORD $0xff31 // xor edi, edi
WORD $0x8548; BYTE $0xc0 // test rax, rax
LONG $0xd7950f40 // setne dil
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0x8548; BYTE $0xc0 // test rax, rax
LONG $0xf84f0f49 // cmovg rdi, r8
LONG $0xf17c8948; BYTE $0x08 // mov qword [rcx + 8*rsi + 8], rdi
LONG $0x02c68348 // add rsi, 2
WORD $0x3949; BYTE $0xf3 // cmp r11, rsi
JNE LBB3_512
JMP LBB3_865
LBB3_176:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_865
WORD $0x8944; BYTE $0xc0 // mov eax, r8d
LONG $0x20f88341 // cmp r8d, 32
JB LBB3_178
LONG $0x82348d48 // lea rsi, [rdx + 4*rax]
WORD $0x3948; BYTE $0xce // cmp rsi, rcx
JBE LBB3_513
LONG $0x81348d48 // lea rsi, [rcx + 4*rax]
WORD $0x3948; BYTE $0xd6 // cmp rsi, rdx
JBE LBB3_513
LBB3_178:
WORD $0xf631 // xor esi, esi
LBB3_516:
WORD $0x8949; BYTE $0xf0 // mov r8, rsi
WORD $0xf749; BYTE $0xd0 // not r8
WORD $0x01a8 // test al, 1
JE LBB3_518
LONG $0x0410fac5; BYTE $0xb2 // vmovss xmm0, dword [rdx + 4*rsi]
LONG $0xf850f8c5 // vmovmskps edi, xmm0
WORD $0xe783; BYTE $0x01 // and edi, 1
WORD $0xdff7 // neg edi
WORD $0xcf83; BYTE $0x01 // or edi, 1
LONG $0xcf2aaac5 // vcvtsi2ss xmm1, xmm10, edi
LONG $0xd257e8c5 // vxorps xmm2, xmm2, xmm2
LONG $0xc2c2fac5; BYTE $0x00 // vcmpeqss xmm0, xmm0, xmm2
LONG $0xc155f8c5 // vandnps xmm0, xmm0, xmm1
LONG $0x0411fac5; BYTE $0xb1 // vmovss dword [rcx + 4*rsi], xmm0
LONG $0x01ce8348 // or rsi, 1
LBB3_518:
WORD $0x0149; BYTE $0xc0 // add r8, rax
JE LBB3_865
LONG $0xc057f8c5 // vxorps xmm0, xmm0, xmm0
LBB3_520:
LONG $0x0c10fac5; BYTE $0xb2 // vmovss xmm1, dword [rdx + 4*rsi]
LONG $0xf950f8c5 // vmovmskps edi, xmm1
WORD $0xe783; BYTE $0x01 // and edi, 1
WORD $0xdff7 // neg edi
WORD $0xcf83; BYTE $0x01 // or edi, 1
LONG $0xd72aaac5 // vcvtsi2ss xmm2, xmm10, edi
LONG $0xc8c2f2c5; BYTE $0x00 // vcmpeqss xmm1, xmm1, xmm0
LONG $0xca55f0c5 // vandnps xmm1, xmm1, xmm2
LONG $0x0c11fac5; BYTE $0xb1 // vmovss dword [rcx + 4*rsi], xmm1
LONG $0x4c10fac5; WORD $0x04b2 // vmovss xmm1, dword [rdx + 4*rsi + 4]
LONG $0xf950f8c5 // vmovmskps edi, xmm1
WORD $0xe783; BYTE $0x01 // and edi, 1
WORD $0xdff7 // neg edi
WORD $0xcf83; BYTE $0x01 // or edi, 1
LONG $0xd72aaac5 // vcvtsi2ss xmm2, xmm10, edi
LONG $0xc8c2f2c5; BYTE $0x00 // vcmpeqss xmm1, xmm1, xmm0
LONG $0xca55f0c5 // vandnps xmm1, xmm1, xmm2
LONG $0x4c11fac5; WORD $0x04b1 // vmovss dword [rcx + 4*rsi + 4], xmm1
LONG $0x02c68348 // add rsi, 2
WORD $0x3948; BYTE $0xf0 // cmp rax, rsi
JNE LBB3_520
JMP LBB3_865
LBB3_179:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_865
WORD $0x8945; BYTE $0xc2 // mov r10d, r8d
LONG $0x10f88341 // cmp r8d, 16
JB LBB3_181
LONG $0xd2348d4a // lea rsi, [rdx + 8*r10]
WORD $0x3948; BYTE $0xce // cmp rsi, rcx
JBE LBB3_521
LONG $0xd1348d4a // lea rsi, [rcx + 8*r10]
WORD $0x3948; BYTE $0xd6 // cmp rsi, rdx
JBE LBB3_521
LBB3_181:
WORD $0xf631 // xor esi, esi
LBB3_524:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
LONG $0x01c2f641 // test r10b, 1
JE LBB3_526
LONG $0xf2048b4c // mov r8, qword [rdx + 8*rsi]
WORD $0x894c; BYTE $0xc7 // mov rdi, r8
WORD $0xf748; BYTE $0xdf // neg rdi
LONG $0xf84c0f49 // cmovl rdi, r8
LONG $0xf13c8948 // mov qword [rcx + 8*rsi], rdi
LONG $0x01ce8348 // or rsi, 1
LBB3_526:
WORD $0x014d; BYTE $0xd1 // add r9, r10
JE LBB3_865
LBB3_527:
LONG $0xf2048b48 // mov rax, qword [rdx + 8*rsi]
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
WORD $0xf748; BYTE $0xdf // neg rdi
LONG $0xf84c0f48 // cmovl rdi, rax
LONG $0xf13c8948 // mov qword [rcx + 8*rsi], rdi
LONG $0xf2448b48; BYTE $0x08 // mov rax, qword [rdx + 8*rsi + 8]
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
WORD $0xf748; BYTE $0xdf // neg rdi
LONG $0xf84c0f48 // cmovl rdi, rax
LONG $0xf17c8948; BYTE $0x08 // mov qword [rcx + 8*rsi + 8], rdi
LONG $0x02c68348 // add rsi, 2
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB3_527
JMP LBB3_865
LBB3_182:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_865
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x20f88341 // cmp r8d, 32
JB LBB3_184
LONG $0x8a048d4a // lea rax, [rdx + 4*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_528
LONG $0x89048d4a // lea rax, [rcx + 4*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_528
LBB3_184:
WORD $0xf631 // xor esi, esi
LBB3_809:
WORD $0x8949; BYTE $0xf0 // mov r8, rsi
WORD $0xf749; BYTE $0xd0 // not r8
WORD $0x014d; BYTE $0xc8 // add r8, r9
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0x03e78348 // and rdi, 3
JE LBB3_812
LONG $0xffffba41; WORD $0x7fff // mov r10d, 2147483647
LBB3_811:
WORD $0x048b; BYTE $0xb2 // mov eax, dword [rdx + 4*rsi]
WORD $0x2144; BYTE $0xd0 // and eax, r10d
WORD $0x0489; BYTE $0xb1 // mov dword [rcx + 4*rsi], eax
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB3_811
LBB3_812:
LONG $0x03f88349 // cmp r8, 3
JB LBB3_865
LONG $0xffffffb8; BYTE $0x7f // mov eax, 2147483647
LBB3_814:
WORD $0x3c8b; BYTE $0xb2 // mov edi, dword [rdx + 4*rsi]
WORD $0xc721 // and edi, eax
WORD $0x3c89; BYTE $0xb1 // mov dword [rcx + 4*rsi], edi
LONG $0x04b27c8b // mov edi, dword [rdx + 4*rsi + 4]
WORD $0xc721 // and edi, eax
LONG $0x04b17c89 // mov dword [rcx + 4*rsi + 4], edi
LONG $0x08b27c8b // mov edi, dword [rdx + 4*rsi + 8]
WORD $0xc721 // and edi, eax
LONG $0x08b17c89 // mov dword [rcx + 4*rsi + 8], edi
LONG $0x0cb27c8b // mov edi, dword [rdx + 4*rsi + 12]
WORD $0xc721 // and edi, eax
LONG $0x0cb17c89 // mov dword [rcx + 4*rsi + 12], edi
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf1 // cmp r9, rsi
JNE LBB3_814
JMP LBB3_865
LBB3_185:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_865
WORD $0x8945; BYTE $0xc2 // mov r10d, r8d
LONG $0x10f88341 // cmp r8d, 16
JB LBB3_187
LONG $0xd2348d4a // lea rsi, [rdx + 8*r10]
WORD $0x3948; BYTE $0xce // cmp rsi, rcx
JBE LBB3_531
LONG $0xd1348d4a // lea rsi, [rcx + 8*r10]
WORD $0x3948; BYTE $0xd6 // cmp rsi, rdx
JBE LBB3_531
LBB3_187:
WORD $0xf631 // xor esi, esi
LBB3_534:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
LONG $0x01c2f641 // test r10b, 1
JE LBB3_536
LONG $0xf2048b4c // mov r8, qword [rdx + 8*rsi]
WORD $0x894c; BYTE $0xc7 // mov rdi, r8
WORD $0xf748; BYTE $0xdf // neg rdi
LONG $0xf84c0f49 // cmovl rdi, r8
LONG $0xf13c8948 // mov qword [rcx + 8*rsi], rdi
LONG $0x01ce8348 // or rsi, 1
LBB3_536:
WORD $0x014d; BYTE $0xd1 // add r9, r10
JE LBB3_865
LBB3_537:
LONG $0xf2048b48 // mov rax, qword [rdx + 8*rsi]
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
WORD $0xf748; BYTE $0xdf // neg rdi
LONG $0xf84c0f48 // cmovl rdi, rax
LONG $0xf13c8948 // mov qword [rcx + 8*rsi], rdi
LONG $0xf2448b48; BYTE $0x08 // mov rax, qword [rdx + 8*rsi + 8]
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
WORD $0xf748; BYTE $0xdf // neg rdi
LONG $0xf84c0f48 // cmovl rdi, rax
LONG $0xf17c8948; BYTE $0x08 // mov qword [rcx + 8*rsi + 8], rdi
LONG $0x02c68348 // add rsi, 2
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB3_537
JMP LBB3_865
LBB3_188:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_865
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x20f88341 // cmp r8d, 32
JB LBB3_190
LONG $0x8a048d4a // lea rax, [rdx + 4*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_538
LONG $0x89048d4a // lea rax, [rcx + 4*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_538
LBB3_190:
WORD $0xf631 // xor esi, esi
LBB3_819:
WORD $0x8949; BYTE $0xf0 // mov r8, rsi
WORD $0xf749; BYTE $0xd0 // not r8
WORD $0x014d; BYTE $0xc8 // add r8, r9
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0x03e78348 // and rdi, 3
JE LBB3_822
LONG $0xffffba41; WORD $0x7fff // mov r10d, 2147483647
LBB3_821:
WORD $0x048b; BYTE $0xb2 // mov eax, dword [rdx + 4*rsi]
WORD $0x2144; BYTE $0xd0 // and eax, r10d
WORD $0x0489; BYTE $0xb1 // mov dword [rcx + 4*rsi], eax
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB3_821
LBB3_822:
LONG $0x03f88349 // cmp r8, 3
JB LBB3_865
LONG $0xffffffb8; BYTE $0x7f // mov eax, 2147483647
LBB3_824:
WORD $0x3c8b; BYTE $0xb2 // mov edi, dword [rdx + 4*rsi]
WORD $0xc721 // and edi, eax
WORD $0x3c89; BYTE $0xb1 // mov dword [rcx + 4*rsi], edi
LONG $0x04b27c8b // mov edi, dword [rdx + 4*rsi + 4]
WORD $0xc721 // and edi, eax
LONG $0x04b17c89 // mov dword [rcx + 4*rsi + 4], edi
LONG $0x08b27c8b // mov edi, dword [rdx + 4*rsi + 8]
WORD $0xc721 // and edi, eax
LONG $0x08b17c89 // mov dword [rcx + 4*rsi + 8], edi
LONG $0x0cb27c8b // mov edi, dword [rdx + 4*rsi + 12]
WORD $0xc721 // and edi, eax
LONG $0x0cb17c89 // mov dword [rcx + 4*rsi + 12], edi
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf1 // cmp r9, rsi
JNE LBB3_824
JMP LBB3_865
LBB3_191:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_865
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x80f88141; WORD $0x0000; BYTE $0x00 // cmp r8d, 128
JAE LBB3_338
WORD $0xd231 // xor edx, edx
JMP LBB3_547
LBB3_194:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_865
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x80f88141; WORD $0x0000; BYTE $0x00 // cmp r8d, 128
JB LBB3_196
LONG $0x0a048d4a // lea rax, [rdx + r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_548
LONG $0x09048d4a // lea rax, [rcx + r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_548
LBB3_196:
WORD $0xf631 // xor esi, esi
LBB3_829:
WORD $0x8949; BYTE $0xf0 // mov r8, rsi
WORD $0xf749; BYTE $0xd0 // not r8
WORD $0x014d; BYTE $0xc8 // add r8, r9
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0x03e78348 // and rdi, 3
JE LBB3_831
LBB3_830:
LONG $0x14b60f44; BYTE $0x32 // movzx r10d, byte [rdx + rsi]
WORD $0xc031 // xor eax, eax
WORD $0x2844; BYTE $0xd0 // sub al, r10b
WORD $0x0488; BYTE $0x31 // mov byte [rcx + rsi], al
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB3_830
LBB3_831:
LONG $0x03f88349 // cmp r8, 3
JB LBB3_865
LBB3_832:
WORD $0xc031 // xor eax, eax
WORD $0x042a; BYTE $0x32 // sub al, byte [rdx + rsi]
WORD $0x0488; BYTE $0x31 // mov byte [rcx + rsi], al
WORD $0xc031 // xor eax, eax
LONG $0x0132442a // sub al, byte [rdx + rsi + 1]
LONG $0x01314488 // mov byte [rcx + rsi + 1], al
WORD $0xc031 // xor eax, eax
LONG $0x0232442a // sub al, byte [rdx + rsi + 2]
LONG $0x02314488 // mov byte [rcx + rsi + 2], al
LONG $0x3244b60f; BYTE $0x03 // movzx eax, byte [rdx + rsi + 3]
WORD $0xff31 // xor edi, edi
WORD $0x2840; BYTE $0xc7 // sub dil, al
LONG $0x317c8840; BYTE $0x03 // mov byte [rcx + rsi + 3], dil
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf1 // cmp r9, rsi
JNE LBB3_832
JMP LBB3_865
LBB3_197:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_865
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x80f88141; WORD $0x0000; BYTE $0x00 // cmp r8d, 128
JB LBB3_199
LONG $0x0a048d4a // lea rax, [rdx + r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_551
LONG $0x09048d4a // lea rax, [rcx + r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_551
LBB3_199:
WORD $0xf631 // xor esi, esi
LBB3_554:
WORD $0x8948; BYTE $0xf7 // mov rdi, rsi
WORD $0xf748; BYTE $0xd7 // not rdi
WORD $0x014c; BYTE $0xcf // add rdi, r9
WORD $0x894c; BYTE $0xc8 // mov rax, r9
LONG $0x03e08348 // and rax, 3
JE LBB3_556
LBB3_555:
LONG $0x00323c80 // cmp byte [rdx + rsi], 0
LONG $0x3114950f // setne byte [rcx + rsi]
LONG $0x01c68348 // add rsi, 1
LONG $0xffc08348 // add rax, -1
JNE LBB3_555
LBB3_556:
LONG $0x03ff8348 // cmp rdi, 3
JB LBB3_865
LBB3_557:
LONG $0x00323c80 // cmp byte [rdx + rsi], 0
LONG $0x3114950f // setne byte [rcx + rsi]
LONG $0x01327c80; BYTE $0x00 // cmp byte [rdx + rsi + 1], 0
LONG $0x3154950f; BYTE $0x01 // setne byte [rcx + rsi + 1]
LONG $0x02327c80; BYTE $0x00 // cmp byte [rdx + rsi + 2], 0
LONG $0x3154950f; BYTE $0x02 // setne byte [rcx + rsi + 2]
LONG $0x03327c80; BYTE $0x00 // cmp byte [rdx + rsi + 3], 0
LONG $0x3154950f; BYTE $0x03 // setne byte [rcx + rsi + 3]
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf1 // cmp r9, rsi
JNE LBB3_557
JMP LBB3_865
LBB3_200:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_865
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x80f88141; WORD $0x0000; BYTE $0x00 // cmp r8d, 128
JB LBB3_202
LONG $0x0a048d4a // lea rax, [rdx + r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_558
LONG $0x09048d4a // lea rax, [rcx + r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_558
LBB3_202:
WORD $0xf631 // xor esi, esi
LBB3_837:
WORD $0x8949; BYTE $0xf0 // mov r8, rsi
WORD $0xf749; BYTE $0xd0 // not r8
WORD $0x014d; BYTE $0xc8 // add r8, r9
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0x03e78348 // and rdi, 3
JE LBB3_839
LBB3_838:
LONG $0x3204b60f // movzx eax, byte [rdx + rsi]
WORD $0x0488; BYTE $0x31 // mov byte [rcx + rsi], al
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB3_838
LBB3_839:
LONG $0x03f88349 // cmp r8, 3
JB LBB3_865
LBB3_840:
LONG $0x3204b60f // movzx eax, byte [rdx + rsi]
WORD $0x0488; BYTE $0x31 // mov byte [rcx + rsi], al
LONG $0x3244b60f; BYTE $0x01 // movzx eax, byte [rdx + rsi + 1]
LONG $0x01314488 // mov byte [rcx + rsi + 1], al
LONG $0x3244b60f; BYTE $0x02 // movzx eax, byte [rdx + rsi + 2]
LONG $0x02314488 // mov byte [rcx + rsi + 2], al
LONG $0x3244b60f; BYTE $0x03 // movzx eax, byte [rdx + rsi + 3]
LONG $0x03314488 // mov byte [rcx + rsi + 3], al
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf1 // cmp r9, rsi
JNE LBB3_840
JMP LBB3_865
LBB3_203:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_865
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x80f88141; WORD $0x0000; BYTE $0x00 // cmp r8d, 128
JB LBB3_205
LONG $0x0a048d4a // lea rax, [rdx + r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_561
LONG $0x09048d4a // lea rax, [rcx + r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_561
LBB3_205:
WORD $0xf631 // xor esi, esi
LBB3_845:
WORD $0x8949; BYTE $0xf0 // mov r8, rsi
WORD $0xf749; BYTE $0xd0 // not r8
WORD $0x014d; BYTE $0xc8 // add r8, r9
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0x03e78348 // and rdi, 3
JE LBB3_847
LBB3_846:
LONG $0x3204b60f // movzx eax, byte [rdx + rsi]
WORD $0x0488; BYTE $0x31 // mov byte [rcx + rsi], al
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB3_846
LBB3_847:
LONG $0x03f88349 // cmp r8, 3
JB LBB3_865
LBB3_848:
LONG $0x3204b60f // movzx eax, byte [rdx + rsi]
WORD $0x0488; BYTE $0x31 // mov byte [rcx + rsi], al
LONG $0x3244b60f; BYTE $0x01 // movzx eax, byte [rdx + rsi + 1]
LONG $0x01314488 // mov byte [rcx + rsi + 1], al
LONG $0x3244b60f; BYTE $0x02 // movzx eax, byte [rdx + rsi + 2]
LONG $0x02314488 // mov byte [rcx + rsi + 2], al
LONG $0x3244b60f; BYTE $0x03 // movzx eax, byte [rdx + rsi + 3]
LONG $0x03314488 // mov byte [rcx + rsi + 3], al
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf1 // cmp r9, rsi
JNE LBB3_848
JMP LBB3_865
LBB3_206:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_865
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x20f88341 // cmp r8d, 32
JB LBB3_208
LONG $0x8a048d4a // lea rax, [rdx + 4*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_564
LONG $0x89048d4a // lea rax, [rcx + 4*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_564
LBB3_208:
WORD $0xf631 // xor esi, esi
LBB3_853:
WORD $0x8949; BYTE $0xf0 // mov r8, rsi
WORD $0xf749; BYTE $0xd0 // not r8
WORD $0x014d; BYTE $0xc8 // add r8, r9
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0x03e78348 // and rdi, 3
JE LBB3_855
LBB3_854:
WORD $0xc031 // xor eax, eax
WORD $0x042b; BYTE $0xb2 // sub eax, dword [rdx + 4*rsi]
WORD $0x0489; BYTE $0xb1 // mov dword [rcx + 4*rsi], eax
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB3_854
LBB3_855:
LONG $0x03f88349 // cmp r8, 3
JB LBB3_865
LBB3_856:
WORD $0xc031 // xor eax, eax
WORD $0x042b; BYTE $0xb2 // sub eax, dword [rdx + 4*rsi]
WORD $0x0489; BYTE $0xb1 // mov dword [rcx + 4*rsi], eax
WORD $0xc031 // xor eax, eax
LONG $0x04b2442b // sub eax, dword [rdx + 4*rsi + 4]
LONG $0x04b14489 // mov dword [rcx + 4*rsi + 4], eax
WORD $0xc031 // xor eax, eax
LONG $0x08b2442b // sub eax, dword [rdx + 4*rsi + 8]
LONG $0x08b14489 // mov dword [rcx + 4*rsi + 8], eax
WORD $0xc031 // xor eax, eax
LONG $0x0cb2442b // sub eax, dword [rdx + 4*rsi + 12]
LONG $0x0cb14489 // mov dword [rcx + 4*rsi + 12], eax
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf1 // cmp r9, rsi
JNE LBB3_856
JMP LBB3_865
LBB3_209:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_865
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x20f88341 // cmp r8d, 32
JB LBB3_211
LONG $0x8a048d4a // lea rax, [rdx + 4*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_567
LONG $0x89048d4a // lea rax, [rcx + 4*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_567
LBB3_211:
WORD $0xf631 // xor esi, esi
LBB3_861:
WORD $0x8949; BYTE $0xf0 // mov r8, rsi
WORD $0xf749; BYTE $0xd0 // not r8
WORD $0x014d; BYTE $0xc8 // add r8, r9
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0x03e78348 // and rdi, 3
JE LBB3_863
LBB3_862:
WORD $0xc031 // xor eax, eax
WORD $0x042b; BYTE $0xb2 // sub eax, dword [rdx + 4*rsi]
WORD $0x0489; BYTE $0xb1 // mov dword [rcx + 4*rsi], eax
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB3_862
LBB3_863:
LONG $0x03f88349 // cmp r8, 3
JB LBB3_865
LBB3_864:
WORD $0xc031 // xor eax, eax
WORD $0x042b; BYTE $0xb2 // sub eax, dword [rdx + 4*rsi]
WORD $0x0489; BYTE $0xb1 // mov dword [rcx + 4*rsi], eax
WORD $0xc031 // xor eax, eax
LONG $0x04b2442b // sub eax, dword [rdx + 4*rsi + 4]
LONG $0x04b14489 // mov dword [rcx + 4*rsi + 4], eax
WORD $0xc031 // xor eax, eax
LONG $0x08b2442b // sub eax, dword [rdx + 4*rsi + 8]
LONG $0x08b14489 // mov dword [rcx + 4*rsi + 8], eax
WORD $0xc031 // xor eax, eax
LONG $0x0cb2442b // sub eax, dword [rdx + 4*rsi + 12]
LONG $0x0cb14489 // mov dword [rcx + 4*rsi + 12], eax
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf1 // cmp r9, rsi
JNE LBB3_864
JMP LBB3_865
LBB3_212:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_865
WORD $0x8945; BYTE $0xc3 // mov r11d, r8d
LONG $0x20f88341 // cmp r8d, 32
JB LBB3_214
LONG $0x9a348d4a // lea rsi, [rdx + 4*r11]
WORD $0x3948; BYTE $0xce // cmp rsi, rcx
JBE LBB3_570
LONG $0x99348d4a // lea rsi, [rcx + 4*r11]
WORD $0x3948; BYTE $0xd6 // cmp rsi, rdx
JBE LBB3_570
LBB3_214:
WORD $0xf631 // xor esi, esi
LBB3_573:
WORD $0x8949; BYTE $0xf2 // mov r10, rsi
WORD $0xf749; BYTE $0xd2 // not r10
LONG $0x01c3f641 // test r11b, 1
JE LBB3_575
LONG $0xb2048b44 // mov r8d, dword [rdx + 4*rsi]
WORD $0x3145; BYTE $0xc9 // xor r9d, r9d
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
LONG $0xd1950f41 // setne r9b
WORD $0xf741; BYTE $0xd9 // neg r9d
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
LONG $0x000001bf; BYTE $0x00 // mov edi, 1
LONG $0xf94e0f41 // cmovle edi, r9d
WORD $0x3c89; BYTE $0xb1 // mov dword [rcx + 4*rsi], edi
LONG $0x01ce8348 // or rsi, 1
LBB3_575:
WORD $0x014d; BYTE $0xda // add r10, r11
JE LBB3_865
LONG $0x0001b841; WORD $0x0000 // mov r8d, 1
LBB3_577:
WORD $0x048b; BYTE $0xb2 // mov eax, dword [rdx + 4*rsi]
WORD $0xff31 // xor edi, edi
WORD $0xc085 // test eax, eax
LONG $0xd7950f40 // setne dil
WORD $0xdff7 // neg edi
WORD $0xc085 // test eax, eax
LONG $0xf84f0f41 // cmovg edi, r8d
WORD $0x3c89; BYTE $0xb1 // mov dword [rcx + 4*rsi], edi
LONG $0x04b2448b // mov eax, dword [rdx + 4*rsi + 4]
WORD $0xff31 // xor edi, edi
WORD $0xc085 // test eax, eax
LONG $0xd7950f40 // setne dil
WORD $0xdff7 // neg edi
WORD $0xc085 // test eax, eax
LONG $0xf84f0f41 // cmovg edi, r8d
LONG $0x04b17c89 // mov dword [rcx + 4*rsi + 4], edi
LONG $0x02c68348 // add rsi, 2
WORD $0x3949; BYTE $0xf3 // cmp r11, rsi
JNE LBB3_577
JMP LBB3_865
LBB3_215:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_865
WORD $0x8945; BYTE $0xc2 // mov r10d, r8d
LONG $0x20f88341 // cmp r8d, 32
JB LBB3_217
LONG $0x92348d4a // lea rsi, [rdx + 4*r10]
WORD $0x3948; BYTE $0xce // cmp rsi, rcx
JBE LBB3_578
LONG $0x91348d4a // lea rsi, [rcx + 4*r10]
WORD $0x3948; BYTE $0xd6 // cmp rsi, rdx
JBE LBB3_578
LBB3_217:
WORD $0xf631 // xor esi, esi
LBB3_581:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
LONG $0x01c2f641 // test r10b, 1
JE LBB3_583
LONG $0xb2048b44 // mov r8d, dword [rdx + 4*rsi]
WORD $0x8944; BYTE $0xc7 // mov edi, r8d
WORD $0xdff7 // neg edi
LONG $0xf84c0f41 // cmovl edi, r8d
WORD $0x3c89; BYTE $0xb1 // mov dword [rcx + 4*rsi], edi
LONG $0x01ce8348 // or rsi, 1
LBB3_583:
WORD $0x014d; BYTE $0xd1 // add r9, r10
JE LBB3_865
LBB3_584:
WORD $0x048b; BYTE $0xb2 // mov eax, dword [rdx + 4*rsi]
WORD $0xc789 // mov edi, eax
WORD $0xdff7 // neg edi
WORD $0x4c0f; BYTE $0xf8 // cmovl edi, eax
WORD $0x3c89; BYTE $0xb1 // mov dword [rcx + 4*rsi], edi
LONG $0x04b2448b // mov eax, dword [rdx + 4*rsi + 4]
WORD $0xc789 // mov edi, eax
WORD $0xdff7 // neg edi
WORD $0x4c0f; BYTE $0xf8 // cmovl edi, eax
LONG $0x04b17c89 // mov dword [rcx + 4*rsi + 4], edi
LONG $0x02c68348 // add rsi, 2
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB3_584
JMP LBB3_865
LBB3_218:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_865
WORD $0x8945; BYTE $0xc2 // mov r10d, r8d
LONG $0x20f88341 // cmp r8d, 32
JB LBB3_220
LONG $0x92348d4a // lea rsi, [rdx + 4*r10]
WORD $0x3948; BYTE $0xce // cmp rsi, rcx
JBE LBB3_585
LONG $0x91348d4a // lea rsi, [rcx + 4*r10]
WORD $0x3948; BYTE $0xd6 // cmp rsi, rdx
JBE LBB3_585
LBB3_220:
WORD $0xf631 // xor esi, esi
LBB3_588:
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
WORD $0xf749; BYTE $0xd1 // not r9
LONG $0x01c2f641 // test r10b, 1
JE LBB3_590
LONG $0xb2048b44 // mov r8d, dword [rdx + 4*rsi]
WORD $0x8944; BYTE $0xc7 // mov edi, r8d
WORD $0xdff7 // neg edi
LONG $0xf84c0f41 // cmovl edi, r8d
WORD $0x3c89; BYTE $0xb1 // mov dword [rcx + 4*rsi], edi
LONG $0x01ce8348 // or rsi, 1
LBB3_590:
WORD $0x014d; BYTE $0xd1 // add r9, r10
JE LBB3_865
LBB3_591:
WORD $0x048b; BYTE $0xb2 // mov eax, dword [rdx + 4*rsi]
WORD $0xc789 // mov edi, eax
WORD $0xdff7 // neg edi
WORD $0x4c0f; BYTE $0xf8 // cmovl edi, eax
WORD $0x3c89; BYTE $0xb1 // mov dword [rcx + 4*rsi], edi
LONG $0x04b2448b // mov eax, dword [rdx + 4*rsi + 4]
WORD $0xc789 // mov edi, eax
WORD $0xdff7 // neg edi
WORD $0x4c0f; BYTE $0xf8 // cmovl edi, eax
LONG $0x04b17c89 // mov dword [rcx + 4*rsi + 4], edi
LONG $0x02c68348 // add rsi, 2
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB3_591
JMP LBB3_865
LBB3_221:
WORD $0x8944; BYTE $0xca // mov edx, r9d
WORD $0xe283; BYTE $0xe0 // and edx, -32
LONG $0xe0428d48 // lea rax, [rdx - 32]
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x05efc148 // shr rdi, 5
LONG $0x01c78348 // add rdi, 1
WORD $0xfe89 // mov esi, edi
WORD $0xe683; BYTE $0x03 // and esi, 3
LONG $0x60f88348 // cmp rax, 96
JAE LBB3_367
WORD $0xc031 // xor eax, eax
JMP LBB3_369
LBB3_265:
WORD $0x8944; BYTE $0xca // mov edx, r9d
WORD $0xe283; BYTE $0xf0 // and edx, -16
LONG $0xf0428d48 // lea rax, [rdx - 16]
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x04efc148 // shr rdi, 4
LONG $0x01c78348 // add rdi, 1
WORD $0xfe89 // mov esi, edi
WORD $0xe683; BYTE $0x03 // and esi, 3
LONG $0x30f88348 // cmp rax, 48
JAE LBB3_438
WORD $0xc031 // xor eax, eax
JMP LBB3_440
LBB3_279:
WORD $0x8944; BYTE $0xca // mov edx, r9d
WORD $0xe283; BYTE $0xc0 // and edx, -64
LONG $0xc0428d48 // lea rax, [rdx - 64]
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x06efc148 // shr rdi, 6
LONG $0x01c78348 // add rdi, 1
WORD $0xfe89 // mov esi, edi
WORD $0xe683; BYTE $0x03 // and esi, 3
LONG $0x00c03d48; WORD $0x0000 // cmp rax, 192
JAE LBB3_461
WORD $0xc031 // xor eax, eax
JMP LBB3_463
LBB3_338:
WORD $0x8944; BYTE $0xca // mov edx, r9d
WORD $0xe283; BYTE $0x80 // and edx, -128
LONG $0x80428d48 // lea rax, [rdx - 128]
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x07efc148 // shr rdi, 7
LONG $0x01c78348 // add rdi, 1
WORD $0xfe89 // mov esi, edi
WORD $0xe683; BYTE $0x03 // and esi, 3
LONG $0x01803d48; WORD $0x0000 // cmp rax, 384
JAE LBB3_541
WORD $0xc031 // xor eax, eax
JMP LBB3_543
LBB3_374:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0xe0468d48 // lea rax, [rsi - 32]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x05e8c149 // shr r8, 5
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB3_612
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LBB3_376:
LONG $0x0cfafdc5; BYTE $0xba // vpsubd ymm1, ymm0, yword [rdx + 4*rdi]
LONG $0x54fafdc5; WORD $0x20ba // vpsubd ymm2, ymm0, yword [rdx + 4*rdi + 32]
LONG $0x5cfafdc5; WORD $0x40ba // vpsubd ymm3, ymm0, yword [rdx + 4*rdi + 64]
LONG $0x64fafdc5; WORD $0x60ba // vpsubd ymm4, ymm0, yword [rdx + 4*rdi + 96]
LONG $0x0c7ffec5; BYTE $0xb9 // vmovdqu yword [rcx + 4*rdi], ymm1
LONG $0x547ffec5; WORD $0x20b9 // vmovdqu yword [rcx + 4*rdi + 32], ymm2
LONG $0x5c7ffec5; WORD $0x40b9 // vmovdqu yword [rcx + 4*rdi + 64], ymm3
LONG $0x647ffec5; WORD $0x60b9 // vmovdqu yword [rcx + 4*rdi + 96], ymm4
QUAD $0x000080ba8cfafdc5; BYTE $0x00 // vpsubd ymm1, ymm0, yword [rdx + 4*rdi + 128]
QUAD $0x0000a0ba94fafdc5; BYTE $0x00 // vpsubd ymm2, ymm0, yword [rdx + 4*rdi + 160]
QUAD $0x0000c0ba9cfafdc5; BYTE $0x00 // vpsubd ymm3, ymm0, yword [rdx + 4*rdi + 192]
QUAD $0x0000e0baa4fafdc5; BYTE $0x00 // vpsubd ymm4, ymm0, yword [rdx + 4*rdi + 224]
QUAD $0x000080b98c7ffec5; BYTE $0x00 // vmovdqu yword [rcx + 4*rdi + 128], ymm1
QUAD $0x0000a0b9947ffec5; BYTE $0x00 // vmovdqu yword [rcx + 4*rdi + 160], ymm2
QUAD $0x0000c0b99c7ffec5; BYTE $0x00 // vmovdqu yword [rcx + 4*rdi + 192], ymm3
QUAD $0x0000e0b9a47ffec5; BYTE $0x00 // vmovdqu yword [rcx + 4*rdi + 224], ymm4
LONG $0x40c78348 // add rdi, 64
LONG $0x02c08348 // add rax, 2
JNE LBB3_376
JMP LBB3_613
LBB3_377:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xe0 // and esi, -32
WORD $0xff31 // xor edi, edi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0x587de2c4; WORD $0x404d // vpbroadcastd ymm1, dword 64[rbp] /* [rip + .LCPI3_3] */
LBB3_378:
LONG $0x1476fdc5; BYTE $0xba // vpcmpeqd ymm2, ymm0, yword [rdx + 4*rdi]
LONG $0xd1dfedc5 // vpandn ymm2, ymm2, ymm1
LONG $0x5c76fdc5; WORD $0x20ba // vpcmpeqd ymm3, ymm0, yword [rdx + 4*rdi + 32]
LONG $0xd9dfe5c5 // vpandn ymm3, ymm3, ymm1
LONG $0x6476fdc5; WORD $0x40ba // vpcmpeqd ymm4, ymm0, yword [rdx + 4*rdi + 64]
LONG $0x6c76fdc5; WORD $0x60ba // vpcmpeqd ymm5, ymm0, yword [rdx + 4*rdi + 96]
LONG $0xe1dfddc5 // vpandn ymm4, ymm4, ymm1
LONG $0xe9dfd5c5 // vpandn ymm5, ymm5, ymm1
LONG $0x147ffec5; BYTE $0xb9 // vmovdqu yword [rcx + 4*rdi], ymm2
LONG $0x5c7ffec5; WORD $0x20b9 // vmovdqu yword [rcx + 4*rdi + 32], ymm3
LONG $0x647ffec5; WORD $0x40b9 // vmovdqu yword [rcx + 4*rdi + 64], ymm4
LONG $0x6c7ffec5; WORD $0x60b9 // vmovdqu yword [rcx + 4*rdi + 96], ymm5
LONG $0x20c78348 // add rdi, 32
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB3_378
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_865
JMP LBB3_380
LBB3_384:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0xe0468d48 // lea rax, [rsi - 32]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x05e8c149 // shr r8, 5
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB3_620
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB3_386:
LONG $0x0410fcc5; BYTE $0xba // vmovups ymm0, yword [rdx + 4*rdi]
LONG $0x4c10fcc5; WORD $0x20ba // vmovups ymm1, yword [rdx + 4*rdi + 32]
LONG $0x5410fcc5; WORD $0x40ba // vmovups ymm2, yword [rdx + 4*rdi + 64]
LONG $0x5c10fcc5; WORD $0x60ba // vmovups ymm3, yword [rdx + 4*rdi + 96]
LONG $0x0411fcc5; BYTE $0xb9 // vmovups yword [rcx + 4*rdi], ymm0
LONG $0x4c11fcc5; WORD $0x20b9 // vmovups yword [rcx + 4*rdi + 32], ymm1
LONG $0x5411fcc5; WORD $0x40b9 // vmovups yword [rcx + 4*rdi + 64], ymm2
LONG $0x5c11fcc5; WORD $0x60b9 // vmovups yword [rcx + 4*rdi + 96], ymm3
QUAD $0x000080ba8410fdc5; BYTE $0x00 // vmovupd ymm0, yword [rdx + 4*rdi + 128]
QUAD $0x0000a0ba8c10fdc5; BYTE $0x00 // vmovupd ymm1, yword [rdx + 4*rdi + 160]
QUAD $0x0000c0ba9410fdc5; BYTE $0x00 // vmovupd ymm2, yword [rdx + 4*rdi + 192]
QUAD $0x0000e0ba9c10fdc5; BYTE $0x00 // vmovupd ymm3, yword [rdx + 4*rdi + 224]
QUAD $0x000080b98411fdc5; BYTE $0x00 // vmovupd yword [rcx + 4*rdi + 128], ymm0
QUAD $0x0000a0b98c11fdc5; BYTE $0x00 // vmovupd yword [rcx + 4*rdi + 160], ymm1
QUAD $0x0000c0b99411fdc5; BYTE $0x00 // vmovupd yword [rcx + 4*rdi + 192], ymm2
QUAD $0x0000e0b99c11fdc5; BYTE $0x00 // vmovupd yword [rcx + 4*rdi + 224], ymm3
LONG $0x40c78348 // add rdi, 64
LONG $0x02c08348 // add rax, 2
JNE LBB3_386
JMP LBB3_621
LBB3_387:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0xe0468d48 // lea rax, [rsi - 32]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x05e8c149 // shr r8, 5
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB3_628
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB3_389:
LONG $0x0410fcc5; BYTE $0xba // vmovups ymm0, yword [rdx + 4*rdi]
LONG $0x4c10fcc5; WORD $0x20ba // vmovups ymm1, yword [rdx + 4*rdi + 32]
LONG $0x5410fcc5; WORD $0x40ba // vmovups ymm2, yword [rdx + 4*rdi + 64]
LONG $0x5c10fcc5; WORD $0x60ba // vmovups ymm3, yword [rdx + 4*rdi + 96]
LONG $0x0411fcc5; BYTE $0xb9 // vmovups yword [rcx + 4*rdi], ymm0
LONG $0x4c11fcc5; WORD $0x20b9 // vmovups yword [rcx + 4*rdi + 32], ymm1
LONG $0x5411fcc5; WORD $0x40b9 // vmovups yword [rcx + 4*rdi + 64], ymm2
LONG $0x5c11fcc5; WORD $0x60b9 // vmovups yword [rcx + 4*rdi + 96], ymm3
QUAD $0x000080ba8410fdc5; BYTE $0x00 // vmovupd ymm0, yword [rdx + 4*rdi + 128]
QUAD $0x0000a0ba8c10fdc5; BYTE $0x00 // vmovupd ymm1, yword [rdx + 4*rdi + 160]
QUAD $0x0000c0ba9410fdc5; BYTE $0x00 // vmovupd ymm2, yword [rdx + 4*rdi + 192]
QUAD $0x0000e0ba9c10fdc5; BYTE $0x00 // vmovupd ymm3, yword [rdx + 4*rdi + 224]
QUAD $0x000080b98411fdc5; BYTE $0x00 // vmovupd yword [rcx + 4*rdi + 128], ymm0
QUAD $0x0000a0b98c11fdc5; BYTE $0x00 // vmovupd yword [rcx + 4*rdi + 160], ymm1
QUAD $0x0000c0b99411fdc5; BYTE $0x00 // vmovupd yword [rcx + 4*rdi + 192], ymm2
QUAD $0x0000e0b99c11fdc5; BYTE $0x00 // vmovupd yword [rcx + 4*rdi + 224], ymm3
LONG $0x40c78348 // add rdi, 64
LONG $0x02c08348 // add rax, 2
JNE LBB3_389
JMP LBB3_629
LBB3_390:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0xf0468d48 // lea rax, [rsi - 16]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x04e8c149 // shr r8, 4
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB3_636
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LONG $0x197de2c4; WORD $0x0045 // vbroadcastsd ymm0, qword 0[rbp] /* [rip + .LCPI3_0] */
LBB3_392:
LONG $0x0c57fdc5; BYTE $0xfa // vxorpd ymm1, ymm0, yword [rdx + 8*rdi]
LONG $0x5457fdc5; WORD $0x20fa // vxorpd ymm2, ymm0, yword [rdx + 8*rdi + 32]
LONG $0x5c57fdc5; WORD $0x40fa // vxorpd ymm3, ymm0, yword [rdx + 8*rdi + 64]
LONG $0x6457fdc5; WORD $0x60fa // vxorpd ymm4, ymm0, yword [rdx + 8*rdi + 96]
LONG $0x0c11fdc5; BYTE $0xf9 // vmovupd yword [rcx + 8*rdi], ymm1
LONG $0x5411fdc5; WORD $0x20f9 // vmovupd yword [rcx + 8*rdi + 32], ymm2
LONG $0x5c11fdc5; WORD $0x40f9 // vmovupd yword [rcx + 8*rdi + 64], ymm3
LONG $0x6411fdc5; WORD $0x60f9 // vmovupd yword [rcx + 8*rdi + 96], ymm4
QUAD $0x000080fa8c57fdc5; BYTE $0x00 // vxorpd ymm1, ymm0, yword [rdx + 8*rdi + 128]
QUAD $0x0000a0fa9457fdc5; BYTE $0x00 // vxorpd ymm2, ymm0, yword [rdx + 8*rdi + 160]
QUAD $0x0000c0fa9c57fdc5; BYTE $0x00 // vxorpd ymm3, ymm0, yword [rdx + 8*rdi + 192]
QUAD $0x0000e0faa457fdc5; BYTE $0x00 // vxorpd ymm4, ymm0, yword [rdx + 8*rdi + 224]
QUAD $0x000080f98c11fdc5; BYTE $0x00 // vmovupd yword [rcx + 8*rdi + 128], ymm1
QUAD $0x0000a0f99411fdc5; BYTE $0x00 // vmovupd yword [rcx + 8*rdi + 160], ymm2
QUAD $0x0000c0f99c11fdc5; BYTE $0x00 // vmovupd yword [rcx + 8*rdi + 192], ymm3
QUAD $0x0000e0f9a411fdc5; BYTE $0x00 // vmovupd yword [rcx + 8*rdi + 224], ymm4
LONG $0x20c78348 // add rdi, 32
LONG $0x02c08348 // add rax, 2
JNE LBB3_392
JMP LBB3_637
LBB3_393:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0xf0468d48 // lea rax, [rsi - 16]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x04e8c149 // shr r8, 4
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB3_646
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LONG $0x197de2c4; WORD $0x0045 // vbroadcastsd ymm0, qword 0[rbp] /* [rip + .LCPI3_0] */
LBB3_395:
LONG $0x0c57fdc5; BYTE $0xfa // vxorpd ymm1, ymm0, yword [rdx + 8*rdi]
LONG $0x5457fdc5; WORD $0x20fa // vxorpd ymm2, ymm0, yword [rdx + 8*rdi + 32]
LONG $0x5c57fdc5; WORD $0x40fa // vxorpd ymm3, ymm0, yword [rdx + 8*rdi + 64]
LONG $0x6457fdc5; WORD $0x60fa // vxorpd ymm4, ymm0, yword [rdx + 8*rdi + 96]
LONG $0x0c11fdc5; BYTE $0xf9 // vmovupd yword [rcx + 8*rdi], ymm1
LONG $0x5411fdc5; WORD $0x20f9 // vmovupd yword [rcx + 8*rdi + 32], ymm2
LONG $0x5c11fdc5; WORD $0x40f9 // vmovupd yword [rcx + 8*rdi + 64], ymm3
LONG $0x6411fdc5; WORD $0x60f9 // vmovupd yword [rcx + 8*rdi + 96], ymm4
QUAD $0x000080fa8c57fdc5; BYTE $0x00 // vxorpd ymm1, ymm0, yword [rdx + 8*rdi + 128]
QUAD $0x0000a0fa9457fdc5; BYTE $0x00 // vxorpd ymm2, ymm0, yword [rdx + 8*rdi + 160]
QUAD $0x0000c0fa9c57fdc5; BYTE $0x00 // vxorpd ymm3, ymm0, yword [rdx + 8*rdi + 192]
QUAD $0x0000e0faa457fdc5; BYTE $0x00 // vxorpd ymm4, ymm0, yword [rdx + 8*rdi + 224]
QUAD $0x000080f98c11fdc5; BYTE $0x00 // vmovupd yword [rcx + 8*rdi + 128], ymm1
QUAD $0x0000a0f99411fdc5; BYTE $0x00 // vmovupd yword [rcx + 8*rdi + 160], ymm2
QUAD $0x0000c0f99c11fdc5; BYTE $0x00 // vmovupd yword [rcx + 8*rdi + 192], ymm3
QUAD $0x0000e0f9a411fdc5; BYTE $0x00 // vmovupd yword [rcx + 8*rdi + 224], ymm4
LONG $0x20c78348 // add rdi, 32
LONG $0x02c08348 // add rax, 2
JNE LBB3_395
JMP LBB3_647
LBB3_396:
WORD $0xc689 // mov esi, eax
WORD $0xe683; BYTE $0xf0 // and esi, -16
WORD $0xff31 // xor edi, edi
LONG $0xc057f9c5 // vxorpd xmm0, xmm0, xmm0
LONG $0x197de2c4; WORD $0x004d // vbroadcastsd ymm1, qword 0[rbp] /* [rip + .LCPI3_0] */
LONG $0x197de2c4; WORD $0x0855 // vbroadcastsd ymm2, qword 8[rbp] /* [rip + .LCPI3_1] */
LBB3_397:
LONG $0x1c10fdc5; BYTE $0xfa // vmovupd ymm3, yword [rdx + 8*rdi]
LONG $0x6410fdc5; WORD $0x20fa // vmovupd ymm4, yword [rdx + 8*rdi + 32]
LONG $0x6c10fdc5; WORD $0x40fa // vmovupd ymm5, yword [rdx + 8*rdi + 64]
LONG $0x7410fdc5; WORD $0x60fa // vmovupd ymm6, yword [rdx + 8*rdi + 96]
LONG $0xf954e5c5 // vandpd ymm7, ymm3, ymm1
LONG $0xff56edc5 // vorpd ymm7, ymm2, ymm7
LONG $0xc1545dc5 // vandpd ymm8, ymm4, ymm1
LONG $0xc2563dc5 // vorpd ymm8, ymm8, ymm2
LONG $0xc95455c5 // vandpd ymm9, ymm5, ymm1
LONG $0xca5635c5 // vorpd ymm9, ymm9, ymm2
LONG $0xd1544dc5 // vandpd ymm10, ymm6, ymm1
LONG $0xd2562dc5 // vorpd ymm10, ymm10, ymm2
LONG $0xd8c2e5c5; BYTE $0x04 // vcmpneqpd ymm3, ymm3, ymm0
LONG $0xdf54e5c5 // vandpd ymm3, ymm3, ymm7
LONG $0xe0c2ddc5; BYTE $0x04 // vcmpneqpd ymm4, ymm4, ymm0
LONG $0xe454bdc5 // vandpd ymm4, ymm8, ymm4
LONG $0xe8c2d5c5; BYTE $0x04 // vcmpneqpd ymm5, ymm5, ymm0
LONG $0xed54b5c5 // vandpd ymm5, ymm9, ymm5
LONG $0xf0c2cdc5; BYTE $0x04 // vcmpneqpd ymm6, ymm6, ymm0
LONG $0xf654adc5 // vandpd ymm6, ymm10, ymm6
LONG $0x1c11fdc5; BYTE $0xf9 // vmovupd yword [rcx + 8*rdi], ymm3
LONG $0x6411fdc5; WORD $0x20f9 // vmovupd yword [rcx + 8*rdi + 32], ymm4
LONG $0x6c11fdc5; WORD $0x40f9 // vmovupd yword [rcx + 8*rdi + 64], ymm5
LONG $0x7411fdc5; WORD $0x60f9 // vmovupd yword [rcx + 8*rdi + 96], ymm6
LONG $0x10c78348 // add rdi, 16
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB3_397
WORD $0x3948; BYTE $0xc6 // cmp rsi, rax
JE LBB3_865
JMP LBB3_399
LBB3_404:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0xf0468d48 // lea rax, [rsi - 16]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x04e8c149 // shr r8, 4
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB3_656
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LONG $0x197de2c4; WORD $0x1845 // vbroadcastsd ymm0, qword 24[rbp] /* [rip + .LCPI3_8] */
LBB3_406:
LONG $0x0c54fdc5; BYTE $0xfa // vandpd ymm1, ymm0, yword [rdx + 8*rdi]
LONG $0x5454fdc5; WORD $0x20fa // vandpd ymm2, ymm0, yword [rdx + 8*rdi + 32]
LONG $0x5c54fdc5; WORD $0x40fa // vandpd ymm3, ymm0, yword [rdx + 8*rdi + 64]
LONG $0x6454fdc5; WORD $0x60fa // vandpd ymm4, ymm0, yword [rdx + 8*rdi + 96]
LONG $0x0c11fdc5; BYTE $0xf9 // vmovupd yword [rcx + 8*rdi], ymm1
LONG $0x5411fdc5; WORD $0x20f9 // vmovupd yword [rcx + 8*rdi + 32], ymm2
LONG $0x5c11fdc5; WORD $0x40f9 // vmovupd yword [rcx + 8*rdi + 64], ymm3
LONG $0x6411fdc5; WORD $0x60f9 // vmovupd yword [rcx + 8*rdi + 96], ymm4
QUAD $0x000080fa8c54fdc5; BYTE $0x00 // vandpd ymm1, ymm0, yword [rdx + 8*rdi + 128]
QUAD $0x0000a0fa9454fdc5; BYTE $0x00 // vandpd ymm2, ymm0, yword [rdx + 8*rdi + 160]
QUAD $0x0000c0fa9c54fdc5; BYTE $0x00 // vandpd ymm3, ymm0, yword [rdx + 8*rdi + 192]
QUAD $0x0000e0faa454fdc5; BYTE $0x00 // vandpd ymm4, ymm0, yword [rdx + 8*rdi + 224]
QUAD $0x000080f98c11fdc5; BYTE $0x00 // vmovupd yword [rcx + 8*rdi + 128], ymm1
QUAD $0x0000a0f99411fdc5; BYTE $0x00 // vmovupd yword [rcx + 8*rdi + 160], ymm2
QUAD $0x0000c0f99c11fdc5; BYTE $0x00 // vmovupd yword [rcx + 8*rdi + 192], ymm3
QUAD $0x0000e0f9a411fdc5; BYTE $0x00 // vmovupd yword [rcx + 8*rdi + 224], ymm4
LONG $0x20c78348 // add rdi, 32
LONG $0x02c08348 // add rax, 2
JNE LBB3_406
JMP LBB3_657
LBB3_407:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0xf0468d48 // lea rax, [rsi - 16]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x04e8c149 // shr r8, 4
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB3_664
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LONG $0x197de2c4; WORD $0x1845 // vbroadcastsd ymm0, qword 24[rbp] /* [rip + .LCPI3_8] */
LBB3_409:
LONG $0x0c54fdc5; BYTE $0xfa // vandpd ymm1, ymm0, yword [rdx + 8*rdi]
LONG $0x5454fdc5; WORD $0x20fa // vandpd ymm2, ymm0, yword [rdx + 8*rdi + 32]
LONG $0x5c54fdc5; WORD $0x40fa // vandpd ymm3, ymm0, yword [rdx + 8*rdi + 64]
LONG $0x6454fdc5; WORD $0x60fa // vandpd ymm4, ymm0, yword [rdx + 8*rdi + 96]
LONG $0x0c11fdc5; BYTE $0xf9 // vmovupd yword [rcx + 8*rdi], ymm1
LONG $0x5411fdc5; WORD $0x20f9 // vmovupd yword [rcx + 8*rdi + 32], ymm2
LONG $0x5c11fdc5; WORD $0x40f9 // vmovupd yword [rcx + 8*rdi + 64], ymm3
LONG $0x6411fdc5; WORD $0x60f9 // vmovupd yword [rcx + 8*rdi + 96], ymm4
QUAD $0x000080fa8c54fdc5; BYTE $0x00 // vandpd ymm1, ymm0, yword [rdx + 8*rdi + 128]
QUAD $0x0000a0fa9454fdc5; BYTE $0x00 // vandpd ymm2, ymm0, yword [rdx + 8*rdi + 160]
QUAD $0x0000c0fa9c54fdc5; BYTE $0x00 // vandpd ymm3, ymm0, yword [rdx + 8*rdi + 192]
QUAD $0x0000e0faa454fdc5; BYTE $0x00 // vandpd ymm4, ymm0, yword [rdx + 8*rdi + 224]
QUAD $0x000080f98c11fdc5; BYTE $0x00 // vmovupd yword [rcx + 8*rdi + 128], ymm1
QUAD $0x0000a0f99411fdc5; BYTE $0x00 // vmovupd yword [rcx + 8*rdi + 160], ymm2
QUAD $0x0000c0f99c11fdc5; BYTE $0x00 // vmovupd yword [rcx + 8*rdi + 192], ymm3
QUAD $0x0000e0f9a411fdc5; BYTE $0x00 // vmovupd yword [rcx + 8*rdi + 224], ymm4
LONG $0x20c78348 // add rdi, 32
LONG $0x02c08348 // add rax, 2
JNE LBB3_409
JMP LBB3_665
LBB3_410:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0x80 // and esi, -128
LONG $0x80468d48 // lea rax, [rsi - 128]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x07e8c149 // shr r8, 7
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB3_672
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LBB3_412:
LONG $0x0cf8fdc5; BYTE $0x3a // vpsubb ymm1, ymm0, yword [rdx + rdi]
LONG $0x54f8fdc5; WORD $0x203a // vpsubb ymm2, ymm0, yword [rdx + rdi + 32]
LONG $0x5cf8fdc5; WORD $0x403a // vpsubb ymm3, ymm0, yword [rdx + rdi + 64]
LONG $0x64f8fdc5; WORD $0x603a // vpsubb ymm4, ymm0, yword [rdx + rdi + 96]
LONG $0x0c7ffec5; BYTE $0x39 // vmovdqu yword [rcx + rdi], ymm1
LONG $0x547ffec5; WORD $0x2039 // vmovdqu yword [rcx + rdi + 32], ymm2
LONG $0x5c7ffec5; WORD $0x4039 // vmovdqu yword [rcx + rdi + 64], ymm3
LONG $0x647ffec5; WORD $0x6039 // vmovdqu yword [rcx + rdi + 96], ymm4
QUAD $0x0000803a8cf8fdc5; BYTE $0x00 // vpsubb ymm1, ymm0, yword [rdx + rdi + 128]
QUAD $0x0000a03a94f8fdc5; BYTE $0x00 // vpsubb ymm2, ymm0, yword [rdx + rdi + 160]
QUAD $0x0000c03a9cf8fdc5; BYTE $0x00 // vpsubb ymm3, ymm0, yword [rdx + rdi + 192]
QUAD $0x0000e03aa4f8fdc5; BYTE $0x00 // vpsubb ymm4, ymm0, yword [rdx + rdi + 224]
QUAD $0x000080398c7ffec5; BYTE $0x00 // vmovdqu yword [rcx + rdi + 128], ymm1
QUAD $0x0000a039947ffec5; BYTE $0x00 // vmovdqu yword [rcx + rdi + 160], ymm2
QUAD $0x0000c0399c7ffec5; BYTE $0x00 // vmovdqu yword [rcx + rdi + 192], ymm3
QUAD $0x0000e039a47ffec5; BYTE $0x00 // vmovdqu yword [rcx + rdi + 224], ymm4
LONG $0x00c78148; WORD $0x0001; BYTE $0x00 // add rdi, 256
LONG $0x02c08348 // add rax, 2
JNE LBB3_412
JMP LBB3_673
LBB3_413:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0x80 // and esi, -128
LONG $0x80468d48 // lea rax, [rsi - 128]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x07e8c149 // shr r8, 7
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB3_680
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LBB3_415:
LONG $0x0cf8fdc5; BYTE $0x3a // vpsubb ymm1, ymm0, yword [rdx + rdi]
LONG $0x54f8fdc5; WORD $0x203a // vpsubb ymm2, ymm0, yword [rdx + rdi + 32]
LONG $0x5cf8fdc5; WORD $0x403a // vpsubb ymm3, ymm0, yword [rdx + rdi + 64]
LONG $0x64f8fdc5; WORD $0x603a // vpsubb ymm4, ymm0, yword [rdx + rdi + 96]
LONG $0x0c7ffec5; BYTE $0x39 // vmovdqu yword [rcx + rdi], ymm1
LONG $0x547ffec5; WORD $0x2039 // vmovdqu yword [rcx + rdi + 32], ymm2
LONG $0x5c7ffec5; WORD $0x4039 // vmovdqu yword [rcx + rdi + 64], ymm3
LONG $0x647ffec5; WORD $0x6039 // vmovdqu yword [rcx + rdi + 96], ymm4
QUAD $0x0000803a8cf8fdc5; BYTE $0x00 // vpsubb ymm1, ymm0, yword [rdx + rdi + 128]
QUAD $0x0000a03a94f8fdc5; BYTE $0x00 // vpsubb ymm2, ymm0, yword [rdx + rdi + 160]
QUAD $0x0000c03a9cf8fdc5; BYTE $0x00 // vpsubb ymm3, ymm0, yword [rdx + rdi + 192]
QUAD $0x0000e03aa4f8fdc5; BYTE $0x00 // vpsubb ymm4, ymm0, yword [rdx + rdi + 224]
QUAD $0x000080398c7ffec5; BYTE $0x00 // vmovdqu yword [rcx + rdi + 128], ymm1
QUAD $0x0000a039947ffec5; BYTE $0x00 // vmovdqu yword [rcx + rdi + 160], ymm2
QUAD $0x0000c0399c7ffec5; BYTE $0x00 // vmovdqu yword [rcx + rdi + 192], ymm3
QUAD $0x0000e039a47ffec5; BYTE $0x00 // vmovdqu yword [rcx + rdi + 224], ymm4
LONG $0x00c78148; WORD $0x0001; BYTE $0x00 // add rdi, 256
LONG $0x02c08348 // add rax, 2
JNE LBB3_415
JMP LBB3_681
LBB3_416:
WORD $0x8944; BYTE $0xde // mov esi, r11d
WORD $0xe683; BYTE $0x80 // and esi, -128
WORD $0xff31 // xor edi, edi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0xc976f5c5 // vpcmpeqd ymm1, ymm1, ymm1
QUAD $0x00000080956ffdc5 // vmovdqa ymm2, yword 128[rbp] /* [rip + .LCPI3_6] */
LBB3_417:
LONG $0x1c6ffec5; BYTE $0x3a // vmovdqu ymm3, yword [rdx + rdi]
LONG $0x646ffec5; WORD $0x203a // vmovdqu ymm4, yword [rdx + rdi + 32]
LONG $0x6c6ffec5; WORD $0x403a // vmovdqu ymm5, yword [rdx + rdi + 64]
LONG $0x746ffec5; WORD $0x603a // vmovdqu ymm6, yword [rdx + rdi + 96]
LONG $0xf874e5c5 // vpcmpeqb ymm7, ymm3, ymm0
LONG $0xf9efc5c5 // vpxor ymm7, ymm7, ymm1
LONG $0xc0745dc5 // vpcmpeqb ymm8, ymm4, ymm0
LONG $0xc1ef3dc5 // vpxor ymm8, ymm8, ymm1
LONG $0xc87455c5 // vpcmpeqb ymm9, ymm5, ymm0
LONG $0xc9ef35c5 // vpxor ymm9, ymm9, ymm1
LONG $0xd0744dc5 // vpcmpeqb ymm10, ymm6, ymm0
LONG $0xd1ef2dc5 // vpxor ymm10, ymm10, ymm1
LONG $0xdb64edc5 // vpcmpgtb ymm3, ymm2, ymm3
LONG $0xe464edc5 // vpcmpgtb ymm4, ymm2, ymm4
LONG $0xed64edc5 // vpcmpgtb ymm5, ymm2, ymm5
LONG $0xf664edc5 // vpcmpgtb ymm6, ymm2, ymm6
LONG $0x4c6de3c4; WORD $0x30df // vpblendvb ymm3, ymm2, ymm7, ymm3
LONG $0x4c6dc3c4; WORD $0x40e0 // vpblendvb ymm4, ymm2, ymm8, ymm4
LONG $0x4c6dc3c4; WORD $0x50e9 // vpblendvb ymm5, ymm2, ymm9, ymm5
LONG $0x4c6dc3c4; WORD $0x60f2 // vpblendvb ymm6, ymm2, ymm10, ymm6
LONG $0x1c7ffec5; BYTE $0x39 // vmovdqu yword [rcx + rdi], ymm3
LONG $0x647ffec5; WORD $0x2039 // vmovdqu yword [rcx + rdi + 32], ymm4
LONG $0x6c7ffec5; WORD $0x4039 // vmovdqu yword [rcx + rdi + 64], ymm5
LONG $0x747ffec5; WORD $0x6039 // vmovdqu yword [rcx + rdi + 96], ymm6
LONG $0x80ef8348 // sub rdi, -128
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB3_417
WORD $0x394c; BYTE $0xde // cmp rsi, r11
JE LBB3_865
JMP LBB3_419
LBB3_424:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
WORD $0xff31 // xor edi, edi
LONG $0x456ff9c5; BYTE $0x30 // vmovdqa xmm0, oword 48[rbp] /* [rip + .LCPI3_11] */
LBB3_425:
LONG $0x217de2c4; WORD $0x3a0c // vpmovsxbd ymm1, qword [rdx + rdi]
LONG $0x217de2c4; WORD $0x3a54; BYTE $0x08 // vpmovsxbd ymm2, qword [rdx + rdi + 8]
LONG $0x217de2c4; WORD $0x3a5c; BYTE $0x10 // vpmovsxbd ymm3, qword [rdx + rdi + 16]
LONG $0x217de2c4; WORD $0x3a64; BYTE $0x18 // vpmovsxbd ymm4, qword [rdx + rdi + 24]
LONG $0xe172d5c5; BYTE $0x07 // vpsrad ymm5, ymm1, 7
LONG $0xe272cdc5; BYTE $0x07 // vpsrad ymm6, ymm2, 7
LONG $0xe372c5c5; BYTE $0x07 // vpsrad ymm7, ymm3, 7
LONG $0xe472bdc5; BYTE $0x07 // vpsrad ymm8, ymm4, 7
LONG $0xc9fed5c5 // vpaddd ymm1, ymm5, ymm1
LONG $0xd2fecdc5 // vpaddd ymm2, ymm6, ymm2
LONG $0xdbfec5c5 // vpaddd ymm3, ymm7, ymm3
LONG $0xe4febdc5 // vpaddd ymm4, ymm8, ymm4
LONG $0xcdeff5c5 // vpxor ymm1, ymm1, ymm5
LONG $0xd6efedc5 // vpxor ymm2, ymm2, ymm6
LONG $0xdfefe5c5 // vpxor ymm3, ymm3, ymm7
LONG $0xe4efbdc5 // vpxor ymm4, ymm8, ymm4
LONG $0x397de3c4; WORD $0x01cd // vextracti128 xmm5, ymm1, 1
LONG $0x0051e2c4; BYTE $0xe8 // vpshufb xmm5, xmm5, xmm0
LONG $0x0071e2c4; BYTE $0xc8 // vpshufb xmm1, xmm1, xmm0
LONG $0xcd62f1c5 // vpunpckldq xmm1, xmm1, xmm5
LONG $0x397de3c4; WORD $0x01d5 // vextracti128 xmm5, ymm2, 1
LONG $0x0051e2c4; BYTE $0xe8 // vpshufb xmm5, xmm5, xmm0
LONG $0x0069e2c4; BYTE $0xd0 // vpshufb xmm2, xmm2, xmm0
LONG $0xd562e9c5 // vpunpckldq xmm2, xmm2, xmm5
LONG $0x397de3c4; WORD $0x01dd // vextracti128 xmm5, ymm3, 1
LONG $0x0051e2c4; BYTE $0xe8 // vpshufb xmm5, xmm5, xmm0
LONG $0x0061e2c4; BYTE $0xd8 // vpshufb xmm3, xmm3, xmm0
LONG $0xdd62e1c5 // vpunpckldq xmm3, xmm3, xmm5
LONG $0x397de3c4; WORD $0x01e5 // vextracti128 xmm5, ymm4, 1
LONG $0x0051e2c4; BYTE $0xe8 // vpshufb xmm5, xmm5, xmm0
LONG $0x0059e2c4; BYTE $0xe0 // vpshufb xmm4, xmm4, xmm0
LONG $0xe562d9c5 // vpunpckldq xmm4, xmm4, xmm5
LONG $0x3865e3c4; WORD $0x01dc // vinserti128 ymm3, ymm3, xmm4, 1
LONG $0x3875e3c4; WORD $0x01ca // vinserti128 ymm1, ymm1, xmm2, 1
LONG $0xcb6cf5c5 // vpunpcklqdq ymm1, ymm1, ymm3
LONG $0x00fde3c4; WORD $0xd8c9 // vpermq ymm1, ymm1, 216
LONG $0x0c7ffec5; BYTE $0x39 // vmovdqu yword [rcx + rdi], ymm1
LONG $0x20c78348 // add rdi, 32
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB3_425
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB3_865
JMP LBB3_427
LBB3_431:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
WORD $0xff31 // xor edi, edi
LONG $0x456ff9c5; BYTE $0x30 // vmovdqa xmm0, oword 48[rbp] /* [rip + .LCPI3_11] */
LBB3_432:
LONG $0x217de2c4; WORD $0x3a0c // vpmovsxbd ymm1, qword [rdx + rdi]
LONG $0x217de2c4; WORD $0x3a54; BYTE $0x08 // vpmovsxbd ymm2, qword [rdx + rdi + 8]
LONG $0x217de2c4; WORD $0x3a5c; BYTE $0x10 // vpmovsxbd ymm3, qword [rdx + rdi + 16]
LONG $0x217de2c4; WORD $0x3a64; BYTE $0x18 // vpmovsxbd ymm4, qword [rdx + rdi + 24]
LONG $0xe172d5c5; BYTE $0x07 // vpsrad ymm5, ymm1, 7
LONG $0xe272cdc5; BYTE $0x07 // vpsrad ymm6, ymm2, 7
LONG $0xe372c5c5; BYTE $0x07 // vpsrad ymm7, ymm3, 7
LONG $0xe472bdc5; BYTE $0x07 // vpsrad ymm8, ymm4, 7
LONG $0xc9fed5c5 // vpaddd ymm1, ymm5, ymm1
LONG $0xd2fecdc5 // vpaddd ymm2, ymm6, ymm2
LONG $0xdbfec5c5 // vpaddd ymm3, ymm7, ymm3
LONG $0xe4febdc5 // vpaddd ymm4, ymm8, ymm4
LONG $0xcdeff5c5 // vpxor ymm1, ymm1, ymm5
LONG $0xd6efedc5 // vpxor ymm2, ymm2, ymm6
LONG $0xdfefe5c5 // vpxor ymm3, ymm3, ymm7
LONG $0xe4efbdc5 // vpxor ymm4, ymm8, ymm4
LONG $0x397de3c4; WORD $0x01cd // vextracti128 xmm5, ymm1, 1
LONG $0x0051e2c4; BYTE $0xe8 // vpshufb xmm5, xmm5, xmm0
LONG $0x0071e2c4; BYTE $0xc8 // vpshufb xmm1, xmm1, xmm0
LONG $0xcd62f1c5 // vpunpckldq xmm1, xmm1, xmm5
LONG $0x397de3c4; WORD $0x01d5 // vextracti128 xmm5, ymm2, 1
LONG $0x0051e2c4; BYTE $0xe8 // vpshufb xmm5, xmm5, xmm0
LONG $0x0069e2c4; BYTE $0xd0 // vpshufb xmm2, xmm2, xmm0
LONG $0xd562e9c5 // vpunpckldq xmm2, xmm2, xmm5
LONG $0x397de3c4; WORD $0x01dd // vextracti128 xmm5, ymm3, 1
LONG $0x0051e2c4; BYTE $0xe8 // vpshufb xmm5, xmm5, xmm0
LONG $0x0061e2c4; BYTE $0xd8 // vpshufb xmm3, xmm3, xmm0
LONG $0xdd62e1c5 // vpunpckldq xmm3, xmm3, xmm5
LONG $0x397de3c4; WORD $0x01e5 // vextracti128 xmm5, ymm4, 1
LONG $0x0051e2c4; BYTE $0xe8 // vpshufb xmm5, xmm5, xmm0
LONG $0x0059e2c4; BYTE $0xe0 // vpshufb xmm4, xmm4, xmm0
LONG $0xe562d9c5 // vpunpckldq xmm4, xmm4, xmm5
LONG $0x3865e3c4; WORD $0x01dc // vinserti128 ymm3, ymm3, xmm4, 1
LONG $0x3875e3c4; WORD $0x01ca // vinserti128 ymm1, ymm1, xmm2, 1
LONG $0xcb6cf5c5 // vpunpcklqdq ymm1, ymm1, ymm3
LONG $0x00fde3c4; WORD $0xd8c9 // vpermq ymm1, ymm1, 216
LONG $0x0c7ffec5; BYTE $0x39 // vmovdqu yword [rcx + rdi], ymm1
LONG $0x20c78348 // add rdi, 32
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB3_432
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB3_865
JMP LBB3_434
LBB3_445:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0xf0468d48 // lea rax, [rsi - 16]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x04e8c149 // shr r8, 4
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB3_688
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LBB3_447:
LONG $0x0cfbfdc5; BYTE $0xfa // vpsubq ymm1, ymm0, yword [rdx + 8*rdi]
LONG $0x54fbfdc5; WORD $0x20fa // vpsubq ymm2, ymm0, yword [rdx + 8*rdi + 32]
LONG $0x5cfbfdc5; WORD $0x40fa // vpsubq ymm3, ymm0, yword [rdx + 8*rdi + 64]
LONG $0x64fbfdc5; WORD $0x60fa // vpsubq ymm4, ymm0, yword [rdx + 8*rdi + 96]
LONG $0x0c7ffec5; BYTE $0xf9 // vmovdqu yword [rcx + 8*rdi], ymm1
LONG $0x547ffec5; WORD $0x20f9 // vmovdqu yword [rcx + 8*rdi + 32], ymm2
LONG $0x5c7ffec5; WORD $0x40f9 // vmovdqu yword [rcx + 8*rdi + 64], ymm3
LONG $0x647ffec5; WORD $0x60f9 // vmovdqu yword [rcx + 8*rdi + 96], ymm4
QUAD $0x000080fa8cfbfdc5; BYTE $0x00 // vpsubq ymm1, ymm0, yword [rdx + 8*rdi + 128]
QUAD $0x0000a0fa94fbfdc5; BYTE $0x00 // vpsubq ymm2, ymm0, yword [rdx + 8*rdi + 160]
QUAD $0x0000c0fa9cfbfdc5; BYTE $0x00 // vpsubq ymm3, ymm0, yword [rdx + 8*rdi + 192]
QUAD $0x0000e0faa4fbfdc5; BYTE $0x00 // vpsubq ymm4, ymm0, yword [rdx + 8*rdi + 224]
QUAD $0x000080f98c7ffec5; BYTE $0x00 // vmovdqu yword [rcx + 8*rdi + 128], ymm1
QUAD $0x0000a0f9947ffec5; BYTE $0x00 // vmovdqu yword [rcx + 8*rdi + 160], ymm2
QUAD $0x0000c0f99c7ffec5; BYTE $0x00 // vmovdqu yword [rcx + 8*rdi + 192], ymm3
QUAD $0x0000e0f9a47ffec5; BYTE $0x00 // vmovdqu yword [rcx + 8*rdi + 224], ymm4
LONG $0x20c78348 // add rdi, 32
LONG $0x02c08348 // add rax, 2
JNE LBB3_447
JMP LBB3_689
LBB3_448:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xf0 // and esi, -16
WORD $0xff31 // xor edi, edi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0x597de2c4; WORD $0x104d // vpbroadcastq ymm1, qword 16[rbp] /* [rip + .LCPI3_4] */
LBB3_449:
LONG $0x297de2c4; WORD $0xfa14 // vpcmpeqq ymm2, ymm0, yword [rdx + 8*rdi]
LONG $0xd1dfedc5 // vpandn ymm2, ymm2, ymm1
LONG $0x297de2c4; WORD $0xfa5c; BYTE $0x20 // vpcmpeqq ymm3, ymm0, yword [rdx + 8*rdi + 32]
LONG $0xd9dfe5c5 // vpandn ymm3, ymm3, ymm1
LONG $0x297de2c4; WORD $0xfa64; BYTE $0x40 // vpcmpeqq ymm4, ymm0, yword [rdx + 8*rdi + 64]
LONG $0x297de2c4; WORD $0xfa6c; BYTE $0x60 // vpcmpeqq ymm5, ymm0, yword [rdx + 8*rdi + 96]
LONG $0xe1dfddc5 // vpandn ymm4, ymm4, ymm1
LONG $0xe9dfd5c5 // vpandn ymm5, ymm5, ymm1
LONG $0x147ffec5; BYTE $0xf9 // vmovdqu yword [rcx + 8*rdi], ymm2
LONG $0x5c7ffec5; WORD $0x20f9 // vmovdqu yword [rcx + 8*rdi + 32], ymm3
LONG $0x647ffec5; WORD $0x40f9 // vmovdqu yword [rcx + 8*rdi + 64], ymm4
LONG $0x6c7ffec5; WORD $0x60f9 // vmovdqu yword [rcx + 8*rdi + 96], ymm5
LONG $0x10c78348 // add rdi, 16
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB3_449
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_865
JMP LBB3_451
LBB3_455:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0xf0468d48 // lea rax, [rsi - 16]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x04e8c149 // shr r8, 4
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB3_696
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB3_457:
LONG $0x0410fcc5; BYTE $0xfa // vmovups ymm0, yword [rdx + 8*rdi]
LONG $0x4c10fcc5; WORD $0x20fa // vmovups ymm1, yword [rdx + 8*rdi + 32]
LONG $0x5410fcc5; WORD $0x40fa // vmovups ymm2, yword [rdx + 8*rdi + 64]
LONG $0x5c10fcc5; WORD $0x60fa // vmovups ymm3, yword [rdx + 8*rdi + 96]
LONG $0x0411fcc5; BYTE $0xf9 // vmovups yword [rcx + 8*rdi], ymm0
LONG $0x4c11fcc5; WORD $0x20f9 // vmovups yword [rcx + 8*rdi + 32], ymm1
LONG $0x5411fcc5; WORD $0x40f9 // vmovups yword [rcx + 8*rdi + 64], ymm2
LONG $0x5c11fcc5; WORD $0x60f9 // vmovups yword [rcx + 8*rdi + 96], ymm3
QUAD $0x000080fa8410fdc5; BYTE $0x00 // vmovupd ymm0, yword [rdx + 8*rdi + 128]
QUAD $0x0000a0fa8c10fdc5; BYTE $0x00 // vmovupd ymm1, yword [rdx + 8*rdi + 160]
QUAD $0x0000c0fa9410fdc5; BYTE $0x00 // vmovupd ymm2, yword [rdx + 8*rdi + 192]
QUAD $0x0000e0fa9c10fdc5; BYTE $0x00 // vmovupd ymm3, yword [rdx + 8*rdi + 224]
QUAD $0x000080f98411fdc5; BYTE $0x00 // vmovupd yword [rcx + 8*rdi + 128], ymm0
QUAD $0x0000a0f98c11fdc5; BYTE $0x00 // vmovupd yword [rcx + 8*rdi + 160], ymm1
QUAD $0x0000c0f99411fdc5; BYTE $0x00 // vmovupd yword [rcx + 8*rdi + 192], ymm2
QUAD $0x0000e0f99c11fdc5; BYTE $0x00 // vmovupd yword [rcx + 8*rdi + 224], ymm3
LONG $0x20c78348 // add rdi, 32
LONG $0x02c08348 // add rax, 2
JNE LBB3_457
JMP LBB3_697
LBB3_458:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0xf0468d48 // lea rax, [rsi - 16]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x04e8c149 // shr r8, 4
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB3_704
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB3_460:
LONG $0x0410fcc5; BYTE $0xfa // vmovups ymm0, yword [rdx + 8*rdi]
LONG $0x4c10fcc5; WORD $0x20fa // vmovups ymm1, yword [rdx + 8*rdi + 32]
LONG $0x5410fcc5; WORD $0x40fa // vmovups ymm2, yword [rdx + 8*rdi + 64]
LONG $0x5c10fcc5; WORD $0x60fa // vmovups ymm3, yword [rdx + 8*rdi + 96]
LONG $0x0411fcc5; BYTE $0xf9 // vmovups yword [rcx + 8*rdi], ymm0
LONG $0x4c11fcc5; WORD $0x20f9 // vmovups yword [rcx + 8*rdi + 32], ymm1
LONG $0x5411fcc5; WORD $0x40f9 // vmovups yword [rcx + 8*rdi + 64], ymm2
LONG $0x5c11fcc5; WORD $0x60f9 // vmovups yword [rcx + 8*rdi + 96], ymm3
QUAD $0x000080fa8410fdc5; BYTE $0x00 // vmovupd ymm0, yword [rdx + 8*rdi + 128]
QUAD $0x0000a0fa8c10fdc5; BYTE $0x00 // vmovupd ymm1, yword [rdx + 8*rdi + 160]
QUAD $0x0000c0fa9410fdc5; BYTE $0x00 // vmovupd ymm2, yword [rdx + 8*rdi + 192]
QUAD $0x0000e0fa9c10fdc5; BYTE $0x00 // vmovupd ymm3, yword [rdx + 8*rdi + 224]
QUAD $0x000080f98411fdc5; BYTE $0x00 // vmovupd yword [rcx + 8*rdi + 128], ymm0
QUAD $0x0000a0f98c11fdc5; BYTE $0x00 // vmovupd yword [rcx + 8*rdi + 160], ymm1
QUAD $0x0000c0f99411fdc5; BYTE $0x00 // vmovupd yword [rcx + 8*rdi + 192], ymm2
QUAD $0x0000e0f99c11fdc5; BYTE $0x00 // vmovupd yword [rcx + 8*rdi + 224], ymm3
LONG $0x20c78348 // add rdi, 32
LONG $0x02c08348 // add rax, 2
JNE LBB3_460
JMP LBB3_705
LBB3_468:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0xe0468d48 // lea rax, [rsi - 32]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x05e8c149 // shr r8, 5
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB3_712
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LBB3_470:
LONG $0x0cf9fdc5; BYTE $0x7a // vpsubw ymm1, ymm0, yword [rdx + 2*rdi]
LONG $0x54f9fdc5; WORD $0x207a // vpsubw ymm2, ymm0, yword [rdx + 2*rdi + 32]
LONG $0x0c7ffec5; BYTE $0x79 // vmovdqu yword [rcx + 2*rdi], ymm1
LONG $0x547ffec5; WORD $0x2079 // vmovdqu yword [rcx + 2*rdi + 32], ymm2
LONG $0x4cf9fdc5; WORD $0x407a // vpsubw ymm1, ymm0, yword [rdx + 2*rdi + 64]
LONG $0x54f9fdc5; WORD $0x607a // vpsubw ymm2, ymm0, yword [rdx + 2*rdi + 96]
LONG $0x4c7ffec5; WORD $0x4079 // vmovdqu yword [rcx + 2*rdi + 64], ymm1
LONG $0x547ffec5; WORD $0x6079 // vmovdqu yword [rcx + 2*rdi + 96], ymm2
LONG $0x40c78348 // add rdi, 64
LONG $0x02c08348 // add rax, 2
JNE LBB3_470
JMP LBB3_713
LBB3_471:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0xe0468d48 // lea rax, [rsi - 32]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x05e8c149 // shr r8, 5
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB3_720
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LBB3_473:
LONG $0x0cf9fdc5; BYTE $0x7a // vpsubw ymm1, ymm0, yword [rdx + 2*rdi]
LONG $0x54f9fdc5; WORD $0x207a // vpsubw ymm2, ymm0, yword [rdx + 2*rdi + 32]
LONG $0x0c7ffec5; BYTE $0x79 // vmovdqu yword [rcx + 2*rdi], ymm1
LONG $0x547ffec5; WORD $0x2079 // vmovdqu yword [rcx + 2*rdi + 32], ymm2
LONG $0x4cf9fdc5; WORD $0x407a // vpsubw ymm1, ymm0, yword [rdx + 2*rdi + 64]
LONG $0x54f9fdc5; WORD $0x607a // vpsubw ymm2, ymm0, yword [rdx + 2*rdi + 96]
LONG $0x4c7ffec5; WORD $0x4079 // vmovdqu yword [rcx + 2*rdi + 64], ymm1
LONG $0x547ffec5; WORD $0x6079 // vmovdqu yword [rcx + 2*rdi + 96], ymm2
LONG $0x40c78348 // add rdi, 64
LONG $0x02c08348 // add rax, 2
JNE LBB3_473
JMP LBB3_721
LBB3_474:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0xe0468d48 // lea rax, [rsi - 32]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x05e8c149 // shr r8, 5
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB3_728
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LBB3_476:
LONG $0x0cf9fdc5; BYTE $0x7a // vpsubw ymm1, ymm0, yword [rdx + 2*rdi]
LONG $0x54f9fdc5; WORD $0x207a // vpsubw ymm2, ymm0, yword [rdx + 2*rdi + 32]
LONG $0x0c7ffec5; BYTE $0x79 // vmovdqu yword [rcx + 2*rdi], ymm1
LONG $0x547ffec5; WORD $0x2079 // vmovdqu yword [rcx + 2*rdi + 32], ymm2
LONG $0x4cf9fdc5; WORD $0x407a // vpsubw ymm1, ymm0, yword [rdx + 2*rdi + 64]
LONG $0x54f9fdc5; WORD $0x607a // vpsubw ymm2, ymm0, yword [rdx + 2*rdi + 96]
LONG $0x4c7ffec5; WORD $0x4079 // vmovdqu yword [rcx + 2*rdi + 64], ymm1
LONG $0x547ffec5; WORD $0x6079 // vmovdqu yword [rcx + 2*rdi + 96], ymm2
LONG $0x40c78348 // add rdi, 64
LONG $0x02c08348 // add rax, 2
JNE LBB3_476
JMP LBB3_729
LBB3_477:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0xe0468d48 // lea rax, [rsi - 32]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x05e8c149 // shr r8, 5
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB3_736
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0x4d6ffdc5; BYTE $0x60 // vmovdqa ymm1, yword 96[rbp] /* [rip + .LCPI3_5] */
LBB3_479:
LONG $0x1475fdc5; BYTE $0x7a // vpcmpeqw ymm2, ymm0, yword [rdx + 2*rdi]
LONG $0xd1dfedc5 // vpandn ymm2, ymm2, ymm1
LONG $0x5c75fdc5; WORD $0x207a // vpcmpeqw ymm3, ymm0, yword [rdx + 2*rdi + 32]
LONG $0xd9dfe5c5 // vpandn ymm3, ymm3, ymm1
LONG $0x147ffec5; BYTE $0x79 // vmovdqu yword [rcx + 2*rdi], ymm2
LONG $0x5c7ffec5; WORD $0x2079 // vmovdqu yword [rcx + 2*rdi + 32], ymm3
LONG $0x5475fdc5; WORD $0x407a // vpcmpeqw ymm2, ymm0, yword [rdx + 2*rdi + 64]
LONG $0xd1dfedc5 // vpandn ymm2, ymm2, ymm1
LONG $0x5c75fdc5; WORD $0x607a // vpcmpeqw ymm3, ymm0, yword [rdx + 2*rdi + 96]
LONG $0xd9dfe5c5 // vpandn ymm3, ymm3, ymm1
LONG $0x547ffec5; WORD $0x4079 // vmovdqu yword [rcx + 2*rdi + 64], ymm2
LONG $0x5c7ffec5; WORD $0x6079 // vmovdqu yword [rcx + 2*rdi + 96], ymm3
LONG $0x40c78348 // add rdi, 64
LONG $0x02c08348 // add rax, 2
JNE LBB3_479
JMP LBB3_737
LBB3_480:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0xe0468d48 // lea rax, [rsi - 32]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x05e8c149 // shr r8, 5
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB3_744
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0xc976f5c5 // vpcmpeqd ymm1, ymm1, ymm1
LONG $0x556ffdc5; BYTE $0x60 // vmovdqa ymm2, yword 96[rbp] /* [rip + .LCPI3_5] */
LBB3_482:
LONG $0x1c6ffec5; BYTE $0x7a // vmovdqu ymm3, yword [rdx + 2*rdi]
LONG $0x646ffec5; WORD $0x207a // vmovdqu ymm4, yword [rdx + 2*rdi + 32]
LONG $0xe875e5c5 // vpcmpeqw ymm5, ymm3, ymm0
LONG $0xe9efd5c5 // vpxor ymm5, ymm5, ymm1
LONG $0xf075ddc5 // vpcmpeqw ymm6, ymm4, ymm0
LONG $0xf1efcdc5 // vpxor ymm6, ymm6, ymm1
LONG $0xdb65edc5 // vpcmpgtw ymm3, ymm2, ymm3
LONG $0xe465edc5 // vpcmpgtw ymm4, ymm2, ymm4
LONG $0x4c6de3c4; WORD $0x30dd // vpblendvb ymm3, ymm2, ymm5, ymm3
LONG $0x4c6de3c4; WORD $0x40e6 // vpblendvb ymm4, ymm2, ymm6, ymm4
LONG $0x1c7ffec5; BYTE $0x79 // vmovdqu yword [rcx + 2*rdi], ymm3
LONG $0x647ffec5; WORD $0x2079 // vmovdqu yword [rcx + 2*rdi + 32], ymm4
LONG $0x5c6ffec5; WORD $0x407a // vmovdqu ymm3, yword [rdx + 2*rdi + 64]
LONG $0x646ffec5; WORD $0x607a // vmovdqu ymm4, yword [rdx + 2*rdi + 96]
LONG $0xe875e5c5 // vpcmpeqw ymm5, ymm3, ymm0
LONG $0xe9efd5c5 // vpxor ymm5, ymm5, ymm1
LONG $0xf075ddc5 // vpcmpeqw ymm6, ymm4, ymm0
LONG $0xf1efcdc5 // vpxor ymm6, ymm6, ymm1
LONG $0xdb65edc5 // vpcmpgtw ymm3, ymm2, ymm3
LONG $0xe465edc5 // vpcmpgtw ymm4, ymm2, ymm4
LONG $0x4c6de3c4; WORD $0x30dd // vpblendvb ymm3, ymm2, ymm5, ymm3
LONG $0x4c6de3c4; WORD $0x40e6 // vpblendvb ymm4, ymm2, ymm6, ymm4
LONG $0x5c7ffec5; WORD $0x4079 // vmovdqu yword [rcx + 2*rdi + 64], ymm3
LONG $0x647ffec5; WORD $0x6079 // vmovdqu yword [rcx + 2*rdi + 96], ymm4
LONG $0x40c78348 // add rdi, 64
LONG $0x02c08348 // add rax, 2
JNE LBB3_482
JMP LBB3_745
LBB3_483:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0xe0468d48 // lea rax, [rsi - 32]
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x05efc148 // shr rdi, 5
LONG $0x01c78348 // add rdi, 1
WORD $0x8941; BYTE $0xf8 // mov r8d, edi
LONG $0x03e08341 // and r8d, 3
LONG $0x60f88348 // cmp rax, 96
JAE LBB3_592
WORD $0xc031 // xor eax, eax
JMP LBB3_594
LBB3_485:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0xf0468d48 // lea rax, [rsi - 16]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x04e8c149 // shr r8, 4
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB3_753
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
QUAD $0x000000a0856ffdc5 // vmovdqa ymm0, yword 160[rbp] /* [rip + .LCPI3_10] */
LBB3_487:
LONG $0x237de2c4; WORD $0x7a0c // vpmovsxwd ymm1, oword [rdx + 2*rdi]
LONG $0x237de2c4; WORD $0x7a54; BYTE $0x10 // vpmovsxwd ymm2, oword [rdx + 2*rdi + 16]
LONG $0xe272e5c5; BYTE $0x0f // vpsrad ymm3, ymm2, 15
LONG $0xe172ddc5; BYTE $0x0f // vpsrad ymm4, ymm1, 15
LONG $0xc9feddc5 // vpaddd ymm1, ymm4, ymm1
LONG $0xd2fee5c5 // vpaddd ymm2, ymm3, ymm2
LONG $0xd3efedc5 // vpxor ymm2, ymm2, ymm3
LONG $0xcceff5c5 // vpxor ymm1, ymm1, ymm4
LONG $0x0075e2c4; BYTE $0xc8 // vpshufb ymm1, ymm1, ymm0
LONG $0x00fde3c4; WORD $0xe8c9 // vpermq ymm1, ymm1, 232
LONG $0x006de2c4; BYTE $0xd0 // vpshufb ymm2, ymm2, ymm0
LONG $0x00fde3c4; WORD $0xe8d2 // vpermq ymm2, ymm2, 232
LONG $0x547ffac5; WORD $0x1079 // vmovdqu oword [rcx + 2*rdi + 16], xmm2
LONG $0x0c7ffac5; BYTE $0x79 // vmovdqu oword [rcx + 2*rdi], xmm1
LONG $0x237de2c4; WORD $0x7a4c; BYTE $0x20 // vpmovsxwd ymm1, oword [rdx + 2*rdi + 32]
LONG $0x237de2c4; WORD $0x7a54; BYTE $0x30 // vpmovsxwd ymm2, oword [rdx + 2*rdi + 48]
LONG $0xe272e5c5; BYTE $0x0f // vpsrad ymm3, ymm2, 15
LONG $0xe172ddc5; BYTE $0x0f // vpsrad ymm4, ymm1, 15
LONG $0xc9feddc5 // vpaddd ymm1, ymm4, ymm1
LONG $0xd2fee5c5 // vpaddd ymm2, ymm3, ymm2
LONG $0xd3efedc5 // vpxor ymm2, ymm2, ymm3
LONG $0xcceff5c5 // vpxor ymm1, ymm1, ymm4
LONG $0x0075e2c4; BYTE $0xc8 // vpshufb ymm1, ymm1, ymm0
LONG $0x00fde3c4; WORD $0xe8c9 // vpermq ymm1, ymm1, 232
LONG $0x006de2c4; BYTE $0xd0 // vpshufb ymm2, ymm2, ymm0
LONG $0x00fde3c4; WORD $0xe8d2 // vpermq ymm2, ymm2, 232
LONG $0x547ffac5; WORD $0x3079 // vmovdqu oword [rcx + 2*rdi + 48], xmm2
LONG $0x4c7ffac5; WORD $0x2079 // vmovdqu oword [rcx + 2*rdi + 32], xmm1
LONG $0x20c78348 // add rdi, 32
LONG $0x02c08348 // add rax, 2
JNE LBB3_487
JMP LBB3_754
LBB3_488:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0xe0468d48 // lea rax, [rsi - 32]
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x05efc148 // shr rdi, 5
LONG $0x01c78348 // add rdi, 1
WORD $0x8941; BYTE $0xf8 // mov r8d, edi
LONG $0x03e08341 // and r8d, 3
LONG $0x60f88348 // cmp rax, 96
JAE LBB3_602
WORD $0xc031 // xor eax, eax
JMP LBB3_604
LBB3_490:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0xf0468d48 // lea rax, [rsi - 16]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x04e8c149 // shr r8, 4
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB3_761
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
QUAD $0x000000a0856ffdc5 // vmovdqa ymm0, yword 160[rbp] /* [rip + .LCPI3_10] */
LBB3_492:
LONG $0x237de2c4; WORD $0x7a0c // vpmovsxwd ymm1, oword [rdx + 2*rdi]
LONG $0x237de2c4; WORD $0x7a54; BYTE $0x10 // vpmovsxwd ymm2, oword [rdx + 2*rdi + 16]
LONG $0xe272e5c5; BYTE $0x0f // vpsrad ymm3, ymm2, 15
LONG $0xe172ddc5; BYTE $0x0f // vpsrad ymm4, ymm1, 15
LONG $0xc9feddc5 // vpaddd ymm1, ymm4, ymm1
LONG $0xd2fee5c5 // vpaddd ymm2, ymm3, ymm2
LONG $0xd3efedc5 // vpxor ymm2, ymm2, ymm3
LONG $0xcceff5c5 // vpxor ymm1, ymm1, ymm4
LONG $0x0075e2c4; BYTE $0xc8 // vpshufb ymm1, ymm1, ymm0
LONG $0x00fde3c4; WORD $0xe8c9 // vpermq ymm1, ymm1, 232
LONG $0x006de2c4; BYTE $0xd0 // vpshufb ymm2, ymm2, ymm0
LONG $0x00fde3c4; WORD $0xe8d2 // vpermq ymm2, ymm2, 232
LONG $0x547ffac5; WORD $0x1079 // vmovdqu oword [rcx + 2*rdi + 16], xmm2
LONG $0x0c7ffac5; BYTE $0x79 // vmovdqu oword [rcx + 2*rdi], xmm1
LONG $0x237de2c4; WORD $0x7a4c; BYTE $0x20 // vpmovsxwd ymm1, oword [rdx + 2*rdi + 32]
LONG $0x237de2c4; WORD $0x7a54; BYTE $0x30 // vpmovsxwd ymm2, oword [rdx + 2*rdi + 48]
LONG $0xe272e5c5; BYTE $0x0f // vpsrad ymm3, ymm2, 15
LONG $0xe172ddc5; BYTE $0x0f // vpsrad ymm4, ymm1, 15
LONG $0xc9feddc5 // vpaddd ymm1, ymm4, ymm1
LONG $0xd2fee5c5 // vpaddd ymm2, ymm3, ymm2
LONG $0xd3efedc5 // vpxor ymm2, ymm2, ymm3
LONG $0xcceff5c5 // vpxor ymm1, ymm1, ymm4
LONG $0x0075e2c4; BYTE $0xc8 // vpshufb ymm1, ymm1, ymm0
LONG $0x00fde3c4; WORD $0xe8c9 // vpermq ymm1, ymm1, 232
LONG $0x006de2c4; BYTE $0xd0 // vpshufb ymm2, ymm2, ymm0
LONG $0x00fde3c4; WORD $0xe8d2 // vpermq ymm2, ymm2, 232
LONG $0x547ffac5; WORD $0x3079 // vmovdqu oword [rcx + 2*rdi + 48], xmm2
LONG $0x4c7ffac5; WORD $0x2079 // vmovdqu oword [rcx + 2*rdi + 32], xmm1
LONG $0x20c78348 // add rdi, 32
LONG $0x02c08348 // add rax, 2
JNE LBB3_492
JMP LBB3_762
LBB3_493:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0xf0468d48 // lea rax, [rsi - 16]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x04e8c149 // shr r8, 4
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB3_769
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LBB3_495:
LONG $0x0cfbfdc5; BYTE $0xfa // vpsubq ymm1, ymm0, yword [rdx + 8*rdi]
LONG $0x54fbfdc5; WORD $0x20fa // vpsubq ymm2, ymm0, yword [rdx + 8*rdi + 32]
LONG $0x5cfbfdc5; WORD $0x40fa // vpsubq ymm3, ymm0, yword [rdx + 8*rdi + 64]
LONG $0x64fbfdc5; WORD $0x60fa // vpsubq ymm4, ymm0, yword [rdx + 8*rdi + 96]
LONG $0x0c7ffec5; BYTE $0xf9 // vmovdqu yword [rcx + 8*rdi], ymm1
LONG $0x547ffec5; WORD $0x20f9 // vmovdqu yword [rcx + 8*rdi + 32], ymm2
LONG $0x5c7ffec5; WORD $0x40f9 // vmovdqu yword [rcx + 8*rdi + 64], ymm3
LONG $0x647ffec5; WORD $0x60f9 // vmovdqu yword [rcx + 8*rdi + 96], ymm4
QUAD $0x000080fa8cfbfdc5; BYTE $0x00 // vpsubq ymm1, ymm0, yword [rdx + 8*rdi + 128]
QUAD $0x0000a0fa94fbfdc5; BYTE $0x00 // vpsubq ymm2, ymm0, yword [rdx + 8*rdi + 160]
QUAD $0x0000c0fa9cfbfdc5; BYTE $0x00 // vpsubq ymm3, ymm0, yword [rdx + 8*rdi + 192]
QUAD $0x0000e0faa4fbfdc5; BYTE $0x00 // vpsubq ymm4, ymm0, yword [rdx + 8*rdi + 224]
QUAD $0x000080f98c7ffec5; BYTE $0x00 // vmovdqu yword [rcx + 8*rdi + 128], ymm1
QUAD $0x0000a0f9947ffec5; BYTE $0x00 // vmovdqu yword [rcx + 8*rdi + 160], ymm2
QUAD $0x0000c0f99c7ffec5; BYTE $0x00 // vmovdqu yword [rcx + 8*rdi + 192], ymm3
QUAD $0x0000e0f9a47ffec5; BYTE $0x00 // vmovdqu yword [rcx + 8*rdi + 224], ymm4
LONG $0x20c78348 // add rdi, 32
LONG $0x02c08348 // add rax, 2
JNE LBB3_495
JMP LBB3_770
LBB3_496:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0xe0468d48 // lea rax, [rsi - 32]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x05e8c149 // shr r8, 5
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB3_777
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LONG $0x187de2c4; WORD $0x4445 // vbroadcastss ymm0, dword 68[rbp] /* [rip + .LCPI3_7] */
LBB3_498:
LONG $0x0c57fdc5; BYTE $0xba // vxorpd ymm1, ymm0, yword [rdx + 4*rdi]
LONG $0x5457fdc5; WORD $0x20ba // vxorpd ymm2, ymm0, yword [rdx + 4*rdi + 32]
LONG $0x5c57fdc5; WORD $0x40ba // vxorpd ymm3, ymm0, yword [rdx + 4*rdi + 64]
LONG $0x6457fdc5; WORD $0x60ba // vxorpd ymm4, ymm0, yword [rdx + 4*rdi + 96]
LONG $0x0c11fdc5; BYTE $0xb9 // vmovupd yword [rcx + 4*rdi], ymm1
LONG $0x5411fdc5; WORD $0x20b9 // vmovupd yword [rcx + 4*rdi + 32], ymm2
LONG $0x5c11fdc5; WORD $0x40b9 // vmovupd yword [rcx + 4*rdi + 64], ymm3
LONG $0x6411fdc5; WORD $0x60b9 // vmovupd yword [rcx + 4*rdi + 96], ymm4
QUAD $0x000080ba8c57fdc5; BYTE $0x00 // vxorpd ymm1, ymm0, yword [rdx + 4*rdi + 128]
QUAD $0x0000a0ba9457fdc5; BYTE $0x00 // vxorpd ymm2, ymm0, yword [rdx + 4*rdi + 160]
QUAD $0x0000c0ba9c57fdc5; BYTE $0x00 // vxorpd ymm3, ymm0, yword [rdx + 4*rdi + 192]
QUAD $0x0000e0baa457fdc5; BYTE $0x00 // vxorpd ymm4, ymm0, yword [rdx + 4*rdi + 224]
QUAD $0x000080b98c11fdc5; BYTE $0x00 // vmovupd yword [rcx + 4*rdi + 128], ymm1
QUAD $0x0000a0b99411fdc5; BYTE $0x00 // vmovupd yword [rcx + 4*rdi + 160], ymm2
QUAD $0x0000c0b99c11fdc5; BYTE $0x00 // vmovupd yword [rcx + 4*rdi + 192], ymm3
QUAD $0x0000e0b9a411fdc5; BYTE $0x00 // vmovupd yword [rcx + 4*rdi + 224], ymm4
LONG $0x40c78348 // add rdi, 64
LONG $0x02c08348 // add rax, 2
JNE LBB3_498
JMP LBB3_778
LBB3_499:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0xf0468d48 // lea rax, [rsi - 16]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x04e8c149 // shr r8, 4
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB3_787
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LBB3_501:
LONG $0x0cfbfdc5; BYTE $0xfa // vpsubq ymm1, ymm0, yword [rdx + 8*rdi]
LONG $0x54fbfdc5; WORD $0x20fa // vpsubq ymm2, ymm0, yword [rdx + 8*rdi + 32]
LONG $0x5cfbfdc5; WORD $0x40fa // vpsubq ymm3, ymm0, yword [rdx + 8*rdi + 64]
LONG $0x64fbfdc5; WORD $0x60fa // vpsubq ymm4, ymm0, yword [rdx + 8*rdi + 96]
LONG $0x0c7ffec5; BYTE $0xf9 // vmovdqu yword [rcx + 8*rdi], ymm1
LONG $0x547ffec5; WORD $0x20f9 // vmovdqu yword [rcx + 8*rdi + 32], ymm2
LONG $0x5c7ffec5; WORD $0x40f9 // vmovdqu yword [rcx + 8*rdi + 64], ymm3
LONG $0x647ffec5; WORD $0x60f9 // vmovdqu yword [rcx + 8*rdi + 96], ymm4
QUAD $0x000080fa8cfbfdc5; BYTE $0x00 // vpsubq ymm1, ymm0, yword [rdx + 8*rdi + 128]
QUAD $0x0000a0fa94fbfdc5; BYTE $0x00 // vpsubq ymm2, ymm0, yword [rdx + 8*rdi + 160]
QUAD $0x0000c0fa9cfbfdc5; BYTE $0x00 // vpsubq ymm3, ymm0, yword [rdx + 8*rdi + 192]
QUAD $0x0000e0faa4fbfdc5; BYTE $0x00 // vpsubq ymm4, ymm0, yword [rdx + 8*rdi + 224]
QUAD $0x000080f98c7ffec5; BYTE $0x00 // vmovdqu yword [rcx + 8*rdi + 128], ymm1
QUAD $0x0000a0f9947ffec5; BYTE $0x00 // vmovdqu yword [rcx + 8*rdi + 160], ymm2
QUAD $0x0000c0f99c7ffec5; BYTE $0x00 // vmovdqu yword [rcx + 8*rdi + 192], ymm3
QUAD $0x0000e0f9a47ffec5; BYTE $0x00 // vmovdqu yword [rcx + 8*rdi + 224], ymm4
LONG $0x20c78348 // add rdi, 32
LONG $0x02c08348 // add rax, 2
JNE LBB3_501
JMP LBB3_788
LBB3_502:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0xe0468d48 // lea rax, [rsi - 32]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x05e8c149 // shr r8, 5
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB3_795
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LONG $0x187de2c4; WORD $0x4445 // vbroadcastss ymm0, dword 68[rbp] /* [rip + .LCPI3_7] */
LBB3_504:
LONG $0x0c57fdc5; BYTE $0xba // vxorpd ymm1, ymm0, yword [rdx + 4*rdi]
LONG $0x5457fdc5; WORD $0x20ba // vxorpd ymm2, ymm0, yword [rdx + 4*rdi + 32]
LONG $0x5c57fdc5; WORD $0x40ba // vxorpd ymm3, ymm0, yword [rdx + 4*rdi + 64]
LONG $0x6457fdc5; WORD $0x60ba // vxorpd ymm4, ymm0, yword [rdx + 4*rdi + 96]
LONG $0x0c11fdc5; BYTE $0xb9 // vmovupd yword [rcx + 4*rdi], ymm1
LONG $0x5411fdc5; WORD $0x20b9 // vmovupd yword [rcx + 4*rdi + 32], ymm2
LONG $0x5c11fdc5; WORD $0x40b9 // vmovupd yword [rcx + 4*rdi + 64], ymm3
LONG $0x6411fdc5; WORD $0x60b9 // vmovupd yword [rcx + 4*rdi + 96], ymm4
QUAD $0x000080ba8c57fdc5; BYTE $0x00 // vxorpd ymm1, ymm0, yword [rdx + 4*rdi + 128]
QUAD $0x0000a0ba9457fdc5; BYTE $0x00 // vxorpd ymm2, ymm0, yword [rdx + 4*rdi + 160]
QUAD $0x0000c0ba9c57fdc5; BYTE $0x00 // vxorpd ymm3, ymm0, yword [rdx + 4*rdi + 192]
QUAD $0x0000e0baa457fdc5; BYTE $0x00 // vxorpd ymm4, ymm0, yword [rdx + 4*rdi + 224]
QUAD $0x000080b98c11fdc5; BYTE $0x00 // vmovupd yword [rcx + 4*rdi + 128], ymm1
QUAD $0x0000a0b99411fdc5; BYTE $0x00 // vmovupd yword [rcx + 4*rdi + 160], ymm2
QUAD $0x0000c0b99c11fdc5; BYTE $0x00 // vmovupd yword [rcx + 4*rdi + 192], ymm3
QUAD $0x0000e0b9a411fdc5; BYTE $0x00 // vmovupd yword [rcx + 4*rdi + 224], ymm4
LONG $0x40c78348 // add rdi, 64
LONG $0x02c08348 // add rax, 2
JNE LBB3_504
JMP LBB3_796
LBB3_505:
WORD $0x8944; BYTE $0xde // mov esi, r11d
WORD $0xe683; BYTE $0xf0 // and esi, -16
WORD $0xff31 // xor edi, edi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0xc976f5c5 // vpcmpeqd ymm1, ymm1, ymm1
LONG $0x597de2c4; WORD $0x1055 // vpbroadcastq ymm2, qword 16[rbp] /* [rip + .LCPI3_4] */
LBB3_506:
LONG $0x1c6ffec5; BYTE $0xfa // vmovdqu ymm3, yword [rdx + 8*rdi]
LONG $0x646ffec5; WORD $0x20fa // vmovdqu ymm4, yword [rdx + 8*rdi + 32]
LONG $0x6c6ffec5; WORD $0x40fa // vmovdqu ymm5, yword [rdx + 8*rdi + 64]
LONG $0x746ffec5; WORD $0x60fa // vmovdqu ymm6, yword [rdx + 8*rdi + 96]
LONG $0x2965e2c4; BYTE $0xf8 // vpcmpeqq ymm7, ymm3, ymm0
LONG $0xf9efc5c5 // vpxor ymm7, ymm7, ymm1
LONG $0x295d62c4; BYTE $0xc0 // vpcmpeqq ymm8, ymm4, ymm0
LONG $0xc1ef3dc5 // vpxor ymm8, ymm8, ymm1
LONG $0x295562c4; BYTE $0xc8 // vpcmpeqq ymm9, ymm5, ymm0
LONG $0xc9ef35c5 // vpxor ymm9, ymm9, ymm1
LONG $0x294d62c4; BYTE $0xd0 // vpcmpeqq ymm10, ymm6, ymm0
LONG $0xd1ef2dc5 // vpxor ymm10, ymm10, ymm1
LONG $0x376de2c4; BYTE $0xdb // vpcmpgtq ymm3, ymm2, ymm3
LONG $0x376de2c4; BYTE $0xe4 // vpcmpgtq ymm4, ymm2, ymm4
LONG $0x376de2c4; BYTE $0xed // vpcmpgtq ymm5, ymm2, ymm5
LONG $0x376de2c4; BYTE $0xf6 // vpcmpgtq ymm6, ymm2, ymm6
LONG $0x4b6de3c4; WORD $0x30df // vblendvpd ymm3, ymm2, ymm7, ymm3
LONG $0x4b6dc3c4; WORD $0x40e0 // vblendvpd ymm4, ymm2, ymm8, ymm4
LONG $0x4b6dc3c4; WORD $0x50e9 // vblendvpd ymm5, ymm2, ymm9, ymm5
LONG $0x4b6dc3c4; WORD $0x60f2 // vblendvpd ymm6, ymm2, ymm10, ymm6
LONG $0x1c11fdc5; BYTE $0xf9 // vmovupd yword [rcx + 8*rdi], ymm3
LONG $0x6411fdc5; WORD $0x20f9 // vmovupd yword [rcx + 8*rdi + 32], ymm4
LONG $0x6c11fdc5; WORD $0x40f9 // vmovupd yword [rcx + 8*rdi + 64], ymm5
LONG $0x7411fdc5; WORD $0x60f9 // vmovupd yword [rcx + 8*rdi + 96], ymm6
LONG $0x10c78348 // add rdi, 16
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB3_506
WORD $0x394c; BYTE $0xde // cmp rsi, r11
JE LBB3_865
JMP LBB3_508
LBB3_513:
WORD $0xc689 // mov esi, eax
WORD $0xe683; BYTE $0xe0 // and esi, -32
WORD $0xff31 // xor edi, edi
LONG $0xc057f8c5 // vxorps xmm0, xmm0, xmm0
LONG $0x587de2c4; WORD $0x404d // vpbroadcastd ymm1, dword 64[rbp] /* [rip + .LCPI3_3] */
LBB3_514:
LONG $0x146ffec5; BYTE $0xba // vmovdqu ymm2, yword [rdx + 4*rdi]
LONG $0x5c6ffec5; WORD $0x20ba // vmovdqu ymm3, yword [rdx + 4*rdi + 32]
LONG $0x646ffec5; WORD $0x40ba // vmovdqu ymm4, yword [rdx + 4*rdi + 64]
LONG $0x6c6ffec5; WORD $0x60ba // vmovdqu ymm5, yword [rdx + 4*rdi + 96]
LONG $0xe272cdc5; BYTE $0x1f // vpsrad ymm6, ymm2, 31
LONG $0xf1ebcdc5 // vpor ymm6, ymm6, ymm1
LONG $0xe372c5c5; BYTE $0x1f // vpsrad ymm7, ymm3, 31
LONG $0xf9ebc5c5 // vpor ymm7, ymm7, ymm1
LONG $0xe472bdc5; BYTE $0x1f // vpsrad ymm8, ymm4, 31
LONG $0xc1eb3dc5 // vpor ymm8, ymm8, ymm1
LONG $0xe572b5c5; BYTE $0x1f // vpsrad ymm9, ymm5, 31
LONG $0xc9eb35c5 // vpor ymm9, ymm9, ymm1
LONG $0xf65bfcc5 // vcvtdq2ps ymm6, ymm6
LONG $0xff5bfcc5 // vcvtdq2ps ymm7, ymm7
LONG $0x5b7c41c4; BYTE $0xc0 // vcvtdq2ps ymm8, ymm8
LONG $0x5b7c41c4; BYTE $0xc9 // vcvtdq2ps ymm9, ymm9
LONG $0xd0c2ecc5; BYTE $0x04 // vcmpneqps ymm2, ymm2, ymm0
LONG $0xd654ecc5 // vandps ymm2, ymm2, ymm6
LONG $0xd8c2e4c5; BYTE $0x04 // vcmpneqps ymm3, ymm3, ymm0
LONG $0xdf54e4c5 // vandps ymm3, ymm3, ymm7
LONG $0xe0c2dcc5; BYTE $0x04 // vcmpneqps ymm4, ymm4, ymm0
LONG $0xe454bcc5 // vandps ymm4, ymm8, ymm4
LONG $0xe8c2d4c5; BYTE $0x04 // vcmpneqps ymm5, ymm5, ymm0
LONG $0xed54b4c5 // vandps ymm5, ymm9, ymm5
LONG $0x1411fcc5; BYTE $0xb9 // vmovups yword [rcx + 4*rdi], ymm2
LONG $0x5c11fcc5; WORD $0x20b9 // vmovups yword [rcx + 4*rdi + 32], ymm3
LONG $0x6411fcc5; WORD $0x40b9 // vmovups yword [rcx + 4*rdi + 64], ymm4
LONG $0x6c11fcc5; WORD $0x60b9 // vmovups yword [rcx + 4*rdi + 96], ymm5
LONG $0x20c78348 // add rdi, 32
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB3_514
WORD $0x3948; BYTE $0xc6 // cmp rsi, rax
JE LBB3_865
JMP LBB3_516
LBB3_521:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
WORD $0xff31 // xor edi, edi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LBB3_522:
LONG $0x0c6ffec5; BYTE $0xfa // vmovdqu ymm1, yword [rdx + 8*rdi]
LONG $0x546ffec5; WORD $0x20fa // vmovdqu ymm2, yword [rdx + 8*rdi + 32]
LONG $0x5c6ffec5; WORD $0x40fa // vmovdqu ymm3, yword [rdx + 8*rdi + 64]
LONG $0xe1fbfdc5 // vpsubq ymm4, ymm0, ymm1
LONG $0x4b75e3c4; WORD $0x10cc // vblendvpd ymm1, ymm1, ymm4, ymm1
LONG $0x646ffec5; WORD $0x60fa // vmovdqu ymm4, yword [rdx + 8*rdi + 96]
LONG $0xeafbfdc5 // vpsubq ymm5, ymm0, ymm2
LONG $0x4b6de3c4; WORD $0x20d5 // vblendvpd ymm2, ymm2, ymm5, ymm2
LONG $0xebfbfdc5 // vpsubq ymm5, ymm0, ymm3
LONG $0x4b65e3c4; WORD $0x30dd // vblendvpd ymm3, ymm3, ymm5, ymm3
LONG $0xecfbfdc5 // vpsubq ymm5, ymm0, ymm4
LONG $0x4b5de3c4; WORD $0x40e5 // vblendvpd ymm4, ymm4, ymm5, ymm4
LONG $0x0c11fdc5; BYTE $0xf9 // vmovupd yword [rcx + 8*rdi], ymm1
LONG $0x5411fdc5; WORD $0x20f9 // vmovupd yword [rcx + 8*rdi + 32], ymm2
LONG $0x5c11fdc5; WORD $0x40f9 // vmovupd yword [rcx + 8*rdi + 64], ymm3
LONG $0x6411fdc5; WORD $0x60f9 // vmovupd yword [rcx + 8*rdi + 96], ymm4
LONG $0x10c78348 // add rdi, 16
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB3_522
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB3_865
JMP LBB3_524
LBB3_528:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0xe0468d48 // lea rax, [rsi - 32]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x05e8c149 // shr r8, 5
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB3_805
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LONG $0x187de2c4; WORD $0x4845 // vbroadcastss ymm0, dword 72[rbp] /* [rip + .LCPI3_9] */
LBB3_530:
LONG $0x0c54fdc5; BYTE $0xba // vandpd ymm1, ymm0, yword [rdx + 4*rdi]
LONG $0x5454fdc5; WORD $0x20ba // vandpd ymm2, ymm0, yword [rdx + 4*rdi + 32]
LONG $0x5c54fdc5; WORD $0x40ba // vandpd ymm3, ymm0, yword [rdx + 4*rdi + 64]
LONG $0x6454fdc5; WORD $0x60ba // vandpd ymm4, ymm0, yword [rdx + 4*rdi + 96]
LONG $0x0c11fdc5; BYTE $0xb9 // vmovupd yword [rcx + 4*rdi], ymm1
LONG $0x5411fdc5; WORD $0x20b9 // vmovupd yword [rcx + 4*rdi + 32], ymm2
LONG $0x5c11fdc5; WORD $0x40b9 // vmovupd yword [rcx + 4*rdi + 64], ymm3
LONG $0x6411fdc5; WORD $0x60b9 // vmovupd yword [rcx + 4*rdi + 96], ymm4
QUAD $0x000080ba8c54fdc5; BYTE $0x00 // vandpd ymm1, ymm0, yword [rdx + 4*rdi + 128]
QUAD $0x0000a0ba9454fdc5; BYTE $0x00 // vandpd ymm2, ymm0, yword [rdx + 4*rdi + 160]
QUAD $0x0000c0ba9c54fdc5; BYTE $0x00 // vandpd ymm3, ymm0, yword [rdx + 4*rdi + 192]
QUAD $0x0000e0baa454fdc5; BYTE $0x00 // vandpd ymm4, ymm0, yword [rdx + 4*rdi + 224]
QUAD $0x000080b98c11fdc5; BYTE $0x00 // vmovupd yword [rcx + 4*rdi + 128], ymm1
QUAD $0x0000a0b99411fdc5; BYTE $0x00 // vmovupd yword [rcx + 4*rdi + 160], ymm2
QUAD $0x0000c0b99c11fdc5; BYTE $0x00 // vmovupd yword [rcx + 4*rdi + 192], ymm3
QUAD $0x0000e0b9a411fdc5; BYTE $0x00 // vmovupd yword [rcx + 4*rdi + 224], ymm4
LONG $0x40c78348 // add rdi, 64
LONG $0x02c08348 // add rax, 2
JNE LBB3_530
JMP LBB3_806
LBB3_531:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
WORD $0xff31 // xor edi, edi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LBB3_532:
LONG $0x0c6ffec5; BYTE $0xfa // vmovdqu ymm1, yword [rdx + 8*rdi]
LONG $0x546ffec5; WORD $0x20fa // vmovdqu ymm2, yword [rdx + 8*rdi + 32]
LONG $0x5c6ffec5; WORD $0x40fa // vmovdqu ymm3, yword [rdx + 8*rdi + 64]
LONG $0xe1fbfdc5 // vpsubq ymm4, ymm0, ymm1
LONG $0x4b75e3c4; WORD $0x10cc // vblendvpd ymm1, ymm1, ymm4, ymm1
LONG $0x646ffec5; WORD $0x60fa // vmovdqu ymm4, yword [rdx + 8*rdi + 96]
LONG $0xeafbfdc5 // vpsubq ymm5, ymm0, ymm2
LONG $0x4b6de3c4; WORD $0x20d5 // vblendvpd ymm2, ymm2, ymm5, ymm2
LONG $0xebfbfdc5 // vpsubq ymm5, ymm0, ymm3
LONG $0x4b65e3c4; WORD $0x30dd // vblendvpd ymm3, ymm3, ymm5, ymm3
LONG $0xecfbfdc5 // vpsubq ymm5, ymm0, ymm4
LONG $0x4b5de3c4; WORD $0x40e5 // vblendvpd ymm4, ymm4, ymm5, ymm4
LONG $0x0c11fdc5; BYTE $0xf9 // vmovupd yword [rcx + 8*rdi], ymm1
LONG $0x5411fdc5; WORD $0x20f9 // vmovupd yword [rcx + 8*rdi + 32], ymm2
LONG $0x5c11fdc5; WORD $0x40f9 // vmovupd yword [rcx + 8*rdi + 64], ymm3
LONG $0x6411fdc5; WORD $0x60f9 // vmovupd yword [rcx + 8*rdi + 96], ymm4
LONG $0x10c78348 // add rdi, 16
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB3_532
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB3_865
JMP LBB3_534
LBB3_538:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0xe0468d48 // lea rax, [rsi - 32]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x05e8c149 // shr r8, 5
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB3_815
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LONG $0x187de2c4; WORD $0x4845 // vbroadcastss ymm0, dword 72[rbp] /* [rip + .LCPI3_9] */
LBB3_540:
LONG $0x0c54fdc5; BYTE $0xba // vandpd ymm1, ymm0, yword [rdx + 4*rdi]
LONG $0x5454fdc5; WORD $0x20ba // vandpd ymm2, ymm0, yword [rdx + 4*rdi + 32]
LONG $0x5c54fdc5; WORD $0x40ba // vandpd ymm3, ymm0, yword [rdx + 4*rdi + 64]
LONG $0x6454fdc5; WORD $0x60ba // vandpd ymm4, ymm0, yword [rdx + 4*rdi + 96]
LONG $0x0c11fdc5; BYTE $0xb9 // vmovupd yword [rcx + 4*rdi], ymm1
LONG $0x5411fdc5; WORD $0x20b9 // vmovupd yword [rcx + 4*rdi + 32], ymm2
LONG $0x5c11fdc5; WORD $0x40b9 // vmovupd yword [rcx + 4*rdi + 64], ymm3
LONG $0x6411fdc5; WORD $0x60b9 // vmovupd yword [rcx + 4*rdi + 96], ymm4
QUAD $0x000080ba8c54fdc5; BYTE $0x00 // vandpd ymm1, ymm0, yword [rdx + 4*rdi + 128]
QUAD $0x0000a0ba9454fdc5; BYTE $0x00 // vandpd ymm2, ymm0, yword [rdx + 4*rdi + 160]
QUAD $0x0000c0ba9c54fdc5; BYTE $0x00 // vandpd ymm3, ymm0, yword [rdx + 4*rdi + 192]
QUAD $0x0000e0baa454fdc5; BYTE $0x00 // vandpd ymm4, ymm0, yword [rdx + 4*rdi + 224]
QUAD $0x000080b98c11fdc5; BYTE $0x00 // vmovupd yword [rcx + 4*rdi + 128], ymm1
QUAD $0x0000a0b99411fdc5; BYTE $0x00 // vmovupd yword [rcx + 4*rdi + 160], ymm2
QUAD $0x0000c0b99c11fdc5; BYTE $0x00 // vmovupd yword [rcx + 4*rdi + 192], ymm3
QUAD $0x0000e0b9a411fdc5; BYTE $0x00 // vmovupd yword [rcx + 4*rdi + 224], ymm4
LONG $0x40c78348 // add rdi, 64
LONG $0x02c08348 // add rax, 2
JNE LBB3_540
JMP LBB3_816
LBB3_548:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0x80 // and esi, -128
LONG $0x80468d48 // lea rax, [rsi - 128]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x07e8c149 // shr r8, 7
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB3_825
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LBB3_550:
LONG $0x0cf8fdc5; BYTE $0x3a // vpsubb ymm1, ymm0, yword [rdx + rdi]
LONG $0x54f8fdc5; WORD $0x203a // vpsubb ymm2, ymm0, yword [rdx + rdi + 32]
LONG $0x5cf8fdc5; WORD $0x403a // vpsubb ymm3, ymm0, yword [rdx + rdi + 64]
LONG $0x64f8fdc5; WORD $0x603a // vpsubb ymm4, ymm0, yword [rdx + rdi + 96]
LONG $0x0c7ffec5; BYTE $0x39 // vmovdqu yword [rcx + rdi], ymm1
LONG $0x547ffec5; WORD $0x2039 // vmovdqu yword [rcx + rdi + 32], ymm2
LONG $0x5c7ffec5; WORD $0x4039 // vmovdqu yword [rcx + rdi + 64], ymm3
LONG $0x647ffec5; WORD $0x6039 // vmovdqu yword [rcx + rdi + 96], ymm4
QUAD $0x0000803a8cf8fdc5; BYTE $0x00 // vpsubb ymm1, ymm0, yword [rdx + rdi + 128]
QUAD $0x0000a03a94f8fdc5; BYTE $0x00 // vpsubb ymm2, ymm0, yword [rdx + rdi + 160]
QUAD $0x0000c03a9cf8fdc5; BYTE $0x00 // vpsubb ymm3, ymm0, yword [rdx + rdi + 192]
QUAD $0x0000e03aa4f8fdc5; BYTE $0x00 // vpsubb ymm4, ymm0, yword [rdx + rdi + 224]
QUAD $0x000080398c7ffec5; BYTE $0x00 // vmovdqu yword [rcx + rdi + 128], ymm1
QUAD $0x0000a039947ffec5; BYTE $0x00 // vmovdqu yword [rcx + rdi + 160], ymm2
QUAD $0x0000c0399c7ffec5; BYTE $0x00 // vmovdqu yword [rcx + rdi + 192], ymm3
QUAD $0x0000e039a47ffec5; BYTE $0x00 // vmovdqu yword [rcx + rdi + 224], ymm4
LONG $0x00c78148; WORD $0x0001; BYTE $0x00 // add rdi, 256
LONG $0x02c08348 // add rax, 2
JNE LBB3_550
JMP LBB3_826
LBB3_551:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0x80 // and esi, -128
WORD $0xff31 // xor edi, edi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
QUAD $0x000000808d6ffdc5 // vmovdqa ymm1, yword 128[rbp] /* [rip + .LCPI3_6] */
LBB3_552:
LONG $0x1474fdc5; BYTE $0x3a // vpcmpeqb ymm2, ymm0, yword [rdx + rdi]
LONG $0xd1dfedc5 // vpandn ymm2, ymm2, ymm1
LONG $0x5c74fdc5; WORD $0x203a // vpcmpeqb ymm3, ymm0, yword [rdx + rdi + 32]
LONG $0xd9dfe5c5 // vpandn ymm3, ymm3, ymm1
LONG $0x6474fdc5; WORD $0x403a // vpcmpeqb ymm4, ymm0, yword [rdx + rdi + 64]
LONG $0x6c74fdc5; WORD $0x603a // vpcmpeqb ymm5, ymm0, yword [rdx + rdi + 96]
LONG $0xe1dfddc5 // vpandn ymm4, ymm4, ymm1
LONG $0xe9dfd5c5 // vpandn ymm5, ymm5, ymm1
LONG $0x147ffec5; BYTE $0x39 // vmovdqu yword [rcx + rdi], ymm2
LONG $0x5c7ffec5; WORD $0x2039 // vmovdqu yword [rcx + rdi + 32], ymm3
LONG $0x647ffec5; WORD $0x4039 // vmovdqu yword [rcx + rdi + 64], ymm4
LONG $0x6c7ffec5; WORD $0x6039 // vmovdqu yword [rcx + rdi + 96], ymm5
LONG $0x80ef8348 // sub rdi, -128
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB3_552
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_865
JMP LBB3_554
LBB3_558:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0x80 // and esi, -128
LONG $0x80468d48 // lea rax, [rsi - 128]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x07e8c149 // shr r8, 7
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB3_833
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB3_560:
LONG $0x0410fcc5; BYTE $0x3a // vmovups ymm0, yword [rdx + rdi]
LONG $0x4c10fcc5; WORD $0x203a // vmovups ymm1, yword [rdx + rdi + 32]
LONG $0x5410fcc5; WORD $0x403a // vmovups ymm2, yword [rdx + rdi + 64]
LONG $0x5c10fcc5; WORD $0x603a // vmovups ymm3, yword [rdx + rdi + 96]
LONG $0x0411fcc5; BYTE $0x39 // vmovups yword [rcx + rdi], ymm0
LONG $0x4c11fcc5; WORD $0x2039 // vmovups yword [rcx + rdi + 32], ymm1
LONG $0x5411fcc5; WORD $0x4039 // vmovups yword [rcx + rdi + 64], ymm2
LONG $0x5c11fcc5; WORD $0x6039 // vmovups yword [rcx + rdi + 96], ymm3
QUAD $0x0000803a8410fdc5; BYTE $0x00 // vmovupd ymm0, yword [rdx + rdi + 128]
QUAD $0x0000a03a8c10fdc5; BYTE $0x00 // vmovupd ymm1, yword [rdx + rdi + 160]
QUAD $0x0000c03a9410fdc5; BYTE $0x00 // vmovupd ymm2, yword [rdx + rdi + 192]
QUAD $0x0000e03a9c10fdc5; BYTE $0x00 // vmovupd ymm3, yword [rdx + rdi + 224]
QUAD $0x000080398411fdc5; BYTE $0x00 // vmovupd yword [rcx + rdi + 128], ymm0
QUAD $0x0000a0398c11fdc5; BYTE $0x00 // vmovupd yword [rcx + rdi + 160], ymm1
QUAD $0x0000c0399411fdc5; BYTE $0x00 // vmovupd yword [rcx + rdi + 192], ymm2
QUAD $0x0000e0399c11fdc5; BYTE $0x00 // vmovupd yword [rcx + rdi + 224], ymm3
LONG $0x00c78148; WORD $0x0001; BYTE $0x00 // add rdi, 256
LONG $0x02c08348 // add rax, 2
JNE LBB3_560
JMP LBB3_834
LBB3_561:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0x80 // and esi, -128
LONG $0x80468d48 // lea rax, [rsi - 128]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x07e8c149 // shr r8, 7
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB3_841
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB3_563:
LONG $0x0410fcc5; BYTE $0x3a // vmovups ymm0, yword [rdx + rdi]
LONG $0x4c10fcc5; WORD $0x203a // vmovups ymm1, yword [rdx + rdi + 32]
LONG $0x5410fcc5; WORD $0x403a // vmovups ymm2, yword [rdx + rdi + 64]
LONG $0x5c10fcc5; WORD $0x603a // vmovups ymm3, yword [rdx + rdi + 96]
LONG $0x0411fcc5; BYTE $0x39 // vmovups yword [rcx + rdi], ymm0
LONG $0x4c11fcc5; WORD $0x2039 // vmovups yword [rcx + rdi + 32], ymm1
LONG $0x5411fcc5; WORD $0x4039 // vmovups yword [rcx + rdi + 64], ymm2
LONG $0x5c11fcc5; WORD $0x6039 // vmovups yword [rcx + rdi + 96], ymm3
QUAD $0x0000803a8410fdc5; BYTE $0x00 // vmovupd ymm0, yword [rdx + rdi + 128]
QUAD $0x0000a03a8c10fdc5; BYTE $0x00 // vmovupd ymm1, yword [rdx + rdi + 160]
QUAD $0x0000c03a9410fdc5; BYTE $0x00 // vmovupd ymm2, yword [rdx + rdi + 192]
QUAD $0x0000e03a9c10fdc5; BYTE $0x00 // vmovupd ymm3, yword [rdx + rdi + 224]
QUAD $0x000080398411fdc5; BYTE $0x00 // vmovupd yword [rcx + rdi + 128], ymm0
QUAD $0x0000a0398c11fdc5; BYTE $0x00 // vmovupd yword [rcx + rdi + 160], ymm1
QUAD $0x0000c0399411fdc5; BYTE $0x00 // vmovupd yword [rcx + rdi + 192], ymm2
QUAD $0x0000e0399c11fdc5; BYTE $0x00 // vmovupd yword [rcx + rdi + 224], ymm3
LONG $0x00c78148; WORD $0x0001; BYTE $0x00 // add rdi, 256
LONG $0x02c08348 // add rax, 2
JNE LBB3_563
JMP LBB3_842
LBB3_564:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0xe0468d48 // lea rax, [rsi - 32]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x05e8c149 // shr r8, 5
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB3_849
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LBB3_566:
LONG $0x0cfafdc5; BYTE $0xba // vpsubd ymm1, ymm0, yword [rdx + 4*rdi]
LONG $0x54fafdc5; WORD $0x20ba // vpsubd ymm2, ymm0, yword [rdx + 4*rdi + 32]
LONG $0x5cfafdc5; WORD $0x40ba // vpsubd ymm3, ymm0, yword [rdx + 4*rdi + 64]
LONG $0x64fafdc5; WORD $0x60ba // vpsubd ymm4, ymm0, yword [rdx + 4*rdi + 96]
LONG $0x0c7ffec5; BYTE $0xb9 // vmovdqu yword [rcx + 4*rdi], ymm1
LONG $0x547ffec5; WORD $0x20b9 // vmovdqu yword [rcx + 4*rdi + 32], ymm2
LONG $0x5c7ffec5; WORD $0x40b9 // vmovdqu yword [rcx + 4*rdi + 64], ymm3
LONG $0x647ffec5; WORD $0x60b9 // vmovdqu yword [rcx + 4*rdi + 96], ymm4
QUAD $0x000080ba8cfafdc5; BYTE $0x00 // vpsubd ymm1, ymm0, yword [rdx + 4*rdi + 128]
QUAD $0x0000a0ba94fafdc5; BYTE $0x00 // vpsubd ymm2, ymm0, yword [rdx + 4*rdi + 160]
QUAD $0x0000c0ba9cfafdc5; BYTE $0x00 // vpsubd ymm3, ymm0, yword [rdx + 4*rdi + 192]
QUAD $0x0000e0baa4fafdc5; BYTE $0x00 // vpsubd ymm4, ymm0, yword [rdx + 4*rdi + 224]
QUAD $0x000080b98c7ffec5; BYTE $0x00 // vmovdqu yword [rcx + 4*rdi + 128], ymm1
QUAD $0x0000a0b9947ffec5; BYTE $0x00 // vmovdqu yword [rcx + 4*rdi + 160], ymm2
QUAD $0x0000c0b99c7ffec5; BYTE $0x00 // vmovdqu yword [rcx + 4*rdi + 192], ymm3
QUAD $0x0000e0b9a47ffec5; BYTE $0x00 // vmovdqu yword [rcx + 4*rdi + 224], ymm4
LONG $0x40c78348 // add rdi, 64
LONG $0x02c08348 // add rax, 2
JNE LBB3_566
JMP LBB3_850
LBB3_567:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0xe0468d48 // lea rax, [rsi - 32]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x05e8c149 // shr r8, 5
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB3_857
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LBB3_569:
LONG $0x0cfafdc5; BYTE $0xba // vpsubd ymm1, ymm0, yword [rdx + 4*rdi]
LONG $0x54fafdc5; WORD $0x20ba // vpsubd ymm2, ymm0, yword [rdx + 4*rdi + 32]
LONG $0x5cfafdc5; WORD $0x40ba // vpsubd ymm3, ymm0, yword [rdx + 4*rdi + 64]
LONG $0x64fafdc5; WORD $0x60ba // vpsubd ymm4, ymm0, yword [rdx + 4*rdi + 96]
LONG $0x0c7ffec5; BYTE $0xb9 // vmovdqu yword [rcx + 4*rdi], ymm1
LONG $0x547ffec5; WORD $0x20b9 // vmovdqu yword [rcx + 4*rdi + 32], ymm2
LONG $0x5c7ffec5; WORD $0x40b9 // vmovdqu yword [rcx + 4*rdi + 64], ymm3
LONG $0x647ffec5; WORD $0x60b9 // vmovdqu yword [rcx + 4*rdi + 96], ymm4
QUAD $0x000080ba8cfafdc5; BYTE $0x00 // vpsubd ymm1, ymm0, yword [rdx + 4*rdi + 128]
QUAD $0x0000a0ba94fafdc5; BYTE $0x00 // vpsubd ymm2, ymm0, yword [rdx + 4*rdi + 160]
QUAD $0x0000c0ba9cfafdc5; BYTE $0x00 // vpsubd ymm3, ymm0, yword [rdx + 4*rdi + 192]
QUAD $0x0000e0baa4fafdc5; BYTE $0x00 // vpsubd ymm4, ymm0, yword [rdx + 4*rdi + 224]
QUAD $0x000080b98c7ffec5; BYTE $0x00 // vmovdqu yword [rcx + 4*rdi + 128], ymm1
QUAD $0x0000a0b9947ffec5; BYTE $0x00 // vmovdqu yword [rcx + 4*rdi + 160], ymm2
QUAD $0x0000c0b99c7ffec5; BYTE $0x00 // vmovdqu yword [rcx + 4*rdi + 192], ymm3
QUAD $0x0000e0b9a47ffec5; BYTE $0x00 // vmovdqu yword [rcx + 4*rdi + 224], ymm4
LONG $0x40c78348 // add rdi, 64
LONG $0x02c08348 // add rax, 2
JNE LBB3_569
JMP LBB3_858
LBB3_570:
WORD $0x8944; BYTE $0xde // mov esi, r11d
WORD $0xe683; BYTE $0xe0 // and esi, -32
WORD $0xff31 // xor edi, edi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0xc976f5c5 // vpcmpeqd ymm1, ymm1, ymm1
LONG $0x587de2c4; WORD $0x4055 // vpbroadcastd ymm2, dword 64[rbp] /* [rip + .LCPI3_3] */
LBB3_571:
LONG $0x1c6ffec5; BYTE $0xba // vmovdqu ymm3, yword [rdx + 4*rdi]
LONG $0x646ffec5; WORD $0x20ba // vmovdqu ymm4, yword [rdx + 4*rdi + 32]
LONG $0x6c6ffec5; WORD $0x40ba // vmovdqu ymm5, yword [rdx + 4*rdi + 64]
LONG $0x746ffec5; WORD $0x60ba // vmovdqu ymm6, yword [rdx + 4*rdi + 96]
LONG $0xf876e5c5 // vpcmpeqd ymm7, ymm3, ymm0
LONG $0xf9efc5c5 // vpxor ymm7, ymm7, ymm1
LONG $0xc0765dc5 // vpcmpeqd ymm8, ymm4, ymm0
LONG $0xc1ef3dc5 // vpxor ymm8, ymm8, ymm1
LONG $0xc87655c5 // vpcmpeqd ymm9, ymm5, ymm0
LONG $0xc9ef35c5 // vpxor ymm9, ymm9, ymm1
LONG $0xd0764dc5 // vpcmpeqd ymm10, ymm6, ymm0
LONG $0xd1ef2dc5 // vpxor ymm10, ymm10, ymm1
LONG $0xdb66edc5 // vpcmpgtd ymm3, ymm2, ymm3
LONG $0xe466edc5 // vpcmpgtd ymm4, ymm2, ymm4
LONG $0xed66edc5 // vpcmpgtd ymm5, ymm2, ymm5
LONG $0xf666edc5 // vpcmpgtd ymm6, ymm2, ymm6
LONG $0x4a6de3c4; WORD $0x30df // vblendvps ymm3, ymm2, ymm7, ymm3
LONG $0x4a6dc3c4; WORD $0x40e0 // vblendvps ymm4, ymm2, ymm8, ymm4
LONG $0x4a6dc3c4; WORD $0x50e9 // vblendvps ymm5, ymm2, ymm9, ymm5
LONG $0x4a6dc3c4; WORD $0x60f2 // vblendvps ymm6, ymm2, ymm10, ymm6
LONG $0x1c11fcc5; BYTE $0xb9 // vmovups yword [rcx + 4*rdi], ymm3
LONG $0x6411fcc5; WORD $0x20b9 // vmovups yword [rcx + 4*rdi + 32], ymm4
LONG $0x6c11fcc5; WORD $0x40b9 // vmovups yword [rcx + 4*rdi + 64], ymm5
LONG $0x7411fcc5; WORD $0x60b9 // vmovups yword [rcx + 4*rdi + 96], ymm6
LONG $0x20c78348 // add rdi, 32
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB3_571
WORD $0x394c; BYTE $0xde // cmp rsi, r11
JE LBB3_865
JMP LBB3_573
LBB3_578:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
WORD $0xff31 // xor edi, edi
LBB3_579:
LONG $0x1e7de2c4; WORD $0xba04 // vpabsd ymm0, yword [rdx + 4*rdi]
LONG $0x1e7de2c4; WORD $0xba4c; BYTE $0x20 // vpabsd ymm1, yword [rdx + 4*rdi + 32]
LONG $0x1e7de2c4; WORD $0xba54; BYTE $0x40 // vpabsd ymm2, yword [rdx + 4*rdi + 64]
LONG $0x1e7de2c4; WORD $0xba5c; BYTE $0x60 // vpabsd ymm3, yword [rdx + 4*rdi + 96]
LONG $0x047ffec5; BYTE $0xb9 // vmovdqu yword [rcx + 4*rdi], ymm0
LONG $0x4c7ffec5; WORD $0x20b9 // vmovdqu yword [rcx + 4*rdi + 32], ymm1
LONG $0x547ffec5; WORD $0x40b9 // vmovdqu yword [rcx + 4*rdi + 64], ymm2
LONG $0x5c7ffec5; WORD $0x60b9 // vmovdqu yword [rcx + 4*rdi + 96], ymm3
LONG $0x20c78348 // add rdi, 32
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB3_579
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB3_865
JMP LBB3_581
LBB3_585:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
WORD $0xff31 // xor edi, edi
LBB3_586:
LONG $0x1e7de2c4; WORD $0xba04 // vpabsd ymm0, yword [rdx + 4*rdi]
LONG $0x1e7de2c4; WORD $0xba4c; BYTE $0x20 // vpabsd ymm1, yword [rdx + 4*rdi + 32]
LONG $0x1e7de2c4; WORD $0xba54; BYTE $0x40 // vpabsd ymm2, yword [rdx + 4*rdi + 64]
LONG $0x1e7de2c4; WORD $0xba5c; BYTE $0x60 // vpabsd ymm3, yword [rdx + 4*rdi + 96]
LONG $0x047ffec5; BYTE $0xb9 // vmovdqu yword [rcx + 4*rdi], ymm0
LONG $0x4c7ffec5; WORD $0x20b9 // vmovdqu yword [rcx + 4*rdi + 32], ymm1
LONG $0x547ffec5; WORD $0x40b9 // vmovdqu yword [rcx + 4*rdi + 64], ymm2
LONG $0x5c7ffec5; WORD $0x60b9 // vmovdqu yword [rcx + 4*rdi + 96], ymm3
LONG $0x20c78348 // add rdi, 32
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB3_586
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB3_865
JMP LBB3_588
LBB3_367:
LONG $0xfce78348 // and rdi, -4
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xc031 // xor eax, eax
LONG $0xc057f9c5 // vxorpd xmm0, xmm0, xmm0
LBB3_368:
LONG $0x0411fdc5; BYTE $0x81 // vmovupd yword [rcx + 4*rax], ymm0
LONG $0x4411fdc5; WORD $0x2081 // vmovupd yword [rcx + 4*rax + 32], ymm0
LONG $0x4411fdc5; WORD $0x4081 // vmovupd yword [rcx + 4*rax + 64], ymm0
LONG $0x4411fdc5; WORD $0x6081 // vmovupd yword [rcx + 4*rax + 96], ymm0
QUAD $0x000080818411fdc5; BYTE $0x00 // vmovupd yword [rcx + 4*rax + 128], ymm0
QUAD $0x0000a0818411fdc5; BYTE $0x00 // vmovupd yword [rcx + 4*rax + 160], ymm0
QUAD $0x0000c0818411fdc5; BYTE $0x00 // vmovupd yword [rcx + 4*rax + 192], ymm0
QUAD $0x0000e0818411fdc5; BYTE $0x00 // vmovupd yword [rcx + 4*rax + 224], ymm0
QUAD $0x000100818411fdc5; BYTE $0x00 // vmovupd yword [rcx + 4*rax + 256], ymm0
QUAD $0x000120818411fdc5; BYTE $0x00 // vmovupd yword [rcx + 4*rax + 288], ymm0
QUAD $0x000140818411fdc5; BYTE $0x00 // vmovupd yword [rcx + 4*rax + 320], ymm0
QUAD $0x000160818411fdc5; BYTE $0x00 // vmovupd yword [rcx + 4*rax + 352], ymm0
QUAD $0x000180818411fdc5; BYTE $0x00 // vmovupd yword [rcx + 4*rax + 384], ymm0
QUAD $0x0001a0818411fdc5; BYTE $0x00 // vmovupd yword [rcx + 4*rax + 416], ymm0
QUAD $0x0001c0818411fdc5; BYTE $0x00 // vmovupd yword [rcx + 4*rax + 448], ymm0
QUAD $0x0001e0818411fdc5; BYTE $0x00 // vmovupd yword [rcx + 4*rax + 480], ymm0
LONG $0x80e88348 // sub rax, -128
LONG $0x04c78348 // add rdi, 4
JNE LBB3_368
LBB3_369:
WORD $0x8548; BYTE $0xf6 // test rsi, rsi
JE LBB3_372
LONG $0x81048d48 // lea rax, [rcx + 4*rax]
LONG $0x60c08348 // add rax, 96
WORD $0xf748; BYTE $0xde // neg rsi
LONG $0xc057f9c5 // vxorpd xmm0, xmm0, xmm0
LBB3_371:
LONG $0x4011fdc5; BYTE $0xa0 // vmovupd yword [rax - 96], ymm0
LONG $0x4011fdc5; BYTE $0xc0 // vmovupd yword [rax - 64], ymm0
LONG $0x4011fdc5; BYTE $0xe0 // vmovupd yword [rax - 32], ymm0
LONG $0x0011fdc5 // vmovupd yword [rax], ymm0
LONG $0x80e88348 // sub rax, -128
WORD $0xff48; BYTE $0xc6 // inc rsi
JNE LBB3_371
LBB3_372:
WORD $0x394c; BYTE $0xca // cmp rdx, r9
JE LBB3_865
LBB3_373:
LONG $0x009104c7; WORD $0x0000; BYTE $0x00 // mov dword [rcx + 4*rdx], 0
LONG $0x01c28348 // add rdx, 1
WORD $0x3949; BYTE $0xd1 // cmp r9, rdx
JNE LBB3_373
JMP LBB3_865
LBB3_438:
LONG $0xfce78348 // and rdi, -4
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xc031 // xor eax, eax
LONG $0xc057f9c5 // vxorpd xmm0, xmm0, xmm0
LBB3_439:
LONG $0x0411fdc5; BYTE $0xc1 // vmovupd yword [rcx + 8*rax], ymm0
LONG $0x4411fdc5; WORD $0x20c1 // vmovupd yword [rcx + 8*rax + 32], ymm0
LONG $0x4411fdc5; WORD $0x40c1 // vmovupd yword [rcx + 8*rax + 64], ymm0
LONG $0x4411fdc5; WORD $0x60c1 // vmovupd yword [rcx + 8*rax + 96], ymm0
QUAD $0x000080c18411fdc5; BYTE $0x00 // vmovupd yword [rcx + 8*rax + 128], ymm0
QUAD $0x0000a0c18411fdc5; BYTE $0x00 // vmovupd yword [rcx + 8*rax + 160], ymm0
QUAD $0x0000c0c18411fdc5; BYTE $0x00 // vmovupd yword [rcx + 8*rax + 192], ymm0
QUAD $0x0000e0c18411fdc5; BYTE $0x00 // vmovupd yword [rcx + 8*rax + 224], ymm0
QUAD $0x000100c18411fdc5; BYTE $0x00 // vmovupd yword [rcx + 8*rax + 256], ymm0
QUAD $0x000120c18411fdc5; BYTE $0x00 // vmovupd yword [rcx + 8*rax + 288], ymm0
QUAD $0x000140c18411fdc5; BYTE $0x00 // vmovupd yword [rcx + 8*rax + 320], ymm0
QUAD $0x000160c18411fdc5; BYTE $0x00 // vmovupd yword [rcx + 8*rax + 352], ymm0
QUAD $0x000180c18411fdc5; BYTE $0x00 // vmovupd yword [rcx + 8*rax + 384], ymm0
QUAD $0x0001a0c18411fdc5; BYTE $0x00 // vmovupd yword [rcx + 8*rax + 416], ymm0
QUAD $0x0001c0c18411fdc5; BYTE $0x00 // vmovupd yword [rcx + 8*rax + 448], ymm0
QUAD $0x0001e0c18411fdc5; BYTE $0x00 // vmovupd yword [rcx + 8*rax + 480], ymm0
LONG $0x40c08348 // add rax, 64
LONG $0x04c78348 // add rdi, 4
JNE LBB3_439
LBB3_440:
WORD $0x8548; BYTE $0xf6 // test rsi, rsi
JE LBB3_443
LONG $0xc1048d48 // lea rax, [rcx + 8*rax]
LONG $0x60c08348 // add rax, 96
WORD $0xf748; BYTE $0xde // neg rsi
LONG $0xc057f9c5 // vxorpd xmm0, xmm0, xmm0
LBB3_442:
LONG $0x4011fdc5; BYTE $0xa0 // vmovupd yword [rax - 96], ymm0
LONG $0x4011fdc5; BYTE $0xc0 // vmovupd yword [rax - 64], ymm0
LONG $0x4011fdc5; BYTE $0xe0 // vmovupd yword [rax - 32], ymm0
LONG $0x0011fdc5 // vmovupd yword [rax], ymm0
LONG $0x80e88348 // sub rax, -128
WORD $0xff48; BYTE $0xc6 // inc rsi
JNE LBB3_442
LBB3_443:
WORD $0x394c; BYTE $0xca // cmp rdx, r9
JE LBB3_865
LBB3_444:
QUAD $0x00000000d104c748 // mov qword [rcx + 8*rdx], 0
LONG $0x01c28348 // add rdx, 1
WORD $0x3949; BYTE $0xd1 // cmp r9, rdx
JNE LBB3_444
JMP LBB3_865
LBB3_461:
LONG $0xfce78348 // and rdi, -4
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xc031 // xor eax, eax
LONG $0xc057f9c5 // vxorpd xmm0, xmm0, xmm0
LBB3_462:
LONG $0x0411fdc5; BYTE $0x41 // vmovupd yword [rcx + 2*rax], ymm0
LONG $0x4411fdc5; WORD $0x2041 // vmovupd yword [rcx + 2*rax + 32], ymm0
LONG $0x4411fdc5; WORD $0x4041 // vmovupd yword [rcx + 2*rax + 64], ymm0
LONG $0x4411fdc5; WORD $0x6041 // vmovupd yword [rcx + 2*rax + 96], ymm0
QUAD $0x000080418411fdc5; BYTE $0x00 // vmovupd yword [rcx + 2*rax + 128], ymm0
QUAD $0x0000a0418411fdc5; BYTE $0x00 // vmovupd yword [rcx + 2*rax + 160], ymm0
QUAD $0x0000c0418411fdc5; BYTE $0x00 // vmovupd yword [rcx + 2*rax + 192], ymm0
QUAD $0x0000e0418411fdc5; BYTE $0x00 // vmovupd yword [rcx + 2*rax + 224], ymm0
QUAD $0x000100418411fdc5; BYTE $0x00 // vmovupd yword [rcx + 2*rax + 256], ymm0
QUAD $0x000120418411fdc5; BYTE $0x00 // vmovupd yword [rcx + 2*rax + 288], ymm0
QUAD $0x000140418411fdc5; BYTE $0x00 // vmovupd yword [rcx + 2*rax + 320], ymm0
QUAD $0x000160418411fdc5; BYTE $0x00 // vmovupd yword [rcx + 2*rax + 352], ymm0
QUAD $0x000180418411fdc5; BYTE $0x00 // vmovupd yword [rcx + 2*rax + 384], ymm0
QUAD $0x0001a0418411fdc5; BYTE $0x00 // vmovupd yword [rcx + 2*rax + 416], ymm0
QUAD $0x0001c0418411fdc5; BYTE $0x00 // vmovupd yword [rcx + 2*rax + 448], ymm0
QUAD $0x0001e0418411fdc5; BYTE $0x00 // vmovupd yword [rcx + 2*rax + 480], ymm0
LONG $0x01000548; WORD $0x0000 // add rax, 256
LONG $0x04c78348 // add rdi, 4
JNE LBB3_462
LBB3_463:
WORD $0x8548; BYTE $0xf6 // test rsi, rsi
JE LBB3_466
LONG $0x41048d48 // lea rax, [rcx + 2*rax]
LONG $0x60c08348 // add rax, 96
WORD $0xf748; BYTE $0xde // neg rsi
LONG $0xc057f9c5 // vxorpd xmm0, xmm0, xmm0
LBB3_465:
LONG $0x4011fdc5; BYTE $0xa0 // vmovupd yword [rax - 96], ymm0
LONG $0x4011fdc5; BYTE $0xc0 // vmovupd yword [rax - 64], ymm0
LONG $0x4011fdc5; BYTE $0xe0 // vmovupd yword [rax - 32], ymm0
LONG $0x0011fdc5 // vmovupd yword [rax], ymm0
LONG $0x80e88348 // sub rax, -128
WORD $0xff48; BYTE $0xc6 // inc rsi
JNE LBB3_465
LBB3_466:
WORD $0x394c; BYTE $0xca // cmp rdx, r9
JE LBB3_865
LBB3_467:
LONG $0x5104c766; WORD $0x0000 // mov word [rcx + 2*rdx], 0
LONG $0x01c28348 // add rdx, 1
WORD $0x3949; BYTE $0xd1 // cmp r9, rdx
JNE LBB3_467
JMP LBB3_865
LBB3_541:
LONG $0xfce78348 // and rdi, -4
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xc031 // xor eax, eax
LONG $0xc057f9c5 // vxorpd xmm0, xmm0, xmm0
LBB3_542:
LONG $0x0411fdc5; BYTE $0x01 // vmovupd yword [rcx + rax], ymm0
LONG $0x4411fdc5; WORD $0x2001 // vmovupd yword [rcx + rax + 32], ymm0
LONG $0x4411fdc5; WORD $0x4001 // vmovupd yword [rcx + rax + 64], ymm0
LONG $0x4411fdc5; WORD $0x6001 // vmovupd yword [rcx + rax + 96], ymm0
QUAD $0x000080018411fdc5; BYTE $0x00 // vmovupd yword [rcx + rax + 128], ymm0
QUAD $0x0000a0018411fdc5; BYTE $0x00 // vmovupd yword [rcx + rax + 160], ymm0
QUAD $0x0000c0018411fdc5; BYTE $0x00 // vmovupd yword [rcx + rax + 192], ymm0
QUAD $0x0000e0018411fdc5; BYTE $0x00 // vmovupd yword [rcx + rax + 224], ymm0
QUAD $0x000100018411fdc5; BYTE $0x00 // vmovupd yword [rcx + rax + 256], ymm0
QUAD $0x000120018411fdc5; BYTE $0x00 // vmovupd yword [rcx + rax + 288], ymm0
QUAD $0x000140018411fdc5; BYTE $0x00 // vmovupd yword [rcx + rax + 320], ymm0
QUAD $0x000160018411fdc5; BYTE $0x00 // vmovupd yword [rcx + rax + 352], ymm0
QUAD $0x000180018411fdc5; BYTE $0x00 // vmovupd yword [rcx + rax + 384], ymm0
QUAD $0x0001a0018411fdc5; BYTE $0x00 // vmovupd yword [rcx + rax + 416], ymm0
QUAD $0x0001c0018411fdc5; BYTE $0x00 // vmovupd yword [rcx + rax + 448], ymm0
QUAD $0x0001e0018411fdc5; BYTE $0x00 // vmovupd yword [rcx + rax + 480], ymm0
LONG $0x02000548; WORD $0x0000 // add rax, 512
LONG $0x04c78348 // add rdi, 4
JNE LBB3_542
LBB3_543:
WORD $0x8548; BYTE $0xf6 // test rsi, rsi
JE LBB3_546
WORD $0x0148; BYTE $0xc8 // add rax, rcx
LONG $0x60c08348 // add rax, 96
WORD $0xf748; BYTE $0xde // neg rsi
LONG $0xc057f9c5 // vxorpd xmm0, xmm0, xmm0
LBB3_545:
LONG $0x4011fdc5; BYTE $0xa0 // vmovupd yword [rax - 96], ymm0
LONG $0x4011fdc5; BYTE $0xc0 // vmovupd yword [rax - 64], ymm0
LONG $0x4011fdc5; BYTE $0xe0 // vmovupd yword [rax - 32], ymm0
LONG $0x0011fdc5 // vmovupd yword [rax], ymm0
LONG $0x80e88348 // sub rax, -128
WORD $0xff48; BYTE $0xc6 // inc rsi
JNE LBB3_545
LBB3_546:
WORD $0x394c; BYTE $0xca // cmp rdx, r9
JE LBB3_865
LBB3_547:
LONG $0x001104c6 // mov byte [rcx + rdx], 0
LONG $0x01c28348 // add rdx, 1
WORD $0x3949; BYTE $0xd1 // cmp r9, rdx
JNE LBB3_547
LBB3_865:
VZEROUPPER
RET
LBB3_592:
LONG $0xfce78348 // and rdi, -4
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xc031 // xor eax, eax
LBB3_593:
LONG $0x0410fcc5; BYTE $0x42 // vmovups ymm0, yword [rdx + 2*rax]
LONG $0x4c10fcc5; WORD $0x2042 // vmovups ymm1, yword [rdx + 2*rax + 32]
LONG $0x0411fcc5; BYTE $0x41 // vmovups yword [rcx + 2*rax], ymm0
LONG $0x4c11fcc5; WORD $0x2041 // vmovups yword [rcx + 2*rax + 32], ymm1
LONG $0x4410fcc5; WORD $0x4042 // vmovups ymm0, yword [rdx + 2*rax + 64]
LONG $0x4c10fcc5; WORD $0x6042 // vmovups ymm1, yword [rdx + 2*rax + 96]
LONG $0x4411fcc5; WORD $0x4041 // vmovups yword [rcx + 2*rax + 64], ymm0
LONG $0x4c11fcc5; WORD $0x6041 // vmovups yword [rcx + 2*rax + 96], ymm1
QUAD $0x000080428410fcc5; BYTE $0x00 // vmovups ymm0, yword [rdx + 2*rax + 128]
QUAD $0x0000a0428c10fcc5; BYTE $0x00 // vmovups ymm1, yword [rdx + 2*rax + 160]
QUAD $0x000080418411fcc5; BYTE $0x00 // vmovups yword [rcx + 2*rax + 128], ymm0
QUAD $0x0000a0418c11fcc5; BYTE $0x00 // vmovups yword [rcx + 2*rax + 160], ymm1
QUAD $0x0000c0428410fdc5; BYTE $0x00 // vmovupd ymm0, yword [rdx + 2*rax + 192]
QUAD $0x0000e0428c10fdc5; BYTE $0x00 // vmovupd ymm1, yword [rdx + 2*rax + 224]
QUAD $0x0000c0418411fdc5; BYTE $0x00 // vmovupd yword [rcx + 2*rax + 192], ymm0
QUAD $0x0000e0418c11fdc5; BYTE $0x00 // vmovupd yword [rcx + 2*rax + 224], ymm1
LONG $0x80e88348 // sub rax, -128
LONG $0x04c78348 // add rdi, 4
JNE LBB3_593
LBB3_594:
WORD $0x854d; BYTE $0xc0 // test r8, r8
JE LBB3_597
WORD $0x0148; BYTE $0xc0 // add rax, rax
LONG $0x20c08348 // add rax, 32
WORD $0xf749; BYTE $0xd8 // neg r8
LBB3_596:
LONG $0x4410fdc5; WORD $0xe002 // vmovupd ymm0, yword [rdx + rax - 32]
LONG $0x0c10fdc5; BYTE $0x02 // vmovupd ymm1, yword [rdx + rax]
LONG $0x4411fdc5; WORD $0xe001 // vmovupd yword [rcx + rax - 32], ymm0
LONG $0x0c11fdc5; BYTE $0x01 // vmovupd yword [rcx + rax], ymm1
LONG $0x40c08348 // add rax, 64
WORD $0xff49; BYTE $0xc0 // inc r8
JNE LBB3_596
LBB3_597:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_865
JMP LBB3_598
LBB3_602:
LONG $0xfce78348 // and rdi, -4
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xc031 // xor eax, eax
LBB3_603:
LONG $0x0410fcc5; BYTE $0x42 // vmovups ymm0, yword [rdx + 2*rax]
LONG $0x4c10fcc5; WORD $0x2042 // vmovups ymm1, yword [rdx + 2*rax + 32]
LONG $0x0411fcc5; BYTE $0x41 // vmovups yword [rcx + 2*rax], ymm0
LONG $0x4c11fcc5; WORD $0x2041 // vmovups yword [rcx + 2*rax + 32], ymm1
LONG $0x4410fcc5; WORD $0x4042 // vmovups ymm0, yword [rdx + 2*rax + 64]
LONG $0x4c10fcc5; WORD $0x6042 // vmovups ymm1, yword [rdx + 2*rax + 96]
LONG $0x4411fcc5; WORD $0x4041 // vmovups yword [rcx + 2*rax + 64], ymm0
LONG $0x4c11fcc5; WORD $0x6041 // vmovups yword [rcx + 2*rax + 96], ymm1
QUAD $0x000080428410fcc5; BYTE $0x00 // vmovups ymm0, yword [rdx + 2*rax + 128]
QUAD $0x0000a0428c10fcc5; BYTE $0x00 // vmovups ymm1, yword [rdx + 2*rax + 160]
QUAD $0x000080418411fcc5; BYTE $0x00 // vmovups yword [rcx + 2*rax + 128], ymm0
QUAD $0x0000a0418c11fcc5; BYTE $0x00 // vmovups yword [rcx + 2*rax + 160], ymm1
QUAD $0x0000c0428410fdc5; BYTE $0x00 // vmovupd ymm0, yword [rdx + 2*rax + 192]
QUAD $0x0000e0428c10fdc5; BYTE $0x00 // vmovupd ymm1, yword [rdx + 2*rax + 224]
QUAD $0x0000c0418411fdc5; BYTE $0x00 // vmovupd yword [rcx + 2*rax + 192], ymm0
QUAD $0x0000e0418c11fdc5; BYTE $0x00 // vmovupd yword [rcx + 2*rax + 224], ymm1
LONG $0x80e88348 // sub rax, -128
LONG $0x04c78348 // add rdi, 4
JNE LBB3_603
LBB3_604:
WORD $0x854d; BYTE $0xc0 // test r8, r8
JE LBB3_607
WORD $0x0148; BYTE $0xc0 // add rax, rax
LONG $0x20c08348 // add rax, 32
WORD $0xf749; BYTE $0xd8 // neg r8
LBB3_606:
LONG $0x4410fdc5; WORD $0xe002 // vmovupd ymm0, yword [rdx + rax - 32]
LONG $0x0c10fdc5; BYTE $0x02 // vmovupd ymm1, yword [rdx + rax]
LONG $0x4411fdc5; WORD $0xe001 // vmovupd yword [rcx + rax - 32], ymm0
LONG $0x0c11fdc5; BYTE $0x01 // vmovupd yword [rcx + rax], ymm1
LONG $0x40c08348 // add rax, 64
WORD $0xff49; BYTE $0xc0 // inc r8
JNE LBB3_606
LBB3_607:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_865
JMP LBB3_608
LBB3_612:
WORD $0xff31 // xor edi, edi
LBB3_613:
LONG $0x01c0f641 // test r8b, 1
JE LBB3_615
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0x0cfafdc5; BYTE $0xba // vpsubd ymm1, ymm0, yword [rdx + 4*rdi]
LONG $0x54fafdc5; WORD $0x20ba // vpsubd ymm2, ymm0, yword [rdx + 4*rdi + 32]
LONG $0x5cfafdc5; WORD $0x40ba // vpsubd ymm3, ymm0, yword [rdx + 4*rdi + 64]
LONG $0x44fafdc5; WORD $0x60ba // vpsubd ymm0, ymm0, yword [rdx + 4*rdi + 96]
LONG $0x0c7ffec5; BYTE $0xb9 // vmovdqu yword [rcx + 4*rdi], ymm1
LONG $0x547ffec5; WORD $0x20b9 // vmovdqu yword [rcx + 4*rdi + 32], ymm2
LONG $0x5c7ffec5; WORD $0x40b9 // vmovdqu yword [rcx + 4*rdi + 64], ymm3
LONG $0x447ffec5; WORD $0x60b9 // vmovdqu yword [rcx + 4*rdi + 96], ymm0
LBB3_615:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_865
JMP LBB3_616
LBB3_620:
WORD $0xff31 // xor edi, edi
LBB3_621:
LONG $0x01c0f641 // test r8b, 1
JE LBB3_623
LONG $0x0410fdc5; BYTE $0xba // vmovupd ymm0, yword [rdx + 4*rdi]
LONG $0x4c10fdc5; WORD $0x20ba // vmovupd ymm1, yword [rdx + 4*rdi + 32]
LONG $0x5410fdc5; WORD $0x40ba // vmovupd ymm2, yword [rdx + 4*rdi + 64]
LONG $0x5c10fdc5; WORD $0x60ba // vmovupd ymm3, yword [rdx + 4*rdi + 96]
LONG $0x0411fdc5; BYTE $0xb9 // vmovupd yword [rcx + 4*rdi], ymm0
LONG $0x4c11fdc5; WORD $0x20b9 // vmovupd yword [rcx + 4*rdi + 32], ymm1
LONG $0x5411fdc5; WORD $0x40b9 // vmovupd yword [rcx + 4*rdi + 64], ymm2
LONG $0x5c11fdc5; WORD $0x60b9 // vmovupd yword [rcx + 4*rdi + 96], ymm3
LBB3_623:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_865
JMP LBB3_624
LBB3_628:
WORD $0xff31 // xor edi, edi
LBB3_629:
LONG $0x01c0f641 // test r8b, 1
JE LBB3_631
LONG $0x0410fdc5; BYTE $0xba // vmovupd ymm0, yword [rdx + 4*rdi]
LONG $0x4c10fdc5; WORD $0x20ba // vmovupd ymm1, yword [rdx + 4*rdi + 32]
LONG $0x5410fdc5; WORD $0x40ba // vmovupd ymm2, yword [rdx + 4*rdi + 64]
LONG $0x5c10fdc5; WORD $0x60ba // vmovupd ymm3, yword [rdx + 4*rdi + 96]
LONG $0x0411fdc5; BYTE $0xb9 // vmovupd yword [rcx + 4*rdi], ymm0
LONG $0x4c11fdc5; WORD $0x20b9 // vmovupd yword [rcx + 4*rdi + 32], ymm1
LONG $0x5411fdc5; WORD $0x40b9 // vmovupd yword [rcx + 4*rdi + 64], ymm2
LONG $0x5c11fdc5; WORD $0x60b9 // vmovupd yword [rcx + 4*rdi + 96], ymm3
LBB3_631:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_865
JMP LBB3_632
LBB3_636:
WORD $0xff31 // xor edi, edi
LBB3_637:
LONG $0x01c0f641 // test r8b, 1
JE LBB3_639
LONG $0x197de2c4; WORD $0x0045 // vbroadcastsd ymm0, qword 0[rbp] /* [rip + .LCPI3_0] */
LONG $0x0c57fdc5; BYTE $0xfa // vxorpd ymm1, ymm0, yword [rdx + 8*rdi]
LONG $0x5457fdc5; WORD $0x20fa // vxorpd ymm2, ymm0, yword [rdx + 8*rdi + 32]
LONG $0x5c57fdc5; WORD $0x40fa // vxorpd ymm3, ymm0, yword [rdx + 8*rdi + 64]
LONG $0x4457fdc5; WORD $0x60fa // vxorpd ymm0, ymm0, yword [rdx + 8*rdi + 96]
LONG $0x0c11fdc5; BYTE $0xf9 // vmovupd yword [rcx + 8*rdi], ymm1
LONG $0x5411fdc5; WORD $0x20f9 // vmovupd yword [rcx + 8*rdi + 32], ymm2
LONG $0x5c11fdc5; WORD $0x40f9 // vmovupd yword [rcx + 8*rdi + 64], ymm3
LONG $0x4411fdc5; WORD $0x60f9 // vmovupd yword [rcx + 8*rdi + 96], ymm0
LBB3_639:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_865
JMP LBB3_640
LBB3_646:
WORD $0xff31 // xor edi, edi
LBB3_647:
LONG $0x01c0f641 // test r8b, 1
JE LBB3_649
LONG $0x197de2c4; WORD $0x0045 // vbroadcastsd ymm0, qword 0[rbp] /* [rip + .LCPI3_0] */
LONG $0x0c57fdc5; BYTE $0xfa // vxorpd ymm1, ymm0, yword [rdx + 8*rdi]
LONG $0x5457fdc5; WORD $0x20fa // vxorpd ymm2, ymm0, yword [rdx + 8*rdi + 32]
LONG $0x5c57fdc5; WORD $0x40fa // vxorpd ymm3, ymm0, yword [rdx + 8*rdi + 64]
LONG $0x4457fdc5; WORD $0x60fa // vxorpd ymm0, ymm0, yword [rdx + 8*rdi + 96]
LONG $0x0c11fdc5; BYTE $0xf9 // vmovupd yword [rcx + 8*rdi], ymm1
LONG $0x5411fdc5; WORD $0x20f9 // vmovupd yword [rcx + 8*rdi + 32], ymm2
LONG $0x5c11fdc5; WORD $0x40f9 // vmovupd yword [rcx + 8*rdi + 64], ymm3
LONG $0x4411fdc5; WORD $0x60f9 // vmovupd yword [rcx + 8*rdi + 96], ymm0
LBB3_649:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_865
JMP LBB3_650
LBB3_656:
WORD $0xff31 // xor edi, edi
LBB3_657:
LONG $0x01c0f641 // test r8b, 1
JE LBB3_659
LONG $0x197de2c4; WORD $0x1845 // vbroadcastsd ymm0, qword 24[rbp] /* [rip + .LCPI3_8] */
LONG $0x0c54fdc5; BYTE $0xfa // vandpd ymm1, ymm0, yword [rdx + 8*rdi]
LONG $0x5454fdc5; WORD $0x20fa // vandpd ymm2, ymm0, yword [rdx + 8*rdi + 32]
LONG $0x5c54fdc5; WORD $0x40fa // vandpd ymm3, ymm0, yword [rdx + 8*rdi + 64]
LONG $0x4454fdc5; WORD $0x60fa // vandpd ymm0, ymm0, yword [rdx + 8*rdi + 96]
LONG $0x0c11fdc5; BYTE $0xf9 // vmovupd yword [rcx + 8*rdi], ymm1
LONG $0x5411fdc5; WORD $0x20f9 // vmovupd yword [rcx + 8*rdi + 32], ymm2
LONG $0x5c11fdc5; WORD $0x40f9 // vmovupd yword [rcx + 8*rdi + 64], ymm3
LONG $0x4411fdc5; WORD $0x60f9 // vmovupd yword [rcx + 8*rdi + 96], ymm0
LBB3_659:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_865
JMP LBB3_660
LBB3_664:
WORD $0xff31 // xor edi, edi
LBB3_665:
LONG $0x01c0f641 // test r8b, 1
JE LBB3_667
LONG $0x197de2c4; WORD $0x1845 // vbroadcastsd ymm0, qword 24[rbp] /* [rip + .LCPI3_8] */
LONG $0x0c54fdc5; BYTE $0xfa // vandpd ymm1, ymm0, yword [rdx + 8*rdi]
LONG $0x5454fdc5; WORD $0x20fa // vandpd ymm2, ymm0, yword [rdx + 8*rdi + 32]
LONG $0x5c54fdc5; WORD $0x40fa // vandpd ymm3, ymm0, yword [rdx + 8*rdi + 64]
LONG $0x4454fdc5; WORD $0x60fa // vandpd ymm0, ymm0, yword [rdx + 8*rdi + 96]
LONG $0x0c11fdc5; BYTE $0xf9 // vmovupd yword [rcx + 8*rdi], ymm1
LONG $0x5411fdc5; WORD $0x20f9 // vmovupd yword [rcx + 8*rdi + 32], ymm2
LONG $0x5c11fdc5; WORD $0x40f9 // vmovupd yword [rcx + 8*rdi + 64], ymm3
LONG $0x4411fdc5; WORD $0x60f9 // vmovupd yword [rcx + 8*rdi + 96], ymm0
LBB3_667:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_865
JMP LBB3_668
LBB3_672:
WORD $0xff31 // xor edi, edi
LBB3_673:
LONG $0x01c0f641 // test r8b, 1
JE LBB3_675
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0x0cf8fdc5; BYTE $0x3a // vpsubb ymm1, ymm0, yword [rdx + rdi]
LONG $0x54f8fdc5; WORD $0x203a // vpsubb ymm2, ymm0, yword [rdx + rdi + 32]
LONG $0x5cf8fdc5; WORD $0x403a // vpsubb ymm3, ymm0, yword [rdx + rdi + 64]
LONG $0x44f8fdc5; WORD $0x603a // vpsubb ymm0, ymm0, yword [rdx + rdi + 96]
LONG $0x0c7ffec5; BYTE $0x39 // vmovdqu yword [rcx + rdi], ymm1
LONG $0x547ffec5; WORD $0x2039 // vmovdqu yword [rcx + rdi + 32], ymm2
LONG $0x5c7ffec5; WORD $0x4039 // vmovdqu yword [rcx + rdi + 64], ymm3
LONG $0x447ffec5; WORD $0x6039 // vmovdqu yword [rcx + rdi + 96], ymm0
LBB3_675:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_865
JMP LBB3_676
LBB3_680:
WORD $0xff31 // xor edi, edi
LBB3_681:
LONG $0x01c0f641 // test r8b, 1
JE LBB3_683
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0x0cf8fdc5; BYTE $0x3a // vpsubb ymm1, ymm0, yword [rdx + rdi]
LONG $0x54f8fdc5; WORD $0x203a // vpsubb ymm2, ymm0, yword [rdx + rdi + 32]
LONG $0x5cf8fdc5; WORD $0x403a // vpsubb ymm3, ymm0, yword [rdx + rdi + 64]
LONG $0x44f8fdc5; WORD $0x603a // vpsubb ymm0, ymm0, yword [rdx + rdi + 96]
LONG $0x0c7ffec5; BYTE $0x39 // vmovdqu yword [rcx + rdi], ymm1
LONG $0x547ffec5; WORD $0x2039 // vmovdqu yword [rcx + rdi + 32], ymm2
LONG $0x5c7ffec5; WORD $0x4039 // vmovdqu yword [rcx + rdi + 64], ymm3
LONG $0x447ffec5; WORD $0x6039 // vmovdqu yword [rcx + rdi + 96], ymm0
LBB3_683:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_865
JMP LBB3_684
LBB3_688:
WORD $0xff31 // xor edi, edi
LBB3_689:
LONG $0x01c0f641 // test r8b, 1
JE LBB3_691
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0x0cfbfdc5; BYTE $0xfa // vpsubq ymm1, ymm0, yword [rdx + 8*rdi]
LONG $0x54fbfdc5; WORD $0x20fa // vpsubq ymm2, ymm0, yword [rdx + 8*rdi + 32]
LONG $0x5cfbfdc5; WORD $0x40fa // vpsubq ymm3, ymm0, yword [rdx + 8*rdi + 64]
LONG $0x44fbfdc5; WORD $0x60fa // vpsubq ymm0, ymm0, yword [rdx + 8*rdi + 96]
LONG $0x0c7ffec5; BYTE $0xf9 // vmovdqu yword [rcx + 8*rdi], ymm1
LONG $0x547ffec5; WORD $0x20f9 // vmovdqu yword [rcx + 8*rdi + 32], ymm2
LONG $0x5c7ffec5; WORD $0x40f9 // vmovdqu yword [rcx + 8*rdi + 64], ymm3
LONG $0x447ffec5; WORD $0x60f9 // vmovdqu yword [rcx + 8*rdi + 96], ymm0
LBB3_691:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_865
JMP LBB3_692
LBB3_696:
WORD $0xff31 // xor edi, edi
LBB3_697:
LONG $0x01c0f641 // test r8b, 1
JE LBB3_699
LONG $0x0410fdc5; BYTE $0xfa // vmovupd ymm0, yword [rdx + 8*rdi]
LONG $0x4c10fdc5; WORD $0x20fa // vmovupd ymm1, yword [rdx + 8*rdi + 32]
LONG $0x5410fdc5; WORD $0x40fa // vmovupd ymm2, yword [rdx + 8*rdi + 64]
LONG $0x5c10fdc5; WORD $0x60fa // vmovupd ymm3, yword [rdx + 8*rdi + 96]
LONG $0x0411fdc5; BYTE $0xf9 // vmovupd yword [rcx + 8*rdi], ymm0
LONG $0x4c11fdc5; WORD $0x20f9 // vmovupd yword [rcx + 8*rdi + 32], ymm1
LONG $0x5411fdc5; WORD $0x40f9 // vmovupd yword [rcx + 8*rdi + 64], ymm2
LONG $0x5c11fdc5; WORD $0x60f9 // vmovupd yword [rcx + 8*rdi + 96], ymm3
LBB3_699:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_865
JMP LBB3_700
LBB3_704:
WORD $0xff31 // xor edi, edi
LBB3_705:
LONG $0x01c0f641 // test r8b, 1
JE LBB3_707
LONG $0x0410fdc5; BYTE $0xfa // vmovupd ymm0, yword [rdx + 8*rdi]
LONG $0x4c10fdc5; WORD $0x20fa // vmovupd ymm1, yword [rdx + 8*rdi + 32]
LONG $0x5410fdc5; WORD $0x40fa // vmovupd ymm2, yword [rdx + 8*rdi + 64]
LONG $0x5c10fdc5; WORD $0x60fa // vmovupd ymm3, yword [rdx + 8*rdi + 96]
LONG $0x0411fdc5; BYTE $0xf9 // vmovupd yword [rcx + 8*rdi], ymm0
LONG $0x4c11fdc5; WORD $0x20f9 // vmovupd yword [rcx + 8*rdi + 32], ymm1
LONG $0x5411fdc5; WORD $0x40f9 // vmovupd yword [rcx + 8*rdi + 64], ymm2
LONG $0x5c11fdc5; WORD $0x60f9 // vmovupd yword [rcx + 8*rdi + 96], ymm3
LBB3_707:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_865
JMP LBB3_708
LBB3_712:
WORD $0xff31 // xor edi, edi
LBB3_713:
LONG $0x01c0f641 // test r8b, 1
JE LBB3_715
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0x0cf9fdc5; BYTE $0x7a // vpsubw ymm1, ymm0, yword [rdx + 2*rdi]
LONG $0x44f9fdc5; WORD $0x207a // vpsubw ymm0, ymm0, yword [rdx + 2*rdi + 32]
LONG $0x0c7ffec5; BYTE $0x79 // vmovdqu yword [rcx + 2*rdi], ymm1
LONG $0x447ffec5; WORD $0x2079 // vmovdqu yword [rcx + 2*rdi + 32], ymm0
LBB3_715:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_865
JMP LBB3_716
LBB3_720:
WORD $0xff31 // xor edi, edi
LBB3_721:
LONG $0x01c0f641 // test r8b, 1
JE LBB3_723
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0x0cf9fdc5; BYTE $0x7a // vpsubw ymm1, ymm0, yword [rdx + 2*rdi]
LONG $0x44f9fdc5; WORD $0x207a // vpsubw ymm0, ymm0, yword [rdx + 2*rdi + 32]
LONG $0x0c7ffec5; BYTE $0x79 // vmovdqu yword [rcx + 2*rdi], ymm1
LONG $0x447ffec5; WORD $0x2079 // vmovdqu yword [rcx + 2*rdi + 32], ymm0
LBB3_723:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_865
JMP LBB3_724
LBB3_728:
WORD $0xff31 // xor edi, edi
LBB3_729:
LONG $0x01c0f641 // test r8b, 1
JE LBB3_731
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0x0cf9fdc5; BYTE $0x7a // vpsubw ymm1, ymm0, yword [rdx + 2*rdi]
LONG $0x44f9fdc5; WORD $0x207a // vpsubw ymm0, ymm0, yword [rdx + 2*rdi + 32]
LONG $0x0c7ffec5; BYTE $0x79 // vmovdqu yword [rcx + 2*rdi], ymm1
LONG $0x447ffec5; WORD $0x2079 // vmovdqu yword [rcx + 2*rdi + 32], ymm0
LBB3_731:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_865
JMP LBB3_732
LBB3_736:
WORD $0xff31 // xor edi, edi
LBB3_737:
LONG $0x01c0f641 // test r8b, 1
JE LBB3_739
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0x0c75fdc5; BYTE $0x7a // vpcmpeqw ymm1, ymm0, yword [rdx + 2*rdi]
LONG $0x556ffdc5; BYTE $0x60 // vmovdqa ymm2, yword 96[rbp] /* [rip + .LCPI3_5] */
LONG $0x4475fdc5; WORD $0x207a // vpcmpeqw ymm0, ymm0, yword [rdx + 2*rdi + 32]
LONG $0xcadff5c5 // vpandn ymm1, ymm1, ymm2
LONG $0xc2dffdc5 // vpandn ymm0, ymm0, ymm2
LONG $0x0c7ffec5; BYTE $0x79 // vmovdqu yword [rcx + 2*rdi], ymm1
LONG $0x447ffec5; WORD $0x2079 // vmovdqu yword [rcx + 2*rdi + 32], ymm0
LBB3_739:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_865
JMP LBB3_740
LBB3_744:
WORD $0xff31 // xor edi, edi
LBB3_745:
LONG $0x01c0f641 // test r8b, 1
JE LBB3_747
LONG $0x046ffec5; BYTE $0x7a // vmovdqu ymm0, yword [rdx + 2*rdi]
LONG $0x4c6ffec5; WORD $0x207a // vmovdqu ymm1, yword [rdx + 2*rdi + 32]
LONG $0xd2efe9c5 // vpxor xmm2, xmm2, xmm2
LONG $0xda75fdc5 // vpcmpeqw ymm3, ymm0, ymm2
LONG $0xe476ddc5 // vpcmpeqd ymm4, ymm4, ymm4
LONG $0xdcefe5c5 // vpxor ymm3, ymm3, ymm4
LONG $0xd275f5c5 // vpcmpeqw ymm2, ymm1, ymm2
LONG $0xd4efedc5 // vpxor ymm2, ymm2, ymm4
LONG $0x656ffdc5; BYTE $0x60 // vmovdqa ymm4, yword 96[rbp] /* [rip + .LCPI3_5] */
LONG $0xc065ddc5 // vpcmpgtw ymm0, ymm4, ymm0
LONG $0xc965ddc5 // vpcmpgtw ymm1, ymm4, ymm1
LONG $0x4c5de3c4; WORD $0x00c3 // vpblendvb ymm0, ymm4, ymm3, ymm0
LONG $0x4c5de3c4; WORD $0x10ca // vpblendvb ymm1, ymm4, ymm2, ymm1
LONG $0x047ffec5; BYTE $0x79 // vmovdqu yword [rcx + 2*rdi], ymm0
LONG $0x4c7ffec5; WORD $0x2079 // vmovdqu yword [rcx + 2*rdi + 32], ymm1
LBB3_747:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_865
JMP LBB3_748
LBB3_753:
WORD $0xff31 // xor edi, edi
LBB3_754:
LONG $0x01c0f641 // test r8b, 1
JE LBB3_756
LONG $0x237de2c4; WORD $0x7a04 // vpmovsxwd ymm0, oword [rdx + 2*rdi]
LONG $0x237de2c4; WORD $0x7a4c; BYTE $0x10 // vpmovsxwd ymm1, oword [rdx + 2*rdi + 16]
LONG $0xe172edc5; BYTE $0x0f // vpsrad ymm2, ymm1, 15
LONG $0xe072e5c5; BYTE $0x0f // vpsrad ymm3, ymm0, 15
LONG $0xc0fee5c5 // vpaddd ymm0, ymm3, ymm0
LONG $0xc9feedc5 // vpaddd ymm1, ymm2, ymm1
LONG $0xcaeff5c5 // vpxor ymm1, ymm1, ymm2
LONG $0xc3effdc5 // vpxor ymm0, ymm0, ymm3
QUAD $0x000000a0956ffdc5 // vmovdqa ymm2, yword 160[rbp] /* [rip + .LCPI3_10] */
LONG $0x007de2c4; BYTE $0xc2 // vpshufb ymm0, ymm0, ymm2
LONG $0x00fde3c4; WORD $0xe8c0 // vpermq ymm0, ymm0, 232
LONG $0x0075e2c4; BYTE $0xca // vpshufb ymm1, ymm1, ymm2
LONG $0x00fde3c4; WORD $0xe8c9 // vpermq ymm1, ymm1, 232
LONG $0x4c7ffac5; WORD $0x1079 // vmovdqu oword [rcx + 2*rdi + 16], xmm1
LONG $0x047ffac5; BYTE $0x79 // vmovdqu oword [rcx + 2*rdi], xmm0
LBB3_756:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_865
JMP LBB3_757
LBB3_761:
WORD $0xff31 // xor edi, edi
LBB3_762:
LONG $0x01c0f641 // test r8b, 1
JE LBB3_764
LONG $0x237de2c4; WORD $0x7a04 // vpmovsxwd ymm0, oword [rdx + 2*rdi]
LONG $0x237de2c4; WORD $0x7a4c; BYTE $0x10 // vpmovsxwd ymm1, oword [rdx + 2*rdi + 16]
LONG $0xe172edc5; BYTE $0x0f // vpsrad ymm2, ymm1, 15
LONG $0xe072e5c5; BYTE $0x0f // vpsrad ymm3, ymm0, 15
LONG $0xc0fee5c5 // vpaddd ymm0, ymm3, ymm0
LONG $0xc9feedc5 // vpaddd ymm1, ymm2, ymm1
LONG $0xcaeff5c5 // vpxor ymm1, ymm1, ymm2
LONG $0xc3effdc5 // vpxor ymm0, ymm0, ymm3
QUAD $0x000000a0956ffdc5 // vmovdqa ymm2, yword 160[rbp] /* [rip + .LCPI3_10] */
LONG $0x007de2c4; BYTE $0xc2 // vpshufb ymm0, ymm0, ymm2
LONG $0x00fde3c4; WORD $0xe8c0 // vpermq ymm0, ymm0, 232
LONG $0x0075e2c4; BYTE $0xca // vpshufb ymm1, ymm1, ymm2
LONG $0x00fde3c4; WORD $0xe8c9 // vpermq ymm1, ymm1, 232
LONG $0x4c7ffac5; WORD $0x1079 // vmovdqu oword [rcx + 2*rdi + 16], xmm1
LONG $0x047ffac5; BYTE $0x79 // vmovdqu oword [rcx + 2*rdi], xmm0
LBB3_764:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_865
JMP LBB3_765
LBB3_769:
WORD $0xff31 // xor edi, edi
LBB3_770:
LONG $0x01c0f641 // test r8b, 1
JE LBB3_772
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0x0cfbfdc5; BYTE $0xfa // vpsubq ymm1, ymm0, yword [rdx + 8*rdi]
LONG $0x54fbfdc5; WORD $0x20fa // vpsubq ymm2, ymm0, yword [rdx + 8*rdi + 32]
LONG $0x5cfbfdc5; WORD $0x40fa // vpsubq ymm3, ymm0, yword [rdx + 8*rdi + 64]
LONG $0x44fbfdc5; WORD $0x60fa // vpsubq ymm0, ymm0, yword [rdx + 8*rdi + 96]
LONG $0x0c7ffec5; BYTE $0xf9 // vmovdqu yword [rcx + 8*rdi], ymm1
LONG $0x547ffec5; WORD $0x20f9 // vmovdqu yword [rcx + 8*rdi + 32], ymm2
LONG $0x5c7ffec5; WORD $0x40f9 // vmovdqu yword [rcx + 8*rdi + 64], ymm3
LONG $0x447ffec5; WORD $0x60f9 // vmovdqu yword [rcx + 8*rdi + 96], ymm0
LBB3_772:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_865
JMP LBB3_773
LBB3_777:
WORD $0xff31 // xor edi, edi
LBB3_778:
LONG $0x01c0f641 // test r8b, 1
JE LBB3_780
LONG $0x187de2c4; WORD $0x4445 // vbroadcastss ymm0, dword 68[rbp] /* [rip + .LCPI3_7] */
LONG $0x0c57fdc5; BYTE $0xba // vxorpd ymm1, ymm0, yword [rdx + 4*rdi]
LONG $0x5457fdc5; WORD $0x20ba // vxorpd ymm2, ymm0, yword [rdx + 4*rdi + 32]
LONG $0x5c57fdc5; WORD $0x40ba // vxorpd ymm3, ymm0, yword [rdx + 4*rdi + 64]
LONG $0x4457fdc5; WORD $0x60ba // vxorpd ymm0, ymm0, yword [rdx + 4*rdi + 96]
LONG $0x0c11fdc5; BYTE $0xb9 // vmovupd yword [rcx + 4*rdi], ymm1
LONG $0x5411fdc5; WORD $0x20b9 // vmovupd yword [rcx + 4*rdi + 32], ymm2
LONG $0x5c11fdc5; WORD $0x40b9 // vmovupd yword [rcx + 4*rdi + 64], ymm3
LONG $0x4411fdc5; WORD $0x60b9 // vmovupd yword [rcx + 4*rdi + 96], ymm0
LBB3_780:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_865
JMP LBB3_781
LBB3_787:
WORD $0xff31 // xor edi, edi
LBB3_788:
LONG $0x01c0f641 // test r8b, 1
JE LBB3_790
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0x0cfbfdc5; BYTE $0xfa // vpsubq ymm1, ymm0, yword [rdx + 8*rdi]
LONG $0x54fbfdc5; WORD $0x20fa // vpsubq ymm2, ymm0, yword [rdx + 8*rdi + 32]
LONG $0x5cfbfdc5; WORD $0x40fa // vpsubq ymm3, ymm0, yword [rdx + 8*rdi + 64]
LONG $0x44fbfdc5; WORD $0x60fa // vpsubq ymm0, ymm0, yword [rdx + 8*rdi + 96]
LONG $0x0c7ffec5; BYTE $0xf9 // vmovdqu yword [rcx + 8*rdi], ymm1
LONG $0x547ffec5; WORD $0x20f9 // vmovdqu yword [rcx + 8*rdi + 32], ymm2
LONG $0x5c7ffec5; WORD $0x40f9 // vmovdqu yword [rcx + 8*rdi + 64], ymm3
LONG $0x447ffec5; WORD $0x60f9 // vmovdqu yword [rcx + 8*rdi + 96], ymm0
LBB3_790:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_865
JMP LBB3_791
LBB3_795:
WORD $0xff31 // xor edi, edi
LBB3_796:
LONG $0x01c0f641 // test r8b, 1
JE LBB3_798
LONG $0x187de2c4; WORD $0x4445 // vbroadcastss ymm0, dword 68[rbp] /* [rip + .LCPI3_7] */
LONG $0x0c57fdc5; BYTE $0xba // vxorpd ymm1, ymm0, yword [rdx + 4*rdi]
LONG $0x5457fdc5; WORD $0x20ba // vxorpd ymm2, ymm0, yword [rdx + 4*rdi + 32]
LONG $0x5c57fdc5; WORD $0x40ba // vxorpd ymm3, ymm0, yword [rdx + 4*rdi + 64]
LONG $0x4457fdc5; WORD $0x60ba // vxorpd ymm0, ymm0, yword [rdx + 4*rdi + 96]
LONG $0x0c11fdc5; BYTE $0xb9 // vmovupd yword [rcx + 4*rdi], ymm1
LONG $0x5411fdc5; WORD $0x20b9 // vmovupd yword [rcx + 4*rdi + 32], ymm2
LONG $0x5c11fdc5; WORD $0x40b9 // vmovupd yword [rcx + 4*rdi + 64], ymm3
LONG $0x4411fdc5; WORD $0x60b9 // vmovupd yword [rcx + 4*rdi + 96], ymm0
LBB3_798:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_865
JMP LBB3_799
LBB3_805:
WORD $0xff31 // xor edi, edi
LBB3_806:
LONG $0x01c0f641 // test r8b, 1
JE LBB3_808
LONG $0x187de2c4; WORD $0x4845 // vbroadcastss ymm0, dword 72[rbp] /* [rip + .LCPI3_9] */
LONG $0x0c54fdc5; BYTE $0xba // vandpd ymm1, ymm0, yword [rdx + 4*rdi]
LONG $0x5454fdc5; WORD $0x20ba // vandpd ymm2, ymm0, yword [rdx + 4*rdi + 32]
LONG $0x5c54fdc5; WORD $0x40ba // vandpd ymm3, ymm0, yword [rdx + 4*rdi + 64]
LONG $0x4454fdc5; WORD $0x60ba // vandpd ymm0, ymm0, yword [rdx + 4*rdi + 96]
LONG $0x0c11fdc5; BYTE $0xb9 // vmovupd yword [rcx + 4*rdi], ymm1
LONG $0x5411fdc5; WORD $0x20b9 // vmovupd yword [rcx + 4*rdi + 32], ymm2
LONG $0x5c11fdc5; WORD $0x40b9 // vmovupd yword [rcx + 4*rdi + 64], ymm3
LONG $0x4411fdc5; WORD $0x60b9 // vmovupd yword [rcx + 4*rdi + 96], ymm0
LBB3_808:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_865
JMP LBB3_809
LBB3_815:
WORD $0xff31 // xor edi, edi
LBB3_816:
LONG $0x01c0f641 // test r8b, 1
JE LBB3_818
LONG $0x187de2c4; WORD $0x4845 // vbroadcastss ymm0, dword 72[rbp] /* [rip + .LCPI3_9] */
LONG $0x0c54fdc5; BYTE $0xba // vandpd ymm1, ymm0, yword [rdx + 4*rdi]
LONG $0x5454fdc5; WORD $0x20ba // vandpd ymm2, ymm0, yword [rdx + 4*rdi + 32]
LONG $0x5c54fdc5; WORD $0x40ba // vandpd ymm3, ymm0, yword [rdx + 4*rdi + 64]
LONG $0x4454fdc5; WORD $0x60ba // vandpd ymm0, ymm0, yword [rdx + 4*rdi + 96]
LONG $0x0c11fdc5; BYTE $0xb9 // vmovupd yword [rcx + 4*rdi], ymm1
LONG $0x5411fdc5; WORD $0x20b9 // vmovupd yword [rcx + 4*rdi + 32], ymm2
LONG $0x5c11fdc5; WORD $0x40b9 // vmovupd yword [rcx + 4*rdi + 64], ymm3
LONG $0x4411fdc5; WORD $0x60b9 // vmovupd yword [rcx + 4*rdi + 96], ymm0
LBB3_818:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_865
JMP LBB3_819
LBB3_825:
WORD $0xff31 // xor edi, edi
LBB3_826:
LONG $0x01c0f641 // test r8b, 1
JE LBB3_828
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0x0cf8fdc5; BYTE $0x3a // vpsubb ymm1, ymm0, yword [rdx + rdi]
LONG $0x54f8fdc5; WORD $0x203a // vpsubb ymm2, ymm0, yword [rdx + rdi + 32]
LONG $0x5cf8fdc5; WORD $0x403a // vpsubb ymm3, ymm0, yword [rdx + rdi + 64]
LONG $0x44f8fdc5; WORD $0x603a // vpsubb ymm0, ymm0, yword [rdx + rdi + 96]
LONG $0x0c7ffec5; BYTE $0x39 // vmovdqu yword [rcx + rdi], ymm1
LONG $0x547ffec5; WORD $0x2039 // vmovdqu yword [rcx + rdi + 32], ymm2
LONG $0x5c7ffec5; WORD $0x4039 // vmovdqu yword [rcx + rdi + 64], ymm3
LONG $0x447ffec5; WORD $0x6039 // vmovdqu yword [rcx + rdi + 96], ymm0
LBB3_828:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_865
JMP LBB3_829
LBB3_833:
WORD $0xff31 // xor edi, edi
LBB3_834:
LONG $0x01c0f641 // test r8b, 1
JE LBB3_836
LONG $0x0410fdc5; BYTE $0x3a // vmovupd ymm0, yword [rdx + rdi]
LONG $0x4c10fdc5; WORD $0x203a // vmovupd ymm1, yword [rdx + rdi + 32]
LONG $0x5410fdc5; WORD $0x403a // vmovupd ymm2, yword [rdx + rdi + 64]
LONG $0x5c10fdc5; WORD $0x603a // vmovupd ymm3, yword [rdx + rdi + 96]
LONG $0x0411fdc5; BYTE $0x39 // vmovupd yword [rcx + rdi], ymm0
LONG $0x4c11fdc5; WORD $0x2039 // vmovupd yword [rcx + rdi + 32], ymm1
LONG $0x5411fdc5; WORD $0x4039 // vmovupd yword [rcx + rdi + 64], ymm2
LONG $0x5c11fdc5; WORD $0x6039 // vmovupd yword [rcx + rdi + 96], ymm3
LBB3_836:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_865
JMP LBB3_837
LBB3_841:
WORD $0xff31 // xor edi, edi
LBB3_842:
LONG $0x01c0f641 // test r8b, 1
JE LBB3_844
LONG $0x0410fdc5; BYTE $0x3a // vmovupd ymm0, yword [rdx + rdi]
LONG $0x4c10fdc5; WORD $0x203a // vmovupd ymm1, yword [rdx + rdi + 32]
LONG $0x5410fdc5; WORD $0x403a // vmovupd ymm2, yword [rdx + rdi + 64]
LONG $0x5c10fdc5; WORD $0x603a // vmovupd ymm3, yword [rdx + rdi + 96]
LONG $0x0411fdc5; BYTE $0x39 // vmovupd yword [rcx + rdi], ymm0
LONG $0x4c11fdc5; WORD $0x2039 // vmovupd yword [rcx + rdi + 32], ymm1
LONG $0x5411fdc5; WORD $0x4039 // vmovupd yword [rcx + rdi + 64], ymm2
LONG $0x5c11fdc5; WORD $0x6039 // vmovupd yword [rcx + rdi + 96], ymm3
LBB3_844:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_865
JMP LBB3_845
LBB3_849:
WORD $0xff31 // xor edi, edi
LBB3_850:
LONG $0x01c0f641 // test r8b, 1
JE LBB3_852
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0x0cfafdc5; BYTE $0xba // vpsubd ymm1, ymm0, yword [rdx + 4*rdi]
LONG $0x54fafdc5; WORD $0x20ba // vpsubd ymm2, ymm0, yword [rdx + 4*rdi + 32]
LONG $0x5cfafdc5; WORD $0x40ba // vpsubd ymm3, ymm0, yword [rdx + 4*rdi + 64]
LONG $0x44fafdc5; WORD $0x60ba // vpsubd ymm0, ymm0, yword [rdx + 4*rdi + 96]
LONG $0x0c7ffec5; BYTE $0xb9 // vmovdqu yword [rcx + 4*rdi], ymm1
LONG $0x547ffec5; WORD $0x20b9 // vmovdqu yword [rcx + 4*rdi + 32], ymm2
LONG $0x5c7ffec5; WORD $0x40b9 // vmovdqu yword [rcx + 4*rdi + 64], ymm3
LONG $0x447ffec5; WORD $0x60b9 // vmovdqu yword [rcx + 4*rdi + 96], ymm0
LBB3_852:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_865
JMP LBB3_853
LBB3_857:
WORD $0xff31 // xor edi, edi
LBB3_858:
LONG $0x01c0f641 // test r8b, 1
JE LBB3_860
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0x0cfafdc5; BYTE $0xba // vpsubd ymm1, ymm0, yword [rdx + 4*rdi]
LONG $0x54fafdc5; WORD $0x20ba // vpsubd ymm2, ymm0, yword [rdx + 4*rdi + 32]
LONG $0x5cfafdc5; WORD $0x40ba // vpsubd ymm3, ymm0, yword [rdx + 4*rdi + 64]
LONG $0x44fafdc5; WORD $0x60ba // vpsubd ymm0, ymm0, yword [rdx + 4*rdi + 96]
LONG $0x0c7ffec5; BYTE $0xb9 // vmovdqu yword [rcx + 4*rdi], ymm1
LONG $0x547ffec5; WORD $0x20b9 // vmovdqu yword [rcx + 4*rdi + 32], ymm2
LONG $0x5c7ffec5; WORD $0x40b9 // vmovdqu yword [rcx + 4*rdi + 64], ymm3
LONG $0x447ffec5; WORD $0x60b9 // vmovdqu yword [rcx + 4*rdi + 96], ymm0
LBB3_860:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_865
JMP LBB3_861
DATA LCDATA5<>+0x000(SB)/8, $0x8000000000000000
DATA LCDATA5<>+0x008(SB)/8, $0x3ff0000000000000
DATA LCDATA5<>+0x010(SB)/8, $0x43e0000000000000
DATA LCDATA5<>+0x018(SB)/8, $0x41e0000000000000
DATA LCDATA5<>+0x020(SB)/8, $0xbff0000000000000
DATA LCDATA5<>+0x028(SB)/8, $0x0000000000000001
DATA LCDATA5<>+0x030(SB)/8, $0x8000000000000000
DATA LCDATA5<>+0x038(SB)/8, $0x8000000000000000
DATA LCDATA5<>+0x040(SB)/8, $0x0001000100010001
DATA LCDATA5<>+0x048(SB)/8, $0x0001000100010001
DATA LCDATA5<>+0x050(SB)/8, $0x0101010101010101
DATA LCDATA5<>+0x058(SB)/8, $0x0000000000000000
DATA LCDATA5<>+0x060(SB)/8, $0x0001000100010001
DATA LCDATA5<>+0x068(SB)/8, $0x0000000000000000
DATA LCDATA5<>+0x070(SB)/8, $0x0000000001010101
DATA LCDATA5<>+0x078(SB)/8, $0x0000000000000000
DATA LCDATA5<>+0x080(SB)/8, $0x0101010101010101
DATA LCDATA5<>+0x088(SB)/8, $0x0101010101010101
DATA LCDATA5<>+0x090(SB)/8, $0x800000007fffffff
DATA LCDATA5<>+0x098(SB)/8, $0x000000013f800000
DATA LCDATA5<>+0x0a0(SB)/8, $0x4f0000005f000000
DATA LCDATA5<>+0x0a8(SB)/8, $0x00000000bf800000
DATA LCDATA5<>+0x0b0(SB)/8, $0x0000000000000000
DATA LCDATA5<>+0x0b8(SB)/8, $0x0000000000000000
DATA LCDATA5<>+0x0c0(SB)/8, $0x0001000100010001
DATA LCDATA5<>+0x0c8(SB)/8, $0x0001000100010001
DATA LCDATA5<>+0x0d0(SB)/8, $0x0001000100010001
DATA LCDATA5<>+0x0d8(SB)/8, $0x0001000100010001
DATA LCDATA5<>+0x0e0(SB)/8, $0x0101010101010101
DATA LCDATA5<>+0x0e8(SB)/8, $0x0101010101010101
DATA LCDATA5<>+0x0f0(SB)/8, $0x0101010101010101
DATA LCDATA5<>+0x0f8(SB)/8, $0x0101010101010101
GLOBL LCDATA5<>(SB), 8, $256
TEXT ยท_arithmetic_unary_diff_type_avx2(SB), $0-48
MOVQ itype+0(FP), DI
MOVQ otype+8(FP), SI
MOVQ op+16(FP), DX
MOVQ input+24(FP), CX
MOVQ output+32(FP), R8
MOVQ len+40(FP), R9
LEAQ LCDATA5<>(SB), BP
WORD $0xfa80; BYTE $0x14 // cmp dl, 20
JNE LBB4_1351
WORD $0xff83; BYTE $0x06 // cmp edi, 6
JG LBB4_14
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JLE LBB4_26
WORD $0xff83; BYTE $0x04 // cmp edi, 4
JE LBB4_46
WORD $0xff83; BYTE $0x05 // cmp edi, 5
JE LBB4_54
WORD $0xff83; BYTE $0x06 // cmp edi, 6
JNE LBB4_1351
WORD $0xfe83; BYTE $0x06 // cmp esi, 6
JG LBB4_94
WORD $0xfe83; BYTE $0x03 // cmp esi, 3
JLE LBB4_164
WORD $0xfe83; BYTE $0x04 // cmp esi, 4
JE LBB4_267
WORD $0xfe83; BYTE $0x05 // cmp esi, 5
JE LBB4_270
WORD $0xfe83; BYTE $0x06 // cmp esi, 6
JNE LBB4_1351
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB4_13
LONG $0x81148d48 // lea rdx, [rcx + 4*rax]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_870
LONG $0x80148d49 // lea rdx, [r8 + 4*rax]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_870
LBB4_13:
WORD $0xd231 // xor edx, edx
LBB4_873:
WORD $0x8949; BYTE $0xd1 // mov r9, rdx
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x0149; BYTE $0xc1 // add r9, rax
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x03e78348 // and rdi, 3
JE LBB4_875
LBB4_874:
WORD $0xf631 // xor esi, esi
LONG $0x00913c83 // cmp dword [rcx + 4*rdx], 0
LONG $0xd6950f40 // setne sil
LONG $0x90348941 // mov dword [r8 + 4*rdx], esi
LONG $0x01c28348 // add rdx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB4_874
LBB4_875:
LONG $0x03f98349 // cmp r9, 3
JB LBB4_1351
LBB4_876:
WORD $0xf631 // xor esi, esi
LONG $0x00913c83 // cmp dword [rcx + 4*rdx], 0
LONG $0xd6950f40 // setne sil
LONG $0x90348941 // mov dword [r8 + 4*rdx], esi
WORD $0xf631 // xor esi, esi
LONG $0x04917c83; BYTE $0x00 // cmp dword [rcx + 4*rdx + 4], 0
LONG $0xd6950f40 // setne sil
LONG $0x90748941; BYTE $0x04 // mov dword [r8 + 4*rdx + 4], esi
WORD $0xf631 // xor esi, esi
LONG $0x08917c83; BYTE $0x00 // cmp dword [rcx + 4*rdx + 8], 0
LONG $0xd6950f40 // setne sil
LONG $0x90748941; BYTE $0x08 // mov dword [r8 + 4*rdx + 8], esi
WORD $0xf631 // xor esi, esi
LONG $0x0c917c83; BYTE $0x00 // cmp dword [rcx + 4*rdx + 12], 0
LONG $0xd6950f40 // setne sil
LONG $0x90748941; BYTE $0x0c // mov dword [r8 + 4*rdx + 12], esi
LONG $0x04c28348 // add rdx, 4
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JNE LBB4_876
JMP LBB4_1351
LBB4_14:
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JLE LBB4_36
WORD $0xff83; BYTE $0x09 // cmp edi, 9
JE LBB4_62
WORD $0xff83; BYTE $0x0b // cmp edi, 11
JE LBB4_70
WORD $0xff83; BYTE $0x0c // cmp edi, 12
JNE LBB4_1351
WORD $0xfe83; BYTE $0x06 // cmp esi, 6
JG LBB4_101
WORD $0xfe83; BYTE $0x03 // cmp esi, 3
JLE LBB4_169
WORD $0xfe83; BYTE $0x04 // cmp esi, 4
JE LBB4_273
WORD $0xfe83; BYTE $0x05 // cmp esi, 5
JE LBB4_276
WORD $0xfe83; BYTE $0x06 // cmp esi, 6
JNE LBB4_1351
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
WORD $0x3145; BYTE $0xd2 // xor r10d, r10d
LONG $0x04f98341 // cmp r9d, 4
JAE LBB4_450
WORD $0xf631 // xor esi, esi
JMP LBB4_1292
LBB4_26:
WORD $0xff83; BYTE $0x02 // cmp edi, 2
JE LBB4_78
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JNE LBB4_1351
WORD $0xfe83; BYTE $0x06 // cmp esi, 6
JG LBB4_108
WORD $0xfe83; BYTE $0x03 // cmp esi, 3
JLE LBB4_174
WORD $0xfe83; BYTE $0x04 // cmp esi, 4
JE LBB4_279
WORD $0xfe83; BYTE $0x05 // cmp esi, 5
JE LBB4_282
WORD $0xfe83; BYTE $0x06 // cmp esi, 6
JNE LBB4_1351
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8945; BYTE $0xcb // mov r11d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB4_35
LONG $0x19148d4a // lea rdx, [rcx + r11]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_877
LONG $0x98148d4b // lea rdx, [r8 + 4*r11]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_877
LBB4_35:
WORD $0xd231 // xor edx, edx
LBB4_880:
WORD $0x8948; BYTE $0xd6 // mov rsi, rdx
WORD $0xf748; BYTE $0xd6 // not rsi
LONG $0x01c3f641 // test r11b, 1
JE LBB4_882
LONG $0x110c8a44 // mov r9b, byte [rcx + rdx]
WORD $0x3145; BYTE $0xd2 // xor r10d, r10d
WORD $0x8445; BYTE $0xc9 // test r9b, r9b
LONG $0xd2950f41 // setne r10b
WORD $0xf741; BYTE $0xda // neg r10d
WORD $0x8445; BYTE $0xc9 // test r9b, r9b
LONG $0x000001bf; BYTE $0x00 // mov edi, 1
LONG $0xfa4e0f41 // cmovle edi, r10d
LONG $0x903c8941 // mov dword [r8 + 4*rdx], edi
LONG $0x01ca8348 // or rdx, 1
LBB4_882:
WORD $0x014c; BYTE $0xde // add rsi, r11
JE LBB4_1351
LONG $0x000001be; BYTE $0x00 // mov esi, 1
LBB4_884:
LONG $0x1104b60f // movzx eax, byte [rcx + rdx]
WORD $0xff31 // xor edi, edi
WORD $0xc084 // test al, al
LONG $0xd7950f40 // setne dil
WORD $0xdff7 // neg edi
WORD $0xc084 // test al, al
WORD $0x4f0f; BYTE $0xfe // cmovg edi, esi
LONG $0x903c8941 // mov dword [r8 + 4*rdx], edi
LONG $0x1144b60f; BYTE $0x01 // movzx eax, byte [rcx + rdx + 1]
WORD $0xff31 // xor edi, edi
WORD $0xc084 // test al, al
LONG $0xd7950f40 // setne dil
WORD $0xdff7 // neg edi
WORD $0xc084 // test al, al
WORD $0x4f0f; BYTE $0xfe // cmovg edi, esi
LONG $0x907c8941; BYTE $0x04 // mov dword [r8 + 4*rdx + 4], edi
LONG $0x02c28348 // add rdx, 2
WORD $0x3949; BYTE $0xd3 // cmp r11, rdx
JNE LBB4_884
JMP LBB4_1351
LBB4_36:
WORD $0xff83; BYTE $0x07 // cmp edi, 7
JE LBB4_86
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JNE LBB4_1351
WORD $0xfe83; BYTE $0x06 // cmp esi, 6
JG LBB4_115
WORD $0xfe83; BYTE $0x03 // cmp esi, 3
JLE LBB4_179
WORD $0xfe83; BYTE $0x04 // cmp esi, 4
JE LBB4_285
WORD $0xfe83; BYTE $0x05 // cmp esi, 5
JE LBB4_288
WORD $0xfe83; BYTE $0x06 // cmp esi, 6
JNE LBB4_1351
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x10f98341 // cmp r9d, 16
JAE LBB4_456
WORD $0xd231 // xor edx, edx
JMP LBB4_459
LBB4_46:
WORD $0xfe83; BYTE $0x06 // cmp esi, 6
JG LBB4_122
WORD $0xfe83; BYTE $0x03 // cmp esi, 3
JLE LBB4_184
WORD $0xfe83; BYTE $0x04 // cmp esi, 4
JE LBB4_291
WORD $0xfe83; BYTE $0x05 // cmp esi, 5
JE LBB4_294
WORD $0xfe83; BYTE $0x06 // cmp esi, 6
JNE LBB4_1351
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x20f98341 // cmp r9d, 32
JAE LBB4_460
WORD $0xd231 // xor edx, edx
JMP LBB4_463
LBB4_54:
WORD $0xfe83; BYTE $0x06 // cmp esi, 6
JG LBB4_129
WORD $0xfe83; BYTE $0x03 // cmp esi, 3
JLE LBB4_189
WORD $0xfe83; BYTE $0x04 // cmp esi, 4
JE LBB4_297
WORD $0xfe83; BYTE $0x05 // cmp esi, 5
JE LBB4_300
WORD $0xfe83; BYTE $0x06 // cmp esi, 6
JNE LBB4_1351
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JAE LBB4_464
WORD $0xd231 // xor edx, edx
JMP LBB4_467
LBB4_62:
WORD $0xfe83; BYTE $0x06 // cmp esi, 6
JG LBB4_136
WORD $0xfe83; BYTE $0x03 // cmp esi, 3
JLE LBB4_194
WORD $0xfe83; BYTE $0x04 // cmp esi, 4
JE LBB4_303
WORD $0xfe83; BYTE $0x05 // cmp esi, 5
JE LBB4_306
WORD $0xfe83; BYTE $0x06 // cmp esi, 6
JNE LBB4_1351
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JAE LBB4_469
WORD $0xd231 // xor edx, edx
JMP LBB4_472
LBB4_70:
WORD $0xfe83; BYTE $0x06 // cmp esi, 6
JG LBB4_143
WORD $0xfe83; BYTE $0x03 // cmp esi, 3
JLE LBB4_199
WORD $0xfe83; BYTE $0x04 // cmp esi, 4
JE LBB4_309
WORD $0xfe83; BYTE $0x05 // cmp esi, 5
JE LBB4_312
WORD $0xfe83; BYTE $0x06 // cmp esi, 6
JNE LBB4_1351
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x08f98341 // cmp r9d, 8
JAE LBB4_474
WORD $0xd231 // xor edx, edx
JMP LBB4_1298
LBB4_78:
WORD $0xfe83; BYTE $0x06 // cmp esi, 6
JG LBB4_150
WORD $0xfe83; BYTE $0x03 // cmp esi, 3
JLE LBB4_204
WORD $0xfe83; BYTE $0x04 // cmp esi, 4
JE LBB4_315
WORD $0xfe83; BYTE $0x05 // cmp esi, 5
JE LBB4_318
WORD $0xfe83; BYTE $0x06 // cmp esi, 6
JNE LBB4_1351
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB4_85
LONG $0x01148d48 // lea rdx, [rcx + rax]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_885
LONG $0x80148d49 // lea rdx, [r8 + 4*rax]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_885
LBB4_85:
WORD $0xd231 // xor edx, edx
LBB4_888:
WORD $0x8949; BYTE $0xd1 // mov r9, rdx
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x0149; BYTE $0xc1 // add r9, rax
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x03e78348 // and rdi, 3
JE LBB4_890
LBB4_889:
WORD $0xf631 // xor esi, esi
LONG $0x00113c80 // cmp byte [rcx + rdx], 0
LONG $0xd6950f40 // setne sil
LONG $0x90348941 // mov dword [r8 + 4*rdx], esi
LONG $0x01c28348 // add rdx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB4_889
LBB4_890:
LONG $0x03f98349 // cmp r9, 3
JB LBB4_1351
LBB4_891:
WORD $0xf631 // xor esi, esi
LONG $0x00113c80 // cmp byte [rcx + rdx], 0
LONG $0xd6950f40 // setne sil
LONG $0x90348941 // mov dword [r8 + 4*rdx], esi
WORD $0xf631 // xor esi, esi
LONG $0x01117c80; BYTE $0x00 // cmp byte [rcx + rdx + 1], 0
LONG $0xd6950f40 // setne sil
LONG $0x90748941; BYTE $0x04 // mov dword [r8 + 4*rdx + 4], esi
WORD $0xf631 // xor esi, esi
LONG $0x02117c80; BYTE $0x00 // cmp byte [rcx + rdx + 2], 0
LONG $0xd6950f40 // setne sil
LONG $0x90748941; BYTE $0x08 // mov dword [r8 + 4*rdx + 8], esi
WORD $0xf631 // xor esi, esi
LONG $0x03117c80; BYTE $0x00 // cmp byte [rcx + rdx + 3], 0
LONG $0xd6950f40 // setne sil
LONG $0x90748941; BYTE $0x0c // mov dword [r8 + 4*rdx + 12], esi
LONG $0x04c28348 // add rdx, 4
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JNE LBB4_891
JMP LBB4_1351
LBB4_86:
WORD $0xfe83; BYTE $0x06 // cmp esi, 6
JG LBB4_157
WORD $0xfe83; BYTE $0x03 // cmp esi, 3
JLE LBB4_209
WORD $0xfe83; BYTE $0x04 // cmp esi, 4
JE LBB4_321
WORD $0xfe83; BYTE $0x05 // cmp esi, 5
JE LBB4_324
WORD $0xfe83; BYTE $0x06 // cmp esi, 6
JNE LBB4_1351
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8945; BYTE $0xcb // mov r11d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB4_93
LONG $0x99148d4a // lea rdx, [rcx + 4*r11]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_892
LONG $0x98148d4b // lea rdx, [r8 + 4*r11]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_892
LBB4_93:
WORD $0xd231 // xor edx, edx
LBB4_895:
WORD $0x8948; BYTE $0xd6 // mov rsi, rdx
WORD $0xf748; BYTE $0xd6 // not rsi
LONG $0x01c3f641 // test r11b, 1
JE LBB4_897
LONG $0x910c8b44 // mov r9d, dword [rcx + 4*rdx]
WORD $0x3145; BYTE $0xd2 // xor r10d, r10d
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
LONG $0xd2950f41 // setne r10b
WORD $0xf741; BYTE $0xda // neg r10d
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
LONG $0x000001bf; BYTE $0x00 // mov edi, 1
LONG $0xfa4e0f41 // cmovle edi, r10d
LONG $0x903c8941 // mov dword [r8 + 4*rdx], edi
LONG $0x01ca8348 // or rdx, 1
LBB4_897:
WORD $0x014c; BYTE $0xde // add rsi, r11
JE LBB4_1351
LONG $0x000001be; BYTE $0x00 // mov esi, 1
LBB4_899:
WORD $0x3c8b; BYTE $0x91 // mov edi, dword [rcx + 4*rdx]
WORD $0xc031 // xor eax, eax
WORD $0xff85 // test edi, edi
WORD $0x950f; BYTE $0xd0 // setne al
WORD $0xd8f7 // neg eax
WORD $0xff85 // test edi, edi
WORD $0x4f0f; BYTE $0xc6 // cmovg eax, esi
LONG $0x90048941 // mov dword [r8 + 4*rdx], eax
LONG $0x0491448b // mov eax, dword [rcx + 4*rdx + 4]
WORD $0xff31 // xor edi, edi
WORD $0xc085 // test eax, eax
LONG $0xd7950f40 // setne dil
WORD $0xdff7 // neg edi
WORD $0xc085 // test eax, eax
WORD $0x4f0f; BYTE $0xfe // cmovg edi, esi
LONG $0x907c8941; BYTE $0x04 // mov dword [r8 + 4*rdx + 4], edi
LONG $0x02c28348 // add rdx, 2
WORD $0x3949; BYTE $0xd3 // cmp r11, rdx
JNE LBB4_899
JMP LBB4_1351
LBB4_94:
WORD $0xfe83; BYTE $0x08 // cmp esi, 8
JLE LBB4_214
WORD $0xfe83; BYTE $0x09 // cmp esi, 9
JE LBB4_327
WORD $0xfe83; BYTE $0x0b // cmp esi, 11
JE LBB4_330
WORD $0xfe83; BYTE $0x0c // cmp esi, 12
JNE LBB4_1351
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x10f98341 // cmp r9d, 16
JAE LBB4_483
WORD $0xd231 // xor edx, edx
JMP LBB4_486
LBB4_101:
WORD $0xfe83; BYTE $0x08 // cmp esi, 8
JLE LBB4_219
WORD $0xfe83; BYTE $0x09 // cmp esi, 9
JE LBB4_333
WORD $0xfe83; BYTE $0x0b // cmp esi, 11
JE LBB4_336
WORD $0xfe83; BYTE $0x0c // cmp esi, 12
JNE LBB4_1351
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB4_107
LONG $0xc1148d48 // lea rdx, [rcx + 8*rax]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_900
LONG $0xc0148d49 // lea rdx, [r8 + 8*rax]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_900
LBB4_107:
WORD $0xd231 // xor edx, edx
LBB4_903:
WORD $0x8948; BYTE $0xd6 // mov rsi, rdx
WORD $0xf748; BYTE $0xd6 // not rsi
WORD $0x01a8 // test al, 1
JE LBB4_905
LONG $0x0410fbc5; BYTE $0xd1 // vmovsd xmm0, qword [rcx + 8*rdx]
LONG $0x4d54f9c5; BYTE $0x30 // vandpd xmm1, xmm0, oword 48[rbp] /* [rip + .LCPI4_2] */
LONG $0x5512fbc5; BYTE $0x08 // vmovddup xmm2, qword 8[rbp] /* [rip + .LCPI4_1] */
LONG $0xc956e9c5 // vorpd xmm1, xmm2, xmm1
LONG $0xd257e9c5 // vxorpd xmm2, xmm2, xmm2
LONG $0xc2c2fbc5; BYTE $0x00 // vcmpeqsd xmm0, xmm0, xmm2
LONG $0xc155f9c5 // vandnpd xmm0, xmm0, xmm1
LONG $0x1379c1c4; WORD $0xd004 // vmovlpd qword [r8 + 8*rdx], xmm0
LONG $0x01ca8348 // or rdx, 1
LBB4_905:
WORD $0x0148; BYTE $0xc6 // add rsi, rax
JE LBB4_1351
LONG $0x4528f9c5; BYTE $0x30 // vmovapd xmm0, oword 48[rbp] /* [rip + .LCPI4_2] */
LONG $0x4d12fbc5; BYTE $0x08 // vmovddup xmm1, qword 8[rbp] /* [rip + .LCPI4_1] */
LONG $0xd257e9c5 // vxorpd xmm2, xmm2, xmm2
LBB4_907:
LONG $0x1c10fbc5; BYTE $0xd1 // vmovsd xmm3, qword [rcx + 8*rdx]
LONG $0xe054e1c5 // vandpd xmm4, xmm3, xmm0
LONG $0xe456f1c5 // vorpd xmm4, xmm1, xmm4
LONG $0xdac2e3c5; BYTE $0x00 // vcmpeqsd xmm3, xmm3, xmm2
LONG $0xdc55e1c5 // vandnpd xmm3, xmm3, xmm4
LONG $0x1379c1c4; WORD $0xd01c // vmovlpd qword [r8 + 8*rdx], xmm3
LONG $0x5c10fbc5; WORD $0x08d1 // vmovsd xmm3, qword [rcx + 8*rdx + 8]
LONG $0xe054e1c5 // vandpd xmm4, xmm3, xmm0
LONG $0xe456f1c5 // vorpd xmm4, xmm1, xmm4
LONG $0xdac2e3c5; BYTE $0x00 // vcmpeqsd xmm3, xmm3, xmm2
LONG $0xdc55e1c5 // vandnpd xmm3, xmm3, xmm4
LONG $0x1379c1c4; WORD $0xd05c; BYTE $0x08 // vmovlpd qword [r8 + 8*rdx + 8], xmm3
LONG $0x02c28348 // add rdx, 2
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JNE LBB4_907
JMP LBB4_1351
LBB4_108:
WORD $0xfe83; BYTE $0x08 // cmp esi, 8
JLE LBB4_224
WORD $0xfe83; BYTE $0x09 // cmp esi, 9
JE LBB4_339
WORD $0xfe83; BYTE $0x0b // cmp esi, 11
JE LBB4_342
WORD $0xfe83; BYTE $0x0c // cmp esi, 12
JNE LBB4_1351
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB4_114
LONG $0x01148d48 // lea rdx, [rcx + rax]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_908
LONG $0xc0148d49 // lea rdx, [r8 + 8*rax]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_908
LBB4_114:
WORD $0xd231 // xor edx, edx
LBB4_911:
WORD $0x8948; BYTE $0xd6 // mov rsi, rdx
WORD $0xf748; BYTE $0xd6 // not rsi
WORD $0x01a8 // test al, 1
JE LBB4_1254
LONG $0x00113c80 // cmp byte [rcx + rdx], 0
JNE LBB4_1250
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
JMP LBB4_1251
LBB4_115:
WORD $0xfe83; BYTE $0x08 // cmp esi, 8
JLE LBB4_229
WORD $0xfe83; BYTE $0x09 // cmp esi, 9
JE LBB4_345
WORD $0xfe83; BYTE $0x0b // cmp esi, 11
JE LBB4_348
WORD $0xfe83; BYTE $0x0c // cmp esi, 12
JNE LBB4_1351
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x10f98341 // cmp r9d, 16
JAE LBB4_496
WORD $0xd231 // xor edx, edx
JMP LBB4_499
LBB4_122:
WORD $0xfe83; BYTE $0x08 // cmp esi, 8
JLE LBB4_234
WORD $0xfe83; BYTE $0x09 // cmp esi, 9
JE LBB4_351
WORD $0xfe83; BYTE $0x0b // cmp esi, 11
JE LBB4_354
WORD $0xfe83; BYTE $0x0c // cmp esi, 12
JNE LBB4_1351
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x10f98341 // cmp r9d, 16
JAE LBB4_503
WORD $0xd231 // xor edx, edx
JMP LBB4_506
LBB4_129:
WORD $0xfe83; BYTE $0x08 // cmp esi, 8
JLE LBB4_239
WORD $0xfe83; BYTE $0x09 // cmp esi, 9
JE LBB4_357
WORD $0xfe83; BYTE $0x0b // cmp esi, 11
JE LBB4_360
WORD $0xfe83; BYTE $0x0c // cmp esi, 12
JNE LBB4_1351
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x10f98341 // cmp r9d, 16
JAE LBB4_510
WORD $0xd231 // xor edx, edx
JMP LBB4_513
LBB4_136:
WORD $0xfe83; BYTE $0x08 // cmp esi, 8
JLE LBB4_244
WORD $0xfe83; BYTE $0x09 // cmp esi, 9
JE LBB4_363
WORD $0xfe83; BYTE $0x0b // cmp esi, 11
JE LBB4_366
WORD $0xfe83; BYTE $0x0c // cmp esi, 12
JNE LBB4_1351
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x10f98341 // cmp r9d, 16
JAE LBB4_519
WORD $0xd231 // xor edx, edx
JMP LBB4_522
LBB4_143:
WORD $0xfe83; BYTE $0x08 // cmp esi, 8
JLE LBB4_249
WORD $0xfe83; BYTE $0x09 // cmp esi, 9
JE LBB4_369
WORD $0xfe83; BYTE $0x0b // cmp esi, 11
JE LBB4_372
WORD $0xfe83; BYTE $0x0c // cmp esi, 12
JNE LBB4_1351
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x10f98341 // cmp r9d, 16
JAE LBB4_528
WORD $0xd231 // xor edx, edx
JMP LBB4_531
LBB4_150:
WORD $0xfe83; BYTE $0x08 // cmp esi, 8
JLE LBB4_257
WORD $0xfe83; BYTE $0x09 // cmp esi, 9
JE LBB4_375
WORD $0xfe83; BYTE $0x0b // cmp esi, 11
JE LBB4_378
WORD $0xfe83; BYTE $0x0c // cmp esi, 12
JNE LBB4_1351
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB4_156
LONG $0x01148d48 // lea rdx, [rcx + rax]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_914
LONG $0xc0148d49 // lea rdx, [r8 + 8*rax]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_914
LBB4_156:
WORD $0xd231 // xor edx, edx
LBB4_917:
WORD $0x8948; BYTE $0xd6 // mov rsi, rdx
WORD $0xf748; BYTE $0xd6 // not rsi
WORD $0x0148; BYTE $0xc6 // add rsi, rax
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x03e78348 // and rdi, 3
JE LBB4_922
LONG $0x457efac5; BYTE $0x08 // vmovq xmm0, qword 8[rbp] /* [rip + .LCPI4_1] */
JMP LBB4_920
LBB4_919:
LONG $0xd679c1c4; WORD $0xd00c // vmovq qword [r8 + 8*rdx], xmm1
LONG $0x01c28348 // add rdx, 1
LONG $0xffc78348 // add rdi, -1
JE LBB4_922
LBB4_920:
LONG $0x00113c80 // cmp byte [rcx + rdx], 0
LONG $0xc86ff9c5 // vmovdqa xmm1, xmm0
JNE LBB4_919
LONG $0xc9eff1c5 // vpxor xmm1, xmm1, xmm1
JMP LBB4_919
LBB4_157:
WORD $0xfe83; BYTE $0x08 // cmp esi, 8
JLE LBB4_262
WORD $0xfe83; BYTE $0x09 // cmp esi, 9
JE LBB4_381
WORD $0xfe83; BYTE $0x0b // cmp esi, 11
JE LBB4_384
WORD $0xfe83; BYTE $0x0c // cmp esi, 12
JNE LBB4_1351
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x10f98341 // cmp r9d, 16
JAE LBB4_538
WORD $0xd231 // xor edx, edx
JMP LBB4_541
LBB4_164:
WORD $0xfe83; BYTE $0x02 // cmp esi, 2
JE LBB4_387
WORD $0xfe83; BYTE $0x03 // cmp esi, 3
JNE LBB4_1351
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB4_168
LONG $0x81148d48 // lea rdx, [rcx + 4*rax]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_933
LONG $0x00148d49 // lea rdx, [r8 + rax]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_933
LBB4_168:
WORD $0xd231 // xor edx, edx
LBB4_936:
WORD $0x8948; BYTE $0xd6 // mov rsi, rdx
WORD $0xf748; BYTE $0xd6 // not rsi
WORD $0x0148; BYTE $0xc6 // add rsi, rax
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x03e78348 // and rdi, 3
JE LBB4_938
LBB4_937:
LONG $0x00913c83 // cmp dword [rcx + 4*rdx], 0
LONG $0x14950f41; BYTE $0x10 // setne byte [r8 + rdx]
LONG $0x01c28348 // add rdx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB4_937
LBB4_938:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB4_1351
LBB4_939:
LONG $0x00913c83 // cmp dword [rcx + 4*rdx], 0
LONG $0x14950f41; BYTE $0x10 // setne byte [r8 + rdx]
LONG $0x04917c83; BYTE $0x00 // cmp dword [rcx + 4*rdx + 4], 0
LONG $0x54950f41; WORD $0x0110 // setne byte [r8 + rdx + 1]
LONG $0x08917c83; BYTE $0x00 // cmp dword [rcx + 4*rdx + 8], 0
LONG $0x54950f41; WORD $0x0210 // setne byte [r8 + rdx + 2]
LONG $0x0c917c83; BYTE $0x00 // cmp dword [rcx + 4*rdx + 12], 0
LONG $0x54950f41; WORD $0x0310 // setne byte [r8 + rdx + 3]
LONG $0x04c28348 // add rdx, 4
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JNE LBB4_939
JMP LBB4_1351
LBB4_169:
WORD $0xfe83; BYTE $0x02 // cmp esi, 2
JE LBB4_390
WORD $0xfe83; BYTE $0x03 // cmp esi, 3
JNE LBB4_1351
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB4_173
LONG $0xc1148d48 // lea rdx, [rcx + 8*rax]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_940
LONG $0x00148d49 // lea rdx, [r8 + rax]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_940
LBB4_173:
WORD $0xd231 // xor edx, edx
LBB4_943:
WORD $0x8948; BYTE $0xd6 // mov rsi, rdx
WORD $0xf748; BYTE $0xd6 // not rsi
WORD $0x01a8 // test al, 1
JE LBB4_945
LONG $0x0410fbc5; BYTE $0xd1 // vmovsd xmm0, qword [rcx + 8*rdx]
WORD $0xff31 // xor edi, edi
LONG $0xc9eff1c5 // vpxor xmm1, xmm1, xmm1
LONG $0xc82ef9c5 // vucomisd xmm1, xmm0
LONG $0x4554f9c5; BYTE $0x30 // vandpd xmm0, xmm0, oword 48[rbp] /* [rip + .LCPI4_2] */
LONG $0x4d12fbc5; BYTE $0x08 // vmovddup xmm1, qword 8[rbp] /* [rip + .LCPI4_1] */
LONG $0xc056f1c5 // vorpd xmm0, xmm1, xmm0
LONG $0xd82cfbc5 // vcvttsd2si ebx, xmm0
WORD $0x440f; BYTE $0xdf // cmove ebx, edi
LONG $0x101c8841 // mov byte [r8 + rdx], bl
LONG $0x01ca8348 // or rdx, 1
LBB4_945:
WORD $0x0148; BYTE $0xc6 // add rsi, rax
JE LBB4_1351
WORD $0xf631 // xor esi, esi
LONG $0xc057f9c5 // vxorpd xmm0, xmm0, xmm0
LONG $0x4d28f9c5; BYTE $0x30 // vmovapd xmm1, oword 48[rbp] /* [rip + .LCPI4_2] */
LONG $0x5512fbc5; BYTE $0x08 // vmovddup xmm2, qword 8[rbp] /* [rip + .LCPI4_1] */
LBB4_947:
LONG $0x1c10fbc5; BYTE $0xd1 // vmovsd xmm3, qword [rcx + 8*rdx]
LONG $0xc32ef9c5 // vucomisd xmm0, xmm3
LONG $0xd954e1c5 // vandpd xmm3, xmm3, xmm1
LONG $0xdb56e9c5 // vorpd xmm3, xmm2, xmm3
LONG $0xfb2cfbc5 // vcvttsd2si edi, xmm3
WORD $0x440f; BYTE $0xfe // cmove edi, esi
LONG $0x103c8841 // mov byte [r8 + rdx], dil
LONG $0x5c10fbc5; WORD $0x08d1 // vmovsd xmm3, qword [rcx + 8*rdx + 8]
LONG $0xc32ef9c5 // vucomisd xmm0, xmm3
LONG $0xd954e1c5 // vandpd xmm3, xmm3, xmm1
LONG $0xdb56e9c5 // vorpd xmm3, xmm2, xmm3
LONG $0xfb2cfbc5 // vcvttsd2si edi, xmm3
WORD $0x440f; BYTE $0xfe // cmove edi, esi
LONG $0x107c8841; BYTE $0x01 // mov byte [r8 + rdx + 1], dil
LONG $0x02c28348 // add rdx, 2
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JNE LBB4_947
JMP LBB4_1351
LBB4_174:
WORD $0xfe83; BYTE $0x02 // cmp esi, 2
JE LBB4_393
WORD $0xfe83; BYTE $0x03 // cmp esi, 3
JNE LBB4_1351
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x80f98141; WORD $0x0000; BYTE $0x00 // cmp r9d, 128
JB LBB4_178
LONG $0x11148d4a // lea rdx, [rcx + r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_948
LONG $0x10148d4b // lea rdx, [r8 + r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_948
LBB4_178:
WORD $0x3145; BYTE $0xdb // xor r11d, r11d
LBB4_951:
WORD $0x894c; BYTE $0xde // mov rsi, r11
WORD $0xf748; BYTE $0xd6 // not rsi
LONG $0x01c2f641 // test r10b, 1
JE LBB4_953
LONG $0x193c8a42 // mov dil, byte [rcx + r11]
WORD $0x8440; BYTE $0xff // test dil, dil
LONG $0xd1950f41 // setne r9b
WORD $0xf641; BYTE $0xd9 // neg r9b
WORD $0x8440; BYTE $0xff // test dil, dil
LONG $0xc9b60f45 // movzx r9d, r9b
LONG $0x000001bf; BYTE $0x00 // mov edi, 1
LONG $0xf94e0f41 // cmovle edi, r9d
LONG $0x183c8843 // mov byte [r8 + r11], dil
LONG $0x01cb8349 // or r11, 1
LBB4_953:
WORD $0x014c; BYTE $0xd6 // add rsi, r10
JE LBB4_1351
LONG $0x000001be; BYTE $0x00 // mov esi, 1
LBB4_955:
LONG $0x04b60f42; BYTE $0x19 // movzx eax, byte [rcx + r11]
WORD $0xc084 // test al, al
WORD $0x950f; BYTE $0xd2 // setne dl
WORD $0xdaf6 // neg dl
WORD $0xc084 // test al, al
WORD $0xb60f; BYTE $0xc2 // movzx eax, dl
WORD $0x4f0f; BYTE $0xc6 // cmovg eax, esi
LONG $0x18048843 // mov byte [r8 + r11], al
LONG $0x44b60f42; WORD $0x0119 // movzx eax, byte [rcx + r11 + 1]
WORD $0xc084 // test al, al
WORD $0x950f; BYTE $0xd2 // setne dl
WORD $0xdaf6 // neg dl
WORD $0xc084 // test al, al
WORD $0xb60f; BYTE $0xc2 // movzx eax, dl
WORD $0x4f0f; BYTE $0xc6 // cmovg eax, esi
LONG $0x18448843; BYTE $0x01 // mov byte [r8 + r11 + 1], al
LONG $0x02c38349 // add r11, 2
WORD $0x394d; BYTE $0xda // cmp r10, r11
JNE LBB4_955
JMP LBB4_1351
LBB4_179:
WORD $0xfe83; BYTE $0x02 // cmp esi, 2
JE LBB4_396
WORD $0xfe83; BYTE $0x03 // cmp esi, 3
JNE LBB4_1351
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB4_183
LONG $0xc1148d48 // lea rdx, [rcx + 8*rax]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_956
LONG $0x00148d49 // lea rdx, [r8 + rax]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_956
LBB4_183:
WORD $0xd231 // xor edx, edx
LBB4_959:
WORD $0x8948; BYTE $0xd6 // mov rsi, rdx
WORD $0xf748; BYTE $0xd6 // not rsi
WORD $0x0148; BYTE $0xc6 // add rsi, rax
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x03e78348 // and rdi, 3
JE LBB4_961
LBB4_960:
LONG $0xd13c8348; BYTE $0x00 // cmp qword [rcx + 8*rdx], 0
LONG $0x14950f41; BYTE $0x10 // setne byte [r8 + rdx]
LONG $0x01c28348 // add rdx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB4_960
LBB4_961:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB4_1351
LBB4_962:
LONG $0xd13c8348; BYTE $0x00 // cmp qword [rcx + 8*rdx], 0
LONG $0x14950f41; BYTE $0x10 // setne byte [r8 + rdx]
LONG $0xd17c8348; WORD $0x0008 // cmp qword [rcx + 8*rdx + 8], 0
LONG $0x54950f41; WORD $0x0110 // setne byte [r8 + rdx + 1]
LONG $0xd17c8348; WORD $0x0010 // cmp qword [rcx + 8*rdx + 16], 0
LONG $0x54950f41; WORD $0x0210 // setne byte [r8 + rdx + 2]
LONG $0xd17c8348; WORD $0x0018 // cmp qword [rcx + 8*rdx + 24], 0
LONG $0x54950f41; WORD $0x0310 // setne byte [r8 + rdx + 3]
LONG $0x04c28348 // add rdx, 4
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JNE LBB4_962
JMP LBB4_1351
LBB4_184:
WORD $0xfe83; BYTE $0x02 // cmp esi, 2
JE LBB4_399
WORD $0xfe83; BYTE $0x03 // cmp esi, 3
JNE LBB4_1351
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x40f98341 // cmp r9d, 64
JB LBB4_188
LONG $0x41148d48 // lea rdx, [rcx + 2*rax]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_963
LONG $0x00148d49 // lea rdx, [r8 + rax]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_963
LBB4_188:
WORD $0xd231 // xor edx, edx
LBB4_966:
WORD $0x8948; BYTE $0xd6 // mov rsi, rdx
WORD $0xf748; BYTE $0xd6 // not rsi
WORD $0x0148; BYTE $0xc6 // add rsi, rax
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x03e78348 // and rdi, 3
JE LBB4_968
LBB4_967:
LONG $0x513c8366; BYTE $0x00 // cmp word [rcx + 2*rdx], 0
LONG $0x14950f41; BYTE $0x10 // setne byte [r8 + rdx]
LONG $0x01c28348 // add rdx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB4_967
LBB4_968:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB4_1351
LBB4_969:
LONG $0x513c8366; BYTE $0x00 // cmp word [rcx + 2*rdx], 0
LONG $0x14950f41; BYTE $0x10 // setne byte [r8 + rdx]
LONG $0x517c8366; WORD $0x0002 // cmp word [rcx + 2*rdx + 2], 0
LONG $0x54950f41; WORD $0x0110 // setne byte [r8 + rdx + 1]
LONG $0x517c8366; WORD $0x0004 // cmp word [rcx + 2*rdx + 4], 0
LONG $0x54950f41; WORD $0x0210 // setne byte [r8 + rdx + 2]
LONG $0x517c8366; WORD $0x0006 // cmp word [rcx + 2*rdx + 6], 0
LONG $0x54950f41; WORD $0x0310 // setne byte [r8 + rdx + 3]
LONG $0x04c28348 // add rdx, 4
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JNE LBB4_969
JMP LBB4_1351
LBB4_189:
WORD $0xfe83; BYTE $0x02 // cmp esi, 2
JE LBB4_402
WORD $0xfe83; BYTE $0x03 // cmp esi, 3
JNE LBB4_1351
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x40f98341 // cmp r9d, 64
JB LBB4_193
LONG $0x51148d4a // lea rdx, [rcx + 2*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_970
LONG $0x10148d4b // lea rdx, [r8 + r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_970
LBB4_193:
WORD $0x3145; BYTE $0xdb // xor r11d, r11d
LBB4_973:
WORD $0x894c; BYTE $0xde // mov rsi, r11
WORD $0xf748; BYTE $0xd6 // not rsi
LONG $0x01c2f641 // test r10b, 1
JE LBB4_975
LONG $0x3cb70f42; BYTE $0x59 // movzx edi, word [rcx + 2*r11]
WORD $0x8566; BYTE $0xff // test di, di
LONG $0xd1950f41 // setne r9b
WORD $0xf641; BYTE $0xd9 // neg r9b
WORD $0x8566; BYTE $0xff // test di, di
LONG $0xc9b60f45 // movzx r9d, r9b
LONG $0x000001bf; BYTE $0x00 // mov edi, 1
LONG $0xf94e0f41 // cmovle edi, r9d
LONG $0x183c8843 // mov byte [r8 + r11], dil
LONG $0x01cb8349 // or r11, 1
LBB4_975:
WORD $0x014c; BYTE $0xd6 // add rsi, r10
JE LBB4_1351
LONG $0x000001be; BYTE $0x00 // mov esi, 1
LBB4_977:
LONG $0x3cb70f42; BYTE $0x59 // movzx edi, word [rcx + 2*r11]
WORD $0x8566; BYTE $0xff // test di, di
WORD $0x950f; BYTE $0xd0 // setne al
WORD $0xd8f6 // neg al
WORD $0x8566; BYTE $0xff // test di, di
WORD $0xb60f; BYTE $0xc0 // movzx eax, al
WORD $0x4f0f; BYTE $0xc6 // cmovg eax, esi
LONG $0x18048843 // mov byte [r8 + r11], al
LONG $0x44b70f42; WORD $0x0259 // movzx eax, word [rcx + 2*r11 + 2]
WORD $0x8566; BYTE $0xc0 // test ax, ax
WORD $0x950f; BYTE $0xd2 // setne dl
WORD $0xdaf6 // neg dl
WORD $0x8566; BYTE $0xc0 // test ax, ax
WORD $0xb60f; BYTE $0xc2 // movzx eax, dl
WORD $0x4f0f; BYTE $0xc6 // cmovg eax, esi
LONG $0x18448843; BYTE $0x01 // mov byte [r8 + r11 + 1], al
LONG $0x02c38349 // add r11, 2
WORD $0x394d; BYTE $0xda // cmp r10, r11
JNE LBB4_977
JMP LBB4_1351
LBB4_194:
WORD $0xfe83; BYTE $0x02 // cmp esi, 2
JE LBB4_405
WORD $0xfe83; BYTE $0x03 // cmp esi, 3
JNE LBB4_1351
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB4_198
LONG $0xd1148d4a // lea rdx, [rcx + 8*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_978
LONG $0x10148d4b // lea rdx, [r8 + r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_978
LBB4_198:
WORD $0x3145; BYTE $0xdb // xor r11d, r11d
LBB4_981:
WORD $0x894c; BYTE $0xde // mov rsi, r11
WORD $0xf748; BYTE $0xd6 // not rsi
LONG $0x01c2f641 // test r10b, 1
JE LBB4_983
LONG $0xd93c8b4a // mov rdi, qword [rcx + 8*r11]
WORD $0x8548; BYTE $0xff // test rdi, rdi
LONG $0xd1950f41 // setne r9b
WORD $0xf641; BYTE $0xd9 // neg r9b
WORD $0x8548; BYTE $0xff // test rdi, rdi
LONG $0xc9b60f45 // movzx r9d, r9b
LONG $0x000001bf; BYTE $0x00 // mov edi, 1
LONG $0xf94e0f41 // cmovle edi, r9d
LONG $0x183c8843 // mov byte [r8 + r11], dil
LONG $0x01cb8349 // or r11, 1
LBB4_983:
WORD $0x014c; BYTE $0xd6 // add rsi, r10
JE LBB4_1351
LONG $0x000001be; BYTE $0x00 // mov esi, 1
LBB4_985:
LONG $0xd93c8b4a // mov rdi, qword [rcx + 8*r11]
WORD $0x8548; BYTE $0xff // test rdi, rdi
WORD $0x950f; BYTE $0xd0 // setne al
WORD $0xd8f6 // neg al
WORD $0x8548; BYTE $0xff // test rdi, rdi
WORD $0xb60f; BYTE $0xc0 // movzx eax, al
WORD $0x4f0f; BYTE $0xc6 // cmovg eax, esi
LONG $0x18048843 // mov byte [r8 + r11], al
LONG $0xd9448b4a; BYTE $0x08 // mov rax, qword [rcx + 8*r11 + 8]
WORD $0x8548; BYTE $0xc0 // test rax, rax
WORD $0x950f; BYTE $0xd2 // setne dl
WORD $0xdaf6 // neg dl
WORD $0x8548; BYTE $0xc0 // test rax, rax
WORD $0xb60f; BYTE $0xc2 // movzx eax, dl
WORD $0x4f0f; BYTE $0xc6 // cmovg eax, esi
LONG $0x18448843; BYTE $0x01 // mov byte [r8 + r11 + 1], al
LONG $0x02c38349 // add r11, 2
WORD $0x394d; BYTE $0xda // cmp r10, r11
JNE LBB4_985
JMP LBB4_1351
LBB4_199:
WORD $0xfe83; BYTE $0x02 // cmp esi, 2
JE LBB4_408
WORD $0xfe83; BYTE $0x03 // cmp esi, 3
JNE LBB4_1351
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB4_203
LONG $0x91148d4a // lea rdx, [rcx + 4*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_986
LONG $0x10148d4b // lea rdx, [r8 + r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_986
LBB4_203:
WORD $0xd231 // xor edx, edx
LBB4_989:
WORD $0x8948; BYTE $0xd6 // mov rsi, rdx
WORD $0xf748; BYTE $0xd6 // not rsi
LONG $0x01c2f641 // test r10b, 1
JE LBB4_991
LONG $0x046ef9c5; BYTE $0x91 // vmovd xmm0, dword [rcx + 4*rdx]
LONG $0xc77ef9c5 // vmovd edi, xmm0
WORD $0xff85 // test edi, edi
LONG $0xd7990f40 // setns dil
WORD $0x0040; BYTE $0xff // add dil, dil
LONG $0xffc78040 // add dil, -1
WORD $0x3145; BYTE $0xc9 // xor r9d, r9d
LONG $0xc9eff1c5 // vpxor xmm1, xmm1, xmm1
LONG $0xc82ef8c5 // vucomiss xmm1, xmm0
LONG $0xffb60f40 // movzx edi, dil
LONG $0xf9440f41 // cmove edi, r9d
LONG $0x103c8841 // mov byte [r8 + rdx], dil
LONG $0x01ca8348 // or rdx, 1
LBB4_991:
WORD $0x014c; BYTE $0xd6 // add rsi, r10
JE LBB4_1351
WORD $0xf631 // xor esi, esi
LONG $0xc057f8c5 // vxorps xmm0, xmm0, xmm0
LBB4_993:
LONG $0x0c6ef9c5; BYTE $0x91 // vmovd xmm1, dword [rcx + 4*rdx]
LONG $0xcf7ef9c5 // vmovd edi, xmm1
WORD $0xff85 // test edi, edi
WORD $0x990f; BYTE $0xd0 // setns al
WORD $0xc000 // add al, al
WORD $0xff04 // add al, -1
LONG $0xc12ef8c5 // vucomiss xmm0, xmm1
WORD $0xb60f; BYTE $0xc0 // movzx eax, al
WORD $0x440f; BYTE $0xc6 // cmove eax, esi
LONG $0x10048841 // mov byte [r8 + rdx], al
LONG $0x4c6ef9c5; WORD $0x0491 // vmovd xmm1, dword [rcx + 4*rdx + 4]
LONG $0xc87ef9c5 // vmovd eax, xmm1
WORD $0xc085 // test eax, eax
WORD $0x990f; BYTE $0xd0 // setns al
WORD $0xc000 // add al, al
WORD $0xff04 // add al, -1
LONG $0xc12ef8c5 // vucomiss xmm0, xmm1
WORD $0xb60f; BYTE $0xc0 // movzx eax, al
WORD $0x440f; BYTE $0xc6 // cmove eax, esi
LONG $0x10448841; BYTE $0x01 // mov byte [r8 + rdx + 1], al
LONG $0x02c28348 // add rdx, 2
WORD $0x3949; BYTE $0xd2 // cmp r10, rdx
JNE LBB4_993
JMP LBB4_1351
LBB4_204:
WORD $0xfe83; BYTE $0x02 // cmp esi, 2
JE LBB4_411
WORD $0xfe83; BYTE $0x03 // cmp esi, 3
JNE LBB4_1351
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x80f98141; WORD $0x0000; BYTE $0x00 // cmp r9d, 128
JB LBB4_208
LONG $0x01148d48 // lea rdx, [rcx + rax]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_994
LONG $0x00148d49 // lea rdx, [r8 + rax]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_994
LBB4_208:
WORD $0xd231 // xor edx, edx
LBB4_997:
WORD $0x8948; BYTE $0xd6 // mov rsi, rdx
WORD $0xf748; BYTE $0xd6 // not rsi
WORD $0x0148; BYTE $0xc6 // add rsi, rax
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x03e78348 // and rdi, 3
JE LBB4_999
LBB4_998:
LONG $0x00113c80 // cmp byte [rcx + rdx], 0
LONG $0x14950f41; BYTE $0x10 // setne byte [r8 + rdx]
LONG $0x01c28348 // add rdx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB4_998
LBB4_999:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB4_1351
LBB4_1000:
LONG $0x00113c80 // cmp byte [rcx + rdx], 0
LONG $0x14950f41; BYTE $0x10 // setne byte [r8 + rdx]
LONG $0x01117c80; BYTE $0x00 // cmp byte [rcx + rdx + 1], 0
LONG $0x54950f41; WORD $0x0110 // setne byte [r8 + rdx + 1]
LONG $0x02117c80; BYTE $0x00 // cmp byte [rcx + rdx + 2], 0
LONG $0x54950f41; WORD $0x0210 // setne byte [r8 + rdx + 2]
LONG $0x03117c80; BYTE $0x00 // cmp byte [rcx + rdx + 3], 0
LONG $0x54950f41; WORD $0x0310 // setne byte [r8 + rdx + 3]
LONG $0x04c28348 // add rdx, 4
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JNE LBB4_1000
JMP LBB4_1351
LBB4_209:
WORD $0xfe83; BYTE $0x02 // cmp esi, 2
JE LBB4_414
WORD $0xfe83; BYTE $0x03 // cmp esi, 3
JNE LBB4_1351
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB4_213
LONG $0x91148d4a // lea rdx, [rcx + 4*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_1001
LONG $0x10148d4b // lea rdx, [r8 + r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_1001
LBB4_213:
WORD $0x3145; BYTE $0xdb // xor r11d, r11d
LBB4_1004:
WORD $0x894c; BYTE $0xde // mov rsi, r11
WORD $0xf748; BYTE $0xd6 // not rsi
LONG $0x01c2f641 // test r10b, 1
JE LBB4_1006
LONG $0x993c8b42 // mov edi, dword [rcx + 4*r11]
WORD $0xff85 // test edi, edi
LONG $0xd1950f41 // setne r9b
WORD $0xf641; BYTE $0xd9 // neg r9b
WORD $0xff85 // test edi, edi
LONG $0xc9b60f45 // movzx r9d, r9b
LONG $0x000001bf; BYTE $0x00 // mov edi, 1
LONG $0xf94e0f41 // cmovle edi, r9d
LONG $0x183c8843 // mov byte [r8 + r11], dil
LONG $0x01cb8349 // or r11, 1
LBB4_1006:
WORD $0x014c; BYTE $0xd6 // add rsi, r10
JE LBB4_1351
LONG $0x000001be; BYTE $0x00 // mov esi, 1
LBB4_1008:
LONG $0x993c8b42 // mov edi, dword [rcx + 4*r11]
WORD $0xff85 // test edi, edi
WORD $0x950f; BYTE $0xd0 // setne al
WORD $0xd8f6 // neg al
WORD $0xff85 // test edi, edi
WORD $0xb60f; BYTE $0xc0 // movzx eax, al
WORD $0x4f0f; BYTE $0xc6 // cmovg eax, esi
LONG $0x18048843 // mov byte [r8 + r11], al
LONG $0x99448b42; BYTE $0x04 // mov eax, dword [rcx + 4*r11 + 4]
WORD $0xc085 // test eax, eax
WORD $0x950f; BYTE $0xd2 // setne dl
WORD $0xdaf6 // neg dl
WORD $0xc085 // test eax, eax
WORD $0xb60f; BYTE $0xc2 // movzx eax, dl
WORD $0x4f0f; BYTE $0xc6 // cmovg eax, esi
LONG $0x18448843; BYTE $0x01 // mov byte [r8 + r11 + 1], al
LONG $0x02c38349 // add r11, 2
WORD $0x394d; BYTE $0xda // cmp r10, r11
JNE LBB4_1008
JMP LBB4_1351
LBB4_214:
WORD $0xfe83; BYTE $0x07 // cmp esi, 7
JE LBB4_417
WORD $0xfe83; BYTE $0x08 // cmp esi, 8
JNE LBB4_1351
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x10f98341 // cmp r9d, 16
JAE LBB4_577
WORD $0xd231 // xor edx, edx
JMP LBB4_580
LBB4_219:
WORD $0xfe83; BYTE $0x07 // cmp esi, 7
JE LBB4_420
WORD $0xfe83; BYTE $0x08 // cmp esi, 8
JNE LBB4_1351
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8945; BYTE $0xca // mov r10d, r9d
QUAD $0x000000000000bb49; WORD $0x8000 // mov r11, -9223372036854775808
LONG $0x04f98341 // cmp r9d, 4
JAE LBB4_581
WORD $0xf631 // xor esi, esi
JMP LBB4_1286
LBB4_224:
WORD $0xfe83; BYTE $0x07 // cmp esi, 7
JE LBB4_423
WORD $0xfe83; BYTE $0x08 // cmp esi, 8
JNE LBB4_1351
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8945; BYTE $0xcb // mov r11d, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB4_228
LONG $0x19148d4a // lea rdx, [rcx + r11]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_1009
LONG $0xd8148d4b // lea rdx, [r8 + 8*r11]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_1009
LBB4_228:
WORD $0xd231 // xor edx, edx
LBB4_1012:
WORD $0x8948; BYTE $0xd6 // mov rsi, rdx
WORD $0xf748; BYTE $0xd6 // not rsi
LONG $0x01c3f641 // test r11b, 1
JE LBB4_1014
LONG $0x110c8a44 // mov r9b, byte [rcx + rdx]
WORD $0x3145; BYTE $0xd2 // xor r10d, r10d
WORD $0x8445; BYTE $0xc9 // test r9b, r9b
LONG $0xd2950f41 // setne r10b
WORD $0xf749; BYTE $0xda // neg r10
WORD $0x8445; BYTE $0xc9 // test r9b, r9b
LONG $0x000001bf; BYTE $0x00 // mov edi, 1
LONG $0xfa4e0f49 // cmovle rdi, r10
LONG $0xd03c8949 // mov qword [r8 + 8*rdx], rdi
LONG $0x01ca8348 // or rdx, 1
LBB4_1014:
WORD $0x014c; BYTE $0xde // add rsi, r11
JE LBB4_1351
LONG $0x000001be; BYTE $0x00 // mov esi, 1
LBB4_1016:
LONG $0x1104b60f // movzx eax, byte [rcx + rdx]
WORD $0xff31 // xor edi, edi
WORD $0xc084 // test al, al
LONG $0xd7950f40 // setne dil
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xc084 // test al, al
LONG $0xfe4f0f48 // cmovg rdi, rsi
LONG $0xd03c8949 // mov qword [r8 + 8*rdx], rdi
LONG $0x1144b60f; BYTE $0x01 // movzx eax, byte [rcx + rdx + 1]
WORD $0xff31 // xor edi, edi
WORD $0xc084 // test al, al
LONG $0xd7950f40 // setne dil
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xc084 // test al, al
LONG $0xfe4f0f48 // cmovg rdi, rsi
LONG $0xd07c8949; BYTE $0x08 // mov qword [r8 + 8*rdx + 8], rdi
LONG $0x02c28348 // add rdx, 2
WORD $0x3949; BYTE $0xd3 // cmp r11, rdx
JNE LBB4_1016
JMP LBB4_1351
LBB4_229:
WORD $0xfe83; BYTE $0x07 // cmp esi, 7
JE LBB4_426
WORD $0xfe83; BYTE $0x08 // cmp esi, 8
JNE LBB4_1351
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB4_233
LONG $0xc1148d48 // lea rdx, [rcx + 8*rax]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_1017
LONG $0xc0148d49 // lea rdx, [r8 + 8*rax]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_1017
LBB4_233:
WORD $0xd231 // xor edx, edx
LBB4_1020:
WORD $0x8949; BYTE $0xd1 // mov r9, rdx
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x0149; BYTE $0xc1 // add r9, rax
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x03e78348 // and rdi, 3
JE LBB4_1022
LBB4_1021:
WORD $0xf631 // xor esi, esi
LONG $0xd13c8348; BYTE $0x00 // cmp qword [rcx + 8*rdx], 0
LONG $0xd6950f40 // setne sil
LONG $0xd0348949 // mov qword [r8 + 8*rdx], rsi
LONG $0x01c28348 // add rdx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB4_1021
LBB4_1022:
LONG $0x03f98349 // cmp r9, 3
JB LBB4_1351
LBB4_1023:
WORD $0xf631 // xor esi, esi
LONG $0xd13c8348; BYTE $0x00 // cmp qword [rcx + 8*rdx], 0
LONG $0xd6950f40 // setne sil
LONG $0xd0348949 // mov qword [r8 + 8*rdx], rsi
WORD $0xf631 // xor esi, esi
LONG $0xd17c8348; WORD $0x0008 // cmp qword [rcx + 8*rdx + 8], 0
LONG $0xd6950f40 // setne sil
LONG $0xd0748949; BYTE $0x08 // mov qword [r8 + 8*rdx + 8], rsi
WORD $0xf631 // xor esi, esi
LONG $0xd17c8348; WORD $0x0010 // cmp qword [rcx + 8*rdx + 16], 0
LONG $0xd6950f40 // setne sil
LONG $0xd0748949; BYTE $0x10 // mov qword [r8 + 8*rdx + 16], rsi
WORD $0xf631 // xor esi, esi
LONG $0xd17c8348; WORD $0x0018 // cmp qword [rcx + 8*rdx + 24], 0
LONG $0xd6950f40 // setne sil
LONG $0xd0748949; BYTE $0x18 // mov qword [r8 + 8*rdx + 24], rsi
LONG $0x04c28348 // add rdx, 4
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JNE LBB4_1023
JMP LBB4_1351
LBB4_234:
WORD $0xfe83; BYTE $0x07 // cmp esi, 7
JE LBB4_429
WORD $0xfe83; BYTE $0x08 // cmp esi, 8
JNE LBB4_1351
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x10f98341 // cmp r9d, 16
JAE LBB4_590
WORD $0xd231 // xor edx, edx
JMP LBB4_593
LBB4_239:
WORD $0xfe83; BYTE $0x07 // cmp esi, 7
JE LBB4_432
WORD $0xfe83; BYTE $0x08 // cmp esi, 8
JNE LBB4_1351
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JAE LBB4_594
WORD $0xd231 // xor edx, edx
JMP LBB4_597
LBB4_244:
WORD $0xfe83; BYTE $0x07 // cmp esi, 7
JE LBB4_435
WORD $0xfe83; BYTE $0x08 // cmp esi, 8
JNE LBB4_1351
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8945; BYTE $0xcb // mov r11d, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB4_248
LONG $0xd9148d4a // lea rdx, [rcx + 8*r11]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_1024
LONG $0xd8148d4b // lea rdx, [r8 + 8*r11]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_1024
LBB4_248:
WORD $0xd231 // xor edx, edx
LBB4_1027:
WORD $0x8948; BYTE $0xd6 // mov rsi, rdx
WORD $0xf748; BYTE $0xd6 // not rsi
LONG $0x01c3f641 // test r11b, 1
JE LBB4_1029
LONG $0xd10c8b4c // mov r9, qword [rcx + 8*rdx]
WORD $0x3145; BYTE $0xd2 // xor r10d, r10d
WORD $0x854d; BYTE $0xc9 // test r9, r9
LONG $0xd2950f41 // setne r10b
WORD $0xf749; BYTE $0xda // neg r10
WORD $0x854d; BYTE $0xc9 // test r9, r9
LONG $0x000001bf; BYTE $0x00 // mov edi, 1
LONG $0xfa4e0f49 // cmovle rdi, r10
LONG $0xd03c8949 // mov qword [r8 + 8*rdx], rdi
LONG $0x01ca8348 // or rdx, 1
LBB4_1029:
WORD $0x014c; BYTE $0xde // add rsi, r11
JE LBB4_1351
LONG $0x000001be; BYTE $0x00 // mov esi, 1
LBB4_1031:
LONG $0xd13c8b48 // mov rdi, qword [rcx + 8*rdx]
WORD $0xc031 // xor eax, eax
WORD $0x8548; BYTE $0xff // test rdi, rdi
WORD $0x950f; BYTE $0xd0 // setne al
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0x8548; BYTE $0xff // test rdi, rdi
LONG $0xc64f0f48 // cmovg rax, rsi
LONG $0xd0048949 // mov qword [r8 + 8*rdx], rax
LONG $0xd1448b48; BYTE $0x08 // mov rax, qword [rcx + 8*rdx + 8]
WORD $0xff31 // xor edi, edi
WORD $0x8548; BYTE $0xc0 // test rax, rax
LONG $0xd7950f40 // setne dil
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0x8548; BYTE $0xc0 // test rax, rax
LONG $0xfe4f0f48 // cmovg rdi, rsi
LONG $0xd07c8949; BYTE $0x08 // mov qword [r8 + 8*rdx + 8], rdi
LONG $0x02c28348 // add rdx, 2
WORD $0x3949; BYTE $0xd3 // cmp r11, rdx
JNE LBB4_1031
JMP LBB4_1351
LBB4_249:
WORD $0xfe83; BYTE $0x07 // cmp esi, 7
JE LBB4_438
WORD $0xfe83; BYTE $0x08 // cmp esi, 8
JNE LBB4_1351
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x01f98341 // cmp r9d, 1
JNE LBB4_602
WORD $0xc031 // xor eax, eax
JMP LBB4_254
LBB4_257:
WORD $0xfe83; BYTE $0x07 // cmp esi, 7
JE LBB4_441
WORD $0xfe83; BYTE $0x08 // cmp esi, 8
JNE LBB4_1351
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB4_261
LONG $0x01148d48 // lea rdx, [rcx + rax]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_1032
LONG $0xc0148d49 // lea rdx, [r8 + 8*rax]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_1032
LBB4_261:
WORD $0xd231 // xor edx, edx
LBB4_1035:
WORD $0x8949; BYTE $0xd1 // mov r9, rdx
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x0149; BYTE $0xc1 // add r9, rax
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x03e78348 // and rdi, 3
JE LBB4_1037
LBB4_1036:
WORD $0xf631 // xor esi, esi
LONG $0x00113c80 // cmp byte [rcx + rdx], 0
LONG $0xd6950f40 // setne sil
LONG $0xd0348949 // mov qword [r8 + 8*rdx], rsi
LONG $0x01c28348 // add rdx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB4_1036
LBB4_1037:
LONG $0x03f98349 // cmp r9, 3
JB LBB4_1351
LBB4_1038:
WORD $0xf631 // xor esi, esi
LONG $0x00113c80 // cmp byte [rcx + rdx], 0
LONG $0xd6950f40 // setne sil
LONG $0xd0348949 // mov qword [r8 + 8*rdx], rsi
WORD $0xf631 // xor esi, esi
LONG $0x01117c80; BYTE $0x00 // cmp byte [rcx + rdx + 1], 0
LONG $0xd6950f40 // setne sil
LONG $0xd0748949; BYTE $0x08 // mov qword [r8 + 8*rdx + 8], rsi
WORD $0xf631 // xor esi, esi
LONG $0x02117c80; BYTE $0x00 // cmp byte [rcx + rdx + 2], 0
LONG $0xd6950f40 // setne sil
LONG $0xd0748949; BYTE $0x10 // mov qword [r8 + 8*rdx + 16], rsi
WORD $0xf631 // xor esi, esi
LONG $0x03117c80; BYTE $0x00 // cmp byte [rcx + rdx + 3], 0
LONG $0xd6950f40 // setne sil
LONG $0xd0748949; BYTE $0x18 // mov qword [r8 + 8*rdx + 24], rsi
LONG $0x04c28348 // add rdx, 4
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JNE LBB4_1038
JMP LBB4_1351
LBB4_262:
WORD $0xfe83; BYTE $0x07 // cmp esi, 7
JE LBB4_444
WORD $0xfe83; BYTE $0x08 // cmp esi, 8
JNE LBB4_1351
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JAE LBB4_613
WORD $0xd231 // xor edx, edx
JMP LBB4_616
LBB4_267:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x20f98341 // cmp r9d, 32
JAE LBB4_618
WORD $0xd231 // xor edx, edx
JMP LBB4_621
LBB4_270:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x20f98341 // cmp r9d, 32
JAE LBB4_622
WORD $0xd231 // xor edx, edx
JMP LBB4_625
LBB4_273:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
WORD $0xd231 // xor edx, edx
LONG $0x10f98341 // cmp r9d, 16
JAE LBB4_626
WORD $0xf631 // xor esi, esi
JMP LBB4_629
LBB4_276:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
WORD $0xd231 // xor edx, edx
LONG $0x10f98341 // cmp r9d, 16
JAE LBB4_631
WORD $0xf631 // xor esi, esi
JMP LBB4_634
LBB4_279:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8945; BYTE $0xcb // mov r11d, r9d
LONG $0x40f98341 // cmp r9d, 64
JB LBB4_281
LONG $0x19148d4a // lea rdx, [rcx + r11]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_1039
LONG $0x58148d4b // lea rdx, [r8 + 2*r11]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_1039
LBB4_281:
WORD $0xd231 // xor edx, edx
LBB4_1042:
WORD $0x8948; BYTE $0xd6 // mov rsi, rdx
WORD $0xf748; BYTE $0xd6 // not rsi
LONG $0x01c3f641 // test r11b, 1
JE LBB4_1044
LONG $0x110c8a44 // mov r9b, byte [rcx + rdx]
WORD $0x3145; BYTE $0xd2 // xor r10d, r10d
WORD $0x8445; BYTE $0xc9 // test r9b, r9b
LONG $0xd2950f41 // setne r10b
WORD $0xf741; BYTE $0xda // neg r10d
WORD $0x8445; BYTE $0xc9 // test r9b, r9b
LONG $0x000001bf; BYTE $0x00 // mov edi, 1
LONG $0xfa4e0f41 // cmovle edi, r10d
LONG $0x3c894166; BYTE $0x50 // mov word [r8 + 2*rdx], di
LONG $0x01ca8348 // or rdx, 1
LBB4_1044:
WORD $0x014c; BYTE $0xde // add rsi, r11
JE LBB4_1351
LONG $0x000001be; BYTE $0x00 // mov esi, 1
LBB4_1046:
LONG $0x1104b60f // movzx eax, byte [rcx + rdx]
WORD $0xff31 // xor edi, edi
WORD $0xc084 // test al, al
LONG $0xd7950f40 // setne dil
WORD $0xdff7 // neg edi
WORD $0xc084 // test al, al
WORD $0x4f0f; BYTE $0xfe // cmovg edi, esi
LONG $0x3c894166; BYTE $0x50 // mov word [r8 + 2*rdx], di
LONG $0x1144b60f; BYTE $0x01 // movzx eax, byte [rcx + rdx + 1]
WORD $0xff31 // xor edi, edi
WORD $0xc084 // test al, al
LONG $0xd7950f40 // setne dil
WORD $0xdff7 // neg edi
WORD $0xc084 // test al, al
WORD $0x4f0f; BYTE $0xfe // cmovg edi, esi
LONG $0x7c894166; WORD $0x0250 // mov word [r8 + 2*rdx + 2], di
LONG $0x02c28348 // add rdx, 2
WORD $0x3949; BYTE $0xd3 // cmp r11, rdx
JNE LBB4_1046
JMP LBB4_1351
LBB4_282:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8945; BYTE $0xcb // mov r11d, r9d
LONG $0x40f98341 // cmp r9d, 64
JB LBB4_284
LONG $0x19148d4a // lea rdx, [rcx + r11]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_1047
LONG $0x58148d4b // lea rdx, [r8 + 2*r11]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_1047
LBB4_284:
WORD $0xd231 // xor edx, edx
LBB4_1050:
WORD $0x8948; BYTE $0xd6 // mov rsi, rdx
WORD $0xf748; BYTE $0xd6 // not rsi
LONG $0x01c3f641 // test r11b, 1
JE LBB4_1052
LONG $0x110c8a44 // mov r9b, byte [rcx + rdx]
WORD $0x3145; BYTE $0xd2 // xor r10d, r10d
WORD $0x8445; BYTE $0xc9 // test r9b, r9b
LONG $0xd2950f41 // setne r10b
WORD $0xf741; BYTE $0xda // neg r10d
WORD $0x8445; BYTE $0xc9 // test r9b, r9b
LONG $0x000001bf; BYTE $0x00 // mov edi, 1
LONG $0xfa4e0f41 // cmovle edi, r10d
LONG $0x3c894166; BYTE $0x50 // mov word [r8 + 2*rdx], di
LONG $0x01ca8348 // or rdx, 1
LBB4_1052:
WORD $0x014c; BYTE $0xde // add rsi, r11
JE LBB4_1351
LONG $0x000001be; BYTE $0x00 // mov esi, 1
LBB4_1054:
LONG $0x1104b60f // movzx eax, byte [rcx + rdx]
WORD $0xff31 // xor edi, edi
WORD $0xc084 // test al, al
LONG $0xd7950f40 // setne dil
WORD $0xdff7 // neg edi
WORD $0xc084 // test al, al
WORD $0x4f0f; BYTE $0xfe // cmovg edi, esi
LONG $0x3c894166; BYTE $0x50 // mov word [r8 + 2*rdx], di
LONG $0x1144b60f; BYTE $0x01 // movzx eax, byte [rcx + rdx + 1]
WORD $0xff31 // xor edi, edi
WORD $0xc084 // test al, al
LONG $0xd7950f40 // setne dil
WORD $0xdff7 // neg edi
WORD $0xc084 // test al, al
WORD $0x4f0f; BYTE $0xfe // cmovg edi, esi
LONG $0x7c894166; WORD $0x0250 // mov word [r8 + 2*rdx + 2], di
LONG $0x02c28348 // add rdx, 2
WORD $0x3949; BYTE $0xd3 // cmp r11, rdx
JNE LBB4_1054
JMP LBB4_1351
LBB4_285:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x10f98341 // cmp r9d, 16
JAE LBB4_642
WORD $0xd231 // xor edx, edx
JMP LBB4_645
LBB4_288:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x10f98341 // cmp r9d, 16
JAE LBB4_646
WORD $0xd231 // xor edx, edx
JMP LBB4_649
LBB4_291:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB4_293
LONG $0x41148d48 // lea rdx, [rcx + 2*rax]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_1055
LONG $0x40148d49 // lea rdx, [r8 + 2*rax]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_1055
LBB4_293:
WORD $0xd231 // xor edx, edx
LBB4_1321:
WORD $0x8949; BYTE $0xd1 // mov r9, rdx
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x0149; BYTE $0xc1 // add r9, rax
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x03e78348 // and rdi, 3
JE LBB4_1323
LBB4_1322:
WORD $0xf631 // xor esi, esi
LONG $0x513c8366; BYTE $0x00 // cmp word [rcx + 2*rdx], 0
LONG $0xd6950f40 // setne sil
LONG $0x34894166; BYTE $0x50 // mov word [r8 + 2*rdx], si
LONG $0x01c28348 // add rdx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB4_1322
LBB4_1323:
LONG $0x03f98349 // cmp r9, 3
JB LBB4_1351
LBB4_1324:
WORD $0xf631 // xor esi, esi
LONG $0x513c8366; BYTE $0x00 // cmp word [rcx + 2*rdx], 0
LONG $0xd6950f40 // setne sil
LONG $0x34894166; BYTE $0x50 // mov word [r8 + 2*rdx], si
WORD $0xf631 // xor esi, esi
LONG $0x517c8366; WORD $0x0002 // cmp word [rcx + 2*rdx + 2], 0
LONG $0xd6950f40 // setne sil
LONG $0x74894166; WORD $0x0250 // mov word [r8 + 2*rdx + 2], si
WORD $0xf631 // xor esi, esi
LONG $0x517c8366; WORD $0x0004 // cmp word [rcx + 2*rdx + 4], 0
LONG $0xd6950f40 // setne sil
LONG $0x74894166; WORD $0x0450 // mov word [r8 + 2*rdx + 4], si
WORD $0xf631 // xor esi, esi
LONG $0x517c8366; WORD $0x0006 // cmp word [rcx + 2*rdx + 6], 0
LONG $0xd6950f40 // setne sil
LONG $0x74894166; WORD $0x0650 // mov word [r8 + 2*rdx + 6], si
LONG $0x04c28348 // add rdx, 4
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JNE LBB4_1324
JMP LBB4_1351
LBB4_294:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB4_296
LONG $0x41148d48 // lea rdx, [rcx + 2*rax]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_1058
LONG $0x40148d49 // lea rdx, [r8 + 2*rax]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_1058
LBB4_296:
WORD $0xd231 // xor edx, edx
LBB4_1329:
WORD $0x8949; BYTE $0xd1 // mov r9, rdx
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x0149; BYTE $0xc1 // add r9, rax
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x03e78348 // and rdi, 3
JE LBB4_1331
LBB4_1330:
WORD $0xf631 // xor esi, esi
LONG $0x513c8366; BYTE $0x00 // cmp word [rcx + 2*rdx], 0
LONG $0xd6950f40 // setne sil
LONG $0x34894166; BYTE $0x50 // mov word [r8 + 2*rdx], si
LONG $0x01c28348 // add rdx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB4_1330
LBB4_1331:
LONG $0x03f98349 // cmp r9, 3
JB LBB4_1351
LBB4_1332:
WORD $0xf631 // xor esi, esi
LONG $0x513c8366; BYTE $0x00 // cmp word [rcx + 2*rdx], 0
LONG $0xd6950f40 // setne sil
LONG $0x34894166; BYTE $0x50 // mov word [r8 + 2*rdx], si
WORD $0xf631 // xor esi, esi
LONG $0x517c8366; WORD $0x0002 // cmp word [rcx + 2*rdx + 2], 0
LONG $0xd6950f40 // setne sil
LONG $0x74894166; WORD $0x0250 // mov word [r8 + 2*rdx + 2], si
WORD $0xf631 // xor esi, esi
LONG $0x517c8366; WORD $0x0004 // cmp word [rcx + 2*rdx + 4], 0
LONG $0xd6950f40 // setne sil
LONG $0x74894166; WORD $0x0450 // mov word [r8 + 2*rdx + 4], si
WORD $0xf631 // xor esi, esi
LONG $0x517c8366; WORD $0x0006 // cmp word [rcx + 2*rdx + 6], 0
LONG $0xd6950f40 // setne sil
LONG $0x74894166; WORD $0x0650 // mov word [r8 + 2*rdx + 6], si
LONG $0x04c28348 // add rdx, 4
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JNE LBB4_1332
JMP LBB4_1351
LBB4_297:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8945; BYTE $0xcb // mov r11d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB4_299
LONG $0x59148d4a // lea rdx, [rcx + 2*r11]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_1061
LONG $0x58148d4b // lea rdx, [r8 + 2*r11]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_1061
LBB4_299:
WORD $0xd231 // xor edx, edx
LBB4_1337:
WORD $0x8948; BYTE $0xd6 // mov rsi, rdx
WORD $0xf748; BYTE $0xd6 // not rsi
LONG $0x01c3f641 // test r11b, 1
JE LBB4_1339
LONG $0x0cb70f44; BYTE $0x51 // movzx r9d, word [rcx + 2*rdx]
WORD $0x3145; BYTE $0xd2 // xor r10d, r10d
LONG $0xc9854566 // test r9w, r9w
LONG $0xd2950f41 // setne r10b
WORD $0xf741; BYTE $0xda // neg r10d
LONG $0xc9854566 // test r9w, r9w
LONG $0x000001bf; BYTE $0x00 // mov edi, 1
LONG $0xfa4e0f41 // cmovle edi, r10d
LONG $0x3c894166; BYTE $0x50 // mov word [r8 + 2*rdx], di
LONG $0x01ca8348 // or rdx, 1
LBB4_1339:
WORD $0x014c; BYTE $0xde // add rsi, r11
JE LBB4_1351
LONG $0x000001be; BYTE $0x00 // mov esi, 1
LBB4_1341:
LONG $0x513cb70f // movzx edi, word [rcx + 2*rdx]
WORD $0xc031 // xor eax, eax
WORD $0x8566; BYTE $0xff // test di, di
WORD $0x950f; BYTE $0xd0 // setne al
WORD $0xd8f7 // neg eax
WORD $0x8566; BYTE $0xff // test di, di
WORD $0x4f0f; BYTE $0xc6 // cmovg eax, esi
LONG $0x04894166; BYTE $0x50 // mov word [r8 + 2*rdx], ax
LONG $0x5144b70f; BYTE $0x02 // movzx eax, word [rcx + 2*rdx + 2]
WORD $0xff31 // xor edi, edi
WORD $0x8566; BYTE $0xc0 // test ax, ax
LONG $0xd7950f40 // setne dil
WORD $0xdff7 // neg edi
WORD $0x8566; BYTE $0xc0 // test ax, ax
WORD $0x4f0f; BYTE $0xfe // cmovg edi, esi
LONG $0x7c894166; WORD $0x0250 // mov word [r8 + 2*rdx + 2], di
LONG $0x02c28348 // add rdx, 2
WORD $0x3949; BYTE $0xd3 // cmp r11, rdx
JNE LBB4_1341
JMP LBB4_1351
LBB4_300:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8945; BYTE $0xcb // mov r11d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB4_302
LONG $0x59148d4a // lea rdx, [rcx + 2*r11]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_1064
LONG $0x58148d4b // lea rdx, [r8 + 2*r11]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_1064
LBB4_302:
WORD $0xd231 // xor edx, edx
LBB4_1346:
WORD $0x8948; BYTE $0xd6 // mov rsi, rdx
WORD $0xf748; BYTE $0xd6 // not rsi
LONG $0x01c3f641 // test r11b, 1
JE LBB4_1348
LONG $0x0cb70f44; BYTE $0x51 // movzx r9d, word [rcx + 2*rdx]
WORD $0x3145; BYTE $0xd2 // xor r10d, r10d
LONG $0xc9854566 // test r9w, r9w
LONG $0xd2950f41 // setne r10b
WORD $0xf741; BYTE $0xda // neg r10d
LONG $0xc9854566 // test r9w, r9w
LONG $0x000001bf; BYTE $0x00 // mov edi, 1
LONG $0xfa4e0f41 // cmovle edi, r10d
LONG $0x3c894166; BYTE $0x50 // mov word [r8 + 2*rdx], di
LONG $0x01ca8348 // or rdx, 1
LBB4_1348:
WORD $0x014c; BYTE $0xde // add rsi, r11
JE LBB4_1351
LONG $0x000001be; BYTE $0x00 // mov esi, 1
LBB4_1350:
LONG $0x513cb70f // movzx edi, word [rcx + 2*rdx]
WORD $0xc031 // xor eax, eax
WORD $0x8566; BYTE $0xff // test di, di
WORD $0x950f; BYTE $0xd0 // setne al
WORD $0xd8f7 // neg eax
WORD $0x8566; BYTE $0xff // test di, di
WORD $0x4f0f; BYTE $0xc6 // cmovg eax, esi
LONG $0x04894166; BYTE $0x50 // mov word [r8 + 2*rdx], ax
LONG $0x5144b70f; BYTE $0x02 // movzx eax, word [rcx + 2*rdx + 2]
WORD $0xff31 // xor edi, edi
WORD $0x8566; BYTE $0xc0 // test ax, ax
LONG $0xd7950f40 // setne dil
WORD $0xdff7 // neg edi
WORD $0x8566; BYTE $0xc0 // test ax, ax
WORD $0x4f0f; BYTE $0xfe // cmovg edi, esi
LONG $0x7c894166; WORD $0x0250 // mov word [r8 + 2*rdx + 2], di
LONG $0x02c28348 // add rdx, 2
WORD $0x3949; BYTE $0xd3 // cmp r11, rdx
JNE LBB4_1350
JMP LBB4_1351
LBB4_303:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JAE LBB4_662
WORD $0xd231 // xor edx, edx
JMP LBB4_665
LBB4_306:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JAE LBB4_667
WORD $0xd231 // xor edx, edx
JMP LBB4_670
LBB4_309:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
WORD $0x3145; BYTE $0xd2 // xor r10d, r10d
LONG $0x20f98341 // cmp r9d, 32
JAE LBB4_672
WORD $0xf631 // xor esi, esi
JMP LBB4_675
LBB4_312:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
WORD $0x3145; BYTE $0xd2 // xor r10d, r10d
LONG $0x20f98341 // cmp r9d, 32
JAE LBB4_677
WORD $0xf631 // xor esi, esi
JMP LBB4_680
LBB4_315:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x40f98341 // cmp r9d, 64
JB LBB4_317
LONG $0x01148d48 // lea rdx, [rcx + rax]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_1067
LONG $0x40148d49 // lea rdx, [r8 + 2*rax]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_1067
LBB4_317:
WORD $0xd231 // xor edx, edx
LBB4_1070:
WORD $0x8949; BYTE $0xd1 // mov r9, rdx
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x0149; BYTE $0xc1 // add r9, rax
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x03e78348 // and rdi, 3
JE LBB4_1072
LBB4_1071:
WORD $0xf631 // xor esi, esi
LONG $0x00113c80 // cmp byte [rcx + rdx], 0
LONG $0xd6950f40 // setne sil
LONG $0x34894166; BYTE $0x50 // mov word [r8 + 2*rdx], si
LONG $0x01c28348 // add rdx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB4_1071
LBB4_1072:
LONG $0x03f98349 // cmp r9, 3
JB LBB4_1351
LBB4_1073:
WORD $0xf631 // xor esi, esi
LONG $0x00113c80 // cmp byte [rcx + rdx], 0
LONG $0xd6950f40 // setne sil
LONG $0x34894166; BYTE $0x50 // mov word [r8 + 2*rdx], si
WORD $0xf631 // xor esi, esi
LONG $0x01117c80; BYTE $0x00 // cmp byte [rcx + rdx + 1], 0
LONG $0xd6950f40 // setne sil
LONG $0x74894166; WORD $0x0250 // mov word [r8 + 2*rdx + 2], si
WORD $0xf631 // xor esi, esi
LONG $0x02117c80; BYTE $0x00 // cmp byte [rcx + rdx + 2], 0
LONG $0xd6950f40 // setne sil
LONG $0x74894166; WORD $0x0450 // mov word [r8 + 2*rdx + 4], si
WORD $0xf631 // xor esi, esi
LONG $0x03117c80; BYTE $0x00 // cmp byte [rcx + rdx + 3], 0
LONG $0xd6950f40 // setne sil
LONG $0x74894166; WORD $0x0650 // mov word [r8 + 2*rdx + 6], si
LONG $0x04c28348 // add rdx, 4
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JNE LBB4_1073
JMP LBB4_1351
LBB4_318:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x40f98341 // cmp r9d, 64
JB LBB4_320
LONG $0x01148d48 // lea rdx, [rcx + rax]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_1074
LONG $0x40148d49 // lea rdx, [r8 + 2*rax]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_1074
LBB4_320:
WORD $0xd231 // xor edx, edx
LBB4_1077:
WORD $0x8949; BYTE $0xd1 // mov r9, rdx
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x0149; BYTE $0xc1 // add r9, rax
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x03e78348 // and rdi, 3
JE LBB4_1079
LBB4_1078:
WORD $0xf631 // xor esi, esi
LONG $0x00113c80 // cmp byte [rcx + rdx], 0
LONG $0xd6950f40 // setne sil
LONG $0x34894166; BYTE $0x50 // mov word [r8 + 2*rdx], si
LONG $0x01c28348 // add rdx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB4_1078
LBB4_1079:
LONG $0x03f98349 // cmp r9, 3
JB LBB4_1351
LBB4_1080:
WORD $0xf631 // xor esi, esi
LONG $0x00113c80 // cmp byte [rcx + rdx], 0
LONG $0xd6950f40 // setne sil
LONG $0x34894166; BYTE $0x50 // mov word [r8 + 2*rdx], si
WORD $0xf631 // xor esi, esi
LONG $0x01117c80; BYTE $0x00 // cmp byte [rcx + rdx + 1], 0
LONG $0xd6950f40 // setne sil
LONG $0x74894166; WORD $0x0250 // mov word [r8 + 2*rdx + 2], si
WORD $0xf631 // xor esi, esi
LONG $0x02117c80; BYTE $0x00 // cmp byte [rcx + rdx + 2], 0
LONG $0xd6950f40 // setne sil
LONG $0x74894166; WORD $0x0450 // mov word [r8 + 2*rdx + 4], si
WORD $0xf631 // xor esi, esi
LONG $0x03117c80; BYTE $0x00 // cmp byte [rcx + rdx + 3], 0
LONG $0xd6950f40 // setne sil
LONG $0x74894166; WORD $0x0650 // mov word [r8 + 2*rdx + 6], si
LONG $0x04c28348 // add rdx, 4
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JNE LBB4_1080
JMP LBB4_1351
LBB4_321:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JAE LBB4_688
WORD $0xd231 // xor edx, edx
JMP LBB4_691
LBB4_324:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JAE LBB4_693
WORD $0xd231 // xor edx, edx
JMP LBB4_696
LBB4_327:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x10f98341 // cmp r9d, 16
JAE LBB4_698
WORD $0xd231 // xor edx, edx
JMP LBB4_701
LBB4_330:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x20f98341 // cmp r9d, 32
JAE LBB4_702
WORD $0xd231 // xor edx, edx
JMP LBB4_705
LBB4_333:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x04f98341 // cmp r9d, 4
JAE LBB4_709
WORD $0xd231 // xor edx, edx
JMP LBB4_1306
LBB4_336:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x10f98341 // cmp r9d, 16
JAE LBB4_712
WORD $0xd231 // xor edx, edx
JMP LBB4_715
LBB4_339:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8945; BYTE $0xcb // mov r11d, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB4_341
LONG $0x19148d4a // lea rdx, [rcx + r11]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_1081
LONG $0xd8148d4b // lea rdx, [r8 + 8*r11]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_1081
LBB4_341:
WORD $0xd231 // xor edx, edx
LBB4_1084:
WORD $0x8948; BYTE $0xd6 // mov rsi, rdx
WORD $0xf748; BYTE $0xd6 // not rsi
LONG $0x01c3f641 // test r11b, 1
JE LBB4_1086
LONG $0x110c8a44 // mov r9b, byte [rcx + rdx]
WORD $0x3145; BYTE $0xd2 // xor r10d, r10d
WORD $0x8445; BYTE $0xc9 // test r9b, r9b
LONG $0xd2950f41 // setne r10b
WORD $0xf749; BYTE $0xda // neg r10
WORD $0x8445; BYTE $0xc9 // test r9b, r9b
LONG $0x000001bf; BYTE $0x00 // mov edi, 1
LONG $0xfa4e0f49 // cmovle rdi, r10
LONG $0xd03c8949 // mov qword [r8 + 8*rdx], rdi
LONG $0x01ca8348 // or rdx, 1
LBB4_1086:
WORD $0x014c; BYTE $0xde // add rsi, r11
JE LBB4_1351
LONG $0x000001be; BYTE $0x00 // mov esi, 1
LBB4_1088:
LONG $0x1104b60f // movzx eax, byte [rcx + rdx]
WORD $0xff31 // xor edi, edi
WORD $0xc084 // test al, al
LONG $0xd7950f40 // setne dil
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xc084 // test al, al
LONG $0xfe4f0f48 // cmovg rdi, rsi
LONG $0xd03c8949 // mov qword [r8 + 8*rdx], rdi
LONG $0x1144b60f; BYTE $0x01 // movzx eax, byte [rcx + rdx + 1]
WORD $0xff31 // xor edi, edi
WORD $0xc084 // test al, al
LONG $0xd7950f40 // setne dil
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xc084 // test al, al
LONG $0xfe4f0f48 // cmovg rdi, rsi
LONG $0xd07c8949; BYTE $0x08 // mov qword [r8 + 8*rdx + 8], rdi
LONG $0x02c28348 // add rdx, 2
WORD $0x3949; BYTE $0xd3 // cmp r11, rdx
JNE LBB4_1088
JMP LBB4_1351
LBB4_342:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB4_344
LONG $0x01148d48 // lea rdx, [rcx + rax]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_1089
LONG $0x80148d49 // lea rdx, [r8 + 4*rax]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_1089
LBB4_344:
WORD $0xd231 // xor edx, edx
LBB4_1092:
WORD $0x8948; BYTE $0xd6 // mov rsi, rdx
WORD $0xf748; BYTE $0xd6 // not rsi
WORD $0x01a8 // test al, 1
JE LBB4_1269
LONG $0x00113c80 // cmp byte [rcx + rdx], 0
JNE LBB4_1265
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
JMP LBB4_1266
LBB4_345:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB4_347
LONG $0xc1148d48 // lea rdx, [rcx + 8*rax]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_1095
LONG $0xc0148d49 // lea rdx, [r8 + 8*rax]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_1095
LBB4_347:
WORD $0xd231 // xor edx, edx
LBB4_1098:
WORD $0x8949; BYTE $0xd1 // mov r9, rdx
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x0149; BYTE $0xc1 // add r9, rax
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x03e78348 // and rdi, 3
JE LBB4_1100
LBB4_1099:
WORD $0xf631 // xor esi, esi
LONG $0xd13c8348; BYTE $0x00 // cmp qword [rcx + 8*rdx], 0
LONG $0xd6950f40 // setne sil
LONG $0xd0348949 // mov qword [r8 + 8*rdx], rsi
LONG $0x01c28348 // add rdx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB4_1099
LBB4_1100:
LONG $0x03f98349 // cmp r9, 3
JB LBB4_1351
LBB4_1101:
WORD $0xf631 // xor esi, esi
LONG $0xd13c8348; BYTE $0x00 // cmp qword [rcx + 8*rdx], 0
LONG $0xd6950f40 // setne sil
LONG $0xd0348949 // mov qword [r8 + 8*rdx], rsi
WORD $0xf631 // xor esi, esi
LONG $0xd17c8348; WORD $0x0008 // cmp qword [rcx + 8*rdx + 8], 0
LONG $0xd6950f40 // setne sil
LONG $0xd0748949; BYTE $0x08 // mov qword [r8 + 8*rdx + 8], rsi
WORD $0xf631 // xor esi, esi
LONG $0xd17c8348; WORD $0x0010 // cmp qword [rcx + 8*rdx + 16], 0
LONG $0xd6950f40 // setne sil
LONG $0xd0748949; BYTE $0x10 // mov qword [r8 + 8*rdx + 16], rsi
WORD $0xf631 // xor esi, esi
LONG $0xd17c8348; WORD $0x0018 // cmp qword [rcx + 8*rdx + 24], 0
LONG $0xd6950f40 // setne sil
LONG $0xd0748949; BYTE $0x18 // mov qword [r8 + 8*rdx + 24], rsi
LONG $0x04c28348 // add rdx, 4
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JNE LBB4_1101
JMP LBB4_1351
LBB4_348:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x10f98341 // cmp r9d, 16
JAE LBB4_728
WORD $0xd231 // xor edx, edx
JMP LBB4_731
LBB4_351:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x10f98341 // cmp r9d, 16
JAE LBB4_735
WORD $0xd231 // xor edx, edx
JMP LBB4_738
LBB4_354:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x20f98341 // cmp r9d, 32
JAE LBB4_739
WORD $0xd231 // xor edx, edx
JMP LBB4_742
LBB4_357:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JAE LBB4_746
WORD $0xd231 // xor edx, edx
JMP LBB4_749
LBB4_360:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x20f98341 // cmp r9d, 32
JAE LBB4_751
WORD $0xd231 // xor edx, edx
JMP LBB4_754
LBB4_363:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8945; BYTE $0xcb // mov r11d, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB4_365
LONG $0xd9148d4a // lea rdx, [rcx + 8*r11]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_1102
LONG $0xd8148d4b // lea rdx, [r8 + 8*r11]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_1102
LBB4_365:
WORD $0xd231 // xor edx, edx
LBB4_1105:
WORD $0x8948; BYTE $0xd6 // mov rsi, rdx
WORD $0xf748; BYTE $0xd6 // not rsi
LONG $0x01c3f641 // test r11b, 1
JE LBB4_1107
LONG $0xd10c8b4c // mov r9, qword [rcx + 8*rdx]
WORD $0x3145; BYTE $0xd2 // xor r10d, r10d
WORD $0x854d; BYTE $0xc9 // test r9, r9
LONG $0xd2950f41 // setne r10b
WORD $0xf749; BYTE $0xda // neg r10
WORD $0x854d; BYTE $0xc9 // test r9, r9
LONG $0x000001bf; BYTE $0x00 // mov edi, 1
LONG $0xfa4e0f49 // cmovle rdi, r10
LONG $0xd03c8949 // mov qword [r8 + 8*rdx], rdi
LONG $0x01ca8348 // or rdx, 1
LBB4_1107:
WORD $0x014c; BYTE $0xde // add rsi, r11
JE LBB4_1351
LONG $0x000001be; BYTE $0x00 // mov esi, 1
LBB4_1109:
LONG $0xd13c8b48 // mov rdi, qword [rcx + 8*rdx]
WORD $0xc031 // xor eax, eax
WORD $0x8548; BYTE $0xff // test rdi, rdi
WORD $0x950f; BYTE $0xd0 // setne al
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0x8548; BYTE $0xff // test rdi, rdi
LONG $0xc64f0f48 // cmovg rax, rsi
LONG $0xd0048949 // mov qword [r8 + 8*rdx], rax
LONG $0xd1448b48; BYTE $0x08 // mov rax, qword [rcx + 8*rdx + 8]
WORD $0xff31 // xor edi, edi
WORD $0x8548; BYTE $0xc0 // test rax, rax
LONG $0xd7950f40 // setne dil
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0x8548; BYTE $0xc0 // test rax, rax
LONG $0xfe4f0f48 // cmovg rdi, rsi
LONG $0xd07c8949; BYTE $0x08 // mov qword [r8 + 8*rdx + 8], rdi
LONG $0x02c28348 // add rdx, 2
WORD $0x3949; BYTE $0xd3 // cmp r11, rdx
JNE LBB4_1109
JMP LBB4_1351
LBB4_366:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x10f98341 // cmp r9d, 16
JAE LBB4_763
WORD $0xd231 // xor edx, edx
JMP LBB4_766
LBB4_369:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x04f98341 // cmp r9d, 4
JAE LBB4_772
WORD $0xd231 // xor edx, edx
JMP LBB4_1312
LBB4_372:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB4_374
LONG $0x81148d48 // lea rdx, [rcx + 4*rax]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_1110
LONG $0x80148d49 // lea rdx, [r8 + 4*rax]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_1110
LBB4_374:
WORD $0xd231 // xor edx, edx
LBB4_1113:
WORD $0x8948; BYTE $0xd6 // mov rsi, rdx
WORD $0xf748; BYTE $0xd6 // not rsi
WORD $0x01a8 // test al, 1
JE LBB4_1115
LONG $0x0410fac5; BYTE $0x91 // vmovss xmm0, dword [rcx + 4*rdx]
LONG $0xf850f8c5 // vmovmskps edi, xmm0
WORD $0xe783; BYTE $0x01 // and edi, 1
WORD $0xdff7 // neg edi
WORD $0xcf83; BYTE $0x01 // or edi, 1
LONG $0xcf2aaac5 // vcvtsi2ss xmm1, xmm10, edi
LONG $0xd257e8c5 // vxorps xmm2, xmm2, xmm2
LONG $0xc2c2fac5; BYTE $0x00 // vcmpeqss xmm0, xmm0, xmm2
LONG $0xc155f8c5 // vandnps xmm0, xmm0, xmm1
LONG $0x117ac1c4; WORD $0x9004 // vmovss dword [r8 + 4*rdx], xmm0
LONG $0x01ca8348 // or rdx, 1
LBB4_1115:
WORD $0x0148; BYTE $0xc6 // add rsi, rax
JE LBB4_1351
LONG $0xc057f8c5 // vxorps xmm0, xmm0, xmm0
LBB4_1117:
LONG $0x0c10fac5; BYTE $0x91 // vmovss xmm1, dword [rcx + 4*rdx]
LONG $0xf150f8c5 // vmovmskps esi, xmm1
WORD $0xe683; BYTE $0x01 // and esi, 1
WORD $0xdef7 // neg esi
WORD $0xce83; BYTE $0x01 // or esi, 1
LONG $0xd62aaac5 // vcvtsi2ss xmm2, xmm10, esi
LONG $0xc8c2f2c5; BYTE $0x00 // vcmpeqss xmm1, xmm1, xmm0
LONG $0xca55f0c5 // vandnps xmm1, xmm1, xmm2
LONG $0x117ac1c4; WORD $0x900c // vmovss dword [r8 + 4*rdx], xmm1
LONG $0x4c10fac5; WORD $0x0491 // vmovss xmm1, dword [rcx + 4*rdx + 4]
LONG $0xf150f8c5 // vmovmskps esi, xmm1
WORD $0xe683; BYTE $0x01 // and esi, 1
WORD $0xdef7 // neg esi
WORD $0xce83; BYTE $0x01 // or esi, 1
LONG $0xd62aaac5 // vcvtsi2ss xmm2, xmm10, esi
LONG $0xc8c2f2c5; BYTE $0x00 // vcmpeqss xmm1, xmm1, xmm0
LONG $0xca55f0c5 // vandnps xmm1, xmm1, xmm2
LONG $0x117ac1c4; WORD $0x904c; BYTE $0x04 // vmovss dword [r8 + 4*rdx + 4], xmm1
LONG $0x02c28348 // add rdx, 2
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JNE LBB4_1117
JMP LBB4_1351
LBB4_375:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB4_377
LONG $0x01148d48 // lea rdx, [rcx + rax]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_1118
LONG $0xc0148d49 // lea rdx, [r8 + 8*rax]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_1118
LBB4_377:
WORD $0xd231 // xor edx, edx
LBB4_1121:
WORD $0x8949; BYTE $0xd1 // mov r9, rdx
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x0149; BYTE $0xc1 // add r9, rax
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x03e78348 // and rdi, 3
JE LBB4_1123
LBB4_1122:
WORD $0xf631 // xor esi, esi
LONG $0x00113c80 // cmp byte [rcx + rdx], 0
LONG $0xd6950f40 // setne sil
LONG $0xd0348949 // mov qword [r8 + 8*rdx], rsi
LONG $0x01c28348 // add rdx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB4_1122
LBB4_1123:
LONG $0x03f98349 // cmp r9, 3
JB LBB4_1351
LBB4_1124:
WORD $0xf631 // xor esi, esi
LONG $0x00113c80 // cmp byte [rcx + rdx], 0
LONG $0xd6950f40 // setne sil
LONG $0xd0348949 // mov qword [r8 + 8*rdx], rsi
WORD $0xf631 // xor esi, esi
LONG $0x01117c80; BYTE $0x00 // cmp byte [rcx + rdx + 1], 0
LONG $0xd6950f40 // setne sil
LONG $0xd0748949; BYTE $0x08 // mov qword [r8 + 8*rdx + 8], rsi
WORD $0xf631 // xor esi, esi
LONG $0x02117c80; BYTE $0x00 // cmp byte [rcx + rdx + 2], 0
LONG $0xd6950f40 // setne sil
LONG $0xd0748949; BYTE $0x10 // mov qword [r8 + 8*rdx + 16], rsi
WORD $0xf631 // xor esi, esi
LONG $0x03117c80; BYTE $0x00 // cmp byte [rcx + rdx + 3], 0
LONG $0xd6950f40 // setne sil
LONG $0xd0748949; BYTE $0x18 // mov qword [r8 + 8*rdx + 24], rsi
LONG $0x04c28348 // add rdx, 4
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JNE LBB4_1124
JMP LBB4_1351
LBB4_378:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB4_380
LONG $0x01148d48 // lea rdx, [rcx + rax]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_1125
LONG $0x80148d49 // lea rdx, [r8 + 4*rax]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_1125
LBB4_380:
WORD $0xd231 // xor edx, edx
LBB4_1128:
WORD $0x8948; BYTE $0xd6 // mov rsi, rdx
WORD $0xf748; BYTE $0xd6 // not rsi
WORD $0x0148; BYTE $0xc6 // add rsi, rax
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x03e78348 // and rdi, 3
JE LBB4_1133
QUAD $0x00000098856ef9c5 // vmovd xmm0, dword 152[rbp] /* [rip + .LCPI4_5] */
JMP LBB4_1131
LBB4_1130:
LONG $0x7e79c1c4; WORD $0x900c // vmovd dword [r8 + 4*rdx], xmm1
LONG $0x01c28348 // add rdx, 1
LONG $0xffc78348 // add rdi, -1
JE LBB4_1133
LBB4_1131:
LONG $0x00113c80 // cmp byte [rcx + rdx], 0
LONG $0xc86ff9c5 // vmovdqa xmm1, xmm0
JNE LBB4_1130
LONG $0xc9eff1c5 // vpxor xmm1, xmm1, xmm1
JMP LBB4_1130
LBB4_381:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JAE LBB4_784
WORD $0xd231 // xor edx, edx
JMP LBB4_787
LBB4_384:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x20f98341 // cmp r9d, 32
JAE LBB4_789
WORD $0xd231 // xor edx, edx
JMP LBB4_792
LBB4_387:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB4_389
LONG $0x81148d48 // lea rdx, [rcx + 4*rax]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_1144
LONG $0x00148d49 // lea rdx, [r8 + rax]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_1144
LBB4_389:
WORD $0xd231 // xor edx, edx
LBB4_1147:
WORD $0x8948; BYTE $0xd6 // mov rsi, rdx
WORD $0xf748; BYTE $0xd6 // not rsi
WORD $0x0148; BYTE $0xc6 // add rsi, rax
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x03e78348 // and rdi, 3
JE LBB4_1149
LBB4_1148:
LONG $0x00913c83 // cmp dword [rcx + 4*rdx], 0
LONG $0x14950f41; BYTE $0x10 // setne byte [r8 + rdx]
LONG $0x01c28348 // add rdx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB4_1148
LBB4_1149:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB4_1351
LBB4_1150:
LONG $0x00913c83 // cmp dword [rcx + 4*rdx], 0
LONG $0x14950f41; BYTE $0x10 // setne byte [r8 + rdx]
LONG $0x04917c83; BYTE $0x00 // cmp dword [rcx + 4*rdx + 4], 0
LONG $0x54950f41; WORD $0x0110 // setne byte [r8 + rdx + 1]
LONG $0x08917c83; BYTE $0x00 // cmp dword [rcx + 4*rdx + 8], 0
LONG $0x54950f41; WORD $0x0210 // setne byte [r8 + rdx + 2]
LONG $0x0c917c83; BYTE $0x00 // cmp dword [rcx + 4*rdx + 12], 0
LONG $0x54950f41; WORD $0x0310 // setne byte [r8 + rdx + 3]
LONG $0x04c28348 // add rdx, 4
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JNE LBB4_1150
JMP LBB4_1351
LBB4_390:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB4_392
LONG $0xc1148d48 // lea rdx, [rcx + 8*rax]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_1151
LONG $0x00148d49 // lea rdx, [r8 + rax]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_1151
LBB4_392:
WORD $0xd231 // xor edx, edx
LBB4_1154:
WORD $0x8948; BYTE $0xd6 // mov rsi, rdx
WORD $0xf748; BYTE $0xd6 // not rsi
WORD $0x01a8 // test al, 1
JE LBB4_1156
LONG $0x0410fbc5; BYTE $0xd1 // vmovsd xmm0, qword [rcx + 8*rdx]
WORD $0xff31 // xor edi, edi
LONG $0xc9eff1c5 // vpxor xmm1, xmm1, xmm1
LONG $0xc82ef9c5 // vucomisd xmm1, xmm0
LONG $0x4554f9c5; BYTE $0x30 // vandpd xmm0, xmm0, oword 48[rbp] /* [rip + .LCPI4_2] */
LONG $0x4d12fbc5; BYTE $0x08 // vmovddup xmm1, qword 8[rbp] /* [rip + .LCPI4_1] */
LONG $0xc056f1c5 // vorpd xmm0, xmm1, xmm0
LONG $0xd82cfbc5 // vcvttsd2si ebx, xmm0
WORD $0x440f; BYTE $0xdf // cmove ebx, edi
LONG $0x101c8841 // mov byte [r8 + rdx], bl
LONG $0x01ca8348 // or rdx, 1
LBB4_1156:
WORD $0x0148; BYTE $0xc6 // add rsi, rax
JE LBB4_1351
WORD $0xf631 // xor esi, esi
LONG $0xc057f9c5 // vxorpd xmm0, xmm0, xmm0
LONG $0x4d28f9c5; BYTE $0x30 // vmovapd xmm1, oword 48[rbp] /* [rip + .LCPI4_2] */
LONG $0x5512fbc5; BYTE $0x08 // vmovddup xmm2, qword 8[rbp] /* [rip + .LCPI4_1] */
LBB4_1158:
LONG $0x1c10fbc5; BYTE $0xd1 // vmovsd xmm3, qword [rcx + 8*rdx]
LONG $0xc32ef9c5 // vucomisd xmm0, xmm3
LONG $0xd954e1c5 // vandpd xmm3, xmm3, xmm1
LONG $0xdb56e9c5 // vorpd xmm3, xmm2, xmm3
LONG $0xfb2cfbc5 // vcvttsd2si edi, xmm3
WORD $0x440f; BYTE $0xfe // cmove edi, esi
LONG $0x103c8841 // mov byte [r8 + rdx], dil
LONG $0x5c10fbc5; WORD $0x08d1 // vmovsd xmm3, qword [rcx + 8*rdx + 8]
LONG $0xc32ef9c5 // vucomisd xmm0, xmm3
LONG $0xd954e1c5 // vandpd xmm3, xmm3, xmm1
LONG $0xdb56e9c5 // vorpd xmm3, xmm2, xmm3
LONG $0xfb2cfbc5 // vcvttsd2si edi, xmm3
WORD $0x440f; BYTE $0xfe // cmove edi, esi
LONG $0x107c8841; BYTE $0x01 // mov byte [r8 + rdx + 1], dil
LONG $0x02c28348 // add rdx, 2
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JNE LBB4_1158
JMP LBB4_1351
LBB4_393:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x80f98141; WORD $0x0000; BYTE $0x00 // cmp r9d, 128
JB LBB4_395
LONG $0x11148d4a // lea rdx, [rcx + r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_1159
LONG $0x10148d4b // lea rdx, [r8 + r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_1159
LBB4_395:
WORD $0x3145; BYTE $0xdb // xor r11d, r11d
LBB4_1162:
WORD $0x894c; BYTE $0xde // mov rsi, r11
WORD $0xf748; BYTE $0xd6 // not rsi
LONG $0x01c2f641 // test r10b, 1
JE LBB4_1164
LONG $0x193c8a42 // mov dil, byte [rcx + r11]
WORD $0x8440; BYTE $0xff // test dil, dil
LONG $0xd1950f41 // setne r9b
WORD $0xf641; BYTE $0xd9 // neg r9b
WORD $0x8440; BYTE $0xff // test dil, dil
LONG $0xc9b60f45 // movzx r9d, r9b
LONG $0x000001bf; BYTE $0x00 // mov edi, 1
LONG $0xf94e0f41 // cmovle edi, r9d
LONG $0x183c8843 // mov byte [r8 + r11], dil
LONG $0x01cb8349 // or r11, 1
LBB4_1164:
WORD $0x014c; BYTE $0xd6 // add rsi, r10
JE LBB4_1351
LONG $0x000001be; BYTE $0x00 // mov esi, 1
LBB4_1166:
LONG $0x04b60f42; BYTE $0x19 // movzx eax, byte [rcx + r11]
WORD $0xc084 // test al, al
WORD $0x950f; BYTE $0xd2 // setne dl
WORD $0xdaf6 // neg dl
WORD $0xc084 // test al, al
WORD $0xb60f; BYTE $0xc2 // movzx eax, dl
WORD $0x4f0f; BYTE $0xc6 // cmovg eax, esi
LONG $0x18048843 // mov byte [r8 + r11], al
LONG $0x44b60f42; WORD $0x0119 // movzx eax, byte [rcx + r11 + 1]
WORD $0xc084 // test al, al
WORD $0x950f; BYTE $0xd2 // setne dl
WORD $0xdaf6 // neg dl
WORD $0xc084 // test al, al
WORD $0xb60f; BYTE $0xc2 // movzx eax, dl
WORD $0x4f0f; BYTE $0xc6 // cmovg eax, esi
LONG $0x18448843; BYTE $0x01 // mov byte [r8 + r11 + 1], al
LONG $0x02c38349 // add r11, 2
WORD $0x394d; BYTE $0xda // cmp r10, r11
JNE LBB4_1166
JMP LBB4_1351
LBB4_396:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB4_398
LONG $0xc1148d48 // lea rdx, [rcx + 8*rax]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_1167
LONG $0x00148d49 // lea rdx, [r8 + rax]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_1167
LBB4_398:
WORD $0xd231 // xor edx, edx
LBB4_1170:
WORD $0x8948; BYTE $0xd6 // mov rsi, rdx
WORD $0xf748; BYTE $0xd6 // not rsi
WORD $0x0148; BYTE $0xc6 // add rsi, rax
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x03e78348 // and rdi, 3
JE LBB4_1172
LBB4_1171:
LONG $0xd13c8348; BYTE $0x00 // cmp qword [rcx + 8*rdx], 0
LONG $0x14950f41; BYTE $0x10 // setne byte [r8 + rdx]
LONG $0x01c28348 // add rdx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB4_1171
LBB4_1172:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB4_1351
LBB4_1173:
LONG $0xd13c8348; BYTE $0x00 // cmp qword [rcx + 8*rdx], 0
LONG $0x14950f41; BYTE $0x10 // setne byte [r8 + rdx]
LONG $0xd17c8348; WORD $0x0008 // cmp qword [rcx + 8*rdx + 8], 0
LONG $0x54950f41; WORD $0x0110 // setne byte [r8 + rdx + 1]
LONG $0xd17c8348; WORD $0x0010 // cmp qword [rcx + 8*rdx + 16], 0
LONG $0x54950f41; WORD $0x0210 // setne byte [r8 + rdx + 2]
LONG $0xd17c8348; WORD $0x0018 // cmp qword [rcx + 8*rdx + 24], 0
LONG $0x54950f41; WORD $0x0310 // setne byte [r8 + rdx + 3]
LONG $0x04c28348 // add rdx, 4
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JNE LBB4_1173
JMP LBB4_1351
LBB4_399:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x40f98341 // cmp r9d, 64
JB LBB4_401
LONG $0x41148d48 // lea rdx, [rcx + 2*rax]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_1174
LONG $0x00148d49 // lea rdx, [r8 + rax]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_1174
LBB4_401:
WORD $0xd231 // xor edx, edx
LBB4_1177:
WORD $0x8948; BYTE $0xd6 // mov rsi, rdx
WORD $0xf748; BYTE $0xd6 // not rsi
WORD $0x0148; BYTE $0xc6 // add rsi, rax
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x03e78348 // and rdi, 3
JE LBB4_1179
LBB4_1178:
LONG $0x513c8366; BYTE $0x00 // cmp word [rcx + 2*rdx], 0
LONG $0x14950f41; BYTE $0x10 // setne byte [r8 + rdx]
LONG $0x01c28348 // add rdx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB4_1178
LBB4_1179:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB4_1351
LBB4_1180:
LONG $0x513c8366; BYTE $0x00 // cmp word [rcx + 2*rdx], 0
LONG $0x14950f41; BYTE $0x10 // setne byte [r8 + rdx]
LONG $0x517c8366; WORD $0x0002 // cmp word [rcx + 2*rdx + 2], 0
LONG $0x54950f41; WORD $0x0110 // setne byte [r8 + rdx + 1]
LONG $0x517c8366; WORD $0x0004 // cmp word [rcx + 2*rdx + 4], 0
LONG $0x54950f41; WORD $0x0210 // setne byte [r8 + rdx + 2]
LONG $0x517c8366; WORD $0x0006 // cmp word [rcx + 2*rdx + 6], 0
LONG $0x54950f41; WORD $0x0310 // setne byte [r8 + rdx + 3]
LONG $0x04c28348 // add rdx, 4
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JNE LBB4_1180
JMP LBB4_1351
LBB4_402:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x40f98341 // cmp r9d, 64
JB LBB4_404
LONG $0x51148d4a // lea rdx, [rcx + 2*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_1181
LONG $0x10148d4b // lea rdx, [r8 + r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_1181
LBB4_404:
WORD $0x3145; BYTE $0xdb // xor r11d, r11d
LBB4_1184:
WORD $0x894c; BYTE $0xde // mov rsi, r11
WORD $0xf748; BYTE $0xd6 // not rsi
LONG $0x01c2f641 // test r10b, 1
JE LBB4_1186
LONG $0x3cb70f42; BYTE $0x59 // movzx edi, word [rcx + 2*r11]
WORD $0x8566; BYTE $0xff // test di, di
LONG $0xd1950f41 // setne r9b
WORD $0xf641; BYTE $0xd9 // neg r9b
WORD $0x8566; BYTE $0xff // test di, di
LONG $0xc9b60f45 // movzx r9d, r9b
LONG $0x000001bf; BYTE $0x00 // mov edi, 1
LONG $0xf94e0f41 // cmovle edi, r9d
LONG $0x183c8843 // mov byte [r8 + r11], dil
LONG $0x01cb8349 // or r11, 1
LBB4_1186:
WORD $0x014c; BYTE $0xd6 // add rsi, r10
JE LBB4_1351
LONG $0x000001be; BYTE $0x00 // mov esi, 1
LBB4_1188:
LONG $0x3cb70f42; BYTE $0x59 // movzx edi, word [rcx + 2*r11]
WORD $0x8566; BYTE $0xff // test di, di
WORD $0x950f; BYTE $0xd0 // setne al
WORD $0xd8f6 // neg al
WORD $0x8566; BYTE $0xff // test di, di
WORD $0xb60f; BYTE $0xc0 // movzx eax, al
WORD $0x4f0f; BYTE $0xc6 // cmovg eax, esi
LONG $0x18048843 // mov byte [r8 + r11], al
LONG $0x44b70f42; WORD $0x0259 // movzx eax, word [rcx + 2*r11 + 2]
WORD $0x8566; BYTE $0xc0 // test ax, ax
WORD $0x950f; BYTE $0xd2 // setne dl
WORD $0xdaf6 // neg dl
WORD $0x8566; BYTE $0xc0 // test ax, ax
WORD $0xb60f; BYTE $0xc2 // movzx eax, dl
WORD $0x4f0f; BYTE $0xc6 // cmovg eax, esi
LONG $0x18448843; BYTE $0x01 // mov byte [r8 + r11 + 1], al
LONG $0x02c38349 // add r11, 2
WORD $0x394d; BYTE $0xda // cmp r10, r11
JNE LBB4_1188
JMP LBB4_1351
LBB4_405:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB4_407
LONG $0xd1148d4a // lea rdx, [rcx + 8*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_1189
LONG $0x10148d4b // lea rdx, [r8 + r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_1189
LBB4_407:
WORD $0x3145; BYTE $0xdb // xor r11d, r11d
LBB4_1192:
WORD $0x894c; BYTE $0xde // mov rsi, r11
WORD $0xf748; BYTE $0xd6 // not rsi
LONG $0x01c2f641 // test r10b, 1
JE LBB4_1194
LONG $0xd93c8b4a // mov rdi, qword [rcx + 8*r11]
WORD $0x8548; BYTE $0xff // test rdi, rdi
LONG $0xd1950f41 // setne r9b
WORD $0xf641; BYTE $0xd9 // neg r9b
WORD $0x8548; BYTE $0xff // test rdi, rdi
LONG $0xc9b60f45 // movzx r9d, r9b
LONG $0x000001bf; BYTE $0x00 // mov edi, 1
LONG $0xf94e0f41 // cmovle edi, r9d
LONG $0x183c8843 // mov byte [r8 + r11], dil
LONG $0x01cb8349 // or r11, 1
LBB4_1194:
WORD $0x014c; BYTE $0xd6 // add rsi, r10
JE LBB4_1351
LONG $0x000001be; BYTE $0x00 // mov esi, 1
LBB4_1196:
LONG $0xd93c8b4a // mov rdi, qword [rcx + 8*r11]
WORD $0x8548; BYTE $0xff // test rdi, rdi
WORD $0x950f; BYTE $0xd0 // setne al
WORD $0xd8f6 // neg al
WORD $0x8548; BYTE $0xff // test rdi, rdi
WORD $0xb60f; BYTE $0xc0 // movzx eax, al
WORD $0x4f0f; BYTE $0xc6 // cmovg eax, esi
LONG $0x18048843 // mov byte [r8 + r11], al
LONG $0xd9448b4a; BYTE $0x08 // mov rax, qword [rcx + 8*r11 + 8]
WORD $0x8548; BYTE $0xc0 // test rax, rax
WORD $0x950f; BYTE $0xd2 // setne dl
WORD $0xdaf6 // neg dl
WORD $0x8548; BYTE $0xc0 // test rax, rax
WORD $0xb60f; BYTE $0xc2 // movzx eax, dl
WORD $0x4f0f; BYTE $0xc6 // cmovg eax, esi
LONG $0x18448843; BYTE $0x01 // mov byte [r8 + r11 + 1], al
LONG $0x02c38349 // add r11, 2
WORD $0x394d; BYTE $0xda // cmp r10, r11
JNE LBB4_1196
JMP LBB4_1351
LBB4_408:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB4_410
LONG $0x91148d4a // lea rdx, [rcx + 4*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_1197
LONG $0x10148d4b // lea rdx, [r8 + r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_1197
LBB4_410:
WORD $0xd231 // xor edx, edx
LBB4_1200:
WORD $0x8948; BYTE $0xd6 // mov rsi, rdx
WORD $0xf748; BYTE $0xd6 // not rsi
LONG $0x01c2f641 // test r10b, 1
JE LBB4_1202
LONG $0x046ef9c5; BYTE $0x91 // vmovd xmm0, dword [rcx + 4*rdx]
LONG $0xc77ef9c5 // vmovd edi, xmm0
WORD $0xff85 // test edi, edi
LONG $0xd7990f40 // setns dil
WORD $0x0040; BYTE $0xff // add dil, dil
LONG $0xffc78040 // add dil, -1
WORD $0x3145; BYTE $0xc9 // xor r9d, r9d
LONG $0xc9eff1c5 // vpxor xmm1, xmm1, xmm1
LONG $0xc82ef8c5 // vucomiss xmm1, xmm0
LONG $0xffb60f40 // movzx edi, dil
LONG $0xf9440f41 // cmove edi, r9d
LONG $0x103c8841 // mov byte [r8 + rdx], dil
LONG $0x01ca8348 // or rdx, 1
LBB4_1202:
WORD $0x014c; BYTE $0xd6 // add rsi, r10
JE LBB4_1351
WORD $0xf631 // xor esi, esi
LONG $0xc057f8c5 // vxorps xmm0, xmm0, xmm0
LBB4_1204:
LONG $0x0c6ef9c5; BYTE $0x91 // vmovd xmm1, dword [rcx + 4*rdx]
LONG $0xcf7ef9c5 // vmovd edi, xmm1
WORD $0xff85 // test edi, edi
WORD $0x990f; BYTE $0xd0 // setns al
WORD $0xc000 // add al, al
WORD $0xff04 // add al, -1
LONG $0xc12ef8c5 // vucomiss xmm0, xmm1
WORD $0xb60f; BYTE $0xc0 // movzx eax, al
WORD $0x440f; BYTE $0xc6 // cmove eax, esi
LONG $0x10048841 // mov byte [r8 + rdx], al
LONG $0x4c6ef9c5; WORD $0x0491 // vmovd xmm1, dword [rcx + 4*rdx + 4]
LONG $0xc87ef9c5 // vmovd eax, xmm1
WORD $0xc085 // test eax, eax
WORD $0x990f; BYTE $0xd0 // setns al
WORD $0xc000 // add al, al
WORD $0xff04 // add al, -1
LONG $0xc12ef8c5 // vucomiss xmm0, xmm1
WORD $0xb60f; BYTE $0xc0 // movzx eax, al
WORD $0x440f; BYTE $0xc6 // cmove eax, esi
LONG $0x10448841; BYTE $0x01 // mov byte [r8 + rdx + 1], al
LONG $0x02c28348 // add rdx, 2
WORD $0x3949; BYTE $0xd2 // cmp r10, rdx
JNE LBB4_1204
JMP LBB4_1351
LBB4_411:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x80f98141; WORD $0x0000; BYTE $0x00 // cmp r9d, 128
JB LBB4_413
LONG $0x01148d48 // lea rdx, [rcx + rax]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_1205
LONG $0x00148d49 // lea rdx, [r8 + rax]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_1205
LBB4_413:
WORD $0xd231 // xor edx, edx
LBB4_1208:
WORD $0x8948; BYTE $0xd6 // mov rsi, rdx
WORD $0xf748; BYTE $0xd6 // not rsi
WORD $0x0148; BYTE $0xc6 // add rsi, rax
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x03e78348 // and rdi, 3
JE LBB4_1210
LBB4_1209:
LONG $0x00113c80 // cmp byte [rcx + rdx], 0
LONG $0x14950f41; BYTE $0x10 // setne byte [r8 + rdx]
LONG $0x01c28348 // add rdx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB4_1209
LBB4_1210:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB4_1351
LBB4_1211:
LONG $0x00113c80 // cmp byte [rcx + rdx], 0
LONG $0x14950f41; BYTE $0x10 // setne byte [r8 + rdx]
LONG $0x01117c80; BYTE $0x00 // cmp byte [rcx + rdx + 1], 0
LONG $0x54950f41; WORD $0x0110 // setne byte [r8 + rdx + 1]
LONG $0x02117c80; BYTE $0x00 // cmp byte [rcx + rdx + 2], 0
LONG $0x54950f41; WORD $0x0210 // setne byte [r8 + rdx + 2]
LONG $0x03117c80; BYTE $0x00 // cmp byte [rcx + rdx + 3], 0
LONG $0x54950f41; WORD $0x0310 // setne byte [r8 + rdx + 3]
LONG $0x04c28348 // add rdx, 4
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JNE LBB4_1211
JMP LBB4_1351
LBB4_414:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB4_416
LONG $0x91148d4a // lea rdx, [rcx + 4*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_1212
LONG $0x10148d4b // lea rdx, [r8 + r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_1212
LBB4_416:
WORD $0x3145; BYTE $0xdb // xor r11d, r11d
LBB4_1215:
WORD $0x894c; BYTE $0xde // mov rsi, r11
WORD $0xf748; BYTE $0xd6 // not rsi
LONG $0x01c2f641 // test r10b, 1
JE LBB4_1217
LONG $0x993c8b42 // mov edi, dword [rcx + 4*r11]
WORD $0xff85 // test edi, edi
LONG $0xd1950f41 // setne r9b
WORD $0xf641; BYTE $0xd9 // neg r9b
WORD $0xff85 // test edi, edi
LONG $0xc9b60f45 // movzx r9d, r9b
LONG $0x000001bf; BYTE $0x00 // mov edi, 1
LONG $0xf94e0f41 // cmovle edi, r9d
LONG $0x183c8843 // mov byte [r8 + r11], dil
LONG $0x01cb8349 // or r11, 1
LBB4_1217:
WORD $0x014c; BYTE $0xd6 // add rsi, r10
JE LBB4_1351
LONG $0x000001be; BYTE $0x00 // mov esi, 1
LBB4_1219:
LONG $0x993c8b42 // mov edi, dword [rcx + 4*r11]
WORD $0xff85 // test edi, edi
WORD $0x950f; BYTE $0xd0 // setne al
WORD $0xd8f6 // neg al
WORD $0xff85 // test edi, edi
WORD $0xb60f; BYTE $0xc0 // movzx eax, al
WORD $0x4f0f; BYTE $0xc6 // cmovg eax, esi
LONG $0x18048843 // mov byte [r8 + r11], al
LONG $0x99448b42; BYTE $0x04 // mov eax, dword [rcx + 4*r11 + 4]
WORD $0xc085 // test eax, eax
WORD $0x950f; BYTE $0xd2 // setne dl
WORD $0xdaf6 // neg dl
WORD $0xc085 // test eax, eax
WORD $0xb60f; BYTE $0xc2 // movzx eax, dl
WORD $0x4f0f; BYTE $0xc6 // cmovg eax, esi
LONG $0x18448843; BYTE $0x01 // mov byte [r8 + r11 + 1], al
LONG $0x02c38349 // add r11, 2
WORD $0x394d; BYTE $0xda // cmp r10, r11
JNE LBB4_1219
JMP LBB4_1351
LBB4_417:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB4_419
LONG $0x81148d48 // lea rdx, [rcx + 4*rax]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_1220
LONG $0x80148d49 // lea rdx, [r8 + 4*rax]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_1220
LBB4_419:
WORD $0xd231 // xor edx, edx
LBB4_1223:
WORD $0x8949; BYTE $0xd1 // mov r9, rdx
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x0149; BYTE $0xc1 // add r9, rax
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x03e78348 // and rdi, 3
JE LBB4_1225
LBB4_1224:
WORD $0xf631 // xor esi, esi
LONG $0x00913c83 // cmp dword [rcx + 4*rdx], 0
LONG $0xd6950f40 // setne sil
LONG $0x90348941 // mov dword [r8 + 4*rdx], esi
LONG $0x01c28348 // add rdx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB4_1224
LBB4_1225:
LONG $0x03f98349 // cmp r9, 3
JB LBB4_1351
LBB4_1226:
WORD $0xf631 // xor esi, esi
LONG $0x00913c83 // cmp dword [rcx + 4*rdx], 0
LONG $0xd6950f40 // setne sil
LONG $0x90348941 // mov dword [r8 + 4*rdx], esi
WORD $0xf631 // xor esi, esi
LONG $0x04917c83; BYTE $0x00 // cmp dword [rcx + 4*rdx + 4], 0
LONG $0xd6950f40 // setne sil
LONG $0x90748941; BYTE $0x04 // mov dword [r8 + 4*rdx + 4], esi
WORD $0xf631 // xor esi, esi
LONG $0x08917c83; BYTE $0x00 // cmp dword [rcx + 4*rdx + 8], 0
LONG $0xd6950f40 // setne sil
LONG $0x90748941; BYTE $0x08 // mov dword [r8 + 4*rdx + 8], esi
WORD $0xf631 // xor esi, esi
LONG $0x0c917c83; BYTE $0x00 // cmp dword [rcx + 4*rdx + 12], 0
LONG $0xd6950f40 // setne sil
LONG $0x90748941; BYTE $0x0c // mov dword [r8 + 4*rdx + 12], esi
LONG $0x04c28348 // add rdx, 4
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JNE LBB4_1226
JMP LBB4_1351
LBB4_420:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
WORD $0xd231 // xor edx, edx
LONG $0x10f98341 // cmp r9d, 16
JAE LBB4_831
WORD $0xf631 // xor esi, esi
JMP LBB4_834
LBB4_423:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8945; BYTE $0xcb // mov r11d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB4_425
LONG $0x19148d4a // lea rdx, [rcx + r11]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_1227
LONG $0x98148d4b // lea rdx, [r8 + 4*r11]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_1227
LBB4_425:
WORD $0xd231 // xor edx, edx
LBB4_1230:
WORD $0x8948; BYTE $0xd6 // mov rsi, rdx
WORD $0xf748; BYTE $0xd6 // not rsi
LONG $0x01c3f641 // test r11b, 1
JE LBB4_1232
LONG $0x110c8a44 // mov r9b, byte [rcx + rdx]
WORD $0x3145; BYTE $0xd2 // xor r10d, r10d
WORD $0x8445; BYTE $0xc9 // test r9b, r9b
LONG $0xd2950f41 // setne r10b
WORD $0xf741; BYTE $0xda // neg r10d
WORD $0x8445; BYTE $0xc9 // test r9b, r9b
LONG $0x000001bf; BYTE $0x00 // mov edi, 1
LONG $0xfa4e0f41 // cmovle edi, r10d
LONG $0x903c8941 // mov dword [r8 + 4*rdx], edi
LONG $0x01ca8348 // or rdx, 1
LBB4_1232:
WORD $0x014c; BYTE $0xde // add rsi, r11
JE LBB4_1351
LONG $0x000001be; BYTE $0x00 // mov esi, 1
LBB4_1234:
LONG $0x1104b60f // movzx eax, byte [rcx + rdx]
WORD $0xff31 // xor edi, edi
WORD $0xc084 // test al, al
LONG $0xd7950f40 // setne dil
WORD $0xdff7 // neg edi
WORD $0xc084 // test al, al
WORD $0x4f0f; BYTE $0xfe // cmovg edi, esi
LONG $0x903c8941 // mov dword [r8 + 4*rdx], edi
LONG $0x1144b60f; BYTE $0x01 // movzx eax, byte [rcx + rdx + 1]
WORD $0xff31 // xor edi, edi
WORD $0xc084 // test al, al
LONG $0xd7950f40 // setne dil
WORD $0xdff7 // neg edi
WORD $0xc084 // test al, al
WORD $0x4f0f; BYTE $0xfe // cmovg edi, esi
LONG $0x907c8941; BYTE $0x04 // mov dword [r8 + 4*rdx + 4], edi
LONG $0x02c28348 // add rdx, 2
WORD $0x3949; BYTE $0xd3 // cmp r11, rdx
JNE LBB4_1234
JMP LBB4_1351
LBB4_426:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x10f98341 // cmp r9d, 16
JAE LBB4_839
WORD $0xd231 // xor edx, edx
JMP LBB4_842
LBB4_429:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x20f98341 // cmp r9d, 32
JAE LBB4_843
WORD $0xd231 // xor edx, edx
JMP LBB4_846
LBB4_432:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JAE LBB4_847
WORD $0xd231 // xor edx, edx
JMP LBB4_850
LBB4_435:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JAE LBB4_852
WORD $0xd231 // xor edx, edx
JMP LBB4_855
LBB4_438:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x20f98341 // cmp r9d, 32
JAE LBB4_857
WORD $0xd231 // xor edx, edx
JMP LBB4_860
LBB4_441:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB4_443
LONG $0x01148d48 // lea rdx, [rcx + rax]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_1235
LONG $0x80148d49 // lea rdx, [r8 + 4*rax]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_1235
LBB4_443:
WORD $0xd231 // xor edx, edx
LBB4_1238:
WORD $0x8949; BYTE $0xd1 // mov r9, rdx
WORD $0xf749; BYTE $0xd1 // not r9
WORD $0x0149; BYTE $0xc1 // add r9, rax
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x03e78348 // and rdi, 3
JE LBB4_1240
LBB4_1239:
WORD $0xf631 // xor esi, esi
LONG $0x00113c80 // cmp byte [rcx + rdx], 0
LONG $0xd6950f40 // setne sil
LONG $0x90348941 // mov dword [r8 + 4*rdx], esi
LONG $0x01c28348 // add rdx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB4_1239
LBB4_1240:
LONG $0x03f98349 // cmp r9, 3
JB LBB4_1351
LBB4_1241:
WORD $0xf631 // xor esi, esi
LONG $0x00113c80 // cmp byte [rcx + rdx], 0
LONG $0xd6950f40 // setne sil
LONG $0x90348941 // mov dword [r8 + 4*rdx], esi
WORD $0xf631 // xor esi, esi
LONG $0x01117c80; BYTE $0x00 // cmp byte [rcx + rdx + 1], 0
LONG $0xd6950f40 // setne sil
LONG $0x90748941; BYTE $0x04 // mov dword [r8 + 4*rdx + 4], esi
WORD $0xf631 // xor esi, esi
LONG $0x02117c80; BYTE $0x00 // cmp byte [rcx + rdx + 2], 0
LONG $0xd6950f40 // setne sil
LONG $0x90748941; BYTE $0x08 // mov dword [r8 + 4*rdx + 8], esi
WORD $0xf631 // xor esi, esi
LONG $0x03117c80; BYTE $0x00 // cmp byte [rcx + rdx + 3], 0
LONG $0xd6950f40 // setne sil
LONG $0x90748941; BYTE $0x0c // mov dword [r8 + 4*rdx + 12], esi
LONG $0x04c28348 // add rdx, 4
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JNE LBB4_1241
JMP LBB4_1351
LBB4_444:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1351
WORD $0x8945; BYTE $0xcb // mov r11d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB4_446
LONG $0x99148d4a // lea rdx, [rcx + 4*r11]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_1242
LONG $0x98148d4b // lea rdx, [r8 + 4*r11]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_1242
LBB4_446:
WORD $0xd231 // xor edx, edx
LBB4_1245:
WORD $0x8948; BYTE $0xd6 // mov rsi, rdx
WORD $0xf748; BYTE $0xd6 // not rsi
LONG $0x01c3f641 // test r11b, 1
JE LBB4_1247
LONG $0x910c8b44 // mov r9d, dword [rcx + 4*rdx]
WORD $0x3145; BYTE $0xd2 // xor r10d, r10d
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
LONG $0xd2950f41 // setne r10b
WORD $0xf741; BYTE $0xda // neg r10d
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
LONG $0x000001bf; BYTE $0x00 // mov edi, 1
LONG $0xfa4e0f41 // cmovle edi, r10d
LONG $0x903c8941 // mov dword [r8 + 4*rdx], edi
LONG $0x01ca8348 // or rdx, 1
LBB4_1247:
WORD $0x014c; BYTE $0xde // add rsi, r11
JE LBB4_1351
LONG $0x000001be; BYTE $0x00 // mov esi, 1
LBB4_1249:
WORD $0x3c8b; BYTE $0x91 // mov edi, dword [rcx + 4*rdx]
WORD $0xc031 // xor eax, eax
WORD $0xff85 // test edi, edi
WORD $0x950f; BYTE $0xd0 // setne al
WORD $0xd8f7 // neg eax
WORD $0xff85 // test edi, edi
WORD $0x4f0f; BYTE $0xc6 // cmovg eax, esi
LONG $0x90048941 // mov dword [r8 + 4*rdx], eax
LONG $0x0491448b // mov eax, dword [rcx + 4*rdx + 4]
WORD $0xff31 // xor edi, edi
WORD $0xc085 // test eax, eax
LONG $0xd7950f40 // setne dil
WORD $0xdff7 // neg edi
WORD $0xc085 // test eax, eax
WORD $0x4f0f; BYTE $0xfe // cmovg edi, esi
LONG $0x907c8941; BYTE $0x04 // mov dword [r8 + 4*rdx + 4], edi
LONG $0x02c28348 // add rdx, 2
WORD $0x3949; BYTE $0xd3 // cmp r11, rdx
JNE LBB4_1249
JMP LBB4_1351
LBB4_922:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB4_1351
LONG $0x457efac5; BYTE $0x08 // vmovq xmm0, qword 8[rbp] /* [rip + .LCPI4_1] */
JMP LBB4_925
LBB4_924:
LONG $0xd679c1c4; WORD $0xd04c; BYTE $0x18 // vmovq qword [r8 + 8*rdx + 24], xmm1
LONG $0x04c28348 // add rdx, 4
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JE LBB4_1351
LBB4_925:
LONG $0x00113c80 // cmp byte [rcx + rdx], 0
LONG $0xc86ff9c5 // vmovdqa xmm1, xmm0
JNE LBB4_926
LONG $0xc9eff1c5 // vpxor xmm1, xmm1, xmm1
LONG $0xd679c1c4; WORD $0xd00c // vmovq qword [r8 + 8*rdx], xmm1
LONG $0x01117c80; BYTE $0x00 // cmp byte [rcx + rdx + 1], 0
LONG $0xc86ff9c5 // vmovdqa xmm1, xmm0
JE LBB4_930
LBB4_927:
LONG $0xd679c1c4; WORD $0xd04c; BYTE $0x08 // vmovq qword [r8 + 8*rdx + 8], xmm1
LONG $0x02117c80; BYTE $0x00 // cmp byte [rcx + rdx + 2], 0
LONG $0xc86ff9c5 // vmovdqa xmm1, xmm0
JNE LBB4_928
LBB4_931:
LONG $0xc9eff1c5 // vpxor xmm1, xmm1, xmm1
LONG $0xd679c1c4; WORD $0xd04c; BYTE $0x10 // vmovq qword [r8 + 8*rdx + 16], xmm1
LONG $0x03117c80; BYTE $0x00 // cmp byte [rcx + rdx + 3], 0
LONG $0xc86ff9c5 // vmovdqa xmm1, xmm0
JNE LBB4_924
JMP LBB4_932
LBB4_926:
LONG $0xd679c1c4; WORD $0xd00c // vmovq qword [r8 + 8*rdx], xmm1
LONG $0x01117c80; BYTE $0x00 // cmp byte [rcx + rdx + 1], 0
LONG $0xc86ff9c5 // vmovdqa xmm1, xmm0
JNE LBB4_927
LBB4_930:
LONG $0xc9eff1c5 // vpxor xmm1, xmm1, xmm1
LONG $0xd679c1c4; WORD $0xd04c; BYTE $0x08 // vmovq qword [r8 + 8*rdx + 8], xmm1
LONG $0x02117c80; BYTE $0x00 // cmp byte [rcx + rdx + 2], 0
LONG $0xc86ff9c5 // vmovdqa xmm1, xmm0
JE LBB4_931
LBB4_928:
LONG $0xd679c1c4; WORD $0xd04c; BYTE $0x10 // vmovq qword [r8 + 8*rdx + 16], xmm1
LONG $0x03117c80; BYTE $0x00 // cmp byte [rcx + rdx + 3], 0
LONG $0xc86ff9c5 // vmovdqa xmm1, xmm0
JNE LBB4_924
LBB4_932:
LONG $0xc9eff1c5 // vpxor xmm1, xmm1, xmm1
JMP LBB4_924
LBB4_1133:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB4_1351
QUAD $0x00000098856ef9c5 // vmovd xmm0, dword 152[rbp] /* [rip + .LCPI4_5] */
JMP LBB4_1136
LBB4_1135:
LONG $0x7e79c1c4; WORD $0x904c; BYTE $0x0c // vmovd dword [r8 + 4*rdx + 12], xmm1
LONG $0x04c28348 // add rdx, 4
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JE LBB4_1351
LBB4_1136:
LONG $0x00113c80 // cmp byte [rcx + rdx], 0
LONG $0xc86ff9c5 // vmovdqa xmm1, xmm0
JNE LBB4_1137
LONG $0xc9eff1c5 // vpxor xmm1, xmm1, xmm1
LONG $0x7e79c1c4; WORD $0x900c // vmovd dword [r8 + 4*rdx], xmm1
LONG $0x01117c80; BYTE $0x00 // cmp byte [rcx + rdx + 1], 0
LONG $0xc86ff9c5 // vmovdqa xmm1, xmm0
JE LBB4_1141
LBB4_1138:
LONG $0x7e79c1c4; WORD $0x904c; BYTE $0x04 // vmovd dword [r8 + 4*rdx + 4], xmm1
LONG $0x02117c80; BYTE $0x00 // cmp byte [rcx + rdx + 2], 0
LONG $0xc86ff9c5 // vmovdqa xmm1, xmm0
JNE LBB4_1139
LBB4_1142:
LONG $0xc9eff1c5 // vpxor xmm1, xmm1, xmm1
LONG $0x7e79c1c4; WORD $0x904c; BYTE $0x08 // vmovd dword [r8 + 4*rdx + 8], xmm1
LONG $0x03117c80; BYTE $0x00 // cmp byte [rcx + rdx + 3], 0
LONG $0xc86ff9c5 // vmovdqa xmm1, xmm0
JNE LBB4_1135
JMP LBB4_1143
LBB4_1137:
LONG $0x7e79c1c4; WORD $0x900c // vmovd dword [r8 + 4*rdx], xmm1
LONG $0x01117c80; BYTE $0x00 // cmp byte [rcx + rdx + 1], 0
LONG $0xc86ff9c5 // vmovdqa xmm1, xmm0
JNE LBB4_1138
LBB4_1141:
LONG $0xc9eff1c5 // vpxor xmm1, xmm1, xmm1
LONG $0x7e79c1c4; WORD $0x904c; BYTE $0x04 // vmovd dword [r8 + 4*rdx + 4], xmm1
LONG $0x02117c80; BYTE $0x00 // cmp byte [rcx + rdx + 2], 0
LONG $0xc86ff9c5 // vmovdqa xmm1, xmm0
JE LBB4_1142
LBB4_1139:
LONG $0x7e79c1c4; WORD $0x904c; BYTE $0x08 // vmovd dword [r8 + 4*rdx + 8], xmm1
LONG $0x03117c80; BYTE $0x00 // cmp byte [rcx + rdx + 3], 0
LONG $0xc86ff9c5 // vmovdqa xmm1, xmm0
JNE LBB4_1135
LBB4_1143:
LONG $0xc9eff1c5 // vpxor xmm1, xmm1, xmm1
JMP LBB4_1135
LBB4_450:
WORD $0xc689 // mov esi, eax
WORD $0xe683; BYTE $0xfc // and esi, -4
LONG $0xfc568d48 // lea rdx, [rsi - 4]
WORD $0x8949; BYTE $0xd1 // mov r9, rdx
LONG $0x02e9c149 // shr r9, 2
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xd2 // test rdx, rdx
JE LBB4_1288
WORD $0x894c; BYTE $0xca // mov rdx, r9
LONG $0xfee28348 // and rdx, -2
WORD $0xf748; BYTE $0xda // neg rdx
WORD $0xff31 // xor edi, edi
LONG $0x197de2c4; WORD $0x0045 // vbroadcastsd ymm0, qword 0[rbp] /* [rip + .LCPI4_0] */
LONG $0x197de2c4; WORD $0x084d // vbroadcastsd ymm1, qword 8[rbp] /* [rip + .LCPI4_1] */
LONG $0x573941c4; BYTE $0xc0 // vxorpd xmm8, xmm8, xmm8
LONG $0x197de2c4; WORD $0x185d // vbroadcastsd ymm3, qword 24[rbp] /* [rip + .LCPI4_7] */
QUAD $0x000094a51879e2c4; BYTE $0x00 // vbroadcastss xmm4, dword 148[rbp] /* [rip + .LCPI4_4] */
LBB4_452:
LONG $0x2c10fdc5; BYTE $0xf9 // vmovupd ymm5, yword [rcx + 8*rdi]
LONG $0xf5c2bdc5; BYTE $0x00 // vcmpeqpd ymm6, ymm8, ymm5
LONG $0xe854d5c5 // vandpd ymm5, ymm5, ymm0
LONG $0xed56f5c5 // vorpd ymm5, ymm1, ymm5
LONG $0xfbc2d5c5; BYTE $0x01 // vcmpltpd ymm7, ymm5, ymm3
LONG $0x197de3c4; WORD $0x01fa // vextractf128 xmm2, ymm7, 1
LONG $0xd26bc1c5 // vpackssdw xmm2, xmm7, xmm2
LONG $0xfb5cd5c5 // vsubpd ymm7, ymm5, ymm3
LONG $0xffe6fdc5 // vcvttpd2dq xmm7, ymm7
LONG $0xede6fdc5 // vcvttpd2dq xmm5, ymm5
LONG $0xfc57c1c5 // vxorpd xmm7, xmm7, xmm4
LONG $0x4a41e3c4; WORD $0x20d5 // vblendvps xmm2, xmm7, xmm5, xmm2
LONG $0x197de3c4; WORD $0x01f5 // vextractf128 xmm5, ymm6, 1
LONG $0xed6bc9c5 // vpackssdw xmm5, xmm6, xmm5
LONG $0xd2dfd1c5 // vpandn xmm2, xmm5, xmm2
LONG $0x7f7ac1c4; WORD $0xb814 // vmovdqu oword [r8 + 4*rdi], xmm2
LONG $0x5410fdc5; WORD $0x20f9 // vmovupd ymm2, yword [rcx + 8*rdi + 32]
LONG $0xeac2bdc5; BYTE $0x00 // vcmpeqpd ymm5, ymm8, ymm2
LONG $0x197de3c4; WORD $0x01ee // vextractf128 xmm6, ymm5, 1
LONG $0xee6bd1c5 // vpackssdw xmm5, xmm5, xmm6
LONG $0xd054edc5 // vandpd ymm2, ymm2, ymm0
LONG $0xd256f5c5 // vorpd ymm2, ymm1, ymm2
LONG $0xf3c2edc5; BYTE $0x01 // vcmpltpd ymm6, ymm2, ymm3
LONG $0x197de3c4; WORD $0x01f7 // vextractf128 xmm7, ymm6, 1
LONG $0xf76bc9c5 // vpackssdw xmm6, xmm6, xmm7
LONG $0xfb5cedc5 // vsubpd ymm7, ymm2, ymm3
LONG $0xffe6fdc5 // vcvttpd2dq xmm7, ymm7
LONG $0xfc57c1c5 // vxorpd xmm7, xmm7, xmm4
LONG $0xd2e6fdc5 // vcvttpd2dq xmm2, ymm2
LONG $0x4a41e3c4; WORD $0x60d2 // vblendvps xmm2, xmm7, xmm2, xmm6
LONG $0xd2dfd1c5 // vpandn xmm2, xmm5, xmm2
LONG $0x7f7ac1c4; WORD $0xb854; BYTE $0x10 // vmovdqu oword [r8 + 4*rdi + 16], xmm2
LONG $0x08c78348 // add rdi, 8
LONG $0x02c28348 // add rdx, 2
JNE LBB4_452
JMP LBB4_1289
LBB4_456:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xf0 // and edx, -16
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0xc976f5c5 // vpcmpeqd ymm1, ymm1, ymm1
QUAD $0x00009c955879e2c4; BYTE $0x00 // vpbroadcastd xmm2, dword 156[rbp] /* [rip + .LCPI4_8] */
LBB4_457:
LONG $0x297de2c4; WORD $0xf11c // vpcmpeqq ymm3, ymm0, yword [rcx + 8*rsi]
LONG $0xd9efe5c5 // vpxor ymm3, ymm3, ymm1
LONG $0x397de3c4; WORD $0x01dc // vextracti128 xmm4, ymm3, 1
LONG $0xdc6be1c5 // vpackssdw xmm3, xmm3, xmm4
LONG $0xdadbe1c5 // vpand xmm3, xmm3, xmm2
LONG $0x297de2c4; WORD $0xf164; BYTE $0x20 // vpcmpeqq ymm4, ymm0, yword [rcx + 8*rsi + 32]
LONG $0xe1efddc5 // vpxor ymm4, ymm4, ymm1
LONG $0x397de3c4; WORD $0x01e5 // vextracti128 xmm5, ymm4, 1
LONG $0xe56bd9c5 // vpackssdw xmm4, xmm4, xmm5
LONG $0xe2dbd9c5 // vpand xmm4, xmm4, xmm2
LONG $0x297de2c4; WORD $0xf16c; BYTE $0x40 // vpcmpeqq ymm5, ymm0, yword [rcx + 8*rsi + 64]
LONG $0xe9efd5c5 // vpxor ymm5, ymm5, ymm1
LONG $0x397de3c4; WORD $0x01ee // vextracti128 xmm6, ymm5, 1
LONG $0xee6bd1c5 // vpackssdw xmm5, xmm5, xmm6
LONG $0xeadbd1c5 // vpand xmm5, xmm5, xmm2
LONG $0x297de2c4; WORD $0xf174; BYTE $0x60 // vpcmpeqq ymm6, ymm0, yword [rcx + 8*rsi + 96]
LONG $0xf1efcdc5 // vpxor ymm6, ymm6, ymm1
LONG $0x397de3c4; WORD $0x01f7 // vextracti128 xmm7, ymm6, 1
LONG $0xf76bc9c5 // vpackssdw xmm6, xmm6, xmm7
LONG $0xf2dbc9c5 // vpand xmm6, xmm6, xmm2
LONG $0x7f7ac1c4; WORD $0xb01c // vmovdqu oword [r8 + 4*rsi], xmm3
LONG $0x7f7ac1c4; WORD $0xb064; BYTE $0x10 // vmovdqu oword [r8 + 4*rsi + 16], xmm4
LONG $0x7f7ac1c4; WORD $0xb06c; BYTE $0x20 // vmovdqu oword [r8 + 4*rsi + 32], xmm5
LONG $0x7f7ac1c4; WORD $0xb074; BYTE $0x30 // vmovdqu oword [r8 + 4*rsi + 48], xmm6
LONG $0x10c68348 // add rsi, 16
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_457
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1351
LBB4_459:
WORD $0xf631 // xor esi, esi
LONG $0xd13c8348; BYTE $0x00 // cmp qword [rcx + 8*rdx], 0
LONG $0xd6950f40 // setne sil
LONG $0x90348941 // mov dword [r8 + 4*rdx], esi
LONG $0x01c28348 // add rdx, 1
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JNE LBB4_459
JMP LBB4_1351
LBB4_460:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xe0 // and edx, -32
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0xc976f1c5 // vpcmpeqd xmm1, xmm1, xmm1
QUAD $0x00009c95587de2c4; BYTE $0x00 // vpbroadcastd ymm2, dword 156[rbp] /* [rip + .LCPI4_8] */
LBB4_461:
LONG $0x1c75f9c5; BYTE $0x71 // vpcmpeqw xmm3, xmm0, oword [rcx + 2*rsi]
LONG $0xd9efe1c5 // vpxor xmm3, xmm3, xmm1
LONG $0x337de2c4; BYTE $0xdb // vpmovzxwd ymm3, xmm3
LONG $0x6475f9c5; WORD $0x1071 // vpcmpeqw xmm4, xmm0, oword [rcx + 2*rsi + 16]
LONG $0xdadbe5c5 // vpand ymm3, ymm3, ymm2
LONG $0xe1efd9c5 // vpxor xmm4, xmm4, xmm1
LONG $0x337de2c4; BYTE $0xe4 // vpmovzxwd ymm4, xmm4
LONG $0xe2dbddc5 // vpand ymm4, ymm4, ymm2
LONG $0x6c75f9c5; WORD $0x2071 // vpcmpeqw xmm5, xmm0, oword [rcx + 2*rsi + 32]
LONG $0xe9efd1c5 // vpxor xmm5, xmm5, xmm1
LONG $0x337de2c4; BYTE $0xed // vpmovzxwd ymm5, xmm5
LONG $0xeadbd5c5 // vpand ymm5, ymm5, ymm2
LONG $0x7475f9c5; WORD $0x3071 // vpcmpeqw xmm6, xmm0, oword [rcx + 2*rsi + 48]
LONG $0xf1efc9c5 // vpxor xmm6, xmm6, xmm1
LONG $0x337de2c4; BYTE $0xf6 // vpmovzxwd ymm6, xmm6
LONG $0xf2dbcdc5 // vpand ymm6, ymm6, ymm2
LONG $0x7f7ec1c4; WORD $0xb01c // vmovdqu yword [r8 + 4*rsi], ymm3
LONG $0x7f7ec1c4; WORD $0xb064; BYTE $0x20 // vmovdqu yword [r8 + 4*rsi + 32], ymm4
LONG $0x7f7ec1c4; WORD $0xb06c; BYTE $0x40 // vmovdqu yword [r8 + 4*rsi + 64], ymm5
LONG $0x7f7ec1c4; WORD $0xb074; BYTE $0x60 // vmovdqu yword [r8 + 4*rsi + 96], ymm6
LONG $0x20c68348 // add rsi, 32
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_461
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1351
LBB4_463:
WORD $0xf631 // xor esi, esi
LONG $0x513c8366; BYTE $0x00 // cmp word [rcx + 2*rdx], 0
LONG $0xd6950f40 // setne sil
LONG $0x90348941 // mov dword [r8 + 4*rdx], esi
LONG $0x01c28348 // add rdx, 1
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JNE LBB4_463
JMP LBB4_1351
LBB4_464:
WORD $0x8944; BYTE $0xd2 // mov edx, r10d
WORD $0xe283; BYTE $0xe0 // and edx, -32
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0x763941c4; BYTE $0xc0 // vpcmpeqd xmm8, xmm8, xmm8
QUAD $0x00009c95187de2c4; BYTE $0x00 // vbroadcastss ymm2, dword 156[rbp] /* [rip + .LCPI4_8] */
LBB4_465:
LONG $0x1c6ffac5; BYTE $0x71 // vmovdqu xmm3, oword [rcx + 2*rsi]
LONG $0x646ffac5; WORD $0x1071 // vmovdqu xmm4, oword [rcx + 2*rsi + 16]
LONG $0x6c6ffac5; WORD $0x2071 // vmovdqu xmm5, oword [rcx + 2*rsi + 32]
LONG $0x746ffac5; WORD $0x3071 // vmovdqu xmm6, oword [rcx + 2*rsi + 48]
LONG $0xf865e1c5 // vpcmpgtw xmm7, xmm3, xmm0
LONG $0x237d62c4; BYTE $0xcf // vpmovsxwd ymm9, xmm7
LONG $0xc865d9c5 // vpcmpgtw xmm1, xmm4, xmm0
LONG $0x237d62c4; BYTE $0xd1 // vpmovsxwd ymm10, xmm1
LONG $0xf865d1c5 // vpcmpgtw xmm7, xmm5, xmm0
LONG $0x237de2c4; BYTE $0xff // vpmovsxwd ymm7, xmm7
LONG $0xc865c9c5 // vpcmpgtw xmm1, xmm6, xmm0
LONG $0x237de2c4; BYTE $0xc9 // vpmovsxwd ymm1, xmm1
LONG $0xd875e1c5 // vpcmpeqw xmm3, xmm3, xmm0
LONG $0xdbefb9c5 // vpxor xmm3, xmm8, xmm3
LONG $0x237de2c4; BYTE $0xdb // vpmovsxwd ymm3, xmm3
LONG $0xe075d9c5 // vpcmpeqw xmm4, xmm4, xmm0
LONG $0xe4efb9c5 // vpxor xmm4, xmm8, xmm4
LONG $0x237de2c4; BYTE $0xe4 // vpmovsxwd ymm4, xmm4
LONG $0xe875d1c5 // vpcmpeqw xmm5, xmm5, xmm0
LONG $0xedefb9c5 // vpxor xmm5, xmm8, xmm5
LONG $0x237de2c4; BYTE $0xed // vpmovsxwd ymm5, xmm5
LONG $0xf075c9c5 // vpcmpeqw xmm6, xmm6, xmm0
LONG $0xf6efb9c5 // vpxor xmm6, xmm8, xmm6
LONG $0x237de2c4; BYTE $0xf6 // vpmovsxwd ymm6, xmm6
LONG $0x4a65e3c4; WORD $0x90da // vblendvps ymm3, ymm3, ymm2, ymm9
LONG $0x4a5de3c4; WORD $0xa0e2 // vblendvps ymm4, ymm4, ymm2, ymm10
LONG $0x4a55e3c4; WORD $0x70ea // vblendvps ymm5, ymm5, ymm2, ymm7
LONG $0x4a4de3c4; WORD $0x10ca // vblendvps ymm1, ymm6, ymm2, ymm1
LONG $0x117cc1c4; WORD $0xb01c // vmovups yword [r8 + 4*rsi], ymm3
LONG $0x117cc1c4; WORD $0xb064; BYTE $0x20 // vmovups yword [r8 + 4*rsi + 32], ymm4
LONG $0x117cc1c4; WORD $0xb06c; BYTE $0x40 // vmovups yword [r8 + 4*rsi + 64], ymm5
LONG $0x117cc1c4; WORD $0xb04c; BYTE $0x60 // vmovups yword [r8 + 4*rsi + 96], ymm1
LONG $0x20c68348 // add rsi, 32
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_465
WORD $0x394c; BYTE $0xd2 // cmp rdx, r10
JE LBB4_1351
LBB4_467:
LONG $0x000001be; BYTE $0x00 // mov esi, 1
LBB4_468:
LONG $0x513cb70f // movzx edi, word [rcx + 2*rdx]
WORD $0xc031 // xor eax, eax
WORD $0x8566; BYTE $0xff // test di, di
WORD $0x950f; BYTE $0xd0 // setne al
WORD $0xd8f7 // neg eax
WORD $0x8566; BYTE $0xff // test di, di
WORD $0x4f0f; BYTE $0xc6 // cmovg eax, esi
LONG $0x90048941 // mov dword [r8 + 4*rdx], eax
LONG $0x01c28348 // add rdx, 1
WORD $0x3949; BYTE $0xd2 // cmp r10, rdx
JNE LBB4_468
JMP LBB4_1351
LBB4_469:
WORD $0x8944; BYTE $0xd2 // mov edx, r10d
WORD $0xe283; BYTE $0xf0 // and edx, -16
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0x763d41c4; BYTE $0xc0 // vpcmpeqd ymm8, ymm8, ymm8
QUAD $0x00009c951879e2c4; BYTE $0x00 // vbroadcastss xmm2, dword 156[rbp] /* [rip + .LCPI4_8] */
LBB4_470:
LONG $0x246ffec5; BYTE $0xf1 // vmovdqu ymm4, yword [rcx + 8*rsi]
LONG $0x6c6ffec5; WORD $0x20f1 // vmovdqu ymm5, yword [rcx + 8*rsi + 32]
LONG $0x746ffec5; WORD $0x40f1 // vmovdqu ymm6, yword [rcx + 8*rsi + 64]
LONG $0x7c6ffec5; WORD $0x60f1 // vmovdqu ymm7, yword [rcx + 8*rsi + 96]
LONG $0x375de2c4; BYTE $0xd8 // vpcmpgtq ymm3, ymm4, ymm0
LONG $0x397de3c4; WORD $0x01d9 // vextracti128 xmm1, ymm3, 1
LONG $0xc96b61c5 // vpackssdw xmm9, xmm3, xmm1
LONG $0x3755e2c4; BYTE $0xc8 // vpcmpgtq ymm1, ymm5, ymm0
LONG $0x397de3c4; WORD $0x01cb // vextracti128 xmm3, ymm1, 1
LONG $0xd36b71c5 // vpackssdw xmm10, xmm1, xmm3
LONG $0x374de2c4; BYTE $0xd8 // vpcmpgtq ymm3, ymm6, ymm0
LONG $0x397de3c4; WORD $0x01d9 // vextracti128 xmm1, ymm3, 1
LONG $0xd96b61c5 // vpackssdw xmm11, xmm3, xmm1
LONG $0x3745e2c4; BYTE $0xd8 // vpcmpgtq ymm3, ymm7, ymm0
LONG $0x397de3c4; WORD $0x01d9 // vextracti128 xmm1, ymm3, 1
LONG $0xc96be1c5 // vpackssdw xmm1, xmm3, xmm1
LONG $0x295de2c4; BYTE $0xd8 // vpcmpeqq ymm3, ymm4, ymm0
LONG $0xdbefbdc5 // vpxor ymm3, ymm8, ymm3
LONG $0x397de3c4; WORD $0x01dc // vextracti128 xmm4, ymm3, 1
LONG $0xdc6be1c5 // vpackssdw xmm3, xmm3, xmm4
LONG $0x2955e2c4; BYTE $0xe0 // vpcmpeqq ymm4, ymm5, ymm0
LONG $0xe4efbdc5 // vpxor ymm4, ymm8, ymm4
LONG $0x397de3c4; WORD $0x01e5 // vextracti128 xmm5, ymm4, 1
LONG $0xe56bd9c5 // vpackssdw xmm4, xmm4, xmm5
LONG $0x294de2c4; BYTE $0xe8 // vpcmpeqq ymm5, ymm6, ymm0
LONG $0xedefbdc5 // vpxor ymm5, ymm8, ymm5
LONG $0x397de3c4; WORD $0x01ee // vextracti128 xmm6, ymm5, 1
LONG $0xee6bd1c5 // vpackssdw xmm5, xmm5, xmm6
LONG $0x2945e2c4; BYTE $0xf0 // vpcmpeqq ymm6, ymm7, ymm0
LONG $0xf6efbdc5 // vpxor ymm6, ymm8, ymm6
LONG $0x397de3c4; WORD $0x01f7 // vextracti128 xmm7, ymm6, 1
LONG $0xf76bc9c5 // vpackssdw xmm6, xmm6, xmm7
LONG $0x4a61e3c4; WORD $0x90da // vblendvps xmm3, xmm3, xmm2, xmm9
LONG $0x4a59e3c4; WORD $0xa0e2 // vblendvps xmm4, xmm4, xmm2, xmm10
LONG $0x4a51e3c4; WORD $0xb0ea // vblendvps xmm5, xmm5, xmm2, xmm11
LONG $0x4a49e3c4; WORD $0x10ca // vblendvps xmm1, xmm6, xmm2, xmm1
LONG $0x1178c1c4; WORD $0xb01c // vmovups oword [r8 + 4*rsi], xmm3
LONG $0x1178c1c4; WORD $0xb064; BYTE $0x10 // vmovups oword [r8 + 4*rsi + 16], xmm4
LONG $0x1178c1c4; WORD $0xb06c; BYTE $0x20 // vmovups oword [r8 + 4*rsi + 32], xmm5
LONG $0x1178c1c4; WORD $0xb04c; BYTE $0x30 // vmovups oword [r8 + 4*rsi + 48], xmm1
LONG $0x10c68348 // add rsi, 16
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_470
WORD $0x394c; BYTE $0xd2 // cmp rdx, r10
JE LBB4_1351
LBB4_472:
LONG $0x000001be; BYTE $0x00 // mov esi, 1
LBB4_473:
LONG $0xd13c8b48 // mov rdi, qword [rcx + 8*rdx]
WORD $0xc031 // xor eax, eax
WORD $0x8548; BYTE $0xff // test rdi, rdi
WORD $0x950f; BYTE $0xd0 // setne al
WORD $0xd8f7 // neg eax
WORD $0x8548; BYTE $0xff // test rdi, rdi
WORD $0x4f0f; BYTE $0xc6 // cmovg eax, esi
LONG $0x90048941 // mov dword [r8 + 4*rdx], eax
LONG $0x01c28348 // add rdx, 1
WORD $0x3949; BYTE $0xd2 // cmp r10, rdx
JNE LBB4_473
JMP LBB4_1351
LBB4_474:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xf8 // and edx, -8
LONG $0xf8728d48 // lea rsi, [rdx - 8]
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
LONG $0x03e9c149 // shr r9, 3
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xf6 // test rsi, rsi
JE LBB4_1294
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
QUAD $0x00009c85587de2c4; BYTE $0x00 // vpbroadcastd ymm0, dword 156[rbp] /* [rip + .LCPI4_8] */
LONG $0xc957f0c5 // vxorps xmm1, xmm1, xmm1
QUAD $0x0000a495187de2c4; BYTE $0x00 // vbroadcastss ymm2, dword 164[rbp] /* [rip + .LCPI4_10] */
QUAD $0x0000949d187de2c4; BYTE $0x00 // vbroadcastss ymm3, dword 148[rbp] /* [rip + .LCPI4_4] */
LBB4_476:
LONG $0x246ffec5; BYTE $0xb1 // vmovdqu ymm4, yword [rcx + 4*rsi]
LONG $0xe472d5c5; BYTE $0x1f // vpsrad ymm5, ymm4, 31
LONG $0xe8ebd5c5 // vpor ymm5, ymm5, ymm0
LONG $0xed5bfcc5 // vcvtdq2ps ymm5, ymm5
LONG $0xf2c2d4c5; BYTE $0x01 // vcmpltps ymm6, ymm5, ymm2
LONG $0xfa5cd4c5 // vsubps ymm7, ymm5, ymm2
LONG $0xff5bfec5 // vcvttps2dq ymm7, ymm7
LONG $0xfb57c4c5 // vxorps ymm7, ymm7, ymm3
LONG $0xed5bfec5 // vcvttps2dq ymm5, ymm5
LONG $0x4a45e3c4; WORD $0x60ed // vblendvps ymm5, ymm7, ymm5, ymm6
LONG $0xe1c2dcc5; BYTE $0x04 // vcmpneqps ymm4, ymm4, ymm1
LONG $0xe554dcc5 // vandps ymm4, ymm4, ymm5
LONG $0x117cc1c4; WORD $0xb024 // vmovups yword [r8 + 4*rsi], ymm4
LONG $0x646ffec5; WORD $0x20b1 // vmovdqu ymm4, yword [rcx + 4*rsi + 32]
LONG $0xe472d5c5; BYTE $0x1f // vpsrad ymm5, ymm4, 31
LONG $0xe8ebd5c5 // vpor ymm5, ymm5, ymm0
LONG $0xed5bfcc5 // vcvtdq2ps ymm5, ymm5
LONG $0xf2c2d4c5; BYTE $0x01 // vcmpltps ymm6, ymm5, ymm2
LONG $0xfa5cd4c5 // vsubps ymm7, ymm5, ymm2
LONG $0xff5bfec5 // vcvttps2dq ymm7, ymm7
LONG $0xfb57c4c5 // vxorps ymm7, ymm7, ymm3
LONG $0xed5bfec5 // vcvttps2dq ymm5, ymm5
LONG $0x4a45e3c4; WORD $0x60ed // vblendvps ymm5, ymm7, ymm5, ymm6
LONG $0xe1c2dcc5; BYTE $0x04 // vcmpneqps ymm4, ymm4, ymm1
LONG $0xe554dcc5 // vandps ymm4, ymm4, ymm5
LONG $0x117cc1c4; WORD $0xb064; BYTE $0x20 // vmovups yword [r8 + 4*rsi + 32], ymm4
LONG $0x10c68348 // add rsi, 16
LONG $0x02c78348 // add rdi, 2
JNE LBB4_476
JMP LBB4_1295
LBB4_483:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xf0 // and edx, -16
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
QUAD $0x00009c8d5879e2c4; BYTE $0x00 // vpbroadcastd xmm1, dword 156[rbp] /* [rip + .LCPI4_8] */
LBB4_484:
LONG $0x1476f9c5; BYTE $0xb1 // vpcmpeqd xmm2, xmm0, oword [rcx + 4*rsi]
LONG $0xd1dfe9c5 // vpandn xmm2, xmm2, xmm1
LONG $0xd2e6fec5 // vcvtdq2pd ymm2, xmm2
LONG $0x5c76f9c5; WORD $0x10b1 // vpcmpeqd xmm3, xmm0, oword [rcx + 4*rsi + 16]
LONG $0xd9dfe1c5 // vpandn xmm3, xmm3, xmm1
LONG $0xdbe6fec5 // vcvtdq2pd ymm3, xmm3
LONG $0x6476f9c5; WORD $0x20b1 // vpcmpeqd xmm4, xmm0, oword [rcx + 4*rsi + 32]
LONG $0xe1dfd9c5 // vpandn xmm4, xmm4, xmm1
LONG $0xe4e6fec5 // vcvtdq2pd ymm4, xmm4
LONG $0x6c76f9c5; WORD $0x30b1 // vpcmpeqd xmm5, xmm0, oword [rcx + 4*rsi + 48]
LONG $0xe9dfd1c5 // vpandn xmm5, xmm5, xmm1
LONG $0xede6fec5 // vcvtdq2pd ymm5, xmm5
LONG $0x117dc1c4; WORD $0xf014 // vmovupd yword [r8 + 8*rsi], ymm2
LONG $0x117dc1c4; WORD $0xf05c; BYTE $0x20 // vmovupd yword [r8 + 8*rsi + 32], ymm3
LONG $0x117dc1c4; WORD $0xf064; BYTE $0x40 // vmovupd yword [r8 + 8*rsi + 64], ymm4
LONG $0x117dc1c4; WORD $0xf06c; BYTE $0x60 // vmovupd yword [r8 + 8*rsi + 96], ymm5
LONG $0x10c68348 // add rsi, 16
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_484
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1351
LBB4_486:
LONG $0x457efac5; BYTE $0x08 // vmovq xmm0, qword 8[rbp] /* [rip + .LCPI4_1] */
JMP LBB4_488
LBB4_487:
LONG $0xd679c1c4; WORD $0xd00c // vmovq qword [r8 + 8*rdx], xmm1
LONG $0x01c28348 // add rdx, 1
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JE LBB4_1351
LBB4_488:
LONG $0x00913c83 // cmp dword [rcx + 4*rdx], 0
LONG $0xc86ff9c5 // vmovdqa xmm1, xmm0
JNE LBB4_487
LONG $0xc9eff1c5 // vpxor xmm1, xmm1, xmm1
JMP LBB4_487
LBB4_496:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xf0 // and edx, -16
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0xc976f5c5 // vpcmpeqd ymm1, ymm1, ymm1
QUAD $0x00009c955879e2c4; BYTE $0x00 // vpbroadcastd xmm2, dword 156[rbp] /* [rip + .LCPI4_8] */
LBB4_497:
LONG $0x297de2c4; WORD $0xf11c // vpcmpeqq ymm3, ymm0, yword [rcx + 8*rsi]
LONG $0xd9efe5c5 // vpxor ymm3, ymm3, ymm1
LONG $0x397de3c4; WORD $0x01dc // vextracti128 xmm4, ymm3, 1
LONG $0xdc6be1c5 // vpackssdw xmm3, xmm3, xmm4
LONG $0xdadbe1c5 // vpand xmm3, xmm3, xmm2
LONG $0xdbe6fec5 // vcvtdq2pd ymm3, xmm3
LONG $0x297de2c4; WORD $0xf164; BYTE $0x20 // vpcmpeqq ymm4, ymm0, yword [rcx + 8*rsi + 32]
LONG $0xe1efddc5 // vpxor ymm4, ymm4, ymm1
LONG $0x397de3c4; WORD $0x01e5 // vextracti128 xmm5, ymm4, 1
LONG $0xe56bd9c5 // vpackssdw xmm4, xmm4, xmm5
LONG $0xe2dbd9c5 // vpand xmm4, xmm4, xmm2
LONG $0xe4e6fec5 // vcvtdq2pd ymm4, xmm4
LONG $0x297de2c4; WORD $0xf16c; BYTE $0x40 // vpcmpeqq ymm5, ymm0, yword [rcx + 8*rsi + 64]
LONG $0xe9efd5c5 // vpxor ymm5, ymm5, ymm1
LONG $0x397de3c4; WORD $0x01ee // vextracti128 xmm6, ymm5, 1
LONG $0xee6bd1c5 // vpackssdw xmm5, xmm5, xmm6
LONG $0xeadbd1c5 // vpand xmm5, xmm5, xmm2
LONG $0xede6fec5 // vcvtdq2pd ymm5, xmm5
LONG $0x297de2c4; WORD $0xf174; BYTE $0x60 // vpcmpeqq ymm6, ymm0, yword [rcx + 8*rsi + 96]
LONG $0xf1efcdc5 // vpxor ymm6, ymm6, ymm1
LONG $0x397de3c4; WORD $0x01f7 // vextracti128 xmm7, ymm6, 1
LONG $0xf76bc9c5 // vpackssdw xmm6, xmm6, xmm7
LONG $0xf2dbc9c5 // vpand xmm6, xmm6, xmm2
LONG $0xf6e6fec5 // vcvtdq2pd ymm6, xmm6
LONG $0x117dc1c4; WORD $0xf01c // vmovupd yword [r8 + 8*rsi], ymm3
LONG $0x117dc1c4; WORD $0xf064; BYTE $0x20 // vmovupd yword [r8 + 8*rsi + 32], ymm4
LONG $0x117dc1c4; WORD $0xf06c; BYTE $0x40 // vmovupd yword [r8 + 8*rsi + 64], ymm5
LONG $0x117dc1c4; WORD $0xf074; BYTE $0x60 // vmovupd yword [r8 + 8*rsi + 96], ymm6
LONG $0x10c68348 // add rsi, 16
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_497
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1351
LBB4_499:
LONG $0x457efac5; BYTE $0x08 // vmovq xmm0, qword 8[rbp] /* [rip + .LCPI4_1] */
JMP LBB4_501
LBB4_500:
LONG $0xd679c1c4; WORD $0xd00c // vmovq qword [r8 + 8*rdx], xmm1
LONG $0x01c28348 // add rdx, 1
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JE LBB4_1351
LBB4_501:
LONG $0xd13c8348; BYTE $0x00 // cmp qword [rcx + 8*rdx], 0
LONG $0xc86ff9c5 // vmovdqa xmm1, xmm0
JNE LBB4_500
LONG $0xc9eff1c5 // vpxor xmm1, xmm1, xmm1
JMP LBB4_500
LBB4_503:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xf0 // and edx, -16
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0xc976f1c5 // vpcmpeqd xmm1, xmm1, xmm1
QUAD $0x00009c955879e2c4; BYTE $0x00 // vpbroadcastd xmm2, dword 156[rbp] /* [rip + .LCPI4_8] */
LBB4_504:
LONG $0x1c7efac5; BYTE $0x71 // vmovq xmm3, qword [rcx + 2*rsi]
LONG $0x647efac5; WORD $0x0871 // vmovq xmm4, qword [rcx + 2*rsi + 8]
LONG $0x6c7efac5; WORD $0x1071 // vmovq xmm5, qword [rcx + 2*rsi + 16]
LONG $0x747efac5; WORD $0x1871 // vmovq xmm6, qword [rcx + 2*rsi + 24]
LONG $0xd875e1c5 // vpcmpeqw xmm3, xmm3, xmm0
LONG $0xd9efe1c5 // vpxor xmm3, xmm3, xmm1
LONG $0x3379e2c4; BYTE $0xdb // vpmovzxwd xmm3, xmm3
LONG $0xdadbe1c5 // vpand xmm3, xmm3, xmm2
LONG $0xdbe6fec5 // vcvtdq2pd ymm3, xmm3
LONG $0xe075d9c5 // vpcmpeqw xmm4, xmm4, xmm0
LONG $0xe1efd9c5 // vpxor xmm4, xmm4, xmm1
LONG $0x3379e2c4; BYTE $0xe4 // vpmovzxwd xmm4, xmm4
LONG $0xe2dbd9c5 // vpand xmm4, xmm4, xmm2
LONG $0xe4e6fec5 // vcvtdq2pd ymm4, xmm4
LONG $0xe875d1c5 // vpcmpeqw xmm5, xmm5, xmm0
LONG $0xe9efd1c5 // vpxor xmm5, xmm5, xmm1
LONG $0x3379e2c4; BYTE $0xed // vpmovzxwd xmm5, xmm5
LONG $0xeadbd1c5 // vpand xmm5, xmm5, xmm2
LONG $0xede6fec5 // vcvtdq2pd ymm5, xmm5
LONG $0xf075c9c5 // vpcmpeqw xmm6, xmm6, xmm0
LONG $0xf1efc9c5 // vpxor xmm6, xmm6, xmm1
LONG $0x3379e2c4; BYTE $0xf6 // vpmovzxwd xmm6, xmm6
LONG $0xf2dbc9c5 // vpand xmm6, xmm6, xmm2
LONG $0xf6e6fec5 // vcvtdq2pd ymm6, xmm6
LONG $0x117dc1c4; WORD $0xf01c // vmovupd yword [r8 + 8*rsi], ymm3
LONG $0x117dc1c4; WORD $0xf064; BYTE $0x20 // vmovupd yword [r8 + 8*rsi + 32], ymm4
LONG $0x117dc1c4; WORD $0xf06c; BYTE $0x40 // vmovupd yword [r8 + 8*rsi + 64], ymm5
LONG $0x117dc1c4; WORD $0xf074; BYTE $0x60 // vmovupd yword [r8 + 8*rsi + 96], ymm6
LONG $0x10c68348 // add rsi, 16
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_504
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1351
LBB4_506:
LONG $0x457efac5; BYTE $0x08 // vmovq xmm0, qword 8[rbp] /* [rip + .LCPI4_1] */
JMP LBB4_508
LBB4_507:
LONG $0xd679c1c4; WORD $0xd00c // vmovq qword [r8 + 8*rdx], xmm1
LONG $0x01c28348 // add rdx, 1
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JE LBB4_1351
LBB4_508:
LONG $0x513c8366; BYTE $0x00 // cmp word [rcx + 2*rdx], 0
LONG $0xc86ff9c5 // vmovdqa xmm1, xmm0
JNE LBB4_507
LONG $0xc9eff1c5 // vpxor xmm1, xmm1, xmm1
JMP LBB4_507
LBB4_510:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xf0 // and edx, -16
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0x763941c4; BYTE $0xc0 // vpcmpeqd xmm8, xmm8, xmm8
LONG $0x197de2c4; WORD $0x0855 // vbroadcastsd ymm2, qword 8[rbp] /* [rip + .LCPI4_1] */
LBB4_511:
LONG $0x1c7efac5; BYTE $0x71 // vmovq xmm3, qword [rcx + 2*rsi]
LONG $0x647efac5; WORD $0x0871 // vmovq xmm4, qword [rcx + 2*rsi + 8]
LONG $0x6c7efac5; WORD $0x1071 // vmovq xmm5, qword [rcx + 2*rsi + 16]
LONG $0x747efac5; WORD $0x1871 // vmovq xmm6, qword [rcx + 2*rsi + 24]
LONG $0xf865e1c5 // vpcmpgtw xmm7, xmm3, xmm0
LONG $0x247d62c4; BYTE $0xcf // vpmovsxwq ymm9, xmm7
LONG $0xc865d9c5 // vpcmpgtw xmm1, xmm4, xmm0
LONG $0x247d62c4; BYTE $0xd1 // vpmovsxwq ymm10, xmm1
LONG $0xf865d1c5 // vpcmpgtw xmm7, xmm5, xmm0
LONG $0x247de2c4; BYTE $0xff // vpmovsxwq ymm7, xmm7
LONG $0xc865c9c5 // vpcmpgtw xmm1, xmm6, xmm0
LONG $0xd875e1c5 // vpcmpeqw xmm3, xmm3, xmm0
LONG $0xdbefb9c5 // vpxor xmm3, xmm8, xmm3
LONG $0x2379e2c4; BYTE $0xdb // vpmovsxwd xmm3, xmm3
LONG $0xdbe6fec5 // vcvtdq2pd ymm3, xmm3
LONG $0xe075d9c5 // vpcmpeqw xmm4, xmm4, xmm0
LONG $0xe4efb9c5 // vpxor xmm4, xmm8, xmm4
LONG $0x2379e2c4; BYTE $0xe4 // vpmovsxwd xmm4, xmm4
LONG $0xe4e6fec5 // vcvtdq2pd ymm4, xmm4
LONG $0xe875d1c5 // vpcmpeqw xmm5, xmm5, xmm0
LONG $0xedefb9c5 // vpxor xmm5, xmm8, xmm5
LONG $0x2379e2c4; BYTE $0xed // vpmovsxwd xmm5, xmm5
LONG $0xede6fec5 // vcvtdq2pd ymm5, xmm5
LONG $0x247de2c4; BYTE $0xc9 // vpmovsxwq ymm1, xmm1
LONG $0xf075c9c5 // vpcmpeqw xmm6, xmm6, xmm0
LONG $0xf6efb9c5 // vpxor xmm6, xmm8, xmm6
LONG $0x2379e2c4; BYTE $0xf6 // vpmovsxwd xmm6, xmm6
LONG $0xf6e6fec5 // vcvtdq2pd ymm6, xmm6
LONG $0x4b65e3c4; WORD $0x90da // vblendvpd ymm3, ymm3, ymm2, ymm9
LONG $0x4b5de3c4; WORD $0xa0e2 // vblendvpd ymm4, ymm4, ymm2, ymm10
LONG $0x4b55e3c4; WORD $0x70ea // vblendvpd ymm5, ymm5, ymm2, ymm7
LONG $0x4b4de3c4; WORD $0x10ca // vblendvpd ymm1, ymm6, ymm2, ymm1
LONG $0x117dc1c4; WORD $0xf01c // vmovupd yword [r8 + 8*rsi], ymm3
LONG $0x117dc1c4; WORD $0xf064; BYTE $0x20 // vmovupd yword [r8 + 8*rsi + 32], ymm4
LONG $0x117dc1c4; WORD $0xf06c; BYTE $0x40 // vmovupd yword [r8 + 8*rsi + 64], ymm5
LONG $0x117dc1c4; WORD $0xf04c; BYTE $0x60 // vmovupd yword [r8 + 8*rsi + 96], ymm1
LONG $0x10c68348 // add rsi, 16
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_511
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1351
LBB4_513:
LONG $0x4510fbc5; BYTE $0x20 // vmovsd xmm0, qword 32[rbp] /* [rip + .LCPI4_13] */
LONG $0x4d10fbc5; BYTE $0x08 // vmovsd xmm1, qword 8[rbp] /* [rip + .LCPI4_1] */
JMP LBB4_515
LBB4_514:
LONG $0x117bc1c4; WORD $0xd01c // vmovsd qword [r8 + 8*rdx], xmm3
LONG $0x01c28348 // add rdx, 1
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JE LBB4_1351
LBB4_515:
LONG $0x513c8366; BYTE $0x00 // cmp word [rcx + 2*rdx], 0
LONG $0xd028f9c5 // vmovapd xmm2, xmm0
JNE LBB4_517
LONG $0xd257e9c5 // vxorpd xmm2, xmm2, xmm2
LBB4_517:
LONG $0xd928f9c5 // vmovapd xmm3, xmm1
JG LBB4_514
LONG $0xda28f9c5 // vmovapd xmm3, xmm2
JMP LBB4_514
LBB4_519:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xf0 // and edx, -16
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0x762541c4; BYTE $0xdb // vpcmpeqd ymm11, ymm11, ymm11
LONG $0x197de2c4; WORD $0x0855 // vbroadcastsd ymm2, qword 8[rbp] /* [rip + .LCPI4_1] */
LBB4_520:
LONG $0x1c6ffec5; BYTE $0xf1 // vmovdqu ymm3, yword [rcx + 8*rsi]
LONG $0x646ffec5; WORD $0x20f1 // vmovdqu ymm4, yword [rcx + 8*rsi + 32]
LONG $0x6c6ffec5; WORD $0x40f1 // vmovdqu ymm5, yword [rcx + 8*rsi + 64]
LONG $0x746ffec5; WORD $0x60f1 // vmovdqu ymm6, yword [rcx + 8*rsi + 96]
LONG $0x3765e2c4; BYTE $0xf8 // vpcmpgtq ymm7, ymm3, ymm0
LONG $0x375d62c4; BYTE $0xc0 // vpcmpgtq ymm8, ymm4, ymm0
LONG $0x375562c4; BYTE $0xc8 // vpcmpgtq ymm9, ymm5, ymm0
LONG $0x374d62c4; BYTE $0xd0 // vpcmpgtq ymm10, ymm6, ymm0
LONG $0x2965e2c4; BYTE $0xd8 // vpcmpeqq ymm3, ymm3, ymm0
LONG $0xdbefa5c5 // vpxor ymm3, ymm11, ymm3
LONG $0x397de3c4; WORD $0x01d9 // vextracti128 xmm1, ymm3, 1
LONG $0xc96be1c5 // vpackssdw xmm1, xmm3, xmm1
LONG $0xc9e6fec5 // vcvtdq2pd ymm1, xmm1
LONG $0x295de2c4; BYTE $0xd8 // vpcmpeqq ymm3, ymm4, ymm0
LONG $0xdbefa5c5 // vpxor ymm3, ymm11, ymm3
LONG $0x397de3c4; WORD $0x01dc // vextracti128 xmm4, ymm3, 1
LONG $0xdc6be1c5 // vpackssdw xmm3, xmm3, xmm4
LONG $0xdbe6fec5 // vcvtdq2pd ymm3, xmm3
LONG $0x2955e2c4; BYTE $0xe0 // vpcmpeqq ymm4, ymm5, ymm0
LONG $0xe4efa5c5 // vpxor ymm4, ymm11, ymm4
LONG $0x397de3c4; WORD $0x01e5 // vextracti128 xmm5, ymm4, 1
LONG $0xe56bd9c5 // vpackssdw xmm4, xmm4, xmm5
LONG $0xe4e6fec5 // vcvtdq2pd ymm4, xmm4
LONG $0x294de2c4; BYTE $0xe8 // vpcmpeqq ymm5, ymm6, ymm0
LONG $0xedefa5c5 // vpxor ymm5, ymm11, ymm5
LONG $0x397de3c4; WORD $0x01ee // vextracti128 xmm6, ymm5, 1
LONG $0xee6bd1c5 // vpackssdw xmm5, xmm5, xmm6
LONG $0xede6fec5 // vcvtdq2pd ymm5, xmm5
LONG $0x4b75e3c4; WORD $0x70ca // vblendvpd ymm1, ymm1, ymm2, ymm7
LONG $0x4b65e3c4; WORD $0x80da // vblendvpd ymm3, ymm3, ymm2, ymm8
LONG $0x4b5de3c4; WORD $0x90e2 // vblendvpd ymm4, ymm4, ymm2, ymm9
LONG $0x4b55e3c4; WORD $0xa0ea // vblendvpd ymm5, ymm5, ymm2, ymm10
LONG $0x117dc1c4; WORD $0xf00c // vmovupd yword [r8 + 8*rsi], ymm1
LONG $0x117dc1c4; WORD $0xf05c; BYTE $0x20 // vmovupd yword [r8 + 8*rsi + 32], ymm3
LONG $0x117dc1c4; WORD $0xf064; BYTE $0x40 // vmovupd yword [r8 + 8*rsi + 64], ymm4
LONG $0x117dc1c4; WORD $0xf06c; BYTE $0x60 // vmovupd yword [r8 + 8*rsi + 96], ymm5
LONG $0x10c68348 // add rsi, 16
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_520
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1351
LBB4_522:
LONG $0x4510fbc5; BYTE $0x20 // vmovsd xmm0, qword 32[rbp] /* [rip + .LCPI4_13] */
LONG $0x4d10fbc5; BYTE $0x08 // vmovsd xmm1, qword 8[rbp] /* [rip + .LCPI4_1] */
JMP LBB4_524
LBB4_523:
LONG $0x117bc1c4; WORD $0xd01c // vmovsd qword [r8 + 8*rdx], xmm3
LONG $0x01c28348 // add rdx, 1
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JE LBB4_1351
LBB4_524:
LONG $0xd13c8348; BYTE $0x00 // cmp qword [rcx + 8*rdx], 0
LONG $0xd028f9c5 // vmovapd xmm2, xmm0
JNE LBB4_526
LONG $0xd257e9c5 // vxorpd xmm2, xmm2, xmm2
LBB4_526:
LONG $0xd928f9c5 // vmovapd xmm3, xmm1
JG LBB4_523
LONG $0xda28f9c5 // vmovapd xmm3, xmm2
JMP LBB4_523
LBB4_528:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xf0 // and edx, -16
WORD $0xf631 // xor esi, esi
LONG $0x573841c4; BYTE $0xc0 // vxorps xmm8, xmm8, xmm8
QUAD $0x00009c8d5879e2c4; BYTE $0x00 // vpbroadcastd xmm1, dword 156[rbp] /* [rip + .LCPI4_8] */
LBB4_529:
LONG $0x1410f8c5; BYTE $0xb1 // vmovups xmm2, oword [rcx + 4*rsi]
LONG $0x5c10f8c5; WORD $0x10b1 // vmovups xmm3, oword [rcx + 4*rsi + 16]
LONG $0x6410f8c5; WORD $0x20b1 // vmovups xmm4, oword [rcx + 4*rsi + 32]
LONG $0x6c10f8c5; WORD $0x30b1 // vmovups xmm5, oword [rcx + 4*rsi + 48]
LONG $0xf2c2b8c5; BYTE $0x00 // vcmpeqps xmm6, xmm8, xmm2
LONG $0x257de2c4; BYTE $0xf6 // vpmovsxdq ymm6, xmm6
LONG $0xfbc2b8c5; BYTE $0x00 // vcmpeqps xmm7, xmm8, xmm3
LONG $0x257de2c4; BYTE $0xff // vpmovsxdq ymm7, xmm7
LONG $0xc4c2b8c5; BYTE $0x00 // vcmpeqps xmm0, xmm8, xmm4
LONG $0x257d62c4; BYTE $0xc8 // vpmovsxdq ymm9, xmm0
LONG $0xc5c2b8c5; BYTE $0x00 // vcmpeqps xmm0, xmm8, xmm5
LONG $0x257de2c4; BYTE $0xc0 // vpmovsxdq ymm0, xmm0
LONG $0xe272e9c5; BYTE $0x1f // vpsrad xmm2, xmm2, 31
LONG $0xd1ebe9c5 // vpor xmm2, xmm2, xmm1
LONG $0xe372e1c5; BYTE $0x1f // vpsrad xmm3, xmm3, 31
LONG $0xd9ebe1c5 // vpor xmm3, xmm3, xmm1
LONG $0xe472d9c5; BYTE $0x1f // vpsrad xmm4, xmm4, 31
LONG $0xe1ebd9c5 // vpor xmm4, xmm4, xmm1
LONG $0xe572d1c5; BYTE $0x1f // vpsrad xmm5, xmm5, 31
LONG $0xe9ebd1c5 // vpor xmm5, xmm5, xmm1
LONG $0xd25bf8c5 // vcvtdq2ps xmm2, xmm2
LONG $0xdb5bf8c5 // vcvtdq2ps xmm3, xmm3
LONG $0xe45bf8c5 // vcvtdq2ps xmm4, xmm4
LONG $0xed5bf8c5 // vcvtdq2ps xmm5, xmm5
LONG $0xd25afcc5 // vcvtps2pd ymm2, xmm2
LONG $0xd2dfcdc5 // vpandn ymm2, ymm6, ymm2
LONG $0xdb5afcc5 // vcvtps2pd ymm3, xmm3
LONG $0xdbdfc5c5 // vpandn ymm3, ymm7, ymm3
LONG $0xe45afcc5 // vcvtps2pd ymm4, xmm4
LONG $0xed5afcc5 // vcvtps2pd ymm5, xmm5
LONG $0xe4dfb5c5 // vpandn ymm4, ymm9, ymm4
LONG $0xc5dffdc5 // vpandn ymm0, ymm0, ymm5
LONG $0x7f7ec1c4; WORD $0xf014 // vmovdqu yword [r8 + 8*rsi], ymm2
LONG $0x7f7ec1c4; WORD $0xf05c; BYTE $0x20 // vmovdqu yword [r8 + 8*rsi + 32], ymm3
LONG $0x7f7ec1c4; WORD $0xf064; BYTE $0x40 // vmovdqu yword [r8 + 8*rsi + 64], ymm4
LONG $0x7f7ec1c4; WORD $0xf044; BYTE $0x60 // vmovdqu yword [r8 + 8*rsi + 96], ymm0
LONG $0x10c68348 // add rsi, 16
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_529
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1351
LBB4_531:
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
JMP LBB4_533
LBB4_532:
LONG $0xd679c1c4; WORD $0xd00c // vmovq qword [r8 + 8*rdx], xmm1
LONG $0x01c28348 // add rdx, 1
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JE LBB4_1351
LBB4_533:
LONG $0x1410fac5; BYTE $0x91 // vmovss xmm2, dword [rcx + 4*rdx]
LONG $0xc9eff1c5 // vpxor xmm1, xmm1, xmm1
LONG $0xc22ef8c5 // vucomiss xmm0, xmm2
JE LBB4_532
LONG $0xf250f8c5 // vmovmskps esi, xmm2
WORD $0xe683; BYTE $0x01 // and esi, 1
WORD $0xdef7 // neg esi
WORD $0xce83; BYTE $0x01 // or esi, 1
LONG $0xce2aaac5 // vcvtsi2ss xmm1, xmm10, esi
LONG $0xc95af2c5 // vcvtss2sd xmm1, xmm1, xmm1
JMP LBB4_532
LBB4_538:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xf0 // and edx, -16
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0x763941c4; BYTE $0xc0 // vpcmpeqd xmm8, xmm8, xmm8
LONG $0x197de2c4; WORD $0x0855 // vbroadcastsd ymm2, qword 8[rbp] /* [rip + .LCPI4_1] */
LBB4_539:
LONG $0x1c6ffac5; BYTE $0xb1 // vmovdqu xmm3, oword [rcx + 4*rsi]
LONG $0x646ffac5; WORD $0x10b1 // vmovdqu xmm4, oword [rcx + 4*rsi + 16]
LONG $0x6c6ffac5; WORD $0x20b1 // vmovdqu xmm5, oword [rcx + 4*rsi + 32]
LONG $0x746ffac5; WORD $0x30b1 // vmovdqu xmm6, oword [rcx + 4*rsi + 48]
LONG $0xf866e1c5 // vpcmpgtd xmm7, xmm3, xmm0
LONG $0x257d62c4; BYTE $0xcf // vpmovsxdq ymm9, xmm7
LONG $0xc866d9c5 // vpcmpgtd xmm1, xmm4, xmm0
LONG $0x257d62c4; BYTE $0xd1 // vpmovsxdq ymm10, xmm1
LONG $0xf866d1c5 // vpcmpgtd xmm7, xmm5, xmm0
LONG $0x257de2c4; BYTE $0xff // vpmovsxdq ymm7, xmm7
LONG $0xc866c9c5 // vpcmpgtd xmm1, xmm6, xmm0
LONG $0x257de2c4; BYTE $0xc9 // vpmovsxdq ymm1, xmm1
LONG $0xd876e1c5 // vpcmpeqd xmm3, xmm3, xmm0
LONG $0xdbefb9c5 // vpxor xmm3, xmm8, xmm3
LONG $0xdbe6fec5 // vcvtdq2pd ymm3, xmm3
LONG $0xe076d9c5 // vpcmpeqd xmm4, xmm4, xmm0
LONG $0xe4efb9c5 // vpxor xmm4, xmm8, xmm4
LONG $0xe4e6fec5 // vcvtdq2pd ymm4, xmm4
LONG $0xe876d1c5 // vpcmpeqd xmm5, xmm5, xmm0
LONG $0xedefb9c5 // vpxor xmm5, xmm8, xmm5
LONG $0xede6fec5 // vcvtdq2pd ymm5, xmm5
LONG $0xf076c9c5 // vpcmpeqd xmm6, xmm6, xmm0
LONG $0xf6efb9c5 // vpxor xmm6, xmm8, xmm6
LONG $0xf6e6fec5 // vcvtdq2pd ymm6, xmm6
LONG $0x4b65e3c4; WORD $0x90da // vblendvpd ymm3, ymm3, ymm2, ymm9
LONG $0x4b5de3c4; WORD $0xa0e2 // vblendvpd ymm4, ymm4, ymm2, ymm10
LONG $0x4b55e3c4; WORD $0x70ea // vblendvpd ymm5, ymm5, ymm2, ymm7
LONG $0x4b4de3c4; WORD $0x10ca // vblendvpd ymm1, ymm6, ymm2, ymm1
LONG $0x117dc1c4; WORD $0xf01c // vmovupd yword [r8 + 8*rsi], ymm3
LONG $0x117dc1c4; WORD $0xf064; BYTE $0x20 // vmovupd yword [r8 + 8*rsi + 32], ymm4
LONG $0x117dc1c4; WORD $0xf06c; BYTE $0x40 // vmovupd yword [r8 + 8*rsi + 64], ymm5
LONG $0x117dc1c4; WORD $0xf04c; BYTE $0x60 // vmovupd yword [r8 + 8*rsi + 96], ymm1
LONG $0x10c68348 // add rsi, 16
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_539
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1351
LBB4_541:
LONG $0x4510fbc5; BYTE $0x20 // vmovsd xmm0, qword 32[rbp] /* [rip + .LCPI4_13] */
LONG $0x4d10fbc5; BYTE $0x08 // vmovsd xmm1, qword 8[rbp] /* [rip + .LCPI4_1] */
JMP LBB4_543
LBB4_542:
LONG $0x117bc1c4; WORD $0xd01c // vmovsd qword [r8 + 8*rdx], xmm3
LONG $0x01c28348 // add rdx, 1
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JE LBB4_1351
LBB4_543:
LONG $0x00913c83 // cmp dword [rcx + 4*rdx], 0
LONG $0xd028f9c5 // vmovapd xmm2, xmm0
JNE LBB4_545
LONG $0xd257e9c5 // vxorpd xmm2, xmm2, xmm2
LBB4_545:
LONG $0xd928f9c5 // vmovapd xmm3, xmm1
JG LBB4_542
LONG $0xda28f9c5 // vmovapd xmm3, xmm2
JMP LBB4_542
LBB4_577:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xf0 // and edx, -16
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0xc976f1c5 // vpcmpeqd xmm1, xmm1, xmm1
LONG $0x597de2c4; WORD $0x2855 // vpbroadcastq ymm2, qword 40[rbp] /* [rip + .LCPI4_15] */
LBB4_578:
LONG $0x1c76f9c5; BYTE $0xb1 // vpcmpeqd xmm3, xmm0, oword [rcx + 4*rsi]
LONG $0xd9efe1c5 // vpxor xmm3, xmm3, xmm1
LONG $0x357de2c4; BYTE $0xdb // vpmovzxdq ymm3, xmm3
LONG $0x6476f9c5; WORD $0x10b1 // vpcmpeqd xmm4, xmm0, oword [rcx + 4*rsi + 16]
LONG $0xdadbe5c5 // vpand ymm3, ymm3, ymm2
LONG $0xe1efd9c5 // vpxor xmm4, xmm4, xmm1
LONG $0x357de2c4; BYTE $0xe4 // vpmovzxdq ymm4, xmm4
LONG $0xe2dbddc5 // vpand ymm4, ymm4, ymm2
LONG $0x6c76f9c5; WORD $0x20b1 // vpcmpeqd xmm5, xmm0, oword [rcx + 4*rsi + 32]
LONG $0xe9efd1c5 // vpxor xmm5, xmm5, xmm1
LONG $0x357de2c4; BYTE $0xed // vpmovzxdq ymm5, xmm5
LONG $0xeadbd5c5 // vpand ymm5, ymm5, ymm2
LONG $0x7476f9c5; WORD $0x30b1 // vpcmpeqd xmm6, xmm0, oword [rcx + 4*rsi + 48]
LONG $0xf1efc9c5 // vpxor xmm6, xmm6, xmm1
LONG $0x357de2c4; BYTE $0xf6 // vpmovzxdq ymm6, xmm6
LONG $0xf2dbcdc5 // vpand ymm6, ymm6, ymm2
LONG $0x7f7ec1c4; WORD $0xf01c // vmovdqu yword [r8 + 8*rsi], ymm3
LONG $0x7f7ec1c4; WORD $0xf064; BYTE $0x20 // vmovdqu yword [r8 + 8*rsi + 32], ymm4
LONG $0x7f7ec1c4; WORD $0xf06c; BYTE $0x40 // vmovdqu yword [r8 + 8*rsi + 64], ymm5
LONG $0x7f7ec1c4; WORD $0xf074; BYTE $0x60 // vmovdqu yword [r8 + 8*rsi + 96], ymm6
LONG $0x10c68348 // add rsi, 16
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_578
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1351
LBB4_580:
WORD $0xf631 // xor esi, esi
LONG $0x00913c83 // cmp dword [rcx + 4*rdx], 0
LONG $0xd6950f40 // setne sil
LONG $0xd0348949 // mov qword [r8 + 8*rdx], rsi
LONG $0x01c28348 // add rdx, 1
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JNE LBB4_580
JMP LBB4_1351
LBB4_581:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xfc // and esi, -4
LONG $0xfc468d48 // lea rax, [rsi - 4]
WORD $0x8949; BYTE $0xc1 // mov r9, rax
LONG $0x02e9c149 // shr r9, 2
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB4_1282
WORD $0x894d; BYTE $0xce // mov r14, r9
LONG $0xfee68349 // and r14, -2
WORD $0xf749; BYTE $0xde // neg r14
WORD $0xff31 // xor edi, edi
LONG $0x197de2c4; WORD $0x0045 // vbroadcastsd ymm0, qword 0[rbp] /* [rip + .LCPI4_0] */
LONG $0x573941c4; BYTE $0xc0 // vxorpd xmm8, xmm8, xmm8
LONG $0x197de2c4; WORD $0x0855 // vbroadcastsd ymm2, qword 8[rbp] /* [rip + .LCPI4_1] */
LONG $0x5d10fbc5; BYTE $0x10 // vmovsd xmm3, qword 16[rbp] /* [rip + .LCPI4_6] */
LBB4_583:
LONG $0x2410fdc5; BYTE $0xf9 // vmovupd ymm4, yword [rcx + 8*rdi]
LONG $0xe854ddc5 // vandpd ymm5, ymm4, ymm0
LONG $0xed56edc5 // vorpd ymm5, ymm2, ymm5
LONG $0x197de3c4; WORD $0x01ee // vextractf128 xmm6, ymm5, 1
LONG $0xfb5ccbc5 // vsubsd xmm7, xmm6, xmm3
LONG $0x2cfbe1c4; BYTE $0xdf // vcvttsd2si rbx, xmm7
WORD $0x314c; BYTE $0xdb // xor rbx, r11
LONG $0x2cfbe1c4; BYTE $0xd6 // vcvttsd2si rdx, xmm6
LONG $0xf32ef9c5 // vucomisd xmm6, xmm3
LONG $0xd3430f48 // cmovae rdx, rbx
LONG $0x0479e3c4; WORD $0x4ef6 // vpermilps xmm6, xmm6, 78
LONG $0xfb5ccbc5 // vsubsd xmm7, xmm6, xmm3
LONG $0x2cfbe1c4; BYTE $0xdf // vcvttsd2si rbx, xmm7
WORD $0x314c; BYTE $0xdb // xor rbx, r11
LONG $0x2cfbe1c4; BYTE $0xc6 // vcvttsd2si rax, xmm6
LONG $0xf32ef9c5 // vucomisd xmm6, xmm3
LONG $0x6ef9e1c4; BYTE $0xf2 // vmovq xmm6, rdx
LONG $0xc3430f48 // cmovae rax, rbx
LONG $0x6ef9e1c4; BYTE $0xf8 // vmovq xmm7, rax
LONG $0xcb5cd3c5 // vsubsd xmm1, xmm5, xmm3
LONG $0x2cfbe1c4; BYTE $0xc1 // vcvttsd2si rax, xmm1
WORD $0x314c; BYTE $0xd8 // xor rax, r11
LONG $0x2cfbe1c4; BYTE $0xd5 // vcvttsd2si rdx, xmm5
LONG $0xeb2ef9c5 // vucomisd xmm5, xmm3
LONG $0xd0430f48 // cmovae rdx, rax
LONG $0x0479e3c4; WORD $0x4ecd // vpermilps xmm1, xmm5, 78
LONG $0xeb5cf3c5 // vsubsd xmm5, xmm1, xmm3
LONG $0x2cfbe1c4; BYTE $0xc5 // vcvttsd2si rax, xmm5
LONG $0x6ef9e1c4; BYTE $0xea // vmovq xmm5, rdx
WORD $0x314c; BYTE $0xd8 // xor rax, r11
LONG $0x2cfbe1c4; BYTE $0xd1 // vcvttsd2si rdx, xmm1
LONG $0xcb2ef9c5 // vucomisd xmm1, xmm3
LONG $0xcf6cc9c5 // vpunpcklqdq xmm1, xmm6, xmm7
LONG $0xd0430f48 // cmovae rdx, rax
LONG $0x6ef9e1c4; BYTE $0xf2 // vmovq xmm6, rdx
LONG $0xee6cd1c5 // vpunpcklqdq xmm5, xmm5, xmm6
LONG $0x3855e3c4; WORD $0x01c9 // vinserti128 ymm1, ymm5, xmm1, 1
LONG $0xe4c2bdc5; BYTE $0x04 // vcmpneqpd ymm4, ymm8, ymm4
LONG $0xc954ddc5 // vandpd ymm1, ymm4, ymm1
LONG $0x117dc1c4; WORD $0xf80c // vmovupd yword [r8 + 8*rdi], ymm1
LONG $0x6410fdc5; WORD $0x20f9 // vmovupd ymm4, yword [rcx + 8*rdi + 32]
LONG $0xc854ddc5 // vandpd ymm1, ymm4, ymm0
LONG $0xc956edc5 // vorpd ymm1, ymm2, ymm1
LONG $0x197de3c4; WORD $0x01cd // vextractf128 xmm5, ymm1, 1
LONG $0xf35cd3c5 // vsubsd xmm6, xmm5, xmm3
LONG $0x2cfbe1c4; BYTE $0xc6 // vcvttsd2si rax, xmm6
WORD $0x314c; BYTE $0xd8 // xor rax, r11
LONG $0x2cfbe1c4; BYTE $0xd5 // vcvttsd2si rdx, xmm5
LONG $0xeb2ef9c5 // vucomisd xmm5, xmm3
LONG $0xd0430f48 // cmovae rdx, rax
LONG $0x0479e3c4; WORD $0x4eed // vpermilps xmm5, xmm5, 78
LONG $0xf35cd3c5 // vsubsd xmm6, xmm5, xmm3
LONG $0x2cfbe1c4; BYTE $0xc6 // vcvttsd2si rax, xmm6
LONG $0x6ef9e1c4; BYTE $0xf2 // vmovq xmm6, rdx
WORD $0x314c; BYTE $0xd8 // xor rax, r11
LONG $0x2cfbe1c4; BYTE $0xd5 // vcvttsd2si rdx, xmm5
LONG $0xeb2ef9c5 // vucomisd xmm5, xmm3
LONG $0xd0430f48 // cmovae rdx, rax
LONG $0x6ef9e1c4; BYTE $0xea // vmovq xmm5, rdx
LONG $0xfb5cf3c5 // vsubsd xmm7, xmm1, xmm3
LONG $0x2cfbe1c4; BYTE $0xc7 // vcvttsd2si rax, xmm7
LONG $0xed6cc9c5 // vpunpcklqdq xmm5, xmm6, xmm5
WORD $0x314c; BYTE $0xd8 // xor rax, r11
LONG $0x2cfbe1c4; BYTE $0xd1 // vcvttsd2si rdx, xmm1
LONG $0xcb2ef9c5 // vucomisd xmm1, xmm3
LONG $0xd0430f48 // cmovae rdx, rax
LONG $0x0479e3c4; WORD $0x4ec9 // vpermilps xmm1, xmm1, 78
LONG $0xf35cf3c5 // vsubsd xmm6, xmm1, xmm3
LONG $0x2cfbe1c4; BYTE $0xc6 // vcvttsd2si rax, xmm6
LONG $0x6ef9e1c4; BYTE $0xf2 // vmovq xmm6, rdx
WORD $0x314c; BYTE $0xd8 // xor rax, r11
LONG $0x2cfbe1c4; BYTE $0xd1 // vcvttsd2si rdx, xmm1
LONG $0xcb2ef9c5 // vucomisd xmm1, xmm3
LONG $0xd0430f48 // cmovae rdx, rax
LONG $0x6ef9e1c4; BYTE $0xca // vmovq xmm1, rdx
LONG $0xc96cc9c5 // vpunpcklqdq xmm1, xmm6, xmm1
LONG $0x3875e3c4; WORD $0x01cd // vinserti128 ymm1, ymm1, xmm5, 1
LONG $0xe4c2bdc5; BYTE $0x04 // vcmpneqpd ymm4, ymm8, ymm4
LONG $0xc954ddc5 // vandpd ymm1, ymm4, ymm1
LONG $0x117dc1c4; WORD $0xf84c; BYTE $0x20 // vmovupd yword [r8 + 8*rdi + 32], ymm1
LONG $0x08c78348 // add rdi, 8
LONG $0x02c68349 // add r14, 2
JNE LBB4_583
JMP LBB4_1283
LBB4_590:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xf0 // and edx, -16
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0xc976f1c5 // vpcmpeqd xmm1, xmm1, xmm1
LONG $0x597de2c4; WORD $0x2855 // vpbroadcastq ymm2, qword 40[rbp] /* [rip + .LCPI4_15] */
LBB4_591:
LONG $0x1c7efac5; BYTE $0x71 // vmovq xmm3, qword [rcx + 2*rsi]
LONG $0x647efac5; WORD $0x0871 // vmovq xmm4, qword [rcx + 2*rsi + 8]
LONG $0x6c7efac5; WORD $0x1071 // vmovq xmm5, qword [rcx + 2*rsi + 16]
LONG $0x747efac5; WORD $0x1871 // vmovq xmm6, qword [rcx + 2*rsi + 24]
LONG $0xd875e1c5 // vpcmpeqw xmm3, xmm3, xmm0
LONG $0xd9efe1c5 // vpxor xmm3, xmm3, xmm1
LONG $0x347de2c4; BYTE $0xdb // vpmovzxwq ymm3, xmm3
LONG $0xdadbe5c5 // vpand ymm3, ymm3, ymm2
LONG $0xe075d9c5 // vpcmpeqw xmm4, xmm4, xmm0
LONG $0xe1efd9c5 // vpxor xmm4, xmm4, xmm1
LONG $0x347de2c4; BYTE $0xe4 // vpmovzxwq ymm4, xmm4
LONG $0xe2dbddc5 // vpand ymm4, ymm4, ymm2
LONG $0xe875d1c5 // vpcmpeqw xmm5, xmm5, xmm0
LONG $0xe9efd1c5 // vpxor xmm5, xmm5, xmm1
LONG $0x347de2c4; BYTE $0xed // vpmovzxwq ymm5, xmm5
LONG $0xeadbd5c5 // vpand ymm5, ymm5, ymm2
LONG $0xf075c9c5 // vpcmpeqw xmm6, xmm6, xmm0
LONG $0xf1efc9c5 // vpxor xmm6, xmm6, xmm1
LONG $0x347de2c4; BYTE $0xf6 // vpmovzxwq ymm6, xmm6
LONG $0xf2dbcdc5 // vpand ymm6, ymm6, ymm2
LONG $0x7f7ec1c4; WORD $0xf01c // vmovdqu yword [r8 + 8*rsi], ymm3
LONG $0x7f7ec1c4; WORD $0xf064; BYTE $0x20 // vmovdqu yword [r8 + 8*rsi + 32], ymm4
LONG $0x7f7ec1c4; WORD $0xf06c; BYTE $0x40 // vmovdqu yword [r8 + 8*rsi + 64], ymm5
LONG $0x7f7ec1c4; WORD $0xf074; BYTE $0x60 // vmovdqu yword [r8 + 8*rsi + 96], ymm6
LONG $0x10c68348 // add rsi, 16
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_591
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1351
LBB4_593:
WORD $0xf631 // xor esi, esi
LONG $0x513c8366; BYTE $0x00 // cmp word [rcx + 2*rdx], 0
LONG $0xd6950f40 // setne sil
LONG $0xd0348949 // mov qword [r8 + 8*rdx], rsi
LONG $0x01c28348 // add rdx, 1
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JNE LBB4_593
JMP LBB4_1351
LBB4_594:
WORD $0x8944; BYTE $0xd2 // mov edx, r10d
WORD $0xe283; BYTE $0xf0 // and edx, -16
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0x763941c4; BYTE $0xc0 // vpcmpeqd xmm8, xmm8, xmm8
LONG $0x197de2c4; WORD $0x2855 // vbroadcastsd ymm2, qword 40[rbp] /* [rip + .LCPI4_15] */
LBB4_595:
LONG $0x1c7efac5; BYTE $0x71 // vmovq xmm3, qword [rcx + 2*rsi]
LONG $0x647efac5; WORD $0x0871 // vmovq xmm4, qword [rcx + 2*rsi + 8]
LONG $0x6c7efac5; WORD $0x1071 // vmovq xmm5, qword [rcx + 2*rsi + 16]
LONG $0x747efac5; WORD $0x1871 // vmovq xmm6, qword [rcx + 2*rsi + 24]
LONG $0xf865e1c5 // vpcmpgtw xmm7, xmm3, xmm0
LONG $0x247d62c4; BYTE $0xcf // vpmovsxwq ymm9, xmm7
LONG $0xc865d9c5 // vpcmpgtw xmm1, xmm4, xmm0
LONG $0x247d62c4; BYTE $0xd1 // vpmovsxwq ymm10, xmm1
LONG $0xf865d1c5 // vpcmpgtw xmm7, xmm5, xmm0
LONG $0x247de2c4; BYTE $0xff // vpmovsxwq ymm7, xmm7
LONG $0xc865c9c5 // vpcmpgtw xmm1, xmm6, xmm0
LONG $0x247de2c4; BYTE $0xc9 // vpmovsxwq ymm1, xmm1
LONG $0xd875e1c5 // vpcmpeqw xmm3, xmm3, xmm0
LONG $0xdbefb9c5 // vpxor xmm3, xmm8, xmm3
LONG $0x247de2c4; BYTE $0xdb // vpmovsxwq ymm3, xmm3
LONG $0xe075d9c5 // vpcmpeqw xmm4, xmm4, xmm0
LONG $0xe4efb9c5 // vpxor xmm4, xmm8, xmm4
LONG $0x247de2c4; BYTE $0xe4 // vpmovsxwq ymm4, xmm4
LONG $0xe875d1c5 // vpcmpeqw xmm5, xmm5, xmm0
LONG $0xedefb9c5 // vpxor xmm5, xmm8, xmm5
LONG $0x247de2c4; BYTE $0xed // vpmovsxwq ymm5, xmm5
LONG $0xf075c9c5 // vpcmpeqw xmm6, xmm6, xmm0
LONG $0xf6efb9c5 // vpxor xmm6, xmm8, xmm6
LONG $0x247de2c4; BYTE $0xf6 // vpmovsxwq ymm6, xmm6
LONG $0x4b65e3c4; WORD $0x90da // vblendvpd ymm3, ymm3, ymm2, ymm9
LONG $0x4b5de3c4; WORD $0xa0e2 // vblendvpd ymm4, ymm4, ymm2, ymm10
LONG $0x4b55e3c4; WORD $0x70ea // vblendvpd ymm5, ymm5, ymm2, ymm7
LONG $0x4b4de3c4; WORD $0x10ca // vblendvpd ymm1, ymm6, ymm2, ymm1
LONG $0x117dc1c4; WORD $0xf01c // vmovupd yword [r8 + 8*rsi], ymm3
LONG $0x117dc1c4; WORD $0xf064; BYTE $0x20 // vmovupd yword [r8 + 8*rsi + 32], ymm4
LONG $0x117dc1c4; WORD $0xf06c; BYTE $0x40 // vmovupd yword [r8 + 8*rsi + 64], ymm5
LONG $0x117dc1c4; WORD $0xf04c; BYTE $0x60 // vmovupd yword [r8 + 8*rsi + 96], ymm1
LONG $0x10c68348 // add rsi, 16
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_595
WORD $0x394c; BYTE $0xd2 // cmp rdx, r10
JE LBB4_1351
LBB4_597:
LONG $0x000001be; BYTE $0x00 // mov esi, 1
LBB4_598:
LONG $0x513cb70f // movzx edi, word [rcx + 2*rdx]
WORD $0xc031 // xor eax, eax
WORD $0x8566; BYTE $0xff // test di, di
WORD $0x950f; BYTE $0xd0 // setne al
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0x8566; BYTE $0xff // test di, di
LONG $0xc64f0f48 // cmovg rax, rsi
LONG $0xd0048949 // mov qword [r8 + 8*rdx], rax
LONG $0x01c28348 // add rdx, 1
WORD $0x3949; BYTE $0xd2 // cmp r10, rdx
JNE LBB4_598
JMP LBB4_1351
LBB4_602:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xfe // and esi, -2
WORD $0xc031 // xor eax, eax
LONG $0xc057f8c5 // vxorps xmm0, xmm0, xmm0
QUAD $0x000000a08d10fac5 // vmovss xmm1, dword 160[rbp] /* [rip + .LCPI4_9] */
QUAD $0x000000000000b949; WORD $0x8000 // mov r9, -9223372036854775808
JMP LBB4_605
LBB4_603:
LONG $0xd250f8c5 // vmovmskps edx, xmm2
WORD $0xe283; BYTE $0x01 // and edx, 1
WORD $0xdaf7 // neg edx
WORD $0xca83; BYTE $0x01 // or edx, 1
LONG $0xd22adac5 // vcvtsi2ss xmm2, xmm4, edx
LONG $0xd95ceac5 // vsubss xmm3, xmm2, xmm1
LONG $0x2cfae1c4; BYTE $0xfb // vcvttss2si rdi, xmm3
WORD $0x314c; BYTE $0xcf // xor rdi, r9
LONG $0x2cfae1c4; BYTE $0xd2 // vcvttss2si rdx, xmm2
LONG $0xd12ef8c5 // vucomiss xmm2, xmm1
LONG $0xd7430f48 // cmovae rdx, rdi
LONG $0xc0548949; BYTE $0x08 // mov qword [r8 + 8*rax + 8], rdx
LONG $0x02c08348 // add rax, 2
WORD $0x3948; BYTE $0xc6 // cmp rsi, rax
JE LBB4_254
LBB4_605:
LONG $0x1410fac5; BYTE $0x81 // vmovss xmm2, dword [rcx + 4*rax]
LONG $0xc22ef8c5 // vucomiss xmm0, xmm2
JNE LBB4_607
WORD $0xd231 // xor edx, edx
JMP LBB4_608
LBB4_607:
LONG $0xd250f8c5 // vmovmskps edx, xmm2
WORD $0xe283; BYTE $0x01 // and edx, 1
WORD $0xdaf7 // neg edx
WORD $0xca83; BYTE $0x01 // or edx, 1
LONG $0xd22adac5 // vcvtsi2ss xmm2, xmm4, edx
LONG $0xd95ceac5 // vsubss xmm3, xmm2, xmm1
LONG $0x2cfae1c4; BYTE $0xfb // vcvttss2si rdi, xmm3
WORD $0x314c; BYTE $0xcf // xor rdi, r9
LONG $0x2cfae1c4; BYTE $0xd2 // vcvttss2si rdx, xmm2
LONG $0xd12ef8c5 // vucomiss xmm2, xmm1
LONG $0xd7430f48 // cmovae rdx, rdi
LBB4_608:
LONG $0xc0148949 // mov qword [r8 + 8*rax], rdx
LONG $0x5410fac5; WORD $0x0481 // vmovss xmm2, dword [rcx + 4*rax + 4]
LONG $0xc22ef8c5 // vucomiss xmm0, xmm2
JNE LBB4_603
WORD $0xd231 // xor edx, edx
LONG $0xc0548949; BYTE $0x08 // mov qword [r8 + 8*rax + 8], rdx
LONG $0x02c08348 // add rax, 2
WORD $0x3948; BYTE $0xc6 // cmp rsi, rax
JNE LBB4_605
LBB4_254:
LONG $0x01c2f641 // test r10b, 1
JE LBB4_1351
LONG $0x0410fac5; BYTE $0x81 // vmovss xmm0, dword [rcx + 4*rax]
LONG $0xc957f0c5 // vxorps xmm1, xmm1, xmm1
LONG $0xc82ef8c5 // vucomiss xmm1, xmm0
JNE LBB4_1280
WORD $0xc931 // xor ecx, ecx
JMP LBB4_1281
LBB4_613:
WORD $0x8944; BYTE $0xd2 // mov edx, r10d
WORD $0xe283; BYTE $0xf0 // and edx, -16
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0x763941c4; BYTE $0xc0 // vpcmpeqd xmm8, xmm8, xmm8
LONG $0x197de2c4; WORD $0x2855 // vbroadcastsd ymm2, qword 40[rbp] /* [rip + .LCPI4_15] */
LBB4_614:
LONG $0x1c6ffac5; BYTE $0xb1 // vmovdqu xmm3, oword [rcx + 4*rsi]
LONG $0x646ffac5; WORD $0x10b1 // vmovdqu xmm4, oword [rcx + 4*rsi + 16]
LONG $0x6c6ffac5; WORD $0x20b1 // vmovdqu xmm5, oword [rcx + 4*rsi + 32]
LONG $0x746ffac5; WORD $0x30b1 // vmovdqu xmm6, oword [rcx + 4*rsi + 48]
LONG $0xf866e1c5 // vpcmpgtd xmm7, xmm3, xmm0
LONG $0x257d62c4; BYTE $0xcf // vpmovsxdq ymm9, xmm7
LONG $0xc866d9c5 // vpcmpgtd xmm1, xmm4, xmm0
LONG $0x257d62c4; BYTE $0xd1 // vpmovsxdq ymm10, xmm1
LONG $0xf866d1c5 // vpcmpgtd xmm7, xmm5, xmm0
LONG $0x257de2c4; BYTE $0xff // vpmovsxdq ymm7, xmm7
LONG $0xc866c9c5 // vpcmpgtd xmm1, xmm6, xmm0
LONG $0x257de2c4; BYTE $0xc9 // vpmovsxdq ymm1, xmm1
LONG $0xd876e1c5 // vpcmpeqd xmm3, xmm3, xmm0
LONG $0xdbefb9c5 // vpxor xmm3, xmm8, xmm3
LONG $0x257de2c4; BYTE $0xdb // vpmovsxdq ymm3, xmm3
LONG $0xe076d9c5 // vpcmpeqd xmm4, xmm4, xmm0
LONG $0xe4efb9c5 // vpxor xmm4, xmm8, xmm4
LONG $0x257de2c4; BYTE $0xe4 // vpmovsxdq ymm4, xmm4
LONG $0xe876d1c5 // vpcmpeqd xmm5, xmm5, xmm0
LONG $0xedefb9c5 // vpxor xmm5, xmm8, xmm5
LONG $0x257de2c4; BYTE $0xed // vpmovsxdq ymm5, xmm5
LONG $0xf076c9c5 // vpcmpeqd xmm6, xmm6, xmm0
LONG $0xf6efb9c5 // vpxor xmm6, xmm8, xmm6
LONG $0x257de2c4; BYTE $0xf6 // vpmovsxdq ymm6, xmm6
LONG $0x4b65e3c4; WORD $0x90da // vblendvpd ymm3, ymm3, ymm2, ymm9
LONG $0x4b5de3c4; WORD $0xa0e2 // vblendvpd ymm4, ymm4, ymm2, ymm10
LONG $0x4b55e3c4; WORD $0x70ea // vblendvpd ymm5, ymm5, ymm2, ymm7
LONG $0x4b4de3c4; WORD $0x10ca // vblendvpd ymm1, ymm6, ymm2, ymm1
LONG $0x117dc1c4; WORD $0xf01c // vmovupd yword [r8 + 8*rsi], ymm3
LONG $0x117dc1c4; WORD $0xf064; BYTE $0x20 // vmovupd yword [r8 + 8*rsi + 32], ymm4
LONG $0x117dc1c4; WORD $0xf06c; BYTE $0x40 // vmovupd yword [r8 + 8*rsi + 64], ymm5
LONG $0x117dc1c4; WORD $0xf04c; BYTE $0x60 // vmovupd yword [r8 + 8*rsi + 96], ymm1
LONG $0x10c68348 // add rsi, 16
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_614
WORD $0x394c; BYTE $0xd2 // cmp rdx, r10
JE LBB4_1351
LBB4_616:
LONG $0x000001be; BYTE $0x00 // mov esi, 1
LBB4_617:
WORD $0x3c8b; BYTE $0x91 // mov edi, dword [rcx + 4*rdx]
WORD $0xc031 // xor eax, eax
WORD $0xff85 // test edi, edi
WORD $0x950f; BYTE $0xd0 // setne al
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff85 // test edi, edi
LONG $0xc64f0f48 // cmovg rax, rsi
LONG $0xd0048949 // mov qword [r8 + 8*rdx], rax
LONG $0x01c28348 // add rdx, 1
WORD $0x3949; BYTE $0xd2 // cmp r10, rdx
JNE LBB4_617
JMP LBB4_1351
LBB4_618:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xe0 // and edx, -32
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0xc976f5c5 // vpcmpeqd ymm1, ymm1, ymm1
LBB4_619:
LONG $0x1476fdc5; BYTE $0xb1 // vpcmpeqd ymm2, ymm0, yword [rcx + 4*rsi]
LONG $0xd1efedc5 // vpxor ymm2, ymm2, ymm1
LONG $0x397de3c4; WORD $0x01d3 // vextracti128 xmm3, ymm2, 1
LONG $0xd36be9c5 // vpackssdw xmm2, xmm2, xmm3
LONG $0xd271e9c5; BYTE $0x0f // vpsrlw xmm2, xmm2, 15
LONG $0x5c76fdc5; WORD $0x20b1 // vpcmpeqd ymm3, ymm0, yword [rcx + 4*rsi + 32]
LONG $0xd9efe5c5 // vpxor ymm3, ymm3, ymm1
LONG $0x397de3c4; WORD $0x01dc // vextracti128 xmm4, ymm3, 1
LONG $0xdc6be1c5 // vpackssdw xmm3, xmm3, xmm4
LONG $0xd371e1c5; BYTE $0x0f // vpsrlw xmm3, xmm3, 15
LONG $0x6476fdc5; WORD $0x40b1 // vpcmpeqd ymm4, ymm0, yword [rcx + 4*rsi + 64]
LONG $0xe1efddc5 // vpxor ymm4, ymm4, ymm1
LONG $0x397de3c4; WORD $0x01e5 // vextracti128 xmm5, ymm4, 1
LONG $0xe56bd9c5 // vpackssdw xmm4, xmm4, xmm5
LONG $0xd471d9c5; BYTE $0x0f // vpsrlw xmm4, xmm4, 15
LONG $0x6c76fdc5; WORD $0x60b1 // vpcmpeqd ymm5, ymm0, yword [rcx + 4*rsi + 96]
LONG $0xe9efd5c5 // vpxor ymm5, ymm5, ymm1
LONG $0x397de3c4; WORD $0x01ee // vextracti128 xmm6, ymm5, 1
LONG $0xee6bd1c5 // vpackssdw xmm5, xmm5, xmm6
LONG $0xd571d1c5; BYTE $0x0f // vpsrlw xmm5, xmm5, 15
LONG $0x7f7ac1c4; WORD $0x7014 // vmovdqu oword [r8 + 2*rsi], xmm2
LONG $0x7f7ac1c4; WORD $0x705c; BYTE $0x10 // vmovdqu oword [r8 + 2*rsi + 16], xmm3
LONG $0x7f7ac1c4; WORD $0x7064; BYTE $0x20 // vmovdqu oword [r8 + 2*rsi + 32], xmm4
LONG $0x7f7ac1c4; WORD $0x706c; BYTE $0x30 // vmovdqu oword [r8 + 2*rsi + 48], xmm5
LONG $0x20c68348 // add rsi, 32
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_619
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1351
LBB4_621:
WORD $0xf631 // xor esi, esi
LONG $0x00913c83 // cmp dword [rcx + 4*rdx], 0
LONG $0xd6950f40 // setne sil
LONG $0x34894166; BYTE $0x50 // mov word [r8 + 2*rdx], si
LONG $0x01c28348 // add rdx, 1
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JNE LBB4_621
JMP LBB4_1351
LBB4_622:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xe0 // and edx, -32
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0xc976f5c5 // vpcmpeqd ymm1, ymm1, ymm1
LBB4_623:
LONG $0x1476fdc5; BYTE $0xb1 // vpcmpeqd ymm2, ymm0, yword [rcx + 4*rsi]
LONG $0xd1efedc5 // vpxor ymm2, ymm2, ymm1
LONG $0x397de3c4; WORD $0x01d3 // vextracti128 xmm3, ymm2, 1
LONG $0xd36be9c5 // vpackssdw xmm2, xmm2, xmm3
LONG $0xd271e9c5; BYTE $0x0f // vpsrlw xmm2, xmm2, 15
LONG $0x5c76fdc5; WORD $0x20b1 // vpcmpeqd ymm3, ymm0, yword [rcx + 4*rsi + 32]
LONG $0xd9efe5c5 // vpxor ymm3, ymm3, ymm1
LONG $0x397de3c4; WORD $0x01dc // vextracti128 xmm4, ymm3, 1
LONG $0xdc6be1c5 // vpackssdw xmm3, xmm3, xmm4
LONG $0xd371e1c5; BYTE $0x0f // vpsrlw xmm3, xmm3, 15
LONG $0x6476fdc5; WORD $0x40b1 // vpcmpeqd ymm4, ymm0, yword [rcx + 4*rsi + 64]
LONG $0xe1efddc5 // vpxor ymm4, ymm4, ymm1
LONG $0x397de3c4; WORD $0x01e5 // vextracti128 xmm5, ymm4, 1
LONG $0xe56bd9c5 // vpackssdw xmm4, xmm4, xmm5
LONG $0xd471d9c5; BYTE $0x0f // vpsrlw xmm4, xmm4, 15
LONG $0x6c76fdc5; WORD $0x60b1 // vpcmpeqd ymm5, ymm0, yword [rcx + 4*rsi + 96]
LONG $0xe9efd5c5 // vpxor ymm5, ymm5, ymm1
LONG $0x397de3c4; WORD $0x01ee // vextracti128 xmm6, ymm5, 1
LONG $0xee6bd1c5 // vpackssdw xmm5, xmm5, xmm6
LONG $0xd571d1c5; BYTE $0x0f // vpsrlw xmm5, xmm5, 15
LONG $0x7f7ac1c4; WORD $0x7014 // vmovdqu oword [r8 + 2*rsi], xmm2
LONG $0x7f7ac1c4; WORD $0x705c; BYTE $0x10 // vmovdqu oword [r8 + 2*rsi + 16], xmm3
LONG $0x7f7ac1c4; WORD $0x7064; BYTE $0x20 // vmovdqu oword [r8 + 2*rsi + 32], xmm4
LONG $0x7f7ac1c4; WORD $0x706c; BYTE $0x30 // vmovdqu oword [r8 + 2*rsi + 48], xmm5
LONG $0x20c68348 // add rsi, 32
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_623
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1351
LBB4_625:
WORD $0xf631 // xor esi, esi
LONG $0x00913c83 // cmp dword [rcx + 4*rdx], 0
LONG $0xd6950f40 // setne sil
LONG $0x34894166; BYTE $0x50 // mov word [r8 + 2*rdx], si
LONG $0x01c28348 // add rdx, 1
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JNE LBB4_625
JMP LBB4_1351
LBB4_626:
WORD $0xc689 // mov esi, eax
WORD $0xe683; BYTE $0xf0 // and esi, -16
WORD $0xff31 // xor edi, edi
LONG $0x197de2c4; WORD $0x0045 // vbroadcastsd ymm0, qword 0[rbp] /* [rip + .LCPI4_0] */
LONG $0x573141c4; BYTE $0xc9 // vxorpd xmm9, xmm9, xmm9
LONG $0x197de2c4; WORD $0x0855 // vbroadcastsd ymm2, qword 8[rbp] /* [rip + .LCPI4_1] */
LONG $0xef2941c4; BYTE $0xd2 // vpxor xmm10, xmm10, xmm10
LBB4_627:
LONG $0x2410fdc5; BYTE $0xf9 // vmovupd ymm4, yword [rcx + 8*rdi]
LONG $0x6c10fdc5; WORD $0x20f9 // vmovupd ymm5, yword [rcx + 8*rdi + 32]
LONG $0x7410fdc5; WORD $0x40f9 // vmovupd ymm6, yword [rcx + 8*rdi + 64]
LONG $0x7c10fdc5; WORD $0x60f9 // vmovupd ymm7, yword [rcx + 8*rdi + 96]
LONG $0xc4c235c5; BYTE $0x00 // vcmpeqpd ymm8, ymm9, ymm4
LONG $0x197d63c4; WORD $0x01c1 // vextractf128 xmm1, ymm8, 1
LONG $0xc96bb9c5 // vpackssdw xmm1, xmm8, xmm1
LONG $0xd96b71c5 // vpackssdw xmm11, xmm1, xmm1
LONG $0xc5c235c5; BYTE $0x00 // vcmpeqpd ymm8, ymm9, ymm5
LONG $0x197d63c4; WORD $0x01c3 // vextractf128 xmm3, ymm8, 1
LONG $0xdb6bb9c5 // vpackssdw xmm3, xmm8, xmm3
LONG $0xe36b61c5 // vpackssdw xmm12, xmm3, xmm3
LONG $0xc6c235c5; BYTE $0x00 // vcmpeqpd ymm8, ymm9, ymm6
LONG $0x197d63c4; WORD $0x01c1 // vextractf128 xmm1, ymm8, 1
LONG $0xc96bb9c5 // vpackssdw xmm1, xmm8, xmm1
LONG $0xc96bf1c5 // vpackssdw xmm1, xmm1, xmm1
LONG $0xc7c235c5; BYTE $0x00 // vcmpeqpd ymm8, ymm9, ymm7
LONG $0x197d63c4; WORD $0x01c3 // vextractf128 xmm3, ymm8, 1
LONG $0xdb6bb9c5 // vpackssdw xmm3, xmm8, xmm3
LONG $0xdb6be1c5 // vpackssdw xmm3, xmm3, xmm3
LONG $0xe054ddc5 // vandpd ymm4, ymm4, ymm0
LONG $0xe456edc5 // vorpd ymm4, ymm2, ymm4
LONG $0xe854d5c5 // vandpd ymm5, ymm5, ymm0
LONG $0xed56edc5 // vorpd ymm5, ymm2, ymm5
LONG $0xf054cdc5 // vandpd ymm6, ymm6, ymm0
LONG $0xf656edc5 // vorpd ymm6, ymm2, ymm6
LONG $0xf854c5c5 // vandpd ymm7, ymm7, ymm0
LONG $0xff56edc5 // vorpd ymm7, ymm2, ymm7
LONG $0xe4e6fdc5 // vcvttpd2dq xmm4, ymm4
LONG $0xede6fdc5 // vcvttpd2dq xmm5, ymm5
LONG $0x2b59e2c4; BYTE $0xe4 // vpackusdw xmm4, xmm4, xmm4
LONG $0x2b51e2c4; BYTE $0xed // vpackusdw xmm5, xmm5, xmm5
LONG $0xf6e6fdc5 // vcvttpd2dq xmm6, ymm6
LONG $0x2b49e2c4; BYTE $0xf6 // vpackusdw xmm6, xmm6, xmm6
LONG $0xffe6fdc5 // vcvttpd2dq xmm7, ymm7
LONG $0x2b41e2c4; BYTE $0xff // vpackusdw xmm7, xmm7, xmm7
LONG $0x4c59c3c4; WORD $0xb0e2 // vpblendvb xmm4, xmm4, xmm10, xmm11
LONG $0x4c51c3c4; WORD $0xc0ea // vpblendvb xmm5, xmm5, xmm10, xmm12
LONG $0x4c49c3c4; WORD $0x10ca // vpblendvb xmm1, xmm6, xmm10, xmm1
LONG $0x4c41c3c4; WORD $0x30da // vpblendvb xmm3, xmm7, xmm10, xmm3
LONG $0x3875e3c4; WORD $0x01cb // vinserti128 ymm1, ymm1, xmm3, 1
LONG $0x385de3c4; WORD $0x01dd // vinserti128 ymm3, ymm4, xmm5, 1
LONG $0xc96ce5c5 // vpunpcklqdq ymm1, ymm3, ymm1
LONG $0x00fde3c4; WORD $0xd8c9 // vpermq ymm1, ymm1, 216
LONG $0x7f7ec1c4; WORD $0x780c // vmovdqu yword [r8 + 2*rdi], ymm1
LONG $0x10c78348 // add rdi, 16
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB4_627
WORD $0x3948; BYTE $0xc6 // cmp rsi, rax
JE LBB4_1351
LBB4_629:
LONG $0xc057f9c5 // vxorpd xmm0, xmm0, xmm0
LONG $0x4d28f9c5; BYTE $0x30 // vmovapd xmm1, oword 48[rbp] /* [rip + .LCPI4_2] */
LONG $0x5512fbc5; BYTE $0x08 // vmovddup xmm2, qword 8[rbp] /* [rip + .LCPI4_1] */
LBB4_630:
LONG $0x1c10fbc5; BYTE $0xf1 // vmovsd xmm3, qword [rcx + 8*rsi]
LONG $0xc32ef9c5 // vucomisd xmm0, xmm3
LONG $0xd954e1c5 // vandpd xmm3, xmm3, xmm1
LONG $0xdb56e9c5 // vorpd xmm3, xmm2, xmm3
LONG $0xfb2cfbc5 // vcvttsd2si edi, xmm3
WORD $0x440f; BYTE $0xfa // cmove edi, edx
LONG $0x3c894166; BYTE $0x70 // mov word [r8 + 2*rsi], di
LONG $0x01c68348 // add rsi, 1
WORD $0x3948; BYTE $0xf0 // cmp rax, rsi
JNE LBB4_630
JMP LBB4_1351
LBB4_631:
WORD $0xc689 // mov esi, eax
WORD $0xe683; BYTE $0xf0 // and esi, -16
WORD $0xff31 // xor edi, edi
LONG $0x197de2c4; WORD $0x0045 // vbroadcastsd ymm0, qword 0[rbp] /* [rip + .LCPI4_0] */
LONG $0x573141c4; BYTE $0xc9 // vxorpd xmm9, xmm9, xmm9
LONG $0x197de2c4; WORD $0x0855 // vbroadcastsd ymm2, qword 8[rbp] /* [rip + .LCPI4_1] */
LONG $0xef2941c4; BYTE $0xd2 // vpxor xmm10, xmm10, xmm10
LBB4_632:
LONG $0x2410fdc5; BYTE $0xf9 // vmovupd ymm4, yword [rcx + 8*rdi]
LONG $0x6c10fdc5; WORD $0x20f9 // vmovupd ymm5, yword [rcx + 8*rdi + 32]
LONG $0x7410fdc5; WORD $0x40f9 // vmovupd ymm6, yword [rcx + 8*rdi + 64]
LONG $0x7c10fdc5; WORD $0x60f9 // vmovupd ymm7, yword [rcx + 8*rdi + 96]
LONG $0xc4c235c5; BYTE $0x00 // vcmpeqpd ymm8, ymm9, ymm4
LONG $0x197d63c4; WORD $0x01c1 // vextractf128 xmm1, ymm8, 1
LONG $0xc96bb9c5 // vpackssdw xmm1, xmm8, xmm1
LONG $0xd96b71c5 // vpackssdw xmm11, xmm1, xmm1
LONG $0xc5c235c5; BYTE $0x00 // vcmpeqpd ymm8, ymm9, ymm5
LONG $0x197d63c4; WORD $0x01c3 // vextractf128 xmm3, ymm8, 1
LONG $0xdb6bb9c5 // vpackssdw xmm3, xmm8, xmm3
LONG $0xe36b61c5 // vpackssdw xmm12, xmm3, xmm3
LONG $0xc6c235c5; BYTE $0x00 // vcmpeqpd ymm8, ymm9, ymm6
LONG $0x197d63c4; WORD $0x01c1 // vextractf128 xmm1, ymm8, 1
LONG $0xc96bb9c5 // vpackssdw xmm1, xmm8, xmm1
LONG $0xc96bf1c5 // vpackssdw xmm1, xmm1, xmm1
LONG $0xc7c235c5; BYTE $0x00 // vcmpeqpd ymm8, ymm9, ymm7
LONG $0x197d63c4; WORD $0x01c3 // vextractf128 xmm3, ymm8, 1
LONG $0xdb6bb9c5 // vpackssdw xmm3, xmm8, xmm3
LONG $0xdb6be1c5 // vpackssdw xmm3, xmm3, xmm3
LONG $0xe054ddc5 // vandpd ymm4, ymm4, ymm0
LONG $0xe456edc5 // vorpd ymm4, ymm2, ymm4
LONG $0xe854d5c5 // vandpd ymm5, ymm5, ymm0
LONG $0xed56edc5 // vorpd ymm5, ymm2, ymm5
LONG $0xf054cdc5 // vandpd ymm6, ymm6, ymm0
LONG $0xf656edc5 // vorpd ymm6, ymm2, ymm6
LONG $0xf854c5c5 // vandpd ymm7, ymm7, ymm0
LONG $0xff56edc5 // vorpd ymm7, ymm2, ymm7
LONG $0xe4e6fdc5 // vcvttpd2dq xmm4, ymm4
LONG $0xede6fdc5 // vcvttpd2dq xmm5, ymm5
LONG $0xe46bd9c5 // vpackssdw xmm4, xmm4, xmm4
LONG $0xed6bd1c5 // vpackssdw xmm5, xmm5, xmm5
LONG $0xf6e6fdc5 // vcvttpd2dq xmm6, ymm6
LONG $0xf66bc9c5 // vpackssdw xmm6, xmm6, xmm6
LONG $0xffe6fdc5 // vcvttpd2dq xmm7, ymm7
LONG $0xff6bc1c5 // vpackssdw xmm7, xmm7, xmm7
LONG $0x4c59c3c4; WORD $0xb0e2 // vpblendvb xmm4, xmm4, xmm10, xmm11
LONG $0x4c51c3c4; WORD $0xc0ea // vpblendvb xmm5, xmm5, xmm10, xmm12
LONG $0x4c49c3c4; WORD $0x10ca // vpblendvb xmm1, xmm6, xmm10, xmm1
LONG $0x4c41c3c4; WORD $0x30da // vpblendvb xmm3, xmm7, xmm10, xmm3
LONG $0x3875e3c4; WORD $0x01cb // vinserti128 ymm1, ymm1, xmm3, 1
LONG $0x385de3c4; WORD $0x01dd // vinserti128 ymm3, ymm4, xmm5, 1
LONG $0xc96ce5c5 // vpunpcklqdq ymm1, ymm3, ymm1
LONG $0x00fde3c4; WORD $0xd8c9 // vpermq ymm1, ymm1, 216
LONG $0x7f7ec1c4; WORD $0x780c // vmovdqu yword [r8 + 2*rdi], ymm1
LONG $0x10c78348 // add rdi, 16
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB4_632
WORD $0x3948; BYTE $0xc6 // cmp rsi, rax
JE LBB4_1351
LBB4_634:
LONG $0xc057f9c5 // vxorpd xmm0, xmm0, xmm0
LONG $0x4d28f9c5; BYTE $0x30 // vmovapd xmm1, oword 48[rbp] /* [rip + .LCPI4_2] */
LONG $0x5512fbc5; BYTE $0x08 // vmovddup xmm2, qword 8[rbp] /* [rip + .LCPI4_1] */
LBB4_635:
LONG $0x1c10fbc5; BYTE $0xf1 // vmovsd xmm3, qword [rcx + 8*rsi]
LONG $0xc32ef9c5 // vucomisd xmm0, xmm3
LONG $0xd954e1c5 // vandpd xmm3, xmm3, xmm1
LONG $0xdb56e9c5 // vorpd xmm3, xmm2, xmm3
LONG $0xfb2cfbc5 // vcvttsd2si edi, xmm3
WORD $0x440f; BYTE $0xfa // cmove edi, edx
LONG $0x3c894166; BYTE $0x70 // mov word [r8 + 2*rsi], di
LONG $0x01c68348 // add rsi, 1
WORD $0x3948; BYTE $0xf0 // cmp rax, rsi
JNE LBB4_635
JMP LBB4_1351
LBB4_642:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xf0 // and edx, -16
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0xc976f5c5 // vpcmpeqd ymm1, ymm1, ymm1
LONG $0x556ff9c5; BYTE $0x60 // vmovdqa xmm2, oword 96[rbp] /* [rip + .LCPI4_16] */
LBB4_643:
LONG $0x297de2c4; WORD $0xf11c // vpcmpeqq ymm3, ymm0, yword [rcx + 8*rsi]
LONG $0xd9efe5c5 // vpxor ymm3, ymm3, ymm1
LONG $0x397de3c4; WORD $0x01dc // vextracti128 xmm4, ymm3, 1
LONG $0xdc6be1c5 // vpackssdw xmm3, xmm3, xmm4
LONG $0xdb6be1c5 // vpackssdw xmm3, xmm3, xmm3
LONG $0xdadbe1c5 // vpand xmm3, xmm3, xmm2
LONG $0x297de2c4; WORD $0xf164; BYTE $0x20 // vpcmpeqq ymm4, ymm0, yword [rcx + 8*rsi + 32]
LONG $0xe1efddc5 // vpxor ymm4, ymm4, ymm1
LONG $0x397de3c4; WORD $0x01e5 // vextracti128 xmm5, ymm4, 1
LONG $0xe56bd9c5 // vpackssdw xmm4, xmm4, xmm5
LONG $0xe46bd9c5 // vpackssdw xmm4, xmm4, xmm4
LONG $0x297de2c4; WORD $0xf16c; BYTE $0x40 // vpcmpeqq ymm5, ymm0, yword [rcx + 8*rsi + 64]
LONG $0xe2dbd9c5 // vpand xmm4, xmm4, xmm2
LONG $0xe9efd5c5 // vpxor ymm5, ymm5, ymm1
LONG $0x397de3c4; WORD $0x01ee // vextracti128 xmm6, ymm5, 1
LONG $0xee6bd1c5 // vpackssdw xmm5, xmm5, xmm6
LONG $0xed6bd1c5 // vpackssdw xmm5, xmm5, xmm5
LONG $0xeadbd1c5 // vpand xmm5, xmm5, xmm2
LONG $0x297de2c4; WORD $0xf174; BYTE $0x60 // vpcmpeqq ymm6, ymm0, yword [rcx + 8*rsi + 96]
LONG $0xf1efcdc5 // vpxor ymm6, ymm6, ymm1
LONG $0x397de3c4; WORD $0x01f7 // vextracti128 xmm7, ymm6, 1
LONG $0xf76bc9c5 // vpackssdw xmm6, xmm6, xmm7
LONG $0xf66bc9c5 // vpackssdw xmm6, xmm6, xmm6
LONG $0xf2dbc9c5 // vpand xmm6, xmm6, xmm2
LONG $0x3855e3c4; WORD $0x01ee // vinserti128 ymm5, ymm5, xmm6, 1
LONG $0x3865e3c4; WORD $0x01dc // vinserti128 ymm3, ymm3, xmm4, 1
LONG $0xdd6ce5c5 // vpunpcklqdq ymm3, ymm3, ymm5
LONG $0x00fde3c4; WORD $0xd8db // vpermq ymm3, ymm3, 216
LONG $0x7f7ec1c4; WORD $0x701c // vmovdqu yword [r8 + 2*rsi], ymm3
LONG $0x10c68348 // add rsi, 16
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_643
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1351
LBB4_645:
WORD $0xf631 // xor esi, esi
LONG $0xd13c8348; BYTE $0x00 // cmp qword [rcx + 8*rdx], 0
LONG $0xd6950f40 // setne sil
LONG $0x34894166; BYTE $0x50 // mov word [r8 + 2*rdx], si
LONG $0x01c28348 // add rdx, 1
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JNE LBB4_645
JMP LBB4_1351
LBB4_646:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xf0 // and edx, -16
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0xc976f5c5 // vpcmpeqd ymm1, ymm1, ymm1
LONG $0x556ff9c5; BYTE $0x60 // vmovdqa xmm2, oword 96[rbp] /* [rip + .LCPI4_16] */
LBB4_647:
LONG $0x297de2c4; WORD $0xf11c // vpcmpeqq ymm3, ymm0, yword [rcx + 8*rsi]
LONG $0xd9efe5c5 // vpxor ymm3, ymm3, ymm1
LONG $0x397de3c4; WORD $0x01dc // vextracti128 xmm4, ymm3, 1
LONG $0xdc6be1c5 // vpackssdw xmm3, xmm3, xmm4
LONG $0xdb6be1c5 // vpackssdw xmm3, xmm3, xmm3
LONG $0xdadbe1c5 // vpand xmm3, xmm3, xmm2
LONG $0x297de2c4; WORD $0xf164; BYTE $0x20 // vpcmpeqq ymm4, ymm0, yword [rcx + 8*rsi + 32]
LONG $0xe1efddc5 // vpxor ymm4, ymm4, ymm1
LONG $0x397de3c4; WORD $0x01e5 // vextracti128 xmm5, ymm4, 1
LONG $0xe56bd9c5 // vpackssdw xmm4, xmm4, xmm5
LONG $0xe46bd9c5 // vpackssdw xmm4, xmm4, xmm4
LONG $0x297de2c4; WORD $0xf16c; BYTE $0x40 // vpcmpeqq ymm5, ymm0, yword [rcx + 8*rsi + 64]
LONG $0xe2dbd9c5 // vpand xmm4, xmm4, xmm2
LONG $0xe9efd5c5 // vpxor ymm5, ymm5, ymm1
LONG $0x397de3c4; WORD $0x01ee // vextracti128 xmm6, ymm5, 1
LONG $0xee6bd1c5 // vpackssdw xmm5, xmm5, xmm6
LONG $0xed6bd1c5 // vpackssdw xmm5, xmm5, xmm5
LONG $0xeadbd1c5 // vpand xmm5, xmm5, xmm2
LONG $0x297de2c4; WORD $0xf174; BYTE $0x60 // vpcmpeqq ymm6, ymm0, yword [rcx + 8*rsi + 96]
LONG $0xf1efcdc5 // vpxor ymm6, ymm6, ymm1
LONG $0x397de3c4; WORD $0x01f7 // vextracti128 xmm7, ymm6, 1
LONG $0xf76bc9c5 // vpackssdw xmm6, xmm6, xmm7
LONG $0xf66bc9c5 // vpackssdw xmm6, xmm6, xmm6
LONG $0xf2dbc9c5 // vpand xmm6, xmm6, xmm2
LONG $0x3855e3c4; WORD $0x01ee // vinserti128 ymm5, ymm5, xmm6, 1
LONG $0x3865e3c4; WORD $0x01dc // vinserti128 ymm3, ymm3, xmm4, 1
LONG $0xdd6ce5c5 // vpunpcklqdq ymm3, ymm3, ymm5
LONG $0x00fde3c4; WORD $0xd8db // vpermq ymm3, ymm3, 216
LONG $0x7f7ec1c4; WORD $0x701c // vmovdqu yword [r8 + 2*rsi], ymm3
LONG $0x10c68348 // add rsi, 16
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_647
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1351
LBB4_649:
WORD $0xf631 // xor esi, esi
LONG $0xd13c8348; BYTE $0x00 // cmp qword [rcx + 8*rdx], 0
LONG $0xd6950f40 // setne sil
LONG $0x34894166; BYTE $0x50 // mov word [r8 + 2*rdx], si
LONG $0x01c28348 // add rdx, 1
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JNE LBB4_649
JMP LBB4_1351
LBB4_662:
WORD $0x8944; BYTE $0xd2 // mov edx, r10d
WORD $0xe283; BYTE $0xf0 // and edx, -16
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0x763541c4; BYTE $0xc9 // vpcmpeqd ymm9, ymm9, ymm9
LONG $0x556f79c5; BYTE $0x60 // vmovdqa xmm10, oword 96[rbp] /* [rip + .LCPI4_16] */
LBB4_663:
LONG $0x3c6ffec5; BYTE $0xf1 // vmovdqu ymm7, yword [rcx + 8*rsi]
LONG $0x446f7ec5; WORD $0x20f1 // vmovdqu ymm8, yword [rcx + 8*rsi + 32]
LONG $0x746ffec5; WORD $0x40f1 // vmovdqu ymm6, yword [rcx + 8*rsi + 64]
LONG $0x646ffec5; WORD $0x60f1 // vmovdqu ymm4, yword [rcx + 8*rsi + 96]
LONG $0x3745e2c4; BYTE $0xd8 // vpcmpgtq ymm3, ymm7, ymm0
LONG $0x397de3c4; WORD $0x01dd // vextracti128 xmm5, ymm3, 1
LONG $0xdd6be1c5 // vpackssdw xmm3, xmm3, xmm5
LONG $0xdb6b61c5 // vpackssdw xmm11, xmm3, xmm3
LONG $0x373de2c4; BYTE $0xe8 // vpcmpgtq ymm5, ymm8, ymm0
LONG $0x397de3c4; WORD $0x01e9 // vextracti128 xmm1, ymm5, 1
LONG $0xc96bd1c5 // vpackssdw xmm1, xmm5, xmm1
LONG $0xe16b71c5 // vpackssdw xmm12, xmm1, xmm1
LONG $0x374de2c4; BYTE $0xc8 // vpcmpgtq ymm1, ymm6, ymm0
LONG $0x397de3c4; WORD $0x01ca // vextracti128 xmm2, ymm1, 1
LONG $0xca6bf1c5 // vpackssdw xmm1, xmm1, xmm2
LONG $0xc96bf1c5 // vpackssdw xmm1, xmm1, xmm1
LONG $0x375de2c4; BYTE $0xd0 // vpcmpgtq ymm2, ymm4, ymm0
LONG $0x397de3c4; WORD $0x01d3 // vextracti128 xmm3, ymm2, 1
LONG $0xd36be9c5 // vpackssdw xmm2, xmm2, xmm3
LONG $0xd26be9c5 // vpackssdw xmm2, xmm2, xmm2
LONG $0x2945e2c4; BYTE $0xd8 // vpcmpeqq ymm3, ymm7, ymm0
LONG $0xdbefb5c5 // vpxor ymm3, ymm9, ymm3
LONG $0x397de3c4; WORD $0x01df // vextracti128 xmm7, ymm3, 1
LONG $0xdf6be1c5 // vpackssdw xmm3, xmm3, xmm7
LONG $0xdb6be1c5 // vpackssdw xmm3, xmm3, xmm3
LONG $0x293de2c4; BYTE $0xf8 // vpcmpeqq ymm7, ymm8, ymm0
LONG $0xffefb5c5 // vpxor ymm7, ymm9, ymm7
LONG $0x397de3c4; WORD $0x01fd // vextracti128 xmm5, ymm7, 1
LONG $0xed6bc1c5 // vpackssdw xmm5, xmm7, xmm5
LONG $0xed6bd1c5 // vpackssdw xmm5, xmm5, xmm5
LONG $0x294de2c4; BYTE $0xf0 // vpcmpeqq ymm6, ymm6, ymm0
LONG $0xf6efb5c5 // vpxor ymm6, ymm9, ymm6
LONG $0x397de3c4; WORD $0x01f7 // vextracti128 xmm7, ymm6, 1
LONG $0xf76bc9c5 // vpackssdw xmm6, xmm6, xmm7
LONG $0xf66bc9c5 // vpackssdw xmm6, xmm6, xmm6
LONG $0x295de2c4; BYTE $0xe0 // vpcmpeqq ymm4, ymm4, ymm0
LONG $0xe4efb5c5 // vpxor ymm4, ymm9, ymm4
LONG $0x397de3c4; WORD $0x01e7 // vextracti128 xmm7, ymm4, 1
LONG $0xe76bd9c5 // vpackssdw xmm4, xmm4, xmm7
LONG $0xe46bd9c5 // vpackssdw xmm4, xmm4, xmm4
LONG $0x4c61c3c4; WORD $0xb0da // vpblendvb xmm3, xmm3, xmm10, xmm11
LONG $0x4c51c3c4; WORD $0xc0ea // vpblendvb xmm5, xmm5, xmm10, xmm12
LONG $0x4c49c3c4; WORD $0x10ca // vpblendvb xmm1, xmm6, xmm10, xmm1
LONG $0x4c59c3c4; WORD $0x20d2 // vpblendvb xmm2, xmm4, xmm10, xmm2
LONG $0x3875e3c4; WORD $0x01ca // vinserti128 ymm1, ymm1, xmm2, 1
LONG $0x3865e3c4; WORD $0x01d5 // vinserti128 ymm2, ymm3, xmm5, 1
LONG $0xc96cedc5 // vpunpcklqdq ymm1, ymm2, ymm1
LONG $0x00fde3c4; WORD $0xd8c9 // vpermq ymm1, ymm1, 216
LONG $0x7f7ec1c4; WORD $0x700c // vmovdqu yword [r8 + 2*rsi], ymm1
LONG $0x10c68348 // add rsi, 16
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_663
WORD $0x394c; BYTE $0xd2 // cmp rdx, r10
JE LBB4_1351
LBB4_665:
LONG $0x000001be; BYTE $0x00 // mov esi, 1
LBB4_666:
LONG $0xd13c8b48 // mov rdi, qword [rcx + 8*rdx]
WORD $0xc031 // xor eax, eax
WORD $0x8548; BYTE $0xff // test rdi, rdi
WORD $0x950f; BYTE $0xd0 // setne al
WORD $0xd8f7 // neg eax
WORD $0x8548; BYTE $0xff // test rdi, rdi
WORD $0x4f0f; BYTE $0xc6 // cmovg eax, esi
LONG $0x04894166; BYTE $0x50 // mov word [r8 + 2*rdx], ax
LONG $0x01c28348 // add rdx, 1
WORD $0x3949; BYTE $0xd2 // cmp r10, rdx
JNE LBB4_666
JMP LBB4_1351
LBB4_667:
WORD $0x8944; BYTE $0xd2 // mov edx, r10d
WORD $0xe283; BYTE $0xf0 // and edx, -16
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0x763541c4; BYTE $0xc9 // vpcmpeqd ymm9, ymm9, ymm9
LONG $0x556f79c5; BYTE $0x60 // vmovdqa xmm10, oword 96[rbp] /* [rip + .LCPI4_16] */
LBB4_668:
LONG $0x3c6ffec5; BYTE $0xf1 // vmovdqu ymm7, yword [rcx + 8*rsi]
LONG $0x446f7ec5; WORD $0x20f1 // vmovdqu ymm8, yword [rcx + 8*rsi + 32]
LONG $0x746ffec5; WORD $0x40f1 // vmovdqu ymm6, yword [rcx + 8*rsi + 64]
LONG $0x646ffec5; WORD $0x60f1 // vmovdqu ymm4, yword [rcx + 8*rsi + 96]
LONG $0x3745e2c4; BYTE $0xd8 // vpcmpgtq ymm3, ymm7, ymm0
LONG $0x397de3c4; WORD $0x01dd // vextracti128 xmm5, ymm3, 1
LONG $0xdd6be1c5 // vpackssdw xmm3, xmm3, xmm5
LONG $0xdb6b61c5 // vpackssdw xmm11, xmm3, xmm3
LONG $0x373de2c4; BYTE $0xe8 // vpcmpgtq ymm5, ymm8, ymm0
LONG $0x397de3c4; WORD $0x01e9 // vextracti128 xmm1, ymm5, 1
LONG $0xc96bd1c5 // vpackssdw xmm1, xmm5, xmm1
LONG $0xe16b71c5 // vpackssdw xmm12, xmm1, xmm1
LONG $0x374de2c4; BYTE $0xc8 // vpcmpgtq ymm1, ymm6, ymm0
LONG $0x397de3c4; WORD $0x01ca // vextracti128 xmm2, ymm1, 1
LONG $0xca6bf1c5 // vpackssdw xmm1, xmm1, xmm2
LONG $0xc96bf1c5 // vpackssdw xmm1, xmm1, xmm1
LONG $0x375de2c4; BYTE $0xd0 // vpcmpgtq ymm2, ymm4, ymm0
LONG $0x397de3c4; WORD $0x01d3 // vextracti128 xmm3, ymm2, 1
LONG $0xd36be9c5 // vpackssdw xmm2, xmm2, xmm3
LONG $0xd26be9c5 // vpackssdw xmm2, xmm2, xmm2
LONG $0x2945e2c4; BYTE $0xd8 // vpcmpeqq ymm3, ymm7, ymm0
LONG $0xdbefb5c5 // vpxor ymm3, ymm9, ymm3
LONG $0x397de3c4; WORD $0x01df // vextracti128 xmm7, ymm3, 1
LONG $0xdf6be1c5 // vpackssdw xmm3, xmm3, xmm7
LONG $0xdb6be1c5 // vpackssdw xmm3, xmm3, xmm3
LONG $0x293de2c4; BYTE $0xf8 // vpcmpeqq ymm7, ymm8, ymm0
LONG $0xffefb5c5 // vpxor ymm7, ymm9, ymm7
LONG $0x397de3c4; WORD $0x01fd // vextracti128 xmm5, ymm7, 1
LONG $0xed6bc1c5 // vpackssdw xmm5, xmm7, xmm5
LONG $0xed6bd1c5 // vpackssdw xmm5, xmm5, xmm5
LONG $0x294de2c4; BYTE $0xf0 // vpcmpeqq ymm6, ymm6, ymm0
LONG $0xf6efb5c5 // vpxor ymm6, ymm9, ymm6
LONG $0x397de3c4; WORD $0x01f7 // vextracti128 xmm7, ymm6, 1
LONG $0xf76bc9c5 // vpackssdw xmm6, xmm6, xmm7
LONG $0xf66bc9c5 // vpackssdw xmm6, xmm6, xmm6
LONG $0x295de2c4; BYTE $0xe0 // vpcmpeqq ymm4, ymm4, ymm0
LONG $0xe4efb5c5 // vpxor ymm4, ymm9, ymm4
LONG $0x397de3c4; WORD $0x01e7 // vextracti128 xmm7, ymm4, 1
LONG $0xe76bd9c5 // vpackssdw xmm4, xmm4, xmm7
LONG $0xe46bd9c5 // vpackssdw xmm4, xmm4, xmm4
LONG $0x4c61c3c4; WORD $0xb0da // vpblendvb xmm3, xmm3, xmm10, xmm11
LONG $0x4c51c3c4; WORD $0xc0ea // vpblendvb xmm5, xmm5, xmm10, xmm12
LONG $0x4c49c3c4; WORD $0x10ca // vpblendvb xmm1, xmm6, xmm10, xmm1
LONG $0x4c59c3c4; WORD $0x20d2 // vpblendvb xmm2, xmm4, xmm10, xmm2
LONG $0x3875e3c4; WORD $0x01ca // vinserti128 ymm1, ymm1, xmm2, 1
LONG $0x3865e3c4; WORD $0x01d5 // vinserti128 ymm2, ymm3, xmm5, 1
LONG $0xc96cedc5 // vpunpcklqdq ymm1, ymm2, ymm1
LONG $0x00fde3c4; WORD $0xd8c9 // vpermq ymm1, ymm1, 216
LONG $0x7f7ec1c4; WORD $0x700c // vmovdqu yword [r8 + 2*rsi], ymm1
LONG $0x10c68348 // add rsi, 16
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_668
WORD $0x394c; BYTE $0xd2 // cmp rdx, r10
JE LBB4_1351
LBB4_670:
LONG $0x000001be; BYTE $0x00 // mov esi, 1
LBB4_671:
LONG $0xd13c8b48 // mov rdi, qword [rcx + 8*rdx]
WORD $0xc031 // xor eax, eax
WORD $0x8548; BYTE $0xff // test rdi, rdi
WORD $0x950f; BYTE $0xd0 // setne al
WORD $0xd8f7 // neg eax
WORD $0x8548; BYTE $0xff // test rdi, rdi
WORD $0x4f0f; BYTE $0xc6 // cmovg eax, esi
LONG $0x04894166; BYTE $0x50 // mov word [r8 + 2*rdx], ax
LONG $0x01c28348 // add rdx, 1
WORD $0x3949; BYTE $0xd2 // cmp r10, rdx
JNE LBB4_671
JMP LBB4_1351
LBB4_672:
WORD $0xc689 // mov esi, eax
WORD $0xe683; BYTE $0xe0 // and esi, -32
WORD $0xff31 // xor edi, edi
LONG $0x573041c4; BYTE $0xc9 // vxorps xmm9, xmm9, xmm9
LONG $0x762d41c4; BYTE $0xd2 // vpcmpeqd ymm10, ymm10, ymm10
LONG $0x5d6f79c5; BYTE $0x40 // vmovdqa xmm11, oword 64[rbp] /* [rip + .LCPI4_11] */
LONG $0x761941c4; BYTE $0xe4 // vpcmpeqd xmm12, xmm12, xmm12
LBB4_673:
LONG $0x2410fcc5; BYTE $0xb9 // vmovups ymm4, yword [rcx + 4*rdi]
LONG $0x6c10fcc5; WORD $0x20b9 // vmovups ymm5, yword [rcx + 4*rdi + 32]
LONG $0x7410fcc5; WORD $0x40b9 // vmovups ymm6, yword [rcx + 4*rdi + 64]
LONG $0x7c10fcc5; WORD $0x60b9 // vmovups ymm7, yword [rcx + 4*rdi + 96]
LONG $0xc4c234c5; BYTE $0x00 // vcmpeqps ymm8, ymm9, ymm4
LONG $0x197d63c4; WORD $0x01c0 // vextractf128 xmm0, ymm8, 1
LONG $0xe86b39c5 // vpackssdw xmm13, xmm8, xmm0
LONG $0xc5c234c5; BYTE $0x00 // vcmpeqps ymm8, ymm9, ymm5
LONG $0x197d63c4; WORD $0x01c1 // vextractf128 xmm1, ymm8, 1
LONG $0xc96bb9c5 // vpackssdw xmm1, xmm8, xmm1
LONG $0xc6c234c5; BYTE $0x00 // vcmpeqps ymm8, ymm9, ymm6
LONG $0x197d63c4; WORD $0x01c2 // vextractf128 xmm2, ymm8, 1
LONG $0xd26bb9c5 // vpackssdw xmm2, xmm8, xmm2
LONG $0xc7c234c5; BYTE $0x00 // vcmpeqps ymm8, ymm9, ymm7
LONG $0x197d63c4; WORD $0x01c3 // vextractf128 xmm3, ymm8, 1
LONG $0xdb6bb9c5 // vpackssdw xmm3, xmm8, xmm3
LONG $0x665dc1c4; BYTE $0xe2 // vpcmpgtd ymm4, ymm4, ymm10
LONG $0x397de3c4; WORD $0x01e0 // vextracti128 xmm0, ymm4, 1
LONG $0xc06bd9c5 // vpackssdw xmm0, xmm4, xmm0
LONG $0x6655c1c4; BYTE $0xe2 // vpcmpgtd ymm4, ymm5, ymm10
LONG $0x397de3c4; WORD $0x01e5 // vextracti128 xmm5, ymm4, 1
LONG $0xe56bd9c5 // vpackssdw xmm4, xmm4, xmm5
LONG $0x664dc1c4; BYTE $0xea // vpcmpgtd ymm5, ymm6, ymm10
LONG $0x397de3c4; WORD $0x01ee // vextracti128 xmm6, ymm5, 1
LONG $0xee6bd1c5 // vpackssdw xmm5, xmm5, xmm6
LONG $0x6645c1c4; BYTE $0xf2 // vpcmpgtd ymm6, ymm7, ymm10
LONG $0x397de3c4; WORD $0x01f7 // vextracti128 xmm7, ymm6, 1
LONG $0xf76bc9c5 // vpackssdw xmm6, xmm6, xmm7
LONG $0x4c19c3c4; WORD $0x00c3 // vpblendvb xmm0, xmm12, xmm11, xmm0
LONG $0xc0df91c5 // vpandn xmm0, xmm13, xmm0
LONG $0x4c19c3c4; WORD $0x40e3 // vpblendvb xmm4, xmm12, xmm11, xmm4
LONG $0xccdff1c5 // vpandn xmm1, xmm1, xmm4
LONG $0x4c19c3c4; WORD $0x50e3 // vpblendvb xmm4, xmm12, xmm11, xmm5
LONG $0x4c19c3c4; WORD $0x60eb // vpblendvb xmm5, xmm12, xmm11, xmm6
LONG $0xd4dfe9c5 // vpandn xmm2, xmm2, xmm4
LONG $0xdddfe1c5 // vpandn xmm3, xmm3, xmm5
LONG $0x7f7ac1c4; WORD $0x7804 // vmovdqu oword [r8 + 2*rdi], xmm0
LONG $0x7f7ac1c4; WORD $0x784c; BYTE $0x10 // vmovdqu oword [r8 + 2*rdi + 16], xmm1
LONG $0x7f7ac1c4; WORD $0x7854; BYTE $0x20 // vmovdqu oword [r8 + 2*rdi + 32], xmm2
LONG $0x7f7ac1c4; WORD $0x785c; BYTE $0x30 // vmovdqu oword [r8 + 2*rdi + 48], xmm3
LONG $0x20c78348 // add rdi, 32
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB4_673
WORD $0x3948; BYTE $0xc6 // cmp rsi, rax
JE LBB4_1351
LBB4_675:
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LBB4_676:
LONG $0x0c6ef9c5; BYTE $0xb1 // vmovd xmm1, dword [rcx + 4*rsi]
LONG $0xcf7ef9c5 // vmovd edi, xmm1
WORD $0xd231 // xor edx, edx
WORD $0xff85 // test edi, edi
WORD $0x990f; BYTE $0xd2 // setns dl
LONG $0xc12ef8c5 // vucomiss xmm0, xmm1
LONG $0xff12548d // lea edx, [rdx + rdx - 1]
LONG $0xd2440f41 // cmove edx, r10d
LONG $0x14894166; BYTE $0x70 // mov word [r8 + 2*rsi], dx
LONG $0x01c68348 // add rsi, 1
WORD $0x3948; BYTE $0xf0 // cmp rax, rsi
JNE LBB4_676
JMP LBB4_1351
LBB4_677:
WORD $0xc689 // mov esi, eax
WORD $0xe683; BYTE $0xe0 // and esi, -32
WORD $0xff31 // xor edi, edi
LONG $0x573041c4; BYTE $0xc9 // vxorps xmm9, xmm9, xmm9
LONG $0x762d41c4; BYTE $0xd2 // vpcmpeqd ymm10, ymm10, ymm10
LONG $0x5d6f79c5; BYTE $0x40 // vmovdqa xmm11, oword 64[rbp] /* [rip + .LCPI4_11] */
LONG $0x761941c4; BYTE $0xe4 // vpcmpeqd xmm12, xmm12, xmm12
LBB4_678:
LONG $0x2410fcc5; BYTE $0xb9 // vmovups ymm4, yword [rcx + 4*rdi]
LONG $0x6c10fcc5; WORD $0x20b9 // vmovups ymm5, yword [rcx + 4*rdi + 32]
LONG $0x7410fcc5; WORD $0x40b9 // vmovups ymm6, yword [rcx + 4*rdi + 64]
LONG $0x7c10fcc5; WORD $0x60b9 // vmovups ymm7, yword [rcx + 4*rdi + 96]
LONG $0xc4c234c5; BYTE $0x00 // vcmpeqps ymm8, ymm9, ymm4
LONG $0x197d63c4; WORD $0x01c0 // vextractf128 xmm0, ymm8, 1
LONG $0xe86b39c5 // vpackssdw xmm13, xmm8, xmm0
LONG $0xc5c234c5; BYTE $0x00 // vcmpeqps ymm8, ymm9, ymm5
LONG $0x197d63c4; WORD $0x01c1 // vextractf128 xmm1, ymm8, 1
LONG $0xc96bb9c5 // vpackssdw xmm1, xmm8, xmm1
LONG $0xc6c234c5; BYTE $0x00 // vcmpeqps ymm8, ymm9, ymm6
LONG $0x197d63c4; WORD $0x01c2 // vextractf128 xmm2, ymm8, 1
LONG $0xd26bb9c5 // vpackssdw xmm2, xmm8, xmm2
LONG $0xc7c234c5; BYTE $0x00 // vcmpeqps ymm8, ymm9, ymm7
LONG $0x197d63c4; WORD $0x01c3 // vextractf128 xmm3, ymm8, 1
LONG $0xdb6bb9c5 // vpackssdw xmm3, xmm8, xmm3
LONG $0x665dc1c4; BYTE $0xe2 // vpcmpgtd ymm4, ymm4, ymm10
LONG $0x397de3c4; WORD $0x01e0 // vextracti128 xmm0, ymm4, 1
LONG $0xc06bd9c5 // vpackssdw xmm0, xmm4, xmm0
LONG $0x6655c1c4; BYTE $0xe2 // vpcmpgtd ymm4, ymm5, ymm10
LONG $0x397de3c4; WORD $0x01e5 // vextracti128 xmm5, ymm4, 1
LONG $0xe56bd9c5 // vpackssdw xmm4, xmm4, xmm5
LONG $0x664dc1c4; BYTE $0xea // vpcmpgtd ymm5, ymm6, ymm10
LONG $0x397de3c4; WORD $0x01ee // vextracti128 xmm6, ymm5, 1
LONG $0xee6bd1c5 // vpackssdw xmm5, xmm5, xmm6
LONG $0x6645c1c4; BYTE $0xf2 // vpcmpgtd ymm6, ymm7, ymm10
LONG $0x397de3c4; WORD $0x01f7 // vextracti128 xmm7, ymm6, 1
LONG $0xf76bc9c5 // vpackssdw xmm6, xmm6, xmm7
LONG $0x4c19c3c4; WORD $0x00c3 // vpblendvb xmm0, xmm12, xmm11, xmm0
LONG $0xc0df91c5 // vpandn xmm0, xmm13, xmm0
LONG $0x4c19c3c4; WORD $0x40e3 // vpblendvb xmm4, xmm12, xmm11, xmm4
LONG $0xccdff1c5 // vpandn xmm1, xmm1, xmm4
LONG $0x4c19c3c4; WORD $0x50e3 // vpblendvb xmm4, xmm12, xmm11, xmm5
LONG $0x4c19c3c4; WORD $0x60eb // vpblendvb xmm5, xmm12, xmm11, xmm6
LONG $0xd4dfe9c5 // vpandn xmm2, xmm2, xmm4
LONG $0xdddfe1c5 // vpandn xmm3, xmm3, xmm5
LONG $0x7f7ac1c4; WORD $0x7804 // vmovdqu oword [r8 + 2*rdi], xmm0
LONG $0x7f7ac1c4; WORD $0x784c; BYTE $0x10 // vmovdqu oword [r8 + 2*rdi + 16], xmm1
LONG $0x7f7ac1c4; WORD $0x7854; BYTE $0x20 // vmovdqu oword [r8 + 2*rdi + 32], xmm2
LONG $0x7f7ac1c4; WORD $0x785c; BYTE $0x30 // vmovdqu oword [r8 + 2*rdi + 48], xmm3
LONG $0x20c78348 // add rdi, 32
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB4_678
WORD $0x3948; BYTE $0xc6 // cmp rsi, rax
JE LBB4_1351
LBB4_680:
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LBB4_681:
LONG $0x0c6ef9c5; BYTE $0xb1 // vmovd xmm1, dword [rcx + 4*rsi]
LONG $0xcf7ef9c5 // vmovd edi, xmm1
WORD $0xd231 // xor edx, edx
WORD $0xff85 // test edi, edi
WORD $0x990f; BYTE $0xd2 // setns dl
LONG $0xc12ef8c5 // vucomiss xmm0, xmm1
LONG $0xff12548d // lea edx, [rdx + rdx - 1]
LONG $0xd2440f41 // cmove edx, r10d
LONG $0x14894166; BYTE $0x70 // mov word [r8 + 2*rsi], dx
LONG $0x01c68348 // add rsi, 1
WORD $0x3948; BYTE $0xf0 // cmp rax, rsi
JNE LBB4_681
JMP LBB4_1351
LBB4_688:
WORD $0x8944; BYTE $0xd2 // mov edx, r10d
WORD $0xe283; BYTE $0xe0 // and edx, -32
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0x763d41c4; BYTE $0xc0 // vpcmpeqd ymm8, ymm8, ymm8
LONG $0x4d6f79c5; BYTE $0x40 // vmovdqa xmm9, oword 64[rbp] /* [rip + .LCPI4_11] */
LBB4_689:
LONG $0x246ffec5; BYTE $0xb1 // vmovdqu ymm4, yword [rcx + 4*rsi]
LONG $0x6c6ffec5; WORD $0x20b1 // vmovdqu ymm5, yword [rcx + 4*rsi + 32]
LONG $0x746ffec5; WORD $0x40b1 // vmovdqu ymm6, yword [rcx + 4*rsi + 64]
LONG $0x7c6ffec5; WORD $0x60b1 // vmovdqu ymm7, yword [rcx + 4*rsi + 96]
LONG $0xd866ddc5 // vpcmpgtd ymm3, ymm4, ymm0
LONG $0x397de3c4; WORD $0x01d9 // vextracti128 xmm1, ymm3, 1
LONG $0xd16b61c5 // vpackssdw xmm10, xmm3, xmm1
LONG $0xc866d5c5 // vpcmpgtd ymm1, ymm5, ymm0
LONG $0x397de3c4; WORD $0x01ca // vextracti128 xmm2, ymm1, 1
LONG $0xda6b71c5 // vpackssdw xmm11, xmm1, xmm2
LONG $0xd066cdc5 // vpcmpgtd ymm2, ymm6, ymm0
LONG $0x397de3c4; WORD $0x01d3 // vextracti128 xmm3, ymm2, 1
LONG $0xd36be9c5 // vpackssdw xmm2, xmm2, xmm3
LONG $0xd866c5c5 // vpcmpgtd ymm3, ymm7, ymm0
LONG $0x397de3c4; WORD $0x01d9 // vextracti128 xmm1, ymm3, 1
LONG $0xc96be1c5 // vpackssdw xmm1, xmm3, xmm1
LONG $0xd876ddc5 // vpcmpeqd ymm3, ymm4, ymm0
LONG $0xdbefbdc5 // vpxor ymm3, ymm8, ymm3
LONG $0x397de3c4; WORD $0x01dc // vextracti128 xmm4, ymm3, 1
LONG $0xdc6be1c5 // vpackssdw xmm3, xmm3, xmm4
LONG $0xe076d5c5 // vpcmpeqd ymm4, ymm5, ymm0
LONG $0xe4efbdc5 // vpxor ymm4, ymm8, ymm4
LONG $0x397de3c4; WORD $0x01e5 // vextracti128 xmm5, ymm4, 1
LONG $0xe56bd9c5 // vpackssdw xmm4, xmm4, xmm5
LONG $0xe876cdc5 // vpcmpeqd ymm5, ymm6, ymm0
LONG $0xedefbdc5 // vpxor ymm5, ymm8, ymm5
LONG $0x397de3c4; WORD $0x01ee // vextracti128 xmm6, ymm5, 1
LONG $0xee6bd1c5 // vpackssdw xmm5, xmm5, xmm6
LONG $0xf076c5c5 // vpcmpeqd ymm6, ymm7, ymm0
LONG $0xf6efbdc5 // vpxor ymm6, ymm8, ymm6
LONG $0x397de3c4; WORD $0x01f7 // vextracti128 xmm7, ymm6, 1
LONG $0xf76bc9c5 // vpackssdw xmm6, xmm6, xmm7
LONG $0x4c61c3c4; WORD $0xa0d9 // vpblendvb xmm3, xmm3, xmm9, xmm10
LONG $0x4c59c3c4; WORD $0xb0e1 // vpblendvb xmm4, xmm4, xmm9, xmm11
LONG $0x4c51c3c4; WORD $0x20d1 // vpblendvb xmm2, xmm5, xmm9, xmm2
LONG $0x4c49c3c4; WORD $0x10c9 // vpblendvb xmm1, xmm6, xmm9, xmm1
LONG $0x7f7ac1c4; WORD $0x701c // vmovdqu oword [r8 + 2*rsi], xmm3
LONG $0x7f7ac1c4; WORD $0x7064; BYTE $0x10 // vmovdqu oword [r8 + 2*rsi + 16], xmm4
LONG $0x7f7ac1c4; WORD $0x7054; BYTE $0x20 // vmovdqu oword [r8 + 2*rsi + 32], xmm2
LONG $0x7f7ac1c4; WORD $0x704c; BYTE $0x30 // vmovdqu oword [r8 + 2*rsi + 48], xmm1
LONG $0x20c68348 // add rsi, 32
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_689
WORD $0x394c; BYTE $0xd2 // cmp rdx, r10
JE LBB4_1351
LBB4_691:
LONG $0x000001be; BYTE $0x00 // mov esi, 1
LBB4_692:
WORD $0x3c8b; BYTE $0x91 // mov edi, dword [rcx + 4*rdx]
WORD $0xc031 // xor eax, eax
WORD $0xff85 // test edi, edi
WORD $0x950f; BYTE $0xd0 // setne al
WORD $0xd8f7 // neg eax
WORD $0xff85 // test edi, edi
WORD $0x4f0f; BYTE $0xc6 // cmovg eax, esi
LONG $0x04894166; BYTE $0x50 // mov word [r8 + 2*rdx], ax
LONG $0x01c28348 // add rdx, 1
WORD $0x3949; BYTE $0xd2 // cmp r10, rdx
JNE LBB4_692
JMP LBB4_1351
LBB4_693:
WORD $0x8944; BYTE $0xd2 // mov edx, r10d
WORD $0xe283; BYTE $0xe0 // and edx, -32
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0x763d41c4; BYTE $0xc0 // vpcmpeqd ymm8, ymm8, ymm8
LONG $0x4d6f79c5; BYTE $0x40 // vmovdqa xmm9, oword 64[rbp] /* [rip + .LCPI4_11] */
LBB4_694:
LONG $0x246ffec5; BYTE $0xb1 // vmovdqu ymm4, yword [rcx + 4*rsi]
LONG $0x6c6ffec5; WORD $0x20b1 // vmovdqu ymm5, yword [rcx + 4*rsi + 32]
LONG $0x746ffec5; WORD $0x40b1 // vmovdqu ymm6, yword [rcx + 4*rsi + 64]
LONG $0x7c6ffec5; WORD $0x60b1 // vmovdqu ymm7, yword [rcx + 4*rsi + 96]
LONG $0xd866ddc5 // vpcmpgtd ymm3, ymm4, ymm0
LONG $0x397de3c4; WORD $0x01d9 // vextracti128 xmm1, ymm3, 1
LONG $0xd16b61c5 // vpackssdw xmm10, xmm3, xmm1
LONG $0xc866d5c5 // vpcmpgtd ymm1, ymm5, ymm0
LONG $0x397de3c4; WORD $0x01ca // vextracti128 xmm2, ymm1, 1
LONG $0xda6b71c5 // vpackssdw xmm11, xmm1, xmm2
LONG $0xd066cdc5 // vpcmpgtd ymm2, ymm6, ymm0
LONG $0x397de3c4; WORD $0x01d3 // vextracti128 xmm3, ymm2, 1
LONG $0xd36be9c5 // vpackssdw xmm2, xmm2, xmm3
LONG $0xd866c5c5 // vpcmpgtd ymm3, ymm7, ymm0
LONG $0x397de3c4; WORD $0x01d9 // vextracti128 xmm1, ymm3, 1
LONG $0xc96be1c5 // vpackssdw xmm1, xmm3, xmm1
LONG $0xd876ddc5 // vpcmpeqd ymm3, ymm4, ymm0
LONG $0xdbefbdc5 // vpxor ymm3, ymm8, ymm3
LONG $0x397de3c4; WORD $0x01dc // vextracti128 xmm4, ymm3, 1
LONG $0xdc6be1c5 // vpackssdw xmm3, xmm3, xmm4
LONG $0xe076d5c5 // vpcmpeqd ymm4, ymm5, ymm0
LONG $0xe4efbdc5 // vpxor ymm4, ymm8, ymm4
LONG $0x397de3c4; WORD $0x01e5 // vextracti128 xmm5, ymm4, 1
LONG $0xe56bd9c5 // vpackssdw xmm4, xmm4, xmm5
LONG $0xe876cdc5 // vpcmpeqd ymm5, ymm6, ymm0
LONG $0xedefbdc5 // vpxor ymm5, ymm8, ymm5
LONG $0x397de3c4; WORD $0x01ee // vextracti128 xmm6, ymm5, 1
LONG $0xee6bd1c5 // vpackssdw xmm5, xmm5, xmm6
LONG $0xf076c5c5 // vpcmpeqd ymm6, ymm7, ymm0
LONG $0xf6efbdc5 // vpxor ymm6, ymm8, ymm6
LONG $0x397de3c4; WORD $0x01f7 // vextracti128 xmm7, ymm6, 1
LONG $0xf76bc9c5 // vpackssdw xmm6, xmm6, xmm7
LONG $0x4c61c3c4; WORD $0xa0d9 // vpblendvb xmm3, xmm3, xmm9, xmm10
LONG $0x4c59c3c4; WORD $0xb0e1 // vpblendvb xmm4, xmm4, xmm9, xmm11
LONG $0x4c51c3c4; WORD $0x20d1 // vpblendvb xmm2, xmm5, xmm9, xmm2
LONG $0x4c49c3c4; WORD $0x10c9 // vpblendvb xmm1, xmm6, xmm9, xmm1
LONG $0x7f7ac1c4; WORD $0x701c // vmovdqu oword [r8 + 2*rsi], xmm3
LONG $0x7f7ac1c4; WORD $0x7064; BYTE $0x10 // vmovdqu oword [r8 + 2*rsi + 16], xmm4
LONG $0x7f7ac1c4; WORD $0x7054; BYTE $0x20 // vmovdqu oword [r8 + 2*rsi + 32], xmm2
LONG $0x7f7ac1c4; WORD $0x704c; BYTE $0x30 // vmovdqu oword [r8 + 2*rsi + 48], xmm1
LONG $0x20c68348 // add rsi, 32
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_694
WORD $0x394c; BYTE $0xd2 // cmp rdx, r10
JE LBB4_1351
LBB4_696:
LONG $0x000001be; BYTE $0x00 // mov esi, 1
LBB4_697:
WORD $0x3c8b; BYTE $0x91 // mov edi, dword [rcx + 4*rdx]
WORD $0xc031 // xor eax, eax
WORD $0xff85 // test edi, edi
WORD $0x950f; BYTE $0xd0 // setne al
WORD $0xd8f7 // neg eax
WORD $0xff85 // test edi, edi
WORD $0x4f0f; BYTE $0xc6 // cmovg eax, esi
LONG $0x04894166; BYTE $0x50 // mov word [r8 + 2*rdx], ax
LONG $0x01c28348 // add rdx, 1
WORD $0x3949; BYTE $0xd2 // cmp r10, rdx
JNE LBB4_697
JMP LBB4_1351
LBB4_698:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xf0 // and edx, -16
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0xc976f1c5 // vpcmpeqd xmm1, xmm1, xmm1
LONG $0x597de2c4; WORD $0x2855 // vpbroadcastq ymm2, qword 40[rbp] /* [rip + .LCPI4_15] */
LBB4_699:
LONG $0x1c76f9c5; BYTE $0xb1 // vpcmpeqd xmm3, xmm0, oword [rcx + 4*rsi]
LONG $0xd9efe1c5 // vpxor xmm3, xmm3, xmm1
LONG $0x357de2c4; BYTE $0xdb // vpmovzxdq ymm3, xmm3
LONG $0x6476f9c5; WORD $0x10b1 // vpcmpeqd xmm4, xmm0, oword [rcx + 4*rsi + 16]
LONG $0xdadbe5c5 // vpand ymm3, ymm3, ymm2
LONG $0xe1efd9c5 // vpxor xmm4, xmm4, xmm1
LONG $0x357de2c4; BYTE $0xe4 // vpmovzxdq ymm4, xmm4
LONG $0xe2dbddc5 // vpand ymm4, ymm4, ymm2
LONG $0x6c76f9c5; WORD $0x20b1 // vpcmpeqd xmm5, xmm0, oword [rcx + 4*rsi + 32]
LONG $0xe9efd1c5 // vpxor xmm5, xmm5, xmm1
LONG $0x357de2c4; BYTE $0xed // vpmovzxdq ymm5, xmm5
LONG $0xeadbd5c5 // vpand ymm5, ymm5, ymm2
LONG $0x7476f9c5; WORD $0x30b1 // vpcmpeqd xmm6, xmm0, oword [rcx + 4*rsi + 48]
LONG $0xf1efc9c5 // vpxor xmm6, xmm6, xmm1
LONG $0x357de2c4; BYTE $0xf6 // vpmovzxdq ymm6, xmm6
LONG $0xf2dbcdc5 // vpand ymm6, ymm6, ymm2
LONG $0x7f7ec1c4; WORD $0xf01c // vmovdqu yword [r8 + 8*rsi], ymm3
LONG $0x7f7ec1c4; WORD $0xf064; BYTE $0x20 // vmovdqu yword [r8 + 8*rsi + 32], ymm4
LONG $0x7f7ec1c4; WORD $0xf06c; BYTE $0x40 // vmovdqu yword [r8 + 8*rsi + 64], ymm5
LONG $0x7f7ec1c4; WORD $0xf074; BYTE $0x60 // vmovdqu yword [r8 + 8*rsi + 96], ymm6
LONG $0x10c68348 // add rsi, 16
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_699
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1351
LBB4_701:
WORD $0xf631 // xor esi, esi
LONG $0x00913c83 // cmp dword [rcx + 4*rdx], 0
LONG $0xd6950f40 // setne sil
LONG $0xd0348949 // mov qword [r8 + 8*rdx], rsi
LONG $0x01c28348 // add rdx, 1
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JNE LBB4_701
JMP LBB4_1351
LBB4_702:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xe0 // and edx, -32
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
QUAD $0x0000988d587de2c4; BYTE $0x00 // vpbroadcastd ymm1, dword 152[rbp] /* [rip + .LCPI4_5] */
LBB4_703:
LONG $0x1476fdc5; BYTE $0xb1 // vpcmpeqd ymm2, ymm0, yword [rcx + 4*rsi]
LONG $0xd1dfedc5 // vpandn ymm2, ymm2, ymm1
LONG $0x5c76fdc5; WORD $0x20b1 // vpcmpeqd ymm3, ymm0, yword [rcx + 4*rsi + 32]
LONG $0xd9dfe5c5 // vpandn ymm3, ymm3, ymm1
LONG $0x6476fdc5; WORD $0x40b1 // vpcmpeqd ymm4, ymm0, yword [rcx + 4*rsi + 64]
LONG $0x6c76fdc5; WORD $0x60b1 // vpcmpeqd ymm5, ymm0, yword [rcx + 4*rsi + 96]
LONG $0xe1dfddc5 // vpandn ymm4, ymm4, ymm1
LONG $0xe9dfd5c5 // vpandn ymm5, ymm5, ymm1
LONG $0x7f7ec1c4; WORD $0xb014 // vmovdqu yword [r8 + 4*rsi], ymm2
LONG $0x7f7ec1c4; WORD $0xb05c; BYTE $0x20 // vmovdqu yword [r8 + 4*rsi + 32], ymm3
LONG $0x7f7ec1c4; WORD $0xb064; BYTE $0x40 // vmovdqu yword [r8 + 4*rsi + 64], ymm4
LONG $0x7f7ec1c4; WORD $0xb06c; BYTE $0x60 // vmovdqu yword [r8 + 4*rsi + 96], ymm5
LONG $0x20c68348 // add rsi, 32
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_703
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1351
LBB4_705:
QUAD $0x00000098856ef9c5 // vmovd xmm0, dword 152[rbp] /* [rip + .LCPI4_5] */
JMP LBB4_707
LBB4_706:
LONG $0x7e79c1c4; WORD $0x900c // vmovd dword [r8 + 4*rdx], xmm1
LONG $0x01c28348 // add rdx, 1
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JE LBB4_1351
LBB4_707:
LONG $0x00913c83 // cmp dword [rcx + 4*rdx], 0
LONG $0xc86ff9c5 // vmovdqa xmm1, xmm0
JNE LBB4_706
LONG $0xc9eff1c5 // vpxor xmm1, xmm1, xmm1
JMP LBB4_706
LBB4_709:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xfc // and edx, -4
LONG $0xfc728d48 // lea rsi, [rdx - 4]
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
LONG $0x02e9c149 // shr r9, 2
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xf6 // test rsi, rsi
JE LBB4_1302
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
LONG $0xc057f9c5 // vxorpd xmm0, xmm0, xmm0
LONG $0x197de2c4; WORD $0x004d // vbroadcastsd ymm1, qword 0[rbp] /* [rip + .LCPI4_0] */
LONG $0x197de2c4; WORD $0x0855 // vbroadcastsd ymm2, qword 8[rbp] /* [rip + .LCPI4_1] */
LBB4_711:
LONG $0x1c10fdc5; BYTE $0xf1 // vmovupd ymm3, yword [rcx + 8*rsi]
LONG $0xe154e5c5 // vandpd ymm4, ymm3, ymm1
LONG $0xe456edc5 // vorpd ymm4, ymm2, ymm4
LONG $0x197de3c4; WORD $0x01e5 // vextractf128 xmm5, ymm4, 1
LONG $0x2cfbe1c4; BYTE $0xdd // vcvttsd2si rbx, xmm5
LONG $0x6ef9e1c4; BYTE $0xf3 // vmovq xmm6, rbx
LONG $0x0479e3c4; WORD $0x4eed // vpermilps xmm5, xmm5, 78
LONG $0x2cfbe1c4; BYTE $0xdd // vcvttsd2si rbx, xmm5
LONG $0x6ef9e1c4; BYTE $0xeb // vmovq xmm5, rbx
LONG $0xed6cc9c5 // vpunpcklqdq xmm5, xmm6, xmm5
LONG $0x2cfbe1c4; BYTE $0xdc // vcvttsd2si rbx, xmm4
LONG $0x6ef9e1c4; BYTE $0xf3 // vmovq xmm6, rbx
LONG $0x0479e3c4; WORD $0x4ee4 // vpermilps xmm4, xmm4, 78
LONG $0x2cfbe1c4; BYTE $0xdc // vcvttsd2si rbx, xmm4
LONG $0x6ef9e1c4; BYTE $0xe3 // vmovq xmm4, rbx
LONG $0xe46cc9c5 // vpunpcklqdq xmm4, xmm6, xmm4
LONG $0x385de3c4; WORD $0x01e5 // vinserti128 ymm4, ymm4, xmm5, 1
LONG $0xd8c2e5c5; BYTE $0x04 // vcmpneqpd ymm3, ymm3, ymm0
LONG $0xdc54e5c5 // vandpd ymm3, ymm3, ymm4
LONG $0x117dc1c4; WORD $0xf01c // vmovupd yword [r8 + 8*rsi], ymm3
LONG $0x5c10fdc5; WORD $0x20f1 // vmovupd ymm3, yword [rcx + 8*rsi + 32]
LONG $0xe154e5c5 // vandpd ymm4, ymm3, ymm1
LONG $0xe456edc5 // vorpd ymm4, ymm2, ymm4
LONG $0x197de3c4; WORD $0x01e5 // vextractf128 xmm5, ymm4, 1
LONG $0x2cfbe1c4; BYTE $0xdd // vcvttsd2si rbx, xmm5
LONG $0x6ef9e1c4; BYTE $0xf3 // vmovq xmm6, rbx
LONG $0x0479e3c4; WORD $0x4eed // vpermilps xmm5, xmm5, 78
LONG $0x2cfbe1c4; BYTE $0xdd // vcvttsd2si rbx, xmm5
LONG $0x6ef9e1c4; BYTE $0xeb // vmovq xmm5, rbx
LONG $0xed6cc9c5 // vpunpcklqdq xmm5, xmm6, xmm5
LONG $0x2cfbe1c4; BYTE $0xdc // vcvttsd2si rbx, xmm4
LONG $0x6ef9e1c4; BYTE $0xf3 // vmovq xmm6, rbx
LONG $0x0479e3c4; WORD $0x4ee4 // vpermilps xmm4, xmm4, 78
LONG $0x2cfbe1c4; BYTE $0xdc // vcvttsd2si rbx, xmm4
LONG $0x6ef9e1c4; BYTE $0xe3 // vmovq xmm4, rbx
LONG $0xe46cc9c5 // vpunpcklqdq xmm4, xmm6, xmm4
LONG $0x385de3c4; WORD $0x01e5 // vinserti128 ymm4, ymm4, xmm5, 1
LONG $0xd8c2e5c5; BYTE $0x04 // vcmpneqpd ymm3, ymm3, ymm0
LONG $0xdc54e5c5 // vandpd ymm3, ymm3, ymm4
LONG $0x117dc1c4; WORD $0xf05c; BYTE $0x20 // vmovupd yword [r8 + 8*rsi + 32], ymm3
LONG $0x08c68348 // add rsi, 8
LONG $0x02c78348 // add rdi, 2
JNE LBB4_711
JMP LBB4_1303
LBB4_712:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xf0 // and edx, -16
WORD $0xf631 // xor esi, esi
LONG $0x197de2c4; WORD $0x0845 // vbroadcastsd ymm0, qword 8[rbp] /* [rip + .LCPI4_1] */
LONG $0xd05afdc5 // vcvtpd2ps xmm2, ymm0
LONG $0x573941c4; BYTE $0xc0 // vxorpd xmm8, xmm8, xmm8
QUAD $0x0000908d1879e2c4; BYTE $0x00 // vbroadcastss xmm1, dword 144[rbp] /* [rip + .LCPI4_3] */
LONG $0xd154e9c5 // vandpd xmm2, xmm2, xmm1
LBB4_713:
LONG $0x1c10fdc5; BYTE $0xf1 // vmovupd ymm3, yword [rcx + 8*rsi]
LONG $0x6410fdc5; WORD $0x20f1 // vmovupd ymm4, yword [rcx + 8*rsi + 32]
LONG $0x6c10fdc5; WORD $0x40f1 // vmovupd ymm5, yword [rcx + 8*rsi + 64]
LONG $0x7410fdc5; WORD $0x60f1 // vmovupd ymm6, yword [rcx + 8*rsi + 96]
LONG $0xfbc2bdc5; BYTE $0x00 // vcmpeqpd ymm7, ymm8, ymm3
LONG $0x197de3c4; WORD $0x01f8 // vextractf128 xmm0, ymm7, 1
LONG $0xc86b41c5 // vpackssdw xmm9, xmm7, xmm0
LONG $0xfcc2bdc5; BYTE $0x00 // vcmpeqpd ymm7, ymm8, ymm4
LONG $0x197de3c4; WORD $0x01f8 // vextractf128 xmm0, ymm7, 1
LONG $0xd06b41c5 // vpackssdw xmm10, xmm7, xmm0
LONG $0xfdc2bdc5; BYTE $0x00 // vcmpeqpd ymm7, ymm8, ymm5
LONG $0x197de3c4; WORD $0x01f8 // vextractf128 xmm0, ymm7, 1
LONG $0xd86b41c5 // vpackssdw xmm11, xmm7, xmm0
LONG $0xfec2bdc5; BYTE $0x00 // vcmpeqpd ymm7, ymm8, ymm6
LONG $0x197de3c4; WORD $0x01f8 // vextractf128 xmm0, ymm7, 1
LONG $0xc06bc1c5 // vpackssdw xmm0, xmm7, xmm0
LONG $0xdb5afdc5 // vcvtpd2ps xmm3, ymm3
LONG $0xdb55f1c5 // vandnpd xmm3, xmm1, xmm3
LONG $0xdb56e9c5 // vorpd xmm3, xmm2, xmm3
LONG $0xe45afdc5 // vcvtpd2ps xmm4, ymm4
LONG $0xdbdfb1c5 // vpandn xmm3, xmm9, xmm3
LONG $0xe455f1c5 // vandnpd xmm4, xmm1, xmm4
LONG $0xe456e9c5 // vorpd xmm4, xmm2, xmm4
LONG $0xe4dfa9c5 // vpandn xmm4, xmm10, xmm4
LONG $0xed5afdc5 // vcvtpd2ps xmm5, ymm5
LONG $0xed55f1c5 // vandnpd xmm5, xmm1, xmm5
LONG $0xed56e9c5 // vorpd xmm5, xmm2, xmm5
LONG $0xeddfa1c5 // vpandn xmm5, xmm11, xmm5
LONG $0xf65afdc5 // vcvtpd2ps xmm6, ymm6
LONG $0xf655f1c5 // vandnpd xmm6, xmm1, xmm6
LONG $0xf656e9c5 // vorpd xmm6, xmm2, xmm6
LONG $0xc6dff9c5 // vpandn xmm0, xmm0, xmm6
LONG $0x7f7ac1c4; WORD $0xb01c // vmovdqu oword [r8 + 4*rsi], xmm3
LONG $0x7f7ac1c4; WORD $0xb064; BYTE $0x10 // vmovdqu oword [r8 + 4*rsi + 16], xmm4
LONG $0x7f7ac1c4; WORD $0xb06c; BYTE $0x20 // vmovdqu oword [r8 + 4*rsi + 32], xmm5
LONG $0x7f7ac1c4; WORD $0xb044; BYTE $0x30 // vmovdqu oword [r8 + 4*rsi + 48], xmm0
LONG $0x10c68348 // add rsi, 16
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_713
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1351
LBB4_715:
LONG $0xc057f9c5 // vxorpd xmm0, xmm0, xmm0
QUAD $0x0000948d5879e2c4; BYTE $0x00 // vpbroadcastd xmm1, dword 148[rbp] /* [rip + .LCPI4_4] */
QUAD $0x000098955879e2c4; BYTE $0x00 // vpbroadcastd xmm2, dword 152[rbp] /* [rip + .LCPI4_5] */
JMP LBB4_717
LBB4_716:
LONG $0x7e79c1c4; WORD $0x901c // vmovd dword [r8 + 4*rdx], xmm3
LONG $0x01c28348 // add rdx, 1
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JE LBB4_1351
LBB4_717:
LONG $0x2410fbc5; BYTE $0xd1 // vmovsd xmm4, qword [rcx + 8*rdx]
LONG $0xc42ef9c5 // vucomisd xmm0, xmm4
LONG $0xdbefe1c5 // vpxor xmm3, xmm3, xmm3
JE LBB4_716
LONG $0xdc5adbc5 // vcvtsd2ss xmm3, xmm4, xmm4
LONG $0xd9dbe1c5 // vpand xmm3, xmm3, xmm1
LONG $0xdbebe9c5 // vpor xmm3, xmm2, xmm3
JMP LBB4_716
LBB4_728:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xf0 // and edx, -16
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0xc976f5c5 // vpcmpeqd ymm1, ymm1, ymm1
QUAD $0x000098955879e2c4; BYTE $0x00 // vpbroadcastd xmm2, dword 152[rbp] /* [rip + .LCPI4_5] */
LBB4_729:
LONG $0x297de2c4; WORD $0xf11c // vpcmpeqq ymm3, ymm0, yword [rcx + 8*rsi]
LONG $0xd9efe5c5 // vpxor ymm3, ymm3, ymm1
LONG $0x397de3c4; WORD $0x01dc // vextracti128 xmm4, ymm3, 1
LONG $0xdc6be1c5 // vpackssdw xmm3, xmm3, xmm4
LONG $0xdadbe1c5 // vpand xmm3, xmm3, xmm2
LONG $0x297de2c4; WORD $0xf164; BYTE $0x20 // vpcmpeqq ymm4, ymm0, yword [rcx + 8*rsi + 32]
LONG $0xe1efddc5 // vpxor ymm4, ymm4, ymm1
LONG $0x397de3c4; WORD $0x01e5 // vextracti128 xmm5, ymm4, 1
LONG $0xe56bd9c5 // vpackssdw xmm4, xmm4, xmm5
LONG $0xe2dbd9c5 // vpand xmm4, xmm4, xmm2
LONG $0x297de2c4; WORD $0xf16c; BYTE $0x40 // vpcmpeqq ymm5, ymm0, yword [rcx + 8*rsi + 64]
LONG $0xe9efd5c5 // vpxor ymm5, ymm5, ymm1
LONG $0x397de3c4; WORD $0x01ee // vextracti128 xmm6, ymm5, 1
LONG $0xee6bd1c5 // vpackssdw xmm5, xmm5, xmm6
LONG $0xeadbd1c5 // vpand xmm5, xmm5, xmm2
LONG $0x297de2c4; WORD $0xf174; BYTE $0x60 // vpcmpeqq ymm6, ymm0, yword [rcx + 8*rsi + 96]
LONG $0xf1efcdc5 // vpxor ymm6, ymm6, ymm1
LONG $0x397de3c4; WORD $0x01f7 // vextracti128 xmm7, ymm6, 1
LONG $0xf76bc9c5 // vpackssdw xmm6, xmm6, xmm7
LONG $0xf2dbc9c5 // vpand xmm6, xmm6, xmm2
LONG $0x7f7ac1c4; WORD $0xb01c // vmovdqu oword [r8 + 4*rsi], xmm3
LONG $0x7f7ac1c4; WORD $0xb064; BYTE $0x10 // vmovdqu oword [r8 + 4*rsi + 16], xmm4
LONG $0x7f7ac1c4; WORD $0xb06c; BYTE $0x20 // vmovdqu oword [r8 + 4*rsi + 32], xmm5
LONG $0x7f7ac1c4; WORD $0xb074; BYTE $0x30 // vmovdqu oword [r8 + 4*rsi + 48], xmm6
LONG $0x10c68348 // add rsi, 16
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_729
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1351
LBB4_731:
QUAD $0x00000098856ef9c5 // vmovd xmm0, dword 152[rbp] /* [rip + .LCPI4_5] */
JMP LBB4_733
LBB4_732:
LONG $0x7e79c1c4; WORD $0x900c // vmovd dword [r8 + 4*rdx], xmm1
LONG $0x01c28348 // add rdx, 1
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JE LBB4_1351
LBB4_733:
LONG $0xd13c8348; BYTE $0x00 // cmp qword [rcx + 8*rdx], 0
LONG $0xc86ff9c5 // vmovdqa xmm1, xmm0
JNE LBB4_732
LONG $0xc9eff1c5 // vpxor xmm1, xmm1, xmm1
JMP LBB4_732
LBB4_735:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xf0 // and edx, -16
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0xc976f1c5 // vpcmpeqd xmm1, xmm1, xmm1
LONG $0x597de2c4; WORD $0x2855 // vpbroadcastq ymm2, qword 40[rbp] /* [rip + .LCPI4_15] */
LBB4_736:
LONG $0x1c7efac5; BYTE $0x71 // vmovq xmm3, qword [rcx + 2*rsi]
LONG $0x647efac5; WORD $0x0871 // vmovq xmm4, qword [rcx + 2*rsi + 8]
LONG $0x6c7efac5; WORD $0x1071 // vmovq xmm5, qword [rcx + 2*rsi + 16]
LONG $0x747efac5; WORD $0x1871 // vmovq xmm6, qword [rcx + 2*rsi + 24]
LONG $0xd875e1c5 // vpcmpeqw xmm3, xmm3, xmm0
LONG $0xd9efe1c5 // vpxor xmm3, xmm3, xmm1
LONG $0x347de2c4; BYTE $0xdb // vpmovzxwq ymm3, xmm3
LONG $0xdadbe5c5 // vpand ymm3, ymm3, ymm2
LONG $0xe075d9c5 // vpcmpeqw xmm4, xmm4, xmm0
LONG $0xe1efd9c5 // vpxor xmm4, xmm4, xmm1
LONG $0x347de2c4; BYTE $0xe4 // vpmovzxwq ymm4, xmm4
LONG $0xe2dbddc5 // vpand ymm4, ymm4, ymm2
LONG $0xe875d1c5 // vpcmpeqw xmm5, xmm5, xmm0
LONG $0xe9efd1c5 // vpxor xmm5, xmm5, xmm1
LONG $0x347de2c4; BYTE $0xed // vpmovzxwq ymm5, xmm5
LONG $0xeadbd5c5 // vpand ymm5, ymm5, ymm2
LONG $0xf075c9c5 // vpcmpeqw xmm6, xmm6, xmm0
LONG $0xf1efc9c5 // vpxor xmm6, xmm6, xmm1
LONG $0x347de2c4; BYTE $0xf6 // vpmovzxwq ymm6, xmm6
LONG $0xf2dbcdc5 // vpand ymm6, ymm6, ymm2
LONG $0x7f7ec1c4; WORD $0xf01c // vmovdqu yword [r8 + 8*rsi], ymm3
LONG $0x7f7ec1c4; WORD $0xf064; BYTE $0x20 // vmovdqu yword [r8 + 8*rsi + 32], ymm4
LONG $0x7f7ec1c4; WORD $0xf06c; BYTE $0x40 // vmovdqu yword [r8 + 8*rsi + 64], ymm5
LONG $0x7f7ec1c4; WORD $0xf074; BYTE $0x60 // vmovdqu yword [r8 + 8*rsi + 96], ymm6
LONG $0x10c68348 // add rsi, 16
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_736
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1351
LBB4_738:
WORD $0xf631 // xor esi, esi
LONG $0x513c8366; BYTE $0x00 // cmp word [rcx + 2*rdx], 0
LONG $0xd6950f40 // setne sil
LONG $0xd0348949 // mov qword [r8 + 8*rdx], rsi
LONG $0x01c28348 // add rdx, 1
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JNE LBB4_738
JMP LBB4_1351
LBB4_739:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xe0 // and edx, -32
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0xc976f1c5 // vpcmpeqd xmm1, xmm1, xmm1
QUAD $0x00009c95587de2c4; BYTE $0x00 // vpbroadcastd ymm2, dword 156[rbp] /* [rip + .LCPI4_8] */
LBB4_740:
LONG $0x1c75f9c5; BYTE $0x71 // vpcmpeqw xmm3, xmm0, oword [rcx + 2*rsi]
LONG $0xd9efe1c5 // vpxor xmm3, xmm3, xmm1
LONG $0x337de2c4; BYTE $0xdb // vpmovzxwd ymm3, xmm3
LONG $0xdadbe5c5 // vpand ymm3, ymm3, ymm2
LONG $0xdb5bfcc5 // vcvtdq2ps ymm3, ymm3
LONG $0x6475f9c5; WORD $0x1071 // vpcmpeqw xmm4, xmm0, oword [rcx + 2*rsi + 16]
LONG $0xe1efd9c5 // vpxor xmm4, xmm4, xmm1
LONG $0x337de2c4; BYTE $0xe4 // vpmovzxwd ymm4, xmm4
LONG $0xe2dbddc5 // vpand ymm4, ymm4, ymm2
LONG $0xe45bfcc5 // vcvtdq2ps ymm4, ymm4
LONG $0x6c75f9c5; WORD $0x2071 // vpcmpeqw xmm5, xmm0, oword [rcx + 2*rsi + 32]
LONG $0xe9efd1c5 // vpxor xmm5, xmm5, xmm1
LONG $0x337de2c4; BYTE $0xed // vpmovzxwd ymm5, xmm5
LONG $0xeadbd5c5 // vpand ymm5, ymm5, ymm2
LONG $0xed5bfcc5 // vcvtdq2ps ymm5, ymm5
LONG $0x7475f9c5; WORD $0x3071 // vpcmpeqw xmm6, xmm0, oword [rcx + 2*rsi + 48]
LONG $0xf1efc9c5 // vpxor xmm6, xmm6, xmm1
LONG $0x337de2c4; BYTE $0xf6 // vpmovzxwd ymm6, xmm6
LONG $0xf2dbcdc5 // vpand ymm6, ymm6, ymm2
LONG $0xf65bfcc5 // vcvtdq2ps ymm6, ymm6
LONG $0x117cc1c4; WORD $0xb01c // vmovups yword [r8 + 4*rsi], ymm3
LONG $0x117cc1c4; WORD $0xb064; BYTE $0x20 // vmovups yword [r8 + 4*rsi + 32], ymm4
LONG $0x117cc1c4; WORD $0xb06c; BYTE $0x40 // vmovups yword [r8 + 4*rsi + 64], ymm5
LONG $0x117cc1c4; WORD $0xb074; BYTE $0x60 // vmovups yword [r8 + 4*rsi + 96], ymm6
LONG $0x20c68348 // add rsi, 32
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_740
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1351
LBB4_742:
QUAD $0x00000098856ef9c5 // vmovd xmm0, dword 152[rbp] /* [rip + .LCPI4_5] */
JMP LBB4_744
LBB4_743:
LONG $0x7e79c1c4; WORD $0x900c // vmovd dword [r8 + 4*rdx], xmm1
LONG $0x01c28348 // add rdx, 1
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JE LBB4_1351
LBB4_744:
LONG $0x513c8366; BYTE $0x00 // cmp word [rcx + 2*rdx], 0
LONG $0xc86ff9c5 // vmovdqa xmm1, xmm0
JNE LBB4_743
LONG $0xc9eff1c5 // vpxor xmm1, xmm1, xmm1
JMP LBB4_743
LBB4_746:
WORD $0x8944; BYTE $0xd2 // mov edx, r10d
WORD $0xe283; BYTE $0xf0 // and edx, -16
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0x763941c4; BYTE $0xc0 // vpcmpeqd xmm8, xmm8, xmm8
LONG $0x197de2c4; WORD $0x2855 // vbroadcastsd ymm2, qword 40[rbp] /* [rip + .LCPI4_15] */
LBB4_747:
LONG $0x1c7efac5; BYTE $0x71 // vmovq xmm3, qword [rcx + 2*rsi]
LONG $0x647efac5; WORD $0x0871 // vmovq xmm4, qword [rcx + 2*rsi + 8]
LONG $0x6c7efac5; WORD $0x1071 // vmovq xmm5, qword [rcx + 2*rsi + 16]
LONG $0x747efac5; WORD $0x1871 // vmovq xmm6, qword [rcx + 2*rsi + 24]
LONG $0xf865e1c5 // vpcmpgtw xmm7, xmm3, xmm0
LONG $0x247d62c4; BYTE $0xcf // vpmovsxwq ymm9, xmm7
LONG $0xc865d9c5 // vpcmpgtw xmm1, xmm4, xmm0
LONG $0x247d62c4; BYTE $0xd1 // vpmovsxwq ymm10, xmm1
LONG $0xf865d1c5 // vpcmpgtw xmm7, xmm5, xmm0
LONG $0x247de2c4; BYTE $0xff // vpmovsxwq ymm7, xmm7
LONG $0xc865c9c5 // vpcmpgtw xmm1, xmm6, xmm0
LONG $0x247de2c4; BYTE $0xc9 // vpmovsxwq ymm1, xmm1
LONG $0xd875e1c5 // vpcmpeqw xmm3, xmm3, xmm0
LONG $0xdbefb9c5 // vpxor xmm3, xmm8, xmm3
LONG $0x247de2c4; BYTE $0xdb // vpmovsxwq ymm3, xmm3
LONG $0xe075d9c5 // vpcmpeqw xmm4, xmm4, xmm0
LONG $0xe4efb9c5 // vpxor xmm4, xmm8, xmm4
LONG $0x247de2c4; BYTE $0xe4 // vpmovsxwq ymm4, xmm4
LONG $0xe875d1c5 // vpcmpeqw xmm5, xmm5, xmm0
LONG $0xedefb9c5 // vpxor xmm5, xmm8, xmm5
LONG $0x247de2c4; BYTE $0xed // vpmovsxwq ymm5, xmm5
LONG $0xf075c9c5 // vpcmpeqw xmm6, xmm6, xmm0
LONG $0xf6efb9c5 // vpxor xmm6, xmm8, xmm6
LONG $0x247de2c4; BYTE $0xf6 // vpmovsxwq ymm6, xmm6
LONG $0x4b65e3c4; WORD $0x90da // vblendvpd ymm3, ymm3, ymm2, ymm9
LONG $0x4b5de3c4; WORD $0xa0e2 // vblendvpd ymm4, ymm4, ymm2, ymm10
LONG $0x4b55e3c4; WORD $0x70ea // vblendvpd ymm5, ymm5, ymm2, ymm7
LONG $0x4b4de3c4; WORD $0x10ca // vblendvpd ymm1, ymm6, ymm2, ymm1
LONG $0x117dc1c4; WORD $0xf01c // vmovupd yword [r8 + 8*rsi], ymm3
LONG $0x117dc1c4; WORD $0xf064; BYTE $0x20 // vmovupd yword [r8 + 8*rsi + 32], ymm4
LONG $0x117dc1c4; WORD $0xf06c; BYTE $0x40 // vmovupd yword [r8 + 8*rsi + 64], ymm5
LONG $0x117dc1c4; WORD $0xf04c; BYTE $0x60 // vmovupd yword [r8 + 8*rsi + 96], ymm1
LONG $0x10c68348 // add rsi, 16
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_747
WORD $0x394c; BYTE $0xd2 // cmp rdx, r10
JE LBB4_1351
LBB4_749:
LONG $0x000001be; BYTE $0x00 // mov esi, 1
LBB4_750:
LONG $0x513cb70f // movzx edi, word [rcx + 2*rdx]
WORD $0xc031 // xor eax, eax
WORD $0x8566; BYTE $0xff // test di, di
WORD $0x950f; BYTE $0xd0 // setne al
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0x8566; BYTE $0xff // test di, di
LONG $0xc64f0f48 // cmovg rax, rsi
LONG $0xd0048949 // mov qword [r8 + 8*rdx], rax
LONG $0x01c28348 // add rdx, 1
WORD $0x3949; BYTE $0xd2 // cmp r10, rdx
JNE LBB4_750
JMP LBB4_1351
LBB4_751:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xe0 // and edx, -32
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0x763941c4; BYTE $0xc0 // vpcmpeqd xmm8, xmm8, xmm8
QUAD $0x00009895187de2c4; BYTE $0x00 // vbroadcastss ymm2, dword 152[rbp] /* [rip + .LCPI4_5] */
LBB4_752:
LONG $0x1c6ffac5; BYTE $0x71 // vmovdqu xmm3, oword [rcx + 2*rsi]
LONG $0x646ffac5; WORD $0x1071 // vmovdqu xmm4, oword [rcx + 2*rsi + 16]
LONG $0x6c6ffac5; WORD $0x2071 // vmovdqu xmm5, oword [rcx + 2*rsi + 32]
LONG $0x746ffac5; WORD $0x3071 // vmovdqu xmm6, oword [rcx + 2*rsi + 48]
LONG $0xf865e1c5 // vpcmpgtw xmm7, xmm3, xmm0
LONG $0x237d62c4; BYTE $0xcf // vpmovsxwd ymm9, xmm7
LONG $0xc865d9c5 // vpcmpgtw xmm1, xmm4, xmm0
LONG $0x237d62c4; BYTE $0xd1 // vpmovsxwd ymm10, xmm1
LONG $0xf865d1c5 // vpcmpgtw xmm7, xmm5, xmm0
LONG $0x237de2c4; BYTE $0xff // vpmovsxwd ymm7, xmm7
LONG $0xc865c9c5 // vpcmpgtw xmm1, xmm6, xmm0
LONG $0x237de2c4; BYTE $0xc9 // vpmovsxwd ymm1, xmm1
LONG $0xd875e1c5 // vpcmpeqw xmm3, xmm3, xmm0
LONG $0xdbefb9c5 // vpxor xmm3, xmm8, xmm3
LONG $0x237de2c4; BYTE $0xdb // vpmovsxwd ymm3, xmm3
LONG $0xdb5bfcc5 // vcvtdq2ps ymm3, ymm3
LONG $0xe075d9c5 // vpcmpeqw xmm4, xmm4, xmm0
LONG $0xe4efb9c5 // vpxor xmm4, xmm8, xmm4
LONG $0x237de2c4; BYTE $0xe4 // vpmovsxwd ymm4, xmm4
LONG $0xe45bfcc5 // vcvtdq2ps ymm4, ymm4
LONG $0xe875d1c5 // vpcmpeqw xmm5, xmm5, xmm0
LONG $0xedefb9c5 // vpxor xmm5, xmm8, xmm5
LONG $0x237de2c4; BYTE $0xed // vpmovsxwd ymm5, xmm5
LONG $0xed5bfcc5 // vcvtdq2ps ymm5, ymm5
LONG $0xf075c9c5 // vpcmpeqw xmm6, xmm6, xmm0
LONG $0xf6efb9c5 // vpxor xmm6, xmm8, xmm6
LONG $0x237de2c4; BYTE $0xf6 // vpmovsxwd ymm6, xmm6
LONG $0xf65bfcc5 // vcvtdq2ps ymm6, ymm6
LONG $0x4a65e3c4; WORD $0x90da // vblendvps ymm3, ymm3, ymm2, ymm9
LONG $0x4a5de3c4; WORD $0xa0e2 // vblendvps ymm4, ymm4, ymm2, ymm10
LONG $0x4a55e3c4; WORD $0x70ea // vblendvps ymm5, ymm5, ymm2, ymm7
LONG $0x4a4de3c4; WORD $0x10ca // vblendvps ymm1, ymm6, ymm2, ymm1
LONG $0x117cc1c4; WORD $0xb01c // vmovups yword [r8 + 4*rsi], ymm3
LONG $0x117cc1c4; WORD $0xb064; BYTE $0x20 // vmovups yword [r8 + 4*rsi + 32], ymm4
LONG $0x117cc1c4; WORD $0xb06c; BYTE $0x40 // vmovups yword [r8 + 4*rsi + 64], ymm5
LONG $0x117cc1c4; WORD $0xb04c; BYTE $0x60 // vmovups yword [r8 + 4*rsi + 96], ymm1
LONG $0x20c68348 // add rsi, 32
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_752
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1351
LBB4_754:
QUAD $0x000000a88510fac5 // vmovss xmm0, dword 168[rbp] /* [rip + .LCPI4_14] */
QUAD $0x000000988d10fac5 // vmovss xmm1, dword 152[rbp] /* [rip + .LCPI4_5] */
JMP LBB4_756
LBB4_755:
LONG $0x117ac1c4; WORD $0x901c // vmovss dword [r8 + 4*rdx], xmm3
LONG $0x01c28348 // add rdx, 1
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JE LBB4_1351
LBB4_756:
LONG $0x513c8366; BYTE $0x00 // cmp word [rcx + 2*rdx], 0
LONG $0xd028f8c5 // vmovaps xmm2, xmm0
JNE LBB4_758
LONG $0xd257e8c5 // vxorps xmm2, xmm2, xmm2
LBB4_758:
LONG $0xd928f8c5 // vmovaps xmm3, xmm1
JG LBB4_755
LONG $0xda28f8c5 // vmovaps xmm3, xmm2
JMP LBB4_755
LBB4_763:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xf0 // and edx, -16
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0x763541c4; BYTE $0xc9 // vpcmpeqd ymm9, ymm9, ymm9
QUAD $0x000098951879e2c4; BYTE $0x00 // vbroadcastss xmm2, dword 152[rbp] /* [rip + .LCPI4_5] */
LBB4_764:
LONG $0x346ffec5; BYTE $0xf1 // vmovdqu ymm6, yword [rcx + 8*rsi]
LONG $0x7c6ffec5; WORD $0x20f1 // vmovdqu ymm7, yword [rcx + 8*rsi + 32]
LONG $0x446f7ec5; WORD $0x40f1 // vmovdqu ymm8, yword [rcx + 8*rsi + 64]
LONG $0x646ffec5; WORD $0x60f1 // vmovdqu ymm4, yword [rcx + 8*rsi + 96]
LONG $0x374de2c4; BYTE $0xd8 // vpcmpgtq ymm3, ymm6, ymm0
LONG $0x397de3c4; WORD $0x01dd // vextracti128 xmm5, ymm3, 1
LONG $0xd56b61c5 // vpackssdw xmm10, xmm3, xmm5
LONG $0x3745e2c4; BYTE $0xe8 // vpcmpgtq ymm5, ymm7, ymm0
LONG $0x397de3c4; WORD $0x01e9 // vextracti128 xmm1, ymm5, 1
LONG $0xd96b51c5 // vpackssdw xmm11, xmm5, xmm1
LONG $0x373de2c4; BYTE $0xc8 // vpcmpgtq ymm1, ymm8, ymm0
LONG $0x397de3c4; WORD $0x01cb // vextracti128 xmm3, ymm1, 1
LONG $0xe36b71c5 // vpackssdw xmm12, xmm1, xmm3
LONG $0x375de2c4; BYTE $0xd8 // vpcmpgtq ymm3, ymm4, ymm0
LONG $0x397de3c4; WORD $0x01dd // vextracti128 xmm5, ymm3, 1
LONG $0xdd6be1c5 // vpackssdw xmm3, xmm3, xmm5
LONG $0x294de2c4; BYTE $0xe8 // vpcmpeqq ymm5, ymm6, ymm0
LONG $0xedefb5c5 // vpxor ymm5, ymm9, ymm5
LONG $0x397de3c4; WORD $0x01ee // vextracti128 xmm6, ymm5, 1
LONG $0xee6bd1c5 // vpackssdw xmm5, xmm5, xmm6
LONG $0xed5bf8c5 // vcvtdq2ps xmm5, xmm5
LONG $0x2945e2c4; BYTE $0xf0 // vpcmpeqq ymm6, ymm7, ymm0
LONG $0xf6efb5c5 // vpxor ymm6, ymm9, ymm6
LONG $0x397de3c4; WORD $0x01f7 // vextracti128 xmm7, ymm6, 1
LONG $0xf76bc9c5 // vpackssdw xmm6, xmm6, xmm7
LONG $0xf65bf8c5 // vcvtdq2ps xmm6, xmm6
LONG $0x293de2c4; BYTE $0xf8 // vpcmpeqq ymm7, ymm8, ymm0
LONG $0xffefb5c5 // vpxor ymm7, ymm9, ymm7
LONG $0x397de3c4; WORD $0x01f9 // vextracti128 xmm1, ymm7, 1
LONG $0xc96bc1c5 // vpackssdw xmm1, xmm7, xmm1
LONG $0xc95bf8c5 // vcvtdq2ps xmm1, xmm1
LONG $0x295de2c4; BYTE $0xe0 // vpcmpeqq ymm4, ymm4, ymm0
LONG $0xe4efb5c5 // vpxor ymm4, ymm9, ymm4
LONG $0x397de3c4; WORD $0x01e7 // vextracti128 xmm7, ymm4, 1
LONG $0xe76bd9c5 // vpackssdw xmm4, xmm4, xmm7
LONG $0xe45bf8c5 // vcvtdq2ps xmm4, xmm4
LONG $0x4a51e3c4; WORD $0xa0ea // vblendvps xmm5, xmm5, xmm2, xmm10
LONG $0x4a49e3c4; WORD $0xb0f2 // vblendvps xmm6, xmm6, xmm2, xmm11
LONG $0x4a71e3c4; WORD $0xc0ca // vblendvps xmm1, xmm1, xmm2, xmm12
LONG $0x4a59e3c4; WORD $0x30da // vblendvps xmm3, xmm4, xmm2, xmm3
LONG $0x1178c1c4; WORD $0xb02c // vmovups oword [r8 + 4*rsi], xmm5
LONG $0x1178c1c4; WORD $0xb074; BYTE $0x10 // vmovups oword [r8 + 4*rsi + 16], xmm6
LONG $0x1178c1c4; WORD $0xb04c; BYTE $0x20 // vmovups oword [r8 + 4*rsi + 32], xmm1
LONG $0x1178c1c4; WORD $0xb05c; BYTE $0x30 // vmovups oword [r8 + 4*rsi + 48], xmm3
LONG $0x10c68348 // add rsi, 16
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_764
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1351
LBB4_766:
QUAD $0x000000a88510fac5 // vmovss xmm0, dword 168[rbp] /* [rip + .LCPI4_14] */
QUAD $0x000000988d10fac5 // vmovss xmm1, dword 152[rbp] /* [rip + .LCPI4_5] */
JMP LBB4_768
LBB4_767:
LONG $0x117ac1c4; WORD $0x901c // vmovss dword [r8 + 4*rdx], xmm3
LONG $0x01c28348 // add rdx, 1
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JE LBB4_1351
LBB4_768:
LONG $0xd13c8348; BYTE $0x00 // cmp qword [rcx + 8*rdx], 0
LONG $0xd028f8c5 // vmovaps xmm2, xmm0
JNE LBB4_770
LONG $0xd257e8c5 // vxorps xmm2, xmm2, xmm2
LBB4_770:
LONG $0xd928f8c5 // vmovaps xmm3, xmm1
JG LBB4_767
LONG $0xda28f8c5 // vmovaps xmm3, xmm2
JMP LBB4_767
LBB4_772:
WORD $0x8944; BYTE $0xd2 // mov edx, r10d
WORD $0xe283; BYTE $0xfc // and edx, -4
LONG $0xfc728d48 // lea rsi, [rdx - 4]
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
LONG $0x02e9c149 // shr r9, 2
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xf6 // test rsi, rsi
JE LBB4_1308
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
LONG $0xc057f8c5 // vxorps xmm0, xmm0, xmm0
QUAD $0x00009c8d5879e2c4; BYTE $0x00 // vpbroadcastd xmm1, dword 156[rbp] /* [rip + .LCPI4_8] */
LBB4_774:
LONG $0x1410f8c5; BYTE $0xb1 // vmovups xmm2, oword [rcx + 4*rsi]
LONG $0xd8c2e8c5; BYTE $0x00 // vcmpeqps xmm3, xmm2, xmm0
LONG $0x257de2c4; BYTE $0xdb // vpmovsxdq ymm3, xmm3
LONG $0xe272e9c5; BYTE $0x1f // vpsrad xmm2, xmm2, 31
LONG $0xd1ebe9c5 // vpor xmm2, xmm2, xmm1
LONG $0xd25bf8c5 // vcvtdq2ps xmm2, xmm2
LONG $0x0479e3c4; WORD $0xe7e2 // vpermilps xmm4, xmm2, 231
LONG $0x2cfae1c4; BYTE $0xc4 // vcvttss2si rax, xmm4
LONG $0x6ef9e1c4; BYTE $0xe0 // vmovq xmm4, rax
LONG $0x0579e3c4; WORD $0x01ea // vpermilpd xmm5, xmm2, 1
LONG $0x2cfae1c4; BYTE $0xc5 // vcvttss2si rax, xmm5
LONG $0x6ef9e1c4; BYTE $0xe8 // vmovq xmm5, rax
LONG $0xe46cd1c5 // vpunpcklqdq xmm4, xmm5, xmm4
LONG $0x2cfae1c4; BYTE $0xc2 // vcvttss2si rax, xmm2
LONG $0x6ef9e1c4; BYTE $0xe8 // vmovq xmm5, rax
LONG $0xd216fac5 // vmovshdup xmm2, xmm2
LONG $0x2cfae1c4; BYTE $0xc2 // vcvttss2si rax, xmm2
LONG $0x6ef9e1c4; BYTE $0xd0 // vmovq xmm2, rax
LONG $0xd26cd1c5 // vpunpcklqdq xmm2, xmm5, xmm2
LONG $0x386de3c4; WORD $0x01d4 // vinserti128 ymm2, ymm2, xmm4, 1
LONG $0xd2dfe5c5 // vpandn ymm2, ymm3, ymm2
LONG $0x7f7ec1c4; WORD $0xf014 // vmovdqu yword [r8 + 8*rsi], ymm2
LONG $0x546ffac5; WORD $0x10b1 // vmovdqu xmm2, oword [rcx + 4*rsi + 16]
LONG $0xe272e1c5; BYTE $0x1f // vpsrad xmm3, xmm2, 31
LONG $0xd9ebe1c5 // vpor xmm3, xmm3, xmm1
LONG $0xdb5bf8c5 // vcvtdq2ps xmm3, xmm3
LONG $0x0479e3c4; WORD $0xe7e3 // vpermilps xmm4, xmm3, 231
LONG $0x2cfae1c4; BYTE $0xc4 // vcvttss2si rax, xmm4
LONG $0x0579e3c4; WORD $0x01e3 // vpermilpd xmm4, xmm3, 1
LONG $0x2cfa61c4; BYTE $0xdc // vcvttss2si r11, xmm4
LONG $0x2cfae1c4; BYTE $0xdb // vcvttss2si rbx, xmm3
LONG $0x6ef9e1c4; BYTE $0xe0 // vmovq xmm4, rax
LONG $0xdb16fac5 // vmovshdup xmm3, xmm3
LONG $0x2cfae1c4; BYTE $0xc3 // vcvttss2si rax, xmm3
LONG $0x6ef9c1c4; BYTE $0xdb // vmovq xmm3, r11
LONG $0x6ef9e1c4; BYTE $0xeb // vmovq xmm5, rbx
LONG $0xd0c2e8c5; BYTE $0x00 // vcmpeqps xmm2, xmm2, xmm0
LONG $0x257de2c4; BYTE $0xd2 // vpmovsxdq ymm2, xmm2
LONG $0xdc6ce1c5 // vpunpcklqdq xmm3, xmm3, xmm4
LONG $0x6ef9e1c4; BYTE $0xe0 // vmovq xmm4, rax
LONG $0xe46cd1c5 // vpunpcklqdq xmm4, xmm5, xmm4
LONG $0x385de3c4; WORD $0x01db // vinserti128 ymm3, ymm4, xmm3, 1
LONG $0xd3dfedc5 // vpandn ymm2, ymm2, ymm3
LONG $0x7f7ec1c4; WORD $0xf054; BYTE $0x20 // vmovdqu yword [r8 + 8*rsi + 32], ymm2
LONG $0x08c68348 // add rsi, 8
LONG $0x02c78348 // add rdi, 2
JNE LBB4_774
JMP LBB4_1309
LBB4_784:
WORD $0x8944; BYTE $0xd2 // mov edx, r10d
WORD $0xe283; BYTE $0xf0 // and edx, -16
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0x763941c4; BYTE $0xc0 // vpcmpeqd xmm8, xmm8, xmm8
LONG $0x197de2c4; WORD $0x2855 // vbroadcastsd ymm2, qword 40[rbp] /* [rip + .LCPI4_15] */
LBB4_785:
LONG $0x1c6ffac5; BYTE $0xb1 // vmovdqu xmm3, oword [rcx + 4*rsi]
LONG $0x646ffac5; WORD $0x10b1 // vmovdqu xmm4, oword [rcx + 4*rsi + 16]
LONG $0x6c6ffac5; WORD $0x20b1 // vmovdqu xmm5, oword [rcx + 4*rsi + 32]
LONG $0x746ffac5; WORD $0x30b1 // vmovdqu xmm6, oword [rcx + 4*rsi + 48]
LONG $0xf866e1c5 // vpcmpgtd xmm7, xmm3, xmm0
LONG $0x257d62c4; BYTE $0xcf // vpmovsxdq ymm9, xmm7
LONG $0xc866d9c5 // vpcmpgtd xmm1, xmm4, xmm0
LONG $0x257d62c4; BYTE $0xd1 // vpmovsxdq ymm10, xmm1
LONG $0xf866d1c5 // vpcmpgtd xmm7, xmm5, xmm0
LONG $0x257de2c4; BYTE $0xff // vpmovsxdq ymm7, xmm7
LONG $0xc866c9c5 // vpcmpgtd xmm1, xmm6, xmm0
LONG $0x257de2c4; BYTE $0xc9 // vpmovsxdq ymm1, xmm1
LONG $0xd876e1c5 // vpcmpeqd xmm3, xmm3, xmm0
LONG $0xdbefb9c5 // vpxor xmm3, xmm8, xmm3
LONG $0x257de2c4; BYTE $0xdb // vpmovsxdq ymm3, xmm3
LONG $0xe076d9c5 // vpcmpeqd xmm4, xmm4, xmm0
LONG $0xe4efb9c5 // vpxor xmm4, xmm8, xmm4
LONG $0x257de2c4; BYTE $0xe4 // vpmovsxdq ymm4, xmm4
LONG $0xe876d1c5 // vpcmpeqd xmm5, xmm5, xmm0
LONG $0xedefb9c5 // vpxor xmm5, xmm8, xmm5
LONG $0x257de2c4; BYTE $0xed // vpmovsxdq ymm5, xmm5
LONG $0xf076c9c5 // vpcmpeqd xmm6, xmm6, xmm0
LONG $0xf6efb9c5 // vpxor xmm6, xmm8, xmm6
LONG $0x257de2c4; BYTE $0xf6 // vpmovsxdq ymm6, xmm6
LONG $0x4b65e3c4; WORD $0x90da // vblendvpd ymm3, ymm3, ymm2, ymm9
LONG $0x4b5de3c4; WORD $0xa0e2 // vblendvpd ymm4, ymm4, ymm2, ymm10
LONG $0x4b55e3c4; WORD $0x70ea // vblendvpd ymm5, ymm5, ymm2, ymm7
LONG $0x4b4de3c4; WORD $0x10ca // vblendvpd ymm1, ymm6, ymm2, ymm1
LONG $0x117dc1c4; WORD $0xf01c // vmovupd yword [r8 + 8*rsi], ymm3
LONG $0x117dc1c4; WORD $0xf064; BYTE $0x20 // vmovupd yword [r8 + 8*rsi + 32], ymm4
LONG $0x117dc1c4; WORD $0xf06c; BYTE $0x40 // vmovupd yword [r8 + 8*rsi + 64], ymm5
LONG $0x117dc1c4; WORD $0xf04c; BYTE $0x60 // vmovupd yword [r8 + 8*rsi + 96], ymm1
LONG $0x10c68348 // add rsi, 16
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_785
WORD $0x394c; BYTE $0xd2 // cmp rdx, r10
JE LBB4_1351
LBB4_787:
LONG $0x000001be; BYTE $0x00 // mov esi, 1
LBB4_788:
WORD $0x3c8b; BYTE $0x91 // mov edi, dword [rcx + 4*rdx]
WORD $0xc031 // xor eax, eax
WORD $0xff85 // test edi, edi
WORD $0x950f; BYTE $0xd0 // setne al
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff85 // test edi, edi
LONG $0xc64f0f48 // cmovg rax, rsi
LONG $0xd0048949 // mov qword [r8 + 8*rdx], rax
LONG $0x01c28348 // add rdx, 1
WORD $0x3949; BYTE $0xd2 // cmp r10, rdx
JNE LBB4_788
JMP LBB4_1351
LBB4_789:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xe0 // and edx, -32
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0xc976f5c5 // vpcmpeqd ymm1, ymm1, ymm1
QUAD $0x00009895187de2c4; BYTE $0x00 // vbroadcastss ymm2, dword 152[rbp] /* [rip + .LCPI4_5] */
LBB4_790:
LONG $0x1c6ffec5; BYTE $0xb1 // vmovdqu ymm3, yword [rcx + 4*rsi]
LONG $0x646ffec5; WORD $0x20b1 // vmovdqu ymm4, yword [rcx + 4*rsi + 32]
LONG $0x6c6ffec5; WORD $0x40b1 // vmovdqu ymm5, yword [rcx + 4*rsi + 64]
LONG $0x746ffec5; WORD $0x60b1 // vmovdqu ymm6, yword [rcx + 4*rsi + 96]
LONG $0xf866e5c5 // vpcmpgtd ymm7, ymm3, ymm0
LONG $0xc0665dc5 // vpcmpgtd ymm8, ymm4, ymm0
LONG $0xc86655c5 // vpcmpgtd ymm9, ymm5, ymm0
LONG $0xd0664dc5 // vpcmpgtd ymm10, ymm6, ymm0
LONG $0xd876e5c5 // vpcmpeqd ymm3, ymm3, ymm0
LONG $0xd9efe5c5 // vpxor ymm3, ymm3, ymm1
LONG $0xdb5bfcc5 // vcvtdq2ps ymm3, ymm3
LONG $0xe076ddc5 // vpcmpeqd ymm4, ymm4, ymm0
LONG $0xe1efddc5 // vpxor ymm4, ymm4, ymm1
LONG $0xe45bfcc5 // vcvtdq2ps ymm4, ymm4
LONG $0xe876d5c5 // vpcmpeqd ymm5, ymm5, ymm0
LONG $0xe9efd5c5 // vpxor ymm5, ymm5, ymm1
LONG $0xed5bfcc5 // vcvtdq2ps ymm5, ymm5
LONG $0xf076cdc5 // vpcmpeqd ymm6, ymm6, ymm0
LONG $0xf1efcdc5 // vpxor ymm6, ymm6, ymm1
LONG $0xf65bfcc5 // vcvtdq2ps ymm6, ymm6
LONG $0x4a65e3c4; WORD $0x70da // vblendvps ymm3, ymm3, ymm2, ymm7
LONG $0x4a5de3c4; WORD $0x80e2 // vblendvps ymm4, ymm4, ymm2, ymm8
LONG $0x4a55e3c4; WORD $0x90ea // vblendvps ymm5, ymm5, ymm2, ymm9
LONG $0x4a4de3c4; WORD $0xa0f2 // vblendvps ymm6, ymm6, ymm2, ymm10
LONG $0x117cc1c4; WORD $0xb01c // vmovups yword [r8 + 4*rsi], ymm3
LONG $0x117cc1c4; WORD $0xb064; BYTE $0x20 // vmovups yword [r8 + 4*rsi + 32], ymm4
LONG $0x117cc1c4; WORD $0xb06c; BYTE $0x40 // vmovups yword [r8 + 4*rsi + 64], ymm5
LONG $0x117cc1c4; WORD $0xb074; BYTE $0x60 // vmovups yword [r8 + 4*rsi + 96], ymm6
LONG $0x20c68348 // add rsi, 32
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_790
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1351
LBB4_792:
QUAD $0x000000a88510fac5 // vmovss xmm0, dword 168[rbp] /* [rip + .LCPI4_14] */
QUAD $0x000000988d10fac5 // vmovss xmm1, dword 152[rbp] /* [rip + .LCPI4_5] */
JMP LBB4_794
LBB4_793:
LONG $0x117ac1c4; WORD $0x901c // vmovss dword [r8 + 4*rdx], xmm3
LONG $0x01c28348 // add rdx, 1
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JE LBB4_1351
LBB4_794:
LONG $0x00913c83 // cmp dword [rcx + 4*rdx], 0
LONG $0xd028f8c5 // vmovaps xmm2, xmm0
JNE LBB4_796
LONG $0xd257e8c5 // vxorps xmm2, xmm2, xmm2
LBB4_796:
LONG $0xd928f8c5 // vmovaps xmm3, xmm1
JG LBB4_793
LONG $0xda28f8c5 // vmovaps xmm3, xmm2
JMP LBB4_793
LBB4_831:
WORD $0xc689 // mov esi, eax
WORD $0xe683; BYTE $0xf0 // and esi, -16
WORD $0xff31 // xor edi, edi
LONG $0x573941c4; BYTE $0xc0 // vxorpd xmm8, xmm8, xmm8
LONG $0x197de2c4; WORD $0x004d // vbroadcastsd ymm1, qword 0[rbp] /* [rip + .LCPI4_0] */
LONG $0x197de2c4; WORD $0x0855 // vbroadcastsd ymm2, qword 8[rbp] /* [rip + .LCPI4_1] */
LBB4_832:
LONG $0x1c10fdc5; BYTE $0xf9 // vmovupd ymm3, yword [rcx + 8*rdi]
LONG $0x6410fdc5; WORD $0x20f9 // vmovupd ymm4, yword [rcx + 8*rdi + 32]
LONG $0x6c10fdc5; WORD $0x40f9 // vmovupd ymm5, yword [rcx + 8*rdi + 64]
LONG $0x7410fdc5; WORD $0x60f9 // vmovupd ymm6, yword [rcx + 8*rdi + 96]
LONG $0xfbc2bdc5; BYTE $0x00 // vcmpeqpd ymm7, ymm8, ymm3
LONG $0x197de3c4; WORD $0x01f8 // vextractf128 xmm0, ymm7, 1
LONG $0xc86b41c5 // vpackssdw xmm9, xmm7, xmm0
LONG $0xfcc2bdc5; BYTE $0x00 // vcmpeqpd ymm7, ymm8, ymm4
LONG $0x197de3c4; WORD $0x01f8 // vextractf128 xmm0, ymm7, 1
LONG $0xd06b41c5 // vpackssdw xmm10, xmm7, xmm0
LONG $0xfdc2bdc5; BYTE $0x00 // vcmpeqpd ymm7, ymm8, ymm5
LONG $0x197de3c4; WORD $0x01f8 // vextractf128 xmm0, ymm7, 1
LONG $0xd86b41c5 // vpackssdw xmm11, xmm7, xmm0
LONG $0xfec2bdc5; BYTE $0x00 // vcmpeqpd ymm7, ymm8, ymm6
LONG $0x197de3c4; WORD $0x01f8 // vextractf128 xmm0, ymm7, 1
LONG $0xc06bc1c5 // vpackssdw xmm0, xmm7, xmm0
LONG $0xd954e5c5 // vandpd ymm3, ymm3, ymm1
LONG $0xdb56edc5 // vorpd ymm3, ymm2, ymm3
LONG $0xe154ddc5 // vandpd ymm4, ymm4, ymm1
LONG $0xe456edc5 // vorpd ymm4, ymm2, ymm4
LONG $0xe954d5c5 // vandpd ymm5, ymm5, ymm1
LONG $0xed56edc5 // vorpd ymm5, ymm2, ymm5
LONG $0xf154cdc5 // vandpd ymm6, ymm6, ymm1
LONG $0xf656edc5 // vorpd ymm6, ymm2, ymm6
LONG $0xdbe6fdc5 // vcvttpd2dq xmm3, ymm3
LONG $0xdbdfb1c5 // vpandn xmm3, xmm9, xmm3
LONG $0xe4e6fdc5 // vcvttpd2dq xmm4, ymm4
LONG $0xe4dfa9c5 // vpandn xmm4, xmm10, xmm4
LONG $0xede6fdc5 // vcvttpd2dq xmm5, ymm5
LONG $0xf6e6fdc5 // vcvttpd2dq xmm6, ymm6
LONG $0xeddfa1c5 // vpandn xmm5, xmm11, xmm5
LONG $0xc6dff9c5 // vpandn xmm0, xmm0, xmm6
LONG $0x7f7ac1c4; WORD $0xb81c // vmovdqu oword [r8 + 4*rdi], xmm3
LONG $0x7f7ac1c4; WORD $0xb864; BYTE $0x10 // vmovdqu oword [r8 + 4*rdi + 16], xmm4
LONG $0x7f7ac1c4; WORD $0xb86c; BYTE $0x20 // vmovdqu oword [r8 + 4*rdi + 32], xmm5
LONG $0x7f7ac1c4; WORD $0xb844; BYTE $0x30 // vmovdqu oword [r8 + 4*rdi + 48], xmm0
LONG $0x10c78348 // add rdi, 16
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB4_832
WORD $0x3948; BYTE $0xc6 // cmp rsi, rax
JE LBB4_1351
LBB4_834:
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0x4d28f9c5; BYTE $0x30 // vmovapd xmm1, oword 48[rbp] /* [rip + .LCPI4_2] */
LONG $0x5512fbc5; BYTE $0x08 // vmovddup xmm2, qword 8[rbp] /* [rip + .LCPI4_1] */
LBB4_835:
LONG $0x1c10fbc5; BYTE $0xf1 // vmovsd xmm3, qword [rcx + 8*rsi]
LONG $0xc32ef9c5 // vucomisd xmm0, xmm3
LONG $0xd954e1c5 // vandpd xmm3, xmm3, xmm1
LONG $0xdb56e9c5 // vorpd xmm3, xmm2, xmm3
LONG $0xfb2cfbc5 // vcvttsd2si edi, xmm3
WORD $0x440f; BYTE $0xfa // cmove edi, edx
LONG $0xb03c8941 // mov dword [r8 + 4*rsi], edi
LONG $0x01c68348 // add rsi, 1
WORD $0x3948; BYTE $0xf0 // cmp rax, rsi
JNE LBB4_835
JMP LBB4_1351
LBB4_839:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xf0 // and edx, -16
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0xc976f5c5 // vpcmpeqd ymm1, ymm1, ymm1
QUAD $0x00009c955879e2c4; BYTE $0x00 // vpbroadcastd xmm2, dword 156[rbp] /* [rip + .LCPI4_8] */
LBB4_840:
LONG $0x297de2c4; WORD $0xf11c // vpcmpeqq ymm3, ymm0, yword [rcx + 8*rsi]
LONG $0xd9efe5c5 // vpxor ymm3, ymm3, ymm1
LONG $0x397de3c4; WORD $0x01dc // vextracti128 xmm4, ymm3, 1
LONG $0xdc6be1c5 // vpackssdw xmm3, xmm3, xmm4
LONG $0xdadbe1c5 // vpand xmm3, xmm3, xmm2
LONG $0x297de2c4; WORD $0xf164; BYTE $0x20 // vpcmpeqq ymm4, ymm0, yword [rcx + 8*rsi + 32]
LONG $0xe1efddc5 // vpxor ymm4, ymm4, ymm1
LONG $0x397de3c4; WORD $0x01e5 // vextracti128 xmm5, ymm4, 1
LONG $0xe56bd9c5 // vpackssdw xmm4, xmm4, xmm5
LONG $0xe2dbd9c5 // vpand xmm4, xmm4, xmm2
LONG $0x297de2c4; WORD $0xf16c; BYTE $0x40 // vpcmpeqq ymm5, ymm0, yword [rcx + 8*rsi + 64]
LONG $0xe9efd5c5 // vpxor ymm5, ymm5, ymm1
LONG $0x397de3c4; WORD $0x01ee // vextracti128 xmm6, ymm5, 1
LONG $0xee6bd1c5 // vpackssdw xmm5, xmm5, xmm6
LONG $0xeadbd1c5 // vpand xmm5, xmm5, xmm2
LONG $0x297de2c4; WORD $0xf174; BYTE $0x60 // vpcmpeqq ymm6, ymm0, yword [rcx + 8*rsi + 96]
LONG $0xf1efcdc5 // vpxor ymm6, ymm6, ymm1
LONG $0x397de3c4; WORD $0x01f7 // vextracti128 xmm7, ymm6, 1
LONG $0xf76bc9c5 // vpackssdw xmm6, xmm6, xmm7
LONG $0xf2dbc9c5 // vpand xmm6, xmm6, xmm2
LONG $0x7f7ac1c4; WORD $0xb01c // vmovdqu oword [r8 + 4*rsi], xmm3
LONG $0x7f7ac1c4; WORD $0xb064; BYTE $0x10 // vmovdqu oword [r8 + 4*rsi + 16], xmm4
LONG $0x7f7ac1c4; WORD $0xb06c; BYTE $0x20 // vmovdqu oword [r8 + 4*rsi + 32], xmm5
LONG $0x7f7ac1c4; WORD $0xb074; BYTE $0x30 // vmovdqu oword [r8 + 4*rsi + 48], xmm6
LONG $0x10c68348 // add rsi, 16
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_840
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1351
LBB4_842:
WORD $0xf631 // xor esi, esi
LONG $0xd13c8348; BYTE $0x00 // cmp qword [rcx + 8*rdx], 0
LONG $0xd6950f40 // setne sil
LONG $0x90348941 // mov dword [r8 + 4*rdx], esi
LONG $0x01c28348 // add rdx, 1
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JNE LBB4_842
JMP LBB4_1351
LBB4_843:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xe0 // and edx, -32
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0xc976f1c5 // vpcmpeqd xmm1, xmm1, xmm1
QUAD $0x00009c95587de2c4; BYTE $0x00 // vpbroadcastd ymm2, dword 156[rbp] /* [rip + .LCPI4_8] */
LBB4_844:
LONG $0x1c75f9c5; BYTE $0x71 // vpcmpeqw xmm3, xmm0, oword [rcx + 2*rsi]
LONG $0xd9efe1c5 // vpxor xmm3, xmm3, xmm1
LONG $0x337de2c4; BYTE $0xdb // vpmovzxwd ymm3, xmm3
LONG $0x6475f9c5; WORD $0x1071 // vpcmpeqw xmm4, xmm0, oword [rcx + 2*rsi + 16]
LONG $0xdadbe5c5 // vpand ymm3, ymm3, ymm2
LONG $0xe1efd9c5 // vpxor xmm4, xmm4, xmm1
LONG $0x337de2c4; BYTE $0xe4 // vpmovzxwd ymm4, xmm4
LONG $0xe2dbddc5 // vpand ymm4, ymm4, ymm2
LONG $0x6c75f9c5; WORD $0x2071 // vpcmpeqw xmm5, xmm0, oword [rcx + 2*rsi + 32]
LONG $0xe9efd1c5 // vpxor xmm5, xmm5, xmm1
LONG $0x337de2c4; BYTE $0xed // vpmovzxwd ymm5, xmm5
LONG $0xeadbd5c5 // vpand ymm5, ymm5, ymm2
LONG $0x7475f9c5; WORD $0x3071 // vpcmpeqw xmm6, xmm0, oword [rcx + 2*rsi + 48]
LONG $0xf1efc9c5 // vpxor xmm6, xmm6, xmm1
LONG $0x337de2c4; BYTE $0xf6 // vpmovzxwd ymm6, xmm6
LONG $0xf2dbcdc5 // vpand ymm6, ymm6, ymm2
LONG $0x7f7ec1c4; WORD $0xb01c // vmovdqu yword [r8 + 4*rsi], ymm3
LONG $0x7f7ec1c4; WORD $0xb064; BYTE $0x20 // vmovdqu yword [r8 + 4*rsi + 32], ymm4
LONG $0x7f7ec1c4; WORD $0xb06c; BYTE $0x40 // vmovdqu yword [r8 + 4*rsi + 64], ymm5
LONG $0x7f7ec1c4; WORD $0xb074; BYTE $0x60 // vmovdqu yword [r8 + 4*rsi + 96], ymm6
LONG $0x20c68348 // add rsi, 32
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_844
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1351
LBB4_846:
WORD $0xf631 // xor esi, esi
LONG $0x513c8366; BYTE $0x00 // cmp word [rcx + 2*rdx], 0
LONG $0xd6950f40 // setne sil
LONG $0x90348941 // mov dword [r8 + 4*rdx], esi
LONG $0x01c28348 // add rdx, 1
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JNE LBB4_846
JMP LBB4_1351
LBB4_847:
WORD $0x8944; BYTE $0xd2 // mov edx, r10d
WORD $0xe283; BYTE $0xe0 // and edx, -32
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0x763941c4; BYTE $0xc0 // vpcmpeqd xmm8, xmm8, xmm8
QUAD $0x00009c95187de2c4; BYTE $0x00 // vbroadcastss ymm2, dword 156[rbp] /* [rip + .LCPI4_8] */
LBB4_848:
LONG $0x1c6ffac5; BYTE $0x71 // vmovdqu xmm3, oword [rcx + 2*rsi]
LONG $0x646ffac5; WORD $0x1071 // vmovdqu xmm4, oword [rcx + 2*rsi + 16]
LONG $0x6c6ffac5; WORD $0x2071 // vmovdqu xmm5, oword [rcx + 2*rsi + 32]
LONG $0x746ffac5; WORD $0x3071 // vmovdqu xmm6, oword [rcx + 2*rsi + 48]
LONG $0xf865e1c5 // vpcmpgtw xmm7, xmm3, xmm0
LONG $0x237d62c4; BYTE $0xcf // vpmovsxwd ymm9, xmm7
LONG $0xc865d9c5 // vpcmpgtw xmm1, xmm4, xmm0
LONG $0x237d62c4; BYTE $0xd1 // vpmovsxwd ymm10, xmm1
LONG $0xf865d1c5 // vpcmpgtw xmm7, xmm5, xmm0
LONG $0x237de2c4; BYTE $0xff // vpmovsxwd ymm7, xmm7
LONG $0xc865c9c5 // vpcmpgtw xmm1, xmm6, xmm0
LONG $0x237de2c4; BYTE $0xc9 // vpmovsxwd ymm1, xmm1
LONG $0xd875e1c5 // vpcmpeqw xmm3, xmm3, xmm0
LONG $0xdbefb9c5 // vpxor xmm3, xmm8, xmm3
LONG $0x237de2c4; BYTE $0xdb // vpmovsxwd ymm3, xmm3
LONG $0xe075d9c5 // vpcmpeqw xmm4, xmm4, xmm0
LONG $0xe4efb9c5 // vpxor xmm4, xmm8, xmm4
LONG $0x237de2c4; BYTE $0xe4 // vpmovsxwd ymm4, xmm4
LONG $0xe875d1c5 // vpcmpeqw xmm5, xmm5, xmm0
LONG $0xedefb9c5 // vpxor xmm5, xmm8, xmm5
LONG $0x237de2c4; BYTE $0xed // vpmovsxwd ymm5, xmm5
LONG $0xf075c9c5 // vpcmpeqw xmm6, xmm6, xmm0
LONG $0xf6efb9c5 // vpxor xmm6, xmm8, xmm6
LONG $0x237de2c4; BYTE $0xf6 // vpmovsxwd ymm6, xmm6
LONG $0x4a65e3c4; WORD $0x90da // vblendvps ymm3, ymm3, ymm2, ymm9
LONG $0x4a5de3c4; WORD $0xa0e2 // vblendvps ymm4, ymm4, ymm2, ymm10
LONG $0x4a55e3c4; WORD $0x70ea // vblendvps ymm5, ymm5, ymm2, ymm7
LONG $0x4a4de3c4; WORD $0x10ca // vblendvps ymm1, ymm6, ymm2, ymm1
LONG $0x117cc1c4; WORD $0xb01c // vmovups yword [r8 + 4*rsi], ymm3
LONG $0x117cc1c4; WORD $0xb064; BYTE $0x20 // vmovups yword [r8 + 4*rsi + 32], ymm4
LONG $0x117cc1c4; WORD $0xb06c; BYTE $0x40 // vmovups yword [r8 + 4*rsi + 64], ymm5
LONG $0x117cc1c4; WORD $0xb04c; BYTE $0x60 // vmovups yword [r8 + 4*rsi + 96], ymm1
LONG $0x20c68348 // add rsi, 32
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_848
WORD $0x394c; BYTE $0xd2 // cmp rdx, r10
JE LBB4_1351
LBB4_850:
LONG $0x000001be; BYTE $0x00 // mov esi, 1
LBB4_851:
LONG $0x513cb70f // movzx edi, word [rcx + 2*rdx]
WORD $0xc031 // xor eax, eax
WORD $0x8566; BYTE $0xff // test di, di
WORD $0x950f; BYTE $0xd0 // setne al
WORD $0xd8f7 // neg eax
WORD $0x8566; BYTE $0xff // test di, di
WORD $0x4f0f; BYTE $0xc6 // cmovg eax, esi
LONG $0x90048941 // mov dword [r8 + 4*rdx], eax
LONG $0x01c28348 // add rdx, 1
WORD $0x3949; BYTE $0xd2 // cmp r10, rdx
JNE LBB4_851
JMP LBB4_1351
LBB4_852:
WORD $0x8944; BYTE $0xd2 // mov edx, r10d
WORD $0xe283; BYTE $0xf0 // and edx, -16
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0x763d41c4; BYTE $0xc0 // vpcmpeqd ymm8, ymm8, ymm8
QUAD $0x00009c951879e2c4; BYTE $0x00 // vbroadcastss xmm2, dword 156[rbp] /* [rip + .LCPI4_8] */
LBB4_853:
LONG $0x246ffec5; BYTE $0xf1 // vmovdqu ymm4, yword [rcx + 8*rsi]
LONG $0x6c6ffec5; WORD $0x20f1 // vmovdqu ymm5, yword [rcx + 8*rsi + 32]
LONG $0x746ffec5; WORD $0x40f1 // vmovdqu ymm6, yword [rcx + 8*rsi + 64]
LONG $0x7c6ffec5; WORD $0x60f1 // vmovdqu ymm7, yword [rcx + 8*rsi + 96]
LONG $0x375de2c4; BYTE $0xd8 // vpcmpgtq ymm3, ymm4, ymm0
LONG $0x397de3c4; WORD $0x01d9 // vextracti128 xmm1, ymm3, 1
LONG $0xc96b61c5 // vpackssdw xmm9, xmm3, xmm1
LONG $0x3755e2c4; BYTE $0xc8 // vpcmpgtq ymm1, ymm5, ymm0
LONG $0x397de3c4; WORD $0x01cb // vextracti128 xmm3, ymm1, 1
LONG $0xd36b71c5 // vpackssdw xmm10, xmm1, xmm3
LONG $0x374de2c4; BYTE $0xd8 // vpcmpgtq ymm3, ymm6, ymm0
LONG $0x397de3c4; WORD $0x01d9 // vextracti128 xmm1, ymm3, 1
LONG $0xd96b61c5 // vpackssdw xmm11, xmm3, xmm1
LONG $0x3745e2c4; BYTE $0xd8 // vpcmpgtq ymm3, ymm7, ymm0
LONG $0x397de3c4; WORD $0x01d9 // vextracti128 xmm1, ymm3, 1
LONG $0xc96be1c5 // vpackssdw xmm1, xmm3, xmm1
LONG $0x295de2c4; BYTE $0xd8 // vpcmpeqq ymm3, ymm4, ymm0
LONG $0xdbefbdc5 // vpxor ymm3, ymm8, ymm3
LONG $0x397de3c4; WORD $0x01dc // vextracti128 xmm4, ymm3, 1
LONG $0xdc6be1c5 // vpackssdw xmm3, xmm3, xmm4
LONG $0x2955e2c4; BYTE $0xe0 // vpcmpeqq ymm4, ymm5, ymm0
LONG $0xe4efbdc5 // vpxor ymm4, ymm8, ymm4
LONG $0x397de3c4; WORD $0x01e5 // vextracti128 xmm5, ymm4, 1
LONG $0xe56bd9c5 // vpackssdw xmm4, xmm4, xmm5
LONG $0x294de2c4; BYTE $0xe8 // vpcmpeqq ymm5, ymm6, ymm0
LONG $0xedefbdc5 // vpxor ymm5, ymm8, ymm5
LONG $0x397de3c4; WORD $0x01ee // vextracti128 xmm6, ymm5, 1
LONG $0xee6bd1c5 // vpackssdw xmm5, xmm5, xmm6
LONG $0x2945e2c4; BYTE $0xf0 // vpcmpeqq ymm6, ymm7, ymm0
LONG $0xf6efbdc5 // vpxor ymm6, ymm8, ymm6
LONG $0x397de3c4; WORD $0x01f7 // vextracti128 xmm7, ymm6, 1
LONG $0xf76bc9c5 // vpackssdw xmm6, xmm6, xmm7
LONG $0x4a61e3c4; WORD $0x90da // vblendvps xmm3, xmm3, xmm2, xmm9
LONG $0x4a59e3c4; WORD $0xa0e2 // vblendvps xmm4, xmm4, xmm2, xmm10
LONG $0x4a51e3c4; WORD $0xb0ea // vblendvps xmm5, xmm5, xmm2, xmm11
LONG $0x4a49e3c4; WORD $0x10ca // vblendvps xmm1, xmm6, xmm2, xmm1
LONG $0x1178c1c4; WORD $0xb01c // vmovups oword [r8 + 4*rsi], xmm3
LONG $0x1178c1c4; WORD $0xb064; BYTE $0x10 // vmovups oword [r8 + 4*rsi + 16], xmm4
LONG $0x1178c1c4; WORD $0xb06c; BYTE $0x20 // vmovups oword [r8 + 4*rsi + 32], xmm5
LONG $0x1178c1c4; WORD $0xb04c; BYTE $0x30 // vmovups oword [r8 + 4*rsi + 48], xmm1
LONG $0x10c68348 // add rsi, 16
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_853
WORD $0x394c; BYTE $0xd2 // cmp rdx, r10
JE LBB4_1351
LBB4_855:
LONG $0x000001be; BYTE $0x00 // mov esi, 1
LBB4_856:
LONG $0xd13c8b48 // mov rdi, qword [rcx + 8*rdx]
WORD $0xc031 // xor eax, eax
WORD $0x8548; BYTE $0xff // test rdi, rdi
WORD $0x950f; BYTE $0xd0 // setne al
WORD $0xd8f7 // neg eax
WORD $0x8548; BYTE $0xff // test rdi, rdi
WORD $0x4f0f; BYTE $0xc6 // cmovg eax, esi
LONG $0x90048941 // mov dword [r8 + 4*rdx], eax
LONG $0x01c28348 // add rdx, 1
WORD $0x3949; BYTE $0xd2 // cmp r10, rdx
JNE LBB4_856
JMP LBB4_1351
LBB4_857:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xe0 // and edx, -32
WORD $0xf631 // xor esi, esi
LONG $0xc057f8c5 // vxorps xmm0, xmm0, xmm0
QUAD $0x00009c8d587de2c4; BYTE $0x00 // vpbroadcastd ymm1, dword 156[rbp] /* [rip + .LCPI4_8] */
LBB4_858:
LONG $0x146ffec5; BYTE $0xb1 // vmovdqu ymm2, yword [rcx + 4*rsi]
LONG $0x5c6ffec5; WORD $0x20b1 // vmovdqu ymm3, yword [rcx + 4*rsi + 32]
LONG $0x646ffec5; WORD $0x40b1 // vmovdqu ymm4, yword [rcx + 4*rsi + 64]
LONG $0x6c6ffec5; WORD $0x60b1 // vmovdqu ymm5, yword [rcx + 4*rsi + 96]
LONG $0xe272cdc5; BYTE $0x1f // vpsrad ymm6, ymm2, 31
LONG $0xf1ebcdc5 // vpor ymm6, ymm6, ymm1
LONG $0xe372c5c5; BYTE $0x1f // vpsrad ymm7, ymm3, 31
LONG $0xf9ebc5c5 // vpor ymm7, ymm7, ymm1
LONG $0xe472bdc5; BYTE $0x1f // vpsrad ymm8, ymm4, 31
LONG $0xc1eb3dc5 // vpor ymm8, ymm8, ymm1
LONG $0xe572b5c5; BYTE $0x1f // vpsrad ymm9, ymm5, 31
LONG $0xc9eb35c5 // vpor ymm9, ymm9, ymm1
LONG $0xf65bfcc5 // vcvtdq2ps ymm6, ymm6
LONG $0xff5bfcc5 // vcvtdq2ps ymm7, ymm7
LONG $0x5b7c41c4; BYTE $0xc0 // vcvtdq2ps ymm8, ymm8
LONG $0x5b7c41c4; BYTE $0xc9 // vcvtdq2ps ymm9, ymm9
LONG $0xf65bfec5 // vcvttps2dq ymm6, ymm6
LONG $0xff5bfec5 // vcvttps2dq ymm7, ymm7
LONG $0x5b7e41c4; BYTE $0xc0 // vcvttps2dq ymm8, ymm8
LONG $0x5b7e41c4; BYTE $0xc9 // vcvttps2dq ymm9, ymm9
LONG $0xd0c2ecc5; BYTE $0x04 // vcmpneqps ymm2, ymm2, ymm0
LONG $0xd654ecc5 // vandps ymm2, ymm2, ymm6
LONG $0xd8c2e4c5; BYTE $0x04 // vcmpneqps ymm3, ymm3, ymm0
LONG $0xdf54e4c5 // vandps ymm3, ymm3, ymm7
LONG $0xe0c2dcc5; BYTE $0x04 // vcmpneqps ymm4, ymm4, ymm0
LONG $0xe454bcc5 // vandps ymm4, ymm8, ymm4
LONG $0xe8c2d4c5; BYTE $0x04 // vcmpneqps ymm5, ymm5, ymm0
LONG $0xed54b4c5 // vandps ymm5, ymm9, ymm5
LONG $0x117cc1c4; WORD $0xb014 // vmovups yword [r8 + 4*rsi], ymm2
LONG $0x117cc1c4; WORD $0xb05c; BYTE $0x20 // vmovups yword [r8 + 4*rsi + 32], ymm3
LONG $0x117cc1c4; WORD $0xb064; BYTE $0x40 // vmovups yword [r8 + 4*rsi + 64], ymm4
LONG $0x117cc1c4; WORD $0xb06c; BYTE $0x60 // vmovups yword [r8 + 4*rsi + 96], ymm5
LONG $0x20c68348 // add rsi, 32
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_858
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1351
LBB4_860:
LONG $0xc057f8c5 // vxorps xmm0, xmm0, xmm0
JMP LBB4_862
LBB4_861:
LONG $0x90348941 // mov dword [r8 + 4*rdx], esi
LONG $0x01c28348 // add rdx, 1
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JE LBB4_1351
LBB4_862:
LONG $0x0c10fac5; BYTE $0x91 // vmovss xmm1, dword [rcx + 4*rdx]
WORD $0xf631 // xor esi, esi
LONG $0xc12ef8c5 // vucomiss xmm0, xmm1
JE LBB4_861
LONG $0xf150f8c5 // vmovmskps esi, xmm1
WORD $0xe683; BYTE $0x01 // and esi, 1
WORD $0xdef7 // neg esi
WORD $0xce83; BYTE $0x01 // or esi, 1
LONG $0xce2aaac5 // vcvtsi2ss xmm1, xmm10, esi
LONG $0xf12cfac5 // vcvttss2si esi, xmm1
JMP LBB4_861
LBB4_870:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xe0 // and edx, -32
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
QUAD $0x00009c8d587de2c4; BYTE $0x00 // vpbroadcastd ymm1, dword 156[rbp] /* [rip + .LCPI4_8] */
LBB4_871:
LONG $0x1476fdc5; BYTE $0xb1 // vpcmpeqd ymm2, ymm0, yword [rcx + 4*rsi]
LONG $0xd1dfedc5 // vpandn ymm2, ymm2, ymm1
LONG $0x5c76fdc5; WORD $0x20b1 // vpcmpeqd ymm3, ymm0, yword [rcx + 4*rsi + 32]
LONG $0xd9dfe5c5 // vpandn ymm3, ymm3, ymm1
LONG $0x6476fdc5; WORD $0x40b1 // vpcmpeqd ymm4, ymm0, yword [rcx + 4*rsi + 64]
LONG $0x6c76fdc5; WORD $0x60b1 // vpcmpeqd ymm5, ymm0, yword [rcx + 4*rsi + 96]
LONG $0xe1dfddc5 // vpandn ymm4, ymm4, ymm1
LONG $0xe9dfd5c5 // vpandn ymm5, ymm5, ymm1
LONG $0x7f7ec1c4; WORD $0xb014 // vmovdqu yword [r8 + 4*rsi], ymm2
LONG $0x7f7ec1c4; WORD $0xb05c; BYTE $0x20 // vmovdqu yword [r8 + 4*rsi + 32], ymm3
LONG $0x7f7ec1c4; WORD $0xb064; BYTE $0x40 // vmovdqu yword [r8 + 4*rsi + 64], ymm4
LONG $0x7f7ec1c4; WORD $0xb06c; BYTE $0x60 // vmovdqu yword [r8 + 4*rsi + 96], ymm5
LONG $0x20c68348 // add rsi, 32
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_871
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1351
JMP LBB4_873
LBB4_877:
WORD $0x8944; BYTE $0xda // mov edx, r11d
WORD $0xe283; BYTE $0xe0 // and edx, -32
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0x763941c4; BYTE $0xc0 // vpcmpeqd xmm8, xmm8, xmm8
QUAD $0x00009c95187de2c4; BYTE $0x00 // vbroadcastss ymm2, dword 156[rbp] /* [rip + .LCPI4_8] */
LBB4_878:
LONG $0x1c7efac5; BYTE $0x31 // vmovq xmm3, qword [rcx + rsi]
LONG $0x647efac5; WORD $0x0831 // vmovq xmm4, qword [rcx + rsi + 8]
LONG $0x6c7efac5; WORD $0x1031 // vmovq xmm5, qword [rcx + rsi + 16]
LONG $0x747efac5; WORD $0x1831 // vmovq xmm6, qword [rcx + rsi + 24]
LONG $0xf864e1c5 // vpcmpgtb xmm7, xmm3, xmm0
LONG $0x217d62c4; BYTE $0xcf // vpmovsxbd ymm9, xmm7
LONG $0xc864d9c5 // vpcmpgtb xmm1, xmm4, xmm0
LONG $0x217d62c4; BYTE $0xd1 // vpmovsxbd ymm10, xmm1
LONG $0xf864d1c5 // vpcmpgtb xmm7, xmm5, xmm0
LONG $0x217de2c4; BYTE $0xff // vpmovsxbd ymm7, xmm7
LONG $0xc864c9c5 // vpcmpgtb xmm1, xmm6, xmm0
LONG $0x217de2c4; BYTE $0xc9 // vpmovsxbd ymm1, xmm1
LONG $0xd874e1c5 // vpcmpeqb xmm3, xmm3, xmm0
LONG $0xdbefb9c5 // vpxor xmm3, xmm8, xmm3
LONG $0x217de2c4; BYTE $0xdb // vpmovsxbd ymm3, xmm3
LONG $0xe074d9c5 // vpcmpeqb xmm4, xmm4, xmm0
LONG $0xe4efb9c5 // vpxor xmm4, xmm8, xmm4
LONG $0x217de2c4; BYTE $0xe4 // vpmovsxbd ymm4, xmm4
LONG $0xe874d1c5 // vpcmpeqb xmm5, xmm5, xmm0
LONG $0xedefb9c5 // vpxor xmm5, xmm8, xmm5
LONG $0x217de2c4; BYTE $0xed // vpmovsxbd ymm5, xmm5
LONG $0xf074c9c5 // vpcmpeqb xmm6, xmm6, xmm0
LONG $0xf6efb9c5 // vpxor xmm6, xmm8, xmm6
LONG $0x217de2c4; BYTE $0xf6 // vpmovsxbd ymm6, xmm6
LONG $0x4a65e3c4; WORD $0x90da // vblendvps ymm3, ymm3, ymm2, ymm9
LONG $0x4a5de3c4; WORD $0xa0e2 // vblendvps ymm4, ymm4, ymm2, ymm10
LONG $0x4a55e3c4; WORD $0x70ea // vblendvps ymm5, ymm5, ymm2, ymm7
LONG $0x4a4de3c4; WORD $0x10ca // vblendvps ymm1, ymm6, ymm2, ymm1
LONG $0x117cc1c4; WORD $0xb01c // vmovups yword [r8 + 4*rsi], ymm3
LONG $0x117cc1c4; WORD $0xb064; BYTE $0x20 // vmovups yword [r8 + 4*rsi + 32], ymm4
LONG $0x117cc1c4; WORD $0xb06c; BYTE $0x40 // vmovups yword [r8 + 4*rsi + 64], ymm5
LONG $0x117cc1c4; WORD $0xb04c; BYTE $0x60 // vmovups yword [r8 + 4*rsi + 96], ymm1
LONG $0x20c68348 // add rsi, 32
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_878
WORD $0x394c; BYTE $0xda // cmp rdx, r11
JE LBB4_1351
JMP LBB4_880
LBB4_885:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xe0 // and edx, -32
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0xc976f1c5 // vpcmpeqd xmm1, xmm1, xmm1
QUAD $0x00009c95587de2c4; BYTE $0x00 // vpbroadcastd ymm2, dword 156[rbp] /* [rip + .LCPI4_8] */
LBB4_886:
LONG $0x1c7efac5; BYTE $0x31 // vmovq xmm3, qword [rcx + rsi]
LONG $0x647efac5; WORD $0x0831 // vmovq xmm4, qword [rcx + rsi + 8]
LONG $0x6c7efac5; WORD $0x1031 // vmovq xmm5, qword [rcx + rsi + 16]
LONG $0x747efac5; WORD $0x1831 // vmovq xmm6, qword [rcx + rsi + 24]
LONG $0xd874e1c5 // vpcmpeqb xmm3, xmm3, xmm0
LONG $0xd9efe1c5 // vpxor xmm3, xmm3, xmm1
LONG $0x317de2c4; BYTE $0xdb // vpmovzxbd ymm3, xmm3
LONG $0xdadbe5c5 // vpand ymm3, ymm3, ymm2
LONG $0xe074d9c5 // vpcmpeqb xmm4, xmm4, xmm0
LONG $0xe1efd9c5 // vpxor xmm4, xmm4, xmm1
LONG $0x317de2c4; BYTE $0xe4 // vpmovzxbd ymm4, xmm4
LONG $0xe2dbddc5 // vpand ymm4, ymm4, ymm2
LONG $0xe874d1c5 // vpcmpeqb xmm5, xmm5, xmm0
LONG $0xe9efd1c5 // vpxor xmm5, xmm5, xmm1
LONG $0x317de2c4; BYTE $0xed // vpmovzxbd ymm5, xmm5
LONG $0xeadbd5c5 // vpand ymm5, ymm5, ymm2
LONG $0xf074c9c5 // vpcmpeqb xmm6, xmm6, xmm0
LONG $0xf1efc9c5 // vpxor xmm6, xmm6, xmm1
LONG $0x317de2c4; BYTE $0xf6 // vpmovzxbd ymm6, xmm6
LONG $0xf2dbcdc5 // vpand ymm6, ymm6, ymm2
LONG $0x7f7ec1c4; WORD $0xb01c // vmovdqu yword [r8 + 4*rsi], ymm3
LONG $0x7f7ec1c4; WORD $0xb064; BYTE $0x20 // vmovdqu yword [r8 + 4*rsi + 32], ymm4
LONG $0x7f7ec1c4; WORD $0xb06c; BYTE $0x40 // vmovdqu yword [r8 + 4*rsi + 64], ymm5
LONG $0x7f7ec1c4; WORD $0xb074; BYTE $0x60 // vmovdqu yword [r8 + 4*rsi + 96], ymm6
LONG $0x20c68348 // add rsi, 32
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_886
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1351
JMP LBB4_888
LBB4_892:
WORD $0x8944; BYTE $0xda // mov edx, r11d
WORD $0xe283; BYTE $0xe0 // and edx, -32
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0xc976f5c5 // vpcmpeqd ymm1, ymm1, ymm1
QUAD $0x00009c95587de2c4; BYTE $0x00 // vpbroadcastd ymm2, dword 156[rbp] /* [rip + .LCPI4_8] */
LBB4_893:
LONG $0x1c6ffec5; BYTE $0xb1 // vmovdqu ymm3, yword [rcx + 4*rsi]
LONG $0x646ffec5; WORD $0x20b1 // vmovdqu ymm4, yword [rcx + 4*rsi + 32]
LONG $0x6c6ffec5; WORD $0x40b1 // vmovdqu ymm5, yword [rcx + 4*rsi + 64]
LONG $0x746ffec5; WORD $0x60b1 // vmovdqu ymm6, yword [rcx + 4*rsi + 96]
LONG $0xf876e5c5 // vpcmpeqd ymm7, ymm3, ymm0
LONG $0xf9efc5c5 // vpxor ymm7, ymm7, ymm1
LONG $0xc0765dc5 // vpcmpeqd ymm8, ymm4, ymm0
LONG $0xc1ef3dc5 // vpxor ymm8, ymm8, ymm1
LONG $0xc87655c5 // vpcmpeqd ymm9, ymm5, ymm0
LONG $0xc9ef35c5 // vpxor ymm9, ymm9, ymm1
LONG $0xd0764dc5 // vpcmpeqd ymm10, ymm6, ymm0
LONG $0xd1ef2dc5 // vpxor ymm10, ymm10, ymm1
LONG $0xdb66edc5 // vpcmpgtd ymm3, ymm2, ymm3
LONG $0xe466edc5 // vpcmpgtd ymm4, ymm2, ymm4
LONG $0xed66edc5 // vpcmpgtd ymm5, ymm2, ymm5
LONG $0xf666edc5 // vpcmpgtd ymm6, ymm2, ymm6
LONG $0x4a6de3c4; WORD $0x30df // vblendvps ymm3, ymm2, ymm7, ymm3
LONG $0x4a6dc3c4; WORD $0x40e0 // vblendvps ymm4, ymm2, ymm8, ymm4
LONG $0x4a6dc3c4; WORD $0x50e9 // vblendvps ymm5, ymm2, ymm9, ymm5
LONG $0x4a6dc3c4; WORD $0x60f2 // vblendvps ymm6, ymm2, ymm10, ymm6
LONG $0x117cc1c4; WORD $0xb01c // vmovups yword [r8 + 4*rsi], ymm3
LONG $0x117cc1c4; WORD $0xb064; BYTE $0x20 // vmovups yword [r8 + 4*rsi + 32], ymm4
LONG $0x117cc1c4; WORD $0xb06c; BYTE $0x40 // vmovups yword [r8 + 4*rsi + 64], ymm5
LONG $0x117cc1c4; WORD $0xb074; BYTE $0x60 // vmovups yword [r8 + 4*rsi + 96], ymm6
LONG $0x20c68348 // add rsi, 32
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_893
WORD $0x394c; BYTE $0xda // cmp rdx, r11
JE LBB4_1351
JMP LBB4_895
LBB4_900:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xf0 // and edx, -16
WORD $0xf631 // xor esi, esi
LONG $0xc057f9c5 // vxorpd xmm0, xmm0, xmm0
LONG $0x197de2c4; WORD $0x004d // vbroadcastsd ymm1, qword 0[rbp] /* [rip + .LCPI4_0] */
LONG $0x197de2c4; WORD $0x0855 // vbroadcastsd ymm2, qword 8[rbp] /* [rip + .LCPI4_1] */
LBB4_901:
LONG $0x1c10fdc5; BYTE $0xf1 // vmovupd ymm3, yword [rcx + 8*rsi]
LONG $0x6410fdc5; WORD $0x20f1 // vmovupd ymm4, yword [rcx + 8*rsi + 32]
LONG $0x6c10fdc5; WORD $0x40f1 // vmovupd ymm5, yword [rcx + 8*rsi + 64]
LONG $0x7410fdc5; WORD $0x60f1 // vmovupd ymm6, yword [rcx + 8*rsi + 96]
LONG $0xf954e5c5 // vandpd ymm7, ymm3, ymm1
LONG $0xff56edc5 // vorpd ymm7, ymm2, ymm7
LONG $0xc1545dc5 // vandpd ymm8, ymm4, ymm1
LONG $0xc2563dc5 // vorpd ymm8, ymm8, ymm2
LONG $0xc95455c5 // vandpd ymm9, ymm5, ymm1
LONG $0xca5635c5 // vorpd ymm9, ymm9, ymm2
LONG $0xd1544dc5 // vandpd ymm10, ymm6, ymm1
LONG $0xd2562dc5 // vorpd ymm10, ymm10, ymm2
LONG $0xd8c2e5c5; BYTE $0x04 // vcmpneqpd ymm3, ymm3, ymm0
LONG $0xdf54e5c5 // vandpd ymm3, ymm3, ymm7
LONG $0xe0c2ddc5; BYTE $0x04 // vcmpneqpd ymm4, ymm4, ymm0
LONG $0xe454bdc5 // vandpd ymm4, ymm8, ymm4
LONG $0xe8c2d5c5; BYTE $0x04 // vcmpneqpd ymm5, ymm5, ymm0
LONG $0xed54b5c5 // vandpd ymm5, ymm9, ymm5
LONG $0xf0c2cdc5; BYTE $0x04 // vcmpneqpd ymm6, ymm6, ymm0
LONG $0xf654adc5 // vandpd ymm6, ymm10, ymm6
LONG $0x117dc1c4; WORD $0xf01c // vmovupd yword [r8 + 8*rsi], ymm3
LONG $0x117dc1c4; WORD $0xf064; BYTE $0x20 // vmovupd yword [r8 + 8*rsi + 32], ymm4
LONG $0x117dc1c4; WORD $0xf06c; BYTE $0x40 // vmovupd yword [r8 + 8*rsi + 64], ymm5
LONG $0x117dc1c4; WORD $0xf074; BYTE $0x60 // vmovupd yword [r8 + 8*rsi + 96], ymm6
LONG $0x10c68348 // add rsi, 16
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_901
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1351
JMP LBB4_903
LBB4_908:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xf0 // and edx, -16
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0x763941c4; BYTE $0xc0 // vpcmpeqd xmm8, xmm8, xmm8
LONG $0x197de2c4; WORD $0x0855 // vbroadcastsd ymm2, qword 8[rbp] /* [rip + .LCPI4_1] */
LBB4_909:
LONG $0x1c6ef9c5; BYTE $0x31 // vmovd xmm3, dword [rcx + rsi]
LONG $0x646ef9c5; WORD $0x0431 // vmovd xmm4, dword [rcx + rsi + 4]
LONG $0x6c6ef9c5; WORD $0x0831 // vmovd xmm5, dword [rcx + rsi + 8]
LONG $0x746ef9c5; WORD $0x0c31 // vmovd xmm6, dword [rcx + rsi + 12]
LONG $0xf864e1c5 // vpcmpgtb xmm7, xmm3, xmm0
LONG $0x227d62c4; BYTE $0xcf // vpmovsxbq ymm9, xmm7
LONG $0xc864d9c5 // vpcmpgtb xmm1, xmm4, xmm0
LONG $0x227d62c4; BYTE $0xd1 // vpmovsxbq ymm10, xmm1
LONG $0xf864d1c5 // vpcmpgtb xmm7, xmm5, xmm0
LONG $0x227de2c4; BYTE $0xff // vpmovsxbq ymm7, xmm7
LONG $0xc864c9c5 // vpcmpgtb xmm1, xmm6, xmm0
LONG $0xd874e1c5 // vpcmpeqb xmm3, xmm3, xmm0
LONG $0xdbefb9c5 // vpxor xmm3, xmm8, xmm3
LONG $0x2179e2c4; BYTE $0xdb // vpmovsxbd xmm3, xmm3
LONG $0xdbe6fec5 // vcvtdq2pd ymm3, xmm3
LONG $0xe074d9c5 // vpcmpeqb xmm4, xmm4, xmm0
LONG $0xe4efb9c5 // vpxor xmm4, xmm8, xmm4
LONG $0x2179e2c4; BYTE $0xe4 // vpmovsxbd xmm4, xmm4
LONG $0xe4e6fec5 // vcvtdq2pd ymm4, xmm4
LONG $0xe874d1c5 // vpcmpeqb xmm5, xmm5, xmm0
LONG $0xedefb9c5 // vpxor xmm5, xmm8, xmm5
LONG $0x2179e2c4; BYTE $0xed // vpmovsxbd xmm5, xmm5
LONG $0xede6fec5 // vcvtdq2pd ymm5, xmm5
LONG $0x227de2c4; BYTE $0xc9 // vpmovsxbq ymm1, xmm1
LONG $0xf074c9c5 // vpcmpeqb xmm6, xmm6, xmm0
LONG $0xf6efb9c5 // vpxor xmm6, xmm8, xmm6
LONG $0x2179e2c4; BYTE $0xf6 // vpmovsxbd xmm6, xmm6
LONG $0xf6e6fec5 // vcvtdq2pd ymm6, xmm6
LONG $0x4b65e3c4; WORD $0x90da // vblendvpd ymm3, ymm3, ymm2, ymm9
LONG $0x4b5de3c4; WORD $0xa0e2 // vblendvpd ymm4, ymm4, ymm2, ymm10
LONG $0x4b55e3c4; WORD $0x70ea // vblendvpd ymm5, ymm5, ymm2, ymm7
LONG $0x4b4de3c4; WORD $0x10ca // vblendvpd ymm1, ymm6, ymm2, ymm1
LONG $0x117dc1c4; WORD $0xf01c // vmovupd yword [r8 + 8*rsi], ymm3
LONG $0x117dc1c4; WORD $0xf064; BYTE $0x20 // vmovupd yword [r8 + 8*rsi + 32], ymm4
LONG $0x117dc1c4; WORD $0xf06c; BYTE $0x40 // vmovupd yword [r8 + 8*rsi + 64], ymm5
LONG $0x117dc1c4; WORD $0xf04c; BYTE $0x60 // vmovupd yword [r8 + 8*rsi + 96], ymm1
LONG $0x10c68348 // add rsi, 16
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_909
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1351
JMP LBB4_911
LBB4_914:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xf0 // and edx, -16
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0xc976f1c5 // vpcmpeqd xmm1, xmm1, xmm1
QUAD $0x00009c955879e2c4; BYTE $0x00 // vpbroadcastd xmm2, dword 156[rbp] /* [rip + .LCPI4_8] */
LBB4_915:
LONG $0x1c6ef9c5; BYTE $0x31 // vmovd xmm3, dword [rcx + rsi]
LONG $0x646ef9c5; WORD $0x0431 // vmovd xmm4, dword [rcx + rsi + 4]
LONG $0x6c6ef9c5; WORD $0x0831 // vmovd xmm5, dword [rcx + rsi + 8]
LONG $0x746ef9c5; WORD $0x0c31 // vmovd xmm6, dword [rcx + rsi + 12]
LONG $0xd874e1c5 // vpcmpeqb xmm3, xmm3, xmm0
LONG $0xd9efe1c5 // vpxor xmm3, xmm3, xmm1
LONG $0x3179e2c4; BYTE $0xdb // vpmovzxbd xmm3, xmm3
LONG $0xdadbe1c5 // vpand xmm3, xmm3, xmm2
LONG $0xdbe6fec5 // vcvtdq2pd ymm3, xmm3
LONG $0xe074d9c5 // vpcmpeqb xmm4, xmm4, xmm0
LONG $0xe1efd9c5 // vpxor xmm4, xmm4, xmm1
LONG $0x3179e2c4; BYTE $0xe4 // vpmovzxbd xmm4, xmm4
LONG $0xe2dbd9c5 // vpand xmm4, xmm4, xmm2
LONG $0xe4e6fec5 // vcvtdq2pd ymm4, xmm4
LONG $0xe874d1c5 // vpcmpeqb xmm5, xmm5, xmm0
LONG $0xe9efd1c5 // vpxor xmm5, xmm5, xmm1
LONG $0x3179e2c4; BYTE $0xed // vpmovzxbd xmm5, xmm5
LONG $0xeadbd1c5 // vpand xmm5, xmm5, xmm2
LONG $0xede6fec5 // vcvtdq2pd ymm5, xmm5
LONG $0xf074c9c5 // vpcmpeqb xmm6, xmm6, xmm0
LONG $0xf1efc9c5 // vpxor xmm6, xmm6, xmm1
LONG $0x3179e2c4; BYTE $0xf6 // vpmovzxbd xmm6, xmm6
LONG $0xf2dbc9c5 // vpand xmm6, xmm6, xmm2
LONG $0xf6e6fec5 // vcvtdq2pd ymm6, xmm6
LONG $0x117dc1c4; WORD $0xf01c // vmovupd yword [r8 + 8*rsi], ymm3
LONG $0x117dc1c4; WORD $0xf064; BYTE $0x20 // vmovupd yword [r8 + 8*rsi + 32], ymm4
LONG $0x117dc1c4; WORD $0xf06c; BYTE $0x40 // vmovupd yword [r8 + 8*rsi + 64], ymm5
LONG $0x117dc1c4; WORD $0xf074; BYTE $0x60 // vmovupd yword [r8 + 8*rsi + 96], ymm6
LONG $0x10c68348 // add rsi, 16
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_915
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1351
JMP LBB4_917
LBB4_933:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xe0 // and edx, -32
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0xc976f5c5 // vpcmpeqd ymm1, ymm1, ymm1
LONG $0x556ff9c5; BYTE $0x50 // vmovdqa xmm2, oword 80[rbp] /* [rip + .LCPI4_12] */
LBB4_934:
LONG $0x1c76fdc5; BYTE $0xb1 // vpcmpeqd ymm3, ymm0, yword [rcx + 4*rsi]
LONG $0xd9efe5c5 // vpxor ymm3, ymm3, ymm1
LONG $0x397de3c4; WORD $0x01dc // vextracti128 xmm4, ymm3, 1
LONG $0xdc6be1c5 // vpackssdw xmm3, xmm3, xmm4
LONG $0xdb63e1c5 // vpacksswb xmm3, xmm3, xmm3
LONG $0xdadbe1c5 // vpand xmm3, xmm3, xmm2
LONG $0x6476fdc5; WORD $0x20b1 // vpcmpeqd ymm4, ymm0, yword [rcx + 4*rsi + 32]
LONG $0xe1efddc5 // vpxor ymm4, ymm4, ymm1
LONG $0x397de3c4; WORD $0x01e5 // vextracti128 xmm5, ymm4, 1
LONG $0xe56bd9c5 // vpackssdw xmm4, xmm4, xmm5
LONG $0xe463d9c5 // vpacksswb xmm4, xmm4, xmm4
LONG $0x6c76fdc5; WORD $0x40b1 // vpcmpeqd ymm5, ymm0, yword [rcx + 4*rsi + 64]
LONG $0xe2dbd9c5 // vpand xmm4, xmm4, xmm2
LONG $0xe9efd5c5 // vpxor ymm5, ymm5, ymm1
LONG $0x397de3c4; WORD $0x01ee // vextracti128 xmm6, ymm5, 1
LONG $0xee6bd1c5 // vpackssdw xmm5, xmm5, xmm6
LONG $0xed63d1c5 // vpacksswb xmm5, xmm5, xmm5
LONG $0xeadbd1c5 // vpand xmm5, xmm5, xmm2
LONG $0x7476fdc5; WORD $0x60b1 // vpcmpeqd ymm6, ymm0, yword [rcx + 4*rsi + 96]
LONG $0xf1efcdc5 // vpxor ymm6, ymm6, ymm1
LONG $0x397de3c4; WORD $0x01f7 // vextracti128 xmm7, ymm6, 1
LONG $0xf76bc9c5 // vpackssdw xmm6, xmm6, xmm7
LONG $0xf663c9c5 // vpacksswb xmm6, xmm6, xmm6
LONG $0xf2dbc9c5 // vpand xmm6, xmm6, xmm2
LONG $0x3855e3c4; WORD $0x01ee // vinserti128 ymm5, ymm5, xmm6, 1
LONG $0x3865e3c4; WORD $0x01dc // vinserti128 ymm3, ymm3, xmm4, 1
LONG $0xdd6ce5c5 // vpunpcklqdq ymm3, ymm3, ymm5
LONG $0x00fde3c4; WORD $0xd8db // vpermq ymm3, ymm3, 216
LONG $0x7f7ec1c4; WORD $0x301c // vmovdqu yword [r8 + rsi], ymm3
LONG $0x20c68348 // add rsi, 32
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_934
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1351
JMP LBB4_936
LBB4_940:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xf0 // and edx, -16
WORD $0xf631 // xor esi, esi
LONG $0x597de2c4; WORD $0x0045 // vpbroadcastq ymm0, qword 0[rbp] /* [rip + .LCPI4_0] */
LONG $0x572941c4; BYTE $0xd2 // vxorpd xmm10, xmm10, xmm10
LONG $0x197de2c4; WORD $0x0855 // vbroadcastsd ymm2, qword 8[rbp] /* [rip + .LCPI4_1] */
LONG $0xef2141c4; BYTE $0xdb // vpxor xmm11, xmm11, xmm11
LBB4_941:
LONG $0x3410fdc5; BYTE $0xf1 // vmovupd ymm6, yword [rcx + 8*rsi]
LONG $0x7c10fdc5; WORD $0x20f1 // vmovupd ymm7, yword [rcx + 8*rsi + 32]
LONG $0x44107dc5; WORD $0x40f1 // vmovupd ymm8, yword [rcx + 8*rsi + 64]
LONG $0x4c107dc5; WORD $0x60f1 // vmovupd ymm9, yword [rcx + 8*rsi + 96]
LONG $0xe6c2adc5; BYTE $0x00 // vcmpeqpd ymm4, ymm10, ymm6
LONG $0x197de3c4; WORD $0x01e5 // vextractf128 xmm5, ymm4, 1
LONG $0xe56bd9c5 // vpackssdw xmm4, xmm4, xmm5
LONG $0xe46bd9c5 // vpackssdw xmm4, xmm4, xmm4
LONG $0xe46359c5 // vpacksswb xmm12, xmm4, xmm4
LONG $0xefc2adc5; BYTE $0x00 // vcmpeqpd ymm5, ymm10, ymm7
LONG $0x197de3c4; WORD $0x01e9 // vextractf128 xmm1, ymm5, 1
LONG $0xc96bd1c5 // vpackssdw xmm1, xmm5, xmm1
LONG $0xc96bf1c5 // vpackssdw xmm1, xmm1, xmm1
LONG $0xe96371c5 // vpacksswb xmm13, xmm1, xmm1
LONG $0xc23dc1c4; WORD $0x00ca // vcmpeqpd ymm1, ymm8, ymm10
LONG $0x197de3c4; WORD $0x01cb // vextractf128 xmm3, ymm1, 1
LONG $0xcb6bf1c5 // vpackssdw xmm1, xmm1, xmm3
LONG $0xc96bf1c5 // vpackssdw xmm1, xmm1, xmm1
LONG $0xc963f1c5 // vpacksswb xmm1, xmm1, xmm1
LONG $0xc235c1c4; WORD $0x00da // vcmpeqpd ymm3, ymm9, ymm10
LONG $0x197de3c4; WORD $0x01dc // vextractf128 xmm4, ymm3, 1
LONG $0xdc6be1c5 // vpackssdw xmm3, xmm3, xmm4
LONG $0xdb6be1c5 // vpackssdw xmm3, xmm3, xmm3
LONG $0xdb63e1c5 // vpacksswb xmm3, xmm3, xmm3
LONG $0xe054cdc5 // vandpd ymm4, ymm6, ymm0
LONG $0xe456edc5 // vorpd ymm4, ymm2, ymm4
LONG $0xf054c5c5 // vandpd ymm6, ymm7, ymm0
LONG $0xf656edc5 // vorpd ymm6, ymm2, ymm6
LONG $0xf854bdc5 // vandpd ymm7, ymm8, ymm0
LONG $0xff56edc5 // vorpd ymm7, ymm2, ymm7
LONG $0xc05435c5 // vandpd ymm8, ymm9, ymm0
LONG $0xc2563dc5 // vorpd ymm8, ymm8, ymm2
LONG $0xe4e6fdc5 // vcvttpd2dq xmm4, ymm4
LONG $0xe46bd9c5 // vpackssdw xmm4, xmm4, xmm4
LONG $0xe463d9c5 // vpacksswb xmm4, xmm4, xmm4
LONG $0xf6e6fdc5 // vcvttpd2dq xmm6, ymm6
LONG $0xf66bc9c5 // vpackssdw xmm6, xmm6, xmm6
LONG $0xf663c9c5 // vpacksswb xmm6, xmm6, xmm6
LONG $0xffe6fdc5 // vcvttpd2dq xmm7, ymm7
LONG $0xff6bc1c5 // vpackssdw xmm7, xmm7, xmm7
LONG $0xff63c1c5 // vpacksswb xmm7, xmm7, xmm7
LONG $0xe67dc1c4; BYTE $0xe8 // vcvttpd2dq xmm5, ymm8
LONG $0xed6bd1c5 // vpackssdw xmm5, xmm5, xmm5
LONG $0xed63d1c5 // vpacksswb xmm5, xmm5, xmm5
LONG $0x4c59c3c4; WORD $0xc0e3 // vpblendvb xmm4, xmm4, xmm11, xmm12
LONG $0x4c49c3c4; WORD $0xd0f3 // vpblendvb xmm6, xmm6, xmm11, xmm13
LONG $0x4c41c3c4; WORD $0x10cb // vpblendvb xmm1, xmm7, xmm11, xmm1
LONG $0xe662d9c5 // vpunpckldq xmm4, xmm4, xmm6
LONG $0x4c51c3c4; WORD $0x30db // vpblendvb xmm3, xmm5, xmm11, xmm3
LONG $0xcb62f1c5 // vpunpckldq xmm1, xmm1, xmm3
LONG $0xc96cd9c5 // vpunpcklqdq xmm1, xmm4, xmm1
LONG $0x7f7ac1c4; WORD $0x300c // vmovdqu oword [r8 + rsi], xmm1
LONG $0x10c68348 // add rsi, 16
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_941
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1351
JMP LBB4_943
LBB4_948:
WORD $0x8945; BYTE $0xd3 // mov r11d, r10d
LONG $0x80e38341 // and r11d, -128
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0xc976f5c5 // vpcmpeqd ymm1, ymm1, ymm1
QUAD $0x000000e0956ffdc5 // vmovdqa ymm2, yword 224[rbp] /* [rip + .LCPI4_20] */
LBB4_949:
LONG $0x1c6ffec5; BYTE $0x31 // vmovdqu ymm3, yword [rcx + rsi]
LONG $0x646ffec5; WORD $0x2031 // vmovdqu ymm4, yword [rcx + rsi + 32]
LONG $0x6c6ffec5; WORD $0x4031 // vmovdqu ymm5, yword [rcx + rsi + 64]
LONG $0x746ffec5; WORD $0x6031 // vmovdqu ymm6, yword [rcx + rsi + 96]
LONG $0xf874e5c5 // vpcmpeqb ymm7, ymm3, ymm0
LONG $0xf9efc5c5 // vpxor ymm7, ymm7, ymm1
LONG $0xc0745dc5 // vpcmpeqb ymm8, ymm4, ymm0
LONG $0xc1ef3dc5 // vpxor ymm8, ymm8, ymm1
LONG $0xc87455c5 // vpcmpeqb ymm9, ymm5, ymm0
LONG $0xc9ef35c5 // vpxor ymm9, ymm9, ymm1
LONG $0xd0744dc5 // vpcmpeqb ymm10, ymm6, ymm0
LONG $0xd1ef2dc5 // vpxor ymm10, ymm10, ymm1
LONG $0xdb64edc5 // vpcmpgtb ymm3, ymm2, ymm3
LONG $0xe464edc5 // vpcmpgtb ymm4, ymm2, ymm4
LONG $0xed64edc5 // vpcmpgtb ymm5, ymm2, ymm5
LONG $0xf664edc5 // vpcmpgtb ymm6, ymm2, ymm6
LONG $0x4c6de3c4; WORD $0x30df // vpblendvb ymm3, ymm2, ymm7, ymm3
LONG $0x4c6dc3c4; WORD $0x40e0 // vpblendvb ymm4, ymm2, ymm8, ymm4
LONG $0x4c6dc3c4; WORD $0x50e9 // vpblendvb ymm5, ymm2, ymm9, ymm5
LONG $0x4c6dc3c4; WORD $0x60f2 // vpblendvb ymm6, ymm2, ymm10, ymm6
LONG $0x7f7ec1c4; WORD $0x301c // vmovdqu yword [r8 + rsi], ymm3
LONG $0x7f7ec1c4; WORD $0x3064; BYTE $0x20 // vmovdqu yword [r8 + rsi + 32], ymm4
LONG $0x7f7ec1c4; WORD $0x306c; BYTE $0x40 // vmovdqu yword [r8 + rsi + 64], ymm5
LONG $0x7f7ec1c4; WORD $0x3074; BYTE $0x60 // vmovdqu yword [r8 + rsi + 96], ymm6
LONG $0x80ee8348 // sub rsi, -128
WORD $0x3949; BYTE $0xf3 // cmp r11, rsi
JNE LBB4_949
WORD $0x394d; BYTE $0xd3 // cmp r11, r10
JE LBB4_1351
JMP LBB4_951
LBB4_956:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xf0 // and edx, -16
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0xc976f5c5 // vpcmpeqd ymm1, ymm1, ymm1
LONG $0x556ff9c5; BYTE $0x70 // vmovdqa xmm2, oword 112[rbp] /* [rip + .LCPI4_17] */
LBB4_957:
LONG $0x297de2c4; WORD $0xf11c // vpcmpeqq ymm3, ymm0, yword [rcx + 8*rsi]
LONG $0xd9efe5c5 // vpxor ymm3, ymm3, ymm1
LONG $0x397de3c4; WORD $0x01dc // vextracti128 xmm4, ymm3, 1
LONG $0xdc6be1c5 // vpackssdw xmm3, xmm3, xmm4
LONG $0xdb6be1c5 // vpackssdw xmm3, xmm3, xmm3
LONG $0xdb63e1c5 // vpacksswb xmm3, xmm3, xmm3
LONG $0xdadbe1c5 // vpand xmm3, xmm3, xmm2
LONG $0x297de2c4; WORD $0xf164; BYTE $0x20 // vpcmpeqq ymm4, ymm0, yword [rcx + 8*rsi + 32]
LONG $0xe1efddc5 // vpxor ymm4, ymm4, ymm1
LONG $0x397de3c4; WORD $0x01e5 // vextracti128 xmm5, ymm4, 1
LONG $0xe56bd9c5 // vpackssdw xmm4, xmm4, xmm5
LONG $0xe46bd9c5 // vpackssdw xmm4, xmm4, xmm4
LONG $0xe463d9c5 // vpacksswb xmm4, xmm4, xmm4
LONG $0xe2dbd9c5 // vpand xmm4, xmm4, xmm2
LONG $0x297de2c4; WORD $0xf16c; BYTE $0x40 // vpcmpeqq ymm5, ymm0, yword [rcx + 8*rsi + 64]
LONG $0xdc62e1c5 // vpunpckldq xmm3, xmm3, xmm4
LONG $0xe1efd5c5 // vpxor ymm4, ymm5, ymm1
LONG $0x397de3c4; WORD $0x01e5 // vextracti128 xmm5, ymm4, 1
LONG $0xe56bd9c5 // vpackssdw xmm4, xmm4, xmm5
LONG $0xe46bd9c5 // vpackssdw xmm4, xmm4, xmm4
LONG $0xe463d9c5 // vpacksswb xmm4, xmm4, xmm4
LONG $0x297de2c4; WORD $0xf16c; BYTE $0x60 // vpcmpeqq ymm5, ymm0, yword [rcx + 8*rsi + 96]
LONG $0xe2dbd9c5 // vpand xmm4, xmm4, xmm2
LONG $0xe9efd5c5 // vpxor ymm5, ymm5, ymm1
LONG $0x397de3c4; WORD $0x01ee // vextracti128 xmm6, ymm5, 1
LONG $0xee6bd1c5 // vpackssdw xmm5, xmm5, xmm6
LONG $0xed6bd1c5 // vpackssdw xmm5, xmm5, xmm5
LONG $0xed63d1c5 // vpacksswb xmm5, xmm5, xmm5
LONG $0xeadbd1c5 // vpand xmm5, xmm5, xmm2
LONG $0xe562d9c5 // vpunpckldq xmm4, xmm4, xmm5
LONG $0xdc6ce1c5 // vpunpcklqdq xmm3, xmm3, xmm4
LONG $0x7f7ac1c4; WORD $0x301c // vmovdqu oword [r8 + rsi], xmm3
LONG $0x10c68348 // add rsi, 16
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_957
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1351
JMP LBB4_959
LBB4_963:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xc0 // and edx, -64
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0xc976f5c5 // vpcmpeqd ymm1, ymm1, ymm1
QUAD $0x00000080956ff9c5 // vmovdqa xmm2, oword 128[rbp] /* [rip + .LCPI4_19] */
LBB4_964:
LONG $0x1c75fdc5; BYTE $0x71 // vpcmpeqw ymm3, ymm0, yword [rcx + 2*rsi]
LONG $0xd9efe5c5 // vpxor ymm3, ymm3, ymm1
LONG $0x397de3c4; WORD $0x01dc // vextracti128 xmm4, ymm3, 1
LONG $0xdc63e1c5 // vpacksswb xmm3, xmm3, xmm4
LONG $0xdadbe1c5 // vpand xmm3, xmm3, xmm2
LONG $0x6475fdc5; WORD $0x2071 // vpcmpeqw ymm4, ymm0, yword [rcx + 2*rsi + 32]
LONG $0xe1efddc5 // vpxor ymm4, ymm4, ymm1
LONG $0x397de3c4; WORD $0x01e5 // vextracti128 xmm5, ymm4, 1
LONG $0xe563d9c5 // vpacksswb xmm4, xmm4, xmm5
LONG $0xe2dbd9c5 // vpand xmm4, xmm4, xmm2
LONG $0x6c75fdc5; WORD $0x4071 // vpcmpeqw ymm5, ymm0, yword [rcx + 2*rsi + 64]
LONG $0xe9efd5c5 // vpxor ymm5, ymm5, ymm1
LONG $0x397de3c4; WORD $0x01ee // vextracti128 xmm6, ymm5, 1
LONG $0xee63d1c5 // vpacksswb xmm5, xmm5, xmm6
LONG $0xeadbd1c5 // vpand xmm5, xmm5, xmm2
LONG $0x7475fdc5; WORD $0x6071 // vpcmpeqw ymm6, ymm0, yword [rcx + 2*rsi + 96]
LONG $0xf1efcdc5 // vpxor ymm6, ymm6, ymm1
LONG $0x397de3c4; WORD $0x01f7 // vextracti128 xmm7, ymm6, 1
LONG $0xf763c9c5 // vpacksswb xmm6, xmm6, xmm7
LONG $0xf2dbc9c5 // vpand xmm6, xmm6, xmm2
LONG $0x7f7ac1c4; WORD $0x301c // vmovdqu oword [r8 + rsi], xmm3
LONG $0x7f7ac1c4; WORD $0x3064; BYTE $0x10 // vmovdqu oword [r8 + rsi + 16], xmm4
LONG $0x7f7ac1c4; WORD $0x306c; BYTE $0x20 // vmovdqu oword [r8 + rsi + 32], xmm5
LONG $0x7f7ac1c4; WORD $0x3074; BYTE $0x30 // vmovdqu oword [r8 + rsi + 48], xmm6
LONG $0x40c68348 // add rsi, 64
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_964
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1351
JMP LBB4_966
LBB4_970:
WORD $0x8945; BYTE $0xd3 // mov r11d, r10d
LONG $0xc0e38341 // and r11d, -64
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0x763d41c4; BYTE $0xc0 // vpcmpeqd ymm8, ymm8, ymm8
QUAD $0x000000808d6f79c5 // vmovdqa xmm9, oword 128[rbp] /* [rip + .LCPI4_19] */
LBB4_971:
LONG $0x246ffec5; BYTE $0x71 // vmovdqu ymm4, yword [rcx + 2*rsi]
LONG $0x6c6ffec5; WORD $0x2071 // vmovdqu ymm5, yword [rcx + 2*rsi + 32]
LONG $0x746ffec5; WORD $0x4071 // vmovdqu ymm6, yword [rcx + 2*rsi + 64]
LONG $0x7c6ffec5; WORD $0x6071 // vmovdqu ymm7, yword [rcx + 2*rsi + 96]
LONG $0xd865ddc5 // vpcmpgtw ymm3, ymm4, ymm0
LONG $0x397de3c4; WORD $0x01d9 // vextracti128 xmm1, ymm3, 1
LONG $0xd16361c5 // vpacksswb xmm10, xmm3, xmm1
LONG $0xc865d5c5 // vpcmpgtw ymm1, ymm5, ymm0
LONG $0x397de3c4; WORD $0x01ca // vextracti128 xmm2, ymm1, 1
LONG $0xda6371c5 // vpacksswb xmm11, xmm1, xmm2
LONG $0xd065cdc5 // vpcmpgtw ymm2, ymm6, ymm0
LONG $0x397de3c4; WORD $0x01d3 // vextracti128 xmm3, ymm2, 1
LONG $0xd363e9c5 // vpacksswb xmm2, xmm2, xmm3
LONG $0xd865c5c5 // vpcmpgtw ymm3, ymm7, ymm0
LONG $0x397de3c4; WORD $0x01d9 // vextracti128 xmm1, ymm3, 1
LONG $0xc963e1c5 // vpacksswb xmm1, xmm3, xmm1
LONG $0xd875ddc5 // vpcmpeqw ymm3, ymm4, ymm0
LONG $0xdbefbdc5 // vpxor ymm3, ymm8, ymm3
LONG $0x397de3c4; WORD $0x01dc // vextracti128 xmm4, ymm3, 1
LONG $0xdc63e1c5 // vpacksswb xmm3, xmm3, xmm4
LONG $0xe075d5c5 // vpcmpeqw ymm4, ymm5, ymm0
LONG $0xe4efbdc5 // vpxor ymm4, ymm8, ymm4
LONG $0x397de3c4; WORD $0x01e5 // vextracti128 xmm5, ymm4, 1
LONG $0xe563d9c5 // vpacksswb xmm4, xmm4, xmm5
LONG $0xe875cdc5 // vpcmpeqw ymm5, ymm6, ymm0
LONG $0xedefbdc5 // vpxor ymm5, ymm8, ymm5
LONG $0x397de3c4; WORD $0x01ee // vextracti128 xmm6, ymm5, 1
LONG $0xee63d1c5 // vpacksswb xmm5, xmm5, xmm6
LONG $0xf075c5c5 // vpcmpeqw ymm6, ymm7, ymm0
LONG $0xf6efbdc5 // vpxor ymm6, ymm8, ymm6
LONG $0x397de3c4; WORD $0x01f7 // vextracti128 xmm7, ymm6, 1
LONG $0xf763c9c5 // vpacksswb xmm6, xmm6, xmm7
LONG $0x4c61c3c4; WORD $0xa0d9 // vpblendvb xmm3, xmm3, xmm9, xmm10
LONG $0x4c59c3c4; WORD $0xb0e1 // vpblendvb xmm4, xmm4, xmm9, xmm11
LONG $0x4c51c3c4; WORD $0x20d1 // vpblendvb xmm2, xmm5, xmm9, xmm2
LONG $0x4c49c3c4; WORD $0x10c9 // vpblendvb xmm1, xmm6, xmm9, xmm1
LONG $0x7f7ac1c4; WORD $0x301c // vmovdqu oword [r8 + rsi], xmm3
LONG $0x7f7ac1c4; WORD $0x3064; BYTE $0x10 // vmovdqu oword [r8 + rsi + 16], xmm4
LONG $0x7f7ac1c4; WORD $0x3054; BYTE $0x20 // vmovdqu oword [r8 + rsi + 32], xmm2
LONG $0x7f7ac1c4; WORD $0x304c; BYTE $0x30 // vmovdqu oword [r8 + rsi + 48], xmm1
LONG $0x40c68348 // add rsi, 64
WORD $0x3949; BYTE $0xf3 // cmp r11, rsi
JNE LBB4_971
WORD $0x394d; BYTE $0xd3 // cmp r11, r10
JE LBB4_1351
JMP LBB4_973
LBB4_978:
WORD $0x8945; BYTE $0xd3 // mov r11d, r10d
LONG $0xf0e38341 // and r11d, -16
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0x763541c4; BYTE $0xc9 // vpcmpeqd ymm9, ymm9, ymm9
LONG $0x5d6f79c5; BYTE $0x70 // vmovdqa xmm11, oword 112[rbp] /* [rip + .LCPI4_17] */
LBB4_979:
LONG $0x146f7ec5; BYTE $0xf1 // vmovdqu ymm10, yword [rcx + 8*rsi]
LONG $0x446f7ec5; WORD $0x20f1 // vmovdqu ymm8, yword [rcx + 8*rsi + 32]
LONG $0x746ffec5; WORD $0x40f1 // vmovdqu ymm6, yword [rcx + 8*rsi + 64]
LONG $0x646ffec5; WORD $0x60f1 // vmovdqu ymm4, yword [rcx + 8*rsi + 96]
LONG $0x372de2c4; BYTE $0xc8 // vpcmpgtq ymm1, ymm10, ymm0
LONG $0x397de3c4; WORD $0x01cb // vextracti128 xmm3, ymm1, 1
LONG $0xcb6bf1c5 // vpackssdw xmm1, xmm1, xmm3
LONG $0xc96bf1c5 // vpackssdw xmm1, xmm1, xmm1
LONG $0xe16371c5 // vpacksswb xmm12, xmm1, xmm1
LONG $0x373de2c4; BYTE $0xc8 // vpcmpgtq ymm1, ymm8, ymm0
LONG $0x397de3c4; WORD $0x01cd // vextracti128 xmm5, ymm1, 1
LONG $0xcd6bf1c5 // vpackssdw xmm1, xmm1, xmm5
LONG $0xc96bf1c5 // vpackssdw xmm1, xmm1, xmm1
LONG $0xe96371c5 // vpacksswb xmm13, xmm1, xmm1
LONG $0x374de2c4; BYTE $0xc8 // vpcmpgtq ymm1, ymm6, ymm0
LONG $0x397de3c4; WORD $0x01cf // vextracti128 xmm7, ymm1, 1
LONG $0xcf6bf1c5 // vpackssdw xmm1, xmm1, xmm7
LONG $0xc96bf1c5 // vpackssdw xmm1, xmm1, xmm1
LONG $0xf963f1c5 // vpacksswb xmm7, xmm1, xmm1
LONG $0x375de2c4; BYTE $0xc8 // vpcmpgtq ymm1, ymm4, ymm0
LONG $0x397de3c4; WORD $0x01ca // vextracti128 xmm2, ymm1, 1
LONG $0xca6bf1c5 // vpackssdw xmm1, xmm1, xmm2
LONG $0xc96bf1c5 // vpackssdw xmm1, xmm1, xmm1
LONG $0xc963f1c5 // vpacksswb xmm1, xmm1, xmm1
LONG $0x292de2c4; BYTE $0xd0 // vpcmpeqq ymm2, ymm10, ymm0
LONG $0xd2efb5c5 // vpxor ymm2, ymm9, ymm2
LONG $0x397de3c4; WORD $0x01d3 // vextracti128 xmm3, ymm2, 1
LONG $0xd36be9c5 // vpackssdw xmm2, xmm2, xmm3
LONG $0xd26be9c5 // vpackssdw xmm2, xmm2, xmm2
LONG $0xd263e9c5 // vpacksswb xmm2, xmm2, xmm2
LONG $0x293de2c4; BYTE $0xd8 // vpcmpeqq ymm3, ymm8, ymm0
LONG $0xdbefb5c5 // vpxor ymm3, ymm9, ymm3
LONG $0x397de3c4; WORD $0x01dd // vextracti128 xmm5, ymm3, 1
LONG $0xdd6be1c5 // vpackssdw xmm3, xmm3, xmm5
LONG $0xdb6be1c5 // vpackssdw xmm3, xmm3, xmm3
LONG $0xdb63e1c5 // vpacksswb xmm3, xmm3, xmm3
LONG $0x294de2c4; BYTE $0xe8 // vpcmpeqq ymm5, ymm6, ymm0
LONG $0xedefb5c5 // vpxor ymm5, ymm9, ymm5
LONG $0x397de3c4; WORD $0x01ee // vextracti128 xmm6, ymm5, 1
LONG $0xee6bd1c5 // vpackssdw xmm5, xmm5, xmm6
LONG $0xed6bd1c5 // vpackssdw xmm5, xmm5, xmm5
LONG $0xed63d1c5 // vpacksswb xmm5, xmm5, xmm5
LONG $0x295de2c4; BYTE $0xe0 // vpcmpeqq ymm4, ymm4, ymm0
LONG $0xe4efb5c5 // vpxor ymm4, ymm9, ymm4
LONG $0x397de3c4; WORD $0x01e6 // vextracti128 xmm6, ymm4, 1
LONG $0xe66bd9c5 // vpackssdw xmm4, xmm4, xmm6
LONG $0xe46bd9c5 // vpackssdw xmm4, xmm4, xmm4
LONG $0xe463d9c5 // vpacksswb xmm4, xmm4, xmm4
LONG $0x4c69c3c4; WORD $0xc0d3 // vpblendvb xmm2, xmm2, xmm11, xmm12
LONG $0x4c61c3c4; WORD $0xd0db // vpblendvb xmm3, xmm3, xmm11, xmm13
LONG $0x4c51c3c4; WORD $0x70eb // vpblendvb xmm5, xmm5, xmm11, xmm7
LONG $0xd362e9c5 // vpunpckldq xmm2, xmm2, xmm3
LONG $0x4c59c3c4; WORD $0x10cb // vpblendvb xmm1, xmm4, xmm11, xmm1
LONG $0xc962d1c5 // vpunpckldq xmm1, xmm5, xmm1
LONG $0xc96ce9c5 // vpunpcklqdq xmm1, xmm2, xmm1
LONG $0x7f7ac1c4; WORD $0x300c // vmovdqu oword [r8 + rsi], xmm1
LONG $0x10c68348 // add rsi, 16
WORD $0x3949; BYTE $0xf3 // cmp r11, rsi
JNE LBB4_979
WORD $0x394d; BYTE $0xd3 // cmp r11, r10
JE LBB4_1351
JMP LBB4_981
LBB4_986:
WORD $0x8944; BYTE $0xd2 // mov edx, r10d
WORD $0xe283; BYTE $0xe0 // and edx, -32
WORD $0xf631 // xor esi, esi
LONG $0x571841c4; BYTE $0xe4 // vxorps xmm12, xmm12, xmm12
LONG $0x761541c4; BYTE $0xed // vpcmpeqd ymm13, ymm13, ymm13
LONG $0x756f79c5; BYTE $0x50 // vmovdqa xmm14, oword 80[rbp] /* [rip + .LCPI4_12] */
LONG $0x760141c4; BYTE $0xff // vpcmpeqd xmm15, xmm15, xmm15
LBB4_987:
LONG $0x0c107cc5; BYTE $0xb1 // vmovups ymm9, yword [rcx + 4*rsi]
LONG $0x54107cc5; WORD $0x20b1 // vmovups ymm10, yword [rcx + 4*rsi + 32]
LONG $0x5c107cc5; WORD $0x40b1 // vmovups ymm11, yword [rcx + 4*rsi + 64]
LONG $0x7c10fcc5; WORD $0x60b1 // vmovups ymm7, yword [rcx + 4*rsi + 96]
LONG $0xc234c1c4; WORD $0x00e4 // vcmpeqps ymm4, ymm9, ymm12
LONG $0x197de3c4; WORD $0x01e5 // vextractf128 xmm5, ymm4, 1
LONG $0xe56bd9c5 // vpackssdw xmm4, xmm4, xmm5
LONG $0xc46359c5 // vpacksswb xmm8, xmm4, xmm4
LONG $0xc22cc1c4; WORD $0x00e4 // vcmpeqps ymm4, ymm10, ymm12
LONG $0x197de3c4; WORD $0x01e6 // vextractf128 xmm6, ymm4, 1
LONG $0xe66bd9c5 // vpackssdw xmm4, xmm4, xmm6
LONG $0xf463d9c5 // vpacksswb xmm6, xmm4, xmm4
LONG $0xc224c1c4; WORD $0x00e4 // vcmpeqps ymm4, ymm11, ymm12
LONG $0x197de3c4; WORD $0x01e0 // vextractf128 xmm0, ymm4, 1
LONG $0xc06bd9c5 // vpackssdw xmm0, xmm4, xmm0
LONG $0xe063f9c5 // vpacksswb xmm4, xmm0, xmm0
LONG $0xc7c29cc5; BYTE $0x00 // vcmpeqps ymm0, ymm12, ymm7
LONG $0x197de3c4; WORD $0x01c1 // vextractf128 xmm1, ymm0, 1
LONG $0xc16bf9c5 // vpackssdw xmm0, xmm0, xmm1
LONG $0xc063f9c5 // vpacksswb xmm0, xmm0, xmm0
LONG $0x6635c1c4; BYTE $0xcd // vpcmpgtd ymm1, ymm9, ymm13
LONG $0x397de3c4; WORD $0x01ca // vextracti128 xmm2, ymm1, 1
LONG $0xca6bf1c5 // vpackssdw xmm1, xmm1, xmm2
LONG $0xc963f1c5 // vpacksswb xmm1, xmm1, xmm1
LONG $0x662dc1c4; BYTE $0xd5 // vpcmpgtd ymm2, ymm10, ymm13
LONG $0x397de3c4; WORD $0x01d3 // vextracti128 xmm3, ymm2, 1
LONG $0xd36be9c5 // vpackssdw xmm2, xmm2, xmm3
LONG $0xd263e9c5 // vpacksswb xmm2, xmm2, xmm2
LONG $0x6625c1c4; BYTE $0xdd // vpcmpgtd ymm3, ymm11, ymm13
LONG $0x397de3c4; WORD $0x01dd // vextracti128 xmm5, ymm3, 1
LONG $0xdd6be1c5 // vpackssdw xmm3, xmm3, xmm5
LONG $0xdb63e1c5 // vpacksswb xmm3, xmm3, xmm3
LONG $0x6645c1c4; BYTE $0xed // vpcmpgtd ymm5, ymm7, ymm13
LONG $0x397de3c4; WORD $0x01ef // vextracti128 xmm7, ymm5, 1
LONG $0xef6bd1c5 // vpackssdw xmm5, xmm5, xmm7
LONG $0x4c01c3c4; WORD $0x10ce // vpblendvb xmm1, xmm15, xmm14, xmm1
LONG $0xed63d1c5 // vpacksswb xmm5, xmm5, xmm5
LONG $0xc9dfb9c5 // vpandn xmm1, xmm8, xmm1
LONG $0x4c01c3c4; WORD $0x20d6 // vpblendvb xmm2, xmm15, xmm14, xmm2
LONG $0x4c01c3c4; WORD $0x30de // vpblendvb xmm3, xmm15, xmm14, xmm3
LONG $0x4c01c3c4; WORD $0x50ee // vpblendvb xmm5, xmm15, xmm14, xmm5
LONG $0xffefc1c5 // vpxor xmm7, xmm7, xmm7
LONG $0x4c69e3c4; WORD $0x60d7 // vpblendvb xmm2, xmm2, xmm7, xmm6
LONG $0x4c51e3c4; WORD $0x00c7 // vpblendvb xmm0, xmm5, xmm7, xmm0
LONG $0xdbdfd9c5 // vpandn xmm3, xmm4, xmm3
LONG $0x3865e3c4; WORD $0x01c0 // vinserti128 ymm0, ymm3, xmm0, 1
LONG $0x3875e3c4; WORD $0x01ca // vinserti128 ymm1, ymm1, xmm2, 1
LONG $0xc06cf5c5 // vpunpcklqdq ymm0, ymm1, ymm0
LONG $0x00fde3c4; WORD $0xd8c0 // vpermq ymm0, ymm0, 216
LONG $0x7f7ec1c4; WORD $0x3004 // vmovdqu yword [r8 + rsi], ymm0
LONG $0x20c68348 // add rsi, 32
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_987
WORD $0x394c; BYTE $0xd2 // cmp rdx, r10
JE LBB4_1351
JMP LBB4_989
LBB4_994:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0x80 // and edx, -128
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
QUAD $0x000000e08d6ffdc5 // vmovdqa ymm1, yword 224[rbp] /* [rip + .LCPI4_20] */
LBB4_995:
LONG $0x1474fdc5; BYTE $0x31 // vpcmpeqb ymm2, ymm0, yword [rcx + rsi]
LONG $0xd1dfedc5 // vpandn ymm2, ymm2, ymm1
LONG $0x5c74fdc5; WORD $0x2031 // vpcmpeqb ymm3, ymm0, yword [rcx + rsi + 32]
LONG $0xd9dfe5c5 // vpandn ymm3, ymm3, ymm1
LONG $0x6474fdc5; WORD $0x4031 // vpcmpeqb ymm4, ymm0, yword [rcx + rsi + 64]
LONG $0x6c74fdc5; WORD $0x6031 // vpcmpeqb ymm5, ymm0, yword [rcx + rsi + 96]
LONG $0xe1dfddc5 // vpandn ymm4, ymm4, ymm1
LONG $0xe9dfd5c5 // vpandn ymm5, ymm5, ymm1
LONG $0x7f7ec1c4; WORD $0x3014 // vmovdqu yword [r8 + rsi], ymm2
LONG $0x7f7ec1c4; WORD $0x305c; BYTE $0x20 // vmovdqu yword [r8 + rsi + 32], ymm3
LONG $0x7f7ec1c4; WORD $0x3064; BYTE $0x40 // vmovdqu yword [r8 + rsi + 64], ymm4
LONG $0x7f7ec1c4; WORD $0x306c; BYTE $0x60 // vmovdqu yword [r8 + rsi + 96], ymm5
LONG $0x80ee8348 // sub rsi, -128
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_995
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1351
JMP LBB4_997
LBB4_1001:
WORD $0x8945; BYTE $0xd3 // mov r11d, r10d
LONG $0xe0e38341 // and r11d, -32
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0x763541c4; BYTE $0xc9 // vpcmpeqd ymm9, ymm9, ymm9
LONG $0x556f79c5; BYTE $0x50 // vmovdqa xmm10, oword 80[rbp] /* [rip + .LCPI4_12] */
LBB4_1002:
LONG $0x3c6ffec5; BYTE $0xb1 // vmovdqu ymm7, yword [rcx + 4*rsi]
LONG $0x446f7ec5; WORD $0x20b1 // vmovdqu ymm8, yword [rcx + 4*rsi + 32]
LONG $0x746ffec5; WORD $0x40b1 // vmovdqu ymm6, yword [rcx + 4*rsi + 64]
LONG $0x646ffec5; WORD $0x60b1 // vmovdqu ymm4, yword [rcx + 4*rsi + 96]
LONG $0xd866c5c5 // vpcmpgtd ymm3, ymm7, ymm0
LONG $0x397de3c4; WORD $0x01dd // vextracti128 xmm5, ymm3, 1
LONG $0xdd6be1c5 // vpackssdw xmm3, xmm3, xmm5
LONG $0xdb6361c5 // vpacksswb xmm11, xmm3, xmm3
LONG $0xe866bdc5 // vpcmpgtd ymm5, ymm8, ymm0
LONG $0x397de3c4; WORD $0x01e9 // vextracti128 xmm1, ymm5, 1
LONG $0xc96bd1c5 // vpackssdw xmm1, xmm5, xmm1
LONG $0xe16371c5 // vpacksswb xmm12, xmm1, xmm1
LONG $0xc866cdc5 // vpcmpgtd ymm1, ymm6, ymm0
LONG $0x397de3c4; WORD $0x01ca // vextracti128 xmm2, ymm1, 1
LONG $0xca6bf1c5 // vpackssdw xmm1, xmm1, xmm2
LONG $0xc963f1c5 // vpacksswb xmm1, xmm1, xmm1
LONG $0xd066ddc5 // vpcmpgtd ymm2, ymm4, ymm0
LONG $0x397de3c4; WORD $0x01d3 // vextracti128 xmm3, ymm2, 1
LONG $0xd36be9c5 // vpackssdw xmm2, xmm2, xmm3
LONG $0xd263e9c5 // vpacksswb xmm2, xmm2, xmm2
LONG $0xd876c5c5 // vpcmpeqd ymm3, ymm7, ymm0
LONG $0xdbefb5c5 // vpxor ymm3, ymm9, ymm3
LONG $0x397de3c4; WORD $0x01df // vextracti128 xmm7, ymm3, 1
LONG $0xdf6be1c5 // vpackssdw xmm3, xmm3, xmm7
LONG $0xdb63e1c5 // vpacksswb xmm3, xmm3, xmm3
LONG $0xf876bdc5 // vpcmpeqd ymm7, ymm8, ymm0
LONG $0xffefb5c5 // vpxor ymm7, ymm9, ymm7
LONG $0x397de3c4; WORD $0x01fd // vextracti128 xmm5, ymm7, 1
LONG $0xed6bc1c5 // vpackssdw xmm5, xmm7, xmm5
LONG $0xed63d1c5 // vpacksswb xmm5, xmm5, xmm5
LONG $0xf076cdc5 // vpcmpeqd ymm6, ymm6, ymm0
LONG $0xf6efb5c5 // vpxor ymm6, ymm9, ymm6
LONG $0x397de3c4; WORD $0x01f7 // vextracti128 xmm7, ymm6, 1
LONG $0xf76bc9c5 // vpackssdw xmm6, xmm6, xmm7
LONG $0xf663c9c5 // vpacksswb xmm6, xmm6, xmm6
LONG $0xe076ddc5 // vpcmpeqd ymm4, ymm4, ymm0
LONG $0xe4efb5c5 // vpxor ymm4, ymm9, ymm4
LONG $0x397de3c4; WORD $0x01e7 // vextracti128 xmm7, ymm4, 1
LONG $0xe76bd9c5 // vpackssdw xmm4, xmm4, xmm7
LONG $0xe463d9c5 // vpacksswb xmm4, xmm4, xmm4
LONG $0x4c61c3c4; WORD $0xb0da // vpblendvb xmm3, xmm3, xmm10, xmm11
LONG $0x4c51c3c4; WORD $0xc0ea // vpblendvb xmm5, xmm5, xmm10, xmm12
LONG $0x4c49c3c4; WORD $0x10ca // vpblendvb xmm1, xmm6, xmm10, xmm1
LONG $0x4c59c3c4; WORD $0x20d2 // vpblendvb xmm2, xmm4, xmm10, xmm2
LONG $0x3875e3c4; WORD $0x01ca // vinserti128 ymm1, ymm1, xmm2, 1
LONG $0x3865e3c4; WORD $0x01d5 // vinserti128 ymm2, ymm3, xmm5, 1
LONG $0xc96cedc5 // vpunpcklqdq ymm1, ymm2, ymm1
LONG $0x00fde3c4; WORD $0xd8c9 // vpermq ymm1, ymm1, 216
LONG $0x7f7ec1c4; WORD $0x300c // vmovdqu yword [r8 + rsi], ymm1
LONG $0x20c68348 // add rsi, 32
WORD $0x3949; BYTE $0xf3 // cmp r11, rsi
JNE LBB4_1002
WORD $0x394d; BYTE $0xd3 // cmp r11, r10
JE LBB4_1351
JMP LBB4_1004
LBB4_1009:
WORD $0x8944; BYTE $0xda // mov edx, r11d
WORD $0xe283; BYTE $0xf0 // and edx, -16
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0x763941c4; BYTE $0xc0 // vpcmpeqd xmm8, xmm8, xmm8
LONG $0x197de2c4; WORD $0x2855 // vbroadcastsd ymm2, qword 40[rbp] /* [rip + .LCPI4_15] */
LBB4_1010:
LONG $0x1c6ef9c5; BYTE $0x31 // vmovd xmm3, dword [rcx + rsi]
LONG $0x646ef9c5; WORD $0x0431 // vmovd xmm4, dword [rcx + rsi + 4]
LONG $0x6c6ef9c5; WORD $0x0831 // vmovd xmm5, dword [rcx + rsi + 8]
LONG $0x746ef9c5; WORD $0x0c31 // vmovd xmm6, dword [rcx + rsi + 12]
LONG $0xf864e1c5 // vpcmpgtb xmm7, xmm3, xmm0
LONG $0x227d62c4; BYTE $0xcf // vpmovsxbq ymm9, xmm7
LONG $0xc864d9c5 // vpcmpgtb xmm1, xmm4, xmm0
LONG $0x227d62c4; BYTE $0xd1 // vpmovsxbq ymm10, xmm1
LONG $0xf864d1c5 // vpcmpgtb xmm7, xmm5, xmm0
LONG $0x227de2c4; BYTE $0xff // vpmovsxbq ymm7, xmm7
LONG $0xc864c9c5 // vpcmpgtb xmm1, xmm6, xmm0
LONG $0x227de2c4; BYTE $0xc9 // vpmovsxbq ymm1, xmm1
LONG $0xd874e1c5 // vpcmpeqb xmm3, xmm3, xmm0
LONG $0xdbefb9c5 // vpxor xmm3, xmm8, xmm3
LONG $0x227de2c4; BYTE $0xdb // vpmovsxbq ymm3, xmm3
LONG $0xe074d9c5 // vpcmpeqb xmm4, xmm4, xmm0
LONG $0xe4efb9c5 // vpxor xmm4, xmm8, xmm4
LONG $0x227de2c4; BYTE $0xe4 // vpmovsxbq ymm4, xmm4
LONG $0xe874d1c5 // vpcmpeqb xmm5, xmm5, xmm0
LONG $0xedefb9c5 // vpxor xmm5, xmm8, xmm5
LONG $0x227de2c4; BYTE $0xed // vpmovsxbq ymm5, xmm5
LONG $0xf074c9c5 // vpcmpeqb xmm6, xmm6, xmm0
LONG $0xf6efb9c5 // vpxor xmm6, xmm8, xmm6
LONG $0x227de2c4; BYTE $0xf6 // vpmovsxbq ymm6, xmm6
LONG $0x4b65e3c4; WORD $0x90da // vblendvpd ymm3, ymm3, ymm2, ymm9
LONG $0x4b5de3c4; WORD $0xa0e2 // vblendvpd ymm4, ymm4, ymm2, ymm10
LONG $0x4b55e3c4; WORD $0x70ea // vblendvpd ymm5, ymm5, ymm2, ymm7
LONG $0x4b4de3c4; WORD $0x10ca // vblendvpd ymm1, ymm6, ymm2, ymm1
LONG $0x117dc1c4; WORD $0xf01c // vmovupd yword [r8 + 8*rsi], ymm3
LONG $0x117dc1c4; WORD $0xf064; BYTE $0x20 // vmovupd yword [r8 + 8*rsi + 32], ymm4
LONG $0x117dc1c4; WORD $0xf06c; BYTE $0x40 // vmovupd yword [r8 + 8*rsi + 64], ymm5
LONG $0x117dc1c4; WORD $0xf04c; BYTE $0x60 // vmovupd yword [r8 + 8*rsi + 96], ymm1
LONG $0x10c68348 // add rsi, 16
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_1010
WORD $0x394c; BYTE $0xda // cmp rdx, r11
JE LBB4_1351
JMP LBB4_1012
LBB4_1017:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xf0 // and edx, -16
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0x597de2c4; WORD $0x284d // vpbroadcastq ymm1, qword 40[rbp] /* [rip + .LCPI4_15] */
LBB4_1018:
LONG $0x297de2c4; WORD $0xf114 // vpcmpeqq ymm2, ymm0, yword [rcx + 8*rsi]
LONG $0xd1dfedc5 // vpandn ymm2, ymm2, ymm1
LONG $0x297de2c4; WORD $0xf15c; BYTE $0x20 // vpcmpeqq ymm3, ymm0, yword [rcx + 8*rsi + 32]
LONG $0xd9dfe5c5 // vpandn ymm3, ymm3, ymm1
LONG $0x297de2c4; WORD $0xf164; BYTE $0x40 // vpcmpeqq ymm4, ymm0, yword [rcx + 8*rsi + 64]
LONG $0x297de2c4; WORD $0xf16c; BYTE $0x60 // vpcmpeqq ymm5, ymm0, yword [rcx + 8*rsi + 96]
LONG $0xe1dfddc5 // vpandn ymm4, ymm4, ymm1
LONG $0xe9dfd5c5 // vpandn ymm5, ymm5, ymm1
LONG $0x7f7ec1c4; WORD $0xf014 // vmovdqu yword [r8 + 8*rsi], ymm2
LONG $0x7f7ec1c4; WORD $0xf05c; BYTE $0x20 // vmovdqu yword [r8 + 8*rsi + 32], ymm3
LONG $0x7f7ec1c4; WORD $0xf064; BYTE $0x40 // vmovdqu yword [r8 + 8*rsi + 64], ymm4
LONG $0x7f7ec1c4; WORD $0xf06c; BYTE $0x60 // vmovdqu yword [r8 + 8*rsi + 96], ymm5
LONG $0x10c68348 // add rsi, 16
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_1018
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1351
JMP LBB4_1020
LBB4_1024:
WORD $0x8944; BYTE $0xda // mov edx, r11d
WORD $0xe283; BYTE $0xf0 // and edx, -16
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0xc976f5c5 // vpcmpeqd ymm1, ymm1, ymm1
LONG $0x597de2c4; WORD $0x2855 // vpbroadcastq ymm2, qword 40[rbp] /* [rip + .LCPI4_15] */
LBB4_1025:
LONG $0x1c6ffec5; BYTE $0xf1 // vmovdqu ymm3, yword [rcx + 8*rsi]
LONG $0x646ffec5; WORD $0x20f1 // vmovdqu ymm4, yword [rcx + 8*rsi + 32]
LONG $0x6c6ffec5; WORD $0x40f1 // vmovdqu ymm5, yword [rcx + 8*rsi + 64]
LONG $0x746ffec5; WORD $0x60f1 // vmovdqu ymm6, yword [rcx + 8*rsi + 96]
LONG $0x2965e2c4; BYTE $0xf8 // vpcmpeqq ymm7, ymm3, ymm0
LONG $0xf9efc5c5 // vpxor ymm7, ymm7, ymm1
LONG $0x295d62c4; BYTE $0xc0 // vpcmpeqq ymm8, ymm4, ymm0
LONG $0xc1ef3dc5 // vpxor ymm8, ymm8, ymm1
LONG $0x295562c4; BYTE $0xc8 // vpcmpeqq ymm9, ymm5, ymm0
LONG $0xc9ef35c5 // vpxor ymm9, ymm9, ymm1
LONG $0x294d62c4; BYTE $0xd0 // vpcmpeqq ymm10, ymm6, ymm0
LONG $0xd1ef2dc5 // vpxor ymm10, ymm10, ymm1
LONG $0x376de2c4; BYTE $0xdb // vpcmpgtq ymm3, ymm2, ymm3
LONG $0x376de2c4; BYTE $0xe4 // vpcmpgtq ymm4, ymm2, ymm4
LONG $0x376de2c4; BYTE $0xed // vpcmpgtq ymm5, ymm2, ymm5
LONG $0x376de2c4; BYTE $0xf6 // vpcmpgtq ymm6, ymm2, ymm6
LONG $0x4b6de3c4; WORD $0x30df // vblendvpd ymm3, ymm2, ymm7, ymm3
LONG $0x4b6dc3c4; WORD $0x40e0 // vblendvpd ymm4, ymm2, ymm8, ymm4
LONG $0x4b6dc3c4; WORD $0x50e9 // vblendvpd ymm5, ymm2, ymm9, ymm5
LONG $0x4b6dc3c4; WORD $0x60f2 // vblendvpd ymm6, ymm2, ymm10, ymm6
LONG $0x117dc1c4; WORD $0xf01c // vmovupd yword [r8 + 8*rsi], ymm3
LONG $0x117dc1c4; WORD $0xf064; BYTE $0x20 // vmovupd yword [r8 + 8*rsi + 32], ymm4
LONG $0x117dc1c4; WORD $0xf06c; BYTE $0x40 // vmovupd yword [r8 + 8*rsi + 64], ymm5
LONG $0x117dc1c4; WORD $0xf074; BYTE $0x60 // vmovupd yword [r8 + 8*rsi + 96], ymm6
LONG $0x10c68348 // add rsi, 16
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_1025
WORD $0x394c; BYTE $0xda // cmp rdx, r11
JE LBB4_1351
JMP LBB4_1027
LBB4_1032:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xf0 // and edx, -16
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0xc976f1c5 // vpcmpeqd xmm1, xmm1, xmm1
LONG $0x597de2c4; WORD $0x2855 // vpbroadcastq ymm2, qword 40[rbp] /* [rip + .LCPI4_15] */
LBB4_1033:
LONG $0x1c6ef9c5; BYTE $0x31 // vmovd xmm3, dword [rcx + rsi]
LONG $0x646ef9c5; WORD $0x0431 // vmovd xmm4, dword [rcx + rsi + 4]
LONG $0x6c6ef9c5; WORD $0x0831 // vmovd xmm5, dword [rcx + rsi + 8]
LONG $0x746ef9c5; WORD $0x0c31 // vmovd xmm6, dword [rcx + rsi + 12]
LONG $0xd874e1c5 // vpcmpeqb xmm3, xmm3, xmm0
LONG $0xd9efe1c5 // vpxor xmm3, xmm3, xmm1
LONG $0x327de2c4; BYTE $0xdb // vpmovzxbq ymm3, xmm3
LONG $0xdadbe5c5 // vpand ymm3, ymm3, ymm2
LONG $0xe074d9c5 // vpcmpeqb xmm4, xmm4, xmm0
LONG $0xe1efd9c5 // vpxor xmm4, xmm4, xmm1
LONG $0x327de2c4; BYTE $0xe4 // vpmovzxbq ymm4, xmm4
LONG $0xe2dbddc5 // vpand ymm4, ymm4, ymm2
LONG $0xe874d1c5 // vpcmpeqb xmm5, xmm5, xmm0
LONG $0xe9efd1c5 // vpxor xmm5, xmm5, xmm1
LONG $0x327de2c4; BYTE $0xed // vpmovzxbq ymm5, xmm5
LONG $0xeadbd5c5 // vpand ymm5, ymm5, ymm2
LONG $0xf074c9c5 // vpcmpeqb xmm6, xmm6, xmm0
LONG $0xf1efc9c5 // vpxor xmm6, xmm6, xmm1
LONG $0x327de2c4; BYTE $0xf6 // vpmovzxbq ymm6, xmm6
LONG $0xf2dbcdc5 // vpand ymm6, ymm6, ymm2
LONG $0x7f7ec1c4; WORD $0xf01c // vmovdqu yword [r8 + 8*rsi], ymm3
LONG $0x7f7ec1c4; WORD $0xf064; BYTE $0x20 // vmovdqu yword [r8 + 8*rsi + 32], ymm4
LONG $0x7f7ec1c4; WORD $0xf06c; BYTE $0x40 // vmovdqu yword [r8 + 8*rsi + 64], ymm5
LONG $0x7f7ec1c4; WORD $0xf074; BYTE $0x60 // vmovdqu yword [r8 + 8*rsi + 96], ymm6
LONG $0x10c68348 // add rsi, 16
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_1033
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1351
JMP LBB4_1035
LBB4_1039:
WORD $0x8944; BYTE $0xda // mov edx, r11d
WORD $0xe283; BYTE $0xc0 // and edx, -64
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0x763941c4; BYTE $0xc0 // vpcmpeqd xmm8, xmm8, xmm8
QUAD $0x000000c08d6f7dc5 // vmovdqa ymm9, yword 192[rbp] /* [rip + .LCPI4_18] */
LBB4_1040:
LONG $0x1c6ffac5; BYTE $0x31 // vmovdqu xmm3, oword [rcx + rsi]
LONG $0x646ffac5; WORD $0x1031 // vmovdqu xmm4, oword [rcx + rsi + 16]
LONG $0x6c6ffac5; WORD $0x2031 // vmovdqu xmm5, oword [rcx + rsi + 32]
LONG $0x746ffac5; WORD $0x3031 // vmovdqu xmm6, oword [rcx + rsi + 48]
LONG $0xf864e1c5 // vpcmpgtb xmm7, xmm3, xmm0
LONG $0x207d62c4; BYTE $0xd7 // vpmovsxbw ymm10, xmm7
LONG $0xc864d9c5 // vpcmpgtb xmm1, xmm4, xmm0
LONG $0x207de2c4; BYTE $0xc9 // vpmovsxbw ymm1, xmm1
LONG $0xd064d1c5 // vpcmpgtb xmm2, xmm5, xmm0
LONG $0x207de2c4; BYTE $0xd2 // vpmovsxbw ymm2, xmm2
LONG $0xf864c9c5 // vpcmpgtb xmm7, xmm6, xmm0
LONG $0x207de2c4; BYTE $0xff // vpmovsxbw ymm7, xmm7
LONG $0xd874e1c5 // vpcmpeqb xmm3, xmm3, xmm0
LONG $0xdbefb9c5 // vpxor xmm3, xmm8, xmm3
LONG $0x207de2c4; BYTE $0xdb // vpmovsxbw ymm3, xmm3
LONG $0xe074d9c5 // vpcmpeqb xmm4, xmm4, xmm0
LONG $0xe4efb9c5 // vpxor xmm4, xmm8, xmm4
LONG $0x207de2c4; BYTE $0xe4 // vpmovsxbw ymm4, xmm4
LONG $0xe874d1c5 // vpcmpeqb xmm5, xmm5, xmm0
LONG $0xedefb9c5 // vpxor xmm5, xmm8, xmm5
LONG $0x207de2c4; BYTE $0xed // vpmovsxbw ymm5, xmm5
LONG $0xf074c9c5 // vpcmpeqb xmm6, xmm6, xmm0
LONG $0xf6efb9c5 // vpxor xmm6, xmm8, xmm6
LONG $0x207de2c4; BYTE $0xf6 // vpmovsxbw ymm6, xmm6
LONG $0x4c65c3c4; WORD $0xa0d9 // vpblendvb ymm3, ymm3, ymm9, ymm10
LONG $0x4c5dc3c4; WORD $0x10c9 // vpblendvb ymm1, ymm4, ymm9, ymm1
LONG $0x4c55c3c4; WORD $0x20d1 // vpblendvb ymm2, ymm5, ymm9, ymm2
LONG $0x4c4dc3c4; WORD $0x70e1 // vpblendvb ymm4, ymm6, ymm9, ymm7
LONG $0x7f7ec1c4; WORD $0x701c // vmovdqu yword [r8 + 2*rsi], ymm3
LONG $0x7f7ec1c4; WORD $0x704c; BYTE $0x20 // vmovdqu yword [r8 + 2*rsi + 32], ymm1
LONG $0x7f7ec1c4; WORD $0x7054; BYTE $0x40 // vmovdqu yword [r8 + 2*rsi + 64], ymm2
LONG $0x7f7ec1c4; WORD $0x7064; BYTE $0x60 // vmovdqu yword [r8 + 2*rsi + 96], ymm4
LONG $0x40c68348 // add rsi, 64
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_1040
WORD $0x394c; BYTE $0xda // cmp rdx, r11
JE LBB4_1351
JMP LBB4_1042
LBB4_1047:
WORD $0x8944; BYTE $0xda // mov edx, r11d
WORD $0xe283; BYTE $0xc0 // and edx, -64
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0x763941c4; BYTE $0xc0 // vpcmpeqd xmm8, xmm8, xmm8
QUAD $0x000000c08d6f7dc5 // vmovdqa ymm9, yword 192[rbp] /* [rip + .LCPI4_18] */
LBB4_1048:
LONG $0x1c6ffac5; BYTE $0x31 // vmovdqu xmm3, oword [rcx + rsi]
LONG $0x646ffac5; WORD $0x1031 // vmovdqu xmm4, oword [rcx + rsi + 16]
LONG $0x6c6ffac5; WORD $0x2031 // vmovdqu xmm5, oword [rcx + rsi + 32]
LONG $0x746ffac5; WORD $0x3031 // vmovdqu xmm6, oword [rcx + rsi + 48]
LONG $0xf864e1c5 // vpcmpgtb xmm7, xmm3, xmm0
LONG $0x207d62c4; BYTE $0xd7 // vpmovsxbw ymm10, xmm7
LONG $0xc864d9c5 // vpcmpgtb xmm1, xmm4, xmm0
LONG $0x207de2c4; BYTE $0xc9 // vpmovsxbw ymm1, xmm1
LONG $0xd064d1c5 // vpcmpgtb xmm2, xmm5, xmm0
LONG $0x207de2c4; BYTE $0xd2 // vpmovsxbw ymm2, xmm2
LONG $0xf864c9c5 // vpcmpgtb xmm7, xmm6, xmm0
LONG $0x207de2c4; BYTE $0xff // vpmovsxbw ymm7, xmm7
LONG $0xd874e1c5 // vpcmpeqb xmm3, xmm3, xmm0
LONG $0xdbefb9c5 // vpxor xmm3, xmm8, xmm3
LONG $0x207de2c4; BYTE $0xdb // vpmovsxbw ymm3, xmm3
LONG $0xe074d9c5 // vpcmpeqb xmm4, xmm4, xmm0
LONG $0xe4efb9c5 // vpxor xmm4, xmm8, xmm4
LONG $0x207de2c4; BYTE $0xe4 // vpmovsxbw ymm4, xmm4
LONG $0xe874d1c5 // vpcmpeqb xmm5, xmm5, xmm0
LONG $0xedefb9c5 // vpxor xmm5, xmm8, xmm5
LONG $0x207de2c4; BYTE $0xed // vpmovsxbw ymm5, xmm5
LONG $0xf074c9c5 // vpcmpeqb xmm6, xmm6, xmm0
LONG $0xf6efb9c5 // vpxor xmm6, xmm8, xmm6
LONG $0x207de2c4; BYTE $0xf6 // vpmovsxbw ymm6, xmm6
LONG $0x4c65c3c4; WORD $0xa0d9 // vpblendvb ymm3, ymm3, ymm9, ymm10
LONG $0x4c5dc3c4; WORD $0x10c9 // vpblendvb ymm1, ymm4, ymm9, ymm1
LONG $0x4c55c3c4; WORD $0x20d1 // vpblendvb ymm2, ymm5, ymm9, ymm2
LONG $0x4c4dc3c4; WORD $0x70e1 // vpblendvb ymm4, ymm6, ymm9, ymm7
LONG $0x7f7ec1c4; WORD $0x701c // vmovdqu yword [r8 + 2*rsi], ymm3
LONG $0x7f7ec1c4; WORD $0x704c; BYTE $0x20 // vmovdqu yword [r8 + 2*rsi + 32], ymm1
LONG $0x7f7ec1c4; WORD $0x7054; BYTE $0x40 // vmovdqu yword [r8 + 2*rsi + 64], ymm2
LONG $0x7f7ec1c4; WORD $0x7064; BYTE $0x60 // vmovdqu yword [r8 + 2*rsi + 96], ymm4
LONG $0x40c68348 // add rsi, 64
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_1048
WORD $0x394c; BYTE $0xda // cmp rdx, r11
JE LBB4_1351
JMP LBB4_1050
LBB4_1055:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xe0 // and edx, -32
LONG $0xe0728d48 // lea rsi, [rdx - 32]
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xf6 // test rsi, rsi
JE LBB4_1317
WORD $0x894c; BYTE $0xce // mov rsi, r9
LONG $0xfee68348 // and rsi, -2
WORD $0xf748; BYTE $0xde // neg rsi
WORD $0xff31 // xor edi, edi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
QUAD $0x000000c08d6ffdc5 // vmovdqa ymm1, yword 192[rbp] /* [rip + .LCPI4_18] */
LBB4_1057:
LONG $0x1475fdc5; BYTE $0x79 // vpcmpeqw ymm2, ymm0, yword [rcx + 2*rdi]
LONG $0xd1dfedc5 // vpandn ymm2, ymm2, ymm1
LONG $0x5c75fdc5; WORD $0x2079 // vpcmpeqw ymm3, ymm0, yword [rcx + 2*rdi + 32]
LONG $0xd9dfe5c5 // vpandn ymm3, ymm3, ymm1
LONG $0x7f7ec1c4; WORD $0x7814 // vmovdqu yword [r8 + 2*rdi], ymm2
LONG $0x7f7ec1c4; WORD $0x785c; BYTE $0x20 // vmovdqu yword [r8 + 2*rdi + 32], ymm3
LONG $0x5475fdc5; WORD $0x4079 // vpcmpeqw ymm2, ymm0, yword [rcx + 2*rdi + 64]
LONG $0xd1dfedc5 // vpandn ymm2, ymm2, ymm1
LONG $0x5c75fdc5; WORD $0x6079 // vpcmpeqw ymm3, ymm0, yword [rcx + 2*rdi + 96]
LONG $0xd9dfe5c5 // vpandn ymm3, ymm3, ymm1
LONG $0x7f7ec1c4; WORD $0x7854; BYTE $0x40 // vmovdqu yword [r8 + 2*rdi + 64], ymm2
LONG $0x7f7ec1c4; WORD $0x785c; BYTE $0x60 // vmovdqu yword [r8 + 2*rdi + 96], ymm3
LONG $0x40c78348 // add rdi, 64
LONG $0x02c68348 // add rsi, 2
JNE LBB4_1057
JMP LBB4_1318
LBB4_1058:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xe0 // and edx, -32
LONG $0xe0728d48 // lea rsi, [rdx - 32]
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xf6 // test rsi, rsi
JE LBB4_1325
WORD $0x894c; BYTE $0xce // mov rsi, r9
LONG $0xfee68348 // and rsi, -2
WORD $0xf748; BYTE $0xde // neg rsi
WORD $0xff31 // xor edi, edi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
QUAD $0x000000c08d6ffdc5 // vmovdqa ymm1, yword 192[rbp] /* [rip + .LCPI4_18] */
LBB4_1060:
LONG $0x1475fdc5; BYTE $0x79 // vpcmpeqw ymm2, ymm0, yword [rcx + 2*rdi]
LONG $0xd1dfedc5 // vpandn ymm2, ymm2, ymm1
LONG $0x5c75fdc5; WORD $0x2079 // vpcmpeqw ymm3, ymm0, yword [rcx + 2*rdi + 32]
LONG $0xd9dfe5c5 // vpandn ymm3, ymm3, ymm1
LONG $0x7f7ec1c4; WORD $0x7814 // vmovdqu yword [r8 + 2*rdi], ymm2
LONG $0x7f7ec1c4; WORD $0x785c; BYTE $0x20 // vmovdqu yword [r8 + 2*rdi + 32], ymm3
LONG $0x5475fdc5; WORD $0x4079 // vpcmpeqw ymm2, ymm0, yword [rcx + 2*rdi + 64]
LONG $0xd1dfedc5 // vpandn ymm2, ymm2, ymm1
LONG $0x5c75fdc5; WORD $0x6079 // vpcmpeqw ymm3, ymm0, yword [rcx + 2*rdi + 96]
LONG $0xd9dfe5c5 // vpandn ymm3, ymm3, ymm1
LONG $0x7f7ec1c4; WORD $0x7854; BYTE $0x40 // vmovdqu yword [r8 + 2*rdi + 64], ymm2
LONG $0x7f7ec1c4; WORD $0x785c; BYTE $0x60 // vmovdqu yword [r8 + 2*rdi + 96], ymm3
LONG $0x40c78348 // add rdi, 64
LONG $0x02c68348 // add rsi, 2
JNE LBB4_1060
JMP LBB4_1326
LBB4_1061:
WORD $0x8944; BYTE $0xda // mov edx, r11d
WORD $0xe283; BYTE $0xe0 // and edx, -32
LONG $0xe0728d48 // lea rsi, [rdx - 32]
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xf6 // test rsi, rsi
JE LBB4_1333
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0xc976f5c5 // vpcmpeqd ymm1, ymm1, ymm1
QUAD $0x000000c0956ffdc5 // vmovdqa ymm2, yword 192[rbp] /* [rip + .LCPI4_18] */
LBB4_1063:
LONG $0x1c6ffec5; BYTE $0x71 // vmovdqu ymm3, yword [rcx + 2*rsi]
LONG $0x646ffec5; WORD $0x2071 // vmovdqu ymm4, yword [rcx + 2*rsi + 32]
LONG $0xe875e5c5 // vpcmpeqw ymm5, ymm3, ymm0
LONG $0xe9efd5c5 // vpxor ymm5, ymm5, ymm1
LONG $0xf075ddc5 // vpcmpeqw ymm6, ymm4, ymm0
LONG $0xf1efcdc5 // vpxor ymm6, ymm6, ymm1
LONG $0xdb65edc5 // vpcmpgtw ymm3, ymm2, ymm3
LONG $0xe465edc5 // vpcmpgtw ymm4, ymm2, ymm4
LONG $0x4c6de3c4; WORD $0x30dd // vpblendvb ymm3, ymm2, ymm5, ymm3
LONG $0x4c6de3c4; WORD $0x40e6 // vpblendvb ymm4, ymm2, ymm6, ymm4
LONG $0x7f7ec1c4; WORD $0x701c // vmovdqu yword [r8 + 2*rsi], ymm3
LONG $0x7f7ec1c4; WORD $0x7064; BYTE $0x20 // vmovdqu yword [r8 + 2*rsi + 32], ymm4
LONG $0x5c6ffec5; WORD $0x4071 // vmovdqu ymm3, yword [rcx + 2*rsi + 64]
LONG $0x646ffec5; WORD $0x6071 // vmovdqu ymm4, yword [rcx + 2*rsi + 96]
LONG $0xe875e5c5 // vpcmpeqw ymm5, ymm3, ymm0
LONG $0xe9efd5c5 // vpxor ymm5, ymm5, ymm1
LONG $0xf075ddc5 // vpcmpeqw ymm6, ymm4, ymm0
LONG $0xf1efcdc5 // vpxor ymm6, ymm6, ymm1
LONG $0xdb65edc5 // vpcmpgtw ymm3, ymm2, ymm3
LONG $0xe465edc5 // vpcmpgtw ymm4, ymm2, ymm4
LONG $0x4c6de3c4; WORD $0x30dd // vpblendvb ymm3, ymm2, ymm5, ymm3
LONG $0x4c6de3c4; WORD $0x40e6 // vpblendvb ymm4, ymm2, ymm6, ymm4
LONG $0x7f7ec1c4; WORD $0x705c; BYTE $0x40 // vmovdqu yword [r8 + 2*rsi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0x7064; BYTE $0x60 // vmovdqu yword [r8 + 2*rsi + 96], ymm4
LONG $0x40c68348 // add rsi, 64
LONG $0x02c78348 // add rdi, 2
JNE LBB4_1063
JMP LBB4_1334
LBB4_1064:
WORD $0x8944; BYTE $0xda // mov edx, r11d
WORD $0xe283; BYTE $0xe0 // and edx, -32
LONG $0xe0728d48 // lea rsi, [rdx - 32]
WORD $0x8949; BYTE $0xf1 // mov r9, rsi
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xf6 // test rsi, rsi
JE LBB4_1342
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0xc976f5c5 // vpcmpeqd ymm1, ymm1, ymm1
QUAD $0x000000c0956ffdc5 // vmovdqa ymm2, yword 192[rbp] /* [rip + .LCPI4_18] */
LBB4_1066:
LONG $0x1c6ffec5; BYTE $0x71 // vmovdqu ymm3, yword [rcx + 2*rsi]
LONG $0x646ffec5; WORD $0x2071 // vmovdqu ymm4, yword [rcx + 2*rsi + 32]
LONG $0xe875e5c5 // vpcmpeqw ymm5, ymm3, ymm0
LONG $0xe9efd5c5 // vpxor ymm5, ymm5, ymm1
LONG $0xf075ddc5 // vpcmpeqw ymm6, ymm4, ymm0
LONG $0xf1efcdc5 // vpxor ymm6, ymm6, ymm1
LONG $0xdb65edc5 // vpcmpgtw ymm3, ymm2, ymm3
LONG $0xe465edc5 // vpcmpgtw ymm4, ymm2, ymm4
LONG $0x4c6de3c4; WORD $0x30dd // vpblendvb ymm3, ymm2, ymm5, ymm3
LONG $0x4c6de3c4; WORD $0x40e6 // vpblendvb ymm4, ymm2, ymm6, ymm4
LONG $0x7f7ec1c4; WORD $0x701c // vmovdqu yword [r8 + 2*rsi], ymm3
LONG $0x7f7ec1c4; WORD $0x7064; BYTE $0x20 // vmovdqu yword [r8 + 2*rsi + 32], ymm4
LONG $0x5c6ffec5; WORD $0x4071 // vmovdqu ymm3, yword [rcx + 2*rsi + 64]
LONG $0x646ffec5; WORD $0x6071 // vmovdqu ymm4, yword [rcx + 2*rsi + 96]
LONG $0xe875e5c5 // vpcmpeqw ymm5, ymm3, ymm0
LONG $0xe9efd5c5 // vpxor ymm5, ymm5, ymm1
LONG $0xf075ddc5 // vpcmpeqw ymm6, ymm4, ymm0
LONG $0xf1efcdc5 // vpxor ymm6, ymm6, ymm1
LONG $0xdb65edc5 // vpcmpgtw ymm3, ymm2, ymm3
LONG $0xe465edc5 // vpcmpgtw ymm4, ymm2, ymm4
LONG $0x4c6de3c4; WORD $0x30dd // vpblendvb ymm3, ymm2, ymm5, ymm3
LONG $0x4c6de3c4; WORD $0x40e6 // vpblendvb ymm4, ymm2, ymm6, ymm4
LONG $0x7f7ec1c4; WORD $0x705c; BYTE $0x40 // vmovdqu yword [r8 + 2*rsi + 64], ymm3
LONG $0x7f7ec1c4; WORD $0x7064; BYTE $0x60 // vmovdqu yword [r8 + 2*rsi + 96], ymm4
LONG $0x40c68348 // add rsi, 64
LONG $0x02c78348 // add rdi, 2
JNE LBB4_1066
JMP LBB4_1343
LBB4_1067:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xc0 // and edx, -64
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0xc976f1c5 // vpcmpeqd xmm1, xmm1, xmm1
QUAD $0x000000c0956ffdc5 // vmovdqa ymm2, yword 192[rbp] /* [rip + .LCPI4_18] */
LBB4_1068:
LONG $0x1c74f9c5; BYTE $0x31 // vpcmpeqb xmm3, xmm0, oword [rcx + rsi]
LONG $0xd9efe1c5 // vpxor xmm3, xmm3, xmm1
LONG $0x307de2c4; BYTE $0xdb // vpmovzxbw ymm3, xmm3
LONG $0x6474f9c5; WORD $0x1031 // vpcmpeqb xmm4, xmm0, oword [rcx + rsi + 16]
LONG $0xdadbe5c5 // vpand ymm3, ymm3, ymm2
LONG $0xe1efd9c5 // vpxor xmm4, xmm4, xmm1
LONG $0x307de2c4; BYTE $0xe4 // vpmovzxbw ymm4, xmm4
LONG $0xe2dbddc5 // vpand ymm4, ymm4, ymm2
LONG $0x6c74f9c5; WORD $0x2031 // vpcmpeqb xmm5, xmm0, oword [rcx + rsi + 32]
LONG $0xe9efd1c5 // vpxor xmm5, xmm5, xmm1
LONG $0x307de2c4; BYTE $0xed // vpmovzxbw ymm5, xmm5
LONG $0xeadbd5c5 // vpand ymm5, ymm5, ymm2
LONG $0x7474f9c5; WORD $0x3031 // vpcmpeqb xmm6, xmm0, oword [rcx + rsi + 48]
LONG $0xf1efc9c5 // vpxor xmm6, xmm6, xmm1
LONG $0x307de2c4; BYTE $0xf6 // vpmovzxbw ymm6, xmm6
LONG $0xf2dbcdc5 // vpand ymm6, ymm6, ymm2
LONG $0x7f7ec1c4; WORD $0x701c // vmovdqu yword [r8 + 2*rsi], ymm3
LONG $0x7f7ec1c4; WORD $0x7064; BYTE $0x20 // vmovdqu yword [r8 + 2*rsi + 32], ymm4
LONG $0x7f7ec1c4; WORD $0x706c; BYTE $0x40 // vmovdqu yword [r8 + 2*rsi + 64], ymm5
LONG $0x7f7ec1c4; WORD $0x7074; BYTE $0x60 // vmovdqu yword [r8 + 2*rsi + 96], ymm6
LONG $0x40c68348 // add rsi, 64
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_1068
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1351
JMP LBB4_1070
LBB4_1074:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xc0 // and edx, -64
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0xc976f1c5 // vpcmpeqd xmm1, xmm1, xmm1
QUAD $0x000000c0956ffdc5 // vmovdqa ymm2, yword 192[rbp] /* [rip + .LCPI4_18] */
LBB4_1075:
LONG $0x1c74f9c5; BYTE $0x31 // vpcmpeqb xmm3, xmm0, oword [rcx + rsi]
LONG $0xd9efe1c5 // vpxor xmm3, xmm3, xmm1
LONG $0x307de2c4; BYTE $0xdb // vpmovzxbw ymm3, xmm3
LONG $0x6474f9c5; WORD $0x1031 // vpcmpeqb xmm4, xmm0, oword [rcx + rsi + 16]
LONG $0xdadbe5c5 // vpand ymm3, ymm3, ymm2
LONG $0xe1efd9c5 // vpxor xmm4, xmm4, xmm1
LONG $0x307de2c4; BYTE $0xe4 // vpmovzxbw ymm4, xmm4
LONG $0xe2dbddc5 // vpand ymm4, ymm4, ymm2
LONG $0x6c74f9c5; WORD $0x2031 // vpcmpeqb xmm5, xmm0, oword [rcx + rsi + 32]
LONG $0xe9efd1c5 // vpxor xmm5, xmm5, xmm1
LONG $0x307de2c4; BYTE $0xed // vpmovzxbw ymm5, xmm5
LONG $0xeadbd5c5 // vpand ymm5, ymm5, ymm2
LONG $0x7474f9c5; WORD $0x3031 // vpcmpeqb xmm6, xmm0, oword [rcx + rsi + 48]
LONG $0xf1efc9c5 // vpxor xmm6, xmm6, xmm1
LONG $0x307de2c4; BYTE $0xf6 // vpmovzxbw ymm6, xmm6
LONG $0xf2dbcdc5 // vpand ymm6, ymm6, ymm2
LONG $0x7f7ec1c4; WORD $0x701c // vmovdqu yword [r8 + 2*rsi], ymm3
LONG $0x7f7ec1c4; WORD $0x7064; BYTE $0x20 // vmovdqu yword [r8 + 2*rsi + 32], ymm4
LONG $0x7f7ec1c4; WORD $0x706c; BYTE $0x40 // vmovdqu yword [r8 + 2*rsi + 64], ymm5
LONG $0x7f7ec1c4; WORD $0x7074; BYTE $0x60 // vmovdqu yword [r8 + 2*rsi + 96], ymm6
LONG $0x40c68348 // add rsi, 64
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_1075
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1351
JMP LBB4_1077
LBB4_1081:
WORD $0x8944; BYTE $0xda // mov edx, r11d
WORD $0xe283; BYTE $0xf0 // and edx, -16
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0x763941c4; BYTE $0xc0 // vpcmpeqd xmm8, xmm8, xmm8
LONG $0x197de2c4; WORD $0x2855 // vbroadcastsd ymm2, qword 40[rbp] /* [rip + .LCPI4_15] */
LBB4_1082:
LONG $0x1c6ef9c5; BYTE $0x31 // vmovd xmm3, dword [rcx + rsi]
LONG $0x646ef9c5; WORD $0x0431 // vmovd xmm4, dword [rcx + rsi + 4]
LONG $0x6c6ef9c5; WORD $0x0831 // vmovd xmm5, dword [rcx + rsi + 8]
LONG $0x746ef9c5; WORD $0x0c31 // vmovd xmm6, dword [rcx + rsi + 12]
LONG $0xf864e1c5 // vpcmpgtb xmm7, xmm3, xmm0
LONG $0x227d62c4; BYTE $0xcf // vpmovsxbq ymm9, xmm7
LONG $0xc864d9c5 // vpcmpgtb xmm1, xmm4, xmm0
LONG $0x227d62c4; BYTE $0xd1 // vpmovsxbq ymm10, xmm1
LONG $0xf864d1c5 // vpcmpgtb xmm7, xmm5, xmm0
LONG $0x227de2c4; BYTE $0xff // vpmovsxbq ymm7, xmm7
LONG $0xc864c9c5 // vpcmpgtb xmm1, xmm6, xmm0
LONG $0x227de2c4; BYTE $0xc9 // vpmovsxbq ymm1, xmm1
LONG $0xd874e1c5 // vpcmpeqb xmm3, xmm3, xmm0
LONG $0xdbefb9c5 // vpxor xmm3, xmm8, xmm3
LONG $0x227de2c4; BYTE $0xdb // vpmovsxbq ymm3, xmm3
LONG $0xe074d9c5 // vpcmpeqb xmm4, xmm4, xmm0
LONG $0xe4efb9c5 // vpxor xmm4, xmm8, xmm4
LONG $0x227de2c4; BYTE $0xe4 // vpmovsxbq ymm4, xmm4
LONG $0xe874d1c5 // vpcmpeqb xmm5, xmm5, xmm0
LONG $0xedefb9c5 // vpxor xmm5, xmm8, xmm5
LONG $0x227de2c4; BYTE $0xed // vpmovsxbq ymm5, xmm5
LONG $0xf074c9c5 // vpcmpeqb xmm6, xmm6, xmm0
LONG $0xf6efb9c5 // vpxor xmm6, xmm8, xmm6
LONG $0x227de2c4; BYTE $0xf6 // vpmovsxbq ymm6, xmm6
LONG $0x4b65e3c4; WORD $0x90da // vblendvpd ymm3, ymm3, ymm2, ymm9
LONG $0x4b5de3c4; WORD $0xa0e2 // vblendvpd ymm4, ymm4, ymm2, ymm10
LONG $0x4b55e3c4; WORD $0x70ea // vblendvpd ymm5, ymm5, ymm2, ymm7
LONG $0x4b4de3c4; WORD $0x10ca // vblendvpd ymm1, ymm6, ymm2, ymm1
LONG $0x117dc1c4; WORD $0xf01c // vmovupd yword [r8 + 8*rsi], ymm3
LONG $0x117dc1c4; WORD $0xf064; BYTE $0x20 // vmovupd yword [r8 + 8*rsi + 32], ymm4
LONG $0x117dc1c4; WORD $0xf06c; BYTE $0x40 // vmovupd yword [r8 + 8*rsi + 64], ymm5
LONG $0x117dc1c4; WORD $0xf04c; BYTE $0x60 // vmovupd yword [r8 + 8*rsi + 96], ymm1
LONG $0x10c68348 // add rsi, 16
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_1082
WORD $0x394c; BYTE $0xda // cmp rdx, r11
JE LBB4_1351
JMP LBB4_1084
LBB4_1089:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xe0 // and edx, -32
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0x763941c4; BYTE $0xc0 // vpcmpeqd xmm8, xmm8, xmm8
QUAD $0x00009895187de2c4; BYTE $0x00 // vbroadcastss ymm2, dword 152[rbp] /* [rip + .LCPI4_5] */
LBB4_1090:
LONG $0x1c7efac5; BYTE $0x31 // vmovq xmm3, qword [rcx + rsi]
LONG $0x647efac5; WORD $0x0831 // vmovq xmm4, qword [rcx + rsi + 8]
LONG $0x6c7efac5; WORD $0x1031 // vmovq xmm5, qword [rcx + rsi + 16]
LONG $0x747efac5; WORD $0x1831 // vmovq xmm6, qword [rcx + rsi + 24]
LONG $0xf864e1c5 // vpcmpgtb xmm7, xmm3, xmm0
LONG $0x217d62c4; BYTE $0xcf // vpmovsxbd ymm9, xmm7
LONG $0xc864d9c5 // vpcmpgtb xmm1, xmm4, xmm0
LONG $0x217d62c4; BYTE $0xd1 // vpmovsxbd ymm10, xmm1
LONG $0xf864d1c5 // vpcmpgtb xmm7, xmm5, xmm0
LONG $0x217de2c4; BYTE $0xff // vpmovsxbd ymm7, xmm7
LONG $0xc864c9c5 // vpcmpgtb xmm1, xmm6, xmm0
LONG $0x217de2c4; BYTE $0xc9 // vpmovsxbd ymm1, xmm1
LONG $0xd874e1c5 // vpcmpeqb xmm3, xmm3, xmm0
LONG $0xdbefb9c5 // vpxor xmm3, xmm8, xmm3
LONG $0x217de2c4; BYTE $0xdb // vpmovsxbd ymm3, xmm3
LONG $0xdb5bfcc5 // vcvtdq2ps ymm3, ymm3
LONG $0xe074d9c5 // vpcmpeqb xmm4, xmm4, xmm0
LONG $0xe4efb9c5 // vpxor xmm4, xmm8, xmm4
LONG $0x217de2c4; BYTE $0xe4 // vpmovsxbd ymm4, xmm4
LONG $0xe45bfcc5 // vcvtdq2ps ymm4, ymm4
LONG $0xe874d1c5 // vpcmpeqb xmm5, xmm5, xmm0
LONG $0xedefb9c5 // vpxor xmm5, xmm8, xmm5
LONG $0x217de2c4; BYTE $0xed // vpmovsxbd ymm5, xmm5
LONG $0xed5bfcc5 // vcvtdq2ps ymm5, ymm5
LONG $0xf074c9c5 // vpcmpeqb xmm6, xmm6, xmm0
LONG $0xf6efb9c5 // vpxor xmm6, xmm8, xmm6
LONG $0x217de2c4; BYTE $0xf6 // vpmovsxbd ymm6, xmm6
LONG $0xf65bfcc5 // vcvtdq2ps ymm6, ymm6
LONG $0x4a65e3c4; WORD $0x90da // vblendvps ymm3, ymm3, ymm2, ymm9
LONG $0x4a5de3c4; WORD $0xa0e2 // vblendvps ymm4, ymm4, ymm2, ymm10
LONG $0x4a55e3c4; WORD $0x70ea // vblendvps ymm5, ymm5, ymm2, ymm7
LONG $0x4a4de3c4; WORD $0x10ca // vblendvps ymm1, ymm6, ymm2, ymm1
LONG $0x117cc1c4; WORD $0xb01c // vmovups yword [r8 + 4*rsi], ymm3
LONG $0x117cc1c4; WORD $0xb064; BYTE $0x20 // vmovups yword [r8 + 4*rsi + 32], ymm4
LONG $0x117cc1c4; WORD $0xb06c; BYTE $0x40 // vmovups yword [r8 + 4*rsi + 64], ymm5
LONG $0x117cc1c4; WORD $0xb04c; BYTE $0x60 // vmovups yword [r8 + 4*rsi + 96], ymm1
LONG $0x20c68348 // add rsi, 32
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_1090
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1351
JMP LBB4_1092
LBB4_1095:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xf0 // and edx, -16
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0x597de2c4; WORD $0x284d // vpbroadcastq ymm1, qword 40[rbp] /* [rip + .LCPI4_15] */
LBB4_1096:
LONG $0x297de2c4; WORD $0xf114 // vpcmpeqq ymm2, ymm0, yword [rcx + 8*rsi]
LONG $0xd1dfedc5 // vpandn ymm2, ymm2, ymm1
LONG $0x297de2c4; WORD $0xf15c; BYTE $0x20 // vpcmpeqq ymm3, ymm0, yword [rcx + 8*rsi + 32]
LONG $0xd9dfe5c5 // vpandn ymm3, ymm3, ymm1
LONG $0x297de2c4; WORD $0xf164; BYTE $0x40 // vpcmpeqq ymm4, ymm0, yword [rcx + 8*rsi + 64]
LONG $0x297de2c4; WORD $0xf16c; BYTE $0x60 // vpcmpeqq ymm5, ymm0, yword [rcx + 8*rsi + 96]
LONG $0xe1dfddc5 // vpandn ymm4, ymm4, ymm1
LONG $0xe9dfd5c5 // vpandn ymm5, ymm5, ymm1
LONG $0x7f7ec1c4; WORD $0xf014 // vmovdqu yword [r8 + 8*rsi], ymm2
LONG $0x7f7ec1c4; WORD $0xf05c; BYTE $0x20 // vmovdqu yword [r8 + 8*rsi + 32], ymm3
LONG $0x7f7ec1c4; WORD $0xf064; BYTE $0x40 // vmovdqu yword [r8 + 8*rsi + 64], ymm4
LONG $0x7f7ec1c4; WORD $0xf06c; BYTE $0x60 // vmovdqu yword [r8 + 8*rsi + 96], ymm5
LONG $0x10c68348 // add rsi, 16
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_1096
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1351
JMP LBB4_1098
LBB4_1102:
WORD $0x8944; BYTE $0xda // mov edx, r11d
WORD $0xe283; BYTE $0xf0 // and edx, -16
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0xc976f5c5 // vpcmpeqd ymm1, ymm1, ymm1
LONG $0x597de2c4; WORD $0x2855 // vpbroadcastq ymm2, qword 40[rbp] /* [rip + .LCPI4_15] */
LBB4_1103:
LONG $0x1c6ffec5; BYTE $0xf1 // vmovdqu ymm3, yword [rcx + 8*rsi]
LONG $0x646ffec5; WORD $0x20f1 // vmovdqu ymm4, yword [rcx + 8*rsi + 32]
LONG $0x6c6ffec5; WORD $0x40f1 // vmovdqu ymm5, yword [rcx + 8*rsi + 64]
LONG $0x746ffec5; WORD $0x60f1 // vmovdqu ymm6, yword [rcx + 8*rsi + 96]
LONG $0x2965e2c4; BYTE $0xf8 // vpcmpeqq ymm7, ymm3, ymm0
LONG $0xf9efc5c5 // vpxor ymm7, ymm7, ymm1
LONG $0x295d62c4; BYTE $0xc0 // vpcmpeqq ymm8, ymm4, ymm0
LONG $0xc1ef3dc5 // vpxor ymm8, ymm8, ymm1
LONG $0x295562c4; BYTE $0xc8 // vpcmpeqq ymm9, ymm5, ymm0
LONG $0xc9ef35c5 // vpxor ymm9, ymm9, ymm1
LONG $0x294d62c4; BYTE $0xd0 // vpcmpeqq ymm10, ymm6, ymm0
LONG $0xd1ef2dc5 // vpxor ymm10, ymm10, ymm1
LONG $0x376de2c4; BYTE $0xdb // vpcmpgtq ymm3, ymm2, ymm3
LONG $0x376de2c4; BYTE $0xe4 // vpcmpgtq ymm4, ymm2, ymm4
LONG $0x376de2c4; BYTE $0xed // vpcmpgtq ymm5, ymm2, ymm5
LONG $0x376de2c4; BYTE $0xf6 // vpcmpgtq ymm6, ymm2, ymm6
LONG $0x4b6de3c4; WORD $0x30df // vblendvpd ymm3, ymm2, ymm7, ymm3
LONG $0x4b6dc3c4; WORD $0x40e0 // vblendvpd ymm4, ymm2, ymm8, ymm4
LONG $0x4b6dc3c4; WORD $0x50e9 // vblendvpd ymm5, ymm2, ymm9, ymm5
LONG $0x4b6dc3c4; WORD $0x60f2 // vblendvpd ymm6, ymm2, ymm10, ymm6
LONG $0x117dc1c4; WORD $0xf01c // vmovupd yword [r8 + 8*rsi], ymm3
LONG $0x117dc1c4; WORD $0xf064; BYTE $0x20 // vmovupd yword [r8 + 8*rsi + 32], ymm4
LONG $0x117dc1c4; WORD $0xf06c; BYTE $0x40 // vmovupd yword [r8 + 8*rsi + 64], ymm5
LONG $0x117dc1c4; WORD $0xf074; BYTE $0x60 // vmovupd yword [r8 + 8*rsi + 96], ymm6
LONG $0x10c68348 // add rsi, 16
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_1103
WORD $0x394c; BYTE $0xda // cmp rdx, r11
JE LBB4_1351
JMP LBB4_1105
LBB4_1110:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xe0 // and edx, -32
WORD $0xf631 // xor esi, esi
LONG $0xc057f8c5 // vxorps xmm0, xmm0, xmm0
QUAD $0x00009c8d587de2c4; BYTE $0x00 // vpbroadcastd ymm1, dword 156[rbp] /* [rip + .LCPI4_8] */
LBB4_1111:
LONG $0x146ffec5; BYTE $0xb1 // vmovdqu ymm2, yword [rcx + 4*rsi]
LONG $0x5c6ffec5; WORD $0x20b1 // vmovdqu ymm3, yword [rcx + 4*rsi + 32]
LONG $0x646ffec5; WORD $0x40b1 // vmovdqu ymm4, yword [rcx + 4*rsi + 64]
LONG $0x6c6ffec5; WORD $0x60b1 // vmovdqu ymm5, yword [rcx + 4*rsi + 96]
LONG $0xe272cdc5; BYTE $0x1f // vpsrad ymm6, ymm2, 31
LONG $0xf1ebcdc5 // vpor ymm6, ymm6, ymm1
LONG $0xe372c5c5; BYTE $0x1f // vpsrad ymm7, ymm3, 31
LONG $0xf9ebc5c5 // vpor ymm7, ymm7, ymm1
LONG $0xe472bdc5; BYTE $0x1f // vpsrad ymm8, ymm4, 31
LONG $0xc1eb3dc5 // vpor ymm8, ymm8, ymm1
LONG $0xe572b5c5; BYTE $0x1f // vpsrad ymm9, ymm5, 31
LONG $0xc9eb35c5 // vpor ymm9, ymm9, ymm1
LONG $0xf65bfcc5 // vcvtdq2ps ymm6, ymm6
LONG $0xff5bfcc5 // vcvtdq2ps ymm7, ymm7
LONG $0x5b7c41c4; BYTE $0xc0 // vcvtdq2ps ymm8, ymm8
LONG $0x5b7c41c4; BYTE $0xc9 // vcvtdq2ps ymm9, ymm9
LONG $0xd0c2ecc5; BYTE $0x04 // vcmpneqps ymm2, ymm2, ymm0
LONG $0xd654ecc5 // vandps ymm2, ymm2, ymm6
LONG $0xd8c2e4c5; BYTE $0x04 // vcmpneqps ymm3, ymm3, ymm0
LONG $0xdf54e4c5 // vandps ymm3, ymm3, ymm7
LONG $0xe0c2dcc5; BYTE $0x04 // vcmpneqps ymm4, ymm4, ymm0
LONG $0xe454bcc5 // vandps ymm4, ymm8, ymm4
LONG $0xe8c2d4c5; BYTE $0x04 // vcmpneqps ymm5, ymm5, ymm0
LONG $0xed54b4c5 // vandps ymm5, ymm9, ymm5
LONG $0x117cc1c4; WORD $0xb014 // vmovups yword [r8 + 4*rsi], ymm2
LONG $0x117cc1c4; WORD $0xb05c; BYTE $0x20 // vmovups yword [r8 + 4*rsi + 32], ymm3
LONG $0x117cc1c4; WORD $0xb064; BYTE $0x40 // vmovups yword [r8 + 4*rsi + 64], ymm4
LONG $0x117cc1c4; WORD $0xb06c; BYTE $0x60 // vmovups yword [r8 + 4*rsi + 96], ymm5
LONG $0x20c68348 // add rsi, 32
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_1111
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1351
JMP LBB4_1113
LBB4_1118:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xf0 // and edx, -16
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0xc976f1c5 // vpcmpeqd xmm1, xmm1, xmm1
LONG $0x597de2c4; WORD $0x2855 // vpbroadcastq ymm2, qword 40[rbp] /* [rip + .LCPI4_15] */
LBB4_1119:
LONG $0x1c6ef9c5; BYTE $0x31 // vmovd xmm3, dword [rcx + rsi]
LONG $0x646ef9c5; WORD $0x0431 // vmovd xmm4, dword [rcx + rsi + 4]
LONG $0x6c6ef9c5; WORD $0x0831 // vmovd xmm5, dword [rcx + rsi + 8]
LONG $0x746ef9c5; WORD $0x0c31 // vmovd xmm6, dword [rcx + rsi + 12]
LONG $0xd874e1c5 // vpcmpeqb xmm3, xmm3, xmm0
LONG $0xd9efe1c5 // vpxor xmm3, xmm3, xmm1
LONG $0x327de2c4; BYTE $0xdb // vpmovzxbq ymm3, xmm3
LONG $0xdadbe5c5 // vpand ymm3, ymm3, ymm2
LONG $0xe074d9c5 // vpcmpeqb xmm4, xmm4, xmm0
LONG $0xe1efd9c5 // vpxor xmm4, xmm4, xmm1
LONG $0x327de2c4; BYTE $0xe4 // vpmovzxbq ymm4, xmm4
LONG $0xe2dbddc5 // vpand ymm4, ymm4, ymm2
LONG $0xe874d1c5 // vpcmpeqb xmm5, xmm5, xmm0
LONG $0xe9efd1c5 // vpxor xmm5, xmm5, xmm1
LONG $0x327de2c4; BYTE $0xed // vpmovzxbq ymm5, xmm5
LONG $0xeadbd5c5 // vpand ymm5, ymm5, ymm2
LONG $0xf074c9c5 // vpcmpeqb xmm6, xmm6, xmm0
LONG $0xf1efc9c5 // vpxor xmm6, xmm6, xmm1
LONG $0x327de2c4; BYTE $0xf6 // vpmovzxbq ymm6, xmm6
LONG $0xf2dbcdc5 // vpand ymm6, ymm6, ymm2
LONG $0x7f7ec1c4; WORD $0xf01c // vmovdqu yword [r8 + 8*rsi], ymm3
LONG $0x7f7ec1c4; WORD $0xf064; BYTE $0x20 // vmovdqu yword [r8 + 8*rsi + 32], ymm4
LONG $0x7f7ec1c4; WORD $0xf06c; BYTE $0x40 // vmovdqu yword [r8 + 8*rsi + 64], ymm5
LONG $0x7f7ec1c4; WORD $0xf074; BYTE $0x60 // vmovdqu yword [r8 + 8*rsi + 96], ymm6
LONG $0x10c68348 // add rsi, 16
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_1119
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1351
JMP LBB4_1121
LBB4_1125:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xe0 // and edx, -32
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0xc976f1c5 // vpcmpeqd xmm1, xmm1, xmm1
QUAD $0x00009c95587de2c4; BYTE $0x00 // vpbroadcastd ymm2, dword 156[rbp] /* [rip + .LCPI4_8] */
LBB4_1126:
LONG $0x1c7efac5; BYTE $0x31 // vmovq xmm3, qword [rcx + rsi]
LONG $0x647efac5; WORD $0x0831 // vmovq xmm4, qword [rcx + rsi + 8]
LONG $0x6c7efac5; WORD $0x1031 // vmovq xmm5, qword [rcx + rsi + 16]
LONG $0x747efac5; WORD $0x1831 // vmovq xmm6, qword [rcx + rsi + 24]
LONG $0xd874e1c5 // vpcmpeqb xmm3, xmm3, xmm0
LONG $0xd9efe1c5 // vpxor xmm3, xmm3, xmm1
LONG $0x317de2c4; BYTE $0xdb // vpmovzxbd ymm3, xmm3
LONG $0xdadbe5c5 // vpand ymm3, ymm3, ymm2
LONG $0xdb5bfcc5 // vcvtdq2ps ymm3, ymm3
LONG $0xe074d9c5 // vpcmpeqb xmm4, xmm4, xmm0
LONG $0xe1efd9c5 // vpxor xmm4, xmm4, xmm1
LONG $0x317de2c4; BYTE $0xe4 // vpmovzxbd ymm4, xmm4
LONG $0xe2dbddc5 // vpand ymm4, ymm4, ymm2
LONG $0xe45bfcc5 // vcvtdq2ps ymm4, ymm4
LONG $0xe874d1c5 // vpcmpeqb xmm5, xmm5, xmm0
LONG $0xe9efd1c5 // vpxor xmm5, xmm5, xmm1
LONG $0x317de2c4; BYTE $0xed // vpmovzxbd ymm5, xmm5
LONG $0xeadbd5c5 // vpand ymm5, ymm5, ymm2
LONG $0xed5bfcc5 // vcvtdq2ps ymm5, ymm5
LONG $0xf074c9c5 // vpcmpeqb xmm6, xmm6, xmm0
LONG $0xf1efc9c5 // vpxor xmm6, xmm6, xmm1
LONG $0x317de2c4; BYTE $0xf6 // vpmovzxbd ymm6, xmm6
LONG $0xf2dbcdc5 // vpand ymm6, ymm6, ymm2
LONG $0xf65bfcc5 // vcvtdq2ps ymm6, ymm6
LONG $0x117cc1c4; WORD $0xb01c // vmovups yword [r8 + 4*rsi], ymm3
LONG $0x117cc1c4; WORD $0xb064; BYTE $0x20 // vmovups yword [r8 + 4*rsi + 32], ymm4
LONG $0x117cc1c4; WORD $0xb06c; BYTE $0x40 // vmovups yword [r8 + 4*rsi + 64], ymm5
LONG $0x117cc1c4; WORD $0xb074; BYTE $0x60 // vmovups yword [r8 + 4*rsi + 96], ymm6
LONG $0x20c68348 // add rsi, 32
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_1126
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1351
JMP LBB4_1128
LBB4_1144:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xe0 // and edx, -32
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0xc976f5c5 // vpcmpeqd ymm1, ymm1, ymm1
LONG $0x556ff9c5; BYTE $0x50 // vmovdqa xmm2, oword 80[rbp] /* [rip + .LCPI4_12] */
LBB4_1145:
LONG $0x1c76fdc5; BYTE $0xb1 // vpcmpeqd ymm3, ymm0, yword [rcx + 4*rsi]
LONG $0xd9efe5c5 // vpxor ymm3, ymm3, ymm1
LONG $0x397de3c4; WORD $0x01dc // vextracti128 xmm4, ymm3, 1
LONG $0xdc6be1c5 // vpackssdw xmm3, xmm3, xmm4
LONG $0xdb63e1c5 // vpacksswb xmm3, xmm3, xmm3
LONG $0xdadbe1c5 // vpand xmm3, xmm3, xmm2
LONG $0x6476fdc5; WORD $0x20b1 // vpcmpeqd ymm4, ymm0, yword [rcx + 4*rsi + 32]
LONG $0xe1efddc5 // vpxor ymm4, ymm4, ymm1
LONG $0x397de3c4; WORD $0x01e5 // vextracti128 xmm5, ymm4, 1
LONG $0xe56bd9c5 // vpackssdw xmm4, xmm4, xmm5
LONG $0xe463d9c5 // vpacksswb xmm4, xmm4, xmm4
LONG $0x6c76fdc5; WORD $0x40b1 // vpcmpeqd ymm5, ymm0, yword [rcx + 4*rsi + 64]
LONG $0xe2dbd9c5 // vpand xmm4, xmm4, xmm2
LONG $0xe9efd5c5 // vpxor ymm5, ymm5, ymm1
LONG $0x397de3c4; WORD $0x01ee // vextracti128 xmm6, ymm5, 1
LONG $0xee6bd1c5 // vpackssdw xmm5, xmm5, xmm6
LONG $0xed63d1c5 // vpacksswb xmm5, xmm5, xmm5
LONG $0xeadbd1c5 // vpand xmm5, xmm5, xmm2
LONG $0x7476fdc5; WORD $0x60b1 // vpcmpeqd ymm6, ymm0, yword [rcx + 4*rsi + 96]
LONG $0xf1efcdc5 // vpxor ymm6, ymm6, ymm1
LONG $0x397de3c4; WORD $0x01f7 // vextracti128 xmm7, ymm6, 1
LONG $0xf76bc9c5 // vpackssdw xmm6, xmm6, xmm7
LONG $0xf663c9c5 // vpacksswb xmm6, xmm6, xmm6
LONG $0xf2dbc9c5 // vpand xmm6, xmm6, xmm2
LONG $0x3855e3c4; WORD $0x01ee // vinserti128 ymm5, ymm5, xmm6, 1
LONG $0x3865e3c4; WORD $0x01dc // vinserti128 ymm3, ymm3, xmm4, 1
LONG $0xdd6ce5c5 // vpunpcklqdq ymm3, ymm3, ymm5
LONG $0x00fde3c4; WORD $0xd8db // vpermq ymm3, ymm3, 216
LONG $0x7f7ec1c4; WORD $0x301c // vmovdqu yword [r8 + rsi], ymm3
LONG $0x20c68348 // add rsi, 32
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_1145
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1351
JMP LBB4_1147
LBB4_1151:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xf0 // and edx, -16
WORD $0xf631 // xor esi, esi
LONG $0x597de2c4; WORD $0x0045 // vpbroadcastq ymm0, qword 0[rbp] /* [rip + .LCPI4_0] */
LONG $0x572941c4; BYTE $0xd2 // vxorpd xmm10, xmm10, xmm10
LONG $0x197de2c4; WORD $0x0855 // vbroadcastsd ymm2, qword 8[rbp] /* [rip + .LCPI4_1] */
LONG $0xef2141c4; BYTE $0xdb // vpxor xmm11, xmm11, xmm11
LBB4_1152:
LONG $0x3410fdc5; BYTE $0xf1 // vmovupd ymm6, yword [rcx + 8*rsi]
LONG $0x7c10fdc5; WORD $0x20f1 // vmovupd ymm7, yword [rcx + 8*rsi + 32]
LONG $0x44107dc5; WORD $0x40f1 // vmovupd ymm8, yword [rcx + 8*rsi + 64]
LONG $0x4c107dc5; WORD $0x60f1 // vmovupd ymm9, yword [rcx + 8*rsi + 96]
LONG $0xe6c2adc5; BYTE $0x00 // vcmpeqpd ymm4, ymm10, ymm6
LONG $0x197de3c4; WORD $0x01e5 // vextractf128 xmm5, ymm4, 1
LONG $0xe56bd9c5 // vpackssdw xmm4, xmm4, xmm5
LONG $0xe46bd9c5 // vpackssdw xmm4, xmm4, xmm4
LONG $0xe46359c5 // vpacksswb xmm12, xmm4, xmm4
LONG $0xefc2adc5; BYTE $0x00 // vcmpeqpd ymm5, ymm10, ymm7
LONG $0x197de3c4; WORD $0x01e9 // vextractf128 xmm1, ymm5, 1
LONG $0xc96bd1c5 // vpackssdw xmm1, xmm5, xmm1
LONG $0xc96bf1c5 // vpackssdw xmm1, xmm1, xmm1
LONG $0xe96371c5 // vpacksswb xmm13, xmm1, xmm1
LONG $0xc23dc1c4; WORD $0x00ca // vcmpeqpd ymm1, ymm8, ymm10
LONG $0x197de3c4; WORD $0x01cb // vextractf128 xmm3, ymm1, 1
LONG $0xcb6bf1c5 // vpackssdw xmm1, xmm1, xmm3
LONG $0xc96bf1c5 // vpackssdw xmm1, xmm1, xmm1
LONG $0xc963f1c5 // vpacksswb xmm1, xmm1, xmm1
LONG $0xc235c1c4; WORD $0x00da // vcmpeqpd ymm3, ymm9, ymm10
LONG $0x197de3c4; WORD $0x01dc // vextractf128 xmm4, ymm3, 1
LONG $0xdc6be1c5 // vpackssdw xmm3, xmm3, xmm4
LONG $0xdb6be1c5 // vpackssdw xmm3, xmm3, xmm3
LONG $0xdb63e1c5 // vpacksswb xmm3, xmm3, xmm3
LONG $0xe054cdc5 // vandpd ymm4, ymm6, ymm0
LONG $0xe456edc5 // vorpd ymm4, ymm2, ymm4
LONG $0xf054c5c5 // vandpd ymm6, ymm7, ymm0
LONG $0xf656edc5 // vorpd ymm6, ymm2, ymm6
LONG $0xf854bdc5 // vandpd ymm7, ymm8, ymm0
LONG $0xff56edc5 // vorpd ymm7, ymm2, ymm7
LONG $0xc05435c5 // vandpd ymm8, ymm9, ymm0
LONG $0xc2563dc5 // vorpd ymm8, ymm8, ymm2
LONG $0xe4e6fdc5 // vcvttpd2dq xmm4, ymm4
LONG $0x2b59e2c4; BYTE $0xe4 // vpackusdw xmm4, xmm4, xmm4
LONG $0xe467d9c5 // vpackuswb xmm4, xmm4, xmm4
LONG $0xf6e6fdc5 // vcvttpd2dq xmm6, ymm6
LONG $0x2b49e2c4; BYTE $0xf6 // vpackusdw xmm6, xmm6, xmm6
LONG $0xf667c9c5 // vpackuswb xmm6, xmm6, xmm6
LONG $0xffe6fdc5 // vcvttpd2dq xmm7, ymm7
LONG $0x2b41e2c4; BYTE $0xff // vpackusdw xmm7, xmm7, xmm7
LONG $0xff67c1c5 // vpackuswb xmm7, xmm7, xmm7
LONG $0xe67dc1c4; BYTE $0xe8 // vcvttpd2dq xmm5, ymm8
LONG $0x2b51e2c4; BYTE $0xed // vpackusdw xmm5, xmm5, xmm5
LONG $0xed67d1c5 // vpackuswb xmm5, xmm5, xmm5
LONG $0x4c59c3c4; WORD $0xc0e3 // vpblendvb xmm4, xmm4, xmm11, xmm12
LONG $0x4c49c3c4; WORD $0xd0f3 // vpblendvb xmm6, xmm6, xmm11, xmm13
LONG $0x4c41c3c4; WORD $0x10cb // vpblendvb xmm1, xmm7, xmm11, xmm1
LONG $0xe662d9c5 // vpunpckldq xmm4, xmm4, xmm6
LONG $0x4c51c3c4; WORD $0x30db // vpblendvb xmm3, xmm5, xmm11, xmm3
LONG $0xcb62f1c5 // vpunpckldq xmm1, xmm1, xmm3
LONG $0xc96cd9c5 // vpunpcklqdq xmm1, xmm4, xmm1
LONG $0x7f7ac1c4; WORD $0x300c // vmovdqu oword [r8 + rsi], xmm1
LONG $0x10c68348 // add rsi, 16
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_1152
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1351
JMP LBB4_1154
LBB4_1159:
WORD $0x8945; BYTE $0xd3 // mov r11d, r10d
LONG $0x80e38341 // and r11d, -128
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0xc976f5c5 // vpcmpeqd ymm1, ymm1, ymm1
QUAD $0x000000e0956ffdc5 // vmovdqa ymm2, yword 224[rbp] /* [rip + .LCPI4_20] */
LBB4_1160:
LONG $0x1c6ffec5; BYTE $0x31 // vmovdqu ymm3, yword [rcx + rsi]
LONG $0x646ffec5; WORD $0x2031 // vmovdqu ymm4, yword [rcx + rsi + 32]
LONG $0x6c6ffec5; WORD $0x4031 // vmovdqu ymm5, yword [rcx + rsi + 64]
LONG $0x746ffec5; WORD $0x6031 // vmovdqu ymm6, yword [rcx + rsi + 96]
LONG $0xf874e5c5 // vpcmpeqb ymm7, ymm3, ymm0
LONG $0xf9efc5c5 // vpxor ymm7, ymm7, ymm1
LONG $0xc0745dc5 // vpcmpeqb ymm8, ymm4, ymm0
LONG $0xc1ef3dc5 // vpxor ymm8, ymm8, ymm1
LONG $0xc87455c5 // vpcmpeqb ymm9, ymm5, ymm0
LONG $0xc9ef35c5 // vpxor ymm9, ymm9, ymm1
LONG $0xd0744dc5 // vpcmpeqb ymm10, ymm6, ymm0
LONG $0xd1ef2dc5 // vpxor ymm10, ymm10, ymm1
LONG $0xdb64edc5 // vpcmpgtb ymm3, ymm2, ymm3
LONG $0xe464edc5 // vpcmpgtb ymm4, ymm2, ymm4
LONG $0xed64edc5 // vpcmpgtb ymm5, ymm2, ymm5
LONG $0xf664edc5 // vpcmpgtb ymm6, ymm2, ymm6
LONG $0x4c6de3c4; WORD $0x30df // vpblendvb ymm3, ymm2, ymm7, ymm3
LONG $0x4c6dc3c4; WORD $0x40e0 // vpblendvb ymm4, ymm2, ymm8, ymm4
LONG $0x4c6dc3c4; WORD $0x50e9 // vpblendvb ymm5, ymm2, ymm9, ymm5
LONG $0x4c6dc3c4; WORD $0x60f2 // vpblendvb ymm6, ymm2, ymm10, ymm6
LONG $0x7f7ec1c4; WORD $0x301c // vmovdqu yword [r8 + rsi], ymm3
LONG $0x7f7ec1c4; WORD $0x3064; BYTE $0x20 // vmovdqu yword [r8 + rsi + 32], ymm4
LONG $0x7f7ec1c4; WORD $0x306c; BYTE $0x40 // vmovdqu yword [r8 + rsi + 64], ymm5
LONG $0x7f7ec1c4; WORD $0x3074; BYTE $0x60 // vmovdqu yword [r8 + rsi + 96], ymm6
LONG $0x80ee8348 // sub rsi, -128
WORD $0x3949; BYTE $0xf3 // cmp r11, rsi
JNE LBB4_1160
WORD $0x394d; BYTE $0xd3 // cmp r11, r10
JE LBB4_1351
JMP LBB4_1162
LBB4_1167:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xf0 // and edx, -16
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0xc976f5c5 // vpcmpeqd ymm1, ymm1, ymm1
LONG $0x556ff9c5; BYTE $0x70 // vmovdqa xmm2, oword 112[rbp] /* [rip + .LCPI4_17] */
LBB4_1168:
LONG $0x297de2c4; WORD $0xf11c // vpcmpeqq ymm3, ymm0, yword [rcx + 8*rsi]
LONG $0xd9efe5c5 // vpxor ymm3, ymm3, ymm1
LONG $0x397de3c4; WORD $0x01dc // vextracti128 xmm4, ymm3, 1
LONG $0xdc6be1c5 // vpackssdw xmm3, xmm3, xmm4
LONG $0xdb6be1c5 // vpackssdw xmm3, xmm3, xmm3
LONG $0xdb63e1c5 // vpacksswb xmm3, xmm3, xmm3
LONG $0xdadbe1c5 // vpand xmm3, xmm3, xmm2
LONG $0x297de2c4; WORD $0xf164; BYTE $0x20 // vpcmpeqq ymm4, ymm0, yword [rcx + 8*rsi + 32]
LONG $0xe1efddc5 // vpxor ymm4, ymm4, ymm1
LONG $0x397de3c4; WORD $0x01e5 // vextracti128 xmm5, ymm4, 1
LONG $0xe56bd9c5 // vpackssdw xmm4, xmm4, xmm5
LONG $0xe46bd9c5 // vpackssdw xmm4, xmm4, xmm4
LONG $0xe463d9c5 // vpacksswb xmm4, xmm4, xmm4
LONG $0xe2dbd9c5 // vpand xmm4, xmm4, xmm2
LONG $0x297de2c4; WORD $0xf16c; BYTE $0x40 // vpcmpeqq ymm5, ymm0, yword [rcx + 8*rsi + 64]
LONG $0xdc62e1c5 // vpunpckldq xmm3, xmm3, xmm4
LONG $0xe1efd5c5 // vpxor ymm4, ymm5, ymm1
LONG $0x397de3c4; WORD $0x01e5 // vextracti128 xmm5, ymm4, 1
LONG $0xe56bd9c5 // vpackssdw xmm4, xmm4, xmm5
LONG $0xe46bd9c5 // vpackssdw xmm4, xmm4, xmm4
LONG $0xe463d9c5 // vpacksswb xmm4, xmm4, xmm4
LONG $0x297de2c4; WORD $0xf16c; BYTE $0x60 // vpcmpeqq ymm5, ymm0, yword [rcx + 8*rsi + 96]
LONG $0xe2dbd9c5 // vpand xmm4, xmm4, xmm2
LONG $0xe9efd5c5 // vpxor ymm5, ymm5, ymm1
LONG $0x397de3c4; WORD $0x01ee // vextracti128 xmm6, ymm5, 1
LONG $0xee6bd1c5 // vpackssdw xmm5, xmm5, xmm6
LONG $0xed6bd1c5 // vpackssdw xmm5, xmm5, xmm5
LONG $0xed63d1c5 // vpacksswb xmm5, xmm5, xmm5
LONG $0xeadbd1c5 // vpand xmm5, xmm5, xmm2
LONG $0xe562d9c5 // vpunpckldq xmm4, xmm4, xmm5
LONG $0xdc6ce1c5 // vpunpcklqdq xmm3, xmm3, xmm4
LONG $0x7f7ac1c4; WORD $0x301c // vmovdqu oword [r8 + rsi], xmm3
LONG $0x10c68348 // add rsi, 16
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_1168
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1351
JMP LBB4_1170
LBB4_1174:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xc0 // and edx, -64
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0xc976f5c5 // vpcmpeqd ymm1, ymm1, ymm1
QUAD $0x00000080956ff9c5 // vmovdqa xmm2, oword 128[rbp] /* [rip + .LCPI4_19] */
LBB4_1175:
LONG $0x1c75fdc5; BYTE $0x71 // vpcmpeqw ymm3, ymm0, yword [rcx + 2*rsi]
LONG $0xd9efe5c5 // vpxor ymm3, ymm3, ymm1
LONG $0x397de3c4; WORD $0x01dc // vextracti128 xmm4, ymm3, 1
LONG $0xdc63e1c5 // vpacksswb xmm3, xmm3, xmm4
LONG $0xdadbe1c5 // vpand xmm3, xmm3, xmm2
LONG $0x6475fdc5; WORD $0x2071 // vpcmpeqw ymm4, ymm0, yword [rcx + 2*rsi + 32]
LONG $0xe1efddc5 // vpxor ymm4, ymm4, ymm1
LONG $0x397de3c4; WORD $0x01e5 // vextracti128 xmm5, ymm4, 1
LONG $0xe563d9c5 // vpacksswb xmm4, xmm4, xmm5
LONG $0xe2dbd9c5 // vpand xmm4, xmm4, xmm2
LONG $0x6c75fdc5; WORD $0x4071 // vpcmpeqw ymm5, ymm0, yword [rcx + 2*rsi + 64]
LONG $0xe9efd5c5 // vpxor ymm5, ymm5, ymm1
LONG $0x397de3c4; WORD $0x01ee // vextracti128 xmm6, ymm5, 1
LONG $0xee63d1c5 // vpacksswb xmm5, xmm5, xmm6
LONG $0xeadbd1c5 // vpand xmm5, xmm5, xmm2
LONG $0x7475fdc5; WORD $0x6071 // vpcmpeqw ymm6, ymm0, yword [rcx + 2*rsi + 96]
LONG $0xf1efcdc5 // vpxor ymm6, ymm6, ymm1
LONG $0x397de3c4; WORD $0x01f7 // vextracti128 xmm7, ymm6, 1
LONG $0xf763c9c5 // vpacksswb xmm6, xmm6, xmm7
LONG $0xf2dbc9c5 // vpand xmm6, xmm6, xmm2
LONG $0x7f7ac1c4; WORD $0x301c // vmovdqu oword [r8 + rsi], xmm3
LONG $0x7f7ac1c4; WORD $0x3064; BYTE $0x10 // vmovdqu oword [r8 + rsi + 16], xmm4
LONG $0x7f7ac1c4; WORD $0x306c; BYTE $0x20 // vmovdqu oword [r8 + rsi + 32], xmm5
LONG $0x7f7ac1c4; WORD $0x3074; BYTE $0x30 // vmovdqu oword [r8 + rsi + 48], xmm6
LONG $0x40c68348 // add rsi, 64
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_1175
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1351
JMP LBB4_1177
LBB4_1181:
WORD $0x8945; BYTE $0xd3 // mov r11d, r10d
LONG $0xc0e38341 // and r11d, -64
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0x763d41c4; BYTE $0xc0 // vpcmpeqd ymm8, ymm8, ymm8
QUAD $0x000000808d6f79c5 // vmovdqa xmm9, oword 128[rbp] /* [rip + .LCPI4_19] */
LBB4_1182:
LONG $0x246ffec5; BYTE $0x71 // vmovdqu ymm4, yword [rcx + 2*rsi]
LONG $0x6c6ffec5; WORD $0x2071 // vmovdqu ymm5, yword [rcx + 2*rsi + 32]
LONG $0x746ffec5; WORD $0x4071 // vmovdqu ymm6, yword [rcx + 2*rsi + 64]
LONG $0x7c6ffec5; WORD $0x6071 // vmovdqu ymm7, yword [rcx + 2*rsi + 96]
LONG $0xd865ddc5 // vpcmpgtw ymm3, ymm4, ymm0
LONG $0x397de3c4; WORD $0x01d9 // vextracti128 xmm1, ymm3, 1
LONG $0xd16361c5 // vpacksswb xmm10, xmm3, xmm1
LONG $0xc865d5c5 // vpcmpgtw ymm1, ymm5, ymm0
LONG $0x397de3c4; WORD $0x01ca // vextracti128 xmm2, ymm1, 1
LONG $0xda6371c5 // vpacksswb xmm11, xmm1, xmm2
LONG $0xd065cdc5 // vpcmpgtw ymm2, ymm6, ymm0
LONG $0x397de3c4; WORD $0x01d3 // vextracti128 xmm3, ymm2, 1
LONG $0xd363e9c5 // vpacksswb xmm2, xmm2, xmm3
LONG $0xd865c5c5 // vpcmpgtw ymm3, ymm7, ymm0
LONG $0x397de3c4; WORD $0x01d9 // vextracti128 xmm1, ymm3, 1
LONG $0xc963e1c5 // vpacksswb xmm1, xmm3, xmm1
LONG $0xd875ddc5 // vpcmpeqw ymm3, ymm4, ymm0
LONG $0xdbefbdc5 // vpxor ymm3, ymm8, ymm3
LONG $0x397de3c4; WORD $0x01dc // vextracti128 xmm4, ymm3, 1
LONG $0xdc63e1c5 // vpacksswb xmm3, xmm3, xmm4
LONG $0xe075d5c5 // vpcmpeqw ymm4, ymm5, ymm0
LONG $0xe4efbdc5 // vpxor ymm4, ymm8, ymm4
LONG $0x397de3c4; WORD $0x01e5 // vextracti128 xmm5, ymm4, 1
LONG $0xe563d9c5 // vpacksswb xmm4, xmm4, xmm5
LONG $0xe875cdc5 // vpcmpeqw ymm5, ymm6, ymm0
LONG $0xedefbdc5 // vpxor ymm5, ymm8, ymm5
LONG $0x397de3c4; WORD $0x01ee // vextracti128 xmm6, ymm5, 1
LONG $0xee63d1c5 // vpacksswb xmm5, xmm5, xmm6
LONG $0xf075c5c5 // vpcmpeqw ymm6, ymm7, ymm0
LONG $0xf6efbdc5 // vpxor ymm6, ymm8, ymm6
LONG $0x397de3c4; WORD $0x01f7 // vextracti128 xmm7, ymm6, 1
LONG $0xf763c9c5 // vpacksswb xmm6, xmm6, xmm7
LONG $0x4c61c3c4; WORD $0xa0d9 // vpblendvb xmm3, xmm3, xmm9, xmm10
LONG $0x4c59c3c4; WORD $0xb0e1 // vpblendvb xmm4, xmm4, xmm9, xmm11
LONG $0x4c51c3c4; WORD $0x20d1 // vpblendvb xmm2, xmm5, xmm9, xmm2
LONG $0x4c49c3c4; WORD $0x10c9 // vpblendvb xmm1, xmm6, xmm9, xmm1
LONG $0x7f7ac1c4; WORD $0x301c // vmovdqu oword [r8 + rsi], xmm3
LONG $0x7f7ac1c4; WORD $0x3064; BYTE $0x10 // vmovdqu oword [r8 + rsi + 16], xmm4
LONG $0x7f7ac1c4; WORD $0x3054; BYTE $0x20 // vmovdqu oword [r8 + rsi + 32], xmm2
LONG $0x7f7ac1c4; WORD $0x304c; BYTE $0x30 // vmovdqu oword [r8 + rsi + 48], xmm1
LONG $0x40c68348 // add rsi, 64
WORD $0x3949; BYTE $0xf3 // cmp r11, rsi
JNE LBB4_1182
WORD $0x394d; BYTE $0xd3 // cmp r11, r10
JE LBB4_1351
JMP LBB4_1184
LBB4_1189:
WORD $0x8945; BYTE $0xd3 // mov r11d, r10d
LONG $0xf0e38341 // and r11d, -16
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0x763541c4; BYTE $0xc9 // vpcmpeqd ymm9, ymm9, ymm9
LONG $0x5d6f79c5; BYTE $0x70 // vmovdqa xmm11, oword 112[rbp] /* [rip + .LCPI4_17] */
LBB4_1190:
LONG $0x146f7ec5; BYTE $0xf1 // vmovdqu ymm10, yword [rcx + 8*rsi]
LONG $0x446f7ec5; WORD $0x20f1 // vmovdqu ymm8, yword [rcx + 8*rsi + 32]
LONG $0x746ffec5; WORD $0x40f1 // vmovdqu ymm6, yword [rcx + 8*rsi + 64]
LONG $0x646ffec5; WORD $0x60f1 // vmovdqu ymm4, yword [rcx + 8*rsi + 96]
LONG $0x372de2c4; BYTE $0xc8 // vpcmpgtq ymm1, ymm10, ymm0
LONG $0x397de3c4; WORD $0x01cb // vextracti128 xmm3, ymm1, 1
LONG $0xcb6bf1c5 // vpackssdw xmm1, xmm1, xmm3
LONG $0xc96bf1c5 // vpackssdw xmm1, xmm1, xmm1
LONG $0xe16371c5 // vpacksswb xmm12, xmm1, xmm1
LONG $0x373de2c4; BYTE $0xc8 // vpcmpgtq ymm1, ymm8, ymm0
LONG $0x397de3c4; WORD $0x01cd // vextracti128 xmm5, ymm1, 1
LONG $0xcd6bf1c5 // vpackssdw xmm1, xmm1, xmm5
LONG $0xc96bf1c5 // vpackssdw xmm1, xmm1, xmm1
LONG $0xe96371c5 // vpacksswb xmm13, xmm1, xmm1
LONG $0x374de2c4; BYTE $0xc8 // vpcmpgtq ymm1, ymm6, ymm0
LONG $0x397de3c4; WORD $0x01cf // vextracti128 xmm7, ymm1, 1
LONG $0xcf6bf1c5 // vpackssdw xmm1, xmm1, xmm7
LONG $0xc96bf1c5 // vpackssdw xmm1, xmm1, xmm1
LONG $0xf963f1c5 // vpacksswb xmm7, xmm1, xmm1
LONG $0x375de2c4; BYTE $0xc8 // vpcmpgtq ymm1, ymm4, ymm0
LONG $0x397de3c4; WORD $0x01ca // vextracti128 xmm2, ymm1, 1
LONG $0xca6bf1c5 // vpackssdw xmm1, xmm1, xmm2
LONG $0xc96bf1c5 // vpackssdw xmm1, xmm1, xmm1
LONG $0xc963f1c5 // vpacksswb xmm1, xmm1, xmm1
LONG $0x292de2c4; BYTE $0xd0 // vpcmpeqq ymm2, ymm10, ymm0
LONG $0xd2efb5c5 // vpxor ymm2, ymm9, ymm2
LONG $0x397de3c4; WORD $0x01d3 // vextracti128 xmm3, ymm2, 1
LONG $0xd36be9c5 // vpackssdw xmm2, xmm2, xmm3
LONG $0xd26be9c5 // vpackssdw xmm2, xmm2, xmm2
LONG $0xd263e9c5 // vpacksswb xmm2, xmm2, xmm2
LONG $0x293de2c4; BYTE $0xd8 // vpcmpeqq ymm3, ymm8, ymm0
LONG $0xdbefb5c5 // vpxor ymm3, ymm9, ymm3
LONG $0x397de3c4; WORD $0x01dd // vextracti128 xmm5, ymm3, 1
LONG $0xdd6be1c5 // vpackssdw xmm3, xmm3, xmm5
LONG $0xdb6be1c5 // vpackssdw xmm3, xmm3, xmm3
LONG $0xdb63e1c5 // vpacksswb xmm3, xmm3, xmm3
LONG $0x294de2c4; BYTE $0xe8 // vpcmpeqq ymm5, ymm6, ymm0
LONG $0xedefb5c5 // vpxor ymm5, ymm9, ymm5
LONG $0x397de3c4; WORD $0x01ee // vextracti128 xmm6, ymm5, 1
LONG $0xee6bd1c5 // vpackssdw xmm5, xmm5, xmm6
LONG $0xed6bd1c5 // vpackssdw xmm5, xmm5, xmm5
LONG $0xed63d1c5 // vpacksswb xmm5, xmm5, xmm5
LONG $0x295de2c4; BYTE $0xe0 // vpcmpeqq ymm4, ymm4, ymm0
LONG $0xe4efb5c5 // vpxor ymm4, ymm9, ymm4
LONG $0x397de3c4; WORD $0x01e6 // vextracti128 xmm6, ymm4, 1
LONG $0xe66bd9c5 // vpackssdw xmm4, xmm4, xmm6
LONG $0xe46bd9c5 // vpackssdw xmm4, xmm4, xmm4
LONG $0xe463d9c5 // vpacksswb xmm4, xmm4, xmm4
LONG $0x4c69c3c4; WORD $0xc0d3 // vpblendvb xmm2, xmm2, xmm11, xmm12
LONG $0x4c61c3c4; WORD $0xd0db // vpblendvb xmm3, xmm3, xmm11, xmm13
LONG $0x4c51c3c4; WORD $0x70eb // vpblendvb xmm5, xmm5, xmm11, xmm7
LONG $0xd362e9c5 // vpunpckldq xmm2, xmm2, xmm3
LONG $0x4c59c3c4; WORD $0x10cb // vpblendvb xmm1, xmm4, xmm11, xmm1
LONG $0xc962d1c5 // vpunpckldq xmm1, xmm5, xmm1
LONG $0xc96ce9c5 // vpunpcklqdq xmm1, xmm2, xmm1
LONG $0x7f7ac1c4; WORD $0x300c // vmovdqu oword [r8 + rsi], xmm1
LONG $0x10c68348 // add rsi, 16
WORD $0x3949; BYTE $0xf3 // cmp r11, rsi
JNE LBB4_1190
WORD $0x394d; BYTE $0xd3 // cmp r11, r10
JE LBB4_1351
JMP LBB4_1192
LBB4_1197:
WORD $0x8944; BYTE $0xd2 // mov edx, r10d
WORD $0xe283; BYTE $0xe0 // and edx, -32
WORD $0xf631 // xor esi, esi
LONG $0x571841c4; BYTE $0xe4 // vxorps xmm12, xmm12, xmm12
LONG $0x761541c4; BYTE $0xed // vpcmpeqd ymm13, ymm13, ymm13
LONG $0x756f79c5; BYTE $0x50 // vmovdqa xmm14, oword 80[rbp] /* [rip + .LCPI4_12] */
LONG $0x760141c4; BYTE $0xff // vpcmpeqd xmm15, xmm15, xmm15
LBB4_1198:
LONG $0x0c107cc5; BYTE $0xb1 // vmovups ymm9, yword [rcx + 4*rsi]
LONG $0x54107cc5; WORD $0x20b1 // vmovups ymm10, yword [rcx + 4*rsi + 32]
LONG $0x5c107cc5; WORD $0x40b1 // vmovups ymm11, yword [rcx + 4*rsi + 64]
LONG $0x7c10fcc5; WORD $0x60b1 // vmovups ymm7, yword [rcx + 4*rsi + 96]
LONG $0xc234c1c4; WORD $0x00e4 // vcmpeqps ymm4, ymm9, ymm12
LONG $0x197de3c4; WORD $0x01e5 // vextractf128 xmm5, ymm4, 1
LONG $0xe56bd9c5 // vpackssdw xmm4, xmm4, xmm5
LONG $0xc46359c5 // vpacksswb xmm8, xmm4, xmm4
LONG $0xc22cc1c4; WORD $0x00e4 // vcmpeqps ymm4, ymm10, ymm12
LONG $0x197de3c4; WORD $0x01e6 // vextractf128 xmm6, ymm4, 1
LONG $0xe66bd9c5 // vpackssdw xmm4, xmm4, xmm6
LONG $0xf463d9c5 // vpacksswb xmm6, xmm4, xmm4
LONG $0xc224c1c4; WORD $0x00e4 // vcmpeqps ymm4, ymm11, ymm12
LONG $0x197de3c4; WORD $0x01e0 // vextractf128 xmm0, ymm4, 1
LONG $0xc06bd9c5 // vpackssdw xmm0, xmm4, xmm0
LONG $0xe063f9c5 // vpacksswb xmm4, xmm0, xmm0
LONG $0xc7c29cc5; BYTE $0x00 // vcmpeqps ymm0, ymm12, ymm7
LONG $0x197de3c4; WORD $0x01c1 // vextractf128 xmm1, ymm0, 1
LONG $0xc16bf9c5 // vpackssdw xmm0, xmm0, xmm1
LONG $0xc063f9c5 // vpacksswb xmm0, xmm0, xmm0
LONG $0x6635c1c4; BYTE $0xcd // vpcmpgtd ymm1, ymm9, ymm13
LONG $0x397de3c4; WORD $0x01ca // vextracti128 xmm2, ymm1, 1
LONG $0xca6bf1c5 // vpackssdw xmm1, xmm1, xmm2
LONG $0xc963f1c5 // vpacksswb xmm1, xmm1, xmm1
LONG $0x662dc1c4; BYTE $0xd5 // vpcmpgtd ymm2, ymm10, ymm13
LONG $0x397de3c4; WORD $0x01d3 // vextracti128 xmm3, ymm2, 1
LONG $0xd36be9c5 // vpackssdw xmm2, xmm2, xmm3
LONG $0xd263e9c5 // vpacksswb xmm2, xmm2, xmm2
LONG $0x6625c1c4; BYTE $0xdd // vpcmpgtd ymm3, ymm11, ymm13
LONG $0x397de3c4; WORD $0x01dd // vextracti128 xmm5, ymm3, 1
LONG $0xdd6be1c5 // vpackssdw xmm3, xmm3, xmm5
LONG $0xdb63e1c5 // vpacksswb xmm3, xmm3, xmm3
LONG $0x6645c1c4; BYTE $0xed // vpcmpgtd ymm5, ymm7, ymm13
LONG $0x397de3c4; WORD $0x01ef // vextracti128 xmm7, ymm5, 1
LONG $0xef6bd1c5 // vpackssdw xmm5, xmm5, xmm7
LONG $0x4c01c3c4; WORD $0x10ce // vpblendvb xmm1, xmm15, xmm14, xmm1
LONG $0xed63d1c5 // vpacksswb xmm5, xmm5, xmm5
LONG $0xc9dfb9c5 // vpandn xmm1, xmm8, xmm1
LONG $0x4c01c3c4; WORD $0x20d6 // vpblendvb xmm2, xmm15, xmm14, xmm2
LONG $0x4c01c3c4; WORD $0x30de // vpblendvb xmm3, xmm15, xmm14, xmm3
LONG $0x4c01c3c4; WORD $0x50ee // vpblendvb xmm5, xmm15, xmm14, xmm5
LONG $0xffefc1c5 // vpxor xmm7, xmm7, xmm7
LONG $0x4c69e3c4; WORD $0x60d7 // vpblendvb xmm2, xmm2, xmm7, xmm6
LONG $0x4c51e3c4; WORD $0x00c7 // vpblendvb xmm0, xmm5, xmm7, xmm0
LONG $0xdbdfd9c5 // vpandn xmm3, xmm4, xmm3
LONG $0x3865e3c4; WORD $0x01c0 // vinserti128 ymm0, ymm3, xmm0, 1
LONG $0x3875e3c4; WORD $0x01ca // vinserti128 ymm1, ymm1, xmm2, 1
LONG $0xc06cf5c5 // vpunpcklqdq ymm0, ymm1, ymm0
LONG $0x00fde3c4; WORD $0xd8c0 // vpermq ymm0, ymm0, 216
LONG $0x7f7ec1c4; WORD $0x3004 // vmovdqu yword [r8 + rsi], ymm0
LONG $0x20c68348 // add rsi, 32
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_1198
WORD $0x394c; BYTE $0xd2 // cmp rdx, r10
JE LBB4_1351
JMP LBB4_1200
LBB4_1205:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0x80 // and edx, -128
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
QUAD $0x000000e08d6ffdc5 // vmovdqa ymm1, yword 224[rbp] /* [rip + .LCPI4_20] */
LBB4_1206:
LONG $0x1474fdc5; BYTE $0x31 // vpcmpeqb ymm2, ymm0, yword [rcx + rsi]
LONG $0xd1dfedc5 // vpandn ymm2, ymm2, ymm1
LONG $0x5c74fdc5; WORD $0x2031 // vpcmpeqb ymm3, ymm0, yword [rcx + rsi + 32]
LONG $0xd9dfe5c5 // vpandn ymm3, ymm3, ymm1
LONG $0x6474fdc5; WORD $0x4031 // vpcmpeqb ymm4, ymm0, yword [rcx + rsi + 64]
LONG $0x6c74fdc5; WORD $0x6031 // vpcmpeqb ymm5, ymm0, yword [rcx + rsi + 96]
LONG $0xe1dfddc5 // vpandn ymm4, ymm4, ymm1
LONG $0xe9dfd5c5 // vpandn ymm5, ymm5, ymm1
LONG $0x7f7ec1c4; WORD $0x3014 // vmovdqu yword [r8 + rsi], ymm2
LONG $0x7f7ec1c4; WORD $0x305c; BYTE $0x20 // vmovdqu yword [r8 + rsi + 32], ymm3
LONG $0x7f7ec1c4; WORD $0x3064; BYTE $0x40 // vmovdqu yword [r8 + rsi + 64], ymm4
LONG $0x7f7ec1c4; WORD $0x306c; BYTE $0x60 // vmovdqu yword [r8 + rsi + 96], ymm5
LONG $0x80ee8348 // sub rsi, -128
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_1206
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1351
JMP LBB4_1208
LBB4_1212:
WORD $0x8945; BYTE $0xd3 // mov r11d, r10d
LONG $0xe0e38341 // and r11d, -32
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0x763541c4; BYTE $0xc9 // vpcmpeqd ymm9, ymm9, ymm9
LONG $0x556f79c5; BYTE $0x50 // vmovdqa xmm10, oword 80[rbp] /* [rip + .LCPI4_12] */
LBB4_1213:
LONG $0x3c6ffec5; BYTE $0xb1 // vmovdqu ymm7, yword [rcx + 4*rsi]
LONG $0x446f7ec5; WORD $0x20b1 // vmovdqu ymm8, yword [rcx + 4*rsi + 32]
LONG $0x746ffec5; WORD $0x40b1 // vmovdqu ymm6, yword [rcx + 4*rsi + 64]
LONG $0x646ffec5; WORD $0x60b1 // vmovdqu ymm4, yword [rcx + 4*rsi + 96]
LONG $0xd866c5c5 // vpcmpgtd ymm3, ymm7, ymm0
LONG $0x397de3c4; WORD $0x01dd // vextracti128 xmm5, ymm3, 1
LONG $0xdd6be1c5 // vpackssdw xmm3, xmm3, xmm5
LONG $0xdb6361c5 // vpacksswb xmm11, xmm3, xmm3
LONG $0xe866bdc5 // vpcmpgtd ymm5, ymm8, ymm0
LONG $0x397de3c4; WORD $0x01e9 // vextracti128 xmm1, ymm5, 1
LONG $0xc96bd1c5 // vpackssdw xmm1, xmm5, xmm1
LONG $0xe16371c5 // vpacksswb xmm12, xmm1, xmm1
LONG $0xc866cdc5 // vpcmpgtd ymm1, ymm6, ymm0
LONG $0x397de3c4; WORD $0x01ca // vextracti128 xmm2, ymm1, 1
LONG $0xca6bf1c5 // vpackssdw xmm1, xmm1, xmm2
LONG $0xc963f1c5 // vpacksswb xmm1, xmm1, xmm1
LONG $0xd066ddc5 // vpcmpgtd ymm2, ymm4, ymm0
LONG $0x397de3c4; WORD $0x01d3 // vextracti128 xmm3, ymm2, 1
LONG $0xd36be9c5 // vpackssdw xmm2, xmm2, xmm3
LONG $0xd263e9c5 // vpacksswb xmm2, xmm2, xmm2
LONG $0xd876c5c5 // vpcmpeqd ymm3, ymm7, ymm0
LONG $0xdbefb5c5 // vpxor ymm3, ymm9, ymm3
LONG $0x397de3c4; WORD $0x01df // vextracti128 xmm7, ymm3, 1
LONG $0xdf6be1c5 // vpackssdw xmm3, xmm3, xmm7
LONG $0xdb63e1c5 // vpacksswb xmm3, xmm3, xmm3
LONG $0xf876bdc5 // vpcmpeqd ymm7, ymm8, ymm0
LONG $0xffefb5c5 // vpxor ymm7, ymm9, ymm7
LONG $0x397de3c4; WORD $0x01fd // vextracti128 xmm5, ymm7, 1
LONG $0xed6bc1c5 // vpackssdw xmm5, xmm7, xmm5
LONG $0xed63d1c5 // vpacksswb xmm5, xmm5, xmm5
LONG $0xf076cdc5 // vpcmpeqd ymm6, ymm6, ymm0
LONG $0xf6efb5c5 // vpxor ymm6, ymm9, ymm6
LONG $0x397de3c4; WORD $0x01f7 // vextracti128 xmm7, ymm6, 1
LONG $0xf76bc9c5 // vpackssdw xmm6, xmm6, xmm7
LONG $0xf663c9c5 // vpacksswb xmm6, xmm6, xmm6
LONG $0xe076ddc5 // vpcmpeqd ymm4, ymm4, ymm0
LONG $0xe4efb5c5 // vpxor ymm4, ymm9, ymm4
LONG $0x397de3c4; WORD $0x01e7 // vextracti128 xmm7, ymm4, 1
LONG $0xe76bd9c5 // vpackssdw xmm4, xmm4, xmm7
LONG $0xe463d9c5 // vpacksswb xmm4, xmm4, xmm4
LONG $0x4c61c3c4; WORD $0xb0da // vpblendvb xmm3, xmm3, xmm10, xmm11
LONG $0x4c51c3c4; WORD $0xc0ea // vpblendvb xmm5, xmm5, xmm10, xmm12
LONG $0x4c49c3c4; WORD $0x10ca // vpblendvb xmm1, xmm6, xmm10, xmm1
LONG $0x4c59c3c4; WORD $0x20d2 // vpblendvb xmm2, xmm4, xmm10, xmm2
LONG $0x3875e3c4; WORD $0x01ca // vinserti128 ymm1, ymm1, xmm2, 1
LONG $0x3865e3c4; WORD $0x01d5 // vinserti128 ymm2, ymm3, xmm5, 1
LONG $0xc96cedc5 // vpunpcklqdq ymm1, ymm2, ymm1
LONG $0x00fde3c4; WORD $0xd8c9 // vpermq ymm1, ymm1, 216
LONG $0x7f7ec1c4; WORD $0x300c // vmovdqu yword [r8 + rsi], ymm1
LONG $0x20c68348 // add rsi, 32
WORD $0x3949; BYTE $0xf3 // cmp r11, rsi
JNE LBB4_1213
WORD $0x394d; BYTE $0xd3 // cmp r11, r10
JE LBB4_1351
JMP LBB4_1215
LBB4_1220:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xe0 // and edx, -32
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
QUAD $0x00009c8d587de2c4; BYTE $0x00 // vpbroadcastd ymm1, dword 156[rbp] /* [rip + .LCPI4_8] */
LBB4_1221:
LONG $0x1476fdc5; BYTE $0xb1 // vpcmpeqd ymm2, ymm0, yword [rcx + 4*rsi]
LONG $0xd1dfedc5 // vpandn ymm2, ymm2, ymm1
LONG $0x5c76fdc5; WORD $0x20b1 // vpcmpeqd ymm3, ymm0, yword [rcx + 4*rsi + 32]
LONG $0xd9dfe5c5 // vpandn ymm3, ymm3, ymm1
LONG $0x6476fdc5; WORD $0x40b1 // vpcmpeqd ymm4, ymm0, yword [rcx + 4*rsi + 64]
LONG $0x6c76fdc5; WORD $0x60b1 // vpcmpeqd ymm5, ymm0, yword [rcx + 4*rsi + 96]
LONG $0xe1dfddc5 // vpandn ymm4, ymm4, ymm1
LONG $0xe9dfd5c5 // vpandn ymm5, ymm5, ymm1
LONG $0x7f7ec1c4; WORD $0xb014 // vmovdqu yword [r8 + 4*rsi], ymm2
LONG $0x7f7ec1c4; WORD $0xb05c; BYTE $0x20 // vmovdqu yword [r8 + 4*rsi + 32], ymm3
LONG $0x7f7ec1c4; WORD $0xb064; BYTE $0x40 // vmovdqu yword [r8 + 4*rsi + 64], ymm4
LONG $0x7f7ec1c4; WORD $0xb06c; BYTE $0x60 // vmovdqu yword [r8 + 4*rsi + 96], ymm5
LONG $0x20c68348 // add rsi, 32
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_1221
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1351
JMP LBB4_1223
LBB4_1227:
WORD $0x8944; BYTE $0xda // mov edx, r11d
WORD $0xe283; BYTE $0xe0 // and edx, -32
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0x763941c4; BYTE $0xc0 // vpcmpeqd xmm8, xmm8, xmm8
QUAD $0x00009c95187de2c4; BYTE $0x00 // vbroadcastss ymm2, dword 156[rbp] /* [rip + .LCPI4_8] */
LBB4_1228:
LONG $0x1c7efac5; BYTE $0x31 // vmovq xmm3, qword [rcx + rsi]
LONG $0x647efac5; WORD $0x0831 // vmovq xmm4, qword [rcx + rsi + 8]
LONG $0x6c7efac5; WORD $0x1031 // vmovq xmm5, qword [rcx + rsi + 16]
LONG $0x747efac5; WORD $0x1831 // vmovq xmm6, qword [rcx + rsi + 24]
LONG $0xf864e1c5 // vpcmpgtb xmm7, xmm3, xmm0
LONG $0x217d62c4; BYTE $0xcf // vpmovsxbd ymm9, xmm7
LONG $0xc864d9c5 // vpcmpgtb xmm1, xmm4, xmm0
LONG $0x217d62c4; BYTE $0xd1 // vpmovsxbd ymm10, xmm1
LONG $0xf864d1c5 // vpcmpgtb xmm7, xmm5, xmm0
LONG $0x217de2c4; BYTE $0xff // vpmovsxbd ymm7, xmm7
LONG $0xc864c9c5 // vpcmpgtb xmm1, xmm6, xmm0
LONG $0x217de2c4; BYTE $0xc9 // vpmovsxbd ymm1, xmm1
LONG $0xd874e1c5 // vpcmpeqb xmm3, xmm3, xmm0
LONG $0xdbefb9c5 // vpxor xmm3, xmm8, xmm3
LONG $0x217de2c4; BYTE $0xdb // vpmovsxbd ymm3, xmm3
LONG $0xe074d9c5 // vpcmpeqb xmm4, xmm4, xmm0
LONG $0xe4efb9c5 // vpxor xmm4, xmm8, xmm4
LONG $0x217de2c4; BYTE $0xe4 // vpmovsxbd ymm4, xmm4
LONG $0xe874d1c5 // vpcmpeqb xmm5, xmm5, xmm0
LONG $0xedefb9c5 // vpxor xmm5, xmm8, xmm5
LONG $0x217de2c4; BYTE $0xed // vpmovsxbd ymm5, xmm5
LONG $0xf074c9c5 // vpcmpeqb xmm6, xmm6, xmm0
LONG $0xf6efb9c5 // vpxor xmm6, xmm8, xmm6
LONG $0x217de2c4; BYTE $0xf6 // vpmovsxbd ymm6, xmm6
LONG $0x4a65e3c4; WORD $0x90da // vblendvps ymm3, ymm3, ymm2, ymm9
LONG $0x4a5de3c4; WORD $0xa0e2 // vblendvps ymm4, ymm4, ymm2, ymm10
LONG $0x4a55e3c4; WORD $0x70ea // vblendvps ymm5, ymm5, ymm2, ymm7
LONG $0x4a4de3c4; WORD $0x10ca // vblendvps ymm1, ymm6, ymm2, ymm1
LONG $0x117cc1c4; WORD $0xb01c // vmovups yword [r8 + 4*rsi], ymm3
LONG $0x117cc1c4; WORD $0xb064; BYTE $0x20 // vmovups yword [r8 + 4*rsi + 32], ymm4
LONG $0x117cc1c4; WORD $0xb06c; BYTE $0x40 // vmovups yword [r8 + 4*rsi + 64], ymm5
LONG $0x117cc1c4; WORD $0xb04c; BYTE $0x60 // vmovups yword [r8 + 4*rsi + 96], ymm1
LONG $0x20c68348 // add rsi, 32
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_1228
WORD $0x394c; BYTE $0xda // cmp rdx, r11
JE LBB4_1351
JMP LBB4_1230
LBB4_1235:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xe0 // and edx, -32
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0xc976f1c5 // vpcmpeqd xmm1, xmm1, xmm1
QUAD $0x00009c95587de2c4; BYTE $0x00 // vpbroadcastd ymm2, dword 156[rbp] /* [rip + .LCPI4_8] */
LBB4_1236:
LONG $0x1c7efac5; BYTE $0x31 // vmovq xmm3, qword [rcx + rsi]
LONG $0x647efac5; WORD $0x0831 // vmovq xmm4, qword [rcx + rsi + 8]
LONG $0x6c7efac5; WORD $0x1031 // vmovq xmm5, qword [rcx + rsi + 16]
LONG $0x747efac5; WORD $0x1831 // vmovq xmm6, qword [rcx + rsi + 24]
LONG $0xd874e1c5 // vpcmpeqb xmm3, xmm3, xmm0
LONG $0xd9efe1c5 // vpxor xmm3, xmm3, xmm1
LONG $0x317de2c4; BYTE $0xdb // vpmovzxbd ymm3, xmm3
LONG $0xdadbe5c5 // vpand ymm3, ymm3, ymm2
LONG $0xe074d9c5 // vpcmpeqb xmm4, xmm4, xmm0
LONG $0xe1efd9c5 // vpxor xmm4, xmm4, xmm1
LONG $0x317de2c4; BYTE $0xe4 // vpmovzxbd ymm4, xmm4
LONG $0xe2dbddc5 // vpand ymm4, ymm4, ymm2
LONG $0xe874d1c5 // vpcmpeqb xmm5, xmm5, xmm0
LONG $0xe9efd1c5 // vpxor xmm5, xmm5, xmm1
LONG $0x317de2c4; BYTE $0xed // vpmovzxbd ymm5, xmm5
LONG $0xeadbd5c5 // vpand ymm5, ymm5, ymm2
LONG $0xf074c9c5 // vpcmpeqb xmm6, xmm6, xmm0
LONG $0xf1efc9c5 // vpxor xmm6, xmm6, xmm1
LONG $0x317de2c4; BYTE $0xf6 // vpmovzxbd ymm6, xmm6
LONG $0xf2dbcdc5 // vpand ymm6, ymm6, ymm2
LONG $0x7f7ec1c4; WORD $0xb01c // vmovdqu yword [r8 + 4*rsi], ymm3
LONG $0x7f7ec1c4; WORD $0xb064; BYTE $0x20 // vmovdqu yword [r8 + 4*rsi + 32], ymm4
LONG $0x7f7ec1c4; WORD $0xb06c; BYTE $0x40 // vmovdqu yword [r8 + 4*rsi + 64], ymm5
LONG $0x7f7ec1c4; WORD $0xb074; BYTE $0x60 // vmovdqu yword [r8 + 4*rsi + 96], ymm6
LONG $0x20c68348 // add rsi, 32
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_1236
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1351
JMP LBB4_1238
LBB4_1242:
WORD $0x8944; BYTE $0xda // mov edx, r11d
WORD $0xe283; BYTE $0xe0 // and edx, -32
WORD $0xf631 // xor esi, esi
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0xc976f5c5 // vpcmpeqd ymm1, ymm1, ymm1
QUAD $0x00009c95587de2c4; BYTE $0x00 // vpbroadcastd ymm2, dword 156[rbp] /* [rip + .LCPI4_8] */
LBB4_1243:
LONG $0x1c6ffec5; BYTE $0xb1 // vmovdqu ymm3, yword [rcx + 4*rsi]
LONG $0x646ffec5; WORD $0x20b1 // vmovdqu ymm4, yword [rcx + 4*rsi + 32]
LONG $0x6c6ffec5; WORD $0x40b1 // vmovdqu ymm5, yword [rcx + 4*rsi + 64]
LONG $0x746ffec5; WORD $0x60b1 // vmovdqu ymm6, yword [rcx + 4*rsi + 96]
LONG $0xf876e5c5 // vpcmpeqd ymm7, ymm3, ymm0
LONG $0xf9efc5c5 // vpxor ymm7, ymm7, ymm1
LONG $0xc0765dc5 // vpcmpeqd ymm8, ymm4, ymm0
LONG $0xc1ef3dc5 // vpxor ymm8, ymm8, ymm1
LONG $0xc87655c5 // vpcmpeqd ymm9, ymm5, ymm0
LONG $0xc9ef35c5 // vpxor ymm9, ymm9, ymm1
LONG $0xd0764dc5 // vpcmpeqd ymm10, ymm6, ymm0
LONG $0xd1ef2dc5 // vpxor ymm10, ymm10, ymm1
LONG $0xdb66edc5 // vpcmpgtd ymm3, ymm2, ymm3
LONG $0xe466edc5 // vpcmpgtd ymm4, ymm2, ymm4
LONG $0xed66edc5 // vpcmpgtd ymm5, ymm2, ymm5
LONG $0xf666edc5 // vpcmpgtd ymm6, ymm2, ymm6
LONG $0x4a6de3c4; WORD $0x30df // vblendvps ymm3, ymm2, ymm7, ymm3
LONG $0x4a6dc3c4; WORD $0x40e0 // vblendvps ymm4, ymm2, ymm8, ymm4
LONG $0x4a6dc3c4; WORD $0x50e9 // vblendvps ymm5, ymm2, ymm9, ymm5
LONG $0x4a6dc3c4; WORD $0x60f2 // vblendvps ymm6, ymm2, ymm10, ymm6
LONG $0x117cc1c4; WORD $0xb01c // vmovups yword [r8 + 4*rsi], ymm3
LONG $0x117cc1c4; WORD $0xb064; BYTE $0x20 // vmovups yword [r8 + 4*rsi + 32], ymm4
LONG $0x117cc1c4; WORD $0xb06c; BYTE $0x40 // vmovups yword [r8 + 4*rsi + 64], ymm5
LONG $0x117cc1c4; WORD $0xb074; BYTE $0x60 // vmovups yword [r8 + 4*rsi + 96], ymm6
LONG $0x20c68348 // add rsi, 32
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_1243
WORD $0x394c; BYTE $0xda // cmp rdx, r11
JE LBB4_1351
JMP LBB4_1245
LBB4_1250:
LONG $0x457efac5; BYTE $0x20 // vmovq xmm0, qword 32[rbp] /* [rip + .LCPI4_13] */
LBB4_1251:
JLE LBB4_1253
LONG $0x457efac5; BYTE $0x08 // vmovq xmm0, qword 8[rbp] /* [rip + .LCPI4_1] */
LBB4_1253:
LONG $0xd679c1c4; WORD $0xd004 // vmovq qword [r8 + 8*rdx], xmm0
LONG $0x01ca8348 // or rdx, 1
LBB4_1254:
WORD $0x0148; BYTE $0xc6 // add rsi, rax
JE LBB4_1351
LONG $0x4510fbc5; BYTE $0x20 // vmovsd xmm0, qword 32[rbp] /* [rip + .LCPI4_13] */
LONG $0x4d10fbc5; BYTE $0x08 // vmovsd xmm1, qword 8[rbp] /* [rip + .LCPI4_1] */
JMP LBB4_1257
LBB4_1256:
LONG $0x117bc1c4; WORD $0xd05c; BYTE $0x08 // vmovsd qword [r8 + 8*rdx + 8], xmm3
LONG $0x02c28348 // add rdx, 2
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JE LBB4_1351
LBB4_1257:
LONG $0x00113c80 // cmp byte [rcx + rdx], 0
LONG $0xd028f9c5 // vmovapd xmm2, xmm0
JNE LBB4_1258
LONG $0xd257e9c5 // vxorpd xmm2, xmm2, xmm2
LONG $0xd928f9c5 // vmovapd xmm3, xmm1
JLE LBB4_1262
LBB4_1259:
LONG $0x117bc1c4; WORD $0xd01c // vmovsd qword [r8 + 8*rdx], xmm3
LONG $0x01117c80; BYTE $0x00 // cmp byte [rcx + rdx + 1], 0
LONG $0xd028f9c5 // vmovapd xmm2, xmm0
JNE LBB4_1260
LBB4_1263:
LONG $0xd257e9c5 // vxorpd xmm2, xmm2, xmm2
LONG $0xd928f9c5 // vmovapd xmm3, xmm1
JG LBB4_1256
JMP LBB4_1264
LBB4_1258:
LONG $0xd928f9c5 // vmovapd xmm3, xmm1
JG LBB4_1259
LBB4_1262:
LONG $0xda28f9c5 // vmovapd xmm3, xmm2
LONG $0x117bc1c4; WORD $0xd01c // vmovsd qword [r8 + 8*rdx], xmm3
LONG $0x01117c80; BYTE $0x00 // cmp byte [rcx + rdx + 1], 0
LONG $0xd028f9c5 // vmovapd xmm2, xmm0
JE LBB4_1263
LBB4_1260:
LONG $0xd928f9c5 // vmovapd xmm3, xmm1
JG LBB4_1256
LBB4_1264:
LONG $0xda28f9c5 // vmovapd xmm3, xmm2
JMP LBB4_1256
LBB4_1265:
QUAD $0x000000a8856ef9c5 // vmovd xmm0, dword 168[rbp] /* [rip + .LCPI4_14] */
LBB4_1266:
JLE LBB4_1268
QUAD $0x00000098856ef9c5 // vmovd xmm0, dword 152[rbp] /* [rip + .LCPI4_5] */
LBB4_1268:
LONG $0x7e79c1c4; WORD $0x9004 // vmovd dword [r8 + 4*rdx], xmm0
LONG $0x01ca8348 // or rdx, 1
LBB4_1269:
WORD $0x0148; BYTE $0xc6 // add rsi, rax
JE LBB4_1351
QUAD $0x000000a88510fac5 // vmovss xmm0, dword 168[rbp] /* [rip + .LCPI4_14] */
QUAD $0x000000988d10fac5 // vmovss xmm1, dword 152[rbp] /* [rip + .LCPI4_5] */
JMP LBB4_1272
LBB4_1271:
LONG $0x117ac1c4; WORD $0x905c; BYTE $0x04 // vmovss dword [r8 + 4*rdx + 4], xmm3
LONG $0x02c28348 // add rdx, 2
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JE LBB4_1351
LBB4_1272:
LONG $0x00113c80 // cmp byte [rcx + rdx], 0
LONG $0xd028f8c5 // vmovaps xmm2, xmm0
JNE LBB4_1273
LONG $0xd257e8c5 // vxorps xmm2, xmm2, xmm2
LONG $0xd928f8c5 // vmovaps xmm3, xmm1
JLE LBB4_1277
LBB4_1274:
LONG $0x117ac1c4; WORD $0x901c // vmovss dword [r8 + 4*rdx], xmm3
LONG $0x01117c80; BYTE $0x00 // cmp byte [rcx + rdx + 1], 0
LONG $0xd028f8c5 // vmovaps xmm2, xmm0
JNE LBB4_1275
LBB4_1278:
LONG $0xd257e8c5 // vxorps xmm2, xmm2, xmm2
LONG $0xd928f8c5 // vmovaps xmm3, xmm1
JG LBB4_1271
JMP LBB4_1279
LBB4_1273:
LONG $0xd928f8c5 // vmovaps xmm3, xmm1
JG LBB4_1274
LBB4_1277:
LONG $0xda28f8c5 // vmovaps xmm3, xmm2
LONG $0x117ac1c4; WORD $0x901c // vmovss dword [r8 + 4*rdx], xmm3
LONG $0x01117c80; BYTE $0x00 // cmp byte [rcx + rdx + 1], 0
LONG $0xd028f8c5 // vmovaps xmm2, xmm0
JE LBB4_1278
LBB4_1275:
LONG $0xd928f8c5 // vmovaps xmm3, xmm1
JG LBB4_1271
LBB4_1279:
LONG $0xda28f8c5 // vmovaps xmm3, xmm2
JMP LBB4_1271
LBB4_1282:
WORD $0xff31 // xor edi, edi
LBB4_1283:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1285
LONG $0x0410fdc5; BYTE $0xf9 // vmovupd ymm0, yword [rcx + 8*rdi]
LONG $0xc957f1c5 // vxorpd xmm1, xmm1, xmm1
LONG $0x197de2c4; WORD $0x0055 // vbroadcastsd ymm2, qword 0[rbp] /* [rip + .LCPI4_0] */
LONG $0x197de2c4; WORD $0x085d // vbroadcastsd ymm3, qword 8[rbp] /* [rip + .LCPI4_1] */
LONG $0xd254fdc5 // vandpd ymm2, ymm0, ymm2
LONG $0xda56e5c5 // vorpd ymm3, ymm3, ymm2
LONG $0x197de3c4; WORD $0x01dc // vextractf128 xmm4, ymm3, 1
LONG $0x5510fbc5; BYTE $0x10 // vmovsd xmm2, qword 16[rbp] /* [rip + .LCPI4_6] */
LONG $0xea5cdbc5 // vsubsd xmm5, xmm4, xmm2
LONG $0x2cfbe1c4; BYTE $0xc5 // vcvttsd2si rax, xmm5
WORD $0x314c; BYTE $0xd8 // xor rax, r11
LONG $0x2cfbe1c4; BYTE $0xd4 // vcvttsd2si rdx, xmm4
LONG $0xe22ef9c5 // vucomisd xmm4, xmm2
LONG $0xd0430f48 // cmovae rdx, rax
LONG $0x6ef9e1c4; BYTE $0xea // vmovq xmm5, rdx
LONG $0x0479e3c4; WORD $0x4ee4 // vpermilps xmm4, xmm4, 78
LONG $0xf25cdbc5 // vsubsd xmm6, xmm4, xmm2
LONG $0x2cfbe1c4; BYTE $0xc6 // vcvttsd2si rax, xmm6
WORD $0x314c; BYTE $0xd8 // xor rax, r11
LONG $0x2cfbe1c4; BYTE $0xd4 // vcvttsd2si rdx, xmm4
LONG $0xe22ef9c5 // vucomisd xmm4, xmm2
LONG $0xd0430f48 // cmovae rdx, rax
LONG $0x6ef9e1c4; BYTE $0xe2 // vmovq xmm4, rdx
LONG $0xe46cd1c5 // vpunpcklqdq xmm4, xmm5, xmm4
LONG $0xea5ce3c5 // vsubsd xmm5, xmm3, xmm2
LONG $0x2cfbe1c4; BYTE $0xc5 // vcvttsd2si rax, xmm5
WORD $0x314c; BYTE $0xd8 // xor rax, r11
LONG $0x2cfbe1c4; BYTE $0xd3 // vcvttsd2si rdx, xmm3
LONG $0xda2ef9c5 // vucomisd xmm3, xmm2
LONG $0xd0430f48 // cmovae rdx, rax
LONG $0x6ef9e1c4; BYTE $0xea // vmovq xmm5, rdx
LONG $0x0479e3c4; WORD $0x4edb // vpermilps xmm3, xmm3, 78
LONG $0xf25ce3c5 // vsubsd xmm6, xmm3, xmm2
LONG $0x2cfbe1c4; BYTE $0xc6 // vcvttsd2si rax, xmm6
WORD $0x314c; BYTE $0xd8 // xor rax, r11
LONG $0x2cfbe1c4; BYTE $0xd3 // vcvttsd2si rdx, xmm3
LONG $0xda2ef9c5 // vucomisd xmm3, xmm2
LONG $0xd0430f48 // cmovae rdx, rax
LONG $0x6ef9e1c4; BYTE $0xd2 // vmovq xmm2, rdx
LONG $0xd26cd1c5 // vpunpcklqdq xmm2, xmm5, xmm2
LONG $0x386de3c4; WORD $0x01d4 // vinserti128 ymm2, ymm2, xmm4, 1
LONG $0xc1c2fdc5; BYTE $0x04 // vcmpneqpd ymm0, ymm0, ymm1
LONG $0xc254fdc5 // vandpd ymm0, ymm0, ymm2
LONG $0x117dc1c4; WORD $0xf804 // vmovupd yword [r8 + 8*rdi], ymm0
LBB4_1285:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB4_1351
LBB4_1286:
LONG $0x4512fbc5; BYTE $0x08 // vmovddup xmm0, qword 8[rbp] /* [rip + .LCPI4_1] */
LONG $0x4d28f9c5; BYTE $0x30 // vmovapd xmm1, oword 48[rbp] /* [rip + .LCPI4_2] */
LONG $0x5510fbc5; BYTE $0x10 // vmovsd xmm2, qword 16[rbp] /* [rip + .LCPI4_6] */
WORD $0xc031 // xor eax, eax
LONG $0xdb57e1c5 // vxorpd xmm3, xmm3, xmm3
LBB4_1287:
LONG $0x2410fbc5; BYTE $0xf1 // vmovsd xmm4, qword [rcx + 8*rsi]
LONG $0xe954d9c5 // vandpd xmm5, xmm4, xmm1
LONG $0xed56f9c5 // vorpd xmm5, xmm0, xmm5
LONG $0xf25cd3c5 // vsubsd xmm6, xmm5, xmm2
LONG $0x2cfbe1c4; BYTE $0xd6 // vcvttsd2si rdx, xmm6
WORD $0x314c; BYTE $0xda // xor rdx, r11
LONG $0x2cfbe1c4; BYTE $0xfd // vcvttsd2si rdi, xmm5
LONG $0xea2ef9c5 // vucomisd xmm5, xmm2
LONG $0xfa430f48 // cmovae rdi, rdx
LONG $0xdc2ef9c5 // vucomisd xmm3, xmm4
LONG $0xf8440f48 // cmove rdi, rax
LONG $0xf03c8949 // mov qword [r8 + 8*rsi], rdi
LONG $0x01c68348 // add rsi, 1
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB4_1287
JMP LBB4_1351
LBB4_1280:
LONG $0xc850f8c5 // vmovmskps ecx, xmm0
WORD $0xe183; BYTE $0x01 // and ecx, 1
WORD $0xd9f7 // neg ecx
WORD $0xc983; BYTE $0x01 // or ecx, 1
LONG $0xc12adac5 // vcvtsi2ss xmm0, xmm4, ecx
QUAD $0x000000a08d10fac5 // vmovss xmm1, dword 160[rbp] /* [rip + .LCPI4_9] */
LONG $0xd15cfac5 // vsubss xmm2, xmm0, xmm1
LONG $0x2cfae1c4; BYTE $0xca // vcvttss2si rcx, xmm2
QUAD $0x000000000000ba48; WORD $0x8000 // mov rdx, -9223372036854775808
WORD $0x3148; BYTE $0xca // xor rdx, rcx
LONG $0x2cfae1c4; BYTE $0xc8 // vcvttss2si rcx, xmm0
LONG $0xc12ef8c5 // vucomiss xmm0, xmm1
LONG $0xca430f48 // cmovae rcx, rdx
LBB4_1281:
LONG $0xc00c8949 // mov qword [r8 + 8*rax], rcx
JMP LBB4_1351
LBB4_1288:
WORD $0xff31 // xor edi, edi
LBB4_1289:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1291
LONG $0x0410fdc5; BYTE $0xf9 // vmovupd ymm0, yword [rcx + 8*rdi]
LONG $0xc957f1c5 // vxorpd xmm1, xmm1, xmm1
LONG $0xc9c2fdc5; BYTE $0x00 // vcmpeqpd ymm1, ymm0, ymm1
LONG $0x197de3c4; WORD $0x01ca // vextractf128 xmm2, ymm1, 1
LONG $0xca6bf1c5 // vpackssdw xmm1, xmm1, xmm2
LONG $0x197de2c4; WORD $0x0055 // vbroadcastsd ymm2, qword 0[rbp] /* [rip + .LCPI4_0] */
LONG $0xc254fdc5 // vandpd ymm0, ymm0, ymm2
LONG $0x197de2c4; WORD $0x0855 // vbroadcastsd ymm2, qword 8[rbp] /* [rip + .LCPI4_1] */
LONG $0xc056edc5 // vorpd ymm0, ymm2, ymm0
LONG $0x197de2c4; WORD $0x1855 // vbroadcastsd ymm2, qword 24[rbp] /* [rip + .LCPI4_7] */
LONG $0xdac2fdc5; BYTE $0x01 // vcmpltpd ymm3, ymm0, ymm2
LONG $0x197de3c4; WORD $0x01dc // vextractf128 xmm4, ymm3, 1
LONG $0xd25cfdc5 // vsubpd ymm2, ymm0, ymm2
LONG $0xd2e6fdc5 // vcvttpd2dq xmm2, ymm2
QUAD $0x000094ad1879e2c4; BYTE $0x00 // vbroadcastss xmm5, dword 148[rbp] /* [rip + .LCPI4_4] */
LONG $0xdc6be1c5 // vpackssdw xmm3, xmm3, xmm4
LONG $0xd557e9c5 // vxorpd xmm2, xmm2, xmm5
LONG $0xc0e6fdc5 // vcvttpd2dq xmm0, ymm0
LONG $0x4a69e3c4; WORD $0x30c0 // vblendvps xmm0, xmm2, xmm0, xmm3
LONG $0xc0dff1c5 // vpandn xmm0, xmm1, xmm0
LONG $0x7f7ac1c4; WORD $0xb804 // vmovdqu oword [r8 + 4*rdi], xmm0
LBB4_1291:
WORD $0x3948; BYTE $0xc6 // cmp rsi, rax
JE LBB4_1351
LBB4_1292:
LONG $0xc057f9c5 // vxorpd xmm0, xmm0, xmm0
LONG $0x4d28f9c5; BYTE $0x30 // vmovapd xmm1, oword 48[rbp] /* [rip + .LCPI4_2] */
LONG $0x5512fbc5; BYTE $0x08 // vmovddup xmm2, qword 8[rbp] /* [rip + .LCPI4_1] */
LBB4_1293:
LONG $0x1c10fbc5; BYTE $0xf1 // vmovsd xmm3, qword [rcx + 8*rsi]
LONG $0xc32ef9c5 // vucomisd xmm0, xmm3
LONG $0xd954e1c5 // vandpd xmm3, xmm3, xmm1
LONG $0xdb56e9c5 // vorpd xmm3, xmm2, xmm3
LONG $0x2cfbe1c4; BYTE $0xd3 // vcvttsd2si rdx, xmm3
LONG $0xd2440f41 // cmove edx, r10d
LONG $0xb0148941 // mov dword [r8 + 4*rsi], edx
LONG $0x01c68348 // add rsi, 1
WORD $0x3948; BYTE $0xf0 // cmp rax, rsi
JNE LBB4_1293
JMP LBB4_1351
LBB4_1294:
WORD $0xf631 // xor esi, esi
LBB4_1295:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1297
LONG $0x046ffec5; BYTE $0xb1 // vmovdqu ymm0, yword [rcx + 4*rsi]
LONG $0xe072f5c5; BYTE $0x1f // vpsrad ymm1, ymm0, 31
QUAD $0x00009c95587de2c4; BYTE $0x00 // vpbroadcastd ymm2, dword 156[rbp] /* [rip + .LCPI4_8] */
LONG $0xcaebf5c5 // vpor ymm1, ymm1, ymm2
LONG $0xc95bfcc5 // vcvtdq2ps ymm1, ymm1
QUAD $0x0000a495187de2c4; BYTE $0x00 // vbroadcastss ymm2, dword 164[rbp] /* [rip + .LCPI4_10] */
LONG $0xdac2f4c5; BYTE $0x01 // vcmpltps ymm3, ymm1, ymm2
LONG $0xd25cf4c5 // vsubps ymm2, ymm1, ymm2
LONG $0xd25bfec5 // vcvttps2dq ymm2, ymm2
QUAD $0x000094a5187de2c4; BYTE $0x00 // vbroadcastss ymm4, dword 148[rbp] /* [rip + .LCPI4_4] */
LONG $0xd457ecc5 // vxorps ymm2, ymm2, ymm4
LONG $0xc95bfec5 // vcvttps2dq ymm1, ymm1
LONG $0x4a6de3c4; WORD $0x30c9 // vblendvps ymm1, ymm2, ymm1, ymm3
LONG $0xd257e8c5 // vxorps xmm2, xmm2, xmm2
LONG $0xc2c2fcc5; BYTE $0x04 // vcmpneqps ymm0, ymm0, ymm2
LONG $0xc154fcc5 // vandps ymm0, ymm0, ymm1
LONG $0x117cc1c4; WORD $0xb004 // vmovups yword [r8 + 4*rsi], ymm0
LBB4_1297:
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1351
LBB4_1298:
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
JMP LBB4_1300
LBB4_1299:
LONG $0x90348941 // mov dword [r8 + 4*rdx], esi
LONG $0x01c28348 // add rdx, 1
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JE LBB4_1351
LBB4_1300:
LONG $0x0c10fac5; BYTE $0x91 // vmovss xmm1, dword [rcx + 4*rdx]
WORD $0xf631 // xor esi, esi
LONG $0xc12ef8c5 // vucomiss xmm0, xmm1
JE LBB4_1299
LONG $0xf150f8c5 // vmovmskps esi, xmm1
WORD $0xe683; BYTE $0x01 // and esi, 1
WORD $0xdef7 // neg esi
WORD $0xce83; BYTE $0x01 // or esi, 1
LONG $0xce2abac5 // vcvtsi2ss xmm1, xmm8, esi
LONG $0x2cfae1c4; BYTE $0xf1 // vcvttss2si rsi, xmm1
JMP LBB4_1299
LBB4_1302:
WORD $0xf631 // xor esi, esi
LBB4_1303:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1305
LONG $0x0410fdc5; BYTE $0xf1 // vmovupd ymm0, yword [rcx + 8*rsi]
LONG $0xc957f1c5 // vxorpd xmm1, xmm1, xmm1
LONG $0x197de2c4; WORD $0x0055 // vbroadcastsd ymm2, qword 0[rbp] /* [rip + .LCPI4_0] */
LONG $0xd254fdc5 // vandpd ymm2, ymm0, ymm2
LONG $0x197de2c4; WORD $0x085d // vbroadcastsd ymm3, qword 8[rbp] /* [rip + .LCPI4_1] */
LONG $0xd256e5c5 // vorpd ymm2, ymm3, ymm2
LONG $0x197de3c4; WORD $0x01d3 // vextractf128 xmm3, ymm2, 1
LONG $0x2cfbe1c4; BYTE $0xfb // vcvttsd2si rdi, xmm3
LONG $0x6ef9e1c4; BYTE $0xe7 // vmovq xmm4, rdi
LONG $0x0479e3c4; WORD $0x4edb // vpermilps xmm3, xmm3, 78
LONG $0x2cfbe1c4; BYTE $0xfb // vcvttsd2si rdi, xmm3
LONG $0x6ef9e1c4; BYTE $0xdf // vmovq xmm3, rdi
LONG $0xdb6cd9c5 // vpunpcklqdq xmm3, xmm4, xmm3
LONG $0x2cfbe1c4; BYTE $0xfa // vcvttsd2si rdi, xmm2
LONG $0x6ef9e1c4; BYTE $0xe7 // vmovq xmm4, rdi
LONG $0x0479e3c4; WORD $0x4ed2 // vpermilps xmm2, xmm2, 78
LONG $0x2cfbe1c4; BYTE $0xfa // vcvttsd2si rdi, xmm2
LONG $0x6ef9e1c4; BYTE $0xd7 // vmovq xmm2, rdi
LONG $0xd26cd9c5 // vpunpcklqdq xmm2, xmm4, xmm2
LONG $0x386de3c4; WORD $0x01d3 // vinserti128 ymm2, ymm2, xmm3, 1
LONG $0xc1c2fdc5; BYTE $0x04 // vcmpneqpd ymm0, ymm0, ymm1
LONG $0xc254fdc5 // vandpd ymm0, ymm0, ymm2
LONG $0x117dc1c4; WORD $0xf004 // vmovupd yword [r8 + 8*rsi], ymm0
LBB4_1305:
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1351
LBB4_1306:
WORD $0xf631 // xor esi, esi
LONG $0xc057f9c5 // vxorpd xmm0, xmm0, xmm0
LONG $0x4d28f9c5; BYTE $0x30 // vmovapd xmm1, oword 48[rbp] /* [rip + .LCPI4_2] */
LONG $0x5512fbc5; BYTE $0x08 // vmovddup xmm2, qword 8[rbp] /* [rip + .LCPI4_1] */
LBB4_1307:
LONG $0x1c10fbc5; BYTE $0xd1 // vmovsd xmm3, qword [rcx + 8*rdx]
LONG $0xc32ef9c5 // vucomisd xmm0, xmm3
LONG $0xd954e1c5 // vandpd xmm3, xmm3, xmm1
LONG $0xdb56e9c5 // vorpd xmm3, xmm2, xmm3
LONG $0x2cfbe1c4; BYTE $0xfb // vcvttsd2si rdi, xmm3
LONG $0xfe440f48 // cmove rdi, rsi
LONG $0xd03c8949 // mov qword [r8 + 8*rdx], rdi
LONG $0x01c28348 // add rdx, 1
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JNE LBB4_1307
JMP LBB4_1351
LBB4_1308:
WORD $0xf631 // xor esi, esi
LBB4_1309:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1311
LONG $0x0410f8c5; BYTE $0xb1 // vmovups xmm0, oword [rcx + 4*rsi]
LONG $0xc9eff1c5 // vpxor xmm1, xmm1, xmm1
LONG $0xc9c2f8c5; BYTE $0x00 // vcmpeqps xmm1, xmm0, xmm1
LONG $0x257de2c4; BYTE $0xc9 // vpmovsxdq ymm1, xmm1
LONG $0xe072f9c5; BYTE $0x1f // vpsrad xmm0, xmm0, 31
QUAD $0x00009c955879e2c4; BYTE $0x00 // vpbroadcastd xmm2, dword 156[rbp] /* [rip + .LCPI4_8] */
LONG $0xc2ebf9c5 // vpor xmm0, xmm0, xmm2
LONG $0xc05bf8c5 // vcvtdq2ps xmm0, xmm0
LONG $0x0479e3c4; WORD $0xe7d0 // vpermilps xmm2, xmm0, 231
LONG $0x2cfae1c4; BYTE $0xc2 // vcvttss2si rax, xmm2
LONG $0x6ef9e1c4; BYTE $0xd0 // vmovq xmm2, rax
LONG $0x0579e3c4; WORD $0x01d8 // vpermilpd xmm3, xmm0, 1
LONG $0x2cfae1c4; BYTE $0xc3 // vcvttss2si rax, xmm3
LONG $0x6ef9e1c4; BYTE $0xd8 // vmovq xmm3, rax
LONG $0xd26ce1c5 // vpunpcklqdq xmm2, xmm3, xmm2
LONG $0x2cfae1c4; BYTE $0xc0 // vcvttss2si rax, xmm0
LONG $0x6ef9e1c4; BYTE $0xd8 // vmovq xmm3, rax
LONG $0xc016fac5 // vmovshdup xmm0, xmm0
LONG $0x2cfae1c4; BYTE $0xc0 // vcvttss2si rax, xmm0
LONG $0x6ef9e1c4; BYTE $0xc0 // vmovq xmm0, rax
LONG $0xc06ce1c5 // vpunpcklqdq xmm0, xmm3, xmm0
LONG $0x387de3c4; WORD $0x01c2 // vinserti128 ymm0, ymm0, xmm2, 1
LONG $0xc0dff5c5 // vpandn ymm0, ymm1, ymm0
LONG $0x7f7ec1c4; WORD $0xf004 // vmovdqu yword [r8 + 8*rsi], ymm0
LBB4_1311:
WORD $0x394c; BYTE $0xd2 // cmp rdx, r10
JE LBB4_1351
LBB4_1312:
LONG $0xc057f8c5 // vxorps xmm0, xmm0, xmm0
JMP LBB4_1315
LBB4_1313:
LONG $0xc150f8c5 // vmovmskps eax, xmm1
WORD $0xe083; BYTE $0x01 // and eax, 1
WORD $0xd8f7 // neg eax
WORD $0xc883; BYTE $0x01 // or eax, 1
LONG $0xc82acac5 // vcvtsi2ss xmm1, xmm6, eax
LONG $0x2cfae1c4; BYTE $0xf1 // vcvttss2si rsi, xmm1
LONG $0xd0348949 // mov qword [r8 + 8*rdx], rsi
LONG $0x01c28348 // add rdx, 1
WORD $0x3949; BYTE $0xd2 // cmp r10, rdx
JE LBB4_1351
LBB4_1315:
LONG $0x0c10fac5; BYTE $0x91 // vmovss xmm1, dword [rcx + 4*rdx]
LONG $0xc12ef8c5 // vucomiss xmm0, xmm1
JNE LBB4_1313
WORD $0xf631 // xor esi, esi
LONG $0xd0348949 // mov qword [r8 + 8*rdx], rsi
LONG $0x01c28348 // add rdx, 1
WORD $0x3949; BYTE $0xd2 // cmp r10, rdx
JNE LBB4_1315
JMP LBB4_1351
LBB4_1317:
WORD $0xff31 // xor edi, edi
LBB4_1318:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1320
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0x0c75fdc5; BYTE $0x79 // vpcmpeqw ymm1, ymm0, yword [rcx + 2*rdi]
QUAD $0x000000c0956ffdc5 // vmovdqa ymm2, yword 192[rbp] /* [rip + .LCPI4_18] */
LONG $0x4475fdc5; WORD $0x2079 // vpcmpeqw ymm0, ymm0, yword [rcx + 2*rdi + 32]
LONG $0xcadff5c5 // vpandn ymm1, ymm1, ymm2
LONG $0xc2dffdc5 // vpandn ymm0, ymm0, ymm2
LONG $0x7f7ec1c4; WORD $0x780c // vmovdqu yword [r8 + 2*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x7844; BYTE $0x20 // vmovdqu yword [r8 + 2*rdi + 32], ymm0
LBB4_1320:
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1351
JMP LBB4_1321
LBB4_1325:
WORD $0xff31 // xor edi, edi
LBB4_1326:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1328
LONG $0xc0eff9c5 // vpxor xmm0, xmm0, xmm0
LONG $0x0c75fdc5; BYTE $0x79 // vpcmpeqw ymm1, ymm0, yword [rcx + 2*rdi]
QUAD $0x000000c0956ffdc5 // vmovdqa ymm2, yword 192[rbp] /* [rip + .LCPI4_18] */
LONG $0x4475fdc5; WORD $0x2079 // vpcmpeqw ymm0, ymm0, yword [rcx + 2*rdi + 32]
LONG $0xcadff5c5 // vpandn ymm1, ymm1, ymm2
LONG $0xc2dffdc5 // vpandn ymm0, ymm0, ymm2
LONG $0x7f7ec1c4; WORD $0x780c // vmovdqu yword [r8 + 2*rdi], ymm1
LONG $0x7f7ec1c4; WORD $0x7844; BYTE $0x20 // vmovdqu yword [r8 + 2*rdi + 32], ymm0
LBB4_1328:
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1351
JMP LBB4_1329
LBB4_1333:
WORD $0xf631 // xor esi, esi
LBB4_1334:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1336
LONG $0x046ffec5; BYTE $0x71 // vmovdqu ymm0, yword [rcx + 2*rsi]
LONG $0x4c6ffec5; WORD $0x2071 // vmovdqu ymm1, yword [rcx + 2*rsi + 32]
LONG $0xd2efe9c5 // vpxor xmm2, xmm2, xmm2
LONG $0xda75fdc5 // vpcmpeqw ymm3, ymm0, ymm2
LONG $0xe476ddc5 // vpcmpeqd ymm4, ymm4, ymm4
LONG $0xdcefe5c5 // vpxor ymm3, ymm3, ymm4
LONG $0xd275f5c5 // vpcmpeqw ymm2, ymm1, ymm2
LONG $0xd4efedc5 // vpxor ymm2, ymm2, ymm4
QUAD $0x000000c0a56ffdc5 // vmovdqa ymm4, yword 192[rbp] /* [rip + .LCPI4_18] */
LONG $0xc065ddc5 // vpcmpgtw ymm0, ymm4, ymm0
LONG $0xc965ddc5 // vpcmpgtw ymm1, ymm4, ymm1
LONG $0x4c5de3c4; WORD $0x00c3 // vpblendvb ymm0, ymm4, ymm3, ymm0
LONG $0x4c5de3c4; WORD $0x10ca // vpblendvb ymm1, ymm4, ymm2, ymm1
LONG $0x7f7ec1c4; WORD $0x7004 // vmovdqu yword [r8 + 2*rsi], ymm0
LONG $0x7f7ec1c4; WORD $0x704c; BYTE $0x20 // vmovdqu yword [r8 + 2*rsi + 32], ymm1
LBB4_1336:
WORD $0x394c; BYTE $0xda // cmp rdx, r11
JE LBB4_1351
JMP LBB4_1337
LBB4_1342:
WORD $0xf631 // xor esi, esi
LBB4_1343:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1345
LONG $0x046ffec5; BYTE $0x71 // vmovdqu ymm0, yword [rcx + 2*rsi]
LONG $0x4c6ffec5; WORD $0x2071 // vmovdqu ymm1, yword [rcx + 2*rsi + 32]
LONG $0xd2efe9c5 // vpxor xmm2, xmm2, xmm2
LONG $0xda75fdc5 // vpcmpeqw ymm3, ymm0, ymm2
LONG $0xe476ddc5 // vpcmpeqd ymm4, ymm4, ymm4
LONG $0xdcefe5c5 // vpxor ymm3, ymm3, ymm4
LONG $0xd275f5c5 // vpcmpeqw ymm2, ymm1, ymm2
LONG $0xd4efedc5 // vpxor ymm2, ymm2, ymm4
QUAD $0x000000c0a56ffdc5 // vmovdqa ymm4, yword 192[rbp] /* [rip + .LCPI4_18] */
LONG $0xc065ddc5 // vpcmpgtw ymm0, ymm4, ymm0
LONG $0xc965ddc5 // vpcmpgtw ymm1, ymm4, ymm1
LONG $0x4c5de3c4; WORD $0x00c3 // vpblendvb ymm0, ymm4, ymm3, ymm0
LONG $0x4c5de3c4; WORD $0x10ca // vpblendvb ymm1, ymm4, ymm2, ymm1
LONG $0x7f7ec1c4; WORD $0x7004 // vmovdqu yword [r8 + 2*rsi], ymm0
LONG $0x7f7ec1c4; WORD $0x704c; BYTE $0x20 // vmovdqu yword [r8 + 2*rsi + 32], ymm1
LBB4_1345:
WORD $0x394c; BYTE $0xda // cmp rdx, r11
JNE LBB4_1346
LBB4_1351:
VZEROUPPER
RET
 |
The pages are generated with Golds v0.8.2. (GOOS=linux GOARCH=amd64)
Golds is a Go 101 project developed by Tapir Liu.
PR and bug reports are welcome and can be submitted to the issue list.
Please follow @zigo_101 (reachable from the left QR code) to get the latest news of Golds. |